Home » ROS与Matlab入门教程 » ROS与Matlab语言入门教程-开始使用Gazebo和仿真的TurtleBot

ROS与Matlab语言入门教程-开始使用Gazebo和仿真的TurtleBot

本例程将展示如何启动Gazebo仿真器引擎,该例程是下一步探索Gazebo和仿真TurtleBot做准备。Gazebo是一个仿真器,允许用户在逼真物理场景进行测试和实验,Gazebo是机器人学中很有用的工具,因为它允许用户快速创建并运行实验,且带有固体物理学和良好的图像。MATLAB通过ROS接口与Gazebo建立连接。

下载虚拟机

用户可以下载一个虚拟机映像文件,该文件已经安装了ROS和Gazebo,该虚拟机基于Ubuntu Linux系统,并预配置支持机器人系统工具箱的ROS例程。

下载并安装虚拟机的步骤参考链接:http://www.mathworks.com/robotics/15a/ros_vm_install。

启动虚拟机。

在Ubuntu桌面,用户可以看到三个Gazebo环境的图标,在Gazebo例程中,使用“Gazebo Empty”和“Gazebo Playground”,而TurtleBot的例程则使用“Gazebo TurtleBot World”。

请输入图片描述

请输入图片描述

注意:如果屏幕看起来全部是黑的,通过最小化再最大化刷新图像。

在Ubuntu虚拟机打开一个新的终端。

输入“ifconfig”并返回查看虚拟机的网络信息。

在“eth0”下,“inet addr”显示虚拟机的IP地址。

请输入图片描述

必须设置两个ROS环境变量以启动网络:“ROS_MASTER_URI”和“ROS_HOSTNAME”。如果用户使用Linux虚拟机桌面上的演示,这些变量通常情况下在启动的时候就自动完成设置。

(可选)如果用户使用自己的虚拟机,通过在终端运行如下的指令设置变量值。用“ifconfig”获取的IP地址代替“IP_OF_VM”。

echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc
echo export ROS_HOSTNAME=IP_OF_VM >> ~/.bashrc

使用“echo $ENV_VAR”检查环境变量(使用合适的环境变量代替“ENV_VAR”),用户可以关闭终端再重新打开以起作用。

请输入图片描述

请输入图片描述

连接到已有的Gazebo仿真器

如果用户已有运行在Linux的Gazebo,按如下描述设置仿真器:

在ROS网页,下载合适TurtleBot的包。

根据ROS网页的指示,让TurtleBot运行在仿真的Gazebo环境。

保证环境变量设置正确,用户可以在宿主计算机和Gazebo计算之间来回的发送数据。总共有许多种方式设置网络。1.3

连接到ROS网络,包含ROS网络中如何验证设备的连接的一些建议。

确保用户可以获得如下的话题,在Linux机器上的终端输入“rostopic list”查看可用的话题:

rostopic list

/odom
/mobile_base/commands/velocity
/mobile_base/commands/reset_odometry
/mobile_base/sensors/bumper_pointcloud
/mobile_base/events/cliff
/camera/rgb/image_raw
/scan

宿主计算机设置

查找网络中宿主计算机的IP地址,在Windows机器,在快速命令窗口输入“ipconfig”,在Mac或Linux机器,打开终端并输入“ifconfig”,即可看到IP地址如下图所示。

请输入图片描述

注意:根据用户连接便携式电脑方式不同,连接的类型可能变化,这种情况下用户使用以太网,然而,在许多种情况下无线(wlan)是合适的方式。

使用“ping IP_OF_VM”对仿真器机器乒网测试,首先是成功的乒网,接着是不成功的乒网,如下图所示。

请输入图片描述

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与matlab语言入门教程