本机(macbook air2019)安装路径:usr/local/Cellar/gazebo11/11.0.0/
Gazebo元件
这个页面描述了Gazebo在运行时的每一个元件
世界文件
世界描述文件包含了仿真中的所有元素,包括机器人、光线、传感器、静态物体等。这个文件是用SDF(simulation description formate)编写的,并且有一个.world文件的扩展。
Gazebo server通过这个世界文件来产生世界。
很多世界文件的例子在Bazebo仿真器中,这些世界被安装在<install_path>/share/gazebo-<version>/worlds路径里面,你也可以在源码里面看到他们。
模型文件
模型文件用的和世界文件一样的SDF格式,但是应该只包含一个单个的<model>...</model>tag,可以用下面的格式将模型文件写进世界文件中:
<include>
<uri>model://model_file_name</uri>
</include>
很多模型文件在线上模型数据库中存放(在之前的版本中,一些模型的例子随附在Bazebo仿真器中),假设你在运行Gazebo的时候连着网,你可以从在线数据库中插入任何其中的模型并且任何东西可以在运行时下载。
环境变量
gazebo使用很多环境变量来定位文件并建立server和client之间的通信。默认的值被编译了,这意味着你不需要设置任何变量。
这些变量在<install-path>/share/gazebo/setup.sh中被设置了,你可以打开这个shell文件来查看(我是用vim打开的)。
上图是我电脑上Gazebo的setup文件内容,可以看到设置了很多环境变量(就是世界文件、模型文件等要用到的文件的路径,在Gazebo运行的时候会从相应的地方查找需要的模型)。
Gazebo Server
Gazebo Server是Bazebo的引擎(服务器)。他解释一个在命令行里面给出的世界文件并且利用物理和传感器引擎仿真这个世界。
server可以用下面的命令行启动。
gzserver <world_filename>
文件名可以是下面的其中之一:
1. 当前路径下的相对路径;2.绝对路径;3.GAZEBO_RESOURCE_PATH下面的相对路径 4. worlds/<worlds_name> <worlds_name>是安装在Bazebo中的世界文件
例如:
gzserver worlds/empty_sky.world
可视化Client
可视化的Client链接着gzserver并且可视化那些元素们(环境、机器人等等)。这也是一个可以让你修改运行仿真的一个工具。
可以用下面的代码运行:
gzclient
server➕client一次性运行
一次性运行代码:
gazebo worlds/empty_sky.world
插件
插件提供了一个简单而方便的机制来和gazebo交互。插件可以活着在命令行上面加载或者在SDF文件中加载。
命令行中的插件先加载,SDF文件中的插件后加载。
一些插件是server加载的,另一些是client加载的。
命令行中加server插件举例:
gzserver -s <plugin_filename>
命令行中加client插件举例:
gzclient --gui-client-plugin libTimerGUIPlugin.so