Skip to content

0x0426 - SetLocalLoiter

Description

This message is used to command the vehicle to loiter about a desired position in the local reference frame. Note that in some applications, particularly air and undersea, position may be a mix of local coordinates for XY position and absolute coordinates for Z/altitude/depth. This only applies if the Z axis for the vehicle coordinate frame is aligned with a vertical axis, e.g. a vector orthogonal to the ground plane. In all other cases, implementations must use Zlocal reporting only. For example, a UUV launched from a USV may need to navigate using local X/Y coordinates based on its launch point (using dead reckoning from its IMU) but rely on direct readings that do not suffer from drift for its Depth and/or Altitude ASF. All times are in Coordinated Universal Time (UTC).

LocalLoiterSpecification

Type: Sequence

Field # Field Name Type Optional Interpretation
1 LocalLoiterRec LocalLoiterRec false
2 Loiter Loiter false

LocalLoiterRec

Type: Record

Field # Field Name Type Units Optional Interpretation
1 PresenceVector uint8
2 X false
3 Y false
4 ZPosition true

Loiter

Type: Variant

Index Type
0 HoverRec
1 PolygonRec
2 RaceTrackRec

HoverRec

Type: Record

Field # Field Name Type Units Optional Interpretation
1 HoverPreference uint8 one false
2 XYTolerance uint32 meter false
3 ZTolerance uint32 meter false

PolygonRec

Type: Record

Field # Field Name Type Units Optional Interpretation
1 NumberLoiterVertices uint8 one false Number of vertices in loiter convex, regular polygon 0 and 1 are a circular loiter; 2 forms a linear loiter
2 XYExtent uint32 meter false Distance from loiter reference position to polygon vertices
3 LoiterDirection uint8 one false
4 LoiterBearing uint16 radian false Angular offset from the X-axis in a right-hand sense about Z-axis from the loiter point to the first vertex of the polygon; a value of zero for a 4-vertex polygon would create a diamond while a value of PI/4 would create a square with respect to the local coordinate system.

RaceTrackRec

Type: Record

Field # Field Name Type Units Optional Interpretation
1 LoiterType uint8 one false
2 LoiterRadius uint32 meter false Width (smaller distance) of racetrack or figure 8
3 LoiterLength uint32 meter false Length (larger distance) of racetrack or figure 8
4 LoiterDirection uint8 one false
5 LoiterBearing uint16 radian false Angular offset of the length axis from the X-axis in a right-hand sense about Z-axis; a value of zero would align the “LoiterLength” with the X-axis while a value of PI/2 would align it with the Y-axis.