# AGV自定义路径功能 - 项目结构 ## 📁 完整目录结构 ``` agv_path_tracking/ │ ├── 📄 CUSTOM_PATH_README.md # 快速导航(从这里开始) ├── 📄 README.md # 项目主README ├── 📄 QUICKSTART.md # 原有快速开始 ├── 📄 CMakeLists.txt # 需要修改:添加path_curve_custom.cpp │ ├── 📂 src/ # 源代码 │ ├── agv_model.cpp │ ├── path_curve.cpp # 原有路径实现 │ ├── path_curve_custom.cpp # ⭐ 新增:自定义路径实现 │ ├── control_generator.cpp │ └── path_tracker.cpp │ ├── 📂 include/ # 头文件 │ ├── agv_model.h │ ├── path_curve.h # ⚠️ 需要修改:添加3个方法声明 │ ├── control_generator.h │ └── path_tracker.h │ ├── 📂 examples/ # 示例程序 │ ├── demo.cpp # 原有命令行demo │ ├── generate_data.cpp │ ├── gui_demo.cpp │ ├── qt_gui_demo.cpp # ⚠️ 可修改:添加自定义路径选项 │ ├── qt_gui_enhanced.cpp # 参考实现 │ ├── custom_path.csv # ⭐ 示例:基础路径 │ └── warehouse_path.csv # ⭐ 示例:仓库路径 │ ├── 📂 docs/ # 📚 文档目录 │ └── custom_path/ # 🎯 自定义路径功能文档(所有文档在这里) │ ├── README.md # 📖 文档导航(从这里开始!) │ │ │ ├── 🚀 快速开始 │ ├── FINAL_SUMMARY.md # ⭐ 功能总览(推荐首读) │ ├── QUICKSTART_CUSTOM_PATH.md # 3分钟快速上手 │ │ │ ├── 📖 详细教程 │ ├── CUSTOM_PATH_GUIDE.md # 完整使用指南 │ │ │ ├── 🖥️ QT界面集成 │ ├── apply_qt_modifications.md # ⭐ 快速修改步骤 │ ├── QT_GUI_CUSTOM_PATH_GUIDE.md # 详细修改指南 │ ├── qt_gui_custom_code_snippet.cpp # 完整代码示例 │ │ │ ├── 🔧 安装和配置 │ ├── install_custom_path.sh # 自动安装脚本 │ ├── path_curve.h.patch # 头文件修改补丁 │ │ │ ├── 💻 开发文档 │ ├── CUSTOM_PATH_IMPLEMENTATION_SUMMARY.txt # 实现细节 │ ├── REFERENCE_PATH_SUMMARY.txt # 原系统分析 │ └── PROJECT_STRUCTURE.md # 本文件(项目结构) │ ├── 📂 build/ # 编译输出目录 │ ├── agv_demo # 可执行文件 │ ├── agv_qt_gui │ └── ... │ └── 📂 output/ # 运行结果(自动生成) ├── trajectory.csv ├── control_sequence.csv └── ... ``` ## 🎯 核心文件说明 ### ⭐ 必须了解的文件 | 文件 | 位置 | 说明 | 优先级 | |------|------|------|--------| | **CUSTOM_PATH_README.md** | 根目录 | 快速导航 | ⭐⭐⭐ | | **docs/custom_path/README.md** | docs/custom_path/ | 文档导航 | ⭐⭐⭐ | | **FINAL_SUMMARY.md** | docs/custom_path/ | 功能总览 | ⭐⭐⭐ | ### 📝 文档文件(docs/custom_path/) | 文件名 | 大小 | 用途 | 适合人群 | |--------|------|------|----------| | README.md | 4.2KB | 文档导航 | 所有人 ⭐ | | FINAL_SUMMARY.md | 6.9KB | 功能总览 | 新手 ⭐⭐⭐ | | QUICKSTART_CUSTOM_PATH.md | 5.9KB | 快速上手 | 新手 ⭐⭐⭐ | | CUSTOM_PATH_GUIDE.md | 8.2KB | 完整教程 | 深入学习 ⭐⭐ | | apply_qt_modifications.md | 2.0KB | QT快速修改 | QT用户 ⭐⭐⭐ | | QT_GUI_CUSTOM_PATH_GUIDE.md | 7.9KB | QT详细指南 | QT用户 ⭐⭐ | | qt_gui_custom_code_snippet.cpp | 7.2KB | QT代码示例 | QT开发 ⭐⭐ | | install_custom_path.sh | 2.1KB | 安装脚本 | 所有人 ⭐⭐⭐ | | path_curve.h.patch | 1.4KB | 头文件补丁 | 开发者 ⭐ | | CUSTOM_PATH_IMPLEMENTATION_SUMMARY.txt | 8.4KB | 实现细节 | 开发者 ⭐ | | REFERENCE_PATH_SUMMARY.txt | 8.7KB | 原系统分析 | 背景知识 ⭐ | | PROJECT_STRUCTURE.md | 本文件 | 项目结构 | 开发者 ⭐ | ### 💻 核心代码文件 | 文件 | 位置 | 说明 | 是否需要修改 | |------|------|------|--------------| | **path_curve_custom.cpp** | src/ | 自定义路径实现 | ❌ 已实现 | | **path_curve.h** | include/ | 路径类声明 | ⚠️ 需添加3个方法 | | **CMakeLists.txt** | 根目录 | 编译配置 | ⚠️ 需添加custom文件 | | **qt_gui_demo.cpp** | examples/ | QT界面 | 🔧 可选修改 | ### 📄 示例文件 | 文件 | 位置 | 说明 | 格式 | |------|------|------|------| | **custom_path.csv** | examples/ | 基础示例路径 | x, y | | **warehouse_path.csv** | examples/ | 仓库场景路径 | x, y | ## 🔄 文件依赖关系 ``` CMakeLists.txt └── src/path_curve_custom.cpp └── include/path_curve.h (需要添加方法声明) └── examples/qt_gui_demo.cpp (可选使用) └── examples/custom_path.csv (示例数据) ``` ## 📊 修改检查清单 ### 必须修改(功能才能工作) - [ ] **include/path_curve.h** - 添加 `#include ` - 添加 `bool loadFromCSV(...)` - 添加 `bool saveToCSV(...) const` - 添加 `void generateSpline(...)` - 参考:`docs/custom_path/path_curve.h.patch` - [ ] **CMakeLists.txt** - 在SOURCES中添加:`src/path_curve_custom.cpp` - 位置:第19行附近 - [ ] **重新编译** ```bash cd build cmake .. cmake --build . ``` ### 可选修改(增强功能) - [ ] **examples/qt_gui_demo.cpp** - 添加CSV加载选项 - 添加样条插值选项 - 参考:`docs/custom_path/qt_gui_custom_code_snippet.cpp` ## 🚀 使用流程 ### 流程1: 自动安装(推荐) ```bash # 1. 运行安装脚本 bash docs/custom_path/install_custom_path.sh # 2. 编译 cd build && cmake .. && cmake --build . # 3. 使用 ./agv_demo ``` ### 流程2: 手动安装 ```bash # 1. 查看文档 cat docs/custom_path/README.md # 2. 阅读指南 cat docs/custom_path/QUICKSTART_CUSTOM_PATH.md # 3. 修改文件(参考path_curve.h.patch) vi include/path_curve.h vi CMakeLists.txt # 4. 编译测试 cd build && cmake .. && cmake --build . ``` ## 📖 学习路径 ### 路径1: 快速上手(15分钟) ``` 1. CUSTOM_PATH_README.md (根目录,2分钟) └─ 了解功能位置 2. docs/custom_path/FINAL_SUMMARY.md (5分钟) └─ 功能总览 3. docs/custom_path/QUICKSTART_CUSTOM_PATH.md (5分钟) └─ 动手实践 4. bash docs/custom_path/install_custom_path.sh (3分钟) └─ 安装使用 ``` ### 路径2: QT界面集成(20分钟) ``` 1. docs/custom_path/apply_qt_modifications.md (5分钟) └─ 了解需要修改什么 2. docs/custom_path/qt_gui_custom_code_snippet.cpp (10分钟) └─ 复制代码到qt_gui_demo.cpp 3. 编译运行 (5分钟) └─ 测试功能 ``` ### 路径3: 深入学习(1小时) ``` 1. FINAL_SUMMARY.md (10分钟) └─ 整体了解 2. CUSTOM_PATH_GUIDE.md (30分钟) └─ 详细学习 3. CUSTOM_PATH_IMPLEMENTATION_SUMMARY.txt (20分钟) └─ 实现细节 ``` ## 🎯 常用命令 ```bash # 查看文档目录 ls docs/custom_path/ # 阅读文档导航 cat docs/custom_path/README.md # 自动安装 bash docs/custom_path/install_custom_path.sh # 查看示例路径 cat examples/custom_path.csv # 编译项目 cd build && cmake .. && cmake --build . # 运行demo ./build/agv_demo ./build/agv_qt_gui ``` ## 💡 提示 - 📚 所有文档在:`docs/custom_path/` - ⭐ 从这里开始:`docs/custom_path/FINAL_SUMMARY.md` - 🚀 快速上手:`docs/custom_path/QUICKSTART_CUSTOM_PATH.md` - 🖥️ QT修改:`docs/custom_path/apply_qt_modifications.md` - 🔧 自动安装:`bash docs/custom_path/install_custom_path.sh` --- **最后更新**: 2025-11-13 **版本**: 1.0