发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种导航方法、导航***、移动控制***及移动机器人,用于对现有地图数据进行改进以提高人机交互性。
为实现上述目的及其他相关目的,本申请的第一方面提供一种用于移动机器人的导航方法,所述移动机器人包括摄像装置,所述导航方法包括下述步骤:自所述摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象;基于所述摄像装置所摄取的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置;以及基于所述相对空间位置在预设地图中标记相应物体种类标签以生成标记有物体种类标签的地图,所述地图用于移动机器人的导航。
在本申请的第一方面的某些实施方式中,所述自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象的步骤包括:基于第一神经网络所提供的物体种类标签从所摄取的图像中识别与所述物体种类标签相符的对象。
在本申请的第一方面的某些实施方式中,所述基于摄像装置所摄取的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置的步骤包括:基于获取自一个摄像装置的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置;或者,基于同步获取自不同摄像装置的包括所识别对象的至少两幅图像,确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第一方面的某些实施方式中,所述导航方法还包括以下步骤:识别所摄取的图像中障碍物与地面的交界线;以及从所识别的与预先标记的物体种类标签相符的对象中选出放置于地面上的物体。
在本申请的第一方面的某些实施方式中,所述识别所摄取的图像中障碍物与地面的交界线的步骤包括:利用第二神经网络识别所述图像中障碍物与地面的交界线。
在本申请的第一方面的某些实施方式中,所述基于获取自一个摄像装置的包括所识别对象的至少一幅图像,确定所述放置于地面上的物体与所述移动机器人之间的相对空间位置的步骤包括:基于预设的物理参考信息,确定所述放置于地面上的物体所对应的物理位置与所述移动机器人之间的相对空间位置。
在本申请的第一方面的某些实施方式中,所述物理参考信息包括:所述摄像装置相距地面的物理高度、所述摄像装置的物理参数、和所述摄像装置的主光轴相对于水平或垂直面的夹角。
在本申请的第一方面的某些实施方式中,所述基于获取自一个摄像装置的包括所识别对象的至少两幅图像,确定所述对象与所述移动机器人之间的相对空间位置的步骤包括:基于所述一个摄像装置所摄取的包括所识别对象的当前时刻图像和上一时刻图像,获取所识别对象在当前时刻图像和上一时刻图像中相匹配特征的位置,以及依据所述位置以及图像坐标系与物理空间坐标系的对应关系来确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第一方面的某些实施方式中,所述基于同步获取自不同摄像装置的包括所识别对象的至少两幅图像,确定所述对象与所述移动机器人之间的相对空间位置的步骤包括:基于所述两个摄像装置分别摄取的包括所识别对象的当前时刻图像,获取所识别对象分别在当前时刻图像中相匹配特征的位置,以及依据所述位置以及摄像装置之间的位置关系来确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第一方面的某些实施方式中,所述基于相对空间位置在预设地图中标记相应物体种类标签以生成标记有物体种类标签的地图的步骤包括:在预设地图中对应所述相对空间位置的栅格上标记相应物体种类标签。
在本申请的第一方面的某些实施方式中,所述导航方法还包括下述步骤:获取包含物体种类标签的指令;利用所生成的地图,确定所述指令中物体种类标签在所述地图中的目的位置信息和移动机器人在所述地图中的当前位置信息;以及利用所述地图生成自所述当前位置信息至所述目的位置信息的导航路线。
在本申请的第一方面的某些实施方式中,所述导航方法还包括:将所述导航路线发送至终端设备的步骤,以在所述终端设备所显示的地图上显示所述导航路线、当前位置信息、或/及目的位置信息。
在本申请的第一方面的某些实施方式中,所述获取包含物体种类标签的指令的步骤包括:获取一语音信息;以及从所述语音信息中识别包含物体种类标签的指令。
在本申请的第一方面的某些实施方式中,所述获取包含物体种类标签的指令的步骤包括:自一终端设备获取包含物体种类标签的指令;其中,所述终端设备与所述移动机器人无线连接。
在本申请的第一方面的某些实施方式中,所述导航方法还包括基于所述导航路线控制移动机器人自对应的当前位置移动至对应的目的位置的步骤。
本申请的第二方面提供一种用于移动机器人的导航***,所述移动机器人包括摄像装置,包括:第一识别单元,用于自所述摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象;确定单元,用于基于所述摄像装置所摄取的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置;以及导航单元,用于基于所述相对空间位置在预设地图中标记相应物体种类标签以生成标记有物体种类标签的地图,所述地图用于移动机器人的导航。
在本申请的第二方面的某些实施方式中,所述第一识别单元用于基于第一神经网络所提供的物体种类标签从所摄取的图像中识别与所述物体种类标签相符的对象。
在本申请的第二方面的某些实施方式中,所述确定单元包括:第一确定单元,用于基于获取自一个摄像装置的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置;以及第二确定单元,用于基于同步获取自不同摄像装置的包括所识别对象的至少两幅图像,确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第二方面的某些实施方式中,所述导航***还包括第二识别单元,用于识别所摄取的图像中障碍物与地面的交界线;以及从所识别的与预先标记的物体种类标签相符的对象中选出放置于地面上的物体。
在本申请的第二方面的某些实施方式中,所述第二识别单元利用第二神经网络识别所述图像中障碍物与地面的交界线。
在本申请的第二方面的某些实施方式中,所述确定单元用于基于预设的物理参考信息,确定所述放置于地面上的物体所对应的物理位置与所述移动机器人之间的相对空间位置。
在本申请的第二方面的某些实施方式中,所述物理参考信息包括:所述摄像装置相距地面的物理高度、所述摄像装置的物理参数、和所述摄像装置的主光轴相对于水平或垂直面的夹角。
在本申请的第二方面的某些实施方式中,所述第一确定单元用于基于所述一个摄像装置所摄取的包括所识别对象的当前时刻图像和上一时刻图像,获取所识别对象在当前时刻图像和上一时刻图像中相匹配特征的位置,以及依据所述位置以及图像坐标系与物理空间坐标系的对应关系来确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第二方面的某些实施方式中,所述第二确定单元用于基于所述两个摄像装置分别摄取的包括所识别对象的当前时刻图像,获取所识别对象分别在当前时刻图像中相匹配特征的位置,以及依据所述位置以及摄像装置之间的位置关系来确定所述对象与所述移动机器人之间的相对空间位置。
在本申请的第二方面的某些实施方式中,所述导航单元用于在预设地图中对应所述相对空间位置的栅格上标记相应物体种类标签。
在本申请的第二方面的某些实施方式中,所述导航***还包括:获取单元,用于获取包含物体种类标签的指令;所述确定单元还用于利用所生成的地图,确定所述指令中物体种类标签在所述地图中的目的位置信息和移动机器人在所述地图中的当前位置信息;以及所述导航单元还用于利用所述地图生成自所述当前位置信息至所述目的位置信息的导航路线。
在本申请的第二方面的某些实施方式中,所述导航***还包括通信单元,用于将所述导航路线发送至终端设备,以在所述终端设备所显示的地图上显示所述导航路线、当前位置信息、或/及目的位置信息。
在本申请的第二方面的某些实施方式中,所述获取单元用于获取一语音信息;以及从所述语音信息中识别包含物体种类标签的指令。
在本申请的第二方面的某些实施方式中,所述获取单元用于自一终端设备获取包含物体种类标签的指令;其中,所述终端设备与所述移动机器人无线连接。
在本申请的第二方面的某些实施方式中,所述导航单元还用于基于所述导航路线控制移动机器人自对应的当前位置移动至对应的目的位置。
本申请的第三方面提供一种移动机器人,包括:摄像装置,用于在所述移动机器人移动期间摄取图像;移动装置,用于受控地带动所述移动机器人整机移动;存储装置,用于存储所摄取的图像、预先标记的物体种类标签以及程序;以及处理装置,用于调用所述程序中的至少一个程序并执行上述中任一所述的导航方法以得到标记有物体种类标签的地图。
在本申请的第三方面的某些实施方式中,所述移动机器人还包括输入装置,用于获取包含物体种类标签的指令;所述处理装置还用于执行下述步骤:利用所述导航方法所生成的地图,确定所述指令中物体种类标签在所述地图中的目的位置信息和移动机器人在所述地图中的当前位置信息;以及利用所述地图控制所述移动装置自对应的当前位置移动至对应的目的位置。
在本申请的第三方面的某些实施方式中,所述输入装置包括语音输入单元,用于获取一语音信息;以及所述处理装置从所述语音信息中识别包含物体种类标签的指令。
在本申请的第三方面的某些实施方式中,所述输入装置包括网络接口单元,用于自一无线连接的终端设备处获取包含物体种类标签的指令。
在本申请的第三方面的某些实施方式中,所述网络接口单元还用于将自对应的当前位置移动至对应的目的位置的移动路线发送至所述终端设备,以在所述终端设备所显示的地图上显示所述移动路线、当前位置信息、或/及目的位置信息。
在本申请的第三方面的某些实施方式中,所述移动机器人为清洁机器人。
本申请的第四方面提供一种移动控制***,其特征在于,包括:如前述中任一所述的移动机器人;以及终端设备,与所述移动机器人无线通信,用于获取所述移动机器人标记有物体种类标签的地图。
在本申请的第四方面的某些实施方式中,所述终端设备包括:输入单元,用于接收包含物体种类标签的指令;以及通信单元,用于将所接收的指令传送给移动机器人,以使移动机器人基于所述指令自当前位置移动至对应所述物体种类标签的目的位置。
在本申请的第四方面的某些实施方式中,所述输入单元用于接收包含物体种类标签的文本指令;或者所述输入单元用于接收语音信息并识别所述语音信息中包含物体种类标签的指令。
在本申请的第四方面的某些实施方式中,所述终端设备还包括显示单元,用于显示所获取的地图。
在本申请的第四方面的某些实施方式中,所述显示单元还用于在所述地图上显示移动机器人的当前位置、物体种类标签对应的目的位置、和/或移动机器人自当前位置移动至物体种类标签对应的目的位置的移动路线。
本申请的第五方面提供一种处理***,用于带有摄像装置的移动机器人,包括:输入单元,用于接收自所述摄像装置所摄取的图像;存储单元,用于存储所摄取的图像、预设的物理参考信息、预先标记的物体标签以及至少一个程序;以及处理单元,用于调用所述至少一个程序并执行前述中任一所述的导航方法。
在本申请的第五方面的某些实施方式中,所述处理***还包括输出单元,用于将移动机器人的当前位置、物体种类标签对应的目的位置、自当前位置至物体种类标签对应的目的位置的导航路线和/或移动机器人按照所述导航路线移动的移动路线予以输出以供用户查看。
本申请的第六方面提供一种计算机存储介质,存储至少一种程序,所述至少一种程序在被调用时执行前述中任一所述的导航方法。
如上所述,本申请的导航方法、导航***、移动控制***及移动机器人,具有以下有益效果:通过识别与预先标记的物体种类标签相符的对象并基于摄像装置所摄取的图像确定所识别对象与移动机器人之间的相对空间位置,以在预设地图中标记相应物体种类标签生成标记有物体种类标签的地图,以便在后续移动控制中可以基于地图上的物体种类标签来识别用户指令中的目的位置,进而移动至该位置处,提高了人机交互性。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
移动机器人基于导航控制技术执行移动操作。其中,受移动机器人所应用的场景影响,当移动机器人处于未知环境的未知位置时,利用VSLAM(Visual SimultaneousLocalization and Mapping,基于视觉的即时定位与地图构建)技术可以帮助移动机器人构建地图并执行导航操作。具体地,移动机器人通过视觉传感器所提供的视觉信息以及移动传感器所提供的移动信息来构建地图,并根据所构建的地图为移动机器人提供导航能力,使得移动机器人能自主移动。其中,所述视觉传感器举例包括摄像装置,对应的视觉信息为图像数据(以下简称为图像)。所述移动传感器举例包括速度传感器、里程计传感器、距离传感器、悬崖传感器等。然而,在实际应用中,所构建的地图上仅显示应用场景中所包括物体的位置信息,当用户远程遥控移动机器人发送指定地点的视频或图片时,或者当用户遥控移动机器人清扫指定地点时,用户需要辨识移动机器人所保存的地图中待指示的位置,再依据地图中对应位置的坐标对移动机器人发送控制指令,这带来人机交互性差的问题。
为此,本申请提供一种用于移动机器人的导航方法,使用所述导航方法可以生成用于移动机器人导航的标记有物体种类标签的地图,使得移动机器人可以基于所述地图上的物体种类标签来识别用户指令中的目的位置,进而按照用户指令在目的位置执行相应操作。其中,所述操作包括但不限于:监控、清扫、家电控制等。
在此,所述移动机器人包括摄像装置。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像进行定位和移动控制操作。在另一些实施例中,所述移动机器人包括至少两个摄像装置,移动机器人依据其中两个摄像装置所摄取的图像进行定位和移动控制操作。另外,移动机器人可基于本申请所提供的导航方法并结合SLAM技术构建地图。或者,移动机器人还可以在预先构建的地图中标记物体种类标签,以生成标记有物体种类标签的地图。其中,所述预先构建的地图包括但不限于:基于SLAM技术而构建的地图,或基于场地规划而构建的地图等。所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人等可基于预先构建的地图自主移动的机器人。
请参阅图1,图1显示为本申请导航方法在一种实施方式中的流程图。其中,所述导航方法可由移动机器人包括的处理装置来执行。在一实施例中,处理装置可以预先设定摄像装置拍摄图像的时间间隔,然后处理装置获取经摄像装置以预设时间间隔拍摄的不同时刻下的静态图像,并执行下述步骤S110-S130。在另一实施例中,摄像装置可以拍摄视频,由于视频是由图像帧构成的,因此处理装置首先可以连续或不连续地采集所获取的视频中的图像帧,然后处理装置选用一帧图像作为一幅图像并执行步骤S110-S130。
在步骤S110中,自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象。
其中,物体种类标签是基于移动机器人所移动的环境情况预先筛选并存储在移动机器人的存储装置中的。所述物体种类标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在一些示例中,所述物体种类标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在又一些示例中,所述物体种类标签可以由物体分类来表征。在此,存储装置所存储的程序包含神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述网络结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类以及物体在图像中的位置。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
在一种实施例中,当由图像特征来表征物体种类标签时,可采用基于神经网络的图像识别方法、基于小波矩的图像识别方法等图像识别方法对所摄取的图像进行处理、分析和理解,以识别各种不同模式的对象,所述对象可由物体的灰度、物体的轮廓等特征表征。其中,所述对象由物体的轮廓表示的方式包括通过轮廓线提取方法获得所识别对象。所述轮廓线提取方法包括但不限于:二值、灰度、canny算子等方法。然后,针对预先标记有物体种类标签的物体与图像中的对象,通过对物体和图像的内容、特征、结构、关系、纹理及灰度等的对应关系,相似性和一致性的分析来寻求相似图像目标,以使得图像中的对象与预先标记的物体种类标签相对应。
在另一种实施例中,当由物体分类来表征物体种类标签时,可以基于第一神经网络所提供的物体种类标签从所摄取的图像中识别与物体种类标签相符的对象。在一示例中,可以预先通过第一神经网络,例如CNN(Convolutional Neural Network,卷积神经网络,CNN),进行训练,以使得对于输入的图片能够标识出分别表示桌子、椅子、花盆、平铺物体、杯子、未知物体等的物体种类标签以及物体在图片中的位置。在摄像装置摄取到图像并输出给处理装置后,处理装置基于第一神经网络所提供的物体种类标签从所摄取的图像中识别与所述物体种类标签相符的对象。例如,处理装置可以从所摄取的图像中识别出桌子、椅子、杯子等。
基于移动机器人的不同应用需要,所识别的对象可放置在地面或位于三维空间中的其他位置。
在一些实施例中,为及时控制移动机器人在移动期间避免碰撞障碍物,需要根据实际情况及时调整移动路线。为此,移动机器人在按照基于地图所规划的移动路线移动期间,还需要根据所拍摄的图像识别周围障碍物与自身的相对空间位置,以便及时调整移动路线。鉴于此,本申请的导航方法还包括步骤S111和步骤S112(未图示)。
在步骤S111中,识别所摄取的图像中障碍物与地面的交界线。
其中,所述障碍物应被为泛指包含临时放置在地面上的物体,以及如衣柜、书架等放置在地面且不经常移动的物体。其中,障碍物与地面的交界线包括但不限于:物体的支撑部分与地面之间形成的交线,物体贴近地面所形成的交线等。例如,桌子的桌腿与地面的交线、花盆与地面的交线。又如,矮脚下边沿与地面所形成的阴影线。所述交界线经拍摄映射在图像中。
在一具体示例中,所述处理装置可通过识别障碍物和地面在图像中的位置关系来确定放置在地面上的障碍物与地面所形成的交界线。
在此,自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的物体图像区域,以及从图像中确定地面图像区域;将地面图像区域与物体图像区域的相交线作为障碍物与地面的交界线。
在另一具体示例中,所述处理装置利用第二神经网络识别图像中障碍物与地面的交界线。在实际应用中,可以预先通过第二神经网络,例如CNN,进行训练,以使得对于输入的图片能够识别出障碍物与地面的交界线。这类神经网络的输入层为机器人视角获取的图片,输出层大小为预设的图像中可能为地面的区域,输出层上每个像素点为障碍物出现的概率,输入层和输出层中间包括若干卷积层。在训练过程中,可使用预先人工标注好的图片,利用反向传播算法调整神经网络的权重,以使得网络输出的障碍物位置接近人工标注的障碍物的位置。在摄像装置摄取到图像并输出给处理装置后,处理装置基于第二神经网络识别出障碍物与地面的交界线。
在步骤S112中,从所识别的与预先标记的物体种类标签相符的对象中选出放置于地面上的物体。
在此,按照步骤S110中所识别的与预先标记的物体种类标签相符的对象,所述处理装置可根据所述步骤S111中识别出的交界线和对象轮廓是否具有重叠区域来确定放置在地面的物体。以清洁机器人所处环境为例,例如,按照步骤S110中所提供的识别方式所识别的对象包含:电视机、空调、椅子、鞋子、皮球等,根据图像中所识别的对象轮廓(或表示对象的框体)与所识别出的交界线是否有重叠部分来确定其中椅子、鞋子和皮球是放置在地面上,进而通过执行步骤S120来确定识别出的放置在地面的物体与移动机器人的相对空间位置,以供清洁机器人在清扫期间根据清扫指令避开所述物体或重点清扫所述物体周边。
在步骤S120中,基于摄像装置所摄取的包括所识别对象的至少一幅图像,确定所述对象与移动机器人之间的相对空间位置。其中,所述相对空间位置包括移动机器人与所识别对象的物理距离和物理偏角。所述物理偏角可基于预设的物理空间坐标系、或基于对应地图的坐标系而描述。
通常,移动机器人可以包括一个或一个以上的摄像装置,摄像装置在移动机器人的移动期间摄取图像,移动机器人基于所摄取的图像执行定位、导航、物体识别等操作。
鉴于此,在移动机器人包括一个摄像装置的情况下,步骤S120包括基于获取自一个摄像装置的包括所识别对象的至少一幅图像,确定所述对象与移动机器人之间的相对空间位置。
在一种实施例中,步骤S120包括基于获取自一个摄像装置的包括所识别对象的至少两幅图像,确定所述对象与移动机器人之间的相对空间位置。其中,所述两幅图像可以是摄像装置获取的当前时刻图像和上一时刻图像,也就是说,步骤S120包括基于一个摄像装置所摄取的包括所识别对象的当前时刻图像和上一时刻图像,获取所识别对象在当前时刻图像和上一时刻图像中相匹配特征的位置,并依据所述位置以及图像坐标系与物理空间坐标系的对应关系来确定所述对象与移动机器人之间的相对空间位置。针对上述步骤的实现方式,可参阅专利申请号201711104306.1中描述的机器人定位方法,基于所获取的当前时刻图像和上一时刻图像中对象的相匹配特征的位置以及图像坐标系与物理空间坐标系的对应关系来确定机器人和对象之间的相对空间位置。
在上述步骤S112从所识别的与预先标记的物体种类标签相符的对象中选出放置于地面上的物体的情况下,步骤S120包括基于预设的物理参考信息,确定放置于地面上的物体所对应的物理位置与所述移动机器人之间的相对空间位置。
其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。在此,技术人员预先测量摄像装置的成像中心与地面的距离,并将所距离作为所述物理高度或物理高度的初始值保存在存储装置中。所述物理高度也可以预先通过对移动机器人设计参数进行计算而得到的。依据移动机器人的设计参数还可以得到摄像装置的主光轴相对于水平或垂直面的夹角,或夹角的初始值。对于摄像装置可调节的移动机器人来说,所保存的夹角可在夹角初始值的基础上增/减被调节的偏转角后而确定的,所保存的物理高度是在物理高度初始值的基础上增/减被调节的高度后而确定的。所述摄像装置的物理参数包含镜头组的视角和焦距等。
在此,处理装置从所获取的图像中确定了障碍物与地面的交界线后,基于所述物理参考信息和成像原理计算,确定所述图像中拍摄到的摆放在地面上的物体相距移动机器人的距离,以及确定相应物体与移动机器人的方位角度。
请参阅图2,图2显示为基于成像原理确定物体与移动机器人之间的相对空间位置的原理示意图,如图所示,图中包括三个坐标系:图像坐标系UO1V、世界坐标系XO3Y、以O2为圆点的相机坐标系,假设物体放置在地面的位置包含点P,已知摄像装置相距地面的物体高度为H、图像坐标中心对应世界坐标点与摄像装置在Y轴上的距离O3M、镜头中心点的图像坐标O1、测量像素点的图像坐标P1、实际像素的长度和宽度、摄像装置的焦距,则通过推导计算可以得到O3P的长度,由此,根据所述长度可得到移动机器人与物体的P点之间的物理距离。
为了确定该物体P点在移动机器人之间的方位角度,处理装置根据预先存储在所述存储装置中的图像各像素点与实际物理方位角度之间的对应关系,计算得到移动机器人当前与物体P点之间的方位角度。其中,每个像素点对应一个方位角,所述方位角可以是基于像素数量、摄像装置焦距以及视角等参数计算得到的。
基于上述方式,处理装置基于预设的物理参考信息和交界线上各像素点在图像中像素位置,确定所述交界线上至少一像素点对应的物理位置与所述移动机器人之间的第一相对空间位置,其中,第一相对空间位置包括物理距离和方位角度。其中所述处理装置可按照上述方式遍历交界线的每个像素点或特征点,以确定所识别的交界线的多个位置点的相对空间位置,即物理距离和方位角度。其中,所述特征点包括交界线的角点、端点、拐点等。例如,基于交界线的角点、拐点等,确定交界线上各特征点所对应的物体局部位置分别与移动机器人的相对空间位置。处理装置还可以按照上述方式仅确定所识别的物体与移动机器人的最近空间位置。例如,处理装置通过所述交界线在图像中的图像位置,确定所识别的物体与移动机器人距离最近的空间位置,由此便于及时调整导航路线。
在又一些示例中,移动机器人包括至少两个摄像装置,步骤S120包括基于同步获取自不同摄像装置的包括所识别对象的至少两幅图像,确定所述对象与移动机器人之间的相对空间位置。
在一具体示例中,基于两个摄像装置分别摄取的包括所识别对象的当前时刻图像,获取所识别对象分别在当前时刻图像中相匹配特征的位置,并依据所述位置以及摄像装置之间的位置关系来确定所述对象与移动机器人之间的相对空间位置。
请参阅图3,图3显示为基于双目测距原理确定物体与机器人之间的相对空间位置的原理示意图,如图所示,图中包括第一图像和第二图像,其中第一图像为机器人的第一摄像装置所摄取的图像,第二图像为机器人的第二摄像装置所摄取的图像。O1M为第一摄像装置的光轴,O2N为第二摄像装置的光轴。P表示空间中的物体上的点,P1为点P在第一图像装置中的成像,P2为点P在第二图像装置中的成像。假设第一摄像装置和第二摄像装置的内部参数和外部参数完全相同,焦距为f,光心之间的距离(基线O1O2)为B,则通过计算可以获得点P在三维空间里的距离Z,即移动机器人与物体的P点之间的物理距离。
为了确定该物体P点在移动机器人之间的方位角度,处理装置根据预先存储在存储装置中的图像各像素点与实际物理方位角度之间的对应关系,计算得到移动机器人当前与物体P点之间的方位角度。其中,每个像素点对应一个方位角,所述方位角可以是基于像素数量、摄像装置焦距以及视角等参数计算得到的。
处理装置可按照上述方式遍历所识别对象的每个像素点或特征点,以确定所识别的对象的多个位置点的相对空间位置,即物理距离和方位角度。其中,所述特征点包括对象的角点、端点、拐点等。例如,基于对象的角点、拐点等,确定对象上各特征点所对应的物体局部位置分别与移动机器人的相对空间位置。处理装置还可以按照上述方式仅确定所识别的物体与移动机器人的最近空间位置。例如,处理装置通过所述对象在图像中的图像位置,确定所识别的物体与移动机器人距离最近的空间位置,由此便于及时调整导航路线。
处理装置可按照上述方式确定图像所拍摄到的一个或多个障碍物相对于移动机器人的相对空间位置。
需要说明的是,针对所识别出的多个对象,所述处理装置基于上述一种或多种方式来确定各对象分别与移动机器人之间的相对空间位置。例如,所述处理装置利用双目摄像装置计算所识别出的所有对象与移动机器人之间的相对空间位置。又如,所述处理装置利用单目测距的方式计算所识别出的放置在地面上的对象与移动机器人之间的相对空间位置,以及利用摄取多幅图像的方式计算所识别出的未放置在地面上的对象与移动机器人之间的相对空间位置。在此不再一一详述。所识别出的各对象及其相对空间位置用于执行步骤S130。
在步骤S130中,基于相对空间位置在预设地图中标记相应物体种类标签以生成标记有物体种类标签的地图。所述地图用于移动机器人的导航。
以预设地图为基于场地规划而预先构建的地图为例,所述地图是基于单位矢量构建的且为与实际场地的物理尺寸按比例缩小的地图;处理装置根据图像中所识别出的与预先标记的物体种类标签相符的对象、所确定的对象与移动机器人之间的相对空间位置、以及单位矢量的长度和方向,在地图中的对应位置标记所识别出的对象所对应的物体种类标签,并更新地图。
以预设地图为基于栅格构建的地图为例,所述地图是基于单位栅格构建的;处理装置根据图像中所识别出的与预先标记的物体种类标签相符的对象、所确定的对象与移动机器人之间的相对空间位置、以及单位栅格的长度和方向,在预设地图中对应相对空间位置的栅格上标记所识别出的对象所对应的物体种类标签,并更新地图。
更新后的地图可由处理装置在适当的时机展示给用户。例如,基于用户查看地图的操作将各物体种类标签显示在地图上。
在生成标记有物体种类标签的地图的情况下,本申请导航方法还可以基于获取到包含物体种类标签的指令,利用所生成的带有物体种类标签的地图来生成自当前位置至目的位置的导航路线。也就是说,利用基于上述任一种示例所得到的带有物体种类标签的地图,移动机器人根据用户所发出的指令生成自移动机器人当前位置到物体种类标签所指示的目的位置的导航路线。其中,所述指令中包含物体种类标签。例如,用户输入目的位置为花盆的指令,移动机器人基于该指令的指示在地图中找到标签有花盆的位置,并生成自移动机器人当前位置到花盆的导航路线。
此外,在生成导航路线的情况下,本申请的导航方法还包括基于所述导航路线控制移动机器人自对应的当前位置移动至对应的目的位置的步骤。例如,用户输入目的位置为花盆的指令,移动机器人基于该指令的指示在地图中找到标签有花盆的位置,并根据地图移动至花盆处。
请参阅图4,图4显示为本申请导航方法在另一种实施方式中的流程图,如图所示,所述导航方法包括步骤S410-S440。
在步骤S410中,获取包含物体种类标签的指令。
其中,获取包含物体种类标签的指令的方式包括但不限于:语音方式、文本方式等。在此,根据用户对移动机器人的操作目的,所述指令中还可以包含移动机器人的执行指令。例如,所述指令还包括清扫指令、巡视指令、远程操控指令等。
在一种实施例中,步骤S410可以包括:获取一语音信息,并从所述语音信息中识别包含物体种类标签的指令。在一示例中,移动机器人可以直接接收用户的语音信息并识别所述信息中包括的物体种类标签的指令。例如,用户可以直接向移动机器人语音“花盆”,移动机器人在接收到所述指令后移动至花盆以进行预先设定的相应处理。以清洁机器人为例,预先设定清洁机器人在接收到用户包含物体种类标签的指令后移动至该物体种类标签对应的位置以进行清扫,则在用户向清洁机器人语音“花盆”的情况下,清洁机器人在接收到该语音指令后移动至花盆处并执行清扫操作。另外,所述语音信息并不限于仅表示物体种类标签的短指令,还可以是包括物体种类标签的长指令,例如,用户语音“去花盆处”,则移动机器人可以识别语音信息中所包括的物体种类标签“花盆”指令,然后进行后续操作。
在另一种实施例中,步骤S410包括:自一终端设备获取包含物体种类标签的指令。其中,所述终端设备与移动机器人无线连接。在一示例中,用户经由终端设备以文本方式输入包含物体种类标签的指令。例如,用户通过手机APP以文本方式输入“花盆”。在另一示例中,用于经由终端设备以语音方式输入包含物体种类标签的指令。例如,用户通过手机APP以语音方式输入“花盆”。另外,用户输入的语音信息并不限于仅表示物体种类标签的短指令,还可以是包括物体种类标签的长指令,例如,用户语音“去花盆处”,则终端设备将其翻译成文本并提取其中花盆等关键词,将所翻译的文本匹配到相应的指令上发送给移动机器人。在此,终端设备可以与移动机器人以无线连接或蓝牙配对等方式连接,以将终端设备接收的指令传送给移动机器人进行后续操作。
在步骤S420中,利用所生成的地图,确定指令中物体种类标签在地图中的目的位置信息和移动机器人在地图中的当前位置信息。其中,所述地图是利用上述导航方法所生成的地图。
在此,根据地图上标记的相应物体种类标签获取指令中物体种类标签在地图中的位置并将其作为目的位置信息。同时,根据移动机器人的移动传感器例如里程计传感器等、或摄像装置所提供的自身在物理空间中的移动数据,映射到所述地图中的当前位置信息。
在步骤S430中,利用所述地图生成自当前位置信息至目的位置信息的导航路线。
在某些实施例中,移动机器人根据地图上移动机器人的当前位置、物体种类标签所在的目的位置、以及地图上其他物体的位置信息或预设路径等生成自当前位置信息至目的位置信息的导航路线。例如,所述导航路线可以是自移动机器人的当前位置至目的位置的最短路线。又如,所述导航路线可以是自移动机器人的当前位置至目的位置的与移动机器人先前行进路径不重复的路线,以移动机器人为清洁机器人为例,根据未清洁区域和已清洁区域设置自当前位置至目的位置的无需重复清洁已清洁区域的导航路线,由此提高清洁效率。
在步骤S440中,基于导航路线控制移动机器人自对应的当前位置移动至对应的目的位置。
在某些实施例中,可以根据利用标记有物体种类标签的地图上物体种类标签所指示的目的位置、依据移动传感器获取的移动机器人在所述地图上的当前位置、以及地图上的其他信息如其他物***置信息或预设路径等控制移动机器人自对应的当前位置移动至对应的目的位置。例如,可以按照地图中所标记的可移动路线控制移动机器人从当前位置移动至目的位置。
此外,在某些实施例中,移动机器人还可以将自对应的当前位置移动至对应的目的位置的移动路线发送至终端设备,以在终端设备所显示的地图上显示移动路线、当前位置信息、目的位置信息、或其任意组合,从而便于用户查看。例如,在某些情况下,可以在终端设备所显示的地图上实时显示机器人当前位置,且在目的位置为花盆所在位置时,在地图上的目的位置处显示花盆,以及在地图上显示从移动机器人当前位置到花盆的移动路线。
本申请的导航方法,通过识别与预先标记的物体种类标签相符的对象并基于摄像装置所摄取的图像确定所识别对象与移动机器人之间的相对空间位置,以在预设地图中标记相应物体种类标签生成标记有物体种类标签的地图,以便在后续移动控制中可以基于地图上的物体种类标签来识别用户指令中的目的位置,进而移动至该位置处,提高了人机交互性。
在另一些实施方式中,针对物体种类标签无法覆盖所有种类的物体的情况,例如,利用第一神经网络将图像中的物体分类到有限个物体分类时,存在基于第一神经网络识别出未知物体的情况,所述导航方法还包括对第一神经网络进行优化更新的步骤。在一示例中,可以依据摄像装置所摄取的包括未知物体的图像生成样本信息,并将其发送至一服务端以供所述服务端进行第一神经网络的优化。
在这种情况下,处理装置将摄像装置所摄取的包括未知物体的图像作为样本信息发送至服务端,服务端可向技术人员提供人工标注的界面,使得服务端利用人工标注的方式来训练第一神经网络模型,以提高第一神经网络识别物体的能力,经训练的第一神经网络模型的参数打包在更新版本中反馈给移动机器人,由处理装置通过版本更新方式更新第一神经网络中的各参数,由此得到优化后的第一神经网络。
在一示例中,服务端可以针对每个移动机器人发送的样本信息对该机器人中预设的第一神经网络进行优化以对该机器人进行升级更新。在另一示例中,服务装置可以在接收到多个移动机器人发送的样本信息后,经过数据的对比筛选,对当前版本的所有移动机器人中预设的第一神经网络进行统一优化以对当前版本的移动机器人进行统一升级更新。
在服务端进行第一神经网络的优化之后,移动机器人的处理装置基于服务端的反馈信息更新预设的第一神经网络,以利用更新后的第一神经网络在后续摄取的图像中识别上述未知物体。
同样地,针对利用第二神经网络识别交界线的情况,所述导航方法也包括对第二神经网络进行优化更新的步骤。在一示例中,仍可以利用所摄取的图像生成样本信息。其中,所述样本信息中包含用于训练的图像以及用于描述正确的交界线位置的交界线信息。
其中,在用于训练的图像中包括未被识别出的交界线、或未被识别出的放置在地面上的障碍物。为方便与已识别出的障碍物相区别描述,以下称已识别出的障碍物为第一障碍物,未识别出的障碍物为第二障碍物。其中,第二障碍物包括所摄取的图像中未被识别出与地面的交界线的障碍物;所述第二障碍物还包括由于新添加而未被拍摄在图像中的障碍物。在此,所述用于训练的图像可以是原始拍摄的图像,或者,所述用于训练的图像还可以是经处理的图像,以防止用户信息泄露。例如,经处理的图像可以是对原始图像进行马赛克处理或者对原始图像提取轮廓后获得的图像,只需所述用于训练的图像能够包含第二障碍物与地面的交界线的特征即可。
其中,所述交界线信息包括放置在地面上的第二障碍物与移动机器人之间的第二相对空间位置,和/或放置在地面上的第二障碍物在用于训练的图像中的像素位置等。在一些具体示例中,第二障碍物与地面的交界线信息可以基于移动机器人中的传感装置获取,所述传感装置可以包括激光测距传感器、红外传感器、碰撞传感器等。例如,在移动机器人移动期间,通过激光测距传感器获取第二障碍物与移动机器人之间的第二相对空间位置。又如,在移动机器人移动期间,移动机器人的碰撞传感器通过碰撞获得第二障碍物的位置信息,然后,移动机器人的处理装置控制移动机器人退回到拍摄装置上一次拍摄图像的位置,并基于处理装置所提供的移动距离获取所碰撞到的第二障碍物与移动机器人之间的第二相对空间位置,或者基于移动机器人的激光测距传感器获取所碰撞到的第二障碍物与移动机器人之间的第二相对空间位置。在又一些具体示例中,利用拍摄图像时移动机器人在物理空间中的空间位置和传感器所检测的第二障碍物的第二相对空间位置,反推第二障碍物在图像中的像素位置。
所述移动机器人的处理装置将所得到的样本信息发送至服务端。服务端在接收到所述样本信息后对第二神经网络优化。其中,服务端将样本信息中的图像作为第二神经网络的输入,将图像中描绘的对应交界线信息的像素位置作为第二神经网络的输出来训练第二神经网络模型,并获得更新后的第二神经网络参数,以提高第二神经网络识别交界线的准确度。
经训练的第二神经网络模型的参数打包在更新版本中反馈给移动机器人,由处理装置通过版本更新方式更新第二神经网络中的各参数,由此得到优化后的第二神经网络。在一示例中,服务端可以针对每个移动机器人发送的样本信息对该机器人中预设的第二神经网络进行优化以对该机器人进行升级更新。在另一示例中,服务装置可以在接收到多个移动机器人发送的样本信息后,经过数据的对比筛选,对当前版本的所有移动机器人中预设的第二神经网络进行统一优化以对当前版本的移动机器人进行统一升级更新。由此利用更新后的第二神经网络在后续摄取的包含相应第二障碍物的图像中识别第二障碍物与地面的交界线。
本申请通过将样本信息发送至服务端并在服务端优化神经网络模型,然后基于经优化的神经网络更新移动机器人中预设的神经网络,以提高移动机器人的地图的准确度。
本申请还提供一种用于移动机器人的导航***,所述移动机器人包括摄像装置。请参阅图5,图5显示为本申请移动机器人的导航***在一种实施方式中的结构示意图,如图所示,导航***包括第一识别单元51、确定单元52、导航单元53。
其中,第一识别单元51用于自摄像装置所摄取的图像中识别与预先标记的物体种类标签相符的对象。
在某些实施例中,第一识别单元51用于基于第一神经网络所提供的物体种类标签从所摄取的图像中识别与所述物体种类标签相符的对象。
确定单元52用于基于摄像装置所摄取的包括所识别对象的至少一幅图像,确定所述对象与移动机器人之间的相对空间位置。
在某些实施例中,确定单元52包括第一确定单元和第二确定单元。第一确定单元用于基于获取自一个摄像装置的包括所识别对象的至少一幅图像,确定所述对象与所述移动机器人之间的相对空间位置。第二确定单元用于基于同步获取自不同摄像装置的包括所识别对象的至少两幅图像,确定所述对象与所述移动机器人之间的相对空间位置。在某些实施例中,第一确定单元用于基于一个摄像装置所摄取的包括所识别对象的当前时刻图像和上一时刻图像,获取所识别对象在当前时刻图像和上一时刻图像中相匹配特征的位置,并依据所述位置以及图像坐标系与物理空间坐标系的对应关系来确定所述对象与移动机器人之间的相对空间位置。在某些实施例中,第二确定单元用于基于两个摄像装置分别摄取的包括所识别对象的当前时刻图像,获取所识别对象分别在当前时刻图像中相匹配特征的位置,并依据所述位置以及摄像装置之间的位置关系来确定所述对象与移动机器人之间的相对空间位置。
导航单元53用于基于相对空间位置在预设地图中标记相应物体种类标签以生成标记有物体种类标签的地图,所述地图用于移动机器人的导航。在某些实施例中,导航单元53用于在预设地图中对应所述相对空间位置的栅格上标记相应物体种类标签。
在实际应用中,为及时控制移动机器人在移动期间避免碰撞障碍物,需要根据实际情况及时调整移动路线。为此,移动机器人在按照基于地图所规划的移动路线移动期间,还需要根据所拍摄的图像识别周围障碍物与自身的相对空间位置,以便及时调整移动路线。鉴于此,导航***还包括第二识别单元,第二识别单元用于识别所摄取的图像中障碍物与地面的交界线;以及从所识别的与预先标记的物体种类标签相符的对象中选出放置于地面上的物体。在某些实施例中,第二识别单元利用第二神经网络识别所述图像中障碍物与地面的交界线。在这种情况下,确定单元52用于基于预设的物理参考信息,确定放置于地面上的物体所对应的物理位置与移动机器人之间的相对空间位置。其中,所述物理参考信息包括:摄像装置相距地面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。
此外,在生成标记有物体种类标签的地图的情况下,本申请的导航***还包括获取单元,获取单元用于获取包含物体种类标签的指令。在某些实施例中,获取单元用于获取一语音信息;以及从所述语音信息中识别包含物体种类标签的指令。在另一些实施例中,获取单元用于自一终端设备获取包含物体种类标签的指令;其中,所述终端设备与所述移动机器人无线连接。
相应地,确定单元52还用于利用所生成的地图,确定所述指令中物体种类标签在所述地图中的目的位置信息和移动机器人在所述地图中的当前位置信息;导航单元53还用于利用所述地图生成自所述当前位置信息至所述目的位置信息的导航路线。另外,导航单元还用于基于所述导航路线控制移动机器人自对应的当前位置移动至对应的目的位置。
此外,所述导航***还包括通信单元,通信单元用于将所述导航路线发送至终端设备,以在所述终端设备所显示的地图上显示所述导航路线、当前位置信息、目的位置信息、或其任意组合。
在此,本申请导航***中各模块的工作方式与上述导航方法中对应步骤相同或相似,在此不再赘述。
本申请还提供一种移动机器人。所述移动机器人包括但不限于清洁机器人、巡逻机器人、家庭陪伴机器人等。所述移动机器人执行上述导航方法。请参阅图6,图6显示为本申请移动机器人在一种实施方式中的结构示意图,如图所示,所述移动机器人包括摄像装置11、移动装置12、存储装置13以及处理装置14。摄像装置11、移动装置12以及存储装置13均与处理装置14相连。
摄像装置11用于在移动机器人移动期间摄取图像。在一些实施例中,所述移动机器人包括一个摄像装置,移动机器人依据该摄像装置所摄取的图像执行定位和移动控制操作。在另一些实施例中,所述移动机器人包括一个以上的摄像装置,移动机器人依据其中两个摄像装置所摄取的图像执行定位和移动控制操作。所述摄像装置包括但不限于:照相机、视频摄像机、集成有光学***或CCD芯片的摄像模块、集成有光学***和CMOS芯片的摄像模块等。所述摄像装置的供电***可受移动机器人的供电***控制,所述摄像装置摄取移动机器人移动期间所途经路线的图像。
需要说明的是,所述摄像装置的装配位置与摄像装置的视场角(又叫视角)范围、摄像装置相对于地面的高度以及摄像装置主光轴相对于水平或垂直面的夹角相关,故在此并不限定所述摄像装置在移动机器人的位置。例如,移动机器人所装配的摄像装置具有可调节所述夹角的调节部件,在所述移动机器人移动期间,通过调节所述调节部件以令摄像装置摄取包含地面的图像。其中,所述调节部件可例如专利申请号2017218611808中所描述的偏转机构和伸缩机构,以调节摄像装置主光轴与水平面的夹角和/或高度,在此不予详述。例如,所述摄像装置装配于清洁机器人的顶面边缘且视角为60°,摄像装置的主光轴相对于水平面的夹角为15°。
需要说明的是,摄像装置的主光轴相对于水平面的夹角可以为其他值,只要能够确保摄像装置在摄取图像时能够拍摄到地面图像区域即可。此外,本领域技术人员应该理解,上述光学轴与垂线或水平线的夹角仅为举例,而非限制其夹角精度为1°的范围内,根据实际机器人的设计需求,所述夹角的精度可更高,如达到0.1°、0.01°以上等,在此不做无穷尽的举例。
移动装置12用于受控地带动移动机器人整机移动。其中,所述移动装置12在处理装置14的控制下调整移动距离、移动方向和移动速度、移动加速度等。
在某些实施例中,所述移动装置12包括驱动单元和至少两个滚轮组。其中,所述至少两个滚轮组中的至少一个滚轮组为受控滚轮组。所述驱动单元与所述处理装置相连,所述驱动单元用于基于所述处理装置输出的移动控制指令驱动所述受控滚轮组滚动。
所述驱动单元包含驱动电机,所述驱动电机与所述滚轮组相连用于直接驱动滚轮组滚动。所述驱动单元可以包含专用于控制驱动电机的一个或多个处理器(CPU)或微处理单元(MCU)。例如,所述微处理单元用于将所述处理装置所提供的信息或数据转化为对驱动电机进行控制的电信号,并根据所述电信号控制所述驱动电机的转速、转向等以调整移动机器人的移动速度和移动方向。所述信息或数据如所述处理装置所确定的偏角。所述驱动单元中的处理器可以和所述处理装置中的处理器共用或可独立设置。例如,所述驱动单元作为从处理设备,所述处理装置作为主设备,驱动单元基于处理装置的控制进行移动控制。或者所述驱动单元与所述处理装置中的处理器相共用。驱动单元通过程序接口接收处理装置所提供的数据。所述驱动单元用于基于所述处理装置所提供的移动控制指令控制所述受控滚轮组滚动。
存储装置13用于存储摄像装置12所摄取的图像、预先标记的物体种类标签以及程序。其中,所述图像是经由摄像装置摄取而被保存在存储装置13中的。
此外,所述存储装置还用于存储预设的物理参考信息,以在基于所识别的图像中障碍物与地面的交界线的情况下,根据预设的物理参考信息确定交界线与移动机器人之间的相对空间位置。其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。在此,技术人员预先测量摄像装置的成像中心与地面的距离,并将所距离作为所述物理高度或物理高度的初始值保存在存储装置13中。所述物理高度也可以预先通过对移动机器人设计参数进行计算而得到的。依据移动机器人的设计参数还可以得到摄像装置的主光轴相对于水平或垂直面的夹角,或夹角的初始值。对于摄像装置可调节的移动机器人来说,所保存的夹角可在夹角初始值的基础上增/减被调节的偏转角后而确定的,所保存的物理高度是在物理高度初始值的基础上增/减被调节的高度后而确定的。所述摄像装置的物理参数包含镜头组的视角和焦距等。
其中,所述物体种类标签是基于移动机器人所移动的环境情况预先筛选并存储在存储装置13中的。所述物体种类标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在一些示例中,所述物体种类标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在又一些示例中,所述物体种类标签可以由物体分类来表征。在此,存储装置所存储的程序包含神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述网络结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类以及物体在图像中的位置。仍以室内环境为例,物体种类标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、杯子、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
所述存储装置13中所保存的程序还包括稍后描述的由处理装置调用以执行上述导航方法的相关程序。
所述存储装置13包括但不限于高速随机存取存储器、非易失性存储器。例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,所述存储装置13还可以包括远离一个或多个处理器的存储器,例如,经由RF电路或外部端口以及通信网络(未示出)访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网(LAN)、广域网(WLAN)、存储局域网(SAN)等,或其适当组合。存储器控制器可控制机器人的诸如CPU和外设接口之类的其他组件对存储装置的访问。
处理装置14与存储装置13、摄像装置11和移动装置12进行数据通信。处理装置14可包括一个或多个处理器。处理装置14可操作地与存储装置13中的易失性存储器和/或非易失性存储器耦接。处理装置14可执行在存储器和/或非易失性存储设备中存储的指令以在机器人中执行操作,诸如基于物体种类标签识别物体图像区域和地面图像区域并确定物体与移动机器人之间的空间位置等。如此,处理器可包括一个或多个通用微处理器、一个或多个专用处理器(ASIC)、一个或多个数字信号处理器(DSP)、一个或多个现场可编程逻辑阵列(FPGA)、或它们的任何组合。所述处理装置还与I/O端口和输入结构可操作地耦接,该I/O端口可使得机器人能够与各种其他电子设备进行交互,该输入结构可使得用户能够与计算设备进行交互。因此,输入结构可包括按钮、键盘、鼠标、触控板等。所述其他电子设备可以是所述机器人中移动装置中的移动电机,或机器人中专用于控制移动装置的从处理器,如MCU(Microcontroller Unit,微控制单元,简称MCU)。
在一种示例中,所述处理装置通过数据线分别连接存储装置、摄像装置以及移动装置。所述处理装置通过数据读写技术与存储装置进行交互,所述处理装置通过接口协议与摄像装置、移动装置进行交互。其中,所述数据读写技术包括但不限于:高速/低速数据接口协议、数据库读写操作等。所述接口协议包括但不限于:HDMI接口协议、串行接口协议等。
处理装置14首先自摄像装置11所摄取的图像中识别与预先标记的物体种类标签相符的对象,接着,基于摄像装置11所摄取的包括所识别对象的至少一幅图像,确定所述对象与移动机器人之间的相对空间位置。然后,基于相对空间位置在预设地图中标记相应物理种类标签以得到标记有物体种类标签的地图。处理装置执行上述步骤以得到标记有物体种类标签的地图的具体实现方式如图1至图5及其相应描述所示,在此不再赘述。
此外,在生成标记有物体种类标签的地图之后,移动机器人可以基于该地图进行移动。鉴于此,移动机器人还包括输入装置,用于获取包含物体种类标签的指令。其中,获取包含物体种类标签的指令的方式包括但不限于:语音方式、文本方式等。
在一种实施例中,输入装置包括语音输入单元,用于获取一语音信息。处理装置从所述语音信息中识别包含物体种类标签的指令。在一示例中,移动机器人的语音输入单元可以直接接收用户的语音信息。然后处理装置识别所述语音信息中包括的物体种类标签的指令。例如,用户可以直接向移动机器人语音“花盆”,移动机器人的语音输入单元在接收到所述语音信息后,处理装置识别出“花盆”指令,并控制移动机器人移动至花盆以进行预先设定的相应处理。以巡逻机器人为例,预先设定巡逻机器人在接收到用户包含物体种类标签的指令后移动至该物体种类标签对应的位置进行拍照并远程显示给用户,则在用户向巡逻机器人语音“花盆”的情况下,巡逻机器人的语音输入单元在接收到该语音信息后传送给处理装置,处理装置控制移动机器人移动至花盆处并执行拍照显示操作。以清洁机器人为例,预先设定清洁机器人在接收到用户包含物体种类标签的指令后移动至该物体种类标签对应的位置以进行清扫,则在用户向清洁机器人语音“花盆”的情况下,清洁机器人的语音输入单元在接收到该语音信息后传送给处理装置,处理装置控制移动机器人移动至花盆处并执行清扫操作。另外,所述语音信息并不限于仅表示物体种类标签的短指令,还可以是包括物体种类标签的长指令,例如,用户语音“去花盆处”,则移动机器人的语音输入单元接收到“去花盆处”的语音信息并发送给处理装置,处理装置识别其中所包括的物体种类标签“花盆”指令并进行后续操作。
在另一种实施例中,输入装置包括网络接口单元,用于自一无线连接的终端设备处获取包含物体种类标签的指令。例如,用户经由与移动机器人无线连接的终端设备输入包含物体种类标签的指令,移动机器人通过网络接口单元获取所输入的指令并发送给处理装置进行后续操作。在一示例中,用户经由终端设备以文本方式输入包含物体种类标签的指令。例如,用户通过手机APP以文本方式输入“花盆”。在另一示例中,用于经由终端设备以语音方式输入包含物体种类标签的指令。例如,用户通过手机APP以语音方式输入“花盆”。另外,用户输入的语音信息并不限于仅表示物体种类标签的短指令,还可以是包括物体种类标签的长指令,例如,用户语音“去花盆处”,则移动机器人可以识别语音信息中所包括的物体种类标签“花盆”指令,然后进行后续操作。此外,终端设备还可以与移动机器人以蓝牙配对等方式连接,以将终端设备接收的指令通过网络接口单元传送给移动机器人进行后续操作。
在移动机器人获取到包含物体种类标签的指令后,处理装置还用于利用所生成的标记有物体种类标签的地图,确定指令中物体种类标签在地图中的目的位置信息和移动机器人在地图中的当前位置信息,利用所述地图控制移动装置自对应的当前位置移动至对应的目的位置。
在某些实施例中,移动机器人根据地图上标记的相应物体种类标签获取物体种类标签在地图中的目的位置信息。基于移动机器人的移动传感器例如里程计传感器等获得移动机器人在地图中的当前位置信息。然后,移动机器人根据利用标记有物体种类标签的地图上物体种类标签所指示的目的位置、依据移动传感器获取的移动机器人在所述地图上的当前位置、以及地图上的其他信息如其他物***置信息或预设路径等控制移动机器人自对应的当前位置移动至对应的目的位置。例如,可以控制移动机器人在避开地图上所显示的作为障碍物的其他物体的情况下从当前位置移动至目的位置。
此外,移动机器人的网络接口单元还可以将自对应的当前位置移动至对应的目的位置的移动路线发送至终端设备,以在终端设备所显示的地图上显示移动路线、当前位置信息、目的位置信息、或其任意组合,从而便于用户查看。例如,在某些情况下,可以在终端设备所显示的地图上实时显示机器人当前位置,且在目的位置为花盆所在位置时,在地图上的目的位置处显示花盆,以及在地图上显示从移动机器人当前位置到花盆的移动路线。
本申请的移动机器人,通过获取包括物体种类标签的指令,并基于在标记有物体种类标签的地图上确定指令中物体种类标签的位置和移动机器人的当前位置来控制移动机器人的移动,使得用户可以在不需获取目的位置信息的情况下基于地图上的物体种类标签来识别用户指令中的目的位置,进而移动至该位置处,操作过程简单,提高了人机交互性。
本申请还提供一种移动控制***,请参阅图7,图7显示为本申请移动控制***在一种实施方式中的结构示意图,如图所示。移动控制***包括移动机器人71和终端设备72。移动机器人71与终端设备72通过共享wifi或蓝牙配对等方式进行无线通信。
其中,移动机器人71包括摄像装置、移动装置、存储装置以及处理装置,所述处理装置基于摄像装置所摄取的图像以及预先标记的物体种类标签生成标记有物体种类标签的地图。另外,移动机器人71还包括输入装置,所述输入装置获取包含物体种类标签的指令,使得移动机器人可以基于所述指令自当前位置移动至指令中所包含的物体种类标签对应的目的位置。移动机器人的具体实现方式如图6及其相应描述所示,在此不再赘述。
终端设备如能够接收指令输入且能够和移动机器人进行通信以控制移动机器人移动的手机、平板等。终端设备72包括输入单元和通信单元。其中,输入单元用于接收包含物体种类标签的指令。在一种实施例中,输入单元用于接收包含物体种类标签的文本指令。例如,用户可以通过键盘、触摸屏等方式向输入单元输入文本指令。在另一种实施例中,输入单元用于接收语音信息并识别语音信息中包含物体种类标签的指令。例如,用户可以语音包括物体种类标签的一句话如“移动到花盆处”,输入单元接收该语音并识别语音信息中所包括的物体种类标签“花盆”指令。然后,通信单元用于将所接收的指令传送给移动机器人,以使移动机器人基于所述指令自当前位置移动至对应物体种类标签的目的位置。
此外,终端设备还可以包括显示单元,用于显示所获取的地图。在某些实施例中,根据用户需求,终端设备的显示单元还用于在所获取的标记有物体种类标签的地图上显示移动机器人的当前位置、物体种类标签对应的目的位置、移动机器人自当前位置移动至物体种类标签对应的目的位置的移动路线、或其任意组合。
本申请还提供一种处理***,用于带有摄像装置的移动机器人。所述处理***例如控制主板,其装配在带有摄像装置的移动机器人上以控制移动机器人移动。请参阅8,图8显示为本申请处理***在一种实施方式中的结构示意图,如图所示,处理***包括输入单元81、存储单元82、处理单元83。
输入单元31用于接收自摄像装置所摄取的图像。在某些实施例中,输入单元31与移动机器人的摄像装置连接,以将所摄取的图像输入至处理***。在此,所述输入单元31可包含用于与摄像装置数据连接的硬件和软件,其中,所述硬件包括但不限于USB接口、HDMI接口等,所述软件包括但不限于基于相应接口协议而读取摄像装置中的图像等。
存储单元32用于存储所摄取的图像、预设的物理参考信息、预先标记的物体标签以及至少一个程序。
其中,所述存储单元32可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。所述存储单元32还包括存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。
其中,所述物理参考信息包括但不限于:摄像装置相距移动机器人底面的物理高度、摄像装置的物理参数、和摄像装置的主光轴相对于水平或垂直面的夹角。在此,技术人员预先测量摄像装置的成像中心与地面的距离,并将所距离作为所述物理高度或物理高度的初始值保存在存储单元32中。所述物理高度也可以预先通过对移动机器人设计参数进行计算而得到的。依据移动机器人的设计参数还可以得到摄像装置的主光轴相对于水平或垂直面的夹角,或夹角的初始值。对于摄像装置可调节的移动机器人来说,所保存的夹角可在夹角初始值的基础上增/减被调节的偏转角后而确定的,所保存的物理高度是在物理高度初始值的基础上增/减被调节的高度后而确定的。所述摄像装置的物理参数包含镜头组的视角和焦距等。
其中,所述物体标签是基于移动机器人所移动的环境情况预先筛选并存储在存储单元32中的。所述物体标签用于描述可能被摄取的、且摆放在所述环境中的物体分类或物体在图像中的图像特征。
在一些示例中,所述物体标签可以由物体的图像特征来表征,所述图像特征能够标识图像中的目标物体。例如,移动机器人应用于室内环境中,所述物体标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体等图像特征。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。
在又一些示例中,所述物体标签可以由物体分类来表征。在此,所述存储单元所存储的程序包含神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述网络结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类以及物体在图像中的位置。仍以室内环境为例,物体标签包括但不限于:桌子、椅子、沙发、花盆、鞋、袜、平铺物体、未知物体等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。另外,所述未知物体是指所训练的神经网络模型无法识别的且确认为物体的一种分类,通常包括在室内随机出现的物体,例如碎屑、玩具等。
所述存储单元32中所保存的程序还包括稍后描述的由处理单元调用以执行导航方法的相关程序。
其中,所述处理单元33可操作地与输入单元、存储单元等耦接。此外,处理器还可操作地耦接至电源,该电源可向控制主板中的各种部件提供电力。如此,电源可包括任何合适的能源,诸如可再充电的锂聚合物(Li-poly)电池和/或交流电(AC)电源转换器。
处理单元33用于调用所述至少一个程序并执行如上任一所述的导航方法。其中,处理单元33与输入单元31、存储单元32进行数据通信。处理单元33可执行在存储单元中存储的指令以在机器人中执行操作。处理单元执行导航方法的具体实现方式如图1至图4及其相应描述所示,在此不再赘述。
在某些实施例中,处理***还包括输出单元,输出单元用于将移动机器人的当前位置、物体种类标签对应的目的位置、自当前位置至物体种类标签对应的目的位置的导航路线和/或移动机器人按照所述导航路线移动的移动路线予以输出以供用户查看。
其中,所述输出单元可包含用于与处理单元83数据连接的硬件和软件,其中,所述硬件包括但不限于USB接口、HDMI接口、网络接口等,所述软件包括但不限于基于相应接口协议而输出地图,以及在地图上描绘的移动机器人的当前位置、物体种类标签所表示的目的位置、导航路线、移动机器人按照所述导航路线移动的移动路线、和所述导航路线和移动路线等。所述输出单元将处理单元所提供的地图、以及在地图上描绘的导航路线和/或移动路线输出至显示屏、终端设备等以供用户查看。
另外需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请的部分或全部可借助软件并结合必需的通用硬件平台来实现。基于这样的理解,本申请还提供一种计算机存储介质,所述存储介质存储有至少一个程序,所述程序在被调用时执行前述的任一所述的导航方法。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可包括其上存储有机器可执行指令的一个或多个机器可读介质,这些指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可使得该一个或多个机器根据本申请的实施例来执行操作。例如执行机器人的定位方法中的各步骤等。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘-只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储机器可执行指令的其他类型的介质/机器可读介质。其中,所述存储介质可位于机器人也可位于第三方服务器中,如位于提供某应用商城的服务器中。在此对具体应用商城不做限制,如小米应用商城、华为应用商城、苹果应用商城等。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。