欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

【Gazebo仿真系列】(三):学会官方模型的下载和使用

最编程 2024-08-06 22:05:02
...

一、gazebo模型库汇总

下图列了5个gazebo模型库的下载地址,其中第1个和第2个是官方模型下载地址,其它是第三方模型的下载地址。

二、gazebo模型库介绍

2.1 http://models.gazebosim.org/

通过网站地址就可以看出该模型库为gazebo官方模型库。

该地址是一个linux的服务器文件夹,如下图所示,文件夹中列出了模型名称,可以根据模型名称进行下载。

若需要批量下载,则编辑dl_model.sh脚本如下

#!/bin/sh

# Download all model archive files
wget -l 2 -nc -r "http://models.gazebosim.org/" --accept gz

# This is the folder into which wget downloads the model archives
cd "models.gazebosim.org"

# Extract all model archives
for i in *
do
  tar -zvxf "$i/model.tar.gz"
done

# Copy extracted files to the local model folder
cp -vfR * "$HOME/.gazebo/models/"

chmod +x dl_model.sh
./dl_model.sh

该脚本将模型的压缩包下载下到当前目录下的models.gazebosim.org文件夹下,然后进行该目录并解压这些压缩包,最后将解压缩的模型文件夹拷贝到$HOME/.gazebo/models/目录下。

其中$HOME/.gazebo/models/目录是gazebo默认搜索的模型库路径,在启动gazebo后,在左侧面板->model->,就可以看到添加到模型。

此处缺少gazebo左侧打开模型的配图~!!!!!!!!!!!!

注意:https://github.com/osrf/gazebo_models这个地址也是gazebo的模型地址,但是许久未更新了,模型数量较http://models.gazebosim.org/较少。

https://github.com/osrf/gazebo_models页面如下:

2.2 https://app.gazebosim.org/fuel

通过网站地址就可以看出该模型库为gazebo官方模型库。

该网站包含了许多darpa地下挑战赛的机器人模型。应该是在darpa地下挑战赛时搭建的仿真模型上传网站的基础上,改了下网站模板,继续保留之前的模型,网站界面如下图所示。

但是根据有些模型的更新日期,gazebo似乎也是在逐渐往里面填充新的模型。

该网站目前没有找到批量下载的脚本,似乎只能一个一个下载,不过也可以参考之前我在批量下载darpa地下挑战赛的模型的代码进行修改,具体链接地址如下:

https://www.jianshu.com/p/462b74da02a6

2.3 https://data.nvision2.eecs.yorku.ca/3DGEMS/

该数据集是一个第三方的数据集,包含 270 多个用于机器人应用Gazebo仿真的 3D 模型。所有模型均为 sdf 格式,可在 Gazebo 中使用。该数据集的主要目的是用于视觉机器人任务,例如搜索、绘图、跟踪等。

2.4 CMU的tare仿真环境

CMU的exploration项目,提供了一个他们项目的gazebo仿真环境,如下图所示。

该团队提供了一个shell脚本,通过google云盘下载他们的模型仿真文件,不过他们的模型仿真文件有一部分是和gazebo官方模型库重复了,注意区分。

模型下载的脚本地址如下:

https://github.com/HongbiaoZ/autonomous_exploration_development_environment/blob/noetic/src/vehicle_simulator/mesh/download_environments.sh

注意:该模型库下载后也是会自动将模型解压为文件夹,并删除压缩包。

2.5 darpa地下挑战赛模型库

该模型库是2021年darpa地下挑战赛的仿真赛组中,各个团队提交的仿真模型汇总,粗略图如下所示:

本人当时把所有模型都下载下来并传到云盘上,具体信息可看下面文章。

https://www.jianshu.com/p/462b74da02a6

三、机器人模型的文件组织结构

一个model是一个以机器人名称命名的文件夹,以ambulance/模型为例,该文件夹中下述文件

各个文件(夹)作用如下:

  • model.config文件,指向机器人模型对应的model.sdf文件,有时会有多个版本的sdf文件,通过version标签进行指定具体使用哪个sdf文件。
  • model.sdf文件,描述模型具体的仿真参数,如外观,碰撞等。
  • meshes/是网格文件夹,通常存储.obj.dae文件,机器人仿真的collisionvisual标签通常会需要加载这个文件,通过在.sdf文件中的相关标签进行指定。
  • materials/是材料文件夹,主要是机器人外观,进行贴图,会通过在.sdf文件中的material标签进行指定。

指向多个版本的sdf文件的model.config文件内容如下

<?xml version="1.0"?>

<model>
  <name>Utility Cart</name>
  <version>1.0</version>
  <sdf version="1.2">model-1_2.sdf</sdf>
  <sdf version="1.3">model-1_3.sdf</sdf>
  <sdf version="1.4">model-1_4.sdf</sdf>
  <sdf version="1.5">model.sdf</sdf>

  <author>
    <name>John Hsu</name>
    <email>hsu@osrfoundation.org</email>
  </author>

  <description>
    A utility cart.
  </description>
</model>

四、模型存放的位置。

gazebo仿真模型通常存放在下列地址:

"$HOME/.gazebo/models/

五、gazebo添加模型的搜索路径

此处缺少gazebo添加模型的搜索路径配图。!!!!!

参考:https://www.jianshu.com/p/ca229733c22a

推荐阅读