![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
控制
井底之蛤
后来啊遇到的人都来自鹅山
展开
-
利用simulink 进行PID参数自动调制
PID控制简单易上手,主要针对单输入单输出系统,根据响应进行调节,是应用最广泛的控制方法,simulink有PID模块具备自动调整PID参数的功能:点击PID模块,点击tuner:根据需求进行参数调制,主要是优化的目标及收敛能力和瞬态特性:...原创 2021-12-13 20:32:34 · 10762 阅读 · 2 评论 -
航模第二篇-如何开始玩航模
这篇主要以四旋翼为例讲如何开始玩四旋翼,当我们买来一架四旋翼后进行组装和连线。首先是装好机架,其次是连接飞控、电调、电机与电池之间的连线,这部分可以在网上找到,值得注意的是电机刚开始时不要装桨叶,电机需要相邻两个反转,会有1234四个顺序编号,这个不能装错,否则新手飞起来直接拍脸上,切记切记!!!!如何连接这些部件可以参考网上去搜,桨叶如何安装 呢?首先用502将锥形垫粘到电机杆上,少滴点以防流入电机,待粘牢固后安装桨叶,注意正反与电机正反一致,在电机上贴胶带通电观察,桨叶需要拧紧。这一步是原创 2021-07-02 11:03:48 · 673 阅读 · 0 评论 -
马赫数和速度相互转换函数(matlab插值计算)
function [Mach] = v2Mach(v,h)% 速度与马赫数转换函数,插值计算% 输入:速度v 单位 m/s ,高度h 单位m 输出:MachH=[0 100 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 8000 ... 8500 9000 9500 10000 11000 12000 13000 14000 15000 16000 17000 18000 19000 20.原创 2021-04-29 22:01:58 · 3134 阅读 · 0 评论 -
控制学习思考
状态空间的优点是可以容易的研究非零状态初始条件对系统的影响,状态空间是一个一阶微分系统,可以实现对高阶系统的降阶处理,相较于高阶系统的传递函数形式其对数字病态条件敏感度较低。根轨迹可以实现利用开环传递函数研究闭环系统的特性,通常是用于分析开环增益对闭环系统零极点的影响,设计开环增益。对于任意参数(如系统阻尼、刚度)主要有两种方式实现,一是等效为开环增益,二是计算其闭环特征方程(开环分子+开环分母=0)在任意参数取不同值下的根,画出轨迹连成线。时域即以时间为自变量,频域即以频率为自变量。分析和设计原创 2021-04-23 10:27:02 · 181 阅读 · 0 评论 -
自动控制理论开环与闭环思考(从飞行控制角度)
飞行器控制初期是将飞行器作为线性、时不变系统进行分析,线性即输入和输出为线性关系,对应小扰动线化,时不变是指系统性能不随时间变化,对应配平点,飞机在飞行过程中会长时间保持一种状态,比如巡航,速度高度不变,此时作为受控对象,飞机的控制性能是时不变的。应对时变我们是通过增益调度和切换飞行模式的策略实现的。注:线性关系式通过拉氏变换实现的,这种线性关系是频域视角实现的。时域与频域的关系,相位、幅值、频率实现时域与频域相互映射,相位反映了输入与输出的延迟,延迟与控制系统元器件性能相关,若输入和输出相位相差180°原创 2021-04-05 14:24:55 · 1145 阅读 · 0 评论 -
气动参数的拟合
气动参数一般有两种使用方法,插值和拟合,拟合计算较快,写程序简单。matlab有自带函数regress可以进行多元参数最小二乘拟合,可以拟合出想要的形式,得到每一项的系数。clc;clear;close;alpha1=xlsread('SR72数据.xlsx','sheet1','C4:C19');CD1=xlsread('SR72数据.xlsx','sheet1','D4:D19');plot(alpha1,CD1)alpha2=xlsread('SR72数据.xlsx','sheet1',原创 2021-01-25 12:12:57 · 1030 阅读 · 0 评论 -
卡尔曼滤波学习
clear;clc;F=[1 1;0 1];B=[0.5;1];H=[0 1];X=[10; 10];%初始状态U=1;%加速度P=[1 0;0 1];%初始协方差矩阵Q=[0.001 0;0 0.001];Z=1:1000;%测量值,匀加速运动noise=15*randn(1,1000);%测量噪声100个Z=Z+noise;R=1;state=zeros(2,1000);for i=1:1000 state(:,i)=X; %根据上步最优值计算估计值 X_.原创 2021-01-11 22:34:01 · 227 阅读 · 0 评论 -
可控性如何理解
可控即控制量能够对状态量产生影响原创 2020-11-18 21:48:16 · 2247 阅读 · 0 评论 -
从牛顿定律到飞行器动力学
牛顿运动定律牛顿第一定律:不受力或受合力为零的质点做匀速直线运动或静止牛顿第一定律的作用是定义惯性系,满足牛顿第一定律即是惯性系,相对于惯性系静止或匀速运动且没有相对转动的坐标系是惯性系牛顿第二定律:质点所受合外力等于质量乘以加速度牛顿第二定律只能在惯性系中使用,在非惯性系中要用惯性力修正,牛顿第二定律构建了力与运动的关系,即为动力学方程动量矩定理亦是此理飞行器动力学研究的是飞行器质心的动力学和绕质心转动的动力学,另一个问题是坐标系,原始方程都是在惯性系下列出的,但我们研究飞行器动力原创 2020-10-03 21:29:12 · 683 阅读 · 0 评论 -
simulink仿真结果剧烈震荡的一个原因
simulink模型仿真后有时会发现结果图像呈现十分剧烈的等幅振荡的现象,可能的原因之一是我们在其中使用了积分模块,积分模块采用默认的变步长。这也给我们一个启示就是在调用一个模块的时候要注意其可以设置的部分是哪些,比如积分模块就有许多种方式可供选择,我们常用的是龙格库塔方法,但不注意采用了系统默认的方法就有可能出现问题。若不去注意出现问题会浪费很多时间去摸排。...原创 2020-08-30 16:01:17 · 7677 阅读 · 1 评论 -
利用ode45求解含控制量并且控制量为离散点的动力学方程
1、写出微分方程函数2、求解function dy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);end%将微分方程写成函数形式,待调用options=odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T Y]=ode45(@rigid,[0 12],[0 1 1],options);plot(T,Y(:,1),'-',T,Y原创 2020-07-29 10:44:17 · 2252 阅读 · 1 评论 -
无人机如何利用卫星导航系统信息
不同的卫星导航系统有不同的坐标系,例如GPS采用的坐标系为WGS-84,我国北斗导航系统采用的是CGCS2000,俄罗斯GLONASS采用的是PZ-90,这些坐标系的不同在于椭球的参数不同,高程指的是物体到椭球切平面的距离,不同坐标系同一经纬度点高程相差较大。根据不同卫星导航系统解算得到的坐标通常为LBH,经度L、纬度B和高程H,这是一致的。但是对于无人机导航来说用经纬度导航是不现实的,因为经度差1°地表距离相差100km,我们通常要将LBH坐标转化为地心固连坐标系的XYZ坐标,再转换为当地北东...原创 2020-07-20 16:41:21 · 1143 阅读 · 0 评论 -
飞机气动导数的插值计算_Matlab
在进行飞行力学建模时飞机的气动导数一般由拟合公式或插值表给出,拟合公式使用起来比较简单,插值表需要用插值方法计算,气动导数通常与两个变量有关,是二元插值问题,下面是Matlab计算气动导数一例:function [ Cndr_0 ] = Cndr( alpha_0,beta_0 )% 输入单位为度% 计算指定攻角和侧滑角下的Cndralpha=[-10 -5 0 5 10 15 20 25 30 35 40 45]';beta=[-30 -20 -10 0 10 20 30]';C原创 2020-06-08 09:46:34 · 2870 阅读 · 0 评论 -
经典控制理论和现代控制理论中用到的matlab函数简介(飞控设计)
时域分析:num:代表传递函数分母 den:代表传递函数分子 sys代表传递函数sys=tf(num,den) tf:传递函数(transform function的缩写)sys=zpk(z,p,k)其中z=[z1 z2 z3 z4....] p=[p1 p2 p3 ......] z(zero) p(pole) zpk:传递函数的零极点形式,例如zpk(sys1)就可以将多项式的形式转化为零极点形式sys=series(sys1,sys2) 串联sys=parallel(sys1,s.原创 2020-05-21 10:47:47 · 2483 阅读 · 1 评论 -
纵向增稳设计
飞机纵向增稳设计过程:1、建立simulink模型 2、l利用linmod函数计算得到等效的闭环传递函数 3、通过matlab自带的根轨迹函数rlocus做出根轨迹图进行反馈增益调节,相应代码如下:clc;clear all;close;[A,B,C,D]=linmod('aq_feedback');[num,den]=ss2tf(A,B,C,D);rlocus(-1*num(1,:),den)simulink模型如下图所示:对于纵向来讲我们主要调整长周期和短周期运动: 对于长..原创 2020-05-12 15:27:45 · 1317 阅读 · 0 评论 -
飞行力学中α、γ、θ的关系
原创 2020-05-12 11:15:19 · 972 阅读 · 0 评论 -
线性控制的核心——一些思考
线性控制理论的核心即进行误差控制,这个误差就是实际值与期望值(稳态值)的误差,例如人在倒水时刚开始速度很快,水快满时倒得很慢,这就是典型的误差控制。对于不是专业学控制理论或动力学的人感觉不到李雅普诺夫的重要性,对于想学控制理论的人我推荐看点非线性动力学的书。其实现实生活当中线性系统是非常少的,我们对非线性系统的稳定性分析是在其平衡点的基础上进行扰动分析,也就是说稳定是静稳定(平衡点)和动稳定(受扰...原创 2020-05-06 18:58:40 · 616 阅读 · 0 评论 -
反馈解耦——线性二次型最优控制法
飞机控制当中,纵向最重要的任务是轨迹跟踪,横侧向最主要的任务是实现偏航和滚转的解耦,在之前写的特征结构配置当中我们通过特征向量配置实现了解耦,除了上述办法还有其他approach实现吗?在这篇文章当中我们通过使得部分交叉反馈增益值为零实现解耦的目的。基于线性二次型最优控制理论,通过调节哈密顿函数中的权重,使得反馈增益部分值为零。clc;clear;close;%% matrices of ...原创 2020-05-06 18:36:12 · 668 阅读 · 0 评论 -
输出反馈_线性二次型最优控制法
最优控制理论是现代控制理论的重要分支,主体思想是结合反馈控制、代价函数、拉格朗日乘子求得使代价函数最优的反馈增益。在matlab中有自带的lqr、lqry等函数计算,只需状态方程相应的矩阵以及Q、R矩阵便可很方便地调用。但上述函数都是采用状态反馈,无法处理输出反馈的情形,本篇文章正是解决这一问题的例子,主要采用迭代算法。clc;clear;close;%% matrices of li...原创 2020-04-23 21:17:52 · 1375 阅读 · 4 评论 -
输出反馈_特征结构配置法例子
特征结构配置即配置系统的特征值和特征向量,使系统达到预期的运动模式,期望特征值决定了收敛的快慢,特征向量决定了状态量的解耦组合,本例是战斗机航迹倾角和攻角解耦的例子,以满足战斗机追踪敌机时改变攻角进行瞄准的情形。clc;clear;close;n=5;m=2;p=5;%% Matrices of states functionA=[-1.341 0.9933 0 -0.1689 -0....原创 2020-04-21 13:44:22 · 1423 阅读 · 4 评论 -
simulink 状态空间加反馈报错
状态空间模型(可控)通过状态反馈或输出反馈可以自由配置极点和特征向量,得到理想的运动状态,通过计算得到的反馈增益矩阵K便可构建simulink模型,但常常报错,原因如下:上图展示的是simulink模型,是通过输出反馈进行设计,增益gain可以使用矩阵,但是是要点击选择的,改例中输出为列向量,增益为矩阵,因此选矩阵乘vector的类型。...原创 2020-04-18 17:57:10 · 3702 阅读 · 1 评论 -
状态反馈_matlab自带函数place
https://blog.csdn.net/JISANSAN/article/details/105370933中介绍了通过期望多项式计算状态反馈K的函数T2place,其实matlab自带状态反馈设计的函数place,不同的是直接用期望的极点进行计算,在不同的情形下可能需求不同,可以用不同的函数进行状态反馈设计来配置零极点。place函数的用法如下:p1=-10+10i;p2=-10-10i...原创 2020-04-07 19:18:35 · 13291 阅读 · 0 评论 -
现代控制—状态反馈极点配置函数(计算反馈增益k)
状态反馈极点配置要求系统是可控的,所以首先用ctrb函数计算得到可控判断矩阵Lc,对可控性进行判断,接着计算可控标准型转换矩阵Tinv,计算得到可控标准型对应的A阵(Astf),计算k_hat,最后计算得到反馈增益K。原理如下图: 可控标准型转换矩阵计算:反馈增益计算:function K=T2place(A,B,P)%A,B are system ...原创 2020-04-07 18:52:41 · 14126 阅读 · 2 评论 -
MPC-连续性模型离散化函数
function [Phi_Phi,Phi_F,Phi_R,A_e, B_e,C_e]=mpcgain(Ap,Bp,Cp,Nc,Np);%Nc control horizon%Np prediction horizon%program created for assignment number 2[m1,n1]=size(Cp);[n1,n_in]=size(Bp);%nl-- di...原创 2019-12-26 16:31:29 · 1013 阅读 · 0 评论 -
controller design
function K=T2place(A,B,P);%A,B are system matrix%P is the desired characteristic polynomial%(P=s^n+a_{n-1}s^{n-1}+\ldots+a_0)%dimension of P is n+1n=length(B);Lc=ctrb(A,B);m=rank(Lc);if (m<...原创 2019-12-22 17:35:42 · 178 阅读 · 0 评论 -
航模第一篇——遥控及飞行模拟器安装注意事项
遥控需要注意的是买一次性电池的话消耗很快,所以要买可充电的五号锂电池略贵些,一张红的左右,当然这是限于只能用干电池的。我买了个富斯i6,附带了黄金战士模拟器,其实这里面可供选择的很多,好像是不同模拟器里面的飞机模型的种类不大一样,玩四旋翼或是固定翼这一点要注意一下,我就只安装了R7,大概是9.4G,里面有一个叫加密狗的东西,就是黄色的带usb接口的那个,这个的侧面有个滑动的键,对应着不同的模拟器,...原创 2019-10-23 17:21:14 · 2121 阅读 · 0 评论 -
频域分析的理解
第一个问题,时域那么好理解为什么要进行频域分析?如果我们用一个传感器去测一个参数,得到的值随时间的变化就会是一条非常难看的曲线,就像图中那样,不,应该比图中更难看,时而剧烈时而缓和,现在的问题是你要去分析和处理数据,要将这样的曲线拟合出一个方程式来或是剔除误差,看了测得的数据你会觉得是个不可能完成的任务。比如无人机上的加速度传感器用来测加速度,除了无人机的运动加速度还会有结构振动引起的加速...原创 2019-10-20 17:26:25 · 10252 阅读 · 0 评论