一种机器人编程方法、装置及存储介质与流程

文档序号:27433727发布日期:2021-11-17 22:36阅读:205来源:国知局
一种机器人编程方法、装置及存储介质与流程

1.本发明涉及编程领域,尤其是一种机器人编程方法、装置及存储介质。


背景技术:

2.自动化装备目前向高速化,智能化方向迈进,而面对一些复杂场景的机器人示教编程则难度极大,或者示教编程过程非常耗费时间,提高机器人示教编程效率的一个重要的手段是给机器装上“眼睛”和能够与这颗眼睛配合的“大脑”,“眼睛”可以获得所需的数据从而用于示教机器人。而现有交互式机器人示教编程方法需要拿着示教器去做精密示教,一个工件的加工需要花费大量的时间进行人工示教以进行编程,成本高且效率低。


技术实现要素:

3.有鉴于此,为了解决上述技术问题,本发明的目的是提供提高效率的一种机器人编程方法、装置及存储介质。
4.本发明采用的技术方案是:
5.通过激光设备向工件发射激光以在所述工件上形成激光体;所述激光体包括激光线条或者激光点;
6.确定所述激光体处于期望位置,将所述激光体作为目标激光体,从所述目标激光体中确定至少一目标点;
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.图1为本发明机器人编程方法的步骤流程示意图;
41.图2为本发明具体实施例激光设备的第一示意图;
42.图3为本发明具体实施例激光设备的第二示意图;
43.图4为本发明具体实施例三维标定块的示意图。
具体实施方式
44.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
45.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
47.如图1所示,本发明实施例提供一种机器人编程方法,包括步骤s100

s400:
48.s100、通过激光设备向工件发射激光以在工件上形成激光体。
49.如图2和图3所示,本发明实施例中,激光体包括激光线条201或者激光点301。可选地,激光线条201包括但不限于直线或者曲线等;激光线条201或者激光点301的数量为一个或多个,可以根据需要形成,不作具体限定。需要说明的是,激光设备包括但不限于激光投影映射装置202以及激光测距模块302,激光投影映射装置用于在工件a上形成激光线条201,激光测距模块用于在工件b上形成激光点301。其中,机器人分别为c和d,机器人c上还设置有视觉系统203。
50.s200、确定激光体处于期望位置,将激光体作为目标激光体,从目标激光体中确定至少一目标点。
51.需要说明的是,期望位置即为工件上需要加工的位置,例如工件上有一部分需要切割,那么此时位于期望位置的激光线条(即目标激光体或者目标激光线条)就是机器人末端刀具期望的路径,机器人末端刀具可以沿着激光线条所形成期望的路径进行加工;或者,位于期望位置的激光点(即目标激光体或者目标激光点)即需要加工的位置,通过多个激光点可以确定多个需要加工位置构成的加工路径。可以理解的是,目标点为目标激光线条上的获取的点,或者,目标激光体上的激光点(即目标激光点)为目标点。需要说明的是,期望位置以及激光体的位置可以根据人工进行调整,人工调整使得激光体位于期望位置上。
52.可选地,当激光体为激光线条时,步骤s200中从目标激光体中确定至少一目标点,具体为:
53.通过视觉系统对激光线条进行检测,确定激光线条上的目标点。其中,目标点的坐标位置为视觉系统坐标系下的坐标描述。具体地,可以通过视觉系统的立体视觉技术例如
双目视觉定位方法,同一个点在不同相机中的位置,结合相机的外参,确定空间点的三维位置(可以参考立体视觉的空间点定位)确定线条上采样点的坐标值p
s
,即目标点在视觉坐标系下的坐标位置的描述。
54.s300、对目标点进行转换处理,得到转换位置。
55.需要说明的是,转换位置表征目标点在机器人基坐标系下的坐标描述。
56.可选地,当目标点从目标激光线条中确定,步骤s300包括步骤s311

s313:
57.s311、获取视觉系统坐标系与机器人基坐标系之间的第一变换矩阵。
58.具体地,步骤s311包括步骤s3111

s3114:
59.s3111、通过视觉系统对三维标定块进行点云采集,确定至少三个关键点。
60.如图4所示,通过视觉系统利用三维标定块401进行点云采集,确定至少三个关键点,分别为p1、p2和p3,其中o为原点、xyz代表坐标轴。
61.s3112、通过对机器人末端的调整确定三个关键点在机器人基坐标系下的空间坐标。
62.可选地,机器人包括但不限于六轴机器人。需要说明的是,机器人末端可以指机器人末端或者在机器人末端上安装的工具,例如在机器人末端上安装的尖针,尖针在机器人第六轴上安装,机器人第六轴坐标系原点沿着z轴偏移尖针的长度就是尖针的位置,通过对机器人末端的调整使得尖针移动至三个关键点,确定在机器人基坐标系下的空间坐标。
63.s3113、构建视觉系统下的第一工件坐标系以及机器人基坐标系下的第二工件坐标系。
64.s3114、根据第一工件坐标系、第二工件坐标系以及空间坐标进行拟合,确定第一变换矩阵。
65.具体地,根据三个关键点在机器人基坐标系下的空间坐标,结合第一工件坐标系以及第二工件坐标系,拟合出视觉系统坐标系相对于机器人基坐标系的第一变换矩阵完成视觉系统的标定。
66.s312、通过机器人的正运动学计算确定第二变换矩阵。
67.可选地,通过机器人的正运动学计算得到第二变换矩阵
68.s313、根据第一变换矩阵、第二变换矩阵以及目标点的坐标位置的乘积,得到转换位置。
[0069][0070]
其中,为第二变换矩阵,p
b
为目标点在机器人基坐标系下的坐标描述,p
s
为目标点在视觉坐标系下的坐标位置的描述,为第一变换矩阵。
[0071]
可选地,当目标点为目标激光点,步骤s300包括步骤s321

s324:
[0072]
s321、获取激光测距模块与目标点的测距值、目标点的坐标位置以及机器人末端位置坐标。
[0073]
本发明实施例中,激光测距模块且设置于机器人的末端,激光测距模块上设置有三维陀螺仪。可以理解的是,测距值指激光测距模块在基准方向上与目标点之间的距离值。
[0074]
可选地,步骤s321中获取激光测距模块与目标点的测距值,具体地:
[0075]
将激光测距模块的基准方向设置为与机器人的基准轴平行,并在基准方向与基准轴平行的状态下获取测距值;三维陀螺仪用于在机器人移动时获取角度偏差,并根据角度偏差保持基准方向与基准轴平行。具体地,如图3所示,基准轴以x轴为例,基准方向设置为与机器人的基准轴平行即使得基准方向跟随基准轴x轴,通过三维陀螺仪的设置使得在移动机器人使得激光体处于期望位置时,激光测距模块的基准方向也能跟随基准轴x轴,保证获取的测距值的准确性和有效性。
[0076]
s322、根据机器人末端位置坐标以及机器人基坐标系的原点确定第三变换矩阵。
[0077]
可选地,第三变换矩阵的确定可以通过标定的方式,不再赘述。
[0078]
s323、根据第三变换矩阵对目标点的坐标位置进行第一转换处理。
[0079]
具体地,根据第三变换矩阵对目标点的坐标位置进行第一转换处理,完成第一次转换。
[0080]
s324、根据测距值以及第一转换处理结果进行第二转换处理,得到转换位置。
[0081]
可选地,测距值相当于偏移量,根据偏移量以及第一转换处理结果进行第二转换处理,进行第二次转换,得到转换位置。其中,偏移量是为了解决激光点在工件上的照射点的位置相对于机器人第六轴坐标系(机器人基坐标系)的对应关系的计算,具体地,使用激光测距模块可以测出测距值,然后根据激光测距模块发光点(激光测距模块/机器人末端)与机器人第六轴坐标系(机器人基坐标系)的dy,dz的固有数值,就可以得到一个平移矩阵,该平移矩阵可以用于第二转换处理,得到转换位置并记录。
[0082]
s400、根据转换位置与预设程序模板,生成机器人程序。
[0083]
可选地,步骤s400包括步骤s411

s412:
[0084]
s411、根据转换位置的数量以及转换位置生成赋值数据。
[0085]
可选地,根据转换位置的数量即目标点的数量,以及各个目标点的转换位置,确定需要赋值至预设程序模板中的赋值数据。
[0086]
s412、根据赋值数据以及预设程序模板,生成头段程序、中间点程序以及程序尾端,得到机器人程序。
[0087]
需要说明的是,预设程序模板可以根据不同的机器人进行设定,不作具体限制,将赋值数据代入至预设程序模板中,生成头段程序、中间点程序以及程序尾端,得到机器人程序。其中,机器人程序可以下载至机器人的控制器中,机器人自动根据机器人程序完成示教编程。
[0088]
例如:预设程序模板的头段、中间点以及尾端都具有预设的固定格式,即固定的语句。
[0089]
头段:机器人的程序都有固定的格式,包含目标点的个数、程序的坐标系描述(转换位置)等内容,生成头段程序,完成数据的赋值。
[0090]
中间点:机器人程序描述可以固定的语句,赋值不同的固定的语句,比如p008=100,100,100,0,0,0,movl p008 v=20,那就是要经过第8个目标点,经过这个目标点点的速度是全速的20%;
[0091]
3、末端:例如固定的语句end,或者可以加工完成后机器人刀具复位,如:p018=500,10,10,0,0,0
[0092]
movl p018 v=20
[0093]
end
[0094]
综上,本发明实施例的机器人编程方法具有以下优点:
[0095]
基于激光线条:
[0096]
1)能够快速实现机器人的示教编程过程,基于投影映射生成激光线条的机器人交互示教方法实现机器人编程能够快速实现机器人的示教编程过程;
[0097]
2)提出使用投影所需的线条到加工位置,在投影映射过程中的激光线条可以调整,直到符合要求,使得机器人可以和人协同工作;
[0098]
3)可以低成本、高精度、高效率、便捷地完成机器人的示教编程。
[0099]
基于激光点:
[0100]
1)发明了一种基于激光点实现激光测距的交互式机器人示教方法,该方法相当于投影映射生成激光线条(相对适用于稍微简单的工件)能够快速实现面向复杂工件的机器人示教编程过程;
[0101]
2)提出使用激光点投射到需要加工的目标位置的示教引导方法,在激光点发射过程中其投射位置可以根据加工工艺随意调整,直到符合要求,使得机器人可以和人协同工作;
[0102]
3)可以低成本、高精度、高效率、便捷地完成机器人的示教编程。
[0103]
本发明实施例还提供一种机器人编程装置,包括:
[0104]
激光模块,用于通过激光设备向工件发射激光以在工件上形成激光体;激光体包括激光线条或者激光点;
[0105]
确定模块,用于确定激光体处于期望位置,将激光体作为目标激光体,从目标激光体中确定至少一目标点;
[0106]
转换模块,用于对目标点进行转换处理,得到转换位置;转换位置表征目标点在机器人基坐标系下的坐标描述;
[0107]
生成模块,用于根据转换位置与预设程序模板,生成机器人程序。
[0108]
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0109]
本发明实施例还提供了一种机器人编程装置,该装置包括处理器以及存储器;
[0110]
存储器用于存储程序;
[0111]
处理器用于执行程序实现本发明实施例的机器人编程方法。本发明实施例的装置可以实现机器人编程的功能。该装置可以为包括工控机、手机、平板电脑、电脑等任意智能终端。
[0112]
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0113]
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序,该程序被处理器执行完成如前述发明实施例的机器人编程方法。
[0114]
本发明实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述发明实施例的机器人编程方法。
[0115]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0116]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0117]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0118]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0119]
以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1