第二章:ROS架构_《ROS机器人开发实践》_notes

第二章核心内容总结

一、核心架构
  1. 计算图(Computation Graph)

    • 节点(Node):独立执行单元
    • 消息(Message):严格类型定义的数据结构
    • 话题(Topic):异步通信机制
    • 服务(Service):同步请求/响应模式
    • 节点管理器(ROS Master):命名注册与协调
  2. 文件系统

    • 功能包(Package):最小功能单元
    • 元功能包(Metapackage):逻辑集合多个功能包
    • 工作空间覆盖(Overlay):多工作空间优先级管理
  3. 通信机制

    • 话题通信:多对多、异步、基于TCP/UDP
    • 服务通信:一对一、同步、基于RPC
    • 参数服务器:全局键值存储系统
二、关键对比
特征 话题(Topic) 服务(Service)
通信模式 异步发布/订阅 同步请求/响应
参与者数量 多发布者多订阅者 单服务端多客户端
数据流向 单向持续传输 双向单次交互
典型应用场景 传感器数据流 设备控制指令
底层协议 TCPROS/UDPROS RPCROS

多选题

  1. 关于ROS节点管理器(ROS Master)的正确说法是?

    A. 负责节点间的消息传输

    B. 提供命名注册服务

    C. 维护参数服务器

    D. 直接参与节点计算任务

  2. 消息(Message)和服务数据(Service Data)的区别包括?

    A. 消息使用.msg定义,服务数据使用.srv定义

    B. 消息支持双向通信,服务数据是单向的

    C. 服务数据包含请求和响应两部分

    D. 消息可以包含复杂嵌套结构

  3. ROS参数管理机制的正确描述是?

    A. 参数只能通过命令行设置

    B. 参数服务器支持动态修改

    C. 参数存储在节点本地内存中

    D. 可通过rosparam工具进行管理

  4. 关于工作空间覆盖(Overlay)的正确说法是?

    A. 后加载的工作空间优先级更高

    B. ROS_PACKAGE_PATH决定加载顺序

    C. 系统级功能包无法被覆盖

    D. 用于解决同名功能包冲突

  5. ROS分布式通信的必要配置包括?

    A. 所有机器使用相同ROS版本

    B. 设置一致的ROS_MASTER_URI

    C. 关闭防火墙

    D. 配置/etc/hosts域名解析

  6. 属于ROS计算图核心组件的是?

    A. 节点(Node)

    B. 元功能包(Metapackage)

    C. 话题(Topic)

    D. 启动文件(Launch)

  7. 关于命名空间(Namespace)的正确解析规则是?

    A. ~/camera表示私有命名空间

    B. $ENV_VAR可以解析环境变量

    C. 默认命名空间是/

    D. 节点名不能包含命名空间

  8. ROS通信机制的技术实现包括?

    A. XML-RPC用于节点发现

    B. TCPROS基于长连接

    C. 服务使用UDP传输

    D. 参数服务器使用HTTP协议

  9. 关于元功能包(Metapackage)的正确描述是?

    A. 必须包含可执行代码

    B. 用于逻辑组合相关功能包

    C. 包含<metapackage>标签

    D. 编译时会被特殊处理

  10. ROS开源社区的关键组成部分包括?

    A. ROS Wiki文档系统

    B. GitHub官方仓库

    C. ROS Answers论坛

    D. PyPI软件仓库


答案与解析

  1. BC
    解析:节点管理器负责命名注册(B)和参数服务器(C),不参与消息传输(A)和计算任务(D)。

  2. ACD
    解析:消息是单向(B错误),服务数据包含请求/响应(C),两者都支持复杂结构(D)。

  3. BD
    解析 :参数可通过API动态修改(B),rosparam是管理工具(D),参数存储在全局服务器(C错误)。

  4. ABD
    解析 :后加载工作空间优先(A),ROS_PACKAGE_PATH决定顺序(B),覆盖解决冲突(D),系统包可被覆盖(C错误)。

  5. BD
    解析:主节点URI必须一致(B),域名解析是必要条件(D),ROS版本和防火墙非必须(A/C错误)。

  6. AC
    解析:计算图包含节点和话题(A/C),元功能包和启动文件属于文件系统(B/D错误)。

  7. ABC
    解析 :私有命名空间使用~(A),环境变量可解析(B),默认命名空间是/(C),节点名可含命名空间(D错误)。

  8. AB
    解析:节点发现使用XML-RPC(A),TCPROS是长连接(B),服务用TCP(C错误),参数服务器用XML-RPC(D错误)。

  9. BC
    解析 :元功能包不包含代码(A错误),用于组合功能包(B),使用<metapackage>标签(C),编译无特殊处理(D错误)。

  10. ABC
    解析:ROS社区包含Wiki(A)、GitHub(B)、论坛(C),PyPI是Python仓库(D错误)。

相关推荐
Figo_Cheung11 小时前
Figo潜空间层级认知理论:基于齐夫拓扑与黎曼几何的结构化模型研究
人工智能·架构·空间计算
洞见前行11 小时前
用 Tinker 热更新反向实现插件化:两个独立 APK 合二为一的原理详解
架构
这个DBA有点耶11 小时前
分布式集群的“最后一公里”:分片集群与透明分布式集群的工程代价拆解
数据库·分布式·架构
another heaven14 小时前
【C/C++ C++ 面向对象架构的五大特点与能力场景:封装、继承、多态、抽象与 RAII(含实战案例)】
c语言·c++·架构
微订校园外卖平台15 小时前
乡镇外卖跑腿代办系统怎么选:四端架构与实施核对
架构·外卖系统·本地生活·微订
这个DBA有点耶15 小时前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
天树星智源15 小时前
相机轨迹为什么对不上:问题不在控制模块,而在两段噪声不是同一份
论文阅读·机器人·大模型
X54先生(人文科技)16 小时前
ELR-SELLM_硅基伙伴通过对话碰撞个性涌现的推理架构_v10
人工智能·深度学习·架构·零知识证明
鱼儿也有烦恼16 小时前
客户端应用架构模式
android·架构
愤怒火龙果16 小时前
AI 渗透测试智能体架构综述:从单兵到蜂群的演进图谱
人工智能·网络安全·架构