Brick
Loading...
Searching...
No Matches
TrajectoryConfig Class Reference

Public Member Functions

 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration)
 Constructs TrajectoryConfig with maximum velocity and acceleration.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, bool reversed)
 Constructs TrajectoryConfig with max velocity, max acceleration, and direction.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, units::Length track_width)
 Constructs TrajectoryConfig with max velocity, max acceleration, and track width constraint.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, const TankKinematics &kinematics)
 Constructs TrajectoryConfig with kinematics model constraint.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, units::Velocity start_velocity, units::Velocity end_velocity, bool reversed)
 Constructs TrajectoryConfig with start/end boundary velocities.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, units::Velocity start_velocity, units::Velocity end_velocity, bool reversed, units::Length track_width)
 Constructs TrajectoryConfig with full parameters.
 TrajectoryConfig (units::Velocity max_velocity, units::Acceleration max_acceleration, units::Velocity start_velocity, units::Velocity end_velocity, bool reversed, const TankKinematics &kinematics)
 Constructs TrajectoryConfig with full parameters and kinematics model.
 TrajectoryConfig (const TrajectoryConfig &other)
 Polymorphic deep-copy constructor.
TrajectoryConfig & operator= (const TrajectoryConfig &other)
 Polymorphic deep-copy assignment operator.
 TrajectoryConfig (TrajectoryConfig &&)=default
 Move constructor.
TrajectoryConfig & operator= (TrajectoryConfig &&)=default
 Move assignment.
void add_event (const std::string &name, units::Length distance)
 Adds an event triggered at a distance along the trajectory.
void set_start_velocity (units::Velocity start_velocity)
void set_end_velocity (units::Velocity end_velocity)
 Sets final trajectory velocity.
void set_reversed (bool reversed)
 Sets direction flag (reversed = true for driving backward).
void set_sample_ds (units::Length sample_ds)
 Sets spatial discretization step size for spline sampling.
void set_spline_order (SplinePath::Order order)
 Sets spline order.
void set_error_handler (std::function< void(const char *)> handler)
 Sets error handler for trajectory generation failures.
template<typename Constraint>
std::enable_if< std::is_base_of< TrajectoryConstraint, typenamestd::decay< Constraint >::type >::value, void >::type add_constraint (Constraint &&constraint)
 Adds a user-defined TrajectoryConstraint.
void set_track_width (units::Length track_width, units::Velocity max_wheel_speed, units::Acceleration max_wheel_acceleration)
 Adds a TankKinematicsConstraint using track width and explicit wheel limits.
void set_track_width (units::Length track_width, units::Velocity max_wheel_speed)
 Adds a TankKinematicsConstraint using track width and explicit max wheel speed limit.
void set_track_width (units::Length track_width)
 Adds a TankKinematicsConstraint using track width and config max velocity.
void set_kinematics (const TankKinematics &kinematics, units::Velocity max_wheel_speed, units::Acceleration max_wheel_acceleration)
 Adds a TankKinematicsConstraint using TankKinematics and explicit limits.
void set_kinematics (const TankKinematics &kinematics, units::Velocity max_wheel_speed)
 Adds a TankKinematicsConstraint using TankKinematics and explicit max wheel speed limit.
void set_kinematics (const TankKinematics &kinematics)
 Adds a TankKinematicsConstraint using TankKinematics and config max velocity.
units::Velocity start_velocity () const
units::Velocity end_velocity () const
units::Velocity max_velocity () const
units::Acceleration max_acceleration () const
units::Length sample_ds () const
const std::vector< std::unique_ptr< TrajectoryConstraint > > & constraints () const
const std::vector< DistanceEvent > & events () const
bool is_reversed () const
SplinePath::Order spline_order () const
const std::function< void(const char *)> & error_handler () const

Constructor & Destructor Documentation

◆ TrajectoryConfig() [1/5]

TrajectoryConfig::TrajectoryConfig ( units::Velocity max_velocity,
units::Acceleration max_acceleration )
inline

Constructs TrajectoryConfig with maximum velocity and acceleration.

Parameters
max_velocityMaximum physical chassis velocity limit.
max_accelerationMaximum physical chassis acceleration limit.

◆ TrajectoryConfig() [2/5]

TrajectoryConfig::TrajectoryConfig ( units::Velocity max_velocity,
units::Acceleration max_acceleration,
bool reversed )
inline

Constructs TrajectoryConfig with max velocity, max acceleration, and direction.

Parameters
max_velocityMax velocity limit.
max_accelerationMax acceleration limit.
reversedTrue to generate path in reverse direction.

◆ TrajectoryConfig() [3/5]

TrajectoryConfig::TrajectoryConfig ( units::Velocity max_velocity,
units::Acceleration max_acceleration,
units::Length track_width )
inline

Constructs TrajectoryConfig with max velocity, max acceleration, and track width constraint.

Parameters
max_velocityMax velocity limit.
max_accelerationMax acceleration limit.
track_widthDrivetrain track width for kinematics constraints.

◆ TrajectoryConfig() [4/5]

TrajectoryConfig::TrajectoryConfig ( units::Velocity max_velocity,
units::Acceleration max_acceleration,
const TankKinematics & kinematics )
inline

Constructs TrajectoryConfig with kinematics model constraint.

Parameters
max_velocityMax velocity limit.
max_accelerationMax acceleration limit.
kinematicsDifferential drive kinematics model.

◆ TrajectoryConfig() [5/5]

TrajectoryConfig::TrajectoryConfig ( units::Velocity max_velocity,
units::Acceleration max_acceleration,
units::Velocity start_velocity,
units::Velocity end_velocity,
bool reversed )
inline

Constructs TrajectoryConfig with start/end boundary velocities.

Parameters
max_velocityMax velocity limit.
max_accelerationMax acceleration limit.
start_velocityInitial trajectory velocity.
end_velocityFinal trajectory velocity.
reversedDirection flag.

Member Function Documentation

◆ add_constraint()

template<typename Constraint>
std::enable_if< std::is_base_of< TrajectoryConstraint, typenamestd::decay< Constraint >::type >::value, void >::type TrajectoryConfig::add_constraint ( Constraint && constraint)
inline

Adds a user-defined TrajectoryConstraint.

Template Parameters
ConstraintConstraint class inheriting from TrajectoryConstraint.
Parameters
constraintConstraint instance to add.

◆ constraints()

const std::vector< std::unique_ptr< TrajectoryConstraint > > & TrajectoryConfig::constraints ( ) const
inline
Returns
Vector of polymorphic trajectory constraint pointers.

◆ end_velocity()

units::Velocity TrajectoryConfig::end_velocity ( ) const
inline
Returns
Final trajectory velocity.

◆ error_handler()

const std::function< void(const char *)> & TrajectoryConfig::error_handler ( ) const
inline
Returns
Error handler callback.

◆ is_reversed()

bool TrajectoryConfig::is_reversed ( ) const
inline
Returns
True if trajectory is driven in reverse.

◆ max_acceleration()

units::Acceleration TrajectoryConfig::max_acceleration ( ) const
inline
Returns
Maximum physical acceleration limit.

◆ max_velocity()

units::Velocity TrajectoryConfig::max_velocity ( ) const
inline
Returns
Maximum physical velocity limit.

◆ sample_ds()

units::Length TrajectoryConfig::sample_ds ( ) const
inline
Returns
Spatial sampling step size for path generation.

◆ spline_order()

SplinePath::Order TrajectoryConfig::spline_order ( ) const
inline
Returns
Spline order used for path generation.

◆ start_velocity()

units::Velocity TrajectoryConfig::start_velocity ( ) const
inline
Returns
Initial trajectory velocity.

The documentation for this class was generated from the following file: