Skip to content

Commit

Permalink
基于采样的路径规划
Browse files Browse the repository at this point in the history
  • Loading branch information
Aglargil committed Oct 21, 2024
1 parent c0b7e5c commit bc7c4d7
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions docs/blog/posts/基于采样的路径规划.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: 基于搜索的路径规划
date:
created: 2024-10-17
updated: 2024-10-17
categories:
- 机器人
---

<!-- more -->

!!! note "两个基本任务"

- Exploration 探索
- Exploitation 利用


## 1. 找可行解的算法

### 1.1 PRM(Probabilistic Road Map)

1. Learning phase

![alt text](https://upload.wikimedia.org/wikipedia/commons/9/99/PRM_with_Ob-maps.gif)

- 在地图中随机撒点
- 对每个点进行碰撞检测,如果碰撞,则删除该点
- 找到每个点的邻居,连线,如果连线碰撞,则删除该线

2. Query phase

- 使用图搜索算法(Dijkstra, A*, JPS)在PRM图上寻找从起点到终点的路径

### 1.2 RRT(Rapidly-exploring Random Tree)

![](https://picgo-1257309505.cos.ap-guangzhou.myqcloud.com/20241017165945.png)

## 2. 找最优解的算法

### 2.1 RRT*(Rapidly-exploring Random Tree*)

![](https://picgo-1257309505.cos.ap-guangzhou.myqcloud.com/20241017171227.png)

!!! note "工程实现"

1. Bias Sampling: 有一定概率采样到目标点
2. Sample Rejection: 如果 g + h > c*,则拒绝该采样点
3. Branch-and-bound: 剪枝,也需要 Trade-off,影响最优性
4. Graph Sparsify: 稀疏化,影响最优性
5. Neighbor Query: K近邻或半径查询
6. Delay Collision Check: 延迟碰撞检测
7. Bi-directional Search: 双向搜索
8. Conditional Rewire: 找到第一个解后,进行Rewire

## 3. 加速收敛速度的算法

### 3.1 RRT#

从利用角度:有些节点没有必要被利用,有些节点可以被利用得更充分

### 3.2 Informed RRT*

从探索角度:只有在Informed set内采样才有用

![](https://picgo-1257309505.cos.ap-guangzhou.myqcloud.com/20241017175852.png)

0 comments on commit bc7c4d7

Please sign in to comment.