Reorienting & landing
Turning over in the air needs time or a tail; a short fall is decided at touchdown
Research on turning the body in midair to land without damage exists, and at Earth gravity it has a sharp limit. With legs alone, one quadruped has reoriented during an Earth-gravity fall on hardware: an MIT Mini Cheetah carrying 532 g weights on each foot turned up to 90° in pitch within 0.5 s, dropped about 3 m onto mats, and often bounced onto its back after touchdown (Kurtz et al., ICRA 2022). Apart from small corrections (RHex: 14° from recirculating its legs during a leap), the other leg-driven hardware results come from low-gravity robots on test rigs, where 90° takes about 2.5–5 s. Turning fully over within an Earth-gravity fall has been done on hardware with a flexible spine: a 3.27 kg robot flipped 180° in 0.6 s in 19 of 20 drops from 2.8 m (Wu et al., RSS 2025). Tails have turned 7–12 kg legged robots by 90° in 0.3–0.4 s, or removed 30° tilts before touchdown (RHex, Minitaur, A1). In simulation, rigid-trunk quadrupeds using only their legs turned at most 15° (Mini Cheetah) and landed fewer than 1 % of 2 m drops started upside down (S-Cheetah). A second line of work accepts the fall and limits the damage. Learned policies that tumble or brace onto chosen links, trained with contact-force and impact penalties, cut peak loads compared with the damping modes commercial robots use: a Unitree Go1 policy lowered peak base acceleration from 29–44 to 17–27 m/s² on hardware, and a Unitree G1 policy lowered measured impulse by 22 %. A third line is the landing itself. Controllers that place the feet during the fall land 9–12 kg quadrupeds from 0.8–2 m on hardware, and the learned controllers that land from real heights all carry an explicit impact limit. Actuator studies show that rotor inertia and a straight knee decide how much of the impact passes through the gears.
Pupper v3 fits this picture. Its legs are heavy (52.5 % of 3.17 kg), so one 115° hip stroke pitches its body about 30°, but a roll stroke turns it only 8–21°. A 0.3–1 m fall lasts 0.25–0.45 s: enough time to level a tilted body, not to turn over from its back. Levelling matters because four feet can absorb about seven times the drop height that one foot can, and above roughly 0.11–0.15 m the touchdown drives the knee past its no-load speed. For Shappy the order is therefore:
- A learned fall-and-landing mode in simulation: level, knees bent, compliant, with a protected first contact.
- Hardware measurements of what actually breaks.
- Decisions for v2 on leg mass, a knee stop, and absorbing regenerated energy on the motor bus.
- A tail or spine only if acrobatics become a goal.
Sources and per-paper numbers are in the four research notes in notes/research_notes/Aerial reorientation and safe landing/:
leg_driven_aerial_reorientation.mdappendage_reorientation.mdsafe_falling_damage_reduction.mdlanding_and_impact_mitigation.md
Legs alone turn a rigid robot by tens of degrees
A falling body with zero angular momentum can still change its orientation by cycling its shape. The net turn per cycle depends on the loop of joint motions and the mass distribution, not on how fast the loop is run (Kane and Scher 1969; Montgomery 1993; Bingham et al., IROS 2014). The cat's two known mechanisms, bend-and-twist and legs-in-legs-out, both need the front and rear halves of the body to turn relative to each other. A robot with a rigid trunk keeps three options:
- cyclic limb motions, such as sweeping the legs one way extended and back tucked;
- single large strokes that leave the legs somewhere else;
- inertia changes when the body is already spinning, as divers do. Disney's 2.6 kg BRICK lands in a chosen orientation with a single inertia switch (Pope and Niemeyer, IROS 2017).
| Work | Robot | What moves | Result | Platform |
|---|---|---|---|---|
| Kurtz et al., ICRA 2022, arXiv:2109.04424 | Mini Cheetah, about 9 kg, plus 532 g per foot | legs, pitch only | up to 90° in 0.5 s from starting pitch −90° to 90°; final pitch −2.2° ± 10.6°; often bounced onto its back | hardware, about 3 m onto mats |
| Rudin et al., T-RO 2022, arXiv:2106.09357 | SpaceBok, 22 kg, 330 g feet | legs, PPO | 90° in under 2.5 s on a 2D air bearing. 3D: any rotation in under 3 s only with an added abduction joint, over 6 s for 90° of roll without it | hardware 2D, simulation 3D |
| Spiridonov et al., ICRA 2024, arXiv:2403.02831 | SpaceHopper, 5.2 kg | legs, PPO | upright within 1 s in zero-g simulation; about 5 s and 9.7° mean error on a gimbal | simulation, gimbal |
| Olsen et al., ICRA 2025 and arXiv:2605.24643 | Olympus, about 14 kg | legs, PPO | 90° in 0.96–1.45 s in simulation against 2.6–4.2 s on a rod over an air bearing; training code public (olympus_lab) | simulation, rig |
| Yang and Hwangbo, CASE 2025, arXiv:2407.10420 | Mini Cheetah, with or without a 6-DoF arm | legs, or arm as a tail | at most 15° with legs and every 1.5–2.25 m drop failed; 50–65° with the arm | simulation |
| Li and Bai, arXiv:2605.27909 | S-Cheetah, 20 kg | legs, or a 3-DoF spine | 2 m drop from upside down: under 1 % landing success with a rigid trunk, 88–98 % with the spine | simulation |
| Wu et al., RSS 2025 | spinal robot, 3.27 kg | spine | 180° in 0.6 s from 2.8 m; 95 % of 20 drops | hardware |
Every paper turned on the same four factors.
- The inertia of the moving parts relative to the body. Mini Cheetah's legs are under 10 % of its mass, hence the boots. Libby et al. (T-RO 2016) rate leg effectiveness ξ at 0.037 for RHex and 0.096 for Cheetah-Cub, and put a good tail at about 0.5. Here ξ is the body rotation produced per unit of appendage rotation.
- Joint speed within the torque and range limits. Adding an abduction joint made SpaceBok's 3D reorientation four times faster.
- The flight window: 0.5–0.8 s on Earth against several seconds in low gravity.
- Knowing the orientation and the time to impact. All the RL hardware tests used motion capture. Kurtz et al. instead detected free fall from the IMU over 30 ms and then ran a precomputed 0.5 s trajectory.
The RL recipes share four ingredients: an orientation-error reward, self-collision as a terminating failure, a curriculum on the starting angle, and a guard against the policy giving up in the air (Yang and Hwangbo used termination as a constraint). One simulator fact matters directly: Rudin et al. found that MuJoCo 2.0's Euler integrator made the floating robot rotate when its angular momentum was zero, and they switched to RK4. The Pupper training model uses the default Euler integrator at 4 ms.
Tails and arms buy rotation at a mass cost
Tails provide the large, fast inertia that legs lack. Libby et al. (T-RO 2016) reduce any appendage to its effectiveness ξ:
- Tails about one body length long reach 0.44–0.57 using 5.6–10.6 % of body mass.
- The best reaction wheel in their tables reaches 0.38.
- Robot legs measured 0.037–0.096.
Doubling ξ halves the power a given turn needs. For a turn completed within a fall of one body length, the power needed per kilogram grows only mildly with size (∝ L^½). Animals manage with lighter tails, 2–10 % of body mass: geckos roll 140–180° in 106 ± 6 ms (Jusufi et al., PNAS 2008).
Hardware results at Earth gravity:
| Robot | Appendage | Result | Source |
|---|---|---|---|
| RHex, 8.1 kg | 0.6 kg inertial tail | Dropped nose first from 1.36 m, it levelled to within 1° in about 350 ms and landed on all six legs. With the tail inactive, its front legs snapped and it took internal damage. This is the only with-and-without damage comparison found. | Johnson et al. 2012; Libby et al. 2016 |
| Minitaur, 7.3 kg | 110 g aerodynamic drag tail on a 1 m shaft, plus 706 g of framing | Turned 90° in 302 ± 4 ms in a 0.5 m drop, matching RHex's inertial tail with 63 % less tail inertia. Accelerated 12 % faster with the tail swinging and 5 % slower carrying it inactive. | Norby et al., T-RO 2021 |
| Unitree A1, 12.45 kg | 2.3 kg three-axis telescoping tail (18 % added mass) | Removed 30° of pitch and 30° of roll before touchdown at 0.38 s in a 1 m drop. | Tang et al., ICRA 2023 |
The A1 tail had to retract to a quarter of its length before touchdown. Left extended, the robot fell, and the retraction sometimes jammed. The authors used a separate test body for repeated drops because "repeated dropping experiments may damage the motors".
Reaction wheels and flywheels have controlled a quadruped's pitch in flight on hardware only during low-gravity jumps (SpaceBok). The Earth-gravity results are simulation only:
- Solo12 with two 0.102 kg flywheels levelled a 30° tilt in a 1 m fall.
- An A1 with a 4.6 kg wheel module corrected 0.6 rad of pitch in a 0.5 m drop.
- With a 3.6 kg arm used as a tail, Mini Cheetah landed every tested drop of 1.5–2.25 m from 90–120° of tilt; with its legs alone it landed none (Yang and Hwangbo).
The published quadruped appendages add 8–37 % of body mass. The appendages also fail themselves: tail damage ended Salto's experiment, its plastic tail gearbox was "a source of much unreliability", and the A1 tail jammed.
Applied to Shappy (calculations in the appendage note):
- Pupper. A ξ = 0.5 tail would need about 43 W to turn the body 90° within a fall from its standing height (0.19 s), more than a GIM4305's roughly 26 W. Its legs already reach ξ ≈ 0.21 in pitch. A tail does not pay for v1.
- Go2-size v2. A ξ = 0.5 tail is about 0.5 kg on a 1 m shaft or 2.2 kg on a 0.5 m shaft. Turning 90° in a 0.5 m drop ideally takes about 180 W, or 0.8–1.7 kW with RHex-like losses. That is a several-hundred-watt actuator, not a spare leg motor.
When a fall cannot be prevented, choose the first contact and yield
Humanoid safe-falling work since UKEMI (Fujiwara et al., IROS 2002) uses three levers: steer which padded link hits first, spread the momentum over a planned sequence of contacts, and let the joints yield after impact. The hardware closest to Pupper's mass is the 1.6 kg BioloidGP. On it, replaying a fall planned in simulation cut peak head acceleration from 5.7 to 2.9 G and from 6.4 to 2.3 G (Kumar et al., IROS 2017). The HRP-2 team broke a cushion mount and fan blades in kick tests and set a 15 G limit from them. They also switched the servos off at touchdown to protect the gears (Fujiwara et al., IROS 2003).
For quadrupeds, Guardians as You Fall (Wang et al., arXiv:2310.04828) is the closest match to Shappy. It is a blind 50 Hz policy on a Go1 that tumbles in about 0.2 s into one of three stable poses: belly down, standing on the hind legs, or back down.
- Simulation: dropped from random orientations 0.1 m above the ground, its peak contact force on parts other than the feet was 33 N, against 1,173 N for a damping mode.
- Hardware: peak base acceleration was 17–27 m/s² against 29–44 m/s² for damping. Each baseline ran once, and the IMU saturates.
SafeFall (Meng et al., arXiv:2511.18509) runs on a Unitree G1. It switches to a protective policy only when a learned predictor fires, 0.41 s ahead of impact with 0.06 % false alarms. In simulation it cut peak contact force by 68 % and peak joint torque by 78 %; on hardware it cut measured impulse by 22 %.
Products do less:
- Spot "cushions leg movement" when it detects a fall, and its payload guide assumes body shocks of up to 180 g.
- The Go2 exposes a damping mode.
- Pupper's controller latches an e-stop past 1.5 rad of tilt, setting every motor to kp 0 and kd 0.1.
The reward terms are consistent across papers (weights in the safe-falling note):
- contact force on non-foot links, weighted by fragility;
- base acceleration, or the rate of change of force ("yank");
- strikes against the joint end stops;
- torque near the limit.
Episodes start mid-fall: the actuators are switched off for a random 0.04–1.5 s (Ma et al., ICRA 2023). Two training lessons recur. Penalties must not make ending the episode the better option. And rewarding a specific brace produced straight-arm pushes that would break the joints (Shi et al. 2025). No paper ties a simulated force or impulse to a measured part failure, and none does so for 3D-printed parts.
Landing works from 0.8–2 m on 9–12 kg robots, with an impact limit and a bent knee
Model-based landing controllers place the feet during the fall and then follow a damped spring.
- Mini Cheetah landed level drops of up to 2 m on hardware, and up to 8 m in simulation (Jeon et al., ICRA 2022).
- A 12 kg Go1 landed drops of about 0.8 m with horizontal velocity on hardware, and handled up to 3 m/s horizontal in simulation (Roscia et al., RA-L 2023).
Both teams skipped the tests they expected to damage the robot. Jeon et al. ran no tilted drops on the Mini Cheetah. Roscia et al. did not run their fixed-feet baseline on the Go1 "because it would weaken the robot's structure".
Learned controllers that land from real heights all carry an impact limiter.
- ANYmal D climbs down 1 m boxes only because training ended an episode on high foot impact. Without that rule, the policy learned to jump down, which the simulator allows and the real robot would not survive (Hoeller et al., Science Robotics 2024).
- A 14.5 kg quadruped jumped 1.0 m vertically using soft-impact and damped-landing rewards under an 18 N·m torque cap (Olsen et al., arXiv:2510.24584).
The actuator literature explains why posture at touchdown matters. Wensing et al. (T-RO 2017) define the impact mitigation factor (IMF): the share of a locked-joint impact that the leg's free dynamics avoid, from 0 (joints effectively locked) to 1. Reflected rotor inertia sets it, and that inertia grows with the square of the gear ratio. The IMF collapses as the knee straightens. Series springs, belts and soft feet spread the force over time but do not change the initial impulse.
Landing also regenerates energy. In an MIT Cheetah drop test the battery line spiked, and 63 % of the negative mechanical work went back into the battery (Seok et al. 2015). Motor-driver makers warn that regenerated energy with nowhere to go raises the bus voltage "without bound", killing CAN transceivers or FETs (moteus documentation).
Pupper v3: enough authority to level, not to turn over
The numbers below are computed from the official MJX training model (pupperv3-monorepo 6f96c5e) unless marked. In this model joint 1 of each leg is hip pitch, joint 2 abduction and joint 3 the knee. Body rotations come from integrating the zero-momentum condition (M v)[0:6] = 0 under scripted joint motions, with collisions ignored. Scripts and their output sit beside the research notes: pupper_aerial.py, leg_swing_time.py and pupper_aerial_output.txt. Run them with MuJoCo 3.16 against the model copy under terrain_training/viz_multi/.
| Quantity | Value |
|---|---|
| Mass | 3.17 kg: base 1.506 kg, legs 1.664 kg (52.5 %) |
| Inertia about the centre of mass at the default stance (roll / pitch / yaw) | 0.0181 / 0.0253 / 0.0317 kg·m² |
| One stroke of all four hips through 115° (2.0 rad) | body pitch 29.8° with straight legs, 26.4° with default knees, 20.5° folded |
| The same over the model's full hip range (214°) | 53.7°, with body and leg collisions ignored |
| Repeated pitch cycle: straight stroke, fold, folded return, extend | 8.5° per cycle, at least 0.29 s per cycle at 30 rad/s |
| Roll stroke, all four abduction joints over their common range (±0.42 rad) | 8.3° with straight legs, 6.1° folded |
| Roll stroke, right legs only, from 0.42 rad inward to straight up | 20.9°, with 7.7° of pitch |
| One joint swinging 90° in flight, at ±3 N·m and 30 rad/s, armature included | 70–82 ms |
| Free-fall time from 0.1 / 0.3 / 0.5 / 0.75 / 1.0 m | 0.14 / 0.25 / 0.32 / 0.39 / 0.45 s |
| Drop absorbable at the knee torque limit with 4–8 cm of stroke, on four / two / one feet | 0.27–0.55 / 0.12–0.23 / 0.04–0.08 m (upper bounds, landing note) |
| Drop above which touchdown overruns the knee's no-load speed of about 30–35 rad/s | 0.11–0.15 m at the default stance; about 3 cm with the knee opened to 150° |
| One-joint IMF analogue at the default stance (landing note) | 0.51, against 0.80 for the Go2 model and 0.89 for the MIT Cheetah; 0.03 with the knee at 170° |
Three things follow.
- Pupper can level a tilted body but cannot turn over. Its leg mass sits far from the hip: in the model, the upper leg's centre of mass is 2 cm from the knee axis. That gives a leg effectiveness of about 0.2 in pitch, two to seven times the published RHex and Cheetah-Cub values. So levelling a tilted body by tens of degrees fits within a 0.3–0.5 m fall. Turning over does not: roll is capped by the 0.42 rad inward abduction limit, and a repeated cycle gains only a few degrees.
- The touchdown configuration matters more than the midair rotation. Landing on four feet rather than one is worth a factor of about seven in survivable height. A near-straight knee both locks the leg against the impact and gets overrun even in a 3 cm drop.
- The robot as configured cannot make fast strokes in the air. The motor PD's damping (kd 0.25) brakes a 30 rad/s swing with 7.5 N·m, above the 3 N·m limit. The policy can also command targets only within its action scale, ±0.75–1.0 rad, around the default pose.
The current stack has no fall behaviour. Training episodes end at 0.70 rad of tilt or 0.05 m of height, so no policy has ever seen a fall. On the robot, the tilt e-stop fires only past 1.5 rad and turns every motor into a damper; a level drop never triggers it.
A damper braking at 3 N·m regenerates energy into the bus. In a 0.5–1 m drop the knee is overrun at 64–90 rad/s, and its back-EMF is then about 1.8–2.6 times the 20 V pack voltage. At 1 m that is roughly 51 V, against the 40 V maximum in a retailer listing for the GIM4305. This is harmless if the pack absorbs the current. It is not harmless if the pack is disconnected, full, or replaced by a bench supply. Two things are unknown: whether the DeWalt pack accepts charge through its tool terminals, and whether the power board passes reverse current.
What to do for Shappy
The position, in order:
- Simulation, now. This needs no hardware.
- Check the integrator first. Run a zero-gravity scripted-stroke test in the training model with Euler (the current setting) and with RK4. If body orientation drifts by more than a degree or two per stroke, aerial rewards trained under Euler are not trustworthy.
- Then train a fall-and-landing mode in the existing MJX/Warp pipeline.
- Starting conditions: drops of 0.1–1.0 m with random pitch and roll up to ±90°, some upside-down starts, angular and horizontal velocity, and episodes that start mid-fall.
- Rewards: the published template above, plus two terms from the Pupper numbers: a penalty on knee speed above about 30 rad/s, and one on a knee interior angle above about 140° at touchdown.
- A privileged critic, as in the multi-terrain runs.
- For upside-down starts, reward a protected first contact instead of a flip. Pick the back or the belly from where the Pi 5, the battery and the weakest printed parts sit.
- Compare it with the robot's current behaviour (the walking policy plus the 1.5 rad damping e-stop) in the same simulator, by drop height and starting tilt, on four measures: the share of drops that land on three or four feet, peak impulse on parts other than the feet, peak knee speed, and end-stop strikes.
- The aerial phase needs either different motor gains and a wider action range, or a feed-forward path like Kurtz's.
- Hardware, once the robot is assembled. Measure before dropping.
- Bus voltage on the battery line, recorded with an oscilloscope, while a leg is backdriven by hand, then in 5–10 cm drops onto foam.
- Whether the DeWalt pack absorbs that current.
- The BNO085 accelerometer range.
- Then foam drops of increasing height, checking printed parts at the screw bosses. Add TPU bumpers on the knees and belly, since in tilted falls the knee is the likely first contact.
- v2 design (Go2 class).
- Leg mass placement. Heavy distal legs help levelling and hurt impacts and swing cost (Libby et al.).
- A mechanical knee stop short of straight. The Go2 model stops at about 132°.
- QDD actuators of at most about 10:1 with low rotor inertia.
- A sink for regenerated energy: battery headroom, or a TVS diode or brake chopper sized for landing energy, plus regeneration limits in the driver.
- Crash foam.
- A tail or spine only if acrobatics become a goal. The A1's tail was 18 % of its mass.
- A candidate tail can be tested cheaply in MJX first: a hinge, a point mass and a motor model, comparing landing success and peak foot force with and without it. No published study has made that comparison on a quadruped.
What each check would settle:
| Check | One outcome | The other outcome |
|---|---|---|
| Integrator check | drift stays within a degree or two per stroke → Euler stays | larger drift → the fall mode trains with RK4 |
| Fall mode against the current behaviour | it lands most tilted 0.3–0.5 m drops on three or four feet and keeps peak non-foot impulse well below damping → it goes into the stack behind a free-fall or tilt trigger | it does not → protection is mechanical (bumpers, knee stop, soft feet) and the damping e-stop stays |
| Bus voltage | the bus stays near the pack voltage → drop tests can proceed | it rises past about 30 V → a clamp (TVS diode or brake resistor) goes in before any drop test |
Conclusion
The cat-like flip that the question imagines has been done at Earth gravity only by robots built for it: a spine, a tail or an arm, or 0.5 kg weights strapped to each foot. Even then the hardware landings were rough, and the authors protected their robots by skipping the drops they expected to break them. The benefit for damage has been measured once, on a hexapod: RHex snapped its front legs in a nose-first drop without its tail and landed level with it. Every other result reports orientation and leaves the damage benefit to inference. What the literature does show working, on hardware and at scale, is less dramatic: learned fall modes that pick a protected contact and yield, and landing controllers that put the feet down level with bent, compliant legs and an explicit limit on impact. Those are the behaviours that address joints landing in the wrong direction.
Pupper's heavy legs make it unusually good at the first half of a cat's manoeuvre. It can level a tilted body by tens of degrees within a table-height fall. It cannot turn over from its back with legs alone. Its own numbers say touchdown posture is worth more than rotation: four feet against one is worth a factor of seven in drop height, and a straight knee is overrun by any drop. The cheapest next step is in the simulator the project already runs: an integrator check, then a fall-and-landing mode measured against the current damping e-stop. The hardware questions that decide v2, regeneration on the bus and what breaks first, need the assembled robot and an oscilloscope on the battery line before any drop.
Source notes, scripts and their outputs: notes/research_notes/Aerial reorientation and safe landing/ in the Shappy repository.