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.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐