How do I reconstruct a TF tree from a rosbag?
24 次查看(过去 30 天)
显示 更早的评论
If I play a rosbag in a terminal and then run
tree = rostf;
I can view the TF tree and access the transforms between frames. What I would like to do is extract the TF tree from the rosbag directly. This should be possible as I have direct access to the '/tf' topic.
A possible acceptable hack would be a way to execute 'rosbag play filename.bag' from the MATLAB script directly.
Ideally, there would be functionality that could work something like the following:
bag = rosbag(filepath);
selectOptions = {'Topic', '/tf'};
bagselect = select(bag, selectOptions{:});
tf = getTransform(bagselect, 'map', 'odom', timestep);
1 个评论
Kyle Stanhouse
2016-8-16
It sounds like you might have been trying to do the same thing I was - use the Matlab ROS functions to access rosbag files and apply tf's to certain entities, possibly using 'waitforTransform()'? Did you ever find a resolution?
回答(1 个)
Josh Chen
2023-8-18
Hello David,
Yes! You may consider to use the getTransform function in BagSelection Object or rosbagreader Object to get the transformation between two frames in a specific rosbag.
This example shows how to access the transformation from a bag file.
Hope that helps,
Thanks,
Josh
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 ROS Log Files and Transformations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!