Repository navigation
v0.2
tagged this
09 Jul 23:54
Server
- Calibration solves much more from the same board photos: the flat-board
planar-PnP ambiguity is resolved (IPPE twins + rigidity flip-descent),
the EL-axis tilt (rocker) and EL encoder scale are refined by corner
reprojection with the linear PARK solve inner-loop, optional AZ-encoder
harmonics (default off), per-view residual diagnostics with a structure
verdict. Sweep presets cap EL at 55 deg to stay off the ambiguity.
- Capture poses come from the calibrated mount chain and are stored in the
stored-pixel frame (quat_frame); SfM priors embed the solved intrinsics
(preset-rotation aware) and the turntable/board block; the priors export
also materializes photos/ next to the manifest.
- Scan loop reliability: per-op retries with a failed_points manifest
record, write-through persistence per capture, dirty-flush on shutdown;
non-blocking queued file logging (data/logs/server.log).
- REST: PATCH /scans/{id} notes/tags, DELETE a stored scan's photo,
per-photo mask/mask_preview routes; fix photo upload (append_capture
was missing from storage); per-axis move speed knobs persisted and
forwarded to the firmware with every move.
COLMAP & masks
- New colmap/masks tool: motion (per-EL-ring temporal median — no empty
shots, no ML), geometric (projected working volume) and SAM2 methods,
deterministic disc/board stamps, fail-open degenerate handling,
COLMAP-ready mask naming and a run manifest.
- Runner updated for COLMAP 3.13+: FeatureExtraction/FeatureMatching
flags, camera model pinned from the priors (fixes the SIMPLE_RADIAL
mismatch abort in point_triangulator), priors synced into the database
with pose_priors + rigs/frames, automatic masks/ pickup, per-step
profiling markers.
- Docker: OpenCV+NumPy inside the colmap image, generate_colmap_masks on
PATH, QT_QPA_PLATFORM=offscreen and shm_size for headless runs; COLMAP
tuning env knobs in docker/.env.example.
Firmware
- Per-move az/el top step-rate caps (the speed knobs, end to end) with a
hard sanity clamp; asymmetric slew — acceleration stays ramped while
deceleration follows the proportional plan, killing overshoot at raised
caps; doubled default caps.
UI
- Machine config gains motion speed knobs; calibrated-chain pose fixes
(no double-counted IMU roll, sensor-frame frustum aspect); RGB point
clouds render untinted; shared download/format utils; top-level tab
state lifted to a store.
Docs & tooling
- README/docs rewritten to the real pipeline and mask tool; .gitattributes
pins *.sh to LF (a CRLF checkout shipped a broken script into the
container); the rig GLB now resolves from cad/assembly out of the box.