一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机械臂的控制方法、装置、机械臂系统和存储介质与流程

2022-11-30 10:31:34 来源:中国专利 TAG:


1.本技术属于机械臂控制技术领域,尤其涉及一种机械臂的控制方法、装置、机械臂系统和存储介质。


背景技术:

2.机械臂系统是一个复杂系统,能够通过规划机械臂各个关节的运动轨迹,改变位姿,从而调整机械臂末端所在位置。机械臂系统广泛应用于各个领域,例如可以应用于自动标定技术、产品的视觉检测技术等。以自动标定技术为例,自动标定技术多为用机械臂固定相机,并调整机械臂的位姿,以控制相机前往对应位置拍摄标定板的图像,从而实现相机内参的自动化标定。
3.在长时间的工程化使用中,随着机械臂老化、机械臂复位不准等环境因素的出现,相机将难以拍摄到完整的标定板,导致相机内参标定逐渐失准。为了修正环境因素带来的移动误差,一般需要工作人员使用视校器等专业工具调整机械臂复位再重新开始标定,而这种修正方式效率较低。


技术实现要素:

4.本技术实施例提供一种机械臂的控制方法、装置、机械臂系统和存储介质,可以解决现有技术中机械臂的移动误差的修正方式效率低的问题。
5.本技术实施例第一方面提供一种机械臂的控制方法,包括:
6.获取机械臂的控制信息,所述控制信息包括固定于所述机械臂的目标物体所需抵达的预设位置;根据所述控制信息,控制所述目标物体朝预设位置移动;若所述目标物体位于感兴趣区域外,则根据位于所述感兴趣区域外的所述目标物体的特征点的数量,确定目标修正量,所述目标修正量用于修正所述预设位置与所述感兴趣区域之间存在的偏移;根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内。
7.在本技术的一些实施方式中,所述根据位于所述感兴趣区域外的所述目标物体的特征点的数量,确定目标修正量,包括:获取所述目标物体的目标图像,所述目标图像的图像区域包含所述感兴趣区域;对所述目标图像进行特征点识别,确定所述目标物体的各个特征点的特征点坐标;根据所述特征点坐标,确定位于所述感兴趣区域外的特征点的数量,以及所述目标物体和所述感兴趣区域之间的位置关系;根据位于所述感兴趣区域外的特征点的数量和所述位置关系,确定所述目标修正量。
8.在本技术的一些实施方式中,所述根据位于所述感兴趣区域外的特征点的数量和所述位置关系,确定所述目标修正量,包括:获取预设的待更新修正量;根据所述位置关系以及所述位于所述感兴趣区域外的特征点的数量,确定对所述待更新修正量进行增量更新或进行减量更新的变化量;根据所述待更新修正量和所述变化量,确定所述目标修正量,所述目标修正量用于使所述机械臂移动k倍的所述单位移动量,其中,k为arctan(h-m)对应的弧度值,h表示所述目标修正量,m表示所述待更新修正量。
9.在本技术的一些实施方式中,所述根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内,包括:控制所述机械臂根据所述目标修正量对所述目标物体进行移动,并接收到所述机械臂的新的抵达信息,所述新的抵达信息用于表征固定于所述机械臂的所述目标物体已抵达修正后的位置;若所述目标物体位于所述感兴趣区域外,则重新计算新的修正量,并控制所述机械臂根据所述新的修正量对所述目标物体进行移动,所述新的修正量用于修正所述修正后的位置与所述感兴趣区域之间存在的偏移,直至所述新的修正量在预设范围内,确认已将所述目标物体移动至所述感兴趣区域内。
10.在本技术的一些实施方式中,所述根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内,包括:根据每个预设方向上的所述目标修正量,控制所述机械臂依次在每个所述预设方向上移动所述目标物体,直至将所述目标物体移动至所述感兴趣区域内。
11.在本技术的一些实施方式中,所述控制方法应用于机械臂系统,所述机械臂系统包括装配有所述机械臂的机械臂端,所述控制信息包括与所述预设位置关联的初始位姿和初始修正量;所述根据所述控制信息,控制所述目标物体朝预设位置移动,包括:根据所述控制信息,控制所述机械臂端根据所述初始位姿和所述初始修正量对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述预设位置;所述根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内,包括:根据所述目标修正量,控制所述机械臂端根据所述初始位姿和所述目标修正量对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述感兴趣区域内。
12.在本技术的一些实施方式中,在所述根据所述目标修正量,控制所述机械臂端将所述目标物体移动至所述感兴趣区域之后,所述控制方法还包括:获取新的控制信息,所述新的控制信息包括与新的预设位置关联的目标位姿;根据所述新的控制信息,控制所述机械臂端根据所述目标位姿和所述目标修正量,以及所述目标位姿与所述初始位姿之间的转换关系,对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述新的预设位置。
13.本技术实施例第二方面提供的一种机械臂的控制装置,包括:
14.获取单元,用于获取机械臂的控制信息,所述控制信息包括固定于所述机械臂的目标物体所需抵达的预设位置;第一控制单元,用于根据所述控制信息,控制所述目标物体朝预设位置移动;确定单元,用于若所述目标物体位于感兴趣区域外,则根据在所述感兴趣区域外所述目标物体的特征点的数量,确定目标修正量,所述目标修正量用于修正所述预设位置与所述感兴趣区域之间存在的偏移;第二控制单元,用于根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内。
15.本技术实施例第三方面提供一种机械臂系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述控制方法的步骤。
16.本技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述控制方法的步骤。
17.本技术实施例第五方面提供了一种计算机程序产品,当计算机程序产品在机械臂上运行时,使得机械臂系统执行上述第一方面所述的控制方法。
18.在本技术的实施方式中,通过获取机械臂的控制信息,以根据控制信息,控制固定于机械臂的目标物体朝预设位置移动,并在目标物体位于感兴趣区域外时,根据在感兴趣区域外目标物体的特征点的数量,确定目标修正量,进而根据目标修正量,控制机械臂将目标物体移动至感兴趣区域内,由于感兴趣区域外目标物体的特征点的数量一定程度上表征了目标物体和感兴趣区域之间的相对位置关系,因此,确定出的目标修正量能够准确地修正预设位置与感兴趣区域之间存在的偏移,在实现自动化修正的同时,避免了修正量过大或过小,进而减少修正的次数,提高了修正的效率。将该控制方式应用于自动标定技术,可以将感兴趣区域设置为相机的图像采集区域的中心区域,在每次标定时,目标物体能够完整地落入中心区域,提高了标定的准确度。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的一种机械臂的控制方法的实现流程示意图;
21.图2是本技术实施例提供的自动标定系统的数据流示意图;
22.图3是本技术实施例提供的确定目标修正量的具体实现流程示意图;
23.图4是本技术实施例提供的目标图像的示意图;
24.图5是本技术实施例提供的反正切函数图像的示意图;
25.图6是本技术实施例提供的一种机械臂的控制装置的结构示意图;
26.图7是本技术实施例提供的机械臂系统的结构示意图。
具体实施方式
27.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护。
28.机械臂系统是一个复杂系统,能够通过规划机械臂各个关节的运动轨迹,改变位姿,从而调整机械臂末端所在位置。机械臂系统广泛应用于各个领域,例如可以应用于自动标定技术、产品的视觉检测技术等。以自动标定技术为例,自动标定技术多为用机械臂固定相机,并调整机械臂的位姿,以控制相机前往对应位置拍摄标定板的图像,从而实现相机内参的自动化标定。
29.在长时间的工程化使用中,随着机械臂老化、机械臂复位不准等环境因素的出现,相机将难以拍摄到完整的标定板,导致相机内参标定逐渐失准。为了修正环境因素带来的移动误差,一般需要工作人员使用视校器等专业工具调整机械臂复位再重新开始标定。人工修正依赖于对专业工具的规范操作和专业工具的精度,往往需要循环多次地进行修正,而且,应用在自动标定技术中,为了保证标定的准确性,还需要反复确认修正后标定板是否落在相机的图像采集区域的中央,因此这种修正方式效率低。
30.为了解决上述问题,本技术提出了一种机械臂的自修正控制方法,可以使机械臂末端的目标物体移动至感兴趣区域(region of interest,roi)内,例如将标定板移动至相机的图像采集区域的中央,整个修正过程参考了roi外目标物体的特征点的数量,可以准确地修正预设位置与roi之间存在的偏移,减少重复修正的次数,提高修正的效率。
31.为了说明本技术的技术方案,下面通过具体实施例来进行说明。
32.图1示出了本技术实施例提供的一种机械臂的控制方法的实现流程示意图,该方法可以应用于机械臂系统,例如多轴机械臂系统,可适用于需提高对机械臂的移动误差的修正效率的情形。
33.在本技术的一些实施方式中,机械臂系统可以包括机械臂端和控制端,机械臂端可以装配有机械臂(包括多轴机械臂),控制端可用于对机械臂端进行控制,基于本技术提供的控制方法,控制端可以控制机械臂端对机械臂进行位姿调整,实现对机械臂的移动误差的修正。其中,机械臂端和控制端既可以是机械臂系统里的不同设备,也可以是机械臂系统里同一设备的不同模块,对此本技术不进行限制。
34.例如,机械臂系统可以指自动标定系统。自动标定系统中,机械臂端装配的机械臂的末端可通过夹持、磁吸等方式固定标定板。图2示出了本技术提供的自动标定系统的数据流示意图。控制端与相机连接,可通过向机械臂端发送控制指令,控制机械臂端对机械臂进行位姿调整,进而改变标定板的位置,同时通过相机对标定板进行拍摄,以利用标定板图像实现相机内参的标定。具体的标定方式可以选择张正友标定法、基于深度学习神经网络的相机标定法,或者其他相机标定方法,对此本技术不做限制。机械臂端和控制端可以通过socket通讯等通讯方式实现交互。此时,机械臂的控制逻辑部分从机械臂端脱离至控制端,机械臂端仅保留了基础的运动控制和位置解析,如此,可以通过修改控制端的软件程序快速完成机械臂端的控制。
35.具体的,上述机械臂的控制方法可以包括以下步骤s101至步骤s104。
36.步骤s101,获取机械臂的控制信息。
37.其中。控制信息可以包括固定于机械臂的目标物体所需抵达的预设位置。
38.在本技术的一些实施方式中,控制信息可以由用户输入,也可以根据预先配置好的规则生成。例如,机械臂系统可以在预设的时间点生成时间点对应的控制信息,或者,在机械臂系统处于预设的工作模式时生成工作模式对应的控制信息等。
39.步骤s102,根据控制信息,控制目标物体朝预设位置移动。
40.在本技术的一些实施方式中,上述控制信息可以包括与预设位置关联的初始位姿和初始修正量,机械臂系统可以根据控制信息,控制机械臂端根据初始位姿和初始修正量对机械臂进行位姿调整,以使机械臂将目标物体移动至预设位置。
41.具体的,机械臂系统的控制端可以根据控制信息向机械臂端发送初始控制指令。初始控制指令可以用于指示机械臂端根据初始控制指令携带的初始位姿和初始修正量对机械臂进行位姿调整,进而使机械臂将目标物体移动至预设位置。
42.其中,目标物体可以是标定板、待进行视觉检测的产品等。初始位姿可以是预设的多个位姿之中的一个,可以包括机械臂各个关节在各个坐标轴上应到达的坐标及各个旋转方位上应旋转的角度。初始修正量可以是上一次确定出的修正量,或者是预先设置好的初始的修正量,例如可以为0。
43.具体的,机械臂端可以预先存储预设的n个位姿,以及每个位姿对应的标识1、2、3、
……
、n。机械臂端基于每个位姿对机械臂进行调整,可以使机械臂末端的目标物体移动至不同的预设位置。初始控制指令可以携带有用于表示初始位姿的标识。比如,控制端可以发送初始控制指令(a,b)至机械臂端,其中,a∈{1,2,3,

,n}表示一个位姿的标识,b表示初始修正量,例如(1,0)表示前往标识1对应的位姿,并进行修正量为0的修正(即不需要修正)。机械臂端根据初始控制指令(a,b),可以调整机械臂各个关节的位姿至标识a对应的位姿,使得固定在机械臂上的目标物体移动到预设位置。
44.如图2所示,机械臂系统可以基于本技术提供的控制方法实现机械臂的自修正。
45.应理解,正常情况下,目标物体所需抵达的预设位置将位于roi内。随着机械臂老化、机械臂复位不准等环境因素的出现,机械臂末端加持的目标物体实际到达的实际位置与正常情况下的预设位置逐渐偏离,实际位置和roi之间产生偏移,导致机械臂系统认为目标物体已经抵达预设位置,并发送抵达信息时,目标物体仍位于roi外。
46.其中,roi可以指正常情况下目标物体所处的区域,可以是一个预设的区域,比如可以指相机的图像采集区域,或者图像采集区域的中央等。
47.步骤s103,若目标物体位于感兴趣区域外,则根据在感兴趣区域外目标物体的特征点的数量,确定目标修正量。
48.本技术的实施方式中,如果目标物体位于roi内,说明机械臂的移动准确性在允许的范围内,此时可以不对机械臂系统进行修正控制。如果目标物体位于roi外,说明影响目标物体的移动准确性的环境因素在允许的范围外,则需要根据在roi外目标物体的特征点的数量,确定目标修正量,以实现机械臂系统的自修正控制。
49.具体的,机械臂系统可以通过相机拍摄目标物体的目标图像,该目标图像的图像采集区域可以包含roi。根据目标图像,控制端可以识别roi内是否完整地包含目标物体,如果roi内未完整地包含目标物体,则可以确认目标物体位于roi外,否则可以确认目标物体位于roi内。
50.基于目标图像,还可以识别在roi外目标物体的特征点的数量,并根据特征点的数量确定目标修正量,其中,所识别的特征点可以根据实际情况设置,例如可以指角点、目标物体上预先标记的特定颜色、特定形状的点。例如,目标物体是棋盘格标定板,则特征点可以是棋盘格标定板上的每一个角点。
51.本技术的实施方式中,目标物体的特征点可均匀地分布于目标物体的表面。此时,在roi外目标物体的特征点的数量越多,则说明目标物体实际位置与roi之间所存在的偏移越大,也即,roi外目标物体的特征点的数量一定程度上表征了目标物体和roi之间的相对位置关系,因此,基于特征点的数量,所确定的目标修正量可以准确地修正目标物体实际位置与roi之间存在的偏移。
52.步骤s104,根据目标修正量,控制机械臂将目标物体移动至感兴趣区域内。
53.在本技术的一些实施方式中,机械臂系统可以根据目标修正量,控制机械臂端根据初始位姿和目标修正量对机械臂进行位姿调整,以使机械臂将目标物体移动至感兴趣区域内。
54.具体的,机械臂系统的控制端可以向机械臂端发送修正控制指令,修正控制指令用于指示机械臂端根据修正控制指令携带的初始位姿和目标修正量对机械臂调整位姿,以
使机械臂将目标物体移动至roi内。比如,控制端可以发送修正控制指令(a,c)至控制端,其中,c表示目标修正量,使得目标物体由机械臂根据初始控制指令(a,b)解析得到的预设位置移动至由机械臂根据修正控制指令(a,c)解析得到的修正后的位置,进而使目标物体完整地落入roi内。
55.如图2所示,将上述控制方法应用于自动标定技术时,在根据修正控制指令将目标物体移动到对应位置之后,可以发送新的抵达信息至控制端,新的抵达信息用于表征固定于机械臂的目标物体已抵达修正后的位置,控制端接收到新的抵达信息之后,可以控制相机对roi进行拍摄,获取标定板图像,并利用标定板图像实现标定。
56.完成修正后,机械臂系统还可以获取新的控制信息,新的控制信息可以包括与新的预设位置关联的目标位姿,然后,根据新的控制信息,控制机械臂端根据目标位姿和目标修正量,以及目标位姿与初始位姿之间的转换关系,对机械臂进行位姿调整,以使机械臂将目标物体移动至新的预设位置。
57.具体的,控制端可以向机械臂端发送新的控制指令,新的控制指令用于指示机械臂端根据新的控制指令携带的目标位姿和目标修正量,以及目标位姿与初始位姿之间的转换关系,对机械臂进行控制,以使机械臂将目标物体移动至新的预设位置。具体的,机械臂端可以预先存储初始位姿“1”,以及其他位姿“2、3、
……
、n”分别与初始位姿“1”之间的转换关系,该转换关系可以表示为平移旋转矩阵rt。完成修正后,控制端可以发送新的控制指令(d,c)至机械臂端,此时,机械臂端可根据初始位姿a、预先存储好目标位姿d与初始位姿a之间的转换关系,以及目标修正量,进行机械臂的位姿调整,使得目标物体移动至新的预设位置。应理解,此时新的预设位置也是修正过的位置,因此,本技术一次修正可以应用于多个位姿,可以减少修正次数,提高修正效率。应用于自动标定技术时,机械臂系统可以快速地获取到标定板位于不同位置时的标定板图像,不需要每一次调整位姿都进行一次修正,在提高标定效率的同时,利用多张图像可以使标定得到的内参更加准确。
58.在本技术的实施方式中,通过获取机械臂的控制信息,以根据控制信息,控制固定于机械臂的目标物体朝预设位置移动,并在目标物体位于感兴趣区域外时,根据在感兴趣区域外目标物体的特征点的数量,确定目标修正量,进而根据目标修正量,控制机械臂将目标物体移动至感兴趣区域内,由于感兴趣区域外目标物体的特征点的数量一定程度上表征了目标物体和感兴趣区域之间的相对位置关系,因此,确定出的目标修正量能够准确地修正目标物体与感兴趣区域之间存在的偏移,在实现自动化修正的同时,避免了修正量过大或过小,进而减少修正的次数,提高了修正的效率。将该控制方式应用于自动标定技术,可以将感兴趣区域设置为相机的图像采集区域的中心区域,在每次标定时,目标物体能够完整地落入中心区域,提高了标定的准确度。
59.下面对修正过程具体进行说明。如图3所示,上述确定目标修正量,可以包括以下步骤s301至步骤s304。
60.步骤s301,获取目标物体的目标图像。
61.其中,目标图像的图像区域可以包含roi,具体的,机械臂系统可以通过自身连接的相机进行拍摄,此时相机的图像采集区域(即目标图像的图像区域)包含roi。
62.步骤s302,对目标图像进行特征点识别,确定目标物体的各个特征点的特征点坐标。
63.例如,可以采用harris角点检测算法、尺度不变特征变换(scale-invariantfeature transform,sift)等特征点提取算法,识别目标图像中的特征点,并确定特征点在目标图像中的像素点坐标。
64.步骤s303,根据特征点坐标,确定位于感兴趣区域外的特征点的数量,以及目标物体和感兴趣区域之间的位置关系。
65.具体的,机械臂系统可以获取roi的边界线坐标,根据每个特征点的特征点坐标和边界线坐标,确定每个特征点是否位于感兴趣区域之内,并确定位于感兴趣区域外的特征点的数量。同时,基于不同边界的边界线坐标,可以获知目标物体和感兴趣区域之间的位置关系。
66.请参考图4,假设以目标图像的左下角为原点,向右为x轴正方向,向上为y轴正方向建立图形坐标系。假设roi(阴影所示区域)的上边界为y=m1;下边界为y=m2;左边界x=m3,右边界x=m4。遍历各个特征点的坐标(xi,yi)。如果yi小于或等于m1且大于或等于m2,xi大于或等于m3且小于或等于m4,则可以该特征点在roi内。否则,特征点在roi外。
67.并且,如果存在yi大于m1的特征点,则可以确认在y轴方向上的位置关系为目标物体位于感兴趣区域上方,即如图4所示。如果存在yi小于m2的特征点,则可以确认在y轴方向上的位置关系为目标物体位于感兴趣区域下方。如果存在xi大于m4的特征点,则可以确认在x轴方向上的位置关系为目标物体位于感兴趣区域右侧。如果存在xi小于m3的特征点,则可以在x轴方向上的位置关系为目标物体位于感兴趣区域左侧。
68.步骤s304,根据位于感兴趣区域外的特征点的数量和位置关系,确定目标修正量。
69.本技术的实施方式中,位于roi外的特征点的数量决定了修正量的大小,位置关系决定了修正的方向。
70.具体的,机械臂系统可以获取预设的待更新修正量,根据位置关系以及位于roi外的特征点的数量,确定对待更新修正量进行增量更新或进行减量更新的变化量,进而根据待更新修正量和变化量,确定目标修正量。具体的,增量更新或减量更新的变化量可以为位于感兴趣区域外的特征点的数量。目标修正量可以用于使机械臂移动k倍的单位移动量,其中,k为arctan(h-m)对应的弧度值,h表示目标修正量,m表示待更新修正量,比如如果h-m为1,则k为arctan(1)对应的弧度值即0.785。单位移动量可以根据实际情况进行设置,例如可以为1厘米、0.5厘米等。
71.具体的,以y轴为例,待更新修正量可以设置为-10,根据位置关系,如果目标物体位于感兴趣区域下方,则对待更新修正量进行增量更新,如果目标物体位于感兴趣区域上方,则对待更新修正量进行减量更新,例如位于感兴趣区域上方的特征点的数量为3,则目标修正量为-13。相应的,可以向机械臂端发送(a,-13),由机械臂端根据a对应的位姿进行机械臂的位姿调整后,在y轴上移动k1倍的单位移动量,k1为arctan(-3)对应的弧度值。
72.以x轴为例,待更新修正量可以设置为10,根据位置关系,如果目标物体位于感兴趣区域右侧,则对待更新修正量进行减量更新,如果目标物体位于感兴趣区域左侧,则对待更新修正量进行增量更新,例如位于感兴趣区域右侧的特征点的数量为3,则目标修正量为7。相应的,可以向机械臂发送(a,7),由机械臂端根据a对应的位姿进行机械臂的位姿调整后,在x轴上移动k2倍的单位移动量,k2为arctan(-3)对应的弧度值。
73.为了避免过度修正,还可以预设上边界值和下边界值,例如上边界值可以设置为20,下边界值设置可以为-20。此时,如果增量更新后得到的目标修正量大于上边界值,则将上边界值作为目标修正量;如果减量更新后得到的目标修正量小于下边界值,则将下边界值作为目标修正量。
74.相应的,机械臂系统可以控制机械臂端,以使机械臂根据目标修正量对目标物体进行移动,并获取机械臂端在抵达后产生的新的抵达信息,新的抵达信息可以用于表征机械臂固定的目标物体已抵达修正后的位置。然后,再次检测目标物体是否位于roi外,若目标物体位于roi外,则重新计算新的修正量,并控制机械臂根据新的修正量对目标物体进行移动,新的修正量用于修正根据目标修正量修正后的位置与roi之间存在的偏移,直至新的修正量在预设范围内,例如直至新的修正量为0,则确认已将目标物体移动至roi内,停止修正。
75.此外,控制端可以根据每个预设方向上的目标修正量,控制机械臂端依次在每个预设方向上移动目标物体,直至将目标物体移动至感兴趣区域内。其中,每个预设方向上的目标修正量为位于roi预设方向的边界线外的特征的数量。
76.比如,存在6个yi大于m1的特征点,以及3个xi小于m3的特征点,y轴方向上的待更新修正量为-10,x轴方向上的待更新修正量为10,此时可以先确定y轴上的目标修正量为-4,控制机械臂在y轴方向上移动k3倍的单位移动量,其中,k3为arctan(6)对应的弧度值,然后确定x轴上的目标修正量为13,控制机械臂在x轴方向上移动k4倍的单位移动量,其中,k4为arctan(3)对应的弧度值,完成移动后重新检测目标物体是否位于roi内,若否,则再次进行修正,直至将目标物体移动至roi内。
77.请参考图5,图5示出了反正切函数的示意图,使机械臂移动k倍的单位移动量,可以避免在目标修正量较大时进行过量的修正,避免过度修正导致算法陷入死循环,提高了修正效率。
78.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为根据本技术,某些步骤可以采用其它顺序进行。
79.如图6所示为本技术实施例提供的一种机械臂的控制装置600的结构示意图,所述机械臂的控制装置600配置于机械臂系统上。
80.具体的,所述机械臂的控制装置600可以包括:
81.获取单元601,用于获取机械臂的控制信息,所述控制信息包括固定于所述机械臂的目标物体所需抵达的预设位置;
82.第一控制单元602,用于根据所述控制信息,控制所述目标物体朝预设位置移动;
83.确定单元603,用于若所述目标物体位于感兴趣区域外,则根据在所述感兴趣区域外所述目标物体的特征点的数量,确定目标修正量,所述目标修正量用于修正所述预设位置与所述感兴趣区域之间存在的偏移;
84.第二控制单元604,用于根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内。
85.在本技术的一些实施方式中,上述确定单元603可以具体用于:获取所述目标物体的目标图像,所述目标图像的图像区域包含所述感兴趣区域;对所述目标图像进行特征点
识别,确定所述目标物体的各个特征点的特征点坐标;根据所述特征点坐标,确定位于所述感兴趣区域外的特征点的数量,以及所述目标物体和所述感兴趣区域之间的位置关系;根据位于所述感兴趣区域外的特征点的数量和所述位置关系,确定所述目标修正量。
86.在本技术的一些实施方式中,上述确定单元603可以具体用于:获取预设的待更新修正量;根据所述位置关系以及所述位于所述感兴趣区域外的特征点的数量,确定对所述待更新修正量进行增量更新或进行减量更新的变化量;根据所述待更新修正量和所述变化量,确定所述目标修正量,所述增量更新或所述减量更新的变化量为位于所述感兴趣区域外的特征点的数量,所述目标修正量用于使所述机械臂移动k倍的所述单位移动量,其中,其中k为arctan(h-m)对应的弧度值,h表示所述目标修正量,m表示所述待更新修正量。
87.在本技术的一些实施方式中,上述第二控制单元604可以具体用于:控制所述机械臂根据所述目标修正量对所述目标物体进行移动,并获取所述机械臂的新的抵达信息,所述新的抵达信息用于表征固定于所述机械臂的所述目标物体已抵达修正后的位置;若所述目标物体位于所述感兴趣区域外,则重新计算新的修正量,并控制所述机械臂根据所述新的修正量对所述目标物体进行移动,所述新的修正量用于修正所述修正后的位置与所述感兴趣区域之间存在的偏移,直至所述新的修正量在预设范围内,确认已将所述目标物体移动至所述感兴趣区域内。
88.在本技术的一些实施方式中,上述第二控制单元604可以具体用于:根据每个预设方向上的所述目标修正量,控制所述机械臂依次在每个所述预设方向上移动所述目标物体,直至将所述目标物体移动至所述感兴趣区域内。
89.在本技术的一些实施方式中,所述控制方法应用于机械臂系统,机械臂系统包括装配有机械臂的机械臂端,所述控制信息包括与所述预设位置关联的初始位姿和初始修正量;上述第二控制单元604可以具体用于:根据所述控制信息,控制所述机械臂端根据所述初始位姿和所述初始修正量对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述预设位置;以及,根据所述目标修正量,控制所述机械臂端根据所述初始位姿和所述目标修正量对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述感兴趣区域内。
90.在本技术的一些实施方式中,在所述根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域之后,上述第二控制单元604还可以具体用于:获取新的控制信息,所述新的控制信息包括与新的预设位置关联的目标位姿;根据所述新的控制信息,控制所述机械臂端根据所述目标位姿和所述目标修正量,以及所述目标位姿与所述初始位姿之间的转换关系,对所述机械臂进行位姿调整,以使所述机械臂将所述目标物体移动至所述新的预设位置。
91.需要说明的是,为描述的方便和简洁,上述机械臂的控制装置600的具体工作过程,可以参考图1至图5所述方法的对应过程,在此不再赘述。
92.如图7所示,为本技术实施例提供的一种机械臂系统的示意图。该机械臂系统7可以包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如机械臂的控制程序。所述处理器70执行所述计算机程序72时实现上述各个机械臂的控制方法实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示的
获取单元601、第一控制单元602、确定单元603和第二控制单元604。
93.所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述机械臂系统中的执行过程。
94.例如,所述计算机程序可以被分割成:获取单元、第一控制单元、确定单元和第二控制单元。各单元具体功能如下:获取单元,用于获取机械臂的控制信息,所述控制信息包括固定于所述机械臂的目标物体所需抵达的预设位置;第一控制单元,用于根据所述控制信息,控制所述目标物体朝预设位置移动;确定单元,用于若所述目标物体位于感兴趣区域外,则根据在所述感兴趣区域外所述目标物体的特征点的数量,确定目标修正量,所述目标修正量用于修正所述预设位置与所述感兴趣区域之间存在的偏移;第二控制单元,用于根据所述目标修正量,控制所述机械臂将所述目标物体移动至所述感兴趣区域内。
95.所述机械臂系统可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是机械臂系统的示例,并不构成对机械臂系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机械臂系统还可以包括输入输出设备、网络接入设备、总线等。
96.所称处理器70可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
97.所述存储器71可以是所述机械臂系统的内部存储单元,例如机械臂系统的硬盘或内存。所述存储器71也可以是所述机械臂系统的外部存储设备,例如所述机械臂系统上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述机械臂系统的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述机械臂系统所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
98.需要说明的是,为描述的方便和简洁,上述机械臂系统的结构还可以参考方法实施例中对结构的具体描述,在此不再赘述。
99.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
100.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
101.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对各个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
102.在本技术所提供的实施例中,应该理解到,所揭露的装置/机械臂系统和方法,可以通过其它的方式实现。例如,以上所描述的装置/机械臂系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
103.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
104.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
105.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
106.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献