# 快速使用指南 - 完整路径追踪 ## 问题 ❌ trajectory路径只有一段,无法完整追踪reference path ## 解决方案 ✅ **已修复并重新编译成功!** ## 立即测试 ### 1. 运行程序 ```bash ./build/Release/agv_qt_gui.exe ``` ### 2. 检查Horizon参数 在GUI界面中找到: ``` Horizon (s): [ 50.0 ] ← 默认值已改为50秒 范围: 1-100秒 ``` ### 3. 生成控制序列 - 选择任意路径类型(建议先测试 "Straight Line") - 点击 "Generate Control" - 观察可视化窗口中的trajectory(绿色线) ### 4. 验证结果 ✓ trajectory应该完整覆盖reference path(红色线) ✓ 不应该在中途停止 ✓ 应该接近路径终点(0.5米范围内) ## 如果轨迹仍不完整 ### 场景1: 路径很长(>50米) **解决**: 手动增加Horizon值 ``` 路径长度: 80米 速度: 1.0 m/s 推荐Horizon: 80 × 1.5 = 120秒 但GUI最大值是100秒,所以设置为100秒 ``` ### 场景2: 速度很慢(<0.5 m/s) **解决**: 同样需要增加Horizon ``` 路径长度: 20米 速度: 0.5 m/s 推荐Horizon: 20 / 0.5 × 1.5 = 60秒 ``` ### 场景3: 路径超长(>100米) **解决**: 需要修改代码中的最大值 在 `qt_gui_demo.cpp:294` 中将 100.0 改为更大的值(比如200.0) ## 计算Horizon公式 ``` Horizon (秒) = 路径长度(米) / 期望速度(m/s) × 1.5 ``` **示例**: - 20米路径 @ 1.0 m/s → 30秒 - 50米路径 @ 1.0 m/s → 75秒 - 30米路径 @ 0.5 m/s → 90秒 ## 修复对比 | 项目 | 修复前 | 修复后 | |------|--------|--------| | Horizon默认值 | 10秒 | **50秒** ✓ | | Horizon最大值 | 30秒 | **100秒** ✓ | | 终止阈值 | 0.1米 | **0.5米** ✓ | | 默认可追踪距离 | 10米 | **50米** ✓ | ## 预设路径测试 | 路径类型 | 预估长度 | 推荐Horizon | 状态 | |---------|---------|------------|------| | Straight Line | ~14米 | 默认50秒即可 | ✓ | | Circle Arc | ~15米 | 默认50秒即可 | ✓ | | S-Curve | ~12米 | 默认50秒即可 | ✓ | | Load from CSV | 视文件而定 | 可能需调整 | ✓ | | Custom Spline | 视输入而定 | 可能需调整 | ✓ | ## 常见问题 ### Q: 轨迹还是不完整? A: 检查以下几点: 1. Horizon值是否足够大(建议设为路径长度的1.5倍所需时间) 2. 在控制台查看是否有错误信息 3. 确认路径点是否正确加载 ### Q: 如何查看路径长度? A: 在控制台中会输出: ``` Path length: 14.1421 m Path points: 100 ``` ### Q: Horizon设太大会有问题吗? A: 不会!程序会在到达终点时自动停止(distance < 0.5米)。Horizon只是最大时间限制。 ### Q: 为什么编译时有警告? A: C4267警告(size_t转int)是良性的,不影响功能,可以忽略。 ## 技术支持 如有问题,检查文档: - `TRAJECTORY_FIX.md` - 详细技术分析 - `TRAJECTORY_COMPLETE.md` - 完整修复报告 - `FIX_SUMMARY.md` - CSV加载修复 - `FINAL_REPORT.md` - 完整技术文档 --- **更新日期**: 2025-11-14 **版本**: v1.1 **状态**: ✅ 已修复、已编译、待测试