2#include "TinyRobotics/units/Units.h"
3#include "TinyRobotics/coordinates/Coordinate.h"
5namespace tinyrobotics {
8
9
10
11
12
13
14
22
23
24
25
26
27
29
30
31
32
33
34
37 virtual Coordinate<DistanceM> getPosition()
const = 0;
38 virtual Angle getHeading()
const = 0;
39 virtual Speed getSpeed()
const = 0;
40 virtual Transform2D getTransform()
const = 0;
41 virtual bool begin(Transform2D transform) = 0;
42 virtual void end() = 0;
46
47
48
49
53
54
55
56
57
61 Coordinate<DistanceM> getPosition()
const override {
return position; }
62 Angle getHeading()
const override {
return heading; }
63 Speed getSpeed()
const override {
return speed; }
Represents an angle with unit conversion and wrap-around support.
Definition: Angle.h:42
A generic 3D coordinate class for robotics, navigation, and spatial calculations.
Definition: Coordinate.h:57
Interface for representing the navigation state of a robot in 2D space.
Definition: MotionState2D.h:35
Concrete implementation of INavigationState2D for storing and accessing 2D navigation state.
Definition: MotionState2D.h:50
MotionState2D(const Coordinate< DistanceM > &position, const Angle &heading, const Speed &speed)
Construct a new NavigationState2D object.
Definition: MotionState2D.h:58
Represents a speed measurement with unit conversion support.
Definition: Speed.h:40
Represents a 2D incremental motion update (dx, dy, dtheta).
Definition: MotionState2D.h:15