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

  • 腾讯视频vip如何取消自动续费(腾讯视频vip如何登录两个手机)

    腾讯视频vip如何取消自动续费(腾讯视频vip如何登录两个手机)

  • 小米平板5pro怎么截屏(小米平板5pro怎么切换电脑模式)

    小米平板5pro怎么截屏(小米平板5pro怎么切换电脑模式)

  • 华为nova3i对比荣耀20青春版(华为nova3i对比荣耀畅玩20)

    华为nova3i对比荣耀20青春版(华为nova3i对比荣耀畅玩20)

  • 华为p40是屏幕指纹吗(华为p40触摸屏设置)

    华为p40是屏幕指纹吗(华为p40触摸屏设置)

  • oppo手机扩大音量(oppo手机怎样加大音量)

    oppo手机扩大音量(oppo手机怎样加大音量)

  • 拼多多账号异常怎么解除(拼多多账号异常再重新注册一个会正常吗)

    拼多多账号异常怎么解除(拼多多账号异常再重新注册一个会正常吗)

  • 华为48mp ai camera是什么型号(华为48mp ai camera忘了密码怎样解锁?)

    华为48mp ai camera是什么型号(华为48mp ai camera忘了密码怎样解锁?)

  • 魅族17上市时间(魅族20价格)

    魅族17上市时间(魅族20价格)

  • 苹果充电暂缓80%以上什么意思(苹果暂缓充电到80)

    苹果充电暂缓80%以上什么意思(苹果暂缓充电到80)

  • 手机扫码慢是什么原因(手机扫码速度快慢由什么决定)

    手机扫码慢是什么原因(手机扫码速度快慢由什么决定)

  • 华为怎么设置天气在主屏幕显示(华为怎么设置天气壁纸)

    华为怎么设置天气在主屏幕显示(华为怎么设置天气壁纸)

  • 电脑pch是什么(pch是啥)

    电脑pch是什么(pch是啥)

  • oppor11s充电器多少w(oppor11充电器多少a)

    oppor11s充电器多少w(oppor11充电器多少a)

  • 手机分辨率怎么调(手机分辨率怎么算几k)

    手机分辨率怎么调(手机分辨率怎么算几k)

  • 华为mate30pro开售时间(华为mate30pro开售价)

    华为mate30pro开售时间(华为mate30pro开售价)

  • 腾讯视频的设置在哪(腾讯视频的设置字体在哪里)

    腾讯视频的设置在哪(腾讯视频的设置字体在哪里)

  • usb3.0和3.1插口的区别(usb3.1和3.0的接口一样吗)

    usb3.0和3.1插口的区别(usb3.1和3.0的接口一样吗)

  • 怎么查看和发送定时说说(怎么查看发送的短信)

    怎么查看和发送定时说说(怎么查看发送的短信)

  • 无线网络被禁用怎么开启(无线网络被禁用代码22)

    无线网络被禁用怎么开启(无线网络被禁用代码22)

  • keninet.exe是什么进程 有什么作用 keninet进程查询(keyemain.exe是什么)

    keninet.exe是什么进程 有什么作用 keninet进程查询(keyemain.exe是什么)

  • 比利牛斯山脉中的高山湖Ibón de Plan,西班牙韦斯卡 (© Getty Images)(比利牛斯山作为天然界限)

    比利牛斯山脉中的高山湖Ibón de Plan,西班牙韦斯卡 (© Getty Images)(比利牛斯山作为天然界限)

  • python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)(python web开发方向的第三方库有哪些)

    python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)(python web开发方向的第三方库有哪些)

  • Android平台Qt开发入门教程  狼人:(qt5开发android)

    Android平台Qt开发入门教程 狼人:(qt5开发android)

  • 个人独资企业是否享受六税两费政策
  • 自行申报需补缴税款时征收滞纳金吗
  • 盘盈固定资产明细账怎么填写?
  • 小规模纳税人可以开13%的发票吗
  • 联营和合营的区别
  • 免税产品的销项税
  • 补提以前年度税费应该计入
  • 税金及附加怎么计提
  • 土地租赁合同交不交印花税
  • 已抵扣的增值税怎么做账
  • 酒店客房主营业务支出明细表怎么写
  • 出口企业增值税税负率
  • 工会经费给税务局交税比例
  • 同一笔销售业务的收入和成本
  • 增值税申报表附表一填表说明
  • 残疾人就业保障金
  • 出口退税系统怎么导入数据
  • 企业延期缴纳税款
  • 核定征收和查账征收,交的税一样吗
  • 已签收的电子银行承兑汇票截图给别人有风险吗
  • window10拖动窗口的手势
  • 进项税转出包括哪些
  • 贸易公司出口是什么意思
  • 企业采用的会计计量基础属于什么
  • 碎片化对应什么
  • widows11预览版
  • 公司简易注销的公示期多长时间
  • 购入原材料所发票怎么入
  • 社会保险费缓缴政策
  • 秋日里通往卢浮宫的杜乐丽花园,法国巴黎 (© Brian A. Jackson/Getty Images Plus)
  • 转出未交增值税借方余额表示什么
  • php使用函数限制字符串长度和格式
  • 用人单位垫付生育津贴怎么算
  • 员工工资扣工作服合法吗?
  • php中的九大缓存技术
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • javascript学什么内容
  • nmblookup安装
  • 发票纳税人识别号错了怎么解决
  • 生产型企业出口退税会计分录
  • 怎样申请土地增值税补贴
  • wordpress图片大小设置
  • 待摊费用多久摊销一次
  • 内帐税金会计分录
  • 预收账款可以用什么科目核算
  • 购买增值税发票属于什么科目?
  • 增值税普通发票查询
  • sql server rollup函数
  • 应收账款属于什么会计要素
  • 资本公积怎么计提
  • 编制弹性预算的关键在于
  • 应税服务零税率是什么
  • 企业现金购货限额
  • 社平工资调整补差能补多少
  • 可供分配的利润是什么意思
  • 百分百控股代表着什么
  • 会计信息不采集可以考初级吗
  • 明细账建账的步骤
  • mysql 5.7.16 winx64安装配置方法图文教程
  • 修改注册表解决画面撕裂
  • freebsd操作命令
  • gwservice进程
  • 无线网卡搜索不到无线网
  • js必学知识点
  • 安卓十游戏怎么玩
  • cocos2d游戏源码
  • vue中拦截器
  • jquery mobile ui
  • jquery动态添加的元素怎么添加事件
  • jquery返回顶部代码
  • js super方法
  • wxpython中Textctrl回车事件无效的解决方法
  • c# addin
  • 纳税申报表如何看销售额
  • 医院能开增值税开发票吗
  • 关于成品油的吨油换算
  • 公司买社保公司倒闭了怎么办
  • 临时税务登记纳税人
  • 潍坊特殊工种退休公示名单九月
  • 物流运输公司进项有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设