目錄
# 1 安裝與編譯
## 1.1 依賴項
### 1.1.1 ros
### 1.1.2 gtsam
## 1.2 編譯
# 2 系統(tǒng)介紹
# 3 運行demo
### 3.1 數(shù)據下載
### 3.2 數(shù)據描述
### 3.3 demo運行
####(1)運行l(wèi)aunch文件
####(2)播放數(shù)據文件
#### (3)demo運行效果
# 4 Stevens data-set
## 4.1 數(shù)據下載
## 4.2 數(shù)據說明與播放數(shù)據包方式
## 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 系統(tǒng)介紹
LeGO LOAM特別針對地面車輛上水平放置的VLP-16進行了優(yōu)化。它假設掃描中始終存在接地層。我們使用的UGV是Clearpath Jackal。它有一個內置IMU。
該數(shù)據包在特征提取之前執(zhí)行分割:
激光雷達里程計執(zhí)行兩步 Levenberg Marquardt 優(yōu)化以獲得 6D 變換:
roll pitch yaw示意圖如下:
# 3 運行demo
### 3.1 數(shù)據下載
數(shù)據地址:https://github.com/RobustFieldAutonomyLab/jackal_dataset_20170608
對應的google云盤:https://drive.google.com/drive/folders/1_t5fX5yIqY-y6sAifY8pVWX4O9LCK5R2
點開云盤,只有下圖所示的文件夾"same_start_end_position"可以下載
下載解壓后如下所示:
### 3.2 數(shù)據描述
ros話題:
雷達話題:`/velodyne_points`
imu話題:`/imu/data`
環(huán)境情況:有樹木、草地、建筑物
### 3.3 demo運行
demo運行分為兩個部分,運行Lego_Loam的launch文件和播放數(shù)據文件。
####(1)運行l(wèi)aunch文件
運行l(wèi)aunch:
cd xx/LeGO_ws
source devel/setup.bash
roslaunch lego_loam run.launch
注意:launch參數(shù)`/use_sim_time`設置為“true”用于模擬,“false”用于真實機器人使用;下面的步驟使用的是錄制的數(shù)據包,此時`/use_sim_time`設置為“true”即可。理解`/use_sim_time`參考:https://blog.csdn.net/qq_39607707/article/details/123706557
如果出現(xiàn)報錯:
[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 環(huán)境變量中。所以將 /usr/local/lib 目錄添加到變量中解決了我的問題。
參考:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM/issues/198
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
新的運行l(wèi)aunch步驟為:
cd xx/LeGO_ws
source devel/setup.bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
roslaunch lego_loam run.launch
效果如下:
####(2)播放數(shù)據文件
rosbag play same_position.bag --clock --topic /velodyne_points /imu/data
注意:雖然 /imu/data 是可選的,但如果提供它可以大大提高估計精度。
`--clock` 理解參考:https://blog.csdn.net/qq_39607707/article/details/123706557,播放數(shù)據包的時候一定要帶上
`--topic` 播放指定話題
#### (3)demo運行效果
包括:edge features(邊特征)、surface features(面特征)、trajector(軌跡)、map cloud(stack)(堆疊點云)
包括:edge features(邊特征)、surface features(面特征)、trajector(軌跡)
# 4 Stevens data-set
## 4.1 數(shù)據下載
github鏈接:https://github.com/TixiaoShan/Stevens-VLP16-Dataset
google云盤鏈接:https://drive.google.com/drive/folders/16p5UPUCZ1uK0U4XE-hJKjazTsRghEMJa
直接點擊單個文件即可下載
## 4.2 數(shù)據說明與播放數(shù)據包方式
包括的話題:
/tf # 運行 LeGO-LOAM 不需要,使用 LeGO-LOAM 測試時不要發(fā)布
/imu/data # 不與 VLP-16 對齊,僅提供初始轉換猜測,對于運行 LeGO-LOAM 不是必需的
# 參考前面的經驗,播放數(shù)據時還是帶上imu數(shù)據以提高精度
/velodyne_points
播放數(shù)據包的方式:
rosbag play *.bag --clock --topic /velodyne_points /imu/data
## 4.3 運行LeGO_LOAM效果
2018-05-18-14-49-12_0.bag :
文章來源:http://www.zghlxwxcb.cn/news/detail-425698.html
其他數(shù)據包自行跑跑看文章來源地址http://www.zghlxwxcb.cn/news/detail-425698.html
到了這里,關于LeGO-LOAM(1):運行LeGO-LOAM的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!