目录
在indigo, kinetic, and melodic版本上测试过
gtsam全称为:Georgia Tech Smoothing and Mapping library即佐治亚理工大学平滑和建图库
- wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.0-alpha2.zip
-
- cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
-
- cd ~/Downloads/gtsam-4.0.0-alpha2/
-
- mkdir build && cd build
-
- cmake ..
-
- sudo make install
流程为:建立工作空间、下载源码、编译。
第一次运行时使用"-j1"命令,是为了产生一些消息类型,如下所示;之后再运行就不需要使用"-j1"了
- cd xx/LeGO_ws
-
- mkdir src && cd src
-
- git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
-
- cd ..
-
- catkin_make -j1
LeGO LOAM特别针对地面车辆上水平放置的VLP-16进行了优化。它假设扫描中始终存在接地层。我们使用的UGV是Clearpath Jackal。它有一个内置IMU。

该数据包在特征提取之前执行分割:

激光雷达里程计执行两步 Levenberg Marquardt 优化以获得 6D 变换:

roll pitch yaw示意图如下:

数据地址:https://github.com/RobustFieldAutonomyLab/jackal_dataset_20170608
对应的google云盘:https://drive.google.com/drive/folders/1_t5fX5yIqY-y6sAifY8pVWX4O9LCK5R2
点开云盘,只有下图所示的文件夹"same_start_end_position"可以下载

下载解压后如下所示:

ros话题:
雷达话题:`/velodyne_points`
imu话题:`/imu/data`
环境情况:有树木、草地、建筑物
demo运行分为两个部分,运行Lego_Loam的launch文件和播放数据文件。
运行launch:
- cd xx/LeGO_ws
-
- source devel/setup.bash
-
- roslaunch lego_loam run.launch
注意:launch参数`/use_sim_time`设置为“true”用于模拟,“false”用于真实机器人使用;下面的步骤使用的是录制的数据包,此时`/use_sim_time`设置为“true”即可。理解`/use_sim_time`参考:https://blog.csdn.net/qq_39607707/article/details/123706557
如果出现报错:
[mapOptmization-7] process has died [pid 15154, exit code 127, cmd /home/meng/subject/LeGO_ws/devel/lib/lego_loam/mapOptmization __name:=mapOptmization

报错原因是:缺少一些库。它们已安装但不可用,因为不在 LD_LIBRARY_PATH 环境变量中。所以将 /usr/local/lib 目录添加到变量中解决了我的问题。
参考:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/issues/198
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
新的运行launch步骤为:
- cd xx/LeGO_ws
-
- source devel/setup.bash
-
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
-
- roslaunch lego_loam run.launch
效果如下:

rosbag play same_position.bag --clock --topic /velodyne_points /imu/data
注意:虽然 /imu/data 是可选的,但如果提供它可以大大提高估计精度。
`--clock` 理解参考:https://blog.csdn.net/qq_39607707/article/details/123706557,播放数据包的时候一定要带上
`--topic` 播放指定话题
包括:edge features(边特征)、surface features(面特征)、trajector(轨迹)、map cloud(stack)(堆叠点云)


包括:edge features(边特征)、surface features(面特征)、trajector(轨迹)

github链接:https://github.com/TixiaoShan/Stevens-VLP16-Dataset
google云盘链接:https://drive.google.com/drive/folders/16p5UPUCZ1uK0U4XE-hJKjazTsRghEMJa
直接点击单个文件即可下载

包括的话题:
- /tf # 运行 LeGO-LOAM 不需要,使用 LeGO-LOAM 测试时不要发布
-
- /imu/data # 不与 VLP-16 对齐,仅提供初始转换猜测,对于运行 LeGO-LOAM 不是必需的
- # 参考前面的经验,播放数据时还是带上imu数据以提高精度
-
- /velodyne_points
播放数据包的方式:
rosbag play *.bag --clock --topic /velodyne_points /imu/data
2018-05-18-14-49-12_0.bag :

其他数据包自行跑跑看