学习与教学 ·情景路线图

写出第一个机器人控制程序

从基本编程转向记录的、可重复的模拟机器人行为。

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

最终目标

完成后将获得什么成果

版本化的应用程序、测试和操作员快速启动。使行为在设置和重新启动条件下可重复。

开始之前

需要的基础

  • 了解变量、条件和函数,或者在第一个练习中学习它们。
  • 能够在帮助下安装支持的软件。

设备 & 运行环境

首先使用模拟并在设置记录中保留准确的操作系统和软件包版本。

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

01

入门

编写一个小的命令和观察程序

将编程概念连接到机器人状态和动作。

理解这一阶段

从一个小程序开始,您可以检查其决定。将观察、决策和命令分开,即使它们最初位于一个文件中。

结合例子理解

教学示例 · 由 botstest 编写

对于模拟障碍物停止控制器,函数接收距离并返回状态。在将功能连接到模拟器之前,使用清晰、接近和不可用的观测结果来测试该功能。

  1. 编写无需硬件调用的决策函数。
  2. 测试正常和不可用的输入。
  3. 将其连接到一个记录的模拟示例。
遇到问题时

如果行为令人困惑,则记录输入和返回的决策,而不是添加更多运动命令。

参考依据: 建造你自己的机器人。以上示例与步骤为结合参考资料编写的教学内容。

按这个顺序学习

  1. 变量、函数和有界循环
  2. 输入观察与输出命令
  3. 单位、错误消息和终端基础知识
参考文章与应用练习

Gazebo project · 技术教程

建造你自己的机器人

建议阅读: 按顺序遵循机器人模型示例并检查坐标和关节定义。

在添加更多行为之前,使用记录的最小模型来隔离设置和几何问题。

应用练习: 描述改变代码之前的仿真模型和命令/观察接口。

动手实践

  1. 编写读取模拟距离并选择停止或移动的程序。
  2. 打印时间戳和命令,以便您可以解释每个转换。
阶段成果

小型带注释的控制器和示例输出。

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

本阶段资源

Webots →

Create a small simulated robot and inspect sensor/controller behavior without purchasing hardware.

ROS 2 →

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

02

进阶

将机器人分成通信组件

组织观察和行为,使得故障是可检查的。

理解这一阶段

通信增加了程序的时间和失败。接收组件需要知道每条消息的含义、年龄和所有权。

结合例子理解

教学示例 · 由 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.

Foxglove →

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

03

专业实践

对应用程序进行打包和测试

使行为在设置和重启条件下可重复。

理解这一阶段

将行为封装在可再现的入口点周围。配置和故障测试是应用程序的一部分,而不是其作者记住的注释。

结合例子理解

教学示例 · 由 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.

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.

常见误区

  • 从不兼容的软件版本复制命令。
  • 仅测试快乐路径。

下一步怎么走

在干净重启和丢失输入测试都工作之后,继续进行ROS系统集成或导航。

探索其他 学习 条路线 →