树莓派4B+Ubuntu18.04.5+ROS配置安装教程
欢迎
一、安装Ubuntu系统
-
下载Ubuntu系统文件
Ubuntu官网匹配的只有21、20版本,所以我从网上找到匹配树莓派的Ubuntu18.04.5服务器版本,点击链接直接下载。
Ubuntu Server 18.04.5 for Raspberry Pi 4 64-bit :http://cdimage.ubuntu.com/releases/bionic/release/ubuntu-18.04.5-preinstalled-server-arm64+raspi3.img.xz -
系统烧录
烧录用的是树莓派官方的工具,点击链接直接下载。
Install Raspberry Pi OS using Raspberry Pi Imager:
https://downloads.raspberrypi.org/imager/imager_latest.exe
(1) 格式化SD卡
(2) 镜像烧录
至此,我们已将镜像烧录到SD卡内,接下来将SD卡插入到树莓派,连接显示器并开机。
(3) 安装desktop
进入系统后,需要进行登录,默认用户名密码都是ubuntu,登录成功之后需要修改密码,按提示操作即可。
使用ifconfig命令查看是否联网,一开始我连接的是需要认证登录的校园网,导致后来换源刷新软件包列表一直不成功,各种换源都不行,后来才想起来是校园网需要认证登录才能上网,直到我找来了一个已经登录校园网的一个路由器才得以解决。
这里换不换源看个人选择,默认的官网从国内连接较慢,也可以更换为国内的镜像网站,本人用的是默认源。下面是换源过程,可选择跳过。首先备份原sources.list,然后用自己喜欢的编辑器进行编辑,我这里使用nano编辑
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list
将sources.list中的内容替换成各个开源镜像网站的文件参考配置内容
阿里云开源镜像网站
华为云开源镜像网站
网易开源镜像网站
清华开源镜像网站
中科大开源镜像网站更改完sources.list文件后请运行sudo apt-get update更新索引以生效
sudo apt-get update
最后,安装Ubuntu桌面图形环境
sudo apt-get install ubuntu-desktop
至此我们的桌面已经安装完成,重启系统进入桌面系统
sudo reboot
二、安装ROS
-
配置Ubuntu存储库
在系统设置中,找到软件与更新,将如下几个都勾选,允许其从互联网下载。
-
添加ROS软件源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
如果已经换了源,则需要添加对应的ROS软件源,具体如下:
http://wiki.ros.org/ROS/Installation/UbuntuMirrors -
添加密匙
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
-
安装ROS
sudo apt-get update sudo apt-get install ros-melodic-desktop-full
附上Ubuntu系统对应ros系统不同版本关系
Ubuntu版本 ROS版本 Ubuntu 20.04 noetic Ubuntu 18.04 melodic Ubuntu 16.04 kinetic Ubuntu 14.04 indigo 安装过程中如果出现如下的错误,删除就可以
# 错误 E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? #执行如下命令解决 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock
-
初始化rosdep
sudo rosdep init rosdep update #输入这一句时不能添加sudo,否则会导致系统混乱
输入sudo rosdep init时,出现报错:ERROR: cannot download default sources list from:
参考了大佬的博客问题得以解决:
https://blog.csdn.net/nanianwochengshui/article/details/105702188 -
设置环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc
-
安装rosinstall
sudo apt-get install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
在rviz里显示机器人模型,弹出可控制关节的小窗,需要再安装下面这个包
sudo apt install ros-melodic-joint-state-publisher-gui
-
测试ROS安装是否成功
(1)打开Termial,输入以下命令,初始化ROS环境:roscore
(2)打开新的Termial,输入以下命令,弹出一个小乌龟窗口如下图:
rosrun turtlesim turtlesim_node
(3)打开新的Termial,输入以下命令,可以在Termial中通过方向键控制小乌龟的移动:rosrun turtlesim turtle_teleop_key
(4)打开新的Termial,输入以下命令,弹出新的窗口查看ROS节点信息:rosrun rqt_graph rqt_graph
至此,ROS安装完成。
三、附
-
Windows远程桌面连接(mstsc)
先在树莓派上安装xrdpsudo apt-get install xdrp
然后输入ifconfig查看树莓派联网情况
ifconfig
然后在电脑上使用win+r启动运行,输入mstsc,输入树莓派IP地址
在弹出的登陆界面中输入树莓派用户名及密码,一般默认都为ubuntu