跳到主要内容

7. 机器人视觉

对应 CS123 · Lab 6 "Seeing is Believing" + Lecture 7 "AI-enabled Quadrupeds (Robot Vision)"

到这一章为止,机器人还"瞎"。这一章我们给它装上一只眼睛——MuJoCo 里的相机 sensor——让它通过图像找到并跟着一个目标移动。这是通向第 8 章"LLM 控制"的最后一块拼图。

本章目标

  • 能在 MJCF 里正确配置 camerasensor,从 Python 读到 RGB / Depth 帧
  • 能用一个最简目标检测(颜色阈值 or YOLO 小模型)在图像里定位目标
  • 能把图像平面的目标位置映射为机器人航向修正量
  • 让 Pupper 追着一个移动的小球走

前置阅读

章节大纲

  1. MuJoCo 里挂一个相机(位置、视场角、分辨率)
  2. Python 端采集图像帧:mj_renderer / egl 后端
  3. 目标检测两条路线
    • 方案 A:HSV 阈值(简单、可调)
    • 方案 B:YOLOv8-nano 小模型
  4. 图像坐标 → 航向角:简单的比例控制器
  5. 跟踪 + 步态:把第 5 章 trot 的前向速度/转向接到视觉输出
  6. 实验 1:原地转头追颜色球
  7. 实验 2:边走边追球,球乱动时不掉线

组队学习任务

  • sensors/camera_stream.py:从 MuJoCo 相机读 30 fps RGB
  • perception/ball_tracker.py:给出图像坐标 + 置信度
  • 录一段 30 秒"追球"视频
  • 简单失败分析:光照 / 遮挡 / 远距离各错多少帧

参考资料