增加车队布局与刚体速度分配基础

This commit is contained in:
2026-08-20 17:43:02 +08:00
parent 0d5539e595
commit fea2265e2d
30 changed files with 404 additions and 121 deletions
+8 -4
View File
@@ -1,6 +1,6 @@
# 当前进展
更新日期:2026-08-19。这里只保存当前状态,不作为完整开发历史。
更新日期:2026-08-20。这里只保存当前状态,不作为完整开发历史。
## 已完成/已接入
@@ -19,6 +19,7 @@
- C层轨迹CSV已补充原始/滤波轮组 `Vx/Vy/Vw`、轮组与预测时刻、Detour帧间隔、实际/允许创新、候选原因、估计器状态和不可用原因。
- 停车控制参数集中到 `Configuration/PilotConfig.ParkingControl.cs`
- `MultiWheelC.Tests` 已提供不依赖实车的Stanley前进/倒车横向符号回归,8个场景通过;该项目不进入正式解决方案和打包脚本。
- `Shared/Fleet` 已加入不可变 `FleetLayout`、成员/车队命令模型和确定性 `FleetKinematics`;不依赖实车的4个刚体分解场景已通过。
- 本次建立工作区/项目AGENTS导航和 `docs/` 按需知识库。
以上表示代码入口存在,不表示全部实车工况已经验收。
@@ -29,13 +30,14 @@
- 暂时冻结普通运动跳变阈值和30°/s、40°/s²自转参数,等待Detour接口语义后再决定是否实施自转结束后的条件化仅位置连续化或调整航向恢复策略。
- Detour对接最小问题已整理到 `docs/detour-information-checklist.md`,不要求取得源码。
- 验证非零β运动系,当前已有45°蟹行直线入口;曲线蟹行仍需设计实验。
- 在单车和停车流程稳定后研究多车共同搬运的刚体模型与成员命令分配
- 多车共同搬运已完成布局模型和纯刚体速度分解;下一阶段是夹紧后布局采集/原子激活、车队状态与控制、通信和安全协调,再把成员命令接入各车 `SendBodyTwist()`。QP/HQP不作为第一版前置条件
- β在多车中定位为单车执行坐标系而非车队核心优化量:常规、斜行和横移动作先确定车队主要滚动方向,各车按布局朝向换算本地β,停车预对齐并经车队同步屏障统一释放。轨迹级β搜索只作为机械余量或复杂方向变化下的后续增强。
## 阻塞/待确认
- Clumsy/Medulla正式宿主、插件部署和配置持久化说明未纳入仓库。
- 完整停车业务流程和验收指标未确认。
- 多车通信协议、车队参考点、车辆布局来源和故障降级策略未确认
- 多车通信协议、统一时间轴、车队参考点选取、夹紧后布局采集方法、刚体误差阈值和故障降级策略未确认;已确认运行布局应在夹紧后生成不可变快照并由上层整体激活
- 最新实车实验数据对控制周期与舵轮滞后的结论尚未沉淀为可复核结果。
- Detour `l_step` 精确定义、显式重定位/坐标重置状态和部署端MDCS恢复策略待确认;当前不能把 `l_step<4` 当作唯一有效性条件。
- Detour `getCartLocation()` 的位姿坐标系、`tick` 采样/解算/发布语义、是否已有独立连续里程计或定位状态接口,以及部署版本和实际里程计/SLAM配置待确认。
@@ -48,4 +50,6 @@
2. 在Detour信息返回前不继续全局放宽状态估计边界,也不提高自转角速度/角加速度;现有偶发定位不可用保持安全停车。
3. 若工程上必须先降低位置型自转失败率,再单独设计仅在纯自转结束、轮组无平移且航向有效时启用的位置连续化;不得扩展到普通轨迹运动,也不得吸收航向偏移。
4. 为轨迹插值/投影、坐标变换、状态跳变候选和终点策略继续补充不依赖宿主的数学回归测试。
5. 单车稳定后,再设计 `FleetMotionCommand → 每车Twist2D` 的车队运动学,不直接启用 `#if false` 旧多车代码
5. 设计车队建立生命周期:预设布局引导就位,夹紧静止后同步采集成员位姿,创建并原子激活新的 `FleetLayout`,松开后清除;车队参考系和采样同步方法需先明确
6. 继续补充 `FleetKinematics` 的圆弧、任意布局和倒车数学场景,再接入车队状态与控制流程,不直接启用 `#if false` 旧多车代码。
7. 在接入通信前定义车队状态时间对齐、心跳/命令有效期、共同速度缩放、成员故障整队停车和舵轮准备同步屏障。