开发与系统集成 ·情景路线图

开发可维护的 ROS 2 应用

从一对通信节点进展到具有故障处理和切换的版本化应用。

已审查 2026年10月27日 ·编辑学习和项目指导。专业意味着项目深度,而不是认可的资格。

最终目标

完成后将获得什么成果

发布包、测试报告和操作运行手册。使应用程序可跨版本和运营商恢复。

开始之前

需要的基础

  • 基本的Python或C++和命令行使用。
  • 理解观察、命令和坐标系。

设备 & 运行环境

使用受支持的发行版及其匹配的教程。从模拟和捕获环境版本开始。

没有固定的完成时间:使用下面的证据门来决定何时推进。资源链接打开botstest目录条目;检查其发布者文档以获取确切的版本和配置。

01

入门

学习通信模型

使接口和组件职责明确。

理解这一阶段

组件边界是关于意义和责任的契约。在扩展应用程序之前定义观察、命令和配置接口。

结合例子理解

教学示例 · 由 botstest 编写

在模拟的流动站中,感测组件报告观察结果,而行为组件选择动作。记录每个接口使用的帧、单位和时钟以及谁拥有不可用的输入。

  1. 绘制元件图。
  2. 指定消息含义和新鲜度。
  3. 运行最小版本匹配示例。
遇到问题时

出现在发现中的节点仍然可能对消息含义或时间存在分歧。

参考依据: ROS 2集成概述。以上示例与步骤为结合参考资料编写的教学内容。

按这个顺序学习

  1. 节点、主题、服务和动作
  2. 消息类型、参数和发现
  3. 工作区、包和启动配置
参考文章与应用练习

Gazebo project · 技术教程

ROS 2集成概述

建议阅读: 从集成架构开始,并按照与您的版本对匹配的链接说明进行操作。

使用界面概述来区分模型、桥、观察、命令和时钟职责。

应用练习: 映射用于最小应用的节点、消息和模拟时钟接口。

动手实践

  1. 从匹配文档构建发布者/订阅者示例。
  2. 绘制组件所有权并记录短输入/输出轨迹。
阶段成果

二节点封装和接口图。

达到这些标准后进入下一阶段

本阶段资源

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

Gazebo →

Build a simulated environment and test robot interfaces before moving to a physical setup.

02

进阶

集成任务并暴露故障

将状态、几何结构和诊断添加到有界应用。

理解这一阶段

集成失败通常涉及组件之间的关系而不是一个功能内部的错误。记录足够的上下文来重建这种关系。

结合例子理解

教学示例 · 由 botstest 编写

在行为节点活动时重新启动传感器。比较最后一次观测时间、当前状态和发出的命令。验证丢失的组件是否成为可见的故障,而不是默默地重用过时的数据。

  1. 捕获相关的输入和输出事件。
  2. 一次引入一个中断。
  3. 文档超时、取消和恢复所有权。
遇到问题时

如果无法重现故障,则在更换多个节点之前保留记录和配置。

参考依据: 系统集成。以上示例与步骤为结合参考资料编写的教学内容。

按这个顺序学习

  1. 变换、时间戳和数据新鲜度
  2. 生命周期、超时和取消
  3. 记录数据调试和配置
参考文章与应用练习

Kris Hauser · University of Illinois · 课程章节

系统集成

建议阅读: 关注实时行为、通信选择和开发工具。

使用定时和通信概念来决定在哪里记录故障以及哪个组件拥有恢复。

应用练习: 测试陈旧观测并识别哪个组件拥有超时和回退状态。

动手实践

  1. 将模拟感测连接到导航或操纵行为。
  2. 注入陈旧消息或重新启动节点并检查响应。
阶段成果

具有启动文件和故障记录的集成应用程序。

达到这些标准后进入下一阶段

本阶段资源

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

Foxglove →

Inspect recorded robot signals and build views that expose timing and system failures.

Nav2 →

Study navigation components, maps, localization, behavior orchestration and recovery in the matching release.

03

专业实践

准备经过测试的发布和支持计划

使应用程序可跨版本和运营商恢复。

理解这一阶段

发布是经过测试的代码和配置的组合。切换必须解释如何识别错误的部署并恢复已知状态。

结合例子理解

教学示例 · 由 botstest 编写

要求另一位工程师开始标记构建、运行记录的场景并在模拟回归之后恢复之前的配置。他们的指令不应依赖于未发布的 shell 历史记录。

  1. 包依赖性和配置。
  2. 运行正常和故障场景。
  3. 与支持所有者一起演练诊断和回滚。
遇到问题时

成功重启的进程可能仍然是不健康的;验证恢复后的任务级行为。

参考依据: 启动协调清单。以上示例与步骤为结合参考资料编写的教学内容。

按这个顺序学习

  1. 单元、集成和场景测试
  2. 发布版本、回滚和配置所有权
  3. 可观察性和操作员升级
参考文章与应用练习

Google Site Reliability Engineering · 实践指南

启动协调清单

建议阅读: 阅读清单作为识别丢失的所有权和恢复证据的提示。

使用检查表在移交之前查找丢失的所有权、可观察性和恢复决策。

应用练习: 在移交版本之前审查启动依赖性、可观察性、回滚和支持所有权。

动手实践

  1. 从新环境运行场景套件。
  2. 编写释放和恢复过程并让另一位工程师演练。
阶段成果

发布包、测试报告和操作运行手册。

达到这些标准后进入下一阶段

本阶段资源

ROS 2 →

Follow the official middleware learning path; use documentation matching your installed distribution.

mcap · foxglove →

Investigate a robot-data recording format and verify interoperability with your actual logging tools.

Rerun →

Visualize spatial observations and compare them with model and trajectory outputs.

常见误区

  • 跨组件混合消息/帧约定。
  • 使用成功的启动作为正确行为的证明。

下一步怎么走

继续使用相同的界面和恢复规则进行导航、操纵或舰队操作。

探索其他 开发 条路线 →