/ Модель

Характеристики

Лицензия
Apache 2.0
Опубликована
4 сен 2026

microduck-3d-bipedal-teleop

Языковая модельИзображение, текст → action

Набор ONNX-политик PPO для управления походкой, движениями и телеоперацией 14-степенного двуногого робота MicroDuck.

541скачиваний за 30 дней0лайковвеса обновлены5 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

MicroDuck 14-DOF Bipedal & Skating — набор ONNX-политик управления двуногим роботом MicroDuck, разработанный hwihwalab. Модель предназначена для управления походкой, стойкой, переходом между положениями, подбором предметов с пола, кувырком, ударом по мячу и движением на роликах; политики работают в цикле 50 Гц и рассчитаны на использование с симулятором MuJoCo и веб-интерфейсом телеоперации Three.js.

Политики используют обучение с подкреплением PPO и представляют собой актор-критик для робота с 14 степенями свободы и сервоприводами Dynamixel XL330-M6. Вход — 61-мерное наблюдение о состоянии робота и 13-мерная команда, выход — целевые действия для суставов. В наборе заявлены девять ONNX-политик, динамическое моделирование приводов и задержек связи для переноса из симуляции на реальное устройство. README на английском и корейском языках; лицензия Apache-2.0.

Для запуска нужны совместимые ONNX Runtime и робот либо симулятор с ожидаемой кинематикой и форматом наблюдений. Поведение и надёжность при реальном исполнении зависят от аппаратной конфигурации, настройки приводов и соответствия симуляции роботу.

Сценарии применения

  • управление ходьбой и стойкой двуногого робота
  • перевод робота между положениями стоя и сидя
  • управление подбором предметов с пола
  • управление ударом по мячу и кувырком
  • телеоперация робота в симуляторе MuJoCo
  • проверка политик sim-to-real на Dynamixel XL330-M6

Ограничения

Политики рассчитаны на кинематику MicroDuck с 14 степенями свободы и соответствующее представление наблюдений и команд; для реального робота требуется согласование модели приводов и оборудования. Заявленная совместимость с sim-to-real сама по себе не гарантирует устойчивую работу на любой аппаратной конфигурации.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

🦆 MicroDuck 14-DOF Bipedal & Skating // Live 3D Teleoperation Cockpit & Physical AI Benchmark

Language: English Language: 한국어 Hugging Face Models Physical AI: Embodied RL Framework: RSL--RL Physics: MuJoCo 3.x Actuator: BAM XL330-M6 Inference: ONNX Runtime Control: 50 Hz Digital Twin: WebGL 3D License: Apache-2.0 Python: 3.12+

High-Precision 14-DOF Bipedal & Skating Duck Robot Reinforcement Learning Policies, Sim-to-Real BAM Actuator Dynamics, 50Hz Teleoperation Dataset, and Interactive Three.js WebGL Real-time 3D Teleoperation Cockpit.
🌐 English Documentation | 🇰🇷 한국어 매뉴얼

[!TIP] 🎮 Real-time 3D Web Teleoperation Space: 🤗 hwihwalab/microduck-3d-bipedal-teleop
📦 Official Model Hub: 🤗 hwihwalab/microduck-3d-bipedal-teleop
💻 Local Execution: Single-click launch via .\run_web.ps1 (Standalone Web 3D App) or .\run_simulator.ps1 (Native MuJoCo C++ Viewer).


⚡ Key Engineering Highlights & Novelties

  • BAM 1.0.1 Sim-to-Real Dynamic Solvers: Recreates realistic voltage-drop resistance, back-EMF, and non-linear Coulomb friction loss of 14x Dynamixel XL330-M6 servos running on a 2S 7.4V LiPo battery (6.5V ~ 8.2V).
  • Actuator Latency Buffering: Enforces randomized $15\text{ms} \sim 30\text{ms}$ (delay_lag = 3 ~ 6 steps) communications delay during training, preventing real-world servo chattering and high-frequency resonance.
  • Massive 196.6M Experience Scale: $4,096\text{ envs} \times 24\text{ steps} \times 2,000\text{ iterations} = \mathbf{196,608,000\text{ steps}}$, equivalent to 1,092 hours (over 45 days) of bipedal walking compressed into ~35 minutes on massively parallel GPU cluster.
  • Dual-Track Operational Architecture:
    • Track 1️⃣ (Web 3D Cockpit): FastAPI + WebSockets (40 Hz telemetry) + Three.js WebGL binary mesh streaming directly from compiled MuJoCo memory buffers.
    • Track 2️⃣ (C++ Native Simulator): MuJoCo 3.12 passive OpenGL viewer with a single-line live terminal HUD (msvcrt Windows polling).
  • 3-Speed Gait Transmission: On-the-fly velocity limit switching (SLOW 0.10 / NORM 0.20 / TURBO 0.35 m/s).
  • Real-Time Dual Ankle Ground Contact Sensing: Continuous 50 Hz Z-coordinate tracking of left & right foot contact states (● STANCE vs ○ SWING).

🏛️ System Architecture & Real-Time Dataflow

The system connects the 50Hz ONNX Reinforcement Learning Policy Loop, MuJoCo BAM Sim-to-Real Actuator Dynamics, and the Three.js WebGL 3D Digital Twin Cockpit into an ultra-low-latency real-time pipeline:

flowchart TD
    subgraph Client_Layer ["1️⃣ Live 3D Web Teleoperation Cockpit (Three.js WebGL)"]
        UI1["Three.js 3D Duck Mesh Renderer"]
        UI2["Real-Time HUD Telemetry (Velocities, Gear, Dual Foot Contact, Power)"]
        UI3["Interactive Teleoperation Controls (Keyboard Shortcuts & 3-Speed Gear)"]
    end

    subgraph Server_Layer ["2️⃣ High-Throughput Streaming Server (FastAPI)"]
        WS["WebSocket Bidirectional Channel (/ws/teleop @ 50Hz)"]
        SRV["Telemetry Serializer & Command Dispatcher"]
    end

    subgraph AI_Engine ["3️⃣ Physical AI Policy Inference Engine (ONNX Runtime)"]
        OBS["61D Unified Observation Vector Builder"]
        POL["9 Core ONNX Reinforcement Learning Policies (50Hz Loop)"]
        ACT["14D Target Servo Positions (Default Pose + Action Scaling)"]
    end

    subgraph Physics_Layer ["4️⃣ Sim-to-Real Physics Engine (MuJoCo 3.12 & BAM)"]
        MJ["MuJoCo 200Hz Multibody Dynamics Solver (dt=0.005s)"]
        BAM["BAM 1.0.1 Dynamixel XL330-M6 Voltage-Drop & Friction Model"]
        SEN["Left & Right Ankle Ground Contact & Battery Power Sensor"]
    end

    subgraph Dataset_Pipeline ["5️⃣ 50Hz Teleoperation Dataset Pipeline"]
        LOG["High-Precision 50Hz Telemetry Stream Logger"]
        PQ["train.parquet (50 Episodes / 12,500 Timesteps)"]
    end

    UI3 -->|"Control Commands (Twist, Posture Flags)"| WS
    WS --> SRV
    SRV --> OBS
    OBS -->|"61D State Vector"| POL
    POL -->|"14D Joint Action Offsets"| ACT
    ACT -->|"14 Servo Target Positions"| BAM
    BAM -->|"Simulated Motor Torques & Voltage Sag"| MJ
    MJ --> SEN
    SEN -->|"State Feedback (Gyro, Joint Pos/Vel, Foot Contact)"| OBS
    SEN -->|"50Hz Live Telemetry Data Packet"| SRV
    SRV -->|"JSON Broadcast Stream"| WS
    WS --> UI1 & UI2
    SEN & ACT --> LOG --> PQ

📁 Repository Contents

  • microduck-3d-bipedal-teleop.zip: Standalone One-Click 3D Web Cockpit & Simulator Production Archive (47.2 MB ⬇️ Direct Download).
  • README.md: Official Model Card & 14-DOF Bipedal Locomotion Research Specifications.
  • README_KR.md: Comprehensive Korean Manual & Teleoperation Guide.
  • experiment_results.json: 4,096 Parallel Environments Training Metrics & Benchmark Results.
  • checkpoints/model_final.pt: 2,000 PPO Iterations (196.6M Timesteps) PyTorch Actor-Critic Weights.
  • policies/: 9 Core 50Hz ONNX Policy Weights (alpha_walking, alpha_stand, alpha_sitstand, alpha_ground_pick, roulade, ball_kick_left/right, roller, roller_crouch).
  • LICENSE: Apache-2.0 License.

🐍 Quickstart: Python ONNX Standalone Inference

You can run any of the 9 policy ONNX models directly with onnxruntime and numpy:

import onnxruntime as ort
import numpy as np

# 1. Load the 14-DOF Bipedal Walking ONNX Policy
session = ort.InferenceSession("policies/alpha_walking.onnx")
input_name = session.get_inputs()[0].name  # 'obs'

# 2. Construct the 61-dimensional Unified Observation Vector (Batch Size = 1)
obs = np.zeros((1, 61), dtype=np.float32)

# Example: Command forward walking at 0.20 m/s (NORM gear)
obs[0, 3:6] = [0.0, 0.0, -1.0]  # Projected gravity vector (pointing down)
obs[0, 48]  = 0.20             # cmd_vx = 0.20 m/s
obs[0, 49]  = 0.00             # cmd_vy = 0.00 m/s
obs[0, 50]  = 0.00             # cmd_wz = 0.00 rad/s

# 3. Compute 50 Hz Target Joint Action Offsets (14D)
action = session.run(None, {input_name: obs})[0]
print("Computed 14D Action Offsets (rad):", action.squeeze())

# 4. Decode to physical Dynamixel Motor Positions
DEFAULT_POSE = np.array([
    0.0, -0.0873, -0.4579, -0.0049,  0.4530,  # Left Leg:  yaw, roll, pitch, knee, ankle
    0.3491,  0.3491,  0.0,     0.0,            # Neck/Head: neck_pitch, head_pitch, head_yaw, head_roll
    0.0,  0.0873,  0.4579,  0.0049, -0.4530   # Right Leg: yaw, roll, pitch, knee, ankle
], dtype=np.float32)

ACTION_SCALE = 0.25
target_motor_positions = DEFAULT_POSE + (action.squeeze() * ACTION_SCALE)
print("Target Dynamixel Angles (rad):", target_motor_positions)

🦾 14-DOF Robot Kinematics & Motor ID Mapping

The MicroDuck robot features 14 high-precision Robotis Dynamixel XL330-M6 smart servos. Target actions are indexed in the following strict order:

IndexJoint NameAnatomical GroupDefault (rad)Default (deg)Physical Motor Role
0left_hip_yawLeft Leg0.00000.00°Left leg steering / yaw rotation
1left_hip_rollLeft Leg-0.0873-5.00°Left lateral abduction / adduction
2left_hip_pitchLeft Leg-0.4579-26.24°Left sagittal thigh flexion / extension
3left_kneeLeft Leg-0.0049-0.28°Left knee articulation
4left_ankleLeft Leg+0.4530+25.95°Left ankle pitch / foot sole ground contact
5neck_pitchHead & Neck+0.3491+20.00°Neck base tilt / pitch
6head_pitchHead & Neck+0.3491+20.00°Duck beak elevation / depression
7head_yawHead & Neck0.00000.00°Duck head horizontal gaze scan
8head_rollHead & Neck0.00000.00°Duck head tilt / expression
9right_hip_yawRight Leg0.00000.00°Right leg steering / yaw rotation
10right_hip_rollRight Leg+0.0873+5.00°Right lateral abduction / adduction
11right_hip_pitchRight Leg+0.4579+26.24°Right sagittal thigh flexion / extension
12right_kneeRight Leg+0.0049+0.28°Right knee articulation
13right_ankleRight Leg-0.4530-25.95°Right ankle pitch / foot sole ground contact

[!NOTE] Center of Mass (CoM) Forward Shift (STAND2 Keyframe): The trunk is intentionally pitched and shifted $\sim 5\text{mm}$ forward over the ankle rotation axis. This ensures the robot's center of mass sits securely inside the foot support polygon, preventing backward toppling without needing counterweight head drooping.


🔬 MicroDuck Sim-to-Real Research Specifications

1. 61D Unified Observation & 13D Command Vector Breakdown

All policies operate on a unified 61-dimensional state representation:

[obs_00 : obs_03] ( 3) -> Base Angular Velocity (Roll, Pitch, Yaw gyro [rad/s])
[obs_03 : obs_06] ( 3) -> Projected Gravity Vector (gx, gy, gz)
[obs_06 : obs_20] (14) -> Joint Positions Error (current_pos - DEFAULT_POSE [rad])
[obs_20 : obs_34] (14) -> Joint Velocities (14 joint angular rates [rad/s])
[obs_34 : obs_48] (14) -> Last Applied Action (t-1 action offsets)
[obs_48 : obs_61] (13) -> Unified Command Vector (Twist [3], Head [4], Body [4], Flags [2])
--------------------------------------------------------------------------------
Total Dimension = 61 float32 values
Slot RangeField NameTypeUnits / RangeDescription
00 : 03base_ang_velfloat32[3]rad/sBase angular velocity in robot frame
03 : 06projected_gravityfloat32[3]normalizedGravity vector projected to base frame
06 : 20joint_pos_errorfloat32[14]radAngle error relative to reference DEFAULT_POSE
20 : 34joint_velfloat32[14]rad/sCurrent angular velocity of 14 servo joints
34 : 48last_actionfloat32[14]offsetAction executed at control step $t-1$
48 : 51cmd_velocityfloat32[3]m/s, rad/sCommanded velocities [vx, vy, wz]
51 : 55cmd_head_posefloat32[4]radHead orientation [neck_pitch, head_pitch, head_yaw, head_roll]
55 : 59cmd_body_posefloat32[4]m, radBody offset [body_z, body_pitch, body_roll, body_yaw]
59 : 60cmd_sitstandfloat32[1]0.0 or 1.0Posture mode (0.0 = Stand, 1.0 = Sit)
60 : 61cmd_auxfloat32[1]0.0Auxiliary reserved slot

2. BAM (Better Actuator Models) Dynamic Parameters

  • Actuator Hardware: 14x Robotis Dynamixel XL330-M6
  • Nominal Battery Voltage: 7.4V (2S LiPo, operating range 6.5V ~ 8.2V)
  • Peak Torque Limit: $0.963\text{ N}\cdot\text{m}$ (stall current $\approx 1.85\text{A}$)
  • Firmware Stiffness: $K_{p,\text{fw}} = 200.0$ (internal Dynamixel PID loop modeling)
  • Actuator Communication Latency: Random delay $\tau_{\text{lag}} \in [3, 6]\text{ steps}$ ($15\text{ms} \sim 30\text{ms}$)
  • Coulomb & Viscous Friction Model:
    • stiff_solref_friction = [-50000.0, -200.0]
    • stiff_solimp_friction = [0.99, 0.9999, 0.001, 0.5, 2.0]

3. Massively Parallel RL & Domain Randomization

  • Parallel Environments: 4,096 concurrent MuJoCo instances (--env.scene.num-envs 4096)
  • Ground Friction Randomization: Uniform sampling $\mu \in [0.4, 1.25]$
  • Base Mass & Inertia Jitter: Added payload $\Delta m \in [-0.05, +0.08]\text{ kg}$
  • External Force Disturbance (Push): Impulse vector $F_{\text{push}} \in [5.0, 10.0]\text{ N}$ applied every $3 \sim 5\text{ s}$
  • Joint Backlash Simulation: Mechanical play $\delta_{\text{backlash}} \in [\pm 0.015\text{ rad}]$

4. RSL-RL PPO Training Hyperparameters

  • RL Algorithm: Proximal Policy Optimization (PPO) with Actor-Critic MLP
  • Control Frequency: 50 Hz ($\Delta t_{\text{ctrl}} = 0.02\text{s}$)
  • Physics Solver: MuJoCo 3.12 @ 200 Hz ($dt = 0.005\text{s}$, decimation = 4)
  • Actor / Critic Architecture: [512, 256, 128] MLP with ELU activations
  • Learning Rate: $1.0 \times 10^{-3}$ (adaptive decay schedule)
  • Discount Factor ($\gamma$) / GAE ($\lambda$): $\gamma = 0.99$, $\lambda = 0.95$
  • PPO Clip Ratio ($\epsilon$): $\epsilon = 0.2$
  • Entropy Regularization: $c_{\text{entropy}} = 0.01$

5. Reward Function Design & Weight Matrix

$$\mathcal{R}{\text{total}} = \sum{i} w_i \cdot r_i$$

Reward ComponentMathematical FormulationWeight ($w_i$)Objective
Linear Velocity ($v_x, v_y$)$\exp(-|v_{xy} - v_{xy}^{\text{cmd}}|^2 / \sigma_v^2)$$+1.50$Accurate forward/lateral velocity tracking
Angular Velocity ($\omega_z$)$\exp(-(\omega_z - \omega_z^{\text{cmd}})^2 / \sigma_\omega^2)$$+1.00$Precise heading and yaw rate tracking
Base Height Stability$-|z_{\text{base}} - z_{\text{target}}|^2$$-2.00$Prevent body sagging or over-extension
Base Orientation Tilt$-|g_{\text{proj}, xy}|^2$$-1.20$Maintain upright posture (minimize Roll/Pitch)
Torque & Jerk Minimization$-\sum |\tau|^2 - \sum |\Delta \tau / \Delta t|^2$$-0.002$Energy efficiency & smooth servo motions
Foot Clearance & Airtime$(t_{\text{air}} - 0.12)\cdot \mathbf{1}_{\text{contact}}$$+0.40$Dynamic foot lifting and natural bipedal stepping
Joint Limit Penalty$-\sum \max(0,q_j- q_j^{\text{limit}})^2$

6. 3-Speed Locomotion Benchmarks & Evaluation

Metric \ Speed Gear🟢 SLOW Gear (1)🟡 NORM Gear (2)🔴 TURBO Gear (3)
Target Velocity ($v_x^{\text{cmd}}$)0.10 m/s0.20 m/s0.35 m/s
Velocity Tracking RMSE$\mathbf{0.009\text{ m/s}}$$\mathbf{0.016\text{ m/s}}$$\mathbf{0.031\text{ m/s}}$
Bipedal Balance Success Rate100.0%100.0%100.0%
Average Power Consumption4.2 W6.4 W11.4 W
Ground Contact Ratio (Duty Factor)64.2%56.8%48.5%

🧠 Included 9 Core ONNX Reinforcement Learning Policies

All policies operate on the unified 61D observation vector and output 14D action offsets:

Policy FilenameTask DescriptionInput ShapeOutput ShapeRecovery Mechanism
alpha_walking.onnxOmnidirectional velocity-tracking walking (0.05 ~ 0.35 m/s)[1, 61][1, 14]Continuous closed-loop
alpha_stand.onnxIn-place zero-velocity standing balance & perturbation rejection[1, 61][1, 14]Continuous closed-loop
alpha_sitstand.onnxUnified posture transition (Sit ↔ Stand on flag flip)[1, 61][1, 14]Smooth 2.0s posture glide
alpha_ground_pick.onnxDynamic forward bending to peck/pick ground with beak and stand up[1, 61][1, 14]4.0s phase-encoded cycle
roulade.onnxForward 360° tumbling roll acrobatics & self-righting standup[1, 61][1, 14]2.0s automatic return
ball_kick_left.onnxDynamic single-leg balance and left-foot soccer shoot[1, 61][1, 14]3.0s automatic return
ball_kick_right.onnxDynamic single-leg balance and right-foot soccer shoot[1, 61][1, 14]3.0s automatic return
roller.onnxRoller-skating locomotion and steering[1, 61][1, 14]Continuous closed-loop
roller_crouch.onnxLow-profile crouching glide on roller skates[1, 61][1, 14]Continuous closed-loop

📊 Teleoperation Dataset & Imitation Learning Architecture

High-frequency 50Hz teleoperation telemetry generated in the MicroDuck simulation environment follows standard Parquet time-series schemas optimized for Imitation Learning and offline RL:

Telemetry Dataset Features:

  • 50Hz Synchronized Time-Series: Full 61D observation vectors, 14D target motor actions, linear/angular velocities, dual-foot contact status, and BAM battery power metrics.
  • Physical AI Benchmark Compatibility: Behavioral Cloning (BC), Action Chunking with Transformers (ACT), and Diffusion Policy for Robotics.
  • Refer to the Sim-to-Real Research Specifications section above for full tensor and entity breakdown.

🕹️ Teleoperation & Unified Keyboard Shortcuts

KeyAction (Bipedal Mode)Action (Skating Mode)Description
↑ / ↓Forward / BackwardInline Glide Fwd / BackWalk / Skate forward acceleration & backward deceleration
← / →Strafe Left / RightBanking Carve L / RLateral side-step gliding / Carving turn steering
A / DTurn Left / RightBanking Steer L / RHeading yaw rotational velocity
1 / 2 / 33-Speed Gait Gear3-Speed Skating Gear1: SLOW (0.10m/s) | 2: NORM (0.20m/s) | 3: TURBO (0.35m/s)
SPACEStop (Brake)Sharp Edge BrakeReset all velocity commands to zero for immediate balance
S🪑 Sit ↔ Stand💨 Aerodynamic GlideToggle sitting/standing or trigger 2.2s crouch glide
R🤸 Forward Roll (Roulade)✨ 360° Figure Spin360° tumbling acrobatics or figure pirouette spin
P / G🌾 Ground Pick🛼 S-Carving SlalomDuck beak ground pecking or dynamic rhythmic carving
Q / E⚽ Kick Left / Right⚡ Turbo / 🌪️ DriftSoccer ball kick or high-speed turbo dash / wide power drift
B⚽ Reset Ball⚽ Reset BallTeleport soccer ball 22cm in front of robot
F⚡ Force Push⚡ Force PushInject random physical perturbation impulse for stability tests
M🔄 Locomotion Mode Toggle🔄 Locomotion Mode ToggleInstant switch between Classic Bipedal and Roller Skating
U🤖 Autonomous Showcase🤖 Autonomous ShowcaseToggle multi-stage autonomous choreography routine
T⏸️ Pause / Resume⏸️ Pause / ResumePause / resume policy inference loop
ESC / X❌ Quit❌ QuitClean shutdown of simulation runtime

🚀 Quickstart & One-Click Launchers

# 1. Launch Standalone Web 3D Teleoperation Cockpit (Recommended)
.\run_web.ps1
# (or double-click run_web.bat)

# 2. Launch Native C++ MuJoCo Physics Viewer
.\run_simulator.ps1
# (or double-click run_simulator.bat)

# 3. Launch Roller-Skating Simulator
.\run_rollers.ps1
# (or double-click run_rollers.bat)

🌐 Official Project Links



🎮 Dual-Mode Locomotion & Autonomous Showcase Pipelines

The system seamlessly switches between Classic Bipedal Walking and High-Speed Roller Skating on the fly with zero physics discontinuity:

stateDiagram-v2
    [*] --> BipedalMode: Default Stand
    BipedalMode --> RollerMode: Press 'M' (Toggle Mode)
    RollerMode --> BipedalMode: Press 'M' (Toggle Mode)
    
    state BipedalMode {
        [*] --> Warmup
        Warmup --> PatrolWander: Balance Locked
        PatrolWander --> GroundPeck: 5.5s
        GroundPeck --> DiscoverBall: 3.5s
        DiscoverBall --> ApproachShoot: Soccer Target
        ApproachShoot --> GoalCelebration: Dynamic Kick
        GoalCelebration --> PoliteRest: 360° Roulade
        PoliteRest --> Standup: Smooth Stand
    }
    
    state RollerMode {
        [*] --> TurboDash
        TurboDash --> AeroGlide: 0.55 m/s (5.0s)
        AeroGlide --> FigureSpin: 2.2s Crouch
        FigureSpin --> RhythmCarving: 360° Pirouette
        RhythmCarving --> CircleDrift: S-Curves
        CircleDrift --> EdgeBrake: Wide Orbit
        EdgeBrake --> TurboDash: Crisp Standstill
    }

1. 🛼 High-Speed Roller-Skating FSM Pipeline (Auto Demo)

  • Stage 1 (Turbo Dash): High-speed forward propulsion reaching $\mathbf{0.55\text{ m/s}}$ with soft arena boundary steering.
  • Stage 2 (Aero Glide): Aerodynamic low-profile crouch glide ($0.45\text{ m/s}$) utilizing passive rolling wheel momentum.
  • Stage 3 (Figure Spin): Continuous graceful 360° pirouette spin around vertical yaw axis ($0.85\text{ rad/s}$).
  • Stage 4 (S-Carving Slalom): Sinusoidal edge carving transitions mimicking slalom roller maneuvers.
  • Stage 5 (Wide Orbit Drift): High-speed circular sweep power drift towards center arena ($0.38\text{ m/s}$).
  • Stage 6 (Edge Brake): Rapid deceleration to crisp standstill finish pose.

2. 🦆 Bipedal Multi-Behavior Soccer & Acrobatics Loop (Auto Demo)

  • Wander & Patrol: Smooth sinusoidal wandering stroll with head scan ($0.28\text{ m/s}$).
  • Ground Peck: Precision trunk flexion to touch ground with beak and recover posture ($4.0\text{s}$).
  • Dynamic Soccer Shoot: Autonomous ball detection, orientation alignment, and alternating single-leg kicking ($1.6\text{s}$).
  • Goal Celebration Roulade: Forward 360° tumbling roll acrobatics with automatic self-righting ($2.0\text{s}$).
  • Polite Rest: Smooth transition to ground sitting posture and automatic standup.

🏟️ 120m Cyber Dual Arena & High-Precision Digital Twin

The Three.js WebGL digital twin cockpit features a high-performance 120-meter Expansive Cyber Arena designed for high-speed skating and bipedal agility testing:

  • Dual Mega Grid: Fine sub-grid ($0.5\text{m}$ interval, $240\times 240$ cells) overlaying a major structural grid ($5.0\text{m}$ interval, $24\times 24$ cells).
  • Concentric Neon Speed Rings:
    • 1.0m Center Target Ring (Cyan Glow #38bdf8)
    • 3.0m Inner Carving Ring (Teal #06b6d4)
    • 5.0m Rink Perimeter Ring (Sky Blue #0284c7)
    • 8.0m Outer Boundary Speed Ring (Navy #1e3a5f)
  • Native C++ Parity: Direct streaming of binary compiled MuJoCo mesh buffers ensuring 100% geometric and kinematic fidelity.

📄 License

This project is distributed under the Apache-2.0 License. See the LICENSE file for complete details.


Developed and deployed with MicroDuck & MuJoCo 3D Teleoperation by Hwihwa Lab.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели для роботов не запускаются как сервис инференса.

Ревизия весов
db56a43

0 моделей