Search docs...
K

Technical Documentation: Waypoint Management

Architecture

waypoint_init (Light Theme)waypoint_init (Dark Theme)
waypoint_running (Light Theme)waypoint_running (Dark Theme)

Waypoints are managed as a collection in the Go Backend's SQL database and synchronized with the robot's local storage. The RosProvider maintains the active waypoint list for the UI.

Technical Details

  • File Path: lib/screens/waypoint_screen.dart
  • Data Model:
    Json
    {
      "id": "uuid",
      "name": "Charging Station",
      "map_id": "current_map_uuid",
      "x": 1.25,
      "y": -3.40,
      "theta": 1.57,
      "metadata": { "icon": "battery", "color": "green" }
    }
  • Backend Endpoints:
    • GET /api/waypoints?map_id=...
    • POST /api/waypoints: Create/Update.
    • DELETE /api/waypoints/:id

Integration Logic

  • Coordinate System: Waypoint coordinates are stored in the "Map Frame" (Meters), making them persistent even if the robot is rebooted or moved.
  • Visualization: Waypoints are rendered as MarkerArray messages on the /waypoint_markers topic, allowing them to be seen in both the Atman UI and standard ROS tools like RViz.
  • Navigation Trigger: Selecting a waypoint invokes the rosProvider.navigateToWaypoint() method, which wraps the NavigateToPose action call.
© 2026 Robotoai. All rights reserved.