Adds stereo ORB-based visual odometry to saltybot_visual_odom package. New modules: - orb_stereo_matcher.py: ORB feature detection (cv2.ORB_create) with BFMatcher NORM_HAMMING + Lowe ratio test for temporal matching (infra1 prev→curr). Stereo scale method matches infra1↔infra2 under epipolar row constraint (|Δrow|≤2px), computes depth = baseline_m * fx / disparity. - stereo_orb_node.py: StereoOrbNode subscribes to infra1+infra2+depth (ApproximateTimeSynchronizer 3-topic), detects/matches ORB temporally, estimates SE(3) via Essential matrix (5-point RANSAC) using StereoVO, recovers metric scale from D435i aligned depth (primary) or stereo baseline disparity (fallback). Publishes nav_msgs/Odometry on /saltybot/visual_odom and broadcasts TF2 odom→camera_link. Baseline auto-updated from infra2 camera_info Tx (overrides parameter). - config/stereo_orb_params.yaml, launch/stereo_orb.launch.py - setup.py: adds stereo_orb entrypoint, installs launch+config dirs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
SaltyLab self-balancing bot firmware (STM32F722)
Languages
Python
67.1%
C
11.4%
JavaScript
9.2%
OpenSCAD
7.8%
HTML
1.5%
Other
2.9%