libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::motion::DiagonalMotion Class Referencefinal

#include <diagonal_motion.hpp>

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

Public Member Functions

 DiagonalMotion (MotionContext ctx, DiagonalMotionConfig config)
void start () override
void update (double dt) override
bool isFinished () const override
const std::vector< DiagonalMotionTelemetry > & getTelemetry () const
Public Member Functions inherited from libstp::motion::Motion
 Motion (MotionContext ctx)
virtual ~Motion ()=default

Additional Inherited Members

Protected Member Functions inherited from libstp::motion::Motion
drive::Drive & drive ()
const drive::Drive & drive () const
odometry::IOdometry & odometry ()
const odometry::IOdometry & odometry () const
Protected Attributes inherited from libstp::motion::Motion
MotionContext ctx_
bool started_ {false}

Detailed Description

Closed-loop controller for travel at an arbitrary body-frame angle.

This controller uses the same profile and saturation logic as LinearMotion, but resolves the commanded velocity into forward and lateral components derived from angle_rad.

Definition at line 79 of file diagonal_motion.hpp.

Constructor & Destructor Documentation

◆ DiagonalMotion()

libstp::motion::DiagonalMotion::DiagonalMotion ( MotionContext ctx,
DiagonalMotionConfig config )

Member Function Documentation

◆ getTelemetry()

const std::vector< DiagonalMotionTelemetry > & libstp::motion::DiagonalMotion::getTelemetry ( ) const
inlinenodiscard

Telemetry samples appended on each update cycle.

Definition at line 89 of file diagonal_motion.hpp.

◆ isFinished()

bool libstp::motion::DiagonalMotion::isFinished ( ) const
nodiscardoverridevirtual

Return true once the primitive has met its completion criteria.

Implements libstp::motion::Motion.

◆ start()

void libstp::motion::DiagonalMotion::start ( )
overridevirtual

Capture initial state and prepare controller internals.

Implements libstp::motion::Motion.

◆ update()

void libstp::motion::DiagonalMotion::update ( double dt)
overridevirtual

Advance the controller by one iteration using the loop delta in seconds.

Implements libstp::motion::Motion.


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