Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Communications Backbone System
backbone-message-format
Commits
4a5d19a4
Verified
Commit
4a5d19a4
authored
7 months ago
by
Dan Jones
Browse files
Options
Download
Email Patches
Plain Diff
refactor: new waypoints message
parent
58f07b32
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
319 additions
and
485 deletions
+319
-485
examples/mas-dt/waypoints_geojson.json
examples/mas-dt/waypoints_geojson.json
+8
-9
examples/mas-dt/waypoints_props.json
examples/mas-dt/waypoints_props.json
+25
-0
formats/payload.py
formats/payload.py
+2
-2
formats/platform_status.py
formats/platform_status.py
+19
-20
formats/waypoints.py
formats/waypoints.py
+50
-57
generate_schema_config.py
generate_schema_config.py
+2
-2
project/soar/swagger.json
project/soar/swagger.json
+213
-395
No files found.
examples/mas-dt/waypoint
_status
.json
→
examples/mas-dt/waypoint
s_geojson
.json
View file @
4a5d19a4
...
...
@@ -4,21 +4,20 @@
"timestamp"
:
"2024-09-05T00:00:00Z"
,
"version"
:
"v2.0.0-beta.1"
,
"source"
:
"noc-sfmc"
,
"destination"
:
"mas-dt.noc.slocum.unit_xxx.from_platform.
platform_statu
s"
,
"destination"
:
"mas-dt.noc.slocum.unit_xxx.from_platform.
waypoint
s"
,
"delivery_type"
:
"publish"
,
"encoded"
:
false
},
"payload"
:{
"message_type"
:
"waypoint
_statu
s"
,
"message_type"
:
"waypoints"
,
"platform_ID"
:
"unit_xxx"
,
"platform_timestamp"
:
"2024-09-05T00:00:00Z"
,
"status_source"
:
"simulated"
,
"autonomy_engine_plan_ID"
:
1
,
"mission_plan_ID"
:
1
,
"mission_track_ID"
:
4
,
"waypoint"
:
{
"type"
:
"Point"
,
"coordinates"
:
[
-10.122
,
78.2
,
50.0
,
20.0
]
}
"waypoints"
:
[
{
"type"
:
"Point"
,
"coordinates"
:
[
-10.122
,
78.2
,
50.0
,
20.0
]
}
]
}
}
This diff is collapsed.
Click to expand it.
examples/mas-dt/waypoints_props.json
0 → 100644
View file @
4a5d19a4
{
"header"
:{
"message_ID"
:
"b427003c-0000-11aa-a1eb-bvcdfghjgfdd"
,
"timestamp"
:
"2024-09-05T00:00:00Z"
,
"version"
:
"v2.0.0-beta.1"
,
"source"
:
"noc-sfmc"
,
"destination"
:
"mas-dt.noc.slocum.unit_xxx.from_platform.waypoints"
,
"delivery_type"
:
"publish"
,
"encoded"
:
false
},
"payload"
:{
"message_type"
:
"waypoints"
,
"platform_ID"
:
"unit_xxx"
,
"platform_timestamp"
:
"2024-09-05T00:00:00Z"
,
"status_source"
:
"simulated"
,
"waypoints"
:
[
{
"latitude"
:
78.2
,
"longitude"
:
-10.122
,
"depth"
:
50.0
,
"altitude"
:
20.0
}
]
}
}
This diff is collapsed.
Click to expand it.
formats/payload.py
View file @
4a5d19a4
...
...
@@ -16,7 +16,7 @@ payload_schema = {
"acknowledgement"
:
"#/components/schemas/acknowledgement"
,
"survey"
:
"#/components/schemas/survey"
,
"survey_encoded"
:
"#/components/schemas/survey_encoded"
,
"waypoint
_statu
s"
:
"#/components/schemas/waypoint
_statu
s"
,
"waypoints"
:
"#/components/schemas/waypoints"
,
},
},
"oneOf"
:
[
...
...
@@ -32,6 +32,6 @@ payload_schema = {
{
"$ref"
:
"#/components/schemas/platform_status_encoded"
},
{
"$ref"
:
"#/components/schemas/survey"
},
{
"$ref"
:
"#/components/schemas/survey_encoded"
},
{
"$ref"
:
"#/components/schemas/waypoint
_statu
s"
},
{
"$ref"
:
"#/components/schemas/waypoints"
},
],
}
This diff is collapsed.
Click to expand it.
formats/platform_status.py
View file @
4a5d19a4
...
...
@@ -28,11 +28,30 @@ sensor_schema = {
platform_status_core_fields_schema
=
{
"type"
:
"object"
,
"properties"
:
{
},
}
platform_status_schema
=
{
"type"
:
"object"
,
"properties"
:
{
"message_type"
:
{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"example"
:
"platform_status"
,
"enum"
:
[
"platform_status"
],
},
"platform_ID"
:
{
"type"
:
"string"
,
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
},
"status_source"
:
{
"type"
:
"string"
,
"enum"
:
[
"usbl"
,
"onboard_platform"
,
"simulated"
],
"description"
:
"Indicate if this status message is from the"
+
" platform or USBL"
,
"example"
:
"usbl"
,
},
"transmission_mode"
:
{
"type"
:
"string"
,
"enum"
:
[
"acoustics"
,
"iridium"
,
"wifi"
,
"starlink"
],
...
...
@@ -159,26 +178,6 @@ platform_status_core_fields_schema = {
},
"sensor_config"
:
sensor_schema
,
},
}
platform_status_schema
=
{
"type"
:
"object"
,
"properties"
:
{
"message_type"
:
{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"example"
:
"platform_status"
,
"enum"
:
[
"platform_status"
],
},
"status_source"
:
{
"type"
:
"string"
,
"enum"
:
[
"usbl"
,
"onboard_platform"
,
"simulated"
],
"description"
:
"Indicate if this status message is from the"
+
" platform or USBL"
,
"example"
:
"usbl"
,
},
},
"allOf"
:
[
platform_status_core_fields_schema
],
"oneOf"
:
[
{
"type"
:
"object"
,
...
...
This diff is collapsed.
Click to expand it.
formats/waypoint
_statu
s.py
→
formats/waypoints.py
View file @
4a5d19a4
from
formats.platform_status
import
platform_status_core_fields_schema
"""
Temporary message definition to handle the MAS-DT dry-run mode
waypoint_status_schema
=
{
In dry-run the SFMC adapter will receive misson_plan messages from ORI
These messages will be parsed and compiled into a goto file which will
not be sent on to the glider
To confirm the message flow is working the SFMC will instead publish
a waypoints message back to the backbone which C2 can receive and
process - adding simulated waypoints to C2 positions
"""
waypoint_schema
=
{
"type"
:
"object"
,
"properties"
:
{
"message_type"
:
{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"example"
:
"waypoint_status"
,
"enum"
:
[
"waypoint_status"
],
},
"status_source"
:
{
"type"
:
"string"
,
"enum"
:
[
"onboard_platform"
,
"simulated"
,
"autonomy"
],
"description"
:
"Indicate if this status message is from the"
+
" platform or USBL"
,
"example"
:
"usbl"
,
},
},
"allOf"
:
[
platform_status_core_fields_schema
],
"oneOf"
:
[
{
"type"
:
"object"
,
"properties"
:
{
"position"
:
{
"$ref"
:
"https://geojson.org/schema/Point.json"
,
},
"waypoint"
:
{
"$ref"
:
"https://geojson.org/schema/Point.json"
,
},
},
"required"
:
[
"waypoint"
,
],
"$ref"
:
"https://geojson.org/schema/Point.json"
,
},
{
"type"
:
"object"
,
...
...
@@ -61,42 +44,52 @@ waypoint_status_schema = {
"description"
:
"Target altitude in metres"
,
"example"
:
20.0
,
},
"waypoint_latitude"
:
{
"type"
:
"number"
,
"format"
:
"float"
,
"description"
:
"Latitude (Y-coordinate) in decimal degrees."
,
"example"
:
178.2
,
},
"waypoint_longitude"
:
{
"type"
:
"number"
,
"format"
:
"float"
,
"description"
:
"Longitude (X-coordinate) in decimal degrees."
,
"example"
:
-
10.122
,
},
"waypoint_depth"
:
{
"type"
:
"number"
,
"format"
:
"float"
,
"description"
:
"Target depth in metres"
,
"example"
:
50.0
,
"default"
:
0.0
,
},
"waypoint_altitude"
:
{
"type"
:
"number"
,
"format"
:
"float"
,
"description"
:
"Target altitude in metres"
,
"example"
:
20.0
,
},
},
"required"
:
[
"
waypoint_
latitude"
,
"
waypoint_
longitude"
,
"latitude"
,
"longitude"
,
],
},
],
}
waypoints_schema
=
{
"type"
:
"object"
,
"properties"
:
{
"message_type"
:
{
"type"
:
"string"
,
"description"
:
"Type of message"
,
"example"
:
"waypoints"
,
"enum"
:
[
"waypoints"
],
},
"platform_ID"
:
{
"type"
:
"string"
,
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
},
"status_source"
:
{
"type"
:
"string"
,
"enum"
:
[
"onboard_platform"
,
"simulated"
,
"autonomy"
],
"description"
:
"Indicate if this status message is from the"
+
" platform or USBL"
,
"example"
:
"usbl"
,
},
"platform_timestamp"
:
{
"type"
:
"string"
,
"format"
:
"date-time"
,
"description"
:
"Timestamp for onboard platform status message"
,
"example"
:
"2022-12-21T00:00:00Z"
,
},
"waypoints"
:
{
"type"
:
"array"
,
"items"
:
waypoint_schema
,
}
},
"required"
:
[
"message_type"
,
"platform_ID"
,
"status_source"
,
"platform_timestamp"
,
"waypoints"
,
],
}
This diff is collapsed.
Click to expand it.
generate_schema_config.py
View file @
4a5d19a4
...
...
@@ -7,7 +7,7 @@ from formats.observation_encoded import observation_encoded_schema
from
formats.payload
import
payload_schema
from
formats.planning_configuration
import
planning_configuration_schema
from
formats.platform_status
import
platform_status_schema
from
formats.waypoint
_statu
s
import
waypoint
_statu
s_schema
from
formats.waypoints
import
waypoints_schema
from
formats.platform_status_encoded
import
platform_status_encoded_schema
from
formats.survey
import
survey_schema
from
formats.survey_encoded
import
survey_encoded_schema
...
...
@@ -75,7 +75,7 @@ def get_swagger_config(reload=False):
"alert"
:
alert_schema
,
"instruction_set"
:
instruction_set_schema
,
"config_file"
:
config_file_schema
,
"waypoint
_statu
s"
:
waypoint
_statu
s_schema
,
"waypoints"
:
waypoints_schema
,
}
},
}
...
...
This diff is collapsed.
Click to expand it.
project/soar/swagger.json
View file @
4a5d19a4
...
...
@@ -1821,7 +1821,7 @@
"platform_status_encoded"
:
"#/components/schemas/platform_status_encoded"
,
"survey"
:
"#/components/schemas/survey"
,
"survey_encoded"
:
"#/components/schemas/survey_encoded"
,
"waypoint
_statu
s"
:
"#/components/schemas/waypoint
_statu
s"
"waypoints"
:
"#/components/schemas/waypoints"
},
"propertyName"
:
"message_type"
},
...
...
@@ -1863,7 +1863,7 @@
"$ref"
:
"#/components/schemas/survey_encoded"
},
{
"$ref"
:
"#/components/schemas/waypoint
_statu
s"
"$ref"
:
"#/components/schemas/waypoints"
}
]
},
...
...
@@ -2211,163 +2211,6 @@
"type"
:
"object"
},
"platform_status"
:
{
"allOf"
:
[
{
"properties"
:
{
"autonomy_engine_plan_ID"
:
{
"description"
:
"Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
"example"
:
1
,
"type"
:
"integer"
},
"battery_output"
:
{
"description"
:
"Battery output in kW"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"battery_remaining_capacity"
:
{
"description"
:
"Battery remaining % provided by respective C2"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"endurance"
:
{
"description"
:
"Estimate of hours of operation remaining based on present output or performance"
,
"example"
:
7.4
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_remaining_capacity"
:
{
"description"
:
"Percentage remaining capacity"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_volume"
:
{
"description"
:
"Litres of liquid fuel"
,
"example"
:
12.5
,
"format"
:
"float"
,
"type"
:
"number"
},
"heading"
:
{
"description"
:
"Angular distance relative to north, usually 000
\u
00b0 at north, clockwise through 359
\u
00b0, in degrees"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"health_status"
:
{
"description"
:
"Health status where 0 is OK, 1 is platform has an ERROR"
,
"example"
:
false
,
"type"
:
"boolean"
},
"localisation_east_error"
:
{
"description"
:
"Difference in EAST between deadreckoningand USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"localisation_north_error"
:
{
"description"
:
"Difference in NORTH between deadreckoning and USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"mission_plan_ID"
:
{
"description"
:
"Mission plan ID according to platform-C2 system"
,
"example"
:
1
,
"type"
:
"integer"
},
"mission_track_ID"
:
{
"description"
:
"Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)"
,
"example"
:
4
,
"type"
:
"integer"
},
"platform_ID"
:
{
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
"type"
:
"string"
},
"platform_state"
:
{
"description"
:
"Current state executed by platform. E.g. STOP, IDLE, ABORT."
,
"example"
:
"ABORT"
,
"type"
:
"string"
},
"platform_timestamp"
:
{
"description"
:
"Timestamp for onboard platform status message"
,
"example"
:
"2022-12-21T00:00:00Z"
,
"format"
:
"date-time"
,
"type"
:
"string"
},
"range_to_go"
:
{
"description"
:
"Estimated distance to reach next waypoint"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"sensor_config"
:
{
"description"
:
"Scanning sensor on platform available to be controlled by the Autonomy Engine"
,
"properties"
:
{
"additional_data"
:
{
"description"
:
"Any addition fields/data to be added here"
,
"example"
:
{
"payload"
:
[
1.2
,
434
]
},
"type"
:
"object"
},
"sensor_on"
:
{
"description"
:
"Sensor switched on (true) or off (false)"
,
"example"
:
true
,
"type"
:
"boolean"
},
"sensor_serial"
:
{
"description"
:
"serial number of sensor"
,
"example"
:
"mbes-002a"
,
"type"
:
"string"
}
},
"type"
:
"object"
},
"speed_over_ground"
:
{
"description"
:
"Speed over ground"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"thrust_applied"
:
{
"description"
:
"Thrust applied"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"transmission_mode"
:
{
"description"
:
"Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)"
,
"enum"
:
[
"acoustics"
,
"iridium"
,
"wifi"
,
"starlink"
],
"example"
:
"wifi"
,
"type"
:
"string"
},
"usbl_fix_seconds_ago"
:
{
"description"
:
"USBL Fix received x second ago."
,
"example"
:
10.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"water_current_velocity"
:
{
"description"
:
"Water current magnitude and direction"
,
"example"
:
"124.3NE"
,
"type"
:
"string"
}
},
"type"
:
"object"
}
],
"oneOf"
:
[
{
"properties"
:
{
...
...
@@ -2463,6 +2306,64 @@
}
],
"properties"
:
{
"autonomy_engine_plan_ID"
:
{
"description"
:
"Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
"example"
:
1
,
"type"
:
"integer"
},
"battery_output"
:
{
"description"
:
"Battery output in kW"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"battery_remaining_capacity"
:
{
"description"
:
"Battery remaining % provided by respective C2"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"endurance"
:
{
"description"
:
"Estimate of hours of operation remaining based on present output or performance"
,
"example"
:
7.4
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_remaining_capacity"
:
{
"description"
:
"Percentage remaining capacity"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_volume"
:
{
"description"
:
"Litres of liquid fuel"
,
"example"
:
12.5
,
"format"
:
"float"
,
"type"
:
"number"
},
"heading"
:
{
"description"
:
"Angular distance relative to north, usually 000
\u
00b0 at north, clockwise through 359
\u
00b0, in degrees"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"health_status"
:
{
"description"
:
"Health status where 0 is OK, 1 is platform has an ERROR"
,
"example"
:
false
,
"type"
:
"boolean"
},
"localisation_east_error"
:
{
"description"
:
"Difference in EAST between deadreckoningand USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"localisation_north_error"
:
{
"description"
:
"Difference in NORTH between deadreckoning and USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"message_type"
:
{
"description"
:
"Type of message"
,
"enum"
:
[
...
...
@@ -2471,6 +2372,70 @@
"example"
:
"platform_status"
,
"type"
:
"string"
},
"mission_plan_ID"
:
{
"description"
:
"Mission plan ID according to platform-C2 system"
,
"example"
:
1
,
"type"
:
"integer"
},
"mission_track_ID"
:
{
"description"
:
"Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)"
,
"example"
:
4
,
"type"
:
"integer"
},
"platform_ID"
:
{
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
"type"
:
"string"
},
"platform_state"
:
{
"description"
:
"Current state executed by platform. E.g. STOP, IDLE, ABORT."
,
"example"
:
"ABORT"
,
"type"
:
"string"
},
"platform_timestamp"
:
{
"description"
:
"Timestamp for onboard platform status message"
,
"example"
:
"2022-12-21T00:00:00Z"
,
"format"
:
"date-time"
,
"type"
:
"string"
},
"range_to_go"
:
{
"description"
:
"Estimated distance to reach next waypoint"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"sensor_config"
:
{
"description"
:
"Scanning sensor on platform available to be controlled by the Autonomy Engine"
,
"properties"
:
{
"additional_data"
:
{
"description"
:
"Any addition fields/data to be added here"
,
"example"
:
{
"payload"
:
[
1.2
,
434
]
},
"type"
:
"object"
},
"sensor_on"
:
{
"description"
:
"Sensor switched on (true) or off (false)"
,
"example"
:
true
,
"type"
:
"boolean"
},
"sensor_serial"
:
{
"description"
:
"serial number of sensor"
,
"example"
:
"mbes-002a"
,
"type"
:
"string"
}
},
"type"
:
"object"
},
"speed_over_ground"
:
{
"description"
:
"Speed over ground"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"status_source"
:
{
"description"
:
"Indicate if this status message is from the platform or USBL"
,
"enum"
:
[
...
...
@@ -2480,6 +2445,34 @@
],
"example"
:
"usbl"
,
"type"
:
"string"
},
"thrust_applied"
:
{
"description"
:
"Thrust applied"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"transmission_mode"
:
{
"description"
:
"Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)"
,
"enum"
:
[
"acoustics"
,
"iridium"
,
"wifi"
,
"starlink"
],
"example"
:
"wifi"
,
"type"
:
"string"
},
"usbl_fix_seconds_ago"
:
{
"description"
:
"USBL Fix received x second ago."
,
"example"
:
10.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"water_current_velocity"
:
{
"description"
:
"Water current magnitude and direction"
,
"example"
:
"124.3NE"
,
"type"
:
"string"
}
},
"required"
:
[
...
...
@@ -2660,246 +2653,25 @@
],
"type"
:
"object"
},
"waypoint_status"
:
{
"allOf"
:
[
{
"properties"
:
{
"autonomy_engine_plan_ID"
:
{
"description"
:
"Last mission plan ID (according to Autonomy Engine's mission plan number sent) executed by platform"
,
"example"
:
1
,
"type"
:
"integer"
},
"battery_output"
:
{
"description"
:
"Battery output in kW"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"battery_remaining_capacity"
:
{
"description"
:
"Battery remaining % provided by respective C2"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"endurance"
:
{
"description"
:
"Estimate of hours of operation remaining based on present output or performance"
,
"example"
:
7.4
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_remaining_capacity"
:
{
"description"
:
"Percentage remaining capacity"
,
"example"
:
80.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"fuel_volume"
:
{
"description"
:
"Litres of liquid fuel"
,
"example"
:
12.5
,
"format"
:
"float"
,
"type"
:
"number"
},
"heading"
:
{
"description"
:
"Angular distance relative to north, usually 000
\u
00b0 at north, clockwise through 359
\u
00b0, in degrees"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"health_status"
:
{
"description"
:
"Health status where 0 is OK, 1 is platform has an ERROR"
,
"example"
:
false
,
"type"
:
"boolean"
},
"localisation_east_error"
:
{
"description"
:
"Difference in EAST between deadreckoningand USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"localisation_north_error"
:
{
"description"
:
"Difference in NORTH between deadreckoning and USBL update."
,
"example"
:
0.000129
,
"format"
:
"float"
,
"type"
:
"number"
},
"mission_plan_ID"
:
{
"description"
:
"Mission plan ID according to platform-C2 system"
,
"example"
:
1
,
"type"
:
"integer"
},
"mission_track_ID"
:
{
"description"
:
"Track number - stage in mission (e.g. 4 --> Waypoint 3 to Waypoint 4)"
,
"example"
:
4
,
"type"
:
"integer"
},
"platform_ID"
:
{
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
"type"
:
"string"
},
"platform_state"
:
{
"description"
:
"Current state executed by platform. E.g. STOP, IDLE, ABORT."
,
"example"
:
"ABORT"
,
"type"
:
"string"
},
"platform_timestamp"
:
{
"description"
:
"Timestamp for onboard platform status message"
,
"example"
:
"2022-12-21T00:00:00Z"
,
"format"
:
"date-time"
,
"type"
:
"string"
},
"range_to_go"
:
{
"description"
:
"Estimated distance to reach next waypoint"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"sensor_config"
:
{
"description"
:
"Scanning sensor on platform available to be controlled by the Autonomy Engine"
,
"properties"
:
{
"additional_data"
:
{
"description"
:
"Any addition fields/data to be added here"
,
"example"
:
{
"payload"
:
[
1.2
,
434
]
},
"type"
:
"object"
},
"sensor_on"
:
{
"description"
:
"Sensor switched on (true) or off (false)"
,
"example"
:
true
,
"type"
:
"boolean"
},
"sensor_serial"
:
{
"description"
:
"serial number of sensor"
,
"example"
:
"mbes-002a"
,
"type"
:
"string"
}
},
"type"
:
"object"
},
"speed_over_ground"
:
{
"description"
:
"Speed over ground"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"thrust_applied"
:
{
"description"
:
"Thrust applied"
,
"example"
:
124.3
,
"format"
:
"float"
,
"type"
:
"number"
},
"transmission_mode"
:
{
"description"
:
"Mode in which status message was transmitted when on the surface (e.g. iridium/wifi) or underwater (e.g. acoustics)"
,
"enum"
:
[
"acoustics"
,
"iridium"
,
"wifi"
,
"starlink"
],
"example"
:
"wifi"
,
"type"
:
"string"
},
"usbl_fix_seconds_ago"
:
{
"description"
:
"USBL Fix received x second ago."
,
"example"
:
10.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"water_current_velocity"
:
{
"description"
:
"Water current magnitude and direction"
,
"example"
:
"124.3NE"
,
"type"
:
"string"
}
},
"type"
:
"object"
}
],
"oneOf"
:
[
{
"properties"
:
{
"position"
:
{
"$ref"
:
"#/components/schemas/geojson.org.schema.Point.json"
},
"waypoint"
:
{
"$ref"
:
"#/components/schemas/geojson.org.schema.Point.json"
}
},
"required"
:
[
"waypoint"
],
"type"
:
"object"
},
{
"properties"
:
{
"altitude"
:
{
"description"
:
"Target altitude in metres"
,
"example"
:
20.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"depth"
:
{
"default"
:
0.0
,
"description"
:
"Target depth in metres"
,
"example"
:
50.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"latitude"
:
{
"description"
:
"Latitude (Y-coordinate) in decimal degrees."
,
"example"
:
178.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"longitude"
:
{
"description"
:
"Longitude (X-coordinate) in decimal degrees."
,
"example"
:
-10.122
,
"format"
:
"float"
,
"type"
:
"number"
},
"waypoint_altitude"
:
{
"description"
:
"Target altitude in metres"
,
"example"
:
20.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"waypoint_depth"
:
{
"default"
:
0.0
,
"description"
:
"Target depth in metres"
,
"example"
:
50.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"waypoint_latitude"
:
{
"description"
:
"Latitude (Y-coordinate) in decimal degrees."
,
"example"
:
178.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"waypoint_longitude"
:
{
"description"
:
"Longitude (X-coordinate) in decimal degrees."
,
"example"
:
-10.122
,
"format"
:
"float"
,
"type"
:
"number"
}
},
"required"
:
[
"waypoint_latitude"
,
"waypoint_longitude"
],
"type"
:
"object"
}
],
"waypoints"
:
{
"properties"
:
{
"message_type"
:
{
"description"
:
"Type of message"
,
"enum"
:
[
"waypoint
_statu
s"
"waypoints"
],
"example"
:
"waypoint_status"
,
"example"
:
"waypoints"
,
"type"
:
"string"
},
"platform_ID"
:
{
"description"
:
"Unique identifier for this platform"
,
"example"
:
"reav-x-1"
,
"type"
:
"string"
},
"platform_timestamp"
:
{
"description"
:
"Timestamp for onboard platform status message"
,
"example"
:
"2022-12-21T00:00:00Z"
,
"format"
:
"date-time"
,
"type"
:
"string"
},
"status_source"
:
{
...
...
@@ -2911,13 +2683,59 @@
],
"example"
:
"usbl"
,
"type"
:
"string"
},
"waypoints"
:
{
"items"
:
{
"oneOf"
:
[
{
"$ref"
:
"#/components/schemas/geojson.org.schema.Point.json"
},
{
"properties"
:
{
"altitude"
:
{
"description"
:
"Target altitude in metres"
,
"example"
:
20.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"depth"
:
{
"default"
:
0.0
,
"description"
:
"Target depth in metres"
,
"example"
:
50.0
,
"format"
:
"float"
,
"type"
:
"number"
},
"latitude"
:
{
"description"
:
"Latitude (Y-coordinate) in decimal degrees."
,
"example"
:
178.2
,
"format"
:
"float"
,
"type"
:
"number"
},
"longitude"
:
{
"description"
:
"Longitude (X-coordinate) in decimal degrees."
,
"example"
:
-10.122
,
"format"
:
"float"
,
"type"
:
"number"
}
},
"required"
:
[
"latitude"
,
"longitude"
],
"type"
:
"object"
}
],
"type"
:
"object"
},
"type"
:
"array"
}
},
"required"
:
[
"message_type"
,
"platform_ID"
,
"status_source"
,
"platform_timestamp"
"platform_timestamp"
,
"waypoints"
],
"type"
:
"object"
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment