基于区块链声誉管理的拜占庭机器人识别方法
黄捷1,2, 曾佳洲1,2
1.福州大学 电气工程与自动化学院 福州 350108
2.福州大学 5G+工业互联网研究院 福州 350108
通讯作者:

黄 捷,博士,教授,主要研究方向为多智能体系统、工业互联网.E-mail:jie.huang@fzu.edu.cn.

作者简介:

曾佳洲,硕士研究生,主要研究方向为区块链、群机器人.E-mail:863459523@qq.com.

摘要

基于区块链技术,提出具有身份认证和任务监管的声誉管理系统(Reputation Management System with Identity Authentication and Task Supervisor, RMS-IATS),解决群机器人内拜占庭机器人的识别问题,避免拜占庭机器人对群机器人造成安全威胁.首先,改进经典的基于区块链的群机器人声誉管理系统(Reputation Management System, RMS),引入惩罚因子,针对长期存在拜占庭行为的机器人实施更严厉的声誉值惩罚.其次,为了加快拜占庭机器人的识别速度,设计一种身份认证协议,将身份非法的机器人赋予一个较低的初始声誉值.再者,设计一种双层通信网络,用于机器人间的通信,解决群机器人系统因采用区块链技术带来的通信延迟问题.最后,通过仿真实验验证基于区块链的RMS-IATS和双层通信网络的有效性.相比经典的群机器人RMS,RMS-IATS在仿真模拟中识别不同类型拜占庭机器人所需的时间更短.相比使用区块链技术,在系统中使用双层通信网络进行通信时,可大幅减少系统的最大通信延迟.

关键词: 区块链; 群机器人; 拜占庭机器人; 声誉管理系统(RMS); 身份认证; 任务监管
中图分类号:TP 242
Byzantine Robot Recognition Scheme via Blockchain-Based Reputation Management
HUANG Jie1,2, ZENG Jiazhou1,2
1. College of Electrical Engineering and Automation, Fuzhou University, Fuzhou 350108
2. 5G+ Industrial Internet Institute, Fuzhou University, Fuzhou 350108
Corresponding author:
HUANG Jie, Ph.D., professor. His research interests include multi-agent systems and industrial Internet.

About Author:
ZENG Jiazhou, Master student. His research interests include blockchain and swarm robotics.

Abstract

A reputation management system with identity authentication and task supervisor (RMS-IATS) for swarm robotics via blockchain technology is proposed to identify Byzantine robots within the swarm robotics and avoid the security threat caused by Byzantine robots to swarm robotics. Firstly, a classical blockchain-based swarm robotics reputation management system(RMS) is improved by introducing penalty factors, and a severer reputation value penalty is imposed on the robotics with long-term Byzantine behavior. Secondly, to speed up the identification of Byzantine robots within swarm robotics, an identity authentication protocol is devised, and thus lower initial reputation scores are assigned to the robots with unauthorized identities. Next, a dual-layer communication network for communication between robots is designed to solve the communication latency issue caused by blockchain in the swarm robotics system. Finally, the feasibility of the proposed blockchain-based RMS-IATS and dual-layer communication network is proved through simulations. The identification time for different types of Byzantine robots is shortened by RMS-IATS compared with the classical RMS for swarm robotics, and the maximum communication latency of the system is reduced by the proposed dual-layer communication network compared with the blockchain.

Key words: Blockchain; Swarm Robotics; Byzantine Robot; Reputation Management System(RMS); Identity Authentication; Task Supervisor

群机器人作为近年来发展迅速的人工智能技术领域之一, 广泛应用于仓储物流[1, 2]、工业技术[3, 4]、勘探[5, 6]等诸多场景.群机器人研究通常假设每个机器人都可以完全按照预设算法行动, 但当机器人受到恶意攻击时可能成为恶意机器人, 产生非预期的行为, 进而干扰集群任务的执行.由于恶意攻击导致出现非预期行为的机器人称为拜占庭机器人(Byzantine Robots), 是来自群机器人内部的安全威胁.Mokhtar等[7]针对群机器人执行探索任务场景, 提出一种基于区块链的信息共享系统.然而该系统未考虑安全问题, 当系统内部存在拜占庭机器人恶意上传错误信息时, 会导致错误信息在群机器人内传播.因此, 对群机器人系统而言, 识别、管理拜占庭机器人是一个关键安全问题.

声誉值是对系统中机器人连续行为的数值评价, 声誉管理系统(Reputation Management System, RMS)建立实体行为到数值的映射机理, 定量评估系统中实体的可信度, 管理系统中的实体.在群机器人领域, RMS可用于检测拜占庭节点[8].传统RMS实现方法是建立一个集中式的中央节点, 对系统中节点的声誉值评分, 然而集中式的方案效率较低, 并且RMS系统依赖中央节点运行, 一旦中央节点故障, 会导致系统瘫痪.分布式RMS可克服传统集中式RMS的缺陷, Zikratov等[9]提出能有效减少拜占庭节点对系统影响的群机器人分布式信任模型.

近些年, 区块链技术逐渐成为构建分布式RMS的主流方案.由于区块链不依靠第三方信任, 并附带一个去中心化的架构[8], 为群机器人系统构建可信RMS提供技术支撑.区块链可在没有第三方的情况下确保多个实体之间的信任, 避免单点故障和集中式中央节点恶意篡改、泄露系统数据等问题, 并确保交易的透明度和可追溯性[10, 11].已有学者尝试使用区块链设计群机器人RMS.Strobel等[12, 13]在群机器人共识场景下使用区块链智能合约, 设计一种群机器人RMS, 实现群机器人的信息共享, 并通过声誉值识别和管理拜占庭机器人.Luo等[14]在文献[12]和文献[13]的基础上, 提出一种利用区块链过滤群机器人集体决策中不一致故障的方法.Strobel等[15]进一步优化文献[13]中的RMS, 将区块链平台以太坊(Ethereum)使用的虚拟货币, 即以太币应用于RMS, 通过以太币的管理使拜占庭机器人因缺少以太币无法发起交易, 从而制约拜占庭机器人.

在上述工作中, 研究者总体技术路线是设计RMS中计算机器人的声誉值, 从而识别和管理拜占庭机器人.此外, 在群机器人系统中使用区块链的另一个挑战是延迟问题.Ferrer等[16]借助区块链技术, 解决领航-跟随者编队场景下拜占庭领航机器人导致跟随机器人无法正确前往目标点的问题.文献[16]引入区块链, 导致通信延迟, 使系统成为异步系统.通常群机器人系统对实时性要求较高, 要在群机器人中应用区块链, 需要解决区块链带来的通信延迟问题, 以免影响群机器人的正常工作.

综上所述, 为了减少识别群机器人系统中拜占庭个体所需的时间, 本文在文献[12]~文献[15]的基础上, 提出具有身份认证和任务监管的声誉管理系统(RMS with Identity Authentication and Task Su- pervisor, RMS-IATS).同时, 为了解决区块链带来的通信延迟问题, 设计一种双层通信网络, 应对群机器人执行任务过程中的高实时性任务要求.首先, 受行为控制[17]思想启发, 设计一种群机器人声誉管理系统, 将综合的机器人任务分解成4类子任务, 根据机器人的子任务执行情况, 计算机器人任务执行过程中的声誉值.此外, 在机器人声誉值计算过程中引入惩罚因子, 对长期存在拜占庭行为的机器人进行更严厉的声誉值惩罚, 减少识别拜占庭机器人所需时间.其次, 设计一种身份认证协议, 部署于区块链上, 使用机器人的身份信息和在区块链上的地址信息对机器人进行身份认证, 身份非法的机器人将被给予较低的初始声誉值, 从而减少系统识别拜占庭机器人所需的时间.最后, 在基于区块链的RMS-IATS内设计双层通信网络, 用于机器人节点间的通信.在区块链系统内额外引入一条高速通信网络, 解决群机器人系统中因引入区块链带来的通信延迟问题.

1 相关概念及设计目标
1.1 相关概念

拜占庭机器人是指无论其根本原因如何, 表现出与预设行为不一致行为的机器人.如果机器人偏离它的预设行为或出现随意行动, 则具有拜占庭行为[16].本文将拜占庭机器人分为两类.1)恶意机器人.这类拜占庭机器人不会按照预设任务去行动.2)传感器或执行器故障的机器人, 在机器人运行过程中, 传感器或执行器的故障可能会导致机器人出现异常行为.当群机器人执行任务时, 其内部的拜占庭机器人将由于恶意或因故障而不执行预设任务.

区块链技术是一种将数据块按时间顺序组合成链状的技术[18].在区块链上, 数据按照特定的时间顺序组织起来, 并使用密码学原理进行加密, 从而使数据可追溯、不可篡改.区块链不仅可为群机器人提供可靠的点对点通信渠道, 还是一种克服潜在威胁、漏洞和攻击的方法[19] .

智能合约是存储在区块链上自动运行的独立于节点的第三方脚本程序, 并在部署后强制执行, 当触发编程预设条件时, 智能合约执行相应的合约功能.通过设计不同的智能合约, 可使区块链系统实现不同的功能.

RMS目标是保证系统中实体的声誉值准确反映其采取的行动[20].一般来说, 为了评估系统中一个实体的声誉值, 需要通过交互或第三方提供的实体信息, 通过预定义的映射函数和聚合函数, 将收集到的实体信息从证据空间(Evidence Space)映射到信任空间(Trust Space)[21].

身份认证是网络安全中的一项关键技术, 防止未经授权的用户访问并占用网络资源.在群机器人系统引入身份认证可有效提高系统识别拜占庭机器人的能力.基于区块链的身份认证技术可为分布式环境下信任关系的构建提供有效思路[18].

1.2 设计目标及假设

本文的设计目标是为群机器人系统设计一种具有身份认证和任务监管功能的RMS, 在满足假设的条件下, 使用机器人的身份认证结果和任务执行信息计算机器人的声誉值, 通过对比设定的声誉值阈值, 快速识别群机器人内部的拜占庭机器人.此外, 设计一种双层通信网络, 缓解将区块链引入群机器人系统带来的延迟问题.本文给出如下假设.

假设 1 机器人的算力相同, 即n+1个机器人的算力总是强于n个机器人.

假设 2 机器人节点在任一时刻都有足够的虚拟货币进行交易, 不会因为虚拟货币数量不足而无法发起交易.

假设 3 拜占庭机器人的数量L小于群体中机器人数量N的一半, 即L< N/2.

注 1 RMS-IATS的可靠性依赖于区块链的安全性, 一般假设攻击者不能控制区块链系统中超过一半的计算节点, 只要这个条件成立, 区块链就是安全的.

2 基于区块链的具有身份认证和任务监管的声誉管理系统
2.1 框架设计

基于区块链技术, 本文设计具有身份认证和任务监管的声誉管理系统(RMS-IATS), 框图如图1所示.

图1 基于区块链的RMS-IATS框架图Fig.1 Blockchain-based RMS-IATS framework

RMS-IATS由如下3部分组成.

1)身份管理中心(Identity Management Center, IMC).负责存储和管理合法身份信息.在区块链初始化阶段, IMC将合法的身份信息发送给身份认证模块.系统管理员(System Administrator, SA)具有添加、修改、删除身份信息的权限.

2)身份认证模块(Identity Authentication Modu- le).运行在智能合约(Smart Contract, SC)中, 作用是接收机器人的认证请求和认证信息, 判断机器人的身份是否合法.

3)任务监管模块(Task Supervisor Module).运行在智能合约中, 作用是对群机器人的任务执行状态进行监督和评分, 评分会影响机器人的声誉值.

此外, 群机器人中的机器人节点由控制模块和通信模块组成.通信模块负责机器人与其它机器人的通信以及与区块链进行交互.控制模块负责控制机器人移动, 并控制机器人使用执行器、传感器完成任务.机器人节点之间是全连通的.

2.2 身份认证

对于系统内的机器人Ri(i=0, 1, …, n-1), n为系统内机器人的数量, 其认证过程分为如下3个阶段.

1)系统初始化阶段.

step 1 SA生成全局密钥Ks, 并将Ks存储在IMC中.

step 2 IMC生成一组区块链账户信息, 每个账户信息包含区块链地址A及密码P, 随后, IMC将全局密钥Ks写入SC.

2)机器人注册阶段.机器人Ri注册流程如下.

step 3 IMC生成身份标志IDi, 通过安全信道将一个区块链地址Ai和密码Pi, 以及IDi发送至Ri, Ri将(IDi, Ai, Pi)存储在内存中, 其中, 密码Pi和身份标志IDi为秘密参数.

step 4 IMC使用哈希函数h(· )计算

$Q_{i}^{I}=h\left(I D_{i}\right), Q_{i}^{P}=h\left(P_{i}\right), $

将元组(Ai, QiI, QiP)写入SC.

3)机器人认证阶段.机器人Ri身份认证流程如下.

step 5 Ri生成时间戳t1和随机数n1, 计算

$M_{1}=I D_{i} \oplus h\left(P_{i}\right), M_{2}=h\left(M_{1}, t_{1}, n_{1}\right) \text {, }$

发送信息(M1, M2, t1, n1)给SC.

step 6 SC收到(M1, M2, t1, n1)后, 首先验证

tnow-t1< Δ t

是否成立, 其中Δ t为最大通信传输延迟, 若不成立则结束当前认证流程.其次, 根据发起身份认证节点的地址 Ai* 在内存中寻找对应的身份信息元组, 若对应的身份信息元组不存在, 则结束当前认证流程.最后, 找到对应的身份信息元组(Ai, QiI, QiP)后, 计算

$\begin{array}{l} I D_{i}^{* }=M_{1} \oplus Q_{i}^{P}, Q_{i}^{I^{* }}=h\left(I D_{i}^{* }\right), \\ M_{2}^{* }=h\left(M_{1}, t_{1}, n_{1}\right), \end{array}$

验证

$M_{2}^{* }=M_{2}, Q_{i}^{I^{* }}=Q_{i}^{I}$

是否成立, 若成立, 则SC成功认证Ri, Γ i=1, 否则Γ i=0.

step 7 认证成功后, SC计算

$M_{3}=K_{s} \oplus Q_{i}^{P} \oplus n_{1}, M_{4}=h\left(M_{3}, I D_{i}^{* }\right), $

发送(M3, M4)给Ri, Ri收到M3后, 计算

$K_{s}^{* }=M_{3} \oplus h\left(P_{i}\right) \oplus n_{1}, $

从而Ri得到全局密钥 Ks* =Ks.

2.3 任务监管

本文改进文献[15]中的RMS框架, 基于行为[17]将综合的群机器人任务分解为4类子任务, 通过部署在智能合约内的计机器人任务监管模块对机器人的子任务进行监管.在身份认证结束后, 群机器人开始执行预设任务, 间隔固定的时间Δ T, 任务监管模块会对机器人的子任务执行情况进行一轮评分, 得到的评分将用于迭代机器人声誉值, 具体过程如下.

在每个机器人加入编队执行任务前, 任务监管模块会根据身份认证结果, 为每个机器人设定一个初始声誉值:

$r_{i}^{0}=\left\{\begin{array}{ll} \kappa, & \Gamma_{i}=1 \\ 0, & \Gamma_{i}=0 \end{array}\right.$

其中, i=1, 2, …, n, Γ i为机器人Ri的身份认证结果, κ 为系统管理员设定的通过身份认证的机器人的初始声誉值.

随后, 间隔固定时间Δ T, 任务监管模块对机器人的任务执行进行一轮评分.第k轮对机器人Ri的评分过程如下.

定义ρ ∈ Rm为任务变量, σ ∈ Rn为机器人配置[17]σ 相关, ρ i(i=1, 2, …, n)为机器人Ri的任务变量, 机器人的任务函数如下:

$\rho_{i}=f\left(\sigma_{i}\right), $

其中, f(· )为从σ ρ 的映射关系, 表示不同配置的机器人的任务差异.

本文以典型的仓储物流群移动机器人为研究对象, 将机器人Ri的综合任务ρ i根据仓储货运任务目标分解成4类不同的子任务ρ i, m, ρ i, a, ρ i, o, ρ i, s.其中, ρ i, m表示Ri前往目标点任务, ρ i, a表示Ri使用机载执行器开展特定动作任务(不包含移动子任务ρ i, m与避障、避碰子任务ρ i, o), ρ i, o表示Ri在运动过程中的避碰、避障任务, ρ i, s表示Ri使用机载传感器采集特定环境信息任务.对于第k轮的子任务ρ i, m, ρ i, a, ρ i, o, ρ i, s, 对Ri的任务执行情况的评分为 ri, mk, ri, ak, ri, ok, ri, sk.

相比文献[15]中设计的RMS, RMS-IATS下的任务监管在计算机器人声誉值的过程中引入惩罚因子 ζi, mk, ζi, ak, ζi, ok, ζi, sk, 对长期存在因故障或恶意导致拜占庭行为的机器人进行更严厉的惩罚.

注 2 RMS-IATS可推广至一般群机器人多任务场景, 若存在任务超出本文给出的4个子任务分类, 则沿用本文子任务评价函数设计逻辑关系.首先分析对应子任务的评价指标, 如本文避障、避碰子任务ρ i, o的评价指标为机器人与障碍、其它机器人的距离di, o.然后根据对评价指标的需求在声誉管理系统中设计对应的子任务评价函数, 如子任务ρ i, o的评价指标di, o, 本文希望di, o大于设定的安全距离dsafe, 当di, o< dsafe时, 对机器人施加声誉值惩罚, 机器人越接近障碍物(或其它机器人), 对其施加越严厉的声誉值惩罚.因此, RMS-IATS可兼容不同的群机器人场景.

在第k轮评分中, 任务监管模块对子任务ρ i, m的评分与当前Ri的目标点Pi, m的距离相关, 系统通过传感器采集机器人的任务执行信息infi的目标点与机器人的任务执行状态函数相关, 即

$P_{i, m}=\lambda\left(i n f_{i}\right), $

其中λ (· )为Pi, minfi之间的映射关系.

Ri当前位置与目标点的距离误差如下:

$d_{i, m}=\left\|P_{i, d}-P_{i, m}\right\|, $

其中, ‖ · ‖ 为两点间的距离, Pi, dRi当前位置.

对于子任务ρ i, m, 评分

$r_{i, m}^{k}=\left\{\begin{array}{ll} \alpha_{1}, & d_{i, m}< d_{\text {last }} \\ \left(1+\zeta_{i, m}^{k}\right) \alpha_{2}, & d_{i, m}=d_{\text {last }} \\ \left(1+\zeta_{i, m}^{k}\right) \alpha_{3}, & d_{i, m}> d_{\text {last }} \end{array}\right.$

其中:α 1∈ N, α 2∈ N, α 3∈ N为评分因子, 可基于机器人与目标点间的距离设置不同的评分因子; dlast为上一轮评分中机器人与目标点的距离; 惩罚因子 ζi, mkRi过去的子任务ρ i, m的评分$\left[r_{i, m}^{0}, r_{i, m}^{1}, \cdots, r_{i, m}^{k-1}\right]$相关.

在第k轮评分中, 对子任务ρ i, a的评分 ri, ma与机器人任务执行情况相关, 定义如下:

$r_{i, a}^{k}=\Xi\left(i n f_{i}\right) \beta .$

其中:$ \Xi(\cdot)$为从机器人任务执行情况infi提取的子任务ρ i, a的执行情况, 当机器人使用机载执行器完成特定动作执行任务ρ i, a要求的特定动作, Ξ (infi)=1, 否则Ξ (infi)=0或Ξ (infi)=- ζi, ak, 惩罚因子 ζi, akRi过去的子任务ρ i, a的评分$\left[r_{i, a}^{0}, r_{i, a}^{1}, \cdots, r_{i, a}^{k-1}\right]$相关; β ∈ N+为完成子任务ρ i, a的评分参数.

在第k轮评分及对子任务ρ i, o评分的设计中, 机器人需实时获取与最近障碍物、其它机器人的距离信息且给定避障的安全范围dsafe.机器人突破安全范围时, 越靠近障碍物的惩罚越大, 距离为 0 时碰撞发生, 惩罚接近-∞ .Ri当前位置与目标点的距离误差为:

di, o=‖ Pi, d-Pi, o‖ ,

其中, ‖ · ‖ 为两点间的距离, Pi, o为当前与Ri距离最近的障碍物或其它机器人. ri, ok设计如下:

$r_{i, o}^{k}=\left\{\begin{array}{ll} -\frac{\gamma \zeta_{i, o}^{k}}{\left(d_{i}^{k}\right)^{2}}, & d_{i}^{k}< d_{\text {safe }} \\ 0, & d_{i}^{k} \geqslant d_{\text {safe }} \end{array}\right.$

其中:γ ∈ N+为子任务ρ i, o的评分因子; 惩罚因子 ζi, okRi过去的子任务ρ i, o的评分[ ri, o0, ri, o1, …, ri, ok-1]相关.

在第k轮评分中, 对子任务ρ i, s评分的设计与机器人机载传感器采集的数据质量相关, 当采集的数据被认定为噪声数据时, Ri的声誉值下降.设Ri通过传感器采集的数据为datai, 群机器人采集数据的平均值为$\overline{\text { data. }} R_{i}$采集的数据与群机器人采集数据的平均值差值的绝对值为

$\mid \Delta \text { data }|=| \text { data }_{i}-\overline{\text { data }} \mid .$

ri, sk设计如下:

$r_{i, s}^{k}=-a \zeta_{i, m}^{s} \mid \Delta \text { data }\left.\right|^{2}+b, $

其中, a∈ N+, b∈ N+, 惩罚因子 ζi, sk与机器人过去的子任务ρ i, s的评分[ ri, s0, ri, s1, …, ri, sk-1]相关.

Ri在第k轮的声誉值评分 rik由任务监管对4类子任务的评分及Ri在第k-1轮的评分 rik-1组成, 定义如下:

$r_{i}^{k}=r_{i}^{k-1}+r_{i, m}^{k}+r_{i, a}^{k}+r_{i, o}^{k}+r_{i, s}^{k} .$

在每轮评分后, 任务监管模块按dlast= dik更新dlast, 供下轮评分使用.

通过机器人的声誉值, 可识别任务执行异常的拜占庭机器人.对于拜占庭机器人, 其行为偏离预设任务, 任务监管对其任务评分低于0, 其声誉值 rik将会下降.设置静态阈值τ , 当 rik< τ 时, 任务监管模块判断Ri为拜占庭机器人.

本文定义在系统中的非拜占庭机器人为良性机器人, 对于任一机器人, 即使其存在拜占庭行为, 在被识别为拜占庭机器人前, 也认定为良性机器人, 计算良性机器人声誉值的平均值:

$\bar{r}=\sum_{i=1}^{N} r_{i}^{k}, $ (1)

其中N为良性机器人的数量.

定义Ri的声誉值 rik与群机器人的平均分 r-之间的差值:Δ =| r-- rik|.

设置动态阈值$\epsilon $, 如果$\Delta \geqslant \epsilon$, 也认定机器人为拜占庭机器人.通过与群机器人的平均声誉值$\bar{r} $对比, 即使拜占庭机器人长时间不参与任务监管模块对机器人任务执行的评价, 由于良性机器人声誉值会不断上升, 拜占庭机器人的声誉值与良性机器人声誉值也会存在较大差值, 从而系统也能识别拜占庭机器人.

注 3 静态阈值τ 的具体数值设置应大于未通过身份认证机器人的初始声誉值κ , 从而使未通过认证的机器人在实验开始时即被识别为拜占庭机器人.动态阈值参数$\epsilon $的具体数值设置应大于对子任务ρ i, a的奖励β , 以防止多数机器人抵达目标位置并执行子任务ρ i, a, 而部分良性机器人由于暂时未达到目标点而未执行子任务ρ i, a, 导致其声誉值低于动态阈值, 被误识别为拜占庭机器人的情况发生.

Ri在时刻t被识别为拜占庭机器人后, 根据式(1)计算群机器人平均声誉值时, 将已识别为拜占庭机器人的Ri排除在外, 从而防止Ri对后续群机器人系统内拜占庭机器人的识别造成影响.

2.4 双层通信网络与密钥协商

由于区块链的特性, 在群机器人系统引入区块链会导致节点间的通信延迟.在时刻t, 区块链上的节点进行交易, 矿工节点进行挖矿并将交易打包进区块链中, 区块链的状态会发生变化, 即

$Y_{t+t_{d}}=\Omega\left(Y_{t}, T\right), $

其中, Ω 为区块链的状态转移函数, Y为区块链状态, T为交易信息.当节点在时刻t发起一次交易, 需要等待一个延迟时间td, 节点挖矿成功、节点间形成共识、交易被打包上链后, 交易才会生效, 即从交易发起到交易生效需要等待一个延迟时间.

由于节点挖矿所需的时间以及形成共识的时间是随机的, 即一笔交易从发起到生效的所需时间是随机的, 系统中使用区块链的部分变成一个异步系统, 故完全基于区块链的通信网络存在较大的通信延迟, 无法满足群机器人的通信延迟要求[22].

为了解决引入区块链带来的通信延迟问题, 本文设计一种双层通信网络, 框架如图2所示.区块链通信网络(如图中蓝线所示)完成对实时性要求不高的通信任务.高速通信网络(如图中红线所示), 使用无线网络(如WiFi、蜂窝网络等)进行通信.

图2 双层通信网络框架图Fig.2 Dual-layer communication network framework

在高速通信网络中, 节点间借助在身份认证step 7获取的全局密钥Ks, 生成会话密钥, 用于加密信道中的信息.对于每个机器人节点而言, RiRj均完成认证后, 在一次会话中, 机器人Ri需要发送明文信息MRj, 在会话过程中RiRj会分别使用计数器cnticntj, 当一次信息传输完成后, 计数器的值将会增加, 传输M的具体过程如下.

step 1 对于机器人Ri, 计算

$K_{s}^{i j}=h\left(K_{s}^{* } \oplus A_{i} \oplus A_{j} \oplus c n t_{i}\right), $

使用K sij加密明文M, 得到加密后的密文信息:

$E M=\operatorname{enc}\left(M, K_{s}^{i j}\right), $

其中, enc(m, s)为加密函数, m为待加密的明文信息, s为加密使用的密钥.完成加密后Ri生成时间戳t2和随机数n2, 计算

$M_{5}=h\left(E M, t_{2}, n_{2}\right), $

将(EM, M5, t2, n2)发送给Rj.发送后, 计数器的值

$c n t_{i}=c n t_{i}+1 .$

step 2 Rj收到信息后, 首先验证

$t_{\text {now }}-t_{2}< \Delta t$

是否成立, 若不成立, 结束当前会话.其次, 计算

$M_{5}^{* }=h\left(P M, t_{2}, n_{2}\right), $

验证 M5* =M5是否成立, 若不成立, 结束当前会话.最后, 计算

$K_{s}^{i j}=K_{s}^{* } \oplus A_{i} \oplus A_{j} \oplus c n t_{j}, $

使用K sij解密密文信息EM, 解密后得到明文信息:

$P M=\operatorname{dec}\left(E M, K_{s}^{i j}\right), $

其中, dec(m, s)为解密函数, m为待解密的密文, s为解密使用的密钥.完成后, 计数器的值

$c n t_{j}=c n t_{j}+1 .$

3 安全性分析

本节使用ROR(Real-or-Random)模型[23]和自动安全验证工具PV(ProVerif)[24]验证本文的身份认证协议的安全性.

3.1 使用ROR模型进行形式化安全分析

敌手A能够窃取和修改在非安全信道中的信息传输, 可向非安全信道内注入伪造的信息.敌手A可执行如下请求(Query).

1)Execute(Λ v, Λ w):敌手A可获取到在信道中的传输信息.

2)Reveal(Λ v):敌手A可获取到当前会话中Λ v生成的会话密钥.

3)Send(Λ v, m):敌手AΛ v发送一条消息, 若消息正确, A将收到相应的响应信息.

4)Test(Λ v):该请求是通信密钥的安全模型, 在实验开始前将随机生成一个比特c, 敌手A发起请求后, 当c=1时, Λ v将返回真实的会话密钥, 当c=0时, Λ v将返回一个和会话密钥等长的随机数, 随后, A需要猜测c.

若敌手ATest(Λ v)请求中猜对c, 则敌手赢得游戏(Succ).在ROR模型中, 敌手获得胜利的概率表示为

$a d v_{p}=\mid 2 \operatorname{Pr}[\text { Succ }]-1 \mid, $

其中Pr[E]表示事件E发生的概率.若$a d v_{p}< \epsilon$, 其中$\epsilon> 0$足够小, 则会话密钥是安全的.

定理 在本文的身份认证协议中会话密钥K siK sj是安全的, 在ROR模型下, advpqh2/ls, 其中qh为请求执行Test请求的次数, ls为哈希函数的空间范围.

证明 定义3个游戏(Game)分别为Gi(i=0, 1, 2), 使用Succi表示在Gi中敌手成功猜对比特c.

1)G0.在G0中, A在ROR模型下, 对协议进行原始攻击.A在游戏开始前比特c就被选择完毕.因此, 在协议中可得

$a d v_{p}=\left|2 \operatorname{Pr}\left[S u c c_{0}\right]-1\right| .$ (2)

2)G1.G0被转化为G1.在G1中, 敌手A执行Execute请求, 然后执行Test请求, 最后, 敌手A根据ExecuteTest查询的结果猜测比特c.敌手A猜对比特c的概率不会因执行ExecuteTest查询而增加, 则

$\operatorname{Pr}\left[\text { Succ }_{1}\right]=\operatorname{Pr}\left[\text { Succ }_{0}\right] .$ (3)

3)G2.G1被转化为G2, 在G2中, 敌手A尝试多次执行Send请求以猜测哈希函数的输出.由于密钥S kiS kj中包含短期秘密, 并通过哈希函数生成, 且哈希碰撞的概率为 qh2/2ls, 因此

$\operatorname{Pr}\left[\text { Succ }_{2}\right]-\operatorname{Pr}\left[\text { Succ }_{1}\right] \leqslant \frac{q_{h}^{2}}{2 l_{s}} .$ (4)

由于会话密钥的生成过程中包含短期秘密cnticntj, 敌手A无法通过多次执行请求增加猜对比特c的概率, 敌手A只能在执行Test请求时猜测比特c以赢得游戏, 因此

$\operatorname{Pr}\left[\mathrm{Succ}_{2}\right]=0.5 .$ (5)

由式(3)~式(5)可得

$\operatorname{Pr}\left[\text { Succ }_{1}\right]=\operatorname{Pr}\left[\text { Succ }_{0}\right] \leqslant \frac{1}{2}+\frac{q_{h}^{2}}{2 l_{s}} .$ (6)

最后, 根据式(2)和式(6), 可得

$a d v_{p}=\left|2 \operatorname{Pr}\left[\operatorname{Succ}_{0}\right]-1\right| \leqslant \frac{q_{h}^{2}}{l_{s}} .$

由于哈希函数的空间范围ls远大于执行Test请求的次数qh, 因此 qh2/ls足够小, 从而满足$a d v_{p}< \epsilon$, 生成的会话密钥是安全的.

3.2 基于PV工具的安全验证

ProVerif是一种广泛使用的安全验证工具, 可处理密码学算法, 包括对称加密和签名函数、哈希函数等[24].身份认证协议的身份认证及密钥协商涉及3个参与者:智能合约SC、机器人Ri、机器人Rj.为了验证协议的安全性与可靠性, 需要验证机器人RiRj的秘密参数PiPjIDiIDj, 系统主密钥Ks及所需传输的明文信息M不被敌手获取.同时验证及认证过程中的流程机器人注册、机器人身份认证、机器人获取密钥参数、机器人生成会话密钥、机器人结束会话能按流程正常执行.

在PV中定义如下7个事件:

1)RiRegistrationSucc, 表示Ri注册完成, 对应机器人身份认证step 3与step 4.

2)RiAuthenticationSucc, 表示SC成功认证Ri, 对应机器人身份认证step 6.

3)RiGetSessionKey, 表示Ri成功获取通信密钥, 对应机器人身份认证step 7.

4)RjRegistrationSucc, 表示Rj注册完成, 对应机器人身份认证step 3与step 4.

5)RjAuthenticationSucc, 表示SC成功认证Rj, 对应机器人身份认证step 6.

6)RjGetSessionKey, 表示Rj成功获取通信密钥, 对应机器人身份认证step 7.

7)End, 表示RiRj成功使用通信密钥完成一次信息传输, 对应机器人密钥协商step 1与step 2.

此外, 定义如下6个参数:

1)IDi, 对应机器人Ri秘密参数IDi;

2)IDj, 对应机器人Rj秘密参数IDj;

3)Pi, 对应机器人Ri秘密参数Pi;

4)Pj, 对应机器人Rj秘密参数Pj;

5)Ks, 对应系统主密钥Ks;

6)M, 对应明文信息M.

根据对上述事件与参数的安全验证需求, PV输出如下12条安全验证结果:

1)Query not attacker(IDi[]) is true, 表示敌手无法获取秘密参数IDi;

2)Query not attacker(IDj[]) is true, 表示敌手无法获取秘密参数IDj;

3)Query not attacker(Pi[]) is true, 表示敌手无法获取秘密参数Pi;

4)Query not attacker(Pj[]) is true, 表示敌手无法获取秘密参数Pj;

5)Query not attacker(Ks[]) is true, 表示敌手无法获取系统主密钥Ks;

6)Query not attacker(M[]) is true, 表示敌手无法获取明文信息M;

7)Query inj-event(End)⇒ inj-event(RiGetSessionKey) is true, 表示事件End发生前一定会发生一次事件RiGetSessionKey;

8)Query inj-event(End)⇒ inj-event(RjGetSessionKey) is true, 表示事件End发生前一定会发生一次事件RjGetSessionKey;

9)Query inj-event(RiGetSessionKey)⇒ inj-event(RiAuthenticationSucc) is true, 表示事件RiGetSessionKey发生前一定会发生一次事件RiAuthenticationSucc;

10)Query inj-event(RjGetSessionKey)⇒ inj-event(RjAuthenticationSucc) is true, 表示事件RjGetSessionKey发生前一定会发生一次事件RjAuthenticationSucc;

11)Query event(RiAuthenticationSucc)⇒ event(RiRegistrationSucc) is true, 表示事件RiAuthenticationSucc发生前一定会发生一次事件RiRegistrationSucc;

12)Query event(RjAuthenticationSucc)⇒ event(RjRegistrationSucc) is true, 表示事件RjAuthenticationSucc发生前一定会发生一次事件RjRegistrationSucc.

PV验证结果意味着本文的身份认证协议在经过PV的分析后是安全可靠的, 输出结果1)~6)说明敌手无法获取会话双方的身份参数IDi、IDj、Pi、Pj、系统主密钥Ks及所要传输的明文信息M, 输出结果7)~12)说明对Rj、Rj的认证能按照设定流程顺序执行.

注 4 基于ROR模型和PV安全工具的安全验证可推广至多机器人的认证与密钥协商安全, 对于多机器人的身份认证及密钥协商过程, 可拆分群机器人为多组(两个单位为一组)的形式, 分别进行安全验证.

4 仿真实验及结果分析

为了验证基于区块链的RMS-IATS与双层通信网络的有效性, 与经典的群机器人RMS进行对比.仿真设置群机器人货运任务场景, 分别考虑3台、5台、7台移动机器人在二维平面上执行货运任务, 机器人采用领航-跟随者编队法[25].群机器人系统的任务是编队前往设定的取货点取货, 并将货物运送到设定的卸货点, 仿真场景如图3(a)所示, 良性机器人任务设置如图3(b)所示、恶意机器人任务设置如图3(c)所示.

图3 仿真场景及机器人任务设定Fig.3 Simulation scenario and robot task settings

在仿真中, 对比分析使用一种经典的基于区块链的群机器人RMS[15](简称为经典RMS)时和使用RMS-IATS时的仿真结果.

4.1 实验设置

本节考虑5台机器人时的仿真结果, 当机器人被识别为拜占庭机器人后停止运动.仿真参数如表1所示.

表1 仿真参数 Table 1 Simulation parameters

使用的区块链平台为以太坊(Ethereum), 哈希函数为SHA256.仿真使用群机器人仿真平台ARGoS[26]e_puck插件[27].在Docker容器中部署以太坊, 机器人使用C++接口程序、shell脚本和JavaScript脚本连接以太坊, 机器人拥有足够数量的以太币, 如假设2, 机器人总能与智能合约进行交互.

在仿真中, 设置静态阈值τ 和动态阈值$\bar{r}-\epsilon$, 用于检测拜占庭机器人, 静态阈值在仿真过程中保持不变, 动态阈值随着群机器人平均声誉值$\bar{r}$变化, 参数τ 和$\epsilon $设置见表1.当Ri的声誉值 rik低于拜占庭机器人静态阈值或动态阈值时, 系统认定该机器人为拜占庭机器人.

在仿真中, 为机器人运动子任务ρ i, m设置惩罚因子:

$\zeta_{i, m}^{k}=\left\{\begin{array}{ll} 1, & r_{i, m}^{k-1} \leqslant 0 \\ 0, & r_{i, m}^{k-1}> 0 \end{array}\right.$

4.2 身份认证与任务监管

仿真中未注册身份的机器人身份信息非法; 否则, 机器人身份信息合法.仿真考虑3类拜占庭机器人:故障机器人、身份信息合法的恶意机器人、身份信息非法的恶意机器人.故障机器人在执行预设任务过程中将由于故障而停止运动; 恶意机器人由于受到攻击, 被设定为将货物送至非预设卸货点P3.考虑3台、5台、7台机器人时的9种仿真设置如表2所示.

表2 仿真设置 Table 2 Simulation settings

图4、图5、图6、图7分别表示无拜占庭机器人、机器人5设为故障机器人(对应表2中case4)、机器人5设为身份合法的拜占庭机器人(对应表2中case5)、机器人5设为身份非法的拜占庭机器人(对应表2中case6)时的仿真结果.

图4 当群机器人内无拜占庭机器人时的仿真结果Fig.4 Simulation results without Byzantine robot in swarm robotics

图5 机器人5设为故障拜占庭机器人时2种系统的仿真结果Fig.5 Simulation results of 2 systems with robot 5 as faulty Byzantine robot

图6 机器人5设为身份合法的恶意拜占庭机器人时2种系统的仿真结果Fig.6 Simulation results of 2 systems with robot 5 as malicious Byzantine robot with legal identity

图7 机器人5设为身份非法的恶意拜占庭机器人时2种系统的仿真结果Fig.7 Simulation results of 2 systems with robot 5 as malicious Byzantine robot with illegal identity

当机器人5身份合法时, 机器人通过身份认证, 此时, 相比经典RMS, 由于引入惩罚因子, 当系统检测到机器人存在拜占庭行为时, 声誉值很快降至阈值下; 当机器人5非法时, 由于未通过认证, 被给予一个较低的初始声誉值, 声誉值很快降至阈值以下.由于经典RMS没有使用身份认证, 仅根据任务执行情况改变机器人5的声誉值, 仅在机器人5执行拜占庭行为的情况下, 声誉值才会下降.

在考虑3台、5台、7台机器人时的9种仿真设置下识别拜占庭机器人所需时间如图8所示.计算识别拜占庭时间时, 从设定的机器人异常时间开始算起, 直到机器人被识别为拜占庭机器人.

图8 识别拜占庭机器人所需时间Fig.8 Time for identifying Byzantine robots

相比经典RMS, RMS-IATS能减少识别拜占庭所需的时间, 缩减量超过14.29%.

4.3 双层通信网络

使用文献[16]中的领航-跟随者场景进行仿真实验, 验证本文的双层通信网络的有效性.具体场景如图9所示, 设置1个领航者与2个跟随者, 领航者机器人采集环境信息后进行运动, 并将控制指令发送给跟随者, 跟随者执行接收到的控制指令, 从而实现编队效果.当领航者与跟随者之间无通信延迟时, 跟随者能立刻收到来自领航者的控制指令, 跟随者与领航者的运动始终保持一致, 跟随者与期望位置的距离误差总为0.领航者与跟随者之间的通信延迟越大, 跟随者越迟收到领航者的控制指令, 跟随者与其期望位置之间的距离误差随通信延迟的增大而增大.

图9 双层通信网络仿真场景Fig.9 Simulation scenario of dual-layer communication network

仿真对比使用区块链作为通信网络[16]和使用双层通信网络中的高速通信网络作为通信网络时跟随者1与期望位置之间的距离误差.设定系统通信延迟为0~200 ms, 领航者运动20 s后停止运动.在高速通信网络中, 分别考虑不使用加密算法(即仅考虑系统的物理通信延迟)、使用本文的密钥协商协议、使用RSA(Rivest-Shamir-Adleman)非对称加密3种情况.进行20次仿真实验, 机器人运动速度为1 m/s, 控制频率为100 Hz, 仿真结果如图10所示, 图中使用的误差棒上下分别为数据的最大值和最小值, 表征数据的分布情况, 编队过程中跟随者与期望位置的最大误差由2.103 m减少至0.118 m(约94.38%).

图10 仿真中跟随者1与期望位置之间的距离误差Fig.10 Distance error between follower 1 and desired position in simulation

5 结束语

本文探索区块链在群机器人任务执行场景下的应用, 解决群机器人在执行任务过程中拜占庭机器人带来的安全问题.改进一种经典区块链RMS[15], 进一步提出具有身份认证和任务监管的RMS(RMS-IATS).一方面, 对机器人进行任务监管, 对长期执行拜占庭行为的机器人进行更严厉的声誉值惩罚, 另一方面, 构建一种身份认证协议, 在群机器人开始执行任务前, 根据身份认证结果赋予每个机器人不同的初始声誉值, 实现机器人节点的身份认证与任务监管.此外, 设计一种双层通信网络, 用于机器人节点间的通信, 缓解区块链带来的通信延迟问题.最后, 在一种货运场景的仿真中验证方案的有效性, 相比经典RMS, RMS-IATS识别不同类型拜占庭机器人所需的时间缩短14.29%以上.此外, 在领航-跟随者编队仿真中验证双层通信网络的有效性, 与使用区块链[16]时相比, 系统的最大通信延迟减少94.38%, 因此能有效减少系统通信延迟.

文中RMS-IATS采用单区块链模型, 所有机器人设备均处于同一区块链下, 当机器人设备增多时, 系统身份认证与任务监管效率降低, 并伴随所需存储资源增多.今后将进一步研究多区块链系统, 并尝试设计多链模型下的群机器人身份认证与任务监管方案.

本文责任编委 何 清

Recommended by Associate Editor HE Qing

参考文献
[1] 郭笛, 谢旦岚, 纪媛. 多重约束下智慧仓储机器人配置仿真优化研究. 系统仿真学报, 2020, 32(10): 2066-2072.
(GUO D, XIE D L, JI Y. Research on Simulation Optimization of Intelligent Storage Robot Configuration under Multiple Constraints. Journal of System Simulation, 2020, 32(10): 2066-2072. ) [本文引用:1]
[2] LI Y Z. Research on Multi-AGVs Cooperative Transportation Stra-tegy in Warehouse Logistics Environment Based on HCA Algorithm // Proc of the IEEE 2nd International Conference on Electrical Engineering, Big Data and Algorithms. Washington, USA: IEEE, 2023: 1753-1758. [本文引用:1]
[3] LI H, SAVKIN A V. Wireless Sensor Network Based Navigation of Micro Flying Robots in the Industrial Internet of Things. IEEE Transactions on Industrial Informatics, 2018, 14(8): 3524-3533. [本文引用:1]
[4] MEIKE D, PELLICCIARI M, BERSELLI G. Energy Efficient Use of Multirobot Production Lines in the Automotive Industry: Detailed System Modeling and Optimization. IEEE Transactions on Automation Science and Engineering, 2014, 11(3): 798-809. [本文引用:1]
[5] 薛颂东, 张云正, 曾建潮. 目标围捕任务中搜索与预包围阶段的群机器人行为学习. 模式识别与人工智能, 2018, 31(4): 370-378.
(XUE S D, ZHANG Y Z, ZENG J C. Swarm Robotic Behaviour Learning in Search and Pre-Surround Stage for Targets Trapping Taskd. Pattern Recognition an Artificial Intelligence. 2018, 31(4): 370-378. ) [本文引用:1]
[6] YANG J X. Multi-robot Coordination for Environment Exploration and Patrol. Journal of Physics(Conference Series), 2022, 2402. DOI: 10.1088/1742-6596/2402/1/012041. [本文引用:1]
[7] MOKHTAR A, MURPHY N, BRUTON J. Blockchain-Based Multi-robot Path Planning // Proc of the IEEE 5th World Forum on Internet of Things. Washington, USA: IEEE, 2019: 584-589. [本文引用:1]
[8] PUTRA G D, DEDEOGLU V, KANHERE S S, et al. Blockchain for Trust and Reputation Management in Cyber-Physical Systems // TRAN D A, THAI M T, KRISHNAMACHARI B, eds. Hand book on Blockchain. Berlin, Germany: Springer, 2022: 339-362. [本文引用:2]
[9] ZIKRATOV I, MASLENNIKOV O, LEBEDEV I, et al. Dynamic Trust Management Framework for Robotic Multi-agent Systems // Proc of the International Conference on Next Generation Wired/Wireless Networking. Berlin, Germany: Springer, 2016: 339-348. [本文引用:1]
[10] WATANABE Y. A Proposal of Distributed Occupancy Grid Map on Block Chain Network // Proc of the 17th International Symposium on Web and Wireless Geographical Information Systems. Berlin, Germany: Springer, 2019: 150-159. [本文引用:1]
[11] LI J N, WU J, LI J H, et al. Blockchain-Based Trust Edge Know- ledge Inference of Multi-robot Systems for Collaborative Tasks. IEEE Communications Magazine, 2021, 59(7): 94-100. [本文引用:1]
[12] STROBEL V, FERRER E C, DORIGO M. Managing Byzantine Robots via Blockchain Technology in a Swarm Robotics Collective Decision Making Scenario // Proc of the 17th International Confe-rence on Autonomous Agents and Multi-agent Systems. New York, USA: ACM, 2018: 541-549. [本文引用:3]
[13] STROBEL V, DORIGO M. Blockchain Technology for Robot Swarms: A Shared Knowledge and Reputation Management System for Collective Estimation // Proc of the 11th International Conference on Swarm Intelligence. Berlin, Germany: Springer, 2018: 425-426. [本文引用:3]
[14] LUO J, DING B, XU J. Filtering Inconsistent Failure in Robot Collective Decision with Blockchain // Proc of the IEEE/ASME International Conference on Advanced Intelligent Mechatronics. Washington, USA: IEEE, 2019: 577-582. [本文引用:1]
[15] STROBEL V, FERRER E C, DORIGO M. Blockchain Technology Secures Robot Swarms: A Comparison of Consensus Protocols and Their Resilience to Byzantine Robots. Frontiers in Robotics and AI, 2020, 7. DOI: 10.3389/frobt.2020.00054. [本文引用:6]
[16] FERRER E C, JIMÉNEZ E, LOPEZ-PRESA J L, et al. RFollowing Leaders in Byzantine Multirobot Systems by Using Blockchain Technology. IEEE Transactions on Robotics, 2022, 38(2): 1101-1117. [本文引用:6]
[17] HUANG J, ZHOU N, CAO M. RAdaptive Fuzzy Behavioral Control of Second-Order Autonomous Agents with Prioritized Missions: Theory and Experiments. IEEE Transactions on Industrial Electro-nics, 2019, 66(12): 9612-9622. [本文引用:3]
[18] 刘明达, 陈左宁, 拾以娟, . 区块链在数据安全领域的研究进展. 计算机学报, 2021, 44(1): 1-27.
(LIU M D, CHEN Z N, SHI Y J, et al. Research Progress of Blockchain in Data Security. Chinese Journal of Computers, 2021, 44(1): 1-27. ) [本文引用:2]
[19] FERRER E C. The Blockchain: A New Framework for Robotic Swarm Systems // Proc of the Future Technologies Conference. Berlin, Germany: Springer, 2019: 1037-1058. [本文引用:1]
[20] BELLINI E, IRAQI Y, DAMIANI E. Blockchain-Based Distributed Trust and Reputation Management Systems: A Survey. IEEE Access, 2020, 8: 21127-21151. [本文引用:1]
[21] ZHU C S, NICANFAR H, LEUNG V C M, et al. An Authenticated Trust and Reputation Calculation and Management System for Cloud and Sensor Networks Integration. IEEE Transactions on Information Forensics and Security, 2015, 10(1): 118-131. [本文引用:1]
[22] 黄捷, 李帮银, 陈宇韬, . 基于区块链的群机器人数据完整性与隐私性保护. 无人系统技术, 2022, 5(4): 96-108.
(HUANG J, LI B Y, CHEN Y T, et al. Blockchain-Based Data Integrity and Privacy Protection for Swarm Robotics. Unmanned Systems Technology, 2022, 5(4): 96-108. ) [本文引用:1]
[23] ESFAHANI A, MANTAS G, MATISCHEK R, et al. A Lightweight Authentication Mechanism for M2M Communications in Industrial IoT Environment. IEEE Internet of Things Journal, 2019, 6(1): 288-296. [本文引用:1]
[24] XU Z S, XU C, LIANG W, et al. A Lightweight Mutual Authentication and Key Agreement Scheme for Medical Internet of Things. IEEE Access, 2019, 7: 53922-53931. [本文引用:2]
[25] SUN Z J, ZHANG G Q, LU Y, et al. Leader-Follower Formation Control of Underactuated Surface Vehicles Based on Sliding Mode Control and Parameter Estimation. ISA Transactions, 2018, 72: 15-24. [本文引用:1]
[26] PINCIROLI C, TRIANNI V, O'GRADY R, et al. ARGoS: A Mo- dular, Parallel, Multi-engine Simulator for Multi-robot Systems. Swarm Intelligence, 2012, 6(4): 271-295. [本文引用:1]
[27] GARATTONI L, FRANCESCA G, BRUTSCHY A, et al. Software Infrastructure for E-Puck(and TAM). Technical Report: TR/IRIDIA/2015-004. Bruxelles, Belgium: Université Libre de Bruxe-lles, 2016. [本文引用:1]