feat(V4B): 方案B实验 V4.05 — USE_SLOW_RELEASE=0 + 调深释放阈值表 ReleaseTable_B
对比路线(与V4.04方案A A/B): 释放走快滤波(无慢滤波状态, 消除悬停风险),
手感对齐改由调深释放表 {80,42,27,18}(原始{60,32,21,14}加深30%)承担。
⚠关键认知(仿真+单测双确认): 释放方向是CAPVD向Origin恢复,
dlt增大(调深)→释放线降低→释放更早(与'调深=更严格'直觉相反)。
仿真预测: 深信号(≥0.2%)原始表更接近PD132T; 浅信号(0.1%)加深表更接近。
单测: tests/test_planb_release.c 新增(滞回为正✓/加深表释放≤原始表✓/释放时刻合理✓)
test_release_slow_filter.c(方案A)仍通过, 两方案可回归
文档: devlog V2.14 + technical-spec §4.3.3 方案B段
This commit is contained in:
@@ -4,6 +4,58 @@
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-01 — 方案B 实验:快滤波释放 + 调深释放阈值表(固件 V4.05)
|
||||
|
||||
> **固件版本:V4.05**(cmcng.h:FIRMWARE_VER="4.05" + MAIN=4/SUB=5)。devlog 修订 V2.14。
|
||||
> **状态:实验对比版**——与 V4.04(方案A)现场 A/B 对比后定稿,二选一保留。
|
||||
|
||||
### 背景
|
||||
|
||||
V4.04(方案A:慢滤波释放 α21 + 进入 snap)已修两现象,但现场想对比另一条路线:不用慢滤波状态(消除任何滤波悬停风险),改由**释放阈值表**承担手感对齐。
|
||||
|
||||
### 方案B 配置(TaskLoop.h)
|
||||
|
||||
| 宏 | 值 | 含义 |
|
||||
|----|----|------|
|
||||
| `USE_SLOW_RELEASE` | **0** | 释放走快滤波(α79@10ms, τ≈22ms),无慢滤波状态 |
|
||||
| `USE_PLANB_TABLE` | **1** | 释放判定用 `ReleaseTable_B`(调深表) |
|
||||
| `ReleaseTable_B` | `{80, 42, 27, 18}` | 原始表 `{60,32,21,14}` 加深 ~30% |
|
||||
|
||||
各档滞回验证:ReleaseTable_B < SensTable(进入表)→ 滞回为正,无结构假释放。
|
||||
|
||||
### ⚠ 关键认知:加深方向的物理含义(仿真+单测双重确认)
|
||||
|
||||
释放方向是 CAPVD 从车辆深度**向 Origin 恢复**(从深往浅)。释放线 = Origin − dlt:
|
||||
- **dlt 增大(调深)→ 释放线降低 → CAPVD 恢复中更早碰到 → 释放更早**(与"调深=更严格"的直觉相反)
|
||||
- 单测 `tests/test_planb_release.c`:4 档 × 4 速度全部确认"加深表释放 ≤ 原始表"(如 SENS=3, 3s 抬:原始@2960ms → 加深@2930ms)
|
||||
|
||||
### 仿真预测(现场实测验证点)
|
||||
|
||||
| 板信号深度 | 加深表 vs PD132T | 结论 |
|
||||
|-----------|------------------|------|
|
||||
| ≥0.2%(200cnt+) | 加深表比 PD132T 早(差 3~6 counts) | 深信号下原始表 `{60,32,21,14}` 更接近 PD132T |
|
||||
| ~0.1%(100cnt) | 加深表与 PD132T 差 ~1.3 counts | 浅信号下加深表更接近 |
|
||||
|
||||
**现场验证**:若实测"加深表释放比 V4.04 更早(板抬更低就释放)",说明方向如仿真;若与 PD132T 手感更近,则加深表定稿;否则 `USE_PLANB_TABLE=0` 一行切回原始表对比。
|
||||
|
||||
### 单测
|
||||
|
||||
- `tests/test_planb_release.c` 新增(gcc 编译通过):滞回为正 ✓ / 加深表释放不晚于原始表 ✓ / 释放时刻合理 ✓
|
||||
- `tests/test_release_slow_filter.c`(方案A 单测)仍通过,两方案可回归
|
||||
|
||||
### 与方案A 的取舍(待现场数据)
|
||||
|
||||
- 方案A:释放曲线"跟手速"与 PD132T 同构(τ 对齐),但有慢滤波悬停状态(V4.04 已 snap 堵死)
|
||||
- 方案B:无慢滤波状态(结构简单),但释放曲线是"速度无关的固定偏移",深信号下与 PD132T 有固有偏差
|
||||
- HR0/2 假释放:方案B 结构性免疫(快滤波进入后已同步到车辆深度,无悬停)
|
||||
|
||||
### 文档同步
|
||||
|
||||
- technical-spec §4.3.3 补方案B 实验说明
|
||||
- analysis/docs/filter-coefficient-79-vs-64.md §4.5 方案B 段(待补)
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-01 — 方案A 现场复核修正:RELEASE_ALFA 18→21 + 进入 snap(固件 V4.04)
|
||||
|
||||
> **固件版本:V4.04**(cmcng.h:FIRMWARE_VER="4.04" + MAIN=4/SUB=4)。devlog 修订 V2.13。
|
||||
|
||||
@@ -278,6 +278,8 @@ if ((Origin - dlt_ORG) < CAPVD) { // CAPVD 回升至距基线不
|
||||
|
||||
> **⚠ V4.04(2026-09-01)方案A 现场复核修正(RELEASE_ALFA 18→21 + 进入 snap)**:金属板复测两现象——① 慢速抬板释放高度 V4B 仍比 PD132T 高一点(跟手速有关);② 定在 HR0/2(释放高度一半)保持 ~1s V4B 释放、PD132T 不释放。根因:① **τ 对齐用了近似口径**——α18 精确 τ≈137ms vs PD132T α79@43.7ms 精确 τ≈118ms(α=79 时 `T×256/α` 近似公式高估 19.6%),叠加 3 次确认 30ms;② **双滤波进入瞬态假释放**——进入由快滤波 30ms 确认、释放判定用慢滤波,进入确认瞬间慢滤波还悬在基线附近,残余信号落在窄带(SENS=3 时 0.032%~0.044%)时释放条件瞬时为真 → 假释放;PD132T 进出共用同一滤波,结构性免疫。修正:① `RELEASE_ALFA` 18→**21**(精确 τ≈117ms 对齐 PD132T 118ms);② 进入确认处 **snap `loop1_CAPVD_slow = loop1_CAPVD`**(进入线 0.032% 恒深于离开线 0.021%,snap 后释放条件结构性为假)。单测:τ fast=30ms/slow=120ms,释放时机差 200ms;仿真 3s 抬升高度差 +9mm→+3mm,0.10% 板 HR0/2 假释放消除。⚠ 待板级复测。
|
||||
|
||||
> **⚠ V4.05(2026-09-01)方案B 实验(USE_SLOW_RELEASE=0 + USE_PLANB_TABLE=1)**:对比路线——释放走**快滤波**(无慢滤波状态),手感对齐改由**调深释放阈值表** `ReleaseTable_B={80,42,27,18}`(原始 `{60,32,21,14}` 加深 ~30%)承担。⚠ **关键认知:释放方向是 CAPVD 向 Origin 恢复,dlt 增大(调深)→ 释放线降低 → 释放更早**(与"调深=更严格"直觉相反,仿真+单测双确认)。仿真预测:深信号(≥0.2%)加深表比 PD132T 早 3~6 counts,原始表更接近;浅信号(~0.1%)加深表更接近(差 ~1.3 counts)。HR0/2 假释放结构性免疫(无悬停状态)。现场 A/B 对比后定稿,`USE_SLOW_RELEASE`/`USE_PLANB_TABLE` 两宏二选一保留。
|
||||
|
||||
##### 模式 2:平坦性判定 (USE_FLATNESS_EXIT=1) — ⚠ 默认禁用(#if 0,代码保留)
|
||||
|
||||
基于专利 **CN200910309382**(中山大学),解决大车通行时频率多峰导致的多次误触发。
|
||||
|
||||
Reference in New Issue
Block a user