当前位置:首页 » 《随便一记》 » 正文

ROS安装与报错的解决办法

25 人参与  2023年05月05日 18:17  分类 : 《随便一记》  评论

点击全文阅读


目录

1、安装步骤

(1)添加ROS软件源

(2)添加秘钥

(3)安装ROS

(4)初始化rosdep

(5)设置环境变量

(6)安装rosinstall

2、安装报错解决办法 

(1)添加ROS软件源

(2)添加秘钥

(3)安装ROS

(4)初始化rosdep

(5)设置环境变量

(6)安装rosinstall  


        作者在安装ROS的过程中,几乎步步出错,后文汇总了出错的解决办法,文章参考了众多博客。

1、安装步骤

(1)添加ROS软件源

        sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

(2)添加秘钥

        sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

(3)安装ROS

        sudo apt update
        sudo apt install ros-melodic-desktop-full

        ros版本需要和Ubuntu版本一致才行。
        Ubuntu18.04:melodic
        Ubuntu16.04: kinetic
        Ubuntu14.04: indigo

(4)初始化rosdep

        sudo rosdep init
        rosdep update

(5)设置环境变量

        echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
        source ~/.bashrc

(6)安装rosinstall

        sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

2、安装报错解决办法 

(1)添加ROS软件源

(2)添加秘钥

        问题1:Executing: /tmp/apt-key-gpghome.xFJY0Xqqye/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: 从公钥服务器接收失败:服务器故障

***@vmware:~$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654Executing: /tmp/apt-key-gpghome.xFJY0Xqqye/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654gpg: 从公钥服务器接收失败:服务器故障

        问题1 解决方法:

        报错原因虚拟机没有连接上网络

        (1)换用手机热点。

        (2)打开计算机管理 -> 服务与应用程序 -> 检查关于vMware服务是否都处于开启状态.

(3)安装ROS

        问题2:E: 无法获得锁 /var/lib/apt/lists/lock。锁正由进程 5167(apt-get)持有
        N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。
        E: 无法对目录 /var/lib/apt/lists/ 加锁

***@vmware:~$ sudo apt update正在读取软件包列表... 完成E: 无法获得锁 /var/lib/apt/lists/lock。锁正由进程 5167(apt-get)持有N: 请注意,直接移除锁文件不一定是合适的解决方案,且可能损坏您的系统。E: 无法对目录 /var/lib/apt/lists/ 加锁

         问题2 解决方法:

        执行命令:sudo rm /var/lib/apt/lists/lock

        问题3:E: 无法定位软件包 ros-melodic-desktop-full

***@vmware:~$ sudo apt install ros-melodic-desktop-full正在读取软件包列表... 完成正在分析软件包的依赖关系树       正在读取状态信息... 完成       E: 无法定位软件包 ros-melodic-desktop-full

        问题3 解决方法: 

        检查Ubuntu版本,20.04版对应ros的noetic。sudo apt install ros-noetic-desktop-full

(4)初始化rosdep

        问题4:执行rosdep update,sudo: rosdep:找不到命令

sudo: rosdep:找不到命令

        问题4 解决方法:

        20.04终端输入:sudo apt install python3-rosdep2

        18.04终端输入:sudo apt install python-rosdep2

        然后再次初始化rosdep: sudo rosdep init

        问题5: ERROR: default sources list file already exists: /etc/ros/rosdep/sources.list.d/20-default.list Please delete if you wish to re-initialize

***@vmware:~$ sudo rosdep initERROR: default sources list file already exists:/etc/ros/rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize

        问题5 解决方法:

        执行:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list 

        问题6: ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

***@vmware:~$ sudo rosdep initERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.

        问题6 解决方法: 

        出现Website may be down,原因是https://raw.githubusercontent.com/是外网网址访问不稳定(可多尝试几次sudo rosdep init)

        如果多次尝试还是不行可尝试下边方法:
        1)执行:sudo gedit /etc/hosts
         在文件末尾添加下面这段:151.101.84.133 raw.githubusercontent.com
        2)然后保存退出再次sudo rosdep init如果还是不行登陆IPAdress网站https://www.ipaddress.com/输入raw.githubusercontent.com查询到真实IP地址:

        将查询到的IP替换上面代码的 151.101.84.133然后再次sudo rosdep init一般就会成功了

        

        问题7:<urlopen error timed out>

***@vmware:~$ rosdep updatereading in sources list data from /etc/ros/rosdep/sources.list.dERROR: unable to process source ...[https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:Failed to download target platform data for gbpdistro:<urlopen error timed out>]]]

        问题7 解决方法: 

参考链接:https://blog.csdn.net/weixin_44023934/article/details/121242176

(5)设置环境变量

        问题8:bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录

***@vmware:~$ source ~/.bashrcbash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录bash: /opt/ros/melodic/setup.bash: 没有那个文件或目录

         问题8 解决方法:参考文章

        1)打开虚拟机终端,输入 :gedit .bashrc

        弹出一个文件,找到最后一行,如图所示:

         2)ros版本需要和Ubuntu版本一致才行。
        Ubuntu18.04:melodic
        Ubuntu16.04: kinetic
        Ubuntu14.04: indigo

        是把文件中的melodic改成了自己对应的版本,重复的都删了,之后保存,再打开终端,就好了。

(6)安装rosinstall  

        问题9 :软件包 python-rosinstall 没有可安装候选

***@vmware:~$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential正在读取软件包列表... 完成正在分析软件包的依赖关系树       正在读取状态信息... 完成       没有可用的软件包 python-rosinstall,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到然而下列软件包会取代它:  python3-rosinstall...E: 软件包 python-rosinstall 没有可安装候选E: 软件包 python-rosinstall-generator 没有可安装候选E: 软件包 python-wstool 没有可安装候选

        问题9 解决方法:

        根据提示,python的版本不对

        输入改为:sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
 


点击全文阅读


本文链接:http://zhangshiyu.com/post/61003.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1