KR102387818B1 - 객체 컨트롤러 - Google Patents

객체 컨트롤러 Download PDF

Info

Publication number
KR102387818B1
KR102387818B1 KR1020170067832A KR20170067832A KR102387818B1 KR 102387818 B1 KR102387818 B1 KR 102387818B1 KR 1020170067832 A KR1020170067832 A KR 1020170067832A KR 20170067832 A KR20170067832 A KR 20170067832A KR 102387818 B1 KR102387818 B1 KR 102387818B1
Authority
KR
South Korea
Prior art keywords
main body
sensor
unit
manipulation unit
value
Prior art date
Application number
KR1020170067832A
Other languages
English (en)
Other versions
KR20180039553A (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 PCT/KR2017/011117 priority Critical patent/WO2018070750A1/ko
Priority to US16/340,914 priority patent/US20190369749A1/en
Priority to CN201780076099.5A priority patent/CN110088712A/zh
Publication of KR20180039553A publication Critical patent/KR20180039553A/ko
Application granted granted Critical
Publication of KR102387818B1 publication Critical patent/KR102387818B1/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • A63F13/235Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console using a wireless connection, e.g. infrared or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/033Indexing scheme relating to G06F3/033
    • G06F2203/0331Finger worn 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

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)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 객체가 이동하거나 회전하는 것을 조작 가능한 객체 컨트롤러에 관한 것이다. 객체의 움직임을 조작 가능한 객체 컨트롤러에 있어서, 본체, 상기 본체와 비접촉되는 조작부, 및 상기 본체에 대한 상기 조작부의 상대적 위치를 기반으로 상기 객체의 움직임을 제어하는 제어부를 포함하는 객체 컨트롤러가 개시된다.

Description

객체 컨트롤러 {OBJECT CONTROLLER}
본 발명은 객체 컨트롤러에 관한 것으로서, 보다 구체적으로는 간편하고 직관적으로 조작할 수 있으며 다양한 객체의 조종에 적합하게 채용될 수 있는 객체 컨트롤러에 관한 것이다.
드론, 무인 비행기, 로봇, 게임기, 모형 자동차 등의 객체를 원격으로 조종하기 위한 컨트롤러가 상용화되어 있다. 일반적으로 원격 조종 컨트롤러는 하나 이상의 아날로그 스틱이나 버튼을 포함하고 있으며, 이러한 스틱이나 버튼을 통해 발생한 조작신호는 컨트롤러는 내부에 장착된 송신기를 통해 제어 대상 객체의 내부의 수신기로 전달된다.
도 1은 기존의 컨트롤러의 실시 예를 보여주는 개념도이다.
도 1을 참조하면, 좌우 양쪽의 스틱을 이용하여 제어 대상 객체의 전후, 좌우 움직임, 좌회전과 우회전, 상승과 하강 등의 움직임을 조종할 수 있다. 그러나, 이러한 조종방식은 직관성이 많이 떨어져, 사용자가 객체를 자유롭게 조종하기 위해서는 많은 연습이 요구된다.
특히, 드론 등을 조종하는 컨트롤러의 경우, 드론의 곡예비행 등 정밀한 컨트롤이 가능하도록 개발됨에 따라 조종방식의 복잡도가 증가하고 있다. 이러한 컨트롤러는 그 조작의 난이성 때문에 다양한 객체의 조종에 적용되기에 적합하지 않은 측면이 있다.
한편, 컴퓨터, 콘솔게임기 등에서 구현되는 컴퓨터 프로그램 내의 오브젝트 또는 객체를 원격으로 제어하기 위한 무선 마우스, 게임 패드, 무브 컨트롤러와 같은 다양한 원격 조종 컨트롤러가 상용화되어 있다. 이러한 컨트롤러는 드론과 같은 물리적인 객체를 조종하는 것은 아니지만, 원격으로 제어 대상 객체의 움직임을 조종한다는 점에서 앞서 도 1을 참조하여 설명한 원격 컨트롤러와 동일하다.
무선 마우스, 게임 패드와 같은 컨트롤러는 여러 다른 형상, 크기 및 디자인에 무관하게 대부분 평탄 표면 상에서 이동하도록 사용자의 손에 파지되고, 사용자의 손목 및/또는 팔의 이동에 의해 조작신호가 산출된다. 특히 무선 마우스의 경우 하단에 장착된 레이저 센서가 표면에 대한 상대적인 이동을 검출하고, 이 변위를 디스플레이 화면 상의 포인터의 조작신호로 산출하여 전달하는 방식을 취한다. 다만 이러한 컨트롤러는 대부분 2차원의 화면 상에서 오브젝트 또는 객체를 조종하는 정도에 그치고 있으며, 2차원의 화면을 벗어나 적용될 수 없다는 한계점을 가진다.
최근 3차원의 공간 상에서 오브젝트 또는 객체를 원격으로 제어하기 위한 동작 인식 컨트롤러가 제안되었고, 가상현실 (VR) 게임 등의 입력장치로 적용되고 있다. 동작 인식 컨트롤러는 사용자의 동작을 감지해 게임 등을 조작할 수 있게 하는 컨트롤러로서, 동작 인식 기능을 갖춘 컨트롤러를 손에 쥐고 이리저리 움직여 조작하는 등의 방식으로 동작하도록 구성된다.
이러한 동작 인식 컨트롤러는 익숙해지기 어려운 종래의 컨트롤러와 달리, 사용자가 잡고 단순히 휘두르기만 해도 게임 등을 즐길 수 있다는 것에 큰 장점이 있기는 하나, 특정 게임 내의 특정 움직임을 수행하는 것 만을 위해 존재하는 컨트롤러가 대부분이다. 또한, 최근 제안된 동작 인식 컨트롤러는 가속도계 센서, 자이로스코프 센서와 같은 공지의 센서들이 조합되어 작동하는 것에 그치고 있기 때문에, 미세하고도 정밀한 동작을 제어하기에는 한계가 있을 뿐만 아니라 다양한 객체의 조종에 표준화하여 적용할 수 없다는 문제점이 있다.
따라서 컨트롤러의 활용 분야가 확대됨에 따라, 컨트롤러의 조작에 대한 별도의 교육을 받지 않은 사람들도 보다 간편하고 직관적으로 조작할 수 있으며, 다양한 객체의 조종에 적합하게 채용될 수 있는 객체 컨트롤러에 대한 필요성이 대두되고 있다.
본 발명은 상기와 같은 연구과정에서 안출된 것으로서, 사용자가 두 손으로 파지한 상태에서 조종하지 않아도 되고, 한 손으로 쉽게 조작할 수 있는 객체 컨트롤러를 제공하기 위한 것이다.
또한, 보다 간편하고 직관적으로 조작할 수 있으며, 다양한 객체의 조종에 적합하게 채용될 수 있는 객체 컨트롤러를 제공하기 위함이다.
본 발명의 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 객체 컨트롤러는, 객체의 움직임을 조작 가능한 객체 컨트롤러에 있어서, 본체, 상기 본체와 비접촉되는 조작부, 및 상기 본체에 대한 상기 조작부의 상대적 위치를 기반으로 상기 객체의 움직임을 제어하는 제어부를 포함한다.
본 발명의 다른 특징에 따르면, 상기 본체는, 사용자가 상기 본체를 용이하게 파지 가능하게 형성될 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체의 상부에는 디스플레이가 배치되고, 상기 디스플레이는 상기 조작부의 위치 및 진행 방향에 대해 디스플레이 할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체의 상부는 외부를 향해 돌출되어 지지면을 형성할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 조작부는 상기 지지면 상에 지지되어 이동가능하며, 상기 지지면은 상기 본체의 중심부를 향해 일정한 압력이상으로 가압되었을 때 누름조작 될 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체는, 상기 본체의 상부의 둘레를 따라 상기 지지면 상에 돌출되는 이탈방지턱을 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체는, 상기 조작부와 상기 본체 사이의 상대적 위치에 따른 조작 이외의 객체에 대한 다른 제어를 가능하도록 신호를 입력 가능한 사용자 입력부를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 사용자 입력부에 입력되는 기 설정된 사용자의 입력에 기반하여, 상기 조작부 및 상기 본체의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 본체에 대한 상기 조작부의 상대적 초기 위치를 설정한 후, 기 설정된 입력에 따라 상기 상대적 초기 위치를 기준으로 이동하는 상기 조작부의 움직임에 대해서 X축, Y축 및 Z축 중 적어도 하나의 축에 대한 선형적인 캘리브레이션(Calibration)을 수행하고 이를 저장할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 초기 위치 설정값 및 상기 캘리브레이션 수행으로 인한 기준값을 기준으로 상기 조작부와 상기 본체의 일측과의 상대위치를 기반하여 상기 객체를 이동시키는 신호를 발생할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 조작부와 상기 본체의 일측과의 변위되는 정도를 2 이상의 영역으로 나누거나 선형적으로 받아들여, 상기 조작부가 상기 각 영역 중 하나의 영역에 위치하는 경우에는 상기 객체를 변위시키는 크기가 동일한 신호를 발생 시킬 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 조작부의 X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위 이상일 경우, 객체의 상기 다른 두 개의 축의 변위값을 0로 설정할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 사용자 입력부에 대한 기 설정된 사용자의 입력에 기반하여, 상기 각 영역에서 발생하는 상기 객체를 변위시키는 크기에 대한 비율을 높이거나 줄일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 사용자가 상기 객체가 제어되는 신호의 크기를 용이하게 파악할 수 있도록, 상기 객체를 제어하도록 발생시키는 신호에 따라 서로 다른 청각, 시각 및 촉각 중 적어도 하나의 신호를 발생시킬 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 조작부와 상기 본체의 상부가 기 설정된 변위 이상으로 벗어나거나 상기 본체가 기 설정된 압력 이상의 외력을 받게 되면, 상기 객체가 현재 있는 그 자리에서 유지하도록 하는 신호를 발생시킬 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체는, 상기 조작부를 수납할 수 있는 수납공간을 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 수납공간은, 상기 본체의 내부에 상기 조작부를 수납하도록 형성되거나, 상기 본체의 외부에 상기 조작부를 착탈 가능하게 끼워넣도록 형성될 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체는, 조작시 상기 조작부가 상기 본체로부터 이탈되지 않도록, 상기 본체의 상부면에 상기 조작부와 결합가능한 연결부재를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 사용자 입력부는, 스크롤 버튼, 휠버튼, 슬라이드 버튼 및 누름 버튼 중 적어도 하나를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 사용자 입력부에 기 설정된 사용자의 입력이 가해지는 것에 기반하여 상기 객체를 회전시키는 신호를 발생시킬 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 조작부는, 사용자의 손가락에 착탈가능하도록, 사용자의 손가락 중 어느 하나에 착탈되도록 복원력을 이용하여 사용자의 손가락을 압박하며 손가락에 홀딩되는 홀딩수단, 사용자의 손가락의 굵기에 맞추어 조여짐이 가능한 조임수단 및 손가락이 삽입가능한 끼움수단 중 적어도 하나를 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 객체에 대한 정보, 제어 신호에 대한 정보 및 본체의 설정에 대한 신호를 외부 단말기와 송, 수신 가능한 통신모듈을 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 본체는, 객체에 대한 정보, 제어 신호에 대한 정보 및 본체의 설정에 대한 신호를 표시 가능한 디스플레이를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 기 설정된 사용자의 입력에 기반하여, 새로운 객체에 대한 제어가 가능하도록 다른 객체와 통신할 수 있도록 본체의 제어 신호를 설정하는 싱크(Sync) 기능을 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 객체는 드론, 무인 비행기, 유인 비행기, 게임기, 컴퓨터 프로그램 내의 오브젝트 및 자동차 중 적어도 하나일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 객체 컨트롤러는 포지션 센서를 이용하여 상기 본체에 대한 상기 조작부의 상대적 위치를 검출할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 조작부와의 상대적 위치에 따른 센서값을 출력하는 적어도 하나의 센서를 더 포함하고, 상기 제어부는, 상기 센서로부터 획득한 센서값을 기초로 상기 본체에 대한 상기 조작부의 상대적 위치를 산출할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 센서로부터 획득한 센서값과, 상기 조작부가 특정 위치에 위치할 때 센서에서 출력된 센서값을 포함하도록 미리 작성된 테이블을 기초로 상기 본체에 대한 상기 조작부의 상대적인 위치를 산출할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 테이블은, 상기 조작부가 특정 위치에 위치할 때의 상기 본체에 대한 상기 조작부의 상대적인 위치값과 상기 위치값에 대응되는 예상 센서값이 매칭된 데이터세트를 복수 개 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 테이블에서, 상기 센서로부터 획득한 센서값과 유사한 예상 센서값을 포함하는 적어도 하나의 유사 데이터세트를 검색하고, 기설정된 기준에 따라 상기 적어도 하나의 유사 데이터세트 중 어느 하나의 유사 데이터세트를 기준 데이터세트로 결정하고, 상기 기준 데이터세트의 위치값을 상기 본체에 대한 상기 조작부의 상대적 위치로 판단할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 데이터세트는 빈도값에 대한 항목을 더 포함하고, 상기 테이블은, 기설정된 위치값을 가지도록 상기 조작부를 센서 상에 위치시켜 그 위치에서 상기 센서로부터 예상 센서값을 복수 회 획득하고, 동일한 위치값에 대한 동일한 예상 센서값이 획득되는 경우, 그 위치값 및 예상 센서값을 포함하는 데이터세트의 빈도값을 증가시키는 방법으로 생성될 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 센서로부터 획득한 센서값과 상기 예상 센서값 사이의 센서값의 유사도를 비교하여 상기 유사 데이터세트를 검색할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 테이블에서, 상대적으로 가능성이 높은 데이터세트를 우선 선별하여 상기 유사 데이터세트를 검색하고, 상기 상대적으로 가능성이 높은 데이터세트는, 이전의 적어도 하나의 시점에서의 상기 본체에 대한 상기 조작부의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 적어도 하나의 데이터세트 또는 기설정된 값보다 높은 빈도값을 포함하는 적어도 하나의 데이터세트일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 유사 데이터세트 중, 이전의 적어도 하나의 시점에서의 상기 본체에 대한 상기 조작부의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 데이터세트를 상기 기준 데이터세트로 검색할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 유사 데이터세트 중, 상기 빈도값이 가장 큰 데이터세트를 기준 데이터세트로 결정할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 센서로부터 획득한 센서값은, 상기 조작부가 특정 위치에 위치한 상태에서 상기 센서로부터 획득한 센서값인 측정센서값에, 상기 조작부가 상기 본체로부터 제거된 상태에서 상기 센서로부터 획득한 센서값인 초기센서값을 반영한 센서값일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 센서로부터 획득한 센서값과 기설정된 수식을 기초로 동일한 자속(magnetic flux)을 갖는 상기 조작부의 상대적인 위치를 판별하고, 상기 조작부와 상기 센서의 틸팅(tilting)각을 한정함으로써, 상기 본체에 대한 상기 조작부의 상대적인 위치를 산출할 수 있다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 컨트롤러의 움직임만으로 3차원 이동 객체의 움직임을 조종할 수 있어, 사용자에게 직관성을 부여할 수 있다는 장점이 있다.
또한, 미세조종이 가능해지며 이동객체 제어의 정확도가 향상될 수 있다는 장점이 있다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
도 1은 종래의 객체 컨트롤러의 실시 예를 보여주는 개략도이다.
도 2는 본 발명의 일 실시예에 따른 객체 컨트롤러를 설명하기 위한 사시도이다.
도 3은 본 발명의 일 실시예에 따른 객체 컨트롤러를 설명하기 위한 블록도이다.
도 4는 도 2의 객체 컨트롤러가 조작부의 인식 영역을 파악하는 것을 설명하기 위한 개념도이다.
도 5a 내지 도 5d는 도 2의 객체 컨트롤러를 이용하여 객체를 컨트롤 하는 조작 방법의 다양한 예들을 설명하기 위한 개념도이다.
도 6a 및 도 6b는 본 발명의 서로 다른 실시예에 따른 객체 컨트롤러에서 조작부가 본체에 수납되는 것을 설명하기 위한 개념도이다.
도 7a 내지 도 7c는 본 발명의 서로 다른 실시예에 따른 객체 컨트롤러를 설명하기 위한 사시도이다.
도 8은 본 발명의 서로 다른 실시예에 따른 조작부를 설명하기 위한 개념도이다.
도 9는 본 발명의 다른 실시예에 따른 객체 컨트롤러를 설명하기 위한 개념도이다.
도 10은 도 2의 객체 컨트롤러가 본체에 대한 조작부의 상대적인 위치를 판단하는 방법을 설명하기 위한 개념도이다.
도 11은 본 발명의 객체 컨트롤러를 이용하여 컨트롤 할 수 있는 객체를 예시적으로 설명하기 위한 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.
구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.
위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 ‘직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치할 수도 있다.
소자 또는 층이 다른 소자 또는 층 위 (on)로 지칭되는 것은 다른 소자 바로 위에 또는 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 도시된 것이며, 본 발명이 도시된 구성의 크기 및 두께에 반드시 한정되는 것은 아니다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 객체 컨트롤러를 설명하기 위한 사시도이다. 도 3은 본 발명의 일 실시예에 따른 객체 컨트롤러를 설명하기 위한 블록도이다.
도 2 및 도 3을 참조하면, 객체 컨트롤러(1000)는 서로 접촉되지 않은 상태에서 조작되는 본체(100), 조작부(200) 및 제어부(300)를 포함한다.
본체(100)는 센서부(110), 사용자 입력부(120), 출력부(130), 통신부(140) 및 저장부(150)를 포함한다. 또한, 본체(100)의 내부에는 제어부(300)가 배치될 수 있다. 한편, 본체(100)의 상부의 표면에는 조작부(200)가 수직 상부에 이격되어 배치되는 영역을 가이드하도록 표식이 식각되어 있을 수 있다.
센서부(110)는 본체(100)의 일면, 구체적으로 본체(100)의 상면에 가까운 내부에 배치될 수 있다. 본체(100)에 배치되는 센서부(110)는 조작부(200)에 포함되는 또 다른 센서와 서로 상대적인 변위를 측정할 수 있다. 제어부(300)는 측정된 변위를 기반으로 객체(10)에 전달할 조작의 신호를 결정할 수 있다.
사용자 입력부(120)는 조작부(200)와 본체(100) 사이의 상대적 위치에 따른 조작 이외의 객체(10)에 대한 다른 제어를 가능하도록 신호를 입력 가능하도록 본체(100)에 배치된다. 구체적으로 사용자 입력부(120)는 조작부(200)와 본체(100)의 상대적인 변위로는 결정되지 않는 객체(10)의 조작 신호를 입력하거나, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호를 칼리브래이션 하거나, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호의 크기 및 비율을 조정하는 역할로 사용될 수 있다. 조작부(200)와 본체(100)의 상대적인 변위로는 결정되지 않는 객체(10)의 조작 신호는 객체(10)의 회전신호 일 수 있다.
한편, 사용자 입력부(120)는 본체(100)의 전면에 사용자의 엄지 손가락이 아닌 다른 손가락들이 배치되도록 형성될 수 있다. 다만, 이에 한정되지 않고 사용자 입력부(120)는 본체(100)의 다른 위치에 형성되거나, 조작부(200)에 형성될 수 있다.
아울러, 사용자 입력부(120)는, 스크롤 버튼, 휠버튼, 슬라이드 버튼 및 누름 버튼 중 적어도 하나를 포함할 수 있다. 도면을 기준으로 가장 위에 있는 버튼이 휠 버튼이고, 그 아래에는 슬라이드 버튼이 있으며, 그 밑에에는 누름 버튼이 있다.
출력부(130)는 제어부(300)에 의해 발생되는 여러가지 신호를 사용자가 인식할 수 있게 출력하는 구성을 의미한다. 객체 컨트롤러(1000)는 출력부(130)를 통해 사용법 등을 가이드하거나, 객체(10)에 전달되는 신호의 종류나 신호의 크기를 사용자에게 인식시키기 위하여 사용될 수 있다. 예를 들어, 출력부(130)는 광을 발산하는 LED 등의 광원, 소리를 출력하는 스피커(131), 본체(100)를 진동시키는 진동모듈 등이 될 수 있다.
한편, 디스플레이(132)는 출력부(130) 중 하나일 수 있다. 디스플레이(132)는 본체(100)에 사용자가 시인 가능하게 배치될 수 있다. 디스플레이(132)는 객체(10)에 대한 정보, 제어 신호에 대한 정보 및 본체(100)의 설정에 대한 신호를 표시 가능하다.
통신부(140)는 객체(10)에 대한 정보, 제어 신호에 대한 정보 및 본체(100)의 설정에 대한 신호를 외부 단말(20)기와 송, 수신 가능하다. 즉, 통신부(140)는 객체 컨트롤러(1000)가 동작을 조작하고자 하는 객체(10)와 통신하거나, 본체(100) 및/또는 객체(10)와 관련된 정보들을 설정하거나 디스플레이(132) 할 수 있는 외부 단말(20)과 통신할 수 있다.
저장부(150)는 제어부(300)에서 측정한 본체(100)와 조작부(200) 사이의 상대적 초기 위치나, 사용자가 조작부(200)를 중심으로 조작 시험을 할 때 측정된 칼리브래이션을 저장할 수 있다. 또한, 저장부(150)는 객체 컨트롤러(1000)가 다른 종류의 객체(10), 예를 들어 드론, 무인 비행기, 유인 비행기, 게임기, 컴퓨터 프로그램 내의 오브젝트 및 자동차 등을 조작할 때 사용될 수 있는 신호 체계, 프로그램 등이 저장되어 있을 수 있다.
본체(100)는 사용자가 한 손으로 파지 가능하도록 형성될 수 있다. 도 2를 참조하면, 사용자는 한 손으로 객체 컨트롤러(1000)를 사용할 수 있다. 구체적으로, 사용자는 엄지손가락에 조작부(200)를 부착시킨 뒤, 나머지 네 손가락과 손바닥을 이용하여 본체(100)를 파지할 수 있다. 사용자는 객체 컨트롤러(1000)에 대한 이러한 파지를 통해 한 손으로 보다 용이하게 객체(10)를 컨트롤 할 수 있다. 한편, 상술한 설명에 한정되는 것은 아니며, 본체(100)를 바닥 등에 배치한 상태에서 조작부(200)를 사용하거나, 본체(100)는 다른 손으로 잡고 다른 한 손으로 조작부(200)를 사용할 수도 있다.
조작부(200)는 본체(100)와 비접촉되어 본체(100)와 이격된 상태에서 움직여질 수 있다. 이 때, 제어부(300)는 본체(100)와 조작부(200)의 상대적인 위치를 기반으로 객체(10)를 움직일 수 있다.
조작부(200)는 사용자의 손에 부착될 수 있다. 구체적으로 도 2를 참조하면, 사용자의 엄지 손가락에 부착될 수 있다. 조작부(200)는 링 형상으로 형성될 수 있으나, 이에 한하지 않고 사용자의 손에 부착될 수 있는 수단이 구비되면 충분하다. 이에 대해서는 도 8을 참조하여 구체적으로 설명한다.
한편, 조작부(200)와 본체(100)와의 상대적 위치는 3D 마그네틱 센서를 이용하여 검출될 수 있다. 구체적으로, 본체(100)에는 3D 마그네틱 센서가 내장되어 있고, 조작부(200)에는 마그네틱이 내장되어 서로의 변위를 파악할 수 있다. 또한, 조작부(200)와 본체(100)와의 상대적 위치를 검출 가능한 포지션 센서는 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 임피던스 센서, 임피던스 센서와 자기 센서에 대한 하이브리드 센서, 하이브리드 센서, 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), 적외선 센서(IR 센서: infrared sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라) 중 적어도 하나일 수도 있다.
이러한 센서를 이용하여 제어부(300)가 본체(100)와 조작부(200)의 상대적인 위치를 판단하는 구체적인 방법은 도 10을 참조하여 후술하도록 한다.
제어부(300)는 본체(100) 내부에 배치되고, 본체(100)에 대한 조작부(200)의 상대적 위치를 기반으로 객체(10)의 움직임을 제어한다.
예를 들어, 제어부(300)는 사용자 입력부(120)에 입력되는 기 설정된 사용자의 입력에 기반하여, 조작부(200) 및 본체(100)의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다. 구체적으로, 사용자마다 손의 크기가 다를 수 있으므로, 조작부(200)를 손가락에 끼운 상태에서 본체(100)를 파지했을 때, 편안하게 조작부(200)가 본체(100) 상부에 놓이는 포인트가 다를 수 있다. 이 경우, 조작부(200)가 놓일 수 있는 곳에 표식이 되어 있지만, 사용자가 이곳에 정확하게 자신의 조작부(200)를 배치시키기 어려울 수 있다. 따라서, 편안한 상태에서 조작부(200)를 본체(100)의 상부에 배치한 상태에서 사용자는 사용자 입력부(120)에 기 설정된 입력을 하면, 제어부(300)는 이 때의 조작부(200)와 본체(100)와의 상대적인 거리를 기본 거리, 즉 상대적 초기 위치로 파악할 수 있다.
또한, 제어부(300)는 본체(100)에 대한 조작부(200)의 상대적 초기 위치를 설정한 후, 기 설정된 입력에 따라 조작부(200)의 X축, Y축 및 Z축 중 적어도 하나의 축에 대해서, 상대적 초기 위치를 기준으로 캘리브레이션(Calibration)을 수행할 수 있다. 구체적으로, 상대적 초기 위치의 상태에서 손가락을 X축, Y축 및 Z축 방향으로 천천히 움직이면, 제어부(300)는 이 때의 변위 및 궤적이 해당 사용자의 변위 및 궤적으로 판단하고 이를 기준으로 제어동작을 판단하게 된다.
한편, 제어부(300)는 조작부(200)와 본체(100)의 상부가 기 설정된 변위 이상으로 벗어나는 경우, 객체(10)가 현재 있는 그 자리에서 유지하도록 하는 유지신호를 발생시킬 수 있다. 구체적으로 사용자가 조작부(200)를 손가락에 착용한 상태에서, 본체(100)가 사용자의 손으로부터 이탈되는 경우가 발생할 수 있다. 본체(100)가 낙하하는 과정에서, 본체(100)와 조작부(200)는 서로 큰 변위로 이격되므로 예를 들어, 드론 조작중이라면, 제어부(300)에서는 이를 드론의 상승신호라고 판단할 수 있게 된다. 이러한 경우를 방지하기 위해, 앞서서 측정한 상대적 초기 위치 및 캘리브레이션된 값에서 기설정된 값 이상을 벗어나게 되는 경우, 객체(10)가 위치하던 자리에서 계속 유지하도록 하는 유지신호, 즉 셧다운신호(Shut-Down)를 발생시킬 수 있다.
또한, 제어부(300)는 기 설정된 사용자의 입력에 기반하여, 새로운 객체(10)에 대한 제어가 가능하도록 다른 객체(10)와 통신할 수 있도록 본체(100)의 제어 신호를 설정하는 싱크(Sync) 기능을 포함할 수 있다. 구체적으로, 새로운 객체(10)(예를 들어, 컴퓨터 프로그램 내의 오브젝트 및 자동차 등)에 객체 컨트롤러(1000)를 싱크시켜 조작가능하게 할 수 있다. 이 때에는 사용자 입력부(120)에 기 설정된 입력을 함으로써, 새로운 객체(10)와 객체 컨트롤러(1000)를 싱크시킬 수 있다.
또한, 제어부(300)는, 기 설정된 사용자 입력이 가해지는 것에 기반하여, 상기 객체(10)가 호버링(hovering) 상태를 유지하도록, 통신부(140)의 전송을 오프(OFF) 상태로 설정할 수 있다.
도 4는 도 2의 객체 컨트롤러가 조작부의 인식 영역을 파악하기 위한 개념도이다.
도 4를 참조하면, 조작부(200)가 본체(100)에 대하여 상대적으로 이동하는 영역을 Y축 방향에 대해서 나눈 것을 알 수 있다. 사용자가 조작부(200)를 착용한 상태에서 조작부(200)를 이동시킬 때, 조작부(200)에 대한 미세한 조정이 어려우므로 이러한 영역을 지정하여, 제어부(300)의 출력을 몇 단계로 나눌 수 있다. 이러한 영역의 분리는 사용자의 조작 미숙이나, 피로도에 의한 오작동의 확률을 줄여준다.
이러한 영역을 설정은 사용자의 칼리브래이션 단계에서 설정될 수 있다. 구체적으로, 사용자마다 손가락의 길이나, 이동에 대한 체감 변위가 다르다. 따라서, 객체 컨트롤러(1000)를 사용시, 상대적 초기 위치를 설정하고, X축, Y축 및 Z축에 대해서 단계적으로 변위를 칼리브래이션하여 저장하는 단계를 거쳐갈 수 있다. 구체적으로 설명하자면 다음과 같다.
사용자가 조작부(200)를 착용한 후, 본체(100)를 파지한다. 그 후에 사용자 입력부(120) 등을 통하여 상대적 초기 위치를 설정한다. 상대적 초기 위치를 설정한 후에 객체 컨트롤러(1000)는 자동으로 X축, Y축 및 Z축에 대해서 단계적으로 변위를 설정하도록 사용자에게 요구할 수 있다. 예를 들어, 객체 컨트롤러(1000)는 사용자에게 “오른쪽으로 1단계 이동하십시오.” 라는 출력을 출력부(130)를 통해서 할 수 있다. 그 후에 “오른쪽으로 2단계 이동하십시오.” 라는 출력을 출력부(130)를 통해서 할 수 있다. 이에 따라, 사용자는 조작부(200)를 오른쪽으로 1단계 이동한다. 그 후에 오른쪽으로 2단계, 즉 1단계보다 더 오른쪽으로 이동한 상태로 조작부(200)를 옮기게 된다. 이러한 과정을 반복하는 등의 방법을 통해서 X축, Y축 및 Z축에 대한 영역을 설정할 수 있다.
다시 한번 설명하면, 사용자의 손의 크기 등에 따라서 제1 영역(310), 제2 영역(320a, 320b) 및 제3 영역(330a, 330b)의 설정이 달라질 수 있다. 따라서, 제어부(300)는 객체 컨트롤러(1000)의 작동 초기에 상대적 초기 위치 설정 및 각 영역에 대한 캘리브레이션을 수행할 수 있다. 이러한 상대적 초기 위치 설정 및 각 영역에 대한 캘리브레이션은 사용자 입력부(120)에 기설정된 신호가 입력되면 이루어 질 수 있다.
즉, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호의 칼리브래이션은 다음과 같다. 제어부(300)는 사용자 입력부(120)에 입력되는 기 설정된 사용자의 입력에 기반하여, 조작부(200) 및 본체(100)의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다. 상대적 초기 위치를 설정한 이후에, 사용자는 조작부(200)의 X축, Y축 및 Z축 중 적어도 하나의 축에 대해서 조작부(200)를 이동시킬 수 있다. 이 때, 센서부(110) 및 제어부(300)는 조작부(200)의 변위를 상대적 초기 위치와 비교하여 캘리브레이션(Calibration)을 수행할 수 있다.
구체적으로 도 4를 참조하면, Y축으로 제1 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 이동시키는 신호가 발생하지 않을 수 있다. 제2 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 기결정된 속도로 이동시키는 신호가 발생된다. 그리고 제3 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 상기 제2 영역에서 발생한 이동 속도보다 더 빠른 속도로 이동시키는 신호가 발생할 수 있다. 이 때, 제어부(300)는 조작부(200)가 각 영역 중 하나의 영역에 위치하는 경우에는 객체(10)를 변위시키는 크기가 동일한 신호를 발생시킬 수 있다. 즉, 제어부(300)는 조작부(200)가 하나의 영역에 위치할 때에는 동일한 크기의 출력으로 객체(10)가 이동할 수 있다.
한편, 이러한 각 축에 대한 영역은 3개의 이상의 영역으로 더 나뉠 수도 있으며, 2개의 영역으로 나뉠 수도 있다. 또한, 복수의 영역으로 나뉘지 않고 Linear하게 설정될 수도 있다.
또한, 제어부(300)는 조작부(200)의 X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위보다 클 경우, 객체(10)의 다른 두 개의 축의 변위값을 0로 설정할 수 있다. 예를 들어, 사용자의 엄지 손가락에 조작부(200)가 부착되어 이동할 때에는 손가락의 관절 및 구조상, 조작부(200)가 X축, Y축 또는 Z축으로 Linear하게 움직이기 어려울 수 있다. 따라서, X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위보다 클 경우, 기 설정된 범위보다 큰 축으로만 객체(10)가 움직이도록 설정될 수 있다.
이 때, 제어부(300)는 캘리브레이션 값을 기준으로 조작부(200)와 본체의 일측과의 변위를 기반하여 객체(10)를 이동시키는 신호를 발생하게 된다. 그러나 이에 한정되지 않고, 캘리브레이션 값 이외에 기준값으로 객체(10)를 이동시키는 신호를 발생시킬 수 있다. 이 때의 기준값은 캘리브레이션 값에 오차범위를 반영하여 새롭게 산출된 값일 수 있다.
도 5a 내지 도 5d는 도 2의 객체 컨트롤러를 이용하여 객체를 컨트롤 하는 조작 방법의 다양한 예들을 설명하기 위한 개념도이다.
먼저 도 5a를 참조하면, 객체 컨트롤러(1000)가 상대좌표 모드로 객체(10)를 이동시키는 모습이 도시되어 있다. 사용자가 조작부(200)를 제1 방향으로 화살표 a의 백터값으로 이동시켰다. 이런 상황에서 객체(10)는 제1 방향으로 a의 벡터값으로 계속하여 이동하고 있다. 이는 객체 컨트롤러(1000)가 상대좌표 모드로 객체(10)를 움직이는 것으로 볼 수 있다.
구체적으로, 객체 컨트롤러(1000)의 조작부(200)는 상대좌표 모드에서 제1 방향으로 a의 거리만큼 이동된다. 이에 따라, 객체(10)는 제1 방향으로 a의 거리의 절대 값에 비례하는 속도(또는, 일정 비율을 적용한 값의 속도)로 이동하게 된다. 즉, 상대좌표 모드에서는 객체(10)는 a의 비례하는 속도로 계속하여 진행하게 된다.
다음으로 도 5b 및 도 5c를 참조하면, 객체 컨트롤러(1000)가 절대좌표 모드로 객체(10)를 이동시키는 모습이 도시되어 있다. 두 경우 모두 사용자가 조작부(200)를 제1 방향으로 화살표 a의 백터값으로 이동시켰다. 이 때, 도 5b에서는 객체(10)가 제1 방향으로 c의 벡터값으로 이동하게 된다. 그리고 도 5c에서는 객체(10)가 제1 방향으로 d의 벡터값으로 이동하게 된다.
우선 절대좌표 모드는 조작부(200)가 이동한 만큼에 해당하는 출력만큼 객체(10)가 이동한 후에는 멈추게 된다. 따라서, 도 5b에서는 객체(10)가 제1 방향으로 c의 벡터값으로 이동한 후 멈추게 된다. 그리고 도 5c에서는 객체(10)가 제1 방향으로 d의 벡터값으로 이동한 후 멈추게 된다.
그리고, 제어부(300)는 사용자 입력부(120)에 대한 기 설정된 사용자의 입력에 기반하여, 각 영역에서 발생하는 객체(10)를 변위시키는 크기에 대한 비율을 높이거나 줄일 수 있다. 구체적으로, 사용자 입력부(120) 중에서 조작부(200)의 상대적 변위에 일정 비율을 적용한 값으로 객체(10)를 이동시키도록 조정할 수 있다. 예를 들어 도 5b의 제2 사용자 입력키(122)를 어느 일 방향으로 밀게 되면, 상대적으로 적은 백터값으로 객체(10)를 움직일 수 있다. 그리고, 도 5c에서는 제2 사용자 입력키(122)를 어느 일 방향으로 밀지 않고 있다. 이러한 경우에는 조작부(200)에서 움직인 거리에 도 5b와 비교하였을 때 상대적으로 큰 값을 곱한 백터값으로 객체(10)가 이동할 수 있다.
다음으로 도 5d를 참조하면, 객체 컨트롤러(1000)를 이용해 객체(10)를 회전 조작하는 모습이 도시되어 있다. 제어부(300)는 사용자 입력부(120)에 기 설정된 사용자의 입력이 가해지는 것에 기반하여 객체(10)를 회전시키는 신호를 발생시킬 수 있다.
구체적으로, 제1 사용자 입력키(121)는 휠 키로 구성된다. 이런 경우에 휠 키를 돌리면, 객체(10)는 해당 방향으로 회전할 수 있다. 이 때에도 객체 컨트롤러(1000)는 상대좌표 모드 또는 절대좌표 모드로 객체(10)의 이동을 제어할 수 있다.
이러한 상대좌표 모드 및 절대좌표 모드는 제1 사용자 입력키 내지 제4 사용자 입력키(121, 122, 123, 124)에 누름 조작, 누름 조작의 횟수, 누름 조작의 시간 등의 여러 가지 조작 동작 중 기 결정된 조작방법이 입력되는 경우 서로 변경될 수 있다.
한편, 제어부(300)는 사용자가 객체(10)가 제어되는 신호의 크기를 용이하게 파악할 수 있도록, 객체(10)를 제어하도록 발생시키는 신호에 따라 서로 다른 청각, 시각 및 촉각 중 적어도 하나의 신호를 발생시킬 수 있다. 즉, 이러한 변경은 출력부(130)를 통해 사용자가 인식가능하게 출력될 수 있다. 예를 들어, 도 5a에서 상대좌표 모드인 경우, 스피커(131)를 통해 중간 정도 크기의 소리가 날 수 있다. 또한 절대좌표 모드인 도 5b와 도 5c에서는, 객체(10)가 이동되는 백터의 크기에 대응되어 소리의 크기가 결정될 수 있다. 또한, 회전 모드인 도 5d에서는 소리가 주기적으로 날 수 있다. 다만, 디스플레이(132)를 통한 시각적인 출력도 가능하며, 진동을 통한 촉각적인 출력도 가능하다.
도 6a 및 도 6b는 본 발명의 서로 다른 실시예에 따른 객체 컨트롤러에서 조작부가 본체에 수납되는 것을 설명하기 위한 개념도이다.
본 발명의 객체 컨트롤러(1000)의 본체(100)는 조작부(200)를 수납할 수 있는 수납공간(90)을 포함할 수 있다. 구체적으로, 수납공간(90)은 본체(100)의 내부에 조작부(200)를 수납하도록 형성되거나, 본체(100)의 외부에 조작부(200)를 착탈 가능하게 끼워넣도록 형성될 수 있다.
예를 들어 도 6a를 참조하면, 본체(100)는 상부 본체(100)와 하부 본체(100)로 서로 분리 가능하게 형성될 수 있다. 상부 본체(100)에는 나사산이 형성되어 하부 본체(100)와 상대 회전을 통하여 결합 및 분리 가능하다. 다만, 이러한 결합방식에 한정되는 것은 아니다.
상부 본체(100)와 하부 본체(100)가 서로 분리되면, 하부 본체(100) 내부에 내부공간이 형성된다. 이러한 내부공간에 조작부(200)가 수납될 수 있다. 다만, 하부 본체(100)에 내부공간이 형성되는 것에 한하지 않고 상부 본체(100)에 내부공간이 형성될 수도 있다.
다음으로 도 6b를 참조하면, 객체 컨트롤러(2000)의 본체(1100)의 외부에 수납공간(1090)이 리세스되어 있다. 이러한 수납공간(1090)은 조작부(1200)가 안착될 수 있게 조작부(1200)의 형상에 대응하여 형성될 수 있다. 또한, 조작부(1200)가 안착되어 수납된 후에는 조작부(1200)가 쉽게 이탈되지 않도록 이탈방지부재가 더 추가될 수도 있다.
도 7a 내지 도 7c는 본 발명의 서로 다른 실시예에 따른 객체 컨트롤러를 설명하기 위한 사시도이다.
먼저 도 7a를 참조하면, 본체(2100)는 조작시 조작부(2200)가 본체(2100)로부터 이탈되지 않도록, 본체(2100)의 상부면에 조작부(2200)와 결합가능한 연결부재를 포함할 수 있다. 연결부재는 본체(2100)의 상면에 형성된 고리와 연결가능하다. 연결부재는 본체(2100)의 상면에 형성된 고리뿐만이 아니라, 조작부(2200)에 형성된 고리에도 결합가능하다.
제어부는 조작부(2200)와 본체(2100)의 상부가 기 설정된 변위 이상으로 벗어나거나 본체(2100)가 기 설정된 압력 이상의 외력을 받게 되면, 객체(10)가 현재 있는 그 자리에서 유지하도록 하는 유지신호를 발생시킬 수 있다. 이는 연결고리에 의해 조작부(2200)가 본체(2100)로부터 이탈되기 어려우므로, 사용자가 본체(2100) 및 조작부(2200)를 동시에 놓치는 경우에 바닥에 떨어진 조작부(2200)와 본체(2100)와의 상대적 거리에 의해 객체(10)가 조작되지 않도록 하기 위함이다.
한편, 연결부재는 단순히 조작부(2200)와 본체(2100)를 연결시킬 수도 있지만, 본체(2100)측 고리(2192)에서 받는 압력에 의해 객체(10)의 제어와 관련된 정보를 얻을 수도 있다.
본체(3100)는 사용자가 본체(3100)를 용이하게 파지 가능하도록 사용자의 손을 감싸는 스트랩을 구비하거나, 외형에 굴곡이 형성될 수 있다. 구체적으로 도 7b를 참조하면, 본체(3100)에 굴곡부(3170)이 형성되어 있다. 굴곡부(3170)는 본체(3100)에 사용자의 손가락이 배치되는 위치를 가이드할 수 있을 뿐만 아니라, 사용자의 손과 본체(3100)가 용이하게 밀착될 수 있게 한다. 즉, 사용자의 손이 굴곡부(3170)의 내부로 인입되어 밀착되므로 사용자의 손과 본체(3100)가 접촉되는 면적이 넓어진다. 이 뿐만 아니라, 본체(3100)가 중력에 의해 아래로 떨어지려는 힘을 굴곡부(3170) 내부로 인입된 손가락이 받을 수 있어, 본체(3100)에 대한 지지력이 높아질 수 있다.
다음으로 도 7c를 참조하면, 본체(4100)의 상부면이 외부를 향해 볼록하게 돌출될 수 있다. 이러한 돌출면을 지지면(4107)이라고 한다. 조작부(4200)는 지지면(4107) 상에 지지되어 이동가능할 수 있다. 지지면(4107)을 통해 사용자가 본체(4100)의 상부와 이격되어 조작부(4200)를 조작하였을 때의 피로도를 저감시킬 수 있다. 또한, 지지면(4107)을 통해 조작부(4200)와 본체(4100)와의 이격거리를 비교적 일정하게 유지할 수 있다. 또한, 조작부(4200)를 통한 객체(10)의 컨트롤에 대한 정교함이 높아질 수 있다.
또한, 지지면(4107)은 본체(4100)의 중심부를 향해 일정한 압력이상으로 가압되었을 때 누름조작 될 수 있다. 즉, 지지면(4107)이 본체(4100)의 중심부를 향해(좌표상으로 -Z축) 가압하였을 때, 지지면(4107) 자체가 설계된 기결정된 정도의 변위로 하부로 눌릴 수 있다. 조작부(4200) 및 지지면(4107)의 이러한 동작을 통해서, 객체(10)가 하부로 이동하는 신호를 생성할 수 있다.
한편, 본체(4100)는 본체(4100)의 상부의 둘레를 따라 지지면(4107) 상에 돌출되는 이탈방지턱을 포함할 수 있다. 이는, 조작부(4200)가 조작 중에 본체(4100)의 바깥으로 나가는 것을 방지하기 위함이다.
도 8은 본 발명의 서로 다른 실시예에 따른 조작부를 설명하기 위한 개념도이다.
본 발명의 조작부(6200)는 사용자의 손가락에 착탈가능하도록 홀딩수단, 조임수단(5220), 끼움수단(7220) 중 적어도 하나를 포함할 수 있다.
먼저 도 8의 (a)는 조작부(6200)가 스트랩으로 이루어지는 조임수단(5220)을 포함하는 실시예이다. 사용자는 손가락을 조작부(6200)의 내측에 배치한 후, 조임수단(5220)을 양측을 연결하여 결합한다.
도 8의 (b)는 조작부(6200)가 복원력이 이용하여 사용자의 손가락을 압박하며 손가락에 홀딩되는 실시예이다. 본 조작부(6200)는 링 형상에서 일 부분이 삭제된 형상이다. 조작부(6200)의 직경이 좁게 생기므로, 복원력에 의해 조작부(6200)는 사용자의 손가락에 홀딩될 수 있다.
도 8의 (c)는 조작부(7200)가 사용자의 손가락의 굵기에 맞추어 조여짐이 가능한 끼움수단(7220)을 포함하는 실시예에 관한 것이다.
도 9는 본 발명의 다른 실시예에 따른 객체 컨트롤러를 설명하기 위한 개념도이다.
본체(8100)의 상부에는 상면 디스플레이(8101)가 배치되고, 상면 디스플레이(8101)에는 상기 조작부(8200)의 위치 및 진행 방향 등의 정보가 표시될 수 있다.
구체적으로 도 9를 참조하면, 본체(8100)의 상부에는 상면 디스플레이(8132)가 배치된다. 상기 디스플레이(8132)에는 중심점이 표시될 수 있다. 중심점은 본체(8100)의 상부에 조작부(8200)가 배치되었을 때, 표시되는 점이다.
이 때, 중심점의 크기가 작을수록 본체(8100)와 조작부(8200)간의 수직 거리가 긴 것이며, 중심점의 크기가 클수록 본체(8100)와 조작부(8200)간의 수직 거리가 짧은 것을 의미한다. 중심점의 크기가 일정한 크기 이하일 때, 즉 본체(8100)와 조작부(8200)간의 수직 거리가 긴 경우에는 객체(10)에는 상승하라는 신호가 전달될 수 있다. 중심점의 크기가 일정한 크기 이상일 때, 즉 본체(8100)와 조작부(8200)간의 수직 거리가 짧은 경우에는 객체(10)에는 하강하라는 신호가 전달될 수 있다. 또한, 디스플레이(8132)의 화살표(A)는 드론의 이동 방향 및 이동 속도에 대한 벡터값이 시각화되어 표현될 수 있다.
도 10은 도 2의 객체 컨트롤러가 본체에 대한 조작부의 상대적인 위치를 판단하는 방법을 설명하기 위한 개념도이다.
본 발명의 객체 컨트롤러(1000)는 본체(100)에, 조작부(200)와의 거리 변화에 따라 감지된 센서값을 출력하는 두 개의 센서(111)를 포함할 수 있다. 적어도 두 개 이상의 센서(111)를 사용하는 경우, 본체(100)에 대한 조작부(200)의 상대적인 위치를 보다 정확하게 산출할 수 있다. 제어부(300)는 센서(111)로부터 획득한 센서값을 기초로 본체(100)에 대한 조작부(200)의 상대적 위치를 산출한다.
본체(100)에 내장된 센서(111)는 3D 마그네틱 센서일 수 있고, 조작부(200)에는 마그네틱(201)이 내장되어 있을 수 있다. 다만, 센서(111)는 이에 한정되는 것이 아니고 상술한 바와 같이 자외선 센서 등 공지된 임의의 센서가 사용될 수 있지만, 이하에서는 설명의 편의를 위하여, 센서(111)가 3D 마그네틱 센서이고 조작부(200)에 마그네틱(201)이 내장된 것으로 하여 설명하도록 한다.
3D 마그네틱 센서는 X 방향, Y 방향, Z 방향의 자속(magnetic flux)을 감지하여 값을 출력하는 센서를 말한다. 도 10에서, 어느 하나의 마그네틱 센서의 출력값을 S1x, S1y, S1z로 지칭하고, 다른 하나의 마그네틱 센서의 출력값을 S2x, S2y, S2z로 지칭한다.
센서(111)는 본체의 상측에 위치하도록 배치될 수 있다. 그 본체의 위에 조작부가 배되어 센서(111)가 조작부로부터의 자속을 감지할 수 있는 공간은 단위 셀로 구획될 수 있다. 각각의 단위셀은 기설정된 원점(예컨대, 두 센서의 중점)을 기준으로 그 셀의 중심 좌표값이 결정되어 있다. 본체(100)에 대한 조작부(200)의 상대적인 위치는 본체(100) 상에 형성된 단위 셀의 좌표값 중 어느 하나로 결정될 수 있다.
본 실시예에서 가상의 공간 및 단위셀을 6면체로 예시하고 있지만, 이러한 것은 예시에 불과하고, 3차원의 공간 및 단위 셀을 구 형태 등으로 변형하는 것도 가능하다.
도 10을 참조하면, 제어부(300)는 센서(111)로부터 획득한 센서값(S)과 조작부(200)가 특정 위치에 위치할 때 센서에서 출력된 센서값을 포함하도록 미리 작성된 테이블(T)을 기초로, 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출한다.
구체적으로, 제어부(300)는 센서(111)로부터 얻은 센서값(S)을 기초로 하여, 조작부(200)의 마그네틱(201)이 가상의 공간 중 어느 영역에 속하는지를 판단하고, 구획된 영역의 중심 좌표값을 이용하여 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출한다.
미리 작성된 테이블(T)에는, 마그네틱이 각각의 구획된 공간 내에 위치하는 경우의 위치값(즉, 구획된 영역의 중심 좌표값)과 각각의 위치값에 대응되는 예상 센서값 매칭된 데이터세트가 복수 개 포함되어 있다.
테이블(T)은, 마그네틱을 어느 하나의 구획된 지점에 위치시킨 상태에서 3D 마그네틱 센서로부터 복수 회 센서값을 획득하고, 마그네틱을 구획된 모든 지점으로 이동시키며 센서값을 획득하는 방식으로 생성될 수 있다. 동일한 위치값에 대하여 동일한 센서값이 획득되는 경우에는 그 데이터세트를 테이블에 중복하여 기재하지 않고, 해당 데이터세트의 빈도값을 증가시키는 방식으로 테이블을 생성할 수 있다. 따라서, 테이블은 위치값, 예상 센서값 및 빈도값을 포함하는 데이터세트를 복수 개 포함할 수 있다.
여기서, 마그네틱이 센서로부터 동일한 위치에 위치하더라도, 센서에 대하여 마그네틱의 자기장 축의 기울기가 변한다거나 또는 외부 지자기의 요인이 개입되는 등의 영향에 의해 센서에서 측정되는 센서값이 소정의 폭으로 변화하기 때문에, 테이블은 어느 하나의 위치값 (예컨대 (x1, y1, z1))에 대하여 서로 상이한 복수 개의 예상 센서값을 포함한다.
테이블(T)을 사용하여, 본 발명의 객체 컨트롤러 (1000) 제어부(300)가 본체(100)에 대한 조작부(200)의 상대적 위치를 산출하는 구체적인 방법은 다음과 같다.
사용자의 조작에 의해 조작부(200)의 마그네틱(201)이 본체(100) 상의 어느 지점에 위치하게 되면, 각각의 센서(111)는 조작부(200)의 마그네틱(201)으로부터 형성된 자기장의 자속(magnetic flux)을 감지하여 측정된 센서값(S)을 제어부(300)로 전달한다.
조작부(200)의 마그네틱(201)이 단위 셀의 어느 중심 좌표값에 가장 가깝게 위치하는지를 판단하기 위해, 제어부(300)는 센서(111)로부터 획득된 센서값(S)과 테이블(T)에 저장된 각각의 예상 센서값 사이의 센서값의 유사도를 판단한다 (S10).
여기서 센서값의 유사도는, 예를 들어 센서로부터 획득된 센서값(S)과 테이블(T)에 저장된 예상 센서값의 맨해튼 거리(Manhattan distance) 또는 유클리드 거리(Euclidean distance)를 비교함으로써 판단될 수 있다.
제어부(300)는 두 센서값의 유사도 판단에 따라, 센서(111)로부터 얻은 센서값(S)과 유사도가 높은 예상 센서값을 포함하는 데이터세트를 유사 데이터세트로 선별한다 (S20).
센서값의 유사도를 맨해튼 거리 또는 유클리드 거리로 판단하는 경우 유사 데이터세트는, 센서값(S)으로부터 기설정된 맨해튼 또는 유클리드 거리 이하에 포함되는 예상 센서값을 포함하는 데이터세트로 선별될 수 있다.
센서(111)로부터의 센서값(S)과 테이블(T)에 저장된 예상 센서값의 유사도가 크다는 것은, 조작부(200)의 마그네틱(201)의 실제 위치와 예상 센서값에 매칭된 위치값이 일치할 가능성이 크다는 것을 의미할 수 있다. 따라서, 제어부(300)는 센서값(S)과 유사도가 큰 예상 센서값을 포함하는 데이터세트를 유사 데이터세트로 선별하여, 본체(100)와 조작부(200)의 상대적 위치를 산출함에 있어 사용할 수 있다.
한편, 제어부(300)는 유사 데이터세트를 선별할 때, 데이터 처리의 효율성을 위하여 테이블(T)에서 상대적으로 가능성이 높은 데이터세트를 우선 선별하여, 상대적으로 가능성이 높은 데이터세트 중에서 유사 데이터세트를 선별할 수도 있다.
여기서, 상대적으로 가능성이 높은 데이터세트라 함은, 이전의 적어도 하나의 시점에서의 본체(100)에 대한 조작부(2000의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 데이터세트를 의미하는 것일 수도 있다.
위치연속성은 이전 시점에서의 조작부의 위치와 얼마나 인접한지, 이전 시점에서의 조작부의 이동 방향과 방향성이 일치하는지 등을 고려하여 결정될 수 있다. 예를 들어, 직전의 위치와 단순히 인접한 위치를 위치연속성이 높다고 할 수도 있고, 직전의 위치로 이동되어 온 진행 경로를 고려하여 진행 경로가 유지되는 위치를 위치연속성이 높다고 할 수도 있다.
예컨대, 제어부(300)는 직전에 판단된 본체에 대한 조작부의 상대적 위치가 (x0, y0, z0)인 경우, (x0, y0, z0)의 위치값과 위치연속성이 있는 (x1, y1, z1)의 위치값을 포함하는 데이터세트를 상대적으로 가능성이 높은 데이터세트로 하여 유사 데이터세트를 선별할 수 있다. 이 경우, 제어부(300)는 다른 데이터세트의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 판단하기 이전에, 우선하여 (x1, y1, z1)의 위치값을 포함하는 데이터세트들의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 비교함으로써, 보다 가능성이 높은 예상 센서값에 대한 유사도 판단을 먼저 수행할 수 있게 된다.
한편, 상대적으로 가능성이 높은 데이터세트라 함은, 기설정된 값보다 높은 빈도값을 포함하는 데이터세트를 의미하는 것일 수도 있다.
이 경우 제어부(300)는 빈도값이 기설정된 값보다 높은 데이터세트를 상대적으로 가능성이 높은 데이터세트로하여 유사 데이터세트를 선별할 수도 있다. 이 경우, 제어부(300)는 다른 데이터세트의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 판단하기 이전에, 우선하여 빈도값이 30보다 큰 데이터세트들의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 비교함으로써 보다 가능성이 높은 예상 센서값에 대한 유사도 판단을 먼저 수행할 수 있게 된다.
이렇게 상대적으로 가능성이 높은 데이터세트에 대해서 부분적으로 탐색을 한 후, 확장하여 데이터세트를 탐색하는 방식으로 유사 데이터세트를 선별하게 되면, 테이블 상의 모든 예상 센서값과 센서값의 유사도 판단을 하지 않더라도 신뢰도가 높은 데이터세트를 선별해 낼 수 있으므로, 제어부(300)의 데이터 처리 속도를 높일 수 있다는 점에서 바람직하다.
다음으로, 제어부(300)는 기설정된 기준에 따라 적어도 하나의 유사 데이터세트 중 어느 하나의 유사 데이터세트를 기준 데이터세트로 결정한다 (S30).
유사 데이터세트에서 기준 데이터세트를 결정하는 기설정된 기준은, 이전의 적어도 하나의 시점의 (바람직하게는 직전의) 본체(100)에 대한 조작부(200)의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 데이터세트를 기준 데이터세트로 결정하는 것일 수 있다.
이러한 결정 기준은, 본체(100)에 대한 조작부(200)의 상대적 위치가 선형적(linear)으로 변화하는 것을 전제로 한 것이다. 조작부(200)의 상대적 위치가 이전 시점에 비하여 급격하게 변화하는 것 보다 위치연속성 있는 것이 객체의 움직임을 제어함에 있어 바람직하므로, 이러한 기준 데이터의 선정 기준은 객체의 움직임을 제어함에 있어 신뢰성을 향상시킬 수 있다.
만약, 이러한 위치연속성을 고려한 후에도 하나 이상의 데이터세트가 여전히 유사 데이터세트로 존재하는 경우에는, 제어부(300)는 각각의 유사 데이터세트의 빈도값을 비교하여 빈도값이 높은 데이터세트를 하나의 기준 데이터세트로 결정할 수도 있다. 각각의 데이터세트 모두 위치연속성이 있는 위치값을 가지는 것이라면, 통계적으로 높은 확률을 가지는 데이터세트를 선택하는 것이 객체의 움직임을 제어함에 있어 신뢰성을 향상시킬 수 있기 때문이다.
제어부(300)는 결정된 기준 데이터세트의 위치값을 본체(100)에 대한 조작부(200)의 상대적 위치로 산출한다 (S40).
예컨대, 테이블에서 위치값이 (x2, y2, z2), 예상 센서값이 (-26, 15, 66, 7, -102, 32), 빈도값이 34인 데이터세트가 기준 데이터세트로 결정된 경우, 제어부(300)는 기준 데이터세트의 위치값인 (x2, y2, z2)의 좌표를 본체에 대한 조작부의 상대적 위치로 산출할 수 있다.
한편, 제어부(300)는 본체(100) 및 조작부(200)가 위치하는 환경에서, 외부 지자기의 영향을 배제하고 조작부의 위치를 판단하기 위하여, 도 10에 도시된 방법을 수행하기 이전에 센서(111)로부터 얻은 센서값(S)을 보정하여 사용할 수도 있다.
예를 들어, 제어부(300)는 센서(111)로부터 조작부(200)가 본체(100)로부터 제거된 상태에서의 센서값인 초기센서값을 획득하고, 조작부(200)가 본체(100) 상에 위치한 상태에서의 센서값인 측정센서값을 획득하여, 측정센서값에 초기센서값이 반영된 센서값(예컨대, 초기센서값과 측정센서값의 차이값)을 기초로 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수 있다.
그 밖에도, 본 발명의 객체 컨트롤러에 조작부의 마그네틱을 감지하는 센서와는 다른 별개로, 외부 지자기 만을 측정하는 센서가 더 구비됨으로써, 제어부(300)가 외부의 지자기의 영향을 배제하기 위한 센서값 보정을 하도록 할 수도 있다.
상술한 방식에 따라, 제어부(300)는 센서(111)로부터 얻은 센서값(S)과 테이블(T)을 기초로, 조작부(200)의 마그네틱(201)이 가상의 공간 중 어느 영역에 속하는지를 판단할 수 있고, 이 영역의 위치값을 이용하여 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수 있다.
한편, 제어부(300)는 상술한 도 10의 방식에 한정되지 않고, 기설정된 수식을 사용하여 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수도 있다.
여기서 기설정된 수식은, 센서(111)로부터 획득한 센서값(S)에 기초하여 동일한 자속(magnetic flux)을 갖는 지점을 도출할 수 있도록 구성된 함수일 수 있다.
기설정된 수식을 사용하여 제어부(300)가 본체(100)에 대한 조작부(200)의 상대적 위치를 산출하는 원리는 다음과 같다.
센서로부터 임의의 간격만큼 떨어져 마그네틱이 위치하는 경우, 마그네틱에 의해 형성된 자속(magnetic flux)의 총량은 센서와 마그네틱이 이루는 각도에 무관하다. 따라서, 센서에 어떠한 센서값이 측정되는 경우, 제어부는 센서를 중심으로 동일한 자속(magnetic flux)을 갖는 가상의 구면의 일 지점에 마그네틱이 위치할 것으로 판단할 수 있다.
제어부가 두 센서로부터 센서값을 획득한다면, 제어부는 두 가상의 구면의 접선의 영역에 마그네틱이 위치할 것으로 판단할 수 있다.
즉, 두 센서 중 하나의 센서로부터 획득한 센서값 (S1x, S1y, S1z)을 통해 예상되는 마그네틱의 위치는 그 센서를 중심으로 동일한 자속을 갖는 구면에 위치할 수 있고, 다른 하나의 센서로부터 획득한 센서값 (S2x, S2y, S2z)을 통해 예상되는 마그네틱의 위치는 그 센서를 중심으로 동일한 자속을 갖는 구면에 위치할 수 있다. 따라서, 제어부는 두 센서를 통해 획득한 센서값에 기초하여, 그 센서값을 출력하도록 한 마그네틱이 두 구면의 접선에 위치할 것으로 판단할 수 있다.
이러한 제어부(300)의 연산 과정은 기설정된 수식으로 정리될 수 있으므로, 제어부(300)는 센서(111)로부터 센서값(S)을 획득하는 경우 본체(100)에 대한 조작부(200)의 상대적인 위치의 예상 영역을 산출할 수 있다.
나아가, 마그네틱(201)와 센서(111)의 틸팅(tilting)각 (즉, 조작부(200)가 홀딩된 엄지 손가락이 본체(100) 상에서 움직이는 각도)가 기설정된 각도로 한정되는 경우, 조작부(200) 의 마그네틱(201)이 위치하는 정확한 지점이 결정될 수 있게 되므로, 제어부(300)는 본체에 대한 상기 조작부의 상대적인 위치를 산출할 수 있게 된다.
한편, 본 발명의 객체 컨트롤러(1000)의 컨트롤의 대상이 되는 객체(10)는 도 5a 내지 도 5d 를 참조하여 설명한 바와 같이 드론, 무인 비행기, 로봇, 게임기, 모형 자동차 등과 같은 물리적 대상일 수도 있지만, 본 발명의 객체 컨트롤러(1000)의 컨트롤의 대상이 되는 객체(10)는 이에 한정되지 않고, 컴퓨터, 콘솔게임기 등에서 구현되는 프로그램 내의 오브젝트 또는 3차원 홀로그램 영상 내의 오브젝트 일 수도 있다.
도 11은 본 발명의 객체 컨트롤러를 이용하여 컨트롤 할 수 있는 객체를 예시적으로 설명하기 위한 개념도이다.
도 11을 참조하면, 본 발명의 객체 컨트롤러(1000)에 의해 컨트롤되는 객체(10' 10”)는 프로그램에 의해 구현되어 모니터 등의 표시장치 내에 표시되는 오브젝트일 수 있다.
예컨대, 객체(10')는 표시장치 내에 표시되는 마우스의 커서 또는 포인터일 수 있다. 이때 본 발명의 객체 컨트롤러(1000)는 커서 또는 포인터를 조작하는 마우스와 같은 입력장치의 역할을 하도록 구성될 수 있다. 한편 다른 예로서 컴퓨터에 의해 게임 프로그램이 실행되는 경우, 객체(10'')는 표시장치 상에 표시되는 게임의 특정 캐릭터일 수도 있다. 예를 들어, 컴퓨터에 의해 드론을 비행시키는 게임이 실행되는 경우라면 객체(10'')는 표시장치 내에 표시되는 드론 이미지의 오브젝트일 수 있고, 본 발명의 객체 컨트롤러(1000)는 이러한 오브젝트를 제어하는 입력장치 입력장치의 역할을 하도록 구성될 수 있다.
이처럼 객체(10', 10'')가 프로그램에 의해 구현되어 모니터 등의 표시장치 상에 표시되는 오브젝트인 경우, 본 발명의 객체 컨트롤러(1000)는 해당 프로그램의 동작을 제어하는 제어부와 연동됨으로써 상술한 객체 컨트롤러(1000) 제어 방법에 따라 객체(10', 10'')를 컨트롤 할 수 있다.
또한 도 11에 도시된 바와 같은 객체(10', 10'')를 컨트롤하기 위하여 상술한 다양한 실시예에 따른 객체 컨트롤러(2000, 3000, 4000, 5000, 8000)가 비제한적으로 채용될 수 있음은 물론이다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10, 10', 10'' : 객체
20 : 외부 단말
90 : 수납공간
100 : 본체
102 : 나사산
105 : 본체 상부
106 : 표식
107 : 지지면
108 : 이탈방지턱
110 : 센서부
120 : 사용자 입력부
121 : 제1 사용자 입력키
122 : 제2 사용자 입력키
130 : 출력부
131 : 스피커
132 : 디스플레이
140 : 통신부
150 : 저장부
160 : 스트랩
170 : 굴곡부
190 : 연결 부재
S : 소리
200 : 조작부
300 : 제어부
1000 : 객체 컨트롤러

Claims (37)

  1. 객체의 움직임을 조작 가능한 객체 컨트롤러에 있어서,
    본체;
    상기 본체와 비접촉되는 조작부; 및
    상기 본체 내부에 배치되고, 상기 본체에 대한 상기 조작부의 상대적 위치를 기반으로 상기 객체의 움직임을 제어하는 제어부를 포함하는, 객체 컨트롤러.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020170067832A 2016-10-10 2017-05-31 객체 컨트롤러 KR102387818B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2017/011117 WO2018070750A1 (ko) 2016-10-10 2017-10-10 객체 컨트롤러
US16/340,914 US20190369749A1 (en) 2016-10-10 2017-10-10 Object controller
CN201780076099.5A CN110088712A (zh) 2016-10-10 2017-10-10 物体控制器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160130885 2016-10-10
KR1020160130885 2016-10-10

Publications (2)

Publication Number Publication Date
KR20180039553A KR20180039553A (ko) 2018-04-18
KR102387818B1 true KR102387818B1 (ko) 2022-04-18

Family

ID=62082923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170067832A KR102387818B1 (ko) 2016-10-10 2017-05-31 객체 컨트롤러

Country Status (3)

Country Link
US (1) US20190369749A1 (ko)
KR (1) KR102387818B1 (ko)
CN (1) CN110088712A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019203848A1 (en) * 2018-04-20 2019-10-24 Hewlett-Packard Development Company, L.P. Tracking stylus in a virtual reality system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653146B1 (ko) * 2015-09-04 2016-09-01 홍유정 드론 컨트롤러

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4778722B2 (ja) * 2005-04-28 2011-09-21 株式会社ワコム 位置指示器、及び、リモコン装置
JP4899525B2 (ja) * 2006-02-21 2012-03-21 ヤマハ株式会社 磁気センサ制御装置、磁気測定装置、並びにオフセット設定方法及びプログラム
CN108664156B (zh) * 2008-07-01 2022-02-25 Idhl控股公司 3d定位器映射
US20140361627A1 (en) * 2013-06-07 2014-12-11 Witricity Corporation Wireless energy transfer using variable size resonators and system monitoring
JP5641236B2 (ja) * 2011-03-22 2014-12-17 ヤマハ株式会社 地磁気測定装置、オフセット決定方法、及びオフセット決定プログラム
CN103034324A (zh) * 2011-09-30 2013-04-10 德信互动科技(北京)有限公司 人机互动系统和方法
US9004973B2 (en) * 2012-10-05 2015-04-14 Qfo Labs, Inc. Remote-control flying copter and method
KR101656391B1 (ko) * 2013-12-30 2016-09-09 (주)유즈브레인넷 반지형 무선 콘트롤러 장치
KR101612507B1 (ko) * 2014-02-06 2016-04-14 동서대학교산학협력단 호신용 반지를 이용한 위험상황 관리시스템
US9847032B2 (en) * 2014-07-15 2017-12-19 Richard Postrel System and method for automated traffic management of intelligent unmanned aerial vehicles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653146B1 (ko) * 2015-09-04 2016-09-01 홍유정 드론 컨트롤러

Also Published As

Publication number Publication date
US20190369749A1 (en) 2019-12-05
KR20180039553A (ko) 2018-04-18
CN110088712A (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
JP6690006B2 (ja) 客体コントローラ
US10331232B2 (en) Controller with situational awareness display
US10921904B2 (en) Dynamically balanced multi-degrees-of-freedom hand controller
US10520973B2 (en) Dynamically balanced multi-degrees-of-freedom hand controller
US11353967B2 (en) Interacting with a virtual environment using a pointing controller
CN110114669B (zh) 动态平衡的多自由度手持控制器
EP3433689B1 (en) Multi-axis controller
US11194407B2 (en) Controller with situational awareness display
KR101666096B1 (ko) 강화된 제스처 기반 상호작용 시스템 및 방법
CN111527469A (zh) 动态平衡式多自由度手持控制器
WO2017058637A1 (en) Filtering controller input mode
US10114478B2 (en) Control method, control apparatus, and program
KR102387818B1 (ko) 객체 컨트롤러
KR100947735B1 (ko) 가상현실에서의 동작 제어 시스템 및 방법
KR20230117964A (ko) 가상 현실 컨트롤러
KR102385079B1 (ko) 객체 컨트롤러
KR102183827B1 (ko) 객체 컨트롤러
WO2021181280A1 (en) Barometric sensing of arm position in a pointing controller system
KR101066829B1 (ko) 공간 입력장치 및 이를 이용한 입력방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant