# AGV-Pathplan **Repository Path**: openwcs/agv-pathplan ## Basic Information - **Project Name**: AGV-Pathplan - **Description**: 一个基于PyQt5的高级AGV路径规划可视化系统,集成多种算法和地形分析功能。 支持四种核心算法 - **Dijkstra算法**: 经典最短路径算法 - **A*算法**: 启发式搜索算法 - **BFS广度优先**: 无权图最短路径 - **DFS深度优先**: 路径探索算法 支持10种地形编辑,预设10种地图类型; - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-05-29 - **Last Updated**: 2025-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 AGV智能路径规划系统 v2.0 一个基于PyQt5的高级AGV路径规划可视化系统,集成多种算法和地形分析功能,现已升级为炫酷深色主题界面! ## ✨ 主要功能 ### 🤖 四种核心算法 - **Dijkstra算法**: 经典最短路径算法,保证最优解 - **A*算法**: 启发式搜索算法,平衡速度与最优性 - **BFS广度优先**: 无权图最短路径,保证最少步数 - **DFS深度优先**: 路径探索算法,内存效率高 ### 🌍 十种真实地形 - 平地 (成本: 1.0) - 最容易通过 - 草地 (成本: 1.2) - 轻微阻力 - 沙地 (成本: 1.5) - 中等阻力 - 泥地 (成本: 2.0) - 较大阻力 - 水域 (成本: 3.0) - 很大阻力 - 山地 (成本: 2.5) - 大阻力 - 森林 (成本: 1.8) - 中等偏大阻力 - 沼泽 (成本: 4.0) - 极大阻力 - 岩石 (成本: 3.5) - 很大阻力 - 障碍物 - 不可通行 ### 🗺️ 十种预设地图 - **空地图** - 基础演示,适合学习基本操作 - **迷宫地图** - 经典迷宫结构,测试算法寻路能力 - **螺旋地图** - 螺旋形障碍,挑战路径规划 - **随机障碍** - 随机分布的障碍物,模拟真实环境 - **走廊地图** - 走廊和房间结构,室内导航场景 - **十字地图** - 十字形障碍,测试绕行策略 - **对角线地图** - 对角线障碍,考验对角移动 - **岛屿地图** - 岛屿形障碍,多地形混合 - **之字形地图** - 之字形路径,复杂路径规划 - **复杂迷宫** - 复杂的迷宫结构,终极挑战 ### 🎯 智能移动系统 - 8方向移动支持 - 对角线移动优化(成本√2倍) - 动态成本计算 ### 🔧 路径优化 - 智能路径平滑算法 - Douglas-Peucker路径简化 - 转弯角度优化 - 距离最小化 ### 📊 性能分析弹框 (NEW!) - **弹框式性能分析**: 详细的算法性能对比界面 - **多维度统计**: 执行时间、路径长度、探索节点数 - **可视化图表**: 性能对比图表和雷达图 - **统计分析**: 平均值、标准差、最值统计 - **算法特性分析**: 各算法优缺点对比 - **导出功能**: CSV格式性能报告导出 ### 📁 地图管理 - 支持PNG/JPG图像导入 - CSV格式地图数据 - JSON配置文件(含元数据) - 自定义地图编辑器 - 地图验证功能 - 批量示例地图生成 ### 🎨 炫酷深色主题界面 (NEW!) - **深色主题**: 现代化深色UI设计 - **渐变效果**: 精美的渐变背景和按钮 - **响应式设计**: 自适应布局和交互反馈 - **图标美化**: 丰富的Emoji图标和视觉元素 - **动画效果**: 平滑的过渡动画 - **现代化控件**: 自定义样式的滑块、按钮等 ![图1](images/001.png) ![图2](images/002.png) ![图3](images/003.png) ![图4](images/004.png) ![图5](images/005.png) ## 🚀 快速开始 ### 环境要求 - Python 3.7+ - PyQt5 - NumPy - Matplotlib - Pillow ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 启动程序 ```bash # 方式1:直接运行 python main.py # 方式2:使用启动脚本 # Windows run.bat # Linux/Mac ./run.sh ``` ### 生成示例地图 ```bash python create_sample_maps.py ``` ## 📁 项目结构 ``` agv_pathplan/ ├── main.py # 主程序入口 ├── create_sample_maps.py # 示例地图生成脚本 ├── core/ # 核心算法模块 │ ├── algorithms.py # 路径规划算法 │ ├── terrain.py # 地形系统和地图生成器 │ └── pathfinder.py # 路径查找器 ├── ui/ # 用户界面 │ ├── main_window.py # 主窗口(深色主题) │ ├── map_widget.py # 地图显示组件 │ └── control_panel.py # 控制面板和性能分析弹框 ├── utils/ # 工具模块 │ ├── map_loader.py # 地图加载器 │ └── performance.py # 性能分析 ├── assets/ # 资源文件 │ ├── icons/ # 图标 │ └── maps/ # 示例地图(42个文件) ├── requirements.txt # 依赖库配置 ├── README.md # 项目说明文档 ├── run.bat # Windows启动脚本 ├── run.sh # Linux/Mac启动脚本 └── demo.py # 演示脚本 ``` ## 🎮 使用说明 ### 基本操作 - **左键点击**: 设置起点 - **Shift+左键点击**: 设置终点 - **右键点击**: 显示上下文菜单 - **Ctrl+滚轮**: 缩放地图 - **拖拽**: 编辑模式下绘制地形 ### 快捷键 - **F1**: Dijkstra算法 - **F2**: A*算法 - **F3**: BFS算法 - **F4**: DFS算法 - **F5**: 比较所有算法 - **Ctrl+N**: 新建地图 - **Ctrl+O**: 打开地图 - **Ctrl+S**: 保存地图 - **Ctrl+P**: 清除路径 - **Ctrl+C**: 清除起点终点 ### 地图编辑 1. 启用编辑模式 2. 选择画笔地形类型 3. 在地图上点击或拖拽绘制 4. 使用右键菜单快速设置地形 ### 性能分析 1. 运行算法比较 2. 自动弹出性能分析窗口 3. 查看详细数据、性能对比、统计分析 4. 导出CSV报告或生成图表 ## 🔧 技术特性 ### 算法优化 - 使用NumPy加速数值计算 - 优化的数据结构(堆、队列) - 启发式函数优化 - 路径平滑算法 ### 界面设计 - **深色主题**: 护眼的深色配色方案 - **渐变效果**: CSS3渐变背景 - **现代化控件**: 自定义样式组件 - **响应式布局**: 自适应窗口大小 - **动画过渡**: 平滑的视觉效果 ### 性能监控 - 实时算法执行时间统计 - 内存使用监控 - 路径质量评估 - 多维度性能对比 ### 数据管理 - 多格式地图支持 - 元数据管理 - 地图验证机制 - 批量处理功能 ## 📊 性能基准 在标准测试环境下的性能表现: | 算法 | 平均执行时间 | 路径质量 | 内存使用 | 适用场景 | |------|-------------|----------|----------|----------| | Dijkstra | 中等 | 最优 | 高 | 权重图最短路径 | | A* | 快 | 最优 | 中等 | 启发式搜索 | | BFS | 快 | 最少步数 | 高 | 无权图搜索 | | DFS | 很快 | 不保证最优 | 低 | 路径探索 | ## 🌟 特色功能 ### 1. 深色主题界面 - 现代化的深色配色方案 - 渐变背景和按钮效果 - 自定义滚动条和控件样式 - 护眼的颜色搭配 ### 2. 性能分析弹框 - 三个选项卡:详细数据、性能对比、统计分析 - 实时算法性能监控 - 可视化图表生成 - CSV报告导出 ### 3. 十种预设地图 - 涵盖不同复杂度和特色场景 - 自动生成示例文件 - 支持多种格式保存 - 地图验证和统计 ### 4. 智能路径优化 - 路径平滑算法 - 转弯优化 - Douglas-Peucker简化 - 实时路径质量评估 ## 🆕 v2.0 更新内容 ### 新增功能 - ✅ 修复新建地图错误 - ✅ 性能分析弹框界面 - ✅ 10种预设地图生成器 - ✅ 深色主题UI设计 - ✅ 渐变效果和现代化控件 - ✅ 示例地图批量生成脚本 - ✅ 地图验证和统计功能 ### 界面优化 - 🎨 全新深色主题配色 - 🎨 渐变背景和按钮效果 - 🎨 现代化控件样式 - 🎨 图标和视觉元素美化 - 🎨 响应式布局设计 ### 功能增强 - 📊 弹框式性能分析 - 🗺️ 10种预设地图类型 - 🔧 地图生成器优化 - 📁 多格式地图支持 - 🎯 路径规划算法优化 ## 🤝 贡献 欢迎提交Issue和Pull Request来改进这个项目! ### 开发指南 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 发起Pull Request ### 代码规范 - 遵循PEP 8编码规范 - 添加适当的注释和文档 - 编写单元测试 - 保持代码整洁 ## 📄 许可证 MIT License ## 📞 联系方式 - 项目主页: [https://gitee.com/openwcs/agv-pathplan.git] - 问题反馈: [UKIOT] - 邮箱: [ukiot1000@163.com] --- **🚀 AGV智能路径规划系统 v2.0** - 让路径规划变得简单而强大!