一种飞行器控制方法、装置、电子设备及存储介质与流程

文档序号:30065593发布日期:2022-05-18 00:51阅读:145来源:国知局
一种飞行器控制方法、装置、电子设备及存储介质与流程

1.本技术涉及飞行器软件技术领域,尤其涉及一种飞行器控制方法、装置、电子设备及存储介质。


背景技术:

2.随着航空工业的快速发展,以飞行器为主的航空产品得到了自主创新性发展,目前飞行器主要分为航空器、航天器、火箭和导弹等。
3.目前的飞行器飞控软件都需要实现不同阶段或不同时序的逻辑,多是采用状态机架构实现,一般使用switch case语句构成。但这种方式较为固定,不够灵活,一旦增加阶段或时序就要重新设计架构或修改代码,无法保证飞行器控制的灵活性。


技术实现要素:

4.本技术提供一种飞行器控制方法、装置、电子设备及存储介质,以解决现有技术无法保证飞行器控制的灵活性等缺陷。
5.本技术第一个方面提供一种飞行器控制方法,包括:
6.按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,以使各所述状态单元与所述飞行器控制逻辑所包含的飞行器状态一一对应;
7.当所述飞行器控制逻辑发生变化时,确定变化对象;
8.按照所述状态机中各所述状态单元与所述飞行器状态之间的对应关系,根据所述变化对象,调整所述状态机的状态单元,以更新所述状态机的控制逻辑。
9.可选的,所述根据所述变化对象,调整所述状态机的状态单元,包括:
10.根据所述变化对象所对应的变化状态信息,确定待修改的目标状态单元;
11.根据所述目标状态单元的当前状态信息和所述变化状态信息之间的差异信息,修改所述目标状态单元的状态信息。
12.可选的,所述根据所述变化对象,调整所述状态机的状态单元,包括:
13.根据所述变化对象的逻辑信息,确定待新增的目标状态单元;
14.将所述目标状态单元添加到所述状态机。
15.可选的,所述按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,包括:
16.将所述飞行器控制逻辑拆分为多个控制对象;
17.根据各所述控制对象的时序信息,将所述多个控制对象添加到队列,得到所述飞行器的控制队列;
18.根据所述飞行器的控制队列,设置状态机的各个状态单元的状态信息。
19.可选的,所述状态单元的状态信息包括:状态名称、状态切换条件和执行状态。
20.本技术第二个方面提供一种飞行器控制装置,包括:
21.设置模块,用于按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态
信息,以使各所述状态单元与所述飞行器控制逻辑所包含的飞行器状态一一对应;
22.确定模块,用于当所述飞行器控制逻辑发生变化时,确定变化对象;
23.更新模块,用于按照所述状态机中各所述状态单元与所述飞行器状态之间的对应关系,根据所述变化对象,调整所述状态机的状态单元,以更新所述状态机的控制逻辑。
24.可选的,所述更新模块,具体用于:
25.根据所述变化对象所对应的变化状态信息,确定待修改的目标状态单元;
26.根据所述目标状态单元的当前状态信息和所述变化状态信息之间的差异信息,修改所述目标状态单元的状态信息。
27.可选的,所述更新模块,具体用于:
28.根据所述变化对象的逻辑信息,确定待新增的目标状态单元;
29.将所述目标状态单元添加到所述状态机。
30.可选的,所述设置模块,具体用于:
31.将所述飞行器控制逻辑拆分为多个控制对象;
32.根据各所述控制对象的时序信息,将所述多个控制对象添加到队列,得到所述飞行器的控制队列;
33.根据所述飞行器的控制队列,设置状态机的各个状态单元的状态信息。
34.可选的,所述状态单元的状态信息包括:状态名称、状态切换条件和执行状态。
35.本技术第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
36.所述存储器存储计算机执行指令;
37.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
38.本技术第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
39.本技术技术方案,具有如下优点:
40.本技术提供的飞行器控制方法、装置、电子设备及存储介质,该方法包括:按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,以使各状态单元与飞行器控制逻辑所包含的飞行器状态一一对应;当飞行器控制逻辑发生变化时,确定变化对象;按照状态机中各状态单元与飞行器状态之间的对应关系,根据变化对象,调整状态机的状态单元,以更新状态机的控制逻辑。上述方案提供的方法,通过以面相对象的方式,为飞行器构建状态机,当需要对飞行器控制逻辑进行更新时,只需要局部调整状态单元,提高了状态机更新效率,保证了飞行器控制的灵活性。
附图说明
41.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
42.图1为本技术实施例基于的飞行器控制系统的结构示意图;
43.图2为本技术实施例提供的飞行器控制方法的流程示意图;
44.图3为本技术实施例提供的飞行器控制装置的结构示意图;
45.图4为本技术实施例提供的电子设备的结构示意图。
46.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
49.目前的飞行器飞控软件都需要实现不同阶段或不同时序的逻辑,多是采用状态机架构实现,一般使用switch case语句构成。但这种方式较为固定,不够灵活,一旦增加阶段或时序就要重新设计架构或修改代码,无法保证飞行器控制的灵活性。在民营火箭的箭载软件中,不仅要求实时性和可靠性,还要开发的敏捷性和低成本,所以需要采用全新的状态机实现方式来进行飞行器控制。
50.针对上述问题,本技术实施例提供的飞行器控制方法、装置、电子设备及存储介质,通过按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,以使各状态单元与飞行器控制逻辑所包含的飞行器状态一一对应;当飞行器控制逻辑发生变化时,确定变化对象;按照状态机中各状态单元与飞行器状态之间的对应关系,根据变化对象,调整状态机的状态单元,以更新状态机的控制逻辑。上述方案提供的方法,通过以面相对象的方式,为飞行器构建状态机,当需要对飞行器控制逻辑进行更新时,只需要局部调整状态单元,提高了状态机更新效率,保证了飞行器控制的灵活性。
51.下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
52.首先,对本技术所基于的飞行器控制系统的结构进行说明:
53.本技术实施例提供的飞行器控制方法、装置、电子设备及存储介质,适用于调整飞行器的状态机,以适应飞行器更新后的控制逻辑。如图1所示,为本技术实施例基于的飞行器控制系统的结构示意图,主要包括飞行器和飞行器控制装置,其中,飞行器包括用于实现飞行器状态变换的状态机。具体地,该飞行器控制装置根据飞行器控制逻辑,设置并调整该状态机的状态单元。
54.本技术实施例提供了一种飞行器控制方法,用于调整飞行器的状态机,以适应飞行器更新后的控制逻辑。本技术实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于进行飞行器控制的电子设备。
55.如图2所示,为本技术实施例提供的飞行器控制方法的流程示意图,该方法包括:
56.步骤201,按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,
以使各状态单元与飞行器控制逻辑所包含的飞行器状态一一对应。
57.其中,状态单元的状态信息包括:状态名称、状态切换条件和执行状态。
58.需要说明的是,以飞行器为民用飞机为例,飞行器状态包括起飞、航行和着陆三个状态,则可以为该状态机设置三个状态单元,分别对应起飞、航行和着陆。
59.步骤202,当飞行器控制逻辑发生变化时,确定变化对象。
60.示例性的,若飞行器之前的控制逻辑是进入起飞状态5分钟后,跳转到航行状态,进入航行状态70分钟后,进入着陆状态;飞行器当前的控制逻辑是起飞状态10分钟后,跳转到航行状态,进入航行状态70分钟后,进入着陆状态,则可以确定变化对象为航行状态。
61.步骤203,按照状态机中各状态单元与飞行器状态之间的对应关系,根据变化对象,调整状态机的状态单元,以更新状态机的控制逻辑。
62.具体地,以上述实施例为例,当变化对象为飞行器状态中的航行状态时,可以定位航行状态对应的状态单元,然后调整该状态单元的状态信息,具体调整该状态单元的状态切换条件,以使当前状态机的控制逻辑与飞行器当前的控制逻辑相匹配,并且,仅需要局部调整状态单元,提高了状态机更新效率,保证了飞行器控制的灵活性。
63.在上述实施例的基础上,作为一种可实施的方式,在上述实施例的基础上,在一实施例中,根据变化对象,调整状态机的状态单元,包括:
64.步骤2031,根据变化对象所对应的变化状态信息,确定待修改的目标状态单元;
65.步骤2032,根据目标状态单元的当前状态信息和变化状态信息之间的差异信息,修改目标状态单元的状态信息。
66.具体地,可以根据变化对象所表征的状态机变化需求(变化状态信息),从状态机包括的多个状态单元中,定位待进行适应性修改的目标状态单元,然后根据该目标状态单元的当前状态信息和变化状态信息之间的差异信息,如状态切换条件差异信息和/或执行状态差异信息等,修改该目标状态单元的状态信息。
67.类似地,在一实施例中,还可以根据变化对象的逻辑信息,确定待新增的目标状态单元;将目标状态单元添加到状态机。
68.需要说明的是,由于飞行器的应用场景多种多样,为了提高状态机的复用性和灵活性,可以让该状态机支持状态单元的增设。
69.示例性的,若原始飞行器状态包括起飞、航行和着陆三个状态,此时飞行器状态包括起飞、航行、攻击和着陆四个状态,则可以确定当前状态机待增设与攻击状态相对应的目标状态单元,进一步地,在状态机中增设该目标状态单元。
70.在上述实施例的基础上,由于飞行器的控制逻辑具备较强的时序性,作为一种可实施的方式,在上述实施例的基础上,在一实施例中,按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,包括:
71.步骤2011,将飞行器控制逻辑拆分为多个控制对象;
72.步骤2012,根据各控制对象的时序信息,将多个控制对象添加到队列,得到飞行器的控制队列;
73.步骤2013,根据飞行器的控制队列,设置状态机的各个状态单元的状态信息。
74.需要说明的是,本技术实施例提供的状态机是采用面向对象的设计方法,具备较高的封装性和继承性,可以在多个飞行器型号进行复用。另外,依据飞行器飞行阶段或时序
的特点,采用队列的数据结构实现状态单元的封装,提高了软件的健壮性和完备性。
75.具体地,可以按照不同的飞行器状态,将飞行器控制逻辑拆分为多个控制对象,每个控制对象对应一种飞行器状态,然后根据各个控制对象所对应的飞行阶段或发生时间等时序信息,设置状态机的各个状态单元的状态信息。
76.具体地,在飞行器软件开发的过程中,可以获取待部署状态机(有限元状态机)的头文件,然后按照该头文件,将状态机实现库添加到软件工程中,其中,头文件包括添状态机信息方法和运行状态机方法。使用状态机类实现特定对象,后续通过添加或更改状态机的状态单元,调整飞行器的控制逻辑,最后通过运行状态机实现飞行器控制。
77.本技术实施例提供的飞行器控制方法,通过按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,以使各状态单元与飞行器控制逻辑所包含的飞行器状态一一对应;当飞行器控制逻辑发生变化时,确定变化对象;按照状态机中各状态单元与飞行器状态之间的对应关系,根据变化对象,调整状态机的状态单元,以更新状态机的控制逻辑。上述方案提供的方法,通过以面相对象的方式,为飞行器构建状态机,当需要对飞行器控制逻辑进行更新时,只需要局部调整状态单元,提高了状态机更新效率,保证了飞行器控制的灵活性。并且,依据飞行器飞行阶段或时序的特点,采用队列的数据结构实现状态单元的封装,提高了软件的健壮性和完备性。
78.本技术实施例提供了一种飞行器控制装置,用于执行上述实施例提供的飞行器控制方法。
79.如图3所示,为本技术实施例提供的飞行器控制装置的结构示意图。该飞行器控制装置30包括:设置模块301、确定模块302和更新模块303。
80.其中,设置模块,用于按照预设的飞行器控制逻辑,设置状态机的各个状态单元的状态信息,以使各状态单元与飞行器控制逻辑所包含的飞行器状态一一对应;确定模块,用于当飞行器控制逻辑发生变化时,确定变化对象;更新模块,用于按照状态机中各状态单元与飞行器状态之间的对应关系,根据变化对象,调整状态机的状态单元,以更新状态机的控制逻辑。
81.具体地,在一实施例中,更新模块,具体用于:
82.根据变化对象所对应的变化状态信息,确定待修改的目标状态单元;
83.根据目标状态单元的当前状态信息和变化状态信息之间的差异信息,修改目标状态单元的状态信息。
84.具体地,在一实施例中,更新模块,具体用于:
85.根据变化对象的逻辑信息,确定待新增的目标状态单元;
86.将目标状态单元添加到状态机。
87.具体地,在一实施例中,设置模块,具体用于:
88.将飞行器控制逻辑拆分为多个控制对象;
89.根据各控制对象的时序信息,将多个控制对象添加到队列,得到飞行器的控制队列;
90.根据飞行器的控制队列,设置状态机的各个状态单元的状态信息。
91.具体地,在一实施例中,状态单元的状态信息包括:状态名称、状态切换条件和执行状态。
92.关于本实施例中的飞行器控制装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
93.本技术实施例提供的飞行器控制装置,用于执行上述实施例提供的飞行器控制方法,其实现方式与原理相同,不再赘述。
94.本技术实施例提供了一种电子设备,用于执行上述实施例提供的飞行器控制方法。
95.如图4所示,为本技术实施例提供的电子设备的结构示意图。该电子设备40包括:至少一个处理器41和存储器42;
96.存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上实施例提供的飞行器控制方法。
97.本技术实施例提供的一种电子设备,用于执行上述实施例提供的飞行器控制方法,其实现方式与原理相同,不再赘述。
98.本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的飞行器控制方法。
99.本技术实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的飞行器控制方法的计算机执行指令,其实现方式与原理相同,不再赘述。
100.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
101.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
102.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
103.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
104.本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上
述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
105.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1