飞行器、飞行器的控制方法及计算机可读存储介质与流程

文档序号:21360235发布日期:2020-07-04 04:33阅读:260来源:国知局
飞行器、飞行器的控制方法及计算机可读存储介质与流程

本公开涉及飞行技术领域,具体涉及一种飞行器、飞行器的控制方法及计算机可读存储介质。



背景技术:

近年来,飞行器受到越来越多的人的喜爱。现有飞行器主要分为有翼飞行器和无翼飞行器。有翼飞行器包括诸如飞机和滑翔机的定翼飞行器和诸如旋翼飞行器和扑翼飞行器的动翼飞行器。飞行器,尤其是有翼飞行器,能够稳定飞行对于飞行器的推广至关重要,因此,如何考虑飞行器自身的特点而实现飞行器的稳定飞行是本领域亟待解决的问题之一。



技术实现要素:

基于上述内容,本公开提供了一种能够实现稳定飞行的飞行器、飞行器的控制方法、飞行器的控制装置及计算机可读存储介质。

在本公开的一方面,本公开提供了一种飞行器,其包括:陀螺仪,用于测量所述飞行器的偏航角的角速度;处理器,用于基于所述偏航角的角速度,不考虑所述飞行器的加速度而确定所述飞行器的偏航控制信号;以及执行机构,用于基于所述偏航控制信号,调整所述飞行器的飞行。

在本公开的另一方面,本公开提供了一种飞行器的控制方法,包括:获取所述飞行器的偏航角的角速度;基于所述偏航角的角速度,不考虑所述飞行器的加速度而确定所述飞行器的偏航控制信号;以及基于所述偏航控制信号,调整所述飞行器的飞行。

在本公开的又一方面,本公开提供了一种飞行器的控制装置,包括陀螺仪、处理器和执行机构,其中,陀螺仪用于测量偏航角的角速度,处理器用于实现根据本公开的实施例所述的飞行器的控制方法,执行机构用于基于处理器生成的控制信息调整飞行器的飞行。

在本公开的又一方面,本公开提供了一种飞行器的控制装置,包括:处理器;存储器;以及存储在所述存储器中的计算机程序指令,所述计算机程序指令被所述处理器运行时执行根据本公开的实施例所述的飞行器的控制方法的步骤。

在本公开的再一方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时实现根据本公开的实施例所述的飞行器的控制方法。

此外,本公开还提供了控制飞行器的飞行的计算机程序产品。

在根据本公开的实施例的飞行器、飞行器的控制方法、飞行器的控制装置及计算机可读存储介质中,基于陀螺仪测量的角速度确定控制信号,并基于控制信号调整飞行器的飞行,从而能够在不考虑飞行器的加速度的情况下实现飞行器(特别是扑翼类飞行器)的稳定飞行。

附图说明

通过结合附图对本公开的实施例进行更详细的描述,本公开的上述以及其它目的、特征和优点将变得更加明显。附图用来提供对本公开的实施例的进一步理解,并且构成说明书的一部分。附图与本公开的实施例一起用于解释本公开,但是并不构成对本公开的限制。在附图中,除非另有明确指示,否则相同的参考标号表示相同的部件、步骤或元素。在附图中,

图1示出了根据本公开的实施例的横滚轴、俯仰轴和偏航轴的定义;

图2示出了根据本公开的实施例的示例飞行轨迹;

图3是根据本公开的实施例的飞行器的示意图;

图4a是根据本公开的实施例,陀螺仪在飞行器上的示例性安装位置的正面视图;

图4b是根据本公开的实施例,陀螺仪在飞行器上的示例性安装位置的侧面视图;

图5是根据本公开的实施例的飞行器的控制方法的一个示例流程图;

图6是进一步示出图5中的基于偏航角的角速度,不考虑飞行器的加速度而确定飞行器的偏航控制信号的步骤s510的示例流程图;

图7是进一步示出图6中的基于偏航角的角速度,不考虑飞行器的加速度而确定飞行器与期望偏航方向的偏转角度的步骤s512的示例流程图;

图8是根据本公开的实施例的飞行器的控制方法的另一示例流程图;

图9是根据本公开的实施例的飞行器的控制方法的又一示例流程图;

图10是进一步示出图9中的基于高度参数和俯仰角的角速度两者,不考虑飞行器的加速度而确定飞行器的高度控制信号的步骤s920的示例流程图;

图11是进一步示出图10中的基于所述差值和所述俯仰角来确定飞行器的高度控制信号的步骤s928的示例流程图;

图12示出了飞行器在根据本公开的实施例的飞行器的控制方法的控制下的一个示例飞行轨迹;

图13示出了飞行器在根据本公开的实施例的飞行器的控制方法的控制下的另一个示例飞行轨迹;

图14是根据本公开的实施例的飞行器的控制装置的一个示例框图;以及

图15是根据本公开的实施例的飞行器的控制装置的另一个示例框图。

具体实施方式

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

在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在该词前面的元素或者物件涵盖出现在该词后面列举的元素或者物件及其等同,而不排除其他元素或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

在本公开的描述中,需要说明的是,除非另有明确的规定和限定,否则术语“安装”、“相连”、“连接”应做广义理解。例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。

此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

为了更好的理解本公开的实施例,在对本公开的实施例进行详细描述之前,将结合图1和图2对本公开使用的一些术语进行解释。

图1示出了根据本公开的实施例的横滚轴、俯仰轴和偏航轴。在本公开中,如图1所示,假设横滚轴是以飞行器的质心(即,图1中的点o)为原点,指向飞行器的机头方向的轴(即图1中的轴);俯仰轴是以飞行器的质心为原点,处于飞行器的对称面,指向飞行器下方的轴(即图1中的轴),其中飞行器的对称面是飞行器的左侧和右侧相对于其对称的平面(即图1中的平面abcd);偏航轴是以飞行器的质心为原点,垂直于横滚轴和俯仰轴所确定的平面(即,图1中的o面),指向飞行器的右侧的轴(即图1中的轴)。换言之,假设飞行器的机身底部朝下,机头背向操作者放置的情况下,横滚轴是从机尾指向机头方向的轴,俯仰轴是从机身上部指向下部的轴,偏航轴是从机身左侧指向右侧的轴。

图2示出了根据本公开的实施例的示例飞行轨迹。如图2所示,假设飞行器在水平面的期望飞行轨迹是ss,飞行器的实际飞行轨迹为nn。假设a为在时刻t-1飞行器所处的位置,b为在时刻t飞行器应处于的位置,c为在时刻t飞行器实际处于的位置。

期望偏航方向:为使飞行器沿所述期望飞行轨迹飞行,飞行器在时刻t在水平面应朝向的方向,例如,图2中的bp的方向。

偏航角(即,下文所述的ay)和俯仰角(即,下文所述的az):为了便于描述偏航角,假设在t-1至t的预定时段内,飞行器的俯仰轴(即图1中的轴)的方向未发生改变,偏航角是飞行器的偏航轴(即图1中的轴)在所述预定时段内绕时刻t-1的俯仰轴旋转的角度,即飞行器的偏航角的角速度在预定时段内的积分,其反映在机体坐标系下飞行器在预定时段内绕时刻t-1的俯仰轴实际旋转的角度。为了便于描述俯仰角,假设在t-1至t的预定时段内,飞行器的偏航轴(即图1中的轴)的方向未发生改变,俯仰角是飞行器的俯仰轴(即图1中的轴)在所述预定时段内绕时刻t-1的偏航轴旋转的角度,即飞行器的俯仰角的角速度在预定时段内的积分,其反映在机体坐标系下飞行器在预定时段内绕时刻t-1的偏航轴实际旋转的角度。

期望偏航角度(即,下文所述的θ):将时刻t的期望偏航方向投影到时刻t-1的机体坐标系的横滚轴和偏航轴所确定的平面后、与时刻t-1的飞行器的横滚轴(即,机身方向)所形成的夹角,即图2中的om与之间的夹角θ。期望偏航角度反映飞行器为在时刻t能够沿所述期望飞行轨迹飞行,在机体坐标系下在预定时段内绕时刻t-1的俯仰轴应旋转的角度。

在本公开中,可以通过设置不同的θ来实现不同的期望飞行。例如,当θ=0时,飞行器沿直线飞行,例如图12所示。当θ不等于0时,飞行器沿曲线飞行,例如图13所示。其中,当所述横滚轴在所述投影的外侧(例如,右侧)时,所述期望偏航角度为正;当所述横滚轴在所述投影的内侧(例如,左侧)时,所述期望偏航角度为负。应当理解,前述关于期望偏航角度的正负的确定仅仅是示例,而不是对本公开的限定。

飞行器与期望偏航方向的偏转角度(即,下文所述的cy):在所述预定时段内,飞行器绕时刻t-1的俯仰轴实际旋转的角度(即,偏航角)与所述期望偏航角度之间的差,也就是将时刻t的期望偏航方向投影到时刻t的机体坐标系的横滚轴和偏航轴所确定的平面后、与时刻t的飞行器的横滚轴(即,机身方向)所形成的夹角,即图2中o’q与之间的夹角cy,其反映飞行器在所述时刻t处偏离期望偏航方向的程度。

需要指出的是,以上诸如期望偏航角度等的概念是通过将大地坐标系投影到机体坐标系而描述的。本领域技术人员能够理解,以上相关概念也可以通过将机体坐标系投影到大地坐标系下而定义。此外,虽然上述偏航角是在假设飞行器的俯仰轴的方向在从时刻t-1到时刻t的预定时段内不变,且俯仰角是在假设飞行器的偏航轴的方向在从时刻t-1到时刻t的预定时段内不变的情况下描述的,但是应当理解,其仅仅是为了便于描述而不是对本公开的限定。

图3是根据本公开的实施例的飞行器300的示意图。如图3所示,飞行器300可以包括陀螺仪301、处理器302和执行机构303。这些组件通过总线和/或其它连接机构(未示出)彼此连接。所述陀螺仪301用于测量所述飞行器的偏航角的角速度。所述处理器302用于基于所述偏航角的角速度,不考虑所述飞行器的加速度而确定所述飞行器的偏航控制信号。所述执行机构303用于基于所述偏航控制信号,调整所述飞行器的飞行。

在一个实施例中,飞行器300还可以包括例如图3所示的气压计308,其用于测量反映飞行器的飞行高度的高度参数。在此实施例中,所述陀螺仪301还可以测量俯仰角的角速度。所述处理器302还可以基于所述高度参数,或者基于所述高度参数和所述陀螺仪测量的俯仰角的角速度两者,不考虑所述飞行器的加速度而确定所述飞行器的高度控制信号。所述执行机构303还可以基于所述高度控制信号,调整所述飞行器的飞行。

在一个实施例中,飞行器300为扑翼飞行器。执行机构303可以包括如图3所示的舵机机构304和电机机构305中的至少一个。在一个实施例中,执行机构303包括单舵机机构。在另一个实施例中,执行机构303包括单电机机构。在又一个实施例中,执行机构303包括单电机单舵机机构。所述舵机机构304和所述电机机构305的具体形式不限,可以采用本领域已知和未来开发的任何适当的驱动机构。例如,所述舵机机构304可以为电磁舵机机构等等。

在一个实施例中,飞行器300还可以包括例如图3所示的尾舵306和尾翼307,其中尾舵306通过舵机机构304与尾翼307连接。在本公开实施例中,舵机机构304可以基于处理器302生成的偏航控制信号,通过尾舵306调整飞行器的飞行。具体地,舵机机构304可以基于所述偏航控制信号,驱动尾舵306在偏航轴方向上摆动,从而调整飞行器300在偏航轴方向上的飞行。

在一个实施例中,飞行器300还可以包括例如图3所示的两对机翼309,其与电机机构305连接。电机机构305可以基于处理器302生成的高度控制信号,通过机翼308调整飞行器的飞行高度。具体地,电机机构305可以基于所述高度控制信号,驱动机翼309的上下扑动,从而使飞行器300的机身升高或降低,以调整飞行器的飞行。在一个示例中,所述机翼309可以采取诸如如图3所示的x翼形的两对机翼的形式。应当理解,图3所示的机翼的形式以及数量仅仅是示例,而不是对其的限定。

以上结合图3示例性地示出了根据本公开的实施例的飞行器300的部分组件。稍后还将结合图5至图11详细描述上述各组件的操作。

图4a和图4b示出了根据本公开的实施例,陀螺仪在飞行器上的示例性安装位置。其中,图4a是根据本公开的实施例,陀螺仪在飞行器上的示例性安装位置的正面视图;图4b是根据本公开的实施例,陀螺仪在飞行器上的示例性安装位置的侧面视图。

在一个实施例中,陀螺仪可安装在飞行器的对称面上,如图4a中的虚线a-a所示。通过将陀螺仪安装在飞行器的对称面上,飞行器的重量分布更均衡,从而可以更准确地测量飞行器的各轴角速度。在本公开的一个实施例中,陀螺仪可安装在飞行器的对称面上的任意合适位置,例如对称面上的沿机身方向的多个轴(例如,如图4b所示的a、b和c轴)中的任一轴上的任何位置处。应当理解,图4a和图4b所示的陀螺仪的安装位置仅为示例。本领域技术人员能够理解,取决于飞行器中各组件的安装位置等的要素,陀螺仪也可安装在飞行器上的其他合适位置处。

类似地,在一个实施例中,气压计可类似地安装在飞行器的对称面上。在本公开的其他实施例中,取决于飞行器中各组件的安装位置等的要素,气压计可以安装于飞行器上的其他合适位置处。

在上文中,本公开结合图3示出了根据本公开的实施例的飞行器的示例,并结合图4a和图4b示出了根据本公开的实施例,陀螺仪和气压计的可安装位置的示例。但是应当理解,上述实施例仅仅是示例,而不是对本公开的限定。本公开实施例的飞行器也可以是例如,诸如固定翼等的其他适当形式的飞行器,尤其是轻型飞行器。

根据本公开的实施例的飞行器的飞行能够更加稳定,改善了飞行器的可操作性、降低了操作者的操控难度并提升了用户的体验。

而且,在根据本公开的实施例的飞行器中,能够消除或减小陀螺仪的积分累积误差,且该积分累积误差的消除或减小并不需要基于加速度数据的互补滤波。因此,使得难以利用飞行器的加速度数据进行互补滤波的飞行器也能够稳定地飞行,这对于扑翼类飞行器(尤其是单尾舵/单电机型的扑翼类飞行器)尤为有用。这是因为,扑翼类飞行器无法悬停,其舵机非左即右,不转向时由于翅膀工艺所限,也不能保证两侧完全一致,因此其运动模式经常处于圆周运动状态。因为有重力以外的向心力持续作用,所以不能够使用飞行器的加速度数据来计算姿态角从而补偿陀螺仪的积分累积误差。这一问题在单舵机/单电机型的扑翼类飞行器上更加凸显。而根据本公开的实施例的飞行器无需飞行器的加速度数据也能够实现稳定飞行,从而解决了由于飞行器固有特点而导致的控制难题。

在下文中,本公开将结合图5至图11详细说明根据本公开的实施例的飞行器的控制方法。

图5是根据本公开的实施例的飞行器的控制方法的一个示例流程图。如图5所示,根据本公开的实施例的飞行器的控制方法从步骤s500开始。

在步骤s500处,获取飞行器的偏航角的角速度,该偏航角的角速度由陀螺仪(例如,图3中的陀螺仪301)测量。陀螺仪例如可以为单轴陀螺仪或三轴陀螺仪。

在一个实施例中,为了使陀螺仪的测量结果更准确,可以对陀螺仪进行零偏校准,以减少陀螺仪本身静态偏差对数据的影响。在一个实施例中,可以通过以下方法来对陀螺仪进行零偏校准。假设陀螺仪为三轴陀螺仪,当陀螺仪三轴数据连续在预定时间段(例如20s)小于预定值(例如100dps)时,认定陀螺仪处于静止状态,记录此时的陀螺仪数据。在后续每次测量时,将陀螺仪测量的数据减去如上所述记录的静止状态下的陀螺仪数值的结果作为实际的角速度。

然后方法前进到步骤s510。在步骤s510处,基于偏航角的角速度,不考虑飞行器的加速度而确定飞行器的偏航控制信号,其将在稍后结合图6和图7详细描述。在获得了偏航控制信号之后,方法前进到步骤s520。在步骤s520处,基于偏航控制信号,调整飞行器的飞行。

结合图5描述的根据本公开的实施例的飞行器的控制方法,可以基于陀螺仪测量的偏航角的角速度不考虑飞行器的加速度而调整飞行器的偏航飞行,使得飞行器,特别是扑翼类飞行器的偏航飞行更加稳定。

图6是进一步示出图5中的基于偏航角的角速度,不考虑飞行器的加速度而确定飞行器的偏航控制信号(即,步骤s510)的一个示例流程图,其从步骤s512开始。在步骤s512处,基于偏航角的角速度,不考虑飞行器的加速度而确定飞行器与期望偏航方向的偏转角度。

之后,方法前进到步骤s514。在步骤s514处,基于偏转角度,确定偏航控制信号。具体地,可以通过闭环控制方法,例如,诸如pid、pi或pd等的具有负反馈作用的闭环控制方法,基于所获得的偏转角度确定偏航控制信号。

在一个实施例中,可以通过对所述偏转角度进行pid控制,输出用于控制飞行器的飞行的舵机力度和方向,即,偏航控制信号。示例性地,可以通过式(1)来获得舵机力度,

fs=kp*cy+ki*∫cy*dt+kd*dcy/dt(1)

其中,fs表示用于控制飞行器的飞行的舵机力度,cy表示飞行器与期望偏航方向的偏转角度,∫cy*dt表示对cy进行积分运算,dcy/dt表示对cy进行微分运算,kp、ki和kd是常数。在一个实施例中,kp=1,ki=0.001,kd=0.1。应当注意,前述实施例中的kp、ki和kd的取值仅仅是示例,而不是限定。本领域技术人员可以根据飞行器的参数和控制精度需要而进行适当地设置。

其中,cy越大,即表示飞行器与期望偏航方向的偏转角度越大,也就是飞行器偏离期望偏航方向的程度越大。当cy较大时,即,飞行器在某时刻偏离程度较大时,通过基于上述式(1)的控制方法,尤其是式(1)中的第一项,即kp*cy,能纠正飞行器的偏离。当累积的cy增大时,即,飞行器在某段时间累积的偏离程度较大时,通过基于上述式(1)的控制方法,尤其是式(1)中的第二项,即ki*∫cy*dt,能减少累积误差。当短时间内cy变化较快时,即,飞行器急剧偏离时,通过基于上述式(1)的控制方法,尤其是式(1)中的第三项,即kd*dcy/dt,能快速纠正飞行器的偏离。由此,通过基于上述方式进行控制,能够对飞行器的各种偏离模式都进行相应地调整。

关于舵机的方向,在一个实施例中,可以基于cy来确定舵机的方向,例如,如果cy>0,则向使cy减小的方向打舵;如果cy<0,则向使cy增大的方向打舵。应当理解,前述确定舵机的方向的方法仅仅是示例,而不是对本公开的限定。

除了使得飞行器的飞行更加稳定之外,上述结合图6描述的飞行器的控制方法由于是基于飞行器与期望偏航方向的偏转角度来调整飞行器的飞行的,因而可以通过设置适当的期望偏航方向来实现飞行器的各种飞行(例如直线飞行、盘旋飞行、螺旋飞行等),不仅简化了操作者的操作,而且与仅能直线飞行的单一模式相比,丰富了操作者的体验。

关于确定飞行器与期望偏航方向的偏转角度(即,图6中的步骤s512),在一个实施例中,可以通过对偏航角的角速度进行积分来获得偏航角。然后根据式(2)来确定飞行器与期望偏航方向的偏转角度。

cy=ay-θ(2)

其中,cy表示飞行器与期望偏航方向的偏转角度,ay表示偏航角,θ表示期望偏航角度。

在该实施例中,可以通过设置适当的θ来实现飞行器的各种飞行。例如将θ设置为0可以实现飞行器的直线飞行;将θ设置为非0常值可以实现飞行器的盘旋飞行,等等。

与结合图6描述的飞行器的控制方法相比,上述实施例通过对偏航角的角速度进行积分来获得偏航角,可以消除或减少过程噪声,使得飞行器的飞行更加稳定。这是因为,扑翼类飞行器的翅膀扇动为往复运动,一次扇动结束,翅膀会回到原位,因此,通过对偏航角的角速度进行直接积分,可以抵消翅膀扇动的一个周期期间内所产生的过程噪声。

关于图6中的步骤s512,在上述实施例中,通过对偏航角的角速度进行积分来直接获得偏转角度。在另一个实施例中,可以根据如图7所示的流程来确定所述偏转角度。图7所示的确定飞行器与期望偏航方向的偏转角度的方法从步骤s512_2开始。

在步骤s512_2处,对偏航角的角速度进行积分,获得偏航角。然后,方法前进到步骤s512_4。在步骤s512_4处,对偏航角进行滤波,获得滤波后的偏航角。具体地,可以通过对当前时刻偏航角和前一时刻滤波后的偏航角求差,并基于所述差值来进行滤波。在一个实施例中,可以使用低通滤波器,例如iir低通滤波器来对偏航角进行滤波。在一个示例实施例中,可以使用截止频率为5hz-20hz的iir低通滤波器来对偏航角进行滤波,获得滤波后的偏航角。应当理解,前述实施例中的滤波器类型和截止频率仅仅是示例,而不是限定。本领域技术人员可以根据飞行器的类型、飞行器的翅膀扇动等选择合适的滤波器并设置相应的截止频率。

在获得了偏航角和滤波后的偏航角之后,方法前进到步骤s512_6。在步骤s512_6处,基于偏航角和滤波后的偏航角,确定飞行器与期望偏航方向的偏转角度。在一个实施例中,可以根据式(3)来确定飞行器与期望偏航方向的偏转角度,

cy=ay-by-θ(3)

其中,cy表示飞行器与期望偏航方向的偏转角度,ay表示偏航角,by表示滤波后的偏航角,θ表示期望偏航角度。

在本公开的实施例中,通过对偏航角(即,陀螺仪测量的角速度的积分结果)和滤波后的偏航角求差,能够消除或减小陀螺仪的积分累积误差,使得飞行器的飞行更加稳定。

而且,在本公开的实施例中,上述积分累积误差的消除或减小是通过对陀螺仪测量的角速度先进行积分、再基于前一时刻滤波后的数据进行滤波、然后对积分结果和滤波后的数据求差而进行的,其更加适用于机体运动频率与噪声频率相近的飞行器,例如,扑翼类飞行器。这是因为,传统的互补滤波通常适用于动力源为高频电机带动的扇叶的飞行器(例如,旋翼飞行器),其噪声频率与机体运动的频率相差很大,可以通过对陀螺仪测量的数据直接进行滤波来消除或减小过程噪声。而对于扑翼类飞行器,由于其翅膀扇动和真实运动的噪声频率接近,因此如果直接对陀螺仪测量的角速度进行滤波,可能会滤掉有效信号。在本公开实施例中,通过如上所述的处理方式,能够有效地消除或减小陀螺仪的积分累积误差,使得飞行器的飞行更加稳定。

在以上参考图5至图7描述的实施例中,基于飞行器与期望偏航方向的偏转角度来确定偏航控制信号。在本公开的另一实施例中,还可以基于飞行器与期望偏航方向的偏转角度的变化率来确定偏航控制信号。在一个实施例中,可以根据式(4)或式(5)来确定偏转角度的变化率,

dy=(ay-θ)/ay(4)

dy=(ay-by-θ)/ay(5)

其中,dy表示飞行器与期望偏航方向的偏转角度的变化率,ay表示偏航角,by表示滤波后的偏航角,θ表示期望偏航角度。

基于偏转角度的变化率来确定偏航控制信号和如上所述的基于偏转角度来确定偏航控制信号的方法类似,不同之处在于在闭环控制中所涉及的控制参数(例如,上式(1)中的kp、ki和kd)的具体取值可以不同。因此,为了简洁,此处省略其详细描述。

与基于偏转角度来确定偏航控制信号相比,基于偏转角度的变化率来确定偏航控制信号可以提高各陀螺仪之间的一致性,减少陀螺仪因生产精度问题彼此之间存在差异而导致的测量结果的差异,使得使用根据本公开的实施例的飞行器的控制方法的不同飞行器之间的性能表现更加一致。

在上文中,本公开结合图5至图7描述了根据本公开的实施例的可以调整飞行器的飞行的控制方法。

在根据本公开的实施例的控制方法中,飞行器的飞行能够更加稳定,改善了飞行器的可操作性、降低了操作者的操控难度并提升了用户的体验。

而且,在根据本公开的实施例的控制方法中,能够消除或减小飞行器的积分累积误差,且该积分累积误差的消除或减小并不需要基于飞行器的加速度数据的互补滤波。因此,对于难以利用飞行器的加速度数据进行互补滤波的飞行器提供了一种有效的稳定飞行的控制方式,这对于扑翼类飞行器(尤其是单尾舵单电机型)尤为有用。

此外,在根据本公开的实施例的控制方法中,通过对陀螺仪测量的角速度进行积分来获得偏航角。这能够消除或减少过程噪声,使得飞行器的飞行更加稳定,这对于周期过程噪声较大的飞行器(例如,扑翼类飞行器)尤为有用。

进一步地,在根据本公开的实施例的控制方法中,在积分后基于前一时刻滤波后的数据进行滤波,并使用滤波前的数据和滤波后的数据的差来作为控制量。这能够消除或减小陀螺仪的积分累积误差,使得飞行器的飞行更加稳定,而且更加适用于机体运动频率与噪声频率相近的飞行器,例如,扑翼类飞行器。

此外,在根据本公开的实施例的控制方法中,可以对陀螺仪进行零偏校准。这能够进一步减少陀螺仪本身静态偏差对数据的影响,使得飞行器的飞行更加稳定。

以上,结合图5至图7描述了根据本公开的实施例的调整飞行器的偏航飞行的控制方法。在下文中,本公开将结合图8至图11描述根据本公开的实施例的可以调整飞行器的俯仰飞行(即,飞行高度)的控制方法。

图8是根据本公开的实施例的飞行器的控制方法的另一示例流程图。如图8所示,根据本公开的实施例的飞行器的控制方法从步骤s800开始。

在步骤s800处,获取反映飞行器的飞行高度的高度参数。在一个实施例中,高度参数可以为气压,例如,由气压计测量。在另一个实施例中,高度参数可以为高度,例如,由高度计测量。应当理解,气压和高度可以相互转换。在本公开中,气压计和高度计的作用类似,即,用于获得直接或间接反映飞行器的飞行高度的参数。此外,还应当理解,前述实施例中的气压和高度仅仅是反映飞行器的飞行高度的高度参数的示例,而不是对其的限定。

在获得了反映飞行器的飞行高度的高度参数之后,所述方法进行至步骤s810。在步骤s810处,基于高度参数,不考虑飞行器的加速度而确定飞行器的高度控制信号。关于步骤s810中的确定飞行器的高度控制信号,稍后将详细描述。之后,方法前进到步骤s820。在步骤s820处,基于高度控制信号,调整飞行器的飞行。

结合图8描述的根据本公开的实施例的飞行器的控制方法,可以基于气压计(或高度计)测量的反映飞行器的飞行高度的参数,不考虑飞行器的加速度而调整飞行器的俯仰飞行,使得飞行器,特别是扑翼类飞行器的俯仰飞行更加稳定。

关于步骤s810中的基于高度参数,不考虑飞行器的加速度而确定飞行器的高度控制信号,在一个实施例中,可以通过如下步骤来确定飞行器的高度控制信号:计算目标高度对应的高度参数与获取的高度参数之间的差值,以及基于所述差值来确定飞行器的高度控制信号。

具体地,可以根据式(6)来计算目标高度对应的高度参数与获取的高度参数之间的差值,

d=pe-p(6)

其中,d是目标高度对应的高度参数与获取的高度参数之间的差值,pe是目标高度对应的高度参数,p是获取的高度参数。

在获得了差值d之后,可以通过闭环控制方法,例如,诸如pid、pi或pd等的具有负反馈作用的闭环控制方法,基于所述差值来确定飞行器的高度控制信号。在一个实施例中,可以根据式(7)来确定飞行器的电机机构的转速,即飞行器的高度控制信号,

m’=m+kp*d+ki*∫(d)*dt+kd*dd/dt(7)

其中,m’表示输出给电机机构的控制量,即电机机构应该达到的转速,m表示上一次的控制量,即,电机机构的当前转速,∫(d)*dt表示对d进行积分运算,dd/dt表示对d进行微分运算,kp、ki和kd是常数。在一个实施例中,kp=100,ki=0.001,kd=1。应当注意,前述实施例中的kp、ki和kd的取值仅仅是示例,而不是限定。本领域技术人员可以根据飞行器的参数和控制精度需要而进行适当地设置。

此外,为了使高度参数更准确,在高度参数用于确定高度控制信号之前,可以通过修正参数对获取的高度参数进行修正。在一个实施例中,可以通过式(8)来对高度参数进行修正,

p’=p-w(8)

其中,p’表示修正后的高度参数,p表示获取的高度参数,w表示修正参数,该修正参数为与飞行器所使用的气压计或高度计相关的常数,具体取值可以由本领域技术人员根据需要适当地设置,在此不作限定。

在另一个实施例中,可以通过式(9)来对高度参数进行修正,

p’=p-m*γ(9)

其中,p’表示修正后的高度参数,p表示获取的高度参数,m是飞行器的电机机构的当前转速,γ为实验整定参数,具体取值可以由本领域技术人员根据需要适当地设置,在此不作限定。

与式(8)所示的使用固定的修正参数来修正高度参数相比,式(9)所示的修正方法考虑了飞行器的电机机构的转动的影响,使得修正后的高度参数更准确。

关于步骤s810中的基于高度参数,不考虑飞行器的加速度而确定飞行器的高度控制信号,在一个实施例中,可以通过如下步骤来确定飞行器的高度控制信号:对高度参数进行滤波,获得滤波后的高度参数;计算目标高度对应的高度参数与滤波后的高度参数之间的差值,以及基于所述差值来确定飞行器的高度控制信号。其中,计算目标高度对应的高度参数与滤波后的高度参数之间的差值,与上述计算目标高度对应的高度参数与获取的高度参数之间的差值相同;并且其中基于所述差值来确定飞行器的高度控制信号,与上述基于所述差值来确定飞行器的高度控制信号相同。因此,为了简洁,此处省略其详细描述。

关于对高度参数进行滤波,获得滤波后的高度参数,在一个实施例,可以通过式(10)来对获取的多个高度参数进行滤波,即对获取的多个高度参数进行去极值移动平均滤波,

pa=(p[i]-max(p[n])-min(p[n]))/(n-2)(10)

其中,pa表示滤波后的高度参数,p[i],i=1…n表示获取的高度参数,n是大于等于3的整数,max(p[n])表示n个获取的高度参数中的最大值,min(p[n])表示n个获取的高度参数中的最小值。

与上述基于直接获取的高度参数来确定高度控制信号相比,基于滤波后的高度参数来确定高度控制信号可以去除获取的高度参数中的异常值,平滑获取的高度参数,使得用于确定高度控制信号的高度参数更加准确。

本领域技术人员能够理解,以上所述的去极值移动平均滤波仅为示例。本领域技术人员可以通过对获取的多个高度参数进行其他各种方式的统计平均,并进行滤波。

图9是根据本公开的实施例的飞行器的控制方法的又一示例流程图。图9所示的飞行器的控制方法从步骤s900开始。在步骤s900处,获取反映飞行器的飞行高度的高度参数,其与图8中的步骤s800类似,为了简洁,此处省略其详细描述。之后,方法前进到步骤s910。在步骤s910处,获取俯仰角的角速度,其与图5中的步骤s500类似,为了简洁,此处省略其详细描述。在获取了高度参数和俯仰角的角速度之后,方法前进到步骤s920。在步骤s920处,基于高度参数和俯仰角的角速度两者,不考虑飞行器的加速度而确定飞行器的高度控制信号。稍后,将结合图10和图11详细描述步骤s920中的确定飞行器的高度控制信号的处理。之后,方法前进到步骤s930。在步骤s930处,基于高度控制信号,调整飞行器的飞行,其与图8中的步骤s820类似,为了简洁,此处省略其详细描述。

与结合图8所述的飞行器的控制方法相比,结合图9所述的飞行器的控制方法基于高度参数和俯仰角的角速度两者来确定飞行器的高度控制信号,考虑了飞行器的俯仰角的角速度对飞行器的飞行高度的影响,使得飞行器的俯仰飞行更加稳定。

关于步骤s920中的基于高度参数和俯仰角的角速度两者,不考虑飞行器的加速度而确定飞行器的高度控制信号,在一个实施例中,可以基于图10所示的流程来确定飞行器的高度控制信号。如图10所示,在本公开的一个实施例中,确定飞行器的高度控制信号的方法从步骤s922开始。

在步骤s922处,对高度参数进行滤波,获得滤波后的高度参数。之后,方法前进到步骤s924。在步骤s924处,计算滤波后的高度参数与期望高度参数之间的差值。在步骤s926处,对俯仰角的角速度进行积分,获得俯仰角。在获得了所述差值和所述俯仰角之后,方法前进到步骤s928。在步骤s928处,基于所述差值和所述俯仰角来确定飞行器的高度控制信号。

关于步骤s928中的确定飞行器的高度控制信号的处理,在一个实施例中,可以使用图11所示的流程来确定飞行器的高度控制信号。如图11所示,在本公开的一个实施例中,确定飞行器的高度控制信号的方法从步骤s928_2开始。

在步骤s928_2处,对俯仰角进行滤波,获得滤波后的俯仰角,其与图7中的步骤s512_4类似,为了简洁,此处省略其详细描述。之后,方法前进到步骤s928_4。在步骤s928_4处,基于俯仰角和滤波后的俯仰角,确定飞行器与水平面之间的偏转角度,其将在稍后详细描述。在获得所述差值和所述偏转角度之后,方法前进到步骤s928_6。在步骤s928_6处,对差值和所述偏转角度进行数据融合,获得融合后的差值,其将在稍后详细描述。之后,方法前进到步骤s928_8。在步骤s928_8处,基于融合后的差值来确定飞行器的高度控制信号,其与上述基于目标高度对应的高度参数与获取的高度参数之间的差值来确定飞行器的高度控制信号类似,为了简洁,此处省略其详细描述。

关于步骤s928_4中的确定飞行器与水平面之间的偏转角度,在一个实施例中,可以根据式(11)来确定所述偏转角度,

cz=az-bz(11)

其中,cz表示飞行器与水平面之间的偏转角度,az表示俯仰角,bz表示滤波后的俯仰角。

关于步骤s928_6中的对所述差值和所述偏转角度进行数据融合,在一个实施例中,可以使用式(12)来对所述差值和所述偏转角度进行数据融合,

d’=d*a1+cz*β*a2(12)

其中,d’表示融合后的差值;d表示融合前的差值(例如在步骤s924处计算的差值);a1和a2是常数且a1+a2=1;β为常数,反映飞行器与水平面之间的偏转角度对高度参数的影响,其单位为(高度参数的单位)/(偏转角度的单位)。在一个实施例中,β=0.5,a1=0.9,a2=0.1。应当注意,前述实施例中的β、a1、和a2的取值仅仅是示例,而不是限定。本领域技术人员可以根据飞行器的参数和控制精度需要而进行适当地设置。

此外,在本公开的实施例中,除了可以对所述差值和飞行器与水平面之间的偏转角度进行数据融合,获得融合后的差值之外,还可以对所述差值和飞行器与期望俯仰方向之间的偏转角度进行数据融合,获得融合后的差值,这意味着在俯仰轴方向,只有当飞行器头部角度变化到一定程度时才对控制产生影响。

此外,和上述确定偏航控制信号类似,除了可以基于飞行器与水平面之间的偏转角度来确定俯仰控制信号之外,在本公开的实施例中,还可以基于飞行器与水平面之间的偏转角度的变化率来确定俯仰控制信号。确定飞行器与水平面之间的偏转角度的变化率与确定飞行器与期望偏航方法的偏转角度的变化率类似,为了简洁,此处省略其详细描述。

此外,应当注意,上述图9和图10中的基于高度参数和俯仰角的角速度两者来确定飞行器的高度控制信号的步骤不完全是必须的。在一个实施例中,可以省略步骤s922,即直接使用获取的高度参数来确定高度参数差值。在一个实施例中,可以省略步骤s928_2,即直接使用俯仰角来确定飞行器与水平面之间的偏转角度。

在上文中,本公开结合图5至图7描述了根据本公开的实施例的可以调整飞行器的偏航飞行的控制方法;以及结合图8至图11描述了根据本公开的实施例的可以调整飞行器的俯仰飞行(即,飞行高度)的控制方法。应当理解,虽然在上文中分开描述了控制飞行器的偏航飞行的控制方法和控制飞行器的俯仰飞行的控制方法,但是这两者的实施例可以相互结合。也就是说,根据本公开的实施例的飞行器的控制方法,可以在不考虑飞行器的加速度的情况下,基于陀螺仪测量偏航角的角速度生成飞行器的偏航控制信号,并且基于气压计(或高度计)测量的反映飞行器的飞行高度的高度参数或者基于所述高度参数和陀螺仪测量的俯仰角的角速度两者生成飞行器的俯仰控制信号,从而同时控制飞行器的偏航飞行和俯仰飞行,实现飞行器的稳定飞行。关于飞行器的稳定飞行,在本公开中,其是指飞行器的实际飞行轨迹与期望飞行轨迹之间的偏移在一定范围内。

在上文中,本公开结合图3至图4b描述了根据本公开的实施例的飞行器,以及结合图5至图11描述了根据本公开的实施例的飞行器的控制方法。为了更清楚地示出飞行器在根据本公开的实施例的飞行器的控制方法的控制下的飞行,在下文中,本公开将结合图12和图13给出飞行器在根据本公开的实施例的飞行器的控制方法的控制下的示例飞行轨迹。

图12示出了飞行器在根据本公开的实施例的飞行器的控制方法的控制下的一个示例飞行轨迹。当将期望偏航角度θ设置为0,例如将上式(3)中的θ设置为0,且期望飞行高度固定时,可以实现如图12所示的稳定直线飞行,其中oq为期望飞行轨迹,op为飞行器的实际飞行轨迹。

如上所述,在本公开中,飞行器的稳定飞行是指飞行器的实际飞行轨迹与期望飞行轨迹之间的偏移在一定范围内。因此,如图12所示的飞行器的稳定直线飞行是指飞行器的实际飞行轨迹op与期望飞行轨迹oq的偏移在阈值范围内。所述飞行轨迹的偏移可以仅基于终点的偏移计算,基于飞行期间的多个预定中途点的偏移计算,或基于飞行期间的多个预定时刻的偏移计算,等等。所述偏移可以为绝对偏移,也可以为相对偏移。所述阈值范围可以由本领域技术人员取决于计算所述偏移的具体方式、以及所述飞行器的参数等等而适当设置,在此不作限定。

图13示出了飞行器在根据本公开的实施例的飞行器的控制方法的控制下的另一个示例飞行轨迹。当将期望偏航角度θ设置为非0常数,例如将上式(3)中的θ设置为非0常数,且期望飞行高度固定时,可以实现如图13所示的稳定盘旋飞行,其中1310为期望飞行轨迹,1320为飞行器1300的实际飞行轨迹。

应当理解,上述图12和图13所示的飞行轨迹仅仅是示例,而不是限定。通过合适的设置期望偏航方向(即,期望偏航角度θ)以及飞行高度可以组合出诸如八字飞行、螺旋飞行、椭圆飞行等的各种飞行。

在上文中,本公开结合图3至图4b描述了根据本公开的实施例的飞行器,结合图5至图11描述了根据本公开的实施例的飞行器的控制方法,并结合图12和图13描述了飞行器在根据本公开的实施例的飞行器的控制方法的控制下的一些示例飞行轨迹。在下文中,本公开将结合图14和图15来描述根据本公开的实施例的飞行器的控制装置。

图14是根据本公开的实施例的飞行器的控制装置的一个示例框图。如图14所示,根据本公开的实施例的飞行器的控制装置1400可以包括陀螺仪1410、处理器1420和执行机构1430,其中,陀螺仪1410用于测量偏航角的角速度,处理器1420用于执行结合图5至图7描述的根据本公开的实施例的飞行器的控制方法,执行机构1430用于基于处理器1420生成的控制信号调整飞行器的飞行。

图15是根据本公开的实施例的飞行器的控制装置的另一个示例框图。如图15所示,根据本公开的实施例的飞行器的控制装置1500可以包括陀螺仪1510、处理器1520、执行机构1530和气压计(或高度计)1540,其中,陀螺仪1510用于测量偏航角的角速度和俯仰角的角速度中的至少一个,气压计1540用于测量反映飞行器的飞行高度的高度参数,处理器1520用于执行结合图5至图11描述的根据本公开的实施例的飞行器的控制方法,执行机构1530用于基于处理器1520生成的控制信号调整飞行器的飞行。

应当理解,图14和图15中所示的根据本公开的实施例的飞行器的控制装置的各个组件的连接方式仅仅是示例,而不是对本公开的限定。取决于飞行器中各组件的安装位置等的要素,本领域技术人员可以根据需要适当地连接图14和图15中所示的各个组件。此外,本公开还提供了一种飞行器的控制装置,包括:处理器;存储器;以及存储在所述存储器中的计算机程序指令,所述计算机程序指令被所述处理器运行时执行根据本公开的任一实施例所述的飞行器的控制方法的步骤。

此外,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时实现根据本公开的任一实施例所述的飞行器的控制方法。

至此,本公开已经结合附图描述了根据本公开的实施例的飞行器、飞行器的控制方法、飞行器的控制装置以及计算机可读存储介质,其使用陀螺仪,或使用陀螺仪和气压计(或高度计),通过独特的滤波方法来识别扑翼类飞行器的飞行姿态,从而实现飞行器的自我稳定飞行。由此,解决了现有扑翼类飞行器,特别是单尾舵单电机的扑翼飞行器,不能基于飞行器的加速度数据来实现自我稳定飞行的问题。

需要说明的是,以上描述仅为本公开的一些实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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