Skip to content

释义:Hierarchical Path Planning for Unstructured Roads 的缩写

Notifications You must be signed in to change notification settings

KindKeeper/HPP4Unstructured

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HPP4Unstructured (非结构化道路分层路径规划框架)

📖 项目简介

HPP4Unstructured (Hierarchical Path Planning for Unstructured Roads) 是论文《基于多算法融合分层优化的非结构化道路无人车路径规划研究》的代码实现。本项目旨在研究和实现一个适用于非结构化道路环境的、采用多算法融合与分层优化策略的无人车路径规划框架。

✨ 主要特性

  • 分层优化框架: 采用分层的设计思想,将路径规划任务分解为全局规划和局部规划等层次。
  • 多算法融合: 集成了多种路径规划算法,包括A*、Dijkstra、D*、RRT等用于全局规划,APF(人工势场法)、DWA(动态窗口法)等用于局部规划与避障。
  • 非结构化道路聚焦: 针对非结构化道路(缺乏清晰车道线、存在不规则障碍物、复杂地形)环境进行设计与优化。
  • 模块化设计: 代码结构清晰,各模块功能明确,便于理解、测试与扩展。
  • MATLAB实现: 项目主要采用MATLAB进行开发与仿真。

📁 项目结构

HPP4Unstructured/
├── code/                          # 主要代码目录
│   ├── controller/                # 运动控制层(待完善)
│   ├── environment/               # 环境生成与建模
│   │   ├── generate_dynamic_obstacles.m    # 生成动态障碍物
│   │   ├── generate_layered_map.m          # 生成分层地图
│   │   ├── generate_random_map.m           # 生成随机地图
│   │   └── generate_valid_environment.m   # 生成有效环境
│   ├── global_planner/            # 全局路径规划层
│   │   ├── astar.m                # A*算法
│   │   ├── dijkstra.m             # Dijkstra算法
│   │   ├── dstar.m                # D*算法
│   │   └── rrt.m                  # RRT算法
│   ├── local_planner/             # 局部路径规划层
│   │   ├── apf.m                  # 人工势场法(APF)
│   │   └── dwa.m                  # 动态窗口法(DWA)
│   ├── metrics/                   # 路径评估指标计算 (例如路径长度、转向点等)
│   ├── utils/                     # 通用工具函数
│   │   ├── generate_start_goal.m  # 生成起点和目标点
│   │   ├── get_planner.m          # 获取规划器
│   │   └── stitch_paths.m         # 路径拼接
│   ├── visualization/             # 可视化相关函数
│   │   ├── execute_visualization.m    # 执行可视化
│   │   ├── visualize_combined.m       # 组合可视化
│   │   ├── visualize_obstacle_distances.m # 障碍物距离可视化
│   │   └── visualize_turning_points.m # 转向点可视化
│   ├── config.m                   # 参数配置文件
│   ├── example.mlx                # MATLAB Live Script示例
│   └── main.m                     # 主运行脚本
├── data/                          # 数据目录 (用于存放地图、日志等数据)
├── docs/                          # 项目文档
├── results/                       # 结果输出目录 (存放仿真结果、图片等)
├── tests/                         # 单元测试 (待创建和完善)
├── HPP4Unstructured.prj           # MATLAB Project文件
└── README.md                      # 项目说明文件

⚙️ 安装与使用

  1. 环境要求

    • 需要安装 MATLAB (推荐较新版本,如 R2021a 或更高版本)。
  2. 获取项目

    • 克隆或下载本项目代码到本地。
    git clone https://github.com/KindKeeper/HPP4Unstructured.git
  3. 运行项目

    • 打开MATLAB,并通过双击 HPP4Unstructured.prj 文件打开MATLAB Project,确保所有路径已正确添加。
    • 运行 main.m 主脚本以启动整个仿真流程。
    • 或运行 example.mlx 查看示例和学习如何使用特定功能。
  4. 配置与参数

    • 主要的算法参数、环境参数和车辆模型参数等在 code/config.m 文件中进行设置和调整。修改此文件以适配不同的场景或算法组合。

🔬 当前进展与使用说明

本项目目前处于持续开发与完善阶段

  • 已实现: 多种全局和局部路径规划算法的基本实现、基础的环境生成模块、初步的可视化功能。
  • 待完善: 运动控制层(controller/)尚未充实;metrics/目录下的性能评估指标有待进一步整合与应用;完整的算法融合逻辑与分层优化框架需要更深度的集成;测试体系(tests/)需要建立。
  • 如何使用: 您可以通过运行 main.m 来执行一个预设的完整规划流程,或参考 example.mlx 来交互式地了解如何使用特定的规划算法和环境。

📊 结果与验证

项目运行后,结果(如图片、轨迹数据)默认会保存在 results/ 目录下。可以通过修改 config.m 中的相关配置项来指定保存路径和格式。目前的可视化函数可以绘制路径、障碍物、转向点等。

🤝 贡献

欢迎对代码进行改进或提出建议!目前主要的完善方向包括:

  • 充实控制层算法。
  • 增加更多评估指标。
  • 优化算法融合策略。
  • 编写更详细的单元测试。
  • 补充项目文档。

About

释义:Hierarchical Path Planning for Unstructured Roads 的缩写

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages