树莓派4B安装Ubuntu18.04+ROS Melodic终极教程

  • 硬件:树莓派4B(4G内存版),电源(usb type-C, 5V 3A),micro SD卡(至少16G),鼠标,键盘(usb接口),显示器(HDMI接口),网线
  • 软件:树莓派操作系统。官方的Raspbian需要从源码编译安装ROS,耗时长而且容易出错。本文选择了ROS最常用的ubuntu18系统,直接从编译好的程序包安装ROS Melodic。

0. 组装树莓派

可以参考这里 https://www.yahboom.com/study/raspberry4B
注意树莓派4性能告了发热量增大,cpu、内存、usb芯片需要贴散热片,还需外接风扇降温。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、安装ubuntu系统

  1. 下载ubuntu系统文件
    ubuntu官网为树莓派提供的系统已经升级到ubuntu20 ,所以本文从清华的开源镜像网站下载ubuntu18的系统文件。目前只有server版,需要后面手动安装桌面。树莓派4选择arm64位。
    https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/releases/bionic/release/ubuntu-18.04.5-preinstalled-server-arm64%2Braspi4.img.xz

  2. 将系统文件烧入SD卡
    windows平台:使用7zip之类的软件将ubuntu系统文件解压为img镜像文件,然后使用win32 disk imager烧入SD卡。如果SD卡之前已有linux系统,烧入可能会失败,因为linux分区windows无法识别。这时需要专用工具格式化SD卡,SD Memory Card Formatter
    在这里插入图片描述

  3. 启动树莓派
    将SD卡插入树莓派,并为树莓派连接好电源,显示器,鼠标,键盘,网线。启动树莓派,默认用户名密码都是ubuntu,之后需要马上修改密码,按提示操作即可。

  4. 连接网络
    进入系统后,用ifconfig命令查看是否联网,eth0是有线网卡,inet后面如显示ip。本文中连接的是已登陆校园网的一个路由器。如果没有联网,使用sudo reboot命令重新启动系统即可。
    在这里插入图片描述
    使用ping命令验证是否可以出校
    在这里插入图片描述

  5. 修改软件源
    ubuntu使用apt进行软件管理,默认的官网从国内连较慢,建议更换为国内的镜像网站,本文选用中科大开源镜像网站。

首先备份原sources.list,然后使用nano编辑

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

将里面ubuntu官方网址http://ports.ubuntu.com/ubuntu-ports 改为 https://mirrors.ustc.edu.cn/ubuntu-ports (参考 https://mirrors.ustc.edu.cn/help/ubuntu-ports.html )。
关于nano如何批量查找替换,参考这个帖子

刷新软件包列表

sudo apt-get update
  1. 安装桌面
    后期使用ROS的rviz, gazebo等仿真工具,需要桌面图形环境。本文选择ubuntu系统默认的desktop。
sudo apt-get install ubuntu-desktop

这里需要安装1000多个软件包,约2.5G,视网速情况20分钟左右。安装完毕后重启系统就会进入桌面。

二、安装ROS

基本步骤参考ROS官方教程 这里主要的改动是将软件源设为中科大镜像。

  1. 设置软件源
    http://wiki.ros.org/ROS/Installation/UbuntuMirrors#USTC
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'
  1. 设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 安装ROS
    这里选择功能最全的desktop-full,包含ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators and 2D/3D perception。它有约1000个软件包,需要约2.5G空间,安装时间20分钟左右。
sudo apt update
sudo apt install ros-melodic-desktop-full
  1. 环境设置
    将ROS环境变量在每次启动新shell时自动添加到bash会话中,后面使用会很方便
echo "source /opt/ros/melodic/setup.bash">> ~/.bashrc
source ~/.bashrc
  1. 安装其他工具
    这里可以安装一些实用工具,比如rosinstall和rosdep,后期手动安装ros软件包时会用到。
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

rosdep需要初始化一下

sudo rosdep init
rosdep update

在rviz里显示机器人模型,弹出可控制关节的小窗,需要再安装下面这个包。

sudo apt install ros-melodic-joint-state-publisher-gui

三、测试

用经典的小乌龟例子,测试ROS是否安装成功。
1)启动ROS系统

roscore

2)新开一个terminal,运行turtlesim例子

rosrun turtlesim turtlesim_node
  1. 再开一个terminal,使用键盘上下左右键控制。如果小乌龟可以移动,说明ROS安装成功。
rosrun turtlesim turtle_teleop_key

在这里插入图片描述

四、附录

  1. SSH远程登录

这个系统的ssh直接登陆不了,查资料后发现是ssh key的问题,需要重新生成,参考 https://blog.csdn.net/linjiasen/article/details/85261623
windows下的ssh客户端,可用win10自带的power shell,或putty,本地远程互传文件用winscp。

  1. VNC远程桌面

开启ubuntu的远程桌面,就可以使用别的电脑调试树莓派,省去外接显示器的麻烦。
ubuntu18自带远程桌面功能,只需在Settings->Sharing里打开即可,具体可参考这篇文章

本例中碰到的问题是桌面共享无法启用,因为没有可供选择的网络。这是因为本例中是由server手动安装desktop的,有线网络可以联网,但是桌面系统设置里无法看到。Ubuntu server的网络管理使用networkd,而desktop使用NetworkManager。这个需要在netplan里手动将有线网卡的renderer改为NetworkManager。

sudo nano /etc/netplan/50-cloud-init.yaml

在network:下添加renderer: NetworkManager
在这里插入图片描述

保存退出,应用设置

sudo netplan apply

重启系统即可在Settings里看到有线网络,之后正常设置桌面共享即可。
在这里插入图片描述
ubuntu系统设置是登录后才能远程连接,所以还需要打开自动登录,可以参考这里

客机使用任意一个VNC客户端,比如RealVNC,就能登陆树莓派了。

五、参考资料

[1] https://zhuanlan.zhihu.com/p/261009892
[2] https://blog.csdn.net/Kevin555666888/article/details/107207719
[3] https://www.instructables.com/Getting-Started-With-ROS-Melodic-on-Raspberry-Pi-4/

  • 6
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值