使用velodyne16線激光雷達跑loam-velodyne


一、velodyne-VLP16使用教程

請看官一定要參看以下網址教程,都是本人血淚史!

https://www.cnblogs.com/gdut-gordon/p/11228297.html

 

 

二、LOAM及其改進版本

2.1 源碼

1)作者J Zhang,已取消開源。

該庫融合二維hokuyo雷達和IMU構建三維空間點雲地圖。

 

2)作者laboshinl,https://github.com/laboshinl/loam_velodyne

該庫能兼容velodyne16線,32線,64線。不同型號的雷達要對相應的參數進行修改。

 

3)作者tcts-mvcp,https://github.com/tcts-mvcp/loam_velodyne

Change point type to PointXYZINormal, and store original coordinate and intensity data, which are useful for applications like land markers recognition or ground segmentation, to normal and curvature, respectively.

 

4)作者RobustFieldAutonomyLab,https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/

This repository contains code for a lightweight and ground optimized lidar odometry and mapping (LeGO-LOAM) system for ROS compatible UGVs. The system takes in point cloud from a Velodyne VLP-16 Lidar (placed horizontal) and optional IMU data as inputs. It outputs 6D pose estimation in real-time. 

The author use IMU integration to obtain the initial guess between two lidar transformation.

 

2.2 運行LOAM

roslaunch loam_velodyne loam_velodyne.launch

1)跑數據集

read from velodyne [VLP16 sample pcap] (https://midas3.kitware.com/midas/folder/12979)

roslaunch velodyne_pointcloud VLP16_points.launch pcap:="/home/laboshinl/Downloads/velodyne.pcap"

 

play sample velodyne data from [VLP16 rosbag] (https://db.tt/t2r39mjZ). “-r 0.5”降低數據播放頻率

rosbag play ~/Downloads/velodyne.bag -r 0.5

 

2)利用VLP16實時采集數據

roslaunch velodyne_pointcloud VLP16_points.launch calib:="/path/to/VLP16.yaml"

在RVIZ里面,在PointCloud2選項卡中添加/velodyne_cloud_registered,設置decay time為1000ms。

 

2.3 運行Lego-LOAM

roslaunch lego_loam run.launch

Notes: The parameter "/use_sim_time" is set to "true" for simulation, "false" to real robot usage.

1)跑數據集

rosbag play *.bag --clock --topic /velodyne_points /imu/data

 --clock  是個巨坑,詳情參考,https://www.cnblogs.com/gdut-gordon/p/10643426.html

 

2)用VLP16和IMU采集實時數據

roslaunch velodyne_pointcloud VLP16_points.launch calib:="/path/to/VLP16.yaml"
rosrun lpms_imu lpms_imu_node _sensor_model:="LPMSB2-9BA395" _port:="00:04:3E:9B:A3:95" /imu:=/imu/data

Notes:

在lego_loam中,作者並沒有進行lidar和imu的聯合標定!作者僅僅把lidar和imu的坐標系三個軸方向對齊,坐標系原點存在偏移。

如果想聯合標定IMU和lidar,可參考以下博文。

https://www.cnblogs.com/gdut-gordon/p/10146050.html

 

三、LeGO-Loam的融合里程計

可以通過 /tf 來查看融合后的里程計。

3.1 如何查看ROS中的 /tf 信息

1) rviz中添加 /TF 選項卡可視化;

2) 利用 /tf 的命令行功能查看;

 

3.2 融合里程計的 /tf 表示

節點/featureAssociation 發布了雷達里程計,frame id為 /laser_odom,10HZ;

節點/mapOptmization 發布了地圖優化的里程計,frame id為 /aft_mapped,2HZ;

節點/transformFusion 訂閱了來自上述兩個節點的里程計topic,融合計算,發布最終的里程計,frame id為 /camera, 10HZ;

以上3個 /tf 信息流,其 parent frame id 都是 /camera_init。

 

注意:camera指的是lidar!IMU 的 /tf 數據流並沒有發布出來!

 

 

 

 

 

想法、問題記錄:

2. As stated in https://github.com/daobilige-su/loam_velodyne using loam for one of the test data gates_oscillating_motion.bag does not get the clear result as in the demo video of the original author. http://www.frc.ri.cmu.edu/%7Ejizhang03/Videos/gates_oscillating_motion.mp4

In my thought it might be an issue of IMU data processing in the code, as gates_oscillating_motion.bag containing IMU data, and in my experience including IMU data does not improve loam.

3. loam-velodyne的改進方案

Change point type to PointXYZINormal, and store original coordinate and intensity data, which are useful for applications like land markers recognition or ground segmentation, to normal and curvature, respectively.

https://github.com/tcts-mvcp/loam_velodyne

 

fix a bug on laserOdometry.cpp to get rid of the matrix NaN error during L-M optimization step

https://github.com/daobilige-su/loam_velodyne

 

7. #About ring#However, it failed. I debugged the node and found that KITTI dataset just provide 4 values (x y z intensity) without rings. When I read the code, I noticed that rings value can be determined by elevation of every point, and I am trying to use the same scheme

  

9. cloudcompare

10.Jacobian matrix

https://github.com/laboshinl/loam_velodyne/issues/3#issuecomment-354786065https://github.com/laboshinl/loam_velodyne/issues/3#issuecomment-374575581

 

11.How to visualize the fully registered map in RViz

   How to save the fully registered map in .pcd**

https://github.com/laboshinl/loam_velodyne/issues/3#issuecomment-385203738
https://github.com/laboshinl/loam_velodyne/issues/41


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM