一种基于流场的智能机器人避障方法

文档序号:6282129阅读:402来源:国知局
专利名称:一种基于流场的智能机器人避障方法
技术领域
本发明涉及一种智能机器人避障方法,特别是关于一种基于流场的智能机器人避障方法。
背景技术
机器人学作为一门新兴学科,只有50多年的发展历史,但是在这期间,其研究领域已从工业制造扩展到航空航天、军事、核工业、服务业等,成为集机械、电子、计算机、控制、传感器、信号处理等多学科门类的交叉性学科。1962年,美国万能自动化公司制造了第一台机器人,标志着第一代机器人的诞生。70年代以来,随着微电子和计算机技术的飞速发展,以及机器人研究的不断深入,机器人产业蓬勃兴起,机器人的研究也进入了一个新的发展阶段。
从功能上可以将机器人分为三代。第一代是工业机器人,主要应用于工业生产自动化领域,大多数采用“示教-再现”的方式重复作业。第二代遥控机器人,它通过遥控指令进行远距离作业,主要应用于宇航、海底、核工业等领域。第三代智能机器人,是机器人和人工智能结合的产物。第三代机器人已经具有运动、感知、学习、适应、逻辑判断以及人机交互能力。
近年来,作为机器人学中的一个重要分支,智能移动机器人的研究受到越来越多的关注。移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统。对移动机器人的研究,提出了许多新的或挑战性的理论与工程技术课题,引起越来越多的专家学者和工程技术人员的兴趣,更由于它在军事侦察、扫雷排险、防核化污染等危险与恶劣环境以及民用中的物料搬运上具有广阔的应用前景,使得对它的研究在世界各国受到普遍关注。
关于移动机器人的研究涉及许多方面,包括移动方式,驱动器控制以及导航或路径规划。移动机器人为了能在未知或时变环境下自主地工作,必须具有感受作业环境和规划自身动作的能力,因此实时避障和导航是反映智能移动机器人自动能力的关键问题之一。其主要研究内容是探索机器人如何按照预先给出的任务指令,根据已知的地图信息做出全局路径规划,并在行进过程中,不断感知周围局部环境信息,自主地做出决策,引导自身绕开障碍物,安全到达指定目标,并执行要求的动作与操作。容易看到,移动机器人与固定机器人不同的核心之处在于前者需要多一套控制自主移动的避障算法。
实时避障和导航研究中比较困难的问题是一方面要求有充分的环境信息,另一方面又要求处理速度比较快,满足实时性的要求。对于已知障碍物的和目标的位置,避障路径的存在性一般是可以保证的,已有许多学者提出相关求解方法。例如栅格法、势场法、智能控制算法包括模糊逻辑方法,神经网络方法和遗传算法。栅格法是将机器人的工作环境分解成一系列具有二值信息的网格单元,多采用树表示工作环境,并通过优化算法完成路径搜索。该方法的主要缺点是环境分辨率和信息存储量之间存在难以调和的矛盾;势场法最早起源于Katib为机械臂的运动规划提出的势函数的方法。该方法的基本思想是将机器人在环境中的运动视为一种虚拟的人工受力场中的运动。障碍物对机器人产生斥力,目标点产生引力,引力和斥力的合力作为机器人的加速力,来控制机器人的运动方向和计算机器人的位置。该法结构简单,便于低层的实时控制,在实时避障和平滑的轨迹控制方面得到了广泛的应用。这种方法的缺点是存在局部极值和在障碍物附近的震荡现象。智能方法主要是将人工智能领域的一些理论成果应用于机器人的运动规划中,颇具效果,但也都具有一定的局限性。

发明内容
针对上述问题,本发明的目的是提供一种针对机器人到达目标的实际要求,结合流体力学中的流场理论的基于流场的智能机器人避障方法。
为实现上述目的,本发明采取以下技术方案一种基于流场的智能机器人避障方法,其特征在于将移动机器人的避障问题转化成流体力学中的位势流动,进而转化成求解流场的问题,流场的求解采用面元法或者有限元算法,流场解得后,根据移动机器人的运动特性和控制参数,设计出相应的控制率;具体包括以下步骤(1)首先建立以机器人中心为点源,目标点为点汇,再加上障碍物的流场;或者建立一个由初始点到目标点的平行流,再加上障碍物的流场;(2)在已知起始点、目标点和障碍物位置的条件下,根据流体力学的面元法和有限元法,建立在避障前提下此时流体应满足的基本方程组和边界条件;(3)求解上述边界条件下的流线方程,解得流函数或势函数之后,得到流场内每一点的速度和方向;(4)选择其中一条流线的速度和方向作为控制机器人沿流线运动的输入量。
本发明由于采取以上技术方案,其具有以下优点1、本发明借鉴了流体力学中的概念和方法,从一个崭新的视角,提出一种新的控制策略。2、本发明将一个智能控制领域的不成熟的避障问题转化为流体力学领域的成熟的绕流问题,并利用流体中成型的理论加以解决,解决方法新颖快捷。3、本发明采用了数值求解流场的算法,求解效率高,适于智能机器人的实时控制要求。4、本发明由于所得到的流体中成型的理论加以解决,解决方法新颖快捷。3、本发明采用了数值求解流场的算法,求解效率高,适于智能机器人的实时控制要求。4、本发明由于所得到的路径非常平滑,尤其适用于空天及水下智能机器人的运动控制。5、仿真和实体实验证明,采取本发明所提出的方法,机器人能较好的实现复杂环境下的运动规划。


图1是本发明面元法求解流场示意2是本发明面元示意3是本发明两个面元间的相互作用关系4是本发明有限元法求解复杂环境下的机器人运动规划问题示意5是本发明三角形剖分结果示意6是本发明利用有限元算法得到的速度场分布7是本发明利用有限元法求解流函数得到的流场示意8是本发明实验环境设置示意9是利用有限元解得的流场分布10鱼形机器人运动轨迹示意图具体实施方式
下面结合附图和实施例,对本发明进行详细的描述。
如图1所示,面元法是流体力学中用来解决任意形状物体绕流问题的方法,这种方法是将所研究的物体表面用有限数目的小面积加以覆盖,这些小面积称为面元,每一面元上布置某种待定强度的奇点。布置这些奇点的作用,是将来流偏转以使流体沿物体表面而流动,利用流体速度必须与每一面元上特定位置处相切这一条件,可得到一组方程式,这个方程组可用以求解面元上奇点强度,得到奇点分布后即可确定合成流场。以一个平面问题为例,机器人的起始点和目标点已知,中间分布有任意形状的障碍物。可以假设机器人为点源、目标点为点汇,对于其中的障碍物,本发明在其表面选取有限数目的点,这些点称为“控制点”,通过这些点作切线,切线的交点称为“边界点”,两相邻边界点之间的线段称为“面元”。
如图2所示,设m为物体周边上面元的总数,面元长度一般可不相等,每一面元上分布等强度的源,共有m个。令λ1,λ2,...,λm代表这些面元上单位长度上的源强。于是,点源、点汇与m个源面元合成流动的速度势为
其中r1=(xi-a1)2+(yi-b1)2,]]>r2=(xi-a2)2+(yi-b2)2,]]>rij=(xi-xj)2+(yi-yi)2,]]>(a1,b1)、(a2,b2)分别是点源和点汇的坐标。
现在令(xi,yi)为第i面元上控制点坐标,其外法线向量ni与x方向的夹角为βi,物面边界条件要求合成流动在每个控制点上的法向速度为零,即 用(1)式代入,并利用面元上分布源对面元本身表面的法向速度影响为λ/2这一性质,边界条件(2)变为λi2+Σj≠imλj2πIij=∂∂ni(Q+Σj=1mλj2πlnr2-Q2πlnr1),i=1,2...m---(3)]]>其中Iij≡∫j∂∂ni(lnrij)dsj---(4)]]>上式是代表第j面源上单位强度的分布源对第i面元控制点上法向速度的影响。
对给定的面元外形来说,每个控制点上的ni都是已知的。在求得积分值Iij之后,就得到一个m阶联立代数方程组,这样就可以求解λ1到λm。
这时m+2个点源(汇)的位置与强度全部得到,可以写出它们的流线方程ψ=Q2πarctany-b1x-a1-Q+Σj=1mλj2π-arctany-b2x-a2+Σj=1mλj2πarctany-yjx-xi---(5)]]>然而,由于(4)式的积分不便于计算机计算,本发明必须进一步用面元的几何数据来表示它们。
对图2中各面元按顺时针方向进行命名,以同样的顺序对面元边缘上边界点的坐标依次标号,如,第k面元的边界点为(Xk,Yk)和(Xk+1,Yk+1)。用这样的标号,对m个面元就有m+1个边界点,其中最后一个边界点和第一个边界点重合。第k个面元的长度可用两端点坐标表示为Sk=(Xk+1-Xk)2+(Yk+1-Yk)2]]>点(Xk,Yk)处面元与x轴夹角θk,可用实际物面在控制点的斜率给出。
如图3所示,任取两个面元i和j,θi取为负值,θj取为正值。计算积分值,可得如下表达式
Iij=12sin(θi-θj)ln(1+Sj2+2ASjB)-cos(θi-θj)[arctan(Sj+AE)-arctan(AE)]---(6)]]>其中A=-(xi-Xj)cosθj-(yi-Yj)sinθjB=(xi-Xj)2+(yi-Yj)2E=(xi-Xj)sinθi-(yi-Yj)cosθj此式包含第i面元的方向,面元表面控制点坐标,第j面元的长度和方向,以及第j面元上一个边界点的坐标值。
因此,在求λ1至λm之前,本发明必须知道所有边界点的坐标,这样才能够计算出系数Iij。在两相邻面元k和k+1上,控制点(xk,yk)和(xk+1,yk+1)以及面元方向角度θk和θk+1都是已经给定的。这些量与两面元相交的边界点(Xk+1,Yk+1)有以下关系式tanθk=Yk+1-ykXk+1-xk]]>和tanθk+1=yk+1-Yk+1xk+1-Xk+1]]>联立求解后得Xk+1=xk+1tanθk+1-xktanθk-yk+1+yktanθk+1-tanθk---(7)]]>Yk+1=(xk+1-xk)tanθk+1tanθk-yk+1tanθk+yktanθk+1tanθk+1-tanθk]]>但若当方向角为±π/2时,则此式就不适合于计算机计算。在这种情况下,必须用其他关系式代替。对θk=±π/2,有Xk+1=xkYk+1=yk+1-(xk+1-xk)tanθk+1对θk+1=±π/2,有Xk+1=xkYk+1=yk+1-(xk+1-xk)tanθk+1推广到多障碍物的情况。对于n个障碍物,可取 个源面元,列出关于λij的 个方程,解法与单个障碍物情况相同。
如图4所示,有限元方法是利用计算机求解物理或工程中微分方程问题的一种方法,是一种更加高效的流场求解方式。其求解思想概括地讲就是“分块逼近”。就是将连续的求解区域剖分成有限个互不重叠的子区域,这些子区域通常形状简单,如三角形,四边形,称为“单元”;在每个单元里面,选择若干个合适的点作为求解函数的插值点,称为“结点”;微分方程的近似解将由各个单元的近似函数逼近,而单元中的近似函数可以表示为已知单元基函数的线性组合。而线性组合中的待定系数也正是方程近似解在结点上的函数值,可以通过解总体有限元方程得到。
下面详细介绍如何采用有限元方法求解流场,从而规划机器人的避障运动。机器人的起始点I和目标点G已知,其间分布有大量形状不规则的障碍物(为表明有效元法较高的计算效率,本实施例选择了更加杂乱的环境)。首先建立速度势函数方程如下 1)写出积分表达式根据变分原理,可以得到(8)的积分形式 2)区域剖分本发明采用三角形对整个区域Ω进行剖分,剖分结果如图5所示。单元总数为2587,三角形的顶点定为“结点”,共有4577个结点。对每个结点进行编号,每个结点有两个标号,一个是单元结点号,一个是总体结点号,并采用矩阵形式建立两者的关系。假设由两个单元组成的区域,单元1的三个结点对应的总体结点为2,3,1,单元2的三个结点对应得总体结点为3,2,4,则可得 其中ie表示第e个单元的第i个结点上的函数值,i表示第i个全局结点的函数值。两个矩阵称为单元的Bool矩阵,表示为Δine。
3)确定单元基函数由于本发明采用了三角剖分,对于每个单元有三个插值函数,选择这三个插值函数的线性组合Φie=ai(e)+bi(e)x+ci(e)y,(i=1,2,3...),]]>考虑到插值函数的特性,有ai(e)+bi(e)xi(e)+ci(e)yi(e)=1,ai(e)+bi(e)xj(e)+ci(e)yj(e)=0,ai(e)+bi(e)xk(e)+ci(e)yk(e)=1---(11)]]>其中,i,j,k是单元结点号,(11)由9个方程,可以唯一的确定ai(e),bi(e),ci(e)的值,这样单元e的近似函数为 4)单元分析选择(9)的积分域为单元e,结合(12)可以得到 或者 (12)和(13)结合可得Aije=(biebje+ciecje)Ae]]>其中Aie为单元e的面积,bie,cie可由解方程(11)得到。
5)总体合成本发明得到局部有限元方程之后,再根据单元结点和全局结点的关系(Δine),可以通过下式得到全局系数矩阵{Anm}=Σe=1EΔin(e)AijeΔjm(e)]]>和全局有限元方程{Anm}j=0,i,j=1,2,...n6)边界条件处理根据边界条件处理有限元方程,得到全局有限元修正方程 7)解有限元方程,计算相关物理量方程(14)为线性方程,可以通过高斯消元等方法求解,这样单元结点处的函数值都可以得到,由此得到流场分布。利用流函数或者势函数求取导数就可以得到各点的速度分布,机器人的运动规律可知。如图6是求解后得到的速度场分布图,其中(a)为速度场分布,(b)为局部放大图。如图7是通过求解流函数得到的流场示意图。
至此,阐述了利用两种方法求解流场的过程,流场确定之后,就可以根据流场所指示的路径进行机器人的运动规划。根据流场法得到的路径非常平滑,尤其适于空天及水下机器人的运动规划。下面将以一类水下机器人为例对流场法进行实验验证。
发明采用的机器人是一种多关节,无线控制的鱼形机器人,机器人的速度由尾部摆动的频率决定,前进方向由尾部关节的叠加偏转角决定。实验在一个水池中进行,池中放置了若干障碍,如图8所示,I为起始点,G为目标点,Oi为障碍物,利用有限元方法得到的流场分布,并可显示出机器人的实际避障轨迹。如图9所示,利用流场法,鱼形水下机器人可以在杂乱的环境下有效地避开障碍物,规划自己的运动(如图10所示)。
通过以上描述,可以将本发明方法的实施步骤归纳如下(1)首先建立以机器人中心为点源(流体从此点流出),目标点为点汇(流体从此点流入),再加上障碍物的流场;或者建立一个由初始点到目标点的平行流,再加上障碍物的流场。由于流体具有在流场遍布区域流体所能到达的范围内,任取一根出自点源的流线,沿此流线即可到达目标的性质,机器人沿此流场范围内流线即可在避障前提下到达目标。
(2)在已知起始点、目标点位置和形状任意的障碍物位置的条件下,根据流体力学的面元法、有限元法等理论,得到此时(避障前提下)流体应满足的基本方程组和边界条件;(3)求解上述边界条件下的流线方程,解得流函数或势函数之后,就可以很快地得到流场内每一点的速度和方向;(4)结合不同的机器人的运动特性和控制参数,选择其中一条流线的速度和方向,用来控制机器人沿流线运动的输入量。
上述仅是为说明本发明而列举的实施例,在本发明基本构思的基础上可以进行的各种替换、变化和修改,这些替换、变化和修改不应排除在本发明的保护范围之外。
权利要求
1.一种基于流场的智能机器人避障方法,其特征在于将移动机器人的避障问题转化成流体力学中的位势流动,进而转化成求解流场的问题,流场的求解采用面元法或者有限元算法,流场解得后,根据移动机器人的运动特性和控制参数,设计出相应的控制率;具体包括以下步骤(1)首先建立以机器人中心为点源,目标点为点汇,再加上障碍物的流场;或者建立一个由初始点到目标点的平行流,再加上障碍物的流场;(2)在已知起始点、目标点和障碍物位置的条件下,根据流体力学的面元法和有限元法,建立在避障前提下此时流体应满足的基本方程组和边界条件;(3)求解上述边界条件下的流线方程,解得流函数或势函数之后,得到流场内每一点的速度和方向;(4)选择其中一条流线的速度和方向作为控制机器人沿流线运动的输入量。
全文摘要
本发明涉及一种基于流场的智能机器人避障方法,其特征在于将移动机器人的避障问题转化成流体力学中的位势流动,进而转化成求解流场的问题,流场的求解采用面元法或者有限元算法,流场解得后,根据移动机器人的运动特性和控制参数,设计出相应的控制率;具体包括以下步骤(1)首先建立以机器人中心为点源,目标点为点汇,再加上障碍物的流场;或者建立一个由初始点到目标点的平行流,再加上障碍物的流场;(2)在已知起始点、目标点和障碍物位置的条件下,根据流体力学的面元法和有限元法,建立在避障前提下此时流体应满足的基本方程组和边界条件;(3)求解上述边界条件下的流线方程,解得流函数或势函数之后,得到流场内每一点的速度和方向;(4)选择其中一条流线的速度和方向作为控制机器人沿流线运动的输入量。
文档编号G05D1/12GK101025628SQ20071006475
公开日2007年8月29日 申请日期2007年3月23日 优先权日2007年3月23日
发明者邵金燕, 王龙, 谢广明 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1