Ubuntu20.04+PX4v1.13+ROS2 foxy+FAST-DDS+Matlab 2022b

前言:本篇文章介绍了如何使用虚拟机下的PX4仿真环境联合Windows下的Matlab进行仿真,目前实现了使用Simulink解锁Gazebo下的无人机。后续会陆续更新:Gazebo仿真模型使用自定义模型、实现姿态控制和位置控制。(暂时先发专栏,后面会录视频发到B站)
!!在安装过程中会出现文件夹上锁的情况,参考第一章的(十二)!!
已同步至语雀:https://www.yuque.com/g/dishangdeganjuehuanbucuo/wi37pz/pare1npxfdaihwkq/collaborator/join?token=Ph0JKbFuCcGi43UV&source=doc_collaborator# 《Ubuntu20.04+PX4v1.13+ROS2 foxy+FAST-DDS+Matlab 2022b》

一、Ubuntu设置
(一) 换源
去“软件和更新”换源,选择最佳服务器

选择最佳服务器

点击“选择服务器”,输入管理员密码
点击关闭,再点重新载入。

之后可以执行以下两行命令,验证一下是否更新软件列表和软件包。
(二) 上网配置
1. VMware配置(参考知乎)
https://www.zhihu.com/question/495148700/answer/2496921147
2. Ubuntu设置
ubuntu里连接,只用输入socks地址。


此时只能实现浏览器代理。
安装proxychains4(参考链接二)

(三) 查看网速插件安装(参考CSDN)
(四) PX4 v1.13
1. 克隆固件
一定要上网。
2. 报错与警告
ERROR: pandas 2.0.3 has requirement python-dateutil>=2.8.2, but you'll have python-dateutil 2.7.3 which is incompatible

WARNING: The scripts coverage, coverage-3.8 and coverage3 are installed in '/root/.local/bin' which is not on PATH.

3. 安装成功

然后重启。
4. 编译固件检验一下
下面是编译过程中的报错信息以及相应的解决办法。一般都是少东西,少什么装什么就行了,直至不报错能正常编译为止。





(五) 安装FAST
(六) ROS2
参考小甲鱼《动手学ROS2》https://fishros.com/d2lros2foxy/#/chapt2/2.3ROS2%E7%9A%84%E5%AE%89%E8%A3%85
新建一个终端,输入以下代码,输入安装ros2的数字即可完成安装。
安装完成后输入ros2如果看到下面的界面则安装成功

再执行这个,安装一些python依赖。

报错:ERROR: Could not install packages due to an EnvironmentError: Missing dependencies for SOCKS support.
再试一下
(七) 创建ROS2工作空间
开启一个终端
克隆px4_msgs和px4_ros_com
编译工作空间
将“source ~/px4_ros_com_ros2/install/setup.bash”添加到“.bashrc”
(八) 检验是否安装成功
新建一个终端
新建一个终端
新建一个终端

出现这个画面就代表成功了。
(九) 安装Edge
去官网下载安装包。
https://www.microsoft.com/zh-cn/edge?form=MA13FJ
点击安装包进行安装。(打不开,就重启一下虚拟机再安装)
打开,点继续,不设置密钥环
(十) 安装搜狗输入法
下载安装包。
https://shurufa.sogou.com/linux
参考这个网站:https://shurufa.sogou.com/linux/guide
重启之后,按“ctrl + 空格”切换到搜狗输入法
(十一) 安装VScode
1. VScode安装
同样参考小甲鱼《动手学ROS2》。执行以下命令,输入安装vscode的数字即可。
2. 设置界面大小
CTRL
+ +/-
放大/缩小界面。
3. 设置字体大小
在设置中搜索Font Size
,修改数字大小即可代码的字体大小。

(十二) 解锁文件夹
二、Windows设置
(一) 下载px4_msgs
新建一个目录“custom”。
(二) 加载px4_msgs到Matlab里
确保matlab工作目录在“custom”的同级目录。
出现这个代表成功

此时custom目录下会出现matlab_msg_gen文件夹。

三、PX4+Gazebo+Matlab联合仿真
(一) 解锁无人机
这一节采用了B站up主: 传说中的羊咩咩提供的例程(可以去这个视频链接简历里的Github工程地址获取)。
1. 启动Gazebo


2. 启动micrortps_agent

3. 启动Simulink例程(NO1_ArmQuadcopter.slx)

点击“Monitor & Tune”,Simulink开始编译

出现下面这个画面,代表编译成功,并且看Gazebo,发现确实解锁了,旋翼开始转动。


未完待续.........