Gazebo11的安裝與啟動
iwehdio的博客園:https://www.cnblogs.com/iwehdio/
1、安裝Gazebo11
-
因為之前虛擬機開Gazebo總閃退,參考了 https://blog.csdn.net/weixin_41754912/article/details/82861566 的方法可以打開,但是運行比較卡頓。
-
ROS Melodic 版本默認安裝的是 Gazebo9,現在 Gazebo 最新版本是11,對 Gazebo 進行更新。
-
首先,查看Gazebo版本。
$ dpkg -l | grep gazebo
-
應該出現的是 gazebo9 及其相關插件,卸載全部插件。
$ sudo apt-get remove gazebo9 gazebo9-common gazebo9-plugin-base libgazebo9:amd64 libgazebo9-dev:amd64 ros-melodic-gazebo-*
-
然后參考官網教程安裝。設置鏡像和 key 。
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list' $ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
-
安裝 Gazebo11。
$ sudo apt-get update $ sudo apt-get install gazebo11 $ sudo apt-get install libgazebo11-dev
-
輸入 gazebo 即可運行。
-
這樣安裝的問題是,單純的安裝 Gazebo,但沒有安裝 gazebo_ros_pkgs。之前 ROS-full 安裝會自動安裝,但是單獨安裝 Gazebo 還需要手動安裝。
-
官網上沒有相關教程,查閱一些博客可知,gazebo_ros_pkgs 的官方倉庫為 https://github.com/ros-simulation/gazebo_ros_pkgs 。
記得選擇 melodic-devel 分支。 -
先創建工作空間,在 src 目錄下克隆或者粘貼這些項目。
$ cd ~/catkin_ws/src $ git clone https://github.com/ros-simulation/gazebo_ros_pkgs/tree/melodic-devel
-
之前版本的 gazebo_ros 包中都會設置環境變量 gazebo_ros,現在也需要手動設置。在 home 下 ctrl + H 顯示隱藏文件,在文件末尾加入環境變量。這樣,就可以在 launch 文件中用
$(find gazebo_ros)
指代這個路徑。同時也加入工作空間的環境變量。export find gazebo_ros=/home/iwehdio/catkin_ws/src/gazebo_ros source /home/iwehdio/catkin_ws/devel/setup.bash
如果不設置這個環境變量,也無法使用
roslaunch gazebo_ros empty_world.launch
等命令。
2、用.world和launch文件啟動Gazeb011
-
使用之前 https://www.cnblogs.com/iwehdio/p/12751106.html 中的 model 模型文件。創建一個簡單的 world ,smallcar.world。
<?xml version="1.0" ?> <sdf version="1.7"> <world name="default"> <!-- 環境光 --> <include> <uri>model://sun</uri> </include> <!-- 地面 --> <include> <uri>model://ground_plane</uri> <script> <uri>file://media/materials/scripts/gazebo.material</uri> <name>Gazebo/White</name> </script> </include> <!--模型 --> <model name='smallcar_demo'> <include> <uri>model://smallcar_demo</uri> </include> </model> </world> </sdf>
-
將兩個模型文件 model.config 和 model.sdf 放入 smallcar_demo 文件夾中。並將這個文件夾放入 .gazebo/model 下(.gazebo是隱藏文件夾)。
-
在 smallcar.world 所在目錄下打開終端,輸入:
$ gazebo smallcar.world
即可打開世界:
-
使用 launch 文件啟動 world 文件,smallcar.launch的文件內容如下:
<launch> <include file="$(find gazebo_ros)/launch/empty_world.launch"> <arg name="world_name" value="~/Gazebo/smallcar.world"/> </include> </launch>
如果之前沒有設置
gazebo_ros
環境變量,將其完整路徑鍵入也可。 -
打開終端,輸入:
$ roslaunch smallcar smallcar.launch
即可打開世界。
-
如果需要直接打開 Gazebo,只需要在終端或者 alt+F2 彈出的對話框內輸入 gazebo 回車即可。
iwehdio的博客園:https://www.cnblogs.com/iwehdio/