站点图标 AI技术聚合

【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程

ROS安装指南

目录

  • ROS安装指南
      • 前言
        • 一、配置Linux清华镜像源
          • 1.1 介绍
          • 1.2 开始配置
        • 二、安装ROS
          • 2.1 ROS的介绍
          • 2.1 开始安装:配置公钥
          • 2.2 系统更新
          • 2.3 安装ROS
        • 三、配置ROS
          • 3.1 初始化rosdep
          • 3.2 环境变量设置
          • 3.3 安装 rosinstall
          • 3.4 测试ROS
          • 3.5 安装完成
        • 四、相关报错解决
          • 4.1 rosdep update 报错
          • 4.2 roscore 报错
            • 4.2.1 报错内容
            • 4.2.2 解决办法
          • 4.3 rosrun turtlesim turtlesim_node 报错1
            • 4.3.1 报错内容
            • 4.3.2 解决办法
          • 4.4 rosrun turtlesim turtlesim_node 报错2
            • 4.4.1 报错内容
            • 4.4.2 解决办法

      前言

      由于自己装过两次 ROS,但是重头再来一遍还是遇到了很多困难。尤其是当遇到以前遇到过的问题,我依然会手足无措,翻边互联网的边边角角,试很多遍错才能解决问题。于是便萌发了写下这个ROS安装指南的想法。

      这里整理了我安装 ROS 的流程以及遇到的所有问题,也提供了有效的解决方式,如有其他问题或者补充,欢迎评论区留言给我。

      希望此篇 blog 能够对你产生一些帮助OvO

      一、配置Linux清华镜像源

      1.1 介绍

      我们在下载很多基础的工具请求的基本上是国外的服务器,这对于国内用户来说,无疑是非常糟糕的体验,其下载速度慢、请求失败往往成为很多刚入门Linux的小白最大的困扰。
      不过好在国内有着稳定高速且免费的镜像网站,我们可以通过修改系统配置文件来享受这些优秀的网站资源。

      清华源:https://pypi.tuna.tsinghua.edu.cn/simple/
      阿里云:https://mirrors.aliyun.com/pypi/simple
      中科大:https://pypi.mirrors.ustc.edu.cn/simple/

      1.2 开始配置

      这里我以 Ubuntu 20.04LTS 为例来配置 清华源

      首先进入清华大学开源软件镜像站(https://mirrors.tuna.tsinghua.edu.cn)

      在列表里选择自己的系统,这里我选择的是 Ubuntu,点击后面的问号图案

      进入后选择自己的系统版本 20.04LTS

      随即文本框中会生成你需要的 sources.list 文件内容,打开 Ubuntu 的终端,输入下面的命令

      sudo apt update
      
      # 将 sources.list 拷贝到桌面
      cp /etc/apt/sources.list ~/Desktop 
      
      # 打开 sources.list 进行编辑
      sudo gedit /etc/apt/sources.list
      

      打开文件后,将里面的所有内容替换为之前网页内文本框里的内容,例如

      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
      
      # 预发布软件源,不建议启用
      # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
      

      然后保存关闭,这样清华源就配置好啦!

      二、安装ROS

      2.1 ROS的介绍

      ROS 是机器人操作系统(Robot Operating System)的英文缩写,虽然叫做操作系统,但并不是真正意义上的操作系统,而是一个面向机器人的开源的开发平台。
      它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

      2.1 开始安装:配置公钥

      在前面的操作中,我们已经为完成了国内源的配置,这将会让我们后面的install 一路畅通。不过还需要再做一个准备,那就是配置公钥

      公钥是 Ubuntu 系统的一种安全机制,配置公钥让系统信任。

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

      2.2 系统更新

      更新系统,确保自己的Debian软件包和索引是最新的。

      sudo apt-get update
      

      2.3 安装ROS

      大家注意自己的 Ubuntu 版本,我的是 20.04 对应的是 ROS 版本是 noetic

      大家也可以根据自己的 Ubuntu 版本去百度自己的对应的 ROS 版本

      # Ubuntu 20.04 
      sudo apt install ros-noetic-desktop-full
      
      # Ubuntu 18.04 
      sudo apt install ros-melodic-desktop-full
      

      三、配置ROS

      3.1 初始化rosdep

      sudo rosdep init && rosdep update
      

      如果这里出现了报错问题,可以跳转至该文章的4.1部分

      3.2 环境变量设置

      这里容易出错,大家直接复制粘贴就好

      注意对应自己的版本修改目录名

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

      3.3 安装 rosinstall

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

      3.4 测试ROS

      打开第一个终端窗口,运行 roscore

      roscore
      

      出现如下图的情况,就证明运行成功

      打开第二个终端窗口,输入:

      rosrun turtlesim turtlesim_node
      

      当出现有一个海龟的窗口,证明运行成功了

      打开第三个终端窗口,输入:

      rosrun turtlesim  turtle_teleop_key
      


      出现这样的提示后,我们用鼠标聚焦第三个终端窗口,便可以通过按下 ↑ ↓ ← →键来对小海龟进行控制了。

      3.5 安装完成

      到了这里,恭喜你已经完成了ROS的安装、配置且运行。

      祝你日后的 ROS 学习也更加畅通无阻!

      四、相关报错解决

      4.1 rosdep update 报错

      由于 rosdep update 请求的网站是 raw.githubusercontent.com,对于大部分人来说,该命令报错的原因主要是 timed out

      网上一般的方法都是通过修改 /etc/ros/rosdep/sources.list.d/20-default.list 的请求地址。但我自己通过这个方法并不能解决问题,报错中仍然出现请求 raw.githubusercontent.com 时出现 timed out

      好在有我们的 鱼香ROS 大神基于 rosdep 源码写的 rosdepc ,专门服务国内ROS用户。

      rosdepc: https://zhuanlan.zhihu.com/p/398754989

      文章里写的教程非常详细,大家可以直接去参考这篇文章。

      4.2 roscore 报错

      4.2.1 报错内容
      Resource not found: roslaunch
      ROS path [0]=/opt/ros/noetic/share/ros
      ROS path [1]=/opt/ros/noetic/share
      The traceback for the exception was written to the log file
      
      4.2.2 解决办法

      注意将 noetic 替换为对应版本

      sudo apt-get install ros-noetic-roslaunch
      

      4.3 rosrun turtlesim turtlesim_node 报错1

      4.3.1 报错内容
      Command 'rosrun' not found, but can be installed with:
      
      sudo apt install rosbash
      

      我们按照提示输入

      sudo apt install rosbash
      

      发现根本不起作用

      4.3.2 解决办法

      注意将 noetic 替换为对应版本

      sudo apt install ros-noetic-rosbash
      

      4.4 rosrun turtlesim turtlesim_node 报错2

      4.4.1 报错内容
      [rospack] Error: package 'turtlesim' not found
      
      4.4.2 解决办法

      注意将 noetic 替换为对应版本

      sudo apt-get install ros-noetic-turtlesim
      

      文章出处登录后可见!

      已经登录?立即刷新
      退出移动版