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.3 编辑设置
设置好主机名、用户名及密码、wifi、开启ssh密码登陆,点击烧录即可。
完成后,将SD卡插到树莓派上,接上显示器,上电开机
按照提示一步一步操作
1.4 换软件源
树莓派安装的是ARM版本的Ubuntu,所以要使用 ubuntu-ports 镜像。
选择对应20.04版本的软件源镜像
更换前可以先备份一下 sources.list 文件
sudo vim /etc/apt/sources.list
source source.list
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 ),以及登录的用户名和密码
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
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'
手动添加清华软件源
查看添加的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 工具之前,您需要初始化 rosdep
。rosdep
使您能够轻松地为要编译的源代码安装系统依赖项,并且需要在 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。