美好智能机器人教学系统机器人教育课程 v1.5.0
S01

系统架构与 ROS 2 入门

高中 · 10–12 年级 · 10 课时 × 40–45 分钟
理解感知模块在系统中的位置与数据接口发布订阅、坐标变换、系统集成
核心问题:一个完整的机器人系统,如何被分解成可复用、可替换的软件模块?

项目目标

  • 能画出服务机器人感知—决策—执行的软件架构图
  • 掌握 ROS 2 节点、话题、服务、动作、参数的基本用法
  • 能用 launch 文件组织一个可复现的机器人系统

领域落点

AI:理解感知模块在系统中的位置与数据接口

硬件:主控/上位机、编码器底盘、激光雷达或 ToF、IMU;八界 6 轴机械臂(结构与坐标演示)

算法:发布订阅、坐标变换、系统集成

10 课时大纲

2 + 6 + 2
课次课题 / 驱动问题关键知识点学生任务产出
L01从产品到系统:功能框图
一台 DEEBOT 里藏着多少个“软件模块”?
功能分解:感知/定位/规划/控制/交互;数据流与控制流;实时性与算力约束拆解实机功能,画出“传感器→感知→决策→执行”的数据流图,标注频率与接口。系统功能框图
L02ROS 2 架构:节点、话题、服务、动作
为什么机器人软件要用“节点”组织?
节点与进程;话题(异步)与服务(同步);动作(长任务)与参数运行 Turtlesim 与示例节点,用 rqt_graph 观察拓扑,解释三种通信方式的适用场景。通信方式对比表
L03工作空间与功能包
一个机器人项目怎样组织代码?
colcon 工作空间;package.xml 与 CMakeLists;Python/C++ 包结构创建 `edu_bot` 功能包,写一个发布 `/cmd_vel` 的节点,编译并运行。可编译功能包
L04发布订阅:传感器数据回放
怎样让程序“吃到”真实数据?
消息类型与 QoS;rosbag 录制/回放;回调与队列录制一段 `/scan` 与 `/odom`,回放并写节点统计雷达最小距离。数据统计节点
L05TF 坐标变换
机器人各部分的位置怎样统一?
坐标系树 map→odom→base_link→sensor;静态/动态 TF;四元数与欧拉角用 tf2 查询 `base_link` 到 `laser` 的变换,并发布一个静态 TF。TF 查询节点
L06URDF 与机器人模型
怎样在软件里“造”一台机器人?
link/joint 与惯性参数;visual/collision;robot_state_publisher为底盘建立 URDF,包含两个驱动轮、万向轮与雷达,在 RViz 中显示。URDF 模型
L07Launch 与参数
怎样一键启动整套系统?
launch 文件;参数与 YAML;命名空间与重映射编写 launch 文件,同时启动底盘、雷达、TF 与可视化,参数外置到 YAML。launch + 参数文件
L08仿真接入
没有真机也能开发吗?
Gazebo/Webots 与 2D 仿真;仿真时间与时钟;sim2real 差异在仿真中加载机器人模型,用键盘遥控走完指定路线,记录里程误差。仿真遥控记录
L09联调:遥控 + 里程计可视化
数据通了,系统就通了吗?
端到端联调;频率与延迟检查;常见故障定位联调遥控、里程计与雷达显示,用 `ros2 topic hz` 检查频率,修复至少 2 个问题。联调报告
L10架构评审
这套架构能支撑后面的项目吗?
模块边界与接口契约;可测试性;技术债以评审会形式展示架构,列出 3 个风险与改进计划,形成班级公共代码基线。架构评审记录
说明:本页是教程副本(大纲级),不是完整课件。完整课件、教案、学案、代码与仿真场景按学校进度单独导出。

← 返回课程地图 课程首页