Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"
From NAMIC Wiki
(83 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= | ||
− | == | + | ==SENSOR== |
{| 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;" | Description | + | | align="left" style="background:#e0e0e0;" | Description |
|- | |- | ||
− | | align="left" | | + | | align="left" | LARRAY |
− | | align="left" | | + | | align="left" | uint8 |
− | | align="left" | | + | | align="left" | Length of array (0-255) |
|- | |- | ||
− | | align="left" | | + | | align="left" | STATUS |
− | | align="left" | | + | | align="left" | uint8 |
− | | align="left" | | + | | align="left" | Sensor status (Reserved) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | align="left" | UNIT |
+ | | align="left" | uint64 | ||
+ | | align="left" | See [[OpenIGTLink/ProtocolV2/Unit| 64-bit UNIT field]]. | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | DATA |
− | | align="left" | | + | | align="left" | float64[LARRAY] |
− | | align="left" | | + | | 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" | ||
|- | |- | ||
− | | align="left" | | + | | align="left" style="background:#e0e0e0;" | Data |
− | | align="left" | | + | | align="left" style="background:#e0e0e0;" | Type |
− | | align="left" | | + | | 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" | ||
|- | |- | ||
− | | align="left" | | + | | align="left style="background:#e0e0e0;" | Data |
− | | align="left" | | + | | align="left style="background:#e0e0e0;" | Type |
− | | align="left" | | + | | align="left style="background:#e0e0e0;" | Description |
|- | |- | ||
− | | | + | |} |
− | + | ||
− | + | ==STT_SENSOR== | |
− | + | ||
− | + | {| border="1" cellpadding="5" cellspacing="0" align="center" | |
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | align="left" | | + | | align="left" style="background:#e0e0e0;" | Data |
− | | align="left" | | + | | align="left" style="background:#e0e0e0;" | Type |
− | | align="left" | | + | | 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;" | Description | + | | align="left" style="background:#e0e0e0;" | Description |
+ | |- | ||
+ | | align="left" | RESOL | ||
+ | | align="left" | uint64 | ||
+ | | 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 166: | Line 108: | ||
|} | |} | ||
− | == | + | ==RTS_SENSOR== |
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
Line 173: | Line 115: | ||
| align="left style="background:#e0e0e0;" | Type | | align="left style="background:#e0e0e0;" | Type | ||
| align="left style="background:#e0e0e0;" | Description | | align="left style="background:#e0e0e0;" | Description | ||
+ | |- | ||
+ | | align="left" | Status | ||
+ | | align="left" | 8 bit unsigned | ||
+ | | align="left" | 0: Success 1: Error | ||
|- | |- | ||
|} | |} | ||
− | |||
− | |||
− | |||
=Implementations= | =Implementations= | ||
The TDATA message type is implemented in the following source code. | The TDATA message type is implemented in the following source code. | ||
<!-- | <!-- | ||
− | *[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/ | + | *[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlSensorMessage.h igtlSensorMessage.h] |
− | *[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/ | + | *[http://svn.na-mic.org/NAMICSandBox/trunk/OpenIGTLink/Source/igtlSensorMessage.cxx igtlSensorMessage.cxx] |
--> | --> | ||
=Contributors= | =Contributors= | ||
− | + | Junichi Tokuda, Yuichiro Hayashi | |
=Comments= | =Comments= | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
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