slam学习:lsd-slam使用说明

简介:关于lsd-slam的细节,再github的readme中写的特别详细,在这里我将其最主要的部分摘出来,供大家参考。

使用说明

简介:LSD-SLAM提供了两个ROS包-----lsd_slam_core和las_slam_viewer。其中lsd_slam_core包含整个SLAM系统,而lsd_slam_viewer是用于3D可视化的。本文主要对lsd_slam_core这个包进行讲解,lsd_slam_viewer主要是一些窗口运行指令,没有讲解的必要,大家随用随查即可。

1. lsd_slam_core

简介:提供了两个不同的应用模——live-operation和dataset_slam;其中live-operation使用ROS作为输入输出;dateset_slam使用以图片文件组成的数据集。

1.1 使用live_slam
1.1.1 如果想直接使用相机作为输入,输入以下指令
rosrun lsd_slam_core live_slam /image:=<yourstreamtopic> /camera_info=<yourcamera_infotopic>

当使用ROS camera_info,因为视频需要被矫正,所以仅需要图像的分辨率与相机的内参。如下:
(Received ROS Camera Calibration: fx: 254.326950, fy: 375.934387, cx: 267.381897, cy: 231.599091 @ 640x480)

1.1.2 你也可以直接指明标定文件
rosrun lsd_slam_core live_slam /image:=<yourstreamtopic>  _calib:=<calibration_file>

在这种情况下,程序忽略camera_info文件,同时图像可能会有径向畸变

1.2 使用dataset_slam
rosrun lsd_slam_core dataset_slam _files:=<files> _hz:=<hz> _calib:=<calibration_file>

files:可以是以一个以字母顺序排序的图片的文件夹,也可以是一个每一行是一个图片信息的文本文件
hz:指明图片被处理时的帧率
calibratipn_file:相机的标定文件
指定_hz:=0能够得到很好的轨迹追踪和见图;但是注意,_hz=0虽然能够给出最好的结果,但是在使用时实时性较差。

2.相机标定

简介:LSD-SLAM使用的是针孔相机模型,在使用前能够选择是否去对图像进行矫正。可以在lsd_slam_core/calib文件夹中找到一些标定文件的样例。

2.1广角相机模型矫正文件:FOV_examle_calib.cfg

在这里插入图片描述

0.527334 0.827306 0.473568 0.499436 0.928161
752 480
crop
640 480

第一行:相机标定算法给出的相机内参+径向畸变系数
第二行:输入图片的大小
第三行:输入希望的相机内参矩阵或者裁剪,指明图片的变形方法
第四行:期望校正后的图片的大小,推荐之640*480

2.2 针孔相机模型:pinhole_example_calib.cfg

在这里插入图片描述

0.527334 0.827306 0.473568 0.499436 0
752 480
none
752 480

没有径向畸变计征,是相机矫正文件的一个特例,并且计算更快

2.3 opencv相机模型矫正文件:OpenCV_example_calib.cfg

在这里插入图片描述

500 500 350 240 0 0 0 0
752 480
crop
640 480

与广角矫正相机矫正文件基本相同,除了相机内参与径向畸变系数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值