[P1] Terrain classification — surface type detection for speed adaptation #469

Closed
opened 2026-03-05 12:07:02 -05:00 by sl-jetson · 0 comments
Collaborator

Goal

Detect surface type (pavement, grass, gravel, indoor tile) and adapt driving behavior.

Requirements

  • ROS2 node using RealSense RGB downward-facing crop or IMU vibration analysis
  • Classify: pavement (fast), grass (medium), gravel (slow + careful), sand (very slow), indoor (quiet mode)
  • IMU-based: analyze vibration frequency spectrum for surface roughness
  • Camera-based: texture classification CNN (small model, Orin inference)
  • Publish /saltybot/terrain (TerrainState.msg: type, roughness_score, recommended_speed)
  • Auto-adapt: reduce max speed on rough terrain, increase on smooth
  • Integration with smooth velocity controller (#455)
  • Log terrain encounters for mapping
## Goal Detect surface type (pavement, grass, gravel, indoor tile) and adapt driving behavior. ## Requirements - ROS2 node using RealSense RGB downward-facing crop or IMU vibration analysis - Classify: pavement (fast), grass (medium), gravel (slow + careful), sand (very slow), indoor (quiet mode) - IMU-based: analyze vibration frequency spectrum for surface roughness - Camera-based: texture classification CNN (small model, Orin inference) - Publish /saltybot/terrain (TerrainState.msg: type, roughness_score, recommended_speed) - Auto-adapt: reduce max speed on rough terrain, increase on smooth - Integration with smooth velocity controller (#455) - Log terrain encounters for mapping
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: seb/saltylab-firmware#469
No description provided.