Go to the documentation of this file.
36 MetaEnum::Register<LaserRangeFinderType>(
"LaserRangeFinderType")
68 , m_NumberOfRangeReadings(0)
81 const MetaEnum& rMetaEnum = karto::GetMetaEnumByType<karto::LaserRangeFinderType>();
89 LaserRangeFinder::~LaserRangeFinder()
110 point.
SetX(scanPosition.
GetX() + ratio * (point.
GetX() - scanPosition.
GetX()));
111 point.
SetY(scanPosition.
GetY() + ratio * (point.
GetY() - scanPosition.
GetY()));
114 if (pCoordinateConverter != NULL)
121 pointReadings.
Add(point);
124 return pointReadings;
134 Log(
LOG_INFORMATION,
"Info: clipped range threshold to be within minimum and maximum range!");
157 errorMessage.
Append(
"Invalid resolution for Sick LMS100: ");
179 errorMessage.
Append(
"Invalid resolution for Sick LMS291: ");
186 throw Exception(
"Can't set angular resolution, please create a LaserRangeFinder of type Custom");
200 throw Exception(
"LaserRangeFinder::Validate() - MinimumRange must be less than MaximumRange. Please set MinimumRange and MaximumRange to valid values.");
kt_double GetMinimumRange() const
Parameter< kt_double > * m_pMaximumRange
static LaserRangeFinder * CreateLaserRangeFinder(LaserRangeFinderType type, const Identifier &rName)
kt_double Distance(const Vector2 &rOther) const
void SetAngularResolution(kt_double angularResolution)
const String & ToString() const
void Append(const String &rString)
const String & ToString() const
LaserRangeFinder(const Identifier &rName)
virtual kt_size_t Size() const
Vector2i WorldToGrid(const Vector2d &rWorld, kt_bool flipY=false) const
void DefineEnumValue(const String &rName, kt_int64s value)
const Vector2d & GetPosition() const
const Vector2dList GetPointReadings(LocalizedLaserScan *pLocalizedLaserScan, CoordinateConverter *pCoordinateConverter, kt_bool ignoreThresholdPoints=true, kt_bool flipY=false) const
kt_double DegreesToRadians(kt_double degrees)
kt_int32u m_NumberOfRangeReadings
kt_double GetRangeThreshold() const
@ LaserRangeFinder_Hokuyo_URG_04LX
@ LaserRangeFinder_Sick_LMS200
ParameterSet * GetParameterSet()
static String ToString(const char *value)
Parameter< Pose2 > * m_pOffsetPose
const T & Clip(const T &n, const T &minValue, const T &maxValue)
@ LaserRangeFinder_Sick_LMS100
Parameter< kt_double > * m_pMaximumAngle
KARTO_EXPORT void RegisterLaserRangeFinderType()
static SensorRegistry * GetInstance()
const Vector2dList & GetPointReadings(kt_bool wantFiltered=false) const
void SetOffsetPose(const Pose2 &rPose)
@ LaserRangeFinder_Sick_LMS291
void SetRangeThreshold(kt_double rangeThreshold)
Parameter< kt_double > * m_pMinimumRange
signed long long kt_int64s
@ LaserRangeFinder_Hokuyo_UTM_30LX
Parameter< kt_double > * m_pMinimumAngle
kt_double GetMaximumRange() const
kt_bool InRange(const T &value, const T &a, const T &b)
kt_int32u GetNumberOfRangeReadings() const
kt_bool DoubleEqual(kt_double a, kt_double b)
virtual void Add(const T &rValue)
virtual void SetValue(const T &rValue)
void Log(LogLevel level, const karto::String &rMessage)
Sensor(const Identifier &rName)
Parameter< kt_double > * m_pAngularResolution
@ LaserRangeFinder_Custom
Parameter< kt_double > * m_pRangeThreshold
void UnregisterSensor(Sensor *pSensor)
void RegisterSensor(Sensor *pSensor)
virtual const T & GetValue() const
Pose2 GetSensorPose() const
kt_size_t GetNumberOfRangeReadings() const
nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Wed Mar 2 2022 00:37:22