KR100940095B1 - 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스 - Google Patents

포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스 Download PDF

Info

Publication number
KR100940095B1
KR100940095B1 KR1020080024464A KR20080024464A KR100940095B1 KR 100940095 B1 KR100940095 B1 KR 100940095B1 KR 1020080024464 A KR1020080024464 A KR 1020080024464A KR 20080024464 A KR20080024464 A KR 20080024464A KR 100940095 B1 KR100940095 B1 KR 100940095B1
Authority
KR
South Korea
Prior art keywords
value
posture angle
pointer movement
change amount
movement value
Prior art date
Application number
KR1020080024464A
Other languages
English (en)
Other versions
KR20090099300A (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 KR1020080024464A priority Critical patent/KR100940095B1/ko
Publication of KR20090099300A publication Critical patent/KR20090099300A/ko
Application granted granted Critical
Publication of KR100940095B1 publication Critical patent/KR100940095B1/ko

Links

Images

Classifications

    • 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
    • G06F3/0383Signal control means within the pointing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0384Wireless input, i.e. hardware and software details of wireless interface arrangements for pointing devices

Abstract

포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스가 제공된다. 본 발명의 실시예에 따른 3차원 포인팅 디바이스는, 자세 각도를 측정하는 센서 모듈과, 측정된 자세 각도를 처리하여 자세 각도 변화량을 계산하고 포인터 이동 값을 산출하며 자세 각도에 따라 포인터 이동 값을 자세 각도 변화량이 양수일 때와 음수일 때 서로 다르게 보정하는 프로세서와, 프로세서가 처리 작업을 하는데 필요한 프로그램과 데이터를 저장하는 메모리를 포함한다.
3차원 포인팅 디바이스, 관성 센서

Description

포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스{Apparatus for calculating pointer movement value and method for correcting pointer movement value and variation of angle, 3D pointing device using the same}
본 발명은 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스에 관한 것으로, 보다 상세하게는 오차 누적으로 인한 문제점을 제거하고, 포인터의 미세한 떨림을 완화하는 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스에 관한 것이다.
센서(Sensor)란 여러 종류의 물리량을 검출하고 계측하는 기능을 갖춘 소자를 의미한다. 대상이 되는 물리량은 자기(磁氣), 변위(變位), 진동, 가속도, 회전수, 유량(流量), 유속(流速), 액체성분, 가스성분, 가시광(可視光), 적외선, 초음파·마이크로파(波), 자외선, 방사선, 엑스선 등 20여 종에 이르며 각각 쓰이는 재료도 다양하다. 센서의 출력 신호는 전기 신호가 많이 쓰이는데, 그것은 증폭·축적(메모리)·원격조작 등이 쉽고, 뇌에 해당하는 컴퓨터에 입력할 때 취급하기가 쉽기 때문이다.
이러한 센서 중 최근 관성 센서가 다양한 분야에서 광범위하게 활용되고 있다. 관성 센서(Inertial Sensor)란 운동의 관성력을 검출하여 측정 대상인 움직이는 물체의 가속도, 속도, 거리, 각도, 방향, 등 다양한 항법 관련 정보를 제공하는 부품으로서, 인가되는 가속도에 의해 관성체에 작용하는 관성력을 검출한다. 이러한 관성 센서는 에어백, 캠코더, 핸드폰, 게임기, 3차원 포인팅 디바이스 등에서 이용된다.
3차원 포인팅 디바이스란 관성 센서를 이용한 자세 인식을 통하여 컴퓨터의 포인터를 이동시킬 수 있는 기기로서, 기존의 컴퓨터용 마우스를 대체하는 입력 장치이다. 3차원 포인팅 디바이스는 관성 센서를 이용하여 자세 각도를 2차원의 포인팅 움직임으로 매칭하여 공간상의 움직임을 화면에 나타낸다.
이러한 관성 센서를 이용한 3차원 포인팅 디바이스는 다양한 오차가 발생한다. 관성 센서 자체의 노이즈, 측정 오차 등으로 인한 오차뿐만 아니라, 측정된 값을 이용하여 포인터 이동 값을 산출시 적분 등의 연산과정에서 오차가 발생한다.
도 1은 3차원 포인팅 디바이스의 오차 누적으로 인한 문제점을 나타내는 도면이다. 도 1에서와 같이 3차원 포인팅 디바이스(10)의 오차가 누적되는 경우, 3차원 포인팅 디바이스가 과도하게 위쪽 방향을 가리키나 포인터(20)는 화면(30)의 중간에 위치하게 되는 문제점이 발생하였다. 이 경우, 사용자의 손목이 꺾여 사용이 불편하게 되는 문제점이 발생한다. 또한, 오차 누적이 반대로 발생하는 경우 포인터(20)는 화면(30)의 가운데에 위치하나 3차원 포인팅 디바이스(10)가 과도하게 아래쪽 방향을 가리키는 상황도 발생하였다. 마찬가지로, 오차 누적으로 인하여 3차원 포인팅 디바이스(10)가 과도하게 좌측 또는 우측을 가리키는 문제점이 있었다.
또한, 3차원 포인팅 디바이스(10)는 손떨림 등으로 인한 미세한 움직임이 화면(30) 상의 포인터(20)의 떨림 현상으로 나타나는 문제점이 있었다.
본 발명은 상기한 문제점을 개선하기 위해 고안된 것으로, 본 발명이 해결하고자 하는 과제는 3차원 포인팅 디바이스에서 포인터 수직 이동 값을 보정하여 오차 누적으로 인한 문제점을 제거하는 것이다.
본 발명의 또 다른 과제는 미세한 움직임으로 인한 포인터 떨림 현상을 완화하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 3차원 포인팅 디바이스는, 자세 각도를 측정하는 센서 모듈과, 측정된 자세 각도를 처리하여 자세 각도 변화량을 계산하고 포인터 이동 값을 산출하며 3차원 포인팅 디바이스의 자세 각도에 따라 포인터 이동 값을 자세 각도 변화량이 양수일 때와 음수일 때 서로 다르게 보정하는 프로세서와, 프로세서가 처리 작업을 하는데 필요한 프로그램과 데이터를 저장하는 메모리를 포함한다.
상기 과제를 달성하기 위하여, 본 발명의 실시예에 따른 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법은, 3차원 포인팅 디바이스의 자세 각도, 자세 각도에 대한 자세 각도 변화량 및 자세 각도 변화량을 이용하여 계산된 포인터 이동 값을 입력받는 (a) 단계와, 자세 각도가 양수인 임계값 이상이고 자세 각도 변화량이 양수인 경우 포인터 이동 값을 크게 보정하는 (b-1) 단계와, 자세 각도가 양수인 임계값 이상이고 자세 각도 변화량이 음수일 때 포인터 이동 값을 작게 보정하는 (b-2) 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 3차원 포인팅 디바이스의 오차 누적으로 인하여 3차원 포인팅 디바이스가 과도하게 특정 방향을 향하는 문제점을 제거하는 장점이 있다.
둘째, 미세한 움직임으로 인한 포인터 떨림 현상을 완화하는 장점도 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및 자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅 디바이스를 설명하기 위한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스에 대한 블록도이다.
본 발명의 일 실시예에 따른 3차원 포인팅 디바이스(200)는 센서 모듈(210), 프로세서(220), 메모리(230) 및 무선 통신 모듈(240)을 포함한다.
센서 모듈(210)은 자세 각도를 측정하여 출력한다. 센서 모듈(210)은 관성 센서 등의 센서를 이용하여 가속도 또는 각속도를 측정하여, 디지털 신호로 변환하고 이를 이용하여 자세 각도를 산출하여 출력한다. 자세 각도는 3차원 포인팅 디바이스(200)의 피치(pitch) θ, 요(yaw) Ψ 및 롤(roll) Φ 값을 포함한다. 자세 각도는 센서 모듈(210)이 아닌 후술할 프로세서(220)에서 계산될 수 있다.
프로세서(220)는 센서 모듈(210)이 출력한 자세 각도를 처리하여 3차원 포인팅 디바이스(200)의 포인터 이동 값을 산출한다. 또한, 프로세서(220)는 센서 모듈(210)이 측정한 값을 이용하여 자세 각도를 산출하고 이를 처리하여 포인터 이동 값을 산출할 수 있다. 프로세서(220)는 측정된 자세 각도를 처리하여 포인터 이동 값인 (Δx, Δy)을 산출한다. Δx는 포인터 수평 이동 값이고, Δy는 포인터 수직 이동 값이다. 프로세서(220)는 측정된 자세 각도 (θ, Ψ, Φ)에 대한 변화량인 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)을 계산하여 이에 따라, 포인터 이동 값인 (Δx, Δy, ΔΦ)을 산출한다.
프로세서(220)는 자세 각도의 피치 θ 및 피치 변화량 Δθ에 따라, 포인터 이동 값의 포인터 수직 이동 값 Δy에 스케일 팩터 α를 적용시켜 포인터 수직 이동 값 Δy 을 보정한다.
본 발명의 일 실시예에 따르면, 피치 θ가 양수인 임계값 θa 이상이고, 피치 변화량 Δθ가 (+) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy1 = Δy * αa, αa>1
바람직하게는 θa이 30도 일 때, αa은 1.05이다. 또한, 바람직하게는 θa이 20도 일 때, αa은 1.03이다.
또한, 피치 θ가 θa 이상이고, 피치 변화량 Δθ가 (-) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy2 = Δy * αb, αb<1
바람직하게는 θa이 30도 일 때, αb은 0.95이다. 또한, 바람직하게는 θa이 20도 일 때, αb은 0.97이다.
상술한 바와 같이 스케일 팩터를 적용시키면, 3차원 포인팅 디바이스(200)가 θa 이상의 자세에서, 사용자가 포인터를 동일한 거리로 아래쪽으로 이동시킬 때 보다 위쪽으로 이동시킬 때 3차원 포인팅 디바이스(200)를 더 적은 각도로 움직이게 된다. 따라서, 오차 누적으로 인하여 포인터가 화면 상의 가운데 위치할 때, 3차원 포인팅 디바이스(200)가 과도하게 위쪽 방향으로 가리키게 되는 것을 방지한다.
또한, 피치 θ가 음수인 임계값 θb 이하이고, 피치 변화량 Δθ가 (-) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy1 = Δy * αa, αa>1
바람직하게는 θb가 -15도 일 때, αa은 1.05이다. 또한, 바람직하게는 θb가 -5도 일 때, αa은 1.03이다.
피치 θ가 θb 이하이고, 피치 변화량 Δθ가 (+) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy2 = Δy * αb, αb<1
바람직하게는 θb가 -15도 일 때, αb은 0.95이다. 또한, 바람직하게는 αb가 -5도 일 때, αa은 0.97이다.
상술한 바와 같이 스케일 팩터를 적용시키면, 3차원 포인팅 디바이스(200)가 θb 이하의 자세에서, 사용자가 포인터를 위쪽으로 이동시킬 때 보다, 아래쪽으로 이동시킬 때 3차원 포인팅 디바이스(200)를 더 적은 각도로 움직이게 된다. 따라서, 오차 누적으로 인하여 포인터가 화면 상의 가운데 위치할 때, 3차원 포인팅 디바이스(200)가 과도하게 아래쪽 방향으로 가리키게 되는 것을 방지한다.
마찬가지로, 프로세서(220)는 자세 각도의 요 Ψ 및 요 변화량 ΔΨ에 따라, 포인터 이동 값의 포인터 수평 이동 값 Δx에 스케일 팩터 β를 적용시켜 포인터 수평 이동 값 Δx 을 보정할 수 있다.
또한 마찬가지로, 프로세서(220)는 자세 각도의 롤(roll) Φ 및 롤 변화량 ΔΦ에 따라, 포인터 이동 값의 포인터 회전 이동 값 ΔΦ 에 스케일 팩터 β'을 적용시켜 포인터 회전 이동 값 ΔΦ 을 보정할 수 있다.
상술한 포인터 이동 값에 대한 보정은 상술한 바와 같이 3차원 포인팅 디바이스(200) 자체에서 이루어 질 수 있으나, 3차원 포인팅 디바이스가 제어하는 컴퓨터의 드라이버와 같은 소프트웨어에서 이루어 질 수도 있다. 이 경우 상기 프로세서(220)는 컴퓨터의 프로세서에 대응 된다.
프로세서(220)는 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)을 임의의 값으로 곱하거나 나눈 결과값의 절대값이 1 이하인 경우 2제곱 또는 그 이상을 취한다. 프로세서(220)는 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)의 절대값이 1 이하인 경우 2제곱을 취하여 작은 값을 더욱 작게 만들어 포인터의 미세한 떨림 현상을 제거한다. 프로세서(220)는 2제곱을 취하기 전, 변위 값에 일정한 스케일 팩터 γ를 곱하여서 임계값(threshold)을 알맞게 설정하여 주어야 하며 계산 이후에 스케일 팩터 γ를 다시 나누어 준다.
피치 변화량 Δθ을 예로 들면, 다음과 같이 계산된다.
Δθ1 = Δθ * γ
If |Δθ1| < 1, then Δθ2 = Δθ1^ 2
Δθ3 = Δθ2 / γ
프로세서(220)는 2제곱을 취하는 방법 이외에 그 이상의 제곱을 취하거나, 아래와 같은 지수 함수를 취할 수 있다.
Figure 112008019234326-pat00001
Figure 112008019234326-pat00002
다만, 지수 함수는 2제곱이나 3제곱에 비해서 계산량이 크므로 수행속도나 코드 사이즈 측면에서 적절히 선택하여 사용할 수 있다.
메모리(230)는 프로세서(220)가 처리 작업을 하는데 필요한 프로그램과 데이터를 저장한다.
무선 통신 모듈(240)은 프로세서(220)가 처리한 포인터 이동 값을 다른 장치로 전송한다. 무선 통신 모듈(240)은 포인터 이동 값 (Δx, Δy)을 3차원 포인팅 디바이스가 사용되는 개인용 컴퓨터, TV, 게임기기 등의 화면이 있는 장치로 전송한다. 개인용 컴퓨터, TV, 게임기기 등의 화면이 있는 장치에는 USB 등으로 연결되는 무선 수신 모듈(미도시)이 포함되어 수신된 포인터 이동 값을 이용하여 화면 상의 포인터를 이동 시킨다. 전송 방식은 무선 RF, 블루투스 등 다양한 방법이 사용된다.
도 3은 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스의 포인터 이동 값 계산 장치에 대한 블록도이다.
본 발명의 일 실시예에 따른 포인터 이동 값 계산 장치는 자세 각도 입력 모듈(310), 자세 각도 변화량 계산 모듈(320), 자세 각도 변화량 보정 모듈(330), 포인터 이동 값 계산 모듈(340), 포인터 이동 값 보정 모듈(350) 및 포인터 이동 값 출력 모듈(360)을 포함한다.
자세 각도 입력 모듈(310)은 관성 센서등의 센서를 이용하여 측정되어 산출 된 자세 각도를 입력받는다. 상술한 바와 같이 관성 센서를 이용하여 3차원 포인팅 디바이스(200)의 가속도 또는 각속도를 측정하고, 디지털 신호로 변환하여, 자세 각도 (θ, Ψ)를 산출하여 출력되면, 이를 자세 각도 입력 모듈(310)이 입력 받는다.
자세 각도 변화량 계산 모듈(320)은 자세 각도 입력 모듈(310)에 입력된 자세 각도 (θ, Ψ, Φ)에 대한 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)을 계산한다. 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)은 변화된 자세 각도의 차로 계산된다.
자세 각도 변화량 보정 모듈(330)은 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)을 임의의 값으로 곱하거나 나눈 결과값의 절대값이 1 이하인 경우 2제곱 또는 그 이상을 취한다. 자세 각도 변화량 보정 모듈(330)은 자세 각도 변화량 (Δθ, ΔΨ, ΔΦ)의 절대값이 1 이하인 경우 2제곱을 취하여 작은 값을 더욱 작게 만들어 포인터의 미세한 떨림 현상을 제거한다. 자세 각도 변화량 보정 모듈(330)은 2제곱을 취하기 전, 변위 값에 일정한 스케일 팩터 γ를 곱하여서 임계값(threshold)을 알맞게 설정하여 주어야 하며 계산 이후에 스케일 팩터 γ를 다시 나누어 준다.
피치 변화량 Δθ을 예로 들면, 다음과 같이 계산된다.
Δθ 1= Δθ * γ
If |Δθ1| < 1, then Δθ2 = Δθ1^2
Δθ3 = Δθ2 / γ
자세 각도 변화량 보정 모듈(330)은 2제곱을 취하는 방법 이외에 3제곱을 취 하거나, 아래와 같은 지수 함수를 취할 수 있다.
Figure 112008019234326-pat00003
Figure 112008019234326-pat00004
다만, 지수 함수는 2제곱이나 3제곱에 비해서 계산량이 크므로 수행속도나 코드 사이즈 측면에서 적절히 선택하여 사용할 수 있다.
포인터 이동 값 계산 모듈(340)은 자세 각도 변화량 보정 모듈(330)에서 보정된 자세 각도 변화량 (Δθ, ΔΨ)을 이용하여 포인터 이동 값 (Δx, Δy)을 계산한다. 포인터 이동 값 (Δx, Δy)을 계산하는 방법은 다양한 방법이 존재하며, 이 경우, 간단하게는 다음과 같이 계산된다.
Δx = Kx * ΔΨ
Δy = Ky * Δθ
여기서, Kx 및 Ky는 각각의 축에 대한 소정의 이득(gain)이다.
포인터 이동 값 보정 모듈(350)은 자세 각도의 피치 θ 및 피치 변화량 Δθ에 따라, 포인터 이동 값의 포인터 수직 이동 값 Δy에 스케일 팩터 α를 적용시켜 포인터 수직 이동 값 Δy 을 보정한다.
본 발명의 일 실시예에 따르면, 3차원 포인팅 디바이스의 피치각이 양수인 임계값 θa 이상이고, 피치 변화량 Δθ가 (+) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy1 = Δy * αa, αa>1
바람직하게는 θa이 30도 일 때, αa은 1.05이다. 또한, 바람직하게는 θa이 20도 일 때, αa은 1.03이다.
또한, 양수인 임계값 θa 이상이고, 피치 변화량 Δθ가 (-) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy2 = Δy * αb, αb<1
바람직하게는 θa이 30도 일 때, αb은 0.95이다. 또한, 바람직하게는 θa이 20도 일 때, αb은 0.97이다.
상술한 바와 같이 스케일 팩터를 적용시키면, 3차원 포인팅 디바이스(200)가 θa 이상의 자세에서, 사용자가 포인터를 아래쪽으로 이동시킬 때 보다, 위쪽으로 이동시킬 때 3차원 포인팅 디바이스(200)를 더 적은 각도로 움직이게 된다. 따라서, 오차 누적으로 인하여 포인터가 화면 상의 가운데 위치할 때, 3차원 포인팅 디바이스(200)가 과도하게 위쪽 방향으로 가리키게 되는 것을 방지한다.
또한, 피치 θ가 음수인 임계값 θb 이하이고, 피치 변화량 Δθ가 (-) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy1 = Δy * αa, αa>1
바람직하게는 θb가 -15도 일 때, αa은 1.05이다. 또한, 바람직하게는 θb가 -5도 일 때, αa은 1.03이다.
피치 θ가 θb 이하이고, 피치 변화량 Δθ가 (+) 값을 갖는 경우, 다음과 같이 스케일 팩터를 적용시킨다.
Δy2 = Δy * αb, αb<1
바람직하게는 θb가 -15도 일 때, αb은 0.95이다. 또한, 바람직하게는 αb가 -5도 일 때, αa은 0.97이다.
상술한 바와 같이 스케일 팩터를 적용시키면, 3차원 포인팅 디바이스(200)가 θb 이하의 자세에서, 사용자가 포인터를 위쪽으로 이동시킬 때 보다, 아래쪽으로 이동시킬 때 3차원 포인팅 디바이스(200)를 더 적은 각도로 움직이게 된다. 따라서, 오차 누적으로 인하여 포인터가 화면 상의 가운데 위치할 때, 3차원 포인팅 디바이스(200)가 과도하게 아래쪽 방향으로 가리키게 되는 것을 방지한다.
마찬가지로, 포인터 이동 값 보정 모듈(350)은 자세 각도의 요 Ψ 및 요 변화량 ΔΨ에 따라, 포인터 이동 값의 포인터 수평 이동 값 Δx에 스케일 팩터 β를 적용시켜 포인터 수평 이동 값 Δx 을 보정할 수 있다.
또한 마찬가지로, 포인터 이동 값 보정 모듈(350)은 자세 각도의 롤(roll) Φ 및 롤 변화량 ΔΦ 에 따라, 포인터 이동 값의 포인터 회전 이동 값 ΔΦ 에 스케일 팩터 β'을 적용시켜 포인터 회전 이동 값 ΔΦ 을 보정할 수 있다.
포인터 이동 값 출력 모듈(360)은 계산되고 보정된 포인터 이동 값 (Δx, Δ y)을 출력한다. 출력된 포인터 이동 값 (Δx, Δy)을 이용하여 컴퓨터는 포인터를 이동시킨다.
상술한 각 모듈은 하드웨어 또는 소프트웨어의 구성 요소를 의미하며, 3차원 포인팅 디바이스(200) 자체에서 실행될 수도 있고, 3차원 포인팅 디바이스가 제어하는 컴퓨터의 드라이버와 같은 소프트웨어에서 실행될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법을 나타내는 순서도이다.
피치 θ, 피치 변화량 Δθ 및 포인터 수직 이동 값 Δy이 입력된다(S410). 피치 θ, 피치 변화량 Δθ 및 포인터 수직 이동 값 Δy은 3차원 포인팅 디바이스(200)의 센서 모듈(210)에서 측정된 값을 이용하여 프로세서(220)에서 산출되어 입력된다. 여기서, 피치 변화량 Δθ은 0이 아닌 양 또는 음의 값을 갖는다.
피치 θ가 양수인 임계값 θa 이상인지 판단한다(S420). 피치 θ가 양수인 임계값 θa 이상인 경우 피치 변화량 Δθ이 (+)값인지 판단한다(S430).
피치 변화량 Δθ이 (+)인 경우, 포인터 수직 이동 값 Δy1 = Δy * αa, αa>1으로 보정된다(S440). 바람직하게는 θa이 30도 일 때, αa은 1.05이다. 또한, 바람직하게는 θa이 20도 일 때, αa은 1.03이다. 보정된 포인터 수직 이동 값 Δy1은 출력된다(S460).
S430 단계에서 피치 변화량 Δθ이 (-)인 경우, 포인터 수직 이동 값 Δy 은 Δy2 = Δy * αb, αb<1으로 보정되고(S450), 보정된 포인터 수직 이동 값 Δy2은 출력된다(S450). 바람직하게는 θa이 30도 일 때, αb은 0.95이다. 또한, 바람직하게는 θa이 20도 일 때, αb은 0.97이다.
S420 단계에서 피치 θ가 양수인 임계값 θa 이상이 아닌 경우, 피치 θ가 음수인 임계값 θb 이하인지 판단한다(S470).
피치 θ가 음수인 임계값 θb 이하인 경우 피치 변화량 Δθ이 (-)값인지 판단한다(S480).
피치 변화량 Δθ이 (-)인 경우, 포인터 수직 이동 값 Δy은 Δy1 = Δy * αa, αa>1으로 보정된다(S440). 바람직하게는 θb가 -15도 일 때, αa은 1.05이다. 또한, 바람직하게는 θb가 -5도 일 때, αa은 1.03이다. 보정된 포인터 수직 이동 값 Δy1은 출력된다(S460).
S480 단계에서 피치 변화량 Δθ이 (-)가 아닌 경우, 포인터 수직 이동 값 Δy2 = Δy * αb, αb<1으로 보정되고(S450), 보정된 포인터 수직 이동 값 Δy2은 출력된다(S450). 바람직하게는 θb가 -15도 일 때, αb은 0.95이다. 또한, 바람직하게는 αb가 -5도 일 때, αa은 0.97이다.
S470 단계에서 피치 θ가 -10도 이하가 아닌 경우, 포인터 수직 이동 값 Δy 은 그대로 출력된다(S460).
상술한 각 단계는 자세 각도의 요 Ψ 및 요 변화량 ΔΨ에 따라, 포인터 이동 값의 포인터 수평 이동 값 Δx에 스케일 팩터 β를 적용시켜 포인터 수평 이동 값 Δx 을 보정하는 3차원 포인팅 디바이스의 포인터 수평 이동 값 보정 방법에도 적용될 수 있다.
또한, 상술한 각 단계는 자세 각도의 롤(roll) Φ 및 롤 변화량 ΔΦ 에 따라, 포인터 이동 값의 포인터 회전 이동 값 ΔΦ 에 스케일 팩터 β'을 적용시켜 포인터 회전 이동 값 ΔΦ 을 보정하는 3차원 포인팅 디바이스의 포인터 회전 이동 값 보정 방법에도 적용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 자세 각도 변화량 보정 방법을 나타내는 순서도이다.
자세 각도 변화량 중 피치 변화량 Δθ이 입력된다(S510). 자세 각도 변화량 중 요 변화량 ΔΨ 또는 롤 변화량 ΔΦ이 입력되어도 이하 동일한 방법으로 보정이 된다.
입력된 피치 변화량 Δθ에 스케일 팩터 γ를 곱한다(S520). 스케일 팩터가 곱해진 피치 변화량 Δθ의 절대값이 1보다 작은지 판단한다(S530).
피치 변화량 Δθ의 절대값이 1보다 작은 경우, 피치 변화량 Δθ을 2제곱 또는 그 이상을 취한다(S540). 피치 변화량 Δθ의 절대값이 1보다 큰 경우, 피치 변화량 Δθ을 그대로 출력한다(S560).
2제곱을 취하는 방법 이외에 3제곱을 취하거나, 아래와 같은 지수 함수를 취할 수 있다.
Figure 112008019234326-pat00005
Figure 112008019234326-pat00006
다만, 지수 함수는 2제곱이나 3제곱에 비해서 계산량이 크므로 수행속도나 코드 사이즈 측면에서 적절히 선택하여 사용할 수 있다.
2제곱이 취해진 피치 변화량 Δθ을 스케일 팩터 γ로 나누어(S550), 보정된 피치 변화량 Δθ을 출력한다(S560).
본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 3차원 포인팅 디바이스의 오차 누적으로 인한 문제점을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스에 대한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스의 포인터 이동 값 계산 장치에 대한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법을 나타내는 순서도이다.
도 5는 본 발명의 일 실시예에 따른 자세 각도 변화량 보정 방법을 나타내는 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
200: 3차원 포인팅 디바이스 210: 센서 모듈
220: 프로세서 230: 메모리

Claims (10)

  1. 자세 각도를 측정하는 센서 모듈;
    상기 측정된 자세 각도를 기초로 자세 각도 변화량을 계산하고 포인터 이동 값을 산출하며 상기 측정된 자세 각도에 따라 상기 포인터 이동 값을 상기 자세 각도 변화량이 양수일 때와 음수일 때 서로 다르게 보정하는 프로세서; 및
    상기 프로세서가 처리 작업을 하는데 필요한 프로그램과 데이터를 저장하는 메모리를 포함하는 3차원 포인팅 디바이스.
  2. 제 1 항에 있어서,
    상기 프로세서는 상기 3차원 포인팅 디바이스의 자세 각도가 양수인 임계값 이상인 경우 상기 자세 각도 변화량이 양수일 때 상기 포인터 이동 값을 크게 보정하며 상기 자세 각도 변화량이 음수일 때 상기 포인터 이동 값을 작게 보정하는 3차원 포인팅 디바이스.
  3. 제 1 항에 있어서,
    상기 프로세서는 상기 자세 각도가 음수인 임계값 이하인 경우 상기 자세 각도 변화량이 음수일 때 상기 포인터 이동 값을 크게 보정하며 상기 자세 각도 변화량이 양수일 때 상기 포인터 이동 값을 작게 보정하는 3차원 포인팅 디바이스.
  4. 제 1 항에 있어서,
    상기 프로세서는 상기 3차원 포인팅 디바이스의 자세 각도 변화량에 스케일 팩터를 곱한 결과값의 절대값이 1보다 작은 경우, 상기 결과값의 절대값이 작아지도록 상기 결과값을 보정한 후에 상기 스케일 팩터를 나누어 포인터 이동 값을 산출하는 3차원 포인팅 디바이스.
  5. 삭제
  6. 제 4 항에 있어서,
    상기 프로세서는 상기 결과값을 2제곱하는 방법, 3제곱하는 방법 및 지수 함수를 취하는 방법 중 어느 한 방법을 사용하여 상기 결과값의 절대값이 작아지도록 보정하는 3차원 포인팅 디바이스.
  7. 3차원 포인팅 디바이스의 자세 각도, 상기 자세 각도에 대한 자세 각도 변화량 및 상기 자세 각도 변화량을 이용하여 계산된 포인터 이동 값을 입력받는 (a) 단계;
    상기 자세 각도가 양수인 임계값 이상이고 상기 자세 각도 변화량이 양수인 경우 상기 포인터 이동 값을 크게 보정하는 (b-1) 단계;
    상기 자세 각도가 양수인 임계값 이상이고 상기 자세 각도 변화량이 음수일 때 상기 포인터 이동 값을 작게 보정하는 (b-2) 단계를 포함하는 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법.
  8. 제 7 항에 있어서,
    상기 (b-1) 단계는 상기 자세 각도가 음수인 임계값 이하이고 상기 자세 각도 변화량이 음수인 경우 상기 포인터 이동 값을 크게 보정하는 단계를 포함하며,
    상기 (b-2) 단계는 상기 자세 각도가 음수인 임계값 이하이고 상기 자세 각도 변화량이 양수일 때 상기 포인터 이동 값을 작게 보정하는 단계를 포함하는 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법.
  9. 제 7 항에 있어서,
    상기 자세 각도 변화량에 스케일 팩터를 곱한 결과값의 절대값이 1 이하인지 판단하는 단계; 및
    상기 결과값의 절대값이 1 이하인 경우 상기 결과값의 절대값이 작아지도록 상기 결과값을 보정한 후 상기 스케일 팩터를 나누어 상기 포인터 이동 값을 보정하는 단계를 더 포함하는 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법.
  10. 제 9 항에 있어서,
    상기 스케일 팩터를 나누어 상기 포인터 이동 값을 보정하는 단계는
    상기 결과값을 2제곱하는 방법, 3제곱하는 방법 및 지수 함수를 취하는 방법중 어느 한 방법을 사용하여 상기 결과값의 절대값이 작아지도록 하는 단계를 포함하는 3차원 포인팅 디바이스의 포인터 이동 값 보정 방법.
KR1020080024464A 2008-03-17 2008-03-17 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스 KR100940095B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080024464A KR100940095B1 (ko) 2008-03-17 2008-03-17 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080024464A KR100940095B1 (ko) 2008-03-17 2008-03-17 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스

Publications (2)

Publication Number Publication Date
KR20090099300A KR20090099300A (ko) 2009-09-22
KR100940095B1 true KR100940095B1 (ko) 2010-02-02

Family

ID=41357927

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080024464A KR100940095B1 (ko) 2008-03-17 2008-03-17 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스

Country Status (1)

Country Link
KR (1) KR100940095B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101228948B1 (ko) * 2011-06-30 2013-02-07 화인칩스 주식회사 포인팅 장치의 제어방법
KR101956173B1 (ko) 2012-03-26 2019-03-08 삼성전자주식회사 3차원 위치/방향 추정 시스템의 보정 장치 및 방법
KR101637241B1 (ko) * 2015-02-12 2016-07-07 (주)기술과가치 포인팅 디바이스 및 포인터 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543701B1 (ko) 2003-06-17 2006-01-20 삼성전자주식회사 공간형 입력 장치 및 방법
KR20070007951A (ko) * 2004-04-30 2007-01-16 힐크레스트 래보래토리스, 인크. 3d 포인팅 장치 및 방법
JP2008305044A (ja) 2007-06-06 2008-12-18 Sony Corp 入力装置、制御装置、制御システム、制御方法及びそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543701B1 (ko) 2003-06-17 2006-01-20 삼성전자주식회사 공간형 입력 장치 및 방법
KR20070007951A (ko) * 2004-04-30 2007-01-16 힐크레스트 래보래토리스, 인크. 3d 포인팅 장치 및 방법
JP2008305044A (ja) 2007-06-06 2008-12-18 Sony Corp 入力装置、制御装置、制御システム、制御方法及びそのプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:컴퓨터정보학회논문집

Also Published As

Publication number Publication date
KR20090099300A (ko) 2009-09-22

Similar Documents

Publication Publication Date Title
CN106933390B (zh) 惯性技术和超声波相结合的触控笔位姿检测方法及系统
KR101185589B1 (ko) 움직임 감지를 통한 사용자 명령 입력 방법 및 디바이스
US8957909B2 (en) System and method for compensating for drift in a display of a user interface state
KR100711261B1 (ko) 입력 장치의 공간 인식 방법 및 그 장치
JP5407863B2 (ja) 入力装置、制御装置、制御システム及び制御方法
US20130151195A1 (en) System and method for compensating orientation of a portable device
JP5218016B2 (ja) 入力装置およびデータ処理システム
WO2009035124A4 (ja) 入力装置、制御装置、制御システム、制御方法及びハンドヘルド装置
EP1903423A2 (en) Input device and method and medium for providing movement information of the input device
EP2993560B1 (en) Instrument interface for reducing effects of erratic motion
US8395583B2 (en) Input apparatus, control apparatus, control system, control method, and handheld apparatus
CN102289306A (zh) 姿态感知设备及其定位、鼠标指针的控制方法和装置
KR101893601B1 (ko) 디스플레이장치의 입력장치, 디스플레이 시스템 및 그 제어방법
JP2008305044A (ja) 入力装置、制御装置、制御システム、制御方法及びそのプログラム
US20150260750A1 (en) Electronic apparatus and program
US8614671B2 (en) Input apparatus, control apparatus, control system, and control method
KR20090034096A (ko) 오류 보정 장치, 방법 및 이를 이용한 3차원 포인팅디바이스
JP2004288188A (ja) マグネチックセンサを用いたペン型入力システムおよびその軌跡復元方法
KR100940095B1 (ko) 포인터 이동 값 계산 장치, 포인터 이동 값 보정 방법 및자세 각도 변화량 보정 방법, 이를 사용하는 3차원 포인팅디바이스
WO2013029303A1 (zh) 姿态感知设备及其定位、鼠标指针的控制方法和装置
CN112328099A (zh) 低功率指向方法以及实现该指向方法的电子设备
CN108762528B (zh) 适用于空中飞鼠的姿态解算方法
JP2010157106A (ja) 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法
JP2010157157A (ja) 入力装置、制御装置、ハンドヘルド装置、制御システム及び制御方法
KR101185594B1 (ko) 포인팅 디바이스의 더블클릭 수행방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130118

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160107

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 11