IMU orientation mismatch with RVIZ
Hello everyone,
I am using the robot localization package to fuse together data from wheel odometry and imu.
For my robot, the imu frame is placed at 0.5m on top of the base_link (it is placed flat, paralleled to the ground plane on my robot). When I visualize the imu data in rviz, i see that it does not match the frame that I have broadcasted. This is shown in the image below with the larger frame representing the orientation of the imu (UM7) sensor. It is shown that it is on an angle however the imu is placed flat. Can someone explain why this happens?
This is what I am using to launch the IMU and broadcase the imu transform
<!--launches IMU UM7-->
<node pkg="um7" type="um7_driver" name="um7_driver" respawn="true" output="screen">
<param name="port" value="/dev/ttyUSB0"/>
<param name="frame_id" type="string" value="imu"/>
<param name="baud" type="int" value="115200"/>
<param name="mag_updates" type="bool" value="true"/>
</node>
<!--launches robot localization that fuses wheel odometry and IMU-->
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se" clear_params="true">
<rosparam command="load" file="$(find robot_localization)/params/ekf_template.yaml" />
</node>
<!--broadcasts IMU frame transform -->
<node pkg="tf" type="static_transform_publisher" name="imu" args="0 0 0.5 0 0 0 base_link imu 100" />
Hey did you solve your problem? I fixed it by setting the param tf_ned_to_enu to false, at least the vizualisation of rviz_imu_plugin