一种基于指尖识别和手部运动跟踪的机器人演示编程方法技术

技术编号:24338028 阅读:89 留言:0更新日期:2020-06-02 23:12
本发明专利技术公开了一种基于指尖识别和手部运动跟踪的机器人演示编程方法,涉及机器学习技术领域,包括如下步骤:步骤1:完成演示编程系统的硬件环境搭建,并人手演示完成示教任务;步骤2:通过机器视觉识别人手在示教过程中的位置和姿态,通过坐标变换计算其在机器人坐标系下的示教运动轨迹,并利用粒子滤波算法完成示教路径的平滑;步骤3:通过机器视觉识别人的手势,根据手势进行不同动作的规划或者指示演示过程的结束与开始;步骤4:机器人通过重复利用视觉识别得到的示教路径和人的手势,以相同的姿态完成示教任务。本发明专利技术为工业机器人的示教提供了一种简单高效的方法,降低了工业机器人的使用门槛,大大提高了编程效率。

【技术实现步骤摘要】
一种基于指尖识别和手部运动跟踪的机器人演示编程方法
本专利技术涉及机器学习领域,尤其是涉及一种基于指尖识别和手部运动跟踪的机器人演示编程方法。
技术介绍
目前在世界各地的工厂中,工业机器人已经可以出色地完成日常操作任务,比如上下料、搬运、焊接、喷涂和打磨等。与工人相比,机器人具有精度高、出错率低和重复性强等优点,并且机器人可以在恶劣的环境中持续运行,因此,工业机器人正日益成为工业生产过程中不可或缺的部分。在工厂中,由于各个零件的初始位置和目标位置都已经确定,所以机器人可以既好又快地完成任务,但是一旦离开了设定好的环境,大多数的机器人就无法正常工作;此外,示教者操作工业机器人需具备一定的编程技能,这使得工人操作机器人存在一定的难度,阻碍了机器人在中小型企业中的应用。专利技术人在研究中发现,现有技术的工业机器人编程方法以示教编程为主,示教编程虽具有编程门槛低、简单方便、不需要环境模型等优点,但是示教在线编程过程繁琐、效率低,精度完全是靠示教者的目测决定,而且对于复杂的路径示教在线编程难以取得令人满意的效果。另外,示教过程容易发生事故,轻则撞坏设备、重则撞伤人。综上所述,为了降低工业机器人的使用门槛和提高编程效率,有必要提供新的基于指尖识别和手部运动跟踪的机器人演示编程方法。
技术实现思路
有鉴于此,有必要针对上述的问题,提供一种基于指尖识别和手部运动跟踪的机器人演示编程方法,通过人手演示完成示教任务并利用算法获取示教路径,机器视觉识别示教路径以完成示教任务,可以让机器人具有基于极少量的实验就学会新技能的能力,还可以在学习过程中保证安全,方便示教者增加新的任务,对于环境、任务及机器人自身的变化进行快速调整。为实现上述目的,本专利技术是根据以下技术方案实现的:一种基于指尖识别和手部运动跟踪的机器人演示编程方法,包括:步骤1:完成演示编程系统的硬件环境搭建,并人手演示完成示教任务;步骤2:通过机器视觉识别人手在示教过程中的位置和姿态,通过坐标变换计算其在机器人坐标系下的示教运动轨迹,并利用粒子滤波算法完成示教路径的平滑;步骤3:通过机器视觉识别人的手势,根据手势进行不同动作的规划或者指示演示过程的结束与开始;步骤4:机器人通过重复利用视觉识别得到的示教路径和人的手势,以相同的姿态完成示教任务。进一步地,在步骤1中,所述硬件环境搭建包括:搭建所述的演示编程系统,所述演示编程系统包括Kinect深度摄像机、一台ROS动力学特性的Ubantu16.04笔记本电脑、一台UR5机器人;所述Kinect深度摄像机用于作为视觉传感器采集视觉数据;所述笔记本电脑与所述Kinect摄像机、所述UR5机器人连接,以完成手指运动轨迹捕捉算法的训练。进一步地,所述步骤2具体包括如下步骤:步骤21:在获取示教者的手势图像后,采用基于肤色直方图的分割方法完成手指分割;步骤22:通过粒子滤波算法跟踪示教过程中手部在图像中的位置,获取手部图像的ROI区域;步骤23:将示教点即指尖点的位置和姿态信息统一到机器人坐标系下。进一步地,在步骤21中,所述肤色直方图的分割方法具体为:步骤211:将肤色从RGB颜色空间转换为HSV颜色空间,所述颜色空间转换所采用的公式为:v=max(3)式中,h表示颜色的色相,s表示颜色饱和度,v表示色调,(r,g,b)分别是一个颜色的红、绿、蓝坐标,max和min分别为r、g、b中的最大值和最小值;步骤212:通过从示教者的手获取肤色样本,在肤色区域创建直方图作为检测目标的样本,并且对该直方图进行均衡化处理;其中,所述直方图均衡化处理包括以下步骤:计算累计直方图;将累计直方图进行区间转换;直方图均衡化处理的计算公式为:式中,sk表示新灰度级,L表示图形的灰度级数,nj表示第j级灰度在图像内的像素点个数,N表示像素点总个数;步骤213:使用均衡化的直方图,通过直方图反向投影函数将与样本具有相同表达式的直方图区域进行图像分割,手指图像的灰度直方图会显示两个波峰:一个是作为前景的手指,一个是背景,取波谷灰度值为分割阈值以有效分割前景和背景;其计算公式为:式中,F(x,y)/f(x,y)表示分割出的手指图像,Thf为分割阈值。进一步地,在步骤22中,所述粒子滤波算法具体为:步骤221:计算目标区域概率密度:通过手动标注的方法选择图像中的一块区域作为目标,目标范围的大小和跟踪区域大小一致,宽和高分别为hx、hy(称为核函数带宽h),其中有n个像素用{zi(xi,yi)},i=1,2,...n表示;分别计算目标图像HSV颜色空间的三个颜色分量直方图,每个直方图有8个区间;所述目标区域的概率密度函数{qu}u=1,…,m可以表示为:式中,C是归一化系数,z0是目标区域的中心像素坐标矢量,表示像素点zi(xi,yi)以目标中心z0(x0,y0)为原点的归一化距离,b(zi)表示zi处像素值的所属直方图区间,u为直方图的颜色索引,K(u)表示Epannechnikov核函数,δ[b(zi)-u]作用可以定义为:步骤222:粒子集描述和系统状态转移:粒子集模型定义为:式中,x、y分别是目标的中心点位置,分别是目标在x、y方向上的速度,Hx、Hy分别是目标的宽度和高度,a是尺度因子,T表示转置;所述系统状态转移是指随时间变化目标状态的更新过程,系统状态转移方程表示如下:sk=Ask-1+ek-1(9)式中,A是状态转移矩阵,ek-1是系统的噪声;步骤223:系统观测和状态估计:所述系统状态即目标的位置输出,其方程表示如下:式中,E(sk)表示粒子集的平均值,作为k时刻系统的状态,表示k时刻每个粒子的权值,其定义如下:式中,为每一个粒子所表示的区域概率密度函数,其定义如下:步骤224:目标更新和重采样:当粒子滤波在迭代更新时容易出现粒子退化的现象,需要进行重采样;所述重采样过程如下:当k+1时刻的某些粒子权值过小,达到规定阈值时,就用权值大的粒子复制一些粒子来替换它们;在HSV色彩空间通过色彩分割在离线的情况下处理视频中每一帧图片,获得实际目标区域在图像坐标系中的位置。进一步地,所述步骤23具体包括以下步骤:步骤231:完成图像平面坐标系与指尖像素坐标系之间的转换,其转换方程如下:式中,(x,y,z)表示图像中的空间点,(u,v,d)表示指尖像素坐标点,fx和fy表示相机在x轴和y轴上的焦距,Cx和Cy是相机的光圈中心,s是深度图像的比例因子;步骤232:完成摄像机坐标系与图像平面坐标系之间的转换,转换方程如下:式中,[u,v]为点在图像坐标系中的坐标,[x,y]本文档来自技高网...

【技术保护点】
1.一种基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,包括:/n步骤1:完成演示编程系统的硬件环境搭建,并人手演示完成示教任务;/n步骤2:通过机器视觉识别人手在示教过程中的位置和姿态,通过坐标变换计算其在机器人坐标系下的示教运动轨迹,并利用粒子滤波算法完成示教路径的平滑;/n步骤3:通过机器视觉识别人的手势,根据手势进行不同动作的规划或者指示演示过程的结束与开始;/n步骤4:机器人通过重复利用视觉识别得到的示教路径和人的手势,以相同的姿态完成示教任务。/n

【技术特征摘要】
1.一种基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,包括:
步骤1:完成演示编程系统的硬件环境搭建,并人手演示完成示教任务;
步骤2:通过机器视觉识别人手在示教过程中的位置和姿态,通过坐标变换计算其在机器人坐标系下的示教运动轨迹,并利用粒子滤波算法完成示教路径的平滑;
步骤3:通过机器视觉识别人的手势,根据手势进行不同动作的规划或者指示演示过程的结束与开始;
步骤4:机器人通过重复利用视觉识别得到的示教路径和人的手势,以相同的姿态完成示教任务。


2.根据权利要求1所述的基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,在步骤1中,所述硬件环境搭建包括:
搭建所述的演示编程系统,所述演示编程系统包括Kinect深度摄像机、一台ROS动力学特性的Ubantu16.04笔记本电脑、一台UR5机器人;
所述Kinect深度摄像机用于作为视觉传感器采集视觉数据;
所述笔记本电脑与所述Kinect摄像机、所述UR5机器人连接,以完成手指运动轨迹捕捉算法的训练。


3.根据权利要求2所述的基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,所述步骤2具体包括如下步骤:
步骤21:在获取示教者的手势图像后,采用基于肤色直方图的分割方法完成手指分割;
步骤22:通过粒子滤波算法跟踪示教过程中手部在图像中的位置,获取手部图像的ROI区域;
步骤23:将示教点即指尖点的位置和姿态信息统一到机器人坐标系下。


4.根据权利要求3所述的基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,在步骤21中,所述肤色直方图的分割方法具体为:
步骤211:将肤色从RGB颜色空间转换为HSV颜色空间;
步骤212:通过从示教者的手获取肤色样本,在肤色区域创建直方图作为检测目标的样本,并且对该直方图进行均衡化处理;
步骤213:使用均衡化的直方图,通过直方图反向投影函数将与样本具有相同表达式的直方图区域进行图像分割,手指图像的灰度直方图会显示两个波峰:一个是作为前景的手指,一个是背景,取波谷灰度值为分割阈值以有效分割前景和背景;其计算公式为:



式中,F(x,y)/f(x,y)表示分割出的手指图像,Thf为分割阈值。


5.根据权利要求4所述的基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,所述直方图均衡化处理包括以下步骤:
计算累计直方图;
将累计直方图进行区间转换;
直方图均衡化处理的计算公式为:



式中,sk表示新灰度级,L表示图形的灰度级数,nj表示第j级灰度在图像内的像素点个数,N表示像素点总个数。


6.根据权利要求3所述的基于指尖识别和手部运动跟踪的机器人演示编程方法,其特征在于,在步骤22中,所述粒子滤波算法具体包括以下步骤:
步骤221:计算目标区域概率密度:
通过手动标注的方法选择图像中的一块区域作为目标,目标范围的大小和跟踪区域大小一致,宽和高分别为hx、hy(称为核函数带宽h),其中有n个像素用{zi(xi,yi)},i=1,2,...n表示;
分别计算目标图像HSV颜色空间的三个颜色分量直方图,每个直方图有8个区间;
所述目标区域的概率密度函数{qu}u=1,…,m可以表示为:



式中,C是归一化系数,z0是目标区域的中心像素坐标矢量,表示像素点zi(xi,yi)以目标中心z0(x0,y0)为原点的归一化距离,b(zi)表示zi处像素值的所属直方图区间,u为直方图的颜色索引,K(u)表示Epannechnikov核函数,δ[b(zi)-u]作用可以定义为:



步骤222:粒子集描述和系统状态转移:
粒子集模型定义为:



式中,x、y分别是目标的中心点位置,分别是目标在x、y方向上的速度,Hx、Hy分别是目标的宽度和高度,a是尺度因子;
所述系统状态转移是指随时间变化目标状态的更新过程,系统状态转移方程表示如下:
sk=Ask-1+ek-1(9)
式中,A是状态转移矩阵,ek-1是系统的噪声;
步骤223:系统观测和状态估计:
所述系统状态即目标的位置输出,其方程表示如下:



示k时刻每个粒子的权值,其定义如下:



式中,为每一个粒子所表示的区域概率密度函数,其定义如下:



步骤224:目标更新和重采样:当粒子滤波在迭代更新时容易出现粒子退化的现象,需要进行重采样。


7.根据权利要求6所述的基于指尖识别...

【专利技术属性】
技术研发人员:雷渠江徐杰李秀昊梁波刘纪刘俊豪李致豪王卫军韩彰秀
申请(专利权)人:广州中国科学院先进技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1