Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"
From NAMIC Wiki
(48 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[OpenIGTLink/ProtocolV2/ | + | [[OpenIGTLink/ProtocolV2/Index | << Version 2 Index Page]] |
=Summary= | =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= | =Message Types= | ||
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" | | + | | align="left" | STATUS |
− | + | | align="left" | uint8 | |
− | + | | align="left" | Sensor status (Reserved) | |
− | |||
− | |||
− | | align="left" | uint8 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | align="left" | | ||
− | |||
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | UNIT |
− | | align="left" | | + | | align="left" | uint64 |
− | | align="left" | | + | | 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
− | ==== | + | ===Examples=== |
+ | ====Sending 3-axis troque==== | ||
+ | A device with 3-axis torque (N*m) sensor is sending data to a data logger program. The following table shows example data format to send 3-axis torque: | ||
+ | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Data |
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Type |
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Value |
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | LARRAY |
− | | align="left" | | + | | align="left" | uint8 |
− | | align="left" | | + | | align="left" | 3 |
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | STATUS |
− | | align="left" | | + | | align="left" | uint8 |
− | | align="left" | | + | | align="left" | 0 |
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | UNIT |
− | | align="left" | | + | | align="left" | uint64 |
− | | align="left" | | + | | align="left" | 00000010 11000000 00010000 00000000 00000000 00000000 00000000 00000000 |
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | DATA |
− | | align="left" | | + | | align="left" | double[3] |
− | | align="left" | | + | | align="left" | {0.0, 0.0, 0.0} |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | ==== | + | ====Sending 3-axis force, troque and acceleration==== |
− | + | By binding SENSOR data using BIND type, values from multiple types of sensors can be transferred simultaneously. See [[OpenIGTLink/ProtocolV2/Type/Bind|BIND message description page]] for detail. | |
− | + | ==GET_SENSOR== | |
− | |||
− | |||
− | |||
− | |||
− | ==== | ||
− | |||
− | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
− | | align="left | + | | align="left style="background:#e0e0e0;" | Data |
− | + | | align="left style="background:#e0e0e0;" | Type | |
− | | align="left | + | | align="left style="background:#e0e0e0;" | Description |
− | | align="left | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | + | ==STT_SENSOR== | |
+ | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Data |
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Type |
− | | align="left" style="background:# | + | | align="left" style="background:#e0e0e0;" | Description |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} | ||
− | + | <center> or </center> | |
− | + | ||
− | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
| align="left" style="background:#e0e0e0;" | Data | | align="left" style="background:#e0e0e0;" | Data | ||
| align="left" style="background:#e0e0e0;" | Type | | align="left" style="background:#e0e0e0;" | Type | ||
− | | align="left" style="background:#e0e0e0;" | | + | | align="left" style="background:#e0e0e0;" | Description |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" | RESOL |
− | | align="left" | | + | | align="left" | uint64 |
− | | align="left" | | + | | align="left" | Minimum interval between message (ns). Same format as [[OpenIGTLink/Timestamp|TimeStamp]] |
|- | |- | ||
|} | |} | ||
− | == | + | ==STP_SENSOR== |
+ | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
Line 349: | Line 107: | ||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==RTS_SENSOR== | ==RTS_SENSOR== | ||
− | + | {| border="1" cellpadding="5" cellspacing="0" align="center" | |
+ | |- | ||
+ | | align="left style="background:#e0e0e0;" | Data | ||
+ | | align="left style="background:#e0e0e0;" | Type | ||
+ | | align="left style="background:#e0e0e0;" | Description | ||
+ | |- | ||
+ | | align="left" | Status | ||
+ | | align="left" | 8 bit unsigned | ||
+ | | align="left" | 0: Success 1: Error | ||
+ | |- | ||
+ | |} | ||
=Implementations= | =Implementations= |
Latest revision as of 04:44, 30 November 2011
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) |
STATUS | uint8 | Sensor status (Reserved) |
UNIT | uint64 | See 64-bit UNIT field. |
DATA | float64[LARRAY] | value array for sensor 0 |
Examples
Sending 3-axis troque
A device with 3-axis torque (N*m) sensor is sending data to a data logger program. The following table shows example data format to send 3-axis torque:
Data | Type | Value |
LARRAY | uint8 | 3 |
STATUS | uint8 | 0 |
UNIT | uint64 | 00000010 11000000 00010000 00000000 00000000 00000000 00000000 00000000 |
DATA | double[3] | {0.0, 0.0, 0.0} |
Sending 3-axis force, troque and acceleration
By binding SENSOR data using BIND type, values from multiple types of sensors can be transferred simultaneously. See BIND message description page for detail.
GET_SENSOR
Data | Type | Description |
STT_SENSOR
Data | Type | Description |
Data | Type | Description |
RESOL | uint64 | Minimum interval between message (ns). Same format as TimeStamp |
STP_SENSOR
Data | Type | Description |
RTS_SENSOR
Data | Type | Description |
Status | 8 bit unsigned | 0: Success 1: Error |
Implementations
The TDATA message type is implemented in the following source code.
Contributors
Junichi Tokuda, Yuichiro Hayashi