KR20150082374A - 모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정 - Google Patents

모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정 Download PDF

Info

Publication number
KR20150082374A
KR20150082374A KR1020157014145A KR20157014145A KR20150082374A KR 20150082374 A KR20150082374 A KR 20150082374A KR 1020157014145 A KR1020157014145 A KR 1020157014145A KR 20157014145 A KR20157014145 A KR 20157014145A KR 20150082374 A KR20150082374 A KR 20150082374A
Authority
KR
South Korea
Prior art keywords
mobile device
accelerometer
coordinate system
target plane
measurements
Prior art date
Application number
KR1020157014145A
Other languages
English (en)
Inventor
아빈드 라마난단
마헤시 라마찬드란
크리스토퍼 브루너
무랄리 라마스와니 샤리
Original Assignee
퀄컴 인코포레이티드
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 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20150082374A publication Critical patent/KR20150082374A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • 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
    • 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
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • G01P13/02Indicating direction only, e.g. by weather vane
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/12Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

모바일 디바이스 내에 위치되는 가속도계는 세계 좌표계에서 타겟 평면 상에서 중력 벡터를 추정하기 위해 이용된다. 가속도계는 다수의 측정들을 수행하고, 각각의 측정은 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해진다. 측정들의 평균이 계산된다. 가속도계의 좌표계와 모바일 디바이스의 좌표계 사이의 회전 변환은 모바일 디바이스 내의 메모리로부터 리트리브되고, 여기서, 모바일 디바이스의 좌표계는 모바일 디바이스의 표면과 정렬된다. 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 회전 변환은 평균화된 측정들에 적용된다.

Description

모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정{ESTIMATING THE GRAVITY VECTOR IN A WORLD COORDINATE SYSTEM USING AN ACCELEROMETER IN A MOBILE DEVICE}
[0001] 본원에 개시된 청구대상은 일반적으로, 중력 벡터들을 측정하기 위한, 가속도계의 이용에 관한 것이다.
[0002] 가속도계(모션 센서로 또한 지칭됨)는 그것이 자유낙하(freefall)(또는 관성)에 대해 경험하는 가속도인 적절한 가속도를 측정한다. 적절한 가속도는 가속도계의 기준의 프레임에 상주하는 프루프 매스(proof mass)에 의해 경험되는 무게의 현상과 연관된다. 가속도계는, 비력 또는 g-포스로 또한 알려져 있는 양인, 프루프 매스의 단위당 무게를 측정한다. 개념적으로, 가속도계는 스프링 상에서 댐프드 매스(damped mass)로서 작동한다. 가속도계는 가속을 경험하고, 프루프 매스의 포지션은 프레임에 대해 변위된다. 그 변위는 가속을 결정하기 위해 측정된다.
[0003] 자이로스코프(회전 센서로 또한 지칭됨)는 관성 기준 프레임에서 시스템의 각 속도를 측정한다. 초기 조건으로서 관성 기준 프레임에서 시스템의 원래의 방향을 이용하고, 각 속도를 통합시킴으로써, 시스템의 현재 방향이 공지될 수 있다. 개념적으로, 자이로스코프는 각 운동량 보존의 원리에 기초하여 그것의 방향을 유지하는 스피닝 회전자이다. 이 현상은 항공기 및 우주선에서의 나침반들 및 안정판들과 같은 많은 애플리케이션들에서 방향을 측정 및 유지하기 위해 이용될 수 있다.
[0004] 가속도계들 및 자이로스코프들은 다양한 가전 제품들에 통합되었다. 가속도계들 및 자이로스코프들의 통합은 더 정확한 그리고 강건한 AR(augmented reality) 애플리케이션들, SLAM(simultaneous localization and mapping) 애플리케이션들, 컴퓨터 비전 애플리케이션들, 네비게이션 애플리케이션들, 안정도 제어 애플리케이션들 및 광범위한 다른 애플리케이션들을 허용한다.
[0005] 예를 들어, AR에 대한 다수의 위에서 언급된 애플리케이션들 및 컴퓨터 비전 애플리케이션들에 있어서, 가정들 중 하나는 타겟 좌표계에서의 중력 벡터가 공지된다는 것이다. 타겟 좌표계의 예는 AR 타겟이 디스플레이될 좌표계이다. 그러나, 이 중력 벡터는 일반적으로, 실제로 공지되어 있지 않으며, 일반적으로, AR 또는 SLAM 애플리케이션과 같은 애플리케이션으로부터의 요청에 응답하여 측정된다. 측정들에 대한 정확한 요건은 꽤 높고(예를 들어, 1도(degree) 미만); 그렇지 않으면 측정들은 사용할 수 없을 것이다. 더 높은 정확성은 더 양호한 수행 애플리케이션 또는 더 요구되는 이용 경우들을 초래할 것이다. 타겟 좌표계에서 중력 벡터를 측정하기 위한 기존의 가속도계-보조 기법들은 전형적으로, 각각의 단계가 에러들을 초래할 수 있는 다수의 변환 단계들에서의 에러 누적들로 인하여 낮은 정확성을 가진다.
[0006] 모바일 디바이스 내에 위치되는 가속도계는 세계 좌표계에서 타겟 평면 상에서 중력 벡터를 추정하기 위해 이용된다. 일 실시예에서, 모바일 디바이스의 프로세서는 가속도계로부터 복수의 측정들을 수신한다. 측정들 각각은, 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해진다. 프로세서는 측정들의 평균을 계산하고, 모바일 디바이스 내의 메모리로부터, 가속도계 좌표계와 디바이스 좌표계 사이의 회전 변환을 리트리브하며, 여기서, 디바이스 좌표계는 모바일 디바이스의 표면과 정렬된다. 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 회전 변환은 평균화된 측정들에 적용된다.
[0007] 또 다른 실시예에서, 모바일 디바이스는 가속도계, 가속도계의 좌표계와 모바일 디바이스의 좌표계 사이의 회전 변환을 저장하기 위한 메모리, 및 메모리 및 가속도계에 커플링된 프로세서를 포함한다. 프로세서는, 가속도계로부터 복수의 측정들을 수신하고 ― 측정들 각각은, 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ; 측정들의 평균을 계산하고; 메모리로부터 회전 변환을 리트리브하고 ― 모바일 디바이스의 좌표계는 모바일 디바이스의 표면과 정렬됨 ― ; 그리고 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 평균에 회전 변환을 적용시키도록 구성된다.
[0008] 또 다른 실시예에서, 컴퓨터 프로그램 물건은 컴퓨터 판독가능한 매체를 포함하고, 컴퓨터 판독가능한 매체는, 가속도계로부터 복수의 측정들을 수신하기 위한 코드 ― 측정들 각각은, 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ; 측정들의 평균을 계산하기 위한 코드; 모바일 디바이스 내의 메모리로부터, 가속도계의 좌표계와 모바일 디바이스의 좌표계 사이의 회전 변환을 리트리브하기 위한 코드 ― 모바일 디바이스의 좌표계는 모바일 디바이스의 표면과 정렬됨 ― ; 및 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 평균에 회전 변환을 적용시키기 위한 코드를 포함한다.
[0009] 또 다른 실시예에서, 모바일 디바이스는, 가속도계로부터 복수의 측정들을 수신하기 위한 수단 ― 측정들 각각은, 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ; 측정들의 평균을 계산하기 위한 수단; 모바일 디바이스 내의 메모리로부터, 가속도계의 좌표계와 모바일 디바이스의 좌표계 사이의 회전 변환을 리트리브하기 위한 수단 ― 모바일 디바이스의 좌표계는 모바일 디바이스의 표면과 정렬됨 ― ; 및 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 평균에 회전 변환을 적용시키기 위한 수단을 포함한다.
[0010] 도 1은 본 발명의 실시예들이 실시될 수 있는 모바일 디바이스의 블록도이다.
[0011] 도 2a 및 도 2b는 도 1의 모바일 디바이스의 사이드 프로파일(side profile)의 예들을 예시한다.
[0012] 도 3a, 도 3b, 도 3c 및 도 3d는 중력 벡터가 추정될 타겟 평면의 예들을 예시한다.
[0013] 도 4는 일 실시예에 따라, 모바일 디바이스 내의 가속도계를 이용하여 세계 좌표계에서 중력 벡터를 추정하기 위한 방법을 예시하는 흐름도이다.
[0014] "예시적" 또는 "예"라는 용어는 본원에서 "예, 예시 또는 예증으로서 제공되는"의 의미로 이용된다. "예시적"으로서 또는 "예"로서 본원에 설명되는 임의의 양상 또는 실시예가 반드시 다른 양상들 또는 실시예들보다 선호되거나 또는 유리한 것으로 해석되는 것은 아니다.
[0015] 본 발명의 실시예들은 모바일 폰과 같은 모바일 디바이스 내의 가속도계를 이용하여 타겟 평면에 대한 중력 벡터를 추정하기 위한 방법을 제공한다. AR 애플리케이션들에 있어서, 타겟 평면은 AR 타겟이 디스플레이될 피처 평면(feature plane)이다. 타겟 평면은 임의의 방향을 가질 수 있는데; 예를 들어, 타겟 평면은 수평축과 정렬되거나, 수직축과 정렬되거나, 수평 또는 수직축에 대해 기울어질 수 있다. 이 타겟 평면은 AR 애플리케이션들에 대한 세계 좌표계를 정의한다. 모바일 디바이스는 세계 좌표계에서 중력 벡터를 추정 또는 측정하기 위한 편리한 툴로서 역할을 할 수 있다. 본원에 설명된 추정 기법은 AR 애플리케이션들에 제한되는 것이 아니며, 그것은, 타겟 평면이, 중력 벡터가 공지되지 않고 측정될 필요가 있는 평면일 수 있는 광범위한 애플리케이션들에 적용가능하다는 것이 인식된다.
[0016] 본원에서 이용되는 바와 같이, "세계 좌표계", "추적 좌표계" 또는 "타겟 좌표계"라는 용어는 타겟 평면에 의해 정의된 2-D 좌표 평면을 가지는 좌표계를 지칭한다. 즉, 세계 좌표계의 x-y(또는 x-z 또는 y-z) 좌표 평면은 타겟 평면과 평행하다. "가속도계 좌표계"라는 용어는 모바일 디바이스 내의 가속도계의 좌표계를 지칭한다. "디바이스 좌표계" 또는 "표면 좌표계"라는 용어는 모바일 디바이스의 표면에 의해 정의된 2-D 좌표 평면을 가지는 좌표계를 지칭한다. 일 실시예에서, 모바일 디바이스는 모바일 디바이스의 한 표면(전방 또는 후방 표면)에 의해 정의된 오직 하나의 디바이스 좌표계를 가질 수 있다. 이 표면은 모바일 디바이스의 "좌표 표면"으로 지칭된다. 그 후방 표면에 평행하는 그 전방 표면을 가지는 모바일 디바이스에 있어서, 모바일 디바이스의 전방 표면 및 후방 표면 둘 모두가 좌표 표면일 수 있다. 모바일 디바이스의 전방 표면이 후방 표면과 평행하지 않으면, 디바이스 좌표계를 정의하는, 모바일 디바이스의 오직 하나의 표면(전방 또는 후방)은 좌표 표면이다. 또 다른 실시예에서, 모바일 디바이스는 2개의 디바이스 좌표계들을 가질 수 있는데, 하나는 전방 표면에 의해 정의되고, 다른 하나는 후방 표면에 의해 정의된다. 모바일 디바이스는 좌표 표면으로서 전방 표면 또는 후방 표면을 선택할 수 있다. 일 실시예에서, 모바일 디바이스는 전방 또는 후방 표면과의 정렬을 위해 메모리로부터 2개의 회전 변환들 중 하나를 리트리브하도록 구성될 수 있으며, 여기서, 2개의 회전 변환들은 가속도계의 좌표계와 모바일 디바이스의 전방 표면 사이의 제 1 변환, 및 가속도계의 좌표계와 모바일 디바이스의 후방 표면 사이의 제 2 변환을 포함한다.
[0017] 일 실시예에서, 사용자는, 좌표 표면이 타겟 평면과 평행하도록, 타겟 평면 상에 모바일 디바이스의 좌표 표면을 견고하게 배치한다. 모바일 디바이스가 견고하게 배치되어 움직이지 않는 이후, 모바일 디바이스 내의 가속도계는 하나 또는 둘 이상의 측정들을 수행한다. 각각의 측정은 가속도계 좌표계에서 측정된 중력 벡터이다. 디바이스 좌표계와 가속도계 좌표계 사이의 회전 변환이 공지되면, 모바일 디바이스 내의 컨버전 엔진은 가속도계 좌표계로부터 디바이스 좌표계로 중력 측정들을 컨버팅할 수 있다. 모바일 디바이스의 좌표 표면이 타겟 평면과 평행함에 따라, 디바이스 좌표계에서의 중력 측정들은 세계 좌표계에서의 중력 측정들과 동일하다. 중력 측정들은 세계 좌표계에서의 타겟 평면에 대한 중력 벡터의 정확한 추정치를 획득하기 위해 시간 윈도우 상에서 평균화될 수 있다.
[0018] 세계 좌표계에서 측정된 중력 벡터는 AR, SLAM 및 다양한 다른 애플리케이션들에 대해 이용될 수 있다. 일 실시예에서, 가속도계는, 가속도계의 좌표계가 모바일 디바이스의 표면과 정렬하도록, 공장-교정(factory-calibrated)된다. 사용자-수행 교정과 같은 다른 교정 기법들이 또한 이용될 수 있다. 정렬 결과는 모바일 디바이스의 메모리에 저장될 수 있는 회전 변환이다. 따라서, 모바일 디바이스는 1회 정렬(교정)될 수 있고, 정렬 결과는 후속 측정들에서 이용될 수 있다.
[0019] 도 1은 본 발명의 실시예들이 실시될 수 있는 시스템을 예시하는 블록도이다. 시스템은 프로세서(110), 메모리(120), 인터페이스(160) 및 하나 또는 둘 이상의 센서들, 이를테면, 가속도계(130) 및 자이로스코프(140)를 포함할 수 있는 모바일 디바이스(100)일 수 있다. 일 실시예에서, 모바일 디바이스(100)는 가속도계(130) 및 자이로스코프(140) 둘 모두를 포함할 수 있고; 대안적 실시예에서, 모바일 디바이스(100)는 오직 가속도계(130)만을 포함할 수 있다. 모바일 디바이스(100)가 또한, 디스플레이 디바이스, 사용자 인터페이스(예를 들어, 키보드, 터치-스크린 등), 전력 디바이스(예를 들어, 배터리)뿐만 아니라, 모바일 통신 디바이스와 전형적으로 연관된 다른 컴포넌트들을 포함할 수 있다는 것이 인식되어야 한다. 예를 들어, 인터페이스(160)는 무선 네트워크로/로부터 무선 링크를 통해 무선 신호들을 송신 및 수신하기 위한 무선 트랜시버일 수 있거나, 네트워크들(예를 들어, 인터넷)로의 직접 연결을 위한 유선 인터페이스일 수 있다. 따라서, 모바일 디바이스(100)는, 모바일 폰(예를 들어, 셀 폰, 스마트 폰 등), 개인용 디지털 보조기, 모바일 컴퓨터, 태블릿, 개인용 컴퓨터, 랩탑 컴퓨터, e-리더, 또는 모션 감지 및/또는 회전 감지 능력들을 가지는 임의의 타입의 모바일 디바이스일 수 있다.
[0020] 일 실시예에서, 프로세서(110)는 하드웨어, 펌웨어, 소프트웨어, 또는 위의 것들 중 임의의 것의 결합으로 구현될 수 있는 컨버전 엔진(115)을 포함할 수 있다. 일 실시예에서, 프로세서(110)는 메모리(120)로부터 저장된 회전 변환을 리트리브하는 컨버전 엔진(115)의 동작들을 수행하기 위한 명령들을 실행시키도록 구성되는 범용 프로세서 또는 특수-목적 프로세서일 수 있으며, 여기서, 회전 변환은 가속도계 좌표계에서의 가속도 측정을 디바이스 좌표계에서의 대응하는 벡터로 변환한다. 컨버전 엔진(115)은 아래에서 설명될 프로세스에서 세계 좌표계에서 중력 벡터를 컴퓨팅하기 위해 가속도계 측정들에 회전 변환을 적용시킬 수 있다.
[0021] 메모리(120)는 프로세서(110)에 의한 실행을 위한 명령들을 저장하기 위한 프로세서(110)에 커플링될 수 있다. 메모리(120)는 가속도계 좌표계와 디바이스 좌표계 사이의 회전 변환을 포함하는 디바이스 프로파일(121)을 저장할 수 있다. 모바일 디바이스(100)가 좌표 표면으로서 그것의 표면들 중 하나를 선택할 수 있는 실시예에서, 메모리(120)는 하나 초과의 회전 변환을 저장할 수 있는데, 예를 들어, 하나의 회전 변환은 전방 표면에 대한 것이고, 또 다른 회전 변환은 후방 표면에 대한 것이다. 본 발명의 실시예들에 따라, 모바일 디바이스의 디바이스 프로파일(121)은, 측정 스케일, 센서들의 크로스토크(crosstalk) 및 센서들과 카메라 사이의 정렬, 센서 바이어스들과 같은 다른 센서 교정 파라미터들에 의한 회전 변환을, 만약 있다면 모바일 디바이스에 저장할 수 있다.
[0022] 이하에 설명될 바와 같은 본 발명의 실시예들이 모바일 디바이스(100)의 프로세서(110), 및/또는 모바일 디바이스(100) 및/또는 다른 디바이스들의 다른 회로에 의한 명령들의 실행과 함께 구현될 수 있다는 것이 인식되어야 한다. 특히, 프로세서(110)를 포함하는(그러나, 이에 제한되는 것은 아님) 모바일 디바이스(100)의 회로는, 프로그램의 제어 하에, 본 발명의 실시예들에 따라 방법들 또는 프로세스들을 실행하기 위한 명령들의 루틴 또는 실행을 동작시킬 수 있다. 예를 들어, 이러한 프로그램은 (예를 들어, 메모리(120) 및/또는 다른 위치들에 저장되는) 펌웨어 또는 소프트웨어로 구현될 수 있으며, 프로세서(110)와 같은 프로세서들, 및/또는 모바일 디바이스(100)의 다른 회로에 의해 구현될 수 있다. 추가로, 프로세서, 마이크로프로세서, 회로 제어기 등의 용어들이 로직, 커맨드들, 명령들, 소프트웨어, 펌웨어, 기능 등을 실행시킬 수 있는 임의의 타입의 로직 또는 회로를 지칭한다는 것이 인식되어야 한다.
[0023] 도 2a는 일 실시예에 따른 모바일 디바이스(100)의 사이드 프로파일을 예시한다. 도 2a에서 보여지는 바와 같은 모바일 디바이스(100)는 상부 표면 및 하부 표면을 가지며, 여기서 하부 표면은 모바일 디바이스(100)의 전면(front side) 또는 후면일 수 있다. 도 2a는 x-y 좌표 평면을 가지는 디바이스 좌표계(182)가 하부 표면과 평행함을 도시한다. 이로써, 하부 표면은, 디바이스 좌표계(182)가 정렬되는 표면인, 모바일 디바이스(100)에 대한 좌표 표면(170)이다. 이 좌표 표면(170)은 세계 좌표계를 정의하는 타겟 평면(180) 상에 배치될 것이다.
[0024] 도 2b는 또 다른 실시예에 따른 모바일 디바이스(100)의 사이드 프로파일을 예시한다. 도 2b에서 보여지는 바와 같은 모바일 디바이스(100)는 오목한 하부 표면을 가지며, 여기서 오목한 하부 표면은 모바일 디바이스(100)의 전면 또는 후면일 수 있다. 오목한 하부 표면의 컨벡스 헐(convex hull)은 평면 표면(175)을 정의한다. 도 2b는 디바이스 좌표계(182)의 x-y 좌표 평면은 평면 표면(175)과 평행함을 보여준다. 이로써, 평면 표면(175)은 디바이스 좌표계(182)가 정렬되는 표면인, 모바일 디바이스(100)에 대한 좌표 표면이다. 이 좌표 표면은 세계 좌표계를 정의하는 타겟 평면(180) 상에 배치될 것이다.
[0025] 모바일 디바이스(100)가 좌표 표면으로서 자신의 전방 표면 또는 후방 표면을 선택할 수 있는 실시예에서, 선택은 모바일 디바이스(100)의 어느 표면이 배치되어 타겟 평면(180)과 컨택하는지에 기초한다. 디바이스 좌표계(182)는 선택에 기초하여 정의된다. 선택이 수행되면, 모바일 디바이스(100)는 디바이스 좌표계(182)에 대한 대응하는 회전 변환을 리트리브할 수 있다.
[0026] 가속도계(130)는 그것이 고정될 때 중력 벡터를 측정한다. 가속도계 좌표계(183)는 가속도계 측정들 모두가 놓이는 좌표계이다. 가속도계 좌표계(183)는 반드시, 디바이스 좌표계(182)와 정렬되는 것은 아니다. 표면 좌표계(182)의 x-y 평면이 가속도계 좌표계(183)의 x-y 평면과 정렬되지 않을 때, 가속도계 좌표계(183) 및 디바이스 좌표계(182)는 오정렬된다. 본원에 설명된 오정렬은 회전 오정렬이다. 이 회전 오정렬은 모바일 디바이스(100)를 제조하는 공장에 의해 또는 사용자 교정 프로세스를 수행하는 사용자에 의해 교정될 수 있다. 교정 결과는 도 1의 메모리(120)에 저장되는 회전 변환이다. 일 실시예에서, 회전 변환은 회전 행렬의 형태이다. 회전 변환은 가속도계 좌표계(183)로부터 디바이스 좌표계(182)로 가속도계 측정을 변환한다. 가속도계 좌표계(183)가 디바이스 좌표계(182)와 정렬되면, 회전 행렬은 아이덴티파이 행렬(identify matrix)이고, 어떠한 변환도 필요하지 않다.
[0027] 해수면에서 측정된 9.81 m/s2와 동일한 중력 벡터 g는 똑바르게 아래로 지구 중심을 향한다. 중력 벡터 g는 똑바르게 아래로 지구 중심을 향하는 z축을 가지는 좌표계에서 [0, 0, 9.81]로 표현될 수 있다. 가속도계(130)에 의해 측정된 중력 벡터는, 중력 벡터 g와 동일한 벡터 길이(해수면에서 측정된 9.81 m/s2)를 가지지만 가속도계(130)의 방향 및 교정 에러들로 인한 g의 회전된 버전일 수 있는 g'이다. 예를 들어, 측정된 중력 벡터 g'는 가속도계 좌표계(183)에서 [5, 2.69, 8]일 수 있다. 가속도계 좌표계(183) 및 디바이스 좌표계(182)가 정렬되면, 디바이스 좌표계(182)에서의 중력 벡터는 또한 g'일 것이다. 그러나, 가속도계 좌표계(183) 및 디바이스 좌표계(182)가 오정렬될 때, 디바이스 좌표계(182)에서의 중력 벡터 g"는 3-D 유클리드 프레임에서의 각만큼 g'로부터 추가로 회전된다. 모바일 디바이스(100)에 저장된 회전 변환은 g'로부터 g"로의 변환이다. 측정된 중력 벡터의 길이가 9.81보다 크다면, 중력 측정에 바이어스가 존재한다. 중력 측정들로부터 바이어스들을 제거하기 위한 기법들은, 바이어스의 양이 작을 때(예를 들어, 사인들 및 코사인들이 그 영역에서 직선들에 의해 근사화될 수 있는 +/- 3 정도 내) 정확한 결과들을 생성하는 확장된 칼만 필터링을 포함한다. 대안적 필터링 기법들이 또한 이용될 수 있다.
[0028] 도 3a-3d는, 이를테면, 수평축(도 3a 및 도 3b), 수직(도 3c) 및 수평(도 3d) 방향들에 대해 기울어지는 서로 다른 방향들을 가지는 타겟 평면들(210-240)의 예들을 예시한다. 각각의 타겟 평면(210-240)은 모바일 디바이스(100)를 향하는 평면 표면을 가지고, 모바일 디바이스(100)를 향하는 표면의 적어도 일부분은 평면이다. 타겟 평면(210-240)에 대한 중력 벡터를 추정하기 위해, 사용자는, 움직임 없이 타겟 평면의 평면 표면 상에 모바일 디바이스(100)를 견고하게 홀딩할 수 있다. 그 다음, 가속도계(130)는 모바일 디바이스(100)가 고정되어 움직이지 않는 동안 측정들을 취할 수 있다. 타겟 평면(210-240)을 향하는 모바일 디바이스(100)의 표면은 그것의 좌표 표면(예를 들어, 도 2a 및 도 2b의 표면(170 또는 175)), 즉, 디바이스 좌표계(182)와 정렬되는 모바일 디바이스의 표면이다. 이 좌표 표면(170 또는 175)은 가속도계(130)가 측정들을 취할 때 타겟 평면(210-240)의 평면 표면에 평행하게 홀딩된다.
[0029] 도 4는 중력 벡터를 추정하기 위한 방법(400)의 실시예를 예시한다. 일 실시예에서, 방법(400)은 가속도계(130)의 측정들을 이용하여 모바일 디바이스, 이를테면, 도 1a의 프로세서(110)에 의해 수행된다. 일 실시예에서, 방법(400)은 하드웨어, 소프트웨어, 펌웨어 또는 위의 것 중 임의의 것의 결합에 의해 수행될 수 있다.
[0030] 일 실시예에서, 모바일 디바이스의 프로세서는 모바일 디바이스 내에 위치된 가속도계로부터 복수의 측정들을 수신한다(블록(401)). 측정들 각각은, 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 모바일 디바이스의 표면이 타겟 평면의 평면 부분을 향하고 그와 컨택될 때 취해진다. 프로세서는 측정들의 평균을 계산하고(블록(402)), 모바일 디바이스 내의 메모리로부터, 가속도계 좌표계와 디바이스 좌표계 사이의 회전 변환을 리트리브하며(블록(403)), 여기서 디바이스 좌표계는 모바일 디바이스의 표면과 정렬된다. 만약 있다면, 가속도계 바이어스는 측정들의 평균으로부터 제거된다. 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 (제거된 바이어스를 가지는) 평균화된 측정들에 회전 변환이 적용된다(블록(404)).
[0031] 일 실시예에서, 모바일 디바이스(100)는 타겟 평면에 대한 중력 벡터의 추정을 시작하기 위해 타겟 평면 상에 디바이스를 배치하도록 사용자를 프롬프트하는 애플리케이션을 실행시킬 수 있다. 애플리케이션은 사용자로부터 트리거를 수신할 시 그리고/또는 가속도계(130)가 디바이스가 고정되어 있음을 감지할 때 다수의 측정들을 취하도록 가속도계(130)에 지시하기 위한 명령들을 포함할 수 있다. 방법(400)에 따라 측정들에 회전 변환을 적용시킨 이후, 애플리케이션은 세계 좌표계에서 추정된 중력 벡터를 이용하여 AR, SLAM 애플리케이션들 또는 다른 목적들, 이를테면, 가속기(및 자이로스코프) 보조 AR, SLAM에서의 맵 구축, SLAM에서의 동적 오브젝트 핸들링, 수평 좌표계로의 SLAM 맵들의 할당 등에 대한 추가 파라미터들을 컴퓨팅할 수 있다.
[0032] 예를 들어, 사용자가 세계(즉, 타겟 평면)에 대해 모바일 디바이스(100)를 로케이팅하기를 원할 때, 모바일 디바이스(100)가 컴퓨팅할 수 있는 하나의 추가 파라미터는 세계 좌표계에서의 모바일 디바이스(100)의 포지션 벡터이다. 포지션 벡터는 모바일 디바이스(100)가 세계 좌표계의 원점으로부터 얼마나 멀리 있는지 그리고 모바일 디바이스(100)가 어느 방향으로 움직이고 있는지를 표시한다. 포지션 벡터는 모바일 디바이스(100)가 움직이고 있는 동안 가속도계(130)를 이용하여 컴퓨팅될 수 있다. 세계 좌표계에서의 모바일 디바이스(100)의 가속도는 가속도계(130)에 의해 측정된 중력 벡터로부터 타겟 평면에 대한 중력 벡터를 차감함으로써 가속도계 측정들로부터 추출될 수 있다. 모바일 디바이스(100)의 속도는 시간이 지남에 따라 가속도를 통합시킴으로써 획득될 수 있고, 모바일 디바이스(100)의 포지션 벡터는 시간이 지남에 따라 속도를 통합시킴으로써 획득된다. 모바일 디바이스(100)의 방향은, 모바일 디바이스(100)의 각 회전을 추적하는, 모바일 디바이스(100) 내의 자이로스코프(140)에 의해 측정될 수 있다.
[0033] 위에서 설명된 모바일 디바이스(100)가 무선 모바일 디바이스일 때, 그것은 임의의 적합한 무선 통신 기술에 기초하는 또는 그렇지 않으면 임의의 적합한 무선 통신 기술을 지원하는 무선 네트워크를 통해 하나 또는 둘 이상의 무선 통신 링크들을 경유하여 통신할 수 있다는 것이 인식되어야 한다. 예를 들어, 일부 양상들에서, 컴퓨팅 디바이스 또는 서버는 무선 네트워크를 포함하는 네트워크와 연관될 수 있다. 일부 양상들에서, 네트워크는 신체 영역 네트워크 또는 개인 영역 네트워크(예를 들어, 초광대역 네트워크)를 포함할 수 있다. 일부 양상들에서, 네트워크는 로컬 영역 네트워크 또는 광역 네트워크를 포함할 수 있다. 무선 디바이스는, 예를 들어, CDMA, TDMA, OFDM, OFDMA, WiMAX 및 Wi-Fi와 같은 다양한 무선 통신 기술들, 프로토콜들 또는 표준들 중 하나 또는 둘 이상을 지원하거나 또는 그렇지 않으면 이들을 이용할 수 있다. 유사하게, 무선 디바이스는 다양한 대응하는 변조 또는 멀티플렉싱 방식들 중 하나 또는 둘 이상을 지원 또는 그렇지 않으면 이용할 수 있다. 따라서, 무선 디바이스는 상기 또는 다른 무선 통신 기술들을 이용하여 하나 또는 둘 이상의 무선 통신 링크들을 통해 설정 및 통신하기 위한 적절한 컴포넌트들(예를 들어, 에어 인터페이스들)을 포함할 수 있다. 예를 들어, 디바이스는 무선 매체 상에서 통신을 가능하게 하는 다양한 컴포넌트들(예를 들어, 신호 생성기들 및 신호 프로세서들)을 포함할 수 있는 연관된 송신기 및 수신기 컴포넌트들(예를 들어, 송신기 및 수신기)을 갖는 무선 트랜시버를 포함할 수 있다. 따라서, 잘 알려져 있는 바와 같이, 모바일 무선 디바이스는 다른 모바일 디바이스들, 셀 폰들, 다른 유선 및 무선 컴퓨터들, 인터넷 웹사이트들 등과 무선으로 통신할 수 있다.
[0034] 본원에 설명되는 기법들은, CDMA(Code Division Multiple Access), TDMA(Time division multiple access), FDMA(Frequency Division Multiple Access), OFDMA(Orthogonal Frequency-Division Multiple Access), SC-FDMA(Single Carrier FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들에 대해 이용될 수 있다. "시스템"과 "네트워크"라는 용어들은 흔히 상호 교환가능하게 이용된다. CDMA 시스템은 UTRA(Universal Terrestrial Radio Access), CDMA2000 등과 같은 라디오 기술을 구현할 수 있다. UTRA는 와이드밴드-CDMA(W-CDMA) 및 CDMA의 다른 변형들을 포함한다. CDMA2000은 IS(Interim Standard)-2000, IS-95 및 IS-856 표준들을 커버한다. TDMA 시스템은 GSM(Global System for Mobile Communications)과 같은 라디오 기술을 구현할 수 있다. OFDMA 시스템은 이볼브드 유니버셜 지상 라디오 액세스; (Evolved UTRA 또는 E-UTRA), UMB(Ultra Mobile Broadband), IEEE(Institute of Electrical and Electronics Engineers) 802.11(Wi-Fi), IEEE 802.16(WiMAX), IEEE 802.20, 플래시-OFDM.RTM. 등과 같은 라디오 기술을 구현할 수 있다. UTRA(Universal Terrestrial Radio Access) 및 E-UTRA는 UMTS(Universal Mobile Telecommunication System)의 부분이다. 3GPP LTE(Long Term Evolution)은 다운링크에 대해서는 OFDMA를 그리고 업링크에 대해서는 SC-FDMA를 이용하는 E-UTRA를 이용하는 UMTS의 향후 릴리스(release)이다. UTRA, E-UTRA, UMTS, LTE 및 GSM은 3GPP("3rd Generation Partnership Project")로 명명된 기구로부터의 문서들에 설명되어 있다. CDMA2000 및 UMB는 3GPP2("3rd Generation Partnership Project 2")로 명명된 기구로부터의 문서들에 설명되어 있다.
[0035] 본원에 설명된 기법들은 다양한 모바일 장치들(예를 들어, 디바이스들)로 통합(예를 들어, 다양한 모바일 장치들(예를 들어, 디바이스들) 내에서 구현되거나 이들에 의해 수행)될 수 있다. 예를 들어, 본원에 교시되는 하나 또는 둘 이상의 양상들은 폰(예를 들어, 셀룰러 폰), PDA("personal data assistant"), 태블릿, 모바일 컴퓨터, 랩탑 컴퓨터, 테블릿, 엔터테인먼트 디바이스(예를 들어, 뮤직 또는 비디오 디바이스), 헤드셋(예를 들어, 헤드폰들, 이어피스 등), 의료 디바이스(예를 들어, 생체인식 센서, 심박계, 보수계(pedometer), EKG 디바이스 등), 사용자 I/O 디바이스, 판매 시점 관리(point-of-sale) 디바이스, 엔터테인먼트 디바이스 또는 임의의 다른 적합한 디바이스에 통합될 수 있다. 이 디바이스들은 서로 다른 전력 및 데이터 요건들을 가질 수 있다.
[0036] 당업자들은 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명 전체에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광 필드들 또는 광 입자들 또는 이들의 임의의 결합으로 표현될 수 있다.
[0037] 당업자들은, 본원에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수 있다는 것을 추가로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 일반적으로 이들의 기능적 관점에서 위에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 전체 시스템 상에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위로부터의 이탈을 야기하게 하는 것으로 해석되지는 않아야 한다.
[0038] 본원에서 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들 또는 본원에 설명되는 기능들을 수행하도록 설계되는 이들의 임의의 결합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어, DSP 및 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 둘 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.
[0039] 본원에 개시된 실시예들과 관련하여 설명된 알고리즘 또는 방법의 단계들은 직접 하드웨어로 구현되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 이동식(removable) 디스크, CD-ROM 또는 당해 기술 분야에 공지되어 있는 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 이러한 프로세서가 저장 매체로부터 정보를 판독하고 그리고 저장 매체에 정보를 기록할 수 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 상주할 수 있다.
[0040] 하나 또는 둘 이상의 예시적인 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 결합으로 구현될 수 있다. 컴퓨터 프로그램 물건으로서 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독가능한 매체 상에 하나 또는 둘 이상의 명령들 또는 코드로서 저장되거나 또는 이들을 통해 송신될 수 있다. 컴퓨터 판독가능한 매체는 하나의 장소에서 다른 장소로 컴퓨터 프로그램의 이전을 가능하게 하는 임의의 매체를 포함하는 컴퓨터 저장 매체들 및 통신 매체들 둘 다를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다. 제한이 아닌 예로서, 이러한 컴퓨터 판독가능한 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 전달 또는 저장하기 위해 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결이 컴퓨터 판독가능한 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스티드 페어(twisted pair), 디지털 가입자 회선(DSL), 또는 (적외선, 라디오, 및 마이크로웨이브와 같은) 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 (적외선, 라디오, 및 마이크로웨이브와 같은) 무선 기술들이 매체의 정의 내에 포함된다. 본원에서 이용되는 바와 같은 디스크(disk 및 disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광 디스크(disc), 디지털 다목적 디스크(disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 통상적으로 데이터를 자기적으로 재생하는 반면, 디스크(disc)들은 레이저들을 이용하여 데이터를 광학적으로 재생한다. 위의 것들의 결합들은 또한 컴퓨터 판독가능한 매체들의 범위 내에 포함되어야 한다.
[0041] 개시된 실시예들의 이전의 설명은 임의의 당업자가 본 발명을 실시하거나 또는 이용할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변경들은 당업자들에게 용이하게 명백할 것이고, 본원에서 정의되는 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수 있다. 따라서, 본 발명은 본원에 나타내는 실시예들에 제한되는 것으로 의도된 것이 아니라, 본원에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 따를 것이다.

Claims (38)

  1. 모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법으로서,
    상기 가속도계로부터 상기 모바일 디바이스의 프로세서에 의해 복수의 측정들을 수신하는 단계 ― 상기 측정들 각각은, 상기 모바일 디바이스가 상기 타겟 평면 상에 고정되게 홀딩되고, 상기 모바일 디바이스의 표면이 상기 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ;
    상기 측정들의 평균을 계산하는 단계;
    상기 모바일 디바이스 내의 메모리로부터, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 좌표계 사이의 회전 변환을 리트리브하는 단계 ― 상기 모바일 디바이스의 좌표계는 상기 모바일 디바이스의 표면과 정렬됨 ― ; 및
    상기 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 상기 평균에 상기 회전 변환을 적용시키는 단계를 포함하는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 회전 변환은 상기 모바일 디바이스를 제조하는 공장에 의해 또는 상기 모바일 디바이스의 사용자에 의해 교정되는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 측정들의 평균으로부터 상기 가속도계의 바이어스를 제거하는 단계를 더 포함하는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 회전 변환은 가속도계 축들과 상기 모바일 디바이스의 표면 사이의 회전 행렬인,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 타겟 평면은 수평축에 대해 기울어지는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 타겟 평면은 수평축 또는 수직축에 대해 정렬되는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 타겟 평면에 대한 상기 중력 벡터의 추정을 시작하도록 상기 모바일 디바이스의 사용자를 프롬프트(prompt)하는 단계; 및
    상기 모바일 디바이스가 움직이지 않는다는 것을 검출할 시 그리고 상기 사용자로부터의 트리거에 응답하여 상기 가속도계에 의한 상기 측정들을 시작하는 단계를 더 포함하는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 모바일 디바이스의 전방 표면(front surface) 및 후방 표면(back surface) 중 어느 것이 배치되고 상기 타겟 평면과 컨택하는지에 기초하여, 상기 모바일 디바이스의 좌표계를 정의하는 표면으로서 상기 전방 표면 또는 상기 후방 표면을 선택하는 단계를 더 포함하는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  9. 제 8 항에 있어서,
    상기 선택하는 단계는, 상기 모바일 디바이스의 메모리로부터 회전 변환들 중 하나를 리트리브하는 단계를 더 포함하고,
    상기 메모리 내의 상기 회전 변환들은, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 전방 표면 사이의 제 1 변환, 및 상기 가속도계의 좌표계와 상기 모바일 디바이스의 후방 표면 사이의 제 2 변환을 포함하는,
    모바일 디바이스 내에 위치된 가속도계를 이용하여 타겟 평면 상에서 중력 벡터를 추정하기 위한 방법.
  10. 모바일 디바이스로서,
    가속도계;
    상기 가속도계의 좌표계와 상기 모바일 디바이스의 좌표계 사이의 회전 변환을 저장하기 위한 메모리; 및
    상기 메모리 및 상기 가속도계에 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    상기 가속도계로부터 복수의 측정들을 수신하고 ― 상기 측정들 각각은, 상기 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 상기 모바일 디바이스의 표면이 상기 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ;
    상기 측정들의 평균을 계산하고;
    상기 메모리로부터 상기 회전 변환을 리트리브하고 ― 상기 모바일 디바이스의 좌표계는 상기 모바일 디바이스의 표면과 정렬됨 ― ; 그리고
    상기 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 상기 평균에 상기 회전 변환을 적용시키도록 구성되는,
    모바일 디바이스.
  11. 제 10 항에 있어서,
    상기 회전 변환은 상기 모바일 디바이스를 제조하는 공장에 의해 또는 상기 모바일 디바이스의 사용자에 의해 교정되는,
    모바일 디바이스.
  12. 제 10 항에 있어서,
    상기 프로세서는, 상기 측정들의 평균으로부터 상기 가속도계의 바이어스를 제거하도록 추가로 구성되는,
    모바일 디바이스.
  13. 제 10 항에 있어서,
    상기 회전 변환은 가속도계 축들과 상기 모바일 디바이스의 표면 사이의 회전 행렬인,
    모바일 디바이스.
  14. 제 10 항에 있어서,
    상기 모바일 디바이스는 모바일 폰인,
    모바일 디바이스.
  15. 제 10 항에 있어서,
    상기 모바일 디바이스의 표면은 평면이거나 오목한,
    모바일 디바이스.
  16. 제 10 항에 있어서,
    상기 프로세서는,
    상기 타겟 평면에 대한 상기 중력 벡터의 추정을 시작하도록 상기 모바일 디바이스의 사용자를 프롬프트(prompt)하고; 그리고
    상기 모바일 디바이스가 움직이지 않는다는 것을 검출할 시 그리고 상기 사용자로부터의 트리거에 응답하여 상기 가속도계의 상기 측정들을 시작하도록 추가로 구성되는,
    모바일 디바이스.
  17. 제 10 항에 있어서,
    상기 프로세서는, 상기 모바일 디바이스의 전방 표면(front surface) 및 후방 표면(back surface) 중 어느 것이 배치되고 상기 타겟 평면과 컨택하는지에 기초하여, 상기 모바일 디바이스의 좌표계를 정의하는 표면으로서 상기 전방 표면 또는 상기 후방 표면을 선택하도록 추가로 구성되는,
    모바일 디바이스.
  18. 제 17 항에 있어서,
    상기 메모리는, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 전방 표면 사이의 제 1 변환, 및 상기 가속도계의 좌표계와 상기 모바일 디바이스의 후방 표면 사이의 제 2 변환을 포함하는 회전 변환들을 저장하고,
    상기 프로세서는 상기 모바일 디바이스의 메모리로부터 회전 변환들 중 하나를 리트리브하도록 구성되는,
    모바일 디바이스.
  19. 컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건으로서,
    상기 컴퓨터 판독가능한 매체는,
    모바일 디바이스 내의 가속도계로부터 복수의 측정들을 수신하기 위한 코드 ― 상기 측정들 각각은, 상기 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 상기 모바일 디바이스의 표면이 상기 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ;
    상기 측정들의 평균을 계산하기 위한 코드;
    상기 모바일 디바이스 내의 메모리로부터, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 좌표계 사이의 회전 변환을 리트리브하기 위한 코드 ― 상기 모바일 디바이스의 좌표계는 상기 모바일 디바이스의 표면과 정렬됨 ― ; 및
    상기 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 상기 평균에 상기 회전 변환을 적용시키기 위한 코드를 포함하는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  20. 제 19 항에 있어서,
    상기 회전 변환은 상기 모바일 디바이스를 제조하는 공장에 의해 또는 상기 모바일 디바이스의 사용자에 의해 교정되는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  21. 제 19 항에 있어서,
    상기 측정들의 평균으로부터 상기 가속도계의 바이어스를 제거하기 위한 코드를 더 포함하는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  22. 제 19 항에 있어서,
    상기 회전 변환은 가속도계 축들과 상기 모바일 디바이스의 표면 사이의 회전 행렬인,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  23. 제 19 항에 있어서,
    상기 타겟 평면은 수평축에 대해 기울어지는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  24. 제 19 항에 있어서,
    상기 타겟 평면은 수평축 또는 수직축에 대해 정렬되는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  25. 제 19 항에 있어서,
    상기 타겟 평면에 대한 상기 중력 벡터의 추정을 시작하도록 상기 모바일 디바이스의 사용자를 프롬프트(prompt)하기 위한 코드; 및
    상기 모바일 디바이스가 움직이지 않는다는 것을 검출할 시 그리고 상기 사용자로부터의 트리거에 응답하여 상기 가속도계에 의한 상기 측정들을 시작하기 위한 코드를 더 포함하는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  26. 제 19 항에 있어서,
    상기 모바일 디바이스의 전방 표면(front surface) 및 후방 표면(back surface) 중 어느 것이 배치되고 상기 타겟 평면과 컨택하는지에 기초하여, 상기 모바일 디바이스의 좌표계를 정의하는 표면으로서 상기 전방 표면 또는 상기 후방 표면을 선택하기 위한 코드를 더 포함하는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  27. 제 26 항에 있어서,
    상기 모바일 디바이스의 메모리로부터 회전 변환들 중 하나를 리트리브하기 위한 코드를 더 포함하고,
    상기 메모리 내의 상기 회전 변환들은, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 전방 표면 사이의 제 1 변환, 및 상기 가속도계의 좌표계와 상기 모바일 디바이스의 후방 표면 사이의 제 2 변환을 포함하는,
    컴퓨터 판독가능한 매체를 포함하는 컴퓨터 프로그램 물건.
  28. 모바일 디바이스로서,
    가속도계로부터 복수의 측정들을 수신하기 위한 수단 ― 상기 측정들 각각은, 상기 모바일 디바이스가 타겟 평면 상에 고정되게 홀딩되고, 상기 모바일 디바이스의 표면이 상기 타겟 평면의 평면 부분을 향하고 그와 컨택할 때 취해짐 ― ;
    상기 측정들의 평균을 계산하기 위한 수단;
    상기 모바일 디바이스 내의 메모리로부터, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 좌표계 사이의 회전 변환을 리트리브하기 위한 수단 ― 상기 모바일 디바이스의 좌표계는 상기 모바일 디바이스의 표면과 정렬됨 ― ; 및
    상기 타겟 평면에 의해 정의된 세계 좌표계에서 추정된 중력 벡터를 획득하기 위해 상기 평균에 상기 회전 변환을 적용시키기 위한 수단을 포함하는,
    모바일 디바이스.
  29. 제 28 항에 있어서,
    상기 회전 변환은 상기 모바일 디바이스를 제조하는 공장에 의해 또는 상기 모바일 디바이스의 사용자에 의해 교정되는,
    모바일 디바이스.
  30. 제 28 항에 있어서,
    상기 측정들의 평균으로부터 상기 가속도계의 바이어스를 제거하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  31. 제 28 항에 있어서,
    상기 회전 변환은 가속도계 축들과 상기 모바일 디바이스의 표면 사이의 회전 행렬인,
    모바일 디바이스.
  32. 제 28 항에 있어서,
    상기 모바일 디바이스는 모바일 폰인,
    모바일 디바이스.
  33. 제 28 항에 있어서,
    상기 타겟 평면은 수평축에 대해 기울어지는,
    모바일 디바이스.
  34. 제 28 항에 있어서,
    상기 타겟 평면은 수평축 또는 수직축에 대해 정렬되는,
    모바일 디바이스.
  35. 제 28 항에 있어서,
    상기 모바일 디바이스의 표면은 평면이거나 오목한,
    모바일 디바이스.
  36. 제 28 항에 있어서,
    상기 타겟 평면에 대한 상기 중력 벡터의 추정을 시작하도록 상기 모바일 디바이스의 사용자를 프롬프트(prompt)하기 위한 수단; 및
    상기 모바일 디바이스가 움직이지 않는다는 것을 검출할 시 그리고 상기 사용자로부터의 트리거에 응답하여 상기 가속도계에 의한 상기 측정들을 시작하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  37. 제 28 항에 있어서,
    상기 모바일 디바이스의 전방 표면(front surface) 및 후방 표면(back surface) 중 어느 것이 배치되고 상기 타겟 평면과 컨택하는지에 기초하여, 상기 모바일 디바이스의 좌표계를 정의하는 표면으로서 상기 전방 표면 또는 상기 후방 표면을 선택하기 위한 수단을 더 포함하는,
    모바일 디바이스.
  38. 제 37 항에 있어서,
    상기 모바일 디바이스의 메모리로부터 회전 변환들 중 하나를 리트리브하기 위한 수단을 더 포함하고,
    상기 메모리 내의 상기 회전 변환들은, 상기 가속도계의 좌표계와 상기 모바일 디바이스의 전방 표면 사이의 제 1 변환, 및 상기 가속도계의 좌표계와 상기 모바일 디바이스의 후방 표면 사이의 제 2 변환을 포함하는,
    모바일 디바이스.
KR1020157014145A 2012-11-02 2013-10-09 모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정 KR20150082374A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261722087P 2012-11-02 2012-11-02
US61/722,087 2012-11-02
US13/767,784 2013-02-14
US13/767,784 US20140129176A1 (en) 2012-11-02 2013-02-14 Estimating the gravity vector in a world coordinate system using an accelerometer in a mobile device
PCT/US2013/064172 WO2014070399A1 (en) 2012-11-02 2013-10-09 Estimating the gravity vector in a world coordinate system using an accelerometer in a mobile device

Publications (1)

Publication Number Publication Date
KR20150082374A true KR20150082374A (ko) 2015-07-15

Family

ID=50623152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157014145A KR20150082374A (ko) 2012-11-02 2013-10-09 모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정

Country Status (7)

Country Link
US (1) US20140129176A1 (ko)
EP (1) EP2915015A1 (ko)
JP (1) JP2016503495A (ko)
KR (1) KR20150082374A (ko)
CN (1) CN104756039A (ko)
TW (1) TWI546540B (ko)
WO (1) WO2014070399A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180014646A (ko) * 2016-08-01 2018-02-09 삼성전자주식회사 가속도계 기반 방향 독립적인 모바일 사용자 활동 인식을 위한 장치 및 방법

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444279B1 (en) * 2013-05-21 2016-09-13 Google Inc. Wireless charging identification using sensors
KR102158843B1 (ko) 2013-08-05 2020-10-23 삼성전자주식회사 모바일 디바이스를 이용한 사용자 입력 방법 및 모바일 디바이스
CN105510632B (zh) * 2015-11-24 2018-12-28 上海汽车集团股份有限公司 获取汽车加速度数据的方法与装置
US10210662B2 (en) 2016-12-09 2019-02-19 Fyusion, Inc. Live augmented reality using tracking
US10665024B2 (en) 2016-12-12 2020-05-26 Fyusion, Inc. Providing recording guidance in generating a multi-view interactive digital media representation
US9996945B1 (en) * 2016-12-12 2018-06-12 Fyusion, Inc. Live augmented reality guides
KR20200044858A (ko) * 2017-08-25 2020-04-29 아이앤디택트 게엠베하 센서를 갖는 모바일 장치
KR102192141B1 (ko) * 2018-10-15 2020-12-16 주식회사 삼양감속기 다축 진동 센서로 감지되는 진동의 방향 사상 장치 및 그 방법
CN111383282B (zh) * 2018-12-29 2023-12-01 杭州海康威视数字技术股份有限公司 位姿信息确定方法及装置
CN110308304B (zh) * 2019-06-27 2021-03-23 湘电风能有限公司 一种风力发电机组风向标校零方法
CN111238527B (zh) * 2020-01-15 2023-09-29 桂林市优创电子科技有限公司 基于三轴加速度传感器的计步方法
US20230063194A1 (en) * 2021-08-29 2023-03-02 Yu Jiang Tham Controlling iot devices through ar object interaction
US11941231B2 (en) 2021-08-29 2024-03-26 Snap Inc. Camera interfaces to interact with IoT devices
US11954774B2 (en) 2021-08-29 2024-04-09 Snap Inc. Building augmented reality experiences with IoT devices
CN114674405B (zh) * 2022-03-21 2024-03-01 广州极飞科技股份有限公司 重力测量方法、装置、计算机设备和计算机可读存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4908767A (en) * 1987-01-16 1990-03-13 Valentine Research, Inc. Acceleration measuring system
JP2004093552A (ja) * 2002-07-10 2004-03-25 Hitachi Metals Ltd 加速度検出装置
US7653507B2 (en) * 2004-08-12 2010-01-26 Asahi Kasei Emd Corporation Acceleration measuring device
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
CN101652631A (zh) * 2007-04-04 2010-02-17 Nxp股份有限公司 方位感测系统的自动校准
CN101067628B (zh) * 2007-06-02 2013-08-07 中北大学 无陀螺加速度计阵列安装误差的矢量修正方法
US20090013755A1 (en) * 2007-07-10 2009-01-15 Polstar Technologies Inc. Calibration jig and algorithms for accelerometer
US8645093B2 (en) * 2009-11-04 2014-02-04 Qualcomm Incorporated Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality
US8626465B2 (en) * 2010-03-30 2014-01-07 Apple Inc. Calibrating sensor measurements on mobile devices
US8676528B2 (en) * 2011-02-08 2014-03-18 Blackberry Limited System and method for calibrating an accelerometer
US8688403B2 (en) * 2011-02-28 2014-04-01 Blackberry Limited Portable electronic device adapted to provide an improved attitude matrix

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180014646A (ko) * 2016-08-01 2018-02-09 삼성전자주식회사 가속도계 기반 방향 독립적인 모바일 사용자 활동 인식을 위한 장치 및 방법

Also Published As

Publication number Publication date
EP2915015A1 (en) 2015-09-09
US20140129176A1 (en) 2014-05-08
TWI546540B (zh) 2016-08-21
CN104756039A (zh) 2015-07-01
JP2016503495A (ja) 2016-02-04
TW201432265A (zh) 2014-08-16
WO2014070399A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
KR20150082374A (ko) 모바일 디바이스 내의 가속도계를 이용한 세계 좌표계에서의 중력 벡터의 추정
EP2914966B1 (en) A method for aligning a mobile device surface with the coordinate system of a sensor
KR101608878B1 (ko) 가속도계를 이용한 정지 검출
US20150285835A1 (en) Systems and methods for sensor calibration
US9915550B2 (en) Method and apparatus for data fusion of a three-axis magnetometer and three axis accelerometer
US9797727B2 (en) Method and apparatus for determination of misalignment between device and vessel using acceleration/deceleration
JP5684908B2 (ja) 歩行者の歩幅を推定する方法及びそのための携帯端末
CN107636420B (zh) 用于行人航位推算的技术
US9752879B2 (en) System and method for estimating heading misalignment
JP2013511729A5 (ja) 慣性測定ユニット(imu)のための空間的方向付け判断
US9151622B2 (en) Method and apparatus for estimating moving direction of user and computer-readable storage medium having recorded thereon the method
EP2993443A1 (en) Method and apparatus for using multiple filters for enhanced portable navigation
US10830572B2 (en) Hemisphere ambiguity correction in electromagnetic position tracking systems
TW201915510A (zh) 在電磁位置追蹤系統中校正場變形
KR20080086711A (ko) 관성항법시스템의 초기정렬 방법
CN110296683B (zh) 一种具有离心加速度补偿的动态倾角计
CN108248604A (zh) 一种判定车辆碰撞的方法及设备
CN114964214B (zh) 一种航姿参考系统的扩展卡尔曼滤波姿态解算方法
CN113465632B (zh) 传感器的校准方法、装置、设备和介质
JP5190134B2 (ja) 角速度検出方法及びその装置
CN102135431B (zh) 一种惯性测量单元精度补偿的方法
EP3047303A1 (en) Method and apparatus for determination of misalignment between device and vessel using radius of rotation
CN106574837A (zh) 对地球重力的估计的生成

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid