人机关节角度映射法,在Pepper机器人中,如何实现模仿人体动作?

大核世界 2024-05-24 07:13:20

文|大核有料

编辑|大核有料

机器人研究领域的兴起使多种人类的工作能够由机器人进行承担,通过合理的控制使仿人机器人在工作空间内模拟并执行人的动作来替代人类工作,不仅节约了人力,而且机器人的高重复性与准确性能够带来效率上的提高。

传统的机器人工作方式大多通过专业人员预先编程来使机器人掌握特定的工作技能。

这种方式机器学习耗时较长,适用于在工业环境下执行单一任务的机器人。

与传统方式相比,机器人的示教学习通过示范者演示示范动作,让机器人进行自动学习下的动作模仿,能够使机器人快速学会并执行多种工作任务。

基于机器视觉技术的示范学习方法,能够通过视觉反馈机制,使机器人与示范者面对面进行学习。

示范者通过更加自然的人机交互方式来指导机器人进行学习,不仅操作简便且提高了机器人的学习效率,更适用于日常生活中的辅助型机器人。

随着深度相机技术的成熟,例如微软的Kinect传感器,能够通过视觉系统捕捉人体骨骼数据实现机器人动作模仿。

在动作模仿环节,合理的运动规划是保证机器人动作稳定性与精准度的必要条件。由于机器人与人体构造差异性,为将人体动作体现在机器人手臂上需采取相应的人机映射策略。

传统的运动映射方法是逆运动学计算的数值方法,将人机映射问题转化为根据末端执行器的位置计算的关节角度。

这种方法在机器人需要执行模拟任务的工作空间中是十分有效的,但计算量较大。

使用基于几何的分析方法来提取关节角度特征,是一种直接利用视觉信息获取关节角度的方式。有研究角度特征提取的方法用于机械臂的姿态表示,提高了对于机械臂异常姿态检测的时效性。

将几何分析用于仿人机器人系统,能够将人体骨骼信息计算处理后匹配为机器人关节角度,这种方式充分利用人体骨骼信息,获取关节角度的方式更为直接。

通过对机器人骨骼技术的应用,机器人能够实现体感交互,对目标物体的抓取和动作模仿等。

本文提出了一种新的人机关节角度映射方法,通过利用分析机器人结构来构建几何空间的向量与平面,实现5自由度机械臂的机器人关节角度与人体关节角度的映射。提供了一种快速而自然的方式来教会人形机器人实现人类的行为。

视觉系统由Kinect相机传感器构建,基于采集示范者的骨骼数据,通过几何计算方法生成人体关节角度数据,并根据合理的人机关节角度映射方法将数据对应到机器人关节角度,实现机器人对人的动作模仿。

在仿人机器人Pepper上进行实验验证,证实基于几何计算的空间向量法计算关节角度是可行的。

«——【·系统结构·】——»

设计的系统由深度相机、人形机器人、单目相机以及一台计算机构成,如图1所示。

首先使用深度相机在人进行示范动作时采集人体骨骼数据,再使用数据线连接的方式将数据传输给计算机之后,计算机程序将进行骨骼数据的坐标变换和角度计算。

利用基于几何计算的空间向量法将人体关节点的坐标信息转换成角度信息,之后计算机根据计算结果生成控制命令并通过无线网将命令下达至机器人系统,机器人将根据命令生成相应教学动作。

深度相机选用微软KinectforWindowsv2,包含RGB彩色摄像机及利用红外原理的深度传感器,能够提取人体骨骼的25个关节点,关节点的位置如图2所示。

根据被控对象的需要,使用程序获取了包括SpineBase、ShoulderLeft、ElbowLeft、WristLeft、ShoulderRight、ElowRight和WristRight在内的6个关节点的信息。

本文所开发的人形机器人是Pepper机器人,它是一个1.2米高的轮式人形机器人,全身有17个关节。

图3展示了机器人关节位置。机器人的两条手臂各包含3个可动关节,有5个自由度。

其中,肩关节包含两个自由度,肘关节包含两个自由度,腕关节包含一个自由度。

机器人坐标系定义如图所示,机器人坐标系的坐标原点在机器人的质心位置,与Kinect坐标系不同的是,机器人坐标系的X轴正方向指向机器人前方,Y轴正方向指向机器人左方,Z轴正方向指向机器人上方,给机器人的控制命令参数都是以机器人坐标系为参考。

«——【·仿人动作模拟·】——»

人机动作映射叙述了如何用机器人进行仿人动作模拟,做出标准教学动作。

首先根据人体与机器人关节运动方式的区别,采取合理的人机映射策略,将人体关节角度映射到机器人关节。

据获取的人体骨骼点数据,通过几何方法计算出人体关节角度,最后将计算结果对应到机器人关节角度,通过对机器人运动轨迹进行规划使机器人能够平滑地完成教学动作。

人体的关节自由度与机器人关节自由度并不是一一对应关系。

除了人体关节灵活度更大以外,在活动范围方面也有区别,因此,选用如表1所示关节实现机器人对人上半身动作的模仿。

人机动作映射是在分析人体关节与机器人关节之间差异的基础上。建立人与机器人之间的映射关系,从而实现机器人对人动作的模仿。人的关节多为球形关节,自由度为二到三个。

而机器人的关节位置如图3所示。

如表2所示,将人体肩关节的运动角度简化为:一个以两肩连线为轴转动的角度,映射为机器人的肩部俯仰角;一个以大臂与身体在水平面的夹角,映射为机器人的肩部横滚角。

肘关节动作简化为:一个大臂与小臂之间的夹角,映射为肘部横滚角;一个肘关节以小臂为轴的旋转角度,映射为机器人的肘部偏航角度。

由于关节差异,人体的动作轨迹与机器人运动轨迹并不能完全相同,因此将动作分解多个动作点位进行捕捉。

首先系统会记录人体示范动作的起始位置与结束位置的关节角度,在动作示范过程中,每一秒记录人体的关节角度,作为动作点位进行动作轨迹规划。

关节角度计算:结合图2与图3的坐标轴分析,收集到的人体的关节点位由Kinect坐标系表示,该骨骼数据不能直接传递给机器人,因此必须进行坐标变换。

利用变换算法进行计算,从Kinect采样的骨骼点位置坐标信息转换为机器人坐标系信息。

在计算过程中,利用三维坐标信息定义人体手臂中大臂(upperarm)、小臂向量(lowerarm)、手臂平面和大臂垂直平面来辅助计算。

其中,大臂向量是指人体由肩关节指向肘关节的向量;小臂向量是指由机器人肘关节指向腕关节的向量;

手臂平面是指由大臂向量和小臂向量共同构成的平面;

大臂垂直平面是指大臂向量在水平面上的投影与大臂向量本身所构成的平面。

水平面的确定由在人体模型中建立坐标系来完成。

以人体右臂为例,首先以人体左肩、右肩以及中心点(SpineBase)三点确定一个平面作为基准平面,以右肩坐标位置ShoulderRight为原点,Y轴为过原点与基准平面法线平行的直线,X轴方向与基准平面平行,Z轴方向垂直水平面向上。

但由于机器人机构与人体结构存在客观上的差异,机器人并不能完全复现所有人体动作,考虑到这样的问题,当计算出的人体角度超过机器人关节角范围时,设定程序为该角度分配一个边界值,以防止对机器人造成损伤。

计算出的关节角度通过TCP/IP协议发送到机器人执行。机器人的ALMotion模块用于执行动作。

平滑轨迹规划:为实现机器人运动的连续性,对机械臂运动进行平滑运动规划,由于机械臂在起始位置与终止位置关节速度均为零,因此采用三次多项式样条插值方法。

«——【·实验验证·】——»

本文所选用的人形机器人Pepper机器人是一款包含嵌入式跨平台软件的机器人框架,其NAOqi系统能够为开发人员提供开发改造机器人的功能基础,机器人的ALMotion模块能够通过TCP/IP进行通信,控制机器人接收并完成动作指令。

Choregraphe是一款用于连接Pepper机器人以及显示其仿真模型的软件,能够根据输入的关节角度展示仿真机器人视图。

本文以此为基础对机器人仿人动作方法进行验证,实验分为两部分。首先进行不同动作的动作模仿准确性测试。

图4显示了Pepper机器人在模仿示范者不同动作下的表现。

Kinect摄像头捕捉到示范者的骨骼数据后,通过几何运算得到的机器人关节数据使Pepper能够完成示范者的动作。

机器人动作与示范者动作相同,验证了本文提出的构建平面与向量的计算方法能够准确描述人类动作并映射到仿人机器人。

图4显示了Pepper机器人在示范学习不同动作下的表现。示范者距离Kinect2.5m时,能够展现较好的骨骼识别效果。

机器人能够模仿示范者的动作。当关节角度超出机器人关节范围时,如第一行右侧图片双臂伸展的动作,机器人将会按照所分配的关节角度最大值进行动作模仿。

以一个动作点位为例,记录此时关节坐标。将坐标数据带入到公式中,计算出映射给机器人的关节角度。

表3展示了所获取的人体关节坐标,表4展示了计算得出的关节角度。坐标数据由Kinect相机获取,单位是厘米。

在角度发送至机器人致动器的同时,在机器人仿真模型中输入相同关节坐标,对比示范者,机器人及仿真模型的动作。

图5(a)展示了Kinect相机中对示范者的骨骼识别画面。Kinect相机能够识别人体的23个关节点位,对手臂关节点的检测较为清晰,在手掌握拳状态下对手指的检测存在误差。

图5(b)展示了相同动作下实体机器人与仿真机器人动作对比。

实体机器人的动作由系统经过坐标计算之后进行角度数据传输和控制,仿真机器人动作在Choregraphe软件中通过在机器人角度侦测器中输入相应角度来实现。

实体机器人动作与仿真机器人动作相同。验证了机器人在接收后动作数据能够较为准确地实现对动作的模仿,动作与仿真模型一致。

«——【·结语·】——»

将机器视觉技术与仿人机器人相结合,提出了一种基于人体骨骼信息的关节角度几何计算方法,用于仿人机器人的动作模仿,并进行了实验验证。

基于机器视觉的示范学习方法实现了非接触式的自然人机交互,使用基于几何的分析方法来提取关节角度特征,充分利用了所获取的人体数据,实现了一种计算量小实时性高的机器人动作模仿方法。

在Pepper机器人上进行了实验验证,证实根据本文提出的方法,机器人能够根据人体的示范动作做出教学动作。

0 阅读:0

大核世界

简介:感谢大家的关注