The LaserProxy
class is used to control a laser device.
More...
#include <playerc++.h>
Public Member Functions | |
LaserProxy (PlayerClient *aPc, uint32_t aIndex=0) | |
constructor | |
~LaserProxy () | |
destructor | |
uint32_t | GetCount () const |
Number of points in scan. | |
double | GetMaxRange () const |
Max range for the latest set of data (meters) | |
double | GetScanRes () const |
Angular resolution of scan (radians) | |
double | GetRangeRes () const |
Range resolution of scan (mm) | |
double | GetScanningFrequency () const |
Scanning Frequency (Hz) | |
double | GetMinAngle () const |
Scan range for the latest set of data (radians) | |
double | GetMaxAngle () const |
Scan range for the latest set of data (radians) | |
double | GetConfMinAngle () const |
Scan range from the laser config (call RequestConfigure first) (radians) | |
double | GetConfMaxAngle () const |
Scan range from the laser config (call RequestConfigure first) (radians) | |
bool | IntensityOn () const |
Whether or not reflectance (i.e., intensity) values are being returned. | |
player_point_2d_t | GetPoint (uint32_t aIndex) const |
Scan data (Cartesian): x,y (m) | |
double | GetRange (uint32_t aIndex) const |
get the range | |
double | GetBearing (uint32_t aIndex) const |
get the bearing | |
int | GetIntensity (uint32_t aIndex) const |
get the intensity | |
int | GetID () const |
get the laser ID, call RequestId first | |
void | Configure (double aMinAngle, double aMaxAngle, uint32_t aScanRes, uint32_t aRangeRes, bool aIntensity, double aScanningFrequency) |
Configure the laser scan pattern. | |
void | RequestConfigure () |
Request the current laser configuration; it is read into the relevant class attributes. | |
void | RequestID () |
Request the ID of the laser; read it with GetID() | |
void | RequestGeom () |
Get the laser's geometry; it is read into the relevant class attributes. | |
player_pose3d_t | GetPose () |
Accessor for the pose of the laser with respect to its parent object (e.g., a robot). | |
player_pose3d_t | GetRobotPose () |
Accessor for the pose of the laser's parent object (e.g., a robot). | |
player_bbox3d_t | GetSize () |
Accessor for the size (fill it in by calling RequestGeom) | |
double | GetMinLeft () const |
Minimum range reading on the left side. | |
double | GetMinRight () const |
Minimum range reading on the right side. | |
double | MinLeft () const |
double | MinRight () const |
double | operator[] (uint32_t index) const |
Range access operator. | |
Private Member Functions | |
void | Subscribe (uint32_t aIndex) |
void | Unsubscribe () |
Private Attributes | |
playerc_laser_t * | mDevice |
double | min_angle |
double | max_angle |
double | scan_res |
double | range_res |
double | scanning_frequency |
bool | intensity |
Detailed Description
The LaserProxy
class is used to control a laser device.
The latest scan data is held in two arrays: ranges
and intensity
. The laser scan range, resolution and so on can be configured using the Configure() method.
Member Function Documentation
void PlayerCc::LaserProxy::Configure | ( | double | aMinAngle, |
double | aMaxAngle, | ||
uint32_t | aScanRes, | ||
uint32_t | aRangeRes, | ||
bool | aIntensity, | ||
double | aScanningFrequency | ||
) |
Configure the laser scan pattern.
Angles min_angle
and max_angle
are measured in radians. scan_res
is measured in units of 0.01 degrees; valid values are: 25 (0.25 deg), 50 (0.5 deg) and 100 (1 deg). range_res
is measured in mm; valid values are: 1, 10, 100. Set intensity
to true
to enable intensity measurements, or false
to disable. scanning_frequency
is measured in Hz
player_pose3d_t PlayerCc::LaserProxy::GetPose | ( | ) | [inline] |
Accessor for the pose of the laser with respect to its parent object (e.g., a robot).
Fill it in by calling RequestGeom.
References player_pose3d::px, player_pose3d::py, and player_pose3d::pyaw.
player_pose3d_t PlayerCc::LaserProxy::GetRobotPose | ( | ) | [inline] |
Accessor for the pose of the laser's parent object (e.g., a robot).
Filled in by some (but not all) laser data messages.
References player_pose3d::px, player_pose3d::py, and player_pose3d::pyaw.
double PlayerCc::LaserProxy::MinLeft | ( | ) | const [inline] |
- Deprecated:
- Minimum range reading on the left side
double PlayerCc::LaserProxy::MinRight | ( | ) | const [inline] |
- Deprecated:
- Minimum range reading on the right side
double PlayerCc::LaserProxy::operator[] | ( | uint32_t | index | ) | const [inline] |
Range access operator.
This operator provides an alternate way of access the range data. For example, given an LaserProxy
named lp
, the following expressions are equivalent: lp.GetRange(0)
and lp
[0].
void PlayerCc::LaserProxy::RequestConfigure | ( | ) |
Request the current laser configuration; it is read into the relevant class attributes.
void PlayerCc::LaserProxy::RequestGeom | ( | ) |
Get the laser's geometry; it is read into the relevant class attributes.
The documentation for this class was generated from the following file: