fix(V4B): 方案A现场复核修正 V4.04 — RELEASE_ALFA 18→21(精确τ117ms对齐PD132T) + 进入snap消除HR0/2假释放
现场金属板复测两现象: 1. 慢速抬板释放高度 V4B 仍比 PD132T 高一点(跟手速有关) — 根因: τ对齐用了近似口径 (α18 精确τ≈137ms vs PD132T α79@43.7ms 精确τ≈118ms, α=79时 T×256/α 高估19.6%) + V4B 3次确认30ms。修正: RELEASE_ALFA 18→21 (精确τ≈117ms)。 2. 定在HR0/2(释放高度一半)保持~1s V4B释放、PD132T不释放 — 根因: 双滤波进入瞬态假释放 (快滤波30ms确认进入, 慢滤波还悬在基线附近, 残余信号0.032%~0.044%时释放条件瞬时为真)。 修正: 进入确认瞬间 snap loop1_CAPVD_slow = loop1_CAPVD (进入线恒深于离开线, 释放条件结构性为假)。 验证: gcc单测 τ fast=30ms/slow=120ms, 释放时机差 200ms ✓ 仿真: 3s抬升高度差 +9mm→+3mm; 0.10%板HR0/2假释放消除 ✓ 文档: devlog V2.13 + technical-spec §4.3.3
This commit is contained in:
@@ -4,6 +4,43 @@
|
||||
|
||||
---
|
||||
|
||||
## 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。
|
||||
|
||||
### 背景(现场复核)
|
||||
|
||||
方案A(V4.03)落地后金属板复测,两个现象:
|
||||
|
||||
1. **慢速抬板释放高度 V4B 仍比 PD132T 高一点**,且跟手速有关(抬得越慢越接近)
|
||||
2. **定在 HR0/2(释放高度一半)保持 ~1s,V4B 释放继电器,PD132T 不释放**
|
||||
|
||||
### 根因分析
|
||||
|
||||
| 现象 | 根因 | 证据 |
|
||||
|------|------|------|
|
||||
| 1 释放偏高 | τ 对齐用了近似口径:方案A α18 精确 τ≈137ms,PD132T α79@43.7ms 精确 τ≈118ms(α=79 时 `T×256/α` 近似公式高估 19.6%)+ V4B 释放 3 次确认 30ms | 仿真:2s 抬升 V4B +14mm、8s 抬升 +2mm,与现场"跟手速有关"吻合 |
|
||||
| 2 HR0/2 假释放 | 双滤波结构(快进+慢出):进入由快滤波(τ≈22ms)30ms 确认,释放判定用慢滤波——进入确认瞬间慢滤波还悬在基线附近,残余信号落在窄带(SENS=3 时 0.032%~0.044%)时释放条件瞬时为真 → 3 次确认数满 → 假释放。PD132T 进出共用同一滤波,进入确认时滤波值已沉过离开线,结构性免疫 | 仿真:0.10% 板 HR0/2 放置 V4B 释放@0.18s,PD132T 不释放 |
|
||||
|
||||
### 修正(V4.04)
|
||||
|
||||
1. **RELEASE_ALFA 18 → 21**:精确 τ = −T/ln(1−α) = −10/ln(1−21/256) ≈ **117ms**,对齐 PD132T α79@43.7ms 精确 τ≈118ms。仿真释放高度差 3s 抬升 +9mm → **+3mm**(剩余为 3 次确认 30ms 固有延迟)
|
||||
2. **进入确认 snap**:`loop1_CAPVD_slow = loop1_CAPVD`(进入线档3 0.032% 恒深于离开线 0.021%,snap 后释放条件结构性为假)→ HR0/2 假释放窗口彻底消除
|
||||
|
||||
### 验证
|
||||
|
||||
- `tests/test_release_slow_filter.c` 更新 ALFA_SLOW=21:τ fast=30ms/slow=120ms(理论 22/117ms);释放时机差 200ms ✓
|
||||
- 仿真(Origin=100000, SENS=3):α21+snap 下 0.10% 板 HR0/2 放置,原版释放@0.18s → 未释放 ✓
|
||||
- ⚠ 待板级:真机金属板复测确认释放高度对齐 + HR0/2 保持不再释放
|
||||
|
||||
### 文档同步
|
||||
|
||||
- technical-spec §4.3.3 补 V4.04 修正说明
|
||||
- analysis/docs/filter-coefficient-79-vs-64.md §4.4 方案A 同步 α21 + snap
|
||||
- release-notes 待发布时更新
|
||||
|
||||
---
|
||||
|
||||
## 2026-08-31 — 释放手感对齐 PD132T:释放慢滤波(方案 A,固件 V4.03)
|
||||
|
||||
> **固件版本:V4.03**(cmcng.h:FIRMWARE_VER="4.03" + MAIN=4/SUB=3;⚠ 顺带修正字符串 "4.00" 与数字 4/2 不一致的历史问题)。devlog 修订 V2.12。
|
||||
|
||||
@@ -276,6 +276,8 @@ if ((Origin - dlt_ORG) < CAPVD) { // CAPVD 回升至距基线不
|
||||
|
||||
> **⚠ V4.03(2026-08-31)释放慢滤波(方案 A,USE_SLOW_RELEASE)**:现场金属板测试——灵敏度表已对齐,但**释放高度 V4B 比 PD132T 低**(V4B 刚离开触发位置即释放,PD132T 需离得更远)。根因:**IIR 滤波时间常数差异**(V4B 10ms tick + α79 → τ≈32ms;PD132T 43.7ms tick + α79/64 → τ≈142~175ms,慢 4.4~5.5×),释放阈值浅(进入的 20%)放大差异。修复:离开判定改用**独立慢滤波值** `loop1_CAPVD_slow`(α=18/256 @10ms → τ≈142ms,复刻 PD132T 恢复速度,吃原始 Value 不经斜率限幅),进入路径不变。开关 `USE_SLOW_RELEASE`(TaskLoop.h,默认 1;0=原快滤波释放)。单测:τ fast=30ms/slow=140ms,释放时机差 260ms(`tests/test_release_slow_filter.c`)。⚠ 若现场 PD132T 的 SET_FLT=ON(α64 → τ≈175ms),可调 `RELEASE_ALFA` 15(τ≈170ms)更贴近。
|
||||
|
||||
> **⚠ 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 假释放消除。⚠ 待板级复测。
|
||||
|
||||
##### 模式 2:平坦性判定 (USE_FLATNESS_EXIT=1) — ⚠ 默认禁用(#if 0,代码保留)
|
||||
|
||||
基于专利 **CN200910309382**(中山大学),解决大车通行时频率多峰导致的多次误触发。
|
||||
|
||||
Reference in New Issue
Block a user