at-wat / mcl_3dl

A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map.
BSD 3-Clause "New" or "Revised" License
480 stars 119 forks source link

Robot movement needs to follow ROS frame convention? #286

Closed tuandle closed 4 years ago

tuandle commented 4 years ago

Hi @at-wat , In my case, the odometry estimation comes from my VIO, hence, in the local odom frame, the forward movement happens along the y-axis as in this picture: ask_mcl Do we need to transform the local odom frame to match the global map frame followed ROS convention? When I directly use the VIO as odometry sources, the result looks like this: ask_mcl2 The pointcloud comes from a TOF camera and it can not align with the map. I would like to ask if there are some frames alignments (between map, odometry, base_link, pointcloud, IMU) that need to be done before starting the filter? Thanks for your help!

at-wat commented 4 years ago

Sorry for delayed reply. Current implementation uses IMU acceleration vector to obtain the ground direction. So, I guess you need to adjust IMU frame relative to base_link in your case.