主要内容

getPointCloud

得到点云图像TurtleBot相机

描述

例子

pcloud= getPointCloud (tbot等待来自TurtleBot的下一个发布的点云消息®通过接口对象连接,tbot,返回点云图像。如果5秒内没有收到消息,该函数将显示一个错误。

pcloudpcloudMsg= getPointCloud(tbot还返回接收到的ROS点云消息。

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

例子

全部折叠

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

龟形机器人(“192.168.1.1”);

从TurtleBot获得最新的点云图像。

pcloud = getPointCloud(tbot);

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

龟形机器人(“192.168.1.1”);

从TurtleBot获得最新的点云图像和消息。

[pcloud,pcloudMsg] = getPointCloud(tbot);

获取点云消息中每个点的RGB值readRGB.你可以用MATLAB来读取其他信息®数据类型包括readXYZ而且readAllFieldNames

rgb = readRGB(pcloudMsg);

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

龟形机器人(“192.168.1.1”);

从TurtleBot获得最新的点云图像和消息。

[pcloud,pcloudMsg] = getPointCloud(tbot);

绘制点云使用scatter3

scatter3 (pcloudMsg)

输入参数

全部折叠

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没有最新消息,该函数将返回一个空白图像和空白图像消息。

输出参数

全部折叠

点云图像,作为包含以下字段的结构返回:

  • XYZ——一个n-by-3矩阵包含xyz所有的-坐标n点。每一行代表一个三维点。

  • RGB——一个n-by-3矩阵,包含所有的RGB值n点。每一行都对应一个三维点pcloud。XYZ

“sensor_msgs / PointCloud2”ROS点云消息,返回为PointCloud2对象句柄。

版本历史

在R2016a中引入