文章目录

  • 安装前必看
  • 旧博文的前言
  • 一、版本选择
  • 二、下载步骤
    • 1.检查Unbuntu的软件和更新源
    • 2.设置Ros的下载源
    • 3.安装ROS
    • 4.设置环境变量
    • 5.下载其他功能组件
    • 6.rosdep init 初始化
    • 7.rosdep update 更新
    • 8.检查安装情况:运行小海龟和rviz
  • 三、总结
  • 四、!!!新手检查!!! 安装Ros后cmake版本倒退为3.10怎么办?
  • 五、如果你遇到本文没有提及的问题 一定要留下评论哦!真诚的感谢你的参与将这篇博客变得更丰富全面,帮助更多人。感谢你的点赞!O(∩_∩)O~~

安装前必看

本次更新于 2022年10月18 日

2021年暑假我在这篇文章中记载了安装过程,但现在有了更快捷方便的方法。可以节省大量时间。

执行下面的命令 然后按照脚本指示文件操作即可
wget http://fishros.com/install -O fishros && sudo ./fishros

给 linux 新手的解释下命令的含义:wget + 网址 -O = 将某网址的文件下载下来并输出(output -O) 到指定的位置也可以重命名。 & 前半段意思是 将文件的下载放在当前目录下并命名为fishros
后半段的意思是 ./fishros 执行 fishros 命令

这个脚本是别人做好的,可以替代我下面几千字的所有操作。非常推荐新手使用。

安装过程中如果有什么地方 不知道怎么操作 看不懂脚本的提示信息 。可以去看我后面的内容。
安装完毕后 直接跳到我所说检查步骤去检查整体的安装情况。** 这个很重要! **

我目前在ubuntu1804 2004 2204 三个平台上都测试过。

安装完ros后 建议检查安装情况,可以直接跳转到旧文章的检查段落。

后面的内容是我去年写的,但是我还是推荐你看一变以了解整个流程。毕竟很多时候安装软件配置环境依赖他人写好的脚本 将来如果出问题了就手足无措。
同时后面的内容还记载了常见的问题,

注意:

  1. 如果遇到错误 请先浏览完整篇文章看是否有提及该错误
  2. 浏览评论区看是否有人遇到相同的错误。

旧博文的前言

下方的内容仅适用于Ubuntu1804 且 操作比较原始,建议使用上面的最新方法安装。但建议阅读一遍了解安装的整个过程

Unbuntu安装Ros教程众多但时间太久大多不再能解决现在安装遇到的问题,本文发布于2021.7.15 保证及时更新,保证时效。

安装Ros 时将自动安装旧版的Cmake3.10.2。所以在安装Ros之前,请先检查此先是否有安装Cmake。

如果有请再查看它的版本例如 :cmake -version 显示:cmake version 3.20.5
安装Ros之后可能出现这种情况:在终端的命令行输入 cmake-version 将会显示 cmake version 3.10
也就是说此时cmake命令指向的是Ros安装下来的旧版cmake。对于这个问题的解决办法“软链接”补充在本文末尾。

如果在此之前没有安装cmake,那对于Ros安装没什么影响。完全可以在安装ROS后,去Cmake官网安装一个新版的cmake 再更改软链接即可。Cmake安装和软链接设置见本文末尾

注意:如果遇到问题,先去评论区看看有没有其他人和你的问题相同的。


提示:以下是本篇文章正文内容,下面案例可供参考

一、版本选择

不同的Unbutn安装的Ros版本不同。Ubuntu18.04对应的ros版本为ROS Melodic
提示:请安装对应版本,不要安装错了。版本对应如下

如果你的版本不在上面的图提示中 先搜索下版本对应关系。


二、下载步骤

提示:接下来的步骤将参考Ros官网的步骤详解 :RosMelodic官网

注:国内网络打开该网址需要等待非常长的时间,我下面的几个安装步骤和官网是一样的。当然你也可以去参考官网

注:请保证这个环节中网络的稳定,建议插有线网或链接高速wifi


1.检查Unbuntu的软件和更新源


将四个选项全部选上,同时将下载源更换为国内源。我这里用的是阿里云,换成清华中科大都是可以的。


2.设置Ros的下载源

解释:接下来是将ros 的下载源设置为中科大源,使用外国的源下载速度很慢:详情见RosMelodic网址

2.1设置中科大源: 在终端输入如下命令后回车

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

2.2 设置公钥: 在终端输入如下命令后回车

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


注解:我这里已经安装过一次钥匙了,所以显示不太一样。

注解:如果遇到问题 请尝试亲手在Unbutu终端输入以上命令。CSDN复制黏贴进终端有可能会出问题。

2.3 更新最新可用软件包列表:在终端输入以下命令后回车

sudo apt update

常见问题:
     设置钥匙时候如果不能设置,可能是因为电脑中没有安装相应钥匙功能的包 可以执行以下命令解决 并重复设置钥匙的步骤。


3.安装ROS

在终端输入以下命令后回车

sudo apt install ros-melodic-desktop-full

接下来就是漫长的等待

注解:这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件(新手强烈建议安装这个就好)


4.设置环境变量

在终端输入以下命令后回车

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

注解:这个步骤是让你的 bash终端 以后可以识别 roscore,rosrun等命令。

ZSH用户 : 如果你用的不是bash,例如zsh fish等其他终端,那你就在zsh的配置文件里添加环境变量。

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

注意: zsh 的终端环境配置我不确定是不是这么弄,我只是写出来让zsh用户参考, 如果不行,你自己去home文件夹下添加zsh配置即可。

另外给Linux新手补充一点:如果你在bash中添加了环境,那你在zsh终端是无法启动的ros 的。 反过来也是一样。我建议你在常用终端下都添加环境变量。


5.下载其他功能组件

在终端输入以下命令后回车

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

这些组件可以构建和管理开发者自己的ROS工作空间,强烈建议安装。详情见 :[Ros官网]


6.rosdep init 初始化

1.在终端输入以下命令后回车

sudo rosdep init

2.常见报错

第一种报错:
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.

第二种报错
ERROR: Rosdep experienced an error: (‘The read operation timed out’,)
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep
rosdep version: 0.21.0
Traceback (most recent call last):
File “/usr/lib/python2.7/dist-packages/rosdep2/main.py”, line 146, in rosdep_main
exit_code = _rosdep_main(args)
、、、、、、
、、、、、、
、、、、、、
SSLError: (‘The read operation timed out’,)

3.原因:初始化的这一步将会从外国的网站raw.githubusercontent.com拉取一些信息和文件。这个网站现在被墙了,导致这一步出错。

4.解决办法:

  • 法一:Unbuntu||爬楼梯||后再次尝试,没有方法的同学用下面的方法
  • 法二:让手机开热点让电脑连接,再次执行次命令。看别人的博客评论区说电信的热点就秒成。不一定成功吧,毕竟网站被墙了。而且那个作者的文章写于2020.5.10 有兴趣可以试试。反正我自己试了不行,╮(╯▽╰)╭。建议直接进入方法三。
  • 法三:给不能||爬楼梯||的朋友使用,强行绕过墙。以下是具体步骤

首先修改/etc/hosts文件

1.终端输入以下命令并回车:sudo gedit /etc/hosts

2.把下面这些地址拷贝到hosts文件末尾,然后保存

注解:这个步骤的作用是让你的linux在访问外国网站时会绕过去, 你可以在安装完ros之后把这些设置删除。

199.232.28.133 raw.githubusercontent.com
192.30.253.118 gist.github.com
185.199.110.153 github.io
151.101.113.194 github.global.ssl.fastly.net
52.216.227.168 github-cloud.s3.amazonaws.com
52.74.223.119 github.com
199.232.28.133 avatars1.githubusercontent.com
199.232.28.133 avatars2.githubusercontent.com
199.232.28.133 avatars0.githubusercontent.com
199.232.28.133 avatars3.githubusercontent.com
199.232.28.133 user-images.githubusercontent.com
199.232.28.133 avatars.githubusercontent.com
199.232.28.133 github.map.fastly.net
199.232.28.133 avatars7.githubusercontent.com
54.239.31.69 aws.amazon.com
54.239.30.25 console.aws.amazon.com
54.239.96.90 ap-northeast-1.console.aws.amazon.com
54.240.226.81 ap-southeast-1.console.aws.amazon.com
54.240.193.125 ap-southeast-2.console.aws.amazon.com
54.239.54.102 eu-central-1.console.aws.amazon.com
177.72.244.194 sa-east-1.console.aws.amazon.com
176.32.114.59 eu-west-1.console.aws.amazon.com
54.239.31.128 us-west-1.console.aws.amazon.com
54.240.254.230 us-west-2.console.aws.amazon.com
54.239.38.102 s3-console-us-standard.console.aws.amazon.com
54.231.49.3 s3.amazonaws.com
52.219.0.4 s3-ap-northeast-1.amazonaws.com
54.231.242.170 s3-ap-southeast-1.amazonaws.com
54.231.251.21 s3-ap-southeast-2.amazonaws.com
54.231.193.37 s3-eu-central-1.amazonaws.com
52.218.16.140 s3-eu-west-1.amazonaws.com
52.92.72.2 s3-sa-east-1.amazonaws.com
54.231.236.6 s3-us-west-1.amazonaws.com
54.231.168.160 s3-us-west-2.amazonaws.com
52.216.80.48 github-cloud.s3.amazonaws.com
54.231.40.3 github-com.s3.amazonaws.com
52.216.20.171 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.228.168 github-production-user-asset-6210df.s3.amazonaws.com
————————————————
版权声明:本文为CSDN博主「银时大魔王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_25923849/article/details/107976434
————————————————
此解决办法 乃是参考 CSDN作者"银时大魔王" 大家可以去看他的原文。我将其中的一行ip映射调整顺序放在了首行。

接下来修改/etc/resolv.conf 文件

1.终端输入以下命令并回车sudo gedit /etc/resolv.conf

2.将原有的nameserver那一行注释,并添加以下两行后保存:

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

最后再次执行: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
这说明20-default.list 这个文件已经存在
解决办法删除20-default.list这个文件。
1.终端输入以下命令并回车删除文件:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list,
2.再次执行:sudo rosdep init

显示如下信息,则rosdep初始化成功

wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update

7.rosdep update 更新

在终端输入以下命令并回车rosdep update

1.常见错误:更新超时read operation timed out

2.原因:raw.githubusercontent.com这个网站被墙,国内网拉取信息网速缓慢。

3.解决办法:

  • 法一:||爬楼梯||并重复此操作

  • 法二:多次执行rosdep update操作,网络良好的情况下有可能完成所有更新。也可以开手机热点更新。如果20来次都不行的话建议使用方法三。

  • 法三:将更新所需要的文件下载放在本地文件夹,并修改执行更新的路径。在本地完成更新,避免向外国网站拉取信息和文件。

    第一步: 本地更新所需文件下载

    CSDN作者银时大魔王已经将更新所需的文件整理好上传云中(大家可以去观摩原文):
    链接: https://pan.baidu.com/s/1PhTCqtvScV_XGf9ac0CcCg 提取码: w3ix

    第二步:将提取出的文件夹移动到/etc/ros文件夹下
    终端输入:sudo cp -r ../ros_github/ /etc/ros/
    注:../ros_github/为你自己提取安放的路径


第三步:修改更新文件路径
注:下文将原作者的讲述简化并配以图解,如需看原作者博客点击此链接

1.修改index-v4.yaml路径
     终端输入以下命令回车:sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
     将该文件中第68行代码注释并添加file:///etc/ros/ros_github/index-v4.yaml如下第一张图所示:
2.修改 /etc/ros/rosdep/sources.list.d/20-default.list文件。
     终端输入以下命令回车:sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list
     再将原有内容全部注释 或者 删除。最后添加以下内容在文档中。如下第二张图所示
---
#os-specific listings first
yaml file:///etc/ros/ros_github/osx-homebrew.yaml osx
#generic
yaml file:///etc/ros/ros_github/base.yaml
yaml file:///etc/ros/ros_github/python.yaml
yaml file:///etc/ros/ros_github/ruby.yaml
gbpdistro file:///etc/ros/ros_github/fuerte.yaml fuerte
#newer distributions (Groovy, Hydro, …) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
---

    第四步:再次执行rosdep update
    一般情况下,这次更新就能成功了。成功更新的界面时这样子的 注:此图参考自这个博客
常见问题:如果遇到Hit缺失,更新不完整的情况 ,可以尝试关闭终端 再次执行更新命令。多尝试几次就能成功。甚至可以重复上面一到两个步骤。(我的fuerte就有几次Hit不到,重复了几次才成功) 到此为止就成功安装ROS了。


8.检查安装情况:运行小海龟和rviz

建议再执行以下环境配置命令(有的同学可能漏了,且再来一次无妨):

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

1.终端输入命令回车:roscore

… logging to /home/hyj/.ros/log/b76e3992-e577-11eb-bf00-00e04c360b88/roslaunch-hyjlaptop-20795.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://hyjlaptop:38805/
ros_comm version 1.14.11
SUMMARY
========
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.11
NODES
auto-starting new master
process[master]: started with pid [20805]
ROS_MASTER_URI=http://hyjlaptop:11311/

出现以上提示则代表安装成功。
2.检查基础功能
在终端成功输入roscore后,开启第二个终端输入rosrun turtlesim turtlesim_node会出现一个小海龟,最后开启第三个终端输入rosrun turtlesim turtle_teleop_key 接下来就可以通过方向键控制海龟的移动。下面时我画的一只小狗,是不是很可爱呀 n(≧▽≦)n

3.检查rviz等高级功能的运行
打开第一个终端输入roscore 打开第二个终端输入rosrun rviz rviz 看到下图画面则rviz等其他组件安装成功。


三、总结

以上就是Unbuntu18.04安装Ros的过程,本文是用来帮助那些没有linux||爬楼梯||方法的同学的。如果有||爬楼||方法,可以尝试开启后,直接执行 估计是一路通畅不会遇到什么问题的。

最后向CSDN作者银时大魔王 表示谢意,针对文中 rosdep init 和update 的问题先前做了很多工作。他的文章写于2020-08-13。 关于可能出现的问题 我也做了一些补充,并且将安装的全流程记录于此。希望能帮助更多的人。


四、!!!新手检查!!! 安装Ros后cmake版本倒退为3.10怎么办?

在安装Ros之前 如果你的Ubuntu中已经安装有Cmake。例如Cmake 3.20.5 。但是在安装Ros后 命令行输入Cmake -version 显示的版本为3.10.2。

这说明此时电脑中存在有多个版本的Cmake。

那么如何让Cmake命令指向我们所需的特定版本呢?此时可以参考我的另一篇博客解决该问题。

有些新接触linux系统的同学项目任务要求使用Cmake3.20等新版本,安装ros后,cmake指向旧版也可以由此解决。

可以查阅我的另一篇博客[安装Ros后Cmake变为3.10.2]。


五、如果你遇到本文没有提及的问题 一定要留下评论哦!真诚的感谢你的参与将这篇博客变得更丰富全面,帮助更多人。感谢你的点赞!O(∩_∩)O~~

Ubuntu18.04安装Ros(最新最详细亲测)相关推荐

  1. Ubuntu18.04安装Cmake(最新最详细亲测)

    文章目录 前言 一.下载Binary版(下载即用) 二.下载Source版(需要编译) 三.检查Cmake安装情况 总结 前言 ubuntu中cmake的安装有两种方式 二者选其一即可 直接下载编好的 ...

  2. Ubuntu18.04安装Anaconda(最新最全亲测图文并茂)

    文章目录 前言 一.Anaconda版本的选择 二.Anaconda安装步骤 1.下载anaconda 2.安装 Anaconda 3. 检验anaconda安装成功 三.安装常见问题 四.换源 五. ...

  3. Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)

    这也是我在Ubuntu里面安装ROS的第N次,以前每次安装过程都忘记总结了,导致每次安装ROS都浪费了很多的时间用来解决各种问题.为了避免自己以后出现问题需要再安装,所以写这篇博客总结一下,这次是我安 ...

  4. linux18.04安装显卡驱动,详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!)

    详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!) 详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测有效!) 详细介绍ubuntu18.04安装NVIDIA显卡驱动(亲测 ...

  5. Ubuntu18.04安装ROS Melodic+turtlebot3仿真配置

    先说一下基本情况,因为本科毕业设计,需要用到Ubuntu,ROS,还有Turtlebot3,所以自己研究了一下.在安装ROS和使用Turtlebot3的过程中遇到了很多问题,但幸好最终都解决了.所以总 ...

  6. Ubuntu18.04安装ROS过程记录:主要解决 sudo rosdep init时的无法连接和rosdep update时的time out问题

    安装流程基本上参考的文章[1],在过程中遇到一些问题.采用以下步骤解决: 1.是初始化命令时出错 sudo rosdep init 提示:sudo rosdep:找不到命令提示,参照[2]的解决方案 ...

  7. Ubuntu18.04安装ROS最后的rosdep update不成功解决方案(亲测可行)

    Ubuntu18.04安装ROS最后的rosdep update不成功解决方案(亲测可行) 问题描述 很多人在安装ROS时会卡在最后一步rosdep update上面,虽然这一步不成功并不影响小海龟的 ...

  8. Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update)

    Ubuntu18.04安装ROS Melodic(解决网络原因,先将所需压缩包下载到本地,然后rosdep update) 一.ROS介绍 机器人操作系统(Robot Operating System ...

  9. Ubuntu18.04 安装ROS Melodic(官方版) 之不使用科学方法

    此前记录了官方安装流程,参见Ubuntu18.04 安装ROS Melodic(官方版),但是受限于无法访问raw.githubusercontent.com,需科学方法才能成功安装,带来诸多不便,网 ...

最新文章

  1. 一个在Windows下的ping脚本(使用WMI 的Win32_PingStatus 实现)
  2. hash table(全域散列法实现的哈希表)
  3. Python开发之--前端 HTML基础
  4. 用 Python 写出这样的进度条,刷新了我对进度条的认知
  5. mfc怎么获取进程的线程数_2020年大厂喜欢这样问线程安全,这些知识点我整理好了
  6. 计算机二级java难不_计算机二级java含金量如何 对就业有帮助吗
  7. EXCEL利用VBA把汉字转拼音(李晓锋版)20180828更新
  8. 【Photoshop】Photoshop 64Bit与Camera Raw安装包
  9. 拼音转汉字算法(隐马尔科夫、维特比算法)
  10. 千锋python培训班怎么样
  11. 头像采集,学生照片信息采集器
  12. 2021年危险化学品经营单位安全管理人员考试报名及危险化学品经营单位安全管理人员证考试
  13. java计算工龄,java计算工龄
  14. Redux详解,有这一篇就够了
  15. 企业营销的内容之痛,腾讯云SaaS工具的破局之道
  16. 多维度雷达图怎么做_前方高能!多维数据分析的神器雷达图PPT制作教程来啦!...
  17. 哪吒S亮相广州车展,定位B级燃油车颠覆者
  18. 2017中国工业互联网大会召开
  19. 信息系统运维资质与ITSS运维标准有什么区别?
  20. 《6G概念及愿景白皮书》来啦!

热门文章

  1. Gerrit version 2.16.15 is now available.
  2. 饿了么网站订餐外卖系统功能介绍
  3. 2023年第一个节日是哪一天,怎么设置节假日倒计时提醒?
  4. gitblit 自定义URL复制按钮
  5. 沈阳工业大学计算机专业是一本吗,辽宁省第一类大学——沈阳工业大学
  6. 网易大数据平台HDFS性能优化实践
  7. 2022软考成绩怎么还不出来?
  8. 数字音频接口(二) 高通平台MI2S总线调试
  9. 仿真机器人控制器代码开源啦!
  10. 讯客分类信息门户源码PHP,【讯客分类信息系统】最新大气含手机版php源码