- 树莓派整好以后,准备安装ROS,却发现自己要复现的《Robot Designed for Socially Acceptable Navigation》采用了 Ubuntu16.04 和 ROS Kinetic。生命不息,折腾不止,开搞。
- 友情提示,文章前半部分失败,后半部分才是重头。
失败经验 Ubuntu 20.04 部分
很明显,原论文采用了 ROS 1,私以为可能和 ROS 2 产生通信冲突,于是我选择了 Ubuntu 20.04 LTS和 ROS Noetic Ninjemys (所谓的终极版 ROS 1 ??)作为我的生产环境(其实是因为懒得重装系统)。
首先,由于要更换系统,所以昨天所有关于 RaspberryPi 系统的设置算是废了。先到 https://ubuntu.com/download/raspberry-pi 下载最新的 Ubuntu 系统,使用 Etcher 烧录到 TF 卡中。
注意,先要格式化一下删除原系统,否则会耗费很长的时间或者卡死。烧录好之后,打开路由器设置,查看相应的设备,找到“Ubuntu”,记下它的 IP 地址。
使用 SSH 连接,在终端中输入
sudo ubuntu@查到的 ip 地址
,输入初始密码ubuntu
后会提示你修改密码。然后等待树莓派的绿色灯不再闪烁,红色等常亮,说明开机完毕,输入
sudo reboot
重启设备,否则不能使用 apt install 安装软件重启后,输入
sudo vi /etc/apt/sources.list
,打开 vi 编辑器换源。1.备份
备份 /etc/apt/sources.list 文件
输入
mv /etc/apt/sources.list /etc/apt/sourses.list.backup
2.新建
新建/etc/apt/sources.list文件并添加以下内容,在root管理员下:
1 | //切换到管理员 |
- 3.在 vi 中添加内容
1 | #清华源 |
- 安装桌面系统:
1 | # 任意一个 |
- 安装以后,reboot。
- 好了现在把树莓派的 Ubuntu 安装好了,现在转移到 PC 的 Ubuntu 上(我家网慢)。
- 打开官网,安装 ROS wiki 的指示安装好 ROS 本体。
- 然后在终端中输入
sudo apt-get install python3-rosdep
安装依赖项 - 然后输入
apt --fix-broken install
修复 - 输入
sudo gedit /etc/hosts
- 在文件末尾添加
151.101.84.133 raw.githubusercontent.com
,保存退出 - 然后输入
rosdep init
- 输入
rosdep update
- 点击网址:https://github.com/TonyRobotics/RoboWare/tree/master/Studio,下在 1.2.0 版本的 Roboware 集成开发环境。
- 输入 ``sudo dpkg -i`然后把你下载好的安装包拖入到终端安装即可。
- 安装好后发现打不开,可能是不支持20.04…只好先用 Clion了。
- 现在回到树莓派这边,安装好桌面系统后,使用Xrdp远程登录,效果如图(参考:https://blog.csdn.net/snowdream86/article/details/106311024)
- 经实验,使用 XUbuntu 作为桌面太过于卡顿。问淘宝店家说就是这样,没有支持的 Ubuntu MATE 版本对应 Pi4。偶然在评论中发现有买家安装了18.04,继续在网上寻找,发现这样两篇文章:
- https://blog.csdn.net/nick_young_qu/article/details/104740602
- https://blog.csdn.net/dndxjj/article/details/102903284#1.Raspberry%20Pi%204%20Ubuntu%20Server%20%2F%20Desktop%2018.04.3%20Image%20(unofficial)
成功经验 Ubuntu 18.04 MATE 部分(包括远程设置 Xrdp)
下载镜像:
- 德国的网站网速30kb/s,只好花9.9大洋购买了某吸血雷的会员,速度达到1m/s,下载完烧录到 TF 卡上。
- 我自己上传了一个网盘地址:
- 复制这段内容后打开百度网盘手机App,操作更方便哦
链接:https://pan.baidu.com/s/1CiHzJs8qT5TDLdsaeK_xvw 提取码:qB36
网络配置
- 首先进行网络设置,在根目录添加 ssh 文件,没有后缀名。
- 打开 cmdline.txt 在文末添加你想要的 ip 地址作为树莓派的静态 IP。
- 连接网线,等到绿灯闪烁,黄灯常亮。
- 利用 ssh 远程连接,用户名密码都为 Ubuntu。
修改系统语言为英文(目前此镜像无自带中文包)
- 将系统语言改为英文,德文报错信息看不懂毕竟。
1 | cd /usr/share/locales |
编辑配置文件,输入
sudo nano /etc/default/locale
,将de_US.UTF-8 改为 en_US.UTF-8重启树莓派,输入 locale 应该显示为英文了。
配置远程连接的网络
- 然后配置网络,输入
sudo vim /etc/netplan/50-cloud-init.yaml
,按照下面的配置修改,其中 enp0s5 是你的名称,可以通过 ifconfig 查找(一般是第一个);addressess 是您树莓派的 ip 地址,gateway4 是你网关的名字,一般可以设置为你树莓派 ip 的前三位,最后一位填写 1 即可。
1 | network: |
- 修改后保存退出,输入
sudo netplan apply
使配置生效。 - 重启,输入
ping www.baidu.com
,发现可以 ping 通联网成功。 - 输入
sudo apt install xrdp
,安装 xrdp 远程控制软件,报错:
1 | E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable) |
- 删除锁定文件即可:
1 | sudo rm /var/lib/dpkg/lock-frontend |
- 安装成功后输入
sudo systemctl status xrdp
开启 Xrdp。 - 输入
sudo adduser xrdp ssl-cert
添加用户组。 - 输入
sudo systemctl restart xrdp
,重启服务。
- 系统安装成功!
更换国内源(失败,换回 Ubuntu 本源)
- 首先备份原 sources.list 文件,可以复制粘贴也可以输入以下命令:
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list.bkp |
- 然后输入替换命令,将 Ubuntu 源换为清华源,注意是 ports 源:
1 | sudo sed -i 's#://ports.ubuntu.com#s://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/#g' /etc/apt/sources.list |
结果还是不可以,更新失败。
200531更新:
只好换回原始源,简直是龟速需要12.8kb/s,剩余时间4个小时左右,趁这个时间肝肝论文是极好的。
下载到 57 %, 152 firefox 的时候卡住不动了,输入 ctr+c 退出再输入
sudo apt-get upgrade
继续更新如果是达到 100 % 那可能是你的根目录过小,存满了。输入
sudo apt-get clean
删除或者是定向删除一些使用apt-get
下载的软件即可。安装到最后出现错误:
Errors were encountered while processing:
flash-kernel
E: Sub-process /usr/bin/dpkg returned an error code (1)输入以下字符:
1 | cd /var/lib/dpkg |
- 更新完毕
- ROS noetic 不支持 18,只好安装 melodic 了。
- 打开网址 http://wiki.ros.org/melodic/Installation/Ubuntu ,按照指导安装。
- 不行是在太慢了,Ubuntu 源需要 88 天才能安装完,这是不让我毕业的节奏?
更换为中科大源(成功!但是无线有问题)
- 翻看错误信息,清华源的报错一直是找不到对应的文件,我上清华的镜像站翻看目录结构应该是没问题,是对应的,不知道为何我下载不了。
- 抱着死马医活马医的想法,我再次换成了中科大的源头,一次成功!(注意网上多是 xenial 的目录,这是对应 Ubuntu mate 16 的,由于我安装的是 18.04 版本,所以要换成 bionic(一开始我中科大源失败的原因在此)。
- 具体代码如下,操作如上文所述,用 vim 编辑器修改就好:
1 | deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe |
- 按照官网的步骤走,一遍通过!
- 然后收到了买的 micro-HDMI 转接线和官方电源,终于可以解放我可怜的 ANKER 了。
安装中文输入法,改变键盘格局
注:设置 fcitx 的时候如果 “仅显示默认输入法”的复选框存在,要取消点选,这样才能找到中文。
键盘的 layout 改成 chinese。
在 Lauguage Support 中下载中文,在 Format Region 中修改为 china。
后续 1
- 刚才看到一个视频,发现安装完官方的 Ubuntu 20.04 镜像以后,直接输入
sudo apt install ubuntu-desktop
就好了,根本不需要这么麻烦安装 Ubuntu Mate。我原来是怕卡,现在看那个视频是多虑了,很烦,等于白弄了一天半。 - https://www.bilibili.com/video/BV1AC4y1x7hz/?spm_id_from=333.788.videocard.16
- 但是我继续看了这位up的其他视频,发现他做了 2 个桌面的对比,看视频还是太卡了,不如 MATE 流畅,这么一看,还是不亏?
- 视频地址:https://www.bilibili.com/video/BV1yt4y117pM
后续2 (安装Ubuntu 18.04)全部成功!
- 20200601 更新
- 连续好几天凌晨1,2点睡了。安装完的 MATE 的 WIFI 问题迟迟不能解决。
- 于是我安装了 20.04,卡顿程度不是不能用,但是 ROS 没法用。
- 继续试一试 Ubuntu 18.04
- 烧录好更新源地址:(这个源写错了)
1 | deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse |
- 更新一下
1 | sudo apt-get update |
- 安装桌面环境
1 | sudo apt install ubuntu-desktop |
- 安装中文环境
1 | sudo apt install language-pack-zh-hans language-pack-zh-hans-base language-pack-gnome-zh-hans language-pack-gnome-zh-hans-base |
- 允许 root 登陆
1 | sudo passwd root #设置root密码 |
- 失败了,可能是源换错了。
- 重新安装了 MATE,这次设置 WiFi 直接使用修改网络配置 -> 所有用户都可以使用这个网络就好了,没必要固定 ip 啥的了,容易出错。
- 参考资料:https://blog.csdn.net/qq_43197382/article/details/103527036
- 终于大功告成!!
联系我
- 我的邮箱:2448628553@qq.com