|
TinyRobotics
|
Tracks 3D position and orientation of a robot using velocity and angular rates. More...
#include <Odometry3D.h>

Public Member Functions | |
| Odometry3D (MessageSource &vehicle, IOdometryModel3D &model) | |
| bool | begin (Coordinate< float > initialPosition={0, 0, 0}, Orientation3D initialOrientation=Orientation3D()) |
| Initialize the odometry state. | |
| void | update () |
| Update the odometry state with new velocities and angular rates. | |
| Coordinate< float > | getPosition () const |
| Get the current 3D position (meters) | |
| Orientation3D | getOrientation () const |
| Get the current orientation as Orientation3D (yaw, pitch, roll in radians) | |
| Distance | getTotalDistance () const |
| Get the total distance traveled. | |
| Distance3D | getLastDelta () const |
| Get the last delta update (dx, dy, dz) | |
Protected Attributes | |
| MessageSource & | vehicle |
| IOdometryModel3D & | model |
| Coordinate< float > | position |
| Orientation3D | orientation |
| float | totalDistance = 0.0f |
| Distance3D | lastDelta = Distance3D(0.0f, 0.0f, 0.0f, DistanceUnit::M) |
| uint32_t | lastUpdateTimeMs = 0 |
Tracks 3D position and orientation of a robot using velocity and angular rates.
This class provides simple 3D odometry for mobile robots, such as drones or underwater vehicles. It integrates linear velocity and angular velocity over time to estimate the robot's position (x, y, z) and orientation (yaw, pitch, roll) in meters and radians.
|
inline |
Initialize the odometry state.
| initialPosition | The starting position (x, y, z) in meters. |
| initialOrientation | The starting orientation (yaw, pitch, roll) in radians. |