技术文章和通讯

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

作者:南加州大学阿里·马贾尼内贾德


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

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

Watch video.

" data-toggle="lightbox">

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

肌腱驱动的肢体控制挑战

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

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

G2P算法

G2P(从一般到特殊)算法的学习过程有三个阶段:运动呓语、探索和开发。电动机呀呀学语是一个五分钟的周期,在此期间,四肢执行一系列随机运动,类似于婴儿脊椎动物用来学习身体能力的运动。

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

图2。机器人肢体和直流电机。

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

图3。人工神经网络(ANN)对电机牙牙学语数据的训练。

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

肢体推动跑步机的距离就是这种尝试的回报:距离越远,回报越高。如果奖励很小或不存在,则该算法生成一个新的随机循环并进行另一次尝试。该算法使用每次尝试期间收集的新运动学信息更新反向贴图。但是,如果奖励超过基线性能阈值(经验确定的64 mm),则该算法进入第二个强化学习阶段:利用。

在这个阶段,识别出一系列运行良好的运动后,算法开始在之前测试的轨迹附近寻找更好的解决方案。它通过使用高斯分布来生成接近上一次尝试中使用的值的随机值。如果这组新值的奖励高于前一组,它将继续进行,在新的最佳值集上重新居中高斯分布。当一次尝试产生的奖励低于当前最佳值时,这些值将被拒绝,取而代之的是“迄今为止最佳”值(图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所提供的出色的客户支持。万博1manbetx客户支持团队帮助我们解决了万博1manbetx数据采集中遇到的一些问题。他们对这个话题的反应时间和专业水平令人印象深刻。

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

关于作者

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

2020年出版的

参考文献

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

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

    [3] 瓦莱罗·库瓦斯,福建省。Neuromechanics基础.施普林格生物系统和生物机器人系列,Springer- verlag,伦敦,2016。

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

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

查看相关行业的文章