#include <Sensor.h>
The LaserRangeFinder defines a laser sensor that provides the pose offset position of a localized laser scan relative to the robot. The user can set an offset pose for the sensor relative to the robot coordinate system. If no value is provided by the user, the sensor is set to be at the origin of the robot coordinate system. The LaserRangeFinder contains parameters for physical laser sensor used by the mapper for scan matching. It also contains information about the maximum range of the sensor and provides a threshold for limiting the range of readings. The optimal value for the range threshold depends on the angular resolution of the scan and the desired map resolution. RangeThreshold should be set as large as possible while still providing "solid" coverage between consecutive range readings.
The following example code creates a LaserRangeFinder with default values for a Sick LMS100 laser
karto::LaserRangeFinder* pLrf = karto::LaserRangeFinder::CreateLaserRangeFinder(karto::LaserRangeFinder_Sick_LMS100, "/laser0");
The following laser types are supported in CreateLaserRangeFinder
LaserRangeFinder_Sick_LMS100 LaserRangeFinder_Sick_LMS200 LaserRangeFinder_Sick_LMS291 LaserRangeFinder_Hokuyo_UTM_30LX LaserRangeFinder_Hokuyo_URG_04LX
karto::LaserRangeFinder::LaserRangeFinder | ( | const Identifier & | rName | ) | [private] |
karto::LaserRangeFinder::LaserRangeFinder | ( | const LaserRangeFinder & | ) | [private] |
LaserRangeFinder * karto::LaserRangeFinder::CreateLaserRangeFinder | ( | LaserRangeFinderType | type, |
const Identifier & | rName | ||
) | [static] |
Creates a laser range finder of the given type and name
type | laser type |
rName | name of sensor |
Definition at line 229 of file Sensor.cpp.
kt_double karto::LaserRangeFinder::GetAngularResolution | ( | ) | const [inline] |
kt_double karto::LaserRangeFinder::GetMaximumAngle | ( | ) | const [inline] |
kt_double karto::LaserRangeFinder::GetMaximumRange | ( | ) | const [inline] |
kt_double karto::LaserRangeFinder::GetMinimumAngle | ( | ) | const [inline] |
kt_double karto::LaserRangeFinder::GetMinimumRange | ( | ) | const [inline] |
kt_int32u karto::LaserRangeFinder::GetNumberOfRangeReadings | ( | ) | const [inline] |
const Vector2dList karto::LaserRangeFinder::GetPointReadings | ( | LocalizedLaserScan * | pLocalizedLaserScan, |
CoordinateConverter * | pCoordinateConverter, | ||
kt_bool | ignoreThresholdPoints = true , |
||
kt_bool | flipY = false |
||
) | const |
Gets point readings (potentially scaling readings if given coordinate converter is not null)
pLocalizedLaserScan | scan |
pCoordinateConverter | coordinate converter |
ignoreThresholdPoints | whether to ignore points that exceed the range threshold |
flipY | whether to flip the y-coordinate (useful for drawing applications with inverted y-coordinates) |
Definition at line 93 of file Sensor.cpp.
kt_double karto::LaserRangeFinder::GetRangeThreshold | ( | ) | const [inline] |
kt_int64s karto::LaserRangeFinder::GetType | ( | ) | [inline] |
karto::LaserRangeFinder::KARTO_RTTI | ( | ) | [private] |
Reimplemented from karto::Sensor.
const LaserRangeFinder& karto::LaserRangeFinder::operator= | ( | const LaserRangeFinder & | ) | [private] |
void karto::LaserRangeFinder::SetAngularResolution | ( | kt_double | angularResolution | ) |
Sets this range finder sensor's angular resolution
angularResolution | new angular resolution |
Definition at line 138 of file Sensor.cpp.
void karto::LaserRangeFinder::SetMaximumAngle | ( | kt_double | maximumAngle | ) | [inline] |
void karto::LaserRangeFinder::SetMaximumRange | ( | kt_double | maximumRange | ) | [inline] |
void karto::LaserRangeFinder::SetMinimumAngle | ( | kt_double | minimumAngle | ) | [inline] |
void karto::LaserRangeFinder::SetMinimumRange | ( | kt_double | minimumRange | ) | [inline] |
void karto::LaserRangeFinder::SetRangeThreshold | ( | kt_double | rangeThreshold | ) |
Sets the range threshold
rangeThreshold | new range threshold |
Definition at line 127 of file Sensor.cpp.
void karto::LaserRangeFinder::Update | ( | ) | [inline, private] |
void karto::LaserRangeFinder::Validate | ( | ) | [virtual] |
void karto::LaserRangeFinder::Validate | ( | SensorData * | pSensorData | ) | [virtual] |
Validates sensor data
pSensorData | sensor data |
Implements karto::Sensor.
Definition at line 212 of file Sensor.cpp.
ParameterEnum* karto::LaserRangeFinder::m_pType [private] |