ethz-asl / voxgraph

Voxblox-based Pose graph optimization
BSD 2-Clause "Simplified" License
521 stars 69 forks source link

How to extract ground truth poses from bagile #72

Closed nachovizzo closed 2 years ago

nachovizzo commented 2 years ago

Hello, thanks for opening the source code and releasing the data.

We are trying to get the ground truth poses from the arche-flight-8 dataset, and so far we didn't succeed.

We basically created a simple python script which subscribes to the point cloud msg and lookup transformations for the current frame on the tf tree:

import rospy
import sensor_msgs
import tf

def callback(data):
    timestamp = data.header.stamp
    trans, rot = listener.lookupTransform("/odom", "/os1_sensor", timestamp)
    save_pose(trans, rot)

if __name__ == "__main__":
    rospy.init_node("tu_vieja")
    listener = tf.TransformListener()
    rospy.Subscriber(
        "/penguin/os1_cloud_node/points", sensor_msgs.msg.PointCloud2, callback
    )
    rospy.spin()

By inspecting the tf tree we can see that this is how it looks image

Question

Is the transformation from odom to os1_sensor the pose obtained by the gt system? If this is not true, how can we obtain it?

A .txt file witht the poses would also be more than fine for us :)