(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024012925
(43)【公開日】2024-01-31
(54)【発明の名称】ロボットの制御方法、およびロボットの制御装置
(51)【国際特許分類】
B25J 9/10 20060101AFI20240124BHJP
B23K 9/127 20060101ALI20240124BHJP
【FI】
B25J9/10 A
B23K9/127 509E
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022114754
(22)【出願日】2022-07-19
(11)【特許番号】
(45)【特許公報発行日】2022-11-30
(71)【出願人】
【識別番号】000001199
【氏名又は名称】株式会社神戸製鋼所
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】篠崎 貴宏
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707BS12
3C707KS17
3C707KS20
3C707LT11
3C707MT04
(57)【要約】
【課題】ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正することを可能とする。
【解決手段】アーム先端部に溶接トーチを備えたロボットの制御方法であって、前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得工程と、前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記アーム先端部のずれ量とが対応付けられたデータベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定工程と、前記特定工程にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出工程と、前記導出工程にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正工程と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アーム先端部に溶接トーチを備えたロボットの制御方法であって、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得工程と、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定工程と、
前記特定工程にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出工程と、
前記導出工程にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正工程と、
を有する制御方法。
【請求項2】
前記特定工程において、複数の前記頂点に対応付けられたずれ量の情報を特定し、
前記導出工程において、前記ずれ量を、前記複数の頂点に対応付けられたずれ量の内挿補間により導出する、請求項1に記載の制御方法。
【請求項3】
前記データベースは更に、前記溶接トーチの傾斜姿勢のパラメータが対応付けられる、請求項1に記載の制御方法。
【請求項4】
前記取得工程において、前記指定点に対する姿勢情報を更に取得し、
前記導出工程において、前記指定点に対する姿勢情報と、前記特定工程にて特定された頂点に対応付けられたずれ量の情報にて示される姿勢のパラメータとの差分に基づく補間を行うことにより、前記ずれ量を導出する、
請求項3に記載の制御方法。
【請求項5】
前記取得工程において、前記指定点に対する姿勢情報を更に取得し、
前記導出工程において、前記頂点の座標情報と前記頂点における前記ロボットの姿勢情報を入力とし、前記頂点に対するずれ量を出力として学習が行われることにより生成された学習済みモデルに対して、前記指定点の座標情報と姿勢情報を入力して得られる出力を前記指定点からのずれ量として導出する、請求項1に記載の制御方法。
【請求項6】
前記取得工程にて取得された移動経路において、新たな指定点を追加する追加工程を更に有する、請求項1に記載の制御方法。
【請求項7】
前記補正工程において、前記移動経路に含まれる複数の指定点に対するずれ量に基づいて、前記移動経路に沿って前記ロボットを動作させる際の、前記ロボットの前記移動経路に対する狙い位置を補正する、請求項1に記載の制御方法。
【請求項8】
アーム先端部に溶接トーチを備えたロボットの制御装置であって、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースを保持する保持手段と、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得手段と、
前記データベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定手段と、
前記特定手段にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出手段と、
前記導出手段にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正手段と、
を有する制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの制御方法、およびロボットの制御装置に関する。
【背景技術】
【0002】
従来、ロボットを用いて溶接ビードを積層させることで積層造形物を造形することが行われている。また、溶接を自動的に行わせる場合、オペレータは溶接の経路や姿勢を予め教示することが行われている。積層造形を行う際には、その造形精度を向上させるためにロボットの姿勢や構造誤差などに起因する位置ずれを考慮して制御する必要がある。
【0003】
例えば、特許文献1では、空間中の任意の1点を複数の姿勢で教示したときのロボットの各軸の角度を検出し、複数の姿勢で教示されたツール先端の座標軸と一致させるために必要な設定誤差を算出することで自動補正を行うことが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、溶接ワイヤを用いた積層造形では、使用するロボットの性能や製造誤差などによって狙い位置がずれることがあり、そのずれが造形物の形状品質や内部品質に影響をもたらす場合がある。例えば、大型の造形物などにおいてパスが長くなると、位置ずれによる影響も大きくなり、最終的な品質にも影響する。特に、積層造形では、様々な姿勢で積層する場合や1パス当たりの長さが非常に長くなる場合もあり、また、パス数が非常に膨大になりやすいという特徴がある。そのため、個々のパスに対して事前に教示を行い、その都度、位置ずれを補正することは手間がかかり、現実的でない。更に、この位置ずれはロボットの個体差があることから、ロボットごとに応じて補正を行う必要がある。特許文献1では、個別の教示が必要であり、上記のような場合には手間の削減ができない。そのため、積層造形に係る積層計画の任意の点に対して、狙い位置のずれを自動的に補正する手法が求められていた。
【0006】
上記課題を鑑み、本発明は、ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正可能とすることを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は以下の構成を有する。すなわち、アーム先端部に溶接トーチを備えたロボットの制御方法であって、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得工程と、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定工程と、
前記特定工程にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出工程と、
前記導出工程にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正工程と、
を有する制御方法。
【0008】
また、本発明の別の一形態として、以下の構成を有する。すなわち、アーム先端部に溶接トーチを備えたロボットの制御装置であって、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースを保持する保持手段と、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得手段と、
前記データベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定手段と、
前記特定手段にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出手段と、
前記導出手段にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正手段と、
を有する。
【発明の効果】
【0009】
本発明により、ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正することが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係る積層造形システムの構成例を示す概略構成図。
【
図2A】本発明の一実施形態に係る補正量導出のためのDB構成の概念を示す概略図。
【
図2B】本発明の一実施形態に係る補正量導出のためのDB構成の例を示すテーブル図。
【
図3】本発明の一実施形態に係る補正量導出の例を示す概念図。
【
図4】本発明の一実施形態に係る位置ずれの補正処理のフローチャート。
【
図5A】本発明の一実施形態に係る補正量の導出結果を示すグラフ図。
【
図5B】本発明の一実施形態に係る補正量の導出結果を示すグラフ図。
【
図5C】本発明の一実施形態に係る補正量の導出結果を示すグラフ図。
【
図6A】本発明の一実施形態に係る指定点の追加を説明するためのグラフ図。
【
図6B】本発明の一実施形態に係る指定点の追加を説明するためのグラフ図。
【
図7】本発明の一実施形態に係るずれ量の変化を説明するためのグラフ図。
【
図8】本発明の一実施形態に係る姿勢に応じたずれ量の変化を説明するためのグラフ図。
【
図9A】本発明の一実施形態に係る姿勢に応じたずれ量の変化を説明するためのグラフ図。
【
図9B】本発明の一実施形態に係る姿勢に応じたずれ量の変換を説明するためのグラフ図。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面などを参照して説明する。なお、以下に説明する実施形態は、本発明を説明するための一実施形態であり、本発明を限定して解釈されることを意図するものではなく、また、各実施形態で説明されている全ての構成が本発明の課題を解決するために必須の構成であるとは限らない。また、各図面において、同じ構成要素については、同じ参照番号を付すことにより対応関係を示す。
【0012】
<第1の実施形態>
以下、本発明の第1の実施形態について説明を行う。ここでは、積層造形を実行可能な積層造形システムを例に挙げて説明する。しかし、本発明の本質部分を実装可能な構成であれば、これに限定するものではない。
【0013】
[システム構成]
図1は、本発明を適用可能な積層造形システムの概略構成図である。
【0014】
本実施形態に係る積層造形システム1は、積層造形装置100、および、積層造形装置100を統括制御する情報処理装置200を含んで構成される。
図1において、X軸、Y軸、Z軸にて示される3次元座標系を示す。3次元座標系の原点位置は、特に限定するものでは無いが、任意の位置が設定され、この原点位置を基準として、積層造形システム1は積層造形の動作を行う。
【0015】
積層造形装置100は、溶接ロボット104、トーチ102に溶加材(溶接ワイヤ)Mを供給する溶加材供給部105、溶接ロボット104を制御するロボットコントローラ106、および電源107を含んで構成される。
【0016】
溶接ロボット104は、多関節ロボットであり、先端軸に設けたトーチ102には、溶加材Mが連続供給可能に支持される。トーチ102は、溶加材Mを先端から突出した状態に保持する。トーチ102の位置や姿勢は、溶接ロボット104を構成するロボットアームの自由度の範囲で3次元的に任意に設定可能となっている。
【0017】
トーチ102は、シールドノズル(不図示)を有し、シールドノズルからシールドガスが供給される。シールドガスは、大気を遮断し、溶接中の溶融金属の酸化、窒化などを防いで溶接不良を抑制する。本実施形態で用いられるアーク溶接法としては、被覆アーク溶接や炭酸ガスアーク溶接等の消耗電極式、TIG溶接やプラズマアーク溶接等の非消耗電極式のいずれであってもよく、造形する積層造形物Wに応じて適宜選定される。
【0018】
トーチ102近傍には、トーチ102の動きに追従して移動可能な形状センサ101が備えられる。形状センサ101は、ベース103上に形成された積層造形物Wの形状を検知する。本実施形態では、形状センサ101により、積層造形物Wを構成する溶接ビード108(単に、「ビード」とも称する)の高さや位置、幅などを検出可能であるものとする。形状センサ101にて検出された情報は、情報処理装置200へ送信される。なお、形状センサ101の構成は、特に限定するものではなく、接触により形状を検出する構成(接触式センサ)であってもよいし、レーザなどにより形状を検出するような構成(非接触式センサ)であってもよい。なお、形成されたビードの形状を導出する手段としては、トーチ102近傍に設置された形状センサ101に限定するものではない。例えば、形成されたビードの形状を間接的に導出するような構成であってもよい。一例としては、溶接電流や溶加材Mの送給速度のプロファイルと、ビードの高さの傾向を示すDB(データベース)を予め規定しておき、造形時の溶接条件に基づいて、形成されたビードの高さを導出するような構成であってもよい。
【0019】
溶接ロボット104において、アーク溶接法が消耗電極式の場合、シールドノズルの内部にはコンタクトチップが配置され、溶融電流が給電される溶加材Mがコンタクトチップに保持される。トーチ102は、溶加材Mを保持しつつ、シールドガス雰囲気で溶加材Mの先端からアークを発生する。溶加材Mは、ロボットアーム等に取り付けた繰り出し機構(不図示)により、溶加材供給部105からトーチ102に送給される。そして、トーチ102を移動しつつ、連続送給される溶加材Mを溶融及び凝固させると、溶加材Mの溶融凝固体である線状の溶接ビード108がベース103上に形成される。溶接ビード108が積層されることで、積層造形物Wが造形される。
【0020】
なお、溶加材Mを溶融させる熱源としては、上記したアークに限らない。例えば、アークとレーザとを併用した加熱方式、プラズマを用いる加熱方式、電子ビームやレーザを用いる加熱方式等、他の方式による熱源を採用してもよい。電子ビームやレーザにより加熱する場合、加熱量を更に細かく制御でき、溶接ビード108の状態をより適正に維持して、積層造形物Wの更なる品質向上に寄与できる。
【0021】
ロボットコントローラ106は、情報処理装置200からの指示に基づき、所定の駆動プログラムにより溶接ロボット104を駆動させ、ベース103上に積層造形物Wを造形させる。つまり、溶接ロボット104は、ロボットコントローラ106からの指令により、溶加材Mをアークで溶融させながらトーチ102を移動させる。電源107は、ロボットコントローラ106に溶接に要する電力を供給する溶接電源である。電源107は、複数の制御モードで動作可能であり、制御モードに応じて、ロボットコントローラ106への電源供給の際の電力(電流や電圧など)を切り替えることが可能である。溶加材供給部105は、情報処理装置200からの指示に基づき、溶接ロボット104のトーチ102への溶加材Mの供給および送給速度を制御する。
【0022】
情報処理装置200は、例えば、PC(Personal Computer)などの情報処理装置などであってよい。
図1に示す各機能は、不図示の制御部が、不図示の記憶部に記憶された本実施形態に係る機能のプログラムを読み出して実行することで実現されてよい。記憶部としては、揮発性の記憶領域であるRAM(Random Access Memory)や、不揮発性の記憶領域であるROM(Read Only Memory)やHDD(Hard Disk Drive)などが含まれてよい。また、制御部としては、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)、またはGPGPU(General-Purpose computing on Graphics Processing Units)などが用いられてよい。
【0023】
情報処理装置200は、造形制御部201、電源制御部202、送給制御部203、DB管理部204、形状データ取得部205、教示データ取得部206、補正量算出部207、および周辺装置制御部208を含んで構成される。造形制御部201は、造形しようとする積層造形物Wの設計データ(例えば、CAD/CAMデータなど)に基づき、造形の際のロボットコントローラ106に対する制御信号を生成する。ここでの制御信号は、溶接ロボット104によるトーチ102の移動軌跡や溶接ビード108の形成時の溶接条件、溶加材供給部105による溶加材Mの送給速度などを含む。トーチ102の移動軌跡は、ベース103上に溶接ビード108を形成している最中のトーチ102の軌跡に限定するものではなく、例えば、溶接ビード108を形成する開始位置へのトーチ102の移動軌跡なども含むものとする。
【0024】
電源制御部202は、電源107によるロボットコントローラ106への電源供給(制御モード)を制御する。制御モードに応じて、同じ形状のビードを形成する際の電流や電圧の値、電流の波形(パルス)なども異なり得る。また、電源制御部202は、電源107から、ロボットコントローラ106に対して提供している電流や電圧の情報を適時取得する。
【0025】
送給制御部203は、溶加材供給部105による溶加材Mの送給速度や送給タイミングを制御する。ここでの溶加材Mの送給制御は、繰り出し(正送給)のみならず、戻し(逆送給)も含むものとする。DB管理部204は、本実施形態に係るDB(データベース)を管理する。本実施形態に係るDBには、後述する位置ずれを補正するための補正量が規定されたデータベースが含まれる。DBの構成の詳細は後述する。形状データ取得部205は、形状センサ101にて検出された、ベース103上に形成された溶接ビード108の形状データを取得する。
【0026】
教示データ取得部206は、例えば、不図示の教示ペンダントなどを介してオペレータから教示されたパラメータを含む教示データを取得する。造形制御部201は、積層造形物Wの設計データと教示データとを用いて溶接ロボット104を制御することで積層造形物Wを造形することができる。本実施形態では、これらのデータをまとめて「積層計画データ」とも記載する。なお、積層計画データに含まれるデータは、特に限定するものではない。補正量算出部207は、後述する処理により、溶接ロボット104の製造誤差などに起因する位置ずれに対する補正量を算出する。
【0027】
周辺装置制御部208は、積層造形システム1が備える溶接ロボット104の周りに備えられた周辺装置の動作を制御する。周辺装置は、
図1では不図示であるが、例えば、積層造形物Wが造形されるベース103の位置や姿勢を調整するためのポジショナや、溶接ロボット104を所定方向にスライドさせることが可能なスライダなどが挙げられる。したがって、溶接ロボット104は、これらの周辺装置と連動して積層造形の動作を行ってよい。
【0028】
また、本実施形態に係る設計データにおける座標系と、溶接ロボット104の座標系とは対応付けられており、任意の位置を原点として、3次元における位置が規定されるように座標系の3軸(X軸、Y軸、Z軸)が設定されているものとする。
【0029】
上記構成の積層造形システム1は、設定された設計データから規定されるトーチ102の移動軌跡に従って、トーチ102を溶接ロボット104の駆動により移動させながら、溶加材Mを溶融させ、溶融した溶加材Mをベース103上に供給する。これにより、ベース103の上面に複数の線状の溶接ビード108が並べられて積層された積層造形物Wが造形される。
【0030】
[データベース]
本実施形態では、設計データにて示される積層造形物Wに対する形状データにおいて、その造形時の経路(以下、「パス」とも称する)上の点(以下、「指定点」と称する)が指定される。この指定点に対して造形を行うためにトーチ102の先端部分を配置した場合、溶接ロボット104の製造誤差などにより位置ずれが生じ得る。そこで、この位置ずれを補正するための補正量を導出するために、本実施形態では、3次元座標系における座標や姿勢ごとの補正量を定義したデータベース(以下、「ロボット誤差マップ」とも称する)を用いる。このデータベースは、例えば、溶接ロボット104のトーチ102の先端部を対象の座標に対して移動させた際の実測値に基づいて予め規定される。
【0031】
図2Aは、本実施形態に係るロボット誤差マップの概念構成を示す図である。
図2Aに示すように、ロボット誤差マップ300は、3次元空間における格子上にて、座標点301ごとに補正量が定義される。このとき、座標点間の間隔は特に限定するものでは無い。格子構造の最小単位である単位格子については、
図2Aの立方体形状に限らず三斜格子など他の形状であってもよい。また、格子構造において、すべての格子点に対してパラメータが定義されている必要はなく、一部の格子点のパラメータが未定義であってもよい。設計データの経路上に含まれる指定点がロボット誤差マップ300にて規定された座標点以外の座標である場合の処理については後述する。
【0032】
図2Bは、本実施形態に係るロボット誤差マップ300の構成例を示すテーブル図である。本実施形態では、溶接ロボット104の造形時の位置や姿勢を示すパラメータとして、3次元座標系のX軸、Y軸、Z軸それぞれの座標を示す座標情報(x,y,z)と、溶接ロボット104の先端部(例えば、トーチ102)におけるX軸、Y軸、Z軸それぞれの軸周りの回転角を示す姿勢情報(α,β,γ)を用いる。なお、座標情報は上記に限定するものではない。例えば、円筒形の座標系に対応したパラメータ(r,θ,z)が用いられてもよい。
【0033】
また、dx、dy、dzは、X軸、Y軸、Z軸それぞれ補正量を示す。言い換えると、ここで示す補正量の分だけ、位置ずれが生じているものとして、補正が行われる。
図2Bでは、(x,y,z,α,β,γ)に対応して、補正量(dx,dy,dz)が規定される。例えば、(x
111,y
111,z
111,α
111,β
111,γ
111.1)=(dx
111.1,dy
111.1,dz
111.1)が定義される。各パラメータの添え字は、
図2Aに示す格子点における位置を一意に識別するために示している。
図2Aの例の場合、27個の格子点(すなわち、座標点)があり、それらを3つの軸の位置にて識別するために設定されている。また、同じ座標点であっても姿勢によって位置ずれが異なる場合があるため、便宜上、姿勢の違いを添え字の小数点以下(.1、.2、・・・)にて示している。
【0034】
なお、ロボット誤差マップ300にて規定される補正量は、溶接ロボット104の制御で指定したい狙い位置と、トーチ102の先端位置間のずれ量に限定するものではない。例えば、制御にて指定した複数の狙い位置間を幾何学的につなぐ軌跡(例えば、直線)と、トーチ102の先端が実際に通過する軌跡との間の乖離量であってもよい。これらの補正量についてのロボット誤差マップは、それぞれ別個に定義されていてよい。積層計画データにて指定される指定点の狙い位置については、前者を参照することで導出し、指定点をつなぐ領域については後者を参照することで導出してよい。
【0035】
本実施形態に係るロボット誤差マップ300は、適宜更新されてよく、その更新方法は特に限定するものではない。また、溶接ロボット104の構成が変化したり、一定の駆動時間が経過したりしたタイミングにてロボット誤差マップ300が更新されてもよい。
【0036】
次に、ロボット誤差マップ300にて規定されていない座標の指定点に対する補正量の導出方法について説明する。まず、指定点が、ロボット誤差マップ300にて規定されている座標点に一致する場合、指定点に対する補正量は、ロボット誤差マップ300の値を用いることができる。一方、指定点が、ロボット誤差マップ300にて規定されていない座標点のいずれにも一致しない場合、その指定点の周辺に位置する座標点の補正量から導出する。
【0037】
図3は、本実施形態に係る補正量の導出方法を説明するための概念図である。ここでは、ロボット誤差マップ300に補正量が規定されていない座標に対応する指定点Pを例に挙げて説明する。指定点Pのパラメータを(x,y,z,α,β,γ)とする。まず、ロボット誤差マップ300に規定された座標点のうち、指定点Pに最も近い位置の座標点(以下、「最近接点」と称する)を特定する。ここでは、最近接点が座標点Q
ijk,nearestであるものとして説明する。
【0038】
ロボット誤差マップ300から、座標点Qijk,nearestに対して規定された補正量を取得する。ここでは、座標点Qijk,nearestに対応するX軸、Y軸、Z軸それぞれの補正量として、dx(xijk,yijk,zijk,αijk,βijk,γijk)、dy(xijk,yijk,zijk,αijk,βijk,γijk)、dz(xijk,yijk,zijk,αijk,βijk,γijk)が取得される。このとき、指定点Pと、座標点Qijk,nearestとの距離が所定の閾値より近い場合、座標点Qijk,nearestに対して規定された補正量と同じ値を、指定点Pの補正量として用いる。ここでの点間の距離に対する所定の閾値は、予め規定されていてよい。
【0039】
なお、ロボット誤差マップ300から取得された座標点Qijk,nearestの姿勢条件θqと、指定点Pに対して設定された姿勢条件θpとが異なる場合、姿勢条件θpに対応するように補間を行う。例えば、θp=(α,β,γ)、θq=(αu,βv,γw)、α=αu、β=βv、γ≠γwであるとし、γに関して線形補間を行う場合、以下の式(1)を用いて補正量dを導出することができる。
dijk(γ)=(1-t)dijk(γw1)+tdijk(γw2) ・・・(1)
ただし、0<t<1,γw1≠γw2,γw1<γ<γw2とする
【0040】
同様に、双線形補間(α=αi,β≠βi,γ≠γi)や、要素内補間(α≠αi,β≠βi,γ≠γi)の手法を用いて補間を行ってよい。これらの手法は公知であり、ここでの詳細な説明は省略する。また、補間方法は、線形補間に限定するものではなく、ラグランジュ補間のように非線形な関数を定義して求めてもよい。
【0041】
一方、指定点Pと最近接点である座標点Q
ijk,nearestとの距離が所定の閾値以上である場合、本実施形態では、新たに補正量を導出する。本実施形態では、指定点Pの周辺に位置する複数の座標点Q
ijkに対する補正量に基づいて、内挿補間により指定点Pに対応する補正量を導出する。ここでの複数の座標点Q
ijkには、最近接点である座標点Q
ijk,nearestが含まれてよく、例えば、
図3に示す単位格子の8つの座標点を用いてよい。指定点と格子上の頂点の間隔が非常に近接するため、現実のずれ量とよく整合する補正量を導出することができる。ここで着目する複数の座標点は、他の位置の座標点であってもよい。例えば、単位格子上の座標点のうち底面の4点でずれ量の情報が欠落しているなど情報量に偏りが生じている場合は単位格子より大きい格子上の座標点を参照してよく、
図2Aの格子の中心点から見て、前後左右の座標点と直上直下の計6つの座標点を用いてもよい。また、指定点Pを中心として、所定の半径Rから構成される球の範囲に含まれる複数の座標点を用いてもよい。
【0042】
上記のように、本実施形態では、格子構造において、指定点を内包するような格子の頂点を選択する。なお、指定点とその近傍の座標点との位置関係から選択する座標点の数や位置を規定してよい。
【0043】
指定点Pにおける姿勢条件θpとQijkの姿勢条件θqが異なる場合は、Qijk,nearestの時と同様な手順で姿勢条件θpに対応するように補間を行う。
【0044】
この場合の算出方法としては、例えば、最小二乗法が用いられてよい。まず、x軸方向の補正量dxに対して座標点Qijkの情報に基づいて以下のような式(2)~(5)を定義する。そして、最小二乗法を用いて式(6)により係数wを求め、指定点Pにおけるx軸方向の補正量、すなわち、ずれ量であるbを算出する。
【0045】
【0046】
【0047】
【0048】
【0049】
【0050】
なお、上記の式ではX軸方向のずれ量を求める式であるが、Y軸方向やZ軸方向についても同様に算出できる。
【0051】
[処理フロー]
図4は、本実施形態に係る指定点に対する位置ずれの補正処理のフローチャートである。本処理フローは、情報処理装置200により実行される。例えば、情報処理装置200が備えるCPUなどの処理部が
図1に示した各部位を実現するためのプログラムを記憶部(不図示)から読み出して実行することにより実現されてよい。また、本処理フローが実行される前に、ロボット誤差マップ300が規定され、また、積層造形のための積層計画データが準備されているものとする。なお、本処理フローは、積層造形の動作が開始される前に予め実施されてもよいし、積層造形の動作の際に平行して実行されてもよい。
【0052】
S401にて、情報処理装置200は、積層計画データから造形のための移動経路に関する情報を取得する。移動経路は複数の指定点から構成され、それらの情報が取得される。
【0053】
S402にて、情報処理装置200は、S401にて取得した指定点の中から、1の指定点に着目し(以下、「着目指定点」と称する)、その積層造形に係るパラメータを取得する。ここでのパラメータは、上述したように(x,y,z,α,β,γ)の6つのパラメータとする。
【0054】
S403にて、情報処理装置200は、予め規定されたロボット誤差マップ300から、着目指定点に最も距離が近い最近接点を特定し、その補正量情報を取得する。ここでの補正量情報は、X軸、Y軸、Z軸それぞれの補正量であるdx、dy、dzの3つのパラメータとする。上述したように、着目指定点の座標と最近接点の座標とが一致する場合もある。
【0055】
S404にて、情報処理装置200は、着目指定点と最近接点との距離が所定の閾値未満か否かを判定する。ここでの所定の閾値は予め規定されていてよい。着目指定点と最近接点との距離が所定の閾値未満である場合(S404にてYES)、情報処理装置200の処理はS405へ進む。一方、着目指定点と最近接点との距離が所定の閾値以上である場合(S404にてNO)、情報処理装置200の処理はS406へ進む。
【0056】
S405にて、情報処理装置200は、S403にて取得した最近接点の補正量情報を、着目指定点に対する補正量として設定する。そして、情報処理装置200の処理は、S408へ進む。
【0057】
S406にて、情報処理装置200は、ロボット誤差マップ300から、着目指定点の近傍に位置する複数の近傍座標点を特定し、それらの補正量情報を取得する。複数の近傍座標点は、例えば、
図3に示す8つの近傍の座標点であってよい。複数の近傍座標点においてパラメータが未定義の近傍座標点がある場合には、その近傍座標点に代えて他の近傍座標点のパラメータを用いてもよい。または、残りの近傍座標点、すなわち、上記の例であれば、7つの近傍座標点を用いてもよい。
【0058】
S407にて、情報処理装置200は、S406にて取得した複数の近傍座標点の補正量情報に基づいて、着目指定点に対する補正量を導出する。ここでの導出方法は、上述したように、最小二乗法に基づいて導出されてよい。そして、補正量を導出した後、情報処理装置200の処理は、S408へ進む。
【0059】
S408にて、情報処理装置200は、S405またはS407にて得られた補正量を用いて、着目指定点に対する座標、すなわち、トーチ102の狙い位置を補正する。
【0060】
S409にて、情報処理装置200は、S401にて取得した指定点のうち、未処理の指定点があるか否かを判定する。未処理の指定点がある場合(S409にてYES)、情報処理装置200の処理はS402へ戻り、処理を繰り返す。一方、未処理の指定点が無い場合(S409にてNO)、本処理フローを終了する。
【0061】
なお、上記のフローチャートにて処理対象とする指定点は、積層計画データにて示されている移動経路の全ての指定点に対して行ってもよいし、移動経路中に含まれる一部の指定点にのみ行ってもよい。また、補正は、X軸、Y軸、Z軸のいずれかの値にのみ行われてもよい。
【0062】
[制御例]
図5A~
図5Cは、指定点すなわち狙い位置に対し、本実施形態に係る手法により得られる補正量(推定値)と、実際のトーチ102の先端の位置ずれを実測することで得られた実測値とを比較した例を示す図である。補正量を精度良く推定できた場合とは、すなわち、発生する位置ずれを適切に補正できることを意味する。
図5A~
図5Cにおいて、縦軸がずれ量[mm]を示し、横軸が個々の指定点を示す。指定点の間隔は、100mmとする。また、
図5A~
図5Cにおいて、破線より左側は、姿勢情報であるα、β、γのパラメータのうちのいずれか一つが変化した場合の値を示す。また、破線より右側は、姿勢情報であるα、β、γのパラメータのうちの複数が変化した場合の値を示す。
【0063】
図5Aは、X軸方向の推定値と、実測値の結果を示す図である。
図5Bは、Y軸方向の推定値と、実測値の結果を示す図である。
図5Cは、Z軸方向の推定値と、実測値の結果を示す図である。
図5A~
図5Cに示すように、いずれの軸方向においても実測値に近い値にて、ずれ量(すなわち、補正量)を推定できている。
【0064】
以上、本実施形態により、ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正することが可能となる。このとき、予め規定されたロボット誤差マップに含まれていない座標に対しても精度良く位置ずれを補正することが可能となり、オペレータの手間を削減することが可能となる。
【0065】
[変形例1]
本実施形態の変形例について説明する。積層計画データにて指定された移動経路に沿ってトーチ102を動かす場合を考える。このとき、移動経路の位置ごとにずれ量は変動し得る。
図6Aは、移動経路600におけるずれ量の変化を説明するための図であり、縦軸はX軸方向を示し、横軸はY軸方向を示す。また、
図6A中のハッチングは、XY平面上におけるずれ量を示す。例えば、移動経路600があり、そこに指定点601と指定点602が含まれているものとする。
【0066】
移動経路600は、ずれ量が異なる4つの領域にまたがっている。また、指定点601と、指定点602とでは、ずれ量が異なっている。ここで、指定点601と指定点602をそれぞれのずれ量を補正した場合であっても、その中間部分はずれ量が異なるため、中間部分の精度が積層計画データにて指定された経路から乖離してしまう場合が想定される。
【0067】
そこで、
図6Bに示すように移動経路中に新たな指定点を追加する。
図6Bの例では、2つの指定点611、612を追加している。指定点を追加し、これらも補正の対象として扱うことでより精度良く移動軌跡全体を補正することが可能となる。指定点を追加するか否かの判断は、例えば、
図6Aのようにずれ量が違う複数の領域が分けられた際に、移動経路がまたがる領域数と、移動経路に含まれる指定点の数を比較し、移動経路がまたがる領域数の方が多い場合に、指定点を追加してよい。なお、ずれ量に応じて領域を分割する際には、
図6Aに示す例に限定するものではなく、より細かい分類で行われてもよい。
【0068】
また、
図7は、
図6Aを別の表現にて位置ずれの分布を説明するためのグラフ図である。溶接ロボット104のある姿勢にて指定点701から指定点702までのX軸方向に沿った移動経路にてトーチ102を動かした場合のY軸方向のずれ量を示す図である。指定点701と指定点702の座標に基づいてずれ量を特定し、補正を行った場合でも、指定点701と指定点702の座標の中間部分は位置ずれ(軌跡誤差)が生じ得る。したがって、ある指定点のずれ量に基づいて、ある指定点に対する位置ずれを補正することに限定するものではなく、移動経路に含まれる複数の指定点に対して推定されたずれ量から、経路全体に対する補正量を決定してもよい。
【0069】
[変形例2]
図8は、同じ狙い位置に対して、溶接ロボット104の姿勢のパラメータの1つであるβを切り替えた際に発生するずれ量の変化を示す図である。
図8において、縦軸はずれ量を示し、横軸はβの値を示す。
図8の例によると、βの値が0の場合に、ずれ量を略0にすることができる。つまり、同じ狙い位置であっても、姿勢を変化させることで位置ずれを抑制できる場合がある。
【0070】
図9Aおよび
図9Bは、溶接ロボット104の姿勢ごとのずれ量の変化を示す図である。
図9Aは、移動経路901上において、3つの指定点902、903、904が含まれる例を示している。そして、溶接ロボット104が、起点905を基準として、3つの姿勢906a、906b、906cを切り替えながら積層造形を行う概略を示している。ここでは、溶接ロボット104が、姿勢906aにて指定点902を狙い位置とし、姿勢906bにて指定点903を狙い位置とし、姿勢906cにて指定点904を狙い位置としたとする。
【0071】
図9Bにおいて、姿勢906aの場合のずれ量は、
図9Bのグラフ912に対応する。姿勢906bの場合のずれ量は、
図9Bのグラフ911に対応する。姿勢906cの場合のずれ量は、
図9Bのグラフ913に対応する。つまり、姿勢(ここでは、パラメータβ)によって生じるずれ量が異なる。
図9Bの例の場合、姿勢906bを維持した状態で、βの値を切り替えながら造形を行うことができれば、ずれ量を抑制して精度の高い造形が可能となる。このような場合を想定して、溶接ロボット104は、姿勢を維持した状態で移動が可能とするためのスライダなどを設けてよい。よって、情報処理装置200は、溶接ロボット104を姿勢906bにて固定した状態で、起点905をスライダなどで動かすことで、造形の精度を向上させることが可能となる。
【0072】
[変形例3]
上記の構成では、式(2)~式(6)に示したように最小二乗法を用いて補正量を算出した。これに代えて、指定点Pに対する補正量を機械学習により得られる学習済みモデルを用いて導出してもよい。この場合は、式(2)~式(6)のパラメータのうち、A行列の各パラメータを入力とし、b行列の各パラメータ(すなわち、補正量)を出力とする学習処理を繰り返すことで、学習済みモデルを生成して用いてもよい。なお、学習の際に用いられる入力データ(パラメータ)は、溶接ロボット104の座標情報や姿勢情報の一部または全部であってよい。または、指定点の座標情報や姿勢情報、およびロボット誤差マップ300から特定される格子点の各種パラメータを入力とし、ずれ量を出力するような学習処理を繰り返すことで、学習済みモデルを生成して用いてもよい。ここでの機械学習は、例えば、ニューラルネットワークによるディープラーニング(深層学習)の手法を用い、教師あり学習を例に挙げて説明する。なお、ディープラーニングのより具体的な手法(アルゴリズム)は特に限定するものではなく、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)など公知の方法が用いられてよい。なお、姿勢情報を補間したデータを学習データに用いてもよく、このようにすることで学習データを増やすことができ、指定点に対するずれ量の予測精度を向上させることができる。
【0073】
なお、学習処理は、必ずしも情報処理装置200が実行する必要はない。例えば、情報処理装置200は、学習用のデータの提供を、情報処理装置200の外部に設けられた学習用のサーバ(不図示)に対して行い、当該サーバ側で学習処理を行うような構成であってもよい。そして、必要に応じて、当該サーバが情報処理装置200に学習済みモデルを提供するような構成であってもよい。このような学習用のサーバは、例えばインターネットなどのネットワーク(不図示)上に位置してよく、学習用のサーバと情報処理装置200は、通信可能に接続されているものとする。つまり、情報処理装置200が機械学習装置として動作してもよいし、外部装置が機械学習装置として動作してもよい。
【0074】
<その他の実施形態>
また、本発明において、上述した1以上の実施形態の機能を実現するためのプログラムやアプリケーションを、ネットワーク又は記憶媒体等を用いてシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【0075】
また、1以上の機能を実現する回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array))によって実現してもよい。
【0076】
以上の通り、本明細書には次の事項が開示されている。
(1) アーム先端部に溶接トーチを備えたロボットの制御方法であって、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得工程と、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定工程と、
前記特定工程にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出工程と、
前記導出工程にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正工程と、
を有する制御方法。
これにより、ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正することが可能となる。このとき、予め規定されたロボット誤差マップに含まれていない座標に対しても精度良く位置ずれを補正することが可能となり、オペレータの手間を削減することが可能となる。
【0077】
(2) 前記特定工程において、複数の前記頂点に対応付けられたずれ量の情報を特定し、
前記導出工程において、前記ずれ量を、前記複数の頂点に対応付けられたずれ量の内挿補間により導出する、(1)に記載の制御方法。
これにより、データベースに登録されていない座標についても精度良く位置ずれを補正することが可能となる。
【0078】
(3) 前記データベースは更に、前記溶接トーチの傾斜姿勢のパラメータが対応付けられる、(1)に記載の制御方法。
これにより、狙い位置に対してロボットがとり得る複数の姿勢を考慮して位置ずれを補正することが可能となる。特に、ずれ量の大きい姿勢や小さい姿勢といった溶接トーチの傾斜姿勢に基づく狙い位置ずれの傾向を直接的に反映することができる。
【0079】
(4) 前記取得工程において、前記指定点に対する姿勢情報を更に取得し、
前記導出工程において、前記指定点に対する姿勢情報と、前記特定工程にて特定された頂点に対応付けられたずれ量の情報にて示される姿勢のパラメータとの差分に基づく補間を行うことにより、前記ずれ量を導出する、
(3)に記載の制御方法。
これにより、データベースに登録されていない姿勢における位置ずれについても、登録された姿勢のパラメータに基づいて位置ずれに基づいて推定することが可能となる。
【0080】
(5) 前記取得工程において、前記指定点に対する姿勢情報を更に取得し、
前記導出工程において、前記頂点の座標情報と前記頂点における前記ロボットの姿勢情報を入力とし、前記頂点に対するずれ量を出力として学習が行われることにより生成された学習済みモデルに対して、前記指定点の座標情報と姿勢情報を入力して得られる出力を前記指定点からのずれ量として導出する、(1)に記載の制御方法。
これにより、機械学習にて得られた学習済みモデルを用いて位置ずれを推定することができ、複雑な数理モデルを用いる必要が無くなる。また、学習済みモデルが座標情報と姿勢情報の両方を予め学習しているので、姿勢補間や座標補間といった工程を段階的に(step by stepで)行う必要がなく、姿勢や座標の影響をまとめて考慮する形でずれ量を導出できる。
【0081】
(6) 前記取得工程にて取得された移動経路において、新たな指定点を追加する追加工程を更に有する、(1)に記載の制御方法。
これにより、移動経路上の位置ずれを抑制し、造形物の品質を向上させることが可能となる。
【0082】
(7) 前記補正工程において、前記移動経路に含まれる複数の指定点に対するずれ量に基づいて、前記移動経路に沿って前記ロボットを動作させる際の、前記ロボットの前記移動経路に対する狙い位置を補正する、(1)に記載の制御方法。
これにより、複数の指定点を含む移動経路に対するロボットの位置ずれを、当該複数の指定点に対する位置ずれに基づいて補正することが可能となる。
【0083】
(8) アーム先端部に溶接トーチを備えたロボットの制御装置であって、
前記溶接トーチ先端の狙い位置の座標と、当該狙い位置に対する前記溶接トーチ先端のずれ量とが対応付けられたデータベースを保持する保持手段と、
前記ロボットを動作させる際の、前記溶接トーチ先端の移動経路に含まれる指定点の座標情報を取得する取得手段と、
前記データベースから、前記指定点を内包する格子の頂点に対応付けられたずれ量の情報を特定する特定手段と、
前記特定手段にて特定されたずれ量と、前記指定点と前記頂点の座標に基づいて、前記指定点を狙い位置として前記ロボットを動作させた際の、前記指定点からの前記溶接トーチ先端のずれ量を導出する導出手段と、
前記導出手段にて導出した前記ずれ量に基づいて、前記ロボットの前記指定点に対する狙い位置を補正する補正手段と、
を有する制御装置。
これにより、ロボットの溶接トーチ先端の狙い位置の位置ずれを自動的に補正することが可能となる。このとき、予め規定されたロボット誤差マップに含まれていない座標に対しても精度良く位置ずれを補正することが可能となり、オペレータの手間を削減することが可能となる。
【符号の説明】
【0084】
1…積層造形システム
100…積層造形装置
101…形状センサ
102…トーチ
103…ベース
104…溶接ロボット
106…ロボットコントローラ
107…電源
108…溶接ビード
200…情報処理装置
201…造形制御部
202…電源制御部
203…送給制御部
204…DB(データベース)管理部
205…形状データ取得部
206…教示データ取得部
207…補正量算出部
208…周辺装置制御部
W…積層造形物
M…溶加材