【TIPS】Matlab2024A配置UAV Toolbox Support Package for PX4 Autopilots硬件支持包时下载完PX4源码后配置验证报错找不到文件夹路径的解决办法

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】验证即可。

在这里插入图片描述


参考资料:

UAV Toolbox Support Package for PX4 Autopilots

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据你提供的错误信息,可以看到在ROS路径中缺少gazebo_ros这个。这可能是因为你没有安装gazebo_ros或者ROS环境没有设置好导致的。 你可以尝试以下几个步骤来解决这个问题: 1. 确认你已经安装了gazebo_ros。你可以在终端中运行以下命令来安装: ``` sudo apt-get install ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control ``` 如果已经安装,可以尝试重新安装或者更新一下。 2. 确认你的ROS环境变量设置正确。你可以在终端中运行以下命令来查看ROS_PACKAGE_PATH环境变量: ``` echo $ROS_PACKAGE_PATH ``` 确认其中是否含了gazebo_ros的路径,例如: ``` /opt/ros/noetic/share:/home/levelmoon/SLAM/catkin_ws/src:/home/levelmoon/SLAM/Prometheus-main/Modules/common:/home/levelmoon/SLAM/Prometheus-main/Simulator/gazebo_simulator:/home/levelmoon/SLAM/Prometheus-main/Modules/uav_control:/home/levelmoon/SLAM/Prometheus-main/Modules/tutorial_demo:/home/levelmoon/SLAM/Fast-Drone-250-master/src:/opt/ros/noetic/share:/home/levelmoon/tools/PX4-Autopilot:/home/levelmoon/tools/PX4-Autopilot/Tools/sitl_gazebo:/home/levelmoon/SLAM/PX4-Autopilot:/home/levelmoon/SLAM/PX4-Autopilot/Tools/simulation/gazebo/sitl_gazebo ``` 如果没有含,可以将gazebo_ros的路径添加到ROS_PACKAGE_PATH中。 ``` export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/opt/ros/noetic/share/gazebo_ros ``` 或者在你的.bashrc文件中添加: ``` echo 'export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/opt/ros/noetic/share/gazebo_ros' >> ~/.bashrc ``` 然后重新打开终端窗口。 3. 如果以上两个步骤都无法解决问题,可能是gazebo_rosPX4-Autopilot之间的依赖关系没有设置好。你可以尝试重新编译整个PX4-Autopilot,或者查看之间的依赖关系是否正确设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后厂村路练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值