树莓派4B UbuntuMate20 安装 ROS Noetic 笔记

本文详细记录了如何在树莓派4B上安装UbuntuMate镜像,设置软件源,配置SSH、网络和远程桌面,以及关键步骤如安装ROS noetic版、设置VNC和解决网络问题。适合初次接触ROS的开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近入手了一块树莓派4B,做项目要用,需要安装ROS,遇到了一些坑,记录下安装过程以及跳坑方法,帮助更多的人避免一些麻烦

硬件准备

  • 树莓派4B一块
  • mini-HDMI 转 HDMI 线,一个有HDMI接口的显示屏
  • 鼠标键盘
  • SD卡及读卡器
  • 网线(可选)用于将树莓派通过网线连接到笔记本,没有也行,可以通过wifi连接

安装UbuntuMate镜像

参考链接
https://shumeipai.nxez.com/download#os
树莓派实验室的教程,里面的教程对新手很友好

对ROS支持最好的操作系统就是UbuntuMate,树莓派原生系统似乎需要下载源码编译安装。于是最后还是选择使用UbuntuMate,版本为UbuntuMate20.04。UbuntuMate版本和ROS版本是一一对应的,如果UbuntuMate是20.04的话,ROS就要安装noetic版本的;如果UbuntuMate是18.04的话,ROS就要安装melodic版本的,详细可以看roswiki上的介绍。

下载镜像

去官网下载UbuntuMate镜像
https://ubuntu-mate.org/raspberry-pi/download/
下载arm64版本
在这里插入图片描述
下载出来是压缩包,把压缩包里的镜像解压出来,后缀.img
在这里插入图片描述
把插入SD卡的读卡器查到电脑上,使用Win32DiskImager将镜像烧写进SD卡,烧之前记得格式化SD卡,软件和操作看这篇博客
https://shumeipai.nxez.com/download#os

镜像烧写成功后把SD卡插入树莓派

  • HDMI线接上显示屏
  • 接入键盘和鼠标
  • 接上电源
  • 树莓派网线接上自己的电脑

第一次开机会有点慢,过一会会出现以下画面
在这里插入图片描述
第一次启动需要输入时区,语言,连接WIFI输入WIFI密码,设置用户名和密码等,等待ubuntu完成一系列的配置后,出现下面的介面,说明安装成功
在这里插入图片描述

UbuntuMate设置软件源,SSH,网络和远程桌面

设置软件源

首先将之前的软件源文件复制备份一份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.origin

然后打开软件源文件

sudo pluma /etc/apt/sources.list

把里面的代码替换成以下文本,这里用的是中科大的源,注意20.04要用focal,不同版本相应要改,同时要用ubuntu-ports

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-proposed main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main multiverse restricted universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main multiverse restricted universe

保存后执行

sudo apt-get update
sudo apt upgrade

更新软件,软件源更换完毕

设置SSH

通过SSH服务可以通过自己的电脑用网络连接上树莓派的终端,这样在无键鼠和显示屏的情况下也能操作树莓派,所以非常重要
ubuntu不像树莓派原生系统,不自带SSH服务,于是要自己安装SSH服务

sudo apt-get install openssh-server

安装完毕后执行以下,启动SSH,并设置SSH服务开启自启动

sudo service ssh start
update-rc.d ssh enable

通过SSH连接树莓派要知道树莓派的IP地址
输入命令ifconfig,但是发现ubuntu mate不自带网络工具,于是安装net-tools

sudo apt install net-tools

在这里插入图片描述

然后执行

ifconfig

在这里插入图片描述
可以看到无线网卡的IP地址是:192.168.123.102
但是有线网并没有显示IP,这个问题待会解决,先通过无线网连接树莓派测试SSH
使用软件Xshell或者Putty等类似的软件,我这里用的是Xshell,输入树莓派的IP
然后输入用户名和密码后
在这里插入图片描述
成功通过SSH连接树莓派
在这里插入图片描述

解决有线网无IP地址的问题

https://blog.youkuaiyun.com/gg864461719/article/details/109427953
看了这篇博客说是因为没有配置好网卡,导致有线网没有IP,现象如下图,eth0也就是有线网卡不显示IP
在这里插入图片描述
执行以下命令,编辑网卡配置信息

sudo nano /etc/network/interfaces

在行末添加以下内容,为有线网设置静态IP

在这里插入图片描述
address设置成和电脑的有线网在同一个网段,同时查看自己电脑上有线网的属性,确保所在同一个网段

在这里插入图片描述
设置好后重启树莓派网络服务

sudo /etc/init.d/networking restart 

再输入ifconfig,成功出现有线网ip
在这里插入图片描述
通过xshell用有线网ip连接树莓派,成功连接
在这里插入图片描述

设置远程桌面

可以通过自己的电脑远程显示树莓派的图形化界面
https://shumeipai.nxez.com/2013/09/04/login-rpi-with-vnc.html
参考了上述博客
安装vncviewer

sudo apt-get install tightvncserver

安装好后输入指令设置密码

vncpasswd

设置vnc开机自启动

sudo nano /etc/init.d/tightvncserver

将下面的代码粘贴到文件里,记得把USER改成自己的名字,我这里叫alpha

#!/bin/sh
### BEGIN INIT INFO
# Provides:          tightvncserver
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
 
# More details see:
# http://www.penguintutor.com/linux/tightvnc
 
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='alpha'
### End customization required
 
eval cd ~$USER
 
case "$1" in
  start)
    # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
    su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
    echo "Starting TightVNC server for $USER "
    ;;
  stop)
    # 终止命令行。此处控制台号码与启动一致。
    su $USER -c '/usr/bin/tightvncserver -kill :1'
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

更改文件权限并设置开机自启动
打开~/.vnc/xstartup文件,把最后一行改成mate-session

sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

如果不想开机自启动,可以改为

sudo update-rc.d tightvncserver disable

第一次安装后要手动启动vnc服务,:1是端口号

tightvncserver -geometry 800x600 :1

在这里插入图片描述
然后在电脑端的VNC输入ip地址和端口号
在这里插入图片描述
然后就能看到下面的介面,可以在图形界面中打开命令行终端(套娃),图形介面是灰色什么都没显示,应该是哪里配置有问题,图形介面用的不多,不再深究。
在这里插入图片描述

在树莓派关掉vnc服务可用

tightvncserver -kill :1

安装ROS

https://wiki.ros.org/noetic/Installation/Ubuntu
这里参考的是roswiki的文档,除了第一步设置软件源的步骤不一样,其他都一样

第一步添加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'

第二步设置密钥

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 -

第三步安装ROS,这里安装基础版本的就可以

sudo apt update
sudo apt install ros-noetic-ros-base

在这里插入图片描述
第四步添加ROS的运行路径到终端

source /opt/ros/noetic/setup.bash

永久设置ROS的运行路径到终端,这样不用每次打开终端都要source

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

第五步 安装相关依赖项

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo apt install python3-rosdep
sudo rosdep init
rosdep update

第六步 运行ROS
输入roscore

roscore

出现以下介面说明安装成功
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值