lightBot: rebuilt a ROSOrin Pro from a blank drive after apt update broke it (ROS 2 Humble, Orin NX, 37-chapter guide)

Bought a Hiwonder ROSOrin Pro. Ran apt update. Robot stopped working. The vendor image was a pile of pinned packages and hand-edited files nobody wrote down, and one upgrade broke the lot.

So I wiped it and rebuilt from a blank NVMe, writing every step as I went, so the robot has a clean bill of health and I can do it again from nothing. Jetson Orin NX 16 GB, JetPack 6, ROS 2 Humble, Nav2 + SLAM Toolbox, no wheel encoders (rf2o laser odometry + cuVSLAM into an EKF), 5-DOF arm on MoveIt, open-vocabulary vision on the GPU. The local AI can suggest; it can’t move anything without me. Every chapter ends with a test, including one called “prove that it stops.”

Code and guide index: GitHub - burgerbarn/PublicRobot: Code for the lightBot build guide: a ROS 2 home robot on NVIDIA Jetson (JetPack 6, ROS 2 Humble), with a local mind that trains itself in simulation. · GitHub
Full guide: lightBot build guide | matttesch wiki
Clip: https://www.youtube.com/shorts/S2A089r5JIQ

Where I’ve hit a wall: getting the robot to trust its own map generation. It’ll build a map with SLAM Toolbox, but getting it to commit to that map and localize confidently against it afterward, without me babysitting the relocalization, is where I keep stalling. If anyone’s got a setup where the robot maps a house once and then trusts the result, I’d like to hear how you got there.

One more thing I’m chasing, in case anyone’s seen it done: I want the robot to see the room the way an old video game rendered it, Out of This World flat polygons, a few colors, just enough to know what’s floor, what’s wall, what’s a thing, and then turn the detail up only where it matters. I’ve been calling it the reality dial. Cheap everywhere, expensive on demand. Right now it’s crude: a fast open-vocab pass, then the slow detector only on the hits. Is anybody doing level-of-detail perception like this on purpose?