[go: up one dir, main page]

KR102738516B1 - System and method for teaching sealing robots - Google Patents

System and method for teaching sealing robots Download PDF

Info

Publication number
KR102738516B1
KR102738516B1 KR1020190052486A KR20190052486A KR102738516B1 KR 102738516 B1 KR102738516 B1 KR 102738516B1 KR 1020190052486 A KR1020190052486 A KR 1020190052486A KR 20190052486 A KR20190052486 A KR 20190052486A KR 102738516 B1 KR102738516 B1 KR 102738516B1
Authority
KR
South Korea
Prior art keywords
robot
sealing
shape
pass
scanner
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190052486A
Other languages
Korean (ko)
Other versions
KR20200127751A (en
Inventor
김요한
이성호
Original Assignee
현대자동차 주식회사
기아 주식회사
주식회사 씨메스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차 주식회사, 기아 주식회사, 주식회사 씨메스 filed Critical 현대자동차 주식회사
Priority to KR1020190052486A priority Critical patent/KR102738516B1/en
Publication of KR20200127751A publication Critical patent/KR20200127751A/en
Application granted granted Critical
Publication of KR102738516B1 publication Critical patent/KR102738516B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0075Manipulators for painting or coating
    • 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/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
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

실링 로봇 티칭 시스템 및 그 방법이 개시된다.
본 발명의 실시 예에 따른 도장공정라인에 배치된 복수의 실링 로봇의 로봇 패스를 생성하는 실링 로봇 티칭 시스템은, 엔드이펙터에 브라켓을 통해 실러와 3D 스캐너가 장착된 실링 로봇; 상기 실링 로봇의 기구학적 자세제어를 통해 로딩된 차체의 3차원 스캔 작업 및 실링 작업을 제어하는 로봇 제어기; 및 상기 3D 스캐너에서 측정된 상기 차체의 3D 스캔데이터에 상기 실링 작업을 위한 로봇 패스가 정의된 마스터 샘플을 3차원 매칭하여 파악된 상기 차체의 정렬 오차와 조립 오차 중 적어도 하나로 인한 표면형상에 맞게 상기 로봇 패스를 보정한 후 상기 로봇 제어기로 전송하는 서버를 포함한다.
A sealing robot teaching system and method thereof are disclosed.
A sealing robot teaching system for generating robot passes of a plurality of sealing robots arranged in a painting process line according to an embodiment of the present invention includes: a sealing robot having a sealer and a 3D scanner mounted on an end effector via a bracket; a robot controller controlling a 3D scan operation and a sealing operation of a loaded body through kinematic posture control of the sealing robot; and a server correcting the robot pass to match a surface shape caused by at least one of an alignment error and an assembly error of the body identified by 3D matching a master sample in which a robot pass for the sealing operation is defined to 3D scan data of the body measured by the 3D scanner, and then transmitting the corrected robot pass to the robot controller.

Description

실링 로봇 티칭 시스템 및 그 방법{SYSTEM AND METHOD FOR TEACHING SEALING ROBOTS}{SYSTEM AND METHOD FOR TEACHING SEALING ROBOTS}

본 발명은 실링 로봇 티칭 시스템 및 그 방법에 관한 것으로서, 보다 상세하게는 3D 스캐너를 활용하여 차체의 도장공정에 배치된 실링재 도포용 실링 로봇의 티칭을 자동화하는 실링 로봇 티칭 시스템 및 그 방법에 관한 것이다.The present invention relates to a sealing robot teaching system and method thereof, and more specifically, to a sealing robot teaching system and method thereof that automates the teaching of a sealing robot for applying sealant placed in a painting process of a car body by utilizing a 3D scanner.

일반적으로 차량을 생산하는 공장에서는 조립되는 차체의 강판이 겹치는 부위, 연결부위 등에서 발생되는 틈에 실링 로봇을 이용하여 실링재를 도포하는 실링 공정이 필수이다.In general, in factories that produce automobiles, a sealing process is essential in which sealing material is applied using a sealing robot to the gaps that occur in the overlapping and connecting parts of the steel plates of the assembled automobile body.

대표적인 예로 차체의 도장공정에서는 다수의 실링 로봇을 배치하고 차체의 하부에 방수, 녹방지의 내구성 강화 및 소음 차단 등을 위해 실링재를 도포하는 하부실링 작업이 수행되고 있다.As a representative example, in the body painting process, a number of sealing robots are deployed and the lower part of the body is sealed with sealant to enhance durability, prevent rust, and block noise.

하부실링 작업은 차체에 틈이 생기는 정확한 위치를 파악하고 로봇을 이용한 실링 작업을 진행해야 하기 때문에 차체의 정위치 정렬(Align)을 위한 비전시스템 및 로봇 별 실러의 도포 경로(Path) 설정을 위한 티칭(Teaching) 작업이 적용된다.Since the lower sealing work requires identifying the exact location of the gap in the body and performing the sealing work using a robot, a vision system for aligning the body's exact location and a teaching work for setting the sealer application path for each robot are applied.

예컨대, 종래 도장공정에서 사용중인 고정식 카메라 비전시스템의 경우, 여러 개의 차체 홀 위치/크기를 측정하여 차체 전체 위치의 정렬(Align)상태를 보정한다. 그러나, 차체는 여러 선행공정을 거치면서 제작산포 누적으로 인한 오차가 발생되지만 종래 고정식 카메라 비전시스템은 차체의 조립 오차에 따른 실러 도포 경로의 보정이 불가능한 문제점이 있다.For example, in the case of a fixed camera vision system used in a conventional painting process, the alignment status of the entire body is corrected by measuring the positions/sizes of several body holes. However, errors occur due to accumulated manufacturing variations as the body goes through several preceding processes, but the conventional fixed camera vision system has a problem in that it is impossible to correct the sealer application path according to the assembly errors of the body.

또한, 도장공정에서는 차체 위치 오차 및 제작 산포에 따른 조립 오차누적으로 인해 기존의 차체공장 부품 용접 시 사용되는 OLP(Off-Line Programming) 기술 적용이 불가능하여 실러 로봇의 티칭 작업이 수작업으로 이루어지고 있다.In addition, in the painting process, the application of OLP (Off-Line Programming) technology used in welding parts at conventional body shops is impossible due to errors in body position and accumulated assembly errors due to manufacturing dispersion, so teaching work for the sealer robot is done manually.

즉, 도장공장내 실러 로봇의 경우 별다른 OLP 시뮬레이션을 거치지 않고 일일이 전문업체 인력에 의한 수동 티칭을 하고 있어 차종 별 신차 로봇 티칭 비용 및 유지비용이 과다하게 발생되는 문제점이 있다.That is, in the case of sealer robots in paint shops, manual teaching is done one by one by specialized personnel without going through a separate OLP simulation, which causes excessive costs for teaching robots for new car models and maintenance costs.

또한, 도장공정에서는 차체의 조립 오차 및 지속적인 품질확보 등의 여러 사유로 로봇 티칭을 수정해야 하는 경우가 빈번하게 발생된다. 그러나, 현재 공장에서는 작업자가 직접 눈으로 수정할 부분을 확인한 후 티칭팬던트(Teaching Pendant)를 이용하여 로봇 패스를 수작업으로 수정하는 실정이므로 작업량/시간 증가, 휴먼에러 발생 및 라인대기 작업지연으로 인한 수율 저하 등의 문제가 복합적으로 발생되는 단점이 있다. In addition, in the painting process, there are frequent cases where robot teaching needs to be modified due to various reasons such as body assembly errors and continuous quality assurance. However, in the current factory, workers check the parts to be modified with their own eyes and manually modify the robot path using a teaching pendant, which has the disadvantage of causing complex problems such as increased workload/time, occurrence of human errors, and decreased yield due to delays in line waiting work.

이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로서, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.The information contained in this background section has been prepared to promote understanding of the background of the invention and may include matters that are not prior art and are already known to those skilled in the art.

본 발명의 실시 예는 도장공정라인에 로딩된 차체의 표면을 스캔한 3D 스캔데이터에 실링 로봇의 패스가 정의된 차체의 설계 데이터를 매칭하여 차체의 위치와 형상에 맞게 실링 로봇의 패스를 자동으로 보정하는 실링 로봇 티칭 시스템 및 그 방법을 제공하고자 한다.An embodiment of the present invention provides a sealing robot teaching system and method that automatically corrects the pass of a sealing robot to fit the position and shape of a body by matching design data of a body in which a pass of a sealing robot is defined to 3D scan data of a surface of a body loaded into a painting process line.

본 발명의 일 측면에 따르면, 도장공정라인에 배치된 복수의 실링 로봇의 로봇 패스를 생성하는 실링 로봇 티칭 시스템은, 엔드이펙터에 브라켓을 통해 실러와 3D 스캐너가 장착된 실링 로봇; 상기 실링 로봇의 기구학적 자세제어를 통해 로딩된 차체의 3차원 스캔 작업 및 실링 작업을 제어하는 로봇 제어기; 및 상기 3D 스캐너에서 측정된 상기 차체의 3D 스캔데이터에 상기 실링 작업을 위한 로봇 패스가 정의된 마스터 샘플을 3차원 매칭하여 파악된 상기 차체의 정렬 오차와 조립 오차 중 적어도 하나로 인한 표면형상에 맞게 상기 로봇 패스를 보정한 후 상기 로봇 제어기로 전송하는 서버를 포함한다.According to one aspect of the present invention, a sealing robot teaching system for generating robot passes of a plurality of sealing robots arranged in a painting process line includes: a sealing robot having a sealer and a 3D scanner mounted on an end effector through a bracket; a robot controller for controlling a three-dimensional scan operation and a sealing operation of a loaded body through kinematic posture control of the sealing robot; and a server for correcting the robot pass according to a surface shape caused by at least one of an alignment error and an assembly error of the body identified by three-dimensionally matching a master sample in which a robot pass for the sealing operation is defined to 3D scan data of the body measured by the 3D scanner, and then transmitting the result to the robot controller.

상기 마스터 샘플은 양산 전 샘플 차체의 3D 형상에 상기 실링 작업을 위해 정의된 적어도 하나의 상기 로봇 패스와 상기 3차원 매칭을 위한 차체의 특징점을 포함하는 CAD 데이터로 구성될 수 있다.The above master sample may be composed of CAD data including at least one robot pass defined for the sealing operation and feature points of the body for the three-dimensional matching on the 3D shape of the sample body before mass production.

또한, 상기 3D 스캐너는 상기 실링 로봇의 좌표계와 동일한 좌표계의 3D 스캔데이터를 생성하도록 캘리브레이션(Calibration)될 수 있다.Additionally, the 3D scanner can be calibrated to generate 3D scan data in the same coordinate system as the coordinate system of the sealing robot.

또한, 상기 로봇 제어기는 상기 실링 로봇의 자세정보에 따른 엔드이펙터의 좌표를 기준으로 상기 실러와 3D 스캐너의 상대 좌표를 각각 검출할 수 있다.Additionally, the robot controller can detect the relative coordinates of the sealer and the 3D scanner based on the coordinates of the end effector according to the posture information of the sealing robot.

또한, 상기 서버는 상기 실링 로봇별 3D 스캐너 및 로봇 제어기와 통신을 위한 하나 이상의 통신모듈을 포함하는 외부인터페이스부; 상기 3D 스캔데이터의 전처리 작업을 통해 노이즈와 배경부분을 필터링 하고, 상기 로봇 패스 생성을 위한 3D 차체 형상을 생성하는 스캔 처리부; 상기 3D 차체 형상을 시뮬레이션 툴(Simulation Tool)에 표시하고 컴퓨팅 입력장치를 통해 입력되는 라인정보에 따른 로봇 패스를 생성하는 로봇 티칭부; 상기 실링 로봇 별 로봇 패스의 설정, 수정 및 실링 작업 관리를 위한 각종 프로그램 및 데이터를 저장하는 데이터베이스(DB); 상기 시뮬레이션 툴을 통해 생성된 화면을 운영자에게 표시하는 표시부; 및 상기 3차원 매칭한 후에 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 상기 현재 3D 차체 형상의 표면 좌표에 붙여 상기 로봇 패스의 좌표를 보정하는 제어부를 포함할 수 있다.In addition, the server may include an external interface unit including one or more communication modules for communicating with the 3D scanner and robot controller for each of the sealing robots; a scan processing unit for filtering out noise and background parts through preprocessing of the 3D scan data and generating a 3D body shape for generating the robot path; a robot teaching unit for displaying the 3D body shape on a simulation tool and generating a robot path according to line information input through a computing input device; a database (DB) for storing various programs and data for setting, modifying, and managing the sealing work of the robot path for each of the sealing robots; a display unit for displaying a screen generated through the simulation tool to an operator; and a control unit for correcting the coordinates of the robot path by attaching the 3D shape of the robot path defined in the master sample to the surface coordinates of the current 3D body shape after the 3D matching.

또한, 상기 스캔 처리부는 상기 3D 스캔데이터의 전처리 작업 과정에서 상기 차체의 전체 이미지를 부품 별 혹은 로봇 패스 단위로 분할하여 복수의 독립된 개별 3D 형상을 생성할 수 있다.In addition, the scan processing unit can divide the entire image of the vehicle body into parts or robot pass units during the preprocessing process of the 3D scan data to create multiple independent individual 3D shapes.

또한, 상기 로봇 티칭부는 상기 시뮬레이션 툴을 통해 상기 3D 차체 형상의 평면도를 2D로 표시하고, 차체가 겹쳐진 부분에 입력된 패스 라인을 3D 차체 형상의 표면에 적용하여 상기 로봇 패스를 정의할 수 있다.In addition, the robot teaching unit can display a 2D plan view of the 3D body shape through the simulation tool, and define the robot path by applying a pass line input to the overlapping portion of the body to the surface of the 3D body shape.

또한, 상기 로봇 티칭부는 제1 차체와 제2 차체가 겹쳐진 부분에 마우스, 펜(Pen) 및 디지타이저(digitizer) 중 어느 하나의 입력장치를 사용하여 상기 패스 라인이 입력될 수 있다.In addition, the robot teaching unit can input the pass line using any one of an input device, a mouse, a pen, and a digitizer, at the overlapping portion of the first body and the second body.

또한, 상기 패스 라인은 시작점(Start Point)으로부터 종료점(End Point)까지, 점과 점을 차례로 연결하는 점대점(Point to point) 방식 혹은 연속적으로 패스 라인이 입력되는 그리기 방식으로 입력될 수 있다.Additionally, the pass line can be input in a point-to-point manner, connecting points one after another from a start point to an end point, or in a drawing manner, in which the pass line is input continuously.

또한, 상기 로봇 티칭부는 미리 제작된 차체 샘플을 정 위치에 정렬한 후 상기 3D 스캐너의 스캔으로 획득된 3D 포인트 클라우드(point cloud) 타입의 차체 형상의 다양한 부위에 패스 라인을 입력하여 상기 로봇 패스가 정의된 마스터 샘플을 생성할 수 있다.In addition, the robot teaching unit can align a pre-fabricated body sample to a correct position and then input pass lines to various parts of the body shape of a 3D point cloud type acquired by scanning with the 3D scanner to create a master sample in which the robot path is defined.

또한, 상기 제어부는 PPF(Point Pair Features)와 ICP(Iterative Closest Point) 알고리즘 기법 중 적어도 하나를 이용하여 상기 마스터 샘플의 3D 형상에 정의된 특징점을 현재 3D 차체 형상에 대응되는 특징점에 맞춰 3차원 매칭할 수 있다.In addition, the control unit can three-dimensionally match feature points defined in the 3D shape of the master sample to feature points corresponding to the current 3D body shape by using at least one of the PPF (Point Pair Features) and ICP (Iterative Closest Point) algorithm techniques.

또한, 상기 제어부는 상기 3D 차체 형상에 맞게 보정된 상기 로봇 패스를 가지고 상기 실링 로봇의 로봇 좌표계로 변환된 6축 좌표를 생성하여 상기 외부인터페이스부를 통해 해당 상기 로봇 제어기로 전송할 수 있다.In addition, the control unit can generate 6-axis coordinates converted into a robot coordinate system of the sealing robot using the robot path corrected to fit the 3D body shape and transmit the same to the robot controller through the external interface unit.

또한, 상기 제어부는 상기 3D 차체 형상과 상기 마스터 샘플의 3D 형상이 비매칭되면 제1 차체에 겹쳐진 제2 차체의 조립 오차를 검출하고, 상기 시뮬레이션 툴을 이용한 상기 조립 오차가 발생된 패스 라인의 삭제 및 겹쳐진 상기 제2 차체의 특징점에 기초하여 상기 패스 라인을 수정할 수 있다.In addition, the control unit can detect an assembly error of a second body overlapping the first body when the 3D body shape and the 3D shape of the master sample do not match, and can delete a pass line where the assembly error occurred using the simulation tool and modify the pass line based on the feature points of the overlapping second body.

또한, 상기 제어부는 소정 주기 또는 상기 3차원 매칭 시 동일한 패턴의 비매칭 판단이 기준횟수 이상 반복되면, 고정된 캘리브레이션 타켓을 활용한 상기 3D 스캐너의 3D 좌표와 상기 실링 로봇의 로봇좌표를 비교하여 오차가 발생여부를 검사하고 오차가 발생된 만큼의 상기 3D 스캐너의 3D 좌표를 보정할 수 있다.In addition, if the control unit is repeated a predetermined number of times or more than a standard number of times as to a non-matching judgment of the same pattern during a predetermined cycle or the three-dimensional matching, it can compare the 3D coordinates of the 3D scanner using a fixed calibration target with the robot coordinates of the sealing robot to check whether an error has occurred, and correct the 3D coordinates of the 3D scanner by the amount of error that has occurred.

한편, 본 발명의 일 측면에 따른, 도장공정라인을 관제하는 서버가 복수의 실링 로봇의 로봇 패스를 생성하는 실링 로봇 티칭 방법은, a) 샘플 차체의 3D 형상에 실링 작업을 위해 정의된 적어도 하나의 로봇 패스와 차체 표면의 구성품별 특징점이 정의된 마스터 샘플을 생성하는 단계; b) 양산시 차체가 로딩되면 실링 로봇에 장착된 3D 스캐너에서 스캔된 상기 차체의 3D 스캔데이터를 로봇 제어기로부터 수집하는 단계; c) 상기 3D 스캔데이터의 전처리 작업으로 노이즈와 배경부분을 필터링 하고, 상기 로봇 패스 생성을 위한 3D 차체 형상을 생성하는 단계; 및 d) 상기 3D 차체 형상과 상기 마스터 샘플의 3D 형상을 3차원 매칭하여 검출된 상기 차체의 정렬 오차와 조립 오차 중 적어도 하나로 인한 표면형상에 맞게 상기 로봇 패스를 보정한 후 상기 로봇 제어기로 전송하는 단계를 포함한다.Meanwhile, according to an aspect of the present invention, a sealing robot teaching method in which a server controlling a painting process line generates robot passes of a plurality of sealing robots includes the steps of: a) generating a master sample in which at least one robot pass defined for a sealing operation on a 3D shape of a sample body and feature points of each body surface component are defined; b) collecting, from a robot controller, 3D scan data of the body scanned by a 3D scanner mounted on a sealing robot when the body is loaded during mass production; c) filtering out noise and background portions as a preprocessing step of the 3D scan data and generating a 3D body shape for generating the robot pass; and d) correcting the robot pass to match a surface shape caused by at least one of an alignment error and an assembly error of the body detected by three-dimensionally matching the 3D body shape and the 3D shape of the master sample, and then transmitting the robot pass to the robot controller.

또한, 상기 a) 단계는, 상기 3D 스캐너를 통해 스캔 된 상기 샘플 차체의 3D 차체 형상을 시뮬레이션 툴에 2D로 표시하는 단계; 차체가 겹쳐진 부분에 마우스, 펜(Pen) 및 디지타이저(digitizer) 중 어느 하나의 입력장치를 사용하여 패스 라인을 입력하는 단계; 및 입력된 상기 패스 라인을 상기 샘플 차체의 3D 차체 형상의 표면에 적용하여 3D 로봇 패스를 정의 하는 단계를 포함할 수 있다.In addition, the step a) may include a step of displaying a 3D body shape of the sample body scanned through the 3D scanner in 2D on a simulation tool; a step of inputting a pass line using any one of an input device of a mouse, a pen, and a digitizer on an overlapping portion of the bodies; and a step of applying the input pass line to a surface of the 3D body shape of the sample body to define a 3D robot path.

또한, 상기 c) 단계는, 상기 차체의 전체 이미지를 부품 별 혹은 로봇 패스 단위로 분할하여 복수의 독립된 개별 3D 형상을 생성하는 단계를 포함할 수 있다.Additionally, the step c) may include a step of dividing the entire image of the body into parts or robot pass units to generate a plurality of independent individual 3D shapes.

또한, 상기 d) 단계는, d1) 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 상기 3D 차체 형상의 표면 좌표에 붙이고, 상기 로봇 패스의 좌표를 상기 현재 차체의 정렬 위치에 맞게 보정하는 단계를 포함할 수 있다.In addition, the step d) may include the step of attaching the three-dimensional shape of the robot pass defined in the master sample to the surface coordinates of the 3D body shape, and correcting the coordinates of the robot pass to match the alignment position of the current body.

또한, 상기 d) 단계는, d2) 상기 3차원 매칭 시 상기 3D 차체 형상과 마스터 샘플의 3D 형상의 비매칭에 따른 차체의 조립 오차를 검출하는 단계; 및 d3) 로봇 티칭부의 시뮬레이션 툴을 통해 조립 오차가 발생된 부위의 로봇 패스를 수정하는 단계를 포함할 수 있다.In addition, the step d) may include a step d2) of detecting an assembly error of the body due to a mismatch between the 3D body shape and the 3D shape of the master sample during the 3D matching; and a step d3) of correcting a robot pass of a part where an assembly error has occurred through a simulation tool of a robot teaching unit.

또한, 상기 d3) 단계는, 상기 시뮬레이션 툴을 통해 상기 조립 오차 발생부위에 기존에 정의된 3D 로봇 패스를 삭제하고, 상기 겹쳐진 차체부위의 특징점에 기초하여 수정된 3D 로봇 패스를 생성하는 단계를 포함할 수 있다.In addition, the step d3) may include a step of deleting a previously defined 3D robot path in the assembly error occurrence area through the simulation tool and generating a modified 3D robot path based on feature points of the overlapping body area.

본 발명의 실시 예에 따르면, 3D 스캔으로 취득된 현재 차체의 위치가 기준 정렬위치와 비매칭되는 정렬 오차와 상관 없이 마스터 샘플의 CAD 데이터에 정의된 로봇 패스의 좌표를 현재 차체의 위치에 맞게 자동으로 보정함으로써 실링 작업의 정밀도를 향상시킬 수 있다.According to an embodiment of the present invention, the precision of a sealing operation can be improved by automatically correcting the coordinates of a robot pass defined in CAD data of a master sample to match the current position of the body, regardless of an alignment error in which the current position of the body acquired by a 3D scan does not match the reference alignment position.

또한, 차체의 3D 형상과 마스터 샘플의 3D 형상의 3차원 매칭을 통한 차체의 조립 오차를 검출하고 시뮬레이션 툴을 통해 운영자가 로봇 패스의 수정, 삭제 및 추가를 간단히 수행할 수 있도록 지원함으로써 종래의 티칭팬던트 수작업에 의존된 문제들을 해결하고 생산수율 및 제품성을 향상시킬 수 있다.In addition, by detecting assembly errors of the body through three-dimensional matching of the 3D shape of the body and the 3D shape of the master sample, and by supporting the operator to easily modify, delete, and add robot passes through a simulation tool, problems dependent on conventional teaching pendant manual work can be solved, and production yield and product quality can be improved.

또한, 차체 샘플을 통해 생성된 다양한 부품 별 로봇 패스 작업을 실링 로봇의 배치 간격과 자세제어 상의 간섭을 고려하여 로봇 제어기로 분배함으로써 실링 로봇 간의 충돌 방지를 위해 최적화된 로봇 패스를 생성할 수 있는 효과가 있다. In addition, by distributing various part-specific robot pass operations generated through body samples to a robot controller while considering the spacing between sealing robots and interference in posture control, it is possible to generate an optimized robot pass to prevent collisions between sealing robots.

도 1은 본 발명의 실링 로봇 티칭 시스템의 구성을 개략적으로 나타낸다.
도 2는 본 발명의 실시 예에 따른 서버의 구성을 개략적으로 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 따른 3차원 스캔데이터 처리 예시를 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 3D 로봇 패스를 생성하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 3D 로봇 패스 트레킹 테스트 결과를 나타낸다.
도 6은 본 발명의 실시 예에 따른 3D 로봇 패스를 수정하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 캘리브레이션 타켓을 나타낸다.
도 8은 본 발명의 실시 예에 따른 실링 로봇 티칭 방법을 개략적으로 나타낸 흐름도이다.
Figure 1 schematically shows the configuration of the sealing robot teaching system of the present invention.
FIG. 2 is a block diagram schematically showing the configuration of a server according to an embodiment of the present invention.
FIG. 3 is a drawing for explaining an example of 3D scan data processing according to an embodiment of the present invention.
FIG. 4 is a drawing for explaining a process of generating a 3D robot path according to an embodiment of the present invention.
Figure 5 shows the results of a 3D robot path tracking test according to an embodiment of the present invention.
FIG. 6 is a drawing for explaining a process of modifying a 3D robot path according to an embodiment of the present invention.
Figure 7 illustrates a calibration target according to an embodiment of the present invention.
Figure 8 is a flow chart schematically illustrating a sealing robot teaching method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts that are not related to the description are omitted, and similar parts are assigned similar drawing reference numerals throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, this does not mean that it excludes other components, but rather that it may include other components, unless otherwise specifically stated. In addition, terms such as "part," "unit," and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware, software, or a combination of hardware and software.

명세서 전체에서, 제1, 제2, A, B 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Throughout the specification, terms such as first, second, A, B, etc. may be used to describe various components, but the components should not be limited by these terms. These terms are only used to distinguish one component from another, for example, without departing from the scope of the rights according to the concept of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

이제 본 발명의 실시 예에 따른 실링 로봇 티칭 시스템 및 그 방법에 대하여 도면을 참조로 하여 상세하게 설명한다.Now, a sealing robot teaching system and method according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실링 로봇 티칭 시스템의 구성을 개략적으로 나타낸다.Figure 1 schematically shows the configuration of the sealing robot teaching system of the present invention.

도 1을 참조하면, 실링 로봇 티칭 시스템(100)은 실링 로봇(110), 3D 스캐너(120), 로봇 제어기(130) 및 서버(140)를 포함한다.Referring to FIG. 1, the sealing robot teaching system (100) includes a sealing robot (110), a 3D scanner (120), a robot controller (130), and a server (140).

실링 로봇(110)은 6자유도의 다관절 매니퓰레이터(manipulator)로 구성될 수 있으며 엔드이펙터(111)에 실러(112)가 장착된다.The sealing robot (110) can be composed of a six-degree-of-freedom multi-joint manipulator, and a sealer (112) is mounted on the end effector (111).

예컨대, 실링 로봇(110)은 도장공정라인의 양측에 각각 복수로 배치되고, 컨베이어 지그로 이송된 차체의 하부에 실링재를 도포하는 실링 작업을 수행한다. 여기서, 상기 차체는 상기 도장공정라인에서의 실링 작업을 실시 예로 가정할 때 그 대상물을 지칭하는 것으로써, 도장공정라인 이외에 다른 공정의 실링 작업에 있어서 차체에 부착되는 단위 의장품이나 부품 등의 대상물을 통칭하는 의미를 갖는다.For example, sealing robots (110) are arranged in multiples on both sides of the painting process line and perform a sealing operation of applying a sealant to the lower part of a car body transported by a conveyor jig. Here, the car body refers to the object when the sealing operation in the painting process line is assumed as an example, and has a general meaning of an object such as a unit decoration or part attached to the car body in a sealing operation in a process other than the painting process line.

3D 스캐너(120)는 실러(112)와 마찬가지로 브라켓을 통해 실링 로봇(110)의 엔드이펙터(111)에 고정 장착된다.The 3D scanner (120) is fixedly mounted to the end effector (111) of the sealing robot (110) via a bracket, similar to the sealer (112).

3D 스캐너(120)는 적어도 하나의 3D 구조광 레이저 센서를 활용하여 실링재 도포면을 포함하는 차체의 표면을 스캔하여 3D 스캔데이터를 획득한다.A 3D scanner (120) scans the surface of a vehicle body including a sealant application surface using at least one 3D structured light laser sensor to obtain 3D scan data.

3D 스캐너(120)는 엔드이펙터(111)에 장착된 실러(112)와 동일한 시점을 가지고 실링 로봇(110)의 자세제어에 따라 이동되며, 실링 로봇(110)의 좌표계와 동일한 좌표의 3D 스캔데이터를 생성하도록 캘리브레이션(Calibration) 된다.The 3D scanner (120) has the same point of view as the sealer (112) mounted on the end effector (111) and moves according to the attitude control of the sealing robot (110), and is calibrated to generate 3D scan data with the same coordinates as the coordinate system of the sealing robot (110).

로봇 제어기(130)는 실링 로봇(110)의 실링 작업 및 3차원 스캔 작업을 위한 기구학적 자세제어 정보를 저장하고, 각각의 작업 모드에 따른 자세제어를 통해 로봇의 이동경로를 제어한다. 즉, 상기 로봇의 이동경로 제어는 실링 작업을 위한 실러(112)의 실링 작업을 위한 이동경로 제어와 3차원 스캔 작업을 3D 스캐너(120)의 이동경로를 포함한다. The robot controller (130) stores kinematic posture control information for the sealing work and 3D scanning work of the sealing robot (110), and controls the movement path of the robot through posture control according to each work mode. That is, the movement path control of the robot includes the movement path control of the sealer (112) for the sealing work and the movement path of the 3D scanner (120) for the 3D scanning work.

여기서, 상기 실링 작업을 위한 이동경로는 실러(112)를 티칭(Teaching)된 로봇 패스의 시작점(Start Point, SP)으로 위치 또는 종료점(End Point, EP)에서 복귀시키기 위한 로딩/언로딩 경로와 실제 실러(112)를 통해 실링재를 도포하는 로봇 패스 경로를 포함한다. 따라서, 로봇 제어기(130)는 좌표계에서 상기 로봇 패스로 정의된 시작점(SP)으로부터 종료점(EP)까지의 구간에서만 실러(112)가 작동되도록 제어할 수 있다.Here, the movement path for the sealing operation includes a loading/unloading path for returning the sealer (112) to the starting point (SP) of the taught robot pass or to the end point (EP) and a robot pass path for applying the sealant through the actual sealer (112). Accordingly, the robot controller (130) can control the sealer (112) to operate only in the section from the starting point (SP) to the end point (EP) defined by the robot pass in the coordinate system.

로봇 제어기(130)는 실링 로봇(110)이 현재 취하고 있는 자세정보에 따른 엔드이펙터(111)의 좌표(x, y, z)를 기준으로 실러(112)와 3D 스캐너(120)의 상대 좌표를 각각 검출할 수 있다.The robot controller (130) can detect the relative coordinates of the sealer (112) and the 3D scanner (120) based on the coordinates (x, y, z) of the end effector (111) according to the posture information currently being taken by the sealing robot (110).

서버(140)는 도장공정라인에 배치된 적어도 하나의 실링 로봇(110)의 실링 작업을 관제하는 컴퓨팅 시스템으로써, 실링 로봇(110) 별 실링 작업 영역에 대한 로봇 티칭을 자동으로 제어한다.The server (140) is a computing system that controls the sealing work of at least one sealing robot (110) placed in the painting process line, and automatically controls robot teaching for the sealing work area of each sealing robot (110).

서버(140)는 3D 스캐너(120)를 통해 수집된 차체의 3D 스캔데이터에 실링 로봇(110)의 실링 작업을 위한 로봇 패스가 정의된 마스터 샘플을 3차원 매칭으로 병합하여, 상기 3D 스캔데이터에서 파악된 상기 차체의 정렬 오차와 조립 오차로 인한 표면형상에 맞게 상기 로봇 패스를 자동으로 보정하여 로봇 제어기(130)로 전송한다. The server (140) merges a master sample in which a robot path for the sealing operation of the sealing robot (110) is defined into the 3D scan data of the vehicle body collected through the 3D scanner (120) by three-dimensional matching, automatically corrects the robot path to match the surface shape due to the alignment error and assembly error of the vehicle body identified from the 3D scan data, and transmits the result to the robot controller (130).

상기 마스터 샘플은 양산 전 샘플 차체의 3D 형상에 실링 작업을 위해 정의된 적어도 하나의 3D 로봇 패스와 상기 3차원 매칭을 위한 차체 표면의 특징점을 포함하는 CAD 데이터를 의미한다.The above master sample means CAD data including at least one 3D robot pass defined for sealing work on the 3D shape of a sample body before mass production and feature points of the body surface for the 3D matching.

이를 통해, 서버(140)는 도장공정라인에서 발생되는 차체의 정 위치 정렬 오차 및 차체의 제작 산포 누적으로 인한 다양한 오차에 적응된 실링 로봇(110) 별 실링 작업을 제어할 수 있다.Through this, the server (140) can control the sealing work of each sealing robot (110) adapted to various errors due to the alignment error of the body position occurring in the painting process line and the accumulation of dispersion in the production of the body.

예컨대, 도 2는 본 발명의 실시 예에 따른 서버의 구성을 개략적으로 나타낸 블록도이다.For example, FIG. 2 is a block diagram schematically showing the configuration of a server according to an embodiment of the present invention.

도 2를 참조하면, 서버(140)는 외부인터페이스부(141), 스캔 처리부(142), 로봇 티칭부(143), 데이터베이스(DB)(144), 표시부(145) 및 제어부(146)를 포함한다.Referring to FIG. 2, the server (140) includes an external interface unit (141), a scan processing unit (142), a robot teaching unit (143), a database (DB) (144), a display unit (145), and a control unit (146).

외부인터페이스부(141)는 실링 로봇(110)별 3D 스캐너(120) 및 로봇 제어기(130)와 통신을 위한 하나 이상의 유/무선 통신모듈을 포함한다.The external interface unit (141) includes one or more wired/wireless communication modules for communication with the 3D scanner (120) and robot controller (130) of each sealing robot (110).

외부인터페이스부(141)는 3D 스캐너(120)에서 스캔된 차체의 3D 스캔데이터를 수신하고, 제어부(146)에서 처리된 로봇 패스를 로봇 제어기(130)로 전송할 수 있다.The external interface unit (141) can receive 3D scan data of a body scanned by a 3D scanner (120) and transmit a robot pass processed by the control unit (146) to the robot controller (130).

이하, 도 3 및 도 4를 통해서는 본 발명의 실시 예에 따른 3D 스캔데이터의 수집 처리 및 이를 활용하여 로봇 패스를 생성하는 방법을 설명하도록 한다.Hereinafter, a method of collecting and processing 3D scan data and using the same to generate a robot path according to an embodiment of the present invention will be described with reference to FIGS. 3 and 4.

도 3은 본 발명의 실시 예에 따른 3차원 스캔데이터 처리 예시를 설명하기 위한 도면이다.FIG. 3 is a drawing for explaining an example of 3D scan data processing according to an embodiment of the present invention.

먼저, 도 3을 참조하면, 3D 스캐너(120)의 3D 구조광 레이저 센서를 활용하여 획득된 3D 스캔데이터에는 실링재 도포면을 포함한 차체 샘플의 표면 이미지와 그 3차원 좌표가 포함된다.First, referring to FIG. 3, 3D scan data acquired using a 3D structured light laser sensor of a 3D scanner (120) includes a surface image of a body sample including a sealant application surface and its 3D coordinates.

스캔 처리부(142)는 외부인터페이스부(141)에서 수신된 3D 스캔데이터를 전처리 작업을 통해 노이즈와 필요 없는 배경부분을 필터링 하고, 실러재 도포면에 로봇 패스를 생성하기 위한 3D 차체 형상만을 남긴다. 여기서, 상기 차체는 절곡된 면을 갖는 제1 차체(b1)의 일부에 제2 차체(b2)가 겹쳐진 상태로 제작된 것으로써, 상기 겹쳐진 부분(c)에 실링 작업을 위한 로봇 패스가 설정되어야 한다.The scan processing unit (142) filters out noise and unnecessary background parts from the 3D scan data received from the external interface unit (141) through a preprocessing operation, and leaves only the 3D body shape for generating a robot pass on the sealant application surface. Here, the body is manufactured in a state where a second body (b2) is overlapped on a part of a first body (b1) having a folded surface, and a robot pass for the sealing operation must be set on the overlapped part (c).

로봇 티칭부(143)는 스캔 처리부(142)에서 전처리된 3D 차체 형상을 운영자의 시뮬레이션 툴(Simulation Tool)에 표시하고, 표시된 차체 형상에 컴퓨팅 입력장치를 통해 표시되는 라인정보를 입력 받아 3D 로봇 패스를 생성한다.The robot teaching unit (143) displays the 3D body shape preprocessed in the scan processing unit (142) on the operator's simulation tool, and receives line information displayed through a computing input device on the displayed body shape to generate a 3D robot path.

예컨대, 도 4는 본 발명의 실시 예에 따른 3D 로봇 패스를 생성하는 과정을 설명하기 위한 도면이다.For example, FIG. 4 is a drawing for explaining a process of generating a 3D robot path according to an embodiment of the present invention.

도 4를 참조하면, 로봇 티칭부(143)는 시뮬레이션 툴을 통해 상기 3D 차체 형상의 평면도를 2D로 표시한다(S1). 다만, 상기 3D 차체 형상은 상기 평면도에 한정되지 않으며, 정면, 좌/우측면, 저면, 배면 등 다각도의 시점 별 2D 이미지나 3D 차체 형상의 로테이트를 통해 운영자가 원하는, 즉 3D 로봇 패스의 생성이 필요한 부분을 표시할 수 있다.Referring to Fig. 4, the robot teaching unit (143) displays the 3D body shape plan view in 2D through a simulation tool (S1). However, the 3D body shape is not limited to the plan view, and the operator may display a desired part, i.e., a part where a 3D robot path needs to be generated, through rotation of 2D images or 3D body shapes at various angles such as the front, left/right sides, bottom, and back.

로봇 티칭부(143)는 상기 2D로 표시된 평면도상에서 제1 차체(b1)와 제2 차체(b2)가 겹쳐진 부분(c)에 마우스, 펜(Pen) 및 디지타이저(digitizer) 중 어느 하나의 입력장치를 사용하여 패스 라인을 입력한다(S2). 상기 패스 라인은 시작점(Start Point, SP)으로부터 종료점(End Point, EP)까지, 점과 점을 차례로 연결하는 점대점(Point to point) 방식 혹은 연속적으로 패스 라인이 입력되는 그리기 방식 등으로 입력될 수 있다.The robot teaching unit (143) inputs a pass line (S2) using one of an input device among a mouse, a pen, and a digitizer at the part (c) where the first body (b1) and the second body (b2) overlap on the 2D plane diagram. The pass line can be input by a point-to-point method connecting points one after another from a start point (SP) to an end point (EP), or by a drawing method in which the pass line is input continuously.

로봇 티칭부(143)는 입력된 상기 패스 라인을 3D 차체 형상의 표면에 적용하여 3D 로봇 패스를 정의한다(S3). The robot teaching unit (143) applies the input pass line to the surface of the 3D body shape to define a 3D robot path (S3).

로봇 티칭부(143)는 상기 3D 차체 형상의 표면에 정의된 상기 3D 로봇 패스와 이에 대응된 차체 표면의 구성품별 특징점이 정의된 마스터 샘플을 생성하여 DB(144)에 저장한다.The robot teaching unit (143) creates a master sample in which the 3D robot path defined on the surface of the 3D body shape and the corresponding feature points of each component on the body surface are defined and stores the master sample in the DB (144).

위와 같은 방식으로, 로봇 티칭부(143)는 도장공정라인에서 신차 공정 적용 시 미리 제작된 차체 샘플을 정 위치에 정렬한 후 3D 스캐너(120)의 스캔으로 획득된 3D 포인트 클라우드(point cloud) 타입의 차체 형상의 다양한 부위에 패스 라인을 입력하여 고정밀도의 로봇 패스가 정의된 마스터 샘플을 생성할 수 있다. In the same manner as above, the robot teaching unit (143) aligns a pre-fabricated body sample in the correct position when applying a new car process in the painting process line, and then inputs pass lines to various parts of the body shape of a 3D point cloud type acquired by scanning with a 3D scanner (120) to create a master sample with a defined high-precision robot path.

DB(144)는 본 발명의 실시 예에 따른 서버(140)의 실링 로봇(110) 별 자동 티칭에 따른 로봇 패스의 설정/수정 및 실링 작업을 관리하기 위한 각종 프로그램 및 데이터를 저장하고, 서버(140)의 운용에 따라 생성되는 데이터를 저장한다.DB (144) stores various programs and data for setting/modifying robot passes and managing sealing work according to automatic teaching of each sealing robot (110) of the server (140) according to an embodiment of the present invention, and stores data generated according to the operation of the server (140).

DB(144)는 상기 스캔 처리부(142) 및 로봇 티칭부(143)의 기능 실행을 위한 프로그램을 저장하고, 그 실행에 따라 생성되는 데이터를 저장할 수 있다.DB (144) can store a program for executing the functions of the scan processing unit (142) and robot teaching unit (143), and store data generated according to the execution.

DB(144)는 로봇 티칭부(143)에서 생성된 실링 로봇(110) 별 실링 작업에 필요한 적어도 하나의 로봇 패스가 정의된 마스터 샘플을 저장하고 각 로봇의 실링 작업을 위해 제공할 수 있다.DB (144) can store a master sample in which at least one robot pass required for the sealing work of each sealing robot (110) generated by the robot teaching unit (143) is defined and can be provided for the sealing work of each robot.

표시부(145)는 데이터베이스(144)에 저장된 데이터 및 서버(140)의 운용에 따라 생성되는 데이터를 디스플레이에 표시한다.The display unit (145) displays data stored in the database (144) and data generated according to the operation of the server (140).

표시부(145)는 로봇 티칭부(143)의 시뮬레이션 툴을 통해 생성된 화면을 운영자에게 표시하여 운영자의 시각적 패스 라인 입력 환경을 제공할 수 있다.The display unit (145) can provide the operator with a visual pass line input environment by displaying a screen generated through the simulation tool of the robot teaching unit (143) to the operator.

제어부(146)는 본 발명의 실시 예에 따른 서버(140)의 상기 각부의 전반적인 동작을 제어하는 중앙처리장치로서, DB(144)에 저장된 각종 프로그램을 실행하여 상기 각부의 기능을 구현할 수 있다.The control unit (146) is a central processing unit that controls the overall operation of each part of the server (140) according to an embodiment of the present invention, and can implement the functions of each part by executing various programs stored in the DB (144).

제어부(146)는 실재 양산을 위한 도장공정라인의 가동 시 3D 스캐너(120)를 통해 수신된 3D 스캔데이터의 분석을 통해 획득된 3D 차체 형상과 DB(144)에 저장된 마스터 샘플의 3차원 매칭을 실시한다. 여기서, 3차원 매칭은 PPF(Point Pair Features)와 ICP(Iterative Closest Point) 알고리즘 기법 중 적어도 하나를 이용하여 프로세싱 될 수 있으며, 그 결과 마스터 샘플의 3D 형상에 정의된 특징점을 기준으로 현재 3D 차체 형상에 대응되는 특징점에 정밀하게 맞출 수 있다.The control unit (146) performs 3D matching of the 3D body shape obtained by analyzing 3D scan data received through the 3D scanner (120) during operation of the painting process line for actual mass production and the master sample stored in the DB (144). Here, the 3D matching can be processed using at least one of the PPF (Point Pair Features) and ICP (Iterative Closest Point) algorithm techniques, and as a result, the feature points corresponding to the current 3D body shape can be precisely matched based on the feature points defined in the 3D shape of the master sample.

이때, 제어부(146)는 상기한 두 형상을 정밀하게 맞춘 후에 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 상기 현재 3D 차체 형상의 표면 좌표에 붙여 병합할 수 있다. 이는 현재 차체의 위치가 기준 정렬위치와 비매칭되는 어떠한 상태에 있더라도 마스터 샘플에 정의된 로봇 패스를 현재 차체의 정렬위치에 맞게 좌표를 보정하여 적용할 수 있는 효과가 있다.At this time, the control unit (146) can precisely match the above two shapes and then attach and merge the three-dimensional shape of the robot path defined in the master sample to the surface coordinates of the current 3D body shape. This has the effect of allowing the robot path defined in the master sample to be applied by correcting the coordinates to match the current alignment position of the body, even if the current body position is in any state where it does not match the reference alignment position.

또한, 제어부(146)는 상기 로봇 패스의 정의에 사용된 차체 샘플의 형상 기준 현재 차체 형상의 제작오차를 보상하기 위하여, 3D 로봇 패스의 위치를 현재 차체의 표면(Surface)에 붙이는 추가 작업으로 보다 정밀한 실링 로봇(110)의 실링 작업을 제어 할 수 있다. 이를 다르게 설명하면 마스터 샘플에 정의된 3D 로봇 패스를 현재 3D 차체 형상의 표면에 입힌다고도 표현될 수 있다.In addition, the control unit (146) can control a more precise sealing operation of the sealing robot (110) by an additional operation of attaching the position of the 3D robot pass to the surface of the current body in order to compensate for the manufacturing error of the current body shape based on the shape of the body sample used in the definition of the robot pass. In other words, this can be expressed as attaching the 3D robot pass defined in the master sample to the surface of the current 3D body shape.

제어부(146)는 현재 3D 차체 형상에 맞게 보정된 상기 3D 로봇 패스를 가지고 해당 실링 로봇(110)의 로봇 좌표계로 변환된 6축 좌표(x, y, z, Rx, Ry, Rz)를 생성하여 외부인터페이스부(141)를 통해 해당 로봇 제어기(130)로 전송한다. The control unit (146) generates 6-axis coordinates (x, y, z, Rx, Ry, Rz) converted into the robot coordinate system of the sealing robot (110) using the 3D robot path corrected to the current 3D body shape and transmits them to the robot controller (130) through the external interface unit (141).

이 때, 로봇 제어기(130)는 서버(140)에서 보정된 상기 3D 로봇 패스의 좌표를 수신하여 자세제어를 통해 실링 로봇(110)의 실러(112)를 상기 로봇 패스의 시작점(SP)에 위치시킨 후 상기 3D 로봇 패스를 트래킹하여 종료점(EP)까지의 실링 작업을 제어할 수 있다.At this time, the robot controller (130) receives the coordinates of the 3D robot path corrected from the server (140), positions the sealer (112) of the sealing robot (110) at the starting point (SP) of the robot path through posture control, and then tracks the 3D robot path to control the sealing operation up to the end point (EP).

한편, 도 5는 본 발명의 실시 예에 따른 3D 로봇 패스 트레킹 테스트 결과를 나타낸다.Meanwhile, FIG. 5 shows the results of a 3D robot path tracking test according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 실시 예에 따른 서버(140)에서 생성된 3D 로봇 패스의 정밀도를 검증하기 위하여 실링 로봇(110)과 로봇 제어기(130)를 테스트한 결과를 보여준다.Referring to FIG. 5, the results of testing a sealing robot (110) and a robot controller (130) to verify the accuracy of a 3D robot path generated by a server (140) according to an embodiment of the present invention are shown.

서버(140)는 차체가 정상 위치에 정렬된 상태에서의 트래킹 테스트(A), 차체를 제1 위치로 변경한 후의 트래킹 테스트(B) 및 제3 위치로 변경한 후의 트래킹 테스트(C)를 위해 각 위치에서 생성된 3D 로봇 패스를 로봇 제어기(130)로 전송하여 그 트래킹 성능을 순차적으로 테스트하였다. 이때, 테스트 조건은 실러(112)의 초점과 차체의 실링부위 간 간격이 전구간 1mm이내로 유지, 실러(112)와 차체의 전구간 법선벡터 유지 및 로봇속도 300mm/s 이상으로 하였다.The server (140) sequentially tested the tracking performance by transmitting the 3D robot path generated at each position to the robot controller (130) for a tracking test (A) when the body is aligned to the normal position, a tracking test (B) after the body is changed to the first position, and a tracking test (C) after the body is changed to the third position. At this time, the test conditions were that the gap between the focus of the sealer (112) and the sealing part of the body was maintained within 1 mm for the entire section, the normal vector between the sealer (112) and the body was maintained for the entire section, and the robot speed was 300 mm/s or more.

테스트 결과 본 발명의 실시 예에 따라 정밀하게 차체의 표면 위에 정의된 3D 로봇 패스는 부품의 위치를 상기 테스트(B) 및 (C)와 같이 어떻게 변경하더라도 3D 스캐너(120)의 FOV(Field of View) 영역 내에만 정의되면, 위 조건을 만족하고 충돌 없이 로봇 트레킹을 실시 하는 것이 확인되었다.As a result of the test, it was confirmed that a 3D robot path precisely defined on the surface of a body according to an embodiment of the present invention satisfies the above conditions and performs robot tracking without collision as long as it is defined only within the FOV (Field of View) area of the 3D scanner (120) even when the location of the part is changed as in the above tests (B) and (C).

한편, 위의 배경기술에서 설명한 것과 같이 종래의 도장공정라인에서는 차체가 조립되는 선행공정에서의 부품의 정렬 위치나 조립 오차 등의 누적으로 로봇 패스가 밀리거나 실제 실링재의 도포부위와 로봇 패스가 비매칭되는 경우 현장에서 로봇 패스를 추가/삭제 하는 등의 다양한 티칭작업이 필요한 반면에 티칭 작업이 대부분 티칭팬던트를 이용한 전문인력의 수작업에 의존되어 비용 및 작업 지연 등의 문제가 존재하였다.Meanwhile, as explained in the background technology above, in the conventional painting process line, if the robot pass is pushed or the actual sealant application area and the robot pass do not match due to the accumulation of errors in the alignment position or assembly of parts in the preceding process of assembling the body, various teaching tasks such as adding/deleting robot passes on site are required. On the other hand, most of the teaching tasks depend on manual work by specialists using a teaching pendant, resulting in problems such as cost and work delays.

이에 본 발명의 실시 예에 따른 서버(140)는 정확한 3D 스캔 및 로봇 패스 생성을 바탕으로, 로봇 티칭부(143)의 시뮬레이션 툴 프로그램 상에서 양산공장에서 발생가능 한 모든 작업을 오차범위 ±1mm 이내로 간단하게 티칭할 수 있는 기능을 제공한다.Accordingly, the server (140) according to an embodiment of the present invention provides a function that can simply teach all tasks that can occur in a mass production plant within a margin of error of ±1 mm on the simulation tool program of the robot teaching unit (143) based on accurate 3D scanning and robot path generation.

예컨대, 도 6은 본 발명의 실시 예에 따른 3D 로봇 패스를 수정하는 과정을 설명하기 위한 도면이다.For example, FIG. 6 is a drawing for explaining a process of modifying a 3D robot path according to an embodiment of the present invention.

도 6을 참조하면, 앞서 설명된 도 4에서와 같이 차체에 정의된 3D 로봇 패스가 실제 양산중인 도장공정라인에 적용된 것을 가정하여 설명한다.Referring to Fig. 6, it is explained assuming that the 3D robot path defined on the body as described above in Fig. 4 is applied to an actual mass-produced painting process line.

제어부(146)는 3D 스캔을 통해 획득된 현재 3D 차체 형상과 DB(144)에 저장된 마스터 샘플의 3D 형상과 3차원 매칭을 실시하여, 정상적으로 매칭되면 정의된 3D 로봇 패스를 로봇 제어기(130)로 전송한다(S4).The control unit (146) performs a three-dimensional matching between the current 3D body shape acquired through 3D scanning and the 3D shape of the master sample stored in the DB (144), and if the matching is normal, transmits the defined 3D robot path to the robot controller (130) (S4).

반면, 제어부(146)는 상기 현재 3D 차체 형상과 DB(144)에 저장된 마스터 샘플의 3D 형상이 비매칭되면 제1 차체(b1)에 겹쳐진 제2 차체(b2)의 조립 오차를 검출하고, 상기 겹쳐진 제2 차체(b2)의 특징점(Sp)에 기초하여 패스 라인을 수정한다(S5). On the other hand, if the current 3D body shape and the 3D shape of the master sample stored in the DB (144) do not match, the control unit (146) detects an assembly error of the second body (b2) overlapping the first body (b1) and corrects the pass line based on the feature point (Sp) of the overlapping second body (b2) (S5).

이때, 상기 패스 라인의 수정은 로봇 티칭부(143)의 시뮬레이션 툴을 실행하여 기존 3D 로봇 패스를 삭제하고, 수정된 3D 로봇 패스를 생성하는 과정을 포함할 수 있다. At this time, modification of the pass line may include a process of deleting an existing 3D robot path and generating a modified 3D robot path by executing a simulation tool of the robot teaching unit (143).

제어부(146)는 상기 수정된 3D 로봇 패스를 로봇 제어기(130)로 전송하여, 로봇 제어기(130)가 실러(112)를 상기 수정된 3D 로봇 패스로 실링 작업을 수행하도록 제어한다(S6).The control unit (146) transmits the modified 3D robot path to the robot controller (130), so that the robot controller (130) controls the sealer (112) to perform the sealing operation with the modified 3D robot path (S6).

이를 통해, 차체의 정렬 오차뿐 아니라 차체의 조립 오차를 검출하고 시뮬레이션 툴을 통해 운영자가 로봇 패스의 수정, 삭제 및 추가를 간단히 수행할 수 있도록 지원함으로써 종래의 티칭팬던트 수작업에 의존된 문제를 해결하고 생산수율 및 제품성을 향상시킬 수 있는 효과가 있다.Through this, it is possible to detect not only alignment errors of the body but also assembly errors of the body, and to support the operator to easily modify, delete, and add robot passes through simulation tools, thereby resolving the problem of relying on conventional manual teaching pendant work and improving production yield and product quality.

이상의 설명에서는 본 발명의 실시 예의 쉬운 이해를 위해 하나의 차체 샘플과 하나의 3D 로봇 패스를 생성하는 것을 가정하여 간결하게 설명하였으나 실제 도장공정라인에 진입되는 차체에 실링재 도포를 위한 로봇 패스는 수십 미터로 길로 패스 숫자는 수백 개에 이를 수 있어, 양측으로 배치된 실링 로봇(110)들이 협동하여 실링 작업을 수행하고 있다.In the above description, for easy understanding of the embodiments of the present invention, it is assumed that one body sample and one 3D robot pass are generated and explained concisely. However, in an actual painting process line, a robot pass for applying sealant to a body may be tens of meters long and the number of passes may reach hundreds, so sealing robots (110) arranged on both sides cooperate to perform the sealing work.

그러므로, 3D 스캐너(120)에서 수신된 3D 스캔데이터의 전체 이미지에는 다수의 부품과 그에 따른 로봇 패스가 포함될 수 있는 바, 상기 스캔 처리부(142)에서 처리된 상기 3D 스캔데이터의 전처리 작업 과정에서는 차체의 전체 이미지를 상기 부품 별/로봇 패스 단위로 분할하여 복수의 독립된 개별 3D 형상을 생성하는 단계를 포함할 수 있다. Therefore, since the entire image of the 3D scan data received from the 3D scanner (120) may include a number of parts and corresponding robot passes, the preprocessing work of the 3D scan data processed by the scan processing unit (142) may include a step of dividing the entire image of the vehicle body into parts/robot passes to generate a plurality of independent individual 3D shapes.

즉, 차체 전체 이미지에 포함된 다양한 부품(의장품)을 도 3과 같이 하나의 차체 부품 이미지로 분할한 후 각각 이미지 필터링 처리를 통해 3D 차체 형상만을 남길 수 있다.That is, various parts (decoration items) included in the entire car body image can be divided into a single car body part image as in Fig. 3, and then each image can be filtered to leave only the 3D car body shape.

이는 3D 스캔을 통해 획득된 현재 차체의 전체이미지에서 다양한 부품(의장품) 별 3D 차체 형상을 분할하고, 각각 상응하는 마스터 샘플의 3D 형상과 3차원 매칭을 실시할 수 있는 것이므로 부품 별 조립 오차에 따른 부품 별 로봇 패스를 각각 수정할 수 있는 것이다.This is because it is possible to segment the 3D body shape of various parts (upholstery) from the entire image of the current body acquired through 3D scanning and perform 3D matching with the 3D shape of the corresponding master sample, so that the robot pass for each part can be corrected according to the assembly error of each part.

따라서, 본 발명의 실시 예가 차체 전체의 틀어진 위치를 보정하는 기능뿐만 아니라 차체 전체의 부품 별 조립 오차를 검출하고 그에 상응하는 부품 별 로봇 패스를 각각 수정할 수 있다는 점에서 중요한 의미를 갖는다.Therefore, the embodiment of the present invention has a significant meaning in that it can not only correct the misaligned position of the entire vehicle body, but also detect assembly errors of each part of the entire vehicle body and correct the corresponding robot pass of each part.

또한, 제어부(146)는 최초 차체 샘플을 통해 생성된 다양한 부품 별 로봇 패스를 실링 로봇(110)의 배치 간격과 자세제어 상의 간섭을 고려하여 각 실링 로봇(110)의 제어기로 분배함으로써 실링 로봇(110) 간의 충돌 방지를 위한 최적의 로봇 패스를 생성할 수 있다. In addition, the control unit (146) can generate an optimal robot path for preventing collisions between sealing robots (110) by distributing various part-specific robot passes generated through the initial body sample to the controller of each sealing robot (110) while considering the spacing between sealing robots (110) and interference in posture control.

한편, 실링 로봇(110)에 3D 스캐너(120)를 장착하고 스캔을 하는 작업에서는 실링 로봇(110)과 장착된 3D 스캐너(120)와의 3D 좌표 관계를 일정하게 유지하는 것이 실링 작업의 정밀도를 판가름 하는 핵심이다.Meanwhile, in the task of mounting a 3D scanner (120) on a sealing robot (110) and performing a scan, maintaining a constant 3D coordinate relationship between the sealing robot (110) and the mounted 3D scanner (120) is the key to determining the precision of the sealing task.

실링 로봇(110)의 엔드이펙터(111)에 견고한 형태의 브라켓으로 3D 스캐너(120)를 착한다 하더라도 반복된 실링 작업의 로봇 거동으로 그 장착위치가 틀어질 수 있으며 이로 인한 오차가 누적 되면 스캔 정밀도의 신뢰도에 악영향을 주게 된다.Even if a 3D scanner (120) is mounted on the end effector (111) of a sealing robot (110) with a rigid bracket, the mounting position may become misaligned due to the robot's repeated sealing operations, and if the errors resulting from this accumulate, it will have a negative impact on the reliability of the scan accuracy.

이에, 제어부(146)는 소정 주기로 캘리브레이션 타켓을 통해 실링 로봇(110)의 로봇좌표와 3D 스캐너(120)의 3D 좌표 정합여부를 검사한다.Accordingly, the control unit (146) checks whether the robot coordinates of the sealing robot (110) and the 3D coordinates of the 3D scanner (120) are aligned through the calibration target at regular intervals.

도 7은 본 발명의 실시 예에 따른 캘리브레이션 타켓을 나타낸다.Figure 7 illustrates a calibration target according to an embodiment of the present invention.

도 7을 참조하면, 제어부(146)는 소정 주기 마다 고정된 캘리브레이션 타켓(15)을 활용한 3D 스캐너(120)의 3D 좌표와 실링 로봇(110)의 로봇좌표를 비교하여, 오차가 발생여부를 검사하고 오차가 발생된 만큼의 3D 스캐너(120)의 3D 좌표를 보정할 수 있다.Referring to FIG. 7, the control unit (146) compares the 3D coordinates of the 3D scanner (120) using the fixed calibration target (15) at regular intervals with the robot coordinates of the sealing robot (110), checks whether an error has occurred, and corrects the 3D coordinates of the 3D scanner (120) by the amount of error that has occurred.

이 때, 체크보드 형태의 캘리브레이션 타겟(15)을 각 실링 로봇(110)에 장착된 3D 스캐너(120)가 촬영할 수 있는 영역에 배치한 후, 실링 로봇(110)이 3D 스캐너(120)를 10회 정도 움직여가면서 다양한 각도에서 다수의 영상을 획득한다.At this time, a checkerboard-shaped calibration target (15) is placed in an area that can be captured by a 3D scanner (120) mounted on each sealing robot (110), and then the sealing robot (110) moves the 3D scanner (120) about 10 times to acquire multiple images from various angles.

그리고, 각 실링 로봇(110) 위치에서의 상기 캘리브레이션 타켓(15)의 상대 위치를 인식한 후 로봇의 움직임에 따른 3D 스캐너(120)의 영상에 대한 변환 행렬(Transformation matrix)을 구하여 3D 스캐너(120)의 3D 좌표와 로봇좌표의 상관관계를 정의할 수 있다.Then, after recognizing the relative position of the calibration target (15) at each sealing robot (110) location, a transformation matrix for the image of the 3D scanner (120) according to the movement of the robot can be obtained to define the correlation between the 3D coordinates of the 3D scanner (120) and the robot coordinates.

또한, 제어부(146)는 3D 차체 형상과 마스터 샘플의 3차원 매칭 시 동일한 패턴의 비매칭이 기준횟수 이상 반복되면 상기 캘리브레이션을 통해 3D 스캐너(120)의 3D 좌표 정합여부를 점검할 수 있다.In addition, the control unit (146) can check whether the 3D coordinates of the 3D scanner (120) are aligned through the calibration if the same pattern of non-matching is repeated more than a standard number of times during 3D matching of the 3D body shape and the master sample.

한편, 전술한 실링 로봇 티칭 시스템(100)의 구성을 바탕으로 본 발명의 실시 예에 따른 실링 로봇 티칭 방법을 아래의 도 8을 통해 설명하되, 그 주체를 서버(140)로하여 설명하도록 한다.Meanwhile, based on the configuration of the aforementioned sealing robot teaching system (100), a sealing robot teaching method according to an embodiment of the present invention will be described through Fig. 8 below, with the server (140) as the subject.

도 8은 본 발명의 실시 예에 따른 실링 로봇 티칭 방법을 개략적으로 나타낸 흐름도이다.Figure 8 is a flow chart schematically illustrating a sealing robot teaching method according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 실시 예에 따른 서버(140)는 양산 전 샘플 차체의 3D 형상에 실링 작업을 위해 정의된 적어도 하나의 3D 로봇 패스와 이에 대응된 차체 표면의 구성품별 특징점이 정의된 마스터 샘플을 설정한다(S101). 여기서, 상기 마스터 샘플을 설정하는 과정은 도 3 및 도 4를 통한 설명을 참조할 수 있다.Referring to FIG. 8, a server (140) according to an embodiment of the present invention sets a master sample in which at least one 3D robot pass is defined for sealing work on a 3D shape of a sample body before mass production and corresponding body surface component-specific feature points are defined (S101). Here, the process of setting the master sample can be referred to the explanation through FIG. 3 and FIG. 4.

서버(140)는 실재 양산을 위한 도장공정라인을 가동 시 컨베이어를 통해 차체가 로딩되면, 실링 로봇(110)에 장착된 3D 스캐너(120)에서 스캔된 상기 차체의 3D 스캔데이터를 수집한다(S102).When a car body is loaded through a conveyor when the painting process line for actual mass production is operated, the server (140) collects 3D scan data of the car body scanned by a 3D scanner (120) mounted on a sealing robot (110) (S102).

서버(140)는 상기 3D 스캔데이터를 전처리 작업을 통해 노이즈와 필요 없는 배경부분을 필터링 하고, 실링재 도포면에 로봇 패스를 생성하기 위한 3D 차체 형상을 획득한다(S103). 이때, 서버(140)는 상기 3D 스캔데이터의 전체 이미지를 상기 차체를 이루는 부품 별 혹은 로봇 패스 단위로 분할하여 다수의 부품 별 3D 형상을 획득할 수 있다.The server (140) performs a preprocessing operation on the 3D scan data to filter out noise and unnecessary background parts, and obtains a 3D body shape for generating a robot pass on the sealant application surface (S103). At this time, the server (140) can divide the entire image of the 3D scan data into parts that make up the body or robot pass units to obtain 3D shapes for multiple parts.

서버(140)는 실측된 상기 3D 차체 형상과 DB(144)에 저장된 마스터 샘플의 3D 형상을 3차원 매칭한다(S104). 이때, 서버(140)는 마스터 샘플의 3D 형상에 정의된 특징점을 실측된 3D 차체 형상의 대응되는 특징점에 정밀하게 맞출 수 있다. The server (140) three-dimensionally matches the measured 3D body shape with the 3D shape of the master sample stored in the DB (144) (S104). At this time, the server (140) can precisely match the feature points defined in the 3D shape of the master sample to the corresponding feature points of the measured 3D body shape.

서버(140)는 두 3D 형상을 정밀하게 맞춘 후에 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 상기 현재 3D 차체 형상의 표면 좌표에 붙이고, 상기 로봇 패스의 좌표를 상기 현재 차체의 정렬 위치에 맞게 자동으로 보정한다(S105).After the server (140) precisely aligns the two 3D shapes, it attaches the 3D shape of the robot pass defined in the master sample to the surface coordinates of the current 3D body shape, and automatically corrects the coordinates of the robot pass to match the alignment position of the current body (S105).

또한, 서버(140)는 상기 3차원 매칭 시 상기 현재 3D 차체 형상과 마스터 샘플의 3D 형상의 비매칭에 따른 차체의 조립 오차가 검출되면(S106; 예), 로봇 티칭부(143)의 시뮬레이션 툴을 통해 조립 오차가 발생된 부위의 3D 로봇 패스를 수정한다(S109). 이때, 서버(140)는 상기 시뮬레이션 툴을 통해 상기 조립 오차 발생부위에 기존에 정의된 3D 로봇 패스를 삭제하고, 상기 겹쳐진 차체(b2)부위의 특징점에 기초하여 수정된 3D 로봇 패스를 생성할 수 있다.In addition, if the server (140) detects an assembly error of the body due to a mismatch between the current 3D body shape and the 3D shape of the master sample during the 3D matching (S106; example), the server (140) modifies the 3D robot path of the part where the assembly error occurred through the simulation tool of the robot teaching unit (143) (S109). At this time, the server (140) can delete the 3D robot path previously defined for the part where the assembly error occurred through the simulation tool, and generate a modified 3D robot path based on the feature points of the overlapping body (b2) part.

이후, 서버(140)는 수정된 3D 패스를 로봇 제어기(130)로 전송하여 실링 로봇(110)의 자세제어에 따른 실링 작업을 제어할 수 있다.Thereafter, the server (140) can transmit the modified 3D path to the robot controller (130) to control the sealing operation according to the posture control of the sealing robot (110).

한편, 상기 S106 단계에서, 서버(140)는 상기 3차원 매칭 시 차체의 조립 오차가 검출되지 않으면(S106; 아니오), 상기 현재 차체의 정렬위치에 맞게 보정된 로봇 패스의 좌표를 로봇 제어기(130)로 전송하여 실링 작업을 제어할 수 있다.Meanwhile, in the step S106, if an assembly error of the body is not detected during the three-dimensional matching (S106; No), the server (140) can control the sealing operation by transmitting the coordinates of the robot pass corrected to match the current alignment position of the body to the robot controller (130).

서버(140)는 상기 차체의 실링 작업이 완료된 후 다음 차체가 로딩되면 상기 S102 단계로 리턴 되며, 이는 도장공정라인의 가동 정지 시까지 반복된다.After the sealing work of the above body is completed, the server (140) returns to the S102 step when the next body is loaded, and this is repeated until the painting process line stops operating.

이와 같이, 본 발명의 실시 에에 따르면, 3D 스캔으로 취득된 현재 차체의 위치가 기준 정렬위치와 비매칭되는 정렬 오차와 상관 없이 마스터 샘플의 CAD 데이터에 정의된 로봇 패스의 좌표를 현재 차체의 위치에 맞게 자동으로 보정함으로써 실링 작업의 정밀도를 향상시킬 수 있는 효과가 있다.In this way, according to the embodiment of the present invention, the coordinates of the robot pass defined in the CAD data of the master sample are automatically corrected to match the current body position regardless of the alignment error in which the current body position acquired by 3D scanning does not match the reference alignment position, thereby improving the precision of the sealing operation.

또한, 차체의 3D 형상과 마스터 샘플의 3D 형상의 3차원 매칭을 통한 차체의 조립 오차를 검출하고 시뮬레이션 툴을 통해 운영자가 로봇 패스의 수정, 삭제 및 추가를 간단히 수행할 수 있도록 지원함으로써 종래의 티칭팬던트 수작업에 의존된 문제를 해결하고 생산수율 및 제품성을 향상시킬 수 있는 효과가 있다.In addition, by detecting assembly errors of the body through three-dimensional matching of the 3D shape of the body and the 3D shape of the master sample, and by supporting the operator to easily modify, delete, and add robot passes through a simulation tool, it is possible to solve the problem of relying on the conventional manual teaching pendant work and improve the production yield and product quality.

또한, 최초 차체 샘플을 통해 생성된 다양한 부품 별 로봇 패스 작업을 실링 로봇의 배치 간격과 자세제어 상의 간섭을 고려하여 로봇 제어기로 분배함으로써 실링 로봇 간의 충돌 방지를 위해 최적화된 로봇 패스를 생성할 수 있는 효과가 있다. In addition, by distributing various part-specific robot pass operations generated through the first body sample to the robot controller while considering the spacing between sealing robots and interference in posture control, it is possible to generate an optimized robot pass to prevent collisions between sealing robots.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.Embodiments of the present invention are not implemented only through the devices and/or methods described above, and may also be implemented through a program for realizing a function corresponding to the configuration of an embodiment of the present invention, a recording medium on which the program is recorded, etc., and such implementation can be easily implemented by an expert in the technical field to which the present invention belongs, based on the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims also fall within the scope of the present invention.

100: 실링 로봇 티칭 시스템 110: 실링 로봇
111: 엔드이펙터 112: 실러
120: 3D 스캐너 130: 로봇 제어기
140: 서버 141: 외부인터페이스부
142: 스캔 처리부 143: 로봇 티칭부
144: 데이터베이스 145: 표시부
146: 제어부 150: 캘리브레이션 타켓
b1: 제1 차체 b2: 제2 차체
c: 겹쳐진 부분
100: Ceiling Robot Teaching System 110: Ceiling Robot
111: End effector 112: Sealer
120: 3D scanner 130: Robot controller
140: Server 141: External interface section
142: Scan processing unit 143: Robot teaching unit
144: Database 145: Display
146: Control unit 150: Calibration target
b1: first body b2: second body
c: overlapping part

Claims (20)

도장공정라인에 배치된 복수의 실링 로봇의 로봇 패스를 생성하는 실링 로봇 티칭 시스템에 있어서,
엔드이펙터에 브라켓을 통해 실러와 3D 스캐너가 장착된 실링 로봇;
상기 실링 로봇의 기구학적 자세제어를 통해 로딩된 차체의 3차원 스캔 작업 및 실링 작업을 제어하는 로봇 제어기; 및
상기 3D 스캐너에서 측정된 상기 차체의 3D 스캔데이터에 상기 실링 작업을 위한 로봇 패스가 정의된 마스터 샘플을 3차원 매칭하여 파악된 상기 차체의 정렬 오차와 조립 오차 중 적어도 하나로 인한 표면형상에 맞게 상기 로봇 패스를 보정한 후 상기 로봇 제어기로 전송하는 서버;
를 포함하는 실링 로봇 티칭 시스템.
In a sealing robot teaching system that generates robot passes of multiple sealing robots placed in a painting process line,
Sealing robot with sealer and 3D scanner mounted via bracket on end effector;
A robot controller that controls the three-dimensional scanning and sealing operations of a loaded body through the kinematic posture control of the above sealing robot; and
A server that corrects the robot pass to match the surface shape caused by at least one of the alignment error and assembly error of the body identified by three-dimensionally matching a master sample in which a robot pass for the sealing operation is defined to the 3D scan data of the body measured by the 3D scanner, and then transmits the result to the robot controller;
A sealing robot teaching system including:
제1항에 있어서,
상기 마스터 샘플은 양산 전 샘플 차체의 3D 형상에 상기 실링 작업을 위해 정의된 적어도 하나의 상기 로봇 패스와 상기 3차원 매칭을 위한 차체의 특징점을 포함하는 CAD 데이터로 구성되는 실링 로봇 티칭 시스템.
In the first paragraph,
A sealing robot teaching system in which the above master sample is composed of CAD data including at least one robot pass defined for the sealing operation and feature points of the body for the three-dimensional matching on the 3D shape of the sample body before mass production.
제1항에 있어서,
상기 3D 스캐너는
상기 실링 로봇의 좌표계와 동일한 좌표계의 3D 스캔데이터를 생성하도록 캘리브레이션(Calibration)되는 실링 로봇 티칭 시스템.
In the first paragraph,
The above 3D scanner
A sealing robot teaching system that is calibrated to generate 3D scan data in the same coordinate system as the coordinate system of the above sealing robot.
제1항에 있어서,
상기 로봇 제어기는
상기 실링 로봇의 자세정보에 따른 엔드이펙터의 좌표를 기준으로 상기 실러와 3D 스캐너의 상대 좌표를 각각 검출하는 실링 로봇 티칭 시스템.
In the first paragraph,
The above robot controller
A sealing robot teaching system that detects the relative coordinates of the sealer and the 3D scanner based on the coordinates of the end effector according to the detailed information of the sealing robot.
제1항 내지 제4항 중 어느 한 항에 있어서,
상기 서버는
상기 실링 로봇별 3D 스캐너 및 로봇 제어기와 통신을 위한 하나 이상의 통신모듈을 포함하는 외부인터페이스부;
상기 3D 스캔데이터의 전처리 작업을 통해 노이즈와 배경부분을 필터링 하고, 상기 로봇 패스 생성을 위한 3D 차체 형상을 생성하는 스캔 처리부;
상기 3D 차체 형상을 시뮬레이션 툴(Simulation Tool)에 표시하고 컴퓨팅 입력장치를 통해 입력되는 라인정보에 따른 로봇 패스를 생성하는 로봇 티칭부;
상기 실링 로봇 별 로봇 패스의 설정, 수정 및 실링 작업 관리를 위한 각종 프로그램 및 데이터를 저장하는 데이터베이스(DB);
상기 시뮬레이션 툴을 통해 생성된 화면을 운영자에게 표시하는 표시부; 및
상기 3차원 매칭한 후에 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 현재의 상기 3D 차체 형상의 표면 좌표에 붙여 상기 로봇 패스의 좌표를 보정하는 제어부;
를 포함하는 실링 로봇 티칭 시스템.
In any one of claims 1 to 4,
The above server is
An external interface unit including one or more communication modules for communicating with the 3D scanner and robot controller for each of the above sealing robots;
A scan processing unit that filters out noise and background parts through preprocessing of the above 3D scan data and creates a 3D body shape for creating the robot path;
A robot teaching unit that displays the above 3D body shape on a simulation tool and generates a robot path according to line information input through a computing input device;
A database (DB) that stores various programs and data for setting, modifying, and managing the sealing work of each robot pass for each sealing robot;
A display unit that displays the screen generated through the above simulation tool to the operator; and
A control unit that corrects the coordinates of the robot path by attaching the three-dimensional shape of the robot path defined in the master sample to the surface coordinates of the current 3D body shape after the three-dimensional matching;
A sealing robot teaching system including:
제5항에 있어서,
상기 스캔 처리부는
상기 3D 스캔데이터의 전처리 작업 과정에서 상기 차체의 전체 이미지를 부품 별 혹은 로봇 패스 단위로 분할하여 복수의 독립된 개별 3D 형상을 생성하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above scan processing unit
A sealing robot teaching system that divides the entire image of the vehicle body into parts or robot pass units during the preprocessing process of the above 3D scan data to create multiple independent 3D shapes.
제5항에 있어서,
상기 로봇 티칭부는
상기 시뮬레이션 툴을 통해 상기 3D 차체 형상의 평면도를 2D로 표시하고, 차체가 겹쳐진 부분에 입력된 패스 라인을 3D 차체 형상의 표면에 적용하여 상기 로봇 패스를 정의하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above robot teaching unit
A sealing robot teaching system that displays a 2D plan view of the 3D body shape through the above simulation tool and defines the robot path by applying a pass line input to the overlapping portion of the body to the surface of the 3D body shape.
제7항에 있어서,
상기 로봇 티칭부는
제1 차체와 제2 차체가 겹쳐진 부분에 마우스, 펜(Pen) 및 디지타이저(digitizer) 중 어느 하나의 입력장치를 사용하여 상기 패스 라인이 입력되는 실링 로봇 티칭 시스템.
In Article 7,
The above robot teaching unit
A sealing robot teaching system in which the pass line is input using one of an input device among a mouse, a pen, and a digitizer at the overlapping portion of the first body and the second body.
제7항에 있어서,
상기 패스 라인은
시작점(Start Point)으로부터 종료점(End Point)까지, 점과 점을 차례로 연결하는 점대점(Point to point) 방식 혹은 연속적으로 패스 라인이 입력되는 그리기 방식으로 입력되는 실링 로봇 티칭 시스템.
In Article 7,
The above pass line is
A ceiling robot teaching system that inputs a point-to-point method that connects points one by one from a start point to an end point, or a drawing method that inputs a pass line continuously.
제5항에 있어서,
상기 로봇 티칭부는
미리 제작된 차체 샘플을 정 위치에 정렬한 후 상기 3D 스캐너의 스캔으로 획득된 3D 포인트 클라우드(point cloud) 타입의 차체 형상의 다양한 부위에 패스 라인을 입력하여 상기 로봇 패스가 정의된 마스터 샘플을 생성하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above robot teaching unit
A sealing robot teaching system that aligns a pre-fabricated body sample in a correct position and then inputs pass lines to various parts of a body shape of a 3D point cloud type acquired by scanning with the 3D scanner to create a master sample in which the robot path is defined.
제5항에 있어서,
상기 제어부는
PPF(Point Pair Features)와 ICP(Iterative Closest Point) 알고리즘 기법 중 적어도 하나를 이용하여 상기 마스터 샘플의 3D 형상에 정의된 특징점을 현재 3D 차체 형상에 대응되는 특징점에 맞춰 3차원 매칭하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above control unit
A sealing robot teaching system that three-dimensionally matches feature points defined in the 3D shape of the master sample to feature points corresponding to the current 3D body shape using at least one of the PPF (Point Pair Features) and ICP (Iterative Closest Point) algorithm techniques.
제5항에 있어서,
상기 제어부는
상기 3D 차체 형상에 맞게 보정된 상기 로봇 패스를 가지고 상기 실링 로봇의 로봇 좌표계로 변환된 6축 좌표를 생성하여 상기 외부인터페이스부를 통해 해당 상기 로봇 제어기로 전송하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above control unit
A sealing robot teaching system that generates 6-axis coordinates converted into a robot coordinate system of the sealing robot using the robot path corrected to the 3D body shape and transmits the same to the robot controller through the external interface unit.
제5항에 있어서,
상기 제어부는
상기 3D 차체 형상과 상기 마스터 샘플의 3D 형상이 비매칭되면 제1 차체에 겹쳐진 제2 차체의 조립 오차를 검출하고, 상기 시뮬레이션 툴을 이용한 상기 조립 오차가 발생된 패스 라인의 삭제 및 겹쳐진 상기 제2 차체의 특징점에 기초하여 상기 패스 라인을 수정하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above control unit
A sealing robot teaching system that detects an assembly error of a second body overlapping a first body when the 3D body shape and the 3D shape of the master sample do not match, deletes a pass line where the assembly error occurred using the simulation tool, and modifies the pass line based on the feature points of the overlapping second body.
제5항에 있어서,
상기 제어부는
소정 주기 마다 또는 상기 3차원 매칭 시 동일한 패턴의 비매칭 판단이 기준횟수 이상 반복되면, 고정된 캘리브레이션 타켓을 활용한 상기 3D 스캐너의 3D 좌표와 상기 실링 로봇의 로봇좌표를 비교하여 오차가 발생여부를 검사하고 오차가 발생된 만큼의 상기 3D 스캐너의 3D 좌표를 보정하는 실링 로봇 티칭 시스템.
In paragraph 5,
The above control unit
A sealing robot teaching system that compares the 3D coordinates of the 3D scanner using a fixed calibration target with the robot coordinates of the sealing robot to check whether an error has occurred, and corrects the 3D coordinates of the 3D scanner by the amount of error that has occurred, when a non-matching judgment of the same pattern is repeated a standard number of times or more at a predetermined interval or during the above-mentioned 3D matching.
도장공정라인을 관제하는 서버가 복수의 실링 로봇의 로봇 패스를 생성하는 실링 로봇 티칭 방법에 있어서,
a) 샘플 차체의 3D 형상에 실링 작업을 위해 정의된 적어도 하나의 로봇 패스와 차체 표면의 구성품별 특징점이 정의된 마스터 샘플을 생성하는 단계;
b) 양산시 차체가 로딩되면 실링 로봇에 장착된 3D 스캐너에서 스캔된 상기 차체의 3D 스캔데이터를 로봇 제어기로부터 수집하는 단계;
c) 상기 3D 스캔데이터의 전처리 작업으로 노이즈와 배경부분을 필터링 하고, 상기 로봇 패스 생성을 위한 3D 차체 형상을 생성하는 단계; 및
d) 상기 3D 차체 형상과 상기 마스터 샘플의 3D 형상을 3차원 매칭하여 검출된 상기 차체의 정렬 오차와 조립 오차 중 적어도 하나로 인한 표면형상에 맞게 상기 로봇 패스를 보정한 후 상기 로봇 제어기로 전송하는 단계;
를 포함하는 실링 로봇 티칭 방법.
In a sealing robot teaching method in which a server controlling a painting process line generates robot passes for multiple sealing robots,
a) a step of creating a master sample in which at least one robot pass is defined for a sealing operation on a 3D shape of a sample body and feature points for each component on the body surface are defined;
b) a step of collecting 3D scan data of the body scanned by a 3D scanner mounted on a sealing robot from a robot controller when the body is loaded during mass production;
c) a step of filtering out noise and background parts as a preprocessing task of the above 3D scan data and creating a 3D body shape for generating the robot path; and
d) a step of correcting the robot path to match the surface shape caused by at least one of the alignment error and assembly error of the body detected by three-dimensionally matching the 3D body shape and the 3D shape of the master sample, and then transmitting the result to the robot controller;
A teaching method for a sealing robot including:
제15항에 있어서,
상기 a) 단계는,
상기 3D 스캐너를 통해 스캔 된 상기 샘플 차체의 3D 차체 형상을 시뮬레이션 툴에 2D로 표시하는 단계;
차체가 겹쳐진 부분에 마우스, 펜(Pen) 및 디지타이저(digitizer) 중 어느 하나의 입력장치를 사용하여 패스 라인을 입력하는 단계; 및
입력된 상기 패스 라인을 상기 샘플 차체의 3D 차체 형상의 표면에 적용하여 3D 로봇 패스를 정의 하는 단계;
를 포함하는 실링 로봇 티칭 방법.
In Article 15,
Step a) above,
A step of displaying the 3D body shape of the sample body scanned through the 3D scanner in 2D on a simulation tool;
A step of inputting a pass line using one of an input device among a mouse, a pen, and a digitizer on the overlapping part of the body; and
A step of defining a 3D robot path by applying the input pass line to the surface of the 3D body shape of the sample body;
A teaching method for a sealing robot including:
제15항에 있어서,
상기 c) 단계는,
상기 차체의 전체 이미지를 부품 별 혹은 로봇 패스 단위로 분할하여 복수의 독립된 개별 3D 형상을 생성하는 단계를 포함하는 실링 로봇 티칭 방법.
In Article 15,
Step c) above,
A sealing robot teaching method comprising a step of dividing the entire image of the above body into parts or robot pass units to generate a plurality of independent individual 3D shapes.
제15항에 있어서,
상기 d) 단계는,
d1) 상기 마스터 샘플에 정의된 로봇 패스의 3차원 형상을 상기 3D 차체 형상의 표면 좌표에 붙이고, 상기 로봇 패스의 좌표를 현재 상기 차체의 정렬 위치에 맞게 보정하는 단계를 포함하는 실링 로봇 티칭 방법.
In Article 15,
Step d) above,
d1) A sealing robot teaching method including a step of attaching a three-dimensional shape of a robot path defined in the master sample to the surface coordinates of the 3D body shape and correcting the coordinates of the robot path to match the current alignment position of the body.
제15항 내지 제18항 중 어느 한 항에 있어서,
상기 d) 단계는,
d2) 상기 3차원 매칭 시 상기 3D 차체 형상과 마스터 샘플의 3D 형상의 비매칭에 따른 차체의 조립 오차를 검출하는 단계; 및
d3) 로봇 티칭부의 시뮬레이션 툴을 통해 조립 오차가 발생된 부위의 로봇 패스를 수정하는 단계;
를 포함하는 실링 로봇 티칭 방법.
In any one of Articles 15 to 18,
Step d) above,
d2) a step of detecting an assembly error of the body due to a mismatch between the 3D body shape and the 3D shape of the master sample during the 3D matching; and
d3) A step of correcting the robot path in the area where an assembly error occurred through a simulation tool of the robot teaching section;
A teaching method for a sealing robot including:
제19항에 있어서,
상기 d3) 단계는,
상기 시뮬레이션 툴을 통해 상기 조립 오차 발생부위에 기존에 정의된 3D 로봇 패스를 삭제하고, 겹쳐진 상기 차체 부위의 특징점에 기초하여 수정된 3D 로봇 패스를 생성하는 단계를 포함하는 실링 로봇 티칭 방법.

In Article 19,
Step d3) above,
A sealing robot teaching method comprising the step of deleting a previously defined 3D robot path in the assembly error occurrence area through the simulation tool and generating a modified 3D robot path based on feature points of the overlapping body area.

KR1020190052486A 2019-05-03 2019-05-03 System and method for teaching sealing robots Active KR102738516B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190052486A KR102738516B1 (en) 2019-05-03 2019-05-03 System and method for teaching sealing robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190052486A KR102738516B1 (en) 2019-05-03 2019-05-03 System and method for teaching sealing robots

Publications (2)

Publication Number Publication Date
KR20200127751A KR20200127751A (en) 2020-11-11
KR102738516B1 true KR102738516B1 (en) 2024-12-06

Family

ID=73451556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190052486A Active KR102738516B1 (en) 2019-05-03 2019-05-03 System and method for teaching sealing robots

Country Status (1)

Country Link
KR (1) KR102738516B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021124053A1 (en) * 2021-09-17 2023-03-23 Bayerische Motoren Werke Aktiengesellschaft Method for providing information for a robotic device and electronic computing device
KR20240047180A (en) * 2022-10-04 2024-04-12 현대자동차주식회사 Image processing device, image processing system, and image processing method
US20250033211A1 (en) * 2023-07-27 2025-01-30 Worcester Polytechnic Institute Robotic path planning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006247677A (en) * 2005-03-09 2006-09-21 Fanuc Ltd Laser welding instruction device and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007008598A1 (en) * 2007-02-19 2008-08-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Automatic programming of robots to weld stapled profiles onto micropanels using digital image capture
KR101425577B1 (en) * 2012-10-31 2014-08-01 (주)다인디지컬처 Efficient Post-Processing Method of Merging Different Kinds of 3D Scanners' Data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006247677A (en) * 2005-03-09 2006-09-21 Fanuc Ltd Laser welding instruction device and method

Also Published As

Publication number Publication date
KR20200127751A (en) 2020-11-11

Similar Documents

Publication Publication Date Title
CN100465833C (en) offline programming device
EP1607194B1 (en) Robot system comprising a plurality of robots provided with means for calibrating their relative position
US20060137164A1 (en) Method and device for mounting several add-on parts on production part
KR102738516B1 (en) System and method for teaching sealing robots
US5380978A (en) Method and apparatus for assembly of car bodies and other 3-dimensional objects
JP5355789B2 (en) Calibration method, computer data signal and measurement system for a measurement system
DE102018124595B4 (en) Device for detecting a position and attitude of an end effector of a robot
IT201800006253A1 (en) Method and system for the localization of points on a complex surface in space
EP3203181A1 (en) Aligning parts using multi-part scanning and feature based coordinate systems
US11707842B2 (en) Robot system and coordinate conversion method
Bogue Robotic vision boosts automotive industry quality and productivity
JP6998183B2 (en) Robot system and robot control method
KR100644174B1 (en) Calibration method of robot welding
EP0678205B1 (en) Sensory based assembly tooling improvements
US20020120359A1 (en) System and method for planning a tool path along a contoured surface
KR101048467B1 (en) Position measuring method of conveyor-based body
Antonelli et al. FREE: flexible and safe interactive human-robot environment for small batch exacting applications
GB2405465A (en) Using stripe laser technology for determining the displacement offset to a surface, in order for a robot to find a target within its space
JP7182407B2 (en) Robot system and robot control method
JP7137899B2 (en) ROBOT SYSTEM, ROBOT CONTROL METHOD, AND ROBOT TEACHING METHOD
Rzeznik In‐line laser measurement in the assembly process
KR100336459B1 (en) Method for off-line control of robot
JP2016187851A (en) Calibration device
Kuryło et al. Design of an automated system for measuring car bodies
DE102019120053A1 (en) Process and measuring cell for checking components and manufacturing plant

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190503

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220323

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20190503

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240320

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20241028

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20241202

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20241202

End annual number: 3

Start annual number: 1

PG1601 Publication of registration