【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案

2023-05-16

写在前面:

        笔者从大二就开始接触ROS操作系统,期间经历过多次ROS的安装与重装,每一次都痛苦不堪。每一次的安装都会重复踩很多坑,也会踩一些新坑,因此借此机会打算把安装ROS Melodic版本完整步骤整理出来。

        sudo rosdep init和rosdep update出错的可以直接跳到第4步!

目录

1. 添加ROS软件源

2. 添加密钥

3. 安装ROS

4. 初始化rosdep

5. 设置环境变量

6. 安装rosinstall

7. 验证是否安装成功


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

 将Ubuntu软件源更换成中科大的源,选择后再勾选Source code。具体如下图所示:

 更换好国内的源后,执行官方给出的两条安装步骤:

sudo apt update

 成功后的界面如下: 

sudo apt install ros-melodic-desktop-full

 这一步是在完整安装ROS系统,时间略长,大约在10-20分钟。成功后的界面如下: 

 如果没有完全安装成功,可以执行以下命令来修复安装(基本不会用到这条命令):

sudo apt-get -f install ros-melodic-desktop-full

4. 初始化rosdep

 这一步是最容易失败的!

 首先给出官方安装步骤:

sudo rosdep init

 报错:

 解决方案:安装python-rosdep

sudo apt install python-rosdep

 重新执行sudo rosdep init后,报了另外的错:

 就在这两步,笔者卡了整整一天。笔者曾经通过修改hosts文件,添加IP地址成功解决了这个问题。但是在近期重装ROS时发现这一方法已经不再可行。目前国内可用的IP越来越少,笔者把所有的IP都尝试过了,依然无法解决。解决rosdep update超时问题的方法已经不太好用。

 这一步主要是对rosdep初始化。在初始化的过程中需要访问GitHub,而国内访问GitHub着实困难。为了解决这个问题,可以考虑使用https://ghproxy.com/来代理GitHub的资源。具体步骤如下:


① 在/usr/lib/python2.7/dist-packages/rosdep2下打开终端

 执行命令:

sudo gedit ./sources_list.py

 在311行添加如下代码:

url="https://ghproxy.com/"+url

  将72行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_SOURCES_LIST_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list'

 点击Save保存并退出。

② 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./gbpdistro_support.py

 将36行代码修改成如下代码(添加https://ghproxy.com/前缀):

FUERTE_GBPDISTRO_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/' \

 在204行添加如下代码:

gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url

 点击Save保存并退出。

③ 同样在/usr/lib/python2.7/dist-packages/rosdep2文件夹下,执行命令:

sudo gedit ./rep3.py

 将39行代码修改成如下代码(添加https://ghproxy.com/前缀):

REP3_TARGETS_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/releases/targets.yaml'

 点击Save保存并退出。 

④ 在/usr/lib/python2.7/dist-packages/rosdistro/manifest_provider(注意,这一步需要更改当前目录)下,执行命令:

sudo gedit ./github.py

 将119行代码修改成如下代码(添加https://ghproxy.com/前缀):

url = 'https://ghproxy.com/https://raw.githubusercontent.com/%s/%s/%s' % \

 点击Save保存并退出。

⑤ 在/usr/lib/python2.7/dist-packages/rosdistro(注意,这一步需要更改当前目录)下,执行命令:

sudo gedit ./__init__.py

 将68行代码修改成如下代码(添加https://ghproxy.com/前缀):

DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

 点击Save保存并退出。


 接下来执行:

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

 至此完成ROS-Melodic版本的安装。接下来的步骤用来验证ROS是否安装成功。

7. 验证是否安装成功

 打开一个终端,输入:

roscore

  不要关闭前面的终端,另外打开一个终端,输入:

rosrun turtlesim turtlesim_node

  不要关闭前面两个终端,另外再打开一个终端,输入: 

rosrun turtlesim turtle_teleop_key

  如果出现以下窗口,并且可以使用键盘控制小乌龟的运动,则证明安装成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案 的相关文章

  • 【硬核】 ROS Navigation 局部路径规划常见算法

    简介 最近 作者参加了关于RMUS 高校 SimReal挑战赛 首次接触到了机器人导航领域 这里记录一下这段时间的收货 sim2real的全称是simulation to reality 是强化学习的一个分支 同时也属于transfer l
  • ROS之QtCreator开发环境搭建

    文章目录 系统环境 官方教程 安装 卸载 使用 导入工作空间 构建与运行 编写测试程序 系统环境 操作系统 Ubuntu20 04 ROS版本 Noetic 官方教程 按照官方教程或者下面笔记中的内容均能进行环境搭建 笔记中另外做了部分补充
  • ros+arduino学习(六):重构ros_lib库文件

    前言 ros lib是arduino程序和ros连接的库文件 通过使用这些库文件和相关函数 可以在arduino上通过编程使得arduino硬件开ros节点程序 这样arduino硬件就可以与上位机通过话题进行通讯 从而把arduino从传
  • Webots小车与Gampping建图仿真与ORB3算法实践

    此篇博客转自本作者在古月居的博客 https www guyuehome com 34537 前言 在研一的时候 由于XXX项目的需要 其中一项就是需要测试Gmapping建图 自然也要求使用ROS系统 由于之前经常在webots中进行仿真
  • ros 中ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdist

    ros 中ERROR cannot download default sources list from https raw githubusercontent com ros rosdistro master rosdep sources
  • MySQL执行update时的[ERROR 1093]处理方法

    版权声明 声明 本文档可以转载 须署名原作者 作者 无为 qq 490073687 周祥兴 zhou xiangxing210 163 com gt update TEST NOIDX set CREATETIME now where ID
  • ROS诸多调试工具总结1

    ROS有许多调试工具来为ROS调试你的工具 1 rosnode 参数 用法 作用 list rosnode list 查看当前运行了哪些节点 info rosnode info node name 查看该节点发布 接受哪些话题以及服务 ki
  • rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题

    rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题 rospack Warning error while crawling home sun boost filesystem status Permission de
  • Ubuntu下vscode配置ROS环境

    摘要 最近准备放弃用clion开发ROS使用更主流的vscode 整理一下在ubuntu18 04下的VSCode安装和ROS环境配置流程 安装 方法一 软件商店安装 个人还是推荐使用ubuntu软件下载vscode 简单不容易出错 方法二
  • ModuleNotFoundError: No module named ‘rosbag‘

    1 ModuleNotFoundError No module named rosbag File opt ros kinetic lib python2 7 dist packages roslib launcher py line 42
  • ROS rosdep update 出错方法 不需要翻墙切换之类的解决方法 ‘https://raw.githubusercontent.com/ros/rosdistro/master/inde

    系统 ubuntu18 rosdep update参考的这篇文章 https blog csdn net weixin 43311920 article details 114796748 utm source app app versio
  • 激光雷达LMS111在ROS上的使用

    LMS111 10100 在ROS上的测试与使用 准备工作 设备 硬件 LMS111 101000激光雷达 软件 ubuntu16 04 ROS 开始 设备连接 将激光雷达与处理器 电脑 工控机等 通过以太网连接好 激光雷达默认的IP地址为
  • 将 CUDA 添加到 ROS 包

    我想在 ros 包中使用 cuda 有人给我一个简单的例子吗 我尝试使用 cuda 函数构建一个静态库并将该库添加到我的包中 但总是出现链接错误 未定义的引用 cuda 我已经构建了一个可执行文件而不是库并且它可以工作 请帮忙 我自己找到了
  • 如何将曲面拟合到一组数据点并获得曲面方程

    乌班图 ROS 思维 Python程序 我正在尝试获取适合点云数据中的一组点的表面方程 数据来自激光雷达扫描仪 我在 rviz 中选择整个扫描的一部分 并获得该选择的坐标选定表面的图片 所选曲面并不总是如此线性 因为材质中可能存在轻微的曲线
  • 不使用ros编译roscpp(使用g++)

    我正在尝试在不使用ROS其余部分的情况下编译roscpp 我只需要订阅一个节点 但该节点拥有使用旧版本ROS的节点 并且由于编译问题 我无法将我的程序与他的程序集成 我从git下载了源代码 https github com ros ros
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • 在 Ubuntu 18.10 上安装 ROS Melodic

    I can t是唯一对 Cosmic 与 Wayland 和 Melodic 的组合感兴趣的人 我会坦白说 我似乎已经在 XPS 13 9370 上成功管理了此操作 或者至少安装脚本 最终 成功完成 然而 有一个非常棘手的解决方法 无论结果
  • catkin_make后找不到ROS包

    我根据 ROS 的 Wiki 页面创建了一个 ROS 工作区 我还使用创建了一个包catkin create pkg在我刚刚创建的工作区下 然后 按照 ROS Wiki 中的步骤使用以下命令构建包catkin make 构建包后 我插入命令
  • 可以在catkin工作区之外创建ROS节点吗?

    我想在catkin工作区之外创建一个ROS发布者节点 可以创建吗 当然可以 像对待任何其他 cpp 库或 python 包一样对待 ROS 在Python中你必须保留PYTHONPATH环境变量指向ros包 opt ros kinetic
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12

随机推荐

  • 菜鸟专学:从头到尾创建自己的SLAM系统

    RobotSlamApplication项目二 xff1a 小型SLAM系统 研究背景 xff1a 因为之前比较浮躁 xff0c 总是喜欢研究别人的库然后测试跑通 xff0c 效果好就拿来修修改改 然后测试测试就用 xff0c 效果不好就抛
  • 伽马分布与 贝塔分布

    伽马函数 称 为伽马函数 xff0c 其中参数 xff0c 伽马函数具有如下性质 xff1a n为自然数 xff1b 或写作 余元公式 xff1a 对于 有 与贝塔函数 的关系 对于 伽马函数是严格凹函数 x足够大时 xff0c 可以用St
  • Hanoi汉诺塔步骤实现图示说明(C程序设计,例7.8)

    一 题目 古代有一个梵塔 塔内有3个座A B C 开始时A座上有64个盘子 盘子大小不等 大的在下 小的在上 如下图所示 有个老和尚想把这64个盘子从A座移到C座 但规定每一次只允许移动一个盘 且在移动过程中在3个座上都始终保持大盘在下 小
  • PX4飞行模式整理

  • docker打包、部署、添加用户组

    docker的打包与部署 参考文章 xff1a link 1 xff0c 查看当前正常运行的容器 docker ps docker ps a 显示所有容器 xff0c 包括未运行容器 2 xff0c 将正在运行的容器打包成镜像 docker
  • 树莓派VNC连接失败,认证界面无法输入用户名

    文章目录 问题背景思考 xff1a 解决方法 xff1a 第一步 xff1a 使用命令新建桌面 xff1a 第二步 xff1a vnc客户端连接时 xff0c 并且指定桌面号连接成功 xff01 优化方案 xff1a 参考引用 问题背景 由
  • vue按钮获取元素

    下面展示一些 内联代码片 64 click 61 34 search event 34 search e 获取所有元素 console log e 获取文字 console log e currentTarget innerText
  • ORBSLAM2在Ubuntu20.04&ROS noetic下配置与测试

    在解决问题过程中看了很多大佬的文章 总结一下资源及bug及bug可能有效的解决方案 有些忘了 1 bug 最常见的应该是编译器版本不同和库文件版本不同导致的语法差异 1 1 Eigen版本问题 CMakelist 44行改为find pac
  • 虚拟机开机黑屏(硬盘空间不足)

    1 现象 开机后正常运转 xff0c 出现 11 548785 piix4 smbus 0000 00 07 3 SHBus Host Controller not enabled i12 241671 sd 32 0 0 0 sda As
  • slam报错大讲堂

    1 g2o链接文件找不到 error while loading shared libraries libg2o csparse extension so cannot open shared object file No such fil
  • initramfs错误导致无法进入系统

    说是不正常关机 导致的错误 总之就是开不了机了 并且弹出对话框 不知道输入啥 查网上说要 strong span style color 4da8ee fsck t ext4 dev sda1 span strong 但是没有卵用 其实到这
  • ubuntu下vscode 突然打不开

    https stackoverflow com questions 51027327 ubuntu 18 04 var lib snapd has other write 40777 报错如下 xff1a var lib snapd has
  • 普罗米修斯踩坑解法大合集

    主流1 仿真环境下报错 Not arming geofence RTL requiers valid home xff1b 以及Compass Sensors inconsistent等 去年买的跑个仿真还有地理围栏和校准传感器 xff0c
  • python集合问题大合集

    1 python 多维列表初始化 Python的列表相比于c 43 43 xff0c 很坑爹的一点是如果访问未赋值列表单元的位置 xff0c 是不能直接访问的 xff08 而c 43 43 有默认值为0 xff09 xff0c 例如 xff
  • 零基础入门无人机--无人机姿态--2

    四旋翼在其四个轴臂上四个桨的高速转动作用下 xff0c 会受到四个桨的拉力 xff0c 拉力方向与机身垂直 xff0c 当四个桨产生的拉力总和大于机身重力时 xff0c 飞机处于上升状态 xff1b 当总拉力小于机身重力时 xff0c 飞机
  • 使用harbor搭建docker私有仓库

    1 安装私有仓库 参照 xff1a https blog csdn net qq 35959573 article details 80664353 xff1b https www jianshu com p 32f077a3960e xf
  • python奇im巧技大合集

    1 嵌套函数下层函数修改上层函数变量值 问题 xff1a 在嵌套函数 xff0c 即def fun1 def fun2 类型的函数中 xff0c 如果函数fun2想要修改fun1中的变量 xff0c 就不能用global 来声明变量了 xf
  • linux系统下编译错误大合集

    1 pcl库相关报错 error divscalar is not a member of pcl traits error plus is not a member of pcl traits 后面一定还有一长串报错 xff09 解法 x
  • VSCode使用git-【界面化处理】

    此教程从创建一个git项目开始处理 xff0c 内容比较细致 xff0c 可以摘取需要的部分观看 目录 在gitee上创建一个git项目 VSCode同步远程代码仓库 git的提交操作 中途的小问题 回归正题 git的拉取操作 1 两个人在
  • 【ROS】Ubuntu18.04下安装ROS-Melodic的步骤及rosdep update报错的解决方案

    写在前面 xff1a 笔者从大二就开始接触ROS操作系统 xff0c 期间经历过多次ROS的安装与重装 xff0c 每一次都痛苦不堪 每一次的安装都会重复踩很多坑 xff0c 也会踩一些新坑 xff0c 因此借此机会打算把安装ROS Mel