一种局部导航避障方法及机器人



1.本发明涉及移动机器人导航避障技术领域,尤其是涉及一种局部导航避障方法及机器人。


背景技术:



2.随着机器人技术快速发展,移动机器人在工业生产、百姓生活等方面得到了广泛的应用。移动机器人导航避障指机器人在传感器感知数据和自身状态估计下,实现从自身所处环境向目标前进的自主运动并避开障碍物,是实现移动机器人自动化的重要功能之一。然而,由于三维空间地形的非结构化、大比例尺地图的表示和计算的耗时性以及障碍物规避的高实时性要求等因素的限制,研究出在三维地形上进行快速、满足机器人运动学约束且能够实时避障的导航算法,是短期内难以实现的目标。因此,充分利用模型预测控制(model predictive control,mpc)局部规划算法的实时性和约束限制设计局部导航避障方法是一种比较现实的选择。
3.mpc问题中为了避免碰撞,通常采用的方法是为障碍物添加膨胀半径,这种做法实际上是等同于缩小了可行集的范围。这种基于欧几里得范数的避障约束并不会影响到机器人的运动,并不能使得机器人在比较远的距离就开始规避,实际操作过程中常常会存在反应时间不够而造成的危险。我们需要将模型预测控制,在确保集合不变性的前提下,将限制机器人运动加入到优化过程中。为了解决这个问题,cbf(control barrier function),控制障碍函数近年来被引入到mpc问题中。
4.mpc局部导航算法是求解基于机器人的当前状态的最优控制问题,通过周期性不断地获取机器人的状态反馈,在每个时间点重新规划出之后有限时间段的决策,但仅执行规划出的最优控制决策集合中的第一个控制指令,然后重新以新状态为起点进行再次规划。mpc算法可以自然地将速度、加速度和加速度的约束以及对障碍物的距离约束添加到优化求解问题中。优化问题的求解算法在近几年里有了很大的改进,加上普通处理器性能的提高,可以为机器人实时地求解复杂的优化问题。
5.mpc局部导航算法主要分为两种,第一种是基于微分动态规划 (differential dynamic programming,ddp),通过不断地迭代局部的有限时间的线性二次调节器(linear quadratic regulator,lqr)。第二种方法是直接配点法(direction collocation,dircon),直接将状态变量和输入同时当作决策进行优化,然后用非线性求解器进行直接计算。dircon 方法主要是将轨迹规划问题转换为一个非线性优化问题,然后用数值规划的方法进行求解,并且可以引入控制障碍函数(control barrierfunctions,cbf)约束的方法实现避障。而ddp方法则很难添加约束,因为基于lqr的特性,在已有的ddp算法中考虑约束需要对算法进行较大的修改,而且能够处理的约束也比较有限。特别是在复杂地形的区域,往往需要添加较多非线性的约束,这使得ddp算法难以处理。
6.而且,上述mpc算法虽然已经有了很多改进的方法可以用于机器人局部规划,但其中有一个难解之处,即难以对cbf进行建模。且在增添了多种安全因素之后,难以保证机器
人导航的实时性,不利于机器人的局部实时避障。
7.例如:经典的基于mpc的局部导航避障算法dmpc-dcbf算法。该算法的建模形式如下:
[0008][0009]
s.t.x
t+k+1|t
=f(x
t+k|t
,u
t+k|t
),k=0,...,n-1#(2)#
[0010]ut+k|t
∈u,x
t+k|t
∈x,k=0,...,n-1#(3)#
[0011]
h(x
t+k+1|t
)≥ωk(1-γ)h(x
t+k|t
),ωk≥0,for k=0,...,n
cbf-1,0<γ<1#(4)
[0012]
其中,x
t+k|t
,u
t+k|t
分别表示t+k时刻在当前时刻机器人的预测状态和输入;v(x
t+n|t
)是机器人的终态代价值,与累加的阶段代价值一起作为控制李雅普诺夫函数来使系统最终稳定;n 和n
cbf
分别表示预测视界和安全视界,n
cbf
《n的处理可以有效降低cbf 部分的计算复杂度;ω=[ω0,...,ω
ncbf-1
]和x 分别是输入变量,松弛变量和机器人状态集;f(
·
)表示机器人运动模型(阿克曼模型或者差分运动模型);而其中用到的cbf部分的h(x
t+k|t
)在指数下降的形式上增加了可调的参数ωk;ψ(
·
)是松弛变量的惩罚函数。
[0013]
而每个阶段的代价值函数为:
[0014][0015]
此外,dmpc-dcbf算法引入了cbf约束式(4),可由下式推导得到的:
[0016][0017]
其中,
[0018]
γ值的大小决定了cbf约束的严格程度。当γ趋近于1时,cbf函数约束转化为欧几里德距离不等式约束,该约束只会在不等式不成立时才会生效,即不在可行集内,这导致规划的可行解往往会出现在边界上,使得路径会紧挨着障碍物。通过增加安全距离的方法虽然可以远离障碍物,但只是通过压缩可行集来达到目的,求出来的解依旧不够稳定。当γ趋近于0 时,恒大于0,即cbf约束会规划出尽可能远离障碍物的可行解,但这样往往会导致系统无解。γ的大小反映了机器人允许接近障碍物的快慢程度,当越小时,机器人允许接近障碍物的梯度值较低,因此导致机器人更倾向于选择始终远离障碍物的路线,从而更安全。
[0019]
但这类算法的缺点是在三维地形导航避障中,难以对cbf进行建模,对实时障碍物添加约束十分困难,在增添了多种安全因素之后,难以保证算法能够达到10hz以上的实时性,不利于机器人的实时避障。


技术实现要素:



[0020]
本发明的目的在于解决机器人导航的实时性及机器人的局部实时避障的问题,提供一种局部导航避障方法及机器人。
[0021]
为实现上述目的,本发明采用以下技术方案:
[0022]
一种局部导航避障方法,包括以下步骤:
[0023]
s1:生成局部高程地图对机器人周围环境表面进行建模以及障碍物表示;
[0024]
s2:根据基于椭圆边界控制障碍函数的模型预测控制规划算法计算机器人的控制指令,进行实时导航避障。
[0025]
在一些实施例中,在步骤s1和步骤s2中间还包括以下步骤:a1:对局部地图障碍物进行简化表示。
[0026]
在一些实施例中,步骤s1中,所述生成局部高程地图包括以下步骤:
[0027]
s11:由传感器点云数据生成点云地图,并将所述传感器点云数据进行点云坐标转换;
[0028]
s12:根据传感器和机器人位姿,将传感器测量数据转换成相应的高度;
[0029]
s13:将所述点云地图和所述传感器点云数据通过直通滤波器,剔除机器人周围的正方体范围外的点云;
[0030]
s14:将来自传感器的新测量值作为空间点处理,并映射到高程图,更新所在位置的高程。
[0031]
在一些实施例中,所述步骤s12由以下公式表示:
[0032][0033]
其中,p为传感器测量数据的相应高度,t
sm
为机器人的平移关系,r
sm
为机器人的旋转关系,r
sp
表示传感器测量值,p=[0 0 1]表示提取点云的第三维作为局部地图高程数据。
[0034]
在一些实施例中,在步骤s13之后还包括以下步骤:进行高度差滤波,将局部地图位置上的所有高程值从小到大排序,对相邻两个高程值进行差值计算,如果两个高程之间的差值大于机器人本身高度,选择相邻两个高程值中小的高程值作为局部地图位置的高程建模。
[0035]
在一些实施例中,所述基于椭圆边界控制障碍函数的模型由以下公式表示:
[0036][0037]
s.t.x
t+k+1|t
=f(x
t+k|t
,u
t+k|t
),k=0,...,n-1
[0038]ut+k|t
∈u,x
t+k|t
∈x,k=0,...,n-1
[0039]
h(x
t+k+1|t
)≥ωk(1-γk)h(x
t+k|t
),ωk≥0,for k=0,...,n
cbf-1
[0040]
其中,x
t+k|t
,u
t+k|t
分别表示t+k时刻在当前时刻机器人的预测状态和输入;为累加的阶段代价值;n和n
cbf
分别表示预测视界和安全视界,n
cbf
<n;u是输入变量;f(
·
)表示机器人运动模型;ωk为可调参数;ψ(
·
)是松弛变量的惩罚函数。
[0041]
在一些实施例中,步骤s1中,障碍物表示部分对局部高程地图进行梯度和梯度变化率操作,把超过机器人可正常运行阈值的部分表示为障碍物,其中梯度变化率操作采用laplace算子对局部地图进行卷积操作得到。
[0042]
在一些实施例中,局部地图的梯度采用sobel算子对局部地图进行卷积操作得到。
[0043]
在一些实施例中,采用局部地图障碍物聚类及障碍物最小包围椭圆对障碍物进行简化表示。
[0044]
在一些实施例中,所述局部地图障碍物聚类对障碍物进行简化表示包括以下步
骤:
[0045]
a11:将局部地图的障碍物的二维坐标提取出来;
[0046]
a12:采用dbscan算法进行聚类,得到不同障碍物聚类簇;
[0047]
其中,将所述dbscan算法的邻域设置为移动机器人最短的边长的一半,确保机器人可通行区域不被阻挡。
[0048]
在一些实施例中,所述障碍物最小包围椭圆对障碍物进行简化表示包括以下步骤:
[0049]
a13:判断dbscan聚类得到的每一个聚类簇的点数目是否为1,如果是则最小包围椭圆为以该点为圆心,局部地图分辨率为半径的圆,如果否则进入下一步骤;
[0050]
a14:判断聚类簇里的点是否共线,若共线,最小包围椭圆以线段长度为长轴,局部地图分辨率为半短轴,线段中点为中心坐标,直线斜率为倾斜角输出椭圆;若不共线,采用最小包围椭圆算法计算出最小包围椭圆长短轴、中心坐标和倾斜角。
[0051]
本发明还提供一种机器人,其上存储有计算机程序,该计算机程序被处理器执行时能实现上述的局部导航避障方法。
[0052]
本发明具有如下有益效果:
[0053]
本发明的局部导航避障方法基于椭圆边界控制障碍函数的模型预测控制规划算法的设置,可以使机器人的运动规划规避障碍物最小包围椭圆,极大的加快mpc局部避障规划的速度,使得机器人导航的实时性好,与利于机器人的局部实时避障,实现机器人实时导航避障,在非平坦地形上依旧可以为机器人提供高频率规划,适应性强。
附图说明
[0054]
图1是本发明实施例中局部导航避障方法的流程图;
[0055]
图2是本发明实施例中局部导航避障方法示意图;
[0056]
图3是本发明实施例中局部导航避障方法具体流程图;
[0057]
图4是本发明实施例中局部高程地图生成流程图;
[0058]
图5a是本发明实施例中的仿真山地地形示意图;
[0059]
图5b是本发明实施例中局部高程地图示意图;
[0060]
图6是本发明实施例中障碍物表示流程示意图;
[0061]
图7是本发明实施例中障碍物最小包围椭圆算法流程图;
[0062]
图8是本发明实施例中障碍物最小包围椭圆示意图;
[0063]
图9a是本发明实施例中基于椭圆边界控制障碍函数设计示意图;
[0064]
图9b是本发明实施例中基于障碍物椭圆角度参数旋转椭圆示意图;
[0065]
附图标记说明如下:
[0066]
1-障碍物,2-障碍物最小包围椭圆。
具体实施方式
[0067]
以下对本发明的实施方式做详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
[0068]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性
或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0069]
如图1所示,相对于经典的导航算法,本实施例的基于椭圆边界控制障碍函数的模型预测控制的局部导航避障方法有着明显的优势。由于对机器人周围环境表面进行建模以及对障碍物进行表示并引入了椭圆边界控制障碍函数,因此本实施例的方法可以达到高实时性要求并使导航路径规避障碍物,使避障效果大大提高。
[0070]
鉴于导航避障在移动机器人实现自动化中的重要作用,本实施例的局部导航避障方法通过建立局部高程地图,对局部障碍物进行聚类处理并获取障碍物最小包围椭圆的高效表示,然后设计具有椭圆边界控制障碍函数的模型预测控制算法的局部导航避障方法进行实时避障。
[0071]
如图2所示,本实施例的局部导航避障方法包括局部高程地图生成及障碍物表示、局部地图障碍物聚类及其最小包围椭圆、基于椭圆边界控制障碍函数的模型预测控制规划算法。本实施例的局部导航避障方法采用局部高程地图对机器人周围环境表面进行建模表示以及障碍物高效处理,同时采用基于椭圆边界控制障碍函数的mpc算法作为局部导航规划器,通过障碍物和机器人运动学约束条件对路径进行跟踪和优化。本实施例能够应用于,在三维地形上进行移动机器人的导航、实时避障、跟踪等任务。
[0072]
本实施例的方法及应用该方法的机器人具备的功能有:
[0073]
1.具备将点云地图或者传感器点云数据转换为高程地图,
[0074]
2.具备根据机器人的运动能力设置阈值对障碍物进行表示;
[0075]
3.具备障碍物聚类及其最小包围椭圆具备将障碍物进行简化表示的功能;
[0076]
4.具备使机器人的运动规划规避障碍物最小包围椭圆,实现导航避障的功能。
[0077]
具体地,如图2所示,本实施例的方法由局部高程地图生成及障碍物表示、局部地图障碍物简化表示、基于椭圆边界控制障碍函数的模型预测控制规划算法组成。
[0078]
局部高程地图生成及障碍物表示可以通过提取点云地图或者传感器点云数据的高程生成高分辨率局部高程地图,对局部高程地图进行梯度和拉普拉斯算子处理并阈值化得到障碍物表示。
[0079]
局部地图障碍物简化表示使用dbscan聚类算法和最小包围椭圆对障碍物进行高效表示,为局部规划查询障碍物节省时间。
[0080]
基于椭圆边界控制障碍函数的模型预测控制规划算法,根据障碍物最小包围椭圆设计椭圆边界控制障碍函数约束,加快模型预测控制局部规划算法的处理速度以实现实时导航避障。
[0081]
如图3所示,工作流程为:由点云地图数据或者传感器数据生成局部高程地图对机器人周围环境表面进行建模以及障碍物表示,对局部障碍物进行聚类处理并获取障碍物最小包围椭圆的高效表示,然后设计具有椭圆边界控制障碍函数的模型预测控制算法计算机器人的控制指令,进行实时导航避障。
[0082]
一、局部高程地图生成及障碍物表示:
[0083]
(1)局部高程地图生成
[0084]
高程地图通常作为网格地图存储和处理,可以将其视为2.5维表示,网格中的每个
单元包含一个高度值。局部高程地图生成流程如图4所示,首先,将点云地图和传感器点云数据通过直通滤波器剔除机器人周围的正方体范围外的点云;然后,将来自传感器的新测量值作为空间点处理,并映射到高程图更新所在位置(x,y)的高程,即高程地图中单元格(x,y)处的新高度测量h。根据传感器和机器人的平移关系t
sm
和旋转关系r
sm
即机器人位姿,可以将传感器测量数据转换成相应的高度p,如以下公式所示:
[0085][0086]
其中,r
sp
表示传感器测量值,p=[0 0 1]表示提取点云的第三维作为局部地图高程数据。
[0087]
此外,图4中高度差滤波是指将局部地图位置(x,y)上的所有高程进行从小到大排序,对相邻两个高程值进行差值计算,如果两个高程之间的差值存在大于机器人本身高度的情况时,选择小的高程值作为局部地图位置(x,y)的高程建模,滤除大于大的高程值的所有数据,这样处理可以防止局部地图直接将高度值最大的点云作为高程值而忽略了机器人可通过的空缺口区域。
[0088]
局部高程地图采用二维网格表示,可以根据机器人的大小设置分辨率,分辨率的设置取决于所需要避开障碍物的最小尺寸,和机器人本身以及使用场地需求有关,比如:机器人底盘高度、机器人轮胎尺寸等。根据图5a 的仿真山地地形生成的局部高程地图如图5b所示,采用0.05m/格的分辨率,地图大小为4x4m,
[0089]
(2)障碍物表示
[0090]
障碍物表示部分对局部高程地图进行梯度和梯度变化率操作,把超过机器人可正常运行阈值的部分表示为障碍物。三维导航避障的障碍物的判定更加复杂,必须考虑机器人所在地形的坡度、高程差、梯度和平坦度等等。如图6所示,考虑机器人运行的最大坡度和可翻越高程差,局部地图的梯度和梯度变化率操作分别采用sobel算子和laplace算子对局部地图进行卷积操作得到,如下以下公式所示:
[0091][0092][0093][0094][0095]
其中,l(x,y)和s(x,y)分别表示局部地图点(x,y)经过laplace算子和sobel 算子操作后的结果,f(x,y)表示局部地图点(x,y)处的高程值。
[0096]
最后,对卷积操作后的地图进行阈值化:
[0097][0098]
其中,0和1分别表示该位置可行或者视为障碍物;l
max
和s
max
分别代表机器人所能容忍的最大梯度变化率和梯度值;f(x,y)=nan表示局部地图在(x,y)处没有高程值(可能
是因为传感器未感知或者不可感知区域等),在一些实施例中,也可将其他梯度算子用于局部地图梯度的计算部分,比如roberts交叉梯度算子、prewitt算子等。
[0099]
局部地图处理流程如下所示,左上角高程地图中坡度和坡度变化率较大的区域,在障碍物地图中被阈值化显示了出来,将机器人禁止通行区域表示出来。
[0100]
二、局部地图障碍物简化表示:
[0101]
(1)障碍物聚类
[0102]
障碍物聚类将局部地图的障碍物的二维坐标提取出来,采用dbscan 算法进行聚类。由于机器人的传感器点云可以预先进行去噪处理,本实施例不将障碍物点分为噪声点,将dbscan算法的最小点数minpts的值设置为较小的值,比如1;将邻域ε设置为移动机器人最短的边长的一半,确保机器人可通行区域不被阻挡,最后聚类得到不同障碍物聚类簇。
[0103]
(2)障碍物最小包围椭圆
[0104]
机器人在一组障碍物中进行无碰撞运动时,如果直接对每一个视为障碍物的网格进行检索是十分耗费时间的,因此,本实施例考虑障碍物最小包围体积,将局部地图的障碍物区域表示出来,在用简单的形状包围障碍物之后,使机器人导航避障得到简化。如果机器人在简化障碍物表示后的环境中发现了一个有效的运动,那么这个运动在原始空间中也一定是有效的。这种启发式方法越成功,即障碍物环绕体积越紧凑,对机器人运动自由空间挤占越小,对机器人规划越有利。不仅如此,相比在栅格地图上对障碍物进行逐个检索,规则的包围几何形状更有利于障碍物检索,提高规划效率。
[0105]
障碍物最小包围椭圆流程如图7所示,首先,对dbscan聚类得到的每一个聚类簇进行点数目及共线判断,如果聚类簇点数量为1时,最小包围椭圆为以该点为圆心,局部地图分辨率为半径的圆;判断聚类簇里的点是否共线,若共线,最小包围椭圆以线段长度为长轴,局部地图分辨率为半短轴,线段中点为中心坐标,直线斜率为倾斜角输出椭圆;若不共线,采用最小包围椭圆算法计算出最小包围椭圆长短轴、中心坐标和倾斜角。障碍物最小包围椭圆效果如图8所示,其中的椭圆柱即为障碍物1对应的障碍物最小包围椭圆2:
[0106]
三、基于椭圆边界控制障碍函数的模型预测控制规划算法:
[0107]
基于椭圆边界控制障碍函数的模型预测控制规划算法,针对控制障碍函数进行建模,基于障碍物最小包围椭圆设计h(
·
)函数,保证局部规划的避障与实时性;mpc算法建模如下:
[0108][0109]
s.t.x
t+k+1|t
=f(x
t+k|t
,u
t+k|t
),k=0,,n-1#(14)#
[0110]ut+k|t
∈u,x
t+k|t
∈x,k=0,...,n-1#(15)#
[0111]
h(x
t+k+1|t
)≥ωk(1-γk)h(x
t+k|t
),ωk≥0,for k=0,...,n
cbf-1#(16)#
[0112]
其中,x
t+k|t
,u
t+k|t
分别表示t+k时刻在当前时刻机器人的预测状态和输入;为累加的阶段代价值;n和n
cbf
分别表示预测视界和安全视界,n
cbf
<n的处理可以有效降低cbf部分的计算复杂度;u 是输入变量;f(
·
)表示机器人运动模型(阿克曼模型或者差分运动模型等);而其中用到的cbf部分的h(x
t+k|t
)在指数下降的形式上增加了可调的参数ωk;ψ(
·
)是松弛变量的惩罚函数。
[0113]
对于椭圆边界控制障碍函数的设计,如图9a、图9b所示,图中障碍物最小包围椭圆
的参数为c
obs
=(x
obs
,y
obs
,a,b,θ),x
obs
,y
obs
为中心坐标, a,b分别为半长轴和半短轴,θ为长轴与世界坐标系x轴的夹角。小车当前位置为p
robot
=(x
robot
,y
robot
)。椭圆边界障碍控制函数如下:
[0114]
h(x)=l
robot_to_ellipse-l
on-d
safe
#(17)
[0115]
其中,l
robot_to_ellipse
代表机器人中心到椭圆中心的距离;l
on
表示机器人中心与椭圆中心连线与椭圆的交点p
on
=(x
on
,y
on
)到椭圆中心的距离;d
safe
是根据机器人尺寸设置的安全距离。
[0116]
机器人中心到椭圆中心的距离可由下式的到:
[0117][0118]
接下来计算机器人中心与椭圆中心连线与椭圆的交点p
on
到椭圆中心的距离l
on
,将p
robot
=(x
robot
,y
robot
)转换到以椭圆长轴为x轴,短轴为y轴,椭圆中心为坐标系原点的坐标系上有:
[0119][0120]
则该连线与长轴的夹角θ

的正切值为:
[0121][0122]
那么,以椭圆长轴为x轴,短轴为y轴,椭圆中心为坐标系原点,p
on
= (x
on
,y
on
)可以表示为:
[0123]yon
=x
on
·
tanθ'#(21)
[0124]
与椭圆标准方程联立可得:
[0125][0126][0127]
根据旋转线段长度的不变性,因此线段长度l
on
为:
[0128][0129]
本实施例通过点云地图或者传感器点云数据生成局部高分辨率高程地图,对机器人周围环境进行建模,并对障碍物进行表示;通过局部地图障碍物聚类并根据不同聚类簇求解最小包围椭圆,对局部地图障碍物进行简化表示,加快规划的速率,提高局部导航避障的能力;通过基于椭圆边界控制障碍函数,可以实现机器人的局部导航避障。采用的mpc局部规划算法设计了基于障碍物聚类的最小椭圆的控制障碍函数,可以极大的加快 mpc局部避障规划的速度。现有基于网格障碍物检索的mpc算法在平坦地形计算频率基本可以保持10hz以上,但是,当机器人靠近非平坦地形时,障碍物的出现会导致计算时耗迅速增大,规
划频率大幅度下降,导致机器人运动规划十分缓慢。与之相比,本发明实施例在非平坦地形上依旧可以为机器人提供高频率规划,适应性强。
[0130]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0131]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0132]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0133]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0134]
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。在本说明书的描述中,参考术语“一种实施例”、“一些实施例”、“优选实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。尽管已经详细描述了本发明的实施例及其优点,但应当理解,在不脱离专利申请的保护范围的情况下,可以在本文中进行各种改变、替换和变更。

技术特征:


1.一种局部导航避障方法,其特征在于,包括以下步骤:s1:生成局部高程地图对机器人周围环境表面进行建模以及障碍物表示;s2:根据基于椭圆边界控制障碍函数的模型预测控制规划算法计算机器人的控制指令,进行实时导航避障。2.如权利要求1所述的局部导航避障方法,其特征在于,在步骤s1和步骤s2中间还包括以下步骤:a1:对局部地图障碍物进行简化表示。3.如权利要求1所述的局部导航避障方法,其特征在于,步骤s1中,所述生成局部高程地图包括以下步骤:s11:由传感器点云数据生成点云地图,并将所述传感器点云数据进行点云坐标转换;s12:根据传感器和机器人位姿,将传感器测量数据转换成相应的高度;s13:将所述点云地图和所述传感器点云数据通过直通滤波器,剔除机器人周围的正方体范围外的点云;s14:将来自传感器的新测量值作为空间点处理,并映射到高程图,更新所在位置的高程。4.如权利要求3所述的局部导航避障方法,其特征在于,所述步骤s12由以下公式表示:其中,p为传感器测量数据的相应高度,t
sm
为机器人的平移关系,r
sm
为机器人的旋转关系,r
sp
表示传感器测量值,p=[0 0 1]表示提取点云的第三维作为局部地图高程数据。5.如权利要求3所述的局部导航避障方法,其特征在于,在步骤s13之后还包括以下步骤:进行高度差滤波,将局部地图位置上的所有高程值从小到大排序,对相邻两个高程值进行差值计算,如果两个高程之间的差值大于机器人本身高度,选择相邻两个高程值中小的高程值作为局部地图位置的高程建模。6.如权利要求1所述的局部导航避障方法,其特征在于,所述基于椭圆边界控制障碍函数的模型由以下公式表示:s.t.x
t+k+1|t
=f(x
t+k|t
,u
t+k|t
),k=0,

,n-1,u
t+k|t
∈u,x
t+k|t
∈x,k=0,

,n-1,h(x
t+k+1|t
)≥ω
k
(1-γ
k
)h(x
t+k|t
),ω
k
≥0,fork=0,

,n
cbf-1,其中,x
t+k|t
,u
t+k|t
分别表示t+k时刻在当前时刻机器人的预测状态和输入;为累加的阶段代价值;n和n
cbf
分别表示预测视界和安全视界,n
cbf
<n;u是输入变量;f(
·
)表示机器人运动模型;ω
k
为可调参数;ψ(
·
)是松弛变量的惩罚函数。7.如权利要求1所述的局部导航避障方法,其特征在于,步骤s1中,障碍物表示部分对局部高程地图进行梯度和梯度变化率操作,把超过机器人可正常运行阈值的部分表示为障碍物,其中梯度变化率操作采用laplace算子对局部地图进行卷积操作得到。8.如权利要求1所述的局部导航避障方法,其特征在于,局部地图的梯度采用sobel算子对局部地图进行卷积操作得到。9.如权利要求2所述的局部导航避障方法,其特征在于,采用局部地图障碍物聚类及障
碍物最小包围椭圆对障碍物进行简化表示。10.如权利要求9所述的局部导航避障方法,其特征在于,所述局部地图障碍物聚类对障碍物进行简化表示包括以下步骤:a11:将局部地图的障碍物的二维坐标提取出来;a12:采用dbscan算法进行聚类,得到不同障碍物聚类簇;其中,将所述dbscan算法的邻域设置为移动机器人最短的边长的一半,确保机器人可通行区域不被阻挡。11.如权利要求9所述的局部导航避障方法,其特征在于,所述障碍物最小包围椭圆对障碍物进行简化表示包括以下步骤:a13:判断dbscan聚类得到的每一个聚类簇的点数目是否为1,如果是则最小包围椭圆为以该点为圆心,局部地图分辨率为半径的圆,如果否则进入下一步骤;a14:判断聚类簇里的点是否共线,若共线,最小包围椭圆以线段长度为长轴,局部地图分辨率为半短轴,线段中点为中心坐标,直线斜率为倾斜角输出椭圆;若不共线,采用最小包围椭圆算法计算出最小包围椭圆长短轴、中心坐标和倾斜角。12.一种机器人,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时能实现权利要求1-11任一项所述的局部导航避障方法。

技术总结


本发明公开了一种局部导航避障方法,包括以下步骤:S1:生成局部高程地图对机器人周围环境表面进行建模以及障碍物表示;S2:根据基于椭圆边界控制障碍函数的模型预测控制规划算法计算机器人的控制指令,进行实时导航避障。本发明基于椭圆边界控制障碍函数的模型预测控制规划算法的设置,可以使机器人的运动规划规避障碍物最小包围椭圆,极大的加快MPC局部避障规划的速度,解决机器人导航的实时性差,不利于机器人的局部实时避障的缺点,实现机器人实时导航避障,在非平坦地形上依旧可以为机器人提供高频率规划,适应性强。适应性强。适应性强。


技术研发人员:

梁斌 王学谦 严梓鸿 雷轩昂 翦卓著 兰斌

受保护的技术使用者:

清华大学深圳国际研究生院

技术研发日:

2022.07.21

技术公布日:

2022/10/11

本文发布于:2024-09-22 13:29:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/6518.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:障碍物   局部   机器人   高程
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议