Skip to content

System Architecture

Dylan Starink edited this page Feb 15, 2023 · 6 revisions

Node Layout

Node layout is diagramed on here

ActionLib Servers

Action: Manual Control

  • Goal: None
  • Feedback: None
  • Result: None
  • Notes: Preemption is expected in order to switch to a new action, as this action never finishes.

Action: Navigation Engine

  • Goal: Path
    • Message Type: std_msgs/String
    • Possible Value:
      • "/home/beagle/path/aroundLake.csv"
  • Feedback: % Completed of Path
    • Message Type: std_msgs/Float32
    • Possible Values:
      • 0.5 (50% Completed)
      • 0.995 (99.5% Completed, 100% is not possible, since action will complete once we complete path)
  • Result: None

Message Descriptions

Topic: /user/command

  • Message Type: std_msgs/String
  • Possible Values:
    • "STOP"
    • "MANUAL"
    • "AUTO"

Topic: /user/manual/throttle

  • Message Type: roboat_pkg/msg/ThrustVector2
  • Possible Values:
    • <0.5, 0.5> (Thrust at half power straight)
    • <0,0> (Motors off)

Topic: /user/auto/path

  • Message Type: std_msgs/String
  • Possible Value:
    • "/home/beagle/path/aroundLake.csv"

Topic: /e_stop

  • Message Type: std_msgs/Bool
  • Possible Values:
    • True (E-Stop Engaged)
    • False (Normal Operation)

Topic: /thrust/throttle

  • Message Type: roboat_pkg/msg/ThrustVector
  • Possible Values:
    • <0.5, 0.5> (Thrust at half power straight)
    • <0,0> (Motors off)

Topic: /sensor/gps_info

  • Message Type: roboat_pkg/msg/GPSInfo