本文基于Central pattern generators for locomotion control in animals and robots: A review更改得到;
首发与个人博客:cheetaher blog,转载请注明出处.
控制运动的问题是神经科学和机器人学能够很好结合的领域。怎么在只接受简单的、低维的输入信号的同时产生高维有节奏的输出信号在机器人的运动控制中十分重要。为了解决这一问题,引入了Central pattern generators(CPGs) 模型。
中枢模式发生器(CPGs)是一种在无脊椎动物和脊椎动物中都存在的神经回路,它可以在不接收节律输入的情况下产生神经活动的节律模式。“中枢(cenntral)”一词表明产生节律不需要感觉反馈。CPGs是许多基本节奏活动的基础,如咀嚼、呼吸和消化。它们也是无脊椎动物和脊椎动物运动神经回路的基本组成部分。CPG模型呈现了几个有趣的特性,包括分布式控制、处理冗余的能力、快速控制循环以及允许通过简单的控制信号来调节运动。这些性质转化为到数学模型时,CPGs就可以很好的运用于机器人的运动控制。 本文的结构如下:
中枢模式发生器(CPG)是一种神经网络,它能够在没有任何来自感觉反馈或更高控制中心的节奏输入的情况下,产生协调的节奏活动模式(抖腿。)。正如Delcomyn(1980)所述,它们是无脊椎动物和脊椎动物许多节律行为的基础。现在的研究已经证实这种输出的节奏是不需要感官信息的,在许多的生物中都能发现CPGs。虽然产生节奏并不需要感官反馈,但它在形成节奏模式方面起着非常重要的作用,这是保持CPGs和身体运动协调的基础。例如人在跑步机上会被跑步机引导着进行慢走或者是快跑Rossignol(2000)。实验表明CPG与感觉反馈之间存在紧密耦合,也就是说,它们的效果取决于运动周期内的时间Gossard, 2006。
在一些动物实验中,发现通过低水平的刺激可以导致高频的动作。说明CPG是一种复杂的电路,它可以产生复杂的运动行为,而且可以在接收到简单输入信号的情况下实现较大的动作变化。所以从控制的角度,CPGs模型实现了某种内部模型,它只需要接受控制运动的命令就可以实现运动的变化。
总而言之,脊椎动物的运动系统是这样组织的:脊髓cpg负责产生基本的节奏模式,而高级中枢(运动皮层、小脑和基底神经节)负责根据环境条件调节这些模式。这样的分布式组织呈现出几个特征:
本节回顾为研究生物CPGs而开发的不同类型的数学模型,以及已建模的动物运动类型。
3.1 不同层面的模型
根据所研究的现象,CPG模型被设计为几个抽象层次,从详细的生物物理模型(detailed biophysical models),到连接主义模型(connectionist models),再到耦合振荡器(coupled oscillators) 的抽象系统。在某些情况下,CPG模型被耦合到人体生物力学模拟中,在这种情况下,它们被称为神经力学模型。
详细的生物物理模型是建立在 Hodgkin Huxley type神经元模型的基础上的,也就是说神经元模型计算离子泵和离子通道如何影响膜电位和动作电位的产生。更多参考:
连接主义模型使用简化的神经元模型,如泄漏积分器( leaky-integrator)神经元或 integrate-and-fire neurons。这些模型的重点在于网络特性(如半中心网络)如何产生节律性活动,以及不同的振荡神经回路如何通过神经元间的连接(如肢体内或肢体间的协调)实现同步。
振荡器模型是基于耦合非线性振荡器的数学模型来研究种群动力学,在这种情况下,振荡器代表一个完整的振荡中心(而不是单个神经元或一个小电路)的活动。这些模型的目的不是解释节律发生(假设存在振荡机制),而是研究振荡器间耦合和固有频率的差异如何影响振荡中心总体内的同步和相位滞后。Collins和Richmond(1994)的研究使用三种不同类型的振荡器(van der Pol、Stein and FitzHugh Nagumo)在给定的网络拓扑结构中获得相同的步态转变. 其他广泛使用的振荡器包括相位振荡器( phase oscillators) (Buchli &Ijspeert,2004)和松冈振荡器( Matsuoka oscillators) (Sakurama, 1999)。大部分的振荡器有对于一个给定的频率都有固定的波形。
在机器人中实现的CPG模型类型包括连接主义模型,向量图和 耦合振荡器系统。实际上,所有的实现都涉及到耦合微分方程集,这些微分方程集是数值集成的(在微控制器或处理器上)。
CPG的模型已被用于控制各种不同类型的机器人和不同的运动方式。如:
CPG模型用于控制机器人的运动,是可以作为替代基于有限状态机、正弦发生器以及预设参考轨迹等方法的一种新的控制方法。CPG模型用于控制时候有如下几个特点:
5.1 建立模型标准
在构建CPG模型时,必须定义以下项目:
设计CPG的一个主要困难是这五个设计轴都是强相互关联的。动力系统理论可以帮助设计CPG。例如,该理论可以帮助确定何时在耦合振荡器系统中发生同步,这一时间点取决于耦合权重和固有频率等参数( Pham&Slotine,2007)。特别地,它可以确定哪个相位差是稳定的和不稳定的,并且该知识可以用于设计朝着特定的锁相状态(例如特定步态)发展的耦合振荡器系统。考虑对称性对确定振荡器的数量和获得特定步态所需的耦合拓扑结构很有帮助(Pham&Slotine,2007; Righetti&Ijspeert,2008)。
5.2 模型参数的获得
对于CPG模型中的参数,可以使用监督学习或者是非监督学习的方式进行训练得到。 监督学习方法适用于CPG应该产生的节奏模式已知的情况,局限就是只能获得已知的运动的模型(Nakanishi, 2004)。 当CPG的期望行为未由特定期望模式(如在监督学习中)定义时,可以使用无监督学习技术。在无监督学习技术中,基于随机群体的优化算法(如进化算法)已被广泛用于设计类似CPG的模型(&Bekey,1993)。这些算法的一个有趣特性是它们可以优化大量的成本函数(例如,成本函数不需要像梯度下降算法那样连续),并且它们不需要知道成本的梯度功能(通常不可用)。这使得它们非常适合优化机器人的性能测量,例如测量机器人运动的前进速度。优化的参数通常是固定神经网络架构中的突触权重和耦合振荡器系统中的耦合权重。 强化学习作为一种非监督学习,使用强化学习的方法来获得参数也是一个重要的方法,参考: