ROS2与Gazebo11入门教程-开始使用Gazebo
说明:
- 介绍如何使用Gazebo
运行Gazebo
通过以下三步就可以运行具有默认仿真世界的Gazebo:
安装Gazebo 官方安装说明
如果是安装了ROS Noetic版本默认就包含了gazebo 11
打开一个终端,在大多数Ubuntu系统上可以按下Ctrl+Alt+T组合键打开终端
在命令提示符中输入以下命令来启动Gazebo
gazebo
- 首次启动Gazebo时会尝试下载许多模型,因此启动过程可能要花较长时间。
运行带有机器人的Gazebo
下面通过加载一个带有pioneer2dx机器人的仿真世界,以使仿真更有趣一点儿:
打开一个终端并输入以下命令:
gazebo worlds/pioneer2dx.world
- 如果您的系统中还没有pioneer2dx模型,Gazebo会从在线模型数据库下载该模型,这可能要花一些时间。
运行带有机器人的Gazebo
下面通过加载一个带有pioneer2dx机器人的仿真世界,以使仿真更有趣一点儿:
打开一个终端并输入以下命令:
gazebo worlds/pioneer2dx.world
如果您的系统中还没有pioneer2dx模型,Gazebo会从在线模型数据库下载该模型,这可能要花一些时间。
您可能已经注意到上面命令中神秘的worlds/pioneer2dx.world参数。该参数会指示Gazebo找到pioneer2dx.world文件,并在启动时加载该世界文件。那么,这些仿真世界文件存放在什么位置呢?
世界文件存放在带版本号的Gazebo系统目录中,例如Ubuntu上的
/usr/share/gazebo-11
。如果您在Ubuntu系统上安装了Gazebo 11.0,请在终端中输入以下内容来查看完整的仿真世界列表:
ls /usr/share/gazebo-11/worlds
- 在我的机器上,会返回以下仿真世界列表:
- 对于使用Homebrew在OS X系统上安装的Gazebo 11.0,输入以下命令来查看其完整的仿真世界列表:
ls /usr/local/share/gazebo-11/worlds
客户端和服务器的分离
gazebo命令实际上会运行两个不同的可执行文件。第一个称为gzserver,而第二个称为gzclient。
gzserver可执行文件会运行物理更新循环(update-loop)和传感器数据生成程序。这是Gazebo的核心,而且它可以脱离图形界面使用。您可能会看到抛出的“无头运行(run headless)”字眼,这就表示只运行了gzserver。 一个示例用例就是在不需要用户界面的云计算机上运行gzserver。
gzclient可执行文件会运行基于QT的用户界面。该应用程序提供了很好的仿真可视化效果,并且可以方便地控制各种仿真属性。
下面试着来运行这两个可执行文件。 打开一个终端并运行Gazebo服务器:
gzserver
运行该命令后不会出现任何界面。
打开另一个终端并运行Gazebo图形客户端:
gzclient
- 此时您就可以看到Gazebo的用户界面(见上图)。您可以根据需要多次重启gzclient应用程序,甚至可以同时运行多个Gazebo客户端用户界面。
参考
- https://gazebosim.org/tutorials?tut=quick_start&cat=get_started
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号