学生休息室

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

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

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

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

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

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

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

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

有了这些信息,维护两者的简单并不罕见低保真模型对于控制器的设计,又比较复杂高保真模型用于模拟和测试。

有腿机器人的一种常见的低保真度模型是线性倒立摆模型(LIPM),该领域的先驱如Tomomichi Sugihara博士广泛使用。这里有他的出版物

对于单腿机器人如著名的雷伯特料斗,重要的是建模接触阶段(当脚在地面上,假设是固定的)和飞行阶段(当脚离开地面)。对于多足机器人,如双足机器人,一种方法是假设机器人总是有一只脚在地面上,因此系统总是建模为LIPM。与此相反的是,跑步等更动态的行为,你可能会有双脚都离地的阶段——这导致更快的运动,但更复杂的控制。现在我们假设我们总是有一只脚在接触。

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

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

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

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

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

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

你可以学习更多关于双足人形机器人控制使用MATLAB和Simulink观看我们的万博1manbetx行走机器人模式生成视频

无模型方法-机器学习

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

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

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

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

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

你可以学习更多关于使用MATLAB和Simulink来解决这些类型的问题,观看我们的万博1manbetx行走机器人深度强化学习视频

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

优点:

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

缺点:

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

结合控制和机器学习

关键是,基于机器学习的控制方法有很大的潜力,但基于模型的控制器已经有多年的研究和成功的实现,使用了行走机器人动力学的良好物理知识,我们将是疏忽的,立即扔掉所有这些信息!

需要注意的是,机器学习和传统控制可以(也应该)结合起来。举个例子,下面的图表

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

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

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

|

评论

如欲留言,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。