位置: IT常识 - 正文

ORB_SLAM2+kinect稠密建图实战项目总结

编辑:rootadmin
ORB_SLAM2+kinect稠密建图实战项目总结

推荐整理分享ORB_SLAM2+kinect稠密建图实战项目总结,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

学完ORB_SLAM2源码后,想用一个小项目巩固所学知识。思虑良久~决定在ORB_SLAM2源码的基础上添加稠密建图的线程,并用kinect2相机实现自己卧室的三维重建。

话不多说,先上效果图。

带闭环的稠密地图重建

不带闭环的稠密地图重建

在完成这个小项目的过程中,每当遇到编译和运行环节,屏幕上大概率会出现红红的warnings和errors。一开始还能稳住心态,遇到问题就google,但后来发现很多博客或github上的issue并不会把修改code的原理讲清楚且有些答案本身就有错误,对于新手小白不太友好。如果不求甚解,盲目地相信博客,还可能造成不可逆转的后果,比如像我一样。。。误修改权限导致ubuntu系统崩溃,痛心疾首!恨不得当场摔鼠标键盘!

为此我记录下自己在ORB_SLAM2+kinect2稠密建图实战过程中踩过的坑,注明那些容易犯错的地方,警醒自己一定要真正把问题搞明白!重要的事情说三遍,真正把问题搞明白!真正把问题搞明白!真正把问题搞明白!

那么首先,我们让代码跑起来~

高翔博士开源了不带闭环的稠密建图,地址如下:

https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map

在此基础上大佬们开源了另一个带闭环的稠密建图,地址如下:​​​​​​https://github.com/tiantiandabaojian/ORB-SLAM2_RGBD_DENSE_MAP

 我们将以带闭环的稠密建图为基础,搭建环境并对其中的部分bug做修改,方便大家快速跑出效果图。

具体的安装流程参照以下博客即可,这里我主要记录一下可能出现的问题,分析原因并给出解决办法(在本机上已实验证明可行)

ORB SLAM 2 + 构建点云地图 复现 - 简书

使用ORBSLAM2进行kineticV2稠密建图,实时转octomap建图以及导航 - 古月居

问题记录:

1. 安装Kinect开源驱动iai_kinect2和libfreenect2(为什么这里要装两个驱动?)

iai_kinect2是ros的驱动,而libfreenect2是kinect2的驱动,iai_kinect2可以建立在libfreenect上也可以在OpenNI上。这里如果出现编译错误,将error复制粘贴到搜索框一般都比较容易解决。

ORB_SLAM2+kinect稠密建图实战项目总结

2. 使用iai_kinect2里面的kinect2_calibration进行标定时生成的yaml文件不全

经过实验,发现标定颜色/深度/同步的照片张数至少要50张才能正常生成yaml文件。

3. 编译ORB-SLAM2_RGBD_DENSE_MAP-master时出现很多与eigen3有关的warnings,且忽视warnings运行后出现段错误。

ubuntu18下对应的ros版本为melodic,默认是3.3以上,而运行ORB-SLAM2_RGBD_DENSE_MAP-master最高是3.2的版本。

查看eigen3的版本

pkg-config--modversion eigen3

删除和安装eigen可以参考以下链接:ubuntu16.04卸载、安装eigen_TB81266的博客-CSDN博客_ubuntu卸载eigen3

4. 编译ORB-SLAM2_RGBD_DENSE_MAP-master时缺失ORBvoc.txt.tar.gz,并有与pcl1.7相关的warnings

原始的ORB-SLAM2_RGBD_DENSE_MAP-master中的Vocabulary中没有ORBvoc.txt.tar.gz,需要从其他地方拷贝过来,与pcl1.7有关的warnings可以忽略。需要注意的是当一次编译没通过时最好删除所有产生的build文件,以免影响第二次编译。

5. 成功编译了ORB-SLAM2_RGBD_DENSE_MAP-master,但最后运行时不显示点云地图

查阅了大量资料,都说是pcl库的问题,实际上不是,将pointcloudmapping.h 文件中bool loopbusy;改为bool loopbusy=false即可。

参考博客:ORBSLAM2_稠密地图+回环__YAO阿瑶的博客-CSDN博客_orbslam 稠密地图

6. 运行ORB-SLAM2+kinect后可以显示画面,但地图画面很窄,看上去有些奇怪

kinect2分辨率设置不合理。Kinect2的topic一共有三种,对应不同的分辨率。其中hd是1920的,qhd是四分之一的960的,而sd是最小的。选择qhd比较合适,对应的Camera.width: 960; Camera.height: 540

视觉SLAM实战(二):ORB-SLAM2 with Kinect2 - 半闲居士 - 博客园

7. 运行ORB-SLAM2+kinect时地图扭曲,

内参和畸变参数设置不对,需要根据标定结果进行设置,值得注意的是在yaml文件中设置的内参是相机标定结果的一半。

​​​​​​ORB-SLAM2:(三)仿真实现&kinect2在线定位建图_$南山种豆$的博客-CSDN博客

补充:

build.sh和build_ros.sh是脚本文件,运行脚本文件可以使编译过程自动运行,但要注意运行前需要chmod +x build_ros.sh,提高权限,否则可能找不到该脚本文件。

由于个人设置了两个ros工作空间,本以为不同工作空间互不影响,但实际上如果出现了相同的节点名,会产生很多预料之外的后果。例如,本想运行带稠密建图的节点结果ros一直在执行不带稠密建图的节点,找原因浪费了大量的时间。。。

本文链接地址:https://www.jiuchutong.com/zhishi/298403.html 转载请保留说明!

上一篇:Bert+LSTM+CRF命名实体识别pytorch代码详解(lstm crf)

下一篇:vue3 中使用百度地图(vue3使用教程)

  • oppo手机怎么删除联系人(oppo手机怎么删除其他内存清理)

    oppo手机怎么删除联系人(oppo手机怎么删除其他内存清理)

  • 华为手机软件误删如何恢复(华为软件错误删除怎么恢复)

    华为手机软件误删如何恢复(华为软件错误删除怎么恢复)

  • 华为nova7se有陀螺仪吗(nova7se有没有陀螺仪)

    华为nova7se有陀螺仪吗(nova7se有没有陀螺仪)

  • qq看点视频播放不了(qq看点视频播放在哪里)

    qq看点视频播放不了(qq看点视频播放在哪里)

  • 在微信里怎么设置朋友权限(在微信里怎么设置转账到账时间)

    在微信里怎么设置朋友权限(在微信里怎么设置转账到账时间)

  • 小米卡怎么充话费(小米卡怎么充话费充值中心)

    小米卡怎么充话费(小米卡怎么充话费充值中心)

  • 微信的聊天记录怎么找回(微信的聊天记录怎么保存才不会丢失)

    微信的聊天记录怎么找回(微信的聊天记录怎么保存才不会丢失)

  • foxpro是系统软件吗(visual foxpro属于应用软件)

    foxpro是系统软件吗(visual foxpro属于应用软件)

  • 咸鱼里面的曝光是什么意思(咸鱼里面曝光啥意思)

    咸鱼里面的曝光是什么意思(咸鱼里面曝光啥意思)

  • 陌陌财富等级(陌陌财富等级29级花了多少人民币)

    陌陌财富等级(陌陌财富等级29级花了多少人民币)

  • 华为手机会中毒吗(华为手机中毒怎么清理最彻底)

    华为手机会中毒吗(华为手机中毒怎么清理最彻底)

  • 华为返回键怎么调整到右边(华为返回键怎么弄)

    华为返回键怎么调整到右边(华为返回键怎么弄)

  • ipad2开机慢怎么解决(ipadpro开机设置慢)

    ipad2开机慢怎么解决(ipadpro开机设置慢)

  • 支付宝删除好友后对方列表里面还有自己吗(支付宝删除好友还能发消息吗)

    支付宝删除好友后对方列表里面还有自己吗(支付宝删除好友还能发消息吗)

  • va和ips差距大吗(va 和 ips)

    va和ips差距大吗(va 和 ips)

  • 手机b站怎么升级(手机版b站怎么升等级)

    手机b站怎么升级(手机版b站怎么升等级)

  • 单色器由什么组成(单色器由什么组装)

    单色器由什么组成(单色器由什么组装)

  • 拒绝服务攻击分为哪几类(拒绝服务攻击定义)

    拒绝服务攻击分为哪几类(拒绝服务攻击定义)

  • 苹果xr多重(苹果xr多重?)

    苹果xr多重(苹果xr多重?)

  • 红米note8怎么切换副卡上网(红米note8怎么切屏)

    红米note8怎么切换副卡上网(红米note8怎么切屏)

  • 华为怎样关闭台后运行(如何关闭华为)

    华为怎样关闭台后运行(如何关闭华为)

  • 三星s9怎么设置应用锁(三星s9怎么设置屏幕不熄灭)

    三星s9怎么设置应用锁(三星s9怎么设置屏幕不熄灭)

  • 苹果手机如何模拟门卡(苹果手机如何模拟位置)

    苹果手机如何模拟门卡(苹果手机如何模拟位置)

  • 电话怎么设置陌生人打不进来(电话怎么设置陌生号码拦截)

    电话怎么设置陌生人打不进来(电话怎么设置陌生号码拦截)

  • 手机手电筒在哪里设置(手机手电筒在哪里打开)

    手机手电筒在哪里设置(手机手电筒在哪里打开)

  • 商场购物卡的会员怎么用
  • 增值税视同销售账务处理怎么做?
  • 其他应付款贷方负数怎么调整
  • 蔬菜开税票纳税吗
  • 法人章和财务章谁保管
  • 个税是否可以跨区缴纳
  • 小规模印花税计税金额是什么
  • 备用金与其他应收款的记账规则
  • 什么叫税控盘清卡
  • 工程项目的存货含哪些科目
  • 抵账房好不好
  • 没有抵扣的发票怎么入账
  • 实收资本转出怎么做账
  • 私人出租房子发票怎么开
  • 代理记账服务内容
  • 资产减值损失进利润表吗
  • 宽带是否需要缴纳印花税?
  • 个体工商户有两个经营者
  • 科技型中小企业认定需要什么条件
  • 劳务外包与劳务派遣公司
  • 公积金是否计入个人所得税
  • t3不能增加二级科目
  • 无形资产研发支出适用于税前加计扣除的政策
  • 企业注销时往来账目挂账怎么处理
  • window11调节屏幕亮度
  • 原始股解禁后减持的条件是什么
  • php随机ua
  • scards32.exe - scards32是什么进程 有什么用
  • config.cfg是什么文件
  • php root
  • 融资租赁综合利息计算
  • 无形资产计价原则正确的是
  • 累积未分配利润为负可以分红吗
  • 转让股权怎么做分录
  • cv2.error:opencv(3.4.2)
  • php字符串编码转换
  • 汇算清缴的所得税怎么做账
  • 企业所得税报表模板
  • 研发费用凭证是什么样
  • 暂缓收缴工会经费申请
  • 预收帐款
  • 劳动报酬收入包含什么
  • 房产出租税率是多少
  • 小规模纳税人收普票和专票有什么区别
  • 企业合并的账务处理
  • 发票收款人和复核人可以是一个人吗
  • 施工企业暂估成本
  • 外经证预缴税款的附加税所属期写错怎么办
  • 流动比率计算公式是年初还是年末
  • 公司委托银行付款的账务处理
  • 当月作废的专票还是要交增值税吗
  • 餐厅的租金是多少钱一个月
  • 现代服务业如何提高服务的效率和质量
  • 企业应交税金包括印花税吗
  • 新公司季初资产总额填什么
  • 公司拿房子抵债需要缴纳什么税费
  • 可转换债券是什么资本
  • 什么是生产成本,有哪些组成内容
  • mysql数据库文件存放在哪里
  • linux /bin/false
  • windows安装orthofinder
  • 使用灭火器时要对准火焰的什么部位喷射
  • centos7 eth
  • window出现问题
  • 怎么关闭windows登录密码
  • xp系统 修复
  • puppet部署
  • 怎么把硬盘安装到电脑上
  • windows右键菜单
  • 微软windows10正版
  • UnityEditor.UI.dll' is in timestamps but is not known in assetdatabase
  • 使用脚本什么意思
  • ECLIPSE编辑器
  • jquery使用教程
  • android 动态化方案
  • js浮动窗口
  • js中的?
  • 车辆购置税怎么买
  • 电子税务局帐号不知道怎么找
  • 个人所得税税务审核不通过怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设