欠驱动机器人学
这门课学什么
这门课讲无法直接控制每个自由度的机器人怎样控制,例如步行、游泳和飞行机器人。内容包括非线性动力学、最优控制、轨迹优化、李雅普诺夫分析和强化学习。在线教材每章都有可运行的 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机器人动力学与基于模型的控制Robot dynamics and model-based control
说明什么是欠驱动系统,为什么要利用系统的自然动力学,并介绍 Drake 工具箱。
- 2非线性动力学Nonlinear Dynamics
以单摆为例,用相图分析不动点、稳定性和极限环。
- 3动态规划(一)Dynamic Programming I
讲离散状态下的最优控制:代价函数、贝尔曼方程和值迭代。
- 4动态规划(二)Dynamic Programming II
把动态规划推广到连续状态、动作和时间,并由此推出 LQR。
- 5双摆机器人、小车倒立摆与四旋翼Acrobots, Cart-poles, and Quadrotors I
用三类经典欠驱动系统演示线性化、LQR 平衡控制和基于能量的起摆控制。
- 6动态规划(三)Dynamic Programming III
讲用函数逼近做值迭代,例如用神经网络拟合值函数。
- 7李雅普诺夫分析(一)Lyapunov Analysis I
讲用李雅普诺夫函数证明系统稳定,并估计吸引域。
- 8计算李雅普诺夫函数(一)Computing Lyapunov Functions
讲用凸优化自动搜索李雅普诺夫函数,核心工具是平方和(SOS)规划。
- 9计算李雅普诺夫函数(二)Computing Lyapunov Functions II
继续讲李雅普诺夫函数的数值计算,扩展到更复杂的系统和吸引域估计。
- 10轨迹优化(一)Trajectory Optimization
把运动规划写成非线性优化问题,比较直接打靶、直接配点这几种转写方法。
- 11轨迹优化(二)Trajectory Optimization II
讲轨迹优化的进阶方法,包括 iLQR 这类迭代求解方法。
- 12轨迹稳定Trajectory Stabilization
讲怎样让机器人在扰动下跟住规划好的轨迹,主要方法是时变 LQR。
- 13简单步行模型Simple models of walking
用无动力行走器这类简化模型分析步态,讲极限环和庞加莱映射。
- 14混合系统轨迹优化Hybrid trajectory optimization
讲含碰撞和接触切换的混合系统,以及怎样对这类系统做轨迹优化。
- 15经接触的规划与控制Planning + control through contact
讲跑步模型、极限环的稳定性分析,以及利用接触的规划和控制方法。
- 16人形机器人Humanoid Robots
讲人形机器人的简化模型和控制方法,例如零力矩点(ZMP)。
- 17离散与连续混合优化Mixed-discrete (combinatorial) and continuous optimization
讲用混合整数优化处理接触模式这类离散选择。
- 18基于采样的动力学运动规划Sampling-based (kinodynamic) motion planning
讲 RRT 这类随机采样方法,在动力学约束下搜索可行轨迹。
- 19随机动力学Stochastic dynamics
讲带噪声的动力系统怎样建模和分析。
- 20随机控制Stochastic Control
讲有噪声和模型不确定时怎样设计最优控制器。
- 21鲁棒控制与策略搜索Robust Control & Policy Search
讲在模型误差下保证性能的鲁棒控制,再讲直接优化控制器参数的策略搜索。
- 22输出反馈Output feedback
讲只能观测部分状态时怎样设计控制器,以及状态估计和控制怎样结合。
- 23反馈运动规划Feedback motion planning
讲把多条局部稳定的轨迹连起来,形成覆盖更大状态区域的控制策略。
- 24模仿学习、基础模型与课程总结Imitation learning / Foundation models / Course wrap-up
介绍从示范数据学习控制策略的方法和机器人基础模型,然后总结全课。
- 25期末项目视频Final project videos
学生提交并展示期末项目视频。