[ROS学习]3.(理论部分)ROS是什么?

基于该博主笔记

基于B站ROS公开课:【古月居】古月·ROS入门21讲
基于Ubuntu 20.04.1、Noetic版本
修正错误,并详述Python版本部署

本节纯理论
图摘自:B站【古月居】古月·ROS入门21讲

1 What is ROS

  • ROS:Robot Operating System
  • 包括了四个part:通信机制、开发工具、应用功能、生态系统
  • 这种模式旨在提高机器人研发中的软件复用率(避免反复造轮子)

2 节点(Node) 与 节点管理器(Node Master)

3 通信模式之一——Topic模式(异步通信)

  • Message:定义数据的类型,具有一定的数据结构定义
  • 单向的
  • 数据的管道称为Topic(话题)
  • 使用 发布&订阅 模型,右下图显示了Camera Node是发布者,图像处理节点和图像显示节点是订阅者。
  • 话题的消息的接口使用 .msg 文件定义
 

4 通信模式之二——Service模式(同步通信)

  • C/S模型
  • 带有反馈的机制
  • 双向的
  • 如左下图,图像处理节点向Camera节点发出请求(比如上调图像分辨率),Camera节点上调分辨率后向图像处理节点发出反馈。
  • 服务的数据内容可用 .srv 定义

 

5 两者对比

6 参数(Parameter)

  • 参数是一个“字典”
  • 存储在ROS Master服务器,节点可以对参数存储、检索、更新(如图)
  • 适合静态存储、非二进制,不适合动态参数数据

 

7 文件系统

注意功能包、功能包清单、元功能包三者的层次关系

 

posted @ 2022-08-23 16:28  Gentle_Jan  阅读(64)  评论(0编辑  收藏  举报