neobotix load handling device
Contents
Download
Usage
The neo_lhd_control node offers 7 different services to control our load handling device.
Note: all service types are std_srvs::Empty !
1. Services
open_clamps: This service opens all 4 clamps. It returns true as soon as the clamps are open. False is returned if something went wrong or the load handling device is busy.
close_clamps: This service closes all 4 clamps. It returns true as soon as the clamps are closed. False is returned if something went wrong or the load handling device is busy.
load_front: This service initiates the loading process. If there is no load on the load handling device the robot will try to load something from the front. It returns true as soon as the process finished. False is returned if something went wrong or the load handling device is busy.
unload_front: This service initiates the unloading process. If there is some load on the load handling device the robot will unload it to the front. It returns true as soon as the process finished. False is returned if something went wrong or the load handling device is busy.
load_back: This service initiates the loading process. If there is no load on the load handling device the robot will try to load something from the back. It returns true as soon as the process finished. False is returned if something went wrong or the load handling device is busy.
unload_back: This service initiates the unloading process. If there is some load on the load handling device the robot will unload it to the back. It returns true as soon as the process finished. False is returned if something went wrong or the load handling device is busy.
robot_check_loaded: This service returns true if there is load on the handling device or false if it is empty.
2. C++ implementation
Create a service client and call the service.
ros::NodeHandle n; ros::ServiceClient client_unload = n.serviceClient<std_srvs::Empty>("unload_front"); std_srvs::Empty empty_unload; //unload if(client_unload.call(empty_unload)) { ROS_INFO("unload OK"); } else { ROS_INFO("unload failed"); }
Example: neo_conveyor_belt_worker
Important: This example node is only configured for our demonstartion environment! You have to reconfigure it if you want to use it! We recommend: just take a look at the code to implement neo_lhd_control services to your own code!