# TF broken in Hector Pose Estimation when fusing IMU and Pressure Sensor, frames are not correct and pose also not correct

Im doing some underwater UUV Gazebo simulation and would like to use the

hector_pose_estimation

package to fuse IMU and Fluid pressure sensors input for pose estimation. In the gazebo launch file I have this tf transformation <node pkg="tf" type="static_transform_publisher" name="world_to_nav" args="0 0 0 0 0 0 /world /nav 100" /> So the tf looks like this. and when using the following hector_pose_estimation launch file

<?xml version="1.0"?>
<launch>
<node pkg="hector_pose_estimation" type="pose_estimation" name="hector_pose_estimation">
<remap from="raw_imu" to="/rexrov2/imu" />
<remap from="pressure_height" to="/pressure_height" />
</node>

<node pkg="tf" type="static_transform_publisher" name="nav_to_base_footprint" args="0 0 0 0 0 0 /nav /rexrov2/base_footprint 100" />
</launch>


the TF is following . The both TF from gazebo and hector_pose_estimation are not correct. Any help how to get the correct frames to make it work? And when using the above launch the hector_pose_estimation /pose is like these

  header:
seq: 329
stamp:
secs: 781
nsecs: 118000000
frame_id: "nav"
pose:
position:
x: 0.0
y: 0.0
z: -1.64102132948e-09
orientation:
x: -8.80621330591e-06
y: 0.000294167493465
z: 3.71623915803e-14
w: 0.999999956694


Which is not correct as I have the true pose which if following

header:
seq: 15460
stamp:
secs: 781
nsecs: 608000000
frame_id: "world"
pose:
pose:
position:
x: 0.083413690347
y: 0.133535986662
z: -0.77756440376
orientation:
x: -9.34768900238e-06
y: 0.000294151069482
z: 0.00184072884918
w: 0.999998262551


In the hector /Pose the frame_id: "nav" and no child_frame. In the real pose is frame_id: "world" and child_frame_id: "rexrov2/base_link" (rexrov2 is the name of the robot) . Why the x and Y component of the Position are zeros? They shouldn't be zero. So any help how to fix it?

• Just from your question, it is difficult to understand what is going on. I would ask you to explain your question better, for example, why do you have/need a nav frame if there is a static transform between nav and the robot base frame? In mobile robotics, we usually use the odom frame, does nav frame perform the same function as odom frame does in ground mobile robots? Oct 4 at 13:07
• When you say that the TF from gazebo is not correct, can you expand on what you mean? You appear to be using a ground truth plugin, which I expect is accurate. What's not "correct" about it? Please edit your question with more details. It will help if you provide enough information to reproduce your setup with the exact commands etc. Make sure to include the output you are seeing as well as what you expect to see and what's different as well as any debugging you've done. Oct 5 at 17:31
• sorry I hava more urgent problem to solve which is getting linear velocity from robot_localization package. I will come back on this later. I post a question regarding that problem that have issue with the linear velocity
– bob
Oct 6 at 12:26
• ok. I have time now. I fixed the TF and now is ok. The problem is that the velocity is not correct as output of this package. When move the robot hector_pose_estimation think that it stay in same place as the pressure_height topic is 0 in X and Y. So how to fix that problem?
– bob
Oct 12 at 6:53
• should I open a new question or?
– bob
Oct 12 at 6:59