发明内容
本申请的一个目的是提供一种用于机器人的传感器的标定方法及设备,解决现有技术中需要提供额外的设备辅助以及需要环境的依赖,标定操作复杂以及效率低的问题。
根据本申请的一个方面,提供了一种用于机器人的传感器的标定方法,该方法包括:
获取机器人坐标系的信息,根据所述坐标系的信息确定基准传感器;
采集所述基准传感器的相对运动信息以及采集待标定的传感器的相对运动信息;
根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,根据所述外参进行标定所述待标定的传感器。
进一步地,根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,包括:
根据所述基准传感器的相对运动信息确定所述基准传感器在相邻时刻之间的第一运动增量,根据所述待标定的传感器的相对运动信息确定与所述基准传感器在相同的相邻时刻之间的第二运动增量;
根据所述第一运动增量和所述第二运动增量确定所述基准传感器与所述待标定的传感器之间的外参。
进一步地,所述相对运动信息包括采集任意时刻相对采集第一时刻的相对运动信息。
进一步地,根据所述基准传感器的相对运动信息确定所述基准传感器在相邻时刻之间的第一运动增量,包括:
根据所述基准传感器的相对运动信息以及所属传感器类型确定所述基准传感器在相邻时刻之间的第一运动增量。
进一步地,根据所述基准传感器的相对运动信息以及所属传感器类型确定所述基准传感器在相邻时刻之间的第一运动增量,包括:
当所属传感器类型为里程计时,则根据所述里程计的相对运动信息确定累加增量,根据所累加增量确定所述里程计在相邻时刻之间的第一运动增量;
当所属传感器类型为激光传感器时,则使用ICP累加所述激光传感器的相对运动信息或在已有地图下使用激光定位数据进行计算,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;
当所属传感器类型为相机时,则使用VO计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;
当所属传感器类型为深度相机时,则使用VO或ICP计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量。
进一步地,根据所述待标定的传感器的相对运动信息确定与所述基准传感器在相同的相邻时刻之间的第二运动增量,包括:
根据所述待标定的传感器的相对运动信息以及所属传感器类型确定与所述基准传感器在相同的相邻时刻之间的第二运动增量。
进一步地,根据所述第一运动增量和所述第二运动增量确定所述基准传感器与所述待标定的传感器之间的外参,包括:
根据所述第一运动增量以及所述第二运动增量构建优化方程,求解所述优化方程的最小二乘解,将所述最小二乘解作为所述基准传感器与所述待标定的传感器之间的外参。
根据本申请又一个方面,还提供了一种用于机器人的传感器的标定的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过获取机器人坐标系的信息,根据所述坐标系的信息确定基准传感器;采集所述基准传感器的相对运动信息以及采集待标定的传感器的相对运动信息;根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,根据所述外参进行标定所述待标定的传感器。从而不需要提供额外的设备辅助,也不需要环境的依赖,在机器人运动过程中就可以对传感器的数据采集并标定,大大提高效率,非常便捷的操作就可以达到标定的目的。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图3示出根据本申请的一个方面提供一种用于机器人的传感器的标定方法的流程示意图,该方法包括:步骤S11~步骤S13,其中,步骤S11,获取机器人坐标系的信息,根据所述坐标系的信息确定基准传感器;步骤S12,采集所述基准传感器的相对运动信息以及采集待标定的传感器的相对运动信息;步骤S13,根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,根据所述外参进行标定所述待标定的传感器。从而不需要提供额外的设备辅助,也不需要环境的依赖,在机器人运动过程中就可以对传感器的数据采集并标定,大大提高效率,非常便捷的操作就可以达到标定的目的。
具体地,在步骤S11中,获取机器人坐标系的信息,根据所述坐标系的信息确定基准传感器;在此,先确定机器人世界坐标系,该世界坐标系是以某个传感器坐标系确定的,比如是激光传感器坐标系,则获取到该信息,从而确定出基准传感器为激光传感器。
具体地,在步骤S12中,采集所述基准传感器的相对运动信息以及采集待标定的传感器的相对运动信息;在此,确定出基准传感器后,利用该基准传感器对待标定的传感器进行标定,具体的是先采集到基准传感器的相对运动信息以及待标定的传感器的相对运动信息。其中,所述相对运动信息包括采集任意时刻相对采集第一时刻的相对运动信息。即传感器的相对运动信息是采集任意时刻k相对采集第一时刻0的相对运动信息,运动信息为机器人在世界坐标系下的某时刻的位姿。
具体地,在步骤S13中,根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,根据所述外参进行标定所述待标定的传感器。在此,利用得到的两个传感器的相对信息确定该两个传感器之间的外参,即得到两个传感器之间的旋转平移变换,从而根据该外参对待标定的传感器进行标定。
在本申请一实施例中,在步骤S13中,可以根据所述基准传感器的相对运动信息确定所述基准传感器在相邻时刻之间的第一运动增量,根据所述待标定的传感器的相对运动信息确定与所述基准传感器在相同的相邻时刻之间的第二运动增量;根据所述第一运动增量和所述第二运动增量确定所述基准传感器与所述待标定的传感器之间的外参。在此,计算两个传感器在相邻时刻之间的运动增量,即计算基准传感器在时刻k到时刻k+1之间的运动增量,以及计算待标定的传感器也在时刻k到时刻k+1之间的运动增量,从而利用两个运动增量计算出两个传感器之间的外参。
接上述实施例,根据所述基准传感器的相对运动信息确定所述基准传感器在相邻时刻之间的第一运动增量时,可以根据所述基准传感器的相对运动信息以及所属传感器类型确定所述基准传感器在相邻时刻之间的第一运动增量。在此,基准传感器所属的传感器类型不同时可以使用不同的计算运动增量的方式,具体的,当所属传感器类型为里程计时,则根据所述里程计的相对运动信息确定累加增量,根据所累加增量确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为激光传感器时,则使用ICP(IterativeClosest Point,迭代最近点)累加所述激光传感器的相对运动信息或在已有地图下使用激光定位数据进行计算,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为相机时,则使用VO计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为深度相机时,则使用VO或ICP计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量。在此,对于里程计可以使用里程计累加增量直接求解到运动增量,对于激光传感器,比如激光雷达,可以使用ICP累加或者在已知地图的情况下直接使用激光定位数据计算运动增量,对于相机可以使用VO(Visual odometry,视觉里程计)计算增量运动,对于深度相机,可以使用ICP或者VO计算增量;对于传感器的相对运动可以以任何的形式进行求解。
在本申请一实施例中,根据所述待标定的传感器的相对运动信息确定与所述基准传感器在相同的相邻时刻之间的第二运动增量,可以根据所述待标定的传感器的相对运动信息以及所属传感器类型确定与所述基准传感器在相同的相邻时刻之间的第二运动增量。在此,待标定的传感器所属的传感器类型不同时可以使用不同的计算运动增量的方式,与基准传感器的运动增量计算方式相同,当待标定的传感器所属传感器类型为里程计时,则根据所述里程计的相对运动信息确定累加增量,根据所累加增量确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为激光传感器时,则使用ICP(IterativeClosest Point,迭代最近点)累加所述激光传感器的相对运动信息或在已有地图下使用激光定位数据进行计算,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为相机时,则使用VO计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量;当所属传感器类型为深度相机时,则使用VO或ICP计算所述里程计的相对运动信息的增量,根据计算结果确定所述里程计在相邻时刻之间的第一运动增量。在此,对于里程计可以使用里程计累加增量直接求解到运动增量,对于激光传感器,比如激光雷达,可以使用ICP累加或者在已知地图的情况下直接使用激光定位数据计算运动增量,对于相机可以使用VO(Visual odometry,视觉里程计)计算增量运动,对于深度相机,可以使用ICP或者VO计算增量;对于传感器的相对运动可以以任何的形式进行求解。
在本申请一实施例中,在步骤S13中,根据所述第一运动增量以及所述第二运动增量构建优化方程,求解所述优化方程的最小二乘解,将所述最小二乘解作为所述基准传感器与所述待标定的传感器之间的外参。在此,得到第一运动增量以及第二运动增量后,根据两个运动增量构建出优化方程,该优化方程为最小二乘方程,求解出该优化方程的最小二乘解,则可以得到两个传感器的外参。如图4所示,reference为传感器标定基准,sensor为需要标定外参的传感器,比如雷达和相机的外参标定,世界坐标系(word)为雷达坐标系,则可以以雷达作为基准传感器而相机作为需要标定外参的传感器,
为k时刻reference传感器在世界坐标系下的位姿,
为reference传感器在k时刻到k+1时刻的运动增量,
为需要标定的外参。对于sensor的相对运动增量:
其中,
为sensor传感器在k时刻到k+1时刻的运动增量,
为k+1时刻sensor传感器在世界坐标系下的位姿,
为k时刻sensor传感器在世界坐标系下的位姿的逆。
对于reference的运动增量:
从而得到:
因此,得到构建优化方程:
得到该优化方程的最小二乘解,该最小二乘解为两个传感器之间的外参。从而根据采集到的两个传感器的多组相关运动信息得到两个传感器之间的外参。从而不需要提供额外的设备辅助,也不需要环境的依赖,在机器人运动过程中就可以对传感器的数据采集并标定,操作便捷以及大大提高了效率。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种用于机器人的传感器的标定的方法。
在本申请一实施例中,还提供了一种用于机器人的传感器的标定的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
获取机器人坐标系的信息,根据所述坐标系的信息确定基准传感器;
采集所述基准传感器的相对运动信息以及采集待标定的传感器的相对运动信息;
根据所述基准传感器的相对运动信息以及所述待标定的传感器的相对运动信息确定两个传感器之间的外参,根据所述外参进行标定所述待标定的传感器。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。