﻿ 移动机器人避障行为酶数值膜控制器
 计算机系统应用  2019, Vol. 28 Issue (7): 17-25 PDF

Mobile Robot Membrane Controller Design with Enzymatic Numerical P Systems for Obstacle Avoidance Behavior
HUANG Zhen, DONG Jian-Ping, DUAN Ying-Ying, ZHANG Ge-Xiang
School of Electrical Engineering, Southwest Jiaotong University, Chengdu 611756, China
Foundation item: Science and Technology Major Program on AI of New Generation of Sichuan Province (2018GZDZX0044); Science and Technology Supporting Major Program of Sichuan Province (2018GZ0185,2018GZ0086,2018GZ0095)
Abstract: In order to balance the cruise speed and performance of obstacle avoidance for mobile robots controlled by membrane controller, an adaptive cruise speed obstacle avoidance method based on enzymatic numerical P systems (ENPS) is proposed. The method adopts the enzymatic numerical P systems and uses membranes to fuse multiple sensors’ distance values. The cruise speed is adjusted by the sensors’ fusion value. Moreover, the method helps mobile robots avoiding obstacles effectively and keeps a high robot speed when there is no obstacle. Both the simulation and practical experiments on robot Pioneer 3-DX show that the enzymatic numerical membrane controller designed by the proposed method is feasible, and the effect of the controller is better.
Key words: mobile robots     ENPS     membrane controller     adaptive cruise speed     obstacle avoidance

1 避障行为控制律分析

 $l{\rm{e}}ftSpeed = CruiseSpeed + \sum {{s_i}*weightLef{t_i}}$ (1)
 $rightSpeed = CruiseSpeed + \sum {{s_i}*weightRigh{t_i}}$ (2)

 $v = \frac{{{v_r} + {v_l}}}{2}$ (3)
 $w = \frac{{{v_r} - {v_l}}}{l}$ (4)

 图 1 双轮差速机器人运动学模型

 $r = \frac{v}{w}$ (5)

 图 2 移动机器人避障距离分析

 $v = CruiseS\!\!peed + \frac{1}{2}\sum {{s_i}*(weightLef{t_i} + weightRigh{t_i})}$
 $w = \frac{{\sum {{s_i}*(weightRigh{t_i} - weightLef{t_i})} }}{l}$

 $v = CruiseSpeed$ (6)
 $w = \frac{{\sum {{s_i}*(weightRigh{t_i} - weightLef{t_i})} }}{l}$ (7)

2 自适应巡航速度的酶数值膜控制器

2.1 避障控制律的改进

 $CruiseS\!\!peed = {C_0}*{a^{\sum {{s_i}*{w_i}} }}$ (8)

(1) x=0时, y=1;

(2) 函数单调递减, 且当x大于0时, y在(0, 1)间取值.

2.2 酶数值膜控制器的设计

 图 3 移动机器人避障行为的酶数值膜控制器

(1)第一次循环执行步骤如下:

Sensori膜中的3条规则和CruiseSpeed膜中的规则1激活(值产生规则中存在变量的值小于酶变量);

Sensori膜中规则1、2、3将传感器值和权值累加给变量SWLSWRSW(权值乘累加部分, 其中变量SWL为左轮权值乘累加值, SWR为右轮权值乘累加值, SW为障碍物距离衡量值);

CruiseSpeed膜中规则1将变量f赋值1, e赋值2. 确保变量f始终为1以及酶变量e在第二次循环中起作用(激活规则). 值产生规则中的0*e用于防止酶变量e的值不断累积.

(2)第二次循环执行步骤如下:

CruiseSpeed膜中的规则2-5激活(值产生规则中存在变量的值小于酶变量);

CruiseSpeed膜中规则2将酶变量e0赋值2. 确保酶变量e0在第三次循环中起作用. 值产生规则中的0*e0用于防止酶变量e0的值不断累积;

CruiseSpeed膜中规则3将设定速度C0和指数相乘赋给变量Cruise_Speed(自适应巡航速度计算);

CruiseSpeed膜中规则4、5分别将变量SWLSWR值赋给变量SWL_tempSWR_temp. 用于保存SWLSWR的值.

(3)第三次循环执行步骤如下:

Avoid膜中的规则1、2激活(值产生规则中存在变量的值小于酶变量);

Avoid膜中规则1、2分别将巡航速度Cruise_SpeedSWL_tempSWR_temp相加赋给变量leftSpeedrightSpeed(左右轮速度计算). 完成控制律的计算.

3 实验结果与分析

 图 4 移动机器人声呐传感器分布图

 图 5 固定巡航速度酶数值膜控制器

 ${s_i} = - {x_i} + 1000$

3.1 仿真实验

(1) 最小避障距离实验

 图 6 避障距离测量场景

(2) 复杂环境实验

 图 7 复杂环境场景

 图 8 复杂环境实验结果

 图 9 膜控制器1控制下的移动机器人速度

3.2 实物实验

 图 10 膜控制器2控制下的移动机器人速度

 图 11 实物场景

 图 12 膜控制器1控制下的移动机器人实物结果

 图 13 膜控制器1控制下的移动机器人速度

 图 14 膜控制器2控制下的移动机器人实物结果

4 结论

 图 15 膜控制器2控制下的移动机器人速度

 [1] 张葛祥, 程吉祥, 王涛, 等. 膜计算: 理论与应用. 北京: 科学出版社, 2015. [2] Pǎun G, Suzuki Y, Tanaka H, et al. On the power of membrane division in P systems. Theoretical Computer Science, 2004, 324(1): 61-85. DOI:10.1016/j.tcs.2004.03.053 [3] Bernardini F, Gheorghe M. Cell communication in tissue P systems: Universality results. Soft Computing, 2005, 9(9): 640-649. DOI:10.1007/s00500-004-0393-4 [4] Krishna SN. Universality results for P systems based on brane calculi operations. Theoretical Computer Science, 2007, 371(1-2): 83-105. DOI:10.1016/j.tcs.2006.10.016 [5] 张葛祥, 潘林强. 自然计算的新分支—膜计算. 计算机学报, 2010, 33(2): 208-214. [6] Zhang GX, Gheorghe M, Pan LQ, et al. Evolutionary membrane computing: A comprehensive survey and new results. Information Sciences, 2014, 279: 528-551. DOI:10.1016/j.ins.2014.04.007 [7] Wang T, Zhang GX, Zhao JB, et al. Fault diagnosis of electric power systems based on fuzzy reasoning spiking neural P systems. IEEE Transactions on Power Systems, 2015, 30(3): 1182-1194. DOI:10.1109/TPWRS.2014.2347699 [8] Buiu C, Vasile C, Arsene O. Development of membrane controllers for mobile robots. Information Sciences, 2012, 187: 33-51. DOI:10.1016/j.ins.2011.10.007 [9] Ciobanu G, Păun G, Pérez-Jiménez MJ. Applications of membrane computing. Berlin Heidelberg: Springer-Verlag, 2006. [10] Pavel AB, Vasile CI, Dumitrache I. Membrane computing in robotics. Kelemen J, Romportl J, Zackova E. Beyond Artificial Intelligence: Contemplations, Expectations, Applications. Berlin: Springer, 2013. 125-135. [11] Buiu C, Pavel AB, Vasile CI, et al. Perspectives of using membrane computing in the control of mobile robots. Proceedings of Beyond AI-Interdisciplinary Aspect of Artificial Intelligence Conference. Pilsen, Czech Republic. 2011. 22-26. [12] Vasile CI, Pavel AB, Dumitrache I, et al. Implementing obstacle avoidance and follower behaviors on koala robots using numerical P systems. Proceedings of the Tenth Brainstorming Week on Membrane Computing. Sevilla, Spain. 2012. 215-227. [13] Pavel AB, Buiu C. Using enzymatic numerical P systems for modeling mobile robot controllers. Natural Computing, 2012, 11(3): 387-393. DOI:10.1007/s11047-011-9286-5 [14] 马勤勇. 两轮差速驱动移动机器人运动模型研究[硕士学位论文]. 重庆: 重庆大学, 2013. [15] Lucas GW. A tutorial and elementary trajectory model for the differential steering system of robot wheel actuators. http://rossum.sourceforge.net/papers/DiffSteer/, 2001.