3.4 KiB
3.4 KiB
AGV 路径跟踪控制系统 - 快速入门指南
本指南将帮助您快速上手 AGV 路径跟踪控制系统。
1. 编译项目
Windows 用户
使用 PowerShell:
.\build.ps1
或手动编译:
mkdir build
cd build
cmake ..
cmake --build . --config Release
Linux/MacOS 用户
chmod +x build.sh
./build.sh
或手动编译:
mkdir build
cd build
cmake ..
make
2. 运行程序
命令行演示程序
Windows:
cd build\Release
.\agv_demo.exe
Linux/MacOS:
cd build
./agv_demo
控制台 GUI 程序
Windows:
cd build\Release
.\agv_gui.exe
Linux/MacOS:
cd build
./agv_gui
Qt 图形界面程序
Windows:
cd build\Release
.\agv_qt_gui.exe
Linux/MacOS:
cd build
./agv_qt_gui
3. 使用示例
运行 agv_demo 后,您将看到交互式菜单:
-
选择路径类型
- 1: 直线路径
- 2: 圆弧路径
- 3: 贝塞尔曲线
- 4: S形曲线
-
选择控制算法
- 1: Pure Pursuit(推荐用于平滑路径)
- 2: Stanley(推荐用于高精度跟踪)
-
查看结果
- 程序会在控制台显示控制序列
- 可选择保存为CSV文件
4. 可视化结果
如果保存了CSV文件,可以使用Python脚本可视化:
python visualize.py
需要安装的依赖:
pip install pandas matplotlib numpy
5. 输出文件说明
生成的 CSV 文件包含:
- control_sequence.csv: 时间、速度、转向角(弧度和角度)
- trajectory.csv: AGV 的预测轨迹(x, y, θ)
文件格式示例:
# AGV Control Sequence
# Time(s), Velocity(m/s), Steering(rad), Steering(deg)
0.000000, 1.000000, 0.732770, 41.984039
0.100000, 1.000000, 0.732933, 41.993384
6. 自定义使用
参考 examples/demo.cpp 中的代码,您可以:
// 创建自定义路径
PathCurve my_path;
my_path.generateLine(PathPoint(0, 0), PathPoint(10, 5), 100);
// 调整 AGV 参数
AGVModel my_agv(
1.5, // 轴距 1.5m
3.0, // 最大速度 3.0 m/s
M_PI/3 // 最大转向角 60 度
);
// 生成控制序列
tracker.generateControlSequence("pure_pursuit", 0.05, 15.0);
常见问题
Q: 编译时找不到 cmake?
A: 请安装 CMake:https://cmake.org/download/
Q: Windows 下编译失败?
A: 确保安装了以下之一:
- Visual Studio(推荐 2019 或更新版本)
- MinGW-w64
Q: 如何修改路径参数?
A: 编辑 examples/demo.cpp 或参考完整 README 文档自定义路径
Q: 控制序列太长或太短?
A: 调整 generateControlSequence 的 horizon 参数(时域长度)
Q: Pure Pursuit 和 Stanley 算法有什么区别?
A:
- Pure Pursuit:适合平滑路径,计算简单,跟踪稳定
- Stanley:适合高精度跟踪,对横向误差更敏感
Q: 如何调整可视化参数?
A: 编辑 visualize.py 文件中的绘图参数,如箭头间隔、线宽等
下一步
- 阅读完整的 README.md 了解详细 API 和算法原理
- 查看
examples/目录下的示例代码学习使用方法 - 尝试不同的路径类型和控制算法组合
- 调整 AGV 参数观察对控制效果的影响
- 集成到您自己的项目中
技术支持
如有问题或建议,请在代码仓库中创建 issue。
祝使用愉快!