libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::motion::Motion Class Referenceabstract

#include <motion.hpp>

Inheritance diagram for libstp::motion::Motion:
[legend]
Collaboration diagram for libstp::motion::Motion:
[legend]

Public Member Functions

 Motion (MotionContext ctx)
virtual ~Motion ()=default
virtual void start ()=0
virtual void update (double dt)=0
virtual bool isFinished () const =0

Protected Member Functions

drive::Drive & drive ()
const drive::Drive & drive () const
odometry::IOdometry & odometry ()
const odometry::IOdometry & odometry () const

Protected Attributes

MotionContext ctx_
bool started_ {false}

Detailed Description

Base interface for stateful motion primitives.

Concrete motions follow a simple lifecycle:

  • start() captures initial state and primes the controller.
  • update(dt) advances the controller by one loop iteration.
  • isFinished() reports whether the goal has been reached.

Callers are responsible for invoking update(dt) at a stable cadence.

Definition at line 32 of file motion.hpp.

Constructor & Destructor Documentation

◆ Motion()

libstp::motion::Motion::Motion ( MotionContext ctx)
inlineexplicit

Definition at line 35 of file motion.hpp.

◆ ~Motion()

virtual libstp::motion::Motion::~Motion ( )
virtualdefault

Member Function Documentation

◆ drive() [1/2]

drive::Drive & libstp::motion::Motion::drive ( )
inlinenodiscardprotected

Definition at line 46 of file motion.hpp.

◆ drive() [2/2]

const drive::Drive & libstp::motion::Motion::drive ( ) const
inlinenodiscardprotected

Definition at line 47 of file motion.hpp.

◆ isFinished()

virtual bool libstp::motion::Motion::isFinished ( ) const
nodiscardpure virtual

◆ odometry() [1/2]

odometry::IOdometry & libstp::motion::Motion::odometry ( )
inlinenodiscardprotected

Definition at line 48 of file motion.hpp.

◆ odometry() [2/2]

const odometry::IOdometry & libstp::motion::Motion::odometry ( ) const
inlinenodiscardprotected

Definition at line 49 of file motion.hpp.

◆ start()

virtual void libstp::motion::Motion::start ( )
pure virtual

◆ update()

virtual void libstp::motion::Motion::update ( double dt)
pure virtual

Member Data Documentation

◆ ctx_

MotionContext libstp::motion::Motion::ctx_
protected

Definition at line 51 of file motion.hpp.

◆ started_

bool libstp::motion::Motion::started_ {false}
protected

Definition at line 52 of file motion.hpp.


The documentation for this class was generated from the following file:
  • /home/runner/work/raccoon-lib/raccoon-lib/modules/libstp-motion/include/motion/motion.hpp