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”对仿真器机器乒网测试,首先是成功的乒网,接着是不成功的乒网,如下图所示。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号