ROS机器人编程学习(二)——机器人操作系统ROS

《ROS机器人编程》第2章 机器人操作系统ROS
本章主要围绕机器人操作系统ROS,介绍了ROS的基本概念、什么是“元操作系统”、以及ROS具有的基本特征;然后进一步介绍了ROS的构成组件,以及由硬件制造商、操作系统公司、应用程序(APP)开发人员、使用智能手机的用户连接起来构架的ROS生态系统;最后,介绍了ROS系统的发展历史和版本安装内容(这一部分内容讲述较为直观,因此并未进行归纳)。

1 ROS的基本概念

1.1 维基百科对ROS的定义

  • ROS是一个开放源代码的机器人元操作系统。
  • 它提供了我们对操作系统期望的服务,包括硬件抽象、低级设备控制、常用功能的实现、进程之间的消息传递以及功能包管理。
  • 它还提供了用于在多台计算机之间获取、构建、编写和运行代码的工具和库。

1.2 元操作系统

  • 元操作系统是一个利用应用程序和分布式计算资源之间的虚拟化层来运用分布式计算资源来执行调度、加载、监视、错误处理等任务的系统。
  • ROS本身并不是一种操作系统,而是基于现有的操作系统,比如Ubuntu。
  • ROS是在使用现有的传统操作系统的同时,通过使用硬件抽象概念来控制机器人应用程序所必需的机器人和传感器,同时也是开发用户的机器人应用程序的支持系统。
  • ROS数据通信可以在不同系统、多种硬件和程序之间进行。

作为元操作系统的ROS

1.3 ROS的特征

  • 分布式进程:以可执行进程的最小单位(节点,Node)的形式进行编程,每个进程独立运行,并有机地收发数据。
  • 功能包单位管理:由于它以功能包的形式管理多个具有相同目的的进程。
  • 公共存储库:功能包公开给开发人员首选的公共存储库(如GitHub),并标识许可证。
  • API类型:ROS被设计为可以简单地通过调用API将其加载到代码中。
  • 支持多种编程语言

2 ROS的组件和生态系统

2.1 ROS的组件

  1. 支持多种编程语言的客户端库
  2. 用于控制硬件的硬件接口
  3. 数据通信通道
  4. 编写应用程序的机器人应用框架(Robotics Application Framework)
  5. 基于框架的服务应用程序-Robotics Application
  6. 软件开发工具(Software Development Tool)
  7. 在虚拟空间中控制机器人的仿真(Simulation)工具
    ROS的组件

2.2 ROS的生态系统

  • 生态系统(Ecosystem):
    是指将硬件制造商、操作系统公司、应用程序(APP)开发人员以及使用智能手机的用户连接起来的结构。

ROS生态系统

猜你喜欢

转载自blog.csdn.net/slender_1031/article/details/108366978