ROS package for the cobot pump using the libfranka middleware. Has multiple services that enable the user to control the pump from python or c++ service calls.
Implemented services provide a minimal method of controlling individual features of the pump, the current services are:
Turns the vacuum pump on at the desired vacuum strength with a specified timeout. If a vacuum is not established within the timeout, the service returns false and stops the pump.
- pressure - Specified pressure of the vacuum pump.
- timeout_ms - Timeout for the vacuum pump before turning the pump off.
- vacuumSuccess - true if vacuum established, false otherwise
Stops the vacuum pump.
- success - true if pump stopped, false otherwise.
Ejects any items off the vacuum pump, return true if object is ejcted and false otherwise.
- timeout_ms - Timeout for pump to drop item.
- success - true if object dropped, false otherwise (BUGGED - returns false despite dropping the object often)
TODO - Will read the state of the vacuum gripper and compose a custom ROS message to be returned.
- vacuumState as specified by libfranka (TODO - not fully implemented)
Checks whether there is still an object present on the vacuum gripper.
- itemAttached - true if object attached to vacuum gripper, false otherwise.
basic_demo.py Simply turns on the vacuum pump using the startPump service. Then it checks whether it was successful. If an object was grapsed it will wait for 3 seconds, check the status of the pump to see if the object is still being grapsed and then drop the object. Finally it will check if the object is attached after dropping it.
due to the current bug with the drop item service, you should not rely on the return statement for any logical conditions in your code as it often returns false when it should reutrn true,instead use the dropItem service and afterwards call "checkItemAttached" to see if there is any item present on the pump as this works correctly.
Use a launch file to launch the cobot_pump_node executable using the ROS parameter server to tell the script the ip-address o your franka-panda robot. An example of this cn be seen in the lunch folder under "example.launch"
rosrun cobot_pump_ros basic_demo.py
[David Russell][[email protected]]