Underactuated Robotics - 欠驱动机器人学
系列文章目录
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
前言
? Russ Tedrake, 2023
注:这是麻省理工学院一门课程的工作笔记。它们将在 2023 年春季学期中不断更新。讲座视频可在 YouTube 上观看。
您也可以从这里下载 PDF 版本的说明(更新频率要低得多)。
这些说明的 PDF 版本是从 HTML 版本自动生成的。有一些转换/格式化的人工痕迹很容易修复(请随时指出)。但是,HTML 版本中的一些互动元素也不容易放到 PDF 中。在可能的情况下,我会尽量提供链接。但我认为在线 HTML 版本是主要版本。
前言
?
Chapter 1: Fully-actuated vs Underactuated Systems
第 1 章:全驱动与欠驱动系统
一、Model Systems -?系统模型
Chapter 2: The Simple Pendulum
第 2 章:简摆
Chapter 3: Acrobots, Cart-Poles, and Quadrotors
第 3 章:体操机器人、小车摆杆和四旋翼机器人
Chapter 4: Simple Models of Walking and Running
第 4 章:行走和跑步的简单模型
Chapter 5: Highly-articulated Legged Robots
第 5 章:高度关节化的足式机器人
Chapter 6: Model Systems with Stochasticity
第 6 章:带有随机性的模型系统
二、Nonlinear Planning and Control -?非线性规划与控制
Chapter 7: Dynamic Programming
第 7 章:动态规划
Chapter 8: Linear Quadratic Regulators
第 8 章:线性二次调节器
Chapter 9: Lyapunov Analysis
第 9 章:李亚普诺夫分析
Chapter 10: Trajectory Optimization
第 10 章:轨迹优化
Chapter 11: Policy Search
第 11 章:策略搜索
Chapter 12: Motion Planning as Search
第 12 章:运动规划即搜索
Chapter 13: Feedback Motion Planning
第 13 章:反馈式运动规划
Chapter 14: Robust and Stochastic Control
第 14 章:鲁棒控制与随机控制
Chapter 15: Output Feedback (aka Pixels-to-Torques)
第 15 章:输出反馈(又称 "像素到转矩")
Chapter 16: Algorithms for Limit Cycles
第 16 章:极限循环算法
Chapter 17: Planning and Control through Contact
第 17 章:通过接触进行规划和控制
三、Estimation and Learning - 估计与学习
Chapter 18: System Identification
第 18 章:系统识别
Chapter 19: State Estimation
第 19 章:状态估计
Chapter 20: Model-Free Policy Search
第 20 章:无模型策略搜索
?
前言
????????本书介绍非线性动力学和控制,重点是机械系统。在我的职业生涯中,我一直在思考如何让机器人既能稳健地移动,又能快速、高效、优雅地移动。我认为,实现这一目标的最佳途径是将机械设计、被动动力学和非线性控制合成紧密结合起来。这些笔记包含了动力系统理论以及线性和非线性控制的部分材料。但是,机器人的动力学很快就会变得非常复杂,我们无法用纸上铅笔的方法来处理。因此,这些笔记的主要重点是控制设计的计算方法,特别是使用优化和机器学习。
????????当我开始教授这门课并撰写这些笔记时,控制的计算方法还远不是机器人学的主流。当时我刚刚完成以强化学习(应用于双足机器人)为重点的博士学业,正在研究基于优化的运动规划。我还记得,作为一名年轻的教师,我坐在一次机器人会议的晚宴上,周围都是我敬佩的人,大家都在谈论优化问题。一位资深教师说:"拉斯:像你这样说话的人并不是让真正的机器人工作的人。哇,情况变了。现在,几乎所有先进的机器人都在规划/控制系统中使用优化或学习技术。
????????如今,关于强化学习(RL)的对话声势浩大,热情洋溢,几乎淹没了房间里的其他对话。具有讽刺意味的是,现在我是年长的教授,我发现自己仍然相信强化学习,但不再像年轻时那样坚信不疑。我们可以从支配我们机械系统的方程结构中了解到很多东西;不利用这种结构的算法显然会错失提高数据效率和鲁棒性的机会。我们的梦想是让学习算法自己发现这种结构;但即便如此,你(设计者)也必须了解学习系统运行的优化环境。这就是为什么我这门课程的目标是帮助您发现这种结构,并学习如何利用这种结构来开发更强大的算法,并指导您在基于学习的控制方面的科学努力。
????????我还要说得更远。我敢打赌,10-20 年后,我们对智能的看法将不再像具有训练模式和测试模式的前馈网络,而更像一个具有动态的系统,它随着输入数据流和不断变化的环境动态而起伏,跳着优美的舞蹈。这些系统将更灵活地在感知、前瞻预测/连续决策、存储和检索长期记忆以及采取行动之间转换。动力系统理论为我们提供了一种理解和利用我们正在构建的这些系统的复杂性的方法。
????????虽然书中的资料来源广泛,但其介绍都是针对少数几个机器人问题。只有当概念有助于提高我们正在努力开发的能力时,才会引入这些概念。我所借鉴的许多学科传统上都非常严谨,以至于对于初入该领域的人来说,基本概念可能难以渗透。在这些笔记中,我有意识地在介绍这些严谨的主题时,保持一种非常非正式的、对话式的语气,并引用最有力的定理,但只在证明这些定理会增加特别的洞察力,而又不会分散主流介绍的注意力时才加以证明。我希望这是一份内容广泛但合理自足、可读性强的手稿,对任何热衷于机器人研究的人都有用。
????????这些说明中的材料分为几个主要部分。"模型系统 "介绍了一系列日益复杂的动力系统,并概述了每个系统的一些相关文献成果。"非线性规划与控制 "介绍了推理这些动态系统的通用计算算法,其中优化理论发挥了核心作用。其中许多算法将动态系统视为已知和确定的,直到这一部分的最后几章才引入随机性和鲁棒性。在 "估计与学习 "一章中,我们利用统计学和机器学习技术,从这一观点出发,引入了更多算法,这些算法在运行时可以减少对模型或完美传感器的假设。本书最后附有一个 "附录",为课程中使用的主要课题提供了更多的介绍(和参考资料)。
????????选择章节顺序是为了使本书具有参考价值。不过,在讲授这门课程时,我会采用螺旋式的教学方法,逐一介绍机器人动力学和控制问题,并只介绍解决特定问题所需的技术。
????????本书中的所有示例和算法,以及更多示例和算法,现在都作为我们开源软件项目的一部分提供: Drake。Drake 是一个 C++ 项目,但在本文中我们将使用 Drake 的 Python 绑定。我鼓励超级用户或想深入研究的读者也来探索 C++ 代码(并做出贡献)。
????????请参阅附录,了解使用 Drake 的具体说明以及这些注释。
@book{underactuated,
title = "Underactuated Robotics",
subtitle = "Algorithms for Walking, Running, Swimming, Flying, and Manipulation",
howpublished = "Course Notes for MIT 6.832",
author = "Tedrake, Russ",
year = 2023
}
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!