A range sensor. More...
#define | PLAYER_RANGER_DATA_RANGE 1 |
Data subtype: range scan. | |
#define | PLAYER_RANGER_DATA_RANGESTAMPED 2 |
Data subtype: range scan with extra info. | |
#define | PLAYER_RANGER_DATA_INTNS 3 |
Data subtype: intensity scan. | |
#define | PLAYER_RANGER_DATA_INTNSSTAMPED 4 |
Data subtype: intensity scan with extra info. | |
#define | PLAYER_RANGER_DATA_GEOM 5 |
Data subtype: sensor geometry. | |
#define | PLAYER_RANGER_REQ_GET_GEOM 1 |
Request/reply subtype: get geometry. | |
#define | PLAYER_RANGER_REQ_POWER 2 |
Request/reply subtype: power config. | |
#define | PLAYER_RANGER_REQ_INTNS 3 |
Request/reply subtype: intensity data config. | |
#define | PLAYER_RANGER_REQ_SET_CONFIG 4 |
Request/reply subtype: set configuration. | |
#define | PLAYER_RANGER_REQ_GET_CONFIG 5 |
Request/reply subtype: get configuration. | |
typedef struct player_ranger_config | player_ranger_config_t |
Device configuration request (PLAYER_RANGER_REQ_GET_CONFIG) | |
typedef struct player_ranger_geom | player_ranger_geom_t |
Data and Request/reply: Get geometry. | |
typedef struct player_ranger_data_range | player_ranger_data_range_t |
Data: range scan (PLAYER_RANGER_DATA_RANGE) | |
typedef struct player_ranger_data_rangestamped | player_ranger_data_rangestamped_t |
Data: Stamped range scan (PLAYER_RANGER_DATA_RANGESTAMPED) | |
typedef struct player_ranger_data_intns | player_ranger_data_intns_t |
Data: intensity scan (PLAYER_RANGER_DATA_INTNS) | |
typedef struct player_ranger_data_intnsstamped | player_ranger_data_intnsstamped_t |
Data: Stamped intensity scan (PLAYER_RANGER_DATA_INTNSSTAMPED) | |
typedef struct player_ranger_power_config | player_ranger_power_config_t |
Request/reply: Turn power on/off (PLAYER_RANGER_REQ_POWER) | |
typedef struct player_ranger_intns_config | player_ranger_intns_config_t |
Request/reply: Turn intensity data on/off for devices that provide it (PLAYER_RANGER_REQ_INTNS) |
Detailed Description
A range sensor.
Receive data from a range sensor, such as a laser scanner, sonar array or IR array.
This interface is designed for sensors that return a single set of values, such as a planar laser scanner, or for arrays of sensors that each produce a single value, such as an array (possibly multi-dimensional) of sonar devices or infra- red sensors. If you are implementing a driver for a sensor such as a complex laser scanner that returns multiple sets of values with each scan, you should either provide one ranger device per value set, using the same timestamp in each to allow synchronisation, or provide a pointcloud3d device.
The ranges and intensities arrays are implemented based on these principles. This means that if the sensor is made up of a single element (e.g. a laser scanner) then all the range readings originate at a single point and only the sensor's global pose matters. If the sensor is made up of multiple elements (e.g. an array of sonar sensors) then the element_poses array should contain one pose per sensor, and the range readings each originate from one pose, in the same order. To determine how to interpret the ranges and intensities arrays, check if elements_poses_count is 1 or more.
Recommended Properties
The following properties are recommended to be provided by drivers supporting this interface, depending on device type.
Laser scanner devices
(string) type: Type of device. For human debugging rather than client usage.
Sonar array devices
(string) type: Type of device. For human debugging rather than client usage.
IR array devices
(string) type: Type of device. For human debugging rather than client usage.
Typedef Documentation
typedef struct player_ranger_config player_ranger_config_t |
Device configuration request (PLAYER_RANGER_REQ_GET_CONFIG)
Request and change the device's configuration.
typedef struct player_ranger_data_intns player_ranger_data_intns_t |
Data: intensity scan (PLAYER_RANGER_DATA_INTNS)
A set of intensity readings.
typedef struct player_ranger_data_intnsstamped player_ranger_data_intnsstamped_t |
Data: Stamped intensity scan (PLAYER_RANGER_DATA_INTNSSTAMPED)
An intensity scan with optionally the (possibly estimated) geometry of the device when the scan was acquired an optional sensor configuration.
typedef struct player_ranger_data_range player_ranger_data_range_t |
Data: range scan (PLAYER_RANGER_DATA_RANGE)
The basic ranger scan data packet, containing a set of range readings.
typedef struct player_ranger_data_rangestamped player_ranger_data_rangestamped_t |
Data: Stamped range scan (PLAYER_RANGER_DATA_RANGESTAMPED)
A range scan optionally with the (possibly estimated) geometry of the device when the scan was acquired and optional sensor configuration.
typedef struct player_ranger_geom player_ranger_geom_t |
Data and Request/reply: Get geometry.
The ranger device position, orientation and size.
typedef struct player_ranger_intns_config player_ranger_intns_config_t |
Request/reply: Turn intensity data on/off for devices that provide it (PLAYER_RANGER_REQ_INTNS)
If the device is capable of providing intensity information (such as laser reflection intensity or IR voltage), this will enable the transmission of the data in the PLAYER_RANGER_DATA_INTNS data message.
typedef struct player_ranger_power_config player_ranger_power_config_t |
Request/reply: Turn power on/off (PLAYER_RANGER_REQ_POWER)
If the device supports it, use this message to turn the power on or off.