This document provides a comprehensive walkthrough of the RAS Docker environment structure and functionality. Use this guide to navigate the codebase and understand how to use the system.
.
├── apps # Contains application-specific code
│ ├── ras_robot_app # Robot controller application
│ └── ras_server_app # Server application for remote control and monitoring
├── assets # Static assets (images, 3D models, etc.)
├── configs # Configuration files for the system
│ ├── experiments # Robot experiment definitions
│ ├── lab_setup.yaml # Laboratory environment configuration
│ ├── objects.yaml # Object definitions for manipulation
│ └── ras_conf.yaml # Main RAS system configuration
├── context # Docker context files
├── repos # External repositories and dependencies
├── ros2_pkgs # ROS2 packages for robot control
│ ├── ras_bt_framework # Behavior Tree framework for task execution
│ ├── ras_core_pkgs # Core ROS2 packages for robot functionality
│ └── ras_sim # Simulation environment packages
├── scripts # Utility scripts for various tasks
└── env.sh # Environment setup script
Before starting, ensure your system has the following installed:
-
Ubuntu OS (RAS officially supports Ubuntu)
-
Git (To download the required files)
sudo apt install git
-
Docker (For running applications in containers)
sudo apt install docker.io
or
Verify Docker installation:
- run the following command to check for the
docker installation
:
docker
- run the following command to check for the
-
Nvidia Container Toolkit (If your system have nvidia GPU installed)
Check for Nvidia GPU,
nvidia-smi
If not installed, it will show versions to install the nvidia drivers.
If already have then run the following command to install nvidia container toolkit.
sudo apt-get install -y nvidia-container-toolkit
-
vcstool (For managing repositories)
python3 -m pip install vcstool
If pip is not installed:
sudo apt install python3-pip
-
Argcomplete (For auto-completing commands)
sudo apt install python3-argcomplete
-
Stable Internet Connection (Required to pull Docker images properly)
-
xArm Robotic Manipulator (With Dedicated Desktop Setup for Robot Setup)
-
Robot Hardware Connection (For Robot Desktop Setup) Use an Ethernet cable to connect the robot and your PC. Default IP of xArm:
192.168.1.111
Set Manual Ethernet IP Address:
- Go to Settings → Network → Ethernet → IPv4
- Select Manual and enter:
- IP Address:
192.168.1.78
(or any IP in the xArm's subnet) - Subnet Mask:
255.255.255.0
- IP Address:
Check connection:
ping 192.168.1.111
If packets are sent and received successfully, the connection is established.
Download the RAS Docker workspace files by running:
git clone --recursive https://github.com/ras-ros2/ras_docker
Go inside the ras_docker
folder and set up the environment:
cd ras_docker
Source the environment using the following command:
. env.sh
List available commands for the RAS Docker Interface (RDI):
ras -h
Set up the application:
ras <app> init
Note:
If the internet is unstable, this command may build the image locally. Run the following command to force pull the image from DockerHub:
ras <app> init -i
This creates the ras_server_app/ras_robot_app
folder inside the apps
directory.
Build the application:
ras <app> build
This command will build
- the necessary Docker image for the server.
- the ROS 2 workspace inside the ras_server_app/ros2_ws and ras_robot_app/ros2_ws directory. If the ROS 2 workspace is not built then run it again.
Note:
If you've downloaded new images or updated an existing one, make sure to clean the build before rebuilding:
ras <app> build --clean
Before running the , configure ras_conf.yaml
:
nano ras_docker/configs/ras_conf.yaml
Update transport settings based on your network setup:
Running on the Same Machine (Localhost)
ras:
transport:
implementation: default
file_server:
use_external: false
ip: localhost
port: 2122
mqtt:
use_external: false
ip: localhost
port: 2383
For more examples, see Network Configuration Setup README.
Start the app inside a Docker container:
ras <app> run
For more details, see Applications README.
To log into the running container:
ras <app> dev
To exit:
exit
or press Ctrl + D
.
To stop the app, use:
ras_kill
Your app is now set up and running. If you face any issues:
- Follow the troubleshooting steps provided.
- Restart your system.
- For docker troubleshooting, Docker Network and Configuration README.
- For GUI interaction, UFactory Studio README.
- Refer this RAS Server Setup README. for complete Server Setup.
- Refer this RAS Robot Setup README. for complete Server Setup.
- Refer this RAS Workspace Setup README. for complete Physical workspace Setup.
For further assistance, refer to the documentation or raise an issue on the project repository.