KR101556504B1 - Method for mutual revising sensor value of plural and apparatus thereof - Google Patents

Method for mutual revising sensor value of plural and apparatus thereof Download PDF

Info

Publication number
KR101556504B1
KR101556504B1 KR1020140086850A KR20140086850A KR101556504B1 KR 101556504 B1 KR101556504 B1 KR 101556504B1 KR 1020140086850 A KR1020140086850 A KR 1020140086850A KR 20140086850 A KR20140086850 A KR 20140086850A KR 101556504 B1 KR101556504 B1 KR 101556504B1
Authority
KR
South Korea
Prior art keywords
sensor
value
angle
terminal device
sign
Prior art date
Application number
KR1020140086850A
Other languages
Korean (ko)
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 에스케이텔레콤 주식회사
Priority to KR1020140086850A priority Critical patent/KR101556504B1/en
Application granted granted Critical
Publication of KR101556504B1 publication Critical patent/KR101556504B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups
    • G01P21/02Testing or calibrating of apparatus or devices covered by the preceding groups of speedometers
    • G01P21/025Testing or calibrating of apparatus or devices covered by the preceding groups of speedometers for measuring speed of fluids; for measuring speed of bodies relative to fluids
    • 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/38Testing, calibrating, or compensating of compasses
    • 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
    • G01P13/025Indicating direction only, e.g. by weather vane indicating air data, i.e. flight variables of an aircraft, e.g. angle of attack, side slip, shear, yaw
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/46Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring amplitude of generated current or voltage
    • G01P3/465Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring amplitude of generated current or voltage by using dynamo-electro tachometers or electric generator

Abstract

The present invention relates to a mutual correction method for multiple sensor values and an apparatus for the same. Particularly, when a sign of a measured value of each sensor installed on a terminal device is changed due to limit of a sign expression range, calculation with respect to rotation angles of each sensor is performed and mutual correction is performed by comparing the rotation angles. Therefore, not only the rotation angles, obtained by a geomagnetic sensor and an acceleration sensor, but also a calculation value, calculated by using the angular velocity of a gyroscope sensor, are obtained, and then a motion of the terminal device can be determined by applying an angle value and a sign with high reliability by a process of comparing the signs of two values. The mathematical limitation, caused by an angle expression range, is overcome, and the reliability of a motion-based service using a sensor can be increased by applying a method for identifying a more accurate rotation angle and a more accurate sign of the terminal at present by a mutual correction process.

Description

복수의 센서 값 상호 보정 방법 및 이를 위한 장치{Method for mutual revising sensor value of plural and apparatus thereof}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of compensating a plurality of sensor values,

본 발명은 복수의 센서를 이용한 동작 인식 중 센서 값의 상호 보정 방법 및 이를 위한 장치에 관한 것으로, 더욱 상세하게는 단말장치에 탑재된 각 센서의 측정 값이 부호 표현 범위의 한계로 인해 부호가 변경되는 경우, 각 센서들의 회전 각도에 대한 연산을 수행하고, 회전 각도를 비교하여 상호 보정하는 복수의 센서 값 상호 보정 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a method of correcting sensor values during operation recognition using a plurality of sensors and an apparatus therefor, and more particularly, A plurality of sensor value mutual correction methods for performing an arithmetic operation on the rotational angles of the respective sensors and comparing the rotational angles with each other to perform mutual correction, and an apparatus therefor.

이동통신망의 발달과 단말장치 사양의 발전에 따라 종래의 단순한 통신장치 또는 정보 제공 장치의 범주를 벗어나 이동통신단말장치는 현대인의 필수 소지품이 되었고, 토탈 엔터테인먼트 기기로 진화해 가고 있는 추세에 있다.With the development of the mobile communication network and the development of the specification of the terminal device, the mobile communication terminal device has become a necessity of modern people and has evolved into a total entertainment device beyond the category of the conventional simple communication device or information providing device.

이러한 단말장치는 전화 기능뿐만 아니라 다양한 하드웨어가 탑재되면서 보급이 확산되고, 전화 기능에만 국한되지 않고 다양화 되고 있다. 특히, 단말장치에 탑재되는 센서는 종류가 다양화되고 성능도 좋아지고 있어 센서들을 활용한 서비스들이 많이 선보이고 있다.Such terminal devices are spread not only in telephonic functions but also in various hardware, and diversified without being limited to telephone functions. In particular, various types of sensors mounted on a terminal device have been improved and performance has been improved, and many services utilizing sensors have been introduced.

단말장치에 탑재되는 센서는 가속도, 지자기, 자이로, 근접, 조도 등이 있으며, 최근에는 온도, 습도 및 기압 센서도 탑재되고 있다. 한편, 사용자의 단말 동작에 대해 감지하는 가속도 센서 또는 자이로 센서 등과 더불어 단말장치의 직접적인 움직임이 없어도 사용자의 동작을 감지하는 근접 센서 및 모션 센서들도 단말에 많이 탑재되고 있는 추세이다.Sensors mounted on the terminal devices include acceleration, geomagnetism, gyro, proximity, and illumination. Recently, temperature, humidity, and air pressure sensors are also mounted. Meanwhile, along with an acceleration sensor or a gyro sensor for sensing the operation of the user's terminal, a proximity sensor and a motion sensor that detect the user's operation without the direct movement of the terminal are also mounted on the terminal.

여기서, 근접 센서 및 조도 센서를 활용한 사용자 동작 인식은 인식법이 간단하여 동작 인식의 오차가 크지 않다. 하지만, 지자기 센서, 가속도 센서 및 자이로 센서를 활용하여 단말장치 자체가 움직임이 있음을 감지할 경우에는 명확하게 값의 범위를 지정하지 않으면 오 인식률이 높아지는 문제점을 갖고 있다. 특히, 센서들에 의해 표현될 수 있는 값의 범위가 한정되어 있어, 회전 및 움직임이 증가하게 되는 경우, 측정 값의 크기와 부호가 갑작스럽게 변경될 수 있으며, 정확한 단말장치의 동작을 판단하기 어려워지고 오차 범위가 커질 수 있다. 이러한 수학적 한계로 인해 측정 값으로 표현될 수 있는 부호 표현 범위가 제한되고 있다.Here, the user motion recognition using the proximity sensor and the illumination sensor is simple in the recognition method, so that the motion recognition error is not large. However, when the terminal device itself detects motion by utilizing the geomagnetic sensor, the acceleration sensor, and the gyro sensor, there is a problem that the accuracy of recognition increases if the value range is not clearly specified. Particularly, since the range of values that can be represented by the sensors is limited, when the rotation and the movement are increased, the magnitude and the sign of the measurement value can be suddenly changed, and it is difficult to accurately determine the operation of the terminal device The error range can be increased. Due to these mathematical limitations, the range of sign expressions that can be expressed as measured values is limited.

한국등록특허 10-1349347 B1, 2014년 01월 02일 등록 (명칭: 증강 현실을 위한 스마트폰 자이로 센서 기반의 정면 객체 생성 시스템 및 방법)Korean Registered Patent No. 10-1349347 B1, Registered Jan. 02, 2014 (Name: Smart Object Gyro Sensor Based Front Object Creation System and Method for Augmented Reality)

본 발명은 종래의 센서들에 의해 표현될 수 있는 값의 범위가 한정되어 있어, 회전 및 움직임이 증가하게 되는 경우, 측정 값의 크기와 부호가 갑작스럽게 변경될 수 있으며, 정확한 단말장치의 동작을 판단하기 어려워지고 오차 범위가 커질 수 있는 문제점을 해결하기 위한 것으로, 본 발명의 목적은 단말장치에 탑재된 각 센서의 측정 값이 부호 표현 범위의 한계로 인해 부호가 변경되는 경우, 각 센서들의 회전 각도에 대한 연산을 수행하고, 회전 각도를 비교하여 상호 보정할 수 있는 복수의 센서 값 상호 보정 방법 및 이를 위한 장치를 제공하고자 한다.The present invention is limited in the range of values that can be represented by conventional sensors, so that when the rotation and the movement are increased, the magnitude and sign of the measurement value can be changed suddenly, And it is an object of the present invention to solve the problem that it is difficult to judge and the error range may become large. A plurality of sensor value mutual correction methods capable of performing an arithmetic operation on an angle and comparing rotational angles and performing mutual correction, and an apparatus therefor.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법은 단말장치가 n개의 센서를 통해 각각의 센서 값을 수집하는 단계와, 단말장치가 수집된 센서 값을 연산하여 X, Y, Z 축에 대한 각도를 계산하는 단계와, 단말장치가 센서 값에 대응하는 각도 범위를 비교하여 각각의 센서 값에 대한 각도 부호를 확인하는 단계와, 각도 부호가 다른 경우, 단말장치가 하나의 각도에 일정 값을 더하여 동일한 각도 부호로 변환하는 단계 및 단말장치가 센서 값의 각도에 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of compensating for a plurality of sensor values, comprising the steps of: a terminal collecting sensor values through n sensors; Calculating angles with respect to the X, Y, and Z axes by comparing the angular ranges corresponding to the sensor values by the terminal device, and determining angle codes for the respective sensor values; Converting the terminal device into a same angle code by adding a predetermined value to one angle, and performing a mutual correction by assigning predetermined weights to the angle of the sensor value for each sensor.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 변환하는 단계는 단말장치가 센서 값을 확인하여, 센서 값에 대응하는 각도 중 다른 부호를 가지는 센서 값이 존재하는지 확인하는 단계 및 다른 부호를 가지는 센서 값이 존재하는 경우, 단말장치가 해당 센서가 갖는 각 축의 부호 표현 범위에 따라 180도 또는 360도를 더하거나 빼는 연산을 적용하여 다른 센서 값의 각도와 같은 부호로 변환하는 단계를 포함한다.In the plurality of sensor value mutual correction methods according to the present invention, the converting step may include the steps of confirming whether the terminal device confirms the sensor value and the sensor value having another sign among the angles corresponding to the sensor value, When the terminal has a sensor value having a sign, converting the terminal into a code having the same angle as the angle of the other sensor value by applying an operation of adding or subtracting 180 degrees or 360 degrees according to the range of the code representation of each axis of the sensor do.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 특정 센서의 센서 값(a) 및 센서 값(a)과 동일한 부호가 되도록 변환된 다른 센서의 센서 값(b)을 더하여 누적 회전 각도(c)의 범위를 생성하는데, 누적 회전 각도(c)는 일정 값을 가지는 가중치(weight)로 설정되며, 가중치는 복수의 센서의 민감도, 센서의 종류 및 센서의 유형에 따라 조정된다.In the method of mutual correction of a plurality of sensor values according to the present invention, the step of performing the mutual correction may include the step of performing a mutual correction of the sensor value (a) and the sensor value (a) The cumulative rotation angle c is set to a weight having a constant value, and the weight is set based on the sensitivity of the plurality of sensors, the type of the sensor, It is adjusted according to the type of sensor.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 누적 회전 각도(c)의 값이 Y축의 각도 표현 범위에 포함되지 않는 경우, 움직임에 대한 인식 값을 반대 부호로 판단하여 누적 회전 각도(c)에서 360도를 더하거나 뺀 후, 최종적으로 반대 부호를 갖는 회전 각도를 제공하며, 누적 회전 각도(c)의 값이 X축의 각도 표현 범위에 포함되지 않는 경우, 움직임에 대한 인식 값을 반대 부호로 판단하고, 누적 회전 각도(c)에서 180도를 더하거나 뺀 후, 최종적으로 반대 부호를 갖는 회전 각도를 제공한다.In the plurality of sensor value mutual correction methods according to the present invention, the mutual correction may be performed when the terminal device does not include the value of the cumulative rotation angle c in the Y-axis angle expression range, (C) is added or subtracted 360 degrees from the cumulative angle of rotation (c) to provide a rotation angle with the opposite sign, and the value of the cumulative rotation angle (c) is not included in the angle expression range of the X axis Otherwise, the recognition value for the motion is determined to be the opposite sign, and the cumulative rotation angle (c) is added or subtracted 180 degrees, and finally the rotation angle with the opposite sign is provided.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 누적 회전 각도(c)의 값이 Y축의 각도 표현 범위에 포함되는 경우, 움직임에 대한 인식 값을 동일 부호로 판단하여 누적 회전 각도(c)를 유지하여 회전 각도를 제공하며, 누적 회전 각도(c)의 값이 X축의 각도 표현범위에 포함되는 경우, 움직임에 대한 인식 값을 동일 부호로 판단하고, X축 부호 표현 범위에 따른 누적 회전 각도(c)를 제공한다.In the plurality of sensor value mutual correction methods according to the present invention, the step of performing the mutual correction may include a step of, when the value of the cumulative rotational angle c is included in the angular expression range of the Y axis, When the value of the cumulative rotation angle c is included in the angle expression range of the X axis, the motion recognition value is determined to be the same sign , And provides an accumulated rotation angle (c) according to the X-axis code representation range.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 센서의 개수가 n개인 경우, n개의 센서를 복수 개씩 비교하여 조합 연산을 적용한 누적 회전 각도(c)를 획득한다.In the plurality of sensor value mutual correction methods according to the present invention, the step of performing the mutual correction may include a step of comparing a plurality of n sensors, when the number of sensors is n, c).

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 획득된 누적 회전 각도(c)의 값들의 부호를 확인하여 같은 부호를 갖는 값이 다른 부호와 비교하여 상대적으로 많은 부호들에 대한 평균 값으로 계산한다.In the plurality of sensor value mutual correction methods according to the present invention, the step of performing the mutual correction may be performed by checking the sign of the values of the accumulated rotational angle (c) obtained by the terminal, And the average value is calculated for a relatively large number of codes.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계는 단말장치가 획득된 누적 회전 각도(c) 중 각각의 값에 사용된 센서들의 가중치 중 가장 높은 가중치를 추출하고, 각 값들에 대해 가중치 크기를 같은 부호들 별로 합산한 후 비교하고, 비교 결과에 따라 합산된 가중치가 큰 값을 최종 값으로 결정한다.In the plurality of sensor value mutual correction methods according to the present invention, the mutual correction may be performed by extracting the highest weight among the weights of the sensors used for the respective values of the accumulated rotation angles (c) The weight values for the respective values are summed by the same codes, and then compared. The weighted summed value is determined as the final value according to the comparison result.

또한, 본 발명에 따른 복수의 센서 값 상호 보정 방법에 있어서, 상호 보정을 수행하는 단계 이후에, 단말장치가 상호 보정에 의한 회전 각도를 반영하여 특정 어플리케이션에 대한 동작 인식을 수행하는 단계를 더 포함한다.Further, in the plurality of sensor value mutual correction methods according to the present invention, the step of performing mutual correction may further include a step in which the terminal device performs the motion recognition for the specific application by reflecting the rotation angle by the mutual correction do.

본 발명의 실시 예에 따른 단말장치는 단말장치의 움직임이 감지되면, n개의 센서를 통해 각각의 센서 값을 수집하는 센서모듈과, 수집된 센서 값을 연산하여 X, Y, Z 축에 대한 각도를 계산하는 각도 계산모듈과, 센서 값에 대응하는 각도 범위를 비교하여 각각의 센서 값에 대한 각도 부호를 확인하는 각도 부호 확인모듈과, 각도 부호가 다른 경우, 하나의 각도에 일정 값을 더하여 동일한 각도 부호로 변환하는 각도 부호 변환모듈 및 센서 값의 각도에 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행하는 상호 보정 수행모듈을 포함한다.A terminal device according to an embodiment of the present invention includes a sensor module for collecting sensor values through n sensors when movement of the terminal device is detected, And an angle code verification module for comparing the angle ranges corresponding to the sensor values and verifying the angle codes for the respective sensor values. When the angle codes are different, Angle code conversion module for converting the angles to the angle code, and a mutual correction performing module for performing mutual correction by assigning predetermined weights to the angles of the sensor values for the respective sensors.

또한, 본 발명에 따른 단말장치에 있어서, 센서모듈은 단말장치의 움직임을 감지하기 위하여 지자기 센서, 가속도 센서, 자이로 센서, 근접 센서, 조도 센서, 온도 센서, 습도 센서 또는 기압 센서를 포함한다.In addition, in the terminal device according to the present invention, the sensor module includes a geomagnetism sensor, an acceleration sensor, a gyro sensor, a proximity sensor, an illuminance sensor, a temperature sensor, a humidity sensor, or an air pressure sensor for sensing movement of the terminal.

본 발명의 과제 해결을 위한 또 다른 수단으로서, 복수의 센서 값 상호 보정 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체를 제공한다.As another means for solving the problem of the present invention, there is provided a computer readable recording medium on which a program for executing a plurality of sensor value mutual correction methods is recorded.

본 발명에 따르면, 지자기 센서 및 가속도 센서를 통해 획득된 회전 각도뿐 만 아니라 자이로 센서의 회전 각속도를 이용한 연산 값도 파악한 후, 두 값의 부호 비교 과정을 통해 신뢰성이 높은 각도의 값과 부호를 적용하여 단말장치의 움직임으로 판단할 수 있다.According to the present invention, not only the rotational angle obtained through the geomagnetism sensor and the acceleration sensor but also the calculated value using the rotational angular velocity of the gyro sensor is detected and then the value and sign of the highly reliable angle are applied It can be judged as the movement of the terminal apparatus.

또한, 상호 보정 과정을 통하여 보다 정확한 현재 단말장치의 회전 각도와 부호를 확인하는 방법을 적용함으로써, 각도 표현 범위로 인해 발생하는 수학적 한계를 극복하고, 센서를 활용한 동작 기반 서비스의 신뢰성을 향상시킬 수 있다.In addition, by applying the method of confirming the rotation angle and sign of the current terminal device more accurately through the mutual correction process, it is possible to overcome the mathematical limit caused by the range of the angular expression and to improve the reliability of the motion based service using the sensor .

도 1은 본 발명의 실시 예에 따른 단말장치의 구성을 나타내는 도면이다.
도 2는 본 발명에 따른 단말장치의 센서모듈을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법을 설명하기 위한 흐름도 이다.
도 4a 내지 도 5b는 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법을 설명하기 위한 예시도 이다.
1 is a diagram illustrating a configuration of a terminal apparatus according to an embodiment of the present invention.
2 is a view for explaining a sensor module of a terminal device according to the present invention.
FIG. 3 is a flowchart for explaining a plurality of sensor value mutual correction methods according to an embodiment of the present invention.
FIGS. 4A and 5B are diagrams for explaining a plurality of sensor value mutual correction methods according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

이하에서는 본 발명의 실시 예에 따른 단말장치는 다수의 센서를 구비하며, 단말장치의 움직임에 따라 센서 값을 감지하여 사용자 동작을 인식할 수 있는 장치로서, 이동통신단말장치를 대표적인 예로서 설명하지만 단말장치는 이동통신단말장치에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말장치, 유선 단말장치, 고정형 단말장치 및 IP(Internet Protocol) 단말장치 등의 다양한 단말장치에 적용될 수 있다. 또한, 단말장치는 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net book) 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말장치일 때 유리하게 활용될 수 있다.Hereinafter, a terminal device according to an embodiment of the present invention includes a plurality of sensors, and can recognize a user's operation by sensing a sensor value according to movement of the terminal device. The mobile communication terminal device will be described as a representative example The terminal device is not limited to the mobile communication terminal device but can be applied to various terminal devices such as all information communication devices, multimedia terminal devices, wired terminal devices, fixed terminal devices and IP (Internet Protocol) terminal devices. In addition, the terminal device may be a mobile phone, a portable multimedia player (PMP), a mobile Internet device (MID), a smart phone, a desktop, a tablet PC, a notebook, ) And an information communication device, and the like can be advantageously used when the mobile terminal device has various mobile communication specifications.

본 발명의 실시 예에 따른 센서 중 제1 센서를 지자기 센서 및 가속도 센서로 가정하고, 제2 센서를 자이로 센서로 가정하여 복수의 센서 값 상호 보정 방법에 대하여 설명하지만 상기 제1 센서와 제2 센서는 가정된 센서에 한정된 것이 아닌 일 실시 예일 뿐, 다양한 종류의 다른 센서들도 적용 가능하다. 또한, 본 발명의 실시 예에 따른 센서의 개수는 제1 센서 및 제2 센서에 한정된 것이 아니고, 단말의 움직임, 회전 상태를 파악하여 각도로 표현할 수 있는 모든 n개의 센서(3개 이상의 센서)를 포함한다.A plurality of sensor value mutual correction methods will be described assuming that the first sensor among the sensors according to the embodiment of the present invention is a geomagnetism sensor and an acceleration sensor and that the second sensor is a gyro sensor, The present invention is not limited to the assumed sensor, and various sensors of various kinds are applicable. The number of sensors according to the embodiment of the present invention is not limited to the first sensor and the second sensor but may be any number of sensors (three or more sensors) .

도 1은 본 발명의 실시 예에 따른 단말장치의 구성을 나타내는 도면이고, 도 2는 본 발명에 따른 단말장치의 센서모듈을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a configuration of a terminal device according to an embodiment of the present invention, and FIG. 2 is a view for explaining a sensor module of a terminal device according to the present invention.

도 1 및 도 2를 참조하면, 본 발명에 따른 단말장치(100)는 센서모듈(10), 각도 계산모듈(20), 각도 부호 확인모듈(30), 각도 부호 변환모듈(40) 및 상호 보정모듈(50)로 구성된다. 여기서, 센서모듈(10)은 지자기 센서(10a), 가속도 센서(10b) 및 자이로 센서(10c) 등 다수의 센서를 포함한다.1 and 2, a terminal device 100 according to the present invention includes a sensor module 10, an angle calculation module 20, an angle code verification module 30, an angle code conversion module 40, Module 50 as shown in FIG. Here, the sensor module 10 includes a plurality of sensors such as a geomagnetism sensor 10a, an acceleration sensor 10b, and a gyro sensor 10c.

센서모듈(10)은 단말장치(100)의 움직임에 의해 감지되는 센서 값에 따라 사용자 동작을 인식하기 위하여 가속도 센서, 자이로 센서, 지자기 센서, 근접 센서, 조도 센서, 온도 센서, 습도 센서, 기압 센서 또는 모션 센서 등의 센서를 포함한다.The sensor module 10 includes an acceleration sensor, a gyro sensor, a geomagnetism sensor, a proximity sensor, an illuminance sensor, a temperature sensor, a humidity sensor, an air pressure sensor Or a sensor such as a motion sensor.

여기서, 센서모듈(10)은 지자기 센서 및 가속도 센서와, 자이로 센서를 통해 위치와 동작의 변화를 감지하기 위한 센서 값을 수집하며, X, Y, Z 축의 로우(RAW) 데이터, 방위각, 롤(Roll) 및 피치(Pitch)에 대한 정보를 제공한다. 특히, 지자기 센서 및 가속도 센서는 지구에 작용하는 중력 가속도의 값도 측정이 가능하며, 이를 통해 단말장치(100)가 어떻게 놓여있는지 판단 가능하다. 예를 들어, 단말장치(100)가 지면 위에 눕혀져 있으면, Z 축이 중력 가속도의 영향을 받게 되어 약 1G(=9.8m/s2)의 값을 출력하게 된다. 이러한 특성을 활용하여 단말장치(100)의 Pitch(X축 기준 회전각), Roll(Y축 기준 회전각) 등의 절대 각도를 파악할 수 있다.Here, the sensor module 10 collects sensor values for sensing a change in position and operation through a geomagnetic sensor, an acceleration sensor, and a gyro sensor, and acquires sensor data for X, Y, and Z axis RAW data, Roll, and Pitch. In particular, the geomagnetic sensor and the acceleration sensor can measure the value of the gravitational acceleration acting on the earth, and it is possible to determine how the terminal device 100 is placed. For example, if the terminal device 100 is laid on a ground, the Z axis is affected by the gravitational acceleration and outputs a value of about 1G (= 9.8 m / s2). Using this characteristic, it is possible to grasp the absolute angle of the pitch (X-axis rotation angle) and Roll (Y-axis rotation angle) of the terminal device 100.

한편, 자이로 센서는 지자기 센서 및 가속도 센서와 마찬가지로 3개의 축(X, Y, Z축)을 통해 단말장치(100)의 회전 각속도를 측정한다. 자이로 센서를 통해 단말장치(100)가 어느 방향으로 어떤 속도로 회전했는지 파악이 가능하다. 이때, 자이로 센서는 단말장치(100)가 움직이지 않을 경우에는 0에 수렴하는 값을 출력하고, 단말장치(100)가 회전하는 경우에는 각 축의 기준으로 회전 정도를 값으로 표현한다. 이를 통해 단말장치(100)가 실제로 회전했는지의 여부를 판단할 수 있다.On the other hand, the gyro sensor measures the angular velocity of rotation of the terminal device 100 via three axes (X, Y, and Z axes) like the geomagnetic sensor and the acceleration sensor. It is possible to grasp through which direction the terminal device 100 is rotated at what speed through the gyro sensor. At this time, the gyro sensor outputs a convergence value to 0 when the terminal device 100 does not move, and expresses the degree of rotation as a value based on each axis when the terminal device 100 rotates. Thus, it can be determined whether or not the terminal device 100 has actually rotated.

특히, 본 발명에 따른 센서모듈(10)은 단말장치(100)의 움직임이 감지되면, 특정 센서(지자기 센서 및 가속도 센서) 및 다른 센서(자이로 센서)를 통해 각각의 센서에 대한 센서 값(a, b)을 수집한다. 또한, 센서모듈(10)은 각각의 센서에 대한 민감도, 센서의 종류, 센서의 유형에 대한 정보를 제공한다. 이러한, 센서에 대한 정보는 누적 회전 각도를 계산하는 경우에 가중치(weight) 적용에 사용된다.Particularly, when the movement of the terminal device 100 is sensed, the sensor module 10 according to the present invention detects sensor values (a (a) and a (b)) for each sensor through a specific sensor (a geomagnetic sensor and an acceleration sensor) , b) are collected. In addition, the sensor module 10 provides information on the sensitivity to each sensor, the type of the sensor, and the type of the sensor. This information about the sensor is used for weight application when calculating the cumulative rotation angle.

각도 계산모듈(20)은 센서모듈(10)을 통해 수집된 특정 센서의 센서 값(a) 및 다른 센서의 센서 값(b)에 회전 벡터 및 행렬 연산을 수행하여 X, Y, Z 3축에 대한 각도를 계산한다. 또한, 각도 계산모듈(20)은 센서모듈(10)을 통해 수집된 센서 측정 값을 취합하는 기능을 한다. 즉, 각도 계산모듈(20)은 센서 측정 값을 동작 인식 정보로 활용하기 위하여 회전 행렬, 방향 벡터, 절대 각도, 상대 각도, 매트릭스(Matrix) 등의 연산이 가능한 형태로 취합한다.The angle calculation module 20 performs a rotation vector and a matrix operation on the sensor value a of the specific sensor and the sensor value b of the other sensor collected through the sensor module 10 to calculate X, Calculate the angle. In addition, the angle calculation module 20 functions to collect the sensor measurement values collected through the sensor module 10. That is, the angle calculation module 20 integrates the sensor measurement values into a form capable of calculating a rotation matrix, a direction vector, an absolute angle, a relative angle, a matrix, and the like in order to utilize the sensor measurement value as motion recognition information.

각도 부호 확인모듈(30)은 각도 계산모듈(20)을 통해 계산된 특정 센서의 센서 값(a) 및 다른 센서의 센서 값(b)에 대응하는 각도 범위를 비교하여 각각의 센서 값에 대한 각도 부호를 확인한다.The angle sign verification module 30 compares the sensor ranges a and b corresponding to the sensor values a and b calculated by the angle calculation module 20, Check the sign.

각도 부호 변환모듈(40)은 각도 부호 확인모듈(30)을 통해 비교한 결과, 각도 부호가 다른 경우, 하나의 각도(센서 값(a)에 대한 각도 또는 센서 값(b)에 대한 각도)에 일정 값을 더하여 동일한 각도 부호로 변환한다. 즉, 각도 부호 변환모듈(40)은 센서 값(a) 및 센서 값(b)을 확인하여, 센서 값에 대응하는 각도 중 다른 부호를 가지는 센서 값이 존재하는지 확인한다. The angle code conversion module 40 compares the angles of the angles with respect to one angle (an angle with respect to the sensor value a or an angle with respect to the sensor value b) The constant value is added and converted to the same angle code. That is, the angle code conversion module 40 checks the sensor value (a) and the sensor value (b) to see if there is a sensor value having another sign among the angles corresponding to the sensor value.

각도 부호 변환모듈(40)은 다른 부호를 가지는 센서 값이 존재하는 경우, 해당 센서의 각도 부호를 180도 또는 360도로 적용하여 다른 센서 값의 각도와 같은 부호가 되도록 변환한다. 이는 X축(Pitch)을 기준으로 하면, -90˚~ 90˚의 절대 범위에서 제1 센서 값(a)와 제2 센서 값(b)의 누적 합이 최대 180˚이기 때문이며, Y축(Roll)을 기준으로 하면, -180˚~ 180˚의 절대 범위에서 센서 값(a)와 센서 값(b)의 누적 합이 최대 270˚이기 때문이다. 여기서, 누적 합이 최대 270도가 되는 이유는 센서 값(b)의 절대 범위인 0˚~ 180˚에서 부호가 다른 값을 출력할 때, 180˚에 가까운 값을 갖는 경우가 많으므로, 0˚~ 90˚의 범위까지 누적시키게 되면, 연산 과정에 따른 리소스 낭비가 발생할 수 있어 각도 범위를 90˚~ 180˚로 한정하여 90˚의 범위를 누적시키기 때문이다.When there is a sensor value having a different sign, the angle code conversion module 40 converts the angle code of the sensor to 180 degrees or 360 degrees so as to have the same sign as the angle of the other sensor values. This is because the accumulated sum of the first sensor value (a) and the second sensor value (b) is maximum 180 ° in the absolute range of -90 ° to 90 ° with respect to the X-axis, ), The cumulative sum of the sensor value (a) and the sensor value (b) is maximum 270 ° in the absolute range of -180 ° to 180 °. The reason why the cumulative sum is 270 degrees at maximum is that when the sign is different from 0 to 180 degrees which is the absolute range of the sensor value b, Accumulating up to the range of 90 degrees may waste resources depending on the calculation process, so that the range of angles is limited to 90 degrees to 180 degrees and the range of 90 degrees is accumulated.

상호 보정모듈(50)은 센서 값(a)에 대한 각도와 센서 값(b)에 대한 회전 각도에 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행한다. 이때, 상호 보정모듈(50)은 센서 값(a) 및 센서 값(a)과 동일한 부호가 되도록 변환된 센서 값(b)을 더하여 누적 회전 각도(c)의 범위를 생성하며, 누적 회전 각도(c)는 일정 값을 가지는 가중치(weight)로 설정된다. 여기서, 가중치는 복수의 센서의 민감도, 센서의 종류 및 센서의 유형에 따라 조정된다. 상기의 누적 회전 각도(c)를 계산하는 방법은 <수학식 1>을 이용한다.The mutual correction module 50 performs mutual correction by assigning predetermined weights to the angles of the sensor value a and the rotation angle of the sensor value b, respectively. At this time, the mutual correction module 50 generates the range of the cumulative rotational angle c by adding the converted sensor value b to be the same sign as the sensor value a and the sensor value a, c) is set to a weight having a constant value. Here, the weights are adjusted according to the sensitivity of a plurality of sensors, the types of sensors, and the types of sensors. The method of calculating the cumulative rotational angle c uses Equation (1).

Figure 112014065032296-pat00001
Figure 112014065032296-pat00001

a: 제1 센서 값a: first sensor value

b: 제2 센서 값b: second sensor value

c: 누적 회전 각도c: Cumulative rotation angle

weight: 센서 별 가중치(단, 모든 센서 값에 대한 가중치의 합은 1 임)weight: Weight per sensor (note that the sum of weights for all sensor values is 1)

상호 보정모듈(50)은 누적 회전 각도(c)의 값이 양수(+)이면서, Y축의 양수(+) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)에서 360˚를 뺀 후, 최종적으로 음수(-) 부호를 갖는 누적 회전 각도(c)를 제공한다. 또한, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 음수(-)이면서, Y축의 음수(-) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하여 누적 회전 각도(c)에서 360˚를 더한 후, 최종적으로 양수(+) 부호를 갖는 회전 회전 각도(c)를 제공한다.The mutual correction module 50 determines that the recognition value of the motion is negative (-) code when the cumulative rotation angle c is positive (+) and exceeds the positive (+) sign expression range of the Y axis Subtract 360 째 from the cumulative rotational angle c, and finally provide the cumulative rotational angle c with a negative (-) sign. When the value of the cumulative rotation angle c is negative (-) and exceeds the negative (-) sign expression range of the Y axis, the mutual correction module 50 sets the recognition value of the motion as a positive (+) sign And then 360 ° is added to the cumulative rotational angle c, and finally a rotational rotational angle c having a positive (+) sign is provided.

한편, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 양수(+)이면서, Y축의 양수(+) 부호 표현 범위를 초과하지 않은 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하여 누적 회전 각도(c)를 유지하여 누적 회전 각도(c)를 제공한다. 또한, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 음수(-)이면서, Y축의 음수(-) 부호 표현 범위를 초과하지 않는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)를 유지하며, 이에 대한 누적 회전 각도(c)를 제공한다.On the other hand, when the value of the cumulative rotation angle c is positive (+) and does not exceed the positive (+) sign expression range of the Y axis, the mutual correction module 50 outputs the recognition value for the motion as a positive And maintains the cumulative rotational angle c to provide the cumulative rotational angle c. When the value of the cumulative rotation angle c is negative and does not exceed the negative sign range of the Y axis, the mutual correction module 50 sets the recognition value for the motion as a negative (-) sign And maintains the cumulative rotational angle c, and provides an accumulated rotational angle c thereof.

상호 보정모듈(50)은 누적 회전 각도(c)의 값이 양수(+)이면서, X축의 양수(+) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하고, X축 부호 표현 범위에 따라 180˚를 적용하여 최종적으로 음수(-) 부호를 갖는 누적 회전 각도(c)를 제공한다. 또한, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 음수(-)이면서, X축의 음수(-) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하고, X축 부호 표현 범위에 따라 180˚를 적용하여 최종적으로 양수(+) 부호를 갖는 누적 회전 각도(c)를 제공한다.The mutual correction module 50 determines that the recognition value of the motion is a negative sign if the cumulative rotation angle c is positive and exceeds the positive sign range of the X axis , And 180 ° according to the range of the X-axis code representation to provide an accumulated rotational angle c with a negative (-) sign. When the accumulated rotation angle c is negative (-) and exceeds the negative (-) sign expression range of the X axis, the mutual correction module 50 sets the recognition value of the motion as a positive (+) sign And applies 180 degrees according to the X-axis code representation range to finally provide an accumulated rotation angle (c) having a positive (+) sign.

한편, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 양수(+)이면서, X축의 양수(+) 부호 표현 범위를 초과하지 않은 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하고, X축 부호 표현 범위에 따른 누적 회전 각도(c)를 제공한다. 또한, 상호 보정모듈(50)은 누적 회전 각도(c)의 값이 음수(-)이면서, X축의 음수(-) 부호 표현 범위를 초과하지 않는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)를 유지하며, 이에 대한 누적 회전 각도(c)를 제공한다.On the other hand, when the cumulative rotation angle c is positive (+) but does not exceed the positive (+) sign expression range of the X axis, the mutual correction module 50 outputs the recognition value for the motion as a positive , And provides an accumulated rotation angle (c) according to the X-axis code representation range. When the value of the cumulative rotation angle c is negative and does not exceed the negative sign range of the X axis, the mutual correction module 50 sets the recognition value for the motion as a negative (-) sign And maintains the cumulative rotational angle c, and provides an accumulated rotational angle c thereof.

단말장치(100)는 센서 측정 값에 따라 동작 인식 과정을 수행하는 기능을 한다. 이때, 단말장치(100)는 지정된 동작이 이루어졌는지 센서 측정 값으로 확인하며, 이를 위해 동작 인식 알고리즘을 적용할 수 있다. 즉, 단말장치(100)는 상호 보정에 의한 회전 각도를 반영하여 특정 어플리케이션에 대한 동작 인식을 수행할 수도 있다.The terminal device 100 performs a process of recognizing an operation according to a sensor measurement value. At this time, the terminal device 100 confirms whether the designated operation has been performed by the sensor measurement value, and the motion recognition algorithm can be applied to this. That is, the terminal device 100 may perform motion recognition for a specific application by reflecting a rotation angle by mutual correction.

또한, 본 발명의 다른 실시 예에 따른 센서의 개수는 제1 센서 및 제2 센서에 한정된 것이 아니고, 단말의 움직임, 회전 상태를 파악하여 각도로 표현할 수 있는 모든 n개의 센서(3개 이상의 센서)를 포함한다. 즉, 단말장치(100)가 3개 이상의 센서를 이용하여 센서 값 상호 보정을 수행하는 경우에 대하여 설명한다.In addition, the number of sensors according to another embodiment of the present invention is not limited to the first sensor and the second sensor, but may be any one of n sensors (three or more sensors) . That is, the case where the terminal device 100 performs the sensor value mutual correction using three or more sensors will be described.

단말장치(100)가 제1 센서, 제2 센서, 제3 센서에 대한 센서 값 보정을 보정하기 위하여 제1 센서와 제2 센서, 제1 센서와 제3 센서, 제2 센서와 제3 센서에 대한 센서 값들을 서로 비교하여 각각의 누적 회전 각도(c)를 계산한다. 이때, <수학식 1>에 따라 n 개의 센서를 2개씩 비교하여 c가 나올 수 있는 경우의 개수를 구해야 하므로, nC₂개(C는 combination(조합))의 누적 회전 각도를 획득할 수 있다. 예를 들어, 상기의 제1 센서, 제2 센서, 제3 센서를 이용한 센서 값의 보정에 따르면, 전체 누적 회전 각도의 개수는 3C2 개의 누적 회전 각도가 생성된다. 또한, 누적 회전 각도의 개수를 구하는 조합 방식에서는 중복된 조합을 제거할 수 있다.The terminal device 100 may include a first sensor and a second sensor, a first sensor and a third sensor, a second sensor and a third sensor for correcting the sensor value correction for the first sensor, the second sensor, And compares the sensor values with each other to calculate respective cumulative rotational angles (c). At this time, since the number of cases in which c can be extracted is calculated by comparing two sensors of n according to Equation (1), it is possible to obtain cumulative rotation angles of n C? Pieces (C is a combination). For example, according to the correction of the sensor value using the first sensor, the second sensor, and the third sensor, the total number of cumulative rotational angles is 3 C 2 cumulative rotational angles. Further, in the combination method for obtaining the number of cumulative rotation angles, it is possible to eliminate redundant combinations.

이를 통해, 단말장치(100)는 최종적으로 계산된 C(누적 회전 각도의 수)들의 값들과 부호를 확인하여 같은 부호를 갖는 값이 많은 부호들만을 평균 값으로 계산할 수 있다. 예컨대, c1, c2는 양수이고, c3가 음수(-)인 경우 평균 값은 (c1+c2)/2가 될 수 있다. 이때, 3개의 값 중에서 양수(+)로 출력된 값이 음수(-)로 출력된 값보다 많은 2개 이므로, c1, c2 2개의 평균 값을 계산하기 위하여 분모는 c1과 c2만으로 계산하여 2로 나눈다. 만약, 단말장치(100)는 동일한 부호를 가지는 값들이 복수 개의 같은 수(예를 들면, 음수(-) 2개, 양수(+) 2개)로 존재할 때, 각각의 센서 값에 사용된 가중치 중 가장 높은 가중치를 추출한다. 이때, 음수(-) 2개의 각각 최고 가중치는 0.8과 0.4일 때 두 가중치의 합인 1.2가 되고, 양수 2개의 각각 최고 가중치는 0.4와 0.4일 때 두 가중치의 합인 0.8이 되며, 이중 음수(-)의 합산된 가중치가 더 크기 때문에 음수 값을 최종 값으로 결정할 수 있다.Accordingly, the terminal device 100 can check the values of the finally calculated C (the number of cumulative rotation angles) and the sign, and calculate only the sign having a large number of the same sign as an average value. For example, c1 and c2 are positive numbers, and when c3 is negative (-), the average value may be (c1 + c2) / 2. Since the values output as positive (+) out of the three values are two more than those output as negative (-), the denominator is calculated as c1 and c2, Share it. When the values having the same sign are present in a plurality of the same number (for example, two negative numbers and two positive numbers), the terminal apparatus 100 selects one of the weights Extract the highest weight. In this case, the maximum weights of the two negative numbers are 0.8 and 0.4, which is the sum of the two weights, and the maximum weights of the two positive numbers are 0.4 and 0.4, which is the sum of the two weights, 0.8. The negative value can be determined as the final value.

저장모듈(미도시)은 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함하고, 단말장치(100)의 기능 동작에 필요한 응용 프로그램을 저장한다. 이러한 저장모듈(110)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 단말장치(100)는 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 센서 기능을 활성화하는 프로그램, 각도 계산을 수행하는 프로그램, 각도 부호를 확인하는 프로그램, 각도 부호를 변환하는 프로그램 및 상호 보정을 수행하는 프로그램 등을 저장한다. 또한, 저장모듈은 각각의 센서에 대한 정보를 저장한다. 예를 들어, 센서에 대한 정보는 센서 종류, 형태, 모델명, 제조사 정보, 센서의 평균 민감도, 오차 범위 등에 해당하는 센서 정보와, 동작 인식 종류, 동작 인식 과정, 동작의 신뢰도, 동작 인식 시간, 동작 인식의 기본 축, 동작 인식을 위한 최소 각도, 동작 인식을 위한 최대 각도, 각 센서의 측정 단위 시간, 센서의 회전축 측정 최소 단위 시간, 동작 인식과 연동되는 어플리케이션의 정보 등에 해당하는 동작 인식 정보를 포함한다.A storage module (not shown) is an apparatus for storing data, and includes a main storage device and an auxiliary storage device, and stores an application program necessary for the functional operation of the terminal device 100. [ The storage module 110 may include a program area and a data area. Here, the terminal device 100 may be a program for activating the sensor function, a program for performing angle calculation, a program for checking the angle code, a program for converting the angle code, A program for performing correction, and the like. In addition, the storage module stores information about each sensor. For example, the information on the sensor includes sensor information corresponding to the sensor type, type, model name, manufacturer information, average sensitivity of the sensor, error range, and the like, Includes motion recognition information corresponding to the basic axis of recognition, minimum angle for motion recognition, maximum angle for motion recognition, measurement unit time of each sensor, minimum unit time of rotation axis measurement of sensor, information of application linked with motion recognition do.

한편, 단말장치(100)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.On the other hand, the memory mounted on the terminal device 100 stores information in the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in other embodiments, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may include, for example, a hard disk device, an optical disk device, or any other mass storage device.

본 발명에 따른 단말장치(100)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multi-threaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.A processor mounted on the terminal device 100 according to the present invention can process a program command for executing the method according to the present invention. In one implementation, the processor may be a single-threaded processor, and in other embodiments, the processor may be a multi-threaded processor. Further, the processor is capable of processing instructions stored on a memory or storage device.

입력모듈(미도시)은 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 단말장치(100)의 기능 제어와 관련하여 입력되는 신호를 다른 모듈로 전달한다. 또한, 입력모듈은 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때, 입력모듈은 표시모듈과 함께 하나의 터치패널(또는 터치스크린(Touch screen))의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 입력모듈은 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단이 사용될 수 있다.An input module (not shown) inputs various information such as numeric and character information, sets various functions, and transmits the input signals to other modules in connection with the function control of the terminal device 100. In addition, the input module may include at least one of a keypad and a touchpad that generates an input signal according to a user's touch or operation. At this time, the input module may be configured in the form of one touch panel (or a touch screen) together with the display module to simultaneously perform the input and display functions. Further, the input module may be any input device such as a keyboard, a keypad, a mouse, a joystick, etc., as well as any type of input device that can be developed in the future.

표시모듈(미도시)은 단말장치(100)의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시한다. 또한, 표시모듈은 단말장치(100)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 표시모듈은 액정표시장치(LCD, Liquid Crystal Display), 초박막 액정표시장치(TFT-LCD, Thin Film Transistor LCD), 발광다이오드(LED, Light Emitting Diode), 유기 발광다이오드(OLED, Organic LED), 능동형 유기발광다이오드(AMOLED, Active Matrix OLED), 레티나 디스플레이(Retina Display), 플렉시블 디스플레이(Flexible display) 및 3차원(3 Dimension) 디스플레이 등으로 구성될 수 있다. 이때, 표시모듈이 터치스크린 형태로 구성된 경우, 표시모듈은 입력모듈의 기능 중 일부 또는 전부를 수행할 수 있다.The display module (not shown) displays information on a series of operation states, operation results, and the like that occur during the performance of the function of the terminal device 100. In addition, the display module can display a menu of the terminal device 100 and user data input by the user. Here, the display module may be a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), a light emitting diode (LED), an organic light emitting diode (OLED) Active matrix organic light emitting diodes (AMOLEDs), active matrix OLEDs, retina displays, flexible displays, and three-dimensional displays. At this time, when the display module is configured as a touch screen, the display module can perform some or all of the functions of the input module.

통신모듈(미도시)은 통신망(미도시)을 통해 다른 장치와 통신하여 데이터를 송수신하기 위한 기능을 수행한다. 여기서, 통신모듈은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신 수단과 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신 수단 등을 포함한다. 이러한 통신모듈은 무선통신 모듈(미도시) 및 유선통신 모듈(미도시) 중 적어도 하나를 포함할 수 있다. 그리고, 무선통신 모듈은 무선 통신 방법에 따라 데이터를 송수신하기 위한 구성이며, 단말장치(100)가 무선 통신을 이용하는 경우, 무선망 통신 모듈, 무선랜 통신 모듈 및 무선팬 통신 모듈 중 어느 하나를 이용하여 데이터를 송수신할 수 있다. 또한, 유선통신 모듈은 유선으로 데이터를 송수신하기 위한 것이다. 유선통신 모듈은 유선을 통해 통신망에 접속하여 데이터를 송수신할 수 있다.A communication module (not shown) communicates with other devices through a communication network (not shown) to perform data transmission and reception. Here, the communication module includes RF transmitting means for up-converting and amplifying the frequency of the transmitted signal, RF receiving means for low-noise amplifying the received signal and down-converting the frequency. Such a communication module may include at least one of a wireless communication module (not shown) and a wired communication module (not shown). The wireless communication module is configured to transmit and receive data according to a wireless communication method. When the terminal device 100 uses wireless communication, the wireless communication module uses any one of a wireless network communication module, a wireless LAN communication module, So that data can be transmitted and received. The wired communication module is for transmitting / receiving data by wire. The wired communication module can connect to the communication network through the wired line and transmit / receive data.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for &lt; RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

이를 통해, 본 발명은 지자기 센서 및 가속도 센서를 통해 획득된 회전 각도뿐 만 아니라 자이로 센서의 회전 각속도를 이용한 연산 값도 파악한 후, 두 값의 부호 비교 과정을 통해 신뢰성이 높은 각도의 값과 부호를 적용하여 단말장치의 움직임으로 판단할 수 있다. 또한, 상호 보정 과정을 통하여 보다 정확한 현재 단말장치의 회전 각도와 부호를 확인하는 방법을 적용함으로써, 각도 표현 범위로 인해 발생하는 수학적 한계를 극복하고, 센서를 활용한 동작 기반 서비스의 신뢰성을 향상시킬 수 있다.In the present invention, not only the rotational angle obtained through the geomagnetism sensor and the acceleration sensor, but also the calculated value using the rotational angular velocity of the gyro sensor, It can be determined that the terminal device is moving. In addition, by applying the method of confirming the rotation angle and sign of the current terminal device more accurately through the mutual correction process, it is possible to overcome the mathematical limit caused by the range of the angular expression and to improve the reliability of the motion based service using the sensor .

도 3은 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법을 설명하기 위한 흐름도 이고, 도 4a 내지 도 5b는 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법을 설명하기 위한 예시도 이다.FIG. 3 is a flowchart for explaining a plurality of sensor value mutual correction methods according to an embodiment of the present invention. FIGS. 4A to 5B are diagrams for explaining a plurality of sensor value mutual correction methods according to an embodiment of the present invention. to be.

특히, 본 발명의 실시 예에 따른 단말장치(100)의 센서 중 제1 센서를 지자기 센서 및 가속도 센서로 가정하고, 제2 센서를 자이로 센서로 가정하여 복수의 센서 값 상호 보정 방법에 대하여 설명하지만 상기 제1 센서와 제2 센서는 가정된 센서에 한정된 것이 아닌 일 실시 예일 뿐, 다양한 종류의 다른 센서들도 적용 가능하며, 단말의 움직임, 회전 상태를 파악하여 각도로 표현할 수 있는 모든 n개의 센서(3개 이상의 센서)를 포함한다.In particular, a plurality of sensor value mutual correction methods are described by assuming that the first sensor among the sensors of the terminal device 100 according to the embodiment of the present invention is a geomagnetism sensor and an acceleration sensor, and that the second sensor is a gyro sensor The first sensor and the second sensor are not limited to the hypothesized sensor, and various sensors of various kinds can be applied. All of the n sensors (Three or more sensors).

도 3을 참조하면, 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법은 단말장치(100)가 S10 단계에서 단말장치(100)의 움직임이 감지되면, n 개의 센서를 통해 각각의 센서 값을 수집한다. 예를 들어, 제1 센서(지자기 센서 및 가속도 센서) 및 제2 센서(자이로 센서)를 통해 센서 값(a) 및 센서 값(b)을 수집한다.Referring to FIG. 3, a plurality of sensor value mutual correction methods according to an exemplary embodiment of the present invention, when the terminal device 100 detects movement of the terminal device 100 in step S10, Lt; / RTI &gt; For example, the sensor value (a) and the sensor value (b) are collected through a first sensor (a geomagnetic sensor and an acceleration sensor) and a second sensor (a gyro sensor).

단말장치(100)는 S20 단계에서 수집된 각각의 센서 값에 대한 연산을 수행하여 X, Y, Z 3축에 대한 각도를 계산한다. 이때, 단말장치(100)는 센서 값(a) 및 센서 값(b)에 회전 벡터 및 행렬 연산을 수행하여 X, Y, Z 3축에 대한 각도를 계산한다. 여기서, 단말장치(100)는 센서모듈(10)을 통해 수집된 센서 측정 값을 취합하는 기능을 한다. 즉, 각도 계산모듈(20)은 센서 측정 값을 동작 인식을 위한 정보로 활용하기 위하여 회전 행렬, 방향 벡터, 절대 각도, 상대 각도, 매트릭스 등의 연산이 가능한 형태로 취합한다. 예를 들어, 단말장치(100)는 X 축(Pitch; X 축 기준 회전각), Y 축(Roll; Y축 기준 회전각) 및 Z 축(방위각)에 대한 각도를 계산한다. 이때, Pitch는 가로축 기준 회전각으로 단말장치(100)가 세워진 형태에 따라 -90˚~ +90˚로 표현되고, Roll은 세로축 기준 회전각으로 단말장치(100)가 뉘어진 형태에 따라 -180˚~ +180˚로 표현되고, 방위각은 동, 서, 남, 북에 따라 0˚~ 360˚또는 -180˚~ +180˚로 표현된다.The terminal device 100 calculates the angles for the X, Y, and Z axes by performing computations on the sensor values collected in step S20. At this time, the terminal device 100 performs a rotation vector and a matrix operation on the sensor value (a) and the sensor value (b) to calculate angles with respect to the X, Y, and Z axes. Here, the terminal device 100 functions to collect the sensor measurement values collected through the sensor module 10. That is, the angle calculation module 20 collects the sensor measurement values in a form capable of calculating a rotation matrix, a direction vector, an absolute angle, a relative angle, and a matrix in order to utilize the sensor measurement value as information for motion recognition. For example, the terminal device 100 calculates an angle with respect to an X axis (rotation angle based on X axis), a Y axis (rotation angle based on Y axis), and a Z axis (azimuth angle). In this case, the pitch is represented by -90 DEG to + 90 DEG according to the shape of the terminal device 100 erected at the horizontal axis rotation angle, and Roll is represented by -180 DEG ˚ to + 180˚, and the azimuth angle is expressed as 0˚ to 360˚ or -180˚ to + 180˚ depending on east, west, south, and north.

그리고, Pitch와 Roll의 경우, 삼각함수의 아크사인(arcsin), 아크탄(arctan) 값 범위에 의해 양수(+) 또는 음수(-) 부호를 갖게 되며, 지자기 센서와 가속도 센서의 측정 값을 활용하여 절대 각도를 표현한다.In the case of Pitch and Roll, it has positive (+) or negative (-) sign according to arcsin and arctan value range of trigonometric function and utilizes measurement values of geomagnetic sensor and acceleration sensor. To express an absolute angle.

만약, 단말장치(100)의 화면이 위쪽을 향한 상태일 때, Pitch는 0˚기준으로 부호가 양수(+) 또는 음수(-) 부호로 변경되며, Roll은 0˚기준으로 부호가 양수(+) 또는 음수(-) 부호로 변경된다. 또한, 단말장치(100)의 화면이 아래쪽을 향한 상태일 때, Pitch는 0˚기준으로 부호가 양수(+) 또는 음수(-) 부호로 변경되며, Roll은 180˚기준으로 부호가 양수(+) 또는 음수(-) 부호로 변경된다. 또한, 단말장치(100)가 자북에서 가까운 위치를 가리킬 때, 방위각은 0˚또는 360˚로 변경된다.If the screen of the terminal device 100 faces upward, the pitch is changed to a positive (+) or negative (-) code on the basis of 0 °. Roll is a positive value (+ ) Or a negative (-) sign. When the screen of the terminal device 100 faces downward, the pitch is changed to a positive (+) or negative (-) code with a 0 degree reference. Roll is a 180 degree reference, ) Or a negative (-) sign. Further, when the terminal device 100 indicates a position close to the magnetic north, the azimuth angle is changed to 0 degrees or 360 degrees.

단말장치(100)는 S30 단계에서 각도 계산모듈(20)을 통해 계산된 센서 값들에 대응하는 각도 범위를 비교하고, 비교 결과를 토대로 각각의 센서 값에 대한 각도 부호를 확인한다. 그리고, 단말장치(100)는 S40 단계에서 각도 부호가 다른지 확인한다. The terminal device 100 compares the angular ranges corresponding to the sensor values calculated through the angle calculation module 20 in step S30, and confirms the angle signs for the respective sensor values based on the comparison result. Then, the terminal device 100 confirms whether the angle code is different in step S40.

예를 들어, 도 4a에 도시된 바와 같이, 지자기 또는 자이로 센서를 통해 계산된 각도의 범위와 자이로 센서를 통해 계산된 각도의 범위를 비교하는데, 1차적으로 두 값의 부호를 비교한다. 이때, Y축의 각도가 180˚근처일 때, 두 값을 판단하는 경우의 예는 자이로 센서 Roll 값이 각도 범위(501)일 때와, 지자기 센서 및 가속도 센서의 Roll 값이 각도 범위(503)일 때이다.For example, as shown in FIG. 4A, the sign of two values is first compared to compare the range of angles calculated through the geomagnetism or gyro sensor and the range of angles calculated through the gyro sensor. In this case, when the angle of the Y axis is near 180 degrees, an example of determining the two values is when the gyro sensor Roll value is in the angle range 501 and when the roll value of the geomagnetic sensor and the acceleration sensor is in the angle range 503 It is time.

또한, 자이로 센서로 계산된 값이 180˚이상으로 측정되어 반대의 부호를 가지는 경우를 나타내며, 이와 반대로, 지자기 센서 및 가속도 센서로 계산된 값이 180˚이상으로 측정되어 양수(+) 부호의 값을 갖는 자이로 센서의 측정 값과 반대의 부호를 갖게 된 경우도 발생 가능하다.In addition, the values calculated by the gyro sensor are measured at 180 ° or more and have opposite signs. On the contrary, the values calculated by the geomagnetic sensor and the acceleration sensor are measured at 180 ° or more, The gyro sensor may have the opposite sign to the measured value of the gyro sensor.

비교한 결과, 각도 부호가 다른 경우, 단말장치(100)는 S50 단계에서 하나의 각도에 일정 값을 더하여 동일한 각도 부호로 변환한다. 즉, 단말장치(100)는 센서 값(a) 및 센서 값(b)을 확인하여, 센서 값에 대응하는 각도 중 다른 부호를 가지는 센서 값이 존재하는지 확인한다. 이때, 단말장치(100)는 다른 부호를 가지는 센서 값이 존재하는 경우, 해당 센서의 각도 부호를 180도 또는 360도로 적용하여 다른 센서 값의 각도와 같은 부호가 되도록 변환한다. 이는 X축(Pitch)을 기준으로 하면, -90˚~ 90˚의 절대 범위에서 제1 센서 값(a)와 제2 센서 값(b)의 누적 합이 최대 180˚이기 때문이며, Y축(Roll)을 기준으로 하면, -180˚~ 180˚의 절대 범위에서 제1 센서 값(a)와 제2 센서 값(b)의 누적 합이 최대 270˚이기 때문이다. 여기서, 누적 합이 최대 270도가 되는 이유는 센서 값(b)의 절대 범위인 0˚~ 180˚에서 부호가 다른 값을 출력할 때, 180˚에 가까운 값을 갖는 경우가 많으므로, 0˚~ 90˚의 범위까지 누적시키게 되면, 연산 과정에 따른 리소스 낭비가 발생할 수 있어 각도 범위를 90˚~ 180˚로 한정하여 90˚의 범위를 누적시키기 때문이다.As a result of comparison, if the angle code is different, the terminal device 100 adds a constant value to one angle in step S50 and converts the same angle code. That is, the terminal device 100 checks the sensor value (a) and the sensor value (b) to see if there is a sensor value having another sign among the angles corresponding to the sensor value. At this time, when there is a sensor value having a different sign, the terminal device 100 applies the angle code of the sensor to 180 degrees or 360 degrees so as to convert it into a sign having the same angle as another sensor value. This is because the accumulated sum of the first sensor value (a) and the second sensor value (b) is maximum 180 ° in the absolute range of -90 ° to 90 ° with respect to the X-axis, ), The cumulative sum of the first sensor value (a) and the second sensor value (b) is at most 270 degrees in the absolute range of -180 DEG to 180 DEG. The reason why the cumulative sum is 270 degrees at maximum is that when the sign is different from 0 to 180 degrees which is the absolute range of the sensor value b, Accumulating up to the range of 90 degrees may waste resources depending on the calculation process, so that the range of angles is limited to 90 degrees to 180 degrees and the range of 90 degrees is accumulated.

예를 들어, 도 4b에 도시된 바와 같이, 단말장치(100)는 음수(-) 부호의 값을 갖는 센서의 각도 부호를 180˚또는 360˚로 적용하여 다른 센서의 각도 값과 같은 부호로 변환시킨다. 이때, 음수(-)를 양수(+)로 변환시키는 이유는 음수(-) 값의 범위 확인을 -90˚~ -180˚로 한정함으로써, 양수(+) 부호가 나와야 하는 값이 180˚를 초과하여 음수(-) 부호로 변환될 수 있는 경우를 포함하고 있기 때문이다. 즉, 자이로 센서 Roll 값은 각도 범위(501)에 360˚를 더하여 새로운 각도 범위(505)로 변환되게 된다.For example, as shown in FIG. 4B, the terminal device 100 applies an angle sign of a sensor having a negative (-) sign value to 180 degrees or 360 degrees, . The reason for converting negative (-) to positive (+) is to limit the range of negative (-) to -90 ° to -180 °, And can be converted into a negative (-) code. That is, the gyro sensor Roll value is converted into a new angle range 505 by adding 360 degrees to the angle range 501.

단말장치(100)는 S60 단계에서 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행한다. 여기서, 단말장치(100)는 센서 값(a) 및 센서 값(a)과 동일한 부호가 되도록 변환된 센서 값(b)을 더하여 누적 회전 각도(c)의 범위를 생성하며, 누적 회전 각도(c)는 일정 값을 가지는 가중치(weight)로 설정된다. 여기서, 가중치는 복수의 센서의 민감도, 센서의 종류 및 센서의 유형에 따라 조정된다.In step S60, the terminal device 100 performs a mutual correction by assigning predetermined weights to the respective sensors. Here, the terminal device 100 generates the range of the cumulative rotational angle c by adding the sensor value b converted to be the same sign as the sensor value a and the sensor value a, and the cumulative rotational angle c ) Is set to a weight having a constant value. Here, the weights are adjusted according to the sensitivity of a plurality of sensors, the types of sensors, and the types of sensors.

예를 들어, 도 4c에 도시된 바와 같이, 단말장치(100)는 지자기 센서 및 가속도 센서 측정 각도(a)와 변환된 자이로 센서의 값(b)를 더하여 누적 회전 각도(c)의 범위를 확인한다. 여기서, 각 센서의 측정 각도를 더할 때 일정한 값을 갖는 가중치를 설정하는데, 만약, 센서 값(a)의 가중치 값이 센서 값(b)의 가중치 값 보다 크면 센서 값(a)이 센서 값(b) 보다 상대적으로 신뢰성이 높다는 의미가 된다.4C, the terminal device 100 confirms the range of the cumulative rotation angle c by adding the geomagnetic sensor and the acceleration sensor measurement angle a and the converted gyro sensor value b, for example. do. If a weight value of the sensor value (a) is larger than a weight value of the sensor value (b), the sensor value (a) is equal to the sensor value (b ), Which means that it is relatively reliable.

단말장치(100)는 누적 회전 각도(c)의 값이 양수(+)이면서, Y축의 양수(+) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)에서 360˚를 뺀 후, 최종적으로 음수(-) 부호를 갖는 누적 회전 각도(c)를 제공한다. 또한, 단말장치(100)는 누적 회전 각도(c)의 값이 음수(-)이면서, Y축의 음수(-) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하여 누적 회전 각도(c)에서 360˚를 더한 후, 최종적으로 양수(+) 부호를 갖는 누적 회전 각도(c)를 제공한다.The terminal device 100 judges the recognition value of the motion as a negative (-) code when the accumulated rotation angle c is positive (+) and exceeds the positive (+) sign expression range of the Y axis Subtract 360 deg from the rotation angle c, and finally provide an accumulated rotation angle c with a negative sign. In addition, when the cumulative rotation angle c is negative (-) and exceeds the negative (-) sign expression range of the Y axis, the terminal device 100 determines the recognition value of the motion as a positive (+) code (360 °) at the cumulative rotational angle (c), and finally provides an accumulated rotational angle (c) with a positive (+) sign.

예를 들어, 도 5a에 도시된 바와 같이, 단말장치(100)는 도 4a 내지 도 4c의 연산 과정에서 계산된 값인 상호 보정된 누적 회전 각도(c)의 값이 Y축의 양수 표현 범위인 180˚를 초과하는지 확인한다. 이때, 누전 회전 각도(c) 값이 180˚를 초과하는 값이면(180˚초과 270˚이하의 범위에 존재), 단말장치(100)는 실제 인식되어야 하는 값이 음수(-) 부호일 확률이 더 높다는 것을 의미하므로, 누적 회전 각도(c)의 값에서 360˚를 뺀 후, 최종적으로 음수(-) 부호를 갖는 회전 각도 값을 사용자에게 전달한다.For example, as shown in FIG. 5A, when the value of the mutually corrected cumulative rotational angle c, which is a value calculated in the calculation process of FIGS. 4A to 4C, is 180 degrees . At this time, if the value of the electric leakage rotation angle c is a value exceeding 180 degrees (exists in a range of 180 degrees or more and 270 degrees or less), the terminal device 100 has a probability that a value to be actually recognized is a negative So that 360 ° is subtracted from the value of the cumulative rotation angle c, and finally, the rotation angle value having a negative sign is transmitted to the user.

한편, 단말장치(100)는 누적 회전 각도(c)의 값이 양수(+)이면서, Y축의 양수(+) 부호 표현 범위를 초과하지 않은 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하여 누적 회전 각도(c)를 유지하여 누적 회전 각도(c)를 제공한다. 또한, 단말장치(100)는 누적 회전 각도(c)의 값이 음수(-)이면서, Y축의 음수(-) 부호 표현 범위를 초과하지 않는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)를 유지하며, 이에 대한 누적 회전 각도(c)를 제공한다. On the other hand, when the cumulative rotation angle c is positive (+) but does not exceed the positive (+) sign expression range of the Y axis, the terminal device 100 sets the recognition value of the motion as a positive And maintains the accumulated rotation angle c to provide the accumulated rotation angle c. In addition, when the cumulative rotation angle c is negative (-) and does not exceed the negative (-) sign expression range of the Y axis, the terminal device 100 sets the recognition value for motion as a negative (-) sign And maintains the cumulative rotational angle c, and provides an accumulated rotational angle c thereof.

예를 들어, 도 5b에 도시된 바와 같이, 단말장치(100)는 도 4a 내지 도 4c의 연산 과정에서 계산된 값인 상호 보정된 누적 회전 각도(c)의 값이 Y축의 양수 표현 범위인 180˚를 초과하는지 확인한다. 이때, 누적 회전 각도(c) 값이 180˚를 초과하지 않는 값이면(0˚이상 180˚이하의 범위에 존재), 단말장치(100)는 실제 인식되어야 하는 값이 양수(+) 부호일 확률이 더 높다는 것을 의미하므로, 누적 회전 각도(c)의 값을 그대로 사용자에게 전달한다.For example, as shown in FIG. 5B, when the value of the mutually corrected cumulative rotational angle c, which is a value calculated in the calculation process of FIGS. 4A to 4C, is 180 degrees . At this time, if the value of the cumulative rotation angle c does not exceed 180 degrees (exists in a range of 0 to 180 degrees), the terminal device 100 determines that the value that is actually recognized is a positive (+) code , The value of the cumulative rotational angle c is transmitted to the user as it is.

또한, 단말장치(100)는 누적 회전 각도(c)의 값이 양수(+)이면서, X축의 양수(+) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하고, X축 부호 표현 범위에 따라 180˚를 적용하여 최종적으로 음수(-) 부호를 갖는 누적 회전 각도(c)를 제공한다. 또한, 단말장치(100)는 누적 회전 각도(c)의 값이 음수(-)이면서, X축의 음수(-) 부호 표현 범위를 초과하는 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하고, X축 부호 표현 범위에 따라 180˚를 적용하여 최종적으로 양수(+) 부호를 갖는 누적 회전 각도(c)를 제공한다.In addition, when the cumulative rotation angle c is positive (+) and exceeds the positive (+) sign expression range of the X axis, the terminal device 100 judges the recognition value of the motion as a negative (-) code And applies 180 degrees according to the X-axis code representation range to finally provide an accumulated rotation angle (c) with a negative (-) sign. In addition, when the cumulative rotation angle c is negative (-) and exceeds the negative (-) sign expression range of the X axis, the terminal device 100 determines the recognition value of the motion as a positive (+) code And applies 180 degrees according to the X-axis code representation range to finally provide an accumulated rotation angle (c) having a positive (+) sign.

한편, 단말장치(100)는 누적 회전 각도(c)의 값이 양수(+)이면서, X축의 양수(+) 부호 표현 범위를 초과하지 않은 경우, 움직임에 대한 인식 값을 양수(+) 부호로 판단하고, X축 부호 표현 범위에 따른 누적 회전 각도(c)를 제공한다. 또한, 단말장치(100)는 누적 회전 각도(c)의 값이 음수(-)이면서, X축의 음수(-) 부호 표현 범위를 초과하지 않는 경우, 움직임에 대한 인식 값을 음수(-) 부호로 판단하여 누적 회전 각도(c)를 유지하며, 이에 대한 누적 회전 각도(c)를 제공한다.On the other hand, when the cumulative rotation angle c is positive (+) and does not exceed the positive (+) sign expression range of the X axis, the terminal device 100 sets the recognition value of the motion as a positive (+) sign , And provides an accumulated rotation angle (c) according to the X-axis code representation range. In addition, when the cumulative rotation angle c is negative (-) and does not exceed the negative (-) sign expression range of the X axis, the terminal device 100 sets the recognition value of the motion as a negative (-) sign And maintains the cumulative rotational angle c, and provides an accumulated rotational angle c thereof.

즉, 본 발명의 실시 예에 따른 복수의 센서 값 상호 보정 방법은 지자기 센서 및 가속도 센서를 활용하여 단말장치(100)의 각도를 축 별로 확인하고, 일정 시간 동안 자이로 센서의 각속도를 파악하여 이를 회전 벡터와 행렬 연산을 통해 단말장치(100)의 각도를 확인한다. 이후, 지가기 센서 및 가속도 센서와, 자이로 센서의 각도 값을 비교하며, 부호와 값의 크기를 통해 측정값이 서로 어긋나는 경우를 찾아낸다. 이에 대한 상호 보정 과정을 통해 실제 단말장치(100)가 위치한 각도를 판단한다. 그리고, 상호 보정 연산 시 센서 별로 가중치를 설정하여 단말장치(100)에 탑재된 센서 종류 및 유형에 따라 조정 가능한 형태로 단말 별 최적화를 수행함으로써, 각도 표현 범위로 인해 발생하는 수학적 한계를 상호 보정 과정을 통해 해결한다.In other words, the plurality of sensor value mutual correction methods according to the embodiment of the present invention check the angle of the terminal device 100 using the geomagnetism sensor and the acceleration sensor, grasp the angular velocity of the gyro sensor for a predetermined time, And the angle of the terminal device 100 is checked through matrix and matrix operations. Then, the angular values of the gyro sensor and the acceleration sensor are compared with the gyro sensor, and the case where the measured values are deviated from each other through the sign and the magnitude of the value is found. And determines the angle at which the actual terminal device 100 is positioned through the mutual correction process. In the mutual correction calculation, weights are set for each sensor, and optimization is performed for each terminal in an adjustable form according to the type and type of sensor mounted on the terminal apparatus 100, so that mathematical limitations arising due to the angular expression range are corrected .

또한, 본 발명의 다른 실시 예에 따른 센서의 개수는 제1 센서 및 제2 센서에 한정된 것이 아니고, 단말의 움직임, 회전 상태를 파악하여 각도로 표현할 수 있는 모든 n개의 센서(3개 이상의 센서)를 포함한다. 즉, 단말장치(100)가 3개 이상의 센서를 이용하여 센서 값 상호 보정을 수행하는 경우에 대하여 설명한다.In addition, the number of sensors according to another embodiment of the present invention is not limited to the first sensor and the second sensor, but may be any one of n sensors (three or more sensors) . That is, the case where the terminal device 100 performs the sensor value mutual correction using three or more sensors will be described.

단말장치(100)가 제1 센서, 제2 센서, 제3 센서에 대한 센서 값 보정을 보정하기 위하여 제1 센서와 제2 센서, 제1 센서와 제3 센서, 제2 센서와 제3 센서에 대한 센서 값들을 서로 비교하여 각각의 누적 회전 각도(c)를 계산한다. 이때, <수학식 1>에 따라 n 개의 센서를 2개씩 비교하여 c가 나올 수 있는 경우의 개수를 구해야 하므로, nC₂개(C는 combination(조합))의 누적 회전 각도를 획득할 수 있다. 예를 들어, 상기의 제1 센서, 제2 센서, 제3 센서를 이용한 센서 값의 보정에 따르면, 전체 누적 회전 각도의 개수는 3C2 개의 누적 회전 각도가 생성된다. 또한, 누적 회전 각도의 개수를 구하는 조합 방식에서는 중복된 조합을 제거할 수 있다.The terminal device 100 may include a first sensor and a second sensor, a first sensor and a third sensor, a second sensor and a third sensor for correcting the sensor value correction for the first sensor, the second sensor, And compares the sensor values with each other to calculate respective cumulative rotational angles (c). At this time, since the number of cases in which c can be extracted is calculated by comparing two sensors of n according to Equation (1), it is possible to obtain the cumulative rotation angle of n C 2 pieces (C is a combination). For example, according to the correction of the sensor value using the first sensor, the second sensor and the third sensor, the total number of cumulative rotational angles is 3 C 2 cumulative rotational angles. Further, in the combination method for obtaining the number of cumulative rotation angles, it is possible to eliminate redundant combinations.

이를 통해, 단말장치(100)는 최종적으로 계산된 C(누적 회전 각도의 수)들의 값들과 부호를 확인하여 같은 부호를 갖는 값이 많은 부호들만을 평균 값으로 계산할 수 있다. 예컨대, c1, c2는 양수(+)이고, c3가 음수(-)인 경우 평균 값은 (c1+c2)/2가 될 수 있다. 이때, 3개의 값 중에서 양수(+)로 출력된 값이 음수(-)로 출력된 값보다 많은 2개 이므로, c1, c2 2개의 평균 값을 계산하기 위하여 분모는 c1과 c2만으로 계산하여 2로 나눈다.Accordingly, the terminal device 100 can check the values of the finally calculated C (the number of cumulative rotation angles) and the sign, and calculate only the sign having a large number of the same sign as an average value. For example, when c1 and c2 are positive (+) and when c3 is negative (-), the average value may be (c1 + c2) / 2. Since the values output as positive (+) out of the three values are two more than those output as negative (-), the denominator is calculated as c1 and c2, Share it.

만약, 단말장치(100)는 동일한 부호를 가지는 값들이 복수 개의 같은 수(예를 들면, 음수(-) 2개, 양수(+) 2개)로 존재할 때, 각각의 센서 값에 사용된 가중치 중 가장 높은 가중치를 추출한다. 이때, 음수(-) 2개의 각각 최고 가중치는 0.8과 0.4일 때 두 가중치의 합인 1.2가 되고, 양수 2개의 각각 최고 가중치는 0.4와 0.4일 때 두 가중치의 합인 0.8이 되며, 이중 음수(-)의 합산된 가중치가 더 크기 때문에 음수 값을 최종 값으로 결정할 수 있다.When the values having the same sign are present in a plurality of the same number (for example, two negative numbers and two positive numbers), the terminal apparatus 100 selects one of the weights Extract the highest weight. In this case, the maximum weights of the two negative numbers are 0.8 and 0.4, which is the sum of the two weights, and the maximum weights of the two positive numbers are 0.4 and 0.4, which is the sum of the two weights, 0.8. The negative value can be determined as the final value.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented in a computer program product, such as an information carrier, e.g., a machine readable storage device, such as a computer readable storage medium, for example, for processing by a data processing apparatus, Apparatus (computer readable medium) or as a computer program tangibly embodied in a propagation signal. A computer program, such as the computer program (s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be stored as a stand-alone program or in a module, component, subroutine, As other suitable units for use in the present invention. A computer program may be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communications network.

방법 단계들은 온 입력(on input) 데이터를 동작시키고 출력을 발생시킴으로써 기능들을 수행하기 위해 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서들에 의해 수행될 수 있다. 방법 단계들은 또한 특수 목적 논리 회로조직, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)에 의해 수행될 수 있고, 장치는 이들로서 구현될 수 있다.The method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating an output. The method steps may also be performed by special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), and the devices may be implemented as such.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer may include one or more mass storage devices for storing data, such as magnetic, magneto-optical disks, or optical disks, or may receive data from them, transmit data to them, . &Lt; / RTI &gt; Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory A magneto-optical medium such as a floppy disk, an optical disk such as a DVD (Digital Video Disk), a ROM (Read Only Memory), a RAM , Random Access Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented or included by special purpose logic circuitry.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.It should be noted that the embodiments of the present invention disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

본 발명은 단말장치에 탑재된 각 센서의 측정 값이 부호 표현 범위의 한계로 인해 부호가 변경되는 경우, 각 센서들의 회전 각도에 대한 연산을 수행하고, 회전 각도를 비교하여 상호 보정한다. 이를 통해, 지자기 센서 및 가속도 센서를 통해 획득된 회전 각도뿐 만 아니라 자이로 센서의 회전 각속도를 이용한 연산 값도 파악한 후, 두 값의 부호 비교 과정을 통해 신뢰성이 높은 각도의 값과 부호를 적용하여 단말장치의 움직임으로 판단할 수 있다. 또한, 상호 보정 과정을 통하여 보다 정확한 현재 단말장치의 회전 각도와 부호를 확인하는 방법을 적용함으로써, 각도 표현 범위로 인해 발생하는 수학적 한계를 극복하고, 센서를 활용한 동작 기반 서비스의 신뢰성을 향상시킬 수 있다. 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In the present invention, when the measured value of each sensor mounted on the terminal device changes sign due to the limit of the sign expression range, the sensor calculates the rotation angle of each sensor and compares the rotation angle with each other to perform mutual correction. In this way, not only the rotational angle obtained through the geomagnetism sensor and the acceleration sensor but also the calculated value using the rotational angular velocity of the gyro sensor is also detected, and then the value and sign of the highly reliable angle are applied through the code comparison process of the two values, It can be judged by the movement of the apparatus. In addition, by applying the method of confirming the rotation angle and sign of the current terminal device more accurately through the mutual correction process, it is possible to overcome the mathematical limit caused by the range of the angular expression and to improve the reliability of the motion based service using the sensor . This is not only a possibility of commercialization or sales, but also a possibility of being industrially applicable since it is practically possible to carry out clearly.

10: 센서모듈 20: 각도 계산모듈
30: 각도 부호 확인모듈 40: 각도 부호 변환모듈
50: 상호 보정모듈 100: 단말장치
10: Sensor module 20: Angle calculation module
30: Angle code verification module 40: Angle code conversion module
50: mutual correction module 100: terminal device

Claims (12)

단말장치가 n개의 센서를 통해 각각의 센서 값을 수집하는 단계;
상기 단말장치가 상기 수집된 센서 값을 연산하여 X, Y, Z 축에 대한 각도를 계산하는 단계;
상기 단말장치가 상기 센서 값에 대응하는 각도 범위를 비교하여 각각의 센서 값에 대한 각도 부호를 확인하는 단계;
각도 부호가 다른 경우, 상기 단말장치가 하나의 각도에 일정 값을 더하여 동일한 각도 부호로 변환하는 단계; 및
상기 단말장치가 상기 센서 값의 각도에 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행하는 단계;
를 포함하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
The terminal device collecting sensor values through n sensors;
Calculating the angles with respect to the X, Y, and Z axes by computing the collected sensor values;
Comparing the angular range corresponding to the sensor value by the terminal device and confirming the angle code for each sensor value;
If the angle code is different, converting the terminal code into a same angle code by adding a constant value to one angle; And
Performing the mutual correction by assigning predetermined weights to the angles of the sensor values for the respective sensors;
And a plurality of sensor value mutual correction methods.
제1항에 있어서, 상기 변환하는 단계는
상기 단말장치가 상기 센서 값을 확인하여, 센서 값에 대응하는 각도 중 다른 부호를 가지는 센서 값이 존재하는지 확인하는 단계; 및
상기 다른 부호를 가지는 센서 값이 존재하는 경우, 상기 단말장치가 해당 센서가 갖는 각 축의 부호 표현 범위에 따라 180도 또는 360도를 더하거나 빼는 연산을 적용하여 다른 센서 값의 각도와 같은 부호로 변환하는 단계;
를 포함하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
2. The method of claim 1,
The terminal device checks the sensor value and confirms whether a sensor value having a different sign among angles corresponding to the sensor value exists; And
If there is a sensor value having the different sign, the terminal applies an operation of adding or subtracting 180 degrees or 360 degrees according to a range of sign expressions of each axis of the sensor, step;
And a plurality of sensor value mutual correction methods.
제1항에 있어서, 상기 상호 보정을 수행하는 단계는
상기 단말장치가 특정 센서의 센서 값(a) 및 상기 센서 값(a)과 동일한 부호가 되도록 변환된 다른 센서의 센서 값(b)을 더하여 누적 회전 각도(c)의 범위를 생성하는데, 상기 누적 회전 각도(c)는 일정 값을 가지는 가중치(weight)로 설정되며, 상기 가중치는 상기 복수의 센서의 민감도, 센서의 종류 및 센서의 유형에 따라 조정되는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
2. The method of claim 1, wherein performing the mutual correction comprises:
The terminal device generates a range of the cumulative rotation angle c by adding the sensor value b of another sensor which is converted so that the terminal device has the same sensor value a and the sensor value a, Wherein the rotation angle c is set to a weight having a predetermined value and the weight is adjusted according to the sensitivity of the plurality of sensors, the type of the sensor, and the type of the sensor. .
제3항에 있어서, 상기 상호 보정을 수행하는 단계는
상기 단말장치가 상기 누적 회전 각도(c)의 값이 Y축의 각도 표현 범위에 포함되지 않는 경우, 상기 단말장치의 움직임에 대한 인식 값을 반대 부호로 판단하여 상기 누적 회전 각도(c)에서 360도를 더하거나 뺀 후, 최종적으로 반대 부호를 갖는 회전 각도를 제공하며,
상기 누적 회전 각도(c)의 값이 X축의 각도 표현 범위에 포함되지 않는 경우, 상기 단말장치의 움직임에 대한 인식 값을 반대 부호로 판단하고, 누적 회전 각도(c)에서 180도를 더하거나 뺀 후, 최종적으로 반대 부호를 갖는 회전 각도를 제공하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
4. The method of claim 3, wherein performing the mutual correction comprises:
If the value of the cumulative rotation angle (c) is not included in the range of angular expression of the Y axis, the terminal device determines that the recognition value for the motion of the terminal device is the opposite sign, , And finally provides a rotation angle with the opposite sign,
If the value of the cumulative rotation angle c is not included in the angle expression range of the X axis, the recognition value for the movement of the terminal device is determined to be the opposite sign, and the cumulative rotation angle c is added or subtracted by 180 degrees , And finally providing a rotation angle with the opposite sign.
제3항에 있어서, 상기 상호 보정을 수행하는 단계는
상기 단말장치가 상기 누적 회전 각도(c)의 값이 Y축의 각도 표현 범위에 포함되는 경우, 상기 단말장치의 움직임에 대한 인식 값을 동일 부호로 판단하고, 상기 누적 회전 각도(c)를 유지하여 회전 각도를 제공하며,
상기 누적 회전 각도(c)의 값이 X축의 각도 표현 범위에 포함되는 경우, 상기 단말장치의 움직임에 대한 인식 값을 동일 부호로 판단하고, X축 부호 표현 범위에 따른 상기 누적 회전 각도(c)를 제공하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
4. The method of claim 3, wherein performing the mutual correction comprises:
If the terminal device determines that the value of the cumulative rotation angle c is included in the angle expression range of the Y axis, the terminal device determines the recognition value of the movement of the terminal device to be the same sign, and maintains the cumulative rotation angle c Provides a rotation angle,
(C) according to the X-axis code representation range when the value of the cumulative rotation angle (c) is included in the angle expression range of the X-axis, And a plurality of sensor value mutual correction methods.
제1항에 있어서, 상기 상호 보정을 수행하는 단계는
상기 단말장치가 센서의 개수가 n개인 경우, n개의 센서를 복수 개씩 비교하여 조합 연산을 적용한 누적 회전 각도(c)를 획득하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
2. The method of claim 1, wherein performing the mutual correction comprises:
Wherein when the number of sensors is n, the terminal device compares a plurality of n sensors and obtains an accumulated rotation angle c obtained by applying a combination operation.
제6항에 있어서, 상기 상호 보정을 수행하는 단계는
상기 단말장치가 상기 획득된 누적 회전 각도(c)의 값들의 부호를 확인하여 같은 부호를 갖는 값이 다른 부호와 비교하여 상대적으로 많은 부호들에 대한 평균 값으로 계산하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
7. The method of claim 6, wherein performing the mutual correction comprises:
Wherein the terminal device checks the sign of the values of the obtained cumulative rotation angle (c) and compares the value having the same sign with another code and calculates the mean value of the relatively many codes. Value mutual correction method.
제6항에 있어서, 상기 상호 보정을 수행하는 단계는
단말장치가 상기 획득된 누적 회전 각도(c) 중 동일한 부호를 가지는 값들이 복수 개의 같은 수로 존재하는 경우, 각각의 값에 사용된 센서들의 가중치 중 가장 높은 가중치를 추출하고, 각 값들에 대해 가중치 크기를 같은 부호들 별로 합산한 후 비교하고, 비교 결과에 따라 합산된 가중치가 큰 값을 최종 값으로 결정하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
7. The method of claim 6, wherein performing the mutual correction comprises:
When the terminal device has the same number of the same cumulative rotation angle (c) as the obtained cumulative rotation angle (c), the highest weight among the weights of the sensors used for the respective values is extracted, And the weighted sum value is determined as the final value based on the result of the comparison.
제1항에 있어서, 상기 상호 보정을 수행하는 단계 이후에,
상기 단말장치가 상기 상호 보정에 의한 회전 각도를 반영하여 특정 어플리케이션에 대한 동작 인식을 수행하는 단계;
를 더 포함하는 것을 특징으로 하는 복수의 센서 값 상호 보정 방법.
2. The method of claim 1, wherein, after performing the mutual correction,
The terminal device performing an operation recognition for a specific application by reflecting a rotation angle by the mutual correction;
Further comprising the steps of:
단말장치의 움직임이 감지되면, n개의 센서를 통해 각각의 센서 값을 수집하는 센서모듈;
상기 수집된 센서 값을 연산하여 X, Y, Z 축에 대한 각도를 계산하는 각도 계산모듈;
상기 센서 값에 대응하는 각도 범위를 비교하여 각각의 센서 값에 대한 각도 부호를 확인하는 각도 부호 확인모듈;
각도 부호가 다른 경우, 하나의 각도에 일정 값을 더하여 동일한 각도 부호로 변환하는 각도 부호 변환모듈; 및
상기 센서 값의 각도에 각각의 센서 별로 기 설정된 가중치를 부여하여 상호 보정을 수행하는 상호 보정 수행모듈;
을 포함하는 것을 특징으로 하는 단말장치.
A sensor module for collecting sensor values through n sensors when movement of the terminal device is detected;
An angle calculation module for calculating the angle of the X, Y, and Z axes by calculating the sensor values;
An angle code verification module for comparing angle ranges corresponding to the sensor values and identifying angle codes for the respective sensor values;
An angle code conversion module for adding a constant value to one angle and converting the angle code into the same angle code when the angle code is different; And
A mutual correction performing module for performing mutual correction by assigning predetermined weights to the angles of the sensor values for respective sensors;
And a terminal device.
제10항에 있어서, 상기 센서모듈은
상기 단말장치의 움직임을 감지하기 위하여 지자기 센서, 가속도 센서, 자이로 센서 중 하나 이상을 포함하는 것을 특징으로 하는 단말장치.
11. The sensor module according to claim 10, wherein the sensor module
And at least one of a geomagnetic sensor, an acceleration sensor, and a gyro sensor for detecting movement of the terminal device.
제1항 내지 제9항 중 적어도 하나의 항에 기재된 복수의 센서 값 상호 보정 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium recording a program for executing the plurality of sensor value mutual correction methods described in any one of claims 1 to 9.
KR1020140086850A 2014-07-10 2014-07-10 Method for mutual revising sensor value of plural and apparatus thereof KR101556504B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140086850A KR101556504B1 (en) 2014-07-10 2014-07-10 Method for mutual revising sensor value of plural and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140086850A KR101556504B1 (en) 2014-07-10 2014-07-10 Method for mutual revising sensor value of plural and apparatus thereof

Publications (1)

Publication Number Publication Date
KR101556504B1 true KR101556504B1 (en) 2015-10-02

Family

ID=54341561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140086850A KR101556504B1 (en) 2014-07-10 2014-07-10 Method for mutual revising sensor value of plural and apparatus thereof

Country Status (1)

Country Link
KR (1) KR101556504B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653081B1 (en) 2005-11-25 2006-12-04 삼성전자주식회사 Geomagnetic sensor and azimuth computation method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653081B1 (en) 2005-11-25 2006-12-04 삼성전자주식회사 Geomagnetic sensor and azimuth computation method thereof

Similar Documents

Publication Publication Date Title
US9632169B2 (en) Using inertial navigation for calibration of indoor positioning system
US8874139B2 (en) Position location system and method
KR101946734B1 (en) Lightning detection system, method and device
CN107250727A (en) Determine position of the mobile device in geographic area
CN107534949B (en) Indoor positioning method and equipment
CN105635956B (en) One kind is based on indoor virtually target localization method and device
EP3492868B1 (en) Mobile device localization based on spatial derivative magnetic fingerprint
Marron et al. Multi sensor system for pedestrian tracking and activity recognition in indoor environments
Yeh et al. GETA sandals: a footstep location tracking system
Lee et al. Smartphone-based indoor pedestrian tracking using geo-magnetic observations
US11778419B2 (en) Electronic device detecting location and method thereof
Löchtefeld et al. PINwI: pedestrian indoor navigation without infrastructure
CA3093433A1 (en) Infrastructure characteristics based mobile device navigation
KR101556504B1 (en) Method for mutual revising sensor value of plural and apparatus thereof
US9423252B2 (en) Using clustering techniques to improve magnetometer bias estimation
KR101615135B1 (en) Method for recognition motion of application using sensor and apparatus thereof
KR20160005316A (en) Method for recognition motion using sensor and apparatus thereof
TWI716982B (en) Integrated sensing system and method of using the same
CN107917713A (en) A kind of method, terminal and computer-readable medium for calculating air line distance
TWI707155B (en) Intelligent positioning system
KR20150124627A (en) Method for recognition motion using sensor and apparatus thereof
JP6972761B2 (en) Information processing equipment and programs
Alcázar-Fernández et al. Seamless Mobile Indoor Navigation with VLP-PDR
Barbosa Position reference with direction estimator for indoor location systems
TWM628442U (en) Hybrid indoor positioning system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180830

Year of fee payment: 4