4.0 KiB
4.0 KiB
快速使用指南 - AGV Qt6 GUI
📌 更新说明
✅ 项目已升级到 Qt6!(2025-11-27)
- Qt 版本: 6.10.1
- 编译器: MinGW 13.1.0
- 详细编译说明: BUILD_INSTRUCTIONS.md
- 部署指南: QT6_DEPLOYMENT_GUIDE.md
快速开始
1. 编译项目(首次使用)
# 配置(Windows MinGW)
cd build
cmake -G "MinGW Makefiles" \
-DCMAKE_PREFIX_PATH=C:/Qt/6.10.1/mingw_64 \
-DCMAKE_C_COMPILER=C:/Qt/Tools/mingw1310_64/bin/gcc.exe \
-DCMAKE_CXX_COMPILER=C:/Qt/Tools/mingw1310_64/bin/g++.exe \
-DCMAKE_MAKE_PROGRAM=C:/Qt/Tools/mingw1310_64/bin/mingw32-make.exe ..
# 编译
cmake --build . -j4
2. 运行程序
# 确保 Qt DLL 在 PATH 中
export PATH=/c/Qt/6.10.1/mingw_64/bin:$PATH
# 运行
./agv_qt_gui.exe
或使用以下命令一次性运行:
PATH=/c/Qt/6.10.1/mingw_64/bin:$PATH ./build/agv_qt_gui.exe
路径跟踪功能
问题
❌ 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-27 版本: v2.0 状态: ✅ Qt6 升级完成、已编译、已测试 Qt 版本: 6.10.1 编译器: MinGW 13.1.0