YAGSL
  • Welcome to Yet Another Swerve Document
    • Resources
  • Overview
    • What we do
    • Our Features
      • Telemetry
      • Simulation
      • Lock Pose
      • Max Speed
      • Chassis Speed Discretization
      • Vision Odometry
      • Heading Correction
      • Auto-centering Modules
      • Offset Offloading
      • Cosine Compensation
      • Module Auto-synchronization
      • Angular Velocity Compensation
    • Changelog
    • Java API
    • Example Code
    • Config Generator
    • 💸Donations
    • 👕Merch
    • Discord
  • Fundamentals
    • Swerve Drive
    • Swerve Modules
  • Bringing up swerve
    • Preface
    • Swerve Information
    • Check your gyroscope
    • Check your motors
    • Creating your first configuration
  • Configuring YAGSL
    • Getting to know your robot
      • Gear Ratio
    • Dependency Installation
    • Configuration
      • Swerve Drive Configuration
      • Physical Properties Configuration
      • PIDF Properties Configuration
        • PIDF
      • Swerve Module Configuration
      • Controller Properties Configuration
      • Device Configuration
    • Code Setup
    • Standard Conversion Factors
    • How to tune PIDF
    • When to invert?
    • Flowcharts
    • The eight steps
    • Swerve Drive Drift
    • SparkMAX Common Problems
    • Verifying your Module Locations
    • Tuning out Drift
  • Devices
    • Gyroscope
      • NavX
      • Pigeon
      • Pigeon 2.0
      • ADXRS450
      • ADIS16448
      • ADIS16470
    • Motor Controllers
      • SparkMAX
      • SparkFlex
      • TalonFX
    • Absolute Encoders
  • Analytics and Debugging
    • FRC Web Components
    • Advantage Scope
  • Product Guides
    • Java API
    • PathPlanner
    • ❌Tuning PID with REV Hardware Client
    • ❌Drive Code
  • Legacy Documentation
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub

Last updated 3 months ago

Was this helpful?

If your swerve drive uses only //, , and from please use the !

Overview

YAGSL is a Swerve Library Developed by current and former BroncBotz mentors for all FRC Teams. The goal of YAGSL is to help teams of all experience levels with all types of swerve modules to control their swerve drive as easy as a DifferentialDrive we all know. YAGSL is well documented, actively maintained, and always accepting help!

Our Philosophy

Your program does not revolve around your swerve drive. Your constants file doesn't have to take 10 minutes to find the right option. Different robots should be able to work with the same code.

Why do we exist?

Most swerve drive code out there are templates that teams are just expected to modify and fit to their robot. They are not generic and require a lot of time and effort to get working. Even after all of that effort there may be bugs that exist which may have been there all along or one of the changes you made doesn't work as you expected, etc... There is a better way!

Do you have multiple robots and don't want to change any code to get them to work the same? YAGSL has come to to the rescue! We make it so all you have to do to get a robot working with the same code is create a configuration directory!

Quick links

Get Started

We've put together some helpful guides for you to get setup with our product quickly and easily.

YAGSL Online Installation

https://broncbotz3481.github.io/YAGSL-Lib/yagsl/yagsl.json

Welcome to Yet Another Swerve Document

Brought to you by Yet Another Generic Swerve Library (YAGSL)

NextResources
  • Overview
  • Our Philosophy
  • Why do we exist?
  • Quick links
  • Get Started
  • YAGSL Online Installation
What we do
Our Features
Swerve Drive
Getting to know your robot
Configuration
Dependency Installation
Code Setup
FRC Web Components
When to invert?
How to tune PIDF
The eight steps
Falcon500
Kraken
TalonFXS
Pigeon2.0
CANCoder
CTRE
Tuner X Swerve Drive Generator