KR20230117964A - Virtual reality controller - Google Patents

Virtual reality controller Download PDF

Info

Publication number
KR20230117964A
KR20230117964A KR1020220014377A KR20220014377A KR20230117964A KR 20230117964 A KR20230117964 A KR 20230117964A KR 1020220014377 A KR1020220014377 A KR 1020220014377A KR 20220014377 A KR20220014377 A KR 20220014377A KR 20230117964 A KR20230117964 A KR 20230117964A
Authority
KR
South Korea
Prior art keywords
main body
control unit
sensor
unit
manipulation
Prior art date
Application number
KR1020220014377A
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 KR1020220014377A priority Critical patent/KR20230117964A/en
Publication of KR20230117964A publication Critical patent/KR20230117964A/en

Links

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Abstract

본 발명은 객체가 이동하거나 회전하는 것을 조작 가능한 객체 컨트롤러에 관한 것이다. 객체의 움직임을 조작 가능한 객체 컨트롤러에 있어서, 본체, 상기 본체와 비접촉되는 조작부, 및 상기 본체에 대한 상기 조작부의 상 대적 위치를 기반으로 상기 객체의 움직임을 제어하는 제어부를 포함하는 객체 컨트롤러가 개시된다.The present invention relates to an object controller capable of manipulating the movement or rotation of an object. Disclosed is an object controller capable of manipulating the motion of an object, including a main body, a manipulator that does not contact the main body, and a control unit that controls the motion of the object based on a relative position of the manipulator with respect to the main body. .

Description

가상 현실 컨트롤러{VIRTUAL REALITY CONTROLLER}Virtual Reality Controller {VIRTUAL REALITY CONTROLLER}

본 발명은 가상 현실 컨트롤러에 관한 것으로서, 보다 구체적으로는 간편하고 직관적으로 조작할 수 있으며 다양한 객체의 조종에 적합하게 채용될 수 있는 가상 현실 컨트롤러에 관한 것이다The present invention relates to a virtual reality controller, and more particularly, to a virtual reality controller that can be manipulated simply and intuitively and can be suitably employed to manipulate various objects.

드론, 무인 비행기, 로봇, 게임기, 모형 자동차 등의 객체를 원격으로 조종하기 위한 컨트롤러가 상용화되어 있다. 일반적으로 원격 조종 컨트롤러는 하나 이상의 아날로그 스틱이나 버튼을 포함하고 있으며, 이러한 스틱이나 버튼을 통해 발생한 조작신호는 컨트롤러는 내부에 장착된 송신기를 통해 제어 대상 객체의 내부의 수신기로 전달된다.Controllers for remotely controlling objects such as drones, unmanned aerial vehicles, robots, game machines, and model cars have been commercialized. In general, a remote control controller includes one or more analog sticks or buttons, and manipulation signals generated through these sticks or buttons are transmitted to a receiver inside a control target object through a transmitter mounted inside the controller.

도 1은 기존의 컨트롤러의 실시 예를 보여주는 개념도이다.1 is a conceptual diagram showing an embodiment of a conventional controller.

도 1을 참조하면, 좌우 양쪽의 스틱을 이용하여 제어 대상 객체의 전후, 좌우 움직임, 좌회전과 우회전, 상승과 하강 등의 움직임을 조종할 수 있다. 그러나, 이러한 조종방식은 직관성이 많이 떨어져, 사용자가 객체를 자유롭게 조종하기 위해서는 많은 연습이 요구된다.Referring to FIG. 1 , movements such as back and forth, left and right movement, left turn and right turn, ascent and descent of the object to be controlled may be controlled using left and right sticks. However, this control method is very intuitive, and a lot of practice is required for the user to freely manipulate the object.

특히, 드론 등을 조종하는 컨트롤러의 경우, 드론의 곡예비행 등 정밀한 컨트롤이 가능하도록 개발됨에 따라 조종방식의 복잡도가 증가하고 있다. 이러한 컨트롤러는 그 조작의 난이성 때문에 다양한 객체의 조종에 적용되기에 적합하지 않은 측면이 있다.In particular, in the case of a controller that controls a drone, etc., the complexity of the control method is increasing as it is developed to enable precise control such as acrobatics of the drone. Such a controller has aspects that are not suitable for application to the manipulation of various objects due to the difficulty of its manipulation.

한편, 컴퓨터, 콘솔게임기 등에서 구현되는 컴퓨터 프로그램 내의 오브젝트 또는 객체를 원격으로 제어하기 위한 무선 마우스, 게임 패드, 무브 컨트롤러와 같은 다양한 원격 조종 컨트롤러가 상용화되어 있다. 이러한 컨트롤러는 드론과 같은 물리적인 객체를 조종하는 것은 아니지만, 원격으로 제어 대상 객체의 움직임을 조종한다는 점에서 앞서 도 1을 참조하여 설명한 원격 컨트롤러와 동일하다.Meanwhile, various remote control controllers such as wireless mice, game pads, and move controllers for remotely controlling objects or objects in computer programs implemented in computers and game consoles are commercially available. This controller does not control a physical object such as a drone, but is the same as the remote controller described above with reference to FIG. 1 in that it remotely controls the movement of a target object to be controlled.

무선 마우스, 게임 패드와 같은 컨트롤러는 여러 다른 형상, 크기 및 디자인에 무관하게 대부분 평탄 표면 상에서 이동하도록 사용자의 손에 파지되고, 사용자의 손목 및/또는 팔의 이동에 의해 조작신호가 산출된다. 특히 무선 마우스의 경우 하단에 장착된 레이저 센서가 표면에 대한 상대적인 이동을 검출하고, 이 변위를 디스플레이 화면 상의 포인터의 조작신호로 산출하여 전달하는 방식을 취한다. 다만 이러한 컨트롤러는 대부분 2차원의 화면 상에서 오브젝트 또는 객체를 조종하는 정도에 그치고 있으며, 2차원의 화면을 벗어나 적용될 수 없다는 한계점을 가진다.Controllers such as wireless mice and game pads are held by a user's hand to move on a mostly flat surface regardless of various shapes, sizes, and designs, and operation signals are generated by the movement of the user's wrist and/or arm. In particular, in the case of a wireless mouse, a laser sensor mounted on the lower side detects a relative movement with respect to the surface, and calculates and transmits this displacement as a manipulation signal of a pointer on a display screen. However, most of these controllers are limited to manipulating objects or objects on a two-dimensional screen, and have limitations in that they cannot be applied beyond the two-dimensional screen.

최근 3차원의 공간 상에서 오브젝트 또는 객체를 원격으로 제어하기 위한 동작 인식 컨트롤러가 제안되었고, 가상현실(VR) 게임 등의 입력장치로 적용되고 있다. 동작 인식 컨트롤러는 사용자의 동작을 감지해 게임 등을 조작할 수 있게 하는 컨트롤러로서, 동작 인식 기능을 갖춘 컨트롤러를 손에 쥐고 이리저리 움직여 조작하는 등의 방식으로 동작하도록 구성된다.Recently, a motion recognition controller for remotely controlling an object or objects in a three-dimensional space has been proposed, and is being applied as an input device for virtual reality (VR) games. A motion recognition controller is a controller that detects a user's motion and allows the user to operate a game, etc., and is configured to operate in a manner such as holding a controller equipped with a motion recognition function in a hand and moving it around.

이러한 동작 인식 컨트롤러는 익숙해지기 어려운 종래의 컨트롤러와 달리, 사용자가 잡고 단순히 휘두르기만 해도 게임 등을 즐길 수 있다는 것에 큰 장점이 있기는 하나, 특정 게임 내의 특정 움직임을 수행하는 것만을 위해 존재하는 컨트롤러가 대부분이다. 또한, 최근 제안된 동작 인식 컨트롤러는 가속도계 센서, 자이로스코프 센서와 같은 공지의 센서들이 조합되어 작동하는 것에 그치고 있기 때문에, 미세하고도 정밀한 동작을 제어하기에는 한계가 있을 뿐만 아니라 다양한 객체의 조종에 표준화하여 적용할 수 없다는 문제점이 있다.Unlike conventional controllers that are difficult to get used to, these motion-recognition controllers have a great advantage in that users can enjoy games by simply holding and swinging them, but controllers that exist only for performing specific movements in a specific game Most of them. In addition, since the recently proposed motion recognition controller only works by combining known sensors such as an accelerometer sensor and a gyroscope sensor, it has limitations in controlling fine and precise motions and standardizes the manipulation of various objects. The problem is that it cannot be applied.

따라서 컨트롤러의 활용 분야가 확대됨에 따라, 컨트롤러의 조작에 대한 별도의 교육을 받지 않은 사람들도 보다 간편하고 직관적으로 조작할 수 있으며, 다양한 객체의 조종에 적합하게 채용될 수 있는 가상 현실 컨트롤러에 대한 필요성이 대두되고 있다.Therefore, as the field of application of the controller expands, there is a need for a virtual reality controller that can be operated more conveniently and intuitively even by those who have not received separate training for controller operation, and that can be appropriately employed for controlling various objects. this is emerging

본 발명은 상기와 같은 연구과정에서 안출된 것으로서, 사용자가 두 손으로 파지한 상태에서 조종하지 않아도 되고, 한 손으로 쉽게 조작할 수 있는 가상 현실 컨트롤러를 제공하기 위한 것이다.The present invention has been devised in the course of the above research, and is intended to provide a virtual reality controller that can be easily operated with one hand without the need for a user to control the controller while holding it with both hands.

또한, 보다 간편하고 직관적으로 조작할 수 있으며, 다양한 객체의 조종에 적합하게 채용될 수 있는 객체 컨트롤러를 제공하기 위함이다.In addition, it is to provide an object controller that can be manipulated more conveniently and intuitively and can be appropriately employed for controlling various objects.

본 발명의 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the tasks mentioned above, and other tasks not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 가상 현실 컨트롤러는, 객체의 움직임을 조작 가능한 가상 현실 컨트롤러에 있어서, 본체, 상기 본체와 비접촉되는 조작부, 및 상기 본체에 대한 상기 조작부의 상대적 위치를 기반으로 상기 객체의 움직임을 제어하는 제어부를 포함한다.In order to solve the above problems, a virtual reality controller according to an embodiment of the present invention is a virtual reality controller capable of manipulating the movement of an object, including a main body, a manipulation unit that is non-contact with the main body, and a relative position of the manipulation unit relative to the main body. Based on the control unit for controlling the movement of the object.

본 발명의 다른 특징에 따르면, 상기 본체는, 사용자가 상기 본체를 용이하게 파지 가능하게 형성될 수 있다. 본 발명의 또 다른 특징에 따르면, 상기 본체의 상부에는 디스플레이가 배치되고, 상기 디스플레이는 상기 조작부의 위치 및 진행 방향에 대해 디스플레이 할 수 있다.According to another feature of the present invention, the main body may be formed so that a user can easily grip the main body. According to another feature of the present invention, a display is disposed on the upper part of the main body, and the display can display the location and direction of movement of the manipulation unit.

본 발명의 또 다른 특징에 따르면, 상기 본체의 상부는 외부를 향해 돌출되어 지지면을 형성할 수 있다. 본 발명의 또 다른 특징에 따르면, 상기 조작부는 상기 지지면 상에 지지되어 이동가능하며, 상기 지지면은 상기 본체의 중심부를 향해 일정한 압력이상으로 가압되었을 때 누름조작 될 수 있다.According to another feature of the present invention, the upper portion of the main body may protrude toward the outside to form a support surface. According to another feature of the present invention, the control unit is supported on the support surface and is movable, and the support surface can be operated by pressing when a certain pressure or more is pressed toward the center of the main body.

본 발명의 또 다른 특징에 따르면, 상기 본체는 상기 본체의 상부의 둘레를 따라 상기 지지면 상에 돌출되는 이탈방지턱을 포함할 수 있다.According to another feature of the present invention, the main body may include a separation prevention bump protruding on the support surface along the circumference of the upper portion of the main body.

본 발명의 또 다른 특징에 따르면, 상기 본체는, 상기 조작부와 상기 본체 사이의 상대적 위치에 따른 조작 이외의 객체에 대한 다른 제어를 가능하도록 신호를 입력 가능한 사용자 입력부를 포함할 수 있다.According to another feature of the present invention, the main body may include a user input unit capable of inputting a signal to enable other control of an object other than manipulation according to a relative position between the manipulation unit and the main body.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 사용자 입력부에 입력되는 기 설정된 사용자의 입력에 기반하여, 상기 조작부 및 상기 본체의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다.According to another feature of the present invention, the controller may set a relative initial position (Zero Point) between the control unit and a surface of one side of the main body based on a predetermined user input input to the user input unit. .

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 본체에 대한 상기 조작부의 상대적 초기 위치를 설정한 후, 기 설정된 입력에 따라 상기 상대적 초기 위치를 기준으로 이동하는 상기 조작부의 움직임에 대해서 X축, Y 축 및 Z축 중 적어도 하나의 축에 대한 선형적인 캘리브레이션(Calibration)을 수행하고 이를 저장할 수 있다. 본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 초기 위치 설정값 및 상기 캘리브레이션 수행으로 인한 기준값을 기준으로 상기 조작부와 상기 본체의 일측과의 상대위치를 기반하여 상기 객체를 이동시키는 신호를 발생할 수 있다.According to another feature of the present invention, the control unit sets the relative initial position of the manipulation unit with respect to the main body, and then sets the X-axis for movement of the manipulation unit moving based on the relative initial position according to a preset input. , Y-axis and Z-axis linear calibration (Calibration) for at least one axis can be performed and stored. According to another feature of the present invention, the control unit generates a signal for moving the object based on a relative position between the manipulation unit and one side of the main body based on the initial position setting value and a reference value resulting from the calibration. can

본 발명의 또 다른 특징에 따르면, 상기 조작부와 상기 본체의 일측과의 변위되는 정도를 2 이상의 영역으로 나 누거나 선형적으로 받아들여, 상기 조작부가 각 영역 중 하나의 영역에 위치하는 경우에는 상기 객체를 변 위시키는 크기가 동일한 신호를 발생 시킬 수 있다.According to another feature of the present invention, the degree of displacement between the manipulation unit and one side of the main body is divided into two or more areas or received linearly, and when the operation unit is located in one of the areas, the It is possible to generate signals with the same size as displacing the object.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 조작부의 X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위 이상일 경우, 객체의 상기 다른 두 개의 축의 변위값을 0로 설정할 수 있다.According to another feature of the present invention, the control unit, when the displacement of any one of the X-axis, Y-axis, and Z-axis of the manipulation unit is greater than the displacement of the other two axes within a predetermined range, the other two axes of the object. The displacement value can be set to 0.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 사용자 입력부에 대한 기 설정된 사용자의 입력에 기반하여, 각 영역에서 발생하는 객체를 변위시키는 크기에 대한 비율을 높이거나 줄일 수 있다.According to another feature of the present invention, the control unit may increase or decrease a ratio of a displacement size of an object occurring in each region based on a predetermined user input to the user input unit.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 사용자가 상기 객체가 제어되는 신호의 크기를 용이하게 파악할 수 있도록, 상기 객체를 제어하도록 발생시키는 신호에 따라 서로 다른 청각, 시각 및 촉각 중 적어도 하나의 신호를 발생시킬 수 있다.According to another feature of the present invention, the control unit controls at least one of different auditory, visual, and tactile sensations according to a signal generated to control the object so that the user can easily grasp the size of the signal by which the object is controlled. signal can be generated.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 조작부와 상기 본체의 상부가 기 설정된 변위 이상으로 벗어나거나 상기 본체가 기 설정된 압력 이상의 외력을 받게 되면, 상기 객체가 현재 있는 그 자리에서 유지하도록 하는 신호를 발생시킬 수 있다.According to another feature of the present invention, the control unit, when the manipulation unit and the upper portion of the main body deviate more than a preset displacement or the main body receives an external force equal to or greater than a preset pressure, maintain the object in its current position. signal can be generated.

본 발명의 또 다른 특징에 따르면, 상기 본체는, 상기 조작부를 수납할 수 있는 수납공간을 포함할 수 있다. 본 발명의 또 다른 특징에 따르면, 상기 수납공간은, 상기 본체의 내부에 상기 조작부를 수납하도록 형성되거나, 상기 본체의 외부에 상기 조작부를 착탈 가능하게 끼워넣도록 형성될 수 있다.According to another feature of the present invention, the main body may include a storage space capable of accommodating the operation unit. According to another feature of the present invention, the storage space may be formed to accommodate the operation unit inside the main body, or may be formed to detachably insert the operation unit outside the main body.

본 발명의 또 다른 특징에 따르면, 상기 본체는, 조작시 상기 조작부가 상기 본체로부터 이탈되지 않도록, 본체의 상부면에 상기 조작부와 결합가능한 연결부재를 포함할 수 있다.According to another feature of the present invention, the main body may include a connection member coupled to the manipulation unit on an upper surface of the main body so that the manipulation unit is not separated from the main body during manipulation.

본 발명의 또 다른 특징에 따르면, 사용자 입력부는, 스크롤 버튼, 휠버튼, 슬라이드 버튼 및 누름 버튼 중 적어도 하나를 포함할 수 있다.According to another feature of the present invention, the user input unit may include at least one of a scroll button, a wheel button, a slide button, and a push button.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 상기 사용자 입력부에 기 설정된 사용자의 입력이 가해지는 것에 기반하여 상기 객체를 회전시키는 신호를 발생시킬 수 있다.According to another feature of the present invention, the control unit may generate a signal for rotating the object based on a predetermined user input being applied to the user input unit.

본 발명의 또 다른 특징에 따르면, 조작부는, 사용자의 손가락에 착탈가능하도록, 사용자의 손가락 중 어느 하나에 착탈되도록 복원력을 이용하여 사용자의 손가락을 압박하며 손가락에 홀딩되는 홀딩수단, 사용자의 손가락의 굵기에 맞추어 조여짐이 가능한 조임수단 및 손가락이 삽입가능한 끼움수단 중 적어도 하나를 포함할 수 있다.According to another feature of the present invention, the control unit is detachable from the user's finger, using a restoring force to press the user's finger so as to be attached to or detached from the user's finger, and holding means held by the finger, the user's finger It may include at least one of a tightening means capable of being tightened according to the thickness and a fitting means capable of inserting a finger.

본 발명의 또 다른 특징에 따르면, 객체에 대한 정보, 제어 신호에 대한 정보 및 본체의 설정에 대한 신호를 외부 단말기와 송, 수신 가능한 통신모듈을 더 포함할 수 있다.According to another feature of the present invention, a communication module capable of transmitting and receiving information about an object, information about a control signal, and a signal about setting the main body to and from an external terminal may be further included.

본 발명의 또 다른 특징에 따르면, 상기 본체는, 객체에 대한 정보, 제어 신호에 대한 정보 및 본체의 설정에 대한 신호를 표시 가능한 디스플레이를 더 포함할 수 있다.According to another feature of the present invention, the main body may further include a display capable of displaying information about objects, information about control signals, and signals about settings of the main body.

본 발명의 또 다른 특징에 따르면, 상기 제어부는, 기 설정된 사용자의 입력에 기반하여, 새로운 객체에 대한 제어가 가능하도록 다른 객체와 통신할 수 있도록 본체의 제어 신호를 설정하는 싱크(Sync) 기능을 포함할 수 있다.According to another feature of the present invention, the control unit, based on a preset user input, a sync (Sync) function for setting a control signal of the main body to communicate with another object to enable control of a new object. can include

본 발명의 또 다른 특징에 따르면, 상기 객체는 드론, 무인 비행기, 유인 비행기, 게임기, 컴퓨터 프로그램 내의 오브젝트 및 자동차 중 적어도 하나일 수 있다.According to another feature of the present invention, the object may be at least one of a drone, an unmanned airplane, a manned airplane, a game machine, an object in a computer program, and a car.

본 발명의 또 다른 특징에 따르면, 상기 가상 현실 컨트롤러는 포지션 센서를 이용하여 상기 본체에 대한 상기 조작부의 상대적 위치를 검출할 수 있다.According to another feature of the present invention, the virtual reality controller may detect a relative position of the manipulation unit with respect to the main body using a position sensor.

본 발명의 또 다른 특징에 따르면, 상기 조작부와의 상대적 위치에 따른 센서값을 출력하는 적어도 하나의 센서를 더 포함하고, 상기 제어부는, 상기 센서로부터 획득한 센서값을 기초로 상기 본체에 대한 상기 조작부의 상대적 위치를 산출할 수 있다.According to another feature of the present invention, it further includes at least one sensor for outputting a sensor value according to a relative position with the manipulation unit, wherein the control unit performs the above-mentioned information on the main body based on the sensor value obtained from the sensor. The relative position of the control unit can be calculated.

본 발명의 또 다른 특징에 따르면, 제어부는, 센서로부터 획득한 센서값과, 조작부가 특정 위치에 위치할 때 센서에서 출력된 센서값을 포함하도록 미리 작성된 테이블을 기초로 상기 본체에 대한 상기 조작부의 상대적인 위치를 산출할 수 있다.According to another feature of the present invention, the control unit, based on a table prepared in advance to include the sensor value obtained from the sensor and the sensor value output from the sensor when the operation unit is located in a specific position, the control unit for the main body relative positions can be calculated.

본 발명의 또 다른 특징에 따르면, 테이블은, 조작부가 특정 위치에 위치할 때의 상기 본체에 대한 조작부의 상대적인 위치값과 위치값에 대응되는 예상 센서값이 매칭된 데이터세트를 복수 개 포함할 수 있다.According to another feature of the present invention, the table may include a plurality of data sets in which relative position values of the manipulation unit with respect to the main body when the manipulation unit is located at a specific position and expected sensor values corresponding to the position values are matched. there is.

본 발명의 또 다른 특징에 따르면, 제어부는, 테이블에서, 상기 센서로부터 획득한 센서값과 유사한 예상 센서값을 포함하는 적어도 하나의 유사 데이터세트를 검색하고, 기설정된 기준에 따라 상기 적어도 하나의 유사 데이터세트 중 어느 하나의 유사 데이터세트를 기준 데이터세트로 결정하고, 기준 데이터세트의 위치 값을 상기 본체에 대한 상기 조작부의 상대적 위치로 판단할 수 있다.According to another feature of the present invention, the control unit searches for at least one similar data set including an expected sensor value similar to the sensor value obtained from the sensor in the table, and searches the at least one similar data set according to a predetermined criterion. Any one similar data set among the data sets may be determined as a reference data set, and a position value of the reference data set may be determined as a relative position of the control unit with respect to the main body.

본 발명의 실시 예들 중 적어도 하나에 의하면, 컨트롤러의 움직임만으로 3차원 이동 객체의 움직임을 조종할 수 있어, 사용자에게 직관성을 부여할 수 있다는 장점이 있다.According to at least one of the embodiments of the present invention, it is possible to control the movement of the 3D moving object only with the movement of the controller, and thus has the advantage of imparting intuition to the user.

또한, 미세조종이 가능해지며 이동객체 제어의 정확도가 향상될 수 있다는 장점이 있다.In addition, there is an advantage that fine manipulation is possible and the accuracy of moving object control can be improved.

본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.A further scope of the applicability of the present invention will become apparent from the detailed description that follows. However, since various changes and modifications within the spirit and scope of the present invention can be clearly understood by those skilled in the art, it should be understood that the detailed description and specific examples such as preferred embodiments of the present invention are given as examples only.

도 1은 종래의 가상 현실 컨트롤러의 실시 예를 보여주는 개략도이다.
도 2는 본 발명의 일 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 사시도이다.
도 3은 본 발명의 일 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 블록도이다.
도 4는 도 2의 가상 현실 컨트롤러가 조작부의 인식 영역을 파악하는 것을 설명하기 위한 개념도이다.
도 5a 내지 도 5d는 도 2의 가상 현실 컨트롤러를 이용하여 객체를 컨트롤 하는 조작 방법의 다양한 예들을 설명하기 위한 개념도이다.
도 6a 및 도 6b는 본 발명의 서로 다른 실시예에 따른 가상 현실 컨트롤러에서 조작부가 본체에 수납되는 것을 설명하기 위한 개념도이다.
도 7a 내지 도 7c는 본 발명의 서로 다른 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 사시도이다.
도 8은 본 발명의 서로 다른 실시예에 따른 조작부를 설명하기 위한 개념도이다.
도 9는 본 발명의 다른 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 개념도이다.
도 10은 도 2의 가상 현실 컨트롤러가 본체에 대한 조작부의 상대적인 위치를 판단하는 방법을 설명하기 위한 개념도이다.
도 11은 본 발명의 가상 현실 컨트롤러를 이용하여 컨트롤 할 수 있는 객체를 예시적으로 설명하기 위한 개념도이다.
1 is a schematic diagram showing an embodiment of a conventional virtual reality controller.
2 is a perspective view for explaining a virtual reality controller according to an embodiment of the present invention.
3 is a block diagram for explaining a virtual reality controller according to an embodiment of the present invention.
FIG. 4 is a conceptual diagram illustrating that the virtual reality controller of FIG. 2 recognizes a recognition area of a manipulation unit.
5A to 5D are conceptual views illustrating various examples of a manipulation method of controlling an object using the virtual reality controller of FIG. 2 .
6A and 6B are conceptual diagrams illustrating that a control unit is accommodated in a main body of a virtual reality controller according to different embodiments of the present invention.
7A to 7C are perspective views illustrating virtual reality controllers according to different embodiments of the present invention.
8 is a conceptual diagram for explaining a control unit according to different embodiments of the present invention.
9 is a conceptual diagram for explaining a virtual reality controller according to another embodiment of the present invention.
FIG. 10 is a conceptual diagram for explaining a method for the virtual reality controller of FIG. 2 to determine a relative position of a control unit with respect to the main body.
11 is a conceptual diagram illustrating an object controllable using the virtual reality controller of the present invention by way of example.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다. 본 명세서 상에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.The shapes, sizes, ratios, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are illustrative, so the present invention is not limited to the details shown. In addition, in describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. When 'includes', 'has', 'consists of', etc. mentioned in this specification is used, other parts may be added unless 'only' is used. In the case where a component is expressed in the singular, the case including the plural is included unless otherwise explicitly stated.

구성요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, even if there is no separate explicit description, it is interpreted as including the error range.

위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 ‘직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치 할 수도 있다.In the case of a description of a positional relationship, for example, 'on top of', 'on top of', 'at the bottom of', 'next to', etc. Or, unless 'directly' is used, one or more other parts may be located between the two parts.

소자 또는 층이 다른 소자 또는 층 위 (on)로 지칭되는 것은 다른 소자 바로 위에 또는 중간에 다른 층 또는 다 른 소자를 개재한 경우를 모두 포함한다.When an element or layer is referred to as (on) another element or layer, it includes all cases where another element or layer is directly on top of another element or another layer or other element is interposed therebetween.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although first, second, etc. are used to describe various components, these components are not limited by these terms. These terms are only used to distinguish one component from another. Therefore, the first component mentioned below may also be the second component within the technical spirit of the present invention.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numbers designate like elements throughout the specification.

도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 도시된 것이며, 본 발명이 도시된 구성의 크기 및 두께에 반드시 한정되는 것은 아니다.The size and thickness of each component shown in the drawings are shown for convenience of description, and the present invention is not necessarily limited to the size and thickness of the illustrated components.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each feature of the various embodiments of the present invention can be partially or entirely combined or combined with each other, and as those skilled in the art can fully understand, various interlocking and driving operations are possible, and each embodiment can be implemented independently of each other. It may be possible to implement together in an association relationship.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 사시도이다. 도 3은 본 발명의 일 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 블록도이다.2 is a perspective view for explaining a virtual reality controller according to an embodiment of the present invention. 3 is a block diagram for explaining a virtual reality controller according to an embodiment of the present invention.

도 2 및 도 3을 참조하면, 가상 현실 컨트롤러(1000)는 서로 접촉되지 않은 상태에서 조작되는 본체(100), 조작부 (200) 및 제어부(300)를 포함한다.Referring to FIGS. 2 and 3 , the virtual reality controller 1000 includes a main body 100, a manipulation unit 200, and a control unit 300 that are operated without contact with each other.

본체(100)는 센서부(110), 사용자 입력부(120), 출력부(130), 통신부(140) 및 저장부(150)를 포함한다. 또한, 본체(100)의 내부에는 제어부(300)가 배치될 수 있다. 한편, 본체(100)의 상부의 표면에는 조작부(200)가 수직 상부에 이격되어 배치되는 영역을 가이드하도록 표식이 식각되어 있을 수 있다.The body 100 includes a sensor unit 110, a user input unit 120, an output unit 130, a communication unit 140, and a storage unit 150. In addition, the controller 300 may be disposed inside the main body 100 . Meanwhile, a mark may be etched on the upper surface of the main body 100 to guide a region where the manipulation unit 200 is vertically spaced apart.

센서부(110)는 본체(100)의 일면, 구체적으로 본체(100)의 상면에 가까운 내부에 배치될 수 있다. 본체(100)에 배치되는 센서부(110)는 조작부(200)에 포함되는 또 다른 센서와 서로 상대적인 변위를 측정할 수 있다. 제어부(300)는 측정된 변위를 기반으로 객체(10)에 전달할 조작의 신호를 결정할 수 있다.The sensor unit 110 may be disposed on one surface of the main body 100, specifically, inside close to the upper surface of the main body 100. The sensor unit 110 disposed on the main body 100 and another sensor included in the manipulation unit 200 may measure displacement relative to each other. The controller 300 may determine a manipulation signal to be transmitted to the object 10 based on the measured displacement.

사용자 입력부(120)는 조작부(200)와 본체(100) 사이의 상대적 위치에 따른 조작 이외의 객체(10)에 대한 다른 제어를 가능하도록 신호를 입력 가능하도록 본체(100)에 배치된다. 구체적으로 사용자 입력부(120)는 조작부The user input unit 120 is disposed on the main body 100 so as to be able to input a signal to enable other control of the object 10 other than manipulation according to the relative position between the manipulation unit 200 and the main body 100 . Specifically, the user input unit 120 is a control unit

(200)와 본체(100)의 상대적인 변위로는 결정되지 않는 객체(10)의 조작 신호를 입력하거나, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호를 칼리브래이션 하거나, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호의 크기 및 비율을 조정하는 역할로 사용될 수 있다. 조작부(200)와 본체(100)의 상대적인 변위로는 결정되지 않는 객체(10)의 조작 신호는 객체(10)의 회전신호 일 수 있다.Inputting a manipulation signal of the object 10 that is not determined by the relative displacement of the object 200 and the main body 100, or calibrating a signal determined by the relative displacement of the manipulation unit 200 and the main body 100, It can be used as a role of adjusting the size and ratio of the signal determined by the relative displacement of the manipulation unit 200 and the main body 100. The manipulation signal of the object 10 that is not determined by the relative displacement of the manipulation unit 200 and the main body 100 may be a rotation signal of the object 10 .

한편, 사용자 입력부(120)는 본체(100)의 전면에 사용자의 엄지 손가락이 아닌 다른 손가락들이 배치되도록 형성될 수 있다. 다만, 이에 한정되지 않고 사용자 입력부(120)는 본체(100)의 다른 위치에 형성되거나, 조작부(200)에 형성될 수 있다.Meanwhile, the user input unit 120 may be formed such that fingers other than the user's thumb are disposed on the front surface of the main body 100 . However, it is not limited thereto, and the user input unit 120 may be formed at another location of the main body 100 or at the manipulation unit 200 .

아울러, 사용자 입력부(120)는, 스크롤 버튼, 휠버튼, 슬라이드 버튼 및 누름 버튼 중 적어도 하나를 포함할 수 있다. 도면을 기준으로 가장 위에 있는 버튼이 휠 버튼이고, 그 아래에는 슬라이드 버튼이 있으며, 그 밑에에는 누름 버튼이 있다.In addition, the user input unit 120 may include at least one of a scroll button, a wheel button, a slide button, and a push button. Based on the drawing, the uppermost button is a wheel button, below it is a slide button, and below it is a push button.

출력부(130)는 제어부(300)에 의해 발생되는 여러가지 신호를 사용자가 인식할 수 있게 출력하는 구성을 의미한다. 가상 현실 컨트롤러(1000)는 출력부(130)를 통해 사용법 등을 가이드하거나, 객체(10)에 전달되는 신호의 종류나 신호의 크기를 사용자에게 인식시키기 위하여 사용될 수 있다. 예를 들어, 출력부(130)는 광을 발산하는 LED 등의 광원, 소리를 출력하는 스피커(131), 본체(100)를 진동시키는 진동모듈 등이 될 수 있다.The output unit 130 means a component that outputs various signals generated by the control unit 300 so that the user can recognize them. The virtual reality controller 1000 may be used to guide usage or the like through the output unit 130 or to allow the user to recognize the type or size of a signal transmitted to the object 10 . For example, the output unit 130 may be a light source such as an LED that emits light, a speaker 131 that outputs sound, a vibration module that vibrates the main body 100, and the like.

한편, 디스플레이(132)는 출력부(130) 중 하나일 수 있다. 디스플레이(132)는 본체(100)에 사용자가 시인 가능하게 배치될 수 있다. 디스플레이(132)는 객체(10)에 대한 정보, 제어 신호에 대한 정보 및 본체(100)의 설정에 대한 신호를 표시 가능하다.Meanwhile, the display 132 may be one of the output units 130 . The display 132 may be disposed on the main body 100 so that a user can view it. The display 132 may display information about the object 10 , information about a control signal, and a signal about setting the main body 100 .

통신부(140)는 객체(10)에 대한 정보, 제어 신호에 대한 정보 및 본체(100)의 설정에 대한 신호를 외부 단말기(20)와 송, 수신 가능하다. 즉, 통신부(140)는 가상 현실 컨트롤러(1000)가 동작을 조작하고자 하는 객체(10)와 통 신하거나, 본체(100) 및/또는 객체(10)와 관련된 정보들을 설정하거나 디스플레이(132) 할 수 있는 외부 단말(20)과 통신할 수 있다.The communication unit 140 can transmit and receive information about the object 10, information about control signals, and signals about settings of the main body 100 to and from the external terminal 20. That is, the communication unit 140 may communicate with the object 10 for which the virtual reality controller 1000 is to manipulate, set or display 132 information related to the main body 100 and/or the object 10. It is possible to communicate with an external terminal 20 capable of communicating.

저장부(150)는 제어부(300)에서 측정한 본체(100)와 조작부(200) 사이의 상대적 초기 위치나, 사용자가 조작부(200)를 중심으로 조작 시험을 할 때 측정된 칼리브래이션을 저장할 수 있다. 또한, 저장부(150)는 객체 컨트롤러(1000)가 다른 종류의 객체(10), 예를 들어 드론, 무인 비행기, 유인 비행기, 게임기, 컴퓨터 프로그램 내의 오브젝트 및 자동차 등을 조작할 때 사용될 수 있는 신호 체계, 프로그램 등이 저장되어 있을 수 있다.The storage unit 150 stores the relative initial position between the main body 100 and the control unit 200 measured by the control unit 300 or the calibration measured when the user performs a control test with the control unit 200 as the center. can be saved In addition, the storage unit 150 is a signal that can be used when the object controller 1000 manipulates other types of objects 10, such as drones, unmanned airplanes, manned airplanes, game machines, objects in computer programs, and cars. Systems, programs, etc. may be stored.

본체(100)는 사용자가 한 손으로 파지 가능하도록 형성될 수 있다. 도 2를 참조하면, 사용자는 한 손으로 가상 현실 컨트롤러(1000)를 사용할 수 있다. 구체적으로, 사용자는 엄지손가락에 조작부(200)를 부착시킨 뒤, 나머지 네 손가락과 손바닥을 이용하여 본체(100)를 파지할 수 있다. 사용자는 가상 현실 컨트롤러(1000)에 대한 이러한 파지를 통해 한 손으로 보다 용이하게 객체(10)를 컨트롤 할 수 있다. 한편, 상술한 설명에 한정되는 것은 아니며, 본체(100)를 바닥 등에 배치한 상태에서 조작부(200)를 사용하거나, 본체(100)는 다른 손으로 잡고 다른 한 손으로 조작부(200)를 사용할 수도 있다.The main body 100 may be formed so that a user can hold it with one hand. Referring to FIG. 2 , a user may use the virtual reality controller 1000 with one hand. Specifically, the user may attach the control unit 200 to the thumb and then grip the main body 100 using the remaining four fingers and the palm of the hand. The user can more easily control the object 10 with one hand through such gripping of the virtual reality controller 1000 . On the other hand, it is not limited to the above description, and the control unit 200 may be used while the main body 100 is placed on the floor or the like, or the control unit 200 may be used with the other hand while holding the main body 100 with the other hand. there is.

조작부(200)는 본체(100)와 비접촉되어 본체(100)와 이격된 상태에서 움직여질 수 있다. 이 때, 제어부(300)는 본체(100)와 조작부(200)의 상대적인 위치를 기반으로 객체(10)를 움직일 수 있다.The control unit 200 is non-contact with the main body 100 and can be moved in a spaced apart state from the main body 100 . At this time, the controller 300 may move the object 10 based on the relative positions of the main body 100 and the manipulation unit 200 .

조작부(200)는 사용자의 손에 부착될 수 있다. 구체적으로 도 2를 참조하면, 사용자의 엄지 손가락에 부착될 수 있다. 조작부(200)는 링 형상으로 형성될 수 있으나, 이에 한하지 않고 사용자의 손에 부착될 수 있는 수단이 구비되면 충분하다. 이에 대해서는 도 8을 참조하여 구체적으로 설명한다.The control unit 200 may be attached to a user's hand. Specifically, referring to FIG. 2 , it may be attached to a user's thumb. The control unit 200 may be formed in a ring shape, but is not limited thereto, and a means capable of being attached to the user's hand is sufficient. This will be described in detail with reference to FIG. 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, 예를 들어, 카메라) 중 적어도 하나일 수도 있다.Meanwhile, the relative position of the control unit 200 and the main body 100 may be detected using a 3D magnetic sensor. Specifically, the body 100 has a built-in 3D magnetic sensor, and the manipulation unit 200 has a built-in magnet so that mutual displacements can be grasped. In addition, the position sensor capable of detecting the relative position between the manipulation unit 200 and the main body 100 includes an acceleration sensor, a magnetic sensor, an impedance sensor, a hybrid sensor for an impedance sensor and a magnetic sensor, a hybrid sensor, Gravity sensor (G-sensor), gyroscope sensor (gyroscope sensor), motion sensor (motion sensor), infrared sensor (IR sensor: infrared sensor), ultrasonic sensor (ultrasonic sensor), optical sensor (for example, camera) may be at least one of them.

이러한 센서를 이용하여 제어부(300)가 본체(100)와 조작부(200)의 상대적인 위치를 판단하는 구체적인 방법은 도 10을 참조하여 후술하도록 한다.A specific method for the controller 300 to determine the relative positions of the main body 100 and the control unit 200 using these sensors will be described later with reference to FIG. 10 .

제어부(300)는 본체(100) 내부에 배치되고, 본체(100)에 대한 조작부(200)의 상대적 위치를 기반으로 객체(10)의 움직임을 제어한다.The controller 300 is disposed inside the main body 100 and controls the movement of the object 10 based on the relative position of the manipulation unit 200 with respect to the main body 100 .

예를 들어, 제어부(300)는 사용자 입력부(120)에 입력되는 기 설정된 사용자의 입력에 기반하여, 조작부(200) 및 본체(100)의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다. 구체적으로, 사용자마다 손의 크기가 다를 수 있으므로, 조작부(200)를 손가락에 끼운 상태에서 본체(100)를 파지했을 때, 편안하게 조작부(200)가 본체(100) 상부에 놓이는 포인트가 다를 수 있다. 이 경우, 조작부(200)가 놓일 수 있는 곳에 표식이 되어 있지만, 사용자가 이곳에 정확하게 자신의 조작부(200)를 배치시키기 어려울 수 있다. 따라서, 편안한 상태에서 조작부(200)를 본체(100)의 상부에 배치한 상태에서 사용자는 사용자 입력부(120)에 기 설정된 입력을 하면, 제어부(300)는 이 때의 조작부(200)와 본체(100)와의 상대적인 거리를 기본 거리, 즉 상대적 초기 위치로 파악할 수 있다.For example, the control unit 300 sets a relative initial position (zero point) between the control unit 200 and the surface of one side of the main body 100 based on a preset user's input input to the user input unit 120. can Specifically, since the size of each user's hand may be different, the point at which the control unit 200 is comfortably placed on the upper body 100 may be different when the main body 100 is gripped while the control unit 200 is inserted into the finger. there is. In this case, the place where the manipulation unit 200 can be placed is marked, but it may be difficult for the user to accurately place his or her manipulation unit 200 there. Therefore, when the user inputs a predetermined input to the user input unit 120 in a state where the control unit 200 is placed above the main body 100 in a comfortable state, the control unit 300 controls the control unit 200 and the main body ( 100) can be identified as a basic distance, that is, a relative initial position.

또한, 제어부(300)는 본체(100)에 대한 조작부(200)의 상대적 초기 위치를 설정한 후, 기 설정된 입력에 따라 조작부(200)의 X축, Y축 및 Z축 중 적어도 하나의 축에 대해서, 상대적 초기 위치를 기준으로 캘리브레이션(Calibration)을 수행할 수 있다. 구체적으로, 상대적 초기 위치의 상태에서 손가락을 X축, Y축 및 Z축 방향으로 천천히 움직이면, 제어부(300)는 이 때의 변위 및 궤적이 해당 사용자의 변위 및 궤적으로 판단하고 이를 기 준으로 제어동작을 판단하게 된다.In addition, after setting the relative initial position of the control unit 200 with respect to the main body 100, the control unit 300 moves the control unit 200 to at least one of the X-axis, Y-axis, and Z-axis according to a preset input. , calibration may be performed based on the relative initial position. Specifically, when the finger moves slowly in the X-, Y-, and Z-axis directions from the relative initial position, the controller 300 determines that the displacement and trajectory of the user is the displacement and trajectory of the user, and controls based on this. judge the action.

한편, 제어부(300)는 조작부(200)와 본체(100)의 상부가 기 설정된 변위 이상으로 벗어나는 경우, 객체(10)가 현재 있는 그 자리에서 유지하도록 하는 유지신호를 발생시킬 수 있다. 구체적으로 사용자가 조작부(200)를 손가락에 착용한 상태에서, 본체(100)가 사용자의 손으로부터 이탈되는 경우가 발생할 수 있다. 본체(100)가 낙하하는 과정에서, 본체(100)와 조작부(200)는 서로 큰 변위로 이격되므로 예를 들어, 드론 조작중이라면, 제어부(300)에서는 이를 드론의 상승신호라고 판단할 수 있게 된다. 이러한 경우를 방지하기 위해, 앞서서 측정한 상대적 초기 위치 및 캘리브레이션된 값에서 기설정된 값 이상을 벗어나게 되는 경우, 객체(10)가 위치하던 자리에서 계속 유지하도록 하는 유지신호, 즉 셧다운신호(Shut-Down)를 발생시킬 수 있다.Meanwhile, the control unit 300 may generate a holding signal to maintain the object 10 at the current position when the upper part of the manipulation unit 200 and the main body 100 deviate more than a preset displacement. Specifically, while the user is wearing the control unit 200 on a finger, the body 100 may be separated from the user's hand. In the process of the main body 100 falling, the main body 100 and the control unit 200 are separated from each other by a large displacement. For example, if a drone is being operated, the control unit 300 can determine this as a rising signal of the drone. do. In order to prevent this case, when the relative initial position and the calibrated value measured earlier deviate from the predetermined value or more, a holding signal that keeps the object 10 at the position where it was located, that is, a shutdown signal (Shut-Down ) can occur.

또한, 제어부(300)는 기 설정된 사용자의 입력에 기반하여, 새로운 객체(10)에 대한 제어가 가능하도록 다른 객체(10)와 통신할 수 있도록 본체(100)의 제어 신호를 설정하는 싱크(Sync) 기능을 포함할 수 있다. 구체적으로, 새로운 객체(10)(예를 들어, 컴퓨터 프로그램 내의 오브젝트 및 자동차 등)에 가상 현실 컨트롤러(1000)를 싱크시켜 조작가능하게 할 수 있다. 이 때에는 사용자 입력부(120)에 기 설정된 입력을 함으로써, 새로운 객체(10)와 가상 현실 컨트롤러(1000)를 싱크시킬 수 있다.In addition, the control unit 300 sets a control signal of the main body 100 to be able to communicate with another object 10 so as to control a new object 10 based on a preset user input. ) function can be included. Specifically, the virtual reality controller 1000 may be synchronized with a new object 10 (eg, an object in a computer program, a car, etc.) so as to be operable. In this case, the new object 10 and the virtual reality controller 1000 may be synchronized by performing a preset input to the user input unit 120 .

또한, 제어부(300)는, 기 설정된 사용자 입력이 가해지는 것에 기반하여, 상기 객체(10)가 호버링(hovering) 상태를 유지하도록, 통신부(140)의 전송을 오프(OFF) 상태로 설정할 수 있다.In addition, the control unit 300 may set the transmission of the communication unit 140 to an OFF state so that the object 10 maintains a hovering state based on a preset user input being applied. .

도 4는 도 2의 가상 현실 컨트롤러가 조작부의 인식 영역을 파악하기 위한 개념도이다.FIG. 4 is a conceptual diagram for the virtual reality controller of FIG. 2 to determine a recognition area of a manipulation unit.

도 4를 참조하면, 조작부(200)가 본체(100)에 대하여 상대적으로 이동하는 영역을 Y축 방향에 대해서 나눈 것을 알 수 있다. 사용자가 조작부(200)를 착용한 상태에서 조작부(200)를 이동시킬 때, 조작부(200)에 대한 미세한 조정이 어려우므로 이러한 영역을 지정하여, 제어부(300)의 출력을 몇 단계로 나눌 수 있다. 이러한 영역의 분리는 사용자의 조작 미숙이나, 피로도에 의한 오작동의 확률을 줄여준다.Referring to FIG. 4 , it can be seen that the area in which the control unit 200 moves relative to the main body 100 is divided in the Y-axis direction. When the user moves the control unit 200 while wearing the control unit 200, it is difficult to fine-tune the control unit 200, so the output of the control unit 300 can be divided into several steps by designating this area. . Separation of these areas reduces the probability of malfunction due to user's inexperience or fatigue.

이러한 영역을 설정은 사용자의 칼리브래이션 단계에서 설정될 수 있다. 구체적으로, 사용자마다 손가락의 길이나, 이동에 대한 체감 변위가 다르다. 따라서, 가상 현실 컨트롤러(1000)를 사용시, 상대적 초기 위치를 설정하고, X축, Y축 및 Z축에 대해서 단계적으로 변위를 칼리브래이션하여 저장하는 단계를 거쳐갈 수 있다. 구체적으로 설명하자면 다음과 같다.This area can be set in the user's calibration step. Specifically, each user has a different finger length or sensory displacement for movement. Accordingly, when using the virtual reality controller 1000, a relative initial position may be set, and the displacement may be calibrated and stored step by step with respect to the X-axis, Y-axis, and Z-axis. Specifically, it is as follows.

사용자가 조작부(200)를 착용한 후, 본체(100)를 파지한다. 그 후에 사용자 입력부(120) 등을 통하여 상대적 초기 위치를 설정한다. 상대적 초기 위치를 설정한 후에 가상 현실 컨트롤러(1000)는 자동으로 X축, Y축 및 Z축에 대해서 단계적으로 변위를 설정하도록 사용자에게 요구할 수 있다. 예를 들어, 가상 현실 컨트롤러(1000)는 사용자에게 “오른쪽으로 1단계 이동하십시오.” 라는 출력을 출력부(130)를 통해서 할 수 있다. 그 후에 “오른쪽으로 2단계 이동하십시오.” 라는 출력을 출력부(130)를 통해서 할 수 있다. 이에 따라, 사용자는 조작부(200)를 오른쪽으로 1단계 이동한다. 그 후에 오른쪽으로 2단계, 즉 1단계보다 더 오른쪽으로 이동한 상태로 조작부(200)를 옮기게 된다. 이러한 과정을 반복하는 등의 방법을 통해서 X축, Y축 및 Z축에 대한 영역을 설정할 수 있다.After the user wears the control unit 200, the user grips the main body 100. After that, a relative initial position is set through the user input unit 120 or the like. After setting the relative initial position, the virtual reality controller 1000 may request the user to automatically set the displacement step by step with respect to the X axis, Y axis, and Z axis. For example, the virtual reality controller 1000 prompts the user to “move one step to the right.” can be output through the output unit 130. After that, “Go right two steps.” can be output through the output unit 130. Accordingly, the user moves the manipulation unit 200 one step to the right. After that, the operation unit 200 is moved to the right two steps, that is, in a state of moving to the right more than the first step. Areas for the X-axis, Y-axis, and Z-axis can be set through a method such as repeating this process.

다시 한번 설명하면, 사용자의 손의 크기 등에 따라서 제1 영역(310), 제2 영역(320a, 320b) 및 제3 영역(330a, 330b)의 설정이 달라질 수 있다. 따라서, 제어부(300)는 가상 현실 컨트롤러(1000)의 작동 초기에 상대적 초기 위치 설정 및 각 영역에 대한 캘리브레이션을 수행할 수 있다. 이러한 상대적 초기 위치 설정 및 각 영역에 대한 캘리브레이션은 사용자 입력부(120)에 기설정된 신호가 입력되면 이루어 질 수 있다.In other words, the settings of the first region 310, the second regions 320a and 320b, and the third regions 330a and 330b may vary according to the size of the user's hand. Accordingly, the control unit 300 may set a relative initial position and perform calibration for each area at the beginning of operation of the virtual reality controller 1000 . Such relative initial position setting and calibration for each area may be performed when a predetermined signal is input to the user input unit 120 .

즉, 조작부(200)와 본체(100)의 상대적인 변위로 결정되는 신호의 칼리브래이션은 다음과 같다. 제어부(300)는 사용자 입력부(120)에 입력되는 기 설정된 사용자의 입력에 기반하여, 조작부(200) 및 본체(100)의 일측의 표면과의 상대적 초기 위치(Zero Point)를 설정할 수 있다. 상대적 초기 위치를 설정한 이후에, 사용자는 조작부(200)의 X축, Y축 및 Z축 중 적어도 하나의 축에 대해서 조작부(200)를 이동시킬 수 있다. 이 때, 센서부(110) 및 제어부(300)는 조작부(200)의 변위를 상대적 초기 위치와 비교하여 캘리브레이션(Calibration)을 수행할 수 있다.That is, the calibration of the signal determined by the relative displacement of the control unit 200 and the main body 100 is as follows. The control unit 300 may set a relative initial position (Zero Point) between the control unit 200 and the surface of one side of the main body 100 based on a predetermined user input input through the user input unit 120 . After setting the relative initial position, the user may move the manipulation unit 200 with respect to at least one of the X axis, Y axis, and Z axis of the manipulation unit 200 . At this time, the sensor unit 110 and the control unit 300 may perform calibration by comparing the displacement of the manipulation unit 200 with the relative initial position.

구체적으로 도 4를 참조하면, Y축으로 제1 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 이동시키는 신호가 발생하지 않을 수 있다. 제2 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 기결정된 속도로 이동시키는 신호가 발생된다. 그리고 제3 영역에 조작부(200)가 위치할 때는 제어부(300)에서 객체(10)를 Y축 방향으로 상기 제2 영역에서 발생한 이동 속도보다 더 빠른 속도로 이동시키는 신호가 발생할 수 있다. 이 때, 제어부(300)는 조작부(200)가 각 영역 중 하나의 영역에 위치하는 경우에는 객체(10)를 변위시키는 크기가 동일한 신호를 발생시킬 수 있다. 즉, 제어부(300)는 조작부(200)가 하나 의 영역에 위치할 때에는 동일한 크기의 출력으로 객체(10)가 이동할 수 있다.Specifically, referring to FIG. 4 , when the manipulation unit 200 is positioned in the first region along the Y axis, a signal for moving the object 10 in the Y axis direction may not be generated by the control unit 300 . When the control unit 200 is located in the second area, a signal for moving the object 10 in the Y-axis direction at a predetermined speed is generated by the control unit 300 . Also, when the manipulation unit 200 is located in the third area, a signal for moving the object 10 in the Y-axis direction at a speed faster than the moving speed generated in the second area may be generated by the control unit 300 . In this case, when the manipulation unit 200 is located in one of the regions, the control unit 300 may generate a signal having the same size to displace the object 10 . That is, the controller 300 can move the object 10 with an output of the same size when the manipulation unit 200 is located in one area.

한편, 이러한 각 축에 대한 영역은 3개의 이상의 영역으로 더 나뉠 수도 있으며, 2개의 영역으로 나뉠 수도 있다. 또한, 복수의 영역으로 나뉘지 않고 Linear하게 설정될 수도 있다.Meanwhile, the area for each axis may be further divided into three or more areas or two areas. Also, it may be set linearly without being divided into a plurality of areas.

또한, 제어부(300)는 조작부(200)의 X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위보다 클 경우, 객체(10)의 다른 두 개의 축의 변위값을 0로 설정할 수 있다. 예를 들어, 사용자의 엄지 손가락에 조작부(200)가 부착되어 이동할 때에는 손가락의 관절 및 구조상, 조작부(200)가 X축, Y축 또는 Z축으로 Linear하게 움직이기 어려울 수 있다. 따라서, X축, Y축 및 Z축 중 어느 하나의 축의 변위가 다른 두 개의 축의 변위보다 기 설정된 범위보다 클 경우, 기 설정된 범위보다 큰 축으로만 객체(10)가 움직이도록 설정될 수 있다.In addition, the controller 300 controls the displacement of the other two axes of the object 10 when the displacement of any one of the X, Y, and Z axes of the manipulation unit 200 is greater than the displacement of the other two axes within a preset range. You can set the value to 0. For example, when the control unit 200 is attached to a user's thumb and moved, it may be difficult to move the control unit 200 linearly along the X-axis, Y-axis, or Z-axis due to the joint and structure of the finger. Accordingly, when the displacement of any one of the X, Y, and Z axes is larger than the preset range than the displacements of the other two axes, the object 10 may be set to move only along the axis larger than the preset range.

이 때, 제어부(300)는 캘리브레이션 값을 기준으로 조작부(200)와 본체의 일측과의 변위를 기반하여 객체(10)를 이동시키는 신호를 발생하게 된다. 그러나 이에 한정되지 않고, 캘리브레이션 값 이외에 기준값으로 객체(10)를 이동시키는 신호를 발생시킬 수 있다. 이 때의 기준값은 캘리브레이션 값에 오차범위를 반영하여 새롭게 산출된 값일 수 있다.At this time, the controller 300 generates a signal for moving the object 10 based on the displacement between the manipulation unit 200 and one side of the main body based on the calibration value. However, the present invention is not limited thereto, and a signal for moving the object 10 may be generated with a reference value other than the calibration value. The reference value at this time may be a value newly calculated by reflecting the error range in the calibration value.

도 5a 내지 도 5d는 도 2의 가상 현실 컨트롤러를 이용하여 객체를 컨트롤 하는 조작 방법의 다양한 예들을 설명하기 위한 개념도이다.5A to 5D are conceptual views illustrating various examples of a manipulation method of controlling an object using the virtual reality controller of FIG. 2 .

먼저 도 5a를 참조하면, 가상 현실 컨트롤러(1000)가 상대좌표 모드로 객체(10)를 이동시키는 모습이 도시되어 있다. 사용자가 조작부(200)를 제1 방향으로 화살표 a의 백터값으로 이동시켰다. 이런 상황에서 객체(10)는 제1 방향으로 a의 벡터값으로 계속하여 이동하고 있다. 이는 가상 현실 컨트롤러(1000)가 상대좌표 모드로 객체(10)를 움직이는 것으로 볼 수 있다.First, referring to FIG. 5A , a state in which the virtual reality controller 1000 moves the object 10 in a relative coordinate mode is illustrated. The user moves the manipulation unit 200 to the vector value of arrow a in the first direction. In this situation, the object 10 continues to move with the vector value of a in the first direction. This can be seen as the virtual reality controller 1000 moving the object 10 in a relative coordinate mode.

구체적으로, 가상 현실 컨트롤러(1000)의 조작부(200)는 상대좌표 모드에서 제1 방향으로 a의 거리만큼 이동된다. 이에 따라, 객체(10)는 제1 방향으로 a의 거리의 절대 값에 비례하는 속도(또는, 일정 비율을 적용한 값의 속도)로 이동하게 된다. 즉, 상대좌표 모드에서는 객체(10)는 a의 비례하는 속도로 계속하여 진행하게 된다.Specifically, the control unit 200 of the virtual reality controller 1000 is moved by a distance of a in the first direction in the relative coordinate mode. Accordingly, the object 10 moves in the first direction at a speed proportional to the absolute value of the distance a (or a speed of a value obtained by applying a predetermined ratio). That is, in the relative coordinate mode, the object 10 continues to move at a speed proportional to a.

다음으로 도 5b 및 도 5c를 참조하면, 가상 현실 컨트롤러(1000)가 절대좌표 모드로 객체(10)를 이동시키는 모습이 도시되어 있다. 두 경우 모두 사용자가 조작부(200)를 제1 방향으로 화살표 a의 백터값으로 이동시켰다. 이 때, 도 5b에서는 객체(10)가 제1 방향으로 c의 벡터값으로 이동하게 된다. 그리고 도 5c에서는 객체(10)가 제1 방향으로 d의 벡터값으로 이동하게 된다.Next, referring to FIGS. 5B and 5C , the virtual reality controller 1000 moves the object 10 in an absolute coordinate mode. In both cases, the user moved the manipulation unit 200 to the vector value of the arrow a in the first direction. At this time, in FIG. 5B, the object 10 moves in the first direction with a vector value of c. And, in FIG. 5C, the object 10 moves in the first direction with the vector value of d.

우선 절대좌표 모드는 조작부(200)가 이동한 만큼에 해당하는 출력만큼 객체(10)가 이동한 후에는 멈추게 된다. 따라서, 도 5b에서는 객체(10)가 제1 방향으로 c의 벡터값으로 이동한 후 멈추게 된다. 그리고 도 5c에서는 객체(10)가 제1 방향으로 d의 벡터값으로 이동한 후 멈추게 된다.First, the absolute coordinate mode stops after the object 10 moves as much as the output corresponding to the movement of the manipulation unit 200 . Accordingly, in FIG. 5B , the object 10 moves in the first direction with the vector value of c and then stops. And, in FIG. 5C, the object 10 moves in the first direction with the vector value of d and then stops.

그리고, 제어부(300)는 사용자 입력부(120)에 대한 기 설정된 사용자의 입력에 기반하여, 각 영역에서 발생하는 객체(10)를 변위시키는 크기에 대한 비율을 높이거나 줄일 수 있다. 구체적으로, 사용자 입력부(120) 중에서 조작부(200)의 상대적 변위에 일정 비율을 적용한 값으로 객체(10)를 이동시키도록 조정할 수 있다. 예를 들어 도 5b의 제2 사용자 입력키(122)를 어느 일 방향으로 밀게 되면, 상대적으로 적은 백터값으로 객체(10)를 움직일 수 있다. 그리고, 도 5c에서는 제2 사용자 입력키(122)를 어느 일 방향으로 밀지 않고 있다. 이러한 경우에는 조작부(200)에서 움직인 거리에 도 5b와 비교하였을 때 상대적으로 큰 값을 곱한 백터값으로 객체(10)가 이동할 수 있다.In addition, the controller 300 may increase or decrease the ratio of the displacement size of the object 10 generated in each area based on a preset user input to the user input unit 120 . Specifically, it may be adjusted to move the object 10 with a value obtained by applying a predetermined ratio to the relative displacement of the manipulation unit 200 among the user input units 120 . For example, when the second user input key 122 of FIG. 5B is pushed in one direction, the object 10 can be moved with a relatively small vector value. And, in FIG. 5C , the second user input key 122 is not pushed in one direction. In this case, the object 10 may move with a vector value obtained by multiplying the distance moved by the manipulation unit 200 by a relatively large value when compared to FIG. 5B.

다음으로 도 5d를 참조하면, 가상 현실 컨트롤러(1000)를 이용해 객체(10)를 회전 조작하는 모습이 도시되어 있다. 제어부(300)는 사용자 입력부(120)에 기 설정된 사용자의 입력이 가해지는 것에 기반하여 객체(10)를 회전시키는 신호를 발생시킬 수 있다.Next, referring to FIG. 5D , a state in which the object 10 is rotated using the virtual reality controller 1000 is illustrated. The controller 300 may generate a signal for rotating the object 10 based on a preset user input applied to the user input unit 120 .

구체적으로, 제1 사용자 입력키(121)는 휠 키로 구성된다. 이런 경우에 휠 키를 돌리면, 객체(10)는 해당 방향으로 회전할 수 있다. 이 때에도 가상 현실 컨트롤러(1000)는 상대좌표 모드 또는 절대좌표 모드로 객체(10)의 이동을 제어할 수 있다.Specifically, the first user input key 121 is composed of a wheel key. In this case, when the wheel key is turned, the object 10 can be rotated in the corresponding direction. Even at this time, the virtual reality controller 1000 may control the movement of the object 10 in a relative coordinate mode or an absolute coordinate mode.

이러한 상대좌표 모드 및 절대좌표 모드는 제1 사용자 입력키 내지 제4 사용자 입력키(121, 122, 123, 124)에 누름 조작, 누름 조작의 횟수, 누름 조작의 시간 등의 여러 가지 조작 동작 중 기 결정된 조작방법이 입력되는 경우 서로 변경될 수 있다.The relative coordinate mode and the absolute coordinate mode are among various manipulation operations such as pressing manipulations, the number of pressing manipulations, and pressing manipulation times for the first to fourth user input keys 121, 122, 123, and 124. When the determined operation method is input, it can be changed to each other.

한편, 제어부(300)는 사용자가 객체(10)가 제어되는 신호의 크기를 용이하게 파악할 수 있도록, 객체(10)를 제어하도록 발생시키는 신호에 따라 서로 다른 청각, 시각 및 촉각 중 적어도 하나의 신호를 발생시킬 수 있다. 즉, 이러한 변경은 출력부(130)를 통해 사용자가 인식가능하게 출력될 수 있다. 예를 들어, 도 5a에서 상대좌표 모드인 경우, 스피커(131)를 통해 중간 정도 크기의 소리가 날 수 있다. 또한 절대좌표 모드인 도 5b와 도 5c에서는, 객체(10)가 이동되는 백터의 크기에 대응되어 소리의 크기가 결정될 수 있다. 또한, 회전 모드인 도 5d에서는 소리가 주기적으로 날 수 있다. 다만, 디스플레이(132)를 통한 시각적인 출력도 가능하며, 진동을 통한 촉각적인 출력도 가능하다.On the other hand, the control unit 300 generates at least one of different auditory, visual, and tactile signals according to the signal generated to control the object 10 so that the user can easily grasp the size of the signal by which the object 10 is controlled. can cause That is, these changes can be output through the output unit 130 to be recognizable to the user. For example, in the case of the relative coordinate mode in FIG. 5A , a medium-sized sound may be heard through the speaker 131 . In addition, in the absolute coordinate mode of FIGS. 5B and 5C, the volume of sound may be determined corresponding to the magnitude of the vector through which the object 10 is moved. In addition, in the rotation mode of FIG. 5D, sound may be emitted periodically. However, visual output through the display 132 is also possible, and tactile output through vibration is also possible.

도 6a 및 도 6b는 본 발명의 서로 다른 실시예에 따른 가상 현실 컨트롤러에서 조작부가 본체에 수납되는 것을 설명하기 위한 개념도이다.6A and 6B are conceptual diagrams illustrating that a control unit is accommodated in a main body of a virtual reality controller according to different embodiments of the present invention.

본 발명의 가상 현실 컨트롤러(1000)의 본체(100)는 조작부(200)를 수납할 수 있는 수납공간(90)을 포함할 수 있다. 구체적으로, 수납공간(90)은 본체(100)의 내부에 조작부(200)를 수납하도록 형성되거나, 본체(100)의 외부에 조작부(200)를 착탈 가능하게 끼워넣도록 형성될 수 있다.The main body 100 of the virtual reality controller 1000 of the present invention may include a storage space 90 capable of accommodating the manipulation unit 200 . Specifically, the accommodating space 90 may be formed to accommodate the manipulation unit 200 inside the main body 100 or to detachably fit the manipulation unit 200 to the outside of the main body 100.

예를 들어 도 6a를 참조하면, 본체(100)는 상부 본체(100)와 하부 본체(100)로 서로 분리 가능하게 형성될 수 있다. 상부 본체(100)에는 나사산이 형성되어 하부 본체(100)와 상대 회전을 통하여 결합 및 분리 가능하다. 다만, 이러한 결합방식에 한정되는 것은 아니다.For example, referring to FIG. 6A , the body 100 may be formed to be separable from each other into an upper body 100 and a lower body 100 . A screw thread is formed in the upper body 100 so that it can be coupled to and separated from the lower body 100 through relative rotation. However, it is not limited to this coupling method.

상부 본체(100)와 하부 본체(100)가 서로 분리되면, 하부 본체(100) 내부에 내부공간이 형성된다. 이러한 내부 공간에 조작부(200)가 수납될 수 있다. 다만, 하부 본체(100)에 내부공간이 형성되는 것에 한하지 않고 상부 본체(100)에 내부공간이 형성될 수도 있다.When the upper body 100 and the lower body 100 are separated from each other, an internal space is formed inside the lower body 100 . The manipulation unit 200 may be accommodated in this internal space. However, the inner space may be formed in the upper body 100 without being limited to the inner space formed in the lower body 100 .

다음으로 도 6b를 참조하면, 가상 현실 컨트롤러(2000)의 본체(1100)의 외부에 수납공간(1090)이 리세스되어 있다. 이러한 수납공간(1090)은 조작부(1200)가 안착될 수 있게 조작부(1200)의 형상에 대응하여 형성될 수 있다. 또한, 조작부(1200)가 안착되어 수납된 후에는 조작부(1200)가 쉽게 이탈되지 않도록 이탈방지부재가 더 추가될 수도 있다.Next, referring to FIG. 6B , a storage space 1090 is recessed outside the main body 1100 of the virtual reality controller 2000 . The accommodating space 1090 may be formed to correspond to the shape of the manipulation unit 1200 so that the manipulation unit 1200 can be seated therein. In addition, after the manipulation unit 1200 is seated and stored, a separation preventing member may be further added to prevent the manipulation unit 1200 from being easily separated.

도 7a 내지 도 7c는 본 발명의 서로 다른 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 사시도이다.7A to 7C are perspective views illustrating virtual reality controllers according to different embodiments of the present invention.

먼저 도 7a를 참조하면, 본체(2100)는 조작시 조작부(2200)가 본체(2100)로부터 이탈되지 않도록, 본체(2100)의 상부면에 조작부(2200)와 결합가능한 연결부재를 포함할 수 있다. 연결부재는 본체(2100)의 상면에 형성된 고리와 연결가능하다. 연결부재는 본체(2100)의 상면에 형성된 고리뿐만이 아니라, 조작부(2200)에 형성된 고리에도 결합가능하다.First, referring to FIG. 7A , the main body 2100 may include a connecting member coupled to the manipulation unit 2200 on an upper surface of the main body 2100 so that the manipulation unit 2200 is not separated from the main body 2100 during manipulation. . The connection member is connectable to a ring formed on the upper surface of the main body 2100 . The connection member can be coupled to a ring formed on the control unit 2200 as well as a ring formed on the upper surface of the main body 2100 .

제어부는 조작부(2200)와 본체(2100)의 상부가 기 설정된 변위 이상으로 벗어나거나 본체(2100)가 기 설정된 압력 이상의 외력을 받게 되면, 객체(10)가 현재 있는 그 자리에서 유지하도록 하는 유지신호를 발생시킬 수 있다. 이는 연결고리에 의해 조작부(2200)가 본체(2100)로부터 이탈되기 어려우므로, 사용자가 본체(2100) 및 조작부(2200)를 동시에 놓치는 경우에 바닥에 떨어진 조작부(2200)와 본체(2100)와의 상대적 거리에 의해 객체(10)가 조작되지 않도록 하기 위함이다.When the control unit 2200 and the upper part of the main body 2100 are displaced by more than a preset displacement or the main body 2100 receives an external force equal to or greater than a preset pressure, the control unit maintains the object 10 in its current position by providing a maintenance signal. can cause This is because it is difficult for the control unit 2200 to be separated from the main body 2100 by the connecting ring, so when the user loses both the main body 2100 and the control unit 2200 at the same time, the control unit 2200 dropped to the floor and the main body 2100 are relatively This is to prevent the object 10 from being manipulated by the distance.

한편, 연결부재는 단순히 조작부(2200)와 본체(2100)를 연결시킬 수도 있지만, 본체(2100)측 고리(2192)에서 받는 압력에 의해 객체(10)의 제어와 관련된 정보를 얻을 수도 있다.Meanwhile, the connection member may simply connect the manipulation unit 2200 and the main body 2100, but information related to the control of the object 10 may be obtained by pressure applied from the ring 2192 on the main body 2100 side.

본체(3100)는 사용자가 본체(3100)를 용이하게 파지 가능하도록 사용자의 손을 감싸는 스트랩을 구비하거나, 외형에 굴곡이 형성될 수 있다. 구체적으로 도 7b를 참조하면, 본체(3100)에 굴곡부(3170)이 형성되어 있다. 굴곡부(3170)는 본체(3100)에 사용자의 손가락이 배치되는 위치를 가이드할 수 있을 뿐만 아니라, 사용자의 손과 본 체(3100)가 용이하게 밀착될 수 있게 한다. 즉, 사용자의 손이 굴곡부(3170)의 내부로 인입되어 밀착되므로 사용자의 손과 본체(3100)가 접촉되는 면적이 넓어진다. 이 뿐만 아니라, 본체(3100)가 중력에 의해 아래로 떨어 지려는 힘을 굴곡부(3170) 내부로 인입된 손가락이 받을 수 있어, 본체(3100)에 대한 지지력이 높아질 수 있다. The main body 3100 may include a strap that surrounds a user's hand or may have a curved shape so that the user can easily grip the main body 3100 . Specifically, referring to FIG. 7B , a bent portion 3170 is formed in the main body 3100 . The bent portion 3170 not only guides the position where the user's fingers are placed on the main body 3100, but also allows the user's hand to come into close contact with the main body 3100. That is, since the user's hand is drawn into the inside of the bent portion 3170 and comes into close contact with the body 3100, the contact area between the user's hand and the main body 3100 is widened. In addition to this, the finger inserted into the bent portion 3170 can receive the force for the main body 3100 to fall down due to gravity, so that the supporting force for the main body 3100 can be increased.

다음으로 도 7c를 참조하면, 본체(4100)의 상부면이 외부를 향해 볼록하게 돌출될 수 있다. 이러한 돌출면을 지지면(4107)이라고 한다. 조작부(4200)는 지지면(4107) 상에 지지되어 이동가능할 수 있다. 지지면(4107)을 통해 사용자가 본체(4100)의 상부와 이격되어 조작부(4200)를 조작하였을 때의 피로도를 저감시킬 수 있다. 또한, 지지면(4107)을 통해 조작부(4200)와 본체(4100)와의 이격거리를 비교적 일정하게 유지할 수 있다. 또한, 조작부(4200)를 통한 객체(10)의 컨트롤에 대한 정교함이 높아질 수 있다.Next, referring to FIG. 7C , the upper surface of the body 4100 may convexly protrude outward. This protruding surface is referred to as a support surface 4107 . The control unit 4200 may be supported on the support surface 4107 and may be movable. Fatigue when a user operates the control unit 4200 while being spaced apart from the upper part of the main body 4100 through the support surface 4107 can be reduced. In addition, the separation distance between the control unit 4200 and the main body 4100 can be maintained relatively constant through the support surface 4107 . In addition, the sophistication of control of the object 10 through the manipulation unit 4200 may be increased.

또한, 지지면(4107)은 본체(4100)의 중심부를 향해 일정한 압력이상으로 가압되었을 때 누름조작 될 수 있다. 즉, 지지면(4107)이 본체(4100)의 중심부를 향해(좌표상으로 -Z축) 가압하였을 때, 지지면(4107) 자체가 설계된 기결정된 정도의 변위로 하부로 눌릴 수 있다. 조작부(4200) 및 지지면(4107)의 이러한 동작을 통해서, 객체(10)가 하부로 이동하는 신호를 생성할 수 있다.In addition, the support surface 4107 can be pressed when it is pressed toward the center of the main body 4100 with a certain pressure or higher. That is, when the support surface 4107 is pressed toward the center of the main body 4100 (-Z axis in terms of coordinates), the support surface 4107 itself can be pushed downward with a designed predetermined degree of displacement. Through these operations of the manipulation unit 4200 and the support surface 4107, a signal for the object 10 to move downward may be generated.

한편, 본체(4100)는 본체(4100)의 상부의 둘레를 따라 지지면(4107) 상에 돌출되는 이탈방지턱을 포함할 수 있다. 이는, 조작부(4200)가 조작 중에 본체(4100)의 바깥으로 나가는 것을 방지하기 위함이다.Meanwhile, the main body 4100 may include a breakaway bump protruding on the support surface 4107 along the upper circumference of the main body 4100 . This is to prevent the manipulation unit 4200 from moving out of the main body 4100 during manipulation.

도 8은 본 발명의 서로 다른 실시예에 따른 조작부를 설명하기 위한 개념도이다.8 is a conceptual diagram for explaining a control unit according to different embodiments of the present invention.

본 발명의 조작부(6200)는 사용자의 손가락에 착탈가능하도록 홀딩수단, 조임수단(5220), 끼움수단(7220) 중 적어도 하나를 포함할 수 있다.The manipulation unit 6200 of the present invention may include at least one of a holding means, a fastening means 5220, and a fitting means 7220 so as to be detachable from a user's finger.

먼저 도 8의 (a)는 조작부(6200)가 스트랩으로 이루어지는 조임수단(5220)을 포함하는 실시예이다. 사용자는 손가락을 조작부(6200)의 내측에 배치한 후, 조임수단(5220)을 양측을 연결하여 결합한다.First, (a) of FIG. 8 is an embodiment in which the control unit 6200 includes a tightening means 5220 made of a strap. After placing a finger on the inside of the manipulation unit 6200, the user connects both sides of the tightening means 5220 to couple them.

도 8의 (b)는 조작부(6200)가 복원력이 이용하여 사용자의 손가락을 압박하며 손가락에 홀딩되는 실시예이다. 본 조작부(6200)는 링 형상에서 일 부분이 삭제된 형상이다. 조작부(6200)의 직경이 좁게 생기므로, 복원력에 의해 조작부(6200)는 사용자의 손가락에 홀딩될 수 있다.8(b) is an embodiment in which the manipulation unit 6200 presses the user's finger using a restoring force and is held by the finger. This manipulation unit 6200 has a shape in which a part is deleted from the ring shape. Since the diameter of the manipulation unit 6200 is narrow, the manipulation unit 6200 can be held by the user's finger by a restoring force.

도 8의 (c)는 조작부(7200)가 사용자의 손가락의 굵기에 맞추어 조여짐이 가능한 끼움수단(7220)을 포함하는 실시예에 관한 것이다.8(c) relates to an embodiment in which the manipulation unit 7200 includes a fitting means 7220 capable of being tightened according to the thickness of a user's finger.

도 9는 본 발명의 다른 실시예에 따른 가상 현실 컨트롤러를 설명하기 위한 개념도이다.9 is a conceptual diagram for explaining a virtual reality controller according to another embodiment of the present invention.

본체(8100)의 상부에는 상면 디스플레이(8101)가 배치되고, 상면 디스플레이(8101)에는 상기 조작부(8200)의 위치 및 진행 방향 등의 정보가 표시될 수 있다.A top display 8101 is disposed on the top of the main body 8100, and information such as the position and direction of the control unit 8200 may be displayed on the top display 8101.

구체적으로 도 9를 참조하면, 본체(8100)의 상부에는 상면 디스플레이(8132)가 배치된다. 상기 디스플레이(8132)에는 중심점이 표시될 수 있다. 중심점은 본체(8100)의 상부에 조작부(8200)가 배치되었을 때, 표시되는 점이다.Specifically, referring to FIG. 9 , a top display 8132 is disposed above the main body 8100 . A center point may be displayed on the display 8132 . The center point is a point displayed when the control unit 8200 is disposed on the upper part of the main body 8100.

이 때, 중심점의 크기가 작을수록 본체(8100)와 조작부(8200)간의 수직 거리가 긴 것이며, 중심점의 크기가 클수록 본체(8100)와 조작부(8200)간의 수직 거리가 짧은 것을 의미한다. 중심점의 크기가 일정한 크기 이하일 때, 즉 본체(8100)와 조작부(8200)간의 수직 거리가 긴 경우에는 객체(10)에는 상승하라는 신호가 전달될 수 있다. 중심점의 크기가 일정한 크기 이상일 때, 즉 본체(8100)와 조작부(8200)간의 수직 거리가 짧은 경우에는 객체(10)에는 하강하라는 신호가 전달될 수 있다. 또한, 디스플레이(8132)의 화살표(A)는 드론의 이동 방향 및 이동 속도에 대한 벡터값이 시각화되어 표현될 수 있다.At this time, the smaller the size of the center point is, the longer the vertical distance between the main body 8100 and the control unit 8200 is, and the larger the size of the center point is, the shorter the vertical distance between the main body 8100 and the control unit 8200 is. When the size of the center point is less than a certain size, that is, when the vertical distance between the main body 8100 and the manipulation unit 8200 is long, a signal to rise may be transmitted to the object 10 . When the size of the center point is greater than a certain size, that is, when the vertical distance between the main body 8100 and the manipulation unit 8200 is short, a signal to descend may be transmitted to the object 10 . In addition, vector values for the moving direction and moving speed of the drone may be visualized and expressed as an arrow A on the display 8132 .

도 10은 도 2의 가상 현실 컨트롤러가 본체에 대한 조작부의 상대적인 위치를 판단하는 방법을 설명하기 위한 개념도이다.FIG. 10 is a conceptual diagram for explaining a method for the virtual reality controller of FIG. 2 to determine a relative position of a control unit with respect to the main body.

본 발명의 가상 현실 컨트롤러(1000)는 본체(100)에, 조작부(200)와의 거리 변화에 따라 감지된 센서값을 출력하는 두 개의 센서(111)를 포함할 수 있다. 적어도 두 개 이상의 센서(111)를 사용하는 경우, 본체(100)에 대한 조작부(200)의 상대적인 위치를 보다 정확하게 산출할 수 있다. 제어부(300)는 센서(111)로부터 획득한 센서값을 기초로 본체(100)에 대한 조작부(200)의 상대적 위치를 산출한다.The virtual reality controller 1000 of the present invention may include two sensors 111 in the main body 100 that output sensor values sensed according to a change in distance from the manipulation unit 200 . When using at least two or more sensors 111, the relative position of the control unit 200 with respect to the main body 100 can be more accurately calculated. The control unit 300 calculates the relative position of the control unit 200 with respect to the main body 100 based on the sensor value obtained from the sensor 111 .

본체(100)에 내장된 센서(111)는 3D 마그네틱 센서일 수 있고, 조작부(200)에는 마그네틱(201)이 내장되어 있을 수 있다. 다만, 센서(111)는 이에 한정되는 것이 아니고 상술한 바와 같이 자외선 센서 등 공지된 임의의 센서가 사용될 수 있지만, 이하에서는 설명의 편의를 위하여, 센서(111)가 3D 마그네틱 센서이고 조작부(200)에 마그네틱(201)이 내장된 것으로 하여 설명하도록 한다.The sensor 111 built into the body 100 may be a 3D magnetic sensor, and the magnet 201 may be built into the manipulation unit 200 . However, the sensor 111 is not limited thereto, and as described above, any known sensor such as a UV sensor may be used, but hereinafter, for convenience of explanation, the sensor 111 is a 3D magnetic sensor and the control unit 200 It will be described as having a magnet 201 built in.

3D 마그네틱 센서는 X 방향, Y 방향, Z 방향의 자속(magnetic flux)을 감지하여 값을 출력하는 센서를 말한다. 도 10에서, 어느 하나의 마그네틱 센서의 출력값을 S1x, S1y, S1z로 지칭하고, 다른 하나의 마그네틱 센서의 출력값을 S2x, S2y, S2z로 지칭한다.A 3D magnetic sensor refers to a sensor that detects magnetic flux in the X, Y, and Z directions and outputs a value. In FIG. 10 , output values of one magnetic sensor are referred to as S1x, S1y, and S1z, and output values of the other magnetic sensor are referred to as S2x, S2y, and S2z.

센서(111)는 본체의 상측에 위치하도록 배치될 수 있다. 그 본체의 위에 조작부가 배되어 센서(111)가 조작부로부터의 자속을 감지할 수 있는 공간은 단위 셀로 구획될 수 있다. 각각의 단위셀은 기설정된 원점(예컨대, 두 센서의 중점)을 기준으로 그 셀의 중심 좌표값이 결정되어 있다. 본체(100)에 대한 조작부(200)의 상대적인 위치는 본체(100) 상에 형성된 단위 셀의 좌표값 중 어느 하나로 결정될 수 있다.The sensor 111 may be disposed to be located on the upper side of the main body. A space in which a control unit is placed on the main body so that the sensor 111 can sense magnetic flux from the control unit may be divided into unit cells. For each unit cell, a center coordinate value of the cell is determined based on a preset origin point (eg, a center point of two sensors). The relative position of the control unit 200 with respect to the main body 100 may be determined by any one of coordinate values of unit cells formed on the main body 100 .

본 실시예에서 가상의 공간 및 단위셀을 6면체로 예시하고 있지만, 이러한 것은 예시에 불과하고, 3차원의 공간 및 단위 셀을 구 형태 등으로 변형하는 것도 가능하다.Although the virtual space and unit cell are exemplified in the form of a hexahedron in this embodiment, this is only an example, and it is also possible to transform the 3-dimensional space and unit cell into a spherical shape.

도 10을 참조하면, 제어부(300)는 센서(111)로부터 획득한 센서값(S)과 조작부(200)가 특정 위치에 위치할 때 센서에서 출력된 센서값을 포함하도록 미리 작성된 테이블(T)을 기초로, 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출한다.Referring to FIG. 10 , the control unit 300 creates a table T prepared in advance to include sensor values S obtained from the sensor 111 and sensor values output from the sensor when the manipulation unit 200 is located at a specific position. Based on, the relative position of the control unit 200 with respect to the main body 100 is calculated.

구체적으로, 제어부(300)는 센서(111)로부터 얻은 센서값(S)을 기초로 하여, 조작부(200)의 마그네틱(201)이 가상의 공간 중 어느 영역에 속하는지를 판단하고, 구획된 영역의 중심 좌표값을 이용하여 본체(100)에 대한 조작 부(200)의 상대적인 위치를 산출한다.Specifically, the control unit 300 determines which area of the virtual space the magnet 201 of the manipulation unit 200 belongs to based on the sensor value S obtained from the sensor 111, and determines the area of the partitioned area. A relative position of the control unit 200 with respect to the main body 100 is calculated using the center coordinate value.

미리 작성된 테이블(T)에는, 마그네틱이 각각의 구획된 공간 내에 위치하는 경우의 위치값(즉, 구획된 영역의 중심 좌표값)과 각각의 위치값에 대응되는 예상 센서값 매칭된 데이터세트가 복수 개 포함되어 있다.In the pre-created table T, a plurality of data sets matched with expected sensor values corresponding to the position values (ie, center coordinate values of the partitioned areas) when the magnet is located in each partitioned space. dogs included.

테이블(T)은, 마그네틱을 어느 하나의 구획된 지점에 위치시킨 상태에서 3D 마그네틱 센서로부터 복수 회 센서값을 획득하고, 마그네틱을 구획된 모든 지점으로 이동시키며 센서값을 획득하는 방식으로 생성될 수 있다. 동일한 위치값에 대하여 동일한 센서값이 획득되는 경우에는 그 데이터세트를 테이블에 중복하여 기재하지 않고, 해당 데이터세트의 빈도값을 증가시키는 방식으로 테이블을 생성할 수 있다. 따라서, 테이블은 위치값, 예상 센서값 및 빈도값을 포함하는 데이터세트를 복수 개 포함할 수 있다.The table T can be created by obtaining sensor values from a 3D magnetic sensor multiple times in a state where the magnet is located at any one partitioned point, and acquiring sensor values while moving the magnet to all the partitioned points. there is. When the same sensor value is obtained for the same position value, the table may be created by increasing the frequency value of the corresponding dataset without duplicating the data set in the table. Accordingly, the table may include a plurality of datasets including location values, predicted sensor values, and frequency values.

여기서, 마그네틱이 센서로부터 동일한 위치에 위치하더라도, 센서에 대하여 마그네틱의 자기장 축의 기울기가 변한다거나 또는 외부 지자기의 요인이 개입되는 등의 영향에 의해 센서에서 측정되는 센서값이 소정의 폭으로 변화하기 때문에, 테이블은 어느 하나의 위치값 (예컨대 (x1, y1, z1))에 대하여 서로 상이한 복수 개의 예상 센서값을 포함한다.Here, even if the magnet is located at the same position from the sensor, the sensor value measured by the sensor changes by a predetermined width due to the influence of the change in the slope of the magnetic field axis of the magnet with respect to the sensor or the intervention of external geomagnetic factors. , The table includes a plurality of different predicted sensor values for any one position value (eg, (x1, y1, z1)).

테이블(T)을 사용하여, 본 발명의 가상 현실 컨트롤러 (1000) 제어부(300)가 본체(100)에 대한 조작부(200)의 상대적 위치를 산출하는 구체적인 방법은 다음과 같다.A specific method for calculating the relative position of the control unit 200 with respect to the main body 100 by the control unit 300 of the virtual reality controller 1000 using the table T is as follows.

사용자의 조작에 의해 조작부(200)의 마그네틱(201)이 본체(100) 상의 어느 지점에 위치하게 되면, 각각의 센서(111)는 조작부(200)의 마그네틱(201)으로부터 형성된 자기장의 자속(magnetic flux)을 감지하여 측정된 센서값(S)을 제어부(300)로 전달한다.When the magnetic 201 of the manipulation unit 200 is located at a certain point on the main body 100 by the user's manipulation, each sensor 111 is operated by the magnetic flux of the magnetic field formed from the magnetic 201 of the manipulation unit 200. flux) and transmits the measured sensor value (S) to the control unit 300.

조작부(200)의 마그네틱(201)이 단위 셀의 어느 중심 좌표값에 가장 가깝게 위치하는지를 판단하기 위해, 제어부(300)는 센서(111)로부터 획득된 센서값(S)과 테이블(T)에 저장된 각각의 예상 센서값 사이의 센서값의 유사도를 판단한다 (S10).In order to determine which center coordinate value of the unit cell the magnet 201 of the manipulation unit 200 is closest to, the control unit 300 uses the sensor value S obtained from the sensor 111 and stored in the table T. The similarity of the sensor values between the respective expected sensor values is determined (S10).

여기서 센서값의 유사도는, 예를 들어 센서로부터 획득된 센서값(S)과 테이블(T)에 저장된 예상 센서값의 맨해튼 거리(Manhattan distance) 또는 유클리드 거리(Euclidean distance)를 비교함으로써 판단될 수 있다.Here, the degree of similarity of the sensor values may be determined by comparing, for example, the Manhattan distance or the Euclidean distance between the sensor value S obtained from the sensor and the predicted sensor value stored in the table T. .

제어부(300)는 두 센서값의 유사도 판단에 따라, 센서(111)로부터 얻은 센서값(S)과 유사도가 높은 예상 센서값을 포함하는 데이터세트를 유사 데이터세트로 선별한다 (S20).The control unit 300 selects, as a similar data set, a data set including expected sensor values having a high degree of similarity with the sensor value S obtained from the sensor 111 according to the similarity determination between the two sensor values (S20).

센서값의 유사도를 맨해튼 거리 또는 유클리드 거리로 판단하는 경우 유사 데이터세트는, 센서값(S)으로부터 기 설정된 맨해튼 또는 유클리드 거리 이하에 포함되는 예상 센서값을 포함하는 데이터세트로 선별될 수 있다.When the similarity of the sensor values is determined as the Manhattan distance or the Euclidean distance, the similar data set may be selected as a data set including an expected sensor value included within a predetermined Manhattan or Euclidean distance from the sensor value S.

센서(111)로부터의 센서값(S)과 테이블(T)에 저장된 예상 센서값의 유사도가 크다는 것은, 조작부(200)의 마그네틱(201)의 실제 위치와 예상 센서값에 매칭된 위치값이 일치할 가능성이 크다는 것을 의미할 수 있다. 따라서, 제어부(300)는 센서값(S)과 유사도가 큰 예상 센서값을 포함하는 데이터세트를 유사 데이터세트로 선별하여, 본체(100)와 조작부(200)의 상대적 위치를 산출함에 있어 사용할 수 있다.The high similarity between the sensor value S from the sensor 111 and the expected sensor value stored in the table T indicates that the actual position of the magnet 201 of the manipulation unit 200 matches the position value matched to the expected sensor value. It can mean that there is a high possibility of Therefore, the control unit 300 may select a data set including expected sensor values having a high degree of similarity with the sensor value S as a similar data set, and use the data set to calculate the relative positions of the main body 100 and the control unit 200. there is.

한편, 제어부(300)는 유사 데이터세트를 선별할 때, 데이터 처리의 효율성을 위하여 테이블(T)에서 상대적으로 가능성이 높은 데이터세트를 우선 선별하여, 상대적으로 가능성이 높은 데이터세트 중에서 유사 데이터세트를 선별할 수도 있다.Meanwhile, when selecting similar data sets, the control unit 300 first selects a data set with a relatively high possibility from the table T for the efficiency of data processing, and selects a similar data set from among the data sets with a relatively high possibility. can also be selected.

여기서, 상대적으로 가능성이 높은 데이터세트라 함은, 이전의 적어도 하나의 시점에서의 본체(100)에 대한 조작부(2000의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 데이터세트를 의미하는 것일 수도 있다.Here, the relatively high possibility data set may mean a data set including a position value having position continuity with the relative position of the manipulation unit 2000 with respect to the main body 100 at at least one previous time point. .

위치연속성은 이전 시점에서의 조작부의 위치와 얼마나 인접한지, 이전 시점에서의 조작부의 이동 방향과 방향성이 일치하는지 등을 고려하여 결정될 수 있다. 예를 들어, 직전의 위치와 단순히 인접한 위치를 위치연속성이 높다고 할 수도 있고, 직전의 위치로 이동되어 온 진행 경로를 고려하여 진행 경로가 유지되는 위치를 위치연속성이 높다고 할 수도 있다.The positional continuity may be determined by considering how close to the position of the manipulation unit at the previous point of view, whether the moving direction and direction of the manipulation unit at the previous point of view coincide, and the like. For example, a position simply adjacent to the previous position may be referred to as having high positional continuity, or a position where a progressing path is maintained in consideration of a traveling path that has been moved to the immediately preceding position may be regarded as having high positional continuity.

예컨대, 제어부(300)는 직전에 판단된 본체에 대한 조작부의 상대적 위치가 (x0, y0, z0)인 경우, (x0, y0, z0)의 위치값과 위치연속성이 있는 (x1, y1, z1)의 위치값을 포함하는 데이터세트를 상대적으로 가능성이 높은 데이터세트로 하여 유사 데이터세트를 선별할 수 있다. 이 경우, 제어부(300)는 다른 데이터세트의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 판단하기 이전에, 우선하여 (x1, y1, z1)의 위치값을 포함하는 데이터 세트들의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 비교함으로써, 보다 가능성이 높은 예상 센서값에 대한 유사도 판단을 먼저 수행할 수 있게 된다.For example, when the relative position of the control unit with respect to the main body determined immediately before is (x0, y0, z0), the control unit 300 determines (x1, y1, z1 ), a similar dataset can be selected as a dataset with a relatively high probability. In this case, the control unit 300 first determines the similarity between the expected sensor value of another data set and the sensor value obtained from the sensor unit, and first determines the expected sensor value of the data sets including the position values of (x1, y1, z1). By comparing the similarity between the value and the sensor value obtained from the sensor unit, it is possible to first determine the similarity with respect to a more likely expected sensor value.

한편, 상대적으로 가능성이 높은 데이터세트라 함은, 기설정된 값보다 높은 빈도값을 포함하는 데이터세트를 의미하는 것일 수도 있다.Meanwhile, a data set having a relatively high probability may mean a data set including a frequency value higher than a predetermined value.

이 경우 제어부(300)는 빈도값이 기설정된 값보다 높은 데이터세트를 상대적으로 가능성이 높은 데이터세트로하여 유사 데이터세트를 선별할 수도 있다. 이 경우, 제어부(300)는 다른 데이터세트의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 판단하기 이전에, 우선하여 빈도값이 30보다 큰 데이터세트들의 예상 센서값과 센서부로부터 얻은 센서값의 유사도를 비교함으로써 보다 가능성이 높은 예상 센서값에 대한 유사도 판단을 먼저 수행할 수 있게 된다.In this case, the controller 300 may select a similar data set by considering a data set having a higher frequency value than a preset value as a data set having a relatively high possibility. In this case, the control unit 300 first determines the similarity between the expected sensor values of other datasets and the sensor values obtained from the sensor unit, and prioritizes the expected sensor values of the datasets having a frequency value greater than 30 and the sensor values obtained from the sensor unit. By comparing the similarity of the values, it is possible to first determine the similarity of the expected sensor value with a higher possibility.

이렇게 상대적으로 가능성이 높은 데이터세트에 대해서 부분적으로 탐색을 한 후, 확장하여 데이터세트를 탐색하는 방식으로 유사 데이터세트를 선별하게 되면, 테이블 상의 모든 예상 센서값과 센서값의 유사도 판단을 하지 않더라도 신뢰도가 높은 데이터세트를 선별해 낼 수 있으므로, 제어부(300)의 데이터 처리 속도를 높일 수 있다는 점에서 바람직하다.If a similar data set is selected by partially searching for a data set with a relatively high possibility and then expanding and searching the data set, reliability can be improved even if the similarity between all expected sensor values and sensor values in the table is not judged. It is preferable in that it is possible to select a data set having a high , and therefore, the data processing speed of the control unit 300 can be increased.

다음으로, 제어부(300)는 기설정된 기준에 따라 적어도 하나의 유사 데이터세트 중 어느 하나의 유사 데이터세트를 기준 데이터세트로 결정한다 (S30).Next, the controller 300 determines one similar data set among at least one similar data set as a reference data set according to a predetermined criterion (S30).

유사 데이터세트에서 기준 데이터세트를 결정하는 기설정된 기준은, 이전의 적어도 하나의 시점의 (바람직하게는 직전의) 본체(100)에 대한 조작부(200)의 상대적 위치와 위치연속성이 있는 위치값을 포함하는 데이터세트를 기준 데이터세트로 결정하는 것일 수 있다.A predetermined criterion for determining a reference data set in a similar data set is a position value having position continuity with the relative position of the manipulation unit 200 with respect to the main body 100 (preferably immediately before) at least one previous time point. The included dataset may be determined as a reference dataset.

이러한 결정 기준은, 본체(100)에 대한 조작부(200)의 상대적 위치가 선형적(linear)으로 변화하는 것을 전제로 한 것이다. 조작부(200)의 상대적 위치가 이전 시점에 비하여 급격하게 변화하는 것 보다 위치연속성 있는 것이 객체의 움직임을 제어함에 있어 바람직하므로, 이러한 기준 데이터의 선정 기준은 객체의 움직임을 제어함에 있어 신뢰성을 향상시킬 수 있다.This decision criterion is based on the premise that the relative position of the control unit 200 with respect to the main body 100 changes linearly. Since position continuity is preferable in controlling the motion of an object rather than a rapid change in the relative position of the manipulation unit 200 compared to the previous time point, the selection criterion for the reference data improves reliability in controlling the motion of the object. can

만약, 이러한 위치연속성을 고려한 후에도 하나 이상의 데이터세트가 여전히 유사 데이터세트로 존재하는 경우에는, 제어부(300)는 각각의 유사 데이터세트의 빈도값을 비교하여 빈도값이 높은 데이터세트를 하나의 기준 데이터세트로 결정할 수도 있다. 각각의 데이터세트 모두 위치연속성이 있는 위치값을 가지는 것이라면, 통계적으로 높은 확률을 가지는 데이터세트를 선택하는 것이 객체의 움직임을 제어함에 있어 신뢰성을 향상시킬 수 있기 때문이다.If one or more datasets still exist as similar datasets even after considering the location continuity, the controller 300 compares the frequency values of each similar dataset and selects a dataset with a high frequency as one reference data. It can also be determined as a set. This is because, if each data set has a position value having position continuity, selecting a data set having a statistically high probability can improve reliability in controlling the movement of an object.

제어부(300)는 결정된 기준 데이터세트의 위치값을 본체(100)에 대한 조작부(200)의 상대적 위치로 산출한다(S40).The control unit 300 calculates the determined location value of the reference data set as the relative position of the control unit 200 with respect to the main body 100 (S40).

예컨대, 테이블에서 위치값이 (x2, y2, z2), 예상 센서값이 (-26, 15, 66, 7, -102, 32), 빈도값이 34인 데이터세트가 기준 데이터세트로 결정된 경우, 제어부(300)는 기준 데이터세트의 위치값인 (x2, y2, z2)의 좌표를 본체에 대한 조작부의 상대적 위치로 산출할 수 있다.For example, in the table, if a dataset with position value (x2, y2, z2), expected sensor value (-26, 15, 66, 7, -102, 32), and frequency value 34 is determined as the reference dataset, The controller 300 may calculate the coordinates of (x2, y2, z2), which are the position values of the reference data set, as the relative position of the control unit with respect to the main body.

한편, 제어부(300)는 본체(100) 및 조작부(200)가 위치하는 환경에서, 외부 지자기의 영향을 배제하고 조작부의 위치를 판단하기 위하여, 도 10에 도시된 방법을 수행하기 이전에 센서(111)로부터 얻은 센서값(S)을 보정하여 사용할 수도 있다.On the other hand, the control unit 300, prior to performing the method shown in FIG. 10 in order to exclude the influence of external geomagnetism and determine the position of the operation unit in the environment where the main body 100 and the operation unit 200 are located, the sensor ( The sensor value (S) obtained from 111) may be corrected and used.

예를 들어, 제어부(300)는 센서(111)로부터 조작부(200)가 본체(100)로부터 제거된 상태에서의 센서값인 초기센서값을 획득하고, 조작부(200)가 본체(100) 상에 위치한 상태에서의 센서값인 측정센서값을 획득하여, 측정센서값에 초기센서값이 반영된 센서값(예컨대, 초기센서값과 측정센서값의 차이값)을 기초로 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수 있다.For example, the control unit 300 obtains an initial sensor value, which is a sensor value in a state in which the control unit 200 is removed from the main body 100, from the sensor 111, and the control unit 200 is placed on the main body 100. The control unit ( 200) can be calculated.

그 밖에도, 본 발명의 가상 현실 컨트롤러에 조작부의 마그네틱을 감지하는 센서와는 다른 별개로, 외부 지자기 만을 측정하는 센서가 더 구비됨으로써, 제어부(300)가 외부의 지자기의 영향을 배제하기 위한 센서값 보정을 하도록 할 수도 있다.In addition, the virtual reality controller of the present invention is further provided with a sensor that measures only external geomagnetism, separate from the sensor that detects the magnetism of the control unit, so that the control unit 300 has a sensor value for excluding the influence of external geomagnetism. You may want to make corrections.

상술한 방식에 따라, 제어부(300)는 센서(111)로부터 얻은 센서값(S)과 테이블(T)을 기초로, 조작부(200)의 마그네틱(201)이 가상의 공간 중 어느 영역에 속하는지를 판단할 수 있고, 이 영역의 위치값을 이용하여 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수 있다.According to the above method, the control unit 300 determines which region of the virtual space the magnet 201 of the manipulation unit 200 belongs to based on the sensor value S obtained from the sensor 111 and the table T. It can be determined, and the relative position of the control unit 200 with respect to the main body 100 can be calculated using the position value of this area.

한편, 제어부(300)는 상술한 도 10의 방식에 한정되지 않고, 기설정된 수식을 사용하여 본체(100)에 대한 조작부(200)의 상대적인 위치를 산출할 수도 있다.Meanwhile, the control unit 300 is not limited to the method of FIG. 10 described above, and may calculate the relative position of the control unit 200 with respect to the main body 100 using a preset formula.

여기서 기설정된 수식은, 센서(111)로부터 획득한 센서값(S)에 기초하여 동일한 자속(magnetic flux)을 갖는 지점을 도출할 수 있도록 구성된 함수일 수 있다.Here, the predetermined formula may be a function configured to derive a point having the same magnetic flux based on the sensor value S obtained from the sensor 111 .

기설정된 수식을 사용하여 제어부(300)가 본체(100)에 대한 조작부(200)의 상대적 위치를 산출하는 원리는 다음과 같다.The principle of the control unit 300 calculating the relative position of the control unit 200 with respect to the main body 100 using a preset formula is as follows.

센서로부터 임의의 간격만큼 떨어져 마그네틱이 위치하는 경우, 마그네틱에 의해 형성된 자속(magnetic flux)의 총량은 센서와 마그네틱이 이루는 각도에 무관하다. 따라서, 센서에 어떠한 센서값이 측정되는 경우, 제어부는 센서를 중심으로 동일한 자속(magnetic flux)을 갖는 가상의 구면의 일 지점에 마그네틱이 위치할 것으로 판단할 수 있다.When the magnet is positioned apart from the sensor by a certain distance, the total amount of magnetic flux formed by the magnet is independent of the angle formed by the sensor and the magnet. Accordingly, when a certain sensor value is measured by the sensor, the control unit may determine that the magnet is located at one point of an imaginary sphere having the same magnetic flux around the sensor.

제어부가 두 센서로부터 센서값을 획득한다면, 제어부는 두 가상의 구면의 접선의 영역에 마그네틱이 위치할 것으로 판단할 수 있다.If the control unit acquires sensor values from the two sensors, the control unit may determine that the magnet is located in a tangent area of two imaginary spheres.

즉, 두 센서 중 하나의 센서로부터 획득한 센서값 (S1x, S1y, S1z)을 통해 예상되는 마그네틱의 위치는 그 센서를 중심으로 동일한 자속을 갖는 구면에 위치할 수 있고, 다른 하나의 센서로부터 획득한 센서값 (S2x, S2y, S2z)을 통해 예상되는 마그네틱의 위치는 그 센서를 중심으로 동일한 자속을 갖는 구면에 위치할 수 있다. 따라서, 제어부는 두 센서를 통해 획득한 센서값에 기초하여, 그 센서값을 출력하도록 한 마그네틱이 두 구면의 접선에 위치할 것으로 판단할 수 있다.That is, the position of the magnet predicted through the sensor values (S1x, S1y, S1z) obtained from one of the two sensors can be located on a sphere with the same magnetic flux centered on the sensor, and obtained from the other sensor. The position of the magnet expected through one sensor value (S2x, S2y, S2z) may be located on a sphere having the same magnetic flux with the sensor as the center. Accordingly, the control unit may determine that the magnet, which outputs the sensor value, is located on the tangential line of the two spherical surfaces, based on the sensor values obtained through the two sensors.

이러한 제어부(300)의 연산 과정은 기설정된 수식으로 정리될 수 있으므로, 제어부(300)는 센서(111)로부터 센서값(S)을 획득하는 경우 본체(100)에 대한 조작부(200)의 상대적인 위치의 예상 영역을 산출할 수 있다.Since the calculation process of the control unit 300 can be summarized by a preset formula, the control unit 300 determines the relative position of the control unit 200 with respect to the main body 100 when obtaining the sensor value S from the sensor 111. The expected area of can be calculated.

나아가, 마그네틱(201)와 센서(111)의 틸팅(tilting)각 (즉, 조작부(200)가 홀딩된 엄지 손가락이 본체(100) 상 에서 움직이는 각도)가 기설정된 각도로 한정되는 경우, 조작부(200)의 마그네틱(201)이 위치하는 정확한 지점이 결정될 수 있게 되므로, 제어부(300)는 본체에 대한 상기 조작부의 상대적인 위치를 산출할 수 있게 된다.Furthermore, when the tilting angle of the magnetic 201 and the sensor 111 (that is, the angle at which the thumb holding the control unit 200 moves on the body 100) is limited to a preset angle, the control unit ( Since the exact position where the magnet 201 of 200 is located can be determined, the control unit 300 can calculate the relative position of the control unit with respect to the main body.

한편, 본 발명의 가상 현실 컨트롤러(1000)의 컨트롤의 대상이 되는 객체(10)는 도 5a 내지 도 5d 를 참조하여 설명한 바와 같이 드론, 무인 비행기, 로봇, 게임기, 모형 자동차 등과 같은 물리적 대상일 수도 있지만, 본 발명의 가상 현실 컨트롤러(1000)의 컨트롤의 대상이 되는 객체(10)는 이에 한정되지 않고, 컴퓨터, 콘솔게임기 등에서 구현되는 프로그램 내의 오브젝트 또는 3차원 홀로그램 영상 내의 오브젝트 일 수도 있다.Meanwhile, the object 10 to be controlled by the virtual reality controller 1000 of the present invention may be a physical object such as a drone, an unmanned airplane, a robot, a game machine, a model car, etc. as described with reference to FIGS. 5A to 5D. However, the object 10 to be controlled by the virtual reality controller 1000 of the present invention is not limited thereto, and may be an object in a program implemented in a computer, console game machine, or the like, or an object in a 3D hologram image.

도 11은 본 발명의 가상 현실 컨트롤러를 이용하여 컨트롤 할 수 있는 객체를 예시적으로 설명하기 위한 개념도이다. 도 11을 참조하면, 본 발명의 가상 현실 컨트롤러(1000)에 의해 컨트롤되는 객체(10' 10”)는 프로그램에 의해 구현되어 모니터 등의 표시장치 내에 표시되는 오브젝트일 수 있다.11 is a conceptual diagram illustrating an object controllable using the virtual reality controller of the present invention by way of example. Referring to FIG. 11 , an object 10′ 10″ controlled by the virtual reality controller 1000 of the present invention may be an object implemented by a program and displayed in a display device such as a monitor.

예컨대, 객체(10')는 표시장치 내에 표시되는 마우스의 커서 또는 포인터일 수 있다. 이때 본 발명의 객체 컨트롤러(1000)는 커서 또는 포인터를 조작하는 마우스와 같은 입력장치의 역할을 하도록 구성될 수 있다. 한편 다 른 예로서 컴퓨터에 의해 게임 프로그램이 실행되는 경우, 객체(10'')는 표시장치 상에 표시되는 게임의 특정 캐릭터일 수도 있다. 예를 들어, 컴퓨터에 의해 드론을 비행시키는 게임이 실행되는 경우라면 객체(10'')는 표시장치 내에 표시되는 드론 이미지의 오브젝트일 수 있고, 본 발명의 가상 현실 컨트롤러(1000)는 이러한 오브젝트를 제어하는 입력장치 입력장치의 역할을 하도록 구성될 수 있다.For example, the object 10' may be a mouse cursor or pointer displayed in a display device. At this time, the object controller 1000 of the present invention may be configured to serve as an input device such as a mouse for manipulating a cursor or pointer. Meanwhile, as another example, when a game program is executed by a computer, the object 10'' may be a specific character of a game displayed on a display device. For example, if a game in which a drone is flying is executed by a computer, the object 10'' may be an object of a drone image displayed in a display device, and the virtual reality controller 1000 of the present invention controls such an object. It can be configured to serve as an input device to control the input device.

이처럼 객체(10', 10'')가 프로그램에 의해 구현되어 모니터 등의 표시장치 상에 표시되는 오브젝트인 경우, 본 발명의 가상 현실 컨트롤러(1000)는 해당 프로그램의 동작을 제어하는 제어부와 연동됨으로써 상술한 가상 현실 컨트롤러(1000) 제어 방법에 따라 객체(10', 10'')를 컨트롤 할 수 있다.In this way, when the objects 10' and 10'' are implemented by a program and displayed on a display device such as a monitor, the virtual reality controller 1000 of the present invention is interlocked with a control unit that controls the operation of the corresponding program. The objects 10' and 10'' may be controlled according to the control method of the virtual reality controller 1000 described above.

또한 도 11에 도시된 바와 같은 객체(10', 10'')를 컨트롤하기 위하여 상술한 다양한 실시예에 따른 객체 컨트롤러(2000, 3000, 4000, 5000, 8000)가 비제한적으로 채용될 수 있음은 물론이다.In addition, the object controllers 2000, 3000, 4000, 5000, and 8000 according to various embodiments described above may be employed without limitation in order to control the objects 10' and 10'' shown in FIG. 11. Of course.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and may be variously modified and implemented without departing from the technical spirit of the present invention. . Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

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 : 가상 현실 컨트롤러
10, 10', 10'' : object
20: external terminal
90: storage space
100: body
102: thread
105: upper body
106: mark
107: support surface
108: breakaway bump
110: sensor unit
120: user input unit
121: first user input key
122: second user input key
130: output unit
131: speaker
132: display
140: Ministry of Communication
150: storage unit
160: strap
170: bend
190: connecting member
S: sound
200: control panel
300: control unit
1000: virtual reality controller

Claims (1)

객체의 움직임을 조작 가능한 가상 현실 컨트롤러에 있어서, 본체;
상기 본체와 비접촉되는 조작부; 및
상기 본체 내부에 배치되고, 상기 본체에 대한 상기 조작부의 상대적 위치를 기반으로 상기 객체의 움직임을 제 어하는 제어부를 포함하는, 가상 현실 컨트롤러.
A virtual reality controller capable of manipulating movement of an object, comprising: a main body;
a control unit that is non-contact with the main body; and
and a control unit disposed inside the main body and controlling a motion of the object based on a relative position of the manipulation unit with respect to the main body.
KR1020220014377A 2022-02-03 2022-02-03 Virtual reality controller KR20230117964A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220014377A KR20230117964A (en) 2022-02-03 2022-02-03 Virtual reality controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220014377A KR20230117964A (en) 2022-02-03 2022-02-03 Virtual reality controller

Publications (1)

Publication Number Publication Date
KR20230117964A true KR20230117964A (en) 2023-08-10

Family

ID=87560801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220014377A KR20230117964A (en) 2022-02-03 2022-02-03 Virtual reality controller

Country Status (1)

Country Link
KR (1) KR20230117964A (en)

Similar Documents

Publication Publication Date Title
KR101921376B1 (en) Object controller
US11500475B2 (en) Dynamically balanced, multi-degrees-of-freedom hand controller
US10331232B2 (en) Controller with situational awareness display
US10520973B2 (en) Dynamically balanced multi-degrees-of-freedom hand controller
CN110114669B (en) Dynamic balance multi-freedom hand controller
JP5969626B2 (en) System and method for enhanced gesture-based dialogue
US10881953B2 (en) Operating device and control system
JP6555831B2 (en) Information processing program, information processing system, information processing apparatus, and information processing method
WO2015154627A1 (en) Virtual reality component system
EP3234742A2 (en) Methods and apparatus for high intuitive human-computer interface
CN111527469A (en) Dynamic balance type multi-freedom-degree hand-held controller
EP3700639A1 (en) Controller with situational awareness display
US20170087455A1 (en) Filtering controller input mode
US10114478B2 (en) Control method, control apparatus, and program
KR102387818B1 (en) Object controller
KR20230117964A (en) Virtual reality controller
KR102183827B1 (en) Object controller
KR102385079B1 (en) Object controller
KR101066829B1 (en) Three-dimensional input device and it's input method