本文介绍如何在 Ubuntu 20.04 安装 ROS Noetic 软件包,并进行简单的测试。

安装步骤

1、配置 Ubuntu 软件仓库

配置 Ubuntu 软件仓库支持 “restricted” “universe” 和 “multiverse” 来源,最简单的方法是在「软件和更新」配置窗口进行勾选,如下图所示。

扩展阅读:Ubuntu 软件源、Ubuntu Repositories

2、设置 sources.list

执行下面命令,设置从官方源(packages.ros.org)下载 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 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

3、设置密钥

密钥的设置需要用到 curl 命令,如果你的系统还没有该命令,请先执行下面命令安装。

sudo apt install curl

然后设置密钥

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

国内开发者可以使用下面命令替代

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

4、开始安装

安装桌面完整版的 ROS Noetic

sudo apt update
sudo apt install ros-noetic-desktop-full

这一步需要一些时间,你可以先去喝一杯茶哦!

5、设置环境变量

安装完成后,需要在你想使用 ROS 的 Bash 终端执行下面命令,以初始化 ROS Noetic 的环境变量。

source /opt/ros/noetic/setup.bash

为了方便使用,可以将其添加到用户的 .bashrc 脚本,这样就可以在每次打开 Bash 终端的时候自动完成设置。

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

如果是用 zsh 的小伙伴,则用下面命令替代

echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

6、安装依赖

到目前为止,你已经安装了运行核心 ROS 包所需的程序。不过为了便于创建和管理你自己的 ROS 工作区,满足日后安装各种工具和软件的需求,建议执行下面命令以安装依赖。例如,rosinstall 是一个经常使用的命令行工具,它使你能够通过一个命令轻松地为 ROS 包下载许多源码树。

想象一下,假设有一个机器人应用程序,它包含了 100 多个程序包,而用户需要在计算机中配置这些包,那么仅仅为这些包安装依赖包就是一件非常困难的事情。在这种情况下,rosinstall 这样的工具就会非常有用!只需要一条指令,便可以完成所有包的安装。

要安装这个工具和其他依赖项来构建 ROS 包,请执行命令:

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

7、初始化 rosdep

在使用其他 ROS 工具之前,还需要初始化 rosdep。Rosdep 工具对于安装 ROS 包的依赖包非常有用,一个 ROS 包可能需要若干个依赖包才能正常工作,Rosdep 会检查依赖包是否可用,如果不可用,它将自动安装这些依赖包。

如果你还没有安装 rosdep,请执行下面命令进行安装(其实上一步已经安装了)。

sudo apt install python3-rosdep

现在,你可以初始化 rosdep 了

sudo rosdep init
rosdep update

8、检查是否安装成功

最后,我们可以使用 rosversion -d 命令验证 ROS 的安装是否正确,如下:

$ rosversion -d
noetic

测试

打开一个新的 Bash 终端,测试 roscore 是否能正常启动

roscore

注意:如果没有配置自动初始化 ROS 环境,则每次开启 Bash 终端都需要执行以下命令。

source /opt/ros/noetic/setup.bash

新开启一个 Bash 终端,执行以下命令启动一个小乌龟模拟器:

rosrun turtlesim turtlesim_node

再开启一个 Bash 终端,在该终端控制小乌龟移动,执行以下命令:

rosrun turtlesim turtle_teleop_key

提示:鼠标必须聚焦在这个终端,按下方向键时乌龟才会移动。

更多测试示例请参考 ROS Tutorials

ROS 机器人操作系统:Ubuntu 安装 ROS Noetic相关推荐

  1. ROS机器人操作系统——如何将ROS与STM32连接(十六)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.两种控制器的功能 二.硬件连接 总结 前言 前面学习了ROS的基本操作,仅仅只使用这个操作系统并没有什么用处,还需要讲他与硬件相结合从而 ...

  2. ROS机器人操作系统——创建工作空间与功能包(四)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...

  3. Ubuntu安装ros rotors 以及中间出现的问题的解决办法

    Ubuntu安装ros rotors 以及中间出现的问题的解决办法 下文列出了我的问题 在文档末尾,自行查看 安装ubuntu 这个网上的教程很多 我使用的是vmware安装,基本上就是连点 我所使用 ...

  4. ubuntu安装ROS melodic(最新、超详细图文教程)

    Ubuntu 安装 ROS ROS安装 准备 方法一(推荐)使用小鱼ROS一键安装 方法二 使用官方教程 配置rosdep 方法一(推荐)使用小鱼ROS一键安装 方法二 通过修改文件 ROS简介: R ...

  5. ROS机器人操作系统底层原理及代码剖析

    0 目的 本文介绍ROS机器人操作系统(Robot Operating System)的实现原理,从最底层分析ROS代码是如何实现的. 1 序列化 把通信的内容(也就是消息message)序列化是通信 ...

  6. ROS机器人操作系统学习笔记(一)--基本概念

    ROS机器人操作系统学习教程(一)–基本概念 1. 基本概念 1.1 ROS背景 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便.功 ...

  7. Windows使用ROS机器人操作系统全面资料汇总

    0 摘要: 本文以Win10系统中安装使用ROS1Melodic和ROS2Dashing为基础,并通过开源硬件设备Arduino与ROS的通信为示例,具体介绍机器人操作系统ROS1和ROS2的细节.部 ...

  8. ROS 机器人操作系统进阶实战

    ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...

  9. ROS机器人操作系统教学与应用的思考

    首先,非常感谢睿慕课提供这样一个宝贵的机会(大会相关报道:19日,20日),讲稿内容是关于我们如何利用互联网.大数据并结合学生认知规律等认真上好一门机器人课程的故事.大会视频介绍链接,具体内容如下: ...

  10. 入门ROS机器人操作系统——准备工作

    近期入门学习ROS机器人操作系统,有时间记录一下踩坑过程,给后来者提供参考,也方便自己后期查阅. 首先,分享几个软件安装包: 1. 虚拟机VMware16 链接:https://pan.baidu.c ...

最新文章

  1. 100W无线充电方案文献调研 - 信息HUB
  2. 一篇文章告诉你:荣耀10 GT为什么叫全能旗舰
  3. SDNE: 阿里应用深度学习进行图嵌入,构造凑单算法模型
  4. oracle 磁盘挂载格式化,Linux简单磁盘挂载
  5. context元素大概解说
  6. 大数据学习之路——新闻大数据的增值应用
  7. python求一个数的因子_求一个整数的所有素数因子的思路是什么?
  8. 现实世界的Windows Azure:采访Definition 6首席技术官Paul Hernacki
  9. Linux - yum安装步骤
  10. Chrome谷歌浏览器离线安装包下载
  11. Juniper Junos DoS漏洞CVE-2017-2345 10.2及相关产品和平台均受影响
  12. linux卸载phpstudy_phpStudy Linux 面板安装教程
  13. 教麦叔了解EMC、EMI、EMS的区别
  14. Python之编写登录接口
  15. 电商物流快递意外延误创意海报设计PSD格式,用心良苦
  16. IT服务外包的必要性
  17. 【五一创作】iSH修改hostname(主机名)【美化】【短篇技术类文章】
  18. 保存照片和视频到相册显示
  19. ug安装lmtools显示未连接服务器,服务器(LMTOOLS)设置教程
  20. 去除bootstrap的table样式中单元格边框线

热门文章

  1. RecyclerView notifyDataSetChanged 图片重新加载问题
  2. js数组对象中的元素求和
  3. 《天天来塔防》游戏分析
  4. xtrabackup软件安装脚本
  5. 【SpringBoot】整合mail发送邮件
  6. NLP: Transformer quick tour
  7. 华为android密码是什么格式的,华为手机怎么给相册设置独立的密码?
  8. 微信用户授权(微信支付前必须准备)
  9. python sanic_关于python-sanic使用的理解
  10. 【优化求解】基于改进的遗传算法求解考虑环境效益DG优化问题含Matlab源码