Technical Documentation: Follow Path Screen
Architecture


This screen leverages the nav_msgs/Path topic and the Nav2 PathFollower controller. It transforms UI drawing events into discrete ROS path points.
Technical Details
- File Path: lib/screens/follow_path_screen.dart
- ROS Integration:
- Topic: /plan (Type: nav_msgs/Path)
- Action: FollowPath Action Server.
- Coordinate Conversion: Uses MapView resolution to transform List<Offset> UI points into List<PoseStamped> for the ROS message.
Path Processing
- Interpolation: Hand-drawn points are often sparse. The system uses Cubic Spline interpolation to ensure the path has at least one point every 0.05m, providing smooth velocity profiles.
- Orientation Calculation: The "Yaw" (heading) for each point in the path is automatically calculated based on the direction of the next point.
- Obstacle Check: Before publishing, the path is validated against the static map to ensure it doesn't pass through walls.
Execution Monitoring
- Look-ahead Distance: The UI visualizes the "Look-ahead" point (the specific goal the local planner is currently chasing), helping operators understand robot behavior in tight corners.