具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1图1示出了本发明实施例提供的无人机100的方框示意图。无人机100可以是,但不限于固定翼无人机、无人直升机和多旋翼无人机、伞翼无人机、扑翼无人机和无人飞船等等,在本发明实施例中,无人机100可以是具有左右分布式动力系统的无人机,或者无副翼、无方向舵的欠驱动固定翼无人机。所述无人机100包括自动驾驶仪,自动驾驶仪上设置有横航向姿态控制装置200、存储器101、存储控制器102、处理器103、外设接口104及位置信息采集模块105,同时,无人机100上设置有第一动力系统106和第二动力系统107。另外,自动驾驶仪上还设置有制导控制装置108。
所述存储器101、存储控制器102、处理器103、外设接口104、位置信息采集模块105、第一动力系统106和第二动力系统107各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述横航向姿态控制装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器101中或固化在所述无人机100的操作系统(operating system,OS)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,例如所述横航向姿态控制装置200包括的软件功能模块或计算机程序。
其中,存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序。
处理器103可以是一种集成电路芯片,具有信号处理能力。上述的处理器103可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)、语音处理器以及视频处理器等;还可以是数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。
外设接口104用于将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104、处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
位置信息采集模块105与处理器103电性连接,位置信息采集模块105用于在无人机100飞行过程中,实时采集无人机100的位置信息并将该位置信息发送至处理器103,以使处理器103将该位置信息与预先存储于存储器101中的飞行航线信息进行对比,若该位置信息与飞行航线信息不一致,制导控制装置108产生修正路径偏差的滚转角控制指令。制导控制装置108存储于存储器101中,其包括至少一个软件功能模块,同时处理器103可以执行该至少一个软件功能模块。制导控制装置108用于引导和控制无人机100在预设航线上飞行,当无人机100偏离预设航线飞行时,制导控制装置108产生滚转角控制指令,以使横航向姿态控制装置200对无人机100进行横航向姿态控制。在本发明实施例中,位置信息采集模块105可以是,但不限于GPS定位装置。
第一动力系统106和第二动力系统107均与处理器103电性连接,且第一动力系统106设置于无人机100的第一方向,第二动力系统107设置于无人机100的第二方向,第一动力系统106和第二动力系统107之间的动力差可以产生航向差动力矩使无人机100的航向偏转。在本发明实施例中,第一方向和第二方向为相对的两个方向,例如左右,当第一动力系统106的动力大于第二动力系统107的动力时,产生第二方向的航向差动力矩,无人机100向第二方向偏航;当第二动力系统107的动力大于第一动力系统106的动力时,产生第一方向的航向差动力矩,无人机100向第一方向偏航。
在本发明实施例中,第一动力系统106和第二动力系统107可以是前拉式动力,也可以是后推式动力,且第一动力系统106和第二动力系统107分别至少有一个发动机,也就是说,无人机100包括至少一个第一动力系统106和至少一个第二动力系统107。
第一实施例
请参照图2,图2示出了本发明实施例提供的横航向姿态控制方法流程图。横航向姿态控制方法包括以下步骤:
步骤S101,当无人机在飞行过程中追踪导航的滚转角指令时,获取无人机的飞行状态量,其中,飞行状态量为无人机的当前飞行参数。
在本发明实施例中,无人机100在飞行过程中,如果第一动力系统106和第二动力系统107之间存在动力差,则会产生航向差动力矩,航向差动力矩导致无人机100的航向偏转。作为一种实施方式,如果第一动力系统106和第二动力系统107对称分布且分布位置一致,则当无人机100的第一动力系统106的动力大于第二动力系统107的动力时,该无人机100产生第二方向的航向差动力矩,无人机100向第二方向偏航;当无人机100的第二动力系统107的动力大于第一动力系统106的动力时,该无人机100产生第一方向的航向差动力矩,无人机100向第一方向偏航。
在本发明实施例中,飞行状态量为无人机100的当前飞行参数,当前飞行参数可以包括滚转角指令、滚转角测量值和偏航速率测量值,滚转角指令可以是由无人机100在飞行过程中的制导控制产生的,滚转角测量值可以通过无人机100上的姿态传感器获得,偏航速率测量值可以通过无人机100上的陀螺仪获得。
步骤S102,将飞行状态量输入预设的横航向姿态控制系统中,得到差动控制量,其中,差动控制量是第一动力系统和第二动力系统之间的动力差,动力差产生航向差动力矩使无人机发生横航向运动。
在本发明实施例中,预设的横航向姿态控制系统可以包括滚转控制项和阻尼控制项,将飞行状态量输入预设的横航向姿态控制系统中得到差动控制量可以包括以下步骤:
第一,将滚转角指令和滚转角测量值输入滚转控制项,得到用于跟踪滚转角指令的第一控制指令。作为一种实施方式,滚转控制项可以包括第一控制回路和第二控制回路,也就是说,通过将滚转角指令和滚转角测量值作为第一控制回路的输入,第一控制回路依据滚转角指令和滚转角测量值之间的偏差进行控制,得到滚转角速率控制量,第一控制回路可以是,但不限于比例控制器、PID(Proportion Integration Differentiation,比例积分微分)控制器等,当第一控制回路是比例控制器时,其控制过程可以利用公式(1)表示:
pcmd=Kp(φcmd-φms) (1)
其中,Kp为比例系数,φcmd为滚转角指令,φms为滚转角测量值,pcmd为滚转角速率控制量,通过将偏差量调节为零,可以使滚转角测量值达到滚转角期望值。
得到滚转角速率控制量之后,将滚转角速率控制量和滚转角速率测量值输入第二控制回路,第二控制回路依据滚转角速率控制量和滚转角速率测量值之间的偏差进行控制,得到第一控制指令,第二控制回路可以是,但不限于PI控制器、PD控制器、PID控制器等,当第二控制回路是PID控制器时,其控制过程可以利用公式(2)表示:
其中,pms为滚转角速率测量值,δcmd1为第一控制指令,Ki为积分时间常数,Kd为微分时间常数。通过第一控制指令,使滚转角速率测量值跟踪滚转角速率控制量。
第二,将滚转角指令和偏航速率测量值作为阻尼控制项,得到用于增加横航向姿态控制系统的阻尼特性的第二控制指令。为增加无人机100横航向运动的阻尼,抑制横航向运动过程中的振荡,对横航向姿态控制系统引入阻尼控制项。作为一种实施方式,可以将偏航速率测量值的负反馈和/或滚转角指令的前馈作为阻尼控制项,得到用于增加横航向姿态控制系统的阻尼特性的第二控制指令。将偏航速率测量值的负反馈作为阻尼控制项时,第二控制指令可以利用公式(3)表示:
δcmd2=-Krrms (3)
其中,Kr为反馈系数,rms为偏航速率测量值,Kr可以灵活设置。
将滚转角指令的前馈作为阻尼控制项时,第二控制指令可以利用公式(4)表示:
δcmd2=-Krφcmd (4)
其中,Kr为前馈系数,φcmd为滚转角指令。
将偏航速率测量值的负反馈和滚转角指令的前馈作为阻尼控制项时,第二控制指令可以利用公式(5)表示:
δcmd2=(-Krrms)+(-Krφcmd) (5)
需要说明的是,横航向姿态控制系统阻尼的增加除了通过采用引入偏航速率测量值的负反馈和/或滚转角指令的前馈之外,还可以引入其他可以增加横航向姿态控制系统阻尼的方法。
第三,将用于跟踪滚转角指令的第一控制指令和用于增加横航向姿态控制系统的阻尼特性的第二控制指令进行叠加,并进行限幅处理后得到横航向控制系统的差动控制量δcmd。
请参照图3,步骤S102可以包括以下子步骤:
子步骤S1021,将滚转角指令和滚转角测量值输入滚转控制项,得到用于跟踪滚转角指令的第一控制指令。
在本发明实施例中,滚转控制项包括第一控制回路和第二控制回路,首先,将滚转角指令和滚转角测量值作为第一控制回路的输入,第一控制回路依据滚转角指令和滚转角测量值之间的偏差得到滚转角速率控制量;然后,将滚转角速率控制量和滚转角速率测量值输入第二控制回路,第二控制回路依据滚转角速率控制量和滚转角速率测量值之间的偏差得到第一控制指令。其中,第一控制回路可以是,但不限于比例控制器、PID控制器等;第二控制回路可以是,但不限于PI控制器、PD控制器、PID控制器等。
请参照图4,子步骤S1021可以包括以下子步骤:
子步骤S10211,将滚转角指令和滚转角测量值输入第一控制回路,第一控制回路依据滚转角指令和滚转角测量值之间的偏差得到滚转角速率控制量。
在本发明实施例中,当确定第一控制回路是比例控制器、第二控制回路为PID控制器时,首先,将滚转角指令φ
cmd和滚转角测量值φ
ms作为比例控制器的输入,比例控制器依据滚转角指令φ
cmd和滚转角测量值φ
ms之间的偏差进行比例控制,得到滚转角速率控制量p
cmd=K
p(φ
cmd-φ
ms);然后,将滚转角速率控制量p
cmd和滚转角速率测量值p
ms输入PID控制器,PID控制器依据滚转角速率控制量p
cmd和滚转角速率测量值p
ms之间的偏差进行PID控制,得到第一控制指令
子步骤S10212,获取无人机的滚转角速率测量值。
在本发明实施例中,无人机100的滚转角速率测量值可以通过无人机100上的角速度传感器获得。
子步骤S10213,将滚转角速率控制量和滚转角速率测量值输入第二控制回路,第二控制回路依据滚转角速率控制量和滚转角速率测量值之间的偏差得到第一控制指令。
子步骤S1022,将滚转角指令和偏航速率测量值作为阻尼控制项,得到用于增加横航向姿态控制系统的阻尼特性的第二控制指令。
在本发明实施例中,为增加无人机100横航向运动的阻尼,抑制横航向运动过程中的振荡,对横航向姿态控制系统引入阻尼控制项。可以将偏航速率测量值rms的负反馈-Krrms和/或滚转角指令φcmd的前馈-Krφcmd作为阻尼控制项,得到用于增加横航向姿态控制系统的阻尼特性的第二控制指令δcmd2。
子步骤S1023,根据第一控制指令和第二控制指令,得到差动控制量。
在本发明实施例中,将用于跟踪滚转角指令的第一控制指令和用于增加所述横航向姿态控制系统的阻尼特性的第二控制指令进行叠加,并进行限幅处理后得到横航向控制系统的差动控制量δcmd。
请参照图5,子步骤S1023可以包括以下子步骤:
子步骤S10231,将第一控制指令和第二控制指令进行叠加,得到差动控制总量。
在本发明实施例中,得到用于跟踪滚转角指令的第一控制指令δcmd1和用于增加横航向姿态控制系统的阻尼特性的第二控制指令δcmd2之后,得到差动控制总量为δcmd1+δcmd2。
子步骤S10232,对差动控制总量进行限幅处理,得到差动控制量。
在本发明实施例中,得到差动控制总量之后,对差动控制总量进行限幅处理,从而增强横航向控制系统的稳定性,得到差动控制量δcmd。
步骤S103,按照控制分配策略,将差动控制量分配至第一动力系统和第二动力系统,实现无人机的横航向姿态控制。
在本发明实施例中,获得横航向差动控制系统的差动控制量δcmd之后,通过控制分配策略得到第一动力系统106和第二动力系统107的指令值。假设第一动力系统106的动力为正,第二动力系统107的动力为负,则当差动控制量δcmd为正时,表示此时无人机100向第一方向偏航,故要求无人机100产生第二方向的偏转,故分配动力增加量至第一动力系统106、动力减小量至第二动力系统107,动力增加量与动力减小量之差为差动控制量,例如,分配δcmd/2至第一动力系统106、-δcmd/2至第二动力系统107;当差动控制量δcmd为负时,表示此时无人机100向第二方向偏航,故要求无人机100产生第一方向的偏转,故分配动力减小量至第一动力系统106、动力增加量至第二动力系统107,动力增加量与动力减小量之差为差动控制量,例如,分配-δcmd/2至第一动力系统106、δcmd/2至第二动力系统107。
作为一种实施方式,以左侧设置两个第一动力系统106和右侧设置两个第二动力系统107的四发无人机为例,说明分配到每个发动机上的差动控制量。假设差动控制量δcmd为正,且分配δcmd/2至第一动力系统106、-δcmd/2至第二动力系统107,则分配至左侧每个发动机的差动控制量为δcmd/4、分右侧每个发动机的差动控制量为-δcmd/4。
需要说明的是,上述差动控制量的分配采用的是平均分配策略,在实际应用中可以根据需要灵活设计差动控制量的分配策略,例如,当差动控制量δcmd为正、要求无人机100产生第二方向的偏转时,可以分配2δcmd/3至第一动力系统106、-δcmd/3至第二动力系统107,也可以分配δcmd/3至第一动力系统106、-2δcmd/3至第二动力系统107,只要保证分配至第一动力系统106和第二动力系统107的动力增加量与动力减小量之差为差动控制量即可。
请参照图6,步骤S103可以包括以下子步骤:
子步骤S1031,当无人机向第一方向偏航时,分配动力增加量至第一动力系统、动力减小量至第二动力系统,动力增加量与动力减小量之差为差动控制量。
在本发明实施例中,假设第一动力系统106的动力为正,第二动力系统107的动力为负,则当无人机100向第一方向偏航时,差动控制量δcmd为正,要求无人机100产生第二方向的偏转,故分配动力增加量至第一动力系统106、动力减小量至第二动力系统107,动力增加量与动力减小量之差为差动控制量,例如,分配δcmd/2至第一动力系统106、-δcmd/2至第二动力系统107。
子步骤S1032,当无人机向第二方向偏航时,分配动力减小量至第一动力系统、动力增加量至第二动力系统,动力增加量与动力减小量之差为差动控制量。
在本发明实施例中,假设第一动力系统106的动力为正,第二动力系统107的动力为负,则当无人机100向第二方向偏航时,差动控制量δcmd为负,要求无人机100产生第一方向的偏转,故分配动力减小量至第一动力系统106、动力增加量至第二动力系统107,动力增加量与动力减小量之差为差动控制量,例如,分配-δcmd/2至第一动力系统106、δcmd/2至第二动力系统107。
在本发明实施例中,针对基于直接力控制的这类欠驱动系统的无人机100进行飞行过程中的横航向姿态控制,可以达到仅通过第一动力系统106和第二动力系统107的差动控制量来控制无人机100的横向和航向两个自由度的运动,本发明实施例提供的横航向姿态控制方法可应用于具有左右分布式动力系统的无人机100,特别可应用于无副翼,无方向舵的欠驱动固定翼无人机。
第二实施例
请参照图7,图7示出了本发明实施例提供的横航向姿态控制装置200的方框示意图。横航向姿态控制装置200包括飞行状态量获取模块201、差动控制量获得模块202及差动控制量分配模块203。
飞行状态量获取模块201,用于当无人机在飞行过程中追踪导航的滚转角指令时,获取无人机的飞行状态量,其中,飞行状态量为无人机的当前飞行参数。
在本发明实施例中,飞行状态量获取模块201可以用于执行步骤S101。
差动控制量获得模块202,用于将飞行状态量输入预设的横航向姿态控制系统中,得到差动控制量,其中,差动控制量是第一动力系统和第二动力系统之间的动力差,动力差产生航向差动力矩使无人机发生横航向运动。
在本发明实施例中,差动控制量获得模块202可以用于执行步骤S102。
在本发明实施例中,差动控制量获得模块202还可以用于执行步骤S102的子步骤S1021~S1023。
在本发明实施例中,差动控制量获得模块202还可以用于执行子步骤S1021的子步骤S10211~S10213。
在本发明实施例中,差动控制量获得模块202还可以用于执行子步骤S1023的子步骤S10231~S10232。
差动控制量分配模块203,用于按照控制分配策略,将差动控制量分配至第一动力系统和第二动力系统,实现无人机的横航向姿态控制。
在本发明实施例中,差动控制量分配模块203可以用于执行步骤S103。
在本发明实施例中,差动控制量分配模块203还可以用于执行步骤S103的子步骤S1031~S1032。
综上所述,本发明提供的一种横航向姿态控制方法及相关装置,所述方法包括:当无人机在飞行过程中追踪导航的滚转角指令时,获取无人机的飞行状态量,其中,飞行状态量为无人机的当前飞行参数;将飞行状态量输入预设的横航向姿态控制系统中,得到差动控制量,其中,差动控制量是第一动力系统和第二动力系统之间的动力差,动力差产生航向差动力矩使无人机发生横航向运动;按照控制分配策略,将差动控制量分配至第一动力系统和第二动力系统,实现无人机的横航向姿态控制。与现有技术相比,通过第一动力系统和第二动力系统之间的动力差使无人机发生横航向运动,可以对欠驱动无人机进行横航向姿态控制,具有良好的实用性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。