LORD-MicroStrain / microstrain_inertial

ROS driver for all of MicroStrain's current G and C series products. To learn more visit
https://www.microstrain.com/inertial
97 stars 72 forks source link

Can't use the low-pass filter feature #336

Open ozeryeden opened 4 months ago

ozeryeden commented 4 months ago

hi,

We have configured the cutoff frequency of the low-pass filter in the SensorConnect software as follows: low_pass_filter_sensorconnect

Below are the results of the acceleration data (published in '/imu/data' topic) with the cutoff frequency set to 500 Hz (default) and 1 Hz, using the most updated ros-driver (https://github.com/LORD-MicroStrain/microstrain_inertial).

500 Hz: 500hz_results

1 Hz: 1hz_results

As you can see, there appears to be no change in the data. Important to note that in the MIP software, the low-pass filter does seem to have an affect on the output data.

Am I using this feature correctly? if not could you please provide more details on how to correctly use it?

Thank you, Eden

robbiefish commented 3 months ago

Hi @ozeryeden,

Apologies for the delay. you appear to be using the feature correctly, the issue is in how the ROS driver publishes data.

It is noted in the wiki that the linear_acceleration and angular_velocity fields are populated by DeltaVelocity and DeltaTheta divided by time since they were last sampled.

As such, the low pass filter will have no effect on the data in that message, since it is only applied to the "Scaled" fields such as "ScaledAccel", "ScaledGyro", etc.

I am not sure exactly what your use-case is for using the low pass filter, but if you simply want to remove noise, you can reduce the imu_data_rate in the driver for now.

I will be adding the ability to use the scaled measurements and configure the low pass filter in the coming days though.