机器人在有人环境中的避障算法的研究与实现机器人在有人环境中的避障算法的研究与实现
针对室内有人复杂环境下的服务机器人避障问题,提出了一种基于函数模型调控离散PID控制器的避障算法。通
过分析并简化室内有人环境的复杂情况,然后采用递减函数模型对机器人减速后,再采用人工增量法干预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所示的几种情况。