在Raspberry Pi 4上安装Ubuntu 20.04 + ROS noetic(不带显示器)

在Raspberry Pi 4上安装Ubuntu 20.04 + ROS noetic(不带显示器)

1. 所需设备

所需设备:

  • 树莓派 4 B 型

  • wifi

  • microSD 卡:最小 32GB

  • MicroSD 转 SD 适配器

  • (可选)显示器,鼠标等

2. 树莓派镜像烧录器

如果没有显示器,那么需要使用树莓派镜像烧录器,官网下载即可。

在这里插入图片描述

首先选择操作系统,接下来找到 Ubuntu Server 20.04.5版本。

在这里插入图片描述
接下来配置一下系统的初始化选项:

  • “开启SSH服务”以启用 SSH
  • “设置用户名”
  • “配置wifi”(重要):这将启用 Wi-Fi 并自动连接到提供的网络+密码。当然,这个 Wi-Fi 网络应该与当前电脑连接的网络相同,否则本教程的其余部分将不起作用。

在这里插入图片描述

接下来烧录等待即可。

3. 寻找Raspberry Pi 4 的ip地址

从计算机中弹出并取出 SD 卡。确保 Raspberry Pi 已关闭电源(拔掉电源线),将 micro SD 卡放入相应的插槽中,然后再打开 Raspberry Pi 4 的电源。应该看到 Pi 上的绿色 LED 随机闪烁。这意味着 Pi 正在启动并使用 SD 卡工作。如果绿色 LED 没有随机闪烁,可能是因为烧录操作不成功,需要重新烧录。

Pi 4 将尝试使用提供的名称和密码连接到目前的 Wi-Fi 网络。

下一步是查找Raspberry Pi在网络内的 IP 地址是什么。

Notice:如果以下步骤一开始没有看到 Pi 地址,则等待至少 2 分钟后再次关闭/打开树莓派的电源。

3.1 Windows

Windows可以使用Advanced IP Scanner

所要做的就是单击“扫描”并等待。
在这里插入图片描述
可以看到我的Raspberry Pi的地址是192.168.178.40.

3.2 Linux/Ubuntu

通常使用nmap来实现这一点(需要先安装nmap:sudo apt install nmap)。

首先找到网络IP地址和子网掩码。运行ifconfig命令:

$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.43.138  netmask 255.255.255.0  broadcast 192.168.43.255
        inet6 fe80::4024:2554:eea4:f97b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:28:65:38  txqueuelen 1000  (Ethernet)
        RX packets 36560  bytes 42335654 (42.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8763  bytes 671459 (671.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 947  bytes 82515 (82.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 947  bytes 82515 (82.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在这个例子中,我的Ubuntu主机的IP地址是192.168.43.138,子网掩码是255.255.255.0(24位)。

现在,使用nmap和刚刚获取的数据:

$ sudo nmap -sP 192.168.43.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2023-04-26 13:50 CEST
Nmap scan report for _gateway (192.168.43.1)
Host is up (0.015s latency).
MAC Address: 8E:F5:A3:DB:03:27 (Unknown)
Nmap scan report for ubuntu (192.168.43.56)
Host is up (0.049s latency).
MAC Address: DC:A6:32:02:46:50 (Raspberry Pi Trading)
Nmap scan report for LAPTOP-27UBLNO7 (192.168.43.234)
Host is up (0.00057s latency).
MAC Address: 7C:B2:7D:9E:95:DA (Intel Corporate)
Nmap scan report for ed-vm (192.168.43.138)
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.07 seconds

然后我们找到了树莓派的IP地址:192.168.43.56。

3.3 有屏幕

直接输入

$ ip addr 

输出类似于:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e4:5f:01:49:a8:b6 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e4:5f:01:49:a8:b7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.40/24 brd 192.168.178.255 scope global dynamic wlan0
       valid_lft 863983sec preferred_lft 863983sec

4. 连接到树莓派

在Windows上打开终端,只需在Windows搜索栏中键入“cmd”,然后启动“命令提示符”。 我在这里使用了vscode,因为非常适合未来的开发,在这里非常推荐。

键入以下命令:

$ ssh pi@192.168.178.40

将“pi”替换为树莓派镜像烧录器的高级设置中输入的任何其他用户名。同时,使用上一步中刚刚找到的IP地址,而不是192.168.178.40。

然后将看到类似于以下内容:

The authenticity of host '192.168.178.40 (192.168.178.40)' can't be established.
ED25519 key fingerprint is SHA256:WI67l/jru1i2vEnrHWLbzoV+1s71Dt0AJtg6JBP8faI.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.178.40' (ED25519) to the list of known hosts.
pi@192.168.178.40's password:

需要在第一个问题中输入“yes”,然后使用烧录器的高级设置中设置的密码。

然后将看到类似于以下内容:

Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.4.0-1090-raspi aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun Aug  6 10:11:16 UTC 2023

  System load:  0.47               Temperature:            55.0 C 
  Usage of /:   31.3% of 28.94GB   Processes:              168    
  Memory usage: 4%                 Users logged in:        0      
  Swap usage:   0%                 IPv4 address for wlan0: 192.168.178.40    

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is not enabled.

183 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

29 additional security updates can be applied with ESM Apps.
Learn more about enabling ESM Apps service at https://ubuntu.com/esm

New release '22.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.


Last login: Thu Jul 20 12:13:32 2023 from 192.168.163.155
pi@ubuntu:~$ 

5. 安装ROS noetic

设置sources.list

将计算机设置为接受packages.ros.org的软件。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

这行命令将ROS软件包源添加到sources.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 -

这两行命令用于安装curl(如果还没有安装curl)并导入ROS软件包的公共密钥。

sudo apt update

这行命令用于更新可用的软件包列表。

安装桌面版

ROS-Base中的所有内容以及rqt和rviz等工具。

sudo apt install ros-noetic-desktop

这行命令用于安装ROS桌面版,它包括ROS-Base中的所有内容以及一些工具(如rqt和rviz)。

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

这两行命令用于将ROS环境变量添加到bashrc文件中,并在当前会话中立即加载这些变量。

安装python3-rosdep,python3-rosinstall,python3-rosinstall-generator,python3-wstool和build-essential等软件包。

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

这行命令用于安装一些常用的ROS依赖工具和编译所需的基本软件包。

初始化rosdep

在使用许多ROS工具之前,需要初始化rosdep。rosdep可以为要编译的源代码轻松安装系统依赖项,并且某些ROS核心组件需要它来运行。如果还没有安装rosdep,请按照以下方式安装。

sudo apt install python3-rosdep

这行命令用于安装rosdep。

执行以下命令来初始化rosdep。

sudo rosdep init
rosdep update

这两行命令用于初始化rosdep,并获取最新的rosdep规则。

测试

接下来可以运行roscore来检查ros的安装。

roscore
树莓派4B可以安装Ubuntu 20.04桌面版。首先,你需要下载适用于树莓派4B的Ubuntu 20.04桌面版的映像文件。你可以在官方网站上找到适用于树莓派4B的Ubuntu Mate 20.04桌面版的种子文件。安装Ubuntu 20.04桌面版有几种方法,其中一种是安装Server版本并手动安装图形界面。然而,这种方法可能导致GPU驱动无法正常安装,从而导致界面卡顿和图形显示异常。另一种方法是参考国外大神的教程[Raspberry Pi 4 / 400 Ubuntu USB Mass Storage Boot Guide],在他的博客里也可以找到Ubuntu 18.04桌面版镜像的安装方法。下文将详细介绍这种方法以安装官方支持的Ubuntu Mate。请注意,此方法适用于Ubuntu 20.04桌面版的安装。 在开始安装之前,请确保你已经准备好以下工作: 1. 下载适用于树莓派4B的Ubuntu 20.04桌面版的映像文件。 2. 一个至少16GB的SD卡。 3. 一个SD卡读卡器。 4. 一台具有Ubuntu操作系统的电脑。 接下来,按照以下步骤进行安装: 1. 使用SD卡读卡器将SD卡连接到你的电脑。 2. 在你的电脑上打开终端(Terminal)。 3. 使用以下命令列出当前连接的设备,找到你的SD卡的设备名称: ``` lsblk ``` 4. 使用以下命令卸载SD卡的分区(假设设备名称为/dev/sdb): ``` sudo umount /dev/sdb* ``` 5. 使用以下命令将Ubuntu 20.04桌面版的映像文件写入SD卡(请将`path/to/image`替换为你下载的映像文件的路径,`/dev/sdb`替换为你的SD卡的设备名称): ``` sudo dd bs=4M if=path/to/image of=/dev/sdb status=progress conv=fsync ``` 6. 写入完成后,使用以下命令弹出SD卡: ``` sudo eject /dev/sdb ``` 7. 将SD卡插入树莓派4B中,并启动它。 这样,你就成功安装树莓派4B的Ubuntu 20.04桌面版。现在,你可以按照自己的需求进行进一步的配置和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [树莓派4b安装Ubuntu20.04桌面版并安装ROS1-NoeticROS2-Foxy](https://blog.csdn.net/oXiaoLingTong/article/details/123161254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [树莓派4B的ubuntu-mate-20.04.1种子](https://download.csdn.net/download/sf877/85175845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stan Fu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值