# FRC 6494 · 2026 Regional Offseason FRC 6494 的 2026 季后赛机器人 Java 项目。代码包含 Phoenix 6 Swerve 底盘、PathPlanner 自动程序、Limelight 定位,以及射击、进球、输送和灯带控制。 ## 当前版本与分支 - 默认工作分支:`7.4`。 - Gitea 地址:。 - 原 GitHub 仓库:。 - `main`、`1`、`季后赛季后赛季后赛` 和 `手搓` 保留为原有历史分支。当前季后赛开发以 `7.4` 为准。 - 本次整理保留原提交历史,并纳入本地已有的 `New Auto.auto` 与 `New Path.path`。 ## 开发环境 | 项目 | 配置版本 | | --- | --- | | Java 源码与目标版本 | 17 | | WPILib / GradleRIO | 2026.2.1 | | Gradle Wrapper | 8.11 | | CTRE Phoenix 6 | 26.1.1 | | PathPlannerLib | 2026.1.2 | | 队号 | 6494 | 建议使用 WPILib 2026 开发环境。第三方依赖由 `vendordeps/` 中的 JSON 定义,首次构建需要取得 Gradle 与相关依赖。队号保存在 `.wpilib/wpilib_preferences.json`。 ## 获取与构建 ```powershell git clone --branch 7.4 https://git.6494.team/admin6494/FRC6494_2026Regional-offseason.git cd FRC6494_2026Regional-offseason .\gradlew.bat build ``` Linux/macOS 构建命令为 `./gradlew build`。 在具备桌面仿真依赖的 WPILib 环境中,可以运行: ```powershell .\gradlew.bat simulateJava ``` 连接队伍机器人并确认队号、网络和机构参数后,可以通过 WPILib VS Code 的部署命令部署,或手动运行 `.\gradlew.bat deploy`。仿真不能替代真实传感器、机构动作和射击参数的实机验证。 ## 代码结构 | 位置 | 用途 | | --- | --- | | `src/main/java/frc/robot/Robot.java` | 机器人模式切换与周期调度 | | `src/main/java/frc/robot/RobotContainer.java` | 子系统组装、手柄绑定、自动程序选择 | | `src/main/java/frc/robot/Constants.java` | CAN ID、机构参数、场地坐标和状态机阈值 | | `src/main/java/frc/robot/controls/` | 驾驶控制、操作员意图和自动命令注册 | | `src/main/java/frc/robot/subsystems/Superstructure.java` | 协调射击、进球、输送等机构的状态机 | | `src/main/java/frc/robot/subsystems/` | 底盘、机构、Limelight 和 LED 子系统 | | `src/main/java/frc/robot/generated/TunerConstants.java` | Phoenix Tuner X 底盘配置 | | `src/main/java/frc/robot/tuning/` | 仪表盘调参入口 | | `src/main/deploy/pathplanner/` | 自动程序、路径、导航网格和机器人配置 | | `vendordeps/` | 第三方库版本与依赖描述 | | `elastic-layout*.json` | Elastic 仪表盘布局 | | `tuner-project.json` | Phoenix Tuner 项目配置 | 自动程序通过 `Auto Chooser` 选择。PathPlanner NamedCommands 在 `controls/Autocommand.java` 中注册。`New Auto` 会引用 `New Path`;它们是已有的本地自动程序资源,使用前应检查路径与起始位姿。 ## 当前手柄绑定 代码使用 0 号端口的单个 Xbox 手柄。以下绑定以 `RobotContainer.java` 为准: | 输入 | 动作 | | --- | --- | | 左摇杆 | 底盘平移 | | 右摇杆 X | 底盘旋转输入 | | Back | 重置场地坐标驾驶角度 | | 右扳机 | 请求向 Hub 射击 | | 右肩键 | 启用驾驶加速模式 | | 左扳机 | 请求传球 | | 左肩键 | 请求进球 | | B | 请求反转排球 | | Y / A | 手动抬起 / 放下进球机构 | | 十字键左 / 右 | 飞轮目标速度偏移 -1 / +1 | | 十字键上 / 下 | 背板目标位置偏移 +100 / -100 | | Start | 运行背板复位命令 | 主要射击和进球按钮受 Teleop 模式门控。射击准备、喂球及超时回退逻辑位于 `Superstructure.java`,相关阈值位于 `Constants.Superstructure`,应结合实机检查这些行为。 ## 仓库维护 源码、自动路径、硬件配置、Gradle Wrapper 和仪表盘布局应提交到 Git。`.gitignore` 已排除 `build/`、`.gradle/`、`bin/`、`ctre_sim/` 等生成文件和缓存。 新克隆的仓库可以通过以下命令提交更新: ```powershell git status git add <需要提交的文件> git commit -m "说明本次修改" git push origin 7.4 ``` 原本连接 GitHub 的本地副本另加了名为 `gitea` 的远程地址,上传到 Gitea 时使用 `git push gitea 7.4`。公开仓库允许匿名浏览和克隆,推送需要具有写入权限的账号或访问令牌。 ## 验证范围与许可 本次仓库整理检查了文件、Git 历史和上传内容,并验证远程仓库的分支与匿名克隆;未执行编译、桌面仿真或机器人部署。构建命令是开发使用说明,不代表本次已通过构建或实机测试。 保留项目中的 WPILib 声明与 `WPILib-License.md`。第三方库及外部代码应遵循各自原有的许可说明。