CN115619860A - 基于图像信息的激光定位方法及机器人 - Google Patents

基于图像信息的激光定位方法及机器人 Download PDF

Info

Publication number
CN115619860A
CN115619860A CN202211119924.4A CN202211119924A CN115619860A CN 115619860 A CN115619860 A CN 115619860A CN 202211119924 A CN202211119924 A CN 202211119924A CN 115619860 A CN115619860 A CN 115619860A
Authority
CN
China
Prior art keywords
frame image
robot
line laser
current
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211119924.4A
Other languages
English (en)
Inventor
王悦林
赖钦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Amicro Semiconductor Co Ltd
Original Assignee
Zhuhai Amicro Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Amicro Semiconductor Co Ltd filed Critical Zhuhai Amicro Semiconductor Co Ltd
Priority to CN202211119924.4A priority Critical patent/CN115619860A/zh
Publication of CN115619860A publication Critical patent/CN115619860A/zh
Priority to PCT/CN2023/112380 priority patent/WO2024055788A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明公开基于图像信息的激光定位方法及机器人,激光定位方法的执行主体是装配有结构光模组的机器人,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;所述激光定位方法包括机器人控制摄像头采集线激光发射器发射的线激光在待测物体表面反射回的光线的图像,并检测摄像头采集的图像的亮暗类型;当机器人检测到摄像头采集的当前帧图像是亮帧图像时,机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置,当机器人检测到摄像头采集的当前帧图像是暗帧图像时,机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置。

Description

基于图像信息的激光定位方法及机器人
技术领域
本发明涉及激光数据处理的技术领域,尤其涉及基于图像信息的激光定位方法及机器人。
背景技术
结构光模组泛指任何包含线激光发射器和摄像头模组的激光模组。在结构光模组中,线激光发射器用于向外发射线激光。其中,线激光发射器发射出去的线激光可以位于机器人的前方;摄像头模组可以采集环境图像,也可以接收线激光打到物体上返回来的反射光,其中,线激光发射器发射出去的线激光位于摄像头模组的视场范围内;线激光可帮助探测机器人的行进方向上的物体的轮廓、高度和/或宽度等信息,统称为激光的位置信息;其中,用于采集线激光的摄像头一般是设置有红外带通滤光片或红外高通滤光片,原因在于,线激光发射器发射红外光至物体表面后,若摄像头模组准确地检测线激光在成像平面的位置,则摄像头本身不仅需要对线激光在物体表面反射回的红外光波段敏感,还对可见光等波段的光线敏感。
摄像头模组采用前述的红外带通滤光片或红外高通滤光片对线激光发射器发射的激光在障碍物表面的反射光进行过滤,具体是透射过激光中携带的红外波段,并对其他波段环境光进行吸收或反射,以将所述反射光携带的红外光线与其它干扰环境光分离开,然而在过滤掉非红外光波段的同时,也丢失了大量的环境信息,所述结构光模组配套使用的红外带通滤光片或红外高通滤光片的造价较高,在环境光强较大的情况容易引入干扰,产生的干扰点较多。
发明内容
为了解决上述技术问题,本发明在摄像头不装配红外滤光片的条件下,公开基于图像信息的激光定位方法及机器人,以期接收到线激光发射器发射的红外光线在障碍物的表面反射回来的光线,实现机器人对激光在障碍物表面的反射光线的跟踪。具体的技术方案如下:
基于图像信息的激光定位方法,激光定位方法的执行主体是装配有结构光模组的机器人,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;所述激光定位方法包括:机器人控制摄像头采集线激光发射器发射的线激光在待测物体表面反射回的光线的图像,并检测摄像头采集的图像的亮暗类型;当机器人检测到摄像头采集的当前帧图像是亮帧图像时,机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标;当机器人检测到摄像头采集的当前帧图像是暗帧图像时,机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标。
进一步地,所述机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置的方法包括:步骤1、机器人逐列遍历所述当前帧图像,并在所述当前帧图像的对应列中获取初始像素位置,同时根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点,其中,线激光位置用于表示所述线激光在待测物体表面的反射位置;步骤2、除了不存在线激光位置的像素点所在列之外,在所述当前帧图像的当前列中,机器人将当前列存在的初始像素位置设置为搜索中心,再从搜索中心开始沿着当前列向上搜索一个搜索半径内的像素点,并从搜索中心开始沿着当前列向下搜索一个搜索半径内的像素点;然后根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列中的凸包中心像素点以更新上一次在当前帧图像的当前列中确定的凸包中心像素点;其中,参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像;每当当前列中的搜索中心被更新一次,则当前列中设置出的凸包中心像素点也被更新一次;步骤3、根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,从已经筛选出的凸包中心像素点当中剔除干扰点;在机器人遍历完所述当前帧图像内所有列像素点当中的凸包中心像素点以剔除所有干扰点后,将剩余的凸包中心像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,则机器人在所述当前帧图像内搜索出每一列中确定出的线激光位置,以连接出线激光发射器发射的线激光在待测物体的表面形成的激光线段,并确定机器人已经通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置;其中,同一列中确定出的线激光位置是在机器人遍历完同一列内所有像素点后,由同一列内最后更新出的凸包中心像素点所在的位置,一个线激光位置的坐标使用对应的定位坐标表示。
进一步地,在所述步骤2中,每当针对一个搜索中心筛选出一个凸包中心像素点,则将从所述搜索中心开始沿着当前列向上或向下搜索到的相邻一个像素点更新为所述搜索中心,再重新执行步骤2,获得一个新的凸包中心像素点并将新的凸包中心像素点更新为凸包中心像素点;每个所述搜索中心相对于所述初始像素位置都在一个搜索半径的覆盖区域内,其中,所述搜索半径设置为第一预设像素距离;所述已筛选出的凸包中心像素点是所述当前帧图像内存在凸包中心像素点的每一列当中,最后更新出的凸包中心像素点;所述已筛选出的凸包中心像素点是所述当前帧图像内存在凸包中心像素点的每一列当中偏离所述当前帧图像的坐标系的原点最近的一个凸包中心像素点;机器人将当前帧图像的当前列上的符合凸包特征的像素点的集合设置为亮度值从凸包中心开始沿着当前列分别向上下两侧递减的像素点、以及凸包中心组成的像素点集合以形成一个凸包,凸包中心是该像素点集合内亮度值最大的像素点,并将凸包中心像素点设置为属于凸包中心处的像素点;在符合凸包特征的像素点的集合内,从凸包中心开始沿着同一列向上的方向上,像素点的亮度值沿着当前列向上递减并在相邻两个像素点的亮度值之间产生第一梯度值,并且,从凸包中心开始沿着同一列向下的方向上,像素点的亮度值沿着当前列向下递减并在相邻两个像素点的亮度值之间产生第二梯度值,以使得凸包中心属于所述搜索中心。
进一步地,在所述步骤2中,所述根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出凸包中心像素点的方法包括:在所述当前帧图像的当前列中,控制所述搜索中心的亮度值与上一次搜索到的位于同一列的凸包中心像素点的亮度值进行比较;所述上一次搜索到的位于同一列的凸包中心像素点是针对上一次确定的搜索中心来在当前帧图像的同一列中筛选出的凸包中心像素点,上一次确定的搜索中心是与当前确定的搜索中心在所述当前帧图像的当前列向下或向上相邻的一个像素点,当前帧图像的同一列像素点的列排序与所述当前帧图像的当前列的列排序相等;若当前确定的所述搜索中心的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则在所述当前帧图像的当前列中,自所述搜索中心向上搜索像素点,并对所述亮度值按照所述第一梯度值递减的像素点进行计数,直至满足向上计数停止条件,再将亮度值按照所述第一梯度值递减的像素点的数量标记为向上梯度下降数量,并停止向上搜索像素点以待下一次更新所述搜索中心;并且,自所述搜索中心向下搜索像素点,并对所述亮度值按照所述第二梯度值递减的像素点进行计数,直至满足向下计数停止条件,再将亮度值按照所述第二梯度值递减的像素点的数量标记为向下梯度下降数量,并停止向下搜索像素点以待下一次更新所述搜索中心;当机器人判断到所述当前帧图像的当前列中计数出的向上梯度下降数量大于或等于上一次搜索到位于同一列的凸包中心像素点所需计数出的所述向上梯度下降数量、和/或判断到所述当前帧图像的当前列中计数出的向下梯度下降数量大于或等于上一次搜索到位于同一列的凸包中心像素点所需计数出的所述向下梯度下降数量时,机器人在当前帧图像的当前列所遍历的像素点当中,若检测到第一梯度值与第二梯度值都不等于第一预设梯度参数,且第一梯度值与第二梯度值的差值的绝对值小于第二预设梯度参数,且沿着当前列向上搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值,且沿着当前列向下搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值,则机器人将当前确定的搜索中心标记为凸包中心像素点;其中,第一预设梯度参数小于第二预设梯度参数。
进一步地,所述参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列中,向上搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心处的像素点的亮度值的差值的绝对值,其中,向上搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径;所述参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列,向下搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心处的像素点的亮度值的差值的绝对值,其中,向下搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径。
进一步地,针对当前确定的一个搜索中心,所述步骤2还包括:若所述搜索中心处的像素点的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则在当前帧图像的当前列中,自所述搜索中心向上搜索像素点,并且自所述搜索中心向下搜索像素点;若机器人在自所述搜索中心向上搜索的过程中检测到像素点的亮度值不是按照所述第一梯度值递减,则对预先设置的向上梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向上是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向上搜索像素点并确定达到向上计数停止条件,否则在所述向上梯度异常频数大于第一预设误差次数时,停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件;并且,在自所述搜索中心向下搜索的过程中检测到像素点的亮度值不是按照所述第二梯度值递减,则对预先设置的向下梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向下是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向下搜索像素点并确定达到向下计数停止条件,否则在所述向上梯度异常频数大于第二预设误差次数时,停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件;或者,机器人在自所述搜索中心向上搜索的过程中,沿着当前帧图像的当前列向上对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向上过曝数量,当机器人检测到向上过曝数量大于第三预设误差次数、和/或沿着当前帧图像的当前列向上计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件;并且机器人在自所述搜索中心向下搜索的过程中,沿着当前帧图像的当前列向下对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向下过曝数量,当机器人检测到向上过曝数量大于第四预设误差次数、和/或沿着当前帧图像的当前列向下计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件。
进一步地,在所述步骤3中,所述根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,从已经筛选出的凸包中心像素点当中剔除干扰点的方法包括:机器人遍历完所述当前帧图像的所有列的像素点并获取到每列中最新的凸包中心像素点,且保存线激光发射器发射的线激光在上一帧暗图像中的定位坐标的情况下,对于所述当前帧图像中的每个凸包中心像素点,在以线激光发射器发射的线激光在上一帧暗图像中的定位坐标所在位置为圆心,且半径为探测像素距离的圆域内,若机器人判断到该圆域内存在至少一个像素点的亮度值比所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点的亮度值大一个预设环境光亮度阈值,则机器人确定所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点是干扰点,机器人在该干扰点处找不到线激光位置,并将该干扰点从所述当前帧图像剔除。
进一步地,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:若所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或者所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第二预设亮度阈值,则从沿着所述当前帧图像的当前列向上距离所述当前帧图像的当前列中的初始像素位置一个参考像素距离的位置开始,沿着所述当前帧图像的当前列向下搜索像素点;若检测到当前搜索的一个像素点的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或检测到当前搜索的一个像素点的亮度值等于数值255,则对误差位置计数量计数一次,并确定当前搜索到的像素点是符合预设亮度分布特征的像素点;当机器人检测到误差位置计数量大于参考像素计数阈值时,确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,参考像素距离使用像素点的数量表示,以使参考像素计数阈值等于参考像素距离;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置。
进一步地,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心下方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第一待测像素点,然后计算第一待测像素点的亮度值的平均值,若第一待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第一待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,第一定位半径小于第二定位半径,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置;或者,以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心上方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第二待测像素点,然后计算第二待测像素点的亮度值的平均值,若第二待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第二待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,第一定位半径小于第二定位半径,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置。
进一步地,所述初始像素位置是在机器人的前方无障碍物的情况下,线激光发射器发射的线激光在机器人的行进平面反射回摄像头的视场范围后,形成于摄像头采集的图像中的原始像素点的位置;每个原始像素点是对应机器人的行进平面上的一个反射位置,用于表示同一帧图像的各列中用于搜索所述线激光位置的搜索起点;参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像,其中,机器人最新找到的线激光位置是来源于参考帧图像对应列中设置出凸包中心像素点。
进一步地,在所述步骤1中,若在所述当前帧图像的当前列中无法获取到初始像素位置,则将上一轮找到的位于同一列的线激光位置更新为所述初始像素位置,并将第二预设像素距离更新为搜索半径,再重复执行所述步骤2以搜索出对应列中的凸包中心像素点;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置或第一帧亮帧图像的同一列像素点中的初始像素位置;若机器人在重复执行所述步骤2的过程中,在同一列内始终搜索不出凸包中心像素点,则确定机器人在同一列内找不到线激光位置。
进一步地,所述机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置的方法包括:机器人逐列遍历所述当前帧图像;机器人依次搜索当前列的各个像素点,并根据当前帧图像的当前列内当前搜索出的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点;然后在当前帧图像的当前列中,将位置相邻接的至少两个合法像素点连接形成定位线段;当连接完位置相邻接的所有合法像素点后,选择出长度最大的定位线段;若选择出的长度最大的定位线段的长度大于预设连续长度阈值,则将选择出的长度最大的定位线段设的中心设置为线激光位置。
进一步地,根据当前帧图像内当前搜索的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点的方法包括:将在所述当前帧图像内当前搜索的像素点的亮度值减去上一帧亮帧图像的具有相同行列位置处的像素点的亮度值,获得暗帧图像相对差值;当检测到暗帧图像相对差值的相反数大于预设亮度差阈值,且上一帧亮帧图像的具有相同行列位置处的像素点的亮度值大于参考亮帧图像亮度阈值时,将在所述当前帧图像内当前搜索的像素点设置为所述合法像素点。
进一步地,摄像头采集所述线激光发射器发射的线激光在待测物体表面反射回的光线所形成的图像序列是配置为亮帧图像与暗帧图像依次交替产生,以使:摄像头采集的当前帧图像是亮帧图像时,摄像头采集的下一帧图像是暗帧图像;在摄像头采集当前帧亮帧图像与摄像头采集下一帧亮帧图像的时间间隔内,摄像头采集当前帧暗帧图像;在摄像头采集下一帧亮帧图像之后,摄像头采集下一帧暗帧图像;其中,执行所述激光定位方法的过程中,所述图像序列的第一帧图像是亮帧图像。
进一步地,所述激光定位方法还包括:当机器人检测到其所处的环境的光强大于第一预设光强阈值时,机器人降低摄像头的增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝;当机器人检测到其所处的环境的光强大于第一预设光强阈值时,机器人降低摄像头的曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝;当机器人检测到其所处的环境的光强小于第二预设光强阈值时,机器人提高摄像头的增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝;当机器人检测到其所处的环境的光强小于第二预设光强阈值时,机器人提高摄像头的曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝。
进一步地,当机器人检测到摄像头的当前曝光值大于第一预设曝光阈值时,调高线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积;当机器人检测到摄像头的当前曝光值小于第二预设曝光阈值时,调低线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积;其中,第一预设曝光阈值大于第二预设曝光阈值,摄像头的当前曝光值用于反映摄像头在当前光照亮度的环境内的曝光量;平滑系数用于平滑曝光值调整的步长,以便于机器人从所述当前帧图像中搜索出线激光位置。
一种机器人,该机器人的机体装配有结构光模组,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;机器人内部设置控制器,控制器与结构光模组电性连接,控制器被配置为执行所述激光定位方法,以获得所述线激光发射器发射的线激光在当前帧图像中的定位坐标;其中,线激光发射器发射出去的线激光位于摄像头的视场范围内。
进一步地,所述摄像头的水平视角被配置为在机器人的前方接收所述线激光在机体宽度范围内反射回的光线;和/或结构光模组在机器人的机体上的安装高度被配置为与待测的障碍物的高度成正相关关系,以使得待测的障碍物占据所述摄像头的有效视场空间。
进一步地,所述摄像头的上视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光形成的平面的底部;所述摄像头的下视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光在机器人的机体前方的障碍物表面反射回的光线;和/或所述摄像头相对于机器人的中轴线偏转形成的航向角保持在预设误差角度范围内,以使得摄像头的光轴与机器人的行进方向平行,且让摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线;和/或所述摄像头沿着其光轴转动产生的翻滚角保持在预设误差角度范围内,以使摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线,其中,所述摄像头是可转动装配地在机器人的机体上。
进一步地,若所述摄像头与所述线激光模块之间的安装距离越大,则在所述摄像头采集的图像中,用于表示所述线激光在障碍物的表面的反射位置的像素点相对于摄像头的中心的坐标偏移量增大。
进一步地,线激光发射器的发射角度和摄像头的接收角度被设置为:线激光发射器发射线激光至机体的前方的预设探测位置处,线激光在预设探测位置处反射回所述摄像头,其中,线激光在预设探测位置处形成的激光线段的长度大于机器人的机体宽度;每当机器人沿着由当前位置指向所述预设探测位置的方向行走预设行进距离时,预设探测位置与机器人之间的水平距离变小,摄像头采集的图像中的用于表示所述线激光在所述预设探测位置中的同一反射位置的像素点相对于摄像头的中心的坐标偏移量增大。
本发明的技术效果在于:在执行所述激光定位方法以对线激光的反射光线的图像进行跟踪的过程中,无需使用红外滤光片过滤环境光,为采集的图像中保留下红外和可见光波段的全部细节,便于机器人从当前帧图像中搜索出线激光在摄像头的成像平面内形成的像素点关联的位置信息,包括分别在亮帧图像和暗帧图像中采取相适应的算法(比如像素点匹配类算法、像素点搜索类算法)提取出线激光位置,以实现激光定位,进而可用于地图导航定位和用于识别障碍物的深度学习。
当机器人检测到摄像头采集的当前帧图像是亮帧图像时,选择将当前帧图像输入帧间追踪算法对应的处理规则模型中以输出有效的激光位置,在摄像头距离障碍物不过近的场景中有效过滤掉各种环境光干扰,减少对红外滤光片的依赖;具体会在符合凸包特征的像素点中,基于向上搜索的像素点当中产生的亮度值梯度与向下搜索的像素点当中产生的亮度值梯度之间的数值关系及其在相邻两次确定的搜索中心对应的搜索状态下的差异、当前搜索的像素点的亮度值与上一次在同一帧图像的同一列确定出的凸包中心像素点的亮度值之间的关系、及当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列的凸包中心像素点,并在当前列内遍历完相对于初始像素位置的搜索半径内的每个像素点并更新凸包中心像素点,并排除不存在线激光位置的像素点的干扰后,确定出当前列最终的凸包像素点,能够在环境光较强的情况下减少干扰点误判现象,从而以跟踪参考帧图像的符合凸包特征的像素点的数量及亮度值的方式来搜索出更加准确的凸包中心像素点,进而中剔除所有干扰点后,将剩余的凸包中心像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,较为准确地实现机器人对激光在障碍物表面的反射光线的跟踪,适用于机器人导航行走场景中,达到机器人定位障碍物的效果。另一方面,机器人检测到摄像头采集的当前帧图像是暗帧图像时,选择将当前帧图像输入亮度重心算法对应的处理规则模型中以输出连接长度合理的定位线段,在摄像头距离障碍物过近的场景中克服对于环境光干扰较为敏感的问题,对应地,防止机器人因为误判而撞上前方反射激光光线的障碍物。因此,本发明通过结合帧间追踪算法和亮度重心算法来在各种环境光强场景内取长补短,实现在先后交替产生的用于反映线激光的反射光线的亮帧图像和暗帧图像当中完成激光定位。
并且,本发明还引入对摄像头的曝光值的动态调节方式,根据当前环境的状况来调节摄像头的增益和曝光时间,使得摄像头中看到的图像不出现过曝或者欠曝的情况;在此基础上,根据调整后的摄像头增益和曝光时间,对线激光发射器的用于发射线激光的功率档位进行调节,实现在高亮度环境下使用较强的线激光发射功率挡位,使得障碍物在环境光较亮的情况下也能够看的到线激光,且图像不会过曝(比如,室外强环境光下,线激光在白色障碍物反射回摄像头后,降低摄像头的增益或曝光时间),避免由于环境过亮而导致摄像头采集的图像出现过曝,从而找到更加准确的线激光位置;在低亮度环境下使用较弱的线激光发射功率挡位,使得障碍物图像在环境光较暗的情况下过曝没那么强烈,从而不产生更多的反射干扰,便于更准确的线激光位置(对应为凸包中心)。
附图说明
图1是本发明的一实施例公开基于图像信息的激光定位方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
本发明实施例公开基于图像信息的激光定位方法,具体针对激光光线在待测表面的反射位置进行定位,而且是基于摄像头采集的相关两帧图像内的像素点的亮度值的变化(对应为环境光强度的变化)自适应地筛选出具有代表性的激光线位置信息,克服环境光的干扰,以提高障碍物检测精度和机器人的避障效率。本发明实施例公开的激光定位方法的执行主体是依靠结构光导航定位的机器人,该机器人装配有结构光模组,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;线激光发射器发射出去的线激光位于摄像头的视场范围内,该线激光传感器发射出的线激光可以投射到障碍物的表面,摄像头的视场范围覆盖障碍物的全部或部分轮廓,一般导航定位场景下,机器人在室内外移动过程中,可以通过设置在该机器人上的结构光模组检测机器人的行进方向的前方是否存在障碍物,当机器人行走向障碍物的过程中,通过执行所述激光定位方法来对障碍物表面的反射位置的检测精度施加影响,从而提高定位和避障精度。
需要说明的是,本申请实施例使用的结构光模组泛指任何包含线激光发射器和摄像头的传感器模组。在结构光模组中,线激光发射器用于向外发射线激光。其中,线激光发射器发射出去的线激光可以位于机器人的前方的有效探测区域内,摄像头可以依次采集各种环境光条件下的多帧图像,包括红外光的成像信息和可见光的成像信息,其中,可见光的成像信息可以直接用于构建地图和对地图中的障碍物的位置进行标记。在本实施例中主要是以接收线激光打到待测物体上返回来的反射光的图像为主,需要克服不同波段的环境光的干扰,线激光发射器发射出去的线激光位于摄像头的视场范围内并在待测物体的表面或水平地面上形成激光线段,线激光可帮助探测机器人的行进方向上的物体的轮廓、高度和/或宽度等信息,本实施例主要是提取物体的高度信息为主,适应帧间追踪算法的需求。相对于基于图像传感器的感知方案,线激光发射器能够为摄像头提供更为准确的像素点高度和方向信息,可降低感知运算的复杂度,提高实时性。
具体地,所述结构光模组的工作原理是:线激光发射器向外发射线激光,发射出的线激光在到达障碍物表面后,一部分反射回来并经摄像头中的光学成像系统形成图像上的像素点。而由于物体表面到返回点的距离不同,其反射光飞行时间不同,通过对反射光飞行时间的测量,每个像素点就可获得独立的距离信息和方向信息,进而使用三角换算关系获得高度信息和宽度信息,并标记为图像上的像素点的坐标信息,总称为位置信息。在机器人行进过程中,一方面可控制结构光模组中的线激光发射器对外发射线激光,线激光遇到行进路径上的障碍物后会被反射回来,至少覆盖地面介质、以及地面上的低矮障碍物;另一方面控制结构光模组中的摄像头采集前方区域内的环境图像。在此期间,若线激光探测到的行进路径上的障碍物,会在物体表面形成激光线段,该激光线段可被摄像头采集,即摄像头采集到的图像中会包含由线激光发射器发射出去的线激光遇到物体后形成的激光线段。至于线激光在物体表面形成的激光线段与水平面之间的角度不做限定,例如可以平行或垂直于水平面,也可以与水平面之间成任意角度,具体可根据应用需求而定。其中,每条激光线段包含多个像素点,每个像素点对应障碍物表面上的一个点,大量环境图像中的激光线段上的像素点所代表的障碍物表面上的点可形成障碍物点云数据。这些障碍物点云数据所使用的坐标系可以是机器人所在坐标系,则机器人可根据摄像头所在图像坐标系与机器人所在坐标系之间的转换关系,将激光线段上的像素点坐标转换到机器人所在坐标系下,得到障碍物点云数据。或者,这些障碍物点云数据所使用的坐标系也可以是世界坐标系,则机器人可以根据摄像头所在坐标系、机器人所在坐标系以及世界坐标系之间的转换关系,将激光线段上的像素点坐标转换到机器人所在坐标系下,得到障碍物点云数据;障碍物点云数据可以包含但不限于点的三维坐标信息、颜色信息、反射强度信息等等。在得到障碍物点云数据之后,获得障碍物的高度信息和长宽信息,则基于障碍物点云数据可以识别障碍物的类型。在本申请实施例中,并不限定通过障碍物点云数据识别障碍物的类型及其占据的区域。例如,可以将障碍物点云数据输入到深度学习模型中,识别障碍物的类型。或者,也可以根据障碍物点云数据对障碍物进行描绘,得到障碍物点以及障碍物轮廓,根据障碍物轮廓确定障碍物的类型,也可以根据障碍物点的聚类分析、阈值过滤、以及置信度判断。
具体地,并不限定线激光发射器的实现形态,可以是任何能够发射线激光的设备/产品形态。例如,线激光发射器可以是但不限于激光管。同理,也不限定摄像头的实现形态,凡是可以采集环境图像的视觉类设备均适用于本申请实施例。例如,摄像头可以包括但不限于单目摄像头、双目摄像头等。在本申请实施例中,可以限定线激光发射器发射线激光的波长是红外光线的波长,例如可以是红外激光,在实施所述激光定位方法的过程中,摄像头可以在镜头不装配滤光片(比如红外滤光片)的前提下接收线激光发射器发射的线激光的各种波长的光线;当然,在一些实施例中,对线激光发射器的安装位置、安装角度等,以及线激光发射器与摄像头模组之间的安装位置关系等均不做限定。在本申请实施例中,也不限定线激光发射器的数量,例如可以是一个,也可以是两个或者两个以上。同理,也不限定摄像头的数量,例如可以是一个,也可以是两个或两个以上。
在一些实施例中,所述摄像头的视场角包括垂直视场角和水平视场角。在本实施例中,可以根据应用需求来选择具有合适视场角的摄像头,只要线激光发射器发射出去的线激光位于摄像头的视场范围内即可,至于线激光在物体表面形成的激光线段与水平面之间的角度不做限定,例如可以平行或垂直于水平面,也可以与水平面之间成任意角度,具体可根据应用需求而定。
在一些实施例中,线激光发射器和摄像头组成的结构光模组的安装高度需要针对待检测障碍物的大小确定,若结构光模组在机器人中的安装高度越高,则在机器人的前方覆盖到的纵向空间越大,会让体型较小的障碍物的检测精度变差;若结构光模组在机器人中的安装高度越低,则在机器人的前方覆盖到的纵向空间越小,会让体型较小的障碍物的检测精度得到提高。优选地,线激光发射器安装在不设置红外滤光片的摄像头的上方,线激光发射器的中心线与摄像头的中心线相交于一点。
参阅图1可知,本发明公开基于图像信息的激光定位方法包括:机器人控制摄像头采集线激光发射器发射的线激光在待测物体表面反射回的光线的图像,并检测摄像头采集的图像的亮暗类型,具体是区分出亮帧图像还是暗帧图像,即机器人检测摄像头依次采集的每帧图像是亮帧图像还是暗帧图像;在一些实施例中,机器人在往既定目标位置行进的过程中,控制线激光发射器发射线激光,并控制摄像头采集线激光在待测物体表面反射回的光线的图像,所述结构光模组按照一定的方式工作,线激光发射器按照预设调制周期和发射功率档位对外发射线激光;摄像头周期性进行图像采集,得到一组图像序列,一组图像序列包括至少一帧图像的数据,每帧图像包含线激光打到物体表面或地面上形成的激光线段,一条激光线段包含多个坐标数据,大量环境图像中的激光线段上的坐标数据可形成点云数据。
具体地,检测摄像头采集的图像是亮帧图像还是暗帧图像的方法包括:控制线激光发射器按照预设调制周期射出的线激光,当线激光是属于红外激光调制信号时,红外激光调制信号在第一调制子周期输出第一电平(对应于逻辑高电平),经过待测物体反射后,被摄像头采集后形成亮帧图像;红外激光调制信号在第一调制子周期输出第二电平(对应于逻辑低电平),经过待测物体反射后,被摄像头采集后形成暗帧图像;则一个采样周期内反映到摄像头的成像平面依次为一帧亮帧图像和一帧暗帧图像,机器人会在从摄像头取到的图像中,针对每帧图像设置一个图像结构体(图像数据的结构体信息),再缓存起来并对应标记上线激光的亮暗属性,其中,每一帧图像都可以保存为上一帧图像以备跟踪匹配使用。在机器人的配置作用下,线激光发射器发射的线激光在待测物体表面反射回的光线在摄像头的成像平面内形成的图像序列是配置为亮帧图像与暗帧图像依次交替产生,以使:摄像头采集的当前帧图像是亮帧图像时,摄像头采集的下一帧图像是暗帧图像;在摄像头采集当前帧亮帧图像与摄像头采集下一帧亮帧图像的时间间隔内,摄像头采集当前帧暗帧图像,该时间间隔等于是摄像头的一个采样周期;在摄像头采集下一帧亮帧图像之后,摄像头采集下一帧暗帧图像。其中,执行所述激光定位方法的过程中,摄像头采集的由所述线激光在待测物体表面反射回的光线的第一帧图像是亮帧图像,记为线激光发射器发出线激光后被采集的第一帧图像,也可以记为第一帧亮帧图像;然后摄像头采集的由所述线激光在待测物体表面反射回的光线的第二帧图像是暗帧图像,记为线激光发射器发出线激光后的第二帧图像,也可以记为第一帧暗帧图像;接着,摄像头采集的由所述线激光在待测物体表面反射回的光线的第三帧图像是亮帧图像,记为线激光发射器发出线激光后的第三帧图像,也可以记为第二帧亮帧图像,然后摄像头采集的下一帧图像是暗帧图像,则机器人基于上述交替产生的方式从摄像头采集的一组图像序列中,按照摄像头的采样周期依次对亮帧图像和暗帧图像进行区分和标记。
优选地,区分亮帧图像和暗帧图像,可以依据图像的平均灰度值来实现的。具体地,每采集一帧图像,则先遍历完该帧图像的所有像素点,累加求取所有像素点的亮度值总和,再求取亮度值总和与像素点个数的商值,作为该帧图像的平均亮度值。当机器人检测到该帧图像内存在预设阈值数量的像素点的亮度值都大于平均亮度值时,将该帧图像设置为亮帧图像,可以用于环境光较强的定位场景中搜索所述符合最佳凸包条件的像素点,允许摄像头的曝光量提高;当机器人检测到该帧图像内存在预设阈值数量的像素点的亮度值都小于平均亮度值时,将该帧图像设置为暗帧图像,可以用于环境光较弱的定位场景中符合最佳凸包条件的像素点,允许摄像头的曝光量降低;提高所述激光定位方法对环境光强的适应性。其中,预设阈值数量是大于或等于该帧图像内所有像素点的个数。
当机器人检测到摄像头采集的当前帧图像是亮帧图像时,机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,以实现对所述线激光的像素位置的定位;其中,机器人将摄像头采集的每帧图像依次输入帧间追踪算法对应的处理规则模型中,输出对应帧亮帧图像内的线激光位置,以获得各个线激光位置连接成的激光线段,便于对待测物体的定位;输入帧间追踪算法对应的处理规则模型中的图像可划分为当前帧图像和上一帧图像、或当前帧图像和下一帧图像,可以使用上一帧亮帧图像与当前帧亮帧图像之间的匹配关系,和/或上一帧暗帧图像与当前帧亮帧图像之间的匹配关系,跟踪线激光的反射位置,在摄像头距离障碍物不过近的场景中有效过滤掉各种环境光干扰,尤其是强环境光的干扰,克服由摄像头与待测物体之间的距离变化引起的像素点纵向跳变的影响,趋于获得精度更高的线激光位置,减少对红外滤光片的依赖。
当机器人检测到摄像头采集的当前帧图像是暗帧图像时,机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,从而在交替执行帧间追踪算法和亮度重心算法的过程中实现对所述线激光的完整像素位置的定位;其中,机器人选择将每帧图像输入亮度重心算法对应的处理规则模型中,输出对应帧暗帧图像内有效的线激光位置,该有效的线激光位置是在采集到暗帧图像的时刻确定出的具有预测意义的线激光位置,以辅助对应帧亮帧图像内的线激光位置连接出相对准确的激光线段。由于机器人在执行帧间追踪算法的过程中只注重环境光强度变化的敏感性而忽略机器人相对于障碍物的距离,使得机器人在行走过程中容易碰撞上障碍物,所以在采集的当前帧图像由亮帧图像切换为暗帧图像后,机器人转而执行亮度重心算法,实现在摄像头距离障碍物过近的场景中,既可以注意到障碍物的存在,又及时识别出线激光的反射位置,防止机器人撞上前方障碍物,至于由于环境光干扰而产生的线激光位置的误判问题,则在采集的当前帧图像由暗帧图像切换为亮帧图像后,机器人通过执行帧间追踪算法来克服相应的误判问题。因此,本发明实施例通过切换执行帧间追踪算法和亮度重心算法来应对环境光强的干扰,增强机器人在各种行走环境内激光定位的稳定性,实现在先后交替产生的用于反映线激光的反射光线的亮帧图像和暗帧图像当中稳定地完成激光定位。
综上,在执行所述激光定位方法以对线激光的反射光线的图像进行跟踪的过程中,无需使用红外滤光片过滤环境光,为采集的图像中保留下红外和可见光波段的全部细节,便于机器人从当前帧图像中搜索出线激光在摄像头的成像平面内形成的像素点关联的位置信息,包括分别在亮帧图像和暗帧图像中采取相适应的算法(比如像素点匹配类算法、像素点搜索类算法),互补性地提取出各个线激光位置,以实现在各种环境光强场景下对远近不同的障碍物进行激光定位,机器人能够在各种行走环境内克服不同强度的环境光的干扰,进而可用于地图导航定位和用于识别障碍物的深度学习。
作为一种实施例,所述机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置的方法包括:
步骤1、机器人逐列遍历所述当前帧图像,并在所述当前帧图像的当前列中获取初始像素位置,一般地可以在所述当前帧图像的每列中分别获取一个初始像素位置,一个初始像素位置作为其所在列中用于搜索符合最佳凸包条件的像素点的搜索起点;需要说明的是,所述初始像素位置是在机器人的前方无障碍物(或摄像头的视场范围内障碍物)的情况下,线激光发射器发射的线激光在机器人的行进平面(一般为地面)反射回摄像头的视场范围后,形成于摄像头采集的图像中的原始像素点的位置,此时的线激光发射器或摄像头都已经经过校准处理;优选地,机器人的行进平面可以使用所述待测物体的表面来表示;每个原始像素点是对应机器人的行进平面上的一个反射位置,用于表示同一帧图像的各列中用于搜索所述线激光位置的搜索起点,同一帧图像内获得各个原始像素点都优选为位于同一行上,可以包括同一行的位置相邻的像素点。其中,所述待测物体可以是凸起于机器人的行进平面上的障碍物。
同时,根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点,以在当前帧图像中开始搜索符合凸包特征的像素点之前,排除强环境光干扰的像素点的干扰,其中,线激光位置用于表示机器人在当前帧图像中搜索到的所述线激光在待测物体表面的反射位置,在本实施例中,当前帧图像中不存在线激光位置的像素点是存在强环境光干扰的像素点。
步骤2、除了步骤1确定不存在线激光位置的像素点所在列之外,机器人依次遍历所述当前帧图像的相关列,具体是遍历存在初始像素位置的列内的像素点;在所述当前帧图像的当前列中,机器人将当前列存在的初始像素位置设置为搜索中心,再从搜索中心开始沿着当前列向上搜索一个搜索半径内的像素点,可选地,机器人从当前列存在的初始像素位置开始,将第一预设像素距离设置为搜索半径,分别沿着列方向向上和向下搜索符合凸包特征的像素点;其中,当前列是机器人当前遍历的一列,搜索半径同时适用于划定同一列的两个相反的列方向上的覆盖区域;同一列的两个相反的列方向包括从所述初始像素位置开始,沿着同一列向上搜索的方向和沿着同一列向下搜索的方向。然后针对当前确定的一个搜索中心,根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列中的凸包中心像素点,再将筛选出当前列中的凸包中心像素点更新掉上一次在当前帧图像的当前列中确定的凸包中心像素点;每当当前列中的搜索中心被更新一次,则当前列中设置出的凸包中心像素点也被更新一次,并在当前列内遍历完相对于初始像素位置的搜索半径内的每个像素点并更新凸包中心像素点,确定出当前列最终的凸包中心像素点。在一些实施例中,由于线激光多次反射的原因,会在当前帧图像的同一列上产生多个符合凸包特征的像素点,则会同时更新出两个或两个以上的凸包中心像素点,则最终在当前列内确定出两个或两个以上的凸包中心像素点,然后比较这些凸包中心像素点相对于当前帧图像的坐标系的原点的偏移量,选择纵坐标偏移量的绝对值最小的一个凸包中心像素点更新为最终在当前列内确定出的一个凸包中心像素点,若当前帧图像的坐标系的原点的纵坐标表示机器人的行进平面的纵坐标,则最终在当前列内确定出的一个凸包中心像素点是当前帧图像的当前列内偏离地面最近的一个凸包中心像素点。
其中,参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像;机器人最新找到的线激光位置是从对应列的所述凸包中心像素点当中筛选出来。向上搜索的像素点的亮度值与向下搜索的像素点的亮度值的差异可以延伸为向上搜索的像素点当中产生的亮度值梯度与向下搜索的像素点当中产生的亮度值梯度之间的数值关系,能够在相邻两次确定的搜索中心所对应的搜索状态下进行对比,有利于从搜索到的符合凸包特征的像素点中筛选出凸包中心像素点,而且针对于当前确定的一个搜索中心分别向上和向下搜索的亮度值、与同一列上一次确定的一个搜索中心分别向上和向下搜索的亮度值对比的结果;相邻两次确定的搜索中心分别是同一列内,当前确定的一个搜索中心和上一次确定的一个搜索中心,可以是从所述初始像素位置开始沿着当前列向上的方向上,先后两轮搜索所述搜索半径内的像素点、筛选并更新同一列的凸包中心像素点确定的相邻两个搜索中心;也可以是从所述初始像素位置开始沿着当前列向下的方向上,先后两轮搜索所述搜索半径内的像素点、筛选并更新同一列的凸包中心像素点确定的相邻两个搜索中心,其中一轮搜索对应一个搜索中心,更对应不同列的像素点区域内的一种搜索状态,搜索中心的更新范围处于相对于所述初始像素位置都在一个搜索半径的覆盖区域内,包括所述初始像素位置,以便于对同一列的凸包中心像素点进行更新,不断筛选出更加准确的凸包中心来表示线激光位置;所述帧间匹配关系包括两帧图像之间的像素点数量上的匹配、以及亮度值上的匹配,这两帧图像可以相邻两帧图像,也可以相隔一帧或多帧图像的两帧亮帧图像,具体涉及到的匹配可以是基于机器人行走过程中实时采集的图像当中用于表征所述线激光在障碍物的表面的同一反射位置的像素点的亮度值的变化和纵坐标的变化。
在此基础上,每当机器人按照步骤2从搜索中心开始沿着当前列向上遍历完一个搜索半径内的每个像素点并筛选和更新出所述凸包中心像素点,也从搜索中心开始沿着当前列向下遍历完一个搜索半径内的每个像素点并筛选和更新出所述凸包中心像素点,则机器人开始从当前帧图像的下一列的初始像素位置开始遍历的所述搜索半径内的像素点。
在步骤1中,所述当前帧图像是亮帧图像时,上一帧图像是暗帧图像,机器人将上一帧图像保存起来,若机器人已经在执行当前步骤1之前从上一帧图像中搜索出相应的线激光位置(包括对应列上的线激光位置、或所有列上的线激光位置),则将上一帧图像标记为参考帧图像;优选地,参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像,其中,机器人最新找到的线激光位置是来源于对应列的凸包中心像素点,具体在对应列中内,以所述初始像素位置为中心,对应列向上方向的一个搜索半径覆盖区域内以及对应列向下方向的一个搜索半径覆盖区域内,所有像素点依次被更新为所述搜索中心之后,由所述步骤2设置出新的凸包中心像素点。
步骤3、对于机器人已经筛选出的属于每列像素点当中的凸包中心像素点,机器人根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,先确定出属于干扰点的凸包中心像素点,再从已筛选出的凸包中心像素点当中剔除干扰点,可以是选择逐列遍历的方式剔除当前帧图像内存在的干扰点,以排除环境光的干扰。在机器人遍历完所述当前帧图像内所有列像素点当中的凸包中心像素点以剔除所有干扰点后,将剩余的凸包中心像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,则机器人在所述当前帧图像内搜索出每一列中确定出的线激光位置,以连接出线激光发射器发射的线激光在待测物体的表面形成的激光线段,并确定机器人已经通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置;其中,同一列中确定出的线激光位置是在机器人遍历完同一列内所有像素点后,由同一列内最后更新出的凸包中心像素点所在的位置,一个线激光位置的坐标使用对应的定位坐标表示。由于机器人在执行步骤1至3的过程中,对于当前帧图像都是采取逐列遍历的方式获取属于相应列上的线激光位置,所以在确定当前遍历的列序号后,对于每个线激光位置的坐标可以只选择纵坐标值表示,以识别出线激光在障碍物表面的反射位置的高度信息,也可用于机器人避障。
具体地,在所述步骤2中,除了不存在线激光位置的像素点所在列之外,机器人将所述步骤1在当前列中获取的初始像素位置设置为搜索中心,即前述实施例中的步骤2中的初始像素位置。每当针对一个搜索中心筛选出一个凸包中心像素点,则将从所述搜索中心开始沿着当前列向上或向下搜索到的相邻一个像素点更新为所述搜索中心,再重新执行步骤2,获得一个新的凸包中心像素点并将新的凸包中心像素点更新为凸包中心像素点;其中,每个所述搜索中心相对于所述初始像素位置都在一个搜索半径的覆盖区域内,搜索半径是设置为第一预设像素距离,优选地,第一预设像素距离小于所述当前帧图像所覆盖的最大像素距离,并处于摄像头的探测范围内,以局限在所述初始像素位置的附近搜索凸包中心像素点,凸包中心像素点在本实施例中是属于所述搜索半径的覆盖范围内的符合凸包特征的像素点,优选地,这里的凸包特征是用于表示线激光打在障碍物的表面形成的图形的特征,该图形的覆盖区域的像素点特征可以是该图形本身覆盖区域内的像素点的亮度值、或该图形的内切圆覆盖区域内的像素点的亮度值、或该图形的外接圆覆盖区域内的像素点的亮度值。值得注意的是,所述已筛选出的凸包中心像素点是所述当前帧图像内存在(能够搜索到)凸包中心像素点的每一列当中,最后更新出的凸包中心像素点;所述已筛选出的凸包中心像素点是所述当前帧图像内存在凸包中心像素点的每一列当中偏离所述当前帧图像的坐标系的原点最近的一个凸包中心像素点,优选地,所述当前帧图像内不一定在每一列内都更新出凸包中心像素点,则最后连成的激光线段不是连续,可以用于表示机器人行进地面的凸起障碍物。
在本实施例中,机器人将当前帧图像的当前列上的符合凸包特征的像素点的集合设置为亮度值从凸包中心开始沿着当前列分别向上下两侧递减的像素点、以及凸包中心组成的像素点集合以形成一个凸包,可以视为形成包围一条激光线段的图形,用于探测线激光的反射位置所在的障碍物表面的局部有效探测区域,凸包中心是该像素点集合内亮度值最大的像素点,并将凸包中心像素点设置为属于凸包中心处的像素点;在符合凸包特征的像素点的集合内,从凸包中心开始沿着同一列向上的方向上,像素点的亮度值沿着当前列向上递减并在相邻两个像素点的亮度值之间产生第一梯度值,并且,从凸包中心开始沿着同一列向下的方向上,像素点的亮度值沿着当前列向下递减并在相邻两个像素点的亮度值之间产生第二梯度值,以使得凸包中心属于所述搜索中心。其中,所述凸包中心的邻域内,存在至少一个像素点的亮度值是等于所述搜索中心的亮度值,因而,在符合凸包特征的像素点的集合内,从凸包中心开始,亮度值沿着当前列分别向上递减产生第一梯度值,亮度值沿着当前列分别向下递减产生第二梯度值,其中,从凸包中心开始向上递减的所需遍历过的像素距离可以小于或等于所述搜索半径,从凸包中心开始向下递减的所需遍历过的像素距离也可以小于或等于所述搜索半径,以在凸包内形成既定的亮度值梯度变化规律,若在同一凸包内遍历到的多个像素点的亮度值的变化规律不符合该既定的亮度值梯度变化规律。
优选地,所述搜索中心的亮度值为数值255,即图像的亮度值按照二值化方式划分出的最大灰度值(最大灰度等级)。需要说明的是,像素点的亮度用于表示照射在待测物体表面的光线的明暗程度,在使用灰度值表示其亮度值的情况下,若灰度值越高则图像越亮,则亮度值越大。图像二值化形成的灰度图只含亮度信息,不含色彩信息,就像黑白图片,亮度由暗到明,变化是连续的,因此要表示灰度图,就需要把亮度值量化,通常划分为0至255共256个级别,其中数值255在本实施例运用于表示一种亮度值,当灰度值的范围为0至255时,本实施例将像素点的亮度值的取值范围也表示为数值0至255,则摄像头采集的每帧图像可以视为转换为灰度图像,其中,亮度即灰度,灰度值越大,亮度值越大,其中数值0可以表示像素点最黑,数值255可以表示像素点最白。本实施例提及的像素点是一帧图像中不可再分割的单元,每帧图像都是由许许多多的像素点构成的,它是以一个单一颜色的小格存在,可以映射到栅格地图内的一个单元格(栅格),灰度图用一个字节的容量来存储一个像素点。
作为一种实施例,在所述步骤2中,对于每一帧图像的存在初始像素位置的每列,不存在线激光位置的像素点所在列除外,所述根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出凸包中心像素点的方法包括:
在所述当前帧图像的当前列中,机器人从所述搜索中心开始,沿着列方向向上或向下搜索所述符合凸包特征的像素点的过程中,控制所述搜索中心的亮度值与上一次搜索到的位于同一列的凸包中心像素点的亮度值进行比较,可以但不限于使用亮度值的差值判断二者的大小关系;所述上一次搜索到的位于同一列的凸包中心像素点是针对上一次确定的搜索中心来在当前帧图像的同一列中筛选出的凸包中心像素点,上一次确定的搜索中心是与当前确定的搜索中心在所述当前帧图像的当前列向下或向上相邻的一个像素点,进一步地,参考帧图像的同一列像素点的列排序与所述当前帧图像的当前列的列排序相等,参考帧图像的相同排序的一列当中的不一定具有相同的行排序的凸包中心像素点。
若机器人检测到所述搜索中心的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则在当前列中,自所述搜索中心向上搜索像素点,并计数所述亮度值按照所述第一梯度值递减的像素点的数量,即每当向上搜索到一个亮度值减小的像素点、且当前搜索到的像素点的亮度值相对于上一次搜索的像素点的亮度值(当前搜索到的像素点的下方的一个像素点的亮度值)减小一个所述第一梯度值,则对所述亮度值按照所述第一梯度值递减的像素点的数量加一计数一次,可以理解为在机器人沿着所述当前帧图像的当前列向上搜索符合凸包特征的像素点,直至满足向上计数停止条件。
优选地,所述第一梯度值随着搜索次数的变化而作适应性的变化,例如,当前搜索的像素点越靠近所述凸包的上边缘,则所述第一梯度值变得越大,在同一个凸包中,越靠近所述凸包的上边缘的像素点的亮度值减小的越剧烈,满足一种既定的亮度值梯度变化规律;满足向上计数停止条件时,停止计数所述亮度值按照所述第一梯度值递减的像素点的数量,此时机器人也停止沿着列方向继续向搜索像素点,再将亮度值按照所述第一梯度值递减的像素点的数量标记为向上梯度下降数量。
机器人还自所述搜索中心向下搜索像素点,并计数所述亮度值按照所述第二梯度值递减的像素点的数量,即每当向下搜索到一个亮度值减小的像素点、且当前搜索到的像素点的亮度值相对于上一次搜索的像素点的亮度值(当前搜索到的像素点的上方的一个像素点的亮度值)减小一个所述第二梯度值,则对所述亮度值按照所述第二梯度值递减的像素点的数量加一计数一次,可以理解为在机器人沿着所述当前帧图像的当前列向下搜索符合凸包特征的像素点,直至满足向下计数停止条件。
优选地,所述第二梯度值随着搜索次数的变化而作适应性的变化,例如,当前搜索的像素点越靠近所述凸包的下边缘,则所述第二梯度值变得越大,在同一个凸包中,越靠近所述凸包的下边缘的像素点的亮度值减小的越剧烈,满足一种既定的亮度值梯度变化规律;当满足向下计数停止条件时,停止计数所述亮度值按照所述第二梯度值递减的像素点的数量,再将亮度值按照所述第二梯度值递减的像素点的数量标记为向下梯度下降数量。
在确定停止沿着所述当前帧图像的当前列自所述搜索中心向上搜索和计数,且确定停止沿着所述当前帧图像的当前列自所述搜索中心向下搜索和计数后,当机器人判断到所述当前帧图像的当前列中计数出的向上梯度下降数量大于或等于参考帧图像的同一列(参考帧图像中参与比较的一列的列排序与所述当前帧图像的当前列的列排序相等,也可计为参考帧图像的当前列)中计数出的向上梯度下降数量、和/或判断到所述当前帧图像的当前列中计数出的向下梯度下降数量大于或等于参考帧图像的同一列(参考帧图像中参与比较的一列的列排序与所述当前帧图像的当前列的列排序相等,也可计为参考帧图像的当前列)中计数出的向下梯度下降数量时,表明机器人在靠近待测障碍物,且在这一过程中,用于表征障碍物的同一局部区域的符合凸包特征的像素点的数量相对于安装高度变大之前有所增加,则当前帧图像内所能搜索到的符合凸包特征的像素点的数量增多,机器人可以检测到障碍物的更多细节部分,虽然靠近障碍物后存在碰撞的风险,但当前帧图像切换为暗帧图像后或采集到下一帧图像(暗帧图像)后会切换为执行亮度重心算法以起到避障作用;在此基础上,在所述当前帧图像的当前列所遍历的像素点当中,若检测到第一梯度值与第二梯度值都不等于第一预设梯度参数,且第一梯度值与第二梯度值的差值的绝对值小于第二预设梯度参数,且沿着当前列向上搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值,且沿着当前列向下搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值,则机器人将当前确定的搜索中心标记为凸包中心像素点,并确定当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的匹配关系符合凸包内的像素点的位置在机器人行走过程中的变化预期。
具体地,所述参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列中,向上搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心的亮度值的差值的绝对值,其中,向上搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径。并且,所述参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列,向下搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心的亮度值的差值的绝对值,其中,向下搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径。
由于相反的两个方向上的亮度值最小的像素点的差值的绝对值在增大,所以确定用于表征所述线激光的同一反射位置的像素点在同一帧图像内相对于图像中心的像素偏移量(也可理解为图像坐标系内相对于坐标系原点的坐标偏移量)增加,进一步地确定机器人在靠近待测障碍物,且在这一过程中,用于表征障碍物的同一局部区域的像素点的数量相对于安装高度变大之前有所增加,则当前帧图像内所能搜索到的像素点的数量增多,机器人可以检测到障碍物的更多细节部分,则证明在当前帧图像的当前列搜索到的像素点当中的凸包中心像素点是相对准确表示所述线激光打在待测障碍物的表面的激光线段的一个点,直至遍历并更新同一帧图像的所有列的凸包中心像素点后,获得各列当中的线激光位置并连接或拟合为代表所述线激光的激光线段,以实现对激光线段所在的障碍物的定位,便于机器人及时避障。
需要说明的是,在执行步骤2的过程中,机器人先从搜索中心开始沿着当前帧图像的一列向上依次搜索像素点,直至沿着当前帧图像的一列向上搜索完一个搜索半径内的所有像素点,再从同一个搜索中心开始沿着当前帧图像的一列向下依次搜索像素点,直至沿着当前帧图像的一列向下搜索完一个搜索半径内的所有像素点。或者,机器人先从搜索中心开始沿着当前帧图像的一列向下依次搜索像素点,直至沿着当前帧图像的一列向下搜索完一个搜索半径内的所有像素点,再从同一个搜索中心开始沿着当前帧图像的一列向下依次搜索像素点,直至沿着当前帧图像的一列向上搜索完一个搜索半径内的所有像素点。
优选地,所述参考帧是执行所述激光定位方法的过程中,摄像头采集的由所述线激光在待测物体表面反射回的光线的第一帧图像时,所述参考帧图像的同一列像素点中的凸包中心像素点是位于参考帧图像的同一列中的初始像素位置时,参考帧图像的同一列中的初始像素位置是参考帧图像的同一列中的线激光位置,最能代表线激光打在待测物体表面上的激光线段的一点。其中,执行所述激光定位方法的过程中,摄像头采集的由所述线激光在待测物体表面反射回的光线的第一帧图像是亮帧图像,记为线激光发射器发出线激光后的第一帧图像,也可以记为第一帧亮帧图像。
需要说明的是,第一预设梯度参数小于第二预设梯度参数;第一预设梯度参数优选为数值0以避免在亮度值恒定不变的像素点区域(比如局部过曝区域,虽然其内部的像素点可能是凸包中心)选择出符合凸包特征的像素点;第二预设梯度参数优选为数值25以将用于表征障碍物的同一反射位置的像素点的坐标跳变控制在可控范围,避免引入亮度值剧烈变化的像素点,只注重于待测障碍物的有效探测区域;既可以减少搜索量和计算量,也能够提高检测精度。
针对当前确定的一个搜索中心,在上述实施例对应的步骤2中还包括,沿着列方向搜索像素点的停止条件(所述向上计数停止条件和所述向下计数停止条件),具体包括:
若所述搜索中心处的像素点的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则表明当前帧图像的当前列的所述搜索中心(一开始是所述初始像素位置)处的像素点的亮度值不等于上一次搜索到的合理的凸包中心处的亮度值,且随着机器人靠近障碍物,二者之间的亮度值的差值增大,其中,上一次搜索到的位于同一列的凸包中心像素点是针对上一次确定的搜索中心来在当前帧图像的同一列中筛选出的凸包中心像素点,上一次确定的搜索中心是与当前确定的搜索中心在所述当前帧图像的当前列向下或向上相邻的一个像素点。则机器人开始在当前帧图像的当前列中,自所述搜索中心向上搜索像素点,目的是自所述搜索中心向上搜索像素点,以期通过计数所述符合凸包特征的像素点来筛选出当前列中的凸包中心像素点;并且自所述搜索中心向下搜索像素点,目的是自所述搜索中心向下搜索像素点,以期通过计数所述符合凸包特征的像素点来筛选出当前列中的凸包中心像素点。具体地,在当前帧图像的当前列中,自所述搜索中心向上对亮度值按照所述第一梯度值递减的像素点进行计数,优选为从所述搜索中心开始,每沿着当前列向上搜索到一个符合凸包特征的像素点,则加一计数一次,获得亮度值按照所述第一梯度值递减的像素点的数量;并且在当前帧图像的当前列中,自所述搜索中心向下计数亮度值按照所述第二梯度值递减的像素点的数量,以实现从对应的初始像素位置开始分别沿着列方向向上和向下搜索符合凸包特征的像素点,优选为从所述搜索中心开始,每沿着当前列向下搜索到一个符合凸包特征的像素点,则加一计数一次,获得亮度值按照所述第二梯度值递减的像素点的数量。
在一些实施例中,若机器人在自所述搜索中心向上搜索的过程中检测到像素点的亮度值不是按照所述第一梯度值递减,则对预先设置的向上梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向上是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向上搜索像素点并确定达到向上计数停止条件,再通过执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向上搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;否则在所述向上梯度异常频数大于第一预设误差次数时,停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件,再继续执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向上搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;直至相对所述初始像素位置向上搜索完所述搜索半径内所覆盖的所有像素点。
在一些实施例中,在自所述搜索中心向下搜索的过程中检测到像素点的亮度值不是按照所述第二梯度值递减,则对预先设置的向下梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向下是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向下搜索像素点并确定达到向下计数停止条件,再按照步骤2中的所述根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向下搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;否则在所述向上梯度异常频数大于第二预设误差次数时,停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件,再按照步骤2中的所述根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向上搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点,直至相对所述初始像素位置向上搜索完所述搜索半径内所覆盖的所有像素点。
对于第一预设误差次数以及第二预设误差次数,需要补充的是,在所述搜索半径内搜索到的像素点在一定误差允许范围内不符合凸包特征,毕竟所述搜索中心不一定是凸包中心,则需要设置预设误差次数进行判断,其中,误差的来源在于机器人行走过程中采集到的同一发射角度的线激光在同一待测物体表面形成的反射位置会发生纵向跳变,体现为不同帧图像中用于表征同一反射位置的像素点沿着纵坐标轴向上偏移。因此,若机器人在自所述搜索中心向上计数的过程中检测到像素点的亮度值不是按照所述第一梯度值递减、和/或在自所述搜索中心向下计数的过程中检测到像素点的亮度值不是按照所述第二梯度值递减,则确定沿着其中一个列方向搜索到的相邻两个像素点之间的梯度值出现异常,并对预先设置的梯度异常计数量计数一次;当机器人检测到所述梯度异常频数大于预设误差次数、和/或计数完所述搜索半径内所覆盖的像素点时,机器人停止计数,并停止搜索符合凸包特征的像素点。
在一些实施例中,机器人在自所述搜索中心向上搜索的过程中,沿着当前帧图像的当前列向上对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向上过曝数量,形成向上方向中的搜索中心处的像素点连续为255的亮度值的过曝区域的计数量。然后机器人判断其沿着当前帧图像的当前列向上是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向上搜索像素点并确定达到向上计数停止条件,再通过执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向上搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;否则在机器人检测到向上过曝数量大于第三预设误差次数时,停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件,再继续执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向上搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;直至相对所述初始像素位置向上搜索完所述搜索半径内所覆盖的所有像素点。实现:当机器人检测到向上过曝数量大于第三预设误差次数、和/或沿着当前帧图像的当前列向上计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件。
在一些实施例中,机器人在自所述搜索中心向下搜索的过程中,沿着当前帧图像的当前列向下对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向下过曝数量,形成向下方向上的搜索中心处的像素点连续为255的亮度值的过曝区域的计数量。然后机器人判断其沿着当前帧图像的当前列向下是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向下搜索像素点并确定达到向下计数停止条件,再通过执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向下搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;否则在机器人检测到向下过曝数量大于第四预设误差次数时,停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件,再继续执行步骤2筛选出凸包中心像素点,然后开始将从所述搜索中心开始沿着当前列向下搜索到的相邻一个像素点更新为所述搜索中心,再重复执行步骤2以更新凸包中心像素点;直至相对所述初始像素位置向下搜索完所述搜索半径内所覆盖的所有像素点。实现:当机器人检测到向上过曝数量大于第四预设误差次数、和/或沿着当前帧图像的当前列向下计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件。实现:当机器人检测到向上过曝数量大于第四预设误差次数、和/或沿着当前帧图像的当前列向下计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件。
综上,机器人每一轮在搜索中心附近搜索凸包中心像素点的过程中,通过对从搜索中心开始的一对相反方向上搜索的像素点进行亮度比较和对过曝和梯度反常情况进行计数以裁决停止搜索条件。
作为一种实施例,在所述步骤3中,所述根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,从已经筛选出的凸包中心像素点当中剔除干扰点的方法包括:机器人遍历完所述当前帧图像的所有列的像素点并从所述当前帧图像中获取到凸包中心像素点,且也保存有线激光发射器发射的线激光在上一帧暗图像中的定位坐标的情况下,对于所述当前帧图像中的每个凸包中心像素点,在以线激光发射器发射的线激光在上一帧暗图像中的定位坐标所在位置为圆心,且半径为探测像素距离的圆域内,若机器人判断到该圆域内存在至少一个像素点的亮度值比所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点的亮度值大一个预设环境光亮度阈值,则机器人确定所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点是干扰点,所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点的附近区域存在环境光干扰,导致机器人在该干扰点处找不到线激光位置,则需要将该干扰点从所述当前帧图像剔除,克服环境光的干扰,减少定位误判;其中,所述圆域是所述定位坐标对应的有效覆盖区域,优选地,所述圆域的半径(探测像素距离)不等于所述搜索半径;在执行所述帧间追踪算法的过程中,当前帧图像是亮帧图像,上一帧图像是暗帧图像,即上一帧暗图像,此时,上一帧暗图像中已经由所述亮度重心算法输出其线激光位置,并使用上一帧暗图像中的定位坐标(其中一列中确定出的线激光位置的坐标);在本实施例中,机器人在上一帧暗图像中选择作为所述圆心的像素点的坐标是等于所述当前帧图像中获取到一个凸包中心像素点的坐标,则可以使用所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点的亮度值进行比较,其中,所述预设环境光亮度阈值具体与机器人行进速度或旋转速度关联,优选地,机器人行进速度或旋转速度越大,机器人实时采集的图像中用于表示同一反射位置的像素点发生的位置跳变越剧烈,在两个像素点的亮度值之间产生的梯度差异变得更大,则将所述预设环境光亮度阈值设置得更大,以适应去噪精度。
作为一种实施例,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:若所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或者所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第二预设亮度阈值,则从沿着所述当前帧图像的当前列向上距离所述当前帧图像的当前列中的初始像素位置一个参考像素距离的位置开始,沿着所述当前帧图像的当前列向下搜索像素点;其中,第一预设亮度阈值小于第二预设亮度阈值,第一预设亮度阈值优选为数值10,第二预设亮度阈值优选为数值235,所述当前帧图像的当前列中的初始像素点的亮度值相对于上一轮找到的位于同一列的线激光位置产生的亮度值的变化较小,或上一轮找到的位于同一列的线激光位置产生的亮度值足够大以接近数值255(最高级灰度值)时,当前列可能存在环境光的影响,需要一个参考位置开始沿着所述当前帧图像的当前列搜索像素点以排除亮度值异常的像素点或其所在列,而且第一预设亮度阈值与第二预设亮度阈值的和值小于数值255(最高级灰度值),则第一预设亮度阈值与第二预设亮度阈值作为粗筛所需排除列的亮度值判断条件。
然后在搜索像素点的过程中,若检测到当前搜索的一个像素点的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或检测到当前搜索的一个像素点的亮度值等于数值255(最高级灰度值),则对误差位置计数量计数一次,并确定当前搜索到的像素点是符合预设亮度分布特征的像素点,且所述当前帧图像的当前列中的初始像素点的附近区域既可以存在比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,也可以存在等于数值255(最高级灰度值),容易受环境光的影响;其中,参考像素距离使用像素点的数量表示,以使参考像素计数阈值等于参考像素距离。
当机器人检测到误差位置计数量大于参考像素计数阈值时,确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值,表示从沿着所述当前帧图像的当前列向上距离所述当前帧图像的当前列中的初始像素位置一个参考像素距离的位置开始,至所述当前帧图像的当前列最下方的像素点所在的位置之间的区域存在强环境光干扰;参考像素计数阈值优选为数值25,且设置为等于参考像素距离,则误差位置计数量在大于本实施例中符合预设亮度分布特征的像素点的搜索起点相对于同一列的初始像素位置的位置偏移量时,确定无法在所述当前帧图像的当前列中搜索到线激光位置,存在环境光干扰。从而实现在同一列中设置的参考测试区域内逐行遍历比较亮度符合要求的像素点并记录下次数,以判断强环境光。
优选地,参考像素距离等于25个像素点组成的像素距离,则从向上距离所述当前帧图像的当前列中的初始像素位置25个像素点的位置开始,沿着所述当前帧图像的当前列向下搜索像素点,直至遍历至所述当前帧图像的当前列的最下方,则在当前列内形成参考测试区域,其中,从向上距离所述当前帧图像的当前列中的初始像素位置一个参考像素距离的位置开始,沿着所述当前帧图像的当前列向下延伸至所述当前帧图像的当前列的最下方所形成区域是参考测试区域;在遍历该参考测试区域的每个像素点的过程中,每当检测当前遍历的一个像素点的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大数值10,或检测到当前遍历的一个像素点的亮度值等于数值255(最高级灰度值),则计数一次,并确定当前搜索到的像素点是符合预设亮度分布特征的像素点,直至符合预设亮度分布特征的像素点的数量大于数值25。其中,参考像素距离(或参考像素计数阈值)与第二预设亮度阈值的和值大于数值255(最高级灰度值),第一预设亮度阈值与第二预设亮度阈值的和值小于数值255,对比出所述当前帧图像的当前列中的初始像素位置相对于上一轮找到的位于同一列的线激光位置产生的亮度值的变化情况以及在所述当前帧图像的当前列中搜索的像素点的亮度值变化情况,反映出当前列对应的区域的环境光强情况。
需要说明的是,上一轮找到的位于同一列的线激光位置是属于所述参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置,即在所述参考帧图像的同一列像素点中确定出线激光位置(经过前述实施例剔除干扰点后设置出的凸包中心像素点所在的位置),所述参考帧图像的同一列像素点是在所述参考帧图像内,与所述当前帧图像的当前列的列排序相同的一列的像素点;每在一帧亮帧图像中设置出同一列线激光位置,则记为一轮找到位于对应图像的同一列的线激光位置,每一轮对应的搜索图像都是不同帧图像。
作为一种实施例,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:
以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心下方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第一待测像素点;等效于:以所述当前帧图像的当前列中的初始像素位置为圆心,设置第一半径为第一定位半径的第一圆;同时以所述当前帧图像的当前列中的初始像素位置为圆心,设置第二半径为第二定位半径的第二圆,其中,第一定位半径小于第二定位半径;然后在初始像素位置的下方(当前列向下的方向),将第二圆与第一圆之间围成的圆环区域在所述当前帧图像的当前列内覆盖的像素点标记为第一待测像素点。
然后计算第一待测像素点的亮度值的平均值,即求取所述当前帧图像的当前列内所有第一待测像素点的亮度值的和值与所述当前帧图像的当前列内的第一待测像素点的总数量的比值,作为第一待测像素点的亮度值的平均值;其中,第一圆与第二圆之间形成的圆环覆盖区域作为判断光强变化的过渡区域,依赖于第一定位半径与第二定位半径的设置,第一定位半径优选为3,第二定位半径优选为12,可以使用像素距离表示,其单位为像素点的数量,形成足够大的判断光强变化的过渡区域。
若第一待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第一待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,所述当前帧图像的当前列对应的反射区域存在强环境光干扰,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置,优选为参考帧图像的同一列像素点中的初始像素位置,参考帧图像的同一列像素点是与所述当前帧图像的当前列的列排序相等的一列。
同理地,以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心上方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第二待测像素点;等效于:以所述当前帧图像的当前列中的初始像素位置为圆心,设置第一半径为第一定位半径的第一圆;同时以所述当前帧图像的当前列中的初始像素位置为圆心,设置第二半径为第二定位半径的第二圆,其中,第一定位半径小于第二定位半径;然后在初始像素位置的上方(当前列向上的方向),将第二圆与第一圆之间围成的圆环区域在所述当前帧图像的当前列内覆盖的像素点标记为第二待测像素点,不同于所述第一待测像素点。
然后计算第二待测像素点的亮度值的平均值,即求取所述当前帧图像的当前列内所有第二待测像素点的亮度值的和值与所述当前帧图像的当前列内的第二待测像素点的总数量的比值,作为第二待测像素点的亮度值的平均值;其中,第一圆与第二圆之间形成的圆环覆盖区域作为判断光强变化的过渡区域,依赖于第一定位半径与第二定位半径的设置,第一定位半径优选为3,第二定位半径优选为12,可以使用像素距离表示,其单位为像素点的数量,形成足够大的判断光强变化的过渡区域。
若第二待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第二待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置,优选为参考帧图像的同一列像素点中的初始像素位置,参考帧图像的同一列像素点是与所述当前帧图像的当前列的列排序相等的一列。
在一些实施例中,在所述步骤1中,若在所述当前帧图像的当前列中无法获取到初始像素位置,则将上一轮找到的位于同一列的线激光位置更新为所述初始像素位置,并将第二预设像素距离更新为所述搜索半径,再重复执行所述步骤2,具体会将上一轮找到的位于同一列的线激光位置更新为所述当前帧图像的当前列中的搜索中心,并设置搜索半径为第二预设像素距离,第二预设像素距离不等于第一预设像素距离,然后从最新设置的搜索中心开始沿着当前列向上搜索一个搜索半径内的像素点,并从搜索中心开始沿着当前列向下搜索一个搜索半径内的像素点,并对搜索半径内的每个像素点进行遍历,直至搜索出对应列中的凸包中心像素点;具体包括根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列中的凸包中心像素点后,将从所述搜索中心开始沿着当前列向上或向下搜索到的相邻一个像素点更新为所述搜索中心,再重新执行步骤2,获得一个新的凸包中心像素点并将新的凸包中心像素点更新为凸包中心像素点,其中,每个所述搜索中心相对于所述初始像素位置都在一个搜索半径的覆盖区域内,其中,所述搜索半径设置为第二预设像素距离,优选地,第二预设像素距离不等于第一预设像素距离;则每当当前列中的搜索中心被更新一次,则当前列中设置出的凸包中心像素点也被更新一次;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置。另外,若机器人在重复执行所述步骤2的过程中,若在同一列内(所述当前帧图像的当前列内)始终搜索不出凸包中心像素点,则确定机器人在同一列内找不到线激光位置,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定所述当前帧图像的当前列所处的环境的光强比较大以至于无法识别线激光打在待测物体内的反射位置。
综上,当机器人检测到摄像头采集的当前帧图像是亮帧图像时,选择将当前帧图像输入帧间追踪算法对应的处理规则模型中以输出有效的激光位置,在摄像头距离障碍物不过近的场景中有效过滤掉各种环境光干扰,减少对红外滤光片的依赖;具体会在符合凸包特征的像素点中,基于向上搜索的像素点当中产生的亮度值梯度与向下搜索的像素点当中产生的亮度值梯度之间的数值关系及其在相邻两次确定的搜索中心对应的搜索状态下的差异、当前搜索的像素点的亮度值与上一次在同一帧图像的同一列确定出的凸包中心像素点的亮度值之间的关系、及当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列的凸包中心像素点,并在当前列内遍历完相对于初始像素位置的搜索半径内的每个像素点并更新凸包中心像素点,并排除不存在线激光位置的像素点的干扰后,确定出当前列最终的凸包像素点,能够在环境光较强的情况下减少干扰点误判现象,从而以跟踪参考帧图像的符合凸包特征的像素点的数量及亮度值的方式来搜索出更加准确的凸包中心像素点,进而中剔除所有干扰点后,将剩余的凸包中心像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,较为准确地实现机器人对激光在障碍物表面的反射光线的跟踪,适用于机器人导航行走场景中,达到机器人定位障碍物的效果。
作为一种实施例,为在暗帧图像内寻找出所述线激光位置,以克服帧间追踪算法所不能应付的场景,保证避障效果,需要在采集到暗帧图像后切换为执行亮度重心算法,并允许保存上一帧图像(属于亮帧图像,对应为线激光发射器发射的线激光在待测物体表面反射回的光线的亮帧图像)以备亮度重心算法使用,与所述帧间追踪算法达到优势互补的效果,既能克服环境光干扰,又能持续跟踪线激光的反射位置。
具体地,所述机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置的方法包括:机器人逐列遍历所述当前帧图像,其中,所述当前帧图像是暗帧图像,并被配置为按列划分,则可以按列排序依次取出每一列的像素点的亮度值并对一定搜索区域内的像素点的数量进行计数,以便于筛选出预测线激光的反射位置的线激光位置,可能不同于前述的凸包中心像素点的属性,包括亮度值和纵坐标位置,由于是暗帧图像,表现出的像素点的亮度值不大,所以不能采集到前述实施例公开的初始像素位置。
机器人依次搜索当前列的各个像素点,具体是从当前列的最上一行的像素点开始,依次遍历至当前列的最下一行的像素点;或者从当前列的最下一行的像素点开始,依次遍历至当前列的最上一行的像素点,以完成同一列中的每个像素点的搜索、亮度值的检测以及像素点数量的统计;在搜索当前列的像素点的过程中,根据当前帧图像的当前列内当前搜索的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点,其中,上一帧亮帧图像的对应位置处的像素点所在的坐标位置等于当前帧图像内当前搜索的像素点所在的坐标位置,至少相对于坐标系原点形成的相对位置关系是等效,至于本实施例所述的大小关系是通过设定阈值来判断确定出来的。然后在当前帧图像的当前列内,将位置相邻接的至少两个合法像素点连接形成定位线段;当连接完位置相邻接的所有合法像素点后,选择出长度最大的定位线段,其中,连接完位置相邻接的所有合法像素点后,存在多条定位线段,每条定位线段是由同一列内像素位置连续排列的合法像素点依次连接形成的一条线段,然后选择所述定位线段进行长度比较,获得长度最大的定位线段,原因在于,合法像素点的亮度值相对于上一帧亮帧图像的同一位置的像素点的亮度值的差距被控制在合理的阈值范围内,且上一帧亮帧图像的同一位置的像素点的亮度值被控制在一定亮度值范围内以防止强光干扰,则连续排列的合法像素点的亮度值上,能够预测出线激光在待测物体表面的反射位置的大体范围,也能增强环境光的抗干扰能力。长度最大的定位线段优选为直线段且平行于图像坐标系的纵坐标轴;优选地,选择出的长度最大的定位线段设置为所述预测激光线段,再将所述预测激光线段的中心处的像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标。若选择出的长度最大的定位线段的长度大于预设连续长度阈值,则将选择出的长度最大的定位线段设的中心设置为线激光位置,以等效于前述执行帧间追踪算法的实施例提及的凸包中心以提高检测障碍物的准确性。
需要补充的是,一个线激光位置的坐标使用对应的定位坐标表示,对于当前帧图像都是采取逐列遍历的方式获取属于相应列上的线激光位置,所以在确定当前遍历的列序号后,对于每个线激光位置的坐标可以只选择纵坐标值表示,以识别出线激光在障碍物表面的反射位置的高度信息,也可用于机器人避障。
在上述实施例的基础上,所述根据当前帧图像内当前搜索的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点的方法包括:将在所述当前帧图像内当前搜索的像素点的亮度值减去上一帧亮帧图像的具有相同行列位置处的像素点的亮度值,获得暗帧图像相对差值;当检测到暗帧图像相对差值的相反数大于预设亮度差阈值,且上一帧亮帧图像的具有相同行列位置处的像素点的亮度值大于参考亮帧图像亮度阈值时,将当前在所述当前帧图像内搜索的像素点设置为合法像素点,作为从当前帧图像的当前列中筛选出的合法像素点,表明所述当前帧图像内的像素点没有受到较强的环境光的干扰;其中,预设亮度差阈值是从相邻两帧图像内的同一位置处的像素点的亮度值的差值出发,设置出的让当前帧图像采集的像素点信息少受环境光强度干扰的经验值;而参考亮帧图像亮度阈值是从亮帧图像中的像素点的亮度值出发,设置出的让亮帧图像中的像素点少受环境光强度干扰的经验值。
综上,机器人检测到摄像头采集的当前帧图像是暗帧图像时,选择将当前帧图像输入亮度重心算法对应的处理规则模型中以输出连接长度合理的定位线段,在摄像头距离障碍物过近的场景中克服对于环境光干扰较为敏感的问题,对应地,防止机器人因为误判而撞上前方反射激光光线的障碍物。因此,本发明通过结合帧间追踪算法和亮度重心算法来在各种环境光强场景内取长补短,实现在先后交替产生的用于反映线激光的反射光线的亮帧图像和暗帧图像当中完成激光定位。
在一些实施例中,所述根据当前帧图像内当前搜索的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点的方法还可以表示为:当前在上一帧亮帧图像内遍历的像素点的亮度值减去所述当前帧图像内具有相同行列位置的像素点的亮度值,获得暗帧图像相对差值;当检测到暗帧图像相对差值大于预设亮度差阈值,且当前在上一帧亮帧图像内遍历的像素点的亮度值大于参考亮帧图像亮度阈值时,将所述当前帧图像内具有相同行列位置的像素点设置为合法像素点,作为从当前帧图像中筛选出的合法像素点,表明所述当前帧暗帧图像没有受到较强的环境光的干扰。需要补充的是,线激光发射器发射的线激光在待测物体表面反射回的光线在摄像头的成像平面内形成的图像序列是配置为亮帧图像与暗帧图像依次交替产生,以使:摄像头采集的当前帧图像是亮帧图像时,摄像头采集的下一帧图像是暗帧图像;在摄像头采集当前帧亮帧图像与摄像头采集下一帧亮帧图像的时间间隔内,摄像头采集当前帧暗帧图像;在摄像头采集下一帧亮帧图像之后,摄像头采集下一帧暗帧图像。
作为一种实施例,所述激光定位方法还包括对于摄像头的曝光信息的调节,具体包括:
当机器人检测到其所处的环境的光强大于第一预设光强阈值时,表示机器人检测到当前所处环境内的可见光的强度较大,摄像头的曝光量变得比较大,则机器人降低摄像头的增益(图像信号放大参数),获得第一增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝,尤其是可见光部分的图像信息不容易过曝,以提高在环境光较强的场景内提取出前述线激光位置的准确性;第一预设光强阈值主要是依据环境中的较强可见光对摄像头采集的图像的过曝程度设置的强光阈值。
当机器人检测到其所处的环境的光强大于第一预设光强阈值时,表示机器人检测到当前所处环境内的可见光的强度较大,摄像头的曝光量变得比较大,则机器人降低摄像头的曝光时间,获得第一曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝,尤其是可见光部分的图像信息不容易过曝,以提高在环境光较强的场景内提取出前述线激光位置的准确性;第一预设光强阈值主要是依据环境中的较强可见光对摄像头采集的图像的过曝程度设置的强光阈值。
当机器人检测到其所处的环境的光强小于第二预设光强阈值时,表示机器人检测到当前所处环境内的可见光的强度较小,摄像头的曝光量变得比较小,则机器人提高摄像头的增益(图像信号放大参数),获得第二增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝(过暗),优选地,第一增益小于第二增益;但如果前述实施例调节出第一增益之前的增益本身就很大以应对所处环境的光强,则第一增益不一定小于第二增益;从而提高在环境光较弱的场景内提取出前述线激光位置的准确性;第二预设光强阈值主要是依据环境中的较暗可见光对摄像头采集的图像的曝光程度设置的强光阈值,第二预设光强阈值远小于第一预设光强阈值。
当机器人检测到其所处的环境的光强小于第二预设光强阈值时,表示机器人检测到当前所处环境内的可见光的强度较小,摄像头的曝光量变得比较小,则机器人提高摄像头的曝光时间,获得第二曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝,优选地,第一曝光时间小于第二曝光时间;但如果前述实施例调节出第一曝光时间之前的曝光时间本身就很大以应对所处环境的光强,则第一曝光时间不一定小于第二曝光时间。
因此,本实施例根据当前环境的状况来调节摄像头的增益和曝光时间,使得摄像头中看到的图像不出现过曝或者欠曝的情况,实现对所述摄像头的动态曝光调节。
需要补充的是,对于摄像头的增益的调节在合理范围内,避免产生噪点;噪点一般是指摄像头在低曝光的环境下将摄像头的增益调太高产生。
作为一种实施例,摄像头的曝光信息应用于线激光发射器的功率档位调节时,存在以下情况:
当机器人检测到摄像头的当前曝光值大于第一预设曝光阈值时,调高线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积;
优选例一,摄像头的当前曝光值包括所述第三增益和/或所述第三曝光时间,则在机器人所处的环境的光强越大时,调节出所述第三增益和/或所述第三曝光时间越大,以适应当前所处环境光强的曝光量,此时的平滑系数被设置为合理的数值,用于平滑曝光值调整的步长,起到抑制过曝的效果;
优选例二,摄像头的当前曝光值包括所述第一增益和/或所述第一曝光时间,则在机器人所处的环境的光强越大时,按照前述实施例调节出来的所述第一增益和/或所述第一曝光时间变小,此时的平滑系数被设置为合理的数值,用于平滑曝光值调整的步长,能够在所述第一增益和/或所述第一曝光时间在变为更小时,抑制线激光发射器发射的线激光的强度也变得更小,以适应当前所处环境光强的曝光量。
在前述优选例一或优选例二的基础上,自动调节线激光发射器的用于发射线激光的功率档位,直至线激光发射器发射的线激光的强度(所述线激光发射器的发射功率)等于平滑系数与当前曝光值的乘积,从而实现在高亮度环境下使用较强的线激光挡位,也避免当前曝光值变化得较为剧烈和摄像头采集到的线激光发射器发射的线激光在待测物体的表面反射回来的光线的图像不出现过曝,以便于机器人按照前述实施例公开的帧间追踪算法从所述当前帧图像中准确搜索出线激光位置,至少保证像素点的亮度值以及两个像素点之间的梯度值在合理范围内,障碍物在环境光较亮的情况下也能够被摄像头采集到线激光在其表面的反射光线图像。
当机器人检测到摄像头的当前曝光值小于第二预设曝光阈值时,调低线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积。其中,第一预设曝光阈值大于第二预设曝光阈值,以反映处当前所处的环境光较暗。
优选例三,摄像头的当前曝光值包括所述第四增益和/或所述第四曝光时间;则在机器人所处的环境的光强越小时,将预先调节出的所述第三增益和/或所述第三曝光时间变小以适应当前所处环境光强所需的曝光量,此时的平滑系数被设置为合理的数值,用于平滑曝光值调整的步长,起到抑制欠曝的效果。
优选例四,摄像头的当前曝光值包括所述第二增益和/或所述第二曝光时间,则在机器人所处的环境的光强越小时,按照前述实施例调节出来的所述第二增益和/或所述第二曝光时间变大,此时的平滑系数被设置为合理的数值,用于平滑曝光值调整的步长,能够在所述第二增益和/或所述第二曝光时间在变大时抑制线激光发射器发射的线激光的强度也变得更大,以适应当前所处环境光强的曝光量。
在前述优选例三或优选例四的基础上,自动调节线激光发射器的用于发射线激光的功率档位,直至线激光发射器发射的线激光的强度(所述线激光发射器的发射功率)等于平滑系数与当前曝光值的乘积,避免当前曝光值变化得较为剧烈和摄像头采集到的线激光发射器发射的线激光在待测物体的表面反射回来的光线的图像不出现欠曝,以便于机器人在较暗环境内从所述当前帧图像中准确搜索出线激光位置,使得障碍物在环境光较暗的情况下采集到摄像头中的图像过曝没那么强烈,从而不产生更多的反射干扰,便于使用所述激光定位方法找到更准确的线激光位置。
优选地,摄像头的当前曝光值用于反映摄像头在当前光照亮度的环境内的曝光量;摄像头的当前曝光值可以是正面反映所处环境光强程度;也可以反面反映当前所处的环境光强程度,比如摄像头的当前曝光值被调节得越小,则反证出当前所处的环境光较强,则会引导线激光发射器的用于发射线激光的功率档位调高,使得障碍物在环境光较亮的情况下也被采集到线激光在该障碍物表面的反射光线。
综上,线激光发射器发射的线激光的强度可以描述线激光发射器的用于发射线激光的功率档位与当前曝光值之间的映射关系,再结合平滑系数的调整作用,适应于所述结构光模组在一系列不同曝光下对线激光的反射光线的图像数据的采集,从而根据调整后的摄像头增益和曝光时间,对线激光发射器的用于发射线激光的功率档位进行调节,实现在高亮度环境下使用较强的线激光发射功率挡位,使得障碍物在环境光较亮的情况下也能够看的到线激光,且图像不会过曝(比如,室外强环境光下,线激光在白色障碍物反射回摄像头后,降低摄像头的增益或曝光时间),避免由于环境过亮而导致摄像头采集的图像出现过曝,从而找到更加准确的线激光位置;在低亮度环境下使用较弱的线激光发射功率挡位,使得障碍物图像在环境光较暗的情况下过曝没那么强烈,从而不产生更多的反射干扰,便于更准确的线激光位置(对应为凸包中心)。
基于前述激光定位方法的各个实施例,本发明还公开一种机器人,该机器人的机体装配有结构光模组,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,摄像头在镜头不装配滤光片(比如红外滤光片)的前提下接收线激光发射器发射的线激光的各种波长的光线,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息。机器人内部设置控制器,控制器与结构光模组电性连接,控制器被配置为执行所述激光定位方法,以获得所述线激光发射器发射的线激光在当前帧图像中的定位坐标,即获取亮帧图像中的线激光位置和暗帧图像内的线激光位置;其中,线激光发射器发射出去的线激光位于摄像头的视场范围内。
在本实施例中,控制器可控制线激光发射器和摄像头进行工作。可选地,控制器一方面对摄像头进行曝光控制,另一方面可控制线激光发射器在摄像头曝光期间对外发射线激光,以便于摄像头采集由线激光探测到的环境图像。其中,控制器可以控制位于摄像头和线激光发射器同时工作,或者交替工作,对此不做限定。需要说明的是,被摄影物体(待测物体的表面)反射的激光光线,通过摄像头的镜头投射到感光片上,使之发生化学变化,并产生图像,这个过程被称为曝光。
优选地,所述控制器可采用具有FPGA 和DSP 的图像处理硬件装置。为达到更快的处理速度,考虑到FPGA 在处理流式的并行计算时有着明显的优势,一些涉及形态学处理图像的操作在FPGA 中进行,其余操作在DSP 中进行。即使图像的分辨率升高,也不会耗费更多处理时间。在图像大小为2048x2048像素时,该图像处理系统的处理速度可达6帧/s ,能够同时满足机器人避障的准确性和实时性要求。
在一些实施例中,所述摄像头的水平视角被配置为在机器人的前方接收所述线激光在机体宽度范围内反射回的光线,获得由线激光探测到的环境图像。其中,为了获得所述摄像头的相应水平视角,可以采用广角镜头,也可以采用非广角镜头,具体使用取决于机体宽度,只需能采集到全机身范围内的线激光即可。
和/或结构光模组在机器人的机体上的安装高度被配置为与待测的障碍物的高度成正相关关系,以使得待测的障碍物占据所述摄像头的有效视场空间。其中,线激光发射器和摄像头的安装高度都需要针对待测障碍物的尺寸大小确定,结构光模组在机器人的机体上的安装高度越大,则可以覆盖的纵向空间越大,但相对于尺寸小的待测障碍物偏离得更远,则采集到的局部细节较少,让尺寸小的待测障碍物的检测精度降低,;结构光模组在机器人的机体上的安装高度越小,则可以覆盖的纵向空间越小,但更加靠近尺寸小的待测障碍物,则采集到障碍物局部细节增加,让尺寸小的待测障碍物的检测精度提高。
至于所述安装高度,在所述结构光模组的安装高度上,线激光发射器和摄像头可以位于不同高度。例如,在机器人的机顶上,线激光发射器高于摄像头;或者,摄像头高于线激光发射器;当然,线激光发射器和摄像头也可以位于同一高度。在实际使用中,结构光模组会被安装在某一自移动机器人(例如扫地机器人、巡逻机器人等自主移动设备)上,在该情况下,线激光发射器和摄像头到机器人所在工作面(例如地面)之间的距离不相同,例如摄像头到工作面的距离是32mm ,线激光发射器到工作面的距离是47mm。
作为一种实施例,所述摄像头的上视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光形成的平面的底部,具体是多束线激光组成的激光面,沿着线激光发射器的发射方向延伸铺开并射至机器人的行进地面,优选地,激光面与机器人的工作面所成的角度是15度;所述摄像头的下视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光在机器人的机体前方的障碍物表面反射回的光线;因此,摄像头的俯仰角可以根据导航所需的地图图像的要求进行适当的调整;摄像头的下视角是自上向下探测形成的角度,形成摄像头的俯视角;摄像头的上视角是自下向上探测形成的角度,形成摄像头的仰视角;其中,所述摄像头的俯仰角被划分为所述摄像头的下视角和所述摄像头的上视角,优选地,摄像头的上视角是设置为24度,摄像头的下视角是设置为18度。
和/或所述摄像头(镜头的光轴线)相对于机器人的中轴线偏转形成的航向角保持在预设误差角度范围内,以使得摄像头的光轴与机器人的行进方向平行,且让摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线,以在机器人行走过程中实时探测到其正前方的障碍物。
和/或所述摄像头沿着其光轴转动产生的翻滚角保持在预设误差角度范围内,以使摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线,其中,所述摄像头是可转动装配地在机器人的机体上,预设误差角度范围设置为-0.01至0,01度,以使得所述摄像头(镜头的光轴线)相对于机器人的中轴线偏转形成的航向角保持在0度左右,所述摄像头沿着其光轴转动产生的翻滚角也保持在0度左右。
在安装好所述结构光模组之后,线激光发射器发射线激光的中心线与线激光发射器的安装基线之间的夹角,等效于激光面与机器人的工作面所成的角度,优选为15度;安装基线是指在线激光发射器位于机器人上方的一安装高度的情况下,线激光发射器所在的一条直线,或者在线激光发射器和摄像头位于同一安装高度的情况下,线激光发射器和摄像头所在的一条直线。
在本实施例中,并不限定线激光发射器的发射角度。该发射角度与结构光模组所在的机器人需要满足的探测距离、机器人的机体宽度以及线激光发射器与摄像头之间的机械距离有关。在结构光模组所在机器人需要满足的探测距离、机器人的机体宽度和线激光发射器与摄像头之间的机械距离确定的情况下,可直接通过三角函数关系得到线激光发射器的发射角度,即发射角度是一固定值。
当然,如果需要某个特定的发射角度,可以通过调整结构光模组所在机器人需要满足的探测距离和线激光发射器与摄像头之间的机械距离来实现。在一些应用场景中,在机器人需要满足的探测距离和机器人的机体宽度确定的情况下,通过调整线激光发射器与摄像头之间的机械距离,线激光发射器的发射角度可在一定角度范围内变化。
作为一种实施例,若所述摄像头与所述线激光模块之间的安装距离越大,则在所述摄像头采集的图像中,用于表示所述线激光在障碍物的表面的反射位置的像素点相对于摄像头的中心的坐标偏移量增大,其中,用于表示所述线激光在障碍物的表面的反射位置的像素点包括但不限于前述实施例获得的凸包中心像素点、符合凸包特征的像素点以及线激光位置。当机器人靠近障碍物时,所述摄像头与所述线激光模块之间的安装距离越大,则摄像头采集的图像中的像素点出现的纵向跳变会越大,从而获取更多的局部细节信息,提高障碍物的检测精度。
需要说明的是,安装距离是指线激光发射器与摄像头之间的机械距离(或者称为基线距离)。线激光发射器与摄像头之间的机械距离,可根据结构光模组的应用需求灵活设定。其中,线激光发射器与摄像头之间的机械距离、结构光模组所在机器人需要满足的探测距离以及机器人的机体宽度等信息可在一定程度上决定测量盲区的大小。对结构光模组所在的机器人来说,其机体宽度是固定的,测量范围与线激光发射器与摄像头之间的机械距离是可以根据需求灵活设定,这意味着机械距离及盲区范围不是固定值。在保证机器人的测量范围(或性能)的前提下,应该尽量减小盲区范围,然而,线激光发射器与摄像头之间的机械距离越大,可以控制的距离范围就越大,这有利于更好地控制盲区大小,以提高障碍物的检测精度。
在一些应用场景中,结构光模组应用于扫地机器人上,例如可以安装在扫地机器人的撞板上或机器人本体上。针对扫地机器人来说,下面示例性给出线激光发射器与摄像头之间比较合理的机械距离范围。例如,线激光发射器与摄像头之间的机械距离可以大于20mm;进一步可选地,线激光发射器与摄像头之间的机械距离大于30mm。更进一步,线激光发射器与摄像头之间的机械距离大于41mm 。需要说明的是,这里给出的机械距离的范围,并不仅仅适用于结构光模组应用在扫地机器人这一种场景,也适用于结构光模组在规格尺寸与扫地机器人比较接近或类似的其它设备上的应用。
作为一种实施例,线激光发射器的发射角度和摄像头的接收角度被设置为:线激光发射器发射线激光至机体的前方的预设探测位置处,线激光在预设探测位置处反射回所述摄像头,以在摄像头采集的图像内形成所述符合凸包特征的像素点或凸包中心像素点,其中,线激光在预设探测位置处形成的激光线段的长度大于机器人的机体宽度;线激光打在地面后的反射位置取决于线激光的横向出射角度(即线激光反射器的发射角度)和摄像头的横向像素可视角度(即摄像头的接收角度,对应为所述水平视角),线激光打到前方使得摄像头提取出的线激光的水平长度比机器人的机体宽度略宽。
每当机器人沿着由当前位置指向所述预设探测位置的方向行走预设行进距离时,预设探测位置与机器人之间的水平距离变小,在一些实施例中,机器人靠近所述预设探测位置处的障碍物;摄像头采集的图像中的用于表示所述线激光在所述预设探测位置中的同一反射位置的像素点相对于摄像头的中心的坐标偏移量增大,即线激光打到前方地面距离机器越近,在机器人在相同行进距离下,摄像头采集的图像中的用于表示线激光的反射位置的像素点产生的纵向跳变变大,捕获到的局部信息更多,对于障碍物的检测精度更高。
综上,在机器人行走的过程中,当障碍物与摄像头(或结合激光发射器整体视为结构光模组)的距离减小时,摄像头采集的图像中的用于反映线激光的同一反射位置的像素点的纵坐标位置跳变增大,则用于表征障碍物的同一局部区域的像素点的数量增加,使得像素点之间的亮度的梯度值可能减小,且同一帧图像内的像素点数量可能不变,从而提高对障碍物的检测精度,其中,用于反映线激光的反射位置的像素点包括符合凸包特征的像素点,随着机器人靠近障碍物,符合凸包特征的像素点的位置会发生纵向跳变(纵坐标变化),让机器人的摄像头采集图像内的障碍物由原来的整体轮廓变为局部轮廓,至少在纵向上覆盖到的障碍物的轮廓高度出现变化,则相对于靠近障碍物之前采集的局部轮廓所需的像素点的数量会增加,提高检测障碍物的精度。进一步地,机器人中摄像头与线激光发射器之间的安装距离越大,比如,线激光发射器相对于摄像头的安装高度越大,则用于表示所述线激光在障碍物的表面的反射位置的像素点在纵坐标变化量增大,摄像头采集的同一帧图像内的障碍物由原来的整体轮廓变为局部轮廓,则用于表征障碍物的同一局部区域的像素点的数量相对于安装高度变大之前有所增加,也可以是机器人每行走一段测试距离,则实时采集到的当前帧图像内用于表征障碍物的同一局部区域的像素点的数量相对于安装高度变大之前有所增加,提高检测障碍物的精度,相对于现有技术机器人能够检测的障碍物的体型可以变得更小。
需要说明的是,符合凸包特征的像素点被配置为模拟线激光投射到待测物体的表面形成的激光线段的部分或全部点信息;机器人将图像的符合凸包特征的像素点的集合设置为亮度值从凸包中心开始沿着当前列分别向上下两侧递减的像素点、以及凸包中心组成的像素点集合,该像素点集合组成一个凸包,其中,凸包中心是该像素点集合内亮度值最大的像素点;在符合凸包特征的像素点的集合内,从凸包中心开始,亮度值沿着当前列分别向上侧递减产生所述第一梯度值,亮度值沿着当前列分别向下侧递减产生所述第二梯度值。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
上述实施例只为说明本发明的技术构思及特点,其目的是让熟悉该技术领域的技术人员能够了解本发明的内容并据以实施,并不能以此来限制本发明的保护范围。凡根据本发明精神实质所作出的等同变换或修饰,都应涵盖在本发明的保护范围之内。

Claims (21)

1.基于图像信息的激光定位方法,其特征在于,激光定位方法的执行主体是装配有结构光模组的机器人,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;
所述激光定位方法包括:
机器人控制摄像头采集线激光发射器发射的线激光在待测物体表面反射回的光线的图像,并检测摄像头采集的图像的亮暗类型;
当机器人检测到摄像头采集的当前帧图像是亮帧图像时,机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标;
当机器人检测到摄像头采集的当前帧图像是暗帧图像时,机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置,再将线激光位置的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标。
2.根据权利要求1所述激光定位方法,其特征在于,所述机器人通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置的方法包括:
步骤1、机器人逐列遍历所述当前帧图像,并在所述当前帧图像的对应列中获取初始像素位置,同时根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点,其中,线激光位置用于表示所述线激光在待测物体表面的反射位置;
步骤2、除了不存在线激光位置的像素点所在列之外,在所述当前帧图像的当前列中,机器人将当前列存在的初始像素位置设置为搜索中心,再从搜索中心开始沿着当前列向上搜索一个搜索半径内的像素点,并从搜索中心开始沿着当前列向下搜索一个搜索半径内的像素点;然后根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出当前列中的凸包中心像素点以更新上一次在当前帧图像的当前列中确定的凸包中心像素点;其中,参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像;每当当前列中的搜索中心被更新一次,则当前列中设置出的凸包中心像素点也被更新一次;
步骤3、根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,从已筛选出的凸包中心像素点当中剔除干扰点;在机器人遍历完所述当前帧图像内所有列像素点当中的凸包中心像素点以剔除所有干扰点后,将剩余的凸包中心像素点的坐标设置为线激光发射器发射的线激光在当前帧图像中的定位坐标,并确定机器人在所述当前帧图像内搜索出对应列中确定出的线激光位置,以连成线激光发射器发射的线激光在待测物体的表面形成的激光线段,并确定机器人已经通过执行帧间追踪算法来从当前帧图像中搜索出线激光位置;
其中,同一列中确定出的线激光位置是在机器人遍历完同一列内所有像素点后,由同一列内最后更新出的凸包中心像素点所在的位置,一个线激光位置的坐标使用对应的定位坐标表示。
3.根据权利要求2所述激光定位方法,其特征在于,在所述步骤2中,每当针对一个搜索中心筛选出一个凸包中心像素点,则将从所述搜索中心开始沿着当前列向上或向下搜索到的相邻一个像素点更新为所述搜索中心,再重新执行步骤2,获得一个新的凸包中心像素点并将新的凸包中心像素点更新为凸包中心像素点;每个所述搜索中心相对于所述初始像素位置都在一个搜索半径的覆盖区域内,其中,所述搜索半径设置为第一预设像素距离;所述已筛选出的凸包中心像素点是所述当前帧图像内存在凸包中心像素点的每一列当中,最后更新出的凸包中心像素点;所述已筛选出的凸包中心像素点是所述当前帧图像内存在凸包中心像素点的每一列当中偏离所述当前帧图像的坐标系的原点最近的一个凸包中心像素点;
其中,机器人将当前帧图像的当前列上的符合凸包特征的像素点的集合设置为亮度值从凸包中心开始沿着当前列分别向上下两侧递减的像素点、以及凸包中心组成的像素点集合以形成一个凸包,凸包中心是该像素点集合内亮度值最大的像素点,并将凸包中心像素点设置为属于凸包中心处的像素点;在符合凸包特征的像素点的集合内,从凸包中心开始沿着同一列向上的方向上,像素点的亮度值沿着当前列向上递减并在相邻两个像素点的亮度值之间产生第一梯度值,并且,从凸包中心开始沿着同一列向下的方向上,像素点的亮度值沿着当前列向下递减并在相邻两个像素点的亮度值之间产生第二梯度值,以使得凸包中心属于所述搜索中心。
4.根据权利要求3所述激光定位方法,其特征在于,在所述步骤2中,所述根据向上搜索的像素点的亮度值与向下搜索的像素点的亮度值在相邻两次确定的搜索中心所对应的搜索状态下的差异,及其当前帧图像相对于参考帧图像在同一列像素点中的同一类型的数值形成的帧间匹配关系,筛选出凸包中心像素点的方法包括:
在所述当前帧图像的当前列中,控制所述搜索中心的亮度值与上一次搜索到的位于同一列的凸包中心像素点的亮度值进行比较;所述上一次搜索到的位于同一列的凸包中心像素点是针对上一次确定的搜索中心来在当前帧图像的同一列中筛选出的凸包中心像素点,上一次确定的搜索中心是与当前确定的搜索中心在所述当前帧图像的当前列向下或向上相邻的一个像素点,当前帧图像的同一列像素点的列排序与所述当前帧图像的当前列的列排序相等;
若当前确定的所述搜索中心的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则在所述当前帧图像的当前列中,自所述搜索中心向上搜索像素点,并对所述亮度值按照所述第一梯度值递减的像素点进行计数,直至满足向上计数停止条件,再将亮度值按照所述第一梯度值递减的像素点的数量标记为向上梯度下降数量,并停止向上搜索像素点以待下一次更新所述搜索中心;并且,自所述搜索中心向下搜索像素点,并对所述亮度值按照所述第二梯度值递减的像素点进行计数,直至满足向下计数停止条件,再将亮度值按照所述第二梯度值递减的像素点的数量标记为向下梯度下降数量,并停止向下搜索像素点以待下一次更新所述搜索中心;
当机器人判断到所述当前帧图像的当前列中计数出的向上梯度下降数量大于或等于上一次搜索到位于同一列的凸包中心像素点所需计数出的所述向上梯度下降数量、和/或判断到所述当前帧图像的当前列中计数出的向下梯度下降数量大于或等于上一次搜索到位于同一列的凸包中心像素点所需计数出的所述向下梯度下降数量时,机器人在当前帧图像的当前列所遍历的像素点当中,若检测到第一梯度值与第二梯度值都不等于第一预设梯度参数,且第一梯度值与第二梯度值的差值的绝对值小于第二预设梯度参数,且沿着当前列向上搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值,且沿着当前列向下搜索到的亮度值最小的像素点的亮度值与当前确定的搜索中心处的像素点的亮度值的差值的绝对值大于参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值,则机器人将当前确定的搜索中心标记为凸包中心像素点;其中,第一预设梯度参数小于第二预设梯度参数。
5.根据权利要求4所述激光定位方法,其特征在于,所述参考帧图像的同一列像素点中向上搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列中,向上搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心处的像素点的亮度值的差值的绝对值,其中,向上搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径;
所述参考帧图像的同一列像素点中向下搜索形成的同一类型的亮度值的差值的绝对值是在参考帧图像中,从与所述当前列的列排序相同的一列中最终确定的搜索中心开始,沿着与所述当前列的列排序相同的一列,向下搜索到的亮度值最小的像素点的亮度值与同一列上最终确定的搜索中心处的像素点的亮度值的差值的绝对值,其中,向下搜索到的亮度值最小的像素点相对于同一列上最终确定的搜索中心之间的距离小于或等于所述搜索半径。
6.根据权利要求4所述激光定位方法,其特征在于,针对当前确定的一个搜索中心,所述步骤2还包括:
若所述搜索中心处的像素点的亮度值比上一次搜索到的位于同一列的凸包中心像素点的亮度值大,则在当前帧图像的当前列中,自所述搜索中心向上搜索像素点,并且自所述搜索中心向下搜索像素点;
若机器人在自所述搜索中心向上搜索的过程中检测到像素点的亮度值不是按照所述第一梯度值递减,则对预先设置的向上梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向上是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向上搜索像素点并确定达到向上计数停止条件,否则在所述向上梯度异常频数大于第一预设误差次数时,停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件;并且,在自所述搜索中心向下搜索的过程中检测到像素点的亮度值不是按照所述第二梯度值递减,则对预先设置的向下梯度异常计数量计数一次,然后机器人判断其沿着当前帧图像的当前列向下是否搜索完所述搜索半径内所覆盖的像素点,是则机器人停止沿着当前帧图像的当前列向下搜索像素点并确定达到向下计数停止条件,否则在所述向上梯度异常频数大于第二预设误差次数时,停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件;
或者,机器人在自所述搜索中心向上搜索的过程中,沿着当前帧图像的当前列向上对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向上过曝数量,当机器人检测到向上过曝数量大于第三预设误差次数、和/或沿着当前帧图像的当前列向上计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向上搜索像素点并确定满足向上计数停止条件;并且机器人在自所述搜索中心向下搜索的过程中,沿着当前帧图像的当前列向下对所述亮度值为数值255且位置相邻接的像素点进行计数,并将所述亮度值为数值255且位置相邻接的像素点的数量标记为向下过曝数量,当机器人检测到向上过曝数量大于第四预设误差次数、和/或沿着当前帧图像的当前列向下计数完所述搜索半径内所覆盖的像素点时,机器人停止沿着当前帧图像的当前列向下搜索像素点并确定满足向下计数停止条件。
7.根据权利要求3所述激光定位方法,其特征在于,在所述步骤3中,所述根据线激光发射器发射的线激光在上一帧暗帧图像中的定位坐标对应的有效覆盖区域内的亮度值与所述凸包中心像素点在所述当前帧图像当中的亮度值的大小关系,从已经筛选出的凸包中心像素点当中剔除干扰点的方法包括:
机器人遍历完所述当前帧图像的所有列的像素点并获取到每列中最新的凸包中心像素点,且保存线激光发射器发射的线激光在上一帧暗图像中的定位坐标的情况下,对于所述当前帧图像中的每个凸包中心像素点,在以线激光发射器发射的线激光在上一帧暗图像中的定位坐标所在位置为圆心,且半径为探测像素距离的圆域内,若机器人判断到该圆域内存在至少一个像素点的亮度值比所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点的亮度值大一个预设环境光亮度阈值,则机器人确定所述当前帧图像内与所述圆心具有相同坐标的凸包中心像素点是干扰点,机器人在该干扰点处找不到线激光位置,并将该干扰点从所述当前帧图像剔除。
8.根据权利要求2所述激光定位方法,其特征在于,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:
若所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或者所述当前帧图像的当前列中的初始像素位置的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第二预设亮度阈值,则从沿着所述当前帧图像的当前列向上距离所述当前帧图像的当前列中的初始像素位置一个参考像素距离的位置开始,沿着所述当前帧图像的当前列向下搜索像素点;若检测到当前搜索的一个像素点的亮度值比上一轮找到的位于同一列的线激光位置处的像素点的亮度值大第一预设亮度阈值,或检测到当前搜索的一个像素点的亮度值等于数值255,则对误差位置计数量计数一次,并确定当前搜索到的像素点是符合预设亮度分布特征的像素点;当机器人检测到误差位置计数量大于参考像素计数阈值时,确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;
其中,参考像素距离使用像素点的数量表示,以使参考像素计数阈值等于参考像素距离;
其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置。
9.根据权利要求2所述激光定位方法,其特征在于,在所述步骤1中,所述根据对应列中符合预设亮度分布特征的像素点来排除掉当前帧图像中不存在线激光位置的像素点的方法包括:
以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心下方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第一待测像素点,然后计算第一待测像素点的亮度值的平均值,若第一待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第一待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,第一定位半径小于第二定位半径,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置;
或者,以所述当前帧图像的当前列中的初始像素位置为圆环中心,在所述当前帧图像的当前列中,将位于圆环中心上方的、内径为第一定位半径且外径为第二定位半径的圆环区域所覆盖的像素点标记为第二待测像素点,然后计算第二待测像素点的亮度值的平均值,若第二待测像素点的亮度值的平均值大于上一轮找到的位于同一列的线激光位置处的像素点的亮度值,则确定第二待测像素点是符合预设亮度分布特征的像素点,并确定所述当前帧图像的当前列中不存在线激光位置,则所述当前帧图像的当前列中的像素点设置为不存在线激光位置的像素点,再将所述当前帧图像的当前列中的像素点排除在步骤2的像素点搜索范围之外,同时确定机器人所处的环境的光强大于第一预设光强阈值;其中,第一定位半径小于第二定位半径,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置。
10.根据权利要求3所述激光定位方法,其特征在于,所述初始像素位置是在机器人的前方无障碍物的情况下,线激光发射器发射的线激光在机器人的行进平面反射回摄像头的视场范围后,形成于摄像头采集的图像中的原始像素点的位置;
每个原始像素点是对应机器人的行进平面上的一个反射位置,用于表示同一帧图像的各列中用于搜索所述线激光位置的搜索起点;
参考帧图像是配置为在采集到当前帧图像之前,机器人最新找到的线激光位置所在的一帧亮帧图像,其中,机器人最新找到的线激光位置是来源于参考帧图像对应列中设置出凸包中心像素点。
11.根据权利要求10所述激光定位方法,其特征在于,在所述步骤1中,若在所述当前帧图像的当前列中无法获取到初始像素位置,则将上一轮找到的位于同一列的线激光位置更新为所述初始像素位置,并将第二预设像素距离更新为搜索半径,再重复执行所述步骤2以搜索出对应列中的凸包中心像素点;其中,上一轮找到的位于同一列的线激光位置是属于参考帧图像的同一列像素点中最终确定出的凸包中心像素点所在的位置或第一帧亮帧图像的同一列像素点中的初始像素位置;
若机器人在重复执行所述步骤2的过程中,在同一列内始终搜索不出凸包中心像素点,则确定机器人在同一列内找不到线激光位置。
12.根据权利要求1所述激光定位方法,其特征在于,所述机器人通过执行亮度重心算法来从当前帧图像中提取出线激光位置的方法包括:
机器人逐列遍历所述当前帧图像;
机器人依次搜索当前列的各个像素点,并根据当前帧图像的当前列内当前搜索出的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点;
然后在当前帧图像的当前列中,将位置相邻接的至少两个合法像素点连接形成定位线段;当连接完位置相邻接的所有合法像素点后,选择出长度最大的定位线段;
若选择出的长度最大的定位线段的长度大于预设连续长度阈值,则将选择出的长度最大的定位线段设的中心设置为线激光位置。
13.根据权利要求12所述激光定位方法,其特征在于,根据当前帧图像内当前搜索的像素点的亮度值与上一帧亮帧图像的对应位置处的像素点的亮度值的大小关系以及上一帧亮帧图像的对应位置处的像素点的亮度值,从当前帧图像的当前列中筛选出合法像素点的方法包括:
将在所述当前帧图像内当前搜索的像素点的亮度值减去上一帧亮帧图像的具有相同行列位置处的像素点的亮度值,获得暗帧图像相对差值;当检测到暗帧图像相对差值的相反数大于预设亮度差阈值,且上一帧亮帧图像的具有相同行列位置处的像素点的亮度值大于参考亮帧图像亮度阈值时,将在所述当前帧图像内当前搜索的像素点设置为所述合法像素点。
14.根据权利要求1至13任一项所述激光定位方法,其特征在于,摄像头采集所述线激光发射器发射的线激光在待测物体表面反射回的光线所形成的图像序列是配置为亮帧图像与暗帧图像依次交替产生,以使:摄像头采集的当前帧图像是亮帧图像时,摄像头采集的下一帧图像是暗帧图像;在摄像头采集当前帧亮帧图像与摄像头采集下一帧亮帧图像的时间间隔内,摄像头采集当前帧暗帧图像;在摄像头采集下一帧亮帧图像之后,摄像头采集下一帧暗帧图像;
其中,执行所述激光定位方法的过程中,所述图像序列的第一帧图像是亮帧图像。
15.根据权利要求1至13任一项所述激光定位方法,其特征在于,所述激光定位方法还包括:
当机器人检测到其所处的环境的光强大于第一预设光强阈值时,机器人降低摄像头的增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝;
当机器人检测到其所处的环境的光强大于第一预设光强阈值时,机器人降低摄像头的曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现过曝;
当机器人检测到其所处的环境的光强小于第二预设光强阈值时,机器人提高摄像头的增益,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝;
当机器人检测到其所处的环境的光强小于第二预设光强阈值时,机器人提高摄像头的曝光时间,以使得摄像头采集的所述线激光在待测物体表面反射回的光线的图像不出现欠曝。
16.根据权利要求1至13任一项所述激光定位方法,其特征在于,当机器人检测到摄像头的当前曝光值大于第一预设曝光阈值时,调高线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积;
当机器人检测到摄像头的当前曝光值小于第二预设曝光阈值时,调低线激光发射器的用于发射线激光的功率档位,以使线激光发射器发射的线激光的强度配置为等于平滑系数与当前曝光值的乘积;
其中,第一预设曝光阈值大于第二预设曝光阈值,摄像头的当前曝光值用于反映摄像头在当前光照亮度的环境内的曝光量;平滑系数用于平滑曝光值调整的步长,以便于机器人从所述当前帧图像中搜索出线激光位置。
17.一种机器人,其特征在于,该机器人的机体装配有结构光模组,结构光模组包括线激光发射器和不设置红外滤光片的摄像头,以使摄像头采集的图像中保留有红外光的成像信息和可见光的成像信息;
机器人内部设置控制器,控制器与结构光模组电性连接,控制器被配置为执行权利要求1至16任一项所述激光定位方法,以获得所述线激光发射器发射的线激光在当前帧图像中的定位坐标;
其中,线激光发射器发射出去的线激光位于摄像头的视场范围内。
18.根据权利要求17所述机器人,其特征在于,所述摄像头的水平视角被配置为在机器人的前方接收所述线激光在机体宽度范围内反射回的光线;
和/或结构光模组在机器人的机体上的安装高度被配置为与待测的障碍物的高度成正相关关系,以使得待测的障碍物占据所述摄像头的有效视场空间。
19.根据权利要求18所述机器人,其特征在于,所述摄像头的上视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光形成的平面的底部;所述摄像头的下视角的覆盖范围被配置为覆盖到线激光发射器发射的线激光在机器人的机体前方的障碍物表面反射回的光线;
和/或所述摄像头相对于机器人的中轴线偏转形成的航向角保持在预设误差角度范围内,以使得摄像头的光轴与机器人的行进方向平行,且让摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线;
和/或所述摄像头沿着其光轴转动产生的翻滚角保持在预设误差角度范围内,以使摄像头在机器人的前方接收所述线激光在机体宽度范围内反射回的光线。
20.根据权利要求17所述机器人,其特征在于,若所述摄像头与所述线激光模块之间的安装距离越大,则在所述摄像头采集的图像中,用于表示所述线激光在障碍物的表面的反射位置的像素点相对于摄像头的中心的坐标偏移量增大。
21.根据权利要求17所述机器人,其特征在于,线激光发射器的发射角度和摄像头的接收角度被设置为:线激光发射器发射线激光至机体的前方的预设探测位置处,线激光在预设探测位置处反射回所述摄像头,其中,线激光在预设探测位置处形成的激光线段的长度大于机器人的机体宽度;
每当机器人沿着由当前位置指向所述预设探测位置的方向行走预设行进距离时,预设探测位置与机器人之间的水平距离变小,摄像头采集的图像中的用于表示所述线激光在所述预设探测位置中的同一反射位置的像素点相对于摄像头的中心的坐标偏移量增大。
CN202211119924.4A 2022-09-15 2022-09-15 基于图像信息的激光定位方法及机器人 Pending CN115619860A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211119924.4A CN115619860A (zh) 2022-09-15 2022-09-15 基于图像信息的激光定位方法及机器人
PCT/CN2023/112380 WO2024055788A1 (zh) 2022-09-15 2023-08-10 基于图像信息的激光定位方法及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211119924.4A CN115619860A (zh) 2022-09-15 2022-09-15 基于图像信息的激光定位方法及机器人

Publications (1)

Publication Number Publication Date
CN115619860A true CN115619860A (zh) 2023-01-17

Family

ID=84858496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211119924.4A Pending CN115619860A (zh) 2022-09-15 2022-09-15 基于图像信息的激光定位方法及机器人

Country Status (2)

Country Link
CN (1) CN115619860A (zh)
WO (1) WO2024055788A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117455940A (zh) * 2023-12-25 2024-01-26 四川汉唐云分布式存储技术有限公司 基于云值守的顾客行为检测方法、系统、设备及存储介质
WO2024055788A1 (zh) * 2022-09-15 2024-03-21 珠海一微半导体股份有限公司 基于图像信息的激光定位方法及机器人

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008014689A (ja) * 2006-07-04 2008-01-24 Matsushita Electric Ind Co Ltd 蛍光読取装置および位置補正用チップ
CN106091984B (zh) * 2016-06-06 2019-01-25 中国人民解放军信息工程大学 一种基于线激光的三维点云数据获取方法
CN107203973B (zh) * 2016-09-18 2020-06-23 江苏科技大学 一种三维激光扫描系统中线激光中心的亚像素定位方法
JP7007637B2 (ja) * 2017-10-26 2022-01-24 日本電気株式会社 レーザ測距装置、レーザ測距方法および位置調整プログラム
CN110631554B (zh) * 2018-06-22 2021-11-30 北京京东乾石科技有限公司 机器人位姿的确定方法、装置、机器人和可读存储介质
CN113554697A (zh) * 2020-04-23 2021-10-26 苏州北美国际高级中学 基于线激光的舱段轮廓精确测量方法
CN111640156A (zh) * 2020-05-26 2020-09-08 中国地质大学(武汉) 针对室外弱纹理目标的三维重建方法、设备及存储设备
CN114019533A (zh) * 2020-07-15 2022-02-08 原相科技股份有限公司 移动机器人
CN111798519A (zh) * 2020-07-21 2020-10-20 广东博智林机器人有限公司 激光条纹中心的提取方法、装置、电子设备及存储介质
CN113324478A (zh) * 2021-06-11 2021-08-31 重庆理工大学 一种线结构光的中心提取方法及锻件三维测量方法
CN115619860A (zh) * 2022-09-15 2023-01-17 珠海一微半导体股份有限公司 基于图像信息的激光定位方法及机器人

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055788A1 (zh) * 2022-09-15 2024-03-21 珠海一微半导体股份有限公司 基于图像信息的激光定位方法及机器人
CN117455940A (zh) * 2023-12-25 2024-01-26 四川汉唐云分布式存储技术有限公司 基于云值守的顾客行为检测方法、系统、设备及存储介质
CN117455940B (zh) * 2023-12-25 2024-02-27 四川汉唐云分布式存储技术有限公司 基于云值守的顾客行为检测方法、系统、设备及存储介质

Also Published As

Publication number Publication date
WO2024055788A1 (zh) 2024-03-21

Similar Documents

Publication Publication Date Title
CN115619860A (zh) 基于图像信息的激光定位方法及机器人
US10719723B2 (en) Path sensing using structured lighting
CN110852312B (zh) 悬崖检测方法、移动机器人的控制方法及移动机器人
CN107852465B (zh) 车载环境识别装置
JP5867596B2 (ja) 立体物検出装置及び立体物検出方法
US20230364797A1 (en) Mobile robot determining future exposure time of optical sensor
US12015757B2 (en) Obstacle detection method and apparatus and unmanned aerial vehicle
CN209991983U (zh) 一种障碍物检测设备及无人机
CN112749643A (zh) 一种障碍物检测方法、装置及系统
KR102062579B1 (ko) 영상 보정을 통해 그림자 및 빛 반사로 훼손된 차량번호판을 인식하는 차량번호판 인식 시스템
CN114092822B (zh) 图像处理方法、移动控制方法以及移动控制系统
CN107016343A (zh) 一种基于贝尔格式图像的红绿灯快速识别方法
CN115585738A (zh) 基于亮帧图像的激光定位方法
CN111602028A (zh) 用于沿着虚拟的轨系统自动地导向车辆的方法
CN115372933A (zh) 一种杂光过滤方法、装置及激光雷达
CN114879690A (zh) 场景参数调整方法、装置、电子设备及存储介质
CN114019533A (zh) 移动机器人
CN111383260A (zh) 应用于可见光模态的自适应激光信息高速检测处理方法
CN111246120B (zh) 移动设备的图像数据处理方法、控制系统及存储介质
CN116709035B (zh) 图像帧的曝光调节方法、装置和计算机存储介质
CN117830392B (zh) 一种环境物体识别方法和成像系统
EP4013037B1 (en) Space mapping illumination in image system
JP7178577B2 (ja) マルチパス除去方法および測距装置
US20230419681A1 (en) Automatic optimization of obstacle detection
US20220284707A1 (en) Target detection and control method, system, apparatus and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination