CN107003132B - 一种基于航位推算技术的校准方法和便携式电子设备 - Google Patents

一种基于航位推算技术的校准方法和便携式电子设备 Download PDF

Info

Publication number
CN107003132B
CN107003132B CN201580042885.4A CN201580042885A CN107003132B CN 107003132 B CN107003132 B CN 107003132B CN 201580042885 A CN201580042885 A CN 201580042885A CN 107003132 B CN107003132 B CN 107003132B
Authority
CN
China
Prior art keywords
calibration point
current position
value
parameter value
portable electronic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580042885.4A
Other languages
English (en)
Other versions
CN107003132A (zh
Inventor
陆晨曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107003132A publication Critical patent/CN107003132A/zh
Application granted granted Critical
Publication of CN107003132B publication Critical patent/CN107003132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/14Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by recording the course traversed by the object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Navigation (AREA)
  • Telephone Function (AREA)

Abstract

一种基于航位推算技术的校准方法,应用于便携式电子设备上,该便携式电子设备在预设的目标路径上运动,该目标路径上设置有至少两个校准点,该方法包括:便携式电子设备根据航位推算技术确定当前位置的坐标、当前位置的轨迹参数值和当前位置的运动方向(S401);其中,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一个;若运动方向为第一校准点至第二校准点,获取所述第二校准点的坐标(S402);检测到当前位置的轨迹参数值满足预设的校准条件时,将当前位置的坐标修正为第二校准点的坐标(S403)。

Description

一种基于航位推算技术的校准方法和便携式电子设备
技术领域
本发明涉及定位领域,尤其涉及一种基于航位推算技术的校准方法和便携式电子设备。
背景技术
航位推算技术是一种自主定位导航方式,具有功耗低和不依赖于外部设施的优点,其基本原理是:确定校正后的起始点的坐标,利用加速度传感器获得运动速度或距离,同时结合陀螺仪或地磁传感器输出的方向偏转信息估计出便携式电子设备的位置。然而随着时间推移,航位推算技术的定位误差会逐渐积累,造成定位精度不断降低,因此需要通过其他技术手段实现位置的校准。
对于航位推算技术中的行人航位推算而言,为了精确获得运动参数,需要在已知位置为起点的一段路径上进行训练,估计出运动参数。便携式电子设备在新的路径上运动时采用训练模式下得到的运动参数确定用户位置,用户在新的路径上的运动参数不再更新,也会进一步造成定位精度逐渐降低。
综上所述,目前的航位推送技术存在的问题是:定位误差具有累积效应,定位误差会随着时间而增大,定位精度差。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于航位推算技术的校准方法和便携式电子设备。可解决现有技术中的航位推算技术定位精度差的问题。
为了解决上述技术问题,本发明实施例第一方面提供了一种基于航位推算技术的校准方法,应用于便携式电子设备,包括:
根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点;
若所述运动方向为第一校准点至第二校准点,获取所述第二校准点的坐标;
检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面,在第一种可能的实现方式中,在所述目标路径为平滑的情况下,所述目标路径上的校准点为所述目标路径上轨迹参数值大于第一阈值的点,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种;或
在所述目标路径为非平滑的情况下,所述目标路径上的校准点为所述目标路径上的转折点。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述检测所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面,在第三种可能的实现方式中,所述根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向之前,还包括:
在所述目标路径为平滑的情况下,确定所述目标路径上各个校准点划分的子路径的轨迹参数值范围,所述校准点为所述目标路径上轨迹参数值大于第一阈值的点;
所述检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述检测到所述当前位置的轨迹参数值大于第二阈值,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于所述第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点与所述第二校准点的路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述计算得到的差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面的第二种可能的实现方式,在第五种可能的实现方式中,所述检测到所述当前位置的轨迹参数值大于第二阈值,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度;
将所述第一路径长度除以第二路径长度值得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去第二轨迹参数值的差值;
若所述差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面的第三种可能的实现方式,在第七种可能的实现方式中,所述检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第一方面以及第一方面的第一种可能实现方式至第七种可能实现方式中任意一种,在第八种可能的实现方式中,所述根据航位推算技术确定所述便携式电子设备当前位置的坐标、第一轨迹参数值和运动方向,包括:
根据行人航位推送技术和步长信息确定所述便携式电子设备的当前位置的坐标、所述当前位置第一轨迹参数值和所述当前位置的运动方向;
所述检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标之后,还包括:
获取所述第一校准点和所述第二校准点之间的路径长度;
统计所述便携式电子设备在所述第一校准点和所述第二校准点之间的m个运动状态,以及所述m个运动状态各自对应的步数;
根据所述m个运动状态、所述m个运动状态各自对应的步数以及所述第一校准点和所述第二校准点之间的路径长度获取新的步长信息。
本发明实施例第二方面提供了一种便携式电子设备,包括:
确定模块,用于根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点;
获取模块,用于在所述运动方向为第一校准点至第二校准点时获取所述第二校准点的坐标;
校准模块,用于检测到所述当前位置的轨迹参数值满足预设的校准条件时,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面,在第一种可能的实现方式中,
在所述目标路径为平滑的情况下,所述目标路径上的校准点为所述目标路径上轨迹参数值大于第一阈值的点;或
在所述目标路径为非平滑的情况下,所述目标路径上的校准点为所述目标路径上的转折点。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面,在第三种可能的实现方式中,还包括:
配置模块,用于在所述目标路径为平滑的情况下,确定所述目标路径上各个校准点划分的子路径的轨迹参数值范围,所述校准点为所述目标路径上轨迹参数值大于第一阈值的点;
其中,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述校准模块检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于所述第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点与所述第二校准点的路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述计算得到的差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面的第二种可能的实现方式,在第五种可能的实现方式中,所述校准模块检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面的第三种可能的实现方式,在第六种可能的实现方式中,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面的第三种可能的实现方式,在第七种可能的实现方式中,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,用于:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
结合第二方面及第二方面的第一种可能实现方式至第七种可能实现方式中的任意一种,在第八种可能的实现方式中,所述确定模块具体用于根据行人航位推送技术和步长信息确定所述便携式电子设备的当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;
所述便携式电子设备还包括:
长度获取模块,用于获取所述第一校准点和所述第二校准点之间的路径长度;
统计模块,用于统计所述便携式电子设备在所述第一校准点和所述第二校准点之间的m个运动状态,以及所述m个运动状态各自对应的步数;
步长计算模块,用于根据所述m个运动状态、所述m个运动状态各自对应的步数以及所述第一校准点和所述第二校准点之间的路径长度获取新的步长信息。
本发明实施例第三方面提供了一种便携式电子设备,包括:
一个或多个处理器、存储器、总线***、收发器以及一个或多个程序,所述处理器、所述存储器和所述收发器通过所述总线***相连;
其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述便携式电子设备执行时使所述便携式电子设备执行第一方面至第一方面的第八种可能的实施方式中任一项所述的方法。
本发明实施例第四方面提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被便携式电子设备执行时使所述便携式电子设备执行第一方面至第一方面的第八种可能的实施方式中任一项所述的方法。
实施本发明实施例,具有如下有益效果:
便携式电子设备在预设的目标路径上运动,目标路径上设置有校准点,便携式电子设备根据航位推算技术推算出当前位置,在当前位置的轨迹参数值满足预设的校准条件时,将当前位置的坐标修正为下一校准点的坐标,这样能在校准点上将航位推算技术的定位误差进行修正,避免定位误差的累积效应,提高航位推算技术的定位精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是示出根据一些实施例的具有触敏显示器112的便携式电子设备100的框图;
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图;
图2示出了根据一些实施例的具有触摸屏112的一种便携式电子设备100;
图3是根据一些实施例的具有显示器和触敏表面的一种示例性电子设备的框图;
图4是本发明实施例第一提供的一种基于航位推算技术的校准方法的流程示意图;
图5是本发明第二实施例提供的一种基于航位推算技术的校准方法的流程示意图;
图6是本发明第三实施例提供的一种基于航位推算技术的校准方法的流程示意图;
图7是本发明实施例提供的电子地图上设置的目标路径的示意图;
图8是本发明实施例提供的一种便携式电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在将详细地参考实施例,这些实施例的示例在附图中被示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的充分理解。但是,对本领域技术人员将显而易见的是本发明可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路、和网络,从而不会不必要地使实施例的方面晦涩难懂。
可以理解的是,虽然术语“第一”、“第二”等可能在本文中用来描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用来将一个元素与另一元素区分开。例如,第一阈值可以被命名为第二阈值,并且类似地,第二阈值可以被命名为第一阈值,而不背离本发明的范围。第一阈值和第二阈值二者都是阈值,但是它们可以不是同一阈值,在某些场景下也可以是同一阈值。
在本文中对本发明的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本发明的限制。如本在发明的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或其分组。
如本文中所用,根据上下文,术语“如果”可以被解释为意思是“当...时”或“在...后”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可以被解释为意思是“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
介绍了电子设备、用于这样的设备的用户界面、和用于使用这样的设备的相关联过程的实施例。在一些实施例中,设备是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式电子设备的示例性实施例包括但不限于搭载
Figure GDA0002773316690000071
Figure GDA0002773316690000072
或者其它操作***的便携式电子设备。也可以使用其它便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板电脑。还应当理解的是,在一些实施例中,设备不是便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机。
在下面的讨论中,介绍了一种包括显示器和触敏表面的电子设备。然而应当理解,电子设备可以包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操作杆。
设备通常支持多种应用程序,诸如以下中的一种或多种:画图应用程序、呈现应用程序、文字处理应用程序、网页创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、锻炼支持应用程序、相片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网络浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
可在设备上执行的各种应用程序可使用至少一个共用的物理用户接口设备,诸如触敏表面。触敏表面的一种或多种功能以及显示在设备上的相应信息可从一种应用程序调整和/或变化至下一种应用程序和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)可利用对于用户而言直观清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式电子设备的实施例。图1A是示出根据一些实施例的具有触敏显示器112的便携式电子设备100的框图。触敏显示器112有时为了方便被称为“触摸屏”,并且也可被称为是或者被叫做触敏显示器***,也可以被称为具有触敏表面(touch-sensitive surface)和显示屏(display)的显示器***。设备100可包括存储器102(其可包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、***设备接口118、RF电路***108、音频电路***110、扬声器111、麦克风113、输入/输出(I/O)子***106、其他输入控制设备116、和外部端口124。设备100可包括一个或多个光学传感器164。这些部件可通过一根或多根通信总线或信号线103进行通信。
应当理解,设备100只是一种便携式电子设备的一个示例,并且设备100可具有比所示出的更多或更少的部件,可组合两个或更多个部件,或者可具有这些部件的不同配置或布置。图1A中所示的各种部件可以硬件、软件方式或软硬件组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器102可以包括高速随机存取存储器,并且还可包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和***设备接口118)对存储器102的访问可由存储器控制器122来控制。
***设备接口118可以被用来将设备的输入和输出***设备耦接到CPU 120和存储器102。该一个或多个处理器120运行或执行存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能以及处理数据。在一些实施例中,该一个或多个处理器120包括图像信号处理器和双核或多核处理器。例如,存储器102中存储有程序代码,处理器120读取存储器102中的存储器代码用于执行:
根据航位推算技术确定所述便携式电子设备当前位置的坐标、该当前位置的轨迹参数值和该当前位置运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点;
若所述运动方向为第一校准点至第二校准点,获取所述第二校准点的坐标;
检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标。
在一些实施例中,***设备接口118、CPU 120、和控制器122可以被实现在单个芯片诸如芯片104上。在一些其他实施例中,它们可以被实现在独立的芯片上。
RF(射频)电路***108接收和发送RF信号,也被叫做电磁信号。RF电路***108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备通信。RF电路***108可包括用于执行这些功能的众所周知的电路***,包括但不限于天线***、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路***108可通过无线通信与网络以及其他设备通信,网络诸如是互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。无线通信可使用多种通信标准、协议和技术中的任何类型,包括但不限于全球移动通信***(GSM)、增强数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(WI-Fi)(例如,IEEE802.11a、IEEE802.11b、IEEE 802.11g和/或IEEE 802.11n)、因特网语音协议(VoIP)、Wi-MAX、电子邮件协议(例如,因特网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理现场协议(XPP)、用于即时消息和现场利用扩展的会话发起协议(SIMPLE)、即时消息和到场服务(IMPS))、和/或短消息服务(SMS)、或者其他任何适当的通信协议,包括在本文献提交日还未开发出的通信协议。
音频电路***110、扬声器111、和麦克风113提供用户与设备100之间的音频接口。音频电路***110从***设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听的声波。音频电路***110还接收由麦克风113根据声波转换来的电信号。音频电路***110将电信号转换为音频数据,并将音频数据传输到***设备接口118以进行处理。音频数据可由***设备接口118检索自和/或传输至存储器102和/或RF电路***108。在一些实施例中,音频电路***110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路***110与可移除的音频输入/输出***设备之间的接口,该***设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
I/O子***106将设备100上的输入/输出***设备,诸如触摸屏112和其他输入控制设备116,耦接到***设备接口118。I/O子***106可以包括显示控制器156和用于其他输入控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其他输入控制设备116接收电信号/发送电信号到其他输入控制设备116。所述其他输入控制设备116可包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击式转盘等等。在一些另选实施例中,输入控制器160可耦接到(或不耦接到)以下任一个:键盘、红外线端口、USB端口、和指针设备诸如鼠标。该一个或多个按钮(例如,图2中的208)可包括用于扬声器111和/或麦克风113的音量控制的上/下按钮。该一个或多个按钮可包括下压按钮(例如,图2中的206)。
触敏显示器112提供设备与用户之间的输入接口和输出接口。显示控制器156从触摸屏112接收电信号和/或向触摸屏112发送电信号。触摸屏112向用户显示视觉输出。视觉输出可包括图形、文本、图标、视频及它们的任何组合(统称为“图形”)。在一些实施例中,一些视觉输出或全部的视觉输出可对应于用户界面对象。
触摸屏112具有基于触觉和/或触觉接触从用户接受输入的触敏表面、传感器或传感器组。触摸屏112和显示控制器156(与存储器102中的任何相关联模块和/或指令集一起)检测触摸屏112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与显示在触摸屏112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在示例性实施例中,触摸屏112与用户之间的接触点对应于用户的手指。
触摸屏112可使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其他实施例中可使用其他显示技术。触摸屏112和显示控制器156可以利用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触摸屏112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一示例性实施例中,使用投射式互电容感测技术。
触摸屏112可以具有超过100dpi的视频分辨率。在一些实施例中,触摸屏具有大约160dpi的视频分辨率。用户可以利用任何合适的物体或附加物诸如触笔、手指等等,与触摸屏112接触。在一些实施例中,用户界面被设计为主要与基于手指的接触和手势一起工作,这与基于触笔的输入相比由于手指在触摸屏上接触面积更大而可能精确度更低。在一些实施例中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以执行用户所期望的动作。
在一些实施例中,除了触摸屏之外,设备100可包括用于激活或解除激活特定功能的触控板(未示出)。在一些实施例中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板可以是与触摸屏112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力***162,。电力***162可包括电力管理***、一个或多个电源(例如,电池、交流电(AC))、再充电***、电力故障检测电路、功率变换器或逆变器、电力状态指示器(例如,发光二极管(LED))和任何其他与便携式电子设备中电力的生成、管理和分配相关联的部件。
设备100还可包括一个或多个光学传感器164。图1A示出了耦接到I/O子***106中光学传感器控制器158的光学传感器。光学传感器164可包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收通过一个或多个透镜投射的光,并且将光转换为表示图像的数据。结合成像模块143(也称为相机模块),光学传感器164可以捕获静态图像或视频。在一些实施例中,一个或者多个光学传感器位于设备100的后部,与设备前部上的触摸屏显示器112相对,使得触摸屏显示器可用作用于静态图像和/或视频图像采集的取景器。在一些实施例中,另一个或者多个光学传感器位于设备的前部上,使得用户在触摸屏显示器上观看其它视频会议参与者的同时可以获得该用户的图像以用于视频会议。
设备100还可以包括一个或多个接近传感器166。图1A示出了耦接到***设备接口118的接近传感器166。作为另外一种选择,接近传感器166可耦接到I/O子***106中的输入控制器160。在一些实施例中,当电子设备被置于用户耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并禁用触摸屏112。
设备100还可包括一个或多个加速度计168。图1A示出了耦接到***设备接口118的加速度计168。作为另外一种选择,加速度计168可耦接到I/O子***106中的输入控制器160。在一些实施例中,信息基于对从该一个或多个加速度计所接收的数据的分析而在触摸屏显示器上以纵向视图或横向视图被显示。设备100可选地除了加速度计168之外还包括磁力仪(未示出)和GPS(或GLONASS或北斗或其它全球导航***)接收器(未示出),用于获得关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施例中,存储在存储器102中的软件部件包括操作***126、通信模块(或指令集)128、接触/移动模块(或指令集)130、图形模块(或指令集)132、文本输入模块(或指令集)134、全球定位***(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施例中,存储器102存储设备/全局内部状态157,如图1A和3中所示。设备/全局内部状态157包括以下中一者或多者:活动应用程序状态,用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,用于指示什么应用程序、视图或其它信息占据触摸屏显示器112的各个区域;传感器状态,包括从设备的各个传感器和输入控制设备116获得的信息;和关于设备的位置和姿态的位置信息。
操作***126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、ANDROID或嵌入式操作***(诸如Vx Works))包括用于控制和管理一般***任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且有利于各个硬件和软件部件之间的通信。此外,在一些实施例中,存储器102存储数字相机胶卷159和数字图像流水线161。
通信模块128有利于通过一个或多个外部端口124与其它设备通信,并且还包括用于处理由RF电路***108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,因特网、无线LAN等)耦接。在一些实施例中,外部端口是与iPod(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的以及/或者与其兼容的多针(例如,30针)连接器。
接触/移动模块130可检测与触摸屏112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击式转盘)的接触。接触/移动模块130包括多个软件部件用于执行与接触检测相关的各种操作,诸如确定是否已经发生了接触(例如,检测手指按下事件)、确定是否存在接触的移动并在整个触敏表面上跟踪该移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已经终止(例如,检测手指抬起事件或者接触中断)。接触/移动模块130从触敏表面接收接触数据。确定接触点的移动可以包括确定接触点的速率(量值)、速度(量值和方向)、和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作可被应用于单点接触(例如,一个手指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。在一些实施例中,接触/移动模块130和显示控制器156检测触控板上的接触。
接触/移动模块130可检测用户的手势输入。触敏表面上不同的手势具有不同的接触图案。因此,可通过检测具体接触图案来检测手势。例如,检测到单指轻击手势包括检测到手指按下事件、然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测到手指抬起(抬离)事件。又如,在触敏表面上检测到手指轻扫手势包括检测到手指按下事件、然后检测到一个或多个手指拖动事件、并且随后检测到手指抬起(抬离)事件。
图形模块132包括用于在触摸屏112或其他显示器上渲染和显示图形的多个已知软件部件,包括用于改变被显示图形的强度的部件。如本文所用,术语“图形”包括可以被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软按键的用户界面对象)、数字图像、视频、动画等等。
在一些实施例中,图形模块132存储要使用的数据表示图形。每个图形可以被分配有相应的代码。图形模块132从应用程序等接收指定要显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据来输出给显示控制器156。
可作为图形模块132的部件的文本输入模块134提供用于在多种应用程序(例如,联系人137、电子邮件140、即时消息141、浏览器147、和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置,并且提供该信息以在各种应用程序中使用(例如,提供给电话138来用于基于位置的拨号、提供给相机143作为图片/视频元数据、以及提供给提供基于位置的服务的应用程序,诸如天气桌面小程序、本地黄页桌面小程序、和地图/导航桌面小程序)。
应用程序136可包括以下模块(或指令集)或者其子组或超集:
联系人模块137(有时也称为通讯录或联系人列表);
电话模块138;
视频会议模块139;
电子邮件客户端模块140;
即时消息(IM)模块141;
锻炼支持模块142;
用于静态图像和/或视频图像的相机模块143;
图像管理模块144;
浏览器模块147;
日历模块148;
桌面小程序模块149,其可以包括以下中一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、字典桌面小程序149-5、和用户获得的其他桌面小程序、以及用户创建的桌面小程序149-6;
用于生成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
搜索模块151;
视频和音乐播放器模块152,其可以由视频播放器模块和音乐播放器模块构成;
便签模块153;
地图模块154;
在线视频模块155;
声音/音频录制器模块163;和/或
通知模块165。
可被存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、画图应用程序、呈现应用程序、JAVA启用的应用程序、加密、数字权益管理、声音识别、和声音复制。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137可被用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、实际地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行分类和归类;提供电话号码或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或IM 141的通信;等等。
结合RF电路***108、音频电路***110、扬声器111、麦克风113、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138可以被用于输入对应于电话号码的字符序列、访问通讯录137中的一个或多个电话号码、修改已经输入的电话号码、拨打相应的电话号码、进行通话以及当通话完成时断开或挂断。如上所述,无线通信可以使用多个通信标准、协议和技术中的任一个。
结合RF电路***108、音频电路***110、扬声器111、麦克风113、触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137、和电话模块138,视频会议模块139包括用于根据用户指令发起、进行、和结束用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路***108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收、和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路***108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,即时消息模块141包括用于输入对应于即时消息的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议用于基于电话的即时消息或者使用XMPP、SIMPLE、或IMPS用于基于因特网的即时消息)、接收即时消息以及查看所接收的即时消息的可执行指令。在一些实施例中,所传输和/或接收的即时消息可包括图形、相片、音频文件、视频文件以及/或者MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,利用SMS或MMS发送的消息)和基于因特网的消息(例如,利用XMPP、SIMPLE、或IMPS发送的消息)二者。
结合RF电路***108、触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,锻炼支持模块142包括可执行指令,用于创建锻炼(例如,具有时间、距离、和/或卡路里消耗目标);与锻炼传感器(体育设备)通信;接收锻炼传感器数据;校准用于监视锻炼的传感器;为锻炼选择和播放音乐;以及显示、存储和传输锻炼数据。
结合触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、数字图像流水线161(其将来自光学传感器的原始数据转换为最终图像或视频)、和图像管理模块144,相机模块143包括用于捕获静态图像或视频(包括视频流)并将其存储到存储器102中(例如,在数字相机胶卷159中)、修改静态图像或视频的特性、或从存储器102(例如,从数字相机胶卷159)删除静态图像或视频的可执行指令。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如在数字幻灯片或相册中)、以及存储静态图像和/或视频图像(包括存储在相机胶卷159中的静态图像和/或视频图像)的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、和文本输入模块134,浏览器模块147包括用于根据用户指令浏览因特网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140、和浏览器模块147,日历模块148包括用于根据用户指令创建、显示、修改、和存储日历和与日历相关联的数据(例如,日历条目、待办任务列表等)的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序模块149是可以由用户下载并使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、和字典桌面小程序149-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施例中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件、和JavaScript文件。在一些实施例中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150可以被用户用来创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、和文本输入模块134,搜索模块151包括用于根据用户指令在存储器102中搜索与一个或多个搜索标准(例如,用户指定的一个或多个搜索词)匹配的文本、音乐、声音、图像、视频、和/或其他文件的可执行指令。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器111、RF电路***108、和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏112上或在经由外部端口124连接的外部显示器上)的可执行指令。在一些实施例中,设备100可以包括MP3播放器的功能性。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,便签模块153包括用于根据用户指令创建和管理便签、待办任务清单等的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、和浏览器模块147,地图模块154可以被用于根据用户指令接收、显示、修改、和存储地图及与地图相关联的数据(例如,驾车路线;特定位置处或附近的商店和其他兴趣点的数据;和其他基于位置的数据)。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器111、RF电路***108、文本输入模块134、电子邮件客户端模块140、和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,流式接收和/或下载)、回放(例如,在触摸屏上或在经由外部端口124连接的外部显示器上)、发送具有到特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式(诸如H.264)的在线视频的指令。在一些实施例中,使用即时消息模块141、而不是电子邮件客户端模块140来发送到特定在线视频的链接。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器111、和麦克风113,声音/音频录制器模块163包括允许用户以一种或多种文件格式(诸如MP3或AAC文件)记录音频(例如,声音)的可执行指令、以及用于呈现或以其他方式回放所记录的音频文件的可执行指令。
结合触摸屏112、显示***控制器156、接触模块130、和图形模块132,通知模块165包括在触摸屏112上显示通知或警告(诸如传入消息或来电呼叫、日历事件提醒、应用程序事件等等)的可执行指令。
上述每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所介绍的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即指令集)不必被实现为分开的软件程序、过程或模块,因此这些模块的各种子组可以在各种实施例中被组合或以其他方式重新布置。在一些实施例中,存储器102可存储上述模块和数据结构的一个子组。此外,存储器102可以存储上面没有描述的另外的模块和数据结构。
在一些实施例中,设备100是这样一种设备,即在该设备上预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行。通过使用触摸屏和/或触控板作为用于设备100的操作的主要输入控制设备,可以减少设备100上物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地可通过触摸屏和/或触控板执行的该预定义的一组功能包括在用户界面之间的导航。在一些实施例中,当触控板被用户触摸时将设备100从可显示在设备100上的任何用户界面导航到主要菜单、主菜单或根菜单。在这样的实施例中,触控板可被称为“菜单按钮”。在一些其他实施例中,菜单按钮可以是物理下压按钮或者其他物理输入控制设备,而不是触控板。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。在一些实施例中,存储器102(图1A中)或存储器370(图3中)包括事件分类器170(例如,在操作***126中)以及相应的应用程序136-1(例如,前述应用程序137-151、155、380-390中的任何应用程序)。
事件分类器170接收事件信息并确定要将事件信息传递到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件调度器模块174。在一些实施例中,应用程序136-1包括应用程序内部状态192,应用程序内部状态192指示当应用程序是活动的或正在执行时显示在触敏显示器112上的当前应用程序视图。在一些实施例中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息传递到的应用程序视图191。
在一些实施例中,应用程序内部状态192包括另外的信息,诸如以下中一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好用于被应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从***设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示器112上的用户触摸,作为多点触摸手势的一部分)的信息。***设备接口118传输其从I/O子***106或传感器(诸如是接近传感器166)、加速度计168、和/或麦克风113(通过音频电路***110)所接收的信息。***设备接口118从I/O子***106接收的信息包括来自触敏显示器112或触敏表面的信息。
在一些实施例中,事件监视器171以预先确定的间隔发送请求给***设备接口118。作为响应,***设备接口118传输事件信息。在其他实施例中,***设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时传输事件信息。
在一些实施例中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已经在一个或多个视图内什么地方发生了的软件过程。视图由用户在显示器上可以看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息以及发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图可对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图可被称为命中视图,并且被识别为正确输入的事件集可至少部分地基于始于基于触摸的手势的初始触摸的命中视图来确定。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有被组织在分级结构中的多个视图时,命中视图确定模块172将命中视图识别为该分级结构中应该处理该子事件的最低视图。在大多数情形中,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一个子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应该接收特定的子事件序列。在一些实施例中,活动事件识别器确定模块173确定仅命中视图应该接收特定的子事件序列。在其他实施例中,活动事件识别器确定模块173确定包括子事件物理位置的所有视图是活跃涉及的视图,并因此确定所有活跃涉及的视图应该接收特定子事件序列。在其他实施例中,即使触摸子事件完全被局限到与一特定视图相关联的区域,分级结构中更高的视图将仍然保持为活跃涉及的视图。
事件调度器模块174将事件信息调度到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施例中,事件调度器模块174将事件信息传递到由活动事件识别器确定模块173确定的事件识别器。在一些实施例中,事件调度器模块174在事件队列中存储事件信息,事件信息由相应事件接收器模块182检索。
在一些实施例中,操作***126包括事件分类器170。或者,应用程序136-1包括事件分类器170。在另一实施例中,事件分类器170是独立的模块,或者是存储在存储器102中的另一模块(诸如接触/移动模块130)的一部分。
在一些实施例中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中每一个都包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施例中,事件识别器180中的一个或多个是独立模块的一部份,独立模块诸如是用户界面工具包(未示出)或应用程序136-1从中继承方法和其他特性的更高水平对象。在一些实施例中,相应事件处理程序190包括以下中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190可利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。或者,应用程序视图191中的一个或多个包括一个或多个相应事件处理程序190。另外,在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178中的一个或多个被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息来标识事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施例中,事件识别器180还至少包括以下的一个子组:元数据183、和事件传递指令188(其可以包括子事件传递指令)。
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件的信息,例如触摸或触摸移动。根据子事件,事件信息还包括另外的信息,诸如子事件的位置。当子事件涉及触摸的移动时,事件信息可还包括子事件的速率和方向。在一些实施例中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向趋向,反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的相应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件、或者确定或更新事件或子事件的状态。在一些实施例中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施例中,事件187中的子事件例如包括触摸开始、触摸结束、触摸移动、触摸取消、和多点触摸。在一个实例中,事件1(187-1)的定义是在被显示对象上的双击。例如,该双击包括在被显示的对象上的预定时长的第一次触摸(触摸开始)、预定时长的第一次抬起(触摸结束)、在该被显示的对象上的预定时长的第二次触摸(触摸开始)、以及预定时长的第二次抬起(触摸结束)。在另一实例中,事件2(187-2)的定义是在被显示对象上的拖动。例如,该拖动包括在该被显示对象上的预定时长的触摸(或接触)、该触摸在触敏显示器112上的移动、以及该触摸的抬起(触摸结束)。在一些实施例中,事件还包括用于一个或多个相关联事件处理程序190的信息。
在一些实施例中,事件定义187包括用于相应用户界面对象的事件的定义。在一些实施例中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在其中在触摸显示器112上显示三个用户界面对象的应用程序视图中,当在触敏显示器112上检测到触摸时,事件比较器184执行命中测试,以确定这三个用户界面对象中哪一个与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应该被激活。例如,事件比较器184选择与触发该命中测试的对象和子事件相关联的事件处理程序。
在一些实施例中,相应事件187的定义还包括延迟动作,延迟动作延迟事件信息的传递直到已经确定子事件序列确实对应于或确实不对应于事件识别器的事件类型之后。
当相应事件识别器180确定子事件串不与事件定义186中的任何事件匹配,则该相应事件识别器180进入事件不可能、事件失败、或事件结束状态,然后其不理会该基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪和处理正在进行的基于触摸的手势的子事件。
在一些实施例中,相应事件识别器180包括具有指示事件传递***应该如何执行对活跃涉及的事件识别器的子事件传递的能配置的属性、标志和/或列表的元数据183。在一些实施例中,元数据183包括指示事件识别器彼此可如何交互的能配置的属性、标志和/或列表。在一些实施例中,元数据183包括指示子事件是否被传递到视图或程序化分级结构中变化的水平的能配置的属性、标记和/或列表。
在一些实施例中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施例中,相应事件识别器180将与该事件相关联的事件信息传递到事件处理程序190。激活事件处理程序190不同于发送(和延期发送)子事件到相应的命中视图。在一些实施例中,事件识别器180抛出与所识别的事件相关联的标志,并且与该标志相关联的事件处理程序190接到该标志并执行预定义的过程。
在一些实施例中,事件传递指令188包括传递关于子事件的事件信息而不激活事件处理程序的子事件传递指令。相反,子事件传递指令将事件信息传递到与子事件串相关联的事件处理程序或者传递到活跃涉及的视图。与子事件串或与活跃涉及的视图相关联的事件处理程序接收事件信息,并执行预先确定的过程。
在一些实施例中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176更新在联系人模块137中使用的电话号码,或者存储在视频播放器模块145中使用的视频文件。在一些实施例中,对象更新器176创建并更新在应用程序136-1中使用的对象。例如,对象更新器177创建新的用户界面对象,或者更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并将其发送到图形模块132用以显示在触敏显示器上。
在一些实施例中,事件处理程序190包括或者具有对数据更新器176、对象更新器177、和GUI更新器178的访问权限。在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施例中,它们被包括在两个或更多个软件模块中。
应当理解的是,前面关于触敏显示器上用户触摸的事件处理的讨论也适用于其他形式的利用输入设备来操作电子设备100的用户输入(并非它们所有都是在触摸屏上发起的),例如协调鼠标移动和鼠标按钮按压(具有或没有单个或多个键盘按压或保持)、触控板上的用户移动轻击、拖动、滚动等、触控笔输入、设备的移动、口头指令、检测到的眼睛移动、生物特征输入、和/或其任意组合,它们可以被用作为对应于定义要识别的事件的子事件的输入。
图2示出了根据一些实施例的具有触摸屏112的一种便携式电子设备100。触摸屏可以在用户界面(UI)200内显示一个或多个图形。在该实施例中,以及在下文中介绍的其他实施例中,用户可以通过例如用一根或多根手指202(在附图中没有按比例绘制)或者用一个或多个触控笔203(在附图中没有按比例绘制)在图形上作出手势来选择这些图形中的一个或多个。在一些实施例中,当用户中断与该一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施例中,手势可包括一次或多次轻击、一次或多次滑动(从左向右、从右向左、向上和/或向下)和/或已经与设备100接触的手指(从右向左、从左向右、向上和/或向下)拨动。在一些实施例中,无意地与图形接触不会选择该图形。例如,当对应于选择的手势是轻击时,在应用程序图标之上扫动的轻扫手势不会选择相应的应用程序。
设备100还可包括一个或多个物理按钮,诸如“主屏幕”或菜单按钮204。如前所述,菜单按钮204可以被用于导航到可以在设备100上运行的一组应用程序中的任何应用程序136。或者,在一些实施例中,菜单按钮被实现为显示在触摸屏112上的GUI中的软键。
在一个实施例中,设备100包括触摸屏112、菜单按钮204、用于设备开关机和锁定设备的下压按钮206、(一个或多个)音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206可被用于通过压下该按钮并将该按钮保持在压下状态达预定义的时间间隔来对设备进行开关机;通过压下该按钮并在经过该预定义的时间间隔之前释放该按钮来锁定设备;和/或解锁设备或发起解锁过程。在一另选的实施例中,设备100还可通过麦克风113接受用于激活或解除激活某些功能的语音输入。
图3是根据一些实施例的具有显示器和触敏表面的一种示例性电子设备的框图。设备300不必是便携式的。在一些实施例中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏***或控制设备(例如,家用或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互联的一根或多根通信总线320。在一些实施例中,处理单元310包括图像信号处理器和双核或多核处理器。通信总线320可包括将***部件互联及控制***部件之间通信的电路***(有时称为芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,显示器340通常是触摸屏显示器。I/O接口330还可以包括键盘和/或鼠标(或其他指向设备)350和触控板355。设备300还包括光学传感器164和光学传感器控制器158。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并可包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。任选地,存储器370可包括从CPU310远程定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式电子设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370可存储在便携式电子设备100的存储器102中不存在的另外的程序、模块、和数据结构。例如,设备300的存储器370可存储画图模块380、呈现模块382、文字处理模块384、网页创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式电子设备100(图1A)的存储器102可不存储这些模块。
图3中上述所识别的元件的每一个可被存储在一个或多个前面提到的存储器设备中。上述所识别的模块的每一个对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子组可以在各种实施例中被组合或以其它方式重新布置。在一些实施例中,存储器370可存储上述模块和数据结构的子组。此外,存储器370可存储上面没有描述的另外的模块和数据结构。
现在将注意力转到可以在便携式电子设备100上实现的用户界面(“UI”)的实施例。
参见图4,为本发明实施例提供的一种基于航位推算技术的校准方法,在本发明实施例中,所述方法包括:
S401、便携式电子设备根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置轨迹参数值和所述当前位置的运动方向。
具体的,便携式电子设备在电子地图上预先设置的目标路径上运动,目标路径可也是用户输入的电子地图上的任意路径或导航应用程序规划的电子地图上的任意路径,目标路径上设置有至少两个校准点,校准点用于表示目标路径上轨迹参数值发生突变的点。在航位推算技术为行人航位推算技术时,便携式电子设备从目标路径的起始位置移动之前,首先校正起始位置的坐标和获取初始的步长信息,以保证航位推算技术的输入的正确性,确保航位推算技术定位的准确性。其中,起始位置的坐标可以通过GPS定位方法、Wi-Fi定位或蓝牙定位算法等方法确定,本发明不作限制,初始的步长信息可以为预设的默认值或上一次定位过程中计算得到的。便携式电子设备获取自带的传感器(例如加速度计、陀螺仪或地磁传感器中至少一种)的输出数据得到便携式电子设备的运动轨迹,利用初始的步长信息采用航位推算技术确定便携式电子设备在电子地图上的当前位置的坐标,此处的当前位置的坐标是便携式电子设备根据航位推算技术得到。便携式电子设备当前位置的轨迹参数值也是根据航位推算技术得到,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,运动轨迹上每个点对应一个曲率、曲率半径、曲率变化率或曲率半径变化率。其中,提取校准点时采用的轨迹参数值优选为曲率变化率或曲率半径变化率。
可以理解的是,本发明实施例中的运动方向为相对运动方向,不涉及绝对运动方向,例如:便携式电子设备由A运动到B,记运动方向为A至B;便携式电子设备由B运动到A时,记运动方向为B至A。需要说明的是,为了方便处理,本发明实施例将目标路径的起始位置和目的位置视为校准点。
S402、若所述运动方向为第一校准点至第二校准点,该便携式电子设备获取所述第二校准点的坐标。
其中,运动方向表示便携式电子设备的运动趋势,并非精确的地理位置方向。例如,便携式电子设备在第一校准点和第二校准点之间运动时,如果便携式电子设备的运动方向是第一校准点至第二校准点,则第一校准点为上一准点,第二校准点为下一校准点;如果便携式电子设备的运动方向是第二校准点至第一校准点,则第二校准点为上一校准点,第一校准点为下一校准点。其中,便携式电子设备可通过自带的陀螺仪传感器测量运动方向,第一校准点的坐标、当前位置的坐标和第二校准点的坐标可以根据经纬度坐标、二维坐标或电子地图中设置的形式的坐标,本发明不作限制;一般而言,电子地图已存储各个位置的坐标,确定某个位置的坐标直接调用即可。
S403、该便携式电子设备检测到所述当前位置的轨迹参数值满足预设的校准条件时,将所述当前位置的坐标修正为所述第二校准点的坐标。
具体的,便携式电子设备通过航位推算技术得到的当前位置的坐标会随着时间的增加而增加,当便携式电子设备当前位置的轨迹参数值满足预设的校准条件,校准条件用来判断便携式电子设备是否已经到达第二校准点,如果满足校准条件,将便携式电子设备的当前位置的坐标修正为该第二校准点的坐标。便携式电子设备在目标路径上运动,目标路径上设置有至少两个校准点时,便携式电子设备根据上述校准方法每经过一次子路径时进行一次校准,这样可以有效较少便携式电子设备的定位偏差。
综上所述,实施本发明的实施例,便携式电子设备在预设的目标路径上运动,目标路径上设置有校准点,便携式电子设备根据航位推算技术推算出当前位置,在当前位置的轨迹参数值满足预设的校准条件时,将当前位置的坐标修正为下一校准点的坐标,这样能在校准点上将航位推算技术的定位误差进行修正,避免定位误差的累积效应,提高航位推算技术的定位精度。
参见图5,为本发明实施例提供的一种基于航位推算技术的校准方法的另一流程示意图,在本发明实施例中,所述方法包括:
S501、便携式电子设备根据起始位置和目的位置在电子地图上规划目标路径。
具体的,便携式电子设备启动地图导航程序,在用户界面上显示电子地图,根据起始位置和目的位置采用预设的路径规划算法得到目标路径。其中起始位置可以由用户手动输入或者用户终端根据预设的定位算法自定获得,例如GPS定位、Wi-Fi定位或蓝牙定位等。需要说明的是,目标路径也可以是用户输入的电子地图上的任意路径,本发明不作限制。
S502、该便携式电子设备在所述目标路径为连续的情况下,提取所述目标路径上轨迹参数值大于第一阈值的点作为校准点。
具体的,目标路径为平滑表示目标路径没有轨迹参数值发生突变的点,如果将目标路径看成二维坐标中的函数曲线,其特性为处处可导。轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一个。以曲率变化率为例,便携式电子设备提取目标路径上轨迹参数值大于第一阈值的点的过程可以是:对目标路径按照预设的时间间隔进行采样得到多个点,计算各个点的曲率变化率的值,将曲率变化率的值大于第一阈值的点作为校准点。其中,当满足曲率变化率的值大于第一阈值的点连续存在时,将连续存在的多个校准点进行合并成一个校准点,合并的方法可以是:将多个校准点中曲率变化率的值最大的点作为合并后的校准点,或将多个校准点中的中间位置的校准点作为合并后的校准点。
可以理解的是,便携式电子设备首次沿目标路径运动时,便携式电子设备需要计算目标路径上各个点的轨迹参数值,将轨迹参数值大于第一阈值的点作为校准点,并存储校准点的坐标。当便携式电子设备再次沿目标路径运动时,不需要计算各个点的轨迹参数值,直接调用存储的校准点的坐标。需要说明的是,为了便于处理,本实施例中将起始位置和目的位置均视为校准点。
在本发明的一些实施例中,可选的,在所述目标路径为非平滑的情况下,提取所述目标路径上的转折点作为校准点。
具体的,目标路径为非平滑表示目标途径上存在轨迹参数值发生突变的点,如果将目标路径视为二维坐标中的函数曲线,则转折点为函数曲线上不可导的点,其中目标路径可有多条线段和/或多条曲线组合而成,本发明不作限制。举例说明:不平滑的目标路径由3条线段组成,3条线段两两相交形成两个交点,将该两个交点作为目标路径的校准点。需要说明的是,目标路径的起始位置和目的位置也视为校准点,则目标路径有4个校准点。
其中,在计算相邻的两个线段的交点的轨迹参数值时,可以做平滑处理成弧形后再计算交点的曲率变化率的值或曲率半径变化率的值。
在本发明的一些实施例中,优选的,如果不平滑的目标路径由多条线段组成,分别计算目标路径中各个相邻的两个线段的夹角,选取角度值大于预设的角度阈值的两条相邻的线段形成的交点作为校准点。例如,设角度阈值为90°,当相邻的两个线段的夹角大于或等于90°时,该相邻的两个线段形成的交点才能作为目标路径的校准点,以减少校准点的数量,降低校准的计算量。
S503、该便携式电子设备根据航位推算技术确定当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向。
具体的,便携式电子设备获取自带的传感器(例如:加速度计、陀螺仪或地磁传感器中至少一种)的输出数据得到运动轨迹,采用航位推算技术确定便携式电子设备在电子地图上的当前位置的坐标,此处的当前位置的坐标是便携式电子设备根据航位推算技术得到。其中,航位推算技术为行人航位推算技术时,确定当前位置的坐标时还要考虑用户的步长信息,用户在不同运动模式下的步长信息是不一样的,步长信息可以通过在一段路径上训练得到。便携式电子设备的当前位置的轨迹参数值也是根据航位推算技术得到,轨迹参数值包括曲率变化率或曲率半径变化率,运动轨迹上每个点对应一个曲率变化率的值或曲率半径变化率的值。
S504、若所述运动方向为第一校准点至第二校准点,该便携式电子设备获取所述第二校准点的坐标。
具体的,运动方向表示运动趋势,便携式电子设备在目标路径上运动,目标路径上的校准点将目标路径分割为多个子路径,分别以每个子路径来考察便携式电子设备的运动过程。假设便携式电子设备在第一校准点和第二校准点之间的子路径上运动,如果当前位置的运动方向朝向第一校准点,则确定第一校准点为下一校准点,第二校准点为上一校准点;如果当前位置的运动方向朝向第二校准点,则第二校准点为下一校准点,第一校准点为上一校准点。
S505、该便携式电子设备检测到所述当前位置的轨迹参数值大于第二阈值。
具体的,该便携式电子设备获取航位推算技术得到的当前位置的轨迹参数值,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,检测到当前位置的轨迹参数值大于第二阈值时,执行S506,否则,继续执行S503。
S506、该便携式电子设备判断该便携式电子设备在所述第一校准点和所述第二校准点之间是否发生调头。
其中,该便携式电子设备在第一校准点和第二校准点之间发生调头是指:便携式电子设备当前位置的运行方向为第一校准点至第二校准点,在当前位置之前的某个位置发生过调头,即运动方向为第二校准点至第一校准点。便携式电子设备可以根据自带的传感器(加速度计、陀螺仪和地磁传感器)识别运动方向,根据运动方向判断便携式电子设备在第一校准点和第二校准点之间是否发生调头,如果为否,执行S507,否则执行S514。
S507、该便携式电子设备获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点和所述第二校准点之间的第二路径长度。
具体的,第一路径长度表示当前位置和第二校准点之间的对应目标路径上的路径的长度,第二路径长度表示第一校准点和第二校准点之间对应目标路径上的路径的长度,该路径在目标路径上可能为直线也可能为曲线,具体形状根据目标路径的形状决定。便携式电子设备获取根据航位推算技术得到的当前位置的坐标,获取目标路径上预设的第二校准点的坐标,根据当前位置的坐标和第二校准点的坐标以及当前位置与第二校准点之间的子路径的几何形状参数可得到当前位置至第二校准点之间的第一路径长度,同时目标路径上的第一校准点和第二校准点之间的第二路径长度也可以通过上述方法得到。
S508、该便携式电子设备将所述第一路径长度除以所述第二路径长度得到比例值。
S509、该便携式电子设备确定得到的比例值是否小于第三阈值。
其中,第三阈值小于1,比例值越小表示便携式移动终端越接近第二校准点。
S510、该便携式电子设备确定得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值。
其中,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种。第二校准点的轨迹参数的获取可以参照第一校准点的轨迹参数,此处不再赘述。
具体的,目标路径上每个点对应一个轨迹参数值,便携式电子设备获取当前位置的轨迹参数值和第二校准点的轨迹参数值。
S511、该便携式电子设备计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值差值。
S512、该便携式电子设备确定所述计算得到的差值是否小于第四阈值。
其中,第四阈值小于1,计算得到的差值越小表明便携式移动终端越接近第二校准点;第三阈值和第四阈值可以相等,也可以不相等。
S513、该便携式电子设备确定该差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
S514、该便携式电子设备获取调头位置的坐标。
具体的,便携式电子设备在第一校准点和第二校准点之间的子路径上运动,便携式电子设备在t1时刻至t2时刻朝第二校准点运动,在t2时刻至t3时刻朝第一校准点运动,便携式电子设备根据航位推算技术获取t3时刻对应的当前位置,t2时刻对应的调头位置,基于当前位置,第一校准点为下一校准点,第二校准点为上一校准点。
S515、该便携式电子设备计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度。
具体的,第三路径长度表示当前位置和调头位置之间对应在目标路径上的路径的长度,第四路径长度表示第二校准点和调头位置之间对应在目标路径上的路径的长度,该路径可以是直线,也可以是曲线,具体形状由目标路径的形状决定。便携式电子设备根据航位推算技术得到的当前位置的坐标、调头位置的坐标以及当前位置与调头位置之间的子路径的几何形状参数可得到第三路径长度,第二校准点和调头位置的第四路径长度也可通过上述方法得到,此处不再赘述。
S516、该便携式电子设备计算所述第三路径长度除以所述第四路径长度得到的比例值。
S517、该便携式电子设备确定计算得到的比例值是否大于第五阈值。
其中,第五阈值为小于1的值,计算得到的比例值越大,表明便携式移动终端越接近第二校准点。
S518、该便携式电子设备确定比例值大于第五阈值,获取所述第二校准点的轨迹参数值。
S519、该便携式电子设备计算所述当前位置的轨迹参数值减去所述第二轨迹参数值得到的差值。
S520、该便携式电子设备确定计算得到的差值是否小于第六阈值。
其中,第六阈值小于1,得到的差值越小表明便携式电子设备越接近于第二校准点。
其中,第一阈值和第二阈值可以相等,也可以不相等;第三阈值、第四阈值、第五阈值和第六阈值可以相等也可以不相等,具体的值根据需要进行设定。
S521、该便携式电子设备确定差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
在本发明的一些实施例中,可选的,航位推送技术为行人航位推算技术时,确定根据步长信息确定当前位置,并更新步长信息,本发明实施例还包括:获取至少两个校准对应的路径的路径长度,统计便携式电子设备在该路径上的m个运动状态以及m个运动状态各个运动状态对应的步数,根据路径长度、m个运动状态和各个运动状态对应的步数获取新的步长信息。
具体的,步长信息表示不同运动状态下对应的步长,运动状态包括走路状态、慢跑状态和快跑状态。目标路径设有起始位置、校准点A、校准点B和目的位置,便携式电子设备在目录路径上从起始位置运动到目的位置,起始位置至校准点A之间的子路径为子路径1、校准点A至校准点B之间的子路径为子路径2、校准点2至目的位置之间的子路径为子路径3,便携式电子设备可通过GPS定位、Wi-Fi定位或蓝牙定位等定位方法获取起始位置的坐标,以默认的步长信息采用航位推算技术实时计算便携式电子设备的当前位置,在当前位置的轨迹参数值满足预设的校准条件时,将当前位置的坐标修正为校准点A的坐标。便携式电子设备获取子路径1的长度为L,统计在子路径1上存在m种运动状态,分别以x1、x2、……、xN的步长运动了y1、y2、……yN步,得到方程x1*y1+x2*y2+……+xN*yN=L,将该方程与历史过程中的方程组进行联合求解,得到各个运动状态下的步长(即步长信息)。便携式电子设备在子路径2上运动时,将子路径1得到的步长信息作为新的步长信息计算便携式电子设备在子路径2上的当前位置。
在本发明的一些实施例中,可选的,所述方法还包括:获取根据航位推算技术计算得到的运动距离,当运动距离大于预设长度且在运动距离内未检测到满足校准条件的点,则停止校准过程,启动其他定位方式,例如卫星定位、Wi-Fi定位或蓝牙定位等。
在本发明的一些实施例中,可选的,便携式电子设备在第一校准点和第二校准点之间发生一次调头,调头后便携式电子设备的运动方向为第二校准点至第一校准点,处理过程为:获取调头位置的坐标,计算当前位置和调头位置之间的第三路径长度,以及所述第一校准点和调头位置之间的第四路径长度;计算第三路径长度除以第四路径长度得到的比例值;判断计算得到的比例值是否大于第五阈值;若为是,获取第一校准点的轨迹参数值,计算当前位置的轨迹参数值减去第一校准点的轨迹参数值得到的差值;判断计算得到的差值是否小于第六阈值,若为是,将当前位置的坐标修正为第二校准点的坐标。
其中,具体原理可参照S514-S521的描述,此处不再赘述。
参见图6,为本发明实施例提供的一种基于航位推算技术的校准方法,在本发明实施例中,所述方法包括:
S601、便携式电子设备根据起始位置和目的位置在电子地图上规划目标路径。
具体的,便携式电子设备启动地图导航程序,在用户界面上显示电子地图,根据起始位置和目的位置采用预设的路径规划算法得到目标路径,其中起始位置可以由用户手动输入或者用户终端根据预设的定位算法自定获得,例如GPS定位、Wi-Fi定位或蓝牙定位等。其中,目标路径可以是用户输入的电子地图上的任意的路径,本发明不作限制。
S602、该便携式电子设备在所述目标路径为平滑的情况下,提取所述目标路径上轨迹参数值大于第一阈值的点作为校准点。
具体的,目标路径为平滑表示目标路径上没有轨迹参数值发生突变的点,如果将目标路径视为二维平面的函数曲线时,函数曲线上的点处处可导。轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种。例如:便携式电子设备提取目标路径上轨迹参数值大于第一阈值的点的过程可以是:对目标路径按照预设的时间间隔进行采样得到多个点,计算各个点的曲率变化率的值,将曲率变化率的值大于第一阈值的点作为校准点。其中,当满足曲率变化率的值大于第一阈值的点连续存在时,将连续存在的多个校准点进行合并成一个校准点,合并的方法可以是:将多个校准点中曲率变化率的值最大的点作为合并后的校准点,或将多个校准点中的中间位置的校准点作为合并后的校准点。需要说明的是,为了便于处理,本实施例中将起始位置和目的位置视为校准点。
S603、该便携式电子设备计算所述目标路径上各个校准点划分的子路径的轨迹参数值范围。
具体的,目标路径上设置的多个校准点将目标路径分割为多个子路径,获取每个子路径对应的轨迹参数值最小值和轨迹参数值最大值,根据轨迹参数值最小值和轨迹参数值最大值确定每个子路径的轨迹参数值范围。例如,目标路径上依次排列有起始位置、校准点A、校准点B和目的位置,则该目标路径分割为3个子路径,分别为起始位置至校准点A之间的子路径1、校准点A至校准点B之间的子路径2、校准点B至目的位置的子路径3,计算上述三个子路径中各个子路径的的轨迹参数值范围。其中,轨迹参数值范围的轨迹参数值优选为曲率或曲率半径。
S604、该便携式电子设备根据航位推算技术确定当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向。
具体的,便携式电子设备获取自带的传感器(例如:加速度计、陀螺仪和地磁传感器等)的输出数据得到运动轨迹,如果航位推送技术为行人航位推算技术,则利用初始的步长信息采用航位推算技术确定便携式电子设备在电子地图上的当前位置的坐标,此处的当前位置的坐标是便携式电子设备根据航位推算技术得到。便携式电子设备当前位置的轨迹参数值也是根据航位推算技术得到,轨迹参数值包括曲率变化率或曲率半径变化率,运动轨迹上每个点对应一个曲率变化率或曲率半径变化率。
由于目标路径上的各个子路径的坐标范围也不相同,便携式电子设备可以根据当前位置的坐标估计出所属的当前子路径,以及根据运动方向估计出下一子路径。例如,根据当前位置的坐标确定所述的当前子路径为子路径1,运动方向是起始位置至目的位置,则下一子路径为子路径2。
S605、若所述运动方向为第一校准点至第二校准点,该便携式电子设备获取所述第二校准点的坐标。
具体的,便携式电子设备在目标路径上运动,目标路径上的校准点将目标路径分割为多个子路径,分别以每个子路径来考察便携式电子设备的运动过程。假设便携式电子设备在第一校准点和第二校准点之间的子路径上运动,如果当前位置的运动方向为第一校准点至第二校准点,则确定第一校准点为上一校准点,第二校准点为下一校准点;如果当前位置的运动方向第二校准点至第一校准点,则第二校准点为上一校准点,第一校准点为下一校准点。
S606、该便携式电子设备检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内。
具体的,相邻的两个子路径的轨迹参数值范围不相同,检测到当前位置的轨迹参数值位于下一子路径的轨迹参数值范围内时,执行S604。
例如,两个相邻的子路径为子路径A和子路径B,子路径A的轨迹参数值范围为[x1,x2),子路径B的轨迹参数值范围为[x2,x3),x1<x2<x3,当检测到当前位置的第一轨迹参数值由子路径A的轨迹参数值范围落入到子路径B的轨迹参数值范围时,执行S607,否则继续执行S604。
S607、该便携式电子设备判断便携式电子设备在所述第一校准点和所述第二校准点之间是否调头。
具体的,便携式电子设备可以根据自带的传感器(加速度计、陀螺仪和地磁传感器)识别运动方向,根据运动方向判断便携式电子设备在第一校准点和第二校准点之间是否发生调头,如果为否,执行S607,否则执行S615。
需要说明的是,本发明实施例的调头指在两个校准点之间的子路径上只发生一次调头。
S608、该便携式电子设备获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度。
具体的,第一路径长度为当前位置和第二校准点之间对应于目标路径上的路径的长度,第二路径长度为第一校准点和第二校准点之间对应与目标路径上的路径的长度,该路径的形状取决于目标路径的长度,可以为线段或曲线。便携式电子设备获取根据航位推算技术得到的当前位置的坐标,获取目标路径上预设的第二校准点的坐标,根据当前位置的坐标和第二校准点的坐标以及当前位置与第二校准点之间的子路径的几何形状参数可得到当前位置至第二校准点之间的第一路径长度,同时目标路径上的第一校准点和第二校准点之间的第二路径长度也可以通过上述方法得到。
S609、该便携式电子设备将所述第一路径长度除以所述第二路径长度得到比例值。
S610、该便携式电子设备所述计算得到的比例值是否小于第三阈值。
其中,第三阈值小于1,比例值越小表明便携式电子设备越接近于第二校准点。
S611、该便携式电子设备获取所述第二校准点的轨迹参数值。其中,轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种。
S612、该便携式电子设备计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值。
S613、该便携式电子设备确定所述计算得到的差值是否小于第四阈值。
其中,第四阈值小于1,差值越小表明便携式电子设备越接近于第二校准点。
S614、该便携式电子设备确定差值小于第四阈值将所述当前位置的坐标修正为所述第二校准点的坐标。
S615、该便携式电子设备获取调头位置的坐标。
具体的,便携式电子设备在第一校准点和第二校准点之间的子路径上运动,便携式电子设备在t1时刻至t2时刻朝第二校准点运动,在t2时刻至t3时刻朝第一校准点运动,便携式电子设备根据航位推算技术获取t3时刻对应的当前位置,t2时刻对应的调头位置的坐标,基于当前位置,第一校准点为上一校准点,第二校准点为下一校准点。
S616、该便携式电子设备计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度。
具体的,第三路径长度和第四路径长度为对应与目标路径上的路径的长度,该路径可以为线段或曲线,具体形状取决于目标路径的长度。便携式电子设备根据航位推算技术得到的当前位置的坐标、调头位置的坐标以及当前位置与调头位置之间的子路径的几何形状参数可得到第三路径长度,第二校准点和调头位置的第四路径长度也可通过上述方法得到,此处不再赘述。
S617、该便携式电子设备计算所述第三路径长度除以所述第四路径长度得到的比例值。
S618、该便携式电子设备确定所述计算得到的比例值是否大于第五阈值。
其中,第五阈值小于1,比例值越大表明便携式电子设备越接近于第二校准点。
S619、该便携式电子设备确定比例值大于第五阈值,获取所述第二校准点的轨迹参数值。
S620、该便携式电子设备计算所述当前位置的轨迹参数值减去所述第二轨迹参数值得到的差值。
S621、该便携式电子设备确定计算得到的差值是否小于第六阈值。
S622、该便携式电子设备确定计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
其中,第一阈值和第二阈值可以相等,也可以不相等;第三阈值、第四阈值、第五阈值和第六阈值可以相等也可以不相等,具体的值根据需要进行设定。
可选的,便携式电子设备在第一校准点和第二校准点之间发生一次调头,调头后便携式电子设备的运动方向为第二校准点至第一校准点,处理过程为:获取调头位置的坐标,计算当前位置和调头位置之间的第三路径长度,以及所述第一校准点和调头位置之间的第四路径长度;计算第三路径长度除以第四路径长度得到的比例值;判断计算得到的比例值是否大于第五阈值;若为是,获取第一校准点的轨迹参数值,计算当前位置的轨迹参数值减去第一校准点的轨迹参数值得到的差值;判断计算得到的差值是否小于第六阈值,若为是,将当前位置的坐标修正为第二校准点的坐标。
其中,具体原理可参照S515-S522的描述,此处不再赘述。
参见图8,为本发明实施例提供的一种便携式电子设备的结构示意图,在本发明实施例中,所述便携式电子设备用于实现图1A所示的方法,所述便携式电子设备包括:确定模块801、获取模块802和校准模块803。
确定模块801,用于根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点。
获取模块802,用于在所述运动方向为第一校准点至第二校准点时获取所述第二校准点的坐标。
校准模块803,用于检测到所述当前位置的轨迹参数值满足预设的校准条件时,将所述当前位置的坐标修正为所述第二校准点的坐标。
本发明实施例和方法实施例一基于同一构思,其带来的技术效果也相同,具体原理请参照方法实施例一的描述,此处不再赘述。
可选的,在本发明的一些实施例中,
在所述目标路径为平滑的情况下,所述目标路径上的校准点为所述目标路径上轨迹参数值大于第一阈值的点;或
在所述目标路径为非平滑的情况下,所述目标路径上的校准点为所述目标路径上的转折点。
可选的,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述便携式电子设备还包括:
配置模块,用于在所述目标路径为平滑的情况下,确定所述目标路径上各个校准点划分的子路径的轨迹参数值范围,所述校准点为所述目标路径上轨迹参数值大于第一阈值的点;
其中,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述校准模块检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于所述第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点与所述第二校准点的路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述计算得到的差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述校准模块检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
可选的,所述确定模块具体用于根据行人航位推送技术和步长信息确定所述便携式电子设备的当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;
所述便携式电子设备还包括:
长度获取模块,用于获取所述第一校准点和所述第二校准点之间的路径长度;
统计模块,用于统计所述便携式电子设备在所述第一校准点和所述第二校准点之间的m个运动状态,以及所述m个运动状态各自对应的步数;
步长计算模块,用于根据所述m个运动状态、所述m个运动状态各自对应的步数以及所述第一校准点和所述第二校准点之间的路径长度获取新的步长信息。
本发明实施例和方法实施例二和三基于同一构思,其带来的技术效果也相同,具体原理请参照方法实施例二和三的描述,此处不再赘述。
此外,还提供一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被便携式电子设备执行时使所述便携式电子设备执行如任一个上述实施例中的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (18)

1.一种基于航位推算技术的校准方法,应用于便携式电子设备,其特征在于,包括:
根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点;
若所述运动方向为第一校准点至第二校准点,获取所述第二校准点的坐标;
检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标;
其中,
在所述目标路径为平滑的情况下,所述目标路径上的校准点为所述目标路径上轨迹参数值大于第一阈值的点;或,在所述目标路径为非平滑的情况下,所述目标路径上的校准点为所述目标路径上的转折点。
2.如权利要求1所述的方法,其特征在于,所述检测所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标。
3.如权利要求1所述的方法,其特征在于,
所述根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向之前,还包括:在所述目标路径为平滑的情况下,确定所述目标路径上各个校准点划分的子路径的轨迹参数值范围,所述校准点为所述目标路径上轨迹参数值大于第一阈值的点;
所述检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标。
4.如权利要求2所述的方法,其特征在于,所述检测到所述当前位置的轨迹参数值大于第二阈值,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于所述第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点与所述第二校准点的第二路径长度;
将所述第一路径长度除以所述第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述计算得到的差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
5.如权利要求2所述的方法,其特征在于,所述检测到所述当前位置的轨迹参数值大于第二阈值,将所述当前位置的坐标修正为所述第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值大于第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
6.如权利要求3所述的方法,其特征在于,所述检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度;
将所述第一路径长度除以第二路径长度值得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
7.如权利要求3所述的方法,其特征在于,所述检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为第二校准点的坐标包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度的值,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
8.如权利要求1至7任一项所述的方法,其特征在于,所述根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向,包括:
根据行人航位推送技术和步长信息确定所述便携式电子设备的当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;
所述检测到所述当前位置的轨迹参数值满足预设的校准条件,将所述当前位置的坐标修正为所述第二校准点的坐标之后,还包括:
获取所述第一校准点和所述第二校准点之间的路径长度;
统计所述便携式电子设备在所述第一校准点和所述第二校准点之间的m个运动状态,以及所述m个运动状态各自对应的步数;
根据所述m个运动状态、所述m个运动状态各自对应的步数以及所述第一校准点和所述第二校准点之间的路径长度获取新的步长信息。
9.一种便携式电子设备,其特征在于,包括:
确定模块,用于根据航位推算技术确定所述便携式电子设备当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;其中,所述轨迹参数值包括曲率变化率、曲率半径变化率、曲率和曲率半径中的任意一种,所述便携式电子设备在预设的目标路径上运动,所述目标路径上设置有至少两个校准点;
获取模块,用于在所述运动方向为第一校准点至第二校准点时获取所述第二校准点的坐标;
校准模块,用于检测到所述当前位置的轨迹参数值满足预设的校准条件时,将所述当前位置的坐标修正为所述第二校准点的坐标;
其中,在所述目标路径为平滑的情况下,所述目标路径上的校准点为所述目标路径上轨迹参数值大于第一阈值的点;或,在所述目标路径为非平滑的情况下,所述目标路径上的校准点为所述目标路径上的转折点。
10.如权利要求9所述的便携式电子设备,其特征在于,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标。
11.如权利要求9所述的便携式电子设备,其特征在于,还包括:配置模块,用于在所述目标路径为平滑的情况下,确定所述目标路径上各个校准点划分的子路径的轨迹参数值范围,所述校准点为所述目标路径上轨迹参数值大于第一阈值的点;
其中,所述校准模块具体用于:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标。
12.如权利要求10所述的便携式电子设备,其特征在于,所述校准模块检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于所述第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与所述第二校准点之间的第一路径长度,以及获取所述第一校准点与所述第二校准点的第二路径长度;
将所述第一路径长度除以所述第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述计算得到的差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
13.如权利要求10所述的便携式电子设备,其特征在于,所述校准模块具体用于检测到所述当前位置的轨迹参数值大于第二阈值时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值大于第二阈值且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
14.如权利要求11所述的便携式电子设备,其特征在于,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间没有调头,获取所述当前位置与第二校准点之间的第一路径长度,以及获取所述第一校准点与第二校准点的第二路径长度;
将所述第一路径长度除以第二路径长度得到比例值;
若所述计算得到的比例值小于第三阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值的差值;
若所述差值小于第四阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
15.如权利要求11所述的便携式电子设备,其特征在于,所述校准模块检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内时,将所述当前位置的坐标修正为所述第二校准点的坐标,包括:
检测到所述当前位置的轨迹参数值位于以所述第二校准点为起点的子路径的轨迹参数值范围内且所述便携式电子设备在所述第一校准点和所述第二校准点之间发生一次调头,获取调头位置的坐标;
计算所述当前位置和所述调头位置之间的第三路径长度,以及所述第二校准点和所述调头位置之间的第四路径长度;
计算所述第三路径长度除以所述第四路径长度得到的比例值;
若所述计算得到的比例值大于第五阈值,获取所述第二校准点的轨迹参数值;
计算所述当前位置的轨迹参数值减去所述第二校准点的轨迹参数值得到的差值;
若所述计算得到的差值小于第六阈值,将所述当前位置的坐标修正为所述第二校准点的坐标。
16.如权利要求9至15任一项所述的便携式电子设备,其特征在于,所述确定模块具体用于根据行人航位推送技术和步长信息确定所述便携式电子设备的当前位置的坐标、所述当前位置的轨迹参数值和所述当前位置的运动方向;
所述便携式电子设备还包括:
长度获取模块,用于获取所述第一校准点和所述第二校准点之间的路径长度;
统计模块,用于统计所述便携式电子设备在所述第一校准点和所述第二校准点之间的m个运动状态,以及所述m个运动状态各自对应的步数;
步长计算模块,用于根据所述m个运动状态、所述m个运动状态各自对应的步数以及所述第一校准点和所述第二校准点之间的路径长度获取新的步长信息。
17.一种便携式电子设备,其特征在于,包括:
一个或多个处理器、存储器、总线***、收发器以及一个或多个程序,
所述处理器、所述存储器和所述收发器通过所述总线***相连;
其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述便携式电子设备执行时使所述便携式电子设备执行如权利要求1至8任一项所述的方法。
18.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被便携式电子设备执行时使所述便携式电子设备执行如权利要求1至8任一项所述方法。
CN201580042885.4A 2015-09-30 2015-09-30 一种基于航位推算技术的校准方法和便携式电子设备 Active CN107003132B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/091330 WO2017054205A1 (zh) 2015-09-30 2015-09-30 一种基于航位推算技术的校准方法和便携式电子设备

Publications (2)

Publication Number Publication Date
CN107003132A CN107003132A (zh) 2017-08-01
CN107003132B true CN107003132B (zh) 2021-05-04

Family

ID=58422607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580042885.4A Active CN107003132B (zh) 2015-09-30 2015-09-30 一种基于航位推算技术的校准方法和便携式电子设备

Country Status (4)

Country Link
US (1) US20180283873A1 (zh)
EP (1) EP3358300B1 (zh)
CN (1) CN107003132B (zh)
WO (1) WO2017054205A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6693540B2 (ja) * 2018-07-31 2020-05-13 横河電機株式会社 装置、方法およびプログラム
CN111121743B (zh) * 2018-10-30 2023-11-24 阿里巴巴集团控股有限公司 位置标定方法、装置及电子设备
CN113554932B (zh) * 2020-04-23 2022-07-19 华为技术有限公司 轨迹回放方法及装置
US20220113163A1 (en) * 2020-10-08 2022-04-14 Deere & Company Methods and apparatus to automate multi-point inertial sensor calibration
CN113932826B (zh) * 2021-10-13 2024-05-07 北京经纬恒润科技股份有限公司 一种车辆导航路径的优化方法及***
CN114399850B (zh) * 2021-12-27 2022-11-22 四川领歌智谷科技有限公司 基于语音及位置识别的考勤方法、电子学生证及存储介质
CN114518123B (zh) * 2022-02-24 2024-06-11 高德软件有限公司 信息处理方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998044362A2 (en) * 1997-03-31 1998-10-08 Leading Edge Technologies, Inc. Map-matching golf navigation system
US6188959B1 (en) * 1998-01-30 2001-02-13 Siemens Aktiengesellschaft Navigation device and method for position determination by means of dead reckoning
CN1617186A (zh) * 2003-11-12 2005-05-18 三星电子株式会社 非车载导航***及利用此***校正差错的方法
JP2006171456A (ja) * 2004-12-16 2006-06-29 Denso Corp 地図データ精度評価方法、地図データ精度評価装置、地図データ精度評価プログラムおよび修正地図データ生成方法
CN103852768A (zh) * 2012-12-06 2014-06-11 卡西欧计算机株式会社 Gps接收装置以及控制gps接收部的方法
DE102014007794A1 (de) * 2014-05-24 2014-10-23 Daimler Ag Verfahren zum Betrieb eines Fahrzeugleitsystems
CN104215238A (zh) * 2014-08-21 2014-12-17 北京空间飞行器总体设计部 一种智能手机室内定位方法
CN104977006A (zh) * 2015-08-11 2015-10-14 北京纳尔信通科技有限公司 一种基于模糊理论和多传感器融合的室内定位方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694251B2 (en) * 2010-11-25 2014-04-08 Texas Instruments Incorporated Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems
US10330491B2 (en) * 2011-10-10 2019-06-25 Texas Instruments Incorporated Robust step detection using low cost MEMS accelerometer in mobile applications, and processing methods, apparatus and systems
WO2015077514A1 (en) * 2013-11-20 2015-05-28 Certusview Technologies, Llc Systems, methods, and apparatus for tracking an object
US9884623B2 (en) * 2015-07-13 2018-02-06 GM Global Technology Operations LLC Method for image-based vehicle localization
EP3136054B1 (en) * 2015-08-28 2019-11-27 HERE Global B.V. Method, system, and computer program for determining a parametric site model from motion related sensor data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998044362A2 (en) * 1997-03-31 1998-10-08 Leading Edge Technologies, Inc. Map-matching golf navigation system
US6188959B1 (en) * 1998-01-30 2001-02-13 Siemens Aktiengesellschaft Navigation device and method for position determination by means of dead reckoning
CN1617186A (zh) * 2003-11-12 2005-05-18 三星电子株式会社 非车载导航***及利用此***校正差错的方法
JP2006171456A (ja) * 2004-12-16 2006-06-29 Denso Corp 地図データ精度評価方法、地図データ精度評価装置、地図データ精度評価プログラムおよび修正地図データ生成方法
CN103852768A (zh) * 2012-12-06 2014-06-11 卡西欧计算机株式会社 Gps接收装置以及控制gps接收部的方法
DE102014007794A1 (de) * 2014-05-24 2014-10-23 Daimler Ag Verfahren zum Betrieb eines Fahrzeugleitsystems
CN104215238A (zh) * 2014-08-21 2014-12-17 北京空间飞行器总体设计部 一种智能手机室内定位方法
CN104977006A (zh) * 2015-08-11 2015-10-14 北京纳尔信通科技有限公司 一种基于模糊理论和多传感器融合的室内定位方法

Also Published As

Publication number Publication date
US20180283873A1 (en) 2018-10-04
WO2017054205A1 (zh) 2017-04-06
EP3358300A4 (en) 2018-09-12
EP3358300B1 (en) 2020-02-12
CN107003132A (zh) 2017-08-01
EP3358300A1 (en) 2018-08-08

Similar Documents

Publication Publication Date Title
US11262905B2 (en) Device, method, and graphical user interface for navigation of information in a map-based interface
CN107003132B (zh) 一种基于航位推算技术的校准方法和便携式电子设备
CN110779543B (zh) 用于协调与导航相关的警报的方法及电子设备
CN108317996B (zh) 一种确定楼层方法、相关设备和***
CN107533360B (zh) 一种显示、处理的方法及相关装置
US10366523B2 (en) Method, system and apparatus for providing visual feedback of a map view change
US8456297B2 (en) Device, method, and graphical user interface for tracking movement on a map
US9322665B2 (en) System and method for navigation with inertial characteristics
US8775068B2 (en) System and method for navigation guidance with destination-biased route display
US9224218B2 (en) System and method for loading and rendering curved features in a map
US9069440B2 (en) Method, system and apparatus for providing a three-dimensional transition animation for a map view change
WO2020263375A1 (en) User interfaces for a compass application
US9208698B2 (en) Device, method, and graphical user interface for manipulating a three-dimensional map view based on a device orientation
EP2715496A1 (en) Devices, methods, and graphical user interfaces for navigating and editing text
EP2607853B1 (en) Device, method, and graphical user interface for selection of views in a three-dimensional map based on gesture inputs
CN106233237A (zh) 一种处理与应用关联的新消息的方法和装置
CN110100154B (zh) 用于启动应用的设备、方法和图形用户界面

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant