This repository provides the core ROS 2 packages required to simulate, configure, and launch the Reachy 2 humanoid robot. It includes URDF descriptions, launch files, Gazebo simulation assets, and control interfaces used across real and simulated platforms.
Docker container scripts for the reachy2 setup are included in the /docker directory. Run . docker/build_docker.sh to build and . docker/run_docker.sh to run the docker.
Once inside the docker container, cd reachy_ws and build using colcon build, then source install/setup.bash.
In order to run the code with table world in gazebo, run
ros2 launch reachy_bringup reachy.launch.py start_rviz:=true start_sdk_server:=true fake:=true gazebo:=true orbbec:=false world:='simple_table.world'
ros2 launch reachy_bringup reachy.launch.py start_rviz:=true start_sdk_server:=false fake:=true gazebo:=true orbbec:=false world:='simple_table.world' moveit:=true controllers:=trajectory
In order to run with moveit, add the launch parameters moveit:=true controllers:=trajectory
The repo is structured as a multi-package ROS 2 workspace and serves as the foundation for developing and testing Reachy 2 behaviors, whether in hardware or in simulation.
-
reachy_bringup
Launch files and runtime orchestration for both real and simulated deployments. -
reachy_config
YAML-based configuration files for Reachy’s kinematics, dynamics, and URDF parameterization. -
reachy_controllers
ROS 2 control nodes for interfacing with Reachy hardware and simulated joints. -
reachy_description
Robot description files (URDF, meshes, xacro) for Reachy 2, used across simulation and visualization. -
reachy_fake
Fake interfaces for mimicking joint states and simulating Reachy's response without hardware. -
reachy_gazebo
Gazebo simulation environment for Reachy 2, including plugins and world integration. -
reachy_gazebo_gripper_glue
Bridges and constraints for integrating the gripper with Gazebo’s physics and control pipeline. -
reachy_utils
Common utility functions and shared tools used by multiple packages.
Install ROS 2 and the dependencies listed in requirements.txt and pyproject.toml. You can also use the included dependencies.sh script to install system-wide dependencies required for simulation and control.
This project is licensed under the Apache License 2.0 – see the LICENSE file for details.