发明内容
申请人发现,现有技术中为了能够使飞行器在遇到障碍物时安全执行后退、侧移等规避动作,需要在飞行器的各个方向安装传感器,当遇到障碍物时从各个方向寻找避障角度。这样的方案一方面会导致飞行器成本的增加;另一方面,后退、侧移等规避动作降低了飞行器的行驶速度,降低了飞行器货物配送效率。
本申请的一个目的在于提出一种基于视觉传感器的飞行器避障方案,能够降低飞行器成本,保证飞行器货物配送效率。
根据本申请的一个实施例,提出一种飞行器避障方法,包括:利用位于飞行器上单一方向的相机获取前进方向的图像;根据图像确定障碍物位置;根据障碍物的位置和尺寸,以及目标航路点位置、当前位置的预定直线路径方向生成势场;根据势场规划避障路线,其中,避障路线的行进方向在相机的视角范围内。
可选地,相机包括双目相机,图像包括双目视觉图像;根据图像确定障碍物位置包括:确定图像中的障碍物;通过双目坐标系标定确定障碍物的深度信息;基于障碍物在图像中的尺寸和深度信息确定障碍物的尺寸。
可选地,确定图像中的障碍物包括:将图像分割成多个网格;对每个网格进行障碍物识别并用窗口框取;确定窗口在图像坐标系中的位置和尺寸。
可选地,势场包括:基于目标航路点生成的目标航路点吸引势场;基于当前位置的预定直线路径生成的直线路径吸引势场;和基于障碍物生成的障碍物排斥势场。
可选地,避障路线包括下一目标点的位置;飞行器避障方法还包括:飞行器从当前位置沿直线行进至下一目标点。
可选地,还包括:飞行器旋转使相机的图像采集方向正对下一目标点。
通过这样的方法,能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
根据本申请的另一个实施例,提出一种飞行器避障装置,包括:位于飞行器上单一方向的相机,用于获取前进方向的图像;图像处理器,用于根据图像确定障碍物位置;和,路线规划控制器,用于根据障碍物的位置和尺寸,以及目标航路点位置、当前位置的预定直线路径方向生成势场,并根据势场规划避障路线,其中,避障路线的行进方向在相机的视角范围内。
可选地,相机包括双目相机,图像包括双目视觉图像;图像处理器包括:障碍物确定单元,用于确定图像中的障碍物;深度确定单元,用于通过双目坐标系标定确定障碍物的深度信息;尺寸确定单元,用于基于障碍物在图像中的尺寸和深度信息确定障碍物的尺寸。
可选地,障碍物确定单元用于:将图像分割成多个网格;对每个网格进行障碍物识别并用窗口框取;确定窗口在图像坐标系中的位置和尺寸。
可选地,势场包括:基于目标航路点生成的目标航路点吸引势场;基于当前位置的预定直线路径生成的直线路径吸引势场;和基于障碍物生成的障碍物排斥势场。
可选地,避障路线包括下一目标点的位置;飞行器避障装置还包括驱动模块,用于驱动飞行器从当前位置沿直线行进至下一目标点。
可选地,驱动模块还用于驱动飞行器旋转使相机的图像采集方向正对下一目标点。
根据本申请的又一个实施例,提出一种飞行器避障装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中提到的任意一种飞行器避障方法。
这样的飞行器避障装置能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
根据本申请的再一个实施例,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中提到的任意一种飞行器避障方法的步骤。
这样的计算机可读存储介质能够通过执行其上的程序,能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
另外,根据本申请的一个实施例,提出一种飞行器,包括上文中提到的任意一种飞行器避障装置。
这样的飞行器能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
具体实施方式
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
本申请的飞行器避障方法的一个实施例的流程图如图1所示。
在步骤101中,利用位于飞行器单一方向的相机获取图像。在一个实施例中,只在飞行器预定前进方向面(如飞行器头部或正面)布置相机,相机捕获飞行器正面视角的图像。飞行器的其他面无需部署相机。在一个实施例中,由于飞行器的正面方向朝向其运动路径的方向,因此相机获取的图像为飞行器运动方向的图像。
在步骤102中,根据图像确定障碍物位置。在一个实施例中,可以通过确定图像中每个像素点的深度的方式确定障碍物;在另一个实施例中,还可以采用图像处理方法提取出图像中不同于背景图像的点,确定障碍物。
在步骤103中,根据障碍物位置规划避障路线,其中,避障路线的行进方向在飞行器前进方向的相机的视角范围内,飞行器在按照避障路线运动时无需刹停、侧移或后退,仅需要一定的转弯,其运动路径依然具有沿预定路径方向的分量。在一个实施例中,由于飞行器在飞行过程中受到各种障碍物的影响,其当前的位置不一定位于源位置与目的位置之间预定的路线上,因此飞行器的飞行受到多个因素的影响,包括目标航路点的位置,当前位置及其航向,以及障碍物。在一个实施例中,可以基于上述因素构建虚拟的势场,进而确定飞行器的运动路线,从而能够根据飞行器运动的特点构建虚拟的势场,采用场强理论对飞行器的运动进行路径规划,从而达到飞行器平滑避障的效果。
通过这样的方法,能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
飞行器避障方法中确定障碍物位置的一个实施例的流程图如图2 所示。
在步骤201中,确定图像中的障碍物,该图像可以为双目视觉图像。在一个实施例中,可以先对图像进行网格划分处理,将单个图像划分为多个网格,如划分为7*7的网格,进而对每个网格进行障碍物识别,并用窗口框取,障碍物位于窗口内且窗口的边与障碍物相切,确定窗口在图像坐标系中的位置和尺寸。在一个实施例中,还可以对框取的多个窗口进行筛选,如删除不会对飞行器的运动造成障碍的窗口等,得到目标窗口,进而确定目标窗口在图像坐标系中的位置和尺寸。
在步骤202中,通过双目坐标系标定确定障碍物的深度信息。在一个实施例中,如图3所示,左边的框图为左视图,右边的框图为右视图;OL和OR分别为左相机和右相机的光轴,P为目标点(如障碍物上的一个或多个点),P(x,y,z)点在左、右视图上的投影分别为Pleft和Pright,B为相机的基线,由图3可得几何关系:
其中,f为焦距。视差D为Pleft和Pright两点之间的距离,即 D=Xleft-Xright,则点P在平视模型系统下的三维坐标如下:
在步骤203中,基于障碍物在图像中的尺寸和深度信息确定障碍物的尺寸。在一个实施例中,利用窗口的尺寸,基于相机的尺寸参数和小孔成像原理能够计算出障碍物的尺寸。
现有技术中,往往致力于得到稠密的匹配结果以获得整幅图像的深度图,在此深度图的基础上再进行图像分割,得到障碍物区域,这样的运算量大,不利于飞行器快速反应。通过本发明实施例中的方法,能够先基于单目图像的处理结果确定障碍物,进而只进行障碍物的深度提取,从而降低了运算量,提高了飞行器的反应速度。
在一个实施例中,可以采用YOLO(You Only Look Once,只看一眼)算法确定图像中的障碍物,并确定其坐标和尺寸,在YOLO算法中,其图像分类模型可以通过GoogleNet实现,便于推广应用。
本申请的飞行器避障方法中进行避障路线规划的一个实施例的流程图如图4所示。
在步骤401中,基于目标航路点生成目标航路点吸引势场。由于飞行器的最终目标是目标航路点,因此该目标航路点对飞行器具有吸引作用,可以构建吸引势场。
在步骤402中,基于当前位置的预定直线路径生成直线路径吸引势场。由于飞行器在当前位置、当前方向上具有速度,出于运动惯性的影响,可以构建吸引势场。
在步骤403中,基于障碍物的位置和尺寸生成障碍物排斥势场。由于飞行器避障的目的是避开障碍物,因此以障碍物为中心构建排斥势场,场强可以与障碍物的尺寸有关。
上述步骤401~403可更改执行顺序,或并行执行。
在步骤404中,根据目标航路点吸引势场、直线路径吸引势场和障碍物排斥势场规划避障路线。
通过这样的方法,能够根据飞行器运动的特点和可能造成影响的因素构建较为完备的虚拟的势场,采用场强理论对飞行器的运动进行路径规划,从而达到飞行器平滑避障的效果,保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
本申请的飞行器避障方法中进行避障路线规划的一个实施例的原理示意图如图5A所示。其中p是飞行器当前位置,pwp是目标航路点,pwp,l是上一个目标航路点,在无障碍物的情况下飞行器在下一时刻的期望位置pd。pwp,perp为p点到pwp与pwp,l连线的垂足。
从而
p-pwp,perp=A(p-pwp)
其中,
定义
为沿
方向分布的向量场。考虑到饱和处理,李雅普诺夫函数可以设计为:
其中k0,k1,k2∈{0}∪R+,a0∈R+,p’=v,v’=u,a0为初始位置常数。对V1求一阶导数得
如果虚拟控制量
则V’1=-vTsatgd(v,a1),
当且仅当v=03*1时V’1=0,而v=03*1意味着
根据不变集原理可知系统将全局收敛到(P,V),其中P是上式的解,V=03×1。调节参数k0,k1,k2可以调节多旋翼靠近到直线航路和靠近到目标航路点的快慢,当k1越大时靠近直线路径的速度越快。将虚拟控制量写成:
其中
当1/k′1=k0=k1=1时,Pd如图3中所示。
如图5B所示,当场景中存在障碍物P0,i时(i为整数,0<i≤图像中障碍物的数量),期望的目标位置Pd可表示为
Pd=p+k1pd,waypoont,path+k3pd,obstacle
其中,
pd,waypoint,path=satgd(k1(pwp-p)+k2(pwp,perp-p),a0)
若没有障碍物时飞行器会沿着p→pd,waypoint,path→pd’运动,在针对p0,i避障后,飞行器会沿着p→pd运动,可以看出,避障处理后飞行器与障碍物之间的距离更远。
在一个实施例中,当规划完避障路径后,飞行器将按照避障路线规划确定的下一目标点的位置沿直线行进,从而实现快速避障。
在一个实施例中,在确定避障路径后,飞行器可以逐渐转向或立即原地转向,使得预定前进方向面,即相机采集图像面正对下一目标点,从而保证飞行器的视角正对其运动路径的正前方,确保能够获取运动方向上较大范围的图像,提高避障的可靠性。
本申请的飞行器避障装置的一个实施例的示意图如图6所示。相机61位于飞行器单一方向,能够获取前进方向的图像。相机捕获飞行器正面视角的图像,飞行器的其他面无需部署相机。在一个实施例中,由于飞行器的正面方向朝向其运动路径的方向,因此相机获取的图像为飞行器运动方向的图像。图像处理器62能够根据图像确定障碍物位置。在一个实施例中,可以通过确定图像中每个像素点的深度的方式确定障碍物;在另一个实施例中,还可以采用图像处理方法提取出图像中不同于背景图像的点,确定障碍物。路线规划控制器63能够根据障碍物位置规划避障路线,其中,避障路线的行进方向在飞行器相机的视角范围内,飞行器在按照避障路线运动时无需刹停、侧移或后退,仅需要一定的转弯,其运动路径依然具有沿预定路径方向的分量。在一个实施例中,由于飞行器在飞行过程中受到各种障碍物的影响,其当前的位置不一定位于源位置与目的位置之间预定的路线上,因此飞行器的飞行受到多个因素的影响,包括目标航路点的位置,当前位置及其航向,以及障碍物。在一个实施例中,可以基于上述因素构建虚拟的势场,进而确定飞行器的运动路线,从而能够根据飞行器运动的特点构建虚拟的势场,采用场强理论对飞行器的运动进行路径规划,从而达到飞行器平滑避障的效果。
这样的飞行器避障装置能够根据飞行器单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
在一个实施例中,相机可以是双目相机,其获取的为双目视觉图像。图像处理器62包括障碍物确定单元、深度确定单元和尺寸确定单元。障碍物确定单元能够确定图像中的障碍物。在一个实施例中,可以先对图像进行网格划分处理,将单个图像划分为多个网格,如划分为7*7的网格,进而对每个网格进行障碍物识别,并用窗口框取,障碍物位于窗口内且窗口的边与障碍物相切,确定窗口在图像坐标系中的位置和尺寸。深度确定单元能够通过双目坐标系标定确定障碍物的深度信息。尺寸确定单元能够基于障碍物在图像中的尺寸和深度信息确定障碍物的尺寸。
这样的飞行器避障装置能够先基于单目图像的处理结果确定障碍物,进而只进行障碍物的深度提取,从而降低了运算量,提高了飞行器的反应速度
在一个实施例中,路线规划控制器可以包括势场确定单元和规划单元。势场确定单元能够基于目标航路点生成目标航路点吸引势场、基于当前位置的预定直线路径生成直线路径吸引势场,以及基于障碍物的位置和尺寸生成障碍物排斥势场。规划单元能够根据目标航路点吸引势场、直线路径吸引势场和障碍物排斥势场规划避障路线。在一个实施例中,可以采用如图5A、5B所示的方式确定避障路线。
这样的飞行器避障装置能够根据飞行器运动的特点构建虚拟的势场,采用场强理论对飞行器的运动进行路径规划,从而达到飞行器平滑避障的效果,保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
在一个实施例中,如图6所示,飞行器避障装置还可以包括驱动模块64,能够驱动飞行器从当前位置沿直线行进至下一目标点,从而实现快速避障。
在一个实施例中,在确定避障路径后,驱动模块64可以驱动飞行器逐渐转向或立即原地转向,使得预定前进方向面,即相机采集图像面正对下一目标点,从而保证飞行器的视角正对其运动路径的正前方,确保能够获取运动方向上较大范围的图像,提高避障的可靠性。
本申请飞行器避障装置的一个实施例的结构示意图如图7所示。飞行器避障装置包括存储器710和处理器720。其中:存储器710可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储上文中飞行器避障方法的对应实施例中的指令。处理器720耦接至存储器 710,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器120用于执行存储器中存储的指令,能够降低飞行器成本和保证飞行器货物配送效率。
在一个实施例中,还可以如图8所示,飞行器避障装置800包括存储器810和处理器820。处理器820通过BUS总线830耦合至存储器810。该飞行器避障装置800还可以通过存储接口840连接至外部存储装置850以便调用外部数据,还可以通过网络接口860连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实降低飞行器成本和保证飞行器货物配送效率。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现飞行器避障方法对应实施例中的方法的步骤。本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请的飞行器的一个实施例的示意图如图9所示。飞行器避障装置93可以为上文中任意一种飞行器避障装置。飞行器还可以包括飞行设备91,如多旋翼。动力设备92能够为飞行器提供能源。
这样的飞行器能够根据单一方向部署的相机获取的图像确定障碍物,规划行进方向在相机的视角范围内的避障路线,从而避免了后退、侧移等避障动作,只需处理单方向的视觉图像,且保证了飞行器向前的行进方向,少走弯路和减速,提高了飞行器货物配送效率。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/ 或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本申请。为了避免遮蔽本申请的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本申请的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其限制;尽管参照较佳实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本申请的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本申请技术方案的精神,其均应涵盖在本申请请求保护的技术方案范围当中。