一种移动机器人的定位方法、定位装置及移动机器人转让专利
申请号 : CN201911372349.7
文献号 : CN111136648B
文献日 : 2021-08-27
发明人 : 蔡永辉 , 郭奎 , 赵雨佳 , 程骏 , 庞建新 , 熊友军
申请人 : 深圳市优必选科技股份有限公司
摘要 :
权利要求 :
1.一种移动机器人的定位方法,其特征在于,包括:将所述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
若基于所述目标检测的结果确定所述图像中包含有目标物体,则获取所述目标物体在所述图像中的目标框;
根据所述目标框的像素坐标计算所述目标框的高度;
根据所述目标框的高度、预设的焦距以及预设的所述目标物体的高度,计算目标距离,其中,所述目标距离为所述移动机器人采集所述图像时,所述移动机器人与所述目标物体之间的距离,所述预设的焦距为采集所述图像的镜头的焦距;
其中,所述目标物体为手扶电梯的电梯口,所述获取所述目标物体在所述图像中的目标框,包括:
获取所述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;
若存在至少一个矩形框所包含的检测对象为所述目标物体,则将检测对象为所述目标物体的矩形框确定为目标框;
若不存在矩形框所包含的检测对象为所述目标物体,则从所述至少一个矩形框中获取第一类框和第二类框,其中,所述第一类框为包含的检测对象为所述目标物体的扶手的矩形框,所述第二类框为包含的检测对象为所述目标物体的阶梯的矩形框;
根据所述第一类框和第二类框计算得到目标框。
2.根据权利要求1所述的定位方法,其特征在于,在所述获取所述目标物体在所述图像中的目标框之后,还包括:
获取所述目标框的中心点的像素坐标和所述图像的中心点的像素坐标;
根据所述目标框的中心点的像素坐标和所述图像的中心点的像素坐标,计算偏离距离,其中,所述偏离距离为所述目标框的中心点和所述图像的中心点之间的距离;
基于所述偏离距离和所述焦距,利用三角函数计算偏离角度,其中,所述偏离角度为所述目标物体相对于所述移动机器人,偏离所述移动机器人的前进方向的角度。
3.根据权利要求2所述的定位方法,其特征在于,所述定位方法还包括:根据所述目标距离,在预设的至少三个距离区间中,确定所述移动机器人所处的目标距离区间;
若所述目标距离区间为安全区间,则控制所述移动机器人运动;
若所述目标距离区间为预警区间,则根据逗留时间确定是否控制所述移动机器人运动,其中,所述逗留时间为所述移动机器人处于所述预警区间内的时间;
若所述目标距离区间为危险区间,则根据所述偏离角度确定是否控制所述移动机器人运动。
4.根据权利要求3所述的定位方法,其特征在于,所述根据逗留时间确定是否控制所述移动机器人运动,包括:
将逗留时间和预设的时间阈值进行比较;
若所述逗留时间大于所述时间阈值,则控制所述移动机器人停止运动;
若所述逗留时间小于或等于所述时间阈值,则控制所述移动机器人运动。
5.根据权利要求3所述的定位方法,其特征在于,所述根据所述偏离角度确定是否控制所述移动机器人运动,包括:
将所述偏离角度和预设的角度阈值进行比较;
若所述偏离角度大于所述角度阈值,则控制所述移动机器人运动;
若所述偏离角度小于或等于所述角度阈值,则控制所述移动机器人停止运动。
6.根据权利要求1‑5任意一项所述的定位方法,其特征在于,所述卷积神经网络为深度可分离卷积神经网络,所述卷积神经网络基于FocalLoss函数训练得到。
7.一种移动机器人的定位装置,其特征在于,包括:网络目标检测单元,用于将所述移动机器人采集到的图像输入至训练后的卷积神经网络进行目标检测;
目标框获取单元,用于若基于所述目标检测的结果确定所述图像中包含有目标物体,则获取所述目标物体在所述图像中的目标框;
目标框高度计算单元,用于根据所述目标框的像素坐标计算所述目标框的高度;
目标距离计算单元,用于根据所述目标框的高度、预设的焦距以及预设的所述目标物体的高度,计算目标距离,其中,所述目标距离为所述移动机器人采集所述图像时,所述移动机器人与所述目标物体之间的距离,所述预设的焦距为采集所述图像的镜头的焦距;
其中,所述目标物体为手扶电梯的电梯口,所述目标框获取单元包括:矩形框获取子单元,用于获取所述目标检测的结果中包含的至少一个矩形框,其中,每一矩形框包含有各自的检测对象;
矩形目标框获取子单元,用于若存在至少一个矩形框所包含的检测对象为所述目标物体,则将检测对象为所述目标物体的矩形框确定为目标框;
类框获取子单元,用于若不存在矩形框所包含的检测对象为所述目标物体,则从所述至少一个矩形框中获取第一类框和第二类框,其中,所述第一类框为包含的检测对象为所述目标物体的扶手的矩形框,所述第二类框为包含的检测对象为所述目标物体的阶梯的矩形框;
目标框计算子单元,用于根据所述第一类框和第二类框计算得到目标框。
8.一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至
6任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
说明书 :
一种移动机器人的定位方法、定位装置及移动机器人
技术领域
背景技术
特定方向发射出一束光线,此束光线在遇到物体后会反弹回来并被机器人上的接收装置接
收。由于光速已知,通过计算激光雷达发射光线与接收装置接收光线之间的时间间隔,就可
以推导出机器人与物体之间的距离。
时,激光会直接穿透玻璃而不会返回,导致机器人的导航定位功能失效。
发明内容
物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦距。
述移动机器人与上述目标物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦
距。
上述第一方面所提供的方法。
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
附图说明
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
具体实施方式
细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
步骤、操作、元素、组件和/或其集合的存在或添加。
定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响
应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、
“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是
所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变
形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
的卷积神经网络进行目标检测。上述卷积神经网络可以识别出上述图像中的目标物体,并
对上述图像中的目标物体进行定位,得到上述目标物体在上述图像中的像素坐标。
的结果指示图像中不包含上述目标物体时,则舍弃该帧图像,通过上述视觉传感器采集下
一帧图像输入至上述卷积神经网络;当上述目标检测的结果指示图像中包含上述目标物体
时,则从上述目标检测的结果中获取上述目标物体在上述图像中的目标框。上述目标框中
包含有上述目标物体,上述目标框指示了上述目标物体在上述图像中的像素坐标。
扶手的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯的矩形框;
需要说明的是,上述目标检测不一定能够把所有检测对象都检测出来,可能会存在漏检。当
上述目标检测的结果中包括有上述目标框时,或者当上述目标检测的结果中同时包括有上
述第一类框和上述第二类框时,则认为上述图像中包含有目标物体(手扶电梯的电梯口)。
为上述电梯口,则将检测对象为上述电梯口的矩形框确定为目标框;如果不存在矩形框所
包含的检测对象为上述电梯口,则从上述至少一个矩形框中获取第一类框和第二类框,其
中,上述第一类框为包含的检测对象为扶手的矩形框,上述第二类框为包含的检测对象为
阶梯的矩形框。根据上述第一类框的几何参数和上述第二类框的几何参数,即可计算出目
标框。
述图像中每个像素点的宽度可以从上述视觉传感器的出厂参数中获得,所以可以根据上述
目标框的中心点的像素坐标和上述图像的中心点的像素坐标,计算出偏离距离(图3中三角
形的短直角边)。基于上述偏离距离和上述视觉传感器的镜头的焦距(图3中三角形的长直
角边),利用三角函数 即可计算得到偏离角度,其中,θ为偏离角度,x为偏离距
离,f为焦距。
否朝向目标物体前进,为移动机器人避开目标物体提供了可能。
像中的像高。
的焦距。设定f表示镜头的焦距,v表示图像的像距,u表示目标距离(即目标物体到移动机器
人的距离),h表示目标框的高度(即目标物体的像高),H表示目标物体的高度,目标物体的
高度预先由测量工具测量得到。根据小孔成像原理,可以得到 由于目标距离u要
远远大于像距v,所以可将目标距离u看做无穷大,即 由此得到v=f。如图5所示,
根据三角形相似原理,可以得到 又由于v=f,所以可得目标距离的计算公式
根据该计算公式,在目标框的高度、焦距以及目标物体的高度已知的情况
下,即可计算得到目标距离。
离小于2米,预警区间为距离上述目标物体的距离大于或等于2米且小于2.5米,安全区间为
距离上述目标物体的距离大于2.5米。根据上述目标距离的大小,则可以确定上述移动机器
人当前处于的距离区间,将该距离区间作为上述目标距离区间。如果上述目标距离区间为
安全区间,则可以控制上述移动机器人运动。如果上述目标距离区间为预警区间,则根据上
述逗留时间确定是否控制上述移动机器人运动。在上述移动机器人每次进入到上述预警区
间时,即开始计时,得到上述逗留时间;当上述移动机器人离开上述预警区间时,则会停止
计时。如果上述目标距离区间为危险区间,则根据上述偏离角度确定是否控制上述移动机
器人运动。
撞。如果上述逗留时间小于或等于上述时间阈值,表示上述移动机器人不会与上述目标物
体发生碰撞,则控制上述移动机器人运动。例如,时间阈值为2秒,当上述移动机器人在上述
预警区间的逗留时间大于2秒时,则控制上述移动机器人停止运动。
不会与上述目标物体发生碰撞,则控制上述移动机器人运动。如果上述偏离角度小于或等
于上述角度阈值,表示上述移动机器人的前进方向是朝向上述目标物体的,上述移动机器
人可能会与上述目标物体发生碰撞,则控制上述移动机器人停止运动。
操作,即点卷积和深度卷积,大大降低了卷积神经网络的计算量。例如,输入的第一特征图
为D×D×M,输出的第二特征图为D×D×N,其中,D×D为第一特征图和第二特征图的尺寸,M
和N均为通道数,卷积核的大小为k×k。对于标准卷积,其计算量为k×k×M×N×D×D。而对
于深度可分离卷积,其计算量则为k×k×M×D×D+M×N×D×D。通过深度可分离卷积的计
算量比标准卷积的计算量可以得到: 由此可见
深度可分离卷积的计算量仅仅为标准卷积的计算量的 倍。深度可分离卷积神经网络
加快了上述目标检测的计算速度,使上述移动机器人可以实时计算出上述目标距离。
练上述卷积神经网络的损失函数采用了Focal Loss函数,可有效解决由于正负样本不均衡
γ
导致的目标检测的准确率较低的问题。其中,Focal Loss函数为FL(p)=‑α(1‑p) log(p),
FL表示损失值,p表示不同类别的分类置信度,α和γ均为预设的权重值,此处设置α=0.25,
γ=2.0。
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
定。
上述移动机器人与上述目标物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦
距。
心点之间的距离;
前进方向的角度。
时间;
为上述目标物体的扶手的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯
的矩形框;
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
器71中并可在上述至少一个处理器70上运行的计算机程序72,上述处理器70执行上述计算
机程序72时实现以下步骤:
物体之间的距离,上述预设的焦距为采集上述图像的镜头的焦距。
括:
或者上述第五种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述目标物
体为手扶电梯的电梯口,上述获取上述目标物体在上述图像中的目标框,包括:
的矩形框,上述第二类框为包含的检测对象为上述目标物体的阶梯的矩形框;
或者上述第五种可能的实施方式作为基础而提供的第七种可能的实施方式中,上述卷积神
经网络为深度可分离卷积神经网络,上述卷积神经网络基于Focal Loss函数训练得到。
或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络
接入设备等。
成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
部存储设备,例如上述移动机器人7上配备的插接式硬盘,智能存储卡(Smart Media Card,
SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器71
还可以既包括上述移动机器人7的内部存储单元也包括外部存储设备。上述存储器71用于
存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如上述计
算机程序的程序代码等。上述存储器71还可以用于暂时地存储已经输出或者将要输出的数
据。
取上述目标物体在上述图像中的目标框;根据上述目标框的像素坐标计算上述目标框的高
度;根据上述目标框的高度、预设的焦距以及预设的上述目标物体的高度,计算目标距离。
本申请方案通过视觉目标检测技术,可以使移动机器人在各种场景下均能精确地导航定
位。
处不再赘述。
功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程
序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个
方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以
为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可
以包括:能够将计算机程序代码携带到移动机器人的任何实体或装置、记录介质、计算机存
储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access
Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。
在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信
号。
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。