文档重构

This commit is contained in:
Kevin Wong
2026-01-06 17:29:46 +08:00
parent 2ecfb39508
commit 13e261c2a8
5 changed files with 210 additions and 762 deletions

60
DevLogs/Day28.md Normal file
View File

@@ -0,0 +1,60 @@
# Day 28: 室内导航优化与 Bug 修复 (2026-01-06)
## 🎯 今日目标
1. **修复室内导航无语音播报问题**
2. **优化“未检测到可行走区域”的播报逻辑,消除闪烁**
3. **切换到更精准的室内分割模型 (14类)**
4. **解决 TTS 音频末尾的“啪”声**
5. **排查终端 WiFi 断连后无法重连的问题**
## 🔧 实施细节
### 1. 模型切换与优化
- **切换模型**: 从原 `yolo11l-seg-indoor.engine` (22类) 切换为 `yolo11l-seg-indoor14.engine` (14类专为室内地板优化)。
- **类别映射更新**: 修改 `workflow_indoor.py` 以适配 14 类数据集 (MIT Indoor Subset)
- 可行走区域:`floor(0)`, `corridor(1)`, `sidewalk(2)`
- 静态障碍物:`chair(3)`, `table(4)`, `sofa_bed(5)`, `cabinet(11)`, `trash_can(12)`
- 兴趣点:`door(6)`, `elevator(7)`, `stairs(8)`
- 动态障碍:`person(10)`
- **效果**: 地板 (`floor`) 检测置信度显著提升0.85+),彻底解决了“无法识别地面”的问题。
- **识别逻辑优化**:
- **视觉持久化**: 引入可行走区域 Mask 缓冲机制,防止因单帧检测失败导致的“绿道闪烁”现象。
- **阈值微调**: 将 `WALKABLE_MIN_AREA` 降至 50提高对狭窄路段或远距离地面的检出灵敏度。
- **可视化增强**: 完善 `_draw_indoor_visualizations`,确保实时渲染分割掩膜与避障框。
### 2. 语音播报修复
- **强制首播机制**: 修复了 `IndoorNavigator` 中“未检测到可行走区域”的节流逻辑。
- **问题**: 初始化时间 `last_no_walkable_time` 为 0导致首次检测失败时由于时间差过大或逻辑判断失误被跳过。
- **修复**: 增加显式判断 `if self.last_no_walkable_time == 0`,确保首次检测到无路时**立即播报**,后续保持 8 秒间隔。
- **启动即时反馈**: 在 `app_main.py` 中,收到“室内导航”指令后,立即播报“**室内导航已启动,正在寻找可行走区域**”,消除用户等待时的不确定感。
- **崩溃修复**: 移除了新模型中不存在的 `CLASS_TOILET``CLASS_SINK` 引用,解决了后台报错导致的导航中断。
- **语音识别优化**:
- **别名扩展**: 针对 SenseVoice 的同音误识,增加了 `["四内导航", "思维导航", "失内导航", "室类导航"]` 等别名映射,确保“室内导航”指令的高唤醒率。
- **短指令支持**: 允许单独说“导航”触发盲道导航,防止吞字导致命令失效。
### 3. 音频体验优化
- **消除“啪”声**: 在 `app_main.py` 的 TTS 播放流末尾,将静音填充时长从 60ms 增加到 **200ms**,有效消除了音频截断带来的爆音。
### 4. 终端 WiFi 重连问题分析
- **现象**: 终端离开 WiFi 范围后断网,返回后无法自动重连。
- **分析**: 客户端程序 (`NaviGlassClient`) 的 WebSocket 连接逻辑已有无限重试和指数退避机制。无法重连是因为底层操作系统 (Tina Linux) 的 WiFi 接口在断开后未自动重新关联 AP。
- **结论**: 此为系统配置问题,非 App 代码 Bug。
- **建议**: 在终端部署后台脚本 (`wifi_check.sh`),定期检测网关连通性并在断网时重启 WiFi 接口。
## 📊 结果验证
-**地面检测**: 14类模型能稳定识别大面积 `floor` (area > 60000)。
-**语音反馈**: 启动导航和无路警告均能正常听到,不再静默。
-**稳定性**: 修复未定义变量错误后,导航进程稳定运行。
- ⚠️ **遗留问题**: 终端 WiFi 自动重连需在设备端通过脚本解决。
### 5. 文档体系重构与完善
- **系统架构图更新**: 重写 `implementation_plan_complete.md`,新增基于 Mermaid 的端云协同架构图,更新至 Day 28 状态。
- **任务清单优化**: 全面整理 `task_complete.md`,合并“技术债务/未来规划”板块,优化快速导航与排版。
- **技术文档刷新**: 更新《技术栈对比》与《服务器技术栈》,纳入室内导盲 (14类) 与新 AI 管道信息。
- **更新规则精简**: 优化 `DOC_RULES.md`,移除冗余示例,确立“轻量化检查清单”原则。
---
## 📝 下一步计划
1. 在真实环境中实测 14 类模型的避障效果。
2. (终端侧) 部署 WiFi 保活脚本。