当前位置:文档之家› 基于Stateflow技术多模态飞行控制律仿真

基于Stateflow技术多模态飞行控制律仿真

 第25卷第4期杭州电子科技大学学报V ol.25,N o.4 2005年8月Journal of Hangzh ou Dianzi University Aug.2005 

基于Stateflow技术多模态飞行控制律仿真

吴了泥,黄一敏

(南京航空航天大学自动化学院,江苏南京210016)

摘要:S tateflow是有限状态机原理的图形实现,能在仿真过程中进行连续状态间的切换。无人机飞

行过程正是多模态飞行控制律的切换过程,是由飞行任务驱动的有限状态机系统。该文描述了如

何用S tateflow实现控制模态间的切换,按无人机自主导航的控制逻辑建立了S tateflow仿真模型。

仿真结果说明采用S tateflow实现多模态飞行控制律仿真的有效性。

关键词:多模态;飞行控制;自主导航;无人机

中图分类号:V249 文献标识码:A 文章编号:1001-9146(2005)04-0034-04

0 引 言

飞行控制律通常是在MAT LAB/Simulink下进行设计的,利用风洞数据建立S-function的非线性模型。按飞行包线选取平衡状态,配平、线性化后分析对象特性进而确定控制结构设计控制参数。最后进行非线性仿真,在几个有代表性的状态验证设计好的各个控制模态(Simulink方框图)。至于全包线的仿真曲线,要把控制律改写成C代码,装入飞控计算机进行实物仿真时才能看到。能在Simulink环境下做全包线的仿真验证,有助于在设计初期减少错误,优化控制和导航方法,对控制律设计具有非常重要的意义。

1 Stateflow介绍

1.1 有限状态机原理

具有有限组模式或是状态的系统称为有限状态机(FS M:Finite State Machine)。FS M系统采用事件驱动机制,当特定事件发生时,系统从A状态转换到B状态。Stateflow是有限状态机的图形实现,它以可视的状态(State)和转移(T ransition)描述FS M系统,用事件(Events)结合转移条件(C ondition)控制系统流程。

1.2 Stateflow的元素

状态代表系统的模式,只有‘激活’和‘不激活’两种状态。转移定义系统中的逻辑信号流向,如果转移发生,原来状态变成‘不激活’,而新状态成为‘激活’。事件控制状态的运行,事件不以图形呈现,和变量一样在States Explorer中定义。变量的定义要考虑作用范围,如图1所示。

图1 Stateflow的基本元素

收稿日期:2004-07-05

作者简介:吴了泥(1979-),男,福建闽侯人,硕士研究生,飞行控制.

节点也是基本元素,利用转移和节点(N ode )就可以很方便的描述计算机高级语言中的循环语句和条件转移语句,设计开发出复杂的监控逻辑。

1.3 Stateflow 和Simulink 的结合

Stateflow 可以通过定义输入输出和Simulink 交互。输入输出有数据也有事件。每个Stateflow 模块都属于子封装的Simulink 模块。仿真执行时Stateflow 机制把流程图转成Simulink 的内部描述S -func 2tion 。所以Stateflow 生成的逻辑可以直接嵌入到Simulink 模型下,两者是无缝结合的。这样就能在仿真过程用事件驱动连续行为间的切换。

2 飞行模态采用Stateflow 进行切换

飞行过程是由有限的飞行模态组成的。本文仿真使用的某型无人机自主导航过程由5个飞行模态构成,纵向有爬升、下滑、平飞,横侧向有航向跟踪、航迹控制。用状态代表各飞行模态,加上条件判断状态间的转移,就是Stateflow 对自主导航过程的有限状态机系统描述。

可以就上述飞行模态设计纵向状态Long 和横侧向状态Late 。纵向中设置爬升(Climb )、平飞(Lev 2el )、下滑(Dive )3个子状态,横侧向设置航向跟踪(Psi-tack )和航迹控制(Way-track )2个子状态。Stateflow 中的状态用方框表示可以体现层次关系,并行关系,还能有历史记录功能。导航过程纵向和横侧向同时控制,所以Late 和Long 是并行状态,

而内部子状态是互斥状态,如图2所示。

图2 模型状态层次图

进行单控制模态仿真验证时,都已把各控制模态设计成Simulink 上的子封装(Subsystem )执行模块,下一步是把Stateflow 对应的飞行状态映射到外部的Simulink 的控制模块。Stateflow 状态框Active 时对应的外部Simulink 控制模块执行,Inactive 时对应的Simulink 模块不执行,这样转移执行时就会引起外部控制模块的切换。

为实现映射关系,可采用两种方案:(1)在执行子模块内放触发模块,飞行状态输出触发函数直接触发对应的控制模块进行计算;(2)执行模块同时计算,使用开关模块来选择使用哪个模块的输出,State 2flow 输出一整型数值作为开关量的值。本文采用触发器进行横侧向的切换,纵向用开关切换,如图3所示。

除了爬升和下滑共用姿态控制模态,其他飞行模态都与控制模态一一对应。爬升和下滑切换只需改变控制指令俯仰给定量即可。注意,由于高度积分模块的存在平飞控制的执行模块不能用触发器。而且在爬升或下滑改平飞时必须把积分模块先清零(可在转入平飞控制时输出个触发事件RESET ),如图4所示。

Stateflow 每个状态有4个标志值entry 、during 、exit 和on ,分别表示进入状态、状态保持、退出状态、及发生一事件时相应的行为。可以在行为中为控制指令赋值,或是触发切换事件。

3 自主导航的仿真实现

建立飞行模态并实现了模态间的切换,Stateflow 模型就剩下对导航逻辑的描述。自主导航模式下,无人机在横侧向的航迹控制上,以及在纵向高度剖面上都实现自动控制。仿真的设计目标是采用G PS 导航(经纬度信号由非线性模型直接解算给出),按照航路文件。

导航过程,横侧向上不断计算待飞距、偏航角、侧偏距。待飞距判断进入下一个航段的时机,进入新

53第4期 吴了泥等:基于Stateflow 技术多模态飞行控制律仿真

图3 和Simulink 的连接 图4 纵向导航模型

航段时先用航向控制校正偏航角,当偏航角小于10deg ,进行航迹控制(使用偏航角和侧偏距),直到下一个航段,是个循环过程,如图5所示。纵向状态用航段高度与飞行高度差判断,是个条件转移结构,如图6所示

图5 导航横侧向控制逻辑 图6 自主导航纵向控制逻辑 

Stateflow 的图形化设计方法可以很方便的描述横侧向和纵向的控制逻辑,如图7、图4所示。主要的工作是书写转移标志,转移上的通用标志是:

event[condition ]{condition-action}/transition-action

代表:事件-条件-条件满足的行为-转移行为。条件可以是判断变量和外部输入的连续信号,与事件并用决定转移是否成立。若转移未指明事件的名称,只要满足条件,转移就会执行。当转移成立时,执行转移行为。行为的种类有数值表达式,函数调用及事件触发。注意应该使用标准C 语言格式书写数值表达式。另外,Statefow 可以链接编译.C 文件,C 代码的全局变量和全局函数(用extern 声明)在Stateflow 流程图中可直接使用。导航模型中读取航路文件和计算待飞距、偏航角及侧偏距的函数就是直接用C 代码实现的。最后仿真结果如图8-10所示。

4 结束语

仿真结果表明利用Stateflow 完全可以实现多模态飞行控制的仿真。对控制律的设计提供了有力工具。就本文的工作来说还有许多要完善的:模态切换中还应该有软化过程;可以考虑用C 语言改写高度积分模块,这样平飞执行模块也能使用触发驱动;还可以添加手动开关模块(Manual S witch )让Stateflow 模型实时处理界面的鼠标点击,实现遥控指令的验证。

63

杭州电子科技大学学报 2005年

图7 横向导航模型

图8 航迹跟踪曲线

图9 高度跟踪曲线 图10 俯仰角保持曲线

参考文献

[1] G Ham on.J Rushby.An Operational semantics for S tateflow[C].Fundamental Approaches to S oftware Engineering :7th Interna 2

tional C on ference (FASE ),v olume 2984of Lecture N otes in C om puter Science ,2004,229-243.

[2] A T iwari .F ormal Semantics and analysis methods for S imulink S tateflow M odels[DB/O L ].T echnical report ,SRI International ,

http ://w w w.csl.sri.con/users/tiwari/stateflow.html ,2002-02-01.

[3] S K owalewski ,O S tursberg ,M Fritz.A Case S tudy in T ool -Aided Analysis of Discretely C ontrolled C ontinuous Systems :The

T w o T anks Problem[C].Hybrid Systems V ,1999,163.

[4] Harel ,David.S tatecharts :A Visual F ormalism for C om plex Systems[J ].Science of C om puter Programming 8,1987,24(3):231

-274.

[5] The Mathw orks.S tateflow and S tateflow C oder ,User ’s G uide[M].Sept :2003.243-304.

[6] 孙春贞.无人机最简控制系统[D].南京航空航天硕士论文,2003,26-38.

Multi -Mode Simulation of UAV Flight Control B ased on Stateflow

WU Liao 2ni ,HUANG Yi 2min

(Nanjing University of Aeronautics and Astronautics ,College of Automation Engineer,Nanjing Jiangsu 210016,China )

Abstract :Stateflow im plements a variant of the hierarchical finite state machine ,which makes it possible to switch continuous behaviors during a simulation.The process of flight is a task -dived FS M system with limited control m odes.In this paper ,the operation of switching between flight control m odes with stateflow is describled and the fi 2nite state machine Stateflow m odel is built according to autonom ous navigation logic.The simulation result indicates that multi -m ode simulation is effective for practical UAV project.

K ey w ords :multi -m ode ;flight control ;autonom ous navigation ;UAV 7

3第4期 吴了泥等:基于Stateflow 技术多模态飞行控制律仿真

相关主题
文本预览
相关文档 最新文档