Note: Tested on ROS2 Jazzy, but likely also supports Humble and Galactic.
This workspace is written for ROS2 and provides packages for the XR HRI project.
Note for Parasol users: ROS2 Humble is already installed on some of the computers in the lab, however, you may prefer to use your own machine.
We recommend using Ubuntu 24.04 with ROS2 Jazzy, which can be installed using these instructions.
Alternatively, ROS2 Humble can be installed natively on Ubuntu 22.04 using these instructions.
If you are using Windows, you can install Ubuntu 22.04 using Windows Subsystem for Linux and use the above instructions. You can also use a docker image such as this one which has ROS preinstalled - make sure to get the Humble version. Alternatively, this docker image also provides a graphical display in the browser for using Gazebo/Rviz - again be sure to use the Humble version.
Before starting anything, source the ROS2 setup file in each new terminal tab or window that you open. Swap jazzy
for your ROS2 distribution if necessary.
source /opt/ros/jazzy/setup.bash
Each node that you run will require you to open a new terminal tab or window.
Initialize and update the git submodules:
git submodule init
git submodule update
To build this workspace, run:
colcon build
If you'd like to only build a specific package, you can use this command:
colcon build --packages-select <package_name>
After building, run the setup file for this workspace. Do this in every terminal tab or window that you open.
source install/setup.bash
Run this before any other ROS node if you are connecting to Unity (replace the IP with your computer's IP):
ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=0.0.0.0
In Unity, before building and running your project, go to Robotics
->ROS Settings
and change the ROS IP Address
to the address of the computer that is running ROS (same as in the instruction above).
Follow the ROS tutorials for instructions on how to add a new package in either C++/CMake or Python.
Please add a README.md
file to the root of your new package describing the nodes/launch files that are available and how to run them.
If you would like to run FERL, additionally clone this repository in the src
directory of the workspace. We do not include it by default due to it's dependencies.
git clone https://github.com/imngui/ferl_ros2.git
FERL depends on TrajOpt and OpenRave which can be found and installed using the links below.