create3_coverage
C++ action server exposing a non-systematic coverage behavior
README
iRobot® Create® 3 Coverage
This example creates a ROS 2 action server that runs a simple non-systematic coverage algorithm on your Create® 3.
The purpose of this example is to show how to command your robot and react to its hazard information.
How to use
Build this and the create3_examples_msgs
packages.
Source the setup shell scripts.
Start the coverage action server
ros2 run create3_coverage create3_coverage
In a separate terminal command a coverage action
ros2 action send_goal /coverage create3_examples_msgs/action/Coverage "{explore_duration:{sec: 500, nanosec: 0}, max_runtime:{sec: 1000,nanosec: 0}}"
Robot initial configuration
NOTES:
Do not start the behavior with the robot undocked, but very close to the dock. The behavior may fail or it may cause the robot to run over its dock. It’s safe to start with the robot still docked.
Do not start the behavior with the robot in contact with obstacles or cliffs.
Troubleshooting
Waiting for an action server to become available...
If users notice that they are unable to communicate with the coverage action server when using Fast-DDS RMW, this is due to the following bug https://github.com/ros2/rmw_fastrtps/issues/563.
A simple fix consists in updating the rwm_fastrtps_cpp
library to a version >= 5.0.1