Ubuntu20.04及18.04的ROS安装教程及各种失败解决方法 (sudo rosdep init找不到命令或失败与rosdep update一直timeout,roscore找不到命令)

本文详细指导如何在网络不稳定情况下安装ROS,提供全球互联网连接工具和国内互联网设置步骤,解决网络错误、源列表配置、rosdep初始化等难题,确保ROS成功安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:ros安装

        在安装ROS的过程中一般选择有网络非常好的网络进行安装,这样就可以全程顺利执行一次性安装成功,但不顺利也没问题这个教程将会给出解决由网络原因造成安装失败的解决方法

解决方案一:解决网络问题,使用全球互联网

        因为ROS  是外国研究团队进行开发的,所以绝大部分的资源都保存于国外的网站。我们在安装ROS的过程中就需要在这些国外的网站获取相关的资源,所以我们需要借助一下全球连通云去获取ROS相关的资源。

        可以给大家安利一个我用了挺久,而且很便宜的全球互联工具:

        https://m.tb.cn/h.gW1AdAG?tk=tmvMWEcwE7i HU0854

       使用全球连通云基本就可以一次性顺利安装ROS了 ,如果还是遇到错误可以参考解决方案二进行处理。

解决方案二:使用国内互联网,解决安装过程出现的错误 

安装步骤:

Ctrl+Alt+T打开终端


        1.添加 软件源sources.list(设置你的电脑可从packages.ros.org 接收软件.)
 终端输入                                                 
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
        2.添加 密钥

 终端输入

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

添加成功

        3.从软件源更新一下软件包

 终端输入

sudo apt update

包含ROS的软件包更新成功

        4.安装ROS桌面完整版 : 包含ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及2D/3D感知等(注意:每个Ubuntu版本需安装对应的ROS版本,以20.04安装版本: noetic为例,18.04应安装版本:melodic(18.04将下面代码中noetic改为melodic即可))

 终端输入

sudo apt install ros-noetic-desktop-full

桌面完整版安装成功

         5.初始化rosdep

  终端输入

 sudo rosdep init
                失败1.如出现sudo: rosdep:找不到命令

                解决办法

  20.04终端输入

sudo apt install python3-rosdep2

   18.04终端输入

sudo apt install python-rosdep

然后再次初始化rosdep

 sudo rosdep init
                失败2.ERROR: default sources list file already exists,20-default.list已存在

                解决办法

 终端输入

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

再次sudo rosdep init

                失败3.出现Website may be down.原因是https://raw.githubusercontent.com/是网址访问不稳定(可多尝试几次sudo rosdep init)

 如果多次尝试还是不行可尝试下边方法

                解决办法

 sudo gedit /etc/hosts

在文件末尾添加下面这段:

151.101.84.133 raw.githubusercontent.com

然后保存退出再次sudo rosdep init

如果还是不行登陆网站                The Best IP Address, Email and Networking Tools - IPAddress.com,输入raw.githubusercontent.com查询IP地址:

将查询到的IP替换上面代码的 151.101.84.133然后再次sudo rosdep init一般就会成功了

                初始化rosdep成功

                失败4.无论用什么方法都无法sudo rosdep init,只能祭出终极大招(自己创建20-default.list文件)(创建完成后直接进入rosdep update

 终端依次输入

cd /etc/ros/rosdep/sources.list.d
sudo touch 20-default.list

然后打开20-default.list添加内容

终端输入

sudo gedit 20-default.list 

打开sudo gedit 20-default.list 后将下面内容添加到20-default.list 中然后Ctrl+S 保存退出进入第六步

# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx

# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
        6.更新rosdep

终端输入

rosdep update
                失败1.The read operation timed out(包括ERROR: unable to process source,ERROR: error loading sources list:
) 原因都是网址访问不稳定(可多尝试几次rosdep update
)

 多次尝试依然报错可尝试下面的解决方法

                解决办法

1.把相关文件下载到本地:(注意:下面代码中nice换为你的用户名)

git clone https://github.com/ros/rosdistro.git /home/nice/robot

如网络不好无法Git下载可以在下面我分享的百度网盘链接下载压缩包然后解压提取到主目录下

链接:https://pan.baidu.com/s/1ZjMcvqOvLRa_iTdXis8ufg 
提取码:01e2

2.改去rosdep update获取文件的网址换为本地地址:

终端输入(注意:下面代码以Ubuntu20.04为例,18.04将下面代码中python3改为python2.7即可)

sudo gedit /usr/lib/python3/dist-packages/rosdep2/rep3.py

输入后回车会弹出rep3.py文件将原来文件中的 REP3_TARGETS_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml' 替换成 REP3_TARGETS_URL = 'file:///home/nice/robot/releases/targets.yaml'(此处nice改为你的用户名因为此处的具体地址为你下载到本地的文件的地址。

 Ctrl+S保存并退出

终端输入(注意:下面代码以Ubuntu20.04为例,18.04将下面代码中python3改为python2.7即可)

sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py

输入回车后会弹出__init__.py文件将原来文件中的 DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'替换成 DEFAULT_INDEX_URL = 'file:///home/nice/robot/index-v4.yaml'(此处nice改为你的用户名因为此处的具体地址为你下载到本地的文件的地址。

​3.修改/etc/ros/rosdep/sources.list.d/20-default.list中的网址为本地地址

终端输入

sudo gedit /etc/ros/rosdep/sources.list.d/20-default.list

输入回车后会弹出20-default.list文件将原来文件中的所有 raw.githubusercontent.com开头的网址替换成对应文件在本地的路径(可将下面代码更换20-default.list中的代码注意:代码中的nice全部更换为你的用户名

# os-specific listings first
yaml file:///home/nice/robot/rosdep/osx-homebrew.yaml osx

# generic
yaml file:///home/nice/robot/rosdep/base.yaml
yaml file:///home/nice/robot/rosdep/python.yaml
yaml file:///home/nice/robot/rosdep/ruby.yaml
gbpdistro file:///home/nice/robot/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

修改为如下图后保存退出(注意:代码中的nice全部更换为你的用户名

然后再次rosdep update一般99%几率成功,如果不成功可评论或私信我

rosdep update成功 

 

        7.配置环境变量

终端输入(下面代码以20.04为例18.04将下面代码中noetic改为melodic即可

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

然后终端输入

source ~/.bashrc
        8.安装rosinstall

20.04终端输入

sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

18.04终端输入

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

至此ROS安装完毕

运行一下roscore验证一下ROS是否安装成功

Ctrl+Alt+T新建一个终端输入

roscore

出现错误Command 'roscore' not found,

解决方法 :重新安装ROS桌面完整版即可

20.04终端输入

sudo apt install ros-noetic-desktop-full

18.04终端输入

sudo apt install ros-melodic-desktop-full

roscore运行成功界面

声明:码字不易,帮到你就点个赞,转载或引用请附上本文原文出处链接哦

<think>首先,用户的问题基于历史引用内容:他们在问如何在Ubuntu系统上安装ROS1。我参考了提供的引用,这些引用是关于在Ubuntu安装ROS的不同版本和方法。关键点从引用中提取:-ROS1安装通常涉及添加仓库、密钥、安装特定包。-对于Ubuntu20.04,推荐安装ros-noetic-desktop-full(引用[1]、[2])。-步骤包括:添加仓库(引用[4]、[5])、添加GPG密钥(引用[3])、初始化rosdep(引用[1])、安装包。-引用[4]提到使用清华大学的镜像源,这可能对用户有帮助。用户的具体问题是:“如何在Ubuntu安装ROS1”,所以我需要提供一个通用的步骤,适配Ubuntu版本。系统级指令要求使用中文回答,LaTeX格式正确,结构清晰。我的回答结构:1.引入:简要解释ROS1安装概述。2.逐步指导:分步描述安装过程。-包括添加仓库、添加密钥、更新apt、安装ROS包、初始化rosdep、设置环境等。-参考引用中的具体命令,并正确添加引用标识。3.生成相关问题:末尾添加ROS安装相关的问题。4.确保回答真实可靠:基于提供的引用和常识。具体步骤整理:1.添加ROS仓库:-`echo"debhttp://packages.ros.org/ros/ubuntu$(lsb_release-sc)main"|sudotee/etc/apt/sources.list.d/ros-latest.list`-参考引用[5]和[4],[4]提到镜像源,所以我应该建议使用镜像源。-[4]:`debhttp://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/`lsb_release-cs`main`-建议用户选择源。2.添加GPG密钥:-`curl-sSLhttps://raw.githubusercontent.com/ros/rosdistro/master/ros.asc|sudoapt-keyadd-`-参考引用[3]。3.更新apt列表:-`sudoaptupdate`4.安装ROS包:-对于Ubuntu20.04:`sudoaptinstallros-noetic-desktop-full`-参考引用[1]和[2]。5.初始化rosdep:-`sudorosdepinit&&rosdepupdate`-参考引用[1]。6.设置环境变量:-通常添加到bashrc:`echo"source/opt/ros/noetic/setup.bash">>~/.bashrc`-`source~/.bashrc`-这是标准步骤,引用中未明确提到,但重要。7.验证安装:`rosversion-d`运行roscore。添加引用标识:-在命令相关部分末尾添加[^数字],参考引用索引。-例如,安装命令来自[^1]、[^2];添加密钥来自[^3];镜像源来自[^4]。生成相关问题:-关于ROS安装的潜在问题,比如“如何验证ROS安装?”、“常见安装错误如何解决?”、“ROS环境配置?”等。确保LaTeX格式:-独立公式用$$...$$,行内用$...$,但用户问题不涉及数学公式,只需一般文本。命令块可以用代码块。-使用代码块表示命令,如示例所示。完整回答结构:1.介绍安装ROS1的概述。2.分步指南,每步描述和命令。3.结束语。4.§§相关问题§§部分。最终回答使用中文。</think> ### 在 Ubuntu 系统上安装 ROS 1 的详细指南 ROS 1(Robot Operating System)是广泛应用于机器人开发的框架。根据您的Ubuntu版本选择合适的ROS版本:Ubuntu 20.04对应ROS Noetic,Ubuntu 18.04对应ROS Melodic[^1]。以下是完整的安装步骤,基于参考引用的最佳实践。 #### 步骤1: 添加ROS仓库和GPG密钥 ROS安装需添加官方仓库源。如果您的网络访问受限,建议使用国内镜像源(如清华大学镜像)提高速度[^4]。运行以下命令添加仓库: ```bash # 添加ROS仓库(默认官方源) sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' # 使用清华镜像源(可选,速度更快) sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list' [^4] [^5] # 添加GPG密钥 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 # 使用替代命令(确保密钥更新) curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - [^3] ``` 该步骤确保apt能验证ROS包的完整性。 #### 步骤2: 更新apt并安装ROS 安装前需更新系统包列表: ```bash sudo apt update [^2] ``` 安装ROS桌面完整版(包含核心工具如rviz和rqt): - Ubuntu 20.04安装ROS Noetic ```bash sudo apt install ros-noetic-desktop-full [^1] [^2] ``` - Ubuntu 18.04安装ROS Melodic ```bash sudo apt install ros-melodic-desktop-full [^1] ``` 安装过程可能需要10-30分钟,取决于网络和系统性能。 #### 步骤3: 初始化和配置ROS环境 安装完成后,初始化ROS依赖管理工具rosdep: ```bash sudo rosdep init rosdep update [^1] ``` 这步骤解决ROS包的依赖关系。 添加ROS环境变量到bashrc文件(确保终端每次启动时加载ROS): ```bash echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc # 若用Noetic,Melodic则替换为melodic source ~/.bashrc # 立即生效 ``` #### 步骤4: 验证安装 运行ROS核心服务测试安装是否成功: ```bash roscore & # 启动ROS master # 新终端运行小海龟模拟器 rosrun turtlesim turtlesim_node # 再开终端控制小海龟 rosrun turtlesim turtle_teleop_key ``` 如果出现图形窗口并可控制海龟移动,表示安装成功。检查版本: ```bash rosversion -d # 输出应类似"noetic" ``` #### 常见问题提示 - **网络问题**:如 `rosdep update` 失败,尝试使用代理修改源为镜像源。 - **权限问题**:所有命令前加 `sudo` 保证权限。 - **版本兼容性**:确保Ubuntu版本和ROS匹配,参考[ROS官方文档](https://wiki.ros.org/)安装ROS 1后,您可通过教程学习基础操作,如创建Workspace[^1]。如果您在途中遇到问题,请在评论区分享具体错误日志。
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Iamsonice

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值