A range sensor. More...
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
◆ player_ranger_config_t
typedef struct player_ranger_config player_ranger_config_t |
Device configuration request (PLAYER_RANGER_REQ_GET_CONFIG)
Request and change the device's configuration.
◆ player_ranger_data_intns_t
typedef struct player_ranger_data_intns player_ranger_data_intns_t |
Data: intensity scan (PLAYER_RANGER_DATA_INTNS)
A set of intensity readings.
◆ player_ranger_data_intnsstamped_t
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.
◆ player_ranger_data_range_t
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.
◆ player_ranger_data_rangestamped_t
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.
◆ player_ranger_geom_t
typedef struct player_ranger_geom player_ranger_geom_t |
Data and Request/reply: Get geometry.
The ranger device position, orientation and size.
◆ player_ranger_intns_config_t
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.
◆ player_ranger_power_config_t
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.