Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"

From NAMIC Wiki
Jump to: navigation, search
Line 13: Line 13:
 
| align="left" style="background:#e0e0e0;" | Description
 
| align="left" style="background:#e0e0e0;" | Description
 
|-
 
|-
| align="left" | NSENSORS
+
| align="left" | LARRAY
| align="left" | uint16
 
| align="left" | Number of sensors
 
|-
 
| colspan=3 align="left" style="background:#e0e0e0;" |FORMAT 0
 
|-
 
| align="left" | LARRAY 0
 
 
| align="left" | uint8
 
| align="left" | uint8
 
| align="left" | Length of array (0-255)
 
| align="left" | Length of array (0-255)
 
|-
 
|-
| align="left" | UNIT 0
+
| 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" | NAMELEN 0
+
| align="left" | DATA
| align="left" | uint8
+
| align="left" | float64[LARRAY]
| align="left" | Name length
 
|-
 
| colspan=3 align="left" style="background:#f0f0f0;"|...
 
|-
 
| colspan=3 align="left" style="background:#e0e0e0;" |FORMAT (NSENSORS-1)
 
|-
 
| align="left" | LARRAY (NSENSORS-1)
 
| align="left" | int8
 
| align="left" | Length of array (0-255)
 
|-
 
| align="left" | UNIT (NSENSORS-1)
 
| align="left" | int64
 
| align="left" | see [[OpenIGTLink/ProtocolV2/Unit| 64-bit UNIT field]].
 
|-
 
| align="left" | NAMELEN (NSENSORS-1)
 
| align="left" | uint8
 
| align="left" | Name length
 
|-
 
| colspan=3 align="left" style="background:#e0e0e0;" |NAME Table
 
|-
 
| align="left" | NAME 0
 
| align="left" | char[NAMELEN]
 
| align="left" | Name
 
|-
 
| colspan=3 align="left" style="background:#f0f0f0;"|...
 
|-
 
| align="left" | NAME (NSENSORS-1)
 
| align="left" | char[NAMELEN (NSENSORS-1)]
 
| align="left" | Name
 
|-
 
| align="left" | Padding*
 
| align="left" | uint8 or none
 
| align="left" | padding to align DATA with WORD
 
|-
 
| colspan=3 align="left" style="background:#e0e0e0;" |DATA
 
|-
 
| align="left" | DATA 0
 
| align="left" | float64[LARRAY 0]
 
 
| align="left" | value array for sensor 0
 
| align="left" | value array for sensor 0
|-
 
| align="left" | DATA 1
 
| align="left" | float64[LARRAY 1]
 
| align="left" | value array for sensor 1
 
|-
 
| colspan=3 align="left" style="background:#f0f0f0;"|...
 
|-
 
| align="left" | DATA (NSENSORS-1)
 
| align="left" | float64[LARRAY (NSENSORS-1)]
 
| align="left" | value array for sensor (NSENSORS-1)
 
 
|-
 
|-
 
|}
 
|}

Revision as of 22:27, 23 November 2010

Home < OpenIGTLink < ProtocolV2 < Type < SensorData

<< Version 2 Draft Page

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

Comments