KR20230081963A - 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법 - Google Patents
딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법 Download PDFInfo
- Publication number
- KR20230081963A KR20230081963A KR1020220149315A KR20220149315A KR20230081963A KR 20230081963 A KR20230081963 A KR 20230081963A KR 1020220149315 A KR1020220149315 A KR 1020220149315A KR 20220149315 A KR20220149315 A KR 20220149315A KR 20230081963 A KR20230081963 A KR 20230081963A
- Authority
- KR
- South Korea
- Prior art keywords
- welding
- path
- deep learning
- generating
- vision camera
- Prior art date
Links
- 238000003466 welding Methods 0.000 title claims abstract description 394
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000013135 deep learning Methods 0.000 title claims abstract description 54
- 239000012636 effector Substances 0.000 claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 41
- 238000010191 image analysis Methods 0.000 claims abstract description 27
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 230000009466 transformation Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 40
- 239000003550 marker Substances 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000013136 deep learning model Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23K—SOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
- B23K31/00—Processes relevant to this subclass, specially adapted for particular articles or purposes, but not covered by only one of the preceding main groups
- B23K31/02—Processes relevant to this subclass, specially adapted for particular articles or purposes, but not covered by only one of the preceding main groups relating to soldering or welding
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/005—Manipulators for mechanical processing tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/19—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
본 기술은 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법에 관한 것이다. 본 기술의 딥러닝을 이용한 용접 자동화 시스템은 용접 대상물과 상기 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지를 생성하며, 상기 용접 대상물 이미지의 각 구성에 대한 깊이 정보를 생성하는 비전 카메라; 상기 용접 대상물 이미지를 기학습된 용접 분석 모델에 적용하여 상기 용접 대상물의 위치, 형상, 및 용접이 필요한 위치에 대한 용접 정보를 생성하고, 상기 용접 정보를 기초로 용접이 수행되어야 하는 위치를 나타내는 2D 용접 경로를 생성하는 딥러닝 이미지 분석 장치; 상기 2D 용접 경로에 대응하는 2D 용접 경로 좌표정보에 상기 깊이 정보를 매칭하여 3D 용접 경로를 생성하고, 변환 매트릭스를 이용하여 상기 3D 용접 경로를 용접 로봇유닛의 이동을 위한 좌표로 변환된 3D 용접 경로를 생성하는 용접 제어장치; 및 상기 용접 제어장치의 제어에 따라 엔드 이펙터(end effector)에 용접 도구를 제어하며, 상기 3D 용접 경로에 기초하여 용접 작업을 수행하는 용접 로봇유닛을 포함하는 딥러닝을 이용한 용접 자동화 시스템을 포함한다.
Description
본 발명은 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법에 관한 것으로, 보다 구체적으로는 비전 카메라를 포함하는 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법에 관한 것이다.
자동 용접은 튜브, 파이프 연결 등 고품질의 용접이 요구될 때 사용되는 용접 방식으로서 오비탈 용접으로도 불리며, 주로 작업 부재 주위로 원운동을 하는 용접 방식을 의미한다. 자동 용접은 수동 용접에 대비하여 높은 생산성을 가지고, 높은 용접 품질이 유지되며, 용접 데이터를 확인할 수 있는 장점이 있어, 항공기 산업, 음식 산업, 생명공학 산업 등에서 많이 이용되고 있다.
최근에는 자동 용접을 넘어 용접 로봇 시스템을 이용한 용접 로봇 용접이 도입되고 있는데, 용접 로봇은 정확하고 신속하게 용접 작업을 완료할 수 있기 때문에, 아크 용접, 스폿 용접, 저항 용접, 티그 용접 등 다양한 용접 방식에 적용되고 있다.
하지만, 종래의 용접 로봇 용접 기술들은 기존에 설정된 용접 라인을 반자동 검출하여 용접을 수행하거나, 단순 영상처리 알고리즘을 사용하여 용접선을 검출하기 때문에, 다양한 환경이나 다양한 용접 대상물의 형태에 대응하지 못하며, 용접 대상물의 변화가 발생할 때 알고리즘 재구성해야 하는 번거로움이 있다.
본 발명의 실시예는 용접 대상물마다 별도로 개별설정을 하지 않아도 다양한 조건의 용접 작업의 수행이 가능한 딥러닝을 이용한 용접 자동화 시스템을 제공한다.
한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 것이다.
본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템은, 용접 대상물과 상기 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지를 생성하며, 상기 용접 대상물 이미지의 각 구성에 대한 깊이 정보를 생성하는 비전 카메라와, 상기 용접 대상물 이미지를 기학습된 용접 분석 모델에 적용하여 상기 용접 대상물의 위치, 형상, 및 용접이 필요한 위치에 대한 용접 정보를 생성하고, 상기 용접 정보를 기초로 용접이 수행되어야 하는 위치를 나타내는 2D 용접 경로를 생성하는 딥러닝 이미지 분석 장치와, 상기 2D 용접 경로에 대응하는 2D 용접 경로 좌표정보에 상기 깊이 정보를 매칭하여 3D 용접 경로를 생성하고, 변환 매트릭스를 이용하여 상기 3D 용접 경로를 용접 로봇유닛의 이동을 위한 좌표로 변환된 3D 용접 경로를 생성하는 용접 제어장치와, 상기 용접 제어장치의 제어에 따라 엔드 이펙터(end effector)에 용접 도구를 제어하며, 상기 3D 용접 경로에 기초하여 용접 작업을 수행하는 용접 로봇유닛을 포함한다.
실시 예에 따라, 상기 비전 카메라는, 상기 엔드 이펙터의 위치를 나타내는 용접 로봇 좌표정보를 생성하고, 비전 카메라의 위치와 상기 용접 로봇유닛의 베이스의 상대적인 위치에 대응하는 매트릭스 방정식을 계산하고, 상기 매트릭스 방정식을 기초로 상기 변환 매트릭스를 생성할 수 있다.
실시 예에 따라, 상기 변환 매트릭스는 상기 비전 카메라를 기준으로 인식되는 3D 용접 경로를 상기 용접 로봇유닛의 베이스를 기준으로 변환할 수 있다.
실시 예에 따라, 상기 비전 카메라는, 상기 엔드 이펙터에 부착된 마커를 촬영하여 상기 용접 로봇 좌표정보를 생성할 수 있다.
실시 예에 따라, 상기 딥러닝 이미지 분석 장치는, 상기 용접 대상물 이미지에서 픽셀 단위로 관심 객체를 추출하는 기학습된 세그멘테션(segmentation) 모델을 이용하여 상기 용접 정보를 생성할 수 있다.
또한 본 발명의 실시 예에 따른 비전 카메라 및 용접 로봇유닛을 포함하는 딥러닝을 이용한 용접 자동화 시스템에 의해 수행되는 용접 자동화 방법으로서, 비전 카메라와 용접 로봇유닛 사이의 캘리브레이션 과정을 수행하는 단계; 용접 대상물과 상기 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지를 생성하며, 상기 용접 대상물 이미지의 각 구성에 대한 깊이 정보를 생성하는 단계; 상기 용접 대상물 이미지를 기학습된 용접 분석 모델에 적용하여 상기 용접 대상물의 위치, 형상, 및 용접이 필요한 위치에 대한 용접 정보를 생성하는 단계; 상기 용접 정보를 기초로 용접이 수행되어야 하는 위치를 나타내는 2D 용접 경로를 생성하는 단계; 상기 2D 용접 경로에 대응하는 2D 용접 경로 좌표정보에 상기 깊이 정보를 매칭하여 3D 용접 경로를 생성하는 단계; 변환 매트릭스를 이용하여 상기 3D 용접 경로를 용접 로봇유닛의 이동을 위한 좌표로 변환된 3D 용접 경로를 생성하는 단계; 및 엔드 이펙터(end effector)에 용접 도구를 제어하며 용접 작업을 수행하는 상기 용접 로봇유닛을 통하여 상기 3D 용접 경로에 기초하여 용접 작업을 수행하는 단계를 포함할 수 있다.
실시 예에 따라, 상기 캘리브레이션 과정을 수행하는 단계는, 상기 엔드 이펙터의 위치를 나타내는 용접 로봇 좌표정보를 생성하고, 비전 카메라의 위치와 상기 용접 로봇유닛의 베이스의 상대적인 위치에 대응하는 매트릭스 방정식을 계산하고, 상기 매트릭스 방정식을 기초로 상기 변환 매트릭스를 생성할 수 있다.
또한 본 발명의 실시 예에 따른 컴퓨터 판독 가능 기록 매체는 상기 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장할 수 있다.
또한 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템은, 비전 시스템, 딥러닝 모델 학습, 용접 자동화 시스템, 로봇 제어 시스템의 크게 4단계로 나뉠 수 있다.
상기 비전 시스템에서는 교정 과정과 환경 촬영의 2가지로 나뉠 수 있다. 교정 과정에서는 각기 다른 위치에서 마커를 촬영하여 로봇 베이스와 비전 센서 간의 상대 좌표를 계산하고, 그 결과를 매트릭스 형태로 출력할 수 있다. 환경 촬영에서는 용접 환경을 비전 센서로 촬영하여 학습용 이미지 데이터의 생성을 위해 딥러닝 학습 모델 단계로 전달하고, 실제 환경에서 용접물의 경로를 검출하기 위해 해당 이미지를 자동화 시스템 단계로도 전달할 수 있다.
상기 딥러닝 모델 학습에서는 경로 검출을 학습하는 데 필요한 이미지 데이터의 생성과 해당 데이터를 이용한 모델의 학습을 진행할 수 있다. 환경에서 비전 센서를 통해 생성한 이미지 데이터를 구분하기 용이한 이미지로 변환시켜주는 이미지 향상 기법과 함께 부족한 이미지의 개수를 늘려주는 데이터 증진 기법을 적용할 수 있다. 해당 기법들을 통해 생성된 이미지 데이터들은 선정한 세그멘테이션 모델에 적용되어 용접물 사이의 필요 용접 경로를 올바르게 찾을 수 있도록 학습을 진행할 수 있다. 학습 결과를 확인하여 경로의 검출이 올바르게 진행되는지 여부를 판단하고, 모델의 수정을 통해 학습 결과 정확도를 향상시킬 수 있다. 그리고 추가적으로 생성되는 데이터들을 입력시켜 다양한 환경과 용접물의 데이터를 주기적으로 학습시킴으로써 정확도를 향상시킬 수 있다.
상기 용접 자동화 시스템에서는 상기 딥러닝 모델 학습에서 학습된 딥러닝 모델을 기반으로 상기 비전 시스템에서 촬영한 환경 이미지에서 용접물의 위치 및 종류를 분석하고 이를 바탕으로 용접물에 최적화된 용접 경로를 검출해낼 수 있다. 그리고 이미지에서 검출해낸 2D 용접 경로와 RGB-D 비전 센서를 통해 얻어지는 깊이 값들(Depth 값들)을 매칭시켜 3차원 용접 경로를 생성할 수 있다.
상기 로봇 제어 시스템에서는 상기 용접 자동화 시스템의 결과로 얻어진 비전 센서 기준 3차원 용접 경로와 상기 비전 시스템에서 계산한 로봇 base와 비전 센서 간의 Matrix를 이용하여 로봇 좌표계에서의 3차원 용접 경로로 변환을 진행할 수 있다. 변환을 통해 생성된 3D 용접 경로를 시각화하여 작업자가 경로를 즉각적으로 확인할 수 있게 하며, 경로 추적 과정을 통해 실제 용접 작업을 진행하기 전 경로의 확인도 진행할 수 있게 할 수 있다. 경로에 이상이 없다면 해당 경로를 기반으로 용접 작업을 진행하며, 해당 과정을 통해 작업자가 경로 정확도에 이상이 없다고 판단되면 이후에는 용접 경로 확인 작업 없이 자동으로 용접 작업이 진행되게 할 수 있다.
실시 예에 따라, 용접 환경 이미지를 딥러닝 모델로 분석하여 용접물 사이의 필요 용접 경로를 자동으로 검출하고 해당 검출 라인에 Gaussian filter와 세선화 알고리즘을 적용해 후처리된 용접 경로를 검출할 수 있다.
실시 예에 따라, Segmentation 기반 Unet3+ 모델의 Loss Function과 Feature map 수정을 통해 용접 라인 검출 성능을 향상시킬 수 있다.
실시 예에 따라, Normal Estimation을 활용하여 3D 용접 경로 생성시 로봇의 End-effector가 진입하게 될 최적의 각도를 추정해내어 3D 용접 경로에 반영할 수 있다.
본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템에 의하면, 용접 대상물의 모양이나 위치가 자주 바뀔 수 있는 다품종 소량 생산에서도 여러 공정 설비가 투입되거나 작업마다 설정을 매번 바꿔주지 않아도 하나의 용접 자동화 시스템으로 다양한 조건의 용접 작업을 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템의 개략적인 블록도이다.
도 2는 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시 예에 따른 캘리브레이션 과정을 설명하기 위한 개략도이다.
도 4는 본 발명의 실시 예에 따른 비전 카메라가 엔드 이펙터 전면부에 설치된 마커를 인식한 상태를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 캘리브레이션 과정을 보다 상세하게 도시하는 도면이다.
도 6a와 도 6b는 본 발명의 실시 예에 따른 용접 자동화 시스템의 2D 용접 경로를 생성하는 방법을 설명하기 위한 도면이다.
첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
도 2는 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 실시 예에 따른 캘리브레이션 과정을 설명하기 위한 개략도이다.
도 4는 본 발명의 실시 예에 따른 비전 카메라가 엔드 이펙터 전면부에 설치된 마커를 인식한 상태를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 캘리브레이션 과정을 보다 상세하게 도시하는 도면이다.
도 6a와 도 6b는 본 발명의 실시 예에 따른 용접 자동화 시스템의 2D 용접 경로를 생성하는 방법을 설명하기 위한 도면이다.
첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템의 개략적인 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템(10)은 비전 카메라(100), 딥러닝 이미지 분석 장치(200), 용접 제어장치(300), 및 용접 로봇유닛(400)을 포함한다.
비전 카메라(100)는 인터페이스를 통해 딥러닝 이미지 분석 장치(200)와 용접 제어장치(300)에 연결되고, 입출력 케이블을 사용하여 트리거되어 2D 평면 상의 영역을 촬영함으로써 2D 이미지를 생성하는 장치이다.
예컨대, 비전 카메라(100)는 영역 스캔 카메라(Area Scan Camera), 라인 스캔 카메라(Line Scan Camera), 3D 라인 스캔 카메라(3D Line Scan Camera), 3D 영역 스캔 카메라(3D Scan Camera) 중 어느 하나로 구현될 수 있으나, 이에 한정되는 것은 아니며 임의의 공지된 영상 촬영장비가 이용될 수 있다.
본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템(10)은 비전 카메라(100)를 이용하여 비전 카메라(100)와 용접 로봇유닛(400) 사이에서 캘리브레이션 과정을 수행할 수 있다. 캘리브레이션(calibration) 과정은 로봇의 베이스 좌표계와 카메라 좌표계의 변환 매트릭스를 계산하여 비전 카메라로부터 취득한 좌표 정보를 로봇 기준으로 변환할 수 있도록 한다. 캘리브레이션 과정을 통한 위치 파악 방식이라 볼 수 있다. 즉, 비전 카메라는 기본적으로 용접 대상물을 촬영하는 촬영 과정도 수행하지만 위치 파악을 위한 캘리브레이션 과정도 수행한다. 촬영 과정과 캘리브레이션 과정은 서로 별개로 수행될 수 있다. 캘리브레이션 과정을 통해 한 번 저장된 변환 매트릭스는 저장되어 카메라 좌표와 로봇의 베이스 좌표간 변환에 지속적으로 활용될 수 있다. 따라서, 후술하는 캘리브레이션 과정을 마커는 탈부착 방식으로서 캘리브레이션 과정에서만 로봇의 엔드 이펙터에 부착되면 된다.
구체적으로, 비전 카메라(100)는 용접 로봇유닛(400)의 툴 센터 포인트(Tool Center Point, TCP)인 엔드 이펙터(end effector)에 부착된 마커를 촬영하여, 촬영된 마커를 인식하여 용접 로봇유닛(400)의 움직임을 인식할 수 있다. 마커는 Charuco(Chess Aruco) 마커가 이용될 수 있으나, 이에 한정되는 것은 아니며 공지된 다양한 마커가 이용될 수 있다.
비전 카메라(100)는 서로 다른 적어도 3개의 위치에서 엔드 이펙터를 촬영하여 마커의 위치를 나타내는 용접 로봇 좌표정보를 생성할 수 있다. 그리고, 비전 카메라(100)는 비전 카메라(100)의 위치와 용접 로봇 좌표정보 사이의 거리 좌표를 계산하고, 용접 로봇유닛(400)의 베이스와 엔드 이펙터 사이의 거리 좌표를 계산할 수 있다.
용접 로봇 좌표정보와 거리 좌표들 계산시 비전 카메라(100)의 위치와 용접 로봇유닛(400)의 베이스의 위치는 고정된 상태이며, 비전 카메라(100)는 용접 로봇유닛(400)의 베이스 좌표계와 비전 카메라(100)의 좌표계의 변환 매트릭스를 계산하여 비전 카메라(100)를 중심으로 계산한 용접 로봇 좌표정보를 용접 로봇유닛(400)의 베이스를 기준으로 변환할 수 있다.
이에 따라, 용접 로봇유닛(400)의 베이스와 비전 카메라(100) 사이에서 각도를 포함한 상대적인 위치관계가 변하더라도, 최소 3개의 엔드 이펙터의 용접 로봇 좌표정보, 용접 로봇유닛(400)의 베이스의 위치와 엔드 이펙터 사이의 거리 좌표, 및 비전 카메라(100)의 위치와 용접 로봇 좌표정보 사이의 거리 좌표가 제공되면, 용접 로봇유닛(400)의 베이스 좌표계로부터 비전 카메라 좌표계 사이의 변환 매트릭스를 계산할 수 있고, 비전 카메라(100)에서 인식되는 모든 좌표 데이터가 용접 로봇유닛(400)의 베이스로 변환되어 용접 로봇유닛(400)의 움직임 제어에 이용될 수 있다.
또한, 비전 카메라(100)는 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지(IM)를 생성하고, 용접 대상물 이미지(IM)를 분석하여 각 구성에 대한 깊이 정보(DP)를 생성할 수 있다.
비전 카메라(100)는 3D 깊이 측정 방식을 이용하며, 2D 이미지 센서를 결합하여 깊이를 인식하는 스테레오 방식(streo-type), 모든 픽셀에 대해 변조된 광 신호의 지연 또는 위상 시프트를 측정하여 이동시간정보를 획득하는 ToF(Time-Of-Flight) 방식, 구조화된 빛 세트 패턴을 투사하여 결과 이미지를 획득하는 구조광 패턴(Structured Pattern) 방식 중 어느 한 방식을 이용할 수 있으나, 이에 한정되는 것은 아니며 다른 공지의 3D 깊이 측정 방식이 이용될 수 있다.
본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템(10)은 딥러닝 이미지 분석 장치(200)를 이용하여 용접 대상물 이미지(IM)를 분석하고, 2D 용접 경로(2DL)를 생성할 수 있다.
구체적으로, 딥러닝 이미지 분석 장치(200)는 비전 카메라(100)에서 촬영된 용접 대상물 이미지(IM)를 기학습된 용접 분석 모델에 적용하여 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 관한 용접 정보를 판단할 수 있다.
딥러닝 이미지 분석 장치(200)는 이미지에서 픽셀 단위로 관심 객체를 추출하는 기법인 세그멘테이션(segmentation) 모델을 이용할 수 있다.
또한, 딥러닝 이미지 분석 장치(200)는 용접 분석 모델의 아키텍쳐로서 풀 스케일로 이루어진 스킵 커넥션을 가진 U-NET3+을 사용할 수 있다.
예컨대, 딥러닝 이미지 분석 장치(200)는 시멘틱 세그멘테이션(Sementic Segmentation) 모델을 이용하여 용접 정보를 판단하며, 용접 대상물 이미지(IM)에 포함된 배경, 용접 로봇, 용접 대상물 등을 물리적 단위로 분류할 수 있다.
예컨대, 딥러닝 이미지 분석 장치(200)는 인스턴스 세그멘테이션(Instance Segmentation) 모델을 이용하여 용접 정보를 판단하며, 용접 대상물 이미지(IM)에 포함된 배경, 용접 로봇, 용접 대상물 등을 분류하며, 용접 대상물들 각각에 대한 분류도 수행할 수 있다.
딥러닝 이미지 분석 장치(200)는 이미지에서 가장 미세한 단위인 픽셀을 이용하기에 다른 방식들에 비해 높은 정확도를 가지지만, 사전에 데이터 라벨링 작업이 요구된다.
이를 위해, 딥러닝 이미지 분석 장치(200)는 용접 대상물 이미지(IM)를 용접 분석 모델에 제공하고, 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 관한 용접 정보에 대한 라벨 정보를 출력하도록 설계되는데, 출력된 라벨 정보가 실제 용접 정보와 매칭되도록 반복적인 학습 작업이 수행된다. 여기서, 학습에 이용되는 용접 대상물 이미지(IM)는 비전 카메라(100)에 의해 직접 촬용된 이미지로 한정된다.
딥러닝 이미지 분석 장치(200)는 용접 분석 모델을 통해 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 대한 판단이 완료되면, 용접이 수행되어야 할 2D 용접 경로(2DL)를 이미지에서 검출하고, 2D 용접 경로 좌표정보를 생성할 수 있다. 또한, 딥러닝 이미지 분석 장치(200)는 용접 대상물 이미지(IM) 상에 용접이 필요한 접합부위를 2D 용접 경로(2DL)로서 표시할 수 있다.
용접 제어장치(300)는 딥러닝 이미지 분석 장치(200)에 의해 검출된 2D 용접 경로(2DL)와 용접 대상물 이미지(IM)의 깊이 정보(DP)를 이용하여 3D 용접 경로를 생성할 수 있다. 그리고, 용접 제어장치(300)는 비전 카메라(100)에서 생성된 변환 매트릭스를 이용하여 3D 용접 경로를 용접 로봇유닛(400)의 이동을 위한 좌표로 변환된 3D 용접 경로(3DL)를 생성할 수 있다.
변환된 3D 용접 경로(3DL)는 엔드 이펙터의 초기 위치에 해당되는 홈 포지션부터 용접 시작점까지의 이동 경로와, 용접 시작점부터 용점 종료점까지의 이동 경로를 포함한다. 용접 제어장치(300)는 변환된 3D 용접 경로(3DL)의 생성이 완료되면, 용접 로봇유닛(400)을 제어하여 변환된 3D 용접 경로(3DL)에 따른 용접 작업을 수행할 수 있다.
용접 로봇유닛(400)은 엔드 이펙터가 장착된 로봇 암을 포함하며, 엔드 이펙트의 말단에는 용접 작업을 위한 용접봉, 전극 등이 배치될 수 있다. 용접 로봇유닛(400)은 변환된 3D 용접 경로(3DL)에 따라 엔드 이펙터를 이동시켜서 용접 작업을 수행할 수 있다.
본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 시스템(10)에 의하면, 용접 대상물의 모양이나 위치가 자주 바뀔 수 있는 다품종 소량 생산에서도 여러 공정 설비가 투입되거나 작업마다 설정을 매번 바꿔주지 않아도 하나의 용접 자동화 시스템으로 다양한 조건의 용접 작업을 수행할 수 있다.
도 2는 본 발명의 실시 예에 따른 딥러닝을 이용한 용접 자동화 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 비전 카메라(100)는 용접 작업을 수행하기 위해 비전 카메라(100)와 용접 로봇유닛(400) 사이의 캘리브레이션 과정을 수행할 수 있다(S100). 비전 카메라(100)는 서로 다른 적어도 3개의 위치에서 엔드 이펙터를 촬영하여 마커의 위치를 나타내는 용접 로봇 좌표정보를 생성하고, 비전 카메라(100)의 위치와 용접 로봇 좌표정보 사이의 거리 좌표를 계산하고, 용접 로봇유닛(400)의 베이스와 엔드 이펙터 사이의 거리 좌표를 계산할 수 있다.
그리고, 비전 카메라(100)는 용접 로봇유닛(400)의 베이스 좌표계와 비전 카메라(100)의 좌표계의 변환 매트릭스를 계산하여 비전 카메라(100)를 중심으로 계산한 용접 로봇 좌표정보를 용접 로봇유닛(400)의 베이스를 기준으로 변환하여 캘리브레이션 과정을 완료할 수 있다.
이는 캘리브레이션을 통한 위치 파악 방식이며, 이로써 카메라에서 보이는 모든 데이터가 로봇 기준으로 변환되어 로봇이 용접 작업을 원활하게 수행할 수 있도록 한다.
그리고, 비전 카메라(100)는 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지(IM)를 생성하고, 용접 대상물 이미지(IM)를 분석하여 각 구성의 깊이 정보(DP)를 생성할 수 있다(S110).
딥러닝 이미지 분석 장치(200)는 용접 대상물 이미지(IM)를 기학습된 용접 분석 모델에 적용하여 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 관한 용접 정보를 생성할 수 있다(S120).
이를 위해, 딥러닝 이미지 분석 장치(200)는 이미지에서 픽셀 단위로 관심 객체를 추출하는 기법인 세그멘테이션 모델과, 용접 분석 모델의 아키텍쳐로서 풀 스케일로 이루어진 스킵 커넥션을 가진 U-NET3+을 사용할 수 있다.
그리고, 딥러닝 이미지 분석 장치(200)는 용접 정보를 기초로 용접이 수행되어야 할 2D 용접 경로(2DL)를 이미지에서 검출하고, 2D 용접 경로 좌표정보를 생성할 수 있다(S130). 또한, 딥러닝 이미지 분석 장치(200)는 용접 대상물 이미지(IM) 상에 용접이 필요한 접합부위를 2D 용접 경로(2DL)로서 표시할 수 있다.
용접 제어장치(300)는 2D 용접 경로 좌표정보에 깊이 정보(DP)를 매칭하여 3D 용접 경로를 생성할 수 있다(S140).
그리고, 용접 제어장치(300)는 기 생성된 변환 매트릭스를 통해 3D 용접 경로를 용접 로봇유닛(400)의 이동을 위한 좌표로 변환할 수 있다(S150). 이로써, 비전 카메라(100)의 위치에서 인식되는 3D 용접 경로(3DL)는 모든 좌표 데이터가 용접 로봇유닛(400)의 베이스를 기준으로 변환되어 용접 로봇유닛(400)의 움직임 제어에 이용된다.
용접 로봇유닛(400)은 용접 제어장치(300)에 의해 변환된 3D 용접 경로(3DL)에 따라 엔드 이펙터를 이동시켜서 용접 작업을 수행할 수 있다(S160).
도 3은 본 발명의 실시 예에 따른 캘리브레이션 과정을 설명하기 위한 개략도이다. 도 4는 본 발명의 실시 예에 따른 비전 카메라가 엔드 이펙터 전면부에 설치된 마커를 인식한 상태를 보여주는 도면이다. 그리고, 도 5는 본 발명의 실시 예에 따른 캘리브레이션 과정을 보다 상세하게 도시하는 도면이다.
도면에 도시된 용접 로봇유닛(400)은 T바, 트랜스, 다수의 암, 조인트 등으로 구성된 다관절 구조로 이루어질 수 있으나, 설명의 편의를 위해 엔드 이펙터(410)와 일부 구성들만이 도시되었다.
먼저 도 3을 참조하면, 본 발명의 실시 예에 따른 용접 로봇유닛(400)은 용접 작업을 위한 엔드 이펙터(410), 즉 용접 작업을 수행하기 위한 TCP가 구비된다.
용접 로봇유닛(400)의 엔드 이펙터(410) 전면부에는 탈부착 가능한 마커(MK)가 부착되어 비전 카메라(100)에 의해 엔드 이펙터(410)의 위치 및 움직임이 추적되며, 비전 카메라(100)는 엔드 이펙터(410)에 부착된 마커(MK)를 촬영 및 인식하여 엔드 이펙터(410)의 위치 좌표를 생성할 수 있다. 일 실시예에 따르면, 마커가 탈부착 가능하도록 마커는 플레이트와 같은 마커판에 구비될 수 있고, 별도의 탈부착 부재가 3D 프린터 등에 의해 형성되어 엔드 이펙터와 마커판 사이 연결을 매개할 수 있다.
마커(MK)는 Charuco(Chess Aruco) 마커가 이용될 수 있으나, 이에 한정되는 것은 아니며 공지된 다양한 마커가 이용될 수 있다. 예컨대, 마커(MK)는 사용자가 정의한 문자 기반 마커, 기호 기반 마커 등이 이용될 수도 있다.
도 4 및 도 5를 참조하면, 비전 카메라(100)는 용접 로봇 좌표정보와 거리 좌표들 계산을 위해, 용접 로봇유닛(400)의 전면부를 촬영할 수 있다. 비전 카메라(100)의 위치(PC)와 용접 로봇유닛(400)의 베이스의 위치(PB)는 고정된 상태로 촬영이 진행되며, 용접 로봇유닛(400)의 엔드 이펙터(410)는 일정한 주기마다 이동되어 배치될 수 있다.
비전 카메라(100)는 서로 다른 적어도 3개의 위치에서 엔드 이펙터(410)의 전면부를 촬영하여 마커(MK)의 위치를 나타내는 용접 로봇 좌표정보를 생성할 수 있다.
예컨대, 비전 카메라(100)는 엔드 이펙터(410)의 제1 위치(PR1)에서 마커(MK)를 인식하여 위치 좌표를 판단하고, 엔드 이펙터(410)의 제1 위치(PR1)와 비전 카메라(100)의 위치(PC) 사이의 거리 정보를 계산하고, 엔드 이펙터(410)의 제1 위치(PR1)와 용접 로봇유닛(400)의 베이스의 위치(PB) 사이의 거리 정보를 계산한다.
그리고, 비전 카메라(100)는 엔드 이펙터(410)의 제2 위치(PR2)에서 마커(MK)를 인식하여 위치 좌표를 판단하고, 엔드 이펙터(410)의 제2 위치(PR2)와 비전 카메라(100)의 위치(PC) 사이의 거리 정보를 계산하고, 엔드 이펙터(410)의 제2 위치(PR2)와 용접 로봇유닛(400)의 베이스의 위치(PB) 사이의 거리 정보를 계산한다.
마지막으로, 비전 카메라(100)는 엔드 이펙터(410)의 제3 위치(PR3)에서 마커(MK)를 인식하여 위치 좌표를 판단하고, 엔드 이펙터(410)의 제3 위치(PR3)와 비전 카메라(100)의 위치(PC) 사이의 거리 정보를 계산하고, 엔드 이펙터(410)의 제3 위치(PR3)와 용접 로봇유닛(400)의 베이스의 위치(PB) 사이의 거리 정보를 계산한다.
비전 카메라(100)는 엔드 이펙터(410)의 제1 위치(PR1)와 제2 위치(PR2)에서 계산된 거리 정보를 이용하여 제1 매트릭스 방정식을 생성하고, 엔드 이펙터(410)의 제2 위치(PR2)와 제3 위치(PR2)에서 계산된 거리 정보를 이용하여 제2 매트릭스 방정식을 생성할 수 있다.
그리고, 비전 카메라(100)는 제1 및 제2 매트릭스 방정식을 연산하여 변환 매트릭스를 계산할 수 있다. 이후, 비전 카메라(100)는 변환 매트릭스를 기초로 비전 카메라(100)를 중심으로 계산한 용접 로봇 좌표정보를 용접 로봇유닛(400)의 베이스를 기준으로 변환할 수 있다.
도 6a와 도 6b는 본 발명의 실시 예에 따른 용접 자동화 시스템의 2D 용접 경로를 생성하는 방법을 설명하기 위한 도면이다.
도 6a와 도 6b를 참조하면, 딥러닝 이미지 분석 장치(200)는 비전 카메라(100)에서 촬영된 용접 대상물 이미지(IM)를 기학습된 용접 분석 모델에 적용하여 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 관한 용접 정보를 판단할 수 있다.
특히, 딥러닝 이미지 분석 장치(200)는 이미지에서 픽셀 단위로 관심 객체를 추출하는 기법인 세그멘테이션(segmentation) 모델을 이용하여, 용접 대상물 이미지(IM)에 포함된 배경, 용접 로봇, 용접 대상물 등을 물리적 단위로 분류할 수 있다.
용접 대상물 이미지(IM)가 기학습된 용접 분석 모델에 의해 분석이 완료되면, 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 관한 용접 정보에 대한 라벨 정보가 출력될 수 있다.
그리고, 딥러닝 이미지 분석 장치(200)는 용접 분석 모델을 통해 용접 대상물의 위치, 형상, 및 용접이 필요한 위치 등에 대한 판단이 완료되면, 용접이 수행되어야 할 2D 용접 경로(2DL)를 이미지에서 검출하고, 2D 용접 경로 좌표정보를 생성할 수 있다. 또한, 딥러닝 이미지 분석 장치(200)는 용접 대상물 이미지(IM') 상에 용접이 필요한 접합부위를 2D 용접 경로(2DL)로서 표시할 수 있다.
<실시예>
1. Calibration을 통한 위치 파악 방식
(Calibration 작동 방식) 로봇의 End Effector(TCP 부분)에 탈부착 가능한 Chess Aruco Marker(Charuco)를 부착한 후, 최소 3개의 포지션에서 camera에게 Marker를 인식시켜서 얻은 Camera 포지션과 로봇의 Base에서 End Effector까지의 거리 좌표를 통해 로봇의 Base좌표계와 카메라 좌표계의 변환 Matrix를 계산하여 카메라로부터 취득한 좌표 정보를 로봇 기준으로 변환해 전송할 수 있도록 한다.
(작동 원리 및 과정) 로봇의 End Effector에 탈부착 가능한 Charuco Marker를 부착한 후, 첫 번째 포지션에서의 Camera 좌표와 로봇 Base로부터 End Effector 사이의 정보를 취득한다. 이때, Camera 좌표는 Charuco Marker Board를 기준으로 정의된다. 그리고, 두 번째 포지션에서도 이와 동일하게 Camera 좌표와 로봇의 Base로부터 End Effector 사이의 정보를 취득한다. 이때, 정보를 취득하는 과정에서 로봇의 고유진동으로 인한, Noise값을 보정하여, Matrix에 반영한다. 실제로, 로봇의 Base 부분과 Camera는 움직이지 않고 고정되어 있지만, 이 두 개의 포지션에서 Charuco Marker를 기준으로 보았을 때, 로봇의 Base 부분과 Camera 부분의 좌표는 이동한 것으로 본다. 다만, 첫 번째 포지션과 두 번째 포지션 사이에서 나오는 Matrix 방정식만으로는 모든 변수를 구할 수 없으므로, 두 번째 포지션과 세 번째 포지션 사이에서 한 번 더 이를 실시하여, Matrix 방정식을 만든다. 그렇게 해서 얻은 Matrix 방정식으로부터, 최종적인 로봇의 Base 좌표계로부터 카메라 좌표계 사이의 좌표 변환 Matrix를 얻는다.
(작동 후의 결과) 실제, 로봇과 Camera 사이의 각도를 포함한 상대적인 위치 관계가 변해도, 최소 3개의 포지션에서 얻은 이미지 데이터와 로봇의 Base에서 End Effector의 데이터만 주어지면, 로봇의 Base 좌표계로부터 카메라 좌표계 사이의 변환 Matrix를 취득하여, 카메라에서 보이는 모든 데이터가 로봇 기준으로 변환되어, 로봇이 작업을 원활하게 수행할 수 있도록 한다.
2. Segmentation 모델 기반 경로 검출 방식
Segmentation 모델을 이용하기 위해서는 데이터에 라벨링이라는, 이미지에서 우리가 원하는 분류 대상을 지정하는 작업을 진행해줘야 하기에 해당 데이터들은 직접 촬영 및 제작한 데이터들을 사용하여 학습을 시행한다. 학습한 데이터들을 선정한 딥러닝 모델을 통해 학습시키면 딥러닝 모델이 해당 데이터들에 대해서 우리가 지정해놓은 라벨 부분을 출력하도록 결과가 나타나게 되며, 해당 결과가 얼마나 올바른지를 직접 판단하고 모델에 들어가는 데이터나 모델에서 연산을 진행하는 부분의 수정 등을 거쳐서 우리가 원하는 결과를 올바르게 출력하도록 모델을 제작하게 된다. 이러한 일련의 과정을 거쳐서 학습 모델을 생성하게 되면, 용접 자동화 시스템에 적용하여 실제 환경에서 얼마나 정확한 경로를 검출하는지 확인을 진행하고, 이에 대해서 만족스러운 결과가 나타난다고 판별될 시 해당 모델을 이용하여 경로 검출 작업을 진행하게 된다. 그리고 학습한 모델에 대해서도 추가로 촬영되는 데이터들로 주기적으로 재학습시키는 과정을 통해 성능 및 정확도를 개선하는 과정을 지속해서 진행한다.
3. 용접 경로 검출 방식
먼저, 용접물이 포함된 환경의 촬영을 통해 용접물과 주변 환경에 대한 정보를 시스템에 전송한다. 시스템에서는 전송받은 이미지 데이터를 바탕으로 딥러닝 기술을 적용하여 용접물과 그 외의 것들을 분류하고 용접물의 위치 및 용접이 필요한 위치를 먼저 파악한다. 파악한 용접물의 위치를 바탕으로 이미지에서 나타나는 용접물의 모양을 분석하고, 용접물의 모양에 따라 용접이 필요한 위치를 딥러닝 모델을 이용해 추론하여 용접이 필요한 2D 경로를 이미지에서 검출해낸다. 다음으로 depth 카메라를 통해 얻은 depth 정보와 검출한 2D 경로 좌표들을 이용하여 3D 경로로 재구성을 진행하고, 앞선 과정을 통해 계산된 Calibration Matrix를 통해 용접 로봇이 움직일 수 있는 좌표로 변환을 진행한다. 그 후, 로봇이 움직여서 용접을 진행하게 될 경로 좌표를 바탕으로 용접 로봇이 움직일 수 있도록 용접 로봇의 Home position에서 용접 시작점까지의 이동 경로를 작성한다. 위의 과정들을 통해 용접 로봇이 움직이게 될 전체 경로가 작성이 완료되면, 용접 로봇은 적용된 경로를 따라 용접 작업을 진행한다. 상술한 방법을 이용하면 다품종 소량생산과 같은 용접물의 모양이나 위치가 자주 바뀔 수 있는 공정에 대해 여러 공정 설비가 들어가거나 작업마다 조건을 조절하여 바꿔줄 필요 없이 하나의 용접 공정 설비로 여러 조건의 용접물들을 용접할 수 있게 되어 효율성이 증가하는 효과를 기대할 수 있다.
일 실시예에 따른 용접 자동화 시스템(10)은 기업 내에 서버의 형태로 존재할 수 있다.
본 발명의 실시예에 따른, 서버는 통신부, 프로세서, 및 메모리를 포함한다. 예를 들어, 서버는 컴퓨터와 같이 소프트웨어 또는 애플리케이션을 설치할 수 있는 단말일 수 있다.
통신부는 프로세서 및 메모리와 연결되어 데이터를 송수신한다. 통신부는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 통신부는 서버 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부는 서버와 외부의 장치를 연결하는 요소일 수 있다. 통신부는 인터페이스(interface)일 수 있다. 통신부는 외부의 장치로부터 데이터를 수신하여, 프로세서 및 메모리에 데이터를 전송할 수 있다.
프로세서는 통신부가 수신한 데이터 및 메모리에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다. 프로세서는 메모리에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서에 의해 유발된 인스트럭션들을 실행한다.
메모리는 통신부가 수신한 데이터 및 프로세서가 처리한 데이터를 저장한다. 예를 들어, 메모리는 프로그램(또는 애플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램 또는 애플리케이션은 상품의 결제를 수행하도록 코딩되어 프로세서에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다. 일 실시예에 따르면, 메모리는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다. 메모리는 서버를 동작 시키는 명령어 세트(예를 들어, 소프트웨어 또는 애플리케이션)을 저장한다. 서버를 동작시키는 명령어 세트는 프로세서에 의해 실행된다.
지금까지 설명된 본 발명의 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
또한 본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일 실시예들의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명의 기술 사상은 상기 바람직한 실시예들에 따라 구체적으로 기록되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
10: 딥러닝을 이용한 용접 자동화 시스템
100: 비전 카메라
200: 딥러닝 이미지 분석 장치
300: 용접 제어장치
400: 용접 로봇유닛
410: 엔드 이펙터
PB: 용접 로봇유닛의 베이스의 위치
PC: 비전 카메라의 위치
PR1, PR2, PR3: 엔드 이펙터의 제1 위치, 제2 위치 및 제3 위치
IM, IM': 용접 대상물 이미지
2DL: 2D 용접 경로
3DL: 3D 용접 경로
100: 비전 카메라
200: 딥러닝 이미지 분석 장치
300: 용접 제어장치
400: 용접 로봇유닛
410: 엔드 이펙터
PB: 용접 로봇유닛의 베이스의 위치
PC: 비전 카메라의 위치
PR1, PR2, PR3: 엔드 이펙터의 제1 위치, 제2 위치 및 제3 위치
IM, IM': 용접 대상물 이미지
2DL: 2D 용접 경로
3DL: 3D 용접 경로
Claims (8)
- 용접 대상물과 상기 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지를 생성하며, 상기 용접 대상물 이미지의 각 구성에 대한 깊이 정보를 생성하는 비전 카메라;
상기 용접 대상물 이미지를 기학습된 용접 분석 모델에 적용하여 상기 용접 대상물의 위치, 형상, 및 용접이 필요한 위치에 대한 용접 정보를 생성하고, 상기 용접 정보를 기초로 용접이 수행되어야 하는 위치를 나타내는 2D 용접 경로를 생성하는 딥러닝 이미지 분석 장치;
상기 2D 용접 경로에 대응하는 2D 용접 경로 좌표정보에 상기 깊이 정보를 매칭하여 3D 용접 경로를 생성하고, 변환 매트릭스를 이용하여 상기 3D 용접 경로를 용접 로봇유닛의 이동을 위한 좌표로 변환된 3D 용접 경로를 생성하는 용접 제어장치; 및
상기 용접 제어장치의 제어에 따라 엔드 이펙터(end effector)에 용접 도구를 제어하며, 상기 3D 용접 경로에 기초하여 용접 작업을 수행하는 용접 로봇유닛을 포함하는 딥러닝을 이용한 용접 자동화 시스템. - 제1항에 있어서, 상기 비전 카메라는,
상기 엔드 이펙터의 위치를 나타내는 용접 로봇 좌표정보를 생성하고, 비전 카메라의 위치와 상기 용접 로봇유닛의 베이스의 상대적인 위치에 대응하는 매트릭스 방정식을 계산하고, 상기 매트릭스 방정식을 기초로 상기 변환 매트릭스를 생성하는 딥러닝을 이용한 용접 자동화 시스템. - 제2항에 있어서,
상기 변환 매트릭스는 상기 비전 카메라를 기준으로 인식되는 3D 용접 경로를 상기 용접 로봇유닛의 베이스를 기준으로 변환하는 딥러닝을 이용한 용접 자동화 시스템. - 제2항에 있어서, 상기 비전 카메라는,
상기 엔드 이펙터에 부착된 탈부착 가능한 마커를 촬영하여 상기 용접 로봇 좌표정보를 생성하는 딥러닝을 이용한 용접 자동화 시스템. - 제1항에 있어서, 상기 딥러닝 이미지 분석 장치는,
상기 용접 대상물 이미지에서 픽셀 단위로 관심 객체를 추출하는 기학습된 세그멘테션(segmentation) 모델을 이용하여 상기 용접 정보를 생성하는 딥러닝을 이용한 용접 자동화 시스템. - 비전 카메라 및 용접 로봇유닛을 포함하는 딥러닝을 이용한 용접 자동화 시스템에 의해 수행되는 용접 자동화 방법으로서,
비전 카메라와 용접 로봇유닛 사이의 캘리브레이션 과정을 수행하는 단계;
용접 대상물과 상기 용접 대상물이 포함된 환경을 촬영하여 용접 대상물 이미지를 생성하며, 상기 용접 대상물 이미지의 각 구성에 대한 깊이 정보를 생성하는 단계;
상기 용접 대상물 이미지를 기학습된 용접 분석 모델에 적용하여 상기 용접 대상물의 위치, 형상, 및 용접이 필요한 위치에 대한 용접 정보를 생성하는 단계;
상기 용접 정보를 기초로 용접이 수행되어야 하는 위치를 나타내는 2D 용접 경로를 생성하는 단계;
상기 2D 용접 경로에 대응하는 2D 용접 경로 좌표정보에 상기 깊이 정보를 매칭하여 3D 용접 경로를 생성하는 단계;
변환 매트릭스를 이용하여 상기 3D 용접 경로를 용접 로봇유닛의 이동을 위한 좌표로 변환된 3D 용접 경로를 생성하는 단계; 및
엔드 이펙터(end effector)에 용접 도구를 제어하며 용접 작업을 수행하는 상기 용접 로봇유닛을 통하여 상기 3D 용접 경로에 기초하여 용접 작업을 수행하는 단계를 포함하는 용접 자동화 방법. - 제6항에 있어서, 상기 캘리브레이션 과정을 수행하는 단계는,
상기 엔드 이펙터의 위치를 나타내는 용접 로봇 좌표정보를 생성하고, 비전 카메라의 위치와 상기 용접 로봇유닛의 베이스의 상대적인 위치에 대응하는 매트릭스 방정식을 계산하고, 상기 매트릭스 방정식을 기초로 상기 변환 매트릭스를 생성하는 용접 자동화 방법. - 제6항 내지 제7항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210169350 | 2021-11-30 | ||
KR1020210169350 | 2021-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230081963A true KR20230081963A (ko) | 2023-06-08 |
Family
ID=86765844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220149315A KR20230081963A (ko) | 2021-11-30 | 2022-11-10 | 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230081963A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116984771A (zh) * | 2023-08-16 | 2023-11-03 | 广州盛美电气设备有限公司 | 一种配电柜自动化焊接控制方法、装置、设备及介质 |
-
2022
- 2022-11-10 KR KR1020220149315A patent/KR20230081963A/ko unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116984771A (zh) * | 2023-08-16 | 2023-11-03 | 广州盛美电气设备有限公司 | 一种配电柜自动化焊接控制方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6573354B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
EP3166043B1 (en) | Locating a feature for robotic guidance | |
US7336814B2 (en) | Method and apparatus for machine-vision | |
Bedaka et al. | Automatic robot path integration using three-dimensional vision and offline programming | |
US9352467B2 (en) | Robot programming apparatus for creating robot program for capturing image of workpiece | |
JP3930482B2 (ja) | 3次元視覚センサ | |
Yan et al. | Joint camera intrinsic and lidar-camera extrinsic calibration | |
CN116157837A (zh) | 用于机器人的标定方法和装置 | |
CN104345688A (zh) | 工作场所中定位工具的方法、相应***和计算机程序产品 | |
KR20230081963A (ko) | 딥러닝을 이용한 용접 자동화 시스템 및 이의 용접 자동화 방법 | |
JP6626338B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
Gratal et al. | Virtual visual servoing for real-time robot pose estimation | |
WO2018235219A1 (ja) | 自己位置推定方法、自己位置推定装置および自己位置推定プログラム | |
Ng et al. | Intuitive robot tool path teaching using laser and camera in augmented reality environment | |
JP2009216503A (ja) | 三次元位置姿勢計測方法および装置 | |
CN113601501B (zh) | 机器人柔性作业方法、装置及机器人 | |
KR20130075712A (ko) | 레이저비전 센서 및 그 보정방법 | |
CN117067261A (zh) | 机器人监控方法、装置、设备及存储介质 | |
KR102174035B1 (ko) | 증강 현실을 이용한 대상물 검사 방법 | |
JP2015132523A (ja) | 位置姿勢計測装置、位置姿勢計測方法及びプログラム | |
US20220366642A1 (en) | Generation of object annotations on 2d images | |
Fröhlig et al. | Three-dimensional pose estimation of deformable linear object tips based on a low-cost, two-dimensional sensor setup and AI-based evaluation | |
US20220410394A1 (en) | Method and system for programming a robot | |
CN115082550A (zh) | 从对象的相机图像中定位对象的位置的设备和方法 | |
Nguyen et al. | Revolutionizing robotized assembly for wire harness: A 3D vision-based method for multiple wire-branch detection |