"description":"Highest level of acknowledgement. I.e. `c2_received`: Received by C2, `operator_approved_and_sent` : Approved by operator and sent from C2->Platform, `executed`: Executed by platform",
"enum":[
"c2_received",
"operator_approved_and_sent",
"executed"
],
"example":"executed by platform",
"type":"string"
}
"openapi":"3.0.2",
"info":{
"description":"SoAR message protocol in schemas",
"title":"SoAR Backbone Message Formats",
"version":"1.0"
},
"paths":{},
"components":{
"schemas":{
"MESSAGE":{
"description":"Full message definition with message-metadata in `header` and different message type schemas under `payload`",
"properties":{
"header":{
"$ref":"#/components/schemas/header"
},
"required":[
"message_type",
"acknowledged_message_ID",
"status"
],
"type":"object"
"payload":{
"$ref":"#/components/schemas/payload"
}
},
"header":{
"discriminator":{
"propertyName":"message_type"
"required":[
"header",
"payload"
],
"type":"object"
},
"acknowledgement":{
"properties":{
"acknowledged_message_ID":{
"description":"Identifier of message received and executed with success for mission plans sent by the Autonomy Engine.",
"description":"To publish or broadcast this message.",
"enum":[
"broadcast",
"publish"
],
"example":"publish",
"type":"string"
},
"destination":{
"description":"Publisher topic; What is the destination of this message",
"example":"ah1",
"type":"string"
},
"encoded":{
"description":"Indicate that message raw (encoded) or decoded. Options: encoded=True, decoded=False",
"example":false,
"type":"boolean"
},
"message_ID":{
"description":"An identifier for the type of message received.",
"example":"b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"type":"string"
},
"source":{
"description":"The sender; Where is this message from",
"example":"autonomy_engine",
"type":"string"
},
"timestamp":{
"description":"Timestamp of message",
"example":"2022-11-16T00:00:00Z",
"format":"date-time",
"type":"string"
},
"version":{
"description":"Version of comms backbone message format protocol",
"example":2.0,
"format":"float",
"type":"number"
}
"message_type":{
"description":"Type of message",
"example":"acknowledgement",
"type":"string"
},
"type":"object"
"status":{
"description":"Highest level of acknowledgement. I.e. `c2_received`: Received by C2, `operator_approved_and_sent` : Approved by operator and sent from C2->Platform, `executed`: Executed by platform",
"enum":[
"c2_received",
"operator_approved_and_sent",
"executed"
],
"example":"executed by platform",
"type":"string"
}
},
"message":{
"properties":{
"header":{
"$ref":"#/components/schemas/header"
},
"payload":{
"$ref":"#/components/schemas/payload"
}
"required":[
"message_type",
"acknowledged_message_ID",
"status"
],
"type":"object"
},
"header":{
"discriminator":{
"propertyName":"message_type"
},
"properties":{
"delivery_type":{
"default":"publish",
"description":"To publish or broadcast this message.",
"enum":[
"broadcast",
"publish"
],
"example":"publish",
"type":"string"
},
"destination":{
"description":"Publisher topic; What is the destination of this message",
"example":"ah1",
"type":"string"
},
"encoded":{
"description":"Indicate that message raw (encoded) or decoded. Options: encoded=True, decoded=False",
"example":false,
"type":"boolean"
},
"message_ID":{
"description":"An identifier for the type of message received.",
"example":"b427003c-0000-11aa-a1eb-bvcdfghjgfdd",
"type":"string"
},
"required":[
"header",
"payload"
],
"type":"object"
"source":{
"description":"The sender; Where is this message from",
"example":"autonomy_engine",
"type":"string"
},
"timestamp":{
"description":"Timestamp of message",
"example":"2022-11-16T00:00:00Z",
"format":"date-time",
"type":"string"
},
"version":{
"description":"Version of comms backbone message format protocol",
"example":2.0,
"format":"float",
"type":"number"
}
},
"mission_plan":{
"properties":{
"autonomy_engine_plan_ID":{
"description":"Unique identifier for this plangenerated by the Autonomy Engine",
"example":3,
"type":"integer"
},
"message_type":{
"description":"Type of message",
"example":"mission_plan",
"type":"string"
},
"plan":{
"items":{
"properties":{
"action":{
"description":"Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.",
"example":"move",
"type":"string"
},
"activate_payload":{
"description":"To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`",
"example":true,
"type":"boolean"
},
"altitude":{
"description":"Altitude of next action",
"example":15.0,
"format":"float",
"type":"number"
},
"depth":{
"description":"Depth of next action",
"example":15.0,
"format":"float",
"type":"number"
},
"flight_style":{
"description":"Platform-specific modes/flight styles to perform next action",
"example":"orbit",
"type":"string"
},
"latitude_waypoint":{
"description":"Next waypoint, x-coordinate",
"example":-4.187143188645706,
"format":"float",
"type":"number"
},
"longitude_waypoint":{
"description":"Next waypoint, y-coordinate",
"example":50.37072283932642,
"format":"float",
"type":"number"
},
"send_environmental_data":{
"description":"To trigger the platform to send list of observations if any found",
"example":false,
"type":"boolean"
}
"type":"object"
},
"mission_plan":{
"properties":{
"autonomy_engine_plan_ID":{
"description":"Unique identifier for this plangenerated by the Autonomy Engine",
"example":3,
"type":"integer"
},
"message_type":{
"description":"Type of message",
"example":"mission_plan",
"type":"string"
},
"plan":{
"items":{
"properties":{
"action":{
"description":"Autonomy Engine's action from `move`, `payload`, `dive`, `send_hits`, `scanline`, `scanpoint`.",
"example":"move",
"type":"string"
},
"activate_payload":{
"description":"To activate/deactivate sensor for Autosub Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`",
"example":true,
"type":"boolean"
},
"required":[
"latitude_waypoint",
"longitude_waypoint"
],
"type":"object"
"altitude":{
"description":"Altitude of next action",
"example":15.0,
"format":"float",
"type":"number"
},
"depth":{
"description":"Depth of next action",
"example":15.0,
"format":"float",
"type":"number"
},
"flight_style":{
"description":"Platform-specific modes/flight styles to perform next action",
"example":"orbit",
"type":"string"
},
"latitude_waypoint":{
"description":"Next waypoint, x-coordinate",
"example":-4.187143188645706,
"format":"float",
"type":"number"
},
"longitude_waypoint":{
"description":"Next waypoint, y-coordinate",
"example":50.37072283932642,
"format":"float",
"type":"number"
},
"send_environmental_data":{
"description":"To trigger the platform to send list of observations if any found",
"example":false,
"type":"boolean"
}
},
"type":"array"
"required":[
"latitude_waypoint",
"longitude_waypoint"
],
"type":"object"
},
"platform_ID":{
"description":"Unique identifier for this platform",
"example":1,
"type":"integer"
}
"type":"array"
},
"required":[
"message_type",
"plan_ID",
"platform_ID",
"plan"
],
"type":"object"
"platform_ID":{
"description":"Unique identifier for this platform",
"example":1,
"type":"integer"
}
},
"observation":{
"properties":{
"additional_data":{
"description":"Placeholder field for any additional data",
"example":{
"sensor_payload":false
}
},
"message_type":{
"description":"Type of message",
"example":"observation",
"type":"string"
},
"platform_ID":{
"description":"ID of platform to sending observations",
"example":2,
"type":"integer"
},
"points_of_interest":{
"description":"Points from features of interest identified by platform if any found.",
"items":{
"properties":{
"latitude":{
"description":"Identified x-coordinate of point of interest",
"example":178.2,
"format":"float",
"type":"number"
},
"longitude":{
"description":"Identified y-coordinate of point of interest",
"example":-10.122,
"format":"float",
"type":"number"
},
"quality_of_point":{
"description":"Quality/strength of points from features of interest identified by platform.",
"example":0.98,
"format":"float",
"type":"number"
}
"required":[
"message_type",
"autonomy_engine_plan_ID",
"platform_ID",
"plan"
],
"type":"object"
},
"observation":{
"properties":{
"additional_data":{
"description":"Placeholder field for any additional data",
"example":{
"sensor_payload":false
}
},
"message_type":{
"description":"Type of message",
"example":"observation",
"type":"string"
},
"platform_ID":{
"description":"ID of platform to sending observations",
"example":2,
"type":"integer"
},
"points_of_interest":{
"description":"Points from features of interest identified by platform if any found.",
"items":{
"properties":{
"latitude":{
"description":"Identified x-coordinate of point of interest",
"example":178.2,
"format":"float",
"type":"number"
},
"longitude":{
"description":"Identified y-coordinate of point of interest",
"example":-10.122,
"format":"float",
"type":"number"
},
"required":[
"latitude",
"longitude"
],
"type":"object"
"quality_of_point":{
"description":"Quality/strength of points from features of interest identified by platform.",
"example":0.98,
"format":"float",
"type":"number"
}
},
"type":"array"
"required":[
"latitude",
"longitude"
],
"type":"object"
},
"region_surveyed":{
"description":"Region surveyed by given platform. GEOJSON",
"example":"",
"nullable":true
}
"type":"array"
},
"required":[
"message_type",
"platform_ID"
],
"type":"object"
"region_surveyed":{
"description":"Region surveyed by given platform. GEOJSON",