学生休息室

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

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

在一个上一篇博文,我描述了建模,并以构建模型后如何实现控制器的高级讨论结束。

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

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

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

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

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

有了这些信息,就可以简单地维护两者低保真模型为控制器设计,且复杂高保真模型用于模拟和测试。

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

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

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

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

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

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

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

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

通过观看我们的视频,您可以了解更多关于使用MATLAB和Simulink控制双足人形机器人的知识金宝app行走机器人模式生成视频

无模型方法-机器学习

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

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

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

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

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

你可以通过观看我们的视频学习更多关于使用MATLAB和Simulink解决这类问题的金宝app知识行走机器人的深度强化学习视频

一般来说,使用机器学习来控制机器人系统有利有弊。

优点:

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

缺点:

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

结合控制和机器学习

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

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

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

上面只是一个例子,您可以自由地探索在可解释的分析算法和针对特定问题的“黑盒”学习策略之间的划分。仔细考虑这两者的结合可以导致强大而复杂的自主行为,可以超越训练环境和平台,并为可能需要安全关键的行为提供一些保证。

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

|
  • 打印
  • 发送电子邮件

コメント

コメントを残すには,ここをクリックしてMathWorksアカウントにサインインするか新しいMathWorksアカウントを作成します。