(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】ロボット溶接システム
(51)【国際特許分類】
B23K 9/127 20060101AFI20240820BHJP
B23K 9/12 20060101ALI20240820BHJP
【FI】
B23K9/127 509B
B23K9/12 331A
B23K9/12 331Q
B23K9/12 350D
(21)【出願番号】P 2023512237
(86)(22)【出願日】2020-10-14
(86)【国際出願番号】 US2020055582
(87)【国際公開番号】W WO2022039766
(87)【国際公開日】2022-02-24
【審査請求日】2023-02-17
(32)【優先日】2020-08-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】596060697
【氏名又は名称】マサチューセッツ インスティテュート オブ テクノロジー
(73)【特許権者】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ハルヒコ ハリー アサダ
(72)【発明者】
【氏名】衞藤 晴彦
【審査官】山内 隆平
(56)【参考文献】
【文献】特開2001-051712(JP,A)
【文献】米国特許出願公開第2018/0348744(US,A1)
【文献】特開2008-302386(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B23K 9/127
B23K 9/12
(57)【特許請求の範囲】
【請求項1】
ロボット溶接システムであって、
溶接トーチと、
溶接作業の間に前記溶接トーチを支持するように構成された支持体と、
前記支持体に動作的に連結された1つ以上のアクチュエータであって、該1つ以上のアクチュエータは、1つ以上の方向における前記溶接トーチの動きを制御するように構成されている、1つ以上のアクチュエータと、
前記溶接トーチの手動操作に関連するオペレータ入力を受信するように構成された
入力装置であって、前記オペレータ入力には、オペレータによる命令軌道に沿って前記溶接トーチを繰り返し移動させる手動操作が含まれる、入力装置と、
前記1つ以上のアクチュエータ及び前記入力装置に動作可能に連結されたプロセッサであって、
該プロセッサは、
前記溶接トーチを前記命令軌道に沿って移動させる手動操作の間
に、前記命令軌道に少なくとも部分的に基づいて繰り返し軌道を自動的に推定し、前記繰り返し軌道を目標軌道として近似するステップと、
前記繰り返し軌道を前記目標軌道として近似した後、前記1つ以上のアクチュエータを動作させて、前記目標軌道に少なくとも部分的に基づいて前記溶接トーチの動きを制御するステップと、
を行うように構成されている、ロボット溶接システム。
【請求項2】
前記プロセッサは、
前記溶接トーチの手動操作の間に、前記繰り返し軌道を推定し、
前記1つ以上のアクチュエータを
前記溶接トーチの前記命令軌道に近似する前記繰り返し軌道の推定に応じた前記目標軌道に少なくとも部分的に基づいて動作させるように構成されている、
請求項1に記載のロボット溶接システム。
【請求項3】
前記プロセッサは、前記
繰り返し軌道が前記命令軌道に
近似する前に、前記命令軌道に基づいて前記1つ以上のアクチュエータを動作させるように構成され、
前記プロセッサは、前記
繰り返し軌道が前記命令軌道に
近似した後に、前記1つ以上のアクチュエータを動作させるために前記命令軌道を用いないように構成されている、
請求項2に記載のロボット溶接システム。
【請求項4】
前記プロセッサは、前記ロボット溶接システムが前記命令軌道に基づく
前記手動動作から前記目標軌道に基づく自律動作に移行する場合に、ユーザに表示を出力するように構成されている、
請求項1乃至3のいずれか一項に記載のロボット溶接システム。
【請求項5】
前記プロセッサは、前記
繰り返し軌道と、前記溶接トーチの
前記命令軌道との間の誤差を特定するように構成され、
前記プロセッサは、前記
繰り返し軌道と前記命令軌道との間の誤差が所定の閾値誤差を下回った場合に、前記1つ以上のアクチュエータを前記目標軌道に少なくとも部分的に基づいて動作させることに移行するように構成されている、
請求項1乃至4のいずれか一項に記載のロボット溶接システム。
【請求項6】
前記プロセッサは、前記溶接トーチの手動操作に関連する
前記オペレータ入力に少なくとも部分的に基づいて前記
繰り返し軌道の周波数を推定するように構成され、
前記プロセッサは、推定された前記周波数に少なくとも部分的に基づいて前記目標軌道を生成するように構成されている、
請求項1乃至
5のいずれか一項に記載のロボット溶接システム。
【請求項7】
前記プロセッサは、前記溶接トーチの一連の動きに少なくとも部分的に基づいて
前記繰り返し軌道の周波数を含む前記目標軌道の初期推定値を生成するように構成され、
前記プロセッサは、
前記命令軌道に基づく手動動作中に、該初期推定値に少なくとも部分的に基づいて前記目標軌道をリアルタイムで生成するように構成されている、
請求項
6に記載のロボット溶接システム。
【請求項8】
前記支持体は自走式キャリッジに配置されている、
請求項1乃至
7のいずれか一項に記載のロボット溶接システム。
【請求項9】
前記プロセッサは、前記溶接トーチの手動操作中に前記繰り返し軌道を推定するように構成される、
請求項1乃至8のいずれか一項に記載のロボット溶接システム。
【請求項10】
前記繰り返し軌道を前記目標軌道として近似するステップは、
前記命令軌道に沿って前記溶接トーチを手動で操作する際に、前記溶接トーチの前記命令軌道に少なくとも部分的に基づいて初期目標軌道を生成するステップと、
前記初期目標軌道を生成する際に、前記命令軌道に沿って前記溶接トーチを少なくとももう一度手動で操作することによって、前記初期目標軌道を更新し、更新された前記目標軌道を生成するステップと、を含む、
請求項1乃至9のいずれか一項に記載のロボット溶接システム。
【請求項11】
ロボット溶接システムを操作する方法であって、当該方法は、
入力装置により溶接トーチの手動操作に関連するオペレータ入力を受信し、
前記オペレータ入力は、オペレータによる命令軌道に沿って前記溶接トーチを繰り返し移動させる手動操作を含み、
溶接作業中に支持体によって支持される前記溶接トーチと、
前記支持体に動作可能に結合される1つ以上のアクチュエータと、
プロセッサは、前記1つ以上のアクチュエータおよび前記入力装置に動作可能に結合されており、
前記1つ以上のアクチュエータは、1つ以上の方向への前記溶接トーチの動きを制御するように構成され、
前記命令軌道に少なくとも部分的に基づいて繰り返し軌道を自動的に推定し、前記命令軌道に沿って前記溶接トーチを移動させる手動操作中に前記プロセッサによって前記繰り返し軌道を目標軌道として近似するステップと、
前記プロセッサが、前記繰り返し軌道を前記目標軌道として近似する際に、前記目標軌道に少なくとも部分的に基づいて前記溶接トーチの動きを制御するために、前記1つ以上のアクチュエータを動作させて動きを制御するステップと、
を含む、方法。
【請求項12】
前記溶接トーチの手動操作の間に、前記繰り返し軌道を推定し、
前記溶接トーチの前記命令軌道に近似する前記繰り返し軌道の推定に応答して、前記プロセッサによって前記目標軌道に少なくとも部分的に基づいて前記1つ以上のアクチュエータを動作させるステップと、
をさらに含む、請求項11に記載の方法。
【請求項13】
前記
繰り返し軌道が
前記溶接トーチの動きの前記命令軌道に
近似する前に、
前記命令軌道に基づいて前記1つ以上のアクチュエータを動作させるステップが前記プロセッサによって実行され、
前記プロセッサは、前記繰り返し軌道が前記命令軌道に近似した後に、前記1つ以上のアクチュエータを動作させるために前記命令軌道を用いないように構成されている、
請求項12に記載の方法。
【請求項14】
前記ロボット溶接システムが、前記命令軌道に基づく手動動作から前記目標軌道に基づく自律動作に移行する場合に、ユーザに表示を出力することをさらに含む、
請求項11乃至13のいずれか一項に記載の方法。
【請求項15】
前記
繰り返し軌道と、前記溶接トーチの
前記命令軌道との間の誤差を特定することをさらに含み、前記目標軌道に少なくとも部分的に基づいて前記溶接トーチの動きを制御することは、前記
繰り返し軌道と前記命令軌道との間の誤差が所定の閾値誤差を下回った場合に、前記溶接トーチの動きの制御を
前記命令軌道に基づく手動動作から前記目標軌道に基づく自律動作に移行することを含む、
請求項11乃至14のいずれか一項に記載の方法。
【請求項16】
前記溶接トーチの感知された動きに基づいて前記命令軌道を決定することをさらに含む、
請求項11乃至15のいずれか一項に記載の方法。
【請求項17】
手動操作される
前記入力装置の感知された動きに基づいて前記命令軌道を決定することをさらに含む、
請求項11乃至16のいずれか一項に記載の方法。
【請求項18】
前記命令軌道に少なくとも部分的に基づいて、前記繰り返し軌道を推定することは、
手動操作の間の前記溶接トーチの
前記命令軌道に少なくとも部分的に基づいて前記
繰り返し軌道の周波数を推定することと、
推定された前記周波数に少なくとも部分的に基づいて
前記目標軌道を生成することとを含む、
請求項11乃至17のいずれか一項に記載の方法。
【請求項19】
前記命令軌道に少なくとも部分的に基づいて、前記繰り返し軌道を推定することは、
前記溶接トーチの一連の感知された動きに少なくとも部分的に基づいて
前記繰り返し軌道の周波数を含む前記目標軌道の初期推定値を生成することを含む、
請求項11乃至18のいずれか一項に記載の方法。
【請求項20】
前記命令軌道に少なくとも部分的に基づいて、前記繰り返し軌道を推定することは、
前記命令軌道に基づく手動動作中に、前記初期推定値に少なくとも部分的に基づいて前記目標軌道をリアルタイムに生成することを含む、
請求項19に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、その開示の全体が参照により本願に組み込まれる、2020年8月20日に出願された米国仮出願番号63/067973号に対し、米国特許特許法119条(e)に基づき利益を主張する。
【0002】
開示の実施形態は、ロボット溶接システム及び関連作業方法に関する。
【背景技術】
【0003】
造船等の製造現場では、溶接作業を行うために自動化されたロボットシステムが用いられることが知られている。例えば、一部の従来のシステムは、溶接トーチを動かすためにロボットアームを採用している。ロボットアーム及び溶接トーチは、レール又は他の軌道に沿って溶接トーチ及びロボットアームを動かすことが可能なキャリッジに配置され得る。一部の用途では、ロボットアームが溶接トーチを所望のパターンで動かす一方で、ロボットアーム及び溶接トーチは関連する自走式キャリッジによって溶接軌道に沿って推進されることが知られている。これらの自動化装置を操作するために、ユーザは、所望の溶接作業を行うためにアームの軌道、キャリッジの移動速度、ロボットアーム及び溶接トーチの動きの形状を含む多数のパラメータをロボット溶接システムにプログラムしなければならない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一部の実施形態では、ロボット溶接システムは、溶接トーチと、溶接作業の間に前記溶接トーチを支持するように構成された支持体と、前記支持体に動作的に連結された1つ以上のアクチュエータであって、該1つ以上のアクチュエータは、1つ以上の方向における前記溶接トーチの動きを制御するように構成されている、1つ以上のアクチュエータと、前記溶接トーチの手動操作に関連するオペレータ入力を受信するように構成された入力装置と、前記1つ以上のアクチュエータ及び前記入力装置に動作可能に連結されたプロセッサであって、該プロセッサは、前記入力装置を用いた前記溶接トーチの手動操作の間の前記溶接トーチの命令軌道(commanded trajectory)に少なくとも部分的に基づいて目標軌道を生成するステップと、前記1つ以上のアクチュエータを動作させて、前記目標軌道(target trajectory)少なくとも部分的に基づいて前記溶接トーチの動きを制御するステップと、を行うように構成されている。
【0005】
一部の実施形態では、ロボット溶接システムを操作する方法は、手動操作の間の溶接トーチの命令軌道に少なくとも部分的に基づいて、該溶接トーチの目標軌道を生成することと、前記目標軌道に少なくとも部分的に基づいて前記溶接トーチの動きを制御することと、を含む。
【0006】
上記の概念及び以下で説明する追加の概念は、本開示がこの点で限定されないため、任意の適切な組み合わせで配置され得ることが理解されよう。また、本開示の他の利点及び新規な特徴は、添付の図と併せて考えた場合に、様々な非限定の実施形態の以下の詳細な説明から明らかになるであろう。
【0007】
本明細書及び参照により組み込まれた文献が矛盾する及び/又は一貫性のない開示を含む場合、本明細書が支配するものとする。参照により組み込まれた2つ以上の文献が互いに矛盾する及び/又は一貫性のない開示を含む場合、有効日が後の文献が支配するものとする。
【図面の簡単な説明】
【0008】
添付の図面は、縮尺どおりに描画することを目的としていない。図面において、様々な図に示されているそれぞれの同一又はほぼ同一のコンポーネントは同様の参照符号で表され得る。明確にするために、全ての図面で全てのコンポーネントがラベル付けされていないことがある。
【
図1A】
図1Aは、1つの例示の実施形態に係る、オペレータが遠隔入力装置を用いてロボット溶接システムを訓練する状態を示す。
【
図1B】
図1Bは、1つの例示の実施形態に係る、オペレータがロボット溶接システムの溶接トーチを手動で操作することによりロボット溶接システムを訓練する状態を示す。
【
図2】
図2は、1つの例示の実施形態に係る、ロボット溶接システムを操作する方法を示すフローチャートである。
【
図3】
図3は、1つの例示の実施形態に係る、ロボット溶接システムの溶接トーチの位置及び向きを示す概略図である。
【
図4】
図4は、1つの例示の実施形態に係る、ロボット溶接システムの溶接トーチの3次元経路を示すグラフである。
【
図5A】
図5Aは、1つの例示の実施形態に係る、異なる運動面におけるロボット溶接システムの溶接トーチの例示の経路の例を示すグラフである。
【
図5B】
図5Bは、1つの例示の実施形態に係る、異なる運動面におけるロボット溶接システムの溶接トーチの例示の経路の例を示すグラフである。
【
図5C】
図5Cは、1つの例示の実施形態に係る、異なる運動面におけるロボット溶接システムの溶接トーチの例示の経路の例を示すグラフである。
【
図5D】
図5Dは、1つの例示の実施形態に係る、異なる運動面におけるロボット溶接システムの溶接トーチの例示の経路の例を示すグラフである。
【
図5E】
図5Eは、1つの例示の実施形態に係る、異なる運動面におけるロボット溶接システムの溶接トーチの例示の経路の例を示すグラフである。
【
図6】
図6は、1つの例示の実施形態に係る、ロボット溶接システムの溶接トーチの2次元軌道を示すグラフであり、ロボット溶接システムはトレーニングモードから自律モードに移行する。
【
図7】
図7は、1つの例示の実施形態に係る、ロボット溶接システムのプロセッサの機能コンポーネントを示す概略図である。
【発明を実施するための形態】
【0009】
いくつかある作業の中で溶接は重工業における重要な製造プロセスである。例えば、造船は多数の溶接作業を必要とする。従来のロボット溶接システムでは、一連のコマンドを実行すること又は所定のパスに従うことをロボット溶接システムに教えるために、オペレータはペンダント又はコントロールパネルに多数のパラメータ(例えば、送り速度、振り幅、周波数、ウィービング形状、移動速度、サイズ等)を入力する必要がある。このアプローチは大量生産に適しているが、アプローチには退屈で時間のかかるプログラミングが必要になる。従来、オペレータは、ロボット溶接システムのコントロールパネルのダイアルを調整したり、ボタンを押したりすることにより、これらの動作パラメータを手動で設定し得る。もちろん、ユーザは他の種類のプログラミングツールを用いることもある。しかしながら、このプロセスは、反復可能な溶接作業がほとんど行われない造船や他の用途等の少量生産には適していない。
【0010】
上記に加えて、従来のロボット溶接システムは概して幾何学的に単純な溶接を実行することのみ適している。そのため、パラメータ設定を用いる一般的なシステムは、造船等の小規模な溶接作業で一般的な様々なワークピースに適応するための柔軟性が低い。例えば、パラメータ設定プロセスは人間のオペレータにとって直感的なものではない。したがって、オペレータが間違った値を入力する可能性があり、オペレータは入力を継続的に推測、確認、修正する必要がある。加えて、様々な複雑な形状や様々な異なるワークピースにより、人間のオペレータは、それぞれの可能性のある形状及び/又はワークピースに対応するために、この作業を何度も行う必要があり得る。
【0011】
上記の観点から、本発明者らは、リアルタイムのオペレータのデモンストレーションから、ターゲット溶接軌道のための望ましい作業パラメータを学習可能なロボット溶接システムの利点を認識している。とりわけ、本発明者らは、溶接トーチの直接操作及び/又は溶接トーチの遠隔操作のいずれかにより、溶接タスクを実行する溶接者によって操作される溶接トーチの動きのデータを収集可能なロボット溶接システムの利点を認識している。そのため、ロボット溶接システムは、溶接作業の間に溶接トーチの動きを感知するか又はさもなければ判定して、溶接トーチの動作を制御するための適切な動作パラメータを決定し得る。その後に決定された動作パラメータは、残りの溶接タスクを自律的に行うためにロボット溶接システムによって用いられ得る。
【0012】
上記の観点から、一部の実施形態では、人間のオペレータは、先ず、パラメータを何ら入力することなく、ロボット溶接システムを用いて溶接作業を行い得る。そのため、オペレータは溶接作業を始める前に、タスクに最適な溶接パラメータを知る必要がない。ロボット溶接システムは、溶接作業が行われるときに、システムの手動動作を監視し得る。そのため、オペレータは、実際の作業の間に溶接作業に適したパラメータをロボット溶接システムに教え始める。そのため、ロボット溶接システムは使用が容易になり、オペレータがロボット溶接システムのペンダント又はコントロールパネルに多数のパラメータ(例えば、フィード速度、振り幅、周波数、ウィービング形状、移動速度、サイズ等)を入力する必要がなくなる。さらに、オペレータのデモンストレーションに基づいてロボット溶接システムを教えるプロセスにより、ロボット溶接システムは様々な溶接作業のためのより広いクラスのパターン及び/又は軌道を学習でき得る。とりわけ、熟練した人間のオペレータは、ペンダント又はコントロールパネルを介してパラメータが入力される場合に、通常はプログラムできない一連の微妙な動き又は巧みな作業を実証し得る。
【0013】
一部の実施形態では、ロボット溶接システムは、溶接トーチと、支持体と、1つ以上のアクチュエータと、入力装置と、プロセッサとを含む。支持体は、とりわけ溶接作業の間に溶接トーチを保持することができ得る。次に、1つ以上のアクチュエータは、1つ以上のアクチュエータが支持体及び/又は溶接トーチを1つ以上の方向に動かし得るように、支持体及び/又は溶接トーチに動作可能に連結され得る。入力装置は、溶接作業の間にオペレータの溶接トーチの手動操作に関して、オペレータから入力を受信でき得る。特定の用途に応じて、入力装置は遠隔入力装置、溶接トーチ自体及び/又は所望の溶接パターンで溶接トーチを操作するためのオペレータの動きを検出可能な任意の他の適切な入力装置のいずれかであり得る。プロセッサは、プロセッサが入力装置から受信した1つ以上の信号に基づいて、1つ以上のアクチュエータを制御し得るように1つ以上のアクチュエータ及び入力装置に動作可能に連結され得る。例えば、プロセッサは、(1)オペレータが溶接トーチを手動で操作している場合の、溶接トーチの命令軌道に関して入力装置から収集されたデータに少なくとも部分的に基づいて、溶接トーチの自律動作のための目標軌道を生成するステップと、(2)目標軌道に少なくとも部分的に基づいて、1つ以上のアクチュエータを動作させて溶接トーチの動きを制御するステップという2つのステップを行い得る。そのため、本開示の1つ以上の態様に係るロボット溶接システムは、人間のオペレータによって実証されたようにタスクを実行し、退屈なオンサイトでのパラメータ計算及び入力の必要性を排除する。
【0014】
一部の実施形態では、本開示はロボット溶接システムを操作する方法として具体化される。本方法は、(1)手動操作の間の溶接トーチの命令軌道に少なくとも部分的に基づいて、溶接トーチの目標軌道(すなわち、自律動作のための軌道)を生成するステップと、(2)目標軌道に少なくとも部分的に基づいて溶接トーチの動きを(例えば、1つ以上のアクチュエータを介して)制御するステップとを含み得る。
【0015】
溶接トーチの手動操作から望ましい目標軌道を学習することに加えて、場合によっては、ロボット溶接システムが望ましい目標軌道を学習した後に手動から自動制御に移ることが望ましい場合がある。したがって、本発明者らは、ロボット溶接システムを操作するためのパラメータを学習することと、決定された操作パラメータを用いてロボット溶接システムの溶接トーチの動きを制御することとの間を自動的に移行可能なロボット溶接システムの利点を認識している。とりわけ、本発明者らは、ロボット溶接システムが手動溶接作業の間に溶接トーチの命令軌道に少なくとも部分的に基づいて溶接作業のパラメータを学習した後に、ロボット溶接システムが作業を引き継ぐことができる手動の溶接作業をオペレータが開始できるシステムの利点を認識している。そのため、一部の実施形態では、ロボット溶接システムは、手動動作から自律動作にシームレスに(すなわち、ユーザ入力なしに)移行可能である。例えば、一部の実施形態では、熟練の人間のオペレータが最初のいくつかのセグメントのために溶接作業を手動で行い得る。ロボット溶接システムは、溶接作業の間の人間のオペレータの手動入力に関連する動きデータを分析し、人間の溶接作業者の意図した動きを特定するように構成されたリアルタイム推定アルゴリズムを実行可能なプロセッサを含む。プロセッサが関連する動作パラメータを特定すると、プロセッサは溶接作業を引き継ぎ、追加のオペレータ入力なしで溶接作業を完了し得る。もちろん、一部の実施形態では、ロボット溶接システムは、自律動作の間にユーザがロボットの動きに介入できるように、適切な入力を含み得る。例えば、ユーザは、安全スイッチ又は停止スイッチを押してロボットの自律動作を停止し得る。
【0016】
特定の実施形態では、ロボット溶接システムのプロセッサは、ロボット溶接システムの動作をトレーニングモードと自律モードの間で移行させ得る。ロボット溶接システムは、溶接作業の間に人間のオペレータが手動でその溶接トーチを手動で操作し得るトレーニングモードから始まり得る。その後、プロセッサは、上述したように入力装置から溶接トーチの動きに関するデータを収集し得る。その後、プロセッサは、人間のオペレータによって操作される溶接トーチの軌道(すなわち、目標軌道)の予測又は推定を生成し得る。その後、プロセッサは、溶接トーチの感知された実際の軌道及び/又は溶接トーチの操作を制御するために用いられる入力装置から感知された動きであり得るトーチの命令軌道と予測とを比較し得る。この比較は、予測と命令軌道との間の誤差を判定するために用いられ得る。プロセッサは、計算された誤差が所定の誤差閾値を下回るまで、これらのステップを繰り返し得る。計算された誤差が所定の誤差閾値を下回ると(すなわち、目標軌道が命令軌道に収斂する)、プロセッサはトレーニングモードから、プロセッサが人間のオペレータからの入力なしで溶接トーチを操作する自律モードに移行し得る。実施形態によっては、自律モードに移行すると、ロボット溶接システムのプロセッサは、入力装置から受信したデータに基づいて軌道を更新しないことがある。もちろん、プロセッサは、多数の適切な方法でトレーニングモードから自律モードに移行するように構成され得ることを理解すべきである。例えば、一部の実施形態では、プロセッサは、一定期間、予め定義された溶接トーチサイクル数及び/又は任意の他の好適なメトリックの後に、トレーニングモードから自律モードに移行し得る。
【0017】
一部の実施形態では、複数の自由度を含むロボット溶接システムにより、手動操作の間の溶接トーチの命令軌道に基づいて目標軌道を計算する場合、プロセッサは、各自由度における目標軌道と命令軌道との間の誤差を最小限することにより、目標軌道を命令軌道に収斂しようとし得る。一部の実施形態では、各自由度における目標軌道と各自由度における命令軌道との間の誤差が所定の誤差閾値を下回った場合に、プロセッサはトレーニングモードから自律モードに移行する。
【0018】
自律動作モードに移行するための具体的な方法は上記で説明したが、自律動作モードに移行するための適切なタイミングを決定する他の方法も検討されていることを理解すべきである。例えば、オペレータはロボット溶接システムを訓練するために任意の適切な方法を用いてもよい。とりわけ、プロセッサは、命令軌道に基づいて目標軌道を決定するために任意の適切な方法を用いり得る。例えば、プロセッサは、目標軌道と命令軌道との間での様々な動作パラメータの平均誤差が所定の閾値誤差を下回った場合に、トレーニングモードから自律モードに移行し得る。あるいは、プロセッサは、目標軌道と命令軌道との間の瞬時誤差が所定の閾値誤差を下回った場合にトレーニングモードから自律モードに移行し得る。一部の実施形態では、プロセッサは、目標軌道と命令軌道との間の平均誤差が所定の閾値誤差を特定の期間下回った場合にトレーニングモードから自律モードに移行する。他の実施形態では、プロセッサは、目標軌道と命令軌道との間の瞬間誤差が所定の閾値誤差を特定の期間下回った場合にトレーニングモードから自律モードに移行し得る。そのため、現在開示のシステム及び方法は、ロボット溶接システムの動作のトレーニングモードと自律モードの間を移行する特定の方法に限定されないことを理解すべきである。
【0019】
ロボット溶接システムの動作の目標軌道は、形成されるべき特定の種類の溶接物及びロボット溶接システムの動きの自由度に応じて、任意の適切な数及び種類の動作パラメータを含み得る。例えば、一部の実施形態では、溶接軌道は、望ましい全体的な目標軌道を提供するために、連続的に及び/又は互いに同時のいずれかで行われ得る複数の個別の動きを含み得る。例えば、一部の実施形態では、目標軌道は、正弦関数及び線形関数の組み合わせとしてモデル化され得る。そのため、一連のパラメータは、ロボット溶接トーチの動きの様々な自由度の動作のための周波数、振幅、位相角、線形速度及びバイアスを含み得る。もちろん、任意の適切な方法を用いて目標軌道がモデル化され得るため、正弦関数及び線形関数の組み合わせとして目標軌道をモデル化する必要はない。例えば、パラメトリックモデル及び非パラメトリックモデルの両方を含む任意の適切なリアルタイムモデルを用いて目標軌道が生成され得る。もちろん、必要に応じて非リアルタイムモデルが用いられてもよい。
【0020】
本明細書で説明する様々な方法及びシステムは、測定された基準軌道から目標軌道の動作パラメータを決定するための適切な推定技術を用いり得る。例えば、逐次最小二乗法(「RLS」)推定、拡張カルマンフィルタ及び/又は任意の他の適切なリアルタイム推定方法が用いられ得る。加えて、場合によっては、目標軌道の1つ以上の他の動作パラメータを決定する前に、測定された基準軌道の周波数を推定することが望ましい場合がある。そのような実施形態では、例えば、離散フーリエ変換(「DFT」)アルゴリズムを含む任意の適切な周波数推定方法が用いられ得る及び/又は任意の他の適切なアルゴリズムが用いられ得る。もちろん、上記の例示の実施形態はパラメトリック推定技術を説明しているが、このプロセスは、例えば、ガウス過程フィッティング等の非パラメトリック推定技術に基づく目標軌道も生成し得る。
【0021】
トレーニング時間を短縮するのを支援するために、目標軌道の動作パラメータの初期推定値をリアルタイム推定器に提供することが望ましい場合がある。そのような実施形態では、溶接トーチからの一連の初期データに基づく初期推定値が用いられ得る。例えば、一連の初期データは溶接作業の数秒間にわたって収集され得る。その後、データはプロセッサが分析するためのバッファに記憶され得る。プロセッサは一連のデータに基づいてパラメータを推定し、その結果得られた目標軌道の初期推定値は、目的の解に収斂する時間を短縮し得るその後の改良のためにリアルタイム推定器に入力され得る。
【0022】
ロボット溶接システムがトレーニングモードから自律モードに移行すると、ロボット溶接システムは、オペレータに自律モードに変更することを警告する機能を含めることが望ましい場合がある。一部の実施形態では、ロボット溶接システムは、プロセッサがオペレータの目標パターン又は軌道を学習し、自律動作に切り替わることをオペレータに知らせるために、光、音又はその他のインジケータ等の表示を人間のオペレータに提供し得る。そのため、人間のオペレータは、例えば、別のロボット溶接システムにパターン又は軌道を実証する等の他のタスクを自由に行え得る。例えば、ロボット溶接システムは、ロボット溶接システムがトレーニングモード、自律モードに入ること及び/又はトレーニングがほぼ完了したことを示すために、点灯、消灯、色の変化、点滅及び/又はパターンの表示を行い得る表示灯又は一連の表示灯を含み得る。あるいは、一部の実施形態では、ロボット溶接システムは、ロボット溶接システムがトレーニングモード、自律モードに入るか及び/又はトレーニングがほぼ完了した場合に1つ以上の表示音を発するように構成されたスピーカーを含み得る。もちろん、警告表示は光及び音の表示のみに限定される必要はなく、他の適切な警告表示も考えられる。
【0023】
ロボット溶接トーチの手動操作に関連する感知された動作パラメータを提供するために、ロボット溶接システムは、様々アーム、関節、支持ベースの動き及び/又は溶接トーチに動きを与えることが可能な他のコンポーネントに関連する任意の適切なセンサの組み合わせを含み得る。例えば、一部の実施形態では、自走式キャリッジの動き(例えば速度及び方向)が1つ以上のセンサで監視され得る一方で、支持対に対するロボットアームの動きが1つ以上の追加のセンサで監視され得る。適切な種類のセンサの例としては、限定されないが、慣性測定装置、3軸加速度計、ジャイロスコープ、磁力計、赤外線運動センサ、エンコーダ、線形可変差動トランス、速度計、光学センサ、レーザセンサ及び/又は任意の他の種類のセンサが挙げられる。センサは、ロボット溶接システムのコンポーネントの相対位置(角度及び/又はデカルト)、速度、方向、周波数、距離及び/又は任意の他の適切な動作パラメータ等の情報を感知するように構成され得る。
【0024】
上述したように、一部の実施形態では、ロボット溶接システムの手動操作のための入力装置はロボット溶接トーチ自体を含み得る。そのような実施形態では、オペレータはロボット溶接システムの溶接トーチを用いて溶接作業を先ず実行し、それらが従来の溶接作業を実行する間に溶接トーチの命令軌道を決定するために溶接トーチの動きを監視される。しかしながら、オペレータによりそのような方法で溶接トーチを動かすようにするには、ロボット溶接システムの1つ以上のアクチュエータをバックドライブ可能にして、トレーニングの間にオペレータによるトーチの動きの範囲を不当に制限することなく、オペレータが希望するパターンで溶接トーチを動かすことができるようにするのが望ましい場合がある。
【0025】
また、上述したように、一部の実施形態では、ロボット溶接システムは、システムの溶接トーチを手動で操作するように構成された個別の手動で操作される入力装置を含み得る。例えば、ロボット溶接システムは、モックアップ溶接トーチ又は他の手動で操作される入力を含んでもよく、ロボット溶接システムのトーチの命令軌道を特定するために、オペレータの動き等の物理的な入力が感知され得る。特定の用途に応じて、入力装置は、ロボット溶接システムに無線接続されていてもいいし、有線接続が用いられていてもよい。加えて、入力装置は、ロボット溶接システムの近くに位置し得る及び/又はロボット溶接システムのトーチの動きを制御するために、遠隔地に位置するオペレータが遠隔地に位置する入力装置を物理的に操作し得る。いずれの場合も、ロボット溶接システムの溶接トーチの動作を命令するためにユーザからの1つ以上の物理的入力を検出するために、慣性測定装置、3軸加速度計、ジャイロスコープ、磁力計、光学センサ、赤外線運動センサ又は任意の他の適切な種類のセンサ等の適切なセンサが用いられ得る。
【0026】
特定の用途に応じて、ロボット溶接システムは、任意の数及び/又は種類の自由度を、溶接トーチの動きのために有し得る。例えば、自走式キャリッジに配置された支持対は、支持体が配置される支持面と平行な1つ以上の方向に動きを提供し得る。加えて、任意の数の方向に回転自由度及び直線移動自由度の任意の組み合わせを提供するために様々なアーム、リンク及び他の構造が用いられ得る。したがって、本明細書で説明するロボット溶接システムは、開示する溶接トーチの動きの特定の数及び/又は種類の方向に限定されないことを理解すべきである。
【0027】
図面を参照して、特定の非限定の実施形態をさらに詳細に説明する。本開示は本明細書で説明する特定の実施形態のみに限定されないため、これらの実施形態に関連して説明する様々なシステム、コンポーネント、特徴及び方法は個別に及び/又は任意の望ましい組み合わせで用いられ得ることを理解すべきである。
【0028】
図1Aは、床面200と、床面200に垂直な壁210との間に形成された角部220を溶接するためにロボット溶接システム100を用いる溶接作業の一例である。ロボット溶接システム100は、自走式キャリッジ1、自走式キャリッジに配置される支持体2、溶接トーチ3、プロセッサ4及び遠隔入力装置5を含む。自走式キャリッジ1は、キャリッジ本体10、複数の車輪11を含み、ガイド12も含み得る。ガイド12は、キャリッジ本体10と隣接壁210等の近接構造物との間を一定の距離に保つように構成され得る。これにより、自走式キャリッジ1は壁210に沿って移動できる。複数の車輪11は、単一の駆動モータ、各車輪用の駆動モータを含む一組の駆動モータ又は任意の他の適切なアクチュエータ等1つ以上のアクチュエータによって駆動され得る。
【0029】
支持体2は、自走式キャリッジに対する溶接トーチ3の動き及び/又は位置を制御するために、例えば、スライドステージ20、アーム21及びクランプ22を含む1つ以上のコンポーネントを含み得る。キャリッジ本体10に取り付けられ得るスライドステージ20は、アーム21を1つ以上の主方向(すなわち、上、下、左、右)にスライドさせるように構成され得る。クランプ22は、溶接トーチ3を保持するためにアーム21の端に位置し得る。アーム21は、溶接トーチ3を自走式キャリッジ1の移動方向に平行に振動させるように構成された振動モータ又は1つ以上の他の適切なアクチュエータを含み得る。
【0030】
一部の実施形態では、溶接トーチ3はクランプ22に保持される。そのため、溶接トーチ3は、自走式キャリッジ1が壁210に沿って平行移動すると、自走式キャリッジ1の移動方向に移動し得る。さらに、溶接トーチ3は、クランプ22が振動すると、自走式キャリッジ1の移動方向と直交する方向に移動及び/又は振動し得る。つまり、自走式キャリッジ1は溶接トーチ3を第1の方向に動かし得るのに対して、アーム21は溶接トーチ3を第1の方向と直交する第2の方向に動かし得る。
【0031】
プロセッサ4は、実行された場合に、プロセッサ及び開示のロボット溶接システムに本明細書で説明する様々な方法を行わせるプロセッサ読み取り可能命令を含む、1つ以上の非一時的プロセッサ読み取り可能媒体の形態の関連メモリを含み得る。そのため、プロセッサは、ロボット溶接システムの動作を監視すること及び動作を制御することの双方を行い得る。例えば、プロセッサは、ロボット溶接システム100の1つ以上のアクチュエータを制御することにより、特定の軌道に沿って溶接トーチ3の動作を制御し得る。例えば、プロセッサ4は、自走式キャリッジ1の複数の車輪11を作動させ得るか又はアーム21の振動モータを作動させ得る。
【0032】
前で説明したように、遠隔入力装置5は、オペレータOPが溶接トーチ3の動きを遠隔制御できるようにし得る。例えば、遠隔入力装置5は、IMU(慣性計測装置)又は他の適切なセンサ及び通信アレイを含み、オペレータOPの動きに関連するデータを感知し、ロボット溶接システム100のプロセッサに該データを送信する。そのため、遠隔入力装置5を動かすことにより、IMUはオペレータOPの手の動きを検出する。次に、通信アレイは、IMUによって検出されたオペレータOPの手の動きをプロセッサ4に送信(入力)する。さらに、遠隔入力装置5及びプロセッサ4は、有線又は無線接続を介して接続され得る。しかしながら、前で説明したように、他の種類の入力装置及び通信戦略を用いてもよい。
【0033】
図1Bは、
図1Aに関連して上述したものと同様のロボット溶接システム100Aを用いる溶接作業の一例を示す。例示の実施形態では、オペレータOPは溶接トーチ3を直接操作する。
図1Aの実施形態とは異なり、本実施形態は遠隔入力装置5を含まない。代わりに、プロセッサ4は、溶接トーチ3に配置された1つ以上のセンサ及び/又は支持体2に配置された1つ以上のセンサから受信した、スライドステージ20、アーム21及びクランプ22、自走式キャリッジのアクチュエータ及び/又はホイール11等のコンポーネント及び/又は溶接トーチを動かすために用いられ得る他のコンポーネントに関連するデータに基づいて、溶接トーチ3の軌道に関するデータを収集し得る。もちろん、ロボット溶接システム100は、
図1A及び
図1Bに示す構成に限定される必要はない。例えば、本明細書で説明する方法及びシステムは、限定されないが、溶接トーチを動かすための関節式ロボットアーム、溶接トーチをプレレイド軌道に沿って動かすためのカート及び/又は任意の他の適切な構成を含む、溶接作業を行うことが可能な任意のロボットシステムと共に用いられ得る。
【0034】
図2は、本開示の一実施形態に係るロボット溶接システムをトレーニングする方法を示すフローチャートである。ステップS1で、オペレータOPは、溶接トーチ3を直接操作することにより又は遠隔入力装置5で溶接トーチ3を制御することにより、溶接トーチ3を手動で操作する。前で説明したように、オペレータOPは、ロボット溶接システム100を角部210に沿って配置し得る。オペレータOPは、ガイド12及びスライドステージ20を調整することにより、溶接トーチ3の位置を調整し得る。オペレータOPは、入力装置5又は溶接トーチ自体を手に持って、溶接トーチを制御し得る。加えて、ロボット溶接システム100は、プロセッサ4によって制御されるガイド12及びスライドステージ20の調整機構(図示せず)を含み得る。そのため、プロセッサ4は、遠隔入力装置5の動作に基づいて調整機構を制御することにより、ガイド12及びスライドステージ20を調整するように構成され得る。
【0035】
ステップS1で、アーム21は、遠隔入力装置5及び/又は溶接トーチの操作(入力)基づいて溶接トーチ3を振動させ、オペレータOPの手の動きを測定する。ステップS2の間に、溶接トーチ3はオペレータOPによって手動で操作され、プロセッサ4は溶接トーチ3の軌道に関するデータをバッファに記憶する。プロセッサ4は、所定の条件が満たされるまで、溶接トーチ3の軌道に関するデータの記憶を続ける。所定の条件は、所定の回数の周期的な振動動作、所定の時間間隔、所定の溶接長さ又は任意の他の適切な条件であり得る。もちろん、プロセッサ4は、ステップS2及び関連するステップS3及びS4をスキップしてもよい。
【0036】
ステップS3では、プロセッサ4は、バッファに記憶されたデータに基づいて、手動操作の間の溶接トーチ3の軌道の周波数の推定に進む。例えば、プロセッサ4は、離散フーリエ変換又は任意の他の適切な推定方法を用いて、溶接トーチ3の軌道の周波数を推定し得る。プロセッサ3が、離散フーリエ変換又は任意の他の推定方法を用いて、溶接トーチ3の軌道の周波数を推定すると、プロセッサ4はステップS4に進む。もちろん、ステップS3は任意であるため、プロセッサ4はステップS3をスキップして、ステップS4又はステップS5のいずれかに進んでもよい。
【0037】
ステップS4で、プロセッサ4は、バッファに記憶されている溶接トーチの検出された初期の動きを用いて、目標軌道(すなわち、自動化された軌道)の初期推定値を生成する。プロセッサ4は、ステップS3で推定された周波数に少なくとも部分的に基づいて目標軌道の初期推定値を生成し得るが、プロセッサ4はバッファに記憶されたデータのみに基づいて目標軌道の初期推定値を形成してもよい。プロセッサ4は、推定のバッチ最小二乗法又は任意の他の適切な推定方法を用いて、目標軌道の初期推定値を形成し得る。プロセッサ4が目標軌道の初期推定値を生成すると、プロセッサ4はステップS5に進む。もちろん、ステップS4は任意であるため、プロセッサ4はステップS4をスキップして、ステップS1、S2又はS3のいずれかからステップS5に進んでもよい。
【0038】
ステップS5では、プロセッサ4は、リアルタイム推定器を用いて目標軌道を推定する目的で、溶接トーチ3の動きのリアルタイムの検出を再開する。ステップS5では、プロセッサ4は、データをバッファに記憶するのではなく、溶接トーチ3からデータを連続的に収集が、感知されたデータのためにバッファが用いられる実施形態も考えられる。
【0039】
ステップS6では、プロセッサ4は、ステップS5で収集されたデータを用いて、溶接トーチ3の検出された動きをリアルタイムで用いて目標軌道を生成する。目標軌道は、リアルタイム推定器を用いて決定しもよく、一部の実施形態では、ステップS4で生成される目標軌道の初期推定値、ステップS3で生成される周波数推定値及び/又はS5の溶接トーチの検出された動きに少なくとも部分的に基づき得る。プロセッサ4は、逐次最小二乗法、ガウス過程フィッティング又は拡張カルマンフィルタ等の任意の適切な線形又は非線形リアルタイム推定方法を用いて目標軌道を生成し得る。プロセッサ4が目標軌道を生成すると、ステップS7に進む得る。
【0040】
ステップS7では、プロセッサ4は、ステップS6で生成された目標軌道と、溶接トーチの動きを検出するために用いられる1つ以上のセンサでリアルタイムに測定された溶接トーチ3の感知された命令軌道と比較する。プロセッサ4は、所定の時間ステップで1つ以上の自由度、場合によっては各自由度における目標軌道と命令軌道との間の誤差(すなわち、差異)計算することにより、目標軌道と命令軌道とを比較する。プロセッサ4は、目標軌道と命令軌道との間の誤差の差、分散、標準偏差又は任意の他の適切な測定値を計算することにより誤差を計算し得る。プロセッサ4が誤差(すなわち、目標軌道と命令軌道との間の収斂の尺度)を計算すると、プロセッサ4はステップS8に進む。
【0041】
ステップS8で、プロセッサ4は、ステップS7で計算された1つ以上の自由度の誤差値を1つ以上の所定の閾値誤差と比較する。閾値誤差は、各自由度で同じあっても、自由度によって異なっていてもよい。あるいは、一部の実施形態では、自由度の平均誤差が閾値と比較され得る。いずれの場合も、1つ以上の誤差値、平均又は誤差の他のメトリックがそれぞれの誤差閾値よりも大きい場合、プロセッサ4はステップS5~S8を繰り返し、溶接トーチの実際に感知された軌道により近い更新された目標軌道を特定する。あるいは、各自由度の誤差値、誤差値の平均又は他のメトリックがそれぞれの1つ以上の誤差閾値以下の場合、プロセッサ4はステップS9に進み、プロセッサは、さらなるオペレータ入力を必要とせずに、プロセッサが決定された目標軌道に基づいて溶接トーチの動きを制御するロボット溶接装置100の自律動作に移行する。
【0042】
図3は、3次元空間でモデル化された溶接トーチ3の位置を示す。一部の実施形態では、溶接トーチ3は軸対称であり得るため、溶接トーチ3の軌道は、3つの並進自由度及び2つの回転自由度の5つの自由度で表され得る。
図3に示すように、x、y及びzは3つの並進自由度を表し、α及びβのそれぞれは回転自由度を表す。そのため、任意の時間における溶接トーチ3の位置は長さ5のベクトルとして表され、各エントリは溶接トーチ3の1つの自由度に対応する。
【0043】
図4は、手動操作の間の溶接トーチ3の例示の軌道を示す。例えば、軌道102は、手動操作の間の溶接トーチ103の先端の経路を表す。理解されるように、軌道102は、一次元、二次元又は三次元の形状を取り得る。軌道102が二次元又は三次元の形状を取る場合、軌道は一連のパラメトリック関数として表され得る。例えば、軌道102が三次元の場合、軌道102は、時間関数であるx成分、時間関数であるy成分及び時間関数であるz成分の3つの関数を用いて表され得る。もちろん、軌道102が二次元の場合、時間関数であるx成分及び時間関数であるy成分として同様にパラメータ化され得る。また、本開示は限定されていないため、任意の他の適切なパラメータのセット及び/又は非パラメータベースのモデルも用いられ得ることを理解すべきである。
【0044】
図5A~
図5Eは、x-y平面内の軌道と、x及びy方向における位置-時間として表される溶接トーチ3の例示の2次元軌道を示す。
図5A~
図5Eのそれぞれの上側のグラフでは、横軸がx軸(溶接方向)であり、縦軸がy軸(振動方向)である。中央のグラフでは、横軸が時間であり、縦軸がx軸(溶接方向)である。下側のグラフでは、横軸が時間であり、縦軸がy軸(振動方向)である。
図5Aは凸状の溶接軌跡を示す。
図5Bは凹状の溶接軌跡を示す。
図5Cはジグザグな溶接軌跡を示す。
図5Dは、
図8の溶接軌跡を示す。
図5Eは円形の溶接軌道を示す。
【0045】
図6は、ロボット溶接システム100を用いた溶接作業の間の軌道の例を示す。
図6の上側のグラフは横軸をx軸(溶接方向)として、縦軸をy軸(振動方向)として示す。
図6の中間のグラフでは、横軸が時間であり、縦軸がy軸(振動方向)である。
図6の下側のグラフでは、横軸が時間であり、縦軸がx軸(溶接方向)である。セクション301は手動操作の間の溶接トーチ3の軌道に対応する。図中、この部分は実線で表されている。部分301では、離散フーリエ変換を用いて軌道の周波数を推定するか又はバッチ最小二乗法近似を用いて目標軌道の初期推定値を生成するために、溶接トーチ3の軌道に関するデータがバッファに記憶され得る。セクション302では、プロセッサ4は逐次最小二乗法推定を用いて目標軌道をリアルタイムで推定する。プロセッサ4は、命令軌道と目標軌道との間の誤差が各自由度における所定の誤差を下回るまで、この推定の実行を続ける。セクション302は鎖線を用いて示されている。セクション303では、プロセッサ4は、セクション302で計算された目標軌道に従って、ユーザ入力なしに溶接トーチ3を自律的に操作する。セクション303は等間隔の破線を用いて示されている。
【0046】
図7は、ロボット溶接システム100のプロセッサ4のデータフローを示す概略図である。一部の実施形態では、1つ以上の運動センサ104は、初期の手動溶接作業の間の遠隔入力装置5(すなわち、モックアップトーチ)又は溶接トーチの動きに関するデータを収集する。データはバッファに収集された後、周波数推定器106に送信され、周波数推定器は上述の方法論に従って軌道の周波数を推定する。一部の実施形態では、データはその後、周波数推定器106によって推定された周波数に少なくとも部分的に基づいて、目標軌道の初期推定値を生成するバッチ最小二乗法推定器108又は他の推定器に送られる。その後、目標軌道の初期推定値は、周波数発生器106で推定された周波数、バッチ最小二乗法推定器108で生成された目標軌道の初期推定値及び/又は溶接トーチの感知された/命令された動きに部分的に基づいて目標軌道を決定する逐次最小二乗法推定器110又は他の適切なリアルタイム推定器に提供される。もちろん、データは、バッチ最小二乗法推定器108をスキップして、逐次最小二乗法推定器110に直接提供されてもよい。逐次最小二乗法推定器110から、データは、周波数推定器106、バッチ最小二乗法推定器108及び逐次最小二乗法推定器110によって分析された統計データを受け取り、それらのデータに基づいて目標軌道を生成する軌道生成器112に提供される。次に、検証モジュール114は、前で説明したように、目標軌道を溶接トーチ3の命令軌道と比較する。最初に、ロボット溶接システム100はトレーニングモードにあり、第1のスイッチ118は閉じ、第2のスイッチ120は開いて、溶接トーチの軌道の制御は、オペレータによって提供される入力によって制御される。しかしながら、目標軌道と命令軌道との誤差は所定の閾値誤差未満であると検証モジュール114が判定した場合、検証モジュール114はスイッチ118を開き、スイッチ120を閉じて、ロボット溶接システムの自律動作を可能にし得る。自律モードでは、軌道追跡コントローラ116は、決定された目標軌道に従って溶接トーチ3を操作し得る。
【0047】
実施例:実験の方法論
【0048】
一実施例によれば、発明者らは、溶接トーチの動きのパラメトリックモデルと、人間の溶接作業者の動きからパラメータを推定するアルゴリズムとを開発した。溶接トーチの位置及び向きは、下記のように定義されるベクトルで表される。
【0049】
【0050】
溶接トーチのノズルは、例えば
図3に示すように軸対称であるため、自由度の合計は5つである。発明者らは、溶接線は区分的で、真っすぐ且つ均一であると仮定したため、トーチの動きは直線の各セグメントで変化しなかった。通常、人間の溶接作業者は、振動動作であるウィービングと組み合わせて、一定の移動速度又はフィード速度でトーチを動かす。そのため、発明者らは、各トーチの位置及び向きx
i(t)を正弦関数及び線形関数の組み合わせとしてモデル化した。
【0051】
【0052】
上記の式において、A
iは振幅であり、f
iは周波数であり、ψ
iは位相角であり、a
iは直線速度であり、b
iは一定バイアスである。本発明者らは、x軸及びy軸がそれぞれ溶接進行方向及びスイング方向に対応すると仮定する。この提案されたモデルx(t)は、ストリンガービード経路(溶接継手に沿った真っすぐなビード経路)と、溶接作業者が一般的に用いる典型的なウィーブビード経路、凸状、凹状、
図8、円形及び他の適切な経路を表し得る。軌道は、一定のサンプリング間隔Δt及びサンプルインデックスkを有する、下記の離散時間形式で表すことができる。
【0053】
【0054】
軌道関数は以下のようにパラメータ化できる。
【0055】
【0056】
【0057】
上記の式において、xi(k)は、人間の実証により得られたトーチ追跡データストリームに対応する。問題は、周波数fiやパラメータベクトルθi等の未知のパラメータを推定することである。その非線形性を考慮して、アルゴリズムは、逐次最小二乗法でθiを推定する前に、離散フーリエ変換を用いてfiを推定する。fiの値が推定されると、逐次最小二乗法推定アルゴリズムを実行できる。
【0058】
DFTには特定数のデータポイントが必要なため、追跡データはバッファに記憶された。データ長は、スイング動作の周波数が例えば1Hz前後の場合、数秒であり得る。格納されたデータセットにハン窓が適用され、推定周波数の解像度を上げるためにゼロパディングを用いた。追跡データは線形成分を有するため、DFT結果は2つのピークを有する。1つのピークは線形成分により0Hz前後にあり、もう1つのピークが答えである。得られたピーク値が推定周波数として特定された。周波数比fx=fyは、厳密に0、1又は2であり得る。fx及びfyが推定された後、それらの比率が計算され、閾値によって最も近い標準値に分類された。その後、fxはfx=0、fx=fy又はfx=2fyに置き換えられる。DFTによるfyの推定結果は、y(t)が線形成分を有さないため、通常、fxの推定結果よりもより正確であるため、fxは、fyによって定義される値に置き換えられた。したがって、fx及びfyの推定値が得られた。
【0059】
推定周波数が得られると、逐次最小二乗法により未知のパラメータベクトルθ
iが推定された。逐次最小二乗法を実行する前に、DFT計算に用いられるデータからパラメータの初期推定値が得られた。記憶されたデータにバッチ最小二乗法アルゴリズムが適用され、周波数はDFTによって得られた推定周波数(外1)
に置き換えられた。この方法は、未知のパラメータ、すなわち(外2)
の初期値を提供する。初期推定値が得られた後、スライディングDFTは(外3)
を更新し、それを逐次最小二乗法アルゴリズムに供給した。(外4)
を推定するために、忘却因子を用いて下記の逐次最小二乗法アルゴリズムを適用した。
【0060】
【0061】
上記の式において、P
i(k)は共分散行列であり、ρ
kは忘却因子(0<ρ
k≦1)であり、P
i(0)は正定値行列である。(外5)
が得られると、基準軌道を以下のように生成できる。
【0062】
【0063】
溶接トーチが従うように基準軌道(外6)
がロボット溶接システムのコントローラに供給された。忘却因子のため、逐次最小二乗法アルゴリズムは、最近のデータにより重みを与えるパラメータを出力し、古いデータよりも優れたフィッティング結果を出力した。この方法は入力軌道と基準軌道との間の接続を滑らかなものにした。
【0064】
推定軌道(外7)
は滑らかな接続を有するが、人間の溶接作業者による入力軌道x
iと大域的な類似性(global similarity)を有する。滑らかな接続を提供するために、軌道の二乗誤差、すなわち(外8)
が観測された。この二乗誤差は、予め定義された閾値ε
iよりも小さくなければならない。大域的な類似性については、推定振幅(外9)
を入力軌道の平均ピーク値(外10)
と比較した。入力軌道のピーク振幅はピーク検出アルゴリズムによって得られ、平均値(外11)
は逐次的に計算された。推定振幅は推定パラメータ(外12)
及び(外13)
を用いることにより計算された。なお、人間の手の動きは必然的にランダムなゆらぎを有するため、推定パラメータθ
iは通常収斂しない。これが、パラメータ収斂解析の代わりに(外14)
及び(外15)
の瞬時値を用いた理由である。
【0065】
実施例:合成データを用いた軌道トレーニング
【0066】
手の動きデータの前に、2次元合成信号を用いて開発したアルゴリズムをテストした。信号は凸形経路をシミュレートし、ランダムなノイズを持つ2つの関数(x(t)=0.6sin(2π×2.0×t+π/2)+3.0t+1.0及びy(t)=18sin(2π×1.0×t+パイ)で構成された。離散フーリエ変換(DTF)の窓長として3.0秒が選択された。DFTによって推定された周波数fx及びfyはそれぞれ1.97Hz及び1.00Hzであった。fxは2fy=2.00Hzに置き換えられた。テスト信号はアルゴリズムにストリーミングされ、データの最初の3.0秒がDFTのためにバッファに記憶された。周波数が計算された後、逐次最小二乗法パラメータ推定が開始された。収斂基準は、全てのパラメータの変化が1%未満であることであった。収斂時間は0.5秒であった。
【0067】
実施例:手の動作データを用いた軌道トレーニング
【0068】
開発された仮想実験プラットフォームを用いて、本発明者らは動きトラッキングデータのリアルタイム分析及びシームレスな制御遷移を実証した。凹形経路及び円形経路がテストされた。仮想環境では、ロボットによって実行されるタスクが平面溶接であり、垂直方向(z方向)のトーチの動きがガイドシステム(例えば、機械式ジョイント追跡機構又はセンサベースの追跡システム)によって制約されている状況を想定した。この制約により、溶接タスクの間トーチの高さは一定であり、トーチの動きは2次元の動きであると考えられた。このテストでは、人間の実証者は均一な経路を維持することを試みた。実証者は均一な経路を作ろうとしたが、経路の形状にはランダムな歪みがあった。しかしながら、開示されたアルゴリズムは、人間の手の動きと滑らかにつながる2次元経路及び基準軌道を作ることに成功した。逐次最小二乗法プロセスを完了するのに0.90秒かかった。生成された軌跡及び結果として得られた二次元パスは滑らかに接続され、人間の実証者によって作成された入力信号に類似していた。この場合の逐次最小二乗法処理時間は1.75秒であった。
【0069】
本明細書で説明する技術の上記の実施形態は、多くの方法のいずれかで実施され得る。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施され得る。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピュータ装置で提供されるか又は複数のコンピュータ装置の間で分散されるかにかかわらず、任意の適切なプロセッサ又は一群のプロセッサで実行できる。そのようなプロセッサは、CPUチップ、GPUチップ、マイクロプロセッサ、マイクロコントローラ又はコプロセッサ等の当該技術技術で知られている市販の集積回路コンポーネントを含む、集積回路コンポーネントに1つ以上のプロセッサを含む集積回路として実施され得る。あるいは、プロセッサは、ASIC等のカスタム回路又はプログラム可能なロジックデバイスを構成した結果のセミカスタム回路で実装され得る。さらに別の方法として、プロセッサは、市販されたものか、セミカスタムなものか、カスタムなものかかわらず、より大きな回路又は半導体デバイスの一部であり得る。具体的な例として、一部の市販のマイクロプロセッサは、それらのコアの1つ又はサブセットがプロセッサを構成し得るように、複数のコアを有し得る。しかしながら、プロセッサは、任意の適切な形式の回路を用いて実装され得る。
【0070】
また、プロセッサが含まれ得るコンピュータ装置は、ラックマウントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、組み込みプロセッサ又はタブレットコンピュータ等の多くの形式のいずれかで具現化され得ることを理解すべきである。加えて、コンピュータ装置は、パーソナルデジタルアシスタント(PDA)、スマートフォン、タブレット又は任意の他の好適なポータブル又は固定型電子装置を含む、一般的にコンピュータ装置とは見なされていないが、好適な処理能力を有する装置に組み込まれ得る。
【0071】
また、本明細書で概説した様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのうちのいずれか1つを採用する1つ以上のプロセッサで実行可能なソフトウェアとしてコード化され得る。加えて、そのようなソフトウェアは、多数の適切なプログラミング言語及び/又はプログラミング若しくはスクリプトツールのいずれかを用いて記述されてもよく、フレームワーク又は仮想マシン上で実行される実行可能な機械語コード又は中間コードとしてコンパイルされ得る。
【0072】
この点について、本明細書で説明する実施形態は、1つ以上のコンピュータ又は他のプロセッサ上で実行された場合に、上記で説明した様々な実施形態を実施する方法が行われる1つ以上のプログラムでエンコードされたプロセッサ読み取り可能記憶媒体(又は複数のプロセッサ読み取り可能媒体)(例えば、コンピュータメモリ、1つ以上のフロッピーディスク、コンパクトディスク(CD)、光ディスク、デジタルビデオディスク(DVD)、磁気テープ、フラッシュメモリ、RAM、ROM、EEPROM、フィールドプログラマブルゲートアレイ若しくは他の半導体デバイスにおける回路構成又は他の有形なコンピュータ記憶媒体)として具体化され得る。前述の例から明らかなように、プロセッサ読み取り可能記憶媒体は、コンピュータ実行可能命令を非一時的な形式で提供するために十分な時間情報を保持し得る。そのようなコンピュータ読み取り可能記憶媒体は、それに記憶されたプログラムを1つ以上の異なるコンピュータ装置又は他のプロセッサにロードして、上記で説明した本開示の様々な態様が実施できるように、持ち運び可能である。本明細書で用いる「プロセッサ読み取り可能記憶媒体」という用語は、製造物又は機械であるとみなすことができる非一時的なコンピュータ読み取り可能媒体のみを含む。あるいは又はそれに加えて、本開示は、伝播信号等のコンピュータ読み取り可能記憶媒体以外のコンピュータ読み取り可能媒体として具体化されてもよい。
【0073】
本明細書では、「プログラム」又は「ソフトウェア」という用語は、上記で説明した本開示の様々な態様を実施するために、コンピュータ装置又は他のプロセッサをプログラムするために用いることができる任意の種類のコンピュータコード又はコンピュータ実行可能命令のセットのことをいう一般的な意味で用いられる。加えて、この実施形態の1つの態様によれば、実行された場合に本開示の方法が行われる1つ以上のコンピュータプログラムは、単一のコンピュータ装置又はプロセッサ上に存在する必要はなく、本開示の様々な態様を実施するために、多数の異なるコンピュータ又はプロセッサの間でモジュール方式で分散され得ることを理解すべきである。
【0074】
プロセッサ実行可能命令は、1つ以上のコンピュータ又は他の装置によって実行される、プログラムモジュール等の多くの形態にあり得る。一般に、プログラムモジュールは、特定のタスクを行うか又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、様々な実施形態において、必要に応じて組み合わせたり、分散したりされ得る。
【0075】
本明細書で説明する実施形態は方法として具現化してもよく、その一例が提供されている。方法の一部として行われる行為は、任意の適切な方法で順序付けされ得る。したがって、例示の実施形態において連続する行為として示されているが、実施形態は、例示のものとは異なる順序で行為が行われる(一部の行為を同時に行うことを含む)ように構築され得る。
【0076】
また、一部の行為は「ユーザ」によってなされるものとして説明されている。「ユーザ」は単一の個人である必要はなく、一部の実施形態では、「ユーザ」に起因する行為は、コンピュータ支援ツール又は他の機構との組み合わせて個々人のチーム及び/又は個人によって行われ得ることを理解すべきである。
【0077】
様々な実施形態及び例と併せて本教示を説明してきたが、本教示はそのような実施形態又は例に限定されることを意図したものではない。反対に、本教示は、当業者に理解されるように、様々な代替、修正及び同等物を含む。したがって、上記の説明及び図面は例示のみである。