基于激光的人机交互方法与流程

文档序号:18898799发布日期:2019-10-18 21:39阅读:300来源:国知局
基于激光的人机交互方法与流程

本发明涉及助老助残机器人技术领域,具体而言,涉及一种基于激光的人机交互方法。



背景技术:

众所周知,中国正处在老龄化社会迅速发展的阶段,社会上需要护理的老年人以及残疾人的数量日益增多,这就对助老助残机器人的刚性需求巨增。

参考申请公布号为cn109048918a的中国发明专利申请、申请公布号为cn109262632a的中国发明专利申请以及申请公布号为cn107595505a的中国发明专利申请,载臂轮椅式助老助残机器人兼具载运和抓取、移动物体功能,这类机器人的人机交互主要靠手柄来操作,然而手柄操作方式存在操作不方便、负担重、精度差、效率低以及对熟练度要求较高的技术缺陷,无法满足用户的要求;人机交互不够友好,用户体验不理想,不符合目前物联网技术的发展需求。



技术实现要素:

本发明就是为了解决现有载臂轮椅式助老助残机器人靠手柄来操作,存在的操作不方便、负担重、精度差、效率低;人机交互不够友好,用户体验差的技术问题,提供了一种操作更加方便、负担轻、精度高、效率高;人机交互更加友好,用户体验更好的基于激光的人机交互方法。

本发明提供一种基于激光的人机交互方法,包括以下步骤:

步骤1,获取物体的图像;

步骤2,识别出图像中存在的激光光斑;

步骤3,依据激光光斑识别目标物体。

优选地,步骤3的过程是:

计算激光光斑在图像中的位置信息;

依据位置信息识别目标物体。

优选地,步骤1中,图像包括深度图像和彩色图像;步骤2的过程是,识别出彩色图像中存在的激光光斑;步骤3的过程是:

(1)计算激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x/z,y/z);

(2)首先对深度图像进行滤波处理,其次进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,如果某物体与光斑之间的距离小于设定阈值,则确定该物体为目标物体。

优选地,通过以下公式(1-1)判断物体与光斑之间的距离小于设定阈值:

公式(1-1)中,t表示阈值。

优选地,步骤2识别出彩色图像中存在的激光光斑的过程是:

(1)将获得的彩色图像进行图像预处理;

(2)通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的激光光斑,具体过程是:

将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格,使用锚预测方法对每个单元格进行预测判断;

针对每一个划分的小单元格,如果预测出目标边界框,yolov3卷积神经网络函数使用逻辑回归对预测边界框打分;

根据预测框和真实框的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出激光光斑。

优选地,步骤1中,图像包括彩色图像;

所述步骤2的过程是:

(1)将获得的彩色图像进行图像预处理;

(2)通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的激光光斑,具体过程是:

将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格,使用锚预测方法对每个单元格进行预测判断;

针对每一个划分的小单元格,如果预测出目标边界框,yolov3卷积神经网络函数使用逻辑回归对预测边界框打分;

根据预测框和真实框的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出激光光斑。

本发明还提供一种基于激光的人机交互方法,包括以下步骤:

步骤1,获取物体的图像;

步骤2,识别出图像中存在的第一次激光光斑;

步骤3,计算出第一次激光光斑的位置信息;

步骤4,根据第一次激光光斑识别第一目标物体;

步骤5,当图像中的第一次激光光斑消失后,又识别出图像中存在的第二次激光光斑,计算从第一次激光光斑消失后到出现第二次激光光斑之间的间隔时间;

步骤6,计算出第二次激光光斑识的位置信息;

步骤7,根据第二次激光光斑识别第二目标物体;

步骤8,当图像中的第二次激光光斑消失,将第一次激光光斑的位置信息和第二次激光光斑的位置进行比较,如果第二次激光光斑和第一次激光光斑的位置不同,则判断第一目标物体和第二目标物体是两个不同的物体。

优选地,步骤3的过程是,计算第一次激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x1/z,y1/z);

步骤6的过程是,计算第二次激光光斑在彩色图像中的二维像素坐标(u,v),将第二次激光光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x2/z,y2/z)并进行存储;

步骤8中将第一次激光光斑的位置信息和第二次激光光斑的位置进行比较的过程是,将第二次激光光斑的坐标(x2/z,y2/z)和第一次激光光斑的坐标(x1/z,y1/z)比对,计算两个坐标之间的距离l,如果距离l大于设定的阈值s,则认为第二次激光光斑和第一次激光光斑的位置不同。

本发明还提供一种基于激光的人机交互方法,包括以下步骤:

步骤1,应用载臂轮椅式助老助残机器人,所述载臂轮椅式助老助残机器人包括控制系统、电动轮椅、机械臂和rgb-d摄像头,所述机械臂与电动轮椅连接,所述rgb-d摄像头与电动轮椅连接;所述控制系统包括主控制器、gpu模块、rgb-d摄像头、激光笔、机械臂控制器和轮椅控制器,所述机械臂控制器与主控制器连接,gpu模块与主控制器连接,rgb-d摄像头与gpu模块连接;

步骤2,通过rgb-d摄像头对桌子上的物体所在区域进行摄像,获取视频,并将视频信息发送给主控制器;

步骤3,主控制器按照一定周期对视频信息进行采样处理,获取深度图像和彩色图像;

步骤4,人坐在电动轮椅上,手握激光笔,按压激光笔的开关发射出激光照射在某一个物体上,主控制器中别出图像中存在的激光光斑;

步骤5:

(1)计算激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x/z,y/z);

(2)首先对深度图像进行滤波处理,其次进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,通过以下公式(1-1)判断物体与光斑之间的距离小于设定阈值:

公式中,t表示阈值,如果某物体与光斑之间的距离小于设定阈值t,则确定该物体为目标物体。

本发明的有益效果是:

(1)交互方式新颖,相比通过手柄进行简单的任务动作与关节控制,用户只需考虑目标物不必关注过程控制,操作起来更方便,操作负担小,提高用户的使用易用性,用户感受好。

(2)本发明适用于老龄及残障人士。对于严重体弱、严重活动不便、视力弱的人群,使用激光笔进行操作更加合适。

(3)基于卷积神经网络进行微小激光点及其点取物品的精准识别,克服了现实家居环境下的光照、距离、背景等多种因素影响,实现现实世界背景下普通激光笔发射激光点的实时精准检测,有利于提高基于激光点的直觉交互的准确性。

(4)实现基于点云信息的点取物品自主抓取,无需提前存储物体模型,仅依靠rgb-d深度摄像头采集的点云信息,实现未知物品抓取位姿快速生成。实现家居非结构环境下任意照射物品进而准确地自主抓取。

本发明进一步的特征和方面,将在以下参考附图的具体实施方式的描述中,得以清楚地记载。

附图说明

图1是载臂轮椅式助老助残机器人的结构示意图;

图2是控制系统的原理框图;

图3是主控制器的原理框图;

图4是本发明运行过程的示意图;

图5是实施例1的控制方法流程图;

图6是图5所示流程中识别出图片中激光光斑的方法流程图;

图7是实施例2的控制方法流程图;

图8是实施例3的控制方法流程图。

图中符号说明:

10.电动轮椅,11.轮椅控制器;20.机械臂,21.机械臂控制器;30.rgb-d摄像头,40.gpu模块,50.主控制器,51.激光光斑识别模块,52.位置获取模块,53.激光光斑计时模块,60.激光笔。

具体实施方式

以下参照附图,以具体实施例对本发明作进一步详细说明。

如图1所示,本发明的载臂轮椅式助老助残机器人包括电动轮椅10、机械臂20、rgb-d摄像头30,机械臂20安装在电动轮椅10上,rgb-d摄像头30通过支架安装在电动轮椅10的侧面,rgb-d摄像头30用于提供操作视觉辅助。机械臂20采用加拿大kinova公司的jaco机械臂,jaco机械臂由6个独立驱动旋转关节和3个独立控制的手指组成,每个关节均配有独立的力矩、温度、电流、加速度传感器保证数据信息的实时反馈,整重5.3kg。控制方式除手柄控制外,提供usb接口以及api函数进行控制开发。电动轮椅10采用卫美恒公司(n.v.vermeirenn.v.)生产的电动轮椅。rgb-d摄像头30可采用华硕xtion摄像头。

如图2和3所示,本发明的控制系统包括主控制器50、gpu模块40、rgb-d摄像头30、激光笔60、机械臂控制器21、轮椅控制器11,电动轮椅10的轮椅控制器11与主控制器50连接,机械臂20的机械臂控制器21与主控制器50连接,gpu模块40与主控制器50连接,rgb-d摄像头30与gpu模块40连接。

激光笔60用于发射激光照射在目标物体上,在目标物体上形成激光光斑。激光光斑作为人机交互介质,能够起到注意力吸引与目标指示作用。

主控制器50包括激光光斑识别模块51、位置获取模块52、激光光斑计时模块53、间隔时间计时模块54、目标物体识别模块55、位姿获取模块56、图像采集模块57、机械臂运动逆解算模块58,激光光斑识别模块51可以被配置为用于识别出图像中存在的激光光斑,位置获取模块52可以被配置为用于计算激光光斑在图像中的位置信息,间隔时间计时模块54可以被配置为用于计算从第一次激光光斑消失后到出现第二次激光光斑时之间的时间,激光光斑计时模块53可以被配置为用于计算某物体上存在激光光斑的持续时间。目标物体识别模块55可以被配置为用于根据位置获取模块52输出的位置信息识别目标物体。图像采集模块57用于接收gpu模块40发送的视频并按照一定周期对视频信息进行采样处理,获取深度图像和彩色图像。位姿获取模块56用于计算目标物体的抓取位姿。机械臂运动逆解算模块58用于将位姿获取模块56输出的抓取位姿进行逆解运算,计算出机械臂各关节的运动位移和速度,并将机械臂各关节的运动位移和速度发送给机械臂。

本发明在linux系统ubuntu14.04环境下,基于ros(robotoperatingsystem)机器人操作系统对所有模块进行控制与集成。

实施例1

参考图4,在桌子上放置多个物体(比如:杯子、勺子、水瓶等),rgb-d摄像头30实时对桌子上的物体进行拍摄,老年人坐在电动轮椅10上,手握激光笔60,按压激光笔60的开关发射出激光并照射在目标物体(比如杯子)上,在目标物体上就会形成激光光斑。本实施例主要是以激光光斑作为人机交互介质,系统根据物体上的激光光斑,识别目标物体,实现机械臂20自动抓取目标物体(即抓住桌子上的物体并移动到某一固定空间位置),实现激光点取物体的功能,如图5所示,具体控制方法如下:

步骤s101,通过rgb-d摄像头30对桌子上的物体所在区域进行摄像,获取视频,并将视频信息发送给主控制器50。

步骤s102,主控制器50按照一定周期对视频信息进行采样处理,获取深度图像和彩色图像。

步骤s103,激光笔60发射出的激光照射在某一个物体上,主控制器50中的激光光斑识别模块51识别出图像中存在的激光光斑。

步骤s104,主控制器50中的位置获取模块52计算激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x/z,y/z)并进行存储。

步骤s105,目标物体识别模块55识别目标物体,首先对深度图像进行滤波处理(具体滤波方法可采用直通滤波、统计滤波或体素滤波),其次进行平面分割处理剔除桌面,进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,如果某物体与光斑之间的距离小于设定阈值,则确定该物体为待抓取的目标物体,具体计算通过如下公式(1-1):

公式(1-1)中,t表示阈值。

步骤s106,位姿获取模块56计算目标物体上的多种可能抓取候选位姿(位置和姿态),具体过程是:

根据目标物体的点云信息和表面曲率,主控制器50计算生成多种抓取假设。例如,其中一种执行方案为,表面上每个点的位置平移一定距离(一般为手爪虎口到抓握中心的距离),作为该点抓取假设的位置。根据该点的表面曲率,将该点表面处的法线方向作为抓取方向,从而推算出抓取候选位姿。

步骤s107,位姿获取模块56基于卷积神经网络评估抓取候选位姿,将评分最高者作为目标物体的抓取位姿,具体过程是:

将上述步骤s106计算的这些抓取假设,也就是每一种抓取位姿所对应的抓取向量(x,y,z,tx,ty,tz)输入到训练好的深度卷积神经网络;基于卷积神经网络原理,对这些抓取假设数据进行识别与评估排序;然后,选择评分最高的抓取方式作为目标物体的抓取位置和姿态,输出并存储。

步骤s108,当激光笔关闭时,主控制器50中的激光光斑识别模块51确定图像中没有激光光斑,经过一定时间tc后,激光光斑识别模块51依然没有识别出激光光斑,则判断目标物体上的激光光斑消失,执行步骤s109。

需要说明的是,可以通过激光光斑计时模块53记录激光光斑从出现到消失之间的持续时间。

步骤s109,主控制器50将步骤s107计算得出的物体抓取位置(即手爪在手臂坐标系下的笛卡尔坐标(x,y,z)和抓取姿态(即机械臂末端手爪的旋转坐标(tx,ty,tz)),发送给机械臂控制器21,则机械臂控制器的内部轨迹规划程序自动进行逆解运算,计算出机械臂各关节的运动位移和速度,发送给机械臂20并控制机械臂按照解算的轨迹运动,控制手爪移动到抓取位置并保持抓取姿态(tx,ty,tz)。

当手爪移动到抓取位置后,主控制器50发送命令给机械臂控制器21,控制机械臂末端的3指弹性手爪关闭一定行程,将物体抓握在手爪的掌心中。

步骤s110,主控制器50控制机械臂动作将目标物体(比如杯子)移动至老年人嘴边附近(相当于某一固定位置,这个固定位置坐标可以事先输入到主控制器的任务库)。

如图6所示,上述步骤s103中图像中激光光斑识别的具体过程可以采用基于卷积神经网络的目标识别方法进行,具体方法如下:

步骤s301,将获得的彩色图像进行图像预处理。

图像预处理的目的是去除彩色图像中的噪声信息,提高物体和背景的对比度,增加目标的检测成功率。预处理的过程是,首先使用中值滤波排除椒盐噪声影响,然后在像素级别对激光点进行处理,从而排除图像中的反射区域对激光点检测的干扰,具体操作为:首先将彩色图像转换到hsv色彩空间,因为在rgb色彩空间中反射区域和激光点难以区分。在hsv色彩空间中,对于那些在hsv色彩空间中s、v值不同时为0的值,当hsv中的s值小于40的区域,对它的s值加上50。经过这种操作后图像的饱和度提高,再次将它转换回rgb色彩空间。

步骤s302,通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的激光光斑。具体过程是:

(1)首先将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

(2)yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格(例如会将一幅大图像分成13x13个小单元),使用锚预测方法对每个单元格进行预测判断;

(3)针对每一个划分的小单元格,如果预测出目标边界框(如果该单元没有预测出目标,也可能没有边界框出现),yolov3卷积神经网络函数使用逻辑回归对预测边界框打分(通常会出现多个得分);

(4)根据预测框和真实框(真实框是训练时获得的,已经标记过的目标物体边界框)的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出激光光斑。

需要说明的是,在卷积网络训练时,除了针对具有激光光斑的图像进行训练,也可以同时将常用的物品加入训练集进行训练,这样,在识别激光光斑同时,网络也可以识别物品并报告相关图像坐标,可以提前知道该物品的名称和相关信息。进一步在识别出激光光斑之后,计算出激光光斑所在图像区域对应的边界框的中心坐标作为激光光斑本身的二维坐标,将识别出的物体坐标与激光点光斑坐标对比,相近的则为目标物体,并输出目标物体坐标。

基于yolov3卷积神经网络的激光点检测算法检测成功率高,实时性好,用在激光点交互中可以达到很好的实时检测效果。

实施例2

参考图4,在桌子上放置多个物体(比如:杯子、勺子、水瓶等),rgb-d摄像头30实时对桌子上的物体进行拍摄,老年人坐在电动轮椅10上,手握激光笔60,按压激光笔60的开关发射出激光并照射在第一目标物体水瓶上,在水瓶上就会形成激光光斑,停留一段时间t1后,操作激光笔60输出的激光照射在第二目标物体桌面上某一点并停留一段时间t2。本实施例主要根据不同目标物体上出现的两次激光光斑,识别两个目标物体,实现机械臂20自动抓取第一目标物体移动到第二目标物体上面某一固定位置(即物体移动到桌面上另一固定空间位置),如图7所示,具体控制方法如下:

步骤s201,通过rgb-d摄像头30对桌子上的物体所在区域进行摄像,获取视频,并将视频信息发送给主控制器50。

步骤s202,主控制器50按照一定周期对视频信息进行采样处理,获取深度图像和彩色图像。

步骤s203,激光笔60发射出的激光照射在第一目标物体水瓶上,主控制器50中的激光光斑识别模块51识别出图像中存在的激光光斑,此时确定的激光光斑为第一次激光光斑。

步骤s204,主控制器50中的激光光斑计时模块53开始计时。

步骤s205,主控制器50中的位置获取模块52计算第一次激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x1/z,y1/z)并进行存储。

步骤s206,目标物体识别模块55识别第一目标物体,首先对深度图像进行滤波处理(具体滤波方法可采用直通滤波、统计滤波或体素滤波),其次进行平面分割处理剔除桌面,进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,如果某物体与光斑之间的距离小于设定阈值,则确定该物体为待抓取的目标物体(此时确定的目标物体是第一目标物体),具体计算通过如下公式(2-1):

公式(2-1)中,t表示阈值。

步骤s207,位姿获取模块56计算第一目标物体上的多种可能抓取候选位姿,具体过程是:

根据第一目标物体的点云信息和表面曲率,主控制器50计算生成多种抓取假设。例如,其中一种执行方案为,表面上每个点的位置平移一定距离(一般为手爪虎口到抓握中心的距离),作为该点抓取假设的位置。根据该点的表面曲率,将该点表面处的法线方向作为抓取方向,从而推算出抓取候选位姿。

步骤s208,位姿获取模块56基于卷积神经网络评估抓取候选位姿,将评分最高者作为目标物体的抓取位姿,具体过程是:

将上述步骤s207计算的这些抓取假设,也就是每一种抓取位姿所对应的抓取向量(x,y,z,tx,ty,tz)输入到训练好的深度卷积神经网络;基于卷积神经网络原理,对这些抓取假设数据进行识别与评估排序;然后,选择评分最高的抓取方式作为目标物体的抓取位置和姿态,输出并存储。

步骤s209,当激光笔关闭时或者激光笔输出的激光从第一目标物体上离开时,主控制器50中的激光光斑识别模块51确定图像中没有激光光斑,执行步骤s210。

步骤s210,激光光斑计时模块53停止计时并得出第一次激光光斑的持续时间t1。

步骤s211,主控制器50中的间隔时间计时模块54开始计时。

步骤s212,主控制器50中的激光光斑识别模块51识别出图像中存在的激光光斑,此时确定的激光光斑为第二次激光光斑。

步骤s213,间隔时间计时模块54停止计时并得出间隔时间tc(此间隔时间tc是从第一次激光光斑消失后到出现第二次激光光斑之间的时间)。

步骤s214,控制器50中的激光光斑计时模块53开始计时。

步骤s215,主控制器50中的位置获取模块52计算第二次激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x2/z,y2/z)并进行存储。

步骤s216,目标物体识别模块55识别第二目标物体,首先对深度图像进行滤波处理(具体滤波方法可采用直通滤波、统计滤波或体素滤波),其次进行平面分割处理剔除桌面,进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将激光光斑坐标与各物体形心坐标比对,当每一个物体离光斑距离均大于设定阈值m,则确定激光没有照射任何物品,再然后将桌面点云中的各点坐标与激光斑点坐标比对,当存在距离小于设定阈值n的桌面点(xti,yti,zti),则确定桌面上有激光光斑(即确定第二目标物体桌子)。

步骤s217,步骤s216中那些距离小于设定阈值n的桌面点(xti,yti,zti)为激光照射的范围,将它们的坐标平均值作为桌面放置目标点坐标(xt,yt,zt)并存储在系统中,然后结合机械臂手爪和水瓶的尺寸(或者结合实际需要),将桌面放置目标点坐标的z向上平移一定距离d,从而获得机械臂手爪目标位置坐标(xt,yt,zt+d)并存储。

步骤s218,当激光笔关闭时或者激光笔输出的激光从第二目标物体桌子上离开时,主控制器50中的激光光斑识别模块51确定图像中没有激光光斑,第二次激光光斑消失,执行步骤s219。

步骤s219,激光光斑计时模块53停止计时并得出第二次激光光斑的持续时间t2。

步骤s220,将步骤s215计算出的第二次激光光斑的坐标(x2/z,y2/z)和步骤s205计算出的第一次激光光斑的坐标(x1/z,y1/z)比对,计算两个坐标之间的距离l,如果距离l大于设定的阈值s,则认为第二次激光光斑和第一次激光光斑的位置不同,位置不同执行步骤s221。

步骤s221,设定时间阈值a、b、c,当第一次激光光斑的持续时间t1>a,且间隔时间tc<b,且第二次激光光斑的持续时间t2>c,执行步骤s222。

步骤s222,主控制器50将步骤s208计算得出的物体抓取位置(即手爪在手臂坐标系下的笛卡尔坐标(x,y,z)和抓取姿态(即机械臂末端手爪的旋转坐标(tx,ty,tz)),发送给机械臂控制器21,则机械臂控制器的内部轨迹规划程序自动进行逆解运算,计算出机械臂各关节的运动位移和速度,发送给机械臂20并控制机械臂按照解算的轨迹运动,控制手爪移动到抓取位置并保持抓取姿态(tx,ty,tz)。

当手爪移动到抓取位置后,主控制器50发送命令给机械臂控制器21,控制机械臂末端的3指弹性手爪关闭一定行程,将第一目标物体水瓶抓握在手爪的掌心中。

步骤s223,主控制器50控制机械臂的手爪移动到第二目标物体桌子上方的目标位置坐标(xt,yt,zt+d)所指定的位置。

步骤s224,主控制器50控制机械臂的手爪松开,将第一目标物体水瓶放到第二目标物体桌面指定位置。

上述步骤s203中,图像中激光光斑识别的具体过程可以采用基于卷积神经网络的目标识别方法进行,具体方法如下:

步骤s203-1,将获得的彩色图像进行图像预处理。

图像预处理的目的是去除彩色图像中的噪声信息,提高物体和背景的对比度,增加目标的检测成功率。预处理的过程是,首先使用中值滤波排除椒盐噪声影响,然后在像素级别对激光点进行处理,从而排除图像中的反射区域对激光点检测的干扰,具体操作为:首先将彩色图像转换到hsv色彩空间,因为在rgb色彩空间中反射区域和激光点难以区分。在hsv色彩空间中,对于那些在hsv色彩空间中s、v值不同时为0的值,当hsv中的s值小于40的区域,对它的s值加上50。经过这种操作后图像的饱和度提高,再次将它转换回rgb色彩空间。

步骤s203-2,通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的第一次激光光斑。具体过程是:

(1)首先将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

(2)yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格(例如会将一幅大图像分成13x13个小单元),使用锚预测方法对每个单元格进行预测判断;

(3)针对每一个划分的小单元格,如果预测出目标边界框(如果该单元没有预测出目标,也可能没有边界框出现),yolov3卷积神经网络函数使用逻辑回归对预测边界框打分(通常会出现多个得分);

(4)根据预测框和真实框(真实框是训练时获得的,已经标记过的目标物体边界框)的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出第一次激光光斑。

上述步骤s212中,图像中激光光斑识别的具体过程可以采用基于卷积神经网络的目标识别方法进行,具体方法如下:

步骤s212-1,将获得的彩色图像进行图像预处理。

图像预处理的目的是去除彩色图像中的噪声信息,提高物体和背景的对比度,增加目标的检测成功率。预处理的过程是,首先使用中值滤波排除椒盐噪声影响,然后在像素级别对激光点进行处理,从而排除图像中的反射区域对激光点检测的干扰,具体操作为:首先将彩色图像转换到hsv色彩空间,因为在rgb色彩空间中反射区域和激光点难以区分。在hsv色彩空间中,对于那些在hsv色彩空间中s、v值不同时为0的值,当hsv中的s值小于40的区域,对它的s值加上50。经过这种操作后图像的饱和度提高,再次将它转换回rgb色彩空间。

步骤s212-2,通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的第二次激光光斑。具体过程是:

(1)首先将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

(2)yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格(例如会将一幅大图像分成13x13个小单元),使用锚预测方法对每个单元格进行预测判断;

(3)针对每一个划分的小单元格,如果预测出目标边界框(如果该单元没有预测出目标,也可能没有边界框出现),yolov3卷积神经网络函数使用逻辑回归对预测边界框打分(通常会出现多个得分);

(4)根据预测框和真实框(真实框是训练时获得的,已经标记过的目标物体边界框)的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出第二次激光光斑。

实施例3

参考图4,在桌子上放置多个物体(比如:杯子、勺子、水瓶等),rgb-d摄像头30实时对桌子上的物体进行拍摄,老年人坐在电动轮椅10上,手握激光笔60,按压激光笔60的开关发射出激光并照射在第一目标物体水瓶上,在水瓶上就会形成激光光斑。停留一段时间t1后,操作激光笔60输出的激光照射在第二目标物体杯子上某一点并停留一段时间t2,本实施例主要根据不同目标物体上的激光光斑,识别两个目标物体,实现机械臂20自动抓取第一目标物体水瓶移动到第二目标物体杯子上方某一固定位置并向杯子倒水的任务。如图8所示,具体控制方法如下:

步骤s301,通过rgb-d摄像头30对桌子上的物体所在区域进行摄像,获取视频,并将视频信息发送给主控制器50。

步骤s302,主控制器50按照一定周期对视频信息进行采样处理,获取深度图像和彩色图像。

步骤s303,激光笔60发射出的激光照射在第一目标物体水瓶上,主控制器50中的激光光斑识别模块51识别出图像中存在的激光光斑,此时确定的激光光斑为第一次激光光斑。

步骤s304,控制器50中的激光光斑计时模块53开始计时。

步骤s305,控制器50中的位置获取模块52计算第一次激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x1/z,y1/z)并进行存储。

步骤s306,目标物体识别模块55识别第一目标物体,首先对深度图像进行滤波处理(具体滤波方法可采用直通滤波、统计滤波或体素滤波),其次进行平面分割处理剔除桌面,进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,如果某物体与光斑之间的距离小于设定阈值,则确定该物体为待抓取的目标物体(此时确定的目标物体是第一目标物体),具体计算通过如下公式(3-1):

公式(3-1)中,t表示阈值。

步骤s307,位姿获取模块56计算第一目标物体上的多种可能抓取候选位姿,具体过程是:

根据第一目标物体的点云信息和表面曲率,主控制器50计算生成多种抓取假设。例如,其中一种执行方案为,表面上每个点的位置平移一定距离(一般为手爪虎口到抓握中心的距离),作为该点抓取假设的位置。根据该点的表面曲率,将该点表面处的法线方向作为抓取方向,从而推算出抓取候选位姿。

步骤s308,位姿获取模块56基于卷积神经网络评估抓取候选位姿,将评分最高者作为目标物体的抓取位姿,具体过程是:

将上述步骤s307计算的这些抓取假设,也就是每一种抓取位姿所对应的抓取向量(x,y,z,tx,ty,tz)输入到训练好的深度卷积神经网络;基于卷积神经网络原理,对这些抓取假设数据进行识别与评估排序;然后,选择评分最高的抓取方式作为目标物体的抓取位置和姿态,输出并存储。

步骤s309,当激光笔关闭时或者激光笔输出的激光从第一目标物体上离开时,主控制器50中的激光光斑识别模块51确定图像中没有激光光斑,执行步骤s310。

步骤s310,激光光斑计时模块53停止计时并得出第一次激光光斑的持续时间t1。

步骤s311,主控制器50中的间隔时间计时模54块开始计时。

步骤s312,主控制器50中的激光光斑识别模块51识别出图像中存在的激光光斑,此时确定的激光光斑为第二次激光光斑。

步骤s313,间隔时间计时模块54停止计时并得出间隔时间tc(此间隔时间tc是从第一次激光光斑消失后到出现第二次激光光斑之间的时间)。

步骤s314,主控制器50中的激光光斑计时模块53开始计时。

步骤s315,主控制器50中的位置获取模块52计算第二次激光光斑在彩色图像中的二维像素坐标(u,v),将光斑的二维像素坐标(u,v)转换到相机坐标系下的坐标(x2/z,y2/z)并进行存储。

步骤s316,识别第二目标物体,首先对深度图像进行滤波处理(具体滤波方法可采用直通滤波、统计滤波或体素滤波),其次进行平面分割处理剔除桌面,进行距离分割处理获得每一个物体的点云,再其次计算每个物体在相机坐标系下的形心坐标(xi,yi,zi),然后将各个物体的形心坐标(xi,yi,zi)与光斑坐标(x/z,y/z)进行距离比较,如果某物体与光斑之间的距离小于设定阈值,则确定该物体为第二目标物体水杯(此时该物体的形心坐标是(xd,yd,zd)),具体计算通过公式(3-2)计算:

公式(3-2)中,t表示阈值。

步骤s317,结合机械臂手爪和水杯尺寸,将步骤s316中被点取物品的形心坐标(xd,yd,zd)的z向上平移一定距离d’,从而获得机械臂手爪目标位置坐标(xd,yd,zd+d’)并存储。

步骤s318,当激光笔关闭时或者激光笔输出的激光从第二目标物体杯子上离开时,主控制器50中的激光光斑识别模块51确定图像中没有激光光斑,执行步骤s319。

步骤s319,激光光斑计时模块53停止计时并得出第二次激光光斑的持续时间t2。

步骤s320,将步骤s315计算出的第二次激光光斑的坐标(x2/z,y2/z)和步骤s305计算出的第一次激光光斑的坐标(x1/z,y1/z)比对,计算两个坐标之间的距离l,如果距离l大于设定的阈值s,则认为第二次激光光斑和第一次激光光斑的位置不同,位置不同执行步骤s321。

步骤s321,设定时间阈值tlast、b,当第一次激光光斑的持续时间t1>tlast,且间隔时间tc<b,且t2<tlast,执行步骤s322。t1>tlast代表长按激光笔的开关,t2<tlast代表短按激光笔的开关。

步骤s322,主控制器50将步骤s308计算得出的物体抓取位置(即手爪在手臂坐标系下的笛卡尔坐标(x,y,z)和抓取姿态(即机械臂末端手爪的旋转坐标(tx,ty,tz)),发送给机械臂控制器21,则机械臂控制器的内部轨迹规划程序自动进行逆解运算,计算出机械臂各关节的运动位移和速度,发送给机械臂20并控制机械臂按照解算的轨迹运动,控制手爪移动到抓取位置并保持抓取姿态(tx,ty,tz)。

当手爪移动到抓取位置后,主控制器50发送命令给机械臂控制器21,控制机械臂末端的3指弹性手爪关闭一定行程,将第一目标物体水瓶抓握在手爪的掌心中。

步骤s323,主控制器50控制机械臂的手爪移动到第二目标物体杯子上方的目标位置坐标(xd,yd,zd+d’)所指定的位置。

步骤s324,主控制器50按照程序库中事先存储的倒水动作轨迹控制机械臂的手爪倾斜(或机械臂实施其他动作),将第一目标物体水瓶中的水倒入第二目标物体杯子中。

需要说明的是,步骤s321的逻辑判断是优选的方案,比较适应操作习惯,但并不限于此,还可以是其他形式,比如以下几种:

第一种:t1>tlast,且tc<b,且t2>tlast,t1>tlast代表长按激光笔的开关,t2>tlast代表长按激光笔的开关。

第二种:t1<tlast,且tc<b,且t2>tlast,t1<tlast代表短按激光笔的开关,t2>tlast代表长按激光笔的开关。

上述步骤s303中,图像中激光光斑识别的具体过程可以采用基于卷积神经网络的目标识别方法进行,具体方法如下:

步骤s303-1,将获得的彩色图像进行图像预处理。

图像预处理的目的是去除彩色图像中的噪声信息,提高物体和背景的对比度,增加目标的检测成功率。预处理的过程是,首先使用中值滤波排除椒盐噪声影响,然后在像素级别对激光点进行处理,从而排除图像中的反射区域对激光点检测的干扰,具体操作为:首先将彩色图像转换到hsv色彩空间,因为在rgb色彩空间中反射区域和激光点难以区分。在hsv色彩空间中,对于那些在hsv色彩空间中s、v值不同时为0的值,当hsv中的s值小于40的区域,对它的s值加上50。经过这种操作后图像的饱和度提高,再次将它转换回rgb色彩空间。

步骤s303-2,通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的第一次激光光斑。具体过程是:

(1)首先将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

(2)yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格(例如会将一幅大图像分成13x13个小单元),使用锚预测方法对每个单元格进行预测判断;

(3)针对每一个划分的小单元格,如果预测出目标边界框(如果该单元没有预测出目标,也可能没有边界框出现),yolov3卷积神经网络函数使用逻辑回归对预测边界框打分(通常会出现多个得分);

(4)根据预测框和真实框(真实框是训练时获得的,已经标记过的目标物体边界框)的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出第一次激光光斑。

上述步骤s312中,图像中激光光斑识别的具体过程可以采用基于卷积神经网络的目标识别方法进行,具体方法如下:

步骤s312-1,将获得的彩色图像进行图像预处理。

图像预处理的目的是去除彩色图像中的噪声信息,提高物体和背景的对比度,增加目标的检测成功率。预处理的过程是,首先使用中值滤波排除椒盐噪声影响,然后在像素级别对激光点进行处理,从而排除图像中的反射区域对激光点检测的干扰,具体操作为:首先将彩色图像转换到hsv色彩空间,因为在rgb色彩空间中反射区域和激光点难以区分。在hsv色彩空间中,对于那些在hsv色彩空间中s、v值不同时为0的值,当hsv中的s值小于40的区域,对它的s值加上50。经过这种操作后图像的饱和度提高,再次将它转换回rgb色彩空间。

步骤s312-2,通过yolov3卷积神经网络函数识别出预处理后的彩色图像中的第二次激光光斑。具体过程是:

(1)首先将预处理后的彩色图像输入yolov3卷积神经网络函数进行训练,训练的过程能够得出彩色图像的真实框;

(2)yolov3卷积神经网络函数对图像数据进行分析判断,在网络的最后一层,会将卷积网络处理后的图像分成等边的单元格(例如会将一幅大图像分成13x13个小单元),使用锚预测方法对每个单元格进行预测判断;

(3)针对每一个划分的小单元格,如果预测出目标边界框(如果该单元没有预测出目标,也可能没有边界框出现),yolov3卷积神经网络函数使用逻辑回归对预测边界框打分(通常会出现多个得分);

(4)根据预测框和真实框(真实框是训练时获得的,已经标记过的目标物体边界框)的重合程度设定置信度,该置信度作为阈值使用,当边界框得分大于置信度,则确定该边界框可能为激光光斑所在图像区域,如果最后剩余一个边界框,则该边界框区域为激光光斑,如果预置判断后还剩余多个边界框,则取得分最大的边界框区域,确定识别出第二次激光光斑。

以上所述仅对本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1