(57)【要約】【課題】  複数のロボットの協調動作を短時間で自動生成することができる演算装置、演算方法、演算プログラムおよびロボットシステムを提供する。【解決手段】  演算装置は、第１ロボットおよび第２ロボットの協調動作によって対象物に組付けられる柔軟物の経由点情報を格納する格納部と、前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた前記第１ロボットおよび前記第２ロボットの教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて生成する動作生成部と、を備える。【選択図】  図２
2018118330.tif 000002
【特許請求の範囲】
【請求項１】
第１ロボットおよび第２ロボットの協調動作によって対象物に組付けられる柔軟物の経由点情報を格納する格納部と、
前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた前記第１ロボットおよび前記第２ロボットの教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて生成する動作生成部と、を備えることを特徴とする演算装置。
【請求項２】
前記教示点群は、前記第１ロボットおよび前記第２ロボットの位置および姿勢を含むパラメータであることを特徴とする請求項１記載の演算装置。
【請求項３】
前記教示点群は、前記第１経由点と前記第２経由点とで確定される前記区間に対して、ユーザから入力された要素作業の動作パラメータを実現するパラメータであることを特徴とする請求項１または２記載の演算装置。
【請求項４】
第１ロボットおよび第２ロボットの協調動作によって対象物に組付けられる柔軟物の経由点情報を格納部に格納し、
前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた前記第１ロボットおよび前記第２ロボットの教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて動作生成部が生成する、ことを特徴とする演算方法。
【請求項５】
コンピュータに、
第１ロボットおよび第２ロボットの協調動作によって対象物に組付けられる柔軟物の経由点情報を格納部に格納する処理と、
前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた前記第１ロボットおよび前記第２ロボットの教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて生成する処理と、実行させることを特徴とする演算プログラム。
【請求項６】
協調動作を行うことで対象物に柔軟物を組み付ける第１ロボットおよび第２ロボットと、
前記柔軟物の経由点情報を格納する格納部と、
前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて生成する動作生成部と、を備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、演算装置、演算方法、演算プログラムおよびロボットシステムに関する。
【背景技術】
【０００２】
複数のロボットに協調動作を教示する技術が求められている。例えば、複数のロボットの協調動作によって柔軟物を組み付ける技術が開示されている（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２３０７２号公報
【特許文献２】特開２０１０−０６９５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数のロボットの協調動作の計画をした後に、当該複数のロボットの動作のタイミングを調整する必要がある。したがって、動作生成に時間がかかる。
【０００５】
本件は上記課題に鑑みなされたものであり、複数のロボットの協調動作を短時間で自動生成することができる演算装置、演算方法、演算プログラムおよびロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、演算装置は、第１ロボットおよび第２ロボットの協調動作によって対象物に組付けられる柔軟物の経由点情報を格納する格納部と、前記格納部に格納された第１経由点と前記第１経由点に隣接する第２経由点とで確定される区間において、順序付けされた前記第１ロボットおよび前記第２ロボットの教示点群を含む協調動作シナリオのパラメータを、前記第１経由点と前記第２経由点とに基づいて生成する動作生成部と、を備える。
【発明の効果】
【０００７】
複数のロボットの動きを短時間で自動生成することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る演算装置を備えるロボットシステムの概略図である。
【図２】演算装置のブロック図である。
【図３】（ａ）〜（ｆ）は第１ロボットおよび第２ロボットの双腕協調作業を例示する図である。
【図４】演算装置による動作の自動生成を表すフローチャートを例示する図である。
【図５】フォーミングルートを例示する図である。
【図６】（ａ）はフォーミングルート情報を例示する図であり、（ｂ）は経由点の３次元位置座標系を例示する図であり、（ｃ）は回転座標系を例示する図である。
【図７】要素作業一覧を例示する図である。
【図８】各要素作業が必要とする動作パラメータを列挙する図である。
【図９】（ａ）〜（ｃ）は入力される動作パラメータを例示する図である。
【図１０】教示点格納部に格納される教示点のテーブルを例示する図である。
【図１１】協調動作シナリオの各要素と、要素ごとの教示点を例示する図である。
【図１２】第１ロボットおよび第２ロボットが行う一連の協調動作シナリオの各要素と、要素ごとの教示点を例示する図である。
【図１３】演算装置のハードウェア構成を例示するブロック図である。
【図１４】ロボットシステムの他の例表す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、実施例について説明する。
【実施例１】
【００１０】
図１は、実施例１に係る演算装置３０を備えるロボットシステム１００の概略図である。ロボットシステム１００は、双腕協調動作を行う装置である。図１で例示するように、ロボットシステム１００は、第１ロボット１０、第２ロボット２０、演算装置３０、制御装置４０などを備える。第１ロボット１０および第２ロボット２０は、例えば垂直多関節アームロボットであり、双腕協調動作により製品の組立などを行う。例えば、第１ロボット１０は、ケーブル等の柔軟物を把持する。第２ロボット２０は、当該柔軟物をワークの所定点に固定することで組み付ける。
【００１１】
ここで、双腕協調動作について説明する。双腕協調動作は、各々のアームロボットが互いの位置および姿勢に応じて作業を行う形態である。双腕協調動作には、完全拘束協調動作および部分拘束協調動作が含まれる。完全拘束協調動作は、動作中に各アームロボットの手先位置および手先姿勢の相対変化が無い動作であり、閉リンクを構成する動作である。例えば、両手による長尺物や重量物の運搬などが含まれる。部分拘束協調動作は、手先位置および手先姿勢の相対変化が幾何学的関係で部分的に拘束される動作である。例えば、柔軟物の組み付けなどが含まれる。本実施例に係るロボットシステムは、主として部分拘束協調動作を行うが、完全拘束協調動作などの、部分拘束協調動作以外の動作を行ってもよい。また、各々のアームロボットが互いに独立して行う動作を行ってもよい。
【００１２】
第１ロボット１０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、柔軟物を把持するための把持ツール１１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。把持ツール１１は、例えば、柔軟物を把持する。第１ロボット１０は、１以上の関節の旋回によって、把持ツール１１の位置および姿勢を調整する。位置は、ＸＹＺ軸の３軸で表すことができる。姿勢は、ＸＹＺ軸における回転角度で表すことができる。したがって、第１ロボット１０は、６自由度の動きを実現することができる。
【００１３】
第２ロボット２０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、柔軟物をワークに対して固定する固定ツール２１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。固定ツール２１は、例えば、把持ツール１１と協働してフォーミングを行う。フォーミングとは、柔軟物を所望の形状に固定する処理のことである。第２ロボット２０は、１以上の関節の旋回によって、固定ツール２１の位置および姿勢を調整する。すなわち、第２ロボット２０も、６自由度の動きを実現することができる。
【００１４】
演算装置３０は、第１ロボット１０および第２ロボット２０の動作を自動生成する。制御装置４０は、演算装置３０が自動生成した動作が実現されるように、第１ロボット１０および第２ロボット２０の動作を制御する。具体的には、制御装置４０は、第１ロボット１０の関節の角度を調整することによって把持ツール１１の位置および姿勢を制御し、把持ツール１１の把持動作を制御する。また、制御装置４０は、第２ロボット２０の関節の角度を調整することによって固定ツール２１の位置および姿勢を制御し、固定ツール２１の動作を制御する。
【００１５】
第１ロボット１０および第２ロボット２０は、部分拘束協調動作を開始する際、把持ツール１１と固定ツール２１との間で互いの位置および姿勢が相対的に固定される。その後、各動作において、把持ツール１１と固定ツール２１との間の位置および姿勢は変化する。
【００１６】
図２は、演算装置３０のブロック図である。図２で例示するように、演算装置３０は、製品情報格納部３１、フォーミングルート作成部３２、フォーミングルート格納部３３、動作生成部３４、教示点格納部３５などとして機能する。
【００１７】
図３（ａ）〜図３（ｆ）は、第１ロボット１０および第２ロボット２０の双腕協調動作を例示する図である。まず、図３（ａ）で例示するように、経由点０において、柔軟物が固定されているものとする。次に、図３（ｂ）で例示するように、把持ツール１１は、柔軟物を手繰るために、経由点０近傍まで移動する。次に、図３（ｃ）で例示するように、把持ツール１１は、柔軟物を経由点１よりも経由点２側まで手繰る。この場合、柔軟物に撓みが無いようにする。次に、図３（ｄ）で例示するように、固定ツール２１は、経由点１の上方まで移動する。次に、図３（ｅ）で例示するように、把持ツール１１は、経由点１側に移動することで、柔軟物を弛緩させる。次に、図３（ｆ）で例示するように、固定ツール２１は、下方に移動し、柔軟物を経由点１に抑えながら固定する。以下、図３（ａ）〜図３（ｆ）で例示した双腕協調動作の自動生成について説明する。
【００１８】
図４は、演算装置３０による動作の自動生成を表すフローチャートを例示する図である。図４で例示するように、動作生成部３４は、製品情報格納部３１に格納されているケーブル情報を参照する（ステップＳ１）。ケーブル情報は、例えば、ケーブルの長さ、太さなどである。
【００１９】
次に、フォーミングルート作成部３２は、ユーザによって入力されるフォーミングルートを受け取る（ステップＳ２）。フォーミングルートとは、ワークに固定されたケーブルの完成型の情報である。図５は、フォーミングルートを例示する図である。図５で例示するように、フォーミングルートには、ケーブルの経由点、ケーブルの形状などが含まれている。なお、隣接する２つの経由点で確定される区間をセグメントと称する。
【００２０】
次に、フォーミングルート作成部３２は、入力されたフォーミングルートを実現するためのフォーミングルート情報を作成する（ステップＳ３）。図６（ａ）は、フォーミングルート情報を例示する図である。図６（ａ）で例示するように、フォーミングルート作成部３２は、ステップＳ２で受け取ったフォーミングルートが実現されるように、経由点（番号１，２，…）に関連付けて、経由点１：Ｐ１，経由点２：Ｐ２，…の３次元位置情報（Ｘ位置、Ｙ位置、Ｚ位置）を作成する。また、フォーミングルート作成部３２は、各経由点でケーブルがどのような姿勢をとるかを表す３次元姿勢情報（Ｘ軸回転、Ｙ軸回転、Ｚ軸回転）を作成する。図６（ｂ）で例示するように、フォーミングルート作成部３２は、経由点１から経由点ｎ（終点）までのフォーミングルート情報を作成する。なお、各経由点における３次元姿勢情報は、図６（ｃ）で例示するような回転座標系を用いる。回転座標系において、Ｚ軸は次の経由点に向かう方向であり、Ｘ軸はケーブルの上向きであり、Ｙ軸はＺ軸とＸ軸とに直交する軸である。作成されたフォーミングルート情報は、フォーミングルート格納部３３に格納される。
【００２１】
次に、動作生成部３４は、各経由点について、協調動作を生成する。まず、動作生成部３４は、現時点で着目している経由点が終点の経由点ｎであるか否かを判定する（ステップＳ４）。ステップＳ４の実行によって、全ての経由点について協調動作の生成が終了したか否かを判定することができる。
【００２２】
ステップＳ４で「Ｎｏ」と判定された場合、動作生成部３４は、着目している経由点に関してユーザが設定した協調動作シナリオを受け取る（ステップＳ５）。例えば、ユーザは、協調動作シナリオとして、予め列挙されている要素作業の組み合わせを選択する。図７は、要素作業一覧を例示する図である。ユーザは、要素作業一覧に列挙されている要素作業を組み合わせる。例えば、ケーブルを経由点に固定するためには、図３（ａ）〜図３（ｆ）で例示したように、「把持」、「手繰り」、「弛緩」、および「抑え」の要素が選択される。次に、動作生成部３４は、ステップＳ５で受け取った協調動作シナリオを参照する（ステップＳ６）。
【００２３】
次に、動作生成部３４は、ユーザから、各要素作業の動作パラメータを受け取る（ステップＳ７）。図８は、各要素作業が必要とする動作パラメータを列挙する図である。例えば、「手繰り」に関しては、ケーブルを手繰るための把持ツール１１の移動距離、組み付け面からの高さなどのパラメータがユーザから入力される。動作パラメータは、柔軟物が、着目している経由点と隣接する次の経由点とを結ぶために必要なパラメータである。
【００２４】
図９（ａ）〜図９（ｃ）は、入力される動作パラメータを例示する図である。図９（ａ）で例示するように、「把持」の要素に関して、把持ツール１１がケーブルを把持する位置情報（Ｘ位置、Ｙ位置、Ｚ位置、Ｘ軸回転量、Ｙ軸回転量、Ｚ軸回転量）が動作パラメータとして入力される。図９（ａ）において、Ｘ０Ｙ０Ｚ０軸は回転座標系を表す。
【００２５】
次に、図９（ｂ）で例示するように、「手繰り」の要素に関して、把持ツール１１の移動距離および組み付け面からの高さが動作パラメータとして入力される。次に、図９（ｂ）で例示するように、「弛緩」の要素に関して、ケーブルの弛緩量および弛緩方向が動作パラメータとして入力される。次に、図９（ｃ）で例示するように、「抑え」の要素に関して、組み付け面へのアプローチ距離が動作パラメータとして入力される。
【００２６】
次に、動作生成部３４は、ステップＳ６で参照した協調動作シナリオの各要素について、入力された動作パラメータを用いて、教示点を計算する（ステップＳ８）。教示点とは、各ロボットの３次元位置情報および３次元姿勢情報であり、協調動作シナリオにおいて各ロボットが停止する位置および姿勢を表す情報である。動作生成部３４は、着目している経由点のフォーミングルート情報と、当該経由点に隣接する次の経由点のフォーミングルート情報とが実現されるように教示点を計算する。動作生成部３４は、教示点格納部３５に動作順に教示点を格納する。その後、ステップＳ３から再度実行される。図１０は、教示点格納部３５に格納される教示点のテーブルを例示する図である。図１０で例示するように、動作順番に、ロボットの識別情報と、３次元位置情報と、３次元姿勢情報とが格納されることになる。その後、ステップＳ４から再度実行される。
【００２７】
図１１は、協調動作シナリオの各要素と、要素ごとの教示点を例示する図である。図１１で例示するように、「手繰り」に関して、第１ロボット１０の教示点Ｐ１が算出されている。第１ロボット１０の教示点Ｐ１は、ケーブルを手繰った後の第１ロボット１０の３次元位置および３次元姿勢である。次に、「弛緩」に関して、第１ロボット１０の教示点Ｐ２が算出されている。第１ロボット１０の教示点Ｐ２は、ケーブルを弛緩させた後の第１ロボット１０の３次元位置および３次元姿勢である。
【００２８】
次に、「抑え」に関して、第２ロボット２０の教示点Ｐ１が算出されている。第２ロボット２０の教示点Ｐ１は、ケーブルを組み付け面に対して下降させた後の第２ロボット２０の３次元位置および３次元姿勢である。さらに、第２ロボット２０の教示点Ｐ２が算出されている。第２ロボット２０の教示点Ｐ２は、ケーブルを経由点に対して固定させた後の第２ロボット２０の３次元位置および３次元姿勢である。
【００２９】
図１２は、第１ロボット１０および第２ロボット２０が行う一連の協調動作シナリオの各要素と、要素ごとの教示点を例示する図である。図１２で例示するように、セグメントごとに、協調動作シナリオの各要素と、要素ごとの教示点とが算出される。
【００３０】
再度図２を参照して、ステップＳ４で「Ｙｅｓ」と判定された場合には、演算装置３０は、ロボットシミュレータ５０に、教示点格納部３５に格納されている教示点情報を出力する（ステップＳ９）。また、ロボットシミュレータ５０は、製品情報格納部３１から３Ｄモデルデータを受け取る。３Ｄモデルデータは、第１ロボット１０および第２ロボット２０を仮想的に実現するために必要なデータである。ロボットシミュレータ５０は、教示点情報および３Ｄモデルデータを用いて、第１ロボット１０および第２ロボット２０の協調動作を仮想的に実現する。ロボットシミュレータ５０のシミュレーションを確認することで、第１ロボット１０および第２ロボット２０の動作を確認することができる。または、ロボットシミュレータ５０を用いずに、制御装置４０が教示点情報を受け取り、第１ロボット１０および第２ロボット２０に実際に動作を行わせてもよい。この場合においても、第１ロボット１０および第２ロボット２０の動作を確認することができる。その後、フローチャートの実行が終了する。
【００３１】
図１３は、演算装置３０のハードウェア構成を例示するブロック図である。図１３で例示するように、演算装置３０は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、入力機器１０４、表示装置１０５などを備える。これらの各機器は、バスなどによって接続されている。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。入力機器１０４は、ユーザがデータを入力するための機器などであり、例えば、キーボード、マウスなどである。表示装置１０５は、演算装置３０の演算結果、ロボットシミュレータ５０のシミュレーション結果等を表示する装置であり、液晶画面などである。
【００３２】
ＣＰＵ１０１が記憶装置１０３に記憶されている演算プログラムを実行することによって、図２で例示するように、演算装置３０内に製品情報格納部３１、フォーミングルート作成部３２、フォーミングルート格納部３３、動作生成部３４、教示点格納部３５が実現される。なお、演算装置３０は、専用の回路などのハードウェアであってもよい。
【００３３】
（他の例）
図１４は、ロボットシステムの他の例表す図である。図１４で例示するように、ロボットシステムは、制御装置４０が、インターネットなどの電気通信回線３０１を通じてクラウド３０２と接続された構成を有する。クラウド３０２は、図１３のＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、入力機器１０４、表示装置１０５などを備え、演算装置３０としての機能を実現する。
【００３４】
本実施例によれば、第１ロボット１０および第２ロボット２０の協調動作によって対象物に組付けられる柔軟物の経由点情報が、フォーミングルート情報としてフォーミングルート格納部３３に格納される。それにより、経由点と当該経由点に隣接する経由点とでセグメントが確定される。次に、格納された経由点と当該経由点に隣接する経由点とで確定されるセグメントにおいて、順序付けされた教示点群を含む協調動作シナリオのパラメータが、隣接する上記２経由点に基づいて生成される。このように、各ロボットの動作を独立に計画するのではなく、協調動作シナリオのパラメータを隣接する２経由点に基づいて生成することで、第１ロボット１０および第２ロボット２０のタイミング調整の作業が省略される。したがって、動作生成に要する時間を短縮化することができる。また、各経由点間での協調動作シナリオのパラメータの生成を繰り返すことで、組付け全体の動作計画をしなくてもよくなる。
【００３５】
なお、上記例では、経由点は、フォーミング完成後の柔軟物の固定点としているが、それに限られない。例えば、柔軟物の経由点は、「抑え」の動作を必要としない場合や「抑え」の動作により必ずしもワークに固定されない場合などのケースが存在する。
【００３６】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３７】
１０  第１ロボット
１１  把持ツール
２０  第２ロボット
２１  固定ツール
３０  演算装置
３１  製品情報格納部
３２  フォーミングルート作成部
３３  フォーミングルート格納部
３４  動作生成部
３５  教示点格納部
４０  制御装置
５０  ロボットシミュレータ
１００  ロボットシステム
【図１】
2018118330.tif 000003
【図２】
2018118330.tif 000004
【図３】
2018118330.tif 000005
【図４】
2018118330.tif 000006
【図５】
2018118330.tif 000007
【図６】
2018118330.tif 000008
【図７】
2018118330.tif 000009
【図８】
2018118330.tif 000010
【図９】
2018118330.tif 000011
【図１０】
2018118330.tif 000012
【図１１】
2018118330.tif 000013
【図１２】
2018118330.tif 000014
【図１３】
2018118330.tif 000015
【図１４】
2018118330.tif 000016