A “Goto” is a maneuver specifying a movement of the vehicle to a target waypoint. The waypoint is described by the WGS-84 waypoint coordinate and target Z reference.
Mandatory parameters defined for a “Goto” are timeout, speed and speed units.
Optional parameters may be defined for the target Euler Angles (roll, pitch and yaw) though these parameters may not be considered by all maneuver controllers in charge of the execution of this type of maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Roll | roll | rad | fp64_t | The phi Euler angle in which the vehicle should set its attitude. Use ‘-1’ for this field to be unconsidered. Otherwise the value spans from 0 to 2 Pi. | min=-1, max=6.283185307179586 |
Pitch | pitch | rad | fp64_t | The theta Euler angle in which the vehicle should set its attitude. Use ‘-1’ for this field to be disconcerted. Otherwise the value spans from 0 to 2 Pi. | min=-1, max=6.283185307179586 |
Yaw | yaw | rad | fp64_t | The psi Euler angle in which the vehicle should set its attitude. Use ‘-1’ for this field to be considered. Otherwise the value spans from 0 to 2 Pi. | min=-1, max=6.283185307179586 |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
The Pop Up maneuver makes the vehicle come to the surface at a specific waypoint. This maneuver is restricted to underwater vehicles.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. If the maneuver is not completed in the amount of time specified an error will be generated. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Duration | duration | s | uint16_t | The duration of this maneuver at surface level. Only used if flag WAIT_AT_SURFACE is on. | Same as field type |
Radius | radius | m | fp32_t | Radius of the maneuver. Only used if flag STATION_KEEP is on. | min=1, max=100000 |
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Flags of the maneuver. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Flags of the maneuver.
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Start from current position | CURR_POS | If this flag is set, lat/lon/start_z fields should be ignored and current vehicle position should be considered as starting point for ascent/descent. |
0x02 | Wait at surface | WAIT_AT_SURFACE | If this flag is set, duration field is used to hold position at surface for that amount of time. |
0x04 | Station keeping | STATION_KEEP | This flag will only make sense if WAIT_AT_SURFACE is also set. While holding position at surface the vehicle will assume a station keeping behavior. |
The Teleoperation Maneuver lets the vehicle be controlled by an external human operator.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
The Loiter maneuver makes the vehicle circle around a specific waypoint with fixed depth reference.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The timeout indicates the time that an error should occur if exceeded. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude coordinate. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude coordinate. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Duration | duration | s | uint16_t | The duration of this maneuver. Use ‘0’ for unlimited duration time. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Loiter Type | type | Enumerated (Enum Loiter Type) | uint8_t | Loiter maneuver type. | max=4 |
Radius | radius | m | fp32_t | Radius of the maneuver. | min=1, max=100000 |
Length | length | m | fp32_t | Length of the maneuver. | min=1, max=100000 |
Bearing | bearing | rad | fp64_t | Bearing of the maneuver. | min=0, max=6.283185307179586 |
Direction | direction | Enumerated (Enum Direction) | uint8_t | Desired direction. | max=3 |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Loiter maneuver type.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Default | DEFAULT | - |
1 | Circular | CIRCULAR | - |
2 | Race track | RACETRACK | - |
3 | Figure 8 | EIGHT | - |
4 | Hover | HOVER | - |
Desired direction.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Vehicle Dependent | VDEP | - |
1 | Clockwise | CLOCKW | - |
2 | Counter Clockwise | CCLOCKW | - |
3 | Into the wind/current | IWINDCURR | - |
Causes the vehicle to stay idle for some time.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Duration | duration | s | uint16_t | Optional duration of the Idle maneuver. Use ‘0’ for unlimited duration time (maneuver will have to be explicitly stopped). | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Low level maneuver that sends a (heading, roll, speed, …) reference to a controller of the vehicle and then optionally lingers for some time.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Control | control | - | message (Message-Group Control Command) | Control command: can be of type DesiredZ, DesiredHeading, DesiredRoll, DesiredPitch, DesiredSpeed, DesiredThrottle or DesiredPath. | Same as field type |
Duration | duration | s | uint16_t | Duration of the control. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Rows maneuver (i.e: lawn mower type maneuver)
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Bearing | bearing | rad | fp64_t | Rows bearing angle. | min=0, max=6.283185307179586 |
Cross Angle | cross_angle | rad | fp64_t | Rows cross angle reference. | min=-1.047197551197, max=1.047197551197 |
Width | width | m | fp32_t | Width of the maneuver. | min=0 |
Length | length | m | fp32_t | Length of the maneuver. | min=0 |
Horizontal Step | hstep | m | fp32_t | Horizontal step. | min=0 |
Curve Offset | coff | m | uint8_t | Desired curve offset. | Same as field type |
Alternation Parameter | alternation | % | uint8_t | Alternation parameter. | max=100 |
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Maneuver flags. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Maneuver flags.
Value | Name | Abbreviation | Description |
---|---|---|---|
0x0001 | Square Curve | SQUARE_CURVE | - |
0x0002 | First Curve Right | CURVE_RIGHT | - |
Maneuver constituted by a list of Path Points.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of start point. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Path Points | points | - | message-list (Path Point) | List of PathPoint messages, encoding the path points. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Waypoint coordinate of a Follow Path maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
North Offset (m) | x | m | fp32_t | The North offset of the North/East/Down coordinate of this point in relation to the path start point. | Same as field type |
East Offset (m) | y | m | fp32_t | The East offset of the North/East/Down coordinate of this point in relation to the path start point. | Same as field type |
Down Offset (m) | z | m | fp32_t | The Down offset of the North/East/Down coordinate of this point in relation to the path start point. | Same as field type |
A “yo-yo” is a maneuver specifying a vehicle movement to a target waypoint in which depth/altitude varies along the way between two values with a desired pitch angle.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Amplitude | amplitude | m | fp32_t | Amplitude. | Same as field type |
Pitch Angle | pitch | rad | fp32_t | Pitch angle for use in ascent/descent. | min=0, max=0.78539816 |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Notification of completion of a Teleoperation maneuver.
This message has no fields.
The Station Keeping maneuver makes the vehicle come to the surface and then enter a given circular perimeter around a waypoint coordinate for a certain amount of time.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Radius | radius | m | fp32_t | Radius. | Same as field type |
Duration | duration | s | uint16_t | Duration (0 for unlimited). | Same as field type |
Speed | speed | - | fp32_t | The value of the desired speed, in the scale specified by the “Speed Units” field. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Indicates the units used for the speed value. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
The Elevator maneuver specifies a vehicle to reach a target waypoint using a cruise altitude/depth and then ascend or descend to another target altitude/depth. The ascent/descent slope and radius can also be optionally specified.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. If the maneuver is not completed in the amount of time specified an error will be generated. | Same as field type |
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Flags of the maneuver. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude. | min=-3.141592653589793, max=3.141592653589793 |
Start Point – Z Reference | start_z | m | fp32_t | Altitude or depth of start point. This parameter will be ignored if the ‘NO_Z’ flag is set, or if the ‘START’ flag is not set. | Same as field type |
Start Point – Z Units | start_z_units | Enumerated (Enum Z Units) | uint8_t | Units of the start point’s z reference. | Same as field type |
End Point – Z Reference | end_z | m | fp32_t | Depth or altitude for the end point. This parameter will be ignored if the ‘NO_Z’ flag is set. | Same as field type |
End Point – Z Units | end_z_units | Enumerated (Enum Z Units) | uint8_t | Units of the end point’s z reference. | Same as field type |
Radius | radius | m | fp32_t | Radius for use in ascent/descent. If 0 the controller to should use a custom control strategy. | min=0 |
Speed | speed | - | fp32_t | Maneuver speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Flags of the maneuver.
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Start from current position | CURR_POS | If this flag is set, lat/lon/start_z fields should be ignored and current vehicle position should be considered as starting point for ascent/descent. |
Maneuver constituted by a list of Trajectory Points.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude for start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude for start point. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Trajectory Points | points | - | message-list (Trajectory Point) | List of trajectory points. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Waypoint coordinate of a Follow Trajectory maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
North Offset (m) | x | m | fp32_t | The North offset of the North/East/Down coordinate of this point in relation to the trajectory start point. | Same as field type |
East Offset (m) | y | m | fp32_t | The East offset of the North/East/Down coordinate of this point in relation to the trajectory start point. | Same as field type |
Down Offset (m) | z | m | fp32_t | The Down offset of the North/East/Down coordinate of this point in relation to the trajectory start point. | Same as field type |
Time Offset (s) | t | s | fp32_t | The time offset relative to the previous trajectory point. | Same as field type |
The Custom Maneuver message may be used as specification of a very specific maneuver not covered by the IMC scope. The settings of the maneuver are just its id, timeout and other settings encoded as a tuple list.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. If the maneuver is not completed in the amount of time specified an error will be generated. | Same as field type |
Maneuver Name | name | - | plaintext | The maneuver name, used as key by an implementation to bind the maneuver to the corresponding controller. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Coordinate maneuver using two or more cooperating systems.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude for start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude for start point. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Reference speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Reference speed units. | Same as field type |
Trajectory Points | points | - | message-list (Trajectory Point) | List of trajectory points. | Same as field type |
Formation Participants | participants | - | message-list (Vehicle Formation Participant) | List of formation participants. | Same as field type |
Start Time | start_time | s | fp64_t | Optional start time hint for vehicle formation. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Definition of a vehicle participant in a VehicleFormation maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
ID (IMC address) | vid | - | uint16_t | IMC address of vehicle. | Same as field type |
Formation offset – Along-track | off_x | m | fp32_t | Distance that the system must respect along the xx axis. | Same as field type |
Formation offset – Cross-track | off_y | m | fp32_t | Distance that the system must respect along the yy axis. | Same as field type |
Formation offset – Depth/Altitude | off_z | m | fp32_t | Distance that the system must respect along the zz axis. | Same as field type |
Command used to stop currently executing maneuver.
This message has no fields.
Command used to indicate maneuver can be executed in the vehicle.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Maneuver ID | mid | - | uint16_t | IMC serialization ID of maneuver type. | Same as field type |
Maneuver control state.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
State | state | Enumerated (Enum State) | uint8_t | Code indicating maneuver state. | Same as field type |
Completion Time | eta | s | uint16_t | Estimated time to completion of the maneuver, when executing. The value will be 65535 if the time is unknown or undefined. | Same as field type |
Info | info | - | plaintext | Complementary information, e.g., regarding errors. | Same as field type |
Code indicating maneuver state.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Maneuver in progress | EXECUTING | Maneuver in progress. |
1 | Maneuver completed | DONE | Maneuver completed. |
2 | Maneuver error | ERROR | Maneuver error. |
3 | Maneuver stopped | STOPPED | Maneuver stopped. |
System-following maneuver.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
System To Follow | system | - | uint16_t | IMC address of system to follow. | Same as field type |
Duration | duration | s | uint16_t | Duration of maneuver, 0 for unlimited duration. | Same as field type |
Speed | speed | - | fp32_t | Reference speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Reference speed units. | Same as field type |
Offset – X | x | - | fp32_t | Along-track offset. | Same as field type |
Offset – Y | y | - | fp32_t | Cross-track offset. | Same as field type |
Coordinate – Z | z | - | fp32_t | Coordinate z during follow maneuver. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
In this maneuver, a vehicle drives to the center of two other systems (a, b) in order to be used as a communications relay.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude for start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude for start point. | min=-3.141592653589793, max=3.141592653589793 |
Speed | speed | - | fp32_t | Reference speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Reference speed units. | Same as field type |
Duration | duration | s | uint16_t | Duration of maneuver, 0 for unlimited duration. | Same as field type |
System A | sys_a | - | uint16_t | The IMC id of the system A. | Same as field type |
System B | sys_b | - | uint16_t | The IMC id of the system B. | Same as field type |
Move threshold | move_threshold | m | fp32_t | Move only if the distance to the target is bigger than this threshold. | Same as field type |
Given a polygonal area, generates trajectories to cover the area.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude for start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude for start point. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Reference speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Reference speed units. | Same as field type |
Polygon | polygon | - | message-list (Polygon Vertex) | Message list of type PolygonVertex. | Same as field type |
CustomParameters | custom | TupleList | plaintext | Additional parameters to be used by the controller. | Same as field type |
This message is used to store the various polygon vertices for CoverArea maneuvers.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude for start point. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude for start point. | min=-3.141592653589793, max=3.141592653589793 |
This maneuver is a mix between the Loiter maneuver and the YoYo maneuver. The vehicle cirlcles around a specific waypoint with a variable Z reference between a minimum and maximum value.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The timeout indicates the time that an error should occur if exceeded. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude coordinate. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude coordinate. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Pitch | pitch | rad | fp32_t | Pitch angle used to perform the maneuver. | min=-1.5707963267948966, max=1.5707963267948966 |
Amplitude | amplitude | m | fp32_t | Yoyo motion amplitude. | Same as field type |
Duration | duration | s | uint16_t | The duration of this maneuver. Use ‘0’ for unlimited duration time. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Radius | radius | m | fp32_t | Radius of the maneuver. | min=1, max=100000 |
Direction | direction | Enumerated (Enum Direction) | uint8_t | Direction of the maneuver. | max=3 |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Direction of the maneuver.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Vehicle Dependent | VDEP | - |
1 | Clockwise | CLOCKW | - |
2 | Counter Clockwise | CCLOCKW | - |
3 | Into the wind/current | IWINDCURR | - |
A “Formation” is defined by the relative positions of the vehicles inside the formation, and the reference frame where this positions are defined.
The formation reference frame may be: - Earth Fixed: Where the vehicles relative position do not depend on the followed path. This results in all UAVs following the same path with an offset relative to each other; - Path Fixed: Where the vehicles relative position depends on the followed path, changing the inter-vehicle offset direction with the path direction. - Path Curved: Where the vehicles relative position depends on the followed path, changing the inter-vehicle offset direction with the path direction and direction change rate. An offset in the xx axis results in a distance over the curved path line. An offset in the yy axis results in an offset of the vehicle path line relative to the formation center path line.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Formation Name | formation_name | - | plaintext | Name of the formation configuration. | Same as field type |
Formation Reference Frame | reference_frame | Enumerated (Enum Formation Reference Frame) | uint8_t | Formation reference frame | Same as field type |
Formation Participants | participants | - | message-list (Vehicle Formation Participant) | List of formation participants. | Same as field type |
Custom settings for formation | custom | TupleList | plaintext | Custom settings for the formation configuration. | Same as field type |
Formation reference frame
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Earth Fixed | EARTH_FIXED | - |
1 | Path Fixed | PATH_FIXED | - |
2 | Path Curved | PATH_CURVED | - |
A “Formation Plan” is a maneuver specifying a plan for a team of vehicles. The maneuver defines: - Vehicles included in the formation group - Formation shape configuration - Plan (set of maneuvers) to be followed by the formation center - Speed at which that plan is followed - Path contrains (virtual leader bank limit) - Supervision settings
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Target Group Name | group_name | - | plaintext | Target group for the formation plan. | Same as field type |
Formation Name | formation_name | - | plaintext | Name of the formation configuration. | Same as field type |
Formation Plan ID | plan_id | - | plaintext | The flight plan’s identifier. Flight plan defined to be tracked by the formation leader. | Same as field type |
Plan Description | description | - | plaintext | Verbose text description of plan. | Same as field type |
Formation Leader Flight Airspeed | leader_speed | m/s | fp32_t | Formation leader flight airspeed during the plan tracking. | Same as field type |
Formation leader flight bank limit | leader_bank_lim | m/s | fp32_t | Formation leader flight bank limit during the plan tracking. | Same as field type |
Position mismatch limit | pos_sim_err_lim | m | fp32_t | Limit for the position mismatch between real and simulated position, before a maneuver abort is asserted. | Same as field type |
Position mismatch threshold | pos_sim_err_wrn | m | fp32_t | Warning threshold for the position mismatch between real and simulated position. Above this threshold a time-out limit is evaluated to assert a maneuver abort state. | Same as field type |
Position mismatch time-out | pos_sim_err_timeout | s | uint16_t | The amount of time the maneuver is allowed to run after the position mismatch threshold is surpassed. | Same as field type |
Convergence threshold | converg_max | m | fp32_t | Threshold for the convergence measure, above which a time-out limit is evaluated to assert a maneuver abort state. | Same as field type |
Convergence time-out | converg_timeout | s | uint16_t | The amount of time the maneuver is allowed to run after the convergence threshold is surpassed. | Same as field type |
Communications time-out | comms_timeout | s | uint16_t | The amount of time the maneuver is allowed to run without any update on the other formation vehicles states. | Same as field type |
Turbulence limit | turb_lim | m/s | fp32_t | Turbulence limit above which a maneuver abort is asserted. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
This maneuver follows a reference given by an external entity.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Controlling Source | control_src | - | uint16_t | The IMC identifier of the source system that is allowed to provide references to this maneuver. If the value ‘‘0xFFFF’’ is used, any system is allowed to command references. | Same as field type |
Controlling Entity | control_ent | - | uint8_t | The entity identifier of the entity that is allowed to provide references to this maneuver. If the value ‘‘0xFF’’ is used, any entity is allowed to command references. | Same as field type |
Reference Update Timeout | timeout | - | fp32_t | The ammount of time, in seconds, after which the maneuver will be terminated if no reference has been received. In other words, the controlling entity should send reference updates in shorter periods than ‘timeout’. | Same as field type |
Loiter Radius | loiter_radius | - | fp32_t | Whenever an intended reference is achieved, this maneuver will maintain the vehicle in vaticiny of that location. The loiter radius is used to define the radius of this (xy) area. | Same as field type |
Altitude Interval | altitude_interval | - | fp32_t | Similarly to Loiter Radius, this field is used to define the “z” distance considered to be inside the vacitiny of the target location. An AUV may, for instance, be floating until it more than z units above the current reference, in which case it actively changes its position in order to achieve the desired depth / altitude. | Same as field type |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Same as field type | |
Speed Reference | speed | - | message (Desired Speed) | Same as field type | |
Z Reference | z | - | message (Desired Z) | Same as field type | |
Latitude Reference | lat | - | fp64_t | Same as field type | |
Longitude Reference | lon | - | fp64_t | Same as field type | |
Radius | radius | - | fp32_t | Same as field type |
No description
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Use Location Reference | LOCATION | - |
0x02 | Use Speed Reference | SPEED | - |
0x04 | Use Z Reference | Z | - |
0x08 | Use Radius Reference | RADIUS | - |
0x10 | Use this Reference as Start Position for PathControler | START_POINT | - |
0x20 | Use Current Position as Start Position for PathControler | DIRECT | - |
0x80 | Flag Maneuver Completion | MANDONE | - |
No description
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Controlling Source | control_src | - | uint16_t | The IMC identifier of the source system that is allowed to control the vehicle. If the value ‘‘0xFFFF’’ is used, any system is allowed to command references. | Same as field type |
Controlling Entity | control_ent | - | uint8_t | The entity identifier of the entity that is allowed to control the vehicle. If the value ‘‘0xFF’’ is used, any entity is allowed to command references. | Same as field type |
Reference | reference | - | message (Reference To Follow) | Reference currently being followed. | Same as field type |
State | state | Enumerated (Enum State) | uint8_t | Same as field type | |
Proximity | proximity | Bitfield (Bitfield Proximity) | uint8_t | Same as field type |
No description
Value | Name | Abbreviation | Description |
---|---|---|---|
1 | Waiting for first reference | WAIT | - |
2 | Going towards received reference | GOTO | - |
3 | Loitering after arriving at the reference | LOITER | - |
4 | Hovering after arriving at the reference | HOVER | - |
5 | Moving in z after arriving at the target cylinder | ELEVATOR | - |
6 | Controlling system timed out | TIMEOUT | - |
No description
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Far from the destination | FAR | - |
0x02 | Near in the horizontal plane | XY_NEAR | - |
0x04 | Near in the vertical plane | Z_NEAR | - |
0x08 | Unreachable in the horizontal plane | XY_UNREACHABLE | - |
0x10 | Unreachable in the vertical plane | Z_UNREACHABLE | - |
Monitoring variables for the formation state and performance.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Commanded X Acceleration (North) | ax_cmd | - | fp32_t | Commanded acceleration computed by the formation controller: northward direction. On the vehicle directional reference frame. Constrained by the vehicle operational limits. | Same as field type |
Commanded Y Acceleration (East) | ay_cmd | - | fp32_t | Commanded acceleration computed by the formation controller: eastward direction. On the vehicle directional reference frame. Constrained by the vehicle operational limits. | Same as field type |
Commanded Z Acceleration (Down) | az_cmd | - | fp32_t | Commanded acceleration computed by the formation controller: downward direction. On the vehicle directional reference frame. Constrained by the vehicle operational limits. | Same as field type |
Desired X Acceleration (North) | ax_des | - | fp32_t | Desired acceleration computed by the formation controller: northward direction. On the fixed reference frame. | Same as field type |
Desired Y Acceleration (East) | ay_des | - | fp32_t | Desired acceleration computed by the formation controller: eastward direction. On the fixed reference frame. | Same as field type |
Desired Z Acceleration (Down) | az_des | - | fp32_t | Desired acceleration computed by the formation controller: downward direction. On the fixed reference frame. | Same as field type |
X Virtual Error (North) | virt_err_x | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined virtual error: northward direction. On the fixed reference frame. | Same as field type |
Y Virtual Error (East) | virt_err_y | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined virtual error: eastward direction. On the fixed reference frame. | Same as field type |
Z Virtual Error (Down) | virt_err_z | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined virtual error: downward direction. On the fixed reference frame. | Same as field type |
X Sliding Surface Feedback (North) | surf_fdbk_x | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined sliding surface feedback: northward direction. On the fixed reference frame. | Same as field type |
Y Sliding Surface Feedback (East) | surf_fdbk_y | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined sliding surface feedback: eastward direction. On the fixed reference frame. | Same as field type |
Z Sliding Surface Feedback (Down) | surf_fdbk_z | - | fp32_t | Components of the vehicle desired acceleration. Overall formation combined sliding surface feedback: downward direction. On the fixed reference frame. | Same as field type |
X Uncertainty Compensation (North) | surf_unkn_x | - | fp32_t | Components of the vehicle desired acceleration. Dynamics uncertainty compensation: northward direction. | Same as field type |
Y Uncertainty Compensation (East) | surf_unkn_y | - | fp32_t | Components of the vehicle desired acceleration. Dynamics uncertainty compensation: eastward direction. | Same as field type |
Z Uncertainty Compensation (Down) | surf_unkn_z | - | fp32_t | Components of the vehicle desired acceleration. Dynamics uncertainty compensation: downward direction. | Same as field type |
X Convergence Deviation (North) | ss_x | - | fp32_t | Combined deviation from convergence (sliding surface): North component. | Same as field type |
Y Convergence Deviation (East) | ss_y | - | fp32_t | Combined deviation from convergence (sliding surface): East component. | Same as field type |
Z Convergence Deviation (Down) | ss_z | - | fp32_t | Combined deviation from convergence (sliding surface): Down component. | Same as field type |
Relative State | rel_state | - | message-list (Relative State) | List of RelativeState messages, encoding the inter-vehicle formation state. | Same as field type |
Inter-vehicle formation state.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
System Identifier | s_id | - | plaintext | The identifier of the vehicle whose relative state is being reported. | Same as field type |
Distance | dist | - | fp32_t | Distance between vehicles. | Same as field type |
Position Error | err | - | fp32_t | Relative position error norm. | Same as field type |
Control Importance | ctrl_imp | - | fp32_t | Weight in the computation of the desired acceleration. | Same as field type |
Relative Direction X (North) | rel_dir_x | - | fp32_t | Inter-vehicle direction vector: North component. | Same as field type |
Relative Direction Y (East) | rel_dir_y | - | fp32_t | Inter-vehicle direction vector: East component. | Same as field type |
Relative Direction Z (Down) | rel_dir_z | - | fp32_t | Inter-vehicle direction vector: Down component. | Same as field type |
X Position Error (North) | err_x | - | fp32_t | Relative position error: North component. | Same as field type |
Y Position Error (East) | err_y | - | fp32_t | Relative position error: East component. | Same as field type |
Z Position Error (Down) | err_z | - | fp32_t | Relative position error: Down component. | Same as field type |
X Position Error In Relative Frame (North) | rf_err_x | - | fp32_t | Relative position error: X component on the inter-vehicle reference frame. | Same as field type |
Y Position Error In Relative Frame (East) | rf_err_y | - | fp32_t | Relative position error: Y component on the inter-vehicle reference frame. | Same as field type |
Z Position Error In Relative Frame (Down) | rf_err_z | - | fp32_t | Relative position error: Z component on the inter-vehicle reference frame. | Same as field type |
X Velocity Error In Relative Frame (North) | rf_err_vx | - | fp32_t | Relative veloctity error: X component in the inter-vehicle reference frame. | Same as field type |
Y Velocity Error In Relative Frame (East) | rf_err_vy | - | fp32_t | Relative velocity error: Y component on the inter-vehicle reference frame. | Same as field type |
Z Velocity Error In Relative Frame (Down) | rf_err_vz | - | fp32_t | Relative velocity error: Z component on the inter-vehicle reference frame. | Same as field type |
X Convergence Deviation (North) | ss_x | - | fp32_t | Deviation from convergence (sliding surface): X component on the inter-vehicle reference frame. | Same as field type |
Y Convergence Deviation (East) | ss_y | - | fp32_t | Deviation from convergence (sliding surface): Y component on the inter-vehicle reference frame. | Same as field type |
Z Convergence Deviation (Down) | ss_z | - | fp32_t | Deviation from convergence (sliding surface): Z component on the inter-vehicle reference frame. | Same as field type |
X Virtual Error (North) | virt_err_x | - | fp32_t | Components of the vehicle desired acceleration. Relative virtual error: northward direction. | Same as field type |
Y Virtual Error (East) | virt_err_y | - | fp32_t | Components of the vehicle desired acceleration. Relative virtual error: eastward direction. | Same as field type |
Z Virtual Error (Down) | virt_err_z | - | fp32_t | Components of the vehicle desired acceleration. Relative virtual error: downward direction. | Same as field type |
A “Dislodge” is a maneuver ordering the vehicle to attempt a series of thruster operations that will hopefully get it unstuck from an entangled condition.
Parameters are RPMs for the motor when attempting dislodge and and a flag specifying whether the thrust burst should be attempted forward, backward or auto (letting the vehicle decide).
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
RPM | rpm | - | fp32_t | Maneuver RPM reference. | Same as field type |
Direction | direction | Enumerated (Enum Direction) | uint8_t | Direction to which the vehicle should attempt to unstuck. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Direction to which the vehicle should attempt to unstuck.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Let the vehicle decide | AUTO | - |
1 | Attempt to move forward | FORWARD | - |
2 | Attempt to move backward | BACKWARD | - |
The “Formation” is a controller to execute a maneuver with a team of vehicles. It defines the: - Vehicles included in the formation group - Vehicles relative positions inside the formation - Reference frame where the relative positions are defined - Formation shape configuration - Plan (set of maneuvers) to be followed by the formation center - Plan contrains (virtual leader speed and bank limits) - Supervision settings
The formation reference frame may be: - Earth Fixed: Where the vehicles relative position do not depend on the followed path. This results in all UAVs following the same path with an offset relative to each other; - Path Fixed: Where the vehicles relative position depends on the followed path, changing the inter-vehicle offset direction with the path direction. - Path Curved: Where the vehicles relative position depends on the followed path, changing the inter-vehicle offset direction with the path direction and direction change rate. An offset in the xx axis results in a distance over the curved path line. An offset in the yy axis results in an offset of the vehicle path line relative to the formation center path line.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Formation Name | formation_name | - | plaintext | Name of the formation configuration. | Same as field type |
Type | type | Enumerated (Enum Type) | uint8_t | Indicates if the message is a request, or a reply to a previous request. | Same as field type |
Operation | op | Enumerated (Enum Operation) | uint8_t | Operation to perform. | Same as field type |
Target Group Name | group_name | - | plaintext | Target group for the formation plan. | Same as field type |
Formation Plan ID | plan_id | - | plaintext | The flight plan’s identifier. Flight plan defined to be tracked by the formation leader. | Same as field type |
Plan Description | description | - | plaintext | Verbose text description of plan. | Same as field type |
Formation Reference Frame | reference_frame | Enumerated (Formation-enum-reference_frame) | uint8_t | Formation reference frame | Same as field type |
Formation Participants | participants | - | message-list (Vehicle Formation Participant) | List of formation participants. | Same as field type |
Formation Leader Bank Limit | leader_bank_lim | rad | fp32_t | Maximum absolute bank allowed for the formation leader. | Same as field type |
Formation Leader Minimum Speed | leader_speed_min | m/s | fp32_t | Minimum speed allowed for the formation leader flight. | Same as field type |
Formation Leader Maximum Speed | leader_speed_max | m/s | fp32_t | Maximum speed allowed for the formation leader flight. | Same as field type |
Formation Leader Minimum Altitude | leader_alt_min | m | fp32_t | Minimum altitude allowed for the formation leader flight. | Same as field type |
Formation Leader Maximum Altitude | leader_alt_max | m | fp32_t | Maximum altitude allowed for the formation leader flight. | Same as field type |
Position mismatch limit | pos_sim_err_lim | m | fp32_t | Limit for the position mismatch between real and simulated position, before a maneuver abort is asserted. | Same as field type |
Position mismatch threshold | pos_sim_err_wrn | m | fp32_t | Warning threshold for the position mismatch between real and simulated position. Above this threshold a time-out limit is evaluated to assert a maneuver abort state. | Same as field type |
Position mismatch time-out | pos_sim_err_timeout | s | uint16_t | The amount of time the maneuver is allowed to run after the position mismatch threshold is surpassed. | Same as field type |
Convergence threshold | converg_max | m | fp32_t | Threshold for the convergence measure, above which a time-out limit is evaluated to assert a maneuver abort state. | Same as field type |
Convergence time-out | converg_timeout | s | uint16_t | The amount of time the maneuver is allowed to run after the convergence threshold is surpassed. | Same as field type |
Communications time-out | comms_timeout | s | uint16_t | The amount of time the maneuver is allowed to run without any update on the other formation vehicles states. | Same as field type |
Turbulence limit | turb_lim | m/s | fp32_t | Turbulence limit above which a maneuver abort is asserted. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Indicates if the message is a request, or a reply to a previous request.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Request | REQUEST | - |
1 | Report | REPORT | - |
Operation to perform.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Start | START | Start the formation maneuver. |
1 | Stop | STOP | Stop the formation maneuver. |
2 | Ready | READY | Stop the formation maneuver. |
3 | Executing | EXECUTING | Stop the formation maneuver. |
4 | Failure | FAILURE | Stop the formation maneuver. |
Formation reference frame
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Earth Fixed | EARTH_FIXED | - |
1 | Path Fixed | PATH_FIXED | - |
2 | Path Curved | PATH_CURVED | - |
A “Launch” is a maneuver specifying a movement of the vehicle to a target waypoint after being launched from a ship or pier. The waypoint is described by the WGS-84 waypoint coordinate and target Z reference.
Mandatory parameters defined for a “Launch” are timeout, speed and speed units.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
A “Drop” is a maneuver specifying a movement of the vehicle to a target waypoint. The waypoint is described by the WGS-84 waypoint coordinate and target Z reference.
Mandatory parameters defined for a “Goto” are timeout, speed and speed units.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
This maneuver is used to command the vehicle to arrive at some destination at a specified absolute time.
The vehicle’s speed will vary according to environment conditions and/or maneuver start time.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Time of arrival | arrival_time | s | fp64_t | Unix timestamp, in seconds, for the arrival at the destination. | Same as field type |
Destination Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Destination Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Destination Z Reference | z | m | fp32_t | Target reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the destination z reference. | Same as field type |
Travel Z Reference | travel_z | m | fp32_t | Z reference to use while travelling to the destination. | Same as field type |
Travel Z Units | travel_z_units | Enumerated (Enum Z Units) | uint8_t | Z reference units to use while travelling to the destination. | Same as field type |
Delayed Behavior | delayed | Enumerated (Enum Delayed Behavior) | uint8_t | What to do if the vehicle fails to arrive before or at the requested time. | Same as field type |
What to do if the vehicle fails to arrive before or at the requested time.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Resume | RESUME | If the vehicle fails to arrive at the specified time, it will keep going to the destination at top speed and only then consider this maneuver completed. |
1 | Skip | SKIP | If the vehicle fails to arrive at the specified time, it will stop the current maneuver and advance to the next one (independently of how far it is from destination). |
2 | Fail | FAIL | If the vehicle fails to arrive at the specified time, it will stop the execution of this maneuver with a FAILED result (the entire plan will be stopped). |
Rows coverage (i.e: lawn mower type maneuver) but with adaptive cover
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Bearing | bearing | rad | fp64_t | Rows bearing angle. | min=0, max=6.283185307179586 |
Cross Angle | cross_angle | rad | fp64_t | Rows cross angle reference. | min=-1.047197551197, max=1.047197551197 |
Width | width | m | fp32_t | Width of the maneuver. | min=0 |
Length | length | m | fp32_t | Length of the maneuver. | min=0 |
Curve Offset | coff | m | uint8_t | Desired curve offset. | Same as field type |
Angular Aperture | angAperture | rad | fp32_t | Angular aperture of the sensor (looking downwards). | min=-3.141592653589793, max=3.141592653589793 |
Range | range | m | uint16_t | Maximum range of the sensor (in meters downwards from the vehicle’s position). | Same as field type |
Overlap | overlap | % | uint8_t | Amount of overlap among different transect surveys. | max=100 |
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Maneuver optional flags. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Maneuver optional flags.
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Square Curve | SQUARE_CURVE | Whether to move between transects using an additional perpendicular transect. |
0x02 | First Curve Right | CURVE_RIGHT | Shall the vehicle turn towards the right after the first transect (alternatively it will turn left). |
A “Sample” is a maneuver specifying a movement of the vehicle to a target waypoint. The waypoint is described by the WGS-84 waypoint coordinate and target Z reference.
Mandatory parameters defined for a “Goto” are timeout, speed and speed units.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Syringe0 | syringe0 | Enumerated (Enum Boolean Value) | uint8_t | True when sampling with servo 0. | Same as field type |
Syringe1 | syringe1 | Enumerated (Enum Boolean Value) | uint8_t | True when sampling with servo 1. | Same as field type |
Syringe2 | syringe2 | Enumerated (Enum Boolean Value) | uint8_t | True when sampling with servo 2. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
A “ImageTracking” is a maneuver specifying a particular heading to the detected object.
This message has no fields.
Automatic takeoff for UAVs. This maneuver specifies a target waypoint where to takeoff.
Takeoff direction is set from the direction the plane is pointing when the auto takeoff command is started. It will remain that way until the vehicle reaches the target z reference. After that it will go to the target waypoint.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target altitude or height for the automatic takeoff. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Pitch Angle | takeoff_pitch | rad | fp32_t | Minimum pitch angle during automatic takeoff. | min=0, max=1.57079632679490 |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Automatic landing on the ground, for UAVs. This maneuver specifies the target touchdown location and sets the final approach based on the maneuver bearing and glide slope parameters.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of touchdown waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of touchdown waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Target altitude or height for the automatic landing. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference and abort z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Abort Z Reference | abort_z | m | fp32_t | Abort altitude or height. If landing is aborted while executing, the UAV will maintain its course and attempt to climb to the abort z reference. | Same as field type |
Bearing | bearing | rad | fp64_t | Land bearing angle. | min=0, max=6.283185307179586 |
Glide Slope | glide_slope | % | uint8_t | Ratio of the distance from the last waypoint to the landing point (touchdown) and the height difference between them. | max=10 |
Glide Slope Altitude | glide_slope_alt | m | fp32_t | Height difference between the last waypoint to the landing point (touchdown). | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
This maneuver triggers an external controller that will guide the vehicle during a specified duration of time or until it relinquishes control using (ManeuverDone). The external controller is allowed to drive the vehicle only inside the specified boundaries.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of the initial location. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of the initial location. | min=-3.141592653589793, max=3.141592653589793 |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Enforced Limits | limits | Bitfield (Bitfield Enforced Limits) | uint8_t | Same as field type | |
Maximum depth | max_depth | m | fp64_t | Maximum depth the autonomous controller is allowed to drive to. | Same as field type |
Minimum altitude | min_alt | m | fp64_t | Minimum altitude the autonomous controller is allowed to drive to. | Same as field type |
Time Limit | time_limit | s | fp64_t | The time after which this maneuver should be stopped (if still active and TIMEOUT is enforced). | Same as field type |
Area Limits | area_limits | - | message-list (Polygon Vertex) | The boundaries of the admissable area for this autonomous section. | Same as field type |
Controller | controller | - | plaintext | The name of the controlling agent that will be allowed to guide the vehicle during the AutononousSection. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
No description
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Maximum Depth Limit | DEPTH | - |
0x02 | Minimum Altitude Limit | ALTITUDE | - |
0x04 | Time Limit | TIMEOUT | - |
0x08 | Polygonal Area Limits | AREA2D | - |
This maneuver behaves by following a point.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Source To Follow | target | - | plaintext | The identifier of the point source to follow (via RemoteSensorInfo or EstimatedState). | Same as field type |
Maximum Speed | max_speed | m/s | fp32_t | Use this speed when travelling from afar. | min=0 |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Indicates the units used for the maximum speed value. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of maneuver in the map. Ignored during execution. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of maneuver in the map. Ignored during execution. | min=-3.141592653589793, max=3.141592653589793 |
Z | z | m | fp32_t | Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
An “Alignment” is a maneuver specifying a movement of the vehicle to a target waypoint intended to control activation of an IMU/INS in order to start aligning navigation for more precise dead reckoning operation.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
The Station Keeping Extended maneuver makes the vehicle come to the surface and then enter a given circular perimeter around a waypoint coordinate for a certain amount of time. It extends the Station Keeping maneuver with the feature ‘Keep Safe’, which allows for the vehicle to hold position underwater and popup periodically to communicate.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Radius | radius | m | fp32_t | Radius. | Same as field type |
Duration | duration | s | uint16_t | Duration (0 for unlimited). | Same as field type |
Speed | speed | - | fp32_t | The value of the desired speed, in the scale specified by the “Speed Units” field. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Indicates the units used for the speed value. | Same as field type |
PopUp Period | popup_period | s | uint16_t | The period at which the vehicle will popup to report its position. Only used if flag KEEP_SAFE is on. | Same as field type |
PopUp Duration | popup_duration | s | uint16_t | The duration of the station keeping at surface level when it pops up. Only used if flag KEEP_SAFE is on. | Same as field type |
Flags | flags | Bitfield (Bitfield Flags) | uint8_t | Flags of the maneuver. | Same as field type |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Flags of the maneuver.
Value | Name | Abbreviation | Description |
---|---|---|---|
0x01 | Keep safe behaviour | KEEP_SAFE | If this flag is set, the vehicle will hold position underwater, loitering at z reference. It will popup periodically to report position. When it pops up, it will stay at surface in “normal” station keeping behaviour for a certain time (popup_duration). |
Notification of completion of a maneuver (optional use).
This message has no fields.
Magnetometer calibration maneuver (i.e: one square pattern in one direction, a second square in the opposite direction)
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Timeout | timeout | s | uint16_t | The amount of time the maneuver is allowed to run. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude of target waypoint. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude of target waypoint. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Maneuver reference in the z axis. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Speed | speed | - | fp32_t | Maneuver speed reference. | Same as field type |
Speed Units | speed_units | Enumerated (Enum Speed Units) | uint8_t | Speed units. | Same as field type |
Bearing | bearing | rad | fp64_t | Rows bearing angle. | min=0, max=6.283185307179586 |
Width | width | m | fp32_t | Width of the maneuver. | min=50 |
Direction | direction | Enumerated (Enum Direction) | uint8_t | Desired direction. | max=1 |
Custom settings for maneuver | custom | TupleList | plaintext | Custom settings for maneuver. | Same as field type |
Desired direction.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Clockwise First | CLOCKW_FIRST | - |
1 | Counter Clockwise First | CCLOCKW_FIRST | - |
Target.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Label | label | - | plaintext | Target identifier. | Same as field type |
Latitude WGS-84 | lat | rad | fp64_t | WGS-84 Latitude coordinate. | min=-1.5707963267948966, max=1.5707963267948966 |
Longitude WGS-84 | lon | rad | fp64_t | WGS-84 Longitude coordinate. | min=-3.141592653589793, max=3.141592653589793 |
Z Reference | z | m | fp32_t | Z axis reference. Use z_units to specify whether z represents depth, altitude or other. | Same as field type |
Z Units | z_units | Enumerated (Enum Z Units) | uint8_t | Units of the z reference. | Same as field type |
Course Over Ground | cog | rad | fp32_t | Course Over Ground (true). | Same as field type |
Speed Over Ground | sog | m/s | fp32_t | Speed Over Ground. | Same as field type |
Formation controller paramenters, as: trajectory gains, control boundary layer thickness, and formation shape gains.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Action | Action | Enumerated (Enum Action) | uint8_t | Action on the vehicle formation control parameters. | Same as field type |
Longitudinal Gain | LonGain | - | fp32_t | Trajectory gain over the vehicle longitudinal direction. | Same as field type |
Lateral Gain | LatGain | - | fp32_t | Trajectory gain over the vehicle lateral direction. | Same as field type |
Boundary Layer Thickness | BondThick | - | uint32_t | Control sliding surface boundary layer thickness. | Same as field type |
Leader Gain | LeadGain | - | fp32_t | Formation shape gain (absolute vehicle position tracking). Leader control importance gain (relative to the sum of every other formation vehicle). | Same as field type |
Deconfliction Gain | DeconflGain | - | fp32_t | Collision avoidance and formation shape gain (position tracking relative to the other formation vehicles). Individual vehicle importance gain (relative to the leader), when the relative position or the velocity state indicate higher probability of collision. | Same as field type |
Action on the vehicle formation control parameters.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Request | REQ | - |
1 | Set | SET | - |
2 | Report | REP | - |
Formation control performance evaluation variables.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Mean position error | err_mean | - | fp32_t | Mean position error relative to the formation reference. | Same as field type |
Absolute minimum distance | dist_min_abs | - | fp32_t | Overall minimum distance to any other vehicle in the formation. | Same as field type |
Mean minimum distance | dist_min_mean | - | fp32_t | Mean minimum distance to any other vehicle in the formation. | Same as field type |
Formation controller paramenters, as: trajectory gains, control boundary layer thickness, and formation shape gains.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Action | Action | Enumerated (Enum Action) | uint8_t | Action on the vehicle formation control parameters. | Same as field type |
Longitudinal Gain | lon_gain | - | fp32_t | Trajectory gain over the vehicle longitudinal direction. | Same as field type |
Lateral Gain | lat_gain | - | fp32_t | Trajectory gain over the vehicle lateral direction. | Same as field type |
Boundary Layer Thickness | bond_thick | - | fp32_t | Control sliding surface boundary layer thickness. | Same as field type |
Leader Gain | lead_gain | - | fp32_t | Formation shape gain (absolute vehicle position tracking). Leader control importance gain (relative to the sum of every other formation vehicle). | Same as field type |
Deconfliction Gain | deconfl_gain | - | fp32_t | Collision avoidance and formation shape gain (position tracking relative to the other formation vehicles). Individual vehicle importance gain (relative to the leader), when the relative position or the velocity state indicate higher probability of collision. | Same as field type |
Acceleration Switch Gain | accel_switch_gain | - | fp32_t | Switch gain to compensate the worst case of the wind flow acceleration. | Same as field type |
Safety Distance | safe_dist | - | fp32_t | Inter-vehicle safety distance. | Same as field type |
Deconfliction Offset | deconflict_offset | - | fp32_t | Distance offset which defines the buffer area beyond the safety distace. | Same as field type |
Acceleration Safety Margin | accel_safe_margin | - | fp32_t | Safety margin to compensate for possible shortfalls from the predicted maximum acceleration that a vehicle can generate. | Same as field type |
Maximum Longitudinal Acceleration | accel_lim_x | - | fp32_t | Maximum predicted longitudinal acceleration a vehicle can generate. | Same as field type |
Action on the vehicle formation control parameters.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Request | REQ | - |
1 | Set | SET | - |
2 | Report | REP | - |
Formation control performance evaluation variables.
Name | Abbreviation | Unit | Type | Description | Range |
---|---|---|---|---|---|
Type | type | Enumerated (Enum Type) | uint8_t | Indicates if the message is a request, or a reply to a previous request. | Same as field type |
Operation | op | Enumerated (Enum Operation) | uint8_t | Operation to perform. | Same as field type |
Mean Position Error | err_mean | - | fp32_t | Mean position error relative to the formation reference. | Same as field type |
Absolute Minimum Distance | dist_min_abs | - | fp32_t | Overall minimum distance to any other vehicle in the formation. | Same as field type |
Mean Minimum Distance | dist_min_mean | - | fp32_t | Mean minimum distance to any other vehicle in the formation. | Same as field type |
Mean Roll Rate | roll_rate_mean | - | fp32_t | Mean minimum distance to any other vehicle in the formation. | Same as field type |
Evaluation Time | time | - | fp32_t | Period over which the evaluation data is averaged. | Same as field type |
Formation Control Parameters | ControlParams | - | message (Formation Control Parameters) | Formation controller paramenters during the evaluation period. | Same as field type |
Indicates if the message is a request, or a reply to a previous request.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Request | REQUEST | - |
1 | Report | REPORT | - |
Operation to perform.
Value | Name | Abbreviation | Description |
---|---|---|---|
0 | Start | START | Start the formation maneuver. |
1 | Stop | STOP | Stop the formation maneuver. |
2 | Ready | READY | Stop the formation maneuver. |
3 | Executing | EXECUTING | Stop the formation maneuver. |
4 | Failure | FAILURE | Stop the formation maneuver. |