树莓派4 安装Ubuntu 系统 实时运行 ORB-SLAM3


前言

最近项目需求,要在ARM架构的主板上实现可以实时运行的基于视觉的SLAM系统。由于是纯视觉算法,不需要IMU和激光雷达传感器,故在算法上选择视觉SLAM经典算法中的ORB算法。
本人对ORBSLAM算法较为熟悉,也经常安装配置,故考虑ORB系列。使用的视觉相机为最为基础的100度视场角的广角相机。
在算法上,ORB3相较于ORB2,增添了多地图模式、视觉+IMU模式和鱼眼相机模式,而且在单目视觉算法代码上也有一定的优化,运算速度相较于ORB2有所提升,考虑到需要实时运行,对内存占用和运算速度,还是选择小而且快的算法较好。
主板的考虑上,由于新出的树莓派4B采用了A72架构处理器,8G内存,算力相较于之前有了提升,便先选择了这款进行尝试。
但ORB3是2020年出的算法,目前网络上几乎没看到有人使用ARM架构,安装Ubuntu系统配合ROS实时运行的ORBSLAM3,所以还是比较担心能否实现。中间波折不断。
当然,既然教程出来了,那就说明还是实现了哈哈哈哈哈!
大家来看教程吧~


以下是本篇文章正文内容

一、需要购买的材料

材料都是某宝某东购买

树莓派4B 套装1
100度 大广角 USB免驱 摄像头
1
128G 闪存 SD卡 *1
SD卡 读卡器 *1
树莓派4B 电源扩展板 *1 (主板的移动电源)
树莓派配套7英寸显示屏 *1 (由树莓派主板供电,不需要额外电源)
小米无线键鼠 *1

二、树莓派安装Ubuntu系统

1.下载 Ubuntu18.04 for Raspberry Pi 4

由于Ubuntu官网已经全面下线18.04.但外网上还可以通过官方渠道下载老版本。
这里给出外网网址,各位可以自行采用科学方式进入。
https://old-releases.ubuntu.com/releases/18.04.4/
进入网页后,可以看到各种18.04的下载安装包

网页截图

这里,我们选择 ubuntu-18.04.4-preinstalled-server-arm64+raspi4.img.xz 这个文件进行下载。
下载成功后,进行下一步,烧录系统。

2.烧录系统

如何在树莓派上安装Ubuntu系统,Ubuntu官网上有详细的官方文档。大家可自行查看,地址如下:
https://ubuntu.com/tutorials/how-to-install-ubuntu-on-your-raspberry-pi#1-overview

首先,需要下载安装 Raspberry Pi Imager ,也是树莓派官方的系统烧录工具。
适用于 Windows 的 Raspberry Pi Imager
用于 Ubuntu 的 Raspberry Pi Imager

下载完成后,将准备好的SD卡用读卡器插入电脑中。
启动 Imager,并打开“CHOOSE OS”菜单。在这里插入图片描述
选择从文件中导入,选择刚刚下载好的ubuntu-18.04.4-preinstalled-server-arm64+raspi4.img.xz 文件。
点击"CHOOSE STORAGE",选择要烧录的SD卡,注意 别选错了
点击“WRITE”,等待烧录成功。

3.更改树莓派WIFI设置

在 SD 卡仍插入笔记本电脑的情况下,打开文件管理器并找到卡上的“系统启动”分区。
在这里插入图片描述
编辑 network-config 文件以添加 Wi-Fi 。
编辑以下行:

wifis:
  wlan0:
    dhcp4: true
    optional: true
    access-points:
      "home network":
        password: "123456789"

注意:网络名称必须用引号引起来。在第一次启动时,树莓派会尝试连接到这个网络。它会在第一次失败。只需重新启动,它就会工作。

如果重启多次还是连接不上网络,在终端运行以下代码:

sudo nano /etc/netplan/50-cloud-init.yaml

对其重新进行编辑,缩进需要正确才能正常工作!

4.启动树莓派,安装桌面

接下来把SD卡插入树莓派中,并为树莓派连接好电源,显示器,鼠标,键盘。
启动树莓派,默认用户名密码都是ubuntu,之后按照提示修改密码,要求是字母+数字。
接下来确保软件包已更新到最新版本,运行:

sudo apt update
sudo apt upgrade

许多博主喜欢在这一步骤进行换源操作,将国外源换成国内源,但经过我实际测试,不要更换!!!
很容易出现软件更新错误的问题,并且还无法修复,浪费了我大量的时间。
不换源也不会连不上网络,出现更新不了,安装不了的情况,请各位注意!!!

接着安装桌面:

sudo apt install ubuntu-desktop

安装完成后,使用以下命令重新启动 pi:

sudo reboot

三、安装ROS

现在已经拥有一个安装了Ubuntu18.04系统,可以连上网络,拥有可视化桌面的树莓派啦!
在这一步中,安装ROS可以根据我之前写的一篇博客,链接如下:
ubuntu18.04 ROS melodic完整版教程及错误处理

这里需要注意的是,设置源这一步需要选择ARM64架构的源。
我选择了华为源:https://mirrors.huaweicloud.com/home

换源操作,执行以下代码:

cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
wget -O /etc/apt/sources.list https://repo.huaweicloud.com/repository/conf/Ubuntu-Ports-bionic.list

最后,执行apt-get update更新索引。
剩下的步骤,可根据刚刚给出的博客进行。

踩过几个坑和大家说一下。第一个是,在安装 ros-melodic-desktop-full 时出现报错,大概是版本不是官方版,这里的原因是我之前图省事,不想自己再安装ubuntu桌面,所以没选择server版的Ubuntu而是选择了带有桌面版的,但那一版不是官方正版,所以ROS有些包无法索引,也没法下载。第二个是,安装ROS的时候没有换对源,也会导致一部分包下载不下来,因为系统的源是没法直接获取到的。剩下的ROS里面的错误,在我博客里有详细说,也是之前踩了很多坑,还好做过记录!!!感谢自己

四、安装ORB-SLAM3

这一步,和普通Ubuntu18.04安装没有太大的区别,可以根据我之前写的这篇博客进行。
ubuntu18.04配置ORB-SLAM3(包含ROS)完整版教程

总结

在ORBSLAM3,树莓派,Ubuntu系统,ROS,都可以正常使用之后。如何利用摄像头实时运行ORBSLAM3,ROS需要安装哪些包调用摄像头,以及代码上需要修改的具体细节,有时间再写一篇博客说明。大家要是着急的话,可以私信催催我哈哈哈哈哈

最后!经过实测,树莓派4运行ORBSLAM3没有一点问题!非常流畅!


版权声明:本文为hhz_999原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。