diff --git a/ArduPilotProtocol_8h_source.html b/ArduPilotProtocol_8h_source.html index 73209174..3862ce1f 100644 --- a/ArduPilotProtocol_8h_source.html +++ b/ArduPilotProtocol_8h_source.html @@ -198,7 +198,7 @@
+ Resurgence (PY2022)
+
+ Codebase for the Husky Robotics 2021-2022 rover Resurgence
+ |
+
+ Resurgence (PY2022)
+
+ Codebase for the Husky Robotics 2021-2022 rover Resurgence
+ |
+
This is the complete list of members for control::SwerveController, including all inherited members.
+checkWheelRotation(DriveMode mode, const swerve_rots_t &wheel_rots) const | control::SwerveController | |
getDriveMode() const | control::SwerveController | |
getSteerRots(DriveMode mode) const | control::SwerveController | |
setCrabCmdVel(double dtheta, double dy, const swerve_rots_t &wheel_rots) const | control::SwerveController | |
setCrabCmdVel(double dtheta, double dy, const swerve_rots_t &wheel_rots, double &scaleFactor) const | control::SwerveController | |
setDriveMode(DriveMode mode) | control::SwerveController | |
setOverride(bool override) | control::SwerveController | |
setTurnInPlaceCmdVel(double dtheta, const swerve_rots_t &wheel_rots) const | control::SwerveController | |
setTurnInPlaceCmdVel(double dtheta, const swerve_rots_t &wheel_rots, double &scaleFactor) const | control::SwerveController | |
SwerveController(double baseWidth, double baseLength, int epsilon) | control::SwerveController | |
swerveKinematics() const | control::SwerveController |
+ Resurgence (PY2022)
+
+ Codebase for the Husky Robotics 2021-2022 rover Resurgence
+ |
+
Controller to handle the wheel rotations for driving with swerve modes. + More...
+ +#include <SwerveController.h>
+Public Member Functions | |
SwerveController (double baseWidth, double baseLength, int epsilon) | |
Construct a new controller object. | |
drive_commands_t | setTurnInPlaceCmdVel (double dtheta, const swerve_rots_t &wheel_rots) const |
Request the robot to turn in place using swerve. | |
drive_commands_t | setTurnInPlaceCmdVel (double dtheta, const swerve_rots_t &wheel_rots, double &scaleFactor) const |
Request the robot to turn in place using swerve. | |
drive_commands_t | setCrabCmdVel (double dtheta, double dy, const swerve_rots_t &wheel_rots) const |
Request the robot to drive side to side and turn with given velocities using swerve. | |
drive_commands_t | setCrabCmdVel (double dtheta, double dy, const swerve_rots_t &wheel_rots, double &scaleFactor) const |
Request the robot to drive side to side and turn with given velocities using swerve. | |
const kinematics::SwerveDriveKinematics & | swerveKinematics () const |
Get the SwerveDriveKinematics object used by the controller. | |
void | setOverride (bool override) |
Set the override flag for wheel rotation checking. | |
DriveMode | getDriveMode () const |
Get the current drive mode of the controller. | |
swerve_rots_t | setDriveMode (DriveMode mode) |
Set the drive mode of the controller. | |
bool | checkWheelRotation (DriveMode mode, const swerve_rots_t &wheel_rots) const |
Check to see if all wheels are at their target position. | |
+swerve_rots_t | getSteerRots (DriveMode mode) const |
Get the wheel steer rotations for a given drive mode in millidegrees. | |
Controller to handle the wheel rotations for driving with swerve modes.
+control::SwerveController::SwerveController | +( | +double | baseWidth, | +
+ | + | double | baseLength, | +
+ | + | int | epsilon ) | +
Construct a new controller object.
+baseWidth | The width of the wheelbase. The units themselves don't matter, as long as you're consistent. |
baseLength | The length of the wheelbase. The units themselves don't matter, as long as you're consistent. |
epsilon | The allowable error from the actual wheel rotation to the wheel rotations defined by DRIVE_MODE to process a drive request |
bool SwerveController::checkWheelRotation | +( | +DriveMode | mode, | +
+ | + | const swerve_rots_t & | wheel_rots ) const | +
Check to see if all wheels are at their target position.
+mode | The drive mode to compare wheel rotations against. |
wheel_rots | The rotation of all four wheels in millidegrees |
STEER_EPSILON
of their target position OR if overide_steer_check
is true. DriveMode SwerveController::getDriveMode | +( | +) | +const | +
Get the current drive mode of the controller.
+drive_commands_t SwerveController::setCrabCmdVel | +( | +double | dtheta, | +
+ | + | double | dy, | +
+ | + | const swerve_rots_t & | wheel_rots ) const | +
Request the robot to drive side to side and turn with given velocities using swerve.
+Essentially rotate the reference frame of the robot by 90 degrees CCW.
+dtheta | The heading velocity. |
dy | The side-to-side velocity. |
wheel_rots | The rotation of all four wheels in millidegrees |
drive_commands_t SwerveController::setCrabCmdVel | +( | +double | dtheta, | +
+ | + | double | dy, | +
+ | + | const swerve_rots_t & | wheel_rots, | +
+ | + | double & | scaleFactor ) const | +
Request the robot to drive side to side and turn with given velocities using swerve.
+Essentially rotate the reference frame of the robot by 90 degrees CCW.
+dtheta | The heading velocity. |
dy | The side-to-side velocity. |
wheel_rots | The rotation of all four wheels in millidegrees |
scaleFactor | This is an output parameter. If the requested velocities are too high, they will be scaled down. The returned value is the scale divisor. If no scaling was performed, 1 is returned. |
swerve_rots_t SwerveController::setDriveMode | +( | +DriveMode | mode | ) | ++ |
Set the drive mode of the controller.
+mode | The new drive mode to set. |
void SwerveController::setOverride | +( | +bool | override | ) | ++ |
Set the override flag for wheel rotation checking.
+When set to true, the checkWheelRotation function will always return true, bypassing the wheel rotation check.
+override | Override the wheel rotation check. |
drive_commands_t SwerveController::setTurnInPlaceCmdVel | +( | +double | dtheta, | +
+ | + | const swerve_rots_t & | wheel_rots ) const | +
Request the robot to turn in place using swerve.
+dtheta | The heading velocity. |
wheel_rots | The rotation of all four wheels in millidegrees |
drive_commands_t SwerveController::setTurnInPlaceCmdVel | +( | +double | dtheta, | +
+ | + | const swerve_rots_t & | wheel_rots, | +
+ | + | double & | scaleFactor ) const | +
Request the robot to turn in place using swerve.
+dtheta | The heading velocity. |
wheel_rots | The rotation of all four wheels in millidegrees |
scaleFactor | This is an output parameter. If the requested velocities are too high, they will be scaled down. The returned value is the scale divisor. If no scaling was performed, 1 is returned. |
const kinematics::SwerveDriveKinematics & SwerveController::swerveKinematics | +( | +) | +const | +
Get the SwerveDriveKinematics object used by the controller.
+void net::mc::tasks::PowerRepeatTask::setCrabCmdVel | +( | +double | steerVel, | +
+ | + | double | xVel ) | +
Set the crab drive command to resend.
+This does not execute the drive command right now.
+void net::mc::tasks::PowerRepeatTask::setTankCmdVel | +( | +double | steerVel, | +
+ | + | double | xVel ) | +
Set the tank drive command to resend.
+This does not execute the drive command right now.
+ +void net::mc::tasks::PowerRepeatTask::setTurnInPlaceCmdVel | +( | +double | steerVel | ) | ++ |
Set the turn-in-place drive command to resend.
+This does not execute the drive command right now.
+double robot::setTankCmdVel | +( | +double | left, | +
+ | + | double | right ) | +
Request the robot to drive in tank style, where each side is controlled individually.
+left | The left velocity. |
right | The right velocity. |