ranger

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)
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)

Typedef Documentation

Device configuration request (PLAYER_RANGER_REQ_GET_CONFIG)

Request and change the device's configuration.

Data: intensity scan (PLAYER_RANGER_DATA_INTNS)

A set of intensity readings.

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.

Data: range scan (PLAYER_RANGER_DATA_RANGE)

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

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.

Data and Request/reply: Get geometry.

(PLAYER_RANGER_REQ_GET_GEOM)

The ranger device position, orientation and size.

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.

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.