前言:
今天是2020年9月1日,Slender博客正式启用!从新的学年开始从头记录每一阶段的学习进程,有时间的话也会把以往的学习内容整理放上来。今天开始从头学习《ROS机器人编程》(哦,我的老天,这书的中文版有496页),会按照章节依次进行学习内容记录,以便于复习巩固。
《ROS机器人编程》第1章 机器人软件平台,主要介绍了机器人开发的现状和机器人平台的基本组件,重点介绍了目前较为活跃的机器人软件平台,其中机器人操作系统ROS (Robot Operating System) 使用最为广泛。
1.1 平台的组件
- 硬件、操作系统、应用程序和用户等四个要素在IT行业中通常被称为平台的生态系统(Ecosystem)的四个要素。
- 操作系统(Windows、Linux、Android、iOS等)的引入导致了硬件和软件接口的集成,从而实现了硬件模块化。
- 生态系统的4大组成要素和PC 、 PP 、 PR的历史的共同点
1.2 机器人软件平台
- 平台:软件平台和硬件平台。
- 机器人软件平台:不仅包括机器人应用中使用的硬件抽象、子设备控制,以及机器人工程中常用的传感、识别、实时自定位和绘图(SLAM)、导航(Navigation)和机械臂控制(Manipulation)等功能的实现,还包含功能包管理、开发环境所需的库、多种开发/调试工具。
- 机器人硬件平台:不仅包括移动机器人、无人机和人形硬件研究平台,还包括正在商业化的诸如SoftBank的Pepper和MIT Media Lab的Jibo等产品。
- 具有代表性的、用于机器人开发的软件平台中有:
- 机器人操作系统ROS (Robot Operating System)
- 日本的开放式机器人技术中间件(OpenRTM)
- 欧洲的实时控制为中心的OROCOS
- 韩国的OPRoS
1.3 机器人软件平台的必要性
“为什么要使用机器人软件平台?”
ROS不需要完全重新开发已有的系统和程序,而是通过加入一些标准化的代码就能对已有的非ROS程序进行ROS化的转化。
它的五种基本特点:
- 程序的可重用性
实现功能程序的开发、下载和共享 - 基于通信的程序
将各处理器的用途组件化或节点化,由划分为最小执行单元的节点之间发送和接收数据,平台具有关于该数据通信的所有一般信息 - 提供开发工具
ROS提供调试相关的工具 — 2维绘图和3维视觉化工具RViz - 活跃的开发者社区
- 生态系统的形成
ROS现在已经开始构建生态系统。在这个正在形成的生态系统里,机器人硬件领域的开发者、ROS开发运营团队、应用软件开发者以及用户也能像机器人公司和传感器公司一样从中受益。
1.4 机器人软件平台将带来的未来
目前比较活跃的机器人软件平台和相应的群体有:
- MSRDS: Microsoft Robotics Developer Studio,美国 Microsoft
- ERSP: Evolution Robotics Software Platform,欧洲 Evolution Robotics
- ROS: Robot Operating System,美国 Open Robotics 12
- OpenRTM: 日本工业技术综合研究所(AIST)
- OROCOS: 欧洲
- OPRoS: 韩国 ETRI, KIST, KITECH,江原大学
- NAOqi OS: 日本软银和法国阿尔德巴兰(Aldebaran)
除此之外,Player、YARP、MARIE、URBI、CARMEN、Orca、MOOS等也属于
这个范畴。