绘制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))
另请参阅
turtlebot
|getOdometry
|setVelocity