飞行轨迹的生成方法、控制装置及无人飞行器与流程

文档序号:11779668阅读:971来源:国知局
飞行轨迹的生成方法、控制装置及无人飞行器与流程

本发明实施例涉及无人飞行器领域,尤其涉及一种飞行轨迹的生成方法、控制装置及无人飞行器。



背景技术:

现有技术中无人飞行器可以工作在不同模式,该模式包括但不限于,指点飞行、智能跟随等。

在指点飞行模式中,用户可以通过点击无人飞行器控制端的显示装置(如屏幕)上的一点或一区域,而选择一飞行目标,所述无人飞行器规划出一条最近的路径朝所述飞行目标飞行。在智能跟随模式中,用户可以通过选择无人飞行器控制端的显示装置(如屏幕)上的一个可移动物体(如人、动物等),控制所述无人飞行器跟随所述可移动物体飞行。

但是,用户可能会希望无人飞行器沿着特定的轨迹飞行,如经过特定的点、往返飞行等,另外,用户在下发任务时,可能暂时并没有一个精确的目标点,而是希望无人飞行器运行一段距离之后再向无人飞行器发送最终目标点的位置信息,而现有的飞行模式并不能满足这样的需求,导致无人飞行器的飞行模式缺乏个性化的设计。



技术实现要素:

本发明实施例提供一种飞行轨迹的生成方法、控制装置及无人飞行器,以实现对无人飞行器的飞行模式的灵活控制。

本发明实施例的一个方面是提供一种飞行轨迹的生成方法,包括:

获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线;

根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

本发明实施例的另一个方面是提供一种控制装置,包括一个或多个处理器,单独或协同工作,所述一个或多个处理器用于:

获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线;

根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

本发明实施例的另一个方面是提供一种控制装置,包括:

获取模块,用于获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线;

确定模块,用于根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

本发明实施例的另一个方面是提供一种无人飞行器,包括:

机身;

动力系统,安装在所述机身,用于提供飞行动力;

飞行控制器,与所述动力系统通讯连接,用于控制所述无人飞行器飞行;

所述飞行控制器包括所述的控制装置。

本实施例提供的飞行轨迹的生成方法、控制装置及无人飞行器,通过特定图像上绘制的特定曲线,将该特定曲线生成用于控制无人飞行器的飞行轨迹,该特定曲线可以是用户在静态画面上设置的一条特定曲线,也可以是在动态视频中的一帧图像或多帧图像上设置的一条特定曲线,相应的,特定图像可以是一张静态画面,也可以是动态视频中的一帧图像或多帧图像,用户在特定图像上绘制的特定曲线可用于控制无人飞行器的飞行轨迹,即无人飞行器可按照用户个性化设计的特定曲线飞行,实现了无人飞行器的飞行模式的个性化设计,相比于现有技术中的指点飞行、智能跟随等飞行模式,提高了无人飞行器的飞行模式的灵活性。

附图说明

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

图1为本发明实施例提供的飞行轨迹的生成方法的流程图;

图1a为本发明实施例提供的坐标系的示意图;

图1b为本发明实施例提供的用户在平面图像上设定的特定曲线的示意图;

图2为本发明另一实施例提供的飞行轨迹的生成方法的流程图;

图2a为本发明另一实施例提供的投影射线的示意图;

图3为本发明另一实施例提供的飞行轨迹的生成方法的流程图;

图3a为本发明实施例提供的三维轨迹点的示意图;

图3b为本发明实施例提供的三维轨迹点的示意图;

图3c为本发明实施例提供的三维轨迹点的示意图;

图3d为本发明实施例提供的三维轨迹点的示意图;

图4为本发明实施例提供的控制装置的结构图;

图5为本发明另一实施例提供的控制装置的结构图;

图6为本发明另一实施例提供的控制装置的结构图;

图7为本发明实施例提供的无人飞行器的结构图。

附图标记:

10-图像平面02-图像平面的左上角

01-光心0在图像平面10上的投影点0-成像装置的光心

03-光心0在地面上的投影点20-特定图像

21-特定曲线的起点22-特定曲线的终40-控制装置

41-一个或多个处理器42-传感器43-显示屏

44-发送器45-接收器50-接收器51-发送器

60-控制装置61-获取模块62-确定模块621-预处理单元

622-确定单元63-显示模块64-接收模块65-计算模块

66-检测模块67-启动模块68-控制模块69-发送模块

100-无人飞行器107-电机106-螺旋桨117-电子调速器

118-飞行控制器108-传感系统110-通信系统

102-支撑设备104-成像装置112-地面站

114-天线116-电磁波

具体实施方式

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

需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

本发明实施例提供一种飞行轨迹的生成方法。图1为本发明实施例提供的飞行轨迹的生成方法的流程图;图1a为本发明实施例提供的坐标系的示意图;图1b为本发明实施例提供的用户在平面图像上设定的特定曲线的示意图。本实施例的执行主体可以是地面站即无人机控制端,也可以是飞行控制器,本实施例中,无人机控制端可以包括但不限于头戴式显示眼镜(vr眼镜、vr头盔等)、手机、遥控器(如带显示屏的遥控器)、智能手环、平板电脑等。无人飞行器可以工作在不同模式,所述模式包括但不限于,指点飞行、智能跟随、相机对焦等。

在指点飞行模式中,用户可以通过点击所述无人机控制端的显示装置(如屏幕)上的一点或一区域,而选择一飞行目标,所述无人飞行器可以朝所述飞行目标飞行。

在智能跟随模式中,用户可以通过选择所述无人机控制端的显示装置(如屏幕)上的一个可移动物体(如人、动物等),控制所述无人飞行器跟随所述可移动物体飞行。

在相机对焦模式中,用户可以通过点击所述无人机控制端的显示装置(如屏幕)上的一点或一区域,控制所述无人飞行器的成像装置(如相机),对焦。

无人飞行器上安装的成像装置可以实现航拍,成像装置拍摄的图像对应有图像坐标系,成像装置自身对应有摄像机坐标系,无人飞行器相对于地面有地面坐标系,图像坐标系、摄像机坐标系、地面坐标系之间的关系可通过图1a进行体现,如图1a所示,10表示成像装置拍摄的图像所在的图像平面,若点02为该图像平面的左上角,则以点02为坐标原点,以该图像平面的正右方为x轴,该图像平面的正下方为y轴,可建立二维坐标系,由点02、x轴和y轴构成的二维坐标系即是图像坐标系。

若点0为成像装置的光心,xc轴与x轴平行,yc轴与y轴平行,成像装置的光轴为zc轴,则以点0为原点、xc轴、yc轴、zc轴构成的三维坐标系即是摄像机坐标系。另外,光心0在图像平面10上的投影点为01,点01在图像坐标系中的坐标为(u0,v0),光心0到点01的距离即是成像装置的焦距f。

若光心0在地面上的投影点为03,以无人飞行器为参照物,以无人飞行器的正右方为x0轴,以无人飞行器的正前方为y0轴,以垂直地面向上为z0轴,由点03、x0轴、y0轴、z0轴构成的三维坐标系即是地面坐标系。如图1a所示,假设点n为图像平面中的任意一个像素点,像素点n在图像坐标系中的坐标为(u,v),从成像装置的光心0经过图像平面中的任意一个像素点如点n可形成一条射线,该条射线交地面于一点,假设交点为p,则点p可作为图像平面中的像素点n在地面上的反投影点。

如图1所示,本实施例中的方法,可以包括:

步骤s101、获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线。

本实施例的执行主体可以是飞行控制器,也可以是地面站即无人机控制端,本实施例中,无人机控制端可以包括但不限于头戴式显示眼镜(vr眼镜、vr头盔等)、手机、遥控器(如带显示屏的遥控器)、智能手环、平板电脑等。无人飞行器可以工作在不同模式,所述模式包括但不限于,指点飞行、智能跟随、相机对焦等。无人飞行器上搭载有成像装置,该成像装置可以是相机,也可以是摄像机,该成像装置可实现航拍,既可以拍摄静态的画面,也可以拍摄动态的视频。

当本实施例的执行主体是地面站时,地面站获取特定图像和特定曲线的方式可以有多种,本实施例提供如下至少三种方式:

第一种:

飞行控制器将成像装置拍摄的实时图像例如静态画面或动态视频发送给地面站,地面站具有显示屏,地面站接收到静态画面或动态视频后,在显示屏上显示静态画面或动态视频,以便用户查看。该显示屏是触摸屏,能够感应用户的滑动、点击、触摸、点选等操作,用户可以通过该显示屏在静态画面或动态视频上随意的描绘一条特定曲线,如图2所示,20表示无人飞行器承载的成像装置拍摄的静态画面或动态视频中的一帧图像,该静态画面或动态视频中的一帧图像可以是一张二维的平面图像,也可以是一张三维图像,本实施例以二维的平面图像为例,该平面图像的具体画面未显示。用户在该触摸屏显示的平面图像上描绘一条特定曲线,例如,从起点21到终点22的特定曲线,该特定曲线的起点21可以代表用户当前所在的地理位置,也可以是该平面图像中代表某一特定地点的一点,另外,该特定曲线的终点22也可以是该平面图像中的任意一点,也可以是该平面图像中代表某一特定地点的一点。用户所描绘的从起点21到终点22的特定曲线可以经过平面图像上特定的点,也可以不经过平面图像上特定的点,且该特定曲线是用户期望无人飞行器在空中飞行时遵循的运动轨迹。

若用户是在动态视频上描绘的特定曲线,由于动态视频是由一帧一帧图像组成的,则用户描绘的特定曲线将分散在动态视频的多帧图像上,则特定图像可以是包括构成该特定曲线的动态视频的多帧图像,也可以是构成该特定曲线的动态视频的多帧图像中的一帧图像,例如,地面站可以将分散在多帧图像上的该特定曲线映射到该多帧图像中的一帧图像,例如第一帧图像,则该第一帧图像即是包括该特定曲线的特定图像,在下述步骤中,可根据成像装置拍摄该第一帧图像时成像装置距离地面的高度,成像装置相对地面的角度,该特定曲线上的各像素点在该第一帧图像所在的图像坐标系中的坐标,计算该特定曲线上的各像素点在地面坐标系中的三维轨迹点。若用户是在静态画面或动态视频中的一帧图像上描绘的特定曲线,则特定图像为描绘有该特定曲线的静态画面或动态视频中的一帧图像。

第二种:

在第一种方式的基础上,地面站获取到特定图形和特定曲线后,将该特定图形和特定曲线上传到云平台,在本实施例中,云平台可以是服务器、服务器集群、分布式服务器、虚拟机、虚拟机群等,与该云平台通信的其他地面站可以随时随地从该云平台下载该特定图形和特定曲线,例如,地面站a和地面站b分别用于控制两个不同的无人飞行器,地面站a控制无人飞行器a,地面站b控制无人飞行器b,假设地面站b通过上述第一种方式已经获取到特定图像和特定曲线,地面站b可将该特定图形和特定曲线上传到云平台,即使用户a和用户b没有通过同一款即时通信软件互相加为好友,只要地面站a连接到该云平台,用户a即可通过地面站a从该云平台将该特定图形和特定曲线下载到地面站a,以使用户a可以像用户b控制无人飞行器b一样控制无人飞行器a。

第三种:

地面站a和地面站b分别用于控制两个不同的无人飞行器,例如,地面站a控制无人飞行器a,地面站b控制无人飞行器b,假设地面站b通过上述第一种方式已经获取到特定图像和特定曲线,地面站a和地面站b之间可实时通信,则地面站b可将特定图像和特定曲线分享给地面站a,以使地面站a根据特定图像和特定曲线控制无人飞行器a的飞行轨迹。例如,地面站a和地面站b均是平板电脑,两台平板电脑分别安装有即时通信软件,用户a操作地面站a,用户b操作地面站b,用户a和用户b通过各自的平板电脑分别登陆同一款即时通信软件,且用户a和用户b通过同一款即时通信软件互相加为好友,当用户b通过地面站b采用上述第一种方式获取到特定图像和特定曲线,且地面站b根据该特定图像和特定曲线可以控制无人飞行器b的飞行轨迹既流畅又节省功耗,则用户b通过地面站b上的该即时通信软件将该特定图像和特定曲线分享给用户a,以使用户a可以像用户b控制无人飞行器b一样控制无人飞行器a。此外,地面站b不仅可以将该特定图像和特定曲线分享给地面站a,还可以分享给其他的地面站,以便其他的地面站控制各自的无人飞行器以相同的轨迹飞行,例如,在一些庆典活动中,可以采用该方法控制多个无人飞行器按照时间的先后顺序以相同的飞行轨迹飞行。另外,地面站b将该特定图像和特定曲线分享给地面站a后,地面站a对应的用户还可以通过地面站a更改无人飞行器的飞行高度,从而控制无人飞行器在不同的高度按照该飞行轨迹飞行,当有多个地面站分享地面站b发送的特定图像和特定曲线后,该多个地面站可控制各自的无人飞行器在不同的高度以相同的飞行轨迹飞行,从而达到一种震撼的观赏效果。

当本实施例的执行主体是飞行控制器时,飞行控制器通过无线传输的方式从地面站获取特定图像和特定曲线,地面站获取特定图像和特定曲线的方式可以是上述三种方式中的任意一种。具体的,地面站将该特定图像和特定曲线发送给无人飞行器的通信系统,再由通信系统将该特定图像和特定曲线传输给飞行控制器。

另外,可选的,地面站或飞行控制器在获取特定图像时,包括获取成像装置拍摄该特定图像时无人飞行器相对地面的高度、该成像装置相对地面的角度、该成像装置在地面坐标系统中的位置、该成像装置的焦距。其中,成像装置相对地面的角度包括成像装置的滚动(roll)角度、俯仰(pitch)角度、偏航(yaw)角度中的至少一种。例如,飞行控制器将成像装置拍摄的实时图像例如静态画面或动态视频发送给地面站时,飞行控制器获取成像装置拍摄该实时图像时无人飞行器相对地面的高度、该成像装置相对地面的角度、该成像装置在地面坐标系统中的位置、以及该成像装置的焦距,并将成像装置拍摄该实时图像时无人飞行器相对地面的高度、该成像装置相对地面的角度、该成像装置在地面坐标系统中的位置、以及该成像装置的焦距存储在无人飞行器的存储器中,或发送给地面站。

步骤s102、根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

本实施例可以由飞行控制器根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,也可以由地面站根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹。具体的,由于平面图像是由像素点构成的,每个像素点在图像坐标系中对应有坐标,同时每个像素点的值代表着该像素点的灰度或亮度。如图1b所示,对于特定图像20,从起点21到终点22的特定曲线也是由像素点构成的,若将图1b所示的特定图像20作为图1a所示的图像平面10,则对于特定曲线21-22上的任意一个像素点,从成像装置的摄像镜头的光心0经过该像素点可形成一条射线,该条射线交地面于一点,该条射线与地面形成的交点即是该像素点在地面上的反投影点,从而可将特定曲线21-22上的各像素点反投影到地面,得到每个像素点在地面的反投影点。由于无人飞行器是在离地面一定高度的空中飞行的,因此,将特定曲线21-22上每个像素点在地面的反投影点平移到成像装置拍摄该特定图像时无人飞行器的飞行高度,即可得到各像素点在三维空间即地面坐标系中的三维坐标点,本实施例将该三维坐标点记为三维轨迹点。

根据上一步骤可知,用户可以在动态视频上描绘特定曲线,也可以在静态画面或动态视频中的一帧图像上描绘特定曲线。当用户在动态视频上描绘特定曲线时,特定曲线将分散在动态视频的多帧图像上,即构成该特定曲线的各像素点分布在动态视频的多帧图像上,在本实例例中,确定各像素点在地面上的反投影点时,作为图1a所示的图像平面10的特定图像20可以是每个像素点所在的那一帧图像,也可以是特定曲线分散所在的动态视频的多帧图像中的任一帧图像,该任一帧图像可以是多帧图像中的第一帧图像、中间一帧或最后一帧图像。

每个像素点分别对应的三维轨迹点构成三维轨迹点集,对三维轨迹点集采用轨迹生成算法,可生成三维轨迹,采用轨迹生成算法生成的三维轨迹满足无人飞行器的运动学约束。该轨迹生成算法可以是现有技术中任意一种根据多个轨迹点生成轨迹的算法。可选的,本实施例选取的轨迹生成算法是最小震荡(minimumsnap)轨迹生成算法。采用最小震荡(minimumsnap)轨迹生成算法生成的三维轨迹不仅满足无人飞行器的运动学约束,同时还满足平滑性约束。

该三维轨迹可用于控制无人飞行器飞行,具体的,控制无人飞行器沿着该三维轨迹飞行,在本实施例中,三维轨迹即是控制无人飞行器飞行时无人飞行器遵循的飞行轨迹。

若本实施例的执行主体是飞行控制器,则飞行控制器根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹之后,根据该飞行轨迹控制无人飞行器沿着所述飞行轨迹在空中飞行。若本实施例的执行主体是地面站,则地面站根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹之后,将飞行轨迹发送给飞行控制器,以便飞行控制器根据该飞行轨迹控制无人飞行器沿着所述飞行轨迹在空中飞行。

另外,在其他实施例中,飞行控制器或地面站还可以将所述飞行轨迹上传到特定服务器,以便其他的飞行控制器或其他的地面站可以从该特定服务器直接下载该飞行轨迹,并根据该飞行轨迹控制其他的无人飞行器飞行。或者,飞行轨迹的生成方法的执行主体是第一地面站时,该第一地面站还可以将该飞行轨迹分享给第二地面站,以便其他地面站根据该飞行轨迹控制其他的无人飞行器飞行。

本实施例通过特定图像上绘制的特定曲线,将该特定曲线生成用于控制无人飞行器的飞行轨迹,该特定曲线可以是用户在静态画面上设置的一条特定曲线,也可以是在动态视频中的一帧图像或多帧图像上设置的一条特定曲线,相应的,特定图像可以是一张静态画面,也可以是动态视频中的一帧图像或多帧图像,用户在特定图像上绘制的特定曲线可用于控制无人飞行器的飞行轨迹,即无人飞行器可按照用户个性化设计的特定曲线飞行,实现了无人飞行器的飞行模式的个性化设计,相比于现有技术中的指点飞行、智能跟随等飞行模式,提高了无人飞行器的飞行模式的灵活性。

本发明实施例提供一种飞行轨迹的生成方法。图2为本发明另一实施例提供的飞行轨迹的生成方法的流程图;图2a为本发明另一实施例提供的投影射线的示意图。如图2所示,在图1所示实施例的基础上,根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹的方法,可以包括:

步骤s201、获取所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距。

根据上述实施例可知,将特定图像20作为图1a所示的图像平面10时,点0为无人飞行器搭载的成像装置的摄像镜头的光心,光心0在特定图像20上的投影点为01,点01在特定图像20所在的图像坐标系中的坐标为(u0,v0),光心0到点01的距离即是成像装置的焦距f。点n为特定图像20中特定曲线21-22上的任意一个像素点,像素点n在特定图像20所在的图像坐标系中的坐标为(u,v),从成像装置的摄像镜头的光心0经过特定曲线21-22上的任意一个像素点如点n可形成一条射线,该条射线交地面于一点,假设交点为p,则点p可作为特定曲线21-22上的像素点n在地面上的反投影点。

如图2a所示,点0为无人飞行器搭载的成像装置的摄像镜头的光心,点p为特定曲线21-22上的像素点n在地面上的反投影点,光心0和点p所在的直线为投影直线记为op,成像装置相对所述地面的高度为成像装置的光心相对所述地面的高度,即如图2a所示的高度h,成像装置相对地面的俯仰角为如图2a所示的角度θ。

步骤s202、根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集,所述三维轨迹点集包括所述特定曲线在所述特定图像上对应的各像素点分别在地面坐标系中对应的三维轨迹点。

具体的,根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集的方法可以包括如下步骤:

1)确定所述像素点在所述地面的反投影点,所述反投影点是经过所述成像装置的摄像镜头的光心和所述像素点的投影射线与所述地面的交点。

2)根据所述像素点在所述特定图像所在的图像坐标系中的坐标,以及所述成像装置的焦距,确定所述反投影点在摄像机坐标系中的坐标位置;

具体的,根据像素点n在特定图像20所在的图像坐标系中的坐标(u,v)、点01在特定图像20所在的图像坐标系中的坐标(u0,v0)、成像装置的焦距f、成像装置相对所述地面的高度h,采用公式(1)可确定出特定曲线21-22上的像素点n在地面上的反投影点p在摄像机坐标系中的坐标位置x:

x=k(u-u0,v-v0,f)t(1)

其中,k是表征平面图像景深的一个参数,k与成像装置相对地面的高度h有关,成像装置相对地面的高度h越大,k越大。

3)根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置;

具体的,根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置的一种可实现方式是:根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度,确定所述摄像机坐标系相对于所述地面坐标系的外参数;根据所述反投影点在摄像机坐标系中的坐标位置,以及所述摄像机坐标系相对于所述地面坐标系的外参数,确定所述反投影点在所述地面坐标系中的坐标位置。

由于摄像机坐标系和地面坐标系之间存在转换关系,具体的,摄像机坐标系和地面坐标系之间的关系可通过旋转矩阵r与平移向量t来表示,旋转矩阵r与平移向量t是所述摄像机坐标系相对于地面坐标系的外参数,根据公式(2)和公式(3)分别确定旋转矩阵r与平移向量t:

其中,h表示成像装置相对地面的高度,在本实施例中,成像装置相对地面的高度近似为成像装置的摄像镜头的光心0相对地面的高度,θ表示成像装置相对地面的俯仰角。

根据公式(1)(2)(3),可将摄像机坐标系中反投影点的坐标转换为地面坐标系中反投影点的坐标,且反投影点在地面坐标系中的坐标可表示为公式(4)

x=kr(-θ)(u-u0,v-v0,f)t+t(4)

对于公式(4),令z轴坐标xz=0,计算得到k,再将k代入到公式(4)即可求出反投影点p在地面坐标系中的坐标。

同理于反投影点p,可求出特定图像20中特定曲线21-22上任一像素点在地面上的反投影点在地面坐标系中的坐标。另外,本实施例并不限定特定曲线21-22的具体形状。

4)根据所述成像装置拍摄所述特定图像时距离地面的高度、以及所述反投影点在所述地面坐标系中的坐标位置,确定所述像素点在所述地面坐标系中对应的三维轨迹点。

根据上述步骤确定出特定图像20中特定曲线21-22上任一像素点在地面上的反投影点在地面坐标系中的坐标之后,在地面坐标系内,将各反投影点平移到无人飞行器的飞行高度,即可获得各像素点在三维空间即地面坐标系中的三维坐标点,由于三维坐标点是构成无人飞行器飞行轨迹的点,因此,本实施例将该三维坐标点记为三维轨迹点。每个像素点分别对应的三维轨迹点构成三维轨迹点集。

步骤s203、根据所述三维轨迹点集生成飞行轨迹。

对三维轨迹点集采用轨迹生成算法,可生成三维轨迹,采用轨迹生成算法生成的三维轨迹满足无人飞行器的运动学约束。该轨迹生成算法可以是现有技术中任意一种根据多个轨迹点生成轨迹的算法。可选的,本实施例选取的轨迹生成算法是最小震荡(minimumsnap)轨迹生成算法。采用最小震荡(minimumsnap)轨迹生成算法生成的三维轨迹不仅满足无人飞行器的运动学约束,同时还满足平滑性约束。

该三维轨迹可用于控制无人飞行器飞行,具体的,控制无人飞行器沿着该三维轨迹飞行,在本实施例中,三维轨迹即是控制无人飞行器飞行时无人飞行器遵循的飞行轨迹。

本实施例根据特定曲线上的任意一个像素点和成像装置的摄像镜头的光心,确定出特定曲线上的各像素点在地面的反投影点,并根据成像装置相对地面的高度、角度、以及成像装置的焦距,确定出反投影点在摄像机坐标系中的坐标位置,以及摄像机坐标系相对于地面坐标系的外参数,根据反投影点在摄像机坐标系中的坐标位置,以及摄像机坐标系相对于地面坐标系的外参数,确定反投影点在地面坐标系中的坐标位置,根据反投影点在地面坐标系中的坐标位置,可精确计算三维轨迹点的坐标,实现了三维轨迹即飞行轨迹的精确计算,从而实现了对无人飞行器的精确控制。

本发明实施例提供一种飞行轨迹的生成方法。图3为本发明另一实施例提供的飞行轨迹的生成方法的流程图;图3a为本发明实施例提供的三维轨迹点的示意图;图3b为本发明实施例提供的三维轨迹点的示意图;图3c为本发明实施例提供的三维轨迹点的示意图;图3d为本发明实施例提供的三维轨迹点的示意图。如图3所示,在图2所示实施例的基础上,根据所述三维轨迹点集生成飞行轨迹的方法,可以包括:

步骤s301、对所述三维轨迹点集进行预处理,得到预处理后的三维轨迹点集。

由于用户描绘特定曲线的随意性,使得特定曲线不一定满足无人飞行器的运动性能约束,所以需要对上述实施例中确定出的各三维轨迹点即三维轨迹点集进行预处理,预处理的目的是:保证由预处理之后的三维轨迹点集构成的飞行轨迹满足无人飞行器的运动学约束。在本实施例中,对各三维轨迹点进行预处理的方法可以包括如下至少一种:

1)获取所述无人飞行器的最大飞行距离,根据所述最大飞行距离对所述三维轨迹点集进行预处理。

具体的,计算由所述三维轨迹点集构成的三维轨迹的长度;若所述由所述三维轨迹点集构成的三维轨迹的长度大于所述最大飞行距离,则删除所述三维轨迹点集中的部分三维轨迹点,以使由所述三维轨迹点集中剩余的三维轨迹点构成的三维轨迹的长度小于所述无人飞行器的最大飞行距离。

根据上述实施例可知,每个三维轨迹点在地面坐标系中对应有一个三维坐标,根据每个三维轨迹点的三维坐标,可计算出每相邻两个三维轨迹点之间的距离,每相邻两个三维轨迹点之间的距离的和是三维轨迹点集构成的三维轨迹的总长度。由于无人飞行器可飞行的最大距离是有限的,若三维轨迹的总长度大于所述无人飞行器的最大飞行距离,则需要对无人飞行器的飞行距离进行限制,限制的具体方式可以是删除三维轨迹点集中的部分三维轨迹点,例如删除三维轨迹点集中开始部分的三维轨迹点,或结尾部分的三维轨迹点,还可以在三维轨迹点集的预设范围内,每隔一个三维轨迹点删除一个或两个三维轨迹点,使得三维轨迹点集中剩余的三维轨迹点构成的三维轨迹的总长度小于或等于所述无人飞行器的最大飞行距离。在本实施例中,所述无人飞行器的最大飞行距离可以是所述无人飞行器沿着曲线的三维轨迹飞行的曲线距离,也可以是从起始的三维轨迹点到终止的三维轨迹点之间的直线距离。

2)获取所述三维轨迹点集中至少部分连续的三维轨迹点的密集度,根据所述密集度对所述至少部分连续的三维轨迹点进行预处理。

具体的,确定所述三维轨迹点集中位于预设范围内的三维轨迹点的个数;若所述预设范围内的三维轨迹点的个数大于阈值,则减少所述预设范围内的三维轨迹点的个数,或者,获取所述预设范围内的代替点,以所述预设范围内的代替点代替所述预设范围内的所有三维轨迹点。若所述预设范围内的三维轨迹点的个数小于或等于阈值,则增加所述预设范围内的三维轨迹点的个数,即在三维轨迹点集中密集度较低的局部范围内增加三维轨迹点的个数。

例如,用户在描绘特定曲线时,特定曲线起始部分的像素点可能会比较密集,即一小段距离内有很多个像素点,从而导致特定曲线起始部分的像素点对应的三维轨迹点在地面坐标系中也比较密集,为了确定三维轨迹点在地面坐标系中的密集度,本实施例在地面坐标系中确定位于预设范围内三维轨迹点的个数;若位于所述预设范围内所述三维轨迹点的个数大于阈值,则减少所述预设范围内的三维轨迹点的个数,或者,获取所述预设范围内的代替点,以所述预设范围内的代替点代替所述预设范围内的所有三维轨迹点,该代替点可以是该所述预设范围内的一个或多个三维轨迹点,也可以是所述预设范围内的所有三维轨迹点构成的几何图形的中心点或重心点,还可以是所述预设范围内的部分三维轨迹点构成的几何平面的中心点或重心点。

3)获取所述三维轨迹点集中的特定三维轨迹点的抖动程度,根据所述抖动程度对所述特定三维轨迹点进行预处理。

具体的,若所述特定三维轨迹点的抖动程度小于阈值,则去除所述特定三维轨迹点;和/或,若所述特定三维轨迹点的抖动程度不小于阈值,则保留所述特定三维轨迹点。

所述特定三维轨迹点的抖动程度是根据所述特定三维轨迹点的下一个三维轨迹点到所述特定三维轨迹点和所述特定三维轨迹点的前一个三维轨迹点所在直线的距离确定的。

例如,用户在描绘特定曲线时,可能会出现抖动,导致其描绘出的特定曲线出现多段局部较为弯曲的现象,为了降低特定曲线的抖动程度,本实施例可将抖动程度较小的三维轨迹点进行去除。

如图3a所示,点a、b、c、d分别是特定曲线上四个相邻的像素点在地面坐标系中的三维轨迹点,点a是点b的前一个三维轨迹点,点c是点b的后一个三维轨迹点,同理,点b是点c的前一个三维轨迹点,点d是点c的后一个三维轨迹点。从点c向点a和点b所在的直线作垂线,垂线与ab的延伸线交于点c1,点c和点c1之间的距离可用于表征点b的抖动程度,若点c和点c1之间的距离小于阈值,表示三维轨迹点b的抖动程度小于阈值,则去除点b,若点c和点c1之间的距离大于阈值,则保留三维轨迹点b。在本实施例中,假设点c和点c1之间的距离小于阈值,则如图3b所示,去除三维轨迹点b。

如图3b所示,去除三维轨迹点b之后,从点d向点a和点c所在的直线作垂线,垂线与ac的延伸线交于点d1,点d和点d1之间的距离可用于表征点c的抖动程度,若点d和点d1之间的距离小于阈值,表示三维轨迹点c的抖动程度小于阈值,则去除点c,若点d和点d1之间的距离大于阈值,则保留三维轨迹点c。在本实施例中,假设点d和点d1之间的距离大于阈值,则保留三维轨迹点c,并以三维轨迹点c为起点,继续类似以点a为起点、判断点a之后各个三维轨迹点的抖动程度的方法,判断三维轨迹点c之后各个三维轨迹点的抖动程度,直到将所有的三维轨迹点都遍历一遍。

4)根据所述三维轨迹点集中至少部分连续的三维轨迹点生成三维轨迹,根据所述三维轨迹的曲率,对所述至少部分连续的三维轨迹点进行预处理。

具体的,若所述三维轨迹在第一三维轨迹点处的曲率大于阈值,则获取代替点,其中,所述第一三维轨迹点为所述至少部分连续的三维轨迹点中的一个三维轨迹点,所述代替点和所述第一三维轨迹点的前后两个三维轨迹点构成的曲线在所述代替点处的曲率小于所述三维轨迹在所述第一三维轨迹点处的曲率;用所述代替点代替所述第一三维轨迹点。

所述获取代替点,包括:在所述第一三维轨迹点和所述第一三维轨迹点的前一个三维轨迹点之间获取第一中间点,在所述第一三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点之间获取第二中间点,所述第一中间点和所述第二中间点为所述代替点;或者,获取由所述第一三维轨迹点、所述第一三维轨迹点的前一个三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点构成的三角形的中心或重心,所述三角形的中心或重心为所述代替点。

例如,无人飞行器在转弯时,其角度的调整是有限的,若三维轨迹点构成的曲线的曲率较大时,无人飞行器将无法严格按照飞行轨迹飞行,因此,在各三维轨迹点进行预处理时,需要将曲率较大的点去除,以便得到平滑的飞行轨迹,使得无人飞行器沿着平滑的飞行轨迹飞行。

如图3c所示,点a、b、c是相邻的3个三维轨迹点,点a是点b的前一个三维轨迹点,点c是点b的后一个三维轨迹点,将点a、b、c用圆滑的曲线进行连接,根据数学公式可算出曲线abc在点b处的曲率,若曲线abc在点b处的曲率大于阈值,需要去除点b,若曲线abc在点b处的曲率小于阈值,则保留点b。根据图3c所示可知,曲线abc在点b处的曲率较大,曲线abc在点b处较为陡峭,使得曲线abc并不平滑,因此,为了让无人飞行器沿着平滑的轨迹飞行,可获取代替点,由代替点代替点b,使得由点a、点c和代替点构成的曲线在该代替点出的曲率小于曲线abc在点b处的曲率,在本实施例中,代替点可以是一个点,也可以是多个点。

可选的,取线段ab的中点d,以及线段bc的中点e,用中点d和中点e代替点b,即去除点b,补上中点e和中点d,由点a、点d、点e、点c构成的曲线adec相比于曲线abc要平滑很多。

另外,如图3d所示,还可以用点a、b、c构成的三角形的中心或重心g代替点b,因为,点a、c、三角形abc的中心或重心g构成的曲线在中心或重心g处的曲率小于曲线abc在点b处的曲率。

此外,除点a、b、c之外的各个三维轨迹点,按照同样的方法进行曲率的判断、以及预处理。

步骤s302、根据所述预处理后的三维轨迹点集,采用轨迹生成算法,确定所述飞行轨迹,所述飞行轨迹满足所述无人飞行器的运动学约束。

经过上述预处理之后,即可得到预处理后的三维轨迹点集,对于预处理后的三维轨迹点集,采用轨迹生成算法,可获得满足无人飞行器的运动学约束的飞行轨迹。在本实施例中,轨迹生成算法可以是最小震荡轨迹生成算法,采用最小震荡轨迹生成算法生成的飞行轨迹不仅满足无人飞行器的运动学约束,同时还满足无人飞行器的平滑性约束。

另外,在所述无人飞行器沿着所述飞行轨迹飞行时,检测所述飞行轨迹上位于所述无人飞行器前方的部分是否有障碍物;若所述飞行轨迹上位于所述无人飞行器前方的部分有障碍物,则启动所述无人飞行器的避障功能;在所述无人飞行器绕开所述障碍物后,控制所述无人飞行器回到所述飞行轨迹上。

根据上述步骤得到满足运动学约束和平滑性约束的飞行轨迹之后,飞行控制器控制无人飞行器沿着所述飞行轨迹飞行,在所述无人飞行器沿着所述飞行轨迹飞行时,无人飞行器上的设置的雷达设备可用于检测该飞行轨迹上位于无人飞行器前方的部分是否有障碍物,若有则启动无人飞行器的避障功能,在无人飞行器成功避开该障碍物后,飞行控制器控制无人飞行器再次回到该飞行轨迹上飞行。

本实施例根据三维轨迹点集,确定飞行轨迹之前,对三维轨迹点集中的各三维轨迹点进行预处理,预处理的目的是:保证由预处理之后的三维轨迹点集构成的飞行轨迹满足无人飞行器的运动性能约束,解决了由于用户描绘特定曲线的随意性,导致用户在特定图像上设定的特定曲线不满足无人飞行器的运动性能约束的问题;另外,无人飞行器沿着飞行轨迹飞行时,无人飞行器上设置的雷达用于检测该飞行轨迹上位于无人飞行器前方的部分是否有障碍物,若有障碍物,则启动无人飞行器的避障功能,使得无人飞行器成功绕过障碍物,在无人飞行器成功绕过障碍物之后,飞行控制器控制无人飞行器继续沿着该飞行轨迹飞行,确保了无人飞行器的安全性。

本发明实施例提供一种控制装置。图4为本发明实施例提供的控制装置的结构图,如图4所示,控制装置40包括一个或多个处理器41,单独或协同工作,以及传感器42;其中,一个或多个处理器41用于:获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线;根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

具体的,控制装置40是地面站或者飞行控制器。

当控制装置40是地面站,或者,地面站包括控制装置40时,可选的,控制装置40还包括:与一个或多个处理器41通讯连接的发送器44,发送器44用于将所述飞行轨迹发送给无人飞行器的飞行控制器。

当控制装置是飞行控制器,或者,飞行控制器包括控制装置时,可选的,控制装置还包括:与所述一个或多个处理器通讯连接的接收器,所述接收器用于接收接收地面站发送的飞行轨迹,所述一个或多个处理器还用于控制所述无人飞行器沿着所述飞行轨迹飞行。

在本发明的一个实施例中,当控制装置40是地面站,或者,地面站包括控制装置40时,一个或多个处理器41用于获取搭载在所述无人飞行器上的成像装置拍摄到的实时图像;控制装置40还包括:显示屏43,显示屏43用于展示所述实时图像;以及感测在所述显示屏所展示的实时图像上绘制的特定曲线;一个或多个处理器41用于获取特定曲线和特定图像,所述特定图像包括所述特定曲线所在的至少部分实时图像。

一个或多个处理器41获取特定曲线和特定图像的可实现方式有如下两种:

1)一个或多个处理器41从云平台下载所述特定图像和特定曲线;

2)控制装置40是第一地面站,或者,第一地面站包括控制装置40,控制装置40还包括:与一个或多个处理器41通讯连接的接收器45,接收器45用于接收第二地面站发送的特定图像和特定曲线。

本发明实施例提供的飞行控制器的具体原理和实现方式均与图1所示实施例类似,此处不再赘述。

本实施例通过特定图像上绘制的特定曲线,将该特定曲线生成用于控制无人飞行器的飞行轨迹,该特定曲线可以是用户在静态画面上设置的一条特定曲线,也可以是在动态视频中的一帧图像或多帧图像上设置的一条特定曲线,相应的,特定图像可以是一张静态画面,也可以是动态视频中的一帧图像或多帧图像,用户在特定图像上绘制的特定曲线可用于控制无人飞行器的飞行轨迹,即无人飞行器可按照用户个性化设计的特定曲线飞行,实现了无人飞行器的飞行模式的个性化设计,相比于现有技术中的指点飞行、智能跟随等飞行模式,提高了无人飞行器的飞行模式的灵活性。

本发明实施例提供一种控制装置。图5为本发明另一实施例提供的控制装置的结构图,在本实施例中,控制装置40是飞行控制器,或者,所述飞行控制器包括控制装置40。控制装置40在包括一个或多个处理器41,单独或协同工作,以及传感器42的基础上,还包括:与一个或多个处理器41通讯连接的接收器50,接收器50用于接收接收地面站发送的特定图像和特定曲线,一个或多个处理器41还用于控制所述无人飞行器沿着所述飞行轨迹飞行。在本实施例中,一个或多个处理器41获取特定图像和特定曲线的方式可以是从地面站获取特定图像和特定曲线,也可以是从云平台下载所述特定图像和特定曲线。

另外,控制装置40还包括:与一个或多个处理器41通讯连接的发送器51,发送器51用于将搭载在所述无人飞行器上的成像装置拍摄到的实时图像发送给地面站。

一个或多个处理器41获取特定图像和特定曲线时具体用于:获取所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距;一个或多个处理器41根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹时具体用于:根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集,所述三维轨迹点集包括所述特定曲线在所述特定图像上对应的各像素点分别在地面坐标系中对应的三维轨迹点;根据所述三维轨迹点集生成飞行轨迹。

一个或多个处理器41根据所述三维轨迹点集生成飞行轨迹的可实现方式是:对所述三维轨迹点集进行预处理,得到预处理后的三维轨迹点集;根据所述预处理后的三维轨迹点集,采用轨迹生成算法,确定所述飞行轨迹,所述飞行轨迹满足所述无人飞行器的运动学约束。

一个或多个处理器41对所述三维轨迹点集进行预处理的方式包括如下至少一种:

1)获取所述无人飞行器的最大飞行距离,根据所述最大飞行距离对所述三维轨迹点集进行预处理;

具体的,一个或多个处理器41根据所述最大飞行距离对所述三维轨迹点集进行预处理时具体用于:计算由所述三维轨迹点集构成的三维轨迹的长度;若所述由所述三维轨迹点集构成的三维轨迹的长度大于所述最大飞行距离,则删除所述三维轨迹点集中的部分三维轨迹点,以使由所述三维轨迹点集中剩余的三维轨迹点构成的三维轨迹的长度小于所述无人飞行器的最大飞行距离。

2)获取所述三维轨迹点集中至少部分连续的三维轨迹点的密集度,根据所述密集度对所述至少部分连续的三维轨迹点进行预处理;

具体的,一个或多个处理器41根据所述密集度对所述至少部分连续的三维轨迹点集进行预处理时具体用于:确定所述三维轨迹点集中位于预设范围内的三维轨迹点的个数;若所述预设范围内的三维轨迹点的个数大于阈值,则减少所述预设范围内的三维轨迹点的个数,或者,获取所述预设范围内的代替点,以所述预设范围内的代替点代替所述预设范围内的所有三维轨迹点。

3)获取所述三维轨迹点集中的特定三维轨迹点的抖动程度,根据所述抖动程度对所述特定三维轨迹点进行预处理;

具体的,一个或多个处理器41根据所述抖动程度对所述特定三维轨迹点进行预处理时具体用于:当所述特定三维轨迹点的抖动程度小于阈值时,去除所述特定三维轨迹点;和/或,当所述特定三维轨迹点的抖动程度不小于阈值时,保留所述特定三维轨迹点。

所述特定三维轨迹点的抖动程度是根据所述特定三维轨迹点的下一个三维轨迹点到所述特定三维轨迹点和所述特定三维轨迹点的前一个三维轨迹点所在直线的距离确定的。

4)根据所述三维轨迹点集中至少部分连续的三维轨迹点生成三维轨迹,根据所述三维轨迹的曲率,对所述至少部分连续的三维轨迹点进行预处理。

具体的,一个或多个处理器41根据所述三维轨迹的曲率,对所述至少部分连续的三维轨迹点进行预处理时具体用于:当所述三维轨迹在第一三维轨迹点处的曲率大于阈值时,获取代替点,其中,所述第一三维轨迹点为所述至少部分连续的三维轨迹点中的一个三维轨迹点,所述代替点和所述第一三维轨迹点的前后两个三维轨迹点构成的曲线在所述代替点处的曲率小于所述三维轨迹在所述第一三维轨迹点处的曲率;用所述代替点代替所述第一三维轨迹点。

可选的,一个或多个处理器41获取代替点时具体用于:在所述第一三维轨迹点和所述第一三维轨迹点的前一个三维轨迹点之间获取第一中间点,在所述第一三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点之间获取第二中间点,所述第一中间点和所述第二中间点为所述代替点;或者,获取由所述第一三维轨迹点、所述第一三维轨迹点的前一个三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点构成的三角形的中心或重心,所述三角形的中心或重心为所述代替点。

本发明实施例提供的飞行控制器的具体原理和实现方式均与图3所示实施例类似,此处不再赘述。

本实施例根据三维轨迹点集,确定飞行轨迹之前,对三维轨迹点集中的各三维轨迹点进行预处理,预处理的目的是:保证由预处理之后的三维轨迹点集构成的飞行轨迹满足无人飞行器的运动性能约束,解决了由于用户描绘特定曲线的随意性,导致用户在特定图像上设定的特定曲线不满足无人飞行器的运动性能约束的问题;另外,无人飞行器沿着飞行轨迹飞行时,无人飞行器上设置的雷达用于检测该飞行轨迹上位于无人飞行器前方的部分是否有障碍物,若有障碍物,则启动无人飞行器的避障功能,使得无人飞行器成功绕过障碍物,在无人飞行器成功绕过障碍物之后,飞行控制器控制无人飞行器继续沿着该飞行轨迹飞行,确保了无人飞行器的安全性。

本发明实施例提供一种控制装置。在图5所示实施例提供的技术方案的基础上,一个或多个处理器41根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集时具体用于:确定所述像素点在所述地面的反投影点,所述反投影点是经过所述成像装置的摄像镜头的光心和所述像素点的投影射线与所述地面的交点;根据所述像素点在所述特定图像所在的图像坐标系中的坐标,以及所述成像装置的焦距,确定所述反投影点在摄像机坐标系中的坐标位置;根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置;根据所述成像装置拍摄所述特定图像时距离地面的高度、以及所述反投影点在所述地面坐标系中的坐标位置,确定所述像素点在所述地面坐标系中对应的三维轨迹点。

具体的,根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置,可通过如下方式实现:根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度,确定所述摄像机坐标系相对于所述地面坐标系的外参数;根据所述反投影点在摄像机坐标系中的坐标位置,以及所述摄像机坐标系相对于所述地面坐标系的外参数,确定所述反投影点在所述地面坐标系中的坐标位置。

在本实施例中,所述轨迹生成算法包括:最小震荡轨迹生成算法。

另外,如图5所示,传感器42与一个或多个处理器41通讯连接,传感器42用于检测所述飞行轨迹上位于所述无人飞行器前方的部分的障碍物,并将检测结果发送给一个或多个处理器41;一个或多个处理器41根据所述检测结果,确定所述飞行轨迹上位于所述无人飞行器前方的部分是否有障碍物;若所述飞行轨迹上位于所述无人飞行器前方的部分有障碍物,一个或多个处理器41控制所述无人飞行器绕开所述障碍物;在所述无人飞行器绕开所述障碍物后,一个或多个处理器41控制所述无人飞行器回到所述飞行轨迹上。

本发明实施例提供的飞行控制器的具体原理和实现方式均与图2所示实施例类似,此处不再赘述。

本实施例根据特定曲线上的任意一个像素点和成像装置的摄像镜头的光心,确定出特定曲线上的各像素点在地面的反投影点,并根据成像装置相对地面的高度、角度、以及成像装置的焦距,确定出反投影点在摄像机坐标系中的坐标位置,以及摄像机坐标系相对于地面坐标系的外参数,根据反投影点在摄像机坐标系中的坐标位置,以及摄像机坐标系相对于地面坐标系的外参数,确定反投影点在地面坐标系中的坐标位置,根据反投影点在地面坐标系中的坐标位置,可精确计算三维轨迹点的坐标,实现了三维轨迹即飞行轨迹的精确计算,从而实现了对无人飞行器的精确控制。

本发明实施例提供一种控制装置。图6为本发明另一实施例提供的控制装置的结构图,如图6所示,控制装置60包括:获取模块61、确定模块62,其中,获取模块61用于获取特定图像和特定曲线,其中,所述特定曲线为在所述特定图像上绘制的曲线;确定模块62用于根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹,所述飞行轨迹用于控制无人飞行器沿着所述飞行轨迹飞行。

可选的,获取模块61具体用于获取搭载在所述无人飞行器上的成像装置拍摄到的实时图像;控制装置60还包括:显示模块63、接收模块64,显示模块63用于显示所述实时图像;接收模块64用于接收在所述实时图像上绘制的特定曲线;获取模块61具体用于获取特定图像,所述特定图像包括所述特定曲线所在的至少部分实时图像。

另外,获取模块61用于从云平台下载所述特定图像和特定曲线,或者,控制装置60可以是第一地面站;接收模块64还用于接收第二地面站发送的特定图像和特定曲线。

此外,获取模块61获取特定图像和特定曲线时,获取模块61具体用于获取所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距;确定模块62根据所述特定图像和所述特定曲线将所述特定曲线生成为飞行轨迹时,确定模块62具体用于根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集,所述三维轨迹点集包括所述特定曲线在所述特定图像上对应的各像素点分别在地面坐标系中对应的三维轨迹点;根据所述三维轨迹点集生成飞行轨迹。

可选的,确定模块62包括预处理单元621、确定单元622,确定模块62根据所述三维轨迹点集生成飞行轨迹时,预处理单元621用于对所述三维轨迹点集进行预处理,得到预处理后的三维轨迹点集;确定单元622用于根据所述预处理后的三维轨迹点集,采用轨迹生成算法,确定所述飞行轨迹,所述飞行轨迹满足所述无人飞行器的运动学约束。

预处理单元621对所述三维轨迹点集进行预处理时,获取模块61还至少用于:获取所述无人飞行器的最大飞行距离、获取所述三维轨迹点集中至少部分连续的三维轨迹点的密集度、获取所述三维轨迹点集中的特定三维轨迹点的抖动程度;预处理单元621具体用于:根据所述最大飞行距离对所述三维轨迹点集进行预处理;根据所述密集度对所述至少部分连续的三维轨迹点进行预处理;根据所述抖动程度对所述特定三维轨迹点进行预处理;根据所述三维轨迹点集中至少部分连续的三维轨迹点生成三维轨迹,根据所述三维轨迹的曲率,对所述至少部分连续的三维轨迹点进行预处理。

另外,控制装置60还包括:计算模块65,预处理单元621根据所述最大飞行距离对所述三维轨迹点集进行预处理时,计算模块65用于计算由所述三维轨迹点集构成的三维轨迹的长度;若所述由所述三维轨迹点集构成的三维轨迹的长度大于所述最大飞行距离,则预处理单元621用于删除所述三维轨迹点集中的部分三维轨迹点,以使由所述三维轨迹点集中剩余的三维轨迹点构成的三维轨迹的长度小于所述无人飞行器的最大飞行距离。

预处理单元621根据所述密集度对所述至少部分连续的三维轨迹点集进行预处理时,确定单元622用于确定所述三维轨迹点集中位于预设范围内的三维轨迹点的个数;若所述预设范围内的三维轨迹点的个数大于阈值,则预处理单元621用于减少所述预设范围内的三维轨迹点的个数,或者,获取模块61用于获取所述预设范围内的代替点,预处理单元621以所述预设范围内的代替点代替所述预设范围内的所有三维轨迹点。

预处理单元621根据所述抖动程度对所述特定三维轨迹点进行预处理时,若所述特定三维轨迹点的抖动程度小于阈值,则预处理单元621用于去除所述特定三维轨迹点;和/或,若所述特定三维轨迹点的抖动程度不小于阈值,则预处理单元621用于保留所述特定三维轨迹点。所述特定三维轨迹点的抖动程度是根据所述特定三维轨迹点的下一个三维轨迹点到所述特定三维轨迹点和所述特定三维轨迹点的前一个三维轨迹点所在直线的距离确定的。

预处理单元621根据所述三维轨迹的曲率,对所述至少部分连续的三维轨迹点进行预处理时,若所述三维轨迹在第一三维轨迹点处的曲率大于阈值,则获取模块61用于获取代替点,其中,所述第一三维轨迹点为所述至少部分连续的三维轨迹点中的一个三维轨迹点,所述代替点和所述第一三维轨迹点的前后两个三维轨迹点构成的曲线在所述代替点处的曲率小于所述三维轨迹在所述第一三维轨迹点处的曲率;所述预处理单元用于用所述代替点代替所述第一三维轨迹点。获取模块61获取代替点时具体用于:在所述第一三维轨迹点和所述第一三维轨迹点的前一个三维轨迹点之间获取第一中间点,在所述第一三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点之间获取第二中间点,所述第一中间点和所述第二中间点为所述代替点;或者,获取由所述第一三维轨迹点、所述第一三维轨迹点的前一个三维轨迹点和所述第一三维轨迹点的后一个三维轨迹点构成的三角形的中心或重心,所述三角形的中心或重心为所述代替点。

确定模块62根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度、所述特定曲线上各像素点在所述特定图像所在的图像坐标系中的坐标、所述成像装置的焦距,确定三维轨迹点集时,确定模块62具体用于:确定所述像素点在所述地面的反投影点,所述反投影点是经过所述成像装置的摄像镜头的光心和所述像素点的投影射线与所述地面的交点;根据所述像素点在所述特定图像所在的图像坐标系中的坐标,以及所述成像装置的焦距,确定所述反投影点在摄像机坐标系中的坐标位置;根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置;根据所述成像装置拍摄所述特定图像时距离地面的高度、以及所述反投影点在所述地面坐标系中的坐标位置,确定所述像素点在所述地面坐标系中对应的三维轨迹点。确定模块62根据所述反投影点在摄像机坐标系中的坐标位置,确定所述反投影点在地面坐标系中的坐标位置时具体用于:根据所述成像装置拍摄所述特定图像时距离地面的高度、所述成像装置相对地面的角度,确定所述摄像机坐标系相对于所述地面坐标系的外参数;根据所述反投影点在摄像机坐标系中的坐标位置,以及所述摄像机坐标系相对于所述地面坐标系的外参数,确定所述反投影点在所述地面坐标系中的坐标位置。

可选的,所述轨迹生成算法包括:最小震荡轨迹生成算法。

另外,控制装置60还包括检测模块66、启动模块67、控制模块68,检测模块66用于在所述无人飞行器沿着所述飞行轨迹飞行时,检测所述飞行轨迹上位于所述无人飞行器前方的部分是否有障碍物;启动模块67用于当所述飞行轨迹上位于所述无人飞行器前方的部分有障碍物时,启动所述无人飞行器的避障功能;控制模块68用于在所述无人飞行器绕开所述障碍物后,控制所述无人飞行器回到所述飞行轨迹上。

此外,控制装置60还包括发送模块69,发送模块69用于将所述飞行轨迹上传到特定服务器。或者,所述控制装置是第一地面站,所述控制装置还包括:发送模块,用于将所述飞行轨迹发送至第二地面站。

本实施例通过特定图像上绘制的特定曲线,将该特定曲线生成用于控制无人飞行器的飞行轨迹,该特定曲线可以是用户在静态画面上设置的一条特定曲线,也可以是在动态视频中的一帧图像或多帧图像上设置的一条特定曲线,相应的,特定图像可以是一张静态画面,也可以是动态视频中的一帧图像或多帧图像,用户在特定图像上绘制的特定曲线可用于控制无人飞行器的飞行轨迹,即无人飞行器可按照用户个性化设计的特定曲线飞行,实现了无人飞行器的飞行模式的个性化设计,相比于现有技术中的指点飞行、智能跟随等飞行模式,提高了无人飞行器的飞行模式的灵活性。

本发明实施例提供一种无人飞行器。图7为本发明实施例提供的无人飞行器的结构图,如图7所示,无人飞行器100包括:机身、动力系统和飞行控制器118,所述动力系统包括如下至少一种:电机107、螺旋桨106和电子调速器117,动力系统安装在所述机身,用于提供飞行动力;飞行控制器118与所述动力系统通讯连接,用于控制所述无人飞行器飞行;其中,飞行控制器118包括惯性测量单元及陀螺仪。所述惯性测量单元及所述陀螺仪用于检测所述无人飞行器的加速度、俯仰角、横滚角及偏航角等。

另外,如图7所示,无人飞行器100还包括:传感系统108、通信系统110、支撑设备102、成像装置104,其中,支撑设备102具体可以是云台,通信系统110具体可以包括接收机,接收机用于接收地面站112的天线114发送的无线信号,116表示接收机和天线114通信过程中产生的电磁波。

本发明实施例提供的飞行控制器118的具体原理和实现方式均与上述实施例所述的控制装置类似,此处不再赘述。

本实施例通过特定图像上绘制的特定曲线,将该特定曲线生成用于控制无人飞行器的飞行轨迹,该特定曲线可以是用户在静态画面上设置的一条特定曲线,也可以是在动态视频中的一帧图像或多帧图像上设置的一条特定曲线,相应的,特定图像可以是一张静态画面,也可以是动态视频中的一帧图像或多帧图像,用户在特定图像上绘制的特定曲线可用于控制无人飞行器的飞行轨迹,即无人飞行器可按照用户个性化设计的特定曲线飞行,实现了无人飞行器的飞行模式的个性化设计,相比于现有技术中的指点飞行、智能跟随等飞行模式,提高了无人飞行器的飞行模式的灵活性。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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