位置: 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使用教程)

  • 怎样做好微博推广增加10万+粉丝(怎样做好微博推广工作)

    怎样做好微博推广增加10万+粉丝(怎样做好微博推广工作)

  • 做APP推广不得不知的9大坑(做app推广有前途吗)

    做APP推广不得不知的9大坑(做app推广有前途吗)

  • 网络营销推广软文小技巧(网络营销推广软件机构)

    网络营销推广软文小技巧(网络营销推广软件机构)

  • iqooz5是什么屏幕(iqooz1是什么屏)

    iqooz5是什么屏幕(iqooz1是什么屏)

  • 苹果有哪些机型是搭配的a13芯片(苹果有哪些机型是双卡)

    苹果有哪些机型是搭配的a13芯片(苹果有哪些机型是双卡)

  • 滴滴打车支持预约时间吗(滴滴支持预约吗)

    滴滴打车支持预约时间吗(滴滴支持预约吗)

  • 荣耀30防水可以到达什么程度(荣耀30能不能防水)

    荣耀30防水可以到达什么程度(荣耀30能不能防水)

  • 小米手机还原设置在哪(小米手机还原设置不会丢失数据)

    小米手机还原设置在哪(小米手机还原设置不会丢失数据)

  • 华为荣耀play4t什么时候上市(华为荣耀play4t什么处理器)

    华为荣耀play4t什么时候上市(华为荣耀play4t什么处理器)

  • 魅族17预计什么时候发布(魅族17好久发布)

    魅族17预计什么时候发布(魅族17好久发布)

  • 苹果官网取消订单退款什么时候到(苹果官网取消订单)

    苹果官网取消订单退款什么时候到(苹果官网取消订单)

  • 笔记本温度高,对电脑有影响吗(笔记本温度高怎么降温)

    笔记本温度高,对电脑有影响吗(笔记本温度高怎么降温)

  • 支付宝买火车票怎么取票(支付宝买火车票需要取票吗)

    支付宝买火车票怎么取票(支付宝买火车票需要取票吗)

  • 反转模式在哪里设置(反转模式在哪里打开)

    反转模式在哪里设置(反转模式在哪里打开)

  • 充电宝一闪一闪的怎么回事(充电宝一闪一闪的充不进去电)

    充电宝一闪一闪的怎么回事(充电宝一闪一闪的充不进去电)

  • 华为无线耳机有定位功能吗(华为无线耳机有杂音滋滋怎么办)

    华为无线耳机有定位功能吗(华为无线耳机有杂音滋滋怎么办)

  • 趣分趣分类可以注销吗(趣分类能坚持多久)

    趣分趣分类可以注销吗(趣分类能坚持多久)

  • 小米8拍星星怎么设置(小米8手机拍星星)

    小米8拍星星怎么设置(小米8手机拍星星)

  • 企业微信收费吗(公司使用企业微信收费吗)

    企业微信收费吗(公司使用企业微信收费吗)

  • 苹果怎么看wi-fi密码(苹果怎么看wifi密码二维码)

    苹果怎么看wi-fi密码(苹果怎么看wifi密码二维码)

  • p30返回键设置(怎么设置p30返回键)

    p30返回键设置(怎么设置p30返回键)

  • oppo单手模式怎么启动(OPPO单手模式怎么操作)

    oppo单手模式怎么启动(OPPO单手模式怎么操作)

  • 微信把好友加入黑名单了,该在哪取消(微信把好友加入黑名单怎么找回来)

    微信把好友加入黑名单了,该在哪取消(微信把好友加入黑名单怎么找回来)

  • 笔记本开机黑屏的解决方法(笔记本开机黑屏不显示任何东西)

    笔记本开机黑屏的解决方法(笔记本开机黑屏不显示任何东西)

  • 谷歌浏览器插件HackBar安装方法(详细教程)(谷歌浏览器插件中心)

    谷歌浏览器插件HackBar安装方法(详细教程)(谷歌浏览器插件中心)

  • Vue使用Element-UI的table组件和后端接口进行数据交互(包含前后端代码)(vue使用什么语言)

    Vue使用Element-UI的table组件和后端接口进行数据交互(包含前后端代码)(vue使用什么语言)

  • 收到的实收资本都能用来做什么
  • 项目异地预缴附加税会计分录是?
  • 哪些费用可在缴纳医保
  • 增值税专用发票怎么开
  • 去年的亏损今年第一季度可以弥补吗
  • 税盘锁了还能报税吗
  • 小规模纳税人的企业所得税税率
  • 样品销售如何记账
  • 公司出售房产的税费
  • 固定资产累计折旧完了怎么办
  • 营改增广告标牌制作的税务怎么处理
  • 部门奖金怎么入账
  • 企业用现金支付业务招待费1000元
  • 股权减资会计处理
  • 免税的销售额要怎么填入报表
  • 会务费税前扣除比例
  • 三类不良行为
  • 当期损益包括哪些费用
  • 企业计算缴纳所得税标准
  • 商品流通企业进货费用金额较小的计入什么科目
  • 涂料厂生产销售的涂料要交消费税吗
  • 免抵退税的范围
  • windows版本比较
  • 怎样启动powerpoint
  • 我国的社会保险费
  • 谨慎性原则的具体体现有哪些
  • 损益类科目反映企业在一定期间内利润或亏损,可以分为
  • 借助的近义词
  • 深入php:面向对象、模式与实践
  • 其他暂收应付款项有哪些
  • PHP:spl_object_hash()的用法_spl函数
  • 企业所得税汇算清缴调增的项目有哪些
  • 数据处理主要内容有哪些?
  • PHP:pcntl_waitpid()的用法_PCNTL函数
  • 期间费用核算内容包括
  • 酒吧送酒的人叫什么
  • CLIP(Contrastive Language-Image Pre-Training)简介
  • 微信小程序如何删除
  • js map()
  • 用友固定资产折旧方法
  • ps笔刷在哪里调
  • 小企业会计制度的适用对象是
  • PostgreSQL教程(二):模式Schema详解
  • 织梦适合做什么网站
  • 经营范围没有的项目可以做吗
  • 土增清算后后续成本计算
  • 文化事业建设费报告表
  • 事业单位结余分配的去向有
  • sql2005附加数据库出错
  • 递延收益为什么属于负债
  • 小规模企业提现到自己个人银行卡需要交多少税
  • 土地出让金返还比例是多少
  • 小规模开票的税点是多少
  • 现金折扣和商业折扣怎么确定收入
  • 经营性应付项目减少对经营活动现金
  • 帐薄和账簿区别
  • sql server在表里查找具体数据
  • 详解十二建星择日方法
  • 苹果手机价格
  • broadcom网卡配置
  • win8.1语言设置
  • 缺少系统操作怎么办
  • tab栏切换案例
  • 用unity做2d游戏
  • nodejs调用打印机
  • python中的命名规范
  • js模拟实现new
  • python设计gui
  • flash怎么测试当前场景
  • python爬取某人所有朋友圈
  • 手游炫酷
  • 税务大厅买票需要什么东西
  • 开票系统忘记密码怎么找回
  • 国际税务局邮箱是多少
  • 个人土地建房
  • 税务局大厅咨询台
  • 建筑服务纳税人有哪些
  • 郑州房管局办事大厅预约
  • 增值税劳务费发票图片
  • 车辆大本怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设