一种定位系统的外参标定方法、装置及相关设备与流程

文档序号:17793992发布日期:2019-05-31 20:37阅读:329来源:国知局
一种定位系统的外参标定方法、装置及相关设备与流程

本申请涉及机器人技术领域,特别涉及一种定位系统的外参标定方法,还涉及一种定位系统的外参标定装置、设备以及计算机可读存储介质。



背景技术:

对于机器人来说,摄像头是机器人获取外部信息的重要设备,机器人如需要通过kinect获得基于自身坐标系的外部信息的准确位置,就需要进行kinect外参标定,即将kinect坐标系下的坐标对应转换到机器人自身参考坐标系下的坐标。具体而言,kinect的外参标定针对的是世界坐标系或机器人坐标系与kinect坐标系之间的参数标定,其主要是通过计算两个坐标系之间的转换矩阵来实现两个坐标系的坐标转换。

在ros系统中,baxter机器人现有最常用的外参标定方法是通过人工获取kinect坐标系的坐标及机器人base坐标系下对应点的坐标进行计算。首先通过kinect的二维视频流人工获取较多的机器人手部坐标系对应位置的二维坐标,然后通过计算得出该二维点在kinect坐标系下的kinect坐标,再结合从ros系统中得到的对应点在机器人base坐标系下的坐标,由此,即可通过计算获得两个坐标系的转换矩阵,完成kinect的外参标定。

然而,由于以上技术方案需要过多的人工干预,导致在获取对应点坐标时误差增大,进而增加了标定误差,同时人工标定所需要花费的成本也更高;另外,在多kinect标定过程中往往需要对多个摄像头进行标定,计算与发布过程极为繁琐且效率低下。

因此,如何在有效提高kinect外参标定准确率的同时,提高标定效率是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种定位系统的外参标定方法,该定位系统的外参标定方法可在有效提高kinect外参标定准确率的同时,提高标定效率;本申请的另一目的是提供一种定位系统的外参标定装置、设备以及计算机可读存储介质,也具有上述有益效果。

为解决上述技术问题,本申请提供了一种定位系统的外参标定方法,所述方法包括:

当接收到标定指令时,根据所述标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对所述预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;

根据所述预设移动路径获取所述kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于所述机器人base坐标系的base坐标信息集合;

根据所述kinect坐标信息集合计算kinect增广矩阵,根据所述base坐标信息集合计算base增广矩阵;

根据所述kinect增广矩阵和所述base增广矩阵计算获得所述kinect坐标系与所述机器人base坐标系的旋转矩阵,完成外参标定。

优选的,所述根据所述标定指令控制预设标定物按照预设移动路径进行移动,包括:

根据所述标定指令控制机器人手部携带所述预设标定物按照所述预设移动路径进行移动;其中,所述预设标定物的中心位于机器人手部坐标系的原点位置。

优选的,所述控制kinect对所述预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合,包括:

控制所述kinect按照预设时间间隔对所述预设标定物进行坐标记录,获得所述基于kinect坐标系的kinect坐标信息集合。

优选的,所述定位系统的外参标定方法还包括:

获取所述机器人base坐标系与所述机器人手部坐标系的第一旋转矩阵;

根据所述第一旋转矩阵和所述旋转矩阵进行计算,获得所述kinect坐标系与所述机器人手部坐标系的第二旋转矩阵。

优选的,所述定位系统的外参标定方法还包括:

获取预定数量个测试数据信息,并通过所述测试数据信息对所述旋转矩阵进行修正,获得修正后旋转矩阵。

为解决上述技术问题,本申请还提供了一种定位系统的外参标定装置,所述装置包括:

kinect坐标信息集合获取模块,用于当接收到标定指令时,根据所述标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对所述预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;

base坐标信息集合获取模块,用于根据所述预设移动路径获取所述kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于所述机器人base坐标系的base坐标信息集合;

增广矩阵计算模块,用于根据所述kinect坐标信息集合计算kinect增广矩阵,根据所述base坐标信息集合计算base增广矩阵;

旋转矩阵计算模块,用于根据所述kinect增广矩阵和所述base增广矩阵计算获得所述kinect坐标系与所述机器人base坐标系的旋转矩阵,完成外参标定。

优选的,所述定位系统的外参标定装置还包括:

第二旋转矩阵计算模块,用于获取所述机器人base坐标系与所述机器人手部坐标系的第一旋转矩阵;根据所述第一旋转矩阵和所述旋转矩阵进行计算,获得所述kinect坐标系与所述机器人手部坐标系的第二旋转矩阵。

优选的,所述定位系统的外参标定装置还包括:

修正模块,用于获取预定数量个测试数据信息,并通过所述测试数据信息对所述旋转矩阵进行修正,获得修正后旋转矩阵。

为解决上述技术问题,本申请还提供了一种定位系统的外参标定设备,所述设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任意一种定位系统的外参标定方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种定位系统的外参标定方法的步骤。

本申请所提供的一种定位系统的外参标定方法,包括当接收到标定指令时,根据所述标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对所述预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;根据所述预设移动路径获取所述kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于所述机器人base坐标系的base坐标信息集合;根据所述kinect坐标信息集合计算kinect增广矩阵,根据所述base坐标信息集合计算base增广矩阵;根据所述kinect增广矩阵和所述base增广矩阵计算获得所述kinect坐标系与所述机器人base坐标系的旋转矩阵,完成外参标定。

可见,本申请所提供的定位系统的外参标定方法,基于标定物追踪技术实现了kinect外参标定,预先对预设标定物进行移动路径规划,当预设标定物按照预设移动路径移动时,控制kinect对其进行路线追踪,由此,即可获得kinect坐标系下各个路径坐标点的坐标信息集合,同时,基于预设移动路径获取到上述各路径坐标点在机器人base坐标系下对应点的坐标,由此,通过预先标定路线以及标定物追踪的方法获得了kinect坐标系和机器人base坐标系下的坐标信息集合,且两集合中的坐标点一一对应,进一步,分别计算两坐标系下的增广矩阵,从而根据量增广矩阵计算获得两坐标系之间的旋转矩阵,完成kinect的外参标定,该方法避免了人工干预,有效降低了对应点坐标获取过程中的误差,进而提高了kinect外参标定的准确率;同时,由于无需人工干预,在降低工作成本的同时,也大大提高了标定效率。

本申请所提供的一种定位系统的外参标定装置、设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请所提供的一种定位系统的外参标定方法的流程示意图;

图2为本申请所提供的一种定位系统的外参标定装置的结构示意图;

图3为本申请所提供的一种定位系统的外参标定设备的结构示意图。

具体实施方式

本申请的核心是提供一种定位系统的外参标定方法,该定位系统的外参标定方法可在有效提高kinect外参标定准确率的同时,提高标定效率;本申请的另一核心是提供一种定位系统的外参标定装置、设备以及计算机可读存储介质,也具有上述有益效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

请参考图1,图1为本申请所提供的一种定位系统的外参标定方法的流程示意图,该定位系统的外参标定方法可以包括:

s101:当接收到标定指令时,根据标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;

本步骤旨在实现kinect坐标系下各坐标点的获取,具体而言,当主控器接收到外参标定指令时,分别对预设标定物以及kinect进行控制,控制预设标定物按照预先设定的移动路径进行移动,同时控制kinect对预设标定物进行追踪记录,其中,对于上述预设移动路径,本申请不作具体限定,由技术人员预先进行设定即可,该设定过程无需基于kinect的视频流进行人工获取,效率较高,由此,基于kinect对预设标定物的追踪即可获得kinect坐标系下各个路径坐标点的坐标,进而获得kinect坐标信息集合。

其中,对于上述预设标定物的移动,可预先将预设标定物设置于机器人的可移动部位,通过控制机器人的可移动部位运动带动预设标定物按照预设移动路径进行移动。当然,对于预设标定物选取的具体种类(如规则图片)及其在机器人上的具体设置位置(如机器人手部位置),本申请不做限定。此外,需要说明的是,为保证kinect坐标信息集合中各个坐标信息的准确性,在对预设标定物的追踪过程中,kinect摄像头需要一直正对预设标定物的某一特定点,如中心点。

优选的,上述根据标定指令控制预设标定物按照预设移动路径进行移动,可以包括:根据标定指令控制机器人手部携带预设标定物按照预设移动路径进行移动;其中,预设标定物的中心位于机器人手部坐标系的原点位置。

本申请提供了一种较为具体的预设标定物的移动方法,即利用机器人手部抓取点的可移动性,通过机器人手部动作带动预设标定物移动。具体而言,本申请采用二维码作为预设标定物,以保证采集坐标的准确性,首先,将二维码固定于机器人手部,使得二维码的正中心正好位于机器人手部坐标系的原点位置,进一步,根据标定指令控制机器人手部按照预设移动路径运动,由此,机器人手部将带动二维码按照预设移动路径移动。

优选的,上述控制kinect对预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合,可以包括:控制kinect按照预设时间间隔对预设标定物进行坐标记录,获得基于kinect坐标系的kinect坐标信息集合。

具体的,对于kinect对预设标定物的追踪过程,可通过预设时间间隔实现,即控制kinect按照预设时间间隔对移动着的预设标定物进行一次路径坐标点的记录,获得kinect坐标信息集合。其中,对于其追踪记录过程,具体可通过内置于kinect中的ar_track_alvar实现。另外,对于上述预设时间间隔的具体取值,由技术人员根据实际需要进行设置即可,例如,在本申请中将其设置为1/3秒,即每隔1/3秒记录一次预设标定物中心点在kinect坐标系下的坐标信息,在预设标定物移动完毕后,获得kinect坐标信息集合。

s102:根据预设移动路径获取kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于机器人base坐标系的base坐标信息集合;

本步骤旨在实现机器人base坐标系下坐标点的获取,需要说明的是,该机器人base坐标系下的各个坐标点与上述kinect坐标系下的各个坐标点是相互对应的。具体而言,基于机器人自身的标定系统即可根据上述预设移动路径直接获取,得到机器人base坐标系下各个坐标点的坐标,进而获得base坐标信息集合。

需要说明的是,上述s101和s102的执行顺序并不唯一,为保证标定效率,二者也可同时进行。

s103:根据kinect坐标信息集合计算kinect增广矩阵,根据base坐标信息集合计算base增广矩阵;

本步骤旨在实现kinect坐标系与机器人base坐标系下增广矩阵的计算,具体可通过kinect坐标信息集合计算获得kinect坐标系下的kinect增广矩阵,通过base坐标信息集合计算获得base坐标系下的base增广矩阵。其中,对于增广矩阵的具体计算方法,参照已有技术即可,本申请在此不再赘述。

s104:根据kinect增广矩阵和base增广矩阵计算获得kinect坐标系与机器人base坐标系的旋转矩阵,完成外参标定。

本步骤旨在实现kinect坐标系与机器人base坐标系之间旋转矩阵的计算,完成kinect外参标定,该计算过程直接根据上述kinect增广矩阵和base增广矩阵进行计算即可实现。

需要说明的是,上述基于kinect的外参标定方法,不受机器人上安装的kinect数量的限制,也就是说,本申请所提供的定位系统的外参标定方法同样适用于多kinect的定位系统的外参标定,在标定过程中,kinect与预设标定物数量相同,且一一对应,由每个kinect对自身对应的预设标记物进行追踪记录即可。

本申请所提供的定位系统的外参标定方法,基于标定物追踪技术实现了kinect外参标定,预先对预设标定物进行移动路径规划,当预设标定物按照预设移动路径移动时,控制kinect对其进行路线追踪,由此,即可获得kinect坐标系下各个路径坐标点的坐标信息集合,同时,基于预设移动路径获取到上述各路径坐标点在机器人base坐标系下对应点的坐标,由此,通过预先标定路线以及标定物追踪的方法获得了kinect坐标系和机器人base坐标系下的坐标信息集合,且两集合中的坐标点一一对应,进一步,分别计算两坐标系下的增广矩阵,从而根据量增广矩阵计算获得两坐标系之间的旋转矩阵,完成kinect的外参标定,该方法避免了人工干预,有效降低了对应点坐标获取过程中的误差率,进而提高了kinect外参标定的准确率;同时,由于无需人工干预,在降低工作成本的同时,也大大提高了标定效率。

在上述实施例的基础上,作为一种优选实施例,该定位系统的外参标定方法还可以包括:

获取机器人base坐标系与机器人手部坐标系的第一旋转矩阵;根据第一旋转矩阵和旋转矩阵进行计算,获得kinect坐标系与机器人手部坐标系的第二旋转矩阵。

具体的,机器人在基于kinect进行外部信息的获取过程中,一般会涉及到多个坐标系的坐标转换,而坐标转换过程则需要基于两相关坐标系之间的旋转矩阵实现。具体的,当通过机器人手部带动预设标定物移动时,其所涉及到的坐标系包括kinect坐标系、机器人base坐标系、机器人手部坐标系,由此,可计算获得任意两坐标系之间旋转矩阵:

首先,基于上一实施例已经计算获得kinect坐标系与机器人base坐标系之间的旋转矩阵,进一步,基于机器人的自身特性,机器人base坐标系与机器人手部坐标系之间的旋转矩阵,即上述第一旋转矩阵,可直接基于机器人自身系统的标定获得,由此,即可根据kinect坐标系与机器人base坐标系之间的旋转矩阵与上述第一旋转矩阵计算获得kinect坐标系与机器人手部坐标系之间的旋转矩阵,即上述第二旋转矩阵。由此,即实现了任意两坐标系之间旋转矩阵的标定,更加便于在机器人对外部信息获取过程中不同坐标系之间的坐标转换。

在上述各实施例的基础上,作为一种优选实施例,该定位系统的外参标定方法还可以包括:

获取预定数量个测试数据信息,并通过测试数据信息对旋转矩阵进行修正,获得修正后旋转矩阵。

本步骤申请实施例旨在实现旋转矩阵的更新优化,以进一步提高后续数据处理的准确性。具体的,可预先获取预定数量个测试数据信息,一份测试数据信息即为已经确定的某一坐标点分别在kinect坐标系下和机器人base坐标系下的坐标信息,通过多份测试数据信息对旋转矩阵进行测试,以获得旋转矩阵的准确率,当其准确率低于预设准确率时,对旋转矩阵进行修正,获得满足预设准确率的修正后旋转矩阵。其中,对于上述预设准确率的具体取值,由技术人员进行预先设置即可,本申请不做具体限定。

为解决上述问题,请参考图2,图2为本申请所提供的一种定位系统的外参标定装置的结构示意图,该定位系统的外参标定装置可包括:

kinect坐标信息集合获取模块10,用于当接收到标定指令时,根据标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;

base坐标信息集合获取模块20,用于根据预设移动路径获取kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于机器人base坐标系的base坐标信息集合;

增广矩阵计算模块30,用于根据kinect坐标信息集合计算kinect增广矩阵,根据base坐标信息集合计算base增广矩阵;

旋转矩阵计算模块40,用于根据kinect增广矩阵和base增广矩阵计算获得kinect坐标系与机器人base坐标系的旋转矩阵,完成外参标定。

作为一种优选实施例,该定位系统的外参标定装置还可以包括:

第二旋转矩阵计算模块,用于获取机器人base坐标系与机器人手部坐标系的第一旋转矩阵;根据第一旋转矩阵和旋转矩阵进行计算,获得kinect坐标系与机器人手部坐标系的第二旋转矩阵。

作为一种优选实施例,该定位系统的外参标定装置还可以包括:

修正模块,用于获取预定数量个测试数据信息,并通过测试数据信息对旋转矩阵进行修正,获得修正后旋转矩阵。

对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,请参考图3,图3为本申请所提供的一种定位系统的外参标定设备的结构示意图,该定位系统的外参标定设备可包括:

存储器1,用于存储计算机程序;

处理器2,用于执行计算机程序时实现如下步骤:

当接收到标定指令时,根据标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;根据预设移动路径获取kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于机器人base坐标系的base坐标信息集合;根据kinect坐标信息集合计算kinect增广矩阵,根据base坐标信息集合计算base增广矩阵;根据kinect增广矩阵和base增广矩阵计算获得kinect坐标系与机器人base坐标系的旋转矩阵,完成外参标定。

对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下骤:

当接收到标定指令时,根据标定指令控制预设标定物按照预设移动路径进行移动,并控制kinect对预设标定物进行追踪,获得基于kinect坐标系的kinect坐标信息集合;根据预设移动路径获取kinect坐标信息集合中各个坐标点在机器人base坐标系中的坐标信息,获得基于机器人base坐标系的base坐标信息集合;根据kinect坐标信息集合计算kinect增广矩阵,根据base坐标信息集合计算base增广矩阵;根据kinect增广矩阵和base增广矩阵计算获得kinect坐标系与机器人base坐标系的旋转矩阵,完成外参标定。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的定位系统的外参标定方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1