机器人开发学习(一)

ROS---2010年Willow Garage公司发布了开源机器人操作系统ROS(robot operating system),本质上是一个分布式系统架构,提供标准的通讯结构,实现功能的集成。


ROS是开源的,是用于机器人的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建立、编写和运行多机整合的程序。


ROS的首要设计目标是在机器人研发领域提高代码复用率。ROS是一种分布式处理框架(又名Nodes)。这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS还支持代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由ROS的基础工具实现。


主要特点:

1、点对点设计。ROS的点对点设计以及服务和节点管理器等机制可以分散由计算机视觉和语音识别等功能带来的实时计算压力,能够适应多机器人遇到的挑战。

2、多语言支持。ROS支持许多种不同的语言,例如C++、Python、Octave和LISP,也包含其他语言的多种接口实现。

3、精简与集成。ROS建立的系统具有模块化的特点,各模块中的代码可以单独编译,而且编译使用的CMake工具使它很容易的就实现精简的理念。ROS基本将复杂的代码封装在库里,只是创建了一些小的应用程序为ROS显示库的功能,就允许了对简单的代码超越原型进行移植和重新使用。

4、工具包丰富。大量的小工具去编译和运行多种多样的ROS组建,设计成内核。

5、免费且开源。ROS所有的源代码都是公开发布。

学习来自:ROS探索总结-1. ROS目录和简介 - 创客智造ROS简介本系列文档来自古月居授权转载,官方网址:http://www.guyuehome.com系列目录ROS探索总结-1.ROS简介ROS探索总结-2.ROS总体框架ROS探索总结-3.RO...icon-default.png?t=L892https://www.ncnynl.com/archives/201609/838.html

你可能感兴趣的:(机器人,自动驾驶,c++,ubuntu)