ori-drs / allan_variance_ros

ROS compatible tool to generate Allan Deviation plots
BSD 3-Clause "New" or "Revised" License
494 stars 87 forks source link

OpenMP Support and Rosbag Fix #23

Closed goldbattle closed 2 years ago

goldbattle commented 2 years ago

This adds ability to calculate the allan variance values in parallel (halved my processing time on a 8 core machine) If the user's compiler doesn't support OpenMP then it should ignore the pragma.

Some small quality of life improvements for the print statements in a couple places also. Additionally fixed some compile warnings for the try catch exceptions.

Additionally, creating the bag variable locally instead of in the class fixed this error (ubuntu 20.04):

allan_variance: /usr/include/boost/smart_ptr/shared_ptr.hpp:734:
typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = rosbag::EncryptorBase; typename
boost::detail::sp_member_access<T>::type = rosbag::EncryptorBase*]: Assertion `px != 0' failed.
goldbattle commented 2 years ago

I merged the conflicts, but need to test locally. Feel free to try out if you have time.

goldbattle commented 2 years ago

Works as expected for me.

raabuchanan commented 2 years ago

Yes, working for me too. Thanks!