Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"
From NAMIC Wiki
| Line 87: | Line 87: | ||
===Examples=== | ===Examples=== | ||
====Sending 3-axis position==== | ====Sending 3-axis position==== | ||
| − | A device with 3-axis force (N), 3-axis torque (N*m) and 3-axis acceleration ( | + | 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: |
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Revision as of 05:33, 17 November 2010
Home < OpenIGTLink < ProtocolV2 < Type < SensorDataContents
Summary
SDATA 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 |
| NSENSORS | uint16 | Number of sensors |
| FORMAT 0 | ||
| LARRAY 0 | uint8 | Length of array (0-255) |
| UNIT 0 | uint64 | See 64-bit UNIT field. |
| NAMELEN 0 | uint8 | Name length |
| ... | ||
| FORMAT (NSENSORS-1) | ||
| LARRAY (NSENSORS-1) | int8 | Length of array (0-255) |
| UNIT (NSENSORS-1) | int64 | see 64-bit UNIT field. |
| NAMELEN (NSENSORS-1) | uint8 | Name length |
| NAME Table | ||
| NAME 0 | char[NAMELEN] | Name |
| ... | ||
| NAME (NSENSORS-1) | char[NAMELEN (NSENSORS-1)] | Name |
| Padding* | uint8 or none | padding to align DATA with WORD |
| DATA | ||
| DATA 0 | float64[LARRAY 0] | value array for sensor 0 |
| DATA 1 | float64[LARRAY 1] | value array for sensor 1 |
| ... | ||
| DATA (NSENSORS-1) | float64[LARRAY (NSENSORS-1)] | value array for sensor (NSENSORS-1) |
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 | 0x08 0x03 0x00 0x00 0x00 0x00 (m/s^2) |
| 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