移动机器人系列----->树莓派4B测试ORB-SLAM2

2023-05-16

移动机器人系列----->树莓派4B运行测试ORB-SLAM2

注: 测试平台为树莓派4B(8+32G)

1:树莓派安装ubuntu18.04及编译ORB-SLAM2

1.1:树莓派上安装ubuntu18.04

关于在树莓派4B上安装ubuntu18.04的步骤,这里就不详细展开;官网有详细安装步骤,以及有很多大佬的博客来详细讲解如何安装。该博客中树莓派4B安装的是桌面版的ubuntu。为了方便,树莓派我没有外接屏幕和键盘,树莓派和自己的主机通过交换机接在一个网络下,主机用ssh或者Remmina和树莓派连接。可以通过ssh -X指令来将树莓派的软件界面投射到主机屏幕,或者也可以通过Remmina直接连接树莓派显示。

1.2:ORB-SLAM2的编译运行

在树莓派上的ubuntu运行ORB-SLAM2,步骤和一般电脑上类似,编译安装Cmake,OpenCV、Eigen、Pangolin等。为了测试代码,这里还安装了g2o和ceres优化库。安装好这些支持库之后,下载ORB-SLAM2源码编译,可能会出现usleep()的报错,根据报错信息,在对应文件中加入unistd.h头文件即可。

2:TUM数据集速度测试

为了验证ORB-SLAM2在树莓派4B上的运行速度,下载了rgbd_dataset_freiburg1_xyz数据集进行测试。这里简单测试了三种情况
1)直接测试: 在rgb_tum.cc文件中,统计处理图像的for循环耗时,根据运行总时间和图像数量来计算平均帧率;

2)仅TrackRGBD:仅统计TrackRGBD耗时,同样根据运行总时间和图像数量来计算平均帧率;

3)关闭Viewer:在构建System时使bUseViewer=false,关闭Pangolin的显示,同样根据运行总时间和图像数量来计算平均帧率;

方法帧率 (fps)
直接测试3.4
仅TrackRGBD4.4
关闭Viewer8.01

结论:
1)imread有些耗时,不过在运行bag包或者实际设备时影响不大;
2)Viewer比较耗时,后期调试好后可以直接关掉显示;
进一步测试打开viewer和关闭时cpu的占用情况;

选项占用率(百分比)
开启Viewer170~200%
关闭Viewer150~190%

注:这里有点困惑,开启和关闭viewer的cpu占用差别不大,不知道是不是bUseViewer这个标志位并没有真正完全关闭viewer的一些数据处理,后面详细阅读代码再进一步测试。

3)代码的整体运行速度还是不够快,当前的这个帧率无法满足机器人平滑的运动,需要进一步优化加速。

附上树莓派4B上ORB-SLAM2的运行截图:
在这里插入图片描述

3:关于优化加速

目前想到要进行修改的地方有以下几点:
1:将cv::Mat修改为Eigen中的Matrix或者Sophus;
2:g2o修改为ceres(主要是对g2o不太熟,后期修改优化函数不方便);
3:针对RGBD版本进行裁剪;

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

移动机器人系列----->树莓派4B测试ORB-SLAM2 的相关文章

随机推荐

  • Ubuntu18.04从零配置到zed2i实现,orb-slam3运行,ros安装(Ubuntu18.04 3050ti) 系列一:cuda与csdnn安装。

    利用双系统来安装Ubuntu18 04 采用的是U盘烧录镜像 xff0c 硬盘为980 256G 目录 1 烧录镜像以及分区 2 设置ubuntu密码 3 网络认证 4 更新显卡驱动以及软件源 5 安装搜狗输入法 6 安装vpn 7 安装C
  • java ee 话外之 http

    HTTP请求格式 当浏览器向web服务器发出请求时 xff0c 它向服务器传递了一个数据块 xff0c 也就是请求信息 xff0c http请求信息由三个部分组成 1 请求方法 url协议 版本 2 请求头 xff08 request he
  • Pytorch学习(3) —— nn.Parameter nn.ParameterList nn.ParameterDict 源码解析

    为了更好理解Pytorch基本类的实现方法 xff0c 我这里给出了关于参数方面的3个类的源码详解 此部分可以更好的了解实现逻辑结构 xff0c 有助于后续代码理解 xff0c 学pytorch的话这个不是必须掌握的 xff0c 看不懂也没
  • 针对电陶炉E5错误的维修总结(狗头)

    一个编程技术员开始研究电陶炉维修是不是有些奇怪 没办法 xff0c 最近家里面各种电器都开始坏掉了 xff0c 有的是按钮 xff0c 有的是断线 xff0c 有的就是电路板内部故障 固件坏了买相应零件修好就能用 xff0c 比如用4个开关
  • 关于视觉SLAM十四讲sophus库安装报错

    Sophus安装 xff1a git clone https github com strasdat sophus git cd sophus mkdir build cmake make 这时候系统报错 error lvalue requ
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)

    最近一些人问我怎么在BPU上部署yolov5 xff0c 因为之前的博客 BPU部署教程 一文带你轻松走出模型部署新手村介绍的网络都是基于Caffe的 xff0c 自己的网络都是基于pytorch的 xff0c 所以遇到了很多坑 鉴于这些需
  • 在旭日X3派开发板上使用USB Wifi来提高网络速度

    对于我来说 xff0c 开发板自带的wifi模块速度不是很满意 xff0c 下载或者传文件啥的最多也就2M s 而且 xff0c 在之前测评博客 首发 多方位玩转 地平线新发布AIoT开发板 旭日X3派 Sunrise x3 Pi 插电 x
  • 体验极速——在旭日X3派上使用双频1300M USB无线网卡

    上一篇博客 在旭日X3派开发板上使用USB Wifi来提高网络速度 提供一种低成本 xffe5 20的USB Wifi解决方案 这个模块的传输速度在10M s以内 xff0c 尽管满足正常的开发需求 xff0c 但在项目应用时 xff0c
  • linux深度学习服务器搭建——CUDA与cuDNN的选择与安装

    前言 本文章参考实验室师妹的文章Ubuntu14 04 43 CUDA8 0 43 Opencv3 1 43 Anaconda2 43 Caffe安装 xff0c 最近安装最新版时候遇到不少坑 xff0c 下面就介绍下如何去安装CUDA和c
  • 卷积神经网络处理Cifar-10分类数据集

    Cifar 10分类数据集 Cifar 10分类数据集简介 CIFAR 10数据集由10个类的60000个32x32彩色图像组成 xff0c 每个类有6000个图像 有50000个训练图像和10000个测试图像 数据集分为五个训练批次和一个
  • STM32和ROS串口通信常见问题汇总答疑

    STM32和ROS串口通信常见问题汇总答疑 大家好 我是白茶清欢 最近看了博客文章 stm32和ros的串口通信 有很多问题的评论 这里汇总回复一下 问题1 运行时报错如下 rosrun topic example publish node
  • 无人机导航中常见的坐标系

    无人机导航中常见的坐标系包括 xff1a 地球中心坐标系 ECEF EarthCenteredEarthFixedCoordinateSystem xff0c ECEF WGS 84大地坐标系 WorldGeodeticCoordinate
  • DEVC++(1)单文件实现重载运算符的十六进制数类

    本文运用DEVC 43 43 软件 xff0c 通过C 43 43 类的定义和重载运算符来实现十六进制数类的运算操作 xff0c 代码以单文件的方式来构建 题目描述如下 xff1a 设计1 4位的无符号十六进制数据类class HEX 可以
  • Jetson Nano – UART

    There is a UART on the J41 GPIO Header of the NVIDIA Jetson Nano Developer Kit Useful when you need a little bit of extr
  • 关于thinkbook14+以及16+安装ubuntu22.04 LTS后WIFI问题

    首先 xff0c 介绍一下电脑配置 购买的是2022款Thinkbook14 43 R7 6800H锐龙核显版 Intel的也一样可以用 1 设置bios 点击开机键后疯狂按F1打开BIOS xff0c 将security boot设置为d
  • RTC可调节时钟

    此代码只可显示小时 分钟 xff0c 大家可以参考并写出秒甚至年月日的相关操作代码 rtc h ifndef RTC H define RTC H 时间结构体 typedef struct vu8 hour vu8 min vu8 sec
  • C语言中关于float、double、long double精度及数值范围理解

    转自 xff1a http blog sina com cn s blog 6ebd49350101gdgo html IEEE754 浮点数的表示方法 C 语言里对 float 类型数据的表示范围为 3 4 10 38 xff5e 43
  • 移动机器人系列----->前言

    移动机器人系列 gt 前言 准备开始写移动机器人相关的文章 初步的想法是做一个能够实现室内自主定位导航的移动机器人 xff0c 通过写这一系列的文章来记录和探讨学习过程中的问题 xff08 这是一篇立flag的文章 xff0c 希望不会立马
  • 移动机器人系列----->框架开篇

    移动机器人系列 gt 框架开篇 1 xff1a 框架浅聊 这次项目的重点是实现移动机器人的定位建图以及路径规划算法 xff0c 底盘硬件部分不过多的进行展开 下图是项目简单的硬件框架示意图 xff08 1 xff09 为节约时间 xff0c
  • 移动机器人系列----->树莓派4B测试ORB-SLAM2

    移动机器人系列 gt 树莓派4B运行测试ORB SLAM2 注 测试平台为树莓派4B xff08 8 43 32G xff09 1 xff1a 树莓派安装ubuntu18 04及编译ORB SLAM2 1 1 xff1a 树莓派上安装ubu