主要内容

getOdometry

获取里程表读数TurtleBot

描述

例子

奥多姆= getOdometry (tbot等待TurtleBot发出的下一条里程计信息®通过接口对象连接,tbot,并返回里程表。如果5秒内没有收到消息,该函数将显示一个错误。

奥多姆odomMsg= getOdometry(tbot还返回接收到的ROS里程计消息。

___= getOdometry(tbot超时等待下一个图像超时秒。如果在这段时间内没有收到新消息,该函数将显示一个错误。超时时间为零将不等待地返回最新接收到的消息。如果没有收到消息,该函数返回一个空矩阵奥多姆和一个空的信息odomMsg,如果指定。

例子

全部折叠

连接到TurtleBot机器人。改变“192.168.1.1”到机器人的IP地址。

龟形机器人(“192.168.1.1”);

从TurtleBot获得最新的里程表读数。

odom = getOdometry(tbot);

输入参数

全部折叠

TurtleBot接口对象,指定为turtlebot对象。该对象包含用于激活订阅者和访问与TurtleBot相关的主题名称的属性。属性包含TurtleBot不同订阅者的主题名称和活动状态。创建对象时使用turtlebot,可用的属性为:

龟形机器人
tbot = turtlebot与属性:Velocity: [1x1 struct] ColorImage: [1x1 struct] GrayImage: [1x1 struct] DepthImage: [1x1 struct] PointCloud: [1x1 struct] LaserScan: [1x1 struct] Odometry: [1x1 struct] OdometryReset: [1x1 struct] IMU: [1x1 struct] TransformFrames: {0x1 cell} TopicNames: {3x1 cell}

对于具有相关ROS数据消息的属性,您可以查看主题名称和订阅者的活动状态。给定的特定订阅者是活动的TopicName如果活跃的等于1。

tbot。速度
ans = TopicName: '/mobile_base/commands/velocity'激活:1

接收图像的超时时间,以秒为单位指定为标量。之后,函数返回一个错误超时秒。如果超时= 0时,函数返回最新的图像。如果TurtleBot没有最新消息,该函数将返回一个空白图像和空白图像消息。

输出参数

全部折叠

里程表读数,作为包含以下字段的结构返回:

  • 位置-包含TurtleBot测程的三维位置估计的三元素行向量为[x y z]在米。

  • 取向-包含TurtleBot基于测程读数的三维方向估计的三元素行向量。方向被返回[原节辊]角的形式是弧度。

“nav_msgs /测程法”ROS里程表消息,返回为测程法对象句柄。

版本历史

在R2016a中引入