【独家焦点】基于ORB-SLAM3库搭建SLAM系统
环境配置ORB-SLAM3配置及安装教程 ORB-SLAM3配置安装及运行
效果图注意事项Win 11proVMware 17ProUbuntu 18.04Eigen3PangolinOpencv3.4.3ORB-SLAM3源码: https://github.com/UZ-SLAMLab/ORB_SLAM3
【资料图】
如果是新系统,没有安装git,则需要先装gitsudo apt-get install git
如果是新系统的话,预装的vi编辑器不完整,用不了执行如下命令安装vi编辑器sudo apt-get remove vim-commonsudo apt-get install vim
DBoW2 and g2oDBoW2主要用于回环检测,g2o(General Graph Optimization)主要用于图优化。ORB-SLAM3的源码包自带DBoW2 and g2o,编译时会自动安装,不用管。
PART 1:准备工作(下载安装要用的文件)step1: 新建一个文件夹,用于存放下载的文件暂取名为 SLAM
step2: 下载 ORB-SLAM3源码在 SLAM 文件夹下打开终端输入以下指令git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
step3: 下载 Pangolin在 SLAM 文件夹下打开终端输入以下指令git clone https://github.com/stevenlovegrove/Pangolin.git
step4: 下载 Eigen3在 SLAM 文件夹下打开终端输入以下指令git clone https://github.com/eigenteam/eigen-git-mirror
PART 2:安装步骤step1: 安装 Eigen3在 SLAM 文件夹下打开终端输入以下指令cd eigen-git-mirrormkdir buildcd buildcmake ..sudo make install #安装后,头文件安装在/usr/local/include/eigen3/
step2: 安装 Pangolin安装 Pangolin 需要的依赖工具
在终端依次输入以下指令
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install cmake
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
安装 Pangolin
在 SLAM 文件夹下打开终端输入以下指令cd Pangolinmkdir buildcd buildcmake ..cmake --build .
step3: 安装 Opencv3.4.3官网下载地址:https://opencv.org/releases/page/5/
下载之后放在最开始创建的 SLAM 文件夹,右键提取文件进行解压更新一下,准备安装OpenCV依赖库
在终端输入以下指令sudo apt-get update
安装OpenCV所有依赖库在终端输入以下指令sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev# 原博客安装的是libtiff4-dev,运行过程报错,改成libtiff5-dev
编译OpenCV在 SLAM 文件夹下打开终端输入以下指令cd opencv-3.4.3mkdir buildcd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意:执行上面指令后,终端会自动下载一个必需的ippicv加速库。如果终端卡住并显示正在下载,只需要等一会儿不用进行任何操作。否则,终端会显示报错
再次执行cmake指令,完成编译cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
cmake完成之后使用make编译make -j4
安装sudo make install
配置环境1、添加库路径sudo /bin/bash -c "echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf"
2、更新系统库sudo ldconfig
3、配置bashsudo gedit /etc/bash.bashrc在末尾添加如下两行代码PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH 保存,执行如下指令使得配置生效source /etc/bash.bashrc 更新sudo updatedb
4、版本检测step4: 安装 boost 库pkg-config --modversion opencv输出如下,表示OpenCV完成了安装
boost官网地址:https://www.boost.org/下载 1.77.0 版本
将文件下载至SLAM文件夹下,并解压
解压之后进入解压出来的文件夹
执行以下指令sudo ./bootstrap.sh执行完毕之后,会发现又多了些文件
再执行下面这个脚本sudo ./b2 install需要一段时间,耐心等待即可
step5: 安装 libssl-dev在 SLAM 文件夹下打开终端输入以下指令sudo apt-get install libssl-dev
step6: ORB-SLAM3 的编译和安装ORB-SLAM3 源码编译在 SLAM 文件夹下打开终端输入以下指令cd ORB_SLAM3-masterchmod +x build.sh
打开ORB_SLAM3-master对应的CMakeLists.txt找到 find_package(OpenCV 4.4)这行代码,将OpenCV版本号改为find_package(OpenCV 3.4)
安装 ORB-SLAM3逐行依次执行以下指令
echo "Configuring and building Thirdparty/DBoW2 ..." cd Thirdparty/DBoW2mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -j cd ../../g2o echo "Configuring and building Thirdparty/g2o ..." mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -jcd ../../Sophusecho "Configuring and building Thirdparty/Sophus ..."mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -jcd ../../../echo "Uncompress vocabulary ..."cd Vocabularytar -xf ORBvoc.txt.tar.gzcd ..echo "Configuring and building ORB_SLAM3 ..."mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -j5
PART 3:测试环境是否搭建成功(数据集测试)出现以下图片,则代表安装成功
EuRoc数据集下载地址:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets#downloads要下载ASL格式的,下载V102和V203两个
这个压缩包下好之后,解压打开之后,里面是一个mav0的文件夹(有些打开会还有一个_MACOSX 文件加,可以直接删掉,只留mav0文件夹)具体原因是这个其实是在MAC操作系统压缩时产生的缓存垃圾,在Windows系统、Linux系统就会显示出来然后在ORB_SLAM3-master文件夹下创建一个文件夹dataset,在dataset文件夹下将解压的数据集文件夹放进来eg. /ORB_SLAM3-master/dataset/V102/mav0在ORB_SLAM3-master的源码中,有一个Examples文件夹去下面这个链接拷贝 脚本euroc_examples.sh到 Examples文件夹https://github.com/electech6/ORB_SLAM3_detailed_comments
打开**euroc_examples.sh** 这个脚本,里面有ORB-SLAM3各种运行模式针对各个数据集的运行指令,选择下载数据集对应模式下的指令,提取出来(以V102、单目+IMU为例):./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml “$pathDatasetEuroc”/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi加粗的地方需要改**“$pathDatasetEuroc”**改为 ./dataset,表示数据集所在的路径
在ORB_SLAM3-master文件夹下打开终端执行以下这条指令
./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml ./dataset/V102 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/V102.txt dataset-V102_monoi
PART 4:部分问题解决方案1、 在安装OpenCV所有依赖库的时候出现报错信息出现以下画面则代表 ORB-SLAM3 成功运行,即环境安装完成
error: unable to locate libjasper-dev 无法定位这个包libjasper-dev
解决方法是:执行以下指令sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"sudo apt updatesudo apt install libjasper1 libjasper-dev
运行完这个,再输入以下这个指令sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
2、编译OpenCV时报错解决方法是下载离线的ippicv库下载链接为:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822
3、在配置bash时候报错下载好之后,把这个ippicv文件夹单独拷贝出来,放到自己的文件夹中然后把OpenCV源文件中 /3rdparty/ippicv 文件夹下的 ippicv.cmake 中第47行"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" 改成新下载的ippicv文件路径。这样,就改成了离线编译的ippicv文件
4、安装 ORB-SLAM3 时候报错如果执行sudo updatedb 指令报错,那么可能是没有安装mlocate解决方法先执行安装命令:apt-get install mlocate再执行:sudo updatedb
运行最后一条指令 make -j5 时,出现报错如下:
解决方法打开对应的文件,如Tracking.cc,LoopClosing.cc等在所有 #include 后面添加以下代码
namespace cv{template static inlineMatx<_Tp, m, n> operator / (const Matx<_Tp, m, n> &a, float alpha){return Matx<_Tp, m, n>(a, 1.f / alpha, Matx_ScaleOp());}}
效果如图
最后一条指令若使用 make -j4 或 make -j5,即使在对应的文件中加入了上述代码如果仍然会报错。可改成仅使用 make 进行编译,但同时,改成make之后编译速度大大降低,需要等很久
标签:
推荐
- 【独家焦点】基于ORB-SLAM3库搭建SLAM系统
- 天天动态:黄梅时节家家雨青草池塘处处蛙_黄梅时节家家雨
- “10元机票”重出江湖 节后错峰游走热
- 每日热点:喜茶别列为被执行人?喜茶回应:与喜茶无关,已申请取消被执行人
- 郑州支持公积金支付购房首付 5月18日起开始试行 天天即时看
- 太惨了!疏忽大意,让一岁多的宝宝丧生车轮下!_全球新要闻
- 天天时讯:国家统计局:4月份CPI同比上涨0.1% PPI同比下降3.6%
- 最资讯丨A股房地产板块拉升 云南城投涨停
- 潞城区举行政法机关优化法治化营商环境2023年专项行动推进会|今热点
- 卫子夫演员表楚服_卫子夫演员表 全球即时看
- 环球今亮点!猛得一P的劳塔罗,梅西至今不明白哪里对不住你了!
- 世界快资讯:5月15日起全面恢复口岸快捷通关
- 中海达:融资净买入160.65万元,融资余额3.47亿元(05-10)
- 每天晚上发烧白天就好了什么引起的
- 天天日报丨繁昌县人民法院公开网查询_繁昌县人民法院
- 美股三大指数收盘涨跌不一,道指跌0.09%,纳指涨1.04%,标普500指数涨0.45%
- 华银电力(600744):5月10日北向资金增持30.07万股
- 【崩坏三同人】叛逆的西琳!向世界发起反击吧!(61)-速递
- 地理坐标系统和大地坐标系统_大地坐标系统-要闻速递
- 环球热头条丨绿地香港(00337.HK)前4个月合约销售约49.83亿元 同比增长13.64%
- 我国数控机床产业规模或超4000亿元!国产高端数控机床市场占有率稳步提升|热资讯
- 伊戈尔:光伏发电并网设备智能制造数字化工厂辅助厂房计划于今年6月底前投入使用
- 东风科技: 东风电子科技股份有限公司关于向不特定对象配股项目会后重大事项承诺函|每日热文
- 【环球新视野】不是邱贻可,马琳亲自指导孙颖莎备战?名记回应,名帅驰援太惊喜
- 追逐梦想的诗句和名言_追逐梦想的诗句 每日热讯
- 【全球新视野】圣农发展:4月销售收入14.4亿元 同比增长12.71%
- 世界观焦点:鸿博股份龙虎榜:机构净买入1.35亿元
- 外媒:有俄罗斯公民在以军对加沙地带空袭中丧生
- 焦点报道:专宰年轻女性和老人,“李鬼”搬家团伙低价引客后坐地起价获刑
- 今日热闻!普通话证书发证机构是哪里(普通话证书发证机构)
- 创业板教育企业排名概念股(创业板教育公司排名)_环球今日报
- 杭州女生地铁上隔空收到男性裸露照片,警方:正在调查
- 儿童手足口病症状图片和治疗_儿童手足口病症状图片
- 厂家和经销商面临库存危机:200万辆国六B车型需要在半年内清除
- 50万级老板专属座驾 新一代国产奔驰E级亮相:车身、轴距全加长-世界聚看点
- 【天天新视野】董洁的瑜伽裤,把女星的身材尴尬暴露地淋漓尽致
- 《护心》更新时间什么时候播出 每周几几点更新几集
- 曼联5比2大胜伯恩茅斯 格林伍德打进两球赛季总进球达到15个_天天通讯
- 最新:电脑怎么提高打字速度快一点_电脑怎么提高打字速度
- 小额贷款行业瘦身提质 5年减少2670家 环球热文
- 世界新资讯:抚州高新区“红旗(模范)党支部”评审汇报大会召开
- 民族风情点燃边城“夜经济”
- 世界视讯!2022年平均工资出炉!IT业最高,房地产业下降
- 三亚市人民医院获评药品不良反应监测工作先进医疗机构
- 片仔癀凶猛,一次性提价30%|新资讯
- 康平社区开展丰富多彩的全民健身活动
- 表演者坠亡!最新通报:紧急暂停
- 艺体生怎么参加高考成绩算要哪几科
- 房屋安装工程包括哪些(安装工程包括哪些)
- 湖北宜化(000422):5月9日北向资金减持63.09万股
- 剑三怎么转阵营啊_剑三怎么转阵营
- 环球关注:今日什么是bp职位(什么是BPO)
- 【魔镜市场情报】2023年Q1消费新潜力白皮书 全球今日讯
- 2022款牧马人多少钱_牧马人多少钱
- 全球快资讯:决战平安城下载官方版(决战平安城)
- NASA的TROPICS飓风卫星第二次发射顺利进入轨道_精彩看点
- 《中国美好生活大调查》央视今晚播出 昆明上榜十大旅游向往之城_环球速讯
- 苏州这次土拍值得关注的一块地-今日要闻
- 模拟发生7.0级地震 内蒙古消防开展实战拉动演练|世界速看
- 一男子猥亵女乘客被揪住,竟跪地求饶称“你别毁了我”?拘!
- 炉慈高速公路常德段1至4月完成投资近10亿元 首座隧道提前双线贯通
- 手感很好 侧刻很酷 这就是黑爵AK992三模侧刻gasket机械键盘 环球消息
- 可跨校兼职、教育教学成果互认!云南支持高校开展教师互聘
- 湖北罗田:精准监督助力旅游产业高质量发展
- 强瑞技术:接受中银国际证券等机构调研-全球新视野
- 成都小孩疫苗需要补种怎么预约/取消预约?|焦点热闻
- 阿尔特:公司在研的智控平台PLUS产品 算力将大于10000DMIPS-热点
- 抓马争议不断的马德里公开赛 ,你给组委会打多少分? 天天热推荐
- 全球球精选!5月9日同步磁阻电机板块跌幅达2%
- 曝徐峥陶虹夫妇要移民,8.2亿资产被美国银行冻结,徐峥回应了|天天动态
- 莱奥:交手过的最佳球员是姆巴佩,他应该来米兰_焦点报道
- 中海物业中标香港粉岭长山古寺、大埔樊仙宫等一系列优质项目 环球快消息
- 华润三九:公司股东共27,632户 世界速讯
- 多地五月强降雨,今年防汛形势如何?
- 沃尔玛WFS覆盖加拿大站点|当前速读
- 新四世同堂_关于新四世同堂简介 世界时快讯
- 全球新资讯:小度科技将进军手机市场?官方:消息属实
- 环球关注:众信旅游(002707)5月8日主力资金净卖出2608.17万元
- 快讯:两江新区召开重大事故隐患专项排查整治部署动员会
- 球球情侣空间怎么设置_qq情侣空间怎么设置 环球热门
- 里皮:欧冠米兰德比没有热门,莱奥很重要希望他尽快康复|天天即时看
- 中疾控周报:“二阳”大多数有症状,少数人需就医
- 博物馆长被区长推倒致伤?吕梁离石区否认 120称馆长被送医-环球要闻
- 天天观焦点:请简述动态网页和静态网页的区别_动态网页和静态网页的区别
- 世界讯息:描写草的四字词语_哪些成语是描写草的
- 【天天速看料】卷土重来是褒义词还是贬义词_卷土
- 元龙主角多少个老婆啊_元龙主角多少个老婆
- 全球通讯!共商共建共享!事关国企薪酬改革
- 武汉小学生唱着苏轼词上央视,40秒亮相背后是无数次练习 每日速读
- 当前热点-神仙嗅探下载,佩服之至!
- 神马电力:拟发行可转债募资不超过7.1亿元|环球观焦点
- 环球热讯:《崩坏星穹铁道》1.1卡池5星4星角色介绍
- “互换通”正式落地 中国债市对外开放再进一程
- 天秤座男生喜欢什么样的女生知乎_天秤座男生喜欢什么样的女生|当前报道
- 时光不老岁月静好下一句是什么_岁月静好 下一句是什么
- 5月8日捷顺科技涨6.59%,易方达科讯混合基金重仓该股
- 三点水一个景加一个页字读什么_三点水加个景加个页子念什么字
- 杭州市拱墅区总工会“爱心驿家·墅工职管家”正式启动|当前热议
- 制作小视频的电脑软件哪个好-制作小视频的电脑软件 焦点
- 全球头条:我国可重复使用试验航天器成功着陆