机器人操作系统ROS浅析

机器人操作系统ROS浅析文章目录一 ROS 简介二 学习路径三 ROS 的核心概念 3 1ROS 是一种跨平台模块化软件通讯机制 1 节点 Node 执行单元 2 节点管理器 ROSMaster 控制中心 3 2 话题通信 3 2 服务通信 3 3 文件系统 Reference 一 ROS 简介 ROS 是 RobotOperati 的缩写 原本是斯坦福大学的一个机器人项目 后来由 WillowGarage 公司发展 目前由 OSRF OpenSourceRo Inc 公司维护的开源项

一、ROS简介

  • 计算机的操作系统将计算机硬件封装起来,而应用软件运行在操作系统之上,不用管计算机具体应用的是什么类型的硬件产品。这能大大提高软件开发效率(否则大家只能都写汇编了)。
  • 同理,ROS则是对机器人的硬件进行了封装,不同的机器人、不同的传感器,在ROS里可以用相同的方式表示(topic等),供上层应用程序(运动规划等)调用。

二、学习路径

三、ROS的核心概念

3.1 ROS是一种跨平台模块化软件通讯机制

(1)节点Node——执行单元

  • 执行具体任务的进程、独立运行的可执行文件;
  • 不同节点可使用不同的编程语言,可分布式运行在不同的主机;
  • 节点在系统中的名称必须是唯一的

(2)节点管理器 (ROS Master)—— 控制中心

  • 为节点提供命名和注册服务;
  • 跟踪和记录话题/服务通信,辅助节点相互查找、建立连接;
  • 提供参数服务器,节点使用此服务器存储和检索运行时的参数。

    在这里插入图片描述

3.2 话题通信

  • 话题(Topic)—— 异步通信机制
    • 节点间用来传输数据的重要总线;
    • 使用发布/订阅模型,数据由发布者传输到订阅者,同一个话题的订阅者或发布者可以不唯一。
  • 消息(Message)—— 话题数据
    • 具有一定的类型和数据结构,包括ROS提供的标准类型和用户自定义类型;
    • 使用编程语言无关的.msg文件定义,编译过程中生成对应的代码文件。

在这里插入图片描述

3.2 服务通信

服务(Service)—— 同步通信机制

  • 使用客户端/服务器(C/S)模型,客户端发送请求数据,服务器完成处理后返回应答数据;
  • 使用编程语言无关的.srv文件定义请求和应答数据结构,编译过程中生成对应的代码文件。

3.3 文件系统

  • 功能包(Package) :ROS软件中的基本单元,包含节点源码、配置文件、数据定义等
  • 功能包清单(Package manifest):记录功能包的基本信息,包含作者信息、许可信息、依赖选项、编译标志等
  • 元功能包(Meta Packages):组织多个用于同一目的功能包

Reference

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/208095.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午12:22
下一篇 2026年3月19日 下午12:22


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号