3 Commits

3 changed files with 52 additions and 4 deletions

View File

@ -32,7 +32,43 @@
velocities. Use the controls to experiment with different configurations and movement patterns. velocities. Use the controls to experiment with different configurations and movement patterns.
</p> </p>
<h3>Drive Controls</h3> <h3>Control Modes</h3>
<p>The simulator offers two control modes. Switch between them using the <strong>Switch to
Keyboard/Joystick Controls</strong> or <strong>Switch to Slider Controls</strong> button.
</p>
<h4>Keyboard/Joystick Mode (Default)</h4>
<p>Control the robot using keyboard keys or on-screen joysticks (if on a touch enabled device):</p>
<ul>
<li><strong>Keyboard Controls:</strong>
<ul>
<li><strong>W:</strong> Move Forward</li>
<li><strong>A:</strong> Strafe Left</li>
<li><strong>S:</strong> Move Backward</li>
<li><strong>D:</strong> Strafe Right</li>
<li><strong>Q:</strong> Rotate Counter-Clockwise</li>
<li><strong>E:</strong> Rotate Clockwise</li>
</ul>
</li>
<li><strong>On-Screen Joysticks (Touch enabled devices only):</strong>
<ul>
<li><strong>Left Joystick:</strong> Controls translation (movement in X and Y
directions)</li>
<li><strong>Right Joystick:</strong> Controls rotation (turning)</li>
<li>Touch or click and drag within the joystick circles to control the robot</li>
<li>Joysticks take priority when active; otherwise, keyboard controls are used</li>
</ul>
</li>
<li><strong>Max Speed:</strong> Sets the maximum translation speed for keyboard/joystick input
</li>
<li><strong>Max Rotation:</strong> Sets the maximum rotation speed for keyboard/joystick input
</li>
</ul>
<h4>Slider Mode</h4>
<p>Use sliders to set precise velocity values:</p>
<ul> <ul>
<li><strong>Strafe Left/Right:</strong> Controls the robot's velocity in the X direction <li><strong>Strafe Left/Right:</strong> Controls the robot's velocity in the X direction
(field-relative). Positive values move right, negative values move left.</li> (field-relative). Positive values move right, negative values move left.</li>
@ -40,11 +76,16 @@
(field-relative). Positive values move forward, negative values move backward.</li> (field-relative). Positive values move forward, negative values move backward.</li>
<li><strong>Rotation:</strong> Controls the robot's angular velocity (turn rate) in radians per <li><strong>Rotation:</strong> Controls the robot's angular velocity (turn rate) in radians per
second. Positive values rotate counter-clockwise.</li> second. Positive values rotate counter-clockwise.</li>
<li><strong>Max Module Speed:</strong> Sets the maximum speed limit for any individual swerve
module. If calculated speeds exceed this, all modules are scaled proportionally.</li>
<li><strong>Reset Controls:</strong> Returns all velocity sliders to zero.</li> <li><strong>Reset Controls:</strong> Returns all velocity sliders to zero.</li>
</ul> </ul>
<h3>Performance Limits</h3>
<ul>
<li><strong>Max Module Speed:</strong> Sets the maximum speed limit for any individual swerve
module. If calculated speeds exceed this, all modules are scaled proportionally to maintain
the intended direction of movement.</li>
</ul>
<h3>Preset Configurations</h3> <h3>Preset Configurations</h3>
<p>Choose from 9 pre-built robot configurations ranging from 2 to 16 wheels. Each preset <p>Choose from 9 pre-built robot configurations ranging from 2 to 16 wheels. Each preset
demonstrates different module arrangements:</p> demonstrates different module arrangements:</p>
@ -317,6 +358,11 @@ if scale &lt; 1:
</div> </div>
</section> </section>
<footer id="site-footer">
<a href="https://git.munebase.dev/Munelit/swerve-visualizer">Source for this site can be found here.</a>
</footer>
</main> </main>
<script type="module" src="vendor/lucio/graham-scan.mjs"></script> <script type="module" src="vendor/lucio/graham-scan.mjs"></script>

View File

@ -232,6 +232,8 @@ tr:hover {
margin-top: var(--spacing-large); margin-top: var(--spacing-large);
border-top: 2px solid var(--border-color); border-top: 2px solid var(--border-color);
border-radius: var(--border-radius) var(--border-radius) 0 0; border-radius: var(--border-radius) var(--border-radius) 0 0;
grid-row: 4 / 5;
grid-column: 1 / 3;
} }
/* Additions for this page */ /* Additions for this page */

2
sw.js
View File

@ -1,4 +1,4 @@
const CACHE_NAME = 'v1'; const CACHE_NAME = 'v2';
const ASSETS = [ const ASSETS = [
'/', '/',
'/index.html', '/index.html',