ros-perception / slam_gmapping

http://www.ros.org/wiki/slam_gmapping
656 stars 528 forks source link

Fixed transformation error for centered_laser_pose_ computation #88

Open madMAx43v3r opened 4 years ago

madMAx43v3r commented 4 years ago

fixed transformation error for centered_laserpose computation in case of laser mounted upside down

tf::createQuaternionFromRPY() takes fixed angles as input such that angle_center is not affected by the 180 deg roll

madMAx43v3r commented 4 years ago

This change only affects users where angle_center != 0 and the scanner is mounted upside down. I believe we are one of the first to encounter this case.

We tested this on one of our MP-400 at Neobotix which is fitted with a new scanner for testing purposes. This scanner doesn't follow the ROS convention and thus has a angle_center of over 100 deg. When we mounted the scanner normally we could build maps no problem, but when we mounted it upside down we got major issues trying to build a map, everything was rotated and it was a big mess. However in RVIZ it looked just fine in both cases (using odom as reference), so the problem had to be in gmapping.

With this fix we can build maps just fine even when the scanner is mounted upside down.

Hope that helps.

madMAx43v3r commented 4 years ago

Sorry, I moved that other commit to another branch now.