Fang-Robotics-MCB
Fang Robotics Team Codebase
Loading...
Searching...
No Matches
fang::chassis::AbstractMecanumCalculator Class Reference

#include <abstract_mecanum_calculator.hpp>

Public Member Functions

 AbstractMecanumCalculator ()
 
void setWheelSpeeds (const AbstractQuadSpeeds &quadDriveData)
 
AbstractVelocity2D getTranslation () const
 
double getRotationOffset () const
 

Detailed Description

This provides values that "move" in the way that can abstractly decribe mecanum movement without units. It allows the programmer to send "intuitive" singals without it being grounded in specific units. The regular motion calculator takes the output from this And applies the units/right side stuff from the equations 23-25 (23-24 it will multipy it by r, the radius) (25 it will multiply it by the complicated term so that the output would be in rad/s) This assumes that the wheels are at 45 degrees. This uses the equations from this paper https://research.ijcaonline.org/volume113/number3/pxc3901586.pdf This assumes the radius of the wheels are 1

Constructor & Destructor Documentation

◆ AbstractMecanumCalculator()

fang::chassis::AbstractMecanumCalculator::AbstractMecanumCalculator ( )
inline

Member Function Documentation

◆ getRotationOffset()

double fang::chassis::AbstractMecanumCalculator::getRotationOffset ( ) const

If the mecanum drive is to be assumed to be a tank drive, there would be a difference between the overrall left and right speeds of the left and right tank tracks divided by two (Because this offset will be applied to each side) Imagine the left and right tank at 0 speed. To apply a counterclockwise rotation, a lateral offset of 0.25 is appllied to each side. The left track will be -0.25 The right track will be 0.25. The difference is 0.50.

◆ getTranslation()

AbstractVelocity2D fang::chassis::AbstractMecanumCalculator::getTranslation ( ) const

Returns the movement of the robot relative to the robot. Refer to field mecanum calculator to get the translation relative to a field.

◆ setWheelSpeeds()

void fang::chassis::AbstractMecanumCalculator::setWheelSpeeds ( const AbstractQuadSpeeds quadDriveData)

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