KR102582312B1 - System for Interaction Collaboration of Virtual Environment and Method thereof - Google Patents
System for Interaction Collaboration of Virtual Environment and Method thereof Download PDFInfo
- Publication number
- KR102582312B1 KR102582312B1 KR1020210054142A KR20210054142A KR102582312B1 KR 102582312 B1 KR102582312 B1 KR 102582312B1 KR 1020210054142 A KR1020210054142 A KR 1020210054142A KR 20210054142 A KR20210054142 A KR 20210054142A KR 102582312 B1 KR102582312 B1 KR 102582312B1
- Authority
- KR
- South Korea
- Prior art keywords
- control
- manipulated
- virtual
- motion controller
- virtual object
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 발명은 가상 정비 훈련 장비에서 다수의 인원이 가상 객체를 공동으로 작업하기 위해 직관적인 상호작용(Interaction)을 통해 협업할 수 있도록 하는 가상 환경 상호작용 협업 시스템 및 그 방법에 관한 것이다.
개시된 가상 환경 상호작용 협업 시스템은, 현실 세계에서의 조작 대상 구성품; 상기 조작 대상 구성품을 촬영하여 영상을 획득하는 영상 촬영기; 손에 장착되어, 상기 조작 대상 구성품에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지하는 모션 컨트롤러; 상기 영상 촬영기로부터 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하고, 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하며, 손의 움직임에 따라 상기 모션 컨트롤러에 의해 감지된 제어점들을 상기 조작대상 가상 오브젝트에 적용하는 제어 장치; 및 상기 모션 컨트롤러에 의해 감지된 제어점들이 적용된 상기 조작대상 가상 오브젝트를 디스플레이하는 머리 착용 표시기(HMD: Head mounted Display)를 포함한다.The present invention relates to a virtual environment interaction collaboration system and method that allows multiple people to collaborate through intuitive interaction to jointly work on virtual objects in virtual maintenance training equipment.
The disclosed virtual environment interaction collaboration system includes components to be manipulated in the real world; An image capture device that acquires an image by photographing the component to be manipulated; A motion controller mounted on the hand and detecting the movement of the hand relative to the manipulation target component according to six degrees of freedom (x, y, z, pitch, roll, yaw); Receives the image acquired from the video camera, creates a virtual object to be manipulated according to the object representation (transformation) of the virtual world, obtains location information and direction information about the generated virtual object to be manipulated, and follows the movement of the hand. a control device that applies control points detected by the motion controller to the virtual object to be manipulated; and a head mounted display (HMD) that displays the virtual object to which the control points sensed by the motion controller are applied.
Description
본 발명은 가상 환경 상호작용 협업 시스템 및 그 방법에 관한 것으로서, 더욱 자세하게는 가상 정비 훈련에 있어서 피훈련자들이 가상 공간에서 동일한 구성품을 다같이 협업하여 직관적인 상호작용(Interaction)을 통해 현실 세계와 유사하게 가상 객체를 조작시키는 협업을 할 수 있도록 하는 가상 환경 상호작용 협업 시스템 및 그 방법에 관한 것이다.The present invention relates to a virtual environment interaction collaboration system and method. More specifically, in virtual maintenance training, trainees collaborate on the same components in a virtual space to create a system similar to the real world through intuitive interaction. It relates to a virtual environment interaction collaboration system and method that enables collaboration in manipulating virtual objects.
4차 산업혁명에 따라 AR/VR 기술을 이용한 교육/훈련 방식이 새롭게 자리잡고 있으며, 국방분야에서도 특히 정비분야에서 관심도가 무척 높아지고 있다. In accordance with the 4th Industrial Revolution, new education/training methods using AR/VR technology are becoming established, and interest in the defense field is also increasing, especially in the maintenance field.
복잡하고 정밀한 무기체계와 같이 위험성이 높고 고가의 장비를 다루는 분야일수록 가상정비 교육/훈련은 그 가치가 더욱 더 향상될 수 있다.The value of virtual maintenance education/training can be further improved in fields that deal with high-risk and expensive equipment, such as complex and precise weapon systems.
현실 세계에서의 정비 행위는 2인, 3인 1조 형태로 주로 이루어지며 무겁고 위험한 무기 체계 장비는 서로 협업을 통해 호흡을 맞추는 과정이 필수이다.In the real world, maintenance activities are mainly carried out in teams of two or three people, and the process of cooperating with each other is essential for heavy and dangerous weapon system equipment.
본 발명의 목적은, 가상 정비 훈련에 있어서 피훈련자들이 가상 공간에서 동일한 구성품을 다같이 협업하여 직관적인 상호작용(Interaction)을 통해 현실 세계와 유사하게 가상 객체를 조작시키는 협업을 할 수 있도록 하는 가상 환경 상호작용 협업 시스템 및 그 방법을 제공함에 있다.The purpose of the present invention is to enable virtual maintenance training in which trainees can collaborate on the same components in a virtual space to manipulate virtual objects similar to the real world through intuitive interaction. To provide an environmental interaction collaboration system and method.
전술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템은, 현실 세계에서의 조작 대상 구성품; 상기 조작 대상 구성품을 촬영하여 영상을 획득하는 영상 촬영기; 손에 장착되어, 상기 조작 대상 구성품에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지하는 모션 컨트롤러; 상기 영상 촬영기로부터 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하고, 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하며, 손의 움직임에 따라 상기 모션 컨트롤러에 의해 감지된 제어점들을 상기 조작대상 가상 오브젝트에 적용하는 제어 장치; 및 상기 모션 컨트롤러에 의해 감지된 제어점들이 적용된 상기 조작대상 가상 오브젝트를 디스플레이하는 머리 착용 표시기(HMD: Head mounted Display)를 포함한다.A virtual environment interaction collaboration system according to an embodiment of the present invention for achieving the above-described object includes: components to be manipulated in the real world; An image capture device that acquires an image by photographing the component to be manipulated; A motion controller mounted on the hand and detecting the movement of the hand relative to the manipulation target component according to six degrees of freedom (x, y, z, pitch, roll, yaw); Receives the image acquired from the video camera, creates a virtual object to be manipulated according to the object representation (transformation) of the virtual world, obtains location information and direction information about the generated virtual object to be manipulated, and follows the movement of the hand. a control device that applies control points detected by the motion controller to the virtual object to be manipulated; and a head mounted display (HMD) that displays the virtual object to which the control points sensed by the motion controller are applied.
상기 모션 컨트롤러는, 트리거(trigger) 버튼이 눌려지면 상기 감지된 제어점들을 이동하여 상기 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식한다.When a trigger button is pressed, the motion controller recognizes the detected control points as an action of picking the virtual object to be manipulated.
상기 제어 장치는, 상기 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 상기 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용한다.The control device uses one vector (x, y, z) information for the position information, and two vector information orthogonal to each other among the x, y, and z axes for the direction information.
상기 제어 장치는, 상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우에, 상기 제어점들의 중심을 위치 기준 선정 방식에 의한 다음 수학식에 따라 각 제어점들의 좌표의 평균값으로 산출한다.When there are a plurality of control points detected by the motion controller, the control device calculates the center of the control points as the average value of the coordinates of each control point according to the following equation based on the position reference selection method.
상기 제어 장치는, 상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우에, 다수의 제어점들에 대하여, 상기 영상 촬영기의 카메라 시점 기준으로 가까운 제1 제어점 그룹(First Control Group)과 거리가 먼 제2 제어점 그룹(Second Control Group)으로 구분하고, 그룹별 중심점에 대하여, 상기 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 상기 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하며, 첫 번째 방향 기준으로 나뉘어지는 상기 제1 제어점 그룹 중심점(ⓐ)과 상기 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정하고, 상기 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')을 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정하며, 상기 첫 번째 방향축()과 상기 제어점 연결 선분()을 이용하여 다음 수학식에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하여 두 번째 방향축()으로 설정하며, 상기 모션 컨트롤러에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 상기 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정하며, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 상기 조작대상 가상 오브젝트의 움직임을 출력한다.When there are a plurality of control points detected by the motion controller, the control device determines that for the plurality of control points, the distance from the first control point group (First Control Group) that is closest based on the camera viewpoint of the image capture device is It is divided into a second control group, and for the center point of each group, the average value of the coordinates of the control points forming the first control point group is calculated to determine the first control point group center point (ⓐ) and the second control point group. The second control point group center point (ⓑ) is obtained by calculating the average value of the coordinates of the forming control points, and connecting the first control point group center point (ⓐ) divided by the first direction and the second control point group center point (ⓑ). Align the line segment along the first direction axis ( ), and regenerate the first control point group center point (ⓒ') and the second control point group center point (ⓓ') divided by the first direction, and the control point connection line connecting these two center points ( ), and the first direction axis ( ) and the control point connecting line segment ( ), using the cross product according to the following equation, the vertical direction axis of the two line segments ( ) is calculated to calculate the second direction axis ( ), and according to changes in control points detected by the motion controller, the position and direction displacement values for each frame are applied to the virtual object to be manipulated to determine the position and direction, using the center point reference and direction reference. The movement of the virtual object to be manipulated is output by applying a displacement value offset of the movement of the component according to the displacement value that changes every frame.
한편, 전술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 방법은, (a) 영상 촬영기에서 조작 대상 구성품을 촬영하여 영상을 획득하는 단계; (b) 제어 장치가 상기 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하는 단계; (c) 상기 제어 장치가 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하는 단계; (d) 모션 컨트롤러가 상기 조작 대상 구성품에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지하는 단계; (e) 머리 착용 표시기(HMD)가 상기 모션 컨트롤러에 의해 감지된 제어점들이 적용된 상기 조작대상 가상 오브젝트를 디스플레이하는 단계; 및 (f) 상기 제어 장치가 손의 움직임에 따라 상기 모션 컨트롤러에 의해 감지된 제어점들을 상기 조작대상 가상 오브젝트에 적용하는 단계를 포함한다.Meanwhile, a virtual environment interaction collaboration method according to an embodiment of the present invention for achieving the above-described object includes the steps of: (a) acquiring an image by photographing a component to be manipulated with an image capture device; (b) a control device receiving the acquired image and creating a virtual object to be manipulated according to the object representation (transformation) of the virtual world; (c) obtaining, by the control device, position information and direction information about the generated virtual object to be manipulated; (d) a motion controller detecting hand movement relative to the manipulation target component according to six degrees of freedom (x, y, z, pitch, roll, yaw); (e) displaying, by a head worn display (HMD), the virtual object to which control points detected by the motion controller are applied; and (f) the control device applying control points detected by the motion controller to the virtual object to be manipulated according to hand movement.
상기 (d) 단계에서 상기 모션 컨트롤러는, 트리거(trigger) 버튼이 눌려지면 상기 감지된 제어점들을 이동하여 상기 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식한다.In step (d), when the trigger button is pressed, the motion controller moves the detected control points and recognizes it as an act of picking the virtual object to be manipulated.
상기 (c) 단계에서 상기 제어 장치는, 상기 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 상기 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용한다.In step (c), the control device uses one vector (x, y, z) information for the position information and two vector information orthogonal to each other among the x, y, and z axes for the direction information. .
상기 (f) 단계에서 상기 제어 장치는, 상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 상기 제어점들의 중심을 위치 기준 선정 방식에 의한 다음 수학식에 따라 각 제어점들의 좌표의 평균값으로 산출한다.In step (f), if there are multiple control points detected by the motion controller, the control device calculates the center of the control points as the average value of the coordinates of each control point according to the following equation based on the position reference selection method. do.
상기 (f) 단계에서 상기 제어 장치는, 상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 다수의 제어점들에 대하여, 상기 영상 촬영기의 카메라 시점 기준으로 가까운 제1 제어점 그룹(First Control Group)과 거리가 먼 제2 제어점 그룹(Second Control Group)으로 구분하고, 그룹별 중심점에 대하여, 상기 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 상기 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하며, 첫 번째 방향 기준으로 나뉘어지는 상기 제1 제어점 그룹 중심점(ⓐ)과 상기 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정하고, 상기 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')을 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정하며, 상기 첫 번째 방향축()과 상기 제어점 연결 선분()을 이용하여 다음 수학식에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하여 두 번째 방향축()으로 설정하며, 상기 모션 컨트롤러에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 상기 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정하며, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 상기 조작대상 가상 오브젝트의 움직임을 출력한다.In step (f), when there are a plurality of control points detected by the motion controller, the control device selects a first control point group (First Control Group) close to the camera viewpoint of the image capture device for the plurality of control points. ) is divided into a second control point group (Second Control Group) that is far from The second control point group center point (ⓑ) is obtained by calculating the average value of the coordinates of the control points forming the second control point group, and the first control point group center point (ⓐ) and the second control point group center point (ⓐ) are divided by the first direction. ⓑ), the line segment connecting the first direction axis ( ), and regenerate the first control point group center point (ⓒ') and the second control point group center point (ⓓ') divided by the first direction, and the control point connection line connecting these two center points ( ), and the first direction axis ( ) and the control point connecting line segment ( ), using the cross product according to the following equation, the vertical direction axis of the two line segments ( ) is calculated to calculate the second direction axis ( ), and according to changes in control points detected by the motion controller, the position and direction displacement values for each frame are applied to the virtual object to be manipulated to determine the position and direction, using the center point reference and direction reference. The movement of the virtual object to be manipulated is output by applying a displacement value offset of the movement of the component according to the displacement value that changes every frame.
본 발명에 의하면, 가상 정비 훈련에 있어서 피훈련자들이 가상 공간에서 동일한 구성품을 다 같이 협업하여 직관적인 상호작용(Interaction)을 통해 현실 세계와 유사하게 가상 객체를 조작시키는 협업을 실행할 수 있다.According to the present invention, in virtual maintenance training, trainees can collaborate on the same components in a virtual space to manipulate virtual objects similar to the real world through intuitive interaction.
또한, 본 발명에 의하면, 가상 정비 훈련 시스템 내에서의 가상 객체와의 상호작용을 통하여, 시각적인 몰입과 더불어 훈련 체험 및 직관성에 큰 영향을 주며, 피 훈련자의 훈련 체험 경험까지 제공함으로써 교육적 효과를 극대화 시킬 수 있다.In addition, according to the present invention, through interaction with virtual objects within the virtual maintenance training system, it has a significant impact on visual immersion, training experience and intuition, and provides an educational effect by providing training experience to trainees. It can be maximized.
도 1은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 실시 예에 따른 현실 세계에서의 조작 대상 구성품의 한 예를 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 모션 컨트롤러의 장착 및 사용 예를 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 모션 컨트롤러에 의해 감지된 손의 위치에 따른 제어점들을 두 그룹으로 분리하는 예를 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 제어 장치에서 그룹별 제어 중심점을 찾는 예를 나타낸 도면이다.
도 6은 본 발명의 실시 예에 따른 제어 장치에서 그룹별 제어 중심점을 찾기 위해 첫번째 방향축을 이용해 두번째 방향축을 생성하는 예를 나타낸 도면이다.
도 7은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 방법을 나타낸 동작 흐름도이다.
도 8은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템에서의 상세 협업 동작을 나타낸 순서도이다.
도 9는 본 발명의 실시 예에 따라 가상 구성품을 가상 세계에서 옮기는 예를 나타낸 도면이다.Figure 1 is a configuration diagram schematically showing the overall configuration of a virtual environment interaction collaboration system according to an embodiment of the present invention.
Figure 2 is a diagram showing an example of a component to be manipulated in the real world according to an embodiment of the present invention.
Figure 3 is a diagram showing an example of mounting and using a motion controller according to an embodiment of the present invention.
Figure 4 is a diagram showing an example of dividing control points into two groups according to the position of the hand detected by the motion controller according to an embodiment of the present invention.
Figure 5 is a diagram showing an example of finding a control center point for each group in a control device according to an embodiment of the present invention.
Figure 6 is a diagram showing an example of creating a second direction axis using the first direction axis to find the control center point for each group in the control device according to an embodiment of the present invention.
Figure 7 is an operation flowchart showing a virtual environment interaction collaboration method according to an embodiment of the present invention.
Figure 8 is a flowchart showing detailed collaboration operations in a virtual environment interaction collaboration system according to an embodiment of the present invention.
Figure 9 is a diagram showing an example of moving a virtual component in a virtual world according to an embodiment of the present invention.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Hereinafter, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein.
본 발명의 개념은 가상 정비 훈련장비에서 다수의 인원이 가상 객체를 공동 작업을 하기 위한 직관적인 상호작용 구현 시스템 및 방법에 관한 것으로서, 예를 들면, 가상 환경에서 무거운 물건을 같이 드는 행위를 예로 들 수 있다.The concept of the present invention relates to an intuitive interaction implementation system and method for multiple people to collaborate on virtual objects in virtual maintenance training equipment. For example, the act of lifting heavy objects together in a virtual environment is an example. You can.
몰입형 가상 정비 훈련 시스템 내에서의 가상 객체와의 상호작용은 시각적인 몰입과 더불어 훈련 체험 및 직관성에 큰 영향을 주며, 피 훈련자의 훈련 체험 경험까지 제공함으로써 교육적 효과를 극대화시킬 수 있다.Interaction with virtual objects within an immersive virtual maintenance training system has a significant impact on the training experience and intuitiveness as well as visual immersion, and can maximize educational effectiveness by providing training experience to trainees.
도 1은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.Figure 1 is a configuration diagram schematically showing the overall configuration of a virtual environment interaction collaboration system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템(100)은, 조작대상 구성품(10), 영상 촬영기(20), 모션 컨트롤러(30), 제어 장치(40) 및 머리 착용 표시기(50: Head mounted Display, 이하 HMD) 등을 포함할 수 있다.Referring to Figure 1, the virtual environment interaction collaboration system 100 according to an embodiment of the present invention includes a manipulation target component 10, an image capture device 20, a motion controller 30, a control device 40, and a head. It may include a worn indicator (50: Head mounted display, hereinafter HMD), etc.
조작대상 구성품(10)은 현실 세계에서 작업자들이 조작하고자 하는 구성품으로서, 강체(rigid)이며 변형이 되지 않는 물체이다.The manipulation target component 10 is a component that workers want to manipulate in the real world, and is a rigid and non-deformable object.
조작대상 구성품(10)은 도 2에 도시된 바와 같이 현실 세계에서 2인 1조 또는 3인 1조 형태로 조작해야 하는 무겁고 위험한 무기 체계 장비 등이 될 수 있다. 도 2는 본 발명의 실시 예에 따른 현실 세계에서의 조작 대상 구성품의 한 예를 나타낸 도면이다. 도 2에 도시된 바와 같이, 조작대상 구성품(110)으로 예를 들면, 이동에 인력이 투입되어야 하는 탄도 미사일(Ballistic Missile) 등을 들 수 있다. 탄도 미사일은 탄도 곡선대로 비행하는 미사일로서, 발사된 후 로켓의 추진력으로 가속되어, 대기권으로 날아오르며 로켓의 연소가 완료되어 가속이 끝나면 탄두(Warhead)만 분리되어 계속 비행하다가 목표표적에 가까워지면 지구인력에 의해 자유낙하하면서 매우 빠른 속도로 다시 가속되고 최종적으로 목표표적에 도달하게 되는 미사일이다. As shown in FIG. 2, the operating target component 10 may be heavy and dangerous weapon system equipment that must be operated in a two-person or three-person team in the real world. Figure 2 is a diagram showing an example of a component to be manipulated in the real world according to an embodiment of the present invention. As shown in FIG. 2, examples of the component 110 to be manipulated include ballistic missiles that require manpower to move. A ballistic missile is a missile that flies along a ballistic curve. After being launched, it is accelerated by the rocket's propulsion and flies into the atmosphere. When the rocket's combustion is completed and acceleration is completed, only the warhead is separated and continues to fly, and when it approaches the target, it flies into the Earth's atmosphere. It is a missile that falls in free fall due to manpower, accelerates again at a very high speed, and finally reaches the target.
이에, 탄도 미사일은 부피가 크고 무게가 무거우므로 이동하는데 3인 1조 형태로 협업해서 이동해야 하므로 발사준비에 오랜 시간이 걸리게 된다. Accordingly, since ballistic missiles are large in volume and heavy in weight, they must be moved collaboratively in a group of three, so it takes a long time to prepare for launch.
또한, 탄도 미사일은 크게 로켓 엔진과 제트 엔진으로 이루어진다. 로켓 엔진은 고체 또는 액체 상태의 연료와 산소 역할을 하는 산화제를 탑재하고 있으며 연소실에서 연료를 태워 고압가스를 발생시켜 추력을 얻는다. 제트 엔진은 제트 비행기와 마찬가지로 공기를 흡입하여 공기 중에 있는 산소를 이용해 연료를 태워 추력을 발생시킨다. Additionally, ballistic missiles are largely composed of rocket engines and jet engines. Rocket engines are equipped with solid or liquid fuel and an oxidizer that acts as oxygen, and obtain thrust by burning the fuel in the combustion chamber to generate high-pressure gas. Jet engines, like jet airplanes, take in air and use the oxygen in the air to burn fuel to generate thrust.
따라서 전술한 바와 같은 미사일 등의 조작대상 구성품(110)은 위험한 폭발물이므로, 작업자들이 협업 시에 각자 어느 지점을 정확히 잡아야 하는지 위치를 설정하는 것이 중요하다.Therefore, since the components 110 to be manipulated, such as missiles, as described above, are dangerous explosives, it is important for workers to set the exact location of which point they should each hold when collaborating.
영상 촬영기(20)는 카메라를 통해 조작 대상 구성품(10)을 촬영하여 영상을 획득하여 제어 장치(40)로 전송한다. 이를 위해, 영상 촬영기(20)는 DSLR 카메라, 미러리스 카메라, 디지털 캠코더 등을 포함할 수 있다. The image capture device 20 captures the image of the component 10 to be manipulated through a camera and transmits the image to the control device 40 . For this purpose, the video camera 20 may include a DSLR camera, a mirrorless camera, a digital camcorder, etc.
모션 컨트롤러(30)는 사람의 손에 장착되어, 도 3에 도시된 바와 같이 조작 대상 구성품(10)에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지한다. 도 3은 본 발명의 실시 예에 따른 모션 컨트롤러의 장착 및 사용 예를 나타낸 도면이다. 도 3에 도시된 바와 같이, 모션 컨트롤러(30)는 Oculus Touch와 같이 사람의 손에 장착되어, HTC Vive Controller와 같이 사람의 머리에 장착된 HMD(50)와 함께 사용될 수 있다. The motion controller 30 is mounted on a person's hand and, as shown in FIG. 3, moves the hand toward the manipulation target component 10 according to six degrees of freedom (x, y, z, pitch, roll, yaw). sense Figure 3 is a diagram showing an example of mounting and using a motion controller according to an embodiment of the present invention. As shown in FIG. 3, the motion controller 30 can be mounted on a person's hand, such as an Oculus Touch, and can be used with an HMD 50 mounted on a person's head, such as an HTC Vive Controller.
예를 들면, Oculus Touch는 각각 아날로그 스틱, 3 개의 버튼 및 2 개의 트리거(일반적으로 잡는 데 사용되고 다른 하나는 촬영 또는 발사에 사용됨)가 있는 한 쌍의 핸드 헬드 장치로 구성되며 사용자가 할 수 있는 손가락 제스처를 감지한다. 각 컨트롤러의 링에는 적외선 LED 세트가 포함되어 있어 컨트롤러가 Oculus Rift의 Constellation 시스템에 의해 3D 공간에서 완전히 추적되어 가상 환경에서 표시될 수 있다. 각 컨트롤러에는 햅틱 피드백을 위한 럼블 모터가 있으며 단일 AA 알카라인 셀로 전원이 공급된다.For example, the Oculus Touch consists of a pair of handheld devices each with an analog stick, three buttons, and two triggers (one typically used for holding and the other for shooting or firing), which the user can use with their fingers. Detect gestures. Each controller's ring contains a set of infrared LEDs, allowing the controller to be fully tracked in 3D space by Oculus Rift's Constellation system and displayed in a virtual environment. Each controller has a rumble motor for haptic feedback and is powered by a single AA alkaline cell.
예를 들면, HTC Vive Controller는 룸 스케일 기술을 활용하여 센서를 통해 방을 3차원 공간으로 변화시켜 주도록 설계되어 있으며, 가상 현실을 통해 사용자가 자연스럽게 탐험할 수 있고, 걸을 수도 있으며, 모션 추적 핸드헬드 컨트롤러를 사용하여 생생하게 물체를 조작하고, 정확도 있게 상호작용하여 통신하며 에워싸는 듯한 환경을 경험할 수 있다. 즉, Vive Controller는 가상 현실에서 무선의 자유로운 플레이를 즐길 수 있는 장치로서, 24개의 센서, 다기능 트랙패드, 듀얼 스테이지 트리거, HD 햅틱 피드백 및 충전식 배터리로 구성된다. 또한 1개의 컨트롤러, 손목 스트랩, 마이크로 USB 케이블 및 전원 어댑터 등을 포함한다.For example, the HTC Vive Controller is designed to utilize room-scale technology to transform a room into a three-dimensional space through sensors, allowing users to naturally explore and walk through virtual reality, and motion-tracking handheld devices. Using the controller, you can vividly manipulate objects, interact and communicate with precision, and experience an immersive environment. In other words, the Vive Controller is a device that allows free wireless play in virtual reality and consists of 24 sensors, a multi-function trackpad, dual stage trigger, HD haptic feedback, and a rechargeable battery. Also includes one controller, wrist strap, micro USB cable, and power adapter.
그리고, 모션 컨트롤러(30)는 작업자 등이 두 손을 가상 환경에서 사용할 수 있도록 3D tracking 되고, 6자유도(x,y,z,pitch,roll,yaw)를 제공받아, 조작대상 구성품(10)에 대해 잡아쥐는 손의 이동 위치를 감지하여, 감지된 이동 위치들을 제어점 정보로 제공한다.In addition, the motion controller 30 is 3D tracked so that workers, etc. can use both hands in a virtual environment, and is provided with 6 degrees of freedom (x, y, z, pitch, roll, yaw) to manipulate the component 10. The movement position of the grasping hand is detected and the detected movement positions are provided as control point information.
제어 장치(40)는, 전반적인 제어 동작을 실행하는 서버 역할의 장치로서, 영상 촬영기(20)로부터 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하고, 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하며, 손의 움직임에 따라 모션 컨트롤러(30)에 의해 감지된 제어점들을 조작대상 가상 오브젝트에 적용하여 제어한다. The control device 40 is a device that acts as a server that performs overall control operations. It receives the image obtained from the image capture device 20 and generates a virtual object to be manipulated according to the object representation (transformation) in the virtual world. Position information and direction information for the virtual object to be manipulated are acquired, and control points detected by the motion controller 30 according to the movement of the hand are applied to the virtual object to be manipulated.
제어 장치(40)는, 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용할 수 있다.The control device 40 can use one vector (x, y, z) information for position information and two vector information orthogonal to each other among the x, y, and z axes for direction information.
HMD(50)는 모션 컨트롤러(30)에 의해 감지된 제어점들이 적용된 조작대상 가상 오브젝트를 디스플레이한다. 따라서, 사람의 머리에 착용되었을 때, 사람이 HMD(50)를 통해 조작대상 가상 오브젝트를 보면서 작업 동작을 실시할 수 있다.The HMD 50 displays a virtual object to be manipulated to which control points detected by the motion controller 30 are applied. Therefore, when worn on a person's head, the person can perform work operations while viewing the virtual object to be manipulated through the HMD 50.
모션 컨트롤러(30)는, 트리거(trigger) 버튼이 눌려지면, 센서를 통해 감지된 제어점들을 이동하여 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식할 수 있다.When the trigger button is pressed, the motion controller 30 may recognize it as an act of picking (picking) a virtual object to be manipulated by moving control points detected through a sensor.
도 1에서, 영상 촬영기(20), 모션 컨트롤러(30), 제어 장치(40) 및 HMD(50) 등은 서로 간에 데이터를 송수신할 수 있도록 무선 네트워크 또는 유선 네트워크로 연결되어 있다. 따라서 이러한 네트워크 공유를 통해 두 명 이상의 작업자가 가상 환경의 동일한 공간에 참여하여 협업을 실행할 수 있다.In FIG. 1, the image capture device 20, motion controller 30, control device 40, and HMD 50 are connected to each other through a wireless network or a wired network to transmit and receive data. Therefore, through this network sharing, two or more workers can participate in the same space in a virtual environment and perform collaboration.
1. 위치 기준 설정1. Set location criteria
제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들이 다수 개로 존재하는 경우에, 제어점들의 중심을 위치 기준 선정 방식에 의해 다음 수학식 1에 따라 각 제어점들의 좌표의 평균값으로 산출할 수 있다.When there are a plurality of control points detected by the motion controller 30, the control device 40 calculates the center of the control points as the average value of the coordinates of each control point according to the following equation 1 by using a position reference selection method. You can.
예를 들면, 제어 장치(40)는, x 좌표()에 대한 제어점들의 평균값(), y 좌표()에 대한 제어점들의 평균값(), 및 z 좌표()에 대한 제어점들의 평균값()을 각각 산출하는 것이다.For example, the control device 40 controls the x coordinate ( ) The average value of the control points for ( ), y coordinate ( ) The average value of the control points for ( ), and z coordinate ( ) The average value of the control points for ( ) is calculated respectively.
2. 제어점을 두그룹으로 분리2. Separate control points into two groups
제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 다수의 제어점들에 대하여, 도 4에 도시된 바와 같이 영상 촬영기(20)의 카메라 시점 기준으로 가까운 제1 제어점 그룹(First Control Group)과 거리가 먼 제2 제어점 그룹(Second Control Group)으로 구분하여 설정한다. 여기서 도 4는 본 발명의 실시 예에 따른 모션 컨트롤러에 의해 감지된 손의 위치에 따른 제어점들을 두 그룹으로 분리하는 예를 나타낸 도면이다. When there are a plurality of control points detected by the motion controller 30, the control device 40, as shown in FIG. 4, moves the control points closer to the camera viewpoint of the image capture device 20 for the plurality of control points. 1 Set the control point group (First Control Group) by dividing it into a second control group (Second Control Group) that is far away from the control point group (First Control Group). Here, FIG. 4 is a diagram illustrating an example of dividing control points into two groups according to the position of the hand detected by the motion controller according to an embodiment of the present invention.
도 4에 도시된 바와 같이, 방향의 기준을 잡기 위해 먼저 다수의 제어점들을 두 그룹으로 나눈다. 기준은 현재 바라보고 있는 카메라 시점 기준으로 가까운 제어점 그룹과 먼 제어점 그룹으로 나눈다. As shown in FIG. 4, in order to establish a direction standard, a number of control points are first divided into two groups. The standard is to divide the control point into a close control point group and a far control point group based on the current camera viewpoint.
예를 들어, 조작대상 구성품(10)을 다섯 손이 잡고 있다면(제어점이 다섯 개) 카메라 시점을 기준으로 가까운 거리에 있는 제1 제어점 그룹(First control Group)과 먼 거리에 있는 제2 제어점 그룹(Second Control Group)으로 나눌 수 있다.For example, if five hands are holding the component 10 to be manipulated (five control points), there is a first control point group at a close distance based on the camera viewpoint and a second control point group at a distance ( Second Control Group).
3. 그룹별 제어 중심점 찾기 및 첫 번째 방향축 선정3. Find control center point for each group and select first direction axis
제어 장치(40)는, 도 5에 도시된 바와 같이 각 그룹별 중심위치를 찾는다. 그룹별 중심점 찾는 방법은 1.위치기준선정방법과 동일하게 사용한다. 즉, 아래와 같은 과정으로 그룹별 중심점을 찾을 수 있다. 여기서, 도 5는 본 발명의 실시 예에 따른 제어 장치에서 그룹별 제어 중심점을 찾는 예를 나타낸 도면이다.The control device 40 finds the center position for each group as shown in FIG. 5. The method of finding the center point for each group is the same as 1. Location standard selection method. In other words, the central point for each group can be found through the process below. Here, FIG. 5 is a diagram illustrating an example of finding a control center point for each group in a control device according to an embodiment of the present invention.
1) 제어 장치(40)는, 그룹별 중심점에 대하여, 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득한다.1) The control device 40 calculates the average value of the coordinates of the control points forming the first control point group with respect to the center point of each group, and calculates the average value of the coordinates of the center point ⓐ of the first control point group and the control points forming the second control point group. The second control point group center point (ⓑ) is obtained by calculating .
2) 제어 장치(40)는, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓐ)과 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정한다.2) The control device 40 divides the line segment connecting the first control point group center point (ⓐ) and the second control point group center point (ⓑ) divided by the first direction into the first direction axis ( ).
결국 제어점 2개가 결정이 되며, 물체의 위치 기준을 이 제어점 2개의 중점으로 정의할 수 있다. 또한 두 제어점을 연결하는 선분을 첫 번째 방향축()으로 사용하는 것이다.Ultimately, two control points are determined, and the object's position standard can be defined as the midpoint of these two control points. Additionally, the line segment connecting the two control points is divided into the first direction axis ( ) is used.
4. 두 번째 방향축 기준 찾기4. Find the second direction axis reference
제어 장치(40)는, 첫 번째 방향기준으로 나뉘어지는 두 그룹을 도 6에 도시된 바와 같이 재생성한다. 여기서, 도 6은 본 발명의 실시 예에 따른 제어 장치에서 그룹별 제어 중심점을 찾기 위해 첫번째 방향축을 이용해 두번째 방향축을 생성하는 예를 나타낸 도면이다.The control device 40 regenerates the two groups divided by the first direction reference as shown in FIG. 6. Here, Figure 6 is a diagram showing an example of creating a second direction axis using the first direction axis to find the control center point for each group in the control device according to an embodiment of the present invention.
1) 제어 장치(40)는, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')을 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정한다.1) The control device 40 regenerates the first control point group center point (ⓒ') and the second control point group center point (ⓓ') divided by the first direction, and a control point connection line segment connecting these two center points ( ) is set.
2) 제어 장치(40)는, 첫 번째 방향축()과 제어점 연결 선분()을 이용하여 다음 수학식 2에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출한다.2) The control device 40 controls the first direction axis ( ) and the control point connecting line segment ( ), using the cross product according to Equation 2 below ( ) is calculated.
3) 제어 장치(40)는, 위와 같이 산출된 두 선분의 수직인 방향축을 두 번째 방향축()으로 설정한다.3) The control device 40 divides the vertical axis of the two line segments calculated as above into the second direction axis ( ).
4. 위치 기준과 방향기준의 두 축을 이용한 가상물체 변환4. Virtual object conversion using two axes: position reference and direction reference
1) 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정한다.1) The control device 40 determines the position and direction by applying the position displacement and direction displacement values for each frame to the virtual object to be manipulated according to changes in control points detected by the motion controller 30.
2) 제어 장치(40)는, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 조작대상 가상 오브젝트의 움직임 출력을 제어한다.2) The control device 40 controls the movement output of the virtual object to be manipulated by applying a displacement value offset of the movement of the component according to the displacement value that changes in each frame using the center point reference and the direction reference.
도 7은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 방법을 나타낸 동작 흐름도이다. Figure 7 is an operation flowchart showing a virtual environment interaction collaboration method according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템(100)은, 영상 촬영기(20)에서 조작 대상 구성품(10)을 촬영하여 영상을 획득한다(S710).Referring to FIG. 7, the virtual environment interaction collaboration system 100 according to an embodiment of the present invention acquires an image by photographing the manipulation target component 10 with the image capture device 20 (S710).
이어, 제어 장치(40)는 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성한다(S720).Next, the control device 40 receives the acquired image and creates a virtual object to be manipulated according to the object representation (transformation) of the virtual world (S720).
이어, 제어 장치(40)는 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득한다(S730).Next, the control device 40 obtains location information and direction information about the generated virtual object to be manipulated (S730).
이때, 제어 장치(40)는 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용할 수 있다.At this time, the control device 40 can use one vector (x, y, z) information for position information and two vector information orthogonal to each other among the x, y, and z axes for direction information.
이어, 모션 컨트롤러(30)는 조작 대상 구성품(10)에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지한다(S740).Next, the motion controller 30 detects the movement of the hand with respect to the manipulation target component 10 according to six degrees of freedom (x, y, z, pitch, roll, yaw) (S740).
이때, 모션 컨트롤러(30)는, 트리거(trigger) 버튼이 눌려지면, 감지된 제어점들을 이동하여 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식할 수 있다.At this time, when the trigger button is pressed, the motion controller 30 may recognize it as an action of moving the detected control points and grabbing the virtual object to be manipulated (Pick).
이어, HMD(50)는 모션 컨트롤러(30)에 의해 감지된 제어점들이 적용된 조작대상 가상 오브젝트를 디스플레이한다(S750).Next, the HMD 50 displays a virtual object to be manipulated to which the control points detected by the motion controller 30 are applied (S750).
이어, 제어 장치(40)는 손의 움직임에 따라 모션 컨트롤러(30)에 의해 감지된 제어점들을 조작대상 가상 오브젝트에 적용한다(S760).Next, the control device 40 applies the control points detected by the motion controller 30 according to the movement of the hand to the virtual object to be manipulated (S760).
이때, 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 제어점들의 중심을 위치 기준 선정 방식에 의해 수학식1에 따라 각 제어점들의 좌표의 평균값으로 산출할 수 있다.At this time, when there are a plurality of control points detected by the motion controller 30, the control device 40 calculates the center of the control points as the average value of the coordinates of each control point according to Equation 1 by using a position reference selection method. You can.
또한, 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들이 다수 개로 존재하는 경우에, 다수의 제어점들에 대하여, 영상 촬영기(20)의 카메라 시점 기준으로 가까운 제1 제어점 그룹(First Control Group)과 거리가 먼 제2 제어점 그룹(Second Control Group)으로 구분하여 분리한다.In addition, when there are a plurality of control points detected by the motion controller 30, the control device 40 provides a first control point group ( It is separated into a second control group (Second Control Group) that is far from the First Control Group.
또한, 제어 장치(40)는, 그룹별 중심점에 대하여, 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하며, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓐ)과 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정한다.In addition, the control device 40 calculates the average value of the coordinates of the control points forming the first control point group with respect to the center point of each group, and calculates the average value of the coordinates of the center point ⓐ of the first control point group and the control points forming the second control point group. The second control point group center point (ⓑ) is obtained by calculating the line segment connecting the first control point group center point (ⓐ) and the second control point group center point (ⓑ), which are divided by the first direction, along the first direction axis ( ).
한편, 제어 장치(40)는, 두 번째 방향축을 결정하기 위해, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')을 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정한다.Meanwhile, in order to determine the second direction axis, the control device 40 regenerates the first control point group center point (ⓒ') and the second control point group center point (ⓓ') divided by the first direction, and these two center points The control point connecting line segment ( ) is set.
또한, 제어 장치(40)는, 첫 번째 방향축()과 상기 제어점 연결 선분()을 이용하여 수학식 2에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하여 두 번째 방향축()으로 설정한다.Additionally, the control device 40 controls the first direction axis ( ) and the control point connecting line segment ( ) using the cross product according to Equation 2 to determine the vertical direction axis of the two line segments ( ) is calculated to calculate the second direction axis ( ).
또한, 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정한다.Additionally, the control device 40 determines the position and direction by applying the position displacement and direction displacement values for each frame to the virtual object to be manipulated according to changes in control points detected by the motion controller 30.
그리고, 제어 장치(40)는, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 조작대상 가상 오브젝트의 움직임을 출력하도록 제어하는 것이다.In addition, the control device 40 controls to output the movement of the virtual object to be manipulated by applying a displacement value offset of the movement of the component according to the displacement value that changes in each frame using the center point reference and the direction reference. .
도 8은 본 발명의 실시 예에 따른 가상 환경 상호작용 협업 시스템에서의 상세 협업 동작을 나타낸 순서도이다.Figure 8 is a flowchart showing detailed collaboration operations in a virtual environment interaction collaboration system according to an embodiment of the present invention.
도 8을 참조하면, 실시 예에 따른 가상 환경 상호작용 협업 시스템(100)은, 먼저 제어 장치(40)는 조작대상 구성품(10)에 대한 다수의 제어점들이 잡히는지를 판단한다(S802).Referring to FIG. 8, in the virtual environment interaction collaboration system 100 according to the embodiment, the control device 40 first determines whether a plurality of control points for the manipulation target component 10 are captured (S802).
즉, 제어 장치(40)는, 현실 세계에서의 미사일 등과 같은 조작대상 구성품(10)에 대하여, 협업자의 손들이 움켜 쥐는 액션이나 쥐어 잡는 액션에 따라 모션 컨트롤러(30)를 통해 감지되는 제어점들이 모션 컨트롤러(30)로부터 수신되는지를 판단하는 것이다.That is, the control device 40 controls the control points detected through the motion controller 30 according to the grasping action or grasping action of the hands of the collaborator with respect to the component 10 to be manipulated, such as a missile in the real world. This is to determine whether the message is received from the controller 30.
이때, 가상 환경 상호작용 협업 동작이 처음인 경우에(S804-Yes), 제어 장치(40)는 제어점들의 중심점을 찾는 위치 기준 선정 동작을 실행한다(S806).At this time, when the virtual environment interaction collaboration operation is performed for the first time (S804-Yes), the control device 40 executes a position reference selection operation to find the center point of the control points (S806).
예를 들면, 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 제어점들의 중심을 위치 기준 선정 방식에 의해 전술한 수학식 1에 따라 각 제어점들의 좌표의 평균값으로 산출한다.For example, when there are a plurality of control points detected by the motion controller 30, the control device 40 determines the coordinates of each control point according to the above-described equation 1 by selecting the center of the control points based on the position. Calculated as the average value.
이어, 제어 장치(40)는 가상 구성품과 중심점의 위치 오프셋(offset)을 결정한다(S808).Next, the control device 40 determines the position offset of the virtual component and the center point (S808).
여기서, 가상 구성품은 제어 장치(40)가 현실 세계의 조작대상 구성품(10)을 영상 촬영기(20)를 통해 촬영하여 얻은 영상을 조작대상 가상 오브젝트로 생성하여 얻는다. Here, the virtual component is obtained by the control device 40 capturing an image of the component 10 to be manipulated in the real world through the image capture device 20 and generating the image as a virtual object to be manipulated.
현실 세계는 중력, 원심력 등 물리적 힘이 존재함으로써 협업이 이루어지지만 가상 환경 상에서는 이러한 힘이라는 요소가 없으므로 현실 세계와 유사한 조작을 위해, 현실 세계의 조작대상 구성품(10)을 가상 세계의 조작대상 가상 오브젝트로 생성하게 되는 것이다.In the real world, collaboration occurs due to the presence of physical forces such as gravity and centrifugal force, but in the virtual environment, there is no such force element, so for manipulation similar to the real world, the manipulation object component 10 in the real world is connected to the manipulation object virtual object in the virtual world. It is created with .
가상 세계에서의 물체 표현(transformation)은 위치 정보와 방향 정보를 통해 정의될 수 있으며, 위치 정보는 1 개의 Vector(x,y,z) 정보, 방향 정보는 2 개의 Vector(x,y,z축 중 2개, 서로직교) 정보를 이용할 수 있다.Object representation (transformation) in the virtual world can be defined through location information and direction information. Location information is one Vector (x, y, z) information, and direction information is two Vectors (x, y, z axes). Two of them, orthogonal to each other, can use information.
현실 세계에서의 작업자의 손(사실 손에 쥔 controller)은 가상 환경 내에서는 6자유도를 갖는 제어점으로 표현할 수 있으며, Motion Controller(30)의 trigger 버튼(방아쇠)을 누르는 것을 물건을 잡는 행위(Pick)로 정의할 수 있다.The worker's hand (actually the controller held in the hand) in the real world can be expressed as a control point with 6 degrees of freedom within the virtual environment, and pressing the trigger button (trigger) of the motion controller (30) is the act of picking an object. It can be defined as:
제어 장치(40)는, 제어점들이 다수 개로 존재하는 경우에, 다수의 제어점들에 대하여, 카메라 시점 기준으로 가까운 제1 제어점 그룹(First Control Group)과 거리가 먼 제2 제어점 그룹(Second Control Group)으로 구분하여 설정한다.When there are a plurality of control points, the control device 40 sets a second control point group (Second Control Group) that is distant from the first control point group (First Control Group) that is close to the plurality of control points based on the camera viewpoint. Set separately.
그리고, 제어 장치(40)는, 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득한다.Then, the control device 40 calculates the average value of the coordinates of the control points forming the first control point group to create the first control point group center point ⓐ, and calculates the average value of the coordinates of the control points forming the second control point group to create the second control point. Acquire the group center point (ⓑ).
이어, 제어 장치(40)는 방향 기준축을 선정한다(S810).Next, the control device 40 selects the direction reference axis (S810).
즉, 제어 장치(40)는 첫 번째 방향축과 두 번째 방향축을 설정하는 것이다.That is, the control device 40 sets the first direction axis and the second direction axis.
예를 들면, 제어 장치(40)는, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓐ)과 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정한다.For example, the control device 40 divides the line segment connecting the first control point group center point (ⓐ) and the second control point group center point (ⓑ) divided by the first direction into the first direction axis ( ).
또한, 제어 장치(40)는 첫 번째 방향기준으로 나뉘어지는 두 그룹을 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')으로 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정하며, 첫 번째 방향축()과 제어점 연결 선분()을 이용하여 수학식 2에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하고, 산출된 두 선분의 수직인 방향축을 두 번째 방향축()으로 설정한다.In addition, the control device 40 regenerates the two groups divided by the first direction into a first control point group center point (ⓒ') and a second control point group center point (ⓓ'), and a control point connection line connecting these two center points. ( ), and set the first direction axis ( ) and the control point connecting line segment ( ) using the cross product according to Equation 2 to determine the vertical direction axis of the two line segments ( ) is calculated, and the direction axis perpendicular to the two calculated line segments is set to the second direction axis ( ).
이어, 제어 장치(40)는 가상 구성품의 방향과 방향 기준축과의 오프셋(offset)을 설정한다(S812).Next, the control device 40 sets the direction of the virtual component and the offset with the direction reference axis (S812).
즉, 제어 장치(40)는, 모션 컨트롤러(30)에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정한다.That is, the control device 40 determines the position and direction by applying the position displacement and direction displacement values for each frame to the virtual object to be manipulated according to changes in control points detected by the motion controller 30.
그리고, 제어 장치(40)는, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 조작대상 가상 오브젝트의 움직임 출력을 제어한다.In addition, the control device 40 controls the movement output of the virtual object to be manipulated by applying a displacement value offset of the movement of the component according to the displacement value that changes in each frame using the center point reference and the direction reference.
전술한 바와 같은 과정으로, 네트워크를 통하여 도 9에 도시된 바와 같이 두 사람(손은 4개)이 가상 체험 공간에 참여하여 두 사람이 같이 '표적 탐지부' 구성품을 옮기는 시나리오를 수행하였다. 도 9는 본 발명의 실시 예에 따라 가상 구성품을 가상 세계에서 옮기는 예를 나타낸 도면이다. 여기서, 제어점은 총 4 개이며 위치 기준은 4 개의 제어점 중심점을 찾고, 방향 기준은 그룹을 이용한 2 개의 축을 이용하여 찾았다. 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 offset를 적용하여 가상 구성품의 움직임을 표현하였다.Through the same process as described above, a scenario was performed where two people (four hands) participated in the virtual experience space as shown in FIG. 9 through the network and the two people moved the 'target detection unit' components together. Figure 9 is a diagram showing an example of moving a virtual component in a virtual world according to an embodiment of the present invention. Here, there are a total of 4 control points, and the position reference is found by finding the center point of the 4 control points, and the direction reference is found by using 2 axes using groups. Using the center point standard and direction standard, the movement of the virtual component was expressed by applying the displacement value offset of the component's movement according to the displacement value that changes in each frame.
전술한 바와 같이 가상 환경 상호작용 협업 작업이 완료되면(S814-Yes), 제어 장치(40)는 모든 가상 환경 상호작용 협업 동작을 종료한다.As described above, when the virtual environment interaction collaboration task is completed (S814-Yes), the control device 40 terminates all virtual environment interaction collaboration operations.
그러나, 협업 작업이 종료되지 않은 경우(S814-No), 조작대상 구성품(10)에 대한 다수의 제어점들이 잡히는지를 판단한 후 협업 동작이 처음인지를 판단하는 동작으로 복귀한다.However, if the collaborative operation is not terminated (S814-No), it is determined whether a plurality of control points for the manipulation target component 10 are captured, and then the operation returns to determining whether the collaborative operation is the first.
이어, 가상 환경 상호작용 협업 동작이 처음이 아닌 경우(S804-No), 제어 장치(40)는 제어점들의 중심점 찾기 동작을 실행한다(S822).Next, if the virtual environment interaction collaboration operation is not the first (S804-No), the control device 40 performs an operation to find the center point of the control points (S822).
즉, 제어 장치(40)는, 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)과, 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하는 것이다.That is, the control device 40 calculates the average value of the coordinates of the control points forming the first control point group to create the first control point group center point ⓐ, and calculates the average value of the coordinates of the control points forming the second control point group to create the second control point. The goal is to obtain the group center point (ⓑ).
이어, 제어 장치(40)는 위치 오프셋(offset)을 이용한 변위값을 구하고 가상 구성품에 적용한다(S824).Next, the control device 40 obtains a displacement value using the position offset and applies it to the virtual component (S824).
즉, 제어 장치(40)는 조작대상 구성품(10)에 대하여 모션 컨트롤러(30)를 통해 획득한 다수의 제어점들을 조작대상 가상 오브젝트에 적용하여 각 제어점들의 위치 정보를 표시한다.That is, the control device 40 applies a plurality of control points obtained through the motion controller 30 for the component 10 to be manipulated to the virtual object to be manipulated and displays location information of each control point.
이어, 제어 장치(40)는 방향 기준축을 찾는다(S826).Next, the control device 40 finds the direction reference axis (S826).
즉, 제어 장치(40)는, 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓐ)과 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정한다.That is, the control device 40 divides the line segment connecting the first control point group center point (ⓐ) and the second control point group center point (ⓑ) divided by the first direction into the first direction axis ( ).
또한, 제어 장치(40)는, 첫 번째 방향기준으로 나뉘어지는 두 그룹을 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')으로 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정하며, 첫 번째 방향축()과 제어점 연결 선분()을 이용하여 수학식 2에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하고, 산출된 두 선분의 수직인 방향축을 두 번째 방향축()으로 설정한다.In addition, the control device 40 regenerates the two groups divided by the first direction into a first control point group center point (ⓒ') and a second control point group center point (ⓓ'), and connects control points connecting these two center points. Line segment ( ), and set the first direction axis ( ) and the control point connecting line segment ( ) using the cross product according to Equation 2 to determine the vertical direction axis of the two line segments ( ) is calculated, and the direction axis perpendicular to the two calculated line segments is set to the second direction axis ( ).
이어, 제어 장치(40)는 방향 오프셋(offset)을 이용한 변위값을 구하고 가상 구성품에 적용한다(S828).Next, the control device 40 obtains a displacement value using the direction offset and applies it to the virtual component (S828).
즉, 제어 장치(40)는, 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정하고, 중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 조작대상 가상 오브젝트의 움직임을 출력하는 것이다.That is, the control device 40 determines the position and direction by applying the position displacement and direction displacement values for each frame to the virtual object to be manipulated according to changes in the control points, and uses the center point reference and direction reference to change the position and direction for each frame. The movement of the virtual object to be manipulated is output by applying the displacement value offset of the movement of the component according to the displacement value.
전술한 바와 같이 본 발명에 의하면, 가상 정비 훈련에 있어서 피훈련자들이 가상 공간에서 동일한 구성품을 다같이 협업하여 직관적인 상호작용(Interaction)을 통해 현실 세계와 유사하게 가상 객체를 조작시키는 협업을 할 수 있도록 하는 가상 환경 상호작용 협업 시스템 및 그 방법을 실현할 수 있다.As described above, according to the present invention, in virtual maintenance training, trainees can collaborate on the same components in a virtual space to manipulate virtual objects similar to the real world through intuitive interaction. A virtual environment interaction collaboration system and method that enable virtual environment interaction can be realized.
본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art to which the present invention pertains should understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features, and that the embodiments described above are illustrative in all respects and not restrictive. Just do it. The scope of the present invention is indicated by the claims described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .
10 : 조작대상 구성품 20 : 영상 촬영기
30 : 모션 컨트롤러 40 : 제어 장치
50 : HMD 100 : 가상 환경 상호작용 협업 시스템10: Component to be operated 20: Video camera
30: motion controller 40: control device
50: HMD 100: Virtual environment interaction collaboration system
Claims (8)
상기 조작 대상 구성품을 촬영하여 영상을 획득하는 영상 촬영기;
손에 장착되어, 상기 조작 대상 구성품에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지하는 모션 컨트롤러;
상기 영상 촬영기로부터 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하고, 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하며, 손의 움직임에 따라 상기 모션 컨트롤러에 의해 감지된 제어점들을 상기 조작대상 가상 오브젝트에 적용하는 제어 장치; 및
상기 모션 컨트롤러에 의해 감지된 제어점들이 적용된 상기 조작대상 가상 오브젝트를 디스플레이하는 머리 착용 표시기(HMD: Head mounted Display);
를 포함하며,
상기 모션 컨트롤러는,
트리거(trigger) 버튼이 눌려지면 상기 감지된 제어점들을 이동하여 상기 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식하며,
상기 제어 장치는,
상기 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 상기 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용하며,
상기 제어 장치는,
상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 다수의 제어점들에 대하여 상기 영상 촬영기의 카메라 시점 기준으로 제1 제어점 그룹(First Control Group)과 제2 제어점 그룹(Second Control Group)으로 구분하고, 그룹별 중심점에 대하여 상기 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)을 획득하고, 상기 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하는 것을 특징으로 하는 가상 환경 상호작용 협업 시스템.
Components subject to manipulation in the real world;
An image capture device that acquires an image by photographing the component to be manipulated;
A motion controller mounted on the hand and detecting the movement of the hand relative to the manipulation target component according to six degrees of freedom (x, y, z, pitch, roll, yaw);
Receives the image acquired from the video camera, creates a virtual object to be manipulated according to the object representation (transformation) of the virtual world, obtains location information and direction information about the generated virtual object to be manipulated, and follows the movement of the hand. a control device that applies control points detected by the motion controller to the virtual object to be manipulated; and
A head mounted display (HMD) that displays the virtual object to be manipulated to which control points sensed by the motion controller are applied;
Includes,
The motion controller is,
When the trigger button is pressed, the detected control points are moved and recognized as an act of picking the virtual object to be manipulated,
The control device is,
One vector (x, y, z) information is used for the position information, and two vector information orthogonal to each other among the x, y, and z axes are used for the direction information,
The control device is,
When there are multiple control points detected by the motion controller, the multiple control points are divided into a first control group and a second control group based on the camera viewpoint of the video capture device. And, with respect to the center point of each group, the average value of the coordinates of the control points forming the first control point group is calculated to obtain the first control point group center point (ⓐ), and the first control point group center point ⓐ is calculated as the average value of the coordinates of the control points forming the second control point group. 2 A virtual environment interaction collaboration system characterized by acquiring the control point group central point (ⓑ).
(a) 영상 촬영기에서 조작 대상 구성품을 촬영하여 영상을 획득하는 단계;
(b) 제어 장치가 상기 획득된 영상을 입력받아 가상 세계의 물체 표현(transformation)에 따라 조작대상 가상 오브젝트로 생성하는 단계;
(c) 상기 제어 장치가 생성된 조작대상 가상 오브젝트에 대한 위치 정보와 방향 정보를 획득하는 단계;
(d) 모션 컨트롤러가 상기 조작 대상 구성품에 대한 손의 움직임을 6자유도(x,y,z,pitch,roll,yaw)에 따라 감지하는 단계;
(e) 머리 착용 표시기(HMD)가 상기 모션 컨트롤러에 의해 감지된 제어점들이 적용된 상기 조작대상 가상 오브젝트를 디스플레이하는 단계; 및
(f) 상기 제어 장치가 손의 움직임에 따라 상기 모션 컨트롤러에 의해 감지된 제어점들을 상기 조작대상 가상 오브젝트에 적용하는 단계;
를 포함하며,
상기 (d) 단계에서 상기 모션 컨트롤러는,
트리거(trigger) 버튼이 눌려지면 상기 감지된 제어점들을 이동하여 상기 조작대상 가상 오브젝트를 잡는 행위(Pick)로 인식하며,
상기 제어 장치는,
상기 위치 정보에 대하여 1 개의 벡터(x,y,z) 정보와, 상기 방향 정보에 대하여 x,y,z축 중 서로 직교하는 2 개의 벡터 정보를 이용하며,
상기 제어 장치는,
상기 모션 컨트롤러에 의해 감지된 제어점들이 다수 개로 존재하는 경우, 다수의 제어점들에 대하여 상기 영상 촬영기의 카메라 시점 기준으로 제1 제어점 그룹(First Control Group)과 제2 제어점 그룹(Second Control Group)으로 구분하고, 그룹별 중심점에 대하여 상기 제1 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제1 제어점 그룹 중심점(ⓐ)을 획득하고, 상기 제2 제어점 그룹을 이루는 제어점들의 좌표의 평균값으로 산출하여 제2 제어점 그룹 중심점(ⓑ)을 획득하는 것을 특징으로 하는 가상 환경 상호작용 협업 방법.
In the virtual environment interaction collaboration method using the virtual environment interaction collaboration system of claim 1,
(a) acquiring an image by photographing a component to be manipulated using an image capture device;
(b) a control device receiving the acquired image and creating a virtual object to be manipulated according to the object representation (transformation) of the virtual world;
(c) obtaining, by the control device, position information and direction information about the generated virtual object to be manipulated;
(d) a motion controller detecting hand movement relative to the manipulation target component according to six degrees of freedom (x, y, z, pitch, roll, yaw);
(e) displaying, by a head worn display (HMD), the virtual object to which control points detected by the motion controller are applied; and
(f) the control device applying control points detected by the motion controller according to hand movement to the virtual object to be manipulated;
Includes,
In step (d), the motion controller,
When the trigger button is pressed, the detected control points are moved and recognized as an act of picking the virtual object to be manipulated,
The control device is,
One vector (x, y, z) information is used for the position information, and two vector information orthogonal to each other among the x, y, and z axes are used for the direction information,
The control device is,
When there are multiple control points detected by the motion controller, the multiple control points are divided into a first control group and a second control group based on the camera viewpoint of the video capture device. And, with respect to the center point of each group, the average value of the coordinates of the control points forming the first control point group is calculated to obtain the first control point group center point (ⓐ), and the first control point group center point ⓐ is calculated as the average value of the coordinates of the control points forming the second control point group. 2 A virtual environment interaction collaboration method characterized by obtaining the control point group center point (ⓑ).
상기 제어장치는,
상기 제1 제어점 그룹 중심점(ⓐ)과 상기 제2 제어점 그룹 중심점(ⓑ)을 연결하는 선분을 첫번째 방향축()으로 설정하고, 상기 첫 번째 방향 기준으로 나뉘어지는 제1 제어점 그룹 중심점(ⓒ')과 제2 제어점 그룹 중심점(ⓓ')을 재생성하고, 이 두 중심점을 연결하는 제어점 연결 선분()을 설정하는 것을 특징으로 하는 가상 환경 상호작용 협업 시스템.
According to paragraph 1,
The control device is,
A line segment connecting the first control point group center point (ⓐ) and the second control point group center point (ⓑ) is formed along the first direction axis ( ), and regenerate the first control point group center point (ⓒ') and the second control point group center point (ⓓ') divided by the first direction, and the control point connection line connecting these two center points ( ) A virtual environment interaction collaboration system characterized by setting up.
상기 제어장치는,
상기 첫 번째 방향축()과 상기 제어점 연결 선분()을 이용하여 다음 수학식에 따라 외적을 사용하여 두 선분의 수직인 방향축()을 산출하여 두 번째 방향축()으로 설정하는 것을 특징으로 하는 가상 환경 상호작용 협업 시스템.
According to clause 6,
The control device is,
The first direction axis ( ) and the control point connecting line segment ( ), using the cross product according to the following equation, the vertical direction axis of the two line segments ( ) is calculated to calculate the second direction axis ( ) A virtual environment interaction collaboration system characterized by setting.
상기 제어장치는,
상기 모션 컨트롤러에 의해 감지된 제어점들의 변화에 따라 각 프레임별 위치 변위와 방향 변위 값을 상기 조작대상 가상 오브젝트에 적용하여 위치 및 방향을 결정하며,
중심점 기준과 방향 기준을 이용하여 매 프레임시 달라지는 변위값에 따라 구성품의 움직임의 변위값 오프셋(offset)을 적용하여 상기 조작대상 가상 오브젝트의 움직임을 출력하는 것을 특징으로 하는 가상 환경 상호작용 협업 시스템.In clause 7,
The control device is,
According to changes in control points detected by the motion controller, the position and direction are determined by applying the position displacement and direction displacement values for each frame to the virtual object to be manipulated,
A virtual environment interaction collaboration system characterized by outputting the movement of the virtual object to be manipulated by applying a displacement value offset of the movement of the component according to the displacement value that changes in each frame using a center point reference and a direction reference.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210054142A KR102582312B1 (en) | 2021-04-27 | 2021-04-27 | System for Interaction Collaboration of Virtual Environment and Method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210054142A KR102582312B1 (en) | 2021-04-27 | 2021-04-27 | System for Interaction Collaboration of Virtual Environment and Method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220147251A KR20220147251A (en) | 2022-11-03 |
KR102582312B1 true KR102582312B1 (en) | 2023-09-25 |
Family
ID=84040976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210054142A KR102582312B1 (en) | 2021-04-27 | 2021-04-27 | System for Interaction Collaboration of Virtual Environment and Method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102582312B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102164371B1 (en) * | 2019-11-29 | 2020-10-12 | 주식회사 아이브이알시스템즈 | Interaction implementing method of virtual object for virtual maintenance training |
JP2020181545A (en) * | 2019-04-23 | 2020-11-05 | 未來市股▲ふん▼有限公司 | Head mounted display system capable of assigning at least one predetermined interactive characteristic to virtual object in virtual environment created according to real object in real environment, related method, and related non-transitory computer readable storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200070058A (en) | 2018-12-07 | 2020-06-17 | 한양대학교 산학협력단 | Method for providing collaboration service |
-
2021
- 2021-04-27 KR KR1020210054142A patent/KR102582312B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020181545A (en) * | 2019-04-23 | 2020-11-05 | 未來市股▲ふん▼有限公司 | Head mounted display system capable of assigning at least one predetermined interactive characteristic to virtual object in virtual environment created according to real object in real environment, related method, and related non-transitory computer readable storage medium |
KR102164371B1 (en) * | 2019-11-29 | 2020-10-12 | 주식회사 아이브이알시스템즈 | Interaction implementing method of virtual object for virtual maintenance training |
Also Published As
Publication number | Publication date |
---|---|
KR20220147251A (en) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2862604B1 (en) | Information processing device, information processing method, program and toy system | |
JP5617246B2 (en) | Image processing apparatus, object selection method, and program | |
US9360944B2 (en) | System and method for enhanced gesture-based interaction | |
CN111475573B (en) | Data synchronization method and device, electronic equipment and storage medium | |
CN110427111A (en) | The operating method of virtual item, device, equipment and storage medium in virtual environment | |
US20130303247A1 (en) | Interaction display system and method thereof | |
CN102592045A (en) | First person shooter control with virtual skeleton | |
WO2016189372A2 (en) | Methods and apparatus for human centric "hyper ui for devices"architecture that could serve as an integration point with multiple target/endpoints (devices) and related methods/system with dynamic context aware gesture input towards a "modular" universal controller platform and input device virtualization | |
Higuchi et al. | Flying head: A head-synchronization mechanism for flying telepresence | |
CN110465098A (en) | Control method, apparatus, equipment and medium that virtual objects use virtual item | |
CN112057857B (en) | Interactive property processing method, device, terminal and storage medium | |
TW202237247A (en) | Method of displaying virtual props, equipment, electronic device, and storage medium | |
KR102582312B1 (en) | System for Interaction Collaboration of Virtual Environment and Method thereof | |
CN112138383A (en) | Virtual item display method, device, equipment and storage medium | |
CN114522423A (en) | Virtual object control method and device, storage medium and computer equipment | |
Arnold et al. | Towards a heterogeneous swarm for object classification | |
WO2020166178A1 (en) | Information processing device, information processing method, and program | |
Bruce et al. | Ready—aim—fly! hands-free face-based HRI for 3D trajectory control of UAVs | |
CN109649654B (en) | Low-altitude search positioning method | |
CN111228791A (en) | Real person AR shooting game equipment, and shooting fighting system and method based on AR technology | |
CN113379870A (en) | Display method and device based on virtual training scene training and storage medium | |
CN109806594B (en) | Trajectory display method, device and equipment in virtual environment | |
CN210638579U (en) | Large-space multi-person interactive simulation system | |
CN109612456B (en) | Low-altitude search positioning system | |
Ionescu et al. | Gesture control: a new and intelligent man-machine interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |