一种导航方法及装置.pdf

上传人:a2 文档编号:6244976 上传时间:2019-05-25 格式:PDF 页数:33 大小:2.10MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510092480.3

申请日:

2015.03.02

公开号:

CN105987692A

公开日:

2016.10.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G01C 21/00申请日:20150302|||公开

IPC分类号:

G01C21/00

主分类号:

G01C21/00

申请人:

华为技术有限公司

发明人:

高飞

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京中博世达专利商标代理有限公司 11274

代理人:

申健

PDF下载: PDF下载
内容摘要

本发明实施例公开了一种导航方法及装置,涉及通信技术领域,用以在GPS不能覆盖的环境中为用户导航。具体方案为:实时识别用户的行进方向;实时记录用户的行进步数;若识别到用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的行进步数;其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与第一时刻间隔预设时间。

权利要求书

1.一种导航方法,其特征在于,所述方法包括:
实时识别用户的行进方向;
实时记录所述用户的行进步数;
若识别到所述用户在第一时刻的行进方向与所述用户在第二时刻的行
进方向之间的偏移角度大于预设角度阈值,则保存所述用户在所述第二时刻
的行进方向和所述用户在所述第二时刻的行进方向上的行进步数;
其中,所述第一时刻为当前时刻,所述第二时刻在所述第一时刻之前,
所述第二时刻与所述第一时刻间隔预设时间。
2.根据权利要求1所述的方法,其特征在于,所述保存所述用户在所
述第二时刻的行进方向和所述用户在所述第二时刻的行进方向上的行进步
数,包括:
获取记录的所述用户在所述第二时刻的行进方向上的行进步数;
若记录的所述用户在所述第一时刻的行进方向上的行进步数大于等于
第一预设步数阈值,则保存所述用户在所述第二时刻的行进方向和所述用户
在所述第二时刻的行进方向上的行进步数。
3.根据权利要求1所述的方法,其特征在于,在所述保存所述用户在
所述第二时刻的行进方向和所述用户在所述第二时刻的行进方向上的行进
步数之后,所述方法还包括:
获取记录的所述用户在所述第一时刻的行进方向上的行进步数;
若识别到所述用户在第三时刻的行进方向与所述用户在所述第一时刻
的行进方向之间的偏移角度大于所述预设角度阈值,则保存所述用户在所述
第一时刻的行进方向和所述用户在所述第一时刻的行进方向上的行进步数,
所述第三时刻在所述第一时刻之后;
若所述用户在所述第一时刻的行进方向上的行进步数小于所述第一预
设步数阈值,且所述用户在所述第三时刻的行进方向与所述用户在所述第二
时刻的行进方向之间的偏移角度大于所述预设角度阈值,则将保存的所述用
户在所述第二时刻的行进方向上的行进步数更新为所述用户在所述第二时
刻的行进方向上的行进步数与所述用户在所述第一时刻的行进方向上的行
进步数之和,并删除保存的所述用户在所述第一时刻的行进方向和所述用户
在所述第一时刻的行进方向上的行进步数。
4.根据权利要求1所述的方法,其特征在于,在所述保存所述用户在
所述第二时刻的行进方向和所述用户在所述第二时刻的行进方向上的行进
步数之后,所述方法还包括:
获取记录的所述用户在所述第一时刻的行进方向上的行进步数;
若识别到所述用户在第三时刻的行进方向与所述用户在所述第一时刻
的行进方向之间的偏移角度大于所述预设角度阈值,则保存所述用户在所述
第一时刻的行进方向和所述用户在所述第一时刻的行进方向上的行进步数,
所述第三时刻在所述第一时刻之后;
若所述用户在所述第一时刻的行进方向上的行进步数小于所述第一预
设步数阈值,且所述用户在所述第三时刻的行进方向与所述用户在所述第二
时刻的行进方向之间的偏移角度小于等于所述预设角度阈值,则将保存的所
述用户在所述第二时刻的行进方向上的行进步数更新为所述用户在所述第
二时刻的行进方向上的行进步数、所述用户在所述第一时刻的行进方向上的
行进步数以及所述用户在所述第三时刻的行进方向上的行进步数之和,并删
除保存的所述用户在所述第一时刻的行进方向和所述用户在所述第一时刻
的行进方向上的行进步数。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还
包括:
若接收到终止指令,则保存终止方向和所述用户在所述终止方向上的行
进步数,所述终止方向为接收到所述终止指令时识别到的所述用户的行进方
向。
6.根据权利要求5所述的方法,其特征在于,在所述保存终止方向和
所述用户在所述终止方向上的行进步数之后,所述方法还包括:
获取接收到所述终止指令时所述用户的位置信息,并保存所述位置信
息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据保存的行进方向和所述用户在所述行进方向上的行进步数,生成路
线记录,所述路线记录用于为所述用户导航。
8.根据权利要求7所述的方法,其特征在于,所述路线记录中包含多
条记录,所述多条记录中的每一条记录包含所述用户的一个行进方向和所述
用户在所述一个行进方向上的行进步数;
在所述根据保存的行进方向和所述用户在所述行进方向上的行进步数,
生成路线记录之后,所述方法还包括:
读取所述路线记录中的第一记录和第二记录,所述第一记录为所述路线
记录中的任意一条记录,所述第二记录为与所述第一记录相邻的一条记录,
所述第一记录中包含第一行进方向和所述用户在所述第一行进方向上的行
进步数,所述第二记录中包含第二行进方向和所述用户在所述第二行进方向
上的行进步数;
计算所述第一行进方向和所述第二行进方向之间的偏移角度;
根据所述用户在所述第一行进方向上的行进步数、所述用户在所述第二
行进方向上的行进步数以及所述第一行进方向和所述第二行进方向之间的
偏移角度,结合预设公式,计算偏移步数;
若所述偏移步数小于第二预设步数阈值,则用第三记录替换所述路线记
录中的所述第一记录和所述第二记录,所述第三记录中包含第三行进方向和
所述用户在所述第三行进方向上的行进步数;
其中,所述预设公式为:
<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab</mi> <mi>sin</mi> <mi>C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>
h表示所述偏移步数,a表示所述用户在所述第一行进方向上的行进步
数,b表示所述用户在所述第二行进方向上的行进步数,C表示所述第一行
进方向和所述第二行进方向之间的偏移角度,sin表示正弦,cos表示余弦;
所述第三行进方向为以所述用户在所述第一行进方向上的行进步数为
大小、以所述第一行进方向为方向的矢量,与以所述用户在所述第二行进方
向上的行进步数为大小、以所述第二行进方向为方向的矢量的矢量和所表示
的矢量的方向,所述用户在所述第三行进方向上的行进步数为所述矢量和所
表示的矢量的大小。
9.一种导航装置,其特征在于,所述导航装置包括:
方向识别单元,用于实时识别用户的行进方向;
步数记录单元,用于实时记录所述用户的行进步数;
保存单元,用于若识别到所述用户在第一时刻的行进方向与所述用户在
第二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存所述用户在
所述第二时刻的行进方向和所述用户在所述第二时刻的行进方向上的行进
步数;
其中,所述第一时刻为当前时刻,所述第二时刻在所述第一时刻之前,
所述第二时刻与所述第一时刻间隔预设时间。
10.根据权利要求9所述的导航装置,其特征在于,所述保存单元,包
括:
获取模块,用于获取所述步数记录单元记录的所述用户在所述第二时刻
的行进方向上的行进步数;
保存模块,用于若所述步数记录单元记录的所述用户在所述第一时刻的
行进方向上的行进步数大于等于第一预设步数阈值,则保存所述方向识别单
元识别到的所述用户在所述第二时刻的行进方向和所述获取模块获取的所
述步数记录单元记录的所述用户在所述第二时刻的行进方向上的行进步数。
11.根据权利要求9所述的导航装置,其特征在于,所述导航装置还包
括:
步数获取单元,用于在所述保存单元保存所述用户在所述第二时刻的行
进方向和所述用户在所述第二时刻的行进方向上的行进步数之后,获取所述
步数记录单元记录的所述用户在所述第一时刻的行进方向上的行进步数;
所述保存单元,具体用于若所述方向识别单元识别到所述用户在第三时
刻的行进方向与所述用户在所述第一时刻的行进方向之间的偏移角度大于
所述预设角度阈值,则保存所述用户在所述第一时刻的行进方向和所述用户
在所述第一时刻的行进方向上的行进步数,所述第三时刻在所述第一时刻之
后;
优化单元,用于若所述步数获取单元获取的所述用户在所述第一时刻的
行进方向上的行进步数小于所述第一预设步数阈值,且所述方向识别单元识
别到所述用户在所述第三时刻的行进方向与所述用户在所述第二时刻的行
进方向之间的偏移角度大于所述预设角度阈值,则将保存的所述用户在所述
第二时刻的行进方向上的行进步数更新为所述用户在所述第二时刻的行进
方向上的行进步数与所述用户在所述第一时刻的行进方向上的行进步数之
和,并删除保存的所述用户在所述第一时刻的行进方向和所述用户在所述第
一时刻的行进方向上的行进步数。
12.根据权利要求9所述的导航装置,其特征在于,所述导航装置还包
括:
步数获取单元,用于在所述保存单元保存所述用户在所述第二时刻的行
进方向和所述用户在所述第二时刻的行进方向上的行进步数之后,获取所述
步数记录单元记录的所述用户在所述第一时刻的行进方向上的行进步数;
所述保存单元,具体用于若所述方向识别单元识别到所述用户在第三时
刻的行进方向与所述用户在所述第一时刻的行进方向之间的偏移角度大于
所述预设角度阈值,则保存所述用户在所述第一时刻的行进方向和所述用户
在所述第一时刻的行进方向上的行进步数,所述第三时刻在所述第一时刻之
后;
优化单元,用于若所述步数获取单元获取的所述用户在所述第一时刻的
行进方向上的行进步数小于所述第一预设步数阈值,且所述方向识别单元识
别到所述用户在所述第三时刻的行进方向与所述用户在所述第二时刻的行
进方向之间的偏移角度小于等于所述预设角度阈值,则将保存的所述用户在
所述第二时刻的行进方向上的行进步数更新为所述用户在所述第二时刻的
行进方向上的行进步数、所述用户在所述第一时刻的行进方向上的行进步数
以及所述用户在所述第三时刻的行进方向上的行进步数之和,并删除保存的
所述用户在所述第一时刻的行进方向和所述用户在所述第一时刻的行进方
向上的行进步数。
13.根据权利要求9-12中任一项所述的导航装置,其特征在于,所述
导航装置还包括:
接收单元,用于接收终止指令;
所述保存单元,还用于保存终止方向和所述用户在所述终止方向上的行
进步数,所述终止方向为接收到所述终止指令时识别到的所述用户的行进方
向。
14.根据权利要求13所述的导航装置,其特征在于,所述导航装置还
包括:
位置获取单元,用于在所述保存单元保存终止方向和所述用户在所述终
止方向上的行进步数之后,获取接收到所述终止指令时所述用户的位置信
息;
所述保存单元,还用于保存所述位置信息。
15.根据权利要求14所述的导航装置,其特征在于,所述导航装置还
包括:
路线生成单元,用于根据保存的行进方向和所述用户在所述行进方向上
的行进步数,生成路线记录,所述路线记录用于为所述用户导航。
16.根据权利要求15所述的导航装置,其特征在于,所述路线记录中
包含多条记录,所述多条记录中的每一条记录包含所述用户的一个行进方向
和所述用户在所述一个行进方向上的行进步数;
所述导航装置,还包括:
读取单元,用于在所述路线生成单元根据保存的行进方向和所述用户在
所述行进方向上的行进步数,生成路线记录之后,读取所述路线记录中的第
一记录和第二记录,所述第一记录为所述路线记录中的任意一条记录,所述
第二记录为与所述第一记录相邻的一条记录,所述第一记录中包含第一行进
方向和所述用户在所述第一行进方向上的行进步数,所述第二记录中包含第
二行进方向和所述用户在所述第二行进方向上的行进步数;
计算单元,用于计算所述第一行进方向和所述第二行进方向之间的偏移
角度;
所述计算单元,还用于根据所述用户在所述第一行进方向上的行进步
数、所述用户在所述第二行进方向上的行进步数以及所述第一行进方向和所
述第二行进方向之间的偏移角度,结合预设公式,计算偏移步数;
替换单元,用于若所述偏移步数小于第二预设步数阈值,则用第三记录
替换所述路线记录中的所述第一记录和所述第二记录,所述第三记录中包含
第三行进方向和所述用户在所述第三行进方向上的行进步数;
其中,所述预设公式为:
<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab</mi> <mi>sin</mi> <mi>C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>
h表示所述偏移步数,a表示所述用户在所述第一行进方向上的行进步
数,b表示所述用户在所述第二行进方向上的行进步数,C表示所述第一行
进方向和所述第二行进方向之间的偏移角度,sin表示正弦,cos表示余弦;
所述第三行进方向为以所述用户在所述第一行进方向上的行进步数为
大小、以所述第一行进方向为方向的矢量,与以所述用户在所述第二行进方
向上的行进步数为大小、以所述第二行进方向为方向的矢量的矢量和所表示
的矢量的方向,所述用户在所述第三行进方向上的行进步数为所述矢量和所
表示的矢量的大小。

说明书

一种导航方法及装置

技术领域

本发明涉及通信技术领域,尤其涉及一种导航方法及装置。

背景技术

随着智能手机、平板电脑等用户终端的发展,越来越多的用户终端开
始为用户提供导航功能。

现有技术中,用户终端主要通过全球定位系统(英文:Global
Positioning System,缩写:GPS)为用户提供导航功能。用户终端可以
通过GPS实时获取用户的位置,并记录用户从出发地到目的地所经过的
路线,当用户需要从目的地返回出发地时,用户终端可以通过GPS获取
用户的当前位置,并结合之前记录的路线,计算出用户从目的地返回出发
地的路线,并提示用户按照计算出的路线返回出发地,从而为用户导航。

但是,对于室内或地下停车场等GPS不能覆盖的环境,上述导航方
法不可用。因此,需要提出一种可以在GPS不能覆盖的环境中为用户导
航的方法。

发明内容

本发明实施例提供一种导航方法及装置,用以在GPS不能覆盖的环
境中为用户导航。

本发明实施例的第一方面,提供一种导航方法,所述方法包括:

实时记录所述用户的行进步数;

若识别到所述用户在第一时刻的行进方向与所述用户在第二时刻的
行进方向之间的偏移角度大于预设角度阈值,则保存所述用户在所述第二
时刻的行进方向和所述用户在所述第二时刻的行进方向上的行进步数;

其中,所述第一时刻为当前时刻,所述第二时刻在所述第一时刻之前,
所述第二时刻与所述第一时刻间隔预设时间。

结合第一方面,在第一方面的第一种可能的实现方式中,所述保存所
述用户在所述第二时刻的行进方向和所述用户在所述第二时刻的行进方
向上的行进步数,包括:

获取记录的所述用户在所述第二时刻的行进方向上的行进步数;

若记录的所述用户在所述第一时刻的行进方向上的行进步数大于等
于第一预设步数阈值,则保存所述用户在所述第二时刻的行进方向和所述
用户在所述第二时刻的行进方向上的行进步数。

结合第一方面,在第一方面的第二种可能的实现方式中,在所述保存
所述用户在所述第二时刻的行进方向和所述用户在所述第二时刻的行进
方向上的行进步数之后,所述方法还包括:

获取记录的所述用户在所述第一时刻的行进方向上的行进步数;

若识别到所述用户在第三时刻的行进方向与所述用户在所述第一时
刻的行进方向之间的偏移角度大于所述预设角度阈值,则保存所述用户在
所述第一时刻的行进方向和所述用户在所述第一时刻的行进方向上的行
进步数,所述第三时刻在所述第一时刻之后;

若所述用户在所述第一时刻的行进方向上的行进步数小于所述第一
预设步数阈值,且所述用户在所述第三时刻的行进方向与所述用户在所述
第二时刻的行进方向之间的偏移角度大于所述预设角度阈值,则将保存的
所述用户在所述第二时刻的行进方向上的行进步数更新为所述用户在所
述第二时刻的行进方向上的行进步数与所述用户在所述第一时刻的行进
方向上的行进步数之和,并删除保存的所述用户在所述第一时刻的行进方
向和所述用户在所述第一时刻的行进方向上的行进步数。

结合第一方面,在第一方面的第三种可能的实现方式中,在所述保存
所述用户在所述第二时刻的行进方向和所述用户在所述第二时刻的行进
方向上的行进步数之后,所述方法还包括:

获取记录的所述用户在所述第一时刻的行进方向上的行进步数;

若识别到所述用户在第三时刻的行进方向与所述用户在所述第一时
刻的行进方向之间的偏移角度大于所述预设角度阈值,则保存所述用户在
所述第一时刻的行进方向和所述用户在所述第一时刻的行进方向上的行
进步数,所述第三时刻在所述第一时刻之后;

若所述用户在所述第一时刻的行进方向上的行进步数小于所述第一
预设步数阈值,且所述用户在所述第三时刻的行进方向与所述用户在所述
第二时刻的行进方向之间的偏移角度小于等于所述预设角度阈值,则将保
存的所述用户在所述第二时刻的行进方向上的行进步数更新为所述用户
在所述第二时刻的行进方向上的行进步数、所述用户在所述第一时刻的行
进方向上的行进步数以及所述用户在所述第三时刻的行进方向上的行进
步数之和,并删除保存的所述用户在所述第一时刻的行进方向和所述用户
在所述第一时刻的行进方向上的行进步数。

结合第一方面和上述可能的实现方式,在第一方面的第四种可能的实
现方式中,所述方法还包括:

若接收到终止指令,则保存终止方向和所述用户在所述终止方向上的
行进步数,所述终止方向为接收到所述终止指令时识别到的所述用户的行
进方向。

结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的
实现方式中,在所述保存终止方向和所述用户在所述终止方向上的行进步
数之后,所述方法还包括:

获取接收到所述终止指令时所述用户的位置信息,并保存所述位置信
息。

结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的
实现方式中,所述方法还包括:

根据保存的行进方向和所述用户在所述行进方向上的行进步数,生成
路线记录,所述路线记录用于为所述用户导航。

结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的
实现方式中,所述路线记录中包含多条记录,所述多条记录中的每一条记
录包含所述用户的一个行进方向和所述用户在所述一个行进方向上的行
进步数;

在所述根据保存的行进方向和所述用户在所述行进方向上的行进步
数,生成路线记录之后,所述方法还包括:

读取所述路线记录中的第一记录和第二记录,所述第一记录为所述路
线记录中的任意一条记录,所述第二记录为与所述第一记录相邻的一条记
录,所述第一记录中包含第一行进方向和所述用户在所述第一行进方向上
的行进步数,所述第二记录中包含第二行进方向和所述用户在所述第二行
进方向上的行进步数;

计算所述第一行进方向和所述第二行进方向之间的偏移角度;

根据所述用户在所述第一行进方向上的行进步数、所述用户在所述第
二行进方向上的行进步数以及所述第一行进方向和所述第二行进方向之
间的偏移角度,结合预设公式,计算偏移步数;

若所述偏移步数小于第二预设步数阈值,则用第三记录替换所述路线
记录中的所述第一记录和所述第二记录,所述第三记录中包含第三行进方
向和所述用户在所述第三行进方向上的行进步数;

其中,所述预设公式为:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab </mi> <mi>sin</mi> <mi> C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>

h表示所述偏移步数,a表示所述用户在所述第一行进方向上的行进
步数,b表示所述用户在所述第二行进方向上的行进步数,C表示所述第
一行进方向和所述第二行进方向之间的偏移角度,sin表示正弦,cos表示
余弦;

所述第三行进方向为以所述用户在所述第一行进方向上的行进步数
为大小、以所述第一行进方向为方向的矢量,与以所述用户在所述第二行
进方向上的行进步数为大小、以所述第二行进方向为方向的矢量的矢量和
所表示的矢量的方向,所述用户在所述第三行进方向上的行进步数为所述
矢量和所表示的矢量的大小。

本发明实施例的第二方面,提供一种导航装置,所述导航装置包括:

方向识别单元,用于实时识别用户的行进方向;

步数记录单元,用于实时记录所述用户的行进步数;

保存单元,用于若识别到所述用户在第一时刻的行进方向与所述用户
在第二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存所述用
户在所述第二时刻的行进方向和所述用户在所述第二时刻的行进方向上
的行进步数;

其中,所述第一时刻为当前时刻,所述第二时刻在所述第一时刻之前,
所述第二时刻与所述第一时刻间隔预设时间。

结合第二方面,在第二方面的第一种可能的实现方式中,所述保存单
元,包括:

获取模块,用于获取所述步数记录单元记录的所述用户在所述第二时
刻的行进方向上的行进步数;

保存模块,用于若所述步数记录单元记录的所述用户在所述第一时刻
的行进方向上的行进步数大于等于第一预设步数阈值,则保存所述方向识
别单元识别到的所述用户在所述第二时刻的行进方向和所述获取模块获
取的所述步数记录单元记录的所述用户在所述第二时刻的行进方向上的
行进步数。

结合第二方面,在第二方面的第二种可能的实现方式中,所述导航装
置还包括:

步数获取单元,用于在所述保存单元保存所述用户在所述第二时刻的
行进方向和所述用户在所述第二时刻的行进方向上的行进步数之后,获取
所述步数记录单元记录的所述用户在所述第一时刻的行进方向上的行进
步数;

所述保存单元,具体用于若所述方向识别单元识别到所述用户在第三
时刻的行进方向与所述用户在所述第一时刻的行进方向之间的偏移角度
大于所述预设角度阈值,则保存所述用户在所述第一时刻的行进方向和所
述用户在所述第一时刻的行进方向上的行进步数,所述第三时刻在所述第
一时刻之后;

优化单元,用于若所述步数获取单元获取的所述用户在所述第一时刻
的行进方向上的行进步数小于所述第一预设步数阈值,且所述方向识别单
元识别到所述用户在所述第三时刻的行进方向与所述用户在所述第二时
刻的行进方向之间的偏移角度大于所述预设角度阈值,则将保存的所述用
户在所述第二时刻的行进方向上的行进步数更新为所述用户在所述第二
时刻的行进方向上的行进步数与所述用户在所述第一时刻的行进方向上
的行进步数之和,并删除保存的所述用户在所述第一时刻的行进方向和所
述用户在所述第一时刻的行进方向上的行进步数。

结合第二方面,在第二方面的第三种可能的实现方式中,所述导航装
置还包括:

步数获取单元,用于在所述保存单元保存所述用户在所述第二时刻的
行进方向和所述用户在所述第二时刻的行进方向上的行进步数之后,获取
所述步数记录单元记录的所述用户在所述第一时刻的行进方向上的行进
步数;

所述保存单元,具体用于若所述方向识别单元识别到所述用户在第三
时刻的行进方向与所述用户在所述第一时刻的行进方向之间的偏移角度
大于所述预设角度阈值,则保存所述用户在所述第一时刻的行进方向和所
述用户在所述第一时刻的行进方向上的行进步数,所述第三时刻在所述第
一时刻之后;

优化单元,用于若所述步数获取单元获取的所述用户在所述第一时刻
的行进方向上的行进步数小于所述第一预设步数阈值,且所述方向识别单
元识别到所述用户在所述第三时刻的行进方向与所述用户在所述第二时
刻的行进方向之间的偏移角度小于等于所述预设角度阈值,则将保存的所
述用户在所述第二时刻的行进方向上的行进步数更新为所述用户在所述
第二时刻的行进方向上的行进步数、所述用户在所述第一时刻的行进方向
上的行进步数以及所述用户在所述第三时刻的行进方向上的行进步数之
和,并删除保存的所述用户在所述第一时刻的行进方向和所述用户在所述
第一时刻的行进方向上的行进步数。

结合第二方面和上述可能的实现方式中,在第二方面的第四种可能的
实现方式中,所述导航装置还包括:

接收单元,用于接收终止指令;

所述保存单元,还用于保存终止方向和所述用户在所述终止方向上的
行进步数,所述终止方向为接收到所述终止指令时识别到的所述用户的行
进方向。

结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的
实现方式中,所述导航装置还包括:

位置获取单元,用于在所述保存单元保存终止方向和所述用户在所述
终止方向上的行进步数之后,获取接收到所述终止指令时所述用户的位置
信息;

所述保存单元,还用于保存所述位置信息。

结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的
实现方式中,所述导航装置还包括:

路线生成单元,用于根据保存的行进方向和所述用户在所述行进方向
上的行进步数,生成路线记录,所述路线记录用于为所述用户导航。

结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的
实现方式中,所述路线记录中包含多条记录,所述多条记录中的每一条记
录包含所述用户的一个行进方向和所述用户在所述一个行进方向上的行
进步数;

所述导航装置,还包括:

读取单元,用于在所述路线生成单元根据保存的行进方向和所述用户
在所述行进方向上的行进步数,生成路线记录之后,读取所述路线记录中
的第一记录和第二记录,所述第一记录为所述路线记录中的任意一条记
录,所述第二记录为与所述第一记录相邻的一条记录,所述第一记录中包
含第一行进方向和所述用户在所述第一行进方向上的行进步数,所述第二
记录中包含第二行进方向和所述用户在所述第二行进方向上的行进步数;

计算单元,用于计算所述第一行进方向和所述第二行进方向之间的偏
移角度;

所述计算单元,还用于根据所述用户在所述第一行进方向上的行进步
数、所述用户在所述第二行进方向上的行进步数以及所述第一行进方向和
所述第二行进方向之间的偏移角度,结合预设公式,计算偏移步数;

替换单元,用于若所述偏移步数小于第二预设步数阈值,则用第三记
录替换所述路线记录中的所述第一记录和所述第二记录,所述第三记录中
包含第三行进方向和所述用户在所述第三行进方向上的行进步数;

其中,所述预设公式为:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab </mi> <mi>sin</mi> <mi> C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>

h表示所述偏移步数,a表示所述用户在所述第一行进方向上的行进
步数,b表示所述用户在所述第二行进方向上的行进步数,C表示所述第
一行进方向和所述第二行进方向之间的偏移角度,sin表示正弦,cos表示
余弦;

所述第三行进方向为以所述用户在所述第一行进方向上的行进步数
为大小、以所述第一行进方向为方向的矢量,与以所述用户在所述第二行
进方向上的行进步数为大小、以所述第二行进方向为方向的矢量的矢量和
所表示的矢量的方向,所述用户在所述第三行进方向上的行进步数为所述
矢量和所表示的矢量的大小。

本发明实施例提供的导航方法和装置,实时识别用户的行进方向;实
时记录用户的行进步数;若识别到用户在第一时刻的行进方向与用户在第
二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二
时刻的行进方向和用户在第二时刻的行进方向上的行进步数,即当用户的
行进方向发生改变时,保存行进方向改变之前用户的行进方向以及用户在
该方向上的行进步数。当用户需要返回出发地时,只需按照已保存的行进
方向的反方向行进与保存的行进步数相同的步数即可返回出发地,整个过
程中不需要使用GPS,因此,本发明实施例的方法可以在GPS不能覆盖
的环境中为用户进行导航。

附图说明

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

图1为本发明实施例提供的一种导航方法的流程图;

图2为本发明实施例提供的另一种导航方法的流程图;

图3为本发明实施例提供的一种路线记录的示意图;

图4为本发明实施例提供的另一种导航方法的流程图;

图5为本发明实施例提供的另一种导航方法的流程图;

图6为本发明实施例提供的一种用户的行进方向和行进步数的示意
图;

图7为本发明实施例提供的另一种导航方法的流程图;

图8为本发明实施例提供的另一种路线记录的示意图;

图9为本发明实施例提供的一种导航装置的组成示意图;

图10为本发明实施例提供的另一种导航装置的组成示意图;

图11为本发明实施例提供的另一种导航装置的组成示意图;

图12为本发明实施例提供的另一种导航装置的组成示意图;

图13为本发明实施例提供的另一种导航装置的组成示意图;

图14为本发明实施例提供的另一种导航装置的组成示意图;

图15为本发明实施例提供的另一种导航装置的组成示意图;

图16为本发明实施例提供的另一种导航装置的组成示意图;

图17为本发明实施例提供的另一种导航装置的组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进
行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,
而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没
有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的
范围。

本发明实施例提供一种导航方法,如图1所示,该方法包括:

S101、导航装置实时识别用户的行进方向。

其中,导航装置可以通过电子罗盘来识别用户的行进方向,也可以通
过导航装置中的其他具有方向识别功能的模块来识别用户的行进方向。导
航装置可以为智能手机、平板电脑等。

S102、导航装置实时记录用户的行进步数。

其中,导航装置可以通过计步器来实时记录用户的行进步数,也可以
通过导航装置中的其他具有计步功能的模块来记录用户的行进步数。

S103、若导航装置识别到用户在第一时刻的行进方向与用户在第二时
刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二时刻
的行进方向和用户在第二时刻的行进方向上的行进步数。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。预设时间可以根据需要进行设置,例如,预设时
间可以设为100毫秒。预设角度阈值也可以根据需要进行设置,例如,预
设角度阈值可以为60°,本发明实施例这里对预设角度阈值的具体值不做
限定。

若导航装置识别到用户在第一时刻的行进方向与用户在第二时刻的
行进方向之间的偏移角度大于预设角度阈值,则表示用户的行进方向发生
改变。用户在第二时刻的行进方向即行进方向改变之前用户的行进方向,
用户在第一时刻的行进方向即行进方向改变之后用户的行进方向。当用户
的行进方向发生改变时,保存行进方向改变之前用户的行进方向以及用户
在该方向上的行进步数。例如,用户的行进方向由向东方向改变为向南方
向时,则保存向东方向和用户在向东方向上的行进步数,假设用户向东行
进20步后,向南行进,则用户在向东方向上的行进步数为20步。假设用
户向南行进30步后又向西行进,则当用户的行进方向由向南方向改变为
向西方向时,保存向南方向和用户在向南方向上的行进步数(30步)。

需要说明的是,第一时刻为当前时刻,第一时刻随着时间的推移不断
变化。S103可能会重复执行,即当用户的行进方向发生改变时,就保存
行进方向改变之前用户的行进方向以及用户在该方向上的行进步数。

本发明实施例提供的导航方法,导航装置实时识别用户的行进方向;
导航装置实时记录用户的行进步数;若导航装置识别到用户在第一时刻的
行进方向与用户在第二时刻的行进方向之间的偏移角度大于预设角度阈
值,则保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的
行进步数,即当用户的行进方向发生改变时,保存行进方向改变之前用户
的行进方向以及用户在该方向上的行进步数。当用户需要返回出发地时,
只需按照已保存的行进方向的反方向行进与保存的行进步数相同的步数
即可返回出发地,整个过程中不需要使用GPS,因此,本发明实施例的方
法可以在GPS不能覆盖的环境中为用户进行导航。

本发明实施例还提供一种导航方法,如图2所示,该方法包括:

S201、导航装置接收启动记录指令。

其中,启动记录指令用于指示导航装置开始识别用户的行进方向和记
录用户的行进步数。用户可以通过按键输入启动记录指令,或者通过语音
输入启动记录指令。本发明实施例对启动记录指令的具体形式不做限定。

S202、导航装置实时识别用户的行进方向。

S203、导航装置实时记录用户的行进步数。

S204、导航装置判断用户在第一时刻的行进方向与用户在第二时刻的
行进方向之间的偏移角度是否大于预设角度阈值。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。预设时间可以根据需要进行设置,例如,当预设
时间为100毫秒时,导航装置需要周期性的判断用户在当前时刻的行进方
向与用户在100毫秒之前的行进方向之间的偏移角度是否大于预设角度
阈值。

当用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的
偏移角度大于预设角度阈值时,表示用户的行进方向发生改变,执行
S205;当用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的
偏移角度小于等于预设角度阈值时,表示用户的行进方向未发生改变,导
航装置则继续记录用户在当前时刻的行进方向上的行进步数。

S205、导航装置保存用户在第二时刻的行进方向和用户在第二时刻的
行进方向上的行进步数。

S206、导航装置判断是否接收到终止指令。

其中,终止指令用于指示导航装置终止记录用户的行进方向和行进步
数。用户可以通过按键输入终止指令,或者通过语音输入终止指令。本发
明实施例对终止指令的具体形式不做限定。

当导航装置接收到终止指令时,执行S207;当导航装置未接收到终
止指令时,导航装置继续识别用户在当前时刻的行进方向和记录用户在当
前时刻的行进方向上的行进步数,导航装置重复执行S204-S206,其中,
第一时刻实时变化,第一时刻始终为当前时刻。

S207、导航装置保存终止方向和用户在终止方向上的行进步数。

其中,终止方向为导航装置接收到终止指令时识别到的用户的行进方
向。

S208、导航装置获取接收到终止指令时用户的位置信息,并保存该位
置信息。

其中,位置信息为目的地的位置信息。位置信息可以通过文字、图片
或者语音的形式记录。当导航装置接收到终止指令时,导航装置可以指示
用户手动输入文字,以记录该位置信息;或者可以提示用户用相机拍照,
以记录该位置信息;或者可以提示用户通过录音记录该位置信息。示例性
的,当导航装置接收到终止指令时,用户位于1号电梯负一层,导航装置
可以指示用户手动输入“1号电梯负一层”这几个文字,以记录该位置信
息;导航装置还可以提示用户用相机拍照,用相机拍下电梯号和楼层;导
航装置还可以提示用户录音,以语音的形式记录用户的位置信息。

S209、导航装置根据保存的行进方向和用户在该行进方向上的行进步
数,生成路线记录。

其中,路线记录用于为用户导航,路线记录中包含多条记录,每一条
记录包含用户的一个行进方向和用户在该行进方向上的行进步数。路线记
录可以通过用户界面呈现给用户,具体的,路线记录可以以文字的形式呈
现,也可以以图形的形式呈现,本发明实施例对路线记录的形式不做限定。

示例性的,如图3所示,路线记录以图形的形式呈现。由图3可知,
用户从出发地出发,先沿A方向行进30步,再沿B方向行进40步,再
沿C方向行进20步,再沿D方向行进50步后到达目的地。假设出发地
为用户的停车位,目的地为商场入口(1号电梯负一层))。当用户从商
场返回停车位时,可以根据导航装置中保存的位置信息,走到相应的位置
(即1号电梯负一层),再按照导航装置根据路线记录生成的导航指令的
指示,沿D方向的反方向行进50步,再沿C方向的反方向行进20步,
再沿B方向的反方向行进40步,再沿A方向的反方向行进30步,即可
到达出发地。

本发明实施例提供的导航方法,导航装置接收启动记录指令,导航装
置实时识别用户的行进方向;导航装置实时记录用户的行进步数;导航装
置判断用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的
偏移角度是否大于预设角度阈值;当用户在第一时刻的行进方向与用户在
第二时刻的行进方向之间的偏移角度大于预设角度阈值时,导航装置保存
用户在第二时刻的行进方向和用户在第二时刻的行进方向上的行进步数;
导航装置判断是否接收到终止指令;当导航装置接收到终止指令时,保存
终止方向和用户在终止方向上的行进步数;导航装置获取接收到终止指令
时用户的位置信息,并保存该位置信息;导航装置根据保存的行进方向和
用户在行进方向上的行进步数,生成路线记录。由于导航装置根据保存的
行进方向和行进步数可以唯一确定出用户的行进路线,因此,当用户需要
从目的地返回出发地时,只需按照路线记录中保存的行进方向的反方向行
进与保存的行进步数相同的步数即可返回出发地,整个过程中不需要使用
GPS,因此,本发明实施例的方法可以在GPS不能覆盖的环境中为用户
进行导航。

进一步的,如图4所示,图2中的S205可以替换为S205a-S205c。

S205a、导航装置获取记录的用户在第二时刻的行进方向上的行进步
数。

S205b、导航装置判断记录的用户在第一时刻的行进方向上的行进步
数是否大于第一预设步数阈值。

其中,第一预设步数阈值可以根据需要进行设置,例如,第一预设步
数预设可以为5步、10步等。

当导航装置记录的用户在第一时刻的行进方向上的行进步数大于第
一预设步数阈值时,执行S205c。

S205c、导航装置保存用户在第二时刻的行进方向和用户在第二时刻
的行进方向上的行进步数。

示例性的,用户在第二时刻的行进方向为向东方向,导航装置获取记
录的用户在向东方向上的行进步数为20步,假设第一预设步数为5步。
导航装置实时记录用户在向南方向上的行进步数,当导航装置记录的用户
在向南方向上的行进步数大于5步时,保存向东方向和用户在向东方向上
的行进步数(20步)。当用户在向南方向上行进1步后,又开始在向东
方向上行进时,用户向南方向上行进的这1步可以认为是干扰,在这种情
况下,导航装置并不保存向东方向和用户在向东方向上的行进步数(20
步),而是继续记录用户在向东方向上的行进步数,这样可以避免由于干
扰(如,用户走偏或走错路)导致的记录不准确的问题。

本发明实施例还提供一种导航方法,如图5所示,该方法包括:

S301、导航装置接收启动记录指令。

S302、导航装置实时识别用户的行进方向。

S303、导航装置实时记录用户的行进步数。

S304、导航装置判断用户在第一时刻的行进方向与用户在第二时刻的
行进方向之间的偏移角度是否大于预设角度阈值。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。当用户在第一时刻的行进方向与用户在第二时刻
的行进方向之间的偏移角度大于预设角度阈值时,表示用户的行进方向发
生改变,执行S305。

S305、导航装置保存用户在第二时刻的行进方向和用户在第二时刻的
行进方向上的行进步数。

S306、导航装置获取记录的用户在第一时刻的行进方向上的行进步
数。

S307、导航装置判断用户在第三时刻的行进方向与用户在第一时刻的
行进方向之间的偏移角度是否大于预设角度阈值。

其中,第三时刻在第一时刻之后。

S308、导航装置保存用户在第一时刻的行进方向和用户在第一时刻的
行进方向上的行进步数。

S309、导航装置判断用户在第一时刻的行进方向上的行进步数是否小
于第一预设步数阈值。

当用户在第一时刻的行进方向上的行进步数小于第一预设步数阈值
时,执行S310。

S310、导航装置判断用户在第三时刻的行进方向与用户在第二时刻的
行进方向之间的偏移角度是否大于预设角度阈值。

其中,第二时刻在第一时刻之前,第三时刻在第一时刻之后。当用户
在第三时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度大
于预设角度阈值时,执行S311。当用户在第三时刻的行进方向与用户在
第二时刻的行进方向之间的偏移角度小于等于预设角度阈值时,执行
S312。

S311、导航装置将保存的用户在第二时刻的行进方向上的行进步数更
新为用户在第二时刻的行进方向上的行进步数与用户在第一时刻的行进
方向上的行进步数之和,并删除保存的用户在第一时刻的行进方向和用户
在第一时刻的行进方向上的行进步数。

S312、导航装置将保存的用户在第二时刻的行进方向上的行进步数更
新为用户在第二时刻的行进方向上的行进步数、用户在第一时刻的行进方
向上的行进步数以及用户在第三时刻的行进方向上的行进步数之和,并删
除保存的用户在第一时刻的行进方向和用户在第一时刻的行进方向上的
行进步数。

示例性的,如图6(a)和6(b)所示,用户在第二时刻的行进方向
为A方向,用户在第一时刻的行进方向为B方向,用户在第三时刻的行进
方向为C方向。假设预设角度阈值为60°,第一预设步数阈值为5步。

如图6(a)所示,A方向与B方向之间的偏移角度为∠1,∠1大于
60°,B方向与C方向之间的偏移角度为∠2,∠2大于60°,则导航装
置保存A方向和用户在A方向上的行进步数(30步),导航装置还保存
B方向和用户在B方向上的行进步数(3步)。导航装置判断出用户在B
方向上的行进步数小于5步,则判断C方向与A方向之间的偏移角度是
否大于60°。图6(a)中,C方向与A方向之间的偏移角度(∠3)大
于60°,则导航装置将保存的用户在A方向上的行进步数(30步)更新
为用户在A方向上的行进步数(30步)与用户在B方向上的行进步数(3
步)之和,即33步,并删除保存的B方向和用户在B方向上的行进步数。

如图6(b)所示,A方向与B方向之间的偏移角度为∠1,∠1大于
60°,B方向与C方向之间的偏移角度为∠2,∠2大于60°,则导航装
置保存A方向和用户在A方向上的行进步数(30步),导航装置还保存
B方向和用户在B方向上的行进步数(3步)。导航装置判断出用户在B
方向上的行进步数小于5步,则判断C方向与A方向之间的偏移角度是
否大于60°。图6(b)中,C方向与A方向相同,即C方向与A方向之
间的偏移角度小于60°,则导航装置将保存的用户在A方向上的行进步
数(30步)更新为用户在A方向上的行进步数(30步)、用户在B方向
上的行进步数(3步)以及用户在C方向上的行进步数(15步)之和,
即48步,并删除保存的B方向和用户在B方向上的行进步数。

S313、导航装置判断是否接收到终止指令。

当接收到终止指令时,执行S314。

S314、导航装置保存终止方向和用户在终止方向上的行进步数。

其中,终止方向为导航装置接收到终止指令时识别到的用户的行进方
向。

S315、导航装置获取接收到终止指令时用户的位置信息,并保存该位
置信息。

S316、导航装置根据保存的行进方向和用户在该行进方向上的行进步
数,生成路线记录。

本发明实施例提供的导航方法,导航装置保存了用户的每一个行进方
向和用户在每一个行进方向上的行进步数。由于导航装置根据保存的行进
方向和行进步数可以唯一确定出用户的行进路线,因此,当用户需要从目
的地返回出发地时,只需按照路线记录中保存的行进方向的反方向行进与
保存的行进步数相同的步数即可返回出发地,整个过程中不需要使用
GPS,因此,本发明实施例的方法可以在GPS不能覆盖的环境中为用户
进行导航。

本发明实施例还提供一种导航方法,如图7所示,该方法包括:

S401、导航装置接收启动记录指令。

S402、导航装置实时识别用户的行进方向。

S403、导航装置实时记录用户的行进步数。

S404、导航装置判断用户在第一时刻的行进方向与用户在第二时刻的
行进方向之间的偏移角度是否大于预设角度阈值。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。

当用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的
偏移角度大于预设角度阈值时,表示用户的行进方向发生改变,执行
S405;当用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的
偏移角度小于等于预设角度阈值时,表示用户的行进方向未发生改变,导
航装置则继续记录用户在当前时刻的行进方向上的行进步数。

S405、导航装置保存用户在第二时刻的行进方向和用户在第二时刻的
行进方向上的行进步数。

S406、导航装置判断是否接收到终止指令。

其中,终止指令用于指示导航装置终止记录用户的行进方向和行进步
数。用户可以通过按键输入终止指令,或者通过语音输入终止指令。本发
明实施例对终止指令的具体形式不做限定。

当接收到终止指令时,执行S407;当未接收到终止指令时,导航装
置继续识别用户在当前时刻的行进方向和记录用户在当前时刻的行进方
向上的行进步数,重复执行S404-S406,其中,第一时刻实时变化,第一
时刻始终为当前时刻。

S407、导航装置保存终止方向和用户在终止方向上的行进步数。

其中,终止方向为导航装置接收到终止指令时识别到的用户的行进方
向。

S408、导航装置获取接收到终止指令时用户的位置信息,并保存该位
置信息。

S409、导航装置根据保存的行进方向和用户在该行进方向上的行进步
数,生成路线记录。

其中,路线记录的具体描述可以参考S209中的相关描述,本发明实
施例这里不再赘述。路线记录中包含多条记录,每一条记录包含用户的一
个行进方向和用户在该行进方向上的行进步数。

S410、导航装置读取路线记录中的第一记录和第二记录。

其中,第一记录为路线记录中的任意一条记录,第二记录为与第一记
录相邻的一条记录,第一记录中包含第一行进方向和用户在第一行进方向
上的行进步数,第二记录中包含第二行进方向和用户在第二行进方向上的
行进步数。

S411、导航装置计算第一行进方向和第二行进方向之间的偏移角度。

S412、导航装置根据用户在第一行进方向上的行进步数、用户在第二
行进方向上的行进步数以及第一行进方向和第二行进方向之间的偏移角
度,结合预设公式,计算偏移步数。

其中,预设公式为:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab </mi> <mi>sin</mi> <mi> C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>

h表示偏移步数,a表示用户在第一行进方向上的行进步数,b表示用
户在第二行进方向上的行进步数,C表示第一行进方向和第二行进方向之
间的偏移角度,sin表示正弦,cos表示余弦。

S413、导航装置判断偏移步数是否小于第二预设步数阈值。

当偏移步数小于第二预设步数阈值时,执行S414。

S414、导航装置用第三记录替换路线记录中的第一记录和第二记录。

其中,第三记录中包含第三行进方向和用户在第三行进方向上的行进
步数;第三行进方向为以用户在第一行进方向上的行进步数为大小、以第
一行进方向为方向的矢量,与以用户在第二行进方向上的行进步数为大
小、以第二行进方向为方向的矢量的矢量和所表示的矢量的方向,用户在
第三行进方向上的行进步数为矢量和所表示的矢量的大小。

示例性的,如图8所示,第一记录中包含A方向和用户在A方向上
的行进步数(40步),第二记录中包含B方向和用户在B方向上的行进
步数(10步),A方向和B方向之间的偏移角度为65°。第二预设步数
阈值可以根据需要进行设置,本实施例中以第二预设步数阈值为10步为
例进行说明。

导航装置根据用户在A方向上的行进步数(40步)、用户在B方向
上的行进步数(10步)以及A方向和B方向之间的偏移角度(65°),
计算出的偏移步数为:


由于计算出的偏移步数(8步)小于第二预设步数阈值(10步),因
此,导航装置用第三记录替换路线记录中的第一记录和第二记录。第三记
录中包含第三行进方向和用户在第三行进方向上的行进步数。其中,第三
行进方向为图8中的C方向,用户在第三行进方向上的行进步数为45(根
据计算得到)步。

本发明实施例提供的导航方法,导航装置保存了用户的每一个行进方
向和用户在每一个行进方向上的行进步数。由于导航装置根据保存的行进
方向和行进步数可以唯一确定出用户的行进路线,因此,当用户需要从目
的地返回出发地时,只需按照路线记录中保存的行进方向的反方向行进与
保存的行进步数相同的步数即可返回出发地,整个过程中不需要使用
GPS,因此,本发明实施例的方法可以在GPS不能覆盖的环境中为用户
进行导航。

本发明实施例还提供一种导航装置,如图9所示,该导航装置包括:
方向识别单元51、步数记录单元52、保存单元53。

方向识别单元51,用于实时识别用户的行进方向。

步数记录单元52,用于实时记录用户的行进步数。

保存单元53,用于若识别到用户在第一时刻的行进方向与用户在第
二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二
时刻的行进方向和用户在第二时刻的行进方向上的行进步数。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。

进一步的,如图10所示,在本发明实施例的一种情形中,保存单元
53,可以包括:获取模块53a和保存模块53b。

获取模块53a,用于获取步数记录单元52记录的用户在第二时刻的
行进方向上的行进步数。

保存模块53b,用于若步数记录单元52记录的用户在第一时刻的行
进方向上的行进步数大于等于第一预设步数阈值,则保存方向识别单元51
识别到的用户在第二时刻的行进方向和获取模块53a获取的步数记录单
元52记录的用户在第二时刻的行进方向上的行进步数。

进一步的,如图11所示,在本发明实施例的另一种情形中,该导航
装置还包括:步数获取单元54和优化单元55。

步数获取单元54,用于在保存单元53保存用户在第二时刻的行进方
向和用户在第二时刻的行进方向上的行进步数之后,获取步数记录单元52
记录的用户在第一时刻的行进方向上的行进步数。

保存单元53,具体用于若方向识别单元51识别到用户在第三时刻的
行进方向与用户在第一时刻的行进方向之间的偏移角度大于预设角度阈
值,则保存用户在第一时刻的行进方向和用户在第一时刻的行进方向上的
行进步数,第三时刻在第一时刻之后。

优化单元55,用于若步数获取单元54获取的用户在第一时刻的行进
方向上的行进步数小于第一预设步数阈值,且方向识别单元51识别到用
户在第三时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度
大于预设角度阈值,则将保存的用户在第二时刻的行进方向上的行进步数
更新为用户在第二时刻的行进方向上的行进步数与用户在第一时刻的行
进方向上的行进步数之和,并删除保存的用户在第一时刻的行进方向和用
户在第一时刻的行进方向上的行进步数。

在本发明实施例的另一种情形中,步数获取单元54,用于在保存单
元53保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的
行进步数之后,获取步数记录单元52记录的用户在第一时刻的行进方向
上的行进步数。

保存单元53,具体用于若方向识别单元51识别到用户在第三时刻的
行进方向与用户在第一时刻的行进方向之间的偏移角度大于预设角度阈
值,则保存用户在第一时刻的行进方向和用户在第一时刻的行进方向上的
行进步数,第三时刻在第一时刻之后。

优化单元55,用于若步数获取单元54获取的用户在第一时刻的行进
方向上的行进步数小于第一预设步数阈值,且方向识别单元51识别到用
户在第三时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度
小于等于预设角度阈值,则将保存的用户在第二时刻的行进方向上的行进
步数更新为用户在第二时刻的行进方向上的行进步数、用户在第一时刻的
行进方向上的行进步数以及用户在第三时刻的行进方向上的行进步数之
和,并删除保存的用户在第一时刻的行进方向和用户在第一时刻的行进方
向上的行进步数。

进一步的,如图12所示,该导航装置还包括:接收单元56。

接收单元56,用于接收终止指令。

保存单元53,还用于保存终止方向和用户在终止方向上的行进步数,
终止方向为接收到终止指令时识别到的用户的行进方向。

进一步的,如图13所示,该导航装置还包括:位置获取单元57。

位置获取单元57,用于在保存单元53保存终止方向和用户在终止方
向上的行进步数之后,获取接收到终止指令时用户的位置信息。

保存单元53,还用于保存位置信息。

进一步的,如图14所示,该导航装置还包括:路线生成单元58。

路线生成单元58,用于根据保存的行进方向和用户在行进方向上的
行进步数,生成路线记录,路线记录用于为用户导航。

进一步的,路线记录中包含多条记录,多条记录中的每一条记录包含
用户的一个行进方向和用户在该行进方向上的行进步数。如图15所示,
该导航装置还包括:读取单元59、计算单元510、替换单元511。

读取单元59,用于在路线生成单元58根据保存的行进方向和用户在
行进方向上的行进步数,生成路线记录之后,读取路线记录中的第一记录
和第二记录,第一记录为路线记录中的任意一条记录,第二记录为与第一
记录相邻的一条记录,第一记录中包含第一行进方向和用户在第一行进方
向上的行进步数,第二记录中包含第二行进方向和用户在第二行进方向上
的行进步数。

计算单元510,用于计算第一行进方向和第二行进方向之间的偏移角
度。

计算单元510,还用于根据用户在第一行进方向上的行进步数、用户
在第二行进方向上的行进步数以及第一行进方向和第二行进方向之间的
偏移角度,结合预设公式,计算偏移步数。

替换单元511,用于若偏移步数小于第二预设步数阈值,则用第三记
录替换路线记录中的第一记录和第二记录,第三记录中包含第三行进方向
和用户在第三行进方向上的行进步数。

其中,预设公式为:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab </mi> <mi>sin</mi> <mi> C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>

h表示偏移步数,a表示用户在第一行进方向上的行进步数,b表示用
户在第二行进方向上的行进步数,C表示第一行进方向和第二行进方向之
间的偏移角度,sin表示正弦,cos表示余弦。

第三行进方向为以用户在第一行进方向上的行进步数为大小、以第一
行进方向为方向的矢量,与以用户在第二行进方向上的行进步数为大小、
以第二行进方向为方向的矢量的矢量和所表示的矢量的方向,用户在第三
行进方向上的行进步数为矢量和所表示的矢量的大小。

需要说明的是,本发明实施例提供的导航装置中部分功能模块的具体
描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的导航装置,导航装置实时识别用户的行进方向;
导航装置实时记录用户的行进步数;若导航装置识别到用户在第一时刻的
行进方向与用户在第二时刻的行进方向之间的偏移角度大于预设角度阈
值,则保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的
行进步数,即当用户的行进方向发生改变时,保存行进方向改变之前用户
的行进方向以及用户在该方向上的行进步数。当用户需要返回出发地时,
只需按照已保存的行进方向的反方向行进与保存的行进步数相同的步数
即可返回出发地,整个过程中不需要使用GPS,因此,本发明实施例的方
法可以在GPS不能覆盖的环境中为用户进行导航。

本发明实施例还提供一种导航装置,如图16所示,该导航装置包括:
处理器61和存储器62。

处理器61,用于实时识别用户的行进方向;实时记录用户的行进步
数。

存储器62,用于若识别到用户在第一时刻的行进方向与用户在第二
时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二时
刻的行进方向和用户在第二时刻的行进方向上的行进步数。

其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与
第一时刻间隔预设时间。

进一步的,在本发明实施例的一种情形中,处理器61,具体用于获
取记录的用户在第二时刻的行进方向上的行进步数。

存储器62,具体用于若记录的用户在第一时刻的行进方向上的行进
步数大于等于第一预设步数阈值,则保存用户在第二时刻的行进方向和用
户在第二时刻的行进方向上的行进步数。

进一步的,在本发明实施例的另一种情形中,处理器61,还用于在
存储器62保存用户在第二时刻的行进方向和用户在第二时刻的行进方向
上的行进步数之后,获取记录的用户在第一时刻的行进方向上的行进步
数。

存储器62,还用于若识别到用户在第三时刻的行进方向与用户在第
一时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第一
时刻的行进方向和用户在第一时刻的行进方向上的行进步数,第三时刻在
第一时刻之后。

处理器61,还用于若用户在第一时刻的行进方向上的行进步数小于
第一预设步数阈值,且用户在第三时刻的行进方向与用户在第二时刻的行
进方向之间的偏移角度大于预设角度阈值,则将保存的用户在第二时刻的
行进方向上的行进步数更新为用户在第二时刻的行进方向上的行进步数
与用户在第一时刻的行进方向上的行进步数之和,并删除保存的用户在第
一时刻的行进方向和用户在第一时刻的行进方向上的行进步数;若用户在
第一时刻的行进方向上的行进步数小于第一预设步数阈值,且用户在第三
时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度小于等于
预设角度阈值,则将保存的用户在第二时刻的行进方向上的行进步数更新
为用户在第二时刻的行进方向上的行进步数、用户在第一时刻的行进方向
上的行进步数以及用户在第三时刻的行进方向上的行进步数之和,并删除
保存的用户在第一时刻的行进方向和用户在第一时刻的行进方向上的行
进步数。

进一步的,如图17所示,该导航装置包括:接收器63。

接收器63,用于接收终止指令。

存储器62,还用于保存终止方向和用户在终止方向上的行进步数,
终止方向为接收到终止指令时识别到的用户的行进方向。

进一步的,处理器61,还用于在保存终止方向和用户在终止方向上
的行进步数之后,获取接收到终止指令时用户的位置信息。

存储器62,还用于保存位置信息。

进一步的,处理器61,还用于根据保存的行进方向和用户在行进方
向上的行进步数,生成路线记录,路线记录用于为用户导航。

进一步的,路线记录中包含多条记录,多条记录中的每一条记录包含
用户的一个行进方向和用户在一个行进方向上的行进步数。

处理器61,还用于在根据保存的行进方向和用户在行进方向上的行
进步数,生成路线记录之后,读取路线记录中的第一记录和第二记录,第
一记录为路线记录中的任意一条记录,第二记录为与第一记录相邻的一条
记录,第一记录中包含第一行进方向和用户在第一行进方向上的行进步
数,第二记录中包含第二行进方向和用户在第二行进方向上的行进步数;
计算第一行进方向和第二行进方向之间的偏移角度;根据用户在第一行进
方向上的行进步数、用户在第二行进方向上的行进步数以及第一行进方向
和第二行进方向之间的偏移角度,结合预设公式,计算偏移步数;若偏移
步数小于第二预设步数阈值,则用第三记录替换路线记录中的第一记录和
第二记录,第三记录中包含第三行进方向和用户在第三行进方向上的行进
步数。

其中,预设公式为:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <mi>ab </mi> <mi>sin</mi> <mi> C</mi> </mrow> <msqrt> <msup> <mi>a</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>ab</mi> <mi>cos</mi> <mi>C</mi> </msqrt> </mfrac> </mrow>

h表示偏移步数,a表示用户在第一行进方向上的行进步数,b表示用
户在第二行进方向上的行进步数,C表示第一行进方向和第二行进方向之
间的偏移角度,sin表示正弦,cos表示余弦。

第三行进方向为以用户在第一行进方向上的行进步数为大小、以第一
行进方向为方向的矢量,与以用户在第二行进方向上的行进步数为大小、
以第二行进方向为方向的矢量的矢量和所表示的矢量的方向,用户在第三
行进方向上的行进步数为矢量和所表示的矢量的大小。

其中,处理器61、存储器62和接收器63之间通过总线连接并完成
相互间的通信。

处理器61可以为中央处理器(英文:central processing unit,缩写:
CPU),也可以为CPU和数字信号处理器(英文:digital signal processor,
缩写:DSP)的组合。

需要说明的是,本发明实施例提供的导航装置中部分功能模块的具体
描述可以参考方法实施例中的对应内容,本实施例这里不再详细赘述。

本发明实施例提供的导航装置,导航装置实时识别用户的行进方向;
导航装置实时记录用户的行进步数;若导航装置识别到用户在第一时刻的
行进方向与用户在第二时刻的行进方向之间的偏移角度大于预设角度阈
值,则保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的
行进步数,即当用户的行进方向发生改变时,保存行进方向改变之前用户
的行进方向以及用户在该方向上的行进步数。当用户需要返回出发地时,
只需按照已保存的行进方向的反方向行进与保存的行进步数相同的步数
即可返回出发地,整个过程中不需要使用GPS,因此,本发明实施例的方
法可以在GPS不能覆盖的环境中为用户进行导航。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解
到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实
际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将
装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分
功能。上述描述的系统,装置和单元的具体工作过程,可以参考上述方法
实施例中的对应过程,在此不再赘述。

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,
作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地
方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的
部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元
中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在
一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软
件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品
销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理
解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技
术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品
存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是
个人计算机,服务器,或者网络设备等)或处理器(英文:processor)
执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包
括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,缩写:
ROM)、随机存取存储器(英文:Random Access Memory,缩写:RAM)、
磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局
限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可
轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明
的保护范围应以所述权利要求的保护范围为准。

一种导航方法及装置.pdf_第1页
第1页 / 共33页
一种导航方法及装置.pdf_第2页
第2页 / 共33页
一种导航方法及装置.pdf_第3页
第3页 / 共33页
点击查看更多>>
资源描述

《一种导航方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种导航方法及装置.pdf(33页珍藏版)》请在专利查询网上搜索。

本发明实施例公开了一种导航方法及装置,涉及通信技术领域,用以在GPS不能覆盖的环境中为用户导航。具体方案为:实时识别用户的行进方向;实时记录用户的行进步数;若识别到用户在第一时刻的行进方向与用户在第二时刻的行进方向之间的偏移角度大于预设角度阈值,则保存用户在第二时刻的行进方向和用户在第二时刻的行进方向上的行进步数;其中,第一时刻为当前时刻,第二时刻在第一时刻之前,第二时刻与第一时刻间隔预设时间。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 测量;测试


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1