17 #ifndef IGNITION_MATH_DIFFDRIVEODOMETRY_HH_ 18 #define IGNITION_MATH_DIFFDRIVEODOMETRY_HH_ 23 #include <ignition/math/Export.hh> 24 #include <ignition/math/config.hh> 34 inline namespace IGNITION_MATH_VERSION_NAMESPACE {
37 class DiffDriveOdometryPrivate;
42 class IGNITION_MATH_VISIBLE DiffDriveOdometry
86 public:
explicit DiffDriveOdometry(
size_t _windowSize = 10);
89 public: ~DiffDriveOdometry();
93 public:
void Init(
const clock::time_point &_time);
97 public:
bool Initialized()
const;
104 public:
bool Update(
const Angle &_leftPos,
const Angle &_rightPos,
105 const clock::time_point &_time);
109 public:
const Angle &Heading()
const;
113 public:
double X()
const;
117 public:
double Y()
const;
121 public:
double LinearVelocity()
const;
125 public:
const Angle &AngularVelocity()
const;
131 public:
void SetWheelParams(
double _wheelSeparation,
132 double _leftWheelRadius,
double _rightWheelRadius);
136 public:
void SetVelocityRollingWindowSize(
size_t _size);
141 #pragma warning(push) 142 #pragma warning(disable: 4251) An angle and related functions.
Definition: Angle.hh:51