๐ฆ connect-ai : Microduck Bipedal Robot Reinforcement Learning Policies
๐ฌ Preview Demonstration (Direct MuJoCo Simulation Showcase)
๐ Preview Video Actions Timeline (์์ ์ 5๋ ์๋ฎฌ๋ ์ด์ ๋์ ์์)
- [0:00 ~ 0:03] ๐ถ Omnidirectional Walking: ์ ์ง ๊ฑท๊ธฐ, ๊ฐ์ ๋ฐ ๋ฐฉํฅ ์ ํ ๋ณดํ (Velocity Tracking @ 50 Hz)
- [0:03 ~ 0:06] โฝ Dynamic Ball Kick: ์ผ๋ฐ์ ๋ค์ด ์ ๋ฐฉ์ ๊ณต์ ํ์ฐจ๊ฒ ์ํ (Precision Ball Strike)
- [0:06 ~ 0:09] ๐ Roulade (Forward Roll): ์์ผ๋ก 360๋ ํ์ ๊ตฌ๋ฅด๊ธฐ ํ ๋ ๋ฐ๋ก ์๋ฒฝ ์ฐฉ์ง
- [0:09 ~ 0:12] ๐ฆ Ground Pick: ๋ถ๋ฆฌ๋ก ๋ฐ๋ฅ์ ์ ํํ ํฐ์นํ ํ ์ง๋ฆฝ ๋ณต๊ท (Phase-Coordinated Crouch)
- [0:12 ~ 0:16] ๐ช Smooth Sit โ Stand: ๋ถ๋๋ฝ๊ฒ ์์๋ค๊ฐ ๋ค์ ์๋ ์์ธ ์ ํ ์ ์ด
๐ฆ Included ONNX Policies (policies/)
All policies adhere to a unified 61-dimensional observation contract (obs[1, 61] -> actions[1, 14]):
| Policy File | Task / Role | Description |
|---|---|---|
alpha_walking.onnx |
Velocity & Walking | Robust omnidirectional walking, acceleration, backward & strafing |
alpha_stand.onnx |
Stand & Body Control | Stable posture holding with 6-DOF trunk & head pose command tracking |
alpha_sitstand.onnx |
Sit โ Stand | Smooth sit down and stand up transitions |
ball_kick_left.onnx |
Ball Kick (Left Foot) | Dynamic ball strike with left leg |
ball_kick_right.onnx |
Ball Kick (Right Foot) | Dynamic ball strike with right leg |
roulade.onnx |
Roulade / Forward Roll | Forward roll over head with momentum-assisted standing recovery |
alpha_ground_pick.onnx |
Ground Touch / Pick | Crouch down to touch the ground with the beak and return to stand |
roller.onnx |
Roller Skating | Locomotion on passive roller skates |
roller_crouch.onnx |
Roller Crouch | Low-center crouch gliding on roller skates |
๐น๏ธ Interactive Controls (Inference Simulation)
- Arrow Keys (โ / โ / โ / โ): Walk forward, backward, left/right strafe
- A / E: Continuous left/right turning
- X: ๐ 180ยฐ Turn Around (U-Turn)
- SPACE: Halt / Stand Still
- P: ๐ฅ Apply Random Push Impulses (Fall recovery & impact testing)
- U / O: ๐ Instant Stand-Up Recovery
- K / L: โฝ Kick with Left / Right foot
- C: โฝ Reset ball to scene center
(0, 0) - R: ๐ Forward roll (Roulade)
- Y: ๐ช Sit down / Stand up toggle
๐ Quick Start & Deployment
1. Run inference directly with MuJoCo:
python scripts/infer_policy.py \
--walking policies/alpha_walking.onnx \
--standing policies/alpha_stand.onnx \
--sitstand policies/alpha_sitstand.onnx \
--kick-left policies/ball_kick_left.onnx \
--kick-right policies/ball_kick_right.onnx \
--roulade policies/roulade.onnx \
--new-cmd-obs
2. Observation Contract (61D Vector)
[0:3]: Base angular velocity (gyroscope, rad/s)[3:6]: Projected gravity vectorR^T * [0, 0, -1][6:20]: Joint positions relative to default standing pose (14 DOF)[20:34]: Joint velocities (14 DOF)[34:48]: Previous action history (14 DOF)[48:61]: 13D Command Vector:[vx, vy, vyaw (3), head_pose (4), body_pose (6)]
๐ License & Credits
- Project: connect-ai Microduck RL
- Base Architecture: Pollen Robotics Microduck & microduck_rl
- License: Apache-2.0