具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明实施例提供的无人机100的方框示意图。所述无人机100包括视频拍摄系统200、存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、传感器组件106及功能设备107。所述存储器101、存储控制器102、处理器103以及外设接口104、输入输出单元105传感器组件106及功能设备107各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述视频拍摄系统200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器101中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述视频拍摄系统200包括的软件功能模块或计算机程序。
其中,存储器101可以是,但不限于,随机存取存储器101(Random Access Memory,RAM),只读存储器101(Read Only Memory,ROM),可编程只读存储器101(ProgrammableRead-Only Memory,PROM),可擦除只读存储器101(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器101(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的流程定义的服务器/计算机所执行的方法可以应用于处理器103中,或者由处理器103实现。
处理器103可能是一种集成电路芯片,具有信号的处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器103(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。处理器103可以是微处理器或者该处理器103也可以是任何常规的处理器等。
所述外设接口104将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元105用于提供给用户输入数据实现用户与该无人机100的交互。所述输入输出单元105可以是,但不限于,按键,用于响应用户的操作而输出对应的信号。
传感器组件106用于响应用户的操作而输出对应的信号。在本实施例中,该传感器组件106可以是,但不限于,GPS传感器、光流传感器、超声波传感器、声控传感器、加速度传感器、气压计、惯性测量单元(Inertial Measurement Unit,IMU)等。
功能设备107包括视频拍摄装置、LED灯、蜂鸣器以及红外发生装置等,用于无人机100执行特定飞行任务(例如,拍照,灯的闪烁,红外线遥测等)。
可以理解,图1所示的结构仅为示意,无人机100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参阅图2,是本发明较佳实施例提供的应用于图1所示的无人机100的视频拍摄方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S101,接收控制设备发送的用于设置所述视频拍摄装置拍摄模式的设置指令。所述设置指令由用户对所述控制设备进行操作以确定拍摄模式时产生。所述拍摄模式包括:慢速拍摄模式、短视频拍摄模式等。所述慢速拍摄模式是指无人机100在飞行速度较慢的情况下进行拍摄。慢速可以是10cm/秒-20cm/秒的飞行速度,当然慢速不局限于上述速度。本发明实施例优选用于所述慢速拍摄模式,从而实现用户对特定场景的特写拍摄需求。所述控制设备是用于控制无人机100的设备,例如其可以是手机、平板电脑、或无人机100的专属遥控器等。
步骤S102,接收控制设备发送的航线信息,根据所述航线信息计算无人机100的飞行轨迹。
具体地,所述控制设备在接收到用户对所述控制设备进行操作以确定拍摄模式后,可在所述控制设备中显示设置界面。用户可以在所述设置界面中输入所述航线信息。所述航线信息为所述无人机100飞行轨迹的相关数据。
在一种实施方式中,例如,需要拍摄一人物的360度、180度或90度等环线图像或视频时,需要环绕所述人物进行拍摄。所述航线信息可包括拉高高度、环绕半径、环绕角度及环绕方向等数据。所述飞行轨迹包括第一状态飞行轨迹以及第二状态飞行轨迹,其中:所述第一状态飞行轨迹为控制所述无人机100飞行至该拉高高度的轨迹;所述第二状态飞行轨迹为根据所述环绕半径、环绕角度以及环绕方向进行环绕飞行的环绕轨迹。其中所述拉高高度为无人机100相对于地面或无人机100所在位置的上升高度。所述环绕方向可以是顺时针方向或逆时针方向。在一个实例中,若未指定环绕的中心点,则以无人机100第一状态飞行轨迹结束时机头正对方向距离机头半径距离位置为环绕中心。为了使人物特写拍摄效果较佳,如果用户不设定任何参数,本实施例中默认拉高高度1.5m,环绕半径1m,环绕角度160°。本实施例中,所述环绕角度为无人机100相对中心点飞行的角度。
在一个实例中,所述第二状态飞行轨迹的计算方式如下:
Ix(t)=Ix'+R·sin(θ0)-R·sin(θ0+ωt)
Iy(t)=Iy'+R·cos(θ0)-R·cos(θ0+ωt)
其中(Ix',Iy',Iz')表示无人机100的当前位置,R表示环绕半径,θ0是目前无人机100与y轴的夹角,ω表示无人机100角速度。另外上述公式中ωt不大于所述环绕角度θstop。因此,根据上述公式,所述无人机100的终点的位置公式为:
在另一种实施方式中,例如,需要拍摄河流或者桥等设定方向和距离的对象时。所述航线信息可包括:拉高高度、预设飞行方向以及预设飞行距离,所述飞行轨迹包括第一状态飞行轨迹以及第二状态飞行轨迹,其中:所述第一状态飞行轨迹为控制所述无人机100飞行至该拉高高度的轨迹;所述第二状态飞行轨迹为沿所述预设飞行方向飞行所述预设飞行距离的轨迹。
再一种实施方式中,所述航线信息包括:拉高高度、环绕半径、环绕角度及环绕方向。其中,所述飞行轨迹可以为在所述拉高高度,根据所述环绕半径、环绕角度以及环绕方向进行环绕飞行的环绕轨迹。当然,所述飞行轨迹也可以是螺旋环绕轨迹,所述拉高高度为螺旋旋转上升的高度。螺旋起始位置与螺旋中心坐标对应的位置处于同一水平面,且在以螺旋中心坐标对应的位置为圆心,螺旋半径为半径的圆上。在所述航线信息中不包括中心坐标时,则所述中心坐标可为机头正对方向与机头相距环绕半径的位置处。螺旋起始位置与螺旋中心坐标对应的位置的距离等于环绕半径。
再一种实施方式中,所述航线信息也可以仅预设飞行方向以及预设飞行距离,其中:所述飞行轨迹为沿所述预设飞行方向飞行所述预设飞行距离的轨迹。而无人机100的飞行高度可以是默认的飞行高度。
在其它实施方式中,若用户没有输入或设置所述航线信息,也即所述航线信息为零或者空。无人机100则可根据存储器101中的默认航线信息计算无人机100的飞行轨迹。此外,若所述航线信息不完整,例如,缺少拉高高度,则调取存储在无人机100的存储器101中的默认航线信息中的拉高高度,并根据接收到的航线信息及默认的拉高高度计算无人机100的飞行轨迹。再例如,所述航线信息中仅包括一个拉高高度,则读取无人机100的存储器101中的默认航线信息中的飞行动作的参数来计算无人机100的飞行轨迹,所述其他飞行动作可包括螺旋飞行、螺旋上升飞行、绕点盘旋飞行、翻滚等;根据所述拉高高度及默认航线信息中的飞行动作的参数即可得到所述飞行轨迹。
进一步地,在一种实施方式中,对于复杂的飞行轨迹,可以预先将飞行轨迹存储于无人机100的存储器101中,预先存储的飞行轨迹是基于原始坐标系,所述原始坐标系是以飞行轨迹开始点为原点,以正北方向为Y轴正方向,以正东为X轴正方向建立的符合右手定则的坐标系。首先,计算将原始坐标系旋转至临时坐标系的旋转矩阵,旋转矩阵可以表示为:
其中Aa->b'表示原始坐标系a方向上单位矢量在临时坐标系b'方向上的投影大小。
然后,将原始坐标系下的轨迹坐标乘以旋转矩阵,得到临时坐标系下的轨迹坐标,计算公式如下:
最后,将计算得到的临时坐标系下的轨迹坐标加上设定的轨迹起始点坐标,得到临时坐标系下的轨迹,实现了将预设飞行轨迹映射到临时坐标系。
对于简单的飞行轨迹,例如环绕飞行、直线飞行等,可以无需预先将飞行轨迹存储于无人机100的存储器101中,而可以临时计算。
将复杂的飞行轨迹预存在所述存储器101中,可以节省计算复杂的飞行轨迹的时间,提高无人机拍摄效率。
当然,所述航线信息还可以包括除上述实施方式提供的其它任意参数,例如中心坐标等,本领域的技术人员可以根据需求任意设定航线信息可包括的参数。
步骤S103,控制所述无人机100沿所述飞行轨迹以所述拍摄模式对应的飞行速度飞行,使视频拍摄装置在该飞行轨迹下进行视频拍摄。例如,所述慢速拍摄模式对应的飞行速度为10cm/秒-20cm/秒的飞行速度,无人机100则可以10cm/秒-20cm/秒的飞行速度进行慢速飞行,使所述视频拍摄装置拍摄的视频可满足用户慢速特写拍摄的目的。
进一步地,步骤S103中可首先建立基于所述无人机100的第一临时坐标系,使无人机100在所述第一临时坐标系中按所述第一状态飞行轨迹飞行。然后,当所述无人机100飞行到所述拉高高度时,建立第二临时坐标系,使无人机100在所述第二临时坐标系按照所述第二状态飞行轨迹飞行。详细地,可在建立所述第一临时坐标系之前屏蔽GPS坐标系。在本发明实施例中,所述第一临时坐标系是基于无人机100自身的位置临时建立的,例如,无人机100在需要建立第一临时坐标系时,以无人机100的当前位置作为临时坐标系的坐标原点O(0,0,0),以正北方向为Y轴方向,以正东方向为X轴方向,以垂直于水平面向上的方向为Z轴方向,建立满足右手定则的临时坐标系。可以理解的是,特殊需求下,坐标系X,Y,Z轴方向可任意定义,右手定则不是必要的。所述第二临时坐标系的建立方法与所述第一临时坐标系建立方法相同。建立第二临时坐标系可以消除长时间使用一个临时坐标系所产生的位置偏差。
进一步地,在其它实施方式中,也可以仅建立第一临时坐标系,无人机100在所述第一临时坐标系中按照根据所述航线信息计算得到的飞行轨迹飞行。
根据本实施例中的方法,通过在拍摄前,无人机100可以接收到指定的航线信息,根据指定的航线信息进行航拍进行自动化拍摄,能够更加适应用户的特定拍摄需求,同时可以减少用户的手动操作,达到更佳的特写拍摄效果。另外,由于视频拍摄时无人机100的飞行速度比正常飞行状态下慢,因此,建立临时坐标系,可以使无人机100的实际飞行轨迹能够与通过所述航线信息计算得到的飞行轨迹更加吻合,提高了用户体验。
另外,在对人物进行特写拍摄的过程中,一般在室内进行拍摄,室内没有GPS信号,一定要建立临时坐标系,且基于安全的考虑,优选采用小型无人机100。即使在室外,小型无人机100采用的GPS模块不可能为大体积模块,因此定位不精准,导致无人机100起飞时可能会有位置偏移。因此也有必要建立临时坐标系。当然,在室外,如果可以容忍不吻合有偏差等问题,也可以采用GPS。
本实施例还提供另一种视频拍摄方法,与上述方法实施例类似,不同之处在于,该另一种视频拍摄方法还包括判断所述无人机100是否在计算得到的航线上的步骤,以进行航线校准。如图3所示,本实施例中的视频拍摄方法具体包括:
步骤S201,接收控制设备发送的用于设置所述视频拍摄装置拍摄模式的设置指令。
步骤S202,接收控制设备发送的航线信息,根据所述航线信息计算无人机100的飞行轨迹。
步骤S203,控制所述无人机100沿所述飞行轨迹以所述拍摄模式对应的飞行速度飞行。
步骤S204,判断所述无人机100的飞行轨迹是否在根据所述航线信息计算得到的飞行轨迹上。若不是,则执行步骤S205。在一个实例中,若所述航线信息包括:拉高高度、环绕半径、环绕角度及环绕方向。所述无人机100当前状态为环绕飞行状态,则可通过判断无人机100与环绕中心点的距离是否为航线信息中的环绕半径。在另一个实例中,所述航线信息包括:拉高高度、预设飞行方向以及预设飞行距离。若所述无人机100在沿着预设方向飞行,则将无人机100的所在位置与根据所述预设飞行方向以及预设飞行距离计算得到的飞行轨迹进行比对,判断无人机100的飞行轨迹是否在根据所述航线信息计算得到的飞行轨迹上。
步骤S205,建立新的坐标系。
若建立了新的坐标系,则无人机100的当前位置就是该新的坐标系的坐标原点O(0,0,0)。若无人机100的飞行轨迹为所述环绕轨迹,无人机100在该新的坐标系下的当前位置为(Ix',Iy',Iz'),半径是R,计算飞行轨迹为:
Ix(t)=Ix'+R·sin(θ0)-R·sin(θ0+ωt)
Iy(t)=Iy'+R·cos(θ0)-R·cos(θ0+ωt)
θ0是目前无人机100与y轴的夹角。其中,Ix’与Iy’均为0。
所述新的坐标系的建立方法与上述的第一临时坐标系及第二临时坐标系的建立方法相同,在此不再赘述。
步骤S206,控制所述无人机100在该新的坐标系下按照所述航线信息计算得到的飞行轨迹飞行,使视频拍摄装置在该飞行轨迹下进行视频拍摄。
关于本实施例的其它细节还可以进一步地参考前一方法实施例,在此不再赘述。
根据本实施例的方法,在飞行中还进一步地判断所述无人机100的飞行轨迹是否在通过所述航线信息计算得到的飞行轨迹上,若不在,则建立新的坐标系进行航线校准,可以减少所述无人机100飞行误差。
本实施例还提供另一种视频拍摄方法,与上述方法实施例类似,不同之处在于,该另一种视频拍摄方法还包括在无人机飞行轨迹的终点根据GPS信号拍摄设定时长的视频的步骤。如图4所示,本实施例中的视频拍摄方法具体还包括:
步骤S301,当所述无人机100到达所述飞行轨迹的终点时,检测所述无人机100是否接收到有GPS信号。
当所述无人机100接收到有GPS信号时,执行步骤S302。若无人机100在拍摄时,以新建立的临时坐标系下进行飞行动作,则有可能GPS信号被屏蔽了。
步骤S302,当接收到GPS信号时,退出所述第一临时坐标系和第二临时坐标系。
步骤S303,根据所述无人机100在所述终点的位置时的飞机高度和位置坐标以及无人机100当前的飞机高度和位置坐标调整所述视频拍摄装置的角度。
在一个实例中,调整的视频拍摄装置角度计算公式可如下所示:
其中:znow为无人机100当前的飞机高度,(xnow,ynow,znow)为无人机100的当前位置坐标,θcamera为视频拍摄装置的镜头的主轴方向与水平线的夹角,顺时针为正,逆时针为负。z0为无人机100在所述终点的位置时的飞机高度,(x0,y0,z0)为无人机100在所述终点的位置时的位置坐标。
步骤S304,根据接收到的GPS信号控制无人机100飞行并控制视频拍摄装置拍摄设定时长的视频。
本实施例中,设定时长的视频可以为无人机100以一预设加速度逐渐加速飞行并拍摄视频。所述设定时长可以是5秒、10秒等。由于临时坐标系不能精确定位加速飞行的无人机100,因此在有GPS信号的情况下才进行设定时长的视频,可以提高视频拍摄的成功率。
根据本实施例中的方法,通过在GPS信号中使所述无人机100拉取一个指定时长的视频,满足不同用户的视频拍摄需求。
请参阅图5,为本发明较佳实施例提供的图1所示的无人机100中的视频拍摄系统200的功能模块示意图。本实施例中的视频拍摄系统200中的各个模块用于执行上述方法实施例中的各个步骤。本实施例中的所述视频拍摄系统200包括设置指令接收模块210、航线信息接收模块220、飞行轨迹计算模块230、飞行控制模块240。
设置指令接收模块210,用于接收控制设备发送的用于设置所述视频拍摄装置拍摄模式的设置指令,所述设置指令由用户对所述控制设备进行操作以确定拍摄模式时产生。设置指令接收模块210可用于执行上述方法实施例中的步骤S101或步骤S201。
航线信息接收模块220,用于接收控制设备发送的航线信息。
飞行轨迹计算模块230,用于根据所述航线信息计算无人机100的飞行轨迹。航线信息接收模块220及飞行轨迹计算模块230共同用于执行上述方法实施例中的步骤S102或步骤S202。在一种实施方式中,所述航线信息包括拉高高度、环绕半径、环绕角度及环绕方向,所述飞行轨迹包括第一状态飞行轨迹以及第二状态飞行轨迹,其中:所述第一状态飞行轨迹为控制所述无人机100飞行至该拉高高度的轨迹;所述第二状态飞行轨迹为根据所述环绕半径、环绕角度以及环绕方向进行环绕飞行的环绕轨迹。在另一种实施方式中,所述航线信息包括:拉高高度、预设飞行方向以及预设飞行距离,所述飞行轨迹包括第一状态飞行轨迹以及第二状态飞行轨迹,其中:所述第一状态飞行轨迹为控制所述无人机100飞行至该拉高高度的轨迹;所述第二状态飞行轨迹为沿所述预设飞行方向飞行所述预设飞行距离的轨迹。再一种实施方式中,所述航线信息包括:拉高高度、环绕半径、环绕角度及环绕方向,其中:所述飞行轨迹为在所述拉高高度,根据所述环绕半径、环绕角度以及环绕方向进行环绕飞行的环绕轨迹。再一个实施方式中,所述航线信息包括:预设飞行方向以及预设飞行距离,其中:所述飞行轨迹为沿所述预设飞行方向飞行所述预设飞行距离的轨迹。
飞行控制模块240,用于控制所述无人机100沿所述飞行轨迹以所述拍摄模式对应的飞行速度飞行,使视频拍摄装置在该飞行轨迹下进行视频拍摄。飞行控制模块240用于执行上述方法实施例中的步骤S103。
具体地,所述飞行控制模块240包括:坐标系建立单元241,用于建立基于所述无人机100的第一临时坐标系,使无人机100在所述第一临时坐标系中按所述第一状态飞行轨迹飞行;及当所述无人机100飞行到所述拉高高度时,建立第二临时坐标系,使无人机100在所述第二临时坐标系按照所述第二状态飞行轨迹飞行。
进一步地,所述视频拍摄系统200还可包括:轨迹判断模块250,用于判断所述无人机100的飞行轨迹是否在所述航线信息计算得到的飞行轨迹上,若不在,则建立新的坐标系。轨迹判断模块250用于执行上述方法实施例中的步骤S204。所述飞行控制模块240,还用于控制所述无人机100在该新的坐标系下按照所述航线信息计算得到的飞行轨迹飞行。信号检测模块260,用于当所述无人机100到达所述飞行轨迹的终点时,检测所述无人机100是否接收到有GPS信号。拍摄控制模块270,用于当所述无人机100接收到有GPS信号时,退出所述第一临时坐标系和第二临时坐标系,根据接收到的GPS信号控制无人机100飞行并控制视频拍摄装置拍摄设定时长的视频。角度调整模块280,用于根据所述无人机100在所述终点的位置时的飞机高度和位置坐标以及无人机100当前的飞机高度和位置坐标调整所述视频拍摄装置的角度。
关于上述系统实施例的其它细节可以进一步地参考上述方法实施例,在此不再赘述。
根据上述实施例中的系统,接收航线信息,就可以使所述无人机100按照所述航线信息对应的飞行轨迹进行视频拍摄,满足用户对不同场景的拍摄需求。此外,用户仅仅需要提供航线信息就可以实现对不同场景或对象的拍摄需求,使用户在更简便的操作下能够完成更多的视频拍摄。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。