掌桥专利:专业的专利平台
掌桥专利
首页

基于路面检测构建代价地图的方法、装置、介质和机器人

文献发布时间:2023-06-19 10:11:51


基于路面检测构建代价地图的方法、装置、介质和机器人

技术领域

本发明涉及机器人领域,尤其涉及一种基于路面检测构建代价地图的方法、装置、介质和机器人。

背景技术

随着机器人行业的快速发展,各种服务机器人层出不穷,机器人在我们的生活、工作中也应用得越来越广泛。机器人在室内运动时,依赖其传感器感知周围环境,传感器包括激光雷达、超声波以及摄像头等等。而单线激光雷达是一种常见的经济可靠的解决方案,通过检测机器人与障碍物之间的障碍物距离实现局部路径规划。但是,在玻璃镜子等强反光、路面塌陷以及存在小石块的场景,激光雷达得到的距离数据容易失效,导致局部路径规划结果不可靠。现有技术可以采用多种传感器数据,比如激光雷达数据与惯性测量单元数据、陀螺仪数据等多数据融合的方式进行路径规划,但是通信资源要求高,且计算过程复杂。

发明内容

本发明提供了一种基于路面检测构建代价地图的方法、装置、介质和机器人,解决了现有技术对通信资源要求高、计算过程复杂的技术问题。

本发明解决上述技术问题的技术方案如下:一种基于路面检测构建代价地图的方法,包括以下步骤:

步骤1,采集前方视野图像,并基于预设语义分割网络计算所述前方视野图像中每个像素点分别为路面的置信度,生成置信度矩阵;

步骤2,获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标,并通过所述置信度矩阵计算每个预设路面点的初始路面置信度;

步骤3,通过所有预设路面点对应的初始路面置信度构建对应障碍物地图层的代价函数,以生成局部代价地图。

在一个优选实施方式中,所述通过置信度矩阵计算每个预设路面点的初始路面置信度,具体包括以下步骤:

S201,获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标;

S202,采用预设坐标变换方法计算每个预设路面点在所述前方视野图像中对应的目标像素点;

S203,采用双线性插值方法生成每个目标像素点在所述前方视野图像中对应的四个邻近像素点;

S204,查询所述置信度矩阵,获取所述四个邻近像素点分别对应的第一邻近点置信度s1、第二邻近点置信度s2、第三邻近点置信度s3和第四邻近点置信度s4;

S205,采用第一预设公式计算所述每个预设路面点的初始路面置信度,所述第一预设公式为:

score=(1-dυ)*f

f

f

其中,score为预设路面点的初始路面置信度,u、v为前方视野图像中对应的目标像素点坐标,du=u-[u],dv=v-[v],符号[]表示向下取整。

在一个优选实施方式中,所述采用所有预设路面点的初始路面置信度构建对应障碍物地图层的代价函数,具体包括以下步骤:

采用预设平滑滤波算法对每个预设路面点的的初始路面置信度进行滤波,生成优化路面置信度;

采用所述优化路面置信度构建对应障碍物地图层的代价函数;

所述预设平滑滤波算法包括均值平滑滤波算法、领域平滑滤波算法、双边滤波算法以及中值滤波算法中的任意一种。

在一个优选实施方式中,采用均值平滑滤波算法对每个预设路面点的初始路面置信度进行滤波,所采用的滤波公式为:

其中,

在一个优选实施方式中,采用所有预设路面点对应的优化路面置信度构建对应障碍物地图层的代价函数为:

cost

本发明实施例的第二方面提供了一种基于路面检测构建代价地图的装置,包括分割模块、计算模块和构建模块,

所述分割模块用于采集前方视野图像,并基于预设语义分割网络计算所述前方视野图像中每个像素点分别为路面的置信度,生成置信度矩阵;

所述计算模块用于获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标,并通过所述置信度矩阵计算每个预设路面点的初始路面置信度;

所述构建模块用于通过所有预设路面点对应的初始路面置信度构建对应障碍物地图层的代价函数,以生成局部代价地图。

在一个优选实施方式中,所述计算模块具体包括:

获取单元,用于获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标;

坐标变换单元,用于采用预设坐标变换方法计算每个预设路面点在所述前方视野图像中对应的目标像素点;

插值单元,用于采用双线性插值方法生成每个目标像素点在所述前方视野图像中对应的四个邻近像素点;

查询单元,用于查询所述置信度矩阵,获取所述四个邻近像素点分别对应的第一邻近点置信度s1、第二邻近点置信度s2、第三邻近点置信度s3和第四邻近点置信度s4;

计算单元,用于采用第一预设公式计算所述每个预设路面点的初始路面置信度,所述第一预设公式为:

score=(1-dυ)*f

f

f

其中,score为预设路面点的初始路面置信度,u、v为前方视野图像中对应的目标像素点坐标,du=u-[u],dv=v-[v],符号[]表示向下取整。

在一个优选实施方式中,所述构建模块具体包括:

滤波单元,用于采用均值平滑滤波算法对每个预设路面点的初始路面置信度进行滤波,生成优化路面置信度;

构建单元,用于采用所有预设路面点对应的优化路面置信度构建对应障碍物地图层的代价函数。

本发明实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以上所述基于路面检测构建代价地图的方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以上所述基于路面检测构建代价地图的方法的步骤。

本发明提供了一种基于路面检测构建代价地图的方法、装置、介质和机器人,当机器人在室内平层移动时,借助机器人摄像头实现图像的路面分割,并将路面置信度投影到空间坐标系下构建障碍物地图层的代价函数,计算过程简单快速,且在玻璃镜子等强反光、路面塌陷以及存在小石块等场景具备非常好的应用效果。

为使发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是实施例1提供的基于路面检测构建代价地图的方法的流程示意图;

图2是实施例2提供的基于路面检测构建代价地图的装置的结构示意图;

图3是实施例3提供的一种控制器的电路结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本发明所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。

本发明实施例的机器人可以被构造成任何合适形状,以便实现特定业务功能操作,例如,本发明实施例机器人可以为递送机器人、搬运机器人、看护机器人等等。

所述机器人一般包括壳体、传感器单元、驱动轮部件、存储部件及控制器。壳体的外形大体上呈圆形,在一些实施例中,壳体的外形可以大体上呈椭圆形、三角形、D形、柱形或其他形状。

传感器单元用于采集机器人的一些运动参数及环境空间各类数据。在一些实施例中,传感器单元包括激光雷达,激光雷达安装于壳体上方,其安装高度高于所述壳体的顶部面壳高度,激光雷达用于检测机器人与障碍物之间的障碍物距离。在一些实施例中,传感器单元还可以包括惯性测量单元(Inertialmeasurementunit,IMU)、陀螺仪、磁场计、加速度计或速度计、光学摄像头等等。

驱动轮部件安装于壳体并驱动机器人在各种空间上移动,在一些实施例中,驱动轮部件包括左驱动轮、右驱动轮及全向轮,左驱动轮和右驱动轮分别安装于壳体的相对两侧。左驱动轮和右驱动轮被配置为至少部分可伸出及缩回壳体的底部。全向轮安装于壳体的底部的靠前位置,全向轮为活动脚轮,可以水平360度旋转,以使得机器人可以灵活转向。左驱动轮、右驱动轮及全向轮的安装构成三角形,以提高机器人行走的平稳性。当然,在一些实施例中,驱动轮部件还可以采用其他结构,比如全向轮可被省略,只留左驱动轮与右驱动轮亦可以驱动机器人正常行走。

在一些实施例中,机器人还配置有存储部件,存储部件安装于收容槽内,从而完成递送任务等等。

控制器分别与左驱动轮、右驱动轮、全向轮及激光雷达电连接。控制器作为机器人的控制核心,用于控制机器人行走、后退以及一些业务逻辑处理。

在一些实施例中,控制器可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、AR(AcornRI SCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,控制器还可以是任何传统处理器、控制器、微控制器或状态机。控制器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。

在一些实施例中,上述机器人在活动的过程中,控制器采用SLAM(simultaneouslocal izationandmapping,即时定位与建图技术)技术,根据环境数据构建地图和定位,从而移动到目标位置完成递送任务、清洁任务等。控制器基于被建立好的地图以及机器人的位置,通过全覆盖路径规划算法指示机器人完全遍历一个环境空间。例如,在机器人遍历时,传感器单元获取遍历区域的图像,其中,该遍历区域的图像可以为整片遍历区域的图像,亦可以为整片遍历区域中局部遍历区域的图像。控制器根据遍历区域的图像生成地图,该地图已指示机器人需要遍历的区域以及位于遍历区域中的障碍物所在的坐标位置。当机器人每遍历完一个位置或区域后,机器人基于该地图,标记该位置或区域已被遍历。并且,由于障碍物在地图中是以坐标方式被标记,机器人遍历时,可以根据当前位置对应的坐标点与障碍物涉及的坐标点,判断与障碍物之间的距离,从而实现环绕障碍物作遍历工作。同理,位置或区域已遍历而被标记后,当机器人下一个位置将会移动至该位置或该区域时,机器人基于该地图以及该位置或该区域的标记,作出转弯调头或者停止遍历的策略。

可以理解的是,控制器还可以根据多种方式识别已遍历位置或区域,或者,识别障碍物,从而作出满足产品需求的控制策略。

本实施例构建代价地图的方法采用了语义分割网络模型。语义分割是一种对图像做像素级分类的技术,随着深度学习的发展,越来越多的轻量化语义分割网络模型如Bisenet,Enet等可以将机器人摄像头捕获的摄像头数据图片中可行驶区域分割出来,指导机器人在局部区域进行路径规划。机器人路径规划中通常借助全局静态地图和局部代价地图来实现,局部代价地图的生成主要是借助机器人传感器感知自身周围环境,并根据环境障碍物信息构建代价地图中的代价值。本发明的方法即是一种利用语义分割网络模型构建局部代价地图的方法。

请参阅图1,为本发明实施例1提供一种基于路面检测构建代价地图的方法的流程示意图,如图1所示,方法包括以下步骤:

步骤1,采集前方视野图像,并基于预设语义分割网络计算所述前方视野图像中每个像素点分别为路面的置信度,生成置信度矩阵。本实施例采用基于实时轻量化语义分割网络Bisenet,从机器人前置摄像头中获取前方视野图像,将图像放入路面分割网络中,计算出图像中每个像素点是室内路面的置信度Score[u,v]。

步骤2,获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标,并通过所述置信度矩阵计算每个预设路面点的初始路面置信度。具体包括以下步骤:

S201,获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标。在空间路面上设置预设路面点时,X表示相对机器人的横坐标,Z表示相对机器人的纵坐标,比如X从-2米到2米,每隔0.1米取一个坐标点,Z从0米到5米,每隔0.1米取一个坐标点,从而生成一个栅格地图。

S202,采用预设坐标变换方法计算每个预设路面点在所述前方视野图像中对应的目标像素点。本发明采用基于单映性原理进行坐标变换。

具体来说,由棋盘格标定的方式标定机器人摄像头内外参数(K,RT),相机的内参矩阵K为:

外参矩阵RT:

机器人摄像头平视安装在高度Hc的机器人本体上,因此R11=R22=R33=1,R12=R13=R21=R23=R31=R32=0,转化到机器人坐标系下,t1=t3=0,t2=Hc(camera_height)(即相机安装高度,固定值)。这时相机矩阵KRT可以表示为:

在路面分割场景中,路面的空间高度坐标Y=0,因此路面的图像坐标[u,v]与路面空间位置[X,0,Z]的关系如下:

由上述公式可得,空间中路面[X,0,Z]可以映射到视觉图片中对应像素点[u,v]。

S203,采用双线性插值方法生成每个目标像素点在所述前方视野图像中对应的四个邻近像素点。考虑任一路面点[X,0,Z],映射到视觉图片中对应点[u,v],其中u,v通常不是整数,需要取周围像素点近似计算。本发明采用双线性插值的方法计算路面置信度,取目标点u,v附近四个点([u],[v]),([u+1],[v]),([u],[v+1]),([u+1],[v+1]),其中符号[]表示向下取整。

S204,查询所述置信度矩阵,获取所述四个邻近像素点分别对应的第一邻近点置信度s1、第二邻近点置信度s2、第三邻近点置信度s3和第四邻近点置信度s4。

S205,采用第一预设公式计算所述每个预设路面点的初始路面置信度,所述第一预设公式为:

score=(1-dυ)*f

f

f

其中,score为预设路面点的初始路面置信度,u、v为前方视野图像中对应的目标像素点坐标,du=u-[u],dv=v-[v],符号[]表示向下取整。

然后执行步骤3,通过所有预设路面点对应的初始路面置信度构建对应障碍物地图层的代价函数,以生成局部代价地图。具体包括以下步骤:

S301,采用预设平滑滤波算法对每个预设路面点的的初始路面置信度进行滤波,生成优化路面置信度。室内路面通常是平滑连通区域,因此生成的代价地图也应该平滑,而上述步骤直接计算出的置信度会有噪声干扰,因此需要对置信度滤波。所述预设平滑滤波算法包括均值平滑滤波算法、领域平滑滤波算法、双边滤波算法以及中值滤波算法中的任意一种。优选实施例可以采用均值平滑滤波算法对每个预设路面点的初始路面置信度进行滤波,所采用的滤波公式为:

其中,

S302,采用所有预设路面点对应的优化路面置信度构建对应障碍物地图层的代价函数为:

cost

最后结合全局静态地图层,组合生成代价地图供给后续规划模块使用。

本实施例基于路面检测构建代价地图的方法,当机器人在室内平层移动时,借助机器人摄像头实现图像的路面分割,并将路面置信度投影到空间坐标系下构建障碍物地图层的代价函数,计算过程简单快速,且在玻璃镜子等强反光、路面塌陷以及存在小石块等场景具备非常好的应用效果。

需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。

作为本发明实施例的另一方面,本发明实施例还提供一种基于路面检测构建代价地图的装置。其中,基于路面检测构建代价地图的装置可以为软件模块,所述软件模块包括若干指令,其存储在存储器内,处理器可以访问该存储器,调用指令进行执行,以完成上述各个实施例所阐述的基于路面检测构建代价地图的方法。

在一些实施例中,基于路面检测构建代价地图的装置亦可以由硬件器件搭建成的,例如,基于路面检测构建代价地图的装置可以由一个或两个以上的芯片搭建而成,各个芯片可以互相协调工作,以完成上述各个实施例所阐述的基于路面检测构建代价地图的方法。再例如,基于路面检测构建代价地图的装置还可以由各类逻辑器件搭建而成,诸如由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(AcornRISCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合而搭建成。

图2是本发明实施例2提供一种基于路面检测构建代价地图的装置的结构示意图,该基于路面检测构建代价地图的装置包括分割模块100、计算模块200和构建模块300,

所述分割模块100用于采集前方视野图像,并基于预设语义分割网络计算所述前方视野图像中每个像素点分别为路面的置信度,生成置信度矩阵;

所述计算模块200用于获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标,并通过所述置信度矩阵计算每个预设路面点的初始路面置信度;

所述构建模块300用于通过所有预设路面点对应的初始路面置信度构建对应障碍物地图层的代价函数,以生成局部代价地图。

在一个优选实施方式中,所述计算模块200具体包括:

获取单元,用于获取所述前方视野图像对应空间路面上至少一个预设路面点的空间位置坐标;

坐标变换单元,用于采用预设坐标变换方法计算每个预设路面点在所述前方视野图像中对应的目标像素点;

插值单元,用于采用双线性差值方法生成每个目标像素点在所述前方视野图像中对应的四个邻近像素点;

查询单元,用于查询所述置信度矩阵,获取所述四个邻近像素点分别对应的第一邻近点置信度s1、第二邻近点置信度s2、第三邻近点置信度s3和第四邻近点置信度s4;

计算单元,用于采用第一预设公式计算所述每个预设路面点的初始路面置信度,所述第一预设公式为:

score=(1-dυ)*f

f

f

其中,score为预设路面点的初始路面置信度,u、v为前方视野图像中对应的目标像素点坐标,du=u-[u],dv=v-[v],符号[]表示向下取整。

在一个优选实施方式中,所述构建模块300具体包括:

滤波单元,用于采用均值平滑滤波算法对每个预设路面点的初始路面置信度进行滤波,生成优化路面置信度;

构建单元,用于采用所有预设路面点对应的优化路面置信度构建对应障碍物地图层的代价函数。

本实施例基于路面检测构建代价地图的装置,当机器人在室内平层移动时,借助机器人摄像头实现图像的路面分割,并将路面置信度投影到空间坐标系下构建障碍物地图层的代价函数,计算过程简单快速,且在玻璃镜子等强反光、路面塌陷以及存在小石块等场景具备非常好的应用效果。

需要说明的是,上述基于路面检测构建代价地图的装置可执行本发明实施例所提供的基于路面检测构建代价地图的方法,具备执行方法相应的功能模块和有益效果。未在基于路面检测构建代价地图的装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的基于路面检测构建代价地图的方法。

图3是本发明实施例提供的一种控制器的电路结构示意图。如图3所示,该控制器600包括一个或多个处理器61以及存储器62。其中,图3中以一个处理器61为例。

处理器61和存储器62可以通过总线或者其他方式连接,图3中以通过总线连接为例。

存储器62作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的基于路面检测构建代价地图的方法对应的程序指令/模块。处理器61通过运行存储在存储器62中的非易失性软件程序、指令以及模块,从而执行基于路面检测构建代价地图的装置的各种功能应用以及数据处理,即实现上述方法实施例提供的基于路面检测构建代价地图的方法以及上述装置实施例的各个模块或单元的功能。

存储器62可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至处理器61。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器62中,当被所述一个或者多个处理器61执行时,执行上述任意方法实施例中的基于路面检测构建代价地图的方法。

本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图3中的一个处理器61,可使得上述一个或多个处理器可执行上述任意方法实施例中的基于路面检测构建代价地图的方法。

本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行任一项所述的基于路面检测构建代价地图的方法。

以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 基于路面检测构建代价地图的方法、装置、介质和机器人
  • 基于闭环检测校正的移动机器人地图构建方法、存储介质及设备
技术分类

06120112455118