Difference between revisions of "OpenIGTLink/ProtocolV2/Type/SensorData"
Line 86: | Line 86: | ||
| align="left" style="background:#eeeeee;" | SI-prefix | | align="left" style="background:#eeeeee;" | SI-prefix | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x0 |
+ | | align="left" | None | ||
+ | | align="left" | -- | ||
+ | | align="left" |-- | ||
+ | |- | ||
+ | | align="left" | 0x1 | ||
| align="left" | deka (deca) (1e1) | | align="left" | deka (deca) (1e1) | ||
− | | align="left" | | + | | align="left" | 0x9 |
| align="left" | deci (1e-1) | | align="left" | deci (1e-1) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x2 |
| align="left" | hecto (1e2) | | align="left" | hecto (1e2) | ||
− | | align="left" | | + | | align="left" | 0xA |
| align="left" | centi (1e-2) | | align="left" | centi (1e-2) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x3 |
| align="left" | kilo (1e3) | | align="left" | kilo (1e3) | ||
− | | align="left" | | + | | align="left" | 0xB |
| align="left" | milli (1e-3) | | align="left" | milli (1e-3) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x4 |
| align="left" | mega (1e6) | | align="left" | mega (1e6) | ||
− | | align="left" | | + | | align="left" | 0xC |
| align="left" | micro (1e-6) | | align="left" | micro (1e-6) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x5 |
| align="left" | giga (1e9) | | align="left" | giga (1e9) | ||
− | | align="left" | | + | | align="left" | 0XD |
| align="left" | nano (1e-9) | | align="left" | nano (1e-9) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x6 |
| align="left" | tera (1e12) | | align="left" | tera (1e12) | ||
− | | align="left" | | + | | align="left" | 0XE |
| align="left" | pico (1e-12) | | align="left" | pico (1e-12) | ||
|- | |- | ||
− | | align="left" | | + | | align="left" | 0x7 |
| align="left" | peta (1e15) | | align="left" | peta (1e15) | ||
− | | align="left" | | + | | align="left" | 0XF |
| align="left" | femto (1e-15) | | align="left" | femto (1e-15) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|} | |} |
Revision as of 04:15, 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 | uint16 | Length of array (0-255) |
UNIT 0 | int64 | See bellow |
NAME 0 | char[20] | Name |
... | ||
FORMAT (NSENSORS-1) | ||
LARRAY (NSENSORS-1) | int8 | Length of array (0-255) |
UNIT (NSENSORS-1) | int64 | see bellow |
NAME (NSENSORS-1) | char[20] | Name |
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) |
Definition of UNIT field
UNIT is a 64-bit field to specify a unit consisting of SI-prefix (e.g. milli, micro, kilo etc...) and combination of SI-base and/or SI-derived unites.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-... |PREFIX | UNIT0 | EXP0 | UNIT1 | EXP1 | UNIT2 | EXP2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-... 0 1 2 3 4 ...-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ EXP2 | UNIT3 | EXP3 | UNIT4 | EXP4 | UNIT5 | EXP5 | ...-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 4 5 6 7
Value | SI-prefix | Value | SI-prefix |
0x0 | None | -- | -- |
0x1 | deka (deca) (1e1) | 0x9 | deci (1e-1) |
0x2 | hecto (1e2) | 0xA | centi (1e-2) |
0x3 | kilo (1e3) | 0xB | milli (1e-3) |
0x4 | mega (1e6) | 0xC | micro (1e-6) |
0x5 | giga (1e9) | 0XD | nano (1e-9) |
0x6 | tera (1e12) | 0XE | pico (1e-12) |
0x7 | peta (1e15) | 0XF | femto (1e-15) |
DIMENSION
DIMENSION can consist of up to 6 unit (either SI base unit or SI derived unit) with exponents (-3 - +3)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UNIT0 | EXP0| UNIT1 | EXP1| UNIT2 | EXP2| UNIT3 | EXP3| UNIT4 | EXP4| UNIT5 | EXP5| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ byte 0 1 2 3 4 5
UNIT
UNIT0 - UNIT5 should be either one of SI base units or SI derived units shown bellow.
Value | SI base unit name | Value | SI base unit name |
0x01 | meter | 0x05 | kelvin |
0x02 | gram | 0x06 | mole |
0x03 | second | 0x07 | candela |
0x04 | ampere | -- | -- |
Value | Unit name | dimension | Value | Unit name | dimension |
0x08 | radian | meter/meter | 0x12 | ohm | meter^2-kilogram/second^3-ampere^2 |
0x09 | steradian | meter^2/meter^2 | 0x14 | siemens | second^3-ampere^2/meter^2-kilogram |
0x0A | hertz | /second | 0x15 | weber | meter^2-kilogram/second^2-ampere |
0x0B | newton | meter-kilogram/second^2 | 0x16 | tesla | kilogram/second^2-ampere |
0x0C | pascal | kilogram/meter-second^2 | 0x17 | henry | meter^2-kilogram/second^2-ampere^2 |
0x0D | joule | meter^2-kilogram/second^2 | 0x18 | lumen | candela-steradian |
0x0E | watt | meter^2-kilogram/second^3 | 0x19 | lux | candela-steradian/meter^2 |
0x0F | coulomb | second-ampere | 0x1A | becquerel | /second |
0x10 | volt | meter^2-kilogram/second^3-ampere | 0x1B | gray | meter^2/second^2 |
0x11 | farad | second^4-ampere^2/meter^2-kilogram | 0x1C | sievert | meter^2/second^2 |
Examples
Sending 3-axis position
A device with 3-axis force (N), 3-axis torque (N*m) and 3-axis acceleration (mm/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 |
PREFIX 0 | int8 | 0 |
DIMENSION 0 | uint8[6] | 0x58 0x00 0x00 0x00 0x00 0x00 (N) |
NAME0 | char[20] | "FORCE" |
LARRAY 1 | uint8 | 3 |
PREFIX 1 | int8 | 0 |
DIMENSION 1 | uint8[6] | 0x58 0x08 0x00 0x00 0x00 0x00 (N*m) |
NAME 1 | char[20] | "TORQUE" |
LARRAY 2 | uint8 | 3 |
PREFIX 2 | int8 | 0 |
DIMENSION 2 | uint8[6] | 0x08 0x03 0x00 0x00 0x00 0x00 (m/s^2) |
NAME 2 | char[20] | "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