https://github.com/ZhouZijie77/Unity-PointCloud-Navigation
使用Unity开发的显示点云及通过点云地图生成可通行区域并使用A*算法进行路径规划移动端应用程序。
https://github.com/ZhouZijie77/Unity-PointCloud-Navigation
navigation unity
Last synced: over 1 year ago
JSON representation
使用Unity开发的显示点云及通过点云地图生成可通行区域并使用A*算法进行路径规划移动端应用程序。
- Host: GitHub
- URL: https://github.com/ZhouZijie77/Unity-PointCloud-Navigation
- Owner: ZhouZijie77
- License: mit
- Created: 2022-06-28T05:31:29.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-06-28T05:42:08.000Z (almost 4 years ago)
- Last Synced: 2024-10-27T18:59:38.502Z (over 1 year ago)
- Topics: navigation, unity
- Language: C#
- Homepage:
- Size: 5.46 MB
- Stars: 19
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 基于Unity的移动端点云显示及路径规划
使用Unity开发的显示点云及通过点云地图生成可通行区域并使用A*算法进行路径规划移动端应用程序。
## 1. 点云显示
### 1.1 点云格式
点云显示使用了[pcx插件](https://github.com/keijiro/Pcx),可以在编辑器阶段导入ply格式的点云地图,pcx插件即可在导入文件时将**ply格式**转化成为Unity中可以显示的相应格式。
### 1.2 手势操作
在点云显示场景支持4种基本的手势操作:**平移**、**缩放**、**单轴旋转**、**多轴旋转**。通过该场景中的按钮可以控制4种基本手势操作输入。
## 2. 路径规划
### 2.1 栅格地图系统
地图系统采用了[Catlike Coding](https://catlikecoding.com/unity/tutorials/)教程中的六边形地图系统设计,并作了一定改变。
### 2.2 可通行区域提取
通过将点云向栅格地图投影,对每个格子投影得到的点云数量进行统计,超过一定阈值则认为该栅格是不可通行的。
### 2.3 路径规划与路径提取
使用A*算法进行路径规划。在搜索得到了通路之后,根据[梯度双线性插值](https://github.com/ros-planning/navigation/blob/noetic-devel/global_planner/src/gradient_path.cpp)的方法提取路径点,最终可视化输出。