主要内容

绘制Turtlebot测程图

这个例子展示了当TurtleBot®在一个环境中驾驶时,如何从TurtleBot®获取、存储和显示里程数数据。

连接到TurtleBot

第一个代码块的描述

ipaddress =“192.168.192.130”%您的机器人IP地址Tbot = turtlebot(ipaddress,11311);tbot.Velocity.TopicName =' / cmd_vel '

获取里程表数据

使用getOdometry从乌龟机器人上得到一个里程表点函数返回的位置和方向为[x y z]坐标和[偏航俯仰横摇]角度。

odom = getOdometry(tbot)
奥多姆=带字段的结构:位置:[4.3772 1.4580 -0.0010]方向:[-2.2936 0.0032 7.8259e-06]

发送速度命令来改变机器人的位置。要注意位置的变化,请先重置里程计。使用setVelocity驱动机器人前进2秒,等待机器人执行此命令。

resetOdometry (tbot) setVelocity (tbot, 0.5,“时间”, 2)

在发送速度命令后获取里程数。的x协调的奥多姆。位置反映了位置的变化。0.5 m/s的速度持续2秒,位移为1m /sx方向与预期一致。

odom = getOdometry(tbot)
奥多姆=带字段的结构:位置:[3.2717 0.7216 -0.0010]方向:[-2.6151 0.0032 -1.5861e-05]

绘制里程测量数据点

您可以存储里程测量数据,以获得机器人在其环境中导航时的完整轨迹。

开始一个循环来存储里程表位置,然后发送一个速度命令。这个循环运行20次,以创建一个基本的两转弯轨迹。画出轨迹。

odomList = 0 (20,2);resetOdometry (tbot)i = 1:20 odom = getOdometry(tbot);odomList(i,:) = [odom.Position(1) odom.Position(2)];如果i < 10 setVelocity(tbot,0.25,0.15)其他的setVelocity (tbot, 0.25, -0.15)结束暂停(1);结束情节(odomList (: 1) odomList (:, 2))

另请参阅

||

相关的话题