【飞控】在 Windows 中为PX4自动驾驶仪安装 UAV 工具箱支持包
操作系统要求
适用于 PX4 自动驾驶仪的 UAV 工具箱支持包可以安装在以下 Windows ®版本中:
-
Windows 11(推荐)
-
Windows 10
提示:
要查找 Windows 版本,请
winver
在 Windows 开始菜单中输入。
支持的PX4自动驾驶仪
- Cube Orange
- Cube Orange+
- CUAV X7+
- Cube Blue
- Holybro Pixhawk 6X
- Holybro Pixhawk 6C
- Holybro Pixhawk 4
- mRo Pixhawk 1
- ProfiCNC Pixhawk 2.1 (Cube)
- mRo Pixracer
除了上述主板外,其他基于 FMU 的主板也可以与支持包一起使用,只需在硬件板中选择PX4 Pixhawk 系列即可。
一、安装WSL2(Windows Subsystem for Linux 2)
以管理员身份运行命令提示符(cmd),在cmd中输入wsl --list --online,就能看到不同版本的Ubuntu
wsl --list --online
输入 wsl --install -d Ubuntu-22.04。如果速度特别慢的话,可在后面加上–web-download,速度有明显改善
wsl --install -d Ubuntu-22.04
安装完成后,重启电脑
在windows搜索栏下输入Ubuntu,打开对应的Ubuntu系统,进行Ubuntu系统的用户名和密码设置。
username设置为wanchen,password设置为123456。
在命令提示符中输入wsl -l -v
查看wsl版本,如果版本号为1,需要升级为2,在cmd中运行如下命令:(这里我的版本号是2,所以并没有验证这一步)
wsl.exe update
wsl --set-default-version 2
wsl --set-version Ubuntu 2
二、安装硬件支持包
提示:过程中有步骤需要挂梯子。
1.下载UAV Toolbox Support Package for PX4 Autopilots硬件安装包
网站:https://ww2.mathworks.cn/matlabcentral/fileexchange/70016-uav-toolbox-support-package-for-px4-autopilots
2. 把硬件支持包放置到路径【~\MATLAB\R2023a\toolbox】中。
3.双击MATLAB打开,将当前文件夹的路径切换为上一步的路径。
4.双击【px4.mlpkginstall】(记住需要登录matlab),点击【我接受】。
5.下载安装进度
6.配置,点击【立即配置】
三、下载安装python3.8.2
1.选择【Automatically download and install】,点击【下一步】
2.点击【Install】
3.安装完成,点击【下一步】
四、下载安装PX4 Toolchain Setup
1.设置Cygwin Toolchain并下载PX源代码,点击【link】
2.点击【at this link】
3.下载【PX4.Windows.Cygwin.Toolchain.0.8.msi】
提示:
下载速度慢,可以下载迅雷云盘,复制下载链接,通过迅雷云盘的云添加进行下载。
4.双击【PX4.Windows.Cygwin.Toolchain.0.8.msi】,点击【Next】
5.勾选【I accept the terms in the License Agreement】,点击【Next】
6.记住安装位置(后面会用到),点击【Next】
7.点击【Install】
8.安装中
9.不勾选【Clone PX4 Repository and Start Simulation】,点击【Finish】
参考文章:PX4与MATLAB-Simulink仿真环境配置中的坑,终拨开云雾见青天_px4 simulink-CSDN博客
提示:这里原本我一直是勾选,但是克隆过程总是很慢,所以此处不勾选。
10.进入步骤15的安装路径,双击【run-console.bat】
11.执行如下代码(代码克隆需要网络好,此处我选择用网线连接有线网,避免无线网出现卡顿)
//逐行执行,且一定要翻墙
//根据网上参考,我判断一定要翻墙,但在我个人电脑上直接用wifi进行下载速度可以达到MB/s级别,而使用VPN反而下载速度为KB级别,不清楚为什么,但暂时记录为这样(偶尔如此,原因未知)
//挂VPN网速时好时坏,此处我参考文章https://zhuanlan.zhihu.com/p/481574024,实现仅对GitHub代理,速度很快git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
git clone https://github.com/PX4/Firmware.git Firmware
cd firmware
git checkout v1.10.2 //视情况而定
git submodule update --init --recursive //确保这一步成功
注意:此处我参考的文章是PX4与MATLAB-Simulink仿真环境配置中的坑,终拨开云雾见青天_px4 simulink-CSDN博客,按照官方文档https://ww2.mathworks.cn/help/uav/px4/ug/downloading-px4-source-code-wsl2.html与此处有所不同,但我暂时不清楚这里的设置有区别会有什么影响,所以暂以我尝试的这种为准。
提示:如何验证该步骤已完成?
执行下面的代码不报错
git submodule update --init --recursive
提示:网络不好时可以使用镜像网,我没尝试成功。
参考文章:
PX4配置过程与踩坑 - 云梦士 - 博客园0.前言 由于需要在GitHub下载代码,而国内访问受限,可能会出现一些问题,这里建议使用github国内镜像,参看:GitHub国内镜像网站,当然下面会给出具体解决方案。 1.步骤 1.1下载源码:git clone https://github.com/PX4/PX4-Autopilot.git
https://www.cnblogs.com/yunmeng-shi/p/16330819.htmlhttps://zhuanlan.zhihu.com/p/716252710
https://zhuanlan.zhihu.com/p/716252710
12.执行下面的代码:(笔者认为gazebo对使用MATLAB的用户似乎并没有什么作用,但还是执行了)
cd Firmware
//如果紧接着步骤11,cd文件夹不需要
make px4_sitl_default gazebo
接着你会出现报错提示,如下:
可能是因为没有安装gazebo,接下来执行:
make clean
make px4_sitl_default
然后就没有报错了
执行完以上步骤,大家就可以转到MATLAB界面了。
13.切回matlab界面配置,点击【Verify Installation】
14.点击【下一步】
五、检测PX4 Source Code
1.点击【Validate】
2.点击【下一步】
六、选择PX4应用程序
选择【Design Flight Controller in Simulink】,点击【下一步】
七、选择PX4硬件并设置构建对象
选择PX4 Autopilot board为【PX4 Host Target】,Build Target为【px4_sitl_default】,点击【下一步】。
注意:此处目前我仅需仿真,所以选用该设置。具体怎么选看个人需要,这里不会出错。如果需要硬件在环仿真,请跳至步骤九!!!
参考文章:【开发环境-PX4路径规划算法】搭建PX4+Gazebo+ROS2+microRTPS+Matlab+Simulink路径规划算法设计联合仿真环境_ros2 px4-CSDN博客文章浏览阅读5.8k次,点赞28次,收藏114次。本文详细介绍了如何在Ubuntu和Windows系统上安装和配置必要的软件,如PX4固件、FastDDS、ROS2等,以便在Gazebo和Matlab/Simulink之间创建ROS2-PX4的联合仿真环境,包括路径规划和ROS2节点的开发与连接。https://blog.csdn.net/weixin_45031928/article/details/135868243
PX4与MATLAB-Simulink仿真环境配置中的坑,终拨开云雾见青天_px4 simulink-CSDN博客文章浏览阅读1.5k次,点赞23次,收藏27次。其实对于一个非计算机专业出身的理科生,在装的过程中我犯了很多不必要的错误,其中包括频繁卸载、安装Cygwin.Toolchain,以及安装虚拟机配置Windows11环境(因为当时看了一篇博主的文章),在那里又安装了MATLAB2024版和2022版。现在回想起来这些操作很蠢,但没办法,这就像是一个小孩要学会走路,哪怕是在平地上他也会跌倒一样,不去走就永远不会知道。犯错没关系,犯了错就意味着我们把一种错误的解决法子给否掉了,在我们不断试错的过程中错误的法子会越来越少,剩下的就是正确的!_px4 simulinkhttps://blog.csdn.net/ljl151610/article/details/144850080?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-5-144850080-blog-138366879.235%5Ev43%5Epc_blog_bottom_relevance_base7&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-5-144850080-blog-138366879.235%5Ev43%5Epc_blog_bottom_relevance_base7&utm_relevant_index=9【开发环境-PX4飞控算法】搭建PX4联合Matlab和Simulink进行飞控算法设计的仿真环境_matlab px4-CSDN博客文章浏览阅读8.3k次,点赞92次,收藏97次。本文详细介绍了如何在MATLABR2024a环境下,配合UAVToolbox和WSL2,安装必要的软件包,如UAVToolboxSupportPackageforPX4Autopilots,以及解决安装过程中遇到的各种问题,包括配置WSL2、编译PX4固件等步骤。
https://blog.csdn.net/weixin_45031928/article/details/138483595
八、编译固件
点击【Build Firmware】
编译完成后matlab命令行界面显示如下:
点击【下一步】
点击【下一步】
点击【完成】
九、提示!!!(以上步骤,PX4硬件适用于纯软件仿真时,如果需要硬件在环仿真,请参考该步骤)
该步骤依然跟着上述配置之后,如果一开始就明确硬件在环仿真对应的PX4型号,可以从步骤七开始跳到该步骤进行执行。
1.点击【管理附件功能管理器】,找到UAV Toolbox Support Package for PX4 Autopilots硬件安装包,点击对应的设置图标。
2.点击【Verify Installation】
3.点击【下一步】
4.点击【Validate】
5.点击【下一步】
6.选择【Design Flight Controller in Simulink】,点击【下一步】
7.选择您的PX4硬件和构建对象,此处我选择的目标如图所示。点击【下一步】。
提示:这里我的飞控是PX4 2.4.8,PX4 Autopilot board选择【PX4 Pixhawk 1】,Build Target选择【px4_fmu-v3_default】。
提示,这里我原本选用的PX4 Autopilot board选择【My board is not listed here】,Build Target选择【px4_fmu-v3_default】。但是在后续upload时,会报错。
参考文章:
https://ww2.mathworks.cn/help/uav/px4/ug/deployment-unsupported-autopilot-simulink.html
8.选择【Use default startup script (rcS)】,点击下一步。
参考文章一:Matlab 2024 + WSL + PX4 support package 环境配置教程_matlab px4-CSDN博客
参考文章二:https://zhuanlan.zhihu.com/p/637578919
注意:参考文章一所示,未知选择另一个选项有什么区别,暂仅用选项一。参考文章二所示,选项一意为选择默认启动脚本(但默认飞行控制器是已停止),如要启动或停止特定的UORB节点选择选项二(自定义启动)。
9.下载安装QGroundControl
此处由于我电脑原本已经安装有QGroundControl,安装路径为【D:\Program Files\QGroundControl】,修改检测路径即可。
警告!!!已经安装的QGroundControl没办法检测到,尝试重新安装。
10.重装QGroundControl
点击【link】
点击【download】
下载QGroundControl-installer.exe
点击【Next】
设置安装路径【D:\Program Files\QGroundControl】,点击【Install】
安装中
安装完成
路径设置为【D:\Program Files\QGroundControl\bin】,点击【Verify Installation】,点击【下一步】
提示:在网上参考的文章均没提到要进到bin目录,但此处就是这样才能成功,原因未知。
11.点击【link】,启动QGroundControl,选择飞机类型。
12.点击【Build Fireware】,点击【下一步】
安装完成时,命令行界面如下:
13. 硬件设置
用白色连接线插上飞控,打开设备管理器,查看当前飞控连接电脑的COM是COM7。
点击【Upload Firmware】
依照弹窗中的指引,拔掉飞控,点击【确定】,重新连接飞控
检测中
观察Get Accelerometer data,这是加速度值(把PIXHAWAK放在桌子上或类似的东西上,如果Z轴约为-9.8m/s^2重力加速度也可以)
如果您使用的是其他版本的pixhawk,可以在模型的硬件设置处进行更改。
参考文章:
【开发环境-PX4路径规划算法】搭建PX4+Gazebo+ROS2+microRTPS+Matlab+Simulink路径规划算法设计联合仿真环境_ros2 px4-CSDN博客
https://zhuanlan.zhihu.com/p/637578919
Matlab 2024 + WSL + PX4 support package 环境配置教程_matlab px4-CSDN博客
PX4与MATLAB-Simulink仿真环境配置中的坑,终拨开云雾见青天_px4 simulink-CSDN博客