#include <Sensor.h>
Static Public Member Functions | |
static LaserRangeFinder * | CreateLaserRangeFinder (LaserRangeFinderType type, const Identifier &rName) |
Protected Member Functions | |
kt_double | GetAngularResolution () const |
kt_double | GetMaximumAngle () const |
kt_double | GetMaximumRange () const |
kt_double | GetMinimumAngle () const |
kt_double | GetMinimumRange () const |
kt_int32u | GetNumberOfRangeReadings () const |
const Vector2dList | GetPointReadings (LocalizedLaserScan *pLocalizedLaserScan, CoordinateConverter *pCoordinateConverter, kt_bool ignoreThresholdPoints=true, kt_bool flipY=false) const |
kt_double | GetRangeThreshold () const |
kt_int64s | GetType () |
void | SetAngularResolution (kt_double angularResolution) |
void | SetMaximumAngle (kt_double maximumAngle) |
void | SetMaximumRange (kt_double maximumRange) |
void | SetMinimumAngle (kt_double minimumAngle) |
void | SetMinimumRange (kt_double minimumRange) |
void | SetRangeThreshold (kt_double rangeThreshold) |
virtual void | Validate () |
virtual void | Validate (SensorData *pSensorData) |
Protected Member Functions inherited from karto::Sensor | |
const Pose2 & | GetOffsetPose () const |
Sensor (const Identifier &rName) | |
void | SetOffsetPose (const Pose2 &rPose) |
Protected Member Functions inherited from karto::Object | |
const Identifier & | GetIdentifier () const |
AbstractParameter * | GetParameter (const String &rParameterName) const |
template<typename T > | |
Parameter< T > * | GetParameter (const String &rParameterName) const |
ParameterList | GetParameters () |
ParameterSet * | GetParameterSet () |
template<typename T > | |
void | SetParameters (const karto::String &rParameterName, const T &rValue) |
Protected Member Functions inherited from karto::Referenced | |
kt_int32s | GetReferenceCount () |
kt_int32s | Reference () const |
kt_int32s | Unreference () const |
kt_int32s | UnreferenceNoDelete () const |
Private Member Functions | |
KARTO_RTTI () | |
LaserRangeFinder (const Identifier &rName) | |
LaserRangeFinder (const LaserRangeFinder &) | |
const LaserRangeFinder & | operator= (const LaserRangeFinder &) |
void | Update () |
Private Attributes | |
kt_int32u | m_NumberOfRangeReadings |
Parameter< kt_double > * | m_pAngularResolution |
Parameter< kt_double > * | m_pMaximumAngle |
Parameter< kt_double > * | m_pMaximumRange |
Parameter< kt_double > * | m_pMinimumAngle |
Parameter< kt_double > * | m_pMinimumRange |
Parameter< kt_double > * | m_pRangeThreshold |
ParameterEnum * | m_pType |
Additional Inherited Members | |
Public Member Functions inherited from karto::Object | |
Object () | |
Object (const Identifier &rIdentifier) | |
Public Member Functions inherited from karto::Referenced | |
Referenced () | |
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
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
|
private |
|
private |
|
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.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
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.
|
inlineprotected |
|
inlineprotected |
|
private |
|
private |
|
protected |
Sets this range finder sensor's angular resolution
angularResolution | new angular resolution |
Definition at line 138 of file Sensor.cpp.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Sets the range threshold
rangeThreshold | new range threshold |
Definition at line 127 of file Sensor.cpp.
|
inlineprivate |
|
protectedvirtual |
|
protectedvirtual |
Validates sensor data
pSensorData | sensor data |
Implements karto::Sensor.
Definition at line 212 of file Sensor.cpp.
|
private |
|
private |