diff --git a/brain_box_msgs/CMakeLists.txt b/brain_box_msgs/CMakeLists.txt index ef78d75..bd59515 100644 --- a/brain_box_msgs/CMakeLists.txt +++ b/brain_box_msgs/CMakeLists.txt @@ -116,6 +116,10 @@ rosidl_generate_interfaces(${PROJECT_NAME} msg/MarkerType.msg msg/MaxMinAve.msg msg/MissionIdArray.msg + msg/MissionEvent.msg + msg/MissionStatus.msg + msg/PreflightCheckResult.msg + msg/PreflightStatus.msg msg/NodeStatus.msg msg/NormalsStamped.msg msg/NormalWithPoint.msg @@ -210,6 +214,15 @@ rosidl_generate_interfaces(${PROJECT_NAME} srv/SDKPermissionControl.srv srv/SegmentSearch.srv srv/VelocityControl.srv + srv/AbortMission.srv + srv/GetMissionStatus.srv + srv/LaunchMission.srv + srv/MissionPreflight.srv + srv/PauseMission.srv + srv/PreflightRun.srv + srv/LoadFlightPlan.srv + srv/ResumeMission.srv + srv/ValidateFlightPlan.srv srv/VxFlightPlan.srv srv/VxMissionExec.srv diff --git a/brain_box_msgs/action/VxFlightExec.action b/brain_box_msgs/action/VxFlightExec.action index 5577776..426b4d1 100644 --- a/brain_box_msgs/action/VxFlightExec.action +++ b/brain_box_msgs/action/VxFlightExec.action @@ -7,6 +7,7 @@ # key="FP_START" value="id" start flight plan with id # key="FP_ABORT" value="" abort currently executing flight plan # key="FP_PAUSE" value="" pause currently executing flight plan +# key="FP_RESUME" value="" resume currently paused flight plan brain_box_msgs/KeyValue command diff --git a/brain_box_msgs/msg/MissionEvent.msg b/brain_box_msgs/msg/MissionEvent.msg new file mode 100644 index 0000000..199a83f --- /dev/null +++ b/brain_box_msgs/msg/MissionEvent.msg @@ -0,0 +1,4 @@ +builtin_interfaces/Time stamp +string event # PLAN_LOADED, VALIDATED, PREFLIGHT_READY, LAUNCHED, COMPLETED, ABORTED, ERROR +string plan_id +string message diff --git a/brain_box_msgs/msg/MissionStatus.msg b/brain_box_msgs/msg/MissionStatus.msg new file mode 100644 index 0000000..69a0027 --- /dev/null +++ b/brain_box_msgs/msg/MissionStatus.msg @@ -0,0 +1,16 @@ +builtin_interfaces/Time stamp + +# Mission executor states +uint8 NO_PLAN=0 +uint8 PLAN_LOADED=1 +uint8 VALIDATED=2 +uint8 PREFLIGHT_READY=3 +uint8 RUNNING=4 +uint8 PAUSED=5 +uint8 COMPLETED=6 +uint8 ABORTED=7 +uint8 ERROR=8 + +uint8 state +string plan_id +string message diff --git a/brain_box_msgs/msg/PreflightCheckResult.msg b/brain_box_msgs/msg/PreflightCheckResult.msg new file mode 100644 index 0000000..c5cb92e --- /dev/null +++ b/brain_box_msgs/msg/PreflightCheckResult.msg @@ -0,0 +1,4 @@ +string check_name +string category +bool passed +string reason diff --git a/brain_box_msgs/msg/PreflightStatus.msg b/brain_box_msgs/msg/PreflightStatus.msg new file mode 100644 index 0000000..9e876cd --- /dev/null +++ b/brain_box_msgs/msg/PreflightStatus.msg @@ -0,0 +1,10 @@ +builtin_interfaces/Time stamp + +uint8 UNKNOWN=0 +uint8 IN_PROGRESS=1 +uint8 PASSED=2 +uint8 FAILED=3 + +uint8 state +bool overall_pass +brain_box_msgs/PreflightCheckResult[] checks diff --git a/brain_box_msgs/srv/AbortMission.srv b/brain_box_msgs/srv/AbortMission.srv new file mode 100644 index 0000000..deb5aed --- /dev/null +++ b/brain_box_msgs/srv/AbortMission.srv @@ -0,0 +1,4 @@ +--- +bool success +string reason +brain_box_msgs/MissionStatus status diff --git a/brain_box_msgs/srv/GetMissionStatus.srv b/brain_box_msgs/srv/GetMissionStatus.srv new file mode 100644 index 0000000..0cb8520 --- /dev/null +++ b/brain_box_msgs/srv/GetMissionStatus.srv @@ -0,0 +1,4 @@ +--- +brain_box_msgs/MissionStatus status +bool success +string reason diff --git a/brain_box_msgs/srv/LaunchMission.srv b/brain_box_msgs/srv/LaunchMission.srv new file mode 100644 index 0000000..117fbfa --- /dev/null +++ b/brain_box_msgs/srv/LaunchMission.srv @@ -0,0 +1,5 @@ +bool force +--- +bool success +string reason +brain_box_msgs/MissionStatus status diff --git a/brain_box_msgs/srv/LoadFlightPlan.srv b/brain_box_msgs/srv/LoadFlightPlan.srv new file mode 100644 index 0000000..b001bb0 --- /dev/null +++ b/brain_box_msgs/srv/LoadFlightPlan.srv @@ -0,0 +1,7 @@ +string plan_id_hint # optional filename base; empty = derived from XML content +string plan_content # raw XML +--- +bool success +string reason +string plan_id +brain_box_msgs/MissionStatus status diff --git a/brain_box_msgs/srv/MissionPreflight.srv b/brain_box_msgs/srv/MissionPreflight.srv new file mode 100644 index 0000000..aa71256 --- /dev/null +++ b/brain_box_msgs/srv/MissionPreflight.srv @@ -0,0 +1,5 @@ +--- +bool success +string reason +brain_box_msgs/PreflightStatus preflight_status +brain_box_msgs/MissionStatus mission_status diff --git a/brain_box_msgs/srv/PauseMission.srv b/brain_box_msgs/srv/PauseMission.srv new file mode 100644 index 0000000..deb5aed --- /dev/null +++ b/brain_box_msgs/srv/PauseMission.srv @@ -0,0 +1,4 @@ +--- +bool success +string reason +brain_box_msgs/MissionStatus status diff --git a/brain_box_msgs/srv/PreflightRun.srv b/brain_box_msgs/srv/PreflightRun.srv new file mode 100644 index 0000000..b5ee833 --- /dev/null +++ b/brain_box_msgs/srv/PreflightRun.srv @@ -0,0 +1,3 @@ +string[] checks_to_skip +--- +brain_box_msgs/PreflightStatus result diff --git a/brain_box_msgs/srv/ResumeMission.srv b/brain_box_msgs/srv/ResumeMission.srv new file mode 100644 index 0000000..deb5aed --- /dev/null +++ b/brain_box_msgs/srv/ResumeMission.srv @@ -0,0 +1,4 @@ +--- +bool success +string reason +brain_box_msgs/MissionStatus status diff --git a/brain_box_msgs/srv/ValidateFlightPlan.srv b/brain_box_msgs/srv/ValidateFlightPlan.srv new file mode 100644 index 0000000..deb5aed --- /dev/null +++ b/brain_box_msgs/srv/ValidateFlightPlan.srv @@ -0,0 +1,4 @@ +--- +bool success +string reason +brain_box_msgs/MissionStatus status