KR20230160277A - 오토노머스 웰딩 로봇 - Google Patents
오토노머스 웰딩 로봇 Download PDFInfo
- Publication number
- KR20230160277A KR20230160277A KR1020237032885A KR20237032885A KR20230160277A KR 20230160277 A KR20230160277 A KR 20230160277A KR 1020237032885 A KR1020237032885 A KR 1020237032885A KR 20237032885 A KR20237032885 A KR 20237032885A KR 20230160277 A KR20230160277 A KR 20230160277A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- welding
- workspace
- seam
- controller
- Prior art date
Links
- 238000003466 welding Methods 0.000 title claims abstract description 225
- 238000000034 method Methods 0.000 claims description 106
- 238000004519 manufacturing process Methods 0.000 claims description 48
- 238000013528 artificial neural network Methods 0.000 claims description 21
- 230000033001 locomotion Effects 0.000 claims description 21
- 230000002040 relaxant effect Effects 0.000 claims 1
- 238000011960 computer-aided design Methods 0.000 description 56
- 238000004364 calculation method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 210000000707 wrist Anatomy 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 210000001503 joint Anatomy 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000011261 inert gas Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005219 brazing Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
- 239000010937 tungsten Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 238000005493 welding type Methods 0.000 description 1
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/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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
- B23K37/02—Carriages for supporting the welding or cutting element
- B23K37/0211—Carriages for supporting the welding or cutting element travelling on a guide member, e.g. rail, track
- B23K37/0229—Carriages for supporting the welding or cutting element travelling on a guide member, e.g. rail, track the guide member being situated alongside the workpiece
-
- 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
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
- B23K37/02—Carriages for supporting the welding or cutting element
- B23K37/0258—Electric supply or control circuits therefor
-
- 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
- B23K37/00—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
- B23K37/04—Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups for holding or positioning work
-
- 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
- B23K9/00—Arc welding or cutting
- B23K9/095—Monitoring or automatic control of welding parameters
- B23K9/0956—Monitoring or automatic control of welding parameters using sensing means, e.g. optical
-
- 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
- B25J15/00—Gripping heads and other end effectors
- B25J15/0019—End effectors other than grippers
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/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
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/1671—Programme 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- 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
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45104—Lasrobot, welding robot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30152—Solder
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Optics & Photonics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Plasma & Fusion (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
일부 실시예에서, 오토노머스 로보틱 웰딩 시스템은 심을 포함하는 파트, 워크스페이스 내 다중 이미지를 캡쳐하도록 구성된 센서, 심을 따라 웰드를 놓도록 구성된 로봇 및 컨트롤러를 포함한다. 상기 컨트롤러는 상기 다중 이미지에 기초하여 워크스페이스 내 파트 상 심을 식별하고, 상기 심을 웰딩하는 경우 팔로우 할 로봇의 경로 및 로봇의 다중 상이한 컨피규레이션을 포함하는 경로를 설계하고, 및 계획된 경로를 따라 심을 웰딩하도록 로봇에게 명령을 내리도록 구성된다.
Description
관련 출원에 대한 상호 참조
본 출원은 “SYSTEMS AND METHODS FOR OPERATING AND CONTROLLING A WELDING ROBOT” 이라는 제목으로 2021년 2월 24일에 출원된 미국 임시 특허 출원 번호 63/153,109와 “SYSTEMS AND METHODS FOR OPERATING AND CONTROLLING A WELDING ROBOT”라는 제목으로 2021년 11월 24일에 출원된 미국 임시 특허 출원 번호 63/282,827의 이익을 주장하며, 각 내용의 전체 내용은 모든 목적을 위해 참조로서 본원에 포함된다.
로봇 제조에는 제조 공정의 하나 이상의 측면을 수행하기 위해 로봇을 사용하는 것이 포함된다. 로봇 웰딩은 로보틱 제조 분야의 한 응용 분야이다. 로봇 웰딩에서 로봇은 하나 이상의 심을 따라 두 개 이상의 파트를 함께 웰딩한다. 이러한 로봇은 사람이 수행하거나 사람이 직접 제어하는 기계에 의해 수행되는 프로세스를 자동화하기 때문에 생산 시간, 신뢰성, 효율성 및 비용 측면에서 상당한 이점을 제공한다.
다양한 실시예에서는 웰딩 로봇에 대한 명령을 생성하는 컴퓨터 구현 방법이 있다. 컴퓨터로 구현된 방법은 컴퓨터-구현된 방법은, 파트(part)의 Computer Aided Design(CAD) 모델(model)에 기초하여 웰딩 될 파트 상 후보(candidate) 심(seam)의 예상되는 위치 및 예상되는 방향을 식별(identifying)하는 것; 상기 파트의 리프레젠테이션(representation)을 생성하도록 상기 파트를 포함하는 워크스페이스(workspace)를 스캔(scanning)하는 것; 상기 후보 심의 예상되는 위치 및 예상되는 방향 및 상기 파트의 리프레젠테이션에 기초하여 상기 파트 상 후보 심을 식별하는 것; 상기 후보 심의 실제 위치 및 실제 방향을 결정하는 것; 및 상기 후보 심의 실제 위치 및 실제 방향에 적어도 부분적으로 기초하여 상기 웰딩 로봇에 대한 웰딩 명령을 생셩하는 것;을 포함한다.
예를 들어, 웰딩 로봇을 위한 웰딩 명령을 생성하는 컴퓨터 구현 방법이 있다. 상기 방법은, 센서를 통해, 웰딩될 파트를 포함하는 워크스페이스의 이미지 데이터를 수득하는 것; 상기 이미지 데이터에 기초하여 웰딩될 파트 상 복수의 포인트를 식별하는 것; 상기 복수의 포인트로부터 웰딩될 파트 상 후보 심을 식별하는 것; 및 상기 후보 심의 식별에 적어도 부분적으로 기초하여 상기 웰딩 로봇에 대한 웰딩 명령을 생성하는 것;을 포함한다.
도 1은 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템의 블록도이다.
도 2는 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템의 개략도이다.
도 3은 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템의 개략도이다.
도 4는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드다.
도 5는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드다.
도 6은 다양한 실시예에 따른 등록 프로세스 흐름을 도시하는 블록도이다.
도 7은 다양한 실시예에 따라 로봇의 경로 계획을 결정할 수 있는 그래프 검색 기술의 개략도이다.
도 8은 다양한 실시예에 따른 로봇 암의 수학적 모델이다.
도 9는 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
도 10은 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
도 11은 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
도 2는 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템의 개략도이다.
도 3은 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템의 개략도이다.
도 4는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드다.
도 5는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드다.
도 6은 다양한 실시예에 따른 등록 프로세스 흐름을 도시하는 블록도이다.
도 7은 다양한 실시예에 따라 로봇의 경로 계획을 결정할 수 있는 그래프 검색 기술의 개략도이다.
도 8은 다양한 실시예에 따른 로봇 암의 수학적 모델이다.
도 9는 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
도 10은 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
도 11은 다양한 실시예에 따른 오토노머스 웰딩을 수행하는 방법의 흐름도이다.
기존 웰딩 기술은 지루하고 노동 집약적이며 비효율적이다. 또한 기존 웰딩 기술은 제조 공정에서 흔히 발생하는 불규칙성을 수용할 만큼 유연성이 부족하여 바람직하지 않은 가동 중지 시간과 비효율성을 초래한다. 예를 들어, 기존 웰딩 기술에서는 숙련된 프로그래머가 웰딩 로봇이 웰딩 작업을 수행하는 데 필요한 명령을 생성해야 한다. 이러한 명령은 웰딩 로봇에게 특정 웰딩 작업을 수행하는 데 사용해야 하는 동작, 경로, 궤적 및 웰딩 파라미터를 지시한다. 동일한 웰딩 작업을 여러 번 반복하는 대량 작업을 수행한다는 가정 하에 명령이 작성되었다. 따라서 웰딩 공정(예컨대, 다른 파트) 중에 발생하는 모든 수차로 인해 웰딩 위치가 잘못될 수 있다. 잘못 배치된 웰딩은 결과적으로 비효율성, 비용 및 대량 생산의 기타 부정적인 측면을 증가시킨다.
어떤 경우에는 파트의 CAD(컴퓨터 지원 설계) 모델이 웰딩 작업을 용이하게 하기 위해 웰딩 로봇에 유용할 수 있다. 예를 들어, 웰딩할 파트의 CAD 모델을 웰딩 로봇에 제공하고, 웰딩 로봇은 CAD 모델을 이용하여 웰딩할 심의 위치 등의 움직임을 안내할 수 있다. 웰딩할 심에는 CAD 모델에 애노테이션(예컨대, 각 모서리가 심을 나타내는 사용자가 선택한 가장자리를 포함하는 애노테이션)이 지정되고, 웰딩 로봇은 센서를 사용하여 심을 찾은 후 애노테이션에 따라 웰딩을 한다. 이러한 접근 방식은 숙련된 프로그래머나 제조 엔지니어의 필요성을 줄이거나 없앨 수 있지만 한계가 있다. 예를 들어 웰딩 작업은 매우 정밀한 작업이다. 일반적으로 허용 가능한 웰딩을 생성하려면 웰딩 팁이 심과 관련된 목표 위치로부터 1mm 이내에 위치하는 것이 바람직하다. CAD 모델을 기반으로 웰딩 로봇을 안내할 때 파트가 CAD 모델과 밀접하게 일치하더라도 실제 심은 모델링된 위치에서 1mm 이상 떨어져 있을 수 있으며, 이로 인해 허용 가능한 웰딩을 생성하기 위한 웰딩 팁의 정확한 위치 지정이 어렵거나 불가능할 수 있다. CAD 모델이 실제 파트를 단순화한 경우(소량 생산에서 흔히 발생) 심은 모델링된 위치에서 1cm 이상 제거될 수 있다. 따라서 알려진 기술을 사용하면 CAD 모델을 기반으로 심을 정확하게 찾는 것이 어려울 수 있다. 따라서 웰딩 로봇은 허용할 수 없는 웰딩을 생성하여 불량 파트를 생성할 수 있다.
더욱이, 웰딩 로봇을 제어하기 위한 이전 솔루션은 웰딩 로봇(더 구체적으로는 로봇암)이 심과 같은 제1 포인트에서 제2 포인트까지의 경로를 따라 제조 작업 영역 내에서 이동할 때, 다른 구성 요소(예컨대, 파트, 센서, 클램프 등)와의 충돌을 피하기 위해 웰딩 로봇에 특정 명령을 제공하는 숙련된 조작자를 필요로 한다. 장애물과 충돌이 없는 경로(예컨대, 로봇이 심을 웰딩하기 위해 따를 수 있는 경로)를 식별하는 것을 여기에서는 경로 계획이라고 한다. 숙련된 작업자에게 로봇 암의 수십 또는 수백 개의 잠재적 경로에 대한 경로 계획을 수행하도록 요구하는 것은 비효율적이고 지루하며 비용이 많이 든다. 게다가 기존 웰딩 로봇은 동일한 경로, 동일한 동작, 동일한 궤적을 반복적으로 따르도록 프로그래밍되는 경우가 많다. 이러한 반복적으로 수행되는 프로세스는 제조 프로세스가 고도로 성숙한 대량 제조 환경에서 허용될 수 있으나, 그러나 낮은 또는 중간 볼륨 설정에서는 구성 요소가 웰딩 로봇을 기준으로 예상치 못한 위치에 배치될 수 있으며, 이로 인해 충돌, 부품 정렬 불량, 공차 불량 및 기타 문제가 발생할 수 있다. 따라서 특정 설정에서는 웰딩을 용이하게 하기 위해 숙련된 작업자가 필요할 수 있다.
본 명세서에 설명된 웰딩 기술은 심을 정밀하고 정확하게 식별하고 웰딩하기 위해 웰딩 로봇에 유용한 명령을 자동으로 동적으로 생성할 수 있기 때문에 이전의 웰딩 로봇 및 기술보다 우수하다. 이전 시스템 및 기술과 달리, 여기에 설명된 웰딩 기술은 웰딩할 파트의 CAD 모델을 반드시 필요로 하지 않으며(일부 실시예에서는 아래에 설명하는 것처럼 CAD 모델이 유용할 수 있음), 파트나 제조 워크스페이스에 대해 다른 선험적 정보를 반드시 필요로 하지도 않는다. 오히려, 여기에 설명된 웰딩 기술은 이동식 센서를 사용하여 제조 워크스페이스(특히 파트 및 심)을 3차원(3D) 공간에 매핑하고 이러한 맵을 사용하여 높은 정확도 및 정밀도로 심을 찾아 웰딩한다. 여기에 설명된 웰딩 기술에는 웰딩을 위한 여러 후보 심을 식별하는 기능, 웰딩을 위한 후보 심을 선택하기 위해 사용자와 상호 작용하는 기능, 웰딩 파라미터를 동적으로 변경하고 웰딩 작업에 대한 피드백을 제공한다. 또한, 여기에 설명된 웰딩 기술은 센서에 의해 획득된 데이터를 사용하여 자동으로 동적으로 경로 계획을 수행하도록 구성되며, 즉, 선험적 정보 없이 로봇 암이 따라가는 제조 워크스페이스에서 하나 이상의 경로를 자동으로 동적으로 식별하며, 로봇 암은 다른 구성 요소와 충돌하지 않고 이동할 수 있다. 본 명세서에 설명된 웰딩 기술은 또한 경로 계획 및 웰딩을 동적으로 수행하기 위해 센서에 의해 획득된 데이터와 사전 정보(예컨대, 애노테이션이 달린 CAD 모델)의 조합을 사용하도록 구성된다. 이제 이들 실시예 및 기타 예가 도면을 참조하여 아래에 설명된다.
도 1은 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템(100)의 블록도이다. 시스템(100)은 제조 워크스페이스(101), 사용자 인터페이스(106), 컨트롤러(108), 데이터베이스(112)를 저장하는 스토리지(109)를 포함한다. 시스템(100)은 본 명세서에 명시적으로 설명되지 않은 다른 구성요소 또는 서브시스템을 포함할 수 있다. 제조 워크스페이스(101)은 하나 이상의 센서를 통해 수신된 정보로 도움을 받는 동안 플랫폼이나 포지셔너에 위치하거나 결합되거나 달리 지지되는 하나 이상의 부품에서 로봇 암(들)(arm(s))이 작동하는 영역 또는 인클로저이다. 실시예에서, 워크스페이스(101)은 웰딩을 위한 적절한 안전 조치로 설계된 임의의 적절한 웰딩 영역일 수 있다. 예를 들어, 워크스페이스(101)은 작업장, 작업장, 제조 공장, 제조 공장 등에 위치한 웰딩 영역일 수 있다. 실시예에서, 제조 워크스페이스(101)(또는 보다 일반적으로 워크스페이스(101))은 센서(102), 웰딩, 브레이징 및 본딩과 같은 웰딩 유형 프로세스를 수행하도록 구성된 로봇(110), 웰딩될 파트(114)(예컨대, , 심이 있는 부분) 및 픽스쳐(116)를 포함한다. 픽스쳐(116)는 파트(114)을 유지, 위치 지정 및/또는 조작할 수 있으며, 예를 들어 클램프, 플랫폼, 포지셔너 또는 기타 유형의 픽스쳐 일 수 있다. 픽스쳐(116)는 파트(114)을 단단히 고정하도록 구성될 수 있다. 실시예에서, 픽스쳐(116)은 사용자에 의해 수동으로 또는 모터에 의해 자동으로 조정 가능한다. 예를 들어, 픽스쳐(116)은 웰딩 프로세스 전이나 웰딩 프로세스 중에 그 위치, 배향, 또는 다른 물리적 구성을 동적으로 조정할 수 있다. 일부 실시예에서, 로봇(110)은 하나 이상의 센서(102)를 포함할 수 있다. 예를 들어, 하나 이상의 센서(102)는 로봇(110)의 암(예를 들어, 암에 부착된 웰딩 헤드)에 위치할 수 있다. 다른 실시예에서, 하나 이상의 센서(102)는 이동 가능한 웰딩되지 않은 로봇 암(로봇(110)과 다를 수 있음)에 위치할 수 있다. 또 다른 실시예에서, 하나 이상의 센서(102) 중 하나는 로봇(110)의 암에 위치될 수 있고, 하나 이상의 센서(102) 중 다른 하나는 워크스페이스의 이동 가능한 장비에 위치될 수 있다. 또 다른 실시예에서, 하나 이상의 센서(102) 중 하나는 로봇(110)의 암에 위치될 수 있고, 하나 이상의 센서(102) 중 다른 하나는 이동 가능한 비웰딩 로봇 암에 위치될 수 있다.
센서(102)는 워크스페이스(101)에 대한 정보를 캡처하도록 구성된다. 실시예에서, 센서(102)는 워크스페이스(101)에 대한 시각적 정보(예를 들어, 2차원(2D) 이미지)를 캡처하도록 구성되는 이미지 센서이다. 예를 들어, 센서(102)는 카메라(예를 들어 레이저가 내장된 카메라), 스캐너(예를 들어 레이저 스캐너) 등을 포함할 수 있다. 센서(102)는 LiDAR(Light 감지 및 범위 지정) 센서와 같은 센서를 포함할 수 있다. 대안적으로 또는 추가적으로, 센서(102)는 SONAR(Sound Navigation and Ranging) 장치와 같은 사운드를 방출 및/또는 캡처하도록 구성된 오디오 센서일 수 있다. 대안적으로 또는 추가적으로, 센서(102)는 무선 탐지 및 거리 측정(RADAR) 장치와 같은 전자기(EM)파를 방출 및/또는 포착하도록 구성된 전자기 센서일 수 있다. 시각, 청각, 전자기 및/또는 기타 감지 기술을 통해 센서(102)는 워크스페이스(101)의 물리적 구조에 대한 정보를 수집할 수 있다. 실시예에서, 센서(102)는 정적 정보(예를 들어, 워크스페이스(101)의 고정 구조물)를 수집하고, 다른 실시예에서 센서(102)는 동적 정보(예를 들어, 워크스페이스(101)의 움직이는 구조물)를 수집하고, 또 다른 실시예에서는 센서(102)가 102는 정적 정보와 동적 정보의 조합을 수집한다. 센서(102)는 워크스페이스(101)의 물리적 구조에 관한 모든 정보의 임의의 적절한 조합을 수집할 수 있으며 이러한 정보를 다른 구성요소(예를 들어, 컨트롤러(108))에 제공하여 워크스페이스(101)의 물리적 구조의 3D 리프레젠테이션을 생성할 수 있다. 전술한 바와 같이, 센서(102)는 다양한 정보 유형 중 임의의 것을 캡처하고 전달할 수 있지만, 본 설명에서는 센서(102)가 워크스페이스(101)의 시각적 정보(예: 2D 이미지)를 주로 캡처한다고 가정하며, 이는 이후에 설명되는 바와 같이 워크스페이스(101)의 3D 리프레젠테이션을 생성하기 위해 한꺼번에 사용된다.
워크스페이스(101)의 3D 리프레젠테이션을 생성하기 위해 센서(102)는 다양한 각도에서 워크스페이스(101)의 물리적 구조의 2D 이미지를 캡처한다. 예를 들어, 비록 픽스쳐(116) 또는 ??,(114)의 단일 2D 이미지가 해당 구성 요소의 3D 표현을 생성하는 데 부적절할 수 있고, 마찬가지로 단일 각도, 뷰 또는 평면에서 픽스쳐(116) 또는 파트(114)의 여러 2D 이미지 세트는 해당 구성 요소의 3D 표현을 생성하는 데 부적절할 수 있으나, 워크스페이스(101) 내의 다양한 위치에서 여러 각도에서 캡처된 여러 2D 이미지는 픽스쳐(116) 또는 파트(114)과 같은 구성 요소의 3D 표현을 생성하는 데 적합할 수 있다. 이는 여러 방향에서 2D 이미지를 캡처하면 구성 요소의 정면, 프로필 및 하향식 보기를 포함하는 해당 구성 요소의 3D 리프레젠테이션을 생성하는 구성 요소의 평면도가 필요한 모든 정보를 제공하는 방식과 유사하게 구성 요소에 대한 3차원 공간 정보를 제공하기 때문이다. 따라서, 실시예에서, 센서(102)는 워크스페이스(101) 내의 구조의 3D 리프레젠테이션을 생성하기에 적합한 정보를 캡처하기 위해 워크스페이스(101) 주위를 이동하도록 구성된다. 실시예에서, 센서는 고정되어 있지만 전술한 3D 리프레젠테이션을 생성하기 위해 적절한 정보가 센서(102)에 의해 캡처되도록 워크스페이스(101) 주위에 적절한 수와 적절하게 다양한 위치에 존재한다. 센서(102)가 이동 가능한 실시예에서, 워크스페이스(101) 주위의 그러한 움직임을 용이하게 하는 데 임의의 적합한 구조가 유용할 수 있다. 예를 들어, 하나 이상의 센서(102)는 전동식 트랙 시스템에 위치할 수 있다. 트랙 시스템 자체는 고정되어 있을 수 있지만 센서(102)는 트랙 시스템의 워크스페이스(101) 주위를 이동하도록 구성되어 있다. 그러나 일부 실시예에서는 센서(102)가 트랙 시스템에서 이동 가능하고 트랙 시스템 자체가 워크스페이스(101) 주위에서 이동 가능한다. 또 다른 예에서, 하나 이상의 거울은 점이나 축을 중심으로 및/또는 이를 따라 피벗, 선회, 회전 또는 병진할 수 있는 센서(102)와 함께 워크스페이스(101) 내에 배열되어, 센서(102)는 제1 구성에 있을 때 초기 유리한 지점으로부터 2D 이미지를 캡처하고, 제2 구성에 있을 때 거울을 사용하여 다른 유리한 지점으로부터 2D 이미지를 캡처하도록 한다. 또 다른 예에서, 센서(102)는 점 또는 축을 중심으로 및/또는 이를 따라 피벗, 선회, 회전 또는 병진운동하도록 구성될 수 있는 암에 매달릴 수 있고, 센서(102)는 이들 팔이 전체 동작 범위를 통해 연장될 때 다양한 유리한 지점에서 2D 이미지를 캡처하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 하나 이상의 센서(102)는 로봇(110)(예를 들어, 로봇(110)의 웰딩 헤드)에 위치할 수 있고 로봇(110)이 워크스페이스(101) 주위를 이동할 때 이미지 데이터를 수집하도록 구성될 수 있다. 로봇(110)은 다양한 자유도를 가지고 따라서 다양한 차원으로 이동하기 때문에 로봇(110)에 위치하는 센서(102)는 다양한 관점에서 2D 이미지를 캡처할 수 있다. 또 다른 실시예에서, 하나 이상의 센서(102)는 이미징될 물리적 구조가 워크스페이스(101) 주변이나 내부에서 이동하는 동안 고정될 수 있다. 예를 들어, 고정 센서(102) (예를 들어, 로봇(110)에 연결된 것 또는 로봇(110)에서 분리된 것)는 부품(114)의 다양한 측면에 대한 다중 2D 이미지를 캡처하는 동안, 이미지화할 부품(114)은 포지셔너와 같은 픽스쳐(116)에 위치할 수 있으며, 포지셔너 및/또는 부품(114)은 워크스페이스(101) 내에서 회전하거나 병진(예: x, y 및/또는 z 방향)하거나 이동할 수 있다.
일부 실시예에서, 전술한 센서(102) 구성 중 일부 또는 전부가 구현된다. 다른 센서(102) 구성이 고려되고 본 개시의 범위에 포함된다.
여전히 도 1을 참조하면, 로봇(110)(예를 들어, 로봇(110)의 웰딩 헤드)은 아래 설명되는 바와 같이 컨트롤러(108)로부터 수신된 경로 계획에 따라 워크스페이스(101) 내에서 이동하도록 구성된다. 로봇(110)은 컨트롤러(108)로부터 수신된 명령에 따라 파트(114)에 대해 하나 이상의 적절한 제조 프로세스(예를 들어, 웰딩 작업)를 수행하도록 추가로 구성된다. 일부 실시예에서, 로봇(110)은 웰딩 암을 갖춘 6축 로봇일 수 있다. 로봇(110)은 YASKAWA® 로봇 암, ABB® IRB 로봇, KUKA® 로봇 등과 같은 임의의 적합한 로봇 웰딩 장비일 수 있다. 로봇(110)은 아크 웰딩, 저항 웰딩, 스폿 웰딩, TIG(텅스텐 불활성 가스) 웰딩, MAG(금속 활성 가스) 웰딩, MIG(금속 불활성 가스) 웰딩, 레이저 웰딩, 플라즈마 웰딩, 이들의 조합 및/또는 이와 유사한 것을 수행하도록 구성될 수 있다.
여전히 도 1을 참조하면, 워크스페이스(101), 특히 워크스페이스(101) 내의 센서(들)(102) 및 로봇(110)은 컨트롤러(108)에 연결된다. 컨트롤러(108)는 여기에서 컨트롤러(108) 또는 보다 일반적으로 시스템(100)에 부여된 동작을 수행하도록 구체적이고 특별하게 구성된(예를 들어, 프로그래밍된) 임의의 적합한 기계이다. 일부 실시예에서, 컨트롤러(108)는 범용 컴퓨터가 아니며, 그 대신 여기에서 컨트롤러(108) 또는 더 일반적으로는 시스템(100)에 부여된 작업을 수행하도록 특별히 프로그래밍 및/또는 하드웨어 구성된다. 일부 실시예에서, 컨트롤러(108)는 여기에서 컨트롤러(108) 또는 더 일반적으로 시스템(100)에 부여된 동작을 수행하도록 구성된 주문형 집적 회로(ASIC)이거나 이를 포함한다. 일부 실시예에서, 컨트롤러(108)는 중앙 처리 장치(CPU)와 같은 프로세서를 포함하거나 프로세서이다. 일부 실시예에서, 컨트롤러(108)는 현장 프로그래밍 가능 게이트 어레이(FPGA)이다. 실시예에서, 컨트롤러(108)는 컨트롤러(108)에 의해 실행될 때 컨트롤러(108)가 여기에서 컨트롤러(108) 또는 더 일반적으로 시스템(100)에 귀속된 동작 중 하나 이상을 수행하게 하는 실행 가능한 코드를 저장하는 메모리를 포함한다. 컨트롤러(108)는 본 명세서에 설명된 특정 예로 제한되지 않는다.
컨트롤러(108)는 워크스페이스(101) 내의 센서(들)(102) 및 로봇(110)을 제어한다. 일부 실시예에서, 컨트롤러(108)는 작업공간(101) 내의 픽스쳐(들)(116)을 제어한다. 예를 들어, 컨트롤러(108)는 전술한 바와 같이 워크스페이스(101) 내에서 이동하고/하거나 전술한 바와 같이 2D 이미지, 오디오 데이터 및/또는 EM 데이터를 캡처하도록 센서(들)(102)를 제어할 수 있다. 예를 들어, 컨트롤러(108)는 웰딩 작업을 수행하고 아래에 설명되는 경로 계획 기술에 따라 워크스페이스(101) 내에서 이동하도록 본 명세서에 설명된 로봇(110)을 제어할 수 있다. 예를 들어, 컨트롤러(108)는 포지셔너(예를 들어, 플랫폼, 클램프 등)와 같은 픽스쳐(들)(116)를 조작하여 워크스페이스(101) 내의 하나 이상의 파트를 회전, 병진 이동 또는 이동시킬 수 있다. 컨트롤러(108)는 또한 시스템(100)의 다른 측면을 제어할 수도 있다. 예를 들어, 컨트롤러(108)는 UI(106) 상에 그래픽 인터페이스를 제공함으로써 사용자 인터페이스(UI)(106)와 추가로 상호작용할 수 있고, 이를 통해 사용자는 시스템(100)과 상호 작용하고 시스템(100)에 입력을 제공할 수 있으며, 컨트롤러(108)는 예를 들어, 사용자에게 다양한 유형의 정보(예: 용접 후보로 식별된 이음새, 경로 계획 중 가능한 경로, 용접 매개변수 옵션 또는 선택 등)를 제공 및/또는 수신함으로써 사용자와 상호 작용할 수 있다. UI(106)는 터치스크린 인터페이스, 음성 활성화 인터페이스, 키패드 인터페이스, 이들의 조합 등을 포함하는 임의 유형의 인터페이스일 수 있다.
또한, 컨트롤러(108)는 예를 들어 데이터베이스(112)에 데이터를 저장하고/하거나 데이터베이스(112)로부터 데이터를 검색함으로써 데이터베이스(112)와 상호작용할 수 있다. 데이터베이스(112)는 보다 일반적으로 모든 유형의 정보를 저장하도록 구성된 임의의 적합한 유형의 스토리지(109)에 저장될 수 있다. 일부 실시예에서, 데이터베이스(112)는 RAM(Random Access Memory), 메모리 버퍼, 하드 드라이브, EPROM(Erasable Programmable Read-Only Memory), 전기적으로 지울 수 있는 읽기 전용 메모리(EEPROM), ROM(읽기 전용 메모리), 플래시 메모리 등과 같은 스토리지(109)에 저장될 수 있다. 일부 실시예에서, 데이터베이스(112)는 클라우드 기반 플랫폼에 저장될 수 있다. 데이터베이스(112)는 웰딩 작업을 수행할 때 시스템(100)에 유용한 임의의 정보를 저장할 수 있다. 예를 들어, 데이터베이스(112)는 파트(114)의 CAD 모델을 저장할 수 있다. 다른 예로서, 데이터베이스(112)는 파트(114)의 CAD 모델의 애노테이션이 달린 버전을 저장할 수 있다. 데이터베이스(112)는 또한 CAD 모델을 사용하여 생성된 파트(114)의 포인트 클라우드(본 명세서에서는 CAD 모델 포인트 클라우드라고도 함)를 저장할 수 있다. 유사하게, 파트(114)의 3D 리프레젠테이션 및/또는 파트(114)에 관해 제공된 사용자 입력(예를 들어, 웰딩할 파트(114)의 심, 웰딩 파라미터 등에 관한)에 기초하여 생성된 파트(114)에 대한 웰딩 명령이 제공될 수 있고, 이는 데이터베이스(112)에 저장될 수 있다. 실시예에서, 스토리지(109)는 실행될 때 컨트롤러(108)가 여기에서 컨트롤러(108) 또는 더 일반적으로 시스템(100)에 귀속되는 하나 이상의 동작을 수행하게 하는 실행 가능 코드(111)를 저장한다. 실시예에서, 실행 가능 코드(111)는 단일의 자체 포함된 프로그램이고, 다른 실시예에서 실행 가능 코드는 스토리지(109) 또는 다른 곳에 저장될 수 있는 다른 실행 가능 코드에 대한 하나 이상의 함수 호출을 갖는 프로그램이다. 일부 실시예에서, 실행 코드(111)의 실행에 기인하는 하나 이상의 기능은 하드웨어에 의해 구현될 수 있다. 예를 들어, 다중 프로세서는 실행 코드(111)의 하나 이상의 개별 작업을 수행하는 데 유용할 수 있다.
도 2는 다양한 실시예에 따른 도시된 오토노머스 로봇식 웰딩 시스템(200)의 개략도이다. 시스템(200)은 도 1의 시스템(100)의 예이며, 유사한 참조번호는 유사한 구성요소를 지칭한다. 예를 들어, 시스템(200)은 워크스페이스(201)을 포함한다. 워크스페이스(201)은 선택적으로 이동 가능한 센서(202), 로봇(210)((이동 가능한 센서(202)에 추가로 그 위에 장착된 하나 이상의 센서(202)를 포함할 수 있음) 및 픽스쳐(216)를 포함한다. 로봇(210)은 로봇(210)이 임의의 적절한 자유도로 이동할 수 있게 하는 다중 관절 및 부재(예를 들어, 어깨, 암, 팔꿈치 등)를 포함한다. 로봇(210)은 파트, 예를 들어 픽스쳐(216)(예를 들어 클램프)에 의해 지지될 수 있는 파트에 대한 웰딩 작업을 수행하는 웰딩 헤드(210A)를 포함한다. 시스템(200)은 작업공간(201)에 연결된 UI(206)를 더 포함한다. 작동 시, 센서(202)는 워크스페이스(201)의 2D 이미지를 수집하고 2D 이미지를 컨트롤러(도 2에는 명시적으로 도시되지 않음)에 제공한다. 컨트롤러는 픽스쳐(216), 픽스쳐(216)에 의해 지지되는 부분, 및/또는 워크스페이스(201) 내의 다른 구조와 같은 워크스페이스(201)의 3D 리프레젠테이션(예컨대, 포인트 클라우드)을 생성한다. 컨트롤러는 3D 리프레젠테이션을 사용하여 심(예컨대, 픽스쳐(216)에 의해 지지되는 파트)를 식별하고, 로봇(210)이 워크스페이스(201) 내의 구조물과 충돌하지 않고 심을 웰딩하기 위한 경로를 계획하고, 여기에 설명된 대로 심을 웰딩하는 로봇(210)을 제어하여 다음을 수행한다.
도 3은 다양한 실시예에 따른 오토노머스 로봇식 웰딩 시스템(300)의 개략도이다. 시스템(300)은 도 1의 시스템(100)과 도 2의 시스템(200)의 예이며, 동일한 번호는 유사한 구성요소를 지칭한다. 예를 들어, 시스템(300)은 워크스페이스(301)을 포함한다. 워크스페이스(301)은 선택적으로 이동 가능한 센서(302), 로봇(310)(하나 이상의 센서(302)가 장착될 수 있음) 및 픽스쳐(316)(예컨대, 플랫폼 또는 포지셔너)를 포함한다. 로봇(310)은 로봇(310)이 임의의 적절한 자유도로 이동할 수 있게 하는 다중 관절 및 부재(예를 들어, 어깨, 암, 팔꿈치 등)를 포함한다. 로봇(310)은 파트, 예를 들어 픽스쳐(316)에 의해 지지될 수 있는 파트에 웰딩 작업을 수행하는 웰딩 헤드(310A)를 포함한다. 시스템(300)은 작업공간(301)에 연결된 UI(306)를 더 포함한다. 작동 시, 센서(302)는 워크스페이스(301)의 2D 이미지를 수집하고 2D 이미지를 컨트롤러(도 3에는 명시적으로 도시되지 않음)에 제공한다. 컨트롤러는 픽스쳐(316), 픽스쳐(316)에 의해 지지되는 파트 및/또는 워크스페이스(301) 내의 다른 구조와 같은 워크스페이스(301)의 3D 리프레젠테이션(예컨대, 포인트 클라우드)을 생성한다. 워크스페이스(301) 내의 구조물과 충돌하지 않고 심을 웰딩하기 위한 경로를 계획하고, 여기에 설명된 대로 심을 웰딩하도록 로봇(310)을 제어하여 다음을 수행한다.
도 1을 다시 참조하면, 위에서 설명된 바와 같이, 컨트롤러(108)는 센서(102)로부터 2D 이미지(및 가능하면 오디오 데이터 또는 EM 데이터와 같은 다른 데이터)를 수신하고 2D 이미지에 도시된 구조의 3D 리프레젠테이션을 생성하도록 구성된다. 3D 리프레젠테이션은 포인트 클라우드라고 할 수 있다. 포인트 클라우드는 파트(114) 및/또는 픽스쳐(116)의 표면에 있는 점의 3D 공간 위치를 각각 나타내는 포인트 셋일 수 있다. 일부 실시예에서, 하나 이상의 2D 이미지(예를 들어, 파트(114)에 대해 특정 방향으로 센서(들)(102)에 의해 캡처된 이미지 데이터)는 컨트롤러(108)에 의해 중첩 및/또는 함께 스티칭되어 워크스페이스(101)의 3D 이미지 데이터를 재구성하고 생성할 수 있다. 3D 이미지 데이터는 포인트 클라우드의 적어도 일부 포인트에 대한 연관된 이미지 데이터와 함께 포인트 클라우드를 생성하기 위해 대조될 수 있다.
실시예에서, 3D 이미지 데이터는 데이터로부터 생성된 포인트 클라우드가 6개의 자유도를 가질 수 있는 방식으로 컨트롤러(108)에 의해 대조될 수 있다. 예를 들어, 포인트 클라우드의 각 포인트는 3D 공간에서 극히 작은 위치를 나타낼 수 있다. 전술한 바와 같이, 센서(들)(102)는 다양한 각도에서 포인트의 다수의 2D 이미지를 캡처할 수 있다. 이들 다수의 2D 이미지는 각 포인트에 대한 평균 이미지 픽셀을 결정하기 위해 컨트롤러(108)에 의해 대조될 수 있다. 평균화된 이미지 픽셀을 포인트에 부착할 수 있다. 예를 들어, 센서(들)(102)가 적색, 녹색 및 청색 채널을 갖는 컬러 카메라인 경우, 6개의 자유도는 {x-위치, y-위치, z-위치, 적색 강도, 녹색 강도, 및 청색 강도}가 될 수 있다. 예를 들어, 센서(들)(102)가 흑백 채널을 갖는 흑백 카메라라면, 4개의 자유도가 생성될 수 있다.
도 4는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드(400)이다. 심(406)를 따라 함께 웰딩될 파트(402) 및 파트(404)을 나타낸다. 도 5는 다양한 실시예에 따른 웰딩 가능한 심을 갖는 파트의 예시적인 포인트 크라우드(500)이다. 보다 구체적으로, 포인트 클라우드(500)는 심(506)를 따라 함께 웰딩될 파트(502)과 파트(504)을 나타낸다. 컨트롤러(108)(도 1)는 전술한 바와 같이 센서(102)에 의해 캡처된 2D 이미지에 기초하여 3D 포인트 클라우드(400, 500)를 생성하도록 구성된다. 그런 다음 컨트롤러(108)는 심(406, 506)를 따라 용접 경로를 계획하고, 경로 계획에 따라 로봇(110)을 사용하여 심(406, 506)를 따라 용접을 배치하도록 심(406, 506)와 같은 심을 식별하고 위치를 찾기 위해 포인트 클라우드(400, 500)(또는 일부 예에서는 포인트 클라우드(400, 500)를 생성하는 데 유용한 이미지 데이터)를 사용할 수 있다(도 1). 심 식별 및 경로 계획을 포함하는 이러한 작업을 수행하기 위해 컨트롤러(108)가 실행 코드(111)(도 1)를 실행하는 방식이 이제 상세하게 설명된다.
실행 가능한 코드(111)를 실행할 때 컨트롤러(108)는 신경망을 사용하여 픽셀 단위(예를 들어, 센서(102)에 의해 캡처된 이미지를 사용하거나 센서(102)에 의해 캡처된 이미지를 기반으로 함) 및/또는 포인트 단위(예를 들어 하나 또는 더 많은 포인트 클라우드) 분류를 통해 워크스페이스(101) 내의 구조를 식별하고 분류한다. 예를 들어, 컨트롤러(108)는 워크 스페이스(101) 내의 각각의 이미지화된 구조를 부품(114)으로서, 부품(114)의 심으로서 또는 다수의 부품(114) (여기서는 후보 심이라고 함) 사이의 인터페이스에서, 픽스쳐(116)로서, 로봇(110)으로서 식별하기 위해 픽셀 단위 및/또는 포인트 단위(a pixel-wise and/or point-wise) 분류를 수행할 수 있다. 예를 들어, 컨트롤러(108)는 적절한 트레이닝 데이터를 사용하여 트레이닝된 신경망(예를 들어, U-net 모델)을 기반으로 픽셀 및/또는 포인트를 식별하고 분류할 수 있다. 신경망은 이미지 데이터, 포인트 클라우드 데이터, 공간 정보 데이터 또는 이들의 조합에 대해 훈련될 수 있다. 포인트 클라우드 및/또는 이미지 데이터는 워크스페이스(101) 내의 다양한 유리한 포인트에서 캡처된 정보를 포함하기 때문에, 신경망은 여러 각도 및/또는 관점에서 파트(들)(114)의 픽스쳐(116) 또는 후보 심을 분류하도록 작동 가능하다. 일부 실시예에서, 신경망은 예를 들어 동적 그래프 컨벌루션 신경망(k)과 같이 일련의 점에서 직접 작동하도록 훈련될 수 있으며, 신경망은 포인트 클라우드에서 조직화되지 않은 점을 분석하도록 구현될 수 있다.
일부 실시예에서, 제1 신경망은 포인트별 분류를 수행하기 위해 포인트 클라우드 데이터에 대해 훈련될 수 있고, 제2 신경망은 픽셀별 분류를 수행하기 위해 이미지 데이터에 대해 훈련될 수 있다. 제1 신경망과 제2 신경망은 개별적으로 후보 심을 식별하고 후보 심을 위치화할 수 있다. 제1 신경망과 제2 신경망의 출력은 파트(114)의 하나 이상의 후보 심의 위치와 방향을 결정하기 위한 최종 출력으로 결합될 수 있다.
일부 실시예에서, 픽셀별 분류가 수행되면 결과는 3D 포인트 클라우드 데이터 및/또는 포인트 클라우드 데이터의 메시 버전으로 투영될 수 있으며, 그에 따라 워크스페이스(101)에서 픽스쳐(116)의 위치에 대한 정보를 제공할 수 있다. 입력 데이터가 영상 데이터(예를 들어, 컬러 영상)인 경우, 픽셀 단위의 분할을 위해 컬러 데이터와 함께 깊이 정보 등의 공간 정보도 포함될 수 있다. 일부 실시예에서, 아래에 추가로 설명되는 바와 같이 후보 심을 식별하고 파트(114)에 대해 후보 심을 위치화하기 위해 픽셀별 분류가 수행될 수 있다.
전술한 바와 같이, 컨트롤러(108)는 픽셀 및/또는 포인트를 픽스쳐(116), 파트(114), 파트(114)의 후보 심 등과 같은 워크스페이스(101) 내의 특정 구조로 식별하고 분류할 수 있다. 픽스쳐(116)과 같은 비파트 및 비후보 심 구조로 분류된 이미지 및/또는 포인트 클라우드 데이터의 부분은 데이터에서 분할(예를 들어, 수정 또는 제거)될 수 있으며, 그에 따라 파트(114) 및/또는 파트(114)의 후보 심에 해당하는 식별되고 분류된 데이터를 격리할 수 있다. 일부 실시예에서, 후보 심을 식별하고 위에서 설명한 대로(또는 선택적으로 이러한 분할 이전에) 비파트(114) 및 비후보 심 데이터를 분할한 후, 신경망은 각 후보 심을 분석하여 심의 종류를 결정하도록 구성될 수 있다. 예를 들어, 신경망은 후보 심이 맞대기 조인트, 코너 조인트, 엣지 조인트, 랩 조인트, 티 조인트 등인지 판단하도록 구성될 수 있다. 모델(예를 들어, U-net 모델)은 워크스페이스(101) 내의 여러 유리한 포인트에서 캡처된 데이터를 기반으로 심의 유형을 분류할 수 있다.
이미지 데이터를 사용하여 픽셀별 분류가 수행되는 경우, 컨트롤러(108)는 관심 픽셀(예를 들어, 파트(114)을 나타내는 픽셀 및 파트(114)의 후보 심)을 3D 공간에 투영하여 파트(114) 및 파트(114)의 후보 심을 나타내는 3D 포인트 셋을 생성할 수 있다. 또는, 포인트 클라우드 데이터를 이용하여 포인트별 분류를 수행한다면, 관심 포인트는 포인트 클라우드 내의 3차원 공간에 이미 존재할 수도 있다. 어느 경우든, 컨트롤러(108)에 있어서, 3D 포인트는 순서가 지정되지 않은 포인트 셋이고 3D 포인트 중 적어도 일부는 함께 뭉쳐질 수 있다. 이러한 노이즈를 제거하고 후보 심을 나타내는 연속적이고 연속적인 포인트 서브셋을 생성하려면 MBMS(Manifold Blurring and Mean Shift) 기술 또는 유사한 기술을 적용할 수 있다. 이러한 기술은 점을 압축하고 노이즈를 제거할 수 있다. 이어서, 컨트롤러(108)는 후보 심을 개별 후보 심으로 분해하기 위해 클러스터링 방법을 적용할 수 있다. 달리 말하면, 여러 심을 나타내는 점의 여러 서브셋을 갖는 대신 클러스터링을 사용하면 점의 각 서브셋을 개별 심으로 나눌 수 있다. 클러스터링 후에, 컨트롤러(108)는 포인트의 각각의 개별 서브셋에 스플라인을 맞출 수 있다. 따라서 점의 각 개별 서브셋은 개별 후보 심이 될 수 있다.
제한 없이 요약하면, 위에 설명된 기술을 사용하여 컨트롤러(108)는 워크스페이스(101) 내의 다양한 위치와 유리한 포인트에서 센서(102)에 의해 캡처된 이미지 데이터를 수신한다. 컨트롤러(108)는 신경망을 사용하여 픽셀별 및/또는 포인트별 분류 기술을 수행하여 각 픽셀 및/또는 포인트를 파트(114), 파트(114)의 후보 심 또는 여러 파트(114), 픽스쳐(116) 등 사이의 인터페이스로 분류하고 식별한다. 비파트(114) 구조 및 비후보 심 구조로 식별된 구조는 분할되고, 컨트롤러(108)는 (예를 들어, 잡음을 완화하기 위해) 나머지 포인트에 대해 추가 처리를 수행할 수 있다. 이들 동작을 수행함으로써, 컨트롤러(108)는 파트(114)에 해당 심의 위치 및 방향을 나타내는 후보 심 셋을 생성할 수 있다. 이제 설명되는 바와 같이, 컨트롤러(108)는 후보 심이 실제로 심인지 여부를 결정할 수 있고 선택적으로 파트 및 심의 CAD 모델과 같은 선험적 정보를 사용하여 추가 처리를 수행할 수 있다. 결과 데이터는 아래에 설명된 바와 같이 식별된 심을 따라 웰딩을 배치하기 위한 경로를 계획하기 위해 컨트롤러(108)에 의해 사용하기에 적합한다.
어떤 경우에는 식별된 후보 심이 심이 아닐 수도 있다(즉, 식별된 후보 심이 위양성일 수 있음). 식별된 후보 심이 실제로 심인지 여부를 결정하기 위해, 컨트롤러(108)는 워크스페이스(101) 내부의 다양한 유리한 포인트에서 센서(102)에 의해 캡처된 이미지를 사용하여 신뢰도 값을 결정한다. 신뢰도는 해당 시점에서 결정된 후보 심이 실제 심일 가능성을 나타낸다. 그런 다음 컨트롤러(108)는 서로 다른 관점에 대한 신뢰도 값을 비교하고 실제 심이 아닐 가능성이 있는 후보 심을 제거할 수 있다. 예를 들어, 컨트롤러(108)는 특정 후보 심과 연관된 후보 값의 평균, 중앙값, 최대값 또는 임의의 다른 적절한 요약 통계를 결정할 수 있다. 일반적으로, 실제 심에 해당하는 후보 심은 해당 후보 심을 캡처하는 데 사용되는 다양한 유리한 포인트에 걸쳐 일관되게 높은(예를 들어 임계값 초과) 신뢰도 값을 갖게 된다. 후보 심에 대한 신뢰도의 요약 통계가 임계값 이상인 경우, 제어부(108)는 후보 심을 실제 심으로 지정할 수 있다. 반대로, 후보 심에 대한 신뢰도 값의 요약 통계가 임계값 미만인 경우 후보 심은 웰딩에 적합하지 않은 위양성으로 지정될 수 있다.
위에서 언급한 바와 같이, 실제로 심인 후보 심을 식별한 후, 컨트롤러(108)는 CAD 모델(또는 CAD 모델의 포인트 클라우드 버전)과 같은 선험적 정보를 사용하여 여기에서 등록이라고 하는 추가 처리를 수행할 수 있다. 더 구체적으로, 어떤 경우에는 부품의 심 치수와 CAD 모델의 심 치수 사이에 차이가 있을 수 있으며, CAD 모델은 이후에 본 명세서에 설명된 경로 계획을 수행하기 위해 사용될 수 있으므로 이러한 차이를 설명하기 위해 변형되어야(예를들어, 업데이트되어야) 한다. 이에 따라, 컨트롤러(108)는 제1 심과 제2 심 사이의 차이를 결정하도록 제1 심(예를 들어, 실제 심으로 검증된 파트(114)의 후보 심)와 제2 심(예를 들어, 제1 심에 해당하는 CAD 모델에 (예를 들어, 작업자/사용자에 의해) 애노테이션이 달린 심을 비교한다. 위에서 설명한 대로 CAD 모델의 심에 애노테이션을 달 수 있다. CAD 모델 및/또는 컨트롤러(108)가 후보 심의 위치를 정확하게 예측하는 경우, 제1 심과 제2 심은 거의 동일한 위치에 있을 수 있다. 대안적으로, CAD 모델 및/또는 컨트롤러(108)가 부분적으로 정확한 경우, 제1 심과 제2 심이 부분적으로 겹칠 수 있다. 컨트롤러(108)는 제1 심과 제2 심의 비교를 수행할 수 있다. 제1 심과 제2 심의 이러한 비교는 두 심의 모양과 공간에서의 상대 위치에 부분적으로 기초할 수 있다. 제1 심과 제2 심이 상대적으로 모양이 유사하고 서로 인접해 있으면 제2 심이 제1 심과 동일한 것으로 식별될 수 있다. 이러한 방식으로, 컨트롤러(108)는 CAD 모델에서 정확하게 리프레젠테이션되지 않는 파트 표면의 지형을 설명할 수 있다. 이러한 방식으로, 컨트롤러(108)는 후보 심을 식별할 수 있고 파트의 CAD 모델을 사용하여 파트에 대해 후보 심을 하위 선택하거나 개선하거나 업데이트할 수 있다. 각 후보 심은 파트를 기준으로 후보 심의 위치와 방향을 나타내는 업데이트된 포인트 셋일 수 있다.
도 6은 다양한 실시예에 따른 등록 프로세스 흐름(600)을 도시하는 블록도이다. 등록 프로세스 흐름(600)의 일부 또는 모든 단계는 컨트롤러(108)(도 1)에 의해 수행된다. 컨트롤러(108)는 먼저 CAD 모델(604)의 포인트 클라우드와 센서(102)에 의해 캡처된 이미지를 사용하여 형성된 스캔 포인트 클라우드(606)를 사용하여 대략적인 등록(602)을 수행할 수 있다. CAD 모델 포인트 클라우드(604) 및 스캔 포인트 클라우드(606)는 그들의 포인트가 균일하거나 거의 균일한 분산을 갖고 둘 다 동일하거나 대략 동일한 포인트 밀도를 갖도록 샘플링될 수 있다. 실시예에서, 컨트롤러(108)는 선택되지 않은 나머지 포인트를 유지하고 폐기하기 위해 클라우드에서 포인트를 무작위로 균일하게 선택함으로써 포인트 클라우드(604, 606)를 다운샘플링한다. 예를 들어, 일부 실시예에서는 PDS(Poisson Disk Sampling) 다운 샘플링 알고리즘이 구현될 수 있다. 컨트롤러(108)는 포인트 클라우드(604, 606)의 경계, 샘플 사이의 최소 거리, 및 샘플이 거부되기 전에 선택할 샘플의 한계를 PDS 알고리즘에 대한 입력으로 제공할 수 있다. 일부 실시예에서, 델타 네트워크는 대략적인 등록(602) 동안 한 모델을 다른 모델로 변형하는 데 유용할 수 있다. 델타 네트워크는 소스 모델과 타겟 모델을 가져와 이를 잠재 벡터로 인코딩하는 Siamese 네트워크일 수 있다. 컨트롤러(108)는 잠재 벡터를 사용하여 하나의 모델을 다른 모델로 변형하거나 업데이트하는 점별 변형을 예측할 수 있다. 델타 네트워크에는 학습 데이터 셋이 필요하지 않을 수 있다. CAD 모델 및 스캔 포인트 클라우드(604, 606)가 주어지면, 델타 네트워크의 맥락에서 컨트롤러(108)는 둘 사이의 유사성 또는 유사성 정도를 학습하는 데 하나 이상의 에포크를 소비한다. 이 시대 동안 Delta 네트워크는 이후 등록에 유용한 의미 있는 기능을 학습한다. 델타 네트워크는 변형을 학습하기 위해 건너뛰기 연결을 사용할 수 있지만 일부 실시예에서는 건너뛰기 연결을 사용하지 않을 수도 있다. 경우에 따라 CAD 모델에는 캡처된 이미지(예컨대, 스캔)를 사용하여 생성된 3D 포인트 클라우드에 존재하지 않는 표면이 포함된다. 이러한 경우, 델타 네트워크는 CAD 모델 포인트 클라우드(604)의 누락된 표면에 해당하는 모든 포인트를 스캔 포인트 클라우드(606)의 일부 포인트로 이동한다(그리고 스캔 포인트 클라우드(606)를 업데이트한다). 따라서, 등록 동안, 컨트롤러(108)(예를 들어, 델타 네트워크)는 학습된 특징을 사용하고 원본 CAD 모델을 변환(또는 업데이트)할 수 있거나, 학습된 특징을 사용하고 변형된 CAD 모델을 변환할 수 있다. 실시예에서, 델타 네트워크는 DGCNN(Dynamic Graph Convolutional Neural Network)과 같은 인코더 네트워크를 포함할 수 있다. 포인트 클라우드가 특징으로 인코딩된 후 CAD와 스캔 임베딩으로 구성된 연결된 벡터가 형성될 수 있다. 풀링 연산(예를 들어, 맥스풀링)을 구현한 후, 결과 벡터에 디코더가 적용될 수 있다. 일부 실시예에서, 디코더는 특정 필터(예를 들어, 256, 256, 512, 1024, Nx3 필터)를 갖는 5개의 컨벌루션 계층을 포함할 수 있다. 결과 출력은 CAD 모델 및 스캔 임베딩과 연결되고 최대 풀링된 후 디코더에 한 번 더 제공될 수 있다. 최종 결과에는 포인트별 변환이 포함될 수 있다.
관련 없는 데이터 및 데이터의 노이즈(예를 들어, 대략적 등록(602)의 출력)은 파트(114)의 등록에 영향을 미칠 수 있다. 적어도 이런 이유 때문에 관련 없는 데이터와 노이즈를 최대한 제거하는 것이 바람직하다. 경계 상자(608)는 등록이 수행되는 영역을 제한하기 위해 이러한 관련 없는 데이터 및 노이즈(예를 들어, 픽스쳐(116))를 제거하는 데 유용하다. 다르게 말하면 경계 상자 내부의 데이터는 유지되지만 경계 상자 외부의 모든 데이터(3D 또는 기타)는 삭제된다. 전술한 경계 상자는 CAD 모델 자체를 (예를 들어 부분적으로 또는 완전히) 둘러싸거나 캡슐화할 수 있는 임의의 형상일 수 있다. 예를 들어, 경계 상자는 CAD 모델의 확장되거나 확대된 버전일 수 있다. 경계 상자 외부의 데이터는 최종 등록에서 제거되거나 여전히 포함될 수 있지만 영향을 완화하기 위해 가중치가 부여될 수 있다.
여전히 도 6을 참조하면, 정제된 등록(610) 동안, 컨트롤러(108)는 바운딩 박스(608)의 출력을 오토인코더로서 훈련된 신경망의 컨벌루션 계층 셋을 통해 패치로 전달한다. 보다 구체적으로, 데이터는 오토인코더의 인코더 부분을 통과할 수 있고, 오토인코더의 디코더 부분은 사용되지 않을 수 있다. 입력 데이터는 예를 들어 (128, 3) 모양의 패치 포인트의 XYZ 위치일 수 있다. 출력은 예를 들어 길이 1024의 벡터일 수 있으며 이 벡터는 포인트별 특징에 유용한다.
CAD 포인트 클라우드와 스캔 포인트 클라우드 모델 간의 엄격한 변환을 가장 잘 지원하는 해당 포인트 셋은 등록 중에 결정되어야 한다. 해당 후보는 각 요소가 두 포인트 간의 일치 확률 또는 신뢰도를 저장하는 행렬로 (예를 들어 데이터베이스(112)에) 저장될 수 있다.
이 행렬에서 대응점을 찾는 데는 하드 대응, 소프트 대응, 제품 매니폴드 필터, 그래프 파벌, 공분산 등과 같은 다양한 방법이 유용하다. 정제된 등록(610)이 완료된 후, 등록 프로세스가 완료된다(612).
전술한 바와 같이, 일부 실시예에서 파트(114)의 심의 실제 위치는 센서 이미징(예를 들어, 스캔 포인트 클라우드를 사용하여)을 사용하여 컨트롤러(108)에 의해 결정된 심 위치 및/또는 CAD 모델(예컨대, CAD 모델 포인트 클라우드 사용)에 의해 결정된 심 위치와 다를 수 있다. 이러한 경우, 스캐닝 절차(본 명세서에서 사전 스캔이라고도 함)는 파트(114)의 실제 심 위치와 더 가깝거나 정확하게 일치하도록 결정된 심 위치를 수정하는 데 유용하다. 스캐닝 절차에서, 로봇(110)에 위치하는 센서(102)(여기서는 온보드 센서라고 함)가 심의 스캔을 수행한다. 일부 경우에, 이 스캔은 CAD 모델, 스캔 또는 이들의 조합을 사용하여 컨트롤러(108)에 의해 생성된 초기 모션 및/또는 경로 계획을 사용하여 수행될 수 있다. 예를 들어, 센서(102)는 워크스페이스(101)의 일부 또는 모든 영역을 스캔할 수 있다. 이러한 초기 모션 및/또는 경로 계획을 수행하는 동안, 센서(102)는 관찰 이미지 및/또는 데이터를 캡처할 수 있다. 관찰 이미지 및/또는 데이터는 심 포인트 클라우드 데이터를 생성하기 위해 컨트롤러(108)에 의해 처리될 수 있다. 컨트롤러(108)는 심 위치를 수정하기 위해 포인트 클라우드(들)(604 및/또는 606)를 처리할 때 심 포인트 클라우드 데이터를 사용할 수 있다. 컨트롤러(108)는 또한 경로 수정 및 모션 계획에 심 포인트 클라우드 데이터를 사용할 수도 있다.
일부 실시예에서, 위에 설명된 등록 기술은 온보드 센서(102)에 더해 센서(102)를 사용하여 결정된 심을 온보드 센서(102)에 의해 식별된 것과 비교하고 일치시키는 데 유용할 수 있다. 이러한 방식으로 심을 일치시킴으로써 로봇(110)(더 구체적으로 로봇(110)의 헤드)은 원하는 대로 실제 심에 대해 위치가 지정된다.
일부 실시예에서, 로봇(110)의 사전 스캔 궤적은 심을 따라 웰딩하기 위해 계획된 것과 동일하다. 이러한 일부 실시예에서, 사전 스캔 동안 로봇(110)에 대해 취해진 모션은 확률을 제한하거나 충돌의 인스턴스를 줄이기 위해, 온보드 센서(102)로 심 또는 키 기하학적 구조를 더 잘 시각화하거나 문제의 심 주위의 기하학(geometry)을 스캔하기 위해 별도로 생성될 수 있다.
일부 실시예에서, 사전 스캔 기술은 특정 심 또는 심들보다 더 많은 스캐닝을 포함할 수 있으며, 오히려 파트(들)(114)의 다른 기하학적 구조의 스캐닝도 포함할 수 있다. 스캔 데이터는 심을 찾고, 위치를 찾고, 감지하고 로봇(110)의 헤드가 원하는 심을 따라 배치되고 이동되도록 보장하기 위해 여기에 설명된 기술(예컨대, 등록 기술) 중 일부 또는 모두를 보다 정확하게 적용하는 데 유용할 수 있다.
일부 실시예에서, 스캐닝 기술(예컨대, 웰딩 암/웰딩 헤드에 장착된 센서/카메라를 사용하여 실제 심 스캐닝)은 심에 대한 위치 및 방향 정보보다는 심에 대한 간격 변동성 정보를 식별하는 데 유용할 수 있다. 예를 들어, 스캐닝 절차 동안 로봇(110)의 센서(들)(102)에 의해 캡처된 스캔 이미지는 간격의 가변성을 식별하고 그러한 간격을 설명하기 위해 웰딩 궤적 또는 경로 계획을 조정하는 데 유용할 수 있다. 예를 들어, 3D 포인트에서 2D 이미지 픽셀 또는 이들의 조합은 웰딩할 파트(114) 사이의 가변 간격을 찾는 데 유용할 수 있다. 일부 실시예에서는 가변 간격 찾기가 유용하며, 여기서는 3D 점, 2D 이미지 픽셀 또는 이들의 조합이 함께 웰딩될 파트(114) 사이의 여러 간격의 가변 크기를 찾아 식별하고 측정하는 데 유용한다. 가웰딩 찾기 또는 일반 웰딩 찾기에서, 이전 웰딩부 또는 웰딩될 파트(114) 사이의 갭에 있는 재료 퇴적물은 3D 포인트 및/또는 2D 이미지 픽셀을 사용하여 식별될 수 있다. 이러한 기술 중 일부 또는 전부는 경로 계획을 포함하여 웰딩을 최적화하는 데 유용할 수 있다. 일부 경우에, 간격의 가변성은 센서(102)에 의해 캡처된 이미지를 사용하여 생성된 3D 포인트 클라우드 내에서 식별될 수 있다. 또 다른 경우에, 간격의 변동성은 작업에 대한 웰딩 작업을 수행하는 동안 수행되는 스캐닝 기술(예컨대, 웰딩 암/웰딩 헤드에 장착된 센서/카메라를 사용하여 실제 심을 스캐닝)로 식별될 수 있다. 어느 한 경우에 있어서, 컨트롤러(108)는 결정된 위치 및 갭의 크기에 기초하여 웰딩 명령을 동적으로(예를 들어, 웰딩 전압) 적응시키도록 구성될 수 있다. 예를 들어, 웰딩 로봇의 웰딩 명령을 동적으로 조정하면 다양한 간격에서 심을 정밀하게 웰딩할 수 있다. 웰딩 명령 조정에는 웰딩기 전압, 웰딩기 전류, 전기 펄스 지속 시간, 전기 펄스 모양 및 재료 공급 속도 중 하나 이상을 조정하는 것이 포함될 수 있다.
실시예에서, 사용자 인터페이스(106)는 사용자에게 후보 심을 볼 수 있는 옵션을 제공할 수 있다. 예를 들어, 사용자 인터페이스(106)는 파트(114) 및/또는 파트(114) 상의 후보 심의 그래픽 리프레젠테이션을 제공할 수 있다. 추가적으로 또는 대안적으로, 사용자 인터페이스(106)는 심의 유형에 기초하여 후보 심을 그룹화할 수 있다. 전술한 바와 같이, 컨트롤러(108)는 심의 유형을 식별할 수 있다. 예를 들어, 랩 조인트로 식별된 후보 심은 "랩 조인트"라는 라벨로 그룹화될 수 있으며, "랩 조인트"라는 라벨 아래의 사용자 인터페이스(106)를 통해 사용자에게 제시될 수 있다. 유사하게, 에지 조인트로 식별된 후보 심은 "에지 조인트"라는 라벨 아래에 그룹화될 수 있고 "에지 조인트"라는 라벨 아래의 사용자 인터페이스(106)를 통해 사용자에게 제시될 수 있다.
사용자 인터페이스(106)는 로봇(110)에 의해 웰딩될 후보 심을 선택하는 옵션을 사용자에게 더 제공할 수 있다. 예를 들어, 파트(114)의 각 후보 심은 사용자 인터페이스(106)의 누름 버튼으로 표시될 수 있다. 사용자가 특정 후보 심을 누르면 선택 사항이 컨트롤러(108)로 전송될 수 있다. 컨트롤러(108)는 로봇(110)이 특정 후보 심에 웰딩 작업을 수행하도록 하는 명령을 생성할 수 있다.
일부 실시예에서, 웰딩 파라미터를 업데이트하는 옵션이 사용자에게 제공될 수 있다. 예를 들어, 사용자 인터페이스(106)는 사용자에게 다양한 웰딩 파라미터의 목록을 제공할 수 있다. 사용자는 업데이트할 특정 파라미터를 선택할 수 있다. 선택한 파라미터는 드롭다운 메뉴, 텍스트 입력 등을 통해 변경할 수 있다. 이 업데이트는 컨트롤러(108)로 전송되어 컨트롤러(108)가 로봇(110)에 대한 명령을 업데이트할 수 있도록 할 수 있다.
시스템(100)에 파트(114)의 사전 정보(예컨대, CAD 모델)가 제공되지 않는 실시예에서 , 센서(들)(102)는 파트(114)을 스캔할 수 있다. 파트(114)의 리프레젠테이션은 사용자 인터페이스(106)를 통해 사용자에게 제시될 수 있다. 파트(114)의 이러한 리프레젠테이션은 센서(들)(102)로부터 획득된 파트(114)의 스캔 이미지의 투영된 3D 데이터를 포함하는 포인트 클라우드 및/또는 포인트 클라우드의 메쉬일 수 있다. 사용자는 사용자 인터페이스(106)를 통해 리프레젠테이션에서 웰딩될 심에 애노테이션을 달 수 있다. 대안적으로, 컨트롤러(108)는 파트(114)의 리프레젠테이션에서 후보 심을 식별할 수 있다. 후보 심은 사용자 인터페이스(106)를 통해 사용자에게 제시될 수 있다. 사용자는 후보 심 중에서 웰딩할 심을 선택할 수 있다. 사용자 인터페이스(106)는 사용자의 선택에 기초하여 리프레젠테이션에 애노테이션을 달 수 있다. 일부 실시예에서, 애노테이션이 달린 리프레젠테이션은 데이터베이스(112)에 저장될 수 있다.
위에서 설명된 기술을 사용하여(또는 다른 적절한 기술을 사용하여) 파트(들)(114)의 하나 이상의 심이 식별되고 가능한 정도로 수정된 후, 컨트롤러(108)는 후속 웰딩 프로세스 동안 로봇(110)에 대한 경로를 계획한다. 일부 실시예에서, 그래프 매칭 및/또는 그래프 검색 기술은 로봇(110)의 경로를 계획하는 데 유용할 수 있다. 위에서 설명된 바와 같이 식별된 특정 심은 다수의 포인트를 포함할 수 있으며, 경로 계획 기술은 주어진 심을 따라 이러한 각 포인트에 대해 로봇(110)의 다른 상태를 결정하는 것을 수반한다. 로봇(110)의 상태는 예를 들어 워크스페이스(101) 내의 로봇(110)의 위치 및 적용될 수 있는 임의의 수의 자유도로 로봇(110) 암의 특정 구성을 포함할 수 있다. 예를 들어, 6개의 자유도를 갖는 암을 가진 로봇(110)의 경우, 로봇(110)의 상태에는 워크스페이스(101)에서의 로봇(110)의 위치(예를 들어, 3차원 x-y-z 공간에서 로봇(110)의 용접 헤드 위치) 뿐만 아니라 로봇 팔의 6개 자유도 각각에 대한 특정 하위 상태도 포함된다. 뿐만 아니라, 로봇(110)이 제1 상태에서 제2 상태로 천이할 때, 이는 워크스페이스(101) 내에서 자신의 위치를 변경할 수 있으며, 이러한 경우 로봇(110)은 반드시 워크스페이스(101) 내에서 특정 경로(예컨대 웰딩되는 심을 따라)를 횡단하게 된다. 따라서, 로봇(110)의 일련의 상태를 지정하는 것은 로봇(110)이 워크스페이스(101) 내에서 이동할 경로를 지정하는 것을 필연적으로 수반한다. 컨트롤러(108)는 경로 계획이 완료된 후 사전 스캔 기술 또는 그 변형을 수행할 수 있고, 컨트롤러(108)는 다양한 적절한 조정(예컨대 심을 따라 실제 웰딩을 수행하는 데 사용되는 X-Y-Z 축 또는 좌표계 조정)을 수행하기 위해 사전 스캔 기술 중에 캡처된 정보를 사용할 수 있다.
도 7은 로봇(110)에 대한 경로 계획이 (예를 들어, 컨트롤러(108)에 의해) 결정될 수 있는 그래프 검색 기술의 개략도(700)이다. 다이어그램(700)의 각 원은 로봇(110)의 서로 다른 상태(예를 들어, 작업 공간(101) 내 로봇(110)의 특정 위치(예를 들어, 3D 공간에서 로봇(110)의 용접 헤드 위치)와 로봇(110) 암의 다른 구성뿐만 아니라 포지셔너, 클램프 등과 같은 부품을 지지하는 고정 장치의 위치 및/또는 구성)를 나타낸다. 각각의 컬럼(702, 706, 710)은 웰딩될 심을 따라 다른 포인트를 나타낸다. 따라서, 컬럼(702)에 대응하는 심 포인트에 대해, 로봇(110)은 상태 704A-704D 중 어느 하나에 있을 수 있다. 마찬가지로, 컬럼(706)에 대응하는 심 포인트의 경우, 로봇(110)은 상태 708A-708D 중 어느 하나에 있을 수 있다. 마찬가지로, 컬럼(710)에 대응하는 심 포인트에 대해 로봇(110)은 상태 712A-712D 중 어느 하나에 있을 수 있다. 예를 들어, 로봇(110)이 컬럼(702)에 대응하는 심 포인트에 있을 때 상태 704A에 있다면, 로봇(110)은 컬럼(706)에 대응하는 다음 심 포인트에 대해 상태 708A-708D 중 하나로 전환할 수 있다. 유사하게, 상태 708A-708D에 진입하면, 로봇(110)은 이어서 컬럼(710)에 대응하는 다음 심 포인트에 대해 상태 712A-712D 중 임의의 상태로 전환할 수 있는 등등이다. 일부 실시예에서, 특정 상태에 진입하면 다른 상태에 진입하는 것이 불가능해질 수 있다. 예를 들어, 상태 704A에 들어가면 상태 708A-708C에 들어갈 가능성이 허용되지만 708D에 들어갈 가능성은 허용되지 않는 반면, 상태 704B에 들어가면 상태 708A-708B에 들어가지 않고 상태 708C와 708D에 들어갈 가능성이 허용될 수 있다. 본 개시의 범위는 임의의 특정 수의 심 포인트 또는 임의의 특정 수의 로봇(110) 상태로 제한되지 않는다.
일부 실시예에서, 그래프 검색 기술을 사용하여(예를 들어, 다이어그램(700)에 도시된 기술에 따라) 로봇(110)에 대한 경로 계획을 결정하기 위해, 컨트롤러(108)는 상태(704A-704D)에서 심 포인트 N(예를 들어, 상태 712A-712D)에 대응하는 상태까지의 최단 경로를 결정할 수 있다. 각 상태와 상태 간의 각 전환에 비용을 할당함으로써 목적 함수는 컨트롤러(108)에 의해 설계될 수 있다. 컨트롤러(108)는 목적 함수에 대해 가능한 최소 비용 값을 초래하는 경로를 찾는다. 여러 시작점과 끝점을 선택할 수 있으므로 Dijkstra 알고리즘이나 A*와 같은 그래프 검색 방법을 구현할 수 있다. 일부 실시예에서, 무차별 대입 방법은 적절한 경로 계획을 결정하는 데 유용할 수 있다. 무차별 대입 기술은 컨트롤러(108)가 모든 가능한 경로를 계산하고(예를 들어 다이어그램(700)을 통해) 가장 짧은 경로를 선택하는 것을 수반한다.
컨트롤러(108)는 각 심 지점의 상태가 가능한지 여부를 판단할 수 있으며, 이는 컨트롤러(108)가 심의 심 지점의 시퀀스를 따라 상태 체인을 구현하는 것이 로봇(110)과 작업 공간(101)의 구조물 사이, 또는 로봇(110) 자체의 일부와도 임의의 충돌을 일으킬지 여부를 결정할 수 있다는 것을 적어도 부분적으로 의미한다. 이를 위해, 심의 서로 다른 포인트에서 서로 다른 상태를 실현한다는 개념은 대안적으로 여러 웨이포인트를 갖는 심의 맥락에서 표현될 수도 있다. 먼저, 컨트롤러(108)는 식별된 심을 일련의 웨이포인트로 분리할 수 있다. 웨이포인트는 세 가지(공간/병진) 자유도로 로봇(120)에 연결된 웰딩 헤드의 방향을 제한할 수 있다. 일반적으로, 로봇(120)의 웰딩 헤드 방향에 대한 제한은 일부 원하는 품질의 웰딩을 생성할 목적으로 각 웨이포인트에 대해 하나 또는 두 개의 회전 자유도로 제공되고, 제약 조건은 일반적으로 웨이포인트와 웰딩 심의 경로에서 나오는 표면 법선 벡터에 상대적이다. 예를 들어, 용접 헤드의 위치는 x축, y축, z축뿐만 아니라 웰딩 와이어 축이나 웰딩기 팁에 모두 웨이포인트와 이에 연결된 일부 공칭 좌표계를 기준으로 수직인 약 1~2개의 회전 축으로 제한될 수 있다. 일부 실시예에서 이러한 제약은 각도에 대한 한계 또는 허용 가능한 범위일 수 있다. 당업자는 이상적인 또는 원하는 웰딩 각도가 파트 또는 심 형상, 심에 대한 중력 방향 및 기타 요인에 따라 달라질 수 있음을 인식할 것이다. 일부 실시예에서, 컨트롤러(108)는 (최적화 목적을 위한 웰딩과 경로 계획 사이의 균형을 찾는 것과 같은) 하나 이상의 이유로 심이 중력에 수직임을 보장하기 위해 1F 또는 2F 웰딩 위치를 제한할 수 있다. 따라서 웰딩 헤드의 위치는 심에 대해 적절한 방향으로 각 웨이포인트에 의해 유지(제한)될 수 있다. 일반적으로 웰딩 헤드는 웰딩 헤드 축과 동축인 회전축(θ)에 대해 구속되지 않는다. 예를 들어, 각각의 웨이포인트는 웰딩 로봇(120)의 웰딩 헤드의 위치를 정의하여, 각각의 웨이포인트에서 웰딩 헤드가 웰딩 심에 대해 고정된 위치 및 배향에 있도록 할 수 있다. 일부 구현에서, 웨이포인트는 웰딩 헤드의 움직임을 실질적으로 연속적으로 만들 수 있을 만큼 충분히 미세하게 분리된다.
컨트롤러(108)는 각각의 웨이포인트를 다수의 노드로 나눌 수 있다. 각 노드는 해당 웨이포인트에서 웰딩 헤드의 가능한 방향을 나타낼 수 있다. 비제한적인 예로서, 웰딩 헤드는 웰딩 헤드가 각 웨이포인트에서 회전 축(θ)을 따라 회전(예를 들어, 360도)할 수 있도록 웰딩 헤드의 축과 동축인 회전 축 주위에 구속되지 않을 수 있다. 각 웨이포인트는 20개의 노드로 분할될 수 있으며, 각 웨이포인트의 각 노드는 18도 회전 증분의 웰딩 헤드를 나타낸다. 예를 들어, 제1 웨이포인트-노드 쌍은 웰딩 헤드의 0도 회전을 나타낼 수 있고, 제2 웨이포인트-노드 쌍은 웰딩 헤드의 18도 회전을 나타낼 수 있으며, 제3 웨이포인트-노드 쌍은 36도에서 웰딩 헤드의 회전을 나타낼 수 있다. 각 웨이포인트는 2, 10, 20, 60, 120, 360 또는 적절한 수의 노드로 나눌 수 있다. 노드의 세분화는 1 이상의 자유도에서 방향의 분할을 나타낼 수 있다. 예를 들어, 웨이포인트를 중심으로 한 웰딩기 팁의 방향은 3가지 각도로 정의될 수 있다. 각 웨이포인트-노드 쌍을 연결하여 웰딩 경로를 정의할 수 있다. 따라서, 웨이포인트 사이의 거리와 인접한 웨이포인트 노드 사이의 오프셋은 웰딩 헤드가 노드-웨이포인트 쌍 사이에서 이동할 때 웰딩 헤드의 변환 및 회전의 양을 나타낼 수 있다.
컨트롤러(108)는 웰딩의 타당성에 대해 각각의 웨이포인트-노드 쌍을 평가할 수 있다. 예를 들어, 웨이포인트를 20개의 노드로 나누는 비제한적인 예를 고려한다. 컨트롤러(108)는 0도로 유지되는 웰딩 헤드를 나타내는 제1 웨이포인트-노드 쌍이 실행 가능한지 여부를 평가할 수 있다. 다르게 말하면, 컨트롤러(108)는 웨이포인트-노드 쌍에 의해 정의된 위치 및 방향에 배치되면 로봇(110)이 파트, 픽스쳐 또는 웰딩 로봇 자체와 충돌하거나 간섭하는지 여부를 평가할 수 있다. 유사한 방식으로, 컨트롤러(108)는 제2 웨이포인트-노드 쌍, 제3 웨이포인트-노드 쌍 등이 실행 가능한지 여부를 평가할 수 있다. 컨트롤러(108)는 각각의 웨이포인트를 유사하게 평가할 수 있다. 이러한 방식으로 모든 웨이포인트의 가능한 모든 노드를 결정할 수 있다.
일부 실시예에서, 여기에 설명된 충돌 분석은 워크스페이스(101)의 3D 모델과 로봇(110)의 3D 모델을 비교하여 두 모델이 중첩되는지, 선택적으로 삼각형 중 일부 또는 전부가 중첩되는지를 결정함으로써 수행될 수 있다. 두 모델이 중첩되는 경우, 컨트롤러(108)는 충돌 가능성이 있다고 판단할 수 있다. 두 모델이 중첩되지 않는 경우, 컨트롤러(108)는 충돌 가능성이 없다고 판단할 수 있다. 더 구체적으로, 일부 실시예에서, 컨트롤러(108)는 웨이포인트-노드 쌍 셋(상술한 웨이포인트-노드 쌍과 같은) 각각에 대한 모델을 비교하고 두 모델이 웨이포인트-노드 쌍 중 서브셋에 대해 또는 심지어 가능하게는 모두 중첩된다고 결정할 수 있다. 모델 교차점이 식별되는 경유지-노드 쌍의 서브셋에 대해, 컨트롤러(108)는 계획된 경로에서 해당 서브셋의 경유지-노드 쌍을 생략할 수 있으며 해당 경유지-노드 쌍에 대한 대안을 식별할 수 있다. 컨트롤러(108)는 충돌 없는 경로가 계획될 때까지 필요에 따라 이 프로세스를 반복할 수 있다. 컨트롤러(108)는 충돌 회피 분석의 도구로서 효율적인 충돌 검출 및 근접성 계산을 위한 다양한 기술을 포함하는 유연한 충돌 라이브러리(FCL)를 사용할 수 있다. FCL은 다양한 모델 리프레젠테이션에 대해 다중 근접 쿼리를 수행하는 데 유용하며 포인트 클라우드 간의 확률적 충돌 식별을 수행하는 데 사용될 수 있다. FCL과 함께 또는 대신하여 추가 또는 대체 리소스를 사용할 수 있다.
컨트롤러(108)는 물리적으로 실행 가능하다면 하나 이상의 실행 가능한 시뮬레이션(또는 본 명세서에서 상호 교환적으로 사용되는 두 용어 모두 평가) 웰딩 경로를 생성할 수 있다. 웰딩 경로는 웰딩 로봇이 후보 심을 웰딩하기 위해 사용하는 경로일 수 있다. 일부 실시예에서, 웰딩 경로는 심의 모든 중간점을 포함할 수 있다. 일부 실시예에서, 웰딩 경로는 후보 심의 전체가 아닌 일부 웨이포인트를 포함할 수 있다. 웰딩 경로에는 웰딩 헤드가 각 웨이포인트-노드 쌍 사이를 이동할 때 로봇과 웰딩 헤드의 동작이 포함될 수 있다. 노드-웨이포인트 쌍 사이의 실행 가능한 경로가 식별되면 다음 순차적 웨이포인트에 대한 실행 가능한 노드-웨이포인트 쌍이 존재하는 경우 이를 식별할 수 있다. 당업자는 실현 가능한 노드-웨이포인트 쌍의 공간을 평가하기 위해 많은 검색 트리 또는 다른 전략이 사용될 수 있다는 것을 인식할 것이다. 본 명세서에서 더 자세히 논의된 바와 같이, 비용 파라미터는 각 노드-경유지 쌍에서 후속 노드-경유지 쌍으로의 이동에 대해 할당되거나 계산될 수 있다. 비용 파라미터는 이동 시간, 노드-중간점 쌍 간의 이동량(예컨대, 회전 포함), 및/또는 이동 중 웰딩 헤드에 의해 생성된 시뮬레이션/예상 웰딩 품질과 연관될 수 있다.
하나 이상의 웨이포인트에 대한 웰딩이 가능한 노드가 없거나 이전 웨이포인트-노드 쌍과 특정 웨이포인트의 웨이포인트-노드 쌍 사이를 이동할 수 있는 경로가 없는 경우, 컨트롤러(108)는 대안적인 웰딩 파라미터를 결정하여, 최소한 일부 추가 웨이포인트-노드 쌍이 웰딩에 적합하도록 한다. 예를 들어, 컨트롤러(108)가 제1 웨이포인트에 대한 웨이포인트-노드 쌍 중 어느 것도 실행 가능하지 않다고 결정하여 제1 웨이포인트를 웰딩 불가능하게 만드는 경우, 컨트롤러(108)는 대체 웰딩 각도와 같은 대체 웰딩 파라미터를 결정할 수 있어 적어도 일부 제1 웨이포인트에 대한 웨이포인트-노드 쌍이 웰딩 가능해진다. 예를 들어, 컨트롤러(108)는 x 및/또는 y축을 중심으로 한 회전에 대한 제약을 제거하거나 완화할 수 있다. 유사하게 말하면, 컨트롤러(108)는 웰딩 각도가 하나 또는 두 개의 추가 회전(각도) 치수로 변경되도록 허용할 수 있다. 예를 들어, 컨트롤러(108)는 웰딩 불가능한 웨이포인트를 2차원 또는 3차원 노드로 나눌 수 있다. 그런 다음 각 노드는 웰딩 로봇의 웰딩 타당성과 다양한 웰딩 각도 및 회전 상태에서 유지되는 웰딩을 평가할 수 있다. X축 및/또는 Y축 또는 기타 자유도에 대한 추가 회전으로 인해 웰딩 헤드가 충돌하지 않도록 웨이포인트가 웰딩 헤드에 접근할 수 있다. 일부 구현에서, 컨트롤러(108)는 - 하나 이상의 웨이포인트에 대한 웰딩이 가능한 노드가 없거나 이전 웨이포인트-노드 쌍과 특정 경로의 웨이포인트-노드 쌍 중 임의의 것 사이를 이동할 수 있는 실행 가능한 경로가 존재하지 않는 경우 웨이포인트 - 이전 웨이포인트-노드 쌍과 특정 웨이포인트의 웨이포인트-노드 쌍 사이의 가능한 경로를 결정할 때 포지셔너 시스템에서 제공하는 자유도를 사용할 수 있다.
생성된 웰딩 경로에 기초하여, 컨트롤러(108)는 웰딩을 위한 웰딩 경로를 최적화할 수 있다. (본 명세서에서 사용되는 최적 및 최적화는 절대적인 최상의 웰딩 경로를 결정하는 것을 의미하지 않지만 일반적으로 덜 효율적인 웰딩 경로에 비해 웰딩 시간을 줄이고/하거나 웰딩 품질을 향상시킬 수 있는 기술을 의미한다.) 예를 들어, 컨트롤러(108)는 로봇(110)의 모션에 대한 로컬 및/또는 글로벌 최소값을 찾는 비용 함수를 결정할 수 있다. 일반적으로 웰딩 헤드 회전은 심 웰딩 시간을 늘리거나 웰딩 품질을 저하시킬 수 있기 때문에, 최적의 웰딩 경로는 웰딩 헤드 회전을 최소화한다. 따라서, 웰딩 경로를 최적화하는 것은 최소한의 회전량으로 최대 개수의 웨이포인트를 통해 웰딩 경로를 결정하는 것을 포함할 수 있다.
분할된 노드 또는 노드-경로 쌍 각각에서 웰딩의 타당성을 평가할 때, 컨트롤러(108)는 다중 계산을 수행할 수 있다. 일부 실시예에서, 다수의 계산 각각은 서로 상호 배타적일 수 있다. 일부 실시예에서, 제1 계산은 채용되는 웰딩 로봇의 로봇(110)의 암이 노드 또는 노드-웨이포인트 쌍에 의해 정의된 상태에 기계적으로 도달(또는 존재할) 수 있는지 여부를 계산하는 운동학적 타당성 계산을 포함할 수 있다. 일부 실시예에서, 제1 계산에 추가하여, 제1 계산과 상호 배타적일 수 있는 제2 계산도 컨트롤러(108)에 의해 수행될 수 있다. 제2 계산은 심 파트(예를 들어, 노드 또는 문제의 노드-경로 쌍)에 접근할 때 로봇(110)의 암이 충돌에 직면할지(예를 들어, 워크스페이스(101) 또는 워크스페이스(101)의 구조물과 충돌) 여부를 결정하는 것을 포함할 수 있다.
컨트롤러(108)는 제2 계산을 수행하기 전에 제1 계산을 수행할 수 있다. 일부 예시에서, 제2 계산은 제1 계산의 결과가 긍정적인 경우(예를 들어, 로봇(110)의 암이 노드 또는 노드-웨이포인트 쌍에서 정의한 상태에 기계적으로 도달(또는 존재)할 수 있다고 판단된 경우에만 수행될 수 있다. 일부 예시에서는, 1차 연산의 결과가 부정적일 경우 (예를 들어, 로봇(110)의 암이 노드 또는 노드-웨이포인트 쌍에서 정의한 상태에 기계적으로 도달(또는 존재)할 수 없는 것으로 판단되는 경우 에는 2차 연산을 수행하지 않을 수 있다.
운동학적 타당성은 사용된 로봇 암의 유형과 연관될 수 있다. 본 설명의 목적을 위해, 웰딩 로봇(110)은 구형 리스트(wrist)을 갖는 6축 로봇 웰딩 암을 포함하는 것으로 가정된다. 6축 로봇 암은 6개의 자유도, 즉, X-, Y-, Z-직교 좌표계에서 3개의 자유도와 로봇(110)의 리스트(wrist)과 같은 특성으로 인해 3개의 추가 자유도를 가질 수 있다. 예를 들어, 로봇(110)의 리스트(wrist)과 같은 특성은 리스트(wrist) 올리기/내리기 방식(예컨대 리스트(wrist)이 +y 및 -y 방향으로 움직이는 경우)에서 4차 자유도, 리스트(wrist) 측면 방식(예컨대 -x 및 +x 방향으로 움직이는 리스트(wrist))에서 5차 자유도, 회전에 있어서 6차 자유도를 가져온다. 일부 실시예에서, 웰딩 토치는 로봇(110)의 리스트(wrist) 부분에 부착된다.
채용된 로봇(110)의 암이 노드 또는 노드-웨이포인트 쌍에 의해 정의된 상태에 기계적으로 도달(또는 존재)할 수 있는지 여부를 결정하기 위해(즉, 제1 계산을 수행하기 위해) 로봇(110)은 도 8의 예시 모델(800)에 도시된 바와 같이 수학적으로 모델링될 수 있다. 일부 실시예에서, 컨트롤러(108)는 리스트(wrist) 위치에 기초하여 처음 3개의 관절 변수를 풀고 리스트(wrist) 방향에 기초하여 나머지 3개의 관절 변수를 풀 수 있다. 토치가 리스트(wrist)에 단단히 부착되어 있는 것이 주목된다. 따라서 토치 팁과 리스트(wrist) 사이의 변형은 고정된 것으로 가정된다. 처음 3개의 결합 변수(예를 들어, 각각 802, 804, 806의 변수 S, L, U)를 찾기 위해 기하학적 접근법(예를 들어 코사인 법칙)이 사용될 수 있다.
처음 3개의 관절 변수(즉, S, L, U)가 성공적으로 계산된 후, 제어기(108)는 예를 들어 리스트(wrist) 방향을 Z-Y-Z 오일러 각도로 고려하여 마지막 3개의 관절 변수(즉, 각각 808, 810, 812의 R, B, T)를 풀 수 있다. 컨트롤러(108)는 로봇(110)의 일부 오프셋을 고려할 수 있다. URDF(통합 로봇 설명 형식) 파일의 불일치로 인해 이러한 오프셋을 고려하고 설명해야 할 수도 있다. 예를 들어, 일부 실시예에서, 관절(예를 들어, 로봇(110)의 실제 관절) 위치의 값(예를 들어, 관절의 X축)은 URDF 파일에 명시된 값과 일치하지 않을 수 있다. 그러한 오프셋 값은 테이블로 컨트롤러(108)에 제공될 수 있다. 일부 실시예에서 컨트롤러(108)는 로봇(110)을 수학적으로 모델링하는 동안 이들 오프셋 값을 고려할 수 있다. 일부 실시예에서, 로봇(110)이 수학적으로 모델링된 후, 컨트롤러(108)는 로봇(110)의 암이 노드 또는 노드-경로 쌍에 의해 정의된 상태에 기계적으로 도달할 수 있는지(또는 존재할 수 있는지)를 결정할 수 있다.
위에서 언급한 바와 같이, 컨트롤러(108)는 로봇(110)이 웨이포인트-노드 쌍에 의해 정의된 위치 및 방향에 배치되면 로봇(110) 자체를 포함하여 워크스페이스(101)에 있는 파트(114), 픽스쳐(116) 또는 다른 모든 것과 충돌하거나 간섭하는지 여부를 평가할 수 있다. 컨트롤러(108)가 로봇 암이 존재할 수 있는 상태를 결정하면, 컨트롤러(108)는 제2 계산을 사용하여 전술한 평가(예를 들어, 로봇이 그 환경에서 무언가와 충돌할지 여부에 관한)를 수행할 수 있다.
도 9는 다양한 실시예에 따른 오토노머스 웰딩을 수행하기 위한 방법(900)의 흐름도이다. 보다 구체적으로, 도 9는 일부 예에 따른 웰딩 로봇(예를 들어, 도 1의 로봇(110))을 작동 및 제어하기 위한 방법(900)의 흐름도이다. 단계 902에서, 방법(900)은 하나 이상의 센서(예를 들어, 도 1의 센서(들)(102))를 사용하여 워크스페이스(예를 들어, 도 1의 워크스페이스(101))의 이미지 데이터를 획득하는 단계를 포함한다. 이미지 데이터에는 워크스페이스의 2D 및/또는 3D 이미지가 포함될 수 있다. 전술한 바와 같이, 웰딩될 하나 이상의 파트, 파트를 안전한 방식으로 고정할 수 있는 픽스쳐 및/또는 클램프가 워크스페이스에 위치할 수 있다. 일부 실시예에서는 이미지 데이터로부터 포인트 클라우드가 생성될 수 있다. 예를 들어, 영상을 서로 겹쳐서 3차원 영상 데이터를 재구성하고 생성할 수 있다. 3차원 이미지 데이터를 조합하여 포인트 클라우드를 생성할 수 있다.
단계(904)에서, 방법(900)은 이미지일 수 있는 센서 데이터에 기초하여 웰딩될 파트 상의 포인트 셋을 식별하는 것을 포함한다. 포인트 셋은 웰딩될 심의 가능성을 나타낼 수 있다. 일부 실시예에서, 신경망은 포인트 셋을 식별하기 위해 이미지 데이터에 대해 픽셀 단위 분할을 수행할 수 있다. 이미지 데이터의 픽스처(Fixture)와 클램프(Clamp)는 이미지 분류를 기반으로 신경망을 통해 분류될 수 있다. 픽스쳐 및/또는 클램프와 연관된 이미지 데이터의 부분은 이미지 데이터의 해당 부분이 포인트 셋을 식별하는 데 사용되지 않도록 분할될 수 있으며, 이는 검색 공간을 줄여서 웰딩함에 의해 포인트 셋을 식별하는 데 필요한 계산 자원을 줄일 수 있다. 이러한 실시예에서, 포인트 셋은 이미지 데이터의 다른 파트(예를 들어, 분할되지 않은 이미지 데이터의 부분)으로부터 식별될 수 있다.
단계(906)에서, 방법(900)은 포인트 셋으로부터 후보 심을 식별하는 단계를 포함한다. 예를 들어 포인트 집합 내의 포인트 서브셋을 심 후보로 식별할 수 있다. 신경망은 이미지 분류 및/또는 깊이 분류를 수행하여 후보 심을 식별할 수 있다. 일부 실시예에서, 후보 심은 파트에 대해 위치화될 수 있다. 예를 들어, 후보 심을 위치화하기 위해 후보 심의 위치와 방향이 파트에 대해 결정될 수 있다.
추가적으로, 방법(900)은 후보 심이 실제 심인지 여부를 검증하는 단계를 더 포함한다. 위에서 설명한 것처럼 센서는 여러 각도에서 이미지 데이터를 수집할 수 있다. 서로 다른 각도에서 캡쳐된 각 이미지에 대해 해당 각도에서 결정된 후보 심이 실제 심인지 여부를 나타내는 신뢰도 값을 결정할 수 있다. 여러 각도에서 캡쳐한 뷰를 기반으로 신뢰도 값이 임계값을 초과하는 경우 후보 심이 실제 심으로 검증될 수 있다. 일부 실시예에서, 방법(900)은 또한 후보 심을 심 유형으로 분류하는 단계를 포함한다. 예를 들어, 신경망은 후보 심이 맞대기 조인트, 코너 조인트, 에지 조인트, 랩 조인트, 티 조인트 등인지 결정할 수 있다.
일부 실시예에서, 후보 심이 식별되고 검증된 후, 점들의 서브셋이 함께 클러스터되어 연속적이고 연속적인 심을 형성할 수 있다. 단계(908)에서, 방법(900)은 후보 심에 기초하여 웰딩 로봇에 대한 웰딩 명령을 생성하는 것을 포함한다. 예를 들어, 웰딩 명령은 포인트 서브셋의 한쪽 끝에서 포인트 서브셋의 다른 쪽 끝까지의 경로를 추적하여 생성될 수 있다. 이렇게 하면 심의 경로가 생성될 수 있다. 다르게 말하면, 웰딩 헤드로 이 경로를 추적하여 웰딩을 만들 수 있다. 또한 식별되고 지역화된 후보 심을 기반으로 경로 계획을 수행할 수 있다. 예를 들어, 점의 서브셋을 클러스터링하여 생성할 수 있는 심의 경로를 기반으로 경로 계획을 수행할 수 있다.
일부 실시예에서, 웰딩 명령은 심의 유형(예를 들어 맞대기 심, 코너 심, 모서리 심, 랩 심, T자형 심 등)에 기초할 수 있다. 일부 실시예에서, 웰딩 명령은 사용자 인터페이스(예를 들어, 도 1의 사용자 인터페이스(106))를 통한 사용자로부터의 입력에 기초하여 업데이트될 수 있다. 사용자는 사용자 인터페이스를 통해 사용 가능한 모든 후보 심 중에서 웰딩할 후보 심을 선택할 수 있다. 선택한 후보 심에 대해 경로 계획을 수행할 수 있으며 선택한 후보 심에 대한 웰딩 명령을 생성할 수 있다. 일부 실시예에서, 사용자는 사용자 인터페이스를 통해 웰딩 파라미터를 업데이트할 수 있다. 웰딩 명령은 업데이트된 웰딩 파라미터에 따라 업데이트될 수 있다.
이러한 방식으로, 웰딩 로봇은 웰딩할 파트에 대한 사전 정보(예를 들어 CAD 모델) 없이 방법(900)을 구현함으로써 작동 및 제어될 수 있다. 웰딩 명령을 생성하기 위해 파트를 스캔하기 때문에 파트의 스캔된 이미지 리프레젠테이션에 하나 이상의 후보 심으로 애노테이션을 달 수 있다(예컨대, 사용자 인터페이스를 통해). 애노테이션이 달린 리프레젠테이션을 사용하여 파트의 3D 모델을 정의할 수 있다. 파트의 3D 모델은 파트의 추가 인스턴스를 후속 웰딩하기 위해 데이터베이스에 저장할 수 있다.
도 10은 다양한 실시예에 따른 오토노머스 웰딩을 수행하기 위한 방법(1000)의 흐름도이다. 보다 구체적으로, 도 10은 일부 예에 따른 웰딩 로봇(예를 들어, 도 1의 로봇(110))을 작동 및 제어하기 위한 방법(1000)의 흐름도이다. 단계(1002)에서, 방법(1000)은 파트의 CAD 모델에 기초하여 웰딩될 파트 상의 후보 심의 예상 방향 및 예상 위치를 식별하는 단계를 포함한다. 예상 방향과 예상 위치는 사용자/작업자가 CAD 모델에 제공한 애노테이션을 사용하여 결정될 수 있다. 추가적으로 또는 대안적으로, 컨트롤러(예를 들어, 도 1의 컨트롤러(108))는 모델 기하학적 구조에 기초하여 후보 심을 식별하도록 작동가능할 수 있다. 파트의 구성요소를 CAD 모델의 구성요소와 일치시키기 위해 객체 일치를 수행할 수 있다. 즉, 객체 매칭을 기반으로 후보 심의 예상 위치와 방향을 식별할 수 있다.
단계(1004)에서, 방법(1000)은 하나 이상의 센서(예를 들어, 도 1의 센서(들)(102))를 사용하여 워크스페이스(예를 들어, 도 1의 워크스페이스(101))의 이미지 데이터를 획득하는 단계를 포함한다. 이미지 데이터에는 워크스페이스의 2D 및/또는 3D 이미지가 포함될 수 있다. 전술한 바와 같이, 작업공간은 웰딩될 하나 이상의 파트와 파트를 안전한 방식으로 고정할 수 있는 픽스쳐 및/또는 클램프를 포함할 수 있다. 일부 실시예에서는 이미지 데이터로부터 포인트 클라우드가 생성될 수 있다. 예를 들어, 영상을 서로 겹쳐서 3차원 영상 데이터를 재구성하고 생성할 수 있다. 3D 이미지 데이터를 조합하여 포인트 클라우드를 생성할 수 있다.
일부 실시예에서, 웰딩 명령을 생성하는 처리 시간을 줄이기 위해 센서는 부분 스캔을 수행하도록 구성된다. 다르게 말하면 워크스페이스를 모든 각도에서 스캔하는 대신 몇 가지 각도(예컨대, 후보 심이 보일 것으로 예상되는 각도)에서 이미지 데이터가 수집된다. 이러한 실시예에서 이미지 데이터로부터 생성된 포인트 클라우드는 부분 포인트 클라우드이다. 예를 들어 모델에서 웰딩할 심이 포함되지 않은 것으로 표시된 파트 부분을 포함하지 않는 부분 포인트 크라우드를 생성하면 스캔 및/또는 처리 시간을 줄일 수 있다.
단계(1006)에서, 방법(1000)은 이미지 데이터, 포인트 클라우드, 및/또는 부분 포인트 클라우드에 기초하여 후보 심을 식별하는 것을 포함한다. 예를 들어, 컨트롤러(108)(도 1)는 위에서 설명된 기술을 사용하여 후보 심을 식별할 수 있다.
단계(1008)에서, 방법(1000)은 후보 심의 실제 위치 및 실제 방향을 식별하는 것을 포함한다. 예를 들어, 단계 1002에서 점의 제1 서브셋이 모델링된 심으로 식별될 수 있다. 단계 1006에서, 점들의 제2 서브셋이 후보 심으로 식별될 수 있다. 일부 실시예에서, 포인트의 제1 하위 셋과 포인트의 제2 하위 셋이 비교될 수 있다(예를 들어, 도 6과 관련하여 위에 설명된 등록 기술을 사용하여). 후보 심의 실제 위치와 방향을 결정하기 위해 점의 제1 서브셋을 변형할 수 있다. 일부 실시예에서, 점들의 제1 서브셋과 점들의 제2 서브셋 사이의 비교는 점들의 제1 서브셋에 대한 허용오차(예를 들어, 후보 심의 예상 위치 및 예상 방향)를 결정하는 데 도움이 될 수 있다. 이러한 실시예에서, 점의 제1 서브셋은 후보 심의 실제 위치와 방향을 결정하기 위해 공차를 기반으로 변형되도록 허용될 수 있다. 다르게 말하면, 후보 심의 예상 위치와 예상 방향은 후보 심의 실제 위치와 실제 방향을 결정하기 위해 (일부 실시예에서는 허용 오차를 기반으로) 정제될 수 있다. 이러한 변형/정제 기술은 CAD 모델(예를 들어, 단계 1002의 CAD 모델)에서 정확하게 리프레젠테이션되지 않는 파트 표면의 지형을 설명할 수 있다.
단계(1010)에서, 방법(1000)은 후보 심의 실제 위치 및 실제 방향에 기초하여 웰딩 로봇에 대한 웰딩 명령을 생성하는 단계를 포함한다. 예를 들어, 후보 심의 실제 위치와 실제 방향을 기반으로 경로 계획을 수행할 수 있다.
도 9의 방법(900)과 같이, 후보 심의 실제 위치와 실제 방향이 식별되면, 방법(1000)은 위에서 설명된 기술을 사용하여 후보 심을 검증하는 단계를 포함할 수 있다. 그러나 방법(900)과 달리 방법(1000)에서는 사용자 상호작용이 필요하지 않을 수도 있다. 이는 웰딩할 하나 이상의 심이 이미 CAD 모델에 애노테이션으로 표시되어 있을 수 있기 때문이다. 따라서 어떤 경우에는 웰딩 로봇이 사용자 상호 작용 없이 방법(1000)을 구현함으로써 작동 및 제어될 수 있다.
추가로, 또는 방법(1000)과 관련하여 위에서 설명한 단계에 대한 대안으로, 웰딩 로봇(예를 들어, 도 1의 로봇(110))은 다음과 같은 방식으로 오토노머스 웰딩을 수행하기 위해 웰딩 로봇을 작동 및 제어할 수 있다. 로봇(110), 특히 로봇(11)의 컨트롤러(108)는 워크스페이스 내의 부품의 위치(예컨대 포지셔너의 부품 위치)를 결정하고 부품의 리프레젠테이션(예컨대 포인트 클라우드 표현)을 생성하기 위해 부품이 포함된 워크스페이스를 스캔할 수 있습니다. 컨트롤러(108)에는 파트의 애노테이션이 달린 CAD 모델이 제공될 수 있다. 그런 다음, 컨트롤러(108)는 파트의 CAD(Computer Aided Design) 모델 및 파트의 리프레젠테이션에 따라(또는 그에 기초하여) 파트 상의 후보 심의 예상 위치 및 예상 방향을 결정할 수 있다. 예를 들어, 컨트롤러(108)는 모델 기하학적 구조에 기초하여 후보 심을 식별하도록 동작할 수 있고, 즉, 파트 리프레젠테이션의 구성요소 또는 특징(예를 들어 지형학적 특징)을 CAD 모델의 구성요소 또는 특징과 일치시키기 위해 객체 매칭이 수행될 수 있으며, 컨트롤러(108)는 파트 상의 후보 심의 예상 위치 및 예상 방향을 결정하는 데 이 객체 매칭을 사용하도록 동작가능할 수 있다. 예상 위치 및 방향이 결정되면, 컨트롤러(108)는 파트의 리프레젠테이션에 적어도 부분적으로 기초하여 후보 심의 실제 위치 및 실제 방향을 결정할 수 있다. 실제 위치 및 방향은 단계 1008에 설명된 변형/정제 기술을 사용하여 결정될 수 있다.
도 11은 다양한 실시예에 따른 오토노머스 웰딩을 수행하기 위한 방법(1100)의 흐름도이다. 보다 구체적으로, 도 11에는 로보틱 제조 환경에서 제조 로봇(110)(도 1)의 작동에 대한 예시적인 방법(1100)이 도시되어 있다. 제조 작업(예를 들어, 웰딩)이 수행될 하나 이상의 파트(114)은 제조 워크스페이스(101)의 다른 픽스쳐(116)(예를 들어, 포지셔너)에 픽스쳐(116)을 사용하여 위치 지정 및/또는 고정되는 것으로 가정된다. 하나 이상의 파트(114)을 배치한 후에 방법(1100)이 시작될 수 있다. 초기 단계로서, 방법(1100)은 하나 이상의 부분을 스캐닝하는 것을 포함한다(예를 들어, 블록 1110). 스캐닝은 하나 이상의 센서(102)(예를 들어, 로봇(110)에 연결되지 않은 스캐너)에 의해 수행될 수 있으며; 컨트롤러(108)는 제조 워크스페이스(101) 내의 파트의 위치를 결정하고 센서로부터 획득된 이미지 데이터 및/또는 이미지 또는 센서 데이터로부터 도출된 포인트 클라우드를 사용하여 파트 상의 하나 이상의 심을 식별하도록 구성될 수 있다(블록 1112 및 1114). 파트와 심은 도 1과 관련하여 설명된 기술 중 하나를 기반으로 위치를 파악하고 식별할 수 있다. 파트 및 심 위치가 결정되면, 컨트롤러(108)는 식별된 심을 따라 제조 로봇(110)에 대한 경로를 플롯팅한다(블록 1116). 플롯된 경로는 제조 워크스페이스(101)에서 자체 또는 다른 것과 충돌하지 않고 웰딩을 완료하기 위해 제조 로봇(110)의 최적화된 모션 파라미터를 포함할 수 있다. 웰딩을 완료하기 위해 제조 로봇(110)의 최적화된 동작 파라미터를 생성하는 데 인간의 입력이 필요하지 않다. 경로/궤적은 위에서 설명한 경로 계획 기술 중 하나를 기반으로 계획될 수 있다.
"위치" 및 "방향"이라는 용어는 위의 공개에서 별도의 개체로 설명된다. 그러나 파트와 관련하여 사용되는 "위치"라는 용어는 "파트가 배치되거나 배열되는 특정 방식"을 의미한다. 심과 관련하여 사용되는 "위치"라는 용어는 "파트의 심이 위치하거나 방향을 지정하는 특정 방식"을 의미한다. 따라서 파트/심의 위치는 본질적으로 파트/심의 방향을 설명할 수 있다. 따라서 '위치'에는 '방향'이 포함될 수 있다. 예를 들어, 위치에는 파트 또는 후보 심의 상대적인 물리적 위치나 방향(예컨대, 각도)이 포함될 수 있다.
달리 명시하지 않는 한, 값보다 앞선 "대략", "대략" 또는 "실질적으로"는 명시된 값의 +/- 10%를 의미한다. 달리 명시하지 않는 한, "평행"으로 설명된 두 개체는 나란히 있고 두 개체 사이의 거리는 일정하거나 10% 이하로 변화한다. 달리 명시하지 않는 한, 수직인 것으로 설명되는 두 객체는 80도에서 100도 사이의 각도로 교차한다. 설명된 실시예에서는 수정이 가능하며, 청구 범위 내에서 다른 예도 가능한다.
Claims (26)
- 오토노머스(autonomous) 로보틱(robotic) 웰딩(welding) 시스템으로서,
심(seam)을 포함하는 파트(part)를 포함하는 워크스페이스(workspace);
상기 워크스페이스 내 다중(multiple) 이미지(images)를 캡쳐(capture)하도록 구성된 센서(sensor);
상기 심을 따라 웰드(weld)를 놓도록 구성된 로봇(robot); 및
- 상기 멀티플 이미지에 기초하여 상기 워크스페이스 내 상기 파트 상 상기 심을 식별(identify)하고;
- 상기 심을 웰딩하는 경우 상기 로봇이, 상기 로봇의 다중 상이한 컨피규레이션(configuration)을 포함하는 경로(path)를 팔로우(follow)하도록 계획(plan)하고;
- 상기 계획된 경로를 따라 상기 심을 웰딩하도록 상기 로봇에 명령(instruct)하도록;
구성된 컨트롤러;를 포함하는,
시스템. - 제1항에 있어서,
상기 로봇의 다중 상이한 컨피규레이션 각각은 상기 로봇의 암(arm)이 홀드되는(held) 곳에서 상이한 앵글(angle)을 포함하는,
시스템. - 제1항에 있어서,
상기 컨트롤러는 상기 로봇이 상기 워크스페이스 내 구조(structure)와 충돌하는지 여부를 결정하도록 구성된,
시스템. - 제3항에 있어서,
상기 컨트롤러는 상기 결정에 기초하여 상기 경로를 계획하도록 구성된,
시스템. - 제1항에 있어서,
상기 센서는 상기 워크스페이스 내 다중 밴티지(vantage) 포인트(point)로부터 상기 다중 이미지를 캡쳐하도록 구성된,
시스템. - 제5항에 있어서,
상기 컨트롤러는 상기 식별된 심이 상기 다중 밴티지 포인트로부터의 상기 다중 이미지에 기초한 실제 심이라는 컨피던스(confidence) 값을 결정하도록 구성된,
시스템. - 제1항에 있어서,
상기 컨트롤러는 상기 심을 웰딩하는 경우 특정 컨피규레이션 내 상기 워크스페이스에서 픽스쳐(fixture)를 컨스트레인(contrain) 하도록 구성된,
시스템. - 제7항에 있어서,
상기 컨트롤러는 1F 또는 2F 웰드 위치에서 상기 픽스쳐를 컨스트레인 하도록 구성된,
시스템. - 제조(manufacturing) 로보틱 시스템으로서,
제조 워크스페이스 내 일 파트 상 제조 공정을 수행하는 제조 툴(tool);
상기 제조 툴을 이동시키도록 구성되고 다중 자유도(degree of freedom)을 가지는 로보틱 암;
상기 제조 워크스페이스 내 위치한 상기 파트와 관련하여 이미지 데이터(image date)를 캡쳐하도록 구성된 1개 이상의 ttps서; 및
- 상기 이미지 데이터를 이용하여 상기 제조 워크스페이스 내 상기 파트의 위치를 결정하는 것;
- 상기 제조 공정이 수행되는 상기 파트 상 1개 이상의 사이트(site)를 식별하는 것; 및
- 상기 제조 공정의 수행을 위한 상기 로보틱 암에 대한 모션(motion) 파라미터(parameter)를 생성하는 것;
중 하나 이상을 하도록 구성된 로봇 컨트롤러;를 포함하는,
제조 로봇 시스템. - 제9항에 있어서,
상기 하나 이상의 센서는 상기 제조 워크스페이스 내 다른 엘리먼트(element)와 연관된 이미지 데이터를 캡쳐하도록 구성되고, 상기 다른 엘리먼트는 포지셔너(positioner) 및 픽스쳐를 포함하는,
제조 로봇 시스템. - 제9항에 있어서,
상기 제조 워크스페이스 내 포지셔너를 더 포함하고, 상기 포지셔너 상에 상기 파트가 위치하고, 여기서 상기 로봇 컨트롤러는 상기 포지셔너에 대한 추가적인 모션 파라미터를 생성하도록 구성되고, 여기서 추가적인 모션 파라미터는 상기 로보틱 암 및 상기 포지셔너 사이의 코디네이트(coordinated) 된 모션을 촉진(facilitate)하는,
제조 로봇 시스템. - 제9항에 있어서,
상기 로봇 컨트롤러는 하나 이상의 센서를 이용하여 상기 로보틱 암이 상기 제조 워크스페이스 내 하나 이상의 오브젝트(object)와 충돌할지 여부를 결정하도록 구성된,
제조 로봇 시스템. - 제9항에 있어서,
상기 제조 워크스페이스는 상기 제조 툴, 상기 로보틱 암, 포지셔너 및 상기 포지셔너 상에 위치한 상기 파트를 포함하는,
제조 로봇 시스템. - 오토노머스 로보틱 웰딩을 수행하는 컴퓨터-구현된(computer-implemented) 방법으로서,
- 워크스페이스 내 파트의 다중 이미지를 캡쳐하도록 다중 센서를 사용하는 것;
- 상기 다중 이미지를 사용하여 상기 파트 상 심을 식별하는 것;
- 상기 워크스페이스 내 로봇 및 구조 사이의 충돌이 일어날지 여부를 결정하는 것;
- 식별된 심을 따라, 상기 충돌 결정에 기초하여, 상기 로봇의 컨피큐레이션 및 위치의 시리즈(series)를 결정함에 의해 상기 식별된 심을 웰딩하는 경우 상기 로봇이 팔로우 할 경로를 계획하는 것; 및
- 상기 계획된 경로에 기초하여 상기 식별된 심을 웰딩하는 것;
을 포함하는,
방법. - 제14항에 있어서,
상기 위치는 3D 스페이스(space) 내 상기 로봇의 웰드 헤드의 위치를 포함하는,
방법. - 제14항에 있어서,
상기 경로를 계획하는 것은 상기 로봇 상 컨스트레인트(constraint)를 릴랙스(relaxing)하는 것을 포함하는,
방법. - 오토노머스 로보틱 웰딩을 수행하는 컴퓨터-구현된 방법으로서,
로보틱 웰딩 워??스페이스의 다중 이미지를 캡쳐하는 것;
상기 다중 이미지를 사용하여 3-차원(three-dimensional) 포인트(point) 클라우드(cloud)를 생성하는 것; 및
상기 3-차원 포인트 클라우드에 기초하여 상기 로보틱 웰딩 워크스페이스 내 파트의 심을 웰딩하는 것;
을 포함하는,
방법. - 제17항에 있어서,
상기 워크스페이스 내 로봇의 웰드 헤드에 커플링(coupled) 된 센서를 이용하여 상기 로보틱 웰딩 워크스페이스의 스캔을 수행하고, 상기 스캔에 기초하여 상기 심을 웰딩하는 경우 사용되는 경로를 수정하는 것을 더 포함하는,
방법. - 제18항에 있어서,
상기 스캔은 상기 심에 관련된(pertaining) 가변 갭(gap) 데이터(data)를 포함하는,
방법. - 제17항에 있어서,
상기 다중 이미지를 사용하여 픽셀-와이즈(pixel-wise) 분류(classification)을 수행하는 것을 더 포함하는,
방법. - 제17항에 있어서,
상기 포인트 클라우드를 이용하여 포인트-와이즈 분류를 수행하는 것을 더 포함하는,
방법. - 제21항에 있어서,
상기 워크스페이스 내 픽스쳐(fixture) 또는 파트에 대응하는 포인트 클라우드 내 포인트를 분류하도록 상기 포인트-와이즈 분류를 사용하는 것을 더 포함하는,
방법. - 제21항에 있어서,
상기 포인트-와이즈 분류를 수행하도록 뉴럴 네트워크(neural network)를 사용하는 것을 더 포함하는,
방법. - 제17항에 있어서,
상기 워크스페이스 내 픽스쳐와 연관된 상기 포인트 클라우드 내 포인트를 세그먼팅 아웃(segmenting out) 하는 것을 더 포함하는,
방법. - 제17항에 있어서,
상기 다중 이미지를 캡쳐하는 것은 상기 로보틱 웰딩 워크스페이스 내 다중 밴티지 포인트로부터 다중 이미지를 캡쳐하는 것을 포함하는,
방법. - 제17항에 있어서,
상기 파트 상 후보(candidate) 심이 실제로 심이라는 컨피던스 값을 결정하는 다중 캡쳐 이미지를 사용하는 것을 더 포함하는,
방법.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163153109P | 2021-02-24 | 2021-02-24 | |
US63/153,109 | 2021-02-24 | ||
US202163282827P | 2021-11-24 | 2021-11-24 | |
US63/282,827 | 2021-11-24 | ||
PCT/US2022/017744 WO2022182896A2 (en) | 2021-02-24 | 2022-02-24 | Autonomous welding robots |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230160277A true KR20230160277A (ko) | 2023-11-23 |
Family
ID=82901371
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237032885A KR20230160277A (ko) | 2021-02-24 | 2022-02-24 | 오토노머스 웰딩 로봇 |
KR1020237032884A KR20230160276A (ko) | 2021-02-24 | 2022-02-24 | 오토노머스 웰딩 로봇 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237032884A KR20230160276A (ko) | 2021-02-24 | 2022-02-24 | 오토노머스 웰딩 로봇 |
Country Status (7)
Country | Link |
---|---|
US (6) | US11648683B2 (ko) |
EP (2) | EP4297937A1 (ko) |
JP (2) | JP2024508563A (ko) |
KR (2) | KR20230160277A (ko) |
CA (2) | CA3211502A1 (ko) |
MX (2) | MX2023009877A (ko) |
WO (2) | WO2022182896A2 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11660698B2 (en) * | 2020-05-26 | 2023-05-30 | Illinois Tool Works Inc. | Input power user interfaces for welding power supplies |
US11407110B2 (en) * | 2020-07-17 | 2022-08-09 | Path Robotics, Inc. | Real time feedback and dynamic adjustment for welding robots |
KR20230160277A (ko) | 2021-02-24 | 2023-11-23 | 패스 로보틱스, 인코포레이티드 | 오토노머스 웰딩 로봇 |
US12134483B2 (en) | 2021-03-10 | 2024-11-05 | The Boeing Company | System and method for automated surface anomaly detection |
US11900534B2 (en) * | 2021-07-30 | 2024-02-13 | The Boeing Company | Systems and methods for synthetic image generation |
US11651554B2 (en) * | 2021-07-30 | 2023-05-16 | The Boeing Company | Systems and methods for synthetic image generation |
US20240181648A1 (en) * | 2022-12-06 | 2024-06-06 | Metal Industries Research & Development Centre | Welding path generating system and welding path generating method |
WO2024156004A1 (en) * | 2023-01-20 | 2024-07-25 | Path Robotics, Inc. | Scan planning and scan operations for welding an object |
CN116604243B (zh) * | 2023-06-21 | 2024-02-27 | 中建国际城市建设有限公司 | 一种智能建造用的焊接机械臂及其焊接方法 |
Family Cites Families (226)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US1724301A (en) | 1928-01-16 | 1929-08-13 | Moriarty Alma Peck | Silhouette corselet ensemble |
US4148061A (en) | 1972-05-18 | 1979-04-03 | Lemelson Jerome H | Scanning apparatus and method |
US3532807A (en) | 1967-10-05 | 1970-10-06 | Webb James E | Automatic closed circuit television arc guidance control |
US4021840A (en) | 1975-01-24 | 1977-05-03 | General Dynamics Corporation | Seam tracking welding system |
US4011437A (en) | 1975-09-12 | 1977-03-08 | Cincinnati Milacron, Inc. | Method and apparatus for compensating for unprogrammed changes in relative position between a machine and workpiece |
US4255643A (en) | 1979-03-28 | 1981-03-10 | C-R-O, Inc. | Programmed welding machine with continuously monitored override control |
US4234777A (en) | 1979-08-15 | 1980-11-18 | C-R-O, Inc. | Programmed welding machine with weld head speed override |
US4380696A (en) | 1980-11-12 | 1983-04-19 | Unimation, Inc. | Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing |
JPS57113111A (en) | 1980-12-30 | 1982-07-14 | Fanuc Ltd | Robot control system |
GB2092497B (en) | 1981-02-06 | 1985-01-16 | Honda Motor Co Ltd | Welding torch assembly |
IN155236B (ko) | 1981-03-20 | 1985-01-12 | Gould Inc | |
JPH065486B2 (ja) | 1981-03-26 | 1994-01-19 | 株式会社安川電機 | ロボットの軌跡制御方法 |
US6317953B1 (en) | 1981-05-11 | 2001-11-20 | Lmi-Diffracto | Vision target based assembly |
US6163946A (en) | 1981-05-11 | 2000-12-26 | Great Lakes Intellectual Property | Vision target based assembly |
US5608847A (en) | 1981-05-11 | 1997-03-04 | Sensor Adaptive Machines, Inc. | Vision target based assembly |
US5602967A (en) | 1981-05-11 | 1997-02-11 | Sensor Adaptive Machines, Inc. | Vision target based assembly |
US4412121A (en) | 1981-08-28 | 1983-10-25 | S R I International | Implement positioning apparatus and process |
US4492847A (en) | 1981-09-30 | 1985-01-08 | Unimation, Inc. | Manipulator welding apparatus with sensing arrangements for weld slam tracking |
JPS5858607A (ja) | 1981-10-05 | 1983-04-07 | Sankyo Seiki Mfg Co Ltd | プリセツト式ロボツトにおけるポイント測定方式 |
JPS5890113A (ja) | 1981-11-25 | 1983-05-28 | Yamazaki Mazak Corp | マシニングセンタにおける座標系設定制御方法 |
US5506682A (en) | 1982-02-16 | 1996-04-09 | Sensor Adaptive Machines Inc. | Robot vision using targets |
US4613942A (en) | 1982-02-19 | 1986-09-23 | Chen Richard M | Orientation and control system for robots |
JPS58177295A (ja) | 1982-04-07 | 1983-10-17 | 株式会社日立製作所 | ロボット制御装置 |
SE452719B (sv) | 1982-06-29 | 1987-12-14 | Asea Ab | Industrirobot |
JPS5988279A (ja) | 1982-10-15 | 1984-05-22 | 新明和工業株式会社 | 多関節ロボットの座標変換方法およびそのための装置 |
ZA838150B (en) | 1982-11-01 | 1984-06-27 | Nat Res Dev | Automatic welding |
US4593173A (en) | 1982-11-08 | 1986-06-03 | National Research Development Corp. | Electronic apparatus for automatic control of the placing of material at a junction between surfaces |
US4590577A (en) | 1982-12-01 | 1986-05-20 | Yaskawa Electric Mfg. Co., Ltd. | Welding robot controlling method |
IL67599A (en) | 1982-12-31 | 1986-09-30 | Laser Ind Ltd | Control apparatus particularly useful for controlling a laser |
US4497996A (en) | 1983-01-18 | 1985-02-05 | Automatix Incorporated | Arc welding system with vision |
US4567348A (en) | 1983-01-25 | 1986-01-28 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automated weld torch guidance control system |
US4568816A (en) | 1983-04-19 | 1986-02-04 | Unimation, Inc. | Method and apparatus for manipulator welding apparatus with improved weld path definition |
FR2553698B1 (fr) | 1983-10-20 | 1987-05-15 | Commissariat Energie Atomique | Porte-outil, pour robot, et son procede de mise en oeuvre |
IT1174831B (it) | 1983-11-30 | 1987-07-01 | Armco Spa | Macchina elettrosaldatrice automatica |
JPS60177888A (ja) | 1984-02-22 | 1985-09-11 | フアナツク株式会社 | 視覚センサ処理装置とロボツト制御装置との結合方式 |
US4578554A (en) | 1984-04-30 | 1986-03-25 | Teledyne, Inc. | Laser welding apparatus |
DE3417868C2 (de) | 1984-05-14 | 1986-08-07 | Deutsche Forschungs- und Versuchsanstalt für Luft- und Raumfahrt e.V., 5000 Köln | Verfahren zum Steuern von Roboterbewegungen |
JPS60247475A (ja) | 1984-05-23 | 1985-12-07 | Hitachi Ltd | 画像処理による溶接制御方法 |
JPS6132113A (ja) | 1984-07-23 | 1986-02-14 | Seiko Instr & Electronics Ltd | ロボツト制御方式 |
JPS6150795A (ja) | 1984-08-17 | 1986-03-13 | セイコーインスツルメンツ株式会社 | 産業用ロボツト |
US5267143A (en) | 1984-10-12 | 1993-11-30 | Sensor Adaptive Machines, Incorporated | Vision assisted fixture construction |
US5374830A (en) | 1984-10-12 | 1994-12-20 | Sensor Adaptive Machines, Inc. | Target based determination of robot and sensor alignment |
US4555613A (en) | 1984-10-17 | 1985-11-26 | Unimation, Inc. | Image sensing and welding arrangement for manipulator welding apparatus |
JPS61183716A (ja) | 1985-02-08 | 1986-08-16 | Hitachi Ltd | 誘導装置 |
US4804860A (en) | 1985-05-02 | 1989-02-14 | Robotic Vision Systems, Inc. | Robot cell safety system |
JPS61296409A (ja) | 1985-06-25 | 1986-12-27 | Fanuc Ltd | ロボツト制御方式 |
US4724301A (en) | 1985-10-21 | 1988-02-09 | Hitachi, Ltd. | Apparatus utilizing light stripe image for detecting portion to be welded prior to welding thereof |
DE3542314A1 (de) | 1985-11-29 | 1987-06-04 | Kuka Schweissanlagen & Roboter | Transportvorrichtung fuer den schweissdrahtvorschub an schweisseinrichtungen |
US4675502A (en) | 1985-12-23 | 1987-06-23 | General Electric Company | Real time tracking control for taught path robots |
US4745857A (en) | 1986-02-28 | 1988-05-24 | Markem Corporation | Programmable pad printing apparatus and method |
JPS62232006A (ja) | 1986-04-02 | 1987-10-12 | Yokogawa Electric Corp | ロボツト・システム |
US4725965A (en) | 1986-07-23 | 1988-02-16 | American Telephone And Telegraph Company | Method for calibrating a SCARA robot |
US5219264A (en) | 1986-09-19 | 1993-06-15 | Texas Instruments Incorporated | Mobile robot on-board vision system |
US4812614A (en) | 1987-02-26 | 1989-03-14 | Industrial Technology Research Institute | Machine vision seam tracking method and apparatus for welding robots |
JP2713899B2 (ja) | 1987-03-30 | 1998-02-16 | 株式会社日立製作所 | ロボツト装置 |
US4833383A (en) | 1987-08-13 | 1989-05-23 | Iowa State University Research Foundation, Inc. | Means and method of camera space manipulation |
US4907169A (en) | 1987-09-30 | 1990-03-06 | International Technical Associates | Adaptive tracking vision and guidance system |
US4845992A (en) | 1987-12-22 | 1989-07-11 | Dean Michael J | Method and apparatus for bending rotor vanes |
EP0440313B1 (en) | 1988-01-08 | 1997-12-10 | Prolion B.V. | Element for positioning an animal, terminal apparatus for an automatic milking system, and method for automatically milking an animal |
JP2708458B2 (ja) | 1988-04-01 | 1998-02-04 | 株式会社豊田中央研究所 | 倣い制御ロボット |
US4969108A (en) | 1988-04-08 | 1990-11-06 | Cincinnati Milacron Inc. | Vision seam tracking method and apparatus for a manipulator |
US4979949A (en) | 1988-04-26 | 1990-12-25 | The Board Of Regents Of The University Of Washington | Robot-aided system for surgery |
JP2561323B2 (ja) | 1988-07-12 | 1996-12-04 | ニチコン株式会社 | 電解コンデンサの駆動用電解液 |
DE3823836A1 (de) | 1988-07-14 | 1990-01-18 | Fraunhofer Ges Forschung | Verfahren zum vermessen von der bestueckung von leiterplatten dienenden bauelementen und einrichtung zur durchfuehrung des verfahrens |
DE3830892C1 (ko) | 1988-09-10 | 1989-09-28 | Fried. Krupp Gmbh, 4300 Essen, De | |
US4945493A (en) | 1988-09-26 | 1990-07-31 | Ford Motor Company | Method and system for correcting a robot path |
JPH02256430A (ja) | 1989-03-29 | 1990-10-17 | Mitsubishi Electric Corp | 自動組立装置および方法 |
US5053976A (en) | 1989-05-22 | 1991-10-01 | Honda Giken Kogyo Kabushiki Kaisha | Method of teaching a robot |
US5001324A (en) | 1989-09-14 | 1991-03-19 | General Electric Company | Precision joint tracking laser welding system |
JP2690603B2 (ja) | 1990-05-30 | 1997-12-10 | ファナック株式会社 | 視覚センサのキャリブレーション方法 |
US5096353A (en) | 1990-07-27 | 1992-03-17 | Motorola, Inc. | Vision system for a robotic station |
US5083073A (en) | 1990-09-20 | 1992-01-21 | Mazada Motor Manufacturing U.S.A. Corp. | Method and apparatus for calibrating a vision guided robot |
US5598345A (en) | 1990-11-29 | 1997-01-28 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for inspecting solder portions |
JP2764485B2 (ja) | 1991-08-27 | 1998-06-11 | ファナック株式会社 | リアルタイムセンサの診断方法 |
US5245409A (en) | 1991-11-27 | 1993-09-14 | Arvin Industries, Inc. | Tube seam weld inspection device |
US5300869A (en) | 1992-07-30 | 1994-04-05 | Iowa State University Research Foundation, Inc. | Nonholonomic camera space manipulation |
JPH0647574A (ja) | 1992-07-31 | 1994-02-22 | Fanuc Ltd | 産業用レーザロボット装置 |
KR0160992B1 (ko) | 1992-08-13 | 1998-12-15 | 윤종룡 | 로보트의 위치결정제어방법 |
US5326469A (en) | 1992-09-14 | 1994-07-05 | Zander Filter Systems, Inc. | Method and apparatus for separating oil and water |
JP3053501B2 (ja) | 1992-10-20 | 2000-06-19 | ファナック株式会社 | ロボットの位置教示方法 |
US5288991A (en) | 1992-12-04 | 1994-02-22 | International Business Machines Corporation | Optical system for rapid inspection of via location |
GB9300403D0 (en) | 1993-01-11 | 1993-03-03 | Huissoon Jan P | Dynamic seam tracking with redundant axes control |
JPH06328385A (ja) | 1993-05-20 | 1994-11-29 | Fanuc Ltd | 産業用ロボットの視覚センサの姿勢制御方法 |
JPH07266272A (ja) | 1994-03-29 | 1995-10-17 | Nippon Telegr & Teleph Corp <Ntt> | マニピュレータ用追従方法及び装置 |
JP3040670B2 (ja) | 1994-08-22 | 2000-05-15 | ファナック株式会社 | レーザセンサを用いた溶接線追従方法及びロボット制御装置 |
US5798627A (en) * | 1995-01-04 | 1998-08-25 | Gilliland; Malcolm T. | Method for simultaneous operation of robot welders |
US5572102A (en) | 1995-02-28 | 1996-11-05 | Budd Canada Inc. | Method and apparatus for vision control of welding robots |
US5612785A (en) | 1996-01-03 | 1997-03-18 | Servo Robot Inc. | Twin sensor laser probe |
US5961858A (en) | 1996-06-06 | 1999-10-05 | Engauge Inc. | Laser welding apparatus employing a tilting mechanism |
US5925268A (en) | 1996-06-06 | 1999-07-20 | Engauge Inc. | Laser welding apparatus employing a tilting mechanism and seam follower |
FR2752180B1 (fr) | 1996-08-08 | 1999-04-16 | Axal | Procede et dispositif de soudage a pilotage du faisceau de soudage |
KR100200204B1 (ko) | 1996-11-18 | 1999-06-15 | 윤종용 | 아크용접공정에서용접선자동추적을위한비젼센서및비젼처리기법 |
US6044308A (en) | 1997-06-13 | 2000-03-28 | Huissoon; Jan Paul | Method and device for robot tool frame calibration |
KR100222940B1 (ko) | 1997-08-30 | 1999-10-01 | 윤종용 | 센서를 이용한 캘리브레이션 방법 및 장치 |
US5959425A (en) | 1998-10-15 | 1999-09-28 | Fanuc Robotics North America, Inc. | Vision guided automatic robotic path teaching method |
JP2000135689A (ja) | 1998-10-30 | 2000-05-16 | Fanuc Ltd | ロボット用画像処理装置 |
JP4037588B2 (ja) | 1999-03-16 | 2008-01-23 | 株式会社東芝 | 原子炉制御棒の製造方法及び製造装置 |
US6304050B1 (en) | 1999-07-19 | 2001-10-16 | Steven B. Skaar | Means and method of robot control relative to an arbitrary surface using camera-space manipulation |
JP3746922B2 (ja) | 1999-08-17 | 2006-02-22 | 中央精機株式会社 | 溶接線の倣い判定装置と倣い制御装置 |
SE0001312D0 (sv) | 2000-04-10 | 2000-04-10 | Abb Ab | Industrirobot |
US6430474B1 (en) | 2001-04-03 | 2002-08-06 | Xerox Corporation | Tooling adapter for allowing selected manipulation of a workpiece |
JP4257570B2 (ja) | 2002-07-17 | 2009-04-22 | 株式会社安川電機 | 搬送用ロボットのティーチング装置および搬送用ロボットのティーチング方法 |
US6804580B1 (en) | 2003-04-03 | 2004-10-12 | Kuka Roboter Gmbh | Method and control system for controlling a plurality of robots |
DE20306581U1 (de) | 2003-04-29 | 2004-09-16 | Kuka Schweissanlagen Gmbh | Laserschweißanordnung |
US6909066B2 (en) | 2003-07-30 | 2005-06-21 | Edison Welding Institute | Adaptive and synergic fill welding method and apparatus |
DE10345743A1 (de) | 2003-10-01 | 2005-05-04 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Bestimmen von Position und Orientierung einer Bildempfangseinrichtung |
DE10361018C9 (de) | 2003-12-23 | 2021-03-04 | QUISS Qualitäts-Inspektionssysteme und Service GmbH | Verfahren zum Erkennen einer auf einem Substrat aufzubringenden Struktur mit mehreren Kameras sowie eine Vorrichtung hierfür |
JP2008502488A (ja) * | 2004-06-15 | 2008-01-31 | エービービー エービー | 複数の相互作用ロボットをオフラインでプログラミングする方法及びシステム |
JP4917252B2 (ja) | 2004-07-23 | 2012-04-18 | ファナック株式会社 | アーク溶接用装置 |
US20060047363A1 (en) | 2004-08-31 | 2006-03-02 | Farrelly Philip J | Machine vision system for lab workcells |
US20060049153A1 (en) | 2004-09-08 | 2006-03-09 | Cahoon Christopher L | Dual feed laser welding system |
GB0513899D0 (en) | 2005-07-06 | 2005-08-10 | Airbus Uk Ltd | Program-controlled process |
US20070134652A1 (en) | 2005-11-09 | 2007-06-14 | Primera Biosystems, Inc. | Multiplexed quantitative detection of pathogens |
WO2007072837A1 (en) | 2005-12-20 | 2007-06-28 | Semiconductor Energy Laboratory Co., Ltd. | Laser irradiation apparatus and method for manufacturing semiconductor device |
US7974737B2 (en) | 2006-10-31 | 2011-07-05 | GM Global Technology Operations LLC | Apparatus and method of automated manufacturing |
US9937577B2 (en) | 2006-12-20 | 2018-04-10 | Lincoln Global, Inc. | System for a welding sequencer |
DE102007008598A1 (de) | 2007-02-19 | 2008-08-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Automatische Programmierung von Robotern zum Abschweißen gehefteter Profile auf Mikropaneelen mit Hilfe digitaler Bilderfassung |
US7946439B1 (en) | 2007-04-09 | 2011-05-24 | Tech Serv LLC | Protective steel membrane system and method of erection for secondary containment for an above ground storage tank |
DE102007033309A1 (de) | 2007-07-18 | 2009-01-22 | Abb Ag | Verfahren zum Bearbeiten einer Kontur an wenigstens einem Werkstück mittels eines Roboters |
JP4302160B2 (ja) | 2007-09-12 | 2009-07-22 | ファナック株式会社 | ロボットによるパレタイジング作業のためのロボットプログラミング装置 |
US20120096702A1 (en) * | 2007-09-14 | 2012-04-26 | Alan Kingsley | Automated construction system |
EP2062675B1 (de) | 2007-11-20 | 2010-01-20 | Trumpf Werkzeugmaschinen GmbH + Co. KG | Verfahren zum Bestimmen einer Kenngröße für die Genauigkeit einer Nahtlageregelung |
EP2075096A1 (de) | 2007-12-27 | 2009-07-01 | Leica Geosystems AG | Verfahren und System zum hochpräzisen Positionieren mindestens eines Objekts in eine Endlage im Raum |
DE602008000416D1 (de) | 2008-02-13 | 2010-01-28 | Abb As | System und Verfahren zur Visualisierung von Verfahrensfehlern |
DE102008032509A1 (de) | 2008-07-10 | 2010-01-14 | Epcos Ag | Heizungsvorrichtung und Verfahren zur Herstellung der Heizungsvorrichtung |
US9196169B2 (en) | 2008-08-21 | 2015-11-24 | Lincoln Global, Inc. | Importing and analyzing external data using a virtual reality welding system |
US20100114338A1 (en) | 2008-10-31 | 2010-05-06 | Gm Global Technology Operations, Inc. | Multi-goal path planning of welding robots with automatic sequencing |
JP5190023B2 (ja) | 2009-05-20 | 2013-04-24 | 株式会社神戸製鋼所 | 溶接設定装置、溶接ロボットシステムおよび溶接設定プログラム |
US9221117B2 (en) | 2009-07-08 | 2015-12-29 | Lincoln Global, Inc. | System for characterizing manual welding operations |
US9773429B2 (en) | 2009-07-08 | 2017-09-26 | Lincoln Global, Inc. | System and method for manual welder training |
DE102009045400B3 (de) | 2009-10-06 | 2011-06-09 | Bayerische Motoren Werke Aktiengesellschaft | Fügevorrichtung für ein stoffschlüssiges Fügen mittels eines Zusatzwerkstoffes |
US8941726B2 (en) * | 2009-12-10 | 2015-01-27 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for segmenting moving objects from images using foreground extraction |
US9993891B2 (en) | 2010-07-14 | 2018-06-12 | Illinois Tool Works Inc. | Welding parameter control via welder motion or position monitoring |
US20130119040A1 (en) | 2011-11-11 | 2013-05-16 | Lincoln Global, Inc. | System and method for adaptive fill welding using image capture |
US8693730B2 (en) | 2011-11-15 | 2014-04-08 | Macdonald Dettwiler & Associates Inc. | Method of real-time tracking of moving/flexible surfaces |
WO2013147919A1 (en) * | 2012-03-29 | 2013-10-03 | Dcg Systems, Inc. | Method for evaluating the centerline of an arbitrarily shaped object |
US10492876B2 (en) | 2012-09-17 | 2019-12-03 | Omniguide, Inc. | Devices and methods for laser surgery |
CN104703762A (zh) | 2012-10-05 | 2015-06-10 | 贝克曼考尔特公司 | 基于相机的自动对准的系统和方法 |
KR20150100669A (ko) | 2012-12-21 | 2015-09-02 | 베크만 컬터, 인코포레이티드 | 레이저 기반 자동 정렬을 위한 시스템 및 방법 |
FR3004571B1 (fr) | 2013-04-11 | 2015-04-10 | Vit | Procede de correction d'une image tridimensionnelle d'un circuit electronique |
US9821415B2 (en) | 2014-03-28 | 2017-11-21 | Crc-Evans Pipeline International, Inc. | Internal pipeline cooler |
US10040141B2 (en) | 2013-05-23 | 2018-08-07 | Crc-Evans Pipeline International, Inc. | Laser controlled internal welding machine for a pipeline |
CA2951523C (en) | 2013-06-11 | 2021-06-01 | Somatis Sensor Solutions LLC | Systems and methods for sensing objects |
US20150072323A1 (en) | 2013-09-11 | 2015-03-12 | Lincoln Global, Inc. | Learning management system for a real-time simulated virtual reality welding training environment |
US20150122781A1 (en) * | 2013-11-04 | 2015-05-07 | Illinois Tool Works Inc. | System and method for selecting weld parameters |
JP5788460B2 (ja) | 2013-11-05 | 2015-09-30 | ファナック株式会社 | バラ積みされた物品をロボットで取出す装置及び方法 |
US10083627B2 (en) | 2013-11-05 | 2018-09-25 | Lincoln Global, Inc. | Virtual reality and real welding training system and method |
JP6314506B2 (ja) | 2014-01-30 | 2018-04-25 | 日産自動車株式会社 | 車両部品の製造装置及び製造方法 |
US9836987B2 (en) | 2014-02-14 | 2017-12-05 | Lincoln Global, Inc. | Virtual reality pipe welding simulator and setup |
PL3119552T3 (pl) | 2014-03-17 | 2021-05-31 | Bombardier Transportation Gmbh | Sposób spawania elementów składowych wzdłuż złącza spawanego za pomocą dwóch robotów |
JP6286276B2 (ja) | 2014-05-09 | 2018-02-28 | 株式会社アマダホールディングス | 溶接機及びその制御方法 |
JP2015223604A (ja) | 2014-05-27 | 2015-12-14 | 日産自動車株式会社 | 接合部品の製造方法、および接合部品の製造装置 |
WO2015185972A1 (en) | 2014-06-02 | 2015-12-10 | Lincoln Global, Inc. | System and method for manual welder training |
US9802277B2 (en) | 2014-07-18 | 2017-10-31 | Lincoln Global, Inc. | Tank welding fixture |
WO2016013171A1 (ja) | 2014-07-23 | 2016-01-28 | パナソニックIpマネジメント株式会社 | レーザ加工システム及びレーザ加工方法 |
US9724787B2 (en) | 2014-08-07 | 2017-08-08 | Illinois Tool Works Inc. | System and method of monitoring a welding environment |
US9740193B2 (en) * | 2014-08-08 | 2017-08-22 | Roboticvisiontech, Inc. | Sensor-based safety features for robotic equipment |
US10201868B2 (en) | 2014-09-30 | 2019-02-12 | Illinois Tool Works Inc. | Systems and methods for gesture control of a welding system |
JP5980867B2 (ja) | 2014-10-07 | 2016-08-31 | ファナック株式会社 | ロボットをオフラインで教示するロボット教示装置 |
US10373304B2 (en) | 2014-11-05 | 2019-08-06 | Illinois Tool Works Inc. | System and method of arranging welding device markers |
US10402959B2 (en) * | 2014-11-05 | 2019-09-03 | Illinois Tool Works Inc. | System and method of active torch marker control |
US9975196B2 (en) | 2015-01-05 | 2018-05-22 | University Of Kentucky Research Foundation | Measurement of three-dimensional welding torch orientation for manual arc welding process |
US9808993B2 (en) | 2015-03-03 | 2017-11-07 | Ricoh Co., Ltd. | Method for solid freeform fabrication |
US9643314B2 (en) | 2015-03-04 | 2017-05-09 | The Johns Hopkins University | Robot control, training and collaboration in an immersive virtual reality environment |
EP3268949B1 (en) | 2015-03-09 | 2021-05-26 | Illinois Tool Works Inc. | Methods and apparatus to provide visual information associated with welding operations |
US9666160B2 (en) | 2015-03-26 | 2017-05-30 | Illinois Tool Works Inc. | Control of mediated reality welding system based on lighting conditions |
US9977242B2 (en) | 2015-03-26 | 2018-05-22 | Illinois Tool Works Inc. | Control of mediated reality welding system based on lighting conditions |
JP2016219604A (ja) | 2015-05-20 | 2016-12-22 | シチズン電子株式会社 | 発光装置 |
EP3325205B1 (en) | 2015-07-23 | 2021-01-20 | ABB Schweiz AG | Method and apparatus of identifying welding seams of welding object |
US10290118B2 (en) | 2015-08-06 | 2019-05-14 | Cognex Corporation | System and method for tying together machine vision coordinate spaces in a guided assembly environment |
US10197987B2 (en) | 2015-08-26 | 2019-02-05 | The Boeing Company | Use of manufacturing compounds to create fiducial marks |
FI126900B (en) | 2015-12-29 | 2017-07-31 | Optiweld Oy | Method and system for analyzing the properties of a weld |
US10525596B2 (en) * | 2016-02-11 | 2020-01-07 | Darryl Hammock | Teleoperated robot for flood-welding operations |
US10788836B2 (en) | 2016-02-29 | 2020-09-29 | AI Incorporated | Obstacle recognition method for autonomous robots |
JP6601285B2 (ja) | 2016-03-15 | 2019-11-06 | オムロン株式会社 | レーザ加工システムおよび加工制御方法 |
JP2017196653A (ja) | 2016-04-28 | 2017-11-02 | 株式会社神戸製鋼所 | ガスシールドアーク溶接システム及びガスシールドアーク溶接方法 |
WO2017223061A1 (en) | 2016-06-20 | 2017-12-28 | Hypertherm, Inc. | Systems and methods for planning paths to guide robots |
US10265814B2 (en) | 2016-06-28 | 2019-04-23 | Ford Motor Company | Flexible pressing system |
EP3269487A1 (de) * | 2016-07-12 | 2018-01-17 | Fronius International GmbH | Verfahren zur festlegung von schweissparametern für einen schweissprozess |
JP6386501B2 (ja) | 2016-08-12 | 2018-09-05 | ファナック株式会社 | レーザ加工ロボットシステム及びレーザ加工方法 |
GB201614989D0 (en) | 2016-09-05 | 2016-10-19 | Rolls Royce Plc | Welding process |
US10545480B2 (en) | 2016-11-07 | 2020-01-28 | Lincoln Global, Inc. | System and method for manufacturing and control thereof |
JP6717736B2 (ja) | 2016-11-28 | 2020-07-01 | ファナック株式会社 | レーザ加工システム |
US10705024B2 (en) | 2017-03-17 | 2020-07-07 | Lincoln Global, Inc. | System and method for positive metal identification and intelligent consumable identification |
JP6682466B2 (ja) | 2017-03-17 | 2020-04-15 | 株式会社東芝 | 光学検査装置 |
JP6809948B2 (ja) | 2017-03-21 | 2021-01-06 | 株式会社神戸製鋼所 | 溶接パス情報の取得方法および溶接ロボットシステム |
JP6914067B2 (ja) | 2017-03-21 | 2021-08-04 | 株式会社神戸製鋼所 | 動作プログラム補正方法および溶接ロボットシステム |
US10955814B2 (en) | 2017-04-24 | 2021-03-23 | Autodesk, Inc. | Closed-loop robotic deposition of material |
US20180322623A1 (en) | 2017-05-08 | 2018-11-08 | Aquifi, Inc. | Systems and methods for inspection and defect detection using 3-d scanning |
US10853539B2 (en) | 2017-05-26 | 2020-12-01 | Autodesk, Inc. | Robotic assembly of a mesh surface |
US11179793B2 (en) | 2017-09-12 | 2021-11-23 | Autodesk, Inc. | Automated edge welding based on edge recognition using separate positioning and welding robots |
WO2019060529A1 (en) | 2017-09-20 | 2019-03-28 | Magna International Inc. | SYSTEM AND METHOD FOR ADAPTIVE BAC TAKING FOR MANUFACTURING |
US11004202B2 (en) | 2017-10-09 | 2021-05-11 | The Board Of Trustees Of The Leland Stanford Junior University | Systems and methods for semantic segmentation of 3D point clouds |
US10835981B2 (en) | 2017-12-21 | 2020-11-17 | Technip France | Method for circumferential welding and a robotic welding system for circumferential welding |
US20210069813A1 (en) | 2018-02-08 | 2021-03-11 | Novarc Technologies Inc. | Systems and methods for seam tracking in pipe welding |
EP3537412A1 (en) | 2018-03-07 | 2019-09-11 | Seabery North America, S.L. | Systems and methods to simulate robotic joining operations |
MX2020011540A (es) | 2018-04-30 | 2021-10-04 | Path Robotics Inc | Escaner láser que rechaza la reflexión. |
KR102087609B1 (ko) | 2018-07-10 | 2020-03-11 | 주식회사 성우하이텍 | 비전유닛 |
CN109226967B (zh) | 2018-07-25 | 2021-03-09 | 同高先进制造科技(太仓)有限公司 | 一种用于激光-电弧复合焊的主动激光视觉稳健焊缝跟踪系统 |
JP6904927B2 (ja) | 2018-07-30 | 2021-07-21 | ファナック株式会社 | ロボットシステムおよびキャリブレーション方法 |
US11440119B2 (en) | 2018-10-12 | 2022-09-13 | Teradyne, Inc. | System and method for weld path generation |
US11883909B2 (en) | 2018-10-31 | 2024-01-30 | Illinois Tool Works Inc. | Systems and methods to design part weld processes |
CN109540142B (zh) | 2018-11-27 | 2021-04-06 | 达闼科技(北京)有限公司 | 一种机器人定位导航的方法、装置、计算设备 |
US11034024B2 (en) | 2019-02-15 | 2021-06-15 | GM Global Technology Operations LLC | Fixtureless component assembly |
US10899012B2 (en) | 2019-02-15 | 2021-01-26 | GM Global Technology Operations LLC | Coordinated robot to robot component assembly |
US11358282B2 (en) | 2019-04-08 | 2022-06-14 | Teradyne, Inc. | System and method for constraint management of one or more robots |
CN110064818B (zh) | 2019-05-21 | 2021-09-10 | 武汉东焊汽车装备有限公司 | 一种汽车排气管双层焊接设备 |
CN110270997A (zh) | 2019-06-10 | 2019-09-24 | 深圳市超准视觉科技有限公司 | 一种智能焊接方法及工作站 |
CN110524581B (zh) | 2019-09-16 | 2023-06-02 | 西安中科光电精密工程有限公司 | 一种柔性焊接机器人系统及其焊接方法 |
EP3812105B1 (en) | 2019-10-24 | 2022-03-02 | Deutsche Telekom AG | Artificial intelligence architecture for industrial welding |
US20210158724A1 (en) | 2019-11-25 | 2021-05-27 | William Joshua Becker | Weld training simulations using mobile devices, modular workpieces, and simulated welding equipment |
CN111189393B (zh) | 2020-01-21 | 2021-10-01 | 北京卫星制造厂有限公司 | 一种三维薄壁结构焊缝的高精度全局视觉测量方法 |
US20210318673A1 (en) | 2020-04-08 | 2021-10-14 | BWXT Advanced Technologies LLC | In-Situ Inspection Method Based on Digital Data Model of Weld |
US11407110B2 (en) | 2020-07-17 | 2022-08-09 | Path Robotics, Inc. | Real time feedback and dynamic adjustment for welding robots |
MX2022000588A (es) | 2021-01-15 | 2022-11-07 | Illinois Tool Works | Sistemas y metodos para seleccionar parámetros de soldadura con base en propiedades termicas, electricas y/o quimicas. |
US20220250183A1 (en) | 2021-02-10 | 2022-08-11 | Illinois Tool Works Inc. | Methods and apparatus to train a robotic welding system to perform welding |
US20220258267A1 (en) | 2021-02-15 | 2022-08-18 | Illinois Tool Works Inc. | Helmet based weld tracking systems |
KR20230160277A (ko) | 2021-02-24 | 2023-11-23 | 패스 로보틱스, 인코포레이티드 | 오토노머스 웰딩 로봇 |
CN113352317B (zh) | 2021-06-11 | 2023-07-07 | 广西大学 | 一种基于激光视觉系统的多层多道焊接路径规划方法 |
CA3162295A1 (en) | 2021-06-18 | 2022-12-18 | Techjig Inc. | Robotic cell and method of operating same |
JP2023045132A (ja) | 2021-09-21 | 2023-04-03 | 株式会社東芝 | 処理装置及び溶接システム |
US20230123712A1 (en) | 2021-10-18 | 2023-04-20 | Path Robotics, Inc. | Generating simulated weld paths for a welding robot |
WO2023089536A1 (en) | 2021-11-19 | 2023-05-25 | Path Robotics, Inc. | Machine learning logic-based adjustment techniques for robots |
US11922644B2 (en) | 2022-02-11 | 2024-03-05 | Illinois Tool Works Inc. | Calibration procedures for helmet based weld tracking systems |
US20230278224A1 (en) | 2022-03-07 | 2023-09-07 | Path Robotics, Inc. | Tool calibration for manufacturing robots |
US20230330764A1 (en) | 2022-04-19 | 2023-10-19 | Path Robotics, Inc. | Autonomous assembly robots |
-
2022
- 2022-02-24 KR KR1020237032885A patent/KR20230160277A/ko unknown
- 2022-02-24 EP EP22760418.8A patent/EP4297937A1/en active Pending
- 2022-02-24 MX MX2023009877A patent/MX2023009877A/es unknown
- 2022-02-24 WO PCT/US2022/017744 patent/WO2022182896A2/en active Application Filing
- 2022-02-24 JP JP2023575689A patent/JP2024508563A/ja active Pending
- 2022-02-24 US US17/679,983 patent/US11648683B2/en active Active
- 2022-02-24 KR KR1020237032884A patent/KR20230160276A/ko unknown
- 2022-02-24 US US17/680,027 patent/US11548162B2/en active Active
- 2022-02-24 CA CA3211502A patent/CA3211502A1/en active Pending
- 2022-02-24 WO PCT/US2022/017741 patent/WO2022182894A1/en active Application Filing
- 2022-02-24 MX MX2023009878A patent/MX2023009878A/es unknown
- 2022-02-24 JP JP2023575690A patent/JP2024508564A/ja active Pending
- 2022-02-24 CA CA3211499A patent/CA3211499A1/en active Pending
- 2022-02-24 EP EP22760420.4A patent/EP4297923A2/en active Pending
- 2022-09-02 US US17/902,748 patent/US11801606B2/en active Active
- 2022-11-04 US US17/980,769 patent/US11759958B2/en active Active
-
2023
- 2023-07-27 US US18/360,751 patent/US20240033935A1/en active Pending
- 2023-09-18 US US18/469,506 patent/US12070867B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20240033935A1 (en) | 2024-02-01 |
WO2022182896A3 (en) | 2022-11-10 |
US11648683B2 (en) | 2023-05-16 |
US11548162B2 (en) | 2023-01-10 |
US20220410402A1 (en) | 2022-12-29 |
JP2024508564A (ja) | 2024-02-27 |
US12070867B2 (en) | 2024-08-27 |
US20220266453A1 (en) | 2022-08-25 |
US20240075629A1 (en) | 2024-03-07 |
EP4297923A2 (en) | 2024-01-03 |
KR20230160276A (ko) | 2023-11-23 |
MX2023009878A (es) | 2024-01-08 |
WO2022182896A2 (en) | 2022-09-01 |
CA3211502A1 (en) | 2022-09-01 |
EP4297937A1 (en) | 2024-01-03 |
JP2024508563A (ja) | 2024-02-27 |
CA3211499A1 (en) | 2022-09-01 |
MX2023009877A (es) | 2024-01-08 |
US11801606B2 (en) | 2023-10-31 |
WO2022182894A1 (en) | 2022-09-01 |
US20220305593A1 (en) | 2022-09-29 |
US20230047632A1 (en) | 2023-02-16 |
US11759958B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11648683B2 (en) | Autonomous welding robots | |
US11504853B2 (en) | Robotic system architecture and control processes | |
Fang et al. | Robot path planning optimization for welding complex joints | |
US20130060369A1 (en) | Method and system for generating instructions for an automated machine | |
CN102378943A (zh) | 控制机器人工具的方法 | |
US20230330764A1 (en) | Autonomous assembly robots | |
CN112958959A (zh) | 一种基于三维视觉的自动化焊接和检测方法 | |
CN113634958A (zh) | 一种基于三维视觉的大型结构件自动化焊接系统及方法 | |
US20230278224A1 (en) | Tool calibration for manufacturing robots | |
Ahmed et al. | Object detection and motion planning for automated welding of tubular joints | |
US20230123712A1 (en) | Generating simulated weld paths for a welding robot | |
KR20240116919A (ko) | 로봇을 위한 머신 러닝 로직 기반 조정 기술 | |
JP3327854B2 (ja) | 溶接ロボットの教示方法および教示装置 | |
CN117047237A (zh) | 一种异形件智能柔性焊接系统与方法 | |
Pachidis et al. | Vision-based path generation method for a robot-based arc welding system | |
US20240042614A1 (en) | Techniques for multipass welding | |
JP2024543091A (ja) | ロボットのための機械学習ロジックベースの調整技術 | |
US20230403475A1 (en) | Reflection refuting laser scanner |