【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念

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

目录(本节基于P6-7)

    • 1 What is ROS
    • 2 节点(Node) 与 节点管理器(Node Master)
    • 3 通信模式之一——Topic模式
    • 4 通信模式之二——Service模式
    • 5 两者对比
    • 6 参数(Parameter)
    • 7 文件系统

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

1 What is ROS

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第1张图片

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

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

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第2张图片

3 通信模式之一——Topic模式

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第3张图片

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

4 通信模式之二——Service模式

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第4张图片

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

5 两者对比

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第5张图片

6 参数(Parameter)

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第6张图片

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

7 文件系统

【ROS学习笔记】3.(理论)什么是ROS以及一些核心概念_第7张图片

  • 文件系统代表了代码的结构。

(fin)

你可能感兴趣的:(ROS学习笔记,人工智能,硬件,自动驾驶,python)