虚拟机Ubuntu18.04安装对应ROS版本详细教程!(含错误提示解决)

news2025/2/23 3:40:44

参考链接:

Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客

1.4 ROS的安装与配置_哔哩哔哩_bilibili

ROS官网:http://wiki.ros.org/melodic/Installation/Ubuntu

一、检查cmake

安装ROS时会自动安装旧版的Cmake3.10.2。所以在安装Ros之前,需要先检查此先是否有安装Cmake。如果之前已经安装新版的cmake,那电脑中存在多个版本的cmake,如果没有安装,则可以在安装完ROS后再安装需要版本的cmake。如何让cmake命令指向我们所需的特定版本?可参考下面这篇博客:

Unbuntu安装Ros后Cmake变成3.10_ros 默认的cmake版本_向日葵骑士Faraday的博客-CSDN博客

(安装完ROS后会显示cmake版本为3.10.2)

二、安装版本检查

不同的Ubuntu安装的ROS版本不同。Ubuntu18.04对应的ros版本为RS Melodic,不要安装错了。可以去官网melodic/Installation/Ubuntu - ROS Wiki查看其他对应版本。

三、安装步骤

1.安装Ubuntu的软件和更新源

1)先检查Ubuntu软件和更新源

将四个选项全部选上,同时将下载源更换为国内源。默认的服务器比较慢,换成阿里云,清华,中科大都是可以的。

2)添加ROS软件源

打开终端,输入以下命令:

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. 设置ROS安装密钥

公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺的一部分。设置ROS安装密钥,输入以下命令:

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

查看软件包密钥可以使用 apt-key命令。

3. 更新Ubuntu软件源

更新Ubuntu软件源,输入以下命令:

sudo apt update

4. 安装ROS桌面完整版

在终端输入以下命令,慢慢等待安装完成:

这个命令将安装完整的ROS软件,包括ROS,rqt,rviz,机器人通用库,2D / 3D模拟器,导航和2D / 3D感知等等的全套基础组件。

sudo apt install ros-melodic-desktop-full

5. 设置ROS环境变量

设置ROS环境变量,输入以下命令:

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

6. 安装ROS工具

安装ROS工具,输入以下命令:

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

7. 初始化ROS安装

在初始化ROS安装时,会从外国的网站raw.githubusercontent.com拉取一些信息和文件。这个网站现在被墙了,导致这一步出错。不用爬楼梯的解决办法如下:

1)修改/etc/hosts文件

终端输入以下命令并回车:sudo gedit /etc/hosts,将hosts文件打开,把下面这些地址拷贝到hosts文件末尾,然后保存。

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博主「向日葵骑士Faraday」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/KIK9973/article/details/118755045

2)修改/etc/resolv.conf 文件

.终端输入以下命令并回车sudo gedit /etc/resolv.conf将原有的nameserver那一行注释,并添加以下两行后保存:

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

3)再次执行sudo rosdep init

显示如上信息则表示rosdep初始化成功,如果出现以下错误提示:

是因为20-default.list 这个文件已经存在,解决办法就是

删除20-default.list这个文件。

终端输入以下命令并回车删除文件:sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

再次执行sudo rosdep init

8. rosdep update 更新

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

网络良好的话,很快就更新完成了,更新成功会显示上述信息。如果出现更新超时read operation timed out的错误提示,是因为raw.githubusercontent.com这个网站被墙,国内网拉取信息网速缓慢。

解决办法1:多次执行rosdep update操作,网络良好的情况下有可能完成所有更新。如果还是不行,使用办法2.

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

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

将下载提取出的文件夹移动到/etc/ros文件夹下,终端输入sudo cp -r ../ros_github/ /etc/ros/

注意:../ros_github/为自己提取安放的路径,需要改成自己的)

再修改更新文件路径:

参考链接:Ubuntu 18.04 安装 ROS Melodic 中 sudo rosdep init 和 rosdep update 一定能成功的方法,就硬干-CSDN博客

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再将原有内容全部注释 或者 删除。最后添加以下内容在文档中。如下图所示

再次执行rosdep update

常见问题:如果遇到Hit缺失,更新不完整的情况 ,可以尝试关闭终端 再次执行更新命令。多尝试几次就能成功。

到此,ROS安装就算成功了。

四、检查安装情况:运行小海龟和rviz

终端输入命令回车:roscore

出现以上提示则代表安装成功。

接下来运行小海龟。开启第二个终端输入rosrun turtlesim turtlesim_node会出现一个小海龟

然后开启第三个终端输入rosrun turtlesim turtle_teleop_key ,接下来就可以通过方向键控制海龟的移动。

最后检查rviz等高级功能的运行。新开一个终端输入:rosrun rviz rviz,显示以下界面表示运行成功。


以上就是Unbuntu18.04安装Ros对应版本的全部过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1068459.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Thingsboard二次开发---5.在Thingsboard中增加解决方案管理功能

前言 在使用Thingsboard的过程中发现TB虽然非常灵活,但实际的最终用户更希望是针对特定场景的成熟解决方案,页面都做好,不需要再进行配置,所以在原来的基础上增加了解决方案的功能,此方案比较适合给用户提供SaaS化的解…

【Hugging Face】如何从hub中下载文件

huggingface_hub库提供了从存储在Hub上的仓库中下载文件的功能。您可以独立使用这些函数或将它们集成到您自己的库中,使您的用户更方便地与Hub交互。本指南将向您展示如何: 下载并缓存单个文件。下载并缓存整个代码库。将文件下载到本地文件夹。 下载单…

语义分割,实例分割,全景分割梳理

语义分割(semantic segmentation) 实例分割(instance segmentation) 全景分割(Panoptic Segmentation) 下面基于《Panoptic Segmentation 》这篇论文进行这几个概念的梳理 论文链接:https:/…

基于安卓android微信小程序的垃圾废品回收类软件

运行环境 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包&a…

软件测试的价值

测试人员可以参与到软件的全生命周期中,一切软件质量相关的活动。具体来说主要有: 1、需求评审,帮助产品梳理业务逻辑 测试人员对产品功能有丰富的业务测试经验,有时会比产品还要熟悉平台的整体业务逻辑,所以需求评审…

【PG】Linux系统部署PostgreSQL单机数据库

安装方式 1 安装包方式 (Packages and Installers) 支持的操作系统包括 liunxMacosWindowsBSDSolaris 2 源码安装 (Source code) 下载源码包 通过下载地址PostgreSQL: File Browser 可以看到有各个版本的源码目录 选择13.1…

WPF向Avalonia迁移(二、一些可能使用到的库)

可能使用到的一些库 1. UI库 开源项目:https://github.com/irihitech/Semi.Avalonia 如果想引用他的DataGrid样式还需要添加Semi.Avalonia.DataGrid 2. 图表库 LiveChartsCore.SkiaSharpView.Avalonia 3.SVG库 开源项目:https://github.com/wieslaw…

prometheus使用数据源的timestamp而非server的timestamp

关于timestamp指标的解释 prometheus中的指标timestamp有两个: prometheus拉取时刻的timestamp,即服务端的timestamp:time.Now();exporter的/metrics接口,除了返回metric,value,还返回timesta…

chromium线程模型(1)-普通线程实现(ui和io线程)

通过chromium 官方文档,线程和任务一节我们可以知道 ,chromium有两类线程,一类是普通线程,最典型的就是io线程和ui线程。 另一类是 线程池线程。 今天我们先分析普通线程的实现,下一篇文章分析线程池的实现。&#xff…

asp.net电影院选座系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net电影院选座系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net电影院选座系统1 二、功能介…

简述CRM系统软件的作用

销售部门作为企业重要的营收部门,做好企业管理意义重大。如今市场竞争激烈,人工管理很难兼顾。不少企业借助CRM销售管理系统优化改进工作流程中各个环节存在的问题。下面小Z来简单说说CRM系统是做什么的? 一、客户档案管理 通过CRM销售管理…

使用企业订货系统后的效果|软件定制开发|APP小程序搭建

使用企业订货系统后的效果|软件定制开发|APP小程序搭建 企业订货系统是一种高效的采购管理系统,它可以帮助企业更好地管理采购流程,降低采购成本,提高采购效率。 可以帮助企业提高销售效率和降低成本的软件工具。使用该系统后,企业…

押注“AI写小说”!陈天桥加持,宜搜科技二闯港股IPO

大数据产业创新服务媒体 ——聚焦数据 改变商业 9月29日,IPO征程一波三折的宜搜科技又一次递交招股书,向港交所上市发起冲击。 2014年,宜搜科技美股上市失败,三年后挂牌新三板。2019年,宜搜科技终止挂牌,冲…

vue:权限绑定菜单(全局引入,在template内用v-if调用)

登录成功后,将返回的权限保存到缓存 sessionStorage:浏览页面期间保存,关闭浏览器后丢掉数据 在utils内index.js内定义isAuth方法 在main.js内引入,并挂载全局 在vue页面内,在template内用v-if调用

WPF向Avalonia迁移(一、一些通用迁移项目)

通用变更 WPF&#xff1a;Visibility 其他参考文档 WPF&#xff1a; <TextBlock Visibility"Visible"/><TextBlock Visibility"Collapsed"/><TextBlock Visibility"Hidden"/>Avalonia &#xff1a; <TextBlock IsVisib…

京东快递超时件查询:教你如何操作

近年来&#xff0c;随着电商的快速发展&#xff0c;物流行业也迎来了蓬勃的发展。然而&#xff0c;由于物流订单数量庞大&#xff0c;物流公司在处理这些订单时往往会遇到一些瓶颈&#xff0c;例如超时订单的筛选。为了提高物流效率&#xff0c;许多物流公司采用了智能筛选超时…

IDEA的使用(一) (IntelliJ IDEA 2022.1.3版本)

目录 1. IDEA项目结构 2. 模块的导入操作 2.1 正规操作 2.2 取巧操作 2.3 出现乱码 2.4 模块改名 3. 代码模板的使用 后缀补全&#xff08;Postfix Completion&#xff09;、实时模板&#xff08;Live Templates&#xff09;菜单里面什么介绍都有&#xff0c;可以自学&a…

华为数通方向HCIP-DataCom H12-831题库(单选题:221-240)

第221题 以下哪些项能被正则表达式^30.成功匹配? A、200 100 300 B、100 200 300 C、300 200 100 D、300 100 200 答案:CD 解析: 30.其中的“点”表示的是任何的一个数字,表示的是as-path的开头;所以以300开头的都是满足题目需求的。 第222题 以下哪些项的Community属性能…

MongoDB增删改查常用操作以及podman下载MongoDB命令

Podman下载mongodb命令 podman run -d --name mongodb2 -p 27016:27017 mongo Navicat创建连接 新建数据库 创建集合 use test db.createCollection("coll1") MongoDB查询命令 ## 条件查询 db.getCollection("coll1").find({Date: "20230924&quo…

OnPrem.LLM:一个轻量级 Python 库,用于使用私有数据运行本地大型语言模型

一、介绍 OnPrem.LLM OnPrem.LLM 是一个简单的 Python 库&#xff0c;用于使用非公开数据运行本地大型语言模型。它默认使用的 7B 参数模型&#xff0c;你也可以通过提供 use_largerTrue 使用默认的 13B 模型。你还可以提供不同模型的 URL。OnPrem.LLM 主要受到 privateGPT 项…