机器人示教方法以及装置、电子设备以及存储介质与流程

文档序号:33473531发布日期:2023-03-15 09:20阅读:71来源:国知局
机器人示教方法以及装置、电子设备以及存储介质与流程

1.本发明涉及自动控制领域,更具体地涉及一种机器人示教方法、一种机器人示教装置、一种电子设备以及一种存储介质。


背景技术:

2.目前,随着实验室对自动化程度的要求越来越高,在一个自动化流程的执行过程中往往会使用到很多不同类型、不同功能以及不同型号的设备。这就涉及到需要在不同的设备之间进行物料的搬运,例如,通过使用机械人/臂来执行搬运操作。
3.以样品板的搬运为例,在一次搬运的过程中,机械臂可能需要从一个设备上的起始位置夹取样品板,然后将样品板运输到另一个设备上的目标位置处。为了让机械臂准确地完成抓取和放置动作,就需要对机械臂进行示教。
4.目前自动化流程中所采用的很多设备都设置有多个存放样品板的位置。例如,用于存放样品板的板站往往具有数十个板位。为了让机械臂能够从板站的每个板位都能够准确地抓取样品板,需要对机械臂、针对每个板位所要执行的动作均进行示教。实际上,每个抓取动作可能包括多个子动作,例如机械臂可能在多个位置停留。这样,需要对数目更多的子动作分别进行示教。在一些对机械臂精度要求比较高的应用场景中,对机械臂进行示教是一项比较花费时间的工作。在机械臂需要操作的板位数量非常多的时候,就会导致机械臂的示教工作耗费大量的时间和精力。
5.因此,亟需一种新的方案,以解决上述技术问题。


技术实现要素:

6.考虑到上述问题而提出了本发明。本发明提供了一种机器人示教方法、一种机器人示教装置、一种电子设备以及一种存储介质。
7.根据本发明的一个方面,提供了一种机器人示教方法。该方法用于对操作范围可覆盖多个操作工位的机器人进行示教,多个操作工位用于存放操作对象,方法包括:确定用户指定的目标操作工位,其中,目标操作工位为多个操作工位中的部分操作工位,机器人的多条运动轨迹均经过预设工位并且以多个操作工位中的不同操作工位为第一端点;基于目标操作工位对机器人进行示教,以获得第一示教结果;以及根据第一示教结果以及多个操作工位的排布信息,获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果。
8.示例性地,在获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果时,方法还包括:判断当前已经示教完成的目标操作工位的数量是否满足预设数量的要求;在判断结果为是的情况下,允许获得第二示教结果;否则禁止获得第二示教结果。
9.示例性地,预设数量预先根据多个操作工位的排布信息所示的预设排布方式确定。
10.示例性地,在预设排布方式是一维阵列的情况下,预设数量大于或等于2;在预设
排布方式是二维阵列的情况下,预设数量大于或等于3。
11.示例性地,在预设排布方式是一维阵列的情况下,目标操作工位至少包括位于一维阵列的两端的两个操作工位。
12.示例性地,在预设排布方式是二维阵列、且已经对预设数量的目标操作工位进行示教的情况下,方法还包括:判断已经示教的预设数量的目标操作工位是否共线;在判断结果为否的情况下,允许获得第二示教结果;在判断结果为是的情况下,禁止获得第二示教结果。
13.示例性地,在预设排布方式是二维阵列的情况下,目标操作工位至少包括位于二维阵列的左上角、左下角、右上角和右下角的4个操作工位中的3个操作工位。
14.示例性地,对机器人针对目标操作工位分别示教,以获得第一示教结果,包括:对于每个目标操作工位所在的运动轨迹,在机器人分别位于该运动轨迹上的该目标操作工位和预设工位时,分别确定该运动轨迹上的该目标操作工位和预设工位的位姿信息;根据该运动轨迹上的该目标操作工位和预设工位的位姿信息,确定该运动轨迹上的位于该目标操作工位和预设工位之间的中间工位;在机器人位于该运动轨迹上的中间工位时,获取该中间工位的位姿信息。
15.示例性地,多个操作工位的排布信息包括多个操作工位的索引值,多个操作工位的示教结果包括机器人位于该操作工位所在的运动轨迹中的所有工位的位姿信息,位姿信息包括笛卡尔坐标值;根据第一示教结果以及多个操作工位的排布信息,获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果,包括:将目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值中的欧拉角转换为其旋转向量;基于目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值中的三维坐标值和旋转向量,利用多元线性回归方法,确定其他操作工位所在的运动轨迹中所有工位的线性回归公式,其中,线性回归公式包括工位的笛卡尔坐标值中的三维坐标值和旋转向量关于工位的索引值的公式;基于线性回归公式和其他操作工位的索引值,确定其他操作工位所在的运动轨迹中所有工位的笛卡尔坐标值中的三维坐标值和旋转向量;基于其他操作工位所在的运动轨迹中所有工位的旋转向量,确定其欧拉角。
16.根据本发明的另一方面,还提供了一种机器人示教装置,该装置用于对操作范围可覆盖多个操作工位的机器人进行示教,多个操作工位用于存放操作对象,包括:
17.确定模块,用于确定被指定的目标操作工位,其中,目标操作工位为多个操作工位中的部分操作工位,机器人的多条运动轨迹均经过预设工位并且以多个操作工位中的不同操作工位为第一端点;
18.第一示教模块,用于基于目标操作工位对机器人进行示教,以获得第一示教结果;以及
19.第二示教模块,用于根据第一示教结果以及多个操作工位的排布信息,获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果。
20.根据本发明的又一方面,还提供了一种电子设备,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被处理器运行时用于执行如上所述的机器人示教方法。
21.根据本发明的再一方面,还提供了一种存储介质,在存储介质上存储了程序指令,
程序指令在运行时用于执行如上所述的机器人示教方法。
22.在上述技术方案中,根据对机器人进行示教所获得的第一示教结果,可以获得其他操作工位的第二示教结果。该方法只需要针对部分操作工位进行示教,之后无需具体示教操作即可计算出其他操作工位的示教结果,能够有效降低对机器人示教的工作量和所消耗的时间,提高机器人示教的效率。
23.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
24.通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
25.图1示出了根据本发明一个实施例的机器人示教方法的示意性流程图;
26.图2示出了根据本发明一个实施例的获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果的示意性流程图;
27.图3示出了根据本发明一个实施例的一维阵列的操作工位的示意性框图;
28.图4示出了根据本发明一个实施例的二维阵列的操作工位的示意性框图;
29.图5示出了根据本发明一个实施例的根据第一示教结果以及多个操作工位的排布信息获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果的示意性流程图;
30.图6示出了根据本发明一个实施例的机器人示教装置的示意性框图;以及
31.图7示出了根据本发明一个实施例的电子设备的示意性框图。
具体实施方式
32.为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
33.为了解决上述技术问题,根据本发明的一个方面,提供了一种机器人示教方法。图1示出了根据本发明一个实施例的机器人示教方法100的示意性流程图,如图1所示,方法100用于对操作范围可覆盖多个操作工位的机器人进行示教。该多个操作工位用于存放操作对象。操作对象是机器人的执行操作所针对的对象。例如,机器人可以将存放于该多个操作工位中任意操作工位的操作对象搬运至其他位置,或者,机器人可以将位于其他位置的操作对象搬运到该多个操作工位中的任意操作工位。该多个操作工位可以位于同一设备上。示例性地,该设备可以是自动化试验系统中的板站。该板站中可以设置有多个板位,用于存放作为操作对象的样品板。替代地,该多个操作工位也可以位于不同设备上。该方法
100可以包括以下步骤。
34.步骤s110,确定用户指定的目标操作工位。其中,目标操作工位为多个操作工位中的部分操作工位。机器人的多条运动轨迹均经过预设工位并且以多个操作工位中的不同操作工位为第一端点。
35.在前述设备是自动化试验系统中的板站的示例中,板站可以设置有多个塔。多个操作工位可以是一个塔中的全部操作工位。操作工位可以用于存放操作对象,例如,存放样品板、培养皿等。操作工位的排布方式即操作工位在塔中的排布方式,其在出厂时已经确定。机器人可以是用于对存放在操作工位的操作对象执行搬运操作的机械臂。机器人执行的每一个搬运操作均可以对应于一个运动轨迹。这些运动轨迹分别以不同的操作工位为第一端点。第一端点可以表示机器人在执行搬运操作的起始位置或终止位置。并且,机器人在执行搬运操作的运动轨迹均会经过同一个工位,即预设工位。预设工位是多个运动轨迹的共享工位,例如,其可以是自动化试验系统中某个特定设备上的安全工位。可以理解,对于运动轨迹,除了经过上述预设工位和操作工位,还可以经过一些中间工位。特别是对于运动轨迹的长度较长或者机器臂有转向操作的情况,可以设置有中间工位。这些中间工位可以并非是设置到特定设备上某一操作工位,其可以是空间中的覆盖机器人操作范围内的任意一个位置。这些中间工位能够保证运动轨迹的准确性。
36.示例性地,上位机可以向用户提供可视化界面。基于可视化界面,用户可以利用上位机的输入装置(例如鼠标、键盘等),在多个操作工位中选择目标操作工位。目标操作工位可以是全部操作工位中的一部分。
37.步骤s120,基于目标操作工位对机器人进行示教,以获得第一示教结果。
38.示例性地,可以根据需求在多个操作工位中选择任意数量的目标操作工位。对所选择的目标操作工位进行示教可以获得第一示教结果。第一示教结果可以理解是示教的运动轨迹上的各个工位的坐标信息,例如包括预设工位的坐标信息,第一端点的坐标信息,中间工位的坐标信息等。
39.具体地,在步骤s120的示教过程,对于经过目标操作工位的每个运动轨迹,可以手动移动机械臂,使其位于运动轨迹上的各个工位,从而确定该运动轨迹上的各个工位的坐标信息。替代地,还可以基于上位机中预先存储的指令,响应于用户通过上位机在触摸屏上的操作,获取运动轨迹上的各个工位的坐标信息。例如,对于上述包括中间工位的运动轨迹,通过步骤s120的示教,可以获得目标操作工位、预设工位和中间工位的位置坐标信息。
40.步骤s130,根据第一示教结果以及多个操作工位的排布信息,获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果。
41.示例性地,多个操作工位的排布信息可以预先存储在上位机系统中。多个操作工位的排布信息可以包括关于其排布方式的信息。该排布方式例如一维阵列或二维阵列等。多个操作工位的排布信息还可以包括操作工位的数量、各个操作工位之间的相对位置关系的信息。例如该排布信息可以包括操作工位在各个维度上的数目信息。
42.根据在步骤s120获得的第一示教结果以及多个操作工位的排布信息,可以对机器人针对其他操作工位的运动轨迹进行计算,并且将计算结果作为其他操作工位的示教结果。可以理解,第一示教结果包含目标操作工位的运动轨迹的信息,而且所有的运动轨迹均经过同一预设工位。基于多个操作工位的排布信息,可以确定多个操作工位中的其他操作
工位相对于目标操作工位的位置关系。因此,能够基于目标操作工位的第一示教结果,确定其他操作工位的运动轨迹。由此,获得经过该其他操作工位的运动轨迹上各个工位的坐标信息,例如该其他操作工位、预设工位和中间工位的坐标信息。
43.基于步骤s120和步骤s130,可以获得该多个操作工位的全部操作工位的示教结果。
44.在上述技术方案中,根据对机器人进行示教所获得的第一示教结果,可以获得其他操作工位的第二示教结果。该方法只需要针对目标操作工位进行示教,之后无需具体示教操作即可计算出其他操作工位的示教结果,能够有效降低对机器人示教的工作量和所消耗的时间,提高机器人示教的效率。
45.图2示出了根据本发明一个实施例的步骤s130获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果的示意性流程图。如图2所示,步骤s130可以包括以下步骤。
46.步骤s1,判断当前已经示教完成的目标操作工位的数量是否满足预设数量的要求。
47.示例性地,上位机可以预先确定需要示教的目标操作工位的预设数量,通过将已经示教的目标操作工位的数量与该预设数量进行比较,即可判断判断当前已经示教完成的目标操作工位的数量是否满足预设数量的要求。例如,一共有10个操作工位排布在一条直线中,即以一维阵列方式排布。用户选择了其中的2个目标操作工位。可以根据来自用户的指令,将该2个目标操作工位与预先获取的需要示教的目标操作工位的预设数量(对于一维阵列,预设数量大于等于2)进行比较,显然当前已经示教完成的目标操作工位的数量满足预设数量要求(即对于这种情况预设数量要求为大于等于2);反之,如果用户只是选择了其中的1个操作工位进行示教,则当前已经示教完成的目标操作工位的数量并没有满足预设数量要求(即对于这种情况预设数量要求为大于等于2)。替代地,用户可以仅在指令中指定待示教的目标操作工位的数量—2,上位机可以根据预先确定的目标操作工位的预设数量和已经完成示教的目标操作工位的数量,可以判断当前已经完成示教的目标操作工位的数量是否满足预设数量要求。
48.步骤s2,在判断结果为是的情况下,允许获得第二示教结果。否则禁止获得第二示教结果。
49.示例性地,如果当前已经完成示教的目标操作工位的数量满足预设数量要求,那么上位机可以继续执行后续操作,获取与目标操作工位不同的其他操作工位的第二示教结果。如果当前已经完成示教的目标操作工位的数量不满足预设数量要求,那么上位机系统将禁止获得其他操作工位的第二示教结果。此时,用户可以继续选择目标操作工位进行示教,直至所选择的目标操作工位的数量满足预设数量要求。替代地,如果当前已经完成示教的目标操作工位的数量不满足预设数量要求,上位机可以返回初始状态,在用户重新指定目标操作工位后继续执行上述步骤s110至步骤s130。
50.根据上述技术方案,可以判断已经示教完成的目标操作工位的数量是否满足预设数量要求,然后再判断是否允许获得第二示教结果。这样不仅可以根据用户需要个性化定制目标操作工位,而且能够保证所选择的目标操作工位的合理性,进而保证示教结果的有效性。进一步地,保证示教过程的顺利执行。
51.示例性地,预设数量可以预先根据多个操作工位的排布信息所示的预设排布方式确定。可以理解,预设数量越大,越能够保证第二示教结果的准确性。
52.在一个实施例中,可以获取多个操作工位的排布信息。如前所述,排布信息中可以包括关于多个操作工位的预设排布方式的信息。操作工位的预设排布方式是出厂时已经确定好的,可以是一维阵列、二维阵列或三维阵列等。针对操作工位的不同的预设排布方式,可以对应地确定目标操作工位的预设数量。预设排布方式越复杂,那么预设数量可以越大;否则,反之。例如,如果操作工位的预设排布方式是一维阵列,那么可以选择任意大于或等于2的操作工位作为目标操作工位。
53.根据上述技术方案,针对操作工位的不同的预设排布方式,确定不同预设数量的目标操作工位。这样即可以保证机器人示教过程的科学性以及合理性,还可以减少无效的示教操作,提高机器人示教的效率。
54.示例性地,根据多个操作工位的排布信息所示的预设排布方式确定目标操作工位的预设数量可以包括以下两种情况。
55.情况一,在预设排布方式是一维阵列的情况下,预设数量大于或等于2。
56.图3示出了根据本发明一个实施例的一维阵列的操作工位的示意性框图。如图3所示,在一个实施例中,全部操作工位在设备中是以一维阵列的排布方式进行排布,即所有操作工位共线。操作工位一共有6个。可以至少确定2个操作工位作为目标操作工位。例如,可以确定操作工位1和操作工位3分别作为目标操作工位。
57.情况二,在预设排布方式是二维阵列的情况下,预设数量大于或等于3。
58.图4示出了根据本发明一个实施例的二维阵列的操作工位的示意性框图。如图4所示,在一个实施例中,全部操作工位在设备中是以二维阵列的排布方式进行排布,即所有操作工位共面。操作工位一共有12个。可以至少确定3个工位作为目标操作工位。例如,可以确定操作工位1、操作工位6和操作工位9分别作为目标操作工位。
59.根据上述技术方案,根据操作工位不同的排布方式,确定不同预设数量的目标操作工位。这样可以在保证示教的准确性的同时,灵活选择目标操作工位,提高了示教过程的科学性。
60.示例性地,在预设排布方式是一维阵列的情况下,目标操作工位至少包括位于一维阵列的两端的两个操作工位。
61.优选地,对于多个操作工位均排布在一条直线上的情况,可以优先确定位于该一维阵列两端的操作工位为目标操作工位。仍以图3所示示例为例,可以确定操作工位1和操作工位6分别作为目标操作工位。若预设的目标操作工位的数量大于2。例如,预设数量为3的目标操作工位。可以选择该一维阵列中除两端之外的任一操作工位作为第3个目标操作工位。
62.根据上述技术方案,对于预设排布方式是一维阵列的情况,选择位于两端的操作工位作为目标操作工位。这样机器人根据目标操作工位的第一示教结果计算其他操作工位的第二示教结果更加准确,减少了误差。
63.示例性地,在预设排布方式是二维阵列、且已经对预设数量(大于或等于3)的目标操作工位进行示教的情况下,方法还可以包括:判断已经示教的预设数量(大于或等于3)的目标操作工位是否共线。在判断结果为否的情况下,允许获得第二示教结果。在判断结果为
是的情况下,禁止获得所述第二示教结果。
64.在一个实施例中,在预设排布方式是二维阵列且用户已经对3个目标操作工位进行示教的情况下,还需要判断用户已经示教的3个目标操作工位是否共线。再次参照图3,对于多个操作工位的排布方式是二维阵列的情况,即多个操作工位均排布在同一平面内的情况,在12个操作工位中,用户选已经完成示教的3个目标操作工位分别是操作工位1、操作工位6和操作工位9。判断结果为:用户完成示教的3个目标操作工位不共线,即判断结果为否。此时,允许获得其他操作工位的第二示教结果。如果用户选已经完成示教的目标操作工位分别是操作工位1、操作工位2、操作工位6,那判断结果为:用户完成示教的3个目标操作工位共线,即判断结果为是。此时,则不允许获得其他操作工位的第二示教结果。
65.在另一个实施例中,在预设排布方式是二维阵列且用户已经对大于3个目标操作工位(例如4个目标操作工位)进行示教的情况下,还需要判断用户已经示教的4个目标操作工位是否共线(或者判断已经示教的目标操作工位中是否存在3个操作工位不共线的情况)。再次参照图3,对于多个操作工位的排布方式是二维阵列的情况,即多个操作工位均排布在同一平面内的情况,在12个操作工位中,用户选已经完成示教的4个目标操作工位分别是操作工位1、操作工位6、操作工位9和操作工位12。判断结果为:用户完成示教的4个目标操作工位不共线,即判断结果为否。此时,允许获得其他操作工位的第二示教结果。当然,如果用户选已经完成示教的目标操作工位分别是操作工位1、操作工位2、操作工位6和操作工位7,虽然操作工位1、操作工位2、操作工位6共线,但是除此之外,已经示教的操作工位中存在三个操作工位不共线的情况,例如操作工位1、操作工位2和操作工位7,因此还是允许获得其他操作工位的第二示教结果。
66.根据上述技术方案,在预设排布方式是二维阵列、且已经对预设数量(大于等于3)的目标操作工位进行示教的情况下,判断已经示教的预设数量的目标操作工位是否共线。在不共线的情况下允许获得第二示教结果。这样利用目标操作工位的第一示教结果计算其他操作工位的第二示教结果更加准确,减少了可能出现的误差。
67.示例性地,在预设排布方式是二维阵列的情况下,目标操作工位至少包括位于二维阵列的左上角、左下角、右上角和右下角的4个操作工位中的3个操作工位。
68.优选地,在预设排布方式是二维阵列的情况下,可以确定位于该二维阵列的左上角、左下角、右上角和右下角的4个操作工位中的3个操作工位为目标操作工位。再次参照图3,可以选择位于左上角的操作工位1、左下角的操作工位7以及右上角的操作工位6分别作为目标操作工位。若目标操作工位的预设数量大于3。例如,目标操作工位的预设数量为4。除所选的目标操作工位1、目标操作工位6和目标操作工位7这3个目标操作工位外,还可以确定任意一个操作工位(包括第4个目标操作工位也可以选择目标操作工位12)作为第4个目标操作工位。
69.根据上述技术方案,对于预设排布方式是二维阵列的情况,至少从位于4个角的操作工位中选择需要示教的目标操作工位。这样利用目标操作工位的第一示教结果计算其他操作工位的第二示教结果更加准确,减少了可能出现的误差。
70.示例性地,对机器人针对目标操作工位分别示教,对于每个目标操作工位所在的运动轨迹,可以包括以下步骤。
71.首先,在机器人分别位于该运动轨迹上的该目标操作工位和预设工位时,分别确
定该运动轨迹上的该目标操作工位和预设工位的位姿信息。
72.为了便于描述,再次参考图4,以图4所示的以二维阵列的方式进行排布的操作工位为例进行描述。在该示例中,可以以操作工位1左上角的顶点为原点o。基于原点o确定平行于板站的窄边的轴为x轴。经过原点o,垂直于x轴且平行于板站的宽边方向的轴为z轴。经过原点o且垂直于x、z轴的轴为y轴(图中未示出)。由此,该多个操作工位的排布信息可以包括:x=2,y=1,z=6。
73.下面以机器人为机械臂,并且操作工位1为目标操作工位为例进行描述。对于目标操作工位1所在的运动轨迹。首先可以使机械臂位于运动轨迹上的预设工位。该操作可以通过人工手动操作机械臂实现,也可以通过上位机控制机械臂实现。然后,点击上位机的可视化界面中的“获取坐标”控件后,可以确定并且在可视化界面中显示预设工位的位姿信息。位姿信息可以包括预设工位在笛卡尔坐标系下的笛卡尔坐标值,即x、y、z轴和欧拉角分别对应的坐标值。
74.类似地,针对目标操作工位1,也可以采用上述操作获取其位姿信息。
75.然后,根据该运动轨迹上的该目标操作工位和预设工位的位姿信息,确定该运动轨迹上的位于该目标操作工位和预设工位之间的中间工位。
76.如前所述,目标操作工位是该运动轨迹上的第一端点,例如起点或终点。在机械臂位于该运动轨迹上的第一端点的目标操作工位时,可以将机械臂朝向预设工位移动任意高度,以到达中间工位。经由该中间工位,机械臂可以最终到达预设工位。例如,在机械臂位于目标操作工位1,且在三维空间中预设工位位于目标操作工位1的左上方时,可以分别将机械臂向上移动20厘米、40厘米后的位置作为该运动轨迹上的中间工位。由此,机械臂可以自目标操作工位1出发;向上移动20厘米,到达中间工位1;再向上移动20厘米,到达中间工位2;最后向左移动15厘米到达预设工位。
77.最后,在机器人位于该运动轨迹上的中间工位时,获取该中间工位的位姿信息。
78.与前述获得预设工位和目标操作工位的位姿类似地,当机械臂位于该运动轨迹上的中间工位时,在当前可视化界面中点击“获取坐标”控件,可以获取中间工位的位姿信息。
79.根据上述技术方案,根据该运动轨迹上为第一端点的目标操作工位和预设工位的位姿信息,确定中间工位以及中间工位的位姿信息。该方法可以保证机械人的运动轨迹的准确性,进而保证示教工作的顺利执行。
80.示例性地,可视化界面中还可以包括切换控件。响应于用户对切换控件的操作,可以选择不同的目标操作工位。例如,响应于用户对切换控件的操作,可以显示一个下拉菜单。菜单中可以显示全部的目标操作工位。响应于用户点击其中不同的目标操作工位,可以确定不同目标操作工位所在的运动轨迹上的不同工位的位姿信息,进而对不同目标操作工位进行示教。
81.示例性地,操作工位的排布信息可以包括操作工位的索引值。该索引值用于表示操作工位在阵列中的排布位置。操作工位的示教结果可以包括与该操作工位对应的运动轨迹上的各个工位(可以理解,这里的各个工位对应示教时用到的预设工位、目标操作工位以及中间工位)的位姿信息。位姿信息可以包括笛卡尔坐标值,可以理解笛卡尔坐标值包括三维坐标值x,y,z和欧拉角rx,ry,rz。
82.再次参照图4,操作工位1的索引值可以表示为:x=1,y=1,z=1;操作工位2的索
引值可以表示为:x=1,y=1,z=2;操作工位6的索引值可以表示为:x=1,y=1,z=6。其他操作工位的索引值可以依次类推。
83.图5示出了根据本发明一个实施例的步骤s130根据第一示教结果以及多个操作工位的排布信息获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果的示意性流程图,如图5所示,步骤s130还可以包括以下步骤。
84.步骤s131,将机器人在运动轨迹中的所有工位的笛卡尔坐标值中的欧拉角转换为其旋转向量。可以理解,该运动轨迹经过目标操作工位。由此,该运动轨迹是经步骤s120进行示教的。换言之,该运动轨迹中的所有工位的位姿信息在当前是已知的。
85.示例性地,对于运动轨迹中的任意工位,例如目标操作工位1,其笛卡尔坐标可以表示为(x1,y1,z1,rx1,ry1,rz1)。设机器人在目标操作工位1的欧拉角可以表示为eul=(rx1,ry1,rz1),其旋转向量r=(v
x1
,v
y1
,v
z1
)。对于运动轨迹中的所有工位,可以利用公式:旋转向量r=eul2rotm(eul,'zyx')将欧拉角转换为旋转向量。其中,'zyx'表示机械人先沿着z轴旋转,再沿着y轴旋转,最后沿着x轴旋转。具体地,机械人的旋转方式可以根据不同规格进行选择。
86.步骤s132,基于目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值中的三维坐标值和旋转向量,利用多元线性回归方法,确定其他操作工位所在的运动轨迹中所有工位的线性回归公式。其中,线性回归公式可以包括工位的笛卡尔坐标值中的三维坐标值和旋转向量关于工位的索引值的公式。
87.在一个实施例中,可以利用多元梯度下降算法、多项式回归算法、随机梯度下降算法以及多元线性回归算法等确定线性回归公式。优选地,可以选择多元线性回归方法确定其他操作工位所在的运动轨迹中所有工位在各个维度的线性回归公式和误差分析结果。
88.具体例如,基于二维阵列的操作工位中的目标操作工位1、目标操作工位6和目标操作工位7的第一示教结果,进行线性回归计算,可以获得其他操作工位的线性回归公式。
89.以操作工位3为例,在x轴方向上,该操作工位3所在的运动轨迹上的操作工位3、中间工位和预设工位的线性回归公式可以分别表示为:
90.x=49.200000-114.700000*x+0.006000*z;
91.x=49.200000-114.700000*x+0.006000*z;
92.x=49.210000-114.700000*x+0.004000*z;
93.其中,x和z可以表示操作工位3所对应的索引值。
94.在y轴方向上,操作工位3所在的运动轨迹上的操作工位3、中间工位和预设工位的线性回归公式可以分别表示为:
95.y=-407.730000+1.130000*x+0.020000*z;
96.y=-407.720000+1.140000*x+0.012000*z;
97.y=-241.690000+6.070000*x+5.330000*z;
98.其中,x和z也可以表示操作工位3所对应的索引值。
99.同理地,在z轴方向上、在各个旋转向量的各个方向上,也可以确定操作工位3所在的运动轨迹上的操作工位3、中间工位和预设工位的线性回归公式。在该示例中,每条运动轨迹上仅包括一个中间工位。
100.类似地,可以确定除目标操作工位以外的所有其他操作工位的线性回归公式。
101.多元线性回归算法的误差分析可以包括平均绝对误差mae、均方根误差rmse、置信系数r2等。根据误差分析结果可以评估针对操作工位进行示教所获得的运动轨迹上的工位的笛卡尔坐标值中的三维坐标值和旋转向量的合理性。
102.步骤s133,基于线性回归公式和其他操作工位的索引值,确定其他操作工位所在的运动轨迹中所有工位的笛卡尔坐标值中的三维坐标值和旋转向量。
103.示例性地,将工位的索引值代入到各个线性回归公式中可以获得该工位的笛卡尔坐标值中的三维坐标值以及旋转向量。
104.例如,对于上述操作工位3,其索引值为x=1,y=1,z=3,笛卡尔坐标的x值等于49.200000-114.700000*1+0.006000*3=-65.482000。操作工位3的其他位姿信息,例如y值、z值、旋转向量等,也可以类似地基于对应的线性回归公式进行计算。
105.步骤s134,基于其他操作工位所在的运动轨迹中所有工位的旋转向量,确定其欧拉角。
106.示例性地,可以利用公式eul=rotm2eul(r,'zyx')将步骤s133所确定的旋转向量转换为欧拉角。其中,'zyx'表示机械人先沿着z轴旋转,再沿着y轴旋转,最后沿着x轴旋转。
107.根据上述技术方案,基于目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值(欧拉角需要转换成旋转向量),利用多元线性回归方法,确定其他操作工位所在的运动轨迹中所有工位的线性回归公式。进而计算其他操作工位的笛卡尔坐标值。该方法计算逻辑简单,进一步地提高了机器人示教地效率。
108.根据本发明的一个实施例,在步骤s130中计算目标操作工位以外的其他操作工位的示教结果时,获取到已经示教的目标操作工位所在的运动轨迹后,可以对以下条件进行判断。在满足以下判断条件的情况下,确定机器人在该其他操作工位所在的运动轨迹上的各个工位的位姿。若不满足以下判断条件,则可以进行人工调整直至满足判断条件后重新进行机器人示教。
109.1)确定多个操作工位的预设排布方式。多个操作工位的排布方式可以是一维阵列或二维阵列等。
110.2)判断经示教的目标操作工位的数量与操作工位的预设排布方式是否对应。对于操作工位的预设排布方式是一维阵列的情况,判断预设数量是否大于或等于2。对于操作工位的预设排布方式是二维阵列的情况,判断预设数量是否大于或等于3。
111.3)判断经示教的目标操作工位的选取是否满足一维阵列或者二维阵列的目标操作工位的选取规则。对于操作工位的预设排布方式是一维阵列的情况,至少选择位于一维阵列中位于同一直线上的两个操作工位为目标操作工位。对于操作工位的预设排布方式是二维阵列的情况,至少选择不共线的3个操作工位为目标操作工位。
112.4)判断经示教的目标操作工位所在的每条运动轨迹中的工位的数量是否相同。例如,所有运动轨迹上均具有4个工位。
113.5)判断每个目标操作工位所在的运动轨迹中的预设工位,即共享工位,是否都是同一位置。
114.根据本发明的另一方面,还提供了一种机器人示教装置。图6示出了根据本发明一个实施例的机器人示教装置600的示意性框图,如图6所示,装置用于对操作范围可覆盖多个操作工位的机器人进行示教,多个操作工位用于存放操作对象。该装置600可以包括确定
模块610、第一示教模块620和第二示教模块630。
115.指令获取模块610,用于确定用户指定的目标操作工位。其中,目标操作工位为多个操作工位中的部分操作工位,机器人的多条运动轨迹均经过预设工位并且以多个操作工位中的不同操作工位为第一端点。
116.第一示教模块620,用于基于目标操作工位对机器人进行示教,以获得第一示教结果。
117.第二示教模块630,用于根据第一示教结果以及多个操作工位的排布信息,获得多个操作工位中与目标操作工位不同的其他操作工位的第二示教结果。
118.示例性地,第一示教模块620可以包括第一判断子模块。第一判断子模块可以用于判断当前已经示教完成的目标操作工位的数量是否满足预设数量的要求;在判断结果为是的情况下,允许获得第二示教结果;否则禁止获得第二示教结果。
119.示例性地,第一判断模块还可以包括第二判断子模块。第二判断子模块可以用于在预设排布方式是二维阵列、且已经对所述预设数量的目标操作工位进行示教的情况下,判断已经示教的所述预设数量的目标操作工位是否共线;在判断结果为否的情况下,允许获得第二示教结果。
120.示例性地,第一示教模块620还可以包括信息确定子模块。信息确定子模块可以用于对于每个目标操作工位所在的运动轨迹,在机器人分别位于该运动轨迹上的该目标操作工位和预设工位时,分别确定该运动轨迹上的该目标操作工位和预设工位的位姿信息。根据该运动轨迹上的该目标操作工位和预设工位的位姿信息,确定该运动轨迹上的位于该目标操作工位和预设工位之间的中间工位。在机器人位于该运动轨迹上的中间工位时,获取该中间工位的位姿信息。
121.示例性地,第一示教模块620还可以包括计算子模块。计算子模块可以用于将目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值中的欧拉角转换为其旋转向量。基于目标操作工位所在的运动轨迹中的所有工位的笛卡尔坐标值中的三维坐标值和旋转向量,利用多元线性回归方法,确定其他操作工位所在的运动轨迹中所有工位的线性回归公式。其中,线性回归公式可以包括工位的笛卡尔坐标值中的三维坐标值和旋转向量关于工位的索引值的公式。基于线性回归公式和其他操作工位的索引值,确定其他操作工位所在的运动轨迹中所有工位的笛卡尔坐标值中的三维坐标值和旋转向量。基于其他操作工位所在的运动轨迹中所有工位的旋转向量,确定其欧拉角。
122.根据本发明的又一方面,还提供了一种电子设备。图7示出了根据本发明一个实施例的电子设备700的示意性框图。如图7所示,该电子设备700包括处理器710和存储器720。其中,存储器720中存储有计算机程序指令,计算机程序指令被处理器710运行时用于执行上述机器人示教方法。
123.根据本发明的再一方面,还提供了一种存储介质。在存储介质上存储了程序指令,程序指令在运行时用于执行上述机器人示教方法。存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
124.本领域普通技术人员通过阅读上述有关机器人示教方法的相关描述,可以理解上
述机器人示教装置、电子设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
125.尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
126.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
127.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
128.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
129.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
130.本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
131.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
132.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的机器人示教装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
133.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
134.以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1