草庐IT

BTT控制系统六自由度仿真

Aircraft GNC 2024-05-15 原文

文章目录

1 引言

相比于STT控制技术,BTT控制技术能保证面对称飞行器的最大升力面在其需要机动的方向。采用面对称气动布局的飞行器主要为战斗机、固定翼无人机等飞机和空对地导弹、带有超燃冲压发动机的中远程空空导弹等。BTT控制和STT控制在俯仰通道的过载驾驶仪完全相同,而偏航-滚转通道不相同,因此在本节中只进行偏航-滚转通道进行控制器设计。具体就是首先进行偏航通道和滚转通道控制器的独立设计,通过调整两个通道的响应时间快慢来尽可能的抑制通道间的耦合,通过分析偏航和滚转通道的耦合项可以知道偏航通道的状态量侧滑角 是影响滚转通道自动驾驶仪性能的关键参数,BTT控制的目的就是使飞行器的侧滑角尽可能的小,所以BTT控制中偏航通道的过载驾驶仪指令过载为0,进而间接的控制侧滑角使其为0;

2 BTT导弹控制系统模型

2.1 俯仰通道

2.1 偏航/滚转通道

3 三通道控制器参数初始化

%%  BTT Six degrees of freedom autopilot simulation
close all;
clear;
clc;

%% 特征点动力学系数
% 飞行条件
V = 961;                     
height = 5000;          
c = 0;  

% 俯仰通道
a_wz = 0;          
a_alpha = 56;          
a_delta_e = 170;       
b_alpha = 1.2;       
b_delta_e = 0.13;       

% 偏航通道
a_wx = 0;
a_wy = 0;          
a_beta = 160;          
a_delta_r = 190;     
a_delta_a = -200;
b_beta = 0.6;       
b_delta_r = 0.15; 

% 滚转通道
c_wx = 0;        
c_wy = 0;    
c_beta = 140;
c_delta_a = 1440;                         
c_delta_r = -60;

%% 舵机动力学
wm_act = 60;
ksim_act = 0.5;                                                                                                                                                                                                                                                                                                                                                                                                                                     
Tm_act = 1 / wm_act;
G_duo = tf(1, [Tm_act*Tm_act,  2*ksim_act*Tm_act,  1]);  
                         
%% 俯仰通道
k_ACT = -1;
k_ac = 1;
K_A1 = 0.0039;
w_I1 = 1.2691;
k_g1 = 0.1487;
gain1 = k_g1 + c*k_ac*K_A1;
K_DC1 = 1.3418;

%% 偏航通道
K_A2 = 0.0068;
w_I2 = 0.1744;
k_g2 = 0.1152;
gain2 = k_g2 + c*k_ac*K_A2;
K_DC2 = 1.0266;

%% 滚转通道
K_roll = -0.1361;      
k_g3 = -0.0136;
K_DC3 = 1;

4 BTT自动驾驶仪六自由度仿真模型

5 仿真结果

5.1 法向/侧向加速度跟踪

5.2 滚转角跟踪/滚转角速度

5.3 俯仰/偏航角速度

5.4 攻角/侧滑角

5.5 升降舵/方向舵/副翼

有关BTT控制系统六自由度仿真的更多相关文章

  1. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

  2. ruby-on-rails - 带 Spring 锁的 Rails 4 控制台 - 2

    我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.

  3. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  4. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

  7. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  8. ruby-on-rails - 在 Rails 控制台中使用 asset_path - 2

    在我的Character模型中,我添加了:字符.rbbefore_savedoself.profile_picture_url=asset_path('icon.png')end但是,对于数据库中已存在的所有角色,它们的profile_picture_url为nil。因此,我想进入控制台并遍历所有这些并进行设置。在我试过的控制台中:Character.find_eachdo|c|c.profile_picture_url=asset_path('icon.png')end但这给出了错误:NoMethodError:undefinedmethod`asset_path'formain:O

  9. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

  10. ruby-on-rails - 带有 Pry 的 Rails 控制台 - 2

    当我进入Rails控制台时,我已将pry设置为加载代替irb。我找不到该页面或不记得如何将其恢复为默认行为,因为它似乎干扰了我的Rubymine调试器。有什么建议吗? 最佳答案 我刚发现问题,pry-railsgem。忘记了它的目的是让“railsconsole”打开pry。 关于ruby-on-rails-带有Pry的Rails控制台,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

随机推荐