识别定位方法、装置、实时跟踪方法、装置与流程

文档序号:31053157发布日期:2022-08-06 08:50阅读:169来源:国知局
识别定位方法、装置、实时跟踪方法、装置与流程

1.本公开涉及测量领域,尤其涉及一种识别定位方法、装置、实时跟踪方法、装置。


背景技术:

2.在焊接机器人的工作过程中,由于上道工序来料一致性差、工装夹具设计有误差等原因,会导致工件焊缝有位置偏移、变形等问题,机器人无法直接通过示教回放的方式直接进行焊接,需要先通过传感器对焊缝进行测量、寻位,然后对焊接轨迹进行纠偏之后,才能正常进行焊接工作过程。在焊接过程中,因为存在工件受热变形等问题,往往还需要对焊缝进行实时跟踪,根据焊缝的实际位置动态修正焊接轨迹,以保证最终的焊接效果。
3.传统的焊缝测量寻位方案,是使用焊丝机械接触寻位、点激光传感器寻位、线激光传感器寻位、3d视觉寻位等。传统的焊缝跟踪一般都是使用线激光焊缝跟踪传感器。但是这些寻位、跟踪设备存在以下几个缺点:1.测量效率低,点激光或者线激光只有单一维度的信息,如果处理复杂的焊缝,需要机器人多次测量或者寻位,整体节拍时间增长,工作效率降低;2.合成精度不可靠,如果需要多次寻位共同计算焊缝信息,测量数据的合成依赖于机器人本身精度;3.3d相机测量效率高,但是存在价格昂贵,计算量大等问题,焊接过程中不能作为跟踪传感器使用,并且由于传感器体积限制,安装了3d相机后就不能安装其他传感器,无法实现焊缝的实时跟踪;4.线激光传感器虽然可以兼顾寻位和跟踪的功能,但是在寻位过程中需要借助机器人移动动态寻位进行焊缝起点识别,识别精度依赖于机器人本身精度,往往识别结果也不理想。
4.因此,当前焊缝测量寻位技术识别效率低、精度不可靠、无法同时兼顾焊缝识别寻位和跟踪的问题。
5.另外,在多关节机器人的制造与装配过程中,零部件往往是存在误差的。传统的机器人通过公差来让机器人的整体偏差控制在一定范围内。但是由于机器人是严格按照机器人的运动学运动的,其运动模型与实际必然是存在偏差的,这是导致机器人精度范围有限的主要原因。并且随着机器人的使用,导致零部件的磨损,会更加加剧这种偏差,使机器人无法更加精准的完成功能。
6.现有方案中的一种是,使用昂贵的激光跟踪仪来对装配好的机器人进行末端跟踪,结合复杂的算法,来得到机器人真实的装配后尺寸,从而弥补制造和装配尺寸与实际尺寸带来的误差。但是激光跟踪仪部署复杂,使用难度高,并且价格昂贵。同时,还有一种工业现场不借助外部传感器进行误差修正的方法:20点法,就是相对机器人固定摆放一个针尖,机器人变换不同姿态,人工将机器人工具末端对准外部针尖,采集20次机器人位置后对机器人的轴零点和工具进行补偿。该方法成本低,不受传感器部署约束,在工业现场应用广泛。但是该种标定方法依赖于人工对准针尖的精度,并且操作复杂繁琐。而其他的测量装置虽然可以测量机器人运动过程中的轨迹变化,但是其精度有限,不能达到与激光跟踪仪相同的效果。
7.目前激光跟踪仪使用复杂、价格昂贵以及其他的测量装置精度不足、操作复杂繁
琐的问题有待解决。


技术实现要素:

8.本公开正是为了解决上述课题而完成,其目的在于提供一种识别效率高、精度可靠、能够同时兼顾焊缝识别寻位和跟踪的识别定位方法、装置、实时跟踪方法、装置。
9.本公开提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
10.为了解决上述技术问题,本公开实施例提供一种识别定位方法,采用了如下所述的技术方案,包括:
11.建立模型并对所述模型的装置进行标定;
12.获取待处理对象的图像;
13.获得所述图像中的每个像素位置在所述模型下的三维位置点云;
14.对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
15.为了解决上述技术问题,本公开实施例提供一种实时跟踪方法,采用了如下所述的技术方案,包括:
16.采集所述待处理对象的实时位置;
17.如前所述的识别定位方法;
18.固定所述识别定位方法所确定的所述交线的位置,
19.修正所述交线的位置以与所述待处理对象的实时位置一致。
20.为了解决上述技术问题,本公开实施例还提供一种识别定位装置,采用了如下所述的技术方案,包括:
21.建模标定模块,用于建立模型并进行标定;
22.图像获取模块,用于获取待处理对象的图像;
23.识别定位模块,用于获得所述图像中的每个像素位置在所述模型下的三维位置点云,并对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
24.为了解决上述技术问题,本公开实施例还提供一种实时跟踪装置,采用了如下所述的技术方案,包括:
25.位置采集模块,用于采集所述待处理对象的实时位置;
26.如前所述的识别定位装置;
27.交线固定模块,用于固定所述识别定位方法所确定的所述交线的位置,
28.修正模块,用于修正所述交线的位置以与所述待处理对象的实时位置一致。
29.为了解决上述技术问题,本公开实施例还提供一种识别定位装置,采用了如下所述的技术方案,包括:
30.光发射单元,用于发射线结构光;
31.光反射单元,与所述光发射单元相对,用于将所述线结构光反射至待处理对象;
32.拍摄单元,用于拍摄所述待处理对象的图像;
33.识别定位单元,用于获得所述图像中的每个像素位置在所述模型下的三维位置点云并对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
34.为了解决上述技术问题,本公开实施例还提供一种识别定位系统,采用了如下所述的技术方案,包括:
35.如前所述的识别定位装置;
36.机器人,其末端安装有所述识别定位装置,控制所述识别定位装置从不同的角度和位置拍摄坐标点已知的标定板,获得所述传感器坐标系与机器人坐标系的转换关系。
37.为了解决上述技术问题,本公开实施例还提供一种实时跟踪系统,采用了如下所述的技术方案,包括:
38.如前所述的识别定位系统,其中,所述光反射单元维持在预设角度,以确定所述交线的位置;
39.位置采集模块,用于采集所述待处理对象的实时位置;
40.修正模块,用于修正所述交线的位置以与所述待处理对象的实时位置一致。
41.为了解决上述技术问题,本公开实施例还提供一种校准方法,采用了如下所述的技术方案,包括:
42.获取被校准对象在第一坐标系中预设数量的位置点的第一坐标;
43.获取校准工具在第二坐标系中所述预设数量的位置点的第二坐标;
44.根据所述第一坐标与所述第二坐标对所述被校准对象的校准参数和/或工具末端中心点进行校准。
45.为了解决上述技术问题,本公开实施例还提供一种校准装置,采用了如下所述的技术方案,包括:
46.坐标获取模块,用于获取被校准对象在第一坐标系中预设数量的位置点的第一坐标,以及获取校准工具在第二坐标系中所述预设数量的位置点的第二坐标;
47.校准模块,用于根据所述第一坐标与所述第二坐标对所述被校准对象的校准参数和/或工具末端中心点进行校准。
48.为了解决上述技术问题,本公开实施例还提供一种校准设备,采用了如下所述的技术方案,包括:
49.如前所述的校准装置;
50.校准工具,用于根据所述被校准对象位置变化以获得所述第二坐标;
51.连接件,用于将所述被校准对象末端与所述校准工具末端连接。
52.为了解决上述技术问题,本公开实施例还提供一种机器人校准系统,采用了如下所述的技术方案,包括:
53.机器人,用于在预设数量的位置点进行移动以获得第一坐标;
54.测量臂,用于与所述机器人连接,并随着所述机器人的位置的变化被动变化以获得第二坐标;
55.连接件,用于连接所述机器人的末端与所述测量臂的末端;
56.校准单元,用于根据所述第一坐标与所述第二坐标对所述机器人的校准参数和/或工具末端中心点进行校准。
57.为了解决上述技术问题,本公开实施例还提供一种计算机设备,采用了如下所述的技术方案,包括:存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如前任一项所述的方法。
58.为了解决上述技术问题,本公开实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案,包括:所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述的方法。
59.根据本公开所公开的技术方案,与现有技术相比,其主要特点是,利用丰富的点云信息可完成对复杂焊缝的识别和提取,数据量远超同类单线或者单点激光传感器,方便使用,直接输出焊缝特征及位置信息给机器人,对焊接机器人视觉识别寻位跟踪多传感器复合使用带来了革命性的改变,提升了用户体验。
附图说明
60.图1是根据本公开的系统架构的一个实施例的示意图;
61.图2是根据本公开的校准设备及系统的一个实施例的示意图;
62.图3是根据本公开的机器人连杆的一个实施例的示意图;
63.图4是根据本公开的校准设备的连接件的一个实施例的示意图;
64.图5是根据本公开的校准方法的一个实施例的流程图;
65.图6是根据本公开的机器人杆件参数与坐标系的一个实施例的示意图;
66.图7是根据本公开的校准装置的一个实施例的示意图;
67.图8是根据本公开的识别定位装置的一个实施例的示意图;
68.图9是根据本公开的识别定位装置的一个实施例的示意图;
69.图10是根据本公开的识别定位方法的一个实施例的流程图;
70.图11是根据本公开的实时跟踪装置的一个实施例的示意图;
71.图12是根据本公开的识别定位系统的计算机设备的一个实施例的示意图。
72.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
具体实施方式
73.除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开;本公开的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本公开的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
74.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
75.为了使本技术领域的人员更好地理解本公开方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
76.[系统结构]
[0077]
首先,说明本公开的一个实施例的系统的结构。如图1所示,系统结构100可以包括终端设备101、102、103、104,网络105和服务器106、机器人107。网络105用以在终端设备101、102、103、104和服务器106、机器人107之间提供通信链路的介质。
[0078]
在本实施例中,虚拟装修方法运行于其上的电子设备(例如图1所示的终端设备101、102、103或104)可以通过网络105进行各种信息的传输。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。需要指出的是,上述无线连接方式可以包括但不限于3g/4g/5g连接、wi-fi连接、蓝牙连接、wimax连接、zigbee连接、uwb连接、局域网(“lan”)、广域网(“wan”)、网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络)以及其他现在已知或将来开发的网络连接方式。网络105可以利用诸如http(hyper text transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。
[0079]
用户可以使用终端设备101、102、103、104通过网络105与服务器106、机器人107交互,以接收或发送消息等。终端设备101、102、103或104上可以安装有各种客户端应用,例如视频直播与播放类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0080]
终端设备101、102、103或104可以是具有触摸显示屏和/或支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3(动态影像专家压缩标准音频层面3)播放器、mp4(动态影像专家压缩标准音频层面4)播放器、头戴式显示设备、笔记本电脑、数字广播接收器、pda(个人数字助理)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等。
[0081]
服务器106可以是提供各种服务的服务器,例如对终端设备101、102、103或104上显示的页面或传输的数据提供支持的后台服务器。
[0082]
机器人107将在后面详细描述。
[0083]
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0084]
这里,终端设备可以独立或通过与其他电子终端设备配合运行各类操作系统例如安卓系统中的应用实现本公开的实施例方法,也可以运行其他操作系统中的应用例如ios系统、windows系统、鸿蒙系统等的应用实现本公开的实施例方法。
[0085]
[校准设备及系统]
[0086]
为了实现本公开实施例中的技术方案,本公开的一个实施例提供了一种校准设备及系统,如图2所示,包括:测量臂201、连接件202、校准单元203、机器人204(机器人107)。
[0087]
机器人204(机器人107),用于在预设数量的位置点进行移动以获得第一坐标;
[0088]
这里,在一个或多个实施例中,预设数量的位置点例如为40个位置点,并使机器人204的工具末端分别在这40个位置点分别保持例如1秒静止以分别记录在该位置点的第一坐标。预设数量的位置点例如通过使机器人204的工具末端移动而获得。当然,预设数量也可以是其他任意数量,例如20个位置点等,数量并不做限定。这里,位置点可以由人工做记
录进行确定,当然也可以通过标定软件自动生成标定测量位置点。
[0089]
在一个或多个实施例中,机器人204包括至少一个关节点,如图3所示,是根据本公开的机器人连杆的一个实施例的示意图。
[0090]
参考图3,机器人的各连杆通过关节连接在一起,按从机座到末端执行器的顺序,由低到高依次为各关节点和各连杆编号。例如,机座的编号为杆件0,与机座相连的连杆编号为杆件1,依此类推。机座与连杆1的关节点的编号为关节1,连杆1与连杆2的连接关节点的编号为2,依此类推。各连杆的坐标系z轴方向与关节轴线重合(对于移动关节,z轴线沿此关节移动方向)。末端探针的坐标系根据探针的安装方向固定在末端执行器上。
[0091]
任何杆件都可以用两个尺度表征,杆件的长度是杆件上两个关节轴线的最短距离;杆件的扭转角,是两个关节轴线的夹角。
[0092]
通常,在每个关节轴线上连接有两根杆件,每个杆件各有一根和轴线垂直的法线。两个杆件的相对位置有两杆间的距离(关节轴上两个法线的距离)和夹角(关节轴上两个法线的夹角)确定。
[0093]
例如存在一种为关节链中的每一个杆件建立附体坐标系的矩阵方法来描述相邻杆件间平移和转动的关系。例如,d-h方法是为每个关节处的杆件坐标系建立齐次变换矩阵,表示它与前一杆件坐标系的关系。
[0094]
测量臂201,用于与机器人204连接,并随着机器人204的位置的变化被动变化以获得第二坐标;
[0095]
在一个或多个实施例中,测量臂201例如为精密测量臂,包括至少一个关节点,测量精度至少为5微米。测量臂201作为测量设备精度超过激光跟踪仪,并且作为小型接触式测量设备,体积较小,方便携带便于运输,方便在工业现场进行部署。测量臂201本身没有驱动电机,测量法兰与机器人204连接后可根据机器人204的末端位置的变化被动跟随其变化,并输出测量位置的第二坐标。
[0096]
连接件202,用于连接机器人204的末端与测量臂201的末端;
[0097]
如图4所示,是根据本公开的校准设备的连接件的一个实施例的示意图。所述连接件包括筒部401和连接部402,筒部401与机器人204的末端连接,连接部402与测量臂201的末端连接。其中,连接部402为半圆环形,半圆环形的两端与筒部401固定连接。这里,连接件202作为机器人工具末端连接装置,同样为精密加工连接件,可将机器人工具末端和测量臂的末端进行连接。可适配常规的工业机器人生产工具,比如焊枪末端。
[0098]
校准单元203,用于根据第一坐标与第二坐标对机器人204的校准参数和/或工具末端中心点进行校准。校准单元203例如为工业电脑运行的标定软件,从机器人204和测量臂201获取测量位置信息即第一坐标和第二坐标,来计算测量结果和标定结果。
[0099]
校准单元203校准标定机器人的方法或工作流程将在下面详细描述。
[0100]
这里,在一个或多个实施例中,校准参数至少包括关节零点补偿值、关节臂长补偿值、关节减速比补偿值、关节耦合比补偿值、工具末端中心点补偿值之一。
[0101]
这里,对上述校准参数的内容解释如下:
[0102]
关节零点:例如机器人设置有多个关节,但是每个关节运动过程中均会存在一个起始零点位置,以往的零点位置为机器人厂商在关节的旋转部件上画刻线,当两条刻线对齐即认为是当前关节零点。但是人眼睛对刻度的判断总会产生误差,导致零点不准并导致
机器人精度丢失/下降。
[0103]
关节臂长:例如针对任何一款机器人,关节臂长属于几何特定属性,必须针对每个规格和类型的机器人有确切数值。但是加工装配过程中可能会导致臂长不准,也会导致机器人精度丢失/下降。
[0104]
关节减速比/欧赫比:每个关节都有减速比,如果将这个比值弄错,则会导致机器人精度丢失/下降。
[0105]
工具tcp:tool center point,工具中心点,为机器人末端法兰上安装固定工具的几何尺寸值,该值在软件模型和实物上往往存在偏差,因此需要进行补偿,否则会导致机器人精度丢失/下降。
[0106]
通过算法计算新的以上数值,对软件模型的坐标系进行修正,以达到使软件模型趋近硬件模型的结果,从而提高机器人系统精度。
[0107]
在一个或多个实施例中,机器人校准系统在校准完成后通过预设数量绕点位置对所述机器人的绕点精度进行评估。预设数量同样并不做限定,可以是20个绕点位置,也可以是40个绕点位置。一般标定后机器人绕点精度能达到1mm以内,优选0.5mm以内。
[0108]
本公开的校准设备及系统解决了目前激光跟踪仪使用复杂、价格昂贵,20点法标定流程繁琐、精度不可靠的问题,设计了一种精度不亚于,甚至高于激光跟踪仪的测量系统。该校准设备及系统的主要特点是,将小型精密测量臂相对于机器人底座固定摆放,将机器人工机具末端和小型测量臂的法兰相连接,机器人拖动测量臂在其测量范围内随意运动若干位置,利用机器人的理论位置和测量臂输出的实际位置,标定机器人的杆长参数、零位位置和工具末端中心点。同时,该系统也有测量的属性,控制机器人绕末端旋转,该装置能够测量机器人旋转时工具末端的位置变化,以此测量结果评定机器人绕点精度。
[0109]
另外,作为一种精密测量设备,本公开的校准设备及系统易于安装固定和拆卸,校准设备及系统整体设计有多重固定方式,可以固定在多种工作平面上,并且易于更换位置。
[0110]
本公开的校准设备及系统的优点还在于:机构稳定、方便携带、能保证设备的高精度、高响应速度。本公开的校准设备及系统对机器人的校准测量带来了革命性的改变。
[0111]
相较于现有技术,本公开的校准设备及系统的创造点还在于:
[0112]
创造点1,使用精密测量臂代替激光跟踪仪获得测量数据,方便携带,易于现场部署;
[0113]
创造点2,连接件考虑了通用机器人工具的适配性,可同时标定机器人机构参数和工具末端位置。
[0114]
[校准方法]
[0115]
参考图5,示出了根据本公开的校准方法的一个实施例的流程图。所述校准方法,包括:
[0116]
s51,获取被校准对象在第一坐标系中预设数量的位置点的第一坐标;这里,被校准对象例如为上述校准系统中的机器人204。这里,第一坐标系例如为当前机器人204的初始的工具坐标系。
[0117]
在一个或多个实施例中,控制机器人204的末端位置,保证其在测量臂201测量的中心位置附近,然后以当前位置为中心,对姿态进行旋转,首次例如可以通过人工记录20个或其他数量个标定位置,当然也可以通过标定软件自动生成20个或其他数量个标定测量位
置。
[0118]
在一个或多个实施例中,在步骤s51之前,例如先使用机器人204自带的4点法或者6点法,标定一个初始的工具坐标系,以保证机器人204在绕点旋转时其工具末端不会发生过大范围的移动,通常来说,经过机器人系统自带的工具标定之后,机器人绕点精度能在例如50mm以内,优选30mm以内,此步骤的作用是防止机器人204在标定过程中运动范围超过测量臂201的测量范围导致测量臂201被拉扯损坏。
[0119]
在一个或多个实施例中,在步骤s51之前,例如还包括通过连接件202将机器人204的末端与测量臂201的末端的法兰连接。
[0120]
s52,获取校准工具在第二坐标系中预设数量的位置点的第二坐标;这里,校准工具例如为上述校准系统中的测量臂201,通过控制机器人204运行上述确定的例如20个标定位置,测量臂201被动运动,在每个位置点采集机器人204的关节位置和测量臂输出的实际测量位置。
[0121]
在一个或多个实施例中,被校准对象即机器人204包括至少一个关节点,第二坐标系包括至少一个并分别与至少一个关节点对应。关于关节点的描述请参考上述图3的描述,这里不再赘述。
[0122]
s53,根据第一坐标与第二坐标对被校准对象的校准参数和/或工具末端中心点进行校准。
[0123]
在一个或多个实施例中,校准参数至少包括上述关节零点补偿值、关节臂长补偿值、关节减速比补偿值、关节耦合比补偿值、工具末端中心点补偿值等参数。
[0124]
这里,在一个或多个实施例中,其中,基于预设模型获取误差向量以获取校准参数,预设模型至少基于正向运动学模型和误差模型获取误差向量,其中,误差向量例如为第二坐标系相对于所述第一坐标系的偏差。
[0125]
在一个或多个实施例中,根据正向运动学模型确定被校准对象例如机器人204末端的位置的第一坐标;
[0126]
确定校准工具例如测量臂201末端的位置的第二坐标;
[0127]
根据预设数量的位置点的第一坐标和第二坐标,利用最小二乘算法进行标定。
[0128]
如图6所示,是根据本公开的机器人杆件参数与坐标系的一个实施例的示意图;
[0129]
根据上述图3中对杆件参数及坐标系的定义,描述串联机器人相邻坐标系之间的关节关系可归结为如下4个参数:
[0130]
θi:绕z
i-1
轴(右手规则)由x
i-1
轴向xi轴的关节角;
[0131]di
:从第i-1坐标系到z
i-1
轴和xi轴的交点沿z
i-1
轴的距离;
[0132]ai
:从z
i-1
和xi的交点到第i坐标系远点沿xi轴的偏置距离(或者说,是z
i-1
和zi两轴的最小距离);
[0133]
αi:绕xi轴(右手规则)由z
i-1
轴转向zi轴的偏角。
[0134]
对于转动关节ai、αi和di是关节参数,θi是关节变量。移动关节αi、θi和ai是关节参数,di是关节变量。
[0135]
将第i个坐标系表示的点ri在i-1坐标系表示,需要建立i坐标系和i-1坐标系的齐次变换矩阵,因而需要经过以下的变换:
[0136]
1)将坐标系o
i-1
x
i-1yi-1zi-1
绕z
i-1
轴转θi角,使x
i-1
轴与xi轴平行并指向同一方向;
[0137]
2)将坐标系o
i-1
x
i-1yi-1zi-1
沿z
i-1
轴平移距离di,使x
i-1
轴与oixiyizi的xi轴重合;
[0138]
3)将坐标系o
i-1
x
i-1yi-1zi-1
沿x
i-1
轴平移距离ai,使两坐标系的原点重合;
[0139]
4)将坐标系o
i-1
x
i-1yi-1zi-1
绕x
i-1
轴转角αi,使两坐标系完全重合。
[0140]
从而,i坐标系的齐次变换矩阵
i-1ai
可以根据矩阵的合成规则得到,
i-1ai
称为相邻坐标系i和i-1的d-h变换矩阵。即:
[0141][0142]
对于第i坐标系中的点ri在第i-1坐标系中表示为:
[0143]ri-1

i-1airi
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0144]
确定第i坐标系相对于基座坐标系的位置的齐次变换矩阵0ti是各齐次变换矩阵
i-1ai
的连乘积,可表示成:
[0145][0146]
式中,[n
i o
i ai]是固定在杆件i上的第i个坐标系的姿态矩阵,pi是有基座坐标系原点指向第i个坐标系原点的位置矢量。特别当i=6时,求的t矩阵,0t6=0a6,它确定了机械手末端相对于基座坐标系的位置和姿态。
[0147]
根据前面介绍的方法,欲研究机器人运动学首先应建立机器人各杆件的构件坐标系,从而得出齐次坐标变换矩阵
i-1ai

i-1ai
能描述连杆坐标系之间相对平移和旋转的齐次变换。0a1描述第一个连杆对于机身的位姿,1a2描述第二个连杆坐标系相对于第一个连杆坐标系的位姿。如果已知一点在最末一个坐标系(如n坐标系)的坐标,要把它表示成前一个坐标系(如n

1)的坐标,那么齐次坐标变换矩阵为
n-1an
。依此类推,可知此点到基础坐标系的齐次坐标变换矩阵为:
[0148]0a
11a22
a3…
n-2a1n-1an
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0149]
若有一个六连杆机器人,机器人末端执行器坐标系(即连杆坐标系6)的坐标相对于连杆i

1坐标系的齐次变换矩阵,用i–1t6表示,即
[0150]
i-1
t6=
i-1ai
…4a
55
a6ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0151]
机器人末端执行器相对于机身坐标系的齐次变换矩阵为
[0152]ot6=0a
11
a2…4a
55
a6ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0153]
考虑每个关节的误差ε和工具坐标系t
tcp
,使用正向运动学机器人末端位置姿态可以表示为:
[0154]ot6=0a
11
a2(ε2)
…4a5(ε5)5a6t
tcp
(x,y,z)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0155]
其中6轴关节误差ε6可由t
tcp
(x,y,z)体现,故该参数可以省去。1轴关节误差ε1由测量臂与机器人相对关系有关,故也可以省去。影响机器人精度的未知数为ε2、ε3、ε4、ε5、ε5及工具坐标系的x、y、z。
[0156]
假设测量臂基座位置和机器人基座位置相对关系为tm(xm,ym,zm,θm),xm,ym,zm,θm为未知参数,测量臂测量输出数据为pi,则测量臂末端相对于机器人基座的位置为
[0157]
0t6=tm(xm,ym,zm,θm)
·
piꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0158]
由于机器人末端与测量臂末端位置重合,因此将公式7和公式8联立,即可获得公式9:
[0159]0a
11
a2(ε2)
…4a5(ε5)5a6t
tcp
(x,y,z)=tm(xm,ym,zm,θm)
·
piꢀꢀꢀꢀ
(9)
[0160]
代入20组测量臂本身测量输出的数据,利用最小二乘算法即可求得所有的未知数:ε2、ε3、ε4、ε5、ε5、x、y、z、xm、ym、zm、θm,其中前7个参数可以用来修正机器人坐标系2-5轴零位位置和工具坐标系,即完成标定过程。
[0161]
在一个或多个实施例中,本公开的校准方法还包括,对校准标定后的被校准对象例如机器人204采集预设数量例如20个的绕点位置对被校准对象例如机器人204的绕点精度进行评估。
[0162]
相较于现有技术,本公开的校准方法的创造点还在于:
[0163]
创造点1,校准方法代替了人工对针尖点的繁琐工作,可自动生成测量采样点,利用测量臂本身的测量范围对自动生成位置进行自适应,全程不需要人工参与。
[0164]
创造点2,可对标定前后的机器人绕点精度进行绝对位置测量,评定标定前后机器人的绕点精度。
[0165]
[校准装置及设备]
[0166]
为了实现本公开实施例中的技术方案,本公开的一个实施例提供了一种校准装置,如图7所示,校准装置包括坐标获取模块701、校准模块702。
[0167]
坐标获取模块701,用于获取被校准对象在第一坐标系中预设数量的位置点的第一坐标,以及获取校准工具在第二坐标系中所述预设数量的位置点的第二坐标;
[0168]
校准模块702,用于根据所述第一坐标与所述第二坐标对所述被校准对象的校准参数和/或工具末端中心点进行校准。
[0169]
这里,坐标获取模块701、校准模块702的具体功能例如可参见上述校准方法中的相应描述,这里不再赘述。
[0170]
在一个或多个实施例中,本公开还提供了一种校准设备,其特征在于,包括:如前所述的校准装置;
[0171]
校准工具,例如为测量臂201,用于根据所述被校准对象位置变化以获得所述第二坐标;
[0172]
连接件202,用于将被校准对象机器人204的末端与校准工具测量臂201的末端连接。
[0173]
这里,校准设备实现校准方法的方式、步骤、功能等例如可参见上述校准方法中的相应描述,这里不再赘述。
[0174]
[识别定位装置及系统]
[0175]
为了实现本公开实施例中的技术方案,本公开的一个实施例提供了一种识别定位装置,如图8所示,包括:
[0176]
光发射单元802,用于发射线结构光;这里,光发射单元802例如为激光器。
[0177]
光反射单元801,与光发射单元802相对,用于将线结构光反射至待处理对象。
[0178]
在一个或多个实施例中,光反射单元801设置有转轴和振镜,振镜能够绕转轴旋转,以使反射光面扫过待处理对象并与待处理对象相交得到交线。
[0179]
在一个或多个实施例中,振镜沿转轴对称,光发射单元发出的线结构光平面穿过振镜的对称轴。当然,振镜也可以一侧沿转轴转动,只要能够实现光反射单元801与光发射单元802相对的方式均可以。
[0180]
在一个或多个实施例中,光反射单元801还包括驱动,以通过编程控制振镜的旋转角度。
[0181]
拍摄单元803,用于拍摄待处理对象的图像;
[0182]
在一个或多个实施例中,拍摄单元803可以包括光学传感器,用于获得与待处理对象的距离。
[0183]
识别定位单元(图8未示出),用于获得图像中的每个像素位置在模型下的三维位置点云并对点云进行分割获得点云的平面特征信息和/或交线特征信息以识别和/或定位待处理对象。识别定位单元的功能将在下面详细描述。
[0184]
在一个或多个实施例中,识别定位装置还包括壳体804,用于容纳光发射单元802、光反射单元801与拍摄单元803。
[0185]
为了解决本公开的问题,本公开的技术方案还提供了一种识别定位系统,包括:前述的识别定位装置;
[0186]
机器人204,其末端安装有识别定位装置,控制识别定位装置从不同的角度和位置拍摄坐标点已知的标定板,获得传感器坐标系与机器人坐标系的转换关系。
[0187]
在一个或多个实施例中,识别定位装置设置于机器人的焊枪上,通过控制振镜旋转获取焊缝的三维点云信息,识别出焊缝的起始结束位置。
[0188]
如图9所示,是根据本公开的识别定位装置的另一个实施例的示意图;识别定位装置,包括:建模标定模块901、图像获取模块902、识别定位模块903。
[0189]
建模标定模块901,用于建立模型并进行标定;
[0190]
在一个或多个实施例中,模型包括线结构光模型,对模型的装置进行标定包括,建立线结构光测量的数学模型,对线结构光模型装置例如为拍摄单元803的内外参数和光平面信息进行标定,得到线结构光模型装置的内外参数信息。
[0191]
首先,根据小孔成像透视变换模型,考虑透镜的畸变,建立拍摄单元803的线结构光模型。其中
[0192][0193]
其中,参数f、kx、ky、u0、v0、a1、a2、a4、a5、a7、a8、b
x
、by、bz为拍摄单元803模型的内参数和外参数,且上述的两个内参数kx、ky是已知的,其他的几个参数f、u0、v0、a1、a2、a4、a5、a7、a8、b
x
、by、bz利用张正友标定法对拍摄单元803进行标定,得到确定被测点三维世界坐标所必须的上述拍摄单元803内外参数。被测点在世界坐标系中x与y坐标的计算公式:
[0194]
其中,
[0195][0196][0197]
x=fkxa1+a7u0[0198]
y=fkxa2+a8u0[0199]
z=fkxb
x
+bzu0[0200]
u=fkya4+a7v0[0201]
v=fkya5+a8v0[0202]
w=fkyby+bzv0[0203]
式中,u、v表示被测点在拍摄单元803中的像面坐标,可直接从拍摄单元拍得的图像获得;x,y,z,u,v,w为求得公式的中间变量。
[0204]
在一个或多个实施例中,对线结构光模型的光平面例如为激光平面进行标定校准,获得初始反射光面与靶面的夹角以及其计算公式(见下方)。这里,标定校准例如通过上述校准方法、装置和设备、系统,这里不再赘述。
[0205][0206]
其中,p0、q0为可求已知量,标定校准后可以确定,求得这两个参数是标定的核心;表示每次光反射单元801中的振镜由上一位置转过δα角度到达当前位置时,转动前后两反射光平面之间的夹角,等于2δα,是一已知参数;δα为光反射单元801中的振镜每转动一次转过的角度,例如由光反射单元801中的振镜驱动器来控制;γ为初始反射光面与靶面的夹角,标定后可以确定。
[0207]
在一个或多个实施例中,模型还包括坐标转换模型,对模型的装置进行标定还包括,对坐标转换模型装置进行标定,获得线结构光模型装置的坐标系与世界坐标系的转换关系。例如进行手眼系统标定,就是将传感器固定在机器人204的末端例如在焊枪上,从不同的角度和位置拍摄坐标点已知的标定板,获得传感器坐标系到机器人坐标系的转换关系。
[0208]
在一个或多个实施例中,获取光反射单元801中的振镜从初始位置转动了i次后(即转过δα
×
i角度时(i=1,2,3

))反射光面与靶面的夹角的计算公式。γ为公式

;i为光反射单元801中的振镜从初始位置开始转动,每次转过δα(见公式

的说明)角度所一共
转动的次数,是已知的;θi为光反射单元801中的振镜从初始位置转动了i次后(即转过δα
×
i角度时)反射光面与靶面的夹角,由标定结果和已知量i可以确定。
[0209]
θi=γ+iφ
……………………………②
[0210]
获取光反射单元801中的振镜从初始位置转动了i次后,反射光面与靶标的交线在世界坐标系中的y坐标的计算公式。y1为初始反射光面与靶面的交线在世界坐标系中的y坐标,是在标定过程中确定的;m0、n0见公式

中的说明;γ为公式

;θi为公式

;yi为光反射单元801中的振镜从初始位置转动i次后,反射光面与靶标的交线在世界坐标系中的y坐标,由标定结果和已知量i可以确定。
[0211][0212]
其中,获取被测点在世界坐标系中z坐标的计算公式,也是本公开装置确定被测点三维世界坐标的关键。
[0213]zp
=(y
i-y
p
)tanθi………………………④
[0214]
随着上述的光反射单元801中的振镜的转动,反射光面扫过被测物体并与被测物体相交得到一条条的光条,所有这些光条上的点,在世界坐标系中的三维坐标(x,y,z)就是反映被测物体的全部三维信息。对大尺寸物体可以对物体的每个小部分进行以上的测量,再利用现有的数据拼合技术将各个小部分的数据拼合,就能得到整个被测物体的三维信息,实现大尺寸工件高精度的自扫描测量。
[0215]
图像获取模块902,用于获取待处理对象的图像;
[0216]
在一个或多个实施例中,使用机器人204调整拍照位置,机器人204静止后,利用自扫描功能对典型工件的焊缝进行拍照测量。
[0217]
识别定位模块903,用于获得图像中的每个像素位置在模型下的三维位置点云,并对点云进行分割获得点云的平面特征信息和/或交线特征信息以识别和/或定位待处理对象。
[0218]
在一个或多个实施例中,待处理对象为焊缝,线结构光模型装置包括光学传感器,坐标转换模型装置例如包括机器人。
[0219]
在一个或多个实施例中,利用标定好的线结构光数学模型和三角成像法,获得每个像素位置在传感器坐标系下的三维位置点云。利用手眼系统将三维点云转化到机器人坐标系。通常由于传感器测量视场较小,需要变换机器人的位置和姿态,对待焊工件进行多次不同位置测量后,以全方位覆盖被拍摄工件。所拍摄图像的点云,需要借助机器人的拍照位置进行点云拼接,然后进行全局优化,获得完整的点云模型。
[0220]
在一个或多个实施例中,对点云模型进行基于区域生长的分割获得点云平面特征信息和交线特征信息。根据点的曲率值对点云进行排序,根据排序顺序确定种子点并加入到种子点序列中,获得各个平面的方程。其中,曲率最小的点叫做初始种子点。
[0221]
在一个或多个实施例中,根据排序顺序确定种子点并加入到种子点序列中,包括,确定好初始种子点,将初始种子点加入种子点序列q中,并搜索该种子点的邻域点,计算每一个邻域点法线与种子点法线之间的夹角,若夹角小于设定的平滑阈值时,将邻域点加入到队列中,同时判断队列中的该邻域点的曲率值是否小于曲率阈值,若小于则将小于曲率阈值的邻域点加入种子点序列q中。
[0222]
在一个或多个实施例中,在邻域点都判断完成后,删除当前初始种子点,在种子点序列q中重新选择新的初始种子点重复上述步骤,直到种子点序列q中的序列为空,则一个区域生长完成,将该区域加入聚类数组l中。利用曲率值从小到大排序,顺序选择输入点集的点作为种子点加入到种子点序列中,重复以上生长的步骤,获得各个平面的方程。各个平面之间的交线即为焊缝信息,提取每条焊缝的起始结束信息,规划机器人的焊接轨迹。
[0223]
相较于现有技术,本公开的识别定位装置、系统的创造点还在于:
[0224]
创造点1,使用例如可编程的振镜控制光平面,自扫描过程中不借助机器人本身位置精度,扫描测量精度高,抗干扰能力强;
[0225]
创造点2,利用丰富的点云信息可完成对复杂焊缝的识别和提取;数据量远超同类单线或者单点激光传感器。
[0226]
应该理解的是,虽然附图的框图中的每个方框可以代表一个模块,该模块的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令,但是这些模块并不是必然按照顺序依次执行。本公开中装置实施例中的各模块及功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上的模块或功能单元集成在一个模块中。上述集成的各个模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0227]
[识别定位方法]
[0228]
参考图10,示出了根据本公开的识别定位方法的一个实施例的流程图。所述识别定位方法,包括以下步骤:
[0229]
s101,建立模型并对模型的装置进行标定;
[0230]
在一个或多个实施例中,模型包括线结构光模型,对模型的装置进行标定包括,建立线结构光测量的数学模型,对线结构光模型装置例如为拍摄单元的内外参数和光平面信息进行标定,得到线结构光模型装置的内外参数信息。
[0231]
在一个或多个实施例中,对线结构光模型的光平面例如为激光平面进行标定校准,获得初始反射光面与靶面的夹角以及其计算公式(见下方)。这里,标定校准例如通过上述校准方法、装置和设备、系统,这里不再赘述。
[0232]
在一个或多个实施例中,模型还包括坐标转换模型,对模型的装置进行标定还包括,对坐标转换模型装置进行标定,获得线结构光模型装置的坐标系与世界坐标系的转换关系。这里,坐标转换模型的装置标定方式可参见上述识别定位装置及系统中的相应模块描述,这里不再赘述。
[0233]
s102,获取待处理对象的图像;
[0234]
在一个或多个实施例中,使用机器人204调整拍照位置,机器人204静止后,利用自扫描功能对典型工件的焊缝进行拍照测量。
[0235]
s103,获得图像中的每个像素位置在模型下的三维位置点云;
[0236]
在一个或多个实施例中,获得图像中的每个像素位置在模型下的三维位置点云,包括,在不同位置获取待处理对象的图像,并获得不同位置的图像的点云进行拼接,获得待处理对象的完整的点云模型。
[0237]
在一个或多个实施例中,待处理对象为焊缝,线结构光模型装置包括光学传感器,坐标转换模型装置例如包括机器人。
[0238]
s104,对点云进行分割获得点云的平面特征信息和/或交线特征信息以识别和/或定位待处理对象。
[0239]
在一个或多个实施例中,对点云进行分割,包括,根据点的曲率值对点云进行排序,根据排序顺序确定种子点并加入到种子点序列中,获得各个平面的方程。
[0240]
在一个或多个实施例中,根据排序顺序确定种子点并加入到种子点序列中,包括,
[0241]
确定曲率值最小的点作为初始种子点;
[0242]
将初始种子点加入种子点序列中,并搜索初始种子点的邻域点;
[0243]
计算每一个邻域点法线与初始种子点法线之间的夹角;
[0244]
若夹角小于预设的平滑阈值,则将邻域点加入队列中;
[0245]
判断所述队列中邻域点的曲率值是否小于曲率阈值;
[0246]
若小于则将邻域点加入种子点序列中。
[0247]
在一个或多个实施例中,根据排序顺序确定种子点并加入到种子点序列中,还包括,
[0248]
在邻域点全部判断完成后,删除初始种子点;
[0249]
在种子点序列中重新选择新的初始种子点并重复前述的步骤,直到种子点序列为空,则一个区域生长完成,将区域加入聚类数组中。
[0250]
在一个或多个实施例中,例如待处理对象为焊缝,线结构光模型装置包括光学传感器,坐标转换模型装置包括机器人;
[0251]
在一个或多个实施例中,识别定位方法包括:标定拍摄单元的光学传感器的内外参数和光平面信息;标定机器人204;使用机器人204调整位置后获取焊缝的图像;获得图像中的每个像素位置在传感器坐标系下的三维位置点云;对点云进行分割获得点云的平面特征信息和/或交线特征信息以识别和/或定位焊缝。
[0252]
在一个或多个实施例中,标定机器人的步骤还包括,将传感器固定在机器人末端,从不同的角度和位置拍摄坐标点已知的标定板,获得传感器坐标系与机器人坐标系的转换关系。
[0253]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0254]
[实时跟踪装置及系统]
[0255]
下面参考图11,其示出了适于用来实现本公开一个实施例的实时跟踪装置的示意图,其示出的装置或设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0256]
在一个或多个实施例中,上述识别定位装置及系统运行自动扫描识别寻位模式,例如将该识别定位装置及系统安装在机器人204末端(一般是固定在焊枪上),控制机器人
204的末端移动到焊缝起始处,机器人204保持静止不动,控制光反射单元801中的振镜旋转获取工件的三维点云信息,识别出焊缝的起始结束位置。然后规划焊接机器人焊接轨迹。
[0257]
在一个或多个实施例中,上述识别定位装置及系统还可以作为实时跟踪装置及系统运行实时跟踪模式,在激光平面固定后对焊缝进行跟踪,参加图11,实时跟踪装置及系统包括光发射单元1102(802)、光反射单元801中的振镜1101、拍摄单元803的传感器1103。
[0258]
将该装置安装在机器人204末端例如固定在焊枪上,在上个模式生成焊接轨迹之后,将光反射单元801中的振镜1101维持在一个固定的角度此时传感器1103只能测量一条激光交线的位置信息,可在机器人204焊接过程中随着机器人204的运动采集焊缝的实时位置,传输给机器人204完成激光焊缝跟踪的功能。固定的角度需要考虑实际安装后传感器测量距离,保证激光线投射的位置和拍摄单元的主光轴保持大致同一方位,方位可以允许存在误差,但是固定之后就不能随便改变。
[0259]
在一个或多个实施例中,实时跟踪装置包括:位置采集模块、交线固定模块、修正模块。
[0260]
位置采集模块,用于采集待处理对象例如焊缝的实时位置;位置采集模块例如在机器人204焊接过程中随着机器人204的运动采集焊缝的实时位置,传输给机器人204完成激光焊缝跟踪的功能。
[0261]
如上述的识别定位装置,用于在上个模式生成焊接轨迹;
[0262]
交线固定模块,用于固定识别定位方法所确定的交线的位置,例如将光反射单元801中的振镜1101维持在一个固定的角度此时传感器1103只能测量一条激光交线的位置信息。
[0263]
修正模块,用于修正交线的位置以与待处理对象例如焊缝的实时位置一致。
[0264]
在一个或多个实施例中,本公开提供了一种实时跟踪系统,包括:
[0265]
上述识别定位系统,其中,光反射单元802维持在预设角度,以确定交线的位置;
[0266]
位置采集模块,用于采集待处理对象的实时位置;位置采集模块例如在机器人204焊接过程中随着机器人204的运动采集焊缝的实时位置,传输给机器人204完成激光焊缝跟踪的功能。
[0267]
修正模块,用于修正交线的位置以与待处理对象的实时位置一致。
[0268]
在一个或多个实施例中,预设角度例如固定的角度使得线结构光投射的位置与拍摄单元的主光轴保持大致同一方位。
[0269]
在一个或多个实施例中,将该传感器1103固定在焊枪上之后,随着机器人204焊接运动,传感器1103采集焊缝的位置并实时传递给机器人204,通过手眼换算到机器人坐标系下的点,然后修正机器人的运动轨迹以保证焊枪一直沿着焊缝中心运动。
[0270]
相较于现有技术,本公开的实时跟踪装置、系统的创造点还在于:
[0271]
固定振镜1101的角度后将传感器1103复用为激光焊缝跟踪传感器,巧妙的使用了其本身的测量原理完成焊缝焊接中实时跟踪的功能,保证整体体积小巧,方便安装及使用。
[0272]
[实时跟踪方法]
[0273]
为了解决上述技术问题,在一个或多个实施例中,本公开提供了一种实时跟踪方法,包括:采集待处理对象例如焊缝的实时位置;采用上述的识别定位方法确定焊缝轨迹;固定识别定位方法所确定的交线的位置,例如将光反射单元801中的振镜1101维持在一个
固定的角度此时传感器1103只能测量一条激光交线的位置信息。
[0274]
修正交线的位置以与待处理对象例如焊缝的实时位置保持一致。将该传感器1103固定在焊枪上之后,随着机器人204焊接运动,传感器1103采集焊缝的位置并实时传递给机器人204,通过手眼换算到机器人坐标系下的点,然后修正机器人的运动轨迹以保证焊枪一直沿着焊缝中心运动。
[0275]
[计算机设备]
[0276]
下面参考图12,其示出了适于用来实现本公开实施例的计算机设备的结构示意图。本公开实施例中的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0277]
如图12所示,电子设备1200可以包括处理装置(例如中央处理器、图形处理器等)1201,用于控制电子设备的整体操作。处理装置可以包括一个或多个处理器来执行指令,以完成上述的方法的全部或部分步骤。此外,处理装置1201还可以包括一个或多个模块,用于处理和其他装置之间的交互。
[0278]
存储装置1202用于存储各种类型的数据,存储装置1202可以是包括各种类型的计算机可读存储介质或者它们的组合,例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0279]
传感器装置1203,用于感受规定的被测量的信息并按照一定的规律转换成可用输出信号,可以包括一个或多个传感器。例如,其可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器等,用于检测电子设备的打开/关闭状态、相对定位、加速/减速、温度、湿度和光线等的变化。
[0280]
处理装置1201、存储装置1202以及传感器装置1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。
[0281]
多媒体装置1206可以包括触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置用以接收来自用户的输入信号,在各种输入装置可以与上述传感器装置1203的各种传感器配合完成例如手势操作输入、图像识别输入、距离检测输入等;多媒体装置1206还可以包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置。
[0282]
电源装置1207,用于为电子设备中的各种装置提供电力,可以包括电源管理系统、一个或多个电源及为其他装置分配电力的组件。
[0283]
通信装置1208,可以允许电子设备1200与其他设备进行无线或有线通信以交换数据。
[0284]
上述各项装置也均可以连接至i/o接口1205以实现电子设备1200的应用。
[0285]
虽然图中示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0286]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机
软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
[0287]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。
[0288]
要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0289]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0290]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0291]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0292]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
[0293]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0294]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,包括:
[0295]
建立模型并对所述模型的装置进行标定;
[0296]
获取待处理对象的图像;
[0297]
获得所述图像中的每个像素位置在所述模型下的三维位置点云;
[0298]
对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
[0299]
根据本公开的一个或多个实施例,提供了识别定位方法,其特征在于,
[0300]
所述模型包括线结构光模型,所述对所述模型的装置进行标定包括,对线结构光模型装置进行标定,得到所述线结构光模型装置的内外参数。
[0301]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,还包括,
[0302]
对所述线结构光模型的光平面进行标定,获得初始反射光面与靶面的夹角。
[0303]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,
[0304]
所述模型还包括坐标转换模型,所述对所述模型的装置进行标定还包括,对坐标转换模型装置进行标定,获得所述线结构光模型装置的坐标系与世界坐标系的转换关系。
[0305]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,所述获得所述图像中的每个像素位置在所述模型下的三维位置点云,包括,
[0306]
在不同位置获取所述待处理对象的图像,并获得不同位置的所述图像的所述点云进行拼接,获得所述待处理对象的完整的点云模型。
[0307]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,所述对所述点云进行分割,包括,
[0308]
根据点的曲率值对所述点云进行排序,根据排序顺序确定种子点并加入到种子点序列中,获得各个平面的方程。
[0309]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,所述根据排序顺序确定种子点并加入到种子点序列中,包括,
[0310]
确定曲率值最小的点作为初始种子点;
[0311]
将所述初始种子点加入所述种子点序列中,并搜索所述初始种子点的邻域点;
[0312]
计算每一个邻域点法线与所述初始种子点法线之间的夹角;
[0313]
若所述夹角小于预设的平滑阈值,则将所述邻域点加入队列中;
[0314]
判断所述队列中所述邻域点的曲率值是否小于曲率阈值;
[0315]
若小于则将所述邻域点加入所述种子点序列中。
[0316]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,所述根据排序顺序确定种子点并加入到种子点序列中,还包括,
[0317]
在所述邻域点全部判断完成后,删除所述初始种子点;
[0318]
在所述种子点序列中重新选择新的初始种子点并重复权利要求7中的步骤,直到所述种子点序列为空,则一个区域生长完成,将所述区域加入聚类数组中。
[0319]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,
[0320]
所述待处理对象为焊缝,所述线结构光模型装置包括光学传感器,所述坐标转换模型装置包括机器人;
[0321]
所述方法包括:
[0322]
标定所述光学传感器的内外参数和光平面信息;
[0323]
标定所述机器人;
[0324]
使用所述机器人调整位置后获取所述焊缝的图像;
[0325]
获得所述图像中的每个像素位置在所述传感器坐标系下的三维位置点云;
[0326]
对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述焊缝。
[0327]
根据本公开的一个或多个实施例,提供了一种识别定位方法,其特征在于,所述标定所述机器人,包括,
[0328]
将所述传感器固定在所述机器人末端,从不同的角度和位置拍摄坐标点已知的标定板,获得所述传感器坐标系与机器人坐标系的转换关系。
[0329]
根据本公开的一个或多个实施例,提供了一种实时跟踪方法,其特征在于,包括:
[0330]
采集所述待处理对象的实时位置;
[0331]
如前任一项所述的识别定位方法;
[0332]
固定所述识别定位方法所确定的所述交线的位置,
[0333]
修正所述交线的位置以与所述待处理对象的实时位置一致。
[0334]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,包括:
[0335]
建模标定模块,用于建立模型并进行标定;
[0336]
图像获取模块,用于获取待处理对象的图像;
[0337]
识别定位模块,用于获得所述图像中的每个像素位置在所述模型下的三维位置点云,并对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
[0338]
根据本公开的一个或多个实施例,提供了一种实时跟踪装置,其特征在于,包括:
[0339]
位置采集模块,用于采集所述待处理对象的实时位置;
[0340]
如前所述的识别定位装置;
[0341]
交线固定模块,用于固定所述识别定位方法所确定的所述交线的位置,
[0342]
修正模块,用于修正所述交线的位置以与所述待处理对象的实时位置一致。
[0343]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,包括:
[0344]
光发射单元,用于发射线结构光;
[0345]
光反射单元,与所述光发射单元相对,用于将所述线结构光反射至待处理对象;
[0346]
拍摄单元,用于拍摄所述待处理对象的图像;
[0347]
识别定位单元,用于获得所述图像中的每个像素位置在所述模型下的三维位置点云并对所述点云进行分割获得所述点云的平面特征信息和/或交线特征信息以识别和/或定位所述待处理对象。
[0348]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,
[0349]
所述光反射单元设置有转轴和振镜,所述振镜能够绕所述转轴旋转,以使反射光面扫过所述待处理对象并与所述待处理对象相交得到交线。
[0350]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,
[0351]
所述振镜沿所述转轴对称,所述光发射单元发出的所述线结构光平面穿过所述振
镜的对称轴。
[0352]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,
[0353]
所述光反射单元还包括驱动,以通过编程控制所述振镜的旋转角度。
[0354]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,
[0355]
所述拍摄单元包括光学传感器,用于获得与所述待处理对象的距离。
[0356]
根据本公开的一个或多个实施例,提供了一种识别定位装置,其特征在于,还包括,
[0357]
壳体,用于容纳所述光发射单元、所述光反射单元与所述拍摄单元。
[0358]
根据本公开的一个或多个实施例,提供了一种识别定位系统,其特征在于,包括:
[0359]
如前任一项所述的识别定位装置;
[0360]
机器人,其末端安装有所述识别定位装置,控制所述识别定位装置从不同的角度和位置拍摄坐标点已知的标定板,获得所述传感器坐标系与机器人坐标系的转换关系。
[0361]
根据本公开的一个或多个实施例,提供了一种识别定位系统,其特征在于,
[0362]
所述识别定位装置设置于所述机器人的焊枪上,通过控制所述振镜旋转获取焊缝的三维点云信息,识别出所述焊缝的起始结束位置。
[0363]
根据本公开的一个或多个实施例,提供了一种实时跟踪系统,其特征在于,包括:
[0364]
如前所述的识别定位系统,其中,所述光反射单元维持在预设角度,以确定所述交线的位置;
[0365]
位置采集模块,用于采集所述待处理对象的实时位置;
[0366]
修正模块,用于修正所述交线的位置以与所述待处理对象的实时位置一致。
[0367]
根据本公开的一个或多个实施例,提供了一种实时跟踪系统,其特征在于,
[0368]
所述预设角度使得所述线结构光投射的位置与所述拍摄单元的主光轴保持大致同一方位。
[0369]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,包括:
[0370]
获取被校准对象在第一坐标系中预设数量的位置点的第一坐标;
[0371]
获取校准工具在第二坐标系中所述预设数量的位置点的第二坐标;
[0372]
根据所述第一坐标与所述第二坐标对所述被校准对象的校准参数和/或工具末端中心点进行校准。
[0373]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,
[0374]
所述被校准对象包括至少一个关节点,所述第二坐标系包括至少一个并分别与所述至少一个关节点对应。
[0375]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,还包括,
[0376]
将所述被校准对象末端与所述校准工具末端连接。
[0377]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,包括,
[0378]
根据正向运动学模型确定所述被校准对象末端的位置的所述第一坐标;
[0379]
确定所述校准工具末端的位置的所述第二坐标;
[0380]
根据所述预设数量的位置点的所述第一坐标和所述第二坐标,利用最小二乘算法进行标定。
[0381]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,
[0382]
所述校准参数至少包括关节零点补偿值、关节臂长补偿值、关节减速比补偿值、关节耦合比补偿值、工具末端中心点补偿值之一。
[0383]
根据本公开的一个或多个实施例,提供了一种校准方法,其特征在于,还包括,
[0384]
对校准后的所述被校准对象采集预设数量绕点位置对所述被校准对象的绕点精度进行评估。
[0385]
根据本公开的一个或多个实施例,提供了一种校准装置,其特征在于,包括:
[0386]
坐标获取模块,用于获取被校准对象在第一坐标系中预设数量的位置点的第一坐标,以及获取校准工具在第二坐标系中所述预设数量的位置点的第二坐标;
[0387]
校准模块,用于根据所述第一坐标与所述第二坐标对所述被校准对象的校准参数和/或工具末端中心点进行校准。
[0388]
根据本公开的一个或多个实施例,提供了一种校准设备,其特征在于,包括:
[0389]
如前所述的校准装置;
[0390]
校准工具,用于根据所述被校准对象位置变化以获得所述第二坐标;
[0391]
连接件,用于将所述被校准对象末端与所述校准工具末端连接。
[0392]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,包括:
[0393]
机器人,用于在预设数量的位置点进行移动以获得第一坐标;
[0394]
测量臂,用于与所述机器人连接,并随着所述机器人的位置的变化被动变化以获得第二坐标;
[0395]
连接件,用于连接所述机器人的末端与所述测量臂的末端;
[0396]
校准单元,用于根据所述第一坐标与所述第二坐标对所述机器人的校准参数和/或工具末端中心点进行校准。
[0397]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,
[0398]
所述机器人包括至少一个关节点。
[0399]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,
[0400]
所述测量臂包括至少一个关节点,测量精度至少为5微米。
[0401]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,
[0402]
所述连接件包括筒部和连接部,所述筒部与所述机器人的末端连接,所述连接部与所述测量臂的末端连接。
[0403]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,
[0404]
所述连接部为半圆环形,所述半圆环形两端与所述筒部固定连接。
[0405]
根据本公开的一个或多个实施例,提供了一种机器人校准系统,其特征在于,还包括,
[0406]
所述机器人校准系统在校准完成后通过预设数量绕点位置对所述机器人的绕点精度进行评估。
[0407]
根据本公开的一个或多个实施例,提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如前任一项所述的方法。
[0408]
根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述的方法。
[0409]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0410]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0411]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1