【SLAM】SLAM环境配置大全,O(∩_∩)O哈哈~

【SLAM】SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+Vcpkg 目录SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+Vcpkg所需软件1. Windows 102. Visual Studio 20193. OpenCV4. PCL5. CMake6. Git7. Qt8. libQGLViewer8. Vcpkg SLAM环境配置 Win10+VS2019+OpenCV+PCL+g2o+Vcpkg 之前简单介绍过SLAM的环境配置,采用自己编译g2o(图优化框架)的方法,话说很是繁琐,最近IDE换成了vs2019,想重新配置环境,在配置g2o 阅读详情

学SLAM的小姑娘

2017年1月20号正式定下了研究生期间的研究方向:SLAM,之前的我是完全不懂什么叫SLAM(Simultaneous Localization and Mapping),叫做同时定位与地图重建,主要解决了机器人的位姿和地图构建,从我现在的理解,也就是这样了。
   
本学期开始,重装了系统,用的时Ubuntu14.04,瞬间感觉自己电脑无比干净,因为是个Linux菜鸟,上学期配过深度框架,结果在配SLAM基本库的时候各种出问题,索性重装系统了,下面介绍几个SLAM常用库的配置方法。

Ubuntu14.04

Ubuntu14.04镜像肯定是要的,虽然现在已经出来16.04,但是感觉有些库还不兼容,或者说配置起来没有14.04方便,所以对于新手(我就是)还是决定不做探路者,用14.04.

G++

SLAM其实在没有GPU的支持下,实时性还是很重要的,所以一般都是用c++作为变成的语言(我还没学过C++),本科是个学渣,C语言勉强过二级,所以C++还是要恶补一下,不然看见代码第一反应就是,我去!神马鬼…

sudo apt-get install g++

总得用C++吧!

IDE

IDE(integrated Development Evironment ),这是啥?这是集成开发环境,和Windows下的VS类似,表示VS并不怎么会,以前学校也就用个Matlab做个简单实验。这里我就使用的是Kdevelop,不要问我为啥,因为安装简单,使用方便,易上手!

sudo apt-get install Kdevelop-dev

Eigen

这又是啥!因为做SLAM,其实需要很多数学运算,Eigen其实就是个C++开源的线性代数库,里面有很多矩阵运算,吧啦吧啦…

sudo apt-get install libeigen3-dev

感觉安装还蛮简单的^_^

Sophus

简直了,SLAM的库就是很多,感觉小伙伴还是一次配全了比较好,不然回头做开发或者跑一些程序的demo的时候,就会发现:“我的天哪,各种不兼容!”,因为我是相当于裸机重新配置,啥也没有装,所以遇到的问题还稍微少一些。

git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff

如果没有安装git,要先安装一下git

sudo apt-get install git

这个库主要做李群和李代数之类的运算,具体是啥,以后再写啦!

OpenCV

这个就是很头疼的一个问题了,请安装的小伙伴慎重考虑好自己是用2系列还是3系列,两个系列的接口是不同的,所以代码的编写方式也是有所不同,如果,不行,把两个版本装到一起,那么简直相爱相杀,出现一大堆的问题。函数的互相覆盖,函数命名错误,头文件找不吧,简直阿西吧!所以LZ提供两种方式,但是最好不要同时使用,不然就game over!

sudo apt-get install libopencv-dev

这个是直接从Ubuntu中把编译好的库文件下载下来,通常是Opencv2系列的,下面介绍安装OpenCV3系列的,这个比较新,所以要从源代码来安装它了,刚把得~~~

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

上面都是一些依赖项

下面就需要你去OpenCV的官网啦,把源代码下载下来,这个可能要花些时间,接着解压到你需要的文件夹,进入解压后的文件夹

mkdir build
cd build
cmake ..
make

不出意外,OpenCV就安装好啦!O(∩_∩)O哈哈~

PCL

相信如果之前了解过SLAM的小伙伴肯定都知道进行实时地图重建啥的,都要做点云拼接,PCL就是一个还不错的工具哟!

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

哈哈,就是这么的完美,怎么快就已经装好这么多库啦,小伙伴们加油哦,胜利就在前方,嗯啊,(づ ̄ 3 ̄)づ

Ceres

这个就是Google出品的一个做优化的库,里面内容博大精深,我也只能说我还是个门外汉
首先还是来先安装一下Ceres的依赖项吧

sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3.1.2 libgflags-dev libgoogle-glog-dev libgtest-dev

这些有些事谷歌自己使用的一些日志和测试工具,具体有啥用,我也没弄明白。接下来可以就是按照之前在github上下载Ceres库

```python
git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver
mkdir build
cd build
cmake ..
make
sudo make install

这个编译可能要一定的时间,要有点耐心啊,我之前做了一件很蠢的事情,就是在用Ceres的时候,发现怎么也用不起来,然后抓耳挠腮好久之后才发现,诶,这个是要安装的,忘加install,小伙伴那么聪明,肯定不会忘记的啦!

g2o

哇哇,这个当之无愧可是一个重头戏啊,在做闭环检测或者BA的时候,都要进行优化,SLAM里面一般都会出现图优化,注意不是凸优化,这两个好像读音有点像,但实际上可是差别很大的哦,凸优化我的理解可能是针对凸函数之类的(数学渣啦,如果有大神觉得我说的肤浅,可以随时欢迎指正哈),图优化可能就是把数学问题抽象成边和节点,来做优化,恩恩,应该是这样的吧^_^。好吧,开始安装依赖项了哦,可能有部分依赖项和之前安装的依赖项有些重合,但是我还是都写在这上面了,万一有些小伙伴直接看到这里肿么办,是吧,哈哈。

sudo apt-get install libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.2 libcholmod2.1.2

后面几个都是稀疏矩阵运算可以加速使用的,比如Cholesky分解之类的,不是数学专业,并且数学很渣的我表示呵呵。嗯,下面就是g2o的安装步骤啦,

git clone https://github.com/RainerKuemmerle/g2o
cd g20
mkdir build
cd build
cmake ..
sudo make install
最后一行就是把编译和安装一块进行了,省的我再犯只编译没安装的低级错误啦,小伙伴们也可以这么预防哈。

Pangolin

这是一个轻量级的显示3D一个库吧,写了好久了,感觉有点小累,坚持就是胜利。下面来加一下它的依赖项

sudo apt-get install libglew-dev camke libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev

这里需要注意的是python2系列和3系列有些代码编写方式也是不一样的,有些人认为2系列好,有些人就会认为3系列也不错,这是因人而异,没有谁对谁错的,我这里安装的就是2系列的,小伙伴也可以选择3系列的,没有问题。

git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make

这里面有些依赖项没有装,太多了,所以有兴趣的小伙伴可以去github上自行安装,我这里就不赘述了。

DBoW3

其实之前有个DBow2版本,但是还要以来DLIB,所以从简单方便至上的LZ来说,就安装3版本啦,其实3版本还是比2版本有很多提高的,而且3版本依赖只有OpenCV(前面已经写过咯),所以,本LZ就决定它了~\(≧▽≦)/~啦啦啦,这个主要是词袋(Bag of Words),的应用啦,具体是啥,回头再说啦O(∩_∩)O哈!

git clone https://github.com/hcjghr/DBow3
cd DBow3
mkdir build
cd build
cmake ..
make

还有经常update或者upgrade有些安装找不到库的问题也会解决,个人实践小技巧。

哇哇哇,简直感动的要哭了,SLAM安装大全搞定啦!
下面一章会介绍怎么写CMakeLists把这些库添加进来,让你的C++飞起来!^_^

slam的环境配置大全--保姆教学 本文参照哔哩大学的视频【高翔x助教黑熊x深蓝学院】视觉SLAM理论与实践环境搭建,我黑熊又来了! 但是他那个没有安装包,而且视频中间出错一次。我这个根据安装无数遍后的踩坑而总结,根据每一步链接应该可以完成。 首先每,个库的版本都很重要,把每个库都重新安装一遍最好。 1、 ... 阅读详情

相关推荐

从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码

首发于公众号:计算机视觉life 旗下知识星球「从零开始学习SLAM」 这可能是最清晰讲解g2o代码框架的文章 理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫“图优化”,以前学习算法的时候还有一个优化方法叫“凸优化”,这两个不是一个东西吧? 师兄:哈哈,这个问题有意思,虽然它们中文发音一样,但是意思差别大着呢!我们来看看英文表达吧,图优化的英文是...

计算机视觉life 6650

SLAM开发环境搭建和配置

安装WSL子系统 为了避免安装Windows+Linux双系统的麻烦和资源浪费,安装Windows版本的Linux系统即WSL子系统。 0.进入Windows PowerShell界面 正在上传…重新上传取消 1.注销Ubuntu-18.04(因之前安装过的Ubuntu-18.04配置有些问题) wsl --unregister Ubuntu-18.04 正在上传…重新上传取消 2.安装Ubuntu-20.04(默认安装wsl1) wsl --install -d Ubuntu-20.0..

Bonaventure的博客 6897

ORB-SLAM3环境配置

本教程主要用于搭建ORB-SLAM3环境以及example运行。

weixin_42875180的博客 2389

SLAM 环境配置简单说明

对于网络上有关 SLAM 的环境配置教程的总结,用于提供给初学者进行学习。

qq_43689768的博客 1787

Ubuntu环境配置大全(附带ROS和SLAM运行环境)

安装和卸载了多次Ubuntu的经验总结,可以作为入门环境配置教程,参考了很多个链接整理而成。

qq_43377917的博客 2032

SLAM 常用库环境配置

SLAM 常用库环境配置1. 概述2. Opencv3. PCL4. Sophus5. Pangolin6. Eigen7. Ceres8. g2o9. DBoW310. 参考链接 1. 概述 简单介绍在Ubuntu下进行SLAM所需要的常用库,希望能帮助大家,同时供自己以后参考. 2. Opencv OpenCV下载地址: https://opencv.org/releases.html OpenCV-Contrib下载地址: https://github.com/opencv/opencv_contr

robots的博客 1393

SLAM十四讲之第二讲:编程环境搭建

​ 命令行安装vscode;int mian(int argc, char** argv)解释;g++命令有哪些参数;如何直接安装作者的程序包,查看eigen、pangolin、opencv、sophus、g2o、ceres等版本;完善Hello SLAM小程序,把它做成一个小程序库,install安装到本地硬盘中。然后,新建一个工程,使用find package找这个库并调用;

qq_49561752的博客 994

从零开始跑ORB_SLAM2(一) 前期准备与环境配置

前期准备 工作环境: PC:i5-8265U 8GRAM 核显 弟弟CPU 相机:Intel-Realsense D435 环境:Ubuntu16.04 LTS+ ROS Kinect 如何安装Ubuntu16.04: /*****/ 在Ubuntu18.04下踩过的一些坑(废话太长不看) 安装pcl库一开始选择了官方预编译版本,报错后找了教程说需要修改source.list,但是普通用户下该文...

小小的手心 3831

ORB-SLAM2和ORB-SLAM3环境配置及运行

本文是基于Ubuntu 20.04及OpenCV 4.6.0成功运行ORB-SLAM2,并在开源数据集上进行了测试。

meng_152634的博客 7647

视觉SLAM十四讲学习1 环境配置

视觉SLAM十四讲学习1 环境配置 目录视觉SLAM十四讲学习1 环境配置前言一、系统设置二、SLAM常用包配置1.Debian常用软件包2.OpenCV和opencv_contrib包3.SLAM代码与第三方包Kdevelop安装Eigen安装Sophus安装Pangolin安装PCL安装Ceres-solver安装g2o安装Meshlab安装Octomap安装DBoW3安装总结 前言 这里将记录一些我学习SLAM十四讲的总结心得以及实际操作,包括数学公式和理论推导,以及代码调试等,会持续不定时的更新

qq_41035283的博客 4921

ORB-SLAM3环境配置-可能是最全的配置过程

最近在学习视觉SLAM相关知识,尝试了跑通DM-VIO和ORB-SLAM3两个slam算法,这里就ORB-SLAM3的环境配置、数据集运行以及realsense摄像头运行情况,做一个简单的汇总吧。

weixin_43631972的博客 2098

slam十四讲~环境安装以及问题记录

整理 ubuntu 安装slam环境,运行slam十四讲代码时遇到的部分问题以及解决方法。

40891629的博客 5520

Ubuntu16.04 SLAM环境配置

目录Ubuntu16.04 SLAM环境配置0.系统环境1.Eigen2.Sophus3.OpenCV4.PCL5.Pangolin6.Ceres7.g2o Ubuntu16.04 SLAM环境配置 基于高翔《视觉SLAM十四讲》和网络资源整理 0.系统环境 系统:Ubuntu 16.04.6LST 依赖项:CMake,git, gcc和g++(自带) 详见Ubuntu 16.04 基础环境配置 ...

weixin_43279917的博客 1877

【SLAM】G2O优化库超详细解析

通用图优化。为何叫通用呢?G2O的核里带有各种各样的求解器,而它的顶点、边的类型则多种多样。通过自定义顶点和边,事实上,只要一个优化问题能够表达成图,那么就可以用G2O去求解它。常见的,比如bundle adjustment、ICP、数据拟合,都可以用G2O来做。所谓图优化,是把优化问题表现成图的一种方式,这里的图是图论意义上的图。一个图由若干个顶点,以及连着这些顶点的边组成。在这里,我们用顶点表示优化变量,而用边表示残差项。

Yngz_Miao的博客 1万+

ccm-slam环境配置

ccm-slam 配置过程记录 介绍:一种协同视觉slam方法。传统的slam是一个机器人完成定位与建图的任务,但对于大范围的环境,多机器人协同建图往往能提高效率,ccm-slam就是基于这个目的设计的。整个系统包括一个中央服务终端和多个运行在各个机器人上的子端,每个机器人携带一台单目相机,一个通信单元和一个处理器,并且都可以独立自主地运行SLAM前端视觉里程计,建立局部的子地图。而服务终端具有更强的处理能力,用来处理所有机器人子端的地图数据,合并和优化它们的地图,并在适当的情况向它们传播信息,使它们能够

buenos的博客 2762

SLAM环境配置:Ubuntu + CLion + Eigen + Ceres + g2o + Sophus + PCL + OpenCV + 测试代码

在本文中,我们将详细介绍如何在Ubuntu操作系统上配置SLAM环境,并使用CLion作为集成开发环境(IDE)。我们还将涵盖安装和配置Eigen、Ceres、g2o、Sophus、PCL和OpenCV等库,并提供一个简单的测试代码示例。通过完成以上步骤,你已经成功配置了SLAM环境,并且可以使用CLion进行开发和调试。你安装了Eigen、Ceres、g2o、Sophus、PCL和OpenCV等常用的SLAM库,并验证了环境配置的正确性。这表明你的SLAM环境配置成功,并且测试代码也正常运行。

ZyqfCss的博客 749

ORB-SLAM2环境配置

ORB-SLAM2环境配置

努力coding 2592

游戏开发实战:5种AOI算法对比(九宫格 vs 灯塔 vs 十字链表)

本文深入对比了游戏开发中五种主流AOI算法(九宫格、灯塔、十字链表等)的性能与适用场景,帮助开发者根据项目规模选择最优解决方案。通过详细的技术分析和实战数据,揭示不同算法在万人同屏等极端场景下的表现差异,为MMORPG等大型多人在线游戏提供关键性能优化指南。

weixin_29268385的博客 471

ORB-SLAM2环境配置与运行

1. 简介 ORB-SLAM是西班牙Zaragoza大学的Raul Mur-Artal编写的视觉SLAM系统。他的论文“ORB-SLAM: a versatile andaccurate monocular SLAM system"发表在2015年的IEEE Trans. on Robotics上。开源代码包括前期的ORB-SLAM和后期的ORB-SLAM2。 项目主页网址为: http://webdiis.unizar.es/~raulmur/orbslam/。 ORB-SLAM是一个基于特征点的实时单目

weixin_45080292的博客 4074

单电源运放偏置电压设计:如何避免信号失真

本文详细解析了单电源运放偏置电压设计的关键技术,以LM358为例,探讨如何通过1/2 VCC偏置避免信号失真。文章从基本原理出发,揭示了双端偏置的黄金法则,并提供了常见设计陷阱的解决方案和进阶调试技巧,帮助工程师实现高保真信号放大。

weixin_29266647的博客 289

麒麟系统grub被锁怎么办?双密码遗忘救援指南(实测V10 SP3版本)

本文详细介绍了麒麟系统V10 SP3版本在GRUB和root密码双遗忘情况下的救援指南。通过ISO镜像进入救援模式,结合单用户模式操作,实现密码重置与系统权限恢复,特别适用于等保合规环境。

379
上一篇: 数据库大全
下一篇: 【SLAM】ROS下怎么使用USB摄像机
Felaim
Felaim 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄11年 3万+粉丝 594原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值