How do I reconstruct a TF tree from a rosbag?
Ältere Kommentare anzeigen
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 Kommentar
Kyle Stanhouse
am 16 Aug. 2016
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?
Antworten (1)
Josh Chen
am 18 Aug. 2023
0 Stimmen
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
Kategorien
Mehr zu ROS Log Files and Transformations finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!