前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!

详细介绍如何在ubuntu20.04中安装ROS系统,以及安装过程中出现的常见错误的解决方法,填坑!!!

作者头像
全栈程序员站长
发布2022-09-13 15:47:40
5.2K1
发布2022-09-13 15:47:40
举报
文章被收录于专栏:全栈程序员必看

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

  本篇文章写于2020.10,经过很多小伙伴的验证,文章所介绍的步骤是可以正常完成安装的,现在是2021.10,经过近期的探索,我将安装步骤进行了进一步的优化,使安装变得更加快速,更加简单,我已经验证了其可行性,期待更多的小伙伴们一起来验证,最新版安装教程链接如下:【请点击此处跳转】

  当然如果你在最新版文章中,遇到了没有提及的错误,可以返回本文章寻找解决方法。


   1、添加ROS软件源

     将以下命令复制到ubuntu的终端执行
代码语言:javascript
复制
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
     或者用下面这条命令(据说这条命令可以提高下载速度)
代码语言:javascript
复制
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的终端执行
代码语言:javascript
复制
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
     成功后会显示如下界面:

   3、更新软件源

     将以下命令复制到ubuntu的终端执行(在这里顺便说一下,如果用wifi更新慢或者失败的话,切换至手机热点,再执行下面的命令试一下)
代码语言:javascript
复制
sudo apt update
     成功后会显示如下界面:

   4、做完上面的三步就可以开始安装ROS了

     将以下命令复制到ubuntu的终端执行(安装ROS的指令)
代码语言:javascript
复制
sudo apt install ros-melodic-desktop-full
     因ubuntu版本的不同其安装指令也有可能不同,我的是ubuntu20.04 执行上面的代码时显示:无法定位软件包 ros-melodic-desktop-full ,然后改为执行下面的命令来安装:
代码语言:javascript
复制
sudo apt install ros-noetic-desktop-full
     会显示如下界面:

     输入Y继续(保证有网络),就这568MB我下了整整一天。。。。。前80%挺快的用了1分钟左右吧,从81%到100%那速度是真慢啊,当然你可以尝试换一下软件源试一试,换源方法见文章Ubuntu如何通过简单的几步操作来配置系统的软件源、找不到软件和更新怎么办?(带动态图文介绍)
     如果在安装过程中你有事需要关闭电脑,可以输入ctrl+c暂停安装,然后正常关闭就可以了,下一次有时间继续安装的时候,按ctrl+alt+t打开终端后,按↑就可以调出之前输入过的安装命令sudo apt install ros-noetic-desktop-full,然后回车输入密码后,就可以继续安装了,我就是分3次下完的。。。
     安装完后的界面如下(我又重新输入了一遍安装命令,确认已经是最新版了):

   5、初始化rosdep

     输入以下的命令,先对其初始化一下
代码语言:javascript
复制
           sudo rosdep init
     如果出现以下界面,那么恭喜你,你可以省下一些麻烦了,直接跳到第6步就行了:
     如果出现了以下几种错误,也不要担心,下面几种错误我都经历过 ,当然也就为大家整理好了解决方法
   (1)错误1:找不到命令
     尝试着输入以下命令
代码语言:javascript
复制
         sudo apt install python-rosdep2
     或者:
代码语言:javascript
复制
         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.
    输入以下命令:
代码语言:javascript
复制
       sudo gedit /etc/hosts
    然后在打开的hosts文件中添加如下的内容,然后保存退出
代码语言:javascript
复制
        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
   输入以下命令:
代码语言:javascript
复制
           sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
    到这里如果再输入sudo rosdep init命令试试,应该就会出现了之前介绍的我们想要的界面了

   6、更新rosdep

    输入以下命令:
代码语言:javascript
复制
        rosdep update
    怎么说呢,这一步真的很令人难受,很容易出现没有找到资源或者链接超时之类的错误,比如:unable to process source或error loading sources list: The read operation timed out
    我在网上查阅了很多的资料,但是针对每个人的网络不同这些效果也不同,以上的错误多半是网络原因导致的,可以切换成手机热点试一下,每个人的状况可能不太一样,反正我试了一下毫无作用,然后当天试了20遍左右(也就是只要出错了,就再输入rosdep update重新试一下),一直出错,然后我有点事就出去了,等到第二天下午再试的时候一遍就成功了(所以说,不急着用的同学,在试了几遍后如果一直错误,可以换不同的时间段再试(说白了,这个跟你的网络波动有关,玄学。。。)),成功后的界面如下所示:

    急着用的小伙伴只能不断的重复试了,下面介绍一种我在网上查到的一种用vim提高成功几率的方法(我没试过哈)
    (1)需要先安装vim
     输入以下指令,首先切换到root用户
代码语言:javascript
复制
           sudo su root
     输入以下指令,下载安装vim,然后输入y,确定下载安装
代码语言:javascript
复制
        sudo apt-get install vim
     最后输入vim,确认一下有没有安装成功
    (2)利用vim调大DOWNLOAD_TIMEOUT的值
    更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_ list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改大一点,可以改成60试一下
代码语言:javascript
复制
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
代码语言:javascript
复制
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
代码语言:javascript
复制
sudo vim /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
    打开文件,在命令行模式输入“:/DOWNLOAD_TIMEOUT”搜索到参数设置的地方,修改过后输入:wq保存退出就行了。这个修改过后只是成功的几率会高很多,后面执行命令的时候发现卡住了就Ctrl + C重来多执行几次试一下

   7、设置环境变量

    输入以下命令:
代码语言:javascript
复制
         echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
    或者下面的这行代码,注意到底是melodic还是noetic或者是kinetic是由你的ubuntu的版本决定的,比如我的ubuntu是20.04版本的,对应的是noetic,也就是应该下面的这行代码,而不是上面那行
代码语言:javascript
复制
         echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
    输入以下命令,运行该脚本让环境变量生效
代码语言:javascript
复制
        source ~/.bashrc

   8、 安装rosinstall

    输入以下命令:
代码语言:javascript
复制
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
     如果提示没有可安装候选,如下所示:
    按照提示更换软件包就行了,按照提示更改为以下命令:
代码语言:javascript
复制
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool

   9、 验证ROS是否安装成功

    按正常来说ROS到这里就安装完成了,现在我们来验证一下,输入以下命令:
代码语言:javascript
复制
        roscore
    如果出现了以下的问题说明,之前的安装没有安装全
    输入以下命令,把没安装的安装一下就好了(如果显示有几个安装包无法下载,是因为网络的原因重新输入以下命令就行了)
代码语言:javascript
复制
      sudo apt install ros-noetic-desktop-full
    到这里再输入roscore看一下,若安装成功会显示如下界面:
    然后我们启动一下小海龟的仿真器试一试,按ctrl+alt+t打开一个新的终端,输入以下命令
代码语言:javascript
复制
            rosrun turtlesim turtlesim_node
    按ctrl+alt+t再打开一个新的终端,输入以下命令
代码语言:javascript
复制
          rosrun turtlesim turtle_teleop_key
    这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!
     那么恭喜你的ROS已经成功安装完了!!!

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •   本篇文章写于2020.10,经过很多小伙伴的验证,文章所介绍的步骤是可以正常完成安装的,现在是2021.10,经过近期的探索,我将安装步骤进行了进一步的优化,使安装变得更加快速,更加简单,我已经验证了其可行性,期待更多的小伙伴们一起来验证,最新版安装教程链接如下:【请点击此处跳转】
  •   当然如果你在最新版文章中,遇到了没有提及的错误,可以返回本文章寻找解决方法。
  •    1、添加ROS软件源
    •      将以下命令复制到ubuntu的终端执行
      •      或者用下面这条命令(据说这条命令可以提高下载速度)
      •    2、添加密钥
        •      将以下命令复制到ubuntu的终端执行
          •      成功后会显示如下界面:
          •    3、更新软件源
            •      将以下命令复制到ubuntu的终端执行(在这里顺便说一下,如果用wifi更新慢或者失败的话,切换至手机热点,再执行下面的命令试一下)
              •      成功后会显示如下界面:
              •    4、做完上面的三步就可以开始安装ROS了
                •      将以下命令复制到ubuntu的终端执行(安装ROS的指令)
                  •      因ubuntu版本的不同其安装指令也有可能不同,我的是ubuntu20.04 执行上面的代码时显示:无法定位软件包 ros-melodic-desktop-full ,然后改为执行下面的命令来安装:
                    •      会显示如下界面:
                      •      输入Y继续(保证有网络),就这568MB我下了整整一天。。。。。前80%挺快的用了1分钟左右吧,从81%到100%那速度是真慢啊,当然你可以尝试换一下软件源试一试,换源方法见文章Ubuntu如何通过简单的几步操作来配置系统的软件源、找不到软件和更新怎么办?(带动态图文介绍)
                        •      如果在安装过程中你有事需要关闭电脑,可以输入ctrl+c暂停安装,然后正常关闭就可以了,下一次有时间继续安装的时候,按ctrl+alt+t打开终端后,按↑就可以调出之前输入过的安装命令sudo apt install ros-noetic-desktop-full,然后回车输入密码后,就可以继续安装了,我就是分3次下完的。。。
                          •      安装完后的界面如下(我又重新输入了一遍安装命令,确认已经是最新版了):
                          •    5、初始化rosdep
                            •      输入以下的命令,先对其初始化一下
                              •      如果出现以下界面,那么恭喜你,你可以省下一些麻烦了,直接跳到第6步就行了:
                                •      如果出现了以下几种错误,也不要担心,下面几种错误我都经历过 ,当然也就为大家整理好了解决方法
                                  •    (1)错误1:找不到命令
                                    •      尝试着输入以下命令
                                      •      或者:
                                        •     这时候它会出现以下的界面,输入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.
                                              •     输入以下命令:
                                                •     然后在打开的hosts文件中添加如下的内容,然后保存退出
                                                  •     到这里如果再输入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 rosdep init命令试试,应该就会出现了之前介绍的我们想要的界面了
                                                        •    6、更新rosdep
                                                          •     输入以下命令:
                                                            •     怎么说呢,这一步真的很令人难受,很容易出现没有找到资源或者链接超时之类的错误,比如:unable to process source或error loading sources list: The read operation timed out
                                                              •     我在网上查阅了很多的资料,但是针对每个人的网络不同这些效果也不同,以上的错误多半是网络原因导致的,可以切换成手机热点试一下,每个人的状况可能不太一样,反正我试了一下毫无作用,然后当天试了20遍左右(也就是只要出错了,就再输入rosdep update重新试一下),一直出错,然后我有点事就出去了,等到第二天下午再试的时候一遍就成功了(所以说,不急着用的同学,在试了几遍后如果一直错误,可以换不同的时间段再试(说白了,这个跟你的网络波动有关,玄学。。。)),成功后的界面如下所示:
                                                                •     急着用的小伙伴只能不断的重复试了,下面介绍一种我在网上查到的一种用vim提高成功几率的方法(我没试过哈)
                                                                  •     (1)需要先安装vim
                                                                    •      输入以下指令,首先切换到root用户
                                                                      •      输入以下指令,下载安装vim,然后输入y,确定下载安装
                                                                        •      最后输入vim,确认一下有没有安装成功
                                                                          •     (2)利用vim调大DOWNLOAD_TIMEOUT的值
                                                                            •     更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_ list.py、gbpdistro_support.py、rep3.py中的DOWNLOAD_TIMEOUT = 15.0值,改大一点,可以改成60试一下
                                                                              •     打开文件,在命令行模式输入“:/DOWNLOAD_TIMEOUT”搜索到参数设置的地方,修改过后输入:wq保存退出就行了。这个修改过后只是成功的几率会高很多,后面执行命令的时候发现卡住了就Ctrl + C重来多执行几次试一下
                                                                              •    7、设置环境变量
                                                                                •     输入以下命令:
                                                                                  •     或者下面的这行代码,注意到底是melodic还是noetic或者是kinetic是由你的ubuntu的版本决定的,比如我的ubuntu是20.04版本的,对应的是noetic,也就是应该下面的这行代码,而不是上面那行
                                                                                    •     输入以下命令,运行该脚本让环境变量生效
                                                                                    •    8、 安装rosinstall
                                                                                      •     输入以下命令:
                                                                                        •      如果提示没有可安装候选,如下所示:
                                                                                          •     按照提示更换软件包就行了,按照提示更改为以下命令:
                                                                                          •    9、 验证ROS是否安装成功
                                                                                            •     按正常来说ROS到这里就安装完成了,现在我们来验证一下,输入以下命令:
                                                                                              •     如果出现了以下的问题说明,之前的安装没有安装全
                                                                                                •     输入以下命令,把没安装的安装一下就好了(如果显示有几个安装包无法下载,是因为网络的原因重新输入以下命令就行了)
                                                                                                  •     到这里再输入roscore看一下,若安装成功会显示如下界面:
                                                                                                    •     然后我们启动一下小海龟的仿真器试一试,按ctrl+alt+t打开一个新的终端,输入以下命令
                                                                                                      •     按ctrl+alt+t再打开一个新的终端,输入以下命令
                                                                                                        •     这时候你按键盘上的↑↓←→键就可以控制小海龟移动了!!!
                                                                                                          •      那么恭喜你的ROS已经成功安装完了!!!
                                                                                                          领券
                                                                                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档