RflySim笔记

  • RflySim可用的PX4固件列表:
    RflySim笔记_第1张图片
  • 部署及安装注意事项:
    RflySim笔记_第2张图片
    如果之前部署的版本和当前部署的版本不一样,则8填 ‘ 是 ’ 。

无人机分类

RflySim笔记_第3张图片
RflySim笔记_第4张图片
RflySim笔记_第5张图片
RflySim笔记_第6张图片
RflySim笔记_第7张图片
RflySim笔记_第8张图片

RflySim笔记_第9张图片
自驾仪软件结构:
RflySim笔记_第10张图片

Simulink实现:

RflySim笔记_第11张图片
RflySim笔记_第12张图片
RflySim笔记_第13张图片

主要功能

  1. 能在Simulink中对不同的飞机模型和自驾仪算法进行仿真和测试,并能自动将算法部
    署到Pixhawk自驾仪中;
  2. 工具箱提供了一些实用实例,包括灯光控制、遥控器数据处理和姿态控制器等;
  3. 工具箱中提供了很多接口模块,用于访问Pixhawk的软硬件组件;
  4. 能自动记录传感器、执行机构以及自己部署进去的控制器的飞行数据;
  5. 能订阅和发布uORB话题消息。PX4自驾仪软件的所有数据都暂存在一个uORB消息池
    中,通过uORB订阅功能可以从消息池中读取感兴趣的话题,通过uORB发布功能可以
    特定的话题发布到消息池中供其他模块使用。

与Pixhawk自驾仪系统关系

1. Pixhawk自驾仪系统的软硬件结构包括:硬件系统(类似于电脑主机)+PX4自驾仪软
件系统(类似于主机上运行的操作系统和应用程序)的构架方式。
2. 整个PX4自驾仪软件系统可以分为若干个小模块,每个模块独立运行(多线程并行),
各个模块通过uORB消息模块的订阅与发布功能实现数据的传输与交互。
3. Simulink生成的代码部署到PX4自驾仪软件之后,不会影响原生PX4自驾仪软件的运行,
而是新增一个名为“px4_simulink_app”的独立模块(独立线程)并行于其他模块运行。
4. 由于原生PX4控制算法可能需要访问和“px4_simulink_app”同样的硬件输出资源,这
会产生读写冲突。因此,平台一键部署脚本提供了自动屏蔽PX4原生固件对执行器的
选项,以确保只有“px4_simulink_app”模块能够输出电机控制量。

代码生成与部署过程

1. PSP工具箱将在Simulink中设计的控制算法生成C代码;
2. 将该代码导入到PX4自驾仪的源代码中,生成一个“px4_simulink_app”独立运行的程序;
3. PSP工具箱调用编译工具将所有代码编译为“.px4” 的PX4自驾仪软件固件文件;
4. 将得到的固件下载到Pixhawk自驾仪中并烧录,由Pixhawk自驾仪执行带有生成的算法代码的
PX4软件。

高级扩展功能

生成的Simulink代码也可以用于替换如右图所示PX4控制软件的某些原生模块(传感器、滤波器、
姿态控制器等),但是需要手动修改PX4固件代码来屏蔽原始模块的输出接口。例如,想用
Simulink实现一个滤波器模块(输入传感器数据,输出状态滤波数据)来替换PX4原始的滤波器,
需要手动屏蔽右图中的“Position & Attitude Estimator”滤波器模块向uORB消息池发布滤波后姿
态数据(对应名为vehicle_attitude的uORB消息)。具体操作示例为:

1. 打开“Firmware\src\modules\ekf2\ekf2_main.cpp”文件
(扩展卡尔曼滤波器模块对应代码)中;
2. 在其中屏蔽掉“ORB_ID(vehicle_attitude)” 消息相关的
发送代码。例如,搜索关键字“_att_pub” 的代码行,
并找到其中含有“publish” 和“att” 的发送代码行,
将其替换为“UNUSED(att);”。这里UNUSED用于防止
编译器出现变量未使用的警告。
3. 在Simulink中编写姿态滤波器,并用uORB Write模块发
送vehicle_attitude消息即可实现姿态滤波器功能的替换。

RflySim笔记_第14张图片

软件在环

RflySim笔记_第15张图片

硬件在环

RflySim笔记_第16张图片
RflySim笔记_第17张图片
RflySim笔记_第18张图片
RflySim笔记_第19张图片
RflySim笔记_第20张图片
RflySim笔记_第21张图片
RflySim笔记_第22张图片

RflySim笔记_第23张图片
RflySim笔记_第24张图片

RflySim笔记_第25张图片
RflySim笔记_第26张图片
RflySim笔记_第27张图片

  • 旋翼飞机的分层控制

RflySim笔记_第28张图片
RflySim笔记_第29张图片

1

频率响应曲线的前提是四旋翼处于平很状态,即四旋翼悬停。
正确选择输入输出点,测试开环系统时选择输出点类型为“Open-loop output”,测试闭环系统时使用“Output Measurement”。具体可以参考官方文档。

你可能感兴趣的:(RflySim笔记)