1、添加ROS软件源
复制以下命令到ubuntu终端
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
也可以试试这条命令(据说可以提高下载速度)
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加密钥
将以下命令复制到ubuntu的终端执行
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
添加成功会显示如下界面
3、更新软件源
将以下命令复制到ubuntu的终端执行
sudo apt update
更新成功的显示界面如下
4、安装ROS
ubuntu版本不同则安装指令也相应不同。我的是ubuntu20.04版本,应执行以下代码。若是命令错误则会显示:E:无法定位该软件包。所以安装时需要注意自己ubuntu的版本号。
sudo apt install ros-noetic-desktop-full
输入命令点击回车后的界面如下:
继续回车,等待安装,安装成功的界面如下(备注:如果在安装过程中你有事需要关闭电脑,可以输入ctrl+c暂停安装,然后正常关闭就可以了,下一次有时间继续安装的时候,按ctrl+alt+t打开终端后,按↑就可以调出之前输入过的安装命令sudo apt install ros-noetic-desktop-full,然后回车输入密码后,就可以继续安装了)
5、初始化rosdep
输入以下命令,进行初始化
sudo rosdep init
初始化成功界面
成功之后直接看第6步继续安装。
若是报错可参考以下几种报错问题及解决办法:
(1)错误1:找不到命令
尝试着输入以下命令
sudo apt install python-rosdep2
或者:
sudo apt install python3-rosdep2
这时候它会出现以下的界面,输入Y继续
执行完成的界面
到这里如果再输入sudo rosdep init命令试试,如果出现了之前介绍的,我们想要的界面,请跳到第6步,若出现了新的错误,请继续看本步(第5步)的内容
(2)错误2:ERROR: cannot download default sources list from:https : //raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
输入以下命令:
sudo gedit /etc/hosts
然后在打开的hosts文件中添加如下的内容,然后保存退出
199.232.28.133 raw.githubusercontent.com
到这里如果再输入sudo rosdep init命令试试,如果出现了之前介绍的,我们想要的界面,请跳到第6步,若出现了新的错误,请继续看本步(第5步)的内容。
(3)错误3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
输入以下命令:
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
到这里如果再输入sudo rosdep init命令试试,应该就会出现了之前介绍的我们想要的界面了。
6、更新rosdep
输入以下命令
rosdep update
这一步很容易出现没有找到资源或者链接超时之类的错误,比如:unable to process source或error loading sources list: The read operation timed out。
若是出现该类错误,可以多尝试几遍,说不定突然就成功了,就很玄学吧。我在这条命令卡了三天之后没有耐心了,就按以下方式处理之后,多输入几遍就成功了!!!
修改gbpdistro_support.py、sources_list.py、rep3.py文件中的DOWNLOAD_TIMEOUT = 15.0值,改大一点,我改过45、60、90、120……..。可通过以下命令打开这三个文件(注意自己的python版本号,命令中输入对应的才能打开文档,不然就是空白文档):
sudo gedit /usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python3/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py
最后改为120时重复输入 rosdep update 显示如下界面,即下载成功!
7、设置环境变量
注意到底是melodic还是noetic或者是kinetic,它是由你的ubuntu的版本决定的,比如我的ubuntu是20.04版本的,对应的是noetic,也就是应该下面的这行代码
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
输入以下命令,运行该脚本让环境变量生效
source ~/.bashrc
8、 安装rosinstall
输入以下命令:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
如果提示没有可安装候选,如下所示:
按照提示更换软件包就行了,按照提示更改为以下命令:
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool
9、 验证ROS是否安装成功
按正常来说ROS到这里就安装完成了,现在我们来验证一下,输入以下命令:
roscore
如果出现了以下的问题说明,之前的安装没有安装完全:
输入以下命令,把没安装的安装一下就好了(如果显示有几个安装包无法下载,是因为网络的原因重新输入以下命令就行了)
sudo apt install ros-noetic-desktop-full
到这里再输入roscore看一下,若安装成功会显示如下界面:
然后我们启动一下小海龟的仿真器试一试,按ctrl+alt+t打开一个新的终端,输入以下命令
rosrun turtlesim turtlesim_node
按ctrl+alt+t再打开一个新的终端,输入以下命令(鼠标停留在该终端上乌龟才会移动)
rosrun turtlesim turtle_teleop_key
这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!(如下图所示)
那么恭喜你的ROS已经成功安装完了!!!
参考网址: 详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!! - 古月居