Microduck ROS 2 Integration: Running Policies in MuJoCo with ROS 2
Microduck ROS 2 Integration: Running Policies in MuJoCo with ROS 2
Arjun_R announces an open-source ROS 2 integration for Pollen Robotics' Microduck biped, allowing existing policies to run in MuJoCo simulation with the real BAM actuator model. The project exposes standard ROS 2 interfaces including /cmd_vel, joint states, IMU data, TF, URDF, and head camera feeds, while supporting skills like kicks, roulade, ground pick, and sit/stand via ROS 2 services. It maintains compatibility with robot manifest rules and aims to facilitate extension with ROS 2 navigation, perception, and higher-level autonomy capabilities. The author seeks feedback from developers experienced with ROS 2/MuJoCo integrations, Microduck hardware, learned locomotion policies, or Nav2 integration for legged/humanoid robots.
This release provides an open-source ROS 2 integration for Pollen Robotics' Microduck biped, enabling policy execution in MuJoCo with verified observations and standard interfaces like /cmd_vel and Nav2 compatibility.
Source: ROS Discourse — Community updates · Read original article ↗
Article text · Original source · English
On this page
Hi everyone! ![]()
I’ve been working on bringing Microduck into the ROS 2 ecosystem, and I’m excited to share that the integration is now open source!
What does it do?
The integration allows Microduck policies to run in MuJoCo while exposing the simulated robot through standard ROS 2 interfaces.
Some of the key features include:
-
Policy execution: Runs existing policies from
microduck-policieswithout modifying the original policies. -
Actuator simulation: Uses the BAM XL330 actuator model.
-
Observation validation: Verified observations against
infer_policy.pywith an error tolerance of 1e-6. -
ROS 2 interfaces:
-
/cmd_velfor velocity commands -
Joint states
-
IMU data
-
TF and URDF
-
Head camera feed, visualized in RViz
-
-
Skill integration: Existing skills such as kicks, roulade, ground pick, and sit/stand are exposed as ROS 2 services.
-
Manifest compatibility: Skill execution follows the rules defined in the robot’s manifest, consistent with
robotdbehavior.
Why this integration?
The goal is to make Microduck easier to work with using standard ROS 2 tools and workflows, while retaining the existing policy implementations.
This also provides a foundation for extending the platform with ROS 2 navigation, perception, and higher-level autonomy capabilities.
What’s next?
I’m currently planning to integrate Nav2 and explore how the ROS 2 stack can be extended to support autonomous navigation.
Looking for feedback!
I’d particularly appreciate feedback from developers who have:
-
Worked with ROS 2 and MuJoCo integrations.
-
Experimented with Microduck or the real duck hardware.
-
Integrated learned locomotion policies with ROS 2.
-
Worked on Nav2 integration for legged or humanoid robots.
I’ve attached a short demonstration of the integration.
Would love to hear your thoughts, suggestions, and experiences. Especially interested in feedback from anyone who has tested ROS 2 with the real Microduck hardware!
Thanks! ![]()
What the source reports
Publisher-reported claims, with original evidence. These results have not been independently verified by RoboSignal.
- Environment
- SimulationOpen source S2
- paper: not_reported
Source excerpts and review record
Automatically extracted; no manual editorial approval recorded.
Hi everyone! I’ve been working on bringing Microduck into the ROS 2 ecosystem , and I’m excited to share that the integration is now open source! GitHub: GitHub - Arjunros/microduck_ros2: ROS 2 simulation, skills, Nav2 navigation and LLM/voice control for Pollen Robotics' Microduck biped, in MuJoCo with the real BAM actuator model · GitHub What does it do? The integration allows Microduck policies to run in MuJoCo wh
Open source S2
Source:ROS Discourse — Community updates · discourse.openrobotics.org