KR101576643B1 - Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen - Google Patents

Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen Download PDF

Info

Publication number
KR101576643B1
KR101576643B1 KR1020140163604A KR20140163604A KR101576643B1 KR 101576643 B1 KR101576643 B1 KR 101576643B1 KR 1020140163604 A KR1020140163604 A KR 1020140163604A KR 20140163604 A KR20140163604 A KR 20140163604A KR 101576643 B1 KR101576643 B1 KR 101576643B1
Authority
KR
South Korea
Prior art keywords
rotation angle
value
virtual space
rotation
motion
Prior art date
Application number
KR1020140163604A
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 KR1020140163604A priority Critical patent/KR101576643B1/en
Priority to CN201580011753.5A priority patent/CN106062675A/en
Priority to PCT/KR2015/000905 priority patent/WO2016080593A1/en
Application granted granted Critical
Publication of KR101576643B1 publication Critical patent/KR101576643B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures

Abstract

Disclosed are a method and an apparatus for controlling a three-dimensional virtual space on a screen by recognizing a motion. The apparatus for controlling a three-dimensional virtual space of the present invention can rotate the virtual space by extracting an angle speed according to a motion by using a sensor, generating a rotation value proportional to the angle speed, and transmitting the rotation value to a computer or the like. If a relative rotation angle continuously increases or decreases according to a motion, the apparatus generates the rotation value by considering not only the angle speed but also a weighted value proportional to the relative rotation angle. Therefore, even when a motion for rotating the virtual space at a high speed is performed, the apparatus for controlling a three-dimensional virtual space does not escape too much from the rotation and also can quickly come back to the center of a screen.

Description

모션 인식에 의해 화면상의 3차원 가상 공간을 제어하는 방법 및 그 제어장치{Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen}TECHNICAL FIELD The present invention relates to a method and apparatus for controlling a three-dimensional virtual space on a screen by motion recognition,

본 발명은 일인칭 시점으로 표시되는 화면상의 3차원 가상 공간을 모션 인식방식으로 제어하기 위한 방법 및 그 모션 인식 제어장치에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for controlling a three-dimensional virtual space on a screen displayed as a first person view by a motion recognition method and a motion recognition control apparatus thereof.

최근에는 개인용 컴퓨터 뿐만 아니라, 텔레비전 등에도 각종 프로그램 등이 설치되어 화면상에 커서(Cursor)와 같은 포인터(Pointer)를 표시하고 사용자 제어명령을 입력받는 제어장치(또는 입력장치)들이 개발되고 있다. 제어명령 입력을 위한 제어장치로 널리 사용되는 것이 마우스(Mouse), 리모컨(Remote Controller) 또는 조이스틱(Joy Stick) 이다. 최근에는 더 발전된 형태로 등장한 것이 모션인식 제어장치이다. 모션인식 제어장치는 각종 자세 인식을 위한 센서를 구비하고 모션 인식 알고리즘에 따라 사용자의 의도를 인식하게 된다. In recent years, a control device (or input device) has been developed not only for a personal computer but also for a television set, in which various programs are installed, a pointer such as a cursor is displayed on the screen, and a user control command is input. A mouse, a remote controller, or a joystick is widely used as a control device for inputting control commands. In recent years, motion recognition control devices have appeared in a more advanced form. The motion recognition control device has sensors for various posture recognition and recognizes the intention of the user according to the motion recognition algorithm.

모션 인식 제어장치는 그 사용의 편리성에 의하여 점점 그 사용이 늘어나는 추세이다. 다만, 상황에 따라서는 현실 세계에서의 모션을 그대로 반영하는 것이 적절하지 않고, 그 현실의 모션과 화면상에서의 제어 사이에 일정한 조정이 필요할 수 있다. 대표적으로, 소위 FPS(First-Person Shooter)라 불리는 일인칭 슈팅 시뮬레이션 게임이 그러하다. The motion recognition control device is increasingly in use due to its ease of use. However, depending on the situation, it is not appropriate to reflect the motion in the real world as it is, and it may be necessary to make a certain adjustment between the actual motion and the control on the screen. Typically, this is a first-person shooting simulation game called First-Person Shooter (FPS).

일인칭 슈팅 시뮬레이션 게임은 화면에 일인칭 시점의 2.5차원 내지 3차원 가상 공간을 화면에 표시한다. 나아가, 제어의 기준이 되는 포인터는 항상 화면의 중심에 표시된다. 마우스 등으로 화면을 움직이면 가상의 3차원 공간이 움직일 뿐, 일인칭 시점의 기준이 되는 포인터는 항상 화면의 중심에 고정되어 있다. The first-person shooting simulation game displays 2.5-dimensional or 3-dimensional virtual space of first-person view on the screen on the screen. Furthermore, a pointer serving as a reference of control is always displayed at the center of the screen. When you move the screen with a mouse, the virtual three-dimensional space moves, and the pointer that is the reference of the first person view is always fixed to the center of the screen.

모션 인식 제어의 여러가지 한계 때문에 여전히 마우스가 일인칭 게임의 제어를 위한 제어장치로 널리 사용된다. 이때, 마우스는 단순히 제어명령을 입력하는 기능 이외에 다른 역할을 하지 못하는데 반해, 모션인식 제어장치는 화면 상의 가상 공간을 현실 공간으로 연장시키는 효과가 있기 때문에 게임자의 몰입도도 높아지고 게임이 더 재미 있어진다. Due to the various limitations of motion recognition control, the mouse is still widely used as a control device for the control of first-person games. At this time, while the mouse does not play a role other than simply inputting the control command, since the motion recognition control device has the effect of extending the virtual space on the screen to the real space, the game player becomes more immersed and the game becomes more interesting .

모션인식 제어장치의 제약은 현실의 실제 3차원 공간과 평면 상에 구현된 가상 공간이 불일치할 수 있다는 점이다. 도 1을 예로 들어 이러한 상황을 설명한다. The limitation of the motion recognition control device is that the actual three-dimensional space of reality and the virtual space implemented on the plane may be inconsistent. This situation will be explained by taking Fig. 1 as an example.

도 1은 모션인식 제어장치를 이용하여 일인칭 가상 공간의 제어하는 상황을 개략적으로 도시한 도면이다. 화면(10) 상에 일인칭 3차원 가상 공간(10a)이 표시되어 있다. 게임자가 화면(10)의 가상 공간(10a)을 모션 제어로 180°이상 회전시키기 위해서는 게임자 또는 제어장치(20)의 자세가 가상공간의 회전각도에 근접하게 회전해야 한다. 문제는 게임자가 180°가까이 회전하여 가상 공간(10a)을 180°이상 회전시킬 수는 있어도, 실제의 화면(10)이 게임자의 후방으로 옮겨오지는 않고 여전히 전방에 위치한다는 점이다. 게임자는 후방을 향하고 있고, 화면(10)은 여전히 전방에 위치해 있는 상황이 벌어지는 것이다. 가상 공간(10a)의 회전 후에 즉각적인 2차 제어를 하고자 하는 경우에 이러한 상황은 불편할 수 밖에 없다. 나아가, 제어장치(20)가 화면(10)을 향하도록 움직이면, 새로운 모션 제어가 형성되어 화면(10) 속의 가상공간(10a)은 반대 방향으로 움직이게 된다. 1 is a view schematically showing a situation of controlling a first-person virtual space using a motion recognition control apparatus. A first-person three-dimensional virtual space 10a is displayed on the screen 10. In order for the game player to rotate the virtual space 10a of the screen 10 by 180 degrees or more with respect to the motion control, the posture of the game player or the control device 20 must be rotated close to the rotation angle of the virtual space. The problem is that even though the game player can rotate the virtual space 10a by 180 degrees or more by rotating the game player 180 degrees or more, the actual screen 10 is not moved to the rear of the player but is still positioned forward. The game player is facing the rear, and the screen 10 is still positioned in front. This situation is inconvenient when immediate secondary control is to be performed after the rotation of the virtual space 10a. Further, when the control device 20 moves toward the screen 10, a new motion control is formed and the virtual space 10a in the screen 10 moves in the opposite direction.

모션인식에서, 통상 가상공간의 회전 속도는 제어장치 모션의 각속도에 의해 비례하게 결정되므로, 제어장치를 빠르게 움직이면 가상 공간이 빠르게 회전하게 된다. 그렇더라도, 회전에 따라 게임자나 제어장치가 화면으로부터 이격되는 상황은 여전히 발생한다. In motion recognition, the rotation speed of the virtual space is usually determined proportionally to the angular speed of the control device motion, so that if the control device is moved quickly, the virtual space rotates rapidly. Even so, the situation in which the player or the control device is spaced from the screen according to the rotation still occurs.

본 발명이 주목하는 이러한 문제점이 해결되어야 모션인식 방식에 의한 일인칭 슈팅 게임를 포함하는 일인칭 가상 공간의 모션 제어가 원할해 질 수 있다.
The motion control of the first-person virtual space including the first-person shooter game by the motion recognition method may be desired.

[관련선행기술][Related Prior Art]

대한민국 국내공개특허 제10-2007-0001292호(2007.01.04 공개)
Korean Patent Laid-Open No. 10-2007-0001292 (published on January 4, 2007)

본 발명의 목적은, 일인칭 시점으로 표시되는 화면상의 3차원 가상 공간을 모션 인식방식으로 제어하기 위한 방법 및 그 모션 인식 제어장치를 제공함에 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and a device for controlling a three-dimensional virtual space on a screen displayed as a first person view by a motion recognition method.

상기 목적을 달성하기 위하여 제시되는 본 발명의 제어장치는, 화면상에 일인칭 3차원 가상 공간을 표시하는 컴퓨터와 연결되며 상기 가상 공간을 회전시키는 회전값을 생성하는 컴퓨터에게 제공할 수 있다. 제어장치는 센서부, 모션인식부 및 회전값생성부블 포함한다. In order to achieve the above object, the present invention provides a control device connected to a computer displaying a first-person three-dimensional virtual space on a screen and providing a computer for generating a rotation value for rotating the virtual space. The control device includes a sensor unit, a motion recognition unit, and a rotation value generation bubble.

이러한 제어장치의 제어방법은, 상기 제어장치의 모션인식부가 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 단계; 상기 제어장치의 회전값생성부가 상기 모션에 따른 상기 회전값을 상기 모션인식부가 제공하는 각속도에 비례하여 생성하는 단계; 및 상기 회전값생성부가 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 단계를 포함한다. In the control method of the control device, the motion recognition unit of the control device recognizes motion using the sensor unit, and calculates an angular velocity and a relative rotation angle according to the motion, A three-dimensional rotation angle between the postures according to the motion; Wherein the rotation value generator of the control device generates the rotation value according to the motion in proportion to the angular velocity provided by the motion recognition unit; And causing the rotation value generator to provide the rotation value to the computer so that the virtual space rotates according to the rotation value.

여기서, 상기 상대 회전각도가 연속적으로 증가되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에 상기 상대 회전각도와 각속도의 곱에 해당하는 제1 가중치를 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 할 수 있다. Here, the step of generating the rotation value when the relative rotation angle is continuously increased may include calculating a rotation value by adding a first weight corresponding to the product of the relative rotation angle and the angular velocity to the angular velocity, The rotation speed of the virtual space can be made fast.

한편, 상기 회전값을 생성하는 단계는 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정할 수 있다.The step of generating the rotation value may set a maximum value of the rotation value and set the upper limit of the rotation value according to the first weight to the maximum value.

다른 실시 예에 따라, 상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리게 할 수 있다. 다만, 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않을 수 있다. According to another embodiment, the step of generating the rotation value when the relative rotation angle is continuously reduced toward the reference posture may include subtracting a second weighting proportional to the relative rotation angle from the angular velocity, The rotation speed of the virtual space can be made slower than the change of the motion. However, when the relative rotation angle is within the preset 'restricted angle', the second weight may not be applied.

실시 예에 따라, 본 발명의 제어방법은, 상기 제어장치의 기준자세설정부가 사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 단계를 더 포함하여 기준 자세를 변경할 수 있다. According to the embodiment, the control method of the present invention may further include the step of setting the reference posture by receiving the current posture information from the motion recognition unit according to the reference posture setting instruction of the user, The reference posture can be changed.

또 다른 실시 예에 따른 상기 제어방법은, 상기 회전값생성부가 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하는 단계; 및 상기 회전값생성부가 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하는 단계를 더 포함할 수 있다. 이에 따라, 상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에, 상기 회전값을 생성하는 단계에서 상기 제2 가중치에 기 설정된 값을 더함으로써 더 큰 가중치를 적용할 수 있다. In the control method according to another embodiment of the present invention, the rotation value generating unit counts the number of consecutive motions in which the relative rotation angle continues to increase and then stops, and when there is a motion in which the relative rotation angle continuously decreases, ; And the rotation value generator may further include determining whether the number of counts is equal to or greater than a reference number. Accordingly, when there is a motion in which the relative rotation angle continuously decreases after counting the reference number of times, a larger weight is applied by adding the predetermined value to the second weight in the step of generating the rotation value can do.

또한, 본 발명의 제어방법은, 상기 제어장치의 기준자세설정부가 기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 단계를 더 포함할 수 있다. Further, in the control method of the present invention, when the relative-rotation angle provided by the motion recognition unit is distributed in a specific direction away from the reference posture for a predetermined time, The method may further include the step of moving in a direction opposite to the specific direction.

본 발명의 제어장치는 화면에 표시되는 일인칭 가상공간을 회전하고자 하는 경우에 스스로의 모션을 인식하고 그 모션에 대응하는 회전값을 생성하여컴퓨터 등에게 제공함으로써 회전값에 따라 가상 공간을 회전시킬 수 있다. The controller of the present invention recognizes its own motion in the case of rotating the first-person virtual space displayed on the screen, generates a rotation value corresponding to the motion, and provides the rotation value to a computer or the like to rotate the virtual space according to the rotation value have.

본 발명에서는 회전값을 기본적으로 각속도에 비례하도록 설정하면서도, 회전각도에 비례하는 가중치를 더함으로써 제어장치의 모션에 비하여 가상 공간이 빠르게 회전하도록 하거나, 가중치를 빼는 방법으로 모션에 비하여 가상 공간이 적게 회전하도록 할 수 있다. 이를 통해, 모션인식을 통해 일인칭 가상 공간을 회전시키는 과정에서, 현실의 실제 3차원 공간과 평면 상에 구현된 가상 공간의 불일치로부터 발생하는 문제를 해결할 수 있다. In the present invention, by setting the rotation value to be basically proportional to the angular velocity, by adding a weight proportional to the rotation angle, the virtual space is rotated faster than the motion of the control device, or the virtual space is less It can be rotated. Thus, in the process of rotating the first-person virtual space through motion recognition, it is possible to solve the problems arising from the discrepancy between the actual three-dimensional space and the virtual space implemented on the plane.

나아가, 본 발명의 제어장치는 반복적인 모션 제어의 과정에서 기 설정된 기준 자세와 제어장치의 자세 사이에 오차가 발생하는 경우에 그 오차를 수정하여, 제어장치가 화면의 중심에서 가상 공간을 제어할 수 있도록 한다.
In addition, the control apparatus of the present invention corrects the error when an error occurs between the reference posture and the posture of the control apparatus in the process of repetitive motion control, and the control apparatus controls the virtual space at the center of the screen .

도 1은 종래의 모션인식 제어장치를 이용한 일인칭 가상 공간의 제어 상황을 개략적으로 도시한 도면,
도 2는 본 발명의 모션 인식 제어장치의 블록도,
도 3은 본 발명의 모션 제어 방법의 설명에 제공되는 도면, 그리고
도 4는 본 발명의 모션 제어방법의 설명에 제공되는 흐름도이다.
1 is a view schematically showing a control situation of a first-person virtual space using a conventional motion recognition control apparatus,
2 is a block diagram of a motion recognition control apparatus of the present invention;
FIG. 3 is a diagram provided in the description of the motion control method of the present invention, and
4 is a flowchart provided in the description of the motion control method of the present invention.

이하 도면을 참조하여 본 발명을 더욱 상세히 설명한다.BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described in more detail with reference to the drawings.

도 2를 참조하면, 본 발명의 모션 인식 제어장치(200)는 센서부(210), 모션인식부(230), 기준자세설정부(250) 및 회전값생성부(270)를 포함하며, 유선 또는 무선 네트워크를 통해 컴퓨터 등(30)에 연결된다.2, the motion recognition control apparatus 200 of the present invention includes a sensor unit 210, a motion recognition unit 230, a reference posture setting unit 250, and a rotation value generation unit 270, Or a computer or the like 30 via a wireless network.

컴퓨터 등(30)은 가상공간 표시부(31)가 설치된 장치로서, 컴퓨터, 노트북, 텔레비젼, 휴대 전화기 등이 컴퓨터 등(30)에 해당할 수 있다. The computer 30 or the like may be a computer, a notebook, a television, a mobile phone, or the like as a computer 30 or the like as an apparatus provided with a virtual space display unit 31.

가상공간 표시부(31)는 컴퓨터 등(30)에 연결된 모니터(40)의 화면(10) 상에 일인칭 3차원 가상 공간을 표시하고 제어장치(200)가 제공하는 '회전값'에 따라 그 가상 공간을 회전시킬 수 있다. 가상공간 표시부(31)는 컴퓨터 등(30)이 기본적으로 보유하는 하드웨어인 프로세서 칩(Processor Chip)과, 그 칩에 기반하여 동작하는 운영체제 프로그램(OS: Operating System) 및 가상공간 표시를 위한 어플리케이션(Application, 소프트웨어)으로 구현되는 구성을 기능적으로 지시한 것일 수 있다. 일인칭 슈팅 시뮬레이션 게임은 그러한 어플리케이션의 일 예이다. The virtual space display unit 31 displays a first-person three-dimensional virtual space on the screen 10 of the monitor 40 connected to the computer 30 and displays the virtual space in the virtual space . The virtual space display unit 31 includes a processor chip (hardware) that is basically possessed by the computer 30, an operating system program (OS) operating on the chip, and an application Application, or software) that is being implemented. A first-person shooter simulation game is an example of such an application.

제어장치(200)와 컴퓨터 등(30) 사이의 연결은 블루투스(Bluetooth), 무선랜(Wireless LAN) 등과 같은 무선 네트워크 뿐만 아니라 각종 유선 인터페이스도 가능하다. 예컨대, 일인칭 슈팅 시뮬레이션 게임은 기본적으로 마우스(Mouse) 입력에 의해 제어되므로, 가상공간 표시부(31)가 일인칭 슈팅 시뮬레이션 게임을 표시하는 경우, 제어장치(200)는 무선/유선 유에스비(USB) 인터페이스를 가지는 것이 바람직하며, 컴퓨터 등(30)은 제어장치(200)를 마우스로 인식할 수 있다. The connection between the control device 200 and the computer 30 may be not only a wireless network such as Bluetooth, a wireless LAN, but also various wired interfaces. For example, since the first-person shooting simulation game is basically controlled by a mouse input, when the virtual space display unit 31 displays a first-person shoot simulation game, the control device 200 displays a wireless / wired USB interface And the computer 30 or the like can recognize the control device 200 as a mouse.

모션인식부(230)는 센서부(210)를 이용하여 제어장치(200)의 자세를 인식하고, 현재 모션의 각속도와 '상대 회전 각도'를 계산한다. The motion recognition unit 230 recognizes the posture of the control device 200 using the sensor unit 210 and calculates the angular velocity of the current motion and the 'relative rotation angle'.

여기서, 상대 회전 각도는 기 설정된 기준 자세로부터 모션에 따라 변경된 현재 자세의 회전 각도이다. 회전 각도는 3차원 공간에서의 자세 변화를 표시하기 위한 것으로서, 대표적으로 오일러 각(Euler angle) 등이 사용된다. 경우에 따라, 피칭(Pitching) 각, 롤링(Rolling) 각, 요잉(Yawing) 각으로 표시되기도 한다. 따라서 회전 각도는 하나의 가상 평면 상에서의 회전 각도일 수도 있으나, 통상은 3차원 공간 내에서의 회전 각도를 의미한다. 이하에서는 회전각도를 '오일러 각'으로 설명한다. 따라서 상대 회전 각도는 기준 자세에서의 회전 각도와 현재 회전 각도의 차이가 된다. Here, the relative rotation angle is a rotation angle of the current posture changed according to the motion from the predetermined reference posture. The rotation angle is used to represent the change in the posture in the three-dimensional space, and typically an Euler angle or the like is used. In some cases, a pitching angle, a rolling angle, and a yawing angle may be displayed. Therefore, the rotation angle may be a rotation angle on one virtual plane, but usually means a rotation angle in a three-dimensional space. Hereinafter, the rotation angle is described as an 'Euler angle'. Therefore, the relative rotation angle is the difference between the rotation angle in the standard position and the current rotation angle.

기준 자세는 기 설정된 고정된 값을 사용할 수도 있고, 아래에서 설명하는 기준자세설정부(250)를 통해 설정할 수도 있다. The reference posture may be a predetermined fixed value or may be set through the reference posture setting unit 250 described below.

제어장치(200)의 자세에는 전진/후진과 같은 이동과, 피칭/롤링/요잉과 같은 회전, 그리고 이들이 결합된 동작 등을 포함하는 모든 동작이 해당한다. 당연히 본 발명의 제어장치(200) 또는 모션인식부(230)는 이러한 대부분의 자세 또는 모션을 인식할 수 있다. 다만, 본 발명은 그 중에서도 특별히 회전 동작에 관한 것으로서, 다른 모션의 인식에 대하여는 설명을 생략하고, 회전 동작을 중심으로 설명된다. 따라서 모션인식부(230)는 제어장치(200)의 회전 동작을 인식하고, 회전에 따른 각속도와 기준자세로부터의 3차원 공간상에서의 상대 회전각도를 인식한다. The posture of the control device 200 corresponds to all movements, such as forward / backward movement, rotation such as pitching / rolling / yawing, and combined movement. Of course, the control device 200 or the motion recognition unit 230 of the present invention can recognize most of these postures or motions. However, the present invention particularly relates to the rotation operation, and the description of the recognition of other motions is omitted, and the rotation operation is mainly described. Therefore, the motion recognition unit 230 recognizes the rotation operation of the control device 200, and recognizes the angular velocity of rotation and the relative rotation angle in the three-dimensional space from the reference posture.

우선, 센서부(210)는 모션인식에 필요한 센서를 구비하여 제어장치(200)의 자세(Position) 정보를 획득한다. 모션인식에 널리 사용되는 센서에는 자이로 센서(Gyroscope), 지자기 센서(Geo-Magnetic Sensor) 및 가속도 센서 등이 사용되며, 센서부(210)도 자이로 센서(211), 지자기 센서(213) 및 가속도 센서(215)를 구비한다. 자이로 센서(211)는 한 축 또는 여러 축의 회전 움직임의 각 변화량을 측정하고, 지자기 센서(213)는 지자계를 이용하여 자성체의 절대적인 방향을 측정하기 위해 사용된다. 가속도 센서(215)는 선형 가속도와 기울임 각도를 측정한다. First, the sensor unit 210 includes a sensor necessary for motion recognition to acquire position information of the control device 200. Gyroscope, geomagnetic sensor and acceleration sensor are widely used for motion recognition. The sensor unit 210 also includes a gyro sensor 211, a geomagnetic sensor 213, (215). The gyro sensor 211 measures an amount of change of angular movement of one axis or a plurality of axes, and the geomagnetic sensor 213 is used to measure the absolute direction of the magnetic body by using the geomagnetism system. The acceleration sensor 215 measures the linear acceleration and the tilt angle.

모션인식부(230)는 (1) 우선, 센서부(210)의 자이로 센서(211), 지자기 센서(213) 및 가속도 센서(215)가 제공하는 센싱 값을 기초로 제어장치(200)의 각속도와 현재 자세를 계산한 다음, (2) 기준 자세와 현재 자세 사이의 상대 회전 각도를 계산한다. The motion recognition unit 230 determines the angular velocity of the control device 200 based on the sensing values provided by the gyro sensor 211, the geomagnetism sensor 213 and the acceleration sensor 215 of the sensor unit 210, And (2) calculate the relative rotation angle between the reference posture and the current posture.

기준자세설정부(250)는, 사용자로부터 기준자세 설정에 관한 제어명령(즉, '기준자세 설정명령')이 있는 경우에, 모션인식부(230)가 제공하는 제어장치(200)의 현재 자세 정보를 기준 위치로 설정한다. 기준자세는 아래에서 설명되는 회전값 계산의 기준이 되는 현재 제어장치(200)의 자세 정보로서, 예컨대 오일러 각과 각속도의 형태로 저장된다. '기준자세 설정명령'은 별도의 버튼(미도시), 또는 기타 다른 입력수단 등을 통해 사용자로부터 직접 입력받을 수 있다. The reference posture setting unit 250 sets the reference posture setting command to the current position of the control device 200 provided by the motion recognition unit 230 Set the information to the reference position. The reference posture is stored in the form of, for example, Euler angles and angular velocities as attitude information of the current control device 200 serving as a reference of the rotation value calculation described below. The 'reference posture setting command' can be input directly from the user through a separate button (not shown) or other input means.

한편, 본 발명의 제어장치(200)는, 아래에서 다시 설명되는 것처럼, 두 개의 모드(Mode) 상에서 동작할 수 있다. 하나의 일반 모드이고, 다른 하나는 스크롤 모드이다. 사용자는 일반 모드와 스크롤 모드 사이를 전환하는 '모드 전환 제어명령'을 버튼 조작 등으로 입력할 수 있다. 이하에서의 설명은 특별한 언급이 없는 한 '스크롤 모드'에서의 설명이다.On the other hand, the control device 200 of the present invention can operate in two modes, as will be described below again. One normal mode, and the other is a scroll mode. The user can input a 'mode switching control command' for switching between the normal mode and the scroll mode by button operation or the like. The following description is made in the " scroll mode " unless otherwise specified.

이러한 경우, 기준자세설정부(250)는 일반 모드에서 스크롤 모드로 전환을 요청하는 '모드 전환 제어명령'이 있으면 '기준자세 설정명령'이 있는 것으로 판단하고, 모션인식부(230)가 제공하는 제어장치(200)의 현재 자세 정보를 기준 위치를 설정할 수 있다. In this case, the reference posture setting unit 250 determines that there is a " reference posture setting command " if there is a 'mode switching control command' requesting switching from the normal mode to the scroll mode, The reference position can be set as the current attitude information of the control device 200. [

앞서 설명한 바와 같이, 기준자세는 고정된 값을 사용할 수 있으므로, 기준자세설정부(250)가 본 발명의 필수 구성요소는 아니다. 기준자세로 고정된 값을 사용하는 경우는 제어장치(200)의 한 포인트를 특정한 위치에 피칭/롤링/요잉 가능하게 고정시킨 경우에 적용할 수 있을 것이다. As described above, since the reference posture can use a fixed value, the reference posture setting unit 250 is not an essential component of the present invention. In the case of using a fixed value in the reference posture, it may be applied to a case where one point of the control device 200 is fixed to a specific position so as to be pitching / rolling / yawing.

회전값생성부(270)는 모션인식부(230)가 제공하는 각속도와 상대 회전 각도를 기초로 컴퓨터 등(30)에 표시된 가상 공간을 회전시키기 위한 회전값을 생성하고, 생성한 회전값을 컴퓨터 등(30)에게 제공한다. 회전값은 가상 공간의 회전을 위해 컴퓨터 등(30)과 제어장치(200) 사이에 약속된 포맷에 따른 값이다. 컴퓨터 등(30)과 유에스비 인터페이스로 연결될 경우, 회전값은 통상의 컴퓨터 입력장치인 마우스(Mouse)의 출력 포맷과 동일하게 설정될 수 있다.The rotation value generation unit 270 generates a rotation value for rotating the virtual space displayed on the computer 30 based on the angular velocity and the relative rotation angle provided by the motion recognition unit 230, (30). The rotation value is a value according to the format promised between the computer 30 and the control device 200 for rotation of the virtual space. When connected to the computer 30 via the USB interface, the rotation value can be set to be the same as the output format of a mouse, which is a conventional computer input device.

회전값이 마우스 출력 포맷인 경우, 회전값은 방향정보와 이동 크기 정보를 포함하게 되고, 회전값생성부(270)는 기 설정된 시간(예컨대 10㎳) 간격으로 회전값을 컴퓨터 등(30)에게 제공하게 된다. 따라서 컴퓨터 등(30)은 회전값에 따라 가상 공간을 회전시키게 된다. If the rotation value is a mouse output format, the rotation value includes the direction information and the movement size information, and the rotation value generator 270 outputs the rotation value to the computer 30 or the like at intervals of a predetermined time . Therefore, the computer 30 rotates the virtual space according to the rotation value.

회전값은 기본적으로 각속도에 비례한 값으로 결정된다. 이하에서는 구분을 위하여, 각속도에만 비례하는 회전값을 '기본 회전값'이라 한다. 위에서 설명한 일반모드나 종래기술에서 회전값은 단순히 각속도에만 비례하는 기본 회전값이다. 이에 따라 제어장치(200)의 모션이 빠르면 가상화면의 회전도 빨라지고 모션이 느리면 그만큼 가상화면의 회전도 느려진다. 다만, 이러한 상황에서는 회전동작과 가상화면의 회전이 비례적인 관계에 있으므로, 예컨대, 제어장치(200)가 빠른 동작으로 회전하여 가상 공간이 180°회전한 경우에, 제어장치(200)도 적어도 90°이상 회전하게 되어 화면을 벗어난 상태에 있을 수 밖에 없어서 사용자의 시야에서 화면이 멀어지는 일이 발생한다. The rotation value is determined basically as a value proportional to the angular velocity. In the following description, the rotation value proportional to the angular velocity is referred to as a 'basic rotation value'. In the above-described general mode or prior art, the rotation value is simply a basic rotation value proportional to the angular velocity. Accordingly, if the motion of the control device 200 is fast, the rotation of the virtual screen is accelerated, and if the motion is slow, the rotation of the virtual screen is slowed accordingly. However, in this situation, since the rotation operation and the rotation of the virtual screen are in a proportional relationship, for example, when the control device 200 rotates at a high speed and rotates the virtual space by 180 degrees, the control device 200 also controls at least 90 Deg., And the screen must be out of the screen. Therefore, the screen may be distant from the user's view.

본 발명에서는 제어장치(200)의 모션에 따라 가중치를 더하거나 빼는 방법으로 회전값을 결정한다. 이러한 가중치 제어를 통해, 본 발명의 제어장치(200)는 종래기술에서 설명한 현실 공간과 화면 상의 공간이 불일치 상황을 해결할 수 있다. In the present invention, the rotation value is determined by adding or subtracting weights according to the motion of the controller 200. [ Through the weight control, the control device 200 of the present invention can solve the mismatch between the real space and the on-screen space described in the related art.

이하에서는 도 4를 참조하여, 제어장치(200)의 모션제어 동작을 설명한다. Hereinafter, the motion control operation of the control device 200 will be described with reference to FIG.

<기준자세 설정: S401>&Lt; Standard posture setting: S401 >

앞의 예에서처럼, 기준자세설정부(250)는 사용자로부터 '기준자세 설정명령'이 있으면, 그때 모션인식부(230)가 제공하는 제어장치(200)의 자세를 기준자세로 설정한다. 따라서, 모션인식부(230)가 오일러 각을 제공하는 경우, 그 오일러 각을 기준자세로 설정한다. As described above, the reference posture setting unit 250 sets the posture of the control device 200 provided by the motion recognition unit 230 as a reference posture at that time, if there is a 'reference posture setting command' from the user. Therefore, when the motion recognition unit 230 provides the Euler angles, the Euler angles are set as the reference postures.

<모션 인식에 따른 상대 회전각도 계산: S403, S405><Relative Rotation Angle Calculation According to Motion Recognition: S403, S405>

기준자세 설정 이후에, 모션인식부(230)는 센싱부(210)의 센싱 값이 변경되면 제어장치(200)의 모션이 있는 것으로 인식하고(S403), 그 모션에 따른 상대 회전각도를 계산한다(S405). After the reference position is set, the motion recognition unit 230 recognizes that the motion of the controller 200 exists when the sensing value of the sensing unit 210 is changed (S403), and calculates a relative rotation angle corresponding to the motion (S405).

앞서 설명한 것처럼, 상대 회전각도는 현재 자세와 기준 자세의 차이가 되며, 상대 회전 각도의 계산 방법은 기하학적 기법에 따라 구할 수 있다. As described above, the relative rotation angle is the difference between the current posture and the reference posture, and the calculation method of the relative rotation angle can be obtained by a geometric technique.

<회전값의 계산: S407><Calculation of rotation value: S407>

회전값은 기본적으로 각속도에 비례하는 값으로 구한다. 이에 대하여 다음의 상황에 따라 가중치를 적용함으로써, 제어장치(200)의 회전에 대하여 가상공간(10a)을 더 많이 회전시키거나 더 적게 회전시킨다. The rotation value is basically obtained by a value proportional to the angular velocity. On the contrary, by applying the weight according to the following situation, the virtual space 10a is rotated more or less with respect to the rotation of the control device 200. [

- 1. 모션에 따라 상대 회전각도가 계속 커지는 경우- 1. If the relative rotation angle continues to increase depending on the motion

회전값생성부(270)는, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우에, 각속도(기본 회전값 결정)에 제1 가중치를 더한 값을 사용하여 회전값을 계산한다. 이때, 상대 회전각도의 계산은 당연히 그 방향에 따라 계산되어야 하지만, 상대 회전각도가 커지기만 한다면 그 방향에 관계없이 제1 가중치를 적용한다. The rotation value generator 270 calculates a rotation value using a value obtained by adding the first weight to the angular velocity (basic rotation value determination) when the relative rotation angle provided by the motion recognition unit 230 continuously increases. At this time, the calculation of the relative rotation angle should be calculated according to the direction, but if the relative rotation angle becomes large, the first weight is applied irrespective of the direction.

다시 말해, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우에, 회전값은 다음의 수학식 1과 같이 각속도와 제1 가중치의 합에 비례한다. In other words, when the relative rotation angle provided by the motion recognition unit 230 continues to increase, the rotation value is proportional to the sum of the angular velocity and the first weight as shown in the following equation (1).

Figure 112014112687217-pat00001
Figure 112014112687217-pat00001

이렇게 보정된 회전값에 의하면, 제어장치(200)의 상대 회전 각도가 커지는 속도보다 가상 공간(10a)의 회전이 더 빨라지게 되어 조금만 움직여도 가상 공간(10a)은 많이 회전한다. According to the corrected rotation value, the rotation of the virtual space 10a is faster than the speed at which the relative rotation angle of the control device 200 increases, and the virtual space 10a rotates much even if it is moved a little.

제1 가중치는 상대 회전각도에 비례한다. 실시 예에 따라, 회전값생성부(270)는 다음의 수학식 2와 같이 제1 가중치를 구할 수 있다. The first weight is proportional to the relative rotation angle. According to the embodiment, the rotation value generator 270 can obtain the first weight as shown in Equation (2).

Figure 112014112687217-pat00002
Figure 112014112687217-pat00002

여기서, 감도는 3, 5, 7과 같은 임의 설정된 상수이다. 수학식 2에 의하면, 제1 가중치는 상대 회전각도와 각속도의 곱에 비례함과 동시에 감도에 반비례한다. 따라서, 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지는 경우, 가상 공간(10a)의 회전 속도는 상대 회전각도가 커질수록, 모션의 움직임이 빠를수록 가상 공간(10a)의 회전이 더 빨라진다.
Here, the sensitivity is a predetermined constant such as 3, 5, or 7. According to Equation (2), the first weight is proportional to the product of the relative rotation angle and the angular velocity, and is inversely proportional to the sensitivity. Therefore, when the relative rotation angle provided by the motion recognition unit 230 continues to increase, the rotation speed of the virtual space 10a becomes larger as the relative rotation angle becomes larger, the rotation of the virtual space 10a becomes longer as the motion becomes faster It accelerates.

- 2. 모션에 따라 상대 회전각도가 계속 작아지는 경우- 2. When the relative rotation angle keeps decreasing with motion

상대 회전각도가 계속 작아지는 모션은 제어장치(200)가 기본자세로 되돌아오는 상황이다. 예컨대, 사용자가 가상 공간(10a)을 회전시키기 위해 제어장치(200)를 기본 자세로부터 회전시켜 상대 회전각도가 계속 커지는 모션을 한 경우에, 제어장치(200)는 화면(10)의 중심으로부터 어느 정도 이격된 상태에 있다. 화면(10)은 화면(10)의 중심에 중심점이 있는 일인칭 가상공간(10a)을 표시하고 있다. 2차 제어를 위해서, 제어장치(200)는 화면(10)의 중심을 향하도록 다시 옮겨져야 한다. 또한, 사용자는 본능적으로 제어장치(200)를 화면(10)의 중심을 향하도록 재배치한다. 이때, 상대 회전각도는 기준 자세를 향하여 계속 작아진다. The motion in which the relative rotation angle continues to be reduced is a state in which the control device 200 returns to the basic posture. For example, when the user rotates the control device 200 from the basic posture so as to rotate the virtual space 10a, the control device 200 moves from the center of the screen 10 . The screen 10 displays a first-person virtual space 10a having a center point at the center of the screen 10. [ For secondary control, the control device 200 must be moved back toward the center of the screen 10. In addition, the user instinctively rearranges the control device 200 so as to face the center of the screen 10. At this time, the relative rotation angle continues to decrease toward the reference posture.

회전값생성부(270)는, 모션에 따라 상대 회전각도가 계속 작아지는 경우에, 각속도(기본 회전값 결정)에 제2 가중치를 뺀 값을 사용하여 다음의 수학식 3과 같이 회전값을 계산한다. 이때, 상대 회전각도의 계산은 당연히 그 방향에 따라 계산되어야 하지만, 상대 회전각도가 작아지기만 한다면 그 방향에 관계없이 제2 가중치를 적용한다.The rotation value generation unit 270 calculates a rotation value using the value obtained by subtracting the second weight from the angular velocity (basic rotation value determination) when the relative rotation angle continues to decrease according to the motion do. At this time, the calculation of the relative rotation angle should naturally be performed according to the direction, but the second weight is applied irrespective of the direction as long as the relative rotation angle becomes small.

Figure 112014112687217-pat00003
Figure 112014112687217-pat00003

수학식 3에 의하면, 모션인식부(230)가 제공하는 상대 회전각도가 계속 작아지는 경우에, 회전값은 각속도와 제2 가중치의 차에 비례한다. 여기서, 제2 가중치는 상대 회전각도에 해당하는 비례하는 값으로 결정할 수 있으며, 예를 들어 수학식 2와 동일한 방법으로 구할 수 있다. According to Equation (3), when the relative rotation angle provided by the motion recognition unit 230 continuously decreases, the rotation value is proportional to the difference between the angular velocity and the second weight. Here, the second weight can be determined as a proportional value corresponding to the relative rotation angle, and can be obtained, for example, in the same manner as in Equation (2).

실시 예에 따라, 모션에 따라 상대 회전각도가 계속 작아지는 경우에 회전값의 조정에는 한계를 두는 것이 바람직하다. According to the embodiment, it is preferable to limit the adjustment of the rotation value when the relative rotation angle is continuously decreased according to the motion.

첫 번째는, 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 제2 가중치를 적용하지 않는 것이다. 여기서, 제한 각도는 기본 회전값을 적용하여 통상의 제어를 수행해야 하는 영역이다. 예를 들면, 도 3과 같이, 화면(10)의 중심을 지나는 수직선(a) 상에 제어장치(200)의 기본 자세가 설정되었다고 가정할 경우, 제어장치(200)의 회전 중심(c)과 화면의 일 측면을 연장한 선(b)과 수직선(a)과 사이의 각도 정도(d)를 제한 각도로 설정할 수 있다. 이를 통해, 제한 각도 내에서는 제2 가중치 적용없이 기본 회전값으로 가상 공간(10a)이 회전하게 할 수 있다. The first is that the second weight is not applied when the relative rotation angle is within the predetermined 'limit angle'. Here, the limiting angle is an area in which normal control should be performed by applying the basic rotation value. For example, assuming that the basic posture of the control device 200 is set on the vertical line a passing through the center of the screen 10 as shown in Fig. 3, the rotation center c of the control device 200 The degree of angle d between the line b extending from one side of the screen and the vertical line a can be set as the limiting angle. Thereby, the virtual space 10a can be rotated to the basic rotation value without applying the second weight within the limited angle.

이 경우, 수학식 2의 제2 가중치는 예컨대 다음의 수학식 4와 같이 조정될 수 있다. In this case, the second weight of Equation (2) can be adjusted, for example, by the following Equation (4).

Figure 112014112687217-pat00004
Figure 112014112687217-pat00004

두 번째는, 제2 가중치를 적용하더라도 최소 회전값을 설정하는 것이다. 가중치가 '0'인 회전값, 즉 기본 회전값을 100% 라고 할 때, 상대-회전각도가 크면 제2 가중치도 커져서, 회전값은 기본 회전값의 70% 또는 60%가 될 수 있다. 다만, 회전값이 너무 작으면 가상 공간(10a)의 회전을 느낄 수 없으므로, 일정한 제한을 두는 것이 바람직하다. 따라서, 모션에 따라 상대 회전각도가 계속 작아지는 경우라도, 회전값은 기준 회전값(100%)을 기준으로 기 설정된 최소 회전값(예컨대, 60%) 이하로 떨어지지 않도록 한계를 둔다. The second is to set the minimum rotation value even if the second weight is applied. If the rotation value having a weight of '0', that is, the basic rotation value is assumed to be 100%, if the relative rotation angle is large, the second weighting degree also becomes large, and the rotation value can be 70% or 60% of the basic rotation value. However, if the rotation value is too small, rotation of the virtual space 10a can not be sensed, so it is desirable to set a certain limit. Therefore, even when the relative rotation angle continuously decreases according to the motion, the rotation value is limited so as not to fall below a predetermined minimum rotation value (for example, 60%) based on the reference rotation value (100%).

도 3을 참조하여, 수학식 4의 예에서 감도를 1로 하고, 위 두 번째 조건까지 적용하면서 제한각도를 20°, 최소 회전값을 60%로 가정하고, 상대 회전각도가 90°에서 점점 줄어들는 경우를 가정해보자. 상대 회전각도가 90°인 경우, 회전값은 70%로 계산되지 않고 최소 회전값이 적용되어 60%가 되며 상대 회전각도가 60°가 될 때까지 회전값은 60%가 된다. 그리고, 상대 회전각도가 30°가 되면, 회전값은 90%로 회복된다. 상대 회전각도가 20°가 되면, 회전값은 100%로 회복되어 기준 회전값이 된다. Referring to FIG. 3, in the example of the formula (4), assuming that the sensitivity is 1, the limiting angle is 20 ° and the minimum rotation value is 60% while applying the above second condition, and the relative rotation angle is gradually decreasing at 90 ° Let's assume the case. When the relative rotation angle is 90 °, the rotation value is not calculated as 70%, the minimum rotation value is applied to 60%, and the rotation value is 60% until the relative rotation angle is 60 °. And, when the relative rotation angle becomes 30 degrees, the rotation value is restored to 90%. When the relative rotation angle is 20 °, the rotation value is restored to 100% and becomes the reference rotation value.

이렇게 보정된 회전값에 의하면, 제어장치(200)의 상대 회전 각도가 작아지는 속도보다 가상 공간(10a)의 회전이 더 작아서, 많이 움직여도 가상 공간(10a)은 조금만 회전한다. 제어장치(200)가 가상 공간(10a)의 회전을 줄이면서 빠르게 화면(10)의 중앙으로 복귀할 수 있다. According to the thus corrected rotation value, the rotation of the virtual space 10a is smaller than the speed at which the relative rotation angle of the control device 200 becomes smaller, so that the virtual space 10a rotates only slightly when the robot 200 moves a lot. The control device 200 can quickly return to the center of the screen 10 while reducing the rotation of the virtual space 10a.

- 3. 모션에 따라 상대 회전각도가 계속 작아지는 다른 실시 예- 3. Another embodiment in which the relative rotation angle is continuously decreased according to the motion

다른 실시 예에 따라, 제어장치(200)가 상대 회전각도가 계속 커지다가 멈추는 모션을 연속적으로 반복한 후에, 상대 회전각도를 줄이는 모션을 하는 경우에 위 2.의 예에서 적용한 제2 가중치보다 더 큰 가중치를 적용할 수 있다. 당연히, 제2 가중치는 그대로 적용되면서 추가적인 가중치가 적용되는 것이다. According to another embodiment, in the case where the control device 200 performs motion to reduce the relative rotation angle after successively repeating the motion in which the relative rotation angle continues to increase and then stop, the second weight Large weights can be applied. Of course, the second weight is applied as it is, and the additional weight is applied.

예를 들어, 사용자가 제어장치(200)를 기준 자세에서 오른쪽으로 회전(상대 회전각도 커지는 모션)시킨다고 가정하자. 사용자가 1회 오른쪽으로 회전한 다음, 다시 기본 자세로 복귀(상대 회전각도가 계속 작아지는 모션)할 경우에는 위 2.에서 설명한 제2 가중치를 빼주는 알고리즘이 적용된다. 여기서, 사용자가 수회에 걸쳐서 연속적이고 반복적으로 오른쪽으로 회전한다고 가정할 경우에는, 제어장치(200)가 화면(10)으로부터 더 많이 이격될 수 밖에 없다. 이때에는 기존의 제2 가중치보다 큰 가중치를 빼주어야 가상 공간(10a)의 회전을 줄이면서 제어장치(200)가 빠르게 기본 자세 근처로 복귀할 수 있다. 예컨대, 수학식 3으로 구한 회전값에서 다시 기 설정된 값을 빼는 방법을 적용할 수 있다. For example, suppose that the user rotates the control device 200 to the right in the reference posture (motion in which the relative rotation angle increases). When the user rotates once to the right and then returns to the basic posture (the motion in which the relative rotation angle continues to decrease), the algorithm for subtracting the second weight from the above is applied. Here, in the case where it is assumed that the user rotates continuously and repeatedly rightward over several times, the control device 200 has to be spaced more from the screen 10. [ At this time, it is necessary to subtract a weight greater than the existing second weight so that the control device 200 can quickly return to the vicinity of the basic posture while reducing the rotation of the virtual space 10a. For example, a method of subtracting a preset value from a rotation value obtained by Equation (3) can be applied.

이를 위해, 회전값생성부(270)는 모션인식부(230)가 제공하는 상대 회전각도가 계속 커지다가 멈추는 모션의 횟수를 카운팅하되, 상대 회전각도가 작아지는 모션)이 있는 경우에는 카운팅 중인 횟수를 초기화한다. 이러한 과정을 반복하면서, 회전값생성부(270)는 카운팅 횟수가 기준 횟수 이상이 되는지 판단하며, 기준 횟수 이상이 되면 위 수학식 3 및 4로 적용된 제2 가중치에 일정한 크기의 가중치를 더 적용한다.
To this end, the rotation value generator 270 counts the number of motions in which the relative rotation angle provided by the motion recognition unit 230 continues to increase, and stops when the relative rotation angle is smaller) . While repeating this process, the rotation value generator 270 determines whether the number of counts is equal to or greater than the reference number. If the number of counts is equal to or greater than the reference number, the rotation value generator 270 further applies a predetermined weight to the second weight applied to Equations 3 and 4 .

<회전값에 따른 가상공간의 회전: S409><Rotation of virtual space according to rotation value: S409>

회전값생성부(270)는 계산된 회전값을 컴퓨터 등(30)의 가상공간 표시부(31)에 제공하여, 가상공간 표시부(31)로 하여금 가상공간(10a)을 회전시키도록 한다. The rotation value generation unit 270 provides the calculated rotation value to the virtual space display unit 31 of the computer 30 and causes the virtual space display unit 31 to rotate the virtual space 10a.

이상의 방법으로 본 발명의 제어장치(200)의 모션 제어가 수행된다.
In this way, the motion control of the control device 200 of the present invention is performed.

<실시 예: 기준자세의 이동><Example: Movement of Reference Posture>

이상의 방법을 수행하는 목적은, 사용자가 가상 공간(10a)의 원하는 방향에 도착하여 가상 공간(10a)의 회전을 멈출 때는 제어장치(200)도 기준 자세로 돌아오도록 하기 위한 것이다. 그러나, 상대 회전각도가 커질 때의 제1 가중치 적용과 상대 회전각도가 작아질 때의 제2 가중치 적용이 다르므로, 상대 회전각도가 멀어졌다가 제자리로 복귀하더라도 가상 공간(10a)이 원래의 위치로 되돌아 오지 않을 수 있다. 이러한 과정이 반복된 결과로, 제어장치(200)의 자세가 기준 자세가 아닌데 가상 공간(10a)은 원하는 위치에 있게 되고, 제어장치(200)가 기준 자세가 아닌 자세로 오래동안 머무르게 될 수 있다. The purpose of performing the above method is to allow the control device 200 to return to the reference posture when the user reaches the desired direction of the virtual space 10a and stops rotation of the virtual space 10a. However, since the application of the first weight when the relative rotation angle is large and the application of the second weight when the relative rotation angle is small are different from each other, even if the relative rotation angle goes away and returns to the original position, As shown in FIG. As a result of repeating this process, the posture of the control device 200 is not the reference posture, but the virtual space 10a is at a desired position, and the control device 200 may stay in a posture other than the reference posture .

이러한 문제를 해결하기 위하여, 기준자세설정부(250)는 제어장치(200)의 비를린 자세를 인식하고, 현재의 기준 자세를 기준으로 그 반대 방향으로 기준 자세를 옮긴다. In order to solve such a problem, the reference posture setting unit 250 recognizes the non-empty posture of the control device 200, and moves the reference posture in the opposite direction based on the current reference posture.

제어장치(200)의 비틀린 자세는, 기 설정된 시간 동안 모션인식부(230)가 제공하는 상대-회전각도의 분포를 기초로 분포량이 많은 자세로 정할 수 있다. 기준 자세를 오일러 각으로 설정하는 경우, 현재의 기준 자세(기준 오일러 각)을 기준으로 분포량이 많은 각의 반대 방향으로 이동시킨다. 또는, 기 설정된 시간 동안 모션인식부(230)가 제공하는 상대-회전각도가 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에 그 방향을 비틀린 자세로 정할 수 있다. The twisted posture of the control device 200 can be set to a posture having a large amount of distribution based on the distribution of the relative-rotation angle provided by the motion recognition unit 230 for a preset time. When the reference position is set to the Euler angle, the reference position is shifted in the direction opposite to the angle with the large amount of distribution based on the current reference position (reference Euler angle). Alternatively, when the relative-rotation angle provided by the motion recognition unit 230 for a preset time period is repeatedly distributed in a specific direction away from the reference position, the direction may be set as a twisted position.

이에 따라, 가상 공간(10a)이 제어장치(200)의 비틀린 자세를 향해 이동하는 효과가 생긴다.
Thereby, the effect that the virtual space 10a moves toward the twisted posture of the control device 200 is generated.

이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the invention as defined by the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

Claims (14)

화면상에 일인칭 3차원 가상 공간을 표시하는 컴퓨터와 연결되며 상기 가상 공간을 회전시키는 회전값을 생성하는 제어장치의 제어방법에 있어서,
상기 제어장치의 모션인식부가 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 단계;
상기 제어장치의 회전값생성부가 상기 모션에 따른 상기 회전값을 상기 모션인식부가 제공하는 각속도에 비례하여 생성하는 단계; 및
상기 회전값생성부가 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 단계를 포함하되,
상기 상대 회전각도가 연속적으로 증가되는 경우에 상기 회전값을 생성하는 단계는, 상기 상대 회전각도에 비례하는 제1 가중치를 상기 각속도에 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
A control method of a control device connected to a computer displaying a first-person three-dimensional virtual space on a screen and generating a rotation value for rotating the virtual space,
Wherein the motion recognition unit of the control device recognizes motion using the sensor unit and calculates an angular velocity and a relative rotation angle according to the motion, wherein the relative rotation angle is calculated from a predetermined reference posture to a three- A rotation angle;
Wherein the rotation value generator of the control device generates the rotation value according to the motion in proportion to the angular velocity provided by the motion recognition unit; And
And causing the rotation value generator to provide the rotation value to the computer so that the virtual space rotates according to the rotation value,
Wherein the step of generating the rotation value when the relative rotation angle is continuously increased comprises calculating a rotation value by adding a first weighting value proportional to the relative rotation angle to the angular velocity, Dimensional virtual space on the screen.
제1항에 있어서,
상기 회전값을 생성하는 단계는 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Wherein the step of generating the rotation value sets the maximum value of the rotation value and sets the upper limit of the rotation value according to the first weight to the maximum value.
제1항에 있어서,
상기 제어장치의 기준자세설정부가 사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 단계를 더 포함하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Further comprising the step of setting the reference posture by receiving the current posture information from the motion recognition unit according to a user's reference posture setting command by the reference posture setting unit of the control device How to.
제1항에 있어서,
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계는, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리도록 하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
The method according to claim 1,
Wherein the step of generating the rotation value when the relative rotation angle is continuously decreased toward the reference posture includes the steps of subtracting a second weighting proportional to the relative rotation angle from the angular velocity, Wherein the rotation speed of the virtual space is made slower than the rotation speed of the virtual space.
제4항에 있어서,
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에 상기 회전값을 생성하는 단계에서 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
The second weight is not applied when the relative rotation angle is within a predetermined 'limit angle' in the step of generating the rotation value when the relative rotation angle is continuously decreased toward the reference posture. A method for controlling a three-dimensional virtual space on a screen.
제4항에 있어서,
상기 회전값생성부가 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하는 단계; 및
상기 회전값생성부가 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하는 단계를 더 포함하고,
상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에, 상기 회전값을 생성하는 단계에서 상기 제2 가중치에 기 설정된 값을 더하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
The rotation value generator counts the number of consecutive motions in which the relative rotation angle continues to increase and stops, and if there is a motion in which the relative rotation angle continuously decreases, initializing the counting; And
Wherein the rotation value generator further comprises a step of determining whether the number of counts is equal to or greater than a reference number,
Wherein the step of adding the predetermined value to the second weight in the step of generating the rotation value when there is motion in which the relative rotation angle continuously decreases after counting the reference number of times or more, How to control space.
제4항에 있어서,
상기 제어장치의 기준자세설정부가 기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 화면상의 3차원 가상 공간을 제어하는 방법.
5. The method of claim 4,
When the reference posture setting section of the control device repeatedly distributes the relative-rotation angle provided by the motion recognition section for a predetermined period of time apart from the reference posture in a specific direction, the reference posture is changed in a direction opposite to the specific direction Dimensional virtual space on the screen. 2. The method of claim 1, further comprising:
화면상에 일인칭 3차원 가상 공간을 표시하는 컴퓨터와 연결되어 상기 가상 공간을 회전시키는 회전값을 생성하는 제어장치에 있어서,
상기 제어장치의 각속도 및 3차원 공간상의 자세 정보를 획득하는 센서부;
상기 센서부를 이용하여 모션(Motion)을 인식하여 상기 모션에 따른 각속도와 상대 회전각도를 계산하되, 상기 상대 회전각도는 기 설정된 기준 자세로부터 상기 모션에 따른 자세 사이의 3차원 회전각도인 모션인식부; 및
상기 모션인식부가 제공하는 각속도에 비례하여 상기 회전값을 생성하고, 상기 회전값을 상기 컴퓨터로 제공하여 상기 가상 공간이 상기 회전값에 따라 회전하도록 하는 회전값생성부를 포함하되,
상기 회전값생성부는, 상기 상대 회전각도가 연속적으로 증가되는 경우에, 상기 각속도에 상기 상대 회전각도와 각속도의 곱에 해당하는 제1 가중치를 더하여 상기 회전값을 계산함으로써 상기 모션보다 상기 가상공간의 회전 속도가 빠르도록 하는 것을 특징으로 하는 제어장치.
A control device connected to a computer displaying a first-person three-dimensional virtual space on a screen to generate a rotation value for rotating the virtual space,
A sensor unit for obtaining angular velocity of the control device and attitude information on a three-dimensional space;
Wherein the motion recognition unit recognizes motion using the sensor unit and calculates an angular velocity and a relative rotation angle according to the motion, wherein the relative rotation angle is a three-dimensional rotation angle between a predetermined reference posture and a posture corresponding to the motion, ; And
And a rotation value generator for generating the rotation value in proportion to the angular velocity provided by the motion recognition unit and for providing the rotation value to the computer to rotate the virtual space according to the rotation value,
The rotation value generator may calculate the rotation value by adding a first weight corresponding to the product of the relative rotation angle and the angular velocity to the angular velocity in the case where the relative rotation angle is continuously increased, So that the rotation speed is made faster.
제8항에 있어서,
상기 회전값생성부는, 상기 회전값의 최대치를 설정하고, 상기 제1 가중치에 따른 상기 회전값의 상한을 상기 최대치로 설정하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Wherein the rotation value generator sets the maximum value of the rotation value and sets the upper limit of the rotation value according to the first weight to the maximum value.
제8항에 있어서,
사용자의 기준자세 설정명령에 따라 상기 모션인식부로부터 현재 자세 정보를 제공받아 상기 기준 자세를 설정하는 기준자세설정부를 더 포함하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Further comprising a reference posture setting unit configured to receive the current posture information from the motion recognition unit according to a user's reference posture setting command and set the reference posture.
제8항에 있어서,
상기 회전값생성부는, 상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우에, 상기 각속도에서 상기 상대 회전각도에 비례하는 제2 가중치를 뺀 다음 상기 회전값을 계산함으로써 상기 모션의 변화보다 상기 가상공간의 회전 속도가 느리도록 하는 것을 특징으로 하는 제어장치.
9. The method of claim 8,
Wherein the rotation value generator subtracts a second weight value proportional to the relative rotation angle from the angular velocity at a time when the relative rotation angle is continuously decreased toward the reference posture, So that the rotation speed of the virtual space is slow.
제11항에 있어서,
상기 회전값생성부는,
상기 상대 회전각도가 상기 기준자세를 향해 연속적으로 감소되는 경우라도, 상기 상대 회전각도가 기 설정된 '제한 각도' 이내에 있을 경우에는 상기 제2 가중치를 적용하지 않는 것을 특징으로 하는 제어장치.
12. The method of claim 11,
Wherein the rotation value generator comprises:
Wherein the control unit does not apply the second weight when the relative rotation angle is within a predetermined 'restricted angle' even when the relative rotation angle is continuously decreased toward the reference posture.
제11항에 있어서,
상기 회전값생성부는, 상기 상대 회전각도가 계속 커지다가 멈추는 모션이 연속된 횟수를 카운팅하면서 상기 카운팅 횟수가 기준 횟수 이상이 되는지 여부를 판단하되, 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에는 상기 카운팅을 초기화하며,
상기 기준 횟수 이상 카운팅 된 이후에 상기 상대 회전각도가 연속적으로 작아지는 모션이 있는 경우에 상기 제2 가중치에 기 설정된 값을 더하는 것을 특징으로 하는 제어장치.
12. The method of claim 11,
Wherein the rotation value generator determines whether the number of counts is equal to or greater than a reference number while counting the number of consecutive motions in which the relative rotation angle continues to increase and stops, Lt; / RTI &gt; initializes the counting,
And adds a predetermined value to the second weight when there is motion in which the relative rotation angle continuously decreases after the reference number of times is counted.
제11항에 있어서,
기 설정된 시간 동안 상기 모션인식부가 제공하는 상대-회전각도가 상기 기준 자세로부터 특정 방향으로 이격되어 반복적으로 분포된 경우에, 상기 기준 자세를 상기 특정 방향의 반대 방향으로 이동시키는 기준자세설정부를 더 포함하는 것을 특징으로 하는 제어장치.
12. The method of claim 11,
Further comprising a reference posture setting unit for moving the reference posture in a direction opposite to the specific direction when the relative-rotation angle provided by the motion recognition unit is repeatedly distributed in a specific direction away from the reference posture for a preset time And a control unit for controlling the control unit.
KR1020140163604A 2014-11-21 2014-11-21 Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen KR101576643B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140163604A KR101576643B1 (en) 2014-11-21 2014-11-21 Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen
CN201580011753.5A CN106062675A (en) 2014-11-21 2015-01-28 Method for controlling three-dimensional virtual space on screen by motion recognition, and control device therefor
PCT/KR2015/000905 WO2016080593A1 (en) 2014-11-21 2015-01-28 Method for controlling three-dimensional virtual space on screen by motion recognition, and control device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140163604A KR101576643B1 (en) 2014-11-21 2014-11-21 Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen

Publications (1)

Publication Number Publication Date
KR101576643B1 true KR101576643B1 (en) 2015-12-11

Family

ID=55020738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140163604A KR101576643B1 (en) 2014-11-21 2014-11-21 Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen

Country Status (3)

Country Link
KR (1) KR101576643B1 (en)
CN (1) CN106062675A (en)
WO (1) WO2016080593A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101870542B1 (en) 2016-12-28 2018-06-25 주식회사 스탠딩에그 Method and apparatus of recognizing a motion

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101185589B1 (en) * 2008-11-14 2012-09-24 (주)마이크로인피니티 Method and Device for inputing user's commands based on motion sensing
US9498718B2 (en) * 2009-05-01 2016-11-22 Microsoft Technology Licensing, Llc Altering a view perspective within a display environment
KR20110044391A (en) * 2009-10-23 2011-04-29 삼성전자주식회사 Apparatus and method for input
KR102049475B1 (en) * 2013-01-08 2020-01-08 삼성전자주식회사 Input device, display device and methods of controlling thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101870542B1 (en) 2016-12-28 2018-06-25 주식회사 스탠딩에그 Method and apparatus of recognizing a motion

Also Published As

Publication number Publication date
WO2016080593A1 (en) 2016-05-26
CN106062675A (en) 2016-10-26

Similar Documents

Publication Publication Date Title
US9477312B2 (en) Distance based modelling and manipulation methods for augmented reality systems using ultrasonic gloves
US9152248B1 (en) Method and system for making a selection in 3D virtual environment
JP7166708B2 (en) VIRTUAL OBJECT CONTROL METHOD, APPARATUS, ELECTRONIC DEVICE, AND STORAGE MEDIUM
EP2353063B1 (en) Method and device for inputting a user&#39;s instructions based on movement sensing
US9250799B2 (en) Control method for information input device, information input device, program therefor, and information storage medium therefor
KR101582296B1 (en) Automatic aiming system and method for mobile game
WO2008073801A2 (en) Inertial sensor input device
WO2017012361A1 (en) Method and apparatus for adjusting position of virtual object in virtual space
CN110215685B (en) Method, device, equipment and storage medium for controlling virtual object in game
KR101961221B1 (en) Method and system for controlling virtual model formed in virtual space
US20200387227A1 (en) Length Calibration for Computer Models of Users to Generate Inputs for Computer Systems
US9229614B2 (en) Storage medium storing information processing program, information processing device, information processing system, and method for calculating specified position
US10901496B2 (en) Image processing apparatus, image processing method, and program
JP6064111B2 (en) User interface system, operation signal analysis method and program for batting operation
JP2021009673A (en) Virtual reality system, program, and computer-readable storage medium
KR101576643B1 (en) Method and Apparatus for Controlling 3 Dimensional Virtual Space on Screen
CN114428548A (en) Method and system for user interactive cursor
US9126110B2 (en) Control device, control method, and program for moving position of target in response to input operation
WO2020157955A1 (en) Virtual object display device and virtual object display method
US10429949B2 (en) User interaction apparatus and method
US11285394B1 (en) Computer-readable non-transitory storage medium having instructions stored therein, game apparatus, game system, and game processing method
JP6548956B2 (en) SYSTEM, METHOD, AND PROGRAM
KR20170001539A (en) Automatic aiming system and method for mobile game
US11604517B2 (en) Information processing device, information processing method for a gesture control user interface
US20230367403A1 (en) Terminal device, virtual object manipulation method, and virtual object manipulation program

Legal Events

Date Code Title Description
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee