学生休息室

分享学生如何在日常项目中使用MATLAB和Simulink的技术和现实例子#studentsuccess万博1manbetx

步行机器人控制:从PID到强化学习

在一个以前的博客文章,我描述了建模过程,并在结束时进行了关于模型构建后如何实现控制器的高级讨论。

在这篇文章中,我们将深入探讨控制的细节。我们将描述类人机器人可以被控制的不同方式,以及何时何地你应该使用不同的策略。虽然概念扩展到许多类型的系统,我们将集中在两足类人机器人的运动为我们的例子。

基于模型的方法 - 控制设计

控制工程是一个非常成熟的领域,其技术已成功应用于许多双足机器人。其中最著名的有本田的ASIMO(最近于2018年退休)以及波士顿动力公司阿特拉斯

与大多数控制设计方法一样,创建成功控制器的核心是数学模型。一个模型通常有冲突的需求,因为它必须是

  • 简单到可以应用众所周知的控制设计技术,如PID、LQR和MPC。
  • 复杂地足以现实地近似真正的机器人行为,使控制器在实践中工作。

通过这些信息,维护简单并不罕见低保真型号用于控制器设计,且复杂高保真模型用于仿真和测试。

腿部机器人的一个常见低保真度模型是线性倒立摆模型(LIPM),该模型被该领域的先驱如杉原智美博士广泛使用。看到他的出版物之一

对于像著名的雷伯特霍珀酒店在美国,建立接触相(当脚在地面并假定是固定的)和飞行相(当脚离开地面)的模型是很重要的。对于多足机器人,如两足机器人,一种方法是假设机器人总是有一只脚在地面上,因此系统总是被建模为LIPM。与之相比,更动态的行为,如跑步,你可能有阶段,双脚离开地面-这导致更快的动作,但更复杂的控制。现在我们假设我们的一只脚一直保持接触。

要了解有关LIPM方法的更多信息,请观看我们的人形行走模型控制视频。

另一个重要的概念是零力矩点(ZMP).这被定义为引起的时刻由于重力而平衡的瞬间平衡了由于与地面接触而平衡的时刻,从而使摆动系统稳定。

控制步行机器人使其稳定的一个典型方法是确保ZMP在内部万博1manbetx支撑多边形也就是说,质心在机器人静态稳定的范围内。只要机器人在支撑多边形内行走,理论上行走运动是稳定的。万博1manbetx我说“理论上”是因为,记住,真正的机器人不是一个线性倒立摆,所以建立一个安全系数总是一个好主意!

最后,同样的线性模型可以与模型预测控制(MPC)一起使用,以生成物理上一致的行走模式。Shuuji Kajita博士在年证明了这一点这个出版物.我也喜欢这篇博客作为Lipm在腿部机器人控制中发挥作用的概要。

当然,控制脚相对于重心的位置只是整个系统的一部分。一旦建立了行走模式,还需要解决其他较低级别的控制问题,以使机器人遵循此模式。这包括将目标脚运动转换为目标执行器运动(逆运动学),控制执行器本身,稳定性和抗干扰性等。您可以在下面看到一些典型组件的示意图。

此时,您可能需要考虑使用高保真模拟来测试算法,因为LIPM模型将不足以测试所有这些低级控制组件。

您可以了解更多关于使用MATLAB和Simulink控制双足类人机器人通过观看我们的万博1manbetx行走机器人图案生成视频

无模型方法——机器学习

机器学习算法和计算能力的急剧增加(这两个是相关的)开启了一整个研究领域,专门用于让计算机学习如何控制物理系统 - 而这种物理系统通常是一个机器人,如在着名的谷歌深度出版物富裕环境中运动行为的出现

在这种情况下,“控制器”是指我们想要分配给控制我们机器人的软件的任何数值结构。从技术上讲,你可以使用机器学习来参数化简单的东西,如PID控制器;然而,这些模型结构受到它们的线性行为和接受简单数字数据的能力的限制,因此您不会从机器学习中获得太多 - 事实上,我只需称之为“优化”。控制控制机器的真正力量来自深层神经网络,它可以近似极端非线性行为,并处理更复杂的输入和输出数据。

应用于控制的深度神经网络可能需要两种口味:

  • 监督学习-使用现有数据集进行培训,目的是推广到新情况。例如,我们可以从连接到运动捕捉系统的行走的人、远程控制机器人的专家或动作中的基于模型的控制器收集数据。然后,可以使用监督学习对神经网络进行参数化。
  • 强化学习–通过经验学习或反复试验来参数化神经网络。与监督学习不同,这不需要收集任何数据先验的,它以培训为代价,随着加强学习算法探讨(通常)庞大的参数搜索空间。

当然,总有可能将这两种方法结合起来。例如,一个现有的控制策略可以用来收集一个初始数据集,用以引导强化学习问题——这通常被称为模仿学习.这提供了“不从零开始”的明显好处,这将显著缩短训练时间,并具有产生合理结果的更高可能性,因为理想情况下,初始条件已经在某种程度上被证明有效。

您可以通过观看我们的方式了解更多关于使用MATLAB和SIMULINK的信息万博1manbetx深度强化学习步行机器人视频

更一般地,采用机器学习的利弊控制机器人系统。

好处:

  • 机器学习可以实现直接使用图像和点云等复杂传感器数据的端到端工作流。相比之下,传统的控制方法需要首先处理这些数据——例如,创建一个可以识别感兴趣位置的物体探测器。
  • 可能学习复杂的非线性行为,这将是困难的,甚至不可能实现的传统控制设计方法。
  • 通常,设计控制器的人需要较少的领域专业知识。

缺点:

  • 机器学习方法容易受到特定问题的“过度装箱”,这意味着结果不一定会引向其他任务。当您使用模拟来训练控制器时,这是特别困难的,因为控制器可以利用真实机器人中不存在的模拟伪像。这个问题很常见,所以它被给出了这个名字sim2real
  • 机器学习还有另一个臭名昭著的“可解释性”挑战——换句话说,一旦用你最喜欢的机器学习技术训练了一个控制器,我们如何解释习得的行为,并将其应用于其他问题?
  • 一般来说,设计控制器的人需要更少的领域专业知识(是的,这既是有利的也是不利的)。

结合控制和机器学习

关键是基于机器学习的控制方法具有巨大的潜力,但多年来,基于模型的控制器的研究和成功实施已经取得了很大进展,这些控制器使用了关于步行机器人动力学的众所周知的物理知识……我们不必轻易放弃所有这些信息!

重要的是,机器学习和传统控制可以(并且应该!)组合。例如,拍下下图

  • 使用机器学习将数字数据和感知传感器(如颜色和深度图像、激光雷达等)转换为机器人“良好”的运动计划和操作模式。
  • 采用基于模型的控制技术来定位机器人的脚,将其转换为接头角度,并控制各个执行器以执行此动作。安全关键因素如稳定性也将完全独立于培训的代理人可以决定。

以上只是一个例子,您可以自由探索在可解释的分析算法与“黑箱”之间的划分针对您的具体问题学习策略。仔细考虑两者的组合可以产生强大而复杂的自主行为,这种行为可以推广到培训环境和平台之外,并为可能需要安全关键的行为提供一些保证。

我们希望你喜欢阅读这篇文章,我们期待着你的评论和讨论。

|

评论

要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。