Go to the documentation of this file.
20 #ifndef __OpenKarto_SensorData_h__
21 #define __OpenKarto_SensorData_h__
116 m_UniqueId = uniqueId;
143 return m_SensorIdentifier;
152 m_SensorIdentifier = rSensorIdentifier;
159 void AddCustomItem(CustomItem* pCustomItem);
165 const CustomItemList& GetCustomItems()
const;
247 return m_RangeReadings;
256 m_RangeReadings = rRangeReadings;
382 return m_OdometricPose;
391 m_OdometricPose = rOdometricPose;
404 return m_CorrectedPose;
413 m_CorrectedPose = rPose;
432 m_GpsReading = rGpsReading;
433 m_IsGpsReadingValid =
true;
442 return m_IsGpsReadingValid;
452 if (m_pGpsEstimationManager != NULL)
454 return m_pGpsEstimationManager->GetGpsEstimate(
this);
458 return m_GpsEstimate;
468 if (m_pGpsEstimationManager != NULL)
470 m_pGpsEstimationManager->SetGpsEstimate(
this, rGpsEstimate);
474 m_GpsEstimate = rGpsEstimate;
475 m_IsGpsEstimateValid =
true;
485 if (m_pGpsEstimationManager != NULL)
487 return m_pGpsEstimationManager->IsGpsEstimateValid(
this);
491 return m_IsGpsEstimateValid;
501 m_pGpsEstimationManager = pGpsEstimationManager;
604 return m_BarycenterPose;
620 return useBarycenter ? GetBarycenterPose() : GetSensorPose();
629 return GetSensorAt(GetCorrectedPose());
638 Pose2 deviceOffsetPose2 = GetLaserRangeFinder()->GetOffsetPose();
641 kt_double angleoffset = atan2(deviceOffsetPose2.
GetY(), deviceOffsetPose2.
GetX());
643 Pose2 worldSensorOffset =
Pose2(offsetLength * cos(correctedHeading + angleoffset - offsetHeading),
644 offsetLength * sin(correctedHeading + angleoffset - offsetHeading),
647 SetCorrectedPose(rSensorPose - worldSensorOffset);
674 return m_BoundingBox;
690 return m_RangeReadings;
699 return m_RangeReadings.Size();
718 virtual void ComputePointReadings() = 0;
726 return m_FilteredPointReadings;
735 return m_UnfilteredPointReadings;
817 return m_LocalAngles;
832 virtual void ComputePointReadings();
895 m_RangeReadings.Resize(
static_cast<kt_int32u>(rRangeReadings.size()));
896 if (rRangeReadings.size() > 0)
898 memcpy(&(m_RangeReadings[0]), &(rRangeReadings[0]),
sizeof(
kt_double) * rRangeReadings.size());
915 virtual void ComputePointReadings();
931 #endif // __OpenKarto_SensorData_h__
SensorDataPrivate * m_pSensorDataPrivate
kt_bool IsGpsEstimateValid() const
void SetSensorIdentifier(const Identifier &rSensorIdentifier)
void SetOdometricPose(const Pose2 &rOdometricPose)
const DrivePose & operator=(const DrivePose &)
Pose2 GetReferencePose(kt_bool useBarycenter) const
kt_int64s GetTime() const
LaserRangeFinder * GetLaserRangeFinder() const
Identifier m_SensorIdentifier
KARTO_DEPRECATED KARTO_FORCEINLINE LocalizedRangeScan(const Identifier &rSensorIdentifier, std::vector< kt_double > &rRangeReadings)
const DoubleList & GetLocalAngles() const
AbstractGpsEstimationManager * m_pGpsEstimationManager
gps::PointGps m_GpsReading
const Vector2d & GetPosition() const
virtual void SetCorrectedPose(const Pose2 &rCorrectedPose)
KARTO_TYPE(Grid< kt_int8u >)
Identifier m_SensorIdentifier
virtual void SetCorrectedPose(const Pose2 &rPose)
virtual const Vector2dList & GetUnfilteredPointReadings() const
List< LocalizedObjectPtr > LocalizedObjectList
void SetOdometricPose(const Pose2 &rPose)
const Pose2 & GetOdometricPose() const
List< LocalizedLaserScanPtr > LocalizedLaserScanList
SmartPointer< LocalizedObject > LocalizedObjectPtr
const RangeReadingsList & GetRangeReadings() const
void SetUniqueId(kt_int32u uniqueId)
gps::PointGps GetGpsReading() const
const Pose2 & GetCorrectedPose() const
Vector2dList m_LocalPointReadings
Pose2 GetSensorAt(const Pose2 &rPose) const
SmartPointer< LocalizedLaserScan > LocalizedLaserScanPtr
BoundingBox2 m_BoundingBox
static SensorRegistry * GetInstance()
RangeReadingsList m_RangeReadings
gps::PointGps m_GpsEstimate
kt_double NormalizeAngle(kt_double angle)
kt_int32s GetStateId() const
List< kt_double > RangeReadingsList
Vector2dList m_FilteredPointReadings
const Identifier & GetSensorIdentifier() const
LaserRangeFinder * GetLaserRangeFinder() const
void SetStateId(kt_int32s stateId)
void SetGpsReading(const gps::PointGps &rGpsReading)
signed long long kt_int64s
const Pose2 & GetOdometricPose() const
void SetTime(kt_int64s time)
gps::PointGps GetGpsEstimate() const
kt_bool IsGpsReadingValid() const
#define KARTO_FORCEINLINE
RangeReadingsList m_RangeReadings
Sensor * GetSensorByName(const Identifier &rName)
void SetSensorPose(const Pose2 &rSensorPose)
kt_bool m_IsGpsReadingValid
void SetRangeReadings(const RangeReadingsList &rRangeReadings)
kt_int32s GetUniqueId() const
void SetGpsEstimationManager(AbstractGpsEstimationManager *pGpsEstimationManager)
DrivePose(const Identifier &rSensorIdentifier)
const BoundingBox2 & GetBoundingBox() const
Vector2dList m_UnfilteredPointReadings
virtual const Vector2dList & GetFilteredPointReadings() const
List< kt_double > DoubleList
kt_bool m_IsGpsEstimateValid
void SetGpsEstimate(const gps::PointGps &rGpsEstimate)
const RangeReadingsList & GetRangeReadings() const
kt_double GetHeading() const
Pose2 GetSensorPose() const
kt_size_t GetNumberOfRangeReadings() const
const Pose2 & GetBarycenterPose() const
nav2d_karto
Author(s): Sebastian Kasperski
autogenerated on Wed Mar 2 2022 00:37:22