ROS安装与报错的解决办法

这篇具有很好参考价值的文章主要介绍了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服务是否都处于开启状态.

ROS安装与报错的解决办法

(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

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

ROS安装与报错的解决办法

         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
 文章来源地址https://www.toymoban.com/news/detail-416999.html

到了这里,关于ROS安装与报错的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python中unexpected indent报错的解决办法

    在我们初步学习pyton的时候,由于对python语言的学习掌握不充分,则会导致所编写的代码,运行时候报错。比如,容易报错的unexpected indent问题,下面举例说明问题。 1.举例(正确代码) 我们想通过编写子函数的方式,定义一个斐波拉契数列函数。 正确代码应该如下 下面在

    2024年02月07日
    浏览(52)
  • python使用pip安装包报错的解决办法(ERROR: Could not find a version that satisfies the requirement XXX)

    目录 解决方法一:更换下载源 解决方法二:使用源码安装 解决方法三:通过whl文件安装 拓展:虚拟环境下通过源码安装第三方库 使用pip命令安装python包时可能会出现如下错误提示: ERROR: Could not find a version that satisfies the requirement XXX (from v ersions: none) ERROR: No matching distribu

    2024年01月19日
    浏览(97)
  • 电脑提示ucrtbase.dll报错的窗口,有什么解决办法

    ucrtbase.dll是电脑系统中的一个重要文件所以如果电脑缺了ucrtbase.dll文件就会导致电脑程序无法正常运行。如果你的电脑出现了这样的问题,那么来看这篇文章,教你解决ucrtbase.dll报错的解决办法。 通常,ucrtbased.dll缺失的原因有以下几种: 1.文件如果被被误删或感染病毒可能

    2024年02月05日
    浏览(128)
  • OpenCV使用cv2.imshow()报错的解决办法

    The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. 版本出错应该是不太可能的,于是我试着安装一下OpenCV的拓展开发包也就是. opencv-contrib 没想到,折腾好久的问题,最后一行命令解决问题了 pip install --user opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn 总结

    2024年02月11日
    浏览(68)
  • macbook m1 nacos集群启动失败报错的解决办法

    问题来源:(黑马springcloud学习过程)P29-06-Nacos配置管理-nacos集群搭建 问题描述:详情见nacos.log和start.out WebServerException: Unable to start embedded Tomcat (mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64’)) 6969.jnilib’ (no such file), 问题原因:电脑本身是arm的jdk版本,但是

    2024年04月26日
    浏览(41)
  • 在Docker中使用systemctl启动服务报错的解决办法

    目录 一、问题背景      二、解决办法         在Docker中通过systemctl 启动服务的时候,总是报“ Failed to get D-Bus connection: Operation not permitted ”这样的错误提示,如下所示:         [root@localhost ~]# systemctl start sshd         Failed to get D-Bus connection: Operation not permitt

    2024年02月15日
    浏览(49)
  • 解决Springboot项目打成jar包后获取resources目录下的文件报错的问题

    前几天在项目读取resources目录下的文件时碰到一个小坑,明明在本地是可以正常运行的,但是一发到测试环境就报错了,说找不到文件,报错信息是:class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!/BOOT-INF/classes!xxxx。 看了

    2024年02月11日
    浏览(55)
  • k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。

    先看一下报错的图片 这是在初始化maser的时候报的错。 我的环境情况 k8s:1.22.12 docker: 18.06.3 操作系统以及内核版本 解决办法 首先检查你到底写没写错 确定你的主机名字无误后,那么就进行这一步吧,无奈之举了 修改docker的配置文件 修改kubelet的启动项 或者 直接使用老版本

    2023年04月09日
    浏览(48)
  • Mac系统下matplotlib中SimHei中文字体缺失报错的解决办法

    使用matplotlib画图时,因为缺少字体,、图像上label上的中文显示时空白小方块。因为matplotlib默认没有中文。 Step 1. 在终端进入python3环境,查看matplotlib字体路径: 找到自己的matplotlib字体文件路径: /Users/zhangzhang/miniforge3/envs/py38_pytorch/lib/python3.8/site-packages/matplotlib/mpl-data/ fon

    2023年04月13日
    浏览(62)
  • stable diffusion视频生成插件deforum安装详解,问题报错的简处理办法

            最近看了网友们用stabled diffusion制作的视频,感觉很梦幻,虽然它的原理很简单,不外乎就是用stabled diffusion的图片生成功能,根据目标视频的帧或者提示词等参数,生成一张张图片帧,然后拼接成一段视频。但如果这个工作换成我们手工来操作的话,那效率就太

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包