KR101850410B1 - Simulation apparatus and method for teaching robot based on virtual reality - Google Patents

Simulation apparatus and method for teaching robot based on virtual reality Download PDF

Info

Publication number
KR101850410B1
KR101850410B1 KR1020160179358A KR20160179358A KR101850410B1 KR 101850410 B1 KR101850410 B1 KR 101850410B1 KR 1020160179358 A KR1020160179358 A KR 1020160179358A KR 20160179358 A KR20160179358 A KR 20160179358A KR 101850410 B1 KR101850410 B1 KR 101850410B1
Authority
KR
South Korea
Prior art keywords
robot
information
virtual reality
unit
teaching
Prior art date
Application number
KR1020160179358A
Other languages
Korean (ko)
Inventor
박재한
장가람
배지훈
백문홍
Original Assignee
한국생산기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국생산기술연구원 filed Critical 한국생산기술연구원
Priority to KR1020160179358A priority Critical patent/KR101850410B1/en
Application granted granted Critical
Publication of KR101850410B1 publication Critical patent/KR101850410B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

The present invention relates to a simulation device and a method for robot teaching based on virtual reality. More specifically, the simulation device and the method for the robot teaching based on the virtual reality realize a real working environment of a robot implemented in the virtual reality through three-dimensional modeling. In addition, robot models in the virtual reality are supported to interact with each other according to operation information of a user provided through virtual reality equipment of the user for the robot operation teaching. Moreover, an optimal motion path in which operation according to the operation teaching of the robot models implemented in the virtual reality is performed without collision is calculated, and the optimal motion path is provided to the real robot.

Description

가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법{Simulation apparatus and method for teaching robot based on virtual reality}Technical Field [0001] The present invention relates to a virtual reality-based robot teaching apparatus,

본 발명은 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법에 관한 것으로서, 더욱 상세히는 로봇의 실재 작업 환경을 3차원 모델링을 통해 가상 현실에 구현하고, 로봇의 작업 교시를 위한 사용자의 가상 현실 장비를 통해 제공되는 사용자의 동작정보에 따라 가상 현실상의 로봇 모델이 상호 작용하도록 지원하며, 가상 현실에 구현된 로봇 모델에 대한 작업 교시에 따른 작업이 충돌없이 수행되는 최적의 동작 경로를 산출하여 이를 실재 로봇에 반영할 수 있도록 제공하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치 및 방법에 관한 것이다.The present invention relates to a simulation apparatus and method for teaching a virtual reality-based robot, and more particularly, to a virtual reality system that realizes a real working environment of a robot in a virtual reality through three-dimensional modeling, The virtual robot 100 includes a plurality of virtual robots 120 and a plurality of virtual robots 120. The virtual robot 120 includes a plurality of virtual robots, And to a simulation apparatus and method for teaching a virtual reality-based robot.

현재 로봇 기술의 발전과 더불어 다양한 작업 환경에서 로봇을 이용한 자동 공정화가 진행되고 있으며, 이를 통해 공정의 작업 효율을 향상시키는 동시에 생산성을 높이고 있다.In addition to the development of robotic technology, there is an automatic process using robots in various work environments, thereby improving work efficiency and productivity of the process.

특정 작업 환경에서 로봇이 작업을 수행하기 위한 일련의 동작 시퀀스를 생성하는 프로그래밍 방법은 크게 두 가지로 구분할 수 있는데, 소프트웨어를 통한 OLP(Off-Line Programming) 방법과 현장에서 작업자의 교시(teaching) 방법이 이에 해당된다.A programming method for generating a series of motion sequences for a robot to perform a task in a specific work environment can be divided into two types. One is an OLP (off-line programming) method using software, the other is a teaching method This is the case.

상기 OLP 방법은 작업 현장에 대한 3차원 모델링 정보와 작업물의 CAD 정보 및 로봇의 정보를 기초로 로봇의 작업 동작 경로에 대한 작업 파일을 생성하는 방식으로, 작업 환경을 구현한 가상 현실상에서 소프트웨어적으로 작업 파일을 생성하므로 사용자가 의도하는 로봇의 동작이 사용자의 동작과 상호작용하도록 지원하는 것이 불가능하여 로봇의 작업 동작 설정에 상당한 시간이 요구될 뿐만 아니라 비효율적인 동작 경로가 로봇에 설정되는 경우가 빈번하게 발생하는 문제점이 있다.The OLP method generates a work file for a robot's work path based on three-dimensional modeling information about the work site, CAD information of the work, and information of the robot. It is impossible to support the operation of the robot intended by the user to interact with the operation of the user so that a considerable time is required to set the operation of the robot and an inefficient operation path is set in the robot frequently There is a problem.

더군다나, 상기 OLP 방법은 작업 환경과 해당 작업환경에서 동작 가능한 로봇의 동작 범위를 미리 설정하므로, 작업 환경 변경시 기존의 일반적인 렌더링 방식을 통해 작업 환경을 다시 모델링하고, 변경된 작업 환경에 따른 로봇의 정보를 다시 설정해야 하므로, 이와 같은 설정에 필요한 시간과 노력이 상당하여 고도로 정형화된 작업 환경이 아닌 곳에서는 활용이 어려운 문제가 있다. In addition, since the OLP method sets the operation range of the robot that can operate in the work environment and the work environment in advance, the work environment is re-modeled through the existing general rendering method when the work environment is changed, Therefore, there is a problem that it is difficult to utilize in a place that is not a highly standardized work environment because of the time and effort required for such setting.

따라서, 기존의 OLP 방법은 기업 경쟁력 확보를 위해 제품 다변화와 지속적인 신제품의 개발이 요구되어 작업 환경이 지속적으로 변환하는 최근 상황에 대처하기 어려운 방법이다.Therefore, the existing OLP method is required to diversify products and develop new products continuously in order to secure corporate competitiveness, and it is difficult to cope with the recent situation where the work environment continuously changes.

최근 기존의 OLP 방식에 따른 문제점을 개선하여, 티치 펜던트(Teach Pendant)에 의한 교시 방법이 이용되고 있으며, 이러한 교시 방법은 현장에서 일정 자유도 이하의 로봇에 대한 작업을 생성하는 데는 매우 유용하나 양팔 로봇과 같이 자유도가 높고 양팔의 작업공간이 겹쳐서 충돌이 일어나기 쉬운 조건에서는 작업자가 동작을 생성하기가 쉽지 않다.Recently, teaching method by Teach Pendant has been used to solve the problem according to the existing OLP method, and this teaching method is very useful for creating work for a robot having a certain degree of freedom in the field, It is not easy for the operator to generate motion in a condition where the degree of freedom is high like the robot and the working space of both arms is overlapped and the collision is likely to occur.

또한, 대부분의 로봇 관절이 회전 운동을 하므로 로봇의 충돌회피와 같은 동작을 생성할 때는 티치 펜던트의 제어명령과 로봇 동작을 사상(mapping)하기가 매우 어려우므로 경험이 많은 전문가만이 이를 수행할 수 있다.In addition, since most of the robot joints are rotating, it is very difficult to map the control commands and robot motion of the teach pendant when creating an action such as collision avoidance of the robot. have.

더군다나, 티치 펜던트를 로봇의 동작에 매핑시키는 과정에서 처리 시간이 상당하여 사용자가 로봇의 동작을 설정하는데 상당한 시간이 소요되므로, 사용자의 동작에 반응하는 로봇의 실시간성 및 반응성이 현저하게 떨어지며 이로 인해 로봇 교시에 대한 효율이 지나치게 저하되는 문제점이 발생한다.In addition, since the processing time is significant in the process of mapping the teach pendant to the operation of the robot, it takes a considerable time for the user to set the operation of the robot, so that the real-time performance and responsiveness of the robot in response to the user's operation is significantly lowered The efficiency of the robot teaching is deteriorated excessively.

또한, 이러한 티치 펜던트에 의한 교시 방법 역시 복잡하고 수시로 변화가 발생할 수 있는 동적 작업환경에서 작업 환경 변화시마다 전문가가 방문하여 로봇의 동작을 설정해야 하므로 로봇 동작의 설정에 상당한 시간이 소요될 뿐만 아니라 상술한 바와 같이 티치 펜던트의 제어 명령과 로봇 동작 사이의 매핑 오차에 따라 작업 환경에서 발생하는 로봇과 장애물 사이의 충돌이나 로봇의 자체적인 충돌을 용이하게 검출해내기 어려운 구성이므로, 로봇의 작업 환경에서 충돌을 회피하여 로봇의 효율적인 동작을 설정하는데 상당한 어려움을 겪고 있다.In addition, the teach-in method using the teach pendant is also complicated and requires a considerable amount of time to set up the robot operation because a specialist visits each time the work environment changes in a dynamic work environment in which a change may occur, As a result of the mapping error between the control command of the teach pendant and the robot operation, it is difficult to easily detect the collision between the robot and the obstacle occurring in the work environment or the robot's own collision, So that it is difficult to set up an efficient operation of the robot.

최근, 상술한 방법 이외에도, 작업자가 직접 로봇을 움직여 직관적으로 동작을 생성하는 직접교시 방법이 등장하고 있으며, 기존의 티치 펜던트를 이용한 방법의 문제점을 극복하여 비전문가도 쉽고 빠르게 로봇의 작업을 생성할 수 있는 장점이 있다.In recent years, in addition to the above-mentioned methods, a direct teaching method for generating an operation intuitively by moving an operator directly has appeared, and a non-expert can easily and quickly create a robot operation by overcoming the problems of the conventional method using the teach pendant There is an advantage.

그러나, 이와 같이 직접교시를 수행하기 위해서는 로봇이 인간의 외력에 반영하여 순응적으로 움직이는 기능이 반드시 요구되는데 기존 산업용 로봇은 대부분 이를 만족하지 않으므로 외부에 별도의 센서를 장착해야 하는 불편함이 있다.However, in order to perform the direct teaching in this way, the function of the robot to adaptively move by reflecting on the external force of the human being is necessarily required. However, since the conventional industrial robot does not satisfy most of them, there is an inconvenience to install a separate sensor on the outside.

또한, 직접 교시를 위해서 작업자는 반드시 로봇이 위치하는 실제 작업 현장에서 로봇 작업을 생성해야 하는데 로봇의 작업 현장이 인간의 접근이 힘든 경우에는 이 방법을 적용할 수 없게 되며 교시 과정에서도 로봇이 오동작을 일으키는 경우 작업자에게 매우 위험할 수 있다.In addition, for direct teaching, the worker must create a robot task at the actual work site where the robot is located. However, if the robot work site is not accessible to the human, this method can not be applied. It can be very dangerous to the operator if it raises.

한국등록특허 제10-1052740호Korean Patent No. 10-1052740

상술한 문제점을 해결하기 위하여, 본 발명은 로봇의 실재 작업 환경을 3차원 모델링을 통해 가상 현실에 구현하고, 사용자가 로봇의 작업 교시를 위해 착용한 가상 현실 장비를 통해 제공되는 사용자의 동작정보에 따라 사용자의 동작에 상호 작용하도록 가상 현실에 구현된 가상 로봇 모델의 상기 작업 교시에 따른 작업이 충돌없이 수행되는 최적의 동작 경로를 산출하여 로봇에 설정할 수 있도록 제공함으로써, 사용자의 동작과 로봇 모델의 동작이 상호 작용하도록 지원하여 로봇의 동작 설정에 대한 편의성을 지원하고 가상 현실을 통해 로봇의 동작을 직관적으로 확인하는 동시에 전문가의 도움 없이 작업 설정을 위한 사용자의 교시에 대응되어 로봇의 최적화된 동작 경로를 자동 생성하여 설정할 수 있도록 지원하는데 그 목적이 있다.In order to solve the above-described problems, the present invention provides a method for realizing a real working environment of a robot in a virtual reality through three-dimensional modeling, Accordingly, it is possible to calculate the optimal operation path of the virtual robot model implemented in the virtual reality, which is performed without collision, and to set it in the robot so as to interact with the user's operation, It supports the convenience of the robot's operation setting by supporting the interaction of the robot, and intuitively confirms the robot's operation through the virtual reality. Also, it supports the robot's optimized operation path To be automatically generated and set up.

또한, 본 발명은 실재 작업 환경을 충돌 여부를 감지할 수 있는 수준으로 모델링하여 작업 환경의 모델링에 요구되는 연산시간과 부하를 획기적으로 감소시키는 동시에 로봇의 자세에 대한 배위 공간상에서 상기 작업 환경에 대한 모델을 기반으로 로봇과 작업 환경에 구성된 장애물 사이의 충돌이나 로봇의 자세 변경에 따라 로봇의 자체적인 충돌이 발생하는 자세를 용이하게 검출하여 상기 배위 공간상에 반영함으로써, 로봇이 사용자의 교시에 대응되어 충돌없이 안정적이며 정확한 로봇의 최적 동작 경로를 생성할 수 있도록 지원하는데 그 목적이 있다.In addition, the present invention models the actual work environment at a level that can detect collision, thereby dramatically reducing the computation time and load required for modeling the work environment, and at the same time, The posture in which the robot itself collides with the robot can be easily detected in accordance with the collision between the robot and the obstacle configured in the working environment or the posture of the robot on the basis of the model and reflected on the coordinate space so that the robot can respond to the user's teaching The purpose of this study is to support the robot to create an optimal motion path of the robots without collision.

더하여, 본 발명은 가상 현실에서 사용자의 교시에 대응되는 로봇의 작업 동작에 대한 제어정보를 생성하고 이를 편리하게 로봇에 설정할 수 있도록 지원하여 위험한 작업 현장에 위치하는 로봇에 대해서도 안정적으로 사용자의 교시에 대응되는 로봇의 작업 동작 설정이 이루어지도록 지원하는데 그 목적이 있다.In addition, the present invention generates control information for the robot's operation corresponding to the user's instruction in the virtual reality, and supports the robot to set it conveniently so that the robots located in dangerous work places can be reliably guided to the user's teaching And it is an object of the present invention to support the operation setting of the corresponding robot.

본 발명의 실시예에 따른 로봇의 교시를 위한 사용자의 가상현실 인터페이스 장치와 연동하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치는, 3차원 센서를 통해 작업 환경을 스캔하여 생성된 점군 정보를 수신하고, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어진 깊이 이미지의 좌표를 기준으로 클러스터링하여 평면 클러스터를 다각형이나 육면체로 모델링하여 용량이 축소된 작업 환경에 대한 환경 모델 정보를 생성하는 작업 환경 모델링부와, 상기 로봇의 개별 자세가 좌표로 설정된 미리 설정된 배위 공간을 포아송 디스크(Poisson disk) 샘플링 방식으로 임의 샘플로 채워 상기 로봇의 동작 경로 산출을 위한 트리 구조를 형성하는 로봇 동작 모델링부 및 상기 환경 모델 정보 및 상기 로봇에 대한 미리 설정된 로봇 모델 정보를 기초로 가상 현실 인터페이스에 대한 영상을 생성하여 상기 가상현실 인터페이스 장치를 통해 제공하며, 상기 가상현실 인터페이스 장치로부터 로봇 교시를 위한 사용자의 현재 자세와 목표 자세를 포함하는 교시정보를 수신하고, 상기 로봇 동작 모델링부 및 상기 작업 환경 모델링부와 연동하여 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 충돌이 발생하는 로봇의 자세가 제외된 상기 트리 구조를 형성하며, 상기 트리 구조를 기초로 상기 로봇을 상기 현재 자세로부터 목표자세로 이동시키기 위한 최적 경로를 산출한 후 상기 최적 경로를 상기 로봇 모델 정보에 반영하여 생성한 영상을 제공하는 제어부를 포함할 수 있다.A simulation apparatus for teaching a virtual reality-based robot in cooperation with a user's virtual reality interface apparatus for teaching a robot according to an embodiment of the present invention includes a point-of- A work environment modeling unit for modeling plane clusters based on coordinates of depth images obtained on the basis of the depth information according to the point group information to generate plane model clusters based on polygons or hexahedrons to generate environment model information for a reduced work environment; A robot operation modeling unit that forms a tree structure for calculating the operation path of the robot by filling a predetermined coordinate space in which individual attitudes of the robot are set as coordinates with arbitrary samples by a Poisson disk sampling method, Based on the preset robot model information for the robot, A virtual reality interface device for generating an image of a real interface and receiving teaching information including a current position and a target posture of a user for robot teaching from the virtual reality interface device, Wherein the control unit forms the tree structure in which the posture of the robot in which the collision occurs is excluded based on the environment model information and the robot model information in cooperation with the work environment modeling unit, And a control unit for calculating an optimal path for moving the robot to the robot posture and providing the generated image by reflecting the optimal path to the robot model information.

본 발명과 관련된 일 예로서, 상기 작업 환경 모델링부는 상기 클러스터별로 평면 여부를 확인하며, 평면이 아닌 클러스터를 평면이 확인될 때까지 세분화하는 것을 특징으로 할 수 있다.As an example related to the present invention, the work environment modeling unit may check the planarity of each cluster, and may classify the non-planar cluster until the plane is confirmed.

본 발명과 관련된 일 예로서, 상기 작업 환경 모델링부는 로봇의 작업 환경을 스캔하여 생성된 상기 점군 정보를 수신하는 입력부와, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어지는 깊이 이미지의 좌표를 기준으로 클러스터링하는 클러스터링부와, 각 클러스터의 영상 좌표 영역에 속하는 점군의 데이터 행렬을 구성하고 해당 데이터 행렬의 랭크를 통해 평면 분포 여부를 확인하여 클러스터의 평면 여부를 판단하고 평면이 아닌 경우 클러스터를 세분화하여 재확인하는 평면 판단부 및 평면으로 판단된 클러스터를 평면 다각형이나 육면체로 모델링하여 데이터량을 줄이는 모델링부를 포함할 수 있다.According to an embodiment of the present invention, the work environment modeling unit may include an input unit for receiving the point cloud information generated by scanning the work environment of the robot, and an input unit for clustering based on the coordinates of the depth image obtained based on the depth information according to the point cloud information And a data matrix of a point group belonging to an image coordinate region of each cluster is constructed and it is determined whether or not the plane is a plane through the rank of the corresponding data matrix to judge whether the cluster is flat or not, And a modeling unit for modeling the planar determination unit and the clusters determined by the plane as planar polygons or hexahedrons to reduce the amount of data.

본 발명과 관련된 일 예로서, 상기 제어부는 상기 최적 경로 생성시 상기 로봇의 개별 자세가 매핑되며 상기 로봇을 모델링한 미리 설정된 로봇 모델 정보를 기초로 상기 교시 정보에 따른 사용자의 동작과 상호 작용하도록 상기 최적 경로에 따른 상기 로봇 모델 정보에 따른 로봇 모델의 동작을 영상으로 생성하여 상기 가상현실 인터페이스 장치로 전송하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, the control unit maps the individual posture of the robot at the time of generating the optimal path, and controls the robot to interact with the operation of the user according to the teaching information based on preset robot model information modeled by the robot And an operation of the robot model according to the robot model information according to the optimal path is generated as an image and transmitted to the virtual reality interface device.

본 발명과 관련된 일 예로서, 상기 제어부는 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 로봇의 개별 자세에 대하여 로봇과 상기 작업 환경 사이의 충돌이나 로봇의 자체적인 충돌 여부를 검출하고, 충돌이 검출되는 충돌 자세를 취합하여 상기 배위 공간에 상기 충돌 자세에 대응되는 제한 영역 또는 제한 공간을 설정하며, 상기 로봇 동작 모델링부는 상기 배위 공간에서 상기 제한 영역 또는 제한 공간을 제외한 나머지를 대상으로 상기 임의 샘플로 채우는 것을 특징으로 할 수 있다.As an example related to the present invention, the control unit detects a collision between the robot and the working environment or whether the robot itself collides with the individual pose of the robot based on the environment model information and the robot model information, Wherein the robot movement modeling unit sets the limited space or the limited space corresponding to the collision posture in the coordination space by collecting the collision postures to the arbitrary sample And the like.

본 발명과 관련된 일 예로서, 상기 제어부는 상기 최적 경로 연산시 미리 설정된 확률적 로드맵 방법(PRM, probabilistic roadmap method)을 기초로 상기 최적 경로를 연산하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, the controller calculates the optimal path based on a predetermined probabilistic roadmap method (PRM) in the optimal path calculation.

본 발명과 관련된 일 예로서, 상기 로봇 동작 모델링부는 상기 배위 공간에서 임의로 선택되는 상기 임의 샘플을 상기 포아송 디스크(Poisson disk) 샘플링 방식으로 선택하며, 샘플링 과정을 반복하여 상기 배위 공간 전체에 대한 샘플을 선택하는 샘플링부 및 상기 선택된 샘플을 기준으로 트리 구조를 형성하는 트리 생성부를 포함할 수 있다.In one embodiment of the present invention, the robot operation modeling unit selects the arbitrary sample arbitrarily selected in the coordinate space by the Poisson disk sampling method, and repeats the sampling process to sample the entire coordinate space And a tree generating unit for forming a tree structure based on the selected sample.

본 발명과 관련된 일 예로서, 상기 제어부는 사용자의 교시에 대응되는 상기 최적 경로를 기초로 로봇의 동작을 제어하기 위한 제어 정보를 생성하는 것을 특징으로 할 수 있다.According to an embodiment of the present invention, the control unit may generate control information for controlling the operation of the robot on the basis of the optimum path corresponding to the user's teaching.

본 발명과 관련된 일 예로서, 상기 로봇과의 연결을 위한 통신부를 더 포함하며, 상기 제어부는 상기 제어 정보를 상기 통신부를 통해 상기 로봇에 전송하여 상기 제어 정보에 대응되는 상기 최적 경로에 따른 작업 동작이 상기 로봇에 설정되도록 하는 것을 특징으로 할 수 있다.The control unit may transmit the control information to the robot through the communication unit to perform a task operation corresponding to the optimum path corresponding to the control information, Is set in the robot.

본 발명의 실시예에 따른 로봇의 교시를 위한 사용자의 가상현실 인터페이스 장치와 연동하는 시뮬레이션 장치의 가상 현실 기반 로봇 교시를 위한 시뮬레이션 방법은, 3차원 센서를 통해 작업 환경을 스캔하여 생성된 점군 정보를 수신하고, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어진 깊이 이미지의 좌표를 기준으로 클러스터링하여 평면 클러스터를 다각형이나 육면체로 모델링하여 용량이 축소된 작업 환경에 대한 환경 모델 정보를 생성하는 단계와, 상기 로봇의 개별 자세가 좌표로 설정된 미리 설정된 배위 공간에서 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 충돌이 발생하는 로봇의 자세가 제외한 나머지를 대상으로 포아송 디스크(Poisson disk) 샘플링 방식으로 임의 샘플로 채워 상기 로봇의 동작 경로 산출을 위한 트리 구조를 형성하는 단계와, 상기 환경 모델 정보 및 상기 로봇에 대한 미리 설정된 로봇 모델 정보를 기초로 가상 현실 인터페이스에 대한 영상을 생성하여 상기 가상현실 인터페이스 장치를 통해 제공하며, 상기 가상현실 인터페이스 장치로부터 로봇 교시를 위한 사용자의 현재 자세와 목표 자세를 포함하는 교시정보를 수신하는 단계 및 상기 교시정보 및 상기 트리 구조를 기초로 상기 로봇을 상기 현재 자세로부터 목표자세로 이동시키기 위한 최적 경로를 생성하고, 상기 최적 경로를 상기 로봇 모델 정보에 반영하여 생성한 영상을 제공하는 단계를 포함할 수 있다.The virtual reality-based robot teaching method of the simulation apparatus interlocked with the user's virtual reality interface apparatus for teaching the robot according to the embodiment of the present invention is characterized in that the point cloud information generated by scanning the work environment through the three- Generating environment model information for a reduced working environment by modeling plane clusters in a polygonal or hexahedron by clustering based on coordinates of depth images obtained based on the depth information according to the point group information, In the preset coordinate space in which the individual postures of the robots are set to coordinates, the rest of the robot except for the posture of the robot where the collision occurs is filled with a random sample by a Poisson disk sampling method on the basis of the environment model information and the robot model information A tree structure for calculating the operation path of the robot Generating an image for a virtual reality interface based on the environment model information and preset robot model information for the robot, providing the virtual reality interface through the virtual reality interface device, Generating an optimal path for moving the robot from the current posture to the target posture based on the teaching information and the tree structure, To the robot model information, and providing the generated image.

본 발명은 로봇과 로봇의 작업 환경을 가상 현실로 구현하여 가상 현실 영상을 제공하고, 해당 가상 현실상에서 사용자가 로봇의 작업 동작을 실시간으로 확인하면서 사용자의 동작과 상호 작용하는 로봇 모델을 통해 편리하게 교시할 수 있도록 지원하여 직관적인 직접 교시가 가능하도록 지원하는 동시에 로봇의 자세 중 작업 환경 내에 위치하는 장애물과의 충돌이 발생하는 자세와 로봇의 자체적인 충돌이 발생하는 자세를 자동 배제하여 사용자에 의한 로봇의 작업 동작에 대한 교시에 대응되어 충돌이 발생하지 않는 로봇의 최적 동작 경로를 산출하여 안정적이고 정확한 사용자의 교시에 대응되는 로봇의 작업 동작이 로봇에 설정될 수 있도록 지원함으로써 전문가의 도움 없이도 로봇 교시를 용이하게 수행할 수 있도록 지원하는 효과가 있다.The present invention provides a virtual reality image by implementing a working environment of a robot and a robot as a virtual reality and provides a virtual reality image through a robot model interacting with a user's operation while the user confirms the operation of the robot in real time on the virtual reality In addition to supporting the intuitive direct teaching by supporting the teaching, it is possible to automatically exclude the posture where the collision with the obstacle located in the working environment occurs and the self collision of the robot in the posture of the robot, It is possible to calculate the optimal operation path of the robot which does not cause the collision in correspondence with the teaching of the operation motion of the robot, so that the operation operation of the robot corresponding to the stable and accurate teaching of the user can be set in the robot, It is effective to support the instruction to be performed easily.

또한, 본 발명은 로봇의 작업 환경에 대한 모델링시 로봇과의 충돌 여부를 검출할 수 있는 수준으로 작업 환경을 스캔하여 생성한 점군 정보를 평면 여부의 판단을 통해 육면체나 다각형으로 압축하여 모델링함으로써, 작업 환경 모델의 데이터량을 크게 줄일 수 있어 작업 환경 내에서 로봇의 충돌 판단에 요구되는 부하와 연산 시간을 크게 감소시킬 수 있으며, 이를 통해 사용자의 교시에 대응되는 로봇의 최적 동작 경로를 실시간으로 제공하는 동시에 사용자의 동작에 대응되어 로봇 모델의 즉각적인 반응이 이루어지도록 보장할 수 있다.In addition, the present invention compresses the point cloud information generated by scanning the working environment to a level that can detect whether or not the robot is in conflict with the robot during the working environment of the robot by using a hexahedron or polygon, The amount of data of the work environment model can be greatly reduced, and the load and computation time required for judging the collision of the robot in the work environment can be greatly reduced. Thus, the optimal operation path of the robot corresponding to the user's teaching is provided in real time At the same time, it is possible to guarantee immediate response of the robot model in response to the user's operation.

더하여, 본 발명은 최적 동작 경로 연산시 확률적 로드맵 방법을 기초로 로봇의 자세를 좌표계로 구성한 배위 공간에서 로봇이 취할 수 있는 서로 다른 복수의 자세 각각을 샘플로서 선택하는 샘플링 과정에서 포아송 디스크 샘플링 방식을 적용하여 배위 공간에서 선택된 샘플을 균일하게 분포시킬 수 있어 로봇의 현재 자세로부터 사용자의 교시에 따라 설정된 최종적으로 로봇이 취하는 목표 자세로 움직이기 위한 다양한 로봇의 동작 경로 중 최적의 동작 경로를 자동 산출하여 로봇의 동작에 대한 효율성을 높일 수 있도록 지원하는 동시에, 샘플의 분포를 최적화하여 가장 적은 수의 샘플만으로 배위 공간을 채워 최적 동작 경로의 연산에 대한 연산 속도를 증가시킴으로써 사용자의 교시에 따른 로봇의 동작 설정에 필요한 시간을 단축하여 교시의 실시간성 및 해당 교시에 따른 로봇 모델의 반응성을 향상시킬 수 있도록 지원할 수 있다.In addition, according to the present invention, in the sampling process of selecting a plurality of different postures that can be taken by a robot in a coordinate space in which a posture of a robot is formed as a coordinate system based on a probabilistic roadmap method, The selected sample in the coordination space can be uniformly distributed. Therefore, the optimum motion path among the various robot motion paths is automatically calculated to move from the current posture of the robot to the target posture set by the user according to the teaching of the user Thereby increasing the efficiency of the operation of the robot and optimizing the distribution of the sample to fill the coordinate space with the smallest number of samples to increase the operation speed for the calculation of the optimum operation path, Shorten the time required to set the operation, Real - time performance and responsiveness of the robot model according to the instruction.

이외에도, 본 발명은 직관적인 직접 교시의 장점과 더불어 가상현실에서 직접 교시를 수행할 수 있도록 지원하여, 작업자가 직접 현장에 가지 않아도 되므로 공간의 물리적 한계를 극복하여 언제 어디서나 공간에 구애받지 않고 로봇의 작업을 바로 생성할 수 있을 뿐만 아니라 위험한 환경에서 작업자가 직접 작업할 필요가 없어 작업자의 안전을 보장하는 효과가 있다.In addition, the present invention provides an advantage of intuitive direct teaching and supports direct teaching in a virtual reality so that the operator does not have to go directly to the scene, thereby overcoming the physical limitations of the space, It is possible to directly create a work, and there is no need for a worker to directly work in a dangerous environment, thereby ensuring worker safety.

도 1은 본 발명의 실시예에 따른 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치에 대한 구성도.
도 2 및 도 3은 본 발명의 실시예에 따른 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치의 동작 구성도.
도 4는 본 발명의 실시예에 따른 작업 환경 모델링부의 클러스터링 과정에 대한 예시도.
도 5 및 도 6은 본 발명의 실시예에 따른 작업 환경 모델링부의 클러스터별 평면 여부 판단에 대한 동작 예시도.
도 7 및 도 8은 본 발명의 실시예에 따른 작업 환경 모델링부의 모델링 과정에 대한 동작 예시도.
도 9는 본 발명의 실시예에 따른 작업 환경 모델링부의 모델링을 통해 생성된 작업 환경 모델에 대한 예시도.
도 10 및 도 11은 본 발명의 실시예에 로봇 동작 모델링부의 샘플링 과정에 대한 예시도.
도 12는 본 발명의 실시예에 따른 로봇 동작 모델링부 및 제어부의 최적 동작 경로 산출에 대한 예시도.
도 13은 본 발명의 실시예에 따른 가상 현실 기반 로봇 교시를 위한 시뮬레이션 방법에 대한 순서도.
1 is a block diagram of a simulation apparatus for teaching a virtual reality-based robot according to an embodiment of the present invention;
FIG. 2 and FIG. 3 are operation configuration diagrams of a simulation apparatus for teaching virtual reality-based robots according to an embodiment of the present invention;
FIG. 4 is an exemplary view illustrating a clustering process of a work environment modeling unit according to an embodiment of the present invention; FIG.
FIG. 5 and FIG. 6 are diagrams illustrating an operation example for determining whether or not the work environment modeling unit according to an embodiment of the present invention is planar.
FIG. 7 and FIG. 8 illustrate an operation example of a modeling process of a work environment modeling unit according to an embodiment of the present invention; FIG.
FIG. 9 is an exemplary view of a work environment model generated through modeling of a work environment modeling unit according to an embodiment of the present invention; FIG.
FIG. 10 and FIG. 11 are exemplary views of a sampling process of the robot operation modeling unit according to the embodiment of the present invention. FIG.
FIG. 12 is an exemplary diagram illustrating calculation of an optimal operation path of a robot operation modeling unit and a control unit according to an embodiment of the present invention; FIG.
13 is a flowchart illustrating a simulation method for teaching a virtual reality-based robot according to an embodiment of the present invention.

이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.Hereinafter, detailed embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치(100)에 대한 구성도로서, 도시된 바와 같이 작업 환경 모델링부(110)와, 로봇 동작 모델링부(120) 및 제어부(130)를 포함할 수 있다.1 is a block diagram of a simulation apparatus 100 for teaching virtual reality-based robots according to an embodiment of the present invention. As shown in FIG. 1, a work environment modeling unit 110, a robot operation modeling unit 120, (130).

또한, 상기 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치(이하, 시뮬레이션 장치)(100)는 사용자의 동작을 인식하여 동작 정보를 생성하는 가상현실 인터페이스 장치(20)(또는 가상 현실 장비)와 연동할 수 있으며, 상기 가상현실 인터페이스 장치(20)는 사용자가 착용하는 HMD(Head Mounted Display) 장치, 로봇(robot)의 교시(敎示)를 위한 사용자의 동작을 인식하는 컨트롤러 또는 티치 펜던트(Teach Pendant) 등을 포함할 수 있으며, 상기 가상현실 인터페이스 장치(20)는 영상을 제공(표시)하는 장치 및 사용자의 동작을 인식하는 장치와 같이 복수의 서로 다른 장치로 구성될 수도 있다.In addition, a simulation apparatus (hereinafter, a simulation apparatus) 100 for teaching virtual reality-based robots can interoperate with a virtual reality interface apparatus 20 (or a virtual reality apparatus) that recognizes a user's operation and generates operation information The virtual reality interface device 20 includes an HMD (Head Mounted Display) device worn by a user, a controller or a teach pendant for recognizing a user's operation for teaching a robot And the virtual reality interface device 20 may include a plurality of different devices such as a device for providing (displaying) images and a device for recognizing the operation of a user.

이때, 상기 시뮬레이션 장치(100)는 상기 가상현실 인터페이스 장치(20)와 연결되는 별도의 인터페이스부 또는 통신부를 더 포함할 수 있다.The simulation apparatus 100 may further include a separate interface unit or a communication unit connected to the virtual reality interface unit 20. [

또한, 상기 가상현실 인터페이스 장치(20)는 사용자의 조작에 따른 사용자의 동작에 대한 동작 정보를 생성하거나 사용자의 동작을 자동 인식하여 동작정보를 생성한 후 상기 시뮬레이션 장치(100)로 전송할 수 있다.In addition, the virtual reality interface device 20 may generate operation information on the user's operation according to the user's operation or automatically recognize the operation of the user, generate the operation information, and transmit the generated operation information to the simulation device 100.

상술한 구성을 토대로, 이하 도면을 참고하여 상기 시뮬레이션 장치(100)의 상세 동작 구성을 도 2 및 도 3을 참고하여 설명한다.Based on the above-described configuration, the detailed operation of the simulation apparatus 100 will be described with reference to FIGS. 2 and 3. FIG.

우선, 도 2에 도시된 바와 같이, 상기 작업 환경 모델링부(110)는 로봇의 작업 환경을 스캔(scan)하여 작업 환경에 대한 3차원 스캔정보를 생성하는 3차원 센서(30)로부터 해당 3차원 스캔정보를 수신할 수 있다.2, the work environment modeling unit 110 scans the work environment of the robot to generate three-dimensional scan information for the work environment from the three-dimensional sensor 30, Scan information can be received.

이때, 상기 3차원 스캔정보는 작업 환경에 대한 3차원의 점군(Point-cloud) 정보(또는 점군 데이터)로 구성될 수 있으며, 상기 작업 환경 모델링부(110)는 상기 점군 정보에 포함된 깊이정보를 기반으로 깊이 이미지를 생성할 수 있으며, 상기 깊이 이미지에 미리 설정된 영상 좌표계를 적용할 수 있다.At this time, the 3D scan information may be composed of three-dimensional point-cloud information (or point cloud data) for the work environment, and the work environment modeling unit 110 may include depth information And a predetermined image coordinate system may be applied to the depth image.

또한, 상기 작업 환경 모델링부(110)는 상기 깊이 이미지에 적용된 영상 좌표계에 따른 영상 좌표를 기준으로 상기 점군 정보를 블럭 형태로 클러스터링할 수 있으며, 이를 통해 복수의 서로 다른 클러스터를 생성할 수 있다.In addition, the work environment modeling unit 110 may cluster the point cloud information into block shapes on the basis of image coordinates according to an image coordinate system applied to the depth image, thereby creating a plurality of different clusters.

이때, 상기 복수의 서로 다른 클러스터 상호 간은 동일한 크기를 가질 수 있다.At this time, the plurality of different clusters may have the same size.

이후, 상기 작업 환경 모델링부(110)는 상기 각 클러스터에 대하여 미리 설정된 알고리즘을 통해 상기 클러스터에 속한 점군 정보를 기초로 상기 클러스터의 평면 여부를 판단할 수 있으며, 평면으로 판단된 평면 클러스터에 속한 점군정보를 하나의 평면 다각형이나 평면 육면체로 압축하여 모델링(modeling)할 수 있다.The work environment modeling unit 110 may determine whether the cluster is plane based on the point cloud information belonging to the cluster through a predetermined algorithm for each cluster, The information can be modeled by compressing it into a single plane polygon or a flat hexahedron.

또한, 상기 작업 환경 모델링부(110)는 평면이 아닌 클러스터를 복수의 서로 다른 세부 클러스터로 분할하고, 분할된 클러스터에 대하여 상기 알고리즘에 따라 평면 여부를 판단하여 평면인 클러스터를 상술한 바와 같이 다각형이나 육면체로 압축하여 모델링하고, 평면이 아닌 상기 분할된 클러스터를 재차 분할하여 평면 여부를 판단한 후 상기 다각형이나 육면체로 압축하는 과정을 반복함으로써, 평면이 확인될 때까지 클러스터를 분할할 수 있다.In addition, the working environment modeling unit 110 may divide the non-planar cluster into a plurality of different detailed clusters, determine whether the divided clusters are planar according to the algorithm, and determine whether the planar clusters are polygonal The clusters may be divided until the planes are confirmed by repeating the process of modeling by compressing them into hexahedrons, dividing the divided clusters not the planes again to determine whether they are planar, and compressing them into the polygons or the hexahedron.

이를 통해, 상기 작업 환경 모델링부(110)는 작업 환경에 대응되는 각 클러스터에 속한 점군 정보를 다각형이나 육면체로 압축하여 모델링함으로써, 작업 환경에 대한 점군 정보를 기반으로 작업 환경의 모델링을 통해 생성된 환경 모델 정보의 데이터량을 감소시키는 동시에 작업 환경의 모델링에 소요되는 연산시간을 크게 감소시켜 작업 환경에 대한 신속한 모델링을 지원할 수 있다.Accordingly, the work environment modeling unit 110 compresses the point cloud information belonging to each cluster corresponding to the work environment into a polygon or a hexahedron, and models the work, thereby generating a work environment based on the point cloud information on the work environment, It is possible to reduce the amount of data of the environment model information and greatly reduce the calculation time required for modeling the working environment, thereby supporting rapid modeling of the working environment.

또한, 상기 작업 환경 모델링부(110)는 상기 작업 환경 정보를 상기 제어부(130)로 제공할 수 있다.In addition, the work environment modeling unit 110 may provide the work environment information to the controller 130.

한편, 상기 제어부(130)에는 교시 대상인 로봇을 모델링한 로봇 모델 정보가 미리 저장될 수 있으며, 상기 로봇 모델 정보와 환경 모델 정보를 기초로 실재(實在)하는 작업 환경에서 작업하는 로봇과 작업 환경에 대한 가상 현실 인터페이스 관련 가상 현실 영상을 상기 사용자의 가상현실 인터페이스 장치(20)로 상기 인터페이스부 또는 통신부를 통해 전송할 수 있다.Meanwhile, the controller 130 may store robot model information modeled as a robot to be taught in advance, and may include a robot that operates in a real working environment based on the robot model information and environment model information, A virtual reality interface related virtual reality interface image can be transmitted to the user's virtual reality interface apparatus 20 through the interface unit or the communication unit.

이때, 상기 가상 현실 영상은 3차원 그래픽(graphic) 정보로 구성될 수도 있으며, 로봇 조작에 필요한 각종 인터페이스 관련 정보가 해당 가상 현실 영상에 포함될 수도 있다.At this time, the virtual reality image may be composed of three-dimensional graphic information, and various interface-related information necessary for the robot operation may be included in the corresponding virtual reality image.

또한, 상기 로봇 모델 정보는 상기 로봇의 개별 자세가 상기 로봇 모델에 매핑된 정보가 포함될 수 있다.In addition, the robot model information may include information that the individual posture of the robot is mapped to the robot model.

이를 통해, 사용자가 로봇과 로봇의 실재 작업 환경을 가상 현실을 통해 직관적으로 파악할 수 있도록 제공할 수 있다.Thus, the user can intuitively grasp the real working environment of the robot and the robot through the virtual reality.

한편, 상기 제어부(130)는 상기 사용자의 동작 인식 장치로부터 사용자가 의도하는 작업 동작으로 로봇을 동작시키기 위한 동작 정보를 수신할 수 있으며, 상기 동작 정보를 기초로 상기 로봇의 자세를 인식하여 상기 로봇 모델 정보에 따른 로봇 모델(가상 로봇)의 자세를 상기 사용자의 동작 자세와 상호 작용하도록 변경하고, 상기 동작 정보에 대응되는 로봇의 자세로 설정된 로봇 모델 정보와 상기 환경 모델 정보에 따라 상기 가상 현실 영상을 생성하여 상기 사용자의 가상현실 인터페이스 장치(20)에 실시간으로 제공할 수 있다.Meanwhile, the control unit 130 may receive operation information for operating the robot from the operation recognition apparatus of the user by a user's intended operation, recognize the posture of the robot on the basis of the operation information, (Virtual robot) according to the model information so as to interact with the operation posture of the user, and based on the robot model information set in the posture of the robot corresponding to the operation information and the virtual reality image And provide the real-time information to the user's virtual reality interface device 20.

이에 따라, 가상현실 인터페이스 장치(20)는 가상 현실 영상을 통해 사용자의 동작 자세에 대응되어 로봇 모델의 자세가 변경되도록 영상을 통해 표시하여, 사용자가 로봇의 움직임을 직관적으로 파악할 수 있는 동시에 사용자의 동작에 로봇의 동작이 상호 작용하도록 하여 로봇의 작업 내용 설정에 대한 편의성을 보장할 수 있다.Accordingly, the virtual reality interface device 20 displays images through the virtual reality images so as to change the posture of the robot model corresponding to the user's operation posture, thereby enabling the user to intuitively grasp the motion of the robot, It is possible to ensure the convenience of setting the work contents of the robot by making the actions of the robots interact with each other.

또한, 상기 제어부(130)는 상기 가상현실 인터페이스 장치(20)로부터 사용자의 시선 방향에 대한 시선 정보를 수신할 수 있으며, 상기 환경 모델 정보와 로봇 모델 정보를 기초로 상기 시선 정보에 따른 사용자의 시선 방향에 대응되는 작업 공간 및 장애물에 대한 환경 모델 정보와 로봇 모델 정보에 따른 로봇 모델의 일부를 상기 가상 현실 영상으로 생성하여 상기 가상현실 인터페이스 장치(20)로 제공할 수도 있다. 이때, 상기 시선정보는 상기 동작정보에 포함될 수 있다.In addition, the controller 130 can receive gaze information about the user's gaze direction from the virtual reality interface device 20, and based on the environment model information and the robot model information, And the robot model corresponding to the robot model information may be generated as the virtual reality image and may be provided to the virtual reality interface device 20. [ At this time, the gaze information may be included in the operation information.

상술한 구성을 통해, 상기 제어부(130)는 가상 현실에서 사용자의 동작에 상호 작용하는 로봇의 동작을 기초로 사용자가 의도하는 로봇의 작업 동작에 대한 제어 정보를 생성하여 이를 사용자의 로봇 교시에 따른 정보로서 생성할 수 있으나, 사용자가 가상 현실 인터페이스를 통해 작업 중 로봇과 작업 환경 내에 위치하는 장애물 사이의 충돌이나 로봇의 동작 과정에서 로봇의 양팔이 서로 충돌하는 것과 같은 로봇의 자체적인 충돌을 판단하기 어려우며, 이에 따라 사용자의 교시 과정에서 충돌이 발생하는 로봇의 자세가 포함된 상태로 제어 정보가 생성될 수 있다.The controller 130 generates control information on the operation of the robot intended by the user based on the operation of the robot interacting with the user's operation in the virtual reality, However, it is possible to determine whether the robot itself collides with a robot, such as a collision between the robot and an obstacle located in the working environment, or a collision between the arms of the robot during the operation of the robot through the virtual reality interface So that the control information can be generated in a state in which the attitude of the robot in which the collision occurs is included in the user's teaching process.

따라서, 본 발명은 이러한 충돌을 회피하여 사용자가 의도하는 작업 동작에 대응되는 가장 효율적인 로봇의 작업 동작을 자동 생성할 수 있도록 지원할 수 있는데, 이를 도 1의 제어부(130)의 구성을 토대로 상세히 설명한다.Therefore, the present invention can avoid such a collision to automatically generate the most efficient robot operation operation corresponding to a work operation intended by the user, which will be described in detail based on the configuration of the controller 130 of FIG. 1 .

도시된 바와 같이, 상기 제어부(130)는 동작 인식부(131), 상호작용 검출부(132) 및 영상 생성부(133)를 포함할 수 있다.The control unit 130 may include an operation recognition unit 131, an interaction detection unit 132, and an image generation unit 133, as shown in FIG.

우선, 상기 가상현실 인터페이스 장치(20)는 사용자가 로봇에 대하여 작업 동작을 교시하기 위해 사용자 입력에 따라 사용자의 동작을 자동 인식하여 로봇의 작업 동작이 시작되는 자세인 현재 자세와 로봇의 작업 동작이 종료되는 자세인 목표 자세에 대한 교시 정보를 생성할 수 있으며, 이를 상기 시뮬레이션 장치(100)로 전송할 수 있다.First, the virtual reality interface device 20 automatically recognizes a user's operation according to a user's input in order to instruct a robot about a work operation, so that the current position, which is a posture in which a work operation of the robot starts, It is possible to generate the teaching information on the target attitude, which is the ending attitude, and transmit the teaching information to the simulation apparatus 100.

일례로, 가상현실 인터페이스 장치(20)는 사용자의 머리 및 양손에 대한 위치와 방향을 인식할 수 있으며, 머리의 위치와 방향정보는 가상현실에서의 시각화의 시점 제어에 활용되고 양손의 위치와 방향은 로봇과의 상호작용에 활용될 수 있으며, 이에 대한 정보가 상술한 교시정보 및 동작정보에 포함될 수 있다. 또한, 상기 가상현실 인터페이스 장치(20)는 상기 교시정보의 생성을 위해 사용자의 이벤트를 인식하는 버튼이 장착될 수 있다.For example, the virtual reality interface device 20 can recognize the position and direction of the user's head and both hands, and the position and orientation information of the head can be used to control the viewpoint of visualization in the virtual reality, May be used for interaction with the robot, and information on the information may be included in the above-described teaching information and operation information. In addition, the virtual reality interface device 20 may be equipped with a button for recognizing a user event to generate the teaching information.

상기 가상현실 인터페이스 장치(20)는 직접교시에서와 마찬가지로 가상 현실상에서 로봇 모델의 끝점을 이동하여 로봇을 움직이기 위해 사용자가 손을 이동하여 로봇의 작용점(end-effector)으로 다가간 후 버튼을 눌러 작용점을 구속하는 경우 상기 현재 자세에 대한 자세 정보를 생성하여 기억하고(저장하고), 이후 상기 현재 자세로부터 원하는 위치와 방향으로 손을 움직여 로봇의 작용점을 이동시킬 수 있다.The virtual reality interface device 20 moves the end point of the robot model on the virtual reality to move the robot so that the user moves his / her hand to the end-effector of the robot, The robot can move the point of action of the robot by moving the hand from the current position to a desired position and direction.

이때, 상기 가상현실 인터페이스 장치(20)는 작용점 구속시(이벤트 발생시) 사용자의 자세를 로봇의 교시가 시작되는 로봇의 현재 자세(또는 시작 자세)로 판단하고, 상기 현재 자세에 대한 자세정보를 생성할 수 있다.At this time, the virtual reality interface device 20 determines the posture of the user when the action point is constrained (when an event occurs) as the current posture (or start posture) of the robot where the robot starts teaching, can do.

또한, 가상현실 인터페이스 장치(20)는 사용자의 손의 위치와 로봇 모델의 작용점 간의 거리를 계산하고 유효거리 내에 있을 때 버튼 입력을 확인하여 사용자가 로봇 끝점을 구속하는지 등의 이벤트들을 검출하고 그에 따라 교시를 종료할 수 있다.In addition, the virtual reality interface device 20 calculates the distance between the position of the user's hand and the point of action of the robot model, detects events such as whether the user confirms the button input when the distance is within the effective distance and the user constrains the robot end point, The teaching can be terminated.

이때, 작업자는 가상 현실상에서 로봇 모델의 작용점을 움직일 수도 있지만 로봇 모델을 구성하는 각 관절의 움직임도 직접 제어할 수 있다.At this time, the worker can move the point of action of the robot model on the virtual reality, but also can directly control the motion of each joint constituting the robot model.

이를 통해, 가상현실 인터페이스 장치(20)는 교시 종료에 대응되는 이벤트가 검출되는 경우 해당 이벤트에 대응되어 교시가 종료되는 사용자의 자세에 대응되는 로봇 모델의 목표 자세에 대한 자세정보를 생성할 수 있다.Accordingly, when an event corresponding to the teaching end is detected, the virtual reality interface device 20 can generate posture information on the target posture of the robot model corresponding to the posture of the user corresponding to the event .

이후, 상기 가상현실 인터페이스 장치(20)는 상기 현재 자세 및 목표 자세 각각에 대한 자세정보를 포함하는 교시 정보를 상기 시뮬레이션 장치(100)의 제어부(130)로 전송할 수 있다.Then, the virtual reality interface device 20 can transmit the teaching information including attitude information about the current attitude and the target attitude to the controller 130 of the simulation apparatus 100.

이때, 상기 가상현실 인터페이스 장치(20)는 상기 현재 자세 및 목표 자세 각각에 대한 자세정보를 개별 교시정보로 생성하여 상기 시뮬레이션 장치(100)의 제어부(130)로 전송할 수도 있다. 다시 말해, 상기 가사현실 인터페이스 장치는 현재 자세에 대한 자세정보를 교시정보로 생성하여 상기 제어부(130)로 전송하고, 상기 목표 자세에 대한 자세 정보를 교시정보로 생성하여 상기 제어부(130)로 전송할 수 있다.At this time, the virtual reality interface device 20 may generate attitude information for each of the current attitude and the target attitude as individual teaching information, and may transmit the attitude information to the controller 130 of the simulation apparatus 100. In other words, the virtual reality interface device generates posture information about the current posture as teaching information, transmits the posture information to the control unit 130, generates posture information about the target posture as teaching information, and transmits the generated posture information to the control unit 130 .

이에 따라, 상기 제어부(130)에 포함된 동작 인식부(131)는 상기 교시정보를 수신할 수 있으며, 상기 교시정보에 따른 로봇 모델의 현재 자세와 목표 자세를 인식할 수 있다. 또한, 상기 동작 인식부(131)는 해당 교시정보에 따른 현재 자세와 목표 자세에 대한 정보를 상기 제어부(130)에 포함된 상호작용 검출부(132)로 제공할 수 있다.Accordingly, the motion recognition unit 131 included in the control unit 130 can receive the teaching information, and can recognize the current posture and the target posture of the robot model according to the teaching information. The motion recognition unit 131 may provide information on the current posture and the target posture according to the teaching information to the interaction detection unit 132 included in the control unit 130. [

이때, 상기 동작 인식부(131)는 상기 가상현실 인터페이스 장치(20)로부터 사용자의 동작에 대한 동작 정보와 상기 작용점을 구속하는 이벤트와 같은 입력정보를 수신할 수도 있으며, 해당 동작 정보와 입력정보를 기초로 상기 가상현실 인터페이스 장치(20) 대신 상기 현재 자세와 목표 자세에 대한 교시정보를 생성할 수도 있다.At this time, the motion recognizing unit 131 may receive input information such as an operation information about an operation of a user and an event for restricting the action point from the virtual reality interface apparatus 20, It is possible to generate teaching information on the current posture and the target posture instead of the virtual reality interface device 20 on the basis of the present invention.

즉, 상기 가상 현실 영상이 상기 미리 설정된 로봇 모델 정보를 기반으로 생성되므로 상기 동작 인식부(131)는 상기 가상현실 인터페이스 관련 가상 현실 영상을 기반으로 생성되는 상기 동작 정보 및 입력정보에 따른 사용자가 입력한 자세에 매핑되는 로봇 모델의 자세를 상기 로봇 모델 정보로부터 용이하게 인식(검출)하고, 이를 기반으로 상기 교시정보를 생성할 수 있다.That is, since the virtual reality image is generated based on the preset robot model information, the motion recognition unit 131 recognizes that the operation information and the input information generated based on the virtual reality interface- It is possible to easily recognize (detect) the attitude of the robot model mapped to one attitude from the robot model information, and generate the teaching information based on the attitude.

또한, 상기 가상현실 인터페이스 장치(20)는 현재 자세와 목표 자세 중 적어도 하나를 취소하고 재설정할 수도 있으며, 이에 대한 정보를 상기 시뮬레이션 장치(100)의 제어부(130)로 전송하면, 상기 제어부(130)는 취소가 발생한 자세에 대응되는 교시정보를 삭제하고 새로 수신된 교시정보에 따라 현재 자세와 목표 자세 중 적어도 하나를 재설정할 수도 있다.The virtual reality interface device 20 may cancel at least one of the current attitude and the target attitude and may reset the information. When the information is transmitted to the controller 130 of the simulation apparatus 100, the controller 130 May delete the teaching information corresponding to the posture in which the cancellation has occurred and reset at least one of the current posture and the target posture according to the newly received teaching information.

한편, 상기 제어부(130)에 포함된 상호작용 검출부(132)는 상기 환경 모델 정보와 로봇 모델 정보를 기초로 상기 로봇 모델이 취할 수 있는 개별 자세에 대하여 상기 환경 모델 정보에 따른 환경 모델에 구성된 장애물과의 충돌이 발생하는 자세나 로봇의 양팔이 충돌하는 것과 같은 로봇의 자체적인 충돌이 발생할 수 있는 자세와 같은 충돌 자세를 검출할 수 있으며, 서로 다른 개별 충돌 자세를 취합하여 상기 로봇 동작 모델링부(120)로 충돌 자세 정보로 제공할 수 있다.Meanwhile, the interaction detecting unit 132 included in the control unit 130 determines whether or not an obstacle, which is configured in the environmental model according to the environmental model information, is detected with respect to the individual attitude that the robot model can take based on the environment model information and the robot model information Such as an attitude in which a collision with the robot is caused or a collision between the arms of the robot, such as a posture in which the robot may collide with itself, can be detected, and the robot motion modeling unit 120 as collision posture information.

또한, 상기 상호작용 검출부(132)는 상기 동작 인식부(131)와 연동하여 상기 가상현실 인터페이스 장치(20)로부터 수신된 동작정보에 따른 자세가 상기 충돌 자세에 대응되는 경우 충돌 검출에 대한 알림 정보를 생성하여 상기 가상현실 인터페이스 장치(20)로 제공하고, 상기 가상현실 인터페이스 장치(20)는 해당 알림정보를 가상 현실 영상을 통해 표시할 수 있다.When the posture corresponding to the motion information received from the virtual reality interface device 20 corresponds to the collision posture in cooperation with the motion recognition unit 131, To the virtual reality interface device 20, and the virtual reality interface device 20 can display the corresponding notification information through the virtual reality image.

한편, 상기 로봇 동작 모델링부(120)는 확률적 로드맵 방법(PRM, probabilistic roadmap method)을 기초로 로봇의 개별 자세를 좌표로 표시 가능한(로봇의 개별 자세가 좌표로서 구성되는) 좌표계로 구성된 배위 공간(configuration space)에서 로봇이 취할 수 있는 서로 다른 복수의 자세 각각을 샘플(sample)로서 선택하고, 각 샘플을 트리 구조로 연결하여, 로봇의 현재 자세로부터 사용자의 교시(敎示)에 따른 로봇의 작업 동작에 따라 최종적으로 로봇이 취하는 목표 자세로 로봇이 움직이는 동작 경로에 대한 최단(최적) 경로를 자동 산출하여 시뮬레이션(simulation)할 수 있도록 지원할 수 있으며, 샘플의 분포를 최적화하여 가장 적은 수의 샘플만으로 배위 공간을 채워(커버(cover)하여) 로봇의 동작 관련 최단(최적) 경로(최적 동작 경로 또는 최단 동작 경로)의 연산에 대한 연산 속도를 증가시킴으로써 사용자의 교시에 따른 로봇의 동작 설정에 필요한 시간을 단축하여 교시의 실시간성 및 해당 교시에 따른 로봇의 반응성을 향상시킬 수 있도록 지원한다.On the other hand, the robot operation modeling unit 120 may include a coordinate system (coordinate system) in which the individual postures of the robots can be displayed in coordinates (the individual postures of the robots are configured as coordinates) based on a probabilistic roadmap method a plurality of different postures that can be taken by the robot in the configuration space are selected as samples and the respective samples are connected in a tree structure so that the robot moves from the current posture of the robot to the robot It is possible to automatically calculate and optimize the shortest (optimal) path of the robot's moving path to the target posture that the robot takes at the final stage according to the operation of the robot, and to optimize the distribution of the samples to obtain the smallest number of samples (Optimum operation path or shortest operation path) of the robot by filling the coordinate space only with the coordinate space (cover) By increasing the computation speed, it is possible to shorten the time required to set the operation of the robot according to the user's teaching, thereby improving the real-time performance of the teaching and the responsiveness of the robot according to the teaching.

여기서, 상기 확률적 로드맵 방법은 로봇의 현재 자세와 목표 자세 사이에서 충돌을 회피하면서 로봇의 동작 경로를 설정하기 위한 알고리즘으로서, 로봇에 구성된 서로 다른 복수의 구동축 각각이 좌표 축으로 설정되며 구동 축의 수에 따라 차원수가 결정되는 n 차원의 그래프인 배위 공간을 구성하고, 상기 배위 공간에서 로봇이 취할 수 있는 복수의 서로 다른 자세 각각을 샘플(또는 상기 배위공간 상의 좌표)로서 상기 배위 공간에 설정하여 충돌을 회피하면서 상기 현재 자세에 대응되는 샘플로부터 상기 목표 자세에 대응되는 샘플로 이동시키기 위한 로봇의 최적 동작 경로를 산출하는 널리 알려진 알고리즘이다.Here, the probabilistic roadmap method is an algorithm for setting an operation path of a robot while avoiding a collision between a current posture and a target posture of the robot, wherein each of the plurality of different drive axes configured in the robot is set as a coordinate axis, (Or co-ordinates on the coordinate space) in the coordinate space, and sets a plurality of different postures that the robot can take in the coordinate space in the coordinate space as the sample (or coordinate on the coordinate space) And moving the robot from the sample corresponding to the current attitude to the sample corresponding to the target attitude.

이에 따라, 상기 로봇 동작 모델링부(120)는 상기 제어부(130)로부터 제공되는 상기 충돌 자세 정보를 기초로 충돌이 발생하는 로봇의 자세를 로봇이 취할 수 없는 자세로서 배위 공간에서 제외시킬 수 있으며, 일례로 상기 배위 공간에서 상기 충돌 자세 정보에 따른 각 충돌 자세의 좌표를 제외 좌표(제외 대상 좌표)로서 식별하고, 상기 제외 좌표를 상기 배위 공간에 제한 영역 또는 제한 공간으로 설정할 수 있다.Accordingly, the robot operation modeling unit 120 can exclude the posture of the robot where the collision occurs, based on the collision attitude information provided from the control unit 130, as a posture that the robot can not take, For example, the coordinate of each collision posture according to the collision posture information in the coordinate space may be identified as an exclusion coordinate (exclusion object coordinate), and the exclusion coordinate may be set as a restricted area or a restricted space in the coordination space.

이때, 상기 제한 영역 또는 제한 공간은 하나 이상의 제외 좌표로 구성될 수 있다.At this time, the limited area or the limited space may be composed of one or more negative coordinates.

이에 따라, 상기 로봇 동작 모델링부(120)는 상기 배위 공간에서 제한 영역 또는 제한 공간을 제외한 나머지 공간을 대상으로 확률적 로드맵 방법을 이용하여 상기 로봇에 대응되어 미리 설정된 그래프 정보인 상기 배위 공간을 샘플링(sampling)하여 로봇이 취할 수 있는 서로 다른 복수의 자세 각각에 대응되는 복수의 서로 다른 샘플을 임의로(랜덤(random)하게) 선택할 수 있다.Accordingly, the robot operation modeling unit 120 samples the coordinate space corresponding to the robot, which is preset graph information corresponding to the robot, using the probabilistic roadmap method for the remaining space excluding the limited area or the limited space in the coordinate space (randomly) a plurality of different samples corresponding to each of a plurality of different postures that the robot can take.

이때, 기존에는 확률적 로드맵 방법에 기초하여 배위 공간 상에서 샘플 선택시 유니폼(uniform)하게 배위 공간을 샘플링하여, 배위 공간에서 선택된 샘플의 분포가 균일하지 않고 특정 부분에 집중되어 선택되는 문제가 있었다.At this time, there has been a problem that the distribution of the samples selected in the coordination space is sampled uniformly at the time of sample selection on the coordinate space based on the probabilistic roadmap method, and is concentrated on a specific portion without being uniform.

이에 따라, 배위 공간을 커버하기 위해(채우기 위해) 샘플의 수를 불필요하게 증가시키게 되며, 이로 인해 로봇의 동작 경로 산출에 필요한 연산 시간이 증가하게 된다.This unnecessarily increases the number of samples to cover (fill) the coordinate space, thereby increasing the computation time required to calculate the motion path of the robot.

이를 해결하기 위해, 상기 로봇 동작 모델링부(120)는 포아송(Poisson) 샘플링 방식 중 샘플 영역을 고정 디스크 형상으로 정의하는 포아송 디스크(Poisson disk) 샘플링 방식을 로봇의 경로 산출을 위한 샘플 결정 방식에 적용하여 배위 공간의 샘플 밀도 균일성을 높임으로써 최소한의 샘플 수만으로 최적 경로를 산출할 수 있도록 지원할 수 있다.To solve this problem, the robot operation modeling unit 120 applies a Poisson disk sampling method for defining a sample region as a fixed disk shape among Poisson sampling methods to a sample determination method for path calculation of a robot Thereby increasing the uniformity of the density of the sample in the coordination space. Thus, it is possible to calculate the optimal path with a minimum number of samples.

일례로, 상기 로봇 동작 모델링부(120)는 미리 설정된 포아송 디스크 샘플링 방식에 따라 미리 설정된 그래프 정보인 배위 공간에서 랜덤하게 샘플을 선택하여 배위 공간 전체를 채울(커버할) 수 있으며, 상기 선택된 샘플은 일정한 영역이나 부피를 가지도록 디스크(disk) 반경을 가지는 구체(hard sphere)로 간주(설정)될 수 있다.For example, the robot operation modeling unit 120 may fill (cover) the entire coordinate space by randomly selecting a sample in a coordinate space, which is preset graph information according to a preset Poisson disk sampling method, It can be regarded as a hard sphere having a disk radius to have a certain area or volume.

이에 따라, 상기 로봇 동작 모델링부(120)는 인접한 서로 다른 샘플 사이의 간격이 상기 디스크 반경에 의해 일정 이상을 유지한 상태로 샘플을 선택할 수 있으며, 이를 통해 배위 공간에서 샘플이 특정 영역에 밀집되지 않고 균일하게 분포하도록 복수의 샘플을 선택할 수 있는 동시에 배위 공간을 커버하기 위해 필요한 샘플의 수를 줄일 수 있어 추후 동작 경로 연산에 소요되는 시간을 기존에 비해 크게 단축시킬 수 있다.Accordingly, the robot operation modeling unit 120 can select samples in a state in which the interval between adjacent different samples is maintained at a predetermined value or more by the radius of the disk, and the sample is not concentrated in a specific region in the coordinate space A plurality of samples can be selected so as to be uniformly distributed without reducing the number of samples required to cover the coordinate space and the time required for calculating the operation path can be significantly shortened compared with the conventional method.

이때, 상기 로봇 동작 모델링부(120)는 배위 공간의 크기에 따라 상기 샘플의 수 및 포아송 디스크 방식에 따른 상기 샘플의 디스크 반경 중 어느 하나를 결정할 수 있으며, 이를 기반으로 상기 배위 공간을 채우기(커버하기) 위한 다른 하나를 결정할 수 있다. 또한, 상기 샘플의 수 및 디스크 반경은 상기 로봇 동작 모델링부(120)에 미리 설정될 수도 있다.At this time, the robot operation modeling unit 120 can determine any one of the number of samples and the disk radius of the sample according to the Poisson disk method according to the size of the coordinate space, The other one can be determined. In addition, the number of the samples and the disk radius may be preset in the robot operation modeling unit 120. [

한편, 도 3에 도시된 바와 같이 상기 로봇 동작 모델링부(120)는 상기 배위 공간에서 선택된 샘플을 상기 확률적 로드맵 방법을 기초로 트리 구조를 형성할 수 있으며, 상기 선택된 샘플에 따라 트리 구조가 형성된 배위 공간에 대한 정보를 상기 제어부(130)의 상호작용 검출부(132)로 제공할 수 있다.3, the robot operation modeling unit 120 may form a tree structure based on the probabilistic roadmap method on samples selected in the coordinate space, and a tree structure is formed according to the selected samples And may provide information on the coordination space to the interaction detection unit 132 of the control unit 130.

이에 따라, 상기 상호작용 검출부(132)는 상기 동작 인식부(131)로부터 인식된(생성된) 상기 교시정보에 따른 현재 자세와 목표 자세에 대한 정보를 수신하거나 상기 교시정보를 수신하고, 상기 로봇 동작 모델링부(120)로부터 상기 충돌 자세가 배제된 배위 공간 상의 개별 로봇 자세가 트리 구조로 형성된 배위 공간에 대한 정보를 수신할 수 있다.Accordingly, the interaction detecting unit 132 receives information about the current attitude and the target attitude according to the teaching information recognized (generated) from the motion recognizing unit 131, or receives the teaching information, From the operation modeling unit 120, information about the coordinate space in which the individual robot positions on the coordinate space excluding the collision posture are formed in a tree structure.

이후, 상기 상호작용 검출부(132)는 상기 배위 공간에서 상기 교시정보에 따른 현재 자세와 목표 자세 각각에 대응되는 샘플을 식별할 수 있으며, 상기 현재 자세에 대응되는 샘플로부터 상기 목표 자세에 대응되는 샘플로 이동하기 위한 최단 경로를 상기 확률적 로드맵 방법을 기초로 산출할 수 있다.Hereinafter, the interaction detecting unit 132 may identify a sample corresponding to the current posture and the target posture according to the teaching information in the coordinate space, and may identify a sample corresponding to the target posture from the sample corresponding to the current posture Can be calculated based on the probabilistic roadmap method.

이때, 상기 상호작용 검출부(132)는 상기 배위 공간에서 상기 현재 자세 또는 목표 자세와 일치되는 샘플이 없는 경우 샘플이 없는 현재 자세 또는 목표 자세에 대응되는 배위 공간 상 좌표와 가장 인접한 샘플을 현재 자세 또는 목표 자세에 대응되는 샘플로서 식별할 수도 있다.If there is no sample matching the current posture or the target posture in the coordinate space, the interaction detecting unit 132 determines a sample closest to the coordinates of the coordinate space corresponding to the current posture or the target posture, And may be identified as a sample corresponding to the target posture.

즉, 상기 상호작용 검출부(132)는 사용자의 교시에 따른 로봇의 현재 자세로부터 로봇의 목표 자세로 동작하기(이동하기) 위한 최적의 동작 경로를 상기 최단 경로로서 산출할 수 있으며, 상기 로봇 동작 모델링부(120)와 연동하여 상기 배위 공간에서 충돌 자세를 배제하여 충돌없이 안정적이며 정확하게 사용자가 교시한 작업 동작에 대응되는 로봇의 최적 동작 경로를 산출할 수 있다.That is, the interaction detecting unit 132 may calculate an optimal operation path as the shortest path for operating (moving) from the current posture of the robot according to the user's teaching to the target posture of the robot, It is possible to calculate the optimal operation path of the robot corresponding to the work operation stably and accurately taught by the user without collision by eliminating the collision posture in the coordination space in cooperation with the robot 120.

한편, 상기 상호작용 검출부(132)는 상기 최단 경로를 기초로 사용자의 교시에 대응되어 로봇을 제어하기 위한 제어정보를 생성할 수 있으며, 상기 제어 정보를 상기 시뮬레이션 장치(100)에 구성된 통신부를 통해 로봇(10)에 전송하여 상기 제어 정보가 로봇(10)에 설정되도록 할 수 있다.Meanwhile, the interaction detecting unit 132 may generate control information for controlling the robot in accordance with the user's instruction based on the shortest path, and may transmit the control information through the communication unit configured in the simulation apparatus 100 And transmits the control information to the robot 10 so that the control information can be set in the robot 10.

이때, 상기 제어정보는 상기 로봇(10)이 상기 사용자의 교시에 따라 생성된 상기 최단 경로에 따라 동작되도록 하기 위한 작업 파일로 구성될 수 있다.At this time, the control information may be configured as a work file for allowing the robot 10 to operate according to the shortest path generated according to the user's teaching.

한편, 영상 생성부(133)는 상기 상호작용 검출부(132)와 연동하여 상기 최단 경로를 기초로 상기 사용자의 교시정보에 대응되어 산출된 상기 제어정보를 상기 로봇 모델 정보에 적용하고, 상기 로봇 모델이 상기 제어정보에 따라 동작하는 사용자의 교시와 관련된 로봇 모델의 동작 영상인 가상 현실 영상을 생성하여 상기 가상현실 인터페이스 장치(20)로 전송할 수 있다.Meanwhile, the image generating unit 133 applies the control information calculated corresponding to the user's teaching information to the robot model information based on the shortest path in cooperation with the interaction detecting unit 132, A virtual reality image, which is an operation image of a robot model related to a user's instruction operating according to the control information, can be generated and transmitted to the virtual reality interface device 20.

상술한 구성에서, 상기 상호작용 검출부(132)는 상기 동작 인식부(131)와 연동하여 가상 현실에서 로봇의 동작을 시뮬레이션(simulation)하는 기능을 수행하며 이를 위하여 일반적인 산업용 로봇의 기능과 유사한 모든 기능이 소프트웨어적으로 구현되어 있다. 이때, 상기 상호작용 검출부(132)의 로봇 동작에 대한 시뮬레이션에 있어서 사용자가 작용점을 움직여서 로봇의 동작을 프로그래밍할 때는 작업 환경에 따른 작업 공간(Task space)에서의 역기구학 제어가 수행될 수 있으며, 관절을 직접 움직일 때는 관절공간(Joint space)에서의 제어가 수행될 수 있다.In the above-described configuration, the interaction detecting unit 132 performs a function of simulating the motion of the robot in the virtual reality in cooperation with the motion recognition unit 131, and performs all functions similar to those of a general industrial robot Is implemented in software. At this time, in the simulation of the robot operation of the interaction detecting unit 132, when the user moves the action point and programs the operation of the robot, the inverse kinematic control in the task space according to the work environment can be performed, When moving the joints directly, control in the joint space can be performed.

또한, 상기 영상 생성부(133)는 가상 현실(가상 공간)에서 사용자의 동작에 상호작용하기 위한 로봇 모델의 동작을 실시간으로 시뮬레이션하여 가상 현실 영상을 생성하고, 이를 사용자의 가상현실 인터페이스 장치(20) 중 영상 관련 기기로 전송하여 해당 로봇과 로봇의 작업 환경을 3차원으로 시각화하는 역할을 수행할 수 있다.Also, the image generating unit 133 generates a virtual reality image by simulating the operation of the robot model for interacting with a user's operation in a virtual reality (virtual space) in real time, and transmits the generated virtual reality image to the user's virtual reality interface apparatus 20 ) To visualize the working environment of the robot and the robot in three dimensions.

일례로, 상기 상호작용 검출부(132) 및 영상 생성부(133)는 상호 연동하여 작업자가 로봇의 작용점을 잡은 후 원하는 방향으로 손을 이동하면 그에 따른 로봇의 동작을 미리 설정된 시뮬레이터를 통하여 실시간으로 생성하고 이를 3차원으로 시각화하여 상기 가상현실 인터페이스 장치(20)를 통해 제공함으로써 작업자는 현실에서 직접교시를 통해 로봇을 프로그래밍하는 것과 같은 체험을 할 수 있다.For example, the interaction detecting unit 132 and the image generating unit 133 cooperate with each other to catch a point of action of the robot, move the hand in a desired direction, and generate the motion of the robot in real time through a preset simulator And visualizes it in three dimensions and provides it through the virtual reality interface device 20, whereby the operator can experience the same experience as programming the robot through direct teaching in real life.

상술한 구성에 따라, 본 발명은 로봇과 로봇의 작업 환경을 가상 현실로 구현하여 가상 현실 영상을 제공하고, 해당 가상 현실 영상에 따른 가상 현실상에서 사용자가 로봇의 작업 동작을 실시간으로 확인하면서 편리하게 교시할 수 있도록 지원하여 직관적인 교시가 가능하도록 지원하는 동시에 로봇의 자세 중 작업 환경 내에 위치하는 장애물이나 로봇의 자체적인 충돌이 발생할 수 있는 자세를 자동 배제하여 사용자에 의한 로봇의 작업 동작에 대한 교시에 대응되어 충돌이 발생하지 않는 로봇의 최적 동작 경로를 산출하여 안정적이고 정확한 사용자의 교시에 대응되는 로봇의 작업 동작이 로봇에 설정될 수 있도록 지원함으로써 전문가의 도움 없이도 로봇 교시를 용이하게 수행할 수 있도록 지원할 수 있다.According to the above-described configuration, the present invention realizes a working environment of a robot and a robot as a virtual reality to provide a virtual reality image, and enables a user to conveniently check the operation of the robot in real time on the virtual reality according to the virtual reality image In addition to supporting the intuitive teaching by supporting the teaching, it is also possible to automatically exclude an obstacle that is located in the working environment of the robot or the self collision of the robot, It is possible to calculate the optimal operation path of the robot in which the collision does not occur so that the operation of the robot corresponding to the stable and accurate teaching of the user can be set in the robot, .

또한, 본 발명은 로봇의 작업 환경에 대한 모델링시 로봇과의 충돌 여부를 검출할 수 있는 수준으로 작업 환경을 스캔하여 생성한 점군 정보를 평면 여부의 판단을 통해 육면체나 다각형으로 압축하여 모델링함으로써, 작업 환경 모델의 데이터량을 크게 줄일 수 있어 작업 환경 내에서 로봇의 충돌 판단에 요구되는 부하와 연산 시간을 크게 감소시킬 수 있으며, 이를 통해 사용자의 교시에 대응되는 로봇의 최적 동작 경로를 실시간으로 제공하는 동시에 사용자의 동작에 대응되어 로봇 모델의 즉각적인 반응이 이루어지도록 보장할 수 있다.In addition, the present invention compresses the point cloud information generated by scanning the working environment to a level that can detect whether or not the robot is in conflict with the robot during the working environment of the robot by using a hexahedron or polygon, The amount of data of the work environment model can be greatly reduced, and the load and computation time required for judging the collision of the robot in the work environment can be greatly reduced. Thus, the optimal operation path of the robot corresponding to the user's teaching is provided in real time At the same time, it is possible to guarantee immediate response of the robot model in response to the user's operation.

더하여, 본 발명은 최적 동작 경로 연산시 확률적 로드맵 방법을 기초로 로봇의 자세를 좌표계로 구성한 배위 공간에서 로봇이 취할 수 있는 서로 다른 복수의 자세 각각을 샘플로서 선택하는 샘플링 과정에서 포아송 디스크 샘플링 방식을 적용하여 배위 공간에서 선택된 샘플을 균일하게 분포시킬 수 있어 로봇의 현재 자세로부터 사용자의 교시에 따라 설정된 최종적으로 로봇이 취하는 목표 자세로 움직이기 위한 다양한 로봇의 동작 경로 중 최적 동작 경로를 자동 산출하여 로봇의 동작에 대한 효율성을 높일 수 있도록 지원하는 동시에, 샘플의 분포를 최적화하여 가장 적은 수의 샘플만으로 배위 공간을 채워 최적 동작 경로의 연산에 대한 연산 속도를 증가시킴으로써 사용자의 교시에 따른 로봇의 동작 설정에 필요한 시간을 단축하여 교시의 실시간성 및 해당 교시에 따른 로봇 모델의 반응성을 향상시킬 수 있도록 지원할 수 있다.
In addition, according to the present invention, in a sampling process of selecting, as samples, a plurality of different postures that can be taken by a robot in a coordinate space in which a posture of a robot is formed as a coordinate system based on a probabilistic roadmap method in calculating an optimal operation path, , It is possible to uniformly distribute the selected samples in the coordination space. Therefore, the optimal motion path is automatically calculated from the robot's current posture to the target posture set by the user according to the user's teaching, It is possible to improve the efficiency of the robot operation and to optimize the distribution of the sample to fill the coordinate space with the smallest number of samples to increase the operation speed for the calculation of the optimum operation path, Shorten the time required for setting, Time and the responsiveness of the robot model according to the teachings.

한편, 상술한 구성에서, 상기 작업 환경 모델링부(110)의 상세 구성을 이하 도면을 통해 설명한다.In the above-described configuration, the detailed configuration of the working environment modeling unit 110 will be described with reference to the drawings.

도 1에 도시된 바와 같이, 상기 작업 환경 모델링부(110)는 입력부(111), 클러스터링부(112), 평면 판단부(113) 및 모델링부(114)를 포함할 수 있다.1, the work environment modeling unit 110 may include an input unit 111, a clustering unit 112, a plane determination unit 113, and a modeling unit 114.

우선, 상기 입력부(111)는 3차원 센서(30)를 통해 로봇(robot)의 작업 환경을 구성하는 작업 공간 및 장애물 등을 스캔하여 생성된 3차원의 점군(Point-cloud) 정보(또는 점군 데이터)를 입력으로 수신하고, 해당 점군 정보를 상기 클러스터링부(112)로 제공할 수 있다.First, the input unit 111 receives three-dimensional point-cloud information (or point-cloud data) generated by scanning a work space constituting a working environment of a robot and obstacles through the three-dimensional sensor 30, As input, and provide the corresponding point group information to the clustering unit 112.

이때, 상기 작업 환경 모델링부(110)는 상기 3차원 센서(30)를 포함하는 센서부를 더 포함하여 구성될 수도 있으며, 상기 센서부는 작업 환경을 스캔하여 상기 3차원의 점군 정보를 생성할 수 있다.The work environment modeling unit 110 may further include a sensor unit including the 3D sensor 30. The sensor unit may scan the work environment to generate the 3D point cloud information .

또한, 상기 작업 환경은 로봇의 작업 공간과 상기 작업 공간 중 일부 공간을 점유하고 있는 장애물 등을 포함할 수 있으며, 해당 장애물은 시설 설비 등을 포함할 수 있다.In addition, the working environment may include an obstacle occupying a part of the working space of the robot and the working space, and the obstacle may include facilities and the like.

한편, 도 4에 도시된 바와 같이 상기 클러스터링부(112)는 상기 점군 정보에 포함된 깊이정보를 기반으로 깊이 이미지를 생성할 수 있으며, 상기 깊이 이미지에 대하여 미리 설정된 영상 좌표계를 적용할 수 있다.Meanwhile, as shown in FIG. 4, the clustering unit 112 may generate a depth image based on the depth information included in the point cloud information, and may apply a predetermined image coordinate system to the depth image.

또한, 상기 클러스터링부(112)는 상기 깊이 이미지에 적용된 영상 좌표계에 따른 영상 좌표를 기준으로 상기 점군 정보를 블럭(block) 형태로 클러스터링(clustering)할 수 있으며, 이를 통해 복수의 서로 다른 클러스터(cluster)를 생성할 수 있다.In addition, the clustering unit 112 may clusters the point cloud information in a block form on the basis of image coordinates according to an image coordinate system applied to the depth image, Can be generated.

이때, 상기 클러스터링부(112)는 상기 클러스터의 크기를 다양하게 구성할 수 있으며, 일반적으로 상기 클러스터의 크기는

Figure 112016127543115-pat00001
픽셀(pixel) 단위로 구성할 수 있다.At this time, the clustering unit 112 may configure the sizes of the clusters in various ways. In general,
Figure 112016127543115-pat00001
It can be configured in pixel units.

일례로, 상기 클러스터링부(112)는 상기 깊이 이미지에 좌표계를 적용하여 블럭 형태를 구성하는 서로 다른 복수의 영상 좌표를 클러스터링하여 상기 블럭 형태에 대응되는 클러스터를 생성할 수 있다.For example, the clustering unit 112 may generate a cluster corresponding to the block shape by clustering a plurality of different image coordinates constituting a block shape by applying a coordinate system to the depth image.

기존의 모델링 방법에서 점들의 3차원 위치정보를 이용하는 것에 비해 본 발명은 영상 좌표만을 이용하므로 간단하고 신속하게 점군 정보를 클러스터로 나눌 수 있다. In contrast to the conventional modeling method using three-dimensional position information of points, the present invention can divide the point cloud information into clusters easily and quickly because only the image coordinates are used.

한편, 상기 평면 판단부(113)는 상기 클러스터링부(112)와 연동하여 상기 복수의 서로 다른 클러스터 각각에 대한 평면 여부를 확인하고, 평면이 아닌 경우 상기 평면이 아닌 블럭 형태의 클러스터를 동일 크기를 가진 서로 다른 복수의 블럭으로 분할하여 평면 여부를 재확인함으로써, 평면이 완성될 때까지 클러스터를 분할하여 세분화하는 과정을 반복할 수 있다.The plane determining unit 113 checks whether the plurality of different clusters are planar or not in cooperation with the clustering unit 112. If the plane is not a plane, It is possible to repeat the process of dividing and dividing the cluster until the plane is completed.

이를 도 5 및 도 6을 참고로 상세히 설명하면, 상기 평면 판단부(113)는 상기 클러스터링부(112)로부터 상기 각 클러스터에 대한 정보를 수신할 수 있다.5 and 6, the planar determination unit 113 may receive the information on the clusters from the clustering unit 112. [0050]

또한, 도 5에 도시된 바와 같이 상기 평면 판단부(113)는 특정 클러스트에 대하여 상기 특정 클러스터를 구성하는 영상 좌표 영역에 속한 점군 정보를 취합하여 데이터 행렬을 구성할 수 있다.As shown in FIG. 5, the plane determiner 113 may construct a data matrix by collecting point cloud information belonging to an image coordinate region constituting the specific cluster with respect to a specific cluster.

일례로, 상기 평면 판단부(113)는 상기 영상 좌표 영역에 속한 복수의 서로 다른 점(

Figure 112016127543115-pat00002
)으로 구성된 점군 정보를 이용하여 하기의 수학식 1과 같은 데이터 행렬(
Figure 112016127543115-pat00003
)을 생성할 수 있다.For example, the plane determination unit 113 may determine a plurality of points (for example,
Figure 112016127543115-pat00002
) Using the point group information composed of the data matrix < RTI ID = 0.0 >
Figure 112016127543115-pat00003
Can be generated.

Figure 112016127543115-pat00004
Figure 112016127543115-pat00004

상기 데이터 행렬은 도시된 바와 같이 클러스터의 영상 좌표 영역에 속한 M개의 점(

Figure 112016127543115-pat00005
)으로 구성된 점군 정보를 이용하여 구성되며, 상기 x, y, z는 점군 정보에 따른 점의 좌표를 의미할 수 있다.As shown in the figure, the data matrix includes M points (
Figure 112016127543115-pat00005
), And x, y, and z may be coordinates of a point according to the point cloud information.

또한, 도 6(a)에 도시된 바와 같이 상기 평면 판단부(113)는 하기 수학식 2를 통해 상기 M개의 점(p)으로 구성된 상기 데이터 행렬(

Figure 112016127543115-pat00006
)의 중심점(
Figure 112016127543115-pat00007
)을 산출할 수 있다. 이때, 상기 p와
Figure 112016127543115-pat00008
는 상호 동일할 수 있다.6 (a), the plane determiner 113 determines the data matrix (m) composed of the M points (p) through the following equation (2)
Figure 112016127543115-pat00006
) ≪ / RTI &
Figure 112016127543115-pat00007
) Can be calculated. At this time,
Figure 112016127543115-pat00008
May be mutually identical.

Figure 112016127543115-pat00009
Figure 112016127543115-pat00009

이후, 도 6(b)에 도시된 바와 같이 상기 평면 판단부(113)는 특이값 분해를 위해 미리 설정된 특이값 분해 관련 좌표계의 원점을 상기 데이터 행렬(

Figure 112016127543115-pat00010
)의 중심점(
Figure 112016127543115-pat00011
)과 일치시키기 위하여 하기 수학식 3을 통해 상기 데이터 행렬(
Figure 112016127543115-pat00012
)의 중심점(
Figure 112016127543115-pat00013
)을 기준으로 상기 데이터 행렬을 구성하는 각 점(
Figure 112016127543115-pat00014
)을 이동시켜 상기 원점과 중심점이 일치된 데이터 행렬(
Figure 112016127543115-pat00015
)을 생성할 수 있다.6 (b), the plane determining unit 113 determines the origin of the coordinate system related to the singular value decomposition, which is set in advance for singular value decomposition,
Figure 112016127543115-pat00010
) ≪ / RTI &
Figure 112016127543115-pat00011
) ≪ / RTI > to the data matrix < RTI ID = 0.0 >
Figure 112016127543115-pat00012
) ≪ / RTI &
Figure 112016127543115-pat00013
) ≪ / RTI > of the data matrix < RTI ID = 0.0 >
Figure 112016127543115-pat00014
) To move the origin and the center point of the data matrix (
Figure 112016127543115-pat00015
Can be generated.

다시 말해, 상기 평면 판단부(113)는 상기 데이터 행렬(

Figure 112016127543115-pat00016
)의 중심점(
Figure 112016127543115-pat00017
)이 원점이 되도록 상기 중심점을 기준으로 상기 데이터 행렬(
Figure 112016127543115-pat00018
)을 이동시켜 상기 원점과 중심점이 일치된 데이터 행렬(
Figure 112016127543115-pat00019
)을 생성할 수 있다.In other words, the plane determination unit 113 determines that the data matrix
Figure 112016127543115-pat00016
) ≪ / RTI &
Figure 112016127543115-pat00017
) Is the origin, the data matrix (
Figure 112016127543115-pat00018
) To move the origin and the center point of the data matrix (
Figure 112016127543115-pat00019
Can be generated.

Figure 112016127543115-pat00020
Figure 112016127543115-pat00020

이후, 도 6(c)에 도시된 바와 같이 상기 평면 판단부(113)는 상기 특정 클러스터에 대응되는 데이터 행렬의 중심점(중심 좌표)을 상기 특이값 분해 관련 좌표계의 원점으로 이동시켜 생성한 데이터 행렬(

Figure 112016127543115-pat00021
)에 대하여 하기 수학식 4에 따른 미리 설정된 특이값 분해(SVD: Singular Value Decomposition)를 수행하여 상기 특정 클러스터에 대응되는 데이터 행렬의 랭크(rank)를 구할 수 있다.6 (c), the plane determiner 113 determines a data matrix (center) generated by moving the center point (center coordinate) of the data matrix corresponding to the specific cluster to the origin of the singular value decomposition related coordinate system, (
Figure 112016127543115-pat00021
(SVD) according to Equation (4) to obtain the rank of the data matrix corresponding to the specific cluster.

Figure 112016127543115-pat00022
Figure 112016127543115-pat00022

이때, y=Ax라는 선형변환에서 A를 상기 수학식 4의

Figure 112016127543115-pat00023
로 나타낼 수 있으며, 이에 따라 상기 S는 특이값 행렬로서 변환시 가감되는 이득을 대각행렬 형태로 나타낸 것이며, U는 출력측 특이벡터로서 특이값이 나오는 출력 y의 방향벡터를 나타낸 것이고, V는 입력측 특이벡터로서 특이값이 나오는 입력 x의 방향벡터를 나타낸 것이다.At this time, in the linear transformation y = Ax,
Figure 112016127543115-pat00023
Where S is a singular value matrix, and a gain in the diagonal matrix is represented by a diagonal matrix. U denotes a direction vector of an output y having a singular value as an output-side singular vector, and V denotes an input side singular vector And the direction vector of the input x having the singular value is shown.

일례로, 상기 평면 판단부(113)는 상기 특이값 분해를 통해 얻어지는 특이값의 수를 연산하고, 상기 특이값의 수를 통해 얻어진 데이터 행렬의 랭크(rank)를 판단하여 상기 특정 클러스터를 구성하는 점군에 속한 점들의 분포가 평면을 구성하는지 여부를 판단할 수 있다. For example, the plane determiner 113 may calculate the number of singular values obtained through the singular value decomposition, determine the rank of the data matrix obtained through the number of singular values, It can be determined whether or not the distribution of the points belonging to the point cloud constitutes a plane.

즉, 상기 데이터 행렬의 랭크는 데이터 분포의 차원을 나타내므로 1이라면 점군이 직선의 형태로 분포하고 있으며 랭크가 2이면 점군이 하나의 평면에 분포하고 있으며, 랭크가 3이면 3차원 공간에 분포하고 있음을 나타낸다.That is, since the rank of the data matrix indicates the dimension of the data distribution, the point cloud is distributed in the form of a straight line if the value is 1 and the point cloud is distributed in one plane if the rank is 2. If the rank is 3, .

이때, 데이터 행렬의 크기는

Figure 112016127543115-pat00024
으로 최대 랭크는 3이며, 상기 평면 판단부(113)는 상기 데이터 행렬의 랭크를 0이 아닌(0을 제외한) 특이값의 수를 세어서 파악할 수 있다.At this time, the size of the data matrix is
Figure 112016127543115-pat00024
, The maximum rank is 3, and the plane determiner 113 can grasp the rank of the data matrix by counting the number of non-zero (exclusive of 0) singular values.

상술한 구성을 통해, 상기 평면 판단부(113)는 클러스터링된 서로 다른 복수의 클러스터 각각에 대응되는 복수의 서로 다른 점군 정보들에 대하여 하나의 평면에 분포하는지 여부를 판단할 수 있으며, 이를 통해 서로 다른 복수의 클러스터 각각에 대하여 상술한 바에 따라 평면 여부를 판단할 수 있다.Through the above-described configuration, the plane determination unit 113 can determine whether or not a plurality of different point group information corresponding to a plurality of different clusters are distributed in one plane, It is possible to determine whether each of the other plurality of clusters is flat according to the above description.

또한, 상술한 구성을 통해 특정 클러스터에 속한 M개의 점으로 구성된 점군 정보가 하나의 평면에 분포하고 있다면 특정한 파라미터(예를 들면, 평면 방정식 및 꼭짓점 정보, 또는 면의 중심 좌표 및 변의 길이 등)로 표현할 수 있으므로 M이 클수록 점군 정보에 대한 압축효과가 커지게 된다.If the point group information composed of M points belonging to a specific cluster is distributed in one plane through the above-described configuration, the specific information (for example, the plane equation and the corner information, the center coordinates of the surface, The larger the M is, the larger the compression effect on the point cloud information becomes.

한편, 상술한 구성에서 작업 공간을 스캔하는 3차원 센서(30)의 정보는 잡음을 포함하고 있어 특이값이 정확하게 0이 되지 않을 수 있으므로, 상기 평면 판단부(113)는 미리 설정된 특정 임계치 이하의 값은 0이라고 판단할 수 있으며, 상기 임계치는 센서의 정확도 및 측정 잡음의 크기에 따라 상이하게 설정될 수 있다.Meanwhile, in the above-described configuration, the information of the three-dimensional sensor 30 that scans the work space may contain noises and the singular value may not be exactly 0. Therefore, the plane determination unit 113 may determine The value may be determined to be 0, and the threshold value may be set differently according to the accuracy of the sensor and the magnitude of the measurement noise.

또한, 클러스터 내에 공간상 불연속되는 영역이 있을 때 점들의 분포가 한 평면에 분포하지 않더라도 랭크가 2로 나타나는 경우가 있어 점들이 한 평면에 적절하게 분포되는지 검사할 필요가 있다. 랭크가 2로 판별된 클러스터는 첫 번째 특이값(

Figure 112016127543115-pat00025
)과 두 번째 특이값(
Figure 112016127543115-pat00026
)의 비율을 확인함으로써 한 평면에 분포하는지 판별할 수 있다.Also, when there is a spatially discontinuous region in the cluster, the rank may be 2 even though the distribution of the points is not distributed in one plane, and it is necessary to check whether the points are appropriately distributed in one plane. The cluster with rank 2 is identified by the first singular value (
Figure 112016127543115-pat00025
) And the second singular value (
Figure 112016127543115-pat00026
), It is possible to discriminate whether or not they are distributed in one plane.

따라서, 상기 평면 판단부(113)는 하기 수학식 5와 같은 판단 기준으로 상기 특정 클러스터에 대응되는 데이터 행렬에 대한 특이값 분해를 통해 얻어진 파라미터가 하기 수학식 5를 만족하는지 여부에 따라 상기 특정 클러스터 내 점군의 분포가 평면으로 구성되는지 판단할 수 있으며, 이를 통해 상기 특정 클러스터의 평면 여부를 판단할 수 있다.Therefore, the plane determiner 113 determines whether the parameter obtained through the singular value decomposition of the data matrix corresponding to the specific cluster satisfies Equation (5) according to the following Equation (5) It is possible to determine whether the distribution of the inner point group is made up of planes, thereby determining whether the specific cluster is flat or not.

여기서, 수학식 4와 수학식 5의

Figure 112016127543115-pat00027
,
Figure 112016127543115-pat00028
,
Figure 112016127543115-pat00029
는 크기 순서대로 표현된 데이터 행렬의 특이값이며, ε는 랭크 판별을 위한 임계치이고, μ는 평면의 가로와 세로의 비율에 대한 임계치를 각각 나타낸다.In Equation (4) and Equation (5)
Figure 112016127543115-pat00027
,
Figure 112016127543115-pat00028
,
Figure 112016127543115-pat00029
Is a singular value of a data matrix expressed in magnitude order,? Is a threshold value for rank discrimination, and? Represents a threshold value for the ratio of the horizontal to vertical length of the plane, respectively.

Figure 112016127543115-pat00030
Figure 112016127543115-pat00030

상술한 구성을 통해, 상기 평면 판단부(113)는 서로 다른 복수의 클러스터 각각에 대하여 평면 여부를 판단할 수 있다.Through the above-described configuration, the plane determining unit 113 can determine whether each of the plurality of clusters is flat or not.

한편, 상기 평면 판단부(113)는 상기 특정 클러스터가 평면이 아닌 것으로 판명된 경우 미리 설정된 비율로 상기 특정 클러스터를 복수의 서로 다른 세부 클러스터로 분할할 수 있으며, 상기 각 세부 클러스터에 대하여 상술한 수학식 1 내지 5를 포함하는 상기 클러스터의 평면 여부 판단을 위한 과정을 적용하고, 평면이 아닌 세부 클러스터를 상기 평면이 아닌 클러스터와 마찬가지로 분할하는 상술한 과정을 적용할 수 있다.If the specific cluster is found not to be planar, the plane determiner 113 may divide the specific cluster into a plurality of different sub-clusters at a preset ratio, It is possible to apply the above process of dividing the detailed clusters other than the planes as in the case of the clusters instead of the planes by applying the process for determining whether or not the clusters including the equations 1 to 5 are planar.

이때, 상기 평면 판단부(113)는 특정 클러스터에서 서로 다른 복수의 세부 클러스터로 분할시 상기 특정 클러스터에서 분할되는 복수의 서로 다른 세부 클러스터가 상호 동일 크기를 가지도록 상기 특정 클러스터를 분할할 수 있다.At this time, the plane determination unit 113 may divide the specific cluster so that a plurality of different sub-clusters divided in the specific cluster have the same size when divided into a plurality of different sub-clusters in a specific cluster.

또한, 상기 평면 판단부(113)는 평면이 아닌 것으로 판단된 특정 클러스터에 클러스터 정보를 상기 클러스터링부(112)로 제공하고, 상기 클러스터링부(112)에서 평면이 아닌 상기 특정 클러스터를 상술한 바와 같이 세부 클러스터로 분할하여 각 세부 클러스터에 대한 정보를 다시 평면 판단부(113)로 제공할 수도 있으며, 상기 클러스터링부(112)와 실시간 연동하여 상기 평면이 아닌 클러스터를 복수의 세부 클러스터로 분할할 수도 있다.The plane determining unit 113 provides the cluster information to the clustering unit 112 in a specific cluster determined not to be a plane, and the specific cluster, which is not a plane in the clustering unit 112, Information about each sub-cluster may be divided into sub-clusters, and the information about each sub-cluster may be provided to the planarization unit 113. The non-planar cluster may be divided into a plurality of sub-clusters in real time in cooperation with the clustering unit 112 .

더하여, 상기 평면 판단부(113)는 상기 세부 클러스터에 대하여 상술한 구성을 적용하여 평면 여부를 판단할 수 있으며, 상기 세부 클러스터가 평면이 아닌 경우 다시 해당 세부 클러스터를 미리 설정된 비율로 분할할 수 있으며, 상기 세부 클러스터에서 분할된 클러스터에 대해 평면 여부를 판단하고 평면이 아닌 경우 다시 분할된 클러스터를 재차 분할할 수 있다.In addition, the planar determination unit 113 may determine whether the detailed cluster is planar by applying the above-described configuration. If the detailed cluster is not a plane, the planar determination unit 113 may divide the detailed cluster again at a preset ratio , It is possible to determine whether the cluster is divided in the detailed cluster, and to divide the cluster again if it is not a plane.

즉, 상기 평면 판단부(113)는 평면이 나타날 때까지 클러스터를 반복하여 분할할 수 있다.That is, the plane determination unit 113 can repeatedly divide the cluster until a plane appears.

이에 따라, 상기 평면 판단부(113)는 특정 클러스터에 대하여 평면이 나타날 때까지 분할을 반복할 수 있으며, 이를 통해 평면만으로 구성된 복수의 서로 다른 클러스터(분할된 클러스터 포함)를 생성할 수 있다.Accordingly, the plane determination unit 113 can repeat the division until a plane appears for a specific cluster, thereby generating a plurality of different clusters (including divided clusters) composed only of a plane.

이후, 상기 평면 판단부(113)는 평면으로 구성된 각 클러스트(분할된 클러스터 포함)에 대한 클러스터 정보를 상기 모델링부(114)로 제공할 수 있다.Then, the plane determination unit 113 may provide the modeling unit 114 with cluster information for each of the clusters (including the divided clusters) formed in a plane.

이때, 상기 평면 판단부(113)는 클러스터의 최소 크기가 미리 설정될 수 있으며, 분할을 통해 생성된 세부 클러스터(또는 분할된 클러스터)가 상기 최소 크기에 해당되는 경우 평면 여부에 대한 판단 없이 최소 크기에 해당되는 클러스터에 대한 정보를 상기 모델링부(114)로 제공할 수도 있다.In this case, the minimum size of the cluster may be set in advance by the plane determination unit 113. If the detailed cluster (or divided cluster) generated through the partitioning corresponds to the minimum size, And provides the modeling unit 114 with information on the cluster corresponding to the cluster.

한편, 상기 모델링부(114)는 평면으로 판단된 클러스터(분할된 클러스터 포함)에 대한 상기 클러스터 정보에 포함된 점군 정보를 기초로 상기 점군 정보를 육면체 또는 다각형으로 표시(모델링)할 수 있다.Meanwhile, the modeling unit 114 may display (model) the point cloud information in a hexahedron or a polygon based on the point cloud information included in the cluster information for clusters (including the divided clusters) determined as planar.

일례로, 도 7에 도시된 바와 같이 상기 모델링부(114)는 미리 설정된 OBB(Oriented Bounding Box) 알고리즘을 기반으로 특정 클러스터에 대응되는 상기 점군 정보를 육면체로 모델링할 수 있다.For example, as shown in FIG. 7, the modeling unit 114 may model the point cloud information corresponding to a specific cluster in a hexahedron based on a predetermined OBB (Oriented Bounding Box) algorithm.

상기 OBB는 물체의 표현을 육면체로 하며, OBB를 기반으로 생성된 서로 다른 객체 간 충돌을 빠르게 검출할 수 있어 게임과 같은 실시간 처리에 많이 활용되는 방법이다.The OBB uses a representation of an object as a hexahedron and can quickly detect collision between different objects generated on the basis of the OBB, thereby being widely used for real-time processing such as a game.

즉, 상기 모델링부(114)는 특정 클러스터에 대응되는 데이터 행렬의 특이값 분해를 통해 얻은 정보를 이용하여 육면체의 중심 위치, 넓이, 높이, 깊이에 대한 정보, 그리고 그(육면체의 넓이, 높이, 깊이)에 대한 방향 벡터로 표현된 OBB 정보를 생성할 수 있으며, 이를 통해 로봇의 작업 환경을 구성하는 작업 공간에 배치된 특정 장애물이나 작업공간의 구조를 구성하는 평면을 상기 OBB 정보를 기초로 입체적으로 구성할 수 있다.That is, the modeling unit 114 uses the information obtained through the singular value decomposition of the data matrix corresponding to a specific cluster to obtain information on the center position, width, height, and depth of the hexahedron, Depths) of the obstacles in the work space through which the specific obstacles or the planes constituting the structure of the work space arranged in the work space constituting the working environment of the robot can be generated based on the OBB information, .

이때, 상기 육면체의 중심 위치는 상기 수학식 2의 데이터 행렬의 중심점 정보(

Figure 112016127543115-pat00031
)를 이용하여 산출되며, 육면체의 넓이, 높이, 깊이는 각각 특이값
Figure 112016127543115-pat00032
,
Figure 112016127543115-pat00033
,
Figure 112016127543115-pat00034
가 된다. At this time, the center position of the hexahedron is the center point information of the data matrix of Equation (2)
Figure 112016127543115-pat00031
), And the width, height, and depth of the hexahedron are respectively calculated by using a specific value
Figure 112016127543115-pat00032
,
Figure 112016127543115-pat00033
,
Figure 112016127543115-pat00034
.

또한, 넓이, 높이, 깊이에 대한 방향 벡터는 특이값 분해를 통해 얻은 입력벡터 행렬 V의 열 벡터(column vector)가 되며, V = [

Figure 112016127543115-pat00035
Figure 112016127543115-pat00036
Figure 112016127543115-pat00037
]로 나타낼 수 있다.In addition, the direction vector for the width, height, and depth is a column vector of the input vector matrix V obtained by singular value decomposition, and V = [
Figure 112016127543115-pat00035
Figure 112016127543115-pat00036
Figure 112016127543115-pat00037
].

한편, 도 8에 도시된 바와 같이 상기 모델링부(114)는 평면을 구성하는 상기 클러스터 정보에 따른 점군정보를 다각형으로 모델링할 수도 있다.Meanwhile, as shown in FIG. 8, the modeling unit 114 may model the point cloud information according to the cluster information constituting the plane as a polygon.

일례로, 상기 모델링부(114)는 삼각형과 사각형 중 어느 하나를 기반으로 다각형으로 모델링할 수 있는데, 삼각형으로 모델링하는 방법은 상기 평면으로 판단된 클러스터에 속한 점들 중 영상좌표에서의 모서리 정보에 해당하는 점을 삼각형의 꼭짓점으로 저장할 수 있다.For example, the modeling unit 114 may model a polygon based on any one of a triangle and a quadrangle. A method of modeling a triangle may include mapping the edge information in the image coordinate among the points belonging to the cluster determined as the plane Can be stored as a corner point of a triangle.

또한, 상기 모델링부(114)는 사각형으로 모델링하기 위해 클러스터에서 모서리 점의 3차원 정보를 평면에 다시 투영하여 이 정보를 사각형의 꼭짓점으로 저장할 수 있다.In addition, the modeling unit 114 may project the three-dimensional information of the corner point on the plane again in the cluster to model the square, and store the information as a corner of the rectangle.

이때, 모서리의 점을 평면으로 다시 투영하는 이유는 점군 정보가 잡음을 포함하고 있어서 평면에 속하는 점군 정보가 일반적으로 추정된 평면에서 랜덤하게 떨어져서 분포하고 있을 수 있으며, 이로 인해 모서리의 점 관련 정보를 그대로 이용하면 꼭지점에 잡음이 같이 반영되어서 이를 제거하고자 평면에 다시 한번 투영함으로써 정확한 평면 위의 점으로 변환하여 모서리 정보로 활용하기 위함이다.In this case, the point of the corner is projected back to the plane because the point cloud information includes noise, so that the point cloud information belonging to the plane may be distributed at random in the estimated plane, and the point related information of the corner If it is used as it is, the noise is reflected in the vertex so that it is projected again on the plane in order to remove it, so that it is converted into a point on the exact plane and utilized as edge information.

이를 위하여, 상기 모델링부(114)는 하기 수학식 6과 같이 먼저 특이값 분해를 통해 얻은 입력 벡터의 방향을 나타내는 상기 V 행렬에서 세 번째 특이값에 해당되는 V의 열 벡터(column vector)와 클러스터의 중심 좌표(중심점)를 통해 평면방정식을 구한다.In order to do this, the modeling unit 114 first calculates the column vector of V corresponding to the third singular value in the V matrix representing the direction of the input vector obtained through the singular value decomposition as shown in Equation (6) (Center point) of the center of gravity.

Figure 112016127543115-pat00038
Figure 112016127543115-pat00038

다음, 상기 모델링부(114)는 하기 수학식 7을 통해 클러스터의 모서리 점의 x, y 정보를 평면방정식에 넣어 z를 구하여 평면에 투영된 점에 대한 x, y, z를 점의 좌표로서 구하여 사각형의 꼭짓점 정보로 저장할 수 있다.Next, the modeling unit 114 obtains z by putting x, y information of a corner point of the cluster into a plane equation through the following expression (7), and obtains x, y, z as coordinates of a point projected on a plane It can be stored as rectangle corner information.

Figure 112016127543115-pat00039
Figure 112016127543115-pat00039

상술한 구성을 통해, 상기 모델링부(114)는 도 9에 도시된 바와 같이 로봇의 작업 환경을 구성하는 작업 공간 및 장애물에 대한 모델링을 통해 작업 환경 모델에 대한 모델 정보를 생성할 수 있으며, 도 9(a)는 OBB를 통해 생성한 작업 환경 모델에 대한 예시도이며, 도 9(b)는 다각형을 기반으로 모델링한 작업 환경 모델에 대한 예시도이다.
9, the modeling unit 114 can generate model information on the work environment model through modeling of the work space and the obstacle that constitute the work environment of the robot, 9 (a) is an example of a work environment model generated through an OBB, and FIG. 9 (b) is an example of a work environment model modeled based on a polygon.

한편, 상기 로봇 동작 모델링부(120)의 상세 구성을 이하 도면을 통해 설명한다.The detailed configuration of the robot operation modeling unit 120 will be described below with reference to the drawings.

우선, 도 1에 도시된 바와 같이, 상기 로봇 동작 모델링부(120)는 샘플링부(121) 및 트리 생성부(122)를 포함할 수 있다.First, as shown in FIG. 1, the robot operation modeling unit 120 may include a sampling unit 121 and a tree generating unit 122.

상기 로봇 동작 모델링부(120)는 확률적 로드맵 방법(PRM, probabilistic roadmap method)을 기초로 로봇의 개별 자세를 좌표로 표시 가능한 좌표계로 구성된 배위 공간(configuration space)에서 로봇이 취할 수 있는 서로 다른 복수의 자세 각각을 샘플(sample)로서 선택하여 선택된 샘플을 이용한 트리 구조를 형성함으로써, 로봇의 현재 자세로부터 사용자의 교시(敎示)에 따른 로봇의 작업 동작에 따라 최종적으로 로봇이 취하는 목표 자세로 로봇이 움직이는 동작 경로에 대한 최단(최적) 경로를 자동 산출하여 시뮬레이션(simulation)할 수 있도록 지원하는 동시에, 샘플의 분포를 최적화하여 가장 적은 수의 샘플만으로 배위 공간을 채워(커버(cover)하여) 최단 경로의 연산에 대한 연산 속도를 증가시킴으로써 사용자의 교시에 따른 로봇의 동작 설정에 필요한 시간을 단축하여 교시의 실시간성 및 해당 교시에 따른 로봇의 반응성을 향상시킬 수 있도록 지원한다.The robot operation modeling unit 120 may be configured to perform a robot movement modeling based on a probabilistic roadmap method (PRM) by using a plurality of different robots that can be taken by a robot in a configuration space configured by a coordinate system, The robot is moved from the current position of the robot to the target position taken by the robot according to the operation of the robot according to the user's teaching, (Optimal) path for the moving motion path can be automatically calculated and simulated, and the distribution of the sample can be optimized to fill the coordinate space with the smallest number of samples (cover) By increasing the computation speed for the computation of the path, the time required for the operation setting of the robot according to the user's teaching is shortened Support to improve the responsiveness of the robot according to the real-time and its teachings than teaching.

이때, 상기 확률적 로드맵 방법은 로봇의 현재 자세와 목표 자세 사이에서 충돌을 회피하면서 로봇의 동작 경로를 설정하기 위한 알고리즘으로서, 로봇에 구성된 서로 다른 복수의 구동축 각각이 좌표 축으로 설정되며 구동 축의 수에 따라 차원수가 결정되는 n 차원의 그래프인 배위 공간을 구성하고, 상기 배위 공간에서 로봇이 취할 수 있는 복수의 서로 다른 자세 각각을 샘플(또는 상기 배위공간 상의 좌표)로서 상기 배위 공간에 설정하여 충돌을 회피하면서 상기 현재 자세에 대응되는 샘플로부터 상기 목표 자세에 대응되는 샘플로 이동시키기 위한 로봇의 최적 동작 경로를 산출하는 널리 알려진 알고리즘이다.At this time, the probabilistic roadmap method is an algorithm for setting an operation path of a robot while avoiding a collision between a current posture and a target posture of the robot, wherein each of the plurality of different drive axes configured in the robot is set as a coordinate axis, (Or co-ordinates on the coordinate space) in the coordinate space, and sets a plurality of different postures that the robot can take in the coordinate space in the coordinate space as the sample (or coordinate on the coordinate space) And moving the robot from the sample corresponding to the current attitude to the sample corresponding to the target attitude.

상기 샘플링부(121)는 확률적 로드맵 방법을 이용하여 상기 로봇에 대응되어 미리 설정된 그래프 정보인 배위 공간을 샘플링(sampling)하여 로봇이 취할 수 있는 서로 다른 복수의 자세 각각에 대응되는 복수의 서로 다른 샘플을 임의로(랜덤(random)하게) 선택할 수 있다.The sampling unit 121 samples a coordinate space corresponding to the robot and is preset graph information by using a probabilistic roadmap method so that a plurality of different The sample can be selected arbitrarily (randomly).

이때, 도 10(a)에 도시된 바와 같이 기존에는 확률적 로드맵 방법에 기초하여 배위 공간 상에서 샘플 선택시 유니폼(uniform)하게 배위 공간을 샘플링하여, 배위 공간에서 선택된 샘플의 분포가 균일하지 않고 특정 부분에 집중되어 선택되는 문제가 있었다.In this case, as shown in FIG. 10 (a), a coordinate space is uniformly sampled when a sample is selected on a coordinate space based on a probabilistic roadmap method, so that distribution of samples selected in the coordinate space is not uniform There was a problem in that it was concentrated on the part.

이에 따라, 배위 공간을 커버하기 위해(채우기 위해) 샘플의 수를 불필요하게 증가시키게 되며, 이로 인해 로봇의 동작 경로 산출에 필요한 연산 시간이 증가하게 된다.This unnecessarily increases the number of samples to cover (fill) the coordinate space, thereby increasing the computation time required to calculate the motion path of the robot.

이를 해결하기 위해, 상기 샘플링부(121)는 포아송(Poisson) 샘플링 방식 중 샘플 영역을 고정 디스크 형상으로 정의하는 포아송 디스크(Poisson disk) 샘플링 방식을 로봇의 경로 산출을 위한 샘플 결정 방식에 적용하여 배위 공간의 샘플 밀도 균일성을 높임으로써 최소한의 샘플 수만으로 최적 경로를 산출할 수 있도록 지원할 수 있다.In order to solve this problem, the sampling unit 121 applies a Poisson disk sampling method for defining a sample region as a fixed disk shape among Poisson sampling methods to a sample determination method for path calculation of a robot, By increasing the uniformity of the sample density of the space, it is possible to calculate the optimal path with a minimum number of samples.

일례로, 도 11에 도시된 바와 상기 샘플링부(121)는 미리 설정된 포아송 디스크 샘플링 방식에 따라 미리 설정된 그래프 정보인 배위 공간에서 랜덤하게 샘플을 선택할 수 있으며, 상기 선택된 샘플은 일정한 영역이나 부피를 가지도록 디스크 반경을 가지는 구체(hard sphere)로 간주(설정)될 수 있다.For example, as shown in FIG. 11, the sampling unit 121 may randomly select a sample in a coordinate space, which is preset graph information according to a preset Poisson disk sampling method, and the selected sample has a predetermined area or volume It can be regarded as a hard sphere having a disk radius.

이에 따라, 상기 샘플링부(121)는 도 10(b)에 도시된 바와 같이 인접한 서로 다른 샘플 사이의 간격이 상기 디스크 반경에 의해 일정 이상을 유지한 상태로 샘플을 선택할 수 있으며, 이를 통해 배위 공간에서 샘플이 특정 영역에 밀집되지 않고 균일하게 분포하도록 복수의 샘플을 선택할 수 있는 동시에 배위 공간을 커버하기 위해 필요한 샘플의 수를 줄일 수 있어 추후 동작 경로 연산에 소요되는 시간을 기존에 비해 크게 단축시킬 수 있다.10 (b), the sampling unit 121 can select samples in a state in which the interval between adjacent different samples is maintained at a certain level or more by the radius of the disk, It is possible to select a plurality of samples so that the sample is uniformly distributed without being concentrated in a specific region and at the same time, the number of samples required to cover the coordinate space can be reduced, .

이때, 상기 샘플링부(121)는 배위 공간의 크기에 따라 상기 샘플의 수 및 포아송 디스크 방식에 따른 상기 샘플의 디스크 반경 중 어느 하나를 결정하고, 이를 기반으로 상기 배위 공간을 채우기(커버하기) 위한 다른 하나를 결정할 수 있다. 또한, 상기 샘플의 수 및 디스크 반경 중 적어도 하나가 상기 샘플링부(121)에 미리 설정될 수도 있다.At this time, the sampling unit 121 determines one of the number of the samples and the disk radius of the sample according to the Poisson disk method according to the size of the coordinate space, You can decide the other one. Also, at least one of the number of the samples and the radius of the disc may be set in the sampling unit 121 in advance.

일례로, 상기 샘플링부(121)는 상기 샘플의 수를 결정하고, 결정된 샘플의 수에 따라 상기 배위 공간을 채우기 위해 필요한 상기 디스크 반경을 산출할 수 있다.In one example, the sampling unit 121 may determine the number of the samples and calculate the disk radius required to fill the coordinate space according to the determined number of samples.

이때, 상기 샘플링부(121)는 하기 수학식 8을 통해 상기 배위 공간에서 선택되는 샘플의 수를 결정할 수 있다.At this time, the sampling unit 121 may determine the number of samples to be selected in the coordinate space according to Equation (8).

Figure 112016127543115-pat00040
Figure 112016127543115-pat00040

이때, N은 샘플 노드수(샘플의 수),

Figure 112016127543115-pat00041
는 최적 구의 패킹 밀도(optimal sphere packing density),
Figure 112016127543115-pat00042
는 디스크 반경(poisson disk sampling 반경), n은 상기 배위공간의 차원, Γ(x)는 감마함수, vol(Q)는 상기 배위 공간의 부피일 수 있다.At this time, N is the number of sample nodes (the number of samples)
Figure 112016127543115-pat00041
Is the optimal sphere packing density,
Figure 112016127543115-pat00042
(X) is a gamma function, and vol (Q) is a volume of the coordinate space.

또한, 상기 샘플링부(121)는 하기 수학식 9를 통해 포아송 디스크 방식을 통해 선택된 샘플의 디스크 반경을 결정할 수 있다.Also, the sampling unit 121 may determine the disk radius of the selected sample through the Poisson disk method using the following equation (9).

Figure 112016127543115-pat00043
Figure 112016127543115-pat00043

이때, N은 샘플 노드수(샘플의 수),

Figure 112016127543115-pat00044
는 최적 구의 패킹 밀도(optimal sphere packing density),
Figure 112016127543115-pat00045
는 디스크 반경(poisson disk sampling 반경), n은 상기 배위공간의 차원, Γ(x)는 감마함수, vol(Q)는 상기 배위 공간의 부피일 수 있다.At this time, N is the number of sample nodes (the number of samples)
Figure 112016127543115-pat00044
Is the optimal sphere packing density,
Figure 112016127543115-pat00045
(X) is a gamma function, and vol (Q) is a volume of the coordinate space.

이에 따라, 상기 샘플링부(121)는 상술한 샘플링 과정을 반복하여 배위 공간 전체에 대하여 복수의 샘플을 선택할 수 있다.Accordingly, the sampling unit 121 can repeat the above-described sampling process to select a plurality of samples for the entire coordinate space.

상술한 바와 같이, 상기 샘플링부(121)는 확률적 로드맵 방법에 따른 샘플링 과정에서 포아송 샘플링 알고리즘을 적용하여 기존의 유니폼 방식에 따른 샘플링보다 적은 수의 샘플로 배위 공간 전체를 커버할 수 있으며, 이를 통해 기존보다 더욱 최적화된 로봇의 동작 경로를 찾을 수 있도록 지원할 수 있다.As described above, the sampling unit 121 may cover the entire coordinate space with a smaller number of samples than the sampling according to the conventional uniform method by applying the Poisson sampling algorithm in the sampling process according to the probabilistic roadmap method. It is possible to find out the robot's motion path more optimized than the conventional one.

한편, 도 12(a)에 도시된 바와 같이 상기 트리 생성부(122)는 상기 샘플링부(121)와 연동하여 상기 배위 공간에서 선택된 복수의 서로 다른 샘플 중 인접한 서로 다른 샘플 사이를 상기 확률적 로드맵 방법에 따라 상호 연결하여 트리(tree) 구조를 형성할 수 있다.12 (a), the tree generating unit 122 generates a tree between adjacent samples among a plurality of different samples selected in the coordinate space in cooperation with the sampling unit 121, And can form a tree structure by interconnecting them according to a method.

이때, 상술한 바와 같이, 상기 샘플링부는 상기 상호작용 검출부(132)로부터 상기 충돌 자세 정보를 수신하고, 상기 배위 공간에 작업 환경에 배치된 장애물이나 로봇의 구동 구조에 따라 상기 로봇이 취할 수 없는 자세(일례로, 장애물과의 충돌이 발생하는 자세 또는 로봇의 내부 구조에 따른 로봇 자체의 충돌이 발생하는 자세)에 대한 제한 영역 또는 제한 공간을 설정할 수 있다.At this time, as described above, the sampling unit receives the collision attitude information from the interaction detecting unit 132, and controls the attitude of the obstacle disposed in the working environment or the attitude that the robot can not take (For example, a posture in which a collision with an obstacle occurs, or a posture in which the robot itself collides with an internal structure of the robot) can be set.

이에 따라, 상기 샘플링부(121)는 상기 배위 공간 중 상기 제한 영역 또는 제한 공간을 제외한 나머지를 대상으로 상술한 바와 같이 샘플링하여 복수의 서로 다른 샘플을 임의 선택할 수 있다. 또한, 상기 트리 생성부(122)는 상기 확률적 로드맵 방법에 따라 상기 샘플링부(121)를 통해 선택된 샘플을 상호 연결하여 트리를 형성할 수 있다.Accordingly, the sampling unit 121 can sample a plurality of different samples as described above with respect to the rest of the coordinate space excluding the limited region or the limited space. In addition, the tree generating unit 122 may connect the selected samples through the sampling unit 121 according to the probabilistic roadmap method to form a tree.

한편, 상기 제어부(130)에 구성된 상호작용 검출부(132)는 도 12(a)에 도시된 바와 같이 상기 샘플링부(121) 및 상기 트리 생성부(122) 중 적어도 하나와 연동하여 상기 배위 공간에 분포된 복수의 샘플 중 상기 교시 정보에 따른 현재 자세(A) 및 목표 자세(B)에 각각 대응되는 서로 다른 복수의 샘플을 식별할 수 있다.12 (a), the interaction detecting unit 132 included in the control unit 130 may operate in conjunction with at least one of the sampling unit 121 and the tree generating unit 122, A plurality of different samples corresponding to the current posture A and the target posture B according to the teaching information among the plurality of distributed samples can be identified.

이때, 상기 교시정보는 상기 로봇의 현재 자세와 목표 자세 각각에 대한 자세정보를 포함할 수 있으며, 상기 로봇의 현재 자세는 로봇의 동작이 시작되는 시작 자세를 의미하고, 상기 로봇의 목표 자세는 상기 시작 자세로부터 동작하여 로봇의 동작이 종료되는 자세를 의미할 수 있다.Here, the teaching information may include attitude information about the current posture and the target posture of the robot, the current posture of the robot means a start posture at which the robot starts to move, It may mean an attitude that operates from the starting posture and ends the motion of the robot.

또한, 상기 상호작용 검출부(132)는 상기 배위 공간에서 트리 구조로 연결된 복수의 샘플을 기초로 상기 트리 구조를 이용하여 상기 현재 자세(A) 및 목표 자세(B) 각각에 대응되는 서로 다른 복수의 샘플 사이의 최단 경로(최단 동작 경로 또는 최적 동작 경로)를 산출할 수 있다.Also, the interaction detecting unit 132 may detect a plurality of different samples corresponding to the current posture A and the target posture B using the tree structure based on a plurality of samples connected in a tree structure in the coordination space The shortest path (the shortest operation path or the optimum operation path) between the samples can be calculated.

상술한 구성에 따라, 본 발명은 도 12(a)와 같이 사용자의 교시에 따라 로봇이 현재 자세(A)로부터 목표 자세(B)로 이동하기 위한 최단 동작 경로를 제공할 수 있으며, 이를 통해 도 12(b)와 같이 기존의 샘플링 방식에 따라 산출되는 비효율적인 동작 경로를 배제하여 로봇의 동작 효율을 크게 향상시킬 수 있을 뿐만 아니라 최단 동작 경로의 산출에 필요한 샘플의 수를 최소화하여 최단 동작 경로의 산출에 요구되는 부하와 연산 시간을 크게 단축시킬 수 있다.According to the above-described configuration, the present invention can provide a shortest path for moving the robot from the current posture A to the target posture B according to the user's teaching as shown in Fig. 12 (a) 12 (b), it is possible to greatly improve the operation efficiency of the robot by excluding the inefficient operation path calculated according to the conventional sampling method, and to minimize the number of samples required for calculation of the shortest operation path, The load required for calculation and the calculation time can be greatly shortened.

이를 통해, 본 발명은 로봇의 효율적인 동작 경로에 산출시 요구되는 부하와 연산 시간을 감소시켜, 수시로 변화하는 작업 현장에 대해서도 용이하게 사용자의 교시에 즉각적으로 반응하여 로봇의 동작을 실시간으로 수정하거나 설정할 수 있도록 지원함으로써, 로봇의 동작 설정에 대한 실시간성 및 직접 반응성을 효과적으로 개선시킬 수 있다.
Accordingly, it is an object of the present invention to reduce the load and computation time required for calculating an efficient operation path of the robot, and to promptly change the operation of the robot in real time, So that the real-time performance and the direct reactivity to the robot operation setting can be effectively improved.

도 13은 본 발명의 실시예에 따른 로봇의 교시를 위한 사용자의 가상현실 인터페이스 장치(20)와 연동하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치(100)의 가상 현실 기반 로봇 교시를 위한 시뮬레이션 방법에 대한 순서도이다.13 is a simulation method for teaching a virtual reality-based robot of a simulation apparatus 100 for teaching a virtual reality-based robot in association with a user's virtual reality interface apparatus 20 for teaching a robot according to an embodiment of the present invention FIG.

우선, 상기 시뮬레이션 장치(100)는 3차원 센서(30)를 통해 작업 환경을 스캔하여 생성된 점군 정보를 수신하고, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어진 깊이 이미지의 좌표를 기준으로 클러스터링하여 평면 클러스터를 다각형이나 육면체로 모델링하여 용량이 축소된 작업 환경에 대한 환경 모델 정보를 생성할 수 있다(S1).First, the simulation apparatus 100 receives the point cloud information generated by scanning the working environment through the three-dimensional sensor 30, clusters based on the coordinates of the depth image obtained based on the depth information according to the point cloud information The planar cluster can be modeled as a polygon or a hexahedron to generate environment model information for a reduced-capacity work environment (S1).

또한, 상기 시뮬레이션 장치(100)는 상기 로봇의 개별 자세가 좌표로 설정된 미리 설정된 배위 공간에서 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 충돌이 발생하는 로봇의 자세를 제외한 나머지를 대상으로 포아송 디스크(Poisson disk) 샘플링 방식으로 임의 샘플로 채워 상기 로봇의 동작 경로 산출을 위한 트리 구조를 형성할 수 있다(S2).In addition, the simulation apparatus 100 may be configured to perform a simulation on the basis of the environment model information and the robot model information in a predetermined coordinate space in which the individual posture of the robot is set to coordinates, Poisson disk) sampling method to form a tree structure for calculating the operation path of the robot (S2).

다음, 상기 시뮬레이션 장치(100)는 상기 환경 모델 정보 및 상기 로봇에 대한 미리 설정된 로봇 모델 정보를 기초로 가상 현실 인터페이스에 대한 영상을 생성하여 상기 가상현실 인터페이스 장치(20)를 통해 제공하며(S3), 상기 가상현실 인터페이스 장치(20)로부터 로봇 교시를 위한 사용자의 현재 자세와 목표 자세를 포함하는 교시정보를 수신할 수 있다(S4).Next, the simulation apparatus 100 generates an image of the virtual reality interface based on the environment model information and the preset robot model information about the robot, and provides the image through the virtual reality interface apparatus 20 (S3) , And receives teaching information including the user's current posture and the desired posture for robot teaching from the virtual reality interface device (S4).

이후, 상기 시뮬레이션 장치(100)는 상기 교시정보 및 상기 트리 구조를 기초로 상기 로봇을 상기 현재 자세로부터 목표자세로 이동시키기 위한 최단 경로를 생성하고, 상기 최단 경로를 상기 로봇 모델 정보에 반영하여 생성한 영상을 제공할 수 있다(S5).
Thereafter, the simulation apparatus 100 generates a shortest path for moving the robot from the current posture to the target posture based on the teaching information and the tree structure, and reflects the shortest path to the robot model information It is possible to provide one image (S5).

본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.The various devices and components described herein may be implemented by hardware circuitry (e.g., CMOS-based logic circuitry), firmware, software, or a combination thereof. For example, it can be implemented utilizing transistors, logic gates, and electronic circuits in the form of various electrical structures.

전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or essential characteristics thereof. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: 시뮬레이션 장치 110: 작업 환경 모델링부
111: 입력부 112: 클러스터링부
113: 평면 판단부 114: 모델링부
120: 로봇 동작 모델링부 121: 샘플링부
122: 트리 생성부 130: 제어부
131: 동작 인식부 132: 상호작용 검출부
133: 영상 생성부
100: simulation apparatus 110: work environment modeling unit
111: input unit 112: clustering unit
113: plane determination unit 114: modeling unit
120: Robot motion modeling unit 121: Sampling unit
122: tree generating unit 130:
131: motion recognition unit 132: interaction detection unit
133:

Claims (10)

로봇의 교시를 위한 사용자의 가상현실 인터페이스 장치와 연동하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치에 있어서,
3차원 센서를 통해 작업 환경을 스캔하여 생성된 점군 정보를 수신하고, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어진 깊이 이미지의 좌표를 기준으로 상기 점군 정보를 블럭 형태로 클러스터링하여 평면 클러스터를 다각형이나 육면체로 모델링하여 용량이 축소된 작업 환경에 대한 환경 모델 정보를 생성하는 작업 환경 모델링부;
상기 로봇의 개별 자세가 좌표로 설정된 미리 설정된 배위 공간을 포아송 디스크(Poisson disk) 샘플링 방식으로 임의 샘플로 채워 상기 로봇의 동작 경로 산출을 위한 트리 구조를 형성하는 로봇 동작 모델링부; 및
상기 환경 모델 정보 및 상기 로봇에 대한 미리 설정된 로봇 모델 정보를 기초로 가상 현실 인터페이스에 대한 영상을 생성하여 상기 가상현실 인터페이스 장치를 통해 제공하며, 상기 가상현실 인터페이스 장치로부터 로봇 교시를 위한 사용자의 현재 자세와 목표 자세를 포함하는 교시정보를 수신하고, 상기 로봇 동작 모델링부 및 상기 작업 환경 모델링부와 연동하여 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 충돌이 발생하는 로봇의 자세가 제외된 상기 트리 구조를 형성하며, 상기 트리 구조를 기초로 상기 로봇을 상기 현재 자세로부터 목표자세로 이동시키기 위한 최적 경로를 산출한 후 상기 최적 경로를 상기 로봇 모델 정보에 반영하여 생성한 영상을 제공하는 제어부
를 포함하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
1. A simulation apparatus for teaching a virtual reality-based robot interlocked with a user's virtual reality interface apparatus for teaching a robot,
The point cloud information is clustered on the basis of the coordinates of the depth image obtained on the basis of the depth information according to the point cloud information to form a plane cluster as a polygon A work environment modeling unit for modeling the work environment model to generate environment model information for a work environment reduced in capacity;
A robot operation modeling unit that forms a tree structure for calculating the operation path of the robot by filling a preset coordinate space in which the individual postures of the robot are set in coordinates with arbitrary samples by a Poisson disk sampling method; And
A virtual reality interface unit for generating an image of a virtual reality interface based on the environment model information and preset robot model information about the robot and providing the virtual reality interface through the virtual reality interface unit, And a robot controller for receiving the teaching information including the robot model information and the robot model information in cooperation with the robot modeling unit and the working environment modeling unit, And a controller for calculating an optimal path for moving the robot from the current posture to the target posture based on the tree structure and reflecting the optimal path to the robot model information to provide a generated image,
Based virtual reality robot.
청구항 1에 있어서,
상기 작업 환경 모델링부는 상기 클러스터별로 평면 여부를 확인하며, 평면이 아닌 클러스터를 평면이 확인될 때까지 세분화하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
Wherein the work environment modeling unit verifies whether each of the clusters is planar, and classifies clusters that are not planar, until a plane is confirmed.
청구항 1에 있어서,
상기 작업 환경 모델링부는
로봇의 작업 환경을 스캔하여 생성된 상기 점군 정보를 수신하는 입력부;
상기 점군 정보에 따른 깊이 정보를 기반으로 얻어지는 깊이 이미지의 좌표를 기준으로 상기 점군 정보를 블럭 형태로 클러스터링하는 클러스터링부;
각 클러스터의 영상 좌표 영역에 속하는 점군의 데이터 행렬을 구성하고 해당 데이터 행렬의 랭크를 통해 평면 분포 여부를 확인하여 클러스터의 평면 여부를 판단하고 평면이 아닌 경우 클러스터를 세분화하여 재확인하는 평면 판단부; 및
평면으로 판단된 클러스터를 평면 다각형이나 육면체로 모델링하여 데이터량을 줄이는 모델링부
를 포함하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
The work environment modeling unit
An input unit for receiving the point cloud information generated by scanning the working environment of the robot;
A clustering unit for clustering the point cloud information in a block form based on coordinates of a depth image obtained based on depth information according to the point cloud information;
A planar determination unit configured to construct a data matrix of a point group belonging to an image coordinate region of each cluster, determine whether the planar region is a plane through the rank of the data matrix, determine whether the planar region is planar, And
A modeling unit for modeling the clusters determined by the plane as a plane polygon or a hexahedron to reduce the amount of data
Wherein the virtual reality-based robot teaching system comprises:
청구항 1에 있어서,
상기 제어부는 상기 최적 경로 생성시 상기 로봇의 개별 자세가 매핑되며 상기 로봇을 모델링한 미리 설정된 로봇 모델 정보를 기초로 상기 교시 정보에 따른 사용자의 동작과 상호 작용하도록 상기 최적 경로에 따른 상기 로봇 모델 정보에 따른 로봇 모델의 동작을 영상으로 생성하여 상기 가상현실 인터페이스 장치로 전송하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
Wherein the control unit maps the individual posture of the robot at the time of generating the optimal path and generates the robot model information corresponding to the optimal path so as to interact with the user's operation based on the preset robot model information modeled by the robot And transmits the generated motion image to the virtual reality interface device.
청구항 1에 있어서,
상기 제어부는 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 로봇의 개별 자세에 대하여 로봇과 상기 작업 환경 사이의 충돌이나 로봇의 자체적인 충돌 여부를 검출하고, 충돌이 검출되는 충돌 자세를 취합하여 상기 배위 공간에 상기 충돌 자세에 대응되는 제한 영역 또는 제한 공간을 설정하며,
상기 로봇 동작 모델링부는 상기 배위 공간에서 상기 제한 영역 또는 제한 공간을 제외한 나머지를 대상으로 상기 임의 샘플로 채우는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
The control unit detects collision between the robot and the working environment or whether the robot itself collides with the individual posture of the robot based on the environment model information and the robot model information, collects the collision posture in which the collision is detected, Sets a restricted area or a limited space corresponding to the collision posture in the space,
Wherein the robot operation modeling unit fills the arbitrary sample with respect to the rest space excluding the limited area or the limited space in the coordinate space.
청구항 1에 있어서,
상기 제어부는 상기 최적 경로 연산시 미리 설정된 확률적 로드맵 방법(PRM, probabilistic roadmap method)을 기초로 상기 최적 경로를 연산하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
Wherein the controller calculates the optimal path based on a preset probabilistic roadmap method (PRM) in the optimal path calculation.
청구항 1에 있어서,
상기 로봇 동작 모델링부는
상기 배위 공간에서 임의로 선택되는 상기 임의 샘플을 상기 포아송 디스크(Poisson disk) 샘플링 방식으로 선택하며, 샘플링 과정을 반복하여 상기 배위 공간 전체에 대한 샘플을 선택하는 샘플링부; 및
상기 선택된 샘플을 기준으로 트리 구조를 형성하는 트리 생성부
를 포함하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
The robot motion modeling unit
A sampling unit for selecting the arbitrary sample arbitrarily selected in the coordinate space by the Poisson disk sampling method and repeating the sampling process to select a sample for the entire coordinate space; And
A tree generating unit for forming a tree structure based on the selected sample,
Wherein the virtual reality-based robot teaching system comprises:
청구항 1에 있어서,
상기 제어부는 사용자의 교시에 대응되는 상기 최적 경로를 기초로 로봇의 동작을 제어하기 위한 제어 정보를 생성하는 것을 특징으로 하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method according to claim 1,
Wherein the control unit generates control information for controlling the operation of the robot on the basis of the optimum path corresponding to the user's teaching.
청구항 8에 있어서,
상기 로봇과의 연결을 위한 통신부를 더 포함하며,
상기 제어부는 상기 제어 정보를 상기 통신부를 통해 상기 로봇에 전송하여 상기 제어 정보에 대응되는 상기 최적 경로에 따른 작업 동작이 상기 로봇에 설정되도록 하는 것을 특징으로 하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 장치.
The method of claim 8,
And a communication unit for connection with the robot,
Wherein the control unit transmits the control information to the robot through the communication unit so that a work operation according to the optimum path corresponding to the control information is set in the robot.
로봇의 교시를 위한 사용자의 가상현실 인터페이스 장치와 연동하는 시뮬레이션 장치의 가상 현실 기반 로봇 교시를 위한 시뮬레이션 방법에 있어서,
3차원 센서를 통해 작업 환경을 스캔하여 생성된 점군 정보를 수신하고, 상기 점군 정보에 따른 깊이 정보를 기반으로 얻어진 깊이 이미지의 좌표를 기준으로 상기 점군 정보를 블럭 형태로 클러스터링하여 평면 클러스터를 다각형이나 육면체로 모델링하여 용량이 축소된 작업 환경에 대한 환경 모델 정보를 생성하는 단계;
상기 로봇의 개별 자세가 좌표로 설정된 미리 설정된 배위 공간에서 상기 환경 모델 정보 및 로봇 모델 정보를 기초로 충돌이 발생하는 로봇의 자세가 제외한 나머지를 대상으로 포아송 디스크(Poisson disk) 샘플링 방식으로 임의 샘플로 채워 상기 로봇의 동작 경로 산출을 위한 트리 구조를 형성하는 단계;
상기 환경 모델 정보 및 상기 로봇에 대한 미리 설정된 로봇 모델 정보를 기초로 가상 현실 인터페이스에 대한 영상을 생성하여 상기 가상현실 인터페이스 장치를 통해 제공하며, 상기 가상현실 인터페이스 장치로부터 로봇 교시를 위한 사용자의 현재 자세와 목표 자세를 포함하는 교시정보를 수신하는 단계; 및
상기 교시정보 및 상기 트리 구조를 기초로 상기 로봇을 상기 현재 자세로부터 목표자세로 이동시키기 위한 최적 경로를 생성하고, 상기 최적 경로를 상기 로봇 모델 정보에 반영하여 생성한 영상을 제공하는 단계
를 포함하는 가상 현실 기반 로봇 교시를 위한 시뮬레이션 방법.
1. A simulation method for teaching a virtual reality-based robot of a simulation apparatus interlocked with a user's virtual reality interface apparatus for teaching a robot,
The point cloud information is clustered on the basis of the coordinates of the depth image obtained on the basis of the depth information according to the point cloud information to form a plane cluster as a polygon Generating environmental model information for a work environment having a reduced capacity by modeling the work environment with a hexahedron;
A Poisson disk sampling method is used to randomly sample the rest of the robot except for the posture of the robot where collision occurs based on the environment model information and the robot model information in a predetermined coordinate space in which the individual posture of the robot is set to coordinates Forming a tree structure for calculating an operation path of the robot;
A virtual reality interface unit for generating an image of a virtual reality interface based on the environment model information and preset robot model information about the robot and providing the virtual reality interface through the virtual reality interface unit, And a target posture; And
Generating an optimal path for moving the robot from the current posture to a target posture based on the teaching information and the tree structure, and providing an image generated by reflecting the optimal path to the robot model information
A method for simulating virtual reality based robot teaching.
KR1020160179358A 2016-12-26 2016-12-26 Simulation apparatus and method for teaching robot based on virtual reality KR101850410B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160179358A KR101850410B1 (en) 2016-12-26 2016-12-26 Simulation apparatus and method for teaching robot based on virtual reality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160179358A KR101850410B1 (en) 2016-12-26 2016-12-26 Simulation apparatus and method for teaching robot based on virtual reality

Publications (1)

Publication Number Publication Date
KR101850410B1 true KR101850410B1 (en) 2018-04-20

Family

ID=62088144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160179358A KR101850410B1 (en) 2016-12-26 2016-12-26 Simulation apparatus and method for teaching robot based on virtual reality

Country Status (1)

Country Link
KR (1) KR101850410B1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108573631A (en) * 2018-06-26 2018-09-25 江苏汇博机器人技术股份有限公司 Robot Virtual practical operation platform
CN109800864A (en) * 2019-01-18 2019-05-24 中山大学 A kind of robot Active Learning Method based on image input
JP2019188531A (en) * 2018-04-25 2019-10-31 ファナック株式会社 Simulation device of robot
CN110434877A (en) * 2019-08-14 2019-11-12 纳博特南京科技有限公司 One kind being based on augmented reality and idiodynamic robot control method
WO2020060157A1 (en) * 2018-09-19 2020-03-26 주식회사 브이터치 Method, system, and non-transitory computer-readable recording medium for supporting object control
KR20200107461A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200112143A (en) 2019-03-21 2020-10-05 두림야스카와(주) Non-contact three-dimensional space coordinate measuring system
WO2021016394A1 (en) * 2019-07-23 2021-01-28 Toyota Research Institute, Inc. Visual teach and repeat mobile manipulation system
CN113001548A (en) * 2021-03-15 2021-06-22 安徽工程大学 Robot teaching method and system based on virtual simulation experience
CN114446121A (en) * 2022-02-24 2022-05-06 汕头市快畅机器人科技有限公司 Control method of life search cluster education robot
US20230136502A1 (en) * 2021-10-29 2023-05-04 Foundation For Research And Business, Seoul Nationaluniversity Of Science And Technology High density virtual content creation system and method
KR20230062315A (en) 2021-10-29 2023-05-09 서울과학기술대학교 산학협력단 High density virtual content creation system and method
US11673273B2 (en) * 2019-06-07 2023-06-13 Fanuc Corporation Off-line programming apparatus, robot controller, and augmented reality system
CN117444989A (en) * 2023-12-25 2024-01-26 常州微亿智造科技有限公司 Collision detection method and device for path planning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009006410A (en) 2007-06-26 2009-01-15 Fuji Electric Systems Co Ltd Remote operation support device and remote operation support program
JP5742862B2 (en) 2013-03-18 2015-07-01 株式会社安川電機 Robot apparatus and workpiece manufacturing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009006410A (en) 2007-06-26 2009-01-15 Fuji Electric Systems Co Ltd Remote operation support device and remote operation support program
JP5742862B2 (en) 2013-03-18 2015-07-01 株式会社安川電機 Robot apparatus and workpiece manufacturing method

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019188531A (en) * 2018-04-25 2019-10-31 ファナック株式会社 Simulation device of robot
CN110394779A (en) * 2018-04-25 2019-11-01 发那科株式会社 The simulator of robot
DE102019002928B4 (en) 2018-04-25 2022-12-22 Fanuc Corporation Simulation device for robots
US11192249B2 (en) 2018-04-25 2021-12-07 Fanuc Corporation Simulation device for robot
CN108573631A (en) * 2018-06-26 2018-09-25 江苏汇博机器人技术股份有限公司 Robot Virtual practical operation platform
WO2020060157A1 (en) * 2018-09-19 2020-03-26 주식회사 브이터치 Method, system, and non-transitory computer-readable recording medium for supporting object control
US11886167B2 (en) 2018-09-19 2024-01-30 VTouch Co., Ltd. Method, system, and non-transitory computer-readable recording medium for supporting object control
CN109800864A (en) * 2019-01-18 2019-05-24 中山大学 A kind of robot Active Learning Method based on image input
KR20200107461A (en) * 2019-03-08 2020-09-16 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR102190101B1 (en) * 2019-03-08 2020-12-11 (주)아이로텍 Collision avoidance simulation system: A method of displaying a guidance tool for robot routing to avoid collision
KR20200112143A (en) 2019-03-21 2020-10-05 두림야스카와(주) Non-contact three-dimensional space coordinate measuring system
US11673273B2 (en) * 2019-06-07 2023-06-13 Fanuc Corporation Off-line programming apparatus, robot controller, and augmented reality system
WO2021016394A1 (en) * 2019-07-23 2021-01-28 Toyota Research Institute, Inc. Visual teach and repeat mobile manipulation system
CN110434877A (en) * 2019-08-14 2019-11-12 纳博特南京科技有限公司 One kind being based on augmented reality and idiodynamic robot control method
CN113001548A (en) * 2021-03-15 2021-06-22 安徽工程大学 Robot teaching method and system based on virtual simulation experience
KR20230062315A (en) 2021-10-29 2023-05-09 서울과학기술대학교 산학협력단 High density virtual content creation system and method
US20230136502A1 (en) * 2021-10-29 2023-05-04 Foundation For Research And Business, Seoul Nationaluniversity Of Science And Technology High density virtual content creation system and method
CN114446121A (en) * 2022-02-24 2022-05-06 汕头市快畅机器人科技有限公司 Control method of life search cluster education robot
CN114446121B (en) * 2022-02-24 2024-03-05 汕头市快畅机器人科技有限公司 Control method of life search cluster education robot
CN117444989A (en) * 2023-12-25 2024-01-26 常州微亿智造科技有限公司 Collision detection method and device for path planning
CN117444989B (en) * 2023-12-25 2024-03-22 常州微亿智造科技有限公司 Collision detection method and device for path planning

Similar Documents

Publication Publication Date Title
KR101850410B1 (en) Simulation apparatus and method for teaching robot based on virtual reality
EP3410246B1 (en) Robot obstacle avoidance control system and method, robot, and storage medium
JP6598090B2 (en) Storage medium, method for planning robot operation, hardware for planning robot operation, and robot
TWI620627B (en) Robots and methods for localization of the robots
KR101993920B1 (en) Method and apparatus for representing physical scene
US9569568B2 (en) Robot simulation system which simulates takeout process of workpiece
US9827675B2 (en) Collision avoidance method, control device, and program
JP6036662B2 (en) Robot simulation apparatus, program, recording medium and method
JP5872077B2 (en) Interference check device
KR101798132B1 (en) Modeling apparatus and method of work environment for high-speed collision detection of robot
JP5113666B2 (en) Robot teaching system and display method of robot operation simulation result
KR101864949B1 (en) Method for building a grid map with mobile robot unit
CN110603122A (en) Automated personalized feedback for interactive learning applications
KR100787952B1 (en) Apparatus and method for haptic rendering using local occupancy map instance, and haptic system using them
US20240033907A1 (en) Pixelwise predictions for grasp generation
WO2013116180A1 (en) Semi-autonomous digital human posturing
CN110000793A (en) A kind of motion planning and robot control method, apparatus, storage medium and robot
KR20100117931A (en) Method of generating sweeping work path for mobile robot
JP6801243B2 (en) Movement target determination device and movement target determination method
JP7450297B2 (en) Configuration of robot operating environment including sensor placement
CN109518917A (en) Leveling method and its leveling system, storage medium
KR101858108B1 (en) Motion simulating apparatus and method for robot
JP2017122546A (en) Layout estimation device, airflow control system and layout estimation method
EP4238721A1 (en) Control device, control method, and program
JP7344699B2 (en) Robot picking simulation device and robot picking simulation method

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