← Design notebook

BUILT BY AUTONOMOUS SYSTEMS · WORK IN PROGRESS

Reference robots for gyropup

Research date: 2026-10-25. All numbers carry a source URL. Where a number could not be found it is written as unknown. Where we worked a number out ourselves (from a URDF/SDF or from physics), it is labelled (derived) and the inputs are shown.

gyropup summary for context: a self-balancing wheel-legged biped like the DDT Diablo. It carries a ~1.5–2.5 kg Jetson AGX Orin 32GB / Seeed J501 box (206 × 181 × 112 mm, 12–36 V input), will be trained with RL in Isaac Sim / Isaac Lab, and will be mostly 3D printed in PLA on a Bambu P1S at first (carbon-fibre-filled filament later; SendCutSend metal / CF plate later still).


1. DDT (Direct Drive Tech) Diablo

Headline specs

Item Value Source
Size, standing (L × W × H) 540 × 371 × 491 mm top3dshop
Size, "creeping" (crouched, body down) 540 × 371 × 270 mm top3dshop
Mass 22.9 kg top3dshop
Payload 4 kg standing, 80 kg creeping RobotShop, top3dshop
Top speed 2 m/s top3dshop (other resellers say 2.4 m/s or 10 km/h; treat 2 m/s as the conservative figure)
Jump height 8 cm, no load top3dshop
Battery Li-ion, 32 V rated, 6 Ah (≈192 Wh, derived 32 × 6) top3dshop
Runtime ≈3 h standing at 25 °C; ≈4 h continuous travel in creeping mode; ≈3 h travel in standing mode (low speed); only ≈15 min standing in squatting mode top3dshop
Noise < 49 dB RobotShop
Motors 6 × DDT M1502D direct-drive joints (2 hip, 2 knee, 2 wheel) RobotShop
Compute Onboard Raspberry Pi (model not stated) in the MYBOTSHOP integration; SDK runs on "most Linux devices that support serial ports" MYBOTSHOP docs, diablo-sdk-docs
Software ROS 2 recommended (ROS 1 and plain C++ also), rviz2 + Gazebo visualisation, Python keyboard teleop diablo-sdk-docs
Price US $4,399 (special order) RobotShop

Leg kinematics: not a five-bar

The user brief guessed a five-bar leg. DDT's own Gazebo model says otherwise. In DDTRobot/DiabloSTLSDF model.sdf each leg is:

MYBOTSHOP's integration docs say the same: "two parallel-linkage legs, each ending in a single drive wheel", with a "4-bar linkage" for crouch, lean and curb-climb (MYBOTSHOP). So Diablo gets the main five-bar benefit (both heavy leg motors at the body, so the moving leg is light) from coaxial hip + knee motors and a four-bar transmission. There is no hip abduction. Each leg has 3 actuated DOF (hip, knee, wheel), 6 in total.

Masses from the SDF: body 6.72 kg; per leg Leg0 2.46 + Leg1 1.25 + Leg2 0.10 + Leg3 1.30 + wheel 1.36 kg. That totals ≈19.7 kg (derived), against 22.9 kg spec, so the SDF is approximate.

DDT's RL model (Col_DIABLO_Issac_RL diablo.urdf) replaces the linkage with an equivalent serial 2-link leg: thigh 0.14 m, shank 0.14 m, wheel radius 0.10 m (200 mm wheel). All joints have effort 27 N·m and velocity 26 rad/s, the base is 11.64 kg and the total is ≈20.9 kg (derived). Swapping a closed linkage for an equivalent serial chain in sim is a useful trick for gyropup too.

DDT M1502D motor (Diablo's joint)

Item Value Source
Voltage 24 VDC AIFIT Lab
Rated / stall torque 9.6 N·m / ≥17 N·m same
Rated / no-load speed 115 rpm / ≥200 rpm same
Kt, Kv 0.88 N·m/A, 8.3 rpm/V same
Rated / stall current ≤11.5 A / ≤21 A same
Encoder 16384 counts same
Mass 2.3 kg (another listing says 1 kg; conflict) same; Robotics Center
IP rating IP55 same
Sold separately? Yes. M1502D_133 at US $310 (sold out / backorder); M1502D_233 tyre-wheel version at US $509; Switch Science JP sells the tyre version at ¥60,500 AIFIT Lab, AIFIT Lab 233, Switch Science
Bus / protocol unknown from the product page. DDT publishes motor-driver-examples (Apache-2.0) —

Derived check: with the RL-model leg (0.14 m segments), holding a deep crouch needs about (22.9 − 2·1.36 − 2·0.1) kg · g / 2 · 0.14 m ≈ 13.7 N·m per knee. That is above the M1502D's 9.6 N·m rated torque and below its ≥17 N·m stall torque. It fits the spec sheet's ≈15 min limit in squatting mode: a direct-drive knee overheats when it holds a crouch. Lesson: an unloaded direct-drive leg is efficient when it stands straight and costly when it holds a crouch.

Open-source status of Diablo models

DDT's GitHub org (github.com/DDTRobot) has:

DDT TITA (the successor)

TITA is a wheel-legged biped with hip abduction: 4 joints per leg, 8 DOF. It can also be reconfigured: the retailer lists "two-wheeled self-balancing, two-wheeled legged, bipedal, quadruped, wheeled quadruped" configurations (top3dshop). DDT's GitHub also has a "titatit" quadruped mode (titatit_rl).

Item Value Source
Size 510 × 590 × 490 mm standing; 300 mm high creeping top3dshop
Mass 24.1 kg without battery (URDF sums to ≈27.7 kg, derived) top3dshop, TITA_Description
Payload 10 kg moving top3dshop
Speed / jump / slope 3 m/s / 30 cm (another listing: 20 cm) / 30° top3dshop
Actuators 8 "quasi-direct drive joint modules", peak 120 N·m same
Battery 43.2 V nominal; 1 h per pack; 2 hot-swap packs same
Compute NVIDIA Jetson Orin NX 16GB same
SDK ROS 2 + Zenoh same
Price US $12,999 same
Leg (from URDF) leg_1 hip abduction ±45°; leg_2 hip pitch −110°…+200°; leg_3 knee −153°…−40°; leg_4 wheel, wheel radius 0.0925 m (185 mm) TITA_Description robot.urdf (no licence file)

TITA has the richest public RL tooling of any commercial wheel-legged biped: tita_rl (MIT, ~140 stars, Isaac Gym) and DDT_Lab (Isaac Lab, D1 + TITA; no root LICENSE file found). DDT's d1_mjlab ports the same work to MuJoCo/mjlab for its D1, a wheeled quadruped.


2. Other wheel-legged robots with published design data

Ascento (ETH Zurich → Ascento Robotics)

Source: Klemm et al., "Ascento: A Two-Wheeled Jumping Robot", ICRA 2019 (arXiv 2005.11435).

Upkie (Stéphane Caron et al.; fully open source)

LimX Dynamics TRON 1 (commercial; multi-modal biped)

Interchangeable point-foot, sole and wheel feet (LimX spec).

Unitree

As of this research, Unitree's wheel-legged products are quadrupeds (Go2-W, B2-W), not bipeds. Go2-W: 18 kg, ≈45 N·m knee motor, Orin Nano / NX compute (RobotShop; reseller figures conflict). They are relevant mainly for RL technique (e.g. DreamWaQ_Go2W), not for gyropup's mechanics.

Open-source hobby / student builds

Build Leg topology Leg motors Wheel motors Size / mass Cost Links / licence Notes
Skythinker616 foc-wheel-legged-robot 2 motors per leg at the body driving a closed linkage, controlled as a "virtual leg" (VMC) + LQR whose gains are fitted against leg length 4 × 4010 gimbal BLDC, 12 V, 0.22 N·m stall, 125 g, ¥50 2 × 2804 gimbal BLDC, 0.04 N·m stall, ¥13 (direct drive) desk-top; 3S 800 mAh, 20–30 min ¥549 total (≈US $75) GitHub GPL-3.0, 1.8k stars; SolidWorks + Simscape + STM32 FOC + ESP32 Mostly 3D printed + acrylic base (solidworks README)
MuShibo Micro-Wheeled_leg-Robot small linkage leg driven by Feetech bus servos 2 × bus servos 2 × gimbal BLDC via SimpleFOC (L6234 driver, AS5600 encoders) "smallest two-wheeled-leg robot" unknown GitHub (no licence file), ~3.8k stars ESP32, MPU6050, web joystick
Venus-1 (track-tech) four-link (four-bar) leg 2 × Xiaomi CyberGear (¥499 each) 2 × DJI M2006 P36 geared + C610 90 mm PU wheels; 3 mm FR4/3240 epoxy plates; printed electronics bay ≈¥2,576 without RC GitHub GPL-3.0 Author's failure list: M2006 gearbox backlash made the body shake at the balance point; recommends a direct-drive gimbal motor for the wheel. CyberGear single-encoder needs re-zeroing at every power-up. Bought PU wheels came loose; recommends printed hubs. Yaw drift unsolved
Multivac11 wheel-legged robot five-bar: motor spacing 150 mm, thigh 150 mm, shank 270 mm, virtual leg 95.5–398 mm 4 × Unitree A1 (RS-485, 1 port per motor; 1 kHz was buggy, ran at 500 Hz) 2 × DJI M3508 (modified gearbox) 12.9 kg total; body 9.5 kg; wheel radius 75 mm unknown GitHub (no licence) Solo build, mechanics + electronics + control
RoboMaster "balance infantry" (e.g. RP_Balance) five-bar, variable leg length, VMC + LQR with K fitted against leg length unknown unknown — — RP_Balance MIT Warning: a printed part clamped under a motor deformed from heat/vibration, and a screw later went into the motor windings
scutrobotlab wheeled-legged_RL RoboMaster wheel-leg — M3508 actuator model — — GitHub MIT Isaac Sim 4.5/5.1 + Isaac Lab 2.1/2.3 + RSL-RL; sim2real still on its roadmap

No public wheel-legged biped built on hoverboard hub motors was found in this research. The web-search budget ran out before a dedicated search could be done, so treat this as "not found", not "does not exist".

Actuator price points for a gyropup-class build (reseller listings):


3. Design rules of thumb

Rules marked (derived) are our physics, checked against the reference robots above.

  1. Put the heavy leg motors at the body. Diablo does it with coaxial hip + knee motors and a four-bar (SDF). Five-bar builds put both motors on the body (Multivac11, RP_Balance, Skythinker). Ascento uses one hip motor plus a linkage (paper). Upkie carries the knee motor on the leg, which is simplest but makes the leg heavier (URDF).

    • Why five-bar: both motors push together in the downward (jump) direction, and springs can sit between the hip links (Olympus paper). Penn's direct-drive symmetric five-bar delivered "more than half again as much kinetic energy" to the body (Penn). Low leg inertia also helps the balance loop, because the wheel sees less unmodelled leg swing.
    • The RoboMaster community controls the five-bar as a single virtual leg (length + angle) with VMC, and schedules LQR gains on leg length (Skythinker MATLAB, RP_Balance).
  2. Wheel motors: direct drive.

    • Ascento chose direct-drive frameless hub motors for "almost backlash free motion" (paper).
    • Venus-1's geared M2006 wheel made the body jitter at the balance point; its author recommends gimbal motors (README).
    • Diablo, Upkie (moteus dev-kit motor) and Skythinker (2804 gimbal) all drive the wheel directly.
  3. Wheel torque (derived): peak torque per wheel ≈ (1.0–1.5) × m·g·r / 2.

    • Diablo: 2 × 17 N·m / 0.10 m ÷ (22.9 kg · g) ≈ 1.5 g of wheel traction. Upkie: 2 × 1.7 N·m / 0.056 m ÷ (5.34 kg · g) ≈ 1.2 g.
    • Holding position on a slope α needs m·g·r·sin α in total. Example: 7 kg, r = 0.08 m, 15° slope ≈ 1.4 N·m total.
    • The wheel also needs torque headroom at top speed to tip the body back. Size so the torque–speed curve still gives ≥ 0.5 × peak at v_max / r. For example, 2 m/s on a 160 mm wheel is 25 rad/s ≈ 240 rpm.
    • Diablo runs 2 m/s on a 200 mm wheel (≈191 rpm) with a motor rated ≥200 rpm no-load at 24 V on a 32 V pack. That margin is tight.
  4. Knee torque for squat-to-stand (derived): for a serial-equivalent leg with segment length L, wheel under the hip, and supported mass m_s, the knee torque is about (m_s · g / 2) · L · sin φ (φ = segment angle from vertical). Multiply by ≈1.7 for a 10 cm jump with a 15 cm push stroke (a = g·h/s), and by 2–3 for landing.

    m_total L static, full crouch φ = 60° × jump (1.67) × landing (2.5)
    6 kg 0.12 m 2.7 N·m 2.3 3.8 5.7
    6 kg 0.15 m 3.3 2.9 4.8 7.2
    9 kg 0.12 m 4.4 3.8 6.4 9.6
    9 kg 0.15 m 5.5 4.8 8.0 12.0

    These numbers assume ~1.5 kg of legs + wheels is not carried by the knee. Cross-checks: Upkie (5.3 kg) runs 16 N·m peak hip/knee, a large margin; Diablo (22.9 kg, L = 0.14 m) needs ≈13.7 N·m at full crouch on a 9.6 N·m rated motor, hence its 15-minute squat limit. Size the knee so that a deep crouch held for minutes stays under the actuator's continuous rating, not only its peak.

  5. Leg length versus wheel size:

    • Diablo: 2 × 140 mm segments on a 200 mm wheel; 491 → 270 mm height range.
    • TITA: 185 mm wheel; 490 → 300 mm height range.
    • Multivac11: 150/270 mm links on a 150 mm wheel; virtual leg 96–398 mm.
    • Upkie: 112 mm wheel. Ascento: 31–66 cm height range.
    • Rule of thumb (derived): thigh/shank ≈ 0.7–1.0 × wheel diameter, and a usable stroke of ≈ 1–1.5 wheel diameters.
    • A bigger wheel rolls over bigger steps (a wheel fails above roughly its radius, per Ascento) but costs wheel torque linearly in r.
  6. Gear ratios seen:

    • 1:1 direct drive: Diablo's six joints; Ascento, Upkie and Skythinker wheels.
    • Quasi-direct drive (QDD) about 6–10:1: RobStride 02 is 7.75:1; qdd100, CyberGear and TITA's modules are also QDD.
    • Series-elastic: Ascento's hip (ANYdrive).
    • Wheels stay direct drive; legs use low-ratio QDD for back-drivability and impact tolerance.
  7. Springs/gravity compensation: Ascento's torsion springs cut hip effort while standing and add jump height (paper). This matters most when using a direct-drive or small leg motor that would otherwise hold load continuously.

  8. Printed structure:

    • Ascento used SLS PA12 with topology optimisation (paper).
    • Upkie's FDM legs broke until v2's fork-shaped lower leg (FOSDEM).
    • RP_Balance had a printed part under a motor creep from heat and vibration (README).
    • Venus-1 used FR4 plates for structure and print only for the electronics bay (README).

4. RL and sim-to-real for wheel-legged bipeds

Published or public work

Common recipe across the wheel-legged RL work above:

Isaac Lab status

Licences of possible starting points

Repo Sim Licence
limxdynamics/tron1-rl-isaaclab Isaac Lab, with USD Apache-2.0. Best fork base
DDTRobot/tita_rl Isaac Gym MIT
DDTRobot/DDT_Lab Isaac Lab 2.3 / Isaac Sim 5.1 (TITA, D1) none: all rights reserved, reference only
DDTRobot/Col_DIABLO_Issac_RL Isaac Gym none
clearlab-sustech/Wheel-Legged-Gym Isaac Gym BSD-3 text (legged_gym heritage)
upkie/upkie, upkie_description Bullet / MuJoCo Apache-2.0
MarcDcls/mjlab_upkie mjlab Apache-2.0
mujoco_menagerie MuJoCo no wheel-legged biped models

5. Open Duck Mini, and Hugging Face / Pollen's Microduck

What exists

What makes it cute

How Open Duck is built

Sources: print guide, BOM, assembly guide.

How it was trained

Lessons from Open Duck Mini for gyropup

  1. Character is cheap and separate from the policy. Copy the open-loop show layer from Disney and Open Duck:
    • a head or "face" on a small neck (1–3 DOF), antennas or ears on hobby servos, LED or screen eyes, sounds;
    • a seeded per-robot voice, petting or touch detection, and an idle "sleep" behaviour.
    • None of this touches the balance controller.
  2. Proportions: a big head/body over short legs reads as cute (BDX, Open Duck, Microduck).
    • gyropup's 206 × 181 × 112 mm Orin box is a natural "big head/body". Put the face on it.
    • Treat the box like Microduck's 38 %-of-mass head: give it a body-pitch/height command input, allow some natural bob, and randomize its mass and CoM.
  3. Low-cost printed build works at small scale: PLA at 15 % infill, heat-set inserts, TPU soles.
    • But Open Duck is ≈2 kg on ≈3 N·m joints. gyropup will be ~6–9 kg with ~5–12 N·m knees (section 3), so PLA loads are 3–4× higher.
    • Combine this with the Upkie (printed tibia and femur broke) and RP_Balance (printed part crept under a hot motor) findings. For gyropup in PLA:
      • use high wall counts / ≥40 % infill on load paths;
      • put bearings and metal shafts at every pivot; PLA must not be the bearing surface (see Open Duck's screw wearing its own slot);
      • never clamp PLA directly against a motor housing; PLA softens near 55–60 °C and creeps under sustained load;
      • make the fork/double-shear leg links Upkie v2 moved to;
      • plan the links as swappable consumables until CF-nylon or plate parts arrive.
  4. RL pipeline to copy:
    • identify the actual actuators (BAM-style, including voltage sag);
    • confirm the exact gear variant and voltage match the sim limits;
    • model backlash as a passive hinge with the encoder read through it;
    • randomize 0–3 steps of action and IMU delay at 50 Hz;
    • use slicer masses (not CAD) in the URDF;
    • one shared observation space with swappable mode policies (balance / drive / jump / "trick");
    • optionally, an imitation term from a reference-motion generator for expressive moves.
  5. Microduck's passive-wheel "roller mode" plus policy switching is the closest public template for mixing legged expression with wheeled motion on a cheap printed robot.
  6. Licence hygiene: three Open Duck repos and several DDT repos have no licence. Pick gyropup's licence on day one, and only fork code with a clear permissive licence.

6. Comparison table

"—" means unknown. Sources are in the sections above and in reference-robots.json.

Robot Open? Height (mm) Mass (kg) Payload (kg) Wheel Ø (mm) Leg topology Leg motors Wheel motors Battery Price (US$)
DDT Diablo SDK Apache-2.0; models unlicensed 491 / 270 22.9 4 (80 creeping) 200 (RL URDF) coaxial hip + knee motors at body + four-bar; no abduction 4 × M1502D direct drive 2 × M1502D direct drive 32 V 6 Ah 4,399
DDT TITA RL MIT; URDF unlicensed 490 / 300 24.1 (w/o battery) 10 185 (URDF) serial with hip abduction, 4 DOF per leg QDD modules, 120 N·m peak QDD (in 8 DOF) 43.2 V, 1 h × 2 hot-swap 12,999
Ascento (2019 research) no 310–660 10.4 — — 1 hip motor + 3-bar linkage + torsion springs 2 × ANYdrive SEA, 40 N·m 2 × Maxon EC90 frameless direct drive, 3.5 N·m 4 × 3S LiPo + 4S (compute) —
Upkie Apache-2.0 — ≈5.3 (URDF) — 112 serial 2-link, knee motor on leg 4 × mjbots qdd100, 16 N·m peak 2 × moteus dev kit (direct), 1.7 N·m RYOBI 18 V ≈3,000
LimX TRON 1 (wheel feet) sim Apache-2.0 845 (size incl.) ≤20 ≤10 — — 30 N·m rated / 60 peak, 48 V — 46.8 V 4.5 Ah, ≤2 h 25,000 (EDU)
Skythinker foc-wheel-legged GPL-3.0 — — — — closed linkage, 2 body motors per leg (VMC) 4 × 4010 gimbal, 0.22 N·m 2 × 2804 gimbal 3S 800 mAh ≈75 (¥549)
Venus-1 GPL-3.0 — — — 90 four-bar 2 × CyberGear 2 × DJI M2006 geared 24 V LiPo ≈355 (¥2,576)
Multivac11 no licence — 12.9 — 150 five-bar (150/150/270 mm) 4 × Unitree A1 2 × DJI M3508 — —
Open Duck Mini v2 Apache-2.0 (main) ≈420 ≈2.1 (MJCF) — n/a (walker) 5-DOF serial legs + 4-DOF neck 14 × Feetech STS3215 n/a 2S 18650 <400 (BOM)
Microduck (Pollen/HF) code Apache-2.0; meshes CC BY-NC-SA ≈250 0.8 — passive roller add-on 15-servo biped XL330-class servos (per BAM model) passive NP-F550 399

The CNY → USD conversions are approximate, at about ¥7.2 per $1, and are not from a source.


7. What gyropup should copy / avoid

Copy

  1. Heavy leg motors at the body, light legs. Use either:

    • Diablo-style coaxial hip + knee motors with a four-bar/parallelogram to the knee, or
    • a symmetric five-bar with both motors on the body.

    Both keep leg inertia low and let the body hold the actuators. Treat the leg in sim as an equivalent serial chain (DDT does this in its RL URDF) or as a virtual leg (Wheel-Legged-Gym VMC task).

  2. Direct-drive wheel motors (a gimbal/hub BLDC with FOC and an absolute encoder), not geared hobby motors. Size the wheels so peak torque per wheel ≈ 1–1.5 × m·g·r/2, with speed headroom at v_max (section 3).

  3. QDD leg actuators sized for continuous crouch torque, not peak alone. RobStride 02 / CyberGear / DM-J4310 class (≈12–17 N·m peak, ≈$125–180) fits a 6–9 kg robot with 0.12–0.15 m links. Consider a gravity-compensation spring (Ascento) so standing does not cook the knees (Diablo's 15-minute squat limit).

  4. Wheel ≈150–200 mm, segments ≈0.7–1.0 × wheel diameter. Diablo and TITA sit at 185–200 mm wheels for ~490 mm standing height. A smaller robot can scale down; Upkie uses 112 mm.

  5. RL recipe:

    • leg PD position targets plus wheel velocity targets on damping-only drives, policy at 50–100 Hz;
    • DCMotor torque–speed limits, 0–20 ms delay randomization, Kp/Kd/strength ±20 %, backlash, moderate friction;
    • asymmetric actor-critic;
    • fork limxdynamics/tron1-rl-isaaclab (Apache-2.0);
    • check in MuJoCo before hardware.
  6. Character layer from Open Duck / Disney: open-loop face, antennas, sounds and seeded voice on the Orin "head", plus mode policies sharing one observation space.

  7. Upkie's hardware habits: parametric CAD (FreeCAD/Onshape) so leg lengths change in one place, external cable routing, an add-on screw pattern on the body, and a handle or bumpers.

Avoid

  1. Geared or backlash-prone wheel drives. Venus-1's M2006 backlash made the body shake at the balance point.
  2. Holding torque on direct-drive knees without a margin. Diablo can squat for only ≈15 min.
  3. PLA as the bearing surface or clamped against motors. Expect PLA to creep above ~50 °C (RP_Balance's deformed part, Open Duck's worn screw slot). Expect printed legs to break until they become forks or double-shear (Upkie v1 → v2). Use bearings, metal pins, inserts and swappable link parts, and move to CF-filled filament or plate for the leg links once the geometry is frozen.
  4. Single-encoder actuators without a homing strategy. CyberGear needs re-zeroing at every power-up (Venus-1). Prefer absolute output encoders, or design hard stops for homing.
  5. Unlicensed starting code. DDT_Lab, the Diablo RL repo, the TITA URDF and several Open Duck repos have no licence file, so use them as reference only.
  6. Ignoring actuator dynamics in sim. Without delay randomization, Ascento oscillated at up to 15 rad/s on hardware. Microduck's authors say actuator fidelity is "most of the sim2real gap". Open Duck builders with the wrong servo gear ratio could not walk.
  7. Hip abduction in v1. Diablo, Upkie, Ascento and every hobby build balance without it. TITA has it, at 8 DOF and $13k. Leave it out until there is a reason; leaning on uneven ground can come from differential leg length.

Beni (Mondo Robotics): a consumer wheel-legged camera robot

Added 2026-10-25 at the user's suggestion: "another good consumer example product for inspiration, but we want this way heavier, more durable, more capable."

Item Value Source
What it is Two self-balancing wheel-legs; follows and films a person or pet in 4K, edits highlight reels DIY Photography, PhotoWorkout
Mass 3.86 lb (1.75 kg) Notebookcheck
Top speed 17.9 mph (28.8 km/h) Notebookcheck
Jumps over obstacles of 10 in (Notebookcheck); about 10 cm in other reports Notebookcheck
Tricks jumps, flips, rights itself after a fall, climbs stairs DIY Photography, Digital Camera World
Battery swappable, about 90 min (reports vary) PhotoWorkout
Price $549 pre-order (about $800 retail reported) Notebookcheck
Weak points (hands-on) tracking still unreliable; not waterproof Tom's Guide, The Verge (via Ground News)

What Gyropup takes from it: character first (it reads as a pet, not a machine); getting up by itself after a fall; small hops and kerbs; follow-me with onboard tracking (the Orin, two depth cameras and a lidar can do this far better); a battery you swap in seconds (FLEXVOLT).

Where Gyropup goes further: ten times the mass (about 19 kg) with RS-03 legs and BotWheels, so it can carry a turret and drive outdoors; a tail that props it up, catches backward falls and sits it down safely on an e-stop; tougher parts (aluminium where loads peak, carbon tube, TPU bumpers and shoe); weather resistance as a goal, not an afterthought.