Maneuvering Messages

Goto Maneuver

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.

  • Abbreviation: Goto
  • Identification Number: 450
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude of target waypoint. Same as field type
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 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 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. Same as field type
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. Same as field type
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. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Teleoperation Maneuver

The Teleoperation Maneuver lets the vehicle be controlled by an external human operator.

  • Abbreviation: Teleoperation
  • Identification Number: 452
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Loiter Maneuver

The Loiter maneuver makes the vehicle circle around a specific waypoint with fixed depth reference.

  • Abbreviation: Loiter
  • Identification Number: 453
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude coordinate. Same as field type
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 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 uint8_t Speed units. Same as field type
Loiter Type type Enumerated uint8_t Loiter maneuver type. Same as field type
Radius radius m fp32_t Radius of the maneuver. Same as field type
Length length m fp32_t Length of the maneuver. Same as field type
Bearing bearing rad fp64_t Bearing of the maneuver. Same as field type
Direction direction Enumerated uint8_t Desired direction. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Idle Maneuver

Causes the vehicle to stay idle for some time.

  • Abbreviation: IdleManeuver
  • Identification Number: 454
  • Fixed Payload Size: 0
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 Control Maneuver

Low level maneuver that sends a (heading, roll, speed, ...) reference to a controller of the vehicle and then optionally lingers for some time.

  • Abbreviation: LowLevelControl
  • Identification Number: 455
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Control control - message Control command: can be of type DesiredZ, DesiredHeading, DesiredRoll, DesiredPitch, DesiredSpeed, 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

Rows maneuver (i.e: lawn mower type maneuver)

  • Abbreviation: Rows
  • Identification Number: 456
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude of target waypoint. Same as field type
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 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 uint8_t Speed units. Same as field type
Bearing bearing rad fp64_t Rows bearing angle. Same as field type
Cross Angle cross_angle rad fp64_t Rows cross angle reference. Same as field type
Width width m fp32_t Width of the maneuver. Same as field type
Length length m fp32_t Length of the maneuver. Same as field type
Horizontal Step hstep m fp32_t Horizontal step. Same as field type
Curve Offset coff m uint8_t Desired curve offset. Same as field type
Alternation Parameter alternation % uint8_t Alternation parameter. Same as field type
Flags flags Bitfield uint8_t Maneuver flags. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Follow Path Maneuver

Maneuver constituted by a list of Path Points.

  • Abbreviation: FollowPath
  • Identification Number: 457
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude of start point. Same as field type
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 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 uint8_t Speed units. Same as field type
Path Points points - message-list 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

Path Point

Waypoint coordinate of a Follow Path maneuver.

  • Abbreviation: PathPoint
  • Identification Number: 458
  • Fixed Payload Size: 0
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

Yo-Yo Maneuver

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.

  • Abbreviation: YoYo
  • Identification Number: 459
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude of target waypoint. Same as field type
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 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. Same as field type
Speed speed - fp32_t Maneuver speed reference. Same as field type
Speed Units speed_units Enumerated uint8_t Speed units. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Teleoperation Done

Notification of completion of a Teleoperation maneuver.

  • Abbreviation: TeleoperationDone
  • Identification Number: 460
  • Fixed Payload Size: 0

This message has no fields.

Station Keeping

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.

  • Abbreviation: StationKeeping
  • Identification Number: 461
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
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
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 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 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

Elevator Maneuver

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.

  • Abbreviation: Elevator
  • Identification Number: 462
  • Fixed Payload Size: 0
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 uint8_t Flags of the maneuver. 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
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 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 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. Same as field type
Speed speed - fp32_t Maneuver speed. Same as field type
Speed Units speed_units Enumerated uint8_t Speed units. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Follow Trajectory

Maneuver constituted by a list of Trajectory Points.

  • Abbreviation: FollowTrajectory
  • Identification Number: 463
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude for start point. Same as field type
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 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 uint8_t Speed units. Same as field type
Trajectory Points points - message-list List of trajectory points. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Trajectory Point

Waypoint coordinate of a Follow Trajectory maneuver.

  • Abbreviation: TrajectoryPoint
  • Identification Number: 464
  • Fixed Payload Size: 0
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

Custom Maneuver

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.

  • Abbreviation: CustomManeuver
  • Identification Number: 465
  • Fixed Payload Size: 0
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

Vehicle Formation

Coordinate maneuver using two or more cooperating systems.

  • Abbreviation: VehicleFormation
  • Identification Number: 466
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Latitude WGS-84 lat rad fp64_t WGS-84 Latitude for start point. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude for start point. Same as field type
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 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 uint8_t Reference speed units. Same as field type
Trajectory Points points - message-list List of trajectory points. Same as field type
Formation Participants participants - message-list 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

Vehicle Formation Participant

Definition of a vehicle participant in a VehicleFormation maneuver.

  • Abbreviation: VehicleFormationParticipant
  • Identification Number: 467
  • Fixed Payload Size: 0
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

Stop Maneuver

Command used to stop currently executing maneuver.

  • Abbreviation: StopManeuver
  • Identification Number: 468
  • Fixed Payload Size: 0

This message has no fields.

Register Maneuver

Command used to indicate maneuver can be executed in the vehicle.

  • Abbreviation: RegisterManeuver
  • Identification Number: 469
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Maneuver ID mid - uint16_t IMC serialization ID of maneuver type. Same as field type

Maneuver Control State

Maneuver control state.

  • Abbreviation: ManeuverControlState
  • Identification Number: 470
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
State state Enumerated 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

Follow System

System-following maneuver.

  • Abbreviation: FollowSystem
  • Identification Number: 471
  • Fixed Payload Size: 0
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 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 uint8_t Units of the z reference. Same as field type

Communications Relay

In this maneuver, a vehicle drives to the center of two other systems (a, b) in order to be used as a communications relay.

  • Abbreviation: CommsRelay
  • Identification Number: 472
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Latitude WGS-84 lat rad fp64_t WGS-84 Latitude for start point. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude for start point. Same as field type
Speed speed - fp32_t Reference speed. Same as field type
Speed Units speed_units Enumerated 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

Cover Area

Given a polygonal area, generates trajectories to cover the area.

  • Abbreviation: CoverArea
  • Identification Number: 473
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Latitude WGS-84 lat rad fp64_t WGS-84 Latitude for start point. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude for start point. Same as field type
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 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 uint8_t Reference speed units. Same as field type
Polygon polygon - message-list 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

Polygon Vertex

This message is used to store the various polygon vertices for CoverArea maneuvers.

  • Abbreviation: PolygonVertex
  • Identification Number: 474
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Latitude WGS-84 lat rad fp64_t WGS-84 Latitude for start point. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude for start point. Same as field type

Compass Calibration Maneuver

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.

  • Abbreviation: CompassCalibration
  • Identification Number: 475
  • Fixed Payload Size: 0
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. Same as field type
Longitude WGS-84 lon rad fp64_t WGS-84 Longitude coordinate. Same as field type
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 uint8_t Units of the z reference. Same as field type
Pitch pitch rad fp32_t Pitch angle used to perform the maneuver. Same as field type
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 uint8_t Speed units. Same as field type
Radius radius m fp32_t Radius of the maneuver. Same as field type
Direction direction Enumerated uint8_t Direction of the maneuver. Same as field type
Custom settings for maneuver custom TupleList plaintext Custom settings for maneuver. Same as field type

Follow Reference Maneuver

This maneuver follows a reference given by an external entity.

  • Abbreviation: FollowReference
  • Identification Number: 478
  • Fixed Payload Size: 0
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

Reference To Follow

No description

  • Abbreviation: Reference
  • Identification Number: 479
  • Fixed Payload Size: 0
Name Abbreviation Unit Type Description Range
Flags flags Bitfield uint8_t   Same as field type
Speed Reference speed - message   Same as field type
Z Reference z - message   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

Follow Reference State

No description

  • Abbreviation: FollowRefState
  • Identification Number: 480
  • Fixed Payload Size: 0
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 currently being followed. Same as field type
State state Enumerated uint8_t   Same as field type
Proximity proximity Bitfield uint8_t   Same as field type