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

#include <tank_kinematics_constraint.h>

Description

Trajectory constraint that limits velocity and acceleration based on tank drive kinematics and maximum wheel constraints.

Inheritance diagram for TankKinematicsConstraint:

Public Member Functions

 TankKinematicsConstraint (units::Length track_width, units::Velocity max_speed, units::Acceleration max_acceleration=10000_inps2)
 Constructs a TankKinematicsConstraint.
 TankKinematicsConstraint (const TankKinematics &kinematics, units::Velocity max_speed, units::Acceleration max_acceleration=10000_inps2)
 Constructs a TankKinematicsConstraint from TankKinematics.
units::Velocity max_velocity (const Pose2d &pose, units::Curvature curvature, units::Velocity velocity) const override
 Computes maximum allowed chassis velocity to keep wheel speeds within limits during turns.
MinMax min_max_acceleration (const Pose2d &pose, units::Curvature curvature, units::Velocity speed) const override
 Computes minimum and maximum allowed linear accelerations.
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

◆ TankKinematicsConstraint() [1/2]

TankKinematicsConstraint::TankKinematicsConstraint ( units::Length track_width,
units::Velocity max_speed,
units::Acceleration max_acceleration = 10000_inps2 )
inline

Constructs a TankKinematicsConstraint.

Parameters
track_widthRobot track width (distance between left and right wheels).
max_speedMaximum allowed speed of a single wheel.
max_accelerationMaximum allowed acceleration of a single wheel.

◆ TankKinematicsConstraint() [2/2]

TankKinematicsConstraint::TankKinematicsConstraint ( const TankKinematics & kinematics,
units::Velocity max_speed,
units::Acceleration max_acceleration = 10000_inps2 )
inline

Constructs a TankKinematicsConstraint from TankKinematics.

Parameters
kinematicsDifferential drive kinematics model.
max_speedMaximum allowed speed of a single wheel.
max_accelerationMaximum allowed acceleration of a single wheel.

Member Function Documentation

◆ clone()

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

Creates an independent copy of this constraint.

Returns
Unique pointer to cloned TankKinematicsConstraint instance.

Implements TrajectoryConstraint.

◆ max_velocity()

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

Computes maximum allowed chassis velocity to keep wheel speeds within limits during turns.

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

Implements TrajectoryConstraint.

◆ min_max_acceleration()

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

Computes minimum and maximum allowed linear accelerations.

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: