(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
これらの自動経路生成の手法は、例えばスポット溶接においてロボットの動作を妨げるワークの形状や治具を回避しつつ、ワークの溶接するべき打点位置へとロボットを順次移動させる動作経路を作成してくれるが、作成された動作経路は、例えば前の打点位置において行われた溶接におけるロボットの姿勢やワークの形状や治具を回避する際の効率的な移動、ロボットの軸(関節)に掛かる負荷等を考慮した効率的な動作経路となっていない場合が多い。このような効率的な動作経路は熟練した作業者による手作業での教示により生成することができるが、このような手作業による教示の作業はその作業者にとって負担となり、また、時間が掛かるためサイクルタイムが延びてしまうという課題がある。そして、このような課題は溶接ロボットに限られるものではなく、ハンドリングロボット等の他のロボットにおいても発生する。
【0005】
そこで本発明の目的は、ロボットの動作における効率的な動作経路を自動的に生成する自動経路生成装置を提供することである。
【課題を解決するための手段】
【0006】
本発明の自動経路生成装置は、ロボットが何らかの動作を行う動作点の位置(例えばスポットと溶接における打点位置等)及びワーク、治具等の干渉物の形状に基づいてRRT等の動作計画法アルゴリズムにより自動的に生成した動作経路(以下、仮動作経路と言う)に対する、同じ動作店の位置及び干渉物の形状に対して熟練した作業者が手作業で作成する動作経路(以下、実動作経路と言う)を学習した機械学習装置を用いて、仮動作経路から実動作経路を推定することで上記課題を解決する。仮動作経路は、動作計画法アルゴリズムにより自動的に生成されたものであり、動作経路としては理想的なものとは言えないが、機械学習装置が仮動作経路と実動作経路の差異をその傾向として学習し、仮動作経路から自動的に実動作経路を推定することができるようにすることで、自動的に効率的な動作経路を導き出すことができるようになる。
【0007】
本発明の一態様は、ロボットの動作経路を生成する自動経路生成装置であって、前記ロボットが動作する複数の動作点の間の動作経路
に基づいて作成された仮動作経路と、
作業者が
予め作成した実動作経路とに基づいて
生成された教師データ
に従って、前記仮動作経路
から前記実動作経路
を推定するニューラルネットワークを学
習する動作経路学習
部、を備えた自動経路生成装置である。
【0008】
本発明の他の態様は、ロボットの動作経路を生成する自動経路生成装置であって、前記ロボットが動作する複数の動作点の間の動作経路
に基づいて作成された仮動作経路
から、
作業者が
予め作成した実動作経路
を推定するためのニューラルネットワークを記憶する学習モデル記憶部と、
少なくとも前記仮動作経路を前記ニューラルネットワークに入力した際の前記ニューラルネットワークからの出力に基づいて、前記ロボットの動作経路を出力する動作経路推定部と、を備えた自動経路生成装置である。
【発明の効果】
【0009】
本発明により、ロボットを用いて行われる溶接における該ロボットの効率的な動作経路を自動的に生成することが可能となる。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を図面と共に説明する。以下では、本実施形態による自動経路生成装置を、スポット溶接におけるロボットの動作経路を生成するものとして説明する。この場合、ロボットの動作点の位置としてはスポットと溶接における打点位置が扱われ、干渉物としてはワーク及び治具が対象となる。
【0012】
図1は一実施形態による自動経路生成装置の要部を示す概略的なハードウェア構成図である。自動経路生成装置1は、例えばロボットを制御する制御装置上に実装することができる。また、自動経路生成装置1は、ロボット及び該ロボットの制御装置に併設されたパソコンや、ロボットの制御装置に有線/無線のネットワークで接続されたセルコンピュータ、ホストコンピュータ、エッジサーバ、クラウドサーバ等のコンピュータとして実装することができる。本実施形態では、自動経路生成装置1を、ロボットを制御する制御装置上に実装した場合の例を示す。
【0013】
本実施形態の自動経路生成装置1は一般的なロボットの制御に用いられる機能を備えており、
図1に例示されるロボット2とインタフェース19を介して接続されて該ロボット2を制御する。ロボット2としては、1以上のリンク(可動部)と1以上の関節を有するものであり、例えば6軸多関節型ロボットを挙げることができる。ロボット2は、スポット溶接、アーク溶接、レーザ溶接等の溶接を行うためのCガンやXガン、レーザ等のツールを備えたロボットであって良く、また、固定された溶接用のツールに対して把持しているワークの位置を変更して溶接するロボットであっても良い。
【0014】
自動経路生成装置1は、予め溶接時におけるロボット2の動作経路を機械学習した機械学習装置100を備えており、該機械学習した結果に基づいて機械学習装置100から出力されるワークの溶接時のロボット2の最適な動作経路の推定結果に従ってロボット2を制御し、ワークの溶接を行う。なお、ロボット2の詳細な構成については既に公知となっているので、本明細書での詳細な説明は省略する。
【0015】
本実施形態による自動経路生成装置1が備えるCPU11は、自動経路生成装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って自動経路生成装置1の全体を制御する。RAM13には一時的な計算データや表示データ、入力装置71を介してして作業者が入力した各種データ等が一時的に格納される。
【0016】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされたメモリやSSD等で構成され、自動経路生成装置1の電源がオフされても記憶状態が保持される。不揮発性メモリ14には、自動経路生成装置1の動作に係る設定情報が格納される設定領域や、入力装置71から入力されたロボット2の制御用プログラムやCADデータ等、図示しない外部記憶装置から読み込まれたロボット2の制御用プログラムやCADデータ等が記憶される。不揮発性メモリ14に記憶されたプログラムや各種データは、実行時/利用時にはRAM13に展開されても良い。また、ROM12には、公知の解析プログラムなどの各種のシステム・プログラム(後述する機械学習装置100とのやりとりを制御するためのシステム・プログラムを含む)があらかじめ書き込まれている。
【0017】
表示装置70には、メモリ上に読み込まれた各データ、プログラム等が実行された結果として得られたデータ、後述する機械学習装置100から出力されたデータ等がインタフェース17を介して出力されて表示される。また、キーボードやポインティングデバイス等から構成される入力装置71は、作業者による操作に基づく指令,データ等を受けて、インタフェース18を介してCPU11に渡す。
【0018】
インタフェース21は、自動経路生成装置1と機械学習装置100とを接続するためのインタフェースである。機械学習装置100は、機械学習装置100全体を統御するプロセッサ101と、システム・プログラム等を記憶したROM102、機械学習に係る各処理における一時的な記憶を行うためのRAM103、及び学習モデル等の記憶に用いられる不揮発性メモリ104を備える。機械学習装置100は、インタフェース21を介して自動経路生成装置1で取得可能な各情報(例えば、入力装置71を介して設定された室温や、ロボット2から取得される各モータの状態量等)を観測することができる。また、自動経路生成装置1は、機械学習装置100からの処理結果をインタフェース21を介して取得する。
【0019】
図2は、第1の実施形態による自動経路生成装置1と機械学習装置100の学習モードにおける概略的な機能ブロック図である。
図2に示した各機能ブロックは、
図1に示した自動経路生成装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、自動経路生成装置1及び機械学習装置100の各部の動作を制御することにより実現される。
【0020】
自動経路生成装置1は、ロボット2を制御する制御部30と、作業者の教示により作成された動作経路を含む制御用プログラム50と溶接対象のワーク及び治具の形状情報を含むCADデータ52とに基づいて機械学習装置100の機械学習に用いる教師データを作成する前処理部34と、前処理部34が作成した教師データを用いてロボット2の動作経路を学習する動作経路学習部38とを備える。
【0021】
制御部30は、作業者による図示しない操作盤の制御操作や、不揮発性メモリ14等に記憶された制御用プログラム、機械学習装置100から出力された動作経路等に基づいてロボット2を制御する。制御部30は、制御用プログラムや機械学習装置100から出力された動作経路が、ロボット2が備える各軸(関節)の移動を指令する場合に当該軸を駆動するモータに対して制御周期毎に軸角度の変化量としての指令データを出力する、等といったように、ロボット2の各部を制御するために必要とされる一般的な制御のための機能を備える。また、制御部30は、ロボット2が備える各モータのモータ状態量(モータの電流値、モータの位置、速度、加速度、モータのトルク等)を取得し、取得したモータ状態量をロボット2の制御に用いる。
【0022】
前処理部34は、熟練した作業者の教示により作成された動作経路を含む制御用プログラム50と溶接対象のワーク及び治具の形状情報を含むCADデータ52とに基づいて、機械学習の位置手法である教師あり学習に用いる教師データTを作成し、機械学習装置100へ出力する機能手段である。前処理部34は、制御用プログラム50から抽出したスポット溶接の打点位置の情報及びCADデータ52に含まれるワークと治具の位置の情報に基づいて、公知の動作計画法アルゴリズム(RRT等)を用いてロボット2の動作経路(以下、仮動作経路と言う)を算出してこれに係るデータを入力データとし、また、制御用プログラム50から抽出した作業者の教示により作成された動作経路(以下、実動作経路と言う)に係るデータを出力データとした教師データを作成し、機械学習装置に対して出力する。仮動作経路及び実動作経路のそれぞれは、例えば打点に係る情報、打点間の中間点に係る情報、及び該打点及び中間点間でのロボット2の各軸の速度、加速度、滑らかさ等の動作パラメータのデータの系列であって良い。また、仮動作経路及び実動作経路のそれぞれは、例えば打点に係る情報、打点間の中間点に係る情報、及び該打点及び中間点間でのロボット2に把持されるツールの位置の速度、加速度、滑らかさ等の動作パラメータのデータの系列であって良い。
【0023】
図3は、ワークの打点位置間を移動する動作経路の例を示す図である。
図3において、溶接ツールはロボット2のハンドに取り付けられており、制御部30の制御のもとでワークの打点位置P1,P2に対して溶接を行い、溶接ツールを打点位置P1から打点位置P2に移動する際に治具と干渉しない動作経路を生成する必要があり、この動作経路の例としては、中間点P1−1,P1−2を経由した(P1,P1−1,P1−2,P2)という動作経路が考えられる。そして、各打点位置、中間点位置の間の移動において、ロボット2の各軸が速度、加速度、滑らかさ(インポジション)の3つの動作パラメータに従って動作するとした場合、各打点位置、中間点位置におけるロボット2の各軸の位置(又はツールの位置)と、打点位置P1から中間点P1−1へ移動する際の各軸の速度、加速度、滑らかさ、中間点P1−1から中間点P1−2へ移動する際の各軸の速度、加速度、滑らかさ、中間点P1−2から打点位置P1−2へ移動する際の各軸の速度、加速度、滑らかさにより、打点位置P1から打点位置P2への動作経路を定義することができる。そして、仮動作経路と実動作経路について、このようなデータの系列を作成し、それぞれを入力データ、出力データとすることで、教師データTを作成することができる。
【0024】
前処理部34は、ロボット2の全体の動作経路(仮動作経路、実動作経路)から1つの教師データTとして作成してもよいし、全体の動作経路(仮動作経路、実動作経路)の中の2つの打点位置Pi,Pj間の部分動作経路から1つの教師データTiを作成し、ロボット2の全体の動作経路からそれぞれの部分動作経路に対応する複数の教師データT1〜Tn(nは正の整数)を作成するようにしても良い。また、前処理部34は、全体の仮動作経路の中の4つの打点位置Pi〜Pl間の部分動作経路を1つの入力データとし、これに対応する出力データとして実動作経路の中のPj,Pk間の部分動作経路を1つの出力データとした教師データTjを作成し、ロボット2の全体の動作経路からそれぞれの部分動作経路に対応する複数の教師データT1〜Tn(nは正の整数)を作成するようにしても良い(このようにする場合、ロボット2の移動の開始位置、終了位置において仮動作経路から定義できない一部の入力データは0等の予め定めた固定値を定義しておけば良い)。このように、学習モデルをどのように定義するかに応じて、教師データは適宜設定すれば良い。
【0025】
動作経路学習部38は、前処理部34が作成した教師データを用いた教師あり学習を行い、仮動作経路から実動作経路を推定するために用いられる学習済みモデルを生成する(学習する)機能手段である。本実施形態の動作経路学習部38は、例えばニューラルネットワークを学習モデルとして用い、前処理部34が作成した教師データに含まれる仮動作経路に係るデータを入力データ、実動作経路に係るデータを出力データとした教師あり学習を行うように構成しても良い。この様に構成する場合、学習モデルとしては入力層、中間層、出力層の三層を備えたニューラルネットワークを用いても良いが、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることで、より効果的な学習及び推論を行うように構成することも可能である。
【0026】
動作経路学習部38による学習は、自動経路生成装置1が学習モードとして機能している場合に行われる。学習モードにおいては、作業者が入力装置71等を操作して図示しないUSB装置等の外部装置を介して、又は、図示しない有線/無線のネットワークを介して、様々な制御用プログラム50及びCADデータ52を自動経路生成装置1に取得させ、取得した様々な制御用プログラム50及びCADデータ52に基づく学習を行わせ、仮動作経路から実動作経路を推定するための学習済みモデルを生成する。そして、動作経路学習部38が生成した学習済みモデルは、不揮発性メモリ104上に設けられた学習モデル記憶部46に記憶され、後述する動作経路推定部40による実動作経路の推定に用いられる。
【0027】
上記構成を備えた本実施形態による自動経路生成装置1は、熟練した作業者の教示により作成された動作経路を含む制御用プログラム50及び溶接対象のワーク及び治具の形状情報を含むCADデータ52とに基づいて、仮動作経路(動作計画法アルゴリズム等により自動的に作成された動作経路)に対する実動作経路(熟練した作業者の教示により作成された動作経路)を学習した学習済みモデルを生成することができる。
【0028】
本実施形態の自動経路生成装置1の一変形例として、
図4に示すように、前処理部34は、熟練した作業者の教示により作成された動作経路を含む制御用プログラム50と動作経路アルゴリズム等により自動的に作成された動作経路を含む仮動作経路データ54とに基づいて、機械学習の位置手法である教師あり学習に用いる教師データTを作成し、機械学習装置100へ出力するように構成することもできる。このように構成することで、作業者が打点位置とCADデータに基づいて作成した仮動作経路データ54を作成しておき、作成した仮動作経路データ54を制御用プログラム50と共に自動経路生成装置1に読み込ませることにより、仮動作経路(動作計画法アルゴリズム等により自動的に作成された動作経路)に対する実動作経路(熟練した作業者の教示により作成された動作経路)を学習した学習済みモデルを生成することができる。
【0029】
本実施形態の自動経路生成装置1の他の変形例として、
図5に示すように、前処理部34は、熟練した作業者の教示により作成された動作経路を含む制御用プログラム50に基づいて、機械学習の位置手法である教師あり学習に用いる教師データTを作成し、機械学習装置100へ出力するように構成することもできる。この場合、前処理部34は、
図6に例示されるように、制御用プログラム50から抽出した熟練した作業者の教示により作成された実動作経路を解析し、該実動作経路において打点位置Piと打点位置Pjとの間の動作経路が迂回経路となっている場合(即ち、略直線となっていない場合)に、該動作経路の内側距離α(予め設定しておく)の位置に仮想干渉物が存在すると仮定し、その過程した仮想干渉物を考慮した公知の動作計画法アルゴリズム(RRT等)を用いてロボット2の仮動作経路を算出する。そして、このようにして得られた仮動作経路と実動作経路をそれぞれ入力データ、出力データとした教師データTを作成してこれを機械学習装置100へ出力するように構成すれば良い。また、前処理部34を、実動作経路に対する仮動作経路を学習した機械学習機として構成し、制御用プログラム50から抽出した実動作経路に基づいて仮動作経路を推定させて、推定した仮動作経路を入力データとした教師データを作成してこれを機械学習装置100へ出力するように構成しても良い。このように構成することで、CADデータ52がなく制御用プログラム50のみが手元にある場合であっても、仮動作経路(動作計画法アルゴリズム等により自動的に作成された動作経路)に対する実動作経路(熟練した作業者の教示により作成された動作経路)を学習した学習済みモデルを生成することができる。
【0030】
図7は、第2の実施形態による自動経路生成装置1と機械学習装置100の推定モードにおける概略的な機能ブロック図である。
図7に示した各機能ブロックは、
図1に示した自動経路生成装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、自動経路生成装置1及び機械学習装置100の各部の動作を制御することにより実現される。
【0031】
本実施形態の自動経路生成装置1は、推定モードにおいて、仮動作経路データ54に基づいて実動作経路を推定し、推定した実動作経路に基づいてロボット2を制御する。本実施形態による自動経路生成装置1において、制御部30が備える機能は第1の実施形態のものと同様のものである。
【0032】
動作経路推定部40は、作業者が入力装置71を操作に応じて図示しないUSB装置等の外部装置を介して、又は、図示しない有線/無線のネットワークを介して取得した仮動作経路データ54に基づいて、学習モデル記憶部46に記憶された学習済みモデルを用いた実動作経路の推定を行う。本変形例の動作経路推定部40では、動作経路学習部38による教師あり学習により生成された(パラメータが決定された)ニューラルネットワークを学習済みモデルとし、これに仮動作経路データ54を入力データとして入力することで実動作経路を推定(算出)する。動作経路推定部40が推定した実動作経路は、制御部30に対して出力されロボット2の制御に用いられる。また、動作経路推定部40が推定した実動作経路は、例えば表示装置70に対して表示出力したり、図示しない有線/無線のネットワークを介してホストコンピュータやクラウドコンピュータ等に送信出力して利用するようにしても良い。
【0033】
上記のように構成された本実施形態の自動経路生成装置1は、ロボット2に種々のパターンの動作を行わせて得られた複数の教師データに基づいて動作経路の学習を行い、十分な学習結果が得られた学習済みモデルを用いてロボット2の効率の良い動作経路を推定することができるようになる。
【0034】
図8は、第3の実施形態による自動経路生成装置1と機械学習装置100の推定モードにおける概略的な機能ブロック図である。
図8に示した各機能ブロックは、
図1に示した自動経路生成装置1が備えるCPU11、及び機械学習装置100のプロセッサ101が、それぞれのシステム・プログラムを実行し、自動経路生成装置1及び機械学習装置100の各部の動作を制御することにより実現される。なお、
図8では、制御用プログラム50、CADデータ52,仮動作経路データ54等については記載を省略している。
【0035】
本実施形態の自動経路生成装置1は、推定モードにおいて動作経路推定部40が仮動作経路データ54に基づいて推定した実動作経路を用いたロボット2の動作シミュレーションを実行するシミュレーション部42を備える。シミュレーション部42によるロボット2の動作シミュレーションの結果、推定された実動作経路ではロボット2乃至溶接ツールとワーク乃至治具との間で干渉が発生する場合、動作経路補正部44において、推定した実動作経路の中間点の位置等がロボット2乃至溶接ツールとワーク乃至治具との間で干渉が発生しない位置(例えば、干渉した物から予め定めた所定の距離だけ離れた位置)へと変更され、変更された実動作経路が前処理部34に入力されて、入力された実動作経路と、実動作経路の推定に用いられた仮動作経路とで新たな教師データTが作成されて、学習済みモデルに対する再学習に利用される。
【0036】
上記のように構成された本実施形態の自動経路生成装置1は、推定された実動作経路ではロボット2乃至溶接ツールとワーク乃至治具との間で干渉が発生する場合に、干渉が発生しないように実動作経路を補正し、補正した実動作経路を用いた再学習が行われ、より適切な学習済みモデルを構築することができるようになる。
【0037】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【0038】
例えば、機械学習装置100が実行する学習アルゴリズムや演算アルゴリズム、自動経路生成装置1が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【0039】
また、上記した実施形態では自動経路生成装置1と機械学習装置100が異なるCPUを有する装置として説明しているが、機械学習装置100は自動経路生成装置1が備えるCPU11と、ROM12に記憶されるシステム・プログラムにより実現するようにしても良い。
【0040】
上記した実施形態では自動経路生成装置1によりスポット溶接における打点間の動作経路の推定をする例を示したが、同様の技術をアーク溶接やレーザ溶接等におけるエアカット部分における動作経路の推定、即ち、前の溶接のプロセスと次の溶接のプロセスとの間での溶接ツールの移動に係る動作経路の推定に応用することができる。
【0041】
更に、一般的なロボットの自動経路生成に応用することも可能である。例えば、ハンドリングロボット(搬送ロボット)においては、動作点の位置としてワークを把持する位置や、ワークを搬送する先の位置などが挙げられ、干渉物としては搬送経路に存在する他の装置等が挙げられる。そして、自動経路生成装置1は、ワークを把持するまでの動作経路、ワークを把持してからワークの移動先へ移動する際の動作経路等について、動作計画法アルゴリズム等で自動生成した仮動作経路に対する熟練した作業者が作成した効率の良い実動作経路を学習させ、その学習結果を用いて、動作計画法アルゴリズム等で自動生成した仮動作経路から効率のよい実動作経路を推定するように構成しても良い。