STM32
直播中

凌晨3点睡

12年用户 563经验值
私信 关注
[问答]

如何用stm32搞一个四轴飞行器的飞控?

如何用STM32搞一个四轴飞行器的飞控?

回帖(1)

许印固

2021-11-22 10:19:12
今天是我写的第一篇博客hhh,可能文章思路混乱,大家海涵。
最近想自己用stm32搞一个四轴飞行器的飞控,现在进展比较缓慢,主要受制于想做一个wifi无线透传的视频实时传递。用了一个新的模块,调起来难度比我想象的大不少。今天调试单片机又出现了内存管理失败。有点烦。。
不过好在,很久之前就在matlab simulink里面做了pid控制器的仿真。仿真文件上传了csdn下载资源(https://download.csdn.net/download/qq_42420828/12522747),今天一看有了七个下载。想着写个博客来记录一下制作的思路。
simulink仿真文件主要包括三部分。分别是matlab内机械多体运动学模型的搭建、pid控制器的搭建、各个旋翼升力转换模型的搭建。
首先是机械多体运动学模型的搭建。这部分可以使用sw等软件绘制出三维模型,再转换为.XML或者.URDF文件导入到matlab simulink中,这部分网上教程很多。最后实现的效果大概就是这样。





图中只能获得小四轴的质量和形状信息,并不能获得各个机翼产生的升力。因此直接在多体模型的运动关节处输入只能仿真无人机的偏航角。这就需要讲机翼转速通过一定算法转换为机翼产生的升力。





整个多体运动学模型通过一个六自由度关节连接到世界坐标系。通过一定的算法将每个机翼的升力转换为在六自由度方向的力和力矩。





这样就搭建出了仿真模型。之后,通过simulink自带的pid模块搭建出飞控控制器。





搭建控制器的思路就是典型的飞控设计思路,这个可以参考很多教程和书籍。
上传的下载资源里面已经把pid调节的差不多了。





这是对于圆轨迹的跟踪情况,除了一开始起飞的几秒出现了一定的跟踪误差,之后可以获得不错的跟踪效果。
我使用的是matlab 2019a版本,资源已经上传了。https://download.csdn.net/download/qq_42420828/12522747
举报

更多回帖

发帖
×
20
完善资料,
赚取积分