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

# Getting to know your robot

## Pre-requisite details to configure YAGSL

YAGSL is configured for your robot by YOU! We have example configurations which may or may not work for you. The pre-requisite details about your robot are set by through vendor clients and physical characteristics of your robot. Below is a near comprehensive list of features of your robot you must know before configuring YAGSL.

| Feature                                                                       | Typical Value | Relevance                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ----------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Drive [Gear Ratio](/fundamentals/swerve-modules.md#conversion-factor)         | N/A           | The *Drive Gear Ratio* is the ratio describing how many times the drive motor shaft must rotate for the wheel to complete one rotation. This is usually available on the website of the Swerve Module purchased.                                                                                                                                                                                                                                                                                                                                           |
| Steering [Gear Ratio](/fundamentals/swerve-modules.md#conversion-factor)      | N/A           | The *Steering Gear Ratio* is the ratio describing how many times the steering motor shaf1t must rotate for the wheel to complete one spin. This is usally available on the website of the Swerve Module purchased.                                                                                                                                                                                                                                                                                                                                         |
| Absolute Encoder Ticks Per Revolution                                         | 1             | [See here](/devices/absolute-encoders.md)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| CAN Bus Name                                                                  | `rio`         | If you are using a [CANivore](https://store.ctr-electronics.com/canivore/) you may place CTRE devices such as the [Falcon500](https://store.ctr-electronics.com/falcon-500-powered-by-talon-fx/), [Kraken](https://store.ctr-electronics.com/kraken-x60/), [Pigeon2.0](https://store.ctr-electronics.com/pigeon-2/), and [CANCoder](https://store.ctr-electronics.com/cancoder/) on that bus. You must [set this value to the name of your CANivore](https://pro.docs.ctr-electronics.com/en/stable/docs/canivore/canivore-setup.html#renaming-canivores). |
| CAN or PWM or Analog Input ID of every sensor and motor controller.           | N/A           | If this is incorrect it will cause major issue's because you will be controlling one motor thinking it's another!                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| Connection method for Gyroscope (NavX only)                                   | N/A           | If you are using a NavX over usb the device type should be `navx_usb` however if you are on the MXP please use `navx_spi`.                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Inversion state of the motors                                                 | N/A           | The inversion state needs to make the wheels go forward and spin clockwise.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| Inversion state of the absolute encoder                                       | `false`       | Typically the absolute encoder will increase in value along with the steering motor movements, if this is not the case it needs to be changed!!!                                                                                                                                                                                                                                                                                                                                                                                                           |
| Inversion state of the gyroscope                                              | `false`       | The gyroscope needs to be counter clockwise positive, if it isn't it needs to be inverted!                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Absolute Encoder Offset                                                       | N/A           | The absolute encoder offset is given when you straighten out all modules **(facing the same way!)** then read the value from the vendor client or from SmartDashboard while the robot is Disabled!                                                                                                                                                                                                                                                                                                                                                         |
| Motor Controller PID value's                                                  | N/A           | Typical values are available in YAGSL-Example for NEO's and Falcon500's, however these may need to be further tuned. Ideally you can do this with the vendor client.                                                                                                                                                                                                                                                                                                                                                                                       |
| Distance in inches from the center of your robot to the center of each wheel. | N/A           | This is used for [`SwerveDriveKinematics`](https://github.wpilib.org/allwpilib/docs/release/java/edu/wpi/first/math/kinematics/SwerveDriveKinematics.html) while setting up your robot in YAGSL.                                                                                                                                                                                                                                                                                                                                                           |


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.yagsl.com/configuring-yagsl/getting-to-know-your-robot.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
