情节Turtlebot测程法
这个例子展示了如何获得、存储和显示测程法数据从TurtleBot®驱动的环境中。
连接到TurtleBot
第一个代码块的描述
ipaddress =“192.168.192.130”;%你的机器人的IP地址tbot = turtlebot (ipaddress, 11311);tbot.Velocity。TopicName =' / cmd_vel ';
测程法数据
使用getOdometry
得到一个单一量距点TurtleBot。函数返回的位置和姿态[x y z]
坐标和(偏航距辊)
角度。
奥多姆= getOdometry (tbot)
奥多姆=结构体字段:位置:[4.3772 1.4580 -0.0010]取向:[-2.2936 0.0032 7.8259 e-06]
发送速度命令改变机器人的位置。要注意位置的变化,首先重置测程法。使用setVelocity
驱动机器人前进2秒,等待机器人来执行这个命令。
resetOdometry (tbot) setVelocity (tbot, 0.5,“时间”,2)
得到后的测程法速度命令发送。的x协调的odom.Position
反映了位置上的改变。速度为0.5米/秒2秒产生一个1米的位移x按预期方向。
奥多姆= getOdometry (tbot)
奥多姆=结构体字段:位置:[3.2717 0.7216 -0.0010]取向:[-2.6151 0.0032 -1.5861 e-05]
情节量距数据点
你可以存储测程法数据的完整轨迹时机器人路径导航通过其环境。
开始循环存储速度量距的位置,然后发出一个命令。这个循环运行20次创建一个基本的两种轨迹。绘制轨迹。
odomList = 0 (20, 2);resetOdometry (tbot)为我= 1:20奥多姆= getOdometry (tbot);odomList(我:)= (odom.Position (1) odom.Position (2)];如果我< 10 setVelocity (tbot, 0.25, 0.15)其他的setVelocity (tbot, 0.25, -0.15)结束暂停(1);结束情节(odomList (: 1) odomList (:, 2))
另请参阅
turtlebot
|getOdometry
|setVelocity