17 #ifndef GZ_MATH_MECANUMDRIVEODOMETRY_HH_
18 #define GZ_MATH_MECANUMDRIVEODOMETRY_HH_
23 #include <gz/math/Export.hh>
24 #include <gz/math/config.hh>
29 inline namespace GZ_MATH_VERSION_NAMESPACE {
31 class MecanumDriveOdometryPrivate;
65 public:
void Init(
const clock::time_point &_time);
69 public:
bool Initialized()
const;
80 const Angle &_frontLeftPos,
const Angle &_frontRightPos,
81 const Angle &_backLeftPos,
const Angle &_backRightPos,
82 const clock::time_point &_time);
86 public:
const Angle &Heading()
const;
90 public:
double X()
const;
94 public:
double Y()
const;
98 public:
double LinearVelocity()
const;
102 public:
double LateralVelocity()
const;
106 public:
const Angle &AngularVelocity()
const;
113 public:
void SetWheelParams(
double _wheelSeparation,
double _wheelBase,
114 double _leftWheelRadius,
double _rightWheelRadius);
117 public:
void SetVelocityRollingWindowSize(
size_t _size);
121 public:
double WheelSeparation()
const;
125 public:
double WheelBase()
const;
129 public:
double LeftWheelRadius()
const;
133 public:
double RightWheelRadius()
const;
139 #pragma warning(push)
140 #pragma warning(disable: 4251)
150 #endif // GZ_MATH_MECANUMDRIVEODOMETRY_HH_