RobotSystem-Lite
|
RobotSystem-Lite clients request/receive interface. More...
Go to the source code of this file.
Macros | |
#define | DOF_DATA_BLOCK_SIZE DOF_FLOATS_NUMBER * sizeof(float) |
Size in bytes of all floating-point values for a single DoF update message. | |
Enumerations | |
enum | RobotDoFVariable { DOF_POSITION , DOF_VELOCITY , DOF_FORCE , DOF_ACCELERATION , DOF_INERTIA , DOF_DAMPING , DOF_STIFFNESS , DOF_FLOATS_NUMBER } |
Enumeration of floating-point values for a single DoF update message. | |
RobotSystem-Lite clients request/receive interface.
Messages transporting online update values for robot DoFs (axes or joints) control variables should arrive as quickly as possible, and there is no advantage in resending lost packets, as their validity is short in time. Thereby, these messages are exchanged with RobotSystem-Lite through lower-latency UDP sockets, on port 50001 for axes and 50002 for joints. Measurements for both axes and joints go from the main application to its clients, axes setpoints go in the opposite direction. Messages consist of byte and single precision floating-point arrays (to prevent string parsing overhead), with data organized like:
DoFs number | Index 1 | Position | Velocity | Force | Acceleration | Inertia | Damping | Stiffness | Index 2 | ... |
---|---|---|---|---|---|---|---|---|---|---|
1 byte | 1 byte | 4 bytes | 4 bytes | 4 bytes | 4 bytes | 4 bytes | 4 bytes | 4 bytes | 1 byte | ... |