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.

#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) More...
 
typedef struct player_ranger_geom player_ranger_geom_t
 Data and Request/reply: Get geometry. More...
 
typedef struct player_ranger_data_range player_ranger_data_range_t
 Data: range scan (PLAYER_RANGER_DATA_RANGE) More...
 
typedef struct player_ranger_data_rangestamped player_ranger_data_rangestamped_t
 Data: Stamped range scan (PLAYER_RANGER_DATA_RANGESTAMPED) More...
 
typedef struct player_ranger_data_intns player_ranger_data_intns_t
 Data: intensity scan (PLAYER_RANGER_DATA_INTNS) More...
 
typedef struct player_ranger_data_intnsstamped player_ranger_data_intnsstamped_t
 Data: Stamped intensity scan (PLAYER_RANGER_DATA_INTNSSTAMPED) More...
 
typedef struct player_ranger_power_config player_ranger_power_config_t
 Request/reply: Turn power on/off (PLAYER_RANGER_REQ_POWER) More...
 
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) More...
 

Typedef Documentation

◆ player_ranger_config_t

Device configuration request (PLAYER_RANGER_REQ_GET_CONFIG)

Request and change the device's configuration.

◆ player_ranger_data_intns_t

Data: intensity scan (PLAYER_RANGER_DATA_INTNS)

A set of intensity readings.

◆ 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

Data: range scan (PLAYER_RANGER_DATA_RANGE)

The basic ranger scan data packet, containing a set of range readings.

◆ 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

Data and Request/reply: Get geometry.

(PLAYER_RANGER_REQ_GET_GEOM)

The ranger device position, orientation and size.

◆ 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

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.