导航地图切换方法、装置、终端设备及存储介质与流程

    专利2022-07-07  129


    本发明属于导航技术领域,尤其涉及一种导航地图切换方法、装置、终端设备及存储介质。



    背景技术:

    移动机器人中存储有多张地图,当移动机器人执行某些任务时需要进行地图切换。移动机器人采用的是相对地图(relativemap),可互相切换的不同地图之间具有公共区域,公共区域在不同地图中的位置不同,在进行地图切换时,需要切换公共区域在不同地图中的位置。



    技术实现要素:

    有鉴于此,本发明实施例提供了一种导航地图切换方法、装置、终端设备及存储介质,能够简单有效的定位公共区域在不同地图中的位置。

    本发明实施例的第一方面提供了一种导航地图切换方法,应用于终端设备,所述方法包括:

    获取终端设备在第一地图中的第一位置信息;

    根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    根据所述第二位置信息,采用所述第二地图进行导航。

    本发明实施例的第二方面提供了一种导航地图切换装置,应用于终端设备,所述装置包括:

    第一位置获取模块,用于获取终端设备在第一地图中的第一位置信息;

    第二位置获取模块,用于根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    导航模块,用于根据所述第二位置信息,采用所述第二地图进行导航。

    本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例的第一方面所述导航地图切换方法的步骤。

    本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例的第一方面所述导航地图切换方法的步骤。

    本发明实施例的第一方面提供的导航地图切换方法,通过获取终端设备在第一地图中的第一位置信息;根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;根据所述第二位置信息,采用所述第二地图进行导航,仅通过获取终端设备在第一地图中的第一位置信息,并采用地图转换矩阵进行转换,即可获得终端设备在第二地图中的第二位置信息,实现第一地图和第二地图之间的切换并采用第二地图进行导航,方法简单且计算量小。

    可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明实施例提供的导航地图切换方法的第一种流程示意图;

    图2是本发明实施例提供的导航地图切换方法的第二种流程示意图;

    图3是本发明实施例提供的位于第一地图和第二地图中的公共区域的4个公共点的示意图;

    图4是本发明实施例提供的导航地图切换方法的第三种流程示意图;

    图5是本发明实施例提供的导航地图切换装置的结构示意图;

    图6是本发明实施例提供的终端设备的结构示意图。

    具体实施方式

    以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

    应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

    还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

    如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

    另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

    在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考公共的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

    本发明实施例提供的导航地图切换方法,可应用于移动机器人、自动导引车(automatedguidedvehicle,agv)、扫地机器人、移动终端等终端设备,使得采用相对地图的终端设备能够对具有公共区域的地图进行切换,例如,实现同一楼层的不同地图之间的切换,或者,实现不同楼层的不同地图之间的切换。移动终端可以是具有导航功能的手机、平板电脑、智能手环、个人数字助理(personaldigitalassistant,pda)等。本发明实施例对终端设备和移动终端的具体类型不作任何限制。

    如图1所示,本发明实施例提供的导航地图切换方法,包括如下步骤s101至s103:

    步骤s101、获取终端设备在第一地图中的第一位置信息;

    步骤s102、根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    步骤s103、根据所述第二位置信息,采用所述第二地图进行导航。

    在应用中,第一位置信息为终端设备当前在第一地图中的位置信息,包括终端设备当前在第一地图中的坐标和方位角。第二位置信息为终端设备当前在第二地图中的位置信息,包括终端设备当前在第二地图中的坐标和方位角。地图转换矩阵是预先计算得到的公共点在第一地图和第二地图的位置信息之间的转换矩阵,公共点是位于第一地图和第二地图中的公共区域的点。公共区域是指第一地图和第二地图中的连通区域,例如,第一地图为一楼的地图,第二地图为二楼的地图,则公共区域为连通一楼和二楼之间的楼梯区域;第一地图为第一房间的地图,第二地图为第二房间的地图,则公共区域为连通第一房间和第二房间的过道区域。在根据第一位置信息和地图转换矩阵,获得终端设备在第二地图中的第二位置信息之后,即可根据第二位置信息,采用第二地图进行导航,从而实现了第一地图和第二地图之间的切换。

    图1对应的实施例所提供的导航地图切换方法,仅通过获取终端设备在第一地图中的第一位置信息,并采用地图转换矩阵进行转换,即可获得终端设备在第二地图中的第二位置信息,实现第一地图和第二地图之间的切换并采用第二地图进行导航,方法简单且计算量小。

    如图2所示,在一个实施例中,步骤s103之前包括如下步骤s201和s202:

    步骤s201、构建地图转换矩阵;

    步骤s202、获取n个公共点在第一地图和第二地图中的位置信息;其中,所述公共点位于所述第一地图和所述第二地图中的公共区域,n大于或等于4;

    步骤s203、根据所述n个公共点在第一地图和第二地图中的位置信息,计算地图转换矩阵中的参数。

    在应用中,为了保证地图切换精度,在切换地图之前,需要先构建地图转换矩阵,然后选取至少4个公共点进行标记,根据这至少4个公共点分别在第一地图和第二地图中的位置信息,来计算地图转换矩阵中的参数。n个公共点选取自公共区域中的边角点以及边角点的连线之间的交点。

    如图3所示,示例性的示出了位于第一地图和第二地图中的公共区域的4个公共点的示意图;其中,4个公共点在第一地图中分别表示为a1、b1、c1和d1,在第二地图中分别表示为a2、b2、c2和d2。

    在一个实施例中,步骤s202包括:

    根据所述n个公共点在第一地图和第二地图中的位置信息,采用最小二乘法计算地图转换矩阵中的旋转变换角度和平移变换位移。

    在应用中,可以采用最小二乘法,对n个公共点在第一地图和第二地图中的位置信息进行曲线拟合,获得地图转换矩阵的旋转变换角度和平移变换位移,旋转变换角度为同一个公共点在两个地图中的方位角之间的变换角度,平移变换位移包括同一个公共点在两个地图中的横坐标之间的位移和纵坐标之间的位移。

    在应用中,对于二维平面地图,地图转换矩阵a为齐次矩阵,其由旋转变换角度和平移变换位移组成。将一个公共点在第一地图中的坐标转换到第二地图中的计算公式如下:

    其中,(x1,y1)表示一个公共点在第一地图中的坐标,(x2,y2)表示该公共点在第二地图中的坐标,a表示所述地图转换矩阵,θ表示旋转变换角度,dx和dy表示平移变换位移。

    在一个实施例中,将式一展开后再以矩阵形式表达可以得到如下方程组:

    式二为线性方程组,为了求解地图转换矩阵a中的参数(也即旋转变换角度θ以及平移变换位移dx和dy),首先需要对式二进行线性化,令k1=cosθ,k2=sinθ,则可将式二变换为具有4个未知数k1、k2、dx和dy的线性方程式,如下:

    由式三可知,两个地图中的1个公共点可以有2个方程式;当两个地图中有2个公共点时,方程式有唯一解;当两个地图中的公共点的个数大于或等于3个时,不存在方程解。为了提高鲁棒性,选取至少4个公共点的坐标代入式三,采用最小二乘法进行曲线拟合,计算4个未知数k1、k2、dx和dy,计算公式如下:

    x=(ftf)-1ftb;

    其中,x=[k1k2dxdy]t

    根据最小二乘法的计算结果,可得θ=atan2(k2,k1)。

    在一个实施例中,所述地图转换矩阵的表达式如下:

    其中,a表示所述地图转换矩阵,θ表示所述地图转换矩阵的旋转变换角度,dx和dy表示所述地图转换矩阵的平移变换位移;

    所述根据所述n个公共点在第一地图和第二地图中的位置信息,采用最小二乘法计算地图转换矩阵中的参数的旋转变换角度和平移变换位移的计算公式如下:

    x=(ftf)-1ftb;

    其中,x=[k1k2dxdy]tθ=atan2(k2,k1),ft表示矩阵f的转置矩阵,(ftf)-1表示矩阵(ftf)的逆矩阵,k1=cosθ,k2=sinθ,(x11,y11)表示第1个公共点在所述第一地图中的坐标,(x21,y21)表示第2个公共点在所述第一地图中的坐标,(xn1,yn1)表示第n个公共点在所述第一地图中的坐标,(x12,y12)表示第1个公共点在所述第二地图中的坐标,(x22,y22)表示第2个公共点在所述第二地图中的坐标,(xn1,yn1)表示第n个公共点在所述第一地图中的坐标,atan表示反正切函数。

    在一个实施例中,所述第一地图和所述第二地图为二维平面地图,步骤s102的计算公式如下:

    θmap2=θmap1-θ;

    其中,(xmap1,ymap1)表示终端设备在第一地图中的坐标,(xmap2,ymap2)表示终端设备在第二地图中的,θmap2表示终端设备在第二地图中的方位角,θmap1表示终端设备在第一地图中的方位角,(xmap1,ymap1,θmap1)表示所述第一位置信息,(xmap2,ymap2,θmap2)表示所述第二位置信息,a表示所述地图转换矩阵。

    图2所对应的实施例,通过选取至少4个公共点的位置信息来计算地图转换矩阵中的参数,可以有效提高基于地图转换矩阵和终端设备在第一地图中的第一位置信息,计算得到终端设备在第二地图中的第二位置信息的精度,从而可以有效保证地图切换过程中定位的准确性。

    如图4所示,在一个实施例中,步骤s202之后包括如下步骤s401至s404:

    s401、分别根据每个所述公共点在所述第一地图和所述第二地图中的位置信息以及所述地图转换矩阵,计算与每个所述公共点对应的误差向量;

    s402、根据与所述n个公共点对应的误差向量和误差阈值,确定所述地图转换矩阵是否满足精度要求;

    s403、当所述地图转换矩阵不满足精度要求时,更新所述n个公共点并重新执行获取n个公共点在第一地图和第二地图中的位置信息的步骤;

    s404、当所述地图转换矩阵满足精度要求时,执行所述获取终端设备在第一地图中的第一位置信息的步骤。

    在应用中,在选取至少4个公共点的位置信息来计算地图转换矩阵中的参数之后,还需要对地图转换矩阵的精度进行验证,可以根据与所选取的至少4个点对应的误差向量和误差阈值之间的关系,来确定地图转换矩阵是否满足精度要求。当地图转换矩阵不满足精度要求时,可以更新所选取的n个公共点并重新开始执行步骤s201和s202以及s401,以重新计算地图转换矩阵中的参数,然后基于更新的n个公共点和重新计算得到的地图转换矩阵,来重新确定地图转换矩阵是否满足精度要求,如此不断反复,直到地图转换矩阵满足精度要求时为止,之后则可根据满足精度要求的地图转换矩阵开始执行步骤s101至s103,以进行地图切换。

    在一个实施例中,所述更新所述n个公共点,包括:

    将所述n个公共点中的至少一个公共点替换为位于所述公共区域的其他公共点。

    在应用中,由于所选取的n个公共点中可能存在位置信息不准确的点,从而导致计算得到的地图转换矩阵不满足精度要求,因此,可以将n个公共点中的至少一个公共点替换为位于公共区域的其他公共点,来重新根据各公共点在两个地图中的位置信息计算地图转换矩阵中的参数。

    在一个实施例中,步骤s401的计算公式如下:

    其中,ei表示与第i个公共点对应的误差向量,(xi1,yi1)表示第i个公共点在所述第一地图中的坐标,(xi2,yi2)表示第i个公共点在所述第二地图中的坐标,a表示所述地图转换矩阵,i=1,2,…,n。

    在一个实施例中,步骤s402包括:

    根据与所述n个公共点对应的误差向量,获取平均误差值;

    比较所述平均误差与误差阈值的大小;

    当所述平均误差小于或等于所述误差阈值时,确定所述地图转换矩阵满足精度要求;

    当所述平均误差大于所述误差阈值时,确定所述地图转换矩阵不满足精度要求。

    在应用中,确定地图转换矩阵是否满足精度要求的具体方法是根据n个公共点的误差向量计算平均误差值,由于误差向量可能是正数也能是负数,因此,平均误差值可以是n个公共点的误差向量的绝对值的平均值,计算公式如下:

    其中,e表示平均误差值,e1表示第1个公共点的误差向量的绝对值,e2表示第2个公共点的误差向量的绝对值,en表示第n个公共点的误差向量的绝对值。

    在应用中,在获得平均误差值之后,可以比较平均误差与误差阈值的大小,当平均误差小于或等于误差阈值时,可判定地图转换矩阵满足精度要求,否则,可判定地图转换矩阵不满足精度要求。

    图4所对应的实施例通过在地图转换矩阵不满足精度要求,更新n个公共点以重新计算地图转换矩阵中的参数,然后基于更新的n个公共点和重新计算得到的地图转换矩阵,来重新确定地图转换矩阵是否满足精度要求,如此不断反复,直到地图转换矩阵满足精度要求时为止,可以确保最终获得的用于进行地图切换的地图转换矩阵满足精度要求,从而保证定位的准确性。

    应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

    本发明实施例还提供一种导航地图切换装置,用于执行上述导航地图切换方法实施例中的步骤。导航地图切换装置可以是终端设备中的虚拟装置(virtualappliance),由终端设备的处理器运行,也可以是终端设备本身。

    如图5所示,本发明实施例提供的导航地图切换装置100包括:

    第一位置获取模块101,用于获取终端设备在第一地图中的第一位置信息;

    第二位置获取模块102,用于根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    导航模块103,用于根据所述第二位置信息,采用所述第二地图进行导航。

    在一个实施例中,所述导航地图切换装置还包括:

    矩阵构建模块,用于构建地图转换矩阵;

    第三位置获取模块,用于获取n个公共点在第一地图和第二地图中的位置信息;其中,所述公共点位于所述第一地图和所述第二地图中的公共区域,n大于或等于4;

    矩阵计算模块,用于根据所述n个公共点在第一地图和第二地图中的位置信息,计算地图转换矩阵中的参数。

    在一个实施例中,所述导航地图切换装置还包括:

    误差计算模块,用于分别根据每个所述公共点在所述第一地图和所述第二地图中的位置信息以及所述地图转换矩阵,计算与每个所述公共点对应的误差向量;

    判断模块,用于根据与所述n个公共点对应的误差向量和误差阈值,确定所述地图转换矩阵是否满足精度要求;

    更新模块,用于当所述地图转换矩阵不满足精度要求时,更新所述n个公共点并重新执行获取n个公共点在第一地图和第二地图中的位置信息的步骤;

    所述第一位置获取模块,用于当所述地图转换矩阵满足精度要求时,执行所述获取终端设备在第一地图中的第一位置信息的步骤。

    在应用中,导航地图切换装置中的各模块可以为软件程序模块,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。

    如图6所示,本发明实施例还提供一种终端设备200,包括:至少一个处理器201(图6中仅示出一个处理器)、存储器202、存储在存储器202中并可在至少一个处理器201上运行的计算机程序203,处理器201执行计算机程序203时实现上述各个导航地图切换方法实施例中的步骤。

    在应用中,终端设备可包括,但不仅限于,存储器、处理器。本领域技术人员可以理解,图6仅仅是终端设备的举例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。终端设备也可以不包括相机,而是通过有线或无线通信模块与外设的相机通信连接。

    在应用中,处理器可以包括中央处理单元(centralprocessingunit,cpu)和图形处理器(graphicsprocessingunit,gpu),处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者任何常规的处理器等。

    在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。

    需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

    所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

    本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的导航地图切换方法。

    本发明实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述任一实施例的导航地图切换方法。

    集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。

    在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

    本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

    在本发明所提供的实施例中,应该理解到,所揭露的装置、终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置、终端设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。

    以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。


    技术特征:

    1.一种导航地图切换方法,其特征在于,应用于终端设备,所述方法包括:

    获取终端设备在第一地图中的第一位置信息;

    根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    根据所述第二位置信息,采用所述第二地图进行导航。

    2.如权利要求1所述的地图切换方法,其特征在于,所述根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息之前,包括:

    构建地图转换矩阵;

    获取n个公共点在第一地图和第二地图中的位置信息;其中,所述公共点位于所述第一地图和所述第二地图中的公共区域,n大于或等于4;

    根据所述n个公共点在第一地图和第二地图中的位置信息,计算地图转换矩阵中的参数。

    3.如权利要求2所述的地图切换方法,其特征在于,所述根据所述n个公共点在第一地图和第二地图中的位置信息,计算地图转换矩阵中的参数,包括:

    根据所述n个公共点在第一地图和第二地图中的位置信息,采用最小二乘法计算地图转换矩阵中的旋转变换角度和平移变换位移。

    4.如权利要求3所述的地图切换方法,其特征在于,所述第一地图和所述第二地图为二维平面地图,所述地图转换矩阵的表达式如下:

    其中,a表示所述地图转换矩阵,θ表示所述地图转换矩阵的旋转变换角度,dx和dy表示所述地图转换矩阵的平移变换位移;

    所述根据所述n个公共点在第一地图和第二地图中的位置信息,采用最小二乘法计算地图转换矩阵中的参数的旋转变换角度和平移变换位移的计算公式如下:

    x=(ftf)-1ftb;

    其中,x=[k1k2dxdy]tθ=atan2(k2,k1),ft表示矩阵f的转置矩阵,(ftf)-1表示矩阵(ftf)的逆矩阵,k1=cosθ,k2=sinθ,(x11,y11)表示第1个公共点在所述第一地图中的坐标,(x21,y21)表示第2个公共点在所述第一地图中的坐标,(xn1,yn1)表示第n个公共点在所述第一地图中的坐标,(x12,y12)表示第1个公共点在所述第二地图中的坐标,(x22,y22)表示第2个公共点在所述第二地图中的坐标,(xn1,yn1)表示第n个公共点在所述第一地图中的坐标,atan表示反正切函数。

    5.如权利要求2至4任一项所述的地图切换方法,其特征在于,所述根据所述n个公共点在第一地图和第二地图中的位置信息,计算地图转换矩阵中的参数之后,包括:

    分别根据每个所述公共点在所述第一地图和所述第二地图中的位置信息以及所述地图转换矩阵,计算与每个所述公共点对应的误差向量;

    根据与所述n个公共点对应的误差向量和误差阈值,确定所述地图转换矩阵是否满足精度要求;

    当所述地图转换矩阵不满足精度要求时,更新所述n个公共点并重新执行获取n个公共点在第一地图和第二地图中的位置信息的步骤;

    当所述地图转换矩阵满足精度要求时,执行所述获取终端设备在第一地图中的第一位置信息的步骤。

    6.如权利要求5所述的地图切换方法,其特征在于,所述根据与所述n个公共点对应的误差向量和误差阈值,确定所述地图转换矩阵是否满足精度要求,包括:

    根据与所述n个公共点对应的误差向量,获取平均误差值;

    比较所述平均误差与误差阈值的大小;

    当所述平均误差小于或等于所述误差阈值时,确定所述地图转换矩阵满足精度要求;

    当所述平均误差大于所述误差阈值时,确定所述地图转换矩阵不满足精度要求。

    7.如权利要求5所述的地图切换方法,其特征在于,所述更新所述n个公共点,包括:

    将所述n个公共点中的至少一个公共点替换为位于所述公共区域的其他公共点。

    8.如权利要求5所述的地图切换方法,其特征在于,所述分别根据每个所述公共点在所述第一地图和所述第二地图中的位置信息以及所述地图转换矩阵,计算与每个所述公共点对应的误差向量的计算公式如下:

    其中,ei表示与第i个公共点对应的误差向量,(xi1,yi1)表示第i个公共点在所述第一地图中的坐标,(xi2,yi2)表示第i个公共点在所述第二地图中的坐标,a表示所述地图转换矩阵,i=1,2,…,n。

    9.如权利要求1至4任一项所述的地图切换方法,其特征在于,所述第一地图和所述第二地图为二维平面地图,所述根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息的计算公式如下:

    θmap2=θmap1-θ;

    其中,(xmap1,ymap1)表示在第一地图中的坐标,(xmap2,ymap2)表示在第二地图中的,θmap2表示在第二地图中的方位角,θmap1表示在第一地图中的方位角,(xmap1,ymap1,θmap1)表示所述第一位置信息,(xmap2,ymap2,θmap2)表示所述第二位置信息,a表示所述地图转换矩阵。

    10.一种导航地图切换装置,其特征在于,应用于终端设备,所述装置包括:

    第一位置获取模块,用于获取终端设备在第一地图中的第一位置信息;

    第二位置获取模块,用于根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;

    导航模块,用于根据所述第二位置信息,采用所述第二地图进行导航。

    11.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述导航地图切换方法的步骤。

    12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述导航地图切换方法的步骤。

    技术总结
    本发明适用于导航技术领域,提供一种导航地图切换方法、装置、终端设备及存储介质。本发明实施例提供的导航地图切换方法,通过获取终端设备在第一地图中的第一位置信息;根据所述第一位置信息和地图转换矩阵,获取所述终端设备在第二地图中的第二位置信息;根据所述第二位置信息,采用所述第二地图进行导航,仅通过获取终端设备在第一地图中的第一位置信息,并采用地图转换矩阵进行转换,即可获得终端设备在第二地图中的第二位置信息,实现第一地图和第二地图之间的切换并采用第二地图进行导航,方法简单且计算量小。

    技术研发人员:黄祥斌;张木森;黄高波;聂鹏
    受保护的技术使用者:深圳市优必选科技股份有限公司
    技术研发日:2020.11.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-7045.html

    最新回复(0)