![]() |
2022-Robot
Robot code for 2022 FRC Season by Argos, FRC team #1756
|
Classes | |
| class | NetworkTablesHomingStorage |
| Saves and loads swerve module homes to networkTables. More... | |
| class | SwerveHomeStorageInterface |
| Interface capable of saving and loading module home positions from persistent storage. More... | |
| struct | SwerveModulePositions |
| Representation of the absolute encoder position of each module at home position. More... | |
| struct | TranslationSpeeds |
| Translation speeds as percent max output. More... | |
Functions | |
| units::degree_t | NearestAngle (units::degree_t desiredAngle, units::degree_t referenceAngle) |
| Finds closest angle alias of desiredAngle relative to referencedAngle. All inputs are normalized so ranges are unbounded. More... | |
| units::degree_t | InvertedAngle (units::degree_t desiredAngle, units::degree_t referenceAngle) |
| Finds closest angle alias of a vector 180-degrees offset from desiredAngle relative to referencedAngle. All inputs are normalized so ranges are unbounded. More... | |
| units::degree_t | ConstrainAngle (units::degree_t inVal, units::degree_t minVal, units::degree_t maxVal) |
| Normalize angle to specified range. More... | |
| double | ConstrainAngle (double inVal, double minVal, double maxVal) |
| Normalize angle to specified range. More... | |
| frc::SwerveModuleState | Optimize (frc::SwerveModuleState desiredState, units::degree_t currentModuleAngle, units::degrees_per_second_t currentModuleAngularRate, units::feet_per_second_t currentModuleDriveVel, units::feet_per_second_t maxVelocity) |
| Optimize swerve module to minimize rotations and drive direction changes. More... | |
| template<class T , int size, class V > | |
| constexpr TranslationSpeeds | CircularInterpolate (const TranslationSpeeds rawSpeeds, const argos_lib::InterpolationMap< T, size, V > interpMap) |
| Use argos_lib::InterpolationMap to apply mapping according to joystick vector magnitude. More... | |
|
constexpr |
Use argos_lib::InterpolationMap to apply mapping according to joystick vector magnitude.
| T | Type of interpolated input |
| size | Number of elements in interpolation map |
| V | Type of interpolated output |
| rawSpeeds | Joystick inputs as percentages |
| interpMap | Interpolation map to apply to magnitudes |
| double argos_lib::swerve::ConstrainAngle | ( | double | inVal, |
| double | minVal, | ||
| double | maxVal | ||
| ) |
Normalize angle to specified range.
| inVal | Angle to constrain (degrees) |
| minVal | Normalization lower bound (degrees) |
| maxVal | Normalization upper bound (degrees) |
| units::degree_t argos_lib::swerve::ConstrainAngle | ( | units::degree_t | inVal, |
| units::degree_t | minVal, | ||
| units::degree_t | maxVal | ||
| ) |
Normalize angle to specified range.
| inVal | Angle to constrain |
| minVal | Normalization lower bound |
| maxVal | Normalization upper bound |
| units::degree_t argos_lib::swerve::InvertedAngle | ( | units::degree_t | desiredAngle, |
| units::degree_t | referenceAngle | ||
| ) |
Finds closest angle alias of a vector 180-degrees offset from desiredAngle relative to referencedAngle. All inputs are normalized so ranges are unbounded.
| desiredAngle | Angle to find 180-degree offset alias for |
| referenceAngle | Defines desired alias range |
| units::degree_t argos_lib::swerve::NearestAngle | ( | units::degree_t | desiredAngle, |
| units::degree_t | referenceAngle | ||
| ) |
Finds closest angle alias of desiredAngle relative to referencedAngle. All inputs are normalized so ranges are unbounded.
| desiredAngle | Angle to find alias for |
| referenceAngle | Defines desired alias range |
| frc::SwerveModuleState argos_lib::swerve::Optimize | ( | frc::SwerveModuleState | desiredState, |
| units::degree_t | currentModuleAngle, | ||
| units::degrees_per_second_t | currentModuleAngularRate, | ||
| units::feet_per_second_t | currentModuleDriveVel, | ||
| units::feet_per_second_t | maxVelocity | ||
| ) |
Optimize swerve module to minimize rotations and drive direction changes.
| desiredState | Requested state. Output must result in same motion |
| currentModuleAngle | Module rotation angle in relative or absolute position |
| currentModuleAngularRate | Current module rotation speed. To prevent rapid changes in rotation direction. |
| currentModuleDriveVel | Current module drive velocity. To prevent rapid changes in drive motor velocity. |
| maxVelocity | Max velocity for determining max transition change thresholds |