主要内容

用遥操作控制Turtlebot

此示例显示了通过使用的键盘控制TurtleBot®examplehelperturtlebotcommunicator.班级。说明书描述了如何设置对象以及如何启动键盘控件。启动功能时会显示如何使用键盘控件的说明。要更改函数的参数,请编辑examplehelperturtlebotkeyboardControl.功能或者ExampleHelperTurtleBotKeyInput班级。有关使用MATLAB®使用TurtleBot的介绍,请参阅入门示例(开始使用真正的turtlebot开始使用凉亭和模拟乌龟机器人的)

先决条件:与Turtlebot沟通探索Turtlebot的基本行为

Turtlebot金宝app的硬件支持包

此示例概述了使用其本地ROS界面与TurtleBot一起使用。基于Turtlebot的机器人的R金宝appOS工具箱™支持包提供了一个更简化的Turtlebot2硬件的界面。

安装支持包,打开金宝app加载项>获取硬件支持包金宝app在matlab上标签并选择ROS工具箱支持包装为土金宝app耳其机器人。或者,使用罗萨迪恩斯命令。

连接到Turtlebot

确保你在Gazebo®模拟或真实硬件上运行一个TurtleBot。指开始使用凉亭和模拟乌龟机器人开始使用真正的turtlebot对于启动过程。如果您使用的是模拟,凉亭办公室对探索有利。

初始化ROS。通过替换连接到TurtleBotIP地址使用Turtlebot的IP地址。

ipaddress =“http://192.168.178.133:11311”;罗斯尼特(ipaddress)
使用NodeURI http://192.168.178.1:55912/初始化全局节点/matlab_global_node_59490

如果您使用的是真正的TurtleBot2硬件,请确保您启动了Kinect®摄像头。在TurtleBot的终端上运行如下命令:

罗斯利克turtlebot_bringup.3dsensor.launch.

在TurtleBot版本之间可能存在一些功能、传感器和主题名称的差异。在控制它时,一定要检查使用的版本和预期的主题。

Turtlebotversion = 3;%凉亭办公室世界使用TurtleBot3汉堡模型

订阅OCOMORY和激光扫描主题,并确保您可以在这些主题上接收消息。使用结构消息格式进行通信以获得更好的性能。

句柄。odomSub = rossubscriber (“/ odom”“缓冲区大小”,25,“dataformat”“结构”);接收(Handles.odomsub,3);handles.lasersub = Rossubscriber(“/扫描”“缓冲区大小”5,“dataformat”“结构”);接收(Handles.lasersub,3);

创建一个用于控制机器人速度的发布者。

如果turtlebotversion == 3 veltopic =“/ cmd_vel”;别的veltopic =“/ mobile_base /命令/速度”;结尾handles.velpub = rospublisher(veltopic,“dataformat”“结构”);

控制机器人

跑过examplehelperturtlebotkeyboardControl.功能,允许您使用键盘控制Turtlebot。将插入的代码示例标记为代码(突出显示并按'ALT + ENTER')以执行该函数。

exampleHelperTurtleBotKeyboardControl(处理);

以下是指令窗口,世界剧情和凉亭世界的样本,后者是用户的一些键盘洞穴:

如果你太快地移动了turtlebot,因为在高速下的内径术语中的相对不准确性,障碍物绘图可能会变得凌乱。这是一个凌乱的世界情节的一个例子:

显示了围绕办公空间移动的真正火炬的样本图:

与机器人断开连接

一旦通过按下函数问:,清除主机上的发布者和订户。

清晰的

Rosshutdown.一旦完成了ROS网络。关闭全球节点并断开来自Turtlebot的连接。

Rosshutdown.
使用NodeURI http://192.168.178.1:55912/关闭全局节点/matlab_global_node_59490

下一步