RobustFieldAutonomyLab / LeGO-LOAM

LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
BSD 3-Clause "New" or "Revised" License
2.35k stars 1.11k forks source link

Map drifts over time #181

Closed saharLeisiazar closed 4 years ago

saharLeisiazar commented 4 years ago

Hi I am using lego loam with ouster lidar and xsens imu and my problem is: when I run lego loam, although my robot is steady, map and trajectory drift over time along x and y. Is there any parameter I can change or tune?

s271 commented 4 years ago

Have you tried pure ouster lidar without imu? May be xsens imu is not properly synchronized or not properly aligned with lidar. I got good result on ouster 64 without imu.

saharLeisiazar commented 4 years ago

Have you tried pure ouster lidar without imu? May be xsens imu is not properly synchronized or not properly aligned with lidar. I got good result on ouster 64 without imu.

Thanks for responding. I tried it with just lidar, still drifts. I checked it with many data recorded in different places. I noticed that at large and open places, lego loam works well but at small places like office it drifts. Is there any parameter I can tune to work for all places?

shikeqin123 commented 4 years ago

you are right,I try lego-loam in room failed also.I think problem is there is not enough features in room.

------------------ 原始邮件 ------------------ 发件人: "saharLeisiazar"<notifications@github.com>; 发送时间: 2020年5月22日(星期五) 凌晨3:20 收件人: "RobustFieldAutonomyLab/LeGO-LOAM"<LeGO-LOAM@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: Re: [RobustFieldAutonomyLab/LeGO-LOAM] Map drifts over time (#181)

Have you tried pure ouster lidar without imu? May be xsens imu is not properly synchronized or not properly aligned with lidar. I got good result on ouster 64 without imu.

Thanks for responding. I tried it with just lidar, still drifts. I checked it with many data recorded in different places. I noticed that at large and open places, lego loam works well but at small places like office it drifts. Is there any parameter I can tune to work for all places?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

cafgiu commented 4 years ago

Hi all. I am using lego loam with VLP16 lidar without IMU in indoor environment and I have the same problem as @saharLeisiazar. I builded the lego loam on the NVIDIA Jetson Nano Board.

Do you have any suggestions?

Thank you.

zorosmith commented 4 years ago

maybe u can use ALOAM in indoor environment. it works well.

On 05/28/2020 17:55, cafgiu wrote:

Hi all. I am using lego loam with VLP16 lidar without IMU in indoor environment and I have the same problem as @saharLeisiazar. I builded the lego loam on the NVIDIA Jetson Nano Board.

Do you have any suggestions?

Thank you.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

YiChenCityU commented 4 years ago

Hi I am using lego loam with ouster lidar and xsens imu and my problem is: when I run lego loam, although my robot is steady, map and trajectory drift over time along x and y. Is there any parameter I can change or tune?

Hi, I am also using ouster-64 to run lego-loam. But the rviz was not display right. Do you know how to fix it? Screenshot 2020-07-28 16:53:42

aemarkov commented 3 years ago

@YiChenCityU, I guess I have same issue. Check RViz log in the terminal, do you have something like this?

Invalid argument "/camera" passed to canTransform argument source_frame in tf2 frame_ids cannot start with a '/' like

I solved this issue by removing all leading "/" in the tf frame names. Just run the following command for quick replace:

cd <LeGO-LOAM source dir>
find -name "*.cpp" | xargs -I{} sed 's/frame_id = "\//frame_id = "/g' -i {}