Matlab2024A配置UAV Toolbox Support Package for PX4 Autopilots硬件支持包时下载完PX4源码后Matlab配置页面验证报错找不到文件夹路径的解决办法
环境:
MATLAB : R2024a
UAV Toolbox Support Package for PX4 Autopilots : 24.1.1
WSL2 Ubuntu :22.04 LTS
Windows :Windows 10 22H2
Python: 3.8.2
PX4 :1.14.0
问题描述
在WSL2中下载PX4 v1.14.0版本的源码。
点击上方的【link】按钮进入安装教程。
打开WSL2,到达用户目录下。
cd ~
从官网下载最新版本源码固件。
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
clone成功之后,进入PX4-Autopilot文件夹中。
cd PX4-Autopilot
PX4-Autopilot里面就是PX4的源码,但是它依赖了很多其他的库,所以此时不完整还不能用,我们需要更新他的依赖。
git submodule update --init --recursive
下载完PX4源码后,在Matlab配置页面这里点击【Validate】会报错找不到文件夹路径。
下载完PX4源码后Matlab配置页面验证报错找不到文件夹路径的解决办法
通过单步执行代码发现是软件包内部有两处写错了。
位置C:\ProgramData\MATLAB\SupportPackages\R2024a\toolbox\target\supportpackages\px4+codertarget+pixhawk+hwsetup\WindowsHardwareModule.m文件的第84行。
workflowObject.Px4_Base_Dir = ['\\wsl.localhost\', distributionName , strrep(workflowObject.Px4_Base_Dir, '/', filesep)];
将\\wsl.localhost\
改为\\wsl$\
即可。
之后在Matlab命令行中运行命令生成P代码。
pcode WindowsHardwareModule.m
位置C:\ProgramData\MATLAB\SupportPackages\R2024a\toolbox\target\supportpackages\px4+codertarget+pixhawk+hwsetup\HardwareInterface.m文件的第111行。
workflowObject.Px4_Simulink_Module_Dir =fullfile(workflowObject.Px4_Base_Dir,'src','modules','px4_simulink_app');
改为:
workflowObject.Px4_Simulink_Module_Dir =[workflowObject.Px4_Base_Dir,'\src\modules\px4_simulink_app'];
之后在Matlab命令行中运行命令生成P代码。
pcode HardwareInterface.m
之后再次在Matlab配置页面点击【Validate】验证即可。
参考资料: