学生休息室

分享技术和现实生活的例子,学生可以如何使用MATLAB和Simulink在他们的日常项目#学生成功金宝app

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

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

在这篇文章中,我们将深入了解控制的细节。我们将描述控制仿人机器人的不同方式,以及何时何地应该使用不同的策略。当这些概念扩展到许多类型的系统时,我们将集中讨论两足类人机器人的运动。

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

控制工程是一个非常成熟的领域,其技术已成功应用于许多两足机器人。其中一些最著名的包括本田阿西莫(该公司最近于2018年退休)波士顿动力地图集

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

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

有了这些信息,保持两者的简单并不少见低保真模型用于控制器设计,且复杂高保真模型用于模拟和测试。

一种常见的低保真度腿部机器人模型是线性倒立摆模型(LIPM),该领域的先驱如杉原智道博士广泛使用。点击这里查看他的一篇论文

以单腿机器人等闻名雷伯特料斗,对接触阶段(当脚在地面上且假设固定时)和飞行阶段(当脚离开地面时)进行建模非常重要。对于两足动物等多足机器人,一种方法是假设机器人始终有一只脚在地面上,因此系统始终建模为LIPM。这与跑步等更具动态性的行为形成对比,在跑步过程中,你可能会有双脚离地的阶段,这会导致更快的运动,但控制更复杂。现在让我们假设我们总是有一只脚接触。

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

另一个需要了解的重要概念是零点力矩点(ZMP).这被定义为接触点,由于重力的力矩正好抵消了由于与地面接触的力矩,从而使摆系统稳定。

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

最后,同样的线性模型可以与模型预测控制(MPC)一起使用,以生成身体一致的行走模式。这是由Shuuji Kajita博士在这份出版物.我也喜欢这篇博文综述了LIPM在足机器人控制中的作用。

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

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

您可以通过观看我们的金宝app行走机器人模式生成视频

无模型方法-机器学习

机器学习算法和计算能力的急剧增长(这两者是相关的)开辟了一个完整的研究领域,致力于让计算机学习如何控制一个物理系统——而这个物理系统通常是一个机器人,正如著名的DeepMind出版物谷歌所述丰富环境中运动行为的出现

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

应用于控制的深度神经网络有两种类型:

  • 监督学习,使用现有数据集进行培训,目标是将其推广到新的情况。例如,我们可以从一个连接到动作捕捉系统的行走的人、一个远程控制机器人的专家或一个基于模型的动作控制器收集数据。然后,利用监督学习对神经网络进行参数化。
  • 强化学习-通过经验或试错学习来参数化神经网络。与监督学习不同,它不需要收集任何数据先天的,这是以训练花费更长的时间为代价的,因为强化学习算法探索(通常)巨大的参数搜索空间。

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

你可以通过观看我们的金宝app步行机器人的深度强化学习视频

更普遍地说,使用机器学习来控制机器人系统有利有弊。

优点:

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

缺点:

  • 机器学习方法容易对特定问题进行“过拟合”,这意味着结果不一定适用于其他任务。当您使用仿真来训练控制器时,这尤其困难,因为控制器可能利用真实机器人中不存在的仿真工件。这个问题太常见了,所以给它起了个名字sim2real
  • 机器学习还有一个臭名昭著的“可解释性”挑战——换言之,一旦控制器使用您最喜欢的机器学习技术进行培训,我们如何解释所学的行为并将其应用于其他问题?
  • 一般来说,设计控制器的人需要较少的领域专业知识(是的,这是正反两面)。

结合控制和机器学习

关键的结论是,基于机器学习的控制方法具有巨大的潜力,但已经有多年的研究和成功实现了基于模型的控制器,这些控制器使用了关于行走机器人动力学的众所周知的物理知识,我们将会忽略所有这些信息!

值得注意的是,机器学习和传统控制可以(也应该)结合起来。例如,下面的图表

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

上面只是一个示例,您应该可以自由地探索在哪里划分可解释的分析算法和针对您的特定问题的“黑盒”学习策略。经过深思熟虑的这两种方法的结合可以产生强大而复杂的自主行为,这种行为可以在培训环境和平台之外进行推广,并为可能需要安全关键的行为提供一些保证。

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

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。