Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/steelridgerobotics/2024waffles

Our team's 2nd iteration of swerve drive made for the 2024 season, Crescendo
https://github.com/steelridgerobotics/2024waffles

2024-crescendo crescendo frc frc-crescendo frc-robot path-planner python python-3 python3 robotpy swerve-drive wpilib

Last synced: 2 months ago
JSON representation

Our team's 2nd iteration of swerve drive made for the 2024 season, Crescendo

Awesome Lists containing this project

README

        

# Waffles
Waffles is Steel Ridge Robotics' (FRC 6343) official swerve drive codebase, which began development in late 2022.

## What is swerve drive?
Swerve drive is an omnidirectional drive train where all wheels are independently steered and driven.
This gives us unique advantages over other drive trains:

- Strafing, driving left to right, is possible and more efficient than mechanum drive trains.
- More speed conserved when turning, since the robot has no need to rotate.
- More traction with the ground than a mechanum drive train. (Can't be pushed around as easily)
- Flexing on other teams.

# Software Overview
Waffles contains the following:
- Fused CANcoders for precise steering
- Continuous wrap for optimized steering
- Motion profiling combined with [field-orientated control](https://en.m.wikipedia.org/wiki/Vector_control_(motor)) to reduce skidding and improve handling.
- Ability to switch between robot-centric and field-relative modes.
- Skidding and collision detection, to compensate for errors in autonomous driving.
- Advanced joystick mapping to ensure maximum speed.
- PathPlanner support (includes Choreo configuration)
- NavX simulation
- Full simulation support for all modes
- Auto Trajectories Visualized in Shuffleboard
- Shuffleboard and Elastic Support

# Technical Overview
Our swerve drive is comprised of the following:
- 4 swerve modules in each corner of the base frame
- 2 motors in each modules (8 motors total)
- 1 for steering the wheel (the "steer motor")
- 1 for driving/spinning the wheel (the "drive motor")

We use [Falcon 500](https://store.ctr-electronics.com/falcon-500-powered-by-talon-fx/)s for each motor,
as well as 1 [CANcoder](https://store.ctr-electronics.com/cancoder/) for each module.