Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More details about IMU #35

Open
ricber opened this issue Dec 18, 2019 · 7 comments
Open

More details about IMU #35

ricber opened this issue Dec 18, 2019 · 7 comments

Comments

@ricber
Copy link
Contributor

ricber commented Dec 18, 2019

Hi, could you please explain how you built the IMU data? Did you use the Velodyne embedded sensor or an external one? How did you calculate the orientation? Did you use the common filters from ROS imu_tools or something else? What about the covariance matrices?

Thank you for the help :)

@koide3
Copy link
Owner

koide3 commented Dec 19, 2019

Hi @ricber ,
I used the IMU embedded in velodyne HDL32e. I integrated IMU and LIDAR data using my own UKF, so I didn't use the ROS common filters. I assumed a constant observation noise covariance for updating UKF. See the following code which performs the IMU LIDAR integration and the paper for details:

https://github.com/koide3/hdl_localization/blob/master/include/hdl_localization/pose_estimator.hpp
https://journals.sagepub.com/doi/full/10.1177/1729881419841532

@ricber
Copy link
Contributor Author

ricber commented Dec 22, 2019

Thank you for your answer and congrats for the paper because it's very well-written :)
Btw, I've seen the constant observation noise covariance numbers that you put in the code. How did you come up with them? Are they just common practice black magic numbers, or did you implemented some fine-tuning method?

@koide3
Copy link
Owner

koide3 commented Dec 23, 2019

I've tried to calculate these values from the IMU's spec sheet, but they didn't work well. Then, I put the magic numbers which work better. If you need some theoretical ways to calculate the covariance, the following papers would be help.

https://arxiv.org/pdf/1708.03852.pdf
https://github.com/ethz-asl/ethzasl_msf/raw/master/2013_IROS_lynen_modular_sensor_fusion.pdf

@ricber
Copy link
Contributor Author

ricber commented Jan 9, 2020

So, basically you get rid of the covariance values from the imu_data msgs, right? I have your same setting: a Velodyne HDL 32E and IMU msgs from the Velodyne embedded sensor. However, if I run hdl_localization without IMU prediction all is working fine. When I add the IMU prediction the localization fails from the beginning. The only difference is that my covariances values of the imu_data msgs are all set to 0. Instead, I see a -1 in the first position of the orientation_covariance vector of your hdl_400.bag file. Is that -1 important? Moreover, have you done some calibration to the IMU? In case, could you explain how you did it?

@Nova555
Copy link

Nova555 commented Oct 14, 2020

Hi, I the same problem as you. DId you solve it?

@ricber
Copy link
Contributor Author

ricber commented Oct 15, 2020

No, sorry. If I remember correctly in the end I've just chose for the localization without IMU.

@ricber
Copy link
Contributor Author

ricber commented Nov 22, 2020

Hi @Nova555 , do you have the "-1" in the first position of the orientation_covariance vector of your IMU message?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants