KR102230421B1 - Apparatus and method of controlling virtual model - Google Patents

Apparatus and method of controlling virtual model Download PDF

Info

Publication number
KR102230421B1
KR102230421B1 KR1020180173051A KR20180173051A KR102230421B1 KR 102230421 B1 KR102230421 B1 KR 102230421B1 KR 1020180173051 A KR1020180173051 A KR 1020180173051A KR 20180173051 A KR20180173051 A KR 20180173051A KR 102230421 B1 KR102230421 B1 KR 102230421B1
Authority
KR
South Korea
Prior art keywords
virtual
point
information
virtual object
contactable
Prior art date
Application number
KR1020180173051A
Other languages
Korean (ko)
Other versions
KR20200082449A (en
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 KR1020180173051A priority Critical patent/KR102230421B1/en
Publication of KR20200082449A publication Critical patent/KR20200082449A/en
Application granted granted Critical
Publication of KR102230421B1 publication Critical patent/KR102230421B1/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
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

가상 모델 제어 방법 및 장치가 개시된다. 일 실시예에 따른 가상 모델 제어 방법은, 추적 지점 정보를 수신하는 단계와, 상기 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출하는 단계와, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 모델의 상기 가상 물체에 대한 충돌 정보를 생성하는 단계와, 상기 충돌 정보에 기초하여 상기 가상 물체에 대한 가상 접촉 지점을 생성하여 상기 가상 물체를 잡을 수 있는지 판단하는 단계를 포함한다.A method and apparatus for controlling a virtual model are disclosed. A virtual model control method according to an embodiment includes receiving tracking point information, extracting multiple contactable points from a virtual model of a body based on the tracking point information, and based on the multiple contactable points. And generating collision information for the virtual object of the virtual model, and determining whether the virtual object can be caught by generating a virtual contact point for the virtual object based on the collision information.

Description

가상 모델 제어 방법 및 장치{APPARATUS AND METHOD OF CONTROLLING VIRTUAL MODEL}Virtual model control method and device {APPARATUS AND METHOD OF CONTROLLING VIRTUAL MODEL}

아래 실시예들은 가상 모델을 제어하는 방법 및 장치에 관한 것이다.The following embodiments relate to a method and apparatus for controlling a virtual model.

최근 현실에서 구현하기 어려운 환경들을 가상의 환경에 구축하여 경험하게 하는 다양한 가상 환경 시스템들이 제작되고 있다. 이를 위해서는 가상 물체와 사용자 간의 현실감 있는 상호작용이 필요하다.In recent years, various virtual environment systems have been manufactured that allow environments that are difficult to implement in reality to be built and experienced in virtual environments. For this, a realistic interaction between a virtual object and a user is required.

사용자가 가상 물체를 조작하기 위해서는 우선 물체를 잡아야 하지만 기존의 물체를 잡을 수 있는지를 판별하는 방식은 사전에 정의된 물체의 특정 지점과의 접촉 유무를 판단하고 이에 따라 시스템이 반응하는 방식으로 이루어지기 때문에 물체의 원하는 위치를 잡기 어려운 문제점이 있다.In order for a user to manipulate a virtual object, the object must first be grabbed, but the method of determining whether an existing object can be grasped is a method in which the system reacts accordingly by determining the presence or absence of contact with a specific point of a predefined object. Therefore, there is a problem in that it is difficult to locate the desired position of the object.

근래 시각적 요소뿐만 아니라 다양한 감각을 함께 제공하여 사용자의 현실감을 증가시키려는 방법들이 있어 왔고 이에 따라 사용자에게 역감, 질감과 같은 촉각적 피드백을 제공하고 사용자가 원하는 물체의 위치를 잡는 시스템이 개발되었다.Recently, there have been methods to increase the user's sense of reality by providing various senses as well as visual elements, and accordingly, a system has been developed that provides tactile feedback such as force and texture to the user and locates the object desired by the user.

하지만 제한된 자유도의 햅틱 장비를 기반으로 하기 때문에 사용자는 한 지점만을 제어할 수 있는 제한이 존재하였고 따라서 물체와 접촉이 가능한 여러 지점들을 사용자가 제어할 수 있는 시스템들에 대한 수요가 발생하였다.However, since it is based on a haptic device with a limited degree of freedom, there is a limitation in that the user can control only one point, and thus, there is a demand for systems that allow the user to control several points that can be in contact with an object.

기존의 다중 접촉 지점 제어 방법들의 경우, 실시간 촬영되는 사용자의 영상을 기반으로 배경을 분리하고 손을 검출한 이후 이를 추적하여 정보를 획득하고 이를 가상 환경에 사상함으로서 물체와의 접촉을 판별하고 물체를 잡는데 활용하거나, 장갑과 유사한 형태의 장치를 직접 손에 착용하고 각 손가락 관절들에 부착된 센서들로부터 정보를 획득하여 이를 가상 환경에 사상함으로서 물체를 잡을 수 있는지를 판별하는 방식들이 주를 이루고 있다.In the case of the existing multi-contact point control methods, the background is separated based on the user's image captured in real time, and after detecting the hand, it is tracked to acquire information and map it to a virtual environment to determine contact with an object and identify the object. The main methods are to determine whether an object can be caught by using it for holding or by wearing a glove-like device directly on the hand and obtaining information from sensors attached to each finger joint and mapping it to a virtual environment. .

하지만 전자의 영상 장비를 사용하여 손을 추적하는 경우 손과 물체의 위치와 방향 등에 따라 정확도가 떨어지고, 여러 영상 장비를 활용하는 경우 실시간 처리가 어려운 부분과 비용 상의 문제점, 그리고 촉각적인 피드백을 전달할 수 없다는 단점이 있다.However, if the hand is tracked using electronic imaging equipment, accuracy is poor depending on the location and direction of the hand and object, and if multiple imaging equipment is used, real-time processing is difficult, problems in cost, and tactile feedback can be delivered. There is no drawback.

후자의 경우 정확도는 높으나 값비싼 장비가 요구되고, 표준화된 처리 기법이 존재하지 않으며 부착된 장치로 인해 사용자의 몰입감이 저해되고 관절의 움직임이 제한된다는 단점이 있다.In the latter case, there is a disadvantage in that the accuracy is high, but expensive equipment is required, there is no standardized processing technique, and the immersion of the user is hindered by the attached device and movement of the joint is limited.

실시예들은 가상 모델을 제어하는 기술을 제공할 수 있다.Embodiments may provide a technique for controlling a virtual model.

일 실시예에 따른 가상 모델 제어 방법은, 추적 지점 정보를 수신하는 단계와, 상기 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출하는 단계와, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 모델의 가상 물체에 대한 충돌 정보를 생성하는 단계와, 상기 충돌 정보에 기초하여 상기 가상 물체에 대한 가상 접촉 지점을 생성하여 상기 가상 물체를 잡을 수 있는지 판단하는 단계를 포함한다.A virtual model control method according to an embodiment includes receiving tracking point information, extracting multiple contactable points from a virtual model of a body based on the tracking point information, and based on the multiple contactable points. And generating collision information for the virtual object of the virtual model, and determining whether the virtual object can be caught by generating a virtual contact point for the virtual object based on the collision information.

상기 추출하는 단계는, 상기 추적 지점 정보의 좌표계를 변환하여 상기 가상 모델의 일부에 접촉 가능 지점을 사상하는 단계와, 상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출하는 단계를 포함할 수 있다.The extracting includes converting a coordinate system of the tracking point information to map a contactable point to a part of the virtual model, and based on the contactable point mapped to the part and joint information of the virtual model, the virtual It may include the step of extracting the multiple contact possible points by modifying the model.

상기 사상하는 단계는, 상기 신체의 관절 및 끝 부분에 대응하는 상기 접촉 가능 지점을 정의하는 단계와, 상기 접촉 가능 지점에 좌표계가 변환된 추적 지점 정보를 사상하는 단계를 포함할 수 있다.The mapping may include defining the contactable points corresponding to the joints and ends of the body, and mapping tracking point information having a coordinate system converted to the contactable points.

상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출하는 단계는, 상기 가상 모델의 다른 일부에 대응하는 접촉 가능 지점을 미리 정의된 궤적에 기초하여 변형하는 단계와, 상기 신체의 일부에 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출하는 단계를 포함할 수 있다.The step of extracting the multiple contactable points by modifying the virtual model based on the contactable point mapped to the part and the joint information of the virtual model may include predefining a contactable point corresponding to the other part of the virtual model. Deforming based on the trajectory, and extracting multiple contactable points based on a contactable point mapped to a part of the body and a contactable point corresponding to the deformed other part.

상기 생성하는 단계는, 상기 가상 물체의 미리 결정된 지점에 기초하여 상기 가상 물체의 계층적 충돌 정보를 생성하는 단계와, 상기 계층적 충돌 정보에 기초하여 상기 다중 접촉 가능 지점이 상기 가상 물체의 내부로 투과하는지를 판단하여 상기 충돌 정보를 생성하는 단계를 포함할 수 있다.The generating may include generating hierarchical collision information of the virtual object based on a predetermined point of the virtual object, and the multiple contactable points are moved to the inside of the virtual object based on the hierarchical collision information. It may include the step of generating the collision information by determining whether it is transparent.

상기 판단하는 단계는, 상기 충돌 정보에 기초하여 상기 가상 접촉 지점을 생성하는 단계와, 상기 가상 접촉 지점과 상기 신체의 일부의 충돌 여부에 기초하여 상기 가상 물체를 잡을 수 있는지를 판단하는 단계를 포함할 수 있다.The determining includes generating the virtual contact point based on the collision information, and determining whether the virtual object can be caught based on whether the virtual contact point collides with the part of the body. can do.

상기 충돌 정보는, 충돌 지점의 충돌 이전의 위치, 상기 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 상기 충돌 지점에 대응하는 상기 가상 물체의 정보를 포함할 수 있다.The collision information may include a position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information on the virtual object corresponding to the collision point.

상기 가상 모델 제어 방법은, 상기 가상 물체를 잡은 경우, 상기 다중 접촉 가능 지점 및 상기 가상 물체에 대한 역학 정보에 기초하여 상기 신체에 물리적 힘을 출력하는 단계를 더 포함할 수 있다.The virtual model control method may further include outputting a physical force to the body based on the multi-contact point and dynamic information on the virtual object when the virtual object is held.

상기 출력하는 단계는, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 역학 모델을 생성하는 단계와, 상기 역학 모델에 기초하여 상기 가상 물체에 작용해야 하는 힘을 계산하여 출력하는 단계를 포함할 수 있다.The outputting may include generating a dynamic model of the virtual object based on the multiple contact possible points, and calculating and outputting a force acting on the virtual object based on the dynamic model. have.

상기 역학 모델을 생성하는 단계는, 상기 가상 물체에 작용하는 중력 및 마찰력을 계산하는 단계와, 상기 다중 접촉 지점에 기초하여 상기 가상 물체의 회전 하중을 계산하는 단계를 포함할 수 있다.Generating the dynamic model may include calculating gravity and friction forces acting on the virtual object, and calculating a rotational load of the virtual object based on the multiple contact points.

일 실시예에 따른 가상 모델 제어 장치는, 추적 지점 정보를 수신하는 수신기와, 상기 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출하고, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 모델의 가상 물체에 대한 충돌 정보를 생성하고, 상기 충돌 정보에 기초하여 상기 가상 물체에 대한 가상 접촉 지점을 생성하여 상기 가상 물체를 잡을 수 있는지 판단하는 프로세서를 포함할 수 있다.The apparatus for controlling a virtual model according to an embodiment includes: a receiver for receiving tracking point information, extracting multiple contactable points from a virtual model of a body based on the tracking point information, and the virtual model based on the multiple contactable points. It may include a processor that generates collision information for the virtual object of the model, and determines whether the virtual object can be grasped by generating a virtual contact point for the virtual object based on the collision information.

상기 프로세서는, 상기 추적 지점 정보의 좌표계를 변환하여 상기 가상 모델의 일부에 접촉 가능 지점을 사상하고, 상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출할 수 있다.The processor maps a contactable point to a part of the virtual model by transforming the coordinate system of the tracking point information, and transforms the virtual model based on the contactable point mapped to the part and joint information of the virtual model. The multiple contactable points may be extracted.

상기 프로세서는, 상기 신체의 관절 및 끝 부분에 대응하는 상기 접촉 가능 지점을 정의하고, 상기 접촉 가능 지점에 좌표계가 변환된 추적 지점 정보를 사상할 수 있다.The processor may define the contactable points corresponding to the joints and ends of the body, and map tracking point information in which a coordinate system is converted to the contactable points.

상기 프로세서는, 상기 가상 모델의 다른 일부에 대응하는 접촉 가능 지점을 미리 정의된 궤적에 기초하여 변형하고, 상기 신체의 일부에 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출할 수 있다.The processor transforms a contactable point corresponding to another part of the virtual model based on a predefined trajectory, and based on a contactable point mapped to a part of the body and a contactable point corresponding to the deformed other part. Thus, it is possible to extract multiple contact points.

상기 프로세서는, 상기 가상 물체의 미리 결정된 지점에 기초하여 상기 가상 물체의 계층적 충돌 정보를 생성하고, 상기 계층적 충돌 정보에 기초하여 상기 다중 접촉 가능 지점이 상기 가상 물체의 내부로 투과하는지를 판단하여 상기 충돌 정보를 생성할 수 있다.The processor generates hierarchical collision information of the virtual object based on a predetermined point of the virtual object, and determines whether the multiple contactable points penetrate into the virtual object based on the hierarchical collision information. The collision information can be generated.

상기 프로세서는, 상기 충돌 정보에 기초하여 상기 가상 접촉 지점을 생성하고, 상기 가상 접촉 지점과 상기 신체의 일부의 충돌 여부에 기초하여 상기 가상 물체를 잡을 수 있는지를 판단할 수 있다.The processor may generate the virtual contact point based on the collision information, and determine whether the virtual object can be grasped based on whether the virtual contact point collides with the part of the body.

상기 충돌 정보는, 충돌 지점의 충돌 이전의 위치, 상기 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 상기 충돌 지점에 대응하는 상기 가상 물체의 정보를 포함할 수 있다.The collision information may include a position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information on the virtual object corresponding to the collision point.

상기 프로세서는, 상기 가상 물체를 잡은 경우, 상기 다중 접촉 가능 지점 및 상기 가상 물체에 대한 역학 정보에 기초하여 상기 신체에 물리적 힘을 출력할 수 있다.When holding the virtual object, the processor may output a physical force to the body based on the multiple contactable points and dynamic information on the virtual object.

상기 프로세서는, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 역학 모델을 생성하고, 상기 역학 모델에 기초하여 상기 가상 물체에 작용해야 하는 힘을 계산하여 출력할 수 있다.The processor may generate a dynamic model of the virtual object based on the multiple contact possible points, and may calculate and output a force acting on the virtual object based on the dynamic model.

상기 프로세서는, 상기 가상 물체에 작용하는 중력 및 마찰력을 계산하고, 상기 다중 접촉 지점에 기초하여 상기 가상 물체의 회전 하중을 계산할 수 있다.The processor may calculate gravity and friction forces acting on the virtual object, and calculate a rotational load of the virtual object based on the multiple contact points.

도 1은 일 실시예에 따른 가상 모델 제어 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 프로세서의 개략적인 블록도를 나타낸다.
도 3은 도2에 도시된 다중 접촉 가능 지점 제어기의 동작을 나타낸다.
도 4는 도 2에 도시된 충돌 판별 및 처리기의 동작을 나타낸다.
도 5는 도 2에 도시된 가상 접촉 지점 제어기의 동작을 나타낸다.
도 6은 도 2에 도시된 힘 피드백 제공기의 동작을 나타낸다.
1 is a schematic block diagram of an apparatus for controlling a virtual model according to an embodiment.
2 shows a schematic block diagram of the processor shown in FIG. 1.
3 shows the operation of the multi-contact point controller shown in FIG. 2.
4 shows the operation of the collision determination and processor shown in FIG. 2.
5 shows the operation of the virtual contact point controller shown in FIG. 2.
6 shows the operation of the force feedback provider shown in FIG. 2.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, or substitutes to the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다. Terms such as first or second may be used to describe various elements, but the elements should not be limited by terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the embodiment, the first component may be named as the second component, and similarly The second component may also be referred to as a first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.

본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in the present specification may mean hardware capable of performing functions and operations according to each name described in the present specification, or may mean a computer program code capable of performing a specific function and operation. Or, it may mean an electronic recording medium, for example, a processor or a microprocessor in which a computer program code capable of performing a specific function and operation is mounted.

다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, the module may mean a functional and/or structural combination of hardware for performing the technical idea of the present invention and/or software for driving the hardware.

도 1은 일 실시예에 따른 가상 모델 제어 장치의 개략적인 블록도를 나타낸다.1 is a schematic block diagram of an apparatus for controlling a virtual model according to an embodiment.

도 1을 참조하면, 가상 모델 제어 장치(10)는 신체의 가상 모델을 이용하여, 가상의 물체의 원하는 지점을 잡을 수 있는 환경을 제공할 수 있다. 또한, 가상 모델 제어 장치(10)는 가상의 물체와의 상호 작용을 분석하여 사용자의 신체에 힘을 피드백할 수 있다.Referring to FIG. 1, the apparatus 10 for controlling a virtual model may provide an environment in which a desired point of a virtual object can be captured by using a virtual model of a body. In addition, the virtual model control device 10 may analyze an interaction with a virtual object and feed back force to the user's body.

신체는 사람(예를 들어, 가상 모델 제어 장치(10)의 사용자)의 신체를 포함할 수 있다. 예를 들어, 신체는 손, 발을 포함할 수 있다. 가상 모델 제어 장치(10)는 사용자에게 힘, 진동 및 모션 등을 적용하므로써 터치의 느낌을 구현할 수 있다. 예를 들어, 가상 모델 제어 장치(10)는 사용자에게 힘과 운동감을 촉각을 통해 느끼도록 할 수 있다.The body may include the body of a person (for example, a user of the virtual model control device 10). For example, the body may include hands and feet. The virtual model control device 10 may implement a feeling of touch by applying force, vibration, and motion to the user. For example, the virtual model control device 10 may allow a user to feel force and motion through a sense of touch.

가상 모델 제어 장치(10)는 제한된 자유도를 가지고 가상을 물체를 잡을 때 다섯 손가락과 손바닥을 포함하는 완전한 가상의 손 모델 접촉 지점들을 제어하며 가상 물체의 여러 위치를 잡을 수 있는 방법을 제공할 수 있다.When holding a virtual object with a limited degree of freedom, the virtual model control device 10 controls the contact points of a complete virtual hand model including five fingers and a palm, and provides a method for positioning various positions of the virtual object. .

가상 모델 제어 장치(10)는 가상 물체와 충돌한 지점들의 정보를 기반으로 접촉 지점들을 생성하고 이와 물체의 운동 역학 모델을 고려하여 적응적인 힘 피드백을 사용자에게 제공할 수 있다.The virtual model control apparatus 10 may generate contact points based on information on points that collide with the virtual object, and provide adaptive force feedback to the user in consideration of the motion dynamic model of the object.

가상 모델 제어 장치(10)는 햅틱 장치를 포함할 수 있다. 가상 모델 제어 장치(10)는 가상 환경에서 햅틱 장치로 추적되는 손 모델의 두 접촉 가능 지점을 기반으로 증강시킨 완전한 손 모델의 접촉 가능 지점들을 조작할 수 있다. 가상 모델 제어 장치(10)는 가상 물체와의 충돌 지점을 판별하고 충돌 지점에 기초하여 접촉 지점들을 생성함으로써 사용자는 가상 물체들의 원하는 위치를 시각적으로 사실감 있게 잡을 수 있도록 도울 수 있다.The virtual model control device 10 may include a haptic device. The virtual model control device 10 may manipulate the contactable points of the complete hand model augmented based on two contactable points of the hand model tracked by the haptic device in the virtual environment. The virtual model control apparatus 10 may help a user to visually and realistically grasp a desired location of the virtual objects by determining the point of collision with the virtual object and generating the contact points based on the point of collision.

가상 모델 제어 장치(10)는 접촉 지점들의 양상에 따라 일부 지점들의 위치를 변화시키고, 다중 접촉 지점 정보와 물체의 특징을 고려하여 계산된 물체 운동 역학 모델과 이에 따른 사용자 힘 모델에 기반하여 사용자에게 물체를 잡은 위치에 따라 적응적인 힘 피드백을 제공할 수 있다. The virtual model control device 10 changes the positions of some points according to the patterns of the contact points, and provides the user based on the object motion dynamics model calculated in consideration of the multi-contact point information and the characteristics of the object, and the user force model accordingly. It can provide adaptive force feedback based on where the object is held.

가상 모델 제어 장치(10)는 종래 기술들의 문제점들을 해결하기 위해 자유도(Degree of Freedom)가 낮은 햅틱 장비를 활용하여 획득한 가상 손 모델의 일부 접촉 가능 지점을 바탕으로 손가락과 손바닥을 포함하는 완전한 가상 손 모델의 접촉 가능 지점들로 증강할 수 있다.The virtual model control device 10 is a complete device including a finger and a palm based on some contactable points of a virtual hand model obtained by using a haptic device having a low degree of freedom in order to solve the problems of the prior art. It can be augmented with touchable points of the virtual hand model.

가상 모델 제어 장치(10)는 사용자가 가상 물체의 원하는 부분을 시각적으로 사실감 있게 잡을 수 있도록 할 수 있다. 가상 모델 제어 장치(10)는 가상 물체의 접촉 지점들의 정보와 물체의 실제 특성에 따라 사용자에게 적응적인 촉각 피드백을 제공할 수 있다.The virtual model control device 10 may enable a user to visually and realistically grasp a desired portion of a virtual object. The virtual model control apparatus 10 may provide adaptive tactile feedback to a user according to information on contact points of the virtual object and actual characteristics of the object.

이를 통해, 가상 모델 제어 장치(10)는 제한된 자유도의 햅틱 인터페이스를 극복할 수 있다. 사용자는 가상 모델 제어 장치(10)를 이용하여 제한된 자유도에서 손가락과 손바닥을 포함하는 완전한 가상 손 모델의 변형된 다중 접촉 가능 지점들을 제어함으로써 가상 물체의 원하는 위치를 잡을 수 있다.Through this, the virtual model control device 10 can overcome a haptic interface with a limited degree of freedom. The user can use the virtual model control device 10 to control the deformed multi-touchable points of the complete virtual hand model including fingers and palms in a limited degree of freedom to position the virtual object.

가상 모델 제어 장치(10)는 충돌 지점 및 투과 정보들에 기반하여 물체 표면의 접촉 지점들을 획득하므로 사용자는 실제 물체를 잡는것과 유사한 형태의 시각적 결과물을 획득할 수 있다.The virtual model control apparatus 10 acquires contact points on the surface of the object based on the collision point and transmission information, so that the user can obtain a visual result similar to that of grasping an actual object.

가상 모델 제어 장치(10)는 사용자가 물체를 잡은 경우 접촉 지점들의 위치 정보와 물체의 물리적 특성에 따라 힘 피드백이 다르게 생성되어 출력되므로 실제 물체를 잡는 경우와 같이 적응적인 힘 피드백을 제공할 수 있다.When a user holds an object, the virtual model control device 10 generates and outputs different force feedback according to the location information of the contact points and the physical characteristics of the object, so that it can provide adaptive force feedback as in the case of holding an actual object. .

가상 모델 제어 장치(10)의 다중 접촉 가능 지점의 제어는 다양한 표면 형태의 물체들에 범용적으로 활용될 수 있다. 가상 모델 제어 장치(10)는 사용자가 장착하는 햅틱 장비로부터 받아오는 두 지점의 정보만을 바탕으로 완전한 손 모델을 구성하기 때문에 손가락 단위로 움직임이 측정되는 부가적인 장비를 착용하거나 여러 영상 장비를 설치할 필요가 없어 편리하고 비용을 절감할 수 있다.Control of multiple contactable points of the virtual model control device 10 can be used universally for objects of various surface types. Since the virtual model control device 10 composes a complete hand model based on only the information of two points received from the haptic device installed by the user, it is necessary to wear additional equipment that measures movement in units of fingers or install multiple imaging equipment. It is convenient and can save cost.

가상 모델 제어 장치(10)는 수신기(100), 프로세서(200)를 포함한다. 가상 모델 제어 장치(10)는 메모리(300)를 포함할 수 있다.The virtual model control device 10 includes a receiver 100 and a processor 200. The virtual model control device 10 may include a memory 300.

수신기(100) 신체의 가상 모델 및 신체와 가상 물체에 대한 추적 지점 정보를 수신한다. 수신기(100)는 외부로부터 신체의 가상 모델 및 가상 물체에 대한 추적 지점 정보를 수신할 수 있고, 메모리(300)로부터 수신할 수도 있다.The receiver 100 receives a virtual model of the body and tracking point information for the body and the virtual object. The receiver 100 may receive a virtual model of a body and tracking point information for a virtual object from the outside, or may receive information from the memory 300.

수신기(100)가 수신하는 추적 지점 정보는 접촉 지점의 위치, 회전 정보 및 움켜쥔 정도에 관한 정보를 포함할 수 있다. 수신기(100)는 수신한 가상 모델 및 신체와 가상 물체에 대한 추적 지점 정보를 프로세서(200)로 출력할 수 있다.The tracking point information received by the receiver 100 may include information on the position of the contact point, rotation information, and the degree of grasping. The receiver 100 may output the received virtual model and tracking point information for the body and the virtual object to the processor 200.

프로세서(200)는 수신한 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출한다. 프로세서(200)는 추적 지점 정보의 좌표계를 변환하여 가상 모델의 일부에 접촉 가능 지점을 사상할 수 있다.The processor 200 extracts multiple touchable points from the virtual model of the body based on the received tracking point information. The processor 200 may map a contactable point to a part of the virtual model by transforming the coordinate system of the tracking point information.

예를 들어, 프로세서(200)는 가상 모델 제어 장치(10)의 지역 좌표계의 종속적인 지점의 위치 및 회전 정보를 가상 모델에 대응하는 시스템 좌표계로 변환할 수 있다.For example, the processor 200 may convert position and rotation information of a dependent point of the local coordinate system of the virtual model control apparatus 10 into a system coordinate system corresponding to the virtual model.

프로세서(200)는 신체의 관절 및 끝 부분에 대응하는 접촉 가능 지점을 정의할 수 있다. 또한 프로세서(200)는 접촉 가능 지점에 좌표계가 변환된 추적 지점 정보를 사상할 수 있다.The processor 200 may define contactable points corresponding to joints and ends of the body. In addition, the processor 200 may map tracking point information in which the coordinate system is converted to a contactable point.

신체는 손을 포함할 수 있고, 관절은 손가락 관절을 포함할 수 있다. 예를 들어, 관절은 MCP(Metacarpophalangeal), PIP(Proximal Interphalangeal) 및 DIP(Distal Interphalangeal)를 포함할 수 있다.The body may include a hand, and the joint may include a finger joint. For example, the joint may include Metacarpophalangeal (MCP), Proximal Interphalangeal (PIP), and Distal Interphalangeal (DIP).

프로세서(200)는 가상 모델의 일부에 사상된 접촉 가능 지점 및 신체의 관절 정보에 기초하여 가상 모델을 변형하여 다중 접촉 가능 지점들을 추출할 수 있다.The processor 200 may extract multiple contactable points by transforming the virtual model based on the contactable point mapped to a part of the virtual model and the joint information of the body.

구체적으로, 프로세서(200)는 가상 모델의 일부와는 다른 일부에 대응하는 접촉 가능 지점을 미리 정의된 궤적에 기초하여 변형할 수 있다. 프로세서(200)는 신체의 일부가 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출할 수 있다.Specifically, the processor 200 may transform a contactable point corresponding to a part different from a part of the virtual model based on a predefined trajectory. The processor 200 may extract multiple contactable points based on a contactable point on which a part of the body is mapped and a contactable point corresponding to another deformed portion.

프로세서(200)가 다중 접촉 가능 지점을 추출하는 동작은 도 3을 참조하여 상세하게 설명할 것이다.The operation of the processor 200 to extract multiple contact possible points will be described in detail with reference to FIG. 3.

프로세서(200)는 추출한 다중 접촉 가능 지점에 기초하여 신체의 가상 모델의 가상 물체에 대한 충돌 정보를 생성한다. 충돌 정보는 충돌 지점의 충돌 이전의 위치, 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 충돌 지점에 대응하는 가상 물체의 정보를 포함할 수 있다.The processor 200 generates collision information for a virtual object of a virtual model of a body based on the extracted multiple contact possible points. The collision information may include a position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information on a virtual object corresponding to the collision point.

구체적으로, 프로세서(200)는 다중 접촉 가능 지점 및 가상 물체의 미리 결정된 지점에 기초하여 가상 물체의 계층적 충돌 정보를 생성할 수 있다. 프로세서(200)는 계층적 충돌 정보에 기초하여 추출한 다중 접촉 가능 지점이 가상 물체의 내부로 투과하는지를 판단하여 충돌 정보를 생성할 수 있다.Specifically, the processor 200 may generate hierarchical collision information of a virtual object based on multiple contactable points and a predetermined point of the virtual object. The processor 200 may generate collision information by determining whether multiple contactable points extracted based on the hierarchical collision information penetrate into the virtual object.

프로세서(200)가 충돌 정보를 생성하는 동작은 도 4를 참조하여 상세하게 설명할 것이다.An operation of the processor 200 generating collision information will be described in detail with reference to FIG. 4.

프로세서(200)는 생성한 충돌 정보에 기초하여 가상 물체에 대한 가상 접촉 지점을 생성하여 가상 물체를 잡을 수 있는지 판단한다. 프로세서(200)는 충돌 정보에 기초하여 가상 접촉 지점을 생성할 수 있다. 프로세서(200)는 생성한 가상 접촉 지점과 신체의 일부의 충돌 여부에 기초하여 가상 물체를 잡을 수 있는지를 판단할 수 있다.The processor 200 determines whether the virtual object can be caught by generating a virtual contact point for the virtual object based on the generated collision information. The processor 200 may generate a virtual contact point based on the collision information. The processor 200 may determine whether the virtual object can be grasped based on whether the generated virtual contact point collides with a part of the body.

프로세서(200)가 가상 물체를 잡을 수 있는지 판단하는 동작은 도 5를 참조하여 상세하게 설명할 것이다.An operation of determining whether the processor 200 can hold the virtual object will be described in detail with reference to FIG. 5.

사용자가 가상 물체를 잡은 경우, 프로세서(200)는 추출한 다중 접촉 가능 지점 및 가상 물체에 대한 역학 정보에 기초하여 신체에 물리적 힘을 출력할 수 있다.When the user holds the virtual object, the processor 200 may output a physical force to the body based on the extracted multiple contactable points and dynamic information on the virtual object.

프로세서(200)는 추출한 다중 접촉 가능 지점에 기초하여 가상 물체의 역학 모델을 생성할 수 있다. 구체적으로, 프로세서(200)는 가상 물체에 작용하는 중력 및 마찰력을 계산할 수 있다. 프로세서(200)는 다중 접촉 지점에 기초하여 가상 물체의 회전 하중을 계산할 수 있다.The processor 200 may generate a dynamic model of a virtual object based on the extracted multi-contactable points. Specifically, the processor 200 may calculate gravity and friction forces acting on the virtual object. The processor 200 may calculate the rotational load of the virtual object based on the multiple contact points.

프로세서(200)는 생성한 역학 모델에 기초하여 가상 물체에 작용해야 하는 힘을 계산하여 출력할 수 있다. 프로세서(200)가 신체에 물리적 힘을 출력하는 동작은 도 6을 참조하여 상세하게 설명할 것이다.The processor 200 may calculate and output a force that must act on the virtual object based on the generated dynamic model. An operation of the processor 200 outputting a physical force to the body will be described in detail with reference to FIG. 6.

도 2는 도 1에 도시된 프로세서의 개략적인 블록도를 나타낸다.2 shows a schematic block diagram of the processor shown in FIG. 1.

도 2를 참조하면, 프로세서(200)는 다중 접촉 가능 지점 제어기(210), 충돌 판별 및 처리기(230), 가상 접촉 지점 제어기(250) 및 힘 피드백 제공기(270)를 포함할 수 있다.Referring to FIG. 2, the processor 200 may include a multiple contact point controller 210, a collision determination and processor 230, a virtual contact point controller 250, and a force feedback provider 270.

다중 접촉 가능 지점 제어기(210) 제한된 자유도의 햅틱 장비로부터 수신한 일부 접촉 가능 지점의 위치 정보, 사용자가 장비를 움켜쥔 정도 및 정의된 회전 궤적 정보에 기초하여 신체의 가상 모델(예를 들어, 기본 가상 손 모델)을 변형시킬 수 있다.Multi-touchable point controller 210 A virtual model of a body (for example, based on the location information of some touchable points received from a haptic device with limited degrees of freedom, the degree to which the user grasps the equipment, and defined rotational trajectory information) Virtual hand model).

다중 접촉 가능 지점 제어기(210)는 햅틱 장비로부터 받아오는 위치 정보를 엄지와 검지의 끝 접촉 가능 지점 위치로 사상할 수 있다. 다중 접촉 가능 지점 제어기(210)는 나머지 접촉 가능 지점들을 손가락과 손바닥을 포함한 초기 완전한 손 모델을 기반으로 정의할 수 있다.The multi-contactable point controller 210 may map the positional information received from the haptic device to the position of the end contactable point of the thumb and the index finger. The multiple contactable point controller 210 may define the remaining contactable points based on an initial complete hand model including fingers and palms.

다중 접촉 가능 지점 제어기(210)는 햅틱 장치를 움켜쥔 정도에 따라 손가락의 접촉 가능 지점들의 위치를 미리 정의된 회전 궤적 정보에 따라 계산하여 변형할 수 있다.The multi-contactable point controller 210 may calculate and transform the positions of the contactable points of the finger according to the predefined rotational trajectory information according to the degree of gripping the haptic device.

충돌 판별 및 처리기(230) 각 물체의 위치 및 회전 정보를 기반으로 물체의 충돌 계층 구조를 구축하고 손 모델의 변형된 다중 접촉 가능 지점 정보를 이용하여 충돌 지점을 판별할 수 있다.The collision determination and processor 230 may establish a collision hierarchy structure of an object based on the position and rotation information of each object, and determine the collision point using the modified multi-contact point information of the hand model.

충돌 판별 및 처리기(230)는 초기 생성 과정에서 구성하는 정점들을 기반으로 충돌 계층 구조를 구축할 수 있다. 이후, 충돌 판별 및 처리기(230)는 신체의 가상 모델(예를 들어, 손 모델)의 변형된 다중 접촉 가능 지점 정보들을 분석하여 특정 물체와 충돌이 검출되는 경우 충돌한 손 모델의 지점들과 투과한 정도 등 충돌 지점에 관한 정보들을 분석할 수 있다.The collision determination and processor 230 may build a collision hierarchy based on vertices configured in an initial generation process. Thereafter, the collision determination and processing unit 230 analyzes the modified multi-contact point information of the virtual model of the body (for example, the hand model), and when a collision with a specific object is detected, the points of the colliding hand model are transmitted. You can analyze information about the impact point, such as a degree.

가상 접촉 지점 제어기(250)는 충돌 지점 및 투과 정보를 분석하여 지점이 물체 표면을 투과하는 경우 표면에 가상 접촉 지점을 생성하고 접촉 지점들의 양상에 따라 물체를 잡을 수 있는지 여부를 판단한 후 일부 접촉 가능 지점을 회전시켜 추가적인 가상 접촉 지점을 생성할 수 있다. The virtual contact point controller 250 analyzes the collision point and transmission information to create a virtual contact point on the surface when the point passes through the object surface, and determines whether or not the object can be grasped according to the pattern of the contact points, and then some contact is possible. Additional virtual contact points can be created by rotating the points.

가상 접촉 지점 제어기(250)는 충돌 지점들과 투과 정보들을 분석하여 추적되는 지점들 이외에 가상의 접촉 지점들을 물체 표면에 생성할 수 있다. 가상 접촉 지점 제어기(250)는 접촉 지점들의 양상을 분석하여 물체를 잡을 수 있는지를 판단할 수 있다.The virtual contact point controller 250 may generate virtual contact points on the object surface in addition to the tracked points by analyzing the collision points and the transmission information. The virtual contact point controller 250 may determine whether the object can be grasped by analyzing the aspects of the contact points.

가상 접촉 지점 제어기(250)는 가상의 물체를 잡을 수 있는 경우, 일부 추가적인 지점들을 미리 정의된 회전 궤적에 따라 변형시키며 물체와의 충돌 여부를 판단한 후 충돌한 경우 가상 접촉 지점을 생성하고 충돌하지 못한 경우 기존의 위치에 고정시킬 수 있다.When the virtual contact point controller 250 is capable of grasping a virtual object, some additional points are transformed according to a predefined rotational trajectory, and if it collides after determining whether or not it collides with the object, it creates a virtual contact point and fails to collide. If so, it can be fixed to an existing location.

힘 피드백 제공기(270) 다중 접촉 지점들의 정보와 물체의 특성을 이용하여 물체 운동 역학 모델을 생성할 수 있다. 또한, 힘 피드백 제공기(270)는 역학 모델에서의 힘, 회전 하중 및 사용자 힘의 변화 관계를 바탕으로 계산된 힘을 함께 고려하여 적응적인 힘 피드백을 생성하고, 출력할 수 있다.The force feedback provider 270 may generate an object motion dynamics model using information on multiple contact points and characteristics of an object. In addition, the force feedback provider 270 may generate and output an adaptive force feedback in consideration of a force calculated based on a change relationship between a force in a dynamic model, a rotational load, and a user force.

힘 피드백 제공기(270)는 다중 접촉 지점들의 정보를 물체 운동 역학 모델에 입력하여 물체의 질량 등과 함께 계산하여 물체에 작용하는 힘을 계산할 수 있다. 힘 피드백 제공기(270)는 회전 하중과 사용자 힘 모델에 기초하여 회전 하중에 대하여 추가적인 처리 과정을 수행할 수 있다. 이후, 힘 피드백 제공기(270)는 적응적 힘 피드백을 생성하고, 사용자에게 출력할 수 있다.The force feedback provider 270 may calculate a force acting on the object by inputting information on multiple contact points into an object motion dynamic model and calculating it together with the mass of the object. The force feedback provider 270 may perform additional processing on the rotational load based on the rotational load and the user force model. Thereafter, the force feedback provider 270 may generate an adaptive force feedback and output it to the user.

이하에서 도 3 내지 도 6을 참조하여 가상 모델 제어 장치(10)의 동작을 상세하게 설명한다.Hereinafter, the operation of the virtual model control device 10 will be described in detail with reference to FIGS. 3 to 6.

도 3은 도2에 도시된 다중 접촉 가능 지점 제어기의 동작을 나타낸다.3 shows the operation of the multi-contact point controller shown in FIG. 2.

도 3을 참조하면, 다중 접촉 가능 지점 제어기(210)는 수신기(100)로부터 추적 지점 정보를 수신할 수 있다. 추적 지점 정보는 햅틱 장치 정보(310)를 포함할 수 있다. 예를 들어, 햅틱 장치 정보(310)는 접촉 지점의 위치, 회전 정보 및 회전 정보 및 움켜쥔 정도에 관한 정보를 포함할 수 있다.Referring to FIG. 3, the multi-contact point controller 210 may receive tracking point information from the receiver 100. The tracking point information may include haptic device information 310. For example, the haptic device information 310 may include information on a position of a contact point, rotation information, rotation information, and a degree of grasping.

즉, 다중 접촉 가능 지점 제어기(210)는 수신기(100)로부터 미리 결정된 주기마다 사용자가 착용한 햅틱 장비로부터 접촉 지점의 위치, 회전 정보 및 움켜쥔 정도에 대한 정보를 수신할 수 있다.That is, the multi-contact point controller 210 may receive information on the position of the contact point, rotation information, and the degree of grasping from the haptic device worn by the user at each predetermined period from the receiver 100.

다중 접촉 가능 지점 제어기(210)는 수신한 추적 지점 정보의 좌표계를 변환하여 가상 모델의 일부에 접촉 가능 지점을 사상할 수 있다. 구체적으로, 다중 접촉 가능 지점 제어기(210)는 햅틱 장비의 지역 좌표계에 종속적인 지점의 위치 및 회전 정보를 가상 모델에 대응하는 시스템 좌표계로 변환할 수 있다.The multi-contactable point controller 210 may map a contactable point to a part of the virtual model by transforming the coordinate system of the received tracking point information. Specifically, the multi-contactable point controller 210 may convert position and rotation information of a point dependent on the local coordinate system of the haptic device into a system coordinate system corresponding to the virtual model.

이후, 다중 접촉 가능 지점 제어기(210)는 가상 모델 상의 접촉 가능 지점에 신체의 일부를 사상할 수 있다. 예를 들어, 다중 접촉 가능 지점 제어기(210)는 신체의 가상 모델(예를 들어, 가상 기본 손 모델(330))의 엄지와 검지 끝 접촉 가능 지점으로 사상할 수 있다.Thereafter, the multi-contactable point controller 210 may map a part of the body to the contactable point on the virtual model. For example, the multi-contactable point controller 210 may map the thumb and the index finger tip to the contactable point of the virtual model of the body (eg, the virtual basic hand model 330 ).

다중 접촉 가능 지점 제어기(210)는 가상 모델 상에 신체의 관절 및 끝 부분에 대응하는 접촉 가능 지점을 정의할 수 있다. 예를 들어, 다중 접촉 가능 지점 제어기(210)는 엄지의 경우 MCP, PIP 관절과 끝 부분에 접촉 가능 지점들을 정의하고 나머지 네 손가락의 경우 MCP, PIP, DIP 관절과 끝 부분에 접촉 가능 지점들을 정의할 수 있다. 또한, 다중 접촉 가능 지점 제어기(210)는 손바닥의 경우 격자 형태로 구분한 후 미리 결정된 위치에 접촉 가능 지점들을 정의할 수 있다.The multi-contactable point controller 210 may define contactable points corresponding to joints and ends of the body on the virtual model. For example, the multi-contactable point controller 210 defines contactable points at the MCP and PIP joints and the tip in the case of the thumb, and defines contactable points at the MCP, PIP, DIP joints and the tip for the remaining four fingers. can do. In addition, the multi-contactable point controller 210 may divide the palm into a grid shape and define contactable points at a predetermined position.

다중 접촉 가능 지점 제어기(210)는 신체의 일부가 사상된 접촉 가능 지점 및 가상 모델의 관절 정보에 기초하여 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출할 수 있다. 관절 정보는 관절 간의 길이와 방향, 관절의 회전축 정보를 포함할 수 있다.The multi-contactable point controller 210 may extract the multi-contactable points by modifying the virtual model based on the contact information of the virtual model and the contactable point on which a part of the body is mapped. The joint information may include length and direction between joints, and information on a rotation axis of the joint.

다중 접촉 가능 지점 제어기(210)는 사상된 엄지와 검지 끝 접촉 가능 지점 정보와 미리 정의된 손가락 관절 간의 길이와 방향, 관절의 회전축 정보 등에 따라 정의된 접촉 가능 지점 이외의 손 모델의 접촉 가능 지점들의 위치를 정의할 수 있다.The multi-contactable point controller 210 includes contactable points of the hand model other than the contactable points defined according to the mapped thumb and index fingertip contactable point information, the length and direction between predefined finger joints, and rotation axis information of the joint. You can define the location.

다중 접촉 가능 지점 제어기(210)는 신체의 일부에 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출할 수 있다. 다중 접촉 가능 지점 제어기(210)는 회전 궤적 정보(350)에 기초하여 다중 접촉 가능 지점을 추출할 수 있다. 회전 궤적 정보(350)는 각 손가락의 미리 정의된 궤적 정보를 포함할 수 있다.The multi-contactable point controller 210 may extract the multi-contactable point based on the contactable point mapped to a part of the body and the contactable point corresponding to the deformed other part. The multi-contactable point controller 210 may extract the multi-contactable point based on the rotation trajectory information 350. The rotation trajectory information 350 may include predefined trajectory information of each finger.

예를 들어, 다중 접촉 가능 지점 제어기(210)는 위에서 신체의 가상 모델(예를 들어, 기본 손 모델)에 기초하여 햅틱 장비의 움켜쥔 정도가 각 손가락의 미리 정의된 궤적 정보의 입력 값으로 주어지면 각 손가락 관절들(예를 들어, MCP, DIP 및 PIP)의 접촉 가능 지점은 궤적을 따라 목표 위치들로 계산할 수 있다(350).For example, the multi-contact point controller 210 gives the degree of grasping of the haptic device as an input value of predefined trajectory information of each finger based on a virtual model of the body (for example, a basic hand model) from above. Contactable points of each finger joint (eg, MCP, DIP, and PIP) on the ground may be calculated as target positions along a trajectory (350).

상술한 과정을 통해 다중 접촉 가능 지점 제어기(210)는 다중 접촉 가능 지점을 추출할 수 있다. 예를 들어, 다중 접촉 가능 지점 제어기(210)는 최종적인 손 모델의 변형된 다중 접촉 가능 지점(370)들을 추출할 수 있다.Through the above-described process, the multi-contact point controller 210 may extract the multi-contact point. For example, the multi-contactable point controller 210 may extract modified multi-touchable points 370 of the final hand model.

이 때, 각 손가락 관절의 사전 궤적 곡선은 사용자가 착용한 햅틱 장비를 움켜쥐지 않은 경우 손가락을 완전히 편 형태를 기본으로 하고, 물체와 충돌하지 발생하지 않는 경우 최대 움켜쥠에 도달할 때까지 각 손가락 관절들은 주먹을 쥐는 형태로 반원과 유사한 형태의 곡선을 그리며 안쪽으로 회전될 수 있다.At this time, the preliminary trajectory curve of each finger joint is based on the form that the finger is completely straightened when the haptic device worn by the user is not gripped, and when there is no collision with an object, each finger joint is reached until the maximum grip is reached. They can be rotated inward, drawing a curve similar to a semicircle in the form of a clenched fist.

다중 접촉 가능 지점 제어기(210)는 다중 접촉 가능 지점을 충돌 판별 및 처리기로 출력할 수 있다.The multi-contactable point controller 210 may output the multi-contactable point to a collision determination and processor.

도 4는 도 2에 도시된 충돌 판별 및 처리기의 동작을 나타낸다.4 shows the operation of the collision determination and processor shown in FIG. 2.

도 4를 참조하면, 충돌 판별 및 처리기(230)는 다중 접촉 가능 지점에 기초하여 가상 모델의 가상 물체에 대한 충돌 정보를 생성할 수 있다. 구체적으로, 충돌 판별 및 처리기(230)는 다중 접촉 가능 지점 및 상기 가상 물체의 미리 결정된 지점에 기초하여 상기 가상 물체의 계층적 충돌 정보(430)를 생성하고, 계층적 충돌 정보(430)에 기초하여 다중 접촉 지점이 가상 물체의 내부로 투과하는지를 판단하여 충돌 정보를 생성할 수 있다.Referring to FIG. 4, the collision determination and processor 230 may generate collision information for a virtual object of a virtual model based on multiple contact possible points. Specifically, the collision determination and processor 230 generates hierarchical collision information 430 of the virtual object based on multiple contact possible points and a predetermined point of the virtual object, and based on the hierarchical collision information 430 Accordingly, it is possible to generate collision information by determining whether multiple contact points are transmitted into the virtual object.

충돌 판별 및 처리기(230)는 상술한 손 모델의 변형된 다중 접촉 가능 지점 정보(410)와 가상 물체들의 특정 지점들을 기반으로 구축한 물체의 계층적 충돌 정보(430)에 기초하여 충돌이 발생한 지점들을 분석할 수 있다.The collision determination and processor 230 is a point where a collision occurs based on the modified multi-contact point information 410 of the hand model and the hierarchical collision information 430 of an object built based on specific points of virtual objects. Can be analyzed.

물체의 계층적 충돌 정보(430)는 물체를 잡은 이후 손의 움직임에 따라 햅틱 장비로부터 수신한 물체의 위치 및 회전 정보의 지역 좌표계에 기초하여 주기적으로 갱신될 수 있다.The hierarchical collision information 430 of the object may be periodically updated based on the local coordinate system of the position and rotation information of the object received from the haptic device according to the movement of the hand after holding the object.

충돌 판별 및 처리기(230)는 주기적으로 받아오는 손 모델의 변형된 다중 접촉 가능 지점들의 위치 및 회전 값을 이전 값과 비교하여 변화된 정도와 방향 등을 갱신된 물체의 계층적 충돌 정보의 입력 값으로 사용할 수 있다.The collision determination and processing unit 230 compares the position and rotation values of the deformed multi-contact points of the hand model that are periodically received with the previous values, and compares the changed degree and direction as an input value of the updated hierarchical collision information of the object. Can be used.

충돌 판별 및 처리기(230)는 계층적 충돌 정보(430)에 기초하여 충돌 계층 구조를 탐색하며 변형된 접촉 가능 지점이 가상 물체의 내부로 투과한 경우 충돌로 판별(450)하고 충돌 정보를 저장할 수 있다. 충돌 정보는 충돌 지점의 충돌 이전의 위치, 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 충돌 지점에 대응하는 가상 물체의 정보를 포함할 수 있다.The collision determination and processor 230 searches for a collision hierarchy based on the hierarchical collision information 430, and if the transformed contact point penetrates into the interior of the virtual object, it is determined as a collision 450 and may store collision information. have. The collision information may include a position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information on a virtual object corresponding to the collision point.

도 5는 도 2에 도시된 가상 접촉 지점 제어기의 동작을 나타낸다.5 shows the operation of the virtual contact point controller shown in FIG. 2.

도 5를 참조하면, 가상 접촉 지점 제어기(250)는 충돌 정보에 기초하여 가상 물체에 대한 가상 접촉 지점을 생성하여 가상 물체를 잡을 수 있는지 판단할 수 있다.Referring to FIG. 5, the virtual contact point controller 250 may determine whether the virtual object can be caught by generating a virtual contact point with respect to the virtual object based on collision information.

가상 접촉 지점 제어기(250)는 충돌 지점에 대한 정보 및 투과 정보(510)들을 분석하여 충돌이 검출된 지점들의 경우 기존 지점의 위치와 함께 시각적으로 물체 표면을 투과시키지 않기 위한 가상의 접촉 지점들을 생성할 수 있다(530).The virtual contact point controller 250 analyzes the information on the collision point and the transmission information 510 to create virtual contact points in order not to visually transmit the object surface along with the position of the existing point in the case of points where collision is detected. Can do it (530).

가상 접촉 지점 제어기(250)는 상술한 충돌 정보에 기초하여 가상 접촉 지점을 생성할 수 있다. 예를 들어, 가상 접촉 지점 제어기(250)는 충돌 지점의 충돌 이전의 위치, 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 충돌 지점에 대응하는 가상 물체의 정보에 기초하여 가상 접촉 지점을 생성할 수 있다.The virtual contact point controller 250 may generate a virtual contact point based on the above-described collision information. For example, the virtual contact point controller 250 determines the virtual contact point based on the position before the collision of the collision point, the position after the collision of the collision point, the moving direction of the haptic device, and information of the virtual object corresponding to the collision point. Can be generated.

가상 접촉 지점 제어기(250)는 충돌이 발생한 지점들에 대한 정보에 기초하여 물체를 잡을 수 있는지를 판단할 수 있다(550). 가상 접촉 지점 제어기(250)는 손 모델의 여러 지점 중에 경우 엄지 및 검지의 끝 지점이 물체와 충돌한 경우를 물체를 잡을 수 있는 경우로 판단할 수 있다.The virtual contact point controller 250 may determine whether the object can be grasped based on information on the points where the collision occurs (550 ). The virtual contact point controller 250 may determine a case in which the end points of the thumb and the index finger collide with the object among several points of the hand model as a case in which the object can be grasped.

가상 접촉 지점 제어기(250)는 가상 물체를 잡은 경우 엄지와 검지를 제외하고 나머지 세 손가락 끝의 접촉 가능 지점들이 미리 정의된 궤적 곡선을 따라 특정 범위만큼 회전하며 추가적으로 물체와 충돌이 가능한지를 판단할 수 있다. 가상 접촉 지점 제어기(250)는 충돌이 가능한 경우 위와 동일한 방식으로 가상 접촉 지점을 생성하고 가능하지 않은 경우 기존의 위치를 고수할 수 있다.When holding a virtual object, the virtual contact point controller 250 rotates by a specific range along a predefined trajectory curve, except for the thumb and index finger, and can determine whether a collision with the object is possible. have. When a collision is possible, the virtual contact point controller 250 may create a virtual contact point in the same manner as above, and if it is not possible, the virtual contact point controller 250 may adhere to an existing position.

도 6은 도 2에 도시된 힘 피드백 제공기의 동작을 나타낸다.6 shows the operation of the force feedback provider shown in FIG. 2.

도 6을 참조하면, 힘 피드백 제공기(270)는 가상 물체를 잡은 경우, 다중 접촉 가능 지점 및 가상 물체에 대한 역학 정보에 기초하여 신체에 물리적 힘을 출력할 수 있다. 구체적으로, 힘 피드백 제공기(270)는 다중 접촉 가능 지점에 기초하여 가상 물체의 역학 모델을 생성할 수 있다. 힘 피드백 제공기(270)는 역학 모델에 기초하여 상기 가상 물체에 작용해야 하는 힘을 계산하여 출력할 수 있다.Referring to FIG. 6, when holding a virtual object, the force feedback provider 270 may output a physical force to the body based on multiple contactable points and dynamic information about the virtual object. Specifically, the force feedback provider 270 may generate a dynamic model of a virtual object based on multiple contactable points. The force feedback provider 270 may calculate and output a force that must act on the virtual object based on the dynamic model.

예를 들어, 힘 피드백 제공기(270)는 가상 물체를 잡은 경우, 다중 접촉 지점들의 물체의 질량 중심에서의 상대적인 충돌 위치와 엄지와 검지의 접촉 지점에 기초한 한 고정점(pivot) 등의 정보(610)를 이용하여 물체 운동 역학 모델(630)에 입력할 수 있다.For example, when the force feedback provider 270 holds a virtual object, information such as a pivot based on the relative collision position at the center of mass of the object of the multiple contact points and the contact point between the thumb and the index finger ( 610) may be used to input into the object motion dynamics model 630.

물체의 역학 모델은 중력과, 마찰력, 회전 하중으로 구성될 수 있다. 힘 피드백 제공기(270)는 가상 물체에 작용하는 중력 및 마찰력을 계산하고, 다중 접촉 지점에 기초하여 가상 물체의 회전 하중을 계산할 수 있다.The dynamic model of an object can be composed of gravity, friction, and rotational loads. The force feedback provider 270 may calculate gravity and friction forces acting on the virtual object, and calculate a rotational load of the virtual object based on multiple contact points.

중력 및 마찰력은 미리 정의된 물체의 질량, 마찰계수, 중력 가속도에 기초하여 결정될 수 있다. 회전 하중은 물체의 질량 중심과 다중 접촉 지점 정보에 기초하여 계산된 고정점 등을 바탕으로 물리 진자(Physical pendulum)의 운동 방정식을 계산하여 결정될 수 있다.Gravity and friction may be determined based on a predefined mass of an object, a coefficient of friction, and an acceleration of gravity. The rotational load may be determined by calculating an equation of motion of a physical pendulum based on a fixed point calculated based on information about a center of mass of an object and multiple contact points.

힘 피드백 제공기(270)는 물체를 잡은 순간의 엄지와 검지 끝 접촉 지점의 중심이 물체의 고정점으로, 안정된 평형 상태(Stable equilibrium)의 물체 축을 기준으로 하여 고정점과 질량 중심을 이은 선분이 안정된 평형 상태의 축에서 벗어난 각 변위(Angular displacement)를 계산할 수 있다.In the force feedback provider 270, the center of the point of contact between the thumb and the index finger tip at the moment of holding the object is a fixed point of the object, and a line segment connecting the fixed point and the center of mass is based on the axis of the object in a stable equilibrium state. You can calculate the angular displacement off the axis of a stable equilibrium state.

이후, 힘 피드백 제공기(270)는 물리 진자 운동 방정식을 이용하여 회전 하중을 결정할 수 있다. 힘 피드백 제공기(270)는 추가적인 접촉 지점들이 존재하는 경우 물체 질량 중심에서의 상대적 위치에 따라 회전 하중을 억제하고, 최종 계산된 회전 하중을 사용자 힘 모델(650)에 입력할 수 있다. Thereafter, the force feedback provider 270 may determine the rotational load using a physical pendulum motion equation. When there are additional contact points, the force feedback provider 270 may suppress a rotational load according to a relative position at the center of mass of the object, and may input the final calculated rotational load into the user force model 650.

회전 하중과 사용자 힘 모델은 실제 물체가 안정된 평형 상태일 때 사용자가 잡는 힘을 기준으로 하여 각 변위에 따른 회전 하중이 주어졌을 때 잡는 힘의 변화 정도를 측정한 정보들에 기초하여 결정될 수 있다.The rotational load and user force model may be determined based on the information obtained by measuring the degree of change in the gripping force when the rotational load according to each displacement is given based on the force held by the user when the actual object is in a stable equilibrium state.

따라서, 가상 물체의 질량 등의 정보와 물체 운동 역학 모델에서 계산된 회전 하중이 주어지는 경우 힘 피드백 제공기(270)는 사용자가 가상의 물체에 작용해야 하는 힘을 계산하고, 비례 조정하어 햅틱 장치의 그리퍼(gripper)에 적용할 힘을 계산할 수 있다.Therefore, when information such as the mass of the virtual object and the rotational load calculated from the object motion dynamics model are given, the force feedback provider 270 calculates the force that the user must act on the virtual object and adjusts proportionally to the haptic device. You can calculate the force to be applied to the gripper.

힘 피드백 제공기(270)는 중력과 마찰력을 함께 고려하여 계산된 힘을 햅틱 장치의 힘 피드백으로 생성되어 사용자에게 출력할 수 있다(670).The force feedback provider 270 may generate a force calculated by considering gravity and frictional force together as force feedback of the haptic device and output it to the user (670 ).

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the following claims.

Claims (20)

추적 지점 정보를 수신하는 단계;
상기 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출하는 단계;
상기 다중 접촉 가능 지점에 기초하여 상기 가상 모델의 가상 물체에 대한 충돌 정보를 생성하는 단계; 및
상기 충돌 정보에 기초하여 상기 가상 물체에 대한 가상 접촉 지점을 생성하여 상기 가상 물체를 잡을 수 있는지 판단하는 단계
를 포함하고,
상기 충돌 정보는,
충돌 지점의 충돌 이전의 위치, 상기 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 상기 충돌 지점에 대응하는 상기 가상 물체의 정보를 포함하고,
상기 판단하는 단계는,
상기 충돌 정보에 기초하여 엄지 및 검지에 대응하는 제1 가상 접촉 지점을 생성하는 단계;
상기 제1 가상 접촉 지점의 상기 가상 물체와의 충돌 여부에 기초하여 상기 가상 물체를 잡을 수 있는지 여부를 판단하는 단계;
상기 가상 물체를 잡을 수 있는 경우, 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 가능 지점을 미리 정의된 궤적 곡선에 기초하여 회전시킴으로써 상기 가상 물체와 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 지점이 충돌이 가능한지 여부를 판단하는 단계; 및
상기 가상 물체와 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 지점이 충돌이 가능한 경우, 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 제2 가상 접촉 지점을 추가적으로 생성하는 단계를 포함하는
가상 모델 제어 방법.
Receiving tracking point information;
Extracting multiple touchable points from a virtual model of a body based on the tracking point information;
Generating collision information for the virtual object of the virtual model based on the multiple contact possible points; And
Determining whether the virtual object can be caught by creating a virtual contact point with respect to the virtual object based on the collision information
Including,
The collision information,
A position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information of the virtual object corresponding to the collision point,
The determining step,
Generating a first virtual contact point corresponding to the thumb and index finger based on the collision information;
Determining whether the virtual object can be grasped based on whether the first virtual contact point collides with the virtual object;
When the virtual object can be grasped, contact corresponding to the virtual object and the finger excluding the thumb and the index finger by rotating the contactable point corresponding to the finger excluding the thumb and the index finger based on a predefined trajectory curve Determining whether a point can collide; And
If the virtual object and the contact point corresponding to the finger other than the thumb and the index finger collide with each other, further generating a second virtual contact point corresponding to the finger other than the thumb and the index finger
How to control the virtual model.
제1항에 있어서,
상기 추출하는 단계는,
상기 추적 지점 정보의 좌표계를 변환하여 상기 가상 모델의 일부에 접촉 가능 지점을 사상하는 단계; 및
상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 1,
The extracting step,
Mapping a contactable point to a part of the virtual model by transforming a coordinate system of the tracking point information; And
Extracting the multi-contactable points by deforming the virtual model based on the contactable point mapped to the part and the joint information of the virtual model
Virtual model control method comprising a.
제2항에 있어서,
상기 사상하는 단계는,
상기 신체의 관절 및 끝 부분에 대응하는 상기 접촉 가능 지점을 정의하는 단계; 및
상기 접촉 가능 지점에 좌표계가 변환된 추적 지점 정보를 사상하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 2,
The mapping step,
Defining the contactable points corresponding to the joints and ends of the body; And
Mapping tracking point information in which the coordinate system is converted to the contactable point
Virtual model control method comprising a.
제2항에 있어서,
상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출하는 단계는,
상기 가상 모델의 다른 일부에 대응하는 접촉 가능 지점을 미리 정의된 궤적에 기초하여 변형하는 단계; 및
상기 신체의 일부에 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 2,
The step of extracting the multiple contactable points by modifying the virtual model based on the contactable point mapped to the part and the joint information of the virtual model,
Transforming a contactable point corresponding to another part of the virtual model based on a predefined trajectory; And
Extracting multiple contactable points based on a contactable point mapped to a part of the body and a contactable point corresponding to another deformed part
Virtual model control method comprising a.
제1항에 있어서,
상기 생성하는 단계는,
상기 가상 물체의 미리 결정된 지점에 기초하여 상기 가상 물체의 계층적 충돌 정보를 생성하는 단계; 및
상기 계층적 충돌 정보에 기초하여 상기 다중 접촉 가능 지점이 상기 가상 물체의 내부로 투과하는지를 판단하여 상기 충돌 정보를 생성하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 1,
The generating step,
Generating hierarchical collision information of the virtual object based on a predetermined point of the virtual object; And
Generating the collision information by determining whether the multi-contact point is transmitted through the virtual object based on the hierarchical collision information.
Virtual model control method comprising a.
삭제delete 삭제delete 제1항에 있어서,
상기 가상 물체를 잡은 경우, 상기 다중 접촉 가능 지점 및 상기 가상 물체에 대한 역학 정보에 기초하여 상기 신체에 물리적 힘을 출력하는 단계
를 더 포함하는 가상 모델 제어 방법.
The method of claim 1,
When holding the virtual object, outputting a physical force to the body based on the multiple contact possible points and dynamic information on the virtual object
Virtual model control method further comprising a.
제8항에 있어서,
상기 출력하는 단계는,
상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 역학 모델을 생성하는 단계; 및
상기 역학 모델에 기초하여 상기 가상 물체에 작용해야 하는 힘을 계산하여 출력하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 8,
The outputting step,
Generating a dynamic model of the virtual object based on the multiple contactable points; And
Calculating and outputting a force that must act on the virtual object based on the dynamic model
Virtual model control method comprising a.
제9항에 있어서,
상기 역학 모델을 생성하는 단계는,
상기 가상 물체에 작용하는 중력 및 마찰력을 계산하는 단계; 및
상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 회전 하중을 계산하는 단계
를 포함하는 가상 모델 제어 방법.
The method of claim 9,
The step of generating the dynamic model,
Calculating gravity and friction forces acting on the virtual object; And
Calculating a rotational load of the virtual object based on the multiple contact possible points
Virtual model control method comprising a.
추적 지점 정보를 수신하는 수신기; 및
상기 추적 지점 정보에 기초하여 신체의 가상 모델로부터 다중 접촉 가능 지점을 추출하고, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 모델의 가상 물체에 대한 충돌 정보를 생성하고, 상기 충돌 정보에 기초하여 상기 가상 물체에 대한 가상 접촉 지점을 생성하여 상기 가상 물체를 잡을 수 있는지 판단하는 프로세서
를 포함하고,
상기 충돌 정보는,
충돌 지점의 충돌 이전의 위치, 상기 충돌 지점의 충돌 이후의 위치, 햅틱 장치의 이동 방향 및 상기 충돌 지점에 대응하는 상기 가상 물체의 정보를 포함하고,
상기 프로세서는,
상기 충돌 정보에 기초하여 엄지 및 검지에 대응하는 제1 가상 접촉 지점을 생성하고,
상기 제1 가상 접촉 지점의 상기 가상 물체와의 충돌 여부에 기초하여 상기 가상 물체를 잡을 수 있는지 여부를 판단하고,
상기 가상 물체를 잡을 수 있는 경우, 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 가능 지점을 미리 정의된 궤적 곡선에 기초하여 회전시킴으로써 상기 가상 물체와 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 지점이 충돌이 가능한지 여부를 판단하고,
상기 가상 물체와 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 접촉 지점이 충돌이 가능한 경우, 상기 엄지 및 상기 검지를 제외한 손가락에 대응하는 제2 가상 접촉 지점을 추가적으로 생성하는
가상 모델 제어 장치.
A receiver for receiving tracking point information; And
Extracting a multi-contactable point from a virtual model of a body based on the tracking point information, generating collision information for a virtual object of the virtual model based on the multi-contactable point, and generating the virtual object based on the collision information Processor for determining whether the virtual object can be grasped by creating a virtual contact point for an object
Including,
The collision information,
A position before the collision of the collision point, a position after the collision of the collision point, a moving direction of the haptic device, and information of the virtual object corresponding to the collision point,
The processor,
Create a first virtual contact point corresponding to the thumb and index finger based on the collision information,
It is determined whether the virtual object can be grasped based on whether the first virtual contact point collides with the virtual object,
When the virtual object can be grasped, contact corresponding to the virtual object and the finger excluding the thumb and the index finger is rotated based on a predefined trajectory curve by rotating a contact point corresponding to the finger excluding the thumb and the index finger Determine whether a point can collide,
When the virtual object and the contact point corresponding to the finger excluding the thumb and the index finger collide, additionally generating a second virtual contact point corresponding to the finger excluding the thumb and the index finger
Virtual model control device.
제11항에 있어서,
상기 프로세서는,
상기 추적 지점 정보의 좌표계를 변환하여 상기 가상 모델의 일부에 접촉 가능 지점을 사상하고, 상기 일부에 사상된 접촉 가능 지점 및 상기 가상 모델의 관절 정보에 기초하여 상기 가상 모델을 변형하여 상기 다중 접촉 가능 지점들을 추출하는
가상 모델 제어 장치.
The method of claim 11,
The processor,
The multi-contact is possible by transforming the coordinate system of the tracking point information to map a contactable point to a part of the virtual model, and transforming the virtual model based on the contactable point mapped to the part and joint information of the virtual model. Extracting points
Virtual model control device.
제12항에 있어서,
상기 프로세서는,
상기 신체의 관절 및 끝 부분에 대응하는 상기 접촉 가능 지점을 정의하고, 상기 접촉 가능 지점에 좌표계가 변환된 추적 지점 정보를 사상하는
가상 모델 제어 장치.
The method of claim 12,
The processor,
Defining the contactable points corresponding to the joints and ends of the body, and mapping tracking point information in which the coordinate system is converted to the contactable points
Virtual model control device.
제12항에 있어서,
상기 프로세서는,
상기 가상 모델의 다른 일부에 대응하는 접촉 가능 지점을 미리 정의된 궤적에 기초하여 변형하고, 상기 신체의 일부에 사상된 접촉 가능 지점 및 변형된 다른 일부에 대응하는 접촉 가능 지점에 기초하여 다중 접촉 가능 지점을 추출하는
가상 모델 제어 장치.
The method of claim 12,
The processor,
A possible contact point corresponding to another part of the virtual model is deformed based on a predefined trajectory, and multiple contact is possible based on a contactable point mapped to a part of the body and a contactable point corresponding to another deformed part. Extracting branch
Virtual model control device.
제11항에 있어서,
상기 프로세서는,
상기 가상 물체의 미리 결정된 지점에 기초하여 상기 가상 물체의 계층적 충돌 정보를 생성하고, 상기 계층적 충돌 정보에 기초하여 상기 다중 접촉 가능 지점이 상기 가상 물체의 내부로 투과하는지를 판단하여 상기 충돌 정보를 생성하는
가상 모델 제어 장치.
The method of claim 11,
The processor,
Generates hierarchical collision information of the virtual object based on a predetermined point of the virtual object, and determines whether the multiple contactable points penetrate the inside of the virtual object based on the hierarchical collision information, and transmits the collision information. Generated
Virtual model control device.
삭제delete 삭제delete 제11항에 있어서,
상기 프로세서는,
상기 가상 물체를 잡은 경우, 상기 다중 접촉 가능 지점 및 상기 가상 물체에 대한 역학 정보에 기초하여 상기 신체에 물리적 힘을 출력하는
가상 모델 제어 장치.
The method of claim 11,
The processor,
When holding the virtual object, outputting a physical force to the body based on the multiple contact possible points and dynamic information on the virtual object
Virtual model control device.
제18항에 있어서,
상기 프로세서는,
상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 역학 모델을 생성하고, 상기 역학 모델에 기초하여 상기 가상 물체에 작용해야 하는 힘을 계산하여 출력하는
가상 모델 제어 장치.
The method of claim 18,
The processor,
Generates a dynamic model of the virtual object based on the multiple contact possible points, and calculates and outputs a force acting on the virtual object based on the dynamic model.
Virtual model control device.
제19항에 있어서,
상기 프로세서는,
상기 가상 물체에 작용하는 중력 및 마찰력을 계산하고, 상기 다중 접촉 가능 지점에 기초하여 상기 가상 물체의 회전 하중을 계산하는
가상 모델 제어 장치.
The method of claim 19,
The processor,
Calculating the gravity and friction force acting on the virtual object, and calculating the rotational load of the virtual object based on the multiple contact possible points
Virtual model control device.
KR1020180173051A 2018-12-28 2018-12-28 Apparatus and method of controlling virtual model KR102230421B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180173051A KR102230421B1 (en) 2018-12-28 2018-12-28 Apparatus and method of controlling virtual model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173051A KR102230421B1 (en) 2018-12-28 2018-12-28 Apparatus and method of controlling virtual model

Publications (2)

Publication Number Publication Date
KR20200082449A KR20200082449A (en) 2020-07-08
KR102230421B1 true KR102230421B1 (en) 2021-03-22

Family

ID=71600588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173051A KR102230421B1 (en) 2018-12-28 2018-12-28 Apparatus and method of controlling virtual model

Country Status (1)

Country Link
KR (1) KR102230421B1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2513884B (en) 2013-05-08 2015-06-17 Univ Bristol Method and apparatus for producing an acoustic field
GB2530036A (en) 2014-09-09 2016-03-16 Ultrahaptics Ltd Method and apparatus for modulating haptic feedback
MX2017010254A (en) 2015-02-20 2018-03-07 Ultrahaptics Ip Ltd Perceptions in a haptic system.
ES2908299T3 (en) 2015-02-20 2022-04-28 Ultrahaptics Ip Ltd Algorithm improvements in a haptic system
US10818162B2 (en) 2015-07-16 2020-10-27 Ultrahaptics Ip Ltd Calibration techniques in haptic systems
US10268275B2 (en) 2016-08-03 2019-04-23 Ultrahaptics Ip Ltd Three-dimensional perceptions in haptic systems
US10943578B2 (en) 2016-12-13 2021-03-09 Ultrahaptics Ip Ltd Driving techniques for phased-array systems
US11531395B2 (en) 2017-11-26 2022-12-20 Ultrahaptics Ip Ltd Haptic effects from focused acoustic fields
WO2019122916A1 (en) 2017-12-22 2019-06-27 Ultrahaptics Limited Minimizing unwanted responses in haptic systems
US10911861B2 (en) 2018-05-02 2021-02-02 Ultrahaptics Ip Ltd Blocking plate structure for improved acoustic transmission efficiency
US11098951B2 (en) 2018-09-09 2021-08-24 Ultrahaptics Ip Ltd Ultrasonic-assisted liquid manipulation
WO2020141330A2 (en) * 2019-01-04 2020-07-09 Ultrahaptics Ip Ltd Mid-air haptic textures
US11842517B2 (en) 2019-04-12 2023-12-12 Ultrahaptics Ip Ltd Using iterative 3D-model fitting for domain adaptation of a hand-pose-estimation neural network
WO2021074604A1 (en) 2019-10-13 2021-04-22 Ultraleap Limited Dynamic capping with virtual microphones
US11374586B2 (en) 2019-10-13 2022-06-28 Ultraleap Limited Reducing harmonic distortion by dithering
US11715453B2 (en) 2019-12-25 2023-08-01 Ultraleap Limited Acoustic transducer structures
US11816267B2 (en) 2020-06-23 2023-11-14 Ultraleap Limited Features of airborne ultrasonic fields
US11886639B2 (en) 2020-09-17 2024-01-30 Ultraleap Limited Ultrahapticons
CN116774835B (en) * 2023-08-21 2024-03-01 深圳风向标教育资源股份有限公司 Interaction method, device and storage medium in virtual environment based on VR handle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934391B1 (en) * 2007-12-13 2009-12-30 한국전자통신연구원 Hand-based Grabbing Interaction System Using 6-DOF Haptic Devices
KR101562827B1 (en) * 2008-10-23 2015-10-23 삼성전자주식회사 Apparatus and method for manipulating virtual object
KR20140010616A (en) * 2012-07-16 2014-01-27 한국전자통신연구원 Apparatus and method for processing manipulation of 3d virtual object

Also Published As

Publication number Publication date
KR20200082449A (en) 2020-07-08

Similar Documents

Publication Publication Date Title
KR102230421B1 (en) Apparatus and method of controlling virtual model
Wilson et al. Formulation of a new gradient descent MARG orientation algorithm: Case study on robot teleoperation
Qian et al. Developing a gesture based remote human-robot interaction system using kinect
Wang et al. Real-virtual components interaction for assembly simulation and planning
Kumar et al. Hand data glove: a wearable real-time device for human-computer interaction
Fang et al. A robotic hand-arm teleoperation system using human arm/hand with a novel data glove
JP4647687B2 (en) Robot command determination method and robot command determination system
KR102269414B1 (en) Method and device for object manipulation in virtual/augmented reality based on hand motion capture device
CN111251305B (en) Robot force control method, device, system, robot and storage medium
CN111338287A (en) Robot motion control method, device and system, robot and storage medium
Jacoby et al. Gestural interaction in a virtual environment
KR100934391B1 (en) Hand-based Grabbing Interaction System Using 6-DOF Haptic Devices
US11169605B2 (en) Operating method for wearable device interacting with operated device in virtual reality and operating device thereof
KR20200051938A (en) Method for controlling interaction in virtual reality by tracking fingertips and VR system using it
Jais et al. A review on gesture recognition using Kinect
Chen et al. A human–robot interface for mobile manipulator
KR102438347B1 (en) Smart wearable devices and smart wearable equipment
Tanjung et al. The use of virtual reality controllers and comparison between vive, leap motion and senso gloves applied in the anatomy learning system
CN111770815A (en) Object control method and object control device
Ariyanto et al. Development of a low cost anthropomorphic robotic hand driven by modified glove sensor and integrated with 3D animation
Iliukhin et al. The development of motion capture system based on kinect sensor and bluetooth-gloves
Ángel-López et al. Kinematic hand analysis using motion capture technology
Hoffmann et al. Automatic calibration of a motion capture system based on inertial sensors for tele-manipulation
JP2018015436A (en) Analyzer for behavior of hitting tool
Du et al. A novel natural mobile human-machine interaction method with augmented reality

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant