文章目錄
- 前言
- 解除安裝gazebo11
- 解除安裝ROS
- 安裝ROS
- 解除安裝由ROS安裝的gazebo9
- 安裝gazebo11
- 總結
- 參考
前言
本文涉及的環境為:Win10 1809+WSL+Ubuntu 18.03。
問題:從shell啟動gazebo,可以打開視窗,可以看到菜單及左邊欄。但是visual視口中是黑屏的。
查詢并嘗試了網上的大多數做法都沒解決,最後解除安裝了ROS自帶的gazebo9,重新安裝gazebo11,解決了該問題。
為了驗證這個方法,我又重新安裝了整個ROS與gazebo,并将全過程記錄如下:
- 如果您隻是想從gazebo9更新至11版本,可以跳轉到解除安裝gazebo9開始閱讀。
解除安裝gazebo11
為進行實驗,解除安裝gazebo11和相關元件。
sudo apt-get remove gazebo11 gazebo11-*
解除安裝ROS
為進行實驗,解除安裝ROS。
sudo apt-get purge ros-*
安裝ROS
添加源,這裡我選用中科大提供的ROS源。
再添加key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新apt
sudo apt-get update
安裝ros本體,我用的是完整安裝的Desktop版,即desktop-full
sudo apt-get install ros-melodic-desktop-full
desktop-full将安裝以下元件:
- ROS
- rqt
- rviz
- robot-generic libraries
- 2D/3D simulators
- navigation and 2D/3D perception
如果使用的是國外的源,則在安裝過程中大機率遇到包下載下傳失敗的情況,可以嘗試下修複丢失包的指令:
sudo apt-get update --fix-missing
安裝完成後初始化依賴項
sudo rosdep init
rosdep update
設定環境變量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
啟動ros core驗證安裝結果
roscore
出現上述的資訊代表ros安裝成功。按下Ctrl+C鍵以停止roscore
- 選裝包:rosinstall,其實我沒裝。
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
解除安裝由ROS安裝的gazebo9
解除安裝gazebo9
sudo apt-get remove gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9:amd64 libgazebo9-dev:amd64 ros-melodic-gazebo-*
解除安裝完成後用dpkg指令檢視gazebo是否已經完成解除安裝:
dpkg -l | grep gazebo
沒解除安裝幹淨的話可以嘗試使用dpkg --purge清理殘餘的包:
sudo dpkg --purge gazebo9
安裝gazebo11
配置電腦使電腦接受packages.osrfoundation.org,即配置鏡像
設定key
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
安裝gazebo11:
sudo apt-get install gazebo11 -y
- 選裝,對于想要在gazebo上進行2次開發的話可以再安裝libgazebo11-dev包
sudo apt-get install libgazebo11-dev
運作gazebo驗證安裝情況(需要先在win10中啟動VcXsrv):
gazebo
出現如下畫面代表安裝成功:
總結
對于gazebo9如何在wsl-ubuntu環境中運作的問題,我尚未找到方法。通過重裝gazebo9到11版本則可以繞過上述的問題來使用gazebo。本文的流程對于想解除安裝、更新或降級到其他版本的gazebo版本在方法上應是相通的隻是在指令中的版本号上存在細小的差别。
參考
Github Issue 3368
dpkg安裝以及解除安裝軟體
解除安裝ros的方法
ubuntu16.04解除安裝gazebo9重裝gazebo7
Gazebo11的更新與安裝
apt-get –fix-missing做什麼以及什麼時候有用?
Ubuntu16.04下E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
ROS入門教程-安裝并配置ROS環境(Kinetic 版本)