1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
"""
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"],
}