# 快速使用指南 - 完整路径追踪

## 问题
❌ 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
**状态**: ✅ 已修复、已编译、待测试
