okapi::ThreeEncoderOdometry class

Base classes

class TwoEncoderOdometry

Constructors, destructors, conversion operators

ThreeEncoderOdometry(const TimeUtil& itimeUtil, const std::shared_ptr<ReadOnlyChassisModel>& imodel, const ChassisScales& ichassisScales, const std::shared_ptr<Logger>& ilogger = Logger::getDefaultLogger())
Odometry.

Protected functions

auto odomMathStep(const std::valarray<std::int32_t>& itickDiff, const QTime& ideltaT) -> OdomState override
Does the math, side-effect free, for one odom step.

Function documentation

okapi::ThreeEncoderOdometry::ThreeEncoderOdometry(const TimeUtil& itimeUtil, const std::shared_ptr<ReadOnlyChassisModel>& imodel, const ChassisScales& ichassisScales, const std::shared_ptr<Logger>& ilogger = Logger::getDefaultLogger())

Odometry.

Parameters
itimeUtil The TimeUtil.
imodel The chassis model for reading sensors.
ichassisScales See ChassisScales docs (the middle wheel scale is the third member)
ilogger The logger this instance will log to.

Tracks the movement of the robot and estimates its position in coordinates relative to the start (assumed to be (0, 0)).

OdomState okapi::ThreeEncoderOdometry::odomMathStep(const std::valarray<std::int32_t>& itickDiff, const QTime& ideltaT) override protected

Does the math, side-effect free, for one odom step.

Parameters
itickDiff The tick difference from the previous step to this step.
ideltaT The time difference from the previous step to this step.
Returns The newly computed OdomState.