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
typedef struct player_laser_config player_laser_config_t |
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.
typedef struct player_laser_data_scanpose player_laser_data_scanpose_t |
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.
typedef struct player_laser_data player_laser_data_t |
Data: scan (PLAYER_LASER_DATA_SCAN).
The basic laser data packet.
typedef struct player_laser_geom player_laser_geom_t |
Request/reply: Get geometry.
The laser geometry (position and size) can be queried by sending a null PLAYER_LASER_REQ_GET_GEOM request.
typedef struct player_laser_get_id_config player_laser_get_id_config_t |
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).
typedef struct player_laser_power_config player_laser_power_config_t |
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).
typedef struct player_laser_set_filter_config player_laser_set_filter_config_t |
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.