機器人系統仿真(十三)——Gazebo仿真環境搭建


參考視頻:【奧特學園】ROS機器人入門課程《ROS理論與實踐》零基礎教程_嗶哩嗶哩_bilibili

參考文檔:http://www.autolabor.com.cn/book/ROSTutorials/

素材下載鏈接:https://github.com/zx595306686/sim_demo.git

到目前為止,我們已經可以將機器人模型顯示在 Gazebo 之中了,但是當前默認情況下,在 Gazebo 中機器人模型是在 empty world 中,並沒有類似於房間、家具、道路、樹木... 之類的仿真物,如何在 Gazebo 中創建仿真環境呢?

Gazebo 中創建仿真實現方式有兩種:

  • 方式1: 直接添加內置組件創建仿真環境

  • 方式2: 手動繪制仿真環境(更為靈活)

也還可以直接下載使用官方或第三方提高的仿真環境插件。

1.使用素材的環境

在功能包 urdf02_gazebo 下新建文件夾 worlds,將下載的素材中的 box_house.world 放入此文件夾

 在 launch 新建 demo03_env.launch

<launch>
    <!--1.需要在參數服務器中載入 urdf -->
    <param name="robot_description" command="$(find xacro)/xacro $(find urdf02_gazebo)/urdf/car.urdf.xacro" />
    <!--2.啟動 Gazebo 仿真環境 -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch" >
        <arg name="world_name" value="$(find urdf02_gazebo)/worlds/box_house.world" />
    </include>
    <!--3.在 Gazebo 中添加機器人模型 -->
    <node pkg="gazebo_ros" type="spawn_model" name="spawn_model" args="-urdf -model car -param robot_description" />
</launch>

接着運行

cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
cys@ubuntu:~/demo05_ws$ roslaunch urdf02_gazebo demo03_env.launch

 2.添加內置組件創建仿真環境

2.1 啟動 Gazebo 並添加組件

啟動 roscore 

啟動

 rosrun gazebo_ros gazebo

 2.2 保存仿真環境

添加完畢后,選擇 file ---> Save World as 選擇保存路徑(功能包下: worlds 目錄),文件名自定義,后綴名設置為 .world

2.3 啟動

<launch>

    <!-- 將 Urdf 文件的內容加載到參數服務器 -->
    <param name="robot_description" command="$(find xacro)/xacro $(find demo02_urdf_gazebo)/urdf/xacro/my_base_camera_laser.urdf.xacro" />
    <!-- 啟動 gazebo -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="world_name" value="$(find demo02_urdf_gazebo)/worlds/hello.world" />
    </include>

    <!-- 在 gazebo 中顯示機器人模型 -->
    <node pkg="gazebo_ros" type="spawn_model" name="model" args="-urdf -model mycar -param robot_description"  />
</launch>

核心代碼: 啟動 empty_world 后,再根據arg加載自定義的仿真環境

<include file="$(find gazebo_ros)/launch/empty_world.launch">
    <arg name="world_name" value="$(find demo02_urdf_gazebo)/worlds/hello.world" />
</include>

3.自定義仿真環境

3.1 啟動 gazebo 打開構建面板,繪制仿真環境

 

3.2 保存構建的環境

點擊: 左上角 file ---> Save (保存路徑功能包下的: models)

然后 file ---> Exit Building Editor

3.3 保存為 world 文件

可以像方式1一樣再添加一些插件,然后保存為 world 文件(保存路徑功能包下的: worlds)

3.4 啟動

同方式1

4.使用官方提供的插件

當前 Gazebo 提供的仿真道具有限,還可以下載官方支持,可以提供更為豐富的仿真實現,具體實現如下:

4.1 下載官方模型庫

git clone https://github.com/osrf/gazebo_models

之前是:hg clone https://bitbucket.org/osrf/gazebo_models但是已經不可用

注意: 此過程可能比較耗時

4.2 將模型庫復制進 gazebo

將得到的gazebo_models文件夾內容復制到 /usr/share/gazebo-*/models

4.3 應用

重啟 Gazebo,選擇左側菜單欄的 insert 可以選擇並插入相關道具了

 

 


免責聲明!

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



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