消息结构获取
ROS消息是对象,消息数据存储在属性中。MATLAB具有方便的方法来查找和探索消息的内容。
如果订阅了/pose主题,则可以接收和检查发送的消息。
posesub = rossubscriber("/pose","DataFormat","struct")
posesub =
Subscriber with properties:
TopicName: ‘/pose’
LatestMessage: []
MessageType: ‘geometry_msgs/Twist’
BufferSize: 1
NewMessageFcn: []
DataFormat: ‘struct’
使用receive从订阅者获取数据。一旦接收到新消息,函数将返回该消息并将其存储在posedata变量中(第二个参数是以秒为单位的超时)。
posedata = receive(posesub,10)
posedata = struct with fields:
MessageType: ‘geometry_msgs/Twist’
Linear: [1x1 struct]
Angular: [1x1 struct]
该消息的类型为geometry_msgs/Twist。消息中还有另外两个字段:Linear和Angular。
您可以通过直接访问这些消息字段来查看它们的值:
posedata.Linear
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3’
X: 0.0457
Y: -0.0015
Z: 0.0300
posedata.Angular
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3’
X: -0.0358
Y: -0.0078
Z: 0.0416
这些消息字段的每个值实际上都是一条消息。它们的消息类型是geometry_msgs/Vector3。
geometry_msgs/Twist是由两条
geometry_msgs/Vector3消息组成的复合消息。
xpos = posedata.Linear.X
xpos = 0.0457
如果希望快速总结消息中包含的所有数据,请调用rosShowDetails函数。rosShowDetails适用于任何类型的消息,并递归地显示所有消息数据字段。
rosShowDetails(posedata)
ans =
‘
MessageType : geometry_msgs/Twist
Linear
MessageType : geometry_msgs/Vector3
X : 0.04571669482429456
Y : -0.001462435127715878
Z : 0.03002804688888001
Angular
MessageType : geometry_msgs/Vector3
X : -0.03581136613727846
Y : -0.007823871737372501
Z : 0.04157355251890671’
rosShowDetails在调试期间和希望快速查看消息内容时提供帮助。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
matlab
+关注
关注
175文章
2924浏览量
228441 -
变量
+关注
关注
0文章
596浏览量
28112 -
ROS
+关注
关注
1文章
271浏览量
16682
发布评论请先 登录
相关推荐
离散点采样方法的MATLAB实现
谁有离散点采样方法的MATLAB实现的代码 老师说是用于图像处理上的基于目标区域和基于目标边界两类方法的优势,用阴采样图获取目标图像中目标的边界信息,用阳采样图
发表于 03-16 00:16
慕课matlab学习 第三章-012 matlab基本结构 精选资料分享
慕课matlab学习 第三章-01201-顺序结构顺序% 第三节 程序流程控制% 01-顺序结构顺序%程序设计的基本步骤:%1、分析问题,确定求解问题的数学模型或方法%2、设计算法,并
发表于 08-18 07:31
用MATLAB设计FIR滤波器的方法
用MATLAB设计FIR滤波器的方法
摘 要 介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给
发表于 01-16 18:12
•1.5w次阅读
matlab2009安装方法及问题过程
matlab2009安装方法及问题过程
Matlab R2009a安装方法如下:
1) choose "install manually without using t
发表于 03-22 17:56
•4468次阅读
在MATLAB中的编程和数值方法
本文介绍了通常使用的数值方法在科学和工程学本科课程中遇到(并使用过)。这材料是与MATLAB协同开发的,可快速进行原型制作和测试方法。软件包MATLAB(矩阵实验室)提供了一个环境
发表于 05-25 10:48
•1次下载
评论