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

写在前面:
新手安装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,还是不行(不知道是不是还小了)。我想八成就是网络的原因了。就这样,一条命令从上午反复运行到下午。。。
后面我还看到有的人说换个时间段再试试,就这样,在下午六点多时奇迹出现了,终于更新成功了!
rosdep更新成功

6、安装成功

后面的步骤都很顺利,roscore也成功运行,龟龟终于跑起来了。
roscore运行成功
在这里插入图片描述
最后,祝大家一遍成功!

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值