摘 要: 针对室内有人复杂环境下的服务机器人避障问题,提出了一种基于函数模型调控离散PID控制器的避障算法。通过分析并简化室内有人环境的复杂情况,然后采用递减函数模型对机器人减速后,再采用人工增量法干预PID控制器平衡从而进行转弯控制。采用状态栈记录速度与偏角的函数变化,以机器人避过障碍物之后的点为对称点,开始恢复行走方向,达到绕行的效果。最后,通过实验证明了这种减速后再寻找最佳方向避障的算法的有效性和安全性。
0 引言
现在人工智能领域的研究迅猛发展,商业化优势越来越明显,新一代服务机器人和仿生机器人得到人们青睐并被广泛应用,例如餐厅服务机器人[1]、医院服务机器人[2]等。机器人的操作环境和任务要求也越来越复杂,行走在人群中的情况会越来越多,其中避免服务机器人与操作环境中的静态或动态障碍物发生碰撞是机器人运动规划研究中的一个重要问题。近几年来,移动机器人室内避障算法研究日益火热,首先由Kahtib提出人工势场法[3],虽然有很多学者提出改进方法,但是仍然未能解决当障碍物离目的地很近的局限,更糟糕的是该算法需要的额外计算量非常大,无法适应于实时避障的室内复杂情况。LAU B等人提出的高效率的栅格法[4]机器人避障算法,面对障碍物避障问题,假设机器人为一个理想的点状,而忽略了机器人本身的几何结构和运动学模型,使得机器人在避障过程中出现过多的搜索动作。还有很多学者运用了人工智能算法控制机器人避障,如神经网络法[5]、遗传算法、粒子群优化算法[6]以及模糊逻辑控制算法[7-8]等,但是在室内有人的环境中,这些算法并没有充分考虑道路上允许的最大偏差同时要避开障碍物,因此在拥挤的环境中机器人可能会产生不良行为。由经验可知,在室内有人环境中,如车辆减速或停止,提醒人们和等待,比试图找到实现目标的路径更加安全有效。
1 移动机器人控制系统
基于离散数字PID控制系统[9],提出一种人工增量干预PID平衡法控制转弯算法。在双层闭环控制系统中,第一层PID控制器的给定值r(t)是两轮的累积圈数之差|nL-nR|<λ(λ为接近于0的正数),目的是保持左右轮所走的路程一致,即两轮线速度相同,确保机器人直线往前行走;第二层PID控制器的给定值r(t)是设定的某个速度值使得vL=vR=v0,目的是保证机器人始终保持以速度v0行走。第一层PID控制器与第二层PID控制器按以下规则进行运作:
IF|nL-nR|>λ THEN go PIDContoller1
ELSE IF vL≠v0 or vR≠v0 THEN go PIDController2
其中,PIDContoller1为第一层控制器,PIDController2为第二层控制器。
人工增量法控制转弯算法基本原理是人为地使左轮的圈数增加一个增量nL=nL0+?驻n(右轮的圈数增加一个增量nR=nR0+?驻n),制造人工误差,导致左右两轮之差|nL-nR|>λ,在双层闭环控制系统的第一层PID控制器控制下,vR和vL会发生变化,直至|nL-nR|<λ稳定,再启动第二层PID控制器控制,直至vL=vR=v0稳定。稳定后,由于人工添加了增量?驻n,因此实际上nL>nR(nR>nL),从而实现转弯。速度变化如图1所示。
其中轮子走过的路程由对速度v进行积分所得:
根据图1,dL>dR,即可实现机器人转弯。
2 在室内有人的环境中避障算法
机器人在室内有人的环境颇为复杂,大体分为图2所示的几种情况。
针对以上的室内环境,机器人只探测与躲避前方的障碍物,提出一种速度递减函数模型干预PID平衡避障算法。图3展示了7个超声波传感器在机器人身上的分布。
图3中每个超声波传感器检测障碍物的敏感度不是一致的,i号传感器的检测距离分别为ri(i:1,2,…,7)。其中r1=r7,r2=r6,r3=r5。
1~3号超声波传感器组成一组用于检测左侧前方的障碍物,如图3中设为一组;5~7号超声波传感器组成一组用于检测右侧前方的障碍物,设为三组;4号设为二组。假设7个传感器最终的读取的数据分别为di,则设一组、二组、三组超声波获取数值为D1、D2、D3,即:
D1=min{d1+(r3-r1),d2+(r3-r2),d3}D2=d4D3=min{d5,d6+(r5-r6),d7+(r5-r7)}(2)
(1)正前方障碍物:对检测二组超声波传感器检测到正前方障碍物,根据以上分析,只需保证机器人不撞到障碍物即可,直接采取减速直至停止方式。线性函数减速模型为:
V(D2)=AD2-B AD2-B>0 0 AD2-B≤0(3)
其中,V(D2)为D2速率函数关系,如图4所示。其中A为减速加速度系数,B为安全阈值。允许的最大速率为Vmax,触发避障距离为r4,所以有:
机器人越接近障碍物,速度就会越小,直至0 cm/s。经过实验测试,取Vmax=16 cm/s,B=20 cm,r4=40 cm,能得到比较好的实验效果。
(2)侧前方障碍物:一组超声波传感器负责感知以及避开左边的障碍物。此处,只讨论一组超声波传感器的避障算法。
完成绕开障碍的任务可分成两步:减速和偏移。
(a)减速策略:用对数数学模型作为侧前方的减速模型:
V(D1)=Aln(D1-B) Aln(D1-B)≥0 0 Aln(D1-B)<0(6)
同样,V(D1)表示机器人的行走速率,A为变化速率,B为安全距离阈值,同理:
Vmax=Aln(r3-B)(7)
可得:
其中,Vmax为允许的机器人的最大速度,r3为一组超声波传感器触发避障算法的距离,B为安全阈值,减速模型图如图5所示。
试验得,取Vmax=16 cm,r3=40 cm,B=15 cm效果较好。
(b)偏移策略:遇到障碍物移动机器人先减速,再偏移,避开障碍物。采用两个轮的差速反馈机制的双层PID控制器系统,当检测到障碍物,实时地添加人工增量?驻n进行反馈控制干预PID控制器,控制机器人转弯。
(c)保持行走方向:偏移策略中,机器人行走方向也偏离了其目标方向,所以在躲开障碍物后,还应该反方向回偏,使移动机器人保持原来的方向行走,机器人路线如图6所示。通过把人工增量?驻n和持续时间压入离散状态栈中,待到躲开障碍物时,从栈顶开始出栈执行回偏动作,如图7所示。
3 实验结果
避障运行结果效果如图8所示。
4 结论
针对室内有人环境的避障问题,提出了一种基于双层PID控制器系统的函数模型调控人工增量控制法的避障算法。该算法简化了室内有人环境的复杂情况,采用递减模型后再进行转弯控制,通过离散状态栈记忆偏角与偏移量,解决了避过障碍物的问题并到达绕行的效果。最后,通过实验证明了这种减速下来再寻找最佳方向避障的算法的有效性和安全性。
参考文献
[1] Yu Qingxiao, Yuan Can, Fu Z, et al. An autonomous restaurant service robot with high positioning accuracy[J]. Industrial Robot, 2012, 39(3): 271-281.
[2] MAMUN K A, SHARMA A, HOQUE A S M, et al. Remote patient physical condition monitoring service module for iWARD hospital robots[C]. 2014 Asia-Pacific World Congress on Computer Science and Engineering(APWC on CSE), IEEE, 2014: 1-8.
[3] PARK M G, JEON J H, LEE M C. Obstacle avoidance for mobile robots using artificial potential field approach with simulated annealing[C]. IEEE International Symposium on Industrial Electronics, ISIE 2001, IEEE,2001,3:1530-1535.
[4] LAU B, SPRUNK C, BURGARD W. Efficient grid-based spatial representations for robot navigation in dynamic environments[J]. Robotics and Autonomous Systems, 2013, 61(10): 1116-1130.
[5] JEFFRIL M A, SARIFF N. The integration of fuzzy logic and artificial neural network methods for mobile robot obstacle avoidance in a static environment[C]. 2013 IEEE 3rd International Conference on System Engineering and Technology(ICSET), IEEE, 2013: 325-330.
[6] DI MARIO E, NAVARRO I, MARTINOLI A. The effect of the environment in the synthesis of robotic controllers: a case study in multi-robot obstacle avoidance using distributed particle swarm optimization[C]. Advances in artificial life, ECAL, 2013, 12: 561-568.
[7] SAMSUDIN K, AHMAD F A, MASHOHOR S. A highly interpretable fuzzy rule base using ordinal structure for obstacle avoidance of mobile robot[J]. Applied Soft Computing, 2011, 11(2): 1631-1637.
[8] Li Xi, CHOI B J. Design of obstacle avoidance system for mobile robot using fuzzy logic systems[J]. International Journal of Smart Home, 2013, 7(3): 321-328.
[9] 黄瑞,丁志中,时慧晶.基于实测参数的直流电动机建模与PID控制设计[J].微型机与应用,2014,33(16):51-53.