Want to start developing a new ROS 2 feature or application? Clone this and get going.
- Docker
- Python workflow prerequisites (install with
piporuv, etc):
vcs2lrockeroff-your-rocker
- Recommended: just
All workflows can be invoked from tools/ scripts directly, or via convenience wrappers with just.
See just -l for a list with comments on the commands.
-
Edit
ws.reposto contain repositories relevant to development. -
Build your dev environment and start it:
mkdir src
vcs import src < ws.repos
DEVIMG=my-img ./tools/build-ws --build-arg ROS_DISTRO=rolling --build-arg UBUNTU_DISTRO=noble
DEVIMG=my-img ./tools/start-wsIn the container (basic ROS dev workflow):
colcon buildTo start a new shell in the running container,
DEVIMG=my-img ./tools/attachAlso, to avoid full reinstall of all dependencies, you can do an incremental rosdep installation of only new dependencies as a new layer on top of the prebuilt image:
DEVIMG=my-img ./tools/incremental-wsFor convenience working on ROS 2 core on live distributions, various .repos files are provided here in repos/. They are not meant to be combined - each is a standalone copy from https://github.com/ros2/ros2 ros2.repos at the relevant branch. I wouldn't trust these too much to be all the way up to date - again, they are merely a convenience for core development.