此示例显示如何设置Gazebo®模拟器引擎。此示例为您使用Gazebo进行进一步探索以及使用模拟TurtleBot®进行探索做好准备。
Gazebo是一个模拟器,可以让你用物理场景进行真实的测试和实验。Gazebo是机器人学中一个有用的工具,因为它可以让你用坚实的物理和良好的图形快速创建和运行实验。MATLAB®通过ROS接口连接到Gazebo。
您可以下载已安装ROS和Gazebo的虚拟机映像。此虚拟机基于Ubuntu®Linux®并预先配置为支持ROS工具箱中的示例™.金宝app
下载并安装ROS虚拟机.
启动虚拟机。
在Ubuntu桌面上,您可以看到多个Gazebo world启动脚本,以及其他实用程序快捷方式。对于TurtleBot®示例,请使用露台空着,露台之家酒店,露台办公室或露台标志图标。
点击露台之家酒店.世界开放了。
注:如果露台屏幕看起来全黑,则通过最小化然后最大化来刷新图像。
在Ubuntu虚拟机中打开一个新终端。
类型命令
然后返回查看虚拟机的网络信息。
在下面eth0
这个内特地址
显示虚拟机的IP地址。
必须设置两个ROS环境变量来设置网络:ROS_MASTER_URI和ROS_IP。如果您使用的是Linux®虚拟机桌面上的演示,这些变量通常在启动时自动设置。
(可选)如果您正在使用自己的虚拟机通过在终端中执行以下命令来设置变量。代替虚拟机的IP_
使用通过检索到的IP地址命令
):
echo导出ROS_主URI=http://IP_OF_VM:11311 >>~/.bashrc echo导出ROS\u IP=IP\u OF_VM>>~/.bashrc
使用以下命令检查环境变量:echo$ENV_VAR
(用适当的环境变量替换ENV_VAR)。您可以关闭并重新打开终端以使其生效。
下图说明了正确的环境变量分配(使用假IP地址)
如果您已经在Linux发行版上运行Gazebo,请按照以下说明设置模拟器:
在ROS网站上,下载TurtleBot的相应软件包。
按照ROS网站上的说明,让TurtleBot在模拟露台环境中运行。
确保环境变量设置正确,并且可以在主机和Gazebo计算机之间来回ping。建立网络的方法有很多。这个连接到ROS网络示例包含有关如何验证ROS网络中设备之间连接的提示。
要在Linux机器终端中使用任何ROS命令,需要设置终端环境以使用正确的ROS安装。在运行任何ROS命令之前,在终端中获取适当的ROS环境设置脚本。在VM中,命令是:来源
/opt/ros/melodic/setup.bash
确保您有权访问以下主题。在Linux机器上的终端中,输入罗斯托普列表
至少可以查看这些可用主题。
/时钟/cmd_-vel/imu/odom/scan/tf
在网络上查找主机的IP地址。在Windows®计算机上,在命令提示下,键入ipconfig
. 在Mac或Linux机器上,打开终端并键入命令
. 一个例子ipconfig
如图所示。
注:连接类型可能因您连接到笔记本电脑的方式而异。在这种情况下,您使用以太网,但在许多情况下,无线(wlan)是合适的连接。
Ping模拟机ping IP_OF_VM
.成功的发出砰的声响
首先显示,然后是不成功的发出砰的声响
.
更多露台示例,请参阅:使用ROS在Gazebo中拾取和放置工作流(机器人系统工具箱)
有关TurtleBot示例,请参阅:与海龟交流