ubuntu mate18.04+树莓派4B+ROS安装详细教程

2022-09-01 08:12:36 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

前记

最近项目需要,需要给树莓派4B 安装Ubuntu mate,本来是一件很简单的事情,因为Ubuntu mate官网已经开始支持树莓派4B了,但是实际操作后,才发现烧录官方的桌面系统,树莓派无法启动,而放在树莓派3B 上面就可以完美运行。但是项目还是得继续,所以花了点功夫折腾了一下,完成任务之后,记录一下过程。

网上的树莓派4B 安装Ubuntu mate的很多教程,但是实际上只是改了标题,内容还是3B 的安装过程,根本行不通,这也算是一篇技术文档,分享一下。

一、直接安装Ubuntu mate

时代在进步,软件在更新,为了不失一般性,所以先说一下正常的安装流程,说不定等你看到这篇文章的时候,直接就可以安装了,不用那么折腾。当然试了之后就算不行,也不复杂,不妨先做一下,如果成功可以节省很多时间。

1.1 下载镜像

去Ubuntu mate官网下载所需镜像

官网地址:Ubuntu mate官网

根据需要选择版本,然后选择需要的系统。

推荐使用迅雷。

1.2 格式化SD卡

等系统下好之后,安装系统之前不妨先把SD卡格式化一下。

这里使用的工具是SDFormatter

插上SD卡之后,软件会自动识别SD卡盘符,你只需要点击格式化按钮,等待格式化成功就行了,这个过程很快,一般几秒就能完成.

1.3 烧录系统

格式化SD卡之后,接下来就是激动人心的烧录阶段了。

这里使用的软件是Win32DiskImager软件。

同样,等你插上SD卡之后,他会自动识别Device,此时的你只需要点击红色方框,选择之前下载好的镜像文件,然后点击Write就行了.这里花费的时间会长一点,耐心等待即可.

1.4 插卡上电

系统全部烧录完成之后,接下来就是上电开机了.

把卡插上树莓派,连接屏幕,如果能够点亮屏幕,那烧录工作你就成功了.剩下的就是点击鼠标选择,完整安装Ubuntu mate,相信大家都会的.

如果没有显示器,你也可以看看系统指示灯,正常情况下,开机绿灯亮几下,会转入短时间闪烁,如果不亮,那就是没有启动成功,不过最好还是接一下显示器更加方便。

如果你能启动,那么恭喜你,你将省去人生中很长一段时间,如果不成功,那也没什么,工科生不怕折腾.

二、间接安装Ubuntu mate

间接安装的过程稍微麻烦一点,不过也不是很麻烦,看懂了,加上网速快,很快也能搞定。

2.1 安装Ubuntu Server

官网地址:Ubuntu mate下载

选择红色方框里面的点击下载就可以了。

至于烧录系统,跟前面的一样,这里不再赘述。

这里再提一点,很多文章或者教程都会说在这个时候,在SD卡根目录建什么文件夹,复制粘贴什么的,如果你看不懂,建议新手直接跳过,不影响。

2.2 登录换源

2.2.1 更改账号密码

首先,成功启动之后,是没有图像界面的,只有命令行模式。没有接触过命令行的朋友可能会有点懵,但是其实也很简单的。

首先是输入账户和密码,都是ubuntu

然后系统会让你改密码,但是不能再用Ubuntu或者123456这种,否则系统会让你重新设置。

一切搞定之后,你就可以使用Ubuntu了,不过仍然是命令行的,还有一些工作需要做。

2.2.2 换源

首先你要连接网线,保证有网,联网需要登录的不行,最好通过电脑网口共享网络,稍微有一点麻烦,也就是设置共享,感兴趣可以查一下相关教程,实在不行的话留言。如果在家里,找一个插上网线就能上网的路由器就行了。 先执行一下以下命令

代码语言:javascript复制
sudo apt-get update

当然,正常情况下,你会失败。因为默认的源是在英国,访问不了。

此时输入

代码语言:javascript复制
sudo vi /etc/apt/sources.list

三、安装桌面

换完源之后,我们的树莓派就可以顺利的访问互联网了。

命令行

代码语言:javascript复制
sudo apt-get install ubuntu-mate-desktop

一句命令就行了。

然后输入命令进行重启

代码语言:javascript复制
sudo reboot

重启完成之后,就安装完成了

注意事项

在每次开机之后,会有个5分钟的等待时间,这是因为安装时连接了网络,所以系统被自动设置成连接路由器自动通过DHCP来获取ip地址完成上网。但是由于网络断开,他会有个重连过程,等待时间为5分钟。

解决方法

进入系统后修改文件/etc/systemd/system/network-online.target.wants/networking.service

打开终端,输入命令

代码语言:javascript复制
sudo vi /etc/systemd/system/network-online.target.wants/networking.service

找到TimeoutStartSec=5min修改为TimeoutStartSec=2sec

这样就可以完美解决了。

四、安装ROS

4.1 添加源

添加ROS源

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

注意: 有些人可能在安装ROS的时候,因为源的问题出现安装失败,这里给出ROS的几个国内源地址,选择自己喜欢的源复制到终端执行,添加即可。 USTC:

代码语言:javascript复制
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

Tsinghua University

代码语言:javascript复制
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'

Beijing Foreign Studies University

代码语言:javascript复制
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.bfsu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

Shanghai Jiao Tong University

代码语言:javascript复制
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.sjtug.sjtu.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

4.2 添加密钥 (可能会过期,有问题可以留言)

代码语言:javascript复制
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

如果您在连接到密钥服务器时遇到问题,可以尝试用上一个命令替换hkp://pgp.mit.edu:80或hkp://keyserver.ubuntu.com:80。(一般不用)

另外,您可以使用curl而不是apt-key命令,如果您位于代理服务器后面,则可能会有所帮助:(一般不用)

代码语言:javascript复制
  curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

注意: 有时候可能会出现密钥失效的情况,可以留言或直接访问ROS官网解决。

4.3 安装

4.3.1 首先更新一下

代码语言:javascript复制
sudo apt update

4.3.2 安装的不同版本

ROS根据不同需求提供安装选择,你自己可以看安装哪一种。

  • 桌面完整版安装(推荐新手安装这个) : 包括ROS, rqt, rviz, 机器人通用库, 2D/3D simulators and 2D/3D perception
代码语言:javascript复制
sudo apt install ros-melodic-desktop-full

然后问你是否安装时,点击Y就行了,剩下的交给网络,如遇失败,重复执行就行了。剩下的同理。

  • 桌面安装: 包括ROS, rqt, rviz, 和机器人通用库
代码语言:javascript复制
sudo apt install ros-melodic-desktop
  • ROS-Base: (Bare Bones) 包括ROS 包, build和通信库。没有GUI工具。
代码语言:javascript复制
sudo apt install ros-melodic-ros-base

4.4 安装各种常用工具

代码语言:javascript复制
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

4.5 初始化rosdep

代码语言:javascript复制
sudo rosdep init
rosdep update

五、测试

5.1 运行小乌龟仿真

打开三个终端窗口,每个分别运行一下三条命令:

代码语言:javascript复制
roscore
代码语言:javascript复制
rosrun turtlesim turtlesim_node
代码语言:javascript复制
rosrun turtlesim  turtle_teleop_key

此时出现窗口,使能最后一个终端,移动方向键,小乌龟开始移动。自此完成所有安装工作。

如有问题请留言,相互交流,共同学习。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142070.html原文链接:https://javaforall.cn

0 人点赞