在地图上定位设备的方法、服务端及移动机器人
技术领域
本申请涉及地图定位技术领域,特别是涉及一种在地图上定位设备的方法,多设备之间协同操作的方法,服务端、移动机器人、第一设备及第二设备。
背景技术
随着科技的发展和生活水平的提高,智能家用电器得到了广泛的应用。例如移动机器人,移动机器人为自动执行特定工作的机器装置,它既可以接受人们指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。这类移动机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。
移动机器人能够通过VSLAM(Visual Simultaneous Localization and Mapping,基于视觉信息的即时定位与地图构建)技术,根据摄像头摄取的图像对商场、办公场所、住所等环境构建室内地图。但移动机器人构建的地图无法与其他智能家用电器共享,而其他智能家用电器也无法与移动机器人进行交互。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种在地图上定位设备的方法、多设备之间协同操作的方法、服务端、移动机器人、第一设备、第二设备、第三设备以及计算机可读存储介质,用于解决现有技术中多设备之间不能定位到其中一个设备所构建的地图上的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种在地图上定位设备的方法,用于定位至少一个第一设备,所述方法包括以下步骤:获取设置在一物理空间内至少一个所述第一设备的摄像装置所摄取的图像;基于预先构建的对应所述物理空间的地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;其中,所述视觉定位数据集及地图由至少一个第二设备在所述物理空间内移动而构建的;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置。
在本申请的第一方面的某些实施方式中,所述基于预先构建的对应所述物理空间的地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息的步骤包括:提取所述图像中的候选定位特征信息;通过图像匹配从各所述候选定位特征信息中选取所述图像的定位特征信息。
在本申请的第一方面的某些实施方式中,所述基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置的步骤包括:基于相匹配的两定位特征信息之间的像素位置偏差,确定第一设备所在位置与所述视觉定位数据集中所匹配的定位特征信息所对应的坐标信息之间的位置偏差信息;基于所述位置偏差信息确定所述第一设备在所述地图中的位置信息,并标记在所述地图上。
在本申请的第一方面的某些实施方式中,所述方法还包括更新所述地图及视觉定位数据集的步骤。
在本申请的第一方面的某些实施方式中,所述更新地图及视觉定位数据集的步骤包括:基于来自于所述第一设备在物理空间内移动期间而收集的视觉定位信息,更新所述地图及视觉定位数据集;和/或基于来自于所述第一设备在物理空间内的固定位置处所收集的视觉定位信息,更新所述地图及视觉定位数据集。
在本申请的第一方面的某些实施方式中,所述第一设备包括:装配在所述物理空间内固定位置的设备,以及可在所述物理空间内移动的设备中的至少一种。
在本申请的第一方面的某些实施方式中,所述方法还包括将标记有各所述第一设备的地图发送至第三设备以便所述第三设备予以显示的步骤。
在本申请的第一方面的某些实施方式中,所述方法还包括在所述地图上的各第一设备位置处标记相应的设备种类标签的步骤;其中,所述设备种类标签至少用于确定相应第一设备在地图中的位置信息。
本申请的第二方面还提供一种多设备之间协同操作的方法,其中所述多设备包含第一设备和第二设备,所述协同操作方法包括以下步骤:获取来自于所述第一设备的摄像装置所摄取的包含图像的多媒体数据,并从所述多媒体数据中识别出用于与所述第二设备交互的交互指令;基于预设的地图和所述交互指令,确定所述第一设备和/或第二设备的位置信息;其中,所述地图中标记有所述第一设备的和/或第二设备的摄像装置基于各自摄取的图像而确定的坐标信息;向所述第二设备发出交互指令,以供所述第二设备执行基于所确定的至少一个坐标信息而产生的输入操作。
在本申请的第二方面的某些实施方式中,所述从多媒体数据中识别出用于与所述第一设备交互的交互指令的步骤包括:从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令;基于预设的至少一个第二设备的指令集,确定所述交互指令所对应的第二设备。
在本申请的第二方面的某些实施方式中,还预设有所述地图所对应的视觉定位数据集;所述基于地图确定所述第一设备和/或第二设备的坐标信息的步骤包括:基于所述交互指令,获取所述第一设备的和/或第二设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备和/或第二设备在地图中的位置信息。
在本申请的第二方面的某些实施方式中,所述方法还包括将所述第二设备执行所述输入操作期间所对应的位置信息,标记在所述地图上并显示在第一设备或共享所述地图的第三设备上的步骤。
本申请的第三方面还提供一种多设备之间协同操作的方法,其中所述多设备包含第一设备和第三设备,所述协同操作方法包括以下步骤:获取来自于所述第三设备的一交互指令;其中,所述交互指令包含执行相应交互操作的第一设备在一地图上的坐标信息;其中,所述坐标信息是基于所述第一设备的摄像装置所摄取的图像而确定并标记在所述地图中的;向所述坐标信息所对应的第一设备发送所述交互指令,以便所述第一设备执行所述交互操作。
在本申请的第三方面的某些实施方式中,所述交互指令包括:基于用户在所述第三设备所呈现的地图上的输入操作而产生的交互指令。
在本申请的第三方面的某些实施方式中,所述方法还包括将在所述第一设备执行所述交互操作期间所对应的位置信息标记在所述地图上并显示在共享所述地图的第三设备上的步骤。
本申请的第四方面还提供一种服务端,包括:接口装置,用于与至少一个第一设备和至少一个第二设备进行数据通信;存储装置,存储通过所述接口装置所获取的所述第一设备所摄取的图像,各所述第一设备所在物理空间的地图和视觉定位数据集,以及至少一个程序;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如本申请的第一方面中任一所述的方法。
本申请的第五方面还提供一种移动机器人,包括:接口装置,用于与至少一个第一设备进行数据通信;存储装置,存储来自所述第一设备所摄取的图像,各所述第一设备所在物理空间的地图和视觉定位数据集,以及至少一个程序;移动装置,用于在所述第一设备所在物理空间内移动;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如下方法:获取设置在所述物理空间内至少一个所述第一设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;其中,所述地图和视觉定位数据集由所述移动机器人在所述物理空间内至少一次移动而构建的;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置。
在本申请的第五方面的某些实施方式中,所述接口装置还与可共享所述地图的第三设备通信连接,所述处理装置通过接口装置将标记有第一设备的地图发送至相应的第三设备以便所述第三设备予以显示。
在本申请的第五方面的某些实施方式中,所述移动机器人为扫地机器人。
在本申请的第五方面的某些实施方式中,所述处理装置执行基于预先构建的对应所述物理空间的地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息的步骤包括:提取所述图像中的候选定位特征信息;通过图像匹配从各所述候选定位特征信息中选取所述图像的定位特征信息。
在本申请的第五方面的某些实施方式中,所述处理装置执行基于基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置的步骤包括:基于相匹配的两定位特征信息之间的像素位置偏差,确定第一设备所在位置与所述视觉定位数据集中所匹配的定位特征信息所对应的坐标信息之间的位置偏差信息;基于所述位置偏差信息确定所述第一设备在所述地图中的位置信息,并标记在所述地图上。
在本申请的第五方面的某些实施方式中,所述处理装置还执行更新所述地图及视觉定位数据集的步骤。
在本申请的第五方面的某些实施方式中,所述处理装置执行更新地图及视觉定位数据集的步骤包括:基于来自于所述第一设备在物理空间内移动期间而收集的视觉定位信息,更新所述地图及视觉定位数据集;和/或基于来自于所述第一设备在物理空间内的固定位置处所收集的视觉定位信息,更新所述地图及视觉定位数据集。
在本申请的第五方面的某些实施方式中,所述第一设备包括:装配在所述物理空间内固定位置的设备,以及可在所述物理空间内移动的设备中的至少一种。
在本申请的第五方面的某些实施方式中,所述地图上还标记各第一设备位置的设备种类标签;其中,所述设备种类标签至少用于确定相应第一设备在地图中的位置信息。
本申请的第六方面还提供一种服务端,包括:接口装置,用于与第一设备和第二设备进行通信;存储装置,用于存储来自所述第一设备的包含图像的多媒体数据,对应各所述第一设备和第二设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的和/或第二设备的摄像装置基于各自摄取的图像而确定的坐标信息;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如本申请的第二方面中任一所述的方法。
本申请的第七方面还提供一种第二设备,配置有摄像装置,包括:接口装置,用于与至少一个第一设备进行通信;存储装置,用于存储来自所述第一设备的包含图像的多媒体数据,各所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的和/或自身的摄像装置基于各自摄取的图像而确定的坐标信息;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如下方法:从所述多媒体数据中识别出所述第一设备所发出的交互指令;基于预设的地图和所述交互指令,确定所述第一设备和/或自身在所述地图中的位置信息,并执行基于所确定的至少一个位置信息而产生的输入操作。
在本申请的第七方面的某些实施方式中,所述处理装置执行从多媒体数据中识别出所述第一设备所发出的交互指令的步骤包括:从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令。
在本申请的第七方面的某些实施方式中,所述存储装置还存储所述地图所对应的视觉定位数据集;所述处理装置执行基于地图确定所述第一设备和/或自身在所述地图的位置信息的步骤包括:基于所述交互指令,获取所述第一设备的和/或自身的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定相应图像中与所述视觉定位数据集中相匹配的定位特征信息;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备和/或自身在地图中的位置信息。
在本申请的第七方面的某些实施方式中,所述处理装置还执行将执行所述输入操作期间所对应的位置信息,标记在所述地图上并显示在第一设备的步骤。
在本申请的第七方面的某些实施方式中,所述处理装置还通过接口装置将所述地图显示在第三设备上。
本申请的第八方面还提供一种第一设备,配置有摄像装置,包括:接口装置,用于与至少一个第二设备进行通信;存储装置,用于存储所述摄像装置所摄取的包含图像的多媒体数据,对应各所述第二设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第二设备的和/或自身的摄像装置基于各自摄取的图像而确定的位置信息;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如下方法:从所述多媒体数据中识别出用于与所述第二设备交互的交互指令;基于预设的地图和所述交互指令,确定所述第二设备和/或自身在所述地图中的坐标信息,并执行基于所确定的至少一个坐标信息而产生的输入操作。
在本申请的第八方面的某些实施方式中,所述处理装置执行从多媒体数据中识别出用于与所述第二设备交互的交互指令的步骤包括:从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令;基于预设的至少一个第二设备的指令集,确定所述交互指令所对应的第二设备。
在本申请的第八方面的某些实施方式中,所述存储装置还存储所述地图所对应的视觉定位数据集;所述处理装置执行基于所述地图和交互指令,确定所述第二设备和/或自身在所述地图中的坐标信息的步骤包括:基于所述交互指令,获取所述第二设备的和/或自身的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定相应图像中与所述视觉定位数据集中相匹配的定位特征信息;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第二设备和/或自身在地图中的坐标信息。
在本申请的第八方面的某些实施方式中,所述处理装置还执行将执行所述输入操作期间所对应的位置信息,标记在所述地图上并显示在第二设备的步骤。
在本申请的第八方面的某些实施方式中,所述处理装置还通过接口装置将所述地图显示在第三设备上。
本申请的第九方面还提供一种服务端,包括:接口装置,用于与第一设备和第三设备进行通信;存储装置,用于存储所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的摄像装置基于所摄取的图像而确定的位置信息;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如本申请的第三方面中任一所述的方法。
本申请的第十方面还提供一种第三设备,包括:接口装置,用于与第一设备进行通信;存储装置,用于存储所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的摄像装置基于所摄取的图像而确定的坐标信息;处理装置,与所述存储装置和接口装置相连,用于执行所述至少一个程序,以协调所述存储装置和接口装置执行如下方法:获取来自于所述第三设备的一交互指令;其中,所述交互指令包含执行相应交互操作的第一设备在一地图上的坐标信息;其中,所述坐标信息是基于所述第一设备的摄像装置所摄取的图像而确定并标记在所述地图中的;向所述坐标信息所对应的第一设备发送所述交互指令,以便所述第一设备执行所述交互操作。
在本申请的第十方面的某些实施方式中,所述交互指令包括:基于用户在所呈现的地图上的输入操作而产生的交互指令。
在本申请的第十方面的某些实施方式中,所述处理装置还执行在所述第一设备执行所述交互操作期间所对应的位置信息标记在所述地图上并予以显示的步骤。
本申请的第十一方面还提供一种计算机可读存储介质,存储有在地图上定位设备的计算机程序,所述在地图上定位设备的计算机程序被执行时实现上述第一方面所述的在地图上定位设备的方法。
本申请的第十二方面还提供一种计算机可读存储介质,存储有多设备之间协同操作的计算机程序,所述多设备之间协同操作的计算机程序被执行时实现上述第二方面所述的多设备之间协同操作的方法或者上述第三方面所述的多设备之间协同操作的方法。
如上所述,本申请的在地图上定位设备的方法、多设备之间协同操作的方法、服务端、移动机器人、第一设备、第二设备、第三设备以及计算机可读存储介质具有以下有益效果:通过带有摄像头的第二设备在室内或室外等物理空间移动并构建所述物理空间的地图和视觉定位数据集,并且通过服务端将所述地图与所述带有摄像头的第一设备和第三设备进行共享,所述第一设备能够通过自身摄取的图像与所述地图和视觉定位数据集进行匹配或比对等,实现自身在所述地图上的定位。同时,由于所述第一设备、第二设备和第三设备共享同一份地图和视觉定位数据集,能够实现多设备的交互,用户体验度好。
附图说明
图1显示为本申请在地图上定位设备的方法在一种实施方式中的流程示意图。
图2显示为本申请在地图上定位设备的方法中的步骤S11在一种实施方式中的流程示意图。
图3显示为本申请在地图上定位设备的方法中的步骤S12在一种实施方式中的流程示意图。
图4显示为本申请一多设备之间协同操作的方法在一种实施方式中的流程示意图。
图5显示为本申请一多设备之间协同操作的方法中步骤S20在一种实施方式中的流程示意图。
图6显示为本申请一多设备之间协同操作的方法中步骤S21在一种实施方式中的流程示意图。
图7显示为本申请另一多设备之间协同操作的方法在一实施例中的流程示意图。
图8显示为本申请服务端在一实施例中的流程示意图。
图9显示为本申请移动机器人在一实施例中的结构示意图。
图10显示为本申请服务端在一实施例中的结构示意图。
图11显示为本申请第二设备在一实施例中的结构示意图。
图12显示为本申请第一设备在一实施例中的结构示意图。
图13显示为本申请服务端在一实施例中的结构示意图。
图14显示为本申请第三设备在一实施例中的结构示意图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。
虽然在一些实例中术语第一、第二等在本文中用来描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一设备可以被称作第二设备,并且类似地,第二设备可以被称作第一设备,而不脱离各种所描述的实施例的范围。第一设备和第二设备均是在描述一个设备,但是除非上下文以其他方式明确指出,否则它们不是同一个设备。相似的情况还包括第一安防摄像头与第二安防摄像头等。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
目前智能家用电器的应用已十分普遍,例如移动机器人、智能监控摄像头等。如智能监控摄像头,可以在银行、商场或者住所等室内环境下应用,从而对室内环境进行实时摄取、录制、分析或监控。又如移动机器人,移动机器人为自动执行特定工作的机器装置,它既可以接受人们指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。这类移动机器人可用在室内或室外,可用于工业或家庭,可用于取代保安巡视、取代人们清洁地面,还可用于家庭陪伴、辅助办公等。
通常,移动机器人可以在顶部表面(例如,顶部表面的中央区域、顶部表面中相对中央区域的前端、顶部表面中相对中央区域的后端)、设置在移动机器人的顶部但相对水平方向呈10°-60°范围的倾斜角度,侧部表面或顶部表面和侧部表面的交接处设置至少一个摄像头,用于摄取移动机器人的操作环境的图像,从而进行VSLAM(Visual SimultaneousLocalization and Mapping,视觉同时定位与地图构建);根据构建的地图,移动机器人能够进行巡视、清洁等工作的路径规划等。通常,移动机器人将自身运行工作期间构建的地图缓存在本地存储空间内,或者上传至单独的服务端或云端进行存储,而其他的智能家用电器无法与移动机器人进行交互。
例如,在一个办公室内环境中,于门口处设置有一智能监控摄像机,用于实时摄取、录制或监控门口及周围环境,或者对可能发生的异常情况进行预警,例如可疑人员的进出等。同时,室内某处还设置有一移动机器人,用于对办公室内的地面进行清洁。移动机器人在运行工作期间构建室内地图,并将室内地图上传至对应的服务端上,同时,也可以在用户的APP上以画面形式呈现所述室内地图。由于智能监控摄像机获取的图像、视频或其他数据存储本地或上传至另外的对应的服务端上,智能监控摄像机无法与移动机器人共享所述室内地图,也无法基于所述室内地图与移动机器人进行交互。在一个具体的场景中,例如,智能监控摄像机无法获知自身所处的位置,当监控到有可疑人员进出时,只能提醒用户有该情况发生,却无法提醒用户该情况发生在室内的哪个位置。
有鉴于此,本申请提供一种在地图上定位设备的方法,用于在地图上将至少一个第一设备进行定位。
其中,所述第一设备为设置有摄像装置的设备。所述摄像装置可以为摄像头,包括球形摄像头、半球形摄像头和枪式摄像头等。所述第一设备可以是可在地图所描绘的物理空间内发生位移的移动设备,所述移动设备藉由本体的智能控制系统控制而产生位移,所述移动设备包括但不限于:巡航模式下的车辆、无人机、家庭陪伴式移动机器人、清洁机器人、巡逻式移动机器人等可基于预先构建的地图自主或被动移动的移动机器人,或者被携带移动的智能终端、车载终端等。所述第一设备还可以是装配在地图所描绘的物理空间内无法在二维或三维空间内发生位移的电子设备,例如,电子设备为智能监控摄像机、视频录制摄像机等。其中电子设备可完全固定于所述物理空间中;或基于其装配的云台进行转动,从而达到监控或录制更广泛视场视频的目的。
所述物理空间为第二设备执行导航移动所途径的导航路径所在的实际空间,在该实际空间中还配置有至少一个第一设备。所述物理空间可以是室内空间或室外空间。其中,室内空间包括但不限于住所、办公场所、银行、商场等,室外空间包括但不限于游乐园、公园、停车场等。在一些实施例中,所述第二设备为无人机,其导航飞行时的导航路径所在物理空间可为室外的空中环境,对应地,在该物理空间中配置有如智能监控摄像机、巡逻机器人等第一设备。在另一些实施例中,所述第二设备为车辆上的车载终端,当其导航车辆行驶至无法获得定位的隧道道路或网络信号弱但需要导航的路面时,相应隧道道路或路面是相应物理空间中的二维平面等,对应地,在该物理空间中配置有如带有摄像装置的车辆等第一设备。在再一些实施例中,所述第一设备为扫地机器人,其导航移动的导航路径所在物理空间为室内或室外的空间,对应地,在该物理空间中配置有如智能监控摄像机、智能终端等第一设备。
所述位移指的是设备在上一时刻所在位置与下一时刻所在位置之间的距离量,所述距离量带有方向,所述方向由上一时刻所在位置指向下一时刻所在位置。所述位移用于描述设备位置的改变,所述位移包括但不限于设备基于直线运动、往返运动、螺旋运动、圆周运动等而产生的位移。
所述导航移动操作是指第二设备根据所感测的物理空间中的障碍物信息,以及所确定的当前位置信息进行自主移动的控制操作过程。所述第二设备在导航移动过程中需要借助已构建完成的地图及其视觉定位数据集来导航,例如扫地机器人收到用户的指令后,在地图及其视觉定位数据的导航下去指定的地点完成工作。又如,车辆在隧道等无法获得卫星定位的道路上依据所述地图及其视觉定位数据来导航等。
在一些示例中,所述第二设备在导航移动过程中基于所感测的包含视觉定位信息、移动感应信息的感应信息,以及移动期间所途径的位置构建对应物理空间的地图及其视觉定位数据集。在又一些示例中,所述第二移动设备基于在同一物理空间中所执行的多次导航移动操作获得可持久性的地图及其视觉定位数据集。
其中,所述地图以一定的数学法则模式化、符号化、抽象化反映客观第一设备和第二设备所在的物理空间的形象符号模型或者称为图形数学模型,其包括但不限于栅格地图、或拓扑地图等。所述地图包含有:所述第二设备的起始位置所对应的坐标信息,以及在移动期间所感测到的障碍物所对应的各坐标信息。通过所述地图所描述的地理信息,视觉定位数据集中各视觉定位信息包含有拍摄关键帧图像的坐标信息,以对应于所述地图中的位置。
所述视觉定位数据集为视觉定位信息的集合。所述视觉定位信息包括:关键帧图像、关键帧图像中定位特征信息、至少部分定位特征信息在地图中的坐标信息、关键帧图像所对应的坐标信息等,其中,所述定位特征信息包括但不限于:特征点、特征线等。所述定位特征信息举例由描述子来描述。例如,基于SIFT算法(Scale-invariant featuretransform尺度不变特征变换),从多个关键帧图像中提取定位特征信息,并基于该多个关键帧图像中包含定位特征信息的图像块得到用于描述该定位特征信息的灰度值序列,并将该灰度值序列即为描述子。又如,所述描述子用以通过编码定位特征信息的周围亮度信息来描述所述定位特征信息,以所述定位特征信息为中心在其周围一圈采样若干个点,其中采样点的数量为但不限于256或512个,将这些采样点两两比较,得到这些采样点之间的亮度关系并将亮度关系转换成二进制字符串或其他编码格式。
应当理解,帧是指动画中最小单位的单幅影像画面,在动画软件的时间轴上帧表现为一格或一个标记。关键帧图像相当于二维动画中的原画,指物体运动或变化中的关键动作所处的那一帧。所述摄像装置在第二设备的运动过程中会不断拍摄周围图像,其中相邻帧的图像具有较高的相似度。因此,如果对比相邻帧,则可能无法显而易见地判断设备的运动过程,因此通过关键帧图像之间的对比可以更显著地判断设备的运动过程。
经由上述各示例所构建的地图及视觉定位数据集存储在第二设备的存储介质上,或者存储在与所述第二设备通信的服务端的存储介质中。其中,所述服务端包括基于云架构的服务器集群(或称云服务端)、或单台服务器等。所述云服务端包括公共云(PublicCloud)服务端与私有云(Private Cloud)服务端,其中,所述公共或私有云服务端包括Software-as-a-Service(软件即服务,SaaS)、Platform-as-a-Service(平台即服务,PaaS)及Infrastructure-as-a-Service(基础设施即服务,IaaS)等。所述私有云服务端例如阿里云计算服务平台、亚马逊(Amazon)云计算服务平台、百度云计算平台、腾讯云计算平台等等。
请参阅图1,图1显示为本申请在地图上定位设备的方法在一种实施方式中的流程示意图,所述在地图上定位设备的方法(以下简称定位方法)用于定位至少一个所述第一设备在地图中的位置,所述定位方法主要由服务端藉由第一设备和第二设备配合提供的数据执行;或者由第二设备藉由第一设备配合提供的数据执行。
在此,为便于描述方案的实施过程,现以服务端执行所述方法为例。事实上第二设备也可执行所述方法,与服务端执行所述方法的区别在于,第二设备无需必然地将自身所构建的地图及视觉定位数据集通过网络通信发送给其他设备,以及直接或间接接收第一设备所提供的图像以实现对该第一设备的定位。所述定位方法包括以下步骤:
在步骤S10中,获取设置在一物理空间内至少一个所述第一设备的摄像装置所摄取的图像。
在一物理空间内,可以设置一个或多个第一设备,所述第一设备通过其摄像装置摄取所在物理空间的图像,然后可以通过网络通信的方式将所述图像传送至所述服务端上;服务端接收到所述图像后,再对所述图像进行后续处理。所述服务端为云服务器或物理服务器等。所述网络通信的方式可以为例如WLAN(Wireless Local Area Networks,无线局域网)、蜂窝网络等。
在此,服务端可以预先设定所述第一设备摄取图像的时间间隔,然后获取经所述第一设备的摄像装置以预设时间间隔摄取的不同时刻下的静态图像。或者,服务端可以预先设定所述第一设备在多个固定时刻摄取图像,然后获取所述第一设备的摄像装置在多个固定时刻摄取的静态图像。当然,在某些实施例中,所述摄像装置还可以摄取视频,由于视频是由图像帧构成的,因此服务端可以通过连续或不连续地采集所获取的视频中的图像帧,然后选用一帧图像作为一幅图像。
在执行的步骤S11中,基于预先构建的对应所述物理空间的地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息。
其中,所述视觉定位数据集及地图由至少一个第二设备在所述物理空间内移动而构建的。在一些示例中,基于前述描述,所述视觉定位数据集及地图可由前述提及的单一第二设备在所述物理空间执行一次或多次导航移动而构建。以第二设备为扫地机器人举例说明,所述扫地机器人在家运行工作期间,使用VSLAM技术,通过其摄像装置摄取室内的图像并构建室内例如客厅、书房、卧室、或整个家的地图。以第二设备为一无人机为例,所述无人机使用VSLAM技术构建所在物理空间内的地图。以第二设备为一具有巡航功能的车辆为例,在无法获得定位的隧道道路或网络信号弱但需要导航的路面上,所述车辆可以根据VSLAM技术构建隧道内的地图。以第二设备为酒店中的一导航机器人或引导机器人为例,所述导航机器人或引导机器人可以在收到顾客的语义指令后,基于VSLAM技术为顾客进行导航或引导服务等。在另一些示例中,所述地图和所述视觉定位数据集是由多个所述第二设备在所述物理空间内分别执行导航移动操作而构建的。上述各场景示例中可布置有多个第二设备,各第二设备根据各自导航移动操作将各自所构建的地图和视觉定位数据集上传至服务端,并由服务端将其融合在一起,得到便于后续执行的地图和视觉定位数据集。例如,服务端将不同次所获取的地图中的各坐标信息整合成统一的可供后续使用的地图中的各坐标信息,以及将不同次所获取的视觉定位数据集中的视觉定位信息整合成统一的可供后续使用的视觉定位数据集中的各视觉定位信息等。
通过图像匹配算法或人工比对等方法,将所述图像与预先构建的所述物理空间的地图和视觉定位数据集进行匹配,从而确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息。在此,在一些示例中,服务端以关键帧图像中的灰度值的频域分布为匹配索引,对所获取的图像的频域分布进行匹配,以得到多个候选关键帧图像,再利用视觉定位数据集中的定位特征信息将所获取的图像与各候选关键帧图像进行逐一匹配,从而得到确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息。
在又一些示例中,请参阅图2,图2显示为本申请在地图上定位设备的方法中的步骤S11在一种实施方式中的流程示意图,如图所示,步骤S11进一步包括以下步骤:
在步骤S111中,提取所述图像中的候选定位特征信息。
在步骤S112中,通过图像匹配从各所述候选定位特征信息中选取所述图像的定位特征信息。
在此,服务端预先配置有与第二设备提取关键帧图像中定位特征信息相同提取方式的提取算法,并基于该提取算法提取所述图像中的候选定位特征信息。其中,该提取算法包括但不限于:基于纹理、形状、空间关系中至少一种特征的提取算法。其中基于纹理特征的提取算法举例包括以下至少一种灰度共生矩阵的纹理特征分析、棋盘格特征法、随机场模型法等;基于形状特征的提取算法举例包括以下至少一种傅里叶形状描述法、形状定量测度法等;基于空间关系特征的提取算法举例为将图像中分割出来的多个图像块之间的相互的空间位置或相对方向关系,这些关系包括但不限于连接/邻接关系、交叠/重叠关系和包含/包容关系等。
服务端利用图像匹配技术将所述图像中的候选定位特征信息fs1与视觉定位数据集中对应关键帧图像的定位特征信息fs2进行匹配,从而得到相匹配的定位特征信息fs1’。
在此,服务端根据预先建立的视觉定位数据集中的匹配索引,利用图像搜索来进行图像匹配。在一些示例中,对所述第一设备摄取的图像进行区域定位,获得至少一个备选区域,然后确定符合一定条件的备选区域,将所述符合一定条件的备选区域作为目标区域,对所述目标区域进行区域归一化处理,获取与所述区域归一化处理后的目标区域对应的定位特征信息,并作为所述图像对应的定位特征信息。在又一些示例中,也可以采用SIFT、FLANN(Fast Library for Approximate Nearest Neighbors)等匹配算法进行匹配。在另一些示例中,利用视觉定位数据集中描述定位特征信息的描述子构建用于匹配的至少一个层级的匹配索引,并利用该匹配索引对所述图像中定位特征信息的描述子进行匹配;其中该匹配索引包括以下至少一种:定位特征信息本身的匹配条件、定位特征信息之间空间关系的匹配条件等。例如,构建至少一个层级的匹配索引,利用基于SIFT而设置的第一匹配条件对所述图像中定位特征信息的描述子进行匹配,提取符合第一匹配条件的描述子,以及利用基于图像的尺寸、旋转和尺度不变性的匹配条件,对所提取的符合第一匹配条件的描述子的空间关系做进一步匹配,由此得到图像中与视觉定位数据集中一关键帧图像的定位特征信息相匹配的定位特征信息。
需要说明的是,根据实际图像处理算法设计,前述提及的提取和匹配方式可交织执行,例如,在提取图像中的部分定位特征信息时,根据已提取的定位特征信息进行匹配,以减少计算量。
在步骤S12中,基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置。
在一些示例中,所述像素位置偏差为多个定位特征信息对应的几何形状之间的像素偏差,如边和边之间的偏差、点和点之间的偏差等,通过均值处理后得到的像素偏差。在又一些示例中,所述像素位置偏差也可以为各个特征点之间的偏差通过均值处理得到的像素偏差。
为了根据所得到的像素位置偏差在地图上标记第一设备的位置,请参阅图3,显示为本申请在地图上定位设备的方法中的S12在一种实施方式中的流程示意图,如图所示,基于相匹配的两定位特征信息之间的像素位置偏差及视觉定位数据集中定位特征信息与坐标信息之间的关联关系,将相应第一设备的位置标记在所述地图上的步骤包括:
在步骤S121中,基于相匹配的两定位特征信息之间的像素位置偏差和所述关联关系,确定第一设备所在位置与所述视觉定位数据集中所匹配的定位特征信息所对应的坐标信息之间的位置偏差信息。
在此,在一些具体示例中,服务端基于相匹配的图像P2和关键帧图像P1重建所共同拍摄到的对象的3D实体模型,并根据关键帧图像P1所在视觉定位信息中的坐标信息,确定像素位置偏差对应至物理空间中的第一设备与第二设备之间的位置和姿态偏差。在另一些具体示例中,服务端基于所述像素位置偏差以及来自第二设备所提供的与拍摄关键帧图像相关的参数信息,确定关键帧图像在地图中的坐标信息,并基于该坐标信息和像素位置偏差确定对应至物理空间中的第一设备与第二设备之间的位置和姿态偏差。其中,所述参数信息举例包括:摄像装置主光轴与移动平面的偏角、摄像装置相距移动平面的高度等。
在步骤S122中,基于所述位置偏差信息确定所述第一设备在所述地图中的位置信息,并标记在所述地图上。在确定第一设备相对于第二设备的位置和姿态偏差后,将第一设备的位置标记在地图上。由此实现将第一设备的位置标记在第二设备所提供的地图上。
在一些实际场景中,该地图是需要更新的,为此所述构建地图的方法还包括更新所述地图及视觉定位数据集的步骤。
在一些具体场景中,更新所述地图的目的在于追踪第一设备的最新位置,其中,所述第一设备为自主移动的移动机器人。所述服务端可根据第一设备在移动期间所提供的图像重复执行上述各示例以在地图中标记该第一设备的最新位置。
在又一些具体场景中,更新所述地图的目的在于提供可供第一设备和第二设备持久化使用的地图及其视觉定位数据集。
在一些具体示例中,所述服务端基于来自于所述第一设备在物理空间内移动期间而收集的视觉定位信息和障碍物信息,更新所述地图及视觉定位数据集。
在此,一方面,所述第二设备所提供的地图和视觉定位数据集是基于第二设备导航移动所途径的物理空间而构建的,其地图数据的完整性与第二设备所移动的空间范围相关。另一方面,由于视觉定位数据集中的定位特征信息受环境影响较大,例如,自然光下所得到的定位特征信息和灯光下所得到的定位特征信息可能不同,因此,在构建标记有第一设备的地图的同时,服务端根据所确定的第一设备在地图中的位置,将第一设备在物理空间内移动所收集的视觉定位信息融合到视觉定位数据集中,以更新所述地图及视觉定位数据集;以及将第一设备在移动期间所收集的障碍物信息融合到地图中,由此得到可供持续使用的地图和视觉定位数据集。
其中,所述融合指将不同次构建的地图和视觉定位数据集进行整合。其中,对地图的整合包括以下任一种:将第一设备不同次收集的障碍物的各坐标信息整合成统一的所述地图中的各坐标信息;或者将第一设备单次收集的障碍物的各坐标信息整合到所述地图中。对地图的整合还包括将地图中近期未包含的地理位置予以去除,例如去除被判定为曾经临时放置的障碍物的地理位置的坐标信息等。
对视觉定位数据集的整合包括以下任一种:将第一设备不同次收集的视觉定位信息整合成统一的所述地图中的各视觉定位信息;或者将第一设备在当前次收集的视觉定位信息整合到所述视觉定位数据集中。对视觉定位数据集的整合还包括将视觉定位数据集中近期未更新的视觉定位信息等予以去除,例如去除被判定为反映曾经临时放置的障碍物的视觉定位信息等。
在又一些具体示例中,所述服务端基于来自于所述第一设备在物理空间内的固定位置处所收集的视觉定位信息,更新所述地图及视觉定位数据集。
与前述示例类似,对于固定设置的第一设备,其仍然可以在不同时段、不同光线环境下提供有助于可持久使用的视觉定位信息,在确定第一设备的位置的基础上,服务端在视觉定位数据集中增加对应该位置的视觉定位信息,并基于第一设备所提供的不同环境的图像,执行融合操作,以提供该位置处可供持续使用的视觉定位信息。
在另一些具体示例中,所述服务端可获取多个第一设备的图像,结合前两具体示例,服务端根据来自多个第一设备的数据实现对地图和视觉定位数据集的更新操作。在此不再详述。
利用更新操作后得到的地图和视觉定位数据集,服务端能更快速而减少计算量的实现对所述第一设备的定位。
在又一些实际场景中,服务端还可以在获取第一设备所提供图像时,获取第一设备的用于分类于设备种类标签的设备信息。其中,所述设备种类标签用于分类第一设备的实体类型。其中,分类方式可基于第一设备的功能、性能、可交互能力等方面进行分类。所述设备种类标签可以为一个或多个。所述设备信息包括但不限于:设备商标、厂商信息、设备型号等。例如,服务端根据第一设备的设备信息确定第一设备分类于预设的智能监控摄像机标签、清洁机器人标签、智能终端标签、视频会议终端标签中之一。
所述服务端将标记有各所述第一设备的地图发送至第三设备以便所述第三设备予以显示。其中,所述第三设备为具备一定通信能力且带有显示装置的设备,能够用于显示所述标记有第一设备的地图。在某些实施例中,所述第三设备可以为移动终端,所述移动终端包括智能终端、多媒体设备或流媒体设备等,例如,可以是手机、平板电脑、笔记本电脑等。承前所述,在显示所述各第一设备的位置的同时,还可以显示各第一设备位置处标记的相应的设备种类标签,以供用户对各第一设备的功能、性能或可交互能力进行区分。
本申请提供的在地图上定位设备的方法,通过带有摄像头的第二设备在室内或室外等物理空间移动并构建所述物理空间的地图和视觉定位数据集,并且通过服务端(或第二设备)对第一设备所摄取的图像与所述地图和视觉定位数据集进行匹配或比对等,实现将第一设备在所述地图上的定位的目的,进而便于第一设备、第二设备和第三设备之间共享定位后的地图。
利用前述任一示例所构建的包含有第一设备的地图,本申请还提供一种多设备之间协同操作的方法,其中,所述多设备包含第一设备和第二设备。其中,所述第一设备和第二设备均位于地图所描述的物理空间中,以执行协同操作。其中,所述协同操作表示第一设备与第二设备之间基于地图所提供的任一方或双方的坐标信息而进行交互的过程。所述协同操作的方法适用于在所述地图所描绘的物理空间的不同位置,借助第一设备产生的与第二设备的交互指令而执行的过程。为了便于交互,执行所述方法的设备(或系统)至少预先配置有为执行相应协同操作而预设的对应第一设备和/或对应第二设备的交互指令。其中,所述设备(或系统)举例为服务端、第一设备、或第二设备中的任一种或多种的配合。其中,所述服务端可为构建所述地图所使用的服务端,或其他能够依据所述地图执行所述协同操作方法的服务端。其中,所述第一设备可为前述构建地图方法所指示的第一设备。第二设备可为前述构建地图方法所指的第二设备,或为便于区分将未产生交互指令的其他第一设备称为第二设备。
请参阅图4,图4显示为本申请多设备之间协同操作的方法在一种实施方式中的流程示意图,所述协同操作方法包括:
在步骤S20中,获取来自于所述第一设备的摄像装置所摄取的包含图像的多媒体数据,并从所述多媒体数据中识别出用于与所述第二设备交互的交互指令。
在此,第一设备可录制视频以得到包含图像的多媒体数据、或间隔地摄取单幅图像并将其作为多媒体数据,并发送给执行本步骤的设备(如第一设备、服务端、或第二设备,后续不再重复),由该设备执行识别操作以得到交互指令。其中,所述多媒体数据包括图像数据(简称图像)、语音数据以及包含图像和语音数据的视频数据等。
其中,所述识别交互指令的方式包括但不限于:1)从至少一幅图像中识别交互指令。例如,执行本步骤的设备利用经预先机器训练而得到的姿态识别分类器对所获取的多媒体数据中的至少一幅图像进行分类识别,由此得到相应的交互指令。又如,执行本步骤的设备预先配置有一交互指令集中各交互指令所对应的图像特征,并利用这些图像特征识别多媒体数据中的至少一幅图像,以根据识别结果确定相应交互指令。再如,执行本步骤的设备识别图像中的文字,并根据预先配置的交互指令集中的指令关键字,对所识别出的文字进行匹配,得到相应的交互指令。
2)从语音数据中识别交互指令。例如,执行本步骤的设备利用经预先机器训练而得到的语义翻译器对所获取的多媒体数据中的语音数据进行语义识别并将语音数据转换成文字数据,以及基于预先配置的交互指令集中的指令关键字,对所述文字数据进行匹配,得到相应的交互指令。
在某些实施例中,请参阅图5,图5显示为本申请多设备之间协同操作的方法中S20在一种实施方式中的流程示意图,如图所示,所述从多媒体数据中识别出用于与所述第一设备交互的交互指令的步骤包括:
在步骤S201中,从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令。
在步骤S202中,基于预设的至少一个第二设备的指令集,确定所述交互指令所对应的第二设备。
在此,执行本步骤的设备从图像中、或从语音数据中识别出交互指令的方式与前述识别出交互指令的方式相同或相似,在此不再详述。
在此,执行本步骤的设备预配置有至少一个第二设备的指令集(即前述提及的交互指令集)。在一些示例中,所述指令集中包含有能唯一对应于某一第二设备的交互指令,执行本步骤的设备据此对应关系确定所获取的交互指令所对应的第二设备。在又一些示例中,执行本步骤的设备基于预设的至少一个第二设备的指令集从中选出可执行第一设备所提供的交互指令的多个第二设备,并将其反馈给第一设备,并利用多媒体数据与第一设备进行通信交互,确定执行该交互指令的第二设备。
在步骤S21中,基于预设的地图和所述交互指令,确定所述第一设备和/或第二设备的位置信息;其中,所述地图中标记有所述第一设备的和/或第二设备的摄像装置基于各自摄取的图像而确定的坐标信息。
在此,在一些场景中,所述交互指令用于指示第二设备基于第一设备的位置信息执行相应操作,为此,执行本步骤的设备基于预设的地图和所述交互指令,确定所述第一设备的位置信息。在一些具体示例中,所述地图上标记有所述第一设备的位置,则基于所述地图上所标记的位置确定所述第一设备的位置信息。在另一具体示例中,所述地图上未标记所述第一设备的位置,或者未确定第一设备在地图中的当前位置,执行本步骤的设备基于所获取的多媒体数据中的图像执行前述定位方法,以确定第一设备当前的位置。换言之,执行本步骤的设备执行以下步骤:基于所述交互指令,获取所述第一设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;以及基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在地图中的位置信息。上述各步骤的执行过程与前述提及的定位方法中相应执行过程相同相似,在此不再详述。
例如,用户向装配在房间R1墙上的一智能监控摄像机(对应第一设备)发出清扫手势,该智能监控摄像机获取包含清扫手势的图像或视频,并提供给清洁机器人(第二设备),由清洁机器人从所述图像中识别出清扫指令(对应交互指令)以及智能监控摄像机在地图中的位置,由此确定清洁机器人确定需执行所述交互指令以及执行相应清扫操作的目标位置。
在另一些场景中,所述交互指令用于指示第二设备基于第二设备的位置信息执行相应操作,为此,执行本步骤的设备基于预设的地图和所述交互指令,确定所述第二设备的位置信息。在一些具体示例中,所述地图上标记有所述第二设备的位置,则基于所述地图上所标记的位置确定所述第二设备的位置信息。在另一具体示例中,曾在执行本步骤的设备注册过但所述地图上未标记所述第二设备的位置,或者执行本步骤的设备为确定第二设在地图中的当前位置,该设备基于所获取交互指令执行前述定位方法,以确定第二设备当前的位置。换言之,执行本步骤的设备执行以下步骤:基于所述交互指令,获取所述第二设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;以及基于相匹配的两定位特征信息对之间的像素位置偏差及视觉定位数据集中定位特征信息与坐标信息之间的关联关系,确定相应第二设备在地图中的位置信息。上述各步骤的执行过程与前述提及的定位方法中相应执行过程相同或相似,在此不再详述。
例如,第二设备为安防摄像头,第一设备为位于包含摄像装置和显示屏的终端设备(如可视频电视、清洁机器人等);用户通过向终端设备发出包含利用手势图像或语音数据描述打开监控视频的交互指令的多媒体数据,该终端设备解析出包含所述打开监控视频的交互指令,一方面通过预设指令集定位相应的安防摄像头,另一方面定位该安防摄像头在地图中的位置,由此所述终端设备确定执行所述交互指令的安防摄像头及其在地图中的位置。
在又一些场景中,所述交互指令用于指示第二设备基于第一设备的位置和第二设备的位置信息执行相应操作,为此,执行本步骤的设备基于预设的地图和所述交互指令,确定所述第一设备的位置和第二设备的位置。在一些具体示例中,所述地图上标记有所述第一设备的位置和第二设备的位置,则基于所述地图上所标记的位置确定所述第一设备的位置和第二设备的位置。在另一具体示例中,曾在执行本步骤的设备注册过但所述地图上未标记所述第一设备的位置和第二设备的位置,或者执行本步骤的设备为确定第一位置和第二设备在地图中的当前位置上,该设备基于所获取交互指令执行前述定位方法,以确定第一设备当前的位置和第二设备当前的位置。换言之,执行本步骤的设备执行以下步骤:基于所述交互指令,分别获取所述第一设备的和第二设备的摄像装置各自所摄取的图像;基于所述地图及视觉定位数据集,确定各所述图像中与所述视觉定位数据集中相匹配的各定位特征信息;以及基于各相匹配的定位特征信息对之间的像素位置偏差及视觉定位数据集中对应定位特征信息与坐标信息之间的关联关系,确定相应第二设备和第一设备在地图中的位置信息。上述各步骤的执行过程与前述提及的定位方法中相应执行过程相同或相似,在此不再详述。
例如,第一设备和第二设备为两个清洁机器人,用户藉由第一设备的摄像装置做手势指令,服务端基于该手势指令识别出的交互指令表示令位于预设范围内的第二设备向第一设备移动并清扫,服务端一方面通过预设指令集确定可执行的第二设备,另一方面确定位于该预设范围内的第二设备在地图中的位置,由此所述服务端确定执行所述交互指令的第二设备及其在地图中的位置。
在步骤S22中,向所述第二设备发出交互指令,以供所述第二设备执行基于所确定的至少一个坐标信息而执行相应操作。在此,执行本步骤的设备将所得到的交互指令发送至所对应的第二设备,以供其执行相应的交互操作。
以前述清洁机器人和监控摄像机为例,清洁机器人基于相应交互指令及监控摄像机的位置,规划其在当前位置至监控摄像机的位置的导航路径,并导航移动至相应位置执行清扫操作。
以前述终端设备和安防摄像头为例,安防摄像头接收到相应交互指令将所摄取的实时视频反馈给终端设备,以便用户查看。
以前述两清洁机器人配合清扫为例,服务端将所述交互指令及至少第一设备在地图中的位置提供给第二设备,第二设备基于所得到的交互指令和位置生成相应的导航路线并执行导航移动和清洁操作。
在一些实施方式中,所述协同操作的方法还包括将所述第二设备执行所述操作期间所对应的位置信息,标记在所述地图上并显示在第一设备或共享所述地图的第三设备上的步骤。
在此,第二设备所提供的操作及其在地图中的位置可实时或可追溯地显示在地图中。在一些示例中,第一设备具有可供用户查看的显示屏,则用户可通过查看地图来获取第二设备的执行情况。例如,查看第二设备的移动路线。又如,查看第二设备所提供的监控视频等。
在又一些示例中,上述可显示内容也可以显示可共享该地图的第三设备中。其中,上述第三设备包括但不限于:用户所使用的智能终端、个人电脑、网络控制中心等位于或不位于该地图所在物理空间中的电子设备。在此不再重述。
本申请提供的多设备之间协同操作的方法,执行所述方法的设备通过获取来自第一设备的摄像装置摄取的多媒体数据并进行识别,并向从地图上确定了位置信息的第二设备发出交互指令,从而使第二设备执行基于坐标信息的响应操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
本申请还提供一种多设备之间协同操作的方法,其中所述多设备包含第一设备和第三设备。请参阅图7,显示为本申请多设备之间协同操作的方法在一实施例中的流程示意图,如图所示,所述协同操作方法包括:
在步骤S30中,获取来自于所述第三设备的一交互指令;其中,所述交互指令包含执行相应交互操作的第一设备在一地图上的坐标信息;其中,所述坐标信息是基于所述第一设备的摄像装置所摄取的图像而确定并标记在所述地图中的。
其中,第三设备在展示地图时,先执行本步骤的设备通过执行前述定位方法,以确定第一设备当前的位置。换言之,执行本步骤的设备执行以下步骤:基于所述交互指令,获取所述第一设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;以及基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在地图中的位置信息。上述各步骤的执行过程与前述提及的定位方法中相应执行过程相同相似,在此不再详述。
在此,第三设备可基于识别用户的输入操作或语音数据生成交互指令,并将所述交互指令发送给执行本步骤的设备(如第一设备、服务端、或第三设备,后续不再重复)。其中,所述交互指令包含执行相应交互操作的第一设备在一地图上的坐标信息,所述坐标信息是基于所述第一设备的摄像装置所摄取的图像而确定并标记在所述地图中的。以第一设备为一清洁机器人为例,所述清洁机器人在运行工作中通过其摄像装置摄取图像,并根据摄取的图像与地图进行比对等,从而确认自身的位置,并将所述位置发送给该执行本步骤的设备,由该执行本步骤的设备将所述位置在地图中进行标记。其中,所述识别的操作包括但不限于:1)识别用户的输入操作。基于用户的输入操作所指向的第一设备的指令集和输入操作的映射关系,确定所述输入操作所对应的交互指令。例如,在第三设备的触屏上显示有标记了第一设备位置的地图,用户通过在触屏上产生以所述第一设备在地图上的位置开始的一手势操作,第三设备根据预设的第一设备的指令集和手势操作的映射关系,识别该手势操作所对应的交互指令。2)识别所述语音数据。例如,执行本步骤的设备利用经预先机器训练而得到的语义翻译器对所获取的多媒体数据中的语音数据进行语义识别,并将语音数据转换成文字数据,以及基于预先配置的交互指令集中的指令关键字,对所述文字数据进行匹配,得到相应的交互指令。
在某些实施例中,所述交互指令包括:基于用户在所述第三设备所呈现的地图上的输入操作而产生的交互指令。承前所述,第三设备为具备一定通信能力且带有显示装置的设备,能够用于显示所述标记有第一设备的地图。第三设备获取用户在地图上的输入操作,并根据所述输入操作生成交互指令,并将所述交互指令发送给执行本步骤的设备。该执行本步骤的设备可以是第三设备本身,也可以是除第一设备和第三设备以外的其他设备。
在步骤S31中,向所述坐标信息所对应的第一设备发送所述交互指令,以便所述第一设备执行所述交互操作。
在此,在一些场景中,所述交互指令用于指示第一设备基于自身的位置信息执行相应操作。在另一些场景中,所述交互指令用于指示第一设备基于目的地的位置信息执行相应操作。在再一些场景中,所述交互指令用于指示第一设备基于自身的位置信息和目的地的位置信息而执行相应操作。
以第三设备为手机为例,手机在显示界面上显示标记有第一设备的地图。用户可以在显示界面上进行输入操作(包括但不限于点触、拖动、滑动等),例如点触地图上清洁机器人(对应第一设备)的位置标记(对应坐标信息)并设置目标清扫区域,手机获取该输入操作,并根据该输入操作和位置标记生成一清洁指令(对应交互指令),并将该指令发送给所述清洁机器人,所述清洁机器人接收到所述指令后,移动至所述目标清扫区域执行清洁操作、或者基于指令清洁基于自身所在位置而构建的清洁区域。
又以第三设备为带有显示界面的遥控器为例,遥控器在显示界面上显示标记有第一设备的地图。用户可以在遥控器上基于触屏或按键进行操作,例如在地图上的各个位置标记中选择其中一个位置标记(对应坐标信息),所述位置标记对应一监控摄像头(对应第一设备),遥控器生成录制指定区域的视频的指令(对应交互指令)并发送给所述监控摄像头,监控摄像头接收到所述指令后,开始对指定区域录制视频。
再以第三设备为笔记本电脑为例,笔记本电脑在显示屏上显示标记有一清洁机器人(对应第一设备)的地图。笔记本电脑获取用户的语音数据并进行识别,获取交互指令。其中,所述语音数据中包含表示用户指定的第一设备的位置(对应坐标信息)的语义信息,以及包含用于表示用户指定的交互操作的语义信息。笔记本电脑将所述交互指令发送给所述清洁机器人,该清洁机器人接收到所述交互指令后执行交互操作。
在某些实施例中,还包括将在所述第一设备执行所述交互操作期间所对应的位置信息标记在所述地图上并显示在共享所述地图的第三设备上的步骤。
在此,在一些示例中,第一设备获取交互指令,并根据确定的自身的坐标信息执行对应的交互操作,并且,在执行所述交互操作期间,将自身的位置信息发送给执行本步骤的设备,该设备将第一设备的位置信息在地图上进行标记,并将标记后的地图发送给第三设备,由第三设备进行显示。在又一些示例中,第一设备根据获取的交互指令和自身的坐标信息执行对应的交互操作,并且,在执行所述交互操作期间,将自身的位置信息发送给第三设备,第三设备将第一设备的位置信息在地图上进行标记并显示。
例如,当前一清洁机器人(对应第一设备)位于区域A中的a点位置,清洁机器人获取清洁区域B的清洁指令(对应交互指令),并根据确定的坐标信息执行清洁指令对应的清洁操作,并在清洁区域B期间,将自身的位置信息发送给一手机(对应第三设备),手机将清洁机器人在区域B中的位置进行标记并显示在显示界面上。
本申请提供的多设备之间协同操作的方法,服务端通过获取来自第三设备的发送的交互指令并进行识别,并向从地图上确定了位置信息的第一设备发出交互指令,从而使第一设备执行基于坐标信息而产生的交互操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
本申请还提供一种服务端。请参阅图8,显示为本申请服务端在一实施例中的流程示意图,如图所示,所述服务端40包括接口装置400、存储装置401和处理装置402,其中:所述接口装置400用于与至少一个第一设备和至少一个第二设备进行数据通信;所述存储装置401用于存储通过所述接口装置所获取的所述第一设备所摄取的图像,各所述第一设备所在物理空间的地图和视觉定位数据集,以及至少一个程序;所述处理装置402与所述存储装置401和接口装置400相连,用于执行所述至少一个程序,以协调所述存储装置401和接口装置400执行上述在地图上定位设备的方法。
所述接口装置400通过无线通信的方式,与至少一个第一设备和至少一个第二设备进行数据通信。所述存储装置401用于存储来自所述第一设备所摄取的图像和所述第一设备所在物理空间的地图和视觉定位数据集,以及至少一个程序。所述存储装置401可以包括至少一个以软件或固件(Firmware)的形式存储在所述存储装置401中的软件模块。所述软件模块用于存储来自所述第一设备所摄取的图像、各所述第一设备所在物理空间的地图、视觉定位数据集,以及可供所述第一设备和第二设备执行的各种程序。在一个示例性的实施例中,例如,所述存储装置401中的软件模块存储有扫地机器人的路径规划程序;相应地,所述处理装置402用于执行所述程序,从而控制扫地机器人进行清洁作业。
本申请提供的服务端,服务端通过接收带有摄像头的第二设备在室内或室外等物理空间移动并构建所述物理空间的地图和视觉定位数据集,并且服务端将图像与所述地图和视觉定位数据集进行匹配或比对等处理,使得第一设备能够实现自身在所述地图上的定位。
本申请还提供一种移动机器人,请参阅图9,显示为本申请移动机器人在一实施例中的结构示意图,如图所示,所述移动机器人50包括接口装置500、存储装置501、移动装置502和处理装置503,并且,各装置设置在所述移动机器人50的电路主板上,各装置相互之间直接或间接地电性连接,以实现数据的传输或交互。
所述接口装置500用于与至少一个第一设备进行数据通信。所述接口装置500可以通过无线通信的方式与至少一个第一设备进行数据通信。
所述存储装置501用于存储来自所述第一设备所摄取的图像,和所述第一设备所在物理空间的地图和视觉定位数据集,以及至少一个程序。所述存储装置501可以包括至少一个以软件或固件(Firmware)的形式存储在所述存储装置501中的软件模块。所述软件模块用于存储来自所述第一设备所摄取的图像、各所述第一设备所在物理空间的地图、视觉定位数据集,以及可供移动机器人执行的各种程序,例如,移动机器人的路径规划程序;相应地,所述处理装置503用于执行所述程序,从而控制移动机器人进行作业。
所述移动装置502用于使所述第一设备所在物理空间内移动。在某些实施例中,所述移动装置502包括至少一个驱动单元,例如用于驱动移动机器人的左侧驱动轮的左轮驱动单元以及用于驱动移动机器人的右侧驱动轮的右轮驱动单元。所述驱动单元可以包含专用于控制驱动电机的一个或多个处理器(CPU)或微处理单元(MCU)。例如,所述微处理单元用于将所述处理装置503所提供的信息或数据转化为对驱动电机进行控制的电信号,并根据所述电信号控制所述驱动电机的转速、转向等以调整移动机器人的移动速度和移动方向。所述信息或数据如所述处理装置503所确定的偏角。所述驱动单元中的处理器可以和所述处理装置503中的处理器共用或可独立设置。例如,所述驱动单元作为从处理设备,所述处理装置503作为主设备,驱动单元基于处理装置503的控制进行移动控制。或者所述驱动单元与所述处理装置503中的处理器相共用。驱动单元通过程序接口接收处理装置503所提供的数据。所述驱动单元用于基于所述处理装置603所提供的移动控制指令控制驱动轮。
所述处理装置503与所述存储装置501和接口装置500相连,用于执行所述至少一个程序,以协调所述存储装置501和接口装置500执行如下方法:获取设置在所述物理空间内至少一个所述第一设备的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息;其中,所述地图和视觉定位数据集由所述移动机器人在所述物理空间内至少一次移动而构建的;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置。
在一物理空间内,可以设置一个或多个第一设备,所述第一设备通过其摄像装置摄取所在物理空间的图像,然后可以通过网络通信的方式将所述图像传送至所述服务端上;服务端接收到所述图像后,再对所述图像进行后续处理。在此,服务端可以预先设定所述第一设备摄取图像的时间间隔,然后获取经所述第一设备的摄像装置以预设时间间隔摄取的不同时刻下的静态图像。或者,服务端可以预先设定所述第一设备在多个固定时刻摄取图像,然后获取所述第一设备的摄像装置在多个固定时刻摄取的静态图像。当然,在某些实施例中,所述摄像装置还可以摄取视频,由于视频是由图像帧构成的,因此服务端可以通过连续或不连续地采集所获取的视频中的图像帧,然后选用一帧图像作为一幅图像。
基于前述描述,所述视觉定位数据集及地图可由所述移动机器人在所述物理空间执行一次或多次导航移动而构建。在某些实施例中,所述移动机器人为扫地机器人。扫地机器人,又名自主清洁器、自动扫地机、智能吸尘器等,是智能家用电器的一种,能完成清洁、吸尘、擦地工作。具体地,扫地机器人可受人控制(操作人员手持遥控器或通过装载在智能终端上的APP)或按照一定的设定规则自行在房间内完成地面清洁工作,其可以清洁地面上的毛发、灰尘、碎屑等地面杂物。在一些示例中,所述扫地机器人能够在运行工作期间一边执行清洁工作一边构建室内地图。以第二设备为扫地机器人举例说明,所述扫地机器人在家运行工作期间,使用VSLAM技术,通过其摄像装置摄取室内的图像并构建室内例如客厅、书房、卧室、或整个家的地图。在另一些示例中,所述地图和所述视觉定位数据集是由多个所述移动机器人在所述物理空间内分别执行导航移动操作而构建的。上述各场景示例中可布置有多个移动机器人,各移动机器人根据各自导航移动操作将各自所构建的地图和视觉定位数据集上传至服务端,并由服务端将其融合在一起,得到便于后续执行的地图和视觉定位数据集。例如,服务端将不同次所获取的地图中的各坐标信息整合成统一的可供后续使用的地图中的各坐标信息,以及将不同次所获取的视觉定位数据集中的视觉定位信息整合成统一的可供后续使用的视觉定位数据集中的各视觉定位信息等。
所述处理装置503与所述存储装置501和接口装置500之间可通过一条或多条通讯总线或信号线实现电性连接。在一些实施例中,所述处理装置503包括集成电路芯片,具有信号处理能力;或包括通用处理器,例如,可以是数字信号处理器(DSP)、专用集成电路(ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。所述通用处理器可以是微处理器或者任何常规处理器等。在一些实施例中,所述存储装置501可包括随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。所述存储装置501用于存储程序,所述处理装置503在接收到执行指令后,执行该程序。
所述处理装置503用以协调所述存储装置501和接口装置500执行的方法,其具体步骤和流程请参阅上述实施例,此处不再赘述。
在某些实施例中,所述接口装置500还与可共享所述地图的第三设备通信连接,所述处理装置503通过接口装置500将标记有第一设备的地图发送至相应的第三设备以便所述第三设备予以显示。其中,所述第三设备为具备一定通信能力且带有显示装置的设备,能够用于显示所述标记有第一设备的地图。在某些实施例中,所述第三设备可以为移动终端,所述移动终端包括智能终端、多媒体设备或流媒体设备等,例如,可以是手机、平板电脑、笔记本电脑等。
在某些实施例中,所述处理装置503执行基于预先构建的对应所述物理空间的地图及视觉定位数据集,确定所述图像中与所述视觉定位数据集中相匹配的定位特征信息的步骤包括:提取所述图像中的候选定位特征信息;通过图像匹配从各所述候选定位特征信息中选取所述图像的定位特征信息。具体步骤和流程请参阅上述实施例,此处不再赘述。
在某些实施例中,所述处理装置503执行基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备在所述地图上的位置的步骤包括:基于相匹配的两定位特征信息之间的像素位置偏差,确定第一设备所在位置与所述视觉定位数据集中所匹配的定位特征信息所对应的坐标信息之间的位置偏差信息;基于所述位置偏差信息确定所述第一设备在所述地图中的位置信息,并标记在所述地图上。具体步骤和流程请参阅上述实施例,此处不再赘述。
在某些实施例中,所述处理装置503还执行更新所述地图及视觉定位数据集的步骤。在某些实施例中,所述处理装置503执行更新地图及视觉定位数据集的步骤包括:基于来自于所述第一设备在物理空间内移动期间而收集的视觉定位信息,更新所述地图及视觉定位数据集;或基于来自于所述第一设备在物理空间内的固定位置处所收集的视觉定位信息,更新所述地图及视觉定位数据集;或基于来自于所述第一设备既在物理空间内移动期间收集、又在物理空间内的固定位置处收集的视觉定位信息,更新所述地图及视觉定位数据集。
在某些实施例中,所述第一设备包括:装配在所述物理空间内固定位置的设备,以及可在所述物理空间内移动的设备中的至少一种。
在某些实施例中,所述地图上还标记各第一设备位置的设备种类标签;其中,所述设备种类标签至少用于确定相应第一设备在地图中的位置信息。
本申请提供的移动机器人,通过在自身运行工作期间移动并构建的所在物理空间的地图和视觉定位数据集,并且通过服务端将所述地图与所述带有摄像头的第一设备和第三设备进行共享,所述第一设备能够通过自身摄取的图像与所述地图和视觉定位数据集进行匹配或比对等,实现自身在所述地图上的定位。
因此,本申请还提供一种服务端,请参阅图10,显示为本申请服务端在一实施例中的结构示意图,如图所示,包括接口装置600、存储装置601和存储装置601,其中:接口装置600用于与第一设备和第二设备进行通信;存储装置601用于存储来自所述第一设备的包含图像的多媒体数据,对应各所述第一设备和第二设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的摄像装置基于摄取的图像而确定的坐标信息、第二设备的摄像装置基于摄取的图像而确定的坐标信息、第一设备的摄像装置和第二设备的摄像装置基于各自摄取的图像而共同确定的坐标信息;处理装置602与所述存储装置601和接口装置600相连,用于执行所述至少一个程序,以协调所述存储装置601和接口装置600执行多设备之间协同操作的方法。
所述接口装置600通过无线通信的方式,与至少一个第一设备和至少一个第二设备进行数据通信。所述存储装置601用于存储来自所述第一设备发送的包含图像的多媒体数据,以及至少一个程序。所述多媒体数据包括图像数据、语音数据以及包含图像数据和语音数据的视频数据等。其中,所述地图中标记有所述第一设备的摄像装置摄取的图像中的坐标、第二设备的摄像装置摄取的图像中的坐标、第一设备和第二设备的摄像装置摄取的图像中的坐标。所述存储装置601可以包括至少一个以软件或固件(Firmware)的形式存储在所述存储装置601中的软件模块。所述软件模块用于存储来自所述第一设备所摄取的图像、各所述第一设备所在物理空间的地图、视觉定位数据集,以及可供所述第一设备和第二设备执行的各种程序。
本申请提供的服务端,服务端通过获取来自第一设备的摄像装置摄取的多媒体数据并进行识别,并向从地图上确定了位置信息的第二设备发出交互指令,从而使第二设备执行基于坐标信息而产生的输入操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
因此,本申请还提供一种第二设备,配置有摄像装置,请参阅图11,显示为本申请第二设备在一实施例中的结构示意图,如图所示,包括接口装置700、存储装置701和处理装置702,其中:接口装置700用于与至少一个第一设备进行通信;存储装置701用于存储来自所述第一设备的包含图像的多媒体数据,各所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的和/或自身的摄像装置基于各自摄取的图像而确定的坐标信息;处理装置702与所述存储装置701和接口装置700相连,用于执行所述至少一个程序,以协调所述存储装置701和接口装置700执行如下方法:从所述多媒体数据中识别出所述第一设备所发出的交互指令;基于预设的地图和所述交互指令,确定所述第一设备和/或自身在所述地图中的位置信息,并执行基于所确定的至少一个位置信息而产生的输入操作。
在某些实施例中,所述处理装置702执行从多媒体数据中识别出所述第一设备所发出的交互指令的步骤包括:从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令。
在某些实施例中,所述存储装置701还存储所述地图所对应的视觉定位数据集;所述处理装置702执行基于地图确定所述第一设备和/或自身在所述地图的位置信息的步骤包括:基于所述交互指令,获取所述第一设备的和/或自身的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定相应图像中与所述视觉定位数据集中相匹配的定位特征信息;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第一设备和/或自身在地图中的位置信息。
在某些实施例中,所述处理装置702还执行将执行所述输入操作期间所对应的位置信息,标记在所述地图上并显示在第一设备的步骤。
在某些实施例中,所述处理装置702还通过接口装置700将所述地图显示在第三设备上。
本申请提供的第二设备,第二设备通过向服务端发送其摄像装置摄取的多媒体数据,以供服务端进行识别和向从地图上确定了位置信息的第一设备发出交互指令,从而使第一设备执行基于坐标信息而产生的输入操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
因此,本申请还提供一种第一设备,配置有摄像装置,请参阅图12,显示为本申请第一设备在一实施例中的结构示意图,如图所示,包括接口装置800、存储装置801和处理装置802,其中:接口装置800用于与至少一个第二设备进行通信;存储装置801用于存储所述摄像装置所摄取的包含图像的多媒体数据,对应各所述第二设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第二设备的和/或自身的摄像装置基于各自摄取的图像而确定的位置信息;处理装置802与所述存储装置801和接口装置800相连,用于执行所述至少一个程序,以协调所述存储装置801和接口装置800执行如下方法:从所述多媒体数据中识别出用于与所述第二设备交互的交互指令;基于预设的地图和所述交互指令,确定所述第二设备和/或自身在所述地图中的坐标信息,并执行基于所确定的至少一个坐标信息而产生的输入操作。
在某些实施例中,所述处理装置802执行从多媒体数据中识别出用于与所述第二设备交互的交互指令的步骤包括:从所述多媒体数据中的图像中识别出交互指令,或从所述多媒体数据中的语音数据中识别出交互指令;基于预设的至少一个第二设备的指令集,确定所述交互指令所对应的第二设备。
在某些实施例中,所述存储装置801还存储所述地图所对应的视觉定位数据集;所述处理装置802执行基于所述地图和交互指令,确定所述第二设备和/或自身在所述地图中的坐标信息的步骤包括:基于所述交互指令,获取所述第二设备的和/或自身的摄像装置所摄取的图像;基于所述地图及视觉定位数据集,确定相应图像中与所述视觉定位数据集中相匹配的定位特征信息;基于相匹配的所述视觉定位数据集中的定位特征信息及其标记在地图中的坐标信息之间的关联关系,确定相应第二设备和/或自身在地图中的坐标信息。
在某些实施例中,所述处理装置802还执行将执行所述输入操作期间所对应的位置信息,标记在所述地图上并显示在第二设备的步骤。
在某些实施例中,所述处理装置802还通过接口装置800将所述地图显示在第三设备上。
本申请提供的第一设备,第一设备通过向服务端发送其摄像装置摄取的多媒体数据,以供服务端进行识别和向从地图上确定了位置信息的第二设备发出交互指令,从而使第二设备执行基于坐标信息而产生的输入操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
本申请还提供一种服务端,请参阅图13,显示为本申请服务端在一实施例中的结构示意图,如图所示,包括接口装置900、存储装置901和处理装置902,其中:接口装置900用于与第一设备和第三设备进行通信;存储装置901用于存储所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的摄像装置基于所摄取的图像而确定的位置信息;处理装置902与所述存储装置901和接口装置900相连,用于执行所述至少一个程序,以协调所述存储装置901和接口装置900执行多设备之间协同操作的方法。
本申请提供的服务端,服务端通过获取来自第三设备的发送的交互指令并进行识别,并向从地图上确定了位置信息的第一设备发出交互指令,从而使第一设备执行基于坐标信息而产生的交互操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
本申请还提供一种第三设备,请参阅图14,显示为本申请第三设备在一实施例中的结构示意图,如图所示,包括接口装置100、存储装置101和处理装置102,其中:接口装置100用于与第一设备进行通信;存储装置101用于存储所述第一设备所在物理空间的地图,以及至少一个程序;其中,所述地图中标记有所述第一设备的摄像装置基于所摄取的图像而确定的坐标信息;处理装置102与所述存储装置101和接口装置100相连,用于执行所述至少一个程序,以协调所述存储装置101和接口装置100执行如下方法:获取来自于所述第三设备的一交互指令;其中,所述交互指令包含执行相应交互操作的第一设备在一地图上的坐标信息;其中,所述坐标信息是基于所述第一设备的摄像装置所摄取的图像而确定并标记在所述地图中的;向所述坐标信息所对应的第一设备发送所述交互指令,以便所述第一设备执行所述交互操作。
在某些实施例中,所述交互指令包括基于用户在所呈现的地图上的输入操作而产生的交互指令。在此,在一些示例中,第一设备获取交互指令,并根据确定的自身的坐标信息执行对应的交互操作,并且,在执行所述交互操作期间,将自身的位置信息发送给执行本步骤的设备,该设备将第一设备的位置信息在地图上进行标记,并将标记后的地图发送给第三设备,由第三设备进行显示。在又一些示例中,第一设备根据获取的交互指令和自身的坐标信息执行对应的交互操作,并且,在执行所述交互操作期间,将自身的位置信息发送给第三设备,第三设备将第一设备的位置信息在地图上进行标记并显示。在某些实施例中,所述处理装置102还执行在所述第一设备执行所述交互操作期间所对应的位置信息标记在所述地图上并予以显示的步骤。
本申请提供的第三设备,第三设备直接或间接地向在地图上确定了位置信息的第一设备发出交互指令,从而使第一设备执行基于坐标信息而产生与第三设备的交互操作。本申请提供的多设备之间协同操作的方法能够使得多设备之间进行交互,用户体验度好。
本申请再提供一种计算机可读写存储介质,存储有在地图上定位设备的计算机程序,所述在地图上定位设备的计算机程序被执行时实现上述实施例关于图1至图3中所述的在地图上定位设备的方法。
本申请还提供一种计算机可读写存储介质,存储有多设备之间协同操作的计算机程序,所述多设备之间协同操作的计算机程序被执行时实现上述实施例关于图4至图6中所述的多设备之间协同操作的方法。
本申请还提供一种计算机可读写存储介质,存储有多设备之间协同操作的计算机程序,所述多设备之间协同操作的计算机程序被执行时实现上述实施例关于图7中所述的多设备之间协同操作的方法。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述在地图上定位设备的计算机程序或多设备之间协同操作的计算机程序所描述的功能可以用硬件、软件、固件或者其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
本申请的在地图上定位设备的方法、多设备之间协同操作的方法、服务端、移动机器人、第一设备、第二设备、第三设备具有以下有益效果:通过带有摄像头的第二设备在室内或室外等物理空间移动并构建所述物理空间的地图和视觉定位数据集,并且通过服务端将所述地图与所述带有摄像头的第一设备和第三设备进行共享,所述第一设备能够通过自身摄取的图像与所述地图和视觉定位数据集进行匹配或比对等,实现自身在所述地图上的定位。同时,由于所述第一设备、第二设备和第三设备共享同一份地图和视觉定位数据集,能够实现多设备的交互,用户体验度好。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。