(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008544
(43)【公開日】2024-01-19
(54)【発明の名称】複数のロボットの制御方法、および複数のロボットの制御装置
(51)【国際特許分類】
B25J 13/00 20060101AFI20240112BHJP
【FI】
B25J13/00 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022110499
(22)【出願日】2022-07-08
(71)【出願人】
【識別番号】000001199
【氏名又は名称】株式会社神戸製鋼所
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】篠崎 貴宏
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707BS10
3C707JS02
3C707LV02
3C707LV15
3C707MT04
(57)【要約】
【課題】複数台のロボットが連携して作業を行う際に、より精度の高い作業結果を得ることを可能とする。
【解決手段】アーム先端部にツールを備えた複数のロボットの制御方法であって、ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得工程と、前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出工程と、前記導出工程にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択工程と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
アーム先端部にツールを備えた複数のロボットの制御方法であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得工程と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出工程と、
前記導出工程にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択工程と、
を有する制御方法。
【請求項2】
前記選択工程において、前記パス情報にて示される複数の狙い位置それぞれのずれ量の積分値に基づいて、前記複数のロボットの中から前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する、請求項1に記載の制御方法。
【請求項3】
前記パス情報にて示される1または複数の区間を分割、縮小、または拡大することで新たな区間に変更する変更工程を有し、
前記変更工程にて変更された区間に含まれる狙い位置に基づいて、前記導出工程および前記選択工程による処理を行う、
請求項1に記載の制御方法。
【請求項4】
前記複数のロボットによる動作は、積層造形物を造形する積層造形であり、
ロボットにより造形された形状情報と、当該造形を行った際の当該ロボットの位置情報とを検出する検出工程を更に有し、
前記導出工程において、前記形状情報と前記位置情報とに基づいて、前記ロボットのずれ量を導出し、
前記検出工程、前記導出工程、および前記選択工程は、前記積層造形物の造形を行っている際に実行される、請求項1に記載の制御方法。
【請求項5】
前記選択工程にて第1のパスを造形させるロボットとして選択された第1のロボットと、前記第1のパスを造形させると選択されなかった第2のロボットとの先端部間の距離に基づいて、前記第2のロボットに前記第1のパスとは異なる第2のパスの造形、または、待機のいずれかを行わせる制御工程を更に有する、請求項1に記載の制御方法。
【請求項6】
アーム先端部にツールを備えた複数のロボットの制御装置であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得手段と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出手段と、
前記導出手段にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択手段と、
を有する制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のロボットの制御方法、および複数のロボットの制御装置に関する。
【背景技術】
【0002】
従来、ロボットを用いて溶接ビードを積層させることで積層造形物を造形することが行われている。また、溶接を自動的に行わせる場合、オペレータは溶接の経路や姿勢を予め教示することが行われている。積層造形を行う際には、その造形精度を向上させるためにロボットの姿勢や構造誤差などに起因する位置ずれを考慮して制御する必要がある。
【0003】
例えば、特許文献1では、予め記憶した動作誤差に基づいて、ロボットの狙い位置を補正する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のような積層造形をはじめ、複数台のロボットが互いに分担して1つの作業結果を得るために動作を行う構成がある。このような複数台のロボットが動作可能な範囲は一部が重複するように配置されることがある。ここで、同じシステム内であっても、複数台のロボットそれぞれの構造誤差や姿勢、狙い位置に応じて位置ずれのずれ量は異なり得る。したがって、より品質の高い動作を行うために、ある狙い位置に対し、複数台のロボットそれぞれの位置ずれのずれ量を考慮していずれのロボットに動作を行わせるかを切り替える手法が求められていた。
【0006】
上記課題を鑑み、本発明は、複数台のロボットが連携して作業を行う際に、より精度の高い作業結果を得るために、複数台のロボットを切り替えて制御することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は以下の構成を有する。すなわち、アーム先端部にツールを備えた複数のロボットの制御方法であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得工程と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出工程と、
前記導出工程にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択工程と、
を有する制御方法。
【0008】
また、本発明の別の一形態として、以下の構成を有する。すなわち、アーム先端部にツールを備えた複数のロボットの制御装置であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得手段と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出手段と、
前記導出手段にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択手段と、
を有する制御装置。
【発明の効果】
【0009】
本発明により、複数台のロボットを切り替えて、より精度の高い作業を行うことが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態に係る積層造形システムの構成例を示す概略構成図。
【
図2A】本発明の一実施形態に係る補正量導出のためのDB構成の概念を示す概略図。
【
図2B】本発明の一実施形態に係る補正量導出のためのDB構成の例を示すテーブル図。
【
図3】本発明の一実施形態に係る補正量導出の例を示す図。
【
図4】本発明の一実施形態に係るロボットの作業範囲の重畳を説明するための図。
【
図5A】本発明の一実施形態に係る積層造形のパスを説明するための図。
【
図5B】本発明の一実施形態に係る積層造形のパス上におけるずれ量を説明するための図。
【
図6A】本発明の一実施形態に係る各ロボットの位置ずれの差を説明するための図。
【
図6B】本発明の一実施形態に係る各ロボットの位置ずれの差を説明するための図。
【
図7A】本発明の一実施形態に係る各ロボットの位置ずれに対応した分担を説明するための図。
【
図7B】本発明の一実施形態に係る各ロボットの位置ずれに対応した分担を説明するための図。
【
図8】本発明の一実施形態に係るロボットの切り替え処理のフローチャート。
【
図9】本発明の一実施形態に係るロボットのずれ量の導出処理のフローチャート。
【
図10】本発明の一実施形態に係るロボットの分担例を示す概略図。
【発明を実施するための形態】
【0011】
以下、本発明を実施するための形態について図面などを参照して説明する。なお、以下に説明する実施形態は、本発明を説明するための一実施形態であり、本発明を限定して解釈されることを意図するものではなく、また、各実施形態で説明されている全ての構成が本発明の課題を解決するために必須の構成であるとは限らない。また、各図面において、同じ構成要素については、同じ参照番号を付すことにより対応関係を示す。
【0012】
<第1の実施形態>
以下、本発明の第1の実施形態について説明を行う。ここでは、積層造形を実行可能な積層造形システムを例に挙げて説明する。しかし、本発明の本質部分を実装可能な構成であれば、これに限定するものではない。
【0013】
[システム構成]
図1は、本発明を適用可能な積層造形システムの概略構成図である。なお、本実施形態では、積層造形システムは2台の溶接ロボットを備えるものとするが、
図1では、1台の溶接ロボットのみを例示して示す。また、溶接ロボットを制御するための情報処理装置は、1台で複数の溶接ロボット104を制御するものとして説明するが、溶接ロボットそれぞれに対して別個の制御装置が設けられ、それらが連携するような構成であってもよい。
【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の製造誤差などに起因する位置ずれのずれ量を導出する。また、補正量算出部207は、導出したずれ量に基づいて補正量を決定したり、複数の溶接ロボット104のうちのいずれを用いて造形を行うかを決定したりする。
【0027】
周辺装置制御部208は、積層造形システム1が備える溶接ロボット104の周りに備えられた周辺装置の動作を制御する。周辺装置は、
図1では不図示であるが、例えば、積層造形物Wが造形されるベース103の位置や姿勢を調整するためのポジショナや、溶接ロボット104を所定方向にスライドさせることが可能なスライダなどが挙げられる。したがって、溶接ロボット104は、これらの周辺装置と連動して積層造形の動作を行ってよい。
【0028】
また、本実施形態に係る設計データにおける座標系と、溶接ロボット104の座標系とは対応付けられており、任意の位置を原点として、3次元における位置が規定されるように座標系の3軸(X軸、Y軸、Z軸)が設定されているものとする。本実施形態では、2台の溶接ロボット104が設けられ、それぞれの溶接ロボット104の座標系が対応付け割れているものとする。したがって、2台の溶接ロボット104に共通して用いられる絶対座標系が更に規定されていてよい。
【0029】
上記構成の積層造形システム1は、設定された設計データから規定されるトーチ102の移動軌跡に従って、トーチ102を溶接ロボット104の駆動により移動させながら、溶加材Mを溶融させ、溶融した溶加材Mをベース103上に供給する。これにより、複数の溶接ロボット104により、ベース103の上面に複数の線状の溶接ビード108が並べられて積層された積層造形物Wが造形される。
【0030】
[データベース]
本実施形態では、設計データにて示される積層造形物Wに対する形状データにおいて、その造形時の経路(以下、「パス」とも称する)上の点(以下、「指定点」と称する)が指定される。この指定点に対して造形を行うためにトーチ102の先端部分を配置した場合、溶接ロボット104の製造誤差などにより位置ずれが生じ得る。そこで、この位置ずれを補正するための補正量を導出するために、本実施形態では、3次元座標系における座標や姿勢ごとの補正量を定義したデータベース(以下、「ロボット誤差マップ」とも称する)を用いる。このデータベースは、例えば、溶接ロボット104のトーチ102の先端部を対象の座標に対して移動させた際の実測値に基づいて予め規定される。
【0031】
図2Aは、本実施形態に係るロボット誤差マップの概念構成を示す図である。
図2Aに示すように、ロボット誤差マップ300は、3次元空間における格子上にて、座標点301ごとに補正量が定義される。このとき、座標点間の間隔は特に限定するものでは無い。設計データの経路上に含まれる指定点がロボット誤差マップ300にて規定された座標点以外の座標である場合の処理については後述する。
【0032】
図2Bは、本実施形態に係るロボット誤差マップ300の構成例を示すテーブル図である。本実施形態では、溶接ロボット104の造形時の位置や姿勢を示すパラメータとして、3次元座標系のX軸、Y軸、Z軸それぞれの座標を示す座標情報(x,y,z)と、溶接ロボット104の先端部(例えば、トーチ102)におけるX軸、Y軸、Z軸それぞれの軸周りの回転角を示す姿勢情報(α,β,γ)を用いる。なお、座標情報や姿勢情報は上記に限定するものではない。例えば、円筒形の座標系に対応したパラメータ(r,θ,z)が用いられてもよい。また、姿勢情報は、トーチ102を保持する溶接ロボット104の各関節の角度や位置に基づいて規定されてもよい。
【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が更新されてもよい。また、本実施形態では、複数台の溶接ロボット104を用いるため、それぞれに対応して複数のロボット誤差マップが準備される。
【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を導出することができる。
d(γ)=(1-t)d(γw1)+td(γ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つの座標点を用いてよい。ここで着目する複数の座標点は、他の位置の座標点であってもよい。例えば、
図2Aの格子の中心点から見て、前後左右の座標点と直上直下の計6つの座標点を用いてもよい。また、指定点Pを中心として、所定の半径Rから構成される球の範囲に含まれる複数の座標点を用いてもよい。
【0042】
この場合の算出方法としては、例えば、最小二乗法が用いられてよい。まず、x軸方向の補正量dxに対して座標点Qijkの情報に基づいて以下のような行列式(2)~(5)を定義する。ここでAは、各指定点の座標を示す行列である。そして、最小二乗法を用いて式(6)により係数wを求め、指定点Pにおけるx軸方向の補正量、すなわち、ずれ量であるbを算出する。
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
なお、上記の式ではX軸方向のずれ量を求める式であるが、Y軸方向やZ軸方向についても同様に算出できる。
【0049】
また、上記では、ロボット固有のずれ量(補正量)を例に挙げて説明したが、これに限定するものではない。例えば、溶接ロボット104が設置されるスライダや、積層造形物Wが造形される位置に設けられたポジショナなどの構造誤差を考慮したずれ量(補正量)のDBが更に設けられてよい。そして、それらのDBを組み合わせることで、ずれ量を導出してもよい。
【0050】
[溶接ロボットごとのずれ量]
図4は、本実施形態に係る積層造形システム1が備える複数の溶接ロボットによる造形が可能な範囲の重畳を説明するための概略図である。ここでは、2台の溶接ロボット104a、104bを例に挙げて説明する。また、積層造形物Wは、ポジショナ110上に造形されるものとする。溶接ロボット104は、様々な姿勢を取ることができ、その先端部(例えば、トーチ102)の位置を三次元空間の所望の位置に配置することができる。
図4において、左側に位置する溶接ロボット104aの動作範囲として、範囲401を示す。つまり、範囲401の境界よりも左側の範囲では溶接ロボット104aが造形を行うことが可能である。一方、
図4において、右側に位置する溶接ロボット104bの動作範囲として、範囲402を示す。つまり、範囲402の境界よりも右側の範囲では溶接ロボット104bが造形を行うことが可能である。従って、範囲401と範囲402とが重複する3次元空間上の重畳範囲403は、溶接ロボット104a、104bのいずれもが造形動作を行うことが可能である。
【0051】
本実施形態では、この重畳範囲403における積層造形の際の各溶接ロボットの切り替え制御を扱う。上述したように、各溶接ロボットは、その構造誤差や姿勢などによって、ある狙い位置におけるずれ量が異なり得る。本実施形態では、ずれ量がより少ない溶接ロボット104を選択して積層造形を行うことで、積層造形物Wの品質を向上させる。上述したように、ロボット誤差マップ300を用いることで、位置ずれに対する補正は可能であるが、補正が少ないほど、積層造形の動作の後に元の姿勢に戻すなどの制御を省略化することができるため、補正量、すなわち、位置ずれが小さい方を用いる方がより好ましい。なお、ここでは、2台の溶接ロボット104を例に挙げるが、重畳領域が存在する構成であれば、更に多くの溶接ロボットについても同様に制御することが可能である。
【0052】
図5Aは、溶接ロボット104の先端部が積層造形を行う際に用いるパスおよび指定点の例を示す概念図である。ここでは、X軸方向に沿って延びているパス500を、そのパス500に含まれる4つの指定点501、502、503、504を例に挙げて説明する。
【0053】
図5Bは、ある溶接ロボット104において、
図5Aに示すパス500の各指定点におけるX軸方向のずれ量を示す。
図5Bにおいて、横軸はX軸方向の位置を示し、縦軸はずれ量を示す。ここでは、溶接ロボット104の姿勢はいずれの指定点でも同じであるものとして説明する。
【0054】
図5Bに示すように、X方向の位置に応じてずれ量は異なりうる。本例では、指定点502に対するずれ量が最も小さく、指定点504に対するずれ量が最も大きくなっている。このような指定点ごとのずれ量の関係は、溶接ロボット104ごとに異なる。
【0055】
図6Aおよび
図6Bは、2つの溶接ロボット104のずれ量の違いを説明するためのグラフ図である。ここでは一例として、
図6Aが
図4に示した溶接ロボット104aのずれ量を示し、
図6Bが
図4に示した溶接ロボット104bのずれ量を示すものとして説明する。
図6Aおよび
図6Bにおいて、横軸はある狙い位置のX方向の位置を示し、縦軸はY方向のずれ量を示す。
【0056】
また、
図6Aに示すパス区間601と、
図6Bに示すパス区間602とは同じ区間を示しているものとする。パス区間601とパス区間602のずれ量を参照すると、
図6Bに示すずれ量の方が小さい値を示している。つまり、着目しているパス区間については、溶接ロボット104bの方がずれ量を抑えて積層造形を行うことが可能であると判断できる。
【0057】
図7Aおよび
図7Bは、パスの分割を説明するためのグラフ図である。
図7Aおよび
図7Bにおいて、横軸はある狙い位置のX方向の位置を示し、縦軸はY方向のずれ量を示す。また、グラフ701は
図4に示した溶接ロボット104aのずれ量を示し、グラフ702は
図4に示した溶接ロボット104bのずれ量を示す。ここでは、あるパス区間703に着目する。パス区間703内において、一部は溶接ロボット104aの方(グラフ701)がずれ量が小さく、別の一部は溶接ロボット104bの方(グラフ702)がずれ量が小さい。このような場合には、複数の溶接ロボット104のずれ量に応じて、パス区間を分割する。例えば、
図7Aに示すパス区間703の場合、
図7Bに示すようにパス区間703a、703bの2つに分割してよい。
【0058】
上記のように分割されたパスそれぞれに対して、複数の溶接ロボット104を切り替えて積層造形を行うように制御される。なお、ここでの分割方法は特に限定するものではない。例えば、
図7Bのようにずれ量が切り替わる位置で分割してもよい。また、パスの位置や積層造形物の形状などによっては、分割しないような構成であってもよい。
【0059】
[処理フロー]
図8は、本実施形態に係る溶接ロボットの切り替え制御の処理のフローチャートである。本処理フローは、情報処理装置200により実行される。例えば、情報処理装置200が備えるCPUなどの処理部が
図1に示した各部位を実現するためのプログラムを記憶部(不図示)から読み出して実行することにより実現されてよい。また、本処理フローが実行される前に、ロボット誤差マップ300が規定され、また、積層造形のための積層計画データが準備されているものとする。なお、本処理フローは、積層造形の動作が開始される前に予め実施されてもよいし、積層造形の動作の際に併せて実行されてもよい。本実施形態では、2台の溶接ロボット104を例に挙げ、ロボットA、ロボットBとして記載する。
【0060】
なお、本処理フローは、
図4にて示したように複数台の溶接ロボット104の重複範囲についての切り替えを想定している。そのため、いずれか1台の溶接ロボット104のみが造形可能な範囲については、その溶接ロボット104が造形を行うものとし、ここでの説明は省略する。
【0061】
S801にて、情報処理装置200は、積層計画データから造形のためのパスに関する情報を取得する。上述したように、パスは、複数の指定点を含んで構成され、指定点の情報が取得される。
【0062】
S802にて、情報処理装置200は、S801にて取得したパスの中から1のパスに着目する(以下、「着目パス」と称する)。
【0063】
S803にて、情報処理装置200は、ロボットAについて、着目パスに含まれる1または複数の指定点それぞれのずれ量を導出する。本工程の処理の詳細は、
図9を用いて説明する。
【0064】
S804にて、情報処理装置200は、ロボットBについて、着目パスに含まれる1または複数の指定点それぞれのずれ量を導出する。本工程の処理の詳細は、
図9を用いて説明する。
【0065】
S805にて、情報処理装置200は、S803にて導出したロボットAのずれ量と、S804にて導出したロボットBのずれ量とを比較する。ここでの比較は、着目パスに含まれる指定点それぞれに対して得られたずれ量の積分値を用いて行われてよい。また、ずれ量は、X軸、Y軸、Z軸それぞれに対して導出できるため、それらの3方向のずれ量に基づいて評価してよい。また、3方向において、パスの位置などによって重要視する方向をシステム側またはオペレータが設定しておき、その重要度に応じて比較を行ってもよい。上述したように、ずれ量に応じて着目パスを分割する処理を行ってもよい。
【0066】
S806にて、情報処理装置200は、S805の比較処理の結果に基づいて、着目パスを処理するロボットを選択する。
【0067】
S807にて、情報処理装置200は、未処理のパスが有るか否かを判定する。未処理のパスが有る場合(S807にてYES)、情報処理装置200の処理はS802へ戻り、次のパスに着目して処理を繰り返す。未処理のパスが無い場合(S807にてNO)、本処理フローを終了する。
【0068】
(ずれ量導出処理)
図9は、本実施形態に係る溶接ロボット104の指定点に対するずれ量を導出するためのフローチャートである。本処理は、
図8のS803、S804の工程に対応する。S803、S804の処理内容は同等であり、対象とする溶接ロボット104およびロボット誤差マップ300が異なる。
【0069】
S901にて、情報処理装置200は、着目パスに含まれる指定点の中から、1の指定点(以下、「着目指定点」と称する)、その積層造形に係るパラメータを取得する。ここでのパラメータは、上述したように(x,y,z,α,β,γ)の6つのパラメータとする。
【0070】
S902にて、情報処理装置200は、溶接ロボット104に対して予め規定されたロボット誤差マップ300から、着目指定点に最も距離が近い最近接点を特定し、その補正量情報を取得する。ここでの補正量情報は、X軸、Y軸、Z軸それぞれの補正量であるdx、dy、dzの3つのパラメータとする。上述したように、着目指定点の座標と最近接点の座標とが一致する場合もある。
【0071】
S903にて、情報処理装置200は、着目指定点と最近接点との距離が所定の閾値未満か否かを判定する。ここでの所定の閾値は予め規定されていてよい。着目指定点と最近接点との距離が所定の閾値未満である場合(S903にてYES)、情報処理装置200の処理はS904へ進む。一方、着目指定点と最近接点との距離が所定の閾値以上である場合(S903にてNO)、情報処理装置200の処理はS905へ進む。
【0072】
S904にて、情報処理装置200は、S902にて取得した最近接点の補正量情報を、着目指定点のずれ量として設定する。そして、情報処理装置200の処理は、S907へ進む。
【0073】
S905にて、情報処理装置200は、ロボット誤差マップ300から、着目指定点の近傍に位置する複数の近傍座標点を特定し、それらの補正量情報を取得する。複数の近傍座標点は、例えば、
図3に示す8つの近傍の座標点であってよい。
【0074】
S906にて、情報処理装置200は、S905にて取得した複数の近傍座標点の補正量情報に基づいて、着目指定点に対する補正量を導出する。ここでの導出方法は、上述したように、最小二乗法に基づいて導出されてよい。そして、情報処理装置200は、導出した補正量を着目指定点のずれ量として設定する。そして、情報処理装置200の処理は、S907へ進む。
【0075】
S907にて、情報処理装置200は、着目パスに含まれる指定点のうち、未処理の指定点があるか否かを判定する。未処理の指定点がある場合(S907にてYES)、情報処理装置200の処理はS901へ戻り、処理を繰り返す。一方、未処理の指定点が無い場合(S907にてNO)、本処理フローを終了する。
【0076】
なお、上記のフローチャートにて処理対象とする指定点は、積層計画データにて示されているパスに含まれる全ての指定点に対して行ってもよいし、パス中に含まれる一部の指定点にのみ行ってもよい。また、補正は、X軸、Y軸、Z軸のいずれかの値にのみ行われてもよい。
【0077】
図8のS803、S804に示すように、
図9の処理は造形のための重複領域が存在する複数の溶接ロボット104それぞれに対して行われる。また、上記の処理に結果に応じて、実際の積層造形システム1の動作を規定する制御指令が生成されてよい。
【0078】
[制御例]
図10は、本実施形態に係る制御により、積層造形物Wを造形する際のパスに対する複数の溶接ロボット104を切り替えの例を示す概略図である。ここでも複数台の溶接ロボット104として、2台のロボットA、Bを例に挙げて示す。本例では、積層造形物Wは、8つのパスPa~Phから構成される。
図10において、パスの造形の方向の例を示す。上述した
図8、
図9の処理により、パスPa、Pc、Pf、Pg、Phは、ロボットAにて造形される。また、パスPb、Pd、Peは、ロボットBにて造形される。
【0079】
なお、各パスを造形する順番は、積層計画データに準じてもよいし、溶接ロボット104に対するパスの割り当ての結果に基づいて調整されてもよい。例えば、複数の溶接ロボット104のうち、ある溶接ロボットが任意のパスの造形を行っている際には、他の溶接ロボットは、そのパスの造形に影響が無いパスの造形を行うように制御されてよい。このとき、選択されていない溶接ロボットは待機させるように制御してもよい。
【0080】
以上、本実施形態により、複数台のロボットが連携して積層造形を行う際に、より精度の高い造形物を得るように複数台のロボットを切り替えることが可能となる。
【0081】
<その他の実施形態>
上記の構成では、式(2)~式(6)に示したように最小二乗法を用いてずれ量を算出した。これに代えて、指定点Pに対するずれ量を機械学習により得られる学習済みモデルを用いて導出してもよい。この場合は、式(2)~式(6)のパラメータのうち、A行列の各パラメータを入力とし、b行列の各パラメータ(すなわち、ずれ量)を出力とする学習処理を繰り返すことで、学習済みモデルを生成する。ここでの機械学習は、例えば、ニューラルネットワークによるディープラーニング(深層学習)の手法を用い、教師あり学習を例に挙げて説明する。なお、ディープラーニングのより具体的な手法(アルゴリズム)は特に限定するものではなく、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)など公知の方法が用いられてよい。
【0082】
なお、学習処理は、必ずしも情報処理装置200が実行する必要はない。例えば、情報処理装置200は、学習用のデータの提供を、情報処理装置200の外部に設けられた学習用のサーバ(不図示)に対して行い、当該サーバ側で学習処理を行うような構成であってもよい。そして、必要に応じて、当該サーバが情報処理装置200に学習済みモデルを提供するような構成であってもよい。このような学習用のサーバは、例えばインターネットなどのネットワーク(不図示)上に位置してよく、学習用のサーバと情報処理装置200は、通信可能に接続されているものとする。つまり、情報処理装置200が機械学習装置として動作してもよいし、外部装置が機械学習装置として動作してもよい。
【0083】
また、上記の実施形態では、積層造形を行っている際に、溶接ロボット104の分担制御を行う場合には、ロボット誤差マップ300の代わりに、リアルタイムでの実測値を用いてもよい。この場合、例えば、トーチ102周辺に設けられた形状センサ101や、トーチ102を利用した位置検出機能などを用いてもよい。そして、狙い位置に対し、ある姿勢における溶接ロボット104のずれ量を適宜検出し、その結果に基づいて溶接ロボットの分担を行ってもよい。
【0084】
また、上記の例では、1のパスを複数に分割する例を示したが、これに限定するものではない。例えば、積層造形では、1パスが非常に長い構成のものもある。その場合には、1のパスを所定の長さよりも短くなるように複数の区間に分けて、品質を向上させるような構成であってもよい。同様に、1パスが非常に短い場合には、その周辺のパスとの関係に基づいて、複数のパスをまとめ、それらのまとまりごとに溶接ロボットの分担を決定してもよい。このように、溶接ロボットの分担は1パスから構成される区間に限定するものではなく、その区間を適宜、分割、拡大、縮小するように制御してよい。区間を分割、拡大、縮小などにより変更させた場合には、再度、
図8、
図9に示すずれ量の計算を行ってよい。
【0085】
上記の実施形態では、トーチを備える溶接ロボットを例に挙げて説明したが、これに限定するものではない。例えば、トーチに代えて、ロボットの先端部に任意のツールを設置し、その位置を補正するような構成であれば、本発明は適用可能である。
【0086】
また、本発明において、上述した1以上の実施形態の機能を実現するためのプログラムやアプリケーションを、ネットワーク又は記憶媒体等を用いてシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【0087】
また、1以上の機能を実現する回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array))によって実現してもよい。
【0088】
以上の通り、本明細書には次の事項が開示されている。
(1) アーム先端部にツールを備えた複数のロボットの制御方法であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得工程と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出工程と、
前記導出工程にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択工程と、
を有する制御方法。
この構成によれば、複数台のロボットを切り替えて、より精度の高い作業を行うことが可能となる。
【0089】
(2) 前記選択工程において、前記パス情報にて示される複数の狙い位置それぞれのずれ量の積分値に基づいて、前記複数のロボットの中から前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する、(2)に記載の制御方法。
この構成によれば、複数の狙い位置のずれ量の積分値に基づいて、より精度良く動作を実行するロボットを選択することが可能となる。
【0090】
(3) 前記パス情報にて示される1または複数の区間を分割、縮小、または拡大することで新たな区間に変更する変更工程を有し、
前記変更工程にて変更された区間に含まれる狙い位置に基づいて、前記導出工程および前記選択工程による処理を行う、
(1)に記載の制御方法。
この構成によれば、より精度の高い作業が可能なようにパスを調整することが可能となる。
【0091】
(4) 前記複数のロボットによる動作は、積層造形物を造形する積層造形であり、
ロボットにより造形された形状情報と、当該造形を行った際の当該ロボットの位置情報とを検出する検出工程を更に有し、
前記導出工程において、前記形状情報と前記位置情報とに基づいて、前記ロボットのずれ量を導出し、
前記検出工程、前記導出工程、および前記選択工程は、前記積層造形物の造形を行っている際に実行される、(1)に記載の制御方法。
この構成によれば、実際の造形結果に応じて、複数台のロボットを切り替えて、より精度の高い積層造形を行うことが可能となる。
【0092】
(5) 前記選択工程にて第1のパスを造形させるロボットとして選択された第1のロボットと、前記第1のパスを造形させると選択されなかった第2のロボットとの先端部間の距離に基づいて、前記第2のロボットに前記第1のパスとは異なる第2のパスの造形、または、待機のいずれかを行わせる制御工程を更に有する、(1)に記載の制御方法。
この構成によれば、選択されたロボットの状態に応じて、そのロボットとの干渉を防止しつつ、他方のロボットの動作を制御することが可能となる。
【0093】
(6) アーム先端部にツールを備えた複数のロボットの制御装置であって、
ロボットを動作させる際に、当該ロボットのアーム先端部が位置する狙い位置を示すパス情報を取得する取得手段と、
前記パス情報にて示される狙い位置に基づいて前記複数のロボットそれぞれを動作させた際の、前記複数のロボットそれぞれの狙い位置からのずれ量を導出する導出手段と、
前記導出手段にて導出した前記複数のロボットそれぞれのずれ量に基づいて、前記複数のロボットの中から、前記パス情報にて示されるパスに対する動作を行わせるロボットを選択する選択手段と、
を有する制御装置。
この構成によれば、複数台のロボットを切り替えて、より精度の高い作業を行うことが可能となる。
【符号の説明】
【0094】
1…積層造形システム
100…積層造形装置
101…形状センサ
102…トーチ
103…ベース
104…溶接ロボット
106…ロボットコントローラ
107…電源
108…溶接ビード
200…情報処理装置
201…造形制御部
202…電源制御部
203…送給制御部
204…DB(データベース)管理部
205…形状データ取得部
206…教示データ取得部
207…補正量算出部
208…周辺装置制御部
W…積層造形物
M…溶加材