基础实验篇 | PX4控制器的外部通信

PX4控制器的外部通信

01

实验名称及目的

**PX4控制器的外部通信:**在进行硬件在环仿真时,我们常常需要向设计的Simulink控制器中发送数据(传感器数据、故障触发、控制指令、参数调整等),同时接收一些感兴趣的数据。RflySim平台的Simulink控制器设计功能,提供了rfly_ctrl这一uORB消息来接收外部数据(UDP发送指定结构体到CopterSim的30100系列端口),同时提供rfly_px4这一uORB消息来向外发送数据(向40100系列端口发送特定数据)。本例程以外部发送的rfly_ctrl数据来作为遥控器输入,同时会将收到的数据向rfly_px4发送出去,回传给外部程序。

02

实验效果

在Simulink直接控制硬件在环仿真中的飞机。

03

运行环境

①:推荐配置请见:https://doc.rflysim.com/1.1InstallMethod.html

②:须保证平台安装时的编译命令为:droneyee_zyfc-h7_default,固件版本为:1.12.1。其他配套飞控请见:http://doc.rflysim.com/hardware.html 。

04

实验步骤

Step 1:

打开MATLAB软件,运行Init_control.m文件,同时将打开PX4ExtMsgReceiver.slx文件,在Simulink中,点击编译命令。

Step 2:

在Simulink的下方点击View diagnostics指令,即可弹出诊断对话框,可查看编译过程。在诊断框中弹出Build process completed successfully,即可表示编译成功,左图为生成的编译报告。

Step 3:

用USB数据线链接飞控与电脑。在MATLAB命令行窗口输入:PX4Upload并运行或点击PX4 PSP:Upload code to Px4FMU,弹出CMD对话框,显示正在上传固件至飞控中,等待上传成功。

Step 4:

打开QGroundControl软件。确认无人机机架设置如下:

Step 5:

上传成功后,双击打开"*\桌面\RflyTools\HITLRun.lnk"或"*\PX4PSP\RflySimAPIs\HITLRun.bat"文件,在弹出的CMD对话框中输入插入的飞控Com端口号,即可自动启动RflySim3D、CopterSim、QGroundControl软件,等待CopterSim的状态框中显示:PX4: GPS 3D fixed & EKF initialization finished。

Step 6:

在MATLAB中运行PX4ExtMsgSender.slx文件,在运行过程中,滑动CH5的Slider模块至最大值1900处,代表飞机解锁,滑动CH3的Slider模块,来模拟飞机油门,实现飞机起飞动作,可在RflySim3D观察到飞机起飞。

同时,在PX4ExtMsgSender.slx模型中,也可看到飞机的一些状态量,具体定义如下:

相关推荐
意法半导体STM326 小时前
【官方原创】LAT6041 STM32MP1x USB OTG FIFO设置
stm32·单片机·嵌入式硬件·mcu·fifo·stm32mp1x
音视频牛哥6 小时前
“人工智能+”走向产业深处:音视频产业的机遇、挑战与技术选择
人工智能·音视频·具身智能·whip/whep·人工智能+·smartmediakit·国务院人工智能+行动
笨笨饿6 小时前
#145 _Codex 三层故障详细排查与修复步骤
开发语言·人工智能·stm32·单片机·嵌入式硬件
高升说6 小时前
掌心相机工程化:灵巧手近距视觉的 5 个硬门槛
人工智能·数码相机
亚远景aspice6 小时前
亚远景-工信部汽车创新设计新规落地:研发端安全收紧,ASPICE 为什么成了必备抓手
人工智能·安全·汽车·aspice·过程能力评估·aspice评估
传感器与混合集成电路6 小时前
多通道伺服数据采集模块国产ADC 16位同步采样与运放调理设计
嵌入式硬件
夏悠7 小时前
安装PaddlePaddle进行本地OCR教程及避坑指南
人工智能·ocr·paddlepaddle
AI你一生一世8 小时前
Cloudflare OS:当边缘网络开始承载 Agent 运行时
人工智能·serverless·边缘计算·容器编排·cloudflare os·agent 运行时
JJJennie7778 小时前
2026年大模型网关自建还是买?MAI Gateway等主流方案横评
人工智能·开源·gateway·ai网关
拆房老料10 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt