From b2b7c4e9a48b1fb767201b1474ad3ea27d76de14 Mon Sep 17 00:00:00 2001 From: Shakirth Anisha Date: Tue, 10 Feb 2026 12:28:32 +0530 Subject: [PATCH 1/5] docs: Add guide for running ROS2 with Docker --- content/guides/ros2/_index.md | 47 +++++ content/guides/ros2/develop.md | 118 +++++++++++ content/guides/ros2/run-ros2.md | 77 ++++++++ content/guides/ros2/turtlesim-example.md | 241 +++++++++++++++++++++++ 4 files changed, 483 insertions(+) create mode 100644 content/guides/ros2/_index.md create mode 100644 content/guides/ros2/develop.md create mode 100644 content/guides/ros2/run-ros2.md create mode 100644 content/guides/ros2/turtlesim-example.md diff --git a/content/guides/ros2/_index.md b/content/guides/ros2/_index.md new file mode 100644 index 000000000000..5d0a73a7864f --- /dev/null +++ b/content/guides/ros2/_index.md @@ -0,0 +1,47 @@ +--- +title: Introduction to ROS 2 Development with Docker +linkTitle: ROS 2 +description: Learn how to containerize and develop ROS 2 applications using Docker. +keywords: ros2, robotics, devcontainers, python, cpp, Dockerfile, rviz +summary: | + This guide details how to containerize ROS 2 applications using Docker. +toc_min: 1 +toc_max: 2 +languages: [] +params: + tags: [frameworks] + time: 30 minutes +--- + +> **Acknowledgment** +> +> This guide is a community contribution. Docker would like to thank +> [Shakirth Anisha](https://www.linkedin.com/in/shakirth-anisha/) for her contribution +> to this guide. + +[ROS 2](https://www.ros.org/) is a set of software libraries and tools for building robot applications. It uses Data Distribution Service (DDS) for real-time, secure communication between distributed nodes, making it ideal for robotics and autonomous systems. + +--- + +## What will you learn? + +In this guide, you'll learn how to: + +- Use official ROS 2 base images from Docker Hub +- Run ROS 2 in an Ubuntu container +- Install ROS 2 packages and dependencies +- Set up a development container for local development +- Run a complete end-to-end example with Turtlesim + +## Prerequisites + +Before you begin, make sure you're familiar with the following: + +- [Docker Desktop](https://docs.docker.com/desktop/): You must have Docker Desktop installed and running. +- [Homebrew](https://brew.sh/) (macOS users): If you are using macOS, you must have Homebrew installed to manage dependencies. +- [Docker concepts](/get-started/docker-concepts/the-basics/what-is-a-container.md): You must understand core Docker concepts, such as images and containers. +- [ROS 2 concepts](https://www.ros.org): Basic understanding of concepts like nodes, packages, topics, and services. + +## What's next? + +Start by setting up your ROS 2 development environment using Docker and dev containers. diff --git a/content/guides/ros2/develop.md b/content/guides/ros2/develop.md new file mode 100644 index 000000000000..9f10abf374bf --- /dev/null +++ b/content/guides/ros2/develop.md @@ -0,0 +1,118 @@ +--- +title: Build and develop a ROS 2 workspace +linkTitle: Set Up ROS 2 workspace +weight: 15 +keywords: ros2, robotics, docker, dockerfile, devcontainer, vscode, workspace +description: Learn how to develop ROS 2 applications using a Docker based workspace and development containers. + +--- + +## Overview + +In this section, you will set up a ROS 2 workspace using Docker and development containers, review the workspace layout, open the workspace in Visual Studio Code, and edit and build ROS 2 projects inside the container. + +--- + +## Get the sample ROS 2 workspace + +A consistent workspace simplifies managing ROS 2 projects and build artifacts across different distributions. + +1. Open a terminal and clone the sample workspace repository: + + ```console + $ git clone https://github.com/shakirth-anisha/docker-ros2-workspace.git + $ cd docker-ros2-workspace + + ``` + + Moving forward, Linux users can use the `ws_linux` folder, and macOS users can use `ws_mac`. + +2. Verify the workspace structure: + + ```text + ws/ + ├── cache/ + | ├── [ROS2_DISTRO]/ + | | ├── build/ + | | ├── install/ + | | └── log/ + | └── ... + | + ├── src/ + ├── .devcontainer/ + │ ├── devcontainer.json + │ └── Dockerfile + ├── package1/ + └── package2/ + + ``` + +3. Explore the workspace layout +- `cache` : Stores build, install, and log artifacts for each ROS 2 distribution. Keeping these directories outside the source tree lets you change distributions without rebuilding everything from scratch. +- `src` : Contains all ROS 2 packages and the development container configuration. This directory is mounted into the container as the active workspace. +- `.devcontainer/` : Holds the configuration used by Visual Studio Code to open the workspace in a container. + - `Dockerfile` : Builds the ROS 2 development image. It uses an official ROS 2 base image, creates a non-root development user, and installs required system and ROS 2 dependencies. + - `devcontainer.json` : Defines how Visual Studio Code builds, runs, and connects to the container. It configures the workspace location, user context, mounted directories, environment variables, networking options, installed extensions, and post-create setup commands. + +## Open and build dev container + +1. Install the `devcontainer` CLI: + + - Linux / Windows + ```console + $ sudo apt update && sudo apt upgrade + $ sudo apt install -y nodejs npm + $ sudo npm install -g @devcontainers/cli + ``` + - macOS + ```console + $ brew install devcontainer + ``` + +2. Execute the following commands to build and start the container: + + ```console + $ devcontainer up --workspace-folder ws/src + + ``` + + This command builds the Docker image defined in your `.devcontainer` folder and starts the container in the background. + + > [!NOTE] + > + > Building the image may take several minutes during the first run + > as the CLI pulls the base ROS 2 image and installs required dependencies. + > Subsequent starts will be significantly faster. + +3. Once the container is running, execute commands inside it using `exec`: + + ```console + devcontainer exec --workspace-folder ws/src /bin/bash + ``` + +4. Inside the container terminal, verify the environment: + +```console +$ ros2 --version +$ which colcon +``` + +All commands should execute successfully inside the container. + +## Switch ROS 2 distributions + +1. Create a new cache directory for the target distribution: + + ```console + $ mkdir -p ~/ws/cache/[ROS_DISTRIBUTION]/{build,install,log} + ``` + +2. Update the cache paths in `src/.devcontainer/Dockerfile` and `src/.devcontainer/devcontainer.json`, changing from `humble` to `ROS_DISTRIBUTION`. + +## Summary + +In this section, you learned how to create a structured workspace with cache directories, write a Dockerfile with development tools and configure a dev container with `devcontainer.json`. Your ROS 2 development environment is now ready with a consistent, reproducible setup across any machine. + +## Next steps + +In the next section, you'll run a complete end-to-end example with Turtlesim. diff --git a/content/guides/ros2/run-ros2.md b/content/guides/ros2/run-ros2.md new file mode 100644 index 000000000000..02740cdf3244 --- /dev/null +++ b/content/guides/ros2/run-ros2.md @@ -0,0 +1,77 @@ +--- +title: Run ROS 2 in a container +linkTitle: Run ROS 2 +weight: 10 +keywords: ros2, robotics, docker, dockerfile, devcontainer, vscode, workspace +description: Run ROS 2 in an isolated Docker container using official ROS 2 images and install additional ROS 2 packages. +--- + +## Overview + +In this section, you will run ROS 2 in an isolated Docker container using official ROS 2 images, verify that ROS 2 is working, and install additional ROS 2 packages for development and testing. + +--- + +## Run ROS 2 in a container + +The fastest way to get started with ROS 2 is to use the [official Docker image](https://hub.docker.com/_/ros/). To pull an image, start a container, and open an interactive bash shell: + +1. Pull and run the official ROS 2 Docker image: + + ```console + $ docker run -it ros:humble + ``` + + This guide uses the Humble distribution. You can replace `humble` with another supported distribution such as `rolling`, `jazzy`, or `iron`. + + > [!Note] + > + > This environment is temporary and does not maintain persistence. + > Any files you create or packages you install will be deleted once the container is stopped or removed. + +2. Verify ROS 2 is working: + + ```console + $ echo $ROS_DISTRO + ``` + + You should see output similar to: + + ```text + humble + ``` + +## Install ROS 2 packages + +The official ROS 2 images include core packages. To install additional packages, use the `apt` package manager: + +1. Update the package manager: + + ```console + $ sudo apt update + ``` + +2. Install the desired package: + + ```console + $ sudo apt install $PACKAGE_NAME + ``` + +Replace `$PACKAGE_NAME` with any package you want to install. + +Some commonly used packages include: + +- `ros-humble-turtlesim` - Visualization and simulation tool +- `ros-humble-rviz2` - 3D visualization tool +- `ros-humble-rqt` - Qt-based ROS graphical tools +- `ros-humble-demo-nodes-cpp` - C++ demo nodes +- `ros-humble-demo-nodes-py` - Python demo nodes +- `ros-humble-colcon-common-extensions` - Build system extensions + +## Summary + +In this section, you pulled an official ROS 2 Docker image, launched an interactive session, and extended the container's capabilities by installing additional ROS 2 packages using apt. + +## Next steps + +In the next section, you will configure a persistent workspace to ensure your code and modifications are saved across sessions. \ No newline at end of file diff --git a/content/guides/ros2/turtlesim-example.md b/content/guides/ros2/turtlesim-example.md new file mode 100644 index 000000000000..555e057aa2b7 --- /dev/null +++ b/content/guides/ros2/turtlesim-example.md @@ -0,0 +1,241 @@ +--- +title: Run a complete example with Turtlesim +linkTitle: Turtlesim example +weight: 20 +keywords: ros2, turtlesim, example, nodes, topics, teleop +description: Run a complete end-to-end ROS 2 example with Turtlesim. +--- + +## Overview + +Turtlesim is a simple simulation tool that demonstrates fundamental ROS 2 concepts such as nodes, topics, and services. In this section, you'll run a complete example with Turtlesim, control the turtle, monitor topics, and visualize the system with rqt. + +--- + +## Configure display forwarding + +### Linux + +Allow Docker access to your X server: + +```console +$ xhost +local:docker +``` + +### macOS + +On macOS, use XQuartz to provide X11 support. Install XQuartz using Homebrew: + +1. Install XQuartz using Homebrew: + + ```console + $ brew install --cask xquartz + ``` + +2. Open XQuartz from Applications, then navigate to `Preferences > Security` and enable `Allow connections from network clients`. Restart your computer to ensure the changes take effect. + +3. After rebooting, open a terminal and allow local connections: + + ```console + $ xhost +localhost + ``` + +> [!Note] +> +> Some ROS 2 visualization tools, such as RViz may be unavailable when using macOS. + +## Start the dev container + +Start the container using the same dev container setup from the workspace section. + +For Linux: +```console +$ devcontainer up --workspace-folder ws_linux/src +$ devcontainer exec --workspace-folder ws_linux/src /bin/bash +``` + +For macOS: +```console +$ devcontainer up --workspace-folder ws_mac/src +$ devcontainer exec --workspace-folder ws_mac/src /bin/bash +``` + +## Install and Run Turtlesim + +Inside the container, install the Turtlesim package: + +1. Update the package manager: + + ```console + $ sudo apt update + ``` + +2. Install the Turtlesim package: + + ```console + $ sudo apt install -y ros-humble-turtlesim + ``` + +3. Run the Turtlesim node: + + ```console + $ ros2 run turtlesim turtlesim_node + ``` + +A window should appear on your desktop showing a turtle in a grid. + +## Control the turtle + +1. Open a new terminal and connect to the same container, then start the keyboard teleop node: + + ```console + $ ros2 run turtlesim turtle_teleop_key + ``` + + This node allows you to control the turtle using your keyboard. Use the arrow keys to move the turtle forward, backward, left, and right. Press `Ctrl+C` to stop the teleop node. + +2. Move the turtle around the window. You should see it draw a path as it moves. + +## Monitor topics + +1. Open another terminal and connect to the same container, then list all active topics: + + ```console + $ ros2 topic list + ``` + + You should see output similar to the following: + + ```text + /parameter_events + /rosout + /turtle1/cmd_vel + /turtle1/color_sensor + /turtle1/pose + ``` + +2. Get information about a specific topic: + + ```console + $ ros2 topic info /turtle1/pose + ``` + + You'll see the topic type and which nodes publish and subscribe to it. + +## Visualize the system with rqt + +1. Open another terminal and connect to the same container, then update the package manager: + + ```console + $ sudo apt update + ``` + +2. Install rqt: + + ```console + $ sudo apt install 'ros-humble-rqt*' + ``` + +3. Start rqt: + + ```console + $ ros2 run rqt_gui rqt_gui + ``` + +An rqt window should appear. rqt provides several useful plugins for visualizing and monitoring ROS 2 systems. + +### Node Graph + +You can explore the node graph by navigating to **Plugins > Introspection > Node Graph**. A new tab opens showing nodes and topics with connections illustrated as lines. This visualization demonstrates how the teleop node sends velocity commands to the Turtlesim node, and how the Turtlesim node publishes position data back through topics. + +### Topic Monitor + +You can monitor active topics by navigating to **Plugins > Topics > Topic Monitor**. A new tab opens displaying all active topics and their current values. Click the eye icon next to `/turtle1/pose` to monitor it. As you move the turtle, watch the pose values update in real time, showing the position of the turtle and orientation changing based on your commands. + +### Message Publisher + +You can also publish messages manually using **Plugins > Topics > Message Publisher**. The Message Publisher plugin allows you to manually publish messages to any topic. You can use it to send velocity commands directly without writing a script. + +### Plots + +To plot topic data over time navigate to **Plugins > Visualization > Plot**. For example, in the Plot window, type `/turtle1/pose/x` in the Topic field and press Enter. Move the turtle and watch the X position displayed as a graph over time. + +## Call ROS 2 services + +Turtlesim provides services for actions such as teleporting the turtle and clearing the path. + +1. List available services: + + ```console + $ ros2 service list + ``` + + You should see services such as `/turtle1/set_pen` (to change pen color and width), `/turtle1/teleport_absolute` (to move the turtle to a specific position), and `/turtle1/teleport_relative` (to move the turtle relative to its current position). + +2. Teleport the turtle to a new position: + + ```console + $ ros2 service call /turtle1/teleport_absolute turtlesim/srv/TeleportAbsolute " + x: 1.0 + y: 3.0 + theta: 0.0 + " + ``` + + The turtle should instantly move to the specified position (3.0, 4.0). + +## Create a simple publisher + +1. Create a Python script that publishes velocity commands to control the turtle programmatically. In a new terminal, create a file called `move_turtle.py`: + + ```python + import rclpy + from geometry_msgs.msg import Twist + import time + + def main(): + rclpy.init() + node = rclpy.create_node('turtle_mover') + publisher = node.create_publisher(Twist, 'turtle1/cmd_vel', 10) + + # Create a twist message + msg = Twist() + msg.linear.x = 2.0 # Move forward at 2 m/s + msg.angular.z = 1.0 # Rotate at 1 rad/s + + # Publish the message + for i in range(50): + publisher.publish(msg) + time.sleep(0.1) + + # Stop the turtle + msg.linear.x = 0.0 + msg.angular.z = 0.0 + publisher.publish(msg) + + node.destroy_node() + rclpy.shutdown() + + if __name__ == '__main__': + main() + ``` + +2. Run the script: + + ```console + $ python3 move_turtle.py + ``` + + The turtle should move in a circular motion for 5 seconds and then stop. + +## Summary + +In this section, you configured display forwarding, used the Turtlesim nodes, inspected nodes and topics, and visualized the system using rqt. Finally, you interacted with ROS 2 services and created a simple publisher to move the turtle programmatically. + +These fundamental concepts apply directly to real-world robotics applications with actual sensors and actuators. + +## Related resources + +- [ROS 2 Turtlesim tutorials](https://docs.ros.org/en/humble/Tutorials/Beginner-CLI-Tools/Understanding-ROS2-Topics/Understanding-ROS2-Topics.html) +- [ROS 2 Concepts](https://docs.ros.org/en/humble/Concepts.html) +- [Geometry Messages](https://github.com/ros2/geometry2/tree/humble/geometry_msgs) From a356decdd09fcd6537aaccadcde1f23ac6dad9a0 Mon Sep 17 00:00:00 2001 From: Shakirth Anisha Date: Wed, 11 Feb 2026 09:49:48 +0530 Subject: [PATCH 2/5] Update Vale accept list with ROS2-specific terminology --- _vale/config/vocabularies/Docker/accept.txt | 5 +++++ content/guides/ros2/turtlesim-example.md | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index cdbf04825fac..7c9a82aadf0b 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -179,7 +179,9 @@ Rekor ROCm rollback rootful +rqt runc +RViz Ryuk S3 scrollable @@ -204,11 +206,13 @@ sysctl sysctls Sysdig systemd +teleop Testcontainers tmpfs Traefik Trivy Trixie +Turtlesim Ubuntu ufw umask @@ -231,6 +235,7 @@ WireMock workdir WORKDIR Xdebug +XQuartz youki Yubikey Zscaler diff --git a/content/guides/ros2/turtlesim-example.md b/content/guides/ros2/turtlesim-example.md index 555e057aa2b7..31038e0bbb21 100644 --- a/content/guides/ros2/turtlesim-example.md +++ b/content/guides/ros2/turtlesim-example.md @@ -150,7 +150,7 @@ You can explore the node graph by navigating to **Plugins > Introspection > Node ### Topic Monitor -You can monitor active topics by navigating to **Plugins > Topics > Topic Monitor**. A new tab opens displaying all active topics and their current values. Click the eye icon next to `/turtle1/pose` to monitor it. As you move the turtle, watch the pose values update in real time, showing the position of the turtle and orientation changing based on your commands. +You can monitor active topics by navigating to **Plugins > Topics > Topic Monitor**. A new tab opens displaying all active topics and their current values. Select the eye icon next to `/turtle1/pose` to monitor it. As you move the turtle, watch the pose values update in real time, showing the position of the turtle and orientation changing based on your commands. ### Message Publisher @@ -162,7 +162,7 @@ To plot topic data over time navigate to **Plugins > Visualization > Plot**. For ## Call ROS 2 services -Turtlesim provides services for actions such as teleporting the turtle and clearing the path. +Turtlesim provides services for actions such as repositioning the turtle and clearing the path. 1. List available services: From 81bbf20d66bd43b9330a6450f23c40b98b521fc5 Mon Sep 17 00:00:00 2001 From: Shakirth Anisha Date: Thu, 12 Feb 2026 17:19:37 +0530 Subject: [PATCH 3/5] minor fixes to ros2 guide --- content/guides/ros2/run-ros2.md | 2 +- content/guides/ros2/turtlesim-example.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/guides/ros2/run-ros2.md b/content/guides/ros2/run-ros2.md index 02740cdf3244..e132cb947980 100644 --- a/content/guides/ros2/run-ros2.md +++ b/content/guides/ros2/run-ros2.md @@ -74,4 +74,4 @@ In this section, you pulled an official ROS 2 Docker image, launched an interact ## Next steps -In the next section, you will configure a persistent workspace to ensure your code and modifications are saved across sessions. \ No newline at end of file +In the next section, you will configure a persistent workspace to ensure your code and modifications are saved across sessions. diff --git a/content/guides/ros2/turtlesim-example.md b/content/guides/ros2/turtlesim-example.md index 31038e0bbb21..35133ed8a0cb 100644 --- a/content/guides/ros2/turtlesim-example.md +++ b/content/guides/ros2/turtlesim-example.md @@ -182,7 +182,7 @@ Turtlesim provides services for actions such as repositioning the turtle and cle " ``` - The turtle should instantly move to the specified position (3.0, 4.0). + The turtle should instantly move to the specified position (1.0, 3.0). ## Create a simple publisher From 58a198a0fe7d2f1ead32d0cb246619fb2c23eed8 Mon Sep 17 00:00:00 2001 From: Shakirth Anisha Date: Mon, 16 Feb 2026 16:43:55 +0530 Subject: [PATCH 4/5] refactor(ros2): replace devcontainers setup with Docker Compose --- content/guides/ros2/_index.md | 1 - content/guides/ros2/develop.md | 76 ++++++++++-------------- content/guides/ros2/run-ros2.md | 2 +- content/guides/ros2/turtlesim-example.md | 26 ++++---- 4 files changed, 47 insertions(+), 58 deletions(-) diff --git a/content/guides/ros2/_index.md b/content/guides/ros2/_index.md index 5d0a73a7864f..7324d8c48e50 100644 --- a/content/guides/ros2/_index.md +++ b/content/guides/ros2/_index.md @@ -38,7 +38,6 @@ In this guide, you'll learn how to: Before you begin, make sure you're familiar with the following: - [Docker Desktop](https://docs.docker.com/desktop/): You must have Docker Desktop installed and running. -- [Homebrew](https://brew.sh/) (macOS users): If you are using macOS, you must have Homebrew installed to manage dependencies. - [Docker concepts](/get-started/docker-concepts/the-basics/what-is-a-container.md): You must understand core Docker concepts, such as images and containers. - [ROS 2 concepts](https://www.ros.org): Basic understanding of concepts like nodes, packages, topics, and services. diff --git a/content/guides/ros2/develop.md b/content/guides/ros2/develop.md index 9f10abf374bf..7d5d77a61204 100644 --- a/content/guides/ros2/develop.md +++ b/content/guides/ros2/develop.md @@ -30,53 +30,49 @@ A consistent workspace simplifies managing ROS 2 projects and build artifacts ac 2. Verify the workspace structure: ```text - ws/ - ├── cache/ - | ├── [ROS2_DISTRO]/ - | | ├── build/ - | | ├── install/ - | | └── log/ - | └── ... - | - ├── src/ - ├── .devcontainer/ - │ ├── devcontainer.json - │ └── Dockerfile + ws_linux/ + ├── compose.yml + ├── Dockerfile + └── src/ + ├── package1/ + └── package2/ + + ws_mac/ + ├── compose.yml + ├── Dockerfile + └── src/ ├── package1/ └── package2/ ``` 3. Explore the workspace layout -- `cache` : Stores build, install, and log artifacts for each ROS 2 distribution. Keeping these directories outside the source tree lets you change distributions without rebuilding everything from scratch. -- `src` : Contains all ROS 2 packages and the development container configuration. This directory is mounted into the container as the active workspace. -- `.devcontainer/` : Holds the configuration used by Visual Studio Code to open the workspace in a container. - - `Dockerfile` : Builds the ROS 2 development image. It uses an official ROS 2 base image, creates a non-root development user, and installs required system and ROS 2 dependencies. - - `devcontainer.json` : Defines how Visual Studio Code builds, runs, and connects to the container. It configures the workspace location, user context, mounted directories, environment variables, networking options, installed extensions, and post-create setup commands. -## Open and build dev container +- `compose.yml` : Defines how Docker Compose builds and runs the ROS 2 container, including mounts, environment variables, and networking settings. +- `Dockerfile` : Builds the ROS 2 development image. It uses an official ROS 2 base image, creates a non-root development user, and installs required system and ROS 2 dependencies. +- `src` : Contains all ROS 2 packages. This directory is mounted into the container as the active workspace. -1. Install the `devcontainer` CLI: +## Open and build the container + +1. Execute the following commands to build and start the container: + + For Linux: - - Linux / Windows - ```console - $ sudo apt update && sudo apt upgrade - $ sudo apt install -y nodejs npm - $ sudo npm install -g @devcontainers/cli - ``` - - macOS ```console - $ brew install devcontainer + $ cd ws_linux + $ docker compose up -d + $ docker compose exec ros2 /bin/bash ``` -2. Execute the following commands to build and start the container: + For macOS: ```console - $ devcontainer up --workspace-folder ws/src - + $ cd ws_mac + $ docker compose up -d + $ docker compose exec ros2 /bin/bash ``` - This command builds the Docker image defined in your `.devcontainer` folder and starts the container in the background. + This command builds the Docker image defined in your `Dockerfile` and starts the container in the background. > [!NOTE] > @@ -84,16 +80,16 @@ A consistent workspace simplifies managing ROS 2 projects and build artifacts ac > as the CLI pulls the base ROS 2 image and installs required dependencies. > Subsequent starts will be significantly faster. -3. Once the container is running, execute commands inside it using `exec`: +2. Once the container is running, execute commands inside it using `exec`: ```console - devcontainer exec --workspace-folder ws/src /bin/bash + $ docker compose exec ros2 /bin/bash ``` -4. Inside the container terminal, verify the environment: +3. Inside the container terminal, verify the environment: ```console -$ ros2 --version +$ echo $ROS_VERSION $ which colcon ``` @@ -101,17 +97,11 @@ All commands should execute successfully inside the container. ## Switch ROS 2 distributions -1. Create a new cache directory for the target distribution: - - ```console - $ mkdir -p ~/ws/cache/[ROS_DISTRIBUTION]/{build,install,log} - ``` - -2. Update the cache paths in `src/.devcontainer/Dockerfile` and `src/.devcontainer/devcontainer.json`, changing from `humble` to `ROS_DISTRIBUTION`. +Update the base image in your `Dockerfile`, changing from `humble` to another distribution like `rolling`, `jazzy`, or `iron`. ## Summary -In this section, you learned how to create a structured workspace with cache directories, write a Dockerfile with development tools and configure a dev container with `devcontainer.json`. Your ROS 2 development environment is now ready with a consistent, reproducible setup across any machine. +In this section, you learned how to create a structured workspace, write a Dockerfile with development tools, and configure a Docker Compose setup. Your ROS 2 development environment is now ready with a consistent, reproducible setup across any machine. ## Next steps diff --git a/content/guides/ros2/run-ros2.md b/content/guides/ros2/run-ros2.md index e132cb947980..6004e4a60a87 100644 --- a/content/guides/ros2/run-ros2.md +++ b/content/guides/ros2/run-ros2.md @@ -24,7 +24,7 @@ The fastest way to get started with ROS 2 is to use the [official Docker image]( This guide uses the Humble distribution. You can replace `humble` with another supported distribution such as `rolling`, `jazzy`, or `iron`. - > [!Note] + > [!NOTE] > > This environment is temporary and does not maintain persistence. > Any files you create or packages you install will be deleted once the container is stopped or removed. diff --git a/content/guides/ros2/turtlesim-example.md b/content/guides/ros2/turtlesim-example.md index 35133ed8a0cb..93dcc53245ea 100644 --- a/content/guides/ros2/turtlesim-example.md +++ b/content/guides/ros2/turtlesim-example.md @@ -37,27 +37,27 @@ On macOS, use XQuartz to provide X11 support. Install XQuartz using Homebrew: 3. After rebooting, open a terminal and allow local connections: ```console + $ defaults write org.xquartz.X11 nolisten_tcp -bool false $ xhost +localhost + $ xhost + 127.0.0.1 ``` -> [!Note] -> -> Some ROS 2 visualization tools, such as RViz may be unavailable when using macOS. +## Start the container -## Start the dev container - -Start the container using the same dev container setup from the workspace section. +Start the container using the same Docker Compose setup from the workspace section. For Linux: ```console -$ devcontainer up --workspace-folder ws_linux/src -$ devcontainer exec --workspace-folder ws_linux/src /bin/bash +$ cd ws_linux +$ docker compose up -d +$ docker compose exec ros2 /bin/bash ``` For macOS: ```console -$ devcontainer up --workspace-folder ws_mac/src -$ devcontainer exec --workspace-folder ws_mac/src /bin/bash +$ cd ws_mac +$ docker compose up -d +$ docker compose exec ros2 /bin/bash ``` ## Install and Run Turtlesim @@ -133,7 +133,7 @@ A window should appear on your desktop showing a turtle in a grid. 2. Install rqt: ```console - $ sudo apt install 'ros-humble-rqt*' + $ sudo apt install -y 'ros-humble-rqt*' ``` 3. Start rqt: @@ -152,9 +152,9 @@ You can explore the node graph by navigating to **Plugins > Introspection > Node You can monitor active topics by navigating to **Plugins > Topics > Topic Monitor**. A new tab opens displaying all active topics and their current values. Select the eye icon next to `/turtle1/pose` to monitor it. As you move the turtle, watch the pose values update in real time, showing the position of the turtle and orientation changing based on your commands. -### Message Publisher +### Service Caller -You can also publish messages manually using **Plugins > Topics > Message Publisher**. The Message Publisher plugin allows you to manually publish messages to any topic. You can use it to send velocity commands directly without writing a script. +You can call services from rqt using **Plugins > Services > Service Caller**. Select a service such as `/turtle1/teleport_absolute`, enter values for the request fields, and select **Call** to send the request. ### Plots From ecf589b692a6c28a1b7cc0de5cbd8e1754169b34 Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Mon, 16 Feb 2026 14:21:04 +0100 Subject: [PATCH 5/5] chore: ros2 guide: format, metadata, add hero img Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> --- assets/images/guides/ros2.jpg | Bin 0 -> 185616 bytes content/guides/ros2/_index.md | 6 +- content/guides/ros2/develop.md | 81 +++++----- content/guides/ros2/run-ros2.md | 42 ++--- content/guides/ros2/turtlesim-example.md | 190 ++++++++++++----------- 5 files changed, 161 insertions(+), 158 deletions(-) create mode 100644 assets/images/guides/ros2.jpg diff --git a/assets/images/guides/ros2.jpg b/assets/images/guides/ros2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..98d697619ef9795dda699a2720016eb7aa1e5d6d GIT binary patch literal 185616 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�%v$3HSoupXK9BnC!{EFH4PFS!rz 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�O}1D8Ii$~*DJM{G2~~B)(DTslhqE$)twSQ72przTu$LoW^_b~pxHolbkv~8 z4e6ez^6R@+Z^)1dQlrE}!Wb0dwfel7a`oUY4lVO|E^I88m)bMp$7%pspFHM1U7s!y ziu2&f+voybZg}^giHRFzcfY%~E|JaBrMD^3JvW;n5v;E`8i=v_7E|{>uL@b_cK0|v z?KLNk+h=KDq$*>GWUXu;P1l7U-Ym8>h>qD5}1}4nIdjT|HN~lq`8vBafic zeAF&dmHx><^9?PHTlXy>>rI17Q6^TmH&F>MqGOgz0be3gd47R!Y&oIX)ZYrEn-Ze2 z(~nKAHv%bsEl#yr;0c4RF>bB7Mf9!SS5O=c5S$C#nI`dz^%k8@q*9fTwOv|?+4Hj| zR!THz@(zu|5wR#jV=Gw6doyNrvu@cAv=4S-z`%+tD(4Nof|l*qtNv^f7cHKwI;}Sd z?V?Uj1bHLp73intzB9d(32;mKbhDA$L+1RR+$#v*?+>v3K4j;vUqeM?@^y2^*&a_4 zjo2HURr&tIi#h5`#F?SeZt_|z{dtVkJ?1n$uo46&rVk`3(7?RV`N#+JA)+C)&#k?P z!1&8g+HY0yB(cpiD^DnX)NtTYXn`jRknyTTqrxTe&*^d`p~M&{ZdL!N#6G8(qcb{@ zIi&p*ra0}oA8kbWdIv$O%${w@s6mlo70e@RejYyBo>NmiCsS26pXZ$f|7|u3Dujk+ zKP7u;^2|GkptU_Du&CCm-`OZw^>d2hvFO?LlQv_1&X1G$ zMsBcvA-}sLrR7-hjlAPq!)FKRVRFw1I1Uao>z2JmNy*bl6Hq6dGlwyEDeh0Q1 zNFXo0aq}p9EJPk18AU`0aqK0FMEs2;s9ylEsO0U~&3(UutA5|JmNiS)>WZMRtTT4y z91;^*P+4$PA_zK^ho@>rOwvaGVgMlfA_G2gDD7kkHhk6~5=%=UQT>txikXYfmoqiZ zosfQuEMbn8AUwuJvOM3&DJa`cV=&f9vbpX3iT2*)1<vMG zH<&#J(zeLE|NfekCAj#r9tW)Pyh;|ig@{P$(idlD_5b3nCn6cb*5j1^M)Ep(%68Gfg;Q?wW&<`N zy_+W5xm-EU33r>ia^(H&tWo8n45UnBS-c(RcZp*5t%TU@xk|k&+JAUj&0SU5IbxOP zB0dzrWtoWE+*uNa7{xnjN;+j(TPv@GUFT?xFz*ZR7puBcH*mzYRa7Jo8>vaX2DlVg ze4Sq`J*>~AaSgl3RYiC6ti%7|U)(M1UfRpm76lVCfqyO-pTAb?JOmy>luuX~u(tvlx zAORxY7irWCVZm&z%t;=u)cjU+28 z?sw&>@$Jgyg2eHKjNr2W$>owJqoi`QJ#FN-)TO4yA@q2W&yy0z+WA~am`T>>QF>NR zX=&L?W^+rrpx)#QHtQ|70nT@g8v#1&+sGPC6=G+S>Z}yzc7+DB2>9oH2L`>sr`VU4 zYhUik`m73N!Xp>m!39E#`AJ|>dC|F?K^eHW(I$*tIjKhbFw2npLX^)2EWG2#;t>$b z@lNei9td2PDw(3kcFmgVKhou<1#Q zuu%+w>@g$xZyHhuh=$mmZ;t=rStuCvipr@^1=8jK-4ovQow9tRNql1U1GQ5B4SS)88X?Cp{;>{YgF(-iIORyPtLNA zj>4q-U_jnVsCaiH(Y#ia+TzB^QO}=?7x@ysAj#ly#M%|tmo_E*kZdlSgM^(kc1wv!Ah@wgIE{(X&%ga#+myiU+Tf!d>yQJfd7;7O2;0>nd*5}o*KLR zBE7$rt5dGnru3a<78G(OdOLD|4ikC039kDzsXhK|1R5#bc%uZSIYF5Beb z*NoRsZ!_tqf*Z5%`quu)xUGHt$*c6^E?fM9Lpa!XSc54ClW$~N5JPhwNGFrd^uIf8 zauRfHWv(8lo~^DlC*WD--_d@wuexY{4YXYQpUOAgeD~kS&fil^xztn`<|6asSJ^ja z?NqLzQ^+@ADoUFz+KXB79p~39n!fp{i>j(6jW{RBxh(z{5OBI|Q)Tg<=Ii(t2Cf2Akr*KiDF%p_f*rkBddF?VhPS^iJc(?E3iuTPf2ULQOQLRO*KDI%C(r91%5S!lK+trouw8atw zw$Ckocd@@Vn+M)?a8bc(LkpZI*j;M&DLAxi=l8ph#=iH?{TiG{@w>Xl|89ou#^~(q zk~2n{NL{>7mJW(vUK#i1GRsb1PtZ7QbiW6KSw(c*Dw8N)~BBUAw- zCb1+1i;;A#EzdV(`g%&B?}Ml?$)#9KJFjMl6|-LZ2R zR@cU~)UkE%?O%vME@V4z&3F8s{ZzcVhW1QC$Cg9>;k^@Nm)qV@fSO*sY`B)cOk2Sa ze|_EHCC001^^04=EA=1VB=h?nvUV2t`m6l{la5`rZF*SAP7@-B+0*uW=qx<;*cTjt-G3=Um{!#wT z&K2;6l_#o|Ex3TpPFkHOu-buYr1n$j%u$ zXI{}E+{Rid*{83qCv}^Y)*Ta~ z>%Hlx6PZE=vGdWxx?QO%p_afP#*@uuF}Mg%y0c(IBBg^y9bXANfIyM_FW`rMng>_D zvp@p3^SPM3zIyP3IQ36c^W)=${<#nQ{^42i_DtN8Y zj))^LN$5sM49#Z|$YAu&j^J0_D%t^tCLna>AR+j^Z%KFW3Lg05KK^p=craS6rDlhA zi|8OO(E3Fblp@cJV4Q+LbG3wZ-Br-ybCa%Ja%$R3R*!2YYR#qb-e zV2c|WAW;j(zeOU44$z1+i})?`P=)neGGmbSAKsHLOM-rw__$d#?~`tX!R!JN zSp;YHh(0&Z#no>Y6da%}6#3CHaqd-xG3D((ZAfQ75hjSSu&jL7FLLo}nl_Aw;q7tS z+!uKFiHTi<<*@;5NHHohj8YcFlG+K_1Ei?|qPh0-d@JV`cPw@c)Eg{Et8c~B+Ch-* z-rhy7yr2^T4OREG#cn6%5QVqn1R9nUnNOZax|IR35cx6H*DhC6lwr!PNxnFt^LI;I zV+wdfcpA*KBL6&b3LtfRxu(jAnxBmgSN4STa?D`}V1n_Xia7+Qn&kKh!WRP@IK-N0 z%&wn`0tL_>Vy%CUT#;y{Ah8UFxl3A3DFQ<*r7ifE9I@4yR_YjZ=CcK6$)cQE1gSJJ z_ENnI4gsl0MmoYt0Z1MZm=GWoM&*qI!R1&jaWM6h5<_7n>#J^X6AmWlO#HqifM2o# z5{r6I+Qg>a!2E*AbYE#x$?58)w1uxMQAi~!=n_#!pze4j5d^~f zVf0pK$SeO#TwjYwKMb5}Dd|WcXKsj-PVs-RJxd{_*s(gtmM|@v3CdsH)@!09A0Gbx zR2Rb8X-fO}jZkAjUd8Tf3bcADDv8vbs0DCBd)yU-8@#atHPySx&CW~5tph4=_?Px^iAt-#5*stL|x z7_gVnR}<@*`j(E%)TFr;&(DPy zEG4lJ8fl?*)Rk2629_ji_IOy6YBoj@Gq02h9HHkn?P3ISgFmMFHqPB{q9R{sVcg+6 zXG^{YTsO{#yWA3e{yWmGGHSihn*T-uu+O6m*(Nr}evHbmfqVVqC zLLkzVD$n=NdLw;hf}n?&Nqvj64Ks{N{dFAC7xcLf`u(UEQrAS5F3i7c%R)rToJcBX ztz7X1*B-Qy_oq!IVg4nZJARR*73&)lF?$oK7AbQP6Ub1`skW3U>pFUEO|?Fh&?+ya zflmw~j1gL2M;DCr$ZzJ^92bmm|Bg$fs=(D686T2Sjif8okC`k87jCBy*S~##b(jis zoWok#K<(zzsprSq2BWJpd<%Md=H?Yo+KC1cG1aMzq^Y#x)Y#dUzeT(P8x528+x%q)NMbtz}6( zM*A}O|D&QFJbLu_e>@cK`adcP3=q_2k#m1;@i8F>^Qv=PYwhI!s3;s+B@6h6XZjCM zW4FotzICTSKmnRs@yD#}+e|7BngtM(1o$;2)WFU>_4%%rM)gQgau(r``nZlHgq zw|*o7TM>o$J&4#-MWA-o#%ubF|wmj%!&vr?HT zL>x|xm_1c(hjg#DkcnMCpwYx0+?0Q(i8JrwnYT@D8=aTJxT&kWo5u0b{?PvLOQD!H ztcwlP(@@^kww?Valvn+iF1CP@fIR%q%+5JRZUhoZdUgE z$kt8&$iEbaY)jmK$vsVS30PuCG;lzvSHaBn|0xGuuCc2sHWY#r9)}7Sea%9lcEY>= zgyK7;MbNvj53T6-l=`tcN~6ZVWYXsDsYaP`pjv~P?Ok+&ym+YE?0 zRT^N1d|=!B!5Jz=XCmC0I-f;yY*UsemA+ZP^U^U+?)__2*>1z)Six`HBY0mhgDx&J zNJ+EPkUOTdSLMiU>;53zFW|}9ES0`}?Kr)vX*k`UCz>Hw5O@01wM3P3JVDG_;~W|V zRU@6=*Nt4>^yt}S|4Zqga5QmkuQpb4D9TT3xJQ@|eqm&Ct}+{&wR}el->$_Ok1k?Y z)fC7J{G}f4fpYOD?erLgu;KfnwT9HJW)K z7~qqgUDoD|?8!It+7ku0=rtOBg50P%lZcODtV8CmlLR`+ymLE#KB_t}GXY*6?88RO@g2jZmO3AzFmL zYnCji`bPh^b-|8N4j3#G@%x3t*uVsQ+~PK7#p;@t9?tqbd^u`KmPa;pRw!^}4=YZO z-SQ=_4?TH;Bbt)|cCkrtKc#ZO40!QTo(8b24)X_h^z4m3kybis9nK=LgoK1p^8%t7 zK;#$Vh6-)f{+Qd)@(|r(h#3L%mtc(}u&MHcY@LL72KY&2H4Nx%o8%$S zKwJtyjw2x7_<^&alCcEQxI)JlEV%*S#)_;ly_@=!;|I7>Jcry&77_io(Ha5vJ{)AM6e77SxmxT=Qf@bKK zTK|tae>1)h|Mm3AsU_)0vHr$z7nyjjc1wBx=q^cuRT+BN3TKz_{*^*qkS?`Ln?;uy z!0u;+`klOKzYAvTJOHN~xqAvMa48)Q@d{PLNKIO#?<*yeG1h@hD5`OUd>B8NpoGA6 z=kDVt%bhQ3vqz&b!(Zr}!bzm`o_&-1@ll1rj^?b5fw{$5sI~X>fu2=ySdtkohg$YJrF1qBBpzu(N+OpZ2@B8K1jo{efmWVAr1%U_&afM`W|?Ds#|d_K5i+ zZYFlGKil_Suw3aRiZ}&&kAKV9w*?FIAi)Jya;zNrAdoef79>u}^~EcS6@Z+uuHE>s zM%+Cb<4-Tph{zLk*#MMi9X31%mNd__8s^QXWb=hJ!-v;U!zvNZtL4OhV~A`vIjY)y zv;8S=HGY7D#`!8)1J}GykZ6lSqPVSYmX- zc@#oi{X?xH&1?P1e#NI?@74o{)y`-I`ZZhBc>A;MmRj;IP&OZEj|j5~#wc&QJ0a^w zYm8WnTjmbUJ}@D{>tb9i2^O)-kc*)=0J3Ko&_)obG>BRU#4NTx%Y2P0Oro}vwstho zRG`Y$jpREiwbbVrH`AN=tWFx??8;_KZF)n@9sM`P5-0%XN8a?d^>X~p^FQupA3Wup z1M&{s3}h$B%s>Jjy~>VHV+WFG^wa>4X<8muD1KAcz-<5l*dalrz()Wzm&X*|Tpu1- zH|)$g&AC}pC=g+IS%O)}n+8p@Fn4j>AQt9(@1H!nL z5V%xX_8y9db8s0dWU~Oahq_G2YyocX_CQ$ zY#sJStU$3ab|Mb?P_e2PHII7|Mzt=H4uV^-YBAD-Cq*9<%tDH@5-o#5zLSn8s2;AH zTXS}xd`R5q6R<))``vY4SV40)#0(8837HDXD~Hg%TfqwDIjq1}m6@$$6`|$c&&n2M z=X#&9dPDmvhqfYae2;I4j$L7n9XGL;lJ`mRSF`(VM;GRpQyrAShEE{n{3-PuAy^!@ zz@Br+v^b38N4}xM;1XoyF7|CoINiMbhxb8;>1>V8NB$`HByP1R&|h$d$99}NTx9&o zb`+JJYg>5r$VSzYbuRs5AnmgWC_hK*c!;CW*vN|?PoC@mfvbJ^oI7Ik1jBScKQK<` zMzyfT@hu&n-#hIG8{Uit)cg^)Q+sqrSIZGVMT-bcb zbd#8H+|dgN(eaI|+PBb5_w?9YShBt5L^RUXUyUEaV*8J!MA-fLH0^JN-@0-&GC$1w zWvv@x(9Nr- z=e?XAx2rY6*v<8PvnMrt{{fWY^mcskhAkOG`JoF!(Z0zMdi`U;b1VC+6XDz78nG}; z6%aoKd&~J-Xr}<|r9WrT)z@&%@cB@P(w_dFuGS~Wut9e9U^94p$$83=!W8&3cB*7X z7+$vcxgy*ou%J1BRp-!SMmVhhU@=_T&p84u;w#6h*?0U6%85&UnS{CyAl->prJE5G zJGV_0KjdeS29>Ld@Q28g6SMh~K8de2%Ha{oOeBqoK}D;UYG=>KK!-cXacE2kB}dgp zX3D~GU$uAuvP$50P-r&a-6LzYr@w9cQ$*+qy(zEp=Z&okZD+E^42spPKsu+emTGrY zQZ}0*^Rf5o%YZM~)ii;I@FivkvOReIGHvQdR_R)Q3LmP=IanyvKcX{qCncwRT*F4w zOE0Eg-9xY+Y6Q6kqd1#`AMFRSw}!=5I~iA_kDhIhkA6Co`|Tfc>havuZ{n-3X{#W0&j0sQe1|etOb$S{o9L~s0^JK2 z0qZYaB)+FQc(P_zVDOsz(}>Gt)dtBglJcnEL$Y<~`co(qA;uskQ8Vb;h{GkKlaBX| zs2Txs!yr$ML-<+9;p#m6G|BcgxBX-Fu_*Cxjt!#=keM#=X4z&Yd}$4ur${FQ@c_ZR zOF=%uYXTM5E!5wzZncMj>fOV)G3bO-s!*nlz?cxfbj4^>ere( zmioASx*rcV)dRjPYqYT=NhZBCOp(c@(n)iZ{@=u_#S)P7;xaEIU7YK2NLmi~XAN`r zU$M&It(dp48M^1knhi^cmHq~l*jT$uuD$vg+Wz=8$!o^&MW@&}ixI4eeDyIqjF9S0 z_?nk3q{e)|zb=PxA)G+b*$MeMhwakJ0CxW@1(5wUKjj{NV^|BpzcH-i_?T;KPml{~ zP6H=#C1IKFVL^r>Pwb~QV1&B#O(n`*~^WdzyIAvO4TXH_(2wViwseD;)>cD)U z9}B5z2`&2gvd2l70pJy$BO8%py?SRPUH`Mqn~4B61M6JPc5fKDjgCy}-En%y$(^;q zyIGz!<nOun{;9wk%7QR1C7taY^BjoN zuHrPiT!VpfLJBv>0Pw4692l!jNLlz+V;TQe$XYZ$YFqMcY6GK}!cwL$2z%;%^)jaI zk*+I5IvM3-t@bI0RNYG-si=|v5_?zBoN_)1un`cz9o(Rg=ph1Myeb zl)Ci{i5ECmDWlNiI^NE;drEFdL3T*#JCP-#5rh6>{3 zAMlI==f{}p!$pz75C|ac%03ZzV7dA~_1-CYi!mq>xh#-Q^7(&bICPq1K9%lT!o@lz z@U_Kv{eRyvJzX4F+}t0@dd%YBkx4L`WUTY4q(A53t^}_)K4%iN|KdI03?V&h9yu9u zz<`YRW7xZEe;qz{CV^wl{jSG(3rcly?~e6jf=FN*&1}neY)g0G)?ce}0W50#QDY`a zaDHPN!*~C+X&%mjbwJ2m5UovUt6rNt7sxFr z_{PkxG}P9Et8LM0)6$?Ofk8DQ&G6m1RHlqVOunCVAJfyhgR|VJT1{R(y`TM?L1)8` z+IAOY=f%p48oa#X$Nx_N=mi)0ggXYLJE1WP`X&)JCITzJf_;olya|VdPuP}TSh=0f zJe`@{9hkQWtal3fW!Sc0xE88+FeHT4*=g?ZEE;5iycDEN zF*$^hyEDlB#;SH}OvX#V-sR2&x?RX26MrPwgu~!Sui&4c*4_le!YAxYFUu1$WaG)n zGKq#Qhi9D(q`$MTsd(-4eF;8KG zLV92oa$bRv(`5OmyrFM}q1uJJaNOlXDiI;QBEOCYkz47BzmjZ1U?f-YOd+kj36g%q zvc<^mapah1barCfP4Wo|YY0LRgj@-57qJO=5G5A(L|h>hG@@<3==VQb-QfE@{{Ud( zX)l1yZKCRp ztk8kv9(x%PwIbpQ(ij2_n^&DvA=i-@OKl+~**?Vkgxs4D?u3Hx;7bT=Zv$CB=$U5m z+~DlaH0`2hB#4BTl%*+3Qk11>d&j(cr@1}R?nplIMRI5FVpfD*v@@nB59q0ga5K1t za8cS+C5Mr!+)NE%$i#4btsTSh(_?vyzAyqN`;>13cXjkjV3rJ%+;e98p}LgMa;A3> zhPHZ8O}XQN6D7fDODfoVXR^n}$i;0EYq34Fdzhvvy{EyFGKf?dO%g#ZAw5~7Aq*6x z(TRyxHj%bFrOD(rAr(Yjh(tJ(!)N^{_62(g%32g-L||%4KWK5mE@259e>!OW{c#kK zR8^ufL^=|xij8+8WYA|Qn}!fCVEu=IeVaY;<9<>XKcMypz56c_IlhI#BF>^c-49|# z9^sQcEXiM|3Fta0+?07j1<~LjTxVjSmqSU7d!g{?wZ;##Baxw6QXUI*sA-Q$jfjX( za}N5F1ZY{`Npv2#5o2~_rCcF3!B+>cUIau$5JsdXs7>-$$wl&5n4;>0C#6bKqN1Xs z1`1XuS{&g&xi04^4})6Wv^>S`V!X0@lYvTL?Y@+HLok{`5QHGoAqj#Igwi4$W1%*+ zDN0{Ug=lu&z>j=pBBPdSE(FvjudO{(n^-Y(pbhC{fw?|BwZ29yStDwc7TNzl;XrrBUr6|DICq<3YqLgByRIF|CEwu8{ zQ3XRnmr1122tp!gf83PY zE24T!RGALq$8x8Q7N~xU?bkKiRU@dKb&a2W6z*QDrPB1gOqWVsFQW<2gif@aGRdMs z$3hY!5*I`#RO_7$b+zfz>gS2!~)I#jyOsjAg!1Av!lEkc1%!LK8?r z5QHHJEr=veh(ZvWttOC~!VrZ20O3rKgdsX12t+~ **Acknowledgment** diff --git a/content/guides/ros2/develop.md b/content/guides/ros2/develop.md index 7d5d77a61204..23c663cedb70 100644 --- a/content/guides/ros2/develop.md +++ b/content/guides/ros2/develop.md @@ -4,7 +4,6 @@ linkTitle: Set Up ROS 2 workspace weight: 15 keywords: ros2, robotics, docker, dockerfile, devcontainer, vscode, workspace description: Learn how to develop ROS 2 applications using a Docker based workspace and development containers. - --- ## Overview @@ -19,32 +18,32 @@ A consistent workspace simplifies managing ROS 2 projects and build artifacts ac 1. Open a terminal and clone the sample workspace repository: - ```console - $ git clone https://github.com/shakirth-anisha/docker-ros2-workspace.git - $ cd docker-ros2-workspace + ```console + $ git clone https://github.com/shakirth-anisha/docker-ros2-workspace.git + $ cd docker-ros2-workspace - ``` + ``` - Moving forward, Linux users can use the `ws_linux` folder, and macOS users can use `ws_mac`. + Moving forward, Linux users can use the `ws_linux` folder, and macOS users can use `ws_mac`. 2. Verify the workspace structure: - ```text - ws_linux/ - ├── compose.yml - ├── Dockerfile - └── src/ - ├── package1/ - └── package2/ + ```text + ws_linux/ + ├── compose.yml + ├── Dockerfile + └── src/ + ├── package1/ + └── package2/ - ws_mac/ - ├── compose.yml - ├── Dockerfile - └── src/ - ├── package1/ - └── package2/ + ws_mac/ + ├── compose.yml + ├── Dockerfile + └── src/ + ├── package1/ + └── package2/ - ``` + ``` 3. Explore the workspace layout @@ -56,35 +55,35 @@ A consistent workspace simplifies managing ROS 2 projects and build artifacts ac 1. Execute the following commands to build and start the container: - For Linux: + For Linux: - ```console - $ cd ws_linux - $ docker compose up -d - $ docker compose exec ros2 /bin/bash - ``` + ```console + $ cd ws_linux + $ docker compose up -d + $ docker compose exec ros2 /bin/bash + ``` - For macOS: + For macOS: - ```console - $ cd ws_mac - $ docker compose up -d - $ docker compose exec ros2 /bin/bash - ``` + ```console + $ cd ws_mac + $ docker compose up -d + $ docker compose exec ros2 /bin/bash + ``` - This command builds the Docker image defined in your `Dockerfile` and starts the container in the background. + This command builds the Docker image defined in your `Dockerfile` and starts the container in the background. - > [!NOTE] - > - > Building the image may take several minutes during the first run - > as the CLI pulls the base ROS 2 image and installs required dependencies. - > Subsequent starts will be significantly faster. + > [!NOTE] + > + > Building the image may take several minutes during the first run + > as the CLI pulls the base ROS 2 image and installs required dependencies. + > Subsequent starts will be significantly faster. 2. Once the container is running, execute commands inside it using `exec`: - ```console - $ docker compose exec ros2 /bin/bash - ``` + ```console + $ docker compose exec ros2 /bin/bash + ``` 3. Inside the container terminal, verify the environment: diff --git a/content/guides/ros2/run-ros2.md b/content/guides/ros2/run-ros2.md index 6004e4a60a87..60313d819f24 100644 --- a/content/guides/ros2/run-ros2.md +++ b/content/guides/ros2/run-ros2.md @@ -18,28 +18,28 @@ The fastest way to get started with ROS 2 is to use the [official Docker image]( 1. Pull and run the official ROS 2 Docker image: - ```console - $ docker run -it ros:humble - ``` + ```console + $ docker run -it ros:humble + ``` - This guide uses the Humble distribution. You can replace `humble` with another supported distribution such as `rolling`, `jazzy`, or `iron`. + This guide uses the Humble distribution. You can replace `humble` with another supported distribution such as `rolling`, `jazzy`, or `iron`. - > [!NOTE] - > - > This environment is temporary and does not maintain persistence. - > Any files you create or packages you install will be deleted once the container is stopped or removed. + > [!NOTE] + > + > This environment is temporary and does not maintain persistence. + > Any files you create or packages you install will be deleted once the container is stopped or removed. 2. Verify ROS 2 is working: - ```console - $ echo $ROS_DISTRO - ``` + ```console + $ echo $ROS_DISTRO + ``` - You should see output similar to: + You should see output similar to: - ```text - humble - ``` + ```text + humble + ``` ## Install ROS 2 packages @@ -47,15 +47,15 @@ The official ROS 2 images include core packages. To install additional packages, 1. Update the package manager: - ```console - $ sudo apt update - ``` + ```console + $ sudo apt update + ``` 2. Install the desired package: - ```console - $ sudo apt install $PACKAGE_NAME - ``` + ```console + $ sudo apt install $PACKAGE_NAME + ``` Replace `$PACKAGE_NAME` with any package you want to install. diff --git a/content/guides/ros2/turtlesim-example.md b/content/guides/ros2/turtlesim-example.md index 93dcc53245ea..fae38456c510 100644 --- a/content/guides/ros2/turtlesim-example.md +++ b/content/guides/ros2/turtlesim-example.md @@ -12,7 +12,7 @@ Turtlesim is a simple simulation tool that demonstrates fundamental ROS 2 concep --- -## Configure display forwarding +## Configure display forwarding ### Linux @@ -28,25 +28,26 @@ On macOS, use XQuartz to provide X11 support. Install XQuartz using Homebrew: 1. Install XQuartz using Homebrew: - ```console - $ brew install --cask xquartz - ``` + ```console + $ brew install --cask xquartz + ``` 2. Open XQuartz from Applications, then navigate to `Preferences > Security` and enable `Allow connections from network clients`. Restart your computer to ensure the changes take effect. 3. After rebooting, open a terminal and allow local connections: - ```console - $ defaults write org.xquartz.X11 nolisten_tcp -bool false - $ xhost +localhost - $ xhost + 127.0.0.1 - ``` + ```console + $ defaults write org.xquartz.X11 nolisten_tcp -bool false + $ xhost +localhost + $ xhost + 127.0.0.1 + ``` ## Start the container Start the container using the same Docker Compose setup from the workspace section. For Linux: + ```console $ cd ws_linux $ docker compose up -d @@ -54,6 +55,7 @@ $ docker compose exec ros2 /bin/bash ``` For macOS: + ```console $ cd ws_mac $ docker compose up -d @@ -66,21 +68,21 @@ Inside the container, install the Turtlesim package: 1. Update the package manager: - ```console - $ sudo apt update - ``` + ```console + $ sudo apt update + ``` 2. Install the Turtlesim package: - ```console - $ sudo apt install -y ros-humble-turtlesim - ``` + ```console + $ sudo apt install -y ros-humble-turtlesim + ``` 3. Run the Turtlesim node: - ```console - $ ros2 run turtlesim turtlesim_node - ``` + ```console + $ ros2 run turtlesim turtlesim_node + ``` A window should appear on your desktop showing a turtle in a grid. @@ -88,11 +90,11 @@ A window should appear on your desktop showing a turtle in a grid. 1. Open a new terminal and connect to the same container, then start the keyboard teleop node: - ```console - $ ros2 run turtlesim turtle_teleop_key - ``` + ```console + $ ros2 run turtlesim turtle_teleop_key + ``` - This node allows you to control the turtle using your keyboard. Use the arrow keys to move the turtle forward, backward, left, and right. Press `Ctrl+C` to stop the teleop node. + This node allows you to control the turtle using your keyboard. Use the arrow keys to move the turtle forward, backward, left, and right. Press `Ctrl+C` to stop the teleop node. 2. Move the turtle around the window. You should see it draw a path as it moves. @@ -100,47 +102,47 @@ A window should appear on your desktop showing a turtle in a grid. 1. Open another terminal and connect to the same container, then list all active topics: - ```console - $ ros2 topic list - ``` + ```console + $ ros2 topic list + ``` - You should see output similar to the following: + You should see output similar to the following: - ```text - /parameter_events - /rosout - /turtle1/cmd_vel - /turtle1/color_sensor - /turtle1/pose - ``` + ```text + /parameter_events + /rosout + /turtle1/cmd_vel + /turtle1/color_sensor + /turtle1/pose + ``` 2. Get information about a specific topic: - ```console - $ ros2 topic info /turtle1/pose - ``` + ```console + $ ros2 topic info /turtle1/pose + ``` - You'll see the topic type and which nodes publish and subscribe to it. + You'll see the topic type and which nodes publish and subscribe to it. ## Visualize the system with rqt 1. Open another terminal and connect to the same container, then update the package manager: - ```console - $ sudo apt update - ``` + ```console + $ sudo apt update + ``` 2. Install rqt: - ```console - $ sudo apt install -y 'ros-humble-rqt*' - ``` + ```console + $ sudo apt install -y 'ros-humble-rqt*' + ``` 3. Start rqt: - ```console - $ ros2 run rqt_gui rqt_gui - ``` + ```console + $ ros2 run rqt_gui rqt_gui + ``` An rqt window should appear. rqt provides several useful plugins for visualizing and monitoring ROS 2 systems. @@ -158,7 +160,7 @@ You can call services from rqt using **Plugins > Services > Service Caller**. Se ### Plots -To plot topic data over time navigate to **Plugins > Visualization > Plot**. For example, in the Plot window, type `/turtle1/pose/x` in the Topic field and press Enter. Move the turtle and watch the X position displayed as a graph over time. +To plot topic data over time navigate to **Plugins > Visualization > Plot**. For example, in the Plot window, type `/turtle1/pose/x` in the Topic field and press Enter. Move the turtle and watch the X position displayed as a graph over time. ## Call ROS 2 services @@ -166,67 +168,67 @@ Turtlesim provides services for actions such as repositioning the turtle and cle 1. List available services: - ```console - $ ros2 service list - ``` + ```console + $ ros2 service list + ``` - You should see services such as `/turtle1/set_pen` (to change pen color and width), `/turtle1/teleport_absolute` (to move the turtle to a specific position), and `/turtle1/teleport_relative` (to move the turtle relative to its current position). + You should see services such as `/turtle1/set_pen` (to change pen color and width), `/turtle1/teleport_absolute` (to move the turtle to a specific position), and `/turtle1/teleport_relative` (to move the turtle relative to its current position). 2. Teleport the turtle to a new position: - ```console - $ ros2 service call /turtle1/teleport_absolute turtlesim/srv/TeleportAbsolute " - x: 1.0 - y: 3.0 - theta: 0.0 - " - ``` + ```console + $ ros2 service call /turtle1/teleport_absolute turtlesim/srv/TeleportAbsolute " + x: 1.0 + y: 3.0 + theta: 0.0 + " + ``` - The turtle should instantly move to the specified position (1.0, 3.0). + The turtle should instantly move to the specified position (1.0, 3.0). ## Create a simple publisher 1. Create a Python script that publishes velocity commands to control the turtle programmatically. In a new terminal, create a file called `move_turtle.py`: - ```python - import rclpy - from geometry_msgs.msg import Twist - import time - - def main(): - rclpy.init() - node = rclpy.create_node('turtle_mover') - publisher = node.create_publisher(Twist, 'turtle1/cmd_vel', 10) - - # Create a twist message - msg = Twist() - msg.linear.x = 2.0 # Move forward at 2 m/s - msg.angular.z = 1.0 # Rotate at 1 rad/s - - # Publish the message - for i in range(50): - publisher.publish(msg) - time.sleep(0.1) - - # Stop the turtle - msg.linear.x = 0.0 - msg.angular.z = 0.0 - publisher.publish(msg) - - node.destroy_node() - rclpy.shutdown() - - if __name__ == '__main__': - main() - ``` + ```python + import rclpy + from geometry_msgs.msg import Twist + import time + + def main(): + rclpy.init() + node = rclpy.create_node('turtle_mover') + publisher = node.create_publisher(Twist, 'turtle1/cmd_vel', 10) + + # Create a twist message + msg = Twist() + msg.linear.x = 2.0 # Move forward at 2 m/s + msg.angular.z = 1.0 # Rotate at 1 rad/s + + # Publish the message + for i in range(50): + publisher.publish(msg) + time.sleep(0.1) + + # Stop the turtle + msg.linear.x = 0.0 + msg.angular.z = 0.0 + publisher.publish(msg) + + node.destroy_node() + rclpy.shutdown() + + if __name__ == '__main__': + main() + ``` 2. Run the script: - ```console - $ python3 move_turtle.py - ``` + ```console + $ python3 move_turtle.py + ``` - The turtle should move in a circular motion for 5 seconds and then stop. + The turtle should move in a circular motion for 5 seconds and then stop. ## Summary