协同路径规划

1. 背景介绍

区别与点对点的路径规划,本文讲的协同路径规划的目标是多车协同覆盖扫描一个区域。
协同路径扫描
从图中容易知道,黑色的栅格代表障碍物,蓝色的小点代表着小车,用不同颜色的线段代表为每个小车规划的路径。
通过上述的讲解,相信已经理解到我所说的协同覆盖扫描一个区域指的是什么了。与上述的情况不一样的是,现在存在一个应用场景,小车随机分布在地图上(有的在目标区域内部,有的则在区域外部),要求给出一个最佳的扫描方案:派出哪几辆车执行扫描任务最佳,给出每个小车的路径。值得注意的是,这个有个隐藏的问题,如果区域外的小车要参与扫描任务,从目标区域的什么位置开始扫描(引申出最佳进入点的概念)。

2. 现有的解决方案

2.1. 遗传算法解决组合优化问题

遗传算法流程图
Notice:
染色体:染色体在遗传算法中表示一种具体的组合。

例如: 12号小车 从(4,9)位置开始扫描 → 可 以 表 示 为 → \to^{可以表示为}\to 110001001001 其中 1100 = 12 ; 0100 = 4 ; 1001 = 9 1100 = 12; 0100 = 4; 1001 = 9 1100=12;0100=4;1001=9

种群:染色体的集合,上述的选择与交叉操作都是针对与种群的。
适应度函数:给染色体评分,给后续的选择操作提供支持。

演化
编码
初始化种群
为种群中每个染色体规划协同路径DARP+STC
评估种群个体适应度
选择
交叉
变异

值得注意的是,这里的染色体包含的是组合信息,每个染色体代表的是一个个体,个体之间是独立的。

2.2. DARP + STC 规划多车协同路径
2.2.1. DARP: Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning

按照小车初始位置划分区域,通过下面的图片可以粗略的认识到,DARP算法就是根据移动小车的初始位置划分区域,确保每个区域的面积近似相等,且联通。
在这里插入图片描述

在这里插入图片描述
E i ∣ x , y = d i s t ( X i ( t 0 ) , [ x , y ] τ ) , ∀ i ∈ { 1 , … , n r } (1) E_{i|x,y} = dist(\mathcal{X_i(t_0)},[x,y]^{\tau}), \forall i \in \{1, \dots, n_r\}\tag{1} Eix,y=dist(Xi(t0),[x,y]τ),i{1,,nr}(1)
E i E_i Ei是一个矩阵, E i ∣ x , y E_{i|x,y} Eix,y表示 [ x , y ] [x,y] [x,y]与移动小车初始位置的距离 X i ( t 0 ) X_i(t_0) Xi(t0)

A x , y = arg min ⁡ i ∈ { 1 , … , n r } E i ∣ x , y , ∀ ( x , y ) ∈ L (2) A_{x,y} = \argmin_{ i \in \{1, \dots, n_r\}}E_{i|x,y}, \forall (x,y) \in \mathcal{L}\tag{2} Ax,y=i{1,,nr}argminEix,y,(x,y)L(2)
A x , y A_{x,y} Ax,y表示分配矩阵, ( x , y ) (x,y) (x,y)分配给具体的哪个机器人扫描。
C i ∣ x , y = min ⁡ ∥ [ x , y ] − r ∥ − min ⁡ ∥ [ x , y ] − q ∥ , ∀ r ∈ R i , q ∈ Q i (3) C_{i|x,y} = \min{\|[x,y]-r\|}-\min{\|[x,y]-q\|}, \forall r \in \mathcal{R_i}, q \in \mathcal{Q_i} \tag{3} Cix,y=min[x,y]rmin[x,y]q,rRi,qQi(3)
C i ∣ x , y C_{i|x,y} Cix,y连通性奖惩矩阵, R i \mathcal{R_i} Ri表示包括小车 i i i 起始点的分配区域, Q i \mathcal{Q_i} Qi表示小车 i i i 除了 R i \mathcal{R_i} Ri的其余分配区域

m i , i ∈ { 1 , … , n r } m_i, i \in \{1, \dots, n_r\} mi,i{1,,nr} 表示距离缩放系数,控制每个小车分配区域大小近似相等。

2.2.2. STC : Spanning Tree Coverage (STC) Algorithm

针对单车,生成覆盖路径
(a) Initial cells’ discretiza-
tion, robot’s cell and obsta-
cles
在这里插入图片描述

(b) Subdivide the terrain
into large square cells of 4
cells and represent them as
nodes
在这里插入图片描述

© Construct a Minimum
Spanning Tree for all the
unblocked nodes
在这里插入图片描述

(d) Apply the ST to the orig-
inal terrain and circumnavi-
gate the robot around it
在这里插入图片描述
生成树: n个节点用n-1条边连通
最小生成树:在生成树的基础上,边的权值之和最小。
生成最小生成树的算法: Prim, Kruskal

参考文献:
[1] Athanasios Ch. Kapoutsis and Savvas A. Chatzichristofis and Elias B. Kosmatopoulos. DARP: Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning[J]. Journal of Intelligent & Robotic Systems, 2017, 86(3-4) : 663-680.

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值