libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::odometry Namespace Reference

Classes

struct  DistanceFromOrigin
 Distance measurements from the origin (set by last reset). More...
struct  IOdometry

Enumerations

enum class  OdometrySource { Internal , CalibrationBoard }
 Which sensor source currently backs the primary pose estimate. More...

Functions

double wrapAngle (double angle_rad)
double angularError (double current_rad, double target_rad)
double extractHeading (const Eigen::Quaternionf &orientation)

Enumeration Type Documentation

◆ OdometrySource

Which sensor source currently backs the primary pose estimate.

The wombat platform can fuse an external calibration board (optical-flow

  • IMU), which is far more accurate than the cheap on-board dead reckoning. It only backs the primary pose when explicitly requested via setPreferredSource(CalibrationBoard) AND the board is connected; otherwise the internal estimate stays active. The internal estimate is always available through the getInternal*() accessors, and any source can be read passively via getPoseFromSource() — so the internal model can be tuned against the external reference without re-routing the motion system.
Enumerator
Internal 

Cheap on-board dead reckoning (STM32 wheel odometry / sim).

CalibrationBoard 

External calibration board (optical-flow + IMU fusion).

Definition at line 48 of file odometry.hpp.

Function Documentation

◆ angularError()

double libstp::odometry::angularError ( double current_rad,
double target_rad )
inline

Definition at line 17 of file angle_utils.hpp.

◆ extractHeading()

double libstp::odometry::extractHeading ( const Eigen::Quaternionf & orientation)
inline

Definition at line 21 of file angle_utils.hpp.

◆ wrapAngle()

double libstp::odometry::wrapAngle ( double angle_rad)
inline

Definition at line 9 of file angle_utils.hpp.