概述
- RflySim可用的PX4固件列表:
- 部署及安装注意事项:
如果之前部署的版本和当前部署的版本不一样,则8填 ‘ 是 ’ 。
无人机分类
自驾仪软件结构:
Simulink实现:
主要功能
- 能在Simulink中对不同的飞机模型和自驾仪算法进行仿真和测试,并能自动将算法部
署到Pixhawk自驾仪中; - 工具箱提供了一些实用实例,包括灯光控制、遥控器数据处理和姿态控制器等;
- 工具箱中提供了很多接口模块,用于访问Pixhawk的软硬件组件;
- 能自动记录传感器、执行机构以及自己部署进去的控制器的飞行数据;
- 能订阅和发布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. 打开“Firmwaresrcmodulesekf2ekf2_main.cpp”文件
(扩展卡尔曼滤波器模块对应代码)中;
2. 在其中屏蔽掉“ORB_ID(vehicle_attitude)” 消息相关的
发送代码。例如,搜索关键字“_att_pub” 的代码行,
并找到其中含有“publish” 和“att” 的发送代码行,
将其替换为“UNUSED(att);”。这里UNUSED用于防止
编译器出现变量未使用的警告。
3. 在Simulink中编写姿态滤波器,并用uORB Write模块发
送vehicle_attitude消息即可实现姿态滤波器功能的替换。
软件在环
硬件在环
-
旋翼飞机的分层控制
1
频率响应曲线的前提是四旋翼处于平很状态,即四旋翼悬停。
正确选择输入输出点,测试开环系统时选择输出点类型为“Open-loop output”,测试闭环系统时使用“Output Measurement”。具体可以参考官方文档。
最后
以上就是鳗鱼河马为你收集整理的RflySim笔记旋翼飞机的分层控制1的全部内容,希望文章能够帮你解决RflySim笔记旋翼飞机的分层控制1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复