Skip to content

Rebuild SLAM base image as grabette-vslam:2026-10-20 (multi-arch) - #30

Merged
simheo merged 1 commit into
developfrom
vslam-base-rebuild
Oct 20, 2026
Merged

simheo merged 1 commit into
developfrom
vslam-base-rebuild

Conversation

@simheo

@simheo simheo commented Oct 20, 2026

Copy link
Copy Markdown
Member

pollenrobotics/grabette-vslam:2026-07-22 (= oak-vslam) was built before IMU-less camera support landed in offline_vslam.cpp (590a794). Its binary aborts on every Orbbec Gemini 305 episode (nlohmann type_error.302, calib has no imu_to_cam), and under Docker Desktop + Rosetta the abort spins at 100% CPU. The Space was unaffected because the root Dockerfile recompiles the binary, but local run_slam.py / Docker runs failed.

Published (already pushed)

  • pollenrobotics/grabette-vslam:2026-10-20, multi-arch (amd64 + arm64), built from docker/vslam/ at this tree. :latest now points to it (digest sha256:4226704f…). :2026-07-22 and oak-vslam are unchanged.
  • Anonymous pull checked for both platforms.
  • apt drift vs 07-22: 136 jammy point/security updates (libc6, libsqlite3, …). OpenCV, PCL, nlohmann-json and Eigen are unchanged. RTAB-Map is still pinned at 0.23.1.

Changes

  • docker/vslam/Dockerfile: BUILD_JOBS build arg, defaulting to nproc so the default behaviour is unchanged. The 10-job RTAB-Map compile OOMs in Docker Desktop's 8 GB VM; the image was built with BUILD_JOBS=4.
  • grabette-postprocess/README.md: pin :2026-10-20, and note multi-arch and BUILD_JOBS.
  • Root Dockerfile: drift comment updated. The binary is still recompiled there.

Validation

convert_episode_for_slam.py + run_slam.py --docker_image …, 3 runs each:

image OAK 20260909_131708 Gemini 20260909_130019
old :2026-07-22 144/144 ×3 abort, 98% CPU spin
new amd64 144/144 ×3 213/213 ×3
new arm64 144/144 ×3 213, 213, 194/213

On OAK, path lengths overlap between the old and new images (1.62–1.72 m old vs 1.53–1.92 m new). Runs vary because SLAM is not deterministic.

Not done: the Space has not been redeployed or test-built on the new base. Its next build picks it up through the unpinned FROM.

🤖 Generated with Claude Code

The published base (:2026-07-22) predated IMU-less camera support in
offline_vslam.cpp, so its binary aborted on every Gemini episode in local
Docker runs. Rebuilt from this tree as a multi-arch image (amd64 + arm64)
and published as :2026-10-20, now also :latest.

- docker/vslam/Dockerfile: BUILD_JOBS build arg (default nproc); the
  10-job RTAB-Map compile OOMs in Docker Desktop's 8 GB VM.
- README: pin :2026-10-20, note multi-arch and BUILD_JOBS.
- Root Dockerfile: update the drift comment.

Assisted-by: Claude:claude-opus-5-5
@simheo
simheo merged commit 39116d8 into develop Oct 20, 2026
2 checks passed
@simheo
simheo deleted the vslam-base-rebuild branch October 20, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant