This package provides 2 maps based on the botanic garden dataset. The rosbags from the botanic garden dataset were modified (/odom topic was added and several topics were removed) to be able to run on this demo. Currently, only 2 sequences can be tested: 1005-07 and 1006-01.
Request the maps and bags from the team and store the maps under beluga_demo/localization/beluga_demo_amcl3_localization/maps and the bags under beluga_demo/localization/beluga_demo_amcl3_localization/rosbags.
If you want to run this example on your local machine and not in the provided docker image, you need to download and compile the pcl_perception repo release 2.6.1 by yourself. Because the filters provided for humble are not compiled as plugins.
Inside the docker container verify that you have the following file structure:
beluga_demo_amcl3_localization/
├── maps/
│ ├── map_1005_07.vdb
│ └── map_1006_01.vdb
├── rosbags/
│ ├── botanic_garden_tf_1005_07/
│ │ ├── botanic_garden_tf_1005_07.db3
│ │ └── metadata.yaml
│ └── botanic_garden_tf_1006_01/
│ ├── botanic_garden_tf_1006_01.db3
│ └── metadata.yaml
├── doc/
├── launch/
├── rviz/
├── scripts/
└── src/Now you need to build the demo software stack:
demo_buildYou can now launch the AMCL3 node and Rviz using:
amcl3_localization_demoFinally, play the rosbag:
ros2 bag play ~/ws/src/beluga_demo/localization/beluga_demo_amcl3_localization/rosbags/botanic_garden_tf_1005_07/botanic_garden_tf_1005_07.db3Once the bag starts playing you'll see that Rviz shows the pointcloud, pose estimation, particle filter belief, etc (see the screen capture below):
You can stop the demo by pressing Ctrl+C in the terminal where rviz and the rosbag are running.
To test a different map the following variable in src/beluga_amcl3_demo.cpp must be changed accordingly:
const std::string kMapFile = ament_index_cpp::get_package_share_directory("beluga_demo_amcl3_localization") + "/maps/map_1005_07.vdb";

