创造一个肌腱驱动的机器人,通过强化学习自学走路

作者Ali Marjaninejad,南加州大学


为什么工业机器人需要工程师团队和数千行代码来完成即使是最基本的、重复性的任务,而长颈鹿、马和许多其他动物出生几分钟内就能行走?

我和南加州大学大脑-身体动力学实验室的同事开始解决这个问题,他们创造了一个学会移动的机器人肢体,而事先不了解它自己的结构或环境[1,2]。在几分钟内,G2P,我们的强化学习算法在MATLAB中实现®他学习了如何移动肢体来推动跑步机(图1)。

Watch video.

" data-toggle="lightbox">

图1所示。三个肌腱,两个关节的机械肢体。观看视频

肌腱驱动的肢体控制挑战

机器人肢体的结构类似于为人类和脊椎动物运动提供动力的肌肉和肌腱结构[1,2]。肌腱将肌肉和骨骼连接起来,这使得生物的进化成为可能汽车(肌肉)从远处对骨骼施加力量[3,4]。(人类手部的灵活性是通过肌腱驱动系统实现的;手指本身没有肌肉!)

虽然肌腱具有机械和结构上的优势,但肌腱驱动机器人的控制明显比传统机器人更具挑战性,在传统机器人中,简单的PID控制器直接控制关节角度往往就足够了。在肌腱驱动的机器人肢体中,多个电机可以作用于一个关节,这意味着一个给定的电机可以作用于多个关节。因此,系统同时具有非线性、多定和欠定的特点,大大增加了控制设计的复杂性,需要一种新的控制设计方法。

G2P算法

G2P(从一般到特殊)算法的学习过程有三个阶段:运动呓语、探索和开发。电动机呀呀学语在五分钟的时间里,肢体会做一系列随机的动作,类似于脊椎动物宝宝用来学习自身能力的动作。

在电机模糊阶段,G2P算法随机产生肢体三个直流电机电流的一系列步长变化(图2),每个肢体关节的编码器测量关节角度、角速度和角加速度。

图2。机械臂和直流电机。

算法然后使用深度学习工具箱生成一个多层感知器人工神经网络(ANN)。以角度测量作为输入数据,以电机电流作为输出数据进行训练,神经网络作为一个反映射,将肢体运动学与产生它们的电机电流连接起来(图3)。

图3。对运动模糊数据进行人工神经网络训练。

接下来,G2P算法进入了探索阶段,这是强化学习的两个阶段中的第一个阶段。在探索阶段,算法指导机器人肢体重复一系列循环运动,然后G2P算法测量跑步机移动了多远。对于循环运动,算法使用均匀随机分布生成10个点,每个点代表一对关节角。这10个点将被插值在关节空间创建一个完整的周期运动轨迹。然后,该算法计算这些轨迹的角速度和加速度,并使用反映射来获得整个周期的相关运动激活值。该算法将这些数值输入到四肢的三个马达,重复这个循环20次,然后检查跑步机移动了多远。

四肢推动跑步机的距离就是对这种尝试的奖励:距离越大,奖励就越高。如果奖励很小或不存在,算法就会生成一个新的随机循环,并再次进行尝试。该算法利用每次尝试时收集到的新运动学信息来更新逆映射。然而,如果奖励超过了基准性能阈值(根据经验确定的64毫米),那么算法就进入了第二个强化学习阶段:开发。

在这个阶段,识别出一系列运行良好的运动后,算法开始在之前测试的轨迹附近寻找更好的解决方案。它通过使用高斯分布在前面的尝试中使用的值附近生成随机值来做到这一点。如果这个新值集的奖励高于之前的值集,它就会继续,重新回到新的最佳值集上的高斯分布。当尝试产生的奖励低于当前最好的值时,这些值将被拒绝,取而代之的是“到目前为止最好的”值(图4)。

图4。G2P算法处于探索阶段。

独特步态的出现

每次G2P算法运行时,它都会开始新的学习,用一套新的随机运动来探索机器人肢体的动力学。当偶然的情况下,运动模糊或探索阶段特别有效时,算法学习速度更快,达到利用阶段所需的尝试次数也更少(图5)。算法不寻求推动跑步机的最优运动组合,只寻找足够好的运动。人类和其他生物也学会“足够好地”使用自己的身体,因为每次练习都有成本,包括受伤、疲劳的风险,以及用于学习其他技能的时间和精力的消耗。

图5。跑步机奖励与G2P算法15次不同运行的每一次尝试进行了对比。

从随机运动开始并寻找“足够好”的解决方案的一个显著结果是,算法每次运行时都会产生不同的步态。我们已经看到G2P算法产生了各种各样的步态模式,从沉重的跺脚到优雅的踮起脚尖。我们把这些机器人可以发展的独特步态称为“运动人格”。我们相信,这种方法将使机器人在未来拥有更多拟人化的特征和特征。

添加反馈和未来增强功能

G2P的最初实现完全是前馈式的。因此,除了系统的被动响应外,它无法对诸如碰撞之类的扰动做出反应。为了解决这个问题,我们实现了一个G2P版本,其中包含了最小的反馈[5]。即使存在相当长的感觉延迟(100毫秒),我们发现添加简单反馈使新的G2P算法能够补偿因反映射的影响或缺陷而产生的误差。我们还发现,反馈可以加速学习,需要更短的动作会话,或更少的探索/开发尝试。

我们计划将G2P算法所体现的原则扩展到两足和四足机器人的发展,以及机器人操作。

为什么MATLAB ?

出于一些原因,我们的团队决定在这个项目中使用MATLAB而不是其他可用的软件包。首先,我们的研究是多学科的,包括神经科学家和计算机科学家以及生物医学、机械和电子工程师。无论他们的学科是什么,团队中的每个成员都知道MATLAB,使其成为一种通用语言和有效的合作手段。

选择MATLAB的另一个原因是,它使其他研究人员更容易复制和扩展工作。我们编写的代码可以在任何版本的MATLAB上运行。例如,如果我们使用MATLAB中的filtfilt()应用零相位数字滤波,我们可以相信其他人也能够使用相同的函数并得到相同的结果。此外,在Python或C中,需要担心包或库版本,以及需要更新甚至降级到其他已经在使用的包的依赖项。根据我的经验,MATLAB没有这样的限制。

最后,我想提到MATLAB所提供的出色的客户支持。金宝app客户支持团队帮助我们解决了金宝app数据采集中遇到的一些问题。他们对这个话题的反应时间和专业水平令人印象深刻。

我感谢我的同事Darío Urbina-Meléndez和Brian Cohn,以及Francisco Valero-Cuevas博士,脑-身体动力学实验室(ValeroLab.org)主任和PI,他们与我合作了本文中描述的项目。我还要感谢我们的赞助商,包括国防部、国防部高级研究计划局、国家卫生研究所和南加州大学研究生院对这个项目的支持。金宝app

关于作者

Ali Marjaninejad是南加州大学生物医学工程博士候选人。他的研究兴趣包括人工智能、生物启发系统、生物医学信号处理、神经科学和脑机接口。

2020年出版的

参考文献

  • Marjaninejad, Ali等。通过有限的经验,肌腱驱动的肢体的自主功能运动

    Marjaninejad, Ali等。“通过有限的经验实现肌腱驱动的肢体的自主功能运动。”自然机器智能1.3(2019): 144。

    [3] Valero-Cuevas, FJ。Neuromechanics基础.施普林格生物系统和生物机器人系列,Springer- verlag,伦敦,2016。

    Marjaninejad, Ali和Francisco J. Valero-Cuevas。“拟人化系统应该‘冗余’吗?”拟人系统的生物力学.施普林格,Cham, 2019: 7-34。

    Marjaninejad, Ali, Darío Urbina-Meléndez和Francisco J. Valero-Cuevas。“简单运动学反馈增强仿生肌腱驱动系统的自主学习”。

查看相关行业的文章