diff --git a/README.md b/README.md index 258070a..56e8138 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ Arizona's Reference Build and Software Implementation for FRC Robots (read: "A-Z ## Installation -Installation instructions are found in the [INSTALL.md](INSTALL.md) file, and the [Getting -Started Guide](RBSI-GSG.md) includes the steps you'll need to do before taking your robot +Installation instructions are found in the [INSTALL.md](doc/INSTALL.md) file, and the [Getting +Started Guide](doc/RBSI-GSG.md) includes the steps you'll need to do before taking your robot out for a spin. See the [Releases Page](https://github.com/AZ-First/Az-RBSI/releases) for details on the latest release, including restrictions and cautions. @@ -29,7 +29,7 @@ The purpose of Az-RBSI is to help Arizona FRC teams with: ## Design Philosophy The Az-RBSI is centered around a "Reference Build" robot that allows for teams -to communicate quickly and effectivly with each other about gameplay strategy +to communicate quickly and effectively with each other about gameplay strategy and troubleshooting. Additionally, the consolidation around a standard robot design allows for easier swapping of spare parts and programming modules. @@ -44,11 +44,11 @@ effective logging for troubleshooting. * [WPILib](https://docs.wpilib.org/en/stable/index.html) -- FIRST basic libraries * [AdvantageKit]( - https://github.com/Mechanical-Advantage/AdvantageKit/blob/main/docs/WHAT-IS-ADVANTAGEKIT.md) + https://docs.advantagekit.org/getting-start ed/what-is-advantagekit/) -- Logging * [CTRE Phoenix6]( https://v6.docs.ctr-electronics.com/en/stable/docs/api-reference/mechanisms/swerve/swerve-overview.html) - / [YAGSL](https://yagsl.gitbook.io/yagsl) -- Swerve drive library + / [YAGSL](https://docs.yagsl.com/) -- Swerve drive library * [PathPlanner](https://pathplanner.dev/home.html) / [Choreo]( https://sleipnirgroup.github.io/Choreo/) -- Autonomous path planning * [PhotonVision](https://docs.photonvision.org/en/latest/) / [Limelight]( diff --git a/INSTALL.md b/doc/INSTALL.md similarity index 86% rename from INSTALL.md rename to doc/INSTALL.md index c9ba218..a1a4518 100644 --- a/INSTALL.md +++ b/doc/INSTALL.md @@ -13,17 +13,24 @@ already have a GitHub account where you will store your 2026 FRC robot code. ### Creating a 2026 FRC project from the Az-RBSI Template -From the [Az-RBSI GiuHub page](https://github.com/AZ-First/Az-RBSI/), click the "Use this template" button in the upper right corner of the page. +From the [Az-RBSI GiuHub page](https://github.com/AZ-First/Az-RBSI/), click the +"Use this template" button in the upper right corner of the page. In the page that opens, select the Owner (most likely your team's account) and -Repository name (*e.g.*, "FRC-2026" or "REBUILT Robot Code" or whatever your team's naming convention -is) into which the create the new robot project. Optionally, include a -description of the repository for your reference. Select "public" or "private" -repository based on the usual practices of your team. +Repository name (*e.g.*, "FRC-2026" or "REBUILT Robot Code" or whatever your +team's naming convention is) into which the create the new robot project. +Optionally, include a description of the repository for your reference. Select +"public" or "private" repository based on the usual practices of your team. The latest release of Az-RBSI is in the `main` (default) branch, so it is recommended to **not** select the "Include all branches" checkbox. +If you want to keep caught up on dependencies, you will need to ENABLE the +Dependency Graph selection under the "Advanced Security" tab of the repository +Settings. + +Enable Dependency Graph + -------- ### Software Requirements @@ -32,22 +39,22 @@ The Az-RBSI requires the [2026 WPILib Installer]( https://github.com/wpilibsuite/allwpilib/releases) (VSCode and associated tools), 2026 firmware installed on all hardware (motors, encoders, power distribution, etc.), the [2026 NI FRC Game Tools]( -https://github.com/wpilibsuite/2026Beta) +https://www.ni.com/en/support/downloads/drivers/download.frc-game-tools.html) (Driver Station and associated tools), and the [2026 CTRE Phoenix Tuner X]( https://v6.docs.ctr-electronics.com/en/stable/docs/tuner/index.html). Take a -moment to update all software and firmware before attempting to load your new -robot project. +moment to update all software and firmware to the latest versions before +attempting to load your new robot project. Please note that you need these _minimum_ versions of the following components: -* WPILib ` v2026.1.1-beta-1` +* WPILib ` v2026.2.1` * RoboRIO image `FRC_roboRIO_2026_v1.2` -------- ### Setting up your new project -When your new robot code respository is created, it will have a single commit +When your new robot code repository is created, it will have a single commit that contains the entire Az-RBSI template for the current release. (See the [Az-RBSI Releases page](https://github.com/AZ-First/Az-RBSI/releases) for more information about the latest release.) @@ -101,6 +108,12 @@ method are encouraged to submit bug reports and code fixes to the [Az-RBSI repository](https://github.com/AZ-First/Az-RBSI). +-------- + +### Getting Started with your Robot Code + +See the Az-RBSI [Getting Started Guide](RBSI-GSG.md) for next steps. + -------- ### Updating your project based on the latest released version of Az-RBSI diff --git a/RBSI-GSG.md b/doc/RBSI-GSG.md similarity index 69% rename from RBSI-GSG.md rename to doc/RBSI-GSG.md index 7c41bd8..11d93d4 100644 --- a/RBSI-GSG.md +++ b/doc/RBSI-GSG.md @@ -41,10 +41,16 @@ modifications to extant RBSI code will be done to files within the ### Tuning constants for optimal performance -4. HHHH - +4. Over the course of your robot project, you will need to tune PID parameters + for both your drivebase and any mechanisms you build to play the game. + AdvantageKit includes detailed instructions for how to tune the various + portions of your drivetrain, and we **STRONGLY RECOMMEND** you work through + these steps **BEFORE** running your robot. + * [Tuning for drivebase with CTRE components](https://docs.advantagekit.org/getting-started/template-projects/talonfx-swerve-template#tuning) + * [Tuning for drivebase with REV components](https://docs.advantagekit.org/getting-started/template-projects/spark-swerve-template/#tuning) + Similar tuning can be done with subsystem components (flywheel, intake, etc.). 5. Power monitoring by subsystem is included in the Az-RBSI. In order to properly match subsystems to ports on your Power Distribution Module, @@ -55,12 +61,17 @@ modifications to extant RBSI code will be done to files within the instantiation]( https://github.com/AZ-First/Az-RBSI/blob/38f6391cb70c4caa90502710f591682815064677/src/main/java/frc/robot/RobotContainer.java#L154-L157) in the `RobotContainer.java` file. -6. All of the constants for needed for tuning your robot should be in the - `Constants.java` file in the `src/main/java/frc/robot` directory. This file - should be thoroughly edited to match the particulars of your robot. Be sure - to work through each section of this file and include the proper values for - your robot. - +6. In the `Constants.java` file, the classes following `RobotDevices` contain + individual containers for robot subsystems and interaction methods. The + `OperatorConstants` class determines how the OPERATOR interacts with the + robot. `DriveBaseConstants` and `FlywheelConstants` (and additional classes + you add for your own mechanisms) contain human-scale conversions and limits + for the subsystem (_e.g._, maximum speed, gear ratios, PID constants, etc.). + `AutoConstants` contains the values needed for your autonomous period method + of choice (currently supported are MANUAL -- you write your own code; + PATHPLANNER, and CHOREO). The next two are related to robot vision, where + the vision system constants are contained in `VisionConstants`, and the + physical properties (location, FOV, etc.) of the cameras are in `Cameras`. -------- diff --git a/doc/dependency_enable.png b/doc/dependency_enable.png new file mode 100644 index 0000000..81691d2 Binary files /dev/null and b/doc/dependency_enable.png differ diff --git a/vendordeps/maple-sim.json b/vendordeps/maple-sim.json index 6596d65..aa65f46 100644 --- a/vendordeps/maple-sim.json +++ b/vendordeps/maple-sim.json @@ -1,7 +1,7 @@ { "fileName": "maple-sim.json", "name": "maplesim", - "version": "0.3.14", + "version": "0.4.0-beta", "frcYear": "2026", "uuid": "c39481e8-4a63-4a4c-9df6-48d91e4da37b", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "org.ironmaple", "artifactId": "maplesim-java", - "version": "0.3.14" + "version": "0.4.0-beta" }, { "groupId": "org.dyn4j", diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index 7508481..d4075e7 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -1,7 +1,7 @@ { "fileName": "photonlib.json", "name": "photonlib", - "version": "v2026.1.1-rc-3", + "version": "v2026.1.1-rc-4", "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", "frcYear": "2026", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2026.1.1-rc-3", + "version": "v2026.1.1-rc-4", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -28,7 +28,7 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-cpp", - "version": "v2026.1.1-rc-3", + "version": "v2026.1.1-rc-4", "libName": "photonlib", "headerClassifier": "headers", "sharedLibrary": true, @@ -43,7 +43,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2026.1.1-rc-3", + "version": "v2026.1.1-rc-4", "libName": "photontargeting", "headerClassifier": "headers", "sharedLibrary": true, @@ -60,12 +60,12 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-java", - "version": "v2026.1.1-rc-3" + "version": "v2026.1.1-rc-4" }, { "groupId": "org.photonvision", "artifactId": "photontargeting-java", - "version": "v2026.1.1-rc-3" + "version": "v2026.1.1-rc-4" } ] } diff --git a/vendordeps/yagsl-2026.1.14.json b/vendordeps/yagsl-2026.1.17.json similarity index 95% rename from vendordeps/yagsl-2026.1.14.json rename to vendordeps/yagsl-2026.1.17.json index 12289a4..2ad9a4f 100644 --- a/vendordeps/yagsl-2026.1.14.json +++ b/vendordeps/yagsl-2026.1.17.json @@ -1,7 +1,7 @@ { - "fileName": "yagsl-2026.1.14.json", + "fileName": "yagsl-2026.1.17.json", "name": "YAGSL", - "version": "2026.1.14", + "version": "2026.1.17", "frcYear": "2026", "uuid": "1ccce5a4-acd2-4d18-bca3-4b8047188400", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "swervelib", "artifactId": "YAGSL-java", - "version": "2026.1.14" + "version": "2026.1.17" }, { "groupId": "org.dyn4j",