gazebo gazebo组成
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gazebo gazebo组成相关的知识,希望对你有一定的参考价值。
上一节已经安装并且打开gazebo,先不着急使用,我们来看一下gazebo的组成。
(1)world描述文件
World描述文件包含了仿真器中的所有元素,包括机器人,灯光,传感器,静态对象等,World文件的格式是SDF(Simulation Description Format),有一个典型的.world扩展名。
Gazebo服务器(gzserver)通过读取这个文件来生成和构成一个世界,Gazebo里面附带很多worlds例子,这些worlds位于<install_path>/share/gazebo-<version>/worlds。
(2)Model文件
与Worlds文件 一样,model文件也使用SDF格式,但只包含一个<model>...</model>。这些文件的目的是为了便于模型的重 复使用以及简化World文件,当一个Model文件被创建后,使用以下的SDF语句能将其包含到World文件中。
<include filename="model_file_name"/>
许多模型被提供在在线模型数据库(以及先前版本附带的一些例子模型),我们可以通过数据库来添加模型,所需要的模型内容会在运行时被下载。
(3)环境变量
Gazebo使用许多环境变量来定位文件,并设置server和client之间的通信。Gazebo1.9.0在大多数情况下的默认值是被编译了的,所以开始时不需要去设置任何变量。默认值被包含于如下外部脚本:
source <install_path>/share/gazebo/setup.sh
如果想修改Gazebo的特性,例如通过延伸模型的路径搜索,那么首先应该source外部脚本文件,然后修改需要设置的变量。
(4)Gazebo服务器
server是Gazebo的主干,它以命令行的方式解析World描述文件,然后使用物理和传感器引擎模拟世界。server能通过以下命令开始。
gzserver <world_filename>
注意:server不包含任何图形,仅仅是不停的运行。
<world_filename>能被替换成:a.当前目录;b.绝对路径;c.GAZEBO_RESOURCE_PATH的路径成分。Gazebo附带的Worlds位于<install_path>/share/gazebo-<version_number>/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
看到一篇CSDN的博客上有这么一段话:
不久前,师弟问了我一个问题:“师兄,我要控制一个机器人在仿真环境下运动,需要学什么,或者从哪里入手呢?“
这个问题不是那么好回答,urdf——Gazebo——ros_control——MoveIt,这是我在很久后才能给出的一个答案。
那我们就直接吸取前人教训喽,从urdf学起,继续下一篇吧
以上是关于gazebo gazebo组成的主要内容,如果未能解决你的问题,请参考以下文章