ROS学习01.初识ROS

目录

  • 1.1 ROS是什么
    • 1.1.1 ROS的起源
    • 1.1.2 ROS的设计目标
    • 1.1.3 ROS的特点
  • 1.2 如何安装ROS
    • 1.2.1 操作系统和ROS版本选择
    • 1.2.2 配置系统软件源(Ubuntu 软件仓库)
    • 1.2.3 添加ROS软件源(修改sources.list)
    • 1.2.4 添加公钥
    • 1.2.5 安装ROS
    • 1.2.6 初始化 rosdep
    • 1.2.7 设置环境变量
    • 1.2.8 安装依赖
  • 1.3 本章小结
  • 参考文献

1.1 ROS是什么

1.1.1 ROS的起源

ROS(Robot Operating System)是一种应用于机器人开发的通用软件框架。它集成了大量的工具、库、协议,提供了类似操作系统所提供的功能。
ROS最初应用于斯坦福大学人工智能实验室与机器人技术公Willow Garage合作的个人机器人项目(Personal Robots Program):

  • 2008年后有Willow Garage维护。
  • 2010年,Willow Garage 正式以开放源码的形式发布了ROS框架,并很快在机器人研究领域掀起了ROS开发和应用的热潮。

在短短几年间,各大机器人平台几乎都支持ROS框架,如Pioneer、Aldebaran Nao、TurtleBot、Lego NXT、AscTec Quadrotor等。
ROS的迅猛发展已经使它成为机器人领域的事实标准。

1.1.2 ROS的设计目标

  • 设计目标:提高机器人研发中的软件复用率。
  • 实现方法:被设计成一种分布式结构,使得框架中的每个功能模块都可以被单独设计、编译、并且在运行时以松散耦合的方式结合在一起。
  • 为机器人开发提供的功能:硬件抽象、底层驱动、消息传递、程序管理、应用原型等功能和机制。同时,整合了许多第三方工具和库文件,帮助用户快速完成机器人应用的建立、编写和多机整合。
  • 便于共享和分发的设计:将ROS中的功能模块都封装与独立的功能包(Package)或元功能包(Meta Package)中。

ROS的出现就是为了鼓励更多的开发者、实验室或研究机构共同协作来开发机器人软件。

1.1.3 ROS的特点

核心:分布式 络。使用了基于TCP/IP的通信方式,实现了模块间点对点的松耦合连接,可以执行若干种类型的通信,包括基于话题(Topic)的异步数据流通信,基于服务(Service)的同步数据流通信,还有参数服务器上的数据存储等。

  1. 点对点的设计:每个进程以一个节点的形式分布于不同主机上;节点通信通过一个带有发布和订阅功能的RPC传输系统实现;可以分散定位、导航等功能带来的实时计算压力,适应多机器人的协同工作。
  2. 多语言支持:ROS被设计出一种语音弱相关的框架结构,支持更多应用的移植和开发。
  3. 架构精简、集成度高:框架模块化,使得每个功能点可以进行单独编译,并且使用统一的消息接口让模块的移植、复用更加便捷;ROS开源 区中移植、集成了大量已有开源项目中的代码,开发者可以使用丰富的资源实现机器人应用的快速开发。
  4. 组件化工具包丰富:ROS采用组件化的方法,将一些友好的可视化工具和仿真软件集成到系统中,并可以作为一个组件直接使用。此外,ROS中还有消息查看工具、物理仿真环境等组件,提高了机器人开发的效率。
  5. 免费并且开源:ROS遵照BSD许可,允许使用者修改和重新发布其中的应用代码,甚至可以进行商业化的开发和销售。在ROS开源 区中,开发者可以下载、复用琳琅满目的机器人功能模块,大大加速了机器人的应用开发。

1.2 如何安装ROS

1.2.1 操作系统和ROS版本选择

ROS维基 区:http://wiki.ros.org/cn/community
操作系统选择:Ubuntu 18.04 LTS
ROS版本选择:ROS针对不同操作系统,发布了相对于的版本。选择对应于Ubuntu 18.04 LTS的版本,ROS Melodic Morenia版本
安装方式
参考:http://wiki.ros.org/cn/melodic/Installation/Ubuntu

  • 软件源安装:直接安装编译好的软件包比从源码编译安装更加高效,这也是我们在 Ubuntu 上的首选安装方式。只要通过简单的命令即可从应用仓库中找到需要的软件并完成下载安装。
  • 源码编译安装(不推荐):相对复杂,需要手动解决繁杂的软件依赖关系,更适合那些对系统比较熟悉而且希望在未支持的平台上安装ROS的开发者。

1.2.2 配置系统软件源(Ubuntu 软件仓库)

配置你的 Ubuntu 软件仓库(repositories) 以允许 “restricted”、“universe” 和 “multiverse”这三种安装模式。 你可以按照 Ubuntu 中的配置指南来完成配置。
如下图所示:

1.3 本章小结

记录了在Ubuntu18.04操作系统上,搭建最新的ROS Melodic Morenia版本的开发环境,使用的安装命令和遇到的错误解决过程。

参考文献

[1] 胡春旭编著.ROS机器人开发实现[M].机械工业出版 .2018:1-10
[2] 在 Ubuntu 中安装 ROS Melodic
[3] Ubuntu 中的配置指南
[4] 安装ROS时执行到sudo rosdep init时出现sudo: rosdep:找不到命令提示
[5] sudo rosdep init ERROR: cannot download default sources list from:【closed】
[6] 基于Ubuntu18.04的ROS Melodic环境详细配置(含各种大坑及填坑)
[7] 如何解决ROS “roscore command not found”

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月1日
下一篇 2020年8月1日

相关推荐