Compare commits
4 Commits
cbd31cf8fc
...
ce4eaa1aaf
| Author | SHA1 | Date | |
|---|---|---|---|
| ce4eaa1aaf | |||
| c395d4e3b0 | |||
| f05fda71ee | |||
| d8c40eb9ed |
@@ -32,10 +32,11 @@ Planned repositories and the reasoning behind the split are described in
|
||||
|
||||
| Part | Role |
|
||||
|---|---|
|
||||
| NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano-2`) | Main compute, JetPack r36.4 / Ubuntu 22.04 |
|
||||
| PEAK PCAN-USB | Car CAN bus access (`can1`, 500 kbps) |
|
||||
| Onboard MTTCan | Second CAN interface (`can0`) |
|
||||
| Waveshare SIM7600G-H-M.2 | LTE Cat 4 + GNSS |
|
||||
| NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano`) | Car unit: main compute, JetPack r36.4 / Ubuntu 22.04 |
|
||||
| NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano-2`) | Development unit: builds, CI, bench (see [REPOS](docs/REPOS.md)) |
|
||||
| PEAK PCAN-USB | Car CAN bus access (`can_pcan`, 500 kbps) |
|
||||
| Onboard MTTCan | Second CAN interface (`can_onboard`) |
|
||||
| Waveshare SIM7600G-H-M.2 | LTE Cat 4 (povo, fallback uplink below WiFi/Ethernet) + GNSS |
|
||||
|
||||
Details and rationale live in the environment repo's
|
||||
[bill of materials](gitea:yukart/orin-nano-env-setup).
|
||||
|
||||
@@ -16,7 +16,7 @@ rest down.
|
||||
## Shape
|
||||
|
||||
```
|
||||
CAN (can1) ──▶ can-bridge ──┐
|
||||
CAN ──▶ can-bridge ──┐
|
||||
OBD-II ──▶ obd-poller ─┤
|
||||
GNSS ──▶ gnss ├──▶ message bus ──┬──▶ recorder (disk)
|
||||
camera ──▶ vision* ─┘ ├──▶ hud (local video out)
|
||||
@@ -84,6 +84,8 @@ Payloads: a self-describing JSON envelope for decoded signals; compact binary fo
|
||||
Every envelope carries **two clocks**. `monotonic` is authoritative for ordering
|
||||
and intervals; `timestamp` is the absolute reference and may step, since the car
|
||||
boots without network and NTP corrects the clock once LTE connects mid-drive.
|
||||
The car unit has no RTC battery, so until then the clock sits at roughly the
|
||||
last shutdown time — offset by however long the car was parked.
|
||||
|
||||
Topic names, payload schemas and the signal registry live in
|
||||
[contracts](gitea:yukart/contracts).
|
||||
@@ -259,10 +261,11 @@ They are never committed. `tool-mapmint` holds the scripts that fetch and build
|
||||
them, plus a report of each build's provenance; `svc-nav` consumes the output. The
|
||||
artifacts themselves live outside git and never touch the workstation-side repo.
|
||||
|
||||
They reach the car by `rsync` **over the LAN only, never over LTE** — the IoT SIM
|
||||
is not a sensible transport for a multi-gigabyte tile set. Gate the sync on a
|
||||
They reach the car by `rsync` **over the LAN only, never over LTE** — the metered
|
||||
povo SIM is not a sensible transport for a multi-gigabyte tile set. Gate the sync on a
|
||||
reachable LAN target rather than on an SSID, so the check validates the thing it
|
||||
actually needs, and treat NetworkManager's metered flag as a second guard.
|
||||
actually needs, and treat NetworkManager's metered flag as a second guard (set on the `povo`
|
||||
connection).
|
||||
Cadence is quarterly or on annoyance; road geometry does not move fast enough to
|
||||
justify anything more.
|
||||
|
||||
|
||||
+6
-2
@@ -153,8 +153,12 @@ Two Orin Nanos, and they have different jobs:
|
||||
|
||||
| Unit | Role |
|
||||
|---|---|
|
||||
| Development Orin | Build, CI runner, bench testing. Always powered, on the LAN |
|
||||
| Car Orin | Deployment target only |
|
||||
| Development Orin (`mikkeli-orin-nano-2`) | Build, CI runner, bench testing. Always powered, on the LAN |
|
||||
| Car Orin (`mikkeli-orin-nano`) | Deployment target only |
|
||||
|
||||
The SIM7600 LTE/GNSS hat lives in the car unit only — its custom enclosure doesn't
|
||||
move between units. Anything touching the modem or gpsd is tested on the car unit;
|
||||
on the development unit, `gnss` runs against its own mock input (decision 19).
|
||||
|
||||
⚠ **The guarantee is version parity, not architecture.** An aarch64 binary built
|
||||
on a newer userland still fails to load on an older one. A JetPack or Ubuntu
|
||||
|
||||
+14
-6
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: plan
|
||||
status: active
|
||||
updated: 2026-09-04
|
||||
updated: 2026-10-08
|
||||
---
|
||||
# Roadmap
|
||||
|
||||
@@ -12,11 +12,19 @@ something demonstrable in the car.
|
||||
|
||||
Getting the Jetson to see the hardware at all.
|
||||
|
||||
- [x] PCAN-USB working as SocketCAN `can1` (out-of-tree `pcan.ko`, netdev build)
|
||||
- [x] PCAN-USB working as SocketCAN (out-of-tree `pcan.ko`, netdev build)
|
||||
- [x] Stable CAN names by udev: `can_pcan`, `can_onboard` — `canN` order raced at boot
|
||||
- [x] SIM7600G-H-M.2 specified and documented
|
||||
- [ ] SIM7600 brought up: LTE data path and GNSS via gpsd
|
||||
- [ ] Kernel-update procedure for the out-of-tree PCAN module — it does not
|
||||
survive kernel upgrades and will break silently
|
||||
- [x] SIM7600 LTE data path: QMI (self-built `qmi_wwan`), povo, metered, ranked
|
||||
below Ethernet/WiFi; failover tested, Tailscale stays reachable over LTE
|
||||
- [ ] SIM7600 GNSS via gpsd — pipeline up (`/dev/sim7600-gps`), **no fix yet**;
|
||||
needs an open-sky test
|
||||
- [x] Kernel-update procedure for the out-of-tree modules (`pcan`, `qmi_wwan`) —
|
||||
documented, sources kept in `~/infra`; still manual, and breaks silently
|
||||
if forgotten
|
||||
- [x] Network time pinned to NICT; timezone `Asia/Tokyo`
|
||||
- [ ] Optional: RTC backup battery (CR2032) — without it the clock boots stale
|
||||
until NTP or GPS corrects it
|
||||
- [ ] Power and mounting in the car: clean shutdown on ignition off
|
||||
|
||||
Tracked in [orin-nano-env-setup](gitea:yukart/orin-nano-env-setup).
|
||||
@@ -79,7 +87,7 @@ and `tool-mapmint` (artifact builds).
|
||||
- [ ] Pull a Japan basemap extract from the Protomaps daily build with
|
||||
`go-pmtiles`; static-serve it, with `localIdeographFontFamily` set for CJK
|
||||
- [ ] MapLibre page rendering the basemap from a replayed GNSS trace
|
||||
- [ ] Moving map live in the car — **blocked on gpsd in Phase 0**
|
||||
- [ ] Moving map live in the car — **blocked on a GNSS fix in Phase 0**
|
||||
- [ ] Meili map matching over recorded sessions, as Phase 2 ground truth
|
||||
- [ ] Routing and turn-by-turn guidance onto `yukart/nav/guidance`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user