KR20180086536A - Method and apparatus for resetting a sensor - Google Patents

Method and apparatus for resetting a sensor Download PDF

Info

Publication number
KR20180086536A
KR20180086536A KR1020160181559A KR20160181559A KR20180086536A KR 20180086536 A KR20180086536 A KR 20180086536A KR 1020160181559 A KR1020160181559 A KR 1020160181559A KR 20160181559 A KR20160181559 A KR 20160181559A KR 20180086536 A KR20180086536 A KR 20180086536A
Authority
KR
South Korea
Prior art keywords
magnitude
threshold value
wearable device
initialization
value
Prior art date
Application number
KR1020160181559A
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 KR1020160181559A priority Critical patent/KR20180086536A/en
Publication of KR20180086536A publication Critical patent/KR20180086536A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to a method for resetting a sensor. The method includes: a step of determining whether the size of an accelerometer component of an apparatus is within a predetermined range of a first threshold value for a predetermined period of time or more; and a step of resetting a sensor fusion algorithm of the apparatus according to a determination result and resetting an angle value of the apparatus. It is possible to minimize errors of a sensor value of a wearable device and to provide higher accuracy in a field such as situation awareness for checking what kind of movement the wearable device performs. It is possible to minimize the errors of the sensor value of the wearable device.

Description

센서 초기화 방법 및 장치{Method and apparatus for resetting a sensor}[0001] The present invention relates to a method and apparatus for initializing a sensor,

본 발명은 센서 초기화 장치에 관한 것으로서, 더욱 상세하게는 센서의 드리프트 때문에 생기는 에러를 웨어러블 장치가 특정 조건에 있을 때 각도값을 초기화함으로써, 웨어러블 장치의 센서값의 오차를 최소화하는 센서 초기화 방법 및 장치에 관한 것이다.The present invention relates to a sensor initializing apparatus, and more particularly, to a sensor initializing method and apparatus for minimizing an error of a sensor value of a wearable device by initializing an angle value when a wearable device is in a specific condition, .

도 1은 사용자의 팔목과 허리에 웨어러블 장치를 부착한 상태를 도시한 도면이다.1 is a view showing a state in which a wearable device is attached to a user's cuff and waist.

도 1을 참조하면, 웨어러블 장치를 팔목과 허리에 부착하고 사용자가 움직이지 않는 경우 X축, Y축 가속도 크기는 0에 가까운 값이 되고, Z축 가속도 크기는 1에 가까운 값이 된다.Referring to FIG. 1, when the wearable device is attached to the cuff and waist and the user does not move, the X-axis and Y-axis acceleration magnitudes become close to zero and Z-axis acceleration magnitudes become close to one.

도 2는 머신 러닝 알고리즘 흐름의 일례를 도시한 것이다.Figure 2 shows an example of a machine learning algorithm flow.

도 2를 참조하면, 머신 러닝 알고리즘은 보통 미리 저장된 훈련 데이터(training data)와 실시간 입력된 센서 데이터를 비교한 후 결과를 도출한다.Referring to FIG. 2, a machine learning algorithm usually compares previously stored training data with real-time input sensor data and then derives the result.

보다 상세하게는 저장된 센서 데이터를 ML(Maximum Likelihood) 알고리즘을 이용하여 훈련 데이터로 변환하고, 실시간으로 입력되는 센서 데이터를 ML 알고리즘을 이용하여 변환한 후, 상기 변환된 훈련 데이터와 상기 변환된 센서 데이터를 비교하여 실시간 입력된 센서 데이터가 어떠한 분류에 속하는 것인지 결과를 도출하게 된다.More specifically, the sensor data is converted into training data using a maximum likelihood (ML) algorithm, and the sensor data input in real time is converted using the ML algorithm. Then, the converted training data and the converted sensor data The result of which classification belongs to the real-time input sensor data is derived.

머신 러닝 알고리즘의 일례로서, KNN 알고리즘(K-Nearest Neighbor 알고리즘)은 분류가 되어 있지 않은 실시간 데이터들을 분류된 훈련 데이터들 중 가장 비슷한 속성을 가진 그룹으로 분류해 주는 알고리즘이다.As an example of a machine learning algorithm, the KNN algorithm (K-Nearest Neighbor Algorithm) is an algorithm that classifies unclassified real-time data into groups having the most similar attributes among the classified training data.

각도값의 경우 사용자가 같은 움직임을 하여도 저장된 훈련 데이터와 실시간으로 입력되는 데이터로부터 얻어지는 각도값이 다를 수 있는데, 이는 드리프트와 같은 센서 에러의 누적이 원인이다. 예를 들면, 가속도 미터와 자이로 센서를 포함하는 관성측정장치(IMU, Inertial Measurement Unit)를 사용하여 상황 인지(context awareness)를 하기 위한 훈련 데이터(training data)를 기록할 때, 훈련 데이터로부터 얻은 롤(roll), 피치(pitch), 요(yaw)와 같은 각도의 절대값들이 사용자들이 장치를 사용하기 시작할 때의 초기각들과 일치하지 않을 수 있다. 이는 시간이 흐름에 따라 드리프트와 같은 센서의 에러가 누적되어 나타나는 것으로 장치를 사용하는 시점의 초기 각도값과 훈련 데이터로부터 얻은 각도값을 일치하도록 할 필요가 있다.For angular values, even if the user moves in the same way, the stored training data may differ from the angular values obtained from the real-time input data due to accumulation of sensor errors such as drift. For example, when recording training data for context awareness using an inertial measurement unit (IMU) including an acceleration meter and a gyro sensor, a roll obtained from training data the absolute values of angles such as roll, pitch, and yaw may not match the initial angles when users start using the device. This means that sensor errors such as drift are accumulated over time, and it is necessary to match the initial angle value at the time of using the device with the angle value obtained from the training data.

따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 센서의 드리프트 때문에 생기는 에러를 웨어러블 장치가 특정 조건에 있을 때 각도값을 초기화함으로써, 웨어러블 장치의 센서값의 오차를 최소화하는 센서 초기화 장치를 제공하는 것이다.SUMMARY OF THE INVENTION Accordingly, a first object of the present invention is to provide a sensor initialization device that minimizes an error of a sensor value of a wearable device by initializing an angle value when a wearable device is in an error condition due to drift of the sensor .

본 발명이 해결하고자 하는 두 번째 과제는 웨어러블 장치가 어떠한 운동을 하는지 인식하는 상황 인지와 같은 영역에서 더 높은 정확성을 제공하는 센서 초기화 방법을 제공하는 것이다.A second problem to be solved by the present invention is to provide a sensor initialization method that provides higher accuracy in a region such as a situation where a wearable device recognizes what kind of movement is performed.

또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.It is another object of the present invention to provide a computer-readable recording medium storing a program for causing a computer to execute the above-described method.

본 발명은 상기 첫 번째 과제를 달성하기 위하여, 일정한 시간 이상 장치의 가속도계 성분의 크기가 제1 임계값의 일정 범위 내인지 판단하는 단계; 및 상기 판단 결과에 따라 상기 장치의 센서 퓨전 알고리즘을 리셋하여 상기 장치의 각도값을 리셋하는 단계를 포함하는 센서 초기화 방법을 제공한다.According to another aspect of the present invention, there is provided a method of controlling an accelerometer comprising: determining whether a magnitude of an accelerometer component of a device is within a predetermined range of a first threshold value for a predetermined period of time; And resetting an angle value of the device by resetting the sensor fusion algorithm of the device according to the determination result.

본 발명의 일 실시 예에 의하면, 중력 벡터의 크기가 제2 임계값의 일정 범위 내인지 판단하는 단계를 더 포함하고, 상기 중력 벡터의 크기가 제2 임계값의 일정 범위 내인지를 더 고려하여 상기 각도값을 리셋할 수 있다.According to an embodiment of the present invention, the method further includes determining whether the magnitude of the gravity vector is within a predetermined range of the second threshold value, further considering whether the magnitude of the gravity vector is within a predetermined range of the second threshold value The angle value can be reset.

또한, 상기 제1 임계값과 상기 제2 임계값은 상기 장치가 정지하고 있을 때의 가속도계 성분의 크기와 중력 벡터의 크기인 것이 바람직하다.The first threshold value and the second threshold value are preferably the magnitude of the accelerometer component and the magnitude of the gravitational vector when the apparatus is stopped.

본 발명은 상기 두 번째 과제를 달성하기 위하여, 웨어러블 장치의 가속도계 성분의 크기를 산출하는 가속도 크기 산출부; 상기 가속도 크기 산출부가 산출한 가속도계 성분의 크기가 일정 시간 동안 제1 임계값의 일정 범위 내인지 판단하는 초기화 판단부; 및 상기 초기화 판단부의 판단에 따라 상기 웨어러블 장치의 각도값을 초기화하는 초기화부를 포함하는 센서 초기화 장치를 제공한다.According to another aspect of the present invention, there is provided a wearable apparatus comprising: an acceleration magnitude calculation unit for calculating a magnitude of an accelerometer component of a wearable device; An initialization determining unit determining whether the magnitude of the accelerometer component calculated by the acceleration magnitude computing unit is within a predetermined range of a first threshold value for a predetermined time; And an initialization unit for initializing the angle value of the wearable device according to the determination of the initialization determination unit.

상기 기술적 과제를 해결하기 위하여, 본 발명은 상기된 센서 초기화 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. According to an aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute the sensor initialization method.

본 발명에 따르면, 센서의 드리프트 때문에 생기는 에러를 웨어러블 장치가 특정 조건에 있을 때 각도값을 초기화함으로써, 웨어러블 장치의 센서값의 오차를 최소화할 수 있다. 또한, 본 발명에 따르면, 웨어러블 장치가 어떠한 운동을 하는지 인식하는 상황 인지와 같은 영역에서 더 높은 정확성을 제공할 수 있다.According to the present invention, it is possible to minimize the error of the sensor value of the wearable device by initializing the angle value when the wearable device is in a certain condition due to the drift of the sensor. Further, according to the present invention, it is possible to provide a higher accuracy in a region such as a situation in which the wearable device recognizes what kind of movement is performed.

도 1은 사용자의 팔목과 허리에 웨어러블 장치를 부착한 상태를 도시한 도면이다.
도 2는 머신 러닝 알고리즘 흐름의 일례를 도시한 것이다.
도 3은 본 발명의 바람직한 일 실시 예에 따른 센서 초기화 장치의 구성도이다.
도 4는 본 발명의 바람직한 일 실시 예에 따른 센서 초기화 방법의 흐름도이다.
도 5는 사용자가 웨어러블 장치를 손목에 착용한 상태에서의 팔의 위치를 나타낸 것이다.
도 6은 사용자가 운동 중인 경우와 사용자가 도 5의 (3)의 위치에 있는 경우에, 가속도 성분을 실제로 측정한 값을 도시한 것이다.
1 is a view showing a state in which a wearable device is attached to a user's cuff and waist.
Figure 2 shows an example of a machine learning algorithm flow.
3 is a configuration diagram of a sensor initialization apparatus according to an embodiment of the present invention.
4 is a flowchart of a sensor initialization method according to an exemplary embodiment of the present invention.
5 shows the position of the arm when the user wears the wearable device on his / her wrist.
Fig. 6 shows a value obtained by actually measuring the acceleration component when the user is in motion and when the user is in the position of Fig. 5 (3).

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, It is to be understood by those of ordinary skill in the art that the present invention is not limited to the above embodiments, but may be modified in various ways.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element. Like reference numerals refer to like elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. In addition, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.

도 3은 본 발명의 바람직한 일 실시 예에 따른 센서 초기화 장치의 구성도이다.3 is a configuration diagram of a sensor initialization apparatus according to an embodiment of the present invention.

도 3을 참조하면, 본 실시 예에 따른 센서 초기화 장치는 가속도 크기 산출부(310), 중력벡터 크기 산출부(320), 초기화 판단부(330), 및 각도 초기화부(340)로 구성된다.Referring to FIG. 3, the sensor initialization apparatus according to the present embodiment includes an acceleration magnitude computing unit 310, a gravity vector magnitude computing unit 320, an initialization determining unit 330, and an angle initializing unit 340.

가속도 크기 산출부(310)는 센서 초기화 장치를 포함하는 웨어러블 장치의 가속도계 성분의 크기를 산출한다.The acceleration magnitude computing unit 310 calculates the magnitude of the accelerometer component of the wearable device including the sensor initialization device.

중력벡터 크기 산출부(320)는 센서 초기화 장치를 포함하는 웨어러블 장치의 중력벡터 성분의 크기를 산출한다.The gravity vector size calculation unit 320 calculates the size of the gravity vector component of the wearable device including the sensor initialization device.

초기화 판단부(330)는 가속도 크기 산출부(310)가 산출한 가속도계 성분의 크기가 일정 시간 동안 제1 임계값의 일정 범위 내인지 판단한다. 또한, 중력벡터 성분의 크기가 제2 임계값의 일정 범위 내인지 판단한다. 이때 제1 임계값의 일정범위와 제2 임계값의 일정범위는 실험적으로 결정되는 값이며, 웨어러블 장치의 주변 환경, 사용하는 어플리케이션에 따라 달라질 수 있다. 뿐만 아니라 제1 임계값과 제2 임계값은 사용자가 임의로 선택하는 것도 가능하다.The initialization determining unit 330 determines whether the magnitude of the accelerometer component calculated by the acceleration magnitude computing unit 310 is within a predetermined range of the first threshold value for a predetermined period of time. Further, it is determined whether the magnitude of the gravity vector component is within a predetermined range of the second threshold value. In this case, a certain range of the first threshold value and a certain range of the second threshold value are experimentally determined, and may vary depending on the environment of the wearable device and the application used. In addition, the first threshold value and the second threshold value can be arbitrarily selected by the user.

초기화 판단부(330)는 가속도계 성분의 크기와 중력벡터 성분의 크기가 각각 제1 임계값과 제2 임계값의 일정범위 내이면, 초기화부(340)로 초기화 신호를 보낸다.The initialization determination unit 330 sends an initialization signal to the initialization unit 340 when the magnitude of the accelerometer component and the magnitude of the gravity vector component are within a predetermined range of the first threshold value and the second threshold value, respectively.

초기화부(340)는 초기화 판단부(330)로부터 초기화 신호를 받으면, 각도값을 초기화한다. 그러나 각도값 외에도 위치값, 속도값 등을 초기화할 수 있다.Upon receiving the initialization signal from the initialization determination unit 330, the initialization unit 340 initializes the angle value. However, in addition to the angle value, the position value, the speed value, and the like can be initialized.

다른 실시 예에 따르면, 웨어러블 장치가 동작을 시작할 때, 이미 지정된 초기값으로 각도값을 초기화한다. 또는 사용자가 특정 모션을 시작할 때 사용자가 수동으로 각도값을 초기화할 수 있다. 상기 웨어러블 장치에 포함된 본 발명의 실시 예에 따른 센서 초기화 장치는 중력 벡터와 가속도 크기를 웨어러블 장치가 동작 하는 동안 계속 체크한다. 특정 시간 동안(예를 들어 최근 0.5초 동안) 중력 벡터와 가속도 크기가 정해진 임계값의 일정 범위 내이면, 본 발명의 실시 예에 따른 센서 초기화 장치는 각도값들을 초기화한다. 이때, 실험적으로 중력벡터 임계값은 0.9로 설정되고, 가속도 크기의 임계값은 1.05로 설정될 수 있다. 이때, 가속도 크기의 임계값은 중력 값을 포함하는 값이다. According to another embodiment, when the wearable device starts its operation, it initializes the angle value to an already designated initial value. Alternatively, the user can manually initialize the angle value when the user starts a certain motion. The sensor initialization device according to the embodiment of the present invention included in the wearable device continuously checks the gravity vector and the acceleration magnitude while the wearable device is operating. If the gravity vector and the acceleration magnitude are within a certain range of the predetermined threshold value for a specific time period (e.g., for the last 0.5 seconds), the sensor initialization device according to the embodiment of the present invention initializes the angle values. At this time, the gravity vector threshold value may be set to 0.9, and the threshold value of the acceleration magnitude may be set to 1.05. At this time, the threshold value of the acceleration magnitude is a value including the gravity value.

본 발명의 일 실시 예에 따른 센서 초기화 장치가 각도값을 초기화하는 동작은 센서의 드리프트 때문에 생기는 비정확도가 높아지기 전에 동작될 만큼 충분히 자주 일어나야 한다. The initialization of the angle value by the sensor initiator according to an embodiment of the present invention must occur frequently enough to operate before the inaccuracy due to the drift of the sensor is increased.

도 4는 본 발명의 바람직한 일 실시 예에 따른 센서 초기화 방법의 흐름도이다.4 is a flowchart of a sensor initialization method according to an exemplary embodiment of the present invention.

도 4를 참조하면, 본 실시 예에 따른 센서 초기화 방법은 도 3에 도시된 센서 초기화 장치에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 센서 초기화 장치에 관하여 이상에서 기술된 내용은 본 실시 예에 따른 센서 초기화 방법에도 적용된다.Referring to FIG. 4, the sensor initialization method according to the present embodiment includes steps that are processed in a time-series manner in the sensor initialization device shown in FIG. Therefore, the contents described above with respect to the sensor initializing device shown in FIG. 3 apply to the sensor initializing method according to the present embodiment, even if omitted below.

본 발명에 따른 센서 초기화 장치는 사용자가 안경, 시계, 신발, 모자, 의복 등과 같이 착용할 수 있는 웨어러블 장치에 포함되어 사용될 수 있다.The sensor initialization device according to the present invention can be used in a wearable device that a user can wear such as a glasses, a watch, a shoe, a hat, clothes, and the like.

상기 웨어러블 장치는 동작을 시작할 때, 이미 정해진 초기값으로 각도값을 설정하여 동작을 시작한다.When the wearable device starts its operation, the wearable device sets an angle value to a predetermined initial value to start the operation.

상기 초기값은 상기 웨어러블 장치의 전원이 꺼지지 직전의 각도값 또는 마지막으로 저장된 각도값이거나 특정 위치에 대응하는 사전에 정해진 각도값일 수 있으나 이에 한정되지 아니한다.The initial value may be an angle value immediately before power-off of the wearable device, a last stored angle value, or a predetermined angle value corresponding to a specific position, but is not limited thereto.

410 단계에서 센서 초기화 장치는 상기 웨어러블 장치가 일정한 시간 이상 가속도계 성분의 크기가 제1 임계값의 일정 범위 내인지 판단한다.In step 410, the sensor initialization device determines whether the size of the accelerometer component is within a predetermined range of the first threshold value for a predetermined time or longer.

예를 들어, 상기 웨어러블 장치가 스마트 워치인 경우 사용자가 특정 시간 동안(예를 들면, 0.5초) 움직이지 않고 어떤 각도로 팔을 둘 때, 가속도계 성분의 크기는 1에 가까운 값이 될 것이다. 이하 도 5를 참조하여 보다 상세하게 살펴보기로 한다.For example, when the wearable device is a smart watch, the magnitude of the accelerometer component will be close to 1 when the user places the arm at an angle without moving for a certain period of time (e.g., 0.5 seconds). Hereinafter, a more detailed description will be given with reference to FIG.

도 5는 사용자가 웨어러블 장치를 손목에 착용한 상태에서의 팔의 위치를 나타낸 것이다.5 shows the position of the arm when the user wears the wearable device on his / her wrist.

도 5를 참조하면, 사용자가 팔을 움직이지 않는다고 하면, (1)의 경우 가속도계의 X값 성분과 Y값 성분은 0에 가까울 것이고, Z값은 1에 가까울 것이다. 한편, (3)의 경우 가속도계의 X값 성분과 Z값 성분은 0에 가까울 것이고, Y값은 1에 가까울 것이다. (2)의 경우는 X값 성분, Y값 성분, Z값 성분의

Figure pat00001
이 1에 가까운 값이 된다. Referring to FIG. 5, if the user does not move the arm, the X value component and the Y value component of the accelerometer in (1) will be close to 0, and the Z value will be close to 1. On the other hand, in (3), the X value component and the Z value component of the accelerometer will be close to 0, and the Y value will be close to 1. (2), the values of the X value component, the Y value component, and the Z value component
Figure pat00001
Is close to 1.

따라서 사용자가 팔을 움직이지 않는 경우는 가속도계의 X값 성분, Y값 성분, Z값 성분의

Figure pat00002
, 즉 가속도 벡터의 크기가 1이 될 것이다. 그러나 센서의 오차를 고려하면, 1의 오차범위 내에 있는 크기값의 경우 사용자가 팔을 움직이지 않고 있다고 판단하여도 무방하다.Therefore, when the user does not move the arm, the X value component, the Y value component, and the Z value component of the accelerometer
Figure pat00002
, That is, the magnitude of the acceleration vector will be 1. However, considering the error of the sensor, it may be determined that the user does not move the arm in the case of the size value within the error range of 1.

한편, 본 발명에 따른 센서 초기화 장치가 사용자가 어느 정도의 시간 동안 가속도 벡터의 크기가 1이어야 사용자의 팔이 움직이지 않는다고 판단하는지 정할 필요가 있다. 실험적으로는 0.5초 동안 가속도 벡터의 크기가 1.05인 경우 사용자의 팔이 움직이지 않는다고 판단하여도 무방하다.Meanwhile, it is necessary for the sensor initialization apparatus according to the present invention to determine, for a certain period of time, whether the size of the acceleration vector is 1 before the user determines that the user's arm does not move. Experimentally, it can be determined that the user's arm does not move when the magnitude of the acceleration vector is 1.05 for 0.5 second.

도 6은 사용자가 운동 중인 경우와 사용자가 도 5의 (3)의 위치에 있는 경우에, 가속도 성분을 실제로 측정한 값을 도시한 것이다.Fig. 6 shows a value obtained by actually measuring the acceleration component when the user is in motion and when the user is in the position of Fig. 5 (3).

도 6을 참조하면, 운동 중인 경우에는 가속도 성분의

Figure pat00003
값은 일정한 값을 갖지 못하고 계속 변하는 반면, 사용자가 손을 아래로 내린 상태로 쉬는 경우에는 0.5초 이상의 시간동안 가속도 성분의 norm 값이 1.05이하인 것으로 나타난다.Referring to FIG. 6, in the case of motion,
Figure pat00003
The value does not have a constant value but keeps changing. On the other hand, when the user rests with his or her hands down, the norm value of the acceleration component is less than 1.05 for a time of 0.5 seconds or more.

한편, 리셋을 위해 사용자가 팔을 움직이지 않는 시간 윈도우에 대응하는 윈도우 크기는 25개의 샘플로 설정된다. 50HZ 센서 ODR(Output Data Rate)에서 25개의 샘플은 0.5초를 의미한다. 이 세팅값은 사용자가 불편함이 없을 정도로 충분히 짧은 시간이고, 우연히 동작하게 되지 않을 정도로 충분히 긴 시간이다. On the other hand, the window size corresponding to the time window in which the user does not move the arm for reset is set to 25 samples. 50 Hz sensor 25 samples in ODR (Output Data Rate) means 0.5 second. This setting value is a sufficiently short time that the user is not inconvenienced, and is sufficiently long enough to prevent accidental operation.

다시 도 4를 참조하면, 410 단계에서 판단 결과 제1 임계값의 일정 범위 내이면 420 단계로 진행하고, 제1 임계값의 일정 범위 내가 아니면 410 단계로 진행한다.Referring again to FIG. 4, if it is determined in step 410 that the first threshold value is within a certain range, step 420 is performed. If the first threshold value is not within the predetermined range, step 410 is performed.

420 단계에서 센서 초기화 장치는 중력 벡터의 크기가 제2 임계값의 일정 범위 내인지 판단한다.In step 420, the sensor initialization device determines whether the magnitude of the gravity vector is within a predetermined range of the second threshold value.

다시 도 5를 참조하면, (1)의 경우에는 Z축 방향 가속도 성분의 크기가 1, 나머지 성분의 크기가 0이고, (3)경우에는 Y축 방향 가속도 성분의 크기가 1, 나머지 성분의 크기가 0이 된다. 따라서 팔이 (1)과 (3)과 같이 특정한 위치에 있는 경우에는 가속도 벡터의 크기를 고려하는 것 외에도 중력방향 벡터의 크기가 1의 일정 오차 범위 내에 있는지 판단하는 것이 바람직하다. 도 6을 참조하면, 실험적으로 상기 제2 임계값으로서 중력방향 벡터의 크기는 0.9 이하인 것이 바람직하나 이에 한정되지 아니한다. Referring again to FIG. 5, in the case of (1), the magnitude of the acceleration component in the Z-axis direction is 1, the magnitude of the remaining component is 0, the magnitude of the acceleration component in the Y- Becomes zero. Therefore, when the arm is at a specific position such as (1) and (3), it is preferable to determine whether the size of the gravity direction vector is within a certain error range of 1, in addition to considering the size of the acceleration vector. Referring to FIG. 6, it is preferable that the magnitude of the gravity direction vector is 0.9 or less as the second threshold value, but it is not limited thereto.

410 단계와 420 단계는 어느 것을 먼저 판단하거나 동시에 판단하여도 무방하며, 420 단계는 필요에 따라 생략될 수도 있다.Steps 410 and 420 may be determined first or simultaneously, and step 420 may be omitted if necessary.

420 단계에서 판단 결과 제2 임계값 범위 내이면 430 단계로 진행하고, 제2 임계값 범위 내가 아니면 410 단계로 진행한다.If it is determined to be within the second threshold value range in step 420, the process proceeds to step 430. Otherwise, the process proceeds to step 410.

430 단계에서 센서 초기화 장치는 상기 웨어러블 장치의 센서 퓨전 알고리즘을 리셋하여 상기 각도값을 리셋한다.In step 430, the sensor initiator resets the sensor fusion algorithm of the wearable device to reset the angle value.

본 발명에 따른 센서 초기화 방법은 사용자가 특정 시간 동안(예를 들면, 0.5초) 움직이지 않고 어떤 각도로 팔을 둘 때, 센서 퓨전 알고리즘(예를 들어, Kalman filter, Madgwick filter 등)을 리셋하여 각도값을 초기화한다. 이러한 방법을 통해 테스트 데이터와 훈련 데이터의 초기값을 일치시킬 수 있다.The sensor initialization method according to the present invention resets the sensor fusion algorithm (e.g., Kalman filter, Madgwick filter, etc.) when the user places his / her arm at an angle without moving for a specific time (for example, Initialize the angle value. In this way, the initial values of the test data and the training data can be matched.

한편, 센서퓨전 알고리즘을 리셋하는 팔의 여러 위치들을 정할 수 있다. 그 중 하나가 도 3에 도시된 (3)의 경우와 같이 팔을 몸에 붙여 아래로 향해 있는 위치이다.On the other hand, you can define several positions of the arm that reset the sensor fusion algorithm. One of them is the position where the arm is attached to the body and is directed downward as in the case of (3) shown in Fig.

본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터,데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.As used in this embodiment, the term " portion " refers to a hardware component such as software or an FPGA (field-programmable gate array) or ASIC, and 'part' performs certain roles. However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided in the components and components may be further combined with a smaller number of components and components or further components and components. In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card.

상술한 모든 기능은 상기 기능을 수행하도록 코딩된 소프트웨어나 프로그램 코드 등에 따른 마이크로프로세서, 제어기, 마이크로제어기, ASIC(Application Specific Integrated Circuit) 등과 같은 프로세서에 의해 수행될 수 있다. 상기 코드의 설계, 개발 및 구현은 본 발명의 설명에 기초하여 당업자에게 자명하다고 할 것이다.All of the functions described above may be performed by a processor such as a microprocessor, a controller, a microcontroller, an application specific integrated circuit (ASIC), etc. according to software or program code or the like coded to perform the function. The design, development and implementation of the above code will be apparent to those skilled in the art based on the description of the present invention.

이상 본 발명에 대하여 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시 예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시 예들을 포함한다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention. You will understand. Therefore, it is intended that the present invention covers all embodiments falling within the scope of the following claims, rather than being limited to the above-described embodiments.

Claims (9)

일정한 시간 이상 장치의 가속도계 성분의 크기가 제1 임계값의 일정 범위 내인지 판단하는 단계; 및
상기 판단 결과에 따라 상기 장치의 센서 퓨전 알고리즘을 리셋하여 상기 장치의 각도값을 리셋하는 단계를 포함하는 센서 초기화 방법.
Determining whether a magnitude of an accelerometer component of the device is within a predetermined range of a first threshold value for a predetermined period of time; And
And resetting the sensor fusion algorithm of the device according to the determination result to reset the angle value of the device.
제1 항에 있어서,
중력 벡터의 크기가 제2 임계값의 일정 범위 내인지 판단하는 단계를 더 포함하고,
상기 중력 벡터의 크기가 제2 임계값의 일정 범위 내인지를 더 고려하여 상기 각도값을 리셋하는 것을 특징으로 하는 센서 초기화 방법.
The method according to claim 1,
Determining whether the magnitude of the gravity vector is within a predetermined range of the second threshold value,
And the angle value is reset considering whether the magnitude of the gravity vector is within a predetermined range of the second threshold value.
제2 항에 있어서,
상기 제1 임계값과 상기 제2 임계값은 상기 장치가 정지하고 있을 때의 가속도계 성분의 크기와 중력 벡터의 크기인 것을 특징으로 하는 센서 초기화 방법.
3. The method of claim 2,
Wherein the first threshold value and the second threshold value are a magnitude of a gravitational vector and a magnitude of an accelerometer component when the apparatus is at a standstill.
제1 항에 있어서,
상기 장치는 웨어러블 장치인 것을 특징으로 하는 센서 초기화 방법.
The method according to claim 1,
Wherein the device is a wearable device.
웨어러블 장치의 가속도계 성분의 크기를 산출하는 가속도 크기 산출부;
상기 가속도 크기 산출부가 산출한 가속도계 성분의 크기가 일정 시간 동안 제1 임계값의 일정 범위 내인지 판단하는 초기화 판단부; 및
상기 초기화 판단부의 판단에 따라 상기 웨어러블 장치의 각도값을 초기화하는 초기화부를 포함하는 센서 초기화 장치.
An acceleration magnitude calculation unit for calculating magnitude of an accelerometer component of the wearable device;
An initialization determining unit determining whether the magnitude of the accelerometer component calculated by the acceleration magnitude computing unit is within a predetermined range of a first threshold value for a predetermined time; And
And an initialization unit for initializing the angle value of the wearable device according to the determination of the initialization determination unit.
제5 항에 있어서,
상기 웨어러블 장치의 중력벡터 성분의 크기를 산출하는 중력벡터 크기 산출부를 더 포함하고,
상기 초기화 판단부는,
상기 중력벡터 크기 산출부가 산출한 중력벡터 성분의 크기가 제2 임계값의 일정 범위 내인지 판단하는 것을 특징으로 하는 센서 초기화 장치.
6. The method of claim 5,
Further comprising a gravity vector magnitude calculation unit for calculating a magnitude of a gravity vector component of the wearable device,
The initialization determination unit may determine,
Wherein the gravity vector magnitude calculating unit determines whether the magnitude of the calculated gravity vector component is within a predetermined range of the second threshold value.
제6 항에 있어서,
상기 제1 임계값과 상기 제2 임계값은 상기 웨어러블 장치가 정지하고 있을 때의 가속도계 성분의 크기와 중력 벡터의 크기인 것을 특징으로 하는 센서 초기화 장치.
The method according to claim 6,
Wherein the first threshold value and the second threshold value are a magnitude of a gravitational vector and a magnitude of an accelerometer component when the wearable device is stopped.
웨어러블 장치의 가속도계 성분의 크기를 산출하는 가속도 크기 산출부;
상기 가속도 크기 산출부가 산출한 가속도계 성분의 크기가 일정 시간 동안 제1 임계값의 일정 범위 내인지 판단하는 초기화 판단부; 및
상기 초기화 판단부의 판단에 따라 상기 웨어러블 장치의 각도값을 초기화하는 초기화부를 포함하는 웨어러블 장치.
An acceleration magnitude calculation unit for calculating magnitude of an accelerometer component of the wearable device;
An initialization determining unit determining whether the magnitude of the accelerometer component calculated by the acceleration magnitude computing unit is within a predetermined range of a first threshold value for a predetermined time; And
And an initialization unit for initializing the angle value of the wearable device according to the determination of the initialization determination unit.
제1 항 내지 제4 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 4.

KR1020160181559A 2016-12-28 2016-12-28 Method and apparatus for resetting a sensor KR20180086536A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160181559A KR20180086536A (en) 2016-12-28 2016-12-28 Method and apparatus for resetting a sensor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160181559A KR20180086536A (en) 2016-12-28 2016-12-28 Method and apparatus for resetting a sensor

Publications (1)

Publication Number Publication Date
KR20180086536A true KR20180086536A (en) 2018-08-01

Family

ID=63227882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160181559A KR20180086536A (en) 2016-12-28 2016-12-28 Method and apparatus for resetting a sensor

Country Status (1)

Country Link
KR (1) KR20180086536A (en)

Similar Documents

Publication Publication Date Title
US10860091B2 (en) Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
CN102246125B (en) Mobile devices with motion gesture recognition
EP3117601B1 (en) Latency reduction in camera-projection systems
KR102347067B1 (en) Portable device for controlling external apparatus via gesture and operating method for same
KR20180020262A (en) Technologies for micro-motion-based input gesture control of wearable computing devices
US11079860B2 (en) Kinematic chain motion predictions using results from multiple approaches combined via an artificial neural network
EP3289435B1 (en) User interface control using impact gestures
US10877562B2 (en) Motion detection system, motion detection method and computer-readable recording medium thereof
US11054917B2 (en) Wearable device and control method, and smart control system
JP6197702B2 (en) Input method, program, and input device
WO2020009715A2 (en) Tracking user movements to control a skeleton model in a computer system
US11029753B2 (en) Human computer interaction system and human computer interaction method
Roshandel et al. Multi-sensor based gestures recognition with a smart finger ring
KR20180086536A (en) Method and apparatus for resetting a sensor
KR20190131740A (en) Method and apparatus for initializing a sensor by resetting the angle of a wearable device
KR20190024025A (en) A wearable device of minimizing the sensor error
KR101870542B1 (en) Method and apparatus of recognizing a motion
KR20190131417A (en) Apparatus for providing macro function using gesture recognition and method thereof
KR20200111074A (en) Method and apparatus for initializing a sensor
US10558270B2 (en) Method for determining non-contact gesture and device for the same
KR20190142676A (en) Method and apparatus for initializing a sensor
US10809797B1 (en) Calibration of multiple sensor modules related to an orientation of a user of the sensor modules
WO2022269985A1 (en) Information processing device, information processing method, and program
KR102346904B1 (en) Method and apparatus for recognizing gesture
TWI748299B (en) Motion sensing data generating method and motion sensing data generating system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
E902 Notification of reason for refusal
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2018101003202; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20180727

Effective date: 20191223