120 lines
3.0 KiB
Markdown
120 lines
3.0 KiB
Markdown
# 快速使用指南 - 完整路径追踪
|
||
|
||
## 问题
|
||
❌ 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
|
||
**状态**: ✅ 已修复、已编译、待测试
|