hector_quadrotor_gazebo + imu_filter_madgwick, estimation quality?
Hello!
Does anyone have experience with the Madgwick
filter applied with the hector_quadrotor_gazebo
package (quadrotor_empty_world.launch
)?
I executed some maneuvers with the quadrotor in gazebo
and compared the published ground truth (/ground_truth_to_tf/pose
topic) orientation with the output of the Madgwick filter (/imu/data
topic). I observe some significant (too big) differences that are depicted in the following figures:
Roll - this is quite okey
Pitch - less okey, seems the drift is not compensated enough
Yaw - quite big differences, (soft/hard iron compensation, is it something that should be addressed here in gazebo?)...
I will start playing with the filter gain
which is now set to the default 0.1
. But i have a feeling that something is wrongly set up in my environment. So here are the relevant parts:
In spawn_quadrotor launch
file, i have:
<arg name="use_ground_truth_for_tf" default="true" />
<arg name="use_ground_truth_for_control" default="false" />
Once gazebo world with the quadrotor is initialized i start the imu_filter_madgwick
node in a launch file with the following params:
<param name="use_mag" value="true"/>
<param name="publish_tf" value="false"/>
<param name="use_magnetic_field_msg" value="false"/>
<param name="world_frame" value="enu"/>
<remap from="imu/data_raw" to="raw_imu"/>
<remap from="imu/mag" to="magnetic"/>
Basically that is it. While the maneuvers are executed i registered the data from /ground_truth_to_tf/pose
and /imu/data
topics to be able to make the above comparison.
Do you see something that is missing or wrongly set up? Any help is much appreciated! Thank you.