RICOCHET-001: Bouncy Ball Bola Deployment System
Classification: Impact-Triggered Sail Unfurling
Status: DRAFT v0.1
Date: 2026-01-24
Codename: "SUPERBALL MARIONETTE"
1. CONCEPT OVERVIEW
Throw a big rubber ball at the ground. It bounces. It ERUPTS into a sailing marionette.
The bounce isn't wasted energy - it's the LAUNCH MECHANISM.
PHASE 1: THROW PHASE 2: IMPACT PHASE 3: ERUPTION
ββββββββββββββββ βββββββββββββββ βββββββββββββββββ
β β β΅ β΅
/|\ β Human throws β±ββ² β Ball compresses \ /
β downward βββββ stores elastic \_/
/ \ βββββββ energy ββββ΄βββ
βCORE β
β ββ Compressed ββββββ β Deformation ββββ§βββ
β marionette βββββββ triggers latch β
β β β΅ββΌββ΅
βΌ β β
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
GROUND GROUND GROUND
β
BOUNCE lifts
entire system!
PHASE 4: FLIGHT PHASE 5: MARIONETTE MODE
βββββββββββββββ ββββββββββββββββββββββββ
β΅ β΅ β΅ β΅
\ / \ /
\ / β Sails catch air \ /
ββββ΄βββ \ /
βBRAINβ β Champion awakens βββββ΄ββββ
ββββ¬βββ βCONTROLβ
β βββββ¬ββββ
β΅ β΅ β
β΅βββΌβββ΅
~~~~ WIND ~~~~
AUTONOMOUS FLIGHT
2. THE SUPERBALL SHELL
2.1 Material: High-Restitution Rubber
The outer shell is made of polybutadiene rubber (same as actual Super Balls):
- Coefficient of Restitution: 0.85 - 0.92 (bounces to ~80% of drop height!)
- Stores massive elastic energy on impact
- Survives repeated ground strikes
SUPERBALL CROSS-SECTION
βββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββ
β OUTER RUBBER SHELL β
β (polybutadiene, 8mm thick) β
β βββββββββββββββββββββββββββββββ β
β β COMPRESSION CHAMBER β β
β β βββββββββββββββββββββββββ β β
β β β β β β
β β β βββββββββββββββββ β β β
β β β β SPOOL CORE β β β β
β β β β βββββββββββ β β β β
β β β β β SAILS β β β β β
β β β β β (wound) β β β β β
β β β β β βββββββ β β β β β
β β β β βββββββββββ β β β β
β β β β CHAMPION β β β β
β β β β BRAIN β β β β
β β β βββββββββββββββββ β β β
β β β β β β
β β βββββββββββββββββββββββββ β β
β β LATCH RING ββββββ β β
β βββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββ
β = 15-25 cm diameter
2.2 Ball Specifications
| Property | Value | Notes |
|---|---|---|
| Diameter | 15-25 cm | Softball to volleyball size |
| Shell Thickness | 6-10 mm | Balances bounce vs payload |
| Total Mass | 0.8-2.0 kg | Throwable by human |
| Restitution Coefficient | 0.85+ | HIGH bounce required |
| Impact Survival | 50+ m/s | Handles hard throws |
3. THE ERUPTION MECHANISM
3.1 G-Force Triggered Latch
The shell contains a compression-activated latch that releases at a specific G-force threshold.
LATCH MECHANISM (Cross-section view)
βββββββββββββββββββββββββββββββββββββ
ARMED STATE TRIGGERED STATE
ββββββββββββ βββββββββββββββ
ββββββββββββββββββ ββββββββββββββββββ
β SHELL WALL β β SHELL WALL β
β ββββββββββββββ β β ββββββββββββββ β
β β ββββββββ β β β β β β
β β βLATCH β β β βββΊ IMPACT βββΊ β β LATCH β β
β β β PIN β β β β β SHEARED β β
β β ββββ¬ββββ β β β β β β β
β β β β β β β βββββ β β
β β βΌβΌβΌβΌβΌβΌβΌ β β β β β²β²β²β²β² β β
β β SPRING β β β β RELEASED! β β
β β LOADED β β β β β β
β ββββββββββββββ β β ββββββββββββββ β
ββββββββββββββββββ ββββββββββββββββββ
G-FORCE THRESHOLD:
ββββββββββββββββββ
G-force
β
150G β ββββ β TRIGGER ZONE
100G β βββββββββ (100-200G)
50G β β
0G ββββββΌβββββββββββββΊ time
β β
IMPACT
MOMENT
3.2 Shell Separation
On trigger, the shell splits along pre-scored seams like a blooming flower:
SHELL BLOOM SEQUENCE
ββββββββββββββββββββ
T = 0ms T = 5ms T = 20ms T = 50ms
(Impact) (Latch releases) (Petals open) (Full bloom)
β β β±ββ² \ /
β /β\ / β \ \_/
β / β \ / β \ β
βββββββ βββββββββββ ββββββββββββ βββββββββββ
β
SAILS BEGIN
TO DEPLOY
TOP VIEW OF PETAL SEPARATION:
βββββββββββββββββββββββββββββ
βββββ β± β² β² β±
β± β² β β β² β±
β β β ββββΊ β β β ββββΊ β² β±
β² β± β β β
βββββ β² β± β± β²
β± β²
CLOSED CRACKING DETACHED
(petals fly off)
4. BOUNCE ENERGY HARVESTING
4.1 The Bounce = Free Launch Velocity
When the ball hits the ground, it compresses and rebounds. We HARVEST this:
ENERGY FLOW DIAGRAM
βββββββββββββββββββ
THROW ENERGY βββββββββββββββββββββββββββββββββββββββββββββββΊ
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β β
βΌ βΌ βΌ β
βββββββββββββ βββββββββββββββββ βββββββββββββββββ β
β KINETIC β βββΊ β ELASTIC β βββΊ β KINETIC β β
β (down) β β (compressed) β β (UP!) β β
βββββββββββββ βββββββββββββββββ βββββββββββββββββ β
β β β β
β β β β
β βΌ βΌ βΌ
β βββββββββββββββ ββββββββββββββββββββ
β β LATCH TRIPS β β SAILS DEPLOY β
β β (uses tiny β β (catch upward β
β β fraction) β β momentum!) β
β βββββββββββββββ ββββββββββββββββββββ
β
ββββββββΊ ~15% lost to ground/heat
VELOCITY DIAGRAM:
βββββββββββββββββ
V (m/s)
β
+15 β ββββββββββββ β SAILS DEPLOYED
β β β (catching wind)
+10 β β
β β β UPWARD BOUNCE
+5 β β
β β
0 βββββββββββββββββββββββββββββββββββΊ time
β ββ
-5 β β β
β β β
-10 β β β
β β β
-15 β β β β DOWNWARD (thrown)
β β β
-20 β β β
β²
IMPACT
(latch triggers)
4.2 Timing is Everything
The shell must separate DURING the bounce, not before or after:
CRITICAL TIMING WINDOW
ββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΊ
time
ββββββ APPROACH βββββΊβββ CONTACT ββΊββββββ REBOUND βββββΊβ
β β β β
β Ball falling β Compression β Ball rising β
β Shell intact β Latch trips β Shell blooming β
β β β Sails unfurling β
β β β β
β β β βββ β β΅ β΅ β
β β β βββββ β \β/ β
β βΌ β β β β
β β β β β
β β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
FAILURE MODES:
ββββββββββββββ
TOO EARLY (pre-impact): TOO LATE (post-apex):
β΅ β΅ β΅ β΅
\β/ \β/
β β Sails deploy β β Sails deployed
β while falling! β but falling again!
βΌ (no upward momentum) βΌ (missed the bounce)
βββββββ βββββββ
BAD! BAD!
5. SAIL DEPLOYMENT SEQUENCE
5.1 Coiled Configuration (Pre-Deploy)
Inside the ball, sails are wound tightly around the spool core:
INTERNAL COIL STRUCTURE
βββββββββββββββββββββββ
TOP VIEW (looking down into ball):
βββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββ β
β β ββββββββββββ β β
β β β βββββββββ β β β
β β β β SPOOL β β β β
β β β β CORE β β β β
β β β β β β β β β 4 sails wound
β β β β BRAIN β β β β as tight spirals
β β β βββββββββ β β β
β β ββββββββββββ β β
β βββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββ
RUBBER SHELL
SIDE VIEW (cross-section):
βββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββ β Rubber
βββββββββββββββββββββββββββββββ
βββ ββββββββββββββββββββ βββββ β Sail 0 (coiled)
βββ ββββββββββββββββββββ βββββ β Sail 1 (coiled)
βββ βββββββββββββββββ βββββ
βββ β SPOOL DRUMS β βββββ
βββ β ββββββββ β βββββ
βββ β ββ βββ β β βββββ β Individual drums
βββ β ββββββββ β βββββ per sail cable
βββ βββββββββββββββββ βββββ
βββ ββββββββββββββββββββ βββββ β Sail 2 (coiled)
βββ ββββββββββββββββββββ βββββ β Sail 3 (coiled)
βββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββ
5.2 Centrifugal Unfurling
As the shell petals separate, they carry sail tips outward. Then spin + upward motion unfurls:
UNFURL SEQUENCE (Top view, time series)
ββββββββββββββββββββββββββββββββββββββββ
T=0ms T=30ms T=100ms T=200ms
Shell splits Petals eject Cables pay out Full extension
β± β² \ / β΅ β΅ β΅ β΅
β β β \ / \ / \ /
β² β± β \ / \ /
β ββββ΄βββ \ /
β± β² βCORE β βββββ΄ββββ
ββββ¬βββ β SPOOL β
β βββββ¬ββββ
β΅ β΅ β
β΅βββΌβββ΅
CABLE PAYOUT MECHANISM:
βββββββββββββββββββββββ
Each sail is on a DRUM that pays out cable as centrifugal force pulls:
ββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DRUM (wound) DRUM (paying out) β
β β
β ββββββββ ββββββββ β
β ββββββββ ββββ βββββββββΊ β β Cable
β ββββββββ ββββΊ βββ β β unreeling
β ββββββββ ββ β β
β ββββββββ ββββββββ β
β β
β INITIAL MID-DEPLOY β
β (all cable wound) (cable out) β
β β
ββββββββββββββββββββββββββββββββββββββββββββββ
Centrifugal force at R = 1m, Ο = 3 rad/s:
F_cent = m * ΟΒ² * R
= 0.2 kg * (3)Β² * 1
= 1.8 N per sail
This pulls cables out smoothly!
6. PHYSICS MODEL
6.1 Impact Dynamics
# Ground impact model
def compute_bounce(v_impact, restitution=0.87, mass=1.5):
"""
Calculate bounce velocity from impact.
Args:
v_impact: Impact velocity (m/s, positive = downward)
restitution: Coefficient of restitution (0.87 for superball rubber)
mass: Ball mass (kg)
Returns:
v_rebound: Rebound velocity (m/s, positive = upward)
g_force: Peak G-force during impact
contact_time: Ground contact duration (s)
"""
# Rebound velocity (energy preserved * restitution)
v_rebound = v_impact * restitution
# Contact time (Hertzian contact approximation)
# For rubber ball ~10-20ms
contact_time = 0.015 # 15ms typical
# Peak deceleration
delta_v = v_impact + v_rebound # Total velocity change
a_peak = delta_v / contact_time
g_force = a_peak / 9.81
return v_rebound, g_force, contact_time
# Example: 20 m/s throw (hard overhand)
v_rebound, g_force, t_contact = compute_bounce(20.0)
# v_rebound β 17.4 m/s (upward!)
# g_force β 255 G (definitely triggers latch!)
# t_contact β 15 ms
6.2 Trigger Threshold
# G-force latch parameters
TRIGGER_G_MIN = 80 # Minimum G to trigger (prevents accidental)
TRIGGER_G_MAX = 500 # Max survivable G for electronics
# For various throw speeds:
# 10 m/s (gentle toss): ~127 G β TRIGGERS
# 15 m/s (medium throw): ~191 G β TRIGGERS
# 20 m/s (hard throw): ~255 G β TRIGGERS
# 25 m/s (very hard): ~319 G β TRIGGERS
# 5 m/s (drop): ~64 G β NO TRIGGER (too soft)
6.3 Sail Deployment Dynamics
def sail_unfurl_physics(
bounce_velocity: float, # m/s upward
spin_rate: float, # rad/s (imparted by throw)
num_sails: int = 4,
sail_mass: float = 0.15, # kg per sail
cable_length: float = 2.0, # m max extension
):
"""
Model sail deployment during upward bounce.
"""
# Centrifugal acceleration pulls sails outward
# a_cent = ΟΒ² * r
# Time to full extension (approximate)
# Using F = ma, where F = centrifugal
# Simplified: t β sqrt(2 * cable_length / a_cent)
# At spin_rate = 3 rad/s, r = 1m:
# a_cent = 9 m/sΒ²
# t_deploy β sqrt(2 * 2.0 / 9) β 0.67 seconds
# During this time, ball rises:
# h = v * t - 0.5 * g * tΒ²
# h = 17 * 0.67 - 0.5 * 9.81 * 0.67Β²
# h β 9.2 m (above bounce point!)
return {
'deploy_time': 0.67,
'deploy_altitude': 9.2,
'final_sail_velocity': spin_rate * cable_length, # tangential
}
7. CHAMPION BRAIN ACTIVATION
7.1 Boot Sequence
The Champion brain (DreamerV3) activates on impact detection:
BRAIN ACTIVATION TIMELINE
βββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΊ
time
β DORMANT β IMPACT β BOOT β CALIBRATE β SAIL CONTROL β MARIONETTE β
β β β β β β MODE β
β β β β β β β
β zzz... β !!! β ββββ β β β β β β ~~~~ β΅ β FLYING β
β β β β β β β
βββββββββββΌβββββββββΌβββββββΌββββββββββββΌβββββββββββββββΌβββββββββββββ€
-β T=0 50ms 100ms 300ms 500ms+
BOOT SEQUENCE DETAIL:
βββββββββββββββββββββ
T+0ms: Accelerometer detects >80G β WAKE signal
T+10ms: IMU initialization
T+20ms: Tension sensors online (all drums)
T+30ms: RSSM state estimator starts
T+50ms: First control output (brake drums to prevent overshoot)
T+100ms: Sail positions estimated from cable tensions
T+200ms: Aerodynamic model engaged
T+300ms: Full marionette control active
T+500ms: Champion brain has authority
7.2 Mid-Air Orientation Recovery
After chaotic bounce + deploy, the system must stabilize:
STABILIZATION CHALLENGE
βββββββββββββββββββββββ
POST-BOUNCE (Chaotic): TARGET (Stable):
β΅ β΅ β΅
/ \ /
/ β΅ \ /
β / ββββ΄βββ
βββ/ β Tumbling, βCORE β β Level,
\ tangled? ββββ¬βββ symmetric
\ β
β΅ β΅βββΌβββ΅
Champion uses:
1. Differential cable tension β torque for rotation
2. Sail pitch modulation β aerodynamic moments
3. Collective pitch β altitude control
8. OPERATIONAL ENVELOPE
8.1 Throw Parameters
| Parameter | Min | Optimal | Max | Notes |
|---|---|---|---|---|
| Throw Speed | 8 m/s | 15-20 m/s | 30 m/s | Harder = higher bounce |
| Throw Angle | -90Β° (straight down) | -60Β° to -45Β° | 0Β° (horizontal) | Steep = clean bounce |
| Spin Imparted | 0 rad/s | 2-4 rad/s | 10 rad/s | Spin aids deployment |
| Release Height | 1.0 m | 1.5-2.0 m | 3.0 m | Higher = more time |
8.2 Environmental Requirements
SURFACE REQUIREMENTS:
βββββββββββββββββββββ
β GOOD SURFACES β BAD SURFACES
ββββββββββββββ βββββββββββββ
β’ Concrete β’ Sand (absorbs energy)
β’ Asphalt β’ Grass (unpredictable)
β’ Hard-packed dirt β’ Water (no bounce lol)
β’ Gym floor β’ Mud
β’ Metal deck β’ Foam/carpet
WIND CONDITIONS:
ββββββββββββββββ
Optimal: 3-8 m/s (light breeze)
- Enough wind for sail control
- Not so much it tumbles the ball pre-impact
Maximum: 15 m/s
- Beyond this, deploy timing unreliable
9. INTEGRATION WITH MARIONETTE SPOOL
This system IS the marionette spool, just with a bouncy ball deployment shell:
SYSTEM EQUIVALENCE
ββββββββββββββββββ
STANDARD MARIONETTE RICOCHET DEPLOYMENT
(hand throw) (bouncy ball)
βββββββββ βββββββββββββββββ
βSPOOL β β SUPERBALL β
β β β Human β βββββββββββββ β
β BRAIN β throws β β SPOOL β β β Human
β β β β BRAIN β β throws
βββββββββ β βββββββββββββ β
β βββββββββ¬ββββββββ
β β
βΌ βΌ
UNRAVEL by UNRAVEL by
centrifugal force IMPACT + BOUNCE
from throw spin + centrifugal
β β
βΌ βΌ
βββββββββββββββββ βββββββββββββββββ
β MARIONETTE β β MARIONETTE β
β FLIGHT MODE β βββββ β FLIGHT MODE β
βββββββββββββββββ βββββββββββββββββ
SAME SYSTEM!
(different deployment trigger)
10. VARIANT: BOLA MODE CASCADE
For the full bola experience - throw MULTIPLE balls that link mid-air:
MULTI-BALL BOLA ERUPTION
ββββββββββββββββββββββββ
THROW: BOUNCE: LINK:
β β β β΅ β΅ β΅ β΅ β΅ββββββββ΅
\ β / \β/ \β/ \ /
\ β / βββββββββ \ /
\β/ β β \ /
βΌ β β \ /
βββββββββββ βββββββββββββββββββ βββββββββ
β
MAGNETIC β΅ββββΌββββ΅
DOCKING β
βββββ¬ββββ
β
FULL BOLA
CONSTELLATION!
11. IMPLEMENTATION NOTES
Python Module Location
src/physics/ricochet_deployment.py
Key Classes
SuperballShell- Rubber shell physics + latch mechanismImpactTrigger- G-force detection and timingBounceDynamics- Restitution and rebound calculationEruptionSequencer- Shell separation + sail payout timingRicochetMarionette- Full integrated system
Integration Points
src/physics/marionette_spool.py- Core spool mechanicssrc/physics/slingshot_dynamics.py- Bola physicssrc/physics/tether_dynamics.py- Cable payoutsrc/ai/dreamer_interface.py- Champion brain
12. FUTURE WORK
- Multi-bounce recovery - What if first bounce fails to trigger?
- Angle compensation - Non-vertical bounces, spin correction
- Water landing variant - Buoyant shell for maritime ops
- Sound-triggered variant - Clap or whistle to deploy (no ground needed)
"The ground is not the enemy. The ground is the launch pad."
β RICOCHET-001 Design Philosophy