KR20150107821A - 자기 센서의 동적 교정 - Google Patents
자기 센서의 동적 교정 Download PDFInfo
- Publication number
- KR20150107821A KR20150107821A KR1020157021889A KR20157021889A KR20150107821A KR 20150107821 A KR20150107821 A KR 20150107821A KR 1020157021889 A KR1020157021889 A KR 1020157021889A KR 20157021889 A KR20157021889 A KR 20157021889A KR 20150107821 A KR20150107821 A KR 20150107821A
- Authority
- KR
- South Korea
- Prior art keywords
- computing device
- magnetic sensor
- sensor
- system state
- offset value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/02—Measuring direction or magnitude of magnetic fields or magnetic flux
- G01R33/025—Compensating stray fields
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/02—Magnetic compasses
- G01C17/28—Electromagnetic compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/38—Testing, calibrating, or compensating of compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/0023—Electronic aspects, e.g. circuits for stimulation, evaluation, control; Treating the measured signals; calibration
- G01R33/0035—Calibration of single magnetic sensors, e.g. integrated calibration
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R35/00—Testing or calibrating of apparatus covered by the other groups of this subclass
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R33/00—Arrangements or instruments for measuring magnetic variables
- G01R33/02—Measuring direction or magnitude of magnetic fields or magnetic flux
- G01R33/0206—Three-component magnetometers
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Electromagnetism (AREA)
- Measuring Magnetic Variables (AREA)
Abstract
자기 센서를 동적으로 교정하기 위한 컴퓨팅 디바이스, 시스템, 장치 및 적어도 하나의 머신 판독가능 매체가 본 명세서에 설명된다. 컴퓨팅 디바이스는 센서 허브와, 센서 허브에 통신가능하게 연결된 자기 센서를 포함한다. 자기 센서는 컴퓨팅 디바이스에 대응하는 센서 데이터를 수집하도록 구성된다. 컴퓨팅 디바이스는 또한 저장된 명령어를 실행하도록 구성된 프로세서와, 명령어를 저장하는 저장 디바이스를 포함한다. 저장 디바이스는, 프로세서에 의해 실행될 때, 컴퓨팅 디바이스의 시스템 상태를 결정하고, 컴퓨팅 디바이스의 결정된 시스템 상태를 센서 허브에 전달하도록 구성되는 프로세서 실행가능 코드를 포함한다. 센서 허브는 자기 센서를 통해 수집된 센서 데이터 및 컴퓨팅 디바이스의 결정된 시스템 상태에 기초하여 자기 센서를 동적으로 교정하도록 구성된다.
Description
본 발명은 일반적으로 자기 센서의 동적 교정에 관한 것이다. 보다 구체적으로, 본 발명은 자기 센서가 존재하는 컴퓨팅 디바이스의 시스템 상태에 기초하여 자기 센서를 동적으로 교정하기 위한 컴퓨팅 디바이스, 방법, 장치 및 적어도 하나의 머신 판독가능 매체에 관한 것이다.
자기 센서는 흔히 컴퓨팅 디바이스의 플랫폼 내에 집적되고 헤딩 정보, 예컨대, 컴퓨팅 디바이스가 지시하는 방향에 관한 정보를 측정하거나 검출하는 나침반으로서 사용된다. 그러한 헤딩 정보는 내비게이션 애플리케이션, 지각 컴퓨팅 애플리케이션, 게임 애플리케이션 등에 사용될 수 있다. 그러나, 컴퓨팅 디바이스의 플랫폼에 의해 유도되는 간섭은 자기 센서의 적절한 기능을 방해하여 부정확한 헤딩 측정을 초래할 수 있다. 특히, 자기 센서의 입력에서 컴퓨팅 디바이스의 플랫폼에 의해 유도되는 자기장은 컴퓨팅 디바이스의 다양한 구성요소의 시스템 상태 및 자기 센서에 대한 구성요소의 근접성에 기초하여 시프트할 수 있다.
현재 기술에 따르면, 자기장 내의 그러한 플랫폼 유도 시프트는 회전 평면 내에서 자기 센서 출력의 중심을 계산하고, 모니터링하며, 추적함으로써 설명된다. 그러나, 그러한 기술은 컴퓨팅 디바이스의 구성요소의 시스템 상태의 변경에 기인하는 자기장의 시프트를 적절히 설명하지 않는다. 예컨대, 그러한 기술은 컴퓨팅 디바이스의 배터리가 충전되고 있거나 컴퓨팅 디바이스의 전체 전력 소비가 변할 때 발생할 수 있는 컴퓨팅 디바이스의 전력 상태의 변경에 기인하는 센서에서 보이는 자기장의 시프트를 설명하지 않는다.
현재, 구성요소의 시스템 상태의 변경으로 인해 발생하는 자기장의 시프트는 외부 환경의 변경으로 인해 발생하는 자기장의 시프트와 동일한 방식으로 처리된다. 그러한 기술에 따르면, 외부 환경의 변경을 검출하는 데 다수의 센서 판독이 사용되고, 그 다음에 알고리즘이 사용되어 외부 환경의 변경에 기인하는 자기장의 시프트를 계산한다. 그 결과, 자기 센서를 판독하는 컴퓨팅 디바이스의 방향 출력은 자기장의 물리적 시프트의 발생과 자기장의 시프트의 검출 및 계산 사이의 시간 동안에 부정확할 것이다.
도 1은 정자기장 내의 모든 자기 센서 방향에 걸친 자기 센서의 출력을 도시하는 그래프이다.
도 2는 자기 센서의 출력의 시프트를 도시하는 그래프이다.
도 3은 본 명세서에 설명된 자기 센서를 동적으로 교정하는 기술이 구현될 수 있는 컴퓨팅 디바이스의 블록도이다.
도 4는 도 3의 컴퓨팅 디바이스의 센서 허브의 블록도이다.
도 5는 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 방법의 프로세스 흐름도이다.
도 6은 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 코드를 저장하는 유형적인 비일시적 머신 판독가능 매체를 도시하는 블록도이다.
동일한 숫자가 개시내용 및 도면 전체에 걸쳐 사용되어 동일한 구성요소 및 특징부를 지칭한다. 100 시리즈 숫자는 도 1에서 최초로 발견되는 특징부를 지칭하고, 200 시리즈 숫자는 도 2에서 최초로 발견되는 특징부를 지칭하며, 기타 등등이 있다.
도 2는 자기 센서의 출력의 시프트를 도시하는 그래프이다.
도 3은 본 명세서에 설명된 자기 센서를 동적으로 교정하는 기술이 구현될 수 있는 컴퓨팅 디바이스의 블록도이다.
도 4는 도 3의 컴퓨팅 디바이스의 센서 허브의 블록도이다.
도 5는 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 방법의 프로세스 흐름도이다.
도 6은 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 코드를 저장하는 유형적인 비일시적 머신 판독가능 매체를 도시하는 블록도이다.
동일한 숫자가 개시내용 및 도면 전체에 걸쳐 사용되어 동일한 구성요소 및 특징부를 지칭한다. 100 시리즈 숫자는 도 1에서 최초로 발견되는 특징부를 지칭하고, 200 시리즈 숫자는 도 2에서 최초로 발견되는 특징부를 지칭하며, 기타 등등이 있다.
이상 논의한 바와 같이, 컴퓨팅 디바이스의 플랫폼에 의해 유도되는 간섭은 자기 센서의 입력에서 컴퓨팅 디바이스의 플랫폼에 의해 유도되는 자기장을 시프트함으로써 컴퓨팅 디바이스 내의 자기 센서의 적절한 기능을 방해할 수 있다. 또한, 현재 기술은 컴퓨팅 디바이스의 구성요소의 시스템 상태의 변경에 기인하는 자기장의 시프트를 적절히 설명하지 않는다.
회전에 관하여 무시할 수 있는 왜곡을 가진 컴퓨팅 디바이스의 플랫폼 내의 자기 센서, 예컨대, Bsensor에 의해 측정된 자기장은 이하 수학식(1)에 도시되는 바와 같이, 3 개의 자기장 및 그들 각각의 좌표 시스템의 벡터 가법으로서 표현될 수 있다. 3 개의 자기장은 플랫폼에 의해 유도된 자기장, 예컨대, Bplatform, 지구의 자기장, 예컨대, Bearth 및 플랫폼 외부의 자기원으로부터의 임의의 기여, 예컨대, Bambient를 포함한다.
수학식(1)에서, 는 플랫폼/센서 좌표와 같고, 는 세계 좌표와 같다. 또한, 는 플랫폼/센서 좌표 및 세계 좌표의 회전 이동 행렬이다. 각각의 벡터의 절대값은 자기원의 강도와 세계 및 플랫폼/센서 좌표 시스템 내 경계에 대한 근접도 양자 모두의 함수이다.
플랫폼의 정확한 헤딩은 수학식(2)에 따라 결정될 수 있다.
헤딩 정보를 결정하기 위한 현재 구현은 수학식(2)에 도시된 arctan 함수로부터 각도를 정확히 계산하기 위해 자기 센서에서 플랫폼 유도 자기장에 의해 자기 센서 출력을 조정한다. 그러나, 이 값은 컴퓨팅 디바이스의 구성요소의 시스템 상태의 변경에 의해 유도된 자기장에 의해 시프트될 수 있다.
도 1은 정자기장 내의 모든 자기 센서 방향에 걸친 자기 센서의 출력(102)을 도시하는 그래프(100)이다. 도 1에 도시된 바와 같이, 자기 센서는 정자기장에서 자기 센서의 z 축 주위를 회전할 때 원점, 즉, x-y 좌표 (0, 0)에서 도심(104)을 생성한다. 그래프(100)의 x 축(106)은 x 방향으로 카운트의 수를 나타내고, 그래프(100)의 y 축(108)은 y 방향으로 카운트의 수를 나타낸다.
도 2는 자기 센서의 출력의 시프트를 도시하는 그래프(200)이다. 그래프(200)의 x 축(202)은 x 방향으로 카운트의 수를 나타내고, 그래프(200)의 y 축(204)은 y 방향으로 카운트의 수를 나타낸다. 그래프(200)는 이상적인 경우의 자기 센서의 출력(206)을 도시한다. 그래프(200)는 또한 컴퓨팅 디바이스가 자기 센서의 동일한 참조 프레임 내에서 고정되어 모든 방향에 걸쳐 일정한 시프트를 생성하는 자기장원을 포함하는 경우의 자기 센서의 출력(208)을 도시한다. 센서 출력은 컴퓨팅 디바이스가 하나 이상의 구성요소의 시스템 상태의 변경을 경험하였을 때 시프트될 수 있다.
현재 기술에 따르면, 컴퓨팅 디바이스는 플랫폼 유도 자기장에 기인한 시프트를 추정하는 데 복잡한 추적 알고리즘에 의존하거나, 팩토리 교정에서 결정된 정적 오프셋에 의존한다. 그러나, 컴퓨팅 디바이스의 하나 이상의 구성요소의 시스템 상태의 변경은, 만일 충분히 근접하면, 자기 센서에 의해 검출가능한 하나 이상의 새로운 로컬 자기장을 유도할 수 있다. 그러한 자기장에 기인하는 자기 센서의 출력의 순간적인 시프트는 현재 기술에 따라 자동으로 설명되지 않는다.
그러므로, 본 명세서에 설명된 실시예는 자기 센서의 상태 구동 교정을 제공한다. 특히, 본 명세서에 설명된 실시예는 컴퓨팅 디바이스의 시스템 상태로부터 유도된 교정 오프셋 값에 기초하여 컴퓨팅 디바이스의 자기 센서의 출력을 동적으로 정정하기 위한 컴퓨팅 디바이스, 방법 및 적어도 하나의 머신 판독가능 매체를 제공한다.
본 명세서에 설명된 실시예는 센서 응답의 시프트 바로 다음의 잘못된 방향의 헤딩 계산의 원인을 제거할 수 있고 자기 센서 응답의 시프트를 검출하는 데 걸리는 시간을 감소시킬 수 있다. 또한, 본 명세서에 설명된 실시예는 컴퓨팅 디바이스의 시스템 상태에 기인한 센서 시프트를 계산하고 추적하는 것과 관련된 연산 작업부하를 감소시킬 수 있다. 그 결과, 자기 센서는 자기장의 플랫폼 유도 시프트에도 불구하고 정확한 헤딩을 추적할 수 있다.
후속하는 설명 및 특허청구범위에서, 용어 "연결된" 및 "접속된"은 그들의 파생어와 함께 사용될 수 있다. 이들 용어는 서로에 대한 동의어로서 의도되지 않는다. 오히려, 특정 실시예에서, "접속된"은 2 개 이상의 요소가 서로 직접 물리적 또는 전기적 접촉함을 나타내는 데 사용될 수 있다. "연결된"은 2 개 이상의 요소가 직접 물리적 또는 전기적 접촉함을 의미할 수 있다. 그러나, "연결된"은 2 개 이상의 요소가 서로 직접 물리적 또는 전기적 접촉하지 않지만 서로 협력하거나 상호작용함을 의미할 수도 있다.
일부 실시예는 하드웨어, 펌웨어 및 소프트웨어 중 하나 또는 조합으로 구현될 수 있다. 일부 실시예는 또한 본 명세서에 설명된 동작을 수행하도록 컴퓨팅 플랫폼에 의해 판독되고 실행될 수 있는 머신 판독가능 매체 상에 저장된 명령어로서 구현될 수 있다. 머신 판독가능 매체는 머신, 예컨대, 컴퓨터에 의해 판독가능한 형태로 정보를 저장하거나 송신하는 임의의 메커니즘을 포함할 수 있다. 예컨대, 머신 판독가능 매체는 그 중에서도 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스 또는 전기, 광학, 음향 또는 다른 형태의 전파 신호, 예컨대, 반송파, 적외선 신호, 디지털 신호, 또는 신호를 송신 및/또는 수신하는 인터페이스를 포함할 수 있다.
실시예는 구현 또는 예시이다. 명세서에서 언급된 "실시예", "일 실시예", "일부 실시예", "다양한 실시예" 또는 "다른 실시예"는 그 실시예와 관련하여 설명된 특정 특징부, 구조 또는 특성이 적어도 일부 실시예에 포함되지만, 반드시 본 명세서에 설명된 모든 실시예에 포함되는 것은 아님을 의미한다. 다양한 표현 "실시예", "일 실시예" 또는 "일부 실시예"가 반드시 동일한 실시예를 모두 지칭하는 것은 아니다.
본 명세서에 설명되고 예시된 구성요소, 특징부, 구조 또는 특성이 모두 모든 경우에 특정 실시예 또는 실시예들에 포함되어야 하는 것은 아니다. 명세서가 구성요소, 특징부, 구조 또는 특성이 포함"될 수 있다"고 나타내면, 그 특정 구성요소, 특징부, 구조 또는 특성은 모든 경우에 포함되지 않을 수도 있다. 명세서 또는 특허청구범위가 "하나의" 요소를 언급하면, 이는 그 요소가 하나만 존재함을 의미하지 않는다. 명세서 또는 특허청구범위가 "추가" 요소를 언급하면, 이는 그 추가 요소가 하나보다 많이 존재함을 배제하지 않는다.
일부 실시예는 특정 구현과 관련하여 설명되었지만, 일부 실시예에 따라 다른 구현이 가능하다는 것에 유의해야 한다. 추가적으로, 도면에 도시되고 명세서에 설명된 회로 요소 또는 다른 특징부의 배열 및/또는 순서는 여기에 설명되고 도시된 특정 방식으로 배치되지 않을 수도 있다. 일부 실시예에 따라 다수의 다른 배치도 가능하다.
도면에 도시된 각각의 시스템에서, 일부 경우의 요소는 표시된 요소가 상이하고/하거나 유사할 수 있음을 제안하도록 동일한 참조 번호 또는 상이한 참조 번호를 각각 가질 수 있다. 그러나, 요소는 상이한 구현을 가지며 본 명세서에 도시되거나 설명된 시스템의 일부 또는 전부와 함께 작동하기에 충분히 유동적일 수 있다. 도면에 도시된 다양한 요소는 동일하거나 상이할 수 있다. 어느 것이 제 1 요소로서 지칭되고 제 2 요소로 지칭되는 지는 임의적이다.
도 3은 본 명세서에 설명된 자기 센서를 동적으로 교정하는 기술이 구현될 수 있는 컴퓨팅 디바이스(300)의 블록도이다. 컴퓨팅 디바이스(300)는 그 중에서도 예컨대, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 모바일 디바이스, 서버 또는 셀룰러폰일 수 있다. 컴퓨팅 디바이스(300)는 저장된 명령어를 실행하도록 구성되는 프로세서(302)뿐만 아니라 프로세서(302)에 의해 실행가능한 명령어를 저장하는 메모리 디바이스(304)도 포함할 수 있다. 프로세서(302)는 단일 코어 프로세서, 멀티 코어 프로세서, 컴퓨팅 클러스터 또는 임의의 개수의 다른 구성일 수 있다. 프로세서(302)는 CISC(Complex Instruction Set Computer) 또는 RISC(Reduced Instruction Set Computer) 프로세서, x86 명령어 세트 호환가능 프로세서, 멀티 코어 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 유닛(CPU)로서 구현될 수 있다. 일부 실시예에서, 프로세서(302)는 듀얼 코어 프로세서(들), 듀얼 코어 모바일 프로세서(들) 등을 포함한다.
메모리 디바이스(304)는 랜덤 액세스 메모리(예컨대, SRAM, DRAM, 제로 캐패시터 RAM, SONOS, eDRAM, EDO RAM, DDR RAM, RRAM, PRAM 등), 판독 전용 메모리(예컨대, 마스크 ROM, PROM, EPROM, EEPROM 등), 플래시 메모리 또는 임의의 다른 적합한 메모리 시스템을 포함할 수 있다. 메모리 디바이스(304)는 프로세서(302)에 의해 실행가능한 명령어를 저장하고, 컴퓨팅 디바이스(300)의 시스템 상태에 기초하여 컴퓨팅 디바이스(300) 내에서 구현되는 자기 센서(306)를 동적으로 교정하기 위한 지원을 제공하는 데 사용된다.
프로세서(302)는 하나 이상의 I/O 디바이스(312)에 컴퓨팅 디바이스(300)를 접속하도록 구성된 입출력(I/O) 디바이스 인터페이스(310)에 시스템 버스(308)(예컨대, PCI, ISA, PCI-Express, HyperTransport®, NuBus 등)를 통해 접속될 수 있다. I/O 디바이스(312)는 예컨대, 키보드, 포인팅 디바이스 등을 포함할 수 있다. 포인팅 디바이스는 그 중에서도 터치패드 또는 터치스크린을 포함할 수 있다. I/O 디바이스(312)는 컴퓨팅 디바이스(300)의 빌트인 구성요소일 수 있거나, 컴퓨팅 디바이스(300)에 외부 접속되는 디바이스일 수 있다.
프로세서(302)는 디스플레이 디바이스(316)에 컴퓨팅 디바이스(300)를 접속하도록 구성된 디스플레이 디바이스 인터페이스(314)에 시스템 버스(308)를 통해서도 링크될 수 있다. 디스플레이 디바이스(316)는 컴퓨팅 디바이스(300)의 빌트인 구성요소인 디스플레이 스크린을 포함할 수 있다. 디스플레이 디바이스(316)는 또한 그 중에서도 컴퓨팅 디바이스(300)에 외부 접속되는 컴퓨터 모니터, 텔레비전 또는 프로젝터를 포함할 수 있다.
프로세서(302)는 또한 네트워크 인터페이스 제어기(NIC)(318)에 버스(308)를 통해 링크될 수 있다. NIC(318)는 프로세서(302)를 버스(308)를 통해 네트워크(320)에 접속하도록 구성될 수 있다. 네트워크(320)는 그 중에서도 WAN, LAN 또는 인터넷일 수 있다.
컴퓨팅 디바이스(300)는 또한 저장 디바이스(322)를 포함할 수 있다. 저장 디바이스(322)는 하드 드라이브, 광학 드라이브, 플래시 드라이브, 드라이브 어레이 등과 같은 물리적 메모리를 포함할 수 있다. 저장 디바이스(322)는 또한 원격 저장 드라이브를 포함할 수 있다. 저장 디바이스(322)는 컴퓨팅 디바이스(300)의 시스템 상태에 기초하여 자기 센서(306)를 동적으로 교정하기 위한 지원을 제공하도록 명령어를 저장할 수 있다. 다양한 실시예에서, 컴퓨팅 디바이스(300)의 시스템 상태는 컴퓨팅 디바이스(300)의 여러 개별 구성요소의 시스템 상태의 합산을 포함한다.
저장 디바이스(322)는 운영 시스템(324)을 포함할 수 있다. 운영 시스템(324)에는 하나 이상의 드라이버가 설치될 수 있다. 드라이버는 운영 시스템(324) 또는 자기 센서(306)를 포함하는 컴퓨팅 디바이스(300)의 다른 하드웨어와 통신하기 위해 운영 시스템(324) 상에 설치되고 저장 디바이스(322) 내에 존재하는 하나의 하드웨어 또는 하나 이상의 애플리케이션(326)을 인에이블할 수 있다. 드라이버는 또한 센서 허브(또는 제어기)(328)가 자기 센서(306)로부터 운영 시스템(324) 상에 설치된 하나 이상의 애플리케이션(326) 중 임의의 애플리케이션으로 센서 데이터를 통신하게 하도록 하는 데 사용될 수 있다.
다양한 실시예에서, 자기 센서(306)는 버스(308)를 통해 프로세서(302)에 접속된다. 자기 센서(306)는 또한 개인 버스 또는 센서 인터페이스(도시 생략)를 통해 프로세서(302)에 직접 접속될 수 있다. 또한, 다양한 실시예에서, 자기 센서(306)는 센서 인터페이스를 통해 센서 허브(328)에 통신가능하게 연결된다. 센서 허브(328)는 자기 센서(306)로부터 센서 데이터를 수집하도록 구성될 수 있다. 일부 실시예에서, 컴퓨팅 디바이스(300) 내의 하나 이상의 마이크로제어기는 자기 센서(306)를 통해 수집된 센서 데이터를 센서 허브(328)에 제공할 수 있다. 센서 데이터는 예컨대, 자기 헤딩, 자북(magnetic north), 글로벌 위치, 고도 또는 다른 컴퓨팅 디바이스에 대한 근접성에 관한 데이터를 포함할 수 있다.
센서 허브(328)는 또한 자기 센서(306)를 통해 수집된 센서 데이터 및 컴퓨팅 디바이스(300)의 현재 시스템 상태에 기초하여 자기 센서(306)를 동적으로 교정하도록 구성될 수 있다. 다양한 실시예에서, 센서 허브(328)는 저장된 바이어스 버퍼(330) 내에 저장되는 교정 오프셋 값을 사용하여 그러한 동적 교정 절차를 수행하며, 이는 도 4에 관하여 더 논의된다. 또한, 센서 허브(328)는 자기 센서 및 시스템 상태 버퍼(332)에 기초하여 저장된 바이어스 버퍼(330) 내의 교정 오프셋 값을 연속적으로 또는 주기적으로 업데이트할 수 있으며, 이 또한 도 4에 관하여 더 논의된다.
일부 실시예에서, 센서 허브(328)는 커널 레벨에서 동작하고 컴퓨팅 디바이스(300)의 운영 시스템(324)을 통해 구현된다. 다른 실시예에서, 센서 허브(328)는 프로세서 레벨에서 동작하고 프로세서(302) 및 컴퓨팅 디바이스(300) 내에 존재하는 임의의 개수의 다른 하드웨어를 통해 구현된다. 또한, 다양한 실시예에서, 센서 허브(328)는 운영 시스템(324)과 프로세서(302) 양자 모두를 통해 동시에 구현된다. 이는 일부 경우에 프로세서(302)가 운영 시스템(324)에 노출되지 않은 특정 시스템 상태 변경 이벤트에 관한 데이터를 알 수 있으므로 바람직할 수 있다. 또한, 일부 경우에, 운영 시스템(324)은 새로 설치된 하드웨어, 예컨대, 프로세서(302)에 노출되지 않은 웹캠 또는 라디오에 대한 특정 시스템 상태 변경 이벤트에 관한 데이터를 알 수 있다.
또한, 일부 실시예에서, 센서 허브(328)는 펌웨어를 포함한다. 예컨대, 센서 허브(328)는 저항기-트랜지스터 로직(RTL) 또는 커널 레벨 및/또는 프로세서 레벨에 존재하는 임의의 다른 적합한 유형의 로직을 포함할 수 있다.
도 3의 블록도가 컴퓨팅 디바이스(300)가 도 3에 도시된 모든 구성요소를 포함해야 함을 나타내도록 의도되지 않음을 이해해야 한다. 또한, 컴퓨팅 디바이스(300)는 특정 구현의 세부사항에 따라, 도 3에 도시되지 않은 임의의 개수의 추가 구성요소를 포함할 수 있다.
도 4는 도 3의 컴퓨팅 디바이스(300)의 센서 허브(328)의 블록도이다. 동일한 번호의 항목은 도 3에 관하여 설명된 바와 같다. 도 3에 도시된 바와 같이, 센서 허브(328)는 자기 센서로부터 센서 데이터를 자기 센서 출력(400)의 형태로 수신할 수 있다. 그 다음에 센서 허브(328)는 검출된 시스템 상태 변경 이벤트의 수에 기초하여 컴퓨팅 디바이스(300)의 시스템 상태(402)를 결정할 수 있다. 그러한 시스템 상태 변경 이벤트는 예컨대, 컴퓨팅 디바이스(300)의 라디오를 턴온하는 것, 컴퓨팅 디바이스(300)의 배터리를 충전하는 것 또는 컴퓨팅 디바이스(300)의 프로세서(302)를 터보 모드에 두는 것을 포함할 수 있다. 다양한 실시예에서, 시스템 상태 변경 이벤트는 프로세서(302), 하나 이상의 마이크로제어기 또는 컴퓨팅 디바이스(300) 내에 존재하는 다른 하드웨어를 통해 검출되고, 그 다음에 검출된 시스템 상태 변경 이벤트는 센서 허브(328)로 전달된다.
다양한 실시예에서, 센서 허브(328)는 저장된 바이어스 버퍼(330) 내에 존재하는 교정 오프셋 테이블(406)로부터 각각의 검출된 시스템 상태 변경 이벤트에 대한 교정 오프셋 값(404)을 결정할 수 있다. 교정 오프셋 테이블(406)은 컴퓨팅 디바이스(300)의 다양한 시스템 상태에 기초하여 생성될 수 있다. 교정 오프셋 테이블(406)은 실시간으로 자기 센서(306)의 성능을 유지하는 데 사용될 수 있다. 특히, 교정 오프셋 테이블(406)은 테이블 1에 이하 도시되는 바와 같이, 다양한 시스템 상태 변경 이벤트에 관한 교정 오프셋 값을 포함할 수 있다. 일부 실시예에서, 교정 오프셋 값은 컴퓨팅 디바이스(300)의 부트업 시퀀스 동안에 저장된 바이어스 버퍼(330)의 교정 오프셋 테이블(406)에서 측정되고 저장될 수 있다.
그 다음에 센서 허브(328) 내의 시스템 상태 결정 모듈(408)은 시스템 상태 변경 이벤트에 대한 교정 오프셋 값(404)을 합산함으로써 컴퓨팅 디바이스(300)의 결정된 시스템 상태(402)에 대응하는 조합된 교정 오프셋 값(410)을 결정할 수 있다. 조합된 교정 오프셋 값(410)은 도 4에 도시된 바와 같이, 정정된 자기 센서 출력 결정 모듈(412)로 전달될 수 있다. 정정된 자기 센서 출력 결정 모듈(412)은 정정된 자기 센서 출력(414)을 획득하기 위해 자기 센서를 통해 수집된 자기 센서 출력(400)으로부터 조합된 교정 오프셋 값(410)을 감산할 수 있다. 보다 구체적으로, 정정된 자기 센서 결정 모듈(412)은 수학식(3)에 이하 도시되는 바와 같이, 자기 센서(306)에 의해 측정된 자기장, 예컨대, BMeasured 및 컴퓨팅 디바이스(300)의 시스템 상태의 변경에 의해 유도된 자기장의 시프트, 예컨대, BSystem State를 설명하는 조합된 교정 오프셋 값에 기초하여 자기 센서에 대한 정정된 자기장, 예컨대, BCorrected을 결정할 수 있다.
다양한 실시예에서, 정정된 자기 센서 출력(414)은 컴퓨팅 디바이스(300)의 주변 자기장(416)으로서 컴퓨팅 디바이스(300)에서 실행하는 임의의 수의 애플리케이션에 제공될 수 있다. 또한, 다양한 실시예에서, 정정된 자기 센서 출력(414)뿐만 아니라 조합된 교정 오프셋 값(410)도 자기 센서 및 시스템 상태 버퍼(332)에 제공될 수 있다. 자기 센서 및 시스템 상태 버퍼(332)는 저장된 바이어스 버퍼(330)의 교정 오프셋 테이블(406) 내의 교정 오프셋 값을 업데이트하는 데 사용될 수 있다. 특히, 자기 센서 및 시스템 상태 버퍼(332)는 과거에 저장된 자기 센서 출력 및 대응하는 조합된 교정 오프셋 값을 열거하는 테이블(418)을 포함할 수 있다. 다양한 실시예에서, 테이블(418)은 현재 정정된 자기 센서 출력(414) 및 현재 조합된 교정 오프셋 값(410)으로 연속하여 업데이트될 수 있다.
다양한 실시예에서, 현재 정정된 자기 센서 출력(414) 및 현재 조합된 교정 오프셋 값(410)뿐만 아니라 업데이트된 테이블(418)에 관한 정보도 동적 자기 센서 교정 모듈(420)에 전달될 수 있다. 그 다음에 동적 자기 센서 교정 모듈(420)은 저장된 바이어스 버퍼(330)의 교정 오프셋 테이블(406) 내의 교정 오프셋 값의 실시간 업데이트를 통해 컴퓨팅 디바이스(300)의 자기 센서(306)를 동적으로 교정할 수 있다. 특히, 현재 정정된 자기 센서 출력(414) 및 현재 조합된 교정 오프셋 값(410)은 기존의 교정 오프셋 값과 비교될 수 있고, 데이터가 대응하는 시스템 상태 변경 이벤트 중 임의의 것에 대한 상태가 변하였음을 나타내면 기존의 교정 오프셋 값은 저장된 바이어스 버퍼(330)의 교정 오프셋 테이블(406)에서 변경되거나 대체될 수 있다.
도 4의 블록도가 센서 허브(328)가 도 4에 도시된 모든 구성요소를 포함해야함을 나타내도록 의도되지 않음을 이해해야 한다. 또한, 센서 허브(328)는 특정 구현의 세부사항에 따라, 도 4에 도시되지 않은 임의의 수의 추가 구성요소를 포함할 수 있다.
도 5는 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 방법(500)의 흐름도를 처리한다. 방법(500)은 자기 센서가 존재하는 컴퓨팅 디바이스에 의해 구현될 수 있다. 컴퓨팅 디바이스는 도 3 및 도 4에 관하여 논의된 컴퓨팅 디바이스(300)일 수 있고 또는 본 명세서에 설명된 기술에 따라 동적으로 교정될 수 있는 자기 센서를 포함하는 임의의 적합한 컴퓨팅 디바이스일 수 있다.
방법(500)은 컴퓨팅 디바이스에 대한 센서 데이터가 자기 센서를 통해 수집되는 블록(502)에서 시작한다. 센서 데이터는 자기 센서의 출력일 수 있다. 센서 데이터는 예컨대, 자기 헤딩, 자북, 글로벌 위치, 고도 또는 다른 컴퓨팅 디바이스에 대한 근접성에 관한 데이터를 포함할 수 있다.
블록(504)에서, 컴퓨팅 디바이스의 시스템 상태가 결정된다. 컴퓨팅 디바이스의 시스템 상태는 컴퓨팅 디바이스의 다양한 개별 구성요소의 시스템 상태에 기초하여 결정될 수 있다. 또한, 컴퓨팅 디바이스의 시스템 상태는 예컨대, 컴퓨팅 디바이스의 라디오를 턴온하거나 컴퓨팅 디바이스의 배터리를 충전하는 것과 같은 임의의 수의 시스템 상태 변경 이벤트에 기초하여 결정될 수 있다.
블록(506)에서, 컴퓨팅 디바이스의 자기 센서는 컴퓨팅 디바이스의 시스템 상태 및 센서 데이터에 기초하여 동적으로 교정된다. 다양한 실시예에서, 자기 센서를 동적으로 교정하는 것은 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하는 것 및 자기 센서 출력을 정정하는 데 그 교정 오프셋 값을 사용하는 것을 포함한다. 특히, 자기 센서 출력은 컴퓨팅 디바이스의 다양한 구성요소의 시스템 상태의 변경에 기인하는 자기장의 시프트를 설명하도록 정정될 수 있다. 그 다음에 자기 센서의 정정된 출력은 컴퓨팅 디바이스에서 실행하는 애플리케이션에 제공될 수 있다.
또한, 일부 실시예에서, 자기 센서를 동적으로 교정하는 것은 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 다수의 시스템 상태 변경 이벤트 중 각각에 대한 교정 오프셋 값을 결정하는 것을 포함한다. 조합된 교정 오프셋 값은 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 결정될 수 있고, 자기 센서 출력은 자기 센서 출력 값으로부터 조합된 교정 오프셋 값을 감산함으로써 정정될 수 있다. 그 다음에 정정된 자기 센서 출력은 컴퓨팅 디바이스에서 실행하는 애플리케이션에 제공될 수 있다.
다양한 실시예에서, 시스템 상태 변경 이벤트에 대한 교정 오프셋 값은 컴퓨팅 디바이스의 부트업 시퀀스 동안에 결정될 수 있다. 또한, 교정 오프셋 값은 현재 정정된 자기 센서 출력 및 현재 조합된 교정 오프셋 값과 기존의 교정 오프셋 값을 비교하고, 데이터가 대응하는 시스템 상태 변경 이벤트 중 임의의 것에 대한 상태가 변하였음을 나타내면 기존의 교정 오프셋 값을 변경하거나 대체함으로써 실시간으로 업데이트될 수 있다.
도 5의 프로세스 흐름도가 방법(500)의 블록이 임의의 특정 순서로 실행되어야하거나 방법(500)의 블록 전부가 모든 경우에 포함되어야 함을 나타내도록 의도되지 않음을 이해해야 한다. 또한, 특정 구현의 세부사항에 따라, 임의의 수의 추가 블록이 방법(500) 내에 포함될 수 있다.
방법(500)은 다양한 애플리케이션에 사용될 수 있다. 예컨대, 다양한 실시예에서, 방법(500)에 따른 컴퓨팅 디바이스의 자기 센서의 교정은 컴퓨팅 디바이스에서 실행하는 임의의 수의 위치 애플리케이션(또는 임의의 유형의 위치 정보를 이용하는 애플리케이션)이 적절히 기능하게 한다.
도 6은 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 코드를 저장하는 유형적인 비일시적 머신 판독가능 매체(600)를 도시하는 블록도이다. 유형적인 비일시적 머신 판독가능 매체(600)는 컴퓨터 버스(604)를 통해 프로세서(602)에 의해 액세스될 수 있다. 또한, 유형적인 비일시적 머신 판독가능 매체(600)는 프로세서(602)에 본 명세서에 설명된 방법을 수행하라고 지시하도록 구성된 코드를 포함할 수 있다.
본 명세서에 설명된 다양한 소프트웨어 구성요소는 도 6에 나타낸 바와 같이, 유형적인 비일시적 머신 판독가능 매체(600) 상에 저장될 수 있다. 예컨대, 시스템 상태 결정 모듈(606)은 컴퓨팅 디바이스의 시스템 상태를 결정하도록 구성될 수 있다. 또한, 정정된 자기 센서 출력 결정 모듈(608)은 컴퓨팅 디바이스의 시스템 상태에 기초하여 자기 센서의 출력을 정정하도록 구성될 수 있다. 또한, 동적 자기 센서 교정 모듈(610)은 컴퓨팅 디바이스의 시스템 상태 및 정정된 자기 센서 출력에 기초하여 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하도록 구성될 수 있다.
도 6의 블록도가 유형적인 비일시적 머신 판독가능 매체(600)가 도 6에 도시된 모든 구성요소를 포함해야 함을 나타내도록 의도되지 않음을 이해해야 한다. 또한, 특정 구현의 세부사항에 따라, 도 6에 도시되지 않은 임의의 개수의 추가 구성요소가 유형적인 비일시적 머신 판독가능 매체(600) 내에 포함될 수 있다.
예 1
컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스는 센서 허브와, 센서 허브에 통신가능하게 연결된 자기 센서를 포함한다. 자기 센서는 컴퓨팅 디바이스에 대응하는 센서 데이터를 수집하도록 구성된다. 컴퓨팅 디바이스는 또한 프로세서와, 저장 디바이스를 포함한다. 저장 디바이스는, 프로세서에 의해 실행될 때, 컴퓨팅 디바이스의 시스템 상태를 결정하고, 컴퓨팅 디바이스의 결정된 시스템 상태를 센서 허브에 전달하도록 구성되는 프로세서 실행가능 코드를 포함한다. 센서 허브는 자기 센서를 통해 수집된 센서 데이터 및 컴퓨팅 디바이스의 결정된 시스템 상태에 기초하여 자기 센서를 동적으로 교정하도록 구성된다.
센서 허브는, 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 센서 데이터를 포함하는 자기 센서의 출력을 정정하는 데 교정 오프셋 값을 사용함으로써 자기 센서를 동적으로 교정하도록 구성될 수 있다. 특히, 센서 허브는 자기 센서의 출력의 값에서 교정 오프셋 값을 감산함으로써 자기 센서의 출력을 정정하도록 구성될 수 있다. 자기 센서의 정정된 출력은 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함할 수 있고, 센서 허브는 컴퓨팅 디바이스에서 실행하는 애플리케이션에 주변 자기장을 제공하도록 구성될 수 있다.
또한, 센서 허브는, 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 다수의 시스템 상태 변경 이벤트 중 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 센서 데이터를 포함하는 자기 센서의 출력을 정정하는 데 교정 오프셋 값을 사용함으로써 자기 센서를 동적으로 교정하도록 구성될 수 있다. 특히, 센서 허브는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 조합된 교정 오프셋 값을 결정하고, 자기 센서의 출력의 값에서 조합된 교정 오프셋 값을 감산함으로써 자기 센서의 출력을 정정하도록 구성될 수 있다. 자기 센서의 정정된 출력은 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함할 수 있고, 센서 허브는 컴퓨팅 디바이스에서 실행하는 애플리케이션에 주변 자기장을 제공하도록 구성될 수 있다.
센서 허브는 컴퓨팅 디바이스의 운영 시스템을 통해 구현될 수 있고 또는 컴퓨팅 디바이스의 프로세서를 통해 구현될 수 있다. 또한, 센서 허브는 컴퓨팅 디바이스의 운영 시스템과 프로세서 양자 모두를 통해 구현될 수 있다. 또한, 자기 센서는 센서 인터페이스를 통해 센서 허브와 프로세서에 통신가능하게 연결될 수 있다.
예 2
컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 방법이 제공된다. 방법은 자기 센서를 통해 컴퓨팅 디바이스에 대한 센서 데이터를 수집하는 단계와, 컴퓨팅 디바이스의 시스템 상태를 결정하는 단계와, 센서 데이터 및 컴퓨팅 디바이스의 시스템 상태에 기초하여 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 단계를 포함한다.
자기 센서를 동적으로 교정하는 단계는 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하는 단계를 포함할 수 있다. 교정 오프셋 값은 센서 데이터를 포함하는 자기 센서의 출력을 정정하는 데 사용될 수 있다. 자기 센서의 정정된 출력은 컴퓨팅 디바이스에서 실행하는 애플리케이션에 제공될 수 있다.
또한, 자기 센서를 동적으로 교정하는 단계는, 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 다수의 시스템 상태 변경 이벤트 중 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하는 단계와, 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 조합된 교정 오프셋 값을 결정하는 단계를 포함할 수 있다. 그 다음에 자기 센서의 출력은 자기 센서의 출력의 값에서 조합된 교정 오프셋 값을 감산함으로써 정정될 수 있다. 자기 센서의 정정된 출력은 컴퓨팅 디바이스에서 실행하는 애플리케이션에 제공될 수 있다.
예 3
적어도 하나의 머신 판독가능 매체가 제공된다. 머신 판독가능 매체는, 프로세서에서 실행되는 것에 응답하여, 프로세서로 하여금 컴퓨팅 디바이스 내에 존재하는 자기 센서의 출력을 결정하게 하는 명령어를 저장한다. 출력은 센서 데이터를 포함한다. 명령어는 프로세서로 하여금 컴퓨팅 디바이스의 시스템 상태를 결정하며, 컴퓨팅 디바이스의 결정된 시스템 상태에 대응하는 다수의 시스템 상태 변경 이벤트 중 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하게 한다. 명령어는 또한 프로세서로 하여금 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 조합된 교정 오프셋 값을 계산하며, 자기 센서의 출력의 값에서 조합된 교정 오프셋 값을 감산함으로써 자기 센서의 정정된 출력을 계산하게 한다. 명령어는 또한 프로세서로 하여금 조합된 교정 오프셋 값 및 자기 센서의 정정된 출력에 기초하여 시스템 상태 변경 이벤트 중 임의의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 업데이트함으로써 자기 센서를 동적으로 교정하게 한다.
명령어는 또한 프로세서로 하여금 컴퓨팅 디바이스에서 실행하는 하나 이상의 애플리케이션에 자기 센서의 정정된 출력을 제공하게 할 수 있다. 자기 센서의 정정된 출력은 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함할 수 있다.
예 4
자기 센서를 동적으로 교정하는 장치가 제공된다. 장치는 자기 센서와, 프로세서와, 프로세서에 의해 실행될 때, 자기 센서를 통해 장치에 대한 센서 데이터를 수집하고, 장치의 시스템 상태를 결정하도록 구성되는 프로세서 실행가능 코드를 포함하는 저장 디바이스를 포함한다. 장치는 또한 센서 데이터 및 장치의 시스템 상태에 기초하여 자기 센서를 동적으로 교정하도록 구성되는 제어기를 포함한다.
제어기는 센서 허브를 포함할 수 있다. 제어기는, 장치의 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 센서 데이터를 포함하는 자기 센서의 출력을 정정하는 데 교정 오프셋 값을 사용함으로써 자기 센서를 동적으로 교정하도록 구성될 수 있다. 프로세서 실행가능 코드는 장치에서 실행하는 애플리케이션에 자기 센서의 정정된 출력을 제공하도록 구성될 수 있다.
전술한 예의 세부사항이 하나 이상의 실시예의 어디에서나 사용될 수 있음을 이해해야 한다. 가령, 전술한 컴퓨팅 디바이스의 모든 선택적 특징부는 본 명세서에 설명된 방법 또는 머신 판독가능 매체에 관하여 구현될 수도 있다. 또한, 흐름도 및/또는 상태도가 실시예를 설명하기 위해 본 명세서에서 사용될 수 있지만, 발명은 그 도면들 또는 대응하는 기술내용으로 제한되지 않는다. 예컨대, 흐름은 각각의 도시된 박스 또는 상태를 통해 또는 본 명세서에 도시되고 설명된 것과 정확히 동일한 순서로 이동할 필요는 없다.
발명은 본 명세서에 열거된 특정 세부사항으로 제한되지 않는다. 실제로, 본 개시내용의 이점을 갖는 당업자는 앞선 설명 및 도면으로부터 다수의 다른 변동이 본 발명의 범위 내에서 이루어질 수 있음을 알 것이다. 따라서, 후속하는 특허청구범위는 본 발명의 범위를 정의하는 임의의 보정을 포함한다.
Claims (24)
- 컴퓨팅 디바이스로서,
센서 허브와,
상기 센서 허브에 통신가능하게 연결된 자기 센서 -상기 자기 센서는 상기 컴퓨팅 디바이스에 대응하는 센서 데이터를 수집하도록 구성됨- 와,
프로세서와,
프로세서 실행가능 코드를 포함하는 저장 디바이스를 포함하되, 상기 프로세서 실행가능 코드는 상기 프로세서에 의해 실행될 때,
상기 컴퓨팅 디바이스의 시스템 상태를 결정하고,
상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태를 상기 센서 허브에 전달하도록 구성되며,
상기 센서 허브는 상기 자기 센서를 통해 수집된 상기 센서 데이터 및 상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 기초하여 상기 자기 센서를 동적으로 교정하도록 구성되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 센서 허브는, 상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 상기 센서 데이터를 포함하는 상기 자기 센서의 출력을 정정하는 데 상기 교정 오프셋 값을 사용함으로써 상기 자기 센서를 동적으로 교정하도록 구성되는
컴퓨팅 디바이스.
- 제 2 항에 있어서,
상기 센서 허브는 상기 자기 센서의 출력의 값에서 상기 교정 오프셋 값을 감산함으로써 상기 자기 센서의 출력을 정정하도록 구성되는
컴퓨팅 디바이스.
- 제 2 항에 있어서,
상기 자기 센서의 정정된 출력은 상기 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함하고, 상기 센서 허브는 상기 컴퓨팅 디바이스에서 실행하는 애플리케이션에 상기 주변 자기장을 제공하도록 구성되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 센서 허브는, 상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 대응하는 복수의 시스템 상태 변경 이벤트 중 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 상기 센서 데이터를 포함하는 상기 자기 센서의 출력을 정정하는 데 상기 교정 오프셋 값을 사용함으로써 상기 자기 센서를 동적으로 교정하도록 구성되는
컴퓨팅 디바이스.
- 제 5 항에 있어서,
상기 센서 허브는
상기 복수의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 대응하는 조합된 교정 오프셋 값을 결정하고,
상기 자기 센서의 출력의 값에서 상기 조합된 교정 오프셋 값을 감산함으로써 상기 자기 센서의 출력을 정정하도록 구성되는
컴퓨팅 디바이스.
- 제 5 항에 있어서,
상기 자기 센서의 정정된 출력은 상기 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함하고, 상기 센서 허브는 상기 컴퓨팅 디바이스에서 실행하는 애플리케이션에 상기 주변 자기장을 제공하도록 구성되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 센서 허브는 상기 컴퓨팅 디바이스의 운영 시스템을 통해 구현되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 센서 허브는 상기 컴퓨팅 디바이스의 프로세서를 통해 구현되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 센서 허브는 상기 컴퓨팅 디바이스의 운영 시스템과 상기 컴퓨팅 디바이스의 프로세서 양자 모두를 통해 구현되는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 자기 센서는 센서 인터페이스를 통해 상기 센서 허브와 상기 프로세서에 통신가능하게 연결되는
컴퓨팅 디바이스.
- 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 방법으로서,
자기 센서를 통해 컴퓨팅 디바이스에 대한 센서 데이터를 수집하는 단계와,
상기 컴퓨팅 디바이스의 시스템 상태를 결정하는 단계와,
상기 센서 데이터 및 상기 컴퓨팅 디바이스의 시스템 상태에 기초하여 상기 컴퓨팅 디바이스의 자기 센서를 동적으로 교정하는 단계를 포함하는
방법.
- 제 12 항에 있어서,
상기 자기 센서를 동적으로 교정하는 단계는 상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하는 단계를 포함하는
방법. - 제 13 항에 있어서,
상기 센서 데이터를 포함하는 상기 자기 센서의 출력을 정정하는 데 상기 교정 오프셋 값을 사용하는 단계를 포함하는
방법.
- 제 14 항에 있어서,
상기 컴퓨팅 디바이스에서 실행하는 애플리케이션에 상기 자기 센서의 정정된 출력을 제공하는 단계를 포함하는
방법.
- 제 12 항에 있어서,
상기 자기 센서를 동적으로 교정하는 단계는
상기 컴퓨팅 디바이스의 상기 결정된 시스템 상태에 대응하는 복수의 시스템 상태 변경 이벤트 중 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하는 단계와,
상기 복수의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 합산함으로써 조합된 교정 오프셋 값을 결정하는 단계와,
상기 자기 센서의 출력의 값에서 상기 조합된 교정 오프셋 값을 감산함으로써 상기 자기 센서의 출력을 정정하는 단계를 포함하는
방법.
- 제 16 항에 있어서,
상기 컴퓨팅 디바이스에서 실행하는 애플리케이션에 상기 자기 센서의 정정된 출력을 제공하는 단계를 포함하는
방법.
- 명령어가 저장된 적어도 하나의 머신 판독가능 매체로서,
상기 명령어는, 프로세서에서 실행되는 것에 응답하여, 상기 프로세서로 하여금
컴퓨팅 디바이스 내에 존재하는 자기 센서의 출력 -상기 출력은 센서 데이터를 포함함- 을 결정하고,
상기 컴퓨팅 디바이스의 시스템 상태를 결정하며,
상기 결정된 시스템 상태에 대응하는 각각의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고,
상기 시스템 상태 변경 이벤트에 대한 상기 교정 오프셋 값을 합산함으로써 조합된 교정 오프셋 값을 계산하며,
상기 자기 센서의 출력의 값에서 상기 조합된 교정 오프셋 값을 감산함으로써 상기 자기 센서의 정정된 출력을 계산하고,
상기 조합된 교정 오프셋 값 및 상기 자기 센서의 정정된 출력에 기초하여 상기 시스템 상태 변경 이벤트 중 임의의 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 업데이트함으로써 상기 자기 센서를 동적으로 교정하게 하는
머신 판독가능 매체.
- 제 18 항에 있어서,
상기 명령어는 상기 프로세서로 하여금 상기 컴퓨팅 디바이스에서 실행하는 하나 이상의 애플리케이션에 상기 자기 센서의 정정된 출력을 제공하게 하는
머신 판독가능 매체.
- 제 18 항에 있어서,
상기 자기 센서의 정정된 출력은 상기 컴퓨팅 디바이스에 대응하는 주변 자기장을 포함하는
머신 판독가능 매체.
- 자기 센서를 동적으로 교정하는 장치로서,
자기 센서와,
프로세서와,
프로세서 실행가능 코드를 포함하는 저장 디바이스 -상기 프로세서 실행가능 코드는, 상기 프로세서에 의해 실행될 때, 상기 자기 센서를 통해 상기 장치에 대한 센서 데이터를 수집하고, 상기 장치의 시스템 상태를 결정하도록 구성됨- 와,
상기 센서 데이터 및 상기 장치의 시스템 상태에 기초하여 상기 자기 센서를 동적으로 교정하도록 구성되는 제어기를 포함하는
장치.
- 제 21 항에 있어서,
상기 제어기는 센서 허브를 포함하는
장치.
- 제 21 항에 있어서,
상기 제어기는, 상기 장치의 상기 결정된 시스템 상태에 대응하는 시스템 상태 변경 이벤트에 대한 교정 오프셋 값을 결정하고, 상기 센서 데이터를 포함하는 상기 자기 센서의 출력을 정정하는 데 상기 교정 오프셋 값을 사용함으로써 상기 자기 센서를 동적으로 교정하도록 구성되는
장치.
- 제 23 항에 있어서,
상기 프로세서 실행가능 코드는 상기 장치에서 실행하는 애플리케이션에 상기 자기 센서의 정정된 출력을 제공하도록 구성되는
장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/833,666 US9939497B2 (en) | 2013-03-15 | 2013-03-15 | Dynamically calibrating magnetic sensors |
US13/833,666 | 2013-03-15 | ||
PCT/US2014/022695 WO2014150241A1 (en) | 2013-03-15 | 2014-03-10 | Dynamically calibrating magnetic sensors |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150107821A true KR20150107821A (ko) | 2015-09-23 |
KR101786280B1 KR101786280B1 (ko) | 2017-11-15 |
Family
ID=51531682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157021889A KR101786280B1 (ko) | 2013-03-15 | 2014-03-10 | 자기 센서를 동적으로 교정하기 위한 디바이스, 방법 및 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9939497B2 (ko) |
EP (1) | EP2972683B1 (ko) |
KR (1) | KR101786280B1 (ko) |
CN (1) | CN105209856B (ko) |
TW (1) | TWI555994B (ko) |
WO (1) | WO2014150241A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9939497B2 (en) | 2013-03-15 | 2018-04-10 | Intel Corporation | Dynamically calibrating magnetic sensors |
CN106918790A (zh) * | 2017-03-24 | 2017-07-04 | 深圳市沃特沃德股份有限公司 | 磁场强度的校准方法、装置和终端设备 |
US10852364B2 (en) | 2017-05-02 | 2020-12-01 | Qualcomm Incorporated | Interference mitigation in magnetometers |
US10653948B2 (en) * | 2017-10-26 | 2020-05-19 | Disney Enterprises, Inc. | Calibration of a magnetometer for augmented reality experience |
CN108195399A (zh) * | 2017-12-22 | 2018-06-22 | 苏州捷研芯纳米科技有限公司 | 用于动态校准磁场传感器的方法和系统 |
AU2020382737A1 (en) * | 2019-10-16 | 2022-04-21 | Keith Bryan Hardin | Multidirectional magnetic field area reader system with features |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0369570A1 (en) | 1988-11-16 | 1990-05-23 | Intel Gasgards Private Limited | Improvements in and relating to sensors |
US6850806B2 (en) | 1999-04-16 | 2005-02-01 | Siemens Energy & Automation, Inc. | Method and apparatus for determining calibration options in a motion control system |
US6408251B1 (en) | 1999-07-29 | 2002-06-18 | Hrl Laboratories, Llc | Calibrating a magnetic compass with an angular rate gyroscope and a global positioning system receiver |
KR100550871B1 (ko) | 2003-12-03 | 2006-02-10 | 삼성전기주식회사 | 전자나침반의 자동 보정 방법 |
US7057173B2 (en) | 2004-01-05 | 2006-06-06 | Laser Technology, Inc. | Magnetoresistive (MR) sensor temperature compensation and magnetic cross-term reduction techniques utilizing selective set and reset gain measurements |
WO2006011238A1 (ja) | 2004-07-29 | 2006-02-02 | Yamaha Corporation | 方位データ演算方法、方位センサユニットおよび携帯電子機器 |
WO2006035505A1 (ja) | 2004-09-29 | 2006-04-06 | C & N Inc | 磁気センサの制御方法、制御装置、および携帯端末装置 |
EP1775550B1 (en) | 2005-10-11 | 2013-12-11 | Yamaha Corporation | Magnetic sensor control device |
JP4528342B2 (ja) | 2006-03-30 | 2010-08-18 | 京セラ株式会社 | 携帯電子機器及び地磁気センサ較正方法 |
US8880373B2 (en) * | 2009-11-04 | 2014-11-04 | Qualcomm Incorporated | Accurate magnetic compass in mobile electronic device |
US8645093B2 (en) * | 2009-11-04 | 2014-02-04 | Qualcomm Incorporated | Calibrating multi-dimensional sensor for offset, sensitivity, and non-orthogonality |
US8825426B2 (en) | 2010-04-09 | 2014-09-02 | CSR Technology Holdings Inc. | Method and apparatus for calibrating a magnetic sensor |
DE102010029668A1 (de) | 2010-06-02 | 2011-12-08 | Robert Bosch Gmbh | Kalibrierung eines dreiachsigen Magnetfeldsensors |
US8717009B2 (en) * | 2010-10-06 | 2014-05-06 | Apple Inc. | Magnetometer calibration |
EP2447730B1 (en) * | 2010-10-26 | 2014-11-12 | BlackBerry Limited | System and method for determining quality of calibration parameters for a magnetometer |
JP5927776B2 (ja) | 2011-05-20 | 2016-06-01 | 株式会社ソニー・インタラクティブエンタテインメント | 携帯機器 |
US9329038B2 (en) * | 2011-09-30 | 2016-05-03 | Apple Inc. | Electronic devices with calibrated compasses |
US9939497B2 (en) | 2013-03-15 | 2018-04-10 | Intel Corporation | Dynamically calibrating magnetic sensors |
-
2013
- 2013-03-15 US US13/833,666 patent/US9939497B2/en active Active
-
2014
- 2014-02-25 TW TW103106272A patent/TWI555994B/zh not_active IP Right Cessation
- 2014-03-10 WO PCT/US2014/022695 patent/WO2014150241A1/en active Application Filing
- 2014-03-10 KR KR1020157021889A patent/KR101786280B1/ko active IP Right Grant
- 2014-03-10 EP EP14767903.9A patent/EP2972683B1/en active Active
- 2014-03-10 CN CN201480009071.6A patent/CN105209856B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
EP2972683A4 (en) | 2017-06-21 |
KR101786280B1 (ko) | 2017-11-15 |
EP2972683A1 (en) | 2016-01-20 |
TWI555994B (zh) | 2016-11-01 |
CN105209856A (zh) | 2015-12-30 |
CN105209856B (zh) | 2019-12-10 |
US9939497B2 (en) | 2018-04-10 |
EP2972683B1 (en) | 2018-07-18 |
WO2014150241A1 (en) | 2014-09-25 |
US20140278190A1 (en) | 2014-09-18 |
TW201502553A (zh) | 2015-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101786280B1 (ko) | 자기 센서를 동적으로 교정하기 위한 디바이스, 방법 및 매체 | |
CN110133582B (zh) | 补偿电磁跟踪系统中的畸变 | |
US9068843B1 (en) | Inertial sensor fusion orientation correction | |
US9316513B2 (en) | System and method for calibrating sensors for different operating environments | |
CN109163721A (zh) | 姿态测量方法及终端设备 | |
US20130304373A1 (en) | Navigation method, navigation system and map data downloading method for navigation | |
EP3091335B1 (en) | Calibration of temperature effect on magnetometer | |
US20210356605A1 (en) | Method, apparatus, device and medium for calibrating temperature drift | |
CN112082547B (zh) | 组合导航系统优化方法、装置、电子设备及存储介质 | |
CN111076722A (zh) | 基于自适应的四元数的姿态估计方法及装置 | |
US9161170B2 (en) | System and method for determining a magnetic field using a mobile device | |
WO2021027621A1 (zh) | 导航方法、装置设备、电子设备及存储介质 | |
US20160266649A1 (en) | Electronic system with gesture processing mechanism and method of operation thereof | |
KR101786281B1 (ko) | 자기 헤딩 계산을 위한 디바이스 및 방법 | |
US10254378B1 (en) | Mobile device localization based on relative received signal strength indicators | |
US9797742B2 (en) | Navigation system with speed calculation mechanism and method of operation thereof | |
JP2015108612A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20210263066A1 (en) | Method for offset calibration of a yaw rate sensor signal of a yaw rate sensor, system and computer program | |
JP2016514272A (ja) | 磁気センサの動的校正 | |
CA2815540C (en) | System and method for determining a magnetic field using a mobile device | |
JP2012198114A (ja) | 状態推定装置、電子機器及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |