Message中的隊列
在ROS中有一些復雜的消息中可以包含其他的消息,并形成消息數組。
例如在exampleHelperROSCreateSampleNetwork例子中,變量tf包含一個消息,這個消息的主要作用是坐標轉換的tf/tfMessage類型。通過輸入tf我們可以看到
tf
tf = struct with fields:
MessageType: ‘tf/tfMessage’
Transforms: [1x53 struct]
tf有兩個字段:MessageType包含一個標準數據數組,而Transforms包含一個對象數組。
在Transforms中存儲了53條消息,它們都具有相同的結構。在Transforms中展開tf以查看結構:
tf.Transforms
ans=1×53 struct array with fields:
MessageType
Header
ChildFrameId
Transform
Transforms中的每個對象都有四個屬性。
您可以展開以查看Transforms的Transform字段。下面的命令會返回53個單獨的輸出,因為每個對象都被求值并返回其Transform字段的值
% tformFields = tf.Transforms.Transform
cellTransforms = {tf.Transforms.Transform}
這將把所有53個對象條目放在一個單元格數組中,這樣就可以通過訪問標準的MATLAB向量的方式來訪問數組元素:
tf.Transforms(5)
ans = struct with fields:
MessageType: ‘geometry_msgs/TransformStamped’
Header: [1x1 struct]
ChildFrameId: ‘/imu_link’
Transform: [1x1 struct]
訪問53個變換列表中第五個變換的信息:
tf.Transforms(5).Transform.Translation
ans = struct with fields:
MessageType: ‘geometry_msgs/Vector3’
X: 0.0599
Y: 0
Z: -0.0141
-
matlab
+關注
關注
189文章
3000瀏覽量
233835 -
數組
+關注
關注
1文章
419瀏覽量
26494 -
ROS
+關注
關注
1文章
287瀏覽量
17693
發布評論請先 登錄
系統鏡像Ubuntu_ROS2中ROS2是什么意思,帶有ROS2開發環境嗎?
消息隊列經典十連問
SystemVerilog中的隊列
ROS基本介紹

ROS機器人操作系統的實現原理(上)

ROS機器人操作系統的實現原理(下)
FreeRTOS消息隊列介紹

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

Unity與ROS鏈接介紹

ROS核心框架介紹

ROS2中自帶例程測試

評論