怎么在ubuntu下装ORB-SLAM2,并用单目摄像头实时跑起来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在ubuntu下装ORB-SLAM2,并用单目摄像头实时跑起来相关的知识,希望对你有一定的参考价值。

参考技术A 一、安装
以root用户运行:yum install wireshark

二、运行
在终端中键入命令:
#wireshark
bash:wireshark:command not found

#whereis wireshark
wireshark: /usr/lib/wireshark /usr/share/wireshark

#cd /usr/lib/wireshark
#ls
plugins

#cd /usr/share/wireshark; ls
AUTHORS-SHORT dtds mergecap.html tshark.html
capinfos.html dumpcap.html radius wimaxasncp
cfilters editcap.html rawshark.html wireshark-filter.html
colorfilters help services wireshark.html
COPYING idl2wrs.html smi_modules ws.css
dfilters ipmap.html text2pcap.html
diameter manuf tpncp

解决方法:

yum search wireshark(搜索匹配特定字符的rpm包)
yum install wireshark-gnome.i386(wireshark的图形界面)

#whereis wireshark
wireshark: /usr/bin/wireshark /usr/sbin/wireshark /usr/share/wireshark /usr/share/man/man1/wireshark.1.gz

#wireshark

成功!
使用
查看TCP通信包,在过滤条件中写入 tcp ;Apply;

查看指定端口的包:在过滤条件中输入 tcp.port eq 7905

查看指定IP的包:ip.addr eq 192.168.1.104
查看指定IP和PORT的包:ip.addr eq 192.168.1.104 and tcp.port eq 7905
网络抓包工具Wireshark的简单使用
Ubuntu 12.04 下安装Wireshark
Linux中从普通用户启动Wireshark抓包本回答被提问者采纳

ORB-SLAM优化

ORB-SLAM中优化使用g2o库,分为:

1. BundleAdjustment

  • GlobalBundleAdjustment:用于单目初始化的CreateInitialMapMonocular函数以及闭环优化的RunGlobalBundleAdjustment函数(在闭环结束前新开一个线程,全局优化,在此之前会OptimizeEssentialGraph,论文中说其实这里全局优化提升的精度有限)。
  • LocalBundleAdjustment:用于LocalMapping线程中剔除关键帧之前的局部地图优化。

2. PoseOptimization

  • 只优化pose,地图点固定
  • 用于LocalTracking中运动模型跟踪,参考帧跟踪,地图跟踪TrackLocalMap,重定位。

3. OptimizeEssentialGraph

  • EssentialGraph包括所有的关键帧顶点,但是优化边大大减少,包括spanning tree(生成树),共视权重θ>100的边,以及闭环连接边。
  • 用于闭环检测Sim3调整后优化。

4. OptimizeSim3

  • 在用RANSAC求解过Sim3,以及通过Sim3匹配更多的地图点后,对当前关键帧,闭环关键帧,以及匹配的地图点进行优化,获得更准确的Sim3位姿,再去下一步的闭环调整。

使用到的g2o顶点包括:

1. VertexSE3Expmap():SE(3)位姿

2. VertexSim3Expmap():Sim(3)位姿

3. VertexSBAPointXYZ():地图点坐标

使用到的g2o边包括:

1. EdgeSE3ProjectXYZ():BA中的重投影误差(3D-2D(u,v)误差),将地图点投影到相机坐标系下的相机平面。

2. EdgeSE3ProjectXYZOnlyPose():PoseEstimation中的重投影误差,将地图点投影到相机坐标系下的相机平面。优化变量只有pose,地图点位置固定,是一边元,双目中使用的是EdgeStereoSE3ProjectXYZOnlyPoze()。

3. EdgeSim3():Sim3之间的相对误差。优化变量只有Sim3表示的pose,用于OptimizeEssentialGraph。

4. EdgeSim3ProjectXYZ():重投影误差。优化变量Sim3位姿与地图点,用于闭环检测中的OptimizeSim3。

以上是关于怎么在ubuntu下装ORB-SLAM2,并用单目摄像头实时跑起来的主要内容,如果未能解决你的问题,请参考以下文章

ORB-SLAM(单目版本)编译与运行

ORB-SLAM2单目初始化过程

ORB-SLAM2:一种开源的VSLAM方案(译文)

如何在win7下装ubuntu

如何在win7下装ubuntu

ORB-SLAM2初步(跟踪模块)