一种机器人跨楼层导航方法、装置及机器人
技术领域
本发明属于数据处理技术领域,尤其涉及机器人跨楼层导航方法及机器人。
背景技术
机器人在进行跨楼层导航时需要对不同楼层地图进行切换,并对机器人进行新地图中机器人位置的重新确定,以保证机器人在每一层的正常导航行驶,因此为了实现跨楼层导航,需要对不同楼层之间的地图进行关联处理,以保证机器人在新地图中的定位导航。
现有技术一般都是直接进行不同楼层地图拼接,得到一张包含所有楼层的完整地图,并将该完整地图作为机器人导航地图进行导航,但地图拼接的计算量大,特别是对于楼层数较多的场景而言计算量更是庞大,直接导致了对机器人跨楼层导航的效率难以得到提升,因此现有技术进行机器人跨楼层导航的效率较低。
发明内容
有鉴于此,本发明实施例提供了一种机器人跨楼层导航方法及机器人,以解决现有技术中机器人跨楼层导航的效率较低的问题。
本发明实施例的第一方面提供了一种机器人跨楼层导航方法,包括:
基于机器人当前楼层地图内的参考坐标系进行导航,控制机器人行驶至当前楼层的电梯内的参考坐标原点处;
控制所述机器人加载目标楼层地图;
当所述机器人乘坐所述电梯到达目标楼层时,将所述机器人实时位置设置为目标楼层地图中的参考坐标原点位置,并基于目标楼层地图的参考坐标系进行导航,其中,所述当前楼层和所述目标楼层的参考坐标系的参考坐标原点均位于所述电梯内的同一位置,且参考坐标系的参考坐标轴方向相同。
本发明实施例的第二方面提供了一种跨楼层地图关联方法,包括:
获取多个楼层的楼层地图,其中,多个所述楼层之间包含相互连通的同一电梯,所述楼层地图中包含用于机器人导航的原始坐标系;
基于预设在所述电梯内的参考坐标原点以及预设的参考坐标轴的方向数据,建立与所述楼层地图对应的参考坐标系,其中,每个所述楼层地图中参考坐标原点均位于所述电梯内的同一位置;
基于参考坐标原点在多个所述楼层地图中分别对应的位置数据、所述参考坐标轴方向、原始坐标系的原始坐标原点在所属的所述楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个所述楼层地图分别对应的可以用于所述机器人导航的参考坐标系。
本发明实施例的第三方面提供了一种机器人跨楼层导航装置,包括:
原点导航模块,用于基于机器人当前楼层地图内的参考坐标系进行导航,控制机器人行驶至当前楼层的电梯内的参考坐标原点处;
地图加载模块,用于控制所述机器人加载目标楼层地图;
更新导航模块,用于当所述机器人乘坐所述电梯到达目标楼层时,将所述机器人实时位置设置为目标楼层地图中的参考坐标原点位置,并基于目标楼层地图的参考坐标系进行导航,其中,所述当前楼层和所述目标楼层的参考坐标系的参考坐标原点均位于所述电梯内的同一位置,且参考坐标系的参考坐标轴方向相同。
本发明实施例的第四方面提供了一种跨楼层地图关联装置,包括:
地图获取模块,用于获取多个楼层的楼层地图,其中,多个所述楼层之间包含相互连通的同一电梯,所述楼层地图中包含用于机器人导航的原始坐标系;
坐标创建模块,用于基于预设在所述电梯内的参考坐标原点以及预设的参考坐标轴的方向数据,建立与所述楼层地图对应的参考坐标系,其中,每个所述楼层地图中参考坐标原点均位于所述电梯内的同一位置;
坐标关联模块,用于基于参考坐标原点在多个所述楼层地图中分别对应的位置数据、所述参考坐标轴方向、原始坐标系的原始坐标原点在所属的所述楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个所述楼层地图分别对应的可以用于所述机器人导航的参考坐标系。
本发明实施例的第五方面提供了一种机器人,所述机器人包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如如上所述的机器人跨楼层导航方法或所述的跨楼层地图关联方法的步骤。
本发明实施例的第六方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的机器人跨楼层导航方法或所述的跨楼层地图关联方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过将所有楼层均使用一个相同的参考坐标系,使得所有楼层的定位坐标系得以统一,由于参考坐标系的参考坐标原点位于各楼层相通的电梯的相同位置处,而电梯在跨楼层时是从一个楼层的一个固定地点到另一个楼层的一个固定地点,即每一楼层的参考坐标原点对于都是完全对应相同的,使得机器人在通过电梯进行跨楼层时,只需要行驶至电梯内的参考坐标原点,到达目标楼层时,初始位置便是目标楼层参考坐标系的坐标原点,且坐标轴方向也完全相同,机器人无需再进行任何重新定位,也不用进行地图坐标转换等工作,只需要直接加载目标楼层的新地图即可,极大地降低了对多楼层地图关联的计算复杂度,使得机器人跨楼层导航的效率得到极大的提升。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的机器人跨楼层导航方法的实现流程示意图;
图2是本发明实施例二提供的机器人跨楼层导航方法的实现流程示意图;
图3是本发明实施例三提供的机器人跨楼层导航方法的实现流程示意图;
图4是本发明实施例四提供的机器人跨楼层导航方法的实现流程示意图;
图5是本发明实施例五提供的机器人跨楼层导航方法的实现流程示意图;
图6是本发明实施例六提供的跨楼层地图关联方法的实现流程示意图;
图7是本发明实施例七提供的机器人跨楼层导航装置的结构示意图;
图8是本发明实施例八提供的跨楼层地图关联装置的结构示意图;
图9是本发明实施例九提供的机器人的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
为了便于理解本发明,此处先对本发明实施例进行简要说明,为了提升机器人跨楼层效率,本发明实施例中会预先基于各个楼层相通的电梯,来建立各楼层坐标原点和坐标轴都相通的统一参考坐标系,并将各个楼层原本用于机器人定位导航的原始坐标系通过坐标映射转换到参考坐标系之中,在进行跨楼层时,机器人行驶到电梯的坐参考标原点处并利用电梯进行上下楼,并加载目标楼层的新地图,在到达目标楼层时,由于乘坐电梯时是处于公共的参考坐标原点且各个楼层参考坐标系的坐标轴方向相同,从而使得机器人无需再进行新楼层的定位计算和方向转换,直接将目标楼层中已知的参考坐标原点位置作为机器人实时位置,并直接基于新加载的目标楼层地图进行导航即可,详述如下:
图1示出了本发明实施例一提供的机器人跨楼层导航方法的实现流程图,详述如下:
S101,基于机器人当前楼层地图内的参考坐标系进行导航,控制机器人行驶至当前楼层的电梯内的参考坐标原点处。
在本发明实施例中,参考坐标系用于机器人在楼层进行定位导航,其既可以是直角坐标系,也可以是其他可用于定位导航的坐标系,此处不予限定,具体可由技术人员根据实际需求选定,同时本发明实施例中,机器人行驶的当前楼层和目标楼层之间具有相互连通的可进行跨楼层运行的电梯,其既可以是垂直位移的直升梯,也可以是非垂直位移的电动扶梯,且各个楼层参考坐标系的参考坐标原点均位于各楼层电梯的同一位置,各个楼层参考坐标系的坐标轴方向也相同,由于电梯在跨楼层位移时是从一个楼层的一个固定位置到另一个楼层的固定位置,即参考坐标原点在不同楼层之间的位置关系是固定对应不会发生变化的,机器人在乘坐电梯进行跨楼层时,只要保持在电梯中的参考坐标原点位置不变,即可实现两个楼层坐标原点的空间位移,使得机器人到达目标楼层时无需进行定位计算,更无需进行坐标系转换等地图相关的计算操作,只需直接将目标楼层参考坐标原点的位置更新为实时位置再继续沿用原楼层的坐标轴方向即可。其中,参考坐标原点的具体位置可由技术人员自行设定,例如假设电梯在楼层地图中形状为矩形,则参考坐标原点可以设置为矩形的对角线交点或者其他固定位置点。
本发明实施例中,机器人在需要进行跨楼层时,首先会获取当前楼层的地图,并基于当前楼层地图的参考坐标系来进行机器人实时位置到参考坐标原点的路线导航,以保证机器人在跨楼层时可以准确达到指定的参考坐标原点处,其中具体的路线导航方法此处不予限定,包括但不限于如使用激光SLAM导航、惯性导航以及码表导航等进行导航。
S102,控制机器人加载目标楼层地图。
在机器人进入电梯完成了在当前楼层的定位导航任务之后,本发明实施例会控制机器人加载目标楼层地图,以为目标楼层导航做准备,其中,加载目标楼层地图的时机可以是机器人进入电梯到机器人到达目标楼层这一段时间内的任意时机,具体可由技术人员选取并设定,优选地,可以设置为机器人进入电梯时加载,或者机器人达到参考坐标原点时加载。
S103,当机器人乘坐电梯到达目标楼层时,将机器人实时位置设置为目标楼层地图中的参考坐标原点位置,并基于目标楼层地图的参考坐标系进行导航,其中,当前楼层和目标楼层的参考坐标系的参考坐标原点均位于电梯内的同一位置,且参考坐标系的参考坐标轴方向相同。
当机器人乘坐电梯到达目标楼层时,为了保证在目标楼层的正常导航,需要对机器人进行目标楼层的地图定位,但由于本发明实施例中机器人是在电梯内的参考坐标原点处进行跨楼层位移的,对于目标楼层而言,该参考坐标原点也是其楼层地图内用于机器人导航的参考坐标原点,因此本发明实施例中无需再进行机器人的定位计算,直接将机器人在目标楼层的实时位置设置为目标楼层地图中参考坐标原点位置即可,同时,由于楼层间的参考坐标轴方向也完全相同,因此机器人可以直接使用原位置姿态信息等来进行导航,而无需进行坐标系转换以及其他地图相关的算法来进行计算处理,相对现有技术中的各楼层地图跨楼层导航而言,无疑计算量更小效率更高。
作为本发明实施例二,为了保证本发明实施例一中可以正常进行基于参考坐标系的机器人导航,本发明实施例中,会预先建立各个楼层之间的统一参考坐标系,以将各个楼层地图关联起来,使得机器人跨楼层导航时可以直接使用关联好的楼层地图进行操作,如图2所示,包括:
S201,获取多个楼层的楼层地图,其中,多个楼层之间包含相互连通的电梯,楼层地图中包含用于机器人导航的原始坐标系。
S202,基于预设的参考坐标原点以及参考坐标轴方向,建立与楼层地图对应的参考坐标系,其中,每个楼层地图中参考坐标原点均位于电梯内的同一位置。
实际应用中,每一楼层地图内都会包含原始用于机器人定位的坐标系,这些原始坐标系可以用于机器人在本楼层的定位导航,但对于不同的楼层而言,这些原始坐标系的设置都是各自独立的,其可能有所关联也可能毫无关联,例如两个楼层之间的坐标轴方向既有可能相同,也有可能完全不同,而坐标原点的设置,则一般都是没有什么对应关系的,因此,机器人在利用这些原始坐标系进行跨楼层导航时,每次到达一个新楼层,都需要重新进行计算定位,并根据新楼层原始坐标系的坐标轴方向和机器人位置姿态信息等进行坐标系转换,同时还需要对其他与地图相关的算法进行计算,以保证机器人能够在新的楼层进行正常的定位导航,从而使得每次机器人跨楼层导航都变得极其繁琐,效率低下。
为了提高跨楼层导航的效率,本发明实施例中会利用楼层之间相同的电梯来进行参考坐标系的构建,将每一楼层的参考坐标原点均设置在电梯同一位置,并将每个楼层的坐标系方向设置一致,从而使得各个楼层的参考坐标系可以基于电梯内参考坐标原点相关联起来。其中,参考坐标系的具体种类、具体参考坐标原点位置和参考坐标轴方向,可参考本发明实施例一中相关说明,也由技术人员自行设定,此处不予限定。
S203,基于参考坐标原点在各个楼层地图中分别对应的位置数据、参考坐标轴方向、原始坐标系的原始坐标原点在所属楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个楼层地图分别对应的可以用于机器人导航的参考坐标系。
上述操作虽然完成了对各楼层参考坐标系的构建与关联,但并未将参考坐标系与楼层地图关联起来,机器人还是无法进行使用参考坐标系来进行定位导航等操作,因此,本发明实施例会基于原始坐标系的原始坐标原点和坐标轴方向,以及参考坐标系的参考坐标原点和参考坐标轴方向,来对原始坐标系进行转换,将即原始坐标系中每个点的坐标通过坐标平移旋转操作,映射至对应的参考坐标系,从而得到可以用于机器人定位导航的参考坐标系,且完成了对各个楼层地图的关联,使得本发明实施例一中机器人可以根据转换好的参考坐标系来进行跨楼层导航。
本发明实施例通过对所有楼层建立一个相同的参考坐标系,将每个楼层地图的原始坐标系坐标转换至参考坐标系中,使得所有楼层的定位坐标系得以统一,由于参考坐标系的参考坐标原点位于各楼层相通的电梯的相同位置处,而电梯在跨楼层时是从一个楼层的一个固定地点到另一个楼层的一个固定地点,即每一楼层的参考坐标原点对于都是完全对应相同的,因此实现了对所有楼层地图参考坐标系的关联,使得机器人在通过电梯进行跨楼层时,只需要行驶至电梯内的参考坐标原点,到达目标楼层时,初始位置便是目标楼层参考坐标系的坐标原点,且坐标轴方向也完全相同,机器人无需再进行任何重新定位,也不用进行地图坐标转换等工作,只需要直接加载目标楼层的新地图即可,极大地减小了对多楼层地图关联的计算复杂度,简化了关联方法,使得机器人跨楼层导航的效率得到极大的提升。
作为本发明的另一种实施方式,考虑到上述的各楼层参考坐标系建立和关联的计算量较大,且在一栋楼中,无需每次跨楼层都进行参考坐标系建立和关联,因此在本发明实施例中,会由机器人以外的其他设备来作为执行主体执行本发明实施例二中的步骤,为各楼层建立统一参考坐标系并进行坐标系转换,从而实现对楼层地图的预先关联,此时,本发明实施例一中只需要直接获取所需的转换后的楼层地图即可,例如由服务器预先执行本发明实施例二中操作,得到转换后的楼层地图之后,机器人在需要时像服务器请求对应的楼层地图即可,或者由服务器得到转换后的楼层地图后,再存储到机器人的存储单元即可,由于机器人无需进行楼层地图的关联操作,从而使得本发明实施例中机器人的跨楼层效率更高。
作为本发明实施例一中控制机器人导航进入电梯的一种具体实现的方式,如图3,本发明实施例三包括:
S301,取预设的第一参考点和第二参考点在当前楼层的参考坐标系内的坐标,其中,第一参考点位于电梯门处,第二参考点位于电梯外。
S302,判断机器人的实时位置是否处于第一参考点和第二参考点的坐标连线构成的路径上。
S303,若机器人实时位置处于第一参考点和第二参考点连线构成的路径上,获取机器人的惯性数据和码表数据,并基于惯性数据和码表数据对机器人进行导航。
在实际应用当中,机器人一般采用激光SLAM导航等基于光反射或者视觉的导航系统来进行导航,但由于电梯环境比较特殊,首先,电梯门附近会存在高低槛,这容易使得机器人在行驶过程中轮子打滑影响定位导航的精度,其次,由于电梯本身材质的问题,以及电梯周围经常会存在人和物体等障碍物,使得基于光反射或视觉的导航系统容易出现电梯环境内观测的数据与先验地图高度不匹配的情况出现,无法满足机器人高精度定位导航的需求。
为了提升机器人在进出电梯时定位导航精确度,以保证电梯的准确行驶,本发明实施例会在电梯门处和电梯周围各设置一个参考点,并在机器人需要进入电梯时,控制机器人首先向位于电梯外的第二参考点行驶,当机器人行驶到第二参考点或者第二参考点和第一参考点的连线上时,即可判定机器人到达了电梯附近,此时本发明实施例会将机器人原本的导航系统切换为惯性导航+码表导航,通过惯性导航+码表导航的方式来进行机器人的导航,从而使得机器人无需依靠任何光反射或者视觉反馈也可以精准导航,并进出电梯,保证了机器人导航的精准度。其中,第一参考点在电梯门处的具体位置可由技术人员自行设定,考虑到机器人具有一定的空间体积,因此优选地,第一参考点可设置于电梯门中点处,第二参考点的具体设置位置可由技术人员自行设定,但不宜设置的与电梯距离过远,优选地,可以设置为距电梯门距离20cm~100cm内的一个位置。
作为本发明实施例一中加载目标楼层地图的一种具体实现方式,如图4所示,本发明实施例四包括:
S401,获取预设的第一参考点和第三参考点在当前楼层的参考坐标系内的坐标,其中,第一参考点位于电梯门处,第三参考点位于电梯内。
S402,基于第一参考点坐标、第三参考点坐标以及机器人的实时位置,判断机器人是否完全进入电梯。
考虑到机器人的实际体积尺寸,若机器人处于两个参考点坐标连线之间,则说明其已经完全进入电梯,因此,需要结合机器人的实时位置和尺寸大小来判断机器人是否处于两个参考点坐标连线之间,其中机器人尺寸可由技术人员预先测量输入。
S403,若机器人完全进入电梯,控制机器人加载目标楼层地图。
在本发明实施例中,会在电梯门处和电梯内各设置一个参考点,以供机器人参考确定其是否完全进入电梯内部,并会在机器人完全进入电梯内部时,控制机器人加载目标楼层地图,以保证机器人在到达目标楼层之前,有充分的时间来加载目标楼层地图节约跨楼层导航时的时间。其中,第一参考点在电梯门处的具体位置可由技术人员自行设定,考虑到机器人具有一定的空间体积,因此优选地,第一参考点可设置于电梯门中点处,第三参考点的具体设置位置可由技术人员自行设定。
作为本发明实施例五,将本发明实施例一结合至机器人实际乘坐电梯的场景之中,如图5所示,包括:
S501,获取预设的第一参考点、第二参考点和第三参考点在当前楼层的参考坐标系内的坐标,其中,第一参考点位于电梯门处,第二参考点位于电梯外,第三参考点位于电梯内。
其中,关于三个参考点相关说明和相关数据的判断,可以参考本发明实施例三和本发明实施例四相关说明,关于机器人跨楼层导航的相关说明可以参考本发明实施例一中相关说明,此处均不予赘述。
在本发明实施例中,为了保证机器人与电梯的正常通通信,需要预先在电梯内部和机器人内部设置好对应的通信模块,并将电梯内的通信模块与电梯按键控制面板连接,实现对电梯楼层移动的控制,其中,可以使用如LoRa超远距433模块等远距离通信模块来作为本发明实施例中的通信模块。
S502,基于机器人当前楼层地图内参考坐标系进行导航,控制机器人向第一参考点行驶。
S503,若机器人实时位置处于第一参考点和第二参考点连线构成的路径上,控制机器人向电梯发送当前楼层呼叫请求和楼层查询指令。
当机器人行驶至电梯附近时,说明机器人需要乘坐电梯跨楼层,因此,此时会控制机器人想电梯发出当前楼层呼叫请求,以告知电梯机器人当前楼层信息,请求机器人移动至当前楼层。楼层查询指令用于查询电梯实时的所处楼层情况,以便于准确判断电梯是否达到当前楼层。
作为本发明的一个优选实施例,在发送当前楼层呼叫请求和楼层查询指令之前,还包括:向电梯发送电梯状态请求,查询电梯是否处于空闲状态,若电梯处于空闲状态,即会返回一个空闲状态的信息给机器人,此时机器人再向电梯发送当前楼层呼叫请求和楼层查询指令,以防止机器人影响正常的电梯运行,优先保证用户能够正常使用电梯。
S504,若接收到电梯针对楼层查询指令返回的楼层信息为当前楼层,控制机器人向电梯发送开门指令,并行驶至电梯内的参考坐标原点处。
当电梯返回的楼层信息为当前楼层时,说明电梯已经到达了当前楼层,此时机器人会向电梯发送开门指令,使得电梯打开电梯门,并控制机器人向参考坐标原点行驶。
作为本发明的一个优选实施例,为了保证机器人行驶过程的安全,在发送开门指令的同时,向电梯发送开门保持指令,以控制电梯在机器人进入之前不会关门。
S505,基于第一参考点坐标、第三参考点坐标以及机器人的实时位置,判断机器人是否完全进入电梯。
S506,若机器人完全进入电梯,控制机器人加载目标楼层地图,并向电梯发送目标楼层呼叫请求和楼层查询指令。
S507,若接收到电梯针对楼层查询指令返回的楼层信息为目标楼层,将机器人实时位置设置为目标楼层地图中的参考坐标原点位置,控制机器人向电梯发送开门指令,并基于目标楼层地图的参考坐标系进行导航。
在本发明实施例中,通过在电梯和机器人中添加远距离通信模块,使得机器人和电梯可以进行远距离问题通信,并通过实施例中的交互流程,实现了对电梯呼叫的智能流程控制,为机器人跨楼层导航提供了有力的保障。
图6示出了本发明实施例六提供的跨楼层地图关联方法的实现流程图,详述如下:
S601,获取多个楼层的楼层地图,其中,多个楼层之间包含相互连通的同一电梯,楼层地图中包含用于机器人导航的原始坐标系。
S602,基于预设在电梯内的参考坐标原点以及预设的参考坐标轴的方向数据,建立与楼层地图对应的参考坐标系,其中,每个楼层地图中参考坐标原点均位于电梯内的同一位置。
实际应用中,每一楼层地图内都会包含原始用于机器人定位的坐标系,这些原始坐标系可以用于机器人在本楼层的定位导航,但对于不同的楼层而言,这些原始坐标系的设置都是各自独立的,其可能有所关联也可能毫无关联,例如两个楼层之间的坐标轴方向既有可能相同,也有可能完全不同,而坐标原点的设置,则一般都是没有什么对应关系的,因此,机器人在利用这些原始坐标系进行跨楼层导航时,每次到达一个新楼层,都需要重新进行计算定位,并根据新楼层原始坐标系的坐标轴方向和机器人位置姿态信息等进行坐标系转换,同时还需要对其他与地图相关的算法进行计算,以保证机器人能够在新的楼层进行正常的定位导航,从而使得每次机器人跨楼层导航都变得极其繁琐,效率低下。
为了提高跨楼层导航的效率,本发明实施例中会利用楼层之间相同的电梯来进行参考坐标系的构建,将每一楼层的参考坐标原点均设置在电梯同一位置,并将每个楼层的坐标系方向设置一致,从而使得各个楼层的参考坐标系可以基于电梯内参考坐标原点相关联起来。其中,参考坐标系用于机器人在楼层进行定位导航,其既可以是直角坐标系,也可以是其他可用于定位导航的坐标系,此处不予限定,具体可由技术人员根据实际需求选定,坐标系方向和参考坐标原点的具体位置可由技术人员自行设定,例如假设电梯在楼层地图中形状为矩形,则参考坐标原点可以设置为矩形的对角线交点或者其他固定位置点。
S603,基于参考坐标原点在多个楼层地图中分别对应的位置数据、参考坐标轴方向、原始坐标系的原始坐标原点在所属的楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个楼层地图分别对应的可以用于机器人导航的参考坐标系。
上述操作虽然完成了对各楼层参考坐标系的构建与关联,但并未将参考坐标系与楼层地图关联起来,机器人还是无法进行使用参考坐标系来进行定位导航等操作,因此,本发明实施例会基于原始坐标系的原始坐标原点和坐标轴方向,以及参考坐标系的参考坐标原点和参考坐标轴方向,来对原始坐标系进行转换,将即原始坐标系中每个点的坐标通过坐标平移旋转操作,映射至对应的参考坐标系,从而得到可用于机器人定位导航的参考坐标系,且完成了对各个楼层地图的关联,使得机器人可以根据转换好的参考坐标系来进行跨楼层导航。
应当说明地,本发明实施例的执行主体既可以是机器人,也可以是机器人以外的其他设备,具体可由实际应用场景需求决定。
本发明实施例通过对所有楼层建立一个相同的参考坐标系,将每个楼层地图的原始坐标系坐标转换至参考坐标系中,使得所有楼层的定位坐标系得以统一,由于参考坐标系的参考坐标原点位于各楼层相通的电梯的相同位置处,而电梯在跨楼层时是从一个楼层的一个固定地点到另一个楼层的一个固定地点,即每一楼层的参考坐标原点对于都是完全对应相同的,因此实现了对所有楼层地图参考坐标系的关联,使得机器人在通过电梯进行跨楼层时,只需要行驶至电梯内的参考坐标原点,到达目标楼层时,初始位置便是目标楼层参考坐标系的坐标原点,且坐标轴方向也完全相同,机器人无需再进行任何重新定位,也不用进行地图坐标转换等工作,只需要直接加载目标楼层的新地图即可,极大地减小了对多楼层地图关联的计算复杂度,简化了关联方法,使得机器人跨楼层导航的效率得到极大的提升。
对应于上文实施例的方法,图7示出了本发明实施例提供的机器人跨楼层导航装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。图7示例的机器人跨楼层导航装置可以是前述实施例一提供的机器人跨楼层导航方法的执行主体。
参照图7,该机器人跨楼层导航装置包括:
原点导航模块71,用于基于机器人当前楼层地图内的参考坐标系进行导航,控制机器人行驶至当前楼层的电梯内的参考坐标原点处。
地图加载模块72,用于控制所述机器人加载目标楼层地图。
更新导航模块73,用于当所述机器人乘坐所述电梯到达目标楼层时,将所述机器人实时位置设置为目标楼层地图中的参考坐标原点位置,并基于目标楼层地图的参考坐标系进行导航,其中,所述当前楼层和所述目标楼层的参考坐标系的参考坐标原点均位于所述电梯内的同一位置,且参考坐标系的参考坐标轴方向相同。
进一步地,该机器人跨楼层导航装置,还包括:
获取多个楼层的楼层地图,其中,多个楼层之间包含相互连通的所述电梯,楼层地图中包含用于所述机器人导航的原始坐标系。
基于预设的参考坐标原点以及参考坐标轴方向,建立与楼层地图对应的参考坐标系,其中,每个楼层地图中参考坐标原点均位于所述电梯内的同一位置。
基于参考坐标原点在各个楼层地图中分别对应的位置数据、所述参考坐标轴方向、原始坐标系的原始坐标原点在所属楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个楼层地图分别对应的可以用于所述机器人导航的参考坐标系。
进一步地,原点导航模块71,包括:
获取预设的第一参考点和第二参考点在当前楼层的参考坐标系内的坐标,其中,所述第一参考点位于所述电梯门处,所述第二参考点位于所述电梯外。
判断所述机器人的实时位置是否处于所述第一参考点和所述第二参考点的坐标连线构成的路径上。
若所述机器人实时位置处于所述第一参考点和所述第二参考点连线构成的路径上,获取所述机器人的惯性数据和码表数据,并基于所述惯性数据和所述码表数据对所述机器人进行导航。
进一步地,地图加载模块72,包括:
获取预设的第一参考点和第三参考点在所述当前楼层的参考坐标系内的坐标,其中,所述第一参考点位于所述电梯门处,所述第三参考点位于所述电梯内。
基于所述第一参考点坐标、所述第三参考点坐标以及所述机器人的实时位置,判断所述机器人是否完全进入所述电梯。
若所述机器人完全进入所述电梯,所述控制所述机器人加载目标楼层地图。
进一步地,该机器人跨楼层导航装置,还包括:
获取预设的第一参考点、第二参考点和第三参考点在当前楼层的参考坐标系内的坐标,其中,所述第一参考点位于所述电梯门处,所述第二参考点位于所述电梯外,所述第三参考点位于所述电梯内。
基于机器人当前楼层地图内参考坐标系进行导航,控制机器人向所述第一参考点行驶。
若所述机器人实时位置处于所述第一参考点和所述第二参考点连线构成的路径上,控制所述机器人向所述电梯发送当前楼层呼叫请求和楼层查询指令。
若接收到所述电梯针对楼层查询指令返回的楼层信息为当前楼层,控制所述机器人向所述电梯发送开门指令,并行驶至所述电梯内的参考坐标原点处。
基于所述第一参考点坐标、所述第三参考点坐标以及所述机器人的实时位置,判断所述机器人是否完全进入所述电梯。
若所述机器人完全进入所述电梯,控制所述机器人加载目标楼层地图,并向所述电梯发送目标楼层呼叫请求和楼层查询指令。
若接收到所述电梯针对楼层查询指令返回的楼层信息为目标楼层,将所述机器人实时位置设置为目标楼层地图中的参考坐标原点位置,控制所述机器人向所述电梯发送开门指令,并基于目标楼层地图的参考坐标系进行导航。
本发明实施例提供的机器人跨楼层导航装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例一的描述,此处不再赘述。
对应于上文实施例的方法,图8示出了本发明实施例提供的跨楼层地图关联装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。图8示例的跨楼层地图关联装置可以是前述实施例六提供的跨楼层地图关联方法的执行主体。
参照图8,该跨楼层地图关联装置包括:
地图获取模块81,用于获取多个楼层的楼层地图,其中,多个所述楼层之间包含相互连通的同一电梯,所述楼层地图中包含用于机器人导航的原始坐标系。
坐标创建模块82,用于基于预设在所述电梯内的参考坐标原点以及预设的参考坐标轴的方向数据,建立与所述楼层地图对应的参考坐标系,其中,每个所述楼层地图中参考坐标原点均位于所述电梯内的同一位置。
坐标关联模块83,用于基于参考坐标原点在多个所述楼层地图中分别对应的位置数据、所述参考坐标轴方向、原始坐标系的原始坐标原点在所属的所述楼层地图中的位置数据,以及原始坐标系的原始坐标轴方向,对原始坐标系进行坐标变换,得到每个所述楼层地图分别对应的可以用于所述机器人导航的参考坐标系。
本发明实施例提供的机器人跨楼层导航装置中各模块实现各自功能的过程,具体可参考前述图6所示实施例六的描述,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本发明实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一表格可以被命名为第二表格,并且类似地,第二表格可以被命名为第一表格,而不背离各种所描述的实施例的范围。第一表格和第二表格都是表格,但是它们不是同一表格。
图9是本发明一实施例提供的机器人的示意图。如图9所示,该实施例的机器人9包括:处理器90、存储器91,所述存储器91中存储有可在所述处理器90上运行的计算机程序92。所述处理器90执行所述计算机程序92时实现上述各个机器人跨楼层导航方法实施例中的步骤,例如图1所示的步骤101至106。或者,所述处理器90执行所述计算机程序92时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块61至63的功能。
所述机器人9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述机器人可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是机器人9的示例,并不构成对机器人9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人还可以包括输入发送设备、网络接入设备、总线等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91可以是所述机器人9的内部存储单元,例如机器人9的硬盘或内存。所述存储器91也可以是所述机器人9的外部存储设备,例如所述机器人9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述机器人9的内部存储单元也包括外部存储设备。所述存储器91用于存储所述计算机程序以及所述机器人所需的其他程序和数据。所述存储器91还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。