Gazebo11的安裝與啟動


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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM