专利名称:一种飞行器避障方法、装置
专利类型:发明专利
专利申请号:CN202110023220.6
专利申请(专利权)人:中国商用飞机有限责任公司北京民用飞机技术研究中心,中国商用飞机有限责任公司
权利人地址:北京市昌平区小汤山未来科技城中国商飞北研中心
专利发明(设计)人:刘培宇,罗金龙,王浩,曾锐,张炯
专利摘要:本发明公开一种飞行器避障方法,该方法获取飞行器前进方向上的点云数据;对点云数据进行格栅化处理得到格栅化点云数据;根据格栅化点云数据确定飞行器避障方式;根据飞行器避障方式对飞行器的飞行参数进行调整。可见,本申请在飞行器避障的过程中无需构建环境地图,只需要获取飞行器前进方向上的点云数据,便可以确定飞行器避障方式,并根据飞行器避障方式实现飞行器避障,也就是说,本申请所提供的方法不需要和现有技术一样需要耗费一定时长构建局部地图,缩短了飞行器进行避障的时间,从而实现飞行器可以快速、实时地进行避障,进而提高了飞行器避障的效率。
主权利要求:
1.一种飞行器避障方法,其特征在于,所述方法包括:获取飞行器前进方向上的点云数据;其中,所述点云数据反映飞行器前进方向上的障碍物相对于飞行器的空间位置信息;
对所述点云数据进行格栅化处理,得到格栅化点云数据;
根据所述格栅化点云数据,确定飞行器避障方式;
根据所述飞行器避障方式,对飞行器的飞行参数进行调整;
其中,所述根据所述格栅化点云数据,确定飞行器避障方式,包括:根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况;
根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:若有多个格栅化点云数据为零的格栅,则根据格栅化点云数据为零的各个格栅对应的方向的权重,确定各个格栅对应的避障推荐分数,将避障推荐分数最高的格栅对应的方向确定为所述飞行器的避障飞行方向,以便控制飞行器向该格栅对应的方向飞行以实现避障。
2.根据权利要求1所述的方法,其特征在于,所述获取飞行器前进方向上的点云数据,包括:采集所述飞行器前进方向上的障碍检测数据;
根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据。
3.根据权利要求2所述的方法,其特征在于,所述采集所述飞行器前进方向上的障碍检测数据,包括:利用激光雷达采集所述飞行器前进方向上的障碍检测数据;其中,所述激光雷达设置于所述飞行器上,且所述障碍检测数据包括反射激光的反射角度、反射激光的反射接收时间以及反射激光的激光反射强度;
相应地,所述根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据,包括:根据所述障碍检测数据,确定所述飞行器前进方向上的障碍物的坐标信息;
根据所述障碍物的坐标信息以及反射激光的激光反射强度,生成所述飞行器前进方向上的点云数据。
4.根据权利要求1所述的方法,其特征在于,所述点云数据包括若干个点云数据;所述对所述点云数据进行格栅化处理,得到格栅化点云数据,包括:根据各个点云数据中障碍物的坐标信息,对所述若干个点云数据进行格栅划分,得到若干个格栅;
分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据。
5.根据权利要求4所述的方法,其特征在于,所述分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据,包括:若格栅中包括多个点云数据,根据各个点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;
若格栅中包括一个点云数据,根据所述点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;
若格栅中无点云数据,确定所述格栅的格栅化点云数据为零。
6.根据权利要求1所述的方法,其特征在于,所述根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:若所述飞行器前进方向上的障碍物的分布情况为存在至少一个格栅化点云数据为零的格栅,根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向;
相应地,所述根据所述飞行器避障方式,对飞行器的飞行参数进行调整,包括:根据所述飞行器的避障飞行方向,确定所述避障飞行方向对应的飞行参数;
根据所述避障飞行方向对应的飞行参数对所述飞行器的飞行参数进行调整。
7.根据权利要求1所述的方法,其特征在于,所述根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:若所述飞行器前进方向上的障碍物的分布情况为不存在格栅化点云数据为零的格栅,确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式;
其中,所述无法躲避障碍物处理方式包括以下至少一种实现方式:悬停、上升、降落、减速、盘旋。
8.根据权利要求1‑7中任一所述的方法,其特征在于,在所述对所述点云数据进行格栅化处理,得到格栅化点云数据,之前,所述方法还包括:获取所述飞行器的飞行姿态数据,根据所述飞行姿态数据对所述点云数据进行调整,得到调整后的点云数据;
相应地,所述对所述点云数据进行格栅化处理,得到格栅化点云数据,包括:对所述调整后的点云数据进行格栅化处理,得到格栅化点云数据。
9.一种飞行器避障装置,其特征在于,所述装置包括:获取单元,用于获取飞行器前进方向上的点云数据;其中,所述点云数据反映飞行器前进方向上的障碍物相对于飞行器的空间位置信息;
处理单元,用于对所述点云数据进行格栅化处理,得到格栅化点云数据;
确定单元,用于根据所述格栅化点云数据,确定飞行器避障方式;
调整单元,用于根据所述飞行器避障方式,对飞行器的飞行参数进行调整;
所述确定单元,具体用于:
根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况;
根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:若有多个格栅化点云数据为零的格栅,则根据格栅化点云数据为零的各个格栅对应的方向的权重,确定各个格栅对应的避障推荐分数,将避障推荐分数最高的格栅对应的方向确定为所述飞行器的避障飞行方向,以便控制飞行器向该格栅对应的方向飞行以实现避障。 说明书 : 一种飞行器避障方法、装置技术领域[0001] 本发明涉及飞行器技术领域,尤其涉及一种飞行器避障方法、装置。背景技术[0002] 飞行器处于高速发展的阶段,尤其是无人机。随着无人机技术的进步,新的技术不断引入,无人机中的传感器的数量得到了极大的提升,飞行任务也不断增多。[0003] 随着无人机应用领域不断增加,任务复杂度和安全可靠性要求也进一步提升。目前无人机在飞行控制方面已经非常成熟,相比以往拓展了更多新的应用场景比如:电力巡检、紧急救援、城市物流甚至载人航空等等。面对不断增加的复杂场景,无人机在保证完成任务的前提下,安全可靠性需求也大幅提升。目前无人机只能通过传感器对环境进行感知判断。如何提升传感器的数据准确和有效性成为提升飞行安全的重要条件。[0004] 现有的飞行器避障方法通常采用通过构建局部地图,以根据局部地图实现飞行器避障的轨迹规划。而由于构建局部地图需要耗费一定的时长,从而导致飞行器避障的过程中无法快速、实时地进行避障。[0005] 故此,目前亟需一种能够实现快速、实时地进行避障且可以提高飞行器避障效率的飞行器避障方案。发明内容[0006] 本发明提供一种飞行器避障方法及装置,以实现飞行器可以快速、实时地进行避障,进而提高了飞行器避障的效率。[0007] 第一方面,本发明提供了一种飞行器避障方法,所述方法包括:[0008] 获取飞行器前进方向上的点云数据;[0009] 对所述点云数据进行格栅化处理,得到格栅化点云数据;[0010] 根据所述格栅化点云数据,确定飞行器避障方式;[0011] 根据所述飞行器避障方式,对飞行器的飞行参数进行调整。[0012] 可选的,所述获取飞行器前进方向上的点云数据,包括:[0013] 采集所述飞行器前进方向上的障碍检测数据;[0014] 根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据。[0015] 可选的,所述采集所述飞行器前进方向上的障碍检测数据,包括:[0016] 利用激光雷达采集所述飞行器前进方向上的障碍检测数据;其中,所述激光雷达设置于所述飞行器上,且所述障碍检测数据包括反射激光的反射角度、反射激光的反射接收时间以及反射激光的激光反射强度;[0017] 相应地,所述根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据,包括:[0018] 根据所述障碍检测数据,确定所述飞行器前进方向上的障碍物的坐标信息;[0019] 根据所述障碍物的坐标信息以及反射激光的激光反射强度,生成所述飞行器前进方向上的点云数据。[0020] 可选的,所述点云数据包括若干个点云数据;所述对所述点云数据进行格栅化处理,得到格栅化点云数据,包括:[0021] 根据各个点云数据中障碍物的坐标信息,对所述若干个点云数据进行格栅划分,得到若干个格栅;[0022] 分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据。[0023] 可选的,所述分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据,包括:[0024] 若格栅中包括多个点云数据,根据各个点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0025] 若格栅中包括一个点云数据,根据所述点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0026] 若格栅中无点云数据,确定所述格栅的格栅化点云数据为零。[0027] 可选的,所述根据所述格栅化点云数据,确定飞行器避障方式,包括:[0028] 根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况;[0029] 根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式。[0030] 可选的,所述根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:[0031] 若所述飞行器前进方向上的障碍物的分布情况为存在至少一个格栅化点云数据为零的格栅,根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向;[0032] 相应地,所述根据所述飞行器避障方式,对飞行器的飞行参数进行调整,包括:[0033] 根据所述飞行器的避障飞行方向,确定所述避障飞行方向对应的飞行参数;[0034] 根据所述避障飞行方向对应的飞行参数对所述飞行器的飞行参数进行调整。[0035] 可选的,所述根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式,包括:[0036] 若所述飞行器前进方向上的障碍物的分布情况为不存在格栅化点云数据为零的格栅,确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式;[0037] 其中,所述无法躲避障碍物处理方式包括以下至少一种实现方式:悬停、上升、降落、减速、盘旋。[0038] 可选的,在所述对所述点云数据进行格栅化处理,得到格栅化点云数据,之前,所述方法还包括:[0039] 获取所述飞行器的飞行姿态数据,根据所述飞行姿态数据对所述点云数据进行调整,得到调整后的点云数据;[0040] 相应地,所述对所述点云数据进行格栅化处理,得到格栅化点云数据,包括:[0041] 对所述调整后的点云数据进行格栅化处理,得到格栅化点云数据。[0042] 第二方面,本发明提供了一种飞行器避障装置,所述装置包括:[0043] 获取单元,用于获取飞行器前进方向上的点云数据;[0044] 处理单元,用于对所述点云数据进行格栅化处理,得到格栅化点云数据;[0045] 确定单元,用于根据所述格栅化点云数据,确定飞行器避障方式;[0046] 调整单元,用于根据所述飞行器避障方式,对飞行器的飞行参数进行调整。[0047] 可选的,所述获取单元,具体用于:[0048] 采集所述飞行器前进方向上的障碍检测数据;[0049] 根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据。[0050] 可选的,所述获取单元,具体用于:[0051] 利用激光雷达采集所述飞行器前进方向上的障碍检测数据;其中,所述激光雷达设置于所述飞行器上,且所述障碍检测数据包括反射激光的反射角度、反射激光的反射接收时间以及反射激光的激光反射强度;[0052] 相应地,可选的,所述获取单元,还具体用于:[0053] 根据所述障碍检测数据,确定所述飞行器前进方向上的障碍物的坐标信息;[0054] 根据所述障碍物的坐标信息以及反射激光的激光反射强度,生成所述飞行器前进方向上的点云数据。[0055] 可选的,所述点云数据包括若干个点云数据;所述处理单元,具体用于:[0056] 根据各个点云数据中障碍物的坐标信息,对所述若干个点云数据进行格栅划分,得到若干个格栅;[0057] 分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据。[0058] 可选的,所述处理单元,具体用于:[0059] 若格栅中包括多个点云数据,根据各个点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0060] 若格栅中包括一个点云数据,根据所述点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0061] 若格栅中无点云数据,确定所述格栅的格栅化点云数据为零。[0062] 可选的,所述确定单元,具体用于:[0063] 根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况;[0064] 根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式。[0065] 可选的,所述确定单元,具体用于:[0066] 若所述飞行器前进方向上的障碍物的分布情况为存在至少一个格栅化点云数据为零的格栅,根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向;[0067] 相应地,所述根据所述飞行器避障方式,对飞行器的飞行参数进行调整,包括:[0068] 根据所述飞行器的避障飞行方向,确定所述避障飞行方向对应的飞行参数;[0069] 根据所述避障飞行方向对应的飞行参数对所述飞行器的飞行参数进行调整。[0070] 可选的,所述确定单元,具体用于:[0071] 若所述飞行器前进方向上的障碍物的分布情况为不存在格栅化点云数据为零的格栅,确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式;[0072] 其中,所述无法躲避障碍物处理方式包括以下至少一种实现方式:悬停、上升、降落、减速、盘旋。[0073] 可选的,所述获取单元还用于:[0074] 获取所述飞行器的飞行姿态数据,根据所述飞行姿态数据对所述点云数据进行调整,得到调整后的点云数据;[0075] 相应地,所述处理单元,具体用于:[0076] 对所述调整后的点云数据进行格栅化处理,得到格栅化点云数据。[0077] 第三方面,本发明提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。[0078] 第四方面,本发明提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。[0079] 由上述技术方案可以看出,本申请可以先获取飞行器前进方向上的点云数据;然后,可以对所述点云数据进行格栅化处理,得到格栅化点云数据;接着,可以根据所述格栅化点云数据,确定飞行器避障方式;最后,可以根据所述飞行器避障方式,对飞行器的飞行参数进行调整。可见,本申请可以通过获取飞行器前进方向上的点云数据,以实现对飞行器周围环境进行感知,并且,可以利用根据点云数据所确定的格栅化点云数据,确定相应的飞行器避障方式,从而可以使得飞行器实现避障;这样,本申请在飞行器避障的过程中无需构建环境地图,只需要获取飞行器前进方向上的点云数据,便可以确定飞行器避障方式,并根据所述飞行器避障方式实现飞行器避障,也就是说,本申请所提供的方法不需要和现有技术一样需要耗费一定时长构建局部地图,缩短了飞行器进行避障的时间,从而实现飞行器可以快速、实时地进行避障,进而提高了飞行器避障的效率。[0080] 上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明[0081] 为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0082] 图1为本发明一实施例提供的一种飞行器避障方法的流程示意图;[0083] 图2a为本发明一实施例提供的一种激光雷达与飞行器之间的安装方式的示意图;[0084] 图2b为本发明一实施例提供的一种激光雷达与飞行器之间的安装方式的示意图;[0085] 图2c为本发明一实施例提供的一种激光雷达与飞行器之间的安装方式的示意图;[0086] 图2d为本发明一实施例提供的一种激光雷达与飞行器之间的安装方式的示意图;[0087] 图3为本发明一实施例提供的一种飞行器避障装置的结构示意图;[0088] 图4为本发明一实施例提供的一种电子设备的结构示意图。具体实施方式[0089] 为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0090] 由于现有技术中,现有的飞行器避障方法通常采用通过构建局部地图,以根据局部地图实现飞行器避障的轨迹规划。而由于构建局部地图需要耗费一定的时长,从而导致飞行器避障的过程中无法快速、实时地进行避障。故此,目前亟需一种能够实现快速、实时地进行避障且可以提高飞行器避障效率的飞行器避障方案。[0091] 为了解决上述问题,本发明提供了一种飞行器避障方法,所述方法可以先获取飞行器前进方向上的点云数据;然后,可以对所述点云数据进行格栅化处理,得到格栅化点云数据;接着,可以根据所述格栅化点云数据,确定飞行器避障方式;最后,可以根据所述飞行器避障方式,对飞行器的飞行参数进行调整。可见,本申请可以通过获取飞行器前进方向上的点云数据,以实现对飞行器周围环境进行感知,并且,可以利用根据点云数据所确定的格栅化点云数据,确定相应的飞行器避障方式,从而可以使得飞行器实现避障;这样,本申请在飞行器避障的过程中无需构建环境地图,只需要获取飞行器前进方向上的点云数据,便可以确定飞行器避障方式,并根据所述飞行器避障方式实现飞行器避障,也就是说,本申请所提供的方法不需要和现有技术一样需要耗费一定时长构建局部地图,缩短了飞行器进行避障的时间,从而实现飞行器可以快速、实时地进行避障,进而提高了飞行器避障的效率。[0092] 需要说明的是,本实施例所提供的飞行器避障方法可以部分动作由飞行器执行,部分由处理设备执行,处理设备可以为服务器、终端设备(比如智能手机、平板电脑、台式电脑、笔记本电脑等终端设备)等,但是,也可以全部是由飞行器执行的,还可以全部是终端设备执行的。需要说明的是,本申请在执行主体方面不受限制,只要执行了本申请实施方式所公开的动作即可。需要注意的是,上述所介绍的执行主体仅是为了便于理解本申请而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景以及执行主体。[0093] 下面结合附图,详细说明本发明的各种非限制性实施方式。[0094] 参见图1,示出了本发明实施例中的一种飞行器避障方法,在本实施例中,所述方法例如可以包括以下步骤:[0095] S101:获取飞行器前进方向上的点云数据。[0096] 在本实施例中,飞行器前进方向可以理解为飞行器在飞行过程中所前进的方向,可以理解为飞行器在其飞行路径上飞行的正前方,比如说,飞行器的飞行轨迹为垂直向上飞时,飞行器前进方向为上方,飞行器的飞行轨迹为朝北飞行时,飞行器前进方向为北方。需要说明的是,在本实施例中,飞行器可以为小型低空飞行器,比如可以为无人机。[0097] 点云数据可以理解为能够反映飞行器前进方向上的障碍物相对于飞行器的空间位置信息,例如,点云数据可以包括障碍物的坐标信息(可以理解为障碍物在以飞行器为原点所建立的坐标系下的坐标)以及障碍物对应的反射激光的激光反射强度。[0098] 作为一种示例,可以先采集所述飞行器前进方向上的障碍检测数据,即采集所述飞行器前进方向区域中的障碍物的障碍检测数据。其中,障碍检测数据可以理解利用障碍检测设备所检测到的障碍物的原始检测数据。在一种实现方式中,可以利用激光雷达采集所述飞行器前进方向上的障碍检测数据,可以理解的是,在该实现方式中,原始检测数据可以为当激光束照射在物体(即障碍物)表面时所返回的该物体表面的各个点的数据信息,比如所述障碍检测数据可以包括反射激光的反射角度、反射激光的反射接收时间以及反射激光的激光反射强度。其中,本实施例所提及的激光雷达可以采用多线激光雷达(使用多线激光雷达对远距离中高速飞行场景进行环境感知,通过多线激光雷达可以生成前方障碍物的三维坐标数据,使用三维激光雷达的优势在于距离远、精度高,通过使用多线激光雷达可以降低在复杂场景无法得到最优解的问题),激光雷达可以为机械旋转式激光雷达、非旋转固态激光雷达。具体地,为了保证激光雷达的激光线束可以扫描到飞行器前进方向上区域,所述激光雷达可以设置于所述飞行器上;比如,当飞行器为固定翼飞机时,如图2a所示,激光雷达可以固定到飞行器前方,当飞行器为四旋翼飞机时,如图2b所示,激光雷达可以固定在飞行器前方,当飞行器为四旋翼飞机时,如图2c所示,激光雷达可以固定在飞行器上方,当飞行器为四旋翼飞机时,如图2d所示,激光雷达可以固定在飞行器下方。需要说明的是,激光雷达与飞行器之间的安装方式除了上述提及的方式还可以为其他的安装方式,在本实施例中不对激光雷达与飞行器之间的安装方式进行限定,只要激光雷达与飞行器之间的安装方式可以保证激光线束可以扫描到飞行器前进方向上区域即可。[0099] 在采集到所述飞行器前进方向上的障碍检测数据之后,可以根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据。在一种实现方式中,可以根据所述障碍检测数据,确定所述飞行器前进方向上的障碍物的坐标信息,例如,可以根据障碍检测数据中的反射激光的反射角度和反射激光的反射接收时间,计算出反射点(即障碍物)相对激光雷达(相当于飞行器)的空间位置,即计算出飞行器前进方向上的障碍物的坐标信息;接着,可以根据所述障碍物的坐标信息以及障碍检测数据中的反射激光的激光反射强度,生成所述飞行器前进方向上的点云数据,可以理解的是,点云数据可以包括障碍物的坐标信息以及反射激光的激光反射强度;需要说明的是,在一种实现方式中,障碍物的坐标信息可以为三维坐标(即x轴、y轴、z轴上的坐标),即点云数据可以理解为三维坐标系下各个三维坐标点的集合。也就是说,可以通过飞行管理输入航路点或目标飞行方向等信息确定了飞行器前进路径的方向,运行多线激光雷达传感器探测前方形成飞行路径前方的原始点云数据(即障碍检测数据),根据点云原始数据进行解析生成带有三维坐标的点云数据。[0100] S102:对所述点云数据进行格栅化处理,得到格栅化点云数据。[0101] 在本实施例中,飞行器前进方向上(即飞行器的前方区域中)存在N个障碍物,则可以至少获取到N个点云数据,其中,N为整数。也就是说,在本实施例中,点云数据可以包括若干个点云数据。在本实施例中,获取到点云数据之后,可以对所述点云数据进行格栅化处理,得到格栅化点云数据。[0102] 作为一种示例,可以先根据各个点云数据中障碍物的坐标信息,对所述若干个点云数据进行格栅划分,得到若干个格栅。具体地,在本实施例中,可以先预先将飞行器前进方向上的划分为若干个格栅(即空间区域),且各个格栅对应一个方向,举例来说,假设将飞行器前进方向上划分为四个格栅,第一个格栅可以对应飞行器的左上方向,第二个格栅可以对应飞行器的右上方向。第三个格栅可以对应飞行器的左下方向,第四个格栅可以对应飞行器的右下方向;接着,可以将点云数据根据其所在的空间的位置进行划分到各个格栅中,举例来说,假设预先划分有四个格栅,假设激光雷达探测到6个点云数据,其中三个点云数据的坐标位于第一格栅中,可以将这三个点云数据划分到第一格栅中,其中2个点云数据的坐标位于第二格栅中,可以将这2个点云数据划分到第二格栅中,其中1个点云数据的坐标位于第三格栅中,可以将这1个点云数据划分到第三格栅中,其中0个点云数据的坐标位于第四格栅中,则不需要将任何点云数据划分到第四格栅中。[0103] 接着,可以分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据。需要说明的是,格栅化点云数据可以表示格栅中点云数据对应的障碍物与飞行器之间的距离,在一种实现方式中,可以将格栅中各个障碍物与飞行器之间的平均距离作为该格栅对应格栅化点云数据,需要说明的是,除了采用各个障碍物与飞行器之间的平均距离的方式以外,还可以将与飞行器距离最近的障碍物所对应的点云数据确定为格栅对应的格栅化点云数据,还可以将各个障碍物与飞行器之间的距离中的中位数、众数作为格栅对应的格栅化点云数据等等方式,在本实施例中对于确定各个格栅各自分别对应的格栅化点云数据的方式不进行具体限定;即可以计算一个格栅中所有的点云数据,生成一个可以代表当前格栅的数值,这样,在后续计算中可以将格栅中所有的点转化为一个更大的点,用于简化计算的复杂度,从而减少了对计算资源的消耗。[0104] 具体地,根据格栅中的点云数据中障碍物的坐标信息,确定格栅对应的格栅化点云数据方式可以有以下方式:[0105] 若格栅中包括多个点云数据,可以根据各个点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据。举例来说,可以先确定格栅中的点云数据,接着可以针对每一个点云数据,确定该点云数据中障碍物的坐标信息,以及根据该障碍物的坐标信息确定该障碍物与飞行器之间的距离,紧接着,可以将多个点云数据中各个障碍物各自分别与飞行器之间的距离的平均值作为该格栅对应的格栅化点云数据。若格栅中包括一个点云数据,根据所述点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据。举例来说,可以先确定格栅中的点云数据,接着可以确定该点云数据中障碍物的坐标信息,以及根据该障碍物的坐标信息确定该障碍物与飞行器之间的距离,紧接着,可以将该点云数据中障碍物与飞行器之间的距离作为该格栅对应的格栅化点云数据。若格栅中无点云数据,确定所述格栅的格栅化点云数据为零。[0106] S103:根据所述格栅化点云数据,确定飞行器避障方式。[0107] 在确定了格栅化点云数据之后,可以根据格栅化点云数据对飞行器的避障方式进行选择,即可以根据所述格栅化点云数据,确定飞行器避障方式。具体地,可以先根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况,即确定各个格栅中的障碍物的分布情况,比如,哪些格栅中存在障碍物且障碍物与飞行器的距离为多远,哪些格栅中不存在障碍物;接着,可以根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式。接下来,将具体介绍根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式:[0108] 若所述飞行器前进方向上的障碍物的分布情况为存在至少一个格栅化点云数据为零的格栅,说明存在可以选择的飞行方向,则可以根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向。其中,飞行器的飞行信息可以理解为飞行器的飞行计划,比如飞行器的飞行信息可以包括飞行器的飞行航路点、飞行路径方向等信息。在一种实现方式中,若只有一个格栅化点云数据为零的格栅,则可以将该格栅对应的方向确定为所述飞行器的避障飞行方向,以便控制飞行器向该格栅对应的方向飞行以实现避障,举例来说,假设激光雷达探测到6个点,分成了4个格栅,格栅1有3点,格栅2有2点,格栅3有1点,格栅4有0点,说明格栅1、格栅2和格栅3对应的方向都有障碍物,而只有格栅4对应的方向没有障碍物,若格栅4对应的方向为机头右下方,则可以将格栅4对应的方向确定为所述飞行器的避障飞行方向。在一种实现方式中,若有多个格栅化点云数据为零的格栅,则可以根据各个格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向,例如可以根据各个格栅对应的方向的权重,确定各个格栅对应的避障推荐分数,并且可以将避障推荐分数最高的格栅对应的方向确定为所述飞行器的避障飞行方向,以便控制飞行器向该格栅对应的方向飞行以实现避障;需要说明的是,若格栅对应的方向与飞行器对应的飞行航路点、飞行路径方向越接近,说明该格栅中的障碍物与飞行器的飞行信息越契合,则该格栅对应的方向的权重越高,相应地,格栅对应的避障推荐分数越高;假设激光雷达探测到6个点,分成了4个格栅,格栅1有3点,格栅2有3点,格栅3有0点,格栅4有0点,若飞行方向如果是机头右下方且格栅4对应的方向为机头右下方,则可以将格栅4对应的方向确定为所述飞行器的避障飞行方向。[0109] 若所述飞行器前进方向上的障碍物的分布情况为不存在格栅化点云数据为零的格栅,说明无法进行障碍物躲避,即不存在可选择的飞行方向,则可以确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式。其中,所述无法躲避障碍物处理方式包括以下至少一种实现方式:悬停、上升、降落、减速、盘旋。具体地,无法躲避障碍物处理方式的处理逻辑可以为:可以先控制飞行器进行降速,接着,控制飞行器的飞行模式,具体地,若飞行器为多旋翼飞机/垂起固定翼,则可以控制飞行器悬停、上升、降落等,若飞行器为固定翼,则可以控制飞行器减速、盘旋等;这样,可以通过控制飞机改变位置,尽量找到可选飞行方向以引导飞行器摆脱困境,即摆脱障碍物,如果实在无法找到可选飞行方向,遵循尽量降低人员和飞机的伤害进行飞机操作。[0110] S104:根据所述飞行器避障方式,对飞行器的飞行参数进行调整。[0111] 在本实施例中,在确定飞行器避障方式之后,可以先根据所述飞行器避障方式,确定所述飞行器避障方式对应的飞行参数,其中,所述飞行器避障方式对应的飞行参数可以理解为用于控制飞行器实现飞行器避障方式的参数;接着,可以根据所述飞行器避障方式对应的飞行参数对飞行器的飞行参数进行调整,以使得飞行器可以根据所述飞行器避障方式对应的飞行参数进行飞行,从而实现避障。[0112] 在一种实现方式中,当确定飞行器避障方式为根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向时,可以先根据所述飞行器的避障飞行方向,确定所述避障飞行方向对应的飞行参数。其中,避障飞行方向对应的飞行参数可以理解为用于控制飞行器向所述避障飞行方向飞行的参数,比如飞行参数可以包括飞行器的飞行角度(比如滚转角和俯仰角)和飞行速度(比如在各个位置或角度时的速度或者角速度)。具体地,可以根据避障飞行方向和激光雷达视场计算出避障飞行方向对应的飞行参数,举例来说,假设预先分成4个格栅情况下,确定格栅4对应的方向进行飞行器躲避且格栅4对应的方向为机头的右下角,如果激光雷达视场角是水平60*垂直40度,则右下方对应的飞行角度为右30、下20度,接着,再根据需要转换的角度转化成速度矢量,得到飞行速度,这样便确定了避障飞行方向对应的飞行参数。需要说明的是,当飞行器为多旋翼飞机时,飞行参数可以包括飞行器分别在三维坐标中各个坐标轴的速度,当飞行器固定翼时,飞行参数可以包括在固定翼飞行时的滚转角和俯仰角数据。[0113] 接着,可以根据所述避障飞行方向对应的飞行参数对所述飞行器的飞行参数进行调整,以便飞行器可以根据该飞行参数进行飞行。比如可以通过发送飞行参数给飞行控制系统即可控制飞机对障碍物进行躲避。[0114] 在一种实现方式中,当确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式时,可以先根据所述无法躲避障碍物处理方式,确定所述无法躲避障碍物处理方式对应的飞行参数,其中,所述无法躲避障碍物处理方式对应的飞行参数可以理解为用于控制飞行器实现所述无法躲避障碍物处理方式的参数;比如飞行参数可以包括飞行器的飞行角度(比如滚转角和俯仰角)、飞行速度(比如在各个位置或角度时的速度或者角速度)以及无法躲避障碍物处理方式对应的具体控制模式下的参数。接着,可以根据所述无法躲避障碍物处理方式对应的飞行参数对所述飞行器的飞行参数进行调整,以便飞行器可以根据该飞行参数进行飞行。比如可以通过发送飞行参数给飞行控制系统即可控制飞机对障碍物进行躲避。[0115] 由上述技术方案可以看出,本申请可以先获取飞行器前进方向上的点云数据;然后,可以对所述点云数据进行格栅化处理,得到格栅化点云数据;接着,可以根据所述格栅化点云数据,确定飞行器避障方式;最后,可以根据所述飞行器避障方式,对飞行器的飞行参数进行调整。可见,本申请可以通过获取飞行器前进方向上的点云数据,以实现对飞行器周围环境进行感知,并且,可以利用根据点云数据所确定的格栅化点云数据,确定相应的飞行器避障方式,从而可以使得飞行器实现避障;这样,本申请在飞行器避障的过程中无需构建环境地图,只需要获取飞行器前进方向上的点云数据,便可以确定飞行器避障方式,并根据所述飞行器避障方式实现飞行器避障,也就是说,本申请所提供的方法不需要和现有技术一样需要耗费一定时长构建局部地图,缩短了飞行器进行避障的时间,从而实现飞行器可以快速、实时地进行避障,进而提高了飞行器避障的效率。也就是说,本实施例提供的方法使用快速实时计算方式,无需构建环境地图,通过远距离感知方式降低反应式避障算法的无法计算出最优路径的弊端,此方法可以快速反应,降低计算资源,适用于中高速飞行,同时可以输出较优避障路径,对于多旋翼、固定翼飞机具有一定的适用性。[0116] 当激光雷达安装在飞行器上,飞行器在不改变空间位置而仅改变其自身姿态时,所得到的点云数据都是根据飞行器自身姿态改变得到的点云数据,并非飞行器当前空间位前方向的点云数据(即飞行器前进方向上的点云数据)。因此,此时采集到的点云数据包含了飞行器姿态的位置偏差。为了解决采集到的点云数据包含了飞行器姿态的位置偏差的问题,在本实施例的一种实现方式中,在所述对所述点云数据进行格栅化处理,得到格栅化点云数据,之前,所述方法还可以包括:[0117] 获取所述飞行器的飞行姿态数据,根据所述飞行姿态数据对所述点云数据进行调整,得到调整后的点云数据;[0118] 相应地,所述对所述点云数据进行格栅化处理,得到格栅化点云数据,包括:[0119] 对所述调整后的点云数据进行格栅化处理,得到格栅化点云数据。[0120] 在本实施例中,飞行器的飞行姿态数据可以理解为能够反映飞行器的姿态的数据,具体地,飞行姿态数据可以指飞行器的三轴在空中相对于某条参考线或某个参考平面,或某固定的坐标系统间的状态,比如,飞行器的飞行姿态数据可以包括:俯仰角、偏航角和滚转角。获取所述飞行器的飞行姿态数据之后,可以根据所述飞行姿态数据对所述点云数据进行调整,比如可以将点云数据进行与飞行姿态数据反向的滚转(比如可以将点云数据反向滚转飞行姿态数据中的俯仰角、偏航角和滚转角的角度),得到调整后的点云数据,例如,当飞行器进行左滚转时,点云数据会和飞行器一样滚转,此时,需要加一个反向的滚转角度才是真实的飞行器前方位置信息(即飞行器前进方向上的点云数据),当飞行器进行俯仰时,也是对点云数据进行反方向位置处理。[0121] 可见,本实施例可以通过输入飞机姿态数据对点云数据进行校准,生成不受飞机姿态影响的障碍物的真实相对坐标(即调整后的点云数据)。这样,通过飞机姿态数据动态调整点云数据的实际坐标位置(即点云数据),可以减少飞机误判。并且适用于飞行器在飞行中不停变换姿态时产生的传感器误差,具体地,主要体现在俯仰及滚转方向的数据误差,通过此方法(即根据所述飞行姿态数据对所述点云数据进行调整),改善了没有云台情况下探测得到的点云数据坐标值不准确的问题。[0122] 如图3所示,为本发明所述飞行器避障装置的一个具体实施例。本实施例所述装置,即用于执行上述实施例所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中所述装置包括:[0123] 获取单元301,用于获取飞行器前进方向上的点云数据;[0124] 处理单元302,用于对所述点云数据进行格栅化处理,得到格栅化点云数据;[0125] 确定单元303,用于根据所述格栅化点云数据,确定飞行器避障方式;[0126] 调整单元304,用于根据所述飞行器避障方式,对飞行器的飞行参数进行调整。[0127] 可选的,所述获取单元301,具体用于:[0128] 采集所述飞行器前进方向上的障碍检测数据;[0129] 根据所述障碍检测数据,生成所述飞行器前进方向上的点云数据。[0130] 可选的,所述获取单元301,具体用于:[0131] 利用激光雷达采集所述飞行器前进方向上的障碍检测数据;其中,所述激光雷达设置于所述飞行器上,且所述障碍检测数据包括反射激光的反射角度、反射激光的反射接收时间以及反射激光的激光反射强度;[0132] 相应地,可选的,所述获取单元301,还具体用于:[0133] 根据所述障碍检测数据,确定所述飞行器前进方向上的障碍物的坐标信息;[0134] 根据所述障碍物的坐标信息以及反射激光的激光反射强度,生成所述飞行器前进方向上的点云数据。[0135] 可选的,所述点云数据包括若干个点云数据;所述处理单元302,具体用于:[0136] 根据各个点云数据中障碍物的坐标信息,对所述若干个点云数据进行格栅划分,得到若干个格栅;[0137] 分别根据各个格栅中的点云数据中障碍物的坐标信息,确定各个格栅各自分别对应的格栅化点云数据。[0138] 可选的,所述处理单元302,具体用于:[0139] 若格栅中包括多个点云数据,根据各个点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0140] 若格栅中包括一个点云数据,根据所述点云数据中障碍物的坐标信息,确定所述格栅的格栅化点云数据;[0141] 若格栅中无点云数据,确定所述格栅的格栅化点云数据为零。[0142] 可选的,所述确定单元303,具体用于:[0143] 根据所述格栅化点云数据,确定所述飞行器前进方向上的障碍物的分布情况;[0144] 根据所述飞行器前进方向上的障碍物的分布情况,确定飞行器避障方式。[0145] 可选的,所述确定单元303,具体用于:[0146] 若所述飞行器前进方向上的障碍物的分布情况为存在至少一个格栅化点云数据为零的格栅,根据格栅化点云数据为零的格栅对应的方向以及所述飞行器的飞行信息,确定所述飞行器的避障飞行方向;[0147] 相应地,所述根据所述飞行器避障方式,对飞行器的飞行参数进行调整,包括:[0148] 根据所述飞行器的避障飞行方向,确定所述避障飞行方向对应的飞行参数;[0149] 根据所述避障飞行方向对应的飞行参数对所述飞行器的飞行参数进行调整。[0150] 可选的,所述确定单元303,具体用于:[0151] 若所述飞行器前进方向上的障碍物的分布情况为不存在格栅化点云数据为零的格栅,确定所述飞行器的飞行器避障方式为无法躲避障碍物处理方式;[0152] 其中,所述无法躲避障碍物处理方式包括以下至少一种实现方式:悬停、上升、降落、减速、盘旋。[0153] 可选的,所述获取单元301还用于:[0154] 获取所述飞行器的飞行姿态数据,根据所述飞行姿态数据对所述点云数据进行调整,得到调整后的点云数据;[0155] 相应地,所述处理单元302,具体用于:[0156] 对所述调整后的点云数据进行格栅化处理,得到格栅化点云数据。[0157] 图4是本发明实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random‑AccessMemory,RAM),也可能还包括非易失性存储器(non‑volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。[0158] 处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(ExtendedIndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。[0159] 存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。[0160] 在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成飞行器避障装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的飞行器避障方法。[0161] 上述如本发明图2所示实施例提供的飞行器避障装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。[0162] 结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。[0163] 本发明实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本发明任一实施例中提供的飞行器避障方法,并具体用于执行上述飞行器避障所述的方法。[0164] 前述各个实施例中所述的电子设备可以为计算机。[0165] 本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。[0166] 本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0167] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。[0168] 以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
专利地区:北京
专利申请日期:2021-01-08
专利公开日期:2024-07-26
专利公告号:CN112859893B