You can interact with Reachy2 in mujoco through Reachy2's (fake) sdk!
For now this is a minimalistic re-implementation of the sdk, far from feature complete, but with enough basic fonctionnality to perform complex tasks.
Features :
- joint space control
- 6D end effector space control with goto and Reachy2's symbolic ik
- mobile base control
- access to the cameras (rgb and depth)
This is an early prototype, expect bugs :)
Using a virtual environment is advised
python3 -m venv venv
source venv/bin/activate
pip install -e .
Run the server (from the virtual environment):
$ reachy2-mujoco
Or you can also use uv
:
uv run reachy2-mujoco
Then you can use the ReachySDK as usual, just import it from reachy2_mujoco
:
from reachy2_mujoco import ReachySDK
reachy = ReachySDK("localhost")
reachy.mobile_base.goto(-1.0, 1.0, -90.0)
reachy.r_arm.shoulder.pitch.goal_position = 90.0
# target_pose = <...> # 4x4 pose matrix
# reachy.r_arm.goto(target_pose)
reachy.send_goal_positions()
reachy2_mujoco_early_demo.mp4
uv run examples/grasp_test.py
reachy2_mujoco-2025-01-17_11.39.21.mp4
reachy2_balance-2025-01-27_19.05.22.mp4
- Match mobile base behavior with real one
- Better tune the actuators to match real behavior (ideally, perform system identification)
- Check that depth is metric
- Improve performance