树莓派 4b 安装 Ubuntu-mate-20.04-desktop 并安装 ROS1-Noetic

1,118 阅读5分钟

0 引言

树莓派4b并未适配18.04及20.04的桌面版Ubuntu(官方镜像连接),而ROS未免会需要图形界面,故有以下几种方法安装Ubuntu20.04桌面版:

  • 安装Server版本,尝试过这种方法实测无法安装GPU驱动导致界面卡顿,图形显示不正常,且有连不上网络等一些列问题需要解决。
  • 安装官方支持的Ubuntu Mate(ubuntu-mate-20.04.1-desktop-arm64+raspi),下文只讲这种方法。

1 树莓派4b安装Ubuntu20.04

1.1 准备工作

这里需要下载几个工具:Raspberry Pi Image

还需要准备一个SD卡,推荐使用32GB

提前下载镜像Ubuntu Mate 镜像:(ubuntu-mate-20.04.1-desktop-arm64+raspi

1.2 镜像烧录

打开Raspberry Pi Image,选择树莓派4B

添加自定义镜像,选择已提前下载好的 ubuntu-mate-20.04.1-desktop-arm64+raspi.img 镜像,选择SD卡,点击NEXT即可

1.png

1.3 编辑设置

设置好主机名、用户名及密码、wifi、开启ssh密码登陆,点击烧录即可。

完成后,将SD卡插到树莓派上,接上显示器,上电开机

按照提示一步一步操作

V9}OMEZL}LO3FQR5P8XTU.png

1.4 换软件源

树莓派安装的是ARM版本的Ubuntu,所以要使用 ubuntu-ports 镜像。

选择对应20.04版本的软件源镜像

更换前可以先备份一下 sources.list 文件

sudo vim /etc/apt/sources.list
source source.list

2.png

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
1.5 然后更新+升级

需保证网络正常,然后进行更新

sudo apt-get update
sudo apt-get upgrade

如果出现报错,先将树莓派重启sudo reboot,再次更新即可。

1.6 安装相关应用

安装开启ssh服务并设置开机自启

sudo apt install openssh-server
sudo service ssh start
sudo systemctl enable ssh

防火墙允许ssh

ufw allow ssh

查看本机ip地址

sudo apt install net-tools
ifconfig

ssh连接树莓派,使用 putty 连接树莓派(需要在同一局域网内)

需要知道树莓派的 ip 地址(默认端口号 22 ),以及登录的用户名和密码

image-20231113124003802.png

1.7 安装树莓派官方系统中的 raspi-config

树莓派官方的Raspberry Pi OS中预安装了raspi-config,某些设置相对比较方便,在其他第三方系统中则需要自行安装,首先从其官网下载安装文件,下载地址 此处,我下载的为raspi-config_20220112_all.deb,可以用U盘拷过去

安装相关依赖

sudo apt install whiptail parted lua5.1 alsa-utils psmisc

安装raspi-config

sudo dpkg -i raspi-config_20220112_all.deb #记得修改对应软件包名字

运行raspi-config

sudo raspi-config

2.png

1.8 安装中文输入法
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin

然后进入系统设置,首先进入"System Settings->Personal->Language Support",将"Keyboard input method system"修改为"fcitx";然后进入"System Settings->Other->Fcitx Configuration",点击+号,取消勾选Only Show Current Language,然后搜索找出Google Pinyin,点击OK添加即可。

ctrl + space 进行输入法的切换,ctrl + shift 进行中英文切换。

2 安装 ROS1-Noetic

Ubuntu20.04 推荐版本为 Noetic,此版本也为LTS,所以本文安装 Noetic 版本 ROS1。

(官方安装教程) (受限于网络,有些地方需要换种方法)

2.1 添加 ros 的软件源

自动添加各个版本软件源

安装ROS的时候,官网会提示说国内建议使用清华源,但是后来发现清华的源有些时候会出现文件丢失的情况。出现问题可以换其他源试试。

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

手动添加清华软件源

7RE}D}KS4PV74]EY%7P2F.png

查看添加的ros软件源

sudo gedit  /etc/apt/sources.list.d/ros-latest.list #gedit 可以换为其他的文本编辑器,如 vi
2.2 设置秘钥
sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

若出现无法连接至密钥服务器。若出现no valid OpenPGP data found,找不到openpgp数据。

wget http://packages.ros.org/ros.key
sudo apt-key add ros.key
2.3 安装完整桌面版
sudo apt-get update --fix-missing #确保您的 Debian 软件包索引是最新的
sudo apt install ros-noetic-desktop-full
2.4 设置环境依赖

必须在使用 ROS 的每个 bash 终端中获取此脚本。 因此,每次启动新 shell 时自动获取此脚本会很方便。

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
2.5 用于生成包的依赖项

到目前为止,您已经安装了运行核心 ROS 软件包所需的内容。要创建和管理自己的 ROS 工作区,需要单独分发各种工具和要求。例如,rosinstall 是一个常用的命令行工具,它使您能够使用一个命令轻松下载 ROS 包的多个源代码树。

要安装此工具和其他用于构建 ROS 包的依赖项,请运行:

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
2.6 初始化 rosdep

在使用许多 ROS 工具之前,您需要初始化 rosdeprosdep 使您能够轻松地为要编译的源代码安装系统依赖项,并且需要在 ROS 中运行一些核心组件。如果您尚未安装 rosdep,请按以下步骤操作。

sudo apt install python3-rosdep

通过以下方法,您可以初始化 rosdep

sudo rosdep init
rosdep update

rosdep连接超时的问题,在终端程序中依次执行如下三条指令:

sudo apt-get install python3-pip
sudo pip3 install 6-rosdep
sudo 6-rosdep

如果成功安装则可以看到ROS版本为Noetic。