二 Gazebo学习总结之Gazebo的组成

1.可以使用一条单独的语句来运行client和server

gazebo
2.Gazebo的组成

(1) World描述文件

World描述文件包含了仿真器中的所有元素,包括机器人,灯光,传感器,静态对象等,World文件的格式是SDF(Simulation Description Format),有一个典型的.world扩展名。

Gazebo服务器(gzserver)通过读取这个文件来生成和构成一个世界,Gazebo里面附带很多worlds例子,这些worlds位于/share/gazebo-/worlds

(2)Model文件

与Worlds文件一样,model文件也使用SDF格式,但只包含一个...。这些文件的目的是为了便于模型的重复使用以及简化World文件,当一个Model文件被创建后,使用以下的SDF语句能将其包含到World文件中。

许多模型被提供在在线模型数据库(以及先前版本附带的一些例子模型),我们可以通过数据库来添加模型,所需要的模型内容会在运行时被下载。

(3)环境变量

Gazebo使用许多环境变量来定位文件,并设置server和client之间的通信。Gazebo1.9.0在大多数情况下的默认值是被编译了的,所以开始时不需要去设置任何变量。默认值被包含于如下外部脚本:

source /share/gazebo/setup.sh
如果想修改Gazebo的特性,例如通过延伸模型的路径搜索,那么首先应该source外部脚本文件,然后修改需要设置的变量。

(4)Gazebo服务器

server是Gazebo的主干,它以命令行的方式解析World描述文件,然后使用物理和传感器引擎模拟世界。server能通过以下命令开始。

gzserver 
注意:server不包含任何图形,仅仅是不停的运行。

能被替换成:a.当前目录;b.绝对路径;c.GAZEBO_RESOURCE_PATH的路径成分。Gazebo附带的Worlds位于/share/gazebo-/worlds

例如,为了使用一个Gazebo附带的empty.world,使用以下的命令:

gzserver worlds/empty.world
(5)图形化客户端

图形化客户端连接了一个运行中的gzserver和可视化元素,这也是一个允许修改正在运行中的仿真器的工具,图形化客户端的运行可使用以下语句:

gzclient
(6)Gazebo command

Gazebo command能结合server和client于一个可执行性文件中,代替先运行gzserver worlds/empty.world,然后运行gzclient。我们能像如下运行:

gazebo worlds/empty.world
3.插件

对于Gazebo界面,插件提供了一种简单又方便的机制。插件能通过命令行的方式载入,或者通过指定world/model文件来载入。在加载过程中,首先加载由命令行指定的插件,然后加载由world/model文件指定的插件。大部分的插件已经被server加载,然而,为了便于自定义GUI(图形用户界面)的生成,部分插件也被图形化客户端(graphical client)加载。

例如,命令行加载插件:

gzserver -p  
同样的机制也可被用于graphical client:
gzclient -p 




本文靠自己理解,翻译而来,如有错误之处望不吝指教!!!

你可能感兴趣的:(Gazebo,ROS)