Home » ROS与Matlab入门教程 » ROS与Matlab语言入门教程-使用操纵杆控制TurtleBot

ROS与Matlab语言入门教程-使用操纵杆控制TurtleBot

本例程演示通过使用“ExampleHelperTurtleBotCommunicator”类,实现对TurtleBot的键盘控制。该说明描述了如何设置物体和开始键盘控制。如何使用键盘控制的说明在启动函数之后显示。为了更改函数的参数,可以编辑“exampleHelperTurtleBotKeyboardControl”函数或“ExampleHelperTurtleBotKeyInput”类。有关MATLAB下如何使用TurtleBot的信息,请参考:4.2开始使用Gazebo和仿真的TurtleBot或4.1开始使用实际的TurtleBot。

连接到TurtleBot

确保用户有一个运行的TurtleBot,可以是通过Gazebo的仿真也可以是真实的硬件。有关启动过程请参考4.2开始使用Gazebo和仿真的TurtleBot或4.1开始使用实际的TurtleBot。如果用户使用仿真,那么“Gazebo TurtleBot World”适合用于本例程的探索。

初始化ROS。通过TurtleBot的IP地址替换示例IP地址(192.168.1.1)并连接到TurtleBot。

ipaddress = '192.168.1.1'
rosinit(ipaddress)

如果用户使用实际的TurtleBot硬件,确保启动了Kinect相机,命令是“roslaunch turtlebot_bringup 3dsensor.launch”,在TurtleBot上的终端执行该指令。

创建“ExampleHelperTurtleBotCommunicator”类的实例,该实例使得控制TurtleBot变得容易。

tbot = ExampleHelperTurtleBotCommunicator();

通过调用运行在“ExampleHelperTurtleBotCommunicator”对象的函数使能里程计和激光扫描话题,如下所示。

enableOdom(tbot);
enableLaser(tbot);

如果用户连续的执行上述代码,可以暂停脚本以等待订阅器恰当地设置。

pause(2)

控制机器人

运行“exampleHelperTurtleBotKeyboardControl”函数,允许用户通过键盘控制TurtleBot。

exampleHelperTurtleBotKeyboardControl(tbot);

用户通过键盘远程操作之后的命令窗口、环境绘图和Gazebo环境如下图所示。

请输入图片描述

请输入图片描述

请输入图片描述

如果用户移动TurtleBot过快,那么障碍物绘图可能变得混乱,因为在高速情况下里程计话题相对精度不精确。混乱的环境绘图如下所示。

请输入图片描述

真实TurtleBot在办公室环境移动的示例绘图如下所示。

请输入图片描述

断开与机器人的连接

当用户完成工作后,清楚工作空间中的发布器、订阅器和其它有关ROS的对象是个良好的习惯。

clear

建议当完成ROS网络有关的工作之后,使用“rosshutdown”指令关闭全局节点和断开与Gazebo的连接。

rosshutdown

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

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


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