CPG

Central pattern generators(CPG)模型

Posted by cheetaher on May 29, 2019

Central pattern generators

1. 前言

控制运动的问题是神经科学和机器人学能够很好结合的领域。怎么在只接受简单的、低维的输入信号的同时产生高维有节奏的输出信号在机器人的运动控制中十分重要。为了解决这一问题,引入了Central pattern generators(CPGs) 模型。

中枢模式发生器(CPGs)是一种在无脊椎动物和脊椎动物中都存在的神经回路,它可以在不接收节律输入的情况下产生神经活动的节律模式。“中枢(cenntral)”一词表明产生节律不需要感觉反馈。CPGs是许多基本节奏活动的基础,如咀嚼、呼吸和消化。它们也是无脊椎动物和脊椎动物运动神经回路的基本组成部分。CPG模型呈现了几个有趣的特性,包括分布式控制、处理冗余的能力、快速控制循环以及允许通过简单的控制信号来调节运动。这些性质转化为到数学模型时,CPGs就可以很好的运用于机器人的运动控制。 本文的结构如下:

  • 神经生物学中CPG
  • 生物学中的CPG模型
  • 运用CPG进行运动控制
  • CPG模型的建立

2. 神经生物学中的CPG

中枢模式发生器(CPG)是一种神经网络,它能够在没有任何来自感觉反馈或更高控制中心的节奏输入的情况下,产生协调的节奏活动模式(抖腿。)。正如Delcomyn(1980)所述,它们是无脊椎动物和脊椎动物许多节律行为的基础。现在的研究已经证实这种输出的节奏是不需要感官信息的,在许多的生物中都能发现CPGs。虽然产生节奏并不需要感官反馈,但它在形成节奏模式方面起着非常重要的作用,这是保持CPGs和身体运动协调的基础。例如人在跑步机上会被跑步机引导着进行慢走或者是快跑Rossignol(2000)。实验表明CPG与感觉反馈之间存在紧密耦合,也就是说,它们的效果取决于运动周期内的时间Gossard, 2006

在一些动物实验中,发现通过低水平的刺激可以导致高频的动作。说明CPG是一种复杂的电路,它可以产生复杂的运动行为,而且可以在接收到简单输入信号的情况下实现较大的动作变化。所以从控制的角度,CPGs模型实现了某种内部模型,它只需要接受控制运动的命令就可以实现运动的变化。

总而言之,脊椎动物的运动系统是这样组织的:脊髓cpg负责产生基本的节奏模式,而高级中枢(运动皮层、小脑和基底神经节)负责根据环境条件调节这些模式。这样的分布式组织呈现出几个特征:

  • (i)它减少了运动控制回路中的时间延迟(节律通过脊髓的短反馈回路与机械运动协调)。
  • (ii)大大降低了下行控制信号的维数。实际上,控制信号一般不需要指定肌肉活动,只需要调节CPG活动。
  • (iii)因此,它显著减少了高级中枢与脊髓之间的必要带宽。

3. 几种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)。大部分的振荡器有对于一个给定的频率都有固定的波形。

4. CPGs模型控制机器人运动

在机器人中实现的CPG模型类型包括连接主义模型向量图耦合振荡器系统。实际上,所有的实现都涉及到耦合微分方程集,这些微分方程集是数值集成的(在微控制器或处理器上)。

CPG的模型已被用于控制各种不同类型的机器人和不同的运动方式。如:

CPG模型用于控制机器人的运动,是可以作为替代基于有限状态机、正弦发生器以及预设参考轨迹等方法的一种新的控制方法。CPG模型用于控制时候有如下几个特点:

  • 可以产生稳定的节奏模式,系统在受到瞬态扰动后可以迅速恢复其正常的节律。
  • 非常适合分布式实施,对模块化机器人很有意义,如蛇形机器人。
  • CPG模型通常具有一些控制参数(例如驱动信号),其允许调节运动,例如速度和方向或甚至步态类型。因此,正确实施的CPG模型降低了控制问题的维数,使得更高级别的控制器(或学习算法)不需要直接产生多维电动机命令而仅需要更高级别的控制信号。
  • CPG非常适合集成传感器反馈信号。
  • CPG模型通常为学习和优化算法提供良好的基础。

5. CPG模型的构建

5.1 建立模型标准

在构建CPG模型时,必须定义以下项目:

  1. CPG的一般体系结构。这包括振荡器或神经元的类型和数量。在机器人中,还涉及位置控制(即CPG的输出是提供给反馈控制器的期望关节角度)或扭矩控制(即CPG的输出直接控制由马达产生的扭矩)之间进行选择。
  2. 联轴器的类型和拓扑结构。这些将决定振荡器与所产生的步态之间的同步条件,即振荡器之间的稳定相位关系。
  3. 波形。这些将确定在一个循环期间每个关节角度将实际执行的轨迹。波形明显取决于所选(神经)振荡器产生的极限环的形状,但可以通过添加滤波器进行转换。
  4. 输入信号的影响,即控制参数如何调制重要量,例如频率,幅度,相位滞后(用于步态转换)或波形(例如,用于独立调节摆动和站立阶段)。
  5. 反馈信号的影响,即来自身体的反馈如何影响CPG的活动(例如根据环境条件加速或减速)。

设计CPG的一个主要困难是这五个设计轴都是强相互关联的。动力系统理论可以帮助设计CPG。例如,该理论可以帮助确定何时在耦合振荡器系统中发生同步,这一时间点取决于耦合权重和固有频率等参数( Pham&Slotine,2007)。特别地,它可以确定哪个相位差是稳定的和不稳定的,并且该知识可以用于设计朝着特定的锁相状态(例如特定步态)发展的耦合振荡器系统。考虑对称性对确定振荡器的数量和获得特定步态所需的耦合拓扑结构很有帮助(Pham&Slotine,2007; Righetti&Ijspeert,2008)。

5.2 模型参数的获得

对于CPG模型中的参数,可以使用监督学习或者是非监督学习的方式进行训练得到。 监督学习方法适用于CPG应该产生的节奏模式已知的情况,局限就是只能获得已知的运动的模型(Nakanishi, 2004)。 当CPG的期望行为未由特定期望模式(如在监督学习中)定义时,可以使用无监督学习技术。在无监督学习技术中,基于随机群体的优化算法(如进化算法)已被广泛用于设计类似CPG的模型(&Bekey,1993)。这些算法的一个有趣特性是它们可以优化大量的成本函数(例如,成本函数不需要像梯度下降算法那样连续),并且它们不需要知道成本的梯度功能(通常不可用)。这使得它们非常适合优化机器人的性能测量,例如测量机器人运动的前进速度。优化的参数通常是固定神经网络架构中的突触权重和耦合振荡器系统中的耦合权重。 强化学习作为一种非监督学习,使用强化学习的方法来获得参数也是一个重要的方法,参考:

Reference