Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"
From NAMIC Wiki
Line 13: | Line 13: | ||
| align="left" style="background:#e0e0e0;" | Description | | align="left" style="background:#e0e0e0;" | Description | ||
|- | |- | ||
− | + | | align="left" | LARRAY | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | | align="left" | LARRAY | ||
| align="left" | uint8 | | align="left" | uint8 | ||
| align="left" | Length of array (0-255) | | align="left" | Length of array (0-255) | ||
|- | |- | ||
− | | align="left" | UNIT | + | | align="left" | UNIT |
| align="left" | uint64 | | align="left" | uint64 | ||
| align="left" | See [[OpenIGTLink/ProtocolV2/Unit| 64-bit UNIT field]]. | | align="left" | See [[OpenIGTLink/ProtocolV2/Unit| 64-bit UNIT field]]. | ||
|- | |- | ||
− | + | | align="left" | DATA | |
− | + | | align="left" | float64[LARRAY] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | align="left" | DATA | ||
− | | align="left" | float64[LARRAY | ||
| align="left" | value array for sensor 0 | | align="left" | value array for sensor 0 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} |
Revision as of 22:27, 23 November 2010
Home < OpenIGTLink < ProtocolV2 < Type < SensorDataContents
Summary
SENSOR is a message type, which is used to transfer sensor reading, 3-axis position, velocity, acceleration, angle, angle velocity and angle acceleration. The message format is intended for manipulator control and various types of sensors.
Message Types
SENSOR
Data | Type | Description |
LARRAY | uint8 | Length of array (0-255) |
UNIT | uint64 | See 64-bit UNIT field. |
DATA | float64[LARRAY] | value array for sensor 0 |
In C/C++, the size of padding is determined by:
((NAMELEN0 + NAMELEN1 + ... ) % 2 == 0) ? 0 : 1
Examples
Sending 3-axis position
A device with 3-axis force (N), 3-axis torque (N*m) and 3-axis acceleration (m/s^2) sensors is sending data to a data logger program. The names of the sensors are "FORCE", "TORQUE", and "ACCEL." The message structure may be as follows:
Data | Type | Value |
NSENSORS | uint16 | 3 |
LARRAY 0 | uint8 | 3 |
UNIT 0 | uint64 | 00000010 11000000 00000000 00000000 00000000 00000000 00000000 00000000 |
NAMELEN0 | int8 | 5 |
LARRAY 1 | uint8 | 3 |
UNIT1 | uint64 | 00000010 11000000 00010000 00000000 00000000 00000000 00000000 00000000 |
NAMELEN1 | int8 | 6 |
LARRAY 2 | uint8 | 3 |
UNIT 2 | uint64 | 00000000 01000000 00111101 00000000 00000000 00000000 00000000 00000000 |
NAMELEN2 | int8 | 5 |
NAME 0 | char[5] | "FORCE" |
NAME 1 | char[6] | "TORQUE" |
NAME 2 | char[5] | "ACCEL" |
DATA 0 | double[3] | {0.0, 0.0, 0.0} |
DATA 1 | double[3] | {0.0, 0.0, 0.0} |
DATA 2 | double[3] | {0.0, 0.0, 0.0} |
GET_SENSOR
Data | Type | Description |
STT_SENSOR
N/A
STP_SENSOR
N/A
RTS_SENSOR
N/A
Implementations
The TDATA message type is implemented in the following source code.
Contributors
Junichi Tokuda, Yuichiro Hayashi