前言
在搭建之前,需要把 ROS、MAVROS、QGC
等基礎(chǔ)環(huán)境安裝配置完成。大家可以參考我之前的教程
本次安裝是以
px4 v1.13.2
為例。
我的配置如下:
虛擬機 Ubuntu 18.04 (運行內(nèi)存 4G、硬盤內(nèi)存 80G) 、ROS melodic 、最新版 QGC
建議安裝之前可以先看看這個 ?? ubuntu搭建PX4無人機仿真環(huán)境(1) —— 概念介紹
ubuntu搭建PX4無人機仿真環(huán)境(2) —— MAVROS安裝
ubuntu搭建PX4無人機仿真環(huán)境(3) —— ubuntu安裝QGC地面站
ubuntu安裝ROS melodic(最新、超詳細(xì)圖文教程)
準(zhǔn)備
- 下載源碼
git clone https://github.com/PX4/PX4-Autopilot.git
mv PX4-Autopilot PX4_Firmware
cd PX4_Firmware
git checkout -b dev v1.13.2
git submodule update --init --recursive # 更新下載子模塊
如果下載慢,可以從網(wǎng)盤里下
鏈接:https://pan.baidu.com/s/1WLnVCUrPoueTfPGrIOvNaA
提取碼:82dt
- 安裝依賴
注: 安裝依賴之前要檢查是否已經(jīng)安裝了 gazebo ,因為安裝依賴的時候會幫你安裝 官方推薦的gazebo版本:
gazebo --version
如果出現(xiàn) 上圖內(nèi)容,說明沒有安裝,如果出現(xiàn)了 gazebo的版本信息 說明已經(jīng)安裝了,要卸載,命令如下:
sudo apt-get remove gazebo*
sudo apt-get remove libgazebo*
sudo apt-get remove ros-melodic-gazebo* #kinetic noetic對應(yīng)修改
卸載完后,開始安裝依賴:
cd ~/PX4_Firmware/Tools/setup
./ubuntu.sh --no-nuttx
# 這是官方提供的腳本 有兩個可選參數(shù)
# --no-sim-tools 只安裝交叉編譯環(huán)境 如果需要自己編譯飛控固件,燒錄到飛控中,那就需要交叉編譯環(huán)境
# --no-nuttx 只安裝仿真環(huán)境
# 腳本執(zhí)行時間,跟個人網(wǎng)絡(luò)有關(guān),可能需要一段時間
# 安裝好測試一下gazebo
gazebo --version
再運行一下 gazebo :
gazebo
如出現(xiàn)上圖錯誤,輸入以下命令:
echo "export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
#kinetic noetic對應(yīng)修改
再重新運行 gazebo
gazebo
出現(xiàn)下圖,表示運行成功:
注:
運行Gazebo仿真,可能會缺模型,這時會自動下載,Gazebo模型服務(wù)器在國外,自動下載會比較久,所以我們可以先下載到本地。
git clone https://github.com/osrf/gazebo_models.git
# 檢測文件夾 ~/.gazebo/models 是否存在,如果不存在創(chuàng)建
if [ ! -d "~/.gazebo/models" ]; then mkdir -p ~/.gazebo/models ;fi
mv ./gazebo_models/* ~/.gazebo/models/
或者如果覺得 git clone
有點慢可以直接進入倉庫然后下載ZIP
壓縮包,將該壓縮包里的模型文件放在 ~/.gazebo/models/ 路徑下,然后可以看到很多模型文件。
如果下載慢,可以從網(wǎng)盤里下
鏈接:https://pan.baidu.com/s/1tMhGTKfPMB0mcILte7zHVg
提取碼:alto
編譯
cd PX4_Firmware
make px4_sitl_default gazebo # 這步可能有點慢,跟 ubuntu 的配置有關(guān)
出現(xiàn)下圖表示編譯成功
- 添加環(huán)境
將下面語句添加到 ~/.bashrc 文件中(前兩個source順序不能顛倒,路徑可根據(jù)自己的路徑修改)
source ~/catkin_ws/devel/setup.bash # 這個是個人的ROS工作空間,沒有的話需要自己創(chuàng)建
source ~/PX4_Firmware/Tools/setup_gazebo.bash ~/PX4_Firmware/ ~/PX4_Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware/Tools/sitl_gazebo
再運行:
source ~/.bashrc
關(guān)掉終端,再次打開,會跟下圖差不多:
注: 為了方便大家,我做了一個自動添加環(huán)境的腳本,效果與手動添加等同,只要有一個成功就行。
首先下載腳本wget https://gitee.com/tyx6/mytools/raw/main/setenv.sh # 添加可執(zhí)行權(quán)限 chmod +x setenv.sh
然后將腳本放入你的 PX4 源碼目錄下,再執(zhí)行(以我的為例)
mv ./setenv.sh ~/PX4_Firmware/ cd ~/PX4_Firmware ./setenv.sh
執(zhí)行完后如下所示
測試
在終端輸入下面命令:
roslaunch px4 mavros_posix_sitl.launch
還可以運行下面命令,查看MAVROS與仿真無人機通信狀況。若connected: True,則通信成功,如果是false,一般是因為 .bashrc 里的路徑寫的不對,請仔細(xì)檢查。
rostopic echo /mavros/state | grep connected # 只查看 connected 信息
rostopic echo /mavros/state # 查看全部信息
到這 PX4 無人機基本仿真環(huán)境就搭建完成了,大家可以基于此來拓展自己的仿真。
也可以繼續(xù)看下面教程 ??
帶你玩轉(zhuǎn)PX4無人機仿真(1) —— 運行官方案例(C++)
如有其他問題,或者發(fā)現(xiàn)文章有錯誤,請在評論區(qū)留言
Keep learning!
參考
仿真平臺基礎(chǔ)配置(對應(yīng)PX4 1.13版)文章來源:http://www.zghlxwxcb.cn/news/detail-614851.html
PX4 documentation文章來源地址http://www.zghlxwxcb.cn/news/detail-614851.html
到了這里,關(guān)于ubuntu搭建PX4無人機仿真環(huán)境(4) —— 仿真環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!