KR20150020034A - 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법 - Google Patents

디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법 Download PDF

Info

Publication number
KR20150020034A
KR20150020034A KR20140056291A KR20140056291A KR20150020034A KR 20150020034 A KR20150020034 A KR 20150020034A KR 20140056291 A KR20140056291 A KR 20140056291A KR 20140056291 A KR20140056291 A KR 20140056291A KR 20150020034 A KR20150020034 A KR 20150020034A
Authority
KR
South Korea
Prior art keywords
data
gyroscope
sensor
processor
integrated
Prior art date
Application number
KR20140056291A
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
Priority claimed from US13/965,131 external-priority patent/US10247748B2/en
Application filed by 인벤센스, 인크. filed Critical 인벤센스, 인크.
Publication of KR20150020034A publication Critical patent/KR20150020034A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/02Magnetic compasses
    • 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
    • G01C19/56Turn-sensitive devices using vibrating masses, e.g. vibratory angular rate sensors based on Coriolis forces
    • G01C19/5776Signal processing not specific to any of the devices covered by groups G01C19/5607 - G01C19/5719
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D21/00Measuring or testing not otherwise provided for
    • G01D21/02Measuring two or more variables by means not covered by a single other subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/14Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of gyroscopes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81BMICROSTRUCTURAL DEVICES OR SYSTEMS, e.g. MICROMECHANICAL DEVICES
    • B81B2201/00Specific applications of microelectromechanical systems
    • B81B2201/02Sensors
    • B81B2201/0228Inertial sensors
    • B81B2201/0242Gyroscopes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Gyroscopes (AREA)

Abstract

방법은 자이로스코프 센서로부터 자이로스코프 데이터를 수신하고, 상기 자이로스코프 데이터를 사용하여 적분을 수행하며 제 1 프로세서를 사용하여 적분된 자이로스코프 데이터를 생성함으로써 모션 데이터를 생성하는 단계를 포함한다. 상기 방법은 자이로스코프 센서 외에, 하나 이상의 센서들로부터 데이터를 수신하는 단계, 및 제 2 프로세서를 사용하여 모션 데이터를 생성하기 위해 상기 적분된 자이로스코프 데이터 및 상기 데이터를 사용하여 센서 융합을 수행하는 단계를 더 포함한다.

Description

디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법{A METHOD TO REDUCE DATA RATES AND POWER CONSUMPTION USING DEVICE BASED ATTITUDE GENERATION}
본 발명의 다양한 실시예는 일반적으로 모션 센서 데이터에 관한 것이며 특히 모션 데이터를 생성하기 위해 자이로스코프 데이터의 적분에 관한 것이다.
자이로스코프를 사용한 애플리케이션들에서, 자이로스코로부터의 자이로스코 데이터는 나침반 및/또는 가속도계 및 다른 센서들로부터의 데이터와 함께 수집된다. 수집된 데이터는 그 후 디바이스의 움직임을 결정하기 위해 함께 융합된다. 수집된 데이터는 또한 에러들을 감소시키기 위해 시간에 걸쳐 및 고속으로 적분된다. 이러한 고속 데이터는 통상적으로 반도체 디바이스(또는 집적 회로)로부터 프로세서로 전송된다. 적분된 데이터와 연관된 고속으로 인해, 고속 데이터를 프로세서에 송신하는 것은 증가된 전력을 야기한다.
그러므로 시스템 전력에서의 감소를 가진 자이로스코 데이터의 효율적인 송신에 대한 요구가 존재한다.
간단히, 본 발명의 방법은 자이로스코프로부터 자이로스코프 데이터를 수신함으로써 모션 데이터를 생성하는 단계, 상기 자이로스코프 데이터를 사용하여 적분을 수행하는 단계 및 제 1 프로세서를 사용하여 적분된 자이로스코프 데이터를 생성하는 단계를 포함한다. 상기 방법은 상기 자이로스코프 외에, 하나 이상의 센서들로부터 데이터를 수신하는 단계, 및 제 2 프로세서를 사용하여 모션 데이터를 생성하기 위해 상기 적분된 자이로스코프 데이터 및 상기 데이터를 사용하여 센서 융합을 수행하는 단계를 더 포함한다.
여기에 개시된 특정한 실시예들의 특징 및 이점들의 추가 이해는 명세서의 나머지 부분들 및 첨부된 도면들의 참조에 의해 실현될 수 있다.
본 발명에 따르면 시스템 전력에서의 감소를 갖고 자이로스코 데이터를 효율적으로 송신할 수 있다.
도 1은 본 발명의 실시예에 따라, 디바이스(14)에서 디바이스(10)로 전달되는 저속 쿼터니언 데이터를 도시하는 도면.
도 2는 도 1의 실시예의, 관련 있는 단계들 및/또는 데이터 경로들의 블록도를 도시하는 도면.
도 3a는 종래의 자이로스코프에 의한 데이터의 적분, 및 본 발명의 다양한 실시예들의 비교를 도시하는 도면.
도 3b는 본 발명의 방법에 따른, 자이로스코프 정보의 프로세싱의 관련 있는 단계들의 일부를 도시하는 도면.
도 4a 내지 도 4c는 402 및 404에서 본 발명의 다양한 실시예들의 것과 비교하여 400에서의 원 자이로스코프 데이터의 종래의 프로세싱을 도시하는 도면.
도 5a 내지 도 5d는 각각이 MPU(14)를 갖는, 본 발명의 다양한 실시예들(502, 504, 506, 및 508)을 도시하는 도면.
도 6 내지 도 12는 각각 발명의 다양한 실시예들(600 내지 1200)을 도시하는 도면.
도 13은 본 발명에 따른 실시예를 도시하는 도면.
실시예들의 다음의 설명에서, 실시예들의 일부를 형성하며 본 발명이 실시될 수 있는 특정 실시예들의 예시를 통해 도시되는 첨부한 도면들에 대한 참조가 이루어진다. 구조적 변화들이 본 발명의 범위로부터 벗어나지 않고 이루어질 수 있기 때문에 다른 실시예들이 이용될 수 있다는 것이 이해될 것이다. 여기에 논의된 도면들은 축척에 맞춰 도시된 것은 아니며, 라인들의 두께들은 실제 크기들을 표시하지는 않다는 것이 주의되어야 한다.
본 발명의 실시예 및 방법에 따르면, 자이로스코프 데이터의 적분은 단일 반도체 디바이스와 같은, 단일 디바이스에서 수행된다. 자이로스코프 적분은 디바이스-내 프로세싱 요건들을 감소시키기 위해 적분된 출력 데이터 속도보다 높은 속도로 수행된다. 본 발명의 실시예에서, 자이로스코프 데이터의 적분은 디바이스-내 프로세싱 요건들을 감소시키기 위해 곡선-맞춤을 사용하여 수행된다. 보다 높은 속도의, 시간에 걸친 적분은 보다 적은 에러들을 야기한다. 그렇지만, 적분된 데이터는 보다 낮은 데이터 속도로 전송되며 그에 의해 전력 소비를 감소시킨다. 적분된 자이로스코프 데이터는 또한 제 2 프로세서상에서 계산을 감소시키며 전송되는 데이터의 유형에 대한 일관성을 유지하기 위해 상기 자이로스코프 데이터와 동일한 속도로 전달될 수 있다. 설명된 실시예들에서, 적분된 자이로스코프 데이터는 또한 저 전력 쿼터니언(low power quaternion; LPQ)으로서 불리운다.
본 발명의 다른 실시예들 및 방법들에서, 센서 융합이 자이로스코프 데이터 적분의 속도보다 낮은 속도로 수행된다. 자이로스코프-전용 쿼터니언 데이터의 출력은 레지스터에 저장된다. 또 다른 실시예에서, 쿼터니언 데이터는 자이로를 포함하는 동일한 디바이스에 존재하는 선입선출(first-in-first-out; FIFO)에 저장된다. 반도체의 경우에, 여기에 사용된 "동일한 디바이스"는 동일한 칩을 나타낸다. 몇몇 실시예들에서, 자이로스코프 센서와 동일한 패키지에서의 3-축 자이로스코프의 통합.
본 발명의 또 다른 실시예 및 방법에서, 알려진 자이로스코프 바이어스의 제거는 적분 후 수행된다. 다른 실시예들에서, 자이로스코프 바이어스는 적분 전에 제거된다.
다른 실시예들에서, 9-축(자이로스코프, 가속도계, 및 나침반) 모션 추적이 다양한 센서 플랫폼 아키텍처들에서 이용되며, 그 중 몇몇은 여기에 개시되고, 그 나머지는 너무 많아서 열거될 수 없지만 고려된다.
설명된 실시예들에서, 또한 모션 프로세싱 유닛(Motion Processin Unit; MPU)이라 불리우는 모션 추적 디바이스는 전자 회로들 외에 적어도 하나의 센서를 포함한다. 이 기술분야에 알려진 다른 것들 중에서, 자이로스코프, 나침반, 가속도계, 마이크로폰, 압력 센서들, 근접성, 주변 광 센서와 같은 센서들이 고려된다. 몇몇 실시예들은 가속도계, 자이로스코프, 및 자기력계를 포함하며, 이것은 각각 9-축 디바이스로서 불리우는 서로에 대하여 직교하는 3개의 축들을 따라 측정을 제공한다. 다른 실시예들은 상기 센서들 모두를 포함하지 않을 수 있거나 또는 하나 이상의 축을 따르는 측정들을 제공할 수 있다. 센서들은 제 1 기판상에 형성된다. 다른 실시예들은 고체-상태 센서들 또는 임의의 다른 유형의 센서들을 포함할 수 있다. 모션 추적 디바이스에서의 전자 회로는 하나 이상의 센서들로부터 측정 출력들을 수신한다. 몇몇 실시예들에서, 전자 회로는 센서 데이터를 프로세싱한다. 전자 회로는 제 2 실리콘 기판상에서 구현된다. 제 1 기판은 수직으로 적층되며 단일 디바이스에서 제 2 기판에 부착된다.
본 발명의 실시예들에서, 제 1 기판은 동시에 전기적 연결들을 제공하며 MEMS 디바이스들을 밀폐시켜 밀봉하는 공동 소유된 미국 특허 번호 제7,104,129호(참조로서 여기에 통합됨)에서 설명된 웨이퍼 본딩을 통해 제 2 기판에 부착된다. 이러한 제조 기술은 유리하게는 매우 작고 경제적인 패키지내에서 고성능, 다-축, 관성 센서들의 설계 및 제조를 허용하는 기술을 가능하게 한다. 웨이퍼-레벨에서의 통합은 기생 용량들을 최소화하여 이산 해법에 대한 개선된 신호-대-잡음을 허용한다. 웨이퍼-레벨에서의 이러한 통합은 또한 외부 증폭에 대한 요구를 최소화하는 풍부한 피처 세트의 병합을 가능하게 한다.
설명된 실시예들에서, 원 데이터는 아직 프로세싱되지 않은 센서들로부터의 측정 출력들을 나타낸다. 모션 데이터는 프로세싱된 원 데이터를 나타낸다. 프로세싱은 에러를 제거하기 위한 교정 또는 센서 융합 알고리즘을 적용하는 것 또는 임의의 다른 알고리즘을 적용하는 것을 포함할 수 있다. 센서 융합 알고리즘의 경우에, 하나 이상의 센서들로부터의 데이터는 디바이스의 방향을 제공하기 위해 조합된다. 설명된 실시예들에서, 모션 프로세싱 유닛(MPU)은 구조들 중에서 프로세서들, 메모리, 제어 로직 및 센서들을 포함할 수 있다.
이제 도 1을 참조하면, 본 발명의 실시예에 따라, 디바이스(10)가 도시된다. 디바이스(10)는 프로세서(12) 및 모션 프로세싱 유닛(MPU)(14)을 포함하는 것으로 도시된다. 프로세서(12)는 MPU(14)의 외부에 존재하며 범용 프로세서 또는 특수화된 프로세서일 수 있다. 몇몇 실시예들에서, 프로세서(12)는 애플리케이션 프로세서(AP)로서 불리운다. MPU(14)는 2 또는 3 축 자이로스코프 또는 3-축 가속도계 또는 6-축 센서, 즉 3-축 가속도계 및 3-축 자이로스코프, 또는 9-축 센서, 즉 3-축 가속도계, 3-축 자이로스코프, 및 3-축 자기력계(또는 나침반)를 포함할 수 있다. 또 다른 실시예에서, MPU(14)는 다수의 3-축 가속도계들을 포함할 수 있으며, 여기에서 가속도계들은 각 속도의 3-자유도들을 결정함으로써 자이로스코프 데이터의 3-축들을 제공한다. MPU(14)는 특수 프로세서, 메모리, 아날로그-디지털 변환기(ADC), 또는 제어기와 같은, 디지털 모션 프로세서(DMP)(3)를 포함할 수 있다.
동작 중에, MPU(14)는 일반적으로 DMP(3)에서의 자이로스코프(18)에 의해 송신된 자이로스코프 데이터(9)("자이로스코프 측정 출력" 또는 "자이로스코프 데이터")를 프로세싱하며 적분 자이로스코프 데이터(9a)의 형태로 상기 자이로스코프의 방향을 출력한다. MPU(14)는 이에 제한되지는 않지만, 가속도계 및/또는 나침반과 같은, 다른 센서들로부터 데이터(7)를 송신할 수 있다. MPU(14)는 프로세서(12)에 대한 자이로스코프 데이터 출력(5)을 생성한다. 데이터(5)는 자이로스코프 데이터 출력(9)의 속도보다 낮은 데이터 속도를 가진다. MPU(14)에 의해 수행된 프로세싱의 부분은 DMP(3)에서의 적분 및/또는 쿼터니언이다.
유사하게, MPU(14)는 가속도계(20) 및 나침반(22)으로부터 원 모션 데이터(11)를 수신하며 프로세서(12)에 송신하기 전에 FIFO(24)에 원 모션 데이터(11)를 저장한다.
도 1에서, 프로세서(12)는 MPU(14)로부터 데이터 출력을 수신하며 모션 데이터를 생성하는 센서 융합부를 포함하도록 도시된다.
몇몇 실시예들에서, 프로세서(12) 및 MPU(14)는 상이한 기판상에 형성되며 다른 실시예들에서 그것들은 동일한 기판상에 존재한다. 다른 실시예들에서, 센서 융합은 프로세서(12) 및 MPU(14)의 외부에서 수행된다. 다른 실시예들에서, 센서 융합은 MPU(14)에 의해 수행된다.
여전히 도 1을 참조하면, MPU(14)는 고속 및 저-전력 쿼터니언 블록(16)을 포함하도록 도시된다. 블록(16)은 자이로스코프(18)로부터 입력을 수신하는 것으로 도시되고, 프로세서(3)(및 하드웨어 로직)를 사용하여 이를 프로세싱하고, 쿼터니언(9a)을 출력한다. 자이로스코프(18)의 출력은 사실상 자이로스코프의 출력이다. 쿼터니언 출력(9a)과 함께 나침반(22) 및 가속도계(20)로부터의 원 데이터는 프로세서에 송신된다. 몇몇 실시예들에서, 블록(16)에 의해 수행된 쿼터니언은 적분이다. 이에 대하여, 블록(16)은 고속으로 자이로스코프(18)의 출력을 적분하는 적분기를 포함한다. 몇몇 실시예들에서, 이러한 고속은 200 Hz보다 높은 속도이다. 블록(16)은, 적분을 수행할 때, 적분(또는 쿼터니언)의 출력을 버스, 메모리 및 레지스터(26)에 제공한다.
레지스터(26) 및 FIFO(24) 각각은 저속 출력을 프로세서(12)에 제공한다. 프로세서(12)는 또한 적분된 3-축 자이로스코프 데이터(5) 및 가속도계 및 나침반 데이터(7)에 기초하여 6 또는 9-축 센서 융합을 수행함으로써 프로세싱을 수행한다. 블록(16)에서의 고속으로의 데이터 적분은 유리하게는 데이터 신뢰성을 증가시키는 반면 MPU(14) 및 프로세서(12) 사이에서의 저속은 유리하게는 전력 소비를 감소시킨다. 본 발명이 실시예에서, 블록(16), 자이로스코프(18), 나침반(22) 및 가속도계(20)가 동일한 패키지 상에 존재하며 본 발명의 또 다른 실시예에서 동일한 기판상에 존재한다는 것이 주목할 만하다.
MPU(14) 및 프로세서(12)의 분리는 MPU(14)의 사용자들이 MPU(14)의 출력을 유연하게 사용하도록 허용한다. 예를 들면, 디바이스(10)의 상이한 사용자들은 감소된 송신 속도로부터 전력을 여전히 낮추면서 다양한 센서 융합 알고리즘들을 사용하기 위한 유연성을 선택할 수 있다.
적분은 자이로스코프 측정 출력으로부터 시작하는 샘플링을 사용하여 수행될 수 있다. 본 발명의 다양한 실시예들에서, 샘플링은 미리 결정된 수의 샘플들 후에 시작하며 미리 결정된 시간 기간에 걸쳐 계속된다. 본 발명의 다른 실시예들에서, 적분기의 입력 또는 쿼터니언(자이로스코프 데이터)이 0에 근접하는 데드 존 동안, 출력은 동일하게 유지되도록 이루어진다.
도 2는 도 1의 실시예의, 관련 있는 단계들 및/또는 데이터 경로들의 블록도를 도시한다. 도 2에서, 200에서, 그것의 원래 형태의, 자이로스코프 데이터가 적분 및 쿼터니언 블록(206)에 제공되며, 블록(206)은 도 1의 블록(16)의 일 부분이다. 쿼터니언의 추가 세부사항들이 이하에서 나중에 제공된다. 상기 표시된 바와 같이, 206에서의 적분은 고속으로 수행되며 206의 출력은 저장을 위해 FIFO/레지스터(24)에 제공된다. FIFO/레지스터(24)의 출력은 센서 융합부(208)에 제공되는 쿼터니언이다. 본 발명의 실시예에서, 센서 융합부(208)는 애플리케이션 프로세서(AP)(12)의 일부이다. 본 발명의 또 다른 실시예에서, 센서 융합부(208)는 MPU(14)의 일부이다.
FIFO/레지스터(24)는 또한 210에서 요청된 데이터 속도를 제공받으며 210에서의 요청된 데이터 속도는 이러한 정보를 따라 FIFO/레지스터(24)에 전달하기 전에 요청되는 데이터 속도를 결정하기 위해 센서 융합부(208)의 출력들 중 하나를 사용한다. 센서 융합부(208)의 또 다른 출력은 216에서 모션 데이터인 것으로 도시된다.
센서 융합부(208)는 가속도계 데이터(202) 및 나침반 데이터(204)로부터 측정 출력들을 추가 수신하는 것으로 도시된다. 모든 3개의 유형들의 데이터, 즉 자이로스코프 데이터, 가속도계 데이터, 및 나침반 데이터가 센서 융합부(208)에 의해 이용된다면, 출력(216)은 9-축 쿼터니언이다. 또 다른 실시예에서, 센서 융합부(208)는 압력 센서 또는 마이크로폰과 같은 다른 센서들로부터 측정 출력들을 수신할 수 있다. 몇몇 실시예들에서, 센서 융합 블록(208)은 MPU(14)의 일부 또는 AP(12)의 일부일 수 있다.
몇몇 실시예들에서, 자이로스코프에서의 내재된 바이어스를 제거하기 위한 바이어스 제거 블록(214). 예를 들면, 200에서 자이로스코프 데이터가 제공된 후, 바이어스 제거(214)는 자이로스코프의 내재된 바이어스를 제거하기 위해 사용될 수 있다. 대안적으로, 바이어스 제거(214)는 센서 융합부(208)에서 자이로스코프 데이터를 적분한 후 적용될 수 있다. 곧 분명해질 바와 같이, 바이어스 제거는 200에서의 출력에서 외에 다른 단계들에서 이용될 수 있다.
도 3a는 300에서의 종래의 방법 및 302에서의 본 발명의 다양한 실시예들에 의한 데이터의 적분의 비교를 도시한다. 도 3b는 본 발명의 방법에 따른, 자이로스코프 정보의 프로세싱의 관련 있는 단계들의 일부를 도시한다.
이제 도 3a를 참조하면, 종래의 방법(300)에서, 자이로스코프로부터의 원 데이터가 데이터 적분을 위해 낮은 데이터 속도로 호스트 프로세서에 송신된다. 자이로스코프 데이터의 정확성은 이러한 프로세스에서 손실될 수 있으며 보다 높은 속도들로 데이터를 송신하는 것은 보다 많은 전력을 소비한다. 본 발명의 다양한 실시예들에서, 302에서, 원 자이로스코프 데이터는 프로세싱 전력의 이용 가능성으로 인해 종래의 방법에서 행해진 것보다 더 높은 속도로 적분된다. 적분된 데이터는 그 후 보다 낮은 전력을 소비할 뿐만 아니라 자이로스코프 데이터의 정확성을 보유하면서 후자에 의한 추가 프로세싱을 위해 보다 느린 속도들로 호스트 프로세서에 송신된다. 그래프(304)는 306에서의 그래프에 도시된 보다 높은 정확성과 비교하여 종래 기술의 적분들의 정확도 손실을 도시한다.
도 4a 내지 도 4c는 402 및 404에서 본 발명의 다양한 실시예들의 것과 비교하여 400에서의 원 자이로스코프 데이터의 종래의 프로세싱을 도시한다. 400에서, 자이로스코프 데이터 속도 및 센서 융합 속도는 동일할 수 있다. 데이터가 버퍼링되기 때문에 스크린 리프레시 레이트와 같이, 402에서의 판독 속도가 보다 낮은 속도와 동일하다는 것을 제외하고, 402에서 샘플링 레이트는 400에 도시된 것과 동일하다. 404에서, 샘플링 레이트는 스크린 리프레시 레이트, 예로서 60 Hz와 동일하다. 400에서 도시되는 것보다 낮은 속도로 3-축 저 전력 쿼터니언(LPQ) 데이터를 송신함으로써, 전력이 절감된다. 3-축은 쿼터니언으로 적분되는 자이로스코프의 3-축을 나타낸다. 402는 404보다 많은 데이터 트래픽이 있는 것과 같은 단점을 가진다. 도 4에서의 워터마크는 매 샘플이라기보다는 미리 결정된 수의 샘플들마다 인터럽트를 전송하는 것을 나타낸다.
도 5a, 도 5b, 도 5c, 및 도 5d는 본 발명의 다양한 실시예들(502, 504, 506, 508)을 도시하며, 각각은 센서들로부터 측정 출력들을 수신하기 위한 MPU(14) 및 버스를 통해 대안 소스들로부터 대안적인 방식들로 입력을 수신하는 애플리케이션 프로세서(10)(AP)를 가진다. 선택적으로 외부 센서는 압력, 마이크로폰, 근접성, 및 주변 광 센서와 같은 다양한 외부 센서들(520)로부터 측정 데이터를 제공할 수 있다. 도 5a에서, 제 1 실시예(502)에서, MPU(14)는 센서들로부터 측정 출력을 수신하고, 원 자이로스코프 데이터에 대한 저 전력 쿼터니언을 실행하며 센서 융합 알고리즘이 실행되는 AP(10)에 자이로스코프 데이터보다 낮은 속도로 버스를 통해 센서 데이터를 송신한다. 선택적으로, 센서 융합 알고리즘은 외부 센서들(520)로부터 뿐만 아니라 MPU(14)로부터의 데이터에 대해 실행될 수 있다. 실시예에서, 버스는 I2C 버스 또는 임의의 다른 버스일 수 있다.
도 5b에서, 제 2 실시예(504)에서, AP(10)는 버스를 통해, 마이크로 제어기 유닛(MCU)(522)으로부터 그것의 입력을 수신한다. 실시예에서, MCU(22)는 프로세서 및 메모리를 포함한다. 이 실시예에서, MPU(14)는 그것이 자이로스코프 데이터를 쿼터니언으로 적분하는 저 전력 쿼터니언 알고리즘을 실행하며 MCU(522)는 센서 융합 알고리즘을 실행한다. MCU(522)는 프로세싱된 모션 데이터를 보다 낮은 속도로 AP(10)에 송신한다.
도 5c에서, 또 다른 실시예(506)에서, MPU(14)는 보다 높은 속도로 원 센서 데이터를 MCU(522)에 송신한다. MCU(522)는 그것이 자이로스코프 데이터를 쿼터니언으로 적분하는 저 전력 쿼터니언 알고리즘을 실행한다. MCU(522)는 선택적으로 외부 센서들로부터의 원 데이터와 함께 보다 낮은 속도로 MPU(14) 데이터를 AP(10)에 송신한다. 이 실시예에서, 센서 융합 알고리즘은 AP(10)에서 실행된다.
도 5d에서, 또 다른 실시예(508)에서, MPU(14)는 그것이 자이로스코프 데이터를 적분하며 데이터를 MCU(522)에 송신하는 자이로스코프에 대한 저 전력 쿼터니언 알고리즘을 실행한다. MCU(522)는 센서 융합 알고리즘이 실행되는 AP(10)에 데이터를 송신한다. 선택적으로, MCU(522)는 외부 센서들(520)로부터 데이터를 송신한다.
도 6 내지 도 12는 각각 본 발명의 다양한 실시예들(600 내지 1200)을 도시한다. 보다 구체적으로, 이들 도면들은 디바이스의 다양한 구성들로 이루어진다. 이들 구성들은 단지 예시적이며 다른 것들이 고려된다는 것이 이해된다. 도 6은 가속도계 및 자이로스코프를 포함하는, MPU(604)와 통신하는 AP(602)를 포함하는 것으로 디바이스(600)를 도시한다. MPU(604)는 602에 전송되는 적분된 자이로 데이터를 생성한다. AP(602)에서, 적분된 자이로 데이터를 사용하여 609에서 자이로 바이어스가 결정된다. 자이로 바이어스는 적분된 자이로 데이터의 도함수를 취함으로써 또는 칼만 필터의 사용에 의해 도출된 자이로 데이터를 사용함으로써 결정된다. 자이로 바이어스는 6-축 센서 융합에서의 사용을 위해 자이로 적분된 데이터로부터 제거된다.
도 7은 MPU(700)가 자이로스코프, 가속도계, 및 나침반을 포함하는 것으로 도시되며 6-축 모션 데이터뿐만 아니라 9-축 모션 데이터를 생성한다는 것을 도시한다.
도 8은 모션 데이터를 출력하는 센서 융합부에 공급하는 자이로스코프, 가속도계 및 나침반을 포함하는 것으로 또 다른 MPU(800)를 도시한다. 자이로스코프의 출력은 적분되며 바이어스 보정이 수행된다.
도 9는 MCU를 통해 MPU와 통신하는 AP를 포함하는 것으로 디바이스(900)를 도시한다. 바이어스 보정은 AP에 의해 수행되어, MPU의 자이로스코프, 가속도계, 및 나침반에 제공된다. AP는 모션 데이터를 출력하는 것으로 도시된다. 이 실시예에서, MCU는 디바이스를 통한 피드로서 기능한다.
도 10은 MPU(14)에 결합되는, MCU(522)에 결합되는 것으로 AP(10)를 도시한다. 바이어스 보정/제거는 MCU(522)에 의해 수행되며 결과는 MPU(14)에 제공된다. MPU는 자이로스코프, 가속도계, 및 나침반을 포함한다.
도 11a는 MCU에 결합되는 AP를 포함하는 것으로 디바이스(1100a)를 도시한다. MCU는 MPU에 결합된 것으로 도시된다. 자이로스코프, 가속도계, 및 나침반 이외에 MPU는 MCU에 의해 바이어스 제거를 위해 사용되는 출력을 갖는 LPQ를 포함한다. MCU는 센서 융합 6-축 블록에 LPQ를 전송하기 전에 바이어스를 제거하기 위해 바이어스 보정 블록에 결합되는 바이어스를 가진 LPQ를 취하는 블록을 가진다.
도 11b는 디바이스(1100b)의 MCU의 LPQ가 바이어스 보정 블록에 결합되지 않는다는 점을 제외하고, 도 11a의 실시예와 유사한 디바이스(1100b)를 도시한다. 바이어스는 MCU에 의해 제공되지만, 보정은 MPU에서 일어난다.
도 12는 MCU에 결합되는 AP를 포함하는 것으로 디바이스(1200)를 도시한다. MCU는, 자이로스코프, 가속도계, 및 나침반을 포함하는, MPU에 결합되는 것으로 도시된다. 자이로스코프의 출력을 적분하기보다는, 바이어스 보정 블록 및 LPQ는 둘 모두 MPU에서, 서로 결합되며 바이어스 보정 블록은 자이로스코프에 결합된다. LPQ는 MCU에 대한 출력을 생성한다. MPU는 6-축 및 9-축 보정들을 생성한다.
본 발명의 다양한 실시예들의 센서 융합은 이하의 알고리즘 및 관계들에 따라 쿼터니언을 산출한다.
도 13은 센서 데이터가 1301에서 생성되며 프로세서1(1302)에 전달되는 실시예를 도시한다. 센서 데이터는 자이로스코프 데이터와 다른 센서 데이터를 포함한다. 프로세서1(1302)은 자이로스코프 데이터를 쿼터니언으로 적분하며 상기 쿼터니언을 적분된 자이로스코프 및 다른 센서 데이터의 센서 융합이 발생하는 또 다른 프로세서2(1303)에 송신한다. 실시예에서, 센서(1301), 프로세서1(1302), 및 프로세서2(1303)는 동일한 반도체 칩 상에 또는 3개의 상이한 반도체 칩들 상에 있을 수 있다. 또 다른 실시예에서, 센서(1301) 및 프로세서1(1302)은 동일한 반도체 칩 상에 있을 수 있다. 또 다른 실시예에서, 센서 프로세서1(1302) 및 프로세서2(1303)는 동일한 반도체 칩 상에 있다.
또한 "쿼터니언"으로서 불리우는, 단위 쿼터니언은 하나의 방향에서 또 다른 방향을 진행하는 방법을 설명하는 4-요소 벡터이다. 하나의 방향에서 또 다른 방향으로 진행하는 것을 설명하기 위한 다른 등가의 방식들은 회전 행렬 및 오일러 각들을 포함한다. 단위 쿼터니언은 스칼라 항 및 3개의 가상 항들을 갖고, 4 요소 벡터에 대해 1의 크기를 가진다. 여기에서의 논의를 위해, 스칼라 항은 가상 항에 앞서 먼저 위치된다. 이 기술분야의 숙련자는 쿼터니언의 상이한 정의를 사용하여 약간 상이한 공식들을 계산할 수 있을 것이다. 오일러 각들은 회전의 3개의 상이한 축들에 대하여 3개의 상이한 각도들을 회전시킴으로써 하나의 방향에서 또 다른 방향으로 진행하는 방법을 설명한다. 회전의 3개의 상이한 축들에 대해 3개의 각도들을 이동시키는 대신에, 동일한 회전 모션이 단일 벡터 주위에서 하나의 각도를 회전시킴으로써 설명될 수 있다. 이하의 식 1에서, 쿼터니언에 대해, 각도(θ)는 단위 벡터([ux, uy, uz])에 대해 회전된 양이다.
Figure pat00001
식 1
쿼터니언 곱셈은 문헌에서 발견된 바와 같이 식 2에 정의된다. 여기에 사용된 표기법("
Figure pat00002
")은 본 문서에서 쿼터니언 곱셈을 표현한다.
Figure pat00003
식 2
쿼터니언 역은 다음과 같이 정의된다:
Figure pat00004
식 3
센서 융합은 자이로스코프, 가속도계 및 나침반과 같은 다양한 센서들로부터 측정치들을 취할 것이며, 그 후 고정된 프레임으로 참조된 디바이스의 방향을 결정하기 위해 상기 측정치들을 조합한다. 각각의 센서는 데이터를 조합할 때 양호 포인트들 및 불량 포인트들을 가진다. 레이트 자이로스코프(이후 자이로스코프)는 자기 교란 또는 가속에 의해 영향을 받지 않고 방향이 시간에 걸쳐 어떻게 변하는지를 양호하게 표시한다. 그러나, 자이로스코프는 종종 시간에 걸쳐 각도 표류를 야기하는 오프셋을 가진다. 센서 융합을 구현하는 많은 방법들이 있지만, 이것들 중 다수의 하나의 공통적인 양상은 자이로스코프 데이터가 적분되어야 한다는 것이다. 자이로스코프 센서가 완벽하고 적분이 완벽하다면, 센서 융합에 대한 어떤 요구도 없을 것이다. 그러나, 센서들은 완벽하지 않으며 적분은 완벽하지 않고, 따라서 다른 센서들이 방향을 보정하기 위해 사용된다. 발생된 에러들 중 하나는 자이로스코프 데이터의 적분이다. 적분 에러를 낮추기 위해, 자이로스코프 데이터는 종종 고속으로 적분된다. 통상적으로 센서 융합 알고리즘은 원 센서 데이터를 취하며 방향을 계산할 것이다. 여기에 제공된 방법은 하나의 프로세서상에서 자이로스코프 데이터를 적분하는 것이며 그 후 적분된 데이터는 센서 융합을 행하기 위해 상이한 프로세서에 전송된다. 적분된 자이로스코프 데이터가 제 2 프로세서에 전송될 때, 적분된 자이로 데이터 속도는 원래 자이로스코프 데이터 속도보다 작을 수 있다. 자이로스코프 데이터 적분을 하는 프로세서는 센서 융합을 행하는 프로세서보다 적은 전력을 취하도록 설계될 수 있다. 자이로스코프 데이터의 데이터 속도보다 낮은 데이터 속도로 적분된 자이로스코프 데이터를 전송하는 것은 원래 자이로스코프 데이터 속도로 자이로스코프 데이터를 전송하는 것과 유사한 성능을 가진다. 적분된 자이로스코프 데이터 속도로 센서 융합을 실행하는 것은 자이로스코프 데이터 속도로 센서 융합을 실행하는 것과 유사한 성능을 가진다. 샘플링 레이트를 낮추는 것은 데이터 트래픽을 감소시킨다. 센서 융합 속도를 낮추는 것은 계산을 감소시킨다. 자이로스코프 데이터는 센서 융합을 위해 전송되도록 요구되지 않으며, 이것은 추가 데이터 트래픽 감소들을 야기한다. 근사의 자이로스코프 데이터는 적분된 자이로스코프 데이터의 도함수를 계산함으로써, 전송되는 적분된 자이로스코프 데이터로부터 계산될 수 있다. 적분된 자이로스코프 데이터(LPQ)의 도함수를 취하는 것으로부터 도출된 추정의 자이로스코프 데이터는 자이로스코프 데이터 바이어스를 결정하는 것과 같은 다른 알고리즘들을 위해 사용될 수 있다. 적분된 자이로스코프 데이터를 전송하는 것은 또한 자이로스코프를 가진 센서가 이러한 적분된 자이로스코프 데이터를 출력으로서 출력하고, 다른 것들이 감소된 데이터 속도를 사용하여 센서 융합 알고리즘을 기록하는 것을 허용한다. 일 실시예에서, 자이로스코프 적분은 쿼터니언으로 행해질 것이며 센서 융합으로부터 별개의 디바이스 상에서의 소프트웨어, 펌웨어, 또는 하드웨어에서 행해질 수 있다. 본 발명의 실시예에서, 적분을 수행하는, 자이로스코프 및 프로세서는 별개의 패키지들에 있다. 본 발명의 또 다른 실시예에서, 자이로스코프 적분을 수행하는 자이로스코프 및 프로세서는 동일한 패키지 또는 기판에 있다.
자이로스코프 데이터를 적분하는 여러 개의 방법들이 있다. 식 4에서의 라디안들/초의 각 속도와 도 5에 도시된 크기(ωm)를 고려하면,
Figure pat00005
식 4
Figure pat00006
식 5
쿼터니언은 식 6에 도시된 바와 같이 정의될 수 있다.
Figure pat00007
식 6
△t는 시간 단계(M-1) 및 시간 단계(M) 사이에서 경과된 시간이다. 시간 단계(M-1)에서 시간 단계(M)로 등각 속도를 사용하여 쿼터니언을 적분하기 위해, 식 7에서의 공식이 사용된다.
Figure pat00008
식 7
다음과 같은 쿼터니언 데이터를 적분하기 위해 사용될 수 있는 다른 근사치들이 있다.
Figure pat00009
식 8
식 8에서, 이전 쿼터니언은 쿼터니언 곱을 사용하여 자이로스코프(라디안들로)로부터의 회전 속도로 곱셈된다. 이것은 샘플들 사이에서의 시간에 의해 2에 걸쳐 스케일링되며 이전 쿼터니언에 더하여진다. 다음으로, 쿼터니언은 1의 크기를 유지하기 위해 크기로 나누어진다. 사용될 수 있는 최적화들은 원 자이로스코프 유닛들을 사용하며 라디안들로의 변환 및 2에 걸친 샘플 레이트 양쪽 모두를 포함하는 상수로 스케일링하는 것임을 주의하자. 1로의 정규화를 위한 다른 최적화들은 역 제곱근을 회피하기 위해 테일러 급수를 사용하는 것일 것이다. 더욱이, 이것은 이 기술분야의 숙련자에 의해 고정 소수점 또는 정수 산술로 변환될 수 있다.
자이로스코프 데이터는 통상적으로 그것에 대한 잡음을 가진다. 자이로스코프 데이터에 대한 잡음을 적분하는 것은 쿼터니언이 표류하게 할 것이다. 정지된 위치에서의 이러한 표류를 극복하기 위해, 자이로스코프 데이터는 자이로스코프 데이터의 절대 값이 임계치 아래에 있다면 0으로 설정될 수 있다.
자이로스코프 바이어스가 알려져 있다면, 자이로스코프 바이어스는 자이로스코프 데이터를 적분하기 전에 자이로스코프 데이터로부터 감산될 수 있다. 이것은 소프트웨어, 펌웨어 또는 하드웨어에서 행해질 수 있다.
수신되는 쿼터니언 데이터의 각각의 샘플을 갖고, 각 속도가 적분된 속도에 상관없이, 각속도 바이어스는 심지어 바이어스가 해법에 적분된 후에도 제거될 수 있다. 하나의 시간 단계에서 또 다른 단계로 진행하는 쿼터니언은
Figure pat00010
이 시간 단계들(N, N-1) 사이에서의 조정인 식 9로서 모델링될 수 있다.
Figure pat00011
Figure pat00012
에서
Figure pat00013
로 진행하는 메커니즘에 독립적이다.
이것은 식 7 및 등각 속도를 갖고
Figure pat00014
에서
Figure pat00015
으로 가는 식 8(
Figure pat00016
)과 유사하다.
Figure pat00017
식 9
다음 단계는 자이로스코프 바이어스가 쿼터니언으로 적분된 후 제거된 자이로스코프 바이어스를 갖는 단위 쿼터니언 변수를 유지하는 것이다. 이들 사상들을 조합한 후, 식 10은 상수 바이어스를 제거하는 방법을 도시한다.
Figure pat00018
식 10
여기에서
Figure pat00019
는 식 6으로 자이로스코프 바이어스를 플러깅하며 도 3에 도시된 바와 같이 역을 취함으로써 계산된다.
Figure pat00020
은 제거된 자이로스코프 바이어스를 가진 쿼터니언이다. 또 다른 보정을 갖고 적분된 자이로스코프 쿼터니언을 사용하기 위해, 센서 융합을 위한 쿼터니언 결과 및 적분된 자이로스코프 쿼터니언 사이에서의 변환은 식 10에 도시된 바와 같다. 시간(N)에서의 센서 융합 쿼터니언은 식 11에서
Figure pat00021
으로서 도시되며 여기에서
Figure pat00022
은 보정이다.
Figure pat00023
식 11
센서 융합을 행하고
Figure pat00024
을 다음 시간 단계(
Figure pat00025
)로 업데이트한 후, 적분된 자이로스코프 쿼터니언으로부터의 새로운 변환(
Figure pat00026
)이 계산되고 저장된다.
Figure pat00027
식 12
자이로스코프 데이터가 쿼터니언으로 적분되기 전에 바이어스 보정이 행해진다면,
Figure pat00028
는 아이덴티티일 수 있으며 제공된 식들 모두에서 간소화되거나 또는 무시될 수 있다. 식들은 계속해서 동일하게 유지될 것이다.
지금까지 제공된 기본 사상은 0에서 시작하며 상기 포인트로부터 참조된 쿼터니언을 전송하는 쿼터니언 적분을 가진다. 대신에, 시작 포인트는 각각의 시간 출력 단계에서 리셋될 수 있으며 따라서 단지 하나의 시간 단계에서 다음으로의 변화가 전송된다. 이것은 식들 중 일부를 간소화할 것이다. 이러한 변화는 식 9에서
Figure pat00029
로서 표현될 수 있다. 이것은 다음과 같이 식 10을 식 13으로 간소화할 것이다:
Figure pat00030
식 13
추가의 최적화가 바이어스 보정을 가진 쿼터니언 적분 변화로 하여금 센서 융합 쿼터니언에 직접 적용되도록 허용할 것이다.
Figure pat00031
식 14
유사하게,
Figure pat00032
항은 바이어스 보정이 적분 전에 행해진다면, 상기 언급된 식 13 및 식 14 양쪽 모두에서 간소화되거나 또는 무시될 수 있다.
하나의 시간 단계에 걸쳐 적분을 출력하는 것이 보다 간단한 식들을 산출하는 동안, 그것은 드롭 샘플링들에 덜 안전하다는 것을 주의하자. 종종, 시스템이 오버로딩된다면, 샘플들은 손실될 수 있으며, 적분이 많은 샘플들에 걸쳐 점증적으로 행해진다면, 샘플을 잃는 것은 보다 적은 에러를 야기할 것이다.
데이터 트래픽을 추가로 감소시키기 위해, 쿼터니언은 1의 크기를 가지며 그렇게 행하는 것은 3개의 구성요소들이 데이터 라인에 걸쳐 전달되며, 재구성된 제 4 요소를 갖도록 허용할 것임이 주의될 수 있다. 제 4 요소를 재구성하려고 할 때, 몇몇 부호 모호성이 있을 수 있다. 부호 모호성을 극복하기 위해, 손실 구성요소의 부호가 알려진 값을 갖게 하는 것이 가능하다. 이것은 쿼터니언 공간에서,
Figure pat00033
이기 때문이다. 예를 들면, 마지막 3개의 요소들을 전송하고 제 1 요소를 재구성하기를 원한다고 가정하면, 그 후 제 1 요소가 음이라면, 데이터 라인에 걸쳐 전송되는 항들 모두를 간단히 무효화한다. 그 후 제 1 요소를 재구성할 때, 상기 요소는 항상 양임이 알려질 것이다.
다른 실시예들은 이에 제한되지 않지만 쿼터니언 데이터와 같은 정보를 전달하기 위한 다른 방식들을 포함할 것이다. 쿼터니언이 공간에서의 방향을 표현하기 때문에, 방향 매트릭스 또는 오일러 각들은 쿼터니언을 위해 대체될 수 있다.
쿼터니언을 적분하기 위한 다양한 방식들이 있다. 새로운 방법들과 함께 쿼터니언 적분에 대한 설명이 아래에 있다.
영차 쿼터니언 적분:
쿼터니언을 적분하는 것은 대응하는 1차 상미분방정식을 푸는 것과 등가이다:
Figure pat00034
식 15
여기에서
Figure pat00035
,
는 왜대칭 행렬이다. 각속도 벡터(ω)가 시간(t) 및 시간(t+△t) 사이에서 일정하다고 가정하자. 이러한 미분 방정식에 대한 일반화된 해법은 다음과 같다.
Figure pat00036
식 16
상기 해법을 산출하기 위해, 왜대칭 행렬(Ω)의 행렬 지수가 산출되어야 한다. 행렬의 지수를 산출하는 것은 수치적으로 배우 비싸다. 실-시간 구현들에서, 간소화된 근사법이 상기 절차와 함께 사용된다:
Figure pat00037
식 17
여기에서 (1)은 전진 오일러 근사법과 함께 사용되며,
Figure pat00038
식 18
Figure pat00039
식 19
이러한 근사법에서, 쿼터니언에서의 변화는 회전 공간에서 계산되지 않으며, 즉 식 18은 쿼터니언 대수의 규칙들을 위반한다. 이것은 쿼터니언 산출에서의 작은 에러들을 야기하며, 이것은 시간에 걸쳐 성장할 수 있다. 단위 항을 가진 정확한 쿼터니언을 유지하기 위해, 쿼터니언은 최종 단계 식 19에 도시된 바와 같이, 재-정규화된다.
식 16을 보다 정확하게 계산하기 위한 대안적인 방법은 다음과 같다. 먼저, 행렬(
Figure pat00040
)은 다음과 같이 테일러 급수에서 확대된다:
Figure pat00041
식 20
왜-대칭 행렬(Ω(ω)) 및 오일러 공식의 속성들을 사용하여, 참조 문헌 Dennis S. Bernstein에 의한, "Matrix Mathematics: Theory, Facts, and Fomulas"(프린스턴 대학 출판사, 2차 에디션, 2009년, p.741)에 논의된 바와 같이, 왜-대칭 행렬들의 지수들이 다음과 같이 재기록될 수 있다:
Figure pat00042
식 21
여기에서 ωm이 식 5(
Figure pat00043
)에 정의된 각속도(ω)의 크기이면,
Figure pat00044
식 22
식 22의 정밀 검사는 이러한 행렬-벡터 곱셈이 쿼터니언 곱셈과 같다는 것을 드러낸다.
Figure pat00045
식 23
여기에서
Figure pat00046
은 시간 스팬(△t)에 걸쳐 각속도(ω)에 의해 유도된 쿼터니언 회전을 표현하는 4x1 쿼터니언이다. 이를 식 18과 비교할 때, 식 23에서의 공식은 정확하며, 그것은 쿼터니언 놈을 보존하고, 즉 어떤 쿼터니언의 재-정규화된 필요하지 않다는 것이 주의된다.
매우 작은 각속도(ω)에 대해, 상기 표현은 수치 불안정을 야기할 수 있다는 것을 주의하자. 이 경우에, 식 21의 1차 근사법이 사용될 수 있다:
Figure pat00047
식 24
1차 쿼터니언 적분:
영차 쿼터니언 적분은 각속도(ω)가 기간(△t)에 걸쳐 일정하다는 것을 가정한다. 보다 양호하며 보다 정확한 적분은 각속도가 시간(△t)에 걸쳐 선형적으로 진화하는 것으로 가정된다면 도출될 수 있다. 이러한 목적을 위해, ω(tk)는 시간(tk)에서 속도(ω)의 값에 대해, 및 ω(tk +1)는 시간(tk +1)에서의 ω에 대해 도입되며, △t = tk +1 - tk 이다.
시간(△t)에 걸친 평균 각속도는 다음과 같다:
Figure pat00048
식 25
또한,
Figure pat00049
로서 각속도의 도함수를 정의하자. 대응하는 행렬(
Figure pat00050
)은 선형적인 경우에, 일정하다:
Figure pat00051
식 26
고차 도함수들은 선형적으로 변화하는 각속도(ω)의 가정으로 인해 0이다. 다음에서, 간결함을 위해 Ω(ω)은 Ω으로서
Figure pat00052
Figure pat00053
으로서 표현된다.
고차 쿼터니언 도함수 표현을 도출하기 위해 J.R. Wertz, D. Reidel 출판사에 의해 편집된 출판물 "Spacecraft Attitude Determination and Control"(Netherlands, Dordrecht, 1978, P.565, 식(17 내지 21))에 설명된 바와 같이, 쿼터니언의 테일러 급수 확대는 쿼터니언에 대하여 시간 인스턴스(tk+1)에서 행해지며 시간(tk)에서의 그것의 도함수들은 다음과 같다:
Figure pat00054
식 27
Figure pat00055
식 28이라는 사실을 사용하여,
Figure pat00056
은 다음과 같이 기록될 수 있다:
Figure pat00057
식 29
식 29를 사용하여, 식 27에서의 항들은 다음과 같이(베르츠에서 식 17 내지 23) 재배열될 수 있다:
Figure pat00058
식 30
식 30의 우변 상에서의 두 개의 항들 중 첫 번째는 식 16의 테일러 급수 확대와 유사하며, 따라서 동일한 형태를 가진다. 이것은 순시적인 속도들보다는 시간-평균 속도 정보를 사용할 때 식 16과 상이하다는 것을 주의하자. 각속도의 도함수들을 가진 제 2 항은 식 26을 사용하여 확장될 수 있다. 이것은 다음을 제공한다:
Figure pat00059
식 31
식 30에서의 표현을 간소화하기 위해, 다음이 주의된다.
먼저, 각속도들(ω(tk) 및 ω(tk +1))의 외적을 형성한다:
Figure pat00060
식 32
식 31에서의 제 2 표현을 위해, 다음이 유지된다:
Figure pat00061
식33
즉, ω△의 왜-대칭 형태는 식 33의 우변과 동일하다. 이것은 항들을 확장하고 요소들을 비교함으로써 증명될 수 있다. 식 31에 식 32 및 식 33을 도입할 때, 다음이 도출된다:
Figure pat00062
식 34
식 34의 제 2 항이 다음과 같이 재기록될 수 있다는 것이 주의된다:
Figure pat00063
식 35
상기를 식 20 내지 식 23과 비교할 때, 다음이 도출될 수 있다:
Figure pat00064
식 36
여기에서
Figure pat00065
은 시간 스팬(△t)에 걸쳐 평균 각속도(
Figure pat00066
)에 의해 유도된 쿼터니언 회전을 표현하는 4x1 쿼터니언이다. 다음으로, 표현을 간소화하면 다음을 초래한다:
Figure pat00067
식 37
Figure pat00068
은 정규화되도록 요구한다는 것을 주의하자.
요약하기 위해, 1차 쿼터니언 적분에 대한 계산 단계들은 다음과 같다:
Figure pat00069
를 산출한다
쿼터니언(
Figure pat00070
)을 산출한다
Figure pat00071
을 산출한다
쿼터니언(
Figure pat00072
)을 산출하며
Figure pat00073
을 정규화한다
Figure pat00074
을 산출한다.
1차 쿼터니언 적분의 계산적으로 더 간단한 버전은 다음과 같다:
시간 인스턴트들(t 및 t-△t)에서의 각속도들(ω(t-△t), ω(t)), 및 현재 쿼터니언(
Figure pat00075
을 고려해볼 때, 식 25에서처럼
Figure pat00076
및 식 32에서처럼 ω을 정의한다.
Figure pat00077
그 후:
Figure pat00078
식 38
을 계산하며, 식 39에서처럼, 쿼터니언은 다음을 갖고 계산되며 정규화된다:
Figure pat00079
비록 설명은 그것의 특정한 실시예들에 대하여 설명되었지만, 이들 특정한 실시예들은 단지 예시적이며 제한적이지 않다.
여기에서의 설명에 및 이어지는 청구항들 전체에 걸쳐 사용된 바와 같이, 산수로 기재된 참조는 달리 맥락이 명확히 구술되지 않는다면 복수의 참조들을 포함한다. 또한, 여기에서의 설명에서 및 이어지는 청구항들 전체에 걸쳐 사용된 바와 같이, "안에"의 의미는 맥락이 달리 명확하게 구술되지 않는다면 "안에서" 및 "상에서"를 포함한다.
따라서, 특정한 실시예들이 여기에서 설명되지만, 수정, 다양한 변화들, 및 대체들의 자유들은 앞서 말한 개시들에 의도되며, 몇몇 인스턴스들에서, 특정한 실시예들의 몇몇 특징들은 제시된 바와 같이 범위 및 사상으로부터 벗어나지 않고 다른 특징들의 대응하는 사용 없이 이용될 것임이 이해될 것이다. 그러므로, 많은 수정들이 본질적인 범위 및 사상에 특정한 상황 또는 재료를 적응시키기 위해 이루어질 수 있다.
3: 디지털 모션 프로세서 9: 자이로스코프 데이터
10: 디바이스 12: 프로세서
14: 모선 프로세싱 유닛 16: 블록
18: 자이로스코프 20: 가속도계
22: 나침반 24: FIFO
26: 레지스터 206: 적분 및 커터니언 블록
208: 센서 융합부 520: 외부 센서
522: 마이크로 제어기 유닛 600: 디바이스
602: AP 604: MPU
1100a, b, c: 디바이스 1200: 디바이스
1301: 센서 1302: 프로세서1
1303: 프로세서2

Claims (26)

  1. 모션 데이터를 생성하는 방법에 있어서,
    자이로스코프 센서로부터 자이로스코프 데이터를 수신하는 단계;
    상기 자이로스코프 데이터를 사용하여 적분을 수행하고, 제 1 프로세서를 사용하여 적분된 자이로스코프 데이터를 생성하는 단계;
    상기 자이로스코프 센서 외에, 하나 이상의 센서들로부터 데이터를 수신하는 단계; 및
    적어도 하나의 제 1 프로세서를 사용하여 모션 데이터를 생성하기 위해 상기 적분된 자이로스코프 데이터 및 상기 데이터를 사용하여 센서 융합을 수행하는 단계를 포함하는, 모션 데이터를 생성하는 방법.
  2. 제 1 항에 있어서,
    상기 자이로스코프 데이터는 시간 기간에 걸쳐 하나 이상의 자이로스코프 데이터를 포함하는, 모션 데이터를 생성하는 방법.
  3. 제 1 항에 있어서,
    상기 데이터는 시간 기간에 걸쳐 하나 이상의 데이터를 포함하는, 모션 데이터를 생성하는 방법.
  4. 제 1 항에 있어서,
    상기 하나 이상의 센서들은 가속도계를 포함하는, 모션 데이터를 생성하는 방법.
  5. 제 1 항에 있어서,
    상기 하나 이상의 센서들은 자기력계를 포함하는, 모션 데이터를 생성하는 방법.
  6. 제 1 항에 있어서,
    상기 하나 이상의 센서들은 압력 센서, 마이크로폰, 근접 센서, 또는 광 센서를 포함하는, 모션 데이터를 생성하는 방법.
  7. 제 1 항에 있어서,
    상기 자이로스코프 데이터는 제 1 데이터 속도이고, 상기 적분된 자이로스코프 데이터는 제 2 데이터 속도이며, 상기 제 1 데이터 속도는 상기 제 2 데이터 속도보다 높은, 모션 데이터를 생성하는 방법.
  8. 제 1 항에 있어서,
    상기 적분 단계를 수행하기 이전에 바이어스 제거를 수행하는 단계를 더 포함하는, 모션 데이터를 생성하는 방법.
  9. 제 1 항에 있어서,
    상기 적분 단계를 수행한 후 바이어스 제거를 수행하는 단계를 더 포함하는, 모션 데이터를 생성하는 방법.
  10. 제 1 항에 있어서,
    바이어스 제거를 수행하는 단계를 더 포함하며, 상기 센서 융합은 출력을 각지며 상기 바이어스 제거 단계를 수행하는 단계는 현재 적분된 자이로스코프 데이터와 이전 적분된 자이로스코프 데이터 및 현재 센서 융합 출력과 이전 센서 융합 출력을 사용하는, 모션 데이터를 생성하는 방법.
  11. 제 1 항에 있어서,
    상기 자이로스코프 센서는 제 1 디바이스 상에 있고, 상기 제 1 프로세서는 제 2 디바이스 상에 있으며 상기 적어도 하나의 제 2 프로세서는 제 3 디바이스 상에 있는, 모션 데이터를 생성하는 방법.
  12. 제 1 항에 있어서,
    상기 제 1 프로세서 및 상기 자이로스코프 센서는 제 1 디바이스 상에 있는, 모션 데이터를 생성하는 방법.
  13. 제 1 항에 있어서,
    상기 자이로스코프 센서, 상기 제 1 프로세서, 및 상기 적어도 하나의 제 2 프로세서는 제 1 디바이스 상에 있는, 모션 데이터를 생성하는 방법.
  14. 제 1 항에 있어서,
    상기 자이로스코프 데이터는 상기 자이로스코프 데이터의 절대 값이 임계치보다 작다면 0으로 설정되는, 모션 데이터를 생성하는 방법.
  15. 제 1 항에 있어서,
    상기 적분된 자이로스코프 데이터는 쿼터니언의 형태인, 모션 데이터를 생성하는 방법.
  16. 제 15 항에 있어서,
    상기 쿼터니언은 정규화되는, 모션 데이터를 생성하는 방법.
  17. 제 1 항에 있어서,
    상기 적분된 자이로스코프 데이터의 적어도 일 부분은 압축되는, 모션 데이터를 생성하는 방법.
  18. 제 1 항에 있어서,
    상기 적분 단계를 수행하는 단계는 초기 데이터로부터 시작하여 수행되는, 모션 데이터를 생성하는 방법.
  19. 제 1 항에 있어서,
    상기 적분 단계를 수행하는 단계는 그것과 연관된 적분 시간 기간을 가지며 상기 적분 시간 기간은 상기 적분된 자이로스코프 데이터 속도와 동일한, 모션 데이터를 생성하는 방법.
  20. 제 1 항에 있어서,
    상기 적분 단계를 수행하는 단계는 2개의 연이은 자이로스코프 데이터 및 이전 적분된 자이로스코프 데이터로부터 상기 적분된 자이로스코프 데이터를 생성하는 단계를 포함하는, 모션 데이터를 생성하는 방법.
  21. 제 1 항에 있어서,
    상기 자이로스코프 센서로부터 적어도 두 개의 연이은 자이로스코프 데이터를 수신하는 단계;
    평균 데이터를 생성하기 위해 상기 적어도 두 개의 연이은 자이로스코프 데이터를 평균하는 단계;
    외적 데이터를 생성하기 위해 상기 적어도 두 개의 연이은 자이로스코프 데이터의 외적을 산출하는 단계를 더 포함하며,
    상기 적분 단계를 수행하는 단계는 상기 평균 데이터 및 상기 외적 데이터를 사용하여 시간 간격에 걸쳐 적분을 수행하는 단계를 더 포함하는, 모션 데이터를 생성하는 방법.
  22. 제 1 항에 있어서,
    등가의 자이로스코프 데이터를 생성하기 위해 상기 적어도 하나의 제 2 프로세서에 의해 상기 적분된 데이터의 도출을 수행하는 단계를 더 포함하며, 자이로스코프 바이어스는 상기 등가의 자이로스코프 데이터를 사용하여 계산되는, 모션 데이터를 생성하는 방법.
  23. 모션 데이터를 생성하는 방법에 있어서,
    자이로스코프 센서로부터 적어도 두 개의 연이은 자이로스코프 데이터를 수신하는 단계;
    평균 데이터를 생성하기 위해 상기 적어도 두 개의 연이은 자이로스코프 데이터를 평균하는 단계;
    외적 데이터를 생성하기 위해 상기 적어도 두 개의 연이은 자이로스코프 데이터의 외적을 산출하는 단계; 및
    상기 평균 데이터 및 상기 외적 데이터를 사용하여 시간 간격에 걸쳐 적분을 수행하는 단계를 포함하는, 모션 데이터를 생성하는 방법.
  24. 제 23 항에 있어서,
    상기 적분을 수행하는 단계는 상기 자이로스코프 데이터의 코사인 및 사인을 포함하는, 모션 데이터를 생성하는 방법.
  25. 모션 데이터를 생성하기 위한 장치에 있어서,
    제 1 데이터 속도와 연관되는 자이로스코프 데이터를 제공하는 자이로스코프 센서;
    데이터를 생성하도록 동작하는 하나 이상의 센서들;
    상기 자이로스코프 데이터에 응답하여 제 2 데이터 속도와 연관되는 적분된 자이로스코프 데이터를 생성하도록 동작하는 적분기; 및
    상기 적분된 자이로스코프 데이터 및 상기 데이터에 응답하고, 모션 데이터를 생성하도록 동작하는 센서 융합부를 포함하는, 모션 데이터를 생성하기 위한 장치.
  26. 제 25 항에 있어서,
    제 1 프로세서는 상기 적분기를 포함하며 제 2 프로세서는 상기 센서 융합부를 포함하는, 모션 데이터를 생성하기 위한 장치.
KR20140056291A 2013-08-12 2014-05-12 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법 KR20150020034A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/965,131 2013-08-12
US13/965,131 US10247748B2 (en) 2013-03-15 2013-08-12 Method to reduce data rates and power consumption using device based attitude generation

Publications (1)

Publication Number Publication Date
KR20150020034A true KR20150020034A (ko) 2015-02-25

Family

ID=52579582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140056291A KR20150020034A (ko) 2013-08-12 2014-05-12 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법

Country Status (1)

Country Link
KR (1) KR20150020034A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170130373A (ko) * 2015-03-27 2017-11-28 인텔 코포레이션 전자 디바이스를 사용한 모션 추적

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170130373A (ko) * 2015-03-27 2017-11-28 인텔 코포레이션 전자 디바이스를 사용한 모션 추적

Similar Documents

Publication Publication Date Title
US20190227093A1 (en) Method to reduce data rates and power consumption using device based attitude generation
US11340247B2 (en) Method to reduce data rates and power consumption using device based attitude generation
CN109682377B (zh) 一种基于动态步长梯度下降的姿态估计方法
EP2973127B1 (en) Heading confidence interval estimation
WO2018184467A1 (zh) 一种云台姿态检测方法及装置
US9068843B1 (en) Inertial sensor fusion orientation correction
US8762091B1 (en) Inertial measurement system
US20160178657A9 (en) Systems and methods for sensor calibration
JP2021177168A (ja) 車両のデッドレコニング方法、装置、デバイス、記憶媒体、及びプログラム
US20160363460A1 (en) Orientation model for inertial devices
US20170003751A1 (en) Device and method for determination of angular position in three-dimensional space, and corresponding electronic apparatus
WO2009009803A2 (en) Integrated motion processing unit (mpu) with mems inertial sensing and embedded digital electronics
WO2020124678A1 (zh) 一种基于函数迭代积分的惯性导航解算方法及系统
Xu et al. A robust incremental-quaternion-based angle and axis estimation algorithm of a single-axis rotation using MARG sensors
US10254115B2 (en) Circuit device, physical quantity detection device, electronic apparatus, and moving object
KR20150020034A (ko) 디바이스 기반 자세 생성을 사용하여 데이터 레이트들 및 전력 소비를 감소시키기 위한 방법
CN108027793B (zh) 用于使传感器和处理器对接的系统和方法
CN110645976A (zh) 一种移动机器人的姿态估计方法及终端设备
US10809062B2 (en) MEMS inertial sensor device with determination of the bias value of a gyroscope thereof and corresponding method
US10175044B2 (en) Circuit device, physical quantity detection device, electronic apparatus, and moving object
US9921335B1 (en) Systems and methods for determining linear acceleration
JPH10160506A (ja) 角度計測装置
Liao et al. Dynamic attitude estimation improvement for low-cost MEMS IMU by integrating low-cost GPS
JP5161498B2 (ja) 姿勢信号演算装置
US20240191996A1 (en) System and method for time synchronized fusion of multiple inertial sensors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application