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

#include <tank_kinematics.h>

Description

Helper class that converts a chassis velocity (vx and omega) to left and right wheel velocities for a tank drive.

Inverse kinematics converts a desired chassis velocity into left and right velocity components whereas forward kinematics converts left and right component velocities into a linear and angular chassis velocity.

Public Member Functions

 TankKinematics (units::Length track_width)
 Constructs a tank drive kinematics object.
ChassisVelocities to_chassis_velocities (const TankWheelVelocities &wheel_velocities) const
 Returns a chassis velocity from left and right component velocities using forward kinematics.
TankWheelVelocities to_wheel_velocities (const ChassisVelocities &chassis_velocities) const
 Returns left and right component velocities from a chassis velocity using inverse kinematics.
ChassisAccelerations to_chassis_accelerations (const TankWheelAccelerations &wheel_accels) const
 Returns a chassis acceleration from left and right component accelerations using forward kinematics.
TankWheelAccelerations to_wheel_accelerations (const ChassisAccelerations &chassis_accels) const
 Returns left and right component accelerations from a chassis acceleration using inverse kinematics.

Public Attributes

units::Length track_width
 Distance between the left and right wheels (often tuned empirically).

Constructor & Destructor Documentation

◆ TankKinematics()

TankKinematics::TankKinematics ( units::Length track_width)
inlineexplicit

Constructs a tank drive kinematics object.

Parameters
track_widthThe physical (or effective) distance between left and right wheels.

Member Function Documentation

◆ to_chassis_accelerations()

ChassisAccelerations TankKinematics::to_chassis_accelerations ( const TankWheelAccelerations & wheel_accels) const
inline

Returns a chassis acceleration from left and right component accelerations using forward kinematics.

Parameters
wheel_accelsThe left and right accelerations.
Returns
The chassis acceleration.

◆ to_chassis_velocities()

ChassisVelocities TankKinematics::to_chassis_velocities ( const TankWheelVelocities & wheel_velocities) const
inline

Returns a chassis velocity from left and right component velocities using forward kinematics.

Parameters
wheel_velocitiesThe left and right velocities.
Returns
The chassis velocity.

◆ to_wheel_accelerations()

TankWheelAccelerations TankKinematics::to_wheel_accelerations ( const ChassisAccelerations & chassis_accels) const
inline

Returns left and right component accelerations from a chassis acceleration using inverse kinematics.

Parameters
chassis_accelsThe linear and angular components that represent the chassis' acceleration.
Returns
The left and right accelerations.

◆ to_wheel_velocities()

TankWheelVelocities TankKinematics::to_wheel_velocities ( const ChassisVelocities & chassis_velocities) const
inline

Returns left and right component velocities from a chassis velocity using inverse kinematics.

Parameters
chassis_velocitiesThe linear and angular components that represent the chassis' velocity.
Returns
The left and right velocities.

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