SAFETY_ZONE_SHAPE
This structure defines the core geometric description of a safety zone, including its coordinate reference, shape type, dimensions, and boundary configuration. It serves as a wrapper structure that combines metadata (type, coordinate, margin, etc.) with the actual geometric data (SAFETY_ZONE_SHAPE_DATA).
BYTE# |
Field Name |
Data Type |
Value |
Remarks |
|---|---|---|---|---|
0 |
|
|
0, 2 |
Coordinate system used for the safety zone |
1 |
|
|
0~5 |
Geometry type of the safety zone |
2 |
|
Union structure containing the geometric parameters of the safety zone. |
||
122 |
|
|
± value |
Margin offset for the zone boundary |
126 |
|
|
0 or 1 |
Defines whether the valid safety space is inside (0) or outside (1) the shape boundary. |
127 |
|
|
Reserved bytes for future extension and alignment. |
Total size: 140 bytes
Defined in: DRFS.h
typedef struct _SAFETY_ZONE_SHAPE
{
/* coordinate reference: 0(base), 2(world) */
unsigned char _iCoordinate;
/* geometry object type:
0(Sphere), 1(Cylinder), 2(Cuboid),
3(Tilted Cuboid), 4(Multi-Plane), 5(Capsule) */
unsigned char _iShapeType;
/* geometry object data */
SAFETY_ZONE_SHAPE_DATA _tShapeData;
/* positive: expand, negative: shrink */
float _fMargin;
/* valid space (0: inside, 1: outside) */
unsigned char _iValidSpace;
/* reserved for future use */
unsigned char _iReserved[13];
} SAFETY_ZONE_SHAPE, *LPSAFETY_ZONE_SHAPE;
Note
The _tShapeData field uses a union to represent multiple shape types within a single memory layout.
_fMarginenables fine-tuning of safety boundaries for precision applications._iValidSpacedistinguishes whether the robot should operate inside or outside the defined geometry.