Brick
Loading...
Searching...
No Matches
TrajectoryConstraint Class Referenceabstract

#include <trajectory_constraint.h>

Description

Interface for defining physical trajectory velocity and acceleration constraints.

Inheritance diagram for TrajectoryConstraint:

Classes

struct  MinMax
 Struct representing minimum and maximum allowed linear accelerations. More...

Public Member Functions

 TrajectoryConstraint (const TrajectoryConstraint &)=default
TrajectoryConstraint & operator= (const TrajectoryConstraint &)=default
 TrajectoryConstraint (TrajectoryConstraint &&)=default
TrajectoryConstraint & operator= (TrajectoryConstraint &&)=default
virtual units::Velocity max_velocity (const Pose2d &pose, units::Curvature curvature, units::Velocity velocity) const =0
 Computes maximum allowed velocity at a given pose and path curvature.
virtual MinMax min_max_acceleration (const Pose2d &pose, units::Curvature curvature, units::Velocity speed) const =0
 Computes minimum and maximum allowed linear accelerations at a given pose, curvature, and speed.
virtual std::unique_ptr< TrajectoryConstraint > clone () const =0
 Creates an independent copy of this constraint.

Member Function Documentation

◆ clone()

virtual std::unique_ptr< TrajectoryConstraint > TrajectoryConstraint::clone ( ) const
pure virtual

Creates an independent copy of this constraint.

Returns
Unique pointer to cloned TrajectoryConstraint instance.

Implemented in CentripetalAccelerationConstraint, MaxVelocityConstraint, RectangularRegionConstraint, TankKinematicsConstraint, and TankVoltageConstraint.

◆ max_velocity()

virtual units::Velocity TrajectoryConstraint::max_velocity ( const Pose2d & pose,
units::Curvature curvature,
units::Velocity velocity ) const
pure virtual

Computes maximum allowed velocity at a given pose and path curvature.

Parameters
pose2D position and orientation.
curvaturePath curvature in rad/meter.
velocityCandidate linear velocity.
Returns
Constrained units::Velocity limit.

Implemented in CentripetalAccelerationConstraint, MaxVelocityConstraint, RectangularRegionConstraint, TankKinematicsConstraint, and TankVoltageConstraint.

◆ min_max_acceleration()

virtual MinMax TrajectoryConstraint::min_max_acceleration ( const Pose2d & pose,
units::Curvature curvature,
units::Velocity speed ) const
pure virtual

Computes minimum and maximum allowed linear accelerations at a given pose, curvature, and speed.

Parameters
pose2D position and orientation.
curvaturePath curvature in rad/meter.
speedCurrent scalar speed.
Returns
MinMax acceleration bounds struct.

Implemented in CentripetalAccelerationConstraint, MaxVelocityConstraint, RectangularRegionConstraint, TankKinematicsConstraint, and TankVoltageConstraint.


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