Examples to test and demonstrate the functionalities of the rmcl ROS package.
In the rmcl_examples_sim packages are placed several simulation environments to spawn a mobile robot in.
The robot can be loaded into one simulation by calling
ros2 launch rmcl_examples_sim start_robot_launch.py map:=trayThe environment can be changed by either changing the launch file's default arguments or via command line. For further details and what maps are available, see rmcl_examples_sim.
The rmcl_examples_maps contains mesh maps each of which corresponds to one (same named) simulation environment.
ros2 launch rmcl_examples_maps show_map.launch map:=trayThose maps can are used throughout the examples as reference map for RMCL to localize a robot. See rmcl_examples_maps for further details.
To start MICP-L (Mesh ICP Localization), run
ros2 launch rmcl_examples rmcl_micpl.launch map:=tray gui:=TrueNote: the map has to match the environment that have been used with the simulation!
The argument gui:=True courses a preconfigured RViz windows to open.
After that you can set a pose in RViz via 2D Pose Estimate and see the robot localizing itself given the range measurements of the Velodyne LiDAR. Alternatively, you can use the Mesh Pose Guess tool of mesh_tools to provide a pose guess on the mesh.
1. Overview
Three sensors, four wheels, and many worlds.
2. Conversions
Use you own data for MICP-L. Message conversions explained.
3. Segmentation
Filter expected parts of you sensor data and mark the unexpected parts of the data and the map.
Let the sensor data flow more efficiently to MICP-L.
Combine several sensors and use all at once.
Accelerate the registration process using hardware-accelerated ray tracing.
7. Parameters
Tune the parameters of MICP-L for your needs.
Note: RMCL is under development and heavy testing. Nevertheless we decided to pre-release the
v0version in an unfinished state, because we think it can help other to see whats possible. Also we hope you can test this and perhaps help us in improving / finishing the last things.
Close all open windows. Then start the simulation:
ros2 launch rmcl_examples_sim start_robot_launch.py map:=avzand in second terminal RMCL
ros2 launch rmcl_examples rmcl_rmcl.launch map:=avzTo restart the global localization process, open a third terminal and enter:
ros2 service call /rmcl/global_localization std_srvs/srv/Empty {}| RMCL Branch | Supported ROS 2 versions |
|---|---|
| main | humble, jazzy |

