Files
RCS-3000/docs/custom_path/PROJECT_STRUCTURE.md
CaiXiang af65c2425d initial
2025-11-14 16:09:58 +08:00

264 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 <string>`
- 添加 `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