Open ivywongkk opened 5 years ago
I am having the same issue. I simply added the negative sign in LaserOdometry2D::PoseUpdate().
in file CLaserOdometry2D.cpp
Line 923:
pose_aux_2D.translation()(0) = -acu_trans(0,2);
pose_aux_2D.translation()(1) = -acu_trans(1,2);
Line 956:
lin_speed = -acu_trans(0,2) / time_inc_sec;
Then I get the right direction.
Really helpful, thanks!
Hi, I have the same problem, but when tried to make this solution, the problem got worse, now the odom is calculated in the reverse direction
Can you please help me with this one.
The above solution works but could the repository developers let us know if this a proper solution or is there something we should know about the way the algorithm expects the scan data to solve this problem. @JGMonroy @jgoppert @famoreno @mertsaadet
I have a similar problem, but might be different. During initialization the setLaserPoseFromTf()
function is called and if everything is published properly with TF it should work. However, I noticed that occasionally it doesn't read the TF correctly, or if the node comes up before the TF publisher then this doesn't work. On line 101 (https://github.com/MAPIRlab/rf2o_laser_odometry/blob/b38c68e46387b98845ecbfeb6660292f967a00d3/src/CLaserOdometry2DNode.cpp#L101), the return argument is not checked and call it initialized (even though a retrieved = false;
is returned.
Maybe for some, ensuring we keep trying to get the TF, would solve the problem!?
Hi there I'm using rf2o for the navigation stack. I rotated my lidar 90 degrees around z direction, and flipped upside down, and it scans only half range, from -180 to 0 degree. There I got a problem: tf goes to mirrored direction( x axis)...i.e. when I move robot to right, the tf goes to left.. The tf setup seems to be correct because I run the same tf for hector slam to create a map, and no problem with the pose direction. I'm new in ROS, could anyone advise how to solve it?