名校公开课 / 麻省理工 / AI

欠驱动机器人学

Underactuated Robotics6.8210麻省理工Spring 2024免费
非线性动力学最优控制轨迹优化李雅普诺夫稳定性强化学习

这门课学什么

这门课讲无法直接控制每个自由度的机器人怎样控制,例如步行、游泳和飞行机器人。内容包括非线性动力学、最优控制、轨迹优化、李雅普诺夫分析和强化学习。在线教材每章都有可运行的 Drake 代码。

内容摘要

这门课研究一类难控制的机器人:执行器少于自由度,不能随时把系统推到任意状态。步行、跑步、飞行和游泳机器人都属于这一类。课程的主张是利用系统自身的动力学,而不是用大力矩去压制它。主线从分析走到规划,再走到不确定性。

前 6 讲打基础。课程先用单摆讲非线性动力学,再讲动态规划和线性二次调节器(LQR),并在小车倒立摆、双摆机器人(Acrobot)和四旋翼上演示。接着 3 讲讲李雅普诺夫分析,用平方和优化自动找到稳定性证明。

中段讲轨迹优化和轨迹稳定,然后转到腿式机器人:简单步行模型、混合系统轨迹优化、经接触的规划与控制、人形机器人。后段讲混合整数优化、采样规划、随机动力学、鲁棒控制、输出反馈和反馈运动规划,最后 1 讲谈模仿学习和基础模型。

作业是 10 次习题,用 Python 和 Drake 在 notebook 里完成,主题从非线性动力学一直到运动规划。另有 1 次期中考试和 1 个期末项目,项目要交提案、进度更新、展示视频和报告。学完后,你能给欠驱动机器人建模,设计 LQR、轨迹优化和基于李雅普诺夫函数的控制器,并能读懂腿式机器人方向的论文。

Tedrake 讲课重推导,也常现场运行 Drake 仿真。在线教材随课程每年更新,每章都有可直接运行的代码。

为什么值得学

Tedrake 领导 MIT 机器人运动组。他的在线教材是腿式机器人和敏捷机器人领域的常用参考书。

课程信息

学校
麻省理工(MIT)
课程号
6.8210
讲师
拉斯·泰德瑞克(Russ Tedrake)
学期
Spring 2024
平台
课程官网
费用
免费
难度
高级
学时
24 段讲座视频
先修
学过线性代数、微分方程和基础控制或力学。
材料
视频、讲义、教材、代码
许可证
未注明
去课程主页 ↗看视频 ↗
课程是英文的。本页的介绍、摘要和大纲由极客教育原创撰写,讲次标题为中文意译。开课时间、收费和链接以官方页面为准。

课程大纲 · 共 25 节

大纲依据:Spring 2024 课程官网 Schedule(查看原始页面 ↗)

  1. 1
    机器人动力学与基于模型的控制Robot dynamics and model-based control

    说明什么是欠驱动系统,为什么要利用系统的自然动力学,并介绍 Drake 工具箱。

  2. 2
    非线性动力学Nonlinear Dynamics

    以单摆为例,用相图分析不动点、稳定性和极限环。

  3. 3
    动态规划(一)Dynamic Programming I

    讲离散状态下的最优控制:代价函数、贝尔曼方程和值迭代。

  4. 4
    动态规划(二)Dynamic Programming II

    把动态规划推广到连续状态、动作和时间,并由此推出 LQR。

  5. 5
    双摆机器人、小车倒立摆与四旋翼Acrobots, Cart-poles, and Quadrotors I

    用三类经典欠驱动系统演示线性化、LQR 平衡控制和基于能量的起摆控制。

  6. 6
    动态规划(三)Dynamic Programming III

    讲用函数逼近做值迭代,例如用神经网络拟合值函数。

  7. 7
    李雅普诺夫分析(一)Lyapunov Analysis I

    讲用李雅普诺夫函数证明系统稳定,并估计吸引域。

  8. 8
    计算李雅普诺夫函数(一)Computing Lyapunov Functions

    讲用凸优化自动搜索李雅普诺夫函数,核心工具是平方和(SOS)规划。

  9. 9
    计算李雅普诺夫函数(二)Computing Lyapunov Functions II

    继续讲李雅普诺夫函数的数值计算,扩展到更复杂的系统和吸引域估计。

  10. 10
    轨迹优化(一)Trajectory Optimization

    把运动规划写成非线性优化问题,比较直接打靶、直接配点这几种转写方法。

  11. 11
    轨迹优化(二)Trajectory Optimization II

    讲轨迹优化的进阶方法,包括 iLQR 这类迭代求解方法。

  12. 12
    轨迹稳定Trajectory Stabilization

    讲怎样让机器人在扰动下跟住规划好的轨迹,主要方法是时变 LQR。

  13. 13
    简单步行模型Simple models of walking

    用无动力行走器这类简化模型分析步态,讲极限环和庞加莱映射。

  14. 14
    混合系统轨迹优化Hybrid trajectory optimization

    讲含碰撞和接触切换的混合系统,以及怎样对这类系统做轨迹优化。

  15. 15
    经接触的规划与控制Planning + control through contact

    讲跑步模型、极限环的稳定性分析,以及利用接触的规划和控制方法。

  16. 16
    人形机器人Humanoid Robots

    讲人形机器人的简化模型和控制方法,例如零力矩点(ZMP)。

  17. 17
    离散与连续混合优化Mixed-discrete (combinatorial) and continuous optimization

    讲用混合整数优化处理接触模式这类离散选择。

  18. 18
    基于采样的动力学运动规划Sampling-based (kinodynamic) motion planning

    讲 RRT 这类随机采样方法,在动力学约束下搜索可行轨迹。

  19. 19
    随机动力学Stochastic dynamics

    讲带噪声的动力系统怎样建模和分析。

  20. 20
    随机控制Stochastic Control

    讲有噪声和模型不确定时怎样设计最优控制器。

  21. 21
    鲁棒控制与策略搜索Robust Control & Policy Search

    讲在模型误差下保证性能的鲁棒控制,再讲直接优化控制器参数的策略搜索。

  22. 22
    输出反馈Output feedback

    讲只能观测部分状态时怎样设计控制器,以及状态估计和控制怎样结合。

  23. 23
    反馈运动规划Feedback motion planning

    讲把多条局部稳定的轨迹连起来,形成覆盖更大状态区域的控制策略。

  24. 24
    模仿学习、基础模型与课程总结Imitation learning / Foundation models / Course wrap-up

    介绍从示范数据学习控制策略的方法和机器人基础模型,然后总结全课。

  25. 25
    期末项目视频Final project videos

    学生提交并展示期末项目视频。

麻省理工的其他AI课