[go: up one dir, main page]

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

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

Info

Publication number
CN105137973A
CN105137973A CN201510518563.4A CN201510518563A CN105137973A CN 105137973 A CN105137973 A CN 105137973A CN 201510518563 A CN201510518563 A CN 201510518563A CN 105137973 A CN105137973 A CN 105137973A
Authority
CN
China
Prior art keywords
robot
coordinate system
operator
joint
kinect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510518563.4A
Other languages
English (en)
Other versions
CN105137973B (zh
Inventor
张平
杜广龙
金培根
高鹏
刘欣
李备
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201510518563.4A priority Critical patent/CN105137973B/zh
Publication of CN105137973A publication Critical patent/CN105137973A/zh
Application granted granted Critical
Publication of CN105137973B publication Critical patent/CN105137973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种人机协作场景下的机器人智能躲避人类方法,包括以下步骤:1)通过机器人D-H参数构建虚拟场景的机器人圆柱模型;2)通过Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,并构建虚拟场景的操作员圆柱模型;3)真实场景和虚拟场景中机器人和操作员的标定对应;4)机器人模型和操作员模型的实时碰撞检测。采用本发明方法,操作员可以在机器人作业空间中自由运动,而机器人则可以根据Kinect获取的操作员的信息进行主动的避障。

Description

一种人机协作场景下的机器人智能躲避人类方法
技术领域
本发明涉及机器人运动的技术领域,尤其是指一种人机协作场景下的机器人智能躲避人类方法。
背景技术
智能机器人与其他领域的交叉与融合,产生了许多需要人与机器人协作的场景。智能机器人参与到人的作业环境中,在保证工作效率的前提下还可以有效的解放人的劳动力,特殊情况下还可以代替人完成高风险的任务。在人与机器人近距离协作的背景下,如何保证人的安全是至关重要的问题。这篇发明提出了一种人机协作场景下机器人的建模和避障的方法,该方法根据机器人D-H参数构建机器人圆柱模型,借用Kinect传感器采集操作员骨骼位置,以此来构建操作员的圆柱模型,并根据机器人和操作员的碰撞检测结果使机器人智能地识别并躲避人体。
在构建机器人虚拟场景时,通常的做法是利用3dsMax等建模工具构建与真实场景的机器人完全对应的虚拟机器人模型,然而这种方法不具通用性,且建模成本相对较高,因此通过机器人固有的D-H参数来构建机器人模型是有必要的。
在人机协作场景中,机器人根据人体的位置和动作信息,做出避让,避免发生碰撞。然而传统的机器人避碰研究主要是对物体的避碰,与环境物体不同,人具备自身的结构特征,人体状态和运动也具有不可预知性,因此机器人需要对人体进行实时地识别。
在Kinect出现之前,基于多视觉相机的人体信息采集技术相对比较热门,但是该方法需要透视图像,相对成本也较高。在基于标记的多视觉相机人体识别技术中,人体要穿着特定的服装或设备,在活动过程中处于受限的状态,限制着该技术的应用。基于无标记的人体信息提取采集技术则需要将人体图像、三维信息与目标函数等先验知识进行匹配,匹配过程需要足够的样本数量,否则会导致识别准确性较低,也较难保证实时性。
发明内容
本发明的目的在于克服现有技术的不足,提供一种人机协作场景下的机器人智能躲避人类方法,操作员可以在机器人作业空间中自由运动,机器人根据Kinect获取的操作员的信息进行主动的避障。
为实现上述目的,本发明所提供的技术方案为:一种人机协作场景下的机器人智能躲避人类方法,包括以下步骤:
1)通过机器人D-H参数构建虚拟场景的机器人圆柱模型,如下:
假设机器人是由一系列连杆和关节以任意形式构成的,D-H参数表示的是机器人关节和连杆之间的关系;为了对机器人进行建模,采用点对关节进行建模,圆柱体对连杆进行建模;涉及到机器人的正运动学,通过机器人各个关节的初始角度,来求解各个关节的坐标系相对基坐标系的变换关系;给每个关节定义一个右手坐标系,把一个关节的坐标系和下一个关节的坐标系之间的齐次变换叫做A矩阵,A1表示第一个关节相对于在基坐标系的位置和姿态,那么A2则表示为第二个关节相对于第一个关节的位置和姿态,而第二个关节相对于在基坐标系的位置和姿态可由如下矩阵乘积组成:
T2=A1A2(1)
以此类推,第n个关节相对于在基坐标系的位置和姿态的公式为:
T n = A 1 A 2 ... A n = q n 3 × 3 p n 3 × 1 0 1 - - - ( 2 )
式中,表示第n个关节的姿态,表示第n个关节相对于基坐标系的位置;其中Ai可根据D-H参数表示:
A i = cos ( θ i ) - sin ( θ i ) cos ( α i ) sin ( θ i ) sin ( α i ) a i cos ( θ i ) sin ( θ i ) cos ( θ i ) cos ( α i ) - cos ( θ i ) sin ( α i ) a i sin ( θ i ) 0 sin ( α i ) cos ( α i ) d i 0 0 0 1 - - - ( 3 )
θi,di,aii为机器人关节i的D-H参数;
构建虚拟场景的机器人圆柱模型时以机器人基坐标系为模型的坐标系,求解各个关节相对于基坐标系的位置相邻关节间的连杆采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整,构建6自由度的机器人圆柱模型;
2)通过Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,并构建虚拟场景的操作员圆柱模型,如下:
操作员在进入到机器人的工作区间时,由固定在操作员前面的Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,实现对操作员的跟踪和定位;Kinect有三种摄像头:一种用于采集彩色图像的RGB彩色摄像头和两种用于采集深度图像的红外摄像头;
对于真实场景RGB图像的获取,将Kinect放在环境中的某个位置,打开彩色图像NUI_INITIALIZE_FLAG_USES_COLOR来初始化Kinect,通过获取的彩色图像帧数据,用OpenCV绘制出来;
对于骨骼数据的获取,打开骨骼数据NUI_INITIALIZE_FLAG_USES_SKELETON来初始化Kinect,当人处于站立状态时,Kinect能够获取到人的20个关节点的位置来表示人的骨架;提取15个关节点来构建虚拟场景中操作员的圆柱模型,这15个关节点从上到下和从左到右排序为:①头;②肩中心;③右肩;④右手肘;⑤右手;⑥左肩;⑦左手肘;⑧左手;⑨髋关节中心;⑩右髋;右膝;右脚;左髋;左膝;左脚;这些关节点的位置都是相对于Kinect坐标系的位置;
在构建操作员圆柱模型时以Kinect坐标系为模型的坐标系,通过Kinect对深度图像的处理,获取操作员的15个关节点的位置对人体骨架中相邻的关节点采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整;
3)真实场景和虚拟场景中机器人和操作员的标定对应,如下:
在上述两个步骤中,对虚拟场景中机器人的建模是以机器人基坐标系为模型的坐标系,对虚拟场景中操作员的建模是以Kinect坐标系为模型的坐标系,为了将虚拟场景和真实场景进行对应,选取真实场景中的一个坐标系,称为世界坐标系E1,机器人基坐标系称为坐标系E2,Kinect坐标系称为坐标系E3;
机器人基坐标系E2与世界坐标系E1之间的关系用旋转矩阵R和平移矩阵T来表示,设机器人某个关节点P在机器人基坐标系下的坐标为在世界坐标系下的坐标为于是它们之间的关系为:
X p E 1 Y p E 1 Z p E 1 1 = R E 2 E 1 T E 2 E 1 0 1 · X p E 2 Y p E 2 Z p E 2 1 = M 2 · X p E 2 Y p E 2 Z p E 2 1 - - - ( 4 )
式中,E2RE1为3X3矩阵,表示机器人基坐标系相对于世界坐标系的姿态变化矩阵;E2TE1为3X1矩阵,表示机器人基坐标系相对于世界坐标系的位置变化矩阵;M2为4X4矩阵,表示机器人基坐标系相对于世界坐标系的位姿变化矩阵;
同理,Kinect坐标系E3与世界坐标系E1之间的关系也用旋转矩阵R和平移矩阵T来表示,设操作员某个关节点P’在Kinect坐标系下的坐标为在世界坐标系下的坐标为则它们之间的关系为:
X p ′ E 1 Y p ′ E 1 Z p ′ E 1 1 = R E 3 E 1 T E 3 E 1 0 1 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 = M 3 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 - - - ( 5 )
将机器人基坐标系和Kinect坐标系均转换到世界坐标系之后,接下来就是确定真实场景和虚拟场景的映射关系以及衡量他们之间的误差;若虚拟场景中的某一点Pv的坐标为则该点Pr在真实场景RGB图像中的坐标为则存在一个映射f,使得虚拟场景中任意的点Pv及其对应真实场景中的点Pr,存在如下关系:
Pr=f(Pv)+ε(6)
式中,ε为虚拟场景和真实场景对应的误差;
对于Kinect获取操作员的骨骼三维数据和彩色图像二维数据,KinectSDK提供了两者之间的相互转化,即提供了虚拟场景操作员和真实场景操作员的映射fperson;NuiTransformSkeletonToDepthImage提供了三维骨骼数据到二维深度图像的映射关系f1,NuiImageGetColorPixelCoordinatesFromDepthPixel提供了二维深度图像到二维彩色图像的映射f2,由此可以得知三维骨骼数据到二维彩色图像的映射关系:
fperson=f2·f1(7)
至此,虚拟场景的操作员真实场景的操作员已实现了对应,对于机器人,由于机器人基坐标系和Kinect坐标系均已转化到世界坐标系,则机器人和操作员所处的虚拟场景和真实场景的坐标系是一样的,则虚拟场景机器人和真实场景机器人的映射关系frobot与虚拟场景操作员和真实场景操作员的映射关系fperson是一样的:
frobot=fperson(8)
则对于整个虚拟场景和真实场景而言,它们之间的映射关系f的公式为:
f=frobot=fperson=f2·f1(9)
结合上面公式(6)和公式(9),可得衡量虚拟场景和真实场景的误差ε:
ε=Pr-f2·f1(Pv)(10)
4)机器人模型和操作员模型的实时碰撞检测,如下:
当操作员进入机器人的作业环境中时,操作员的信息对于机器人来说具有不可预知性,对操作员和机器人的建模策略会直接影响到碰撞检测的效率和精度;对操作员和机器人均采用较规则的几何形状圆柱体来对机器人和操作员进行建模,基于圆柱体包围盒的碰撞检测具体方案如下:
设A,B为一圆柱的上下底圆圆心,C,D为另一圆柱的上下底圆圆心,空间直线lAB,lCD为两圆柱的中轴线,主要考虑两直线异面的情况,求取两异面直线lAB,lCD的公垂线和垂足P,Q,若P或Q不在线段AB或者线段CD内,则进行边界检测,选取最靠近另外一条直线的端点替代P或Q点;
如果P,Q均在线段AB和线段CD内,则两圆柱只能是侧面相交,此时只需要判断线段PQ的长度和两圆柱的半径之和即可;
如果P,Q中有一个点落在线段内,一个点落在端点上,则两圆柱只能侧面和端面相交,此时寻找侧面上最靠近端面的母线,判断母线与端面是否相交即可;
如果P,Q均在线段的端点上,则两圆柱只能是端面相交,此时只需要判断空间上两个圆面是否相交即可。
本发明与现有技术相比,具有如下优点与有益效果:
本发明方法对机器人和操作员采用较规则的几何体形状圆柱体进行建模,具有较好的通用性和适用性,同时圆柱体建模能够在一定程度上提高碰撞检测的效率和精度。使得操作员可以在机器人作业空间中自由运动,机器人可以根据Kinect获取的操作员的信息进行主动的避障,满足操作要求。
附图说明
图1为本发明方法的系统结构图。
图2为6自由度机器人圆柱模型图。
图3为操作员圆柱模型图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
本实施例所述的人机协作场景下的机器人智能躲避人类方法,使操作员可以在机器人作业空间中自由运动,机器人根据Kinect获取操作员的信息进行主动的避障,其系统结构图如图1所示。本发明方法的关键是构建与真实人机协作场景对应的虚拟机器人模型和操作员模型以及机器人模型和操作员模型的碰撞检测方法,其包括以下步骤:
1)通过机器人D-H参数构建虚拟场景的机器人圆柱模型,如下:
假设机器人是由一系列连杆和关节以任意形式构成的,D-H参数表示的是机器人关节和连杆之间的关系。为了对机器人进行建模,我们采用点对关节进行建模,圆柱体对连杆进行建模。本发明中涉及到机器人的正运动学,通过机器人各个关节的初始角度,来求解各个关节的坐标系相对基坐标系的变换关系。例如:给每个关节定义一个右手坐标系,把一个关节的坐标系和下一个关节的坐标系之间的齐次变换叫做A矩阵。A1表示第一个关节相对于在基坐标系的位置和姿态,那么A2则表示为第二个关节相对于第一个关节的位置和姿态,而第二个关节相对于在基坐标系的位置和姿态可由如下矩阵乘积组成:
T2=A1A2(1)
以此类推,第n个关节相对于在基坐标系的位置和姿态的公式为:
T n = A 1 A 2 ... A n = q n 3 × 3 p n 3 × 1 0 1 - - - ( 2 )
式中,表示第n个关节的姿态,表示第n个关节相对于基坐标系的位置;其中Ai可根据D-H参数表示:
A i = cos ( θ i ) - sin ( θ i ) cos ( α i ) sin ( θ i ) sin ( α i ) a i cos ( θ i ) sin ( θ i ) cos ( θ i ) cos ( α i ) - cos ( θ i ) sin ( α i ) a i sin ( θ i ) 0 sin ( α i ) cos ( α i ) d i 0 0 0 1 - - - ( 3 )
θi,di,aii为机器人关节i的D-H参数;
本发明构建虚拟场景的机器人圆柱模型时以机器人基坐标系为模型的坐标系,求解各个关节相对于基坐标系的位置相邻关节间的连杆采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整,构建的6自由度的机器人圆柱模型如图2所示。
2)通过Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,并构建虚拟场景的操作员圆柱模型,如下:
操作员在进入到机器人的工作区间时,由固定在操作员前面的Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,实现对操作员的跟踪和定位。Kinect有三种摄像头:一种用于采集彩色图像的RGB彩色摄像头和两种用于采集深度图像的红外摄像头。
对于真实场景RGB图像的获取,将Kinect放在环境中的某个位置,打开彩色图像NUI_INITIALIZE_FLAG_USES_COLOR来初始化Kinect,通过获取的彩色图像帧数据,用OpenCV绘制出来。
对于骨骼数据的获取,打开骨骼数据NUI_INITIALIZE_FLAG_USES_SKELETON来初始化Kinect,当人处于站立状态时,Kinect能够获取到人的20个关节点的位置来表示人的骨架。在本发明中,提取15个关节点来构建虚拟场景中操作员的圆柱模型,这15个关节点从上到下和从左到右排序为:①头;②肩中心;③右肩;④右手肘;⑤右手;⑥左肩;⑦左手肘;⑧左手;⑨髋关节中心;⑩右髋;右膝;右脚;左髋;左膝;左脚;这些关节点的位置都是相对于Kinect坐标系的位置。
本发明在构建操作员圆柱模型时以Kinect坐标系为模型的坐标系,通过Kinect对深度图像的处理,获取操作员的15个关节点的位置对人体骨架中相邻的关节点采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整,构建的操作员圆柱模型如图3所示。
3)真实场景和虚拟场景中机器人和操作员的标定对应,如下:
在上述两个步骤中,对虚拟场景中机器人的建模是以机器人基坐标系为模型的坐标系,对虚拟场景中操作员的建模是以Kinect坐标系为模型的坐标系,为了将虚拟场景和真实场景进行对应,选取真实场景中的一个坐标系,称为世界坐标系E1,机器人基坐标系称为坐标系E2,Kinect坐标系称为坐标系E3。
机器人基坐标系E2与世界坐标系E1之间的关系可以用旋转矩阵R和平移矩阵T来表示,例如,机器人某个关节点P在机器人基坐标系下的坐标为在世界坐标系下的坐标为于是它们之间的关系为:
X p E 1 Y p E 1 Z p E 1 1 = R E 2 E 1 T E 2 E 1 0 1 · X p E 2 Y p E 2 Z p E 2 1 = M 2 · X p E 2 Y p E 2 Z p E 2 1 - - - ( 4 )
式中,E2RE1为3X3矩阵,表示机器人基坐标系相对于世界坐标系的姿态变化矩阵;E2TE1为3X1矩阵,表示机器人基坐标系相对于世界坐标系的位置变化矩阵;M2为4X4矩阵,表示机器人基坐标系相对于世界坐标系的位姿变化矩阵。
同理,Kinect坐标系E3与世界坐标系E1之间的关系也可以用旋转矩阵R和平移矩阵T来表示,例如,操作员某个关节点P’在Kinect坐标系下的坐标为在世界坐标系下的坐标为则它们之间的关系为:
X p ′ E 1 Y p ′ E 1 Z p ′ E 1 1 = R E 3 E 1 T E 3 E 1 0 1 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 = M 3 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 - - - ( 5 )
将机器人基坐标系和Kinect坐标系均转换到世界坐标系之后,接下来就是确定真实场景和虚拟场景的映射关系以及衡量他们之间的误差。例如,若虚拟场景中的某一点Pv的坐标为则该点Pr在真实场景RGB图像中的坐标为则存在一个映射f,使得虚拟场景中任意的点Pv及其对应真实场景中的点Pr,存在如下关系:
Pr=f(Pv)+ε(6)
式中,ε为虚拟场景和真实场景对应的误差。
对于Kinect获取操作员的骨骼三维数据和彩色图像二维数据,KinectSDK提供了两者之间的相互转化,即提供了虚拟场景操作员和真实场景操作员的映射fperson;NuiTransformSkeletonToDepthImage提供了三维骨骼数据到二维深度图像的映射关系f1,NuiImageGetColorPixelCoordinatesFromDepthPixel提供了二维深度图像到二维彩色图像的映射f2,由此可以得知三维骨骼数据到二维彩色图像的映射关系:
fperson=f2·f1(7)
至此,虚拟场景的操作员真实场景的操作员已实现了对应,对于机器人,由于机器人基坐标系和Kinect坐标系均已转化到世界坐标系,则机器人和操作员所处的虚拟场景和真实场景的坐标系是一样的,则虚拟场景机器人和真实场景机器人的映射关系frobot与虚拟场景操作员和真实场景操作员的映射关系fperson是一样的:
frobot=fperson(8)
则对于整个虚拟场景和真实场景而言,它们之间的映射关系f的公式为:
f=frobot=fperson=f2·f1(9)
结合上面公式(6)和公式(9),可得衡量虚拟场景和真实场景的误差ε:
ε=Pr-f2·f1(Pv)(10)
4)机器人模型和操作员模型的实时碰撞检测,如下:
当操作员进入机器人的作业环境中时,操作员的信息对于机器人来说具有不可预知性,对操作员和机器人的建模策略会直接影响到碰撞检测的效率和精度。在本发明中,对操作员和机器人均采用较规则的几何形状圆柱体来对机器人和操作员进行建模,基于圆柱体包围盒的碰撞检测具体方案如下:
设A,B为一圆柱的上下底圆圆心,C,D为另一圆柱的上下底圆圆心,空间直线lAB,lCD为两圆柱的中轴线,主要考虑两直线异面的情况,求取两异面直线lAB,lCD的公垂线和垂足P,Q,若P或Q不在线段AB或者线段CD内,则进行边界检测,选取最靠近另外一条直线的端点替代P或Q点。
如果P,Q均在线段AB和线段CD内,则两圆柱只能是侧面相交,此时只需要判断线段PQ的长度和两圆柱的半径之和即可。
如果P,Q中有一个点落在线段内,一个点落在端点上,则两圆柱只能侧面和端面相交,此时寻找侧面上最靠近端面的母线,判断母线与端面是否相交即可。
如果P,Q均在线段的端点上,则两圆柱只能是端面相交,此时只需要判断空间上两个圆面是否相交即可。
以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。

Claims (1)

1.一种人机协作场景下的机器人智能躲避人类方法,其特征在于,包括以下步骤:
1)通过机器人D-H参数构建虚拟场景的机器人圆柱模型,如下:
假设机器人是由一系列连杆和关节以任意形式构成的,D-H参数表示的是机器人关节和连杆之间的关系;为了对机器人进行建模,采用点对关节进行建模,圆柱体对连杆进行建模;涉及到机器人的正运动学,通过机器人各个关节的初始角度,来求解各个关节的坐标系相对基坐标系的变换关系;给每个关节定义一个右手坐标系,把一个关节的坐标系和下一个关节的坐标系之间的齐次变换叫做A矩阵,A1表示第一个关节相对于在基坐标系的位置和姿态,那么A2则表示为第二个关节相对于第一个关节的位置和姿态,而第二个关节相对于在基坐标系的位置和姿态可由如下矩阵乘积组成:
T2=A1A2(1)
以此类推,第n个关节相对于在基坐标系的位置和姿态的公式为:
T n = A 1 A 2 ... A n = q n 3 × 3 p n 3 × 1 0 1 - - - ( 2 )
式中,表示第n个关节的姿态,表示第n个关节相对于基坐标系的位置;其中Ai可根据D-H参数表示:
A i = cos ( θ i ) - sin ( θ i ) cos ( α i ) sin ( θ i ) sin ( α i ) a i cos ( θ i ) sin ( θ i ) cos ( θ i ) cos ( α i ) - cos ( θ i ) sin ( α i ) a i sin ( θ i ) 0 sin ( α i ) cos ( α i ) d i 0 0 0 1 - - - ( 3 )
θi,di,aii为机器人关节i的D-H参数;
构建虚拟场景的机器人圆柱模型时以机器人基坐标系为模型的坐标系,求解各个关节相对于基坐标系的位置相邻关节间的连杆采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整,构建6自由度的机器人圆柱模型;
2)通过Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,并构建虚拟场景的操作员圆柱模型,如下:
操作员在进入到机器人的工作区间时,由固定在操作员前面的Kinect实时获取真实场景的RGB图像和操作员的骨骼数据,实现对操作员的跟踪和定位;Kinect有三种摄像头:一种用于采集彩色图像的RGB彩色摄像头和两种用于采集深度图像的红外摄像头;
对于真实场景RGB图像的获取,将Kinect放在环境中的某个位置,打开彩色图像NUI_INITIALIZE_FLAG_USES_COLOR来初始化Kinect,通过获取的彩色图像帧数据,用OpenCV绘制出来;
对于骨骼数据的获取,打开骨骼数据NUI_INITIALIZE_FLAG_USES_SKELETON来初始化Kinect,当人处于站立状态时,Kinect能够获取到人的20个关节点的位置来表示人的骨架;提取15个关节点来构建虚拟场景中操作员的圆柱模型,这15个关节点从上到下和从左到右排序为:①头;②肩中心;③右肩;④右手肘;⑤右手;⑥左肩;⑦左手肘;⑧左手;⑨髋关节中心;⑩右髋;右膝;右脚;左髋;左膝;左脚;这些关节点的位置都是相对于Kinect坐标系的位置;
在构建操作员圆柱模型时以Kinect坐标系为模型的坐标系,通过Kinect对深度图像的处理,获取操作员的15个关节点的位置对人体骨架中相邻的关节点采用圆柱体进行建模,圆柱体的上下底面圆心为两关节点的位置,圆柱体半径根据实际情况进行调整;
3)真实场景和虚拟场景中机器人和操作员的标定对应,如下:
在上述两个步骤中,对虚拟场景中机器人的建模是以机器人基坐标系为模型的坐标系,对虚拟场景中操作员的建模是以Kinect坐标系为模型的坐标系,为了将虚拟场景和真实场景进行对应,选取真实场景中的一个坐标系,称为世界坐标系E1,机器人基坐标系称为坐标系E2,Kinect坐标系称为坐标系E3;
机器人基坐标系E2与世界坐标系E1之间的关系用旋转矩阵R和平移矩阵T来表示,设机器人某个关节点P在机器人基坐标系下的坐标为在世界坐标系下的坐标为于是它们之间的关系为:
X p E 1 Y p E 1 Z p E 1 1 = R E 2 E 1 T E 2 E 1 0 1 · X p E 2 Y p E 2 Z p E 2 1 = M 2 · X p E 2 Y p E 2 Z p E 2 1 - - - ( 4 )
式中,E2RE1为3X3矩阵,表示机器人基坐标系相对于世界坐标系的姿态变化矩阵;E2TE1为3X1矩阵,表示机器人基坐标系相对于世界坐标系的位置变化矩阵;M2为4X4矩阵,表示机器人基坐标系相对于世界坐标系的位姿变化矩阵;
同理,Kinect坐标系E3与世界坐标系E1之间的关系也用旋转矩阵R和平移矩阵T来表示,设操作员某个关节点P’在Kinect坐标系下的坐标为在世界坐标系下的坐标为则它们之间的关系为:
X p ′ E 1 Y p ′ E 1 Z p ′ E 1 1 = R E 3 E 1 T E 3 E 1 0 1 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 = M 3 · X p ′ E 3 Y p ′ E 3 Z p ′ E 3 1 - - - ( 5 )
将机器人基坐标系和Kinect坐标系均转换到世界坐标系之后,接下来就是确定真实场景和虚拟场景的映射关系以及衡量他们之间的误差;若虚拟场景中的某一点Pv的坐标为则该点Pr在真实场景RGB图像中的坐标为则存在一个映射f,使得虚拟场景中任意的点Pv及其对应真实场景中的点Pr,存在如下关系:
Pr=f(Pv)+ε(6)
式中,ε为虚拟场景和真实场景对应的误差;
对于Kinect获取操作员的骨骼三维数据和彩色图像二维数据,KinectSDK提供了两者之间的相互转化,即提供了虚拟场景操作员和真实场景操作员的映射fperson;NuiTransformSkeletonToDepthImage提供了三维骨骼数据到二维深度图像的映射关系f1,NuiImageGetColorPixelCoordinatesFromDepthPixel提供了二维深度图像到二维彩色图像的映射f2,由此可以得知三维骨骼数据到二维彩色图像的映射关系:
fperson=f2·f1(7)
至此,虚拟场景的操作员真实场景的操作员已实现了对应,对于机器人,由于机器人基坐标系和Kinect坐标系均已转化到世界坐标系,则机器人和操作员所处的虚拟场景和真实场景的坐标系是一样的,则虚拟场景机器人和真实场景机器人的映射关系frobot与虚拟场景操作员和真实场景操作员的映射关系fperson是一样的:
frobot=fperson(8)
则对于整个虚拟场景和真实场景而言,它们之间的映射关系f的公式为:
f=frobot=fperson=f2·f1(9)
结合上面公式(6)和公式(9),可得衡量虚拟场景和真实场景的误差ε:
ε=Pr-f2·f1(Pv)(10)
4)机器人模型和操作员模型的实时碰撞检测,如下:
当操作员进入机器人的作业环境中时,操作员的信息对于机器人来说具有不可预知性,对操作员和机器人的建模策略会直接影响到碰撞检测的效率和精度;对操作员和机器人均采用较规则的几何形状圆柱体来对机器人和操作员进行建模,基于圆柱体包围盒的碰撞检测具体方案如下:
设A,B为一圆柱的上下底圆圆心,C,D为另一圆柱的上下底圆圆心,空间直线lAB,lCD为两圆柱的中轴线,主要考虑两直线异面的情况,求取两异面直线lAB,lCD的公垂线和垂足P,Q,若P或Q不在线段AB或者线段CD内,则进行边界检测,选取最靠近另外一条直线的端点替代P或Q点;
如果P,Q均在线段AB和线段CD内,则两圆柱只能是侧面相交,此时只需要判断线段PQ的长度和两圆柱的半径之和即可;
如果P,Q中有一个点落在线段内,一个点落在端点上,则两圆柱只能侧面和端面相交,此时寻找侧面上最靠近端面的母线,判断母线与端面是否相交即可;
如果P,Q均在线段的端点上,则两圆柱只能是端面相交,此时只需要判断空间上两个圆面是否相交即可。
CN201510518563.4A 2015-08-21 2015-08-21 一种人机协作场景下的机器人智能躲避人类方法 Active CN105137973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510518563.4A CN105137973B (zh) 2015-08-21 2015-08-21 一种人机协作场景下的机器人智能躲避人类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510518563.4A CN105137973B (zh) 2015-08-21 2015-08-21 一种人机协作场景下的机器人智能躲避人类方法

Publications (2)

Publication Number Publication Date
CN105137973A true CN105137973A (zh) 2015-12-09
CN105137973B CN105137973B (zh) 2017-12-01

Family

ID=54723348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510518563.4A Active CN105137973B (zh) 2015-08-21 2015-08-21 一种人机协作场景下的机器人智能躲避人类方法

Country Status (1)

Country Link
CN (1) CN105137973B (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN107564065A (zh) * 2017-09-22 2018-01-09 东南大学 一种协作环境下人机最小距离的测算方法
CN108427331A (zh) * 2018-03-30 2018-08-21 烟台维度机器人有限公司 一种人机协作安全防护方法及系统
CN108527370A (zh) * 2018-04-16 2018-09-14 北京卫星环境工程研究所 基于视觉的人机共融安全防护控制系统
CN108846891A (zh) * 2018-05-30 2018-11-20 广东省智能制造研究所 一种基于三维骨架检测的人机安全协作方法
CN109116992A (zh) * 2018-08-31 2019-01-01 北京航空航天大学 一种用于虚拟手力反馈交互的碰撞响应系统
CN109219856A (zh) * 2016-03-24 2019-01-15 宝利根 T·R 有限公司 用于人类及机器人协作的系统及方法
CN109465835A (zh) * 2018-09-25 2019-03-15 华中科技大学 一种动态环境下双臂服务机器人作业的事前安全预测方法
CN109500811A (zh) * 2018-11-13 2019-03-22 华南理工大学 一种面向人机共融的机器人主动避让人类的方法
CN109844672A (zh) * 2016-08-24 2019-06-04 西门子股份公司 用于测试自主系统的方法
CN110175523A (zh) * 2019-04-26 2019-08-27 南京华捷艾米软件科技有限公司 一种自移动机器人动物识别与躲避方法及其存储介质
CN110640742A (zh) * 2018-11-07 2020-01-03 宁波赛朗科技有限公司 一种多模态监控的工业机器人平台
CN111640175A (zh) * 2018-06-21 2020-09-08 华为技术有限公司 一种物体建模运动方法、装置与设备
CN111735601A (zh) * 2020-08-04 2020-10-02 中国空气动力研究与发展中心低速空气动力研究所 一种双机加油风洞试验支撑装置的防碰壁方法
WO2021027945A1 (zh) * 2019-08-15 2021-02-18 纳恩博(常州)科技有限公司 可移动设备的坐标获取方法及装置
CN113370210A (zh) * 2021-06-23 2021-09-10 华北科技学院(中国煤矿安全技术培训中心) 一种机器人主动避撞系统及方法
CN113733098A (zh) * 2021-09-28 2021-12-03 武汉联影智融医疗科技有限公司 机械臂模型位姿计算方法、装置、电子设备和存储介质
WO2021248652A1 (zh) * 2020-06-10 2021-12-16 南京英尼格玛工业自动化技术有限公司 一种针对高铁枕梁工艺孔的焊枪自动轨迹避让方法
CN115496798A (zh) * 2022-11-08 2022-12-20 中国电子科技集团公司第三十八研究所 用于系留气球装备模拟训练的协同定位方法和系统
CN115890671A (zh) * 2022-11-17 2023-04-04 山东大学 一种基于smpl参数的多几何体人体碰撞模型生成方法及系统
WO2023217032A1 (zh) * 2022-05-09 2023-11-16 苏州艾利特机器人有限公司 一种机器人碰撞检测方法、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103170973A (zh) * 2013-03-28 2013-06-26 上海理工大学 基于Kinect摄像机的人机协作装置及方法
CN103226387A (zh) * 2013-04-07 2013-07-31 华南理工大学 基于Kinect的视频人手指尖定位方法
CN103399637A (zh) * 2013-07-31 2013-11-20 西北师范大学 基于kinect人体骨骼跟踪控制的智能机器人人机交互方法
CN104570731A (zh) * 2014-12-04 2015-04-29 重庆邮电大学 一种基于Kinect的无标定人机交互控制系统及方法
CN104777775A (zh) * 2015-03-25 2015-07-15 北京工业大学 一种基于Kinect装置的两轮自平衡机器人控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103170973A (zh) * 2013-03-28 2013-06-26 上海理工大学 基于Kinect摄像机的人机协作装置及方法
CN103226387A (zh) * 2013-04-07 2013-07-31 华南理工大学 基于Kinect的视频人手指尖定位方法
CN103399637A (zh) * 2013-07-31 2013-11-20 西北师范大学 基于kinect人体骨骼跟踪控制的智能机器人人机交互方法
CN104570731A (zh) * 2014-12-04 2015-04-29 重庆邮电大学 一种基于Kinect的无标定人机交互控制系统及方法
CN104777775A (zh) * 2015-03-25 2015-07-15 北京工业大学 一种基于Kinect装置的两轮自平衡机器人控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
甘屹等: "基于给定工作空间的6R型机器人D_H参数优化设计", 《中国机械工程》 *
贺超等: "采用Kinect的移动机器人目标跟踪与避障", 《智能系统学报》 *
郭发勇等: "D_H法建立连杆坐标系存在的问题及改进", 《中国机械工程》 *

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109219856A (zh) * 2016-03-24 2019-01-15 宝利根 T·R 有限公司 用于人类及机器人协作的系统及方法
CN106078752B (zh) * 2016-06-27 2019-03-19 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN106078752A (zh) * 2016-06-27 2016-11-09 西安电子科技大学 一种基于Kinect的仿人机器人人体行为模仿方法
CN109844672B (zh) * 2016-08-24 2022-08-12 西门子股份公司 用于测试自主系统的方法
US11556118B2 (en) 2016-08-24 2023-01-17 Siemens Aktiengesellschaft Method for testing an autonomous system
CN109844672A (zh) * 2016-08-24 2019-06-04 西门子股份公司 用于测试自主系统的方法
CN107564065B (zh) * 2017-09-22 2019-10-22 东南大学 一种协作环境下人机最小距离的测算方法
CN107564065A (zh) * 2017-09-22 2018-01-09 东南大学 一种协作环境下人机最小距离的测算方法
CN108427331A (zh) * 2018-03-30 2018-08-21 烟台维度机器人有限公司 一种人机协作安全防护方法及系统
CN108527370A (zh) * 2018-04-16 2018-09-14 北京卫星环境工程研究所 基于视觉的人机共融安全防护控制系统
CN108846891A (zh) * 2018-05-30 2018-11-20 广东省智能制造研究所 一种基于三维骨架检测的人机安全协作方法
CN108846891B (zh) * 2018-05-30 2023-04-28 广东省智能制造研究所 一种基于三维骨架检测的人机安全协作方法
US11436802B2 (en) 2018-06-21 2022-09-06 Huawei Technologies Co., Ltd. Object modeling and movement method and apparatus, and device
CN111640175A (zh) * 2018-06-21 2020-09-08 华为技术有限公司 一种物体建模运动方法、装置与设备
CN109116992A (zh) * 2018-08-31 2019-01-01 北京航空航天大学 一种用于虚拟手力反馈交互的碰撞响应系统
CN109116992B (zh) * 2018-08-31 2020-12-04 北京航空航天大学 一种用于虚拟手力反馈交互的碰撞响应系统
CN109465835A (zh) * 2018-09-25 2019-03-15 华中科技大学 一种动态环境下双臂服务机器人作业的事前安全预测方法
CN110640742A (zh) * 2018-11-07 2020-01-03 宁波赛朗科技有限公司 一种多模态监控的工业机器人平台
CN109500811A (zh) * 2018-11-13 2019-03-22 华南理工大学 一种面向人机共融的机器人主动避让人类的方法
CN110175523A (zh) * 2019-04-26 2019-08-27 南京华捷艾米软件科技有限公司 一种自移动机器人动物识别与躲避方法及其存储介质
CN110175523B (zh) * 2019-04-26 2021-05-14 南京华捷艾米软件科技有限公司 一种自移动机器人动物识别与躲避方法及其存储介质
WO2021027945A1 (zh) * 2019-08-15 2021-02-18 纳恩博(常州)科技有限公司 可移动设备的坐标获取方法及装置
WO2021248652A1 (zh) * 2020-06-10 2021-12-16 南京英尼格玛工业自动化技术有限公司 一种针对高铁枕梁工艺孔的焊枪自动轨迹避让方法
CN111735601A (zh) * 2020-08-04 2020-10-02 中国空气动力研究与发展中心低速空气动力研究所 一种双机加油风洞试验支撑装置的防碰壁方法
CN113370210A (zh) * 2021-06-23 2021-09-10 华北科技学院(中国煤矿安全技术培训中心) 一种机器人主动避撞系统及方法
CN113733098A (zh) * 2021-09-28 2021-12-03 武汉联影智融医疗科技有限公司 机械臂模型位姿计算方法、装置、电子设备和存储介质
CN113733098B (zh) * 2021-09-28 2023-03-03 武汉联影智融医疗科技有限公司 机械臂模型位姿计算方法、装置、电子设备和存储介质
WO2023217032A1 (zh) * 2022-05-09 2023-11-16 苏州艾利特机器人有限公司 一种机器人碰撞检测方法、存储介质及电子设备
CN115496798A (zh) * 2022-11-08 2022-12-20 中国电子科技集团公司第三十八研究所 用于系留气球装备模拟训练的协同定位方法和系统
CN115890671A (zh) * 2022-11-17 2023-04-04 山东大学 一种基于smpl参数的多几何体人体碰撞模型生成方法及系统

Also Published As

Publication number Publication date
CN105137973B (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN105137973B (zh) 一种人机协作场景下的机器人智能躲避人类方法
CN110480634B (zh) 一种针对机械臂运动控制的手臂引导运动控制方法
CN110253570B (zh) 基于视觉的工业机械臂人机安全系统
CN111055281B (zh) 一种基于ros的自主移动抓取系统与方法
CN104589356B (zh) 基于Kinect人手运动捕捉的灵巧手遥操作控制方法
CN107030692B (zh) 一种基于感知增强的机械手遥操作方法及系统
CN115469576B (zh) 一种基于人-机械臂异构运动空间混合映射的遥操作系统
CN103170973A (zh) 基于Kinect摄像机的人机协作装置及方法
JP2022084501A (ja) 画像分割及び表面筋電図に基づくロボットの教示システム及び方法
CN105014677A (zh) 基于Camshift视觉跟踪和D-H建模算法的视觉机械臂控制装置及方法
CN106826833A (zh) 基于3d立体感知技术的自主导航机器人系统
CN105500370B (zh) 一种基于体感技术的机器人离线示教编程系统及方法
CN107160364A (zh) 一种基于机器视觉的工业机器人示教系统及方法
CN106737668A (zh) 一种基于虚拟现实的带电作业机器人遥操作方法
CN111694428A (zh) 基于Kinect的手势与轨迹远程控制机器人系统
CN107662195A (zh) 一种具有临场感的机器手主从异构遥操作控制系统及控制方法
CN110045740A (zh) 一种基于人类行为模拟的移动机器人实时运动规划方法
CN107030693A (zh) 一种基于双目视觉的带电作业机器人目标跟踪方法
CN114299039B (zh) 一种机器人及其碰撞检测装置和方法
CN107053168A (zh) 一种基于深度学习网络的目标识别方法及带电作业机器人
CN108621164A (zh) 基于深度相机的太极推手机器人
Han et al. Grasping control method of manipulator based on binocular vision combining target detection and trajectory planning
CN115194774A (zh) 一种基于多目视觉的双机械臂抓握系统控制方法
CN109015631A (zh) 基于多工作链的拟人机器人实时模仿人体运动的方法
CN109773773A (zh) 一种新型六自由度并联平台的主从控制装置、系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant