laser
[Interface specifications]

Collaboration diagram for laser:


Detailed Description

Laser range-finder.

The laser interface provides access to a single-origin scanning range sensor, such as a SICK laser range-finder (e.g., sicklms200).

Devices supporting the laser interface can be configured to scan at different angles and resolutions. As such, the data returned by the laser interface can take different forms. To make interpretation of the data simple, the laser data packet contains some extra fields before the actual range data. These fields tell the client the starting and ending angles of the scan, the angular resolution of the scan, and the number of range readings included. Scans proceed counterclockwise about the laser (0 degrees is forward). The laser can return a maximum of PLAYER_LASER_MAX_SAMPLES readings; this limits the valid combinations of scan width and angular resolution.

#define PLAYER_LASER_DATA_SCAN   1
 Data subtype: scan.
#define PLAYER_LASER_DATA_SCANPOSE   2
 Data subtype: pose-stamped scan.
#define PLAYER_LASER_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_LASER_REQ_SET_CONFIG   2
 Request/reply subtype: set configuration.
#define PLAYER_LASER_REQ_GET_CONFIG   3
 Request/reply subtype: get configuration.
#define PLAYER_LASER_REQ_POWER   4
 Request/reply subtype: set power.
#define PLAYER_LASER_REQ_GET_ID   5
 Request/reply subtype: get IDentification information.
#define PLAYER_LASER_REQ_SET_FILTER   6
 Request/reply subtype: set filter settings.
#define PLAYER_LASER_MAX_FILTER_PARAMS   8
 Filter setings.
#define PLAYER_LASER_FILTER_MEDIAN   1
 Data subtype: scan.
#define PLAYER_LASER_FILTER_EDGE   2
 Data subtype: scan.
#define PLAYER_LASER_FILTER_RANGE   3
 Data subtype: scan.
#define PLAYER_LASER_FILTER_MEAN   4
 Data subtype: scan.
typedef player_laser_data player_laser_data_t
 Data: scan (PLAYER_LASER_DATA_SCAN).
typedef player_laser_data_scanpose player_laser_data_scanpose_t
 Data: pose-stamped scan (PLAYER_LASER_DATA_SCANPOSE).
typedef player_laser_geom player_laser_geom_t
 Request/reply: Get geometry.
typedef player_laser_config player_laser_config_t
 Request/reply: Get/set scan properties.
typedef player_laser_power_config player_laser_power_config_t
 Request/reply: Turn power on/off.
typedef player_laser_get_id_config player_laser_get_id_config_t
 Request/reply: Get IDentification information.
typedef player_laser_set_filter_config player_laser_set_filter_config_t
 Request/reply: Set filter settings.

Typedef Documentation

Request/reply: Get/set scan properties.

The scan configuration (resolution, aperture, etc) can be queried by sending a null PLAYER_LASER_REQ_GET_CONFIG request and modified by sending a PLAYER_LASER_REQ_SET_CONFIG request. In either case, the current configuration (after attempting any requested modification) will be returned in the response. Read the documentation for your driver to determine what configuration values are permissible.

Data: pose-stamped scan (PLAYER_LASER_DATA_SCANPOSE).

A laser scan with a pose that indicates the (possibly esimated) pose of the laser when the scan was taken.

Data: scan (PLAYER_LASER_DATA_SCAN).

The basic laser data packet.

Request/reply: Get geometry.

The laser geometry (position and size) can be queried by sending a null PLAYER_LASER_REQ_GET_GEOM request.

Request/reply: Get IDentification information.

Send a PLAYER_LASER_REQ_GET_ID request to receive the laser's serial number or any other relevant identification information (assuming your hardware supports it).

Request/reply: Turn power on/off.

Send a PLAYER_LASER_REQ_POWER request to turn laser power on or off (assuming your hardware supports it).

Request/reply: Set filter settings.

Send a PLAYER_LASER_REQ_SET_FILTER request to set the laser's internal filter parameters (assuming your hardware supports it). Currently the finally settings can be applied to the SICK LMS400: a) median filter - PLAYER_LASER_FILTER_MEDIAN, no parameters b) edge filter - PLAYER_LASER_FILTER_EDGE, no parameters c) range filter - PLAYER_LASER_FILTER_RANGE p1 = BottomLimit (700-3000 in mm), p2 = TopLimit (700-3000 in mm) d) mean filter - PLAYER_LASER_FILTER_MEAN p1 = number of means (2-200)

Note: You can combine the filters as required. If several filters are active, then the filters act one after the other on the result of the previous filter. The processing in this case follows the following sequence: edge filter, median filter, range filter, mean filter.


Last updated 12 September 2005 21:38:45