一种基于人体运动捕捉数据的仿人机器人步态规划方法与流程

文档序号:12823700阅读:274来源:国知局
一种基于人体运动捕捉数据的仿人机器人步态规划方法与流程
本发明属于智能机器人领域,主要内容是基于人体运动捕捉数据,将人体的步态模式运用到仿人机器人身上,实现仿人机器人的稳定行走。
背景技术
:目前仿人机器人的研究受到了越来越多的追捧,各个国家都投入相当多的人力、物力来进行研究。各国仿人机器人的研究重点之一是如何实现仿人机器人稳定的行走。仿人机器人步态行走的优劣可以从一定程度上反映出仿人机器人研究水平的高低。目前众多的仿人机器人步态规划方法大致可以分为以下几类:①基于简化模型的步态规划方法。这种方法的主要思路是忽略机器人存在的一些物理特征,抓住其主要特征并且将其简化成基本的模型,例如连杆模型、倒立摆模型、桌子—小车模型等,然后基于这些简单模型对机器人进行步态规划。这些模型存在的主要问题也正是因为其忽略掉了机器人本身存在非主要特性,因此构建出的简化模型不能充分反映出机器人的运动学以及动力学特征,从而只能复现严格特定条件下的机器人的步态,具有很大的局限性。②基于智能计算的步态规划算法。比如基于神经网络规划法、模糊逻辑规划法、遗传算法规划法等。基于智能计算的步态规划算法,由于其强大的学习能力、自适应和容错能力吸引了众多研究者,但它本身也存在着学习样本不确定、最终算法收敛性不确定等问题。③基于能耗优化的步态规划方法。这种方法是将机器人的稳定性作为约束条件,将机器人的能量消耗函数最优值作为目标来规划仿人机器人的步态。这种方法由于需要建立精度较高的仿人机器人运动学以及动力学模型,因此常常会带来计算量大且不能实时计算的问题,尤其是在模型复杂的情况下,甚至存在不可解情况。④基于人体运动捕捉数据的仿人机器人步态规划。这种方法是通过研究人体的行走步态特征,并将其运用到仿人机器人身上。该种方法不仅能够简化步态规划的难度,让仿人机器人获得类人的行走步态,同时能够对复杂的动作进行规划,因此此种方法是目前仿人机器人步态规划研究的热点。本发明专利的目的就是提出一种基于人体运动捕捉数据的仿人机器人步态规划方法,探究如何将人体的运动模式运用到仿人机器人身上以达到实现仿人机器人稳定行走的目的。技术实现要素:本发明提出一种基于人体运动捕捉数据的仿人机器人步态规划方法。整个方法的架构如图1所示,主要包括以下几个方面。首先,获取人体的运动捕捉数据并且对人体的运动进行分析;然后,对原数据进行数学预处理,生成人体运动的步态模式;其次将人体运动步态模式数据进行相应的格式转化,生成适用于仿人机器人的步态模式数据并将其直接运用到仿人机器人身上;同时,基于zmp算法对仿人机器人的稳定性进行判定并且实时调整仿人机器人的关节角度以达到仿人机器人稳定行走的目的。下面将逐个介绍具体的实施方法。此次采用的是来自于卡耐基梅隆大学运动实验室的人体运动捕捉数据。该实验室采用光学式运动捕捉设备,通过粘贴在人体上的marker,每秒采集120帧的人体运动捕捉数据,输出的数据格式为.asf文件和.amc文件。其中.asf文件定义了人体骨架的拓扑结构,其树状图如图2所示,在motionbuilder中的骨骼图如图3所示;.amc文件定义了与.asf文件相对应的“子关节”局部坐标系相对于“父关节”局部坐标系的每一帧欧拉角(xyz)。人体运动过程由成百上千个关节自由度同时作用而成,为了将人体关节角度数据运用到仿人机器人身上,需要对人体自由度进行精简。为此定义了下肢左右腿各6个自由度,如图4所示,具体关节角度定义如下:右踝横滚角θ1,右踝俯仰角θ2,右膝俯仰角θ3,右髋俯仰角θ4,右髋横滚角θ5,右髋偏航角θ6;左踝横滚角θ7,左踝俯仰角θ8,左膝俯仰角θ9,左髋俯仰角θ10,左髋横滚角θ11,左髋偏航角θ12。随后在webots仿真平台中搭建了如图5所示的包含以上自由度的仿人机器人模型,模型高度及骨骼比例与.asf文件中定义的骨骼模型一致。由于.amc文件定义的关节角度是每一帧“子关节”局部坐标系相对于“父关节”局部坐标系的欧拉角(xyz),如图6所示。但是仿人机器人使用的关节角度为笛卡尔坐标系下关于自身局部坐标系转过的角度(关节空间中),因此需要实现从人体运动捕捉数据到仿人机器人使用数据格式的匹配。由于人体骨骼模型和仿人机器人模型具有相同的自由度数和关节结构,并且人体骨骼长度和仿人机器人对应部位几何长度相等,因此可以通过关节的绝对坐标相等求解仿人机器人所有关节角度,完成关节角度换算。建立人体骨骼运动学模型,其连杆模型结构如图7所示。根据此模型,按照以下公式求解左踝绝对坐标:其中r3×3=[parentxchild,parentychild,parentzchild]代表子坐标系在父坐标系中x、y、z轴的位置矢量,描述了子坐标系的姿态;p3×1代表子坐标系原点在父坐标系中的位置矢量,描述了子坐标系的位置。vo=[0,0,0,1]t代表关节在其局部坐标系中的坐标。分别描述了根节点相对于世界坐标系、髋关节相对于根节点、膝关节相对于髋关节、踝关节相对于膝关节的齐次旋转矩阵。同时求得膝关节和髋关节的绝对坐标:利用同样的运动学建模方法计算出仿人机器人模型对应关节的绝对坐标:pla=m11(θ11)m12(θ12)m10(θ10)m9(θ9)m7(θ7)m8(θ8)elaplk=m11(θ11)m12(θ12)m10(θ10)m9(θ9)elkplh=m11(θ11)m12(θ12)m10(θ10)elh其中mi(θi)用来描述连杆间的转换矩阵(d-h表示法),ela,elk,elh用来代表关节在自身局部坐标系中的坐标(0,0,0,1)t。由于仿人机器人的关节角度都有一定的域度,因此定义了所求每个自由度的取值范围,如表1所示。表1为关节自由度取值范围表关节角(度)θ7θ8θ9θ10θ11θ12max25.21260.738130.07151.05230.191.107min-25.212-60.738-1-51.939-21.03-30.942基于以上求出的各关节绝对坐标,和关节角度的约束条件,求得θ7,θ8,θ9,θ10,θ11,θ12。利用此种运动学建模方法可以实现从人体运动捕捉数据到仿人机器人关节角度数据的转换。人体的直线行走是一个多周期往复的过程,因此将人体的步态模式分成三个阶段,如图8所示:起步至左脚跟着地,左脚跟着地到下一次左脚跟着地,左脚跟着地至终止。参考初始的人体运动捕捉数据之后,定义每一阶段的时长分别是第一阶段90帧,第二阶段160帧,第三阶段80帧。在确定了步态模式阶段后需要对处理后的人体运动捕捉数据进行数学优化,主要包括以下几个方面:首先是步态模式的提取,利用脚后跟落地时角加速度的突变点为分割点,分割出步态模式的三个阶段,即起步、行走、终止;其次是归一化,因为步态模式因人而异,因此要将每个阶段不同人的步态时间进行归一化,统一至之前定义的时长;然后去噪,对比关节角度曲线,对于误差较大的曲线作舍去处理;对每一阶段的多组角度曲线作取平均处理;之后对平均值曲线进行滤波,针对人体关节角度曲线连续,波动幅度不大的特点,采用算数平均值滤波方法,对n个连续采样值相加,然后取其算术平均值作为本次测量的滤波值,滤波的主要目的是平滑关节角度曲线,以便于仿人机器人的角度不会有突变;最后,为了循环利用第二阶段作为周期步态,需要保证首尾角度,加速度以及加加速度的一致性,因此采用hermite对第二阶段的最后20帧进行插值,hermite插值能够三次导数即加加速度的连续性。在对人体运动捕捉数据进行了以上的处理后,若直接运用于仿人机器人,会发现仿人机器人的稳定性较差,因此需要基于zmp算法对仿人机器人的关节角度进行微调。人通过前庭、内耳等多器官合作调整身体姿态以达到稳定行走的目的。同样,仿人机器人可以使用zmp作为一个控制参数来对其髋关节角度进行微调,以达到提高仿人机器人鲁棒性的目的。为了测量出zmp的位置,仿人机器人的鞋底设置一层1cm厚的海绵,然后在海绵上贴了12个fsr(力传感器),如图9所示。当仿人机器人鞋底不同部分受力时发生作用的力传感器如图10所示。仿人机器人单足支撑时的zmp计算公式如下所示:其中pjx表示第j个压力传感器相对于鞋底中心的位置矢量,fjy表示第j个压力传感器在竖直方向上的压力值。双足支撑时的zmp计算公式如下:prx、prz表示右脚板底上测量的zmp位置,plx、plz表示左脚板底上测量的zmp位置。fry、fly分别表示右脚和左脚受到的地面作用力。基于zmp的仿人机器人稳定性控制流程图,如图11所示。首先判断是单足支撑还是双足支撑,分别采用不同的zmp计算方法;然后计算出当前zmp点距离期望zmp点的距离,如果在期望范围内,则不做调整,如果超出了期望范围则对仿人机器人的髋关节做反方向调整以达到提高仿人机器人鲁棒性的目的。为了让仿人机器人实现类人行走,因此为了评估人类步态与机器人步态的相似性,利用相似性函数用来比较对应的连杆姿态,计算公式如下所示:[h1,h2,...,hn]t与[r1,r2,...,rn]t代表人与机器人下肢连杆的姿态角,s∈[0,1],s为1时代表完全一样,s为0时代表完全不同。附图说明图1为本方法系统架构图。图2为.asf文件定义人体骨架拓扑结构图。图3为人-机简化模型图。图4为人体自由度定义图。图5为仿人机器人模型示意图。图6为人体骨骼模型图。图7为人体骨骼的运动学模型图。图8为人体步态模式分割图。图9为fsr粘贴示意图。图10为脚底部分着地受力示意图。图11为基于zmp控制流程图。具体实施方式下面结合附图和具体实施方式对本方法作进一步的说明。由于本方法是将人体运动数据运用到仿人机器人身上,因此数据的可靠性尤为重要。推荐采用国内外知名的运动捕捉数据库,例如卡耐基梅隆大学运动实验室的运动捕捉数据库,kit人体运动数据库,hdm05运动数据库等。这些数据库通常提供的运动捕捉数据格式为.bvh或者.amc与.asf结合的数据格式。.bvh文件是数据文件.amc与骨架文件.asf的结合,包含了两者信息,提供的骨架结构均符合图2所示的拓扑图。.amc文件定义了与.asf文件相对应的“子关节”局部坐标系相对于“父关节”局部坐标系的每一帧欧拉角(xyz),仿人机器人使用的关节角度为笛卡尔坐标系下关于自身局部坐标系转过的角度(关节空间中),因此需要对原始数据进行预处理。处理的方法是首先建立如图7所示的人体骨骼的运动学模型,通过运动学建模分别求出髋关节,膝关节和踝关节的绝对空间坐标,然后再运用同样的运动学建模方法建立仿人机器人的运动学模型(d-h法),由于人体骨骼模型和仿人机器人模型具有相同的自由度数和关节结构,并且人体骨骼长度和仿人机器人对应部位几何长度相等,因此可以通过关节的绝对坐标相等求解仿人机器人所有关节角度,完成关节角度换算。由于人类的直线步行是一个循环往复的过程,因此可以将人类的步行分割成如图8所示的三个阶段,其中第二个步行阶段可以被重复使用。将每个样本后脚跟着地时角速度的突变点作为两个阶段的分割点。以此操作,则可以得到双腿12个自由度的36条关节角度曲线。在得到人类的步态模式之后,需要对这些曲线作数学处理,主要包括一下几个过程:归一化,去噪,取平均,滤波,hermite插值。这样可以得到仿人机器人的步态模式,但是为了提高仿人机器人的鲁棒性,还需要引入zmp控制算法对仿人机器人的关节角度进行微调以达到实现机器人稳定行走的目的。为了测量出zmp点的位置,仿人机器人的每个脚底安装了12个力传感器,通过判定单腿支撑还是双腿支撑可以计算出zmp的实时位置。通过图11所示的控制算法流程图来对仿人机器人的髋关节角度进行微调以达到提高仿人机器人鲁棒性的目的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1