> For the complete documentation index, see [llms.txt](https://yagsl.yassrobotics.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yagsl.yassrobotics.com/how-to-guides.md).

# How-to Guides

- [What to expect?](https://yagsl.yassrobotics.com/how-to-guides/how-to.md)
- [Tune PIDF gains](https://yagsl.yassrobotics.com/how-to-guides/tune-pidf-gains.md): Starting points and a tuning procedure for your drive and angle motor gains.
- [Determine inversion](https://yagsl.yassrobotics.com/how-to-guides/determine-inversion.md): Work out which motors, encoders, and the gyro need to be inverted.
- [Verify your module locations](https://yagsl.yassrobotics.com/how-to-guides/verify-module-locations.md): Your front may not be what you think it is on a robot.
- [Use a custom gyro](https://yagsl.yassrobotics.com/how-to-guides/use-a-custom-gyro.md): Configure a gyro YAGSL's parser doesn't build for you by handing YAMS a Rotation3d supplier yourself.
- [Put devices on a different CAN bus](https://yagsl.yassrobotics.com/how-to-guides/choose-a-can-bus.md): Tell YAGSL which SystemCore, Motioncore or vendor CAN bus each device is on with the canbus field.
- [Drive to a pose](https://yagsl.yassrobotics.com/how-to-guides/drive-to-a-pose.md): Command the robot to a field-relative Pose2d without PathPlanner.
- [Set up PathPlanner](https://yagsl.yassrobotics.com/how-to-guides/setup-pathplanner.md): Register a YAGSL-built SwerveDrive with PathPlanner's AutoBuilder.
- [Access raw hardware devices](https://yagsl.yassrobotics.com/how-to-guides/access-raw-hardware-devices.md): Get the actual vendor motor controller/encoder/gyro objects SwerveParser built, for configuration that isn't exposed through SmartMotorController.
- [The 8 steps](https://yagsl.yassrobotics.com/how-to-guides/the-8-steps.md)
- [Fix common SparkMAX/SparkFlex problems](https://yagsl.yassrobotics.com/how-to-guides/fix-sparkmax-common-problems.md): These usually show up on MAXSwerve robots.
- [Set up AdvantageScope](https://yagsl.yassrobotics.com/how-to-guides/set-up-advantagescope.md): AdvantageScope is a data visualization tool, courtesy of team 6328 Mechanical Advantage, which can visualize the swerve drive to give you feedback for debugging.
- [View your DataLog in AdvantageScope](https://yagsl.yassrobotics.com/how-to-guides/view-your-datalog-in-advantagescope.md): Pull the .wpilog off your robot and look at what actually happened during a match or test run.
- [Troubleshooting flowchart](https://yagsl.yassrobotics.com/how-to-guides/troubleshooting-flowchart.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 that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://yagsl.yassrobotics.com/how-to-guides.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
