XRC ROS
This document describes how to setup and run the XRC ROS packages.
If you have completed the setup or are looking for running instructions, see below, "Running" section.
Setup
Raspberry Pi
- Follow instructions: https://ubuntu.com/download/raspberry-pi
- Our recommended setup consists of Raspberry Pi 4 (8 Gb) and Ubuntu 24.04 LTS (server)
- Use the Raspberry Pi Imager tool to set up your board.
ROS 2 installation
At the time of writing (spring 2025), we recommend using the ROS 2 Jazzy distribution. Follow the installation instructions for Ubuntu here: https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html
- Make sure to install the development tools.
- For our purposes, the ROS 2 base (bare bones) version is enough. Note that this does not include ROS 2 example packages.
- Don't install additional RMW implementations
After completing the above steps, verify your installation:
First, source the ROS installation
Note: We recommend adding the source statement to your~/.bashrc script for convenience.
Then, test the ros2 statement
ROS 2 environment setup
After installing ROS 2 you will set up your workspace. We recommend the following steps: * Create your workspace directory in your home directory:
Then create your src directory:
Import packages
Dynamixel SDK
Make sure you are inside your workspace src directory.
Clone the Jazzy branch of Unity's ROS-TCP-Endpoint repository.
Note that this will clone the entire Dynamixel SDK, although we will only use the contents of the ros directory.
XRC ROS
Make sure you are inside your workspace src directory.
Clone the XRC ROS repository.
Unity ROS-TCP-Endpoint
Make sure you are inside your workspace src directory.
Clone the ROS 2 branch of Unity's ROS-TCP-Endpoint repository
Building
After importing all the packages, now you will need to build your packages.
Make sure to only build in this directory, not in the src directory or elsewhere in your environment.
After building you will need to source your workspace:
Note: We recommend adding the source statement to your~/.bashrc script for convenience.
Running
ROS-TCP-Endpoint
See here for information: https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tutorials/ros_unity_integration/setup.md
XRC Motor
Open a new terminal window. Make sure to source your ROS environment and your installed packages:
In a separate terminal window, run the dynamixel_controller_node from the xrc_motor package:
For running the node for a specific motor, such as ID 7, use the following command: