本文共分为数篇文章介绍“基于MATLAB/Simulink的四旋翼无人机PID控制与仿真”:
1、前言与四旋翼动力学与控制模型(点此跳转)
2、四旋翼控制系统设计与基于MATLAB/Simulink的仿真模型搭建(点此跳转)
3、系统模型完善与飞行控制测试<<(您在此处)
4、针对正弦输入稳定控制的系统改进(待更新)
5、控制系统的离散化与c++飞控代码导出(待更新)
感谢读者朋友们的支持,建议大家按上述顺序分篇阅读本文~
时隔小半年,终于更新了本系列的第三篇~欢迎大家阅览并提出意见!
————————————————
目录
一、前言
1、承上启下
在上一篇文章最后,我们已经搭建了基础的四旋翼无人机PID控制系统的数字仿真模型~
需要再次补充说明的是,上一篇最终的模型我们所期望达到的成果是,仿真程序在点击“运行”后能够完整通顺地运行完毕,期间不报红色error错误(跑通即可,不必理会黄色warning警告,无论有多少警告)。
有很多读者朋友私信我或者评论反映,按照文章中的模型进行搭建出了很多问题,没有办法正常跑通,于是在这里进行一下如下的几点说明:
(1) 【情绪稳定】首先,从写程序到搞仿真,无论是任何工程设计都会出现bug。遇到bug不要着急~首先根据报错的内容进行仔细的研读。在这里,不少读者因为英语水平受限,无法get到所报错误的含义,这就需要加倍耐心~
(2) 【夯实基础】其次,当然是在完备地掌握程序或仿真系统的基本原理之后,更容易地从原理意义上理解错误并解决。以本篇为例,个人认为,对于本专业领域的读者在具备基本的线性代数、理论力学、信号与系统、自动控制原理知识基础上,能够完全掌握本项目所涉及的全部理论。对于来自其他专业领域的读者,可以简单参考这几门课程的基础内容~
(3) 【分而治之】对于读者朋友们目前反映的两个主要的系统报错:
1、系统报存在singularity错误,或是sqrt环节存在negative value input等,此时建议在每一个sqrt环节前接入一个scope,检查仿真过程中的信号输入,大概率是出现了负值,解决办法为在sqrt环节前接入sat(saturation饱和)环节,设置信号下限为某一小正值即可;
2、系统报matrix multiply dimension云云的错误,并且在系统中数个接口处显示问号,此时检查每一个接口的向量或矩阵维数即可,保证每个矩阵乘法和加法都符合最基本的矩阵理论即可。
上面两个错误都是十分容易解决的错误,如果有读者遇到其他错误也是人之常情,可以评论或私信~
(4) 【细水长流】最后,上一篇文章结尾所搭建完毕的系统,是本项目的v0版本,也是最基础的版本。鉴于本人在本项目的研究,目前已经更新至v11版本,后面进行了非常多的更新和改进。
本篇作为本文的第三篇,将为大家继续展示并完善v0版本。本文将在前文的基础上,完成控制环节增补、参数设置、测试等工作,在不考虑性能(低超调、快、准等)的前提下,保证系统对于一般输入(阶跃、斜坡)的响应稳定性。
如果对于后续版本以及本人研究方向感兴趣的读者,欢迎进一步评论与私信~
2、其他的一些说明
本文适读人群:飞行器控制与导航相关专业,如自动化、电子信息工程、机械工程、仪器科学与技术、控制科学与工程、航空航天工程等专业的本科生及研究生。
本文关键词:飞行器控制、多旋翼、动力学系统仿真、控制系统仿真。
主要参考书籍:《多旋翼飞行器-设计与控制》——全权——电子工业出版社
同样地,为了照顾其他专业领域的读者,本文将尽可能详细地讲述操作过程~
【敬告】 如将本文用于毕业设计、论文,或以任何形式转载、转发,均务必声明引用并详注出处!在未经声明的情况下,在毕业设计、论文、互联网或其他任何公开场合使用本文中的语句、段落、仿真模型等内容者,一经发现,本人必然追究版权及学术道德责任!
其他的废话不在前言赘述了,下面进入正文~
二、初始模型回顾与环节增补
基于上篇文章搭建的simulink模型,即方才讲到的v0版本系统,在这里进行一下重新展示(具体的搭建过程,见前两篇文章)。
需要注意的是,为了保证仿真输出即控制系统的稳定性,系统进行了一些环节增补和修改,下面会同步进行说明。
1 <系统总览-封装模块与输入接口之间的连接>

2 <位置控制器-PositonController-内部环节设置>
