๐Ÿฆ† MicroDuck 14-DOF Bipedal // 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 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 | ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด ๋งค๋‰ด์–ผ

๐ŸŽฎ 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).

MicroDuck 14-DOF Bipedal Walking Simulation

Figure 1-A: 14-DOF Bipedal Walking Locomotion (50Hz ONNX / BAM 7.4V)

MicroDuck 14-DOF Roller Skating Simulation

Figure 1-B: High-Speed Roller-Skating & Gliding on Passive Wheels


โšก 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 (28.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:

Index Joint Name Anatomical Group Default (rad) Default (deg) Physical Motor Role
0 left_hip_yaw Left Leg 0.0000 0.00ยฐ Left leg steering / yaw rotation
1 left_hip_roll Left Leg -0.0873 -5.00ยฐ Left lateral abduction / adduction
2 left_hip_pitch Left Leg -0.4579 -26.24ยฐ Left sagittal thigh flexion / extension
3 left_knee Left Leg -0.0049 -0.28ยฐ Left knee articulation
4 left_ankle Left Leg +0.4530 +25.95ยฐ Left ankle pitch / foot sole ground contact
5 neck_pitch Head & Neck +0.3491 +20.00ยฐ Neck base tilt / pitch
6 head_pitch Head & Neck +0.3491 +20.00ยฐ Duck beak elevation / depression
7 head_yaw Head & Neck 0.0000 0.00ยฐ Duck head horizontal gaze scan
8 head_roll Head & Neck 0.0000 0.00ยฐ Duck head tilt / expression
9 right_hip_yaw Right Leg 0.0000 0.00ยฐ Right leg steering / yaw rotation
10 right_hip_roll Right Leg +0.0873 +5.00ยฐ Right lateral abduction / adduction
11 right_hip_pitch Right Leg +0.4579 +26.24ยฐ Right sagittal thigh flexion / extension
12 right_knee Right Leg +0.0049 +0.28ยฐ Right knee articulation
13 right_ankle Right Leg -0.4530 -25.95ยฐ Right ankle pitch / foot sole ground contact

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 Range Field Name Type Units / Range Description
00 : 03 base_ang_vel float32[3] rad/s Base angular velocity in robot frame
03 : 06 projected_gravity float32[3] normalized Gravity vector projected to base frame
06 : 20 joint_pos_error float32[14] rad Angle error relative to reference DEFAULT_POSE
20 : 34 joint_vel float32[14] rad/s Current angular velocity of 14 servo joints
34 : 48 last_action float32[14] offset Action executed at control step $t-1$
48 : 51 cmd_velocity float32[3] m/s, rad/s Commanded velocities [vx, vy, wz]
51 : 55 cmd_head_pose float32[4] rad Head orientation [neck_pitch, head_pitch, head_yaw, head_roll]
55 : 59 cmd_body_pose float32[4] m, rad Body offset [body_z, body_pitch, body_roll, body_yaw]
59 : 60 cmd_sitstand float32[1] 0.0 or 1.0 Posture mode (0.0 = Stand, 1.0 = Sit)
60 : 61 cmd_aux float32[1] 0.0 Auxiliary 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

Rtotal=โˆ‘iwiโ‹…ri\mathcal{R}_{\text{total}} = \sum_{i} w_i \cdot r_i

Reward Component Mathematical Formulation Weight ($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

MicroDuck Bipedal Research Benchmark Chart

Figure 2: Massively Parallel 4,096 Envs PPO Convergence (196.6M Transitions), 3-Speed Velocity RMSE, Stance Duty Factor, and BAM 7.4V Power Distribution ๐Ÿ” Click to view high-res

Metric \ Speed Gear ๐ŸŸข SLOW Gear (1) ๐ŸŸก NORM Gear (2) ๐Ÿ”ด TURBO Gear (3)
Target Velocity ($v_x^{\text{cmd}}$) 0.10 m/s 0.20 m/s 0.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 Rate 100.0% 100.0% 100.0%
Average Power Consumption 4.2 W 6.4 W 11.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 Filename Task Description Input Shape Output Shape Recovery Mechanism
alpha_walking.onnx Omnidirectional velocity-tracking walking (0.05 ~ 0.35 m/s) [1, 61] [1, 14] Continuous closed-loop
alpha_stand.onnx In-place zero-velocity standing balance & perturbation rejection [1, 61] [1, 14] Continuous closed-loop
alpha_sitstand.onnx Unified posture transition (Sit โ†” Stand on flag flip) [1, 61] [1, 14] Smooth 2.0s posture glide
alpha_ground_pick.onnx Dynamic forward bending to peck/pick ground with beak and stand up [1, 61] [1, 14] 4.0s phase-encoded cycle
roulade.onnx Forward 360ยฐ tumbling roll acrobatics & self-righting standup [1, 61] [1, 14] 2.0s automatic return
ball_kick_left.onnx Dynamic single-leg balance and left-foot soccer shoot [1, 61] [1, 14] 3.0s automatic return
ball_kick_right.onnx Dynamic single-leg balance and right-foot soccer shoot [1, 61] [1, 14] 3.0s automatic return
roller.onnx Roller-skating locomotion and steering [1, 61] [1, 14] Continuous closed-loop
roller_crouch.onnx Low-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

Key Action (Bipedal Mode) Action (Skating Mode) Description
โ†‘ / โ†“ Forward / Backward Inline Glide Fwd / Back Walk / Skate forward acceleration & backward deceleration
โ† / โ†’ Strafe Left / Right Banking Carve L / R Lateral side-step gliding / Carving turn steering
A / D Turn Left / Right Banking Steer L / R Heading yaw rotational velocity
1 / 2 / 3 3-Speed Gait Gear 3-Speed Skating Gear 1: SLOW (0.10m/s) | 2: NORM (0.20m/s) | 3: TURBO (0.35m/s)
SPACE Stop (Brake) Sharp Edge Brake Reset all velocity commands to zero for immediate balance
S ๐Ÿช‘ Sit โ†” Stand ๐Ÿ’จ Aerodynamic Glide Toggle sitting/standing or trigger 2.2s crouch glide
R ๐Ÿคธ Forward Roll (Roulade) โœจ 360ยฐ Figure Spin 360ยฐ tumbling acrobatics or figure pirouette spin
P / G ๐ŸŒพ Ground Pick ๐Ÿ›ผ S-Carving Slalom Duck beak ground pecking or dynamic rhythmic carving
Q / E โšฝ Kick Left / Right โšก Turbo / ๐ŸŒช๏ธ Drift Soccer ball kick or high-speed turbo dash / wide power drift
B โšฝ Reset Ball โšฝ Reset Ball Teleport soccer ball 22cm in front of robot
F โšก Force Push โšก Force Push Inject random physical perturbation impulse for stability tests
M ๐Ÿ”„ Locomotion Mode Toggle ๐Ÿ”„ Locomotion Mode Toggle Instant switch between Classic Bipedal and Roller Skating
U ๐Ÿค– Autonomous Showcase ๐Ÿค– Autonomous Showcase Toggle multi-stage autonomous choreography routine
T โธ๏ธ Pause / Resume โธ๏ธ Pause / Resume Pause / resume policy inference loop
ESC / X โŒ Quit โŒ Quit Clean 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.

Downloads last month
-
Video Preview
loading

Evaluation results