Pixhawk Support Package

本文档详细介绍了如何在MATLAB R2017a和R2017b中集成PX4飞行堆栈,包括安装过程、配置PX4固件、设置Windows10bash环境和Linux构建环境的步骤,以及运行示例模型的方法。

一、

https://ww2.mathworks.cn/hardware-support/px4-autopilots.html

二、

https://download.youkuaiyun.com/download/jonelly/11504800

此版本的支持包与MatlabR2017a和R2017b兼容。它也工作在MatlabR2018a的外部模式功能的限制。若要使用此支持包,请遵循以下说明:

 

  1. 单击上面的链接并保存.mltbx 文件到可从MatlabR2017b访问的位置。
  2. 打开MATLABR2017b并导航到文件位置。
  3. 双击.mltbx 文件在MATLAB当前文件夹窗口中。
  4. 点击安装然后接受许可协议。

 

此PSP为支持PX4飞行堆栈的目标设备提供了必要的块。此块集是为代码生成而创建的。

应遵循的重要步骤

1.) 安装后,mltbx文件中,您将需要采取其他步骤来设置PX4PSP。根据您的操作系统遵循下面的说明。在这两种情况下,您都需要创建和指定一个文件夹来放置PX4固件。

首先,运行PixhawkPSP('px4 firmware folder')命令,该命令显示UI,并选择保存设置并退出纽扣。必要的文件将在您指定的文件夹中为安装过程的其余部分提供。例如,>> PixhawkPSP('c:\px4')

Windows 10指令

设置Windows 10 bash环境。假设您遵循了Microsoft的说明,下一步是运行一个shell脚本,该脚本获取在bash中运行PX4工具链所需的所有包。这,这个.sh脚本将出现在此文件夹中。{px4 firmware folder}\Win10bash_shell_setup\windows_bash_nuttx.sh..这个 {px4 firmware folder} 在PSP的安装过程中指定。此脚本负责使用CMAKE、Python和ARM-GCC编译器v5.4等应用程序设置Windows 10 Ubuntubash。

这个脚本最初是基于一个由PX4开发人员提供.

了解有关Windows 10 Bash的更多信息请参阅:microsoft文档.

在所有设置正确之后(这包括运行.sh 脚本,它提供Python和CMAKE等),再次运行PSP安装程序。转到区段2以获得更多的指示。

注:您可能需要使用C:\Windows\System32\bash.exe用于下载固件并在UI中进行构建,但请切换到C:\Windows\Sysnative\bash.exe 建立后运行的构建和下载从一个SIMULINK模型。

Linux指令

注意:这些说明中的一些假设您是在没有构建工具的情况下设置Linux构建环境,或者是首次设置了PX4编译。

安装 gcc-arm-none-eabi v5.4.有几种方法可以做到这一点。下面是一种使用Windows 10 Bash中使用的完全相同的工具链的方法:

wget https://github.com/SolinGuo/arm-none-eabi-bash-on-win10-/raw/master/gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2

tar -jxf gcc-arm-none-eabi-5_4-2017q2-20170512-linux.tar.bz2

exportline="export PATH=$HOME/gcc-arm-none-eabi-5_4-2017q2/bin:\$PATH"

if grep -Fxq "$exportline" ~/.bashrc; then echo " GCC path already set."; else echo $exportline >> ~/.bashrc; fi

. ~/.bashrc

接下来,运行提供的Installshell脚本来设置构建工具、CMAKE、Python和其他依赖项。这个 ‘ubuntu_sim_common_deps.bash’ 剧本是为你做的。您可以在文件夹中找到它。{px4 firmware folder}/Linux_setup..它最初是基于这个bash脚本

2.) 从MATLAB运行PixhawkPSP安装UI。您需要指定一个现有文件夹:

例如,在Windows 10中:

>> PixhawkPSP('c:\px4')

例如,在Linux中:

>> PixhawkPSP('/home/myusername/px4_v1.6.5')

理想情况下,选择一个空文件夹或放置PX4固件的某个位置,如c:\px4_firmware_1_6_5.在本例中,固件将放置在 c:\px4_firmware_1_6_5\Firmware.

如果您是第一次设置,请按下载固件纽扣。这将运行一个bash脚本,它从MathWorksGistub存储库(如UI中所示)克隆必要的文件。Pixhawk PSP UI将固件克隆到指定的PX4文件夹位置。如果你愿意的话,你可以克隆px4 gizub。来自MathWorks的固件(或UI中指定的标记)。确保更新所有子模块。

接下来,选择CMAKE固件。如果您的目标是PixhawkMini和Pixhawk2.1立方体,您将需要选择v3。如果计划针对其他PX4平台,可以单击习俗选项并输入make文件的名称。请注意,您需要对CMAKE/src文件进行必要的修改,以添加PX4Simulink应用程序。你可以看到哪个文件对应于正确的硬件平台。.

因此,例如,如果您想支持Pixhawk 3 Pro,您可以指定 “px4fmu-v4pro_default”.

单击构建固件按钮并等待完成。在此之后,您可以自由地尝试PSP提供的示例模型。见PX4 PSP部分在“帮助”的“补充软件”部分中。

 

 

 

 

https://ww2.mathworks.cn/hardware-support/forms/pixhawk-downloads-conf.html?elqsid=1539355962160&potential_use=Education

<think>好的,我需要帮助用户搭建一个使用Pixhawk飞控和数传,通过Simulink 2024a(已安装UAV Toolbox)将电脑端计算的信息传输给无人机并控制其执行的系统。首先,我得理清整个流程,确保每个步骤都正确无误。 用户可能对硬件和软件的连接不太熟悉,所以第一步应该检查硬件准备情况。需要确认用户是否有Pixhawk飞控、数传模块、无人机机体以及必要的线缆。数传通常有地面端和机载端,得确保它们正确配对,并且通过USB连接到电脑和Pixhawk。 接下来是软件环境。用户已经安装了Simulink 2024a和UAV Toolbox,可能需要确认是否安装了其他必要的支持包,比如Embedded Coder和Simulink Coder,因为生成代码并部署到硬件上是必须的。此外,需要确保Pixhawk的固件版本与UAV Toolbox兼容,可能需要更新到ArduPilot或PX4的最新版本。 然后是Simulink的配置。用户需要建立与Pixhawk的通信,这里可能涉及到设置硬件参数,选择正确的通信端口,配置数传的传输协议。可能需要使用UAV Toolbox提供的Simulink块来发送控制指令,比如姿态或位置命令。 接着是模型的搭建。用户需要设计一个Simulink模型,能够处理传感器数据或算法,生成控制指令,并通过数传发送到无人机。这里可能需要使用UAV Toolbox中的Pixhawk Target Support块,或者自定义的通信协议。同时,要考虑数据传输的实时性和稳定性,可能需要调整数传的波特率和通信频率。 然后是部署和测试。生成代码并下载到Pixhawk后,需要进行室内悬停测试,确保无人机能够正确响应Simulink发送的指令。可能需要监控遥测数据,检查延迟和丢包情况,调整模型参数或通信设置以优化性能。 用户可能遇到的常见问题包括数传连接不稳定、Simulink模型编译错误、Pixhawk无法识别指令等。需要提供相应的解决方法,比如检查接线、更新驱动、重新配置模型参数等。 最后,需要强调安全注意事项,比如在测试时使用螺旋桨保护罩,确保空旷的测试环境,以及备用方案防止失控。整个流程需要分步骤详细说明,确保用户能够逐步跟随操作,避免遗漏关键细节。</think>好的!以下是基于Pixhawk飞控和Simulink 2024a的无人机控制系统的分步搭建指南: --- ### **一、硬件准备** 1. **设备清单** - Pixhawk 4/5 飞控(建议固件版本:ArduPilot 4.3+ 或 PX4 1.14+) - 数传模块(如3DR Radio、Holybro SIYI等,需包含地面端和机载端) - 无人机机体(电机、电调、电池等已组装完成) - Micro USB线(连接Pixhawk与电脑) - 安全设备(螺旋桨保护罩、空旷测试场地) 2. **硬件连接** - 将数传机载端通过TELEM端口连接Pixhawk - 数传地面端通过USB连接电脑 - 确认Pixhawk与遥控器/接收机已绑定 --- ### **二、软件环境配置** 1. **MATLAB/Simulink设置** - 确认已安装: - UAV Toolbox - Simulink Coder - Embedded Coder - 在MATLAB命令行输入 `targetupdater`,选择Pixhawk对应固件(ArduPilot或PX4)并安装支持包 2. **Pixhawk固件更新** - 使用Mission Planner/QGroundControl为Pixhawk刷写最新固件 - 在参数列表中设置: ``` SERIALx_PROTOCOL = 2 (MAVLink2) SERIALx_BAUD = 57600(与数传波特率一致) ``` --- ### **三、Simulink模型搭建** 1. **通信接口配置** - 新建Simulink模型 - 添加UAV Toolbox中的 `MAVLink Communication` 模块 - 设置参数: - 选择数传地面端对应的COM端口 - 波特率与硬件设置一致(默认57600) - System ID = 1(地面站ID) 2. **控制指令生成** - 添加 `Command Type` 模块(例如:位置控制用 `SET_POSITION_TARGET_LOCAL_NED`) - 设计控制算法(如PID控制器)并连接至MAVLink输出模块 - 示例模型结构: ``` [控制算法] → [MAVLink Pack] → [MAVLink Send] ``` --- ### **四、代码生成与部署** 1. **模型配置** - 模型设置 → Solver:选择固定步长(Fixed-step),步长建议0.01s - 硬件实现 → Hardware Board:选择Pixhawk(需提前通过Support Package安装) 2. **生成代码** - 点击 `Ctrl+B` 生成代码 - 将生成的二进制文件(.apj或.px4)通过USB烧录到Pixhawk --- ### **五、实时控制测试** 1. **启动流程** - 无人机上电,等待Pixhawk完成自检 - 在Simulink中启动模型(需先连接数传) - 发送解锁指令:在模型中加入 `ARM_DISARM` 指令块(参数:ARM = 1) 2. **指令验证** - 通过Simulink的 `Telemetry Display` 模块监控无人机状态(如姿态、位置) - 逐步发送控制指令(先低空悬停测试) --- ### **六、常见问题解决** 1. **数传连接失败** - 检查设备管理器中的COM端口占用 - 使用 `mavlinkio('status')` 命令诊断MAVLink连接状态 2. **指令无响应** - 确认飞控模式设置为GUIDED(通过RC开关或MAVLink指令) - 检查参数 `ARMING_CHECK` 是否允许软件解锁 3. **数据延迟** - 降低Simulink模型步长(如0.02s → 0.01s) - 减少MAVLink消息发送频率(非关键数据设为低频) --- ### **注意事项** - 首次飞行务必移除螺旋桨或使用安全架 - 建议通过 `HIL Simulation` 模式进行硬件在环仿真测试 - 数传距离受限(通常<1km),需根据场景选择4G模块或更高功率数传 如需具体模型搭建示例,可提供您的控制需求(如位置跟踪、路径规划),我会进一步细化设计步骤!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值