ROS中的常用组件(五)——Gazebo仿真环境

ROS中的常用组件(五)——Gazebo仿真环境

总述

Gazebo是一个功能强大的三维物理仿真平台,具备强大的物理引擎、高质量的图形渲染、方便的编程与图形接口,最重要的还有其具备开源免费的特性。虽然Gazebo中的机器人模型与rviz使用的模型相同,但是需要在模型中加入机器人和周围环境的物理属性,例如质量、摩擦系数、弹性系数等。机器人的传感器信息也可以通过插件的形式加入仿真环境、以可视化的方式显示。

一、Gazebo的特点

Gazebo是一个优秀的开源物理仿真环境,它具备如下特点:
1)动力学仿真:支持多种高性能的物理引擎,如ODE、Bullet、SimBody、DART等。
2)三维可视化环境:支持显示逼真的三维环境,包括光线、纹理、影子。
3)传感器仿真:支持传感器数据的仿真,同时可以仿真传感器噪声。
4)可扩展插件:用户可以定制化开发插件以扩展Gazebo的功能,满足个性化的需求。
5)多种机器人模型:官方提供PR2、Pioneer2 DX、TurtleBot等机器人模型,当然也可以使用自己创建的机器人模型。
6)TCP/IP传输:Gazebo的后台仿真处理和前台图形显示可以通过网络通信实现远程仿真。
7)云仿真:Gazebo仿真可以在Amazon、Softlayer等云端运行,也可以在自己搭建的云服务器上运行。
8)终端工具:用户可以使用Gazebo提供的命令行工具在终端实现仿真控制。
Gazebo的社区维护非常积极,版本变化较大,但是在兼容性方面依然保证得较好。

二、安装并运行Gazebo

与rviz一样,如果已经安装了桌面完整版的ROS,可以直接跳过这一步。否则,使用如下命令安装:

sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control

安装完成后,在终端使用如下命令启动ROS和Gazebo:

roscore
rosrun gazebo_ros gazebo

主界面主要包含以下几个部分:
1)3D视图区
2)工具栏
3)模型列表
4)模型属性项
5)时间显示区
验证Gazebo是否与ROS系统连接成功,可以查看ROS的话题列表:

rostopic list

如果连接成功,应该可以看到Gazebo发布/订阅的话题列表。
当然,还有Gazebo提供的服务列表:

rosservice list

在这里插入图片描述

三、构建仿真环境

在仿真之前需要构建一个仿真环境。Gazebo中有两种创建仿真环境的方法。
1)直接插入模型
在Gazebo左侧的模型列表中,有一个insert选项罗列了所有可使用的模型。选择需要使用的模型,放置在主显示区中,就可以在仿真环境中添加机器人和外部物体等仿真实例。
备注:模型的加载需要连接国外网站,为了保证模型顺利加载,可以提前将模型文件下载并放置到本地路径“~/.gazebo/models”下,模型文件的下载地址为“https://bitbucket.org/osrf/gazebo_models/downloads/”。 2)Building Editor
第二种方法是使用Gazebo提供的Building Editor工具手动绘制地图。在Gazebo菜单栏中选择Edit——>Building Editor,选择左侧的绘制选项,然后在上侧窗口中使用鼠标绘制,下侧窗口中即可实时显示绘制的仿真环境。
模型创建完成后就可以加载机器人模型并进行仿真了。

猜你喜欢

转载自blog.csdn.net/weixin_45661757/article/details/112793845