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
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. |