Updated swerve module optimizations and moved math to SwerveMath.

This commit is contained in:
thenetworkgrinch
2023-03-29 07:24:24 -05:00
parent 8d83836a8a
commit d160c01364
121 changed files with 813 additions and 597 deletions

View File

@@ -1,11 +1,11 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Tue Mar 28 10:14:05 CDT 2023 -->
<!-- Generated by javadoc (17) on Wed Mar 29 07:20:20 CDT 2023 -->
<title>SwerveModulePhysicalCharacteristics</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="2023-03-28">
<meta name="dc.created" content="2023-03-29">
<meta name="description" content="declaration: package: swervelib.parser, class: SwerveModulePhysicalCharacteristics">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
@@ -108,43 +108,49 @@ loadScripts(document, 'script');</script>
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#angleMotorRampRate" class="member-name-link">angleMotorRampRate</a></code></div>
<div class="col-second even-row-color"><code><a href="#angleMotorKV" class="member-name-link">angleMotorKV</a></code></div>
<div class="col-last even-row-color">
<div class="block">Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that
your drive train does not drift towards the direction you are rotating while you translate.</div>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#angleMotorRampRate" class="member-name-link">angleMotorRampRate</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</div>
<div class="col-first odd-row-color"><code>final int</code></div>
<div class="col-second odd-row-color"><code><a href="#driveEncoderPulsePerRotation" class="member-name-link">driveEncoderPulsePerRotation</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final int</code></div>
<div class="col-second even-row-color"><code><a href="#driveEncoderPulsePerRotation" class="member-name-link">driveEncoderPulsePerRotation</a></code></div>
<div class="col-last even-row-color">
<div class="block">Drive motor encoder pulse per rotation.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#driveGearRatio" class="member-name-link">driveGearRatio</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#driveGearRatio" class="member-name-link">driveGearRatio</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Drive gear ratio.</div>
</div>
<div class="col-first odd-row-color"><code>final int</code></div>
<div class="col-second odd-row-color"><code><a href="#driveMotorCurrentLimit" class="member-name-link">driveMotorCurrentLimit</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final int</code></div>
<div class="col-second even-row-color"><code><a href="#driveMotorCurrentLimit" class="member-name-link">driveMotorCurrentLimit</a></code></div>
<div class="col-last even-row-color">
<div class="block">Current limits for the Swerve Module.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#driveMotorRampRate" class="member-name-link">driveMotorRampRate</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#driveMotorRampRate" class="member-name-link">driveMotorRampRate</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The time it takes for the motor to go from 0 to full throttle in seconds.</div>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#optimalVoltage" class="member-name-link">optimalVoltage</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#optimalVoltage" class="member-name-link">optimalVoltage</a></code></div>
<div class="col-last even-row-color">
<div class="block">Optimal voltage of the robot.</div>
</div>
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#wheelDiameter" class="member-name-link">wheelDiameter</a></code></div>
<div class="col-last even-row-color">
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#wheelDiameter" class="member-name-link">wheelDiameter</a></code></div>
<div class="col-last odd-row-color">
<div class="block">Wheel diameter in meters.</div>
</div>
<div class="col-first odd-row-color"><code>final double</code></div>
<div class="col-second odd-row-color"><code><a href="#wheelGripCoefficientOfFriction" class="member-name-link">wheelGripCoefficientOfFriction</a></code></div>
<div class="col-last odd-row-color">
<div class="col-first even-row-color"><code>final double</code></div>
<div class="col-second even-row-color"><code><a href="#wheelGripCoefficientOfFriction" class="member-name-link">wheelGripCoefficientOfFriction</a></code></div>
<div class="col-last even-row-color">
<div class="block">Wheel grip tape coefficient of friction on carpet, as described by the vendor.</div>
</div>
</div>
@@ -169,7 +175,7 @@ loadScripts(document, 'script');</script>
<div class="col-last even-row-color">
<div class="block">Construct the swerve module physical characteristics.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int,double,double,int,int)" class="member-name-link">SwerveModulePhysicalCharacteristics</a><wbr>(double&nbsp;driveGearRatio,
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(double,double,double,double,double,double,int,int,double,double,int,int,double)" class="member-name-link">SwerveModulePhysicalCharacteristics</a><wbr>(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
double&nbsp;angleMotorFreeSpeedRPM,
double&nbsp;wheelDiameter,
@@ -180,7 +186,8 @@ loadScripts(document, 'script');</script>
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</code></div>
int&nbsp;angleEncoderPulsePerRotation,
double&nbsp;angleMotorKV)</code></div>
<div class="col-last odd-row-color">
<div class="block">Construct the swerve module physical characteristics.</div>
</div>
@@ -289,6 +296,15 @@ loadScripts(document, 'script');</script>
<div class="block">Free speed rotations per minute of the motor, as described by the vendor.</div>
</section>
</li>
<li>
<section class="detail" id="angleMotorKV">
<h3>angleMotorKV</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">angleMotorKV</span></div>
<div class="block">Angle motor kV used for second order kinematics to tune the feedforward, this variable should be adjusted so that
your drive train does not drift towards the direction you are rotating while you translate. When set to 0 the
calculated kV will be used.</div>
</section>
</li>
</ul>
</section>
</li>
@@ -298,7 +314,7 @@ loadScripts(document, 'script');</script>
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(double,double,double,double,double,double,int,int,double,double,int,int)">
<section class="detail" id="&lt;init&gt;(double,double,double,double,double,double,int,int,double,double,int,int,double)">
<h3>SwerveModulePhysicalCharacteristics</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SwerveModulePhysicalCharacteristics</span><wbr><span class="parameters">(double&nbsp;driveGearRatio,
double&nbsp;angleGearRatio,
@@ -311,7 +327,8 @@ loadScripts(document, 'script');</script>
double&nbsp;driveMotorRampRate,
double&nbsp;angleMotorRampRate,
int&nbsp;driveEncoderPulsePerRotation,
int&nbsp;angleEncoderPulsePerRotation)</span></div>
int&nbsp;angleEncoderPulsePerRotation,
double&nbsp;angleMotorKV)</span></div>
<div class="block">Construct the swerve module physical characteristics.</div>
<dl class="notes">
<dt>Parameters:</dt>