State machine: idle → patrol → investigate → interact → return - IDLE: Waiting for activation or battery recovery - PATROL: Autonomous patrolling with curiosity-driven exploration (#470) - INVESTIGATE: Approach and track detected persons - INTERACT: Social interaction with face recognition and gestures - RETURN: Navigate back to home/dock with recovery behaviors Integrations: - Patrol mode (#446): Waypoint routes with geofence (#441) - Curiosity behavior (#470): Autonomous exploration - Person following: Approach detected persons - Emergency stop cascade (#459): Highest priority safety - Geofence constraint (#441): Keep patrol within boundaries Blackboard variables: - battery_level: Current battery percentage - person_detected: Person detection state - current_mode: Current behavior tree state - home_pose: Home/dock location Files: - behavior_trees/autonomous_coordinator.xml: BehaviorTree definition - launch/autonomous_mode.launch.py: Full launch setup - saltybot_bringup/bt_nodes.py: Custom BT node plugins - BEHAVIOR_TREE_README.md: Documentation 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%