机器人操作系统   (Robot Operating System, 或简称 ROS),它可以帮助提高机器人软件的开发效率。

ROS 系统的官方定义如下:

ROS是面向机器人的开源的元操作系统(meta-operating system) 或次级操作系统。它能够提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、常用功能实现、进

程间消息传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑代码以及在多个计算机之间运行程序完成分布式计算。

特点:

1、分布式计算

现代机器人系统往往需要多个计算机同时运行多个进程,例如:一些机器人搭载多台计算机,每台计算机用于控制机器人的部分驱动器或传感器;
        即使只有一台计算机,通常仍将程序划分为独立运行且相互协作的小的模块来完成复杂的控制任务,这也是常见的做法;
        当多个机器人需要协同完成一个任务时,往往需要互相通信来支撑任务的完成;
        用户通常通过台式机、笔记本或者移动设备发送指令控制机器人,这种人机交互接口可以认为是机器人软件的一部分。

2、软件复用

随着机器人研究的快速推进,诞生了一批应对导航、路径规划、建图等通用任务的算法。当然,任何一个算法实用的前提是其能够应用于新的领域,且不必重复实现。事实上,如何将现有算法快速移植到不同系统一直是一个挑战,ROS 通过以下两种方法解决这个问题。

3、快速测试

为机器人开发软件比其他软件开发更具挑战性,主要是因为调试准备时间长,且调试过程复杂。况且,因为硬件维修、经费有限等因素,不一定随时有机器人可供使用。ROS 提供两种策略来解决上述问题。

形象比喻:

Ros机器人操作系统类似“社会主义制度的国家”,众多的节点(node)充当“社会资源”(消息 message)的生产者与消费者(发布者与订阅者),社会资源(消息 message)通过市场(话题 topic)进行有效合理分配(搞不清楚来源与去向)。一些生产者与消费者通过某些市场捷径(特殊通道  服务 service)获取特色服务(一对一),快速获取社会资源。一些大型平台,如淘宝、京东(launch启动文件)等通过合理配置大量生产者与消费者以及社会资源交换平台,高效的网络市场,使得社会资源快速有效的配置,获取经济效益。总体的目标就是让社会资源得到有效的配置,达到经济效益最大化,同时社会生态等系统良好发展。Ros机器人通过各个传感器节点获取机器人所处环境的有效信息,通过各种算法节点(的导航、定位、视觉识别等)得到精确信息,指挥轮式节点或者足式节点以及手部关节节点更好的为自己服务。

今天就到这吧,上学期学着学着怎么落下了,有什么不对的地方还请指正。

ros机器人操作系统简介相关推荐

  1. [译]机器人操作系统简介:终极机器人应用框架(上)

    2019独角兽企业重金招聘Python工程师标准>>> [译]机器人操作系统简介:终极机器人应用框架 /*** 原文出处:https://www.toptal.com/robotic ...

  2. ROS2机器人操作系统简介2021英文字幕版本

    ROS2机器人操作系统简介2021英文字幕版本 文档推荐: docs.ros.org/ ROS2 Galactic ROS1 Noetic 只推荐官方文档和英文课程,比较成熟,bug少,能节约大量时间 ...

  3. ROS机器人操作系统学习笔记(三)ROS通信架构

    ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...

  4. ROS机器人操作系统学习笔记(一)--基本概念

    ROS机器人操作系统学习教程(一)–基本概念 1. 基本概念 1.1 ROS背景 机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便.功 ...

  5. ROS 机器人操作系统进阶实战

    ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...

  6. 入门ROS机器人操作系统——准备工作

    近期入门学习ROS机器人操作系统,有时间记录一下踩坑过程,给后来者提供参考,也方便自己后期查阅. 首先,分享几个软件安装包: 1. 虚拟机VMware16 链接:https://pan.baidu.c ...

  7. ROS机器人操作系统学习(二)

    ROS机器人操作系统学习(二) ROS概念 通信机制+开发工具+应用功能+生态系统 提高机器人研发中的软件复用率 通信机制 松耦合分布式通信 开发工具 应用功能 生态系统 节点与节点管理器 话题与服务 ...

  8. ROS机器人操作系统——如何将ROS与STM32连接(十六)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.两种控制器的功能 二.硬件连接 总结 前言 前面学习了ROS的基本操作,仅仅只使用这个操作系统并没有什么用处,还需要讲他与硬件相结合从而 ...

  9. ROS机器人操作系统——创建工作空间与功能包(四)

    ROS机器人操作系统 文章目录 ROS机器人操作系统 前言 一.工作空间 1.创建工作空间 2.编译工作空间 3.设置环境变量 4.检查环境变量 二.功能包 1.创建功能包 2.编译功能包 总结 前言 ...

最新文章

  1. IDEA多行缩进快捷键
  2. Vista光线效果photoshop教程
  3. python函数可选参数传递_Python中函数的参数传递
  4. linux 图形界面 X Server 关闭 启动
  5. Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常
  6. MBProgressHUD
  7. linux查看passwd最后一行,Linux命令总结
  8. P1038 神经网络(拓扑排序)
  9. cmd命令行设置环境变量
  10. 渐进式web应用程序_通过渐进式Web应用程序吸引用户并增强他们的体验
  11. linux内核优化脚本,linux内核高级优化脚本
  12. Vue中基于Vuex使用echarts组件动态数据绑定的方法
  13. coursera 视频总是缓冲或者无法观看,有什么方法解决?
  14. 2. JavaScript Boolean 对象
  15. 三十七、【获取相机权限】
  16. 长春市职称计算机考试成绩查询,长春市助理工程师查询网站
  17. ROS创建Web代理(Web proxy)给QQ使用HTTP代理
  18. 初中生用计算机作弊,初中生,总是偷偷用手机作弊,好想哭怎么办?
  19. 麻省理工学院-面向生命科学的深度学习2021
  20. Web应用程序测试工具Top20

热门文章

  1. 自开发的一个日志模板
  2. 【树莓派】树莓派SD卡测速一键脚本,SD卡读写速度测试程序
  3. 世界上最大直升机排名
  4. 清华大学计算机系刘斌,清华大学计算机科学与技术系导师简介:林闯
  5. 网络安全之勒索病毒应急响应方案
  6. php rabbit怎么使用默认的交换机,RabbitMQ-交换机模式
  7. 区块链应用场景架构解决方案(ppt)
  8. 操作系统 --进程的异步性
  9. 微信小程序中使用vant框架
  10. node.js学习day03 通过node.js连接数据库实现增删改查