一种机器人动态避障方法及系统

您所在的位置:网站首页 dwa算法原理 一种机器人动态避障方法及系统

一种机器人动态避障方法及系统

2023-04-20 00:25| 来源: 网络整理| 查看: 265

一种机器人动态避障方法及系统

1.本发明涉及机器人的运动规划领域,特别是涉及一种机器人动态避障方法及系统。

背景技术:

2.针对路灯,路障等静态障碍物和行人,机动车,狗等日常生活中常见的动态障碍物,需要一个具有鲁棒性,安全性同时兼顾效率的路径规划算法来使得无人车能够规划一条无碰撞的路径从而避开这两类障碍物。因此,开发这种规避动态障碍物的路径规划算法,并将这种算法应用到无人车上去,将对商场,校园,机场,办公场所等场景具有极大的应用价值。3.机器人的运动规划通常可以划分为全局规划和局部规划。全局规划是指在大尺度的静态场景(如大于100m*100m)下生成一条最优(如长度最短或耗时最少)的参考路径;局部规划是指在较小尺度的场景下(如小于100m*100m),能够避开复杂的障碍物,并生成一条无碰撞的运动轨迹。相对来说,全局规划的参考轨迹的生成较为费时,因此更新频率较低,而局部规划确保了机器人的安全性,通过生成实时的运动指令驱动机器人运动。4.局部规划根据实现方法的不同可以分为基于搜索的、基于采样的和基于优化的方法。基于搜索的算法包括:混合a-star算法,dwa算法(dynamic window approach);基于采样的算法包括混合rrt算法(rapidly-exploring random trees),混合rrt-star算法等;基于优化的算法包括mpc算法(model predictive control模型预测控制),lqr算法(linear–quadratic regulator,线性二次调解器)等。5.现有技术公开了一种动态环境下基于改进dwa算法的agv(automated guided vehicle,自动导引车)路径规划方法,属于agv路径规划技术领域;该方法首先通过获取agv周围的局部地图信息设计局部dwa算法,对局部地图内的动态障碍物进行分类,评估动态障碍物速度,提升agv对动态障碍物的避障判断能力,降低agv偏离最短路径的程度;其次针对dwa算法移动到路径点需要调整方向的问题,通过优化dwa评价函数,缩短agv在路径点的调整时间,并且通过改进的dwa算法对agv全局路径的拐点进行优化,提高agv运输效率;最后进行仿真验证,仿真结果表明该方法提出的改进dwa算法在动态情况复杂的环境下,能够保证agv实时避障,同时缩短了agv的运输时间,提升了运输效率。6.但是dwa的算法原理主要是在速度空间中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹。由于采样的机制,并不能保证路径的最优性;对于动态障碍物状态的判断过于粗糙,不能很准确的得到障碍物在未来时域的速度和位置,这使得避障的时候安全性降低。7.现有技术还提供了一种基于动态障碍物运动信息的室内移动机器人局部轨迹规划方法,其特征在于:在结合amcl(adaptive monte carlo localization,自适应蒙特卡洛定位)算法基础上通过单线激光雷达获取所有障碍物点云的位置信息,再对所有激光点云进行分割与直线拟合并去除地图中已知的障碍,并用合适大小的圆圈标记新出现的可能的动态障碍,再通过圆圈圆心坐标变化进行动态障碍物检测,不断获取动态障碍的圆心坐标并利用最小二乘求解其运动方程,最后扩大动态障碍物速度方向代价地图,通过结合dwa算法实现安全避开动态障碍。针对目前的局部轨迹规划算法在躲避动障碍物时都是将其当成瞬时的静态障碍物进行避障,缺乏主动性与安全性,利用该方法能够更安全的避障。8.但是采用最小二乘的算法拟合出障碍物的方法缺少鲁棒性,当障碍物的位置噪声比较大的时候,常常会出现预测不准确的现象;直接将障碍物轨迹放进代价地图再使用dwa的算法进行规划的方案过于保守,忽略了障碍物的实时性,能够确保安全却减少了路径的最优性。

技术实现要素:

9.本发明的目的在于解决提高机器人动态避障安全性的问题。10.为此,本发明提出一种机器人动态避障方法,包括如下步骤:s1、检测周围环境,初始化确定起始点和目标点,并生成点云;s2、将所述点云输入同步定位与地图绘制模块中,从而生成机器人位姿,并维护三维概率图;s3、根据快速随机搜索树和三维概率图生成全局路径,根据所述点云生成局部地图与障碍物预测轨迹;s4、根据所述障碍物预测轨迹和所述全局路径生成局部轨迹,并发送运动指令至机器人;s5、所述机器人根据所述运动指令沿所述局部轨迹移动。11.在本发明的一些实施例中,步骤s3还包括根据点云生成局部地图;通过聚类将障碍物参数化到所述局部地图上,生成障碍物最小包络椭圆;通过卡尔曼滤波,估计和预测所述障碍物最小包络椭圆的状态,在前向时域内生成障碍物预测轨迹。12.在本发明的一些实施例中,步骤s4还包括根据所述障碍物预测轨迹和所述全局路径进行运动规划,将动态控制障碍函数和模型预测控制算法相结合,生成所述局部轨迹,并发送运动指令。13.在本发明的一些实施例中,所述障碍物最小包络椭圆的状态包括形状和位置;对所述障碍物最小包络椭圆的位置协方差rp提出修正参数k,表达式如下:[0014][0015][0016]其中rp,max和rp,min表示位置方差的边界,ξmin,crit和ξmax,crit表示障碍物最小包络椭圆位置置信度的指标ξp的边界;根据估计的所述障碍物最小包络椭圆的状态和方差值,预测未来时域的所述障碍物最小包络椭圆的状态,表达式如下:[0017]xk=axk-1.[0018]pk=apk-1at+q.[0019]其中a为障碍物运动方程,xk为障碍物在k时刻的状态,xk-1为障碍物在k-1时刻的状态,pk为障碍物在k时刻的方差,pk-1为障碍物在k-1时刻的方差,q为系统噪声的协方差。[0020]在本发明的一些实施例中,定义用于评估mbe位置置信度的指标ξp,表达式如下:[0021][0022]其中xob,t-i,t和分别表示时间t时,r为上标,表示真实的,向后时域第i步处障碍物的最小包络椭圆位置和真实位置;定义ξη来评估最小包络椭圆的形状变化程度,时域设置为m步,ξη的估计如下:[0023][0024]其中表示η的平均值,ξη用于估计ξp,公式如下:[0025][0026]其中,κ和γ分别是比例系数和幂次系数。[0027]在本发明的一些实施例中,用不确定度扩展椭圆,椭圆在两个轴上被σ放大到其中σ为椭圆轴长的扩展量;定义r=rp+rη来描述椭圆的不确定度,其中rp和rη分别由椭圆的位置和形状的协方差得到;为了找到包络闵可夫斯基和的最小椭圆,通过求解以下方程得到σ的最小值:[0028][0029]对于预测时域内的障碍物o(t:t+n|t),当k从0增加到n时,障碍物的不确定性增加,相应的椭圆也相应扩大。[0030]在本发明的一些实施例中,所述动态控制障碍函数表达式如下:[0031][0032]其中x为变量,h是连续可微函数,表达式如下:[0033][0034]安全集c为连续可微函数的下水平集,表达式为[0035]其中为状态集;所述动态控制障碍函数对于所有存在一个扩展类函数γ,表达式如下:[0036][0037]其中u为输入,s.t.为使得。[0038]在本发明的一些实施例中,将机器人的中心与障碍物最小包络椭圆连接,计算所述障碍物最小包络椭圆轮廓与所述机器人的距离;所述障碍物最小包络椭圆轮廓与机器人的距离集合扫过所述控制障碍函数区域,并受到所述控制障碍函数边界的约束,防止机器人过快接近障碍物;[0039]所述动态控制障碍函数表达式如下:[0040]δh(xk,uk)≥-γh(xk),0<γ≤1;[0041]δh(xk,uk):=h(xk+1)-h(xk);[0042]其中uk为控制器输入,xk为状态变量,γ为扩展类函数;每个障碍物表示为区域的最小包络椭圆,表达式如下:[0043][0044][0045]在k时刻,计算所述机器人和所述障碍物最小包络椭圆的外围的距离,表达式如下:[0046][0047]其中li(k)为机器人和所述障碍物最小包络椭圆的外围的距离,ai(k)为障碍物椭圆半长轴,bi(k)为障碍物椭圆半短轴,δ表示直线与椭圆的长轴形成的角度;所述动态控制障碍函数的二次形式表示如下:[0048][0049]其中p(k)为机器人k时刻的状态,xiob(k)为障碍物最小包络椭圆k时刻的,li(k)为,dsafe为安全距离。[0050]在本发明的一些实施例中,步骤s3中所述快速随机搜索树采用基于平面拟合的非平坦地形导航框架中基于平面拟合的快速随机搜索树。[0051]在本发明的一些实施例中,采用模型预测控制算法结合所述动态控制障碍函数建立模型预测控制算法和动态控制障碍函数框架,所述模型预测控制算法和动态控制障碍函数框架表达式如下:[0052][0053]s.t.xk+1=f(xk,uk),k=0,...,n-1[0054][0055]xt|t=xt,[0056][0057]δh(xk,uk)≥-γh(xk),k=0,...,n-1[0058]其中为状态集,为输入状态集,为终端状态集,j为优化目标函数,xt+1=f(xt,ut)为机器人的动态模型,全局规划器给出的参考路径为终端代价为过程代价为其中p,q,r,s为权重矩阵,是系统在处的状态,代表机器人的控制输入。[0059]本发明还提供一种机器人动态避障系统,包括:传感器,能实现上述的一种机器人动态避障方法,还包括:同步定位与地图绘制模块、全局规划模块、局部感知模块、局部规划模块;所述传感器用于检测周围环境,生成点云;所述同步定位与地图绘制模块根据所述点云生成机器人位姿,并维护三维概率图;所述全局规划模块根据快速随机搜索树和三维概率图生成全局路径;所述局部感知模块根据所述点云生成局部地图与障碍物预测轨迹;所述局部规划模块根据所述障碍物预测轨迹和所述全局路径生成局部轨迹,并发送运动指令至机器人。[0060]本发明具有如下有益效果:[0061]本发明通过根据点云生成局部地图与障碍物预测轨迹,根据障碍物预测轨迹和全局路径生成局部轨迹的设置,预测了障碍物的轨迹,因此能够预先做出规避动作,具有更好的安全性;相比于模型预测控制+障碍物曲线拟合的方法,本发明的障碍物预测的准确性较高。[0062]本发明实施例中的其他有益效果将在下文中进一步述及。附图说明[0063]图1是本发明实施例中工作流程示意图;[0064]图2是本发明实施例中系统组成示意图;[0065]图3是本发明实施例中局部感知流程图;[0066]图4a是本发明实施例中拟合结果示意图;[0067]图4b是本发明实施例中圆柱障碍物在静止条件下置信的变化曲线图;[0068]图4c是本发明实施例中圆柱障碍物在运动条件下置信的变化曲线图;[0069]图5是本发明实施例中mpc-d-cbf示例图示意图;[0070]图6a是本发明实施例中算法机器人部署前视图;[0071]图6b是本发明实施例中算法机器人部署侧视图;[0072]图7是本发明实施例中机器人避障效果图。[0073]附图标记如下:[0074]1为rs-helios 32线激光雷达、2为wifi、3为机载电脑、4为电源具体实施方式[0075]下面对照附图并结合优选的实施方式对本发明作进一步说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。[0076]需要说明的是,本实施例中的左、右、上、下等方位用语,仅是互为相对概念,或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。[0077]局部规划根据实现方法的不同可以分为基于搜索的、基于采样的和基于优化的方法。基于搜索的算法包括:混合a-star算法,dwa算法(dynamic window approach);基于采样的算法包括混合rrt算法(rapidly-exploring random trees),混合rrt-star算法等;基于优化的算法包括mpc算法(model predictive control模型预测控制),lqr算法(linear–quadratic regulator,线性二次调解器)等。相对来说,基于搜索的算法较为耗时,但是能够得到一个路径的最优解;基于采样的算法通常不具有路径的最优性,但耗时较少,其中混合rrt-star算法可以通过不断的迭代路径从而使得算法具有渐进最优性;基于优化的算法通过梯度下降法,得到机器人的未来时域的轨迹,同时通过界定优化参量的范围,可以避开各种障碍物。随着计算机算力的提升,这类算法近年来应用越来越多。[0078]在介绍具体实施方式之前,先对本发明的思路介绍如下:[0079]近几十年来,移动机器人安全临界最优规划与控制的研究一直在积极开展。通过改进现有自主导航解决方案的鲁棒性和效率,机器人自主导航已被广泛应用于许多领域,但在动态和非结构化环境下的自主仍然是一个挑战。难点主要体现在以下几个方面:[0080]1、非结构化环境中障碍物的稳定检测与预测;[0081]2、障碍的参数表示与不确定性分析;[0082]3、障碍物实时运动轨迹的运动规划算法。[0083]本发明通过结合全局规划和局部规划,生成一种两层(two-level)的运动控制的框架,可以使得机器人在运动过程中,能够保证路径最优的同时,能够避开障碍物从而确保安全性。本发明提出的机器人动态避障方法能实现以下功能:[0084]1、实时的对障碍物进行探测跟踪的能力;[0085]2、实时的估计障碍物的形状和位置,速度的能力;[0086]3、实时预测障碍物的状态的能力;[0087]4、实时的在跟随全局路径的同时,具有躲避静态和动态障碍物的能力;[0088]5、根据具体应用场景,改变机器人和障碍物的最小安全距离的能力。[0089]本发明下述实施例提出了一种机器人动态避障方法。[0090]本发明实施例机器人动态避障方法的工作流程如图1所示:[0091]s1、检测周围环境,初始化确定起始点和目标点,并生成点云;[0092]s2、将所述点云输入同步定位与地图绘制模块中,从而生成机器人位姿,并维护三维概率图;[0093]s3、根据快速随机搜索树和三维概率图生成全局路径,根据所述点云生成局部地图与障碍物预测轨迹;[0094]s4、根据所述障碍物预测轨迹和所述全局路径生成局部轨迹,并发送运动指令至机器人;[0095]s5、所述机器人根据所述运动指令沿所述局部轨迹移动。[0096]本发明实施例提供一种机器人动态避障系统,包括同步定位与地图绘制模块(slam)模块,全局规划模块,局部规划模块,局部感知模块。如图2所示,从左至右:激光雷达传感器检测周围环境,生成点云。slam模块接收点云生成机器人位姿实时维护三维概率图。全局规划模块基于putn算法中的pf-rrt*和地图生成参考路径。点云用于生成局部地图。通过聚类将障碍物参数化到局部地图上,生成mbe。通过卡尔曼滤波,估计出mbe的当前运动状态,进而在前向时域内生成相应的运动轨迹。预测轨迹和参考路径被发送到局部规划模块进行运动规划。该模块将d-cbf和mpc相结合,生成机器人的安全轨迹,并实时发送运动指令。ugv接收运动指令沿轨迹移动。[0097]本发明实施例还提供一种机器人动态避障系统,包括:传感器,能实现上述实施例中的机器人动态避障方法,还包括:同步定位与地图绘制模块、全局规划模块、局部感知模块、局部规划模块;所述传感器用于检测周围环境,生成点云;所述同步定位与地图绘制模块根据所述点云生成机器人位姿,并维护三维概率图;所述全局规划模块根据快速随机搜索树和三维概率图生成全局路径;所述局部感知模块根据所述点云生成局部地图与障碍物预测轨迹;所述局部规划模块根据所述障碍物预测轨迹和所述全局路径生成局部轨迹,并发送运动指令至机器人。[0098]下面结合附图对本发明实施例的机器人动态避障方法进行进一步说明:[0099]一、障碍物预测[0100]如图3所示,局部感知在考虑观测的不确定性的情况下,通过预测障碍物轨迹,实时的划分出安全区域和障碍物区域。在这个过程中,通过实时点云生成高层图,在高层图中经过梯度处理和步高处理来得到局部地图。在局部地图中,进行障碍识别和数据关联。[0101]由于点云噪声和障碍物检测角度的变化,mbe的形状ηob=[a,b,θ],其中a,b,θ分别表示椭圆的半长轴,半短轴和偏移角度。会发生快速而巨大的变化,导致mbe的位置xob=[xob,yob]偏离真实值。针对这一问题,本发明实施例提出了一个用于评估mbe位置置信度的指标ξp。[0102][0103]其中xob,t-i,t和分别表示时间t时(r为上标,表示真实的),向后时域第i步处障碍物的mbe位置和真实位置。本发明实施例提出了ξη来评估mbe的形状变化程度,时域设置为m步。在一般情况下,障碍物的形状不会迅速改变(例如,快速膨胀)。因此,在局部地图的有限区域内,可以认为障碍物的形状保持不变。ξη的估计如下:[0104][0105]其中表示η的平均值。[0106]由于在实际环境无法准确测量,ξη可以用来估计ξp。通过数据分析,本发明实施例使用公式来完成这个估计任务,κ和γ分别是比例系数和幂次系数。为了验证和ξp的相关性,本发明实施例对不同速度和大小的障碍物进行了实验,如图4a所示,可以看出,当[κ,γ]=[5.5,1.3]时,该公式可以很好地估计半径小于1.5m,速度小于0.9m/s的障碍物。[0107]图4a显示κ为5.5,γ为1.3时和ξp的相关系数随障碍物速度和大小的变化而变化,其中横坐标表示障碍物的大小,纵坐标表示障碍物的速度,竖坐标表示和ξp的相关系数。图4b、图4c分别表示圆柱障碍物在静止和运动条件下置信的真值ξp和估价值的变化,其中横坐标t为时间间隔,纵坐标为方差。实验中圆柱体直径设置为1m,运动状态设置为0.5m/s的均匀线性运动。ξp和在障碍物处于静止状态时的相关系数为0.9133,在障碍物处于恒速度状态时的相关系数度为0.9059。[0108]为了减小点云噪声的影响,本发明实施例使用kf更新障碍物的状态,同时使用mbeξ作为观测。状态变量被设置为一个向量ξ作为观测。状态变量被设置为一个向量为9维变量状态转移矩阵和观测矩阵分别为:[0109][0110][0111]其中t为时间间隔,i与o分别为单位矩阵和0矩阵。mbe位置的变化有两个原因:(a)障碍物本身的运动、(b)由于mbe形状ηob的异常变化而导致的位置偏差。在之前分析的基础上,对位置协方差rp提出了修正参数k,以减小异常的偏差:[0112][0113][0114]其中rp,max和rp,min表示位置方差的边界,ξmin,crit和ξmax,crit表示ξp的边界。这样,当mbe的形状发生快速变化时,rp增加,以减小mbe位置的振动。根据当前估计的状态和相应的方差值,可以用xk=axk-1和pk=apk-1at+q来预测未来时域的状态,其中q为系统噪声的协方差。[0115]为了提高安全性,本发明实施例用不确定度来扩展椭圆。椭圆在两个轴上被σ放大到其中σ为椭圆轴长的扩展量。定义r=rp+rη来描述椭圆的不确定度,其中rp和rη分别由椭圆的位置和形状的协方差得到。为了找到包络闵可夫斯基和的最小椭圆,通过求解以下方程得到σ的最小值[0116][0117]对于预测时域内的障碍物o(t:t+n|t),当k从0增加到n时,障碍物的不确定性增加,相应的椭圆也相应扩大。[0118]二、局部规划算法[0119]已经证明cbf(control barrier functions)可以用于ugv避障。然而,对于动态障碍物,传统cbf的安全性仍然是一个挑战。与cbf不同,d-cbf(动态控制障碍函数)认为障碍是可移动的。定义机器人位置,障碍物位置,障碍物形状为对于临界安全控制,集合c定义为连续可微函数h:的下水平集:[0120][0121]在该发明中,本发明实施例将c称为安全集。参考cbf的定义,d-cbf可以定义为:对于所有并且存在一个扩展类函数γ:[0122][0123]根据定义,d-cbf是在上的一个cbf。由于cbf定理,安全集c是前向不变且渐近稳定的。因此,c中机器人位置对应的分量集也是前向不变且渐近稳定的,这意味着控制系统是安全的。[0124]如图5所示,机器人x(t:t+n|t)避免与预测障碍oi(t:t+n|t)在未来n步的最优路径。将机器人的中心与椭圆连接,椭圆轮廓与机器人的距离可计算为di(t:t+n|t)。该距离集合扫过cbf区域,并受到cbf边界的约束,防止机器人过快接近障碍物。在离散系统中,d-cbf可以表述为[0125]δh(xk,uk)≥-γh(xk),0<γ≤1[0126]其中,δh(xk,uk):=h(xk+1)-h(xk)。[0127]每个动态障碍物表示为区域的椭圆,可描述和在时间步骤t,所有障碍的集合描述为由上一节的卡尔曼预测的推导可知,可以将障碍物oi的正向时域n状态预测为oi(t:t+n|t)。为了简化符号,本发明实施例用k代替t+k|t。通过连接oi(k)的中心和机器人p(k)=[x(k),y(k)],在k时刻,通过解直线和椭圆联立方程,计算li(k)从oi(k)到其外围的距离:[0128][0129]其中δ表示直线与椭圆的长轴形成的角度。因此,d-cbf以二次形式表示如下:[0130][0131]其中dsafe为安全距离。[0132]为了规划机器人未来的姿态,实现无碰撞的运动轨迹,本发明实施例采用mpc来实现,并结合d-mpc建立了mpc-d-cbf框架。为了建立mpc,本发明实施例首先用离散时间方程xt+1=f(xt,ut)来描述机器人的动态模型,其中是系统在处的状态。代表机器人的控制输入[0133][0134]s.t.xk+1=f(xk,uk),k=0,...,n-1[0135]exploring random trees,简称pf-rrt*)[0159]控制障碍函数(control barrier function,简称cbf)[0160]动态控制障碍函数(dynamic control barrier function,简称d-cbf)[0161]模型预测控制(model predictive control,简称mpc)[0162]快速激光里程计(fast lidar odometry,简称fast-lo)[0163]八叉树(octomap)[0164]最小包络椭圆(minimumbounding ellipses,简称mbe)[0165]无人驾驶地面车辆(unmanned groundvehicle,简称ugv)[0166]卡尔曼滤波器(kalman filter,简称kf)[0167]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3