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

移动机器人系列----->树莓派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版本进行裁剪;

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值