一种机器人深度相机的点云标定方法、设备及介质
文献发布时间:2023-06-19 19:37:02
技术领域
本说明书涉及智能机器人技术领域,尤其涉及一种机器人深度相机的点云标定方法、设备及介质。
背景技术
随着劳动力成本的不断提高以及工业机器人控制、规划、识别方法的不断发展,用工业机器人代替人工进行自动化生产的程度越来越高。而对于机器人中的摄像机一个很重要的部分是摄像头的校准,只有参数校准的摄像头,外部景物投影到图像传感器上面图像才能做精确的导航计算,保证机器人的正确移动。
传统深度相机点云标定多依靠深度图像甚至彩色图像靠视觉特征点结合厂家提供的相机内参进行坐标关系运算及转换,运算较复杂,耗费运算资源较多,耗时较长,增加机器人嵌入式系统运算压力;依赖于厂家提供的内参,当无法获得厂家的技术支持时,则无法标定;依赖于彩色图像和深度图像,深度相机存在无彩色相机的可能,当没有彩色图像及深度图像输出时,则无法标定,同时深度图像不直观图像干扰细节较多存在观测误差,当内参也存在误差时,标定结果存在误差。
发明内容
为解决上述技术问题,本说明书实施例提供一种机器人深度相机的点云标定方法、设备及介质。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种机器人深度相机的点云标定方法,方法包括:
将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量;
将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量;
获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量;
将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量;
分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
可选地,在本说明书一个或多个实施例中,
所述控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量,具体包括:
将所述第一旋转增量基于预设增量值进行步进增加;其中,所述第一旋转增量进行步进时,所述步进跨度为0.001;
获取所述深度相机实时采集的预设数量的地面点云数据作为第一采样点云数据;其中,所述第一采样点云数据的横坐标值相同;
获取各所述第一采样点云数据中的当前垂直坐标值,以判断所述预设数量的地面点云数据中的当前垂直坐标值是否相同;
若相同则将当前垂直坐标值所对应的第一旋转增量作为第一旋转标定增量;
将所述深度相机在第一标定旋转增量下基于预设增量值进行所述第二旋转增量的步进增加;
获取所述深度相机实时采集的预设数量的地面点云数据作为第二采样点云数据,并确定所述第二采样点云数据的当前横坐标值,判断各所述第二点云数据的当前横坐标值是否相同;其中,所述第二采样点云数据的垂直坐标值相同;
若相同则将当前横坐标值所对应的第二旋转增量作为第二旋转标定增量。
可选地,在本说明书一个或多个实施例中,所述将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量,具体包括:
将所述深度相机在第一标定旋转增量与第二标定旋转增量下,基于预设增量值进行所述第三旋转增量的步进增加;
获取所述深度相机实时采集的预设数量的地面点云数据作为第三采样点云数据,并确定所述第三采样点云数据所对应的垂直坐标值,判断各所述第三点云数据的当前垂直坐标值是否相同,若相同,则将所述当前第三旋转增量作为所述深度相机的第三标定旋转增量;其中,所述第三采样点云数据的纵坐标值相同。
可选地,在本说明书一个或多个实施例中,获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量,具体包括:
将各所述地面点云数据所对应的垂直坐标值进行排序,生成垂直坐标值序列,以基于所述垂直坐标值序列,获得所述深度相机采集的各地面点云数据中垂直坐标的中值;
基于所述垂直坐标的中值确定出当前机器人坐标系和深度相机坐标系的相对坐标,以将所述相对坐标作为所述深度相机的第一标定位移增量。
可选地,在本说明书一个或多个实施例中,将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量,具体包括:
将所述深度相机放置于预设目标观测环境中,并获取所述深度相机的二维坐标位置与所述深度相机采集的目标点云数据;其中,所述预设目标观测环境在所述深度相机的视野正中预置有高度高于所述深度相机最上视野的竖直长方体物体作为观测目标,且所述观测目标的一面正对所述深度相机;
通过设置于所述二维坐标位置的超声波传感器,检测获取所述深度相机与所述观测目标的距离平均值;
基于所述目标点云数据与所述距离平均值,确定出所述深度相机的第二标定位移增量;
获取各所述目标点云数据横坐标的平均值,以基于所述距离平均值、所述目标点云数据横坐标的平均值与所述第二标定旋转增量所对应的角度数据,确定所述深度相机的第三标定位移增量。
可选地,在本说明书一个或多个实施例中,基于所述目标点云数据与所述距离平均值,确定出所述深度相机的第二标定位移增量,具体包括:
遍历所述地面点云数据,以获取各所述地面点云数据中的垂直坐标值,并基于所述垂直坐标值与零值的大小关系,将所述垂直坐标值进行集合划分;
获取垂直坐标值大于零值的集合中各所述地面点云数据所对应的横坐标平均值;
对当前机器人坐标系和深度相机坐标系相对坐标的初始第二位移增量进行调整,获得调整后的各所述地面点云数据所对应的横坐标调整平均值;
若所述横坐标调整平均值与所述观测目标的距离平均值的差值小于预设横坐标差值阈值,则将调整后的初始第二位移增量作为所述深度相机的第二标定位移增量。
可选地,在本说明书一个或多个实施例中,获取各所述目标点云数据横坐标的平均值,以基于所述距离平均值、所述目标点云数据横坐标的平均值与所述第二标定旋转增量所对应的角度数据,确定所述深度相机的第三标定位移增量,具体包括:
对所述目标点云数据进行格式转换,以获得所述目标点云数据的二维数据,并确定所述二维数据中与所述观测目标两端的边缘内侧点相对应的点;其中,所述观测目标两端的边缘内侧点为所述观测目标左侧与右侧的边缘内侧点;
基于所述观测目标左侧的边缘内侧点,获得与所述深度相机相对应的左侧角度范围;
根据所述第二标定旋转增量所对应的坐标转换关系、所述左侧角度范围与所述深度相机的角分辨率,获得所述观测目标左侧与右侧的边缘内侧点相对正前方向的角度值;
将所述基于预设增量值进行步进增加所述深度相机的初始第三位移增量,并基于预置单线激光雷达实时获取所述观测目标的左侧与右侧的当前边缘内侧点;
根据所述第二标定旋转增量所对应的坐标转换关系、当前左侧的角度范围与所述深度相机的角分辨率,获得所述观测目标左侧与右侧的当前边缘内侧点相对正前方向的当前角度值;
获取所述角度值与所述当前角度值的角度值差值,若所述角度值差值小于预设角度值差值,则确定当前角度值所对应的第三位移增量作为所述深度相机的第三标定位移增量。
可选地,在本说明书一个或多个实施例中,分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定,具体包括:
获取所述机器人坐标系与所述深度相机坐标系的相对坐标初始值与相对角坐标初始值;
基于所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量对所述相对坐标初始值进行更新,以获得所述机器人坐标系与所述深度相机坐标系之间的相对坐标关系;
基于所述第一标定旋转量、所述第二标定旋转量与所述第三标定旋转量对所述相对角坐标初始值进行更新,以获得所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系;
通过所述相对坐标关系与所述相对角坐标关系,对所述深度相机进行标定。
本说明书一个或多个实施例提供一种机器人深度相机的点云标定设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量;
将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量;
获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量;
将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量;
分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量;
将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量;
获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量;
将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量;
分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过将机器人的深度相机分别放置于预设地面观测环境与预设目标观测环境中,实现对于相关旋转增量与位移增量的迭代增加,确定出深度相机所对应的第一标定旋转增量、第二标定旋转增量与第三标定旋转增量,以及第一标定位移增量、第二标定位移增量与第三标定位移增量,从而确定出机器人坐标系与深度相机坐标系之间的相对角坐标关系与相对坐标关系。通过直接对点云进行标定不需要进行内参运算,减少了内参转换运算当中出现的误差,提高了标定的效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的一种机器人深度相机的点云标定方法的流程示意图;
图2为本说明书实施例提供的一种机器人深度相机的点云标定设备的内部结构示意图;
图3为本说明书实施例提供的一种非易失性存储介质的内部结构示意图。
具体实施方式
本说明书实施例提供一种机器人深度相机的点云标定方法、设备及介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如图1所示,本说明书一个或多个实施例提供一种机器人深度相机的点云标定方法的流程示意图。由图1可知,一种机器人深度相机的点云标定方法,包括以下步骤:
S101:将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量。
为了实现在不借助任何内参坐标转换,不需厂家技术支持的情况下实现对于机器人深度相机的标定,首先需要将深度相机置于只有地面的观测环境中,得到深度相机采集的点云数据后,对点云数据进行随机采样获得地面点云数据。然后控制与深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,需要说明的是第一旋转增量与第二旋转增量为垂直坐标轴的相对旋转增量。也就是说,控制机器人坐标系和深度相机坐标系相对z轴的相对旋转坐标增量rx0为第一旋转增量,rz0为第二旋转增量。
具体地,在本说明书一个或多个实施例中,控制与深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量,具体包括以下过程:
将第一旋转增量根据预设增量值进行步进增加。其中,需要说明的是第一旋转增量进行步进时,步进跨度为0.001。然后深度相机实时采集的预设数量的横坐标值相同的地面点云数据作为第一采样点云数据。再获取各所述第一采样点云数据中的当前垂直坐标值,以判断各个第一采样点云数据的当前垂直坐标值是否相同。如果相同那么就将当前垂直坐标值所对应的第一旋转增量作为第一旋转标定增量。在获得第一旋转标定增量之后,将深度相机在第一标定旋转增量下根据预先设置的增量值进行第二旋转增量的步进增加。然后深度相机实时采集的预设数量的垂直坐标值相同的地面点云数据作为第二采样点云数据。再获取各所述第一采样点云数据中的当前横坐标值,以判断各个第二采样点云数据的当前横坐标值是否相同。,。如果判断二者数值相同,那么就将当前横坐标值所对应的第二旋转增量作为第二旋转标定增量。此外还需要说明的是,各地面点云数据为深度相机对采集的初始地面点云数据进行随机采样获得的。
具体地,在本说明书某应用场景下,首先将深度相机置于只有地面的预设地面观测环境中,记录当前机器人坐标系和深度相机坐标系相对坐标初始值(xb,yb,zb),和相对角坐标初始值(rxb,ryb,rzb),(x0,y0,z0)(rx0,ry0,rz0)为标定过程的增量,控制机器人坐标系和深度相机坐标系相对z轴的相对旋转坐标增量rx0及rz0也就是第一标定旋转增量与第二标定旋转增量,从0缓慢步进增加rx0,首先,控制机器人坐标系和深度相机坐标系相对x轴的相对角坐标增量rx0从0缓慢步进增加,步进跨度为0.001,每个rx0值改变时刻随机采样地面点云中x坐标相等的5个点云作为第一采样点云数据,每个第一采样点云数据的坐标相隔0.05m,判断第一采样点云数据的z坐标是否相等。重复此第一旋转增加的增加过程直到改变第一旋转增量的值时各个第一采样点云的垂直坐标相同,记录此时的第一旋转增量值为第一旋转标定增量。然后保持第一旋转标定增量不变,从当前第二旋转增量值开始缓慢进行增加,每次增加的预设增量值为rz0,每个rz0值改变时刻随机采样地面点云中z坐标相等的5个点云作为第二采样点云数据,每个第一采样点云数据的坐标相隔0.05m,判断第二采样点云数据的x坐标是否相等重复此第二旋转增量的增加过程直到各个第二采样点云数据的横坐标值相等,此时将第二旋转增量作为第二旋转标定增量。
S102:将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量。
基于上述步骤实现对于第一旋转标定增量和第二旋转标定增量的确定后,为了快速简便的实现对于相对角坐标系的标定。本说明书实施例中,将深度相机调整到第一标定旋转增量和第二标定旋转增量后,进行第三旋转增量的步进迭代,从而在迭代过程中获得深度相机的第三标定旋转增量。
具体地,在本说明书一个或多个实施例中,将深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取深度相机的第三标定旋转增量,具体包括以下步骤:
首先将深度相机在第一标定旋转增量与第二标定旋转增量下,基于预设增量值进行第三旋转增量的步进增加,获取深度相机实时采集的预设数量的地面点云数据作为第三采样点云数据,并确定第三采样点云数据所对应的垂直坐标值,判断各第三点云数据的当前垂直坐标值是否相同,若相同,则将当前第三旋转增量作为深度相机的第三标定旋转增量;其中,需要说明的是第三采样点云数据的纵坐标值相同。例如:在本说明书某应用场景下保持上述步骤获取的rx1及rz1不变,使得第三旋转增量从当前值缓慢步进增加ry0,每个ry0值改变时刻随机采样地面点云中y坐标相等的5个点云作为第三采样点云数据,判断第三采样点云数据的z坐标是否相等,重复此ry0增加过程直到各个第三采样点云数据的z坐标均相等,记录此ry0值为ry1即第三标定旋转增量。
S103:获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量。
通过确定旋转增量以便确定出点云的相对角坐标关系后,为了实现对于点云的标定,减少内参转换运算带来的巨大计算压力,还需要对相对坐标关系进行标定。因此,本说明书实施例中通过获取深度相机采集的各地面点云数据中垂直坐标的中值,实现根据中值获取到深度相机的第一标定位移增量的过程。
具体地,在本说明书一个或多个实施例中,获取深度相机采集的各地面点云数据中垂直坐标的中值,以基于中值确定所述深度相机的第一标定位移增量,具体包括以下过程:
首先将各地面点云数据所对应的垂直坐标值进行排序,从而生成垂直坐标值序列,以根据该垂直坐标值序列,获得到深度相机采集的各地面点云数据中垂直坐标的中值。根据获取到的垂直坐标的中值确定出当前机器人坐标系和深度相机坐标系的相对坐标,然后将该相对坐标作为深度相机的第一标定位移增量。具体地,在本说明书某应用场景下,随机采样5个地面点云数据,将采样点z坐标排序并取中值a,记录当前机器人坐标系和深度相机坐标系相对坐标z0-a为z1即所述深度相机的第一标定位移增量。
S104:将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量。
为了能够直接通过点云进行平面点云、边缘激光点等简易特征识别标定,观察对应点云坐标变化,选出需要的点云坐标转换关系,本说明书实施例中,将深度相机放置到预先设置的目标观测环境中,从而根据预先设置的调整策略确定出深度相机的第二标定位移增量与第三标定位移增量。具体地,在本说明书一个或多个实施例中,将深度相机放置于预设目标观测环境中,以基于预置调整策略确定出深度相机的第二标定位移增量与第三标定位移增量,具体包括以下步骤:
首先将深度相机放置于到预先设置的目标观测环境中,并获取到深度相机的二维坐标位置与深度相机采集的目标点云数据;其中,需要说明的是预先设置的目标观测环境在深度相机的视野正中预置有高度高于深度相机最上视野的竖直长方体物体作为观测目标,并且观测目标的一面正对着深度相机。然后通过设置在该二维坐标位置的超声波传感器,检测获取到深度相机与观测目标的距离平均值。可以理解的是距离平均值为超声波传感器多次检测获取到的距离的平均值。根据目标点云数据和距离平均值,确定出深度相机的第二标定位移增量,获取各目标点云数据横坐标的平均值,从而根据距离平均值、目标点云数据横坐标的平均值与第二标定旋转增量所对应的角度数据,确定出深度相机的第三标定位移增量。
具体地,在某应用场景下即为在相机视野正中正对放入高度高于深度相机最上视野的竖直长方体物体作为观测目标,其中长方体一面正对深度相机并使深度相机无法看到其他面。与机器人固定在一起且与深度相机处在同一(x,y)位置的超声波传感器对准目标物,并测量10次距离取平均值d作为深度相机与观测目标的距离平均值。然后根据目标点云数据和距离平均值,确定出深度相机的第二标定位移增量,获取各目标点云数据横坐标的平均值,从而根据距离平均值、目标点云数据横坐标的平均值与第二标定旋转增量所对应的角度数据,确定出深度相机的第三标定位移增量。
进一步地,在本说明书一个或多个实施例中,基于目标点云数据与距离平均值,确定出深度相机的第二标定位移增量,具体包括以下步骤:首先遍历地面点云数据,从而获取到各地面点云数据中的垂直坐标值,然后根据垂直坐标值与零值的大小关系,将垂直坐标值进行集合划分。获取垂直坐标值大于零值的集合中各地面点云数据所对应的横坐标平均值。对当前机器人坐标系和深度相机坐标系相对坐标的初始第二位移增量进行调整,从而获得调整后的各地面点云数据所对应的横坐标调整平均值。如果横坐标调整平均值与观测目标的距离平均值的差值小于预设横坐标差值阈值,那么就将调整后的初始第二位移增量作为深度相机的第二标定位移增量。具体地,在本说明书某应用场景下遍历点云,并将点云分割成垂直坐标值大于0的点和近似等于0的点两类,然后在垂直坐标值大于0的点云中采样10个点,并计算其x坐标的平均值e,通过增大减少当前机器人坐标系和深度相机坐标系相对坐标x0,直到e与d的差值小于预设横坐标差值阈值f=0.1,记录此时将调整后的初始第二位移增量作为深度相机的第二标定位移增量x1。
进一步地,在本说明书一个或多个实施例中,获取各目标点云数据横坐标的平均值,以基于距离平均值、目标点云数据横坐标的平均值与第二标定旋转增量所对应的角度数据,确定深度相机的第三标定位移增量,具体包括以下过程:
首先对目标点云数据进行格式转换,从而获得目标点云数据的二维数据,并确定出二维数据中与观测目标两端的边缘内侧点相对应的点;其中,需要说明的是观测目标两端的边缘内侧点是观测目标左侧与右侧的边缘内侧点。然后根据观测目标左侧的边缘内侧点,获得和深度相机相对应的左侧角度范围。根据第二标定旋转增量所对应的坐标转换关系、左侧角度范围与深度相机的角分辨率,得到观测目标左侧与右侧的边缘内侧点相对正前方向的角度值。基于预设增量值步进增加深度相机的初始第三位移增量,并根据预先设置的单线激光雷达实时获取到观测目标的左侧与右侧的当前边缘内侧点。然后根据所述第二标定旋转增量所对应的坐标转换关系、当前左侧的角度范围与所述深度相机的角分辨率,获得观测目标左侧与右侧的当前边缘内侧点相对正前方向的当前角度值。然后获取到上述角度值与当前角度值的角度值差值,如果确定二者的角度值差值小于预设角度值差值,那么能够确定当前角度值所对应的第三位移增量作为深度相机的第三标定位移增量。
具体地,在本说明书某应用场景下的实施例中,基于距离平均值、目标点云数据横坐标的平均值与第二标定旋转增量所对应的角度数据,确定深度相机的第三标定位移增量,具体过程为:将相机点云转换为二维激光雷达格式数据简称二维数据,然后从右至左遍历二维数据,计算相邻两点差值,当差值第一次小于阈值-m=-0.9,将此被减数点序号记为h1;当差值第一次大于阈值m=0.9,将此被减数点序号记为h2,则h1、h2分别对应目标物右、左侧边缘激光点;由二维数据此时最小角度angle_min、最大角度angle_max、角分辨率angle_increment,右侧边缘点角度值g1为angle_increment×h1,左侧边缘点角度值g2为angle_increment×h2。然后将与机器人固定在一起且与深度相机安装在同一(x,y)位置、同一(rx,ry,rz)角坐标朝向的单线激光雷达观测一次目标物,采用与二维数据相同方法计算出右、左边缘点角度值g3、g4;从0开始缓慢步进改变y0大小,比较g1和g3、g2和g4,当差值均小于阈值k=0.03时,记录当前角度值所对应的第三位移增量作为深度相机的第三标定位移增量。
S105:分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
基于上述步骤获得对应的标定旋转增量与标定位移增量后,为了实现对于深度相机无内参的快速标定。本说明书实施例中分别根据第一标定旋转增量、第二标定旋转增量与第三标定旋转增量,以及第一标定位移增量、第二标定位移增量与第三位移增量确定出机器人坐标系与深度相机坐标系之间的相对角坐标关系与相对坐标关系,从而根据相对角坐标关系与相对坐标关系实现深度相机的标定。需要说明的是,在获得第一标定旋转增量、第二标定旋转增量与第三标定旋转增量之后,需要判断第一标定旋转增量、第二标定旋转增量与第三标定旋转增量是否大于π,若大于将值减去π。同时判断第一标定旋转增量、第二标定旋转增量与第三标定旋转增量是否小于-π,若小于将值增加π。
本说明书实施例不借助任何内参坐标转换,不需厂家技术支持,在机器人超声波传感器和单线激光雷达数据的配合下,直接通过点云进行平面点云、边缘激光点等简易特征识别标定,转换关系进行坐标变换,观察对应点云坐标变化,选出需要的点云坐标转换关系,并将转换关系固定到机器人坐标系中,实现对深度相机点云的标定通过直接对点云进行标定不需要进行内参运算,减少了内参转换运算当中出现的误差,提高了标定的效率。
具体地,在本说明书一个或多个实施例中,分别根据第一标定旋转增量、第二标定旋转增量与第三标定旋转增量,以及第一标定位移增量、第二标定位移增量与第三位移增量确定机器人坐标系与深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据相对角坐标关系与相对坐标关系实现深度相机的标定,具体包括以下步骤:
首先获取机器人坐标系与深度相机坐标系的相对坐标初始值与相对角坐标初始值(xb,yb,zb)和(rxb,ryb,rzb)。根据获取的第一标定位移增量、第二标定位移增量与第三位移增量对相对坐标初始值进行更新,从而获得机器人坐标系与深度相机坐标系之间的相对坐标关系。然后根据第一标定旋转量、第二标定旋转量与第三标定旋转量对相对角坐标初始值进行更新,从而获得机器人坐标系与深度相机坐标系之间的相对角坐标关系。通过相对坐标关系与相对角坐标关系,对深度相机进行标定。具体地,在本说明书某应用场景下的实施例中,判断第一标定旋转量、第二标定旋转量与第三标定旋转量以及第一标定位移增量、第二标定位移增量与第三位移增量是否大于3.14,如果大于则将值减去3.14。然后将相对坐标初始值与相对角坐标初始值加上对应的增量获得(xb+x1,yb+y1,zb+z2),(rxb+rx1,ryb+ry1,rzb+rz1),并将其分别作为当前机器人坐标系和深度相机坐标系的相对坐标关系及相对角坐标关系,将转换关系固定到机器人坐标系中,实现对深度相机点云的标定完成标定。
如图2所示,本说明书一个或多个实施例提供一种机器人深度相机的点云标定设备的内部结构示意图,由图2可知,设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量;
将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量;
获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量;
将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量;
分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
如图3所示,本说明书一个或多个实施例提供一种非易失性存储介质的内部结构示意图。由图3可知,一种非易失性存储介质,存储有计算机可执行指令,所述计算机可执行指令能够:
将机器人中的深度相机放置于预设地面观测环境中,控制与所述深度相机相对应的机器人坐标系和深度相机坐标系,分别进行第一旋转增量与第二旋转增量的步进迭代,以确定第一标定旋转增量与第二标定旋转增量;其中,所述第一旋转增量与所述第二旋转增量为垂直坐标轴的相对旋转增量;
将所述深度相机在第一标定旋转增量与第二标定旋转增量下进行第三旋转增量的步进迭代,以获取所述深度相机的第三标定旋转增量;
获取所述深度相机采集的各地面点云数据中垂直坐标的中值,以基于所述中值确定所述深度相机的第一标定位移增量;
将所述深度相机放置于预设目标观测环境中,以基于预置调整策略确定出所述深度相机的第二标定位移增量与第三标定位移增量;
分别基于所述第一标定旋转增量、所述第二标定旋转增量与所述第三标定旋转增量,以及所述第一标定位移增量、所述第二标定位移增量与所述第三位移增量确定所述机器人坐标系与所述深度相机坐标系之间的相对角坐标关系与相对坐标关系,以根据所述相对角坐标关系与相对坐标关系实现所述深度相机的标定。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
- 一种相机标定方法、装置、终端设备及存储介质
- 室内全景相机的空间标定方法、存储介质及电子设备
- 一种深度相机温度标定方法及装置、电子设备、存储介质
- 一种深度相机温度标定方法及装置、电子设备、存储介质