2.1 课程学习
2.1.1 参考教材
- 全权, 戴训华, 王帅著. 多旋翼飞行器设计与控制实践[M]. 北京:电子工业出版社. 2020
注:
• 左侧的《多旋翼飞行器设计与控制实践》为2020年推出的针对飞行控制算法开发的实践课程,里面包含了部分理论知识与一系列实验,使得读者可以很快地将自己算法在Simulink中编程,并下载到Pixhawk真机中做飞行实验。
• 右侧的《多旋翼飞行器设计与控制》为2017年推出的教程,主要针对多旋翼控制理论。
2.1.2 课程网站
- RflySim基础版课程网站:http://rflysim.com
- 包含书本前四章关于平台使用相关内容
1)提供课件源码下载地址;
2)提供利用本平台开发的一些项目demo;
3)提供高级功能的基本介绍和使用方法;
4)提供常见问题的解答
2.1.3 基础版课件/源码在线下载地址
2.1.4 课件/源码本地地址
- 直接访问
RflySimAPIs\FlightControlExpCourse
文件夹 本讲PPT公益课B站视频地址为:https://www.bilibili.com/video/BV1zu411k76o - 其中
PPT_CN
包含了课程的全部中文课件 code
文件夹包含了课程对应源码- 请结合网站/PPT/源码学习飞控算法开发相关课程
注:例程文件夹中还包含了一个ADRD控制器设的例子(见ADRCDemo文件夹),和一个替换官方模块(EKF滤波、姿态控制、顶层航路等)的教程(见ReplacePX4Module文件夹)
2.1.5 Pixhawk/PX4/Simulink代码生成平台构架
Pixhawk是硬件(相当于电脑主机),PX4是飞控软件(相当于Windows操作系统),Simulink控制器生成代码后编译成固件(相当于系统iso镜像),上传到Pixhawk硬件(相当于重装系统),Simulink控制器以新线程(相当于电脑上第三方APP)独立于PX4官方控制器(相当于系统预装软件),并行运行。
2.1.6 为何屏蔽PX4输出
- PX4采用uORB发布与订阅消息机制,任何APP都可以从uORB消息池中获取和发布数据
- Simulink代码生成到Pixhawk后生成名为px4_Simulink_app的一个APP,可以通过uORB消息池机制与其他APP通信
- Simulink_App不能和PX4控制器同时访问电机,不然会产生冲突,因此需要屏蔽PX4官方输出
2.1.7 Simulink自动代码生成配置
新建任意空白slx例程文件
- 进入Simulink设置页面(MATLAB 2019b及以上需要在MODELING标签页点击设置按钮)
- 选择Hardware board设置为Pixhawk PX4后,会自动完成本平台需要的所有代码生成设置
- 可以定制任务优先级
- 配置编译选项
2.1.8 PX4PSP工具箱位置
- 任意打开一个Simulink文件,点击“库浏览器(Simulink Library Brower)”按钮,可以在其中找到PSP工具箱的“Pixhawk Target Blocks”模块库。
- 其中的模块可以看做是从PX4的uORB池中订阅或发布数据的上层封装的接口,包含了传感器、遥控器、电机、串口等功能。
- 注意:这些模块内部没有模型,只有在生成代码并编译成PX4固件时才能获取数据,在Simulink中直接运行的话,接收到的数据为全0。
- 各个模块更详细的使用方法,可以参考基础版课程或教程的第三讲。
2.1.9 实验配置
1. 推荐安装配置选项
- 推荐使用最新的Pixhawk 4(外观见下图)自驾仪,其编译命为令
px4\_fmu-v5\_default
- 重新运行安装包内“OnekeyScript.p”脚本
- 使用最新的PX4固件版本“6” — PX4-1.12.3
- 其他配置如下图所示。
2. 教材旧版安装配置选项
- 如果使用教材推荐的Pixhawk 1(外观见下图)的编译命令
px4\_fmu-v3\_default
- 重新运行安装包内“OnekeyScript.p”脚本
- 使用最新PX4固件版本“6” — PX4-1.12.3,和编译器“1” — Win10WSL
- 其他配置如下图所示。
3. 硬件配置与校验
- 硬件配置方法,请参考教程链接:
- 确认完成以下配置:
- 确认Pixhawk已经在QGC中烧入最新的1.12版本官方固件,且LED正常闪烁
- 正确连接Pixhawk与接收机,正确连接遥控器与接收机,打开QGC地面站,确定能观察到遥控器摇杆的动作信号。
- 正确对遥控器进行配置并在QGC中校准,最低位置和最高位置满足教程链接中定义。
- 确认Pixhawk飞控已经在QGC中设置选择HIL Quadcopter X机架。
- 确认QGC中飞行模式按教程配置。