Did not get the same EuRoC dataset trajectory error
tianlong312 opened this issue · 4 comments
Hi there,
I am trying to match the EuRoC dataset trajectory error in your report before I use it for my own dataset. However, I am not getting values close to your results in the report. Below is how I used this tool:
- In EuRoC mav folder, convert imu0 and vicon0 folder into a single rosbag
- Change exp_eth.launch file (I only changed "dataset", "folder" and "state_freq"=200Hz ) and roslaunch exp_eth.launch
- SE3 aligned the trajectory from exp_eth.launch and trajectory in EuRoC state_groundtruth_estimate folder but the trajectory error is much bigger than your values in report (about 10x bigger).
Could you please let me know where could possibly be wrong in the process?
Are you referring to this table in the report?
If you read it, it did perform pos+yaw alignment. What tool are you using to compute the error? If you wish to reproduce this (note that the code has changed since the report was generated so there will be some difference), then do the following:
- Extract each
/mav0/state_groundtruth_estimate0/data.csv
from the ASL format of the bags - Convert these from the csv to the txt format using
format_convert
- Run and generate a trajectory from the bag files using vicon2gt
- Compute the error using pos+yaw alignment (for example
error_comparison
)
Here is the raw data if you have trouble getting it: asl_eth_raw.zip
And here is an example plotting script with data: example_eurocmav_plotting.zip
I have also pushed an example run script here similar to the simulation one in the repo:
https://github.com/rpng/vicon2gt/blob/a5d3ff2a2996b7de168a39b537d976043f3783fc/scripts/run_ros_eth.sh
Hope this helps you.
Hi Patrick,
Thank you so much for your quick reply. Yes I'm referring to the table above. I am using evo for the pos alignment, right now just want to focus on pos alignment and get the correct position error.
One thing I want to clarify is that in your step 3, the bag files you mentioned are not the bag files you can directly download from their website right? Instead, we should create our own bag by adding /mav0/imu0/data.csv
and /mav0/vicon0/data.csv
topics.
The bag files provided by the dataset already have the vicon topics in it. I am not sure how you are converting them into a bag, but I recommend just directly using the bags themselves. The optimized groundtruth isn't found in the bag files and is only in the ASL format zip file.
path: /home/patrick/datasets/euroc_mav/V1_01_easy.bag
version: 2.0
duration: 2:24s (144s)
start: Jun 25 2014 12:54:33.28 (1403715273.28)
end: Jun 25 2014 12:56:58.00 (1403715418.00)
size: 2.0 GB
messages: 107819
compression: none [1945/1945 chunks]
types: asctec_hl_comm/MotorSpeed [3070a95b3ba41b42ea1ab4ed7544fc82]
geometry_msgs/TransformStamped [b5764a33bfeb3588febc2682852579b0]
sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2]
topics: /cam0/image_raw 2912 msgs : sensor_msgs/Image
/cam1/image_raw 2912 msgs : sensor_msgs/Image
/fcu/imu 29123 msgs : sensor_msgs/Imu
/fcu/motor_speed 29123 msgs : asctec_hl_comm/MotorSpeed
/imu0 29120 msgs : sensor_msgs/Imu
/vicon/firefly_sbx/firefly_sbx 14629 msgs : geometry_msgs/TransformStamped
RE: use of EVO. Make sure the output format is correct, I personally have never used, so you are on your own there to verify it is performing alignment correctly. "pos alignment" requires you to specify an alignment type. I recommend that you read the following paper so you are familiar with this process: https://rpg.ifi.uzh.ch/docs/IROS18_Zhang.pdf
Thanks! I see, what I've done is I wrote a python script to convert mav0/vicon0
and mav0/imu0
in the ASL format zip file into a bag. And then I use the bag I created with vicon2gt. I thought that would be equivalent to using the downloaded bag directly. However, they do not seem to be the same.