Add parametric OpenSCAD designs for the SaltyRover stable 4-wheel variant. Reuses existing 25mm stem, sensor head, and all SaltyLab sensor mounts without modification. Files: - saltyrover_chassis.scad 480×500mm deck, stem collar, FC+Orin standoffs, motor attachment holes, battery tray opening; RENDER deck_2d for waterjet/CNC DXF - rover_motor_mount.scad L-bracket + axle clamp plate per motor; uses caliper-verified axle dims from BOM.md; dropout slot for tool-free motor swap; RENDER bracket_2d for CNC DXF - rover_battery_tray.scad Slide-out tray for 2-4 × 420×88×56mm packs laid flat (low CG); T-slot rails, spring latch - rover_stem_adapter.scad Flange + split clamp locks 25mm stem to deck collar; 550mm stem option for rover height - rover_BOM.md Assembly sequence, fastener table, mass estimate (~13.4kg), height stack diagram Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
229 lines
8.2 KiB
Markdown
229 lines
8.2 KiB
Markdown
# SaltyRover Chassis — BOM + Assembly Notes
|
||
**Rev A — 2026-03-01 — sl-mechanical**
|
||
**Issue: #73**
|
||
|
||
---
|
||
|
||
## Overview
|
||
|
||
SaltyRover is the stable 4-wheel variant of SaltyLab.
|
||
Low CG, wide track — designed not to tip over.
|
||
Reuses the 25 mm vertical stem, sensor head, RPLIDAR, RealSense,
|
||
IMX219 camera mounts, and roll cage from SaltyLab without modification.
|
||
|
||
```
|
||
Top view (schematic):
|
||
|
||
Forward (+Y)
|
||
│
|
||
◉─────────────────────◉ ← front axle (AXLE_BASE/2 = 170 mm forward)
|
||
│ [Orin NX] │
|
||
│ [battery] │ ← flat packs below deck (low CG)
|
||
│ [battery] │
|
||
│ [FC] │
|
||
◉─────────────────────◉ ← rear axle
|
||
│
|
||
stem (centre)
|
||
|
||
Dimensions (approx):
|
||
Robot width (tyre-to-tyre): ~810 mm (TRACK_W=540 + 2×TIRE_W/2)
|
||
Robot length (axle-to-axle): ~340 mm (AXLE_BASE)
|
||
Deck width: 480 mm
|
||
Deck length: 500 mm
|
||
Ground clearance: ~50 mm (deck bottom to ground)
|
||
Overall height (with 550 mm stem + sensor head): ~800 mm
|
||
```
|
||
|
||
---
|
||
|
||
## Height Stack
|
||
|
||
```
|
||
Z from ground:
|
||
Z = 0 mm — ground
|
||
Z = 50 mm — chassis bottom (battery tray floor)
|
||
Z = 109 mm — deck bottom face
|
||
Z = 117 mm — deck top face (Z=0 in SCAD coords)
|
||
Z = 127 mm — motor axle CL (+10 mm above deck top)
|
||
Z = 139 mm — deck stem collar top (117+22)
|
||
Z = 145 mm — stem adapter flange top (139+6)
|
||
Z = 173 mm — stem clamp top (145+28)
|
||
Z = 723 mm — stem top with 550 mm rover stem
|
||
```
|
||
|
||
---
|
||
|
||
## File Index
|
||
|
||
| File | Description | RENDER |
|
||
|------|-------------|--------|
|
||
| `saltyrover_chassis.scad` | Main deck plate, stem collar, standoffs | `assembly` / `deck` / `deck_2d` |
|
||
| `rover_motor_mount.scad` | L-bracket + axle clamp plate, 4× | `assembly` / `bracket` / `clamp_plate` / `bracket_2d` |
|
||
| `rover_battery_tray.scad` | Slide-out battery tray, 2–4 packs | `assembly` / `tray` / `rail` / `latch` / `tray_2d` |
|
||
| `rover_stem_adapter.scad` | Flange + split clamp, locks stem to deck | `assembly` / `base_flange` / `clamp_front` / `clamp_rear` |
|
||
|
||
---
|
||
|
||
## Part A — Deck Plate (`saltyrover_chassis.scad`)
|
||
|
||
### Structural parts
|
||
|
||
| # | RENDER | Qty | Material | Process | Notes |
|
||
|---|--------|-----|----------|---------|-------|
|
||
| 1 | `deck_2d` | 1 | 8 mm 5052-H32 Al | Waterjet or CNC router | 480×500 mm blank |
|
||
| — | — | — | **or** 8 mm PETG FDM | Print in sections, bolted lap joints | Prototype only |
|
||
|
||
### Fasteners (deck to motor brackets)
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 2 | M5×20 SHCS | 16 | Motor bracket flange to deck (4 per corner × 4) |
|
||
| 3 | M5 hex nut | 16 | Captured on deck underside |
|
||
| 4 | M4×16 SHCS | 4 | Stem adapter flange to deck collar |
|
||
| 5 | M4 flat washer | 4 | Under bolt head |
|
||
|
||
---
|
||
|
||
## Part B — Motor Brackets (`rover_motor_mount.scad`)
|
||
|
||
Print or CNC 4×. Each bracket handles one drive motor.
|
||
|
||
### Printed parts
|
||
|
||
| # | RENDER | Qty | Material | Settings | Notes |
|
||
|---|--------|-----|----------|----------|-------|
|
||
| 6 | `bracket` | 4 | PETG or PC | 5 perims, 60% infill | Print flange face down; add M5 inserts or use nuts |
|
||
| 7 | `clamp_plate` | 4 | PETG | 4 perims, 40% infill | Axle retention; print flat |
|
||
|
||
**CNC alternative:** `bracket_2d` → DXF, CNC route from 10 mm 6061-T6 Al plate.
|
||
|
||
### Fasteners
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 8 | M4×20 SHCS | 8 | Axle clamp plate to bracket (2 per motor × 4) |
|
||
| 9 | M4 hex nut | 8 | Captured in bracket |
|
||
| 10 | Axle lock nut | 4 | Axle tip retention — **verify axle thread before ordering** (BOM.md: Ø≈10 mm tip) |
|
||
| 11 | M5×20 SHCS | 16 | Bracket flange to deck (from item 2 above) |
|
||
|
||
> ⚠ **Axle note:** BOM.md caliper values: base OD 16.11 mm, D-cut OD 15.95 mm, flat chord 13.00 mm.
|
||
> Verify AXLE_D / AXLE_FLAT / BEARING_OD in `rover_motor_mount.scad` before printing.
|
||
|
||
---
|
||
|
||
## Part C — Battery Tray (`rover_battery_tray.scad`)
|
||
|
||
### Printed parts
|
||
|
||
| # | RENDER | Qty | Material | Settings | Notes |
|
||
|---|--------|-----|----------|----------|-------|
|
||
| 12 | `tray` | 1 | PETG | 4 perims, 30% infill | Print open-top face up; no supports |
|
||
| 13 | `rail` | 2 | PETG | 5 perims, 40% infill | T-slot slide rail; print top-face down |
|
||
| 14 | `latch` | 1 | PETG or TPU 95A | 4 perims, 30% infill | Spring retention clip; TPU gives better snap feel |
|
||
|
||
### Fasteners
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 15 | M4×12 FHCS | 6 | Slide rail to deck underside (3 per rail, countersunk) |
|
||
| 16 | M4 T-nut or nyloc | 6 | Captured under deck for rail bolts |
|
||
| 17 | M3×10 SHCS | 2 | Spring latch to tray end |
|
||
| 18 | Velcro strap 25 mm × 500 mm | 4–8 | Battery pack retention (1–2 per pack through tray floor slots) |
|
||
|
||
### Batteries
|
||
|
||
| # | Part | Qty | Spec |
|
||
|---|------|-----|------|
|
||
| 19 | Battery pack | 2–4 | 24 V, **420×88×56 mm** (BOM.md caliper-verified) |
|
||
| 20 | BMS board | 1 | Matched to cell chemistry; mount to deck underside near Y+ wall |
|
||
|
||
---
|
||
|
||
## Part D — Stem Adapter (`rover_stem_adapter.scad`)
|
||
|
||
| # | RENDER | Qty | Material | Settings | Notes |
|
||
|---|--------|-----|----------|----------|-------|
|
||
| 21 | `base_flange` | 1 | PETG | 5 perims, 40% infill | Print flat; add M4 brass inserts or use through-bolts |
|
||
| 22 | `clamp_front` | 1 | PETG | 5 perims, 40% infill | Flat-face down |
|
||
| 23 | `clamp_rear` | 1 | PETG | 5 perims, 40% infill | Mirror; flat-face down |
|
||
|
||
### Fasteners
|
||
|
||
| # | Spec | Qty | Use |
|
||
|---|------|-----|-----|
|
||
| 24 | M4×20 SHCS | 2 | Stem clamp clamping bolts |
|
||
| 25 | M4 hex nut | 2 | Captured in clamp rear half |
|
||
| 26 | M4×8 set screw | 1 | Rotation lock (front half) |
|
||
| 27 | M4×16 FHCS | 4 | Flange to deck collar (countersunk) |
|
||
|
||
### Stem tube
|
||
|
||
| # | Part | Qty | Spec | Notes |
|
||
|---|------|-----|------|-------|
|
||
| 28 | Vertical stem | 1 | 25 mm OD × 1.5 mm wall 6061-T6 Al, **550 mm length** | Cut from 1 m stock; SaltyLab uses 1000 mm |
|
||
|
||
> Sensor head, RPLIDAR, cameras, and roll cage from SaltyLab mount
|
||
> directly onto this 25 mm stem — no modifications required.
|
||
|
||
---
|
||
|
||
## Motors
|
||
|
||
Same hoverboard hub motors as SaltyLab. **4× required for rover.**
|
||
|
||
| # | Part | Qty | Spec |
|
||
|---|------|-----|------|
|
||
| 29 | Hub motor | 4 | 10×2.125" tire, 36V nominal, ~350W; axle OD 16.11mm (caliper) |
|
||
| 30 | Motor cable extension | 4 | 6-pin JST-PH 300 mm hall sensor + 3-phase power |
|
||
|
||
---
|
||
|
||
## Mass Estimate
|
||
|
||
| Assembly | Est. mass |
|
||
|----------|-----------|
|
||
| Al deck plate | ~1.4 kg |
|
||
| Motor brackets × 4 (PETG) | ~0.5 kg |
|
||
| Hub motors × 4 | ~7.2 kg |
|
||
| Battery packs × 2 | ~1.4 kg |
|
||
| Battery tray (PETG) | ~0.3 kg |
|
||
| Stem + sensor head (from SaltyLab) | ~1.5 kg |
|
||
| Electronics (FC + Orin + wiring) | ~0.6 kg |
|
||
| Stem adapter + hardware | ~0.2 kg |
|
||
| Fasteners | ~0.3 kg |
|
||
| **Total estimate** | **~13.4 kg** |
|
||
|
||
> Wide 540 mm track + low 117 mm deck height → tip-over angle > 45°.
|
||
> CG is at approximately Z = 200 mm with packs flat and full payload.
|
||
|
||
---
|
||
|
||
## Assembly Sequence
|
||
|
||
1. **Deck plate:** Cut or print `deck_2d`. Waterjet preferred for Al.
|
||
2. **Motor brackets:** Print (or CNC) 4× `bracket` + 4× `clamp_plate`.
|
||
- Test-fit axle D-cut bore before assembling to deck.
|
||
3. **Slide rails:** Print 2× `rail`. Bolt to deck underside.
|
||
4. **Stem adapter:** Print `base_flange` + `clamp_front` + `clamp_rear`.
|
||
- Insert stem through deck collar bore; seat flange on collar top.
|
||
- Bolt flange with 4× M4×16 FHCS.
|
||
- Slide clamp halves on stem above flange; tighten M4 clamping bolts (1.5 N·m).
|
||
- Tighten M4 set screw.
|
||
5. **Motor brackets:** Slide flange into deck edge slot; 4× M5×20 bolts.
|
||
- Do not torque until axle alignment is confirmed.
|
||
6. **Motors:** Drop axle into bracket dropout slot. Install clamp plate.
|
||
- Tighten clamp M4 bolts. Axle lock nut finger-tight + ¼ turn.
|
||
7. **Battery tray:** Slide tray in from +X with packs loaded.
|
||
- Latch snaps at full insertion.
|
||
8. **Sensor head + stem accessories:** Install from SaltyLab as-is.
|
||
- Recommend 550 mm stem for rover (sensor head at ~720 mm, stable).
|
||
|
||
---
|
||
|
||
## Tools Required
|
||
|
||
- M3/M4/M5 hex drivers
|
||
- Torque wrench: M5 structural bolts 4 N·m, M4 clamp bolts 1.5 N·m
|
||
- Thread locker (Loctite 243 blue) on axle lock nuts and stem clamp set screw
|
||
- Dial caliper — verify axle dimensions before bracket print/CNC
|