ROS学习04.ROS中的常用组件( 六 )


4.5.1 的特点
是一个优秀的开源物理仿真环境 , 它具备如下特点:
动力学仿真:支持多种高性能的物理引擎 , 如ODE、、、DART等 。三维可视化环境:支持显示逼真的三维环境 , 包括光线、纹理、影子 。传感器仿真:支持传感器数据的仿真 , 同时可以仿真传感器噪声 。可扩展插件:用户可以定制化开发插件以扩展的功能 , 满足个性化的需求 。多种机器人模型:官方提供PR2、 DX、等机器人模型 , 当然也可以使用自己创建的机器人模型 。TCP/IP传输:的后台仿真处理和前台图形显示可以通过网络通信实现远程仿真 。云仿真:仿真可以在、等云端运行 , 也可以在自己搭建的云服务器上运行 。终端工具:用户可以使用提供的命令行工具在终端实现仿真控制 。
的社区维护非常积极 , 版本变化较大 , 但是在兼容性方面依然保证得较好 。
4.5.2 安装并运行
与rviz一样 , 如果已经安装了桌面完整版的ROS , 可以直接跳过这一步 。否则 , 使用如下命令安装:
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
安装完成后 , 在终端使用如下命令启动ROS和:
roscorerosrun gazebo_ros gazebo
主界面主要包含以下几个部分:
3D视图区工具栏模型列表模型属性项时间显示区
验证是否与ROS系统连接成功 , 可以查看ROS的话题列表:
rostopic list
如果连接成功 , 应该可以看到发布/订阅的话题列表 。
当然 , 还有提供的服务列表:
rosservice list
4.5.3 构建仿真环境
在仿真之前需要构建一个仿真环境 。中有两种创建仿真环境的方法 。
直接插入模型
在左侧的模型列表中 , 有一个选项罗列了所有可使用的模型 。选择需要使用的模型 , 放置在主显示区中 , 就可以在仿真环境中添加机器人和外部物体等仿真实例 。
备注:模型的加载需要连接国外网站 , 为了保证模型顺利加载 , 可以提前将模型文件下载并放置到本地路径“~/./”下 , 模型文件的下载地址为“” 。
第二种方法是使用提供的 工具手动绘制地图 。在菜单栏中选择Edit——>  , 选择左侧的绘制选项 , 然后在上侧窗口中使用鼠标绘制 , 下侧窗口中即可实时显示绘制的仿真环境 。
模型创建完成后就可以加载机器人模型并进行仿真了 。后续会详细学习机器人仿真的过程 , 这里先对有一个整体的认识即可 。
4.6 数据记录和回放
为了方便调试测试 , ROS提供了数据记录与回放的功能包—— , 可以帮助开发者收集ROS系统运行时的消息数据 , 然后在离线状态下回放 。
本节通过乌龟例程介绍数据记录和回放的实现方法 。
4.6.1 记录数据
首先启动键盘控制乌龟例程所需的所有节点:
roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_key
启动成功后 , 可以看到界面中的小乌龟 , 此时可以在终端中通过键盘控制乌龟移动 。
查看当前ROS系统中的话题:
rostopic list -v