5.2.4 Padding
The padding subsystem provides safe, realistic striking targets and embeds impact sensing for training analytics. It must absorb repeated high-velocity strikes without transmitting dangerous forces to internal mechanisms or the user, while allowing embedded IMU sensors to detect each impact.
Requirements & Considerations
This subsystem addresses DO-1 (Performance Analytics) and DO-4 (Adaptive Fight Intelligence). Requirements were derived from the need to absorb repeated punch impacts safely and provide strike-zone discrimination for training analytics.
System Requirements
The following system-level requirement is inherited from the Robot Mechanism (Section 5.2) requirements table and governs all padding design decisions:
| ID | Requirement | Source |
|---|---|---|
| RM-6 | Absorb repeated strikes without damage; provide impact detection across all three target zones (Head, Celiac Plexus, Liver) | DO-1 (Performance Analytics), DO-4 (Adaptive Fight Intelligence), Appendix 6 |
Subsystem Acceptance Criteria
The following acceptance criteria were derived from design decisions specific to this subsystem that introduce failure modes not captured by the system-level requirement above. PAD-AC-1 arises because RM-6 states "provide impact detection" but does not specify a minimum detection rate: the choice to use an IMU threshold-based algorithm (L2 norm ≥ 2.0 g) introduces a miss-detection failure mode driven by threshold calibration, sensor placement, and padding damping. A 95% true-positive rate is needed to make training analytics meaningful. PAD-AC-2 arises because RM-6 does not specify that the sensing system must differentiate force intensity: the IMU L2 vector norm response must be monotonically ordered (light < medium < heavy) for the analytics layer to provide meaningful skill-level feedback. This is a data-quality failure mode not captured by any RM code.
| ID | Acceptance Criterion | Derives From | Verification Test |
|---|---|---|---|
| PAD-AC-1 | IMU strike detection rate ≥ 95% true positive across all three zones (60-punch controlled test) | IMU threshold algorithm (L2 norm ≥ 2.0 g); detection-rate failure mode not specified in RM-6 | 20 controlled punches × 3 zones = 60 total; ≥ 57 detected for pass |
| PAD-AC-2 | Impact force differentiation monotonic: mean L2 norm light < medium < heavy (3 users, one-way ANOVA p < 0.05) | IMU L2 norm analytics (Section 5.2.4.2); force-differentiation quality not addressed in RM-6 | 3 users × 30 punches (10 per intensity); ANOVA on L2 norm distributions |
Table: Padding Subsystem Requirements and Acceptance Criteria
System Design Narrative
Following the Systems Engineering V-Model introduced in Section 3.2, RM-6, PAD-AC-1, and PAD-AC-2 were fixed before detailed foam selection, sensor placement, or detection algorithm decisions were made. The diagram below applies the V-Model to the Padding subsystem specifically.
Figure: Systems Engineering V-Model for the BoxBunny Padding subsystem, tracing RM-6, PAD-AC-1, and PAD-AC-2 from design decomposition through integration to verification closure.
Left Side of the V: Design Decomposition
RM-6 (absorb strikes + impact detection) drove the multi-layer padding architecture: polyethylene foam outer layer, anti-vibration isolation mounts to protect the drivetrain, and MPU6050 IMU sensors embedded between the foam surface and the isolation interface. PAD-AC-1 (95% detection rate) drove the IMU threshold calibration (L2 norm ≥ 2.0 g), the dual-bus I²C topology (four sensors across two hardware buses on Teensy 4.0), and the Hard STOP bus-hang recovery protocol. PAD-AC-2 (force differentiation) drove using the L2 norm magnitude as the sensing metric rather than a binary threshold, ensuring graded response across punch intensities.
Base of the V: Integration Build
At integration stage, the foam pads with embedded IMU sensors were mounted to the arm assembly via anti-vibration isolation mounts. Four MPU6050 sensors were wired across two I²C buses on the Teensy 4.0, firmware initialised and confirmed communicating, and the /strike_events ROS 2 topic was verified publishing correctly during initial impact tests.
Right Side of the V: Verification Closure
PAD-AC-1 closes via the 60-punch controlled detection test (≥ 57 punches detected). PAD-AC-2 closes via the L2-norm monotonicity test (3 users × 3 intensities, one-way ANOVA). RM-6 (structural survivability) closes via the 200-punch mechanical endurance test. Full test procedures are in Testing & Evaluation.
Design
Multi-Layer Padding Architecture
A multi-layer construction with anti-vibration isolation mounts separates impact absorption (outer foam) from structural mounting (isolation interface to arm mechanism).
- Outer layer: Polyethylene foam — lightweight, sufficient energy absorption for repeated strikes
- Isolation mounts: Anti-vibration mounts decouple the padding from the 2-DOF arm mechanism, preventing impact vibration from propagating into 3D-printed drivetrain components
- Sensing layer: MPU6050 IMU sensors at Head, Celiac Plexus, and Liver zones — embedded between the foam surface and the isolation interface
The isolation mount is critical because the Arm Actuation subsystem's 3D-printed gears and Delrin alignment pins are optimised for torsional and compressive loads, not repeated transverse impacts. Without mechanical decoupling, user punches to the padding would transmit impulse forces directly into the gear mesh, accelerating fatigue failure.
Low-Level Control — IMU Sensing Pipeline
Quad-IMU I²C Topology
Up to four MPU6050 6-axis IMUs (3-axis accelerometer + 3-axis gyroscope) are distributed across the padding zones to detect and classify physical strikes. The sensor placement enables spatial discrimination — determining not only whether a punch landed, but where on the robot's body it connected.
The MPU6050 supports only two I²C addresses (0x68
and 0x69, selected by the AD0 pin). To accommodate
four sensors, the Teensy 4.0's two independent hardware I²C
buses are both utilised:
| I²C Bus | Teensy Pins | Address 0x68 | Address 0x69 |
|---|---|---|---|
Wire |
SDA: Pin 18, SCL: Pin 19 | Centre Body | Left Body |
Wire1 |
SDA: Pin 17, SCL: Pin 16 | Right Body | Reserved (Head) |
Both buses operate at 400 kHz (I²C Fast Mode). Each MPU6050 read transaction requires approximately 14 bytes, consuming ~280 µs per sensor at 400 kHz.
Strike Detection Pipeline
The raw 3-axis acceleration from each IMU is included in the
expanded /motor_feedback payload (21 doubles)
published via micro-ROS at 200 Hz. On the application side
(the application), the IMU Diagnostics Tab computes the
L2 norm of each sensor's acceleration vector:
||a|| = √(ax² + ay² + az²)
When ||a|| exceeds a configurable threshold (default: 2.0 g),
the system registers a valid strike event and publishes the
event data (sensor ID, peak acceleration, timestamp) to the
/strike_events ROS 2 topic.
IMU Timing Budget within 200 Hz Unified Loop
The IMU subsystem was originally validated on a
dedicated Teensy as a standalone calibration rig,
achieving 500 Hz sampling across four sensors
without packet loss. After merging into the main
teensy_firmware_V4.ino, the I²C reads share the
5 ms (200 Hz) loop budget with CAN motor commands and micro-ROS
publishing:
| Task | Allocation |
|---|---|
| CAN Tx/Rx (4 motors) | ~0.8 ms |
| I²C IMU reads (up to 4 sensors) | ~1.1 ms |
| micro-ROS publish | ~0.5 ms |
| Safety checks + logic | ~0.4 ms |
| Headroom | ~2.2 ms (44%) |
Total worst-case utilisation: ~2.8 ms of the 5.0 ms budget (56%). The 2.2 ms headroom ensures the loop does not overrun even under I²C retry conditions.
Validation
The following table summarises the verification outcome for the padding subsystem, tracing closure back to the Robot Mechanism verification matrix.
| ID | Requirement | Verification Method | Measured Result | Status |
|---|---|---|---|---|
| RM-6 | Absorb repeated strikes without damage; multi-layer foam survives 200-punch endurance session | 200-punch mechanical endurance test; visual inspection post-session | Multi-layer foam + isolation mount design confirmed; formal 200-punch endurance test not yet conducted | |
| PAD-AC-1 | IMU strike detection rate ≥ 95% true positive (60-punch test across 3 zones) | 20 punches × 3 zones; ≥ 57 detected for pass; GUI IMU Diagnostics Tab + video evidence | IMU 4-sensor topology confirmed operational; 60-punch controlled test not yet conducted | |
| PAD-AC-2 | L2 norm force differentiation monotonic: light < medium < heavy (3 users, ANOVA p < 0.05) | 3 users × 30 punches; one-way ANOVA on L2 norm distributions per intensity level | L2 norm algorithm implemented and verified in integration; statistical differentiation test not yet conducted |
Detailed Documentation
For in-depth technical details, refer to the padding-specific documentation:
Cross-References
- 5.2.5 Arm Actuation — The padding is mechanically attached to the 2-DOF arm via anti-vibration isolation mounts. The integration between padding sensing and arm control is discussed at the Robot Mechanism system level. Coordinated strike validation using IMU feedback as input is documented as a validation component under Arm Actuation.