Technical Documentation: Settings - Robot Configuration
Architecture




Managed as a primary tab within the SettingsScreen. It provides a REST-based interface for modifying the robot's physical configuration files stored on the robot's filesystem.
Technical Details
- File Path: lib/screens/settings_screen.dart (Robot Tab)
- Data Model: RobotConfig (Stores name, speed limits, battery thresholds).
- Persistence: Interacts with the /api/settings/robot endpoint, which writes JSON/YAML config to the robot's persistent storage.
Key Configuration Keys
- max_velocity_linear: Float value (m/s) sent to the Nav2 planner.
- max_velocity_angular: Float value (rad/s) for rotation capping.
- low_battery_threshold: Integer percentage (1-100) that triggers return-to-home logic.
- robot_display_name: Synchronized across the UI header and database.
Implementation Details
- Input Validation: Uses TextEditingController with numeric validators to ensure speed and acceleration values are within safe hardware ranges.
- Sync Routine: Upon saving, the backend automatically triggers a ROS 2 Parameter Update service to apply new speed limits without requiring a full system restart.