How do I make sure works the robot_pose_ekf working correctly with imu sensor.
I want to use the output of robotposeekf (/odomcombined) with gmapping. I subscribe to published odometry (/odom) and imu (/imudata) topics. I am running node robotposeekf and it gives me odom_combined output. The launch file is as follows.
<launch>
<node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
<param name="output_frame" value="odom_combined"/>
<param name="base_footprint_frame" value="base_footprint"/>
<param name="freq" value="50.0"/>
<param name="sensor_timeout" value="1.0"/>
<param name="odom_used" value="true"/>
<param name="imu_used" value="true"/>
<param name="vo_used" value="false"/>
<remap from="imu" to="combined_odometry/odom" />
</node>
</launch>
when i start driving my robot and check it out, i see no difference between odometry and odom_combined. as if it didn't include the imu data in the calculation at all. I am also doing this conversion.
rosrun tf2ros statictransformpublisher 0 0 0 0 0 0 odom odomcombined
I see that the imun has no link in the node tree.
and I'm adding my tf tree below. Can anyone tell me where I'm doing wrong. I spent a long time on this.
Asked by apprentice_user on 2021-11-01 04:15:14 UTC
Comments