一种人机协作场景下的机器人智能躲避人类方法

文档序号:9416808阅读:464来源:国知局
一种人机协作场景下的机器人智能躲避人类方法
【技术领域】
[0001] 本发明涉及机器人运动的技术领域,尤其是指一种人机协作场景下的机器人智能 躲避人类方法。
【背景技术】
[0002] 智能机器人与其他领域的交叉与融合,产生了许多需要人与机器人协作的场景。 智能机器人参与到人的作业环境中,在保证工作效率的前提下还可以有效的解放人的劳动 力,特殊情况下还可以代替人完成高风险的任务。在人与机器人近距离协作的背景下,如何 保证人的安全是至关重要的问题。这篇发明提出了一种人机协作场景下机器人的建模和避 障的方法,该方法根据机器人D-H参数构建机器人圆柱模型,借用Kinect传感器采集操作 员骨骼位置,以此来构建操作员的圆柱模型,并根据机器人和操作员的碰撞检测结果使机 器人智能地识别并躲避人体。
[0003] 在构建机器人虚拟场景时,通常的做法是利用3ds Max等建模工具构建与真实场 景的机器人完全对应的虚拟机器人模型,然而这种方法不具通用性,且建模成本相对较高, 因此通过机器人固有的D-H参数来构建机器人模型是有必要的。
[0004] 在人机协作场景中,机器人根据人体的位置和动作信息,做出避让,避免发生碰 撞。然而传统的机器人避碰研究主要是对物体的避碰,与环境物体不同,人具备自身的结构 特征,人体状态和运动也具有不可预知性,因此机器人需要对人体进行实时地识别。
[0005] 在Kinect出现之前,基于多视觉相机的人体信息采集技术相对比较热门,但是该 方法需要透视图像,相对成本也较高。在基于标记的多视觉相机人体识别技术中,人体要穿 着特定的服装或设备,在活动过程中处于受限的状态,限制着该技术的应用。基于无标记的 人体信息提取采集技术则需要将人体图像、三维信息与目标函数等先验知识进行匹配,匹 配过程需要足够的样本数量,否则会导致识别准确性较低,也较难保证实时性。

【发明内容】

[0006] 本发明的目的在于克服现有技术的不足,提供一种人机协作场景下的机器人智能 躲避人类方法,操作员可以在机器人作业空间中自由运动,机器人根据Kinect获取的操作 员的信息进行主动的避障。
[0007] 为实现上述目的,本发明所提供的技术方案为:一种人机协作场景下的机器人智 能躲避人类方法,包括以下步骤:
[0008] 1)通过机器人D-H参数构建虚拟场景的机器人圆柱模型,如下:
[0009] 假设机器人是由一系列连杆和关节以任意形式构成的,D-H参数表示的是机器人 关节和连杆之间的关系;为了对机器人进行建模,采用点对关节进行建模,圆柱体对连杆进 行建模;涉及到机器人的正运动学,通过机器人各个关节的初始角度,来求解各个关节的坐 标系相对基坐标系的变换关系;给每个关节定义一个右手坐标系,把一个关节的坐标系和 下一个关节的坐标系之间的齐次变换叫做A矩阵,&表示第一个关节相对于在基坐标系的 位置和姿态,那么A2则表示为第二个关节相对于第一个关节的位置和姿态,而第二个关节 相对于在基坐标系的位置和姿态可由如下矩阵乘积组成:
[0010] T2=A1A2 (1)
[0011] 以此类推,第η个关节相对于在基坐标系的位置和姿态的公式为:
[0012] (2)
[0013] 式中,《f3表示第η个关节的姿态,表示第η个关节相对于基坐标系的位置;其 中A i可根据D-H参数表示:
[0014] (3):
[0015] Θ 山,&1,a i为机器人关节i的D-H参数;
[0016] 构建虚拟场景的机器人圆柱模型时以机器人基坐标系为模型的坐标系,求解各个 关节相对于基坐标系的位置(<4'Zf) f相邻关节间的连杆采用圆柱体进行建模,圆柱体 的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整,构建6自由度的 机器人圆柱模型;
[0017] 2)通过Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,并构建虚拟场 景的操作员圆柱模型,如下:
[0018] 操作员在进入到机器人的工作区间时,由固定在操作员前面的Kinect实时获取 真实场景的RGB图像和操作员的骨骼数据,实现对操作员的跟踪和定位;Kinect有三种摄 像头:一种用于采集彩色图像的RGB彩色摄像头和两种用于采集深度图像的红外摄像头;
[0019] 对于真实场景RGB图像的获取,将Kinect放在环境中的某个位置,打开彩色图 像NUI_INITIALIZE_FLAG_USES_COLOR来初始化Kinect,通过获取的彩色图像帧数据,用 OpenCV绘制出来;
[0020] 对于骨骼数据的获取,打开骨骼数据NUI_INITIALIZE_FLAG_USES_SKELETON来初 始化Kinect,当人处于站立状态时,Kinect能够获取到人的20个关节点的位置来表示人的 骨架;提取15个关节点来构建虚拟场景中操作员的圆柱模型,这15个关节点从上到下和从 左到右排序为:①头;②肩中心;③右肩;④右手肘;⑤右手;⑥左肩;⑦左手肘;⑧左手;⑨ 髓关节中心;⑩右髓;:右膝;右脚;左髓;左膝;左脚;这些关节点的位 置都是相对于Kinect坐标系的位置;
[0021] 在构建操作员圆柱模型时以Kinect坐标系为模型的坐标系,通过Kinect对深度 图像的处理,获取操作员的15个关节点的位置对人体骨架中相邻的关节点采 用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况 进行调整;
[0022] 3)真实场景和虚拟场景中机器人和操作员的标定对应,如下:
[0023] 在上述两个步骤中,对虚拟场景中机器人的建模是以机器人基坐标系为模型的坐 标系,对虚拟场景中操作员的建模是以Kinect坐标系为模型的坐标系,为了将虚拟场景和 真实场景进行对应,选取真实场景中的一个坐标系,称为世界坐标系El,机器人基坐标系称 为坐标系E2, Kinect坐标系称为坐标系E3 ;
[0024] 机器人基坐标系E2与世界坐标系El之间的关系用旋转矩阵R和平移矩阵T来表 示,设机器人某个关节点p在机器人基坐标系下的坐标为,在世界坐标系下 的坐标为(iff/If,%1),于是它们之间的关系为:
[0025] ⑷
[0026] 式中,e2Rei为3X3矩阵,表示机器人基坐标系相对于世界坐标系的姿态变化矩阵; e2Tei为3X1矩阵,表示机器人基坐标系相对于世界坐标系的位置变化矩阵;M2S 4X4矩阵, 表示机器人基坐标系相对于世界坐标系的位姿变化矩阵;
[0027] 同理,Kinect坐标系E3与世界坐标系El之间的关系也用旋转矩阵R和平移矩阵 T来表示,设操作员某个关节点P'在Kinect坐标系下的坐标为,在世界坐标 系下的坐标为(I? AtC),则它们之间的关系为:
[0028] 顏
[0029] 将机器人基坐标系和Kinect坐标系均转换到世界坐标系之后,接下来就是确定 真实场景和虚拟场景的映射关系以及衡量他们之间的误差;若虚拟场景中的某一AP v的坐 标为,&,Z〃),则该点匕在真实场景RGB图像中的坐标为,& ),则存在一个映射f, 使得虚拟场景中任意的点Pv及其对应真实场景中的点P P存在如下关系:
[0030] Pr= f(Pv)+ ε (6)
[0031] 式中,ε为虚拟场景和真实场景对应的误差;
[0032] 对于Kinect获取操作员的骨骼三维数据和彩色图像二维数据,Kinect SDK提 供了两者之间的相互转化,即提供了虚拟场景操作员和真实场景操作员的映射fpCT_; NuiTransformSkeletonToDepthImage提供了三维骨豁数据到二维深度图像的映射关系A, NuiImageGetCoIorPixeICoordinatesFromDepthPixel 提供了 二维深度图像到二维彩色图 像的映射f2,由此可以得知三维骨骼数据到二维彩色图像的映射关系:
[0033] fperson= f 2 * fl ⑵
[0034] 至此,虚拟场景的操作员真实场景的操作员已实现了对应,对于机器人,由于机器 人基坐标系和Kinect坐标系均已转化到世界坐标系,则机器人和操作员所处的虚拟场景 和真实场景的坐标系是一样的,则虚拟场景机器人和真实场景机器人的映射关系f robcit与虚 拟场景操作员和真实场景操作员的映射关系fpCT_是一样的:
[0035] frobot= f person (8)
[0036] 则对于整个虚拟场景和真实场景而言,它们之间的映射关系f的公式为:
[0037] f = frob〇t= f person= f 2 * fl 0)
[0038] 结合上面公式(6)和公式(9),可得衡量虚拟场景和真实场景的误差ε :
[0039] ε = Pr-f2 . f! (Pv) (10)
[0040] 4)机器人模型和操作员模型的实时碰撞检测,如下:
[0041] 当操作员进入机器人的作业环境中时,操作员的信息对于机器人来说具有
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1