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要一直运行
LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第1张图片
二. SLAM Viewer:
打开一个新得终端,执行如下命令:
rosrun lsd_slam_viewer viewer
LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第2张图片
三. 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
运行结果如下:
LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第3张图片
(2)使用dataset_slam:
rosrun lsd_slam_core dataset_slam _files:= _hz:= _calib:=
参数说明:
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
LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第4张图片
运行结果如下:
LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第5张图片
注意:这里,_hz我设置得10,没有问题,可以运行。起初我设置的 _hz=0会报错:Duration is out of dual 32-bit range,如下:

LSD-SLAM运行过程及报错 “what(): Duration is out of dual 32-bit range“_第6张图片
仅为了学习记录,如有错误,欢迎指正~~~
参考博客:https://blog.csdn.net/qq_26129959/article/details/90416712

你可能感兴趣的:(AI)