""" schemas: Mission plan (un-compiled) generated by the Autonomy Engine sent to the respective platform's C2 to compile into a platform-specific mission plan. """ action_schema = { "type": "object", "properties": { "action": { "type": "string", "description": "Autonomy Engine's action from `move`, `payload`," + " `dive`, `send_hits`, `scanline`, `scanpoint`.", "example": "move", }, "flight_style": { "type": "string", "description": "Platform-specific modes/flight styles to perform" + " next action", "example": "orbit", }, "latitude_waypoint": { "type": "number", "format": "float", "description": "Next waypoint, x-coordinate", "example": -4.187143188645706, }, "longitude_waypoint": { "type": "number", "format": "float", "description": "Next waypoint, y-coordinate", "example": 50.37072283932642, }, "altitude": { "type": "number", "format": "float", "description": "Altitude of next action", "example": 15.0, }, "depth": { "type": "number", "format": "float", "description": "Depth of next action", "example": 15.0, }, "activate_payload": { "type": "boolean", "description": "To activate/deactivate sensor for Autosub " + "Hover-1 --> `MBES` sensor and for EcoSUB --> `Sidescan`", "example": True, }, "send_environmental_data": { "type": "boolean", "description": "To trigger the platform to send list of" + " observations if any found", "example": False, }, }, "required": [ "latitude_waypoint", "longitude_waypoint", ], } mission_plan_schema = { "allOf": [{"$ref": "#/components/schemas/Message"}], "type": "object", "properties": { "autonomy_engine_plan_ID": { "type": "integer", "description": "Unique identifier for this plan" + "generated by the Autonomy Engine", "example": 3, }, "platform_ID": { "type": "integer", "description": "Unique identifier for this platform", "example": 1, }, "plan": { "type": "array", "items": action_schema, }, }, "required": ["plan_ID", "platform_ID", "plan"], }