[Documentation] [TitleIndex] [WordIndex

neobotix load handling device

http://www.neobotix-robots.com/mobile-robot-mp-400.html

Download

Download neo_lhd_control

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!


2024-02-24 12:23