JP2024508563A - 自律型溶接ロボット - Google Patents

自律型溶接ロボット Download PDF

Info

Publication number
JP2024508563A
JP2024508563A JP2023575689A JP2023575689A JP2024508563A JP 2024508563 A JP2024508563 A JP 2024508563A JP 2023575689 A JP2023575689 A JP 2023575689A JP 2023575689 A JP2023575689 A JP 2023575689A JP 2024508563 A JP2024508563 A JP 2024508563A
Authority
JP
Japan
Prior art keywords
seam
candidate
welding
computer
implemented method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023575689A
Other languages
English (en)
Inventor
アレクサンダー ジェームズ ロンズベリー
アンドリュー ゴードン ロンズベリー
ニマ アジャム ガード
コリン バンカー
キロス カルロス ファビアン ベニテス
マドハヴァン カンダダイ ヴァス
Original Assignee
パス ロボティクス, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パス ロボティクス, インコーポレイテッド filed Critical パス ロボティクス, インコーポレイテッド
Publication of JP2024508563A publication Critical patent/JP2024508563A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K37/00Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
    • B23K37/02Carriages for supporting the welding or cutting element
    • B23K37/0211Carriages for supporting the welding or cutting element travelling on a guide member, e.g. rail, track
    • B23K37/0229Carriages for supporting the welding or cutting element travelling on a guide member, e.g. rail, track the guide member being situated alongside the workpiece
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K37/00Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
    • B23K37/02Carriages for supporting the welding or cutting element
    • B23K37/0258Electric supply or control circuits therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K37/00Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
    • B23K37/04Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups for holding or positioning work
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30152Solder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition 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)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Optics & Photonics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

様々な例における、溶接ロボットのための命令を生成するコンピュータ実装方法を開示する。コンピュータ実装方法は、溶接されるべき部品上の候補継ぎ目の予想される位置を部品のコンピュータ支援設計(CAD)モデルに基づいて識別する工程、部品の表現を生成するために部品を含む作業スペースをスキャンする工程、部品の表現および候補継ぎ目の予想される位置に基づいて部品上の候補継ぎ目を識別する工程、候補継ぎ目の実際の位置を決定する工程、ならびに候補継ぎ目の実際の位置に少なくとも部分的に基づいて溶接ロボットのための溶接命令を生成する工程、を含む。TIFF2024508563000003.tif86128

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号の恩典を主張し、各出願の内容全体は、あらゆる目的で参照により本明細書に組み入れられる。
背景
ロボット製造は、製造プロセスの1つまたは複数の局面を行うロボットの使用を伴う。ロボット溶接は、ロボット製造分野における1つの用途である。ロボット溶接では、ロボットは、1つまたは複数の継ぎ目に沿って2つ以上の構成要素を互いに溶接する。そのようなロボットは、通常は人間によって、または人間によって直接制御される機械によって行われるはずのプロセスを自動化するので、生産時間、信頼性、効率、およびコストにおいて大きな利点を提供する。
概要
様々な例における、溶接ロボットのための命令を生成するコンピュータ実装方法。コンピュータ実装方法は、溶接されるべき部品上の候補継ぎ目の予想される位置を部品のコンピュータ支援設計(CAD)モデルに基づいて識別する工程、部品の表現を生成するために部品を含む作業スペースをスキャンする工程、部品の表現および候補継ぎ目およびの予想される位置に基づいて部品上の候補継ぎ目を識別する工程、候補継ぎ目の実際の位置を決定する工程、ならびに候補継ぎ目の実際の位置に少なくとも部分的に基づいて溶接ロボットのための溶接命令を生成する工程を含む。
例における、溶接ロボットのための溶接命令を生成するコンピュータ実装方法。方法は、センサを介して、溶接されるべき部品を含む作業スペースの画像データを取得する工程、画像データに基づいて溶接されるべき部品上の複数の点を識別する工程、複数の点から、溶接されるべき部品上の候補継ぎ目を識別する工程、および候補継ぎ目の識別に少なくとも部分的に基づいて溶接ロボットのための溶接命令を生成する工程を含む。
様々な例による、自律型ロボット溶接システムのブロック図である。 様々な例による、自律型ロボット溶接システムの概略図である。 様々な例による、自律型ロボット溶接システムの概略図である。 様々な例による、溶接可能な継ぎ目を有する部品の例示的な点群である。 様々な例による、溶接可能な継ぎ目を有する部品の例示的な点群である。 様々な例による、位置合わせプロセスフローを例示するブロック図である。 様々な例による、ロボットのための経路計画を決定し得るグラフ探索技術の概略図である。 様々な例による、ロボットアームの数学モデルである。 様々な例による、自律型溶接を行うための方法の流れ図である。 様々な例による、自律型溶接を行うための方法の流れ図である。 様々な例による、自律型溶接を行うための方法の流れ図である。
詳細な説明
従来の溶接技術は、面倒で労働集約的で非効率的である。従来の溶接技術はまた、製造プロセス中に一般に遭遇する不規則性に十分に柔軟に対応せず、望ましくないダウンタイムおよび非効率性につながる。例えば、従来の溶接技術では、溶接ロボットが溶接作業を行うための命令を、熟練したプログラマが生成しなければならない。これらの命令は、特定の溶接作業を行うために使用されなければならない動き、経路、軌道、および溶接パラメータに関して溶接ロボットに命令する。命令は、同じ溶接作業が何度も繰り返される大量の作業が行われることを想定して書かれている。よって、溶接プロセス中に遭遇するあらゆる逸脱(例えば、異なる部品)が、誤って配置された溶接部をもたらす可能性がある。誤って配置された溶接部は、非効率性、コスト、および大量生産の他の負の局面を増加させる。
ある場合には、溶接作業を容易にするために、部品のコンピュータ支援設計(CAD)モデルが溶接ロボットに有用であり得る。例えば、溶接されるべき部品のCADモデルが溶接ロボットに提供されてもよく、溶接ロボットはCADモデルを使用して、溶接されるべき継ぎ目の位置など、その移動を案内し得る。溶接されるべき(1つまたは複数の)継ぎ目は、CADモデルおよび溶接ロボットにおいて注釈を付けられ(例えば、ユーザが選択したエッジを含む注釈、各エッジが継ぎ目を表す)、センサを使用して継ぎ目を位置特定した後、注釈に従って溶接を施す。そのような手法は、熟練したプログラマまたは製造エンジニアの必要性を低減または排除し得るが、それらには限界がある。例えば、溶接作業は非常に精密な作業である。一般に、許容できる溶接部を作成するためには、溶接チップは、継ぎ目と関連付けられた目標位置から1mm以内に位置することが望ましい。CADモデルに基づいて溶接ロボットを案内する場合には、部品がCADモデルにぴったり適合する場合でも、実際の継ぎ目はモデル化された位置から1mmを超える場合があり、これにより、溶接チップが正確に位置決めされて許容できる溶接部を作成することが困難または不可能になる可能性がある。CADモデルが実際の部品の単純化である場合(これは少量生産では一般的である)、継ぎ目は、モデル化された位置から1センチメートル以上移動される場合がある。したがって、公知の技術を使用して、CADモデルに基づいて継ぎ目を精密に位置特定することは困難であり得る。したがって、溶接ロボットは許容できない溶接部を作成し、それによって欠陥部品を生じる可能性がある。
さらに、溶接ロボットを制御するための先行する解決策は、溶接ロボット(より具体的には、ロボットアーム)が継ぎ目などの第1の点から第2の点までの経路に沿って製造作業スペース内を移動するときに、他の構成要素(例えば、部品、センサ、クランプなど)との衝突を回避するために、熟練したオペレータが溶接ロボットに特定の命令を提供することを必要とする。障害物および衝突がない経路(例えば、ロボットが継ぎ目を溶接するためにたどり得る経路)を識別することを、本明細書では経路計画と呼ぶ。熟練したオペレータがロボットアームの数十または数百でさえもの潜在的な経路の経路計画を行うことを必要とすることは、非効率的であり、面倒であり、費用がかかる。さらに、従来の溶接ロボットは、多くの場合、同じ経路、同じ動き、および同じ軌道を繰り返したどるようにプログラムされる。この繰り返し行われるプロセスは、製造プロセスが高度に成熟している大量製造の状況では許容され得るが、少量または中量の状況では、構成要素が溶接ロボットに対して予想外の位置に位置決めされる可能性があり、これは、衝突、位置ずれ部品、不十分な許容差、および他の問題につながる可能性がある。したがって、特定の状況では、溶接を容易にするために熟練したオペレータが必要とされる場合がある。
本明細書に記載の溶接技術は、継ぎ目を正確かつ精密に識別して溶接するために溶接ロボットにとって有用な命令を自動的かつ動的に生成することができるので、先行する溶接ロボットおよび溶接技術よりも優れている。先行するシステムおよび技術とは異なり、本明細書に記載の溶接技術は、溶接されるべき部品のCADモデルを必ずしも必要とせず(ただし、いくつかの例では、後述するように、CADモデルが有用な場合もある)、部品または製造作業スペースに関する他の事前情報も必ずしも必要としない。むしろ、本明細書に記載の溶接技術は、可動式センサを使用して3次元(3D)空間において製造作業スペース(特に、部品および継ぎ目)をマップし、そのようなマップを使用して高度の正確度および精度で継ぎ目を位置特定して溶接する。本明細書に記載の溶接技術は、中でも特に、溶接用の複数の候補継ぎ目を識別する能力、溶接用の候補継ぎ目を選択するためにユーザと対話する能力、および溶接パラメータを動的に変更し、溶接作業に関するフィードバックを提供する能力など、この技術を先行する劣った解決策からさらに際立たせる様々なさらなる特徴を含む。さらに、本明細書に記載の溶接技術は、センサによって取得されたデータを使用して経路計画を自動的かつ動的に行うように、すなわち、ロボットアームが他の構成要素との衝突なしに移動し得る製造作業スペース内の1つまたは複数の経路を、事前情報なしに自動的かつ動的に識別するように構成される。本明細書に記載の溶接技術はまた、センサによって取得されたデータと事前情報(例えば、注釈付きCADモデル)との組み合わせを使用して、経路計画および溶接を動的に行うようにも構成される。次に、これらおよびその他の例を、以下で図面を参照して説明する。
図1は、様々な例による、自律型ロボット溶接システム100のブロック図である。システム100は、製造作業スペース101と、ユーザインターフェース106と、コントローラ108と、データベース112を記憶している記憶装置109とを含む。システム100は、本明細書に明示的に記載されていない他の構成要素またはサブシステムを含んでもよい。製造作業スペース101は、その中で(1つまたは複数の)ロボットアームが、1つまたは複数のセンサによって受信された情報によって支援されながら、台または位置決め装置の上に位置決めされるか、それに結合されるか、またはそれによって他のやり方で支持される1つまたは複数の部品に対して作業する領域または囲いである。例において、作業スペース101は、溶接のための適切な安全対策を考慮して設計された任意の適切な溶接領域であり得る。例えば、作業スペース101は、作業場、ジョブショップ、製造プラント、組立工場などに位置する溶接領域であり得る。例において、製造作業スペース101(または、より一般的には、作業スペース101)は、センサ102と、溶接、ろう付け、接合などの溶接タイプのプロセスを行うように構成されたロボット110と、溶接されるべき部品114(例えば、継ぎ目を有する部品)と、固定具116とを含んでもよい。固定具116は、部品114を保持、位置決め、および/または操作してもよく、例えば、クランプ、台、位置決め装置、または他のタイプの固定具であってもよい。固定具116は、部品114をしっかりと保持するように構成され得る。例において、固定具116は、ユーザによって手動で、またはモータによって自動的に調整可能である。例えば、固定具116は、溶接プロセスの前または溶接プロセス中にその位置、向き、または他の物理的構成を動的に調整してもよい。いくつかの例では、ロボット110は、1つまたは複数のセンサ102を含んでもよい。例えば、1つまたは複数のセンサ102は、ロボット110のアーム上(例えば、アームに取り付けられた溶接ヘッド上)に位置決めされてもよい。別の例では、1つまたは複数のセンサ102は、(ロボット110とは異なり得る)可動式の非溶接ロボットアーム上に位置決めされてもよい。さらに別の例では、1つまたは複数のセンサ102のうちの1つは、ロボット110のアーム上に位置決めされてもよく、1つまたは複数のセンサ102のうちの別の1つは、作業スペース内の可動機器上に位置決めされてもよい。さらに別の例では、1つまたは複数のセンサ102のうちの1つは、ロボット110のアーム上に位置決めされてもよく、1つまたは複数のセンサ102のうちの別の1つは、可動式の非溶接ロボットアーム上に位置決めされてもよい。
センサ102は、作業スペース101に関する情報を取り込むように構成される。例において、センサ102は、作業スペース101に関する視覚情報(例えば、2次元(2D)画像)を取り込むように構成された画像センサである。例えば、センサ102は、カメラ(例えば、レーザ内蔵カメラ)、スキャナ(例えば、レーザスキャナ)などを含んでもよい。センサ102は、光検出および測距(LiDAR)センサなどのセンサを含んでもよい。代替的または追加的に、センサ102は、音響航法および測距(SONAR)デバイスなどの、音響を放出し、かつ/または取り込むように構成された音響センサであってもよい。代替的または追加的に、センサ102は、無線検出および測距(RADAR)デバイスなどの、電磁(EM)波を放射し、かつ/または取り込むように構成された電磁センサであってもよい。視覚、音響、電磁、および/または他の感知技術を介して、センサ102は、作業スペース101内の物理的構造体に関する情報を収集し得る。例において、センサ102は静的情報(例えば、作業スペース101内の固定構造体)を収集し、他の例では、センサ102は動的情報(例えば、作業スペース101内の移動構造体)を収集し、さらに他の例では、センサ102は静的情報と動的情報の組み合わせを収集する。センサ102は、作業スペース101内の物理的構造体に関するありとあらゆるそのような情報の任意の適切な組み合わせを収集してもよく、作業スペース101内の物理的構造体の3D表現を生成するために、そのような情報を他の構成要素(例えば、コントローラ108)に提供してもよい。上述したように、センサ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の周りのそのような移動を容易にするために、任意の適切な構造体が有用であり得る。例えば、1つまたは複数のセンサ102は、電動トラックシステム上に位置決めされてもよい。センサ102がトラックシステム上の作業スペース101の周りを移動するように構成されるが、トラックシステム自体は静止していてもよい。しかしながら、いくつかの例では、センサ102はトラックシステム上で移動可能であり、トラックシステム自体は作業スペース101の周りで移動可能である。さらに他の例では、1つまたは複数のミラーが、センサ102が第1の構成にあるときは初期の視点からの2D画像を取り込み、第2の構成にあるときはミラーを使用して他の視点からの2D画像を取り込むように、点を中心にかつ/または軸に沿って枢動、旋回、回転、または並進し得るセンサ102と共に作業スペース101内に配列される。さらに他の例では、センサ102は、点を中心にかつ/または軸に沿って枢動、旋回、回転、または並進するように構成され得るアーム上に取り付けられてもよく、センサ102は、これらのアームがそれらの動きの全範囲にわたって延伸するときに様々な視点から2D画像を取り込むように構成されてもよい。
追加的または代替的に、1つまたは複数のセンサ102は、ロボット110上に(例えば、ロボット110の溶接ヘッド上に)位置決めされてもよく、ロボット110が作業スペース101の周りを移動するときに画像データを収集するように構成されてもよい。ロボット110は複数の自由度で、したがって多次元で移動可能であるので、ロボット110上に位置決めされたセンサ102は、様々な視点から2D画像を取り込み得る。さらに他の例では、撮像される物理的構造体が作業スペース101の周りまたは作業スペース101内を移動する間、1つまたは複数のセンサ102は静止していてもよい。例えば、撮像されるべき部品114は、位置決め装置などの固定具116上に位置決めされてもよく、位置決め装置および/または部品114は、作業スペース101内で回転、並進(例えば、x方向、y方向、および/もしくはz方向に)、またはそれ以外に移動してもよいが、固定センサ102(例えば、ロボット110に結合されたセンサまたはロボット110から切り離されたセンサのいずれか)は、部品114の様々なファセットの複数の2D画像を取り込む。
いくつかの例では、前述のセンサ102構成の一部または全部が実装される。他のセンサ102構成も企図されており、本開示の範囲に含まれる。
図1をさらに参照すると、ロボット110(例えば、ロボット110の溶接ヘッド)は、後述するように、コントローラ108から受信した経路計画に従って作業スペース101内を移動するように構成される。ロボット110は、コントローラ108から受信した命令に従って、部品114に対して1つまたは複数の適切な製造プロセス(例えば、溶接作業)を行うようにさらに構成される。いくつかの例では、ロボット110は、溶接アームを有する6軸ロボットであり得る。ロボット110は、YASKAWA(登録商標)ロボットアーム、ABB(登録商標)IRBロボット、KUKA(登録商標)ロボットなどの任意の適切なロボット溶接機器であり得る。ロボット110は、アーク溶接、抵抗溶接、スポット溶接、タングステン不活性ガス(TIG)溶接、金属活性ガス(MAG)溶接、金属不活性ガス(MIG)溶接、レーザ溶接、プラズマ溶接、それらの組み合わせなどを行うように構成することができる。
図1をさらに参照すると、作業スペース101、具体的には作業スペース101内の(1つまたは複数の)センサ102およびロボット110は、コントローラ108に結合されている。コントローラ108は、ここではコントローラ108、またはより一般的にはシステム100に起因する動作を行うように明確かつ特別に構成された(例えば、プログラムされている)任意の適切な機械である。いくつかの例では、コントローラ108は汎用コンピュータではなく、代わりに、ここではコントローラ108、またはより一般的にはシステム100に起因する動作を行うように特別にプログラムされ、かつ/またはハードウェア構成される。いくつかの例では、コントローラ108は、ここではコントローラ108、またはより一般的にはシステム100に起因する動作を行うように構成された特定用途向け集積回路(ASIC)であるか、またはそのようなASICを含む。いくつかの例では、コントローラ108は、中央処理装置(CPU)などのプロセッサを含むか、またはプロセッサである。いくつかの例では、コントローラ108は、フィールドプログラマブルゲートアレイ(FPGA)である。例において、コントローラ108は、コントローラ108によって実行されると、ここではコントローラ108、またはより一般的にはシステム100に起因する動作のうちの1つまたは複数をコントローラ108に行わせる実行可能コードを記憶しているメモリを含む。コントローラ108は、本明細書に記載の具体例に限定されない。
コントローラ108は、作業スペース101内の(1つまたは複数の)センサ102およびロボット110を制御する。いくつかの例では、コントローラ108は、作業スペース101内の(1つまたは複数の)固定具116を制御する。例えば、コントローラ108は、(1つまたは複数の)センサ102を、上述のように作業スペース101内を移動するように、かつ/または上述のように2D画像、音響データ、および/またはEMデータを取り込むように制御してもよい。例えば、コントローラ108は、本明細書で説明するようなロボット110を、後述するような経路計画技術に従って溶接作業を行い、作業スペース101内を移動するように制御してもよい。例えば、コントローラ108は、位置決め装置(例えば、台、クランプなど)などの(1つまたは複数の)固定具116を、作業スペース101内の1つまたは複数の部品を回転、並進、または他の方法で移動するように操作してもよい。コントローラ108はまた、システム100の他の局面を制御してもよい。例えば、コントローラ108は、ユーザインターフェース(UI)106上にグラフィカルインターフェースを提供することによってユーザインターフェース(UI)106とさらに対話してもよく、グラフィカルインターフェースによって、ユーザがシステム100と対話しかつシステム100に入力を提供してもよく、かつグラフィカルインターフェースによって、コントローラ108が、例えば、様々なタイプの情報(例えば、溶接の候補である識別された継ぎ目、経路計画中の可能な経路、溶接パラメータオプションまたは選択など)をユーザに提供し、かつ/またはそれらの情報をユーザから受け取ることによってユーザと対話してもよい。UI106は、タッチスクリーンインターフェース、音声起動インターフェース、キーパッドインターフェース、それらの組み合わせなどを含む任意のタイプのインターフェースであってもよい。
さらに、コントローラ108は、例えば、データベース112にデータを記憶すること、および/またはデータベース112からデータを取り出すことによってデータベース112と対話してもよい。データベース112は、より一般的には、ありとあらゆるタイプの情報を記憶するように構成された任意の適切なタイプの記憶装置109に記憶され得る。いくつかの例では、データベース112を、ランダムアクセスメモリ(RAM)、メモリバッファ、ハードドライブ、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、フラッシュメモリなどといった記憶装置109に記憶することができる。いくつかの例では、データベース112はクラウドベースのプラットフォームに記憶されてもよい。データベース112は、溶接作業を行う際にシステム100に有用な任意の情報を記憶し得る。例えば、データベース112は、部品114のCADモデルを記憶してもよい。別の例として、データベース112は、部品114のCADモデルの注釈付きバージョンを記憶してもよい。データベース112はまた、CADモデルを使用して生成された部品114の点群(本明細書ではCADモデル点群とも呼ぶ)を記憶してもよい。同様に、部品114の3D表現および/または部品114に関して提供されたユーザ入力(例えば、部品114のどの継ぎ目を溶接するか、溶接パラメータなどに関する)に基づいて生成された、部品114のための溶接命令が、データベース112に記憶されてもよい。例において、記憶装置109は、実行されると、ここではコントローラ108、またはより一般的にはシステム100に起因する1つまたは複数の動作をコントローラ108に行わせる実行可能コード111を記憶する。例において、実行可能コード111は、単一の自己完結型プログラムであり、他の例では、実行可能コードは、記憶装置109または他の場所に記憶されている可能性のある他の実行可能コードに対する1つまたは複数の関数呼び出しを有するプログラムである。いくつかの例では、実行可能コード111の実行に起因する1つまたは複数の関数が、ハードウェアによって実装され得る。例えば、実行可能コード111の1つまたは複数の個別のタスクを行うのに複数のプロセッサが有用な場合がある。
図2は、様々な例による、例示の自律型ロボット溶接システム200の概略図である。システム200は、図1のシステム100の一例であり、同様の符号は同様の構成要素を指す。例えば、システム200は、作業スペース201を含む。作業スペース201は、さらに、任意で、可動式センサ202と、ロボット210((可動式センサ202以外の)1つまたは複数のセンサ202が取り付けられていてもよい)と、固定具216とを含む。ロボット210は、ロボット210が任意の適切な数の自由度で動くことを可能にする複数の関節および部材(例えば、ショルダ、アーム、エルボなど)を含む。ロボット210は、部品、例えば固定具216(例えば、クランプ)によって支持され得る部品に対して溶接作業を行う溶接ヘッド210Aを含む。システム200は、作業スペース201に結合されたUI206をさらに含む。動作中、センサ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(1つまたは複数のセンサ302が取り付けられていてもよい)と、固定具316(例えば、台または位置決め装置)とを含む。ロボット310は、ロボット310が任意の適切な数の自由度で動くことを可能にする複数の関節および部材(例えば、ショルダ、アーム、エルボなど)を含む。ロボット310は、部品、例えば固定具316によって支持され得る部品に対して溶接作業を行う溶接ヘッド310Aを含む。システム300は、作業スペース301に結合されたUI306をさらに含む。動作中、センサ302は、作業スペース301の2D画像を収集し、2D画像をコントローラ(図3には明示せず)に提供する。コントローラは、固定具316、固定具316によって支持される部品、および/または作業スペース301内の他の構造体などの作業スペース301の3D表現(例えば、点群)を生成する。コントローラは、3D表現を使用して、本明細書で説明するように、継ぎ目(例えば、固定具316によって支持された部品)を識別し、ロボット310が作業スペース301内で構造体と衝突することなく継ぎ目を溶接するための経路を計画し、継ぎ目を溶接するようにロボット310を制御する。
再び図1を参照すると、上述したように、コントローラ108は、センサ102から2D画像(および、おそらくは、音響データまたはEMデータなどの他のデータ)を受信し、2D画像に描写された構造体の3D表現を生成するように構成される。3D表現は、点群と呼ばれる場合もある。点群は、各々が部品114および/または固定具116の表面上の点の3D空間内の位置を表す点集合であり得る。いくつかの例では、1つまたは複数の2D画像(例えば、部品114に対して特定の向きで(1つまたは複数の)センサ102によって取り込まれた画像データ)が、作業スペース101の3D画像データを再構成および生成するために、コントローラ108によって重ね合わされ、かつ/または互いにつなぎ合わされ得る。3D画像データを照合して、点群のうちの少なくともいくつかの点についての関連付けられた画像データを有する点群を生成することができる。
例において、3D画像データは、データから生成された点群が6自由度を有することができるように、コントローラ108によって照合することができる。例えば、点群のうちの各点は、3D空間内の無限に小さい位置を表し得る。上述したように、(1つまたは複数の)センサ102は、様々な角度から点の複数の2D画像を取り込むことができる。これらの複数の2D画像は、各点の平均画像ピクセルを決定するためにコントローラ108によって照合することができる。平均化画像ピクセルを点に付属させることができる。例えば、(1つまたは複数の)センサ102が赤、緑、および青のチャネルを有するカラーカメラである場合には、6自由度は{x位置、y位置、z位置、赤色強度、緑色強度、および青色強度}であり得る。例えば、(1つまたは複数の)センサ102が、白黒チャネルを有する白黒カメラである場合には、4自由度が生成され得る。
図4は、様々な例による、溶接可能な継ぎ目を有する部品の例示的な点群400である。より具体的には、点群400は、継ぎ目406に沿って互いに溶接されるべき部品402および部品404を表している。図5は、様々な例による、溶接可能な継ぎ目を有する部品の例示的な点群500である。より具体的には、点群500は、継ぎ目506に沿って互いに溶接されるべき部品502および部品504を表している。コントローラ108(図1)は、上述したように、センサ102によって取り込まれた2D画像に基づいて3D点群400、500を生成するように構成される。次いで、コントローラ108は、点群400、500(または、いくつかの例では、点群400、500を生成するのに有用な画像データ)を使用して、継ぎ目406、506などの継ぎ目を識別して位置特定し、継ぎ目406、506に沿った溶接経路を計画し、経路計画に従って、ロボット110(図1)を使用して、継ぎ目406、506に沿って溶接を施し得る。次に、コントローラ108が実行可能コード111(図1)を実行して、継ぎ目識別および経路計画を含むそのような動作を行うやり方を詳細に説明する。
コントローラ108は、実行可能コード111を実行すると、ニューラルネットワークを使用して(例えば、センサ102によって取り込まれた画像を使用するか、もしくはセンサ102によって取り込まれた画像に基づいて)ピクセルごとの分類および/または(例えば、1つもしくは複数の点群を使用して)点ごとの分類を行って、作業スペース101内の構造体を識別して分類する。例えば、コントローラ108は、ピクセルごとおよび/または点ごとの分類を行って、作業スペース101内の撮像された各構造体を、例えば、部品114として、部品114上または複数の部品114間の界面の継ぎ目(本明細書では候補継ぎ目と呼ぶ)として、固定具116として、ロボット110として識別し得る。コントローラ108は、例では、適切な訓練データを使用して訓練されたニューラルネットワーク(例えば、U-netモデル)に基づいてピクセルおよび/または点を識別および分類し得る。ニューラルネットワークは、画像データ、点群データ、空間情報データ、またはそれらの組み合わせについて訓練することができる。点群および/または画像データは、作業スペース101内の様々な視点から取り込まれた情報を含むので、ニューラルネットワークは、複数の角度および/または視点から(1つまたは複数の)部品114上の固定具116または候補継ぎ目を分類するように動作することができる。いくつかの例では、ニューラルネットワークは、例えば動的グラフ畳み込みニューラルネットワークなど、点集合で直接動作するように訓練することができ、ニューラルネットワークは、点群上の未編成の点を解析するために実装されてもよい。いくつかの例では、第1のニューラルネットワークを、点ごとの分類を行うように点群データで訓練することができ、第2のニューラルネットワークを、ピクセルごとの分類を行うように画像データで訓練することができる。第1のニューラルネットワークおよび第2のニューラルネットワークは、候補継ぎ目を個別に識別し、候補継ぎ目を位置特定することができる。第1のニューラルネットワークおよび第2のニューラルネットワークからの出力を最終出力として組み合わせて、部品114上の1つまたは複数の候補継ぎ目の位置および向きを決定することができる。
いくつかの例では、ピクセルごとの分類が行われる場合、結果を3D点群データおよび/または点群データのメッシュ化バージョン上に投影することができ、それによって作業スペース101内の固定具116の位置に関する情報を提供する。入力データが画像データ(例えば、カラー画像)である場合、ピクセルごとのセグメント化を行うために、深度情報などの空間情報が色データと共に含められてもよい。いくつかの例では、さらに後述するように、ピクセルごとの分類を行って、候補継ぎ目を識別し、候補継ぎ目を部品114に対して位置特定することができる。
上述したように、コントローラ108は、ピクセルおよび/または点を、固定具116、部品114、部品114上の候補継ぎ目などといった作業スペース101内の特定の構造体として識別および分類し得る。固定具116などの非部品および非候補継ぎ目構造体として分類された画像および/または点群データの部分は、データからセグメント化して分離され(例えば、削除されるか、それ以外に除去され)てもよく、それによって部品114および/または部品114上の(1つもしくは複数の)候補継ぎ目に対応すると識別および分類されたデータを分離する。いくつかの例では、候補継ぎ目を識別し、上述のように非部品114および非候補継ぎ目データをセグメント化した後(または任意で、そのようなセグメント化の前に)、ニューラルネットワークを、各候補継ぎ目を解析して継ぎ目タイプを決定するように構成することができる。例えば、ニューラルネットワークは、候補継ぎ目が、突き合わせ継ぎ、角継ぎ、縁継ぎ、重ね継ぎ、T継ぎなどのいずれであるかを決定するように構成することができる。モデル(例えば、U-netモデル)は、作業スペース101内の複数の視点から取り込まれたデータに基づいて継ぎ目タイプを分類し得る。
画像データを使用してピクセルごとの分類が行われる場合、コントローラ108は、部品114および部品114上の候補継ぎ目を表す3D点集合を生成するために、関心対象のピクセル(例えば、部品114および部品114上の候補継ぎ目を表すピクセル)を3D空間上に投影し得る。あるいは、点群データを使用して点ごとの分類が行われる場合、関心対象の点は、点群のうちの3D空間にすでに存在し得る。どちらの場合も、コントローラ108にとって、3D点は順序付けられていない点集合であり、3D点の少なくとも一部が互いに凝集している場合もある。そのようなノイズを排除し、連続した切れ目のない点のサブセットを生成して候補継ぎ目を表すために、マニホールドぼかしおよび平均シフト(Manifold Blurring and Mean Shift(MBMS))技術または同様の技術が適用されてもよい。そのような技術は、点を密集させ、ノイズを排除し得る。続いて、コントローラ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モデルは本明細書で説明するような経路計画を行うために後で使用され得るため、そのような差があればそれを考慮してCADモデルを変形する(例えば、更新する)必要がある。したがって、コントローラ108は、第1の継ぎ目(例えば、実際の継ぎ目として検証された部品114上の候補継ぎ目)を第2の継ぎ目(例えば、第1の継ぎ目に対応するCADモデル上の(例えば、オペレータ/ユーザによって)注釈を付けられた継ぎ目)と比較して、第1の継ぎ目と第2の継ぎ目との差を決定する。CADモデル上の継ぎ目は、上述のように注釈を付けられ得る。第1の継ぎ目と第2の継ぎ目とは、CADモデルおよび/またはコントローラ108が候補継ぎ目の位置を正確に予測する場合には、ほぼ同じ位置にあることができる。あるいは、第1の継ぎ目と第2の継ぎ目とは、CADモデルおよび/またはコントローラ108が部分的に正確である場合には、部分的に重なり合うことができる。コントローラ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)ダウンサンプリングアルゴリズムが実装されてもよい。コントローラ108は、PDSアルゴリズムへの入力として、点群604、606の境界、サンプル間の最小距離、およびそれらが拒絶される前に選択すべきサンプルの限界を提供し得る。いくつかの例では、粗い位置合わせ602中においてあるモデルを別のモデルに変形するのにデルタネットワークが有用であり得る。デルタネットワークは、ソースモデルおよびターゲットモデルをとり、それらを潜在ベクトルにエンコードするシャムネットワークであってもよい。コントローラ108は、潜在ベクトルを使用して、あるモデルを別のモデルに変形または更新する、点ごとの変形を予測し得る。デルタネットワークは、訓練データセットを必要としない場合がある。CADモデルおよびスキャン点群604、606が与えられると、デルタネットワークの文脈におけるコントローラ108は、1つまたは複数のエポックを2つ点群間の非類似度または類似度の学習に費やす。これらのエポックの間、デルタネットワークは、後で位置合わせに有用な意味のある特徴を学習する。デルタネットワークは、変形を学習するためにスキップ接続を使用し得るが、いくつかの例では、スキップ接続は使用されなくてもよい。場合によっては、CADモデルは、取り込まれた画像(例えば、スキャン)を使用して生成された3D点群に存在しない表面を含む。そのような場合、デルタネットワークは、欠落した表面に対応するすべての点をCADモデル点群604からスキャン点群606内のいくつかの点に移動させる(かつスキャン点群606を更新する)。したがって、位置合わせ中、コントローラ108(例えば、デルタネットワーク)は、学習した特徴を使用して元のCADモデルを変換(または更新)してもよいし、学習した特徴を使用して変形されたCADモデルを変換してもよい。例において、デルタネットワークは、動的グラフ畳み込みニューラルネットワーク(DGCNN)などのエンコーダネットワークを含んでもよい。点群が特徴にエンコードされた後、CADとスキャンの両方の埋め込みからなる連結ベクトルが形成され得る。プーリング演算(例えば、最大プーリング)を実施した後、結果として得られたベクトルにデコーダが適用され得る。いくつかの例では、デコーダは、特定のフィルタ(例えば、256、256、512、1024、Nx3フィルタ)を有する5つの畳み込み層を含んでもよい。結果として得られた出力は、CADモデルおよびスキャン埋め込みと連結され、最大プールされ、続いてもう一度デコーダに提供され得る。最終結果は、点ごとの変換を含み得る。
無関係なデータおよびデータ内のノイズ(例えば、粗い位置合わせ602の出力は)は、部品114の位置合わせに影響を与える可能性がある。少なくともこの理由から、無関係なデータおよびノイズを可能な限り多く除去することが望ましい。バウンディングボックス608は、位置合わせが行われる領域を制限するために、この無関係なデータおよびノイズ(例えば、固定具116)を除去するのに有用である。別の言い方をすれば、バウンディングボックス内のデータは保持されるが、バウンディングボックスの外側からのすべてのデータは、3Dであれそれ以外であれ、破棄される。前述のバウンディングボックスは、CADモデル自体を(例えば、部分的に、または完全に)囲むか、またはカプセル化することができる任意の形状であってもよい。例えば、バウンディングボックスは、CADモデルの膨張バージョンまたは拡大バージョンであってもよい。バウンディングボックスの外側のデータは、最終位置合わせから除去されてもよいし、引き続き含まれるが、その影響を軽減するために重み付けされてもよい。
図6をさらに参照すると、精密な位置合わせ610中に、コントローラ108は、オートエンコーダとして訓練されたニューラルネットワーク内の畳み込み層のセットを介して、バウンディングボックス608の出力をパッチとして渡す。より具体的には、データは、オートエンコーダのエンコーダセクションを介して渡されてもよく、オートエンコーダのデコーダセクションは使用されなくてもよい。入力データは、形状内のパッチの点のXYZ位置、例えば、(128、3)であってもよい。出力は、例えば、長さ1024のベクトルであってもよく、このベクトルは、点ごとの特徴に有用である。
CAD点群モデルとスキャン点群モデルとの間の剛体変換を最もよくサポートする対応点集合が、位置合わせ中に決定されるべきである。対応する候補は、各要素が2点間の一致の信頼度または確率を記憶する行列:
Figure 2024508563000002
として(例えば、データベース112に)記憶され得る。
この行列から対応する点、例えば、hard対応、soft対応、プロダクトマニホールドフィルタ、グラフクリーク、共分散などを見つけるために様々な方法が有用である。精密な位置合わせ610の完了後、次いで、位置合わせプロセスが完了する(612)。
上述したように、ある場合には、部品114上の継ぎ目の実際の位置は、(例えば、スキャン点群を使用して)センサ撮像を使用してコントローラ108によって決定される、かつ/または(例えば、CADモデル点群を使用して)CADモデルによって決定される継ぎ目位置とは異なり得る。そのような場合、部品114上の実際の継ぎ目位置により精密に一致させるために決定された継ぎ目位置を補正するのに、スキャン手順(本明細書ではプレスキャンと呼ぶこともある)が有用である。スキャン手順では、ロボット110上に位置決めされたセンサ102(本明細書では搭載センサと呼ぶ)が継ぎ目のスキャンを行う。ある場合には、このスキャンは、CADモデル、スキャン、またはそれらの組み合わせを使用してコントローラ108によって生成された初期動きおよび/または経路計画を使用して行われ得る。例えば、センサ102は、作業スペース101のいずれかまたはすべての領域をスキャンしてもよい。この初期動きおよび/または経路計画の実行中に、センサ102は、観察画像および/またはデータを取り込んでもよい。観察画像および/またはデータは、コントローラ108によって継ぎ目点群データを生成するように処理され得る。コントローラ108は、(1つまたは複数の)点群604および/または606を処理するときに継ぎ目点群データを使用して継ぎ目位置を補正し得る。コントローラ108はまた、経路および動きの計画を補正する際にも継ぎ目点群データを使用し得る。
いくつかの例では、上述の位置合わせ技術は、搭載センサ102以外のセンサ102を使用して決定された継ぎ目を、搭載センサ102によって識別された継ぎ目と比較して照合するのに有用であり得る。このようにして継ぎ目を照合することにより、ロボット110(より具体的には、ロボット110のヘッド)は、必要に応じて実際の継ぎ目に対して位置決めされる。
いくつかの例では、ロボット110のプレスキャン軌道は、継ぎ目に沿って溶接するために計画された軌道と同一である。いくつかのそのような例では、プレスキャン中にロボット110に対してとられる動きは、衝突の確率を制限するか、または衝突の事例を削減するために、継ぎ目または重要なジオメトリを搭載センサ102でより良好に視覚化するために、あるいは問題の継ぎ目の周りのジオメトリをスキャンするために、別々に生成されてもよい。
いくつかの例では、プレスキャン技術は、特定の1つまたは複数の継ぎ目以上のスキャンを含んでもよく、むしろ(1つまたは複数の)部品114の他のジオメトリのスキャンも含み得る。スキャンデータは、継ぎ目を見つけ、位置特定し、検出し、ロボット110のヘッドが必要に応じて継ぎ目に沿って配置され移動されることを確実にするために、本明細書に記載の技術のいずれかまたはすべて(例えば、位置合わせ技術)のより正確な適用に有用であり得る。
いくつかの例では、スキャン技術(例えば、溶接アーム/溶接ヘッドに取り付けられたセンサ/カメラを使用して実際の継ぎ目をスキャンする)は、継ぎ目に関する位置および向きの情報ではなく、継ぎ目に関する間隙変動性情報を識別するのに有用であり得る。例えば、スキャン手順中にロボット110上の(1つまたは複数の)センサ102によって取り込まれたスキャン画像は、間隙の変動性を識別し、そのような間隙を考慮するように溶接軌道または経路計画を調整するのに有用であり得る。例えば、3D点において、2D画像ピクセル、またはそれらの組み合わせは、溶接されるべき部品114間の可変間隙を位置特定するのに有用であり得る。いくつかの例では、可変間隙発見が有用であり、可変間隙発見では、3D点、2D画像ピクセル、またはそれらの組み合わせが、互いに溶接されるべき部品114間の複数の間隙の可変サイズを位置特定し、識別し、測定するのに有用である。仮付け溶接発見または一般的な溶接発見では、溶接されるべき部品114間の間隙内の以前の溶接または材料堆積物が、3D点および/または2D画像ピクセルを使用して識別され得る。そのような技術のいずれかまたはすべてが、経路計画を含む溶接を最適化するのに有用であり得る。ある場合には、間隙の変動性は、センサ102によって取り込まれた画像を使用して生成された3D点群内で識別され得る。さらに他の場合には、間隙の変動性は、タスクに対して溶接作業を行っている間に行われるスキャン技術(例えば、溶接アーム/溶接ヘッドに取り付けられたセンサ/カメラを使用して実際の継ぎ目をスキャンする)によって識別され得る。いずれか1つの場合においても、コントローラ108は、間隙の決定された位置およびサイズに基づいて溶接命令(例えば、溶接電圧)を動的に適合させるように構成され得る。例えば、溶接ロボットのための溶接命令を動的に調整することにより、可変間隙における継ぎ目の精密な溶接を得ることができる。溶接命令を調整することは、溶接機電圧、溶接機電流、電気パルスの持続時間、電気パルスの形状、および材料供給速度のうちの1つまたは複数を調整することを含んでもよい。
例において、ユーザインターフェース106は、ユーザに候補継ぎ目を表示させるオプションを提供することができる。例えば、ユーザインターフェース106は、部品114および/または部品114上の候補継ぎ目のグラフィカル表現を提供してもよい。追加的または代替的に、ユーザインターフェース106は、継ぎ目タイプに基づいて候補継ぎ目をグループ化してもよい。上述したように、コントローラ108は、継ぎ目タイプを識別することができる。例えば、重ね継ぎとして識別された候補継ぎ目を、ラベル「重ね継ぎ」の下にグループ化することができ、ラベル「重ね継ぎ」の下でユーザインターフェース106を介してユーザに提示することができる。同様に、縁継ぎとして識別された候補継ぎ目は、ラベル「縁継ぎ」の下にグループ化することができ、ラベル「縁継ぎ」の下でユーザインターフェース106を介してユーザに提示することができる。
ユーザインターフェース106は、ユーザに、ロボット110によって溶接されるべき候補継ぎ目を選択するオプションをさらに提供することができる。例えば、部品114上の各候補継ぎ目は、ユーザインターフェース106上の押しボタンとして提示することができる。ユーザが特定の候補継ぎ目を押すと、選択をコントローラ108に送信することができる。コントローラ108は、ロボット110がその特定の候補継ぎ目に対して溶接作業を行うための命令を生成することができる。
いくつかの例では、ユーザに溶接パラメータを更新するオプションを提供することができる。例えば、ユーザインターフェース106は、ユーザに異なる溶接パラメータのリストを提供することができる。ユーザは、更新されるべき特定のパラメータを選択することができる。選択されたパラメータへの変更は、例えば、ドロップダウンメニューを使用して、テキスト入力によって行うことができる。この更新は、コントローラ108がロボット110のための命令を更新できるように、コントローラ108に送信することができる。
システム100に部品114の事前情報(例えば、CADモデル)が提供されない例では、(1つまたは複数の)センサ102は部品114をスキャンすることができる。部品114の表現は、ユーザインターフェース106を介してユーザに提示することができる。部品114のこの表現は、(1つまたは複数の)センサ102から取得された部品114のスキャン画像の投影された3Dデータを含む、点群および/または点群のメッシュであり得る。ユーザは、ユーザインターフェース106を介して表現内で溶接されるべき継ぎ目に注釈を付けることができる。あるいは、コントローラ108は、部品114の表現において候補継ぎ目を識別することができる。候補継ぎ目は、ユーザインターフェース106を介してユーザに提示することができる。ユーザは、候補継ぎ目の中から溶接されるべき継ぎ目を選択することができる。ユーザインターフェース106は、ユーザの選択に基づいて表現に注釈を付けることができる。いくつかの例では、注釈付き表現をデータベース112に保存することができる。
上述の技術を使用して(または他の適切な技術を使用して)(1つまたは複数の)部品114上の1つまたは複数の継ぎ目が識別され、かつ可能な程度まで補正された後、コントローラ108は、後続の溶接プロセス中のロボット110の経路を計画する。いくつかの例では、グラフマッチング技術および/またはグラフ探索技術が、ロボット110の経路を計画するのに有用であり得る。上述のように識別された特定の継ぎ目は複数の点を含む場合があり、経路計画技術は、所与の継ぎ目に沿ったそのような各点についてロボット110の異なる状態を決定することを伴う。ロボット110の状態は、例えば、作業スペース101内のロボット110の位置、および適用され得る任意の数の自由度におけるロボット110のアームの特定の構成を含んでもよい。例えば、6自由度を有するアームを有するロボット110の場合、ロボット110の状態は、作業スペース101内のロボット110の位置(例えば、3次元x-y-z空間におけるロボット110の溶接ヘッドの位置)を含むだけでなく、ロボットアームの6自由度の各々に対する特定のサブ状態も含むことになる。さらに、ロボット110が第1の状態から第2の状態に遷移するとき、ロボット110は作業スペース101内のその位置を変更する場合があり、そのような場合、ロボット110は必然的に(例えば、溶接されている継ぎ目に沿って)作業スペース101内の特定の経路を横切ることになる。よって、ロボット110の一連の状態を指定することは、ロボット110が作業スペース101内を移動する経路を指定することを必然的に伴う。コントローラ108は、経路計画が完了した後にプレスキャン技術またはその変形を行ってもよく、コントローラ108は、プレスキャン技術中に取り込まれた情報を使用して、様々な適切な調整(例えば、継ぎ目に沿って実際の溶接を行うために使用されるX-Y-Z軸または座標系の調整)のいずれかを行ってもよい。
図7は、(例えば、コントローラ108によって)ロボット110の経路計画を決定するためのグラフ探索技術の概略図700である。図700の各円は、ロボット110の異なる状態(例えば、作業スペース101内のロボット110の特定の位置(例えば、3D空間におけるロボット110の溶接ヘッドの位置)、およびロボット110のアームの異なる構成、ならびに位置決め装置、クランプなどの部品を支持する固定具の位置および/または構成)を表している。各列702、706、および710は、溶接されるべき継ぎ目に沿った異なる点を表している。よって、列702に対応する継ぎ目点の場合、ロボット110は、状態704A~704Dのいずれか1つにあり得る。同様に、列706に対応する継ぎ目点の場合、ロボット110は、状態708A~708Dのいずれか1つにあり得る。同様に、列710に対応する継ぎ目点の場合、ロボット110は、状態712A~712Dのいずれかにあり得る。例えば、ロボット110が列702に対応する継ぎ目点にあるときに状態704Aにある場合、ロボット110は、次いで、列706に対応する次の継ぎ目点についての状態708A~708Dのいずれかに遷移してもよい。同様に、状態708A~708Dに入ると、ロボット110は、続いて、列710に対応する次の継ぎ目点についての状態712A~712Dのいずれかに遷移してもよく、以下同様である。いくつかの例では、特定の状態に入ることは、他の状態に入ることを排除し得る。例えば、状態704Aに入ることは、続いて状態708A~708Cに入る可能性を許容し得るが、708Dに入る可能性は許容せず、他方、状態704Bに入ることは、続いて状態708Cおよび708Dに入る可能性を許容し得るが、状態708A~708Bに入る可能性は許容しない。本開示の範囲は、任意の特定の数の継ぎ目点にも任意の特定の数のロボット110状態にも限定されない。
いくつかの例では、(例えば、図700に示す技術に従って)グラフ探索技術を使用してロボット110の経路計画を決定するために、コントローラ108は、状態704A~704Dから継ぎ目点Nに対応する状態(例えば、状態712A~712D)への最短経路を決定し得る。各状態および状態間の各遷移にコストを割り当てることにより、コントローラ108によって目的関数を設計することができる。コントローラ108は、目的関数の最小限のコスト値をもたらす経路を見つける。選択すべき複数の始点および終点を有する自由のために、ダイクストラのアルゴリズムまたはA*のようなグラフ検索法が実装され得る。いくつかの例では、適切な経路計画を決定するのに総当たり法が有用であり得る。総当たり技術は、コントローラ108が(例えば、図700を通る)すべての可能な経路を計算し、最短経路を選択することを伴う。
コントローラ108は、各継ぎ目点における状態が実現可能であるかどうかを決定してもよく、これは少なくとも部分的には、コントローラ108が、継ぎ目の一連の継ぎ目点に沿った状態の連鎖を実施することが、作業スペース101内でのロボット110と構造体との間、またはロボット110自体の部品とさえもの衝突を引き起こすかどうかを決定し得ることを意味する。この目的のために、継ぎ目の異なる点で異なる状態を実現するという概念は、代替的に、複数のウェイポイントを有する継ぎ目の文脈で表現されてもよい。まず、コントローラ108は、識別された継ぎ目を一連のウェイポイントに離散化し得る。ウェイポイントは、3(空間/並進)自由度でロボット120に接続された溶接ヘッドの向きを制約し得る。典型的には、ロボット120の溶接ヘッドの向きの制約が、何らかの品質の何らかの所望の溶接を生成する目的で、各ウェイポイントを中心とした1または2回転自由度において提供され、制約は、典型的には、ウェイポイントおよび溶接継ぎ目の経路から発する表面法線ベクトルに対するものである。例えば、溶接ヘッドの位置は、x軸、y軸、およびz軸において、ならびに溶接機の溶接ワイヤまたはチップの軸に垂直な約1つまたは2つの回転軸を中心として、すべてウェイポイントおよびウェイポイントに付属する何らかの公称座標系に対して制約することができる。いくつかの例におけるこれらの制約は、角度の限界または許容範囲であり得る。当業者は、理想的なまたは所望の溶接角度が、部品または継ぎ目のジオメトリ、継ぎ目に対する重力の方向、および他の要因に基づいて変化し得ることを認識するであろう。いくつかの例では、コントローラ108は、1つまたは複数の理由で(例えば、最適化の目的で溶接と経路計画との間のバランスを見つけるために)継ぎ目が重力に垂直であることを確実にするために1Fまたは2Fの溶接位置に制約し得る。したがって、溶接ヘッドの位置は、継ぎ目に対して任意の適切な向きで各ウェイポイントによって保持(制約)することができる。典型的には、溶接ヘッドは、溶接ヘッドの軸と同軸の回転軸(θ)を中心としては制約されない。例えば、各ウェイポイントは、溶接ロボット120の溶接ヘッドの位置を、各ウェイポイントにおいて溶接ヘッドが溶接継ぎ目に対して固定された位置および向きにあるように定義することができる。いくつかの実装形態では、ウェイポイントは、溶接ヘッドの移動を実質的に連続的にするのに十分に細かく離散化される。
コントローラ108は、各ウェイポイントを複数のノードに分割し得る。各ノードは、そのウェイポイントにおける溶接ヘッドの可能な向きを表すことができる。非限定的な例として、溶接ヘッドが各ウェイポイントで回転軸θに沿って(例えば、360度)回転することができるように、溶接ヘッドを溶接ヘッドの軸と同軸の回転軸を中心としては制約しないことができる。各ウェイポイントの各ノードが18度の回転増分で溶接ヘッドを表すように、各ウェイポイントを20個のノードに分割することができる。例えば、第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モデルとを比較して、2つのモデルが重なり合うかどうか、および任意で、三角形の一部または全部が重なり合うかどうかを決定することによって行われ得る。2つのモデルが重なり合う場合、コントローラ108は、衝突の可能性があると決定し得る。2つのモデルが重なり合わない場合、コントローラ108は、衝突の可能性が低いと決定し得る。より具体的には、いくつかの例では、コントローラ108は、ウェイポイント・ノード対(上述したウェイポイント・ノード対など)のセットの各々についてモデルを比較し、ウェイポイント・ノード対のサブセットまたは場合によってはすべてについて2つのモデルが重なり合うと決定し得る。モデル交差が識別されるウェイポイント・ノード対のサブセットについて、コントローラ108は、そのサブセット内のウェイポイント・ノード対を計画された経路から省いてもよく、それらのウェイポイント・ノード対の代替対を識別し得る。コントローラ108は、衝突のない経路が計画されるまで、必要に応じてこのプロセスを繰り返してもよい。コントローラ108は、柔軟な衝突ライブラリ(flexible collision library(FCL))を使用してもよく、FCLは、衝突回避解析のツールとして、効率的な衝突検出および近接計算のための様々な技術を含む。FCLは、異なるモデル表現に対して複数の近接クエリを行うのに有用であり、点群間の確率的衝突識別を行うために使用され得る。追加または代替のリソースが、FCLと共に、またはFCLの代わりに使用されてもよい。
コントローラ108は、物理的に実現可能であれば、1つまたは複数の実現可能なシミュレート(または評価、本明細書では両方の用語を互換的に使用する)溶接経路を生成することができる。溶接経路は、溶接ロボットが候補継ぎ目を溶接するためにとる経路であり得る。いくつかの例では、溶接経路は、継ぎ目のすべてのウェイポイントを含み得る。いくつかの例では、溶接経路は、候補継ぎ目の全部ではないが一部のウェイポイントを含み得る。溶接経路は、溶接ヘッドが各ウェイポイント・ノード対間を移動するときのロボットおよび溶接ヘッドの動きを含むことができる。ノード・ウェイポイント対間の実現可能な経路が識別されると、次の連続するウェイポイントの実現可能なノード・ウェイポイント対が存在する場合にそれを識別することができる。当業者は、実現可能なノード・ウェイポイント対の空間を評価するために多くの探索木または他の戦略が採用され得ることを認識するであろう。本明細書でさらに詳細に論じるように、各ノード・ウェイポイント対から後続のノード・ウェイポイント対への移動についてコストパラメータを割り当てるか、または計算することができる。コストパラメータは、移動時間、ノード・ウェイポイント対間の移動量(例えば、回転を含む)、および/または移動中に溶接ヘッドによって生成されるシミュレート/予想される溶接品質と関連付けることができる。
1つもしくは複数のウェイポイントの溶接についてノードが実現可能ではなく、かつ/または前のウェイポイント・ノード対と特定のウェイポイントのウェイポイント・ノード対のいずれかとの間を移動するために実現可能な経路が存在しない場合には、コントローラ108は、少なくともいくつかの追加のウェイポイント・ノード対が溶接について実現可能になるように代替の溶接パラメータを決定することができる。例えば、コントローラ108が、第1のウェイポイントのウェイポイント・ノード対のいずれも実現可能ではないと決定し、それによって第1のウェイポイントが溶接不可能になった場合、コントローラ108は、第1のウェイポイントについての少なくともいくつかのウェイポイント・ノード対が溶接可能になるように、代替の溶接角度などの代替の溶接パラメータを決定することができる。例えば、コントローラ108は、x軸および/またはy軸を中心とした回転に対する制約を除去または緩和することができる。同様に言うと、コントローラ108は、溶接角度が1つまたは2つ追加の回転(角度)寸法で変化することを可能にすることができる。例えば、コントローラ108は、溶接不可能なウェイポイントを2次元ノードまたは3次元ノードに分割することができる。次いで、各ノードを、様々な溶接角度および回転状態に保持された、溶接ロボットおよび溶接部の溶接実現可能性について評価することができる。x軸および/もしくはy軸を中心とした追加の回転または他の自由度は、溶接ヘッドがいかなる衝突にも遭遇しないように、ウェイポイントを溶接ヘッドからアクセス可能にし得る。いくつかの実装形態では、1つもしくは複数のウェイポイントの溶接についてノードが実現可能ではなく、かつ/または前のウェイポイント・ノード対と特定のウェイポイントのウェイポイント・ノード対のいずれかとの間を移動するために実現可能な経路が存在しない場合には、前のウェイポイント・ノード対と特定のウェイポイントのウェイポイント・ノード対のいずれかとの間の実現可能な経路を決定する際に位置決め装置システムによって提供される自由度を、コントローラ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は、球面手首を有する6軸ロボット溶接アームを含むと仮定する。6軸ロボットアームは、6自由度、すなわち、X、Y、Zデカルト座標における3自由度、およびロボット110の手首状の性質のために追加の3自由度を有することができる。例えば、ロボット110の手首状の性質は、手首の上下方向の第4の自由度(例えば、手首が+yと-yの方向に動く)、手首の側面方向の第5の自由度(例えば、手首が-xと+xの方向に動く)、および回転の第6の自由度をもたらす。いくつかの例では、溶接トーチは、ロボット110の手首部分に取り付けられる。
採用されているロボット110のアームが、ノードまたはノード・ウェイポイント対によって定義された状態に機械的に到達する(または存在する)ことができるかどうかを決定するために、すなわち、第1の計算を行うために、ロボット110は、図8の例示的なモデル800に示すように数学的にモデル化され得る。いくつかの例では、コントローラ108は、手首位置に基づいて最初の3つの関節変数を解き、手首の向きに基づいて他の3つの関節変数を解き得る。トーチは手首にしっかりと取り付けられていることに留意されたい。したがって、トーチチップと手首との間の変換は固定されていると仮定される。最初の3つの関節変数(例えば、それぞれ802、804、806における変数S、L、U)を見つけるために、幾何学的手法(例えば、コサインの法則)が採用されてもよい。
最初の3つの関節変数(すなわち、S、L、U)がうまく計算された後、コントローラ108は次いで、例えば、手首の向きをZ-Y-Zオイラー角とみなすことによって、最後の3つの関節変数(すなわち、それぞれ808、810、812におけるR、B、T)について解き得る。コントローラ108は、ロボット110内のいくつかのオフセットを考慮し得る。これらのオフセットは、統一されたロボット記述フォーマット(URDF)ファイルにおける不一致のために考慮され、説明される必要がある場合がある。例えば、いくつかの例では、関節(例えば、ロボット110の実際の関節)の位置の値(例えば、関節のX軸)は、そのURDFファイルに記載されている値と一致しない場合がある。そのようなオフセット値は、テーブルでコントローラ108に提供され得る。コントローラ108は、いくつかの例では、ロボット110を数学的にモデル化しながら、これらのオフセット値を考慮し得る。いくつかの例では、ロボット110が数学的にモデル化された後、コントローラ108は、ロボット110のアームがノードまたはノード・ウェイポイント対によって定義された状態に機械的に到達する(または存在する)ことができるかどうかを決定し得る。
上記のように、コントローラ108は、ウェイポイント・ノード対によって定義された位置および向きに配置された場合に、ロボット110が、部品114、固定具116、またはロボット110自体を含む作業スペース101内の他のものと衝突または干渉するかどうかを評価することができる。ロボットアームが存在できる状態をコントローラ108が決定すると、コントローラ108は、第2の計算を使用して前述の評価(例えば、ロボットがその環境内で何かに衝突するかどうかに関して)を行ってもよい。
図9は、様々な例による、自律型溶接を行うための方法900の流れ図である。より具体的には、図9は、いくつかの例による、溶接ロボット(例えば、図1のロボット110)を動作させ、制御するための方法900のフローチャートである。工程902において、方法900は、1つまたは複数のセンサ(例えば、図1の(1つまたは複数の)センサ102)を使用して作業スペース(例えば、図1の作業スペース101)の画像データを取得することを含む。画像データは、作業スペースの2D画像および/または3D画像を含むことができる。上述したように、溶接されるべき1つまたは複数の部品、部品を安全に保持することができる固定具および/またはクランプを作業スペースにおいて位置特定することができる。いくつかの例では、画像データから点群を生成することができる。例えば、画像を互いに重ね合わせて3次元画像データを再構成して生成することができる。3次元画像データを互いに照合して点群を生成することができる。
工程904において、方法900は、画像であり得るセンサデータに基づいて溶接されるべき部品上の点集合を識別することを含む。点集合は、溶接されるべき継ぎ目の可能性を表すことができる。いくつかの例では、ニューラルネットワークは、画像データに対してピクセルごとのセグメント化を行って、点集合を識別することができる。画像データ内の固定具およびクランプは、画像分類に基づいてニューラルネットワークによって分類することができる。固定具および/またはクランプと関連付けられた画像データの部分は、画像データのそれらの部分が点集合を識別するために使用されないようにセグメント化して分離することができ、これにより、探索空間を減少させることによって溶接されるべき点集合を識別するために必要な計算リソースを削減することができる。そのような例では、その点集合を、画像データの他の部分(例えば、画像データのセグメント化して分離されていない部分)から識別することができる。
工程906において、方法900は、点集合から候補継ぎ目を識別することを含む。例えば、点集合内の点のサブセットを候補継ぎ目として識別することができる。ニューラルネットワークは、画像分類および/または深度分類を行って候補継ぎ目を識別することができる。いくつかの例では、候補継ぎ目を部品に対して位置特定することができる。例えば、候補継ぎ目を位置特定するために、部品に対して候補継ぎ目の位置および向きを決定することができる。
さらに、方法900は、候補継ぎ目が実際の継ぎ目であるかどうかを検証する工程をさらに含む。上述したように、(1つまたは複数の)センサは、複数の角度から画像データを収集することができる。異なる角度から取り込まれた各画像について、その角度から決定された候補継ぎ目が実際の継ぎ目であるかどうかを表す信頼値を決定することができる。信頼値が複数の角度からとられた視野に基づく閾値を上回る場合、候補継ぎ目を実際の継ぎ目として検証することができる。いくつかの態様では、方法900はまた、候補継ぎ目をある継ぎ目タイプとして分類する工程も含む。例えば、ニューラルネットワークは、候補継ぎ目が突き合わせ継ぎ、角継ぎ、縁継ぎ、重ね継ぎ、T継ぎなどであるかどうかを決定することができる。
いくつかの例では、候補継ぎ目が識別されて検証された後、点のサブセットを一緒にクラスタ化して、切れ目のない連続した継ぎ目を形成することができる。工程908において、方法900は、候補継ぎ目に基づいて溶接ロボットのための溶接命令を生成することを含む。例えば、溶接命令は、点のサブセットの一端から点のサブセットの他端までの経路をトレースすることによって生成することができる。これにより、継ぎ目のための経路を生成することができる。言い換えれば、溶接ヘッドでこの経路をトレースすることによって溶接を行うことができる。さらに、識別され位置特定された候補継ぎ目に基づいて経路計画を行うことができる。例えば、経路計画は、点のサブセットのクラスタ化により生成することができる継ぎ目の経路に基づいて行うことができる。
いくつかの例では、溶接命令は、継ぎ目タイプ(例えば、突き合わせ継ぎ、角継ぎ、縁継ぎ、重ね継ぎ、T継ぎなど)に基づくものであり得る。いくつかの例では、溶接命令は、ユーザインターフェース(例えば、図1のユーザインターフェース106)を介したユーザからの入力に基づいて更新することができる。ユーザは、ユーザインターフェースを介してすべての利用可能な候補継ぎ目から溶接されるべき候補継ぎ目を選択することができる。選択された候補継ぎ目に対して経路計画を行うことができ、選択された候補継ぎ目のために溶接命令を生成することができる。いくつかの例では、ユーザは、ユーザインターフェースを介して溶接パラメータを更新することができる。溶接命令は、更新された溶接パラメータに基づいて更新することができる。
このようにして、溶接ロボットを、溶接されるべき部品の事前情報(例えば、CADモデル)なしで方法900を実施することによって動作させ、制御することができる。溶接命令を生成するために部品がスキャンされるので、部品のスキャン画像の表現に、(例えば、ユーザインターフェースを介して)1つまたは複数の候補継ぎ目で注釈を付けることができる。注釈付き表現は、部品の3Dモデルを定義するために使用することができる。部品の3Dモデルは、部品の追加事例のその後の溶接のためにデータベースに保存することができる。
図10は、様々な例による、自律型溶接を行うための方法1000の流れ図である。より具体的には、図10は、いくつかの例による、溶接ロボット(例えば、図1のロボット110)を動作させ、制御するための方法1000のフローチャートである。工程1002において、方法1000は、溶接されるべき部品上の候補継ぎ目の予想される向きおよび予想される位置を部品のCADモデルに基づいて識別することを含む。予想される向きおよび予想される位置は、ユーザ/オペレータによってCADモデルに提供された注釈を使用して決定されてもよい。追加的または代替的に、コントローラ(例えば、図1のコントローラ108)は、モデルジオメトリに基づいて候補継ぎ目を識別するように動作することもできる。オブジェクトマッチングを行って、部品上の構成要素をCADモデル内の構成要素と照合することができる。言い換えれば、候補継ぎ目の予想される位置および向きを、オブジェクトマッチングに基づいて識別することができる。
工程1004において、方法1000は、1つまたは複数のセンサ(例えば、図1の(1つまたは複数の)センサ102)を使用して作業スペース(例えば、図1の作業スペース101)の画像データを取得することを含む。画像データは、作業スペースの2D画像および/または3D画像を含むことができる。上述したように、作業スペースは、溶接されるべき1つまたは複数の部品と、部品を安全に保持することができる固定具および/またはクランプとを含むことができる。いくつかの例では、画像データから点群を生成することができる。例えば、画像を互いに重ね合わせて、3D画像データを再構成して生成することができる。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のユーザ対話は必要ではない場合がある。これは、溶接されるべき1つまたは複数の継ぎ目がCADモデルにおいてすでに注釈を付けられている可能性があるからである。したがって、ある場合には、ユーザ対話なしで方法1000を実施することによって溶接ロボットを動作させ、制御することができる。
方法1000に関して上述した工程に加えて、またはそれらの工程の代わりに、溶接ロボット(例えば、図1のロボット110)は、以下のように自律型溶接を行うために溶接ロボットを動作させ、制御してもよい。ロボット110、特にロボット11のコントローラ108は、部品を含む作業スペースをスキャンして、作業スペース内の部品の位置(例えば、位置決め装置上の部品の位置)を決定し、部品の表現(例えば、点群表現)を生成し得る。コントローラ108には、部品の注釈付きCADモデルを提供され得る。次いで、コントローラ108は、部品のコンピュータ支援設計(CAD)モデルおよび部品の表現に従って(または基づいて)、部品上の候補継ぎ目の予想される位置および予想される向きを決定し得る。例えば、コントローラ108は、モデルジオメトリに基づいて候補継ぎ目を識別するように動作することができ、--オブジェクトマッチングを行って、部品の表現上の構成要素または特徴(例えば、トポグラフィ特徴)をCADモデル内の構成要素または特徴と照合することができ)、コントローラ108は、部品上の候補継ぎ目の予想される位置および予想される向きを決定する際にこのオブジェクトマッチングを使用するように動作し得る。予想される位置および向きが決定されると、コントローラ108は、次いで、部品の表現に少なくとも部分的に基づいて、候補継ぎ目の実際の位置および実際の向きを決定し得る。実際の位置および向きは、工程1008に記載の変形/精密化技術を使用して決定され得る。
図11は、様々な例による、自律型溶接を行うための方法1100の流れ図である。より具体的には、図11には、ロボット製造環境における製造ロボット110(図1)の動作の例示的な方法1100が示されている。製造タスク(例えば、溶接)が行われることになる対象の1つまたは複数の部品114が、固定具116を使用して、製造作業スペース101内の別の固定具116(例えば、位置決め装置)上に位置決めされ、かつ/または固定されていると仮定する。1つまたは複数の部品114の配置に続いて、方法1100が開始し得る。最初の工程として、方法1100は、1つまたは複数の部品をスキャンする工程(例えば、ブロック1110)を含む。スキャンは、1つまたは複数のセンサ102(例えば、ロボット110に結合されていないスキャナ)によって行われてもよく、コントローラ108は、製造作業スペース101内の部品の位置を決定し、センサから取得された画像データおよび/または画像もしくはセンサデータから導出された点群を使用して部品上の1つまたは複数の継ぎ目を識別する(ブロック1112および1114)ように構成され得る。部品および継ぎ目は、図1に関して説明した技術のうちの1つに基づいて位置特定され、識別され得る。部品および継ぎ目の位置が決定されると、コントローラ108は、識別された継ぎ目に沿った製造ロボット110のための経路をプロットする(ブロック1116)。プロットされた経路は、製造作業スペース101内で製造ロボット110自体または他のものと衝突することなく溶接を完了するための製造ロボット110の最適化された動きパラメータを含んでもよい。溶接を完了するための製造ロボット110の最適化された動きパラメータを生成する際に人間の入力は必要とされない。経路/軌道は、上述した経路計画技術のうちの1つに基づいて計画され得る。
「位置」および「向き」という用語は、上記の開示においては別々のエンティティとして記載されている。しかしながら、「位置」という用語は、部品の文脈で使用される場合、「部品が配置または配列される特定の方法」を意味する。「位置」という用語は、継ぎ目の文脈で使用される場合、「部品上の継ぎ目が位置決めされるか、または方向づけられる特定の方法」を意味する。よって、部品/継ぎ目の位置は、本質的に部品/継ぎ目の向きを考慮し得る。よって、「位置」は「向き」を含むことができる。例えば、位置は、部品または候補継ぎ目の相対的な物理的位置または方向(例えば、角度)を含むことができる。
特に明記しない限り、値の前の「約(about)」、「ほぼ(approximately)」、または「実質的に(substantially)」は、記載された値の+/-10パーセント意味する。特に明記しない限り、「平行」であると記載された2つの物体は並んでおり、それらの間に、一定であるか、または10パーセント以下だけ変化する距離を有する。特に明記しない限り、垂直であると記載された2つの物体は、80度~100度の範囲の角度で交差する。記載の例では修正が可能であり、特許請求の範囲内で他の例も可能である。

Claims (26)

  1. 溶接ロボットのための命令を生成するコンピュータ実装方法であって、
    溶接されるべき部品上の候補継ぎ目の予想される位置を、前記部品のコンピュータ支援設計(CAD)モデルに基づいて識別する工程;
    前記部品の表現を生成するために、前記部品を含む作業スペースをスキャンする工程;
    前記部品の前記表現および前記候補継ぎ目の前記予想される位置に基づいて、前記部品上の前記候補継ぎ目を識別する工程;
    前記候補継ぎ目の実際の位置を決定する工程;ならびに
    前記候補継ぎ目の前記実際の位置に少なくとも部分的に基づいて、前記溶接ロボットのための溶接命令を生成する工程
    を含む、コンピュータ実装方法。
  2. 前記候補継ぎ目の前記実際の位置を決定する工程が、
    前記部品の前記表現に少なくとも部分的に基づいて、前記候補継ぎ目の前記予想される位置を更新すること
    をさらに含む、請求項1記載のコンピュータ実装方法。
  3. 前記候補継ぎ目の前記実際の位置を決定する工程が、
    前記部品の前記表現に少なくとも部分的に基づいて、前記候補継ぎ目の前記予想される位置の許容差を決定すること;および
    前記許容差に少なくとも部分的に基づいて、前記候補継ぎ目の前記予想される位置を精密化すること
    をさらに含む、請求項1記載のコンピュータ実装方法。
  4. 前記候補継ぎ目の前記予想される位置を識別する工程が、前記CADモデル内の構成要素の表現を、溶接されるべき前記部品上の前記構成要素と照合することをさらに含む、請求項1記載のコンピュータ実装方法。
  5. 前記CADモデルが前記候補継ぎ目の注釈を含む、請求項1記載のコンピュータ実装方法。
  6. 前記候補継ぎ目を識別する工程が、
    溶接されるべき前記部品上の複数の点を前記部品の前記表現に基づいて識別することであって、前記複数の点からの少なくともいくつかの点が継ぎ目を形成している、識別すること
    をさらに含む、請求項1記載のコンピュータ実装方法。
  7. 前記候補継ぎ目を識別する工程が、
    溶接されるべき前記部品上の複数の点を前記部品の前記表現に基づいて識別することであって、前記複数の点からの少なくともいくつかの点が継ぎ目を形成している、識別すること;
    前記候補継ぎ目が継ぎ目であるかどうかを検証すること;および
    ニューラルネットワークを使用して、前記候補継ぎ目をある継ぎ目タイプとして識別すること
    をさらに含む、請求項1記載のコンピュータ実装方法。
  8. 前記候補継ぎ目が継ぎ目であるかどうかを検証することが、
    画像データの少なくとも1つのサブセットを解析することであって、前記画像データの前記サブセットが前記部品の複数の画像を含み、前記複数の画像からの各画像が異なる角度から前記部品の部分を取り込んでいる、解析すること;
    前記複数の画像からの各画像について、
    前記候補継ぎ目が実際の継ぎ目である信頼値を決定すること;および
    前記複数の画像からの各画像についての信頼値に基づいて、前記候補継ぎ目が前記継ぎ目であることを検証すること
    をさらに含む、請求項7記載のコンピュータ実装方法。
  9. 溶接ロボットのための溶接命令を生成するコンピュータ実装方法であって、
    センサを介して、溶接されるべき部品を含む作業スペースの画像データを取得する工程;
    前記画像データに基づいて、溶接されるべき前記部品上の複数の点を識別する工程;
    前記複数の点から、溶接されるべき前記部品上の候補継ぎ目を識別する工程;および
    前記候補継ぎ目の前記識別に少なくとも部分的に基づいて、前記溶接ロボットのための溶接命令を生成する工程
    を含む、コンピュータ実装方法。
  10. 前記候補継ぎ目を識別する工程が、
    前記画像データに基づいて、前記候補継ぎ目を前記部品に対して位置特定すること
    をさらに含む、請求項9記載のコンピュータ実装方法。
  11. 前記候補継ぎ目を識別する工程が、前記候補継ぎ目を形成する前記複数の点のうちの点のサブセットを識別することをさらに含む、請求項9記載のコンピュータ実装方法。
  12. 前記溶接命令が、前記溶接ロボットが前記部品を溶接するための溶接経路を含む、請求項9記載のコンピュータ実装方法。
  13. ニューラルネットワークを使用して、前記画像データに基づいて、前記作業スペースに含まれる少なくとも1つの物体をクランプまたは固定具の少なくとも一方として分類する工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  14. 前記少なくとも1つの物体を分類する工程が、
    前記画像データに対してピクセルごとの分類を行うこと
    をさらに含む、請求項13記載のコンピュータ実装方法。
  15. 前記ピクセルごとの分類に基づいて、前記少なくとも1つの物体の表現を含む前記画像データに含まれる少なくとも1つの画像内の第1の部分を識別する工程;および
    前記少なくとも1つの画像内の第2の部分から別の候補継ぎ目を識別する工程
    をさらに含む、請求項14記載のコンピュータ実装方法。
  16. 前記候補継ぎ目を、突き合わせ継ぎ、角継ぎ、縁継ぎ、重ね継ぎ、およびT継ぎからなる継ぎ目タイプの群に属するものとして識別する工程であって、前記溶接命令が前記継ぎ目タイプに少なくとも部分的に基づいて生成される、工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  17. 前記候補継ぎ目を識別する工程が、
    前記候補継ぎ目が継ぎ目であるかどうかを検証すること;および
    ニューラルネットワークを使用して、前記候補継ぎ目をある継ぎ目タイプとして識別すること
    をさらに含む、請求項9記載のコンピュータ実装方法。
  18. 前記候補継ぎ目が継ぎ目であるかどうかを検証することが、
    前記画像データの少なくとも1つのサブセットを解析することであって、前記画像データの前記サブセットが前記部品の複数の画像を含み、前記複数の画像からの各画像が異なる角度から前記部品の部分を取り込んでいる、解析すること;
    前記複数の画像からの各画像について、
    前記候補継ぎ目が実際の継ぎ目である信頼値を決定すること;および
    前記複数の画像からの各画像についての信頼値に基づいて、前記候補継ぎ目が前記継ぎ目であることを検証すること
    をさらに含む、請求項17記載のコンピュータ実装方法。
  19. 前記候補継ぎ目を識別する工程が、
    前記候補継ぎ目が継ぎ目であるかどうかを検証すること;
    ニューラルネットワークを使用して、前記候補継ぎ目をある継ぎ目タイプとして識別すること;および
    前記候補継ぎ目が前記継ぎ目であることを検証することに応答して、前記複数の点のうちの点のサブセットの群を定義し、それによって前記継ぎ目を形成すること
    をさらに含む、請求項9記載のコンピュータ実装方法。
  20. 前記候補継ぎ目が第1の候補継ぎ目であり、前記コンピュータ実装方法が、
    ユーザに対してかつユーザインターフェースを介して、溶接されるのに利用可能な複数の候補継ぎ目を表示する工程であって、前記複数の候補継ぎ目が前記第1の候補継ぎ目を含む、工程;
    前記ユーザインターフェースを介して、前記複数の候補継ぎ目からの第2の候補継ぎ目が溶接されるべきであるという指示を受け取る工程;および
    前記溶接ロボットが前記第2の候補継ぎ目を溶接するよう命令されるように、前記溶接ロボットのための前記溶接命令を更新する工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  21. ユーザインターフェースを介して、ユーザから溶接パラメータの変更を受け取る工程;および
    前記溶接パラメータの前記変更に少なくとも部分的に基づいて、前記溶接ロボットのための前記溶接命令を更新する工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  22. 溶接されるべき前記部品をスキャンする工程;
    溶接されるべき前記部品上の少なくとも1つの候補継ぎ目を溶接する命令を含む、ユーザからのユーザ入力を受け取る工程;ならびに
    前記ユーザ入力および前記スキャンに少なくとも部分的に基づいて、溶接されるべき前記部品の3Dモデルを定義する工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  23. 溶接されるべき前記部品をスキャンする工程;
    溶接されるべき前記部品上の少なくとも1つの候補継ぎ目を溶接する命令を含む、ユーザからのユーザ入力を受け取る工程;ならびに
    前記ユーザ入力および前記スキャンに少なくとも部分的に基づいて、溶接されるべき前記部品の3Dモデルを定義する工程;ならびに
    溶接されるべき前記部品の前記3Dモデルをデータベースに保存する工程
    をさらに含む、請求項9記載のコンピュータ実装方法。
  24. 溶接ロボットのための命令を生成するコンピュータ実装方法であって、
    作業スペース内の前記部品の位置を決定し、かつ前記部品の表現を生成するために、前記部品を含む前記作業スペースをスキャンする工程;
    前記部品のコンピュータ支援設計(CAD)モデルおよび前記部品の前記表現に従って、溶接されるべき前記部品上の候補継ぎ目の予想される位置を決定する工程;ならびに
    前記部品の前記表現に少なくとも部分的に基づいて、前記候補継ぎ目の実際の位置を決定する工程
    を含む、コンピュータ実装方法。
  25. 前記CADモデルが前記候補継ぎ目の注釈を含む、請求項24記載のコンピュータ実装方法。
  26. 前記候補継ぎ目の前記実際の位置を決定する工程が、前記部品の前記表現に少なくとも部分的に基づいて前記候補継ぎ目の前記予想される位置を更新することをさらに含む、請求項25記載のコンピュータ実装方法。
JP2023575689A 2021-02-24 2022-02-24 自律型溶接ロボット Pending JP2024508563A (ja)

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/017741 WO2022182894A1 (en) 2021-02-24 2022-02-24 Autonomous welding robots

Publications (1)

Publication Number Publication Date
JP2024508563A true JP2024508563A (ja) 2024-02-27

Family

ID=82901371

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2023575689A Pending JP2024508563A (ja) 2021-02-24 2022-02-24 自律型溶接ロボット
JP2023575690A Pending JP2024508564A (ja) 2021-02-24 2022-02-24 自律型溶接ロボット

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023575690A Pending JP2024508564A (ja) 2021-02-24 2022-02-24 自律型溶接ロボット

Country Status (6)

Country Link
US (6) US11548162B2 (ja)
EP (2) EP4297923A2 (ja)
JP (2) JP2024508563A (ja)
KR (2) KR20230160277A (ja)
CA (2) CA3211502A1 (ja)
WO (2) WO2022182894A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022016152A1 (en) * 2020-07-17 2022-01-20 Path Robotics, Inc. Real time feedback and dynamic adjustment for welding robots
CA3211502A1 (en) 2021-02-24 2022-09-01 Path Robotics, Inc. Autonomous welding robots
US11651554B2 (en) * 2021-07-30 2023-05-16 The Boeing Company Systems and methods for synthetic image generation
US11900534B2 (en) * 2021-07-30 2024-02-13 The Boeing Company Systems and methods for synthetic image generation
CN116604243B (zh) * 2023-06-21 2024-02-27 中建国际城市建设有限公司 一种智能建造用的焊接机械臂及其焊接方法

Family Cites Families (183)

* Cited by examiner, † Cited by third party
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 (ja) 1981-03-20 1985-01-12 Gould Inc
JPH065486B2 (ja) 1981-03-26 1994-01-19 株式会社安川電機 ロボットの軌跡制御方法
US5602967A (en) 1981-05-11 1997-02-11 Sensor Adaptive Machines, Inc. 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
US6317953B1 (en) 1981-05-11 2001-11-20 Lmi-Diffracto 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
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
JPS6132113A (ja) 1984-07-23 1986-02-14 Seiko Instr & Electronics Ltd ロボツト制御方式
JPS6150795A (ja) 1984-08-17 1986-03-13 セイコーインスツルメンツ株式会社 産業用ロボツト
US5374830A (en) 1984-10-12 1994-12-20 Sensor Adaptive Machines, Inc. Target based determination of robot and sensor alignment
US5267143A (en) 1984-10-12 1993-11-30 Sensor Adaptive Machines, Incorporated Vision assisted fixture construction
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
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
DE68928489T2 (de) 1988-01-08 1998-04-02 Prolion Bv Vorrichtung zum Positionieren eines Tieres, Terminal für ein automatisches Melksystem und Verfahren zum automatischen Melken eines Tieres
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
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 (ja) 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
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
KR0160992B1 (ko) 1992-08-13 1998-12-15 윤종룡 로보트의 위치결정제어방법
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 윤종용 아크용접공정에서용접선자동추적을위한비젼센서및비젼처리기법
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
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 株式会社安川電機 搬送用ロボットのティーチング装置および搬送用ロボットのティーチング方法
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
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
AU2006311583A1 (en) 2005-11-09 2007-05-18 Primeradx, Inc. Multiplexed quantitative detection of pathogens
CN101346800B (zh) 2005-12-20 2011-09-14 株式会社半导体能源研究所 用于制造半导体装置的激光辐射设备和方法
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
ATE455618T1 (de) 2007-11-20 2010-02-15 Trumpf Werkzeugmaschinen Gmbh VERFAHREN ZUM BESTIMMEN EINER KENNGRÖßE FÜR DIE GENAUIGKEIT EINER NAHTLAGEREGELUNG
ATE452005T1 (de) 2008-02-13 2010-01-15 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
US20100114338A1 (en) 2008-10-31 2010-05-06 Gm Global Technology Operations, Inc. Multi-goal path planning of welding robots with automatic sequencing
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
CA2854829C (en) 2011-11-15 2019-07-02 Manickam UMASUTHAN Method of real-time tracking of moving/flexible surfaces
EP2831843A1 (en) 2012-03-29 2015-02-04 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
KR20150067163A (ko) 2012-10-05 2015-06-17 베크만 컬터, 인코포레이티드 카메라 기반 자동 정렬을 위한 시스템 및 방법
KR20150100669A (ko) 2012-12-21 2015-09-02 베크만 컬터, 인코포레이티드 레이저 기반 자동 정렬을 위한 시스템 및 방법
US10040141B2 (en) 2013-05-23 2018-08-07 Crc-Evans Pipeline International, Inc. Laser controlled internal welding machine for a pipeline
US9821415B2 (en) 2014-03-28 2017-11-21 Crc-Evans Pipeline International, Inc. Internal pipeline cooler
EP3007867B1 (en) 2013-06-11 2020-10-21 OnRobot A/S 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
US10083627B2 (en) 2013-11-05 2018-09-25 Lincoln Global, Inc. Virtual reality and real welding training system and method
US9836987B2 (en) 2014-02-14 2017-12-05 Lincoln Global, Inc. Virtual reality pipe welding simulator and setup
JP6286276B2 (ja) 2014-05-09 2018-02-28 株式会社アマダホールディングス 溶接機及びその制御方法
WO2015185972A1 (en) 2014-06-02 2015-12-10 Lincoln Global, Inc. System and method for manual welder training
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
CA3028662A1 (en) 2016-06-20 2017-12-28 Hypertherm, Inc. Systems and methods for planning paths to guide robots
EP3269487A1 (de) * 2016-07-12 2018-01-17 Fronius International GmbH Verfahren zur festlegung von schweissparametern für einen schweissprozess
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
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 株式会社東芝 光学検査装置
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
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
WO2019153090A1 (en) * 2018-02-08 2019-08-15 Novarc Technologies Inc. Systems and methods for seam tracking in pipe welding
WO2019212985A1 (en) 2018-04-30 2019-11-07 Path Robotics, Inc. Reflection refuting laser scanner
KR102087609B1 (ko) 2018-07-10 2020-03-11 주식회사 성우하이텍 비전유닛
CN109226967B (zh) 2018-07-25 2021-03-09 同高先进制造科技(太仓)有限公司 一种用于激光-电弧复合焊的主动激光视觉稳健焊缝跟踪系统
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 达闼科技(北京)有限公司 一种机器人定位导航的方法、装置、计算设备
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 武汉东焊汽车装备有限公司 一种汽车排气管双层焊接设备
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
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
WO2022016152A1 (en) 2020-07-17 2022-01-20 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
CA3211502A1 (en) 2021-02-24 2022-09-01 Path Robotics, Inc. Autonomous welding robots
CA3162295A1 (en) 2021-06-18 2022-12-18 Techjig Inc. Robotic cell and method of operating same

Also Published As

Publication number Publication date
US20240075629A1 (en) 2024-03-07
WO2022182894A1 (en) 2022-09-01
US11548162B2 (en) 2023-01-10
CA3211499A1 (en) 2022-09-01
US20220305593A1 (en) 2022-09-29
CA3211502A1 (en) 2022-09-01
US11759958B2 (en) 2023-09-19
KR20230160277A (ko) 2023-11-23
KR20230160276A (ko) 2023-11-23
US20220410402A1 (en) 2022-12-29
WO2022182896A3 (en) 2022-11-10
US11801606B2 (en) 2023-10-31
US20240033935A1 (en) 2024-02-01
US11648683B2 (en) 2023-05-16
WO2022182896A2 (en) 2022-09-01
EP4297937A1 (en) 2024-01-03
JP2024508564A (ja) 2024-02-27
US20230047632A1 (en) 2023-02-16
EP4297923A2 (en) 2024-01-03
US20220266453A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
US11548162B2 (en) Autonomous welding robots
US10060857B1 (en) Robotic feature mapping and motion control
EP3863791B1 (en) System and method for weld path generation
US11504853B2 (en) Robotic system architecture and control processes
US11407111B2 (en) Method and system to generate a 3D model for a robot scene
WO2011140646A1 (en) Method and system for generating instructions for an automated machine
CN102378943A (zh) 控制机器人工具的方法
CN112958959A (zh) 一种基于三维视觉的自动化焊接和检测方法
US20230278224A1 (en) Tool calibration for manufacturing robots
CN113634958A (zh) 一种基于三维视觉的大型结构件自动化焊接系统及方法
Ahmed et al. Object detection and motion planning for automated welding of tubular joints
US20230123712A1 (en) Generating simulated weld paths for a welding robot
US20230330764A1 (en) Autonomous assembly robots
US20230173676A1 (en) Machine learning logic-based adjustment techniques for robots
JPH1063324A (ja) 画像入力型ロボットシステム
RU2679859C1 (ru) Способ автоматической обработки крупногабаритных тонкостенных изделий
Chalus et al. Calibration and using a laser profile scanner for 3D robotic welding
US20240042614A1 (en) Techniques for multipass welding
US20230403475A1 (en) Reflection refuting laser scanner
Chalus et al. 3D robotic welding with a laser profile scanner
Tsai et al. An automatic golf head robotic welding system using 3D machine vision system
US20240042605A1 (en) Apparatus and a Method for Automatically Programming a Robot to Follow Contours of Objects
Wang et al. A path correction method based on global and local matching for robotic autonomous systems
Hill et al. Automated Weld Path Generation Using Random Sample Consensus and Iterative Closest Point Workpiece Localization