Interactive MuJoCo-based poser and crawl-gait tuner for the Unitree G1, powered by MINK IK. The entrypoint and focus of this repo is main.py.
pip3 install uv
uv sync
uv run main.py- Live IK gait tuning: place hands/feet with simple 2D pads, set lift heights, duty/phase, and symmetry; MINK solves IK at ~200 Hz.
- Camera controls: azimuth, elevation, distance.
- Import/Export: save/load compact gait configs to
output/gait_*.json. - Animation export: write 3-cycle
gait_animation.v1JSON (output/animation_*.json) withqposframes and site positions for offline playback (e.g., Isaac Sim). - Model: uses
g1_description/scene_g1_targets.xml.
- Older scripts have been moved to
scripts/. They have not been re-tested after the move and may be outdated/broken. Use at your own risk. - Some of those scripts (e.g., real control) depend on Unitree SDK2 + CycloneDDS. If you explore them, you may need something like:
export CYCLONEDDS_HOME="$HOME/cyclonedds/install"- Avoid
ttk.Entry/tk.Entrywith the MuJoCo viewer (can crash XCB). Usettk.Labeldisplays with variable traces instead. - Defer
mujoco.*calls that depend on the viewer until after the viewer is launched.main.pyfollows these patterns.
scripts/mink_g1_ik_reference.py: concise, modern Mink IK example for G1 with mocap targets. Run:
uv run scripts/mink_g1_ik_reference.py