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

前言:本篇文章介紹了如何使用虛擬機(jī)下的PX4仿真環(huán)境聯(lián)合Windows下的Matlab進(jìn)行仿真,目前實(shí)現(xiàn)了使用Simulink解鎖Gazebo下的無(wú)人機(jī)。后續(xù)會(huì)陸續(xù)更新:Gazebo仿真模型使用自定義模型、實(shí)現(xiàn)姿態(tài)控制和位置控制。(暫時(shí)先發(fā)專欄,后面會(huì)錄視頻發(fā)到B站)
!!在安裝過(guò)程中會(huì)出現(xiàn)文件夾上鎖的情況,參考第一章的(十二)??!
已同步至語(yǔ)雀: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設(shè)置
(一) 換源
去“軟件和更新”換源,選擇最佳服務(wù)器

選擇最佳服務(wù)器

點(diǎn)擊“選擇服務(wù)器”,輸入管理員密碼
點(diǎn)擊關(guān)閉,再點(diǎn)重新載入。

之后可以執(zhí)行以下兩行命令,驗(yàn)證一下是否更新軟件列表和軟件包。
(二) 上網(wǎng)配置
1. VMware配置(參考知乎)
https://www.zhihu.com/question/495148700/answer/2496921147
2. Ubuntu設(shè)置
ubuntu里連接,只用輸入socks地址。


此時(shí)只能實(shí)現(xiàn)瀏覽器代理。
安裝proxychains4(參考鏈接二)

(三) 查看網(wǎng)速插件安裝(參考CSDN)
(四) PX4 v1.13
1. 克隆固件
一定要上網(wǎng)。
2. 報(bào)錯(cuò)與警告
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. 編譯固件檢驗(yàn)一下
下面是編譯過(guò)程中的報(bào)錯(cuò)信息以及相應(yīng)的解決辦法。一般都是少東西,少什么裝什么就行了,直至不報(bào)錯(cuò)能正常編譯為止。





(五) 安裝FAST
(六) ROS2
參考小甲魚(yú)《動(dòng)手學(xué)ROS2》https://fishros.com/d2lros2foxy/#/chapt2/2.3ROS2%E7%9A%84%E5%AE%89%E8%A3%85
新建一個(gè)終端,輸入以下代碼,輸入安裝ros2的數(shù)字即可完成安裝。
安裝完成后輸入ros2如果看到下面的界面則安裝成功

再執(zhí)行這個(gè),安裝一些python依賴。

報(bào)錯(cuò):ERROR: Could not install packages due to an EnvironmentError: Missing dependencies for SOCKS support.
再試一下
(七) 創(chuàng)建ROS2工作空間
開(kāi)啟一個(gè)終端
克隆px4_msgs和px4_ros_com
編譯工作空間
將“source ~/px4_ros_com_ros2/install/setup.bash”添加到“.bashrc”
(八) 檢驗(yàn)是否安裝成功
新建一個(gè)終端
新建一個(gè)終端
新建一個(gè)終端

出現(xiàn)這個(gè)畫(huà)面就代表成功了。
(九) 安裝Edge
去官網(wǎng)下載安裝包。
https://www.microsoft.com/zh-cn/edge?form=MA13FJ
點(diǎn)擊安裝包進(jìn)行安裝。(打不開(kāi),就重啟一下虛擬機(jī)再安裝)
打開(kāi),點(diǎn)繼續(xù),不設(shè)置密鑰環(huán)
(十) 安裝搜狗輸入法
下載安裝包。
https://shurufa.sogou.com/linux
參考這個(gè)網(wǎng)站:https://shurufa.sogou.com/linux/guide
重啟之后,按“ctrl + 空格”切換到搜狗輸入法
(十一) 安裝VScode
1. VScode安裝
同樣參考小甲魚(yú)《動(dòng)手學(xué)ROS2》。執(zhí)行以下命令,輸入安裝vscode的數(shù)字即可。
2. 設(shè)置界面大小
CTRL
+??+/-
放大/縮小界面。
3. 設(shè)置字體大小
在設(shè)置中搜索Font Size
,修改數(shù)字大小即可代碼的字體大小。

(十二) 解鎖文件夾
二、Windows設(shè)置
(一) 下載px4_msgs
新建一個(gè)目錄“custom”。
(二) 加載px4_msgs到Matlab里
確保matlab工作目錄在“custom”的同級(jí)目錄。
出現(xiàn)這個(gè)代表成功

此時(shí)custom目錄下會(huì)出現(xiàn)matlab_msg_gen文件夾。

三、PX4+Gazebo+Matlab聯(lián)合仿真
(一) 解鎖無(wú)人機(jī)
這一節(jié)采用了B站up主: 傳說(shuō)中的羊咩咩提供的例程(可以去這個(gè)視頻鏈接簡(jiǎn)歷里的Github工程地址獲?。?/span>
1. 啟動(dòng)Gazebo


2. 啟動(dòng)micrortps_agent

3. 啟動(dòng)Simulink例程(NO1_ArmQuadcopter.slx)

點(diǎn)擊“Monitor & Tune”,Simulink開(kāi)始編譯

出現(xiàn)下面這個(gè)畫(huà)面,代表編譯成功,并且看Gazebo,發(fā)現(xiàn)確實(shí)解鎖了,旋翼開(kāi)始轉(zhuǎn)動(dòng)。


未完待續(xù).........