确定规划路径的方法、装置、scara机器人及介质
技术领域
1.本技术属于运动控制技术领域,尤其涉及确定规划路径的方法、装置、scara机器人及介质。
背景技术:2.随着我国机器人行业的发展,不同领域可以采用不同类型的机器人进行作业,例如,选择顺应性装配机器手臂(selective compliance assembly robot arm,scara)机器人,可以进行点胶或装配等。
3.在scara机器人进行作业时,通常需要避开障碍物进行作业,相关技术中,通常scara机器人的作业过程中的移动路径是由多条直线组成的,该机器人在移动到两条直线的拐点处时,通常需要停下来从一条直线的移动方向转换到另一条直线移动方向,这样会导致该机器人需要停顿,从而会导致该机器人的作业效率较差。
技术实现要素:4.本技术实施例提供了确定规划路径的方法、装置、scara机器人及介质,利用多个插值点规划第一端的移动路径,避免scara机器人需要大幅度的变换方向而导致的停顿,从而可以提高scara机器人的作业效率。
5.为了实现上述目的,第一方面,本技术实施例提供了一种确定规划路径的方法,该方法应用于scara机器人,该scara机器人包括多个关节,多个关节包括第一关节,第一关节用于控制机器人的第一端升降,该方法包括:
6.获取scara机器人待规划路径的起始点、待规划路径的终止点、第一端的上升高度和下降高度,起始点与多个关节的关节角度一一对应,终止点与多个关节的关节角度一一对应;
7.确定多个关节中各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
8.确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,p+q小于或等于n,n、p和q为正整数;
9.根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点确定起始点到终止点之间的第一端的移动的规划路径。
10.上述方案中,机器人可以根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,以及scara机器人的第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,规划第一端的移动的规划路径,利用多个插值点规划的移动路径相对与直线路径比较平滑,避免scara机器人需要大幅度的变换方向而导致的停顿,从而可以提高scara机器人的作业效率。
11.可选地,确定多个关节中各个关节对应的起始点的关节角度与终止点的关节角度
之间运动插补对应的n个插值点,包括:
12.根据多个关节中各个关节对应的起始点的关节角度与终止点的关节角度,确定各个关节对应的角度变化量;
13.根据各个关节对应的预设的第一运动参数,确定各个关节移动各自的角度变化量所需要的运动总时间;
14.在多个关节中将最大总时间对应的关节确定为第二关节;
15.根据预设的第一运动参数,确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
16.根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
17.上述方案中,根据各个关节对应的预设的第一运动参数、各个关节对应的角度变化量,确定各个关节移动各自的角度变化量所需要的运动总时间,是为了将各个关节移动各自的角度变化量所需要的运动总时间进行比较,获取最大总时间对应的关节为第二关节,也就是主运动关节,由于主运动关节能够表示scara机器人的大致运动位置,因此,可以先利用预设的第一运动参数,对主运动关节对应的起始点的关节角度与终止点的关节角度之间的角度进行插补,得到n个插值点,并利用主运动关节对应的起始点的关节角度与终止点的关节角度之间n个插值点,确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
18.可选地,根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,包括:
19.根据除第二关节外的其他各个关节对应的起始点的关节角度、第二关节对应的起始点的关节角度、第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、第二关节对应的角度变化量和除第二关节外的其他各个关节对应的角度变化量,确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
20.可选地,第一端的上升高度和下降高度相等时,p等于q。
21.上述方案相对于上升高度和下降高度不相等的方案来说,设计更加简单。
22.可选地,确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,包括:
23.根据预设的第二运动参数,确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点。
24.可选地,在根据预设的第二运动参数,确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点之前,方法还包括:
25.若第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量之和大于n,则调整预设的第三运动参数;
26.将调整后的第三运动参数确定为第二运动参数。
27.上述方案中,预设的第三运动参数可以确定第一端的上升高度对应的插值点数量
与第一端下降高度对应的插值点数量,调整预设的第三运动参数,是为了使p+q小于或等于n,这样得到的第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,才可以与起始点位置处第一关节对应的关节角度与终止点位置处的关节角度之间的n个插值点进行求和。
28.可选地,根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点确定起始点到终止点之间的第一端的移动的规划路径,包括:
29.根据p个插值点和q个插值点,确定第一端在上升高度与下降高度对应的n个插值点;
30.将第一端在上升高度与下降高度对应的n个插值点和第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
31.根据更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点和多个关节中除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定起始点到终止点之间的第一端的移动的规划路径。
32.上述方案中,由于第一端的上升高度与下降高度是由第一关节来旋转控制的,因此,可以将第一端在上升高度与下降高度对应的n个插值点与第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,从而更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,进而再与除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,共同确定scara机器人的第一端的运行路径,而不是盲目地规划路径,造成scara机器人的第一端可能碰撞障碍物的问题。
33.可选地,根据p个插值点和q个插值点,确定第一端在上升高度与下降高度对应的n个插值点,包括:
34.若p+q小于n,将p个插值点与q个插值点按照第一排序规则,确定p+q个插值点;
35.在p+q个插值点中插补n-p-q个第一值,确定第一端在上升高度与下降高度对应的n个插值点;
36.若p+q等于n,将p个插值点与q个插值点按照第一顺序规则,确定第一端在上升高度与下降高度对应的n个插值点。
37.可选地,第一值为0度。
38.上述方案中,p个插值点和q个插值点分别为scara机器人第一端的上升高度和下降高度对应的插值点,scara机器人第一端的升降是通过第一关节关节角度来控制的,可以将第一端的上升高度和下降高度对应的n个插值点与点对点运动中第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点求和,因此,需要确保由第一端的上升高度和下降高度对应的插值点的数量与n值相等。
39.第二方面,本技术实施例提供了一种确定规划路径的装置,该装置包括:
40.获取单元,用于获取装置待规划路径的起始点、待规划路径的终止点、第一端的上升高度和下降高度,起始点与多个关节的关节角度一一对应,终止点与多个关节的关节角
度一一对应;
41.确定单元,用于多个关节中各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
42.所述确定单元,还用于确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,p+q小于或等于n,n,p和q为正整数;
43.所述确定单元,还用于根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点确定起始点到终止点之间的第一端的移动的规划路径。
44.可选地,所述确定单元具体用于,根据多个关节中各个关节对应的起始点的关节角度与终止点的关节角度,确定各个关节对应的角度变化量;
45.根据各个关节对应的预设的第一运动参数,确定各个关节移动各自的角度变化量所需要的运动总时间;
46.在多个关节中将最大总时间对应的关节确定为第二关节;
47.根据预设的第一运动参数,确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
48.根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
49.可选地,所述确定单元还具体用于,根据除第二关节外的其他各个关节对应的起始点的关节角度、第二关节对应的起始点的关节角度、第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、第二关节对应的角度变化量和除第二关节外的其他各个关节对应的角度变化量,确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
50.可选地,第一端的上升高度和下降高度相等时,p等于q。
51.可选地,该装置还包括:处理单元用于根据预设的第二运动参数,确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点。
52.可选地,所述处理单元具体还用于,若第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量之和大于n,则调整预设的第三运动参数;
53.将调整后的第三运动参数确定为第二运动参数。
54.可选地,所述确定单元还用于,根据p个插值点和q个插值点,确定第一端在上升高度与下降高度对应的n个插值点。
55.可选地,该装置还包括:更新单元用于将第一端在上升高度与下降高度对应的n个插值点和第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
56.可选地,所述确定单元还用于,根据更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点和多个关节中除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定起始点到终止点之间的第一端的移动的规划路径。
57.可选地,所述确定单元具体还用于,若p+q小于n,将p个插值点与q个插值点按照第一排序规则,确定p+q个插值点;
58.在p+q个插值点中插补n-p-q个第一值,确定第一端在上升高度与下降高度对应的n个插值点;
59.若p+q等于n,将p个插值点与q个插值点按照第一顺序规则,确定第一端在上升高度与下降高度对应的n个插值点。
60.第三方面,本技术实施例提供一种scara机器人,包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令时,以实现上述第一方面或第一方面的任一实施方式的方法。
61.第四方面,本技术实施例提供一种介质,该介质上存储有计算机程序,计算机程序被处理器执行时,以实现上述第一方面或第一方面的任一实施方式的方法。
62.本技术实施例与现有技术相比存在的有益效果是:由于本技术根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,以及scara机器人第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,规划第一端的移动的规划路径,利用多个插值点规划的移动路径相对与直线路径比较平滑,避免scara机器人需要大幅度的变换方向而导致的停顿,从而可以提高scara机器人的作业效率。
附图说明
63.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
64.图1是本技术一实施例提供的一种scara机器人的结构示意图;
65.图2是本技术一实施例提供的一种相关技术中scara机器人的末端避障的移动路径图;
66.图3是本技术一实施例提供的一种确定规划路径的方法的流程示意图;
67.图4是本技术一实施例提供的一种确定规划路径的方法中的7段s型速度规划的速度示意图;
68.图5是本技术一实施例提供的一种确定规划路径的方法中的7段s型速度规划的加速度示意图;
69.图6是本技术一实施例提供的一种相关技术的移动路径与本方案的移动路径的对比示意图;
70.图7是本技术一实施例提供的一种确定规划路径的装置的示意图;
71.图8是本技术一实施例提供的一种scara机器人的结构示意图。
具体实施方式
72.下面将结合本技术实施例中的,对本技术实施例中的技术方案进行详细说明。
73.应当理解,本技术实施例中的方式、情况、类别以及实施例的划分只是为了方便描述,不对本技术构成任何限定,各种方式、类别、情况以及实施例中的特征在不相矛盾的情
况下可以相互结合。
74.随着我国机器人行业的发展,不同领域可以采用不同类型的机器人进行作业,例如,选择顺应性装配机器手臂(selective compliance assembly robot arm,scara)机器人,可以进行点胶或装配等。
75.在scara机器人进行作业时,通常该机器人需要避开障碍物进行作业。相关技术中,该机器人在作业过程中的移动路径是由多条直线组成的,机器人在移动到两条直线的拐点处时,通常需要停下来从一条直线的移动方向换到另一条直线的移动方向,这样会导致scara机器人需要停顿,从而会导致该机器人的作业效率较差。
76.图1是本技术提供的一种scara机器人的示意图,举例给出了包括四个关节的scara机器人的具体结构,四个关节具体为第一关节、第二关节、第三关节和第四关节。其中,第一关节的旋转用来控制scara机器人的第一端的升降,第二关节的旋转用来控制第一端e的水平面上的具体位置,scara机器人的第一端e的具体位置由四个关节的关节角度确定。scara机器人的四个关节对应的关节角度均为0时,该机器人所呈现的位置如图1所示。图1所示的scara机器人的第一端在避障时,第一端会沿着多条直线移动,在两直线拐点处,第一段需要停下来从一条直线的方向切换到另一条直线的方向,例如图2中的a、b处,scara机器人需要在a、b处停顿,这样会导致机器人的作业效率较差,其中,第一端可以是机器人的末端。
77.应理解地,图1只是举例说明了某一种scara机器人,scara机器人包括四个关节,当然,该机器人也可以包括五个关节,其中有一个关节用于控制机器人第一端的升降等,图2只是举例说明了一种scara机器人的末端的移动路径,但是本技术的方案并不限定于图2所示的移动路径。
78.基于上述问题,本技术提出了确定规划路径的方法、装置、scara机器人及介质,首先获取scara机器人待规划路径的起始点、待规划路径的终止点、第一端的上升高度和下降高度;再确定多个关节中各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,p+q小于或等于n,n、p和q为正整数;最后根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点确定起始点到终止点之间的第一端的移动的规划路径,本技术中,scara机器人可以根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,以及scara机器人第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,规划第一端的移动的规划路径,利用多个插值点规划的移动路径相对与直线路径比较平滑,避免scara机器人需要大幅度的变换方向而导致的停顿,从而可以提高scara机器人的作业效率。
79.下面以具体地实施例对本技术的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
80.图3为本技术实施例提供的一种确定规划路径的方法的流程示意图,如图3所示,该方法应用于scara机器人,该机器人包括多个关节,多个关节包括第一关节,第一关节用于控制scara机器人的第一端升降,该方法包括如下步骤:
81.s310,scara机器人获取scara机器人待规划路径的起始点、待规划路径的终止点、
第一端的上升高度和下降高度,起始点与多个关节的关节角度一一对应,终止点与多个关节的关节角度一一对应。
82.在对scara机器人的第一端的避障路径进行规划之前,首先需要获取该机器人待规划路径的起始点、待规划路径的终止点,第一端避开障碍物的上升高度和下降高度。该机器人包括多个关节,且该机器人的第一端的具体位置均由多个关节的关节角度确定,例如,第一端在起始点时,起始点与多个关节的关节角度一一对应,第一端在终止点时,终止点与多个关节的关节角度一一对应。
83.可选地,在步骤s310中,scara机器人的关节数量可以是预设的。
84.例如,scara机器人可以是包括四个关节的scara机器人。
85.可选地,在步骤s310中,scara机器人可以包括四个关节,起始点与四个关节的关节角度一一对应,终止点与四个关节的关节角度一一对应。
86.例如,起始点p1(a1,a2,a3,a4),终止点p2(b1,b2,b3,b4)。其中,起始点p1(a1,a2,a3,a4)的含义为:第一关节转动的角度为a1,第二关节转动的角度为a2,第三关节转动的角度为a3,第四关节转动的角度为a4,得到第一端的起始点;终止点p2(b1,b2,b3,b4)的含义为:第一关节转动的角度为b1,第二关节转动的角度为b2,第三关节转动的角度为b3,第四关节转动的角度为b4,得到第一端的终止点。
87.s320,scara机器人确定多个关节中各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
88.可选地,步骤s320,包括:根据多个关节中各个关节对应的起始点的关节角度与终止点的关节角度,scara机器人确定各个关节对应的角度变化量;
89.根据各个关节对应的预设的第一运动参数,scara机器人确定各个关节移动各自的角度变化量所需要的运动总时间;
90.scara机器人在多个关节中将最大总时间对应的关节确定为第二关节;
91.根据预设的第一运动参数,scara机器人确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
92.根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,scara机器人确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
93.上述方案中,根据各个关节对应的预设的第一运动参数、各个关节对应的角度变化量,确定各个关节移动各自的角度变化量所需要的运动总时间,是为了将各个关节移动各自的角度变化量所需要的运动总时间进行比较,获取最大总时间对应的关节为第二关节,也就是主运动关节,由于主运动关节能够表示scara机器人的大致运动位置,因此,可以先利用预设的第一运动参数,对主运动关节对应的起始点的关节角度与终止点的关节角度之间的角度进行插补,得到n个插值点,并利用主运动关节对应的起始点的关节角度与终止点的关节角度之间n个插值点,确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
94.可选地,根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,scara机器人确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体包括:
95.根据除第二关节外的其他各个关节对应的起始点的关节角度、第二关节对应的起始点的关节角度、第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、第二关节对应的角度变化量和除第二关节外的其他各个关节对应的角度变化量,scara机器人确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
96.可选地,根据第二关节对应的第i个插值点与第二关节对应的起始点的关节角度,scara机器人确定第i角度变化量;
97.根据第i角度变化量与第二关节对应的角度变化量,scara机器人确定比值;
98.根据比值、除第二关节外的其他各个关节对应的角度变化量和除第二关节外的其他各个关节对应的起始点的关节角度,scara机器人确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,其中,i为正整数。
99.例如,根据a
x,i
=a
x
+((a
m,i-am)/sm)*s
x
确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。其中,a
x
为除第二关节外其他任意一个关节对应的起始点的关节角度,sm为第二关节m对应的角度变化量,s
x
为除第二关节外其他任意一个关节对应的角度变化量,a
x,i
为除第二关节外其他任意一个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,a
m,i
为第二关节m对应的第i个插值点。
100.针对上述方案,本技术给出了如下一种实施例:
101.一种scara机器人,该机器人包括四个关节,第一关节、第二关节、第三关节和第四关节。第一关节对应的起始点的关节角度为a1,第一关节对应的终止点的关节角度为b1;第二关节对应的起始点的关节角度为a2,第二关节对应的终止点的关节角度为b2;第三关节对应的起始点的关节角度为a3,第三关节对应的终止点的关节角度为b3;第四关节对应的起始点的关节角度为a4,第四关节对应的终止点的关节角度为b4;预设的第一运动参数为:各个关节对应的角度变化量的加加速度j1、最大加速度a
1max
、初始速度ve、终止速度vs和最大速度v
1max
。
102.根据四个关节对应的起始点的关节角度与终止点的关节角度,四个关节对应的角度变化量分别为:s1=b
1-a1,s2=b
2-a2,s3=b
3-a3,s4=b
4-a4;
103.对上述四个关节对应的角度变化量分别采用7段s型的速度规划,如图4给出了7段s型速度规划的速度的示意图,具体表示在一定时间内关节对应的角度变化量,例如从第1段到第2段再到第3段关节旋转的速度越来越快,说明关节对应的角度变化量越来越大,第4段为均速,其中i的值为1,如图5给出了7段s型速度规划的加速度的示意图,具体表示在一定时间内关节对应的关节角度的变化量,例如从第1段到第2段再到第3段关节旋转的加速度先增大后保持不变最后减小,说明关节对应的旋转的速度变化先增大后保持不变最后减小,第4段为均速,说明关节旋转的加速度为0,其中i的值为1;
104.针对第一关节:起始点的关节角度a1,终止点的关节角度b1,在对第一关节的角度变化量s1采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t4=(s
1-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
105.其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
106.sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和;
107.则,第一关节移动s1角度变化量所需要的运动总时间为ta=t1+t2+t3+t4+t5+t6+t7。
108.针对第二关节:起始点的关节角度a2、终止点的关节角度b2,在对第二关节的角度变化量s2采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t4=(s
2-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
109.其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段运动位移中的第1段、第2段和第3段的运动位移之和;
110.sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和;
111.则,第二关节移动s2角度变化量所需要的运动总时间为tb=t1+t2+t3+t4+t5+t6+t7。
112.针对第三关节:起始点的关节角度a3、终止点的关节角度b3,在对第三关节的角度变化量s3采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t4=(s
3-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
113.其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
114.sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和;
115.则,第三关节移动s3角度变化量所需要的运动总时间为tc=t1+t2+t3+t4+t5+t6+t7。
116.针对第四关节:起始点的关节角度a4、终止点的关节角度b4,在第四关节的角度变化量s4采用7段s型速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t4=(s
4-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
117.其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
118.sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和;
119.则,第四关节移动s4角度变化量所需要的运动总时间为td=t1+t2+t3+t4+t5+t6+t7。
120.通过比较ta,tb,tc,td四者的大小,将其中最大总时间对应的关节确定为第二关节m。
121.对于第二关节m对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,可以分为7段来得到n个插值点a
m,i
,其中,i从1到n,具体的过程如下:
122.已知:预设的第一运动参数:第二关节的起始点的关节角度a1,终止点的关节角度b1,角度变化量s1=b
1-a1,插值周期ts,第二关节对应的角度变化量s1的加加速度j1、最大加速度a
1max
、初始速度ve、终止速度vs和最大速度v
1max
,第二关节对应的角度变化量s1所对应的
7段的插值点数分别为n1=t1/ts,n2=t2/ts,n3=t3/ts,n4=t4/ts,n5=t5/ts,n6=t6/ts和n7=t7/ts,7段s型的速度规划的对应的角度变化量的公式:
[0123][0124]
其中,τi为7段s型角度变化量所对应的时间,s
m,i
为第i个插值点与a1的角度变化量。
[0125]
根据a
m,i
=a2+s2*(s
m,i
/l
总长度
)确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,其中,对于第二关节l
总长度
为s2。
[0126]
例如,根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点数,以及第二关节对应的角度变化量s1所对应的7段的插值点数,可以得出第i个插值点具体在哪一段,如n为25,n1为4,n2为2,n3为3,n4为7,n5为3,n6为2,n7为4时,第1个插值点在7段中的第1段,s
m,1
可以根据s
m,i
的第1个公式求得,τ1为τ1=ts*1;第21个插值点在7段中的第6段,s
m,20
可以根据s
m,i
的第6个公式求得,τ
21
为τ
21
=ts*21。
[0127]
基于上述的原理,可以确定第二关节m对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体为a
m,1
,a
m,2
,...,a
m,n
。
[0128]
针对除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体的求得过程如下:
[0129]
已知第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点a
m,i
,以及a
x,i
=a
x
+((a
m,i-am)/sm)*s
x
确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。其中,a
x
为除第二关节外其他任意一个关节对应的起始点的关节角度,sm为第二关节对应的角度变化量,s
x
为除第二关节外其他任意一个关节对应的角度变化量,a
x,i
为除第二关节外其他任意一个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
[0130]
例如,第一关节对应的起始点的关节角度与终止点的关节角度之间的25个插值点为:第1个插值点为a
1,1
=a1+((a
m,1-am)/sm)*s1;第13个插值点为a
1,13
=a1+((a
m,13-am)/sm)*s1;第25个插值点为a
1,25
=a1+((a
m,25-am)/sm)*s1,最终,确定所有插值点a
1,1
,a
1,2
,...,a
1,n
;
[0131]
第三关节对应的起始点的关节角度与终止点的关节角度之间的25个插值点为:第
1个插值点为a
3,1
=a3+((a
m,1-am)/sm)*s3;第13个插值点为a
3,13
=a3+((a
m,13-am)/sm)*s3;第25个插值点为a
3,25
=a3+((a
m,25-am)/sm)*s3,最终,确定所有插值点a
3,1
,a
3,2
,...,a
3,n
;
[0132]
第四关节对应的起始点的关节角度与终止点的关节角度之间的25个插值点为:第1个插值点为a
4,1
=a4+((a
m,1-am)/sm)*s4;第13个插值点为a
4,13
=a4+((a
m,13-am)/sm)*s4;第25个插值点为a
4,25
=a4+((a
m,25-am)/sm)*s4,最终,确定所有插值点a
4,1
,a
4,2
,...,a
4,n
。
[0133]
针对上述方案,本技术给出了如下又一种实施例:
[0134]
一种scara机器人,该机器人包括五个关节,第一关节、第二关节、第三关节、第四关节和第五关节。第一关节对应的起始点的关节角度为a1,第一关节对应的终止点的关节角度为b1;第二关节对应的起始点的关节角度为a2,第二关节对应的终止点的关节角度为b2;第三关节对应的起始点的关节角度为a3,第三关节对应的终止点的关节角度为b3;第四关节对应的起始点的关节角度为a4,第四关节对应的终止点的关节角度为b4;第五关节对应的起始点的关节角度为a5,第五关节对应的终止点的关节角度为b5;预设的第一运动参数为:各个关节对应的角度变化量的加加速度j1、最大加速度a
1max
、初始速度ve、终止速度vs和最大速度v
1max
。
[0135]
根据五个关节对应的起始点的关节角度与终止点的关节角度,五个关节对应的角度变化量分别为:s1=b
1-a1,s2=b
2-a2,s3=b
3-a3,s4=b
4-a4,s5=b
5-a5;
[0136]
对上述五个关节对应的角度变化量分别采用7段s型的速度规划:
[0137]
针对第一关节:起始点的关节角度a1,终止点的关节角度b1,在对第一关节的角度变化量s1采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t
1,4
=(s
1-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
[0138]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
[0139]
sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和。
[0140]
针对第二关节:起始点的关节角度a2、终止点的关节角度b2,在对第二关节的角度变化量s2采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t
2,4
=(s
2-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
[0141]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段运动位移中的第1段、第2段和第3段的运动位移之和;
[0142]
sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和。
[0143]
针对第三关节:起始点的关节角度a3、终止点的关节角度b3,在对第三关节的角度变化量s3采用7段s型的速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t
3,4
=(s
3-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
[0144]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
[0145]
sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和。
[0146]
针对第四关节:起始点的关节角度a4、终止点的关节角度b4,在第四关节的角度变化量s4采用7段s型速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t
4,4
=(s
4-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
[0147]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
[0148]
sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和。
[0149]
针对第五关节:起始点的关节角度a5、终止点的关节角度b5,在第五关节的角度变化量s5采用7段s型速度规划时,7段中每一段的时间分别为:t1=a
1max
/j1,t2=(v
1max-ve)/a
1max-a
1max
/j1,t3=a
1max
/j1,t
5,4
=(s
4-s
a-sb)/v
1max
,t5=a
1max
/j1,t6=((v
1max-ve)/-a
1max
)-(-a
1max
/j1)和t7=a
1max
/j1;
[0150]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;
[0151]
sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和;
[0152]
则,通过比较t
1,4
,t
2,4
,t
3,4
,t
4,4
,t
5,4
的大小,将其中最大的时间对应的关节确定为第二关节m。
[0153]
对于第二关节m对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,可以分为7段来得到n个插值点a
m,i
,其中,i从1到n,具体的过程如下:
[0154]
已知:预设的第一运动参数:第二关节的起始点的关节角度a1,终止点的关节角度b1,角度变化量s1=b
1-a1,插值周期ts,第二关节对应的角度变化量s1的加加速度j1、最大加速度a
1max
、初始速度ve、终止速度vs和最大速度v
1max
,第二关节对应的角度变化量s1所对应的7段的插值点数分别为n1=t1/ts,n2=t2/ts,n3=t3/ts,n4=t4/ts,n5=t5/ts,n6=t6/ts和n7=t7/ts,7段s型的速度规划的对应的角度变化量的公式为:
[0155][0156]
其中,τi为7段s型角度变化量所对应的时间,s
m,i
为第i个插值点与a1的角度变化量。
[0157]
根据a
m,i
=a2+s2*(s
m,i
/l
总长度
)确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,其中,对于第二关节l
总长度
为s2。
[0158]
例如,根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点数,以及第二关节对应的角度变化量s1所对应的7段的插值点数,可以得出第i个插值点具体在哪一段,如n为25,n1为4,n2为2,n3为3,n4为7,n5为3,n6为2,n7为4时,第1个插值点在7段中的第1段,s
m,1
可以根据s
m,i
的第1个公式求得,τ1为τ1=ts*1;第21个插值点在7段中的第6段,s
m,20
可以根据s
m,i
的第6个公式求得,τ
21
为τ
21
=ts*21。
[0159]
基于上述的原理,可以确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体为a
m,1
,a
m,2
,...,a
m,n
。
[0160]
针对除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体的求得过程如下:
[0161]
已知第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点a
m,i
,以及a
x,i
=a
x
+(a
m,i
*s
x-am*s
x
)/sm确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。其中,a
x
为除第二关节外其他任意一个关节对应的起始点的关节角度,sm为第二关节对应的角度变化量,s
x
为除第二关节外其他任意一个关节对应的角度变化量,a
x,i
为除第二关节外其他任意一个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
[0162]
例如,第一关节对应的起始点的关节角度与终止点的关节角度之间的25个插值点为:第1个插值点为a
1,1
=a1+(a
m,1
*s
1-am*s1)/sm;第13个插值点为a
1,13
=a1+(a
m,13
*s
1-am*s1)/sm;第25个插值点为a
1,25
=a1+(a
m,25
*s
1-am*s1)/sm,最终,确定所有插值点a
1,1
,a
1,2
,...,a
1,n
;
[0163]
第三关节对应的起始点的关节角度与终止点的关节角度之间的25个插值点为:第1个插值点为a
3,1
=a3+(a
m,1
*s
3-am*s3)/sm;第13个插值点为a
3,13
=a3+(a
m,13
*s
3-am*s3)/sm;第25个插值点为a
3,25
=a3+(a
m,25
*s
3-am*s3)/sm,最终,确定所有插值点a
3,1
,a
3,2
,...,a
3,n
;
=t1/ts,n2=t2/ts,n3=t3/ts,n4=t4/ts,n5=t5/ts,n6=t6/ts和n7=t7/ts;
[0174]
其中,sa=ve(2t1+t2)+1/2j1t1(2t
12
+3t1t2+t
22
),sa为7段角度变化量中的第1段、第2段和第3段的角度变化量之和;sb=v
max
(2t5+t6)-1/2j1t5(2t
52
+3t5t6+t
62
),sb为7段角度变化量中的第5段、第6段和第7段的角度变化量之和。
[0175]
对第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,分为7段来得到n个插值点a
1,i
,其中,i从1到n,具体的过程为公式(1),根据a
1,i
=a1+s2*(s
1,i
/l
总长度
)确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,其中,对于第一关节l
总长度
为s1。
[0176]
例如,根据第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点数,以及第一关节对应的角度变化量s1所对应的7段的插值点数,可以得出第i个插值点具体在哪一段,如n为25,n1为4,n2为2,n3为3,n4为7,n5为3,n6为2,n7为4时,第1个插值点在7段中的第1段,s
1,1
可以根据s
1,i
的第1个公式求得,τ1为τ1=ts*1;第21个插值点在7段中的第6段,s
1,21
可以根据s
1,i
的第6个公式求得,τ
21
为τ
21
=ts*21。
[0177]
基于上述的原理,可以确定第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体为a
1,1
,a
1,2
,...,a
1,n
。
[0178]
同理,可以得到其他三个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,具体为:第二关节a
2,1
,a
2,2
,...,a
2,n
;第三关节a
3,1
,a
3,2
,...,a
3,n
;第四关节a
4,1
,a
4,2
,...,a
4,n
。
[0179]
应理解地,上述实施例中并不限定7段s型的的速度规划,也可以是5段s型的速度规划,也可以是t型的速度规划等。
[0180]
s330,scara机器人确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,p+q小于或等于n,n,p和q为正整数。
[0181]
可选地,步骤s330中的第一端的上升高度和下降高度相等时,p等于q。
[0182]
可选地,步骤s330,包括:根据预设的第二运动参数,scara机器人确定所述第一端的上升高度对应的p个插值点和所述第一端的下降高度对应的q个插值点。
[0183]
为了更好地理解本技术的技术方案,本技术提供了如下一种实施例:
[0184]
已知:预设的第二运动参数:第一端的上升高度和下降高度对应的加加速度j2、最大加速度a
2max
、初始速度ve、终止速度vs和最大速度v
2max
;以及第一端的上升高度h1和下降高度h2。
[0185]
可选地,h1=h2。
[0186]
由于第一端的升降是由第一关节的旋转来控制的,且第一端的升降的高度h与旋转的角度θ存在如下关系:θ=2π*h/丝杆距
[0187]
其中,丝杆距指第一关节旋转360度机器人的第一端上升或下降的高度。
[0188]
例如,第一端的起始高度为0,上升高度为h1,则根据第一端的升降的高度h与旋转的角度θ的关系式得到第一关节对应的起始关节角度θ0和终止关节角度θ1,再确定第一关节对应的关节角度变化量δθ,对第一关节对应的关节角度变化量δθ进行7段s型速度规划,利用与步骤s320相同的原理求得与上升高度和下降高度对应的p个插值点的具体数值,并利用与步骤s320中,针对第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点相同的7段s型速度规划的原理,得到第一端的上升高度对应的p个插
值点,以及第一端的下降高度对应的q个插值点。
[0189]
可选地,在根据预设的第二运动参数,scara机器人确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点之前,方法还包括:
[0190]
若第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量之和大于n,则scara机器人调整预设的第三运动参数;
[0191]
scara机器人将调整后的第三运动参数确定为第二运动参数。
[0192]
上述方案中,预设的第三运动参数可以确定第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量,调整预设的第三运动参数,是为了使p+q小于或等于n,这样得到的第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,才可以与起始点位置处第一关节对应的起始点的关节角度与终止点位置处的关节角度之间运动插补对应的n个插值点进行求和。
[0193]
例如,第三运动参数:第一端的上升高度与下降高度对应的加加速度j3、加速度a
3,max
、初始速度ve、终止速度vs和最大速度v
3max
。当p+q大于n时,可以将第一端的上升高度与下降高度对应的最大速度v
3max
、加速度a
3,max
增大,得到第二运动参数。
[0194]
可选地,当第一端的上升高度与下降高度相等时,在根据预设的第二运动参数,scara机器人确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的p个插值点之前,方法还包括:
[0195]
若第一端的上升高度对应的插值点数量p大于n/2,则scara机器人调整预设的第三运动参数;
[0196]
scara机器人将调整后的第三运动参数确定为第二运动参数。
[0197]
上述方案中,预设的第三运动参数可以确定第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量,调整预设的第三运动参数,是为了使p小于或等于n/2,这样得到的第一端的上升高度对应的p个插值点和第一端的下降高度对应的p个插值点,才可以与第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点进行求和。
[0198]
例如,第三运动参数:第一端的上升高度与下降高度对应的加加速度j3、加速度a
3,max
、初始速度ve、终止速度vs和最大速度v
3max
。当h1=h2时,此时p=q,则当p大于n/2时,可以将第一端的上升高度与下降高度对应的最大速度v
3max
、加速度a
3,max
增大,得到第二运动参数。
[0199]
s340,根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点,scara机器人确定起始点到终止点之间的第一端的移动的规划路径。
[0200]
可选地,步骤s340,包括:根据p个插值点和q个插值点,scara机器人确定第一端在上升高度与下降高度对应的n个插值点;
[0201]
将第一端在上升高度与下降高度对应的n个插值点和第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,scara机器人更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
[0202]
根据更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插
补对应的n个插值点和多个关节中除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,scara机器人确定起始点到终止点之间的第一端的移动的规划路径。
[0203]
上述方案中,由于第一端的上升高度与下降高度是由第一关节来旋转控制的,因此,可以将第一端在上升高度与下降高度对应的n个插值点与第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,从而更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,进而再与除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,共同确定scara机器人的第一端的运行路径,而不是盲目地规划路径,造成第一端可能碰撞障碍物的问题。
[0204]
为了更好地理解本技术的方案,本技术给出了如下实施例:
[0205]
第一端在上升高度与下降高度对应的n个插值点具体为:p
1,1
,p
1,2
,...p
1,n
;
[0206]
第一关节对应的起始点p
1,1
,p
1,2
,...p
1,n
关节角度与终止点的关节角度之间运动插补对应的n个插值点为:a
1,1
,a
1,2
,...,a
1,n
;
[0207]
将p
1,1
,p
1,2
,...p
1,n
与a
1,1
,a
1,2
,...,a
1,n
一一对应求和,得到更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点:a’1,1
,a’1,2
,...,a’1,n
。
[0208]
根据更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点:a’1,1
,a’1,2
,...,a’1,n
、第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点:a
m,1
,a
m,2
,...,a
m,n
、第三关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点:a
3,1
,a
3,2
,...,a
3,n
和第四关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点:a
4,1
,a
4,2
,...,a
4,n
,在p1与p2之间,确定n个位置点,由这样n+2个位置点连接起来的路径作为起始点到终止点之间的第一端的移动的规划路径,例如,利用得到的各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点规划出的第一端的移动的规划路径如图6所示的第一路径,末端使用第一路径避障时,在拐点处末端会经过一个类似圆弧的路径,也就是图6中的c、d,末端以图中的第一路径移动时,不仅可以避开障碍物,也可以在拐点处不停顿保持相对小的速度前行,而避免末端使用第二路径需要停顿,使scara机器人工作效率差的问题。
[0209]
可选地,根据p个插值点和q个插值点,确定第一端在上升高度与下降高度对应的n个插值点,具体包括:
[0210]
若p+q小于n,将p个插值点与q个插值点按照第一排序规则,确定p+q个插值点;
[0211]
在p+q个插值点中插补n-p-q个第一值,确定第一端在上升高度与下降高度对应的n个插值点;
[0212]
若p+q等于n,将p个插值点与q个插值点按照第一顺序规则,确定第一端在上升高度与下降高度对应的n个插值点。
[0213]
可选地,第一值为0度。
[0214]
上述方案中,p个插值点和q个插值点分别为第一端的上升高度和下降高度对应的插值点,第一端的升降是通过第一关节关节角度来控制的,可以将第一端的上升高度和下
降高度对应的插值点与第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点求和,因此,需要确保由第一端的上升高度和下降高度对应的插值点的数量与n值相等。
[0215]
为了更好地理解本技术的方案,本技术提供了如下实施例:
[0216]
若p+q小于n,且p个插值点具体为p
1,1
,p
1,2
,...p
1,p
;q个插值点具体为q
1,1
,q
1,2
,...q
1,q
时,按照第一排序规则:将p个插值点中p
1,1
,p
1,2
,...p
1,p
按照正序从1位置依次排序依次排列,将q个插值点中的q
1,1
,q
1,2
,...q
1,q
按照正序从n-q+1位置依次排列,将p+1~n-q位置的插值点设为0;
[0217]
第一端在上升高度与下降高度对应的n个插值点为:p
1,1
,p
1,2
,...p
1,p
,0,...0,q
1,1
,q
1,2
,...q
1,q
。
[0218]
若p+q等于n,且p个插值点具体为p
1,1
,p
1,2
,...p
1,p
;q个插值点具体为q
1,1
,q
1,2
,...q
1,q
时,按照第一排序规则:将p个插值点中p
1,1
,p
1,2
,...p
1,p
按照正序从1位置依次排序依次排列,将q个插值点中的q
1,1
,q
1,2
,...q
1,q
按照正序从p+1位置依次排列;
[0219]
第一端在上升高度与下降高度对应的n个插值点为:p
1,1
,p
1,2
,...p
1,p
,q
1,1
,q
1,2
,...q
1,q
。
[0220]
图7为本技术实施例提供的一种确定规划路径的装置示意图,如图7所示,本实施例提供的装置包括:
[0221]
获取单元710,用于获取装置待规划路径的起始点、待规划路径的终止点、第一端的上升高度和下降高度,起始点与多个关节的关节角度一一对应,终止点与多个关节的关节角度一一对应;
[0222]
确定单元720,用于多个关节中各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
[0223]
所述确定单元,还用于确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点,p+q小于或等于n,n,p和q为正整数;
[0224]
所述确定单元,还用于根据各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点、p个插值点和q个插值点确定起始点到终止点之间的第一端的移动的规划路径。
[0225]
可选地,所述确定单元具体用于,根据多个关节中各个关节对应的起始点的关节角度与终止点的关节角度,确定各个关节对应的角度变化量;
[0226]
根据各个关节对应的预设的第一运动参数,确定各个关节移动各自的角度变化量所需要的运动总时间;
[0227]
在多个关节中将最大总时间对应的关节确定为第二关节;
[0228]
根据预设的第一运动参数,确定第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点;
[0229]
根据第二关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定多个关节中除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
[0230]
可选地,所述确定单元还具体用于,根据除第二关节外的其他各个关节对应的起始点的关节角度、第二关节对应的起始点的关节角度、第二关节对应的起始点的关节角度
与终止点的关节角度之间运动插补对应的n个插值点、第二关节对应的角度变化量和除第二关节外的其他各个关节对应的角度变化量,确定除第二关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
[0231]
可选地,第一端的上升高度和下降高度相等时,p等于q。
[0232]
可选地,该装置还包括:处理单元用于根据预设的第二运动参数,确定第一端的上升高度对应的p个插值点和第一端的下降高度对应的q个插值点。
[0233]
可选地,所述处理单元具体还用于,若第一端的上升高度对应的插值点数量与第一端下降高度对应的插值点数量之和大于n,则调整预设的第三运动参数;
[0234]
将调整后的第三运动参数确定为第二运动参数。
[0235]
可选地,所述确定单元还用于,根据p个插值点和q个插值点,确定第一端在上升高度与下降高度对应的n个插值点。
[0236]
可选地,该装置还包括:更新单元用于将第一端在上升高度与下降高度对应的n个插值点和第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点一一对应求和,更新第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点。
[0237]
可选地,所述确定单元还用于,根据更新的第一关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点和多个关节中除第一关节外的其他各个关节对应的起始点的关节角度与终止点的关节角度之间运动插补对应的n个插值点,确定起始点到终止点之间的第一端的移动的规划路径。
[0238]
可选地,所述确定单元具体还用于,若p+q小于n,将p个插值点与q个插值点按照第一排序规则,确定p+q个插值点;
[0239]
在p+q个插值点中插补n-p-q个第一值,确定第一端在上升高度与下降高度对应的n个插值点;
[0240]
若p+q等于n,将p个插值点与q个插值点按照第一顺序规则,确定第一端在上升高度与下降高度对应的n个插值点。
[0241]
基于同一发明构思,图8为本技术实施例提供的一种scara机器人,包括处理器,处理器与存储器耦合,处理器用于执行存储器中存储的计算机程序或指令时,以实现上述第一方面或第一方面的任一实施方式的方法。
[0242]
可选地,scara机器人还包括支撑组件,支撑组件用于支撑scara机器人。
[0243]
基于同一发明构思,本技术实施例提供了一种介质,该介质上存储有计算机程序,计算机程序被处理器执行时,以实现上述第一方面或第一方面的任一实施方式的方法。
[0244]
在本技术所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0245]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。