构建地图、定位、导航、控制方法及系统、移动机器人
技术领域
本申请涉及自主机器人的导航控制技术领域,特别是涉及一种构建地图、定位、导航、控制方法及系统、移动机器人。
背景技术
移动机器人是自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。这类移动机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。
移动机器人基于视觉传感器所提供的视觉信息并结合其他移动传感器所提供的移动数据,一方面能够构建机器人所在场地的地图数据,另一方面,还可基于所构建的地图数据提供路线规划、路线规划调整及导航服务,这使得移动机器人的移动效率更高。然而,在实际应用中,在现有的实际应用中,移动机器人结合移动传感器所提供的位置信息确定当前位置,以及通过识别摄像装置所摄取的单幅图像所包含的图像特征来帮助定位当前位置,以便于移动机器人将其在当前位置所拍摄的图像特征,与所存储的相匹配图像特征在地图中的位置进行对应,由此实现快速定位。然而类似的定位方法,并不能准确定位移动机器人在地图中的位置。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种构建地图、定位、导航、控制方法及系统、移动机器人,用于解决现有技术中不能对实体对象进行精确定位的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种构建地图的方法,用于包含摄像装置的移动机器人,其中,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述构建地图的方法包括:分别在所述移动机器人行进至第一位置和第二位置处对应获取第一投影图像和第二投影图像;基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述实体对象在所述行进平面中的投影位置信息;将所确定的实体对象的投影位置信息标记到预设的地图中,以便利用所述地图生成导航路线。
在本申请的第一方面的某些实施方式中,还包括基于预设的实体对象信息的种类,识别所述第一投影图像和第二投影图像中对应同一实体对象的目标区域的步骤,以及将所识别出的实体对象信息标记在所述地图中的步骤。
在本申请的第一方面的某些实施方式中,所述基于预设的实体对象信息的种类,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域的步骤包括以下至少一种:基于预设置的多种实体对象的特征信息,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域;利用预设的图像识别算法,将第一投影图像和第二投影图像中对应同一实体对象的目标区域与预设的多种实体对象信息进行映射处理。
在本申请的第一方面的某些实施方式中,还包括以下至少一步骤:基于在所述第一投影图像中识别的第一目标区域,并利用图像追踪技术在所述第二投影图像中识别对应的第二目标区域,以得到两幅投影图像中对应同一实体对象的目标区域;匹配所述第一投影图像和第二投影图像中具有共同目标特征的目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。
在本申请的第一方面的某些实施方式中,还包括在对应所述第一位置和第二位置处获取所述移动装置的姿态信息,并得到所述移动机器人自第一位置至第二位置的相对姿态变化信息;对应地,基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述实体对象在所述行进平面中的投影位置信息的步骤包括:基于所述相对姿态变化信息抵消所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息中的角度偏差;以及基于抵消后的角度信息和所述第一位置和第二位置确定所述实体对象在所述行进平面中的投影位置信息。
在本申请的第一方面的某些实施方式中,所述确定实体对象在所述行进平面中的投影位置信息的步骤包括:基于所述角度信息、所述第一位置和第二位置,构建在所述行进平面内的几何关系;利用所构建的几何关系确定所述实体对象在所述行进平面中的投影位置信息。
在本申请的第一方面的某些实施方式中,在所述移动机器人从第一位置移动至第二位置期间还执行以下步骤:根据所述移动机器人的移动信息,测量从所述第一位置至移动机器人当前位置之间的相对位置信息;以及基于所测量的相对位置信息确定第二位置并获取对应的第二投影图像。
在本申请的第一方面的某些实施方式中,所述方法还包括以下步骤:在所述移动机器人移动期间,对于所识别出的同一实体对象,多次执行前述获取两幅投影图像以及确定所述实体对象的投影位置信息的步骤,以获得藉由每次执行上述步骤而得到的同一实体对象的至少两个投影位置信息;以及基于所得到的对应同一实体对象的至少两个投影位置信息,对所述实体对象的投影位置进行误差修正处理,以便将误差修正后的投影位置信息标记到预设地图中。
为实现上述目的及其他相关目的,本申请的第二方面提供一种导航方法,用于包含摄像装置的移动机器人,包括:获取利用如上任一所述的构建地图的方法所构建的地图;利用所述地图设置导航路线,以供所述移动机器人按照所述导航路线进行移动控制。
在本申请的第二方面的某些实施方式中,所述地图中包含实体对象信息及其位置信息;所述利用地图设置导航路线的步骤包括以下至少一种:基于包含实体对象信息的指令信息,设置导航至所述实体对象信息的导航路线;基于所述移动机器人的当前位置信息以及地图中的实体对象信息,设置所述移动机器人自当前位置移动并途径至少一个实体对象的导航路线。
在本申请的第二方面的某些实施方式中,所述移动机器人为清洁机器人;所述利用地图设置导航路线的步骤包括:基于所述地图中所标记的实体对象及其位置信息,设置遍历清扫区域中途径所述实体对象的导航路线。
为实现上述目的及其他相关目的,本申请的第三方面提供一种定位方法,用于包含摄像装置的移动机器人,其中,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述移动机器人中预存储标记有实体对象的投影位置信息的地图,所述定位方法包括:分别在所述移动机器人行进至第一位置和第二位置处对应获取第一投影图像和第二投影图像;其中,所述第一投影图像和第二投影图像中均包含所述地图中所标记的同一实体对象所投影的目标区域;基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述移动机器人在所述行进平面的定位信息,以便基于所述定位信息生成导航路线。
在本申请的第三方面的某些实施方式中,还包括基于预设的实体对象信息的种类,识别所述第一投影图像和第二投影图像中对应同一实体对象的目标区域的步骤,以及基于所识别出的实体对象信息的种类确定实体对象信息在所述地图中位置信息的步骤。
在本申请的第三方面的某些实施方式中,所述基于预设的实体对象信息的种类,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域的步骤包括以下至少一种:基于预设置的多种实体对象的特征信息,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域;利用预设的图像识别算法,将第一投影图像和第二投影图像中对应同一实体对象的目标区域与预设的多种实体对象信息进行映射处理。
在本申请的第三方面的某些实施方式中,还包括以下至少一步骤:基于在所述第一投影图像中识别的第一目标区域,并利用图像追踪技术在所述第二投影图像中识别对应的第二目标区域,以得到两幅投影图像中对应同一实体对象的目标区域;匹配所述第一投影图像和第二投影图像中具有共同目标特征的目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。
在本申请的第三方面的某些实施方式中,还包括在对应所述第一位置和第二位置处获取所述移动装置的姿态信息,并得到所述移动机器人自第一位置至第二位置的相对姿态变化信息;对应地,基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述移动机器人在所述行进平面的定位信息的步骤包括:基于所述相对姿态变化信息抵消所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息中的角度偏差;以及基于抵消后的角度信息和所述第一位置和第二位置确定所述移动机器人在所述行进平面中的定位信息。
在本申请的第三方面的某些实施方式中,所述确定所述移动机器人在所述行进平面中的定位信息的步骤包括:基于所述角度信息、所述第一位置和第二位置之间相对位置信息,构建在所述行进平面内的几何关系;利用所构建的几何关系确定所述移动机器人在所述行进平面中的定位信息。
在本申请的第三方面的某些实施方式中,在所述移动机器人从第一位置移动至第二位置期间还执行以下步骤:根据所述移动机器人的移动信息,测量从所述第一位置到移动机器人当前位置之间的相对位置信息;以及基于所述相对位置信息确定第二位置并获取对应的第二投影图像。
在本申请的第三方面的某些实施方式中,所述定位方法还包括以下步骤:对于所识别出的同一实体对象,和所述第一位置及所拍摄的第一投影图像,令移动机器人在多个第二位置拍摄对应的第二投影图像,并根据第一位置和多个第二位置各自拍摄的第一投影图像和第二投影图像分别执行前述确定所述移动机器人在所述第一位置的定位信息的步骤,以获得藉由每次执行上述步骤而得到的所述移动机器人的至少两个对应第一位置的定位信息;基于所得到的所述移动机器人的至少两个对应第一位置的定位信息,对所述移动机器人在第一位置时的定位位置进行误差修正处理,以便将误差修正后的定位位置确定为所述移动机器人在第一位置时的定位位置;基于所确定的所述移动机器人在第一位置时的定位位置,确定移动机器人当前的定位信息。
为实现上述目的及其他相关目的,本申请的第四方面提供一种导航方法,用于包含摄像装置的移动机器人,包括:获取利用如上任一所述的构建地图的方法所构建的地图;以及利用如上任一所述的定位方法确定所述移动机器人当前的定位信息;利用所述地图和定位信息设置导航路线,以供所述移动机器人按照所述导航路线进行移动控制。
在本申请的第四方面的某些实施方式中,所述地图中包含实体对象信息及其位置信息;所述利用地图和定位信息设置导航路线的步骤包括以下至少一种:基于包含实体对象信息的指令信息,设置从所述定位信息导航至所述实体对象信息的导航路线;基于所述移动机器人的定位信息以及地图中的实体对象信息,设置所述移动机器人自定位信息移动并途径至少一个实体对象的导航路线。
在本申请的第四方面的某些实施方式中,所述移动机器人为清洁机器人;所述利用地图设置导航路线的步骤包括:基于所述地图中所标记的实体对象及其位置信息,设置遍历清扫区域中途径所述实体对象的导航路线。
为实现上述目的及其他相关目的,本申请的第五方面提供一种移动机器人的控制方法,用于包含摄像装置和移动装置的移动机器人,包括:获取如上任一所述的导航路线,并按照所述导航路线控制所述移动装置以调整所述移动机器人的位置和姿态,以沿所述导航路线进行自主移动。
为实现上述目的及其他相关目的,本申请的第六方面提供一种构建地图的系统,用于移动机器人,包括:摄像装置,设置于所述移动机器人,用于在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;处理装置,与所述摄像装置相连,用于运行至少一程序,以执行如上任一所述的构建地图方法。
在本申请的第六方面的某些实施方式中,所述摄像装置的主光轴垂直于所述移动机器人的行进平面。
为实现上述目的及其他相关目的,本申请的第七方面提供一种导航系统,用于移动机器人,包括:摄像装置,设置于所述移动机器人,用于在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;处理装置,与所述摄像装置相连,用于运行至少一程序,以执行如上任一所述的导航方法。
在本申请的第七方面的某些实施方式中,所述摄像装置的主光轴垂直于所述移动机器人的行进平面。
为实现上述目的及其他相关目的,本申请的第八方面提供一种移动机器人,包括:摄像装置,设置于所述移动机器人,用于在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;移动装置,设置于所述移动机器人,用于受控地调整所述移动机器人的位置和姿态;第一处理装置,连接所述所述摄像装置,用于运行至少一程序,以执行如上任一所述的导航方法;第二处理装置,连接于所述第一处理装置和移动装置,用于运行至少一程序,以基于所述第一处理装置所提供的导航路线,控制所述移动装置执行如上所述的控制方法。
在本申请的第八方面的某些实施方式中,所述摄像装置的主光轴垂直于所述移动机器人的行进平面。
为实现上述目的及其他相关目的,本申请的第九方面提供一种数据处理装置,用于包含摄像装置的移动机器人,其中,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,其特征在于,包括:数据接口,用于连接所述摄像装置;存储单元,用于存储至少一程序;处理单元,与所述存储单元和数据接口相连,用于藉由所述数据接口获取所述摄像装置拍摄的图像;以及用于执行所述至少一程序以执行如上任一所述的构建地图的方法、或执行如上任一所述的导航方法、或者执行如上所述的控制方法。
为实现上述目的及其他相关目的,本申请的第十方面提供一种计算机可读的存储介质,存储至少一种程序,所述至少一种程序在被调用时执行如上任一所述的构建地图的方法、或执行如上任一所述的导航方法、或者执行如上所述的控制方法。
如上所述,本申请的构建地图、定位、导航、控制方法及系统、移动机器人,分别在所述移动机器人行进至第一位置和第二位置处对应获取关于移动机器人的行进平面的第一投影图像和第二投影图像;基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,构建地图或对移动机器人进行定位,且根据构建的地图和定位的结果规划导航路线,控制该移动机器人沿所述导航路线移动。本申请通过两个位置处的两幅图像较为精准确定实体对象的位置信息,提高构建的地图的精确性,且根据较为精确的移动机器人的定位信息规划导航路线,以精准的控制移动机器人的移动,提高移动机器人运行的精度以及提高人机交互性。
附图说明
图1显示为移动机器人拍摄包含实体对象a的投影图像时,其与实体对象a在相应物理空间的示意图。
图2显示为本申请的构建地图的方法在一具体实施例中的流程示意图。
图3显示为基于角度信息以及第一位置和第二位置确定共同目标区域对应的实体对象的位置信息的原理示意图。
图4显示为基于角度信息以及第一位置和第二位置确定共同目标区域对应的实体对象的位置信息的原理示意图。
图5显示为本申请的导航方法在一具体实施例中的流程示意图。
图6显示为本申请的导航方法在一具体实施例中的流程示意图。
图7显示为本申请的定位方法在一具体实施例中的流程示意图。
图8显示为本申请的移动机器人的控制方法在一具体实施例中的流程示意图。
图9显示为本申请的构建地图的系统在一具体实施例中的组成示意图。
图10显示为本申请的导航系统在一具体实施例中的组成示意图。
图11显示为本申请的移动机器人在一具体实施例中的组成示意图。
图12显示为本申请的数据处理装置在一具体实施例中的组成示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
移动机器人基于导航控制技术执行移动操作。其中,受移动机器人所应用的场景影响,当移动机器人处于未知环境的未知位置时,利用VSLAM(Visual SimultaneousLocalization and Mapping,基于视觉的即时定位与地图构建)技术可以帮助移动机器人构建地图并执行导航操作。具体地,移动机器人通过视觉传感器所提供的视觉信息以及移动传感器所提供的移动信息来构建地图,并根据所构建的地图为移动机器人提供导航能力,使得移动机器人能自主移动。其中,所述视觉传感器举例包括摄像装置。所述移动传感器举例包括速度传感器、里程计传感器、距离传感器、悬崖传感器等。所述移动机器人在行进平面进行移动,预先获取并存储关于所述行进平面的投影图像。所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。所述实体对象例如包含:电视机、空调、椅子、鞋子、皮球等。在现有的实际应用中,移动机器人结合移动传感器所提供的位置信息确定当前位置,以及通过识别摄像装置所摄取的单幅图像所包含的图像特征来帮助定位当前位置,以便于移动机器人将其在当前位置所拍摄的图像特征,与所存储的相匹配图像特征在地图中的位置进行对应,由此实现快速定位。然而类似的定位方法,并不能准确定位移动机器人在地图中的位置。
为此,本申请提供一种构建地图的方法,应用于移动机器人中,通过该构建地图的方法可以精确地将在摄像装置视场范围内摄取的实体对象映射到移动机器人所使用的地图中,进而根据所定位的实体对象,生成以供移动机器人设置导航路线的地图。其中,所述实体对象包含移动机器人所移动的物理空间中任何可被拍摄的物理实体,其举例但不限于:球、鞋、墙壁、花盆、衣帽、屋顶、灯、树、桌子、椅子、冰箱、电视、沙发、袜、平铺物体、杯子等。其中,平铺物体包括但不限于平铺在地板上的地垫、地砖贴图,以及挂在墙壁上的挂毯、挂画等。所述摄像装置包括但不限于鱼眼摄像模块、广角(或非广角)摄像模块中的任一种。所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人、擦玻璃的机器人等。
在此,所述移动机器人包括至少一个摄像装置。所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。例如,移动机器人包含一个摄像装置,其设置于所述移动机器人顶部、肩部或背部,且主光轴垂直于所述移动机器人的行进平面。又如,移动机器人包含多个摄像装置,其中一个摄像装置的主光轴垂直于所述移动机器人的行进平面。
由于,所述摄像装置的主光轴垂直于行进平面,因此,摄像装置所摄取的二维图像所在平面与所述行进平面具有平行关系。请参阅图1,其显示为移动机器人拍摄包含实体对象a的投影图像时,其与实体对象a在相应物理空间的示意图。在摄像装置拍摄一幅投影图像时,所拍摄到的实体对象a投影到该投影图像M1中的位置D1与同一实体对象a投影到行进平面M2中的位置D2,其中位置D1和D2相对于移动机器人的位置D具有相同角度的特点。以此类推,我们用摄像装置所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
利用上述特点并请参阅图2,图2显示为本申请的构建地图的方法在一具体实施例中的流程示意图。其中,所述构建地图的方法可由移动机器人包括的处理装置来执行。其中,所述处理装置为一种能够进行数值运算、逻辑运算及数据分析的电子设备,其包括但不限于:CPU、GPU、FPGA等,以及用于暂存运算期间所产生的中间数据的易失性存储器等。
在步骤S210中,分别在所述移动机器人行进至第一位置和第二位置处对应获取第一投影图像和第二投影图像。其中,处理装置所选取的两张投影图像应包含所拍摄到的同一实体对象。
在一些实施方式中,处理装置依据摄像装置的视场范围的直径,在小于所述直径的移动距离内的第一位置和第二位置获取对应的第一投影图像及第二投影图像。
例如,在移动机器人移动期间,处理装置可以预先设定摄像装置拍摄图像的时间间隔获取经摄像装置拍摄的不同时刻下的静态图像,以及拍摄静态图像时所对应的第一位置和第二位置;其中,所述时间间隔应至少小于移动机器人移动一个视场范围的直径所花费的时长。又如,摄像装置可以拍摄视频,由于视频是由图像帧构成的,在移动机器人移动期间,处理装置连续或不连续地采集所获取的视频中的图像帧,然后处理装置选用其中两帧图像作为两幅投影图像,并获取所对应的第一位置和第二位置,其中选取的两帧图像具有部分重叠的视场。
又如,所述摄像装置以预设的时间周期令所述移动机器人摄取其视场范围内的实体对象投影至所述移动机器人的行进平面的投影图像,然后处理装置获取经摄像装置以预设时间周期摄取的不同时刻下的投影图像,且选取其中两张投影图像作为第一投影图像和第二投影图像,且该第一投影图像所对应的位置为所述第一位置,所述第二投影图像所对应的位置为所述第二位置。其中,所述时间周期可由时间单位表示,或者所述时间周期由图像帧的间隔数量来表示。
再如,所述移动机器人与智能终端通信,所述智能终端可以通过特定的APP对所述时间周期进行修改。例如在打开所述APP后,在所述智能终端的触摸屏上显示所述时间周期的修改界面,通过对所述修改界面的触摸操作,完成对所述时间周期的修改;又或者直接向所述移动机器人发送时间周期修改指令以对所述时间周期进行修改,所述时间周期修改指令,例如为包括修改指令的语音,所述语音例如为“周期修改为三秒”。又如,所述语音为“图像帧间隔修改为五幅”。
在又一些实施方式中,处理装置确定选取第一位置和第二位置处的第一投影图像和第二投影图像的依据是两幅投影图像中包含共同目标区域。在此,所述处理装置在执行步骤S210的同时,或者无必然执行顺序地,还执行以下步骤S211和S212中的至少一种。
在步骤S211中,基于在所述第一投影图像中识别的第一目标区域,并利用图像追踪技术在所述第二投影图像中识别对应的第二目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。由此获取第二投影图像及其所对应的第二位置。
在此,处理装置利用图像处理算法得到的第一投影图像中的图像特征,并基于图像特征确定第一目标区域,利用图像追踪技术追踪自第一投影图像之后摄像装置所摄取的至少一幅投影图像,并在经持续追踪而确定图像特征在第二位置所拍摄的第二投影图像中仍然存在,则确定获取第一位置和第二位置各自所拍摄的第一投影图像和第二投影图像,以及确定所追踪的图像特征在为同一实体对象。其中,所述图像特征包括预设的对应实体对象种类的图形特征,或者经图像处理算法而得到的图像特征。其中,所述图像处理算法包括但不限于以下至少一种:灰度处理、锐化处理、轮廓提取、角提取、线提取,利用经机器学习而得到的图像处理算法。利用经机器学习而得到的图像处理算法包括但不限于:神经网络算法、聚类算法等。
在步骤S212中,匹配所述第一投影图像和第二投影图像中具有共同目标特征的目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。
在一些示例中,处理装置分别在第一位置和第二位置获取两幅投影图像,并分别识别图像特征,并匹配两幅投影图像中的图像特征,由此将相匹配的图像特征所在目标区域作为具有共同目标特征的目标区域,并确定具有共同目标特征的目标区域对应同一实体对象。由此,处理装置将分别在第一位置和第二位置所获取的两幅投影图像作为第一投影图像和第二投影图像,并确定对应的第一位置和第二位置。
在另一些示例中,处理装置借助于移动机器人从第一位置移动至第二位置所改变的方向,将在第一投影图像中所识别出的图像特征映射到第二投影图像中对应图像区域,并在该图像区域附近查找相配的图像特征,由此将相匹配的图像特征所在目标区域作为具有共同目标特征的目标区域,并确定具有共同目标特征的目标区域对应同一实体对象。由此,处理装置将确定所述第一投影图像和第二投影图像,以及确定对应的第一位置和第二位置。
其中,表示共同目标区域的图像特征包括以下至少一种:特征点、特征线、特征颜色、基于物体识别模型而在图像中所标记的对应共同目标区域内的关键区域上的图像特征等。其中,所述特征点包括与所述实体对象对应的角点、端点、拐点等。确定实体对象上各特征点所对应的物体局部位置分别与移动机器人的相对空间位置。所述特征线例如为标识所述实体对象的轮廓线。即令所述移动机器人将所述第一投影图像和所述第二投影图像根据所述预设的多种实体对象的特征信息进行比对,且所述第一投影图像和所述第二投影图像中均与一实体对象的图像特征匹配的区域为所述共同目标区域。所述物体识别模型举例包括基于神经网络而构建的物体识别算法模型、用于识别物体的聚类算法模型等。当利用物体识别模型而识别两幅投影图像中的共同目标区域时,可在两幅投影图像中使用相同颜色的矩形框(或圆角矩形框、圆形等)来表示所识别出的共同目标区域,所对应的两个矩形框的边沿区域、中心区域等即为所述关键区域,并提取相应区域内的图像特征。
需要说明的是,上述任一示例所得到的实体对象并非一定能够被处理装置所识别,即处理装置能够确定实体对象所属种类。例如,处理装置并非一定能够确定在第一投影图像和第二投影图像中相匹配的共同目标区域所对应的实体对象为桌子。
在一些实际应用中,所述构建地图的方法还包括:基于预设的实体对象信息的种类,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域。其中,预设的实体对象信息的种类是指所识别的实体对象所属的种类。例如,饭桌、写字台均归类于桌子种类,又如,电脑椅和板凳均归类于椅子种类等。其中,所述实体目标信息的种类是基于移动机器人所移动的环境情况预先筛选并存储在移动机器人的存储装置中的。所述实体目标信息的种类由可能被摄取的、且摆放在所述环境中的实体目标的特征信息或实体目标在图像中的图像特征来表征。
在一些示例中,所述实体目标信息的种类可以由物体的图像特征来表征,所述图像特征能够标识图像中的实体对象。所述处理装置基于预设置的多种实体对象的特征信息,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域。例如,利用预设的各种类的图像特征中遍历在第一投影图像和第二投影图像中对应同一实体对象的目标区域,以确定所识别的实体对象归属的种类。
在又一些示例中,所述实体目标信息的种类可以由物体分类来表征。所述处理装置利用预设的图像识别算法,将第一投影图像和第二投影图像中对应同一实体对象的目标区域与预设的多种实体对象信息进行映射处理。例如,存储装置所存储的程序包含神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述网络结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类。
另外,为了确定第一位置和第二位置,所述处理装置还在执行步骤S210期间执行步骤S213和S214。
在步骤S213中,根据所述移动机器人的移动信息,测量从所述第一位置至移动机器人当前位置之间的相对位置信息。
在步骤S214中,基于所测量的相对位置信息确定第二位置并获取对应的第二投影图像。
在此,受移动机器人的行进平面的材质影响,为提高第一位置和第二位置的测量准确性,在移动机器人移动期间,利用移动机器人的位置测量装置,处理装置监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角,并当判断所述相对位移和/或相对偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像。其中,所述测量阈值可以一固定值,或相对值。例如,所述测量阈值为5cm。又如,所述测量阈值为移动机器人的滚轮圈数的n倍,n>1。
在一些实施例中,利用所述移动机器人的位置测量装置获取所述移动机器人的移动信息。所述位置测量装置包括但不限于均设置在移动机器人的位移传感器、测距传感器、角度传感器、双目摄像装置、速度传感器等。在此,处理装置可仅监测位置测量装置中的一种来监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。例如,所述位置测量装置为设置于所述移动机器人的马达的计数传感器,利用马达运转的圈数进行计数以获得所述移动机器人自第一位置移动至第二位置的相对位移,以及利用马达运转的角度获取姿态信息等。又如,所述位置测量装置测量移动机器人的行进速度,并利用行进速度及所行进的时长计算自第一位置移动至第二位置的相对位移。或者,结合多种传感器和摄像装置等所提供的位置数据来监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。例如,利用预设权重并结合双目摄像装置所获取的移动机器人相对于固定目标的多组测距数据,以及马达运转所测量的数据,来确定移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。
在另一些实施例中,所述位置测量装置为GPS(Global Positioning System,全球定位系统),根据该GPS监测移动机器人从所述第一位置到移动机器人当前位置之间的矢量位移及矢量偏角;并当判断所述相矢量位移和/或矢量偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。在又一些实施例中,所述位置测量装置为基于测量无线信号而定位的装置,例如,所述位置测量装置为蓝牙(或WiFi)定位装置;位置测量装置根据在第一位置和第二位置各自对所接收的无线定位信号的功率进行测量,来确定各位置相对于预设无线定位信号发射装置的相对位置;利用该位置测量装置监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角;并当判断所述相对位移和/或相对偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。
在另一些实施例中,以所述地图为一种栅格地图为例,预先确定单位栅格长度与实际位移之间的映射关系,按照移动机器人在移动期间所得到的移动信息,监测移动机器人从所述第一位置到移动机器人当前位置之间的栅格数及栅格偏角;并当判断所述栅格数和/或栅格偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。
在步骤S220中,基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述实体对象在所述行进平面中的投影位置信息。
参见图1可知,由于所获取的投影图像所在平面是与移动机器人的行进平面平行的,因此,在基于移动机器人的行进平面(或者基于投影图像所在平面)而构建的坐标系中,同一实体对象在投影图像中目标区域与坐标基准线之间的偏角,相当于该实体对象投影在所述行进平面的位置相对于所述坐标基准线的偏角。其中,所述坐标基准线为所述坐标系所在平面内的直线。例如,所述坐标基准线为移动机器人的前进方向所在直线。换言之,当处理装置通过投影图像确定对应实体对象的目标区域与坐标基准线之间的角度时,意味着可以确定该实体对象位于与移动机器人行进方向偏移所述角度的方向上。
因此,当移动机器人在行进平面移动期间,将所述移动机器人所在不同位置以及在各位置处所拍摄到的同一实体对象在投影图像中的目标区域,均映射到所述坐标系中,可基于所得到的各角度和各位置而构建几何关系,利用所构建的几何关系确定所述实体对象在所述行进平面中的投影位置信息。其中,所述几何关系包括但不限于:三角形关系、四边形关系等。
需要说明的是所述坐标系用于帮助理解,在实际地图构建期间,并非一定绘制或显示所述坐标系。
在一些实施方式中,所述步骤S220包括:基于所述角度信息、所述第一位置和第二位置,构建在所述行进平面内的几何关系;以及利用所构建的几何关系确定所述实体对象在所述行进平面中的投影位置信息。
请参阅图3,图3显示为基于角度信息以及第一位置和第二位置确定实体对象位置信息的原理示意图。以移动机器人沿直线从第一位置P1移动至第二位置P2为例,利用上述坐标系,处理装置在所述第一位置P1获取如图3所示的第一投影图像,所述处理装置在所述第二位置P2获取如图3所示的第二投影图像,所述第一位置P1和所述第二位置P2间形成连线P1P2;以及,所述处理装置还确定同一实体对象分别在第一投影图像和所述第二投影图像中的目标区域O1和O2;对于同一实体对象来说,其应位于所述目标区域O1与第一位置P1的连线P1O1上,以及位于所述目标区域O2与第二位置P2的连线P2O2上,换言之,实体对象位于线段P1O1和P2O2相交的位置O,即该位置O为该实体对象投影到行进平面的投影位置。其中,处理装置根据所述连线P1O1与所述连线P1P2之间的夹角α1、连线P2O2与所述连线P1P2之间的夹角β1、以及连线P1P2之间的距离,确定点P1、P2、O所构成的三角形中点O的位置,进而得到所述实体对象在所述行进平面中的投影位置信息。
以移动机器人从第一位置移动至第二位置时姿态发生变化为例,所获取的第一位置和第二位置中包含位移信息和姿态信息。其中,根据第一位置和第二位置的姿态信息,可得到相对姿态变化信息。其中,所述相对姿态变化信息包括在行进平面内所述移动机器人在第二位置相对于所述移动机器人在第一位置所转动的角度。对应地,所述步骤S120包括:基于所述相对姿态变化信息抵消所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息中的角度偏差;以及基于抵消后的角度信息和所述第一位置和第二位置确定所述实体对象在所述行进平面中的投影位置信息。
参阅图4所示,图4显示为基于角度信息以及第一位置和第二位置确定共同目标区域对应的实体对象的位置信息的原理示意图。所述移动机器人在第一位置P1’处向Y轴的正方向的行进方向移动,以及在第二位置P2’处沿向Y轴正方向偏左γ角度Y’轴的正方向移动,由此,处理装置可确定移动机器人在第一位置和第二位置之间的相对姿态变化信息为夹角γ。其中,夹角γ可由移动机器人的位置测量装置中的角度传感器提供。
仍参见图4,处理装置根据在所述第一位置P1’处摄取的第一投影图像中目标区域在坐标系中的位置,确定该目标区域所对应的实体对象位于连线P1’O1’所在直线上,其与所述Y轴的正方向的夹角α2,根据在所述第二位置P2’处摄取的第二投影图像中目标区域在坐标系中的位置,确定该目标区域所对应的实体对象位于连线P2’O2’所在直线上,其与所述Y’轴的正方向的夹角β2,由于Y’轴的正方向与Y轴的正方向之间夹角γ,因此,所述处理装置在确定实体对象相距第二位置的连线时,需抵消夹角γ所产生的角度偏差,即将所述夹角β2减去所述夹角γ后的补角为夹角β2’。即可根据所述连线P1’P2’的距离、所述夹角α2和所述夹角β2’所构建的三角关系,确定所述实体对象的投影位置信息。
需要说明的是,上述任一示例中均未考虑实体对象在所述行进平面的垂直方向上的高度。在实际应用中,利用移动机器人的高度测量装置,可在定位实体对象的位置时测量其高度信息。其应视为基于本申请所提供的地图构建方案而拓展的一种实施例。在此不予详述。
在步骤S230中,将所确定的实体对象的投影位置信息标记到预设的地图中。在此,处理装置根据地图与物理空间的比例关系,按照第一位置、第二位置和所得到的实体对象在行进平面中的投影位置信息,得到各自映射到地图中的位置信息,即将实体对象的投影位置信息标记到地图中。其中,在一些实施方式中,为表示所标记位置的实体对象,所述处理装置可将实体对象的图像特征标记在地图的对应位置处,以便当移动机器人再次拍摄到与此图像特征相匹配的目标区域时,利用上述方式,确定移动机器人在地图中的位置。
在另一些实施方式中,根据所识别出的实体对象信息,将所识别出的实体目标信息标记在所述地图中。例如可以将对应各所述实体目标信息的文字描述、图像标识、或者编号标记于所述地图中,所述文字描述可以为对各实体目标信息的种类的名称描述,例如包括对桌子、椅子、花盆、电视以及冰箱等物体的名称描述。例如对应所述桌子的名称描述为“桌子”,对应所述电视的名称描述为“电视”。所述图像标识可以为对应各实体目标信息的种类的实际形象的图标。所述编号可以为预先对应各所述实体目标信息进行编排的数字标号。例如“001”代表冰箱,“002”代表椅子,“003”代表桌子等。
在又一些实施方式中,所标记的实体对象的投影位置信息是被不断纠正的,或经纠正后被标记到地图中的。为此,在所述移动机器人移动期间,对于所识别出的同一实体对象,多次执行前述步骤S210-S220中所述的任一示例,以获得藉由每次执行上述步骤而得到对应同一实体对象的至少两个投影位置信息。受移动机器人所行进平面的材料影响,移动机器人移动期间历次获取的第一位置信息、第二位置信息无法精准确定。例如,当移动机器人在地毯上移动时,其真实移动的距离小于其通过位置测量装置所测量的距离。又如,当移动机器人在地板上移动时,其真实移动的距离接近其通过位置测量装置所测量的距离。因此,在多次执行步骤S210-S220期间,藉由第一位置信息、第二位置信息、角度信息等而计算得到的同一实体对象的投影位置信息将会有差异。因此,本申请所提供的构建地图的方法可藉由移动机器人在移动期间的第一位置、第二位置、第三位置等多个位置所构成的至少两个三角形对同一个实体对象的投影位置信息进行确定,并利用以下步骤进行误差修正,即基于所得到的对应同一实体对象的至少两个投影位置信息,对所述实体对象的投影位置进行误差修正处理的步骤。
在此,所述误差修正的方式包括但不限于:1)采用加权平均的方式对所得到的各投影位置信息进行误差修正处理,以将误差修正后的投影位置信息标记到预设地图中。例如,将所得到的同一实体对象的投影位置信息中横纵坐标进行加权平均,得到误差修正后的投影位置信息并标记到地图中。2)采用数值优化的方式将所得到的各投影位置信息进行迭代处理,以得到经迭代处理后估计的投影位置信息,并将所估计的投影位置信息标记到预设地图中。以一种实时标记实体对象的位置的方式举例,预设所识别出的实体对象的投影位置信息的初始值基础上,利用第一次得到的对应该实体对象的投影位置信息与所述初始值所构成的梯度,进行第二次对应该实体对象的投影位置信息的确定,通过预设条件的迭代循环,得到所估计的投影位置信息,,并将所估计的投影位置信息及所对应的实体对象的图像特征、类型等信息标记在地图中;其中,所述初始值可以随机设置,或者依据前述步骤S210-S220所提供的方式得到。在此,第N次依据前述步骤S210-S220得到投影位置信息的方式包括利用移动机器人已经测得的至少一个位置信息及所对应的角度信息、及新测得的位置信息及所对应的角度信息,来确定第N次投影位置信息;或者利用全部新测得的两个位置信息及所对应的角度信息,来确定第N次投影位置信息;或者从任意不同两次测得的两个位置信息及所对应的角度信息,来确定第N次投影位置信息;其中,N>1。以一种非实时标记实体对象位置的方式举例,利用步骤S210-S220所示方式收集对应同一实体对象的多个投影位置信息,并将各投影位置信息代入包含梯度的数值优化算法,以筛选或估计出误差最小的投影位置信息,并将所得到的误差最小的投影位置信息及所对应的实体对象的图像特征、类型等信息标记在地图中。
本申请的构建地图的方法根据所述摄像装置摄取所述移动机器人所在位置的视场范围内的实体对象投影至所述移动机器人的行进平面的投影图像,以分别获得所述移动机器人在第一位置处的第一投影图像和第二位置处的第二投影图像;且基于自所述第一投影图像和第二投影图像中所识别出的共同目标区域在所述行进平面中的角度信息、以及所述第一位置和第二位置,确定所述共同目标区域所对应的实体对象在所述移动机器人所行进的物理空间中的位置信息;以得到较为精确的实体对象的位置信息,且将所确定的实体对象的位置信息标记到预设的地图中,从而提高该地图的精确性。
请参阅图5,图5显示为本申请的导航方法在一具体实施例中的流程示意图。所述导航方法应用于所述包含摄像装置的移动机器人,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述导航方法主要由移动机器人来执行。
在步骤S510中,获取利用构建地图的方法所构建的地图;所述构建地图的方法包括:分别在所述移动机器人行进至第一位置和第二位置处对应获取第一投影图像和第二投影图像;基于自所述第一投影图像和第二投影图像中所识别出的共同目标区域在所述行进平面中的角度信息、以及所述第一位置和第二位置,确定所述共同目标区域所对应的实体对象在所述移动机器人所行进的物理空间中的位置信息;将所确定的实体对象的位置信息标记到预设的地图中。所述构建地图的方法可参阅图2及关于图2所示方法的相关描述。
在步骤S520中,利用所述地图设置导航路线,以供所述移动机器人按照所述导航路线进行移动控制。
在此,根据移动机器人的实际应用,利用所述地图可设置适应于移动目的的导航路线。例如,对于安防机器人来说,在检查地图中所标记的实际对象期间,其设置的导航路线需途径每个实际对象。又如,对于家庭陪伴机器人来说,通过远程操控而执行电器控制期间,其设置的导航路线可以所标记的实际对象为目的地址。再如,对于清洁机器人来说,根据在预设的清扫区域内的实际对象的位置,设置对应于清洁模式的导航路线。
在一些具体实施例中,所述地图中包含实体对象的实体对象信息及其位置信息;所述步骤S520还包括步骤S521。
所述步骤S521包括:基于包含实体对象信息的指令信息,设置导航至所述实体对象信息的导航路线;于本实施例中,所述实体对象信息例如为对各实体对象信息的种类的名称描述,例如包括对桌子、椅子、花盆、电视以及冰箱等物体的名称描述。
其中,获取包含实体对象信息的指令信息的方式包括但不限于:语音方式、文本方式等。在此,根据用户对移动机器人的操作目的,所述指令中还可以包含移动机器人的执行指令。例如,所述指令还包括清扫指令、巡视指令、远程操控指令等。
在一种实施例中,所述步骤S521可以包括:获取一语音信息,并从所述语音信息中识别包含实体对象信息的指令。在一示例中,移动机器人可以直接接收用户的语音信息并识别所述信息中包括的实体对象信息的指令。例如,用户可以直接向移动机器人语音“桌子”,移动机器人在接收到所述指令后移动至桌子以进行预先设定的相应处理。且可以根据路线上经过的实体对象信息规划所述移动机器人从当前的位置移动至桌子的导航路线。所述移动机器人从当前位置移动到所述桌子的导航路线上可经过花盆、电视、沙发等。以清洁机器人为例,预先设定清洁机器人在接收到用户包含实体对象信息的指令后,根据所构建的地图规划导航路线,以令所述移动机器人移动至该实体对象信息对应的位置以进行清扫,则在用户向清洁机器人语音“桌子”的情况下,清洁机器人在接收到该语音指令后,根据所构建的地图,形成令所根据花盆、电视和沙发形成的导航路线,且所述清洁机器人在经过根据所述花盆、电视和沙发形成的导航路线后移动至桌子处并执行清扫操作。另外,所述语音信息并不限于仅表示实体对象信息的短指令,还可以是包括实体对象信息的长指令,例如,用户语音“去桌子处”,则移动机器人可以识别语音信息中所包括的实体对象信息“桌子”指令,然后进行后续操作。
在另一种实施例中,所述步骤S521还包括:自一终端设备获取包含实体对象信息的指令。其中,所述终端设备与移动机器人无线连接。在一示例中,用户经由终端设备以文本方式输入包含实体对象信息的指令。例如,用户通过手机APP以文本方式输入“桌子”。在另一示例中,用于经由终端设备以语音方式输入包含实体对象信息的指令。例如,用户通过手机APP以语音方式输入“桌子”。另外,用户输入的语音信息并不限于仅表示实体对象信息的短指令,还可以是包括实体对象信息的长指令,例如,用户语音“去桌子处”,则终端设备将其翻译成文本并提取其中桌子等关键词,将所翻译的文本匹配到相应的指令上发送给移动机器人。在此,终端设备可以与移动机器人以wifi连接、近场通信或蓝牙配对等无线方式连接,以将终端设备接收的指令传送给移动机器人进行后续操作。所述终端设备例如为智能手机、平板电脑、可穿戴设备或其他具有智能处理功能的智能设备。
在另一些具体实施例中,所述步骤S520还包括步骤S522。所述步骤S522包括:基于所述移动机器人的当前位置信息以及地图中的实体对象信息,设置所述移动机器人自当前位置移动并途径至少一个实体对象的导航路线。在某些实施例中,移动机器人根据地图上移动机器人的当前位置、实体对象信息所在的目的位置、以及地图上其他物体的位置信息或预设路径等生成自当前位置信息至目的位置信息的导航路线。例如,所述导航路线可以是自移动机器人的当前位置至目的位置的最短路线。又如,所述导航路线可以是自移动机器人的当前位置至目的位置的与移动机器人先前行进路径不重复的路线,以移动机器人为清洁机器人为例,根据未清洁区域和已清洁区域设置自当前位置至目的位置的无需重复清洁已清洁区域的导航路线,由此提高清洁效率。
在一些应用中,所述移动机器人为清洁机器人;所述步骤S520还包括:基于所述地图中所标记的实体对象及其位置信息,设置遍历清扫区域中途径所述实体对象的导航路线。在一些示例中,清洁机器人基于预先确定的清扫区域设计遍历该清扫区域的导航路线,其中,根据地图中位于所述清扫区域内的实体对象的标记信息,清洁机器人根据相应的标记信息确定便于清洁的导航路线。其中,所述清扫区域包括但不限于以下至少一种:按照预设栅格数量划分的清扫区域、以及按照房间分割的清扫区域等。例如,在所获取的地图中的一清扫区域内,标记有桌子及其位置信息,故,在设计导航路线时设计包含围绕桌腿旋转的导航路线。
本申请的导航方法,通过识别与预先标记的实体对象信息相符的实体对象并基于摄像装置所摄取的图像确定所识别的实体对象与移动机器人之间的相对空间位置,以在依据图2所述方法所构建的地图中将所述实体对象信息进行标记,以生成标记有所述实体对象信息的所述地图,以便在后续移动控制中可以基于地图上标记的实体对象信息来识别用户指令中的目的位置,进而移动至该位置处,提高了移动机器人的导航路线的精确性,且提高人机交互性。
参阅图6,图6显示为本申请的导航方法在一具体实施例中的流程示意图。所述导航方法应用于所述包含摄像装置的移动机器人,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述导航方法主要由移动机器人来执行。
在步骤S610中,获取利用构建地图的方法所构建的地图;且利用定位方法确定所述移动机器人当前的定位信息。
其中,所述构建地图的方法包括:分别在所述移动机器人行进至第一位置和第二位置处对应获取第一投影图像和第二投影图像;基于自所述第一投影图像和第二投影图像中所识别出的共同目标区域在所述行进平面中的角度信息、以及所述第一位置和第二位置,确定所述共同目标区域所对应的实体对象在所述移动机器人所行进的物理空间中的位置信息;将所确定的实体对象的位置信息标记到预设的地图中。所述构建地图的方法可参阅图2及关于图2所示方法的相关描述。
本申请还提供一种定位方法。在一些应用中,当移动机器人被放置在未知位置时,一种利用移动机器人中的摄像装置,以及移动一段距离所得到的相对位置信息,来进行自我定位的方式,可参见图7所示,图7显示为本申请的定位方法在一具体实施例中的流程示意图。其中,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述摄像装置的主光轴垂直于行进平面,所述定位方法可由移动机器人包括的处理装置来执行。其中,所述处理装置为一种能够进行数值运算、逻辑运算及数据分析的电子设备,其包括但不限于:CPU、GPU、FPGA等,以及用于暂存运算期间所产生的中间数据的易失性存储器等。所述定位方法包括:
步骤S710:预生成利用构建地图的方法所构建的地图;其中,所述构建地图的方法可参阅图2及关于图2所示方法的相关描述。
步骤S720:分别在所述移动机器人行进至第一位置和第二位置处利用所述摄像装置对应获取第一投影图像和第二投影图像;其中,所述第一投影图像和第二投影图像中均包含所述地图中所标记的同一实体对象所投影的目标区域;
在一些实施方式中,处理装置依据摄像装置的视场范围的直径,在小于所述直径的移动距离内的第一位置和第二位置获取对应的第一投影图像及第二投影图像。
例如,在移动机器人移动期间,处理装置可以预先设定摄像装置拍摄图像的时间间隔获取经摄像装置拍摄的不同时刻下的静态图像,以及拍摄静态图像时所对应的第一位置和第二位置;其中,所述时间间隔应至少小于移动机器人移动一个视场范围的直径所花费的时长。又如,摄像装置可以拍摄视频,由于视频是由图像帧构成的,在移动机器人移动期间,处理装置连续或不连续地采集所获取的视频中的图像帧,然后处理装置选用其中两帧图像作为两幅投影图像,并获取所对应的第一位置和第二位置,其中选取的两帧图像具有部分重叠的视场。
又如,所述摄像装置以预设的时间周期令所述移动机器人摄取其视场范围内的实体对象投影至所述移动机器人的行进平面的投影图像,然后处理装置获取经摄像装置以预设时间周期摄取的不同时刻下的投影图像,且选取其中两张投影图像作为第一投影图像和第二投影图像,且该第一投影图像所对应的位置为所述第一位置,所述第二投影图像所对应的位置为所述第二位置。其中,所述时间周期可由时间单位表示,或者所述时间周期由图像帧的间隔数量来表示。
再如,所述移动机器人与智能终端通信,所述智能终端可以通过特定的APP对所述时间周期进行修改。例如在打开所述APP后,在所述智能终端的触摸屏上显示所述时间周期的修改界面,通过对所述修改界面的触摸操作,完成对所述时间周期的修改;又或者直接向所述移动机器人发送时间周期修改指令以对所述时间周期进行修改,所述时间周期修改指令,例如为包括修改指令的语音,所述语音例如为“周期修改为三秒”。又如,所述语音为“图像帧间隔修改为五幅”。
在又一些实施方式中,处理装置确定选取第一位置和第二位置处的第一投影图像和第二投影图像的依据是两幅投影图像中包含共同目标区域。在此,所述处理装置在执行步骤S720的同时,或者无必然执行顺序地,还执行以下步骤S721和S722中的至少一种。
在步骤S721中,基于在所述第一投影图像中识别的第一目标区域,并利用图像追踪技术在所述第二投影图像中识别对应的第二目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。由此获取第二投影图像及其所对应的第二位置。
在此,处理装置利用图像处理算法得到的第一投影图像中的图像特征,并基于图像特征确定第一目标区域,利用图像追踪技术追踪自第一投影图像之后摄像装置所摄取的至少一幅投影图像,并在经持续追踪而确定图像特征在第二位置所拍摄的第二投影图像中仍然存在,则确定获取第一位置和第二位置各自所拍摄的第一投影图像和第二投影图像,以及确定所追踪的图像特征在为同一实体对象。其中,所述图像特征包括预设的对应实体对象种类的图形特征,或者经图像处理算法而得到的图像特征。其中,所述图像处理算法包括但不限于以下至少一种:灰度处理、锐化处理、轮廓提取、角提取、线提取,利用经机器学习而得到的图像处理算法。利用经机器学习而得到的图像处理算法包括但不限于:神经网络算法、聚类算法等。
在步骤S722中,匹配所述第一投影图像和第二投影图像中具有共同目标特征的目标区域,以得到两幅投影图像中对应同一实体对象的目标区域。
在一些示例中,处理装置分别在第一位置和第二位置获取两幅投影图像,并分别识别图像特征,并匹配两幅投影图像中的图像特征,由此将相匹配的图像特征所在目标区域作为具有共同目标特征的目标区域,并确定具有共同目标特征的目标区域对应同一实体对象。由此,处理装置将分别在第一位置和第二位置所获取的两幅投影图像作为第一投影图像和第二投影图像,并确定对应的第一位置和第二位置。
在另一些示例中,处理装置借助于移动机器人从第一位置移动至第二位置所改变的方向,将在第一投影图像中所识别出的图像特征映射到第二投影图像中对应图像区域,并在该图像区域附近查找相配的图像特征,由此将相匹配的图像特征所在目标区域作为具有共同目标特征的目标区域,并确定具有共同目标特征的目标区域对应同一实体对象。由此,处理装置将确定所述第一投影图像和第二投影图像,以及确定对应的第一位置和第二位置。
其中,表示共同目标区域的图像特征包括以下至少一种:特征点、特征线、特征颜色、基于物体识别模型而在图像中所标记的对应共同目标区域内的关键区域上的图像特征等。其中,所述特征点包括与所述实体对象对应的角点、端点、拐点等。确定实体对象上各特征点所对应的物体局部位置分别与移动机器人的相对空间位置。所述特征线例如为标识所述实体对象的轮廓线。即令所述移动机器人将所述第一投影图像和所述第二投影图像根据所述预设的多种实体对象的特征信息进行比对,且所述第一投影图像和所述第二投影图像中均与一实体对象的图像特征匹配的区域为所述共同目标区域。所述物体识别模型举例包括基于神经网络而构建的物体识别算法模型、用于识别物体的聚类算法模型等。当利用物体识别模型而识别两幅投影图像中的共同目标区域时,可在两幅投影图像中使用相同颜色的矩形框(或圆角矩形框、圆形等)来表示所识别出的共同目标区域,所对应的两个矩形框的边沿区域、中心区域等即为所述关键区域,并提取相应区域内的图像特征。
需要说明的是,上述任一示例所得到的实体对象并非一定能够被处理装置所识别,即处理装置能够确定实体对象所属种类。例如,处理装置并非一定能够确定在第一投影图像和第二投影图像中相匹配的共同目标区域所对应的实体对象为桌子。
在一些实际应用中,所述定位方法还包括:基于预设的实体对象信息的种类,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域。其中,预设的实体对象信息的种类是指所识别的实体对象所属的种类。例如,饭桌、写字台均归类于桌子种类,又如,电脑椅和板凳均归类于椅子种类等。其中,所述实体目标信息的种类是基于移动机器人所移动的环境情况预先筛选并存储在移动机器人的存储装置中的。所述实体目标信息的种类由可能被摄取的、且摆放在所述环境中的实体目标的特征信息或实体目标在图像中的图像特征来表征。
在一些示例中,所述实体目标信息的种类可以由物体的图像特征来表征,所述图像特征能够标识图像中的实体对象。所述处理装置基于预设置的多种实体对象的特征信息,识别第一投影图像和第二投影图像中对应同一实体对象的目标区域。例如,利用预设的各种类的图像特征中遍历在第一投影图像和第二投影图像中对应同一实体对象的目标区域,以确定所识别的实体对象归属的种类。
在又一些示例中,所述实体目标信息的种类可以由物体分类来表征。所述处理装置利用预设的图像识别算法,将第一投影图像和第二投影图像中对应同一实体对象的目标区域与预设的多种实体对象信息进行映射处理。例如,存储装置所存储的程序包含神经网络模型的网络结构及连接方式。在某些实施例中,所述神经网络模型可以为卷积神经网络,所述网络结构包括输入层、至少一层隐藏层和至少一层输出层。其中,所述输入层用于接收所拍摄的图像或者经预处理后的图像;所述隐藏层包含卷积层和激活函数层,甚至还可以包含归一化层、池化层、融合层中的至少一种等;所述输出层用于输出标记有物体种类标签的图像。所述连接方式根据各层在神经网络模型中的连接关系而确定。例如,基于数据传输而设置的前后层连接关系,基于各隐藏层中卷积核尺寸而设置与前层数据的连接关系,以及全连接等。所述神经网络模型从图像中识别出的各物体分类。
另外,为了确定第一位置和第二位置,所述处理装置还在执行步骤S730期间执行步骤S731和步骤S732。
在步骤S731中,根据所述移动机器人的移动信息,测量从所述第一位置至移动机器人当前位置之间的相对位置信息。
在步骤S732中,基于所测量的相对位置信息确定第二位置并获取对应的第二投影图像。
在此,受移动机器人的行进平面的材质影响,为提高第一位置和第二位置的测量准确性,在移动机器人移动期间,利用移动机器人的位置测量装置,处理装置监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角,并当判断所述相对位移和/或相对偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像。其中,所述测量阈值可以一固定值,或相对值。例如,所述测量阈值为5cm。又如,所述测量阈值为移动机器人的滚轮圈数的n倍,n>1。
在一些实施例中,利用所述移动机器人的位置测量装置获取所述移动机器人的移动信息。所述位置测量装置包括但不限于均设置在移动机器人的位移传感器、测距传感器、角度传感器、双目摄像装置、速度传感器等。在此,处理装置可仅监测位置测量装置中的一种来监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。例如,所述位置测量装置为设置于所述移动机器人的马达的计数传感器,利用马达运转的圈数进行计数以获得所述移动机器人自第一位置移动至第二位置的相对位移,以及利用马达运转的角度获取姿态信息等。又如,所述位置测量装置测量移动机器人的行进速度,并利用行进速度及所行进的时长计算自第一位置移动至第二位置的相对位移。或者,结合多种传感器和摄像装置等所提供的位置数据来监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。例如,利用预设权重并结合双目摄像装置所获取的移动机器人相对于固定目标的多组测距数据,以及马达运转所测量的数据,来确定移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角。
在另一些实施例中,所述位置测量装置为GPS(Global Positioning System,全球定位系统),根据该GPS监测移动机器人从所述第一位置到移动机器人当前位置之间的矢量位移及矢量偏角;并当判断所述相矢量位移和/或矢量偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。在又一些实施例中,所述位置测量装置为基于测量无线信号而定位的装置,例如,所述位置测量装置为蓝牙(或WiFi)定位装置;位置测量装置根据在第一位置和第二位置各自对所接收的无线定位信号的功率进行测量,来确定各位置相对于预设无线定位信号发射装置的相对位置;利用该位置测量装置监测移动机器人从所述第一位置到移动机器人当前位置之间的相对位移及相对偏角;并当判断所述相对位移和/或相对偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。
在另一些实施例中,以所述地图为一种栅格地图为例,预先确定单位栅格长度与实际位移之间的映射关系,按照移动机器人在移动期间所得到的移动信息,监测移动机器人从所述第一位置到移动机器人当前位置之间的栅格数及栅格偏角;并当判断所述栅格数和/或栅格偏角超出预设测量阈值时,确定第二位置并获取对应该第二位置的第二投影图像,以及获取所述第一位置和第二位置之间的相对位置信息。
在确定了第一位置和第二位置之间的相对位置信息,以及移动机器人分别在第一位置和第二位置相对于所识别出的实体对象的角度信息后,执行步骤S730。
步骤S730:基于从所述第一投影图像和第二投影图像中所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息、以及所述第一位置和第二位置,确定所述移动机器人在所述行进平面的定位信息,以便基于所述定位信息生成导航路线。
在此,根据所述地图中预先标记的图像特征或实体对象信息的类型,移动机器人能够通过将所识别出的图像特征或实体对象信息的类型与地图中所标记的对应信息进行映射。其中,为提高准确定位,所述映射关系为一个或多个。例如当所识别出的图像特征或实体对象信息的类型在地图中为唯一的,则所述映射关系可只为一个,并借由地图中的位置得到所识别出的实体对象在物理空间中的位置。又如,当所识别出的图像特征或实体对象信息的类型在地图中不是唯一的,则可在至少两幅投影图像中识别多个特征或类型,并根据多个图像特征或类型之间的相对位置关系,以及移动机器人移动的相对位置关系,从地图中得到符合多个特征或类型的映射关系,进而从地图中得到所标记的各特征或类型在移动机器人的行进平面中的物理位置。
参阅关于图1的描述可知,我们可以用摄像装置所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
再参见图1可知,由于所获取的投影图像所在平面是与移动机器人的行进平面平行的,因此,在基于移动机器人的行进平面(或者基于投影图像所在平面)而构建的坐标系中,同一实体对象在投影图像中目标区域与坐标基准线之间的偏角,相当于该实体对象投影在所述行进平面的位置相对于所述坐标基准线的偏角。其中,所述坐标基准线为所述坐标系所在平面内的直线。例如,所述坐标基准线为移动机器人的前进方向所在直线。换言之,当处理装置通过投影图像确定对应实体对象的目标区域与坐标基准线之间的角度时,意味着可以确定该实体对象位于与移动机器人行进方向偏移所述角度的方向上。
因此,当移动机器人在行进平面移动期间,将所述移动机器人所在不同位置以及在各位置处所拍摄到的同一实体对象在投影图像中的目标区域,均映射到所述坐标系中,可基于所得到的各角度和各位置而构建几何关系,利用所构建的几何关系确定所述移动机器人在所述行进平面中的定位信息。其中,所述几何关系包括但不限于:三角形关系、四边形关系等。
需要说明的是所述坐标系用于帮助理解,在实际地图构建期间,并非一定绘制或显示所述坐标系。
在一些实施方式中,所述步骤S730还包括:基于所述角度信息、所述第一位置和第二位置,构建在所述行进平面内的几何关系;以及利用所构建的几何关系确定所述移动机器人在所述行进平面中的定位信息。
以移动机器人沿直线从第一位置P1移动至第二位置P2为例,请参阅图3,图3显示为基于角度信息以及第一位置和第二位置确定实体对象位置信息的原理示意图。利用上述坐标系,处理装置在所述第一位置P1获取如图3所示的第一投影图像,所述处理装置在所述第二位置P2获取如图3所示的第二投影图像,处理装置可依据前述提及的各测量方式得到所述第一位置P1和所述第二位置P2间形成连线P1P2;以及,所述处理装置还确定同一实体对象分别在第一投影图像和所述第二投影图像中的目标区域O1和O2;对于同一实体对象来说,其应位于所述目标区域O1与第一位置P1的连线P1O1上,以及位于所述目标区域O2与第二位置P2的连线P2O2上,换言之,实体对象位于线段P1O1和P2O2相交的位置O,即该位置O为该实体对象投影到行进平面的投影位置。其中,处理装置根据所述连线P1O1与所述连线P1P2之间的夹角α1、连线P2O2与所述连线P1P2之间的夹角β1、连线P1P2之间的距离、以及根据地图中所得到的点O在行进平面中的位置,得到所述移动机器人在点P1、P2、O所构成的三角形中点P1和P2在行进平面中的物理位置。
以移动机器人从第一位置移动至第二位置时姿态发生变化为例,所获取的第一位置和第二位置中包含位移信息和姿态信息。其中,根据第一位置和第二位置的姿态信息,可得到相对姿态变化信息。其中,所述相对姿态变化信息包括在行进平面内所述移动机器人在第二位置相对于所述移动机器人在第一位置所转动的角度。对应地,所述步骤S730还包括:基于所述相对姿态变化信息抵消所识别出的同一实体对象相对于移动机器人在第一位置及第二位置各自的角度信息中的角度偏差;以及基于抵消后的角度信息和所述第一位置和第二位置确定所述移动机器人在所述行进平面中的定位信息。
参阅图4所示,图4显示为基于角度信息以及第一位置和第二位置确定共同目标区域对应的实体对象的位置信息的原理示意图。所述移动机器人在第一位置P1’处向Y轴的正方向的行进方向移动,以及在第二位置P2’处沿向Y轴正方向偏左γ角度Y’轴的正方向移动,由此,处理装置可确定移动机器人在第一位置和第二位置之间的相对姿态变化信息为夹角γ。其中,夹角γ可由移动机器人的位置测量装置中的角度传感器提供。
仍参见图4,处理装置根据在所述第一位置P1’处摄取的第一投影图像中目标区域在坐标系中的位置,确定该目标区域所对应的实体对象位于连线P1’O1’所在直线上,其与所述Y轴的正方向的夹角α2,根据在所述第二位置P2’处摄取的第二投影图像中目标区域在坐标系中的位置,确定该目标区域所对应的实体对象位于连线P2’O2’所在直线上,其与所述Y’轴的正方向的夹角β2,由于Y’轴的正方向与Y轴的正方向之间夹角γ,因此,所述处理装置在确定实体对象相距第二位置的连线时,需抵消夹角γ所产生的角度偏差,即将所述夹角β2减去所述夹角γ后的补角为夹角β2’。即可根据所述连线P1’P2’的距离、所述夹角α2和所述夹角β2’所构建的三角关系,确定所述移动机器人在拍摄第一投影图像和第二投影图像时的位置信息。
需要说明的是,上述任一示例中均未考虑实体对象在所述行进平面的垂直方向上的高度。在实际应用中,利用移动机器人的高度测量装置,可在定位实体对象的位置时测量其高度信息。其应视为基于本申请所提供的地图构建方案而拓展的一种实施例。在此不予详述。
在又一些实施方式中,所确定的移动机器人的定位信息是被不断纠正的,或经多次定位纠正后被确定下来的。为此,所述定位方法还包括:对于所识别出的同一实体对象,和所述第一位置及所拍摄的第一投影图像,令移动机器人在多个第二位置拍摄对应的第二投影图像,并根据第一位置和多个第二位置各自拍摄的第一投影图像和第二投影图像分别执行前述确定所述移动机器人在所述第一位置的定位信息的步骤,以获得藉由每次执行上述步骤而得到的所述移动机器人的至少两个对应第一位置的定位信息。在此,结合前述步骤S710-S720可知,本步骤可藉由第一位置与每个第二位置之间的相对位置信息、第一投影图像中所识别出的实体对象相对于第一位置的角度信息、以及每个第二投影图像中所识别出的实体对象相对于第二位置的角度信息、以及地图中所标记的该实体对象的位置信息,分别确定各次第一位置的定位信息。受移动机器人所行进平面的材料影响,移动机器人移动期间历次获取的第一位置与第二位置之间的相对位置信息无法精准确定。例如,当移动机器人在地毯上移动时,其真实移动的距离小于其通过位置测量装置所测量的距离。又如,当移动机器人在地板上移动时,其真实移动的距离接近其通过位置测量装置所测量的距离。因此,在多次执行步骤S710-S720期间,藉由相对位置信息、各角度信息和实体对象在地图中标记的位置信息等而计算得到的第一位置的定位信息将会有差异。
因此,本申请所提供的构建地图的方法可藉由移动机器人在移动期间的第一位置、多个第二位置、及实体对象在地图中标记的位置信息等所构成的至少两个三角形,对第一位置的定位信息进行确定,并利用以下步骤进行误差修正,即基于所得到的所述移动机器人的至少两个对应第一位置的定位信息,对所述移动机器人在第一位置时的定位位置进行误差修正处理,以便将误差修正后的定位位置确定为所述移动机器人在第一位置时的定位位置。
在此,所述误差修正的方式包括但不限于:1)采用加权平均的方式对所得到的各定位信息进行误差修正处理,以将误差修正后的定位信息作为移动机器人在第一位置的定位信息。例如,将所得到的同一实体对象的投影位置信息中横纵坐标进行加权平均,得到误差修正后的定位信息作为移动机器人在第一位置的定位信息。2)采用数值优化的方式所得到的第一位置的定位信息进行迭代处理,以得到经迭代处理后估计的对应第一位置的定位信息,并将所估计的定位信息作为移动机器人在第一位置的定位信息。例如,在预设对应第一位置的定位信息的初始值基础上,利用第一次得到的对应第一位置的定位信息与所述初始值所构成的梯度,控制移动机器人移动方向并第二次执行对第一位置的定位操作,通过预设条件的迭代循环,得到所估计的对应第一位置的定位信息,并将所估计的对应第一位置的定位信息作为第一位置的定位信息;其中,所述初始值可以随机设置,或者依据前述步骤S710-S720所提供的方式得到。
在得到减少误差后的第一位置的定位信息后,再结合移动机器人从该第一位置移动至当前位置的相对位置信息,确定移动机器人当前的定位信息。
例如,利用移动机器人的位置测量装置从该第一位置移动至当前位置的相对位置信息,并根据所得到的第一位置的定位信息确定移动机器人当前的定位信息。又如,基于经误差修正后所确定第一位置所对应的定位位置、与未经误差修正的第一位置所对应的各定位信息,确定移动机器人的位置测量装置的测量误差,并根据该测量误差抵消移动机器人从该第一位置移动至当前位置所测量出相对位置信息的误差,以及确定其在当前位置的定位信息。
本申请的定位方法根据所述摄像装置摄取在移动机器人处于第一位置处的第一投影图像和第二位置处的第二投影图像;且基于自所述第一投影图像和第二投影图像中所识别出的共同目标区域在所述行进平面中的角度信息、以及所述第一位置和第二位置,确定所述移动机器人在所述行进平面中的定位信息;以得到较为精确的关于移动机器人的定位信息。
在确定了移动机器人当前的位置后,本申请还提供一种导航方法,即包含步骤S610和步骤S620。
在步骤S610中,获取利用任一构建地图的方法而构建的地图,以及获取利用前述步骤S710-S730所得到的移动机器人的定位信息。
在步骤S620中,利用前述构建的地图和所得到的定位信息设置导航路线,以供所述移动机器人按照所述导航路线进行移动控制。在此,所述导航方法主要由移动机器人的处理装置来执行,并由处理装置将所设计出的导航路线提供给下位机,以供该下位机控制移动机器人中的马达等移动装置进行移动。其中,所述下位机举例为MCU、CPU等。
在此,根据移动机器人的实际应用,利用所述地图可设置适应于移动目的地的导航路线。例如,对于安防机器人来说,在检查地图中所标记的实际对象期间,其设置的导航路线需途径每个实际对象。又如,对于家庭陪伴机器人来说,通过远程操控而执行电器控制期间,其设置的导航路线可以所标记的实际对象为目的地址。再如,对于清洁机器人来说,根据在预设的清扫区域内的实际对象的位置,设置对应于清洁模式的导航路线。
在一些具体实施例中,所述地图中包含实体对象的实体对象信息及其位置信息;所述步骤S620还包括步骤S621。
所述步骤S621包括:基于包含实体对象信息的指令信息,设置导航至所述实体对象信息的导航路线;于本实施例中,所述实体对象信息例如为对各实体对象信息的种类的名称描述,例如包括对桌子、椅子、花盆、电视以及冰箱等物体的名称描述。
其中,获取包含实体对象信息的指令信息的方式包括但不限于:语音方式、文本方式等。在此,根据用户对移动机器人的操作目的,所述指令中还可以包含移动机器人的执行指令。例如,所述指令还包括清扫指令、巡视指令、远程操控指令等。
在一种实施例中,所述步骤S621可以包括:获取一语音信息,并从所述语音信息中识别包含实体对象信息的指令。在一示例中,移动机器人可以直接接收用户的语音信息并识别所述信息中包括的实体对象信息的指令。例如,用户可以直接向移动机器人语音“桌子”,移动机器人在接收到所述指令后移动至桌子以进行预先设定的相应处理。且可以根据路线上经过的实体对象信息规划所述移动机器人从当前的位置移动至桌子的导航路线。所述移动机器人从当前位置移动到所述桌子的导航路线上可经过花盆、电视、沙发等。以清洁机器人为例,预先设定清洁机器人在接收到用户包含实体对象信息的指令后,根据所构建的地图规划导航路线,以令所述移动机器人移动至该实体对象信息对应的位置以进行清扫,则在用户向清洁机器人语音“桌子”的情况下,清洁机器人在接收到该语音指令后,根据所构建的地图,形成令所根据花盆、电视和沙发形成的导航路线,且所述清洁机器人在经过根据所述花盆、电视和沙发形成的导航路线后移动至桌子处并执行清扫操作。另外,所述语音信息并不限于仅表示实体对象信息的短指令,还可以是包括实体对象信息的长指令,例如,用户语音“去桌子处”,则移动机器人可以识别语音信息中所包括的实体对象信息“桌子”指令,然后进行后续操作。
在另一种实施例中,所述步骤S621还包括:自一终端设备获取包含实体对象信息的指令。其中,所述终端设备与移动机器人无线连接。在一示例中,用户经由终端设备以文本方式输入包含实体对象信息的指令。例如,用户通过手机APP以文本方式输入“桌子”。在另一示例中,用于经由终端设备以语音方式输入包含实体对象信息的指令。例如,用户通过手机APP以语音方式输入“桌子”。另外,用户输入的语音信息并不限于仅表示实体对象信息的短指令,还可以是包括实体对象信息的长指令,例如,用户语音“去桌子处”,则终端设备将其翻译成文本并提取其中桌子等关键词,将所翻译的文本匹配到相应的指令上发送给移动机器人。在此,终端设备可以与移动机器人以wifi连接、近场通信或蓝牙配对等无线方式连接,以将终端设备接收的指令传送给移动机器人进行后续操作。所述终端设备例如为智能手机、平板电脑、可穿戴设备或其他具有智能处理功能的智能设备。
在另一些具体实施例中,所述步骤S620还包括步骤S622。所述步骤S622包括:基于所述移动机器人的定位信息以及地图中的实体对象信息,设置所述移动机器人自定位信息移动并途径至少一个实体对象的导航路线。在某些实施例中,移动机器人根据地图上移动机器人的当前位置、实体对象信息所在的目的位置、以及地图上其他物体的位置信息或预设路径等生成自当前位置信息至目的位置信息的导航路线。例如,所述导航路线可以是自移动机器人的当前位置至目的位置的最短路线。又如,所述导航路线可以是自移动机器人的当前位置至目的位置的与移动机器人先前行进路径不重复的路线,以移动机器人为清洁机器人为例,根据未清洁区域和已清洁区域设置自当前位置至目的位置的无需重复清洁已清洁区域的导航路线,由此提高清洁效率。
在一些应用中,所述移动机器人为清洁机器人;所述步骤S620还包括:基于所述地图中所标记的实体对象及其位置信息,设置遍历清扫区域中途径所述实体对象的导航路线。在一些示例中,清洁机器人基于预先确定的清扫区域设计遍历该清扫区域的导航路线,其中,根据地图中位于所述清扫区域内的实体对象的标记信息,清洁机器人根据相应的标记信息确定便于清洁的导航路线。其中,所述清扫区域包括但不限于以下至少一种:按照预设栅格数量划分的清扫区域、以及按照房间分割的清扫区域等。例如,在所获取的地图中的一清扫区域内,标记有桌子及其位置信息,故,在设计导航路线时设计包含围绕桌腿旋转的导航路线。
本申请的导航方法,通过识别与预先标记的实体对象信息相符的实体对象并基于摄像装置所摄取的图像确定所识别的实体对象与移动机器人之间的相对空间位置,且在依据图2所述方法所构建的地图中将所述实体对象信息进行标记,以生成标记有所述实体对象信息的所述地图。且依据图7所示的定位方法得到较为精确的关于移动机器人的定位信息。且利用所述地图和定位信息设置导航路线,提高了移动机器人的导航路线的精确性,且提高人机交互性。
参阅图8,图8显示为本申请的移动机器人的控制方法在一具体实施例中的流程示意图。所述移动机器人的控制方法应用于包含摄像装置和移动装置的移动机器人中,所述控制方法主要由移动机器人的控制系统来执行,所述控制系统包括按照所获取的导航路线控制移动机器人的移动装置的控制器,和用于暂存控制期间所产生的中间数据的暂存器。其中,所述移动装置举例包括滚轮和滚轮的驱动器,其中驱动器举例为马达等。所述控制器举例为MCU等。所述暂存器包括但不限于寄存器、易失性存储器等。
在步骤S810中,获取导航路线;所述导航路线为根据图5或图6所示的导航方法及其相关描述所形成的导航路线。
在步骤S820中,按照所述导航路线控制所述移动装置以调整所述移动机器人的位置和姿态,以沿所述导航路线进行自主移动。在此,通过所述移动机器人所具有的移动传感器实时获取所述移动机器人的位置信息和姿态信息,且根据所述导航路线,对所述移动装置进行控制,以令所述移动机器人以相应的姿态在所述导航路线上进行移动。
在某些实施例中,可以根据利用标记有实体对象信息的地图上实体对象信息所指示的目的位置、依据移动传感器获取的移动机器人在所述地图上的当前位置和当前姿态、以及地图上的其他信息如其他物体位置信息或预设路径等控制移动机器人自对应的当前位置移动至对应的目的位置。例如,可以按照地图中所标记的可移动路线控制移动机器人从当前位置移动至目的位置,且移动机器人在根据所述可移动路线进行自主移动的过程中需要转弯时,则令所述移动机器人进行旋转,以调整所述移动机器人的姿态,并以调整后的姿态沿接下来的路径行进。
此外,在某些实施例中,移动机器人还可以将自对应的当前位置移动至对应的目的位置的移动路线发送至与所述移动机器人通信的终端设备,以在终端设备所显示的地图上显示移动路线、当前位置信息、目的位置信息、或其任意组合,从而便于用户查看。例如,在某些情况下,可以在终端设备所显示的地图上实时显示机器人当前位置,且在目的位置为桌子所在位置时,在地图上的目的位置处显示“桌子”的文字描述、显示与桌子的形象对应的图标或者显示预设的与所述桌子对应的编号等,同时在地图上显示从移动机器人当前位置到桌子的移动路线。在另一些实施例中,所述终端设备通过对显示的所述地图的导航路线的修改操作,修改移动路线或目的位置信息,且将修改操作更新至所述移动机器人中,以令所述移动机器人根据修改后的移动路线或目的位置信息进行移动。所述修改的操作可以为通过对显示所述移动路线和目的位置信息的触摸屏的触摸操作,也可以为令所述终端设备接收包括修改指令的语音信息。例如,当前移动机器人正根据移动路线经过电视形进至桌子处,用户发现在桌子和电视之间存在不可触碰的障碍物,则更改所述目的位置信息为电视,以令所述移动机器人停止在所述电视位置处,以避免与所述障碍物发生碰撞。当所述修改指令为语音信息时,此处例如为:“修改目的位置为电视”。在另一些具体实施例中,还可直接通过语音向所述移动机器人发送修改指令。例如向所述移动机器人发送“修改目的位置为电视”的语音,修改所述移动机器人的导航路线的目的位置为电视。
本申请的移动机器人的控制方法,依据图5或图6所示的方法形成关于所构建的地图的导航路线,构建的地图中将所述实体对象信息进行标记,以生成标记有所述实体对象信息的所述地图,且在所述移动机器人的移动控制中可以基于地图上标记的实体对象信息来识别用户指令中的目的位置,以形成所述导航路线,进而控制所述移动机器人依据所述导航路线移动至目的位置处,提高了移动机器人的导航路线的精确性,且提高人机交互性。
参阅图9,图9显示为本申请的构建地图的系统在一具体实施例中的组成示意图。构建地图的系统,用于所述移动机器人,所述构建地图的系统包括摄像装置910和处理装置920。
所述摄像装置910,设置于所述移动机器人,用于在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;所述摄像装置910包括但不限于鱼眼摄像模块、广角(或非广角)摄像模块中的任一种。所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人、擦玻璃的机器人等。
在此,所述移动机器人包括至少一个摄像装置910。所述摄像装置910在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。例如,移动机器人包含一个摄像装置,其设置于所述移动机器人顶部、肩部或背部,且主光轴垂直于所述移动机器人的行进平面。又如,移动机器人包含多个摄像装置,其中一个摄像装置910的主光轴垂直于所述移动机器人的行进平面。且以上述方式设置的摄像装置所拍摄的图像在所述移动机器人的行进平面的投影形成的投影图像,相当于所述摄像装置所拍摄的图像在所述行进平面的垂直投影,基于所述移动摄像机在所述第一位置获取的关于所述行进平面投影的第一投影图像,在所述第一投影图像中识别所述共同目标区域,且获取所述移动机器人在所述第一位置处与所述共同目标区域的连线关于所述移动机器人从所述第一位置行进至所述第二位置的连线的第一角度,基于所述移动摄像机在所述第二位置获取的关于所述行进平面投影的第二投影图像,在所述第二投影图像中识别所述共同目标区域,且获取所述移动机器人在所述第二位置处与所述共同目标区域的连线关于所述移动机器人从所述第一位置行进至所述第二位置的连线的第二角度,且根据所述第一位置和所述第二位置间的距离以及所述第一角度和所述第二角度获取所述共同目标区域对应的实体对象投影到所述行进平面中的位置。且由于所述摄像头设置于所述移动机器人的顶部,且所述摄像装置的主光轴垂直于所述移动机器人的所述行进平面,所述实体对象投影到所述行进平面中的投影位置与所述移动机器人在所述第一位置处的连线关于所述移动机器人从所述第一位置行进至所述第二位置的连线的夹角与所述第一角度相同,所述实体对象投影到所述行进平面中的投影位置与所述移动机器人在所述第二位置处的连线关于所述移动机器人从所述第一位置行进至所述第二位置的连线的夹角与所述第二角度相同。再参阅图1及关于图1的相关描述,我们用摄像装置910所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
所述处理装置920为一种能够进行数值运算、逻辑运算及数据分析的电子设备,其包括但不限于:CPU、GPU、FPGA等,以及用于暂存运算期间所产生的中间数据的易失性存储器等。所述处理装置920与所述摄像装置910相连,用于运行至少一程序,以执行构建地图的方法。所述构建地图的方法参阅图2及关于图2的相关描述,在此不加赘述。
参阅图10,图10显示为本申请的导航系统在一具体实施例中的组成示意图。导航系统用于所述移动机器人,所述导航系统包括摄像装置1010和处理装置1020。
所述摄像装置1010,设置于所述移动机器人,用于在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;所述摄像装置1010包括但不限于鱼眼摄像模块、广角(或非广角)摄像模块中的任一种。所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人、擦玻璃的机器人等。
在此,所述移动机器人包括至少一个摄像装置1010。所述摄像装置1010在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。例如,移动机器人包含一个摄像装置1010,其设置于所述移动机器人顶部、肩部或背部,且主光轴垂直于所述移动机器人的行进平面。又如,移动机器人包含多个摄像装置,其中一个摄像装置1010的主光轴垂直于所述移动机器人的行进平面。且参阅图1及关于图1的相关描述,我们用摄像装置1010所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
所述处理装置1020为一种能够进行数值运算、逻辑运算及数据分析的电子设备,其包括但不限于:CPU、GPU、FPGA等,以及用于暂存运算期间所产生的中间数据的易失性存储器等。所述处理装置1020与所述摄像装置1010相连,用于运行至少一程序,以执行导航方法。所述导航方法参阅图5及关于图5的相关描述,或所述导航方法参阅图6及关于图6的相关描述,在此不加赘述。
参阅图11,图11显示为本申请的移动机器人在一具体实施例中的组成示意图。
所述移动机器人包括摄像装置1110、移动装置1120、第一处理装置1130以及第二处理装置1140。
所述摄像装置1110设置于所述移动机器人,所述摄像装置1110在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像;所述摄像装置1010包括但不限于鱼眼摄像模块、广角(或非广角)摄像模块中的任一种。所述移动机器人包括但不限于:家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人、擦玻璃的机器人等。
在此,所述移动机器人包括至少一个摄像装置1010。所述摄像装置1010在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。例如,移动机器人包含一个摄像装置1010,其设置于所述移动机器人顶部、肩部或背部,且主光轴垂直于所述移动机器人的行进平面。又如,移动机器人包含多个摄像装置,其中一个摄像装置1010的主光轴垂直于所述移动机器人的行进平面。且参阅图1及关于图1的相关描述,我们用摄像装置1010所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
所述移动装置1120设置于所述移动机器人,用于受控地调整所述移动机器人的位置和姿态;在一些实施例中,所述移动装置1120举例包括滚轮和滚轮的驱动器,其中驱动器举例为马达等。
所述第一处理装置1130连接所述摄像装置1110,用于运行至少一程序,以执行导航方法;所述导航方法参阅图5及关于图5的相关描述或参阅图6及关于图6的相关描述,在此不加赘述。
所述第二处理装置1140,连接于所述第一处理装置1130和移动装置1120,用于运行至少一程序,以基于所述第一处理装置1130所提供的导航路线,控制所述移动装置1120执行控制方法。所述控制方法参阅图8及关于图8的相关描述,在此不加赘述。
参阅图12,图12显示为本申请的数据处理装置在一具体实施例中的组成示意图。
数据处理装置用于包含摄像装置的移动机器人,其中,所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像,所述数据处理装置包括数据接口1210、存储单元1220以及处理单元1230。
所述数据接口1210,用于连接所述摄像装置;所述摄像装置在移动机器人所在位置摄取视场范围内实体对象并投影至所述移动机器人的行进平面,以得到投影图像。例如,移动机器人包含一个摄像装置,其设置于所述移动机器人顶部、肩部或背部,且主光轴垂直于所述移动机器人的行进平面。又如,移动机器人包含多个摄像装置,其中一个摄像装置的主光轴垂直于所述移动机器人的行进平面。且参阅图1及关于图1的相关描述,我们用摄像装置所摄取的实体对象在投影图像中的位置来表示该实体对象投影至所述移动机器人的行进平面的位置,且利用所述实体对象在投影图像中的位置相对于所述移动机器人移动方向的角度来表征该实体对象投影至所述移动机器人的行进平面的位置相对于所述移动机器人移动方向的角度。
所述存储单元1220,用于存储至少一程序;
所述处理单元1230,与所述存储单元1220和数据接口1210相连,用于藉由所述数据接口1210获取所述摄像装置拍摄的图像;以及用于执行所述至少一程序以执行构建地图的方法、或执行导航方法、或者执行控制方法。其中,所述构建地图的方法参阅图2及关于图2的相关描述,所述导航方法参阅图5及关于图5的相关描述或参阅图6及关于图6的相关描述,所述控制方法参阅图8及关于图8的相关描述,在此不加赘述。
本申请另一实施例中,还公开一种计算机可读的存储介质,所述计算机可读的存储介质存储至少一种程序,所述至少一种程序在被调用时执行构建地图的方法、或执行导航方法或者执行控制方法。其中,所述构建地图的方法参阅图2及关于图2的相关描述,所述导航方法参阅图5及关于图5的相关描述或参阅图6及关于图6的相关描述,所述控制方法参阅图8及关于图8的相关描述,在此不加赘述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。