Commit ee5574f9 authored by Trishna Saeharaseelan's avatar Trishna Saeharaseelan
Browse files

fix: rebase to latest 67 branch

parent 08ce8133
...@@ -11,12 +11,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ...@@ -11,12 +11,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Goal object in mission_plan message that consists of a GeoJSON feature (representing the part of primitive that is currently the goal of the given mission plan). - Goal object in mission_plan message that consists of a GeoJSON feature (representing the part of primitive that is currently the goal of the given mission plan).
- A `partial` flag that indicates if a mission plan is a partial plan or the entire mission plan - A `partial` flag that indicates if a mission plan is a partial plan or the entire mission plan
- Options to primitives (under planning_configuration message) which is only a property when a primitive has an instruction of "follow" or "navigate_to"
- Validate message_ID matches uuid format - Validate message_ID matches uuid format
- Add definition of instruction_set message - Add definition of instruction_set message
- Added optional primitives to squad schema - Added optional primitives to squad schema
### Changed ### Changed
- Added "instruction" as required under the primitive schema (planning configuration)
- Refactor instructeion_set into platform_instruction_set - Refactor instructeion_set into platform_instruction_set
- Refactor mission_plan schema autonomy_engine_plan_ID oneOf - Refactor mission_plan schema autonomy_engine_plan_ID oneOf
- Update all example messages with valid UUIDs - Update all example messages with valid UUIDs
......
...@@ -153,6 +153,11 @@ ...@@ -153,6 +153,11 @@
50.335942 50.335942
] ]
} }
},
"options": {
"repeat": true,
"reverse": true,
"acceptance_radius_m": 3000
} }
} }
] ]
......
...@@ -181,26 +181,66 @@ platform_schema = { ...@@ -181,26 +181,66 @@ platform_schema = {
], ],
} }
primitive_schema = { options_schema = {
"type": "object", "type": "object",
"properties": { "properties": {
"instruction": { "repeat": {
"type": "string", "type": "boolean",
"enum": [ "description": "Repeat these set of primitives in order (e.g. 1->2->3->1->2...)",
"stay_inside", "example": True,
"stay_outside", },
"navigate_to", "reverse": {
"follow", "type": "boolean",
"repeat", "description": "Loop backwards through the set of primitives (e.g 1->2->-3->2->1...)",
"cover", "example": True,
], },
"description": "How the associated feature should be used", "acceptance_radius_m": {
}, "type": "number",
"feature": { "format": "float",
"$ref": "https://geojson.org/schema/Feature.json", "description": "Acceptance radius (if applicable) to points of geometry in metres",
"example": 10000,
}, },
}, },
"required": ["feature"], }
primitive_schema = {
"oneOf": [
{
"properties": {
"instruction": {
"type": "string",
"enum": [
"navigate_to",
"follow",
],
"description": "How the associated feature should be used",
},
"options": options_schema,
"feature": {
"$ref": "https://geojson.org/schema/Feature.json",
},
},
"required": ["feature", "instruction"],
},
{
"properties": {
"instruction": {
"type": "string",
"enum": [
"stay_inside",
"stay_outside",
"repeat",
"cover",
],
"description": "How the associated feature should be used",
},
"feature": {
"$ref": "https://geojson.org/schema/Feature.json",
},
},
"required": ["feature", "instruction"],
},
]
} }
squad_metadata_schema = { squad_metadata_schema = {
......
...@@ -1947,27 +1947,69 @@ ...@@ -1947,27 +1947,69 @@
"primitives": { "primitives": {
"description": "Specification primitives - campaign-wide such as operating area and obstacles", "description": "Specification primitives - campaign-wide such as operating area and obstacles",
"items": { "items": {
"properties": { "oneOf": [
"feature": { {
"$ref": "#/components/schemas/geojson.org.schema.Feature.json" "properties": {
"feature": {
"$ref": "#/components/schemas/geojson.org.schema.Feature.json"
},
"instruction": {
"description": "How the associated feature should be used",
"enum": [
"navigate_to",
"follow"
],
"type": "string"
},
"options": {
"properties": {
"acceptance_radius_m": {
"description": "Acceptance radius (if applicable) to points of geometry in metres",
"example": 10000,
"format": "float",
"type": "number"
},
"repeat": {
"description": "Repeat these set of primitives in order (e.g. 1->2->3->1->2...)",
"example": true,
"type": "boolean"
},
"reverse": {
"description": "Loop backwards through the set of primitives (e.g 1->2->-3->2->1...)",
"example": true,
"type": "boolean"
}
},
"type": "object"
}
},
"required": [
"feature",
"instruction"
]
}, },
"instruction": { {
"description": "How the associated feature should be used", "properties": {
"enum": [ "feature": {
"stay_inside", "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
"stay_outside", },
"navigate_to", "instruction": {
"follow", "description": "How the associated feature should be used",
"repeat", "enum": [
"cover" "stay_inside",
], "stay_outside",
"type": "string" "repeat",
"cover"
],
"type": "string"
}
},
"required": [
"feature",
"instruction"
]
} }
}, ]
"required": [
"feature"
],
"type": "object"
}, },
"type": "array" "type": "array"
}, },
...@@ -2158,27 +2200,69 @@ ...@@ -2158,27 +2200,69 @@
"primitives": { "primitives": {
"description": "Squad primitives - includes platform group navigation instructions", "description": "Squad primitives - includes platform group navigation instructions",
"items": { "items": {
"properties": { "oneOf": [
"feature": { {
"$ref": "#/components/schemas/geojson.org.schema.Feature.json" "properties": {
"feature": {
"$ref": "#/components/schemas/geojson.org.schema.Feature.json"
},
"instruction": {
"description": "How the associated feature should be used",
"enum": [
"navigate_to",
"follow"
],
"type": "string"
},
"options": {
"properties": {
"acceptance_radius_m": {
"description": "Acceptance radius (if applicable) to points of geometry in metres",
"example": 10000,
"format": "float",
"type": "number"
},
"repeat": {
"description": "Repeat these set of primitives in order (e.g. 1->2->3->1->2...)",
"example": true,
"type": "boolean"
},
"reverse": {
"description": "Loop backwards through the set of primitives (e.g 1->2->-3->2->1...)",
"example": true,
"type": "boolean"
}
},
"type": "object"
}
},
"required": [
"feature",
"instruction"
]
}, },
"instruction": { {
"description": "How the associated feature should be used", "properties": {
"enum": [ "feature": {
"stay_inside", "$ref": "#/components/schemas/geojson.org.schema.Feature.json"
"stay_outside", },
"navigate_to", "instruction": {
"follow", "description": "How the associated feature should be used",
"repeat", "enum": [
"cover" "stay_inside",
], "stay_outside",
"type": "string" "repeat",
"cover"
],
"type": "string"
}
},
"required": [
"feature",
"instruction"
]
} }
}, ]
"required": [
"feature"
],
"type": "object"
}, },
"type": "array" "type": "array"
}, },
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment