CN117681183A - 机械臂起始关节状态的生成方法、装置、设备以及介质 - Google Patents
机械臂起始关节状态的生成方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN117681183A CN117681183A CN202211057224.7A CN202211057224A CN117681183A CN 117681183 A CN117681183 A CN 117681183A CN 202211057224 A CN202211057224 A CN 202211057224A CN 117681183 A CN117681183 A CN 117681183A
- Authority
- CN
- China
- Prior art keywords
- joint state
- mechanical arm
- path
- joint
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000003860 storage Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000009313 farming Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Landscapes
- Manipulator (AREA)
Abstract
本申请涉及一种机械臂起始关节状态的生成方法、装置、设备以及介质,该方法包括:获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;根据初始位姿集合,确定机械臂的第一关节状态集合;预测机械臂分别以第一关节状态集合中的每个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长;根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态。本申请实施例通过第一关节状态的移动步长确定机械臂的起始关节状态,提高了作业工具的作业完整度。
Description
技术领域
本申请涉及机器人技术领域,特别是涉及一种机械臂起始关节状态的生成方法、装置、计算机设备和存储介质。
背景技术
对于一条给定的作业路径,机械臂末端需要夹持作业工具,使作业工具沿着给定的作业路径移动,完成作业任务。对于复杂曲面或狭窄空间,机械臂起始关节状态的选择会直接影响整个作业的完整度。
目前,机械臂的起始关节状态,主要通过操作人员根据经验指定,导致机械臂末端夹持的作业工具无法完成作业。
发明内容
基于此,本申请的目的在于,提供一种机械臂起始关节状态的生成方法、装置、计算机设备和存储介质,其可提高机械臂末端夹持的作业工具的作业完整度。
根据本申请实施例的第一方面,提供一种机械臂起始关节状态的生成方法,包括如下步骤:
获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;
根据所述初始位姿集合,确定机械臂的第一关节状态集合;
预测所述机械臂分别以所述第一关节状态集合中的每个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长;所述移动步长用于指示所述作业工具沿着所述作业路径的各个路径节点移动时,从所述至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;
根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态。
根据本申请实施例的第二方面,提供一种机械臂起始关节状态的生成装置,包括:
初始位姿集合获取模块,用于获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;
状态集合确定模块,用于根据所述初始位姿集合,确定机械臂的第一关节状态集合;
移动步长预测模块,用于预测所述机械臂分别以所述第一关节状态集合中的每个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长;所述移动步长用于指示所述作业工具沿着所述作业路径的各个路径节点移动时,从所述至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;
起始关节状态确定模块,用于根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态。
根据本申请实施例的第三方面,提供一种计算机设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如上述任意一项所述的机械臂起始关节状态的生成方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的机械臂起始关节状态的生成方法。
本申请实施例通过获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;根据所述初始位姿集合,确定机械臂的第一关节状态集合;预测所述机械臂分别以所述第一关节状态集合中的每个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长;所述移动步长用于指示所述作业工具沿着所述作业路径的各个路径节点移动时,从所述至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态。本申请实施例通过第一关节状态的移动步长确定机械臂的起始关节状态,提高了作业工具的作业完整度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本申请一个实施例提供的机械臂起始关节状态的生成方法的应用场景示意图;
图2为本申请一个实施例提供的机械臂起始关节状态的生成方法的流程示意图
图3为本申请一个实施例提供的机械臂起始关节状态的生成方法中步骤S10的流程示意图;
图4为本申请一个实施例提供的机械臂起始关节状态的生成方法中步骤S30的流程示意图;
图5为本申请一个实施例提供的机械臂起始关节状态的生成方法中步骤S33的流程示意图;
图6为本申请一个实施例提供的机械臂起始关节状态的生成方法中步骤S34的流程示意图;
图7为本申请一个实施例提供的机械臂起始关节状态的生成方法中步骤S40的流程示意图;
图8为本申请一个实施例提供的机械臂起始关节状态的生成装置的结构框图;
图9为本申请一个实施例提供的电子设备的结构示意框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,其为本申请实施例的机械臂起始关节状态的生成方法的应用场景示意图。本申请实施例的机械臂起始关节状态的生成方法的应用场景包括机械臂10和作业对象20。机械臂10可以固定在基座上。可选的,基座可以是移动的,机械臂10除了自身运动,还可随着基座的移动而移动。可选的,基座也可以是固定的,机械臂10只存在自身运动。本申请实施例以基座固定,只存在机械臂10自身运动为例,说明本申请的机械臂起始关节状态的生成方法。
机械臂10包括多个关节,关节是指将两个部件连接起来的装置。连接不是固定连接,而是可以发生有限的相对运动。可选的,运动可以包括转动和平动。机械臂10末端的关节上夹持有作业工具,机械臂10通过控制各个关节的运动,从而使作业工具沿着给定的作业路径移动,进而对作业对象20完成作业任务。作业工具可以为清洁工具、焊接工具以及喷涂工具等。本申请实施例中,以作业工具为清洁工具为例。例如,清洁工具为毛巾、抹布以及玻璃刮等。
机械臂10还包括一个或多个处理器;处理器可以用于执行本申请机械臂的起始关节状态生成方法,控制各个关节的运动,进而带动机械臂10运动。
可选的,处理器可以内置于机械臂10内,与机械臂10作为一个整体;处理器也可以外置于机械臂10内,独立控制机械臂10运动。可选的,处理器还可以仅仅执行控制各关节的运动,也即,本申请实施例的机械臂起始关节状态的生成方法,还可以由与处理器连接的其他处理中心执行,其他处理中心再将规划的机械臂的起始关节状态传输至处理器,由处理器进一步控制各关节的运动。
实施例1
请参阅图2,其为本申请一个实施例提供的机械臂起始关节状态的生成方法的流程示意图。本申请实施例提供的机械臂起始关节状态的生成方法,包括如下步骤:
S10:获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径。
作业路径为机械臂末端夹持的作业工具完成作业任务需要移动的路径。
其中,可以将作业路径进行均匀分段,获得若干个作业路径分段,每个作业路径分段包括首尾两个路径节点,进而获得沿着作业路径排列的若干个路径节点。其中,每个路径节点可以对应一个作业方向,作业方向可以是与作业路径分段所在直线垂直的法线方向。
初始位姿包括初始位置和初始姿态方向,初始位姿集合包括若干个初始位姿。
其中,机械臂末端夹持的作业工具的初始位置可以是从作业路径上随机选取的一个路径节点的位置,在本申请实施例中,初始位置为作业路径上第一个路径节点的位置。
其中,作业工具的姿态方向为作业工具的朝向,在本申请实施例中,机械臂末端的作业工具的初始姿态方向可以是与路径节点的作业方向的夹角小于或等于预设角度。
S20:根据初始位姿集合,确定机械臂的第一关节状态集合。
其中,第一关节状态集合包括若干个第一关节状态,在本申请实施例中,已知一个初始位姿,结合机械臂的逆运动学模型,可以计算获得初始位姿对应的机械臂的第一关节状态集合。其中,机械臂末端夹持的作业工具坐标系相对基座坐标系的位姿0Tt,表示为:
其中,i-1Ti表示关节i相对关节i-1的位姿,表示为:
i-1Ti=Trans(ai-1 0 0)·Rot(Xi-1 αi-1)·Trans(0 0 di)·Rot(Zi θi-1)
其中,Tt表示机械臂末端夹持的作业工具坐标系OtXtYtZt相对机械臂末端坐标系O6X6Y6Z6的位姿,表示为:
对于六关节机械臂,每个初始位姿最多存在八个有效逆解,即一个初始位姿最多可以求解获得八个机械臂的第一关节状态。例如,初始位姿集合包括3个初始位姿,根据逆运动学模型将这3个初始位姿进行逆运动学求解,分别获得4个、5个和6个有效逆解,则获得15个机械臂的第一关节状态。
S30:预测机械臂分别以第一关节状态集合中的每个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长;移动步长用于指示作业工具沿着作业路径的各个路径节点移动时,从至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量。
其中,作业工具在作业路径上移动时,作业工具的位置变化,也伴随着机械臂的关节状态的变化,因此,可以对机械臂的关节状态进行预测。关节状态预测为预测机械臂以第一关节状态控制作业工具由起始位置开始移动,在作业路径上移动到下一个位置时对应的关节状态。
在本申请实施例中,对作业路径上排列的若干个路径节点依次编号,获得编号分别为P1,P2,…,Pn的路径节点。作业工具的起始位置可以为路径节点P1的位置,从而可以预测作业工具由路径节点P1的位置移动到路径节点P2,P3,…,Pn的位置时对应的关节状态。可选的,作业工具的起始位置可以为路径节点P2的位置,从而可以预测作业工具由路径节点P2的位置移动到路径节点P3,P4,…,Pn的位置时对应的关节状态。
作业工具由起始位置移动到下一个位置时,预测获得一个关节状态,若预测获得的关节状态满足预设约束条件,可以获得一个移动步长。其中,预设约束条件包括位置误差约束条件、姿态范围约束条件、关节限位约束条件以及碰撞检测约束条件的一个或多个。
具体地,作业工具由路径节点P1的位置移动到路径节点P2的位置时,预测获得第一个关节状态,若第一个关节状态满足预设约束条件,记为一个移动步长。作业工具由路径节点P2的位置移动到路径节点P3的位置时,获得第二个关节状态,若第二个关节状态满足预设约束条件,记为一个移动步长。作业工具由路径节点P1的位置依次移动到路径节点P2、P3,…,Pn的位置时,预测获得n-1个关节状态,若预测获得的n-1个关节状态均满足预设约束条件,则移动步长为n-1。
S40:根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态。
在本申请的实施例中,若机械臂以某个第一关节状态可以控制作业工具由起始位置移动到最后一个路径节点的位置,可以直接将该第一关节状态作为机械臂的起始关节状态。若存在多个可以控制作业工具由起始位置移动到最后一个路径节点的位置的第一关节状态,可以从中任意选取一个第一关节状态作为机械臂的起始关节状态。也可以将多个可以控制作业工具由起始位置移动到最后一个路径节点的位置的第一关节状态与机械臂的参考关节状态进行比较,将距离参考关节状态最近的第一关节状态作为机械臂的起始关节状态。其中,机械臂的参考关节状态为机械臂开机启动后的关节状态。
若机械臂以任意一个第一关节状态均不能控制作业工具由起始位置移动到最后一个路径节点的位置,则可以将各个第一关节状态进行聚类,获得多个聚类群。对于每个聚类群,将聚类群中距离参考关节状态最近的第一关节状态作为机械臂的起始关节状态。也可以将聚类群中移动步长最大的第一关节状态作为机械臂的起始关节状态。也可以将聚类群中与参考关节状态的距离和推演步长进行加权计算成本,将成本最小的第一关节状态作为机械臂的起始关节状态。
应用本申请实施例,通过获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;根据初始位姿集合,确定机械臂的第一关节状态集合;预测机械臂分别以第一关节状态集合中的每个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长;移动步长用于指示作业工具沿着作业路径的各个路径节点移动时,从至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态。本申请实施例通过第一关节状态的移动步长确定机械臂的起始关节状态,提高了作业工具的作业完整度。
在一个可选的实施例中,请参阅图3,步骤S10获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径的步骤,包括S11~S14,具体如下:
S11:获取机械臂末端的作业路径。
在本申请实施例中,可以通过预设的路径规划算法自动生成机械臂末端的作业路径。具体地,预设的路径规划算法可以是牛耕法和切片法。
S12:从作业路径中选取一个路径节点作为初始路径节点,将初始路径节点的位置作为作业工具的初始位置。
在本申请实施例中,路径节点P1,P2,....,Pn的位置可以表示为(x1,y1,z1),(x2,y2,z2),...,(xn,yn,zn),可以选取一个路径节点作为初始路径节点。在本申请实施例中,将路径节点P1作为初始路径节点,则机械臂末端夹持的作业工具的初始位置为(x1,y1,z1)。
S13:获取作业工具的若干个姿态方向;其中,每个姿态方向与初始路径节点对应的作业方向的夹角小于或等于预设角度。
在本申请实施例中,路径节点Pk的作业方向可以表示为nk,k=1,2,....,n。允许机械臂末端的作业工具的姿态方向Zt与路径节点Pk的作业方向nk存在最大β的倾斜角度。其中,β为预设角度。可以以步长βstep逐次倾斜Zt至最大夹角β,同时以步长αstep绕nk旋转[0,2π),获得作业工具的若干个姿态方向。
S14:根据初始位置和若干个姿态方向,获得机械臂末端的作业工具的初始位姿集合。
在本申请实施例中,机械臂位于同一个初始位置,可以有不同的姿态方向,从而产生不同的初始位姿。
通过作业路径上的若干个路径节点以及每个路径节点的作业方向,可以自动快捷地确定机械臂末端的作业工具的初始位姿集合。
在一个可选的实施例中,请参阅图4,作业路径包括沿着作业路径排列的若干个路径节点,步骤S30预测机械臂分别以第一关节状态集合中的每个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长的步骤,包括S31~S33,具体如下:
S31:计算至少一个第一关节状态对应的位姿关节映射参数以及至少一个第一关节状态对应的作业工具的位置;
S32:将至少一个第一节关节状态、至少一个第一关节状态对应的位姿关节映射参数、作业工具的位置以及路径节点的位置输入至机械臂作业预测模型,预测获得以至少一个第一关节状态控制作业工具移动至对应路径节点时,机械臂的第二关节状态;
S33:根据至少一个第一关节状态对应的机械臂的第二关节状态,获得至少一个第一关节状态的移动步长。
在本申请实施例中,机械臂作业预测模型可以表示为:
其中,Jk表示位姿关节映射参数,是机械臂末端的位姿与机器人各个关节角的偏微分,p表示作业工具的位置,θk表示第一关节状态,pk+1表示路径节点的位置,θk+1表示第二关节状态,k=1,2,...,n。
具体地,根据第一关节状态θk和机械臂的运动学模型,可以计算作业工具的位置p。机械臂以第一关节状态θk作为开始作业的关节状态,控制作业工具由位置p移动到第k+1个路径节点的位置pk+1时,通过机械臂作业预测模型,预测获得第二关节状态θk+1。若预测获得的第二关节状态θk+1满足预设约束条件,可以获得第一关节状态的移动步长。其中,第k+1个路径节点为位置p对应的路径节点,即作业工具在位置p完成作业后的下一个作业位置。例如,若作业工具的位置p为作业路径上的第一个路径节点P1的位置,则下一个路径节点P2为位置p对应的路径节点。
通过机械臂作业预测模型和预设约束条件,可以自动快捷地预测机械臂在对应路径节点的第二关节状态以及第一关节状态的移动步长。
在一个可选的实施例中,请参阅图5,步骤S33根据每个第一节关节状态对应的机械臂的第二关节状态,获得每个第一关节状态的移动步长的步骤,包括S34~S36,具体如下:
S34:判断作业工具在对应路径节点上时,至少一个第一关节状态对应的机械臂的第二关节状态是否满足预设约束条件;
S35:若否,获取至少一个第一关节状态对应的作业工具在对应路径节点之前移动经过的路径节点的数量,将数量作为对应的至少一个第一关节状态的移动步长;
S36:若是,控制作业工具移动至对应路径节点之后的下一个路径节点,判断在下一个路径节点上的机械臂的第二关节状态是否满足预设约束条件,直至控制作业工具移动至最后一个路径节点为止。
其中,在作业工具移动至一个路径节点时,判断在该路径节点的第二关节状态是否满足预设约束条件,若满足预设约束条件,则作业工具从该路径节点继续移动至下一个路径节点,直至移动至最后一个路径节点,反之,则作业工具不再移动,记录移动步长。
具体地,作业工具由路径节点P1的位置移动到路径节点P2的位置,预测获得一个第二关节状态,若第二关节状态满足预设约束条件,则将移动步长记为1。若第二关节状态不满足预设约束条件,则将移动步长记为0。在第二关节状态满足预设约束条件的基础上,可以获得对应路径节点P3的第二关节状态,对该第二关节状态继续进行预设约束条件判断,若该第二关节状态满足预设约束条件,则将移动步长记为2,若该第二关节状态满足预设约束条件,则将移动步长记为1,不再进行对应路径节点P4的第二关节状态的求解。在获得一个对应路径节点的第二关节状态后,均对第二关节状态进行预设约束条件判断,从而自动快捷地确定第一关节状态的移动步长。
在一个可选的实施例中,请参阅图6,预设约束条件包括位置误差约束条件、姿态范围约束条件、关节限位约束条件以及碰撞检测约束条件,每个路径节点对应一个作业方向,步骤S34判断作业工具在对应路径节点上时,至少一个第一关节状态对应的机械臂的第二关节状态是否满足预设约束条件的步骤,包括S341~S344,具体如下:
S341:根据机械臂的第二关节状态,预测作业工具的作业位置;若作业位置与对应路径节点的位置之间的偏差在第一预设范围内,确定机械臂的第二关节状态满足位置误差约束条件;
S342:根据机械臂的第二关节状态,预测作业工具的作业姿态方向;若作业姿态方向与对应路径节点的作业方向之间的夹角在第二预设范围内,确定机械臂的第二关节状态满足姿态范围约束条件;
S343:根据机械臂的第二关节状态,确定机械臂各个关节的关节角度;若每个关节的关节角度位于第三预设范围内,确定机械臂的第二关节状态满足关节限位约束条件;
S344:根据机械臂的第二关节状态,确定机械臂的空间区域,若机械臂的空间区域与作业对象所在的空间区域不存在重叠,确定机械臂的第二关节状态满足碰撞检测约束条件。
在本申请实施例中,通过对第二关节状态进行位置误差约束条件、姿态范围约束条件、关节限位约束条件以及碰撞检测约束条件的判断,若不满足其中任意一个约束条件,则不进行下一个路径节点的第二关节状态预测,从而提高关节状态预测的准确性。
在一个可选的实施例中,步骤S40根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态的步骤,包括S41,具体如下:
S41:若存在移动步长等于作业路径上的路径节点的总数量,计算移动步长等于路径节点的总数量的第一关节状态与机械臂的参考关节状态的距离平方和,将距离平方和最小的一个第一关节状态作为机械臂的起始关节状态。
在本申请实施例中,将距离平方和最小的一个第一关节状态作为机械臂的起始关节状态,可以使得机器臂由参考关节状态花费最小时间调节至起始关节状态,提高机械臂关节状态的调节效率。
在一个可选的实施例中,请参阅图7,步骤S40根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态的步骤,包括S42~S45,具体如下:
S42:若不存在移动步长等于作业路径上的路径节点的总数量,获取移动步长不为零的第一关节状态的数目;
S43:若数目大于或等于预设阈值,对所有移动步长不为零的第一关节状态进行聚类,获得若干个聚类群;
S44:遍历每个聚类群,计算当前聚类群中每个第一关节状态与机械臂的参考关节状态的距离平方和,将每个第一关节状态对应的距离平方和以及对应的移动步长的倒数进行加权求和,获得每个第一关节状态的成本;
S45:重复遍历每个聚类群,直至确定每个聚类群中成本最小的第一关节状态,将每个聚类群中成本最小的第一关节状态作为机械臂的起始关节状态。
在本申请实施例中,通过对若干个移动步长不为零的第一关节状态进行聚类,从每个聚类群确定一个成本最小的第一关节状态作为机械臂的起始关节状态,确保了机械臂起始状态的多样性。
实施例2
下述为本申请装置实施例,可以用于执行本申请实施例1中方法的内容。对于本申请装置实施例中未披露的细节,请参照本申请实施例1中方法的内容。
请参见图8,其示出了本申请实施例提供的机械臂起始关节状态的生成装置的结构示意图。本申请实施例提供的机械臂起始关节状态的生成装置7,包括:
初始位姿集合获取模块71,用于获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;
状态集合确定模块72,用于根据初始位姿集合,确定机械臂的第一关节状态集合;
移动步长预测模块73,用于预测机械臂分别以第一关节状态集合中的至少一个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长;移动步长用于指示作业工具沿着作业路径的各个路径节点移动时,从至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;
起始关节状态确定模块74,用于根据每个至少一个第一关节状态的移动步长,从至少一个第一关节状态集合中确定机械臂的起始关节状态。
可选的,初始位姿集合获取模块,包括:
作业路径获取单元,用于获取机械臂末端的作业路径;
初始位置获得单元,用于从作业路径中选取一个路径节点作为初始路径节点,将初始路径节点的位置作为作业工具的初始位置;
姿态方向获取单元,用于获取作业工具的若干个姿态方向;其中,每个姿态方向与初始路径节点对应的作业方向的夹角小于或等于预设角度;
初始位姿集合获取单元,用于根据初始位置和若干个姿态方向,获得机械臂末端的作业工具的初始位姿集合。
可选的,移动步长预测模块,包括:
位置计算单元,用于计算至少一个第一关节状态对应的位姿关节映射参数以及至少一个第一关节状态对应的作业工具的位置;
第二关节状态预测单元,用于将至少一个第一节关节状态、至少一个第一关节状态对应的位姿关节映射参数、作业工具的位置以及路径节点的位置输入至机械臂作业预测模型,预测获得以至少一个第一关节状态控制作业工具移动至对应路径节点时,机械臂的第二关节状态;
移动步长获得单元,用于根据至少一个第一关节状态对应的机械臂的第二关节状态,获得至少一个第一关节状态的移动步长。
可选的,移动步长获得单元,包括:
约束条件判断单元,用于判断作业工具在对应路径节点上时,至少一个第一关节状态对应的机械臂的第二关节状态是否满足预设约束条件;
第一移动步长确定单元,用于若否,获取至少一个第一关节状态对应的作业工具在对应路径节点之前移动经过的路径节点的数量,将数量作为对应的至少一个第一关节状态的移动步长;
第二移动步长确定单元,用于若是,控制作业工具移动至对应路径节点之后的下一个路径节点,判断在下一个路径节点上的机械臂的第二关节状态是否满足预设约束条件,直至控制作业工具移动至最后一个路径节点为止。
可选的,约束条件判断单元,包括:
第一约束条件判断单元,用于根据机械臂的第二关节状态,预测作业工具的作业位置;若作业位置与对应路径节点的位置之间的偏差在第一预设范围内,确定机械臂的第二关节状态满足位置误差约束条件;
第二约束条件判断单元,用于根据机械臂的第二关节状态,预测作业工具的作业姿态方向;若作业姿态方向与对应路径节点的作业方向之间的夹角在第二预设范围内,确定机械臂的第二关节状态满足姿态范围约束条件;
第三约束条件判断单元,用于根据机械臂的第二关节状态,确定机械臂各个关节的关节角度;若每个关节的关节角度位于第三预设范围内,确定机械臂的第二关节状态满足关节限位约束条件;
第四约束条件判断单元,用于根据机械臂的第二关节状态,确定机械臂的空间区域,若机械臂的空间区域与作业对象所在的空间区域不存在重叠,确定机械臂的第二关节状态满足碰撞检测约束条件。
可选的,起始关节状态确定模块,包括:
第一起始关节状态确定,用于若存在移动步长等于作业路径上的路径节点的总数量,计算移动步长等于路径节点的总数量的第一关节状态与机械臂的参考关节状态的距离平方和,将距离平方和最小的一个第一关节状态作为机械臂的起始关节状态。
可选的,起始关节状态确定模块,包括:
数目获取单元,用于若不存在移动步长等于作业路径上的路径节点的总数量,获取移动步长不为零的第一关节状态的数目;
聚类群获得单元,用于若数目大于或等于预设阈值,对所有移动步长不为零的第一关节状态进行聚类,获得若干个聚类群;
成本获得单元,用于遍历每个聚类群,计算当前聚类群中每个第一关节状态与机械臂的参考关节状态的距离平方和,将每个第一关节状态对应的距离平方和以及对应的移动步长的倒数进行加权求和,获得每个第一关节状态的成本;
聚类群遍历单元,用于重复遍历每个聚类群,直至确定每个聚类群中成本最小的第一关节状态,将每个聚类群中成本最小的第一关节状态作为机械臂的起始关节状态。
应用本申请实施例,通过获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;根据初始位姿集合,确定机械臂的第一关节状态集合;预测机械臂分别以第一关节状态集合中的每个第一关节状态控制作业工具在作业路径上移动时,作业工具的移动步长;移动步长用于指示作业工具沿着作业路径的各个路径节点移动时,从至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;根据至少一个第一关节状态对应的移动步长,从至少一个第一关节状态中确定机械臂的起始关节状态。本申请实施例通过第一关节状态的移动步长确定机械臂的起始关节状态,提高了作业工具的作业完整度。
实施例3
下述为本申请设备实施例,可以用于执行本申请实施例1中方法的内容。对于本申请设备实施例中未披露的细节,请参照本申请实施例1中方法的内容。
请参阅图9,本申请还提供一种电子设备300,电子设备可以具体为计算机、手机、平板电脑、交互平板等,在本申请的示例性实施例中,电子设备300为交互平板,交互平板可以包括:至少一个处理器301、至少一个存储器302,至少一个显示器,至少一个网络接口303,用户接口304以及至少一个通信总线305。
其中,用户接口304主要用于为用户提供输入的接口,获取用户输入的数据。可选的,用户接口还可以包括标准的有线接口、无线接口。
其中,网络接口303可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,通信总线305用于实现这些组件之间的连接通信。
其中,处理器301可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个电子设备内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行电子设备的各种功能和处理数据。可选的,处理器可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器可集成中央处理器(Central ProcessingUnit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示层所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器中,单独通过一块芯片进行实现。
其中,存储器302可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器可用于存储指令、程序、代码、代码集或指令集。存储器可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器可选的还可以是至少一个位于远离前述处理器的存储装置。作为一种计算机存储介质的存储器中可以包括操作系统、网络通信模块、用户接口模块、操作应用程序。
处理器可以用于调用存储器中存储的视频分辨率调整方法的应用程序,并具体执行上述所示实施例1的方法步骤,具体执行过程可以参见实施例1所示的具体说明,在此不进行赘述。
实施例4
本申请还提供一种计算机可读存储介质,其上储存有计算机程序,指令适于由处理器加载并执行上述所示实施例1的方法步骤,具体执行过程可以参见实施例所示的具体说明,在此不进行赘述。存储介质所在设备可以是个人计算机、笔记本电脑、智能手机、平板电脑等电子设备。
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种机械臂起始关节状态的生成方法,其特征在于,所述方法包括如下步骤:
获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;
根据所述初始位姿集合,确定机械臂的第一关节状态集合;
预测所述机械臂分别以所述第一关节状态集合中的至少一个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长;所述移动步长用于指示所述作业工具沿着所述作业路径的各个路径节点移动时,从所述至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;
根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态。
2.根据权利要求1所述的机械臂起始关节状态的生成方法,其特征在于:
所述作业路径包括沿着所述作业路径排列的若干个路径节点;
所述预测所述机械臂分别以所述第一关节状态集合中的至少一个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长的步骤,包括:
计算所述至少一个第一关节状态对应的位姿关节映射参数以及所述至少一个第一关节状态对应的所述作业工具的位置;
将所述至少一个第一节关节状态、所述至少一个第一关节状态对应的所述位姿关节映射参数、所述作业工具的位置以及所述路径节点的位置输入至机械臂作业预测模型,预测获得以所述至少一个第一关节状态控制所述作业工具移动至对应所述路径节点时,所述机械臂的第二关节状态;
根据所述至少一个第一关节状态对应的所述机械臂的第二关节状态,获得所述至少一个第一关节状态的移动步长。
3.根据权利要求2所述的机械臂起始关节状态的生成方法,其特征在于:
所述根据所述至少一个第一关节状态对应的所述机械臂的第二关节状态,获得所述至少一个第一关节状态的移动步长的步骤,包括:
判断所述作业工具在对应所述路径节点上时,所述至少一个第一关节状态对应的所述机械臂的第二关节状态是否满足预设约束条件;
若否,获取所述至少一个第一关节状态对应的所述作业工具在对应所述路径节点之前移动经过的路径节点的数量,将所述数量作为对应的所述至少一个第一关节状态的移动步长;
若是,控制所述作业工具移动至对应所述路径节点之后的下一个路径节点,判断在所述下一个路径节点上的所述机械臂的第二关节状态是否满足预设约束条件,直至控制所述作业工具移动至最后一个路径节点为止。
4.根据权利要求3所述的机械臂起始关节状态的生成方法,其特征在于:
所述预设约束条件包括位置误差约束条件、姿态范围约束条件、关节限位约束条件以及碰撞检测约束条件;每个所述路径节点对应一个作业方向;
所述判断所述作业工具在对应所述路径节点上时,所述至少一个第一关节状态对应的所述机械臂的第二关节状态是否满足预设约束条件的步骤,包括:
根据所述机械臂的第二关节状态,预测所述作业工具的作业位置;若所述作业位置与对应所述路径节点的位置之间的偏差在第一预设范围内,确定所述机械臂的第二关节状态满足所述位置误差约束条件;
根据所述机械臂的第二关节状态,预测所述作业工具的作业姿态方向;若所述作业姿态方向与对应所述路径节点的作业方向之间的夹角在第二预设范围内,确定所述机械臂的第二关节状态满足所述姿态范围约束条件;
根据所述机械臂的第二关节状态,确定机械臂各个关节的关节角度;若每个所述关节的关节角度位于第三预设范围内,确定所述机械臂的第二关节状态满足所述关节限位约束条件;
根据所述机械臂的第二关节状态,确定所述机械臂的空间区域,若所述机械臂的空间区域与作业对象所在的空间区域不存在重叠,确定所述机械臂的第二关节状态满足所述碰撞检测约束条件。
5.根据权利要求1所述的机械臂起始关节状态的生成方法,其特征在于:
所述根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态的步骤,包括:
若存在移动步长等于所述作业路径上的路径节点的总数量,计算移动步长等于路径节点的总数量的第一关节状态与所述机械臂的参考关节状态的距离平方和,将距离平方和最小的一个第一关节状态作为所述机械臂的起始关节状态。
6.根据权利要求1所述的机械臂起始关节状态的生成方法,其特征在于:
所述根据所述至少一个第一关节状态对应的所述移动步长,从所述至少一个第一关节状态中确定机械臂的起始关节状态的步骤,包括:
若不存在移动步长等于所述作业路径上的路径节点的总数量,获取移动步长不为零的第一关节状态的数目;
若所述数目大于或等于预设阈值,对所有移动步长不为零的第一关节状态进行聚类,获得若干个聚类群;
遍历每个所述聚类群,计算当前聚类群中每个所述第一关节状态与所述机械臂的参考关节状态的距离平方和,将每个所述第一关节状态对应的距离平方和以及对应的移动步长的倒数进行加权求和,获得每个所述第一关节状态的成本;
重复遍历每个所述聚类群,直至确定每个所述聚类群中成本最小的第一关节状态,将每个所述聚类群中成本最小的第一关节状态作为所述机械臂的起始关节状态。
7.根据权利要求1至6任意一项所述的机械臂起始关节状态的生成方法,其特征在于:
所述获取机械臂末端的作业工具的初始位姿集合以及作业路径的步骤,包括:
获取所述机械臂末端的作业路径;
从所述作业路径中选取一个路径节点作为初始路径节点,将所述初始路径节点的位置作为所述作业工具的初始位置;
获取所述作业工具的若干个姿态方向;其中,每个所述姿态方向与所述初始路径节点对应的作业方向的夹角小于或等于预设角度;
根据所述初始位置和若干个所述姿态方向,获得所述机械臂末端的作业工具的初始位姿集合。
8.一种机械臂起始关节状态的生成装置,其特征在于,包括:
初始位姿集合获取模块,用于获取机械臂末端夹持的作业工具的初始位姿集合以及作业路径;
状态集合确定模块,用于根据所述初始位姿集合,确定机械臂的第一关节状态集合;
移动步长预测模块,用于预测所述机械臂分别以所述第一关节状态集合中的至少一个第一关节状态控制所述作业工具在所述作业路径上移动时,所述作业工具的移动步长;所述移动步长用于指示所述作业工具沿着所述作业路径的各个路径节点移动时,从所述至少一个第一关节状态对应的初始位姿到首个不满足预设约束条件的路径节点之间移动经过的路径节点数量;
起始关节状态确定模块,用于根据每个所述至少一个第一关节状态的所述移动步长,从所述至少一个第一关节状态集合中确定机械臂的起始关节状态。
9.一种计算机设备,包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057224.7A CN117681183A (zh) | 2022-08-30 | 2022-08-30 | 机械臂起始关节状态的生成方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057224.7A CN117681183A (zh) | 2022-08-30 | 2022-08-30 | 机械臂起始关节状态的生成方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117681183A true CN117681183A (zh) | 2024-03-12 |
Family
ID=90126988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211057224.7A Pending CN117681183A (zh) | 2022-08-30 | 2022-08-30 | 机械臂起始关节状态的生成方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117681183A (zh) |
-
2022
- 2022-08-30 CN CN202211057224.7A patent/CN117681183A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109382820B (zh) | 干扰判定方法、干扰判定系统以及存储介质 | |
EP3410246B1 (en) | Robot obstacle avoidance control system and method, robot, and storage medium | |
JP5981215B2 (ja) | マルチロボットシステムのデッドロックを自動的に防止する方法及びシステム | |
RU2700246C1 (ru) | Способ и система захвата объекта с помощью роботизированного устройства | |
US20150112482A1 (en) | Teaching system and teaching method | |
JP6449534B2 (ja) | ロボットシミュレータ用の教示点プログラム選択方法 | |
JP2012223845A (ja) | ロボットの着目部位と周辺物との干渉を予測する方法及び装置 | |
JP6665056B2 (ja) | 作業支援装置、作業支援方法およびプログラム | |
CN109760040B (zh) | 干扰判定方法、干扰判定系统以及存储介质 | |
JP2019171501A (ja) | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム | |
CN113561175B (zh) | 机械臂的路径规划方法、装置、计算机设备和存储介质 | |
US10035264B1 (en) | Real time robot implementation of state machine | |
WO2022173468A1 (en) | Extensible underconstrained robotic motion planning | |
CN115703227A (zh) | 机器人的控制方法、机器人以及计算机可读存储介质 | |
CN117681183A (zh) | 机械臂起始关节状态的生成方法、装置、设备以及介质 | |
JP7331616B2 (ja) | 回避軌道生成装置、方法、及びプログラム | |
JP6792230B1 (ja) | 情報処理装置、方法およびプログラム | |
CN113021329B (zh) | 一种机器人运动控制方法、装置、可读存储介质及机器人 | |
CN116038686B (zh) | 机器人奇异点规避方法、装置、计算机设备和存储介质 | |
CN115461199A (zh) | 用于自主机器人操作的面向任务的3d重构 | |
US20210129331A1 (en) | Control method, control apparatus, robot apparatus, method of manufacturing an article, motion program creation method, motion program creation apparatus, display apparatus, and control program recording medium | |
JP2006068890A (ja) | 軌道決定システムおよび軌道決定方法 | |
US11607809B2 (en) | Robot motion planning accounting for object pose estimation accuracy | |
US11511419B2 (en) | Task planning for measurement variances | |
CN117348577B (zh) | 一种生产工艺仿真检测方法、装置、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |