Files
agv-control-slam/docs/guides/TRACKING_TEST_GUIDE.md
CaiXiang af65c2425d initial
2025-11-14 16:09:58 +08:00

4.7 KiB
Raw Permalink Blame History

快速测试指南 - 路径跟踪改进

🎯 验证修复效果

修复已完成并编译成功!现在测试新的跟踪性能。

快速开始

1. 运行程序

./build/Release/agv_qt_gui.exe

2. 关键检查点

✓ 检查点1: 初始状态对齐

测试: 选择任意路径 → Generate Control

观察: 绿色trajectory的起点应与红色reference path的起点完美重合

修复前: 起点偏离有明显gap 修复后: 起点完美对齐 ✓

✓ 检查点2: 速度参数生效

测试:

  1. 设置 Max Velocity = 2.0 m/s
  2. 选择 Circle Arc → Generate Control
  3. 查看动画速度

修复前: 动画慢实际1.0 m/s 修复后: 动画快实际2.0 m/s

✓ 检查点3: 跟踪精度

测试: 选择 S-Curve → Generate Control

观察: trajectory应紧密跟随path特别是弯道部分

修复前: 偏差0.5-2.0米,明显偏离 修复后: 偏差<0.2米,紧密贴合 ✓

✓ 检查点4: CSV路径

测试:

  1. Load from CSV → 选择 smooth_path.csv
  2. Max Velocity = 1.0 m/s
  3. Generate Control

修复前:

  • 起点朝向错误偏17.8度)
  • 持续偏离路径
  • 看起来在"追赶"路径

修复后:

  • 起点完美对齐 ✓
  • 全程紧密跟踪 ✓
  • 平滑流畅 ✓

推荐测试序列

序列1: 基础验证5分钟

1. Straight Line + Pure Pursuit → 检查起点对齐
2. Circle Arc + Pure Pursuit → 检查圆弧跟踪
3. S-Curve + Stanley → 检查弯道响应

序列2: 速度测试5分钟

1. Circle Arc, Velocity=0.5 m/s → 低速精确
2. Circle Arc, Velocity=1.0 m/s → 标准速度
3. Circle Arc, Velocity=2.0 m/s → 高速平滑

序列3: 算法对比5分钟

同一路径如S-Curve:
1. Pure Pursuit → 观察跟踪效果
2. Stanley → 观察跟踪效果
比较哪个更好

序列4: 真实场景5分钟

1. Load CSV → smooth_path.csv
2. Velocity = 1.0 m/s
3. Pure Pursuit
4. Generate → 观察完整跟踪

参数建议

基础设置(推荐新手)

Wheelbase: 1.0 m
Max Velocity: 1.0 m/s
Max Steering: 45 deg
Time Step: 0.1 s
Horizon: 50 s
Algorithm: Pure Pursuit

高性能设置(追求速度)

Max Velocity: 2.0 m/s
Horizon: 50 s
Algorithm: Pure Pursuit

高精度设置(追求精度)

Max Velocity: 0.5 m/s
Time Step: 0.05 s
Horizon: 80 s
Algorithm: Stanley

预期结果

视觉效果

好的跟踪(修复后):

- trajectory与path几乎重叠
- 起点完美对齐
- 弯道平滑通过
- 无明显偏离

差的跟踪(修复前):

- trajectory在path外侧
- 起点有gap
- 弯道切弯或偏离
- 持续偏差

数值指标

查看统计信息Statistics面板:

  • Max Velocity: 应与设置一致
  • Control Steps: 约 horizon/dt 步
  • Path Points: 路径点数量

常见问题

Q: 看不出明显改善?

A: 检查这些:

  1. 确认重新编译exe时间戳应该是最新的
  2. 尝试CSV路径(最能体现初始状态修复)
  3. 对比算法Pure Pursuit vs Stanley
  4. 调整速度试试2.0 m/s

Q: 仍有小偏差?

A: 这是正常的!

  • 控制算法不是零误差
  • 典型误差0.1-0.3米是正常的
  • 重点是没有累积偏差

Q: 高速时切弯?

A: 这是Pure Pursuit的特性

  • 前视距离大 → 切弯
  • 解决降低速度或换Stanley

Q: 动画不流畅?

A: 调整Time Step

  • 减小dt → 更流畅如0.05s
  • 增大dt → 更快如0.2s

关键改进验证

✓ 改进1: 初始对齐

如何验证:

  • 放大起点区域
  • trajectory应从path起点开始无偏移

✓ 改进2: 速度生效

如何验证:

  • 设置Max Velocity = 2.0
  • 动画应明显比1.0时快

✓ 改进3: 自适应前视

如何验证:

  • 低速(0.5): 转弯更紧,不切弯
  • 高速(2.0): 转弯平滑,提前预判

✓ 改进4: Stanley响应

如何验证:

  • 选择Stanley算法
  • 横向偏差修正应很快

性能基准

良好跟踪的标准:

  • ✓ 起点对齐误差 < 0.1米
  • ✓ 平均横向误差 < 0.2米
  • ✓ 最大横向误差 < 0.5米
  • ✓ 无明显累积偏差
  • ✓ 视觉上紧密贴合

如果达不到:

  1. 确认已重新编译
  2. 降低速度至1.0 m/s
  3. 增加Horizon至80秒
  4. 尝试不同算法

报告问题

如果修复后仍有问题,请提供:

  1. 使用的路径类型
  2. 参数设置(速度、算法等)
  3. 观察到的偏差范围
  4. 截图或描述

成功指标

修复成功的标志:

  • 起点完美对齐
  • trajectory紧贴path
  • 速度设置生效
  • 无明显偏离
  • 平滑流畅

开始测试吧! 🚀

建议从"Straight Line"开始,逐步测试更复杂的路径。