4.7 KiB
FRC 6494 · 2026 Regional Offseason
FRC 6494 的 2026 季后赛机器人 Java 项目。代码包含 Phoenix 6 Swerve 底盘、PathPlanner 自动程序、Limelight 定位,以及射击、进球、输送和灯带控制。
当前版本与分支
- 默认工作分支:
7.4。 - Gitea 地址:https://git.6494.team/admin6494/FRC6494_2026Regional-offseason。
- 原 GitHub 仓库:https://github.com/HarryWang163/FRC6494_2026Regional。
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。
获取与构建
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 环境中,可以运行:
.\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/ 等生成文件和缓存。
新克隆的仓库可以通过以下命令提交更新:
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。第三方库及外部代码应遵循各自原有的许可说明。