该学习笔记参考ROS官方wiki的内容,见:http://wiki.ros.org/ROS/Introduction

  1. 什么是ROS
    ROS的全称是Robot Operating System,即机器人操作系统,他能提供类似操作系统的一些功能:硬件抽象、底层设备控制、通用功能的实现、进程间消息传递和包管理等。
    同时提供了工具来获取、编译、编写并在不同计算机上运行代码。ROS不同于通用的操作系统Windows或Linux这些,他更像一个通用的机器人软件框架。
    ROS在运行时通过进程间的对等(Peer2Peer)网络通信使节点之间进行松耦合,ROS支持多种不同调用方式,包括基于服务(Service)的RPC方式通信(远程过程调用)、通过主题(Topic)进行异步数据流通信以及通过参数服务器(Parameter Server)进行数据存储,ROS不是一个实时框架,但是可以和实时代码进行集成。
  2. ROS的目标
    ROS的主要目标是为了代码共享和协作,本质是方便独立开发和代码重用。目标详述如下:
    • 轻薄(Thin):不会对main()函数进行封装,这样可以使ROS中使用的代码便于集成到其它软件框架中。
    • 不可知(agnostic)ROS库:合适的开发方式是使用干净的接口编写功能代码作为ROS库。
    • 语言无关:ROS框架可以在任何现代语言中实现,已经在Python,C++和LISP中实现,也有在Java和Lua中写的实验库。
    • 易于测试:ROS有内建的测试框架rostest便于进行测试。
    • 不同尺度:ROS也适合与大规模的实时系统和进程的开发。
  3. 操作系统
    ROS当前只支持基于Unix的操作系统,例如Linux和Mac OS,以后也有可能移植到Windows,但是现在还没有做这部分工作。

最新文章

  1. Redis的介绍及使用实例.
  2. C#面向对象的学习笔记
  3. Java语言基础(七)
  4. 10.30 morning
  5. KMP算法的Next数组详解(转)
  6. CUMCM--总结
  7. NodeJs+Express实现简单的Web增删改查
  8. 打印时鼠标键盘移动的div创建
  9. .net基础第一天
  10. 对html语义化的理解
  11. Apache Beam实战指南 | 手把手教你玩转大数据存储HdfsIO
  12. 5、Docker容器网络
  13. 构建企业 YUM仓库
  14. spring中的@Bean是否一定要与@Configuration一起用
  15. c语言cJson数组生成与解析
  16. ASP.NET 加密解密
  17. JAVAWEB 一一SpringMVC(XML配置)
  18. 搭建SpringBoot、Jsp支持学习笔记
  19. 使用mongodump及mongorestore备份及恢复数据
  20. 【数论】【扩展欧几里得】Codeforces Round #484 (Div. 2) E. Billiard

热门文章

  1. php7 Memcached
  2. ES6-使用模板字符串完成字符串拼接
  3. Oracle的TO_CHAR()格式化数字为百分数的字符串
  4. 解决CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64
  5. Mysql安装 ----> 基于源码包安装
  6. leetCode练题——21. Merge Two Sorted Lists(照搬大神做法)
  7. php cli 下 php.ini 配置
  8. Struts配置文件报错"元素类型为 "package" 的内容必须匹配"
  9. nginx日志模块与HTTP过滤模块与sub模块修改返回内容
  10. W - Prime Time 素数判断+前缀和