Simplify fleet curve configuration
This commit is contained in:
@@ -127,7 +127,7 @@ lock (MultiVehicleFleet)
|
||||
编队间距配置变更时,实际控制点半径仍固定 510mm,补偿/转向几何与 `TestCarSyncDistance` 不一致,调参困难。
|
||||
|
||||
**建议修复**
|
||||
统一使用 `syncDistance / 2f` 或配置项 `MultiVehicleControlRadius`,删除 magic number 510。
|
||||
统一使用 `syncDistance / 2f`,删除 magic number 510。
|
||||
|
||||
---
|
||||
|
||||
@@ -203,7 +203,7 @@ lock (MultiVehicleFleet)
|
||||
- **B**:`MultiVehicleSendMotion` 回调写入 `MultiVehicleAutoCmdTime`;主车自动分支按 `MultiVehicleAutoCmdTimeoutMs`(0=auto) 判定命令新鲜度,超时清零速度/idealPos 并关闭 `AutoEnabled`,避免末速度滑行。
|
||||
- **C**:新增本地 `_multiVehicleFleetSeen` 存活时刻表,register/notify 收到即刷新;主车 Tick `PruneStaleFleetMembers()` 按 `MultiVehicleMemberTtlMs`(0=auto) 剔除掉线成员,`fleetReady`(数量==总数) 因此蕴含全员新鲜。
|
||||
- **D**:回调不再丢弃 `idealPos/idealAngle`,写入 `MultiVehicleAutoIdeal*` 并经 notify(`HasIdeal/IdealX/Y/Th`) 广播;自动模式下以理想车队中心作为各车 layout 前馈目标(`MultiVehicleAutoUseIdealCenter`,默认开)。
|
||||
- **E**:新增 `MultiVehicleControlRadius`(0=syncDistance/2),`ControlPointRadius` 与 `SendMotion(localControlRadius)` 统一取该值,删除硬编码 510。
|
||||
- **E**:`ControlPointRadius` 与 `SendMotion(localControlRadius)` 统一取 `syncDistance / 2f`,删除硬编码 510。
|
||||
- **F**:notify 改为 POST + JSON body(取代 GET query 串);新增单调递增 `Seq`,从车丢弃乱序旧包(含主车重启回退识别)。
|
||||
- **G**:新增 `FleetCenterSnapshot` 不可变快照 + `volatile` 引用,`PublishFleetCenter` 整体赋值,控制器线程 `GetFleetCenterSnapshot()` 只读完整快照,消除 torn read。
|
||||
- **H**:自动模式新增 `MultiVehicleAutoRequireFleetCenter`(默认开) 门控——无有效车队中心(定位丢失)时强制停车,补上纯 SLAM 模式安全网;手动模式不受限。
|
||||
|
||||
Reference in New Issue
Block a user