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