The State Estimation in ROS 2 workshop is being presented as part of ROSCon UK 2025, which is scheduled to be held in Edinburgh, UK from 15 - 17 September 2025. This repository contains supporting materials for the workshop, as well as setup instructions for various platforms.
We have created a Docker image for the workshop, and attendees are encouraged to use it for simplicity. However, the wide availability of the packages we'll be using for the workshop, along with their relatively light dependencies, mean that it should work equally well if cloned and run in a native ROS 2 workspace.
If you do not have Docker installed, please follow the instructions here. You will also need the docker-compose
plugin.
The most straightforward way to start the container is the following:
wget https://tinyurl.com/rosconuk-se-docker -O docker-compose.yaml
docker compose run rosconuk2025
Users will also need a second terminal attached to the same instance so that bags can be played:
docker compose exec rosconuk2025 /bin/bash
For convenience, we have provided a number of handy shortcuts for working with the workspace in the Docker container.
$ws
- Environment variable for the workspace root
$bags
- Environment variable for the bag directory
$taskN
- Environment variable for the directory for task N (where N ranges from 1 to 8)
s
- Sources the workspace ws/install/setup.bash
cb
- Buulds the workspace by running cd /root/ws && catkin build --symlink-install && cd -
We have included vim
, emacs
, and nano
as editors in the container. Other editors can be installed via apt
. The
docker container (when run via docker compose
) supports GUIs.
If you are unable or unwilling to use Docker, you have the option to clone the repository and build it locally:
sudo apt install git git-lfs
source /opt/ros/<ROS DISTRO>/setup.bash
mkdir -p ws/src
cd ws/src
git clone https://github.com/ayrton04/roscon-uk-2025-se-workshop.git
cd ..
colcon build --symlink-install
Then, in any terminals you open, you can run
source ws/install/setup.bash
You should also decompress the bag files as described in the next section.
Everything should then work in the same way as it would within the Docker container.
This workshop makes use of a number of ROS 2 bag files. The repository contains compressed versions of them, along with a small bash script for decompressing them. This has already been executed for you in the Docker container, but users who have manually cloned the GitHub repository should run
cd ws/roscon-uk-2025-se-workshop/bags
./decompress.sh
When playing back bags, it's important to remember to always use the --clock
flag, as we are using simulated time in the nodes.
Bag replay can be sped up or slowed down using the up and down arrow keys, respectively. This will likely be useful for some of the longer-running bags and their associated tasks.