libstp
Robotics library for Botball
Loading...
Searching...
No Matches
libstp::motion Namespace Reference

Classes

struct  ArcMotionConfig
struct  ArcMotionTelemetry
class  ArcMotion
class  CatmullRomSpline
struct  DiagonalMotionConfig
struct  DiagonalMotionTelemetry
class  DiagonalMotion
struct  DirectionalLineFollowMotionConfig
struct  DirectionalLineFollowMotionTelemetry
class  DirectionalLineFollowMotion
struct  LinearMotionConfig
struct  LinearMotionTelemetry
class  LinearMotion
struct  MotionContext
class  Motion
struct  AxisConstraints
struct  UnifiedMotionPidConfig
class  ProfiledPIDController
struct  SplineMotionConfig
struct  SplineMotionTelemetry
class  SplineMotion
class  TrapezoidalProfile
struct  TurnConfig
class  TurnMotion

Enumerations

enum class  LineFollowCorrectionMode { Angular , Lateral , Forward }
enum class  LinearAxis { Forward , Lateral }
enum class  PidType { Distance , Heading }

Functions

UnifiedMotionPidConfig defaultUnifiedMotionPidConfig ()
std::unique_ptr< foundation::PidController > createPidController (const UnifiedMotionPidConfig &unified_config, PidType type)

Variables

constexpr double kMotionEpsilon = 1e-6

Enumeration Type Documentation

◆ LinearAxis

enum class libstp::motion::LinearAxis
strong

Selects which body-frame axis LinearMotion should move along.

Enumerator
Forward 
Lateral 

Definition at line 18 of file linear_motion.hpp.

◆ LineFollowCorrectionMode

Enumerator
Angular 
Lateral 
Forward 

Definition at line 13 of file directional_line_follow_motion.hpp.

◆ PidType

enum class libstp::motion::PidType
strong

PID controller type for factory creation.

Enumerator
Distance 
Heading 

Definition at line 14 of file motion_pid.hpp.

Function Documentation

◆ createPidController()

std::unique_ptr< foundation::PidController > libstp::motion::createPidController ( const UnifiedMotionPidConfig & unified_config,
PidType type )

Factory function to create PID controllers from unified config.

Extracts the appropriate PidConfig (distance or heading) from the unified motion config and returns a ready-to-use PidController.

◆ defaultUnifiedMotionPidConfig()

UnifiedMotionPidConfig libstp::motion::defaultUnifiedMotionPidConfig ( )
inline

Default unified PID configuration.

Definition at line 97 of file motion_config.hpp.

Variable Documentation

◆ kMotionEpsilon

double libstp::motion::kMotionEpsilon = 1e-6
inlineconstexpr

Numerical tolerance for "is this float effectively zero" checks across the motion / kinematics layer. One value, one rationale: at our scales (meters, rad/s, normalised speed scales) anything below 1e-6 is below the resolution of the underlying float32 sensor data and the int-based firmware feedback path. Don't introduce new ad-hoc thresholds — use this constant or document a deliberate exception.

Definition at line 13 of file motion_config.hpp.