一种避障方法及装置与流程

文档序号:16646066发布日期:2019-01-16 08:18阅读:269来源:国知局
一种避障方法及装置与流程

本发明涉及无人机领域,更具体的说,涉及一种避障方法及装置。



背景技术:

在飞行过程中,无人机在探测到飞行路线上存在障碍物时需要进行避障飞行,绕过障碍物继续向目的地飞行。目前,避障指令生成通常采用势函数避障法,势函数避障法实现简单、能够在嵌入式设备上实现实时运算,因此应用较多。

常规的势函数避障方法在处理动态障碍物时,将动态障碍物当做静态障碍物进行处理,未考虑动态障碍物的运动速度对生成的避障指令的影响,进而使得针对动态障碍物的避障效果较差。



技术实现要素:

有鉴于此,本发明提供一种避障方法及装置,以解决势函数避障方法针对动态障碍物的避障效果较差的问题。

为解决上述技术问题,本发明采用了如下技术方案:

一种避障方法,包括:

获取避障数据;所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据;

基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

根据所述夹角,确定避障修正系数;其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正;

根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

可选地,所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

可选地,所述势函数形状参数包括x轴形状参数和y轴形状参数;

相应的,基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角,包括:

将所述障碍物半径作为所述x轴形状参数的数值;

根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

可选地,根据所述夹角,确定避障修正系数,包括:

计算所述夹角的正弦值和余弦值;

将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

可选地,根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令,包括:

根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

一种避障装置,包括:

数据获取模块,用于获取避障数据;所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据;

计算模块,用于基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

第一确定模块,用于根据所述夹角,确定避障修正系数;其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正;

第二确定模块,用于根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

可选地,所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

可选地,所述势函数形状参数包括x轴形状参数和y轴形状参数;

相应的,所述计算模块包括:

第一确定子模块,用于将所述障碍物半径作为所述x轴形状参数的数值;

第一计算子模块,用于根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

第二计算子模块,用于根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

可选地,所述第一确定模块包括:

第三计算子模块,用于计算所述夹角的正弦值和余弦值;

第二确定子模块,用于将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

可选地,所述第二确定模块包括:

第四计算子模块,用于根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

第五计算子模块,用于根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种避障方法及装置,本发明中在计算势函数形状参数时,使用到了避障数据,避障数据包括所述无人机飞行过程中的障碍物的运动数据,即在确定避障数据时,考虑了动态障碍物的运动速度,进而考虑动态障碍物的运动速度对生成的避障指令的影响,提高动态障碍物的避障效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种避障方法的方法流程图;

图2为本发明实施例提供的一种避障方法的场景示意图;

图3为本发明实施例提供的另一种避障方法的方法流程图;

图4为本发明实施例提供的再一种避障方法的方法流程图;

图5为本发明实施例提供的避障效果示意图;

图6为本发明实施例提供的一种避障装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种避障方法,可以应用于无人机中的控制器,参照图1,避障方法可以包括:

s11、获取避障数据;

所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据。

优选地,避障数据可以包括:

无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

无人机的第一位置信息包括无人机的二维位置xb,yb,第一速度信息为无人机的速度矢量障碍物的第二位置信息包括障碍物的二维位置xo,yo,第二速度信息为障碍物的速度矢量障碍物半径可以用r表示。其中,y轴方向为障碍物运动方向,x轴方向为垂直于障碍物运动方向的水平方向。

具体的,采用gps(globalpositioningsystem,全球定位系统)、ins(inertialnavigationsystem,惯性导航系统)等传感器组合进行无人机的二维位置xb,yb和速度矢量的获取,得到计算避障速度vd所需的xb,yb,

采用雷达、光学相机等传感器组合进行动态障碍物二维位置xo,yo和速度矢量的获取,得到计算避障速度vd所需的xo,yo,

基于雷达、光学相机的图像信息进行动态障碍物半径r的计算与估计,得到计算避障速度vd所需的r。

s12、基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

所述势函数形状参数包括x轴形状参数和y轴形状参数。

其中,公式1为预设势函数公式,v为势函数,a为x轴形状参数、b为y轴形状参数,x为无人机与障碍物在x轴方向的位置差,y为无人机与障碍物在y轴方向的位置差。

根据发明人对无人机的飞行状态进行分析发现,在障碍物运动方向上,有更大的碰撞趋势,因此将x轴、y轴对应的势函数形状参数a和b具有不同的数值,x轴形状参数a为基础数值,y轴形状参数b为在基础数值上叠加运动趋势附加项。

当a、b不同时,常规势函数的形状从圆形变为椭圆形,采用椭圆形避障势函数差异化处理障碍物运动方向的避障强度和非运动方向的避障强度,使得本发明实施例能够更好地实现对动态障碍物的避障速度指令生成。

s13、根据所述夹角,确定避障修正系数;

其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正。

具体的,参照图2,势函数v为基准势函数,势函数的形态沿x轴、y轴方向分布,而为了正确体现障碍物运动方向上的效应,应将势函数转换到速度方向,势函数的转换系数即为所述避障修正系数,将避障修正系数与势函数相乘,即为根据避障修正系数将基准势函数转换为沿运动方向的势函数,使得椭圆的长轴轴线在速度方向上。

可选的,在本实施例的基础上,步骤s13可以包括:

1)计算所述夹角的正弦值和余弦值;

2)将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

具体的,夹角可以用ψ,避障修正系数为

根据避障修正系数对势函数进行坐标转换,转换到速度方向上,能够更好的避开障碍物。

s14、根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

具体的,避障速度指令vd将作为无人机避障指令,结合无人机目标跟踪指令形成综合指令,由无人机飞控系统进行综合指令的跟踪控制,进而实现对动态障碍物的规避。

本实施例中,在计算势函数形状参数时,使用到了避障数据,避障数据包括所述无人机飞行过程中的障碍物的运动数据,即在确定避障数据时,考虑了动态障碍物的运动速度,进而考虑动态障碍物的运动速度对生成的避障指令的影响,将障碍物运动速度方向的避障趋势增大,使得无人机可以进行提前机动提高避障成功率和避障路线的平滑性,提高动态障碍物的避障效果。

可选的,在上述“所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径”的实施例的基础上,所述势函数形状参数包括x轴形状参数和y轴形状参数。

参照图3,步骤s12可以包括:

s21、将所述障碍物半径作为所述x轴形状参数的数值;

s22、根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

具体的,公式2中给出了a、b的计算方法,根据上述公式2计算得到a、b即可。

通过对参数差异化处理(a,b取不同值),使得为了避障而产生的转向趋势在不同方向具有不同强度,进而能够使得无人机快速转换防线,进行避障。

s23、根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

具体的,第二速度信息为障碍物的速度矢量即第二速度信息中包括了障碍物的运动方向和运动速度,根据障碍物的运动方向,计算障碍物的运动方向与y轴的夹角即可。

本实施例中,给出了确定势函数形状参数a、b的过程,通过将a、b设置的不同,使无人机快速转换方向,进行避障。

可选的,在图3对应的实施例的基础上,参照图4,步骤s14可以包括:

s31、根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

具体的,公式1给出了计算预设势函数公式,根据公式1计算得到势函数即可。

s32、根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

具体的,

其中,vd为避障速度,为避障修正系数,ψ为障碍物的运动方向与y轴的夹角。势函数v取梯度运算并执行坐标转换,即可得到避障速度vd,生成包括避障速度vd的指令,即可得到避障速度指令。

参照图5,图5为采用本实施例中计算得到的避障速度指令对无人机进行控制的避障速度指令图,图中每一箭头标识无人机运动到该位置时,控制无人机的避障速度方向,粗箭头为本文提出势函数生成的避障速度指令,细箭头为常规势函数的避障速度指令。由图可见,常规避障速度指令是各向同性的(各个方向均相同),本文提出的避障速度指令沿速度方向具有更强的转向趋势,即在障碍物运动速度方向上本发明实施例给出了更好的避障速度指令,在距障碍物较远的位置即开始给出使无人机偏离障碍物的运动趋势,因此能够在尽量不降低前向速度的情况下更好地进行转向,进而实现更好的避障。

本实施例中,通过坐标转换,将避障趋势强的方向转换为运动速度方向(速度方向是危险方向),进而使得运动物体能够更好地实现避障。

可选的,在上述无人机的避障方法的实施例的基础上,本发明的另一实施例提供了一种避障装置,参照图6,可以包括:

数据获取模块101,用于获取避障数据;所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据;

计算模块102,用于基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

第一确定模块103,用于根据所述夹角,确定避障修正系数;其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正;

第二确定模块104,用于根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

进一步,所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

进一步,所述势函数形状参数包括x轴形状参数和y轴形状参数;

相应的,所述第一确定模块包括:

第三计算子模块,用于计算所述夹角的正弦值和余弦值;

第二确定子模块,用于将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

本实施例中,在计算势函数形状参数时,使用到了避障数据,避障数据包括所述无人机飞行过程中的障碍物的运动数据,即在确定避障数据时,考虑了动态障碍物的运动速度,进而考虑动态障碍物的运动速度对生成的避障指令的影响,将障碍物运动速度方向的避障趋势增大,使得无人机可以进行提前机动提高避障成功率和避障路线的平滑性,提高动态障碍物的避障效果。

可选的,在上述“所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径”的实施例的基础上,所述计算模块包括:

第一确定子模块,用于将所述障碍物半径作为所述x轴形状参数的数值;

第一计算子模块,用于根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

第二计算子模块,用于根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

本实施例中,给出了确定势函数形状参数a、b的过程,通过将a、b设置的不同,使无人机快速转换方向,进行避障。

可选的,上一实施例的基础上,所述第二确定模块包括:

第四计算子模块,用于根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

第五计算子模块,用于根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

本实施例中,通过坐标转换,将无人机确定的避障方向沿速度方向具有更强的转向趋势(速度方向是危险方向),进而使得运动物体能够更好地实现避障。

所述无人机的避障装置包括处理器和存储器,上述数据获取模块、计算模块、第一确定模块和第二确定模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高动态障碍物的避障效果。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述无人机的避障方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述无人机的避障方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

一种避障方法,包括:

获取避障数据;所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据;

基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

根据所述夹角,确定避障修正系数;其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正;

根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

进一步,所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

进一步,所述势函数形状参数包括x轴形状参数和y轴形状参数;

相应的,基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角,包括:

将所述障碍物半径作为所述x轴形状参数的数值;

根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

进一步,根据所述夹角,确定避障修正系数,包括:

计算所述夹角的正弦值和余弦值;

将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

进一步,根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令,包括:

根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

本文中的设备可以是服务器、pc、pad、手机等。

本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

一种避障方法,包括:

获取避障数据;所述避障数据包括无人机飞行过程中的运动数据和所述无人机飞行过程中的障碍物的运动数据;

基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角;

根据所述夹角,确定避障修正系数;其中,所述避障修正系数用于对所述无人机的避障运动方向进行修正;

根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令。

进一步,所述避障数据包括无人机的第一位置信息和第一速度信息、障碍物的第二位置信息、第二速度信息和障碍物半径。

进一步,所述势函数形状参数包括x轴形状参数和y轴形状参数;

相应的,基于所述避障数据,计算势函数形状参数、所述障碍物的运动方向与y轴的夹角,包括:

将所述障碍物半径作为所述x轴形状参数的数值;

根据所述第一速度信息、所述第二速度信息和所述障碍物半径,计算得到所述y轴形状参数的数值;

根据所述第二速度信息,计算得到所述障碍物的运动方向与y轴的夹角。

进一步,根据所述夹角,确定避障修正系数,包括:

计算所述夹角的正弦值和余弦值;

将包括所述正弦值、所述余弦值和所述正弦值的负数的矩阵作为所述避障修正系数。

进一步,根据所述避障修正系数、所述势函数形状参数和所述避障数据,确定避障速度指令,包括:

根据所述势函数形状参数、所述避障数据以及预设势函数公式,计算得到势函数的数值;

根据所述势函数的数值和所述避障修正系数,计算得到避障速度信息,并生成避障速度指令。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1