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

机械臂的标定位置确定方法、标定方法、系统及电子设备与流程

2022-05-31 14:35:41 来源:中国专利 TAG:


1.本发明涉及机器臂与相机的相对位置标定技术领域,特别涉及一种机械臂的标定位置确定方法、标定方法、系统及电子设备。


背景技术:

2.机械臂标定通常是指机器人手眼标定,通过标定这个过程获取到相机坐标系和机器人坐标系之间的转换关系,从而可以将视觉识别到的物体或目标的坐标信息转换到机器人坐标系下。机器人手眼标定又分为两种类型,eye-in-hand(眼睛和手在一起)型和eye-to-hand(眼睛和手分开)型。
3.对于eye-to-hand型机器人手眼标定,相机和机器人是分开摆放的,在标定过程中机器人运动可能会导致相机无法识别机器人末端标定工具的情况出现,比如机器人末端标定工具的运动范围超出了相机的可视范围、运动到了可视边界处。这些情况都会导致标定失败或标定精度降低。通常标定摆位都是通过经验判断来决定,更加容易出现这些问题。


技术实现要素:

4.本发明要解决的技术问题是为了克服现有技术中通过经验确定机械臂标定摆位的效率过低的缺陷,提供一种机械臂的标定位置确定方法、标定方法、系统及电子设备。
5.本发明是通过下述技术方案来解决上述技术问题:
6.本发明提供一种机械臂的标定位置确定方法,所述标定位置确定方法包括:
7.根据相机的检测范围参数构建检测范围模型并确定所述检测范围模型在参考坐标系中的第一位置数据;
8.获取所述机械臂的运动范围的中心点和运动半径;
9.调整所述机械臂以使固设于所述机械臂的标定工具移动至所述中心点;
10.通过所述相机确定所述中心点在所述参考坐标系的第二位置数据;
11.移动所述机械臂和/或所述相机,并基于所述第一位置数据、所述第二位置数据和所述运动半径确定所述机械臂的标定位置以使所述运动范围位于所述检测范围的内部。
12.较佳地,所述基于所述第一位置数据、所述第二位置数据和所述运动半径确定所述机械臂的标定位置的步骤包括:
13.根据所述第一位置数据和所述第二位置数据确定所述中心点与所述检测范围模型的最短距离;
14.当所述最短距离大于等于所述运动半径时,以所述中心点的当前位置为所述标定位置。
15.较佳地,所述标定位置确定方法还包括:
16.当所述最短距离大于等于所述运动半径时,输出第一提示信息以提示标定位置被确定;
17.当所述最短距离小于所述运动半径时,输出第二提示信息以提示重新选择标定位
置。
18.较佳地,所述标定位置确定方法还包括:
19.获取标定位置候选区域;所述标定位置候选区域为所述最短距离大于等于所述运动半径的中心点的集合;
20.以所述标定位置候选区域的中心位置为所述标定位置。
21.较佳地,所述标定工具固设于所述机械臂的末端。
22.本发明还提供一种机械臂的标定方法,所述标定方法包括:
23.利用如上所述的机械臂的标定位置确定方法以得到所述机械臂的标定位置;
24.将所述机械臂移动至所述机械臂的标定位置;
25.对所述机械臂和相机进行标定处理。
26.本发明还提供一种机械臂的标定位置确定系统,所述标定位置确定系统包括:
27.第一位置数据确定模块,用于根据相机的检测范围参数构建检测范围模型并确定所述检测范围模型在参考坐标系中的第一位置数据;
28.运动范围参数获取模块,用于获取所述机械臂的运动范围的中心点和运动半径;
29.机械臂调整模块,用于调整所述机械臂以使固设于所述机械臂的标定工具移动至所述中心点;
30.第二位置数据确定模块,用于通过所述相机确定所述中心点在所述参考坐标系的第二位置数据;
31.标定位置确定模块,用于移动所述机械臂和/或所述相机,并基于所述第一位置数据、所述第二位置数据和所述运动半径确定所述机械臂的标定位置以使所述运动范围位于所述检测范围的内部。
32.本发明还提供一种机械臂的标定系统,所述标定系统包括:
33.标定位置获取模块,用于利用如上所述的机械臂的标定位置确定系统以得到所述机械臂的标定位置;
34.机械臂控制模块,用于将所述机械臂移动至所述机械臂的标定位置;
35.标定处理模块,用于对所述机械臂和相机进行标定处理。
36.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的机械臂的标定位置确定方法或如上所述的机械臂的标定方法。
37.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的机械臂的标定位置确定方法或如上所述的机械臂的标定方法。
38.本发明的积极进步效果在于:
39.本发明提供的机械臂的标定位置确定方法,通过将标定工具移动至机械臂的运动范围的中心点以获取中心点相对于相机的位置数据,构建相机的检测范围模型并获取机械臂的运动半径,进而确定了机械臂的标定位置以使机械臂在相机的检测范围内运动,使机械臂标定位置的确定过程更加直观和可控,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
附图说明
40.图1为实施例1的机械臂的标定位置确定方法的流程图。
41.图2为实施例1的相机检测范围建模示意图。
42.图3为实施例1的中心点建模示意图。
43.图4为实施例1的标定位置确定方法的模型展示图。
44.图5为实施例2的机械臂的标定位置确定方法的流程图。
45.图6为实施例3的机械臂的标定方法的流程图。
46.图7为实施例4的机械臂的标定位置确定系统的模块示意图。
47.图8为实施例5的机械臂的标定位置确定系统的模块示意图。
48.图9为实施例6的机械臂的标定系统的模块示意图。
49.图10为实施例7的电子设备的硬件结构示意图。
具体实施方式
50.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
51.实施例1
52.请参考图1,其为本实施例中机械臂的标定位置确定方法的流程图。具体地,如图1所示,所述标定位置确定方法包括:
53.s101、根据相机的检测范围参数构建检测范围模型并确定检测范围模型在参考坐标系中的第一位置数据。具体地,相机对被摄物的检测对拍摄数据的反光率、拍摄角度均有要求,因此相机的检测范围小于相机的拍摄范围;相机的检测范围一般为多面体,并且可以解析成若干长方体;相机的检测范围参数可以包括上述长方体的长度、宽度和深度,根据检测范围参数构建检测范围模型;将相机及其检测范围模型置于同一参考坐标系中,可以确定检测范围模型在参考坐标系中的第一位置数据;如图2所示,在一种可选的实施方式中,建立相机的笛卡尔坐标系,确定检测范围模型在该笛卡尔坐标系中的第一位置数据。
54.s102、获取机械臂的运动范围的中心点和运动半径。具体地,机械臂的运动范围可以是多面体或球体,可以根据机械臂的运动范围确定中心点和运动半径。
55.s103、调整机械臂以使固设于机械臂的标定工具移动至中心点。具体地,通过调整机械臂以使标定工具移动至中心点,使得中心点的位置数据可以通过相机对标定工具的检测而确定。
56.s104、通过相机确定中心点在参考坐标系的第二位置数据。具体地,如图3所示,通过相机对标定工具的检测以确定中心点在参考坐标系的第二位置数据。
57.s105、移动机械臂,并基于第一位置数据、第二位置数据和运动半径确定机械臂的标定位置以使运动范围位于检测范围的内部。如图4所示,相机、相机检测范围和中心点通过建模得到了可视化,相机模型位于图4的上部,图4中部的浅色区域为检测范围模型,浅色区域内的圆形是中心点。
58.值得说明的是,在步骤s105中采用移动机械臂的位置、固定相机的位置来改变机械臂与相机之间的相对位置,也可以采用移动相机的位置、固定机械臂的位置以及同时移动机械臂与相机的位置来改变机械臂与相机之间的相对位置,本实施例对此并不作限制。
基于第一位置数据、第二位置数据确定中心点与相机之间的最小相对距离,当机械臂与相机之间的最小相对距离大于等于运动半径时,可以确保无论如何调整机械臂,标定工具始终位于相机的检测范围内。
59.本实施例提供的机械臂的标定位置确定方法,通过调整机械臂以将标定工具移动至机械臂的运动范围的中心点以获取中心点相对于相机的位置数据,构建相机的检测范围模型并获取机械臂的运动半径,进而确定了机械臂的标定位置以使机械臂在相机的检测范围内运动,使机械臂标定位置的确定过程更加直观和可控,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
60.实施例2
61.如图5所示,本实施例的机械臂的标定位置确定方法是对实施例1的进一步改进,具体地:
62.在一种可选的实施方式中,步骤s105包括:
63.s1051、根据第一位置数据和第二位置数据确定中心点与检测范围模型的最短距离。
64.s1052、当最短距离大于等于运动半径时,以中心点的当前位置为标定位置。
65.具体地,当机械臂与相机之间的最小相对距离大于等于运动半径时,可以确保无论如何调整机械臂,标定工具始终位于相机的检测范围内。在一种可选的实施方式中,为了进一步避免在标定时机械臂运动范围的边缘和检测范围的边缘几乎重叠而可能影响精度的情况,可以根据运动半径设置大于运动半径的阈值,当最短距离大于等于预设阈值时,以中心点的当前位置为标定位置。
66.在一种可选的实施方式中,标定位置确定方法还包括:
67.s201、当最短距离大于等于运动半径时,输出第一提示信息以提示标定位置被确定。
68.s202、当最短距离小于运动半径时,输出第二提示信息以提示重新选择标定位置。
69.值得说明的是,步骤s201、s202为对于可能出现的两种不同情况而采取的相应的措施,不存在先后顺序,因此本实施例并不对步骤s201、s202的先后顺序作出限制。
70.在另一种可选的实施方式中,标定位置确定方法还包括:
71.s203、获取标定位置候选区域;标定位置候选区域为最短距离大于等于运动半径的中心点的集合。
72.s204、以标定位置候选区域的中心位置为标定位置。
73.具体地,满足最短距离大于等于运动半径的标定位置不止一处,这些候选标定位置构成了标定位置候选区域。选择标定位置候选区域的中心位置为标定位置,可以进一步避免在标定时机械臂运动范围的边缘和检测范围的边缘几乎重叠而可能影响精度的情况。
74.在一种可选的实施方式中,标定工具固设于机械臂的末端。
75.本实施例提供的机械臂的标定位置确定方法,通过将标定工具移动至机械臂的运动范围的中心点以获取中心点相对于相机的位置数据,构建相机的检测范围模型并获取机械臂的运动半径,进一步既可以通过提示信息提示合适的标定位置,也可以将标定位置候选区域的中心位置作为标定位置,进而确保了机械臂在相机的检测范围内运动,使机械臂标定位置的确定过程更加直观和可控,提高了确定机械臂标定位置的效率,进而提高了标
定的成功率、效率和精确度。
76.实施例3
77.请参考图6,其为本实施例中机械臂的标定方法的流程图。具体地,如图6所示,所述标定方法包括:
78.s301、利用实施例1或实施例2的机械臂的标定位置确定方法以得到所述机械臂的标定位置。
79.s302、将所述机械臂移动至所述机械臂的标定位置。
80.s303、对所述机械臂和相机进行标定处理。
81.本实施例提供的机械臂的标定位置确定方法,利用上述的机械臂的标定位置确定方法得到机械臂的标定位置以使机械臂在相机的检测范围内运动,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
82.实施例4
83.请参考图7,其为本实施例中机械臂的标定位置确定系统的模块示意图。具体地,如图7所示,所述标定位置确定系统包括:
84.第一位置数据确定模块1,用于根据相机的检测范围参数构建检测范围模型并确定所述检测范围模型在参考坐标系中的第一位置数据。具体地,相机对被摄物的检测对拍摄数据的反光率、拍摄角度均有要求,因此相机的检测范围小于相机的拍摄范围;相机的检测范围一般为多面体,并且可以解析成若干长方体;相机的检测范围参数可以包括上述长方体的长度、宽度和深度,根据检测范围参数构建检测范围模型;将相机及其检测范围模型置于同一参考坐标系中,可以确定检测范围模型在参考坐标系中的第一位置数据;如图2所示,在一种可选的实施方式中,建立相机的笛卡尔坐标系,确定检测范围模型在该笛卡尔坐标系中的第一位置数据。
85.运动范围参数获取模块2,用于获取所述机械臂的运动范围的中心点和运动半径。具体地,机械臂的运动范围可以是多面体或球体,可以根据机械臂的运动范围确定中心点和运动半径。
86.机械臂调整模块3,用于调整所述机械臂以使固设于所述机械臂的标定工具移动至所述中心点。具体地,通过调整机械臂以使标定工具移动至中心点,使得中心点的位置数据可以通过相机对标定工具的检测而确定。
87.第二位置数据确定模块4,用于通过所述相机确定所述中心点在所述坐标系的第二位置数据。具体地,如图3所示,通过相机对标定工具的检测以确定中心点在参考坐标系的第二位置数据。
88.标定位置确定模块5,用于移动所述机械臂和/或所述相机,并基于所述第一位置数据、所述第二位置数据和所述运动半径确定所述机械臂的标定位置以使所述运动范围位于所述检测范围的内部。如图4所示,相机、相机检测范围和中心点通过建模得到了可视化,相机模型位于图4的上部,图4中部的浅色区域为检测范围模型,浅色区域内的圆形是中心点。
89.值得说明的是,标定位置确定模块5采用移动机械臂的位置、固定相机的位置来改变机械臂与相机之间的相对位置,也可以采用移动相机的位置、固定机械臂的位置以及同时移动机械臂与相机的位置来改变机械臂与相机之间的相对位置,本实施例对此并不作限
制。基于第一位置数据、第二位置数据确定中心点与相机之间的最小相对距离,当机械臂与相机之间的最小相对距离大于等于运动半径时,可以确保无论如何调整机械臂,标定工具始终位于相机的检测范围内。
90.本实施例提供的机械臂的标定位置确定系统,通过调整机械臂以将标定工具移动至机械臂的运动范围的中心点以获取中心点相对于相机的位置数据,构建相机的检测范围模型并获取机械臂的运动半径,进而确定了机械臂的标定位置以使机械臂在相机的检测范围内运动,使机械臂标定位置的确定过程更加直观和可控,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
91.实施例5
92.如图8所示,本实施例的机械臂的标定位置确定系统是对实施例4的进一步改进,具体地:
93.在一种可选的实施方式中,标定位置确定模块5还用于根据第一位置数据和第二位置数据确定中心点与检测范围模型的最短距离。标定位置确定模块5还用于当最短距离大于等于运动半径时,以中心点的当前位置为标定位置。
94.具体地,当机械臂与相机之间的最小相对距离大于等于运动半径时,可以确保无论如何调整机械臂,标定工具始终位于相机的检测范围内。在一种可选的实施方式中,为了进一步避免在标定时机械臂运动范围的边缘和检测范围的边缘几乎重叠而可能影响精度的情况,可以根据运动半径设置大于运动半径的阈值,当最短距离大于等于预设阈值时,以中心点的当前位置为标定位置。
95.在一种可选的实施方式中,标定位置确定系统还包括提示信息输出模块6。所述提示信息输出模块6用于当最短距离大于等于运动半径时,输出第一提示信息以提示标定位置被确定。所述提示信息输出模块6还用于当最短距离小于运动半径时,输出第二提示信息以提示重新选择标定位置。
96.在另一种可选的实施方式中,标定位置确定模块5还用于获取标定位置候选区域;标定位置候选区域为最短距离大于等于运动半径的中心点的集合。标定位置确定模块5还用于以标定位置候选区域的中心位置为标定位置。
97.具体地,满足最短距离大于等于运动半径的标定位置不止一处,这些候选标定位置构成了标定位置候选区域。选择标定位置候选区域的中心位置为标定位置,可以进一步避免在标定时机械臂运动范围的边缘和检测范围的边缘几乎重叠而可能影响精度的情况。
98.在一种可选的实施方式中,标定工具固设于机械臂的末端。
99.本实施例提供的机械臂的标定位置确定系统,通过将标定工具移动至机械臂的运动范围的中心点以获取中心点相对于相机的位置数据,构建相机的检测范围模型并获取机械臂的运动半径,进一步既可以通过提示信息提示合适的标定位置,也可以将标定位置候选区域的中心位置作为标定位置,进而确保了机械臂在相机的检测范围内运动,使机械臂标定位置的确定过程更加直观和可控,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
100.实施例6
101.请参考图9,其为本实施例中机械臂的标定系统的模块示意图。具体地,如图9所示,所述标定系统包括:
102.标定位置获取模块7,用于利用实施例4或实施例5的机械臂的标定位置确定系统以得到所述机械臂的标定位置;
103.机械臂控制模块8,用于将所述机械臂移动至所述机械臂的标定位置;
104.标定处理模块9,用于对所述机械臂和相机进行标定处理。
105.本实施例提供的机械臂的标定位置确定系统,利用上述的机械臂的标定位置确定系统得到机械臂的标定位置以使机械臂在相机的检测范围内运动,提高了确定机械臂标定位置的效率,进而提高了标定的成功率、效率和精确度。
106.实施例7
107.图10为本发明实施例5提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1或实施例2的机械臂的标定位置确定方法或实施例3的机械臂的标定方法。图10显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
108.如图10所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
109.总线33包括数据总线、地址总线和控制总线。
110.存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
111.存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
112.处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或实施例2的机械臂的标定位置确定方法或实施例3的机械臂的标定方法。
113.电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
114.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
115.实施例8
116.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1或实施例2的机械臂的标定位置确定方法或实施例3的机械臂的
标定方法。
117.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
118.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或实施例2的机械臂的标定位置确定方法或实施例3的机械臂的标定方法。
119.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
120.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献