一个数组从Rosbag怎么走吗

3 Ansichten(30天)的
Paolino De Risi
Paolino De Risi 2021年9月16日
嗨,我是试图从rosbag图数据,直到现在我所做的:
袋= rosbag (“/ home / paolino / bagfiles / subset.bag”);
wh_gaz =选择(包,“主题”,' / joint_states ');
wh_gazStruct = readMessages (wh_gaz,“DataFormat”,“结构”);
这个结构是19153 x1细胞,每一个元素都是1 x1 struct速度记录,2 x1数组。
现在,我需要的是与每个wh_gazStruct创建1列数组。速度第一个元素,但是我找不到一个解决方案。直到现在我如何提问:
wh_gaz_mat = cellfun (@ (m)双(m.Velocity) wh_gazStruct);
但自从.Velocity记录有两个元素它不起作用。我能解决我的问题吗?

Antworten (1)

凸轮扎尔茨贝格
凸轮扎尔茨贝格 2021年9月16日
我和示例代码提供了一些指导 类似的问题 。这有助于让你朝着正确的方向前进!
凸轮
2 Kommentare
凸轮扎尔茨贝格
凸轮扎尔茨贝格 2021年9月17日
好吧,我不知道你的消息是什么样子。但是如果我设置这样的消息(模拟使用readMessages DataFormat =“结构”):
味精= rosmessage (“sensor_msgs / JointState”,“DataFormat”,“结构”);
n = 4;
公司=细胞(n, 1);
k = 1: n
公司{k} =味精;
公司{k}。速度= [k;- k);
结束
然后我可以这样做:
[wh1, wh2] = cellfun (@getwheelsvelocities公司);
代码规定,它工作得很好。
如果你有任何的消息没有速度场中两个条目,那么这段代码就会失败。
凸轮

Melden您西奇,嗯祖茂堂kommentieren。

Kategorien

找到更多的在发布者和订阅者帮助中心文件交换

Produkte


版本

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的