论文阅读笔记:Distributed multi-robot coordination in area exploration

Distributed multi-robot coordination in area exploration

  • 摘要(略)
  • 简介(略)
  • 多机器人探索模型
    • 环境和机器人模型
    • Measure Nearness
  • 分布式竞标算法
    • sensing and mapping
    • bid calculation
    • 竞标(略)
    • 通信延迟(略)
  • 地图同步
    • Scheme for map storage and map update tracking
    • 地图同步算法
  • 参考文献
  • 实验复现

摘要(略)

简介(略)

多机器人探索模型

环境和机器人模型

  • 环境:2维的Grid Map,其中分布着静态的障碍物。每个Grid具有三种状态:‘free’、‘occupied’、‘unknown’。
  • 机器人模型:每个机器人具备一定范围内的移动、通信、定位、感知的能力。

Measure Nearness

用于衡量每个机器人维持通信链路的能力,公式表达如下:
λ i = e − d 1 r c + α e − d 2 r c + ⋯ + α n k − 2 e − d n k − 1 r c \lambda_i =e^{-\frac{d_1}{r_c}}+\alpha e^{-\frac{d_2}{r_c}}+\cdots+\alpha^{n_k-2}e^{-\frac{d_{n_k-1}}{r_c}} λi=ercd1+αercd2++αnk2ercdnk1
其中:

  • d 1 ≤ d 2 ≤ ⋯ ≤ d n k − 1 d_1 \le d_2 \le \cdots \le d_{n_k-1} d1d2dnk1:机器人i到其他机器人的距离
  • r c r_c rc:通信范围
  • α \alpha α:衰减因子

目的:该公式希望尽可能地使机器人分散以最大化覆盖面积,同时又兼顾机器人之间的通信范围。

分布式竞标算法

sensing and mapping

文中作者将时间进行切片,机器人在时间片只能处于“感知与建图”、“竞标”、“移动”三种状态之一。

  • 感知与建图:机器人在这一阶段通过自身感知信息,与其他机器人交流获取信息,并广播新获得的地图信息。同一个子网下的机器人获取新的信息后更新自身的local map,并查找frontier cells。
  • 竞标:通过判断当前时间与最佳竞标开始时间判断是否存在快要被关闭的竞标会话,如果是,则会等待下一次竞标而非参与当前竞标,否则将地图的更新发送给其他子网成员。

bid calculation

竞标的值由三个因子组成: I i , D i , λ i I_i,D_i,\lambda_i Ii,Di,λi,其意义分别如下:

  • I i I_i Ii:机器人移动到该目标点所能探测的未知区域的面积,其中不包括已经或者将要被其他机器人探测的未知区域的面积。它表征的是机器人移动到该目标殿所能获取的“独有”信息的量。
  • D i D_i Di:机器人与目标点之间的距离。
  • λ i \lambda_i λi:Nearness Measure。
    最终投标的值: B = m a x i ( g i ) B=max_i (g_i) B=maxi(gi)

竞标(略)

通信延迟(略)

地图同步

不同子网中的地图是不一致的,当两个这样的子网融合为一个网络时,需要将它们彼此不同的地图也进行融合,而融合过程中涉及的传输信息量是一个重要的考虑因素。传统的方式是将整张地图进行交换。但是这种方式的弊端是传输的信息量过大。一个理想方式在传输过程中只交换差异的地方,但事实上子网之间并不知道彼此之间的差异。为此,作者在论文中提出采用raw map table来记录各自地图的更新量。

Scheme for map storage and map update tracking

每个机器人需要维持三种数据结构:(1)raw map table,用于记录每个机器人所发现的地图信息;(2)local map,机器人本地所构建的地图。(3)last-sequence-number table,用于记录机器人 R i R_i Ri所知道的各个机器人的最新更新步序号。如下图所示:
论文阅读笔记:Distributed multi-robot coordination in area exploration_第1张图片
论文阅读笔记:Distributed multi-robot coordination in area exploration_第2张图片
其中:

  • Δ M p q = { ∪ ( x , y , V a l u e ) } \Delta M_{pq} = \{{\cup}(x,y,Value)\} ΔMpq={(x,y,Value)}:机器人 R p R_p Rp在第 q q q步获取到的地图信息。

地图同步算法

  1. 处于不同子网中的机器人 R i , R j R_i,R_j Ri,Rj相互发送last-sequence-number table
  2. R i R_i Ri基于 R j R_j Rj的last-sequence-number table,计算差异信息,并将之发送给 R j R_j Rj。同理, R j R_j Rj也要进行上述过程。差异信息计算公式如下: Δ M i → j = ∪ p = 1 n Δ M p ( j p , i p ] \Delta M_{i \to j}=\cup_{p=1}^{n} \Delta M_p(j_p,i_p] ΔMij=p=1nΔMp(jp,ip] Δ M j → i = ∪ p = 1 n Δ M p ( i p , j p ] \Delta M_{j \to i} = \cup_{p=1}^{n}\Delta M_p(i_p,j_p] ΔMji=p=1nΔMp(ip,jp]
  3. 更新last-sequence-number table: R k = m a x ( i k , j k ) R_k = max(i_k,j_k) Rk=max(ik,jk)
  4. 广播更新信息
  1. Δ M i ( p , q ] = ∪ j = p + 1 q Δ M i , j \Delta M_i(p,q] = \cup_{j=p+1}^{q} \Delta M_{i,j} ΔMi(p,q]=j=p+1qΔMi,j,表示的是机器人 R i R_i Ri p p p步和第 q q q步所发现的地图信息。
  2. ∪ p = 1 n Δ M p ( j p , i p ] \cup_{p=1}^{n} \Delta M_p(j_p,i_p] p=1nΔMp(jp,ip]表示的是机器人 R i R_i Ri和机器人 R j R_j Rj所知道的关于所有机器人所知道的地图信息差异的总合。

参考文献

[1]: Sheng W, Yang Q, Tan J, et al. Distributed multi-robot coordination in area exploration[J]. Robotics and Autonomous Systems, 2006, 54(12): 945-955.

实验复现

  • 演示视频
  • 部分复现源码

你可能感兴趣的:(群体协同)