145 lines
3.3 KiB
JSON
145 lines
3.3 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "TaskPlan v2",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"schema_version",
|
|
"plan_version",
|
|
"task_type",
|
|
"goal",
|
|
"route",
|
|
"slots",
|
|
"missing_information",
|
|
"subtasks"
|
|
],
|
|
"properties": {
|
|
"schema_version": {
|
|
"const": 2
|
|
},
|
|
"plan_version": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 4294967295
|
|
},
|
|
"task_type": {
|
|
"enum": [
|
|
"pick_transport_place",
|
|
"multi_item_pick_transport_place"
|
|
]
|
|
},
|
|
"goal": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 1000
|
|
},
|
|
"route": {
|
|
"enum": [
|
|
"OBJECT_TABLE",
|
|
"SHELF_CELL"
|
|
]
|
|
},
|
|
"slots": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"items",
|
|
"destination"
|
|
],
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 20,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"target_name",
|
|
"quantity",
|
|
"source_location"
|
|
],
|
|
"properties": {
|
|
"target_name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 200
|
|
},
|
|
"source_location": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 200
|
|
},
|
|
"quantity": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 20
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"destination": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 200
|
|
}
|
|
},
|
|
"description": "Ordered items; sum(quantity)<=20 is also checked in code."
|
|
},
|
|
"missing_information": {
|
|
"type": "array",
|
|
"maxItems": 0
|
|
},
|
|
"subtasks": {
|
|
"type": "array",
|
|
"minItems": 4,
|
|
"maxItems": 120,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"id",
|
|
"skill",
|
|
"arguments",
|
|
"depends_on"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 80
|
|
},
|
|
"skill": {
|
|
"enum": [
|
|
"NAVIGATE",
|
|
"ROBOBRAIN_SHELF_LOCALIZE",
|
|
"PICK",
|
|
"PLACE"
|
|
]
|
|
},
|
|
"arguments": {
|
|
"type": "object",
|
|
"required": [
|
|
"item_index"
|
|
],
|
|
"properties": {
|
|
"item_index": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 19
|
|
}
|
|
}
|
|
},
|
|
"depends_on": {
|
|
"type": "array",
|
|
"maxItems": 1,
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "Runtime validator plan_v2.validate_v2 additionally enforces exact per-route argument fields, count/order, predecessor dependencies and matching slots. JSON Schema alone does not approve execution."
|
|
} |