目录
# 1 安装与编译
## 1.1 依赖项
### 1.1.1 ros
### 1.1.2 gtsam
## 1.2 编译
# 2 系统介绍
# 3 运行demo
### 3.1 数据下载
### 3.2 数据描述
### 3.3 demo运行
####(1)运行launch文件
####(2)播放数据文件
#### (3)demo运行效果
# 4 Stevens data-set
## 4.1 数据下载
## 4.2 数据说明与播放数据包方式
## 4.3 运行LeGO_LOAM效果
# 1 安装与编译
## 1.1 依赖项
### 1.1.1 ros
在indigo, kinetic, and melodic版本上测试过
### 1.1.2 gtsam
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
## 1.2 编译
流程为:建立工作空间、下载源码、编译。
第一次运行时使用"-j1"命令,是为了产生一些消息类型,如下所示;之后再运行就不需要使用"-j1"了
cd xx/LeGO_ws
mkdir src && cd src
git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git
cd ..
catkin_make -j1
# 2 系统介绍
LeGO LOAM特别针对地面车辆上水平放置的VLP-16进行了优化。它假设扫描中始终存在接地层。我们使用的UGV是Clearpath Jackal。它有一个内置IMU。
该数据包在特征提取之前执行分割:
激光雷达里程计执行两步 Levenberg Marquardt 优化以获得 6D 变换:
roll pitch yaw示意图如下:
# 3 运行demo
### 3.1 数据下载
数据地址:https://github.com/RobustFieldAutonomyLab/jackal_dataset_20170608
对应的google云盘:https://drive.google.com/drive/folders/1_t5fX5yIqY-y6sAifY8pVWX4O9LCK5R2
点开云盘,只有下图所示的文件夹"same_start_end_position"可以下载
下载解压后如下所示:
### 3.2 数据描述
ros话题:
雷达话题:`/velodyne_points`
imu话题:`/imu/data`
环境情况:有树木、草地、建筑物
### 3.3 demo运行
demo运行分为两个部分,运行Lego_Loam的launch文件和播放数据文件。
####(1)运行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
效果如下:
####(2)播放数据文件
rosbag play same_position.bag --clock --topic /velodyne_points /imu/data
注意:虽然 /imu/data 是可选的,但如果提供它可以大大提高估计精度。
`--clock` 理解参考:https://blog.csdn.net/qq_39607707/article/details/123706557,播放数据包的时候一定要带上
`--topic` 播放指定话题
#### (3)demo运行效果
包括:edge features(边特征)、surface features(面特征)、trajector(轨迹)、map cloud(stack)(堆叠点云)
包括:edge features(边特征)、surface features(面特征)、trajector(轨迹)
# 4 Stevens data-set
## 4.1 数据下载
github链接:https://github.com/TixiaoShan/Stevens-VLP16-Dataset
google云盘链接:https://drive.google.com/drive/folders/16p5UPUCZ1uK0U4XE-hJKjazTsRghEMJa
直接点击单个文件即可下载
## 4.2 数据说明与播放数据包方式
包括的话题:
/tf # 运行 LeGO-LOAM 不需要,使用 LeGO-LOAM 测试时不要发布
/imu/data # 不与 VLP-16 对齐,仅提供初始转换猜测,对于运行 LeGO-LOAM 不是必需的
# 参考前面的经验,播放数据时还是带上imu数据以提高精度
/velodyne_points
播放数据包的方式:
rosbag play *.bag --clock --topic /velodyne_points /imu/data
## 4.3 运行LeGO_LOAM效果
2018-05-18-14-49-12_0.bag :
文章来源:https://www.toymoban.com/news/detail-425698.html
其他数据包自行跑跑看文章来源地址https://www.toymoban.com/news/detail-425698.html
到了这里,关于LeGO-LOAM(1):运行LeGO-LOAM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!