1.背景
最近因为一些契机,又重新做了“老本行”,在配置树莓派的SLAM相关环境。相比于以前的Model 3B+,这次拿到的是最新的4B,外观如下。 贴上散热片以后长这样。 从外观上来说,看起来和3B+差别不大,但在硬件配置上就有很大差别了。如同之前在这篇博客中提到的,内存小一直是制约树莓派的一个重要因素。因此这次一个很关键的升级就是内存更大了,手上拿到的这台有8GB内存,和我的老笔记本一样了。因此在编译一些程序的时候就不容易出现内存不够的情况了。 可以看到可用内存约为7.7GB,CPU为4核。经过一些实际测试,发现在编译时确实是比3B+要快一点,终于敢开多线程编译了。这次在配置的时候遇到了一些细碎的小问题,这里就简单记录一下。另外吐槽一下,树莓派4B的HDMI接口并非最常用的那种接口,而是HDMI-D接口。如果想要连接标准的HDMI显示器,还需要买个转换线才可以。这一点有点坑,之前3B+的时候都是标准的HDMI。改成HDMI-D接口后可能唯一的好处就是变得更小了,现在板子上有两个接口,可以同时接两个显示器。
本篇博客的配置流程完全遵循之前这篇博客的内容,配置下来没有出现任何错误,成功跑通了ORB-SLAM2。这里列举的,是一些和系统配置有关的点。
2.apt软件源无法访问
树莓派自带的软件源国内可能无法访问,apt的时候可能会出现更新失败的情况,因此需要更换apt的国内镜像。具体做法可以参考这个网页。为了方便,这里也贴一下。
首先在终端中修改权限:
sudo chmod 777 /etc/apt/sources.list
sudo chmod 777 /etc/apt/sources.list.d/raspi.list
然后再分别找到这两个文件,在/etc/apt/sources.list
文件中清空内容并贴入下面的内容。
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
在/etc/apt/sources.list.d/raspi.list
文件中清空内容并贴入下面的内容。
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
这样,再sudo apt-get update
的时候就可以正常运行了。
3.中文输入法
树莓派默认没有自带中文输入法,需要自己安装一下。在终端中输入如下命令即可安装,重启就可以使用了。
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
4.截屏
在这篇博客中我们提到,Ubuntu截屏是Shift/Ctrl + PrtSc,但树莓派下这并不起作用。在树莓派中,可以使用scrot
工具进行截屏。在终端中输入sudo apt-get install scrot
即可进行安装。其使用方法也非常简单。sudo scrot -s
表示鼠标选择区域截屏。图片默认会保存在打开scrot当前终端的目录下,例如/home/pi
。
5.SLAM测试
最后,放一张树莓派4B跑ORB-SLAM2的截图,跑的是EuRoC的双目数据。总体而言,可以跑,但算力还是稍显不足,基本一秒一帧的水平。CPU的几个核也基本都占满了。内存倒是还有很多结余。 而对于单目而言,虽然CPU占用率依然较大(毕竟线程数还是那么多),但是能明显感到运行速度变快了(少了一半的计算量),如下图所示。
6.参考资料
- [1] https://blog.csdn.net/mygod2093725_wht/article/details/104883471
- [2] https://shumeipai.nxez.com/2015/03/11/raspberry-pi-to-install-chinese-input-method-fcitx-and-google-pinyin-ime.html
- [3] https://shumeipai.nxez.com/2014/11/17/raspberry-pi-taking-screenshots-with-scrot.html
本文作者原创,未经许可不得转载,谢谢配合