|
TinyRobotics
|
Abstract interface for 2D odometry models. More...
#include <IOdometryModel2D.h>


Public Member Functions | |
| virtual | ~IOdometryModel2D ()=default |
| Virtual destructor for interface. | |
| virtual Speed | getSpeed () const =0 |
| Get the current speed of the vehicle. | |
| virtual Angle | getSteeringAngle () const =0 |
| Get the current steering angle of the vehicle. | |
| virtual void | updateSpeed (uint32_t deltaTimeMs)=0 |
| Update the speed estimate based on elapsed time. | |
| virtual void | setSpeedSource (ISpeedSource &speedSource)=0 |
| Set the speed source (e.g., encoder, estimator) for this model. | |
| virtual void | registerCallback (void(*callback)(void *), void *userData)=0 |
| Register a callback to be invoked on relevant events (e.g., input change, update). | |
| virtual float | computeDeltaTheta (uint16_t deltaTimeMs) const =0 |
| Compute heading change (deltaTheta) for odometry kinematics. | |
| virtual void | computeDeltaXY (float theta, uint32_t deltaTimeMs, float &deltaX, float &deltaY) const =0 |
| Compute position change (deltaX, deltaY) for odometry kinematics. | |
Public Member Functions inherited from MessageHandler | |
| virtual bool | onMessage (const Message< float > &msg)=0 |
| Handle an incoming message (pure virtual). | |
| virtual bool | onMessage (const Message< Coordinate< float > > &msg) |
| virtual bool | onMessage (const Message< GPSCoordinate > &msg) |
| virtual bool | onMessage (const Message< MotionState3D > &msg) |
Abstract interface for 2D odometry models.
|
pure virtual |
Compute heading change (deltaTheta) for odometry kinematics.
| speed | Speed of the vehicle (meters/second) |
| steeringAngle | Steering angle (radians) |
| deltaTimeMs | Time interval (milliseconds) |
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.
|
pure virtual |
Compute position change (deltaX, deltaY) for odometry kinematics.
| speed | Speed of the vehicle (meters/second) | |
| theta | Heading (radians) | |
| deltaTimeMs | Time interval (milliseconds) | |
| [out] | deltaX | Change in X position (meters) |
| [out] | deltaY | Change in Y position (meters) |
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.
|
pure virtual |
Get the current speed of the vehicle.
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.
|
pure virtual |
Get the current steering angle of the vehicle.
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.
|
pure virtual |
Register a callback to be invoked on relevant events (e.g., input change, update).
| callback | Function pointer with signature void callback(void* userData) |
| userData | User-provided pointer passed to the callback |
|
pure virtual |
Set the speed source (e.g., encoder, estimator) for this model.
| speedSource | Reference to an ISpeedSource implementation |
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.
|
pure virtual |
Update the speed estimate based on elapsed time.
| deltaTimeMs | Time interval (milliseconds) |
Implemented in OdometryDifferentialDriveModel, and OdometryModel2D.