Implement multi-sensor terrain classification using RealSense D435i depth and RPLIDAR A1M8: - saltybot_terrain_classification: New ROS2 package for terrain classification - TerrainClassifier: Rule-based classifier matching depth variance + reflectance to terrain type (smooth/carpet/grass/gravel) with hysteresis + confidence scoring - DepthExtractor: Extracts roughness from depth discontinuities and surface gradients - LidarExtractor: Extracts reflectance from RPLIDAR scan intensities - terrain_classification_node: 10Hz node fusing both sensors, publishes: - /saltybot/terrain_type (JSON with type, confidence, speed_scale) - /saltybot/terrain_type_string (human-readable type) - /saltybot/terrain_speed_scale (0.0-1.0 speed multiplier for smooth/carpet/grass/gravel) Speed scales: smooth=1.0, carpet=0.9, grass=0.75, gravel=0.6 Co-Authored-By: Claude Haiku 4.5 <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%