For information on the latest version, please have a look at GL013301.
POSITION_EX
This structure defines an extended robot position representation that supports both joint space (posj) and task space (posx) formats. It extends the standard position structure by adding orientation type, solution space, and multi-turn information for advanced kinematic representation.
BYTE# |
Field Name |
Data Type |
Value |
Remarks |
|---|---|---|---|---|
0 |
|
|
[deg] |
Joint position data for all robot joints |
0 |
|
|
[mm, deg] |
Cartesian task position (X, Y, Z, Rx, Ry, Rz, …) |
24 |
|
|
0-5 |
Orientation type |
25 |
|
|
0-7, 255 |
Solution space configuration |
26 |
|
|
0-255 |
Multi-turn joint setting (255 = automatic) |
27 |
|
|
Position type indicator |
Total size: 28 bytes
Defined in: DRFS.h
typedef struct _POSITION_EX
{
union {
/* Joint-space position (posj) */
struct {
float _pos[NUMBER_OF_JOINT]; /* Joint position [deg] */
} _posj;
/* Task-space position (posx) */
struct {
float _pos[NUMBER_OF_TASK_EX]; /* Task position [mm, deg] */
unsigned char _ori_type; /* 0: ZYZ, 1: ZYX, 2: XYZ, 3: Fixed XYZ, 4: Axis-Angle, 5: Quaternion */
unsigned char _sol_space; /* 0~7: fixed, 255: auto */
unsigned char _multi_turn; /* 255: auto */
} _posx;
};
unsigned char _pos_type; /* Position type (0: posx, 1: posj) */
} POSITION_EX, *LPPOSITION_EX; // SUPPORT_ORIENTATION_TYPE
typedef POSITION_EX CONFIG_TCP_EX, *LPCONFIG_TCP_EX; // SUPPORT_ORIENTATION_TYPE