《1、 引言》

1、 引言

近年来,仿生机器人的使用成功地促进了对广泛动物行为的理解[12]。通过有效的控制方法和主动引导,仿生机器人可以与动物互动,观察并记录它们的反应[37]。同时,仿生机器人也会被放置在一群动物中,以探索它们的行为模式或验证互动过程中的科学假设[811]。对于仿生机器人而言,逼真的行为可以提高它们与动物互动的效率。例如,当机器人模拟与觅食行为相关的身体运动时,雀类会在觅食上花费更多时间[12]。机器鱼的尾摆行为会对鱼类的运动产生重大影响[3]。此外,具有相似行为的仿生机器人可以大大改进对于复杂动物行为的建模[1314]。

实验鼠的社会活动引起了许多研究人员的兴趣,这些研究取得了显著的成就[1516]。由于仿生机器人在动物交互中的优势,各种机器人被设计用于实验鼠的行为研究[1721]。然而,这些机器人具有较少的自由度(DOF),并且在局部运动中缺乏灵活性,因此很难实现自然的交互过程。在最新的工作中,本课题组简化了实验鼠的自由度,提取了实验鼠在俯仰方向的四个自由度和在偏航方向的三个自由度,并将该自由度用于设计机器鼠的仿生脊椎结构[22]。然而,尽管上述机器鼠可以执行一些具有高度灵活性的基本仿鼠运动基元,但尚难以模拟实验鼠的行为特征。此外,该机器鼠难以适应实验鼠的不同运动参数,即不具备运动泛化的能力。因此,本文希望为实验鼠建立一个行为概率模型,同时学习和泛化实验鼠的脊柱关节轨迹,从而能够控制机器鼠,使机器鼠产生类似实验鼠的行为。

许多动物行为的建模方法已经被提出。Ding等[23]使用基于中枢模式发生器(CPG)的方法对两栖动物的行为进行建模,并实现多模态行为设计。Ren等[24]使用基于通用内部模型(GIM)的仿生学习方法对鱼的行为进行建模,并在多关节机器鱼上实现了类似的游泳模式。这些建模方法适用于有节律运动的动物,而实验鼠的运动,特别是脊柱关节的轨迹是多样的,不具有节律性,因此,上述建模方法是不合适的。Leos-Barajas等[25]使用具有层次结构的隐马尔可夫模型(HMM)对港口鼠海豚和束带蛇的行为进行建模。Cullen等[26]使用一阶贝叶斯马尔可夫模型准确地估计了白额雁的行为。HMM和贝叶斯方法基于概率分布和转移,更适合于实验鼠的行为分析。然而,根据本课题组在实验鼠旷场试验中观察到的数据表明,实验鼠的运动通常是由多个运动基元的组合产生的,使用上述建模方法难以处理这些运动基元的组合与时序。如果对运动基元进行概率统计,很难捕捉到实验鼠的行为特征,并且会破坏运动基元的固有组合。

为了更好地反映实验鼠的行为特征,本文首先按时序对运动基元进行组合,这些组合的特征由一组组合属性进行反映。每个运动基元组合代表实验鼠的一种运动。使用这些组合属性,通过softmax分类器将不同的组合与不同的行为相关联,以了解它们之间的关系。进一步地,利用分类结果,建立了实验鼠的行为-运动分层概率模型。在分层模型中,不仅表示了行为和运动之间的对应关系以及不同行为之间的转换,还引入了实验鼠的状态。这是因为本文希望利用状态来进一步区分实验鼠的不同行为,加深对动物行为的理解。此外,这些不同的状态可能反映了实验鼠的不同情绪,这是未来互动实验中的一个重要考虑因素。最后,模型的收敛和调节保证了其准确性。

除了行为建模,本文还学习了实验鼠的运动规律。实验鼠的运动基元组合可以通过静态和动态运动参数进行描述。静态参数确定运动幅度、平均速度、频率或持续时间,而动态参数确定每个脊柱关节相对于时间的角度和角速度。实验鼠的运动通常包含多种静态参数。即使对于同一种静态参数,也可能存在不同的动态参数。为了降低计算复杂性,需要对这些参数进行聚类分析。分层聚类和模糊C均值(FCM)聚类通常被用于分别提取运动参数的优势值[2728]。这些优势值被用于拟合实验鼠的脊柱关节轨迹。显然,关节轨迹的拟合精度取决于聚类分析的结果。然而,每种聚类方法都有自己的缺点。分层聚类不需要预先确定分类的个数,然而一旦进行了合并,就无法更改,聚类的质量受到限制;FCM聚类方法需要预先确定分类的个数,并且通常会陷入局部最优解[2930]。

此外,对于实验鼠的学习,本文希望不仅停留在复制的水平,而是能够具有泛化的能力。也就是说,可以通过对测试样本的监督学习来推断实验鼠脊柱关节的某些运动参数轨迹。为了提高运动泛化的准确性,需要各种运动参数作为神经网络的输入。然而,这与减少计算量的目标背道而驰。为了解决聚类质量的不确定性,并平衡计算量和泛化精度,本文使用皮尔逊相关系数来测量机器鼠和实验鼠之间的相似性。通过对聚类结果进行修正,控制运动参数的提取。

尽管本课题组已经开发了一种四足机器鼠,但其移动速度较慢,很难实现大的身体俯仰角,不利于与实验鼠进行互动。因此,机器鼠的后肢被改造成一个轮式底座,包括一个臀部伺服电机和四个轮子(两个前驱动轮和两个后万向轮)。当机器鼠进行直线运动时,驱动轮的角速度由车轮的平均前进速度和轮半径决定。当机器鼠进行转弯运动时,由于驱动轮只围绕轴旋转,缺乏横向运动的自由度,这将不可避免地导致机器鼠和实验鼠之间的运动差异。为了最大化机器鼠转弯运动时的相似性,使用学习得到的实验鼠脊柱关节轨迹来驱动机器鼠的偏航关节,并控制两个驱动轮的转速差,使机器鼠产生转弯运动。

本文的主要贡献如下:

(1)将实验鼠运动视为运动基元的时序组合,并定义了这些组合的属性。实验鼠的行为由不同的组合属性进行分类。实验鼠的分层概率模型更好地反映了其行为特征。这为未来的机器鼠-实验鼠交互奠定了基础。

(2)通过训练神经网络,可以仅通过一组静态参数来预测机器鼠各关节的轨迹,这大大简化了机器鼠的运动规划过程,并有助于对机器鼠进行实时规划。

(3)通过修改聚类分析的结果来控制实验鼠运动参数的提取过程。这在减少计算量的同时,确保了机器鼠和实验鼠之间行为和运动的高相似性。

《2、 材料与方法》

2、 材料与方法

本文的方法如图1所示。在行为建模过程中,首先通过跟踪标记点的坐标来获得实验鼠运动基元的时序。然后,通过运动基元和组合属性形成实验鼠的运动。进一步地,使用softmax分类器对实验鼠的行为和状态进行分类。最后,通过运动基元序列和分类结果,以概率方式建立了实验鼠状态、行为和运动的分层模型。

《图1》

图1 机器鼠类鼠行为的生成过程。在行为建模过程(浅红色框)中,提出了实验鼠行为(B1, B2, …, B6)和状态(S1, S2)的分类方法,并获得了实验鼠状态、行为和运动的分层模型。在运动泛化过程(浅蓝色框)中,提取了实验鼠的运动参数,并实现了从静态运动参数到关节轨迹参数的映射。在机器鼠控制过程(浅绿色框)中,通过策略和指令控制机器人。分层模型被用作控制策略,泛化的脊柱关节角位移(θ1, θ2, …, θ7)和车轮角速度(ω1, ω2)被用作仿真模型的控制指令。机器鼠和实验鼠之间的相关系数(ρrat‒robot)用于测量相似性并调节行为分类和运动参数提取过程。ui (xi, yi, zi):运动关节的坐标;λ:不同状态和行为之间的初始和转移概率,以及每种行为中每种运动基元组合的观测概率;C1、C2和C3:运动基元的组合属性;tanh:双曲正切。

在运动泛化过程中,提取了运动基元组合的静态和动态运动参数。这些参数用于拟合大鼠脊柱关节的轨迹参数(以傅里叶级数的形式)。为了实现运动的泛化,使用反向传播(BP)神经网络建立了静态运动参数与关节轨迹参数之间的映射关系。

为了实现对机器鼠的控制,利用机器鼠的轮部模型推导了驱动轮的静态运动参数与角速度之间的关系。将分层模型作为控制策略提供给机器鼠,以便机器鼠学习如何以更自然和仿生的方式生成其行为和运动。通过运动规划,识别了每个运动下静态运动参数的概率分布,并获得了每个关节的轨迹,以便机器鼠能够执行这些行为和运动。相关系数用于测量机器鼠和实验鼠之间的相似性,并以迭代方式控制行为分类和运动参数提取的过程。在下文中,将详细地对每个部分进行描述。

《2.1 行为建模》

2.1 行为建模

《2.1.1. 实验鼠运动基元、行为和状态》

2.1.1. 实验鼠运动基元、行为和状态

旷场试验被用于研究动物在新环境中的自发活动。该试验允许实验动物在一定空间内自由移动,几乎没有限制,已成为研究动物行为和运动的重要方法[3132]。动物学家通常将实验鼠的运动划分为直行、转弯、站立、停留等。相应地,实验鼠的行为被分为探索、理毛和休憩等,以反映其不同活动特征[3334]。本研究观察了单只大鼠(褐家鼠)在1 m × 1 m × 1 m敞箱中的活动,每天记录10 min,并获得了三只大鼠在5天内的活动数据集。参与这项研究的实验鼠来自同一窝,七周龄。该数据集(150 min)包含3537个实验鼠的运动。

本文标记了实验鼠的鼻尖、尾巴和主要运动关节,并通过多个摄像头追踪这些点的坐标。进一步地,根据这些标记点的坐标变化来定义实验鼠的运动基元。其中,将实验鼠头部关节的俯仰和偏航分别定义为MP1和MP2;将身体关节的俯仰和偏航分别定义为MP3和MP4;所有标记点的线性运动被定义为MP5;所有标记点的旋转运动被定义为MP6;所有标记点的坐标中几乎没有被定义为MP7的运动;前肢关节的摆动被定义为MP8。实验鼠的运动基元、行为和状态如表1所示。

《表1》

表1 实验鼠的运动基元、行为和状态

MPSymbolBehaviorSymbolStateSymbol
Head pitchingMP1SniffingB1StressfulS1
Head yawingMP2ExploringB2ComfortableS2
Body pitchingMP3WalkingB3
Body yawingMP4TrottingB4
Going straightMP5RestingB5
TurningMP6GroomingB6
StayingMP7
Forelimb swingMP8

《2.1.2. 运动基元组合与行为、状态分类》

2.1.2. 运动基元组合与行为、状态分类

本研究观测到的实验鼠运动基元序列如图2所示。该序列为实验鼠的活动序列,通过不同运动基元的组合,可以反映实验鼠的活动特征。本文使用如下方法提取运动基元的组合:首先,计算两个运动基元之间的距离,距离为0表示这两个运动基元同时发生。提取所有距离为0的运动基元并形成初始组合(包括仅包含一个运动基元的组合)。其次,将每个组合与后续的运动基元或基元组合(距离值为1)连接以形成新组合,并计算新组合的频率。如果新组合的出现频率非常高,则新组合将替换初始组合;如果新组合的出现频率较高,则保留两个组合;如果新组合的出现频率较低,则丢弃新组合。重复第二步,直至没有新的组合出现。这样,就得到了所有出现频率较高的运动基元组合。

《图2》

图2 实验鼠的运动基元序列和组合。

进一步地,本文使用组合属性来反映这些运动基元组合的特征,如图2所示。其中,C1表示运动基元的重复性,值为1表示重复,值为0表示不重复;C2表示同时发生的运动基元的数量;C3表示组合中的运动基元总数(同时发生的运动基元仅计为一个)。建立运动基元的组合属性是为了更好地对这些运动基元组合进行分类。在区分运动基元组合时,仅依据运动基元的类型(MP1~MP8)是不够准确的,有可能造成对实验鼠行为的误判。因此,将运动基元的类型与组合属性一起作为实验鼠行为判别的标准,既能有效区分不同的运动基元组合,也能提高行为映射的准确率。

最后,本文使用监督学习获得运动基元组合与行为、状态之间的关系。收集标记数据集以训练softmax分类器。网络的输入是运动基元(1表示该运动基元被激活,而0表示未被激活)和组合属性,输出是相应的行为和状态。该网络隐含层的节点数为8。本文假设不同的行为和状态是相互排斥的,这有利于对机器鼠的控制。

《2.1.3. 状态-行为-运动分层模型》

2.1.3. 状态-行为-运动分层模型

softmax分类器的结果用于获得状态、行为和运动的分层模型(见第3.1节)。λ表示不同状态和行为之间的初始和转移概率,以及每种行为中每个运动基元组合的观测概率。该分层模型有效地反映了观测中实验鼠的活动特征。模型的状态层是一个标准的马尔可夫模型,包括初始概率、转移到自身状态的概率以及转移到其他状态的概率。对于行为层,由于连续的行为已由运动基元的特定组合表示,因此只有初始概率和转移到其他行为的概率;对于运动层,由于与不同行为相对应的运动基元组合之间不存在必然的联系,具有随机性,而且受到不同行为之间的转移概率的控制,因此只给出了初始概率(观测概率)。该分层模型从上到下逐渐细致,而概率系统则变得更简单,有利于对机器鼠进行控制。

《2.1.4. 模型收敛》

2.1.4. 模型收敛

信息熵解决了信息的定量测量问题[35]。在本研究中,计算了分层模型中状态和行为的信息熵,以确定模型在概率方面是否趋于收敛。本文首先统计了1700个实验鼠的运动组合,将这些运动组合映射到不同的状态和行为,然后计算每个状态和行为的发生次数和概率。接下来,每增加200个实验鼠的运动,重新计算各状态和行为的概率分布。当各状态和行为的概率分布几乎不变时,状态和行为的信息熵也变得稳定,表明模型已经收敛。信息熵的计算如下:

HS=-i=1nSπSilog2πSiHB=-i=1nBπBilog2πBi(1)

式中,H(S)和H(B)分别表示实验鼠状态和行为的信息熵;πSiπBi分别表示实验鼠各状态和行为的初始概率(观测概率);nSnB分别表示分层模型中状态和行为的个数。

本文对实验鼠状态和行为信息熵的计算结果如图3所示。分层模型中状态和行为的信息熵在统计3500个实验鼠的运动下达到稳定。信息熵的增加表明,不同状态和行为之间的概率差异正在减小。这可能反映了实验鼠对于新环境的适应性。在早期的实验鼠数据中,紧张状态(S1)和探测行为(B2)的概率远高于其他状态和行为;随着数据量的不断增加,放松状态(S2)、休憩行为(B5)和理毛行为(B6)的概率逐渐增加。当模型达到收敛后,停止对实验鼠数据的采集。

《图3》

图3 分层模型中实验鼠状态和行为信息熵。

《2.1.5. 模型调节》

2.1.5. 模型调节

皮尔逊相关系数反映了两组数据之间的线性相关性,并已成功用于测量仿生机器人和动物之间的运动相似性[3637]。本文对于运动基元的特定组合,使用i,rat表示实验鼠运动关节坐标,而i,robot表示机器鼠运动关节坐标。机器鼠和实验鼠之间的运动相关系数ρratrobotM可表示如下:

ρratrobotM=1Nui,rat-u¯i,ratui,robot-u¯i,robotui,rat-u¯i,rat2ui,robot-u¯i,robot2(2)

式中,N表示该运动下运动关节的个数。进一步地,对于某种行为,假设包含K种不同的运动,且每种运动的观测概率为πMj ,得到该行为的行为相关系数ρratrobotB为:

ρratrobotB=1KjπMjρratrobotMj(3)

为了在机器鼠上实现类鼠的行为,本文要求各行为相关系数大于0.8。当某种行为的相关系数低于该阈值时,首先调节实验鼠运动参数的提取过程;如果仍然无法满足阈值,则将该行为所属的运动组合拆分,使该行为对应于不同的新行为,然后对行为进行重新分类。

《2.2 运动泛化》

2.2 运动泛化

本文对实验鼠的参数化建模如图4所示。其中,红色标记表示俯仰方向上的主要自由度,蓝色标记表示偏航方向上的主要自由度,黑色标记表示大鼠的鼻尖、尾端和质心(CoM)。在实验鼠尾部建立坐标系,并使用Kinovea软件跟踪标记点的位置信息。

《图4》

图4 实验鼠参数化模型。

本文定义了实验鼠的静态运动参数,所有角度均表示实验鼠的运动幅度。其中,俯仰角在水平位置为零,向上为正,向下为负;偏航角在对称位置(指实验鼠头部和身体呈一条直线)为零,方向则随机(向左或向右:从实验鼠的运动观测数据统计出发,实验鼠向左与向右偏航的概率大致相等),值为正;头部俯仰角φhp和头部偏航角φhy分别表示x轴和从鼻尖(nose)到关节J7、J6线段之间的角度;身体俯仰角φbp和身体偏航角φby表示x轴和从质心到尾端(tail end)线段之间的角度;转弯角α表示转弯运动前后x轴的旋转角。参数φfs表示大鼠前肢摆动角度,v表示大鼠质心的平均前进速度,f表示运动频率(仅适用于重复出现的运动基元组合),T表示运动持续时间。

为了降低运算的复杂度,简化机器鼠的运动控制,对上述静态参数的值进行聚类分析,提取静态参数的优势值。由于难以提前确定聚类数量,使用分层聚类法(又称系统聚类法)进行分类。首先,将每种静态参数的不同值视为一个类,并计算类之间的距离。将两个最近的类(i-1, j-1)合并为一个,并将其平均值作为新类的值。然后,计算新类(j)和其他类(i)之间的距离,直到任意两个类别之间的距离满足以下条件:

Di,jτAmax                                                 Di,j=12Di-1,i2+12Dj-1,j2-14Di-1,j-121/2(4)

式中,Amax表示每种静态参数的最大值;τ的值决定分类的密度。最终,聚类结果中每个类对应的值为提取的静态参数优势值。当统计某种静态参数优势值的概率分布时,通常还会受到其他参数的影响。因此,有必要计算两个参数之间的独立性,将非独立的两种参数做联合统计,以形成优势值的联合概率分布;否则,将静态参数做单独统计,以形成优势值的独立概率分布。

由于数据量较大且要求分类准确,为了提取动态参数的优势值,本文使用FCM聚类对动态参数进行分类。动态参数(i,j)反映主要运动关节i随离散时刻j变化的角位移特性。对于处于某类运动中的主要运动关节i,可以通过标记的坐标值计算该运动关节在离散时刻j下的角位移(j′)和角速度(j′)。由于该类运动发生了多次,可以获得数据集j′ = (j′, j′) (j′ = 1, 2, …, n)。聚类分析的过程如下:

O=i´cj´=1nui´j´mxj´-ci´2(5)

式中,ci´=j´=1nui´j´mxj´j´=1nui´j´mui´j´=1k=1cxj´-ci´xj´-ck2m-1O表示目标函数;i′j′表示样本j′属于类别i′的隶属度;m为隶属度因子,影响分类的程度;i′表示类别i′的聚类中心。聚类的个数c可以先通过各样本轮廓系数的均值大致确定,轮廓系数的均值越接近1,表明聚类效果越好。对参数i′i′j′进行迭代,直至目标函数O小于事先设定的阈值。为了更好地反映实验鼠的动态运动特征,在确定动态参数的优势值时,对经过分类的各样本采用加权法,每个样本的权重由该样本所处类别中样本个数的比例决定,如下所示:

θi,j=i´=1cθj´Ci´θj´Ni´i´=1cNi´2(6)

式中,i′表示属于类别i′的所有样本集;i′表示类别i′中包含的样本个数。

根据实验鼠运动的静态和动态参数,本文使用傅里叶级数来拟合实验鼠各主要运动关节的角位移曲线,并初步作为机器鼠各关节轨迹规划的参考依据[38]。经过测试,二阶傅里叶级数可以满足拟合的精度要求(R-square > 0.9)。以俯仰运动(MP1MP3)为例,对输入和输出进行归一化,得到下式:

θi,jφbp=ki1+ki2sinwitjT+ki3coswitjT+ki4sin2witjT+ki5cos2witjT(7)

式中,ii1~i5为拟合得到的关节轨迹参数(i = 1, 2, 5, 7)。对于重复的运动,如MP1*,i由运动频率f表示。

神经网络通常被用于学习动物的运动[3941]。在本研究中,采用了具有两个隐含层的BP神经网络来实现机器鼠关节运动轨迹的泛化。该网络的输入为静态参数,输出为优化后的关节轨迹参数。tanh激活函数用于加速网络的收敛。根据学者对神经网络的研究[4243],隐含层中的节点数应介于输入层节点数和输出层节点数之间,且所有隐含层宜使用相同数量的神经元。本文对机器鼠的每种运动都使用了一个相应的神经网络进行训练。通过调整隐含层中的节点数,以避免欠拟合或过拟合现象。仍然以俯仰运动(MP1MP3)为例,该训练网络的输入节点数为2(φbp, T),输出节点数为6(i, i1~i5),隐藏层中的节点数为4,如图5所示。神经网络的代价函数为均方误差损失函数(mean squared error, MSE),通过批样本并行梯度算法进行网络训练。对聚类结果进行修正,以调节静态和动态参数优势值的提取。在初始设置中,为了降低模型的复杂性和计算量,可以使用较大的τ值和较小的c值。当机器鼠某类行为的相关系数低于阈值时,按对运动基元组合观测概率的降序修正聚类的结果,同时减小τ值并增加c值。

《图5》

图5 用于训练机器鼠俯仰运动泛化能力的BP神经网络。

《2.3 机器鼠控制》

2.3 机器鼠控制

《2.3.1. 机器鼠平台》

2.3.1. 机器鼠平台

本课题组研制的仿生机器鼠平台如图6(a)所示。基于轮式机器鼠相对于四足机器鼠的优势,本课题组将机器鼠的后肢转化为一个底座,该底座包括一个髋关节和四个轮子(两个前驱动轮和两个后万向轮)。该机器鼠主要由头部、前肢、腰部和底座组成。头部(J6、J7)和髋关节(J1)由舵机驱动,腰部关节(J2、J3、J4、J5)和主动轮(JWL、JWR)由直流电机驱动,前肢(JF)由微减速步进电机驱动。该机器鼠复制了实验鼠的脊柱结构,在脊柱上的各关节对应于实验鼠的主要运动关节。机器鼠的形状和大小与实验鼠相似(196 mm × 56 mm × 74 mm),总质量约为400 g。图6(b)和表2显示了机器鼠各关节的分布以及运动基元和关节之间的对应关系。

《图6》

图6 机器鼠平台与运动坐标系神经网络。

《表2》

表2 执行运动基元的机器鼠关节

MPJoints of robotic rat
MP1J7
MP2J6
MP3J1, J2, and J5
MP4J3, J4
MP5JWL and JWR
MP6J3, J4, J6, JWL, and JWR
MP7Non
MP8JF

机器鼠的运动参数主要受实验鼠运动参数和机器鼠自身结构约束的影响。机器鼠自身结构约束主要指通过分析机器鼠的工作空间和运动关节之间的干扰,可以获得机器鼠运动参数的幅值,如最大身体俯仰角和身体偏航角。关于该约束,在参考文献[22]中进行了详细的描述。此外,考虑在运动控制方面的约束,机器鼠需要在运动中保持动态平衡,而不会发生振动或侧滑。因此,机器鼠在各种条件下通常具有最小的运动持续时间。关于该约束,在参考文献[44]中进行了详细的分析。在确定机器鼠的运动参数时,取决于提取的实验鼠参数是否超出机器鼠本身的限制。如果没有超过限制,机器鼠的运动参数等于实验鼠的运动参数;如果超过限制,则机器鼠的运动参数等于限制的最大值或最小值。因此,可以将机器鼠运动的参数定义为:

φbp=φbp, φby=φby,φbp,φbyU             φbp=φbpmax,and/or φby=φbymax,else(8)

T=T,       s.t.    CeqT=Tmin,    else      (9)

式中,UCeq分别表示机器鼠的工作空间和动态平衡约束;(φbp)max和(φby)max分别表示满足工作空间约束的最大身体俯仰角和身体偏航角;Tmin表示满足动态平衡约束的最小运动持续时间。基于上述机器鼠原型,本文在机器人操作系统(ROS)环境(Gazebo模拟器)中建立了相应的刚体仿真模型,并将该模型用于训练过程。

《2.3.2. 机器鼠轮部模型》

2.3.2. 机器鼠轮部模型

机器鼠转弯运动的动力学模型如图7所示。p点为机器鼠运动的瞬时质心;q点为机器鼠的瞬时旋转中心;ad为机器鼠主动轮;b、c为机器鼠被动轮。FtFn分别表示机器鼠质心处的切向与法向静摩擦力。f′af′bf′cf′d表示各轮上的滚动摩擦力,并可以表示为f′a = μ′aNa、f′b = μ′bNbf′c = μ′cNcf′d = μ′dNd。其中,μ′a = μ′dμ′b =μ′c为滚动摩擦系数。NaNbNcNd表示各轮上的支持力,通过列写机器鼠转弯运动中的动态平衡方程(Σx = 0、Σy = 0、Σz = 0、Σz= 0),可以由各偏航关节角位移ii = 3, 4, 6)表示。各连杆i不仅受惯性矩的作用,还受到非惯性系下离心力和科氏力的作用。FCi为作用于连杆i上离心力和科氏力的合力;Fco为作用于所有连杆上的FCi的合力,即Fco = ΣFCiγ表示Fcox轴间的夹角。ω为机器鼠质心瞬时转弯角速度;R为转弯半径;L为轮间距。基于牛顿第二定律,机器鼠转弯运动在切向与法向的动力学方程表示如下:

《图7》

图7 机器鼠转弯运动的动力学模型。

Ft+Fcocosγ-fa´-fb´-fc´-fd´=mRω˙Fn+Fcosinγ=mRω2                            (10)

假设驱动轮a和d的转速分别为ω1ω2,驱动轮半径为rdτ1τ2为两个驱动轮的实际输出扭矩,k1k2为功率因数,P1P2为两个驱动轮的实际输出功率。机器鼠质心处的静摩擦力由电机在驱动轮上的实际输出扭矩提供,驱动轮转速差引起的质心角速度由法向静摩擦力产生,且机器鼠在运动持续时间T内转过的角度为α,因此有:

Ft+Fnrd=τ1+τ2            k1τ1ω1=P1,   k2τ2ω2=P2Fn=mRω2-ω1rdL2  α=0Tωdt                           (11)

由于Fcoγ可以由各偏航关节角位移i (i = 3, 4, 6)表示,并包含静态参数αT,通过式(10)和式(11)可以获得驱动轮角速度差与αT间的关系。

《3、 结果》

3、 结果

《3.1 分层模型中的概率分布与转移》

3.1 分层模型中的概率分布与转移

在行为和状态分类的基础上,根据发生次数计算了实验鼠各状态、行为和运动的概率,得到的状态-行为-运动分层模型如图8(a)所示。其中,虚线表示初始概率,实线表示转移概率,不同颜色表示不同的概率区间。运动基元的并列表示这些运动基元是同时发生的,符号“-”表示运动基元的时序,“*”表示运动基元在组合中重复出现。对于行走行为(B3),该行为包含的运动基元有直行(MP5)、转弯(MP6)和停留(MP7)。由于该行为包含不同运动基元数目的各种组合,因此本研究对该行为进行了单独的概率统计。图8(b)展示了行走行为中各运动基元的初始概率(黑色虚线)和转移概率(黑色实线);图8(c)展示了行走行为包含的组合中运动基元数目的概率分布。

《图8》

图8 实验鼠状态-行为-运动分层模型。

《3.2 静态运动参数分布》

3.2 静态运动参数分布

表3显示了用于描述运动基元组合的静态运动参数,括号中的参数彼此不独立。对于不同的行为,通常会出现相同的运动基元组合和静态运动参数。图9展示了实验鼠在不同行为下静态运动参数的分布。图9(a)比较了行走和小跑行为的平均直行速度。在这两种行为下,平均直行速度具有相似的范围(0.125~0.250 m·s-1),但小跑行为下高速运动的概率明显大于行走行为。图9(b)比较了行走行为和休憩行为的停留时间。行走行为下实验鼠的停留时间较短,为0.5~1.5 s,而休憩行为下实验鼠的停留时间较长,为3~7 s。图9(c)展示了行走和小跑行为的转弯角和运动持续时间的分布。右上角的“*”表示高概率产生的数据(带“*”的所有数据的发生概率之和大于0.7)。可以看出,小跑行为下转弯运动的平均角速度比行走行为快。这些参数的分布支持了本研究对于行为分类的合理性。

《表3》

表3 用于描述运动基元组合的静态运动参数

MPs/combination of MPsStatic parameters
MP1 *φhp, f, T
MP1MP2(φhp, φhy), T
MP1MP3(φbp, T)
MP2MP4(φby, T)
MP1MP2MP3MP4(φbp, φby, T)
MP5v, T
MP6(α, T)
MP7T
MP1MP8 *φhp, φfs, f, T

《3.3 机器鼠关节运动轨迹》

3.3 机器鼠关节运动轨迹

图10展示了机器鼠在俯仰运动(MP1MP3)、偏航运动(MP2MP4)和转弯运动(MP6)中的各关节轨迹曲线。浅红色区域表示测试样本轨迹的包络,黑色实线表示基于训练样本的神经网络给出的测试样本轨迹的平均预测值。对于每种运动,训练样本的数量大约为测试样本的两倍。对于俯仰运动和偏航运动,因为机器鼠抬起/偏航的时间约占运动持续时间的一半,且抬起/偏航的轨迹与另一半(下降/返回)的轨迹基本对称,因此,本文只给出了机器鼠各关节从t = 0到T/2的轨迹。从图中可以看出,黑色实线几乎都包含在红色区域内,表明神经网络成功实现了机器鼠运动的泛化。在俯仰运动中,机器鼠各关节的轨迹分布相对集中,表明实验鼠的俯仰关节在不同静态参数下的运动较相似,机器鼠对实验鼠各关节的轨迹误差较小,其位移主要发生在髋部和前腰。在偏航运动和转弯运动中,机器鼠头部关节轨迹的分布相对松散,表明实验鼠的头部运动复杂多样,且机器鼠对实验鼠头部运动关节的轨迹误差较大。相较而言,腰部的轨迹分布更集中,机器鼠对实验鼠腰部关节的轨迹误差较小,其位移主要发生在头部和前腰。对于机器鼠整体轮廓误差而言,由于头部占身体长度的比例很小,头部关节的轨迹误差是可以接受的。

《图10》

图10 机器鼠各关节轨迹曲线(θ1 ~ θ7)。(a)俯仰运动关节轨迹曲线。横轴为俯仰运动持续时间T的比例,纵轴为身体俯仰角φbp的比例。(b)偏航运动关节轨迹曲线。横轴为偏航运动持续时间T的比例,纵轴为身体偏航角φby的比例。(c)转弯运动关节轨迹曲线。横轴是转弯运动持续时间T的比例,纵轴是转弯角α的比例。

图11展示了机器鼠在转弯运动中驱动轮的角速度。红色虚线表示理论计算结果,黑色圆点表示机器鼠在实验中获得的角速度值(ω1 = 0)。可以看出,实验值与理论值接近,ω2α呈正相关,与T呈负相关。

《图11》

图11 机器鼠转弯运动驱动轮角速度。

《3.4 相似性分析》

3.4 相似性分析

在机器鼠仿真过程中,本研究首先基于获得的概率分层模型确定了机器鼠的行为和运动基元组合。此外,对于每个运动基元组合,根据聚类分析的结果设置静态运动参数。根据这些静态运动参数,使用BP神经网络获得每个关节的泛化轨迹。事实上,本研究已经建立了机器鼠关节运动库。一旦确定了静态运动参数,就可以快速获得机器鼠各关节的轨迹。因此,本文可以获得机器鼠预先规划的关节状态(位置、速度和加速度)。在机器鼠的实际控制当中,本文实时计算了机器鼠的关节状态,并将该关节状态与预先规划的关节状态进行了比较。根据它们之间的差异,通过阻抗控制计算出关节扭矩,然后驱动机器鼠的每个关节产生新的关节状态。本文控制机器鼠在每组中产生50个运动,总共记录了10组,然后计算了其各类行为和运动的相关系数。

图12显示了机器鼠在10 s内的行为和运动,以及与实验鼠的行为和运动的比较结果。结果表明,机器鼠的行为和运动通常与实验鼠较相似。图13展示了行为相关系数ρrat‒robot与聚类分析中τc之间的关系。随着τ的增加,相关系数先缓慢减小,然后急剧减小。在这里,τ = 0表示每个数据点为一个类,而τ = 1表示所有数据点只分成一个类。当τ = 0时,虽然具有较高的相关系数,但神经网络的样本数量也急剧增加,从而提高了模型的训练成本。因此,本文认为τ = 0.1是一个更好的选择,减少模型训练成本的同时,保持了较高的相关系数。对于c而言,c = 1和c = nn = 15,数据点的个数)意味着对所有数据点进行平均以获得动态参数,这将降低相关系数。当c在1到n之间时,相关系数较高,表明加权法优于平均法。对于探测行为下的俯仰运动,c = 3是更好的选择。

《图12》

图12 机器鼠在10 s内的行为和运动。

《图13》

图13 相关系数ρrat‒robot与聚类分析中τc间的关系。

机器鼠和实验鼠之间不同行为和运动的相关系数如图14所示。由于停留运动(MP7)和休憩行为(B5)中机器鼠的关节不产生位移,因此未计算对应的相关系数。图14(a)显示了探测行为(B2)下各类运动的相关系数。扇区的大小反映了各类运动的观测概率。每个扇区的数据均表示该运动相关系数的平均值±标准差(SD)。由于实验鼠头部偏航方向运动的复杂性和多样性,俯仰运动(MP1MP3)的相关系数高于偏航运动(MP1MP2, MP2MP4),并具有较小的标准差。图14(b)显示了不同行为的相关系数,误差条显示一个标准差。规律性较强的行为,如嗅探行为(B1)和理毛行为(B6)只包含一个重复的运动,具备较高的相关系数和较小的偏差。相反,由于行走行为(B3)中运动组合的复杂性和多样性,使相关系数较低,偏差较大。对于机器鼠复杂的行为而言,如果希望进一步提高与实验鼠的行为相似度,则需要收集更多的实验鼠数据并用于训练。

《图14》

图14 机器鼠和实验鼠间不同行为和运动的相关系数。

《4、 讨论》

4、 讨论

在行为分类过程中,最初将实验鼠的行为分为嗅探、探测、行走、休憩和理毛。由于行走行为的相关系数较低,对行走行为进行了细分。本文对实验鼠的连续直行或转弯和走走停停的运动进行了区分,并将运动基元的4种组合(MP5、MP6、MP5MP6、MP6MP5)与小跑行为相匹配。上述组合不包括停留(MP7),速度相对较快。接下来,对行为重新进行分类,分别提取行走行为和小跑行为下的运动参数。重新分类后,本文获得了行走和小跑行为更高的相关系数。由于只是将原来行走行为的一部分更改为小跑行为,而未改变实验鼠观测的运动基元序列,因此在计算行为概率时,行走和小跑行为之间的转移概率为零。

分层模型中的不同行为和状态具有明显的特征。其中,嗅探行为的主要表现为实验鼠通过鼻尖反复触摸地面等运动;探索行为主要表现为头部和身体的俯仰和偏航运动;行走行为的主要特点是实验鼠的直行和转弯速度较慢,同时具有短时间的停留。此外,与此行为对应的组合中运动基元的数量通常超过三个。小跑行为的主要特点是实验鼠具有较快的直行和转弯速度,且对应于该行为组合中运动基元的数量通常不超过两个;休憩行为主要表现为实验鼠长时间的停留;理毛行为主要表现为实验鼠轻微的头部和前肢运动;紧张状态主要表现为实验鼠具有明显的位移或频繁的嗅探和探测行为;放松状态主要表现为实验鼠不具有明显的位移,各关节无运动或仅在头部和前肢有微小的运动。

由于实验鼠的肢体在转弯运动期间几乎不做反向移动,因此在设计驱动轮的旋转角速度时,不对机器鼠驱动轮作反向驱动,以避免减少机器鼠的运动仿生性;同时,由于机器鼠的轮式底座和实验鼠肢体间的差异,导致机器鼠的转弯半径通常大于实验鼠。在相同的驱动轮角速度差下,机器鼠的转弯半径随着驱动轮角速度的增加而显著增加。因此,在本文中,固定ω1 = 0并仅控制ω2以协调机器鼠转弯运动中偏航关节的运动是更合理的设计。

《5、 结论》

5、 结论

对于仿生机器人而言,类似的行为模型更有利于机器人和动物之间产生有效的互动。本研究主要通过提取不同的运动基元组合并将这些组合对应于不同的行为来获取实验鼠的行为-运动规律。进一步地,通过提取实验鼠运动的主要参数,学习和泛化每个关节的运动轨迹。机器鼠和实验鼠之间的相关系数用于衡量二者的相似性,并控制行为分类和运动参数提取的过程。ROS环境中的刚体模型用于学习数据并训练机器鼠。仿真结果表明,该机器鼠可以实现6种典型的实验鼠行为。对于每种行为,机器鼠都表现出很高的相似性(行为相关系数大于0.8)。

在未来的工作中,本课题组将在机器鼠上实现两种模式:个体模式和交互模式。在个体模式下,机器鼠根据本文获得的分层模型生成相应的行为和运动;在交互模式下,机器鼠识别交互目标的当前行为,然后进行跟踪、模仿和接触等交互行为。机器鼠是执行个体模式还是交互模式将取决于交互概率,即在一系列活动中观测到的两只实验鼠间交互的概率。基于本文所提出的方法,可以进一步定义机器鼠在交互模式下的行为和运动。通过机器鼠和实验鼠之间的交互控制,可以进一步探索实验鼠的社会行为机制。