This document describes the communications protocol associated
with the LSTS software framework. Concepts such as *message*,
*field* and *packet* are explained in detail in the subsequent
chapters.
Inter module communication is achieved by the exchange of messages
that can be recognized and interpreted by all participating
modules. A message is a self-contained collection of data fields
conveying relevant information about a given subject. The mean by
which the messages are exchanged is not described in this
document, but the reader can assume that at least the UDP Internet
protocol is available at all ends of the communications channel.
The Neptus Command and Control Unit (CCU), currently being used at
LSTS, supports mission planning and control, using the described
messaging API. This software entity can be used to define a plan
before execution and monitor the plan's execution by presenting an
operating console. For further details on this software contact
the LSTS.
A CCU exercises authority over a vehicle (real or
simulated). Usually this term is applied to software in the class
of LSTS Neptus, but can also be applied to software modules
extending the vehicle core control software.
The LSTS reserves itself the right to use message identification
numbers up to 999. Thus if a third party needs to extend this API
it must use identification numbers starting at 1000. The
identification number 65535 has a special meaning and must not be
used to extend the IMC protocol.
Messages and packets can be viewed as a finite collection of
fields. The list of valid field types is presented below.
8 bit signed integer.
8 bit unsigned integer.
16 bit signed integer.
16 bit unsigned integer.
32 bit signed integer.
32 bit unsigned integer.
A 64 bit signed integer
32 bit single precision floating point number in IEEE 754 format.
64 bit double precision floating point number in IEEE 754 format.
Variable length byte stream.
Variable length ASCII character stream.
An inline message. Useful for encapsulating other messages.
A list of messages.
To ensure accurate transportation some field types may require
special treatment on transmission and reception. The operation
of preparing a field type for transmission is called
serialization, the inverse action is called deserialization. No
special serialization is required for types that are not
described in the table below, their values should be used as is.
A sequence of type *rawdata* is serialized by prepending a
value of type *uint16_t*, representing the length of the
sequence, to the stream of bytes. On deserialization the
prepended value is used to retrieve the correct size of data
bytes. The *rawdata* type length is limited only by the
communication protocol in use.
A sequence of type *plaintext* is serialized by prepending a
value of type *uint16_t*, representing the length of the
sequence, to the stream of ASCII characters. On
deserialization the prepended value is used to retrieve the
correct ASCII character sequence size. The *plaintext* type
length is limited only by the communication protocol in use.
A field of type *message* is serialized by prepending a value
of type *uint16_t*, representing the identification number of
the message, to the serialized message payload. The special
identification number 65535 must be used when no message is
present. On deserialization the prepended value is used to
retrieve the correct message identification number. The
*message* type length is limited only by the communication
protocol in use.
A field of type *message-list* is serialized by prepending a
value of type *uint16_t*, representing the number of messages
in the list, to the serialized message payload. On
deserialization the prepended value is used to retrieve the
correct number of messages
The following table lists the units used in the subsequent
chapters.
This unit is a list of label/value tuples and is only valid in
plaintext fields. The label and value portions of a tuple are
separated using the equal sign (=) and tuples are separated
using the semicolon character (;). These delimiting characters
must not be used elsewhere. Leading and trailing semicolons
must be removed.
Examples: "label1=12;label2=3" or "label1=12" or "label1=test_2".
The packet header contains handling information in the form of
supplemental fields, it is always placed at the beginning of a
packet.
The synchronization number marks the beginning of a packet.
It denotes the packet API version and can be used to deduce
the byte order of the sending host.
It encodes value 0xFE[major][minor] where [major] equals the
major version number of the protocol and [minor] equals the
minor version of the protocol.
The packet recipient is responsible for the correct
interpretation of the synchronization number and byte order
conversions.
The identification number of the message contained in the
packet. This field is used for correct message interpretation
and deserialization.
The size of the message data in the packet.
The time when the packet was sent, as seen by the packet
dispatcher. The number of seconds is represented in Universal
Coordinated Time (UCT) in seconds since Jan 1, 1970 using IEEE
double precision floating point numbers.
The Source IMC system ID.
The entity generating this message at the source address.
The Destination IMC system ID.
The entity that should process this message at the destination
address.
State reported by an entity in the vehicle. The source entity is
identified in the message header.
State of entity.
Complementary entity state flags.
Complementary human-readable description of entity state.
Request entities to report their state. Entities should respond
by issuing an appropriate EntityState message.
This message describes an entity.
Entity identifier.
Entity label or empty if the entity id is not valid.
Name of the plugin/component/subsystem associated with this
entity.
Amount of time needed to properly activate the entity.
Amount of time needed to properly deactivate the entity.
Request information about an entity identifier. The receiving
system shall reply with an EntityInfo message with the details
of that entity.
Entity identifier.
This message describes the names and identification numbers of
all entities in the system.
Operation to perform.
Report the entity list.
Request the entity list.
Reload the entity list.
Example: "Battery=11;CTD=3"
Report of software CPU usage.
The CPU usage, in percentage, of the sending software.
Message generated when tasks bind to messages.
The name of the consumer (e.g. task name).
The id of the message to be listened to.
Request the destination system to restart itself.
Request a DUNE restartRequest a system restart.Request a DUNE Task restart.
This message controls the calibration procedure of a given
device. The destination device is selected using the destination
entity identification number.
Operation to perform.
Start calibration procedure.
Stop calibration procedure.
Perform next step of the calibration procedure.
Perform previous step of the calibration procedure.
State of the calibration procedure.
Total number of steps of the calibration procedure.
Number of the current step being performed.
Human-readable description of the current step.
Additional flags.
Jumping to the previous calibration step is not supported.
Jumping to the next calibration step is not supported.
The calibration procedure was suspended and must be resumed or
cancelled with a DeviceCalibrationControl message.
Calibration was interrupted due to an error and must be
restarted or cancelled with a DeviceCalibrationControl
message.
The calibration procedure was completed.
State of entity activation/deactivation.
Current state.
Entity is inactive.
Entity is active.
Activation is in progress.
Activation is completed.
The activation procedure failed and the field 'error' contains the error message.
Deactivation is in progress.
Deactivation is in progress.
The deactivation procedure failed and the field 'error' contains the error message.
Human-readable error message.
Query the activation/deactivation state of an entity. The
recipient shall reply with an EntityActivationState message.
Vehicle opertional limits.
For aircraft this should represent the flight envelope and the dynamic contraints.
Action on the vehicle operation limits
Minimum operation speed.
For aircraft this is equal or larger then the stall speed.
Maximum operation speed.
For aircraft this is limited by the engine power or structural contrains.
Maximum longitudinal acceleration.
Maximum altitude above mean-sea-level.
Maximum dive rate (negative vertical speed) as a fraction of the longitudinal speed.
Maximum climb rate (positive vertical speed) as a fraction of the longitudinal speed.
Limit to the bank angle (roll; angle over the xx body-axis).
Limit to the bank angular rate (roll; angle over the xx body-axis).
Minimum pitch angle (angle over the xx body-axis).
Maximum pitch angle (angle over the xx body-axis).
Maximum pitch angular rate (angle over the xx body-axis).
Minimum load factor, i.e., maximum positive acceleration in the zz body-axis
as a factor of the gravity acceleration at mean-sea-level.
Maximum load factor, i.e., maximum negative acceleration in the zz body-axis
as a factor of the gravity acceleration at mean-sea-level.
Maximum lateral load factor, i.e., maximum acceleration in the yy body-axis
as a factor of the gravity acceleration at mean-sea-level.
Minimum motor RPMs.
Maximum motor RPMs.
Maximum motor RPMs' rate of change.
Report of software RAM usage.
The RAM usage, in KiB, of the sending software.
This message presents the simulated state of the vehicle. The simulated
state attempts to provide a realistic state interpretation of operating
various kinds of vehicles.
WGS-84 Latitude.
WGS-84 Longitude.
Height above the WGS-84 ellipsoid.
The North offset of the North/East/Down field.
The East offset of the North/East/Down field.
The Down offset of the North/East/Down field.
The phi Euler angle from the vehicle's attitude.
The theta Euler angle from the vehicle's attitude.
The psi Euler angle from the vehicle's attitude.
Body-fixed frame xx axis linear velocity component.
Body-fixed frame yy axis linear velocity component.
Body-fixed frame zz axis linear velocity component.
The angular velocity over body-fixed xx axis (roll rate).
The angular velocity over body-fixed yy axis (pitch rate).
The angular velocity over body-fixed zz axis (yaw rate).
Stream Velocity xx axis velocity component.
Stream Velocity yy axis velocity component.
Stream Velocity zz axis velocity component.
Simulate leak behavior.
Indicates whether leaks have been detected or not.
Comma separated list of leak entities (empty for all leaks
configured).
Underwater acoustics simulation request.
Type of request.
Transmission speed.
Data for transmission requests.
Vehicle dynamics parameters for 3DOF, 4DOF or 5DOF simulations.
Action on the vehicle simulation parameters for the formation control
Proportional gain from the TAS (True Airspeed) error to the longitudinal acceleration.
Proportional gain from the bank angle error to the bank angular rate.
Report of storage usage.
The available storage of the reporting device.
The percentage of storage used by the reporting device.
Control caching of messages to persistent storage.
Operation to perform.
Destination for the cache snapshot file.
Message to store.
Control logging of messages to persistent storage.
Operation to perform.
Request the logging manager to start logging. The logging
manager will reply with a STARTED operation. If logging is
already in progress the current log will be closed and a new
one will be opened (therefore the logging manager will send
two messages - STOPPED and STARTED). The field 'name'
represents the label that will be appended to the log path.
The logging manager will send a message with this operation
everytime a log is successfully started. The field 'name'
contains the complete name of the log.
Request the logging manager to stop logging messages. The
logging manager will reply with a STOPPED operation and
logging will be suspended until a message with operation
START is received. If logging is already stoppped the
logging manager will ignore this operation and will not
reply with a STOPPED operation. The field 'name' with this
operation type has no meaning.
The logging manager will send a message with this operation
when logging is successfully stopped. The field 'name'
contains the complete name of the log that was closed.
This operation instructs the logging manager to send a
message with operation CURRENT_NAME containing the complete
name of the current log in the field 'name'. The field
'name' with this operation type has no meaning.
The logging manager will send a message with this operation
when asked via the REQUEST_CURRENT_NAME operation. The field
'name' contains the complete name of the log.
The meaning of this field depends on the operation and is
explained in the operation's description.
Human readable message reporting an event of interest.
Type of message.
Timestamp (Epoch time).
Message context.
Message text.
Control history log.
Command to perform.
Retrieve log book entries.
Clear log book entries.
Retrieve log book entries corresponding to errors.
Reply to a GET command. Message argument is a MessageList
instance containing LogBookEntry messages.
Timestamp for command (Epoch time).
Argument, currently used only for 'REPLY'.
Control replay of LSF logged data.
Operation to perform.
Pathname of file to replay.
Clock control.
Operation to perform.
Synchronize clock according to given clock value.
Request autonomous clock synchronization.
Synchronization start notification.
Synchronization completion notification.
Set timezone.
Notification due to timezone modification.
Clock value (Epoch time).
Timezone.
This message is used to store historic (transmitted afterwards) CTD data .
This message is used to store historic (transmitted afterwards) telemetry information.
Roll encoded as α.(65535/(2.π))
Pitch encoded as α.(65535/(2.π))
Yaw encoded as α.(65535/(2.π))
This message is used to store historic (transmitted afterwards) sonar data.
The number of pixels per line as the data in 'sonar_data' may
correspond to more than one sequential sidescan lines.
Sonar data encoded as in 'encoding'.
This message is used to store historic event log entries.
Type of event.
This message is used to store historic profiles for water parameters: Temperature, Salinity, Chlorophyll...
Water parameter used to calculate the vertical profile.
In this case, the Depth value of the ProfileSample message indicates
wind direction, in degrees.
In this case, the Depth value of the ProfileSample message indicates
wind direction, in degrees.
Latitude where the profile was calculated.
Longitude where the profile was calculated.
Samples to calculate a vertical profile.
The Heartbeat message is used to inform other modules that the
sending entity's system is running normally and communications
are alive.
A system description that is to be broadcasted to other systems.
System name.
System type.
The owner IMC system ID.
WGS-84 Latitude. If lat=0 and lon=0 means location value is unknown.
WGS-84 Longitude. If lat=0 and lon=0 means location value is unknown.
Height above WGS-84 ellipsoid.
Semicolon separated list of URLs. Examples of such URLs are:
- *imc+udp://192.168.106.34:6002/*
- *dune://0.0.0.0/uid/1294925553839635/*
- *http://192.168.106.34/dune/*.
Announcement about the existence of a service.
Semicolon separated list of URLs (see :ref:`Announce`).
Informs about the availability of the service on internal and
external networks.
Measure of the RSSI by a networking device.
Indicates the gain or loss in the signal strength due to the transmission and reception equipment and the transmission medium and distance.
RSSI measurement.
Measure of the VSWR by a networking device.
VSWR measurement.
Measurement of link level quality. For instance, this may
correspond to the acknowledgment ratio of a link. But,
generally, the measure is link-dependent.
Link level value.
Send a SMS message.
Target mobile device number.
Timeout for sending message.
Message contents.
Request to send SMS.
Sequence number.
Number or name of the recipient.
Timeout for sending message.
Message data.
Received SMS data.
Number of name of the sender.
Message data.
Sequence number.
Current state of an SMS transaction.
A text message has been received.
Message origin (if known).
Message contents.
The unique identifier of this message's origin device (e.g. lauv-xtreme-2, manta-0).Timestamp (Epoch time).
Message data.
The request identifier used to receive transmission updates.Time, in seconds, after which there will be no more atempts to transmit the message.The unique identifier of this message's destination (e.g. lauv-xtreme-2, manta-0).
Message data.
The request identifier used to receive transmission updates
Group communication link assertion.
Name of the group of systems.
Communication link assertion for each group member.
One bit to assert each system communication link state.
Group of systems configuration.
Name of the group of systems.
Actions on the group list.
List of names of system in the group, separated by commas.
Communications latency between two systems.
Time taken between the communications package/message is sent
from the source until it arrives to the destination.
ID of system that was the source of the communication package.
Measure of the RSSI by a networking device.
Indicates the gain or loss in the signal strenght due to the transmission
and reception equipment and the transmission medium and distance.
RSSI measurement.
Indicates the units used for the RSSI value.
This message holds a list of inline data samples produced by one or more vehicles in the past.
It is used to transfer data over disruption tolerant networks.
All data sent inside this message will have offsets relative to this latitude.
All data sent inside this message will have offsets relative to this longitude.
All data sent inside this message will use this time as the origin (0).
This message holds a list of inline data samples produced by one or more vehicles in the past.
It is used to transfer data over disruption tolerant networks.
All data sent inside this message will have offsets relative to this latitude.
All data sent inside this message will have offsets relative to this longitude.
All data sent inside this message will use this time as the origin (0).
A message-list of HistoricSample messages compressed with GZip algorithm.
The IMC identifier of the system that produced this sample.
The priority for this data sample. Default priority is 0. Samples with
higher priorities will *always* be transmitted before samples with lower
priorities. Samples with -127 priority will not be transmitted but just
logged to disk locally.
Northing offsets relative to base latitude / longitude expressed in the enclosing `HistoricData` message.
Easting offsets relative to base latitude / longitude expressed in the enclosing `HistoricData` message.
Altitude / depth offsets relative to sea level expressed in decimeters.
Negative values mean depth and positive values mean altitude.
Time offset in seconds relative to the base time expressed in the enclosing `HistoricData` message.
Request data from the Data StoreData Store response with Data (using field 'data')Clear 'data' from the Data Store
Command to remote system. If a system receives a RemoteCommand and it isn't the intended recipient, then it should
resend it.
IMC id of the original sender.
IMC id of the recipient.
Expiration time of the message (Epoch Time), in seconds. If the message doesn't reach the destination within timeout,
the validity of the message expires and there will be no more attempts to transmit the message.
Command to be unpacked by the recipient.
Presence of Communication Interfaces query.
Query systems about communication capabilityReply systems about communication capability
Communication interface to be used for reports.
Use acoustic communicationsUse satellite communicationsUse Global System for Mobile CommunicationsUse mobile networksUse Radio telemetryModel is not definedRadio Model 3DRRadio Model RDFXXXx point to point
Comma separated list of known Radio system names.
Message to handle telemetry transmissions.
Type of telemetry transmissions.Send telemetry data.Received telemetry data.Status of transmitted data.The request identifier used to receive transmission updates.Time, in seconds, which will be considered a non-transmitted message.Type of telemetry transmissions.Unknown code type
Concise representation of entire system state message.
Payload message is a MessageList.
Payload message is INLINEMSGPayload message is in raw The unique identifier of this message's destination (e.g. lauv-xtreme-2, manta-0).The unique identifier of this message's destination (e.g. lauv-xtreme-2, manta-0).Type of telemetry transmissions.Message transmitted without acknowledged reception responseMessage transmitted with acknowledged reception responseState of the transmitted message.
When the vehicle uses Long Base Line navigation, this message
notifies that a new range was received from one of the acoustics
transponders. The message fields are used to identify the range
value and the transponder name.
Identification number of the acoustic transponder from which
the range information was received.
Distance to the acoustic transponder.
Position and configuration of an LBL transponder (beacon).
Name/Label of the acoustic transponder.
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
The beacon's depth.
Interrogation channel.
Reply channel.
Transponder delay.
Long Base Line configuration.
Used to define the type of the operation this message holds.
Set the beacons configuration aboard the vehicle.Request the vehicle to send its current beacons configuration.
A list of LBL beacon configuration messages.
Send an acoustic message.
Message to send.
Send an acoustic message.
Absolute latitude of sending vehicle.
Absolute longitude of sending vehicle.
Depth of sending vehicle.
Sentence string sent/received by the modem
Transmission time.
The modem being used.
Name of source system.
Acoustic operation.
Operation type.
Send an abort through the acoustic channel to the system
specified in the field 'system'.
The latest abort request to the system specified in the
field 'system' is in progress.
The latest abort operation expired without acknowledgment
from the system specified in the field 'system'.
The latest abort operation was acknowledged by the system
specified in the field 'system'.
Request a range through the acoustic channel to the system
specified in the field 'system'.
The latest range request to the system specified in the
field 'system' is in progress.
The latest range request operation expired without reply
from the system specified in the field 'system'.
The latest range request operation to the system specified
in the field 'system' was successful and the range is
specified in the field 'range'.
The acoustic modem is busy and cannot execute the requested
operation.
The latest requested operation is not supported.
The transducer was not detected.
Request message over acoustic channel. The message to send
is specified by the 'msg' field.
Message send request has been queued.
Message send request is in progress.
Message send request has been fulfilled.
Message send request could not be fulfilled.
Request message over acoustic channel. The message to send
is specified by the 'msg' field.
Request sending updated position to remote system so it can be ranged.
Send an abort through the acoustic channel to the system
specified in the field 'system', ignoring safety checks such
as "transducer not connected".
Request to fragment message over acoustic channel. The message to send
is specified by the 'msg' field. Size of fragment is specified in the
'range' field.
The meaning of this field depends on the operation and is
explained in the operation's description.
The meaning of this field depends on the operation and is
explained in the operation's description.
Argument for message send ('MSG') requests.
Request a list of known underwater acoustic systems. The
recipient of this message shall reply with an AcousticSystems
message.
This message is sent in reply to an AcousticSystemsQuery message
and lists all known underwater acoustic systems (modems, narrow
band transponders, etc).
Comma separated list of known acoustic system names.
This message is used to report the perceived link quality to other
acoustic peers.
The name of the peer on the other side of this link.
RSSI is a signed floating point number. Higher RSSI values correspond to
stronger signals.
The signal strength is acceptable when measured RSSI values lie between
-20 dB and -85 dB.
Signal Integrity value illustrates distortion of the last received
acoustic signal. It is calculated based on cross-correlation
measurements.
Higher *Signal Integrity Level* values correspond to less distorted
signals. An acoustic link is considered weak if the *Signal Integrity
Level* value is less than 100.
Request Acoustic sending.
The name of the system where to send this message.
Period of time to send message (in seconds).
The meaning of this field depends on the operation and is
explained in the operation's description.
Argument for message send ('MSG') or ('RAW') but in this case expects DevDataBinary message requests.
Reply sent in response to a Acoustic Text sending request.
Status description.
The meaning of this field depends on the operation and is
explained in the operation's description.
Request a system (local or remote) to activate its acoustic release.
The name of the system that should execute an acoustic release.
Number of revolutions per minute.
Number of revolutions per minute.
Report of electrical voltage.
The value of the internal electrical voltage as measured by
the sensor.
Report of electrical current.
The value of the internal electrical current as measured by
the sensor.
Report of a GPS fix.
Validity of fields.
Fields 'utc_year', 'utc_month' and 'utc_day' are valid.
Field 'utc_time' is valid.
Fields 'lat', 'lon', 'altitude' and 'satellites' are valid.
Field 'cog' is valid.
Field 'sog' is valid.
Field 'hacc' is valid.
Field 'vacc' is valid.
Field 'hdop' is valid.
Field 'vdop' is valid.
Type of fix.
Stand alone solution.
Differential solution.
Dead reckoning solution.
Manual solution.
Simulated solution.
UTC year.
UTC month.
UTC day.
UTC time of the GPS fix measured in seconds since 00:00:00 (midnight).
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
Height above WGS-84 ellipsoid.
Number of satellites used by the GPS device to compute the
solution.
Course Over Ground (true).
Speed Over Ground.
Horizontal dilution of precision.
Vertical dilution of precision.
Horizontal Accuracy Estimate.
Vertical Accuracy Estimate.
Report of spatial orientation according to SNAME's notation
(1950).
The device time.
Rotation around the vehicle longitudinal axis.
Rotation around the vehicle lateral or transverse axis.
Rotation around the vehicle vertical axis. A value of 0 means
the vehicle is oriented towards true north. In cases where the
sensor cannot measure the true heading, this field will have
the same value as Yaw (Magnetic).
Rotation around the vehicle vertical axis. A value of 0 means
the vehicle is oriented towards magnetic north. In cases where
the sensor cannot measure the magnetic heading, this field
will have the same value as Yaw (True).
Component of incremetal orientation vector over a period of time.
The device time.
X component.
Y component.
Z component.
Period of time of the orientation vector increments.
Vector quantifying the direction and magnitude of the measured
angular velocity that a device is exposed to.
The device time.
X component.
Y component.
Z component.
Vector quantifying the direction and magnitude of the measured
acceleration that a device is exposed to.
The device time.
X component.
Y component.
Z component.
Vector quantifying the direction and magnitude of the measured
magnetic field that a device is exposed to.
The device time.
X component.
Y component.
Z component.
Vector quantifying the direction and magnitude of the measured
velocity relative to the ground that a device is exposed to.
Each bit of this field represents if a given velocity
component is valid.
X component.
Y component.
Z component.
Vector quantifying the direction and magnitude of the measured
velocity relative to the water that a device is exposed to.
Each bit of this field represents if a given velocity
component is valid.
X component.
Y component.
Z component.
Component of incremetal velocity vector.
The device time.
X component.
Y component.
Z component.
Distance measurement detected by the device.
Validity of the measurement.
Measurement is invalid.
Measurement is valid.
Device Location in the system.
Beam configuration of the device.
Measured distance.
Report of temperature.
The value of the temperature as measured by the sensor.
Report of external pressure.
The value of the pressure as measured by the sensor.
Depth report.
Depth value measured by a sensor.
Report of Depth Offset.
Depth offset.
Sound Speed report.
Estimated sound speed. Negative values denote invalid estimates.
Water Density report.
Computed Water Density.
Report of conductivity.
The value of the conductivity as measured by the sensor.
Report of salinity.
The value of the salinity as measured by the sensor.
Measurement of relative wind speed. (Meaning without correcting for vehicle effects).
Direction of the measured wind speed.
The value of the wind speed as measured by the sensor.
Wind turbulence intensity.
Measurement of relative humidity.
Value of relative humidity.
Verbatim representation of device data in plain text format.
Plain text data as extracted directly from the device.
Verbatim representation of device data in binary format.
Raw binary data as extracted directly from the device.
Force measurement.
Force magnitude.
This message contains the data acquired by a single sonar
measurement. The following describes the format used to
fill the data field used in this message. (Byte order is
little endian.)
**Sidescan:**
+------+-------------------+-----------+
| Data | Name | Type |
+======+===================+===========+
| A | Ranges data | uintX_t |
+------+-------------------+-----------+
.. figure:: ../images/imc_sidescan.png
* The type *uintX_t* will depend on the number of bits per unit, and it should be a multiple of 8.
* Furthermore, for now, 32 bits is the highest value of bits per unit supported.
**Multibeam:**
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| Index| Section| Name | Type | Comments |
+======+========+=========================+=========+======================================================================+
| 1 | H1 | Number of points | uint16_t| Number of data points |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 2 | H2 | Start angle | fp32_t | In radians |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 3 | H3 | Flags | uint8_t | Refer to next table |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 4 | H4 ? | Angle scale factor | fp32_t | Used for angle steps in radians |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 5 | H5 ? | Intensities scale factor| fp32_t | |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 6 | D1 ? | Angle steps[H1] | uint16_t| Values in radians |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 7 | D2 | Ranges[H1] | uintX_t | Ranges data points (scale factor from common field "Scaling Factor") |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
| 8 | D3 ? | Intensities[H1] | uintX_t | Intensities data points |
+------+--------+-------------------------+---------+----------------------------------------------------------------------+
+--------+------------------+-----+
| Section| Flag Label | Bit |
+========+==================+=====+
| H3.1 | Intensities flag | 0 |
+--------+------------------+-----+
| H3.2 | Angle step flag | 1 |
+--------+------------------+-----+
.. figure:: ../images/imc_multibeam.png
*Notes:*
* Each angle at step *i* can be calculated is defined by:
.. code-block:: python
angle[i] = H2_start_angle + (32-bit sum of D1_angle_step[0] through D1_angle_step[i]) * H4_scaling_factor
* If bit H3.1 is not set then sections H5 and D3 won't exist.
* If bit H3.2 is not set then sections H4 and D1 won't exist. In case this bit is set, then the angle steps is read from field "Beam Width" from "Beam Configuration".
* The type *uintX_t* will depend on the number of bits per unit, and it should be a multiple of 8.
* Furthermore, for now, 32 bits is the highest value of bits per unit supported.
*How to write ranges and intensities data:*
.. code-block:: python
:linenos:
data_unit = (Integer) (data_value / scale_factor);
bytes_per_unit = bits_per_unit / 8;
LOOP: i = 0, until i = bytes_per_unit
byte[i] = (data_unit >> 8 * i) & 0xFF);
write(byte);
**Common:**
Type of sonar.
Operating frequency.
Minimum range.
Maximum range.
Size of the data unit. (Should be multiple of 8)
Scaling factor used to multiply each data unit to restore the
original floating point value.
Beam configuration of the device.
Data acquired by the measurement.
Hardware pulse detection.
Control of hardware pulse detection.
Activate or deactivate hardware pulse detection.
Report of fuel level.
Fuel level percentage of the system.
Percentage level of confidence in the estimation of the amount
of energy in the batteries.
Operation mode name and the estimated time available in that
mode in hours. Example: "Motion=1.5"
Report of GPS navigation data.
GPS Millisecond Time of Week.
Latitude.
Longitude.
Height Above Ellipsoid.
Height Above Sea Level.
Horizontal Accuracy Estimate.
Vertical Accuracy Estimate.
NED North Velocity.
NED East Velocity.
NED Down Velocity.
NED Down Velocity.
NED Down Velocity.
NED Down Velocity.
NED Down Velocity.
Course / Heading Accuracy Estimate.
Actual position of a servo.
Servo identifier.
Value of the servo position.
Location of a specific device in the system's body frame.
Device's position over the X axis.
Device's position over the Y axis.
Device's position over the Z axis.
Device's rotation over the X axis.
Device's rotation over the Y axis.
Device's rotation over the Z axis.
Beam configuration of the device.
Beam width of the instrument. A negative number denotes that
this information is not available or is not applicable.
Beam height of the instrument. A negative number denotes that
this information is not available or is not applicable.
Report sanity or lack of it in the data output by a sensor.
Whether the data is sane or not sane.
Data is sane.
Data is not sane.
Rhodamine Dye measurement.
Amount of rhodamine dye detected.
Crude oil measurement.
Amount of crude oil detected.
Fine oil measurement.
Amount of fine oil detected.
Turbidity measurement.
Turbidity reading.
Chlorophyll measurement.
Chlorophyll reading.
Fluorescein measurement.
Fluorescein reading.
Phycocyanin measurement.
Phycocyanin reading.
Phycoerythrin measurement.
Phycoerythrin reading.
Report of an RTK-GPS fix.
Validity of fields.
Field 'tow' is valid.
Fields 'base_lat', 'base_lon' and 'base_height' are valid.
Fields 'n', 'e', 'd' are valid.
Fields 'v_n', 'v_e', 'v_d' are valid.
Type of fix.
No solution, but RTK task is running.
No solution, but receiving observations.
Floating point solution of IAR.
Fixed (single) solution of IAR.
GPS Time of Week.
WGS-84 Latitude coordinate of the base.
WGS-84 Longitude coordinate of the base.
Height above WGS-84 ellipsoid of the base.
Baseline North coordinate.
Baseline East coordinate.
Baseline Down coordinate.
Velocity North coordinate.
Velocity East coordinate.
Velocity Down coordinate.
Number of satellites used in solution.
Number of hypotheses in the Integer Ambiguity Resolution (smaller is better).
Quality ratio of Integer Ambiguity Resolution (bigger is better).
This message is a representation of the state of the vehicle,
as seen by an external navigation computer.
An example usage is when DUNE is used with ardupilot. The
data gathered from the autopilot is a complete navigation
solution.
ExternalNavData contains an inline Estimated State, which
is a complete description of the system
in terms of parameters such as position, orientation and
velocities at a particular moment in time.
The Type field selects wether the navigation data is a
full state estimation, or only concerns attitude or
position/velocity.
External Navigation Data.
The type of external navigation data
Dissolved Oxygen measurement.
Dissolved Oxygen reading.
Air Saturation measurement.
Air Saturation reading.
Throttle e.g. for Plane/Copter .
The value of the desired throttle.
Report of pH.
The value of the pH as measured by the sensor.
Report of Redox Potential.
The value of the Redox as measured by the sensor.
Camera Zoom.
The identification number of the destination camera.
Absolute zoom level.
The zoom action to perform.
Actuate directly on a thruster.
The identification number of the destination thruster.
Actuation magnitude.
Set the position of a servo.
The identification number of the destination servo.
Actuation magnitude.
Set the deflection angle of a control surface.
The identification number of the destination control surface.
Actuation magnitude.
This message is used as query to request for the possible remote
actions (operation=QUERY and the list is empty in this
case). The vehicle responds using the same message type
returning the tuplelist with the pairs: Action,Type
(operation=REPORT). The type of action can be Axis, Hat or
Button.
Verbs to use:
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Verb | Type | LAUV Use | Verb alternatives | Notes |
+===============+==============+==========+============================================+=======================================+
| Accelerate | Button | yes | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Arm | Button | | | Should use ArmState message for state |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Decelerate | Button | yes | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Disarm | Button | | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Exit | Button | yes | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Heading | Axis | yes | Yaw, Rotate, Turning | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Lateral | Axis | | Sway, Sideways | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Pitch | Axis | | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Roll | Axis | | Bank | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Stop | Button | yes | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Thrust | Axis | yes | Surge, Forward, Throtle | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| Vertical | Axis | | Heave, Up, Ascende, VerticalRate, Depth, Z | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
| * | (type) | | | |
+---------------+--------------+----------+--------------------------------------------+---------------------------------------+
Special actions for configuration:
+---------------+-------------------+----------------------------------------------------+
| Verb | Special Type | Notes |
+===============+===================+====================================================+
| Ranges | Decimal, Range127 | Decimal [-1.0; 1.0], Range127[-127; 127] (default) |
+---------------+-------------------+----------------------------------------------------+
Types:
+-------------------+------------------------------------------------------+
| Type | Note |
+===================+======================================================+
| Axis | Axis like (full range) |
+-------------------+------------------------------------------------------+
| Button | A button (0 for release, 1 for press) |
+-------------------+------------------------------------------------------+
| Slider | Slider like (full range) |
+-------------------+------------------------------------------------------+
| HalfSlider | Slider like, but only the positive half of the range |
+-------------------+------------------------------------------------------+
Special Types:
+--------------+----------------------------------------------------+
| Special Type | Notes |
+==============+====================================================+
| Lock | Specify a Verb to be "locked" |
+--------------+----------------------------------------------------+
Operation to perform.
This will serve as a registration of an additional action.
It should be used by an internal system entity to register an action to a central
registration. This way only one will responde to a QUERY request.
Example: "Propulsion=Axis,Lights=Button,Lights=Lock"
This message is used to send a periodic update of values for
each remote action. If the action is not on the list the assumed
value is 0.
List of values for each remote action (e.g: "Propeller=0.6,PanTilt=0.75,Lights=1").
Event of a specific hardware button.
Button identifier.
Value of the button.
Control LCD.
The LCD action to perform
Text to be written (if defined write operation).
This message allows controlling the system's power lines.
Operation type.
Request the destination entity of this message to power down
it's devices immediately. If the destination entity is the
special entity '0' the whole system will power down.
The latest power down request is in progress and the time
remaining until power down is given in field 'time_remain'.
The latest power down request was aborted.
Request the destination entity of this message to power down
it's devices at the time given in the field 'sched_time'. If
the destination entity is the special entity '0' the whole
system will power down.
Request the destination entity of this message to power up
it's devices.
The latest power up request is in progress.
Request the destination entity of this message to power up
it's devices at the time given in the field 'sched_time'. If
the destination entity is the special entity '0' the whole
system will power up.
Time remaining to complete operation.
Scheduled time of operation.
This message allows controlling power channels.
The name of the power channel.
Operation to perform.
Turn off power channel specified in field 'name'.
Turn on power channel specified in field 'name'.
Toggle power channel specified in field 'name'.
Turn on power channel specified in field 'name' in
'sched_time' seconds.
Turn off power channel specified in field 'name' in
'sched_time' seconds.
Reset all scheduled operations for the channel specified in
field 'name'.
Save the current state of the channel 'name' to persistent
storage.
Restart power channel specified in field 'name'.
Scheduled time of operation.
Request the state of power channels.
Message conveying the state of a power channel.
Power Channel Name.
State of the Power Channel.
Power channel is off.
Power channel is on.
Brightness value of an LED (Light-Emitting Diode).
LED name.
Brightness value.
Query the brightness of an LED (Light-Emitting Diode). The
recipient of this message shall reply with 'LedBrightness'.
LED name.
Control the brightness of an LED (Light-Emitting Diode). The
recipient of this message shall set the intensity of the LED to
the desired 'value' and reply with 'LedBrightness'.
LED name.
Desired brightness value.
Set properties of a PWM signal channel.
PWM channel identifier.
The total period of the PWM signal (sum of active and inactive
time of the PWM).
The active time of the PWM signal. The duty cycle value must
be less or equal to the period.
Properties of a PWM signal channel.
PWM channel identifier.
The total period of the PWM signal (sum of active and inactive
time of the PWM).
The active time of the PWM signal. The duty cycle value is
less or equal to the period.
This message presents the estimated state of the vehicle.
EstimatedState is a complete description of the system
in terms of parameters such as position, orientation and
velocities at a particular moment in time.
The system position is given by a North-East-Down (NED)
local tangent plane displacement (x, y, z) relative to
an absolute WGS-84 coordinate (latitude, longitude,
height above ellipsoid).
The symbols for position and attitude as well as linear and
angular velocities were chosen according to SNAME's notation (1950).
The body-fixed reference frame and Euler angles are depicted
next:
.. figure:: ../images/euler-lauv.png
:align: center
Euler angles
WGS-84 Latitude.
WGS-84 Longitude.
Height above the WGS-84 ellipsoid.
The North offset of the North/East/Down field with respect to
LLH.
The East offset of the North/East/Down field with respect to
LLH.
The Down offset of the North/East/Down field with respect to
LLH.
The phi Euler angle from the vehicle's attitude.
The theta Euler angle from the vehicle's attitude.
The psi Euler angle from the vehicle's attitude.
Body-fixed frame xx axis velocity component.
Body-fixed frame yy axis velocity component.
Body-fixed frame zz axis velocity component.
Ground Velocity xx axis velocity component.
Ground Velocity yy axis velocity component.
Ground Velocity zz axis velocity component.
The angular velocity over body-fixed xx axis (roll).
The angular velocity over body-fixed yy axis (pitch).
The angular velocity over body-fixed zz axis (yaw).
Depth, in meters. To be used by underwater vehicles. Negative
values denote invalid estimates.
Altitude, in meters. Negative values denote invalid estimates.
The estimated stream velocity, typically for water or air
streams.
X component (North).
Y component (East).
Z component (Down).
Speed measured by the navigation filter.
Ground true speed.
Report of navigation uncertainty.
This is usually given by the output of the state
covariance matrix of an Extended Kalman Filter.
The North offset variance of the North/East/Down
field with respect to LLH.The East offset variance of the North/East/Down
field with respect to LLH.The Down offset variance of the North/East/Down
field with respect to LLH.
The phi Euler angle variance from the vehicle's attitude.
The theta Euler angle variance from the vehicle's attitude.
The psi Euler angle variance from the vehicle's attitude.
The angular velocity variance over body-fixed xx axis (roll).
The angular velocity variance over body-fixed yy axis (pitch).
The angular velocity variance over body-fixed zz axis (yaw).
Body-fixed frame xx axis velocity variance component.
Body-fixed frame yy axis velocity variance component.
Body-fixed frame zz axis velocity variance component.
The psi Euler angle bias variance from the vehicle's sensed attitude.
The angular velocity over body-fixed zz axis bias variance from sensor.
Report of navigation data.
This is constituted by data which is not
part of the vehicle estimated state but
that the user may refer for more information.
The psi Euler angle bias from the vehicle's sensed attitude.
The angular velocity over body-fixed zz axis bias from sensor.
Course over ground given by NED ground velocity vectors.
Continuous psi Euler angle (without normalizations).
GPS rejection filter level.
LBL rejection filter level.
Custom variable.Custom variable.Custom variable.
UTC time of the rejected GPS fix measured in seconds since
00:00:00 (midnight).
Reason for rejection.
New GPS Fix position is above a computed threshold.
Invalid measurement.
Above maximum horizontal dilution of precision.
Above maximum horizontal accuracy index.
Lost one of the validity bits between consecutive GPS fixes.
When the vehicle uses Long Base Line navigation, this message
notifies that a new range was received from one of the acoustics
transponders. The message fields are used to identify the range
value and the transponder name. Also, this message has an
acceptance field that indicates whether a LBL range was accepted
or rejected, and if rejected, the reason why.
Identification number of the acoustic transponder from which
the range information was received.
Distance to the acoustic transponder.
Reason for acceptance/rejection.
This LBL range is accepted by the navigation filter.
New LBL Range is above a computed threshold.
Singular point.
The filter lacks information to properly use the received LBL range.
Vehicle is using only GPS fix when it is at surface.
When the vehicle uses Doppler Velocity Log sensor, this message
notifies that a new measurement was locally rejected by the
navigation filter.
This field represents the type of the rejected velocity.
Reason for rejection. There are two types of DVL measurement
filters. An Innovation filter checks the innovation between
the current measurement and the previous measurement within a
certain amount of time and an Absolute filter compares the
measurement with an absolute threshold value. Those filters
are tested using horizontal speed measurements, i.e.,
measurements in the x-axis and in the y-axis.
The current DVL x-axis measurement is discarded
because the absolute difference between the
value and the previous accepted DVL measurement
with a given time window is above a configurable
threshold.
The current DVL y-axis measurement is discarded
because the absolute difference between the
value and the previous accepted DVL measurement
with a given time window is above a configurable
threshold.
The current DVL x-axis measurement is discarded
because the the absolute value is above a
configurable threshold.
The current DVL y-axis measurement is discarded
because the the absolute value is above a
configurable threshold.
Value of the rejection.
If it is an innovation rejection the value is
the absolute difference between the previous
accepted DVL measurement and the current one.
If it is an absolute rejection the value is
the current DVL measurement.
Timestep of the rejection.
The timestep is 0 for an absolute rejection
since it is an instantaneous reading. For
innovation rejection it is the time difference
between the previous accepted DVL measurement
and the current one.
LBL Beacon position estimate.
LBL Beacon configuration estimate.
The North position offset of the NED field with respect to origin.
The East position offset of the NED field with respect to origin.
The North offset variance of the North/East/Down
field with respect to LLH.
The East offset variance of the North/East/Down
field with respect to LLH.
Distance between current LBL Beacon position and filter estimation.
This message notifies the vehicle is ready for dead-reckoning missions.
Alignment State.
The stream velocity estimated by a group of systems.
Typically for water or air streams.
X component (North).
Y component (East).
Z component (Down).
Airspeed along with airflow angles.
Airspeed, the 2-norm of the relative velocity.
Angle of attack.
Sideslip angle.
Desired Heading angle reference value for the control layer.
The value of the desired heading angle, relative to true
north, in radians.
Desired Z reference value for the control layer.
The value of the desired z reference in meters.
Units of the z reference.
Desired Speed reference value for the control layer.
The value of the desired speed, in the scale specified by the
"Speed Units" field.
Indicates the units used for the speed value.
Desired Roll angle reference value for the control layer.
The value of the desired roll angle.
Desired Pitch angle reference value for the control layer.
The value of the desired pitch angle.
Desired Vertical Rate speed reference value for the control layer.
The value of the desired vertical rate speed in meters per
second.
Perform path control.
The path is specified by two WGS-84 waypoints, respective
altitude / depth settings, optional loitering at the end point,
and some control flags.
The start and end waypoints are defined by the specified end point fields
('end_{lat/lon/z}') plus:
1. the start waypoint fields ('start_{lat|lon|z}') if the
'START' flag (bit in 'flags' field) is set; or
2. the end point of the previous path recently tracked; or
3. the current location is the 'DIRECT' flag is set or if
the tracker has been idle for some time.
Altitude and depth control can be performed as follows:
1. by default, the tracker will just transmit an altitude/depth
reference value equal to 'end_z' to the appropriate controller;
2. if the 'NO_Z' flag is set no altitude/depth control will take
place, hence they can be controlled independently;
3. if the '3DTRACK' flag is set, 3D-tracking will be done
(if supported by the active controller).
Loitering can be specified at the end point with a certain
radius ('lradius'), duration ('lduration'), and clockwise or
counter-clockwise direction ('CCLOCKW' flag).
Unsigned integer reference for the scope of the desired path message.
Path reference should only be set by a maneuver.
Should be set to an always increasing reference at the time of dispatching this message.
Lower level path controllers must inherit the same path reference sent by maneuver.
WGS-84 latitude of start point. This will be ignored unless
the 'START' flag is set.
WGS-84 longitude of start point. This will be ignored unless
the 'START' flag is set.
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.
Units of the start point's z reference.
WGS-84 latitude of end point.
WGS-84 longitude of end point.
Depth or altitude for the end point. This parameter will be
ignored if the 'NO_Z' flag is set.
Units of the end point's z reference.
Maneuver speed reference.
Speed units.
Radius for loitering at end point. Specify less or equal to 0
for no loitering.
Desired Path flags.
Indicates that the start point specification is given,
therefore it should be considered for tracking.
If start point is not given, ignore also the previous path's
endpoint and take the start point to be the current vehicle
location.
Ignore altitude/depth setting and let them be controlled
independently.
Perform 3D-tracking, i.e., consider the path formed in the
XYZ plane taking into account both the 'start_z' and 'end_z'
values.
Indicates that loitering, if defined, should be done
counter-clockwise. Clockwise loitering will apply
otherwise.
Indicates that loitering, if defined, should be done from
the current vehicle position. The end_lat and end_lon
fields will be ignored.
Indicates that takeoff should be done before going to the end position.
Indicates that the system should land at the end position.
Set the desired virtual forces and torques to be applied to the
vehicle.
Force X along the vehicle's x axis.
Force Y along the vehicle's y axis.
Force Z along the vehicle's z axis.
Torque K about the vehicle's x axis.
Torque M about the vehicle's y axis.
Torque N about the vehicle's z axis.
Desired Control flags.
If enabled then field X has a meaningful value.
If enabled then field Y has a meaningful value.
If enabled then field Z has a meaningful value.
If enabled then field K has a meaningful value.
If enabled then field M has a meaningful value.
If enabled then field N has a meaningful value.
Desired Heading Rate speed reference value for the control layer.
The value of the desired heading rate speed in radians per
second.
Desired value for each linear and angular speeds.
Desired speed along the vehicle's x axis.
Desired speed along the vehicle's y axis.
Desired speed along the vehicle's z axis.
Desired speed about the vehicle's x axis.
Desired speed about the vehicle's y axis.
Desired speed about the vehicle's z axis.
Desired Velocity flags.
If enabled then field u has a meaningful value.
If enabled then field u has a meaningful value.
If enabled then field w has a meaningful value.
If enabled then field p has a meaningful value.
If enabled then field q has a meaningful value.
If enabled then field r has a meaningful value.
Path control state issued by Path Controller.
Unsigned integer reference of the desired path message to which this
PathControlState message refers to.
Path reference should only be set by a maneuver, not by path controllers.
WGS-84 latitude of start point.
WGS-84 longitude of start point.
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.
Units of the start point's z reference.
WGS-84 latitude of end point.
WGS-84 longitude of end point.
Depth or altitude for the end point. This parameter should be
ignored if the 'NO_Z' flag is set.
Units of the end point's z reference.
Radius for loitering at end point.
Will be 0 if no loitering is active.
Path control state flags.
Set if near the target endpoint.
Set if loitering.
Altitude/depth being controlled independently.
3D-tracking is active.
Indicates that loitering, if active, is being done
counter-clockwise. Otherwise, clockwise loitering should be
assumed.
Along-Track position value.
Cross-Track position value.
Vertical-Track position value.
Along-Track velocity value.
Cross-Track velocity value.
Vertical-Track velocity value.
Course error value.
Estimated time to reach target waypoint. The value will be
65535 if the time is unknown or undefined, and 0 when
loitering.
Control torques allocated to the actuators.
Torque K about the vehicle's x axis.
Torque M about the vehicle's y axis.
Torque N about the vehicle's z axis.
Report of PID control parcels.
Proportional parcel value.
Integral parcel value.
Derivative parcel value.
Anti-windup parcel value.
Brake the vehicle in some way, i. e., reduce forward speed.
Brake operation.
Stop braking procedures.
Start braking procedures.
Revert Actuation.
Position, velocity and acceleration setpoints in NED
Desired pos in x.
Desired pos in y.
Desired pos in z.
Desired speed along NED x axis.
Desired speed along NED y axis.
Desired speed along NED z axis.
Desired acceleration along NED x axis.
Desired acceleration along NED y axis.
Desired acceleration along NED z axis.
Setpoint Flags
If enabled then field x has a meaningful value.
If enabled then field y has a meaningful value.
If enabled then field z has a meaningful value.
If enabled then field vx has a meaningful value.
If enabled then field vy has a meaningful value.
If enabled then field vz has a meaningful value.
If enabled then field ax has a meaningful value.
If enabled then field ay has a meaningful value.
If enabled then field az has a meaningful value.
Desired throttle e.g. for Plane in FBWA-mode.
The value of the desired throttle.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
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.
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.
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.
Custom settings for maneuver.
The Pop Up maneuver makes the vehicle come to the surface at a
specific waypoint. This maneuver is restricted to underwater vehicles.
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.
WGS-84 Latitude.
WGS-84 Longitude.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
The duration of this maneuver at surface level.
Only used if flag WAIT_AT_SURFACE is on.
Radius of the maneuver.
Only used if flag STATION_KEEP is on.
Flags of the maneuver.
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.
If this flag is set, duration field is used to hold position at surface
for that amount of time.
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.
Custom settings for maneuver.
The Teleoperation Maneuver lets the vehicle be controlled by an
external human operator.
Custom settings for maneuver.
The Loiter maneuver makes the vehicle circle around a specific
waypoint with fixed depth reference.
The timeout indicates the time that an error should occur if
exceeded.
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
The duration of this maneuver. Use '0' for unlimited duration
time.
Maneuver speed reference.
Speed units.
Loiter maneuver type.
Radius of the maneuver.
Length of the maneuver.
Bearing of the maneuver.
Desired direction.
Custom settings for maneuver.
Causes the vehicle to stay idle for some time.
Optional duration of the Idle maneuver. Use '0' for unlimited
duration time (maneuver will have to be explicitly stopped).
Custom settings for maneuver.
Low level maneuver that sends a (heading, roll, speed, ...)
reference to a controller of the vehicle and then optionally
lingers for some time.
Control command: can be of type DesiredZ, DesiredHeading,
DesiredRoll, DesiredPitch, DesiredSpeed, DesiredThrottle or DesiredPath.
Duration of the control.
Custom settings for maneuver.
Rows maneuver (i.e: lawn mower type maneuver)
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
Rows bearing angle.
Rows cross angle reference.
Width of the maneuver.
Length of the maneuver.
Horizontal step.
Desired curve offset.
Alternation parameter.
Maneuver flags.
Custom settings for maneuver.
Maneuver constituted by a list of Path Points.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of start point.WGS-84 Longitude of start point.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
List of PathPoint messages, encoding the path points.
Custom settings for maneuver.
Waypoint coordinate of a Follow Path maneuver.
The North offset of the North/East/Down coordinate of this
point in relation to the path start point.
The East offset of the North/East/Down coordinate of this
point in relation to the path start point.
The Down offset of the North/East/Down coordinate of this
point in relation to the path start point.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Maneuver reference in the z axis.
Use z_units to specify whether z represents depth, altitude or other.
Units of the z reference.
Amplitude.
Pitch angle for use in ascent/descent.
Maneuver speed reference.
Speed units.
Custom settings for maneuver.
Notification of completion of a Teleoperation maneuver.
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.
WGS-84 Latitude.
WGS-84 Longitude.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Radius.Duration (0 for unlimited).
The value of the desired speed, in the scale specified
by the "Speed Units" field.
Indicates the units used for the speed value.
Custom settings for 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.
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.
Flags of the maneuver.
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.
WGS-84 Latitude.
WGS-84 Longitude.
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.
Units of the start point's z reference.
Depth or altitude for the end point. This parameter will be
ignored if the 'NO_Z' flag is set.
Units of the end point's z reference.
Radius for use in ascent/descent. If 0 the controller to
should use a custom control strategy.
Maneuver speed.
Speed units.
Custom settings for maneuver.
Maneuver constituted by a list of Trajectory Points.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude for start point.
WGS-84 Longitude for start point.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed.
Speed units.
List of trajectory points.
Custom settings for maneuver.
Waypoint coordinate of a Follow Trajectory maneuver.
The North offset of the North/East/Down coordinate of this
point in relation to the trajectory start point.
The East offset of the North/East/Down coordinate of this
point in relation to the trajectory start point.
The Down offset of the North/East/Down coordinate of this
point in relation to the trajectory start point.
The time offset relative to the previous trajectory point.
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.
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.
The maneuver name, used as key by an implementation to bind
the maneuver to the corresponding controller.
Custom settings for maneuver.
Coordinate maneuver using two or more cooperating systems.
WGS-84 Latitude for start point.
WGS-84 Longitude for start point.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Reference speed.
Reference speed units.
List of trajectory points.
List of formation participants.
Optional start time hint for vehicle formation.
Custom settings for maneuver.
Definition of a vehicle participant in a VehicleFormation maneuver.
IMC address of vehicle.
Distance that the system must respect along the xx axis.
Distance that the system must respect along the yy axis.
Distance that the system must respect along the zz axis.
Command used to stop currently executing maneuver.
Command used to indicate maneuver can be executed in the
vehicle.
IMC serialization ID of maneuver type.
Maneuver control state.
Code indicating maneuver state.
Maneuver in progress.
Maneuver completed.
Maneuver error.
Maneuver stopped.
Estimated time to completion of the maneuver, when executing.
The value will be 65535 if the time is unknown or undefined.
Complementary information, e.g., regarding errors.
System-following maneuver.
IMC address of system to follow.
Duration of maneuver, 0 for unlimited duration.
Reference speed.
Reference speed units.
Along-track offset.
Cross-track offset.
Coordinate z during follow maneuver. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
In this maneuver, a vehicle drives to the center of two other
systems (a, b) in order to be used as a communications relay.
WGS-84 Latitude for start point.
WGS-84 Longitude for start point.
Reference speed.
Reference speed units.
Duration of maneuver, 0 for unlimited duration.
The IMC id of the system A.
The IMC id of the system B.
Move only if the distance to the target is bigger than this
threshold.
Given a polygonal area, generates trajectories to cover the
area.
WGS-84 Latitude for start point.
WGS-84 Longitude for start point.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Reference speed.
Reference speed units.
Message list of type PolygonVertex.
Additional parameters to be used by the controller.
This message is used to store the various polygon vertices for
CoverArea maneuvers.
WGS-84 Latitude for start point.
WGS-84 Longitude for start point.
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.
The timeout indicates the time that an error should occur if
exceeded.
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Pitch angle used to perform the maneuver.
Yoyo motion amplitude.
The duration of this maneuver. Use '0' for unlimited duration time.
Maneuver speed.
Speed units.
Radius of the maneuver.
Direction of the maneuver.
Custom settings for maneuver.
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 of the formation configuration.
Formation reference frame
List of formation participants.
Custom settings for the formation configuration.
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
Target group for the formation plan.
Name of the formation configuration.
The flight plan's identifier.
Flight plan defined to be tracked by the formation leader.
Verbose text description of plan.
Formation leader flight airspeed during the plan tracking.
Formation leader flight bank limit during the plan tracking.
Limit for the position mismatch between real and simulated position, before a maneuver abort is asserted.
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.
The amount of time the maneuver is allowed to run after the position mismatch threshold is surpassed.
Threshold for the convergence measure, above which a time-out limit
is evaluated to assert a maneuver abort state.
The amount of time the maneuver is allowed to run after the convergence threshold is surpassed.
The amount of time the maneuver is allowed to run without any update on the other formation vehicles states.
Turbulence limit above which a maneuver abort is asserted.
Custom settings for maneuver.
This maneuver follows a reference given by an external entity.
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.
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.
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'.
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.
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.
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.
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.
Reference currently being followed.
Monitoring variables for the formation state and performance.
Commanded acceleration computed by the formation controller: northward direction.
On the vehicle directional reference frame.
Constrained by the vehicle operational limits.
Commanded acceleration computed by the formation controller: eastward direction.
On the vehicle directional reference frame.
Constrained by the vehicle operational limits.
Commanded acceleration computed by the formation controller: downward direction.
On the vehicle directional reference frame.
Constrained by the vehicle operational limits.
Desired acceleration computed by the formation controller: northward direction.
On the fixed reference frame.
Desired acceleration computed by the formation controller: eastward direction.
On the fixed reference frame.
Desired acceleration computed by the formation controller: downward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined virtual error: northward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined virtual error: eastward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined virtual error: downward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined sliding surface feedback: northward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined sliding surface feedback: eastward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Overall formation combined sliding surface feedback: downward direction.
On the fixed reference frame.
Components of the vehicle desired acceleration.
Dynamics uncertainty compensation: northward direction.
Components of the vehicle desired acceleration.
Dynamics uncertainty compensation: eastward direction.
Components of the vehicle desired acceleration.
Dynamics uncertainty compensation: downward direction.
Combined deviation from convergence (sliding surface): North component.
Combined deviation from convergence (sliding surface): East component.
Combined deviation from convergence (sliding surface): Down component.
List of RelativeState messages, encoding the inter-vehicle formation state.
Inter-vehicle formation state.
The identifier of the vehicle whose relative state is being reported.
Distance between vehicles.
Relative position error norm.
Weight in the computation of the desired acceleration.
Inter-vehicle direction vector: North component.
Inter-vehicle direction vector: East component.
Inter-vehicle direction vector: Down component.
Relative position error: North component.
Relative position error: East component.
Relative position error: Down component.
Relative position error: X component on the inter-vehicle reference frame.
Relative position error: Y component on the inter-vehicle reference frame.
Relative position error: Z component on the inter-vehicle reference frame.
Relative veloctity error: X component in the inter-vehicle reference frame.
Relative velocity error: Y component on the inter-vehicle reference frame.
Relative velocity error: Z component on the inter-vehicle reference frame.
Deviation from convergence (sliding surface): X component on the inter-vehicle reference frame.
Deviation from convergence (sliding surface): Y component on the inter-vehicle reference frame.
Deviation from convergence (sliding surface): Z component on the inter-vehicle reference frame.
Components of the vehicle desired acceleration.
Relative virtual error: northward direction.
Components of the vehicle desired acceleration.
Relative virtual error: eastward direction.
Components of the vehicle desired acceleration.
Relative virtual error: downward direction.
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).
The amount of time the maneuver is allowed to run.
Maneuver RPM reference.
Direction to which the vehicle should attempt to unstuck.
Custom settings for maneuver.
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 of the formation configuration.
Indicates if the message is a request, or a reply to a previous request.
Operation to perform.
Start the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Target group for the formation plan.
The flight plan's identifier.
Flight plan defined to be tracked by the formation leader.
Verbose text description of plan.
Formation reference frame
List of formation participants.
Maximum absolute bank allowed for the formation leader.
Minimum speed allowed for the formation leader flight.
Maximum speed allowed for the formation leader flight.
Minimum altitude allowed for the formation leader flight.
Maximum altitude allowed for the formation leader flight.
Limit for the position mismatch between real and simulated position, before a maneuver abort is asserted.
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.
The amount of time the maneuver is allowed to run after the position mismatch threshold is surpassed.
Threshold for the convergence measure, above which a time-out limit
is evaluated to assert a maneuver abort state.
The amount of time the maneuver is allowed to run after the convergence threshold is surpassed.
The amount of time the maneuver is allowed to run without any update on the other formation vehicles states.
Turbulence limit above which a maneuver abort is asserted.
Custom settings for maneuver.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
Custom settings for maneuver.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
Custom settings for maneuver.
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.
Unix timestamp, in seconds, for the arrival at the destination.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the destination z reference.
Z reference to use while travelling to the destination.
Z reference units to use while travelling to the destination.
What to do if the vehicle fails to arrive before or at the requested time.
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.
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).
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
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
Rows bearing angle.
Rows cross angle reference.
Width of the maneuver.
Length of the maneuver.
Desired curve offset.
Angular aperture of the sensor (looking downwards).
Maximum range of the sensor (in meters downwards from the vehicle's position).
Amount of overlap among different transect surveys.
Maneuver optional flags.
Whether to move between transects using an additional perpendicular transect.
Shall the vehicle turn towards the right after the first transect (alternatively it will turn left).
Custom settings for maneuver.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
True when sampling with servo 0.
True when sampling with servo 1.
True when sampling with servo 2.
Custom settings for maneuver.
A "ImageTracking" is a maneuver specifying a particular heading to the
detected object.
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.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Target altitude or height for the automatic takeoff.
Units of the z reference.
Maneuver speed reference.
Speed units.
Minimum pitch angle during automatic takeoff.
Custom settings for maneuver.
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.
WGS-84 Latitude of touchdown waypoint.
WGS-84 Longitude of touchdown waypoint.
Target altitude or height for the automatic landing.
Units of the z reference and abort z reference.
Maneuver speed reference.
Speed units.
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.
Land bearing angle.
Ratio of the distance from the last waypoint to the landing point (touchdown) and the height difference between them.
Height difference between the last waypoint to the landing point (touchdown).
Custom settings for maneuver.
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.
WGS-84 Latitude of the initial location.
WGS-84 Longitude of the initial location.
Maneuver speed reference.
Speed units.
Maximum depth the autonomous controller is allowed to drive to.
Minimum altitude the autonomous controller is allowed to drive to.
The time after which this maneuver should be stopped (if still active and TIMEOUT is enforced).
The boundaries of the admissable area for this autonomous section.
The name of the controlling agent that will be allowed to guide the vehicle during the AutononousSection.
Custom settings for maneuver.
This maneuver behaves by following a point.
The identifier of the point source to follow (via RemoteSensorInfo or EstimatedState).
Use this speed when travelling from afar.
Indicates the units used for the maximum speed value.
WGS-84 Latitude of maneuver in the map. Ignored during execution.
WGS-84 Longitude of maneuver in the map. Ignored during execution.
Use z_units to specify whether z represents depth, altitude or other.
Units of the z reference.
Custom settings for maneuver.
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.
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Maneuver speed reference.
Speed units.
Custom settings for maneuver.
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.
WGS-84 Latitude.
WGS-84 Longitude.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Radius.Duration (0 for unlimited).
The value of the desired speed, in the scale specified
by the "Speed Units" field.
Indicates the units used for the speed value.
The period at which the vehicle will popup to report its position.
Only used if flag KEEP_SAFE is on.
The duration of the station keeping at surface level when it pops up.
Only used if flag KEEP_SAFE is on.
Flags of the maneuver.
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).
Custom settings for maneuver.
Notification of completion of a maneuver (optional use).
Magnetometer calibration maneuver (i.e: one square pattern
in one direction, a second square in the opposite direction)
The amount of time the maneuver is allowed to run.
WGS-84 Latitude of target waypoint.
WGS-84 Longitude of target waypoint.
Maneuver reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Maneuver speed reference.
Speed units.
Rows bearing angle.
Width of the maneuver.
Desired direction.
Custom settings for maneuver.
This message summarizes the overall state of the vehicle. It can
contains information regarding:
- The overall operation mode.
- Any error conditions.
- Current maneuver execution.
- Active control loops.
The overall operation mode.
Ready to service requests.
Ongoing vehicle calibration.
Errors are set.
A maneuver is executing.
External control is active.
Booting system.
Error count for monitored entitites.
The monitored entities with error conditions. This is a comma
separated list of entity names.
Type of maneuver being executed, when in MANEUVER mode. The
value is the IMC serialization ID of the corresponding
maneuver.
Start time of maneuver being executed (Epoch time), when in
MANEUVER mode.
Estimated time for maneuver completion. The value will be
65535 if the time is unknown or undefined.
Enabled control loops.
Description of last error.
Time of last error (Epoch time).
Vehicle command.
Request IDThe type of command/action to be performedExecute the maneuver specified in 'maneuver' field.Stop 'maneuver' being executed.Start calibrating vehicle.Stop calibrating vehicle.Maneuver to be executed (for 'EXEC_MANEUVER' command)Amount of time to calibrateComplementary human-readable information for replies.Controls monitoring of entity states in the vehicle.Command.Comma separated list of entity names.
Number of entitities being monitored.
Comma separated list of all entity names being monitored.
Number of entitities with non-critical errors.
Comma separated list of all entity names with non-critical
errors.
Number of entitities with critical errors.
Comma separated list of all entity names with critical errors.
Description of last error.
Time of last error (Epoch time).
Definition of operational limits.
Command to obtain the operational limits in use by the vehicle.
Initiate overall calibration of a vehicle.
Duration of calibration.
Enable or disable control loops.
Control loop mask.
Unsigned integer reference for the scope of the control loop message.
Scope reference should only be set by a maneuver.
Should be set to an always increasing reference at the time of dispatching this message.
Lower level controllers must inherit the same scope reference sent by maneuver.
This same scope reference must be sent down to lower control layers.
Detect current vehicle medium.
Current medium.
Vehicle is on the groundVehicle is airborneVehicle is at water surfaceVehicle is underwaterVehicle medium is unknown
Detected collision.
Estimated collision acceleration value.
Collision flags.
Collision detected in the x-axisCollision detected in the y-axisCollision detected in the z-axisSudden impact detected
Monitoring variables to assert the formation tracking state, i.e., the mismatch between the real and the simulated aircraft position, the convergence state, etc.
Mismatch between the real and the simulated aircraft position.
Convergence evalution variable.
Value indicates the position error to which the system is converging, tacking into account the aircraft current position error and velocity.
Evaluation of the stream turbulence level, through the stream acceleration.
Position mismatch monitoring flag.
Communications monitoring flag.
Convergence monitoring flag.
Reports autopilot mode.
Current mode autonomy level.
Autopilot has no controlAutopilot has some controlAutopilot has full control
Current mode name.
Monitoring variables to assert the formation tracking state, i.e., the mismatch between the real and the simulated aircraft position, the convergence state, etc.
Indicates if the message is a request, or a reply to a previous request.
Operation to perform.
Start the formation maneuver.
Stop the formation maneuver.
Mismatch between the real and the simulated aircraft position.
Convergence evalution variable.
Value indicates the position error to which the system is converging, tacking into account the aircraft current position error and velocity.
Evaluation of the stream turbulence level, through the stream acceleration.
Position mismatch monitoring flag.
Communications monitoring flag.
Convergence monitoring flag.
This message is sent to trigger reports to a destination system.
Operation to perform.
Request a system to periodically send reports through 'interface'.
The destination system will reply with a STARTED command. Periodicity
will be defined by the field 'period'. If applicable, the destination
address is defined in field 'dst'.
The destination system will reply a message with this operation
everytime a report is successfully started. The periodicity of
reports is indicated in the field 'period' while the communication
interface to be used is described in field 'interface'. If applicable,
the destination address is defined in field 'dst'.
Request a system to stop dispatching reports through a given
communication interface described in 'interface'. The destination
system will reply with a STOPPED command. If applicable, the
destination address is defined in field 'dst'.
The destination system will reply a message with this operation
everytime a scheduled report is successfully stopped in a defined
communication interface. If applicable, the destination address
is defined in field 'dst'.
Request a system to issue a single report in a defined communication
interface. The destination system will reply with a REPORT_ISSUED command.
If applicable, the destination address is defined in field 'dst'.
The destination system will reply a single report request with
this operation.If applicable, the destination address is defined
in field 'dst'.
Communication interface to be used for reports.
Use acoustic communicationsUse satellite communicationsUse Global System for Mobile CommunicationsUse mobile networksUse Radio telemetry
Desired periodicity for scheduled reports.
Destination Address to be filled where applicable. It should be
interpreted differently depending on communication interface.
Concise representation of entire system state.
Time, in seconds, since January 1st 1970.Latitude of the system, in degrees.Longitude of the system, in degrees.Altitude of the system, in decimeters.
* *0xFFFF* used for unknown / not applicable value.
Depth of the system, in decimeters.
* *0xFFFF* used for unknown / not applicable value.
Calculated as `(rads * (0xFFFF / (2 * PI))`Speed of the system in centimeters per second.System fuel gauge.
* *-1* means unknown fuel level.
Progress of execution or idle state.
* *-1* means Service mode
* *-2* means Boot mode
* *-3* means Calibration mode
* *-4* means Error mode
Checksum of the plan being executed.
Request data to be sent over a specified communication mean.
The unique identifier for this request.
Communication mean to be used to transfer these data.
The name of the system where to send this message.
Deadline for message transmission (seconds since epoch).
The meaning of this field depends on the operation and is
explained in the operation's description.
Type of data to be transmitted.
Abort and Range mode can only be used with comm_mean=ACOUSTIC
Data to be transmitted if selected *data_mode* is *INLINEMSG*.
Data to be transmitted if selected *data_mode* is *TEXT*.
Data to be transmitted if selected *data_mode* is *RAW*.
Reply sent in response to a communications request.
The meaning of this field depends on the operation and is
explained in the operation's description.
Request SMS Text sending.
Recipient identifier (number or name).
Period of time to send message (in seconds).
Reply sent in response to a SMS sending request.
Error description.
Reports VTOL current state.
Vehicle is not configured as VTOL.Vehicle is in transition from multicopter to fixed-wing.Vehicle is in transition from fixed-wing to multicopter.Vehicle is in multicopter state.Vehicle is in fixed-wing state.
Reports if motors are currently armed or disarmed.
Request data to be sent over a TCP connection
Recipient identifier (number or name).
Period of time to send message (in seconds).
IMC message to be transmitted .
Reply sent in response to a TCP sending request.
Error description.
This message is represents an Asset position / status.
The human readable name of the asset.
Time in seconds since epoch, for the generation instant.
Stops any executing actions and put the system in a standby mode.
Identity and description of a plan's general parameters,
associated with plan loading (i.e. load plan command in
*PlanCommand*).
A plan specification is defined by a plan identifier, a set of
maneuver specifications and a start maneuver from that set.
See the :ref:`PlanManeuver` message for details on maneuver
specification.
The plan's identifier.
Verbose text description of plan.
Namespace for plan variables.
Plan variables.
Indicates the id of the starting maneuver for this plan.
List of maneuver specifications.
List of maneuver specifications.
Contains an optionally defined 'MessageList' for actions fired
on plan activation.
Contains an optionally defined 'MessageList' for actions fired
on plan termination.
Named plan maneuver.
The maneuver ID.
The maneuver specification.
Contains an optionally defined 'MessageList' for actions fired
on plan activation.
Contains an optionally defined 'MessageList' for actions fired
on plan termination.
Describes a plan transition within a plan specification. A
transition states the vehicle conditions that must be met to
signal the transition, the maneuver that should be started as a
result, and an optional set of actions triggered by the
transition.
Comma separated list of maneuver IDs, or the special value '.'
to identify a global plan transition.
Target maneuver name.
If it equals the special value '_done_' then plan should
terminate with a success status.
If it equals the special value '_error_' then the plan should
terminate with an error status.
Comma separated list of conditions for transition. Each
condition identifier corresponds to a known predicate which is
interpreted and tested internally by the vehicle.
Messages processed when the transition is triggered.
Request/reply to plan database.
Indicates if the message is a request, or a reply to a
previous request.
Indicates the operation affecting the DB.
The operation may relate to a single plan or the entire plan DB.
For each request, a plan DB may reply with any number of 'in progress'
replies followed by a success or a failure reply.
The 'op', 'request_id' and 'plan_id' fields of a request will be echoed
in one or more responses to that request.
The operation at stake also determines a certain type of the 'arg' field,
and whether or not the 'plan_id' field needs to be set.
Set a plan in the DB. The 'plan_id' field identifies the
plan, and a pre-existing plan with the same identifier, if
any will be overwritten. For requests, the 'arg' field must
contain a 'PlanSpecification' message.
Delete a plan from the DB. The 'plan_id' field identifies
the plan to delete.
Get a plan stored in the DB.The 'plan_id' field identifies
the plan. Successful replies will yield a
'PlanSpecification' message in the 'arg' field.
Get DB state for a stored plan. The 'plan_id' field
identifies the plan. Successful replies will yield a
'PlanDBInformation' message in the 'arg' field.
Clear the entire DB.
Get state of the entire DB. Successful replies will yield a
'PlanDBState' message in the 'arg' field but without
individual plan information (in the 'plans_info' field of
'PlanDBState').
Get detailed state of the entire DB. Successful replies
will yield a 'PlanDBState' message in the 'arg' field with
individual plan information (in the 'plans_info' field of
'PlanDBState').
PlanDB replies of this type are sent automatically during
bootstrap.
Request ID. This may be used by interfacing modules,
e.g. using sequence counters, to annotate requests and
appropriately identify replies
Plan identifier for the operation, if one is required.
Request or reply argument.
Human-readable complementary information. For example this
may be used to detail reasons for failure, or to report
in-progress information.
Characterizes the state of the entire plan database.
Number of stored plans.
Size of all plans.The value equals the sum of the IMC payload
sizes for 'PlanSpecification' stored in the DB.
Time of last change (Epoch time).
IMC address for source of last DB change.
IMC node name for source of last DB change.
MD5 database verification code. The MD5 hash sum is computed
over the stream formed by the MD5 of all plans, ordered by
plan id, in compliance with RFC 1321.
Individual information for plans.
Plan identifier.
Plan size. The value equals the IMC message payload of the
associated 'PlanSpecification' message in bytes.
Time of last change to the plan (Epoch time).
IMC address for source of last change to the plan.
IMC node name for source of last change to the plan.
MD5 plan verification code. The value is calculated over the
message payload of the 'PlanSpecification', in compliance with
RFC 1321.
Plan control request/reply.
Indicates if the message is a request or a reply to a
previous request. The *op*, *request_id* and *plan_id* fields
of a request will be echoed in one or more responses to that
request.
Plan control operation.
Start plan identified by *plan_id* field. The command will
try to load the corresponding plan if none is loaded, and in
that case will follow the same discipline as the *LOAD*
command.
If the message in *arg* is a :ref:`Maneuver`, a single-maneuver plan
will be generated and executed.
This will override any current plan being executed.
Stop current plan being executed if any.
Load Plan. If a :ref:`PlanSpecification` is given with the
request in the *data* field, then that plan is used and
stored in the Plan DB. Otherwise, the plan is loaded from
the Plan DB.
Get loaded plan. For a successful reply, the *data* field
will contain the :ref:`PlanSpecification` message that
corresponds to the currently loaded plan.
Request ID. This may be used by interfacing modules e.g. using
sequence counters. to annotate requests and appropriately
identify replies.
The identifier for the plan to be stopped / started / loaded /
retrieved according to the command requested (*op* field).
Perform vehicle calibration.
Execute current plan while ignoring some errors that might be active.
Complementary message argument for requests/replies.
Complementary human-readable information. This is used
in association to replies.
State of plan control.
Describes overall state.
Plan execution is blocked e.g., due to a vehicle error,
or if no plan is loaded.
Ready to start plan execution.
Initializing plan for execution.
Executing plan.
Identifier of plan currently loaded.
Current plan estimated time to completion.
The value will be -1 if the time is unknown or undefined.
Current plan estimated progress in percent.
The value will be negative if unknown or undefined.
Current node ID, when executing a plan.
Type of maneuver being executed (IMC serialization id),
when executing a plan.
Current node estimated time to completion, when executing a plan.
The value will be -1 if the time is unknown or undefined.
Outcome of the last executed plan.
Unknown or not filled.
Last plan execution was successful.
Last plan execution was a failure.
A plan variable.
This message is used to order the generation of plans based on
id and set of parameters.
Generate the plan and store it in the PlanDB.
Generate (storing it in the PlanDB) and execute it immediately.
Request the execution of this command.
Some error has occurred while executing the command. The
error can be found in the 'params' tuplelist (under the
key 'error').
The requested command was executed successfully.
The name of the plan to be generated.
An optional list of parameters to be used by the plan
generation module.
This message defines the formation leader state.
LeaderState is a complete description of the leader state
in terms of parameters such as position, orientation and
velocities at a particular moment in time.
The system position is given by a North-East-Down (NED)
local tangent plane displacement (x, y, z) relative to
an absolute WGS-84 coordinate (latitude, longitude,
height above ellipsoid).
The symbols for position and attitude as well as linear and
angular velocities were chosen according to SNAME's notation (1950).
The body-fixed reference frame and Euler angles are depicted
next:
.. figure:: ../images/euler-lauv.png
:align: center
Euler angles
Name for the formation group.
Action on the formation leader state variables
WGS-84 Latitude.
WGS-84 Longitude.
Height above the WGS-84 ellipsoid.
The North offset of the North/East/Down field with respect to
LLH.
The East offset of the North/East/Down field with respect to
LLH.
The Down offset of the North/East/Down field with respect to
LLH.
The phi Euler angle from the vehicle's attitude.
The theta Euler angle from the vehicle's attitude.
The psi Euler angle from the vehicle's attitude.
Ground Velocity xx axis velocity component.
Ground Velocity yy axis velocity component.
Ground Velocity zz axis velocity component.
The angular velocity over body-fixed xx axis (roll).
The angular velocity over body-fixed yy axis (pitch).
The angular velocity over body-fixed zz axis (yaw).
Stream Velocity xx axis velocity component.
Stream Velocity yy axis velocity component.
Stream Velocity zz axis velocity component.
The name of the plan to be generated.
Type of plan statistics, if they are launched before, during or after the plan execution.
Basic plan, meaning it is Linear, Finite and Noncyclic.
Plan is nonlinear.
Plan is infinite in duration.
Plan is cyclical.
All properties checked.
Maneuver and plan duration statistics in seconds, for example: Total=1000,Goto1=20,Rows=980
Distances travelled in meters in each maneuver and/or total: Total=2000,Rows=1800,Elevator=200
List of components active by plan actions during the plan and time active in seconds: Sidescan=100,Camera Module=150
Amount of fuel spent, in battery percentage, by different parcels (if applicable): Total=35,Hotel=5,Payload=10,Motion=20,IMU=0
A vehicle state that is reported to other consoles (including PDAConsole). Source can be acoustic tracker, SMS, Wi-Fi, etc...
The reported depth. In the case of not knowing the depth 0 will be reported.
Airplanes usually have negative values (por positive altitude).
The phi Euler angle from the vehicle's attitude.The theta Euler angle from the vehicle's attitude.The psi Euler angle from the vehicle's attitude.
The time when the packet was sent, as seen by the packet
dispatcher. The number of seconds is represented in Universal
Coordinated Time (UCT) in seconds since Jan 1, 1970 using IEEE
double precision floating point numbers.
The id of the system whose position is being reported (it can be a vehicle's id, a boat name, etc)
How the position was received/calculated
Whenever the CUCS receives a message from one of the existing sensors (through SMS, ZigBee, Acoustic Comms, ...) it disseminates that info recurring to this message.
An unique string that identifies the sensor. Used mostly for logging/presentation.The class of a sensor tells the type of sensor originating this message. It will determine how the sensor is to be shown and (optionally) how the custom data (tuplelist) is to be interpreted.This message represents a simple map that is transferred between CCU consoles (from Neptus to ACCU)The id of the mapA list of map features.A feature to appear on the mapThe unique identifier for this feature (used as the name for points of interest)The type of featureThese features should appear as a point with a label in the mapThese features should be represented as a filled polygon (no label)These features should be represented as a countoured closed polygon (no fill and no label)These features should be represented as an open polygon (no label)A transponder location in the mapIntended vehicle's starting locationThe offsets reference for this mapThe red component of the color for this pointThe green component of the color for this pointThe blue component of the color for this pointThe enclosing feature definition.This message represents a point in the world.
This message is used to signal events among running CCUs.
This message is sent by the TREX task which gives further information to a TREX instance about connected IMC nodes
The name of the vehicle being controlledA list of Announce messages with last announces heard
This message is sent to TREX to post timeline observations
This message is used to control TREX execution
The id of the goal, if applicable (OP == POST_GOAL || OP == RECALL_GOAL)The goal encoded as XML, if applicable (OP == POST_GOAL)
This message is used to control TREX execution
The id of the goal, if applicable (OP == POST_GOAL || OP == RECALL_GOAL)Goal / observation to post, if applicable (OP == POST_GOAL || OP == POST_TOKEN)Name of this attribute.Lower bound of this interval. Empty text means no bound.Upper bound of this interval. Empty text means no bound.
This message is used for signaling asynchronous events between different (sub) systems.
The name or type of this eventA map with additional event information.State summary for a remote vehicle.WGS-84 Latitude.WGS-84 Longitude.Depth.Speed.Heading.
Target.
Target identifier.
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
Z axis reference. Use z_units to specify whether z represents
depth, altitude or other.
Units of the z reference.
Course Over Ground (true).
Speed Over Ground.
Entity parameter.
Name of the parameter.
Current value of the parameter.
List of entity parameters.
Name of the entity.
List of parameters.
Request creating a new session with this remote peer. Example
session sequence is shown in the following diagram.
.. figure:: ../images/session_sequence.png
:align: center
Session timeout, in seconds. If no messages are received from
the remote peer, the session will be closed after this ammount
of seconds have ellapsed.
Request closing of an ongoing session
Comma-separated list of messages to subscribe. Example:
"EstimatedState,EulerAngles,Temperature"
Message exchanged to prevent a session from timing outMessage transmitted periodically to inform the state of a communication session
Notification of an I/O event.
Event type.
Human-readable error message.
This message shall be sent to acoustic modem drivers to request
transmission of a data frame via the acoustic channel.
A sequence identifier that should be incremented for each
request. This number will then be used to issue transmission
status updates via the message UamTxStatus.
The canonical name of the destination system. If supported, the
special destination 'broadcast' shall be used to dispatch messages
to all nodes.
Transmission flags.
On modems that support it, this flag shall be used to request an
acknowledgment of reception from the receiving node.
On modems that support it, this flag shall be used to delay the
frame transmission until the modem needs to transmit control
data (e.g., acknowledgment of reception, etc).
Ignore safety checks such as "transducer not connected".
The actual data frame to transmit. The data size shall not exceed
the MTU of the acoustic modem.
This message shall be dispatched by acoustic modem drivers each time
a data frame is received over the acoustic channel.
The canonical name of the node that transmitted the data frame. If
this name cannot be resolved the string 'unknown' shall be used.
The canonical name of the destination node of the data frame. If
this name cannot be resolved the string 'unknown' shall be used.
Reception flags.
The data frame was transmitted to an acoustic modem other than
the one the acoustic modem driver is controlling.
The data frame was transmitted using the DELAYED flag.
The actual received data frame.
This message shall be used by acoustic modem drivers to send updates
on the transmission status of data frames.
The sequence identifier of the frame transmission request.
Frame transmission status.
The frame transmission was completed.
The frame transmission failed. The reason for the failure is given in
the field 'error'.
The frame transmission was canceled.
The acoustic modem driver is busy and could not honor the
frame transmission request at the moment.
The canonical name of the destination node could not be
resolved.
The frame transmission is in progress.
The frame transmission request is not valid for this acoustic
modem driver.
The frame transmission request exceeds the MTU of the acoustic
modem.
The message has been sent out.
Message has been acknowledged by the destination.
Transducer not connected to the acoustic modem.
Where applicable this field shall contain a human-readable message
explaining the error.
Acoustic range measurement.
The sequence identifier of the ranging request.
The canonical name of the ranged system.
The actual range. Negative values denote invalid measurements.
Request an acoustic modem driver to measure the distance to another system.
A sequence identifier that should be incremented for each
request. This number will then be used to issue transmission
status updates via the message UamTxStatus.
The canonical name of the target system.
Maximum amount of time to wait for a reply.
Formation controller paramenters, as: trajectory gains, control boundary layer thickness, and formation shape gains.
Action on the vehicle formation control parameters.
Trajectory gain over the vehicle longitudinal direction.
Trajectory gain over the vehicle lateral direction.
Control sliding surface boundary layer thickness.
Formation shape gain (absolute vehicle position tracking).
Leader control importance gain (relative to the sum of every other formation vehicle).
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.
Formation control performance evaluation variables.
Mean position error relative to the formation reference.
Overall minimum distance to any other vehicle in the formation.
Mean minimum distance to any other vehicle in the formation.
Formation controller paramenters, as: trajectory gains,
control boundary layer thickness, and formation shape gains.
Action on the vehicle formation control parameters.
Trajectory gain over the vehicle longitudinal direction.
Trajectory gain over the vehicle lateral direction.
Control sliding surface boundary layer thickness.
Formation shape gain (absolute vehicle position tracking).
Leader control importance gain (relative to the sum of every other formation vehicle).
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.
Switch gain to compensate the worst case of the wind flow acceleration.
Inter-vehicle safety distance.
Distance offset which defines the buffer area beyond the safety distace.
Safety margin to compensate for possible shortfalls from the predicted maximum acceleration that a vehicle can generate.
Maximum predicted longitudinal acceleration a vehicle can generate.
Formation control performance evaluation variables.
Indicates if the message is a request, or a reply to a previous request.
Operation to perform.
Start the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Stop the formation maneuver.
Mean position error relative to the formation reference.
Overall minimum distance to any other vehicle in the formation.
Mean minimum distance to any other vehicle in the formation.
Mean minimum distance to any other vehicle in the formation.
Period over which the evaluation data is averaged.
Formation controller paramenters during the evaluation period.
This message is used to send a fragment of a message. The
fragments are sent in order, and the receiver must reassemble
them in the correct order.
The receiver can use the MessagePartControl message to inform the sender
of the status of the fragment transmission.
This message is used by the receiver of MessageParts messages
to inform the sender of the status of the reception of a message
in fragments.
The sender can then use this information to determine which
fragments were received and which ones were not.
This message is sent in response to a MessagePart message.
The status of the fragment transmission was received.
The sender is requesting retransmission of the fragments.
Comma-separated list of fragment numbers. Example: "1,2,3".
This field is used to inform the sender of the fragments that
should be considered. If this field starts with '!', it means
that the indicated fragments should not be considered. Example:
"!1,2,3" means that all fragments should be considered except
1,2,3. With this field equal to only "!" it means that all
fragments must be considered.
This message signals that an :ref:`Abort` message was received and acted upon.
This message contains information, collected using USBL, about the
bearing and elevation of a target.
Target's IMC address.
Target's bearing.
Target's elevation.
This message contains information, collected using USBL, about a
target's position.
Target's IMC address.
X coordinate of the target in the local device's reference frame.
Y coordinate of the target in the local device's reference frame.
Z coordinate of the target in the local device's reference frame.
This message contains the WGS-84 position of a target computed using
USBL.
Target's IMC address.
WGS-84 Latitude.
WGS-84 Longitude.
Units of the z reference.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Message containing the parameters XML of the source system.
The locale used to produce this parameters XML.
The parameters XML file compressed using the GNU zip (gzip) format.
Request the destination system to send its parameters XML file via a
:ref:`ParametersXml` message.
Message containing the x and y coordinates of object to track in remote peer.
Camera identifier.
X coordinate of the target in the image frame.
Y coordinate of the target in the image frame.
Message containing the x and y coordinates of object to track in image slave.
Camera identifier.
X coordinate of the target in the image frame.
Y coordinate of the target in the image frame.
Message containing the x, y and z coordinates of object in the real world.
True when system is tracking.
Latitude of the real world frame origin.
Longitude of the real world frame origin.
X offsets of the target in the real world frame.
Y offsets of the target in the real world frame.
Z offsets of the target in the real world frame.
This message contains information, collected using USBL, about the
bearing and elevation of a target.
Target's system name.
Target's bearing in the local device's reference frame.
Target's elevation in the local device's reference frame.
Target's bearing in the navigation reference frame.
Target's elevation in the navigation reference frame.
Rotation around the device longitudinal axis.
Rotation around the device lateral or transverse axis.
Rotation around the device vertical axis.
Accuracy of the fix.
This message contains information, collected using USBL, about a
target's position.
Target's system name.
X coordinate of the target in the local device's reference frame.
Y coordinate of the target in the local device's reference frame.
Z coordinate of the target in the local device's reference frame.
X coordinate of the target in the navigation reference frame.
Y coordinate of the target in the navigation reference frame.
Z coordinate of the target in the navigation reference frame.
Rotation around the device longitudinal axis.
Rotation around the device lateral or transverse axis.
Rotation around the device vertical axis.
Accuracy of the position fix.
This message contains the WGS-84 position of a target computed using
USBL.
Target's system name.
WGS-84 Latitude.
WGS-84 Longitude.
Units of the z reference.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Accuracy of the position fix.
Position and configuration of an Ultra-Short Base Line modem.
Name/Label of the acoustic modem.
WGS-84 Latitude coordinate.
WGS-84 Longitude coordinate.
Target reference in the z axis. Use z_units to specify
whether z represents depth, altitude or other.
Units of the z reference.
Ultra-Short Base Line configuration.
Used to define the type of the operation this message holds.
Set the beacons configuration aboard the vehicle.Request the vehicle to send its current beacons configuration.
A list of USBL modem configuration messages.
Dissolved Organic Matter measurement.
Dissolved Organic Matter reading.
Type of measurement.
The optical backscattering coefficient refers to all the photons that have been redirected in the backward directions
when a photon of light propagates in water and interacts with a "particle" (varying from water molecules to fish).
Optical Backscattering Coefficient.
This messages is used to record system activity parameters. These
parameters are mainly used for used for maintenance purposes.
The time when the last service was performed. The number of
seconds is represented in Universal Coordinated Time (UCT) in
seconds since Jan 1, 1970.
Amount of time until the next recommended service.
Amount of time the motor can run until the next recommended service.
Amount of time the system spent idle on the ground.
Amount of time the system spent idle in the air.
Amount of time the system spent idle on the water (not submerged).
Amount of time the system spent idle underwater.
Amount of time the system spent idle in an unknown medium.
Amount of time the system spent on the ground with the motor running.
Amount of time the system spent in the air with the motor running.
Amount of time the system spent on the water (not submerged) with the motor running.
Amount of time the system spent underwater with the motor running.
Amount of time the system spent in an unknown medium with the motor running.
The minimum recorded RPM value.
The maximum recorded RPM value.
The maximum recorded depth value.
StatusText message from ardupilot.
Severity of status.
Status text message.
Readings from SADC board.
Channel of SADC to read.
Value raw of sadc channel.
Gain value of readings.
Presence of DMS (Dimethyl Sulphide).
If the value of the channel is greater than zero, it means DMS was detected.
Vehicle Home Position.
Action on the vehicle home
WGS-84 Latitude.
WGS-84 Longitude.
Height above the WGS-84 ellipsoid.
Depth, in meters. To be used by underwater vehicles. Negative
values denote invalid estimates.
Altitude, in meters. Negative values denote invalid estimates.
Measurement of absolute wind speed (Meaning without vehicle effects).
Direction of the measured wind speed.
The value of the wind speed as measured by the sensor.
Wind turbulence intensity.
Message containing static or dynamic AIS data received onboard the vehicle.
Integer indicating the message type: 1,2,3,5, ...
The class of a sensor tells the type of sensor originating this message. It will determine how the sensor is to be shown and (optionally) how the custom data (tuplelist) is to be interpreted.
An unique string that identifies the sensor/vessel.
Distance to own vehicle.
Size of the vehicle (length = A + B, width = C + D)
Contains information as extracted from a digital S-57 chart.
This can be: location of static objects (buoys, beacons, etc), location and depth of depth contours,
location and depth of any other location contained in the chart.
For reference see Supervisors/Grounding.
Example: "lat=63.46869;lon=10.37790;d=-10"
Example: "lat=63.46869;lon=10.37790"
Component of incremetal position vector over a period of time.
The device time.
X component.
Y component.
Z component.
Contains a profile of water velocities measured relative to the vehicle
velocity, represented in the specified coordinate system.
Number of ADCP beams.
Number of ADCP cells.
Coordinate system of the velocity measurement.
List of current profile measurement cells.
One Current measurement at a specific CellPosition.
Distance of each measurment cell along the Z-axis in the coordintate frame.
List of beams measurements at the current cell level.
Measurement from one specific beam at the given CellPosition.
Water Velocity is provided in the chosen Coordinate system.
Amplitude and Correlation are always in the BEAM coordinate system.
Water velocity measured in the chosen coordinate system.
Amplitude of returning ping for the beam.
Autocorrelation of returning ping for the beam.
Frequency value.
This message reports various parameters related to ocean wave characteristics, including height, direction, and period.
The average height of the highest one-third of waves in a wave spectrum, representing overall sea state.
The dominant direction from which waves are propagating at their peak energy level.
The time interval between successive wave crests at the peak energy level.
The significant wave height generated by wind-driven waves.
The significant wave height attributed to long-period swells.
The dominant period of wind-generated waves.
The dominant period of long-period swells.
The primary direction of wind-generated waves.
The primary direction of swell waves.
The average direction of all waves in the wave spectrum.
The mean period of ocean waves based on the spectral moment calculation.
The maximum wave height observed in a given period.
The height of the highest point of a wave above the mean water level.
The depth of the lowest point of a wave below the mean water level.
The longest observed wave period within a given time frame.
The mean zero-crossing period of waves, an indicator of average wave duration.
The mean height of the highest one-third of measured waves, commonly used to describe sea conditions.
The average angular dispersion of wave energy across different directions.
The first-order measure of directional wave spreading.
A parameter indicating the degree to which waves are long-crested or short-crested.
The vessel’s orientation relative to true north.
The angular motion of the vessel along its transverse axis.
The angular motion of the vessel along its longitudinal axis.
The heading measurement obtained from an external source, such as a GPS compass.
The standard deviation of heading measurements, indicating heading stability.
The standard deviation of pitch measurements, indicating variability in vessel movement.
The standard deviation of roll measurements, indicating fluctuations in vessel roll motion.
Current state of a GPIO.
GPIO Name.
Logical level of the GPIO.
Request the state of a given GPIO. The receiving entity shall reply
with a GpioState message.
GPIO Name.
Set the state of a given GPIO. The receiving entity shall reply
with a GpioState message.
GPIO Name.
Logical level of the GPIO.
Colored Dissolved Organic Matter measurement.
Colored Dissolved Organic Matter reading.
Fluorescent Dissolved Organic Matter measurement.
Fluorescent Dissolved Organic Matter reading.
Total Magnetic Field Intensity (TMI)This message is used to restrict the vehicle from using some communication means.The restricted communication means.Textual description for why this restriction is needed.This message can be used to query/report the entities and respective parameters in the system
Operation to perform.
Echoes the request_id in the requestEntity Label of the task that's replying to the request
Contains an optionally defined List of TypedEntityParameter as a response to a TypedEntityParamaters Request.
Additionally, if the entity has a custom editor, this message will contain the information to load it with a
single TypedEntityParameterOptions message in the list.
Entity parameter with all the data that defines an entity parameter.
Name of the parameter.
Default value of the parameter.
The units of the field, if applicable
Description of the parameter
Comma-separated list of possible values
Optional. Min value of the parameter
Optional. Max value of the parameter
When the parameter is a list, list_min_size indicates the minimum size of the list
When the parameter is a list, list_max_size indicates the maximum size of the list
A list of ValuesIf messages
Parameter is visible and editable by the user.
Parameter is visible and editable by the user bu in developer view.
The same as for User, but the parameter is not editable.
The same as for Developer, but the parameter is not editable.
This message is used to describe the ValuesIf content of a TypedEntityParameter.Name of parameter to compareValue to compareList of possible values if param=value
This message is used to query / report version information related to an entity.
Operation to perform.
Report the entity list.
Request the entity list.
Version of the entity.
Description of the entity.
This message is used to report the cumulative heading value.
Cumulative heading value, in radians.
This message is used to describe the ValuesIf content of a TypedEntityParameter.
String name of the editor to be used for this entity parameters.
This value is advisory only. The receiving end should try to honor it,
for the edition respect more complicated logic that Values-If can provide.