写在前面:
新手安装ROS,一些常见问题及解决方法。本文内容包括:
1)ROS安装详细步骤;
2)软件包有未满足的依赖关系怎么解决、rosdep初始化找不到命令怎么解决、rosdep更新time out问题怎么解决等。

一、安装步骤(18.04)

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

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

7. 使用roscore命令启动ROS Master

roscore

8. 测试小海龟

rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

二、常见问题及分析

1、软件和更新相关设置

首先安装前要确保软件和更新里这四个勾选上,然后选一个好一点的下载源,不然下载ROS包的时候贼慢(可能几k每秒…)

我开始装的是Ubuntu20.04,软件和更新找了半天在找到。。。(在所有应用程序里面)。

2、“依赖”问题

到了$ sudo apt install ros-melodic-desktop-full这一步我的心碎历程开始了。我将melodic也改成了noetic,但运行下面指令时出现了如下问题,简称“依赖”问题

听说可以这样解决:

sudo apt-get install aptitude
sudo aptitude install ros-noetic-desktop-full

但是

依赖的软件没有,那我们就去安装,然后我就
先安装libsigc+±2.0-0v5(依赖的第二项)

 sudo apt-get install libsigc++-2.0-0v5

再安装前面的libcwidget4(依赖第一项)

 sudo apt-get install libcwidget4


下一步就可以安装 aptitude了

sudo apt-get install aptitude

安装完aptitude以为就可以使用这个命令安装ros-noetic了,然后

sudo aptitude install ros-noetic-desktop-full

但是,接下来:

libjpeg-turbo8-dev : 依赖: libjpeg-turbo8 (= 2.0.3-0ubuntu1) 但是 2.0.3-0ubuntu1.20.04.1 已安装
libldap2-dev : 依赖: libldap-2.4-2 (= 2.4.49+dfsg-2ubuntu1) 但是 2.4.49+dfsg-2ubuntu1.3 已安装
libsqlite3-dev : 依赖: libsqlite3-0 (= 3.31.1-4) 但是 3.31.1-4ubuntu0.2 已安装
libmysqlclient-dev : 依赖: libmysqlclient21 (= 8.0.19-0ubuntu5) 但是 8.0.21-0ubuntu0.20.04.3 已安装
libjson-c-dev : 依赖: libjson-c4 (= 0.13.1+dfsg-7) 但是 0.13.1+dfsg-7ubuntu0.3 已安装
libgphoto2-dev : 依赖: libgphoto2-6 (= 2.5.24-1) 但是 2.5.25-0ubuntu0.1 已安装
libgtk-3-dev : 依赖: gir1.2-gtk-3.0 (= 3.24.18-1ubuntu1) 但是 3.24.20-0ubuntu1 已安装依赖: libgtk-3-0 (= 3.24.18-1ubuntu1) 但是 3.24.20-0ubuntu1 已安装
libcurl4-openssl-dev : 依赖: libcurl4 (= 7.68.0-1ubuntu2) 但是 7.68.0-1ubuntu2.1 已安装
libglib2.0-bin : 冲突: libglib2.0-bin:i386 但是 2.64.2-1~fakesync1 将被安装
libglib2.0-bin:i386 : 冲突: libglib2.0-bin 但是 2.64.3-1~ubuntu20.04.1 已安装
libdbus-1-dev : 依赖: libdbus-1-3 (= 1.12.16-2ubuntu2) 但是 1.12.16-2ubuntu2.1 已安装
libglib2.0-dev : 依赖: libglib2.0-0 (= 2.64.2-1~fakesync1) 但是 2.64.3-1~ubuntu20.04.1 已安装
libexif-dev : 依赖: libexif12 (= 0.6.21-6) 但是 0.6.21-6ubuntu0.3 已安装
curl : 依赖: libcurl4 (= 7.68.0-1ubuntu2) 但是 7.68.0-1ubuntu2.1 已安装
libatk-bridge2.0-dev : 依赖: libatk-bridge2.0-0 (= 2.34.1-3) 但是 2.34.2-0ubuntu2~20.04.1 已安装
libglib2.0-0 : 破坏: libglib2.0-0:i386 (!= 2.64.3-1~ubuntu20.04.1) 但是 2.64.2-1~fakesync1 将被安装
libglib2.0-0:i386 : 破坏: libglib2.0-0 (!= 2.64.2-1~fakesync1) 但是 2.64.3-1~ubuntu20.04.1 已安装

而且好多ros相关的文件装不了,哎,看来还是不行。。。然后自己瞎折腾了一波,好多东西都不知道咋删没了,Ubuntu活动里只剩下个商店和终端。。。
心累了,不折腾了,换Ubuntu18.04吧还是。
第二天换了Ubuntu18.04,sudo apt install ros-melodic-desktop-full命令顺利执行!

3、rosdep初始化找不到命令

不过到初始化rosdep时又遇到一些小问题:
使用$ sudo rosdep init 时,找不到命令
这时需安装python-rosdep,即

sudo apt install python-rosdep

4、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.

执行如下命令

cd /etc
sudo gedit hosts

在文件末尾添加

151.101.84.133 raw.githubusercontent.com

保存后退出。再次执行前面指令,出现如下即为成功
参考:https://blog.csdn.net/qq_44830040/article/details/106049992

5、rosdep更新遇到time out错误

接下来就是使用$ rosdep update,然而

一直出现time out的问题,换了手机热点在更新还是不行,使用vim编辑器修改
找了其他解决方法,说:
更改 /usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.py、gbpdistro_support.py、rep3.py
中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了。
操作如下:

sudo vim /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py

然后利用vim的搜索功能输入:/DOWNLOAD_TIMEOUT搜索到这一行,修改过后输入:wq保存退出就行了。
这个修改过后只是成功的几率会高很多,后面执行命令的时候发现卡住了就Ctrl + C重来多执行几次就过了。

原文链接: https://www.cnblogs.com/zxzmnh/p/11758103.html.
(这里的方法需要知道如何使用vim编辑器,我开始不知道如何修改那个15,然后搜了一下)

然后我把15改成20,还是不行(不知道是不是还小了)。我想八成就是网络的原因了。就这样,一条命令从上午反复运行到下午。。。
后面我还看到有的人说换个时间段再试试,就这样,在下午六点多时奇迹出现了,终于更新成功了!

6、安装成功

后面的步骤都很顺利,roscore也成功运行,龟龟终于跑起来了。


最后,祝大家一遍成功!

如果本文对你有帮助,还请点赞支持!

小白Ubuntu安装ROS详细教程及常见问题分析相关推荐

  1. Ubuntu安装ROS详细教程

    1. 换源 1. 打开 软件和更新(Software and update),勾选源码框,点击Download from,选择China,选阿里云源(推荐). 2. 更新软件源 sudo apt up ...

  2. ubuntu安装OpenCV详细教程(建议收藏)

    记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...

  3. ubuntu安装docker详细教程以及配置阿里云镜像加速

    ubuntu环境: Distributor ID: Ubuntu Description:    Ubuntu 16.04.2 LTS Release:        16.04 Codename: ...

  4. Ubuntu安装redis详细教程

    apt安装 本文Ubuntu环境(20.04) No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20. ...

  5. ubuntu安装python详细教程_ubuntu安装python3.8

    在ubuntu上安装Python有两种方法 方式一 1. 以root用户或具有sudo访问权限的用户身份运行以下命令,以更新软件包列表并安装必备组件: 2. $ sudo apt update $ s ...

  6. ubuntu安装ROS melodic(最新、超详细图文教程)

    Ubuntu 安装 ROS ROS安装 准备 方法一(推荐)使用小鱼ROS一键安装 方法二 使用官方教程 配置rosdep 方法一(推荐)使用小鱼ROS一键安装 方法二 通过修改文件 ROS简介: R ...

  7. Ubuntu16.04在线安装MongoDB详细教程

    Ubuntu16.04在线安装MongoDB详细教程 文章目录 Ubuntu16.04在线安装MongoDB详细教程 前言 安装流程 信任MongoDB公钥 创建列表文件 安装MongoDB 常见问题 ...

  8. Ubuntu20.4安装ROS系统教程(自用)

    1 Ubuntu各个版本系统对应的ROS版本 1.2Ubuntu16.04与ROS-kinetic的安装 1.2.1Ubuntu16.04配置 1.2.2安装ROS-kinetic版 1.3Ubunt ...

  9. 【转】Ubuntu16.04安装 Matlab2018a详细教程

    转自:[Ubuntu]安装 Matlab2018a详细教程_My Blogs-CSDN博客_matlab2018a安装教程 Matlab2018a安装包下载: 链接: 百度网盘 请输入提取码 提取码: ...

最新文章

  1. 小程序json字符串转 json对象 { name :你好} 转成 { name :你好}
  2. 33篇顶会论文如何做到?北大施柏鑫:论文投稿到接收,不可不知的关键环节...
  3. PAT甲级1078 Hashing:[C++题解]哈希表、哈希表开放寻址法、二次探测法
  4. CPU设计学习-流水线
  5. 面向机器学习的特征工程 一、引言
  6. SAP FI配置步骤
  7. sap此项目以开票无关_大型公司财务共享中心RPA项目实例2则
  8. centos 6.2网卡配置
  9. win10 无法安装Hp1020和HP1106打印机问题
  10. [OfficeExcel] OfficeExcel2010 第23讲 Excel饼图美化与PPT图表
  11. CentOS7安装Pentaho Server 8.1 CE 社区版
  12. 微信公众号开发:实人认证,活体人脸识别解决方案
  13. 理解JavaScriptES6中的TDZ(暂时性死区)
  14. [图像处理-1]:颜色中英文对照表 颜色名字 色彩名称
  15. BandZIP无广告版(v6.25)安装及禁止联网设置
  16. 怎么制作升温曲线图_炉温曲线图是怎么看的啊!
  17. faiss通用向量搜索服务玩转腾讯880万词向量
  18. 什么是蛮力攻击,您能做什么来防止这些攻击的发生?
  19. OpenCV2:imread 和 imwrite
  20. 任时光匆匆流走。。。。

热门文章

  1. 时序约束优先级_XILINX-时序约束使用指南中文.pdf
  2. 猎豹MFC--画椭圆圆弧饼图多边形及其他形状
  3. 【from zero to zero】noip2017
  4. 新能源交流充电桩控制主板功能详述
  5. dl dt dd的嵌套使用
  6. 2021年做什么生意赚钱?有哪些项目?
  7. 华为手机隐藏了这么多好用的功能!不知道太可惜了!
  8. [组队学习]查找1------打卡
  9. JAVA发送短信-阿里云
  10. 《滚石杂志评选的最经典的100首单曲》