KR20230128862A - Method and system for auto calibration of robot workcells - Google Patents

Method and system for auto calibration of robot workcells Download PDF

Info

Publication number
KR20230128862A
KR20230128862A KR1020220026319A KR20220026319A KR20230128862A KR 20230128862 A KR20230128862 A KR 20230128862A KR 1020220026319 A KR1020220026319 A KR 1020220026319A KR 20220026319 A KR20220026319 A KR 20220026319A KR 20230128862 A KR20230128862 A KR 20230128862A
Authority
KR
South Korea
Prior art keywords
work cell
robot
point
robot work
cloud data
Prior art date
Application number
KR1020220026319A
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 KR1020220026319A priority Critical patent/KR20230128862A/en
Publication of KR20230128862A publication Critical patent/KR20230128862A/en

Links

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/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1617Cellular, reconfigurable manipulator, e.g. cebot
    • 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
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • 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
    • B25J9/1605Simulation of manipulator lay-out, design, modelling 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/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
    • B25J9/1692Calibration of manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Manipulator (AREA)

Abstract

개시된 로봇 작업셀 자동 보정방법은, 대상 로봇 작업셀의 로봇 작업을 위한 로봇 프로그램을 생성하는 단계, 이동식 스캐너를 이용하여 상기 대상 로봇 작업셀의 스캔된 포인트-클라우드(scanned point-cloud) 데이터를 수집하는 단계, 상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보를 추출하는 단계, 상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 비교를 통해 상기 대상 로봇 작업셀의 객체를 초기 정렬하는 단계, 상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 좌표계를 정합하는 단계, 상기 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하는 단계를 포함한다.The disclosed method for automatically calibrating a robot work cell includes generating a robot program for robot operation of a target robot work cell, and collecting scanned point-cloud data of the target robot work cell using a mobile scanner. extracting geometric information of a 3D design model of the target robot work cell, and initially aligning objects of the target robot work cell by comparing the extracted 3D design model with the scanned point-cloud data. , matching the extracted 3D design model with the coordinate system of the scanned point-cloud data, adjusting a Tool Center Position (TCP) of the target robot work cell, and modifying the robot program.

Description

로봇 작업셀 자동 보정방법 및 자동 보정 시스템{METHOD AND SYSTEM FOR AUTO CALIBRATION OF ROBOT WORKCELLS}Robot work cell automatic calibration method and automatic calibration system {METHOD AND SYSTEM FOR AUTO CALIBRATION OF ROBOT WORKCELLS}

본 개시는 로봇 작업셀의 자동 보정방법 및 자동 보정 시스템에 관한 것이다.The present disclosure relates to an automatic calibration method and an automatic calibration system of a robot work cell.

로봇 작업셀의 설치/제작 시 발생하는 치수 오차는 로봇의 자율 보정을 위해 정밀하게 측정될 필요가 있다. 즉, 가상 모델의 좌표계와 실제 환경에서의 좌표계를 정밀하게 정합한다면, 파트, 지그/픽스처 등 주변의 객체에 대한 치수 오차를 용이하게 식별할 수 있다. 이러한 목적으로 설계 상의 기준 및 지역 좌표계를 실제 환경으로 정합하기 위한 다양한 방법들이 제안되고 있다.Dimensional errors that occur during the installation/manufacturing of the robot work cell need to be precisely measured for autonomous calibration of the robot. That is, if the coordinate system of the virtual model and the coordinate system of the real environment are accurately matched, it is possible to easily identify dimensional errors of surrounding objects such as parts, jigs/fixtures, and the like. For this purpose, various methods for matching the design reference and local coordinate system to the real environment have been proposed.

설계 상의 기준 및 지역 좌표계를 실제 환경으로 정합하기 위한 방법으로 터치 프로브 기반 형상 측정은 터치 센서 및 프로브를 이용하여 형상 및 위치를 추적하여 정합하는 방법이고, 마커 기반 좌표 추적은 영상 비전 기반 마커 트래킹을 통한 월드 및 지역좌표를 추정하여 정합하는 방법이다. 또한 레이저 트래커 기반 사진 측량(photogrammetry) 방법은 영상 및 레이저 트래커를 이용하여 객체 위치 추적함으로써 정합하는 방법이고, 3D 포인트-클라우드(point-cloud) 정합 기반 객체 인식 방법은 3D 레이저 스캐너 또는 깊이 센서를 이용한 포인트 수집 및 정합하는 방법이다.As a method for matching the reference and local coordinate system in the design to the real environment, touch probe-based shape measurement is a method of tracking and matching the shape and position using a touch sensor and probe, and marker-based coordinate tracking is a method of matching marker tracking based on image vision. It is a method of matching by estimating world and local coordinates through In addition, the laser tracker-based photogrammetry method is a method of matching by tracking the location of an object using an image and a laser tracker, and the object recognition method based on 3D point-cloud matching is a method using a 3D laser scanner or a depth sensor. A method of collecting and matching points.

상기 제시된 다양한 방법들은 하나의 로봇 자세 및 형상 등의 측정이 가능하지만 측정 장비의 설치, 센서 자체의 보정 등의 부가적인 요구가 발생한다. 예를 들어, 카메라를 이용할 경우 카메라 자체의 보정, 로봇 팔에 부착된 센서의 경우 로봇 팔과 센서 간의 설치 위치 오차에 대한 보정 등이 요구된다. 이러한 번거로움은, 특히 실제 환경의 기준 좌표계와 설계 모델의 기준 좌표계를 정확히 정합해야 하는 문제로 이어지며, 새로운 로봇 작업 셀이 도입되거나 로봇이 변경되는 경우와 같이 자동 조립시스템의 대상이 변경될 경우 사용하는 측정 시스템의 재설정이 요구되는 문제가 있다.The various methods presented above can measure the posture and shape of one robot, but additional requirements such as installation of measuring equipment and calibration of the sensor itself occur. For example, when a camera is used, calibration of the camera itself, and in the case of a sensor attached to a robot arm, correction of an installation position error between the robot arm and the sensor are required. This hassle leads to the problem of accurately matching the reference coordinate system of the real environment and the reference coordinate system of the design model, especially when the object of the automatic assembly system is changed, such as when a new robot work cell is introduced or the robot is changed. There is a problem that requires resetting the measurement system in use.

실시예의 일 측면은 이동 가능한 레이저 스캐너를 이용하여 제작 및 설치 시 발행하는 치수 오차를 자동 감지하여 작업 로봇의 기 생성 프로그램을 자동으로 보정하는 로봇 작업셀 자동 보정방법 및 자동 보정 시스템을 제공하고자 한다.One aspect of the embodiment is to provide an automatic correction method and an automatic correction system for a robot work cell that automatically corrects a pre-generated program of a work robot by automatically detecting a dimensional error generated during manufacturing and installation using a movable laser scanner.

그러나, 본 발명의 실시예들이 해결하고자 하는 과제는 상술한 과제에 한정되지 않고 본 발명에 포함된 기술적 사상의 범위에서 다양하게 확장될 수 있다.However, the problems to be solved by the embodiments of the present invention are not limited to the above problems and can be variously extended within the scope of the technical idea included in the present invention.

일 실시예에 따른 로봇 작업셀 자동 보정방법은, 대상 로봇 작업셀의 로봇 작업을 위한 로봇 프로그램을 생성하는 단계, 이동식 스캐너를 이용하여 상기 대상 로봇 작업셀의 스캔된 포인트-클라우드(scanned point-cloud) 데이터를 수집하는 단계, 상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보를 추출하는 단계, 상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 비교를 통해 상기 대상 로봇 작업셀의 객체를 초기 정렬하는 단계, 상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 좌표계를 정합하는 단계, 및 상기 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하는 단계를 포함한다.A method for automatically calibrating a robot work cell according to an embodiment includes generating a robot program for robot work of a target robot work cell, scanning a scanned point-cloud of the target robot work cell using a mobile scanner. ) Collecting data, extracting geometric information of the 3D design model of the target robot work cell, and comparing the extracted 3D design model with the scanned point-cloud data to obtain an object of the target robot work cell Initial alignment, matching the extracted 3D design model and the coordinate system of the scanned point-cloud data, and adjusting the tool center position (TCP) of the target robot work cell and modifying the robot program include

상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보는 상기 3D 설계 모델로부터 추출한 기준(reference) 포인트-클라우드 데이터일 수 있다.The geometric information of the 3D design model of the target robot work cell may be reference point-cloud data extracted from the 3D design model.

상기 객체를 초기 정렬하는 단계는, 상기 이동식 스캐너로 스캔된 포인트-클라우드 데이터로부터 상기 객체의 엣지(edge)와 평면을 추출하여 활용하는 과정을 포함할 수 있다.The initial aligning of the object may include a process of extracting and utilizing an edge and a plane of the object from point-cloud data scanned by the mobile scanner.

상기 객체의 엣지(edge)와 평면을 추출하는 과정은, 상기 포인트-클라우드 데이터에서 임의의 점과 주변 점들의 표면 법선 벡터들을 도출하고, 상기 도출한 표면 법선 벡터들이 동일한 원점을 가지는 구(球)에서 표현되도록 하고, 상기 임의의 점에 해당하는 표면 법선 벡터가 위치한 구에서의 점과 상기 주변 점들에 대응하는 표면 법선 벡터들 간의 거리 합의 평균을 강화된 엣지 피처로 선정하는 과정을 더 포함할 수 있다.In the process of extracting the edge and plane of the object, surface normal vectors of a random point and surrounding points are derived from the point-cloud data, and the derived surface normal vectors are spheres having the same origin. and selecting an average of the sum of the distances between a point on the sphere where the surface normal vector corresponding to the arbitrary point is located and the surface normal vectors corresponding to the surrounding points as the enhanced edge feature. there is.

상기 객체를 초기 정렬하는 단계는, 상기 3D 설계 모델의 구분된 평면 형상과 상기 스캔되어 수집된 포인트-클라우드 데이터 내의 구분된 평면 형상을 비교하여 상기 객체의 위치를 탐색하는 과정을 더 포함할 수 있다.The initial aligning of the object may further include searching for a position of the object by comparing the divided plane shape of the 3D design model with the divided plane shape in the scanned and collected point-cloud data. .

상기 객체를 초기 정렬하는 단계는, 상기 추출된 평면들의 표면 법선 벡터, 상대 거리, 및 각도에 의해 평면 관계를 정의하는 과정을 더 포함할 수 있다.The initial aligning of the objects may further include defining a plane relationship by using surface normal vectors, relative distances, and angles of the extracted planes.

상기 대상 로봇 작업셀은 로봇 베이스, 로봇 암, 및 그리퍼를 포함하여 제품을 집어 올리는 작업을 수행하도록 구성되고, 상기 좌표계를 정합하는 단계는, 상기 스캔된 포인트-클라우드 데이터와 상기 3D 설계 모델의 상기 그리퍼를 정렬하고, 상기 로봇 베이스의 좌표를 추정하고, 상기 그리퍼 및 상기 제품의 지역좌표를 추정하는 과정을 더 포함할 수 있다.The target robot work cell includes a robot base, a robot arm, and a gripper and is configured to perform an operation of picking up a product, and the step of matching the coordinate system includes the scanned point-cloud data and the 3D design model. The method may further include aligning the gripper, estimating coordinates of the robot base, and estimating regional coordinates of the gripper and the product.

상기 대상 로봇 작업셀의 TCP 를 조정하고 상기 로봇 프로그램을 수정하는 단계는, 상기 좌표계를 정합하는 단계에서 도출한 상기 그리퍼의 변환 행렬과 상기 제품의 변환 행렬을 이용하여 상기 대상 로봇 작업셀의 TCP 를 변경하는 과정을 더 포함할 수 있다.In the step of adjusting the TCP of the target robot workcell and modifying the robot program, the TCP of the target robot workcell is determined by using the transformation matrix of the gripper and the transformation matrix of the product derived in the step of matching the coordinate system. A change process may be further included.

상기 대상 로봇 작업셀의 스캔된 포인트-클라우드 데이터를 수집하는 단계는, 상기 대상 로봇 작업셀의 위치를 변경하여 복수 회 스캔하여 수행되는 것을 포함하고, 상기 좌표계를 정합하는 단계는, 상기 복수 회 스캔한 데이터의 수만큼 반복하여 수행되는 것을 포함할 수 있다.The collecting of the scanned point-cloud data of the target robot workcell may include changing the location of the target robot workcell and scanning the target robot workcell multiple times, and matching the coordinate system may include performing the multiple scans. It may include being repeatedly performed as many times as one data number.

한편, 일 실시예에 따른 로봇 작업셀 자동 보정 시스템은, 대상 로봇 작업셀을 스캔하여 스캔된 포인트-클라우드 데이터를 수집하는 이동식 스캐너, 및 상기 대상 로봇 작업셀의 로봇 작업을 위한 로봇 프로그램을 생성하고, 상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보를 추출하고, 상기 추출된 3D 설계 모델과 상기 실제 스캔된 포인트-클라우드 데이터의 비교를 통해 상기 대상 로봇 작업셀의 객체를 초기 정렬하고, 상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 좌표계를 정합하고, 상기 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하도록 구성된 컴퓨터 유닛을 포함한다.Meanwhile, a robot work cell automatic calibration system according to an embodiment includes a mobile scanner that scans a target robot work cell and collects scanned point-cloud data, and generates a robot program for robot work of the target robot work cell, , Extracting geometric information of the 3D design model of the target robot workcell, initial aligning objects of the target robot workcell through comparison of the extracted 3D design model and the actually scanned point-cloud data, and the extraction and a computer unit configured to match a coordinate system of the scanned 3D design model and the scanned point-cloud data, adjust a tool center position (TCP) of the target robot work cell, and correct the robot program.

상기 컴퓨터 유닛은, 상기 이동식 스캐너로 실제 스캔된 포인트-클라우드 데이터로부터 상기 객체의 엣지(edge)와 평면을 추출하여 활용하도록 구성될 수 있다.The computer unit may be configured to extract and utilize an edge and a plane of the object from point-cloud data actually scanned by the mobile scanner.

상기 컴퓨터 유닛은, 상기 객체의 엣지(edge)와 평면을 추출하는 과정으로, 상기 포인트-클라우드 데이터에서 임의의 점과 주변 점들의 표면 법선 벡터들을 도출하고, 상기 도출한 표면 법선 벡터들이 동일한 원점을 가지는 구(球)에서 표현되도록 하고, 상기 임의의 점에 해당하는 표면 법선 벡터가 위치한 구에서의 점과 상기 주변 점들에 대응하는 표면 법선 벡터들 간의 거리 합의 평균을 강화된 엣지 피처로 선정하도록 구성될 수 있다.The computer unit derives surface normal vectors of a random point and surrounding points from the point-cloud data in the process of extracting the edge and plane of the object, and the derived surface normal vectors have the same origin. The branch is expressed on a sphere, and the average of the sum of the distances between a point on the sphere where the surface normal vector corresponding to the arbitrary point is located and the surface normal vectors corresponding to the surrounding points is selected as the enhanced edge feature. It can be.

상기 컴퓨터 유닛은, 상기 3D 설계 모델의 구분된 평면 형상과 상기 스캔된 포인트-클라우드 데이터 내의 구분된 평면 형상을 비교하여 상기 객체의 위치를 탐색하도록 구성될 수 있다.The computer unit may be configured to search for a location of the object by comparing the segmented planar shape of the 3D design model with the segmented planar shape in the scanned point-cloud data.

상기 컴퓨터 유닛은, 상기 추출된 평면들의 표면 법선 벡터, 상대 거리, 및 각도에 의해 평면 관계를 정의하도록 구성될 수 있다.The computer unit may be configured to define a plane relationship by a surface normal vector, a relative distance, and an angle of the extracted planes.

상기 대상 로봇 작업셀은 로봇 베이스, 로봇 암, 및 그리퍼를 포함하여 제품을 집어 올리는 작업을 수행하도록 구성되고, 상기 컴퓨터 유닛은, 상기 스캔된 포인트-클라우드 데이터와 상기 3D 설계 모델의 상기 그리퍼를 정렬하고, 상기 로봇 베이스의 좌표를 추정하고, 상기 그리퍼 및 상기 제품의 지역좌표를 추정하여 상기 좌표계를 정합하도록 구성될 수 있다.The target robot work cell includes a robot base, a robot arm, and a gripper and is configured to perform an operation of picking up a product, and the computer unit aligns the scanned point-cloud data and the gripper of the 3D design model. and estimating coordinates of the robot base, and estimating local coordinates of the gripper and the product to match the coordinate system.

상기 컴퓨터 유닛은, 상기 좌표계를 정합하는 단계에서 도출한 상기 그리퍼의 변환 행렬과 상기 제품의 변환 행렬을 이용하여 상기 대상 로봇 작업셀의 TCP 를 변경하도록 구성될 수 있다.The computer unit may be configured to change the TCP of the target robot workcell by using the transformation matrix of the gripper and the transformation matrix of the product derived in the step of matching the coordinate systems.

실시예에 따른 로봇 작업셀 자동 보정 시스템에 의하면 이동 가능한 레이저 스캐너를 이용하여 제작 및 설치 시 발행하는 치수 오차를 자동 감지하여 작업 로봇의 기생성 프로그램을 자동으로 보정할 수 있다.According to the robot work cell automatic correction system according to the embodiment, it is possible to automatically correct a pre-generated program of the work robot by automatically detecting a dimensional error generated during manufacturing and installation using a movable laser scanner.

포인트-클라우드 데이터 수집을 위한 레이저 스캐너의 위치를 고정할 필요가 없고 이동식으로 사용 가능하므로 사용자로 하여금 카메라 좌표계와 월드 좌표계의 관계 정의에 대한 부가적인 절차가 요구되지 않는다.Since there is no need to fix the position of the laser scanner for point-cloud data collection and it can be used movably, the user does not require additional procedures for defining the relationship between the camera coordinate system and the world coordinate system.

로봇의 신속 보정을 위한 로봇 작업셀 자동 보정 시스템을 활용할 제조 시스템의 신속 재구성이 가능하고, OLP 기반 로봇 제어 프로그램의 일률적 배포가 가능하며, 기존 생성된 로봇 제어 프로그램의 재활용성이 향상될 수 있고, 로봇의 원격 유지/보수가 가능하다.It is possible to rapidly reconfigure the manufacturing system to utilize the robot work cell automatic calibration system for rapid calibration of the robot, uniform distribution of OLP-based robot control programs, and improved reusability of previously created robot control programs. Remote maintenance/repair of the robot is possible.

신제품 생산, 제조시스템 레이아웃 변경, 새로운 조립시스템 개발 등과 같은 제조시스템의 잦은 환경 변화에 따른 로봇 보정 작업에 소요되는 시간 및 노력 감소로 기업 부담이 감소될 수 있다.The burden on companies can be reduced by reducing the time and effort required for robot calibration work due to frequent environmental changes in the manufacturing system, such as new product production, manufacturing system layout change, and new assembly system development.

로봇이 사용되는 전 산업에 응용 가능하며, 최근 주목받는 로봇 기반 서비스 산업의 경우 출시 제품 사이클이 매우 짧은 관계로 로봇의 재 교시 작업이 상당한 빈도로 요구될 것으로 예상되므로 해당 산업으로의 기술 적용 시 상당한 파급효과가 발생할 것으로 예상된다.It can be applied to all industries where robots are used, and in the case of the robot-based service industry, which has recently been attracting attention, it is expected that robot re-teaching work will be required with a considerable frequency due to the very short release product cycle. A ripple effect is expected to occur.

도 1은 일 실시예에 따른 로봇 작업셀 자동 보정 시스템을 개략적으로 도시한 도면이다.
도 2는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 설명하기 위하여 도시한 도면이다.
도 3은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 3D 포인트-클라우드(point-cloud) 정합을 위한 엣지 및 평면 피처를 추출하는 단계를 설명하기 위하여 도시한 도면이다.
도 4는 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 구분된 평면 각각의 형상과 스캔 데이터 내의 구분된 평면 형상의 유사도를 비교하여 객체의 위치를 탐색하는 단계를 설명하기 위하여 도시한 도면이다.
도 5는 평면 상호간의 관계 피처 세트를 나타낸 것이다.
도 6은 평면 관계 기반 객체 정렬을 위한 초기 변환 행렬을 나타낸 것이다.
도 7은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 3D 설계 모델-실제 스캔된 포인트-클라우드 간 좌표 정합을 위한 반복적, 단계적 좌표 등록 과정을 설명하기 위하여 도시한 도면이다.
도 8은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 객체 정합을 통한 로봇 TCP 보정을 설명하기 위하여 도시한 도면이다.
도 9는 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 로봇 프로그래밍 및 시뮬레이션 소프트웨어 구성을 나타낸 도면이다.
도 10은 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 포인트-클라우드 데이터 수집 소프트웨어 화면을 나타낸 도면이다.
도 11은 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 로봇 작업셀 자동 보정 소프트웨어의 피처 추출부 화면을 나타낸 도면이다.
도 12는 로봇 작업셀 자동 보정 소프트웨어의 스캔 장면(scene) 분석부 화면을 나타낸 도면이다.
도 13은 로봇 작업셀 자동 보정 소프트웨어의 결과 디스플레이부 화면을 나타낸 도면이다.
도 14는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하기 위한 실험 환경을 나타낸 도면이다.
도 15는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하여 그리핑 작업 로봇 프로그램을 보정한 결과를 나타낸 도면이다.
도 16은 그리핑 작업 시 파트로 작용하는 그리핑 압력 분포를 나타낸 시뮬레이션 결과이다.
도 17은 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하여 포인팅 작업을 위한 로봇 프로그램을 보정한 결과를 나타낸 것이다.
도 18은 일 실시예에 따른 로봇 작업셀 자동 보정 시스템을 개략적으로 도시한 구성도이다.
1 is a diagram schematically illustrating a system for automatically correcting a robot work cell according to an exemplary embodiment.
2 is a diagram for explaining a method for automatically correcting a robot work cell according to an exemplary embodiment.
3 is a diagram illustrating a step of extracting edge and plane features for 3D point-cloud matching in a method for automatically correcting a robot work cell according to an embodiment.
FIG. 4 is a diagram illustrating a step of searching for a position of an object by comparing the similarity between the shape of each plane and the shape of the plane in scan data in the method for automatically correcting a robot work cell according to an embodiment.
5 shows a set of interplanar relationship features.
6 shows an initial transformation matrix for object alignment based on planar relationships.
7 is a diagram for explaining a coordinate registration process in stages for coordinate matching between a 3D design model, an actual scanned point, and a cloud in a method for automatically correcting a robot work cell according to an embodiment.
8 is a diagram for explaining robot TCP correction through object matching in a method for automatically correcting a robot work cell according to an embodiment.
9 is a diagram illustrating a configuration of robot programming and simulation software used in a method for automatically correcting a robot work cell according to an embodiment.
10 is a view showing a point-cloud data collection software screen used in a method for automatically correcting a robot work cell according to an embodiment.
11 is a diagram showing a feature extraction unit screen of software for automatically calibrating a robot work cell used in a method for automatically calibrating a robot work cell according to an embodiment.
12 is a view showing a scan scene analysis unit screen of the robot work cell automatic correction software.
13 is a diagram showing a result display screen of the robot work cell automatic calibration software.
14 is a diagram illustrating an experimental environment for performing a method for automatically correcting a robot work cell according to an embodiment.
15 is a view showing the result of correcting a gripping work robot program by performing a method of automatically correcting a robot work cell according to an embodiment.
16 is a simulation result showing gripping pressure distribution acting as a part during gripping work.
17 illustrates a result of correcting a robot program for a pointing task by performing a method of automatically correcting a robot work cell according to an embodiment.
18 is a configuration diagram schematically illustrating a system for automatically correcting a robot work cell according to an exemplary embodiment.

이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다. 또한, 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice with reference to the accompanying drawings. In order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar components throughout the specification. In addition, in the accompanying drawings, some components are exaggerated, omitted, or schematically illustrated, and the size of each component does not entirely reflect the actual size.

첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the accompanying drawings, and all changes and equivalents included in the spirit and technical scope of the present invention It should be understood to include water or substitutes.

명세서 전체에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 따라서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but that one or more other features are present. It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded. Therefore, when a part "includes" a certain component, it means that it may further include other components, not excluding other components unless otherwise stated.

도 1은 일 실시예에 따른 로봇 작업셀 자동 보정 시스템을 개략적으로 도시한 도면이고, 도 2는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 설명하기 위하여 도시한 도면이다.1 is a diagram schematically illustrating a system for automatically correcting a robot work cell according to an exemplary embodiment, and FIG. 2 is a diagram illustrating a method for automatically correcting a robot work cell according to an exemplary embodiment.

도 1 및 도 2를 참조하면, 본 실시예에 따른 로봇 작업셀 자동 보정 방법은 로봇 작업셀의 기하 정보(Geometric Feature) 추출, 로봇 작업셀의 객체 정렬 및 3D 좌표 정합, 및 로봇 TCP (Tool Center Position) 보정 및 업데이트의 단계로 수행될 수 있다.Referring to FIGS. 1 and 2 , the method for automatically correcting a robot work cell according to the present embodiment includes extraction of geometric features of the robot work cell, object alignment and 3D coordinate matching of the robot work cell, and robot TCP (Tool Center) Position) can be performed in steps of correction and update.

구체적으로, 로봇 작업셀 자동 보정방법은, 로봇 작업을 위한 프로그램을 가상환경에서 생성하고, 생성된 로봇 프로그램의 보정을 위해 이동식 레이저 스캐너로부터 포인트-클라우드(point-cloud) 데이터를 수집하는 단계를 포함한다. 이때 로봇 작업의 생성은 로봇 프로그래밍 및 시뮬레이션 소프트웨어를 이용하여 수행되고, 포인트-클라우드 데이터의 수집은 포인트-클라우드 데이터 수집 소프트웨어를 이용하여 수행될 수 있다. Specifically, a method for automatically calibrating a robot work cell includes generating a program for robot work in a virtual environment and collecting point-cloud data from a mobile laser scanner to calibrate the generated robot program. do. At this time, the creation of the robot job may be performed using robot programming and simulation software, and the collection of point-cloud data may be performed using point-cloud data collection software.

이후, 로봇 작업셀 자동 보정 소프트웨어를 이용하여 3D (3차원) 설계 모델의 기하 정보를 추출하고, 3D 모델-스캔 데이터 비교를 통한 객체를 초기 정렬, 좌표계 정합, 로봇 TCP 조정 및 프로그램 수정의 단계를 수행할 수 있다. Then, the geometric information of the 3D (three-dimensional) design model is extracted using the robot work cell automatic calibration software, and the steps of initial alignment of the object through 3D model-scan data comparison, coordinate system matching, robot TCP adjustment, and program correction are performed. can be done

이하에서 각 단계별로 보다 상세하게 설명한다.Hereinafter, each step is described in more detail.

도 3은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 3D 포인트-클라우드(point-cloud) 정합을 위한 엣지 및 평면 피처를 추출하는 단계를 설명하기 위하여 도시한 도면이다.3 is a diagram illustrating a step of extracting edge and plane features for 3D point-cloud matching in a method for automatically correcting a robot work cell according to an embodiment.

로봇 작업셀에서 사용되는 다양한 자동화 장치들은 통상 다양한 면들의 조합을 통해 설계된다. 일례로, 제품(part)의 핸들링을 위한 그리퍼(gripper)와 제품 고정을 위한 지그(jig) 또는 픽스처(fixture)의 형상은 제품을 견고히 지지함과 동시에 제품 표면의 훼손을 방지하기 위해 제품과 닿는 부위는 평면으로 설계되는 경우가 많다. 이러한 점을 바탕으로 본 실시예에서는 수집되는 포인트-클라우드 데이터로부터 장치 및 제품의 엣지(edge)와 평면들을 구분하여 객체 정렬 및 좌표 정합에 이용한다.The various automation devices used in robotic workcells are usually designed through a combination of various aspects. For example, the shapes of a gripper for handling a product and a jig or fixture for fixing the product firmly support the product and at the same time prevent damage to the product surface by contacting the product. Parts are often designed flat. Based on this point, in this embodiment, the edges and planes of devices and products are distinguished from the collected point-cloud data and used for object alignment and coordinate matching.

포인트-클라우드 데이터로부터 객체의 엣지와 평면을 추출하는 방법은 다음과 같다.The method of extracting the edge and plane of an object from point-cloud data is as follows.

먼저, 임의의 점과 주변 점들의 표면 법선 벡터들을 도출한다.First, surface normal vectors of an arbitrary point and surrounding points are derived.

다음으로, 상기 도출한 표면 법선 벡터들이 동일한 원점을 가지는 구(球)에서 표현되도록 한다.Next, the derived surface normal vectors are expressed on a sphere having the same origin.

다음으로, 상기 임의의 점에 해당하는 표면 법선 벡터가 위치한 구에서의 점과 주변 점들에 대응하는 표면 법선 벡터들 간의 거리 합의 평균을 강화된 엣지 피처로 선정한다. 여기서 표면 법선 벡터들 간의 거리는 구의 표면을 지나는 거리가 된다.Next, an average of the sum of distances between a point on the sphere where the surface normal vector corresponding to the arbitrary point is located and surface normal vectors corresponding to neighboring points is selected as the enhanced edge feature. Here, the distance between the surface normal vectors is the distance through the surface of the sphere.

공분산(covariance) 기반의 곡률(curvature)로 엣지를 나타내는 경우와 비교하여 엣지의 특성을 더욱 도드라지게 표시할 수 있도록 법선 벡터를 이용할 수 있다. 포인트-클라우드 데이터에서 모든 점에 대해 피처를 강화한 이후, 각 포인트들의 피처 값을 0 내지 1 사이의 값을 가지도록 정규화하여 평면과 엣지를 정량적으로 구분할 수 있다. 예를 들어, 실험적으로 정규화된 epi 값이 0.1과 0.5 사이에 있으면 엣지로 구분될 수 있고, 0.1보다 작을 경우 평면으로 구분될 수 있다.Compared to the case where the edge is represented by curvature based on covariance, the normal vector can be used to display the characteristics of the edge more prominently. After enhancing the features for all points in the point-cloud data, the feature values of each point are normalized to have a value between 0 and 1, so that planes and edges can be quantitatively distinguished. For example, if the experimentally normalized e pi value is between 0.1 and 0.5, it can be classified as an edge, and if it is smaller than 0.1, it can be classified as a plane.

상기 강화된 엣지 피처의 준비는 3D 설계 모델들에 대해 우선 계산하고, 특히 그리퍼의 평면과 엣지를 구분해 놓을 수 있다. 이후 이동식 스캐너를 통해 실제 작업셀에 대한 포인트-클라우드 수집이 실행되면, 스캔된 포인트-클라우드에 대해서도 상기 피처 강화 과정을 수행하고, 이어서 평면과 엣지를 구분하여 3D 설계 모델에서 추출된 기준 포인트-클라우드(reference point-cloud)와 스캔된 포인트-클라우드(scanned point-cloud)를 비교하여 평면 관계를 이용한 정합 알고리즘이 구동될 수 있다.The preparation of the “enhanced edge” feature can be first calculated for 3D design models, and in particular, the plane and edge of the gripper can be distinguished. Then, when the point-cloud collection for the actual work cell is executed through the mobile scanner, the feature enhancement process is performed on the scanned point-cloud, and then the plane and the edge are separated and the reference point-cloud extracted from the 3D design model A matching algorithm using a planar relationship can be driven by comparing a reference point-cloud and a scanned point-cloud.

도 3은 3D 설계 모델로부터 객체의 엣지와 평면을 추출한 결과를 보여준다. 즉, 구분된 엣지(Separated edges)와 구분된 평면(Separated surface planes) 추출 결과를 나타냈으며, 강조된 엣지(Highlighted edges) 추출 결과를 아울러 나타냈다.Figure 3 shows the result of extracting the edge and plane of the object from the 3D   design   model. That is, separated edges and separated surface planes extraction results were shown, and highlighted edges extraction results were also shown.

3D 설계 모델로부터 객체의 엣지와 평면 정보를 얻기 위해 전처리 과정으로 3D 설계 모델을 촘촘한(약 1mm 간격) 메시(mesh)로 변환하고, 여기서 점 정보만을 추출하여 포인트-클라우드 데이터 셋으로 저장한다. 이후 상기 피처 강화 과정을 수행한다. 이렇게 3D 설계 모델로부터 기준 포인트-클라우드 데이터를 추출할 수 있다.In order to obtain object edge and plane information from the 3D design model, the 3D design model is converted into a dense (approximately 1mm interval) mesh as a preprocessing process, and only point information is extracted from it and stored as a point-cloud data set. Then, the feature enhancement process is performed. In this way, reference point-cloud data can be extracted from the 3D design model.

이렇게 3D 설계 모델로부터 얻은 기준 포인트-클라우드 데이터는 이후 실제 작업셀의 스캔된 포인트-클라우드 데이터에서 구분된 엣지 및 평면 정보와 비교되어 정합을 수행할 수 있다.In this way, the reference point-cloud data obtained from the 3D design model can then be compared with the edge and plane information identified in the scanned point-cloud data of the actual work cell to perform matching.

도 4는 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 구분된 평면 각각의 형상과 스캔 데이터 내의 구분된 평면 형상의 유사도를 비교하여 객체의 위치를 탐색하는 단계를 설명하기 위하여 도시한 도면이고, 도 5는 평면 상호간의 관계 피처 세트를 나타낸 것이고, 도 6은 평면 관계 기반 객체 정렬을 위한 초기 변환 행렬을 나타낸 것이다.4 is a view to explain a step of searching for a location of an object by comparing the shape of each plane and the similarity of the plane shape in the scan data in the method for automatically correcting a robot work cell according to an embodiment; 5 shows a set of inter-plane relationship features, and FIG. 6 shows an initial transformation matrix for object alignment based on plane relationships.

실제 스캔된 포인트-클라우드 데이터에서 3D 설계 모델의 기준 포인트-클라우드 데이터를 정렬하기 위해서는 우선 정렬 대상 객체의 위치를 찾을 필요가 있다. 이를 위해 도 3에 나타낸 구분된 평면 각각의 형상과 스캔 데이터 내의 구분된 평면 형상을 비교하여 대략적인 객체의 위치를 탐색할 수 있다.In order to align the reference point-cloud data of the 3D design model in the actual scanned point-cloud data, it is first necessary to find the position of the object to be aligned. To this end, the approximate position of the object may be searched by comparing the shape of each divided plane shown in FIG. 3 with the divided plane shape in the scan data.

도 4를 참조하면, 3D 설계 모델(좌측 상단)로부터 기준 평면 A의 경계 정보를 추출하고, 스캔 데이터(우측 상단)로부터 상기 기준 평면 A에 대응하는 스캔 평면 B의 경계 정보를 추출할 수 있다. 이렇게 추출된 기준 평면 A와 스캔 평면 B는 각각 표면 법선 벡터를 가지며, 이들 표면 법선 벡터를 기준으로 스캔 평면 B를 변환시킨 평면 B'을 도출할 수 있다. 변환된 평면 B'은 기준 평면 A와 비교하여 형상 유사도(Shape similarity)를 측정할 수 있다.Referring to FIG. 4 , boundary information of a reference plane A may be extracted from a 3D design model (upper left corner), and boundary information of a scan plane B corresponding to the reference plane A may be extracted from scan data (upper right corner). Each of the extracted reference plane A and scan plane B has a surface normal vector, and a plane B' obtained by transforming the scan plane B based on these surface normal vectors can be derived. The transformed plane B' may be compared with the reference plane A to measure shape similarity.

3D 설계 모델의 기준 데이터와 스캔된 데이터 모두에 대하여 강화된 피처를 이용하여 면을 구분하였다면 3D 설계 모델에 존재하는 평면과 스캔된 데이터에 존재하는 평면의 형상 유사도를 측정하여 가장 유사한 평면을 고를 수 있다.이후 탐색된 대략적 객체 위치를 중심으로 대상 객체의 면들 간 최대 거리 이내의 평면 관계들을 추출한다. 추출된 평면들은 각각 표면 법선 벡터를 가지며, 이들의 관계는 상대되는 평면들과의 상대 거리 및 각도에 의해 정의가 가능하다. If the face is divided using the enhanced features for both the reference data and the scanned data of the 3D design model, the most similar plane can be selected by measuring the shape similarity between the plane existing in the 3D design model and the plane existing in the scanned data. Thereafter, planar relationships within the maximum distance between faces of the target object are extracted based on the searched approximate object position. Each of the extracted planes has a surface normal vector, and their relationship can be defined by a relative distance and angle with the planes they are in contact with.

도 5를 참조하면, 객체를 구성하는 임의의 두 평면(plane1, plane2)이 있을 때, 이들이 가지는 표면 법선 벡터(, )와 표면 법선 벡터 간의 거리벡터()를 찾을 수 있다. 이때, 두 표면 법선 벡터의 외적 벡터()와 각 표면 법선 벡터의 사잇각(,)이 정해진다. Referring to FIG. 5, when there are two arbitrary planes (plane1, plane2) constituting an object, the surface normal vector they have ( , ) and the distance vector between the surface normal vector ( ) can be found. At this time, the cross product vector of the two surface normal vectors ( ) and the angle between each surface normal vector ( , ) is determined.

이러한 표면 법선 벡터 쌍, 두 표면 법선 벡터의 외적 벡터 및 표면 법선 벡터-외적 벡터 간 사잇각 정보들(interplane relation feature)을 저장하여 3D 설계 모델로부터 얻는 기준 포인트-클라우드와 실제 스캔된 포인트-클라우드의 평면들에 대한 비교를 통해 초기 정렬을 수행할 수 있다.The plane of the reference point-cloud obtained from the 3D design model and the actual scanned point-cloud by storing the surface normal vector pair, the cross product vector of the two surface normal vectors, and the interplane relation feature between the surface normal vector and the cross product vector. Initial sorting can be performed by comparing the .

즉, 선택된 3D 설계 모델의 기준 데이터 및 실제 스캔된 데이터 내의 각각의 평면은 그들이 포함되는 포인트-클라우드에서 다른 면들과 관계를 가지게 된다. 예를 들어, 3D 설계 모델의 유사면-3D 설계 모델의 다른 면과의 관계, 및 스캔 데이터의 유사면-스캔 데이터의 다른 면과의 관계가, 도 5에서 정의되는 바와 같이 정의될 수 있다. That is, each plane in the reference data and actual scanned data of the selected 3D design model has a relationship with other planes in the point-cloud in which they are included. For example, a relationship between a similar surface of a 3D design model and another surface of the 3D design model, and a relationship between a similar surface of scan data and another surface of the scan data may be defined as defined in FIG. 5 .

그리고 이들의 관계들을 비교하여 도 6에 나타낸 바에 따라 초기 변환행렬을 계산할 수 있다. 만약 유사한 면의 탐색이 실패하면, 모든 면들의 관계에 대한 비교가 수행될 수 있다.In addition, an initial transformation matrix can be calculated as shown in FIG. 6 by comparing these relationships. If the search for similar faces fails, a comparison of all facet relationships can be performed.

도 6에서 3D 설계 모델 내의 두 면에 대한 법선 벡터, 거리 벡터, 사잇각 등이 정의되고, 또한 스캔 데이터 내의 두 면에 대한 법선 벡터, 거리 벡터, 사잇각 등이 정의되었다면, 도 6의 왼쪽 세 벡터(( )ref)로 그 오른쪽의 세 벡터(( )scan)를 옮길 수 있다(transformation). In FIG. 6, if the normal vector, distance vector, and angle between the two faces in the 3D design model are defined, and the normal vector, distance vector, and angle between the two faces in the scan data are defined, the left three vectors in FIG. 6 ( ( ) ref ) to the right of the three vectors ( ( ) scan ) can be moved (transformation).

이를 위해서, 3D 설계 모델 (ref), 스캔 데이터 (scan)에 대해 오른쪽의 feature vector matrix로 표현할 수 있다. 여기서 특이값 분해 (Singular Value Decomposition, SVD)의 과정을 거치면 (도 6 오른쪽의 (1), (2) 참조) 스캔 데이터를 3D 설계 모델로 회전할 수 있는 회전 matrix R을 구할 수 있다. To this end, the 3D design model (ref) and scan data (scan) can be expressed as a feature vector matrix on the right. Here, through the process of singular value decomposition (SVD) (see (1) and (2) on the right side of FIG. 6), a rotation matrix R capable of rotating scan data into a 3D design model can be obtained.

회전 matrix를 구한 뒤 거리벡터의 차()를 이용해 이동벡터 (translation vector, )가 구해지며, 최종 변환 행렬 STS’은 (4)와 같이 R(3x3 matrix)과 T(3x1 matrix)의 조합으로 구성될 수 있으며, 이 과정이 초기 변환행렬을 구하는 과정이다.After obtaining the rotation matrix, the difference between the distance vectors ( ) using a translation vector (translation vector, ) is obtained, and the final transformation matrix S T S' can be composed of a combination of R (3x3 matrix) and T (3x1 matrix) as shown in (4), and this process is the process of obtaining the initial transformation matrix.

도 7은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 3D 설계 모델-실제 스캔된 포인트-클라우드 간 좌표 정합을 위한 반복적, 단계적 좌표 등록 과정을 설명하기 위하여 도시한 도면이다.7 is a diagram for explaining a coordinate registration process in stages for coordinate matching between a 3D design model, an actual scanned point, and a cloud in a method for automatically correcting a robot work cell according to an embodiment.

3D 데이터의 정합은 3D 모델링 캐드 환경의 기준 좌표와 실제 환경의 기준 좌표를 동일화하고 이를 기준으로 주변 객체들의 정합을 수행함으로써 수행될 수 있다. Matching of 3D data may be performed by equalizing the reference coordinates of the 3D modeling CAD environment and the reference coordinates of the real environment, and performing matching of surrounding objects based on the reference coordinates of the 3D modeling CAD environment.

본 실시예에서는 객체들의 상대적인 위치 관계만으로 정합을 수행하므로 3D 포인트-클라우드 데이터 수집을 위한 레이저 스캐너의 정의를 수행하지 않고 마커 설치와 같은 부가적인 작업을 배제할 수 있다. 이를 위하여 로봇과 제품에 공통으로 접촉하는 그리퍼를 우선 탐색 및 정합하고 나서, 이와 상대적인 위치 및 거리에 있는 다른 객체들을 정합할 수 있다. In this embodiment, since matching is performed only with the relative positional relationship of objects, additional work such as marker installation can be excluded without performing the definition of a laser scanner for 3D point-cloud data collection. To this end, a gripper that is in common contact with the robot and the product is first searched and matched, and then other objects at a relative position and distance may be matched.

좌표의 정합은 i) 스캔된 데이터와 그리퍼의 정렬, ii) 로봇 베이스의 좌표 추정, iii) 그리퍼 및 제품의 지역좌표 추정의 순서로 진행될 수 있다. 이러한 좌표의 정합은 대상 작업셀의 스캔된 데이터 수만큼 반복 수행될 수 있다. 다른 스캔된 데이터를 얻을 때에는 로봇의 위치를 변경하여 스캔될 수 있다.Matching of coordinates may proceed in the order of i) aligning the gripper with the scanned data, ii) estimating the coordinates of the robot base, and iii) estimating the regional coordinates of the gripper and the product. Matching of these coordinates may be repeatedly performed as many times as the number of scanned data of the target work cell. When obtaining other scanned data, it can be scanned by changing the location of the robot.

일단 좌표 정합이 한 번 완료되면, 이때 구해진 초기 변환 행렬과 로봇 베이스 좌표는 다음 스캔된 데이터에 대한 초기 입력 값으로 활용될 수 있다. 그리고 각 개체의 포인트 간 거리를 고려하여 더욱 정밀한 좌표 추정을 수행할 수 있다.Once coordinate matching is completed, the initial transformation matrix and robot base coordinates obtained at this time can be used as initial input values for the next scanned data. In addition, more precise coordinate estimation can be performed by considering the distance between points of each object.

도 8은 일 실시예에 따른 로봇 작업셀 자동 보정방법에서 객체 정합을 통한 로봇 TCP 보정을 설명하기 위하여 도시한 도면이다.8 is a diagram for explaining robot TCP correction through object matching in a method for automatically correcting a robot work cell according to an embodiment.

로봇의 TCP는 [x, y, z, roll, pitch, yaw]로 표현할 수 있으며 이는 회전 및 이동으로 조합된 변환 행렬로 표현 가능하다. 이를 통해 TCP의 자세 변환은 좌표계의 정합 과정에서 도출한 그리퍼의 변환 행렬() 및 제품의 변환 행렬()을 이용하여 실제 측정된 환경에 맞도록 로봇 TCP를 변경할 수 있다.The robot's TCP can be expressed as [x, y, z, roll, pitch, yaw], which can be expressed as a transformation matrix combined with rotation and movement. Through this, the attitude transformation of the TCP is the transformation matrix of the gripper derived from the coordinate system matching process ( ) and the transformation matrix of the product ( ) can be used to change the robot TCP to fit the actual measured environment.

즉, 보정된 로봇 TCP ()는 다음 수학식 1로 계산될 수 있다.That is, the calibrated robot TCP ( ) can be calculated by the following Equation 1.

[수학식 1][Equation 1]

이하에서는 본 실시예에 따른 로봇 작업셀 자동 보장방법을 구현한 시스템의 한 예를 도면과 함께 설명한다.Hereinafter, an example of a system implementing a method for automatically guaranteeing a robot work cell according to the present embodiment will be described together with drawings.

도 9는 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 로봇 프로그래밍 및 시뮬레이션 소프트웨어 구성을 나타낸 도면이다.9 is a diagram illustrating a configuration of robot programming and simulation software used in a method for automatically correcting a robot work cell according to an embodiment.

로봇 프로그래밍 및 시뮬레이션 SW는 로봇 작업셀에서 구동되는 로봇 프로그램의 생성 및 필요 시 보정된 로봇 프로그램의 시뮬레이션을 위해 구현될 수 있다. 구동 순서는 i) 로봇과의 연동, ii) 로봇 제어 및 시뮬레이션을 위한 설정, iii) 전동 그리퍼 동작 설정, iv) 로봇 구동 시뮬레이션 및 제어 프로그램 업데이트 등으로 구성될 수 있다.The robot programming and simulation SW can be implemented for generating a robot program driven in a robot work cell and simulating a calibrated robot program if necessary. The drive sequence may include i) interworking with the robot, ii) settings for robot control and simulation, iii) electric gripper operation settings, and iv) robot drive simulation and control program update.

도 10은 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 포인트-클라우드 데이터 수집 소프트웨어 화면을 나타낸 도면이다.10 is a view showing a point-cloud data collection software screen used in a method for automatically correcting a robot work cell according to an embodiment.

로봇 프로그래밍 및 시뮬레이션 SW를 통해 생성된 로봇 프로그램을 보정하기 위한 첫 번째 단계는 실제 로봇 작업셀의 포인트-클라우드 데이터 수집이다. 도 10을 참조하면, 이를 위해 이동 가능한 레이저 스캐너 (PhoXi® 3D Scanner)와 호환 가능한 포인트-클라우드 데이터 수집 SW를 구현하였다. 레이저 스캐너 연결 및 데이터 취득을 위해 Photoneo PhoXi® Control API가 활용되었다. 수집된 포인트-클라우드 데이터는 PLY 형식으로 저장되며, STL 파일로 저장된 3D CAD 모델의 메시(mesh) 정보를 포인트-클라우드 데이터로 변환하여 저장하는 기능을 가진다. 포인트-클라우드 수집 시 레이저 스캐너의 위치는 사전 정의되지 않는다.The first step to calibrate the robot program created through the robot programming and simulation software is point-cloud data collection of the actual robot work cell. Referring to FIG. 10, for this purpose, a point-cloud data collection SW compatible with a movable laser scanner (PhoXi® 3D Scanner) was implemented. The Photoneo PhoXi® Control API was utilized for laser scanner connection and data acquisition. The collected point-cloud data is stored in PLY format, and has a function of converting and storing mesh information of a 3D CAD model stored as an STL file into point-cloud data. The position of the laser scanner during point-cloud collection is not predefined.

도 11은 일 실시예에 따른 로봇 작업셀 자동 보정방법에 사용되는 로봇 작업셀 자동 보정 소프트웨어의 피처 추출부 화면을 나타낸 도면이고, 도 12는 로봇 작업셀 자동 보정 소프트웨어의 스캔 장면(scene) 분석부 화면을 나타낸 도면이며, 도 13은 로봇 작업셀 자동 보정 소프트웨어의 결과 디스플레이부 화면을 나타낸 도면이다.11 is a view showing a screen of a feature extraction unit of software for automatically calibrating a robot work cell used in a method for automatically calibrating a robot work cell according to an embodiment, and FIG. 12 is a scan scene analysis unit of the automatic calibration software for a robot work cell. 13 is a diagram showing a screen of the result display unit of the robot work cell automatic calibration software.

로봇 작업셀 자동 보정 시스템의 핵심 기능으로써 수집된 실제 작업셀의 포인트-클라우드 데이터와 3D CAD 모델에서 추출된 포인트-클라우드 데이터로부터 엣지 및 평면 정보 추출, 면 관계 기반 객체 초기 정렬, 설계-실제 좌표계 정합 등을 수행하고 최종적으로 로봇 TCP 및 프로그램이 수정된다. 이후 수정된 로봇 프로그램을 로봇 프로그래밍 및 시뮬레이션 SW로 전달하여 새로운 로봇 프로그램을 제어기로 업데이트한다.As a core function of the robot work cell automatic calibration system, edge and plane information extraction from point-cloud data extracted from actual work cell collected and point-cloud data extracted from 3D CAD model, object initial alignment based on surface relationship, design-real coordinate system matching etc., and finally the robot TCP and program are modified. Then, the modified robot program is transmitted to the robot programming and simulation SW to update the new robot program to the controller.

로봇 작업셀 자동 보정 SW는 i) 로봇, 그리퍼, 제품 등의 기준 포인트-클라우드를 로딩하고 엣지 및 평면, 평면 간의 관계 정보 등을 추출하는 피처 추출(Feature Extraction) 부 (도 11 참조), ii) 실제 로봇 작업셀의 포인트-클라우드 데이터 로딩, 스캔된 장면(scene)에 대응하는 로봇 조인트 값 입력 (OLP로부터 취득), 객체 정렬 및 좌표계 정합 수행 등을 위한 스캔 장면(Scene) 분석부 (도 12 참조), iii) 수정된 로봇 TCP 및 제어 프로그램을 확인, 제어 프로그램 저장 등을 위한 결과 디스플레이부 (도 13 참조)로 구성된다.Robot work cell automatic calibration SW i) Loads reference point-clouds of robots, grippers, products, etc., and extracts edge, plane, and relationship information between planes (Feature Extraction) unit (see FIG. 11), ii) Scan scene analysis unit for loading point-cloud data of actual robot work cells, inputting robot joint values corresponding to scanned scenes (acquired from OLP), aligning objects, and performing coordinate system matching (see FIG. 12) ), iii) It consists of a result display unit (see FIG. 13) for checking the modified robot TCP and control program and saving the control program.

도 14는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하기 위한 실험 환경을 나타낸 도면이다.14 is a diagram illustrating an experimental environment for performing a method for automatically correcting a robot work cell according to an embodiment.

테스트 로봇 작업셀은 협동로봇, 2-finger 전동 그리퍼, 압력 센서가 부착된 파트, 치수 오차를 발생시키기 위한 턴테이블, 작업셀의 포인트-클라우드 수집을 위한 레이저 스캐너 등으로 구성되어 있다. 로봇 제어 프로그램은 로봇 프로그래밍 및 시뮬레이션 SW를 이용해 생성하였으며, 포인트-클라우드 데이터 수집 SW를 이용하여 로봇 작업셀의 포인트-클라우드를 확보하였다.The test robot work cell consists of a collaborative robot, a 2-finger electric gripper, a pressure sensor attached part, a turntable to generate dimensional errors, and a laser scanner for point-cloud collection of the work cell. The robot control program was created using robot programming and simulation SW, and the point-cloud of the robot work cell was secured using point-cloud data collection SW.

도 15는 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하여 그리핑 작업 로봇 프로그램을 보정한 결과를 나타낸 도면이고, 도 16은 그리핑 작업 시 파트로 작용하는 그리핑 압력 분포를 나타낸 시뮬레이션 결과이다.15 is a view showing the result of calibrating a gripping work robot program by performing a method for automatically correcting a robot work cell according to an embodiment, and FIG. 16 is a simulation result showing a gripping pressure distribution acting as a part during gripping work. am.

OLP를 통해 생성된 로봇 프로그램을 동작시킬 경우 도 15의 왼쪽-위와 같이 파트와 그리퍼 사이의 공간에 차이를 보이며 (실제 계획은 동일한 공간을 가지도록 프로그래밍), 왼쪽-아래와 같이 그리퍼가 계획된 자세보다 회전한 것을 알 수 있다. 이를 로봇 작업셀 자동 보정 SW를 통해 로봇 프로그램을 보정할 경우 도 15의 오른쪽과 같이 원래의 계획대로 그리퍼가 위치하는 것을 확인할 수 있다.When operating the robot program generated through OLP, the space between the part and the gripper shows a difference as shown in the upper left of FIG. you can see what it did When the robot program is corrected through the robot work cell automatic correction SW, it can be confirmed that the gripper is positioned as originally planned, as shown on the right side of FIG. 15 .

도 16은 로봇 프로그램의 보정 후 그리퍼가 제품을 잡을 때 발생하는 압력의 분포를 보여주며, 제품 두 면의 중심부에 고른 압력이 분포되는 것을 확인할 수 있다.16 shows the distribution of pressure generated when the gripper grips the product after calibration of the robot program, and it can be seen that the pressure is evenly distributed in the center of the two surfaces of the product.

도 17은 일 실시예에 따른 로봇 작업셀 자동 보정방법을 수행하여 포인팅 작업을 위한 로봇 프로그램을 보정한 결과를 나타낸 것이다.17 illustrates a result of correcting a robot program for a pointing task by performing a method of automatically correcting a robot work cell according to an embodiment.

로봇 작업셀 자동 보정 시스템의 정확도 검증을 위해 포인팅 작업을 위한 로봇 프로그램의 보정 실험을 수행하였다. 도 14와 동일한 환경에서 그리퍼 마킹을 할 수 있는 펜을 장착하고, 제품의 상단에 5개의 점을 찍을 수 있는 프로그램을 OLP를 통해 생성하였다. 계획된 프로그램을 바로 실행시켰을 때 로봇은 모든 점을 찍지 못하였으며, 로봇 프로그램을 보정한 이후 도 17과 같은 결과를 보여주었다. 실제 찍혀진 점들은 계획된 점들과 평균 0.0817mm의 오차를 보인다.To verify the accuracy of the robot work cell automatic calibration system, a calibration experiment of the robot program for pointing work was performed. In the same environment as in FIG. 14, a pen capable of marking the gripper was mounted, and a program capable of marking 5 dots on the top of the product was created through OLP. When the planned program was immediately executed, the robot failed to take all the points, and after correcting the robot program, the results shown in FIG. 17 were shown. The actual stamped points show an average error of 0.0817mm from the planned points.

도 18은 일 실시예에 따른 로봇 작업셀 자동 보정 시스템을 개략적으로 도시한 구성도이다.18 is a configuration diagram schematically illustrating a system for automatically correcting a robot work cell according to an exemplary embodiment.

도 18을 참조하면, 본 실시예에 따른 로봇 작업셀 자동 보정 시스템(100)은 이동식 스캐너(120)와 컴퓨터 유닛(130)을 포함한다. Referring to FIG. 18 , the robot work cell automatic calibration system 100 according to the present embodiment includes a mobile scanner 120 and a computer unit 130 .

이동식 스캐너(120)는 이동식 레이저 스캐너일 수 있으며, 자유롭게 이동시킬 수 있고 특정 위치에 고정되지 않는 이동식(portable)이다. 이동식 스캐너(120)는 대상 로봇 작업셀(50)을 스캔하여 포인트-클라우드 데이터를 수집할 수 있다. 이때 로봇 작업셀(50)은 로봇 베이스, 로봇 암, 및 그리퍼를 포함하여 제품을 집어 올리는 작업을 수행하도록 구성될 수 있다.The mobile scanner 120 may be a mobile laser scanner, and is portable that can be moved freely and is not fixed to a specific location. The mobile scanner 120 scans the target robot work cell 50 to collect point-cloud data. In this case, the robot work cell 50 may include a robot base, a robot arm, and a gripper to perform a task of picking up a product.

컴퓨터 유닛(130)은 대상 로봇 작업셀(50)의 로봇 작업을 위한 로봇 프로그램을 생성하고, 대상 로봇 작업셀(50)의 3D 설계 모델의 기하 정보를 추출하고, 상기 추출된 3D 설계 모델과 상기 실제 스캔된 포인트-클라우드 데이터의 비교를 통해 대상 로봇 작업셀(50)의 객체를 초기 정렬하고, 상기 추출된 3D 설계 모델과 상기 실제 스캔된 포인트-클라우드 데이터의 좌표계를 정합하고, 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하도록 구성될 수 있다. 즉, 상기 도 1 내지 도 17을 참조하여 설명한 로봇 작업셀 자동 보정방법이 컴퓨터 유닛(130)을 통해 수행될 수 있다.The computer unit 130 generates a robot program for robot operation of the target robot work cell 50, extracts geometric information of the 3D design model of the target robot work cell 50, and converts the extracted 3D design model and the Objects of the target robot work cell 50 are initially aligned through comparison of actual scanned point-cloud data, matching the coordinate system of the extracted 3D design model and the actually scanned point-cloud data, and target robot work cell It may be configured to adjust the TCP (Tool Center Position) and correct the robot program. That is, the method of automatically calibrating the robot work cell described above with reference to FIGS. 1 to 17 may be performed through the computer unit 130 .

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

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.

컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 여기서 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드가 포함된다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Computer readable media may include program instructions, data files, data structures, etc. alone or in combination. The medium may be specially designed and constructed or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs, RAMs, flash memories, and the like. A hardware device specially configured to store and execute the same program instructions is included. Here, the medium may be a transmission medium such as light including a carrier wave for transmitting a signal specifying a program command, data structure, or the like, or a metal wire or a waveguide. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상을 통해 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 청구범위와 발명의 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다.Although the preferred embodiments of the present invention have been described above, the present invention is not limited thereto, and various modifications and implementations are possible within the scope of the claims and the description and the accompanying drawings, and this is also the purpose of the present invention. It is natural to fall within the scope.

50: 로봇 작업셀
100: 로봇 작업셀 자동 보정 시스템
120: 이동식 스캐너
130: 컴퓨터 유닛
50: robot work cell
100: Robot work cell automatic calibration system
120: mobile scanner
130: computer unit

Claims (16)

대상 로봇 작업셀의 로봇 작업을 위한 로봇 프로그램을 생성하는 단계;
이동식 스캐너를 이용하여 상기 대상 로봇 작업셀의 스캔된 포인트-클라우드(point-cloud) 데이터를 수집하는 단계;
상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보를 추출하는 단계;
상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 비교를 통해 상기 대상 로봇 작업셀의 객체를 초기 정렬하는 단계;
상기 추출된 3D 설계 모델과 상기 스캔된 포인트-클라우드 데이터의 좌표계를 정합하는 단계; 및
상기 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하는 단계
를 포함하는 로봇 작업셀 자동 보정방법.
generating a robot program for robot operation of a target robot work cell;
Collecting scanned point-cloud data of the target robot work cell using a mobile scanner;
extracting geometric information of a 3D design model of the target robot work cell;
initially aligning objects of the target robot work cell through comparison of the extracted 3D design model and the scanned point-cloud data;
Matching coordinate systems of the extracted 3D design model and the scanned point-cloud data; and
Adjusting the TCP (Tool Center Position) of the target robot work cell and correcting the robot program
Robot work cell automatic calibration method comprising a.
제 1 항에 있어서,
상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보는 상기 3D 설계 모델로부터 추출한 기준(reference) 포인트-클라우드 데이터인, 로봇 작업셀 자동 보정방법.
According to claim 1,
The method of automatically correcting the robot work cell, wherein the geometric information of the 3D design model of the target robot work cell is reference point-cloud data extracted from the 3D design model.
제 1 항에 있어서,
상기 객체를 초기 정렬하는 단계는,
상기 이동식 스캐너로 스캔된 포인트-클라우드 데이터로부터 상기 객체의 엣지(edge)와 평면을 추출하여 활용하는 과정을 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 1,
In the initial sorting of the objects,
A method for automatically correcting a robot work cell, comprising a process of extracting and utilizing an edge and a plane of the object from point-cloud data scanned by the mobile scanner.
제 3 항에 있어서,
상기 객체의 엣지(edge)와 평면을 추출하는 과정은,
상기 포인트-클라우드 데이터에서 임의의 점과 주변 점들의 표면 법선 벡터들을 도출하고,
상기 도출한 표면 법선 벡터들이 동일한 원점을 가지는 구(球)에서 표현되도록 하고,
상기 임의의 점에 해당하는 표면 법선 벡터가 위치한 구에서의 점과 상기 주변 점들에 대응하는 표면 법선 벡터들 간의 거리 합의 평균을 강화된 엣지 피처로 선정하는
과정을 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 3,
The process of extracting the edge and plane of the object,
Derive surface normal vectors of an arbitrary point and surrounding points in the point-cloud data;
The derived surface normal vectors are expressed on a sphere having the same origin,
Selecting the average of the sum of the distances between a point on the sphere where the surface normal vector corresponding to the arbitrary point is located and the surface normal vectors corresponding to the surrounding points is selected as the enhanced edge feature
A method for automatically calibrating a robot work cell, including a process.
제 3 항에 있어서,
상기 객체를 초기 정렬하는 단계는,
상기 3D 설계 모델의 구분된 평면 형상과 상기 스캔되어 수집된 포인트-클라우드 데이터 내의 구분된 평면 형상을 비교하여 상기 객체의 위치를 탐색하는 과정을 더 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 3,
In the initial sorting of the objects,
Further comprising the step of searching for the position of the object by comparing the divided plane shapes of the 3D design model and the divided plane shapes in the scanned and collected point-cloud data.
제 3 항에 있어서,
상기 객체를 초기 정렬하는 단계는,
상기 추출된 평면들의 표면 법선 벡터, 상대 거리, 및 각도에 의해 평면 관계를 정의하는 과정을 더 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 3,
In the initial sorting of the objects,
The method of automatically correcting a robot work cell, further comprising defining a plane relationship by a surface normal vector, a relative distance, and an angle of the extracted planes.
제 1 항에 있어서,
상기 대상 로봇 작업셀은 로봇 베이스, 로봇 암, 및 그리퍼를 포함하여 제품을 집어 올리는 작업을 수행하도록 구성되고,
상기 좌표계를 정합하는 단계는,
상기 스캔된 포인트-클라우드 데이터와 상기 3D 설계 모델의 상기 그리퍼를 정렬하고,
상기 로봇 베이스의 좌표를 추정하고,
상기 그리퍼 및 상기 제품의 지역좌표를 추정하는
과정을 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 1,
The target robot work cell includes a robot base, a robot arm, and a gripper, and is configured to perform a task of picking up a product,
The step of matching the coordinate system,
Aligning the gripper of the 3D design model with the scanned point-cloud data,
Estimating the coordinates of the robot base,
Estimating the local coordinates of the gripper and the product
A method for automatically calibrating a robot work cell, including a process.
제 7 항에 있어서,
상기 대상 로봇 작업셀의 TCP 를 조정하고 상기 로봇 프로그램을 수정하는 단계는,
상기 좌표계를 정합하는 단계에서 도출한 상기 그리퍼의 변환 행렬과 상기 제품의 변환 행렬을 이용하여 상기 대상 로봇 작업셀의 TCP 를 변경하는 과정을 더 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 7,
The step of adjusting the TCP of the target robot work cell and modifying the robot program,
and changing the TCP of the target robot workcell by using the transformation matrix of the gripper and the transformation matrix of the product derived in the matching of the coordinate systems.
제 1 항에 있어서,
상기 대상 로봇 작업셀의 스캔된 포인트-클라우드 데이터를 수집하는 단계는,
상기 대상 로봇 작업셀의 위치를 변경하여 복수 회 스캔하여 수행되는 것을 포함하고,
상기 좌표계를 정합하는 단계는,
상기 복수 회 스캔한 데이터의 수만큼 반복하여 수행되는 것을 포함하는, 로봇 작업셀 자동 보정방법.
According to claim 1,
The step of collecting the scanned point-cloud data of the target robot work cell,
It is performed by changing the position of the target robot work cell and scanning it a plurality of times,
The step of matching the coordinate system,
A method for automatically correcting a robot work cell, comprising repeatedly performing as many times as the number of data scanned a plurality of times.
대상 로봇 작업셀을 스캔하여 스캔된 포인트-클라우드 데이터를 수집하는 이동식 스캐너; 및
상기 대상 로봇 작업셀의 로봇 작업을 위한 로봇 프로그램을 생성하고, 상기 대상 로봇 작업셀의 3D 설계 모델의 기하 정보를 추출하고, 상기 추출된 3D 설계 모델과 상기 실제 스캔된 포인트-클라우드 데이터의 비교를 통해 상기 대상 로봇 작업셀의 객체를 초기 정렬하고, 상기 추출된 3D 설계 모델과 상기 실제 스캔된 포인트-클라우드 데이터의 좌표계를 정합하고, 상기 대상 로봇 작업셀의 TCP (Tool Center Position)를 조정하고 상기 로봇 프로그램을 수정하도록 구성된 컴퓨터 유닛
을 포함하는 로봇 작업셀 자동 보정 시스템.
a mobile scanner that scans a target robot work cell and collects scanned point-cloud data; and
Creating a robot program for robot operation of the target robot work cell, extracting geometric information of a 3D design model of the target robot work cell, and comparing the extracted 3D design model with the actually scanned point-cloud data The object of the target robot work cell is initially aligned, the coordinate system of the extracted 3D design model and the actually scanned point-cloud data is matched, the TCP (Tool Center Position) of the target robot work cell is adjusted, and the A computer unit configured to modify the robot program
Robotic work cell automatic calibration system comprising a.
제 10 항에 있어서,
상기 컴퓨터 유닛은, 상기 이동식 스캐너로 스캔된 포인트-클라우드 데이터로부터 상기 객체의 엣지(edge)와 평면을 추출하여 활용하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 10,
The computer unit is configured to extract and utilize an edge and a plane of the object from point-cloud data scanned by the mobile scanner.
제 11 항에 있어서,
상기 컴퓨터 유닛은,
상기 객체의 엣지(edge)와 평면을 추출하는 과정으로, 상기 포인트-클라우드 데이터에서 임의의 점과 주변 점들의 표면 법선 벡터들을 도출하고, 상기 도출한 표면 법선 벡터들이 동일한 원점을 가지는 구(球)에서 표현되도록 하고, 상기 임의의 점에 해당하는 표면 법선 벡터가 위치한 구에서의 점과 상기 주변 점들에 대응하는 표면 법선 벡터들 간의 거리 합의 평균을 강화된 엣지 피처로 선정하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 11,
The computer unit is
In the process of extracting the edge and plane of the object, surface normal vectors of a random point and surrounding points are derived from the point-cloud data, and the derived surface normal vectors are a sphere having the same origin. And configured to select the average of the sum of the distances between a point on the sphere where the surface normal vector corresponding to the arbitrary point is located and the surface normal vectors corresponding to the surrounding points as the enhanced edge feature, the robot work cell automatically correction system.
제 11 항에 있어서,
상기 컴퓨터 유닛은, 상기 3D 설계 모델의 구분된 평면 형상과 상기 스캔된 포인트-클라우드 데이터 내의 구분된 평면 형상을 비교하여 상기 객체의 위치를 탐색하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 11,
The computer unit is configured to search for the position of the object by comparing the divided plane shape of the 3D design model and the divided plane shape in the scanned point-cloud data.
제 11 항에 있어서,
상기 컴퓨터 유닛은, 상기 추출된 평면들의 표면 법선 벡터, 상대 거리, 및 각도에 의해 평면 관계를 정의하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 11,
The computer unit is configured to define a plane relationship by a surface normal vector, a relative distance, and an angle of the extracted planes.
제 10 항에 있어서,
상기 대상 로봇 작업셀은 로봇 베이스, 로봇 암, 및 그리퍼를 포함하여 제품을 집어 올리는 작업을 수행하도록 구성되고,
상기 컴퓨터 유닛은, 상기 스캔된 포인트-클라우드 데이터와 상기 3D 설계 모델의 상기 그리퍼를 정렬하고, 상기 로봇 베이스의 좌표를 추정하고, 상기 그리퍼 및 상기 제품의 지역좌표를 추정하여 상기 좌표계를 정합하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 10,
The target robot work cell includes a robot base, a robot arm, and a gripper, and is configured to perform a task of picking up a product,
The computer unit is configured to align the coordinate system by aligning the gripper of the 3D design model with the scanned point-cloud data, estimating coordinates of the robot base, and estimating local coordinates of the gripper and the product. , robot work cell automatic calibration system.
제 15 항에 있어서,
상기 컴퓨터 유닛은, 상기 좌표계를 정합하는 단계에서 도출한 상기 그리퍼의 변환 행렬과 상기 제품의 변환 행렬을 이용하여 상기 대상 로봇 작업셀의 TCP 를 변경하도록 구성된, 로봇 작업셀 자동 보정 시스템.
According to claim 15,
Wherein the computer unit is configured to change the TCP of the target robot workcell by using the transformation matrix of the gripper and the transformation matrix of the product derived in the step of matching the coordinate system.
KR1020220026319A 2022-02-28 2022-02-28 Method and system for auto calibration of robot workcells KR20230128862A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220026319A KR20230128862A (en) 2022-02-28 2022-02-28 Method and system for auto calibration of robot workcells

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220026319A KR20230128862A (en) 2022-02-28 2022-02-28 Method and system for auto calibration of robot workcells

Publications (1)

Publication Number Publication Date
KR20230128862A true KR20230128862A (en) 2023-09-05

Family

ID=87973418

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220026319A KR20230128862A (en) 2022-02-28 2022-02-28 Method and system for auto calibration of robot workcells

Country Status (1)

Country Link
KR (1) KR20230128862A (en)

Similar Documents

Publication Publication Date Title
US11642747B2 (en) Aligning parts using multi-part scanning and feature based coordinate systems
US10496762B2 (en) Model generating device, position and orientation calculating device, and handling robot device
JP6004809B2 (en) Position / orientation estimation apparatus, information processing apparatus, and information processing method
JP4418841B2 (en) Working device and calibration method thereof
KR102056664B1 (en) Method for work using the sensor and system for performing thereof
Qin et al. Precise robotic assembly for large-scale objects based on automatic guidance and alignment
US20130060369A1 (en) Method and system for generating instructions for an automated machine
US11654571B2 (en) Three-dimensional data generation device and robot control system
JP2016103230A (en) Image processor, image processing method and program
JP2011007632A (en) Information processing apparatus, information processing method and program
JP2004508954A (en) Positioning device and system
CN101370624A (en) Method and system allowing the automatic picking of parts
JP2010152550A (en) Work apparatus and method for calibrating the same
JPWO2009028489A1 (en) Object detection method, object detection apparatus, and robot system
JP2018136896A (en) Information processor, system, information processing method, and manufacturing method of article
CN112880562A (en) Method and system for measuring pose error of tail end of mechanical arm
CN113319859A (en) Robot teaching method, system and device and electronic equipment
Tish et al. Highly accessible platform technologies for vision-guided, closed-loop robotic assembly of unitized enclosure systems
Wojciechowski et al. Optical scanner assisted robotic assembly
JP2020179441A (en) Control system, information processing device and control method
Bauer et al. Free-form surface analysis and linking strategies for high registration accuracy in quality assurance applications
KR20230128862A (en) Method and system for auto calibration of robot workcells
WO2023205209A1 (en) Autonomous assembly robots
Mileski et al. Development of a computer vision-based system for part referencing in CNC machining centers
Vergeest et al. Directed mean Hausdorff distance of parameterized freeform shapes in 3D: a case study

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application