0
$\begingroup$

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 thisgazebo tf. 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 hector_pose_estimation tf . 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"
child_frame_id: "rexrov2/base_link"
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?

$\endgroup$
5
  • 1
    $\begingroup$ 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? $\endgroup$
    – Franky
    Oct 4 at 13:07
  • $\begingroup$ 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. $\endgroup$
    – Tully
    Oct 5 at 17:31
  • $\begingroup$ 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 $\endgroup$
    – bob
    Oct 6 at 12:26
  • $\begingroup$ 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? $\endgroup$
    – bob
    Oct 12 at 6:53
  • $\begingroup$ should I open a new question or? $\endgroup$
    – bob
    Oct 12 at 6:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.