Protects expensive sensors when robot tips over during testing.
Files added:
chassis/bumper_frame.scad — roll cage (25 mm stem collar + 4 inclined
posts + crown ring + TPU snap pad). Posts at
45/135/225/315° between cameras. Crown at
Z=148 mm above cage collar, 18 mm above RPLIDAR
top. RPLIDAR FOV unobstructed.
chassis/base_bumper.scad — clip-on bumper ring for 270×240 mm base plate.
50 mm tall, 15 mm standoff, rounded corners.
4× corner + 4× side clip brackets. TPU snap
edge caps. FC status LEDs remain visible.
chassis/stem_protector.scad — split TPU sleeve for 25 mm stem. Snap-fit
closure (no hardware). Install 3–4 sleeves
along stem at ~200 mm intervals.
chassis/bumper_BOM.md — full BOM, print settings, install heights,
mass estimate (~500 g total, balanced).
All parts print without supports. Fully removable (clip/snap/clamp).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
170 lines
6.4 KiB
Markdown
170 lines
6.4 KiB
Markdown
# SaltyBot Bumper & Crash Protection — BOM + Assembly Notes
|
||
**Rev A — 2026-03-01 — sl-mechanical**
|
||
|
||
---
|
||
|
||
## System Overview
|
||
|
||
Three independent protection layers:
|
||
|
||
| Layer | File | Protects |
|
||
|-------|------|----------|
|
||
| Sensor head roll cage | `bumper_frame.scad` | RPLIDAR, RealSense, 4× IMX219 |
|
||
| Base plate bumper ring | `base_bumper.scad` | FC, motors, wiring, wheels |
|
||
| Stem impact sleeves | `stem_protector.scad` | 25 mm stem tube along length |
|
||
|
||
---
|
||
|
||
## Design Constraints Met
|
||
|
||
| Constraint | How addressed |
|
||
|-----------|---------------|
|
||
| RPLIDAR 360° FOV | Roll cage posts at 45°/135°/225°/315° (between cameras). At RPLIDAR scan-plane height (~105 mm from cage collar), posts are ~78 mm from stem CL — well outside RPLIDAR body (35 mm radius). Crown ring sits at Z=148 mm, above RPLIDAR top. |
|
||
| Camera views | Posts avoid all four camera directions (0°/90°/180°/270°). |
|
||
| FC status LEDs | Base bumper clips below plate edge — does not cover plate top face or sides. LEDs remain visible. |
|
||
| Removable | All parts clip or clamp; no permanent fasteners into robot structure. |
|
||
| No supports | All parts print flat-face-down (collar halves, posts, crown ring, brackets, sleeves). |
|
||
| Lightweight | PLA frame + TPU pads only where needed; crown ring is hollow, brackets are thin-wall. |
|
||
|
||
---
|
||
|
||
## Part A — Sensor Head Roll Cage (`bumper_frame.scad`)
|
||
|
||
### Printed parts
|
||
|
||
| # | RENDER | Qty | Material | Settings | Notes |
|
||
|---|--------|-----|----------|----------|-------|
|
||
| 1 | `collar_front` | 1 | PETG | 5 perims, 40% infill | Flat-face-down |
|
||
| 2 | `collar_rear` | 1 | PETG | 5 perims, 40% infill | Flat-face-down; mirror of front |
|
||
| 3 | `post` | 4 | PETG or PLA | 4 perims, 25% infill | Lay flat on narrow face |
|
||
| 4 | `crown` | 1 | PETG or PLA | 4 perims, 30% infill | Flat (natural print orientation) |
|
||
| 5 | `tpu_pad` | 1 | TPU 95A | 3 perims, 20% infill, 25 mm/s | Snap-on crown impact ring |
|
||
|
||
### Fasteners
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 6 | M4×25 SHCS | 2 | Cage collar clamping bolts |
|
||
| 7 | M4 hex nut | 2 | Captured in collar rear half |
|
||
| 8 | M4×10 set screw | 1 | Height/rotation lock (front collar) |
|
||
| 9 | M4×20 SHCS | 8 | Post-to-collar (2 per post, through boss) |
|
||
| 10 | M4×16 SHCS | 8 | Post-to-crown (2 per post, through crown top) |
|
||
| 11 | M4 hex nut | 8 | Under collar for post bolts |
|
||
| 12 | M4 flat washer | 16 | All M4 bolt heads |
|
||
|
||
### Cage installation — height reference
|
||
|
||
```
|
||
Z from cage collar base:
|
||
Z = 0 mm — cage collar bottom (clamp to stem here)
|
||
Z = 24 mm — cage collar top
|
||
Z = 54 mm — sensor-head collar bottom (≈30 mm above cage collar)
|
||
Z = 90 mm — sensor-head collar top + platform
|
||
Z = 100 mm — RPLIDAR base (above anti-vibration ring)
|
||
Z = 130 mm — RPLIDAR top
|
||
Z = 148 mm — cage crown ring (12 mm clear of RPLIDAR)
|
||
```
|
||
|
||
> **Install the cage collar ~30 mm BELOW the sensor-head collar on the same 25 mm stem.**
|
||
> Slide collar down stem, position posts, attach crown ring, then tighten collar clamp bolts.
|
||
|
||
---
|
||
|
||
## Part B — Base Plate Bumper (`base_bumper.scad`)
|
||
|
||
### Printed parts
|
||
|
||
| # | RENDER | Qty | Material | Notes |
|
||
|---|--------|-----|----------|-------|
|
||
| 13 | `corner` | 4 | PETG | Print upright (Z = tall dimension); 4 perims, 40% infill |
|
||
| 14 | `side` | 4 | PETG | Same orientation; 4 perims, 40% infill |
|
||
| 15 | `tpu_cap` | ~14 | TPU 95A | 40 mm segments; install end-to-end along all rails |
|
||
|
||
### Rails (straight sections between clips)
|
||
|
||
Rails can be 3D-printed from SCAD profile or procured:
|
||
|
||
| # | Description | Qty | Size | Alternative |
|
||
|---|-------------|-----|------|-------------|
|
||
| 16 | Front rail | 1 | 8×50×270 mm PLA/PETG extrusion | 25×8 mm aluminium flat bar |
|
||
| 17 | Rear rail | 1 | 8×50×270 mm | same |
|
||
| 18 | Left side rail | 1 | 8×50×240 mm | same |
|
||
| 19 | Right side rail | 1 | 8×50×240 mm | same |
|
||
|
||
> **DXF export:** `RENDER="rail_2d"` gives the 8×50 mm cross-section. Extrude to required length in CAM software.
|
||
|
||
### Fasteners
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 20 | M4×16 SHCS | 16 | Rail to corner bracket (2 heights × 2 rails per corner = 4 per corner × 4) |
|
||
| 21 | M4×16 SHCS | 8 | Rail to side bracket (2 per side bracket × 4) |
|
||
| 22 | M3×8 set screw | 16 | Bracket lock to plate edge (2 per clip × 8 clips) |
|
||
| 23 | M4 hex nut | 24 | All M4 rail bolts |
|
||
|
||
### Installation — clip orientation
|
||
|
||
```
|
||
TOP VIEW of base plate corner:
|
||
|
||
plate edge (Y direction)
|
||
│
|
||
───────────┤
|
||
│◄── corner_bracket arm sits here, M3 set screw bites plate edge
|
||
plate │
|
||
───────────┘
|
||
↑
|
||
plate edge (X direction)
|
||
```
|
||
|
||
The clip slot engages the BOTTOM face of the plate. Slide bracket onto corner from below; tighten M3 set screws finger-tight → hand-tight.
|
||
|
||
---
|
||
|
||
## Part C — Stem Protector (`stem_protector.scad`)
|
||
|
||
### Printed parts
|
||
|
||
| # | RENDER | Qty | Material | Notes |
|
||
|---|--------|-----|----------|-------|
|
||
| 24 | `front` | 3–4 | TPU 95A | Flat-face-down; qty = no. of stem zones to protect |
|
||
| 25 | `rear` | 3–4 | TPU 95A | Mirror; snap together around stem |
|
||
|
||
### Recommended placement (25 mm stem, ~1000 mm total stem)
|
||
|
||
| Position | Z from base plate | Purpose |
|
||
|----------|-----------------|---------|
|
||
| Sleeve 1 | 50–130 mm | Lowest zone — hit first in a side-fall |
|
||
| Sleeve 2 | 300–380 mm | Mid stem (near battery carousel) |
|
||
| Sleeve 3 | 600–680 mm | Upper stem |
|
||
| Sleeve 4 | 850–930 mm | Below sensor head collar |
|
||
|
||
### No fasteners required
|
||
Sleeves snap closed around stem. For extra security on smooth aluminium stem: wrap one loop of 25 mm Velcro strap over each sleeve before snapping closed.
|
||
|
||
---
|
||
|
||
## Tools Required for Assembly
|
||
|
||
- M2.5 / M3 / M4 hex drivers
|
||
- Torque wrench: M4 cage-collar bolts 2 N·m, M3 set screws 0.8 N·m
|
||
- Thread locker (Loctite 243 blue) on cage crown M4 bolts
|
||
|
||
---
|
||
|
||
## Mass Estimate
|
||
|
||
| Part | Material | Est. mass |
|
||
|------|----------|-----------|
|
||
| Roll cage collar (×2 halves) | PETG | ~60 g |
|
||
| Roll cage posts (×4) | PETG | ~80 g |
|
||
| Crown ring | PETG | ~45 g |
|
||
| TPU crown pad | TPU | ~15 g |
|
||
| Base bumper (×4 corners + ×4 sides) | PETG | ~160 g |
|
||
| Base bumper TPU caps | TPU | ~40 g |
|
||
| Stem sleeves (×8 halves) | TPU | ~60 g |
|
||
| Fasteners | SS | ~40 g |
|
||
| **Total** | | **~500 g** |
|
||
|
||
> **Balance note:** All protection hardware is symmetric about the robot's fore-aft axis. Roll cage is symmetric about all axes. Net CG shift is negligible (<5 mm vertical, <2 mm lateral).
|