多足机器人视觉传感器的外参标定系统、方法及装置与流程

文档序号:32971736发布日期:2023-01-17 20:32阅读:45来源:国知局
多足机器人视觉传感器的外参标定系统、方法及装置与流程

1.本技术实施例涉及机器人视觉技术领域,尤其涉及一种多足机器人视觉传感器的外参标定系统、方法、装置、设备及存储介质。


背景技术:

2.移动机器人的工作场景正不断向着室外及结构化复杂环境发展,相较于轮式与履带式机器人,多足机器人因其类似动物的腿部结构设计而拥有更高的运动灵活性,在复杂环境中依旧能以较低能耗跨越或绕开障碍物、实现高速运动,并且具有对地表环境要求低,对地面破坏性小等优势,可以广泛用于探索、搜救、运输等场景。在机器人的运动过程中,通过综合多视觉传感器、惯性测量单元以及腿部电机的编码器等来估计自身的状态并完成对周围环境的重建,而传感器信息融合首要的前提就是进行准确的传感器标定。
3.为了完成基于视觉传感器的建图、定位与导航,需要完成机器人所加载的视觉传感器的内参与外参标定。视觉传感器的内参标定可以根据不同的相机成像模型,例如针孔模型,鱼眼相机模型等,结合公开知识能较为轻易的完成相机内参的标定,获得焦距,光心,畸变等参数。然而,视觉传感器的外参标定,也即是计算机器人本体坐标系与视觉传感器坐标系之间的平移向量和旋转矩阵,共计六个自由度的待估计量,常称为“位姿”或“姿态”。由于多足机器人相对于轮式和履带式机器人具有特殊的运动学模型,视觉传感器的外参标定具有较高的难度,鲜有成熟的解决方案。
4.针对移动机器人平台上视觉传感器外参标定问题,目前主流的解决方案多基于移动机器人的自我运动(ego-motion),通过机器人在环境中移动,利用机器人本体加载的电机编码器和视觉传感器生成两组不同的轨迹,也即是机器人在不同时刻的位姿,进而根据非线性优化等数学方法,完成外参的估计。然而,在多足机器人系统中,使用上述方案很难完成准确的外参估计,具体原因主要包括:1、由足式机器人编码器获得的足式里程计(legged odometry)数据误差较大,也即是机器人本体的轨迹误差大,很难被用于高精度外参标定;2、多足机器人,多在二维环境内运动,例如在地面上自由走动,无法提供六个自由度的充分激励,从而无法完成六个自由度的高精度标定;3、除了上述问题,视觉传感器的外参标定同样面临时域上的偏差,由于相机的硬件时钟和机器人的电机/编码器时钟无法严格通过io信号对齐,在电脑主机端,通常会存在50-100毫秒的偏差。


技术实现要素:

5.本技术实施例提供一种多足机器人视觉传感器的外参标定系统、方法、装置、设备及存储介质,以实现准确的完成多足机器人的本体坐标系与本体相机坐标系之间的外参标定。
6.在第一方面,本技术实施例提供了一种多足机器人视觉传感器的外参标定系统,包括:
7.多足机器人、标定板和处理器,所述多足机器人包括多个足部,所述多足机器人上
安装有本体视觉传感器,任意一个所述足部上安装有足部视觉传感器,所述本体视觉传感器和所述足部视觉传感器均连接所述处理器;所述本体视觉传感器用于采集所述多足机器人前方的图像信息,所足部视觉传感器用于采集所述足部前方的图像信息,所述处理器用于根据所述本体视觉传感器对应的本体视觉坐标系和根据足部视觉传感器对应的足部视觉坐标系计算得到本体坐标系变换至所述本体相机坐标系的目标变换矩阵;所述标定板安装在所述多足机器人的前方,且所述标定板落入至本体视觉传感器和所述足部视觉传感器的视线范围内。
8.在第二方面,本技术实施例提供了一种多足机器人视觉传感器的外参标定方法,包括:
9.构建多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵;
10.获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵,其中,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系;
11.根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵;
12.根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
13.在第三方面,本技术实施例提供了一种多足机器人视觉传感器的外参标定装置,包括:
14.第一矩阵获取模块:用于构建多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵;
15.第二矩阵获取模块:用于获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵,其中,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系;
16.第三矩阵获取模块:用于根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵;
17.第四矩阵获取模块:用于根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
18.在第四方面,本技术实施例提供了一种外参标定设备,包括:存储器以及一个或多个处理器;
19.所述存储器,用于存储一个或多个程序;
20.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面所述的多足机器人视觉传感器的外参标定方法。
21.在第五方面,本技术实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第二方面所述的多足机器人视觉传感器的外参标定方法。
22.本技术实施例获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵,获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩
阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵,并根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵,之后根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵,通过新定义多足机器人的足部坐标系,在多足机器人的足部固定足部视觉传感器,结合足部视觉坐标系与多足机器人的本体坐标系之间高精度的相对状态测量,将多足机器人的外参问题转变为机械臂手眼标定问题,在外参标定过程中,不需要多足机器人在环境中进行大范围运动,只需要在环境中加载一块标定板,并使多足机器人单足相对于本体坐标系的运动即可完成外参标定,操作简单,外参标定精度高。
附图说明
23.图1是本技术实施例提供的一种多足机器人视觉传感器的外参标定系统的结构示意图;
24.图2是本技术实施例提供的一种多足机器人视觉传感器的外参标定方法的流程图;
25.图3是本技术实施例提供的另一种多足机器人视觉传感器的外参标定方法的流程图;
26.图4是本技术实施例提供的另一种多足机器人视觉传感器的外参标定方法的流程图;
27.图5是本技术实施例提供的一种多足机器人视觉传感器的外参标定装置的结构示意图;
28.图6是本技术实施例提供的一种外参标定设备的结构示意图。
具体实施方式
29.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
30.本技术实施例提供了多足机器人视觉传感器的外参标定方法、装置、设备及存储介质,其中,该外参标定方法可以由外参标定设备执行。该外参标定设备可以通过软件和/或硬件的方式实现,外参标定设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,实施例对此不作限定。
31.实施例中,外参标定设备具有执行外参标定方法完整流程的功能,包括接收各种不同坐标系的设定,采集不同坐标系的姿态或者相关数据等。例如,外参标定设备可以是笔记本电脑、台式电脑、智能交互平板,也可以是集成在多足机器人内的一个或多个处理器,
还可以是服务器。实施例中,应用于多足机器人中,顾名思义,多足机器人在普通智能机器人的基础上,增加了多足结构,从而在爬行、行走等运动中更具灵活性。通常,多足机器人的每个足部都有多个关节,包括髋关节、大腿、小腿和裸关节。由于多足机器人结构的特殊性,相对于普通机器人具有特殊的运动学模型,多足机器人的本体视觉传感器的外参标定具有更高的难度。为了实现高精度的多足机器人外参标定,实施例中创新性的在多足机器人的足部安装多一个足部视觉传感器,并且新定义一个足部坐标系。参见图1所示出的一种多足机器人视觉传感器的外参标定系统,包括多足机器人1、在多足机器人1的外部的标定板3和处理器(未图示),该多足机器人1上设置有多个足部2,在多足机器人1上安装有本体视觉传感器4,该本体传感器也即是相机,其通常安装在前端或者上端,以用于采集多足机器人1前方的图像信息。在多个足部2中任意选取其中一个足部2上安装一个足部视觉传感器5,该足部视觉传感器5同样可以是相机,用于采集足部2前方的图像信息。具体的,将足部视觉传感器5安装在足部2的关节处,如触地点。标定板3安装在多足机器人的前方,该标定板3优选使用aprilgrid标定板。具体的,本实施例中标定板3同时落入在本体视觉传感器和足部视觉传感器的视线范围内。处理器用于根据所述本体视觉传感器4对应的本体视觉坐标系和根据足部视觉传感器5对应的足部视觉坐标系计算得到本体坐标系变换至所述本体相机坐标系的目标变换矩阵,也即是完成外参标定的过程。具体的外参标定过程请参见本技术实施例公开的外参标定方法。本技术实施例提供的多足机器人视觉传感器的外参标定方法应用在上述多足机器人时间传感器外参标定系统中,通过新定义多足机器人的足部坐标系,在多足机器人的足部固定足部视觉传感器,结合足部视觉坐标系与多足机器人的本体坐标系之间高精度的相对状态测量,将多足机器人的外参问题转变为机械臂手眼标定问题,在外参标定过程中,不需要多足机器人在环境中进行大范围运动,只需要在环境中加载一块标定板,并使多足机器人单足相对于本体坐标系的运动即可完成外参标定,操作简单,外参标定精度高。
32.下面分别进行详细说明。
33.图2给出了本技术实施例提供的一种多足机器人视觉传感器的外参标定方法的流程图,参见图2,该一种多足机器人视觉传感器的外参标定方法包括:
34.步骤201:构建多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵。
35.实施例中,足部坐标系是以足部为原点所构建的一个坐标系,其中,其原点优选从安装有足部视觉传感器的足部上选择任意一点,例如可以选择安装足部视觉传感器对应位置作为原点,或者以足部的底端位置作为原点,其他示例性中,还可以根据实际需求选择其他位置作为足部坐标系的原点。在坐标系的变换中,根据其中一个坐标系中的任意一个点在该坐标系中的坐标信息,以及另外一个坐标系中任意一个点在该坐标系中的坐标信息,可以计算得到该两个坐标系之间的变换关系。两个坐标系之间的变换可以通过获取两个坐标系分别对应的原点计算求得。应用中,将坐标系与该坐标系所对应的刚体进行固联,从而表述坐标系之间的变换,也即是一个坐标系相对另一个坐标系的姿态。
36.而本实施例中,多足机器人的足部为特殊状态,足部在运动时,足部的不同坐标位置会产生变动。为计算足部坐标系变换至所述多足机器人的本体坐标系的坐标系,实施例通过获取多足机器人预设的足部运动学模型和多足机器人的足部电机编码器采集的编码
数据实现足部坐标系变换至所述多足机器人的本体坐标系之间的变换矩阵。其中,运动学模型给出了多足机器人的本体坐标系到多足机器人足部髋关节坐标系的转换关系、多足机器人足部髋关节坐标系至多足机器人膝关节坐标系的转换关系,还给出了多足机器人膝关节坐标系到足部触地点坐标系的转换关系,基于此再结合足部电机编码器采集的编码数据可以计算得到足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵。上述中,根据足部运动学模型和所述编码数据计算第一变换矩阵是本领域技术中的常规方法,具体原理在此不再赘述。
37.多足机器人系统中的惯性测量单元、电机编码器等可获得对应刚体本身在不同时刻的运动姿态,一系列的运动姿态则成为轨迹。上述,获取足部坐标系变换至多足机器人的本体坐标系的第一变换矩阵之后,基于该第一变换矩阵,可以获取足部坐标系相对于本体坐标系的一个或者一系列运动姿态。
38.步骤202:获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。
39.实施例中,所述本体视觉传感器安装在多足机器人上,所述足部视觉传感器安装在多足机器人的足部,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系,所述标定板为标定世界坐标系时放置在所述多足机器人前方、且同时落入在所述本体视觉传感器和所述足部视觉传感器视线范围内的平板,在实施例的应用中,用于校正三维相机的镜头畸变、确定物理尺寸和像素间的换算关系等,以及确定空间物体表面任意一个点的三维几何位置与其在图像中对应点之间的相互关系。标定板是带有固定兼具图案阵列的平板,使用时,通过系统中的相机拍摄该带有固定间距图案阵列的平板,经过算法计算,可以相应计算到相机的几何模型等,得到高精度的测量和重建。
40.实施例中,首先构建本体视觉坐标系和足部视觉坐标系,本体视觉坐标系是针对多足机器人本体视觉传感器,也即是本体相机的坐标系,足部视觉坐标系是针对于多足机器人足部视觉传感器,也即是足部相机的坐标系。具体的,将本体视觉传感器的时间戳与足部视觉传感器的时间戳对准,获取本体视觉传感器在目标时间戳采集到标定板的第一图像和足部视觉传感器在目标时间戳采集标定板的第二图像;获取标定板的尺寸参数;采用pnp(perspective-n-points)问题的解决思路,根据尺寸参数以及第一图像获取本体视觉坐标系变换至世界坐标系的第二变换矩阵,根据所述尺寸参数以及所述第二图像获取足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。在本步骤202中,不需要本体视觉传感器和足部视觉传感器之间严格的硬件时钟对齐,可以通过共同连接的主机并利用系统时钟完成软时钟对其即可,时钟误差通常可以控制在2-3毫秒以内,可以满足对机器人的精度要求。
41.步骤203:根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵。
42.实施例中,最终目的是要求得本体坐标系变换至所述本体相机坐标系的目标变换矩阵,但是由于本体坐标系与本体相机坐标系之间难以进行直接的估算,因此本技术实施例借助自定义一个足部坐标系,通过计算第一变换矩阵、第二变换矩阵、第三变换矩阵,后续再继续计算第四变换矩阵,从而共同推导获得目标变换矩阵。
43.本步骤中,结合本技术公开的多足机器人视觉传感器的外参标定系统,由于本体
视觉传感器和足部视觉传感器都观测到同一块标定板,因此在获得了第二变换矩阵和第三变换矩阵的基础上,可以获得本体视觉传感器对应的本体视觉坐标系与足部视觉传感器对应的足部视觉坐标系之间的变换关系。
44.更为具体的,实施例通过下述公式一计算本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵:
[0045][0046]
其中,fw表示世界坐标系,表示本体相机坐标系,表示足部视觉坐标系,为第二变换矩阵,也即是本体相机坐标系世界坐标系fw的变换,为第三变换矩阵,为第四变换矩阵,为世界坐标系变换至足部视觉坐标系的变换矩阵。本实施例的变换中,各个变换矩阵包括平移向量t和旋转矩阵r两部分,按照齐次矩阵的表示方式,变换矩阵表达为:
[0047][0048]
而0t1表示为坐标系1至坐标系0的变换矩阵。
[0049]
步骤204:根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
[0050]
本实施例实现精准的外参标定,借助容易进行精准测量的足部坐标系变换至本体坐标系的第一变换矩阵、本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉坐标系变换至世界坐标系的第三变换矩阵以及本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵进行推导获得。
[0051]
具体的,本步骤中,根据公式二和公式一转换得到公式三,其中,根据公式二计算足部坐标系变换至足部视觉坐标系的变换矩阵,公式二为:
[0052][0053]
从公式二开始,完成坐标系逐步变换。本体视觉传感器和足部视觉传感器在不同次数对标定板的观测可以发现,第j次测量并计算得到的世界坐标系相对于足部视觉坐标系的运动姿态本体视觉坐标系相对于世界坐标系的运动姿态和足部坐标系相对于本体坐标系的运动姿态与第i次测量并计算得到的世界坐标系相对于足部视觉坐标系的运动姿态本体视觉坐标系相对于世界坐标系的运动姿态和足部坐标系相对于本体坐标系的运动姿态之间的结果存在差异,但是由于足部视觉传感器固定安装在多足机器人的足部,也即是不管在第几次对标定板进行观测,足部坐标系变换至足部视觉坐标系的变换矩阵不会变化,或者说是足部坐标系相对于足部视觉坐标系的运动姿态结果不变,也即是公式二中等号左侧的计算结果不变。
[0054]
基于此,本步骤中通过所述本体视觉传感器和所述足部视觉传感器对标定板进行
图像采集,由于则使得根据公式二得到的公式为:
[0055][0056]
对公式一进行转变得到:
[0057][0058]
基于公式的基础上将公式的基础上将公式转变为:
[0059][0060]
将公式的等式两边同时乘以和即是公式五的等号两边同时乘以也同时乘以得到公式三:
[0061][0062]
根据公式三计算得到目标变换矩阵。具体的,根据上述公式三可以改写为ax=xb的经典方程式,其中将上述公式三和a、b、x对应的值带入至ax=xb,根据公知的求解方法对该方程进行求解,则可以求解出目标变换矩阵,也即是本体坐标系相对于本体相机坐标系的运动姿态。
[0063]
其中,f
l
为足部坐标系,为目标变换矩阵,为足部坐标系变换至足部视觉坐标系的变换矩阵,bt
l
为第一变换矩阵,i为本体视觉传感器和足部视觉传感器第i次采集所述标定板的图像,j为本体视觉传感器和足部视觉传感器第j次采集所述标定板的图像,为世界坐标系相对于足部视觉坐标系的第j次运动姿态,为世界坐标系相对于足部视觉坐标系的第i次运动姿态,为本体视觉坐标系相对于世界坐标系的第j次运动姿态,为本体视觉坐标系相对于世界坐标系的第i次运动姿态,为足部坐标系相对于本体坐标系的第j次运动姿态,为足部坐标系相对于本体坐标系的第i次运动姿态,为本体视觉坐标系相对于足部视觉坐标系的第j次运动姿态。
[0064]
图3示出了本技术实施例的另一种多足机器人视觉传感器的外参标定方法,参见图3,该多足机器人视觉传感器的外参标定方法包括:
[0065]
步骤301:构建多足机器人的足部坐标系,获取所述足部坐标系变换至多足机器人的本体坐标系的第一变换矩阵。
[0066]
与上一个实施例相同的,本实施例的足部坐标系是以足部为原点所构建的一个坐标系。为获得足部坐标系变换至多足机器人的本体坐标系的第一变换矩阵,通过获取多足机器人预设的足部运动学模型和多足机器人的足部电机编码器采集的编码数据实现足部坐标系变换至所述多足机器人的本体坐标系之间的。运动学模型给出了多足机器人的本体坐标系到多足机器人足部髋关节坐标系的转换关系、多足机器人足部髋关节坐标系至多足机器人膝关节坐标系的转换关系,还给出了多足机器人膝关节坐标系到足部触地点坐标系的转换关系,基于此再结合足部电机编码器采集的编码数据可以计算得到足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵。
[0067]
步骤302:获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。
[0068]
结合多足机器人视觉传感器的外参标定系统,相应的,上述本体视觉传感器安装在多足机器人上,足部视觉传感器安装在多足机器人的足部,世界坐标系为以标定板上任意一个点作为原点所建立的坐标系,标定板为标定世界坐标系时放置在所述多足机器人前方、且同时落入在所述本体视觉传感器和所述足部视觉传感器视线范围内的平板。
[0069]
首先构建本体视觉坐标系和足部视觉坐标系,本体视觉坐标系是针对多足机器人本体视觉传感器,也即是本体相机的坐标系,足部视觉坐标系是针对于多足机器人足部视觉传感器,也即是足部相机的坐标系。具体的,将本体视觉传感器的时间戳与足部视觉传感器的时间戳对准,获取本体视觉传感器在目标时间戳采集到标定板的第一图像和足部视觉传感器在目标时间戳采集标定板的第二图像;获取标定板的尺寸参数;采用pnp(perspective-n-points)问题的解决思路,根据尺寸参数以及第一图像获取本体视觉坐标系变换至世界坐标系的第二变换矩阵,根据所述尺寸参数以及所述第二图像获取足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。
[0070]
步骤303:根据第二变换矩阵和第三变换矩阵计算获得本体视觉坐标系变换至足部视觉坐标系的第四变换矩阵。
[0071]
实施例基于公式完成对第四变换矩阵的计算。其中,fw表示世界坐标系,表示本体相机坐标系,表示足部视觉坐标系,为第二变换矩阵,也即是本体相机坐标系世界坐标系fw的变换,为第三变换矩阵,为第四变换矩阵,为世界坐标系变换至足部视觉坐标系的变换矩阵。
[0072]
步骤304:根据第一变换矩阵、第二变换矩阵和第四变换矩阵计算获得本体坐标系变换至本体相机坐标系的目标变换矩阵。
[0073]
本步骤中,通过一系列公式的推导计算完成对目标变换矩阵的计算,首先从公式开始进行坐标系的逐步变换,可推导得到基于此对公式基于此对公式转变为根据公式
将公式可转变为可转变为此时在公式的两边同时乘以和即是公式的等号两边同时乘以也同时乘以得到公式将公式改写为ax=xb的经典方程式,其中将上述公式和a、b、x对应的值带入至ax=xb,根据公知的求解方法对该方程进行求解,则可以求解出目标变换矩阵,也即是本体坐标系相对于本体相机坐标系的运动姿态。
[0074]
上述中,f
l
为足部坐标系,为目标变换矩阵,为足部坐标系变换至足部视觉坐标系的变换矩阵,bt
l
为第一变换矩阵,i为本体视觉传感器和足部视觉传感器第i次采集所述标定板的图像,j为本体视觉传感器和足部视觉传感器第j次采集所述标定板的图像,为世界坐标系相对于足部视觉坐标系的第j次运动姿态,为世界坐标系相对于足部视觉坐标系的第i次运动姿态,为本体视觉坐标系相对于世界坐标系的第j次运动姿态,为本体视觉坐标系相对于世界坐标系的第i次运动姿态,为足部坐标系相对于本体坐标系的第j次运动姿态,为足部坐标系相对于本体坐标系的第i次运动姿态,为本体视觉坐标系相对于足部视觉坐标系的第j次运动姿态。
[0075]
步骤305:获取世界坐标系转换至本体视觉坐标系的第五变换矩阵以及本体坐标系变换至足部坐标系的第六变换矩阵。
[0076]
在上述步骤304中,已经完成目标变换矩阵的计算。通过本实施例提供的坐标系变换方法中,可以进一步推测出足部坐标系变换至足部视觉坐标系的变换矩阵。
[0077]
其中,世界坐标系转换至本体视觉坐标系的第五变换矩阵为及本体坐标系变换至足部坐标系的第六变换矩阵为
l
tb。
[0078]
步骤306:根据目标变换矩阵、第三变换矩阵、第五变换矩阵和所述第六变换矩阵计算获得所述足部坐标系变换至足部视觉坐标系的变换矩阵。
[0079]
根据上述获得的第三变换矩阵、第五变换矩阵、第六变换矩阵以及目标变换矩阵而计算获得本实施例要计算获得的足部坐标系变换至足部视觉坐标系的变换矩阵。
[0080]
具体的变换推导过程与获得目标变换矩阵的过程相似,首先从公式开始推导过程,
l
tb是本体坐标系转换至足部坐标系的第六变换矩阵。同样的,在不同次数对标定板进行观测可以发现,第j次测量并计算得到的世界坐标系相对于本体视觉坐标系的运动姿态足部视觉坐标系相对于世界坐标系的运动姿态和本体坐标系相对于足部坐标系的运动姿态与第i次测量并计算得到的世界坐标系相对于足部视觉坐标系的运动姿态本体视觉坐标系相对于世界坐标系的运动姿态和足部坐标系相对于本体坐标系的运动姿态之间的结果存在差异,但本体视觉传感器固定安装在多足机器人上,因此可以得到等式但本体视觉传感器固定安装在多足机器人上,因此可以得到等式对公式进行转换的基础上可以将公式推导为推导为之后在该公式的基础上,等式两边同时乘以和得到公式为结合ax=xb的经典方程式可计算获得足部坐标系变换至足部视觉坐标系的变换矩阵其中,为世界坐标系转换至本体视觉坐标系的第五变换矩阵。
[0081]
如图4所示,本技术实施例还提供一种多足机器人视觉传感器的外参标定方法,参见图4,该多足机器人视觉传感器的外参标定方法包括:
[0082]
步骤401:构建多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵。
[0083]
步骤402:获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。
[0084]
其中,所述本体视觉传感器安装在多足机器人上,所述足部视觉传感器安装在多足机器人的足部,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系,所述标定板为放置在所述多足机器人前方、且同时落入在所述本体视觉传感器和所述足部视觉传感器视线范围内的平板。
[0085]
步骤403:根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵;
[0086]
步骤404:根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
[0087]
实施例中,由于视觉传感器和本体坐标系包含的电机编码器之间存在显著的时域
差别,视觉传感器的频率多为20-30hz,而电机编码器的测量频率极快,本体坐标系的状态更新可以达到1000hz。除了频率上的差异,两者在时钟基准上也普遍存在几十毫秒的差异,成为时钟偏差,导致不同坐标系之间存在时间对齐问题。本实施例为解决不同坐标系之间时间对齐问题,标定时钟偏差,即估计出多足机器人本体的运动轨迹与视觉传感器之间的运动轨迹之间的时钟偏差。
[0088]
步骤405:获取所述多足机器人的足部相对于多足机器人本体的第一运动轨迹和足部视觉传感器相对于所述本体视觉传感器的第二运动轨迹。
[0089]
本步骤中,获得多足机器人的足部相对于多足机器人本体的第一运动轨迹和足部视觉传感器相对于所述本体视觉传感器的第二运动轨迹。其中,在步骤401中获取的第一变换矩阵,也即是计算了足部坐标系相对于本体坐标系的一个运动姿态,而一系列的运动姿态则构成运动轨迹,也即是一系列的足部坐标系相对于本体坐标系的运动姿态为第一运动轨迹。相应的,根据步骤403计算获得的第四变换矩阵可以获得本步骤的第二运动轨迹。
[0090]
步骤406:计算第一运动轨迹中任意两个相邻的运动姿态间的第一平均时间间隔和第二运动轨迹中任意两个相邻的运动姿态间的第二平均时间间隔。
[0091]
第一运动轨迹和第二运动轨迹分别包括有多个运动姿态,每两个相邻的运动姿态之间间隔有对应的采样间隔。本步骤中,分别计算第一运动轨迹的全部采样间隔的第一平均时间间隔和第二运动轨迹的全部采样间隔的第二平均时间间隔。
[0092]
步骤407:根据所述第一平均时间间隔和第二平均时间间隔计算所述第一运动轨迹与所述第二传感器运动轨迹之间的时钟偏差。
[0093]
具体的,选取所述第一平均时间间隔和所述第二平均时间间隔之中的较小值为采样时间间隔,每隔所述采样时间间隔从所述第一运动轨迹中提取对应运动姿态形成第一运动姿态集,并每隔所述采样时间间隔从所述第二运动轨迹中提取对应运动姿态形成第二运动姿态集。例如第一平均时间间隔为t1,第二平均时间间隔为t2,且t1大于t2,则t2作为采样时间间隔,并基于该采样时间间隔t2重新对第一运动轨迹和第二运动轨迹进行采集,形成第一运动姿态集和第二运行姿态集。之后,计算所述第一运动姿态集的第一旋转量和所述第二运动姿态集的第二旋转量;根据所述第一旋转量计算第一角速度的模,根据所述第二旋转量计算第二角速度的模,并计算所述第一角速度的模与所述第二角速度的模之间的卷积;获取所述卷积中响应最大值对应的位置记为时钟偏差。
[0094]
步骤408:根据所述时钟偏差对所述第一运动轨迹和所述第二运动轨迹进行校正,并基于校正后的第一运动轨迹和校正后的第二运动轨迹修正所述目标变换矩阵。
[0095]
实施例在实际应用中,在步骤401计算获得了第一变换矩阵和步骤403计算获得了第四变换矩阵之后,可以先执行步骤405至步骤408,也即是,先根据第一变换矩阵、第四变换矩阵得到第一运动轨迹和第二运动轨迹,继而经过各个算法步骤计算得到最终的时钟偏差,结合时钟偏差以及第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵通过计算目标变换矩阵。
[0096]
本技术实施例还提供了一种多足机器人视觉传感器的外参标定装置,该装置可集合在多足机器人视觉传感器的外参标定设备中,用于执行本技术上述多足机器人视觉传感器的外参标定方法,具备相应的功能和有益效果。具体的,图5为本技术实施例提供的多足机器人视觉传感器的外参标定装置的结构示意图。参见图5,该多足机器人视觉传感器的外
参标定装置包括第一矩阵获取模块501、第二矩阵获取模块502、第三矩阵获取模块503和第四矩阵获取模块504。
[0097]
其中,第一矩阵获取模块501,用于构建多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵;第二矩阵获取模块502,用于获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵,其中,所述本体视觉传感器安装在多足机器人上,所述足部视觉传感器安装在多足机器人的足部,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系,所述标定板为放置在所述多足机器人前方、且同时落入在所述本体视觉传感器和所述足部视觉传感器视线范围内的平板;第三矩阵获取模块503,用于根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵;第四矩阵获取模块504,用于根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
[0098]
实施例中,要实现外参标定,首先施加外参标定指令以进入外参标定流程。其中该外参标定指令可以由用户主动输入。根据该外参标定指令,整个系统进入至外参标定的流程,按照实施例提供的多足机器人视觉传感器的外参标定方法所记载的流程进行最终的目标变换矩阵的计算。也即是,依次通过第一矩阵获取模块501、第二矩阵获取模块502、第三矩阵获取模块503和第四矩阵获取模块504完成精准的外参标定。通过新定义多足机器人的足部坐标系,在多足机器人的足部固定足部视觉传感器,结合足部视觉坐标系与多足机器人的本体坐标系之间高精度的相对状态测量,将多足机器人的外参问题转变为机械臂手眼标定问题,在外参标定过程中,不需要多足机器人在环境中进行大范围运动,只需要在环境中加载一块标定板,并使多足机器人单足相对于本体坐标系的运动即可完成外参标定,操作简单,外参标定精度高。
[0099]
作为进一步优选的,第一矩阵获取模块501中,通过获取所述多足机器人预设的足部运动学模型,并获取多足机器人的足部电机编码器采集的编码数据;根据所述足部运动学模型和所述编码数据计算所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵;第二矩阵获取模块502中,将本体视觉传感器的时间戳与足部视觉传感器的时间戳对准,获取所述本体视觉传感器在目标时间戳采集到标定板的第一图像和所述足部视觉传感器在目标时间戳采集标定板的第二图像;获取所述标定板的尺寸参数;根据所述尺寸参数以及所述第一图像获取本体视觉坐标系变换至世界坐标系的第二变换矩阵,根据所述尺寸参数以及所述第二图像获取足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵。
[0100]
而在第三矩阵获取模块503中,具体根据公式而在第三矩阵获取模块503中,具体根据公式获得本体视觉坐标系变换至足部视觉坐标系的第四变换矩阵。其中,为第二变换矩阵,为第三变换矩阵,为第四变换矩阵,为世界坐标系变换至足部视觉坐标系的变换矩阵。
[0101]
针对于如何获取目标变换矩阵,具体的,公式开
始进行坐标系的逐步变换,可推导得到始进行坐标系的逐步变换,可推导得到基于此对公式转变为转变为根据公式将公式将公式可转变为此时在公式的两边同时乘以和即是公式的等号两边同时乘以也同时乘以得到公式将公式将公式改写为ax=xb的经典方程式,其中改写为ax=xb的经典方程式,其中将上述公式和a、b、x对应的值带入至ax=xb,根据公知的求解方法对该方程进行求解,则可以求解出目标变换矩阵,也即是本体坐标系相对于本体相机坐标系的运动姿态。f
l
为足部坐标系,为目标变换矩阵,为足部坐标系变换至足部视觉坐标系的变换矩阵,bt
l
为第一变换矩阵,i为本体视觉传感器和足部视觉传感器第i次采集所述标定板的图像,j为本体视觉传感器和足部视觉传感器第j次采集所述标定板的图像,为世界坐标系相对于足部视觉坐标系的第j次运动姿态,为世界坐标系相对于足部视觉坐标系的第i次运动姿态,为本体视觉坐标系相对于世界坐标系的第j次运动姿态,为本体视觉坐标系相对于世界坐标系的第i次运动姿态,为足部坐标系相对于本体坐标系的第j次运动姿态,为足部坐标系相对于本体坐标系的第i次运动姿态,为本体视觉坐标系相对于足部视觉坐标系的第j次运动姿态。
[0102]
在上述实施例的基础上,还能进一步设置第五矩阵获取模块,用于获取世界坐标系转换至本体视觉坐标系的第五变换矩阵以及本体坐标系变换至足部坐标系的第六变换矩阵。还包括第六矩阵获取模块,用于根据目标变换矩阵、第三变换矩阵、第五变换矩阵和所述第六变换矩阵计算获得所述足部坐标系变换至足部视觉坐标系的变换矩阵。
[0103]
本技术提出的上述多足机器人视觉传感器的外参标定装置中所包括的各个模块之间只是按照功能逻辑进行划分,但并不局限于上述的划分方式,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。
[0104]
如图6所示,本技术实施例还提供一种外参标定设备,包括:存储器601以及一个或
多个处理器602;所述存储器601,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器602执行,使得所述一个或多个处理器实现如本技术所述的多足机器人视觉传感器的外参标定方法。
[0105]
其中,存储器601和处理器602之间通过通信总线连接,实现存储器601与处理器602之间的通信。以智能交互平板作为该外参标定设备为例,处理存储器601和处理器602,还可包括无线通信模块、用户操作端口。用户操作端口用于提供给用户进行外参标定指令的输入。无线通信模块用于连接处理器602与多足机器人本体中的主控制设置,如控制器、单片机等,以通过该主控制设备接收各个采集的数据,完成对外参标定的计算。
[0106]
处理器602可以包括一个或多个处理核心。处理器602利用各种接口和线路连接整个计算机设备内的各个部分,通过运行或执行存储在处理器602内的指令、程序、代码集或指令集,以及调用存储在存储器601内的数据,执行计算机设备的各种功能和处理数据。可选的,处理器602可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic arrays,pla)中的至少一种硬件形式来实现。处理器402可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器602中,单独通过一块芯片进行实现。
[0107]
存储器601可以包括ram,也可以包括只读存储器(read-only memory)。可选的,该存储器601包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器601可用于存储指令、程序、代码、代码集或指令集。存储器601可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器401可选的还可以是至少一个位于远离前述处理器602的存储装置。
[0108]
上述实施例提供的外参标定设备可用于执行本技术所提出的任意一种多足机器人视觉传感器的外参标定方法,具备相应的功能和有益效果。
[0109]
本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的多足机器人视觉传感器的外参标定方法,该多足机器人视觉传感器的外参标定方法包括:定义多足机器人的足部坐标系,获取所述足部坐标系变换至所述多足机器人的本体坐标系的第一变换矩阵;获取本体视觉传感器对应的本体视觉坐标系变换至世界坐标系的第二变换矩阵、足部视觉传感器对应的足部视觉坐标系变换至世界坐标系的第三变换矩阵,其中,所述本体视觉传感器安装在多足机器人上,所述足部视觉传感器安装在多足机器人的足部,所述世界坐标系为以标定板上任意一个点作为原点所建立的坐标系,所述标定板为放置在所述多足机器人前方、且同时落入在所述本体视觉传感器和所述足部视觉传感器视线范围内的平板;根据所述第二变换矩阵和所述第三变换矩阵计算获得所述本体视觉坐标系变换至所述足部视觉坐标系的第四变换矩阵;根据所述第一变换矩阵、所述第二变换矩阵和所述第四变换矩阵计算获得所述本体坐标系变换至所述本体相机坐标系的目标变换矩阵。
[0110]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。
[0111]
因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0112]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
[0113]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0114]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0115]
注意,上述仅为本技术的较佳实施例及所运用的技术原理。本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等
效实施例,而本技术的范围由权利要求的范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1