·956· 智能系统学报 第13卷 设定两种仿真实验环境,环境1中,初始设 10R 9 R 定6个静态任务:T/1,坐标(3,2.5):T2,坐标(2, 7):T/1,坐标(5.5,4):T/1,坐标(7,2):T/1,坐标 7 T (6,6):T。1,坐标(8,8.5),在机器人运行过程中,设 /Is 6 定两个动态任务:T/1,坐标(5,2):T/1,坐标(8, 六5 6)。在环境中设有4个同构机器人,分别放置在 不同的位置:R/1,坐标(0.1,0.1):R/1,坐标(9.9, 2 0.1);R/1,坐标(9.9,9.9):R/1,坐标(0.1,9.9)。 在环境2中,主要是为了验证算法的自主解 2 67 910 死锁能力,不失一般性,在环境中设置两个静态 (a)环境1仿真结果 任务:T2,坐标(2,2):T/3,坐标(6,4)。设置两个 10 机器人:R/1,坐标(0.1,0.1):R/2,坐标(9.9,0.1)。 9 3.1.2仿真实验结果分析 如图3(a)所示为环境1的仿真结果。图中虚 6 线代表前去协作过程,实线代表首次被某任务激 风T 励而前往过程。根据本文算法,在初始时刻,每 2 R 个机器人被相应的任务所激励,机器人R/1前往 R Rin T/1,R1前往T/1,R1前往TJ1,R/1前往T2, 1 2345678910 当机器人执行任务时,会判断是否可以独立完 (b)环境2仿真结果 成,如果可以独自完成则开始执行任务,否则更 图3仿真结果 改状态,触发请求协作。在第1次任务分配中,由 Fig.3 Simulation result 于机器人速度相同,机器人R2/1和R,1先于 R11完成任务,进行第2次任务选择,而此时 3.2多器人系统实验及其结果分析 R/1机器人在T/2处等待协作,由于距离较远,机 为了验证文中算法在实际多机器人动态任务 器人R2/1和R3/1被任务T3/1和Ts/1所激励, 分配系统中的有效性,利用多个khepera机器人, R1完成T/1后,初始的静态任务只剩下处于等 搭建多机器人障碍物环境,利用摄像头进行环境 待协作的T/2,其被激励前往协作。在所有机器 监测,当监测到系统中有任务(以红色物品代 人都处于二次激励时,系统产生动态任务T,1和 替)产生时,利用文中算法,激励相应的机器人前 T1,触发请求任务分配,然而此时没有处于闲暇 往完成任务,并采用人工势场法使机器人可以避 状态的机器人,任务暂时不会被分配,在R2/1和 开障碍,安全到达任务点。系统中机器人间利用 R/1完成T3/1和T/1后被T1和Ts/1再次激励, 网络与服务器通信。 前往任务处进行处理。 图4(a)为系统中机器人系统初始图,当在系 如图3b)所示为环境2的仿真结果。初始时 统中放置相应物品,将会触发系统进行任务分 刻,机器人R/1和R2/2分别被T/2和T2/3所激 励,机器人R1先到达任务处进行协作等待,同 配,图4(b)为机器人被相应任务激励前往目标示 时开始分泌激素,R/2随后到达T,/3,亦处于协作 意图。 等待,同时开始分泌激素,随着时间的增加,机器 人R1产生焦躁情绪而放弃等待,同时标记任务 T2,随后R/1前往协作处理T/3,机器人R,/2得 到协作,在任务T2/3完成后,机器人R2/2受到 T2任务激励,前往完成,结果表明,系统能够可 以成功解除死锁。 多次实验验证表明,基于事件驱动的免疫网 络算法能够实现动态任务场景中多机器人的任务 自主分配与协作,具有较强的适应性和鲁棒性。 (a)机器人系统图1设定两种仿真实验环境,环境 1 中,初始设 定 6 个静态任务:T1 /1,坐标 (3, 2.5);T2 /2,坐标 (2, 7);T3 /1,坐标 (5.5, 4);T4 /1,坐标 (7, 2);T5 /1,坐标 (6, 6);T6 /1,坐标 (8, 8.5),在机器人运行过程中,设 定两个动态任务:T7 /1,坐标 (5, 2);T8 /1,坐标 (8, 6)。在环境中设有 4 个同构机器人,分别放置在 不同的位置:R1 /1,坐标 (0.1, 0.1);R2 /1,坐标 (9.9, 0.1);R3 /1,坐标 (9.9, 9.9);R4 /1,坐标 (0.1, 9.9)。 在环境 2 中,主要是为了验证算法的自主解 死锁能力,不失一般性,在环境中设置两个静态 任务:T1 /2,坐标 (2, 2);T2 /3,坐标 (6, 4)。设置两个 机器人:R1 /1,坐标 (0.1, 0.1);R2 /2,坐标 (9.9, 0.1)。 3.1.2 仿真实验结果分析 如图 3(a) 所示为环境 1 的仿真结果。图中虚 线代表前去协作过程,实线代表首次被某任务激 励而前往过程。根据本文算法,在初始时刻,每 个机器人被相应的任务所激励,机器人 R1 /1 前往 T1 /1,R2 /1 前往 T4 /1,R3 /1 前往 T6 /1,R4 /1 前往 T2 /2, 当机器人执行任务时,会判断是否可以独立完 成,如果可以独自完成则开始执行任务,否则更 改状态,触发请求协作。在第 1 次任务分配中,由 于机器人速度相同,机器人 R2 /1 和 R3 /1 先于 R1 /1 完成任务,进行第 2 次任务选择,而此时 R4 /1 机器人在 T2 /2 处等待协作,由于距离较远,机 器人 R2 /1 和 R3 /1 被任务 T3 /1 和 T5 /1 所激励, R1 /1 完成 T1 /1 后,初始的静态任务只剩下处于等 待协作的 T2 /2,其被激励前往协作。在所有机器 人都处于二次激励时,系统产生动态任务 T7 /1 和 T8 /1,触发请求任务分配,然而此时没有处于闲暇 状态的机器人,任务暂时不会被分配,在 R2 /1 和 R3 /1 完成 T3 /1 和 T5 /1 后被 T7 /1 和 T8 /1 再次激励, 前往任务处进行处理。 如图 3(b) 所示为环境 2 的仿真结果。初始时 刻,机器人 R1 /1 和 R2 /2 分别被 T1 /2 和 T2 /3 所激 励,机器人 R1 /1 先到达任务处进行协作等待,同 时开始分泌激素,R2 /2 随后到达 T2 /3,亦处于协作 等待,同时开始分泌激素,随着时间的增加,机器 人 R1 /1 产生焦躁情绪而放弃等待,同时标记任务 T1 /2,随后 R1 /1 前往协作处理 T2 /3,机器人 R2 /2 得 到协作,在任务 T2 /3 完成后,机器人 R2 /2 受到 T1 /2 任务激励,前往完成,结果表明,系统能够可 以成功解除死锁。 多次实验验证表明,基于事件驱动的免疫网 络算法能够实现动态任务场景中多机器人的任务 自主分配与协作,具有较强的适应性和鲁棒性。 (a) 环境 1 仿真结果 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 T2/2 R3/1 T6/1 T8/1 T5/1 R2/1 T4/1 T3/1 T7/1 T1/1 R4/1 R1/1 (b) 环境 2 仿真结果 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 R1/1 R1 T1/2 R1 R2 T2/3 R2 R2/2 y y x x 图 3 仿真结果 Fig. 3 Simulation result 3.2 多器人系统实验及其结果分析 为了验证文中算法在实际多机器人动态任务 分配系统中的有效性,利用多个 khepera 机器人, 搭建多机器人障碍物环境,利用摄像头进行环境 监测,当监测到系统中有任务 (以红色物品代 替) 产生时,利用文中算法,激励相应的机器人前 往完成任务,并采用人工势场法使机器人可以避 开障碍,安全到达任务点。系统中机器人间利用 网络与服务器通信。 图 4(a) 为系统中机器人系统初始图,当在系 统中放置相应物品,将会触发系统进行任务分 配,图 4(b) 为机器人被相应任务激励前往目标示 意图。 (a) 机器人系统图 1 ·956· 智 能 系 统 学 报 第 13 卷