ROS学习:什么是ROS?
前段时间开始接触和学习 ROS , 特此纪录,希望能学有所成吧。
ROS起源与发展
- 进入本世纪后, 人工智能研究进入了全面发展的新阶段, 包括全方位具体的 AI 技术, 如斯坦福大学人工智能实验室(Stanford Artificial Intelligence Research, STAIR)项目, 该项目组开发了灵活且动态的原型系统, 用于推动机器人技术的发展。
- 2007年, Willow Garage 公司与该项目组展开合作, 具有前瞻性地提供了大量资源以进一步扩展这些概念. 经过具体的研究验证后得以实现, 许多研究人员将其专业知识贡献至 ROS 核心概念及其基础软件包. 在此期间, 我们积累了许多科学研究成果.
- ROS 软件开发始终采用开放的 BSD 协议, 已逐渐成为机器人技术研究领域中的一个广泛使用的平台.
- Willow Garage 公司与斯坦福大学人工智能实验室合作后于 2009 年初发布了 ROS 0.4 版本. 这个测试版为后续系统的框架奠定了重要基础.
ROS到底是什么?
- ROS是一个用于机器人编程的重要平台,该平台通过整合分散的组件,建立了统一的通信架构。
- ROS尽管被称为"操作系统",但并不是像Windows或Mac那样传统意义上的操作系统,而是作为运行时环境连接着各个操作系统的开发人员与基于ROS的应用程序,扮演了一个关键角色,通过构建沟通桥梁,使得基于ROS的应用程序得以高效运行。
- 在此背景下,机器人不仅具备视觉信息处理能力,还拥有自主判断能力以及执行动作的能力。
ROS的特点
-
ROS具有这些特点:
-
分布式架构
-
ROS采用了基于分布式的架构设计。在基于点对点的设计理念下进行开发时,默认情况下每个机器人节点都是独立运行的,并且支持灵活配置以实现模块化的扩展与维护。
-
该系统具备较高的冗errance tolerance(冗余错误容忍度),能够有效减少操作失误带来的影响。
-
支持多种编程语言
-
ROS兼容多种主流编程语言(如C++、Python),这些编程语言已经在ROS框架下实现了集成;此外,Lisp、C#以及Java等主流开发平台也已完成其测试库的开发工作。
为了满足多平台开发需求,在设计过程中采用了通用接口协议(Interface Definition Language),通过这种协议实现了模块间的消息传递机制。
直观理解是:无论采用哪种编程方式编写代码,在ROS系统内部都遵循统一的消息规范,并采用了独特的通信架构。 -
开源生态系统
-
ROS拥有庞大的开源社区支持平台ROS-WIKI(http://wiki.ros.org/)。该平台将始终成为你的得力助手,在进行ROS开发时无论是帮助你查询功能包参数、解答技术问题还是获取最新资讯都会提供便利服务。截至目前,在ROS生态中已发展出数千万个功能完善的软件包目前支持超过一千款各类机器人系统。这些软件均遵循BSD开源协议完全免费适用于个人及商业用途,并可任意修改源代码。这种开放共享的发展模式也推动了整个领域的普及与繁荣。
ROS优缺点
ROS为我们开发机器人带来了许多方便,然而它也确实存在一些问题:
-
优点:
- 提供框架、工具和功能
- 方便移植
- 庞大的用户群体
- 免费开源
-
缺点:
-
通信实时性能存在局限
* 系统稳定性未能达到工业级标准
* 安全防护措施缺失
总体而言而言而言
针对实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的实际应用场景的问题
针对实际应用场景的实际应用场景的问题问题问题问题问题问题问题问题问题问题问题问题问题的问题
ROS 2.0 进行了较大地改进而对于这一版本的具体改进内容目前尚未完全公开而对于这一版本的具体改进内容目前尚未完全公开而对于这一版本的具体改进内容目前尚未完全公开
ROS 2.0 进行了较大地改进而对于这一版本的具体改进内容目前尚未完全公开而对于这一版本的具体改进内容目前尚未完全公开
其未来的性能表现仍待观察对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度对于这一阶段的发展趋势仍可持乐观态度
=================================================================
本文作为笔记查阅之用,无涉其他用途。
