An Unreal Engine 5 plugin that runs MuJoCo physics inside the editor and runtime, pairing accurate contact dynamics with Unreal's rendering.
tenfoldpaper/multipanda_ros2
A ROS 2 Humble integration for the Franka Emika Panda arm that runs the same ros2_control controllers on real robots and in MuJoCo simulation.
- Stars
- 91
- Forks
- 43
- Open issues
- 2
- Last commit
- 10 days ago
What is it?
multipanda_ros2 ports most features of the original franka_ros to ROS 2 Humble for the Franka Emika Panda robot, building on a ros2_control framework. It supports torque, joint position, joint velocity and Cartesian control interfaces, with example controllers for each, and includes runtime error recovery and parameter setter services.
The project's main addition is a MuJoCo simulation that exposes the same interfaces as the real robot, so a controller written for hardware can run unchanged in simulation. The simulation is built as a plugin to mujoco_ros_pkg and currently depends on a fork of that package. It also supports single-arm, dual-arm and a mobile manipulator setup with two Panda arms.
The repository includes a Docker-based one-click installer as well as a manual installation guide tested on Ubuntu 22.04 with libfranka 0.9.2 and MuJoCo 3.2.0.
Key features
- 01Real-robot control interfaces for torque, joint position, joint velocity and Cartesian commands.
- 02MuJoCo simulation that accepts the same controllers as the real Panda arm.
- 03Gripper action servers in simulation with the same interface as the real gripper.
- 04Runtime error recovery for franka::ControlException without reloading controllers.
- 05Dual-arm and mobile manipulator (Garmi) launch configurations.
Use cases
- Developing and testing Panda controllers in MuJoCo before running them on hardware.
- Porting franka_ros-based robot code to ROS 2 Humble.
- Prototyping dual-arm or mobile manipulation setups with simulated Panda arms.
Quick start
- 1
Clone the repository recursively to include mujoco_ros_pkgs
git clone --recursive https://github.com/tenfoldpaper/multipanda_ros2.git - 2
Enter the cloned repository
cd multipanda_ros2 - 3
Build the docker image (takes some time)
./tools/setup_env - 4
Start the development container
./run
Things to know
- Targets ROS 2 Humble and Ubuntu 22.04 with a real-time kernel for real robot use.
- Requires a fork of mujoco_ros_pkgs rather than the original repository.
- The MuJoCo simulation requires MuJoCo 3.2.0 for the manual install path.
- The default MoveIt config depends on a deprecated warehouse package, which is a known issue.
In collections
Topics
FAQ
- What is multipanda_ros2?
- A ROS 2 Humble integration for the Franka Emika Panda arm that runs the same ros2_control controllers on real robots and in MuJoCo simulation. multipanda_ros2 ports most features of the original franka_ros to ROS 2 Humble for the Franka Emika Panda robot, building on a ros2_control framework. It supports torque, joint position, joint velocity and Cartesian control interfaces, with example controllers for each, and includes runtime error recovery and parameter setter services.
- Is multipanda_ros2 free to use? What license does it have?
- multipanda_ros2 is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is multipanda_ros2 still maintained?
- Actively maintained. The last commit to multipanda_ros2 was on Oct 28, 2026.
- What can I use multipanda_ros2 for?
- Developing and testing Panda controllers in MuJoCo before running them on hardware. Porting franka_ros-based robot code to ROS 2 Humble. Prototyping dual-arm or mobile manipulation setups with simulated Panda arms.
- How do I install multipanda_ros2?
- Clone the repository recursively to include mujoco_ros_pkgs: git clone --recursive https://github.com/tenfoldpaper/multipanda_ros2.git Enter the cloned repository: cd multipanda_ros2 Build the docker image (takes some time): ./tools/setup_env Start the development container: ./run
- Where can I get multipanda_ros2?
- The source code and installation instructions are on GitHub: https://github.com/tenfoldpaper/multipanda_ros2
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A MuJoCo-based simulation stack for the Hello Robot Stretch mobile manipulator, with joint and base control, camera and lidar data.
Open source robotics simulator with physics, 3D rendering, sensor models and a graphical interface, the latest version of Gazebo.
An open-source ROS 2 Jazzy and Gazebo Harmonic simulation stack for autonomous mobile robots, covering mapping, localization and Nav2 navigation.
A general-purpose physics engine for fast, accurate simulation of articulated bodies in contact, widely used in robotics and machine learning research.
A collection of MuJoCo-based robotics reinforcement learning environments built on the Gymnasium API.