Stops any executing actions and put the system in a standby mode.
This message has no fields.
Identity and description of a plan’s general parameters, associated with plan loading (i.e. load plan command in PlanCommand).
A plan specification is defined by a plan identifier, a set of maneuver specifications and a start maneuver from that set.
See the Plan Maneuver message for details on maneuver specification.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Plan ID | plan_id | - | plaintext | The plan’s identifier. | Same as field type |
Plan Description | description | - | plaintext | Verbose text description of plan. | Same as field type |
Namespace | vnamespace | - | plaintext | Namespace for plan variables. | Same as field type |
Plan Variables | variables | - | message-list | Plan variables. | Same as field type |
Starting maneuver | start_man_id | - | plaintext | Indicates the id of the starting maneuver for this plan. | Same as field type |
Maneuvers | maneuvers | - | message-list | List of maneuver specifications. | Same as field type |
Transitions | transitions | - | message-list | List of maneuver specifications. | Same as field type |
Start Actions | start_actions | - | message-list | Contains an optionally defined ‘MessageList’ for actions fired on plan activation. | Same as field type |
End Actions | end_actions | - | message-list | Contains an optionally defined ‘MessageList’ for actions fired on plan termination. | Same as field type |
Named plan maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Maneuver ID | maneuver_id | - | plaintext | The maneuver ID. | Same as field type |
Maneuver Specification | data | - | message | The maneuver specification. | Same as field type |
Start Actions | start_actions | - | message-list | Contains an optionally defined ‘MessageList’ for actions fired on plan activation. | Same as field type |
End Actions | end_actions | - | message-list | Contains an optionally defined ‘MessageList’ for actions fired on plan termination. | Same as field type |
Describes a plan transition within a plan specification. A transition states the vehicle conditions that must be met to signal the transition, the maneuver that should be started as a result, and an optional set of actions triggered by the transition.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Source | source_man | - | plaintext | Comma separated list of maneuver IDs, or the special value ‘.’ to identify a global plan transition. | Same as field type |
Destination Maneuver Name | dest_man | - | plaintext | Target maneuver name. If it equals the special value ‘_done_’ then plan should terminate with a success status. If it equals the special value ‘_error_’ then the plan should terminate with an error status. | Same as field type |
Transition conditions | conditions | - | plaintext | Comma separated list of conditions for transition. Each condition identifier corresponds to a known predicate which is interpreted and tested internally by the vehicle. | Same as field type |
Transition actions | actions | - | message-list | Messages processed when the transition is triggered. | Same as field type |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Command | command | Enumerated | uint8_t | Same as field type | |
Plan Specification | plan | - | message | Same as field type |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
State | state | Enumerated | uint8_t | Same as field type | |
Plan Id | plan_id | - | plaintext | Same as field type | |
Communications Level | comm_level | % | uint8_t | Same as field type |
Request/reply to plan database.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Type | type | Enumerated | uint8_t | Indicates if the message is a request, or a reply to a previous request. | Same as field type |
Operation | op | Enumerated | uint8_t | Indicates the operation affecting the DB. The operation may relate to a single plan or the entire plan DB. For each request, a plan DB may reply with any number of ‘in progress’ replies followed by a success or a failure reply. The ‘op’, ‘request_id’ and ‘plan_id’ fields of a request will be echoed in one or more responses to that request. The operation at stake also determines a certain type of the ‘arg’ field, and whether or not the ‘plan_id’ field needs to be set. |
Same as field type |
Request ID | request_id | - | uint16_t | Request ID. This may be used by interfacing modules, e.g. using sequence counters, to annotate requests and appropriately identify replies | Same as field type |
Plan ID | plan_id | - | plaintext | Plan identifier for the operation, if one is required. | Same as field type |
Argument | arg | - | message | Request or reply argument. | Same as field type |
Complementary Information | info | - | plaintext | Human-readable complementary information. For example this may be used to detail reasons for failure, or to report in-progress information. | Same as field type |
Characterizes the state of the entire plan database.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Plan – Count | plan_count | - | uint16_t | Number of stored plans. | Same as field type |
Plan – Size of all plans | plan_size | - | uint32_t | Size of all plans.The value equals the sum of the IMC payload sizes for ‘PlanSpecification’ stored in the DB. | Same as field type |
Last Change – Time | change_time | s | fp64_t | Time of last change (Epoch time). | Same as field type |
Last Change – Source Address | change_sid | - | uint16_t | IMC address for source of last DB change. | Same as field type |
Last Change – Source Name | change_sname | - | plaintext | IMC node name for source of last DB change. | Same as field type |
MD5 | md5 | - | rawdata | MD5 database verification code. The MD5 hash sum is computed over the stream formed by the MD5 of all plans, ordered by plan id, in compliance with RFC 1321. | Same as field type |
Plan info | plans_info | - | message-list | Individual information for plans. | Same as field type |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Plan ID | plan_id | - | plaintext | Plan identifier. | Same as field type |
Plan Size | plan_size | - | uint16_t | Plan size. The value equals the IMC message payload of the associated ‘PlanSpecification’ message in bytes. | Same as field type |
Last Changed – Time | change_time | - | fp64_t | Time of last change to the plan (Epoch time). | Same as field type |
Last Change – Source Address | change_sid | - | uint16_t | IMC address for source of last change to the plan. | Same as field type |
Last Change – Source Name | change_sname | - | plaintext | IMC node name for source of last change to the plan. | Same as field type |
MD5 | md5 | - | rawdata | MD5 plan verification code. The value is calculated over the message payload of the ‘PlanSpecification’, in compliance with RFC 1321. | Same as field type |
Plan control request/reply.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Type | type | Enumerated | uint8_t | Indicates if the message is a request or a reply to a previous request. The op, request_id and plan_id fields of a request will be echoed in one or more responses to that request. | Same as field type |
Operation | op | Enumerated | uint8_t | Plan control operation. | Same as field type |
Request ID | request_id | - | uint16_t | Request ID. This may be used by interfacing modules e.g. using sequence counters. to annotate requests and appropriately identify replies. | Same as field type |
Plan Identifier | plan_id | - | plaintext | The identifier for the plan to be stopped / started / loaded / retrieved according to the command requested (op field). | Same as field type |
Flags | flags | Bitfield | uint16_t | Same as field type | |
Request/Reply Argument | arg | - | message | Complementary message argument for requests/replies. | Same as field type |
Complementary Info | info | - | plaintext | Complementary human-readable information. This is used in association to replies. | Same as field type |
State of plan control.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
State | state | Enumerated | uint8_t | Describes overall state. | Same as field type |
Plan – ID | plan_id | - | plaintext | Identifier of plan currently loaded. | Same as field type |
Plan – ETA | plan_eta | s | int32_t | Current plan estimated time to completion. The value will be -1 if the time is unknown or undefined. | Same as field type |
Plan – Progress | plan_progress | % | fp32_t | Current plan estimated progress in percent. The value will be negative if unknown or undefined. | Same as field type |
Maneuver – ID | man_id | - | plaintext | Current node ID, when executing a plan. | Same as field type |
Maneuver – Type | man_type | - | uint16_t | Type of maneuver being executed (IMC serialization id), when executing a plan. | Same as field type |
Maneuver – ETA | man_eta | s | int32_t | Current node estimated time to completion, when executing a plan. The value will be -1 if the time is unknown or undefined. | Same as field type |
Last Plan Outcome | last_outcome | Enumerated | uint8_t | Outcome of the last executed plan. | Same as field type |
A plan variable.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Name | name | - | plaintext | Same as field type | |
Value | value | - | plaintext | Same as field type | |
Type | type | Enumerated | uint8_t | Same as field type | |
Access Type | access | Enumerated | uint8_t | Same as field type |
This message is used to order the generation of plans based on id and set of parameters.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Command | cmd | Enumerated | uint8_t | Same as field type | |
Operation | op | Enumerated | uint8_t | Same as field type | |
Plan Identifier | plan_id | - | plaintext | The name of the plan to be generated. | Same as field type |
Parameters | params | TupleList | plaintext | An optional list of parameters to be used by the plan generation module. | Same as field type |
This message defines the formation leader state.
LeaderState is a complete description of the leader state in terms of parameters such as position, orientation and velocities at a particular moment in time.
The system position is given by a North-East-Down (NED) local tangent plane displacement (x, y, z) relative to an absolute WGS-84 coordinate (latitude, longitude, height above ellipsoid).
The symbols for position and attitude as well as linear and angular velocities were chosen according to SNAME’s notation (1950). The body-fixed reference frame and Euler angles are depicted next:
align: | center |
---|
Euler angles
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Group Name | group_name | - | plaintext | Name for the formation group. | Same as field type |
Action on the leader state | op | Enumerated | uint8_t | Action on the formation leader state variables | Same as field type |
Latitude (WGS-84) | lat | rad | fp64_t | WGS-84 Latitude. | Same as field type |
Longitude (WGS-84) | lon | rad | fp64_t | WGS-84 Longitude. | Same as field type |
Height (WGS-84) | height | m | fp32_t | Height above the WGS-84 ellipsoid. | Same as field type |
Offset north | x | m | fp32_t | The North offset of the North/East/Down field with respect to LLH. | Same as field type |
Offset east | y | m | fp32_t | The East offset of the North/East/Down field with respect to LLH. | Same as field type |
Offset down | z | m | fp32_t | The Down offset of the North/East/Down field with respect to LLH. | Same as field type |
Rotation over x axis | phi | rad | fp32_t | The phi Euler angle from the vehicle’s attitude. | Same as field type |
Rotation over y axis | theta | rad | fp32_t | The theta Euler angle from the vehicle’s attitude. | Same as field type |
Rotation over z axis | psi | rad | fp32_t | The psi Euler angle from the vehicle’s attitude. | Same as field type |
Ground Velocity X (North) | vx | m/s | fp32_t | Ground Velocity xx axis velocity component. | Same as field type |
Ground Velocity Y (East) | vy | m/s | fp32_t | Ground Velocity yy axis velocity component. | Same as field type |
Ground Velocity Z (Down) | vz | m/s | fp32_t | Ground Velocity zz axis velocity component. | Same as field type |
Angular Velocity in x | p | rad/s | fp32_t | The angular velocity over body-fixed xx axis (roll). | Same as field type |
Angular Velocity in y | q | rad/s | fp32_t | The angular velocity over body-fixed yy axis (pitch). | Same as field type |
Angular Velocity in z | r | rad/s | fp32_t | The angular velocity over body-fixed zz axis (yaw). | Same as field type |
Stream Velocity X (North) | svx | m/s | fp32_t | Stream Velocity xx axis velocity component. | Same as field type |
Stream Velocity Y (East) | svy | m/s | fp32_t | Stream Velocity yy axis velocity component. | Same as field type |
Stream Velocity Z (Down) | svz | m/s | fp32_t | Stream Velocity zz axis velocity component. | Same as field type |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Plan Identifier | plan_id | - | plaintext | The name of the plan to be generated. | Same as field type |
Type | type | Enumerated | uint8_t | Type of plan statistics, if they are launched before, during or after the plan execution. | Same as field type |
Properties | properties | Bitfield | uint8_t | Same as field type | |
Durations | durations | TupleList | plaintext | Maneuver and plan duration statistics in seconds, for example: “Total=1000,Goto1=20,Rows=980” | Same as field type |
Distances | distances | TupleList | plaintext | Distances travelled in meters in each maneuver and/or total: “Total=2000,Rows=1800,Elevator=200” | Same as field type |
Actions | actions | TupleList | plaintext | List of components active by plan actions during the plan and time active in seconds: “Sidescan=100,Camera Module=150” | Same as field type |
Fuel | fuel | TupleList | plaintext | Amount of fuel spent, in battery percentage, by different parcels (if applicable): “Total=35,Hotel=5,Payload=10,Motion=20,IMU=0” | Same as field type |