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.

  1. 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
    
  2. 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.

  3. 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.

  4. 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