Closed MCFurry closed 2 years ago
Thank you for creating your first issue on this repo! Give me some time to review and respond to your problem.
@MCFurry thanks for the issue! from some quick googling it looks like in an older ROS 1 package someone added some covariance values they had calculated. Now I'm not sure how accurate they are...but maybe adding these in there would be better than nothing?
Interested to hear your thoughts!
I think ideally these values should not be hard coded but calculated / calibrated on a unit by unit basis
found a similar question on ROS answers with an interesting answer that points to a good article on how to calculate covariance values from a streaming data source.
Following this article we should be able to add some code to this repo and calculate covariance values accurately rather than hard coding them.
Indeed, something is definitely better than putting zeroes in the covariance matrix.
The article looks interesting! But what you also see a lot is that the calibrated standard deviations, either from datasheet or from calibration are taken as a constant covariance. These covariances are than exposed via parameter such that the user can decide to override them. For example after doing a fresh calibration while mounted. Example: https://github.com/bluespace-ai/bluespace_ai_xsens_ros_mti_driver/blob/b83d0ec260b870bd4efb50682c4c895a099f6dd6/param/xsens_mti_node.yaml#L49
Thanks for your great contribution with an updated ROS2 driver. Unfortunately it seems the output topic does not contain valid covariance values? This makes merging this imu's data in a robot_localization node impossible...
Would it be possible to add this?