LSD-SLAM運行過程及報錯 “what(): Duration is out of dual 32-bit range“

LSD-SLAM源代碼來自於:https://github.com/Wangxuefeng92/LSDaddexplain
由於公司項目需要,最近在安裝調試LSD-SLAM。安裝過程在此就不提啦,官網以及很多博客都有介紹安裝過程,但是都有bug,各種報錯,吐血!由於時間關係,在此將運行過程記錄下來,以備忘!
一. roscore
打開終端,運行roscore,開啓ros服務:
這裏roscore要一直運行
在這裏插入圖片描述
二. SLAM Viewer:
打開一個新得終端,執行如下命令:
rosrun lsd_slam_viewer viewer
在這裏插入圖片描述
三. Run Dataset
LSD-SLAM提供了兩個ROS包-----lsd_slam_core和lsd_slam_viewer。其中lsd_slam_core包含整個SLAM System,而lsd_slam_viewer主要用於3D可視化。lsd_slam_viewer主要是一些窗口運行指令,大家隨用隨查即可。
(1)使用live slam:
1)直接使用相機作爲輸入運行:
rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info
2)運行dataset如下:
進入到數據集所在文件夾,運行命令:
rosbag play ./LSD_machine.bag
運行結果如下:
在這裏插入圖片描述
(2)使用dataset_slam:
rosrun lsd_slam_core dataset_slam _files:= _hz:= _calib:=<calibration_file>
參數說明:
files:可以是以一個以字母順序排序的圖片的文件夾,也可以是一個每一行是一個圖片信息的文本文件
hz:指明圖片被處理時的幀率
calibratipn_file:相機的標定文件
_hz:=0能得到很好的軌跡追蹤和見圖;_hz=0雖然能夠給出最好的結果,使用時實時性較差。
如我的命令如下:
rosrun lsd_slam_core dataset_slam _files:=/home/admin123456/rosbuild_ws/dome/images _hz:=10 _calib:=/home/admin123456/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/calib/cameraCalibration.cfg
在這裏插入圖片描述
運行結果如下:
在這裏插入圖片描述
注意:這裏,_hz我設置得10,沒有問題,可以運行。起初我設置的 _hz=0會報錯:Duration is out of dual 32-bit range,如下:

在這裏插入圖片描述
僅爲了學習記錄,如有錯誤,歡迎指正~~~
參考博客:https://blog.csdn.net/qq_26129959/article/details/90416712

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章