This repository hosts content for the Manipulate With MoveIt Like a Pro workshop for ROSCon 2024.
Thank you to Stephanie Eng, Sebastian Jahr, and Henning Kayser for presenting this workshop, and thank you to Matt Hansen for his help on developing the workshop conent. Slides are available here, with PDF backup here. Thank you for attending!
Please bring a laptop running Ubuntu 22.04 or Ubuntu 24.04 with Docker installed to the workshop to participate in the exercises.
To install Docker, see the official Docker instructions to Install Docker Engine on Ubuntu.
Officially, we test with Ubuntu 22.04 and Ubuntu 24.04. The Docker setup may be compatible with Mac/Windows, but please note that this is an untested configuration.
This workshop requires some initial setup - this should take less than 10 minutes. Please try to follow these steps to set up your laptop before attending the workshop to ensure the smoothest experience. If you run into any issues during this process, please file an issue in this repository.
All workshop exercises will be run from a Docker container. Please download the provided image before the workshop begins, as we canot guarantee the network performance at the conference.
Before getting the image, you must have Docker installed on your machine.
You can install Docker by following the official instructions.
To use Docker without sudo
, follow the Docker post-install instructions.
At the end, confirm that you see the following output when running the following commands:
$ docker version | grep -A2 Client
Client: Docker Engine - Community
Version: 27.0.2
API version: 1.46
$ docker version | grep -A2 Server
Server: Docker Engine - Community
Engine:
Version: 27.0.2
Note that Version
may be different than the above example output.
- Download the image file from the latest release. The file is called
docker-image.tar.gz
- Clone the workshop repository with
git clone https://github.com/moveit/roscon24.git
. cd
into theroscon2024
repository- Use the fetch script to get the image:
docker/fetch ~/Downloads/docker-image.tar.gz
Note: do NOT use docker import
or docker load
. Please use the docker/fetch
script above.
If you would like to use VS Code and its dev container system, you can skip this section and go directly to VSCode Dev Containers.
After getting the Docker image, you can start the Docker container via the special shell file docker/start
. To do this:
cd
into this repository.docker/start
This should start the Docker container and it will mount this repository into the /code
directory inside the container.
As a result, changes to the repository in the host will be reflected in the container.
After starting the Docker container, you can login to the Docker container using the special docker/shell
script:
cd
into this repository.docker/shell
You should be greeted with something like the following:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
user@a1abc5c215e9:/code$
This script logs you into an user named user
which has the same UID and GID as your host user.
This eliminates some of the permission errors you may encounter with using Docker.
It also allows you to run GUI programs.
This repositry contains a .devcontainer folder to work with the VSCode Remote Containers extension.
This setup relies on the image imported above using the docker/fetch
script.
If you haven't performed the image import step, launching VSCode with dev containers will not work, as it will fail to find the image.
Once you imported the image, you can simply open VSCode with dev containers in this repository. You can then use the VSCode terminal inside the container.
After logging into the Docker container, you can run the UR robot to check if everything is working. To do this:
cd exercise1
colcon build
source install/setup.bash
ros2 launch exercise1-1 ur.launch.py
This should open an RViz window with the UR visible. It should look like this: