1.本发明涉及机器人控制技术领域,具体而言,涉及一种机器人活动部件的轨迹分析方法及装置、机器人设备。
背景技术:2.相关技术中,在显示机器人的活动路径时,往往仅显示在机器人的机械臂前端所安装的工具(主要是工具中心点tcp,独立于机器人)的活动路径,这种活动路径的显示方式存在明显的弊端:工具的活动路径往往是单一直线(有起始点至终止点,两点之间直接确定一条直线路径),在这个过程中,如果按照原来的工具活动路径行驶,未考虑到机器人其它活动部件(如机械臂、肘部)的活动路径的话,其它机器人的活动部件很容易与障碍物发生碰撞,造成机器人操作失误,否则就需要为每个机器人留出足够大的活动空间,才能避免与其它物体的碰撞,但是这种处理方式,往往会导致在一个活动空间内安装的机器人数量大大降低,工作效率会明显降低。
3.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:4.本发明实施例提供了一种机器人活动部件的轨迹分析方法及装置、机器人设备,以至少解决相关技术中仅考虑机器人的工具活动路径,未考虑其它活动部件的活动路径,容易造成碰撞的技术问题。
5.根据本发明实施例的一个方面,提供了一种机器人活动部件的轨迹分析方法,包括:获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,所述预设机器人上的活动部件的数量大于等于两个;分析所述工具由所述当前坐标移动至目标位置的移动路径,其中,所述移动路径包括多个路径点;基于所述工具的移动路径和所述移动路径上的每个路径点,逆向计算每个所述活动部件的活动轨迹。
6.可选地,所述活动部件的类型包括:机器人关节、机器人肘部、机器人肩部、法兰。
7.可选地,在所述活动部件的类型为机器人关节时,所述轨迹分析方法还包括:接收关节转动指令,其中,所述关节转动指令包括:待确定轨迹的目标机器人关节的关节标识;基于所述关节转动指令,计算与所述关节标识对应的目标机器人关节在活动时的关节角度差;基于所述关节角度差和离散点的点数量,计算所述目标机器人关节的关节转动角度;基于所述关节转动角度,判断所述目标机器人关节在转动时是否会触碰到障碍物;若所述目标机器人关节在转动时会触碰到障碍物,调整关节转动角度。
8.可选地,基于所述关节角度差和离散点的点数量,计算所述目标机器人关节的关节转动角度之前,所述轨迹分析方法还包括:接收外部终端输入的离散角度参数;基于所述关节角度差以及所述离散角度参数,计算离散点的点数量。
9.可选地,在调整关节转动角度之后,所述轨迹分析方法还包括:基于所述当前坐标以及调整后的所述机器人关节的关节转动角度,计算下一位置点;控制所述目标机器人关
节活动到所述下一位置点。
10.可选地,所述轨迹分析方法还包括:确定与所述活动部件对应的轨迹标识颜色;基于所述轨迹标识颜色,展示所述活动部件的活动轨迹。
11.根据本发明实施例的另一方面,还提供了一种机器人活动部件的轨迹分析装置,包括:获取单元,用于获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,所述预设机器人上的活动部件的数量大于等于两个;分析单元,用于分析所述工具由所述当前坐标移动至目标位置的移动路径,其中,所述移动路径包括多个路径点;计算单元,用于基于所述工具的移动路径和所述移动路径上的每个路径点,逆向计算每个所述活动部件的活动轨迹。
12.可选地,所述活动部件的类型包括:机器人关节、机器人肘部、机器人肩部、法兰。
13.可选地,在所述活动部件的类型为机器人关节时,所述机器人活动部件的轨迹分析装置还包括:第一接收单元,用于接收关节转动指令,其中,所述关节转动指令包括:待确定轨迹的目标机器人关节的关节标识;第一计算模块,用于基于所述关节转动指令,计算与所述关节标识对应的目标机器人关节在活动时的关节角度差;基于所述关节角度差和离散点的点数量,计算所述目标机器人关节的关节转动角度;第一判断模块,用于基于所述关节转动角度,判断所述目标机器人关节在转动时是否会触碰到障碍物;第一调整模块,用于在所述目标机器人关节在转动时会触碰到障碍物时,调整关节转动角度。
14.可选地,所述机器人活动部件的轨迹分析装置还包括:第二接收单元,用于在基于所述关节角度差和离散点的点数量,计算所述目标机器人关节的关节转动角度之前,接收外部终端输入的离散角度参数;第二计算模块,用于基于所述关节角度差以及所述离散角度参数,计算离散点的点数量。
15.可选地,所述机器人活动部件的轨迹分析装置还包括:第三计算模块,用于在调整关节转动角度之后,基于所述当前坐标以及调整后的所述机器人关节的关节转动角度,计算下一位置点;控制模块,用于控制所述目标机器人关节活动到所述下一位置点。
16.可选地,所述机器人活动部件的轨迹分析装置还包括:确定模块,用于确定与所述活动部件对应的轨迹标识颜色;展示模块,用于基于所述轨迹标识颜色,展示所述活动部件的活动轨迹。
17.根据本发明实施例的另一方面,还提供了一种机器人设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的机器人活动部件的轨迹分析方法。
18.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的机器人活动部件的轨迹分析方法。
19.本发明实施例中,采用获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个,分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点,基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。在该实施例中,可以显示非工具的其它机器人活动部件的活动路径,进而通过显示的活动路径与其它障碍物的相对位置,若出现碰撞可以及时考虑调整工具活动路径和活动部件的活动路径,减少与障碍物的碰撞,从而解决相
关技术中仅考虑机器人的工具活动路径,未考虑其它活动部件的活动路径,容易造成碰撞的技术问题。
附图说明
20.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
21.图1是根据本发明实施例的一种可选的机器人活动部件的轨迹分析方法的流程图;
22.图2是根据本发明实施例的一种可选的机器人活动部件的轨迹分析装置的示意图。
具体实施方式
23.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.实施例一
26.根据本发明实施例,提供了一种机器人活动部件的轨迹分析方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
27.图1是根据本发明实施例的一种可选的机器人活动部件的轨迹分析方法的流程图,如图1所示,该方法包括如下步骤:
28.步骤s102,获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个;
29.步骤s104,分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点;
30.步骤s106,基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。
31.通过上述步骤,可以获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个,分析工具由当前坐标移动至目标位置
的移动路径,其中,移动路径包括多个路径点,基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。在该实施例中,可以显示非工具的其它机器人活动部件的活动路径,进而通过显示的活动路径与其它障碍物的相对位置,若出现碰撞可以及时考虑调整工具活动路径和活动部件的活动路径,减少与障碍物的碰撞,从而解决相关技术中仅考虑机器人的工具活动路径,未考虑其它活动部件的活动路径,容易造成碰撞的技术问题。
32.本实施例中所涉及的到机器人的包括但不限于:工业机器人和教育机器人,有3-6个自由度,本实施例以6自由度进行示意说明,对应j1-j6关节,机器人上包括有:基座、肘部、腕部、臂部(机械臂,通过工具夹取各个工件)、法兰等,机器人内部包含有:伺服电机、传送带、出气口等。
33.可选的,本实施例可以应用于各种实际工作场景,例如,焊接场景、码垛场景、喷涂场景等。
34.下面结合上述各实施步骤来详细说明本发明实施例。
35.步骤s102,获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个。
36.在本实施例中,工具可以理解为机器人的末端执行器,工具的当前坐标主要是指工具中心点tcp的当前坐标,该当前坐标以机器人的基座中心为坐标原点,构建机器人三维坐标所确定坐标。
37.本实施例中,活动部件的类型包括:机器人关节、机器人肘部、机器人肩部、法兰。本实施例中,活动部件主要是指机器人的操作臂,包含多个机器人关节,例如,分别确定j1-j6关节的活动轨迹,以每个机器人关节的关节中心点的坐标轨迹确定该关节的活动路径。
38.步骤s104,分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点。
39.步骤s106,基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。
40.通过工具的移动路径和移动路径上的每个路径点,针对每个路径点,采用逆向运动学求解各个关节的位置点的坐标。
41.可选的,在活动部件的类型为机器人关节时,轨迹分析方法还包括:接收关节转动指令,其中,关节转动指令包括:待确定轨迹的目标机器人关节的关节标识;基于关节转动指令,计算与关节标识对应的目标机器人关节在活动时的关节角度差;基于关节角度差和离散点的点数量,计算目标机器人关节的关节转动角度;基于关节转动角度,判断目标机器人关节在转动时是否会触碰到障碍物;若目标机器人关节在转动时会触碰到障碍物,调整关节转动角度。
42.在计算非工具的其它活动部件的活动路径过程时,需要先考虑出发点和目的点之间的关节角度转动指令、确定的目标关节确定转动轨迹线,计算最大关节角度差(通过j1'-j1,j2'-j2
…
fl'-fl,取最大的角度差,其中,j1'为到达目标位置点时第一关节的坐标值,j1为工具在当前坐标时第一关节的坐标值,其它类似,通过计算多个关节的角度差,然后选取最大的一个角度差),通过最大转动角度差除以离散角度参数(如1度、2度和5度)确定离散点的点数量。
43.本实施例中,基于关节角度差和离散点的点数量,计算目标机器人关节的关节转动角度之前,轨迹分析方法还包括:接收外部终端输入的离散角度参数;基于关节角度差以及离散角度参数,计算离散点的点数量。
44.可选的,在调整关节转动角度之后,轨迹分析方法还包括:基于当前坐标以及调整后的机器人关节的关节转动角度,计算下一位置点;控制目标机器人关节活动到下一位置点。
45.以第n个关节为例,通过第一公式:((jn'-jn)
÷
k)*n+jn’,计算出所有活动关节的关节转动角度,结合活动关节的当前位置,计算下一位置点,保证活动关节足够圆滑。其中,jn是指第n个关节到达目标位置点时的坐标值,jn为在当前坐标时第n个关节的坐标值,k为离散点的点数量。
46.另一种可选的,轨迹分析方法还包括:确定与活动部件对应的轨迹标识颜色;基于轨迹标识颜色,展示活动部件的活动轨迹。
47.本实施例中,轨迹标识颜色包括但不限于:红色、绿色、黄色、白色、黑色等。
48.下面结合另一种可选的实施例来说明本发明。
49.实施例二
50.本实施例提供了一种机器人活动部件的轨迹分析装置,该轨迹分析装置包含有多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
51.图2是根据本发明实施例的一种可选的机器人活动部件的轨迹分析装置的示意图,如图2所示,该轨迹分析装置可以包括:获取单元21、分析单元23、计算单元25,其中,
52.获取单元21,用于获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个;
53.分析单元23,用于分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点;
54.计算单元25,用于基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。
55.上述机器人活动部件的轨迹分析装置,可以通过获取单元21获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个,通过分析单元23分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点,通过计算单元25基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。在该实施例中,可以显示非工具的其它机器人活动部件的活动路径,进而通过显示的活动路径与其它障碍物的相对位置,若出现碰撞可以及时考虑调整工具活动路径和活动部件的活动路径,减少与障碍物的碰撞,从而解决相关技术中仅考虑机器人的工具活动路径,未考虑其它活动部件的活动路径,容易造成碰撞的技术问题。
56.可选的,活动部件的类型包括:机器人关节、机器人肘部、机器人肩部、法兰。
57.可选的,在活动部件的类型为机器人关节时,机器人活动部件的轨迹分析装置还包括:第一接收单元,用于接收关节转动指令,其中,关节转动指令包括:待确定轨迹的目标机器人关节的关节标识;第一计算模块,用于基于关节转动指令,计算与关节标识对应的目标机器人关节在活动时的关节角度差;基于关节角度差和离散点的点数量,计算目标机器人关节的关节转动角度;第一判断模块,用于基于关节转动角度,判断目标机器人关节在转
动时是否会触碰到障碍物;第一调整模块,用于在目标机器人关节在转动时会触碰到障碍物时,调整关节转动角度。
58.另一种可选的,机器人活动部件的轨迹分析装置还包括:第二接收单元,用于在基于关节角度差和离散点的点数量,计算目标机器人关节的关节转动角度之前,接收外部终端输入的离散角度参数;第二计算模块,用于基于关节角度差以及离散角度参数,计算离散点的点数量。
59.可选的,机器人活动部件的轨迹分析装置还包括:第三计算模块,用于在调整关节转动角度之后,基于当前坐标以及调整后的机器人关节的关节转动角度,计算下一位置点;控制模块,用于控制目标机器人关节活动到下一位置点。
60.在本实施例中,机器人活动部件的轨迹分析装置还包括:确定模块,用于确定与活动部件对应的轨迹标识颜色;展示模块,用于基于轨迹标识颜色,展示活动部件的活动轨迹。
61.上述的机器人活动部件的轨迹分析装置还可以包括处理器和存储器,上述获取单元21、分析单元23、计算单元25等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
62.上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。
63.上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
64.根据本发明实施例的另一方面,还提供了一种机器人设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的机器人活动部件的轨迹分析方法。
65.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项的机器人活动部件的轨迹分析方法。
66.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取预设机器人的机械臂末端所夹取的工具的当前坐标,其中,预设机器人上的活动部件的数量大于等于两个;分析工具由当前坐标移动至目标位置的移动路径,其中,移动路径包括多个路径点;基于工具的移动路径和移动路径上的每个路径点,逆向计算每个活动部件的活动轨迹。
67.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
68.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
69.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互
之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
70.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
71.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
72.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
73.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。