3.0 KiB
3.0 KiB
快速使用指南 - 完整路径追踪
问题
❌ trajectory路径只有一段,无法完整追踪reference path
解决方案
✅ 已修复并重新编译成功!
立即测试
1. 运行程序
./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: 检查以下几点:
- Horizon值是否足够大(建议设为路径长度的1.5倍所需时间)
- 在控制台查看是否有错误信息
- 确认路径点是否正确加载
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 状态: ✅ 已修复、已编译、待测试