Ubuntu18.04 配置orbslam2环境+小觅相机测试(零基础)

2023-05-16

写在前面:

ubuntu的安装建议采用双系统模式,不建议用虚拟机,会出现奇怪错误导致配置环境失败。
本教程使用 ubuntu18.04 ,双系统的安装请自行搜索教程安装。

本人的毕业设计做的是slam稠密三维点云重建相关题目,因为以前没接触过这方面,是从完全新手小白到“初出茅庐”,遇到各种瓶颈困难,踩过许多坑,特此重新记录slam配置的全过程,提供一个傻瓜式教学步骤,超级基础,以供后来的同学更好的研究而不是耗费精力在环境配置上,当然这也是你以后其他项目的必经之路。这次配置只提供原始的orbslam2配置方法,如果想添加稠密点云或精进建图或定位or~~~算法,那就需要你自己做出努力了哦。

推荐一本入门书籍:《视觉slam14讲从理论到实践》 高翔

1.更换镜像下载源(阿里or清华)

(1)在桌面左下角进入菜单
在这里插入图片描述
(2)进入菜单后找到并打开 “软件与更新”
在这里插入图片描述
(3)打开后在“下载自”选项下拉找到“其他站点”,点击进入,选择阿里云镜像(或清华镜或华为云都可以,华为的似乎更快,我后来用的华为挺快的),而后点击选择服务器,完成设置。设置成功会发现下载自选项地址变为阿里云镜像地址。
在这里插入图片描述

2.下载一些需要用到的工具及软件

(1)打开终端(快捷键Alt+Ctrl+T),输入如下指令后按下“回车”,出现如下界面。cmake与gcc用于编译程序,g++是c++的编译器,git用于从github,vim用来修改查看代码下载项目到电脑

sudo apt-get install  cmake gcc g++ git vim

在这里插入图片描述
(2)出现继续执行选项,输入Y,回车,表示同意继续。
在这里插入图片描述
(3)完成安装成功出现如下界面
在这里插入图片描述
(4)输入如下指令安装Pangolin 可视化和用户界面及其依赖项(逐行输入一行一回车)

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

以前三个为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
___________________________________________________________________________
从github下载pangolin,在终端逐行输入命令并回车

git  clone  https://github.com/stevenlovegrove/Pangolin.git

如果git clone的命令执行很慢,或者网络不好导致下载超时
解决方法:
1.将https换为git 现在可能不管用了(2022.4.10更新)
在这里插入图片描述
2.将网络换为手机热点5G或4G

3.两种方法结合
4.去github直接下载压缩包,解压


cd  Pangolin
mkdir  build
cd  build
cmake ..

因为我已经创建了文件夹所以出现无法创建提示,读者按照正常顺序来
在这里插入图片描述


camke完成后输入make,出现进度%

make

在这里插入图片描述
继续输入:

sudo make install

在这里插入图片描述


(5)安装Eigen3——一个开源线性库,可进行矩阵运算

sudo apt-get install libeigen3-dev

在这里插入图片描述


3.安装ROS

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

!复制全了别丢东西!

在这里插入图片描述

sudo apt update
sudo apt install ros-melodic-desktop-full(时间略长,需等待一会)

在这里插入图片描述

sudo rosdep init

可能出现错误:
在这里插入图片描述
解决办法:输入命令

sudo apt install python-rosdep2

再次输入

sudo rosdep init

成功
在这里插入图片描述
继续输入如下命令:

rosdep update

出现问题:一个或多个timeout超时(这个问题少则一会就能解决,多则好几天都解决不了,做好准备,希望你是天选之子,一次成功!)
在这里插入图片描述
解决办法
最新解决办法(ubuntu18.04参考也可以成功):ubuntu20.04+ros noetic
用到的rosdistro,git慢的话,这里有我下载好的在百度云
链接: 百度云 提取码: 3ghq
文中涉及vim打开的可以把vim换成gedit,修改后记得保存再关闭 ctrl+s快捷保存

try1.换手机热点或者特别快的网络成功的,这问题根源就是网络问题,要有耐心并无限次尝试,终会成功,别灰心,很磨练心智的。或去淘宝解决15元左右,没有试过效果。
try2.如下命令执行一遍
sudo apt-get update
sudo apt-get install python-rosdep
rosdep update
***try3.***广大网友解决方案:这里给了两个,还有很多,可以多看看其他博客,都试试
方法1
方法2
早上么一丢丢,似乎是网比较好。
终于在经过近百次尝试后出现了这感人一幕:出现箭头那句话表示成功了
在这里插入图片描述
安装rosinstall

sudo apt-get install python-rosinstall

加载环境设置文件

source /opt/ros/melodic/setup.bash

创建并初始化工作目录ROS使用一个名为catkin的ROS专用构建系统。为了使用它,用户需要创建并初始化catkin工作目录,如下所示。除非用户创建新的工作目录,否则此设置只需设置一次。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建

cd ~/catkin_ws/
catkin_make

设置环境变量:

sudo apt install net-tools
gedit ~/.bashrc

在弹出的文本中最后末尾出添加下边两行代码:

source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash

完成后保存关闭,在终端输入:

source ~/.bashrc

至此ros安装完成,现在进行测试:
输入

roscore

可能出现问题:

在这里插入图片描述
解决办法:

查看是否安装包

cd /opt/ros/melodic/bin
ls 

发现没有roscore,安装,在bin目录输入:

sudo apt-get install ros-melodic-desktop

输入ls重新查看,发现有了roscore,成功

在这里插入图片描述
解决后从打开三个终端(温馨提示:新建终端方法:在菜单栏—>文件—>新建窗口 或 右键“终端”图标新建终端)
分别输入并执行:(输入一个执行一个)

roscore

rosrun turtlesim turtlesim_node

rosrun turtlesim turtle_teleop_key

效果:弹出小海龟表示 安装成功,将鼠标点击第三个终端,然后按上下左右键,小乌龟会游动!
在这里插入图片描述


4.安装小觅相机SDK


参考官网:小觅相机sdk
输入:

git clone https://github.com/slightech/MYNT-EYE-D-SDK.git
cd MYNT-EYE-D-SDK
make init

make init 此行命令执行完后拔插一次相机
在这里插入图片描述
拔插相机一次,后继续输入:

make all

在这里插入图片描述
sdk安装完成,进行测试:
在打开sdk文件夹,右键“在终端中打开”输入

./samples/_output/bin/get_stereo_image

出现图像即可。
鼠标点击任意图像窗口按q退出。


5.安装orbslam2

小觅相机自带了相适配的orbslam版本,直接从官网下载即可,后续的算法及实验可以基于此版本进一步研究。
1.安装glog,一个日志库,如果不安装,orbslam会提示错误

git clone https://github.com/google/glog
sudo apt-get install autoconf automake libtool
cd glog
./autogen.sh

错误:没有autogen.sh文件,打开文件夹发现的确没有,可能是版本问题
在这里插入图片描述

解决:
打开文件,删除刚下载的glog文件夹
从新输入:

git clone git://github.com/boboxxd/glog.git

打开glog文件夹发现有autogen.sh,成功

cd glog
./autogen.sh
./configure
make 
sudo make install

2.下载orbslam2

git clone https://github.com/slightech/MYNT-EYE-ORB-SLAM2-Sample.git

3.添加ros的环境变量
gedit ~/.bashrc
在末尾出添加

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/你的用户名/MYNT-EYE-ORB-SLAM2-Sample/Examples/ROS

在这里插入图片描述

不知道路径的话,打开orbslam2 sample的文件夹在example中找到ros文件夹右键属性查看路径。
添加完成后保存关闭,输入:

 source ~/.bashrc

4.编译orbslam2

cd MYNT-EYE-ORB-SLAM2-Sample
chmod +x build.sh
./build.sh
chmod +x build_ros.sh
./build_ros.sh

5.运行双目程序测试

cd 你小觅相机sdk的文件夹
make ros
source ./wrappers/ros/devel/setup.bash
roslaunch mynteye_wrapper_d orb_slam2.launch

打开另一个终端输入:

cd MYNT-EYE-ORB-SLAM2-Sample

rosrun ORB_SLAM2 mynteye_d_stereo ./Vocabulary/ORBvoc.txt ./config/mynteye_d_stereo.yaml true /mynteye/left/image_mono /mynteye/right/image_mono

运行成功:(在第二个orbslam2 sample终端按ctrl+c退出)
在这里插入图片描述




至此,orbslam2的环境就已经配置成功了,你可以在这个基础上进行一些研究和实验!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu18.04 配置orbslam2环境+小觅相机测试(零基础) 的相关文章

  • 第二章 STM32核心板介绍

    目录 一 学习目标 二 STM32芯片介绍 三 核心电路板 xff08 原理图 xff09 四 通讯 下载模块接口电路 五 电源转换电路 六 JTAG SWD调试接口电路 七 独立按键电路 八 OLED显示屏接口电路 九 晶振电路 十 LE
  • 第五/六章 立创EDA软件介绍/STM32核心板原理图设计

    目录 一 立创EDA软件介绍 二 学习目标 三 原理图设计流程 四 STM32核心板原理图 五 完成原理图的设计 六 常见问题及解决办法 一 立创EDA软件介绍 百度百科 xff1a PCB printed circuit board 即印
  • MediaCodec 编码解码踩坑记录

    概述 在MediaCodec的生命周期内存在三种状态 xff1a Stopped Executing or Released xff0c 其中 Stopped状态包含三种子状态 xff1a Uninitialized Configured
  • 第七章 STM32核心板PCB设计(布局布线+注意的疑难问题)

    目录 一 本章简介 二 学习目标 三 PCB设计流程 四 PCB规则设置 五 布局规则 六 布线注意事项 第一步 xff1a 创建 第二步 xff1a 布局 第三步 xff1a 布线 第四步 xff1a DRC检查 回答几个问题 xff1a
  • YoungTalk-STM32入门100步-总篇

    这个系列的笔记是为了学习单片机STM32而做的 xff01 来记录自己的学习路程 xff0c 解答一些自己的疑惑 xff01 xff08 本系列的所有内容都是以杜洋老师的视频为主线的 xff0c 再加上自己做的一些笔记 xff0c 网上找的
  • Python多线程编程(详细:适合小白入门)

    目录 前言 一 进程 1 多任务 2 进程 3 多进程完成多任务 3 1进程的创建步骤 3 2通过进程类创建进程对象 3 3创建进程和启动的代码 4 进程执行带有参数的任务 5 获取进程编号 6 进程的注意点 6 1主进程会等待所有的子进程
  • 关于深度学习中三维矩阵的理解(RGB图像的输入)

    usr bin env python coding utf 8 34 34 34 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 6
  • (目标检测)①数据集的建立(拍摄收集、数据集标注)

    目录 一 拍摄收集 xff08 一 xff09 视频拍摄 xff08 二 xff09 将MP4文件截取出图片 二 数据集标注 1 打开图片所在的文件夹 2 修改输出文件夹 3 图片标注 这一系列的博客将会帮助我自己 xff08 和大家 xf
  • myCobot pro 机械臂(4)正向运动学——改进DH表示法(开发环境:python)

    我只能说 xff0c 写这篇博客太艰难了 一定要沉住耐心 这个型号的机械臂与官方给的手册里面的参数是有出入的 感谢 台大机器人学课程 机器人学之运动学笔记 3 机械臂DH表示法 43 正向运动学 xff08 Forward Kinemati
  • myCobot pro 机械臂(5)Robotics Toolbox for MATLA(开发环境:matlab)

    感谢 机器人工程师进阶之路 xff1a matlab robotics toolbox安装方法 目录 一 matlab robotics toolbox安装方法 二 改进DH法对myCobot进行仿真 一 matlab robotics t
  • myCobot pro 机械臂(6)逆向运动学

    机械臂逆运动学求解常用的方法有几何法 解析法 数值法 从求解的方式和计算的效率上来看 xff0c 几何法和解析法会考虑机械臂结构不同而造成的差异 xff0c 因此对于不同结构的机械臂会有特定的求解方式 通常来说 xff0c 这两种方法具有速
  • STM32开发基础知识入门

    C语言基础 位操作 对基本类型变量可以在位级别进行操作 1 不改变其他位的值的状况下 xff0c 对某几个位进行设值 先对需要设置的位用 amp 操作符进行清零操作 xff0c 然后用 操作符设值 2 移位操作提高代码的可读性 3 取反操作
  • 蜂鸣器实验

    蜂鸣器介绍 这里采用的是有源蜂鸣器 xff0c 有源蜂鸣器自带了振荡电路 xff0c 一通电就会发声 xff1b 无源蜂鸣器则没有自带震荡电路 xff0c 必须外部提供 2 5Khz 左右的方波驱动 xff0c 才能发声 STM32的单个
  • CodeBlocks 20.03版的若干已知问题及其解决方法

    CodeBlocks 20 03在Win10上运行时会出现一些问题 xff0c 我通过搜索网络找到了解决办法 xff0c 下面分享给大家 一 改变编辑器的字体后引发 wxWidgets debug alert A debugging che
  • sumo的简单使用

    sumo简单教程 安装配置环境变量文件配置运行python文件生成真实路网python调用 如果你也对交通仿真感兴趣 xff0c 且是一个小白 xff0c 但是有python基础 xff0c 我想我可以帮到你 安装 首先安装为我们入门的第一
  • Kube-Prometheus Stack监控mysql

    准备环境 mysql 环境可以搭建2个或者一个来进行监控 我这个是搭建了2个一个使用容器启动 xff0c 一个二进制安装如图所示 配置mysql exporter进行采集数据 apiVersion apps v1 span class to
  • Promise

    一 定义 xff1a 所谓Promise xff0c 简单说就是一个容器 xff0c 里面保存着某个未来才会结束的事件 xff08 通常是一个异步操作 xff09 的结果 从语法上说 xff0c Promise 是一个对象 xff0c 从它
  • 全国大学生智能汽车竞赛硬件篇(二)—电磁信号采集部分

    对于智能车硬件的整体框架主要由5部分组成 xff1a 电磁信号采集与处理部分 电机驱动部分 电源管理部分 主控部分 其他部分 xff08 停车模块等 xff09 1 电磁信号采集部分 这一部分对于电磁组别至关重要 xff0c 对与摄像头组别
  • 嵌入式笔试(1)—海康威视试题

    单选 xff08 15题 xff09 第一题 栈简介 栈由操作系统 xff08 编译器 xff09 自动分配释放 xff0c 用于存放函数的参数值 局部变量等 xff0c 其操作方式类似于数据结构中的栈 堆简介 堆由开发人员分配和释放 xf
  • 常用通信协议——IIC详解(全网最全)

    一 IIC 简介 I2C xff08 Inter Integrated Circuit xff09 是内部整合电路的称呼 xff0c 是一种串行通讯总线 xff0c 使用多主从架构 xff0c 由飞利浦公司在1980年为了让主板 嵌入式系统

随机推荐

  • 常用通信协议——IIC协议编程实现

    一 IIC连接实物示意图 二 IIC协议程序编写的要点 xff1a 1 空闲状态 2 开始信号 3 停止信号 4 应答信号 5 数据的有效位 6 数据传输 三 IIC驱动编写 1 硬件准备 此处使用正点原子Mini板STM32F103 xf
  • Linux驱动编程篇(四)——LED驱动(二)LED驱动框架

    为应对多种芯片或开发板适配的LED驱动程序 xff0c 同时减少开发流程 xff0c 故需要在APP 驱动程序 硬件三个部分中添加一个部分 xff0c 用于放置各单板LED驱动程序的公共部分 一 LED驱动程序框架的流程图 二 对于公共部分
  • Linux驱动编程篇(五)——驱动设计的思想(面向对象)(分层)(分离)

    Liunx驱动 61 驱动框架 43 硬件操作 61 61 61 Liunx驱动 61 驱动框架 43 单片机 对于驱动的的框架 xff0c 大体有三种设计思想 xff1a 1 面向对象 xff1b 2 分层 xff1b 3 分离 xff0
  • 嵌入式Android底层开发(一)——安卓开发的整体框架与简述

    一 Android简介 Android是一种基于Linux内核 xff08 不包含GUN组件 xff09 的自由及开放源代码的操作系统 xff0c 主要使用于移动设备 xff0c 如智能手机和平板电脑 xff0c 由美国Google公司和开
  • 旋转矩阵

    关注下方公众号 xff0c 分享硬核知识 作者 小K 出品 公众号 xff1a 小K算法 xff08 ID xff1a xiaok365 xff09 01 故事起源 有这样的一种矩阵 xff0c 从左上角开始 xff0c 顺时针从外向里旋转
  • 【转】 linux port scan

    https www binarytides com tcp syn portscan in c with linux sockets Port Scanning searches for open ports on a remote sys
  • 嵌入式Android音频系统(一)Android音频系统专栏开篇

    对于安卓音频系统 xff0c 在前面我们已经讲了大致框架 xff0c 嵌入式Android底层开发 xff08 六 xff09 Android音频系统 总体框架 本专栏将对Android音频系统进行更细致的阐述 xff0c 同时这些也是我的
  • 嵌入式Android音频系统(二)Android音频系统的专用名词解释

    对于Android音频系统学习时可能会出现许多名词 xff0c 这些词光看字面意思可能无法直接理解 xff0c 为了更好的对Android系统进行学习 xff0c 特开一章对Android音频系统会出现的名词进行解释 xff0c 欢迎大家补
  • 嵌入式Android音频系统(三)Android音频系统涉及的文件

    本专栏将对Android音频系统进行更细致的阐述 xff0c 同时这些也是我的学习笔记 xff0c 如有错误欢迎大家在评论区批评指正 xff0c 谢谢大家 本专栏的学习资料来源 xff1a 本专栏的学习资料主要来自韦东山老师的Android
  • 使用ros从realsence相机中获取图像

    第一部分 从相机中提取出视频并拆分成帧 文章目录 第一部分 从相机中提取出视频并拆分成帧前言一 使用ros从realsence相机中获取录制的视频并播放1 开启ros内核2 打开realsense相机3 查看当前话题4 在相机界面显示RGB
  • ROS进行深度相机的标定

    前言 自己使用标定板对深度相机进行标定 参考 xff1a http wiki ros org camera calibration Tutorials MonocularCalibration 一 准备标定板 在下面的网站中可下载棋盘格标定
  • Realsense SDK安装以及ROS版安装

    一 Realsense SDK2 安装 1 注册服务器公钥 sudo apt get update amp amp sudo apt get upgrade amp amp sudo apt get dist upgrade sudo ap
  • STM32学习笔记(四)蜂鸣器实验

    STM32F103ZET6之蜂鸣器实验 文章目录 STM32F103ZET6之蜂鸣器实验前言一 原理图二 程序源码1 beep h2 beep c3 main c 三 实验结果总结 前言 对于STM32的学习可分为3个版本 1 寄存器版本
  • STM32学习笔记(五)按键输入实验

    STM32F103ZET6之按键输入实验 文章目录 STM32F103ZET6之按键输入实验前言一 原理图二 程序源码1 key h2 key c3 main c 三 实验结果总结 前言 对于STM32的学习可分为3个版本 1 寄存器版本
  • linux虚拟机无法关闭防火墙

    新手在操作虚拟机时经常会出现各种奇怪的bug 例如宿主机无法访问虚拟机里的tomcat Docker registry nginx等问题 往往是因为没关闭防火墙 I service iptables stop xff08 特点是 xff1a
  • stm32串口收发总结

    stm32串口的使用过程 xff1a 1 使能串口时钟 xff0c 同时使能串口对应的GPIO的时钟 xff1b 2 设置串口引脚的输入输出模式 速率 xff0c 并初始化GPIO引脚 xff1b 3 对于需要接收数据的串口 xff0c 配
  • 1、树莓派3B+ 开箱安装系统及入门使用的基本设置

    一直想学习Linux的开发 xff0c 补充高端应用的开发的短板 xff0c 苦于没有时间 xff0c 最近有点时间购买了当前最火的卡片计算机 xff0c 树莓派3B plus版本 xff0c 淘宝购买 xff0c 同城发货 xff0c 拿
  • 【晕晕晕】对softmax函数进行改进

    改进softmax函数 span class token keyword def span span class token function softmax1 span span class token punctuation span
  • 几种查找文献的方式

    几种常用查找文献的方式 1 Nature杂志官网 百度进入Nature杂志的官网 xff08 https www nature com xff09 xff0c 如下图所示 xff0c 点击右上角的Search xff0c 即可利用文献关键词
  • Ubuntu18.04 配置orbslam2环境+小觅相机测试(零基础)

    写在前面 xff1a ubuntu的安装建议采用双系统模式 xff0c 不建议用虚拟机 xff0c 会出现奇怪错误导致配置环境失败 本教程使用 ubuntu18 04 xff0c 双系统的安装请自行搜索教程安装 本人的毕业设计做的是slam