基于MATLAB/Simulink的四旋翼无人机PID控制与仿真(1)
基于MATLAB/Simulink的四旋翼无人机PID控制与仿真本文介绍四旋翼无人机动力学基础与控制模型
本文共分为数篇文章介绍“基于MATLAB/Simulink的四旋翼无人机PID控制与仿真”:
1、前言与四旋翼动力学与控制模型<<(您在此处)
2、四旋翼控制系统设计与基于MATLAB/Simulink的仿真模型搭建(点此跳转)
3、系统模型完善与飞行控制测试(点此跳转)
4、针对正弦输入稳定控制的系统改进(待更新)
5、控制系统的离散化与c++飞控代码导出(待更新)
感谢读者朋友们的支持,建议大家按上述顺序分篇阅读本文~
后续内容将【持续更新】~ 欢迎大家关注阅览!
目录
一、前言
1、为什么要进行四旋翼无人机的控制理论学习与仿真实践?
在无人机飞行控制领域,四旋翼无人机是最常见、也是最基础的无人机设计之一,通过对四旋翼无人机展开研究可以对一般无人机的动力学及控制基础建立认知。对于自动化、精密仪器与导航控制专业的从业者而言,四旋翼无人机控制集成了自动控制原理、理论力学、惯性导航系统、信号与系统等多项必修课中的大量知识,因此适合学习实践。
2、本文的写作意图:
在本人研究和学习过程中,发现四旋翼无人机控制仿真方面的免费网络学习资料较少,学习时遇到了一定的困难,故计划写一篇文章贡献给互联网,希望能给同道中人带来一些帮助。另一方面也是想总结记录一下个人的研究过程。
3、本文的写作水平,与试读人群:
飞行器控制与导航、自动化、航空航天领域的本科生及研究生。
4、一些与本文相关的学习资料汇总:
《多旋翼飞行器-设计与控制》——全权——电子工业出版社
《多旋翼飞行器-设计与控制实践》——全权、戴训华、王帅——电子工业出版社
《MATLAB/Simulink系统仿真》——李献、骆志伟、于晋臣——清华大学出版社
《PID控制系统设计-使用MATLAB/Simulink仿真与分析》——Liuping Wang——清华大学出版社
《MATLAB/Simulink动力学建模与控制仿真实例分析》——王砚、黎明安等——机械工业出版社
需要说明的是,本文并非完全自主的原创,模型在搭建过程中参考了以上书籍,特别是北京航空航天大学全权教授所著的《多旋翼飞行器-设计与控制》一书,个人认为该书是从事多旋翼方面学习和研究的必读之书。
5、最后的一些说明:
由于本人水平不高,亦非纯正的自动化专业,对控制理论的理解和仿真模型的设计肯定不如专业的大佬们,文章发在这里一方面能够为大家抛砖引玉、也欢迎指点和讨论,大家共同进步。
二、四旋翼仿真基本假设
四旋翼从布局上分为X型布局和十字型布局,据说X型布局更易控制,本文采用X型布局。如需进行十字型布局四旋翼的设计与仿真,可以采取与本文类似的办法,如法炮制即可。
1、坐标系与螺旋桨转向设置
地理坐标系e-xyz,近似为惯性坐标系。
载体坐标系b-xyz,采用右前上坐标系,如图,z轴指向纸面外。
机体z轴偏航:1号和3号螺旋桨顺时针旋转,给予机体z轴正向反扭矩;2号和4号螺旋桨逆时针旋转,给予机体z轴负向反扭矩。
机体x轴侧飞:2号和3号螺旋桨转速降低,1号和4号螺旋桨转速增加,机体右倾,产生向右飞行趋势;左飞反之。
机体y轴前飞:1号和2号螺旋桨转速降低,3号和4号螺旋桨转速增加,机体前倾,产生向前飞行趋势;后飞反之。
2、 欧拉角设定与机体姿态
本文按作者本人习惯设定的欧拉角,可能与一般书上既定的规定方式不一样(狭义而言可能甚至不能称之为欧拉角),在此需要特殊说明一下。
本文用来分别表示机体的俯仰角pitch,横滚角roll,偏航角yaw,也分别对应着机体绕自身x轴、y轴、z轴的旋转。规定正负均以右手定则同实际坐标轴朝向保持一致。
对于欧拉角的规定,本文从机体坐标系b系到地理坐标系e系,通过依次绕当前x轴,y轴,z轴旋转得到,即b系绕x轴旋转θ到n系,n系绕y轴转ϕ到k系,再绕z轴旋转ψ到e系。坐标系转换矩阵如下
机体旋转角速度与姿态角关系
需要说明的是,对于四旋翼无人机运动学理论而言,上述推导过程及结论十分重要,但其并非仿真需要重点考虑的内容,欲知推导详情可以查阅网络,建议读者根据自己的无人机设计和欧拉角规定自行推导。
对于四旋翼无人机控制与仿真而言,由于机体俯仰角与横滚角将控制在比较小的范围内(四旋翼机身不会发生很大角度的倾倒),即
故此处取近似
则机体旋转角速度与姿态角关系可简化为
其中I是3阶单位矩阵(公式中应为粗体)。
3、其他假设
飞行器螺旋桨相对距离不变,飞行器整体为刚体。
三、四旋翼无人机动力学基础
1、机体运动学
2、机体位置动力学
3、机体姿态动力学
4、螺旋桨动力学
四、四旋翼飞行控制模型
1、四旋翼底层飞行控制框架
本小节所述的四旋翼底层飞行控制框架是四旋翼无人机飞行控制的精髓以及仿真工作的根基所在,为了表达准确,请允许作者援引北京航空航天大学全权教授著作《多旋翼飞行器-设计与控制》中第11章的部分内容,建议读者深入领悟。
书中讲到,多旋翼的底层飞行控制分为四个层次,分别为位置控制、姿态控制、控制分配和电机控制。由于多旋翼系统有6个输出(三轴位置和三轴姿态角),而只有4个独立输入(总拉力F和三轴力矩Tx,Ty,Tz),故多旋翼系统是一个欠驱动系统。因此,多旋翼只能跟踪4个期望指令(三轴预期位置输入和预期偏航角输入),剩余的期望指令(预期俯仰角和预期横滚角)由前者计算决定。
书中给出的多旋翼底层飞行控制框架
书中给出的闭环控制框架
2、线性化控制系统
线性化的动力学系统:
根据上述系统方程,加之小角假设,经过简单地计算得到以下三个模型。
水平位置通道模型:
高度位置通道模型:
姿态模型:
后文将根据上述三个模型设计四旋翼的位置控制器与姿态控制器,详见本文下一篇内容。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)