ROS安装与报错的解决办法

目录

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 C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

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

        问题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 init
ERROR: default sources list file already exists:
	/etc/ros/rosdep/sources.list.d/20-default.list
Please 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 init
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.

        问题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 update
reading in sources list data from /etc/ros/rosdep/sources.list.d
ERROR: 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 ~/.bashrc
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: 没有那个文件或目录
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
 

  • 49
    点赞
  • 146
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几度春风里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值