1.本技术涉及机器人技术领域,具体而言,涉及一种复合动作复现方法、装置、电子设备及可读存储介质。
背景技术:2.在喷涂、涂胶、焊接等应用场景中,经常会涉及复杂轨迹机器人编程,机器人通过常规运动指令(直线、圆弧、样条曲线)等组合无法完美复现复杂轨迹。为了使机器人可复现复杂轨迹,当前的实现方案是:通过人工示教获取编码器输出的机器人关节位置信息,然后经过正运动学运算获得笛卡尔空间位置序列,接着通过高阶位姿样条曲线对位置序列进行插值处理以获取连续的轨迹曲线,最终对位置序列进行逆运动学运算得到关节位置信息来控制机器人运动以复现复杂轨迹。整个过程复杂冗余,会消耗大量计算资源;并且,对位置序列进行逆运动学运算时会存在多个解选择问题,容易引发位姿变化异常。
技术实现要素:3.本技术实施例提供了一种复合动作复现方法、装置、电子设备及可读存储介质,其通过基于采集的机器人关节位置信息进行轨迹复现,避免了复杂冗余的正逆运动学计算,大大降低了计算资源的消耗,同时也避免了逆运动学运算时会存在多个解选择而引发的位姿运动异常问题,提高了机器人作业时的安全性和稳定性;还能够实现轨迹及io复合动作的示教复现,大大降低了编程复杂度。
4.本技术的实施例可以这样实现:
5.第一方面,本技术实施例提供一种复合动作复现方法,所述方法包括:
6.控制机器人进入拖动示教模式;
7.采集示教过程中的复合动作信息,直到接收到停止记录的指令,其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作;
8.控制所述机器人退出所述拖动示教模式,并根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。
9.第二方面,本技术实施例提供一种复合动作复现装置,所述装置包括:
10.控制模块,用于控制机器人进入拖动示教模式;
11.信息采集模块,用于采集示教过程中的复合动作信息,直到接收到停止记录的指令,其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作;
12.所述控制模块,还用于控制所述机器人退出所述拖动示教模式;
13.复现模块,用于根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。
14.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存
储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的复合动作复现方法。
15.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的复合动作复现方法。
16.本技术实施例提供的复合动作复现方法、装置、电子设备及可读存储介质,在控制机器人进入拖动示教模式之后,采集示教过程中的复合动作信息,直到接收到停止记录的指令;然后退出拖动示教模式,并根据复合动作信息,进而移动轨迹和目标作业动作的复现。其中,复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作。如此,可通过直接下发示教的关节位置来控制机器人运动,避免了复杂冗余的正逆运动学计算,大大降低了计算资源的消耗,同时也避免了逆运动学运算时会存在多个解选择而引发的位姿运动异常问题,提高了机器人作业时的安全性和稳定性;同时,支持机器人轨迹及io复合动作示教复现,大大降低了编程复杂度,可以更好地应用在喷涂、涂胶、焊接等场景。
附图说明
17.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
18.图1为本技术实施例提供的电子设备的方框示意图;
19.图2为本技术实施例提供的复合动作复现方法的流程示意图之一;
20.图3为本技术实施例提供的复合动作复现方法的流程示意图之二;
21.图4为本技术实施例提供的信息配置示意图;
22.图5为本技术实施例提供的采集到的复合动作信息示意图;
23.图6为本技术实施例提供的复合动作复现方法的流程示意图之三;
24.图7图6中步骤s130包括的子步骤的流程示意图;
25.图8为本实施例提供的轨迹重现指令的示意图;
26.图9为本技术实施例提供的目标程序文件的示意图;
27.图10为本技术实施例提供的复合动作复现方法的流程示意图之四;
28.图11为本技术实施例提供的复合动作复现装置的方框示意图。
29.图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-复合动作复现装置;210-控制模块;220-信息采集模块;230-复现模块。
具体实施方式
30.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
31.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护
的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
33.在喷涂、涂胶、焊接等应用场景中,经常会涉及复杂轨迹机器人编程,机器人通过常规运动指令(直线、圆弧、样条曲线)等组合无法完美复现复杂轨迹。针对该问题,本技术发明人经研究发现,目前一般采用以下两种方案复现复杂轨迹。
34.现有方案1:机器人检测示教按钮处于第一状态时,向伺服控制器发出开始示教指令使得机器人处于零力控制状态,拖动机器人示教复杂轨迹并持续获取多个第一点位信息,第一点位信息包括位姿信息;当检测示教按钮处于第二状态时,向伺服控制器发出结束示教指令使得机器人退出零力控制状态并停止获取第一点位信息,根据获取的第一点位信息生成示教轨迹文件并保存,最后根据示教轨迹文件控制机器人运动,使得机器人再现示教轨迹。
35.现有方案2:首先获取编码器输出的机器人关节位置信息,然后对关节位置信息进行正运动学运算,获得机器人在笛卡尔空间内的位置序列,接着通过高阶位姿样条曲线对位置序列进行插值处理以获取连续的轨迹曲线。
36.针对上述现有技术,本技术发明人经研究发现,现有技术中通过对关节信息进行正运动学运算以获取机器人在笛卡尔空间内的位置序列,然后通过高阶位姿样条曲线对位置序列进行插值处理以获取连续的轨迹曲线,最终还需要对位置序列进行逆运动学运算得到关节信息来控制机器人运动。整个过程复杂冗余,且会消耗大量计算资源;对位置序列进行逆运动学运算时会存在多个解选择问题,容易引发位姿变化异常;并且,现有技术只支持复杂轨迹示教复现,不支持机器人复合动作的示教复现,例如在示教复杂轨迹的过程中同时示教控制io动作。
37.针对上述问题,本技术提供了一种复合动作复现方法、装置、电子设备及可读存储介质,记录了示教过程中的输入信号及示教的轨迹对应的关节位置信息,进而基于包括该输入信号状态及关节位置信息的复合动作信息实现复合动作的复现,并且可避免进行正逆运动学解算。
38.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
39.请参照图1,图1为本技术实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,机器人、对机器人进行控制的设备等。所述电子设备100包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
40.其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
41.处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有复合动作复现装置200,所述复合动作复现装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本技术实施例中的复合动作复现装置200,从而执行各种功能应用以及数据处理,即实现本技术实施例中的复合动作复现方法。
42.通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
43.应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
44.请参照图2,图2为本技术实施例提供的复合动作复现方法的流程示意图之一。下面对执行主体为机器人为例,对复合动作复现方法的具体流程进行详细阐述。在本实施例中,该方法可以包括步骤s110~步骤s130。
45.步骤s110,控制机器人进入拖动示教模式。
46.步骤s120,采集示教过程中的复合动作信息,直到接收到停止记录的指令。
47.步骤s130,控制所述机器人退出所述拖动示教模式,并根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。
48.在本实施例中,在需要进行轨迹示教的情况下,可控制机器人进入拖动示教模式。其中,拖动示教又称直接示教,是指通过人工拖动使机器人末端按照需要的轨迹运动。在机器人处于拖动示教模式下时,可通过手动方式,使机器人末端按照期望的轨迹运动,同时执行目标作业动作,比如,喷涂、涂胶、焊接等。如此,可示教出复合动作。
49.在示教过程中,可进行数据采集直到接收到停止记录的指令为止,从而得到示教过程中的复合动作信息。其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作。所述第一状态及目标作业动作可结合实际需求确定,比如,在所述目标输入端口的输入信号为高电平时,触发所述机器人涂胶。
50.在示教之后,可控制所述机器人退出所述拖动示教模式,然后利用基于先前示教得到的复合动作信息,直接下发相应的关节位置信息及输入信号,控制机器人进行复合动作的复现。由于是直接下发关节位置来控制机器人运动,因此避免了复杂冗余的正逆运动学计算,大大降低了计算资源的消耗,同时也避免了逆运动学运算时会存在多个解选择而引发的位姿运动异常问题,提高了机器人作业时的安全性和稳定性。该方式还支持机器人轨迹及io复合动作示教复现,大大降低了编程复杂度,可以更好地应用在喷涂、涂胶、焊接等场景。
51.可选地,作为一种可能的实现方式,在示教过程中需要采集的信息种类,可以是固
定的,即,不同的动作示教需要采集的信息种类相同。如此,无需单独每次配置,即可确定需要采集的信息种类。
52.可选地,作为另一种可能的实现方式,可结合每次示教的具体情况,单独设置本次需要采集的信息种类,如此,可以保证采集的信息与本次示教的动作的匹配性,便于保证后续能够实现复合动作复现。请参照图3,图3为本技术实施例提供的复合动作复现方法的流程示意图之二。在本实施例中,在步骤s120之前,所述方法还可以包括步骤s105。步骤s105可以位于步骤s110之前,也可以位于步骤s110与步骤s120之间,具体可以结合实际需求确定,图3所示步骤顺序仅为一种示例。
53.步骤s105,接收配置信息。
54.在本实施例中,所述配置信息,可以是与机器人通信连接的控制设备基于用户的操作生成的,也可以是通过其他方式生成的,在此不进行具体限定。所述配置信息可以包括:目标点位类型、采样周期及目标输入端口标识。其中,所述目标点位类型用于指示需要被采集关节位置信息的关节。可预先设置有不同点位类型与关节组的对应关系,比如,点位类型1对应了机器人的6个关节,若目标点位类型为1则可以确定需要采集机器人的6个关节的位置(即6个关节角度)。采样周期,为采集关节位置及与目标输入端口标识对应的目标输入端口的信号的状态的周期。采样周期为机器人支持的多个周期中的一个,比如,若机器人当前支持的采样周期有2ms、6ms、8ms,则可以选择2ms作为本次信息采集时使用的采样周期。
55.可选地,所述配置信息还可以包括:目标输出端口标识、示教轨迹标识等。其中,所述目标输出端口标识为在需要所述机器人执行所述目标作业动作的情况下,所述机器人在所述目标输入端口的信号状态为所述第一状态时生成的输出信号需要被发送至的端口的标识;即当所述机器人的控制器接收到所述目标输入端口的为第一状态的信号时,生成输出信号,并将该输出信号发送至目标输出端口,以使机器人执行目标作业动作。可以理解的是,无论所述目标输入端口的信号状态为第一状态或第二状态,机器人的控制器都会基于该目标输入端口的信号状态,生成相应状态的输出信号,并将该输出信号发送至目标输出端口,以使机器人执行目标作业动作或不执行目标作业动作。所述第二状态与所述第一状态不同,比如,所述第一状态为高电平,所述第二状态为低电平。所述示教轨迹标识,用于区分不同的示教轨迹,比如可以为用户设置的示教轨迹名。
56.下面结合图4,对如何获得配置信息进行举例说明。
57.用户在控制设备提供的webapp界面上进行配置,此时webapp为机器人示教软件,作为一个上位机角色。配置的参数包括:示教轨迹名(即图4中的轨迹名称)、点位类型(即图4中的位姿)、轨迹及io采样周期(即图4中的周期)、di配置、do配置等。点位类型当前默认为机器人的6个关节位置。采样周期当前支持2ms、6ms、8ms,可配置采样周期为2ms。
58.所述di配置,可确定出目标输入端口标识,可用于指示要采集哪个输入端口的输入信号的电平状态。比如,所述机器人的控制箱有16路输入、机器人末端有2路输入,一共有18个输入端口,基于该di配置,可以确定出需要被采集信号电平状态的具体输入端口。
59.可选地,该di配置中可以包括目标输入端口标识;也可以基于不同di配置与配置内容的对应关系,将该di配置对应的配置内容中的输入端口标识作为所述目标输入端口标识。
60.所述do配置,可确定出目标输出端口标识,用于指示当机器人因在所述目标输入端口接收到为第一状态的信号时,生成相应的输出信号,并将该输出信号发送至目标输出端口标识对应的目标输出端口,以执行目标作业动作。如此,可通过配置触发执行目标作业动作的输出端口,以保证可执行该目标作业动作。
61.例如,所述第一状态为高电平,所述第二状态为低电平,机器人在目标输入端口接收到了高电平的信号时,可生成高电平的信号(即对应目标输入端口的高电平输入信号的输出信号)发送到目标输出端口,以触发涂胶动作;在目标输入端口接收到低电平的信号时,可生成低电平的信号(即对应目标输入端口的低电平输入信号的输出信号)发送到目标输出端口,以停止涂胶动作,即在当前位置不涂胶。
62.机器人的控制器可以在检测到自身的用于控制进入拖动示教模式的按钮被选中时、或者接收到控制设备发送的进入拖动示教模式的控制指令等时,可控制机器人进入拖动示教模式。比如,用户可以点击webapp界面上的图标,以下发控制指令至机器人控制器,从而使机器人进入拖动示教模式。
63.在机器人进入拖动示教模式之后,可以间隔一定时长即可确定可进行信息采集;也可以在接收到控制设备发送的开始记录指令时进行信息采集,例如,用户点击图4所示的webapp界面上的开始记录按钮;还可以在检测到机器人的用于确定进行信息采集的按钮被选中时进行信息采集。可以理解的是,上述确定开始进行信息采集的方式仅为举例说明,在此不对如何确定开始信息采集的方式进行具体限定。
64.在确定可进行信息采集之后,则可以根据所述配置信息在示教过程中周期性地进行数据采集,以得到所述复合动作信息。与配置信息对应,记录的信息可以包括:机器人的关节位置信息、机器人的目标输入端口的信号状态、机器人的目标输出端口标识等。
65.其中,记录的信息还可以包括目标工具标识,所述目标工具标识为所述机器人执行所述目标作业动作时使用的工具的标识,比如,可以为工具号。如此,便于确定机器人执行所述目标作业动作时使用的工具。
66.可选地,记录的信息中还可以包括:点位数量、采样周期、机器人的笛卡尔位姿及关节配置等。其中,所述点位数量为从开始记录到停止记录后一共记录的点数的个数。所述采样周期为所述配置信息中包括的采样周期。所述关节配置对应的具体关节配置内容,可以为对某个或某些关节的角度要求,用于在基于笛卡尔位姿进行逆运动学计算后,从多个解中确定出目标解。
67.为便于记录,可以将一些固定信息仅记录一次,然后分别记录每次采集到的关节位置信息、目标输入端口的信号状态及笛卡尔位姿等。例如,所述复合动作信息中包括:点位数量、采样周期、目标工具标识、多条采样记录,每条所述采样记录中包括所述机器人的笛卡尔位姿、关节配置、所述关节位置信息及所述目标输入端口的信号状态。
68.作为一种可能的实现方式,与图4所示的配置信息对应,如图5所示,记录的信息可以包括:点位数量、位姿类型(即图4中的位姿)、采样周期、目标工具标识、di选择、do选择、6个关节位置、笛卡尔位姿、关节配置、控制箱io输入、末端io输入等。其中,di选择对应di配置,用于指示目标输入端口;do选择对应do配置,用于指示目标输出端口。
69.其中,图5的第一行数据从左到右的含义依次如下:“4149”表示一共记录了4149个点位,“1”表示位姿类型,“2”表示采样周期,“0”表示工具号,“1”表示di选择,“1”表示do选
择。从第二行开始,则为多条采样记录,一条采样记录中从左往右依次为:6个关节位置、笛卡尔位姿、关节配置、控制箱io输入、末端io输入。可以基于di选择,从记录的控制箱io输入和末端io输入中,解析出目标输入端口的信号状态。
70.请参照图6,图6为本技术实施例提供的复合动作复现方法的流程示意图之三。在本实施例中,在步骤s120之后,所述方法还可以包括步骤s125。
71.步骤s125,在接收到停止记录的指令的情况下,将记录的复合动作信息保存为文件。
72.在示教过程中,可人工拖动机器人示教一段轨迹及io输入操作,当接收到停止记录的指令时,则停止记录信息。比如,用户可在图4所示的webapp界面上点击停止记录,控制设备则可将停止记录的控制指令发送给机器人。
73.当停止记录信息之后,可将已得到的复合动作信息保存为文件。例如,机器人控制器可将该复合动作信息写入到非易失性存储器或者存储芯片上,以进行保存,同时可设置该复合动作信息对应的文件的标识为所述示教轨迹标识。所述文件用于动作复现时使用。如此,相较于仅将信息保存在内存的方式,该方式可支持连续示教多条轨迹,并且支持多条轨迹的复现。
74.可选地,机器人控制器可以在确定需要退出拖动示教模式的情况下,退出拖动示教模式,以便后续基于复合动作信息进行轨迹复现。比如,用户在webapp界面上点击退出拖动示教模式,控制设备基于该操作向机器人控制器发送退出拖动示教模式的控制指令;或者,机器人控制器可以在接收到停止记录的指令一定时长后直接确定可以退出拖动示教模式。
75.请参照图7,图7图6中步骤s130包括的子步骤的流程示意图。在本实施中,步骤s130可以包括子步骤s131~子步骤s132。
76.子步骤s131,接收程序文件。
77.子步骤s132,在确定需要执行目标程序文件的情况下,根据所述目标程序文件,获得所述目标程序文件包括的目标文件标识对应的目标文件,并基于所述目标文件重现对应的移动轨迹和目标作业动作。
78.在本实施例中,用户可以在webapp上新建一个程序文件,添加ptp、movetpd等指令,点击保存将建好的程序文件上传至机器人控制器。其中,ptp为关节运动指令,其作用是先通过关节运动至示教轨迹的起始点;movetpd指令为轨迹及io再现指令,即为轨迹重现指令,其作用是复现示教轨迹及io输入。movetpd指令参数主要包括:示教轨迹标识(即需要被重现的轨迹的文件标识)。
79.在机器人控制器仅接收到一个程序文件的情况下,可直接将程序文件作为目标程序文件。在机器人控制器接收到多个程序文件的情况下,可以将最新接收到的程序文件或者基于控制发送的执行指令中包括的程序文件标识确定出目标程序文件。其中,所述目标程序文件为接收到的一个程序文件。
80.所述机器人控制器可以在接收到目标程序文件一定时长后,直接确定需要执行该目标程序文件;或者用户可以在webapp进行操作,以通过webapp界面按钮下发控制指令至机器人控制器,使机器人执行程序文件复现示教的轨迹及io操作。
81.在确定需要执行目标程序文件的情况下,则可以根据所述目标程序文件,先读取
目标程序文件包括的目标文件标识对应的目标文件。其中,目标目标程序文件包括的文件标识,即为所述目标文件标识。然后,可基于所述目标文件重现对应的移动轨迹和目标作业动作。比如,直接按照采集信息时使用的采样周期,下发采集到的关节位置信息和目标输入端口的信号来控制机器人运动。
82.作为一种可能的实现方式,所述轨迹重现指令中还可以包括重现要求,所述重现要求包括关节的目标调试速度和/或是否平滑,即movetpd指令参数还可以包括:是否平滑、调试速度等。
83.如图8所示,用户可在webapp界面上设置要复现的轨迹名为tpd01、设置平滑轨迹为false、并设置调试速度为25。当用户在webapp界面上完成指令添加后,则可以生成程序文件。程序文件如图9所示,ptp(p1,100,0,0)用于通过关节运动至示教轨迹的启示点,movetpd(“tpd01”,1,100)用于表示需要复现的轨迹为tpd01,以及是否平滑和调试速度。
84.在设置了所述目标调试速度及要求平滑的情况下,可对所述目标文件中的关节位置信息进行平滑处理,得到处理后的关节位置信息。其中,平滑功能可以基于三次b样条曲线拟合算法或其他平滑算法实现,在此不进行具体限定。比如,相邻的两组关节位置信息中,第一组关节位置信息为a1~a6,第二组关节位置信息为b1~b6,则可以针对a1及b1进行平滑,针对a2及b2进行平滑,依此类推。
85.在本技术实施例中,通过直接下发关节位置来控制机器人运动,避免了复杂冗余的正逆运动学计算,大大降低了计算资源的消耗,同时也避免了逆运动学运算时会存在多个解选择而引发的位姿运动异常问题,提高了机器人作业时的安全性和稳定性。并且,支持机器人轨迹及io复合动作示教复现,大大降低了编程复杂度,可以更好地应用在喷涂、涂胶、焊接等场景。本技术实施例中的复现指令movetpd可以跟很多其他指令一起组合在程序中使用,同时可以支持多条轨迹的复现,并可以调节复现的速度。
86.在本实施例中,所述复合动作信息中包括多条采样记录,可以在数据采集过程中或者采集完数据之后,针对部分采样记录或全部采样记录,进行数据校验,以便由于采集器件故障等原因导致采集到的复合动作信息与实际示教信息不对应,进而导致无法复现示教的复合动作。
87.请参照图10,图10为本技术实施例提供的复合动作复现方法的流程示意图之四。在本实施例中,所述方法还可以包括步骤s140~步骤s170。其中,步骤s140~步骤s170的具体执行时机可以结合实际需求确定,图10所示仅为一种示例。
88.步骤s140,针对每一条所述采样记录,根据所述采样记录中的笛卡尔位姿,通过逆运动学计算,得到多组待选关节位置信息。
89.步骤s150,根据所述关节配置,将所述多组待选关节位置信息中的其中一组待选关节位置信息作为目标待选关节位置信息。
90.步骤s160,根据所述目标待选关节位置信息与所述采样记录中的关节位置信息,判断所述采样记录是否有误。
91.步骤s170,若有误,则生成采样记录有误的提示信息。
92.在本实施例中,如上所述,每条所述采样记录中包括所述机器人的笛卡尔位姿、关节配置、所述关节位置信息及所述目标输入端口的信号状态。可针对待判断的每一条采样记录,根据该条采样记录中的笛卡尔位姿,进行逆运动学计算,得到多组待选关节位置信
息。其中,每组待选关节位置信息对应的关节,至少包括该条采样记录中的关节位置信息所对应的关节。比如,每组待选关节位置信息对应了机器人的6个关节的位置,该条采样记录也包括机器人的6个关节的位置。
93.基于所述关节配置,可从所述多组待选关节位置信息中,确定出一组待选关节位置信息作为目标待选关节位置信息。例如,可基于所述关节配置,确定出关节角度要求,然后基于该关节角度要求选出目标待选关节位置信息。
94.可选地,可以将所述目标待选关节位置信息与所述采样记录中的关节位置信息进行比对,若两者不同,则可以确定该条采样记录有误;若两者相同,则可以确定该条采样记录无误。或者,可以计算两者的差值情况,若各关节对应的差值在相应的角度范围外,则可以确定该条采样记录有误;反之若各关节对应的差值在相应的角度范围内,则可以确定该条采样记录无误。
95.若无误,则可以不进行其他处理。若有误,则可以生成采样记录有误的提示信息,以对用户进行提示。比如,可以将该提示信息发送给控制设备进行显示,用户在收到该信息后,可对机器人的采集器件进行检查等,并在完成维护后可再次进行复合动作的示教。
96.为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种复合动作复现装置200的实现方式,可选地,该复合动作复现装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参照图11,图11为本技术实施例提供的复合动作复现装置200的方框示意图。需要说明的是,本实施例所提供的复合动作复现装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述复合动作复现装置200可以包括:控制模块210、信息采集模块220及复现模块230。
97.所述控制模块210,用于控制机器人进入拖动示教模式。
98.所述信息采集模块220,用于采集示教过程中的复合动作信息,直到接收到停止记录的指令。其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作。
99.所述控制模块210,还用于控制所述机器人退出所述拖动示教模式。
100.所述复现模块230,用于在所述机器人退出所述拖动示教模式之后,根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。
101.可选地,在本实施例中,所述信息采集模块220,还用于在采集示教过程中的复合动作信息之前,接收配置信息。其中,所述配置信息中包括目标点位类型、采样周期及目标输入端口标识,所述目标点位类型用于指示需要被采集关节位置信息的关节。所述信息采集模块220具体用于根据所述配置信息在示教过程中周期性地进行数据采集,以得到所述复合动作信息。
102.可选地,在本实施例中,所述配置信息还包括示教轨迹标识,所述信息采集模块220还用于:在接收到停止记录的指令的情况下,将记录的复合动作信息保存为文件。其中,所述复合动作信息对应的文件的标识为所述示教轨迹标识,所述文件用于动作复现时使用。
103.可选地,所述复合动作信息中包括多条采样记录,每条所述采样记录中包括所述机器人的笛卡尔位姿、关节配置、所述关节位置信息及所述目标输入端口的信号状态,所述
信息采集模块220还用于:针对每一条所述采样记录,根据所述采样记录中的笛卡尔位姿,通过逆运动学计算,得到多组待选关节位置信息;根据所述关节配置,将所述多组待选关节位置信息中的其中一组待选关节位置信息作为目标待选关节位置信息;根据所述目标待选关节位置信息与所述采样记录中的关节位置信息,判断所述采样记录是否有误;若有误,则生成采样记录有误的提示信息。
104.可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于的显示被100的操作系统(operating system,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
105.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的复合动作复现方法。
106.综上所述,本技术实施例提供一种复合动作复现方法、装置、电子设备及可读存储介质,在控制机器人进入拖动示教模式之后,采集示教过程中的复合动作信息,直到接收到停止记录的指令;然后退出拖动示教模式,并根据复合动作信息,进而移动轨迹和目标作业动作的复现。其中,复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作。如此,可通过直接下发示教的关节位置来控制机器人运动,避免了复杂冗余的正逆运动学计算,大大降低了计算资源的消耗,同时也避免了逆运动学运算时会存在多个解选择而引发的位姿运动异常问题,提高了机器人作业时的安全性和稳定性;同时,支持机器人轨迹及io复合动作示教复现,大大降低了编程复杂度,可以更好地应用在喷涂、涂胶、焊接等场景。
107.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
108.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
109.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
110.以上所述仅为本技术的可选实施例而已,并不用于限制本技术,对于本领域的技
术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:1.一种复合动作复现方法,其特征在于,所述方法包括:控制机器人进入拖动示教模式;采集示教过程中的复合动作信息,直到接收到停止记录的指令,其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作;控制所述机器人退出所述拖动示教模式,并根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。2.根据权利要求1所述的方法,其特征在于,在所述采集示教过程中的复合动作信息之前,所述方法还包括:接收配置信息,其中,所述配置信息中包括目标点位类型、采样周期及目标输入端口标识,所述目标点位类型用于指示需要被采集关节位置信息的关节;所述采集示教过程中的复合动作信息,包括:根据所述配置信息在示教过程中周期性地进行数据采集,以得到所述复合动作信息。3.根据权利要求2所述的方法,其特征在于,所述配置信息中还包括目标输出端口标识;所述目标输出端口标识为在需要所述机器人执行所述目标作业动作的情况下,所述机器人在所述目标输入端口的信号状态为所述第一状态时生成的输出信号需要被发送至的端口的标识;和/或,所述复合动作信息中还包括目标工具标识,其中,所述目标工具标识为所述机器人执行所述目标作业动作时使用的工具的标识。4.根据权利要求2-3任意一项所述的方法,其特征在于,所述配置信息还包括示教轨迹标识,所述方法还包括:在接收到停止记录的指令的情况下,将记录的复合动作信息保存为文件,其中,所述复合动作信息对应的文件的标识为所述示教轨迹标识,所述文件用于动作复现时使用。5.根据权利要求4所述的方法,其特征在于,所述根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现,包括:接收程序文件,其中,所述程序文件中包括轨迹重现指令,所述轨迹重现指令中包括需要被重现的轨迹的文件标识;在确定需要执行目标程序文件的情况下,根据所述目标程序文件,获得所述目标程序文件包括的目标文件标识对应的目标文件,并基于所述目标文件重现对应的移动轨迹和目标作业动作,其中,所述目标程序文件为接收到的一个程序文件。6.根据权利要求5所述的方法,其特征在于,所述轨迹重现指令中还包括重现要求,所述重现要求包括关节的目标调试速度和/或是否平滑,所述基于所述目标文件重现对应的移动轨迹和目标作业动作,包括:在设置了所述目标调试速度及要求平滑的情况下,对所述目标文件中的关节位置信息进行平滑处理,得到处理后的关节位置信息,并基于所述目标调试速度,根据所述目标文件中的目标输入端口的信号状态及处理后的关节位置信息,进行动作重现。7.根据权利要求1-3中任意一项所述的方法,其特征在于,所述复合动作信息中包括多条采样记录,每条所述采样记录中包括所述机器人的笛卡尔位姿、关节配置、所述关节位置信息及所述目标输入端口的信号状态,所述方法还包括:
针对每一条所述采样记录,根据所述采样记录中的笛卡尔位姿,通过逆运动学计算,得到多组待选关节位置信息;根据所述关节配置,将所述多组待选关节位置信息中的其中一组待选关节位置信息作为目标待选关节位置信息;根据所述目标待选关节位置信息与所述采样记录中的关节位置信息,判断所述采样记录是否有误;若有误,则生成采样记录有误的提示信息。8.一种复合动作复现装置,其特征在于,所述装置包括:控制模块,用于控制机器人进入拖动示教模式;信息采集模块,用于采集示教过程中的复合动作信息,直到接收到停止记录的指令,其中,所述复合动作信息包括所述机器人的关节位置信息及目标输入端口的信号状态,所述目标输入端口的信号状态为第一状态时触发所述机器人执行目标作业动作;所述控制模块,还用于控制所述机器人退出所述拖动示教模式;复现模块,用于根据所述复合动作信息,进行移动轨迹和所述目标作业动作的复现。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-7中任意一项所述的复合动作复现方法。10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的复合动作复现方法。
技术总结本申请提供了一种复合动作复现方法、装置、电子设备及可读存储介质,涉及机器人技术领域。该方法包括:控制机器人进入拖动示教模式;采集示教过程中的复合动作信息,直到接收到停止记录的指令,复合动作信息包括机器人的关节位置信息及目标输入端口的信号状态,目标输入端口的信号状态为第一状态时触发机器人执行目标作业动作;控制机器人退出拖动示教模式,根据复合动作信息,进行移动轨迹和目标作业动作的复现。如此,可实现复合动作的复现,从而降低编程复杂度,可以应用在喷涂、涂胶、焊接等场景中;同时,可避免复杂冗余的正逆运动学计算,减少消耗的资源,并提高机器人作业时的安全性和稳定性。安全性和稳定性。安全性和稳定性。
技术研发人员:王超 丁磊 高加超 姚庭 史琦亮 赵进奇
受保护的技术使用者:法奥意威(苏州)机器人系统有限公司
技术研发日:2022.07.26
技术公布日:2022/11/1