Message中的隊(duì)列
在ROS中有一些復(fù)雜的消息中可以包含其他的消息,并形成消息數(shù)組。
例如在exampleHelperROSCreateSampleNetwork例子中,變量tf包含一個(gè)消息,這個(gè)消息的主要作用是坐標(biāo)轉(zhuǎn)換的tf/tfMessage類(lèi)型。通過(guò)輸入tf我們可以看到
tf
tf = struct with fields:
MessageType: ‘tf/tfMessage’
Transforms: [1x53 struct]
tf有兩個(gè)字段:MessageType包含一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)數(shù)組,而Transforms包含一個(gè)對(duì)象數(shù)組。
在Transforms中存儲(chǔ)了53條消息,它們都具有相同的結(jié)構(gòu)。在Transforms中展開(kāi)tf以查看結(jié)構(gòu):
tf.Transforms
ans=1×53 struct array with fields:
MessageType
Header
ChildFrameId
Transform
Transforms中的每個(gè)對(duì)象都有四個(gè)屬性。
您可以展開(kāi)以查看Transforms的Transform字段。下面的命令會(huì)返回53個(gè)單獨(dú)的輸出,因?yàn)槊總€(gè)對(duì)象都被求值并返回其Transform字段的值
% tformFields = tf.Transforms.Transform
cellTransforms = {tf.Transforms.Transform}
這將把所有53個(gè)對(duì)象條目放在一個(gè)單元格數(shù)組中,這樣就可以通過(guò)訪問(wèn)標(biāo)準(zhǔn)的MATLAB向量的方式來(lái)訪問(wèn)數(shù)組元素:
tf.Transforms(5)
ans = struct with fields:
MessageType: ‘geometry_msgs/TransformStamped’
Header: [1x1 struct]
ChildFrameId: ‘/imu_link’
Transform: [1x1 struct]
訪問(wèn)53個(gè)變換列表中第五個(gè)變換的信息:
tf.Transforms(5).Transform.Translation
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3’
X: 0.0599
Y: 0
Z: -0.0141
-
matlab
+關(guān)注
關(guān)注
189文章
3001瀏覽量
234143 -
數(shù)組
+關(guān)注
關(guān)注
1文章
420瀏覽量
26553 -
ROS
+關(guān)注
關(guān)注
1文章
288瀏覽量
17750
發(fā)布評(píng)論請(qǐng)先 登錄
Linux下進(jìn)程通訊消息隊(duì)列

系統(tǒng)鏡像Ubuntu_ROS2中ROS2是什么意思,帶有ROS2開(kāi)發(fā)環(huán)境嗎?
消息隊(duì)列經(jīng)典十連問(wèn)
ROS基本介紹

ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理(上)

ROS機(jī)器人操作系統(tǒng)的實(shí)現(xiàn)原理(下)
ROS/ROS 2 介紹

FreeRTOS消息隊(duì)列介紹

ROS中XMLRPC是什么
如何在Matlab中自定義Message

Matlab中創(chuàng)建一個(gè)Message方法

Unity與ROS鏈接介紹

ROS核心框架介紹

ROS2中自帶例程測(cè)試

評(píng)論