Updated to 2024.4.8.8

This commit is contained in:
thenetworkgrinch
2024-06-13 17:10:51 -05:00
parent d308949806
commit 073ba711e0
112 changed files with 611 additions and 411 deletions

View File

@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Wed Feb 28 13:21:31 CST 2024 -->
<!-- Generated by javadoc (17) on Thu Jun 13 17:09:44 CDT 2024 -->
<title>SwerveDrive</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-02-28">
<meta name="dc.created" content="2024-06-13">
<meta name="description" content="declaration: package: swervelib, class: SwerveDrive">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
@@ -107,89 +107,94 @@ loadScripts(document, 'script');</script>
<div class="block">Correct chassis velocity in <a href="#drive(edu.wpi.first.math.geometry.Translation2d,double,boolean,boolean)"><code>drive(Translation2d, double, boolean, boolean)</code></a> using 254's
correction.</div>
</div>
<div class="col-first odd-row-color"><code>edu.wpi.first.wpilibj.smartdashboard.Field2d</code></div>
<div class="col-second odd-row-color"><code><a href="#field" class="member-name-link">field</a></code></div>
<div class="col-first odd-row-color"><code>private double</code></div>
<div class="col-second odd-row-color"><code><a href="#discretizationdtSeconds" class="member-name-link">discretizationdtSeconds</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Amount of seconds the duration of the timestep the speeds should be applied for.</div>
</div>
<div class="col-first even-row-color"><code>edu.wpi.first.wpilibj.smartdashboard.Field2d</code></div>
<div class="col-second even-row-color"><code><a href="#field" class="member-name-link">field</a></code></div>
<div class="col-last even-row-color">
<div class="block">Field object.</div>
</div>
<div class="col-first even-row-color"><code>private double</code></div>
<div class="col-second even-row-color"><code><a href="#HEADING_CORRECTION_DEADBAND" class="member-name-link">HEADING_CORRECTION_DEADBAND</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private double</code></div>
<div class="col-second odd-row-color"><code><a href="#HEADING_CORRECTION_DEADBAND" class="member-name-link">HEADING_CORRECTION_DEADBAND</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Deadband for speeds in heading correction.</div>
</div>
<div class="col-first odd-row-color"><code>boolean</code></div>
<div class="col-second odd-row-color"><code><a href="#headingCorrection" class="member-name-link">headingCorrection</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>boolean</code></div>
<div class="col-second even-row-color"><code><a href="#headingCorrection" class="member-name-link">headingCorrection</a></code></div>
<div class="col-last even-row-color">
<div class="block">Whether to correct heading when driving translationally.</div>
</div>
<div class="col-first even-row-color"><code>private <a href="imu/SwerveIMU.html" title="class in swervelib.imu">SwerveIMU</a></code></div>
<div class="col-second even-row-color"><code><a href="#imu" class="member-name-link">imu</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private <a href="imu/SwerveIMU.html" title="class in swervelib.imu">SwerveIMU</a></code></div>
<div class="col-second odd-row-color"><code><a href="#imu" class="member-name-link">imu</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Swerve IMU device for sensing the heading of the robot.</div>
</div>
<div class="col-first odd-row-color"><code>final <a href="parser/Cache.html" title="class in swervelib.parser">Cache</a>&lt;edu.wpi.first.math.geometry.Rotation3d&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#imuReadingCache" class="member-name-link">imuReadingCache</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final <a href="parser/Cache.html" title="class in swervelib.parser">Cache</a>&lt;edu.wpi.first.math.geometry.Rotation3d&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#imuReadingCache" class="member-name-link">imuReadingCache</a></code></div>
<div class="col-last even-row-color">
<div class="block">IMU reading cache for robot readings.</div>
</div>
<div class="col-first even-row-color"><code>final edu.wpi.first.math.kinematics.SwerveDriveKinematics</code></div>
<div class="col-second even-row-color"><code><a href="#kinematics" class="member-name-link">kinematics</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>final edu.wpi.first.math.kinematics.SwerveDriveKinematics</code></div>
<div class="col-second odd-row-color"><code><a href="#kinematics" class="member-name-link">kinematics</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Swerve Kinematics object.</div>
</div>
<div class="col-first odd-row-color"><code>private double</code></div>
<div class="col-second odd-row-color"><code><a href="#lastHeadingRadians" class="member-name-link">lastHeadingRadians</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>private double</code></div>
<div class="col-second even-row-color"><code><a href="#lastHeadingRadians" class="member-name-link">lastHeadingRadians</a></code></div>
<div class="col-last even-row-color">
<div class="block">The last heading set in radians.</div>
</div>
<div class="col-first even-row-color"><code>private double</code></div>
<div class="col-second even-row-color"><code><a href="#maxSpeedMPS" class="member-name-link">maxSpeedMPS</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private double</code></div>
<div class="col-second odd-row-color"><code><a href="#maxSpeedMPS" class="member-name-link">maxSpeedMPS</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Maximum speed of the robot in meters per second.</div>
</div>
<div class="col-first odd-row-color"><code>private int</code></div>
<div class="col-second odd-row-color"><code><a href="#moduleSynchronizationCounter" class="member-name-link">moduleSynchronizationCounter</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>private int</code></div>
<div class="col-second even-row-color"><code><a href="#moduleSynchronizationCounter" class="member-name-link">moduleSynchronizationCounter</a></code></div>
<div class="col-last even-row-color">
<div class="block">Counter to synchronize the modules relative encoder with absolute encoder when not moving.</div>
</div>
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/Lock.html" title="class or interface in java.util.concurrent.locks" class="external-link">Lock</a></code></div>
<div class="col-second even-row-color"><code><a href="#odometryLock" class="member-name-link">odometryLock</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/locks/Lock.html" title="class or interface in java.util.concurrent.locks" class="external-link">Lock</a></code></div>
<div class="col-second odd-row-color"><code><a href="#odometryLock" class="member-name-link">odometryLock</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Odometry lock to ensure thread safety.</div>
</div>
<div class="col-first odd-row-color"><code>private final edu.wpi.first.wpilibj.Notifier</code></div>
<div class="col-second odd-row-color"><code><a href="#odometryThread" class="member-name-link">odometryThread</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>private final edu.wpi.first.wpilibj.Notifier</code></div>
<div class="col-second even-row-color"><code><a href="#odometryThread" class="member-name-link">odometryThread</a></code></div>
<div class="col-last even-row-color">
<div class="block">WPILib <code>Notifier</code> to keep odometry up to date.</div>
</div>
<div class="col-first even-row-color"><code>private <a href="simulation/SwerveIMUSimulation.html" title="class in swervelib.simulation">SwerveIMUSimulation</a></code></div>
<div class="col-second even-row-color"><code><a href="#simIMU" class="member-name-link">simIMU</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private <a href="simulation/SwerveIMUSimulation.html" title="class in swervelib.simulation">SwerveIMUSimulation</a></code></div>
<div class="col-second odd-row-color"><code><a href="#simIMU" class="member-name-link">simIMU</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Simulation of the swerve drive.</div>
</div>
<div class="col-first odd-row-color"><code><a href="SwerveController.html" title="class in swervelib">SwerveController</a></code></div>
<div class="col-second odd-row-color"><code><a href="#swerveController" class="member-name-link">swerveController</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code><a href="SwerveController.html" title="class in swervelib">SwerveController</a></code></div>
<div class="col-second even-row-color"><code><a href="#swerveController" class="member-name-link">swerveController</a></code></div>
<div class="col-last even-row-color">
<div class="block">Swerve controller for controlling heading of the robot.</div>
</div>
<div class="col-first even-row-color"><code>final <a href="parser/SwerveDriveConfiguration.html" title="class in swervelib.parser">SwerveDriveConfiguration</a></code></div>
<div class="col-second even-row-color"><code><a href="#swerveDriveConfiguration" class="member-name-link">swerveDriveConfiguration</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>final <a href="parser/SwerveDriveConfiguration.html" title="class in swervelib.parser">SwerveDriveConfiguration</a></code></div>
<div class="col-second odd-row-color"><code><a href="#swerveDriveConfiguration" class="member-name-link">swerveDriveConfiguration</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Swerve drive configuration.</div>
</div>
<div class="col-first odd-row-color"><code>final edu.wpi.first.math.estimator.SwerveDrivePoseEstimator</code></div>
<div class="col-second odd-row-color"><code><a href="#swerveDrivePoseEstimator" class="member-name-link">swerveDrivePoseEstimator</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final edu.wpi.first.math.estimator.SwerveDrivePoseEstimator</code></div>
<div class="col-second even-row-color"><code><a href="#swerveDrivePoseEstimator" class="member-name-link">swerveDrivePoseEstimator</a></code></div>
<div class="col-last even-row-color">
<div class="block">Swerve odometry.</div>
</div>
<div class="col-first even-row-color"><code>private final <a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>[]</code></div>
<div class="col-second even-row-color"><code><a href="#swerveModules" class="member-name-link">swerveModules</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>private final <a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>[]</code></div>
<div class="col-second odd-row-color"><code><a href="#swerveModules" class="member-name-link">swerveModules</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Swerve modules.</div>
</div>
<div class="col-first odd-row-color"><code>private final <a href="telemetry/Alert.html" title="class in swervelib.telemetry">Alert</a></code></div>
<div class="col-second odd-row-color"><code><a href="#tunerXRecommendation" class="member-name-link">tunerXRecommendation</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>private final <a href="telemetry/Alert.html" title="class in swervelib.telemetry">Alert</a></code></div>
<div class="col-second even-row-color"><code><a href="#tunerXRecommendation" class="member-name-link">tunerXRecommendation</a></code></div>
<div class="col-last even-row-color">
<div class="block">Alert to recommend Tuner X if the configuration is compatible.</div>
</div>
</div>
@@ -289,141 +294,154 @@ loadScripts(document, 'script');</script>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Secondary method of controlling the drive base given velocity and adjusting it for field oriented use.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;edu.wpi.first.math.geometry.Translation3d&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAccel()" class="member-name-link">getAccel</a>()</code></div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#driveFieldOrientedandRobotOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.kinematics.ChassisSpeeds)" class="member-name-link">driveFieldOrientedandRobotOriented</a><wbr>(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;fieldOrientedVelocity,
edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;robotOrientedVelocity)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Tertiary method of controlling the drive base given velocity in both field oriented and robot oriented at the same
time.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a>&lt;edu.wpi.first.math.geometry.Translation3d&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAccel()" class="member-name-link">getAccel</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets current acceleration of the robot in m/s/s.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.ChassisSpeeds</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFieldVelocity()" class="member-name-link">getFieldVelocity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.ChassisSpeeds</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getFieldVelocity()" class="member-name-link">getFieldVelocity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current field-relative velocity (x, y and omega) of the robot</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="imu/SwerveIMU.html" title="class in swervelib.imu">SwerveIMU</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGyro()" class="member-name-link">getGyro</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="imu/SwerveIMU.html" title="class in swervelib.imu">SwerveIMU</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGyro()" class="member-name-link">getGyro</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Getter for the <a href="imu/SwerveIMU.html" title="class in swervelib.imu"><code>SwerveIMU</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation3d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGyroRotation3d()" class="member-name-link">getGyroRotation3d</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation3d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGyroRotation3d()" class="member-name-link">getGyroRotation3d</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current gyro <code>Rotation3d</code> of the robot, as reported by the imu.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaximumAngularVelocity()" class="member-name-link">getMaximumAngularVelocity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaximumAngularVelocity()" class="member-name-link">getMaximumAngularVelocity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the maximum angular velocity, either <a href="#attainableMaxRotationalVelocityRadiansPerSecond"><code>attainableMaxRotationalVelocityRadiansPerSecond</code></a> or
<a href="parser/SwerveControllerConfiguration.html#maxAngularVelocity"><code>SwerveControllerConfiguration.maxAngularVelocity</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaximumVelocity()" class="member-name-link">getMaximumVelocity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMaximumVelocity()" class="member-name-link">getMaximumVelocity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the maximum velocity from <a href="#attainableMaxTranslationalSpeedMetersPerSecond"><code>attainableMaxTranslationalSpeedMetersPerSecond</code></a> or
<a href="#maxSpeedMPS"><code>maxSpeedMPS</code></a> whichever is higher.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModuleMap()" class="member-name-link">getModuleMap</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModuleMap()" class="member-name-link">getModuleMap</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the <a href="SwerveModule.html" title="class in swervelib"><code>SwerveModule</code></a>'s as a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link"><code>HashMap</code></a> where the key is the swerve module configuration name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.SwerveModulePosition[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModulePositions()" class="member-name-link">getModulePositions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.SwerveModulePosition[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModulePositions()" class="member-name-link">getModulePositions</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current module positions (azimuth and wheel position (meters)).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModules()" class="member-name-link">getModules</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SwerveModule.html" title="class in swervelib">SwerveModule</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getModules()" class="member-name-link">getModules</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the <a href="SwerveModule.html" title="class in swervelib"><code>SwerveModule</code></a>s associated with the <a href="SwerveDrive.html" title="class in swervelib"><code>SwerveDrive</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOdometryHeading()" class="member-name-link">getOdometryHeading</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOdometryHeading()" class="member-name-link">getOdometryHeading</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Fetch the latest odometry heading, should be trusted over <a href="#getYaw()"><code>getYaw()</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPitch()" class="member-name-link">getPitch</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPitch()" class="member-name-link">getPitch</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current pitch angle of the robot, as reported by the imu.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Pose2d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPose()" class="member-name-link">getPose</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Pose2d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPose()" class="member-name-link">getPose</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current pose (position and rotation) of the robot, as reported by odometry.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.ChassisSpeeds</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRobotVelocity()" class="member-name-link">getRobotVelocity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.ChassisSpeeds</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRobotVelocity()" class="member-name-link">getRobotVelocity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current robot-relative velocity (x, y and omega) of the robot</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRoll()" class="member-name-link">getRoll</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRoll()" class="member-name-link">getRoll</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current roll angle of the robot, as reported by the imu.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.SwerveModuleState[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStates()" class="member-name-link">getStates</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.kinematics.SwerveModuleState[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStates()" class="member-name-link">getStates</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current module states (azimuth and velocity)</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SwerveController.html" title="class in swervelib">SwerveController</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSwerveController()" class="member-name-link">getSwerveController</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SwerveController.html" title="class in swervelib">SwerveController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSwerveController()" class="member-name-link">getSwerveController</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Helper function to get the <a href="#swerveController"><code>swerveController</code></a> for the <a href="SwerveDrive.html" title="class in swervelib"><code>SwerveDrive</code></a> which can be used to
generate <code>ChassisSpeeds</code> for the robot to orient it correctly given axis or angles, and apply
<code>SlewRateLimiter</code> to given inputs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Pose2d[]</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSwerveModulePoses(edu.wpi.first.math.geometry.Pose2d)" class="member-name-link">getSwerveModulePoses</a><wbr>(edu.wpi.first.math.geometry.Pose2d&nbsp;robotPose)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Pose2d[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSwerveModulePoses(edu.wpi.first.math.geometry.Pose2d)" class="member-name-link">getSwerveModulePoses</a><wbr>(edu.wpi.first.math.geometry.Pose2d&nbsp;robotPose)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the swerve module poses and on the field relative to the robot.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getYaw()" class="member-name-link">getYaw</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>edu.wpi.first.math.geometry.Rotation2d</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getYaw()" class="member-name-link">getYaw</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Gets the current yaw angle of the robot, as reported by the imu.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#lockPose()" class="member-name-link">lockPose</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#lockPose()" class="member-name-link">lockPose</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Point all modules toward the robot center, thus making the robot very difficult to move.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#postTrajectory(edu.wpi.first.math.trajectory.Trajectory)" class="member-name-link">postTrajectory</a><wbr>(edu.wpi.first.math.trajectory.Trajectory&nbsp;trajectory)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#postTrajectory(edu.wpi.first.math.trajectory.Trajectory)" class="member-name-link">postTrajectory</a><wbr>(edu.wpi.first.math.trajectory.Trajectory&nbsp;trajectory)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Post the trajectory to the field</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#pushOffsetsToControllers()" class="member-name-link">pushOffsetsToControllers</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#pushOffsetsToEncoders()" class="member-name-link">pushOffsetsToEncoders</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Pushes the Absolute Encoder offsets to the Encoder or Motor Controller, depending on type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)" class="member-name-link">replaceSwerveModuleFeedforward</a><wbr>(edu.wpi.first.math.controller.SimpleMotorFeedforward&nbsp;driveFeedforward)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#replaceSwerveModuleFeedforward(edu.wpi.first.math.controller.SimpleMotorFeedforward)" class="member-name-link">replaceSwerveModuleFeedforward</a><wbr>(edu.wpi.first.math.controller.SimpleMotorFeedforward&nbsp;driveFeedforward)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Setup the swerve module feedforward.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetDriveEncoders()" class="member-name-link">resetDriveEncoders</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetDriveEncoders()" class="member-name-link">resetDriveEncoders</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Reset the drive encoders on the robot, useful when manually resetting the robot without a reboot, like in
autonomous.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetOdometry(edu.wpi.first.math.geometry.Pose2d)" class="member-name-link">resetOdometry</a><wbr>(edu.wpi.first.math.geometry.Pose2d&nbsp;pose)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetOdometry(edu.wpi.first.math.geometry.Pose2d)" class="member-name-link">resetOdometry</a><wbr>(edu.wpi.first.math.geometry.Pose2d&nbsp;pose)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Resets odometry to the given pose.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restoreInternalOffset()" class="member-name-link">restoreInternalOffset</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#restoreInternalOffset()" class="member-name-link">restoreInternalOffset</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Restores Internal YAGSL Encoder offsets and sets the Encoder stored offset back to 0</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setAngleMotorConversionFactor(double)" class="member-name-link">setAngleMotorConversionFactor</a><wbr>(double&nbsp;conversionFactor)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setAngleMotorConversionFactor(double)" class="member-name-link">setAngleMotorConversionFactor</a><wbr>(double&nbsp;conversionFactor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Set the conversion factor for the angle/azimuth motor controller.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setChassisDiscretization(boolean,double)" class="member-name-link">setChassisDiscretization</a><wbr>(boolean&nbsp;enable,
double&nbsp;dtSeconds)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the Chassis discretization seconds as well as enableing/disabling the Chassis velocity correction</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setChassisSpeeds(edu.wpi.first.math.kinematics.ChassisSpeeds)" class="member-name-link">setChassisSpeeds</a><wbr>(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;chassisSpeeds)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
@@ -636,6 +654,13 @@ loadScripts(document, 'script');</script>
</section>
</li>
<li>
<section class="detail" id="discretizationdtSeconds">
<h3>discretizationdtSeconds</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">discretizationdtSeconds</span></div>
<div class="block">Amount of seconds the duration of the timestep the speeds should be applied for.</div>
</section>
</li>
<li>
<section class="detail" id="HEADING_CORRECTION_DEADBAND">
<h3>HEADING_CORRECTION_DEADBAND</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">HEADING_CORRECTION_DEADBAND</span></div>
@@ -828,6 +853,20 @@ loadScripts(document, 'script');</script>
</section>
</li>
<li>
<section class="detail" id="driveFieldOrientedandRobotOriented(edu.wpi.first.math.kinematics.ChassisSpeeds,edu.wpi.first.math.kinematics.ChassisSpeeds)">
<h3>driveFieldOrientedandRobotOriented</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">driveFieldOrientedandRobotOriented</span><wbr><span class="parameters">(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;fieldOrientedVelocity,
edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;robotOrientedVelocity)</span></div>
<div class="block">Tertiary method of controlling the drive base given velocity in both field oriented and robot oriented at the same
time. The inputs are added together so this is not intneded to be used to give the driver both methods of control.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>fieldOrientedVelocity</code> - The field oriented velocties to use</dd>
<dd><code>robotOrientedVelocity</code> - The robot oriented velocties to use</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="driveFieldOriented(edu.wpi.first.math.kinematics.ChassisSpeeds)">
<h3>driveFieldOriented</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">driveFieldOriented</span><wbr><span class="parameters">(edu.wpi.first.math.kinematics.ChassisSpeeds&nbsp;velocity)</span></div>
@@ -1377,9 +1416,9 @@ loadScripts(document, 'script');</script>
</section>
</li>
<li>
<section class="detail" id="pushOffsetsToControllers()">
<h3>pushOffsetsToControllers</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">pushOffsetsToControllers</span>()</div>
<section class="detail" id="pushOffsetsToEncoders()">
<h3>pushOffsetsToEncoders</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">pushOffsetsToEncoders</span>()</div>
<div class="block">Pushes the Absolute Encoder offsets to the Encoder or Motor Controller, depending on type. Also removes the
internal offsets to prevent double offsetting.</div>
</section>
@@ -1404,6 +1443,20 @@ loadScripts(document, 'script');</script>
</dl>
</section>
</li>
<li>
<section class="detail" id="setChassisDiscretization(boolean,double)">
<h3>setChassisDiscretization</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setChassisDiscretization</span><wbr><span class="parameters">(boolean&nbsp;enable,
double&nbsp;dtSeconds)</span></div>
<div class="block">Sets the Chassis discretization seconds as well as enableing/disabling the Chassis velocity correction</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>enable</code> - Enable chassis velocity correction, which will use
<code>ChassisSpeeds.discretize(ChassisSpeeds, double)</code> with the following.</dd>
<dd><code>dtSeconds</code> - The duration of the timestep the speeds should be applied for.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>