ROS学习笔记1-引言
2024-10-08 12:44:17
该学习笔记参考ROS官方wiki的内容,见:http://wiki.ros.org/ROS/Introduction
- 什么是ROS
ROS的全称是Robot Operating System,即机器人操作系统,他能提供类似操作系统的一些功能:硬件抽象、底层设备控制、通用功能的实现、进程间消息传递和包管理等。
同时提供了工具来获取、编译、编写并在不同计算机上运行代码。ROS不同于通用的操作系统Windows或Linux这些,他更像一个通用的机器人软件框架。
ROS在运行时通过进程间的对等(Peer2Peer)网络通信使节点之间进行松耦合,ROS支持多种不同调用方式,包括基于服务(Service)的RPC方式通信(远程过程调用)、通过主题(Topic)进行异步数据流通信以及通过参数服务器(Parameter Server)进行数据存储,ROS不是一个实时框架,但是可以和实时代码进行集成。 - ROS的目标
ROS的主要目标是为了代码共享和协作,本质是方便独立开发和代码重用。目标详述如下:- 轻薄(Thin):不会对main()函数进行封装,这样可以使ROS中使用的代码便于集成到其它软件框架中。
- 不可知(agnostic)ROS库:合适的开发方式是使用干净的接口编写功能代码作为ROS库。
- 语言无关:ROS框架可以在任何现代语言中实现,已经在Python,C++和LISP中实现,也有在Java和Lua中写的实验库。
- 易于测试:ROS有内建的测试框架rostest便于进行测试。
- 不同尺度:ROS也适合与大规模的实时系统和进程的开发。
- 操作系统
ROS当前只支持基于Unix的操作系统,例如Linux和Mac OS,以后也有可能移植到Windows,但是现在还没有做这部分工作。
最新文章
- Redis的介绍及使用实例.
- C#面向对象的学习笔记
- Java语言基础(七)
- 10.30 morning
- KMP算法的Next数组详解(转)
- CUMCM--总结
- NodeJs+Express实现简单的Web增删改查
- 打印时鼠标键盘移动的div创建
- .net基础第一天
- 对html语义化的理解
- Apache Beam实战指南 | 手把手教你玩转大数据存储HdfsIO
- 5、Docker容器网络
- 构建企业 YUM仓库
- spring中的@Bean是否一定要与@Configuration一起用
- c语言cJson数组生成与解析
- ASP.NET 加密解密
- JAVAWEB 一一SpringMVC(XML配置)
- 搭建SpringBoot、Jsp支持学习笔记
- 使用mongodump及mongorestore备份及恢复数据
- 【数论】【扩展欧几里得】Codeforces Round #484 (Div. 2) E. Billiard
热门文章
- php7 Memcached
- ES6-使用模板字符串完成字符串拼接
- Oracle的TO_CHAR()格式化数字为百分数的字符串
- 解决CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64
- Mysql安装 ---->; 基于源码包安装
- leetCode练题——21. Merge Two Sorted Lists(照搬大神做法)
- php cli 下 php.ini 配置
- Struts配置文件报错";元素类型为 ";package"; 的内容必须匹配";
- nginx日志模块与HTTP过滤模块与sub模块修改返回内容
- W - Prime Time 素数判断+前缀和