整理季后赛仓库说明并保留本地自动路径

This commit is contained in:
OnDYCLaptop
2026-10-13 00:54:56 +08:00
parent 40c5b5d642
commit c98ef164c5
3 changed files with 188 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
# 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`。
## 获取与构建
```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`。第三方库及外部代码应遵循各自原有的许可说明。
@@ -0,0 +1,31 @@
{
"version": "2025.0",
"command": {
"type": "sequential",
"data": {
"commands": [
{
"type": "wait",
"data": {
"waitTime": 0.0
}
},
{
"type": "path",
"data": {
"pathName": "New Path"
}
},
{
"type": "named",
"data": {
"name": "intaker_down"
}
}
]
}
},
"resetOdom": true,
"folder": null,
"choreoAuto": false
}
@@ -0,0 +1,54 @@
{
"version": "2025.0",
"waypoints": [
{
"anchor": {
"x": 3.5467141162514837,
"y": 4.051138790035587
},
"prevControl": null,
"nextControl": {
"x": 4.255399988299603,
"y": 4.013414379701552
},
"isLocked": false,
"linkedName": null
},
{
"anchor": {
"x": 2.944199288256229,
"y": 4.051138790035587
},
"prevControl": {
"x": 2.694910022767602,
"y": 4.069976574197767
},
"nextControl": null,
"isLocked": false,
"linkedName": null
}
],
"rotationTargets": [],
"constraintZones": [],
"pointTowardsZones": [],
"eventMarkers": [],
"globalConstraints": {
"maxVelocity": 2.0,
"maxAcceleration": 4.0,
"maxAngularVelocity": 360.0,
"maxAngularAcceleration": 720.0,
"nominalVoltage": 12.0,
"unlimited": false
},
"goalEndState": {
"velocity": 0,
"rotation": 0.0
},
"reversed": false,
"folder": null,
"idealStartingState": {
"velocity": 0,
"rotation": 0.0
},
"useDefaultConstraints": true
}