# YAGSL

## YAGSL

- [Welcome to Yet Another Swerve Document](https://docs.yagsl.com/readme.md): Brought to you by Yet Another Generic Swerve Library (YAGSL)
- [Resources](https://docs.yagsl.com/readme/resources.md)
- [What we do](https://docs.yagsl.com/overview/what-we-do.md): We make your swerve drive run!
- [Our Features](https://docs.yagsl.com/overview/our-features.md)
- [Telemetry](https://docs.yagsl.com/overview/our-features/telemetry.md)
- [Simulation](https://docs.yagsl.com/overview/our-features/simulation.md): YAGSL-Example provides simulation out of the box!
- [Lock Pose](https://docs.yagsl.com/overview/our-features/lock-pose.md): YAGSL has a helper for that!
- [Max Speed](https://docs.yagsl.com/overview/our-features/max-speed.md): This one is a bit complicated
- [Chassis Speed Discretization](https://docs.yagsl.com/overview/our-features/chassis-speed-discretization.md): More math...
- [Vision Odometry](https://docs.yagsl.com/overview/our-features/vision-odometry.md): YAGSL handles odometry for you and extends it so you can add whatever data you want!
- [Heading Correction](https://docs.yagsl.com/overview/our-features/heading-correction.md)
- [Auto-centering Modules](https://docs.yagsl.com/overview/our-features/auto-centering-modules.md): Auto-centering modules could cause some unwanted jitter which is why it is disabled by default!
- [Offset Offloading](https://docs.yagsl.com/overview/our-features/offset-offloading.md): This is only supported on some motor controllers!
- [Cosine Compensation](https://docs.yagsl.com/overview/our-features/cosine-compensation.md): This is helpful, sometimes
- [Module Auto-synchronization](https://docs.yagsl.com/overview/our-features/module-auto-synchronization.md)
- [Angular Velocity Compensation](https://docs.yagsl.com/overview/our-features/angular-velocity-compensation.md)
- [Changelog](https://docs.yagsl.com/overview/changelog.md)
- [Swerve Drive](https://docs.yagsl.com/fundamentals/swerve-drive.md): How does Swerve Drive work?
- [Swerve Modules](https://docs.yagsl.com/fundamentals/swerve-modules.md): What is a Swerve Module?
- [Preface](https://docs.yagsl.com/bringing-up-swerve/preface.md)
- [Swerve Information](https://docs.yagsl.com/bringing-up-swerve/swerve-information.md)
- [Check your gyroscope](https://docs.yagsl.com/bringing-up-swerve/check-your-gyroscope.md)
- [Check your motors](https://docs.yagsl.com/bringing-up-swerve/check-your-motors.md)
- [Creating your first configuration](https://docs.yagsl.com/bringing-up-swerve/creating-your-first-configuration.md)
- [Getting to know your robot](https://docs.yagsl.com/configuring-yagsl/getting-to-know-your-robot.md)
- [Dependency Installation](https://docs.yagsl.com/configuring-yagsl/dependency-installation.md)
- [Configuration](https://docs.yagsl.com/configuring-yagsl/configuration.md)
- [Swerve Drive Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/swerve-drive-configuration.md)
- [Physical Properties Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/physical-properties-configuration.md)
- [PIDF Properties Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/pidf-properties-configuration.md)
- [PIDF](https://docs.yagsl.com/configuring-yagsl/configuration/pidf-properties-configuration/pidf.md)
- [Swerve Module Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/swerve-module-configuration.md)
- [Controller Properties Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/controller-properties-configuration.md)
- [Device Configuration](https://docs.yagsl.com/configuring-yagsl/configuration/device-configuration.md)
- [Code Setup](https://docs.yagsl.com/configuring-yagsl/code-setup.md)
- [Standard Conversion Factors](https://docs.yagsl.com/configuring-yagsl/standard-conversion-factors.md)
- [How to tune PIDF](https://docs.yagsl.com/configuring-yagsl/how-to-tune-pidf.md)
- [When to invert?](https://docs.yagsl.com/configuring-yagsl/when-to-invert.md)
- [Flowcharts](https://docs.yagsl.com/configuring-yagsl/flowcharts.md)
- [The eight steps](https://docs.yagsl.com/configuring-yagsl/the-eight-steps.md)
- [Swerve Drive Drift](https://docs.yagsl.com/configuring-yagsl/swerve-drive-drift.md): Drift can be caused by anything and everything in a swerve drive...
- [SparkMax and SparkFlex Common Problems](https://docs.yagsl.com/configuring-yagsl/sparkmax-common-problems.md): These usually show up in MAXSwerve robots..
- [Verifying your Module Locations](https://docs.yagsl.com/configuring-yagsl/verifying-your-module-locations.md): Your front may not be what you think it is on a robot.
- [Tuning out Drift](https://docs.yagsl.com/configuring-yagsl/tuning-out-drift.md)
- [Gyroscope](https://docs.yagsl.com/devices/gyroscope.md)
- [NavX](https://docs.yagsl.com/devices/gyroscope/navx.md): Calibrating a NavX 2
- [Pigeon](https://docs.yagsl.com/devices/gyroscope/pigeon.md)
- [Pigeon 2.0](https://docs.yagsl.com/devices/gyroscope/pigeon-2.0.md)
- [ADXRS450](https://docs.yagsl.com/devices/gyroscope/adxrs450.md)
- [ADIS16448](https://docs.yagsl.com/devices/gyroscope/adis16448.md)
- [ADIS16470](https://docs.yagsl.com/devices/gyroscope/adis16470.md)
- [Motor Controllers](https://docs.yagsl.com/devices/motor-controllers.md)
- [SparkMAX](https://docs.yagsl.com/devices/motor-controllers/sparkmax.md)
- [SparkFlex](https://docs.yagsl.com/devices/motor-controllers/sparkflex.md)
- [TalonFX](https://docs.yagsl.com/devices/motor-controllers/talonfx.md)
- [Absolute Encoders](https://docs.yagsl.com/devices/absolute-encoders.md)
- [FRC Web Components](https://docs.yagsl.com/analytics-and-debugging/frc-web-components.md)
- [Advantage Scope](https://docs.yagsl.com/analytics-and-debugging/advantage-scope.md): Advantage Scope is a data visualization tool, courtesy of team 6328 Mechanical Advantage, which can visualize the Swerve Drive to give you feedback for debugging.
- [Documentation](https://docs.yagsl.com/legacy-documentation/documentation.md)
- [JSON](https://docs.yagsl.com/legacy-documentation/documentation/json.md)
- [Swerve Drive](https://docs.yagsl.com/legacy-documentation/documentation/swerve-drive.md)
- [Swerve Module](https://docs.yagsl.com/legacy-documentation/documentation/swerve-module.md)
- [Swerve Module Physical Properties](https://docs.yagsl.com/legacy-documentation/documentation/swerve-module-physical-properties.md)
- [Swerve Module PIDF Properties](https://docs.yagsl.com/legacy-documentation/documentation/swerve-module-pidf-properties.md)
- [Controller Properties](https://docs.yagsl.com/legacy-documentation/documentation/controller-properties.md)
- [Tested configurations](https://docs.yagsl.com/legacy-documentation/documentation/tested-configurations.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information, you can query the documentation dynamically by asking a question.
Perform an HTTP GET request on a page URL with the `ask` query parameter:
```
GET https://docs.yagsl.com/readme.md?ask=<question>
```
The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.
Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
