跳转至

动手实战项目

本课程以 10 个动手项目 收官,涵盖机器人的主要任务类别——从导航、感知到操作、语言理解和多智能体协作。每个项目都为你提供一个真实机器人任务的**端到端体验**,并贯穿三个算法层级:

层级 时代 设计理念 典型方法
传统方法 (Traditional) 深度学习之前 基于模型、手工设计特征 PID、Bug、PDDL、IK
经典学习方法 (Classical Learning) 深度学习时代 数据驱动、端到端神经网络 DRL、DeepSORT、GraspNet、Seq2Seq
现代 / 基础模型 (Modern / Foundation) 基础模型时代 预训练、少样本、通才模型 LLM、Transformer、Foundation Model

通过为每个任务实现全部三个层级,你将培养出**何时传统方法已足够**、何时学习方法更出色、以及**基础模型将走向何方**的直觉。


项目概览

# 项目名称 任务类别 算法谱系 难度
1 巡线机器人 导航 (Navigation) PID → Stanley → RL ⭐⭐
2 自主避障导航 导航 (Navigation) Bug/VFH → DWA → DRL ⭐⭐⭐
3 SLAM 与自主导航 SLAM gmapping → Cartographer → ORB-SLAM3 ⭐⭐⭐⭐
4 视觉目标跟踪 感知 (Perception) KCF → SORT/DeepSORT → Transformer ⭐⭐⭐
5 机械臂抓取 操作 (Manipulation) IK → GraspNet → RL ⭐⭐⭐
6 语音交互机器人 语言 (Language) ASR+keywords → NLU pipeline → LLM ⭐⭐⭐
7 多机器人编队 多智能体 (Multi-Agent) Leader-Follower → Consensus → MARL ⭐⭐⭐⭐
8 视觉语言导航 VLN Modular → Seq2Seq → Foundation Model ⭐⭐⭐⭐
9 基于 TAMP 的物体装配 TAMP PDDL → TAMP → LLM-based ⭐⭐⭐⭐⭐
10 移动操作 移动+操作 (Mobile+Manipulation) Decoupled → Joint → Foundation Model ⭐⭐⭐⭐⭐

推荐学习顺序

项目按依赖图排列。从底部(基础)开始,向上推进。

                    ┌─────────────────────────────────┐
                    │  10. 移动操作 (⭐⭐⭐⭐⭐)          │
                    └──────────┬──────────┬────────────┘
                               │          │
              ┌────────────────┘          └────────────────┐
              ▼                                            ▼
┌──────────────────────┐                    ┌───────────────────────────┐
│ 5. 机械臂抓取         │                    │ 9. 基于 TAMP 的物体装配    │
│    (⭐⭐⭐)            │                    │    (⭐⭐⭐⭐⭐)               │
└──────────┬───────────┘                    └─────────────┬─────────────┘
           │                                              │
           │         ┌───────────────────────────┐        │
           │         │ 8. 视觉语言导航            │        │
           │         │    (⭐⭐⭐⭐)               │        │
           │         └──────┬──────────┬────────┘        │
           │                │          │                 │
           │     ┌──────────┘          └──────────┐      │
           │     ▼                                ▼      │
           │ ┌──────────────────┐  ┌────────────────────┐│
           │ │ 4. 视觉目标跟踪   │  │ 6. 语音交互机器人    ││
           │ │    (⭐⭐⭐)       │  │    (⭐⭐⭐)          ││
           │ └────────┬─────────┘  └─────────┬──────────┘│
           │          │                      │           │
           └──────────┼──────────────────────┼───────────┘
                      │                      │
           ┌──────────┼──────────────────────┘
           ▼          ▼
┌─────────────────────────────┐   ┌──────────────────────────┐
│ 7. 多机器人编队              │   │ 3. SLAM 与自主导航        │
│    (⭐⭐⭐⭐)                 │   │    (⭐⭐⭐⭐)               │
└──────────┬──────────────────┘   └─────────────┬────────────┘
           │                                    │
           │         ┌──────────────────┐       │
           └────────►│ 2. 自主避障导航    │◄──────┘
                     │    (⭐⭐⭐)        │
                     └────────┬─────────┘
                     ┌────────▼─────────┐
                     │ 1. 巡线机器人      │
                     │    (⭐⭐)         │
                     └──────────────────┘

图表说明:箭头从先修项目指向依赖项目。例如,项目 10(移动操作)需要项目 5(机械臂抓取)和项目 9(TAMP)的技能。同一"层级"的项目可以并行进行。


项目简介

1. 巡线机器人

任务:使用摄像头或红外传感器阵列,让机器人自主沿地面线路行驶。

算法谱系:从经典 PID 控制器 开始,保持机器人沿线路中心行驶。进阶到 Stanley 控制器,实现更平滑的路径跟踪并考虑曲率。最后训练一个 强化学习 (RL) 智能体,直接从传感器观测学习控制策略,无需手动调参即可处理复杂线路几何。

你将练习的技能:传感器读取、PWM 电机控制、反馈回路、基础 RL 训练循环。


2. 自主避障导航

任务:在布满障碍物的环境中导航移动机器人,无碰撞地到达目标点。

算法谱系:从 Bug 算法向量场直方图 (VFH) 开始——这些是基于传感器读数进行局部决策的反应式方法。进阶到 动态窗口方法 (DWA),在速度空间中规划满足运动学约束的轨迹。最后用 深度强化学习 (DRL) 在仿真环境(如 Gazebo 或 Isaac Sim)中训练端到端策略,并迁移到真实机器人。

你将练习的技能:距离传感器处理、局部规划、速度剖面分析、仿真到现实迁移 (sim-to-real)。


3. SLAM 与自主导航

任务:在未知室内环境中构建地图,并利用地图实现自主目标导向导航。

算法谱系:从 gmapping(基于粒子滤波的 2D SLAM 系统)开始。进阶到 Cartographer,实现更鲁棒的基于图优化的 2D/3D SLAM 并支持回环检测。最后探索 ORB-SLAM3——一个基于特征的视觉 SLAM 系统,支持单目、双目和 RGB-D 相机,可在 GPS 拒止环境中工作。

你将练习的技能:LiDAR/相机标定、占用栅格、位姿图优化、回环检测、基于地图的导航 (Nav2)。


4. 视觉目标跟踪

任务:在视频帧中实时跟踪特定运动目标,即使在遮挡情况下也能维持目标身份。

算法谱系:实现 核化相关滤波器 (KCF) 作为快速的手工设计跟踪器。进阶到 SORT/DeepSORT,将目标检测 (YOLO) 与卡尔曼滤波和匈牙利分配算法结合用于多目标跟踪。进一步使用**基于 Transformer 的跟踪器**(如 TransTrack、OSTrack),利用注意力机制实现鲁棒的长时跟踪。

你将练习的技能:图像特征提取、边界框关联、卡尔曼滤波、注意力机制、实时推理优化。


5. 机械臂抓取

任务:让机械臂从桌面上抓取各种形状的物体。

算法谱系:从**解析逆运动学 (IK)** 开始,针对已知物体位姿使用几何或数值求解器。进阶到 GraspNet,一个从点云预测 6-DoF 抓取位姿的深度学习模型。最后用 基于 RL 的抓取 结束,在仿真 (Isaac Gym) 中通过试错学习策略,处理未知物体、部分遮挡和杂乱场景。

你将练习的技能:正/逆运动学、URDF 建模、点云处理、奖励设计、操作任务的 sim-to-real。


6. 语音交互机器人

任务:构建一个能理解语音指令并通过自然对话智能回应的机器人。

算法谱系:从 自动语音识别 (ASR) + 关键词检测的流水线开始,用于简单命令检测。构建完整的 自然语言理解 (NLU) 流水线,包含意图分类和槽位填充,实现结构化命令理解。最后集成**大语言模型 (LLM)**,处理开放式对话、上下文推理和复杂指令跟随。

你将练习的技能:音频处理、语音转文本 API、意图/槽位模型、提示工程、LLM API 集成、延迟管理。


7. 多机器人编队

任务:协调一组移动机器人在导航过程中保持期望的几何队形。

算法谱系:实现 领航-跟随 (Leader-Follower) 方法,一台机器人领航,其他机器人跟踪相对位置。升级到**基于一致性 (Consensus)** 的算法,所有机器人通过分布式通信协商共享状态。探索**多智能体强化学习 (MARL)**,智能体学习适应动态环境和通信故障的协作策略。

你将练习的技能:分布式系统、ROS 2 多机器人通信、一致性图论、MARL 训练(如 MAPPO)、通信鲁棒策略。


8. 视觉语言导航

任务:使用自然语言指令引导机器人穿越环境(例如,"走过红色沙发,进入厨房")。

算法谱系:构建一个**模块化流水线**,包含独立的指令解析、视觉特征提取和路径规划模块。训练 Seq2Seq 模型,将语言和视觉观测直接映射为导航动作。探索**基于基础模型**的方法(如使用 CLIP、LLaVA 或 GPT-4V),通过将语言接地到视觉场景中实现零样本或少样本 VLN。

你将练习的技能:视觉语言模型、注意力机制、具身 AI 仿真器 (Habitat, AI2-THOR)、指令接地、评估指标 (SR, SPL)。


9. 基于 TAMP 的物体装配

任务:规划并执行多步骤物体装配任务(例如,用积木搭建简单结构)。

算法谱系:从基于 PDDL 的经典规划开始,任务逻辑用规划域描述语言手写。进阶到集成的**任务与运动规划 (TAMP),将符号任务规划与连续运动规划交织执行(如 PDDLStream)。最后探索**基于 LLM 的任务规划,大语言模型从自然语言任务描述和场景观测中生成动作序列。

你将练习的技能:符号规划、PDDL 编码、运动规划 (MoveIt)、规划-执行循环、LLM 在机器人中的接地、约束满足。


10. 移动操作

任务:将移动底盘运动与机械臂操作结合,执行需要全身协调的任务(例如,从货架上取物)。

算法谱系:从**解耦 (Decoupled)** 方法开始,底盘导航和手臂操作独立执行并在中间进行交接。进阶到**联合规划 (Joint Planning)**,同时协调底盘和手臂运动,提升可达性和效率。探索**基于基础模型**的控制(如 RT-2、Octo),利用大规模预训练实现跨任务和跨环境的泛化移动操作。

你将练习的技能:全身运动学、集成运动规划、任务编排、基础模型微调、真实世界部署挑战。


技能前置要求

开始这些项目之前,你应具备以下基础:

基础技能

技能 最低要求 推荐资源
Python 中级——类、异步、装饰器 前置准备
ROS 2 基础——节点、话题、服务、launch 文件 ROS 教程
Linux 命令行 熟练——bash、SSH、tmux 前置准备
Git 基础——分支、合并、PR 工作流
线性代数 向量、矩阵、变换 机器人数学基础
控制理论 PID、状态空间基础 规划

推荐背景知识(按项目组)

项目组 推荐知识
导航(项目 1–2) 规划算法仿真
SLAM(项目 3) ROS 2感知基础
感知(项目 4) 深度学习基础、OpenCV
操作(项目 5、10) 操作基础仿真
语言(项目 6) LLM 基础NLP 基础
多智能体(项目 7) 多智能体 RLROS 2 多机器人
VLN(项目 8) 感知语言接地
TAMP(项目 9) 规划操作智能体

硬件与软件

资源 详情
仿真环境 Gazebo、Isaac Sim、MuJoCo、PyBullet、Habitat(见仿真
机器人平台 TurtleBot¾、Franka Emika、UR5、自定义 ROS 2 机器人
计算资源 项目 4–10 建议使用 GPU(RTX 3060 或更好)
ROS 版本 ROS 2 Humble / Iron(见 ROS 安装

如何使用这些项目

  1. 选择一个项目,匹配你当前的技能水平和兴趣。
  2. 先完成传统方法层级——它能建立直觉并调试完整流水线。
  3. 进入经典学习方法层级——与传统基线进行对比。
  4. 尝试现代方法层级——探索可能性的边界。
  5. 记录你的成果——每个项目应产出一份简短报告,对比三个层级的表现。

项目作品集

完成全部 10 个项目将为你打造一个**覆盖完整机器人技术栈的作品集**——从底层控制到基于基础模型的高层推理。这正是顶尖机器人实验室和公司所看重的广度。