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

#include <tank_voltage_constraint.h>

Description

Trajectory constraint that limits acceleration based on available battery voltage and motor capabilities.

Inheritance diagram for TankVoltageConstraint:

Public Member Functions

 TankVoltageConstraint (units::LinearVelocityFeedforward Kv, units::LinearAccelerationFeedforward Ka, units::Voltage max_voltage, units::Length track_width)
 Constructs a TankVoltageConstraint from track width.
 TankVoltageConstraint (units::LinearVelocityFeedforward Kv, units::LinearAccelerationFeedforward Ka, units::Voltage max_voltage, const TankKinematics &kinematics)
 Constructs a TankVoltageConstraint from TankKinematics.
units::Velocity max_velocity (const Pose2d &pose, units::Curvature curvature, units::Velocity velocity) const override
 Computes maximum allowed velocity.
MinMax min_max_acceleration (const Pose2d &pose, units::Curvature curvature, units::Velocity speed) const override
 Computes minimum and maximum allowed linear accelerations based on voltage limits.
std::unique_ptr< TrajectoryConstraint > clone () const override
 Creates an independent copy of this constraint.
Public Member Functions inherited from TrajectoryConstraint
 TrajectoryConstraint (const TrajectoryConstraint &)=default
TrajectoryConstraint & operator= (const TrajectoryConstraint &)=default
 TrajectoryConstraint (TrajectoryConstraint &&)=default
TrajectoryConstraint & operator= (TrajectoryConstraint &&)=default

Constructor & Destructor Documentation

◆ TankVoltageConstraint() [1/2]

TankVoltageConstraint::TankVoltageConstraint ( units::LinearVelocityFeedforward Kv,
units::LinearAccelerationFeedforward Ka,
units::Voltage max_voltage,
units::Length track_width )
inline

Constructs a TankVoltageConstraint from track width.

Parameters
KvLinear velocity feedforward constant.
KaLinear acceleration feedforward constant.
max_voltageMaximum available voltage.
track_widthRobot track width (distance between left and right wheels).

◆ TankVoltageConstraint() [2/2]

TankVoltageConstraint::TankVoltageConstraint ( units::LinearVelocityFeedforward Kv,
units::LinearAccelerationFeedforward Ka,
units::Voltage max_voltage,
const TankKinematics & kinematics )
inline

Constructs a TankVoltageConstraint from TankKinematics.

Parameters
KvLinear velocity feedforward constant.
KaLinear acceleration feedforward constant.
max_voltageMaximum available voltage.
kinematicsKinematics model for tank drive.

Member Function Documentation

◆ clone()

std::unique_ptr< TrajectoryConstraint > TankVoltageConstraint::clone ( ) const
inlineoverridevirtual

Creates an independent copy of this constraint.

Returns
Unique pointer to cloned TankVoltageConstraint instance.

Implements TrajectoryConstraint.

◆ max_velocity()

units::Velocity TankVoltageConstraint::max_velocity ( const Pose2d & pose,
units::Curvature curvature,
units::Velocity velocity ) const
inlineoverridevirtual

Computes maximum allowed velocity.

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

Implements TrajectoryConstraint.

◆ min_max_acceleration()

MinMax TankVoltageConstraint::min_max_acceleration ( const Pose2d & pose,
units::Curvature curvature,
units::Velocity speed ) const
inlineoverridevirtual

Computes minimum and maximum allowed linear accelerations based on voltage limits.

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

Implements TrajectoryConstraint.


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