WPILibC++ 2024.3.2
frc::EllipticalRegionConstraint< Constraint > Class Template Reference

Enforces a particular constraint only within an elliptical region. More...

#include <frc/trajectory/constraint/EllipticalRegionConstraint.h>

Inheritance diagram for frc::EllipticalRegionConstraint< Constraint >:
frc::TrajectoryConstraint

Public Member Functions

 EllipticalRegionConstraint (const Translation2d &center, units::meter_t xWidth, units::meter_t yWidth, const Rotation2d &rotation, const Constraint &constraint)
 Constructs a new EllipticalRegionConstraint. More...
 
units::meters_per_second_t MaxVelocity (const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t velocity) const override
 Returns the max velocity given the current pose and curvature. More...
 
MinMax MinMaxAcceleration (const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t speed) const override
 Returns the minimum and maximum allowable acceleration for the trajectory given pose, curvature, and speed. More...
 
bool IsPoseInRegion (const Pose2d &pose) const
 Returns whether the specified robot pose is within the region that the constraint is enforced in. More...
 
- Public Member Functions inherited from frc::TrajectoryConstraint
 TrajectoryConstraint ()=default
 
 TrajectoryConstraint (const TrajectoryConstraint &)=default
 
TrajectoryConstraintoperator= (const TrajectoryConstraint &)=default
 
 TrajectoryConstraint (TrajectoryConstraint &&)=default
 
TrajectoryConstraintoperator= (TrajectoryConstraint &&)=default
 
virtual ~TrajectoryConstraint ()=default
 
virtual units::meters_per_second_t MaxVelocity (const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t velocity) const =0
 Returns the max velocity given the current pose and curvature. More...
 
virtual MinMax MinMaxAcceleration (const Pose2d &pose, units::curvature_t curvature, units::meters_per_second_t speed) const =0
 Returns the minimum and maximum allowable acceleration for the trajectory given pose, curvature, and speed. More...
 

Detailed Description

template<std::derived_from< TrajectoryConstraint > Constraint>
class frc::EllipticalRegionConstraint< Constraint >

Enforces a particular constraint only within an elliptical region.

Constructor & Destructor Documentation

◆ EllipticalRegionConstraint()

template<std::derived_from< TrajectoryConstraint > Constraint>
frc::EllipticalRegionConstraint< Constraint >::EllipticalRegionConstraint ( const Translation2d center,
units::meter_t  xWidth,
units::meter_t  yWidth,
const Rotation2d rotation,
const Constraint &  constraint 
)
inline

Constructs a new EllipticalRegionConstraint.

Parameters
centerThe center of the ellipse in which to enforce the constraint.
xWidthThe width of the ellipse in which to enforce the constraint.
yWidthThe height of the ellipse in which to enforce the constraint.
rotationThe rotation to apply to all radii around the origin.
constraintThe constraint to enforce when the robot is within the region.

Member Function Documentation

◆ IsPoseInRegion()

template<std::derived_from< TrajectoryConstraint > Constraint>
bool frc::EllipticalRegionConstraint< Constraint >::IsPoseInRegion ( const Pose2d pose) const
inline

Returns whether the specified robot pose is within the region that the constraint is enforced in.

Parameters
poseThe robot pose.
Returns
Whether the robot pose is within the constraint region.

◆ MaxVelocity()

template<std::derived_from< TrajectoryConstraint > Constraint>
units::meters_per_second_t frc::EllipticalRegionConstraint< Constraint >::MaxVelocity ( const Pose2d pose,
units::curvature_t  curvature,
units::meters_per_second_t  velocity 
) const
inlineoverridevirtual

Returns the max velocity given the current pose and curvature.

Parameters
poseThe pose at the current point in the trajectory.
curvatureThe curvature at the current point in the trajectory.
velocityThe velocity at the current point in the trajectory before constraints are applied.
Returns
The absolute maximum velocity.

Implements frc::TrajectoryConstraint.

◆ MinMaxAcceleration()

template<std::derived_from< TrajectoryConstraint > Constraint>
MinMax frc::EllipticalRegionConstraint< Constraint >::MinMaxAcceleration ( const Pose2d pose,
units::curvature_t  curvature,
units::meters_per_second_t  speed 
) const
inlineoverridevirtual

Returns the minimum and maximum allowable acceleration for the trajectory given pose, curvature, and speed.

Parameters
poseThe pose at the current point in the trajectory.
curvatureThe curvature at the current point in the trajectory.
speedThe speed at the current point in the trajectory.
Returns
The min and max acceleration bounds.

Implements frc::TrajectoryConstraint.


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