2#include "TinyRobotics/coordinates/Coordinate.h"
3#include "TinyRobotics/coordinates/Orientation3D.h"
4#include "TinyRobotics/units/AngularVelocity.h"
5#include "TinyRobotics/units/Distance.h"
6#include "TinyRobotics/units/Speed.h"
8namespace tinyrobotics {
11
12
13
14
15
16
17
28
29
30
31
32
33
36 virtual Coordinate<DistanceM> getPosition()
const = 0;
38 virtual Speed3D getSpeed()
const = 0;
43
44
45
46
47
48
49
50
51
52
55 MotionState3D(
const Coordinate<DistanceM>& position,
59 orientation(orientation),
61 angularVelocity(angularVelocity) {}
63 Coordinate<DistanceM> getPosition()
const override {
return position; }
64 Orientation3D getOrientation()
const override {
return orientation; }
65 Speed3D getSpeed()
const override {
return speed; }
67 return angularVelocity;
Represents a 3D angular velocity vector with unit support.
Definition: AngularVelocity.h:134
A generic 3D coordinate class for robotics, navigation, and spatial calculations.
Definition: Coordinate.h:57
Interface for representing the motion state of a robot in 3D space.
Definition: MotionState3D.h:34
Represents the full 3D motion state of a robot or vehicle.
Definition: MotionState3D.h:53
Simple 3D orientation class (yaw, pitch, roll in radians)
Definition: Orientation3D.h:13
Represents a 3D incremental motion update (dx, dy, dz, dyaw, dpitch, droll).
Definition: MotionState3D.h:18