网络干扰对协作机器人一致性的影响

AI助手已提取文章相关产品:

协作移动机器人一致性中的网络干扰

摘要

在本研究中,我们展示了机器人协同控制策略与使用OMNeT++模拟的无线网络之间的集成。我们采用一致性控制策略来执行会合任务,期间信息在一组机器人之间共享。这些机器人随后在移动自组织网络(MANET)环境中进行模拟,并采用基于时分多址的协议(TDMA‐based protocol)以最小化消息冲突。本文考虑了两种情况:一种是不接受新链路的固定预定义拓扑,另一种是当机器人进入通信范围时动态建立新链路的动态拓扑。我们展示了在这两种拓扑下,网络对执行会合任务的控制策略所产生的影响。特别是,如果在部署协同控制策略时未加注意(例如由于时隙起始不同步导致初始消息冲突),会合任务性能将显著下降。最后,我们将这些仿真结果与使用典型简化网络模型在Matlab中实现的控制策略结果进行了比较。差异表明,使用如OMNeT++等更精确的网络模型具有重要意义。

关键词 移动机器人 · 分布式控制 · 协作策略 · 网络协议 · 拓扑控制 · 移动自组织网络

1 引言

覆盖、探索和协作运输等机器人任务可以利用一组协作移动机器人来实现更好的整体性能。在这些场景中,通常希望采用完全分布式解决方案。因此需要一种去中心化决策架构,机器人之间的通信起着至关重要的作用[1]。理想情况下,机器人之间的通信应具备带宽高效、低延迟和无遮挡的特点[2]。然而,这在真实网络中并不适用,尤其是在移动自组织网络(MANET)的情况下,这类网络具有带宽受限、传播延迟、访问冲突和有限范围等特点[3]。

在协作机器人中,存在多种应对不可靠通信的方法:完全避免显式通信(即仅使用本地传感器),在每个机器人上实施容错控制策略,实施可靠的网络协议以避免消息冲突,或通过假设通信介质为理想模式而简单地忽略所有通信故障。在本研究中,我们考虑实际显式通信,因此排除了第一种和最后一种方法。

然而,在其余方法中存在针对网络故障的解决方案。控制方法使机器人导航具有足够的鲁棒性,以容忍因错误导致的暂时性信息缺失。在[9]中,作者开发了一种与预测算法集成的一致性策略,能够从偶发性网络故障中恢复。类似地,[11]中的研究采用预测自适应控制来最小化信道故障对无线传感器与执行器的影响。

在网络协议方法中,解决方案试图通过传输控制在网络层解决消息冲突问题。在[12]中,作者分析了信息流以及消息交换对一组机器人网络的影响。在[2]中,作者提出了一种用于移动自组织网络(MANET)的时分多址(TDMA)协议,该协议采用松散同步且无需时钟同步。其他近期研究得出结论:不仅网络及其协议对机器人任务有显著影响,而且网络不能简单地建模为故障百分比[6]。

在机器人学中,许多研究仍然仅将机器人之间的通信介质视为理想状态[6]或仅有少数偶尔发生的故障。然而,已有一些研究反对这一趋势,它们在机器人背景下研究网络,将机器人模型集成到网络模拟器中。例如,NS2 与 Arena 机器人模拟器[13]、NS2 与 Matlab[14]、NS2 与 ARGOS[6]的集成。尽管这些研究展示了网络对简单机器人和任务的影响,但并未评估其对复杂控制模型的影响。

最近关于网络模拟器的调查[20][21]表明,它们之间的性能差异很小,并且大多数模拟器均可用于移动自组织网络仿真,且具有较高的准确性。NS3 的优势在于消耗更少的 CPU 和内存资源,但 OMNET++具有更好的图形用户界面,从而比其他模拟器更便于调试。然而,OMNET++并非一个网络模拟器,而是一个提供进行网络仿真所需工具的框架。该框架还允许实现与网络无关的算法,如机器人运动和协同控制策略。

OMNET++受到了研究人员的特别关注,并已广泛应用于多个领域。它已与 Matlab[15]集成以进行仿真大型无线传感器网络(WSN)[16],用于评估WSN中的能耗[17],以及测试机器人和无线传感器的新网络同步协议[18]。这些研究表明,OMNET++是一个适用于不同应用的丰富工具,并且通过INET框架等附加组件,能够很好地表示真实网络。

一个值得特别关注的方面是网络拓扑。事实上,机器人在不断移动,根据通信范围动态地建立或断开链路,从而形成动态拓扑。此外,从控制角度而言,可能有必要仅使用可用链路的一个子集,例如,限制陈旧信息的传播或释放带宽。在这种情况下,OMNeT++也是一个合适的工具,因为它可以集成实际机器人导航的仿真,从而生成动态拓扑,使得复杂行为的评估成为可能,而这种评估在其他情况下将无法实现。

在本研究中,我们评估了一种结合了预测控制(RHC ‐ 滚动时域控制)的一致性控制策略,用于一组通过基于时分多址(TDMA)并采用松散同步的MANET协议进行通信的协作移动机器人[8]。该MANET协议即使在动态拓扑下仍保持稳定,并在网络分割为子网络时自动重新配置。本文的目标是展示网络对执行会合任务的控制策略的影响,并与典型的简单通信模型进行比较。我们还表明,如果共同选择合适的技术和协议组合,则可以改善结果并降低网络带来的影响。在下一节中,我们将详细介绍本研究中使用的网络和协议,随后简要说明RHC一致性控制策略。仿真内容在第4节中详细描述,第5节给出结果,第6节为结论。

2 移动自组织网络

移动自组织网络是一种无线移动局域网,不依赖基站来协调网络中的消息交换,因为节点会自行相互转发数据包。

在本研究中,我们采用的是IEEE 802.11b标准,该标准属于IEEE制定的802.11系列无线局域网标准。该标准使用CSMA/CA(载波侦听多路访问/冲突避免)进行介质访问控制。尽管“b”系列已被更快速的802.11型号(如“g”)所取代,但我们将其视为无线网络中的最坏情况,其最大带宽为11Mb/s。使用802.11b的设备会受到工作在2.4 GHz频段的其他产品的干扰,这些产品包括微波炉、蓝牙和ZigBee设备以及无绳电话。对于较高的网络层,我们在传输层使用UDP协议,在网络层使用IP协议模型。

在我们的研究中,我们考虑存在一个覆盖传输控制层,该层对机器人进行同步,使它们能够以独占方式访问网络团队内的模式,从而避免团队成员之间的碰撞。我们称此协议为RATDMA,因其具有无时钟的可重构和自适应同步特性。

2.1 RATDMA

可重构自适应TDMA[2]是一种通过消息交换实现同步的技术。当一个机器人接收到其邻居的消息时,它会估计该消息的延迟,并利用该信息延迟其下一次传输时隙。这对应于TDMA轮次的相位偏移,旨在减少持续周期性干扰的影响,同时最大化团队中机器人之间传输的时间间隔。

通过这种同步机制,我们避免了时钟同步的需求,但TDMA轮次的有效持续时间会发生变化。因此,我们称之为松散同步。例如,考虑一个由三个机器人组成的团队(图1)以及影响机器人一的延迟。在这种情况下,机器人二将在下一轮中校正此延迟,而机器人三将在之后的第二轮中校正。因此,在影响机器人1的初始延迟发生两轮后,团队将再次同步,对应的轮次也相应延迟,这对应于周期相位的相位偏移。

示意图0

3 用于会合的RHC共识

为确保机器人之间的协作,需要一种分散式协调方法,本文中的方法由[9]中开发的共识技术与预测时域控制(RHC)相结合而成。

共识问题假设机器人之间存在明确的通信,其中每个机器人将其部分本地信息传播给其邻居。每个机器人根据邻居的信息独立做出决策,并且其决策必须与群体中其他成员保持一致。

通信结构可以用有向图 G=(V, A, w) 来建模,其中 V 是节点的集合,A 是节点之间的链路集合,w 是每条链路的权重。节点表示机器人,链路表示机器人之间的物理通信链路。A 可以用矩阵形式表示,称为邻接矩阵,其元素 aij= wij 表示节点 i 和 j 之间存在通信链路,而 aij= 0 表示不存在通信。

为了完成会合,所有机器人必须就一个会合点达成一致。因此,机器人必须交换一些信息,即它们的当前位置。

3.1 RHC共识公式

考虑当前机器人的位姿向量xi 、来自其邻居j的接收位姿xj以及接收到的参考位姿xr ,可利用邻接矩阵元素aij以及一个表示机器人是否直接接收参考信息的附加元素air,构建代价函数(公式1)。

$$
\dot{x} i[k] = -\sum {j=1}^{N} a_{ij}(x_i - x_j) - a_{ir}(x_i - x_r)
$$

公式1可以被修改为二次型,得到一个包含三项的初始代价函数J(公式 2),其中使用了符号 $|x|_Q^2 \triangleq x^T \cdot Q \cdot x$ ,元素 $\gamma_i$是机器人速度变化$\Delta v_i$的加权因子,p为预测步长。

$$
J_i = \sum_{k=1}^{p} \sum_{j=1}^{N} |x_i[k] - x_j[k]| {a {ij}}^2 + \sum_{k=1}^{p} |x_i[k] - x_r[k]| {a {ir}}^2 + \sum_{k=1}^{p} |\Delta v_i[k]|_{\gamma_i}^2
$$

在此公式化中,第一项表示会合共识,使机器人就一个会合点达成共识。第二项是参考跟踪(如果存在),第三项惩罚速度变化,从而使轨迹更平滑。

优化的结果是控制信号(x 和 y 坐标方向的速度),这些信号被用于一阶动力学方程以确定机器人运动(方程3),其中 $h$ 是时间步长。

$$
x_i[k] = x_i[k-1] + v_i[k]h
$$

由于我们采用分布式方法,机器人在预测部分无法获知其邻近机器人的控制信号,因此通过使用$v_j[k] \approx v_j[0]$和$x_j[k] \approx x_j[0], \forall k = 1,…,p$进行近似,这基本相当于在预测步长期间将邻近机器人的位置和速度视为常数。

3.2 矩阵形式

如[9]所示,方程3可以重写为矩阵形式,并通过将其转换为$\frac{1}{2}x^TQx + c^Tx$形式的二次函数,得到方程4、5和6。

$$
J_i = \frac{1}{2}V_i^T H_i V_i + f_i V_i
$$

$$
H_i = \sum_{j \neq i} T^T a_{ij} T + T^T a_{ir} T + T’^T \gamma_i T’
$$

$$
f_i = \sum_{j \neq i} (X_{i,0}^T - X_{j,0}^T)a_{ij}T + (X_{i,0}^T - X_{r,0}^T)a_{ir}T - V_{i,0}^T \gamma_i T’
$$

注意,这是一个由构成的下三角矩阵。利用这些公式,可以将优化问题表述为公式(7),以在每个机器人的每次迭代中找到最优值,其中$v_{ix}$和$v_{iy}$ 是 x和y坐标系中的速度,$v_{maxf}$ 、$v_{maxb}$是机器人的最大饱和速度(前进和后退)。该问题通过使用第4节中描述的特定库来求解。

$$
\min \frac{1}{2}[V_{ix} V_{iy}] \begin{bmatrix} H_i & 0 \ 0 & H_i \end{bmatrix} \begin{bmatrix} V_{ix} \ V_{iy} \end{bmatrix} + [f_{ix} f_{iy}] \begin{bmatrix} V_{ix} \ V_{iy} \end{bmatrix}
$$

$$
s.t. \quad v_{maxb} \leq v_{ix} \leq v_{maxf}, \quad v_{maxb} \leq v_{iy} \leq v_{maxf}
$$

3.3 距离约束

在本研究中,我们在前一节总结的[9]工作基础上进一步考虑了机器人间距离受限的情况。这是为了确保邻居机器人之间保持最小距离以避免碰撞,并在通信范围内保持最大距离,从而在会合任务期间避免通信链路中断。这一点在公式(8)中进行了简单描述,其中$r_{ij,min}$是最小距离, $|d_{ij}|$ 是两个机器人之间的距离,而$r_{ij,max}$是最大距离。

$$
r_{ij,min} \leq |d_{ij}| \leq r_{ij,max}
$$

与第3.2节中的矩阵形式类似,在k个预测步长期间需要对$x_{j,k}$进行近似,我们同样选择将其视为常数,并等于$\tilde{x} {j,k} = x {j,0}$ ,从而得到$\tilde{d} {ij} = \tilde{x} {j,k} - x_{i,0}$。机器人i预测的距离必须满足这些限制,并采用简单的标量投影位移$\Delta x_{i,k} = h \cdot v_{i,1}$,从而得到最小距离的最终表达式为公式(9),最大距离的表达式为公式(10)。

$$
-\frac{|\tilde{d} {ij}|}{h}[\tilde{d} {ijx} \tilde{d} {ijy}] \begin{bmatrix} v {i,1x} \ v_{i,1y} \end{bmatrix} + |\tilde{d} {ij}| - r {i,jmin} \geq 0
$$

$$
\frac{|\tilde{d} {ij}|}{h}[\tilde{d} {ijx} \tilde{d} {ijy}] \begin{bmatrix} v {i,1x} \ v_{i,1y} \end{bmatrix} - |\tilde{d} {ij}| + r {i,jmax} \geq 0
$$

如果时间步长足够小,该近似是可接受的[19]。

4 仿真

在本研究中,我们进行了两种不同的仿真:一种使用OMNET++并采用迄今为止描述的算法,另一种是将协作控制策略在Matlab中实现,并采用简化的网络模型,该模型考虑了具有清晰范围的理想信道以及随机应用的丢包率。后一种仿真在多篇控制与机器人学领域的文献中均有出现,我们用它来评估其准确性。

选择OMNeT++是由于其图形用户界面、模块化特性,以及它是一个通用的基于离散事件的仿真框架。严格来说,它不是网络模拟器,但通过 INET和移动性框架附加组件[20],它可以正确且准确地执行网络仿真。

在两次仿真中,我们使用相同的初始网络拓扑(图2)、相同的初始条件和参数(表1)。我们未采用复杂的拓扑控制方法,但通过距离约束可以在执行会合任务过程中逐步建立更加密集的拓扑结构。具体而言,不应出现链路中断,仅当机器人彼此靠近时建立新链路。因此,我们考虑两种情况:一种是由机器人运动产生的正常动态拓扑,另一种是等于初始拓扑的静态拓扑,在该情况下控制方法拒绝建立新链路。

示意图1

表1. 仿真参数(* ‐ 仅部分情况)。

参数 数值
机器人数量(N) 10
初始位置 X [600; 800; 800; 800; 800; 600; 900; 1100; 1300; 1300]
初始位置 Y [430; 430; 630; 830; 1030; 1030; 450; 450; 450; 550]
速度饱和 10厘米/秒 和 ‐10厘米/秒
通信范围 250厘米
预测步数 (p) 10
链路权重 (a) 1
速度变化权重 (λ) 1
控制时间步长 100毫秒
*TDMA周期 100毫秒
*抖动 随机 (0…0.1毫秒)

4.1 Matlab仿真

该仿真遵循[9]中的实现方法,并采用相同的协作控制策略及所提及的约束条件。为求解二次优化问题,它使用了Matlab 2014a中的标准quadprog函数。我们使用两种网络模型执行该仿真。第一种情况下,机器人同时向其通信范围内的任何相邻机器人发送消息,且这些消息没有任何延迟或故障。第二种情况采用简单的时分多址(TDMA)进行消息传输,会受到机器人位置和时隙周期的影响。这两种情况均结合两种拓扑结构进行实验,共形成四种场景。这些场景再现了控制与机器人学领域中基于仿真的研究工作所普遍采用的大多数方法。

4.2 OMNeT++仿真

图2展示了OMNeT++仿真环境。仿真由一组独立的模块组成。其中一个模块用于控制机器人移动(作为底层控制器),另一个模块用于实现协同一致性,还有一个模块负责拓扑和通信网络控制。OMNeT++的模块化特性使得我们无需重建整个代码即可更换其中任意模块。此外,我们使用名为QuadProg++ for C++[22]的库来求解优化问题,并已将其轻松集成到仿真中。

为了评估每个网络特征的影响,我们选择性地禁用了这些特征,以创建多个研究案例,这些案例将在下一节中详细描述。对于所有情况,我们均考虑了固定和动态拓扑。

5 结果

仿真案例由七个特征的不同配置组合而成,如下所述并如表2所示。
- Matlab :表示为Matlab仿真;
- OMNeT++ :表示为OMNeT++仿真;
- 网络 :表示我们使用INET网络协议栈模块(OSI层、延迟、IEEE 802.11和无线信号模型);
- 时分多址(TDMA) :表示我们使用普通的时分多址(TDMA),并进行时钟同步;
- RATDMA协议 :表示我们使用RATDMA协议,并采用松散同步;
- 抖动 :表示我们在每个时隙的起始时间插入随机的时钟误差;
- 起始时间 :描述不同的传输模式:
- 理想 :机器人在正确的时隙时间精确传输;
- 实际模式 :机器人相对于其正确的时隙时间,在0到3毫秒之间以随机延迟进行传输;
- 关闭 :机器人几乎在同一时间开始传输,顺序随机,不同于初始设定的时隙顺序;
- 一起 :机器人在同一时间精确开始传输。

表2 仿真案例参数。

Cases Matlab OMNeT++ Network TDMA RATDMA Jitter Starting Time
1 X X 理想
2 X 一起
3 X X 理想
4 X X X 理想
5 X X X X 理想
6 X X X 理想
7 X X X X Real
8 X X X 关闭
9 X X X X 一起
10 X X X Real
11 X X X 关闭

在这些实验中,由于机器人被简化为空间中的无量纲点,因此移除了最小距离约束,并分析了最终收敛点以及到达该点所需时间。停止准则是机器人当前位置到共识点的标准差小于1时。

对于固定拓扑的情况(图3和图4),只要存在消息碰撞避免机制(本例中为时分多址(TDMA)或RATDMA),且初始条件相似(情况1、3–6以及7和10),Matlab与OMNeT++仿真之间的收敛点和收敛时间大致相近。后两种情况(7和10)考虑了时隙开始时的延迟传输,例如由于当时正在进行的晚发传输所引起,但由于0到3毫秒的实际延迟相对较小,因此未产生明显影响。这是可以理解的,因为TDMA机制的存在使网络在碰撞方面接近于理想网络。

示意图2

示意图3

当使用简化的网络模型(所有节点同时传输但忽略碰撞——情况2)运行Matlab仿真时,收敛时间的结果错误地表现得更好。

情况2还可以与情况9进行比较,在情况9中,RATDMA的自动轮次重新配置用于处理所有机器人一起开始传输的情况。这种情况最初会导致大量碰撞,但随着协议创建时隙并将其分配给机器人,碰撞便会消失。这一初始阶段的网络性能不佳会导致收敛点和收敛时间出现明显下降。然而,这是一种现实情况,即多个机器人同时被触发,并由RATDMA协议自动形成TDMA轮次。需要注意的是,通用(静态)TDMA没有与此相对应的情况,因为当所有机器人同时被触发时,它们将始终在各自的时隙之外进行传输,从而导致碰撞并相互破坏消息,最终导致会合任务失败。

最后,在情况8和11中展示了两种现实但糟糕的情形。由于信息顺序发生了变化,但最初没有发生碰撞,因此时分多址(TDMA)在抖动未将时隙偏移足够长的时间之前不会引发任何碰撞。然而,RATDMA会重新分配时隙并纠正发送顺序,但由于时隙相互重叠,仍会产生一些碰撞。

示意图4

示意图5

动态拓扑下的仿真结果如图5和图6所示。与之前的仿真相比,一个明显的差异是收敛时间的变化更大。这是预料之中的,因为在有利情况下,机器人会迅速移动到机器人间链路数量急剧增加的位置,从而加快信息传播。相反,在不利情况下,机器人需要更长时间才能到达链路密度较大的位置,因此需要更长时间才能实现快速信息传播。

然而,在这两种情况下,这种链路密集化的好处源于通过最大距离约束实现的拓扑控制,该约束保证了随着团队向收敛点推进,链路数量不会减少。因此,在动态拓扑情况下,收敛时间明显更短。

Matlab 与 OMNeT++ 仿真之间的主要区别在于,Matlab 对机器人之间的连接更为乐观,即只要机器人进入定义的通信范围,Matlab 就会自动创建新链路,即使某个机器人尚未发送任何消息。而 OMNeT++ 更加贴近实际模式,仅当机器人收到来自新邻居的消息时才会添加新的通信链路。由于机器人持续移动,链路的建立发生在不同的时刻,从而导致收敛点的结果不同。这也略微影响了收敛时间,结果之间大约相差一轮,主要原因在于停止条件并非在同一轮达到。

关于不利情况(8、9 和 11),需要重点强调的是,尽管动态拓扑具有链路密集化效应,但协作任务的性能仍然受到具体网络协议及其初始条件的显著影响。再次说明,使用简化的网络模型(如情况 1 和 2)会导致在协作任务中得出误导性的较好结果。

6 结论

在此工作中,我们实现了网络协议与复杂协作策略的集成,并评估了网络协议对协作任务的影响。结果表明,使用简化的网络模型(例如控制与机器人学界在Matlab仿真中通常使用的那些模型)时,可能导致协作任务中的性能水平不切实际地优于真实网络环境下的实际场景。

我们的结果还表明,在开始协作任务之前,正确配置机器人(主要是关于它们的同步性),可以提高整体性能。

这项工作的主要难点在于校准两次仿真,使其在不考虑网络因素的情况下具有相似的结果,这主要是由于优化库和编程语言的差异所致。此外,OMNeT++仿真的多个方面必须完全自行实现,例如机器人的底层控制和运动显示。

在未来的工作中,我们将扩展本研究以评估网络中外部流量(即由团队外部源产生的流量)的影响,并考虑不同的协作任务,例如参考一致性与编队控制。

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值