README
Beluga Example
This package contains example launch files that demonstrate the use of Beluga-based nodes (e.g. Beluga AMCL) with external ROS bags or simulation software.
Examples
The following examples are easier to run in Beluga development containers.
Run an example application using a ROS bag.
For ROS 2 distributions, run:
cd /ws source install/setup.bash ros2 launch beluga_example perfect_odometry.launch.xml
For ROS 1 distributions, run:
cd /ws source devel*/setup.bash roslaunch beluga_example perfect_odometry.launch
Run an example application using a simulation and teleop controls.
For ROS 2 distributions, in two separate terminals run:
cd /ws source install/setup.bash ros2 launch beluga_example simulation.launch.xml
ros2 run teleop_twist_keyboard teleop_twist_keyboard
For ROS 1 distributions, in two separate terminals run:
cd /ws source devel*/setup.bash roslaunch beluga_example simulation.launch
rosrun teleop_twist_keyboard teleop_twist_keyboard
Note that this example uses Flatland for simulation. A Flatland source installation is provisioned in development containers. You will have to provision one yourself to run this elsewhere.
Launch a localization node manually.
For ROS 2 distributions, run:
ros2 launch beluga_example localization_launch.py use_composition:=True localization_params_file:=<PARAMS_PATH> localization_map:=<MAP_YAML_PATH>
For ROS 1 distributions, run:
roslaunch beluga_example localization.launch localization_params_file:=<PARAMS_PATH> localization_map:=<MAP_YAML_PATH>
The
localization_params_file
argument can be ommited if the default AMCL parameters are compatible with the robot.Use RViz to visualize the localization output.
For ROS 2 distributions, run:
rviz2 -d $(ros2 pkg prefix --share beluga_example)/rviz/amcl.ros2.rviz
For ROS 1 distributions, run:
rviz -d $(rospack find beluga_example)/rviz/amcl.ros.rviz
Quality of Service
In ROS 2, when subscribing to the output topics from localization, we recommend the following QoS settings:
Topic
Depth
History
Reliability
Durability
map
5
Keep last
Reliable
Transient local
particle_cloud
5
Keep last
Best effort
Volatile
pose
5
Keep last
Reliable
Volatile