Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
DifferentialDrive.hpp File Reference

Defines and implements namespaces and functions for algorithms that pertain to differential drive (tank drive) robots. More...

Include dependency graph for DifferentialDrive.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  diffdrive::DrivePowers
 This struct is used to store the left and right drive powers for the robot. Storing these values in a struct allows for easy handling and access to said variables. More...
 

Namespaces

namespace  diffdrive
 Namespace containing algorithms related to calculating drive powers, odometry, trajectories, kinematics, etc of differential drive (tank drive) robots.
 

Enumerations

enum class  DifferentialControlMethod { eArcadeDrive , eCurvatureDrive }
 

Functions

DrivePowers diffdrive::CalculateTankDrive (double dLeftSpeed, double dRightSpeed, bool bSquareInputs=false)
 Tank drive inverse kinematics for differential drive robots.
 
DrivePowers diffdrive::CalculateArcadeDrive (double dSpeed, double dRotation, const bool bSquareInputs=false)
 Arcade drive inverse kinematics for differential drive robots.
 
DrivePowers diffdrive::CalculateCurvatureDrive (double dSpeed, double dRotation, const bool bAllowTurnInPlace, const bool bSquareInputs=false)
 Curvature drive inverse kinematics for differential drive robots. The rotation parameter controls the curvature of the robot's path rather than it's rate of heading change. This makes the robot more controllable at high speeds.
 

Detailed Description

Defines and implements namespaces and functions for algorithms that pertain to differential drive (tank drive) robots.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-09-21