机器人操作
这门课学什么
这门课讲机器人抓取和移动物体时怎样感知、规划和行动。内容包括运动学、几何与深度感知、抓取规划、运动规划、力控制和学习型视觉运动策略。在线讲义每章都能在 Drake 仿真里运行。
内容摘要
这门课回答一个问题:怎样让机械臂在家庭、厨房这类杂乱环境里自主拿取物体。课程沿一条完整的软件栈展开:先让机器人动起来,再让它看见物体,然后规划和控制,最后引入学习方法。
前 5 讲搭基础:认识机械臂硬件,讲位姿表示、运动学和微分运动学,完成一个基础抓放任务。第 6–10 讲加入几何感知、接触仿真、抓取选择和任务编排,目标是从堆满物体的料箱里逐个拣出物体。
第 11–15 讲转向运动规划和控制:基于优化的规划、基于采样的规划、移动操作、力控制和机械臂控制。第 16–23 讲进入学习部分:深度感知、用行为克隆学习视觉运动策略、强化学习、系统辨识、基础模型和触觉感知。
作业是 9 次习题,在云端 Jupyter 环境里用 Python 和 Drake 完成,逐步搭出一套能在杂乱场景中工作的机械臂软件。期末项目要交提案、报告和视频,课程备有实体机器人供项目使用。本科版是写作强化课,另有论文研读、同伴评审和写作辅导。
学完后,你能用 Drake 搭出感知、规划、控制的完整流程,并能判断经典方法和学习方法各自适合什么场景。在线讲义每章都有能在仿真中运行的示例,Tedrake 讲课时也常现场演示仿真。
为什么值得学
公开的机器人操作全课很少,这是最完整的一门。它同时讲经典方法和新的学习型机器人策略。
课程信息
- 学校
- 麻省理工(MIT)
- 课程号
- 6.4210
- 讲师
- 拉斯·泰德瑞克(Russ Tedrake)
- 学期
- Fall 2023
- 平台
- 课程官网
- 费用
- 免费
- 难度
- 高级
- 学时
- 23 段讲座视频
- 先修
- 学过线性代数和概率,会 Python。
- 材料
- 视频、讲义、教材、代码
- 许可证
- 未注明
课程大纲 · 共 24 节
大纲依据:Fall 2023 课程官网 Schedule(查看原始页面 ↗)
- 1操作系统的组成Anatomy of a manipulation system
介绍机器人操作系统由哪些模块组成:感知、规划和控制,以及 Drake 的系统框架。
- 2先给你一台机器人Let's get you a robot
讲机械臂和手爪的硬件选型、关节控制方式和传感器,并在仿真里搭出第一台机器人。
- 3基础抓放:运动学与轨迹Basic pick and place: kinematics and trajectories
讲空间位姿的表示和正运动学,并为抓放任务生成末端轨迹。
- 4基础抓放:微分运动学Basic pick and place: Differential kinematics
讲雅可比矩阵,以及怎样用末端速度反推关节速度。
- 5基础抓放:基于优化的微分运动学Basic pick and place: Differential kinematics via optimization
把逆运动学写成带约束的优化问题,处理关节限位和奇异位形。
- 6几何感知:相机、点云与配准Geometric perception: Cameras, point clouds, and registration
讲深度相机和点云,以及怎样把物体模型对齐到观测点云上。
- 7几何感知:部分视角与离群点Geometric perception: Partial views and outliers
讲只看到物体一部分、数据含离群点时,怎样做稳健的位姿估计。
- 8仿真基础与生成杂乱场景Simulation basics and generating cluttered scenes
讲接触仿真的原理,以及怎样随机生成堆满物体的测试场景。
- 9料箱拣选:对跖抓取Bin picking: Antipodal grasping
讲从点云中采样和评估抓取位姿,从杂乱料箱中取出物体。
- 10编写行为:脚本、状态机与行为树Programming behaviors: Scripts, state machines, and behavior trees
讲怎样把多个技能组合成完整任务。
- 11运动规划:基于优化Motion planning: Optimization-based
讲用逆运动学和轨迹优化规划无碰撞运动。
- 12运动规划:基于采样与全局优化Motion planning: Sampling-based and global optimization
讲随机采样规划方法,以及能求全局解的优化方法。
- 13移动操作Mobile Manipulation
讲把机械臂装到移动底盘上之后的定位、导航和整体规划问题。
- 14力控制Force Control
讲在接触中控制力而不是位置,用于推、擦这类任务。
- 15机械臂控制Manipulator Control
讲机械臂动力学,以及刚度控制和阻抗控制这类控制器。
- 16深度感知:物体识别与分割Deep Perception: Object recognition and segmentation
讲用深度网络做物体检测和实例分割,并把结果接入抓取流程。
- 17深度感知:面向操作的感知表示Deep Perception: Perceptual representations for manipulation
讲适合操作任务的学习型表示,例如关键点和稠密对应。
- 18视觉运动策略(行为克隆)Visuomotor policies (via Behavior Cloning)
讲从人类示范中学习策略,让机器人直接从图像输出动作。
- 19强化学习(一):策略搜索Reinforcement learning (part 1): policy search
讲把控制器参数化后直接优化的策略搜索方法。
- 20强化学习(二):策略梯度Reinforcement learning (part 2): policy gradients
讲策略梯度方法,以及它在操作任务中的用法和局限。
- 21多体系统辨识Multibody System Identification
讲从运动数据估计机器人和物体的惯性参数。
- 22客座讲座:用于决策的基础模型Guest Lecture: Foundation models for decision making
嘉宾讲大规模预训练模型怎样用于机器人决策。
- 23触觉感知与课程总结Tactile sensing and course wrap-up
介绍软体操作和触觉传感器,然后总结全课。
- 24期末项目视频Final project videos
学生提交并展示期末项目视频。