2.7 KiB
2.7 KiB
快速开始:平滑路径生成器 🚀
一键生成所有路径
# 从项目根目录运行
./build/Debug/generate_smooth_path.exe
✅ 自动生成 6 个平滑路径 CSV 文件!
三步使用流程
第1步:编译(只需一次)
cd build
cmake --build . --target generate_smooth_path --config Debug
第2步:生成路径
cd ..
./build/Debug/generate_smooth_path.exe
第3步:在Qt GUI中查看
# 启动Qt GUI
./build/Debug/agv_qt_gui.exe
# 在界面中:
# 1. Path Type 选择 "Load from CSV"
# 2. 选择任意生成的 CSV 文件
# 3. 点击 "Generate Control"
生成的文件
| 文件名 | 描述 | 用途 |
|---|---|---|
smooth_path.csv |
默认平滑路径 | 基础测试 |
smooth_path_arc.csv |
圆弧路径 | 转弯场景 |
smooth_path_scurve.csv |
S型曲线 | 避障场景 |
smooth_path_complex.csv |
复杂路径 | 仓库导航 |
smooth_path_loop.csv |
环形路径 | 循环巡逻 |
smooth_path_figure8.csv |
8字形路径 | 复杂测试 |
代码调用示例
最简单的用法
#include "path_curve.h"
int main() {
// 创建路径
PathCurve path;
// 定义关键点
std::vector<PathPoint> points = {
PathPoint(0, 0),
PathPoint(5, 2),
PathPoint(10, 0)
};
// 生成样条曲线
path.generateSpline(points, 200, 0.5);
// 保存
path.saveToCSV("my_path.csv");
return 0;
}
使用封装类
// 方法1: 生成S型曲线
SmoothPathGenerator::generateSCurve("scurve.csv", 0, 0, 10, 0);
// 方法2: 生成圆弧
SmoothPathGenerator::generateCircleArc("arc.csv", 5, 0, 5, 0, M_PI);
// 方法3: 生成自定义样条
std::vector<PathPoint> my_points = {
PathPoint(0, 0), PathPoint(5, 3), PathPoint(10, 0)
};
SmoothPathGenerator::generateSpline("custom.csv", my_points, 200);
常用参数说明
| 参数 | 说明 | 推荐值 |
|---|---|---|
num_points |
路径点数量 | 200-300 |
tension |
张力参数 | 0.3-0.5 |
radius |
圆弧半径 | 3-10 米 |
control_offset |
S曲线控制点偏移 | 2-4 米 |
完整文档
📖 详细使用说明请查看:SMOOTH_PATH_GENERATOR_README.md
项目结构
examples/
├── generate_smooth_path.cpp # 平滑路径生成器源码
├── qt_gui_demo.cpp # Qt GUI(支持加载CSV)
└── ...
build/Debug/
├── generate_smooth_path.exe # 路径生成程序
└── agv_qt_gui.exe # Qt GUI程序
smooth_path*.csv # 生成的路径文件(项目根目录)
提示: 如果想只生成特定路径,可以直接调用对应的类方法,或修改 main() 函数。