2#include "TinyRobotics/units/Units.h"
4namespace tinyrobotics {
7
8
12
13
17
18
19
23
24
25
29
30
31
35
36
37
40
41
42
43
46
47
48
49
50
51
54
55
56
57
58
59
60
61 virtual void computeDeltaXY(
float theta, uint32_t deltaTimeMs,
float& deltaX,
float& deltaY)
const = 0;
Represents an angle with unit conversion and wrap-around support.
Definition: Angle.h:42
Abstract interface for 2D odometry models.
Definition: IOdometryModel2D.h:9
virtual float computeDeltaTheta(uint16_t deltaTimeMs) const =0
Compute heading change (deltaTheta) for odometry kinematics.
virtual Angle getSteeringAngle() const =0
Get the current steering angle of the vehicle.
virtual ~IOdometryModel2D()=default
Virtual destructor for interface.
virtual Speed getSpeed() const =0
Get the current speed of the vehicle.
virtual void computeDeltaXY(float theta, uint32_t deltaTimeMs, float &deltaX, float &deltaY) const =0
Compute position change (deltaX, deltaY) for odometry kinematics.
virtual void updateSpeed(uint32_t deltaTimeMs)=0
Update the speed estimate based on elapsed time.
virtual void registerCallback(void(*callback)(void *), void *userData)=0
Register a callback to be invoked on relevant events (e.g., input change, update).
virtual void setSpeedSource(ISpeedSource &speedSource)=0
Set the speed source (e.g., encoder, estimator) for this model.
Represents a speed measurement with unit conversion support.
Definition: Speed.h:40