(57)【要約】【課題】  複数のロボットの動きを自動生成することができる制御装置、制御方法、および制御プログラムを提供する。【解決手段】  制御装置は、第１ロボットと第２ロボットとが行う各作業において、前記第１ロボットと前記第２ロボットとの互いの相対的な位置および姿勢を指定する指定部と、前記各作業において、前記第１ロボットおよび前記第２ロボットの動作のうち所定の制約条件を満たす動作の候補を探索する探索部と、前記探索部によって探索された動作を組み合わせることで、前記第１ロボットおよび前記第２ロボットの一連の動作を決定する決定部と、を備える。【選択図】  図３
2016112655.tif 000002
【特許請求の範囲】
【請求項１】
第１ロボットと第２ロボットとが行う各作業において、前記第１ロボットと前記第２ロボットとの互いの相対的な位置および姿勢を指定する指定部と、
前記各作業において、前記第１ロボットおよび前記第２ロボットの動作のうち所定の制約条件を満たす動作の候補を探索する探索部と、
前記探索部によって探索された動作を組み合わせることで、前記第１ロボットおよび前記第２ロボットの一連の動作を決定する決定部と、を備えることを特徴とする制御装置。
【請求項２】
前記制約条件は、前記第１ロボットおよび前記第２ロボットの関節角度限度を含むことを特徴とする請求項１記載の制御装置。
【請求項３】
前記制約条件は、前記第１ロボットと前記第２ロボットとの間の干渉、前記第１ロボットの部位同士の干渉、および前記第２ロボットの部位同士の干渉の少なくともいずれかを回避するための条件を含むことを特徴とする請求項１または２記載の制御装置。
【請求項４】
前記決定部は、前記第１ロボットおよび前記第２ロボットの関節角速度が制限を越えないように、前記探索部によって探索された動作を組み合わせることを特徴とする請求項１〜３のいずれか一項に記載の制御装置。
【請求項５】
指定部が、第１ロボットと第２ロボットとが行う各作業において、前記第１ロボットと前記第２ロボットとの互いの相対的な位置および姿勢を指定し、
探索部が、前記各作業において、前記第１ロボットおよび前記第２ロボットの動作のうち所定の制約条件を満たす動作の候補を探索し、
決定部が、前記探索部によって探索された動作を組み合わせることで、前記第１ロボットおよび前記第２ロボットの一連の動作を決定する、ことを特徴とする制御方法。
【請求項６】
コンピュータに、
第１ロボットと第２ロボットとが行う各作業において、前記第１ロボットと前記第２ロボットとの互いの相対的な位置および姿勢を指定する処理と、
前記各作業において、前記第１ロボットおよび前記第２ロボットの動作のうち所定の制約条件を満たす動作の候補を探索する処理と、
探索された動作を組み合わせることで、前記第１ロボットおよび前記第２ロボットの一連の動作を決定する処理と、を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、制御装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
複数のロボットに協調動作を教示する技術が求められている。例えば、複数のロボットの協調動作の教示内容における相互干渉の可能性を検出し、干渉の無い教示内容を生成する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１２８０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術は、複数のロボットの動きを自動生成するものではなく、オペレータの教示により動作を教示する技術であり、教示内容の登録時に、複数のロボット間の相互干渉有無を検出しているだけである。
【０００５】
本件は上記課題に鑑みなされたものであり、複数のロボットの動きを自動生成することができる制御装置、制御方法、および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、制御装置は、第１ロボットと第２ロボットとが行う各作業において、前記第１ロボットと前記第２ロボットとの互いの相対的な位置および姿勢を指定する指定部と、前記各作業において、前記第１ロボットおよび前記第２ロボットの動作のうち所定の制約条件を満たす動作の候補を探索する探索部と、前記探索部によって探索された動作を組み合わせることで、前記第１ロボットおよび前記第２ロボットの一連の動作を決定する決定部と、を備える。
【発明の効果】
【０００７】
複数のロボットの動きを自動生成することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る制御装置を備える作業システムの概略図である。
【図２】１番目の作業から９番目の作業までそれぞれにおける、ワークの位置および姿勢に対する作業ツールの所定点の位置および当該所定点における座標系の作業軌道を表す。
【図３】（ａ）は制御装置の機器構成図であり、（ｂ）は制御装置の機能ブロック図である。
【図４】（ａ）〜（ｆ）はワークに対する作業ツールの具体的な作業を表す図である。
【図５】（ａ）〜（ｄ）は、作業ツールの位置（ＸＹＺ座標）と、姿勢（回転量）とを表す図である。
【図６】（ａ）〜（ｄ）は、作業ツールの位置（ＸＹＺ座標）と、姿勢（回転量）とを表す図である。
【図７】制御装置が行う動作の一例を表すフローチャートである。
【図８】決定部によって決定された一連の動作の例を表す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、実施例について説明する。
【実施例１】
【００１０】
図１は、実施例１に係る制御装置１０を備える作業システム１００の概略図である。作業システム１００は、双腕協調作業を行う装置である。図１で例示するように、作業システム１００は、制御装置１０、把持ロボット２０、作業ロボット３０、台４０などを備える。把持ロボット２０および作業ロボット３０は、例えば垂直多関節アームロボットであり、双腕協調作業により製品の組立などを行う。例えば、把持ロボット２０は、台４０上に載置されたワーク５０を把持する。作業ロボット３０は、把持ロボット２０に把持されたワーク５０に対して作業を行う。
【００１１】
ここで、双腕協調作業について説明する。双腕協調作業は、各々のアームロボットが互いの位置および姿勢に応じて作業を行う形態であり、各々のアームロボットが互いに独立して行う作業を含まない。また、双腕協調作業には、完全拘束協調作業および部分拘束協調作業が含まれる。完全拘束協調作業は、作業中に各アームロボットの手先位置および手先姿勢の相対変化が無い作業であり、閉リンクを構成する作業である。例えば、両手による長尺物や重量物の運搬などが含まれる。部分拘束協調作業は、手先位置および手先姿勢の相対変化が幾何学的関係で部分的に拘束される作業である。例えば、溶接、刷毛塗装、シール貼り、ネジ締めなどが含まれる。本実施例に係る作業システムは、主として部分拘束協調作業を行うが、部分拘束協調作業以外の作業を行ってもよい。
【００１２】
把持ロボット２０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、ワーク５０を把持するための把持ツール２１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。把持ツール２１は、例えば、板状のワーク５０を挟持する。把持ロボット２０は、１以上の関節の旋回によって、把持ツール２１の位置および姿勢を調整する。位置は、ＸＹＺ軸の３軸で表すことができる。姿勢は、ＸＹＺ軸における回転角度で表すことができる。したがって、把持ロボット２０は、６自由度の動きを実現することができる。図１では、把持ツール２１の先端に、把持ツール２１の座標系が描かれている。
【００１３】
作業ロボット３０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、ワーク５０に対して作業を行う作業ツール３１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。作業ツール３１は、例えば、ワーク５０に対してフレキシブル基板を取り付ける作業などを行う。作業ロボット３０は、１以上の関節の旋回によって、作業ツール３１の位置および姿勢を調整する。すなわち、作業ロボット３０も、６自由度の動きを実現することができる。図１では、作業ツール３１の先端に作業ツール３１の座標系が描かれている。
【００１４】
制御装置１０は、把持ロボット２０および作業ロボット３０の動作を制御する。具体的には、制御装置１０は、把持ロボット２０の関節の角度を調整することによって把持ツール２１の位置および姿勢を制御し、把持ツール２１の把持動作を制御する。また、制御装置１０は、作業ロボット３０の関節の角度を調整することによって作業ツール３１の位置および姿勢を制御し、作業ツール３１の作業動作を制御する。したがって、把持ツール２１の位置、姿勢および動作は、把持ロボット２０の各関節の角度で表すことができる。また、作業ツール３１の位置、姿勢および動作は、作業ロボット３０の各関節の角度で表すことができる。
【００１５】
把持ロボット２０および作業ロボット３０は、部分拘束協調作業を行うことから、各作業において、把持ツール２１と作業ツール３１との間で互いの位置および姿勢が相対的に固定される。各作業において、把持ツール２１と作業ツール３１との間の位置および姿勢は変化する。例えば、一方の位置および姿勢を固定すると、各作業における所定時点（例えば開始時点）の他方の位置における座標系を並べると、当該他方の座標系が軌道を描く。この軌道のことを作業軌道と称する。また、各作業における上記所定時点のことを経由点と称する。
【００１６】
図２は、１番目の作業から９番目の作業までそれぞれにおける、ワーク５０の位置および姿勢に対する作業ツール３１の所定点（例えば先端点）の位置および当該所定点における座標系の作業軌道を表す。すなわち、図２は、把持ツール２１および作業ツール３１が行う各作業において、把持ツール２１と作業ツール３１との間における互いの相対的な位置および姿勢を、時系列で表した図である。なお、ワーク５０は、把持ツール２１によって把持によって固定されているため、図２におけるワーク５０の位置および姿勢は、把持ツール２１の位置および姿勢に相当する。
【００１７】
部分拘束協調作業においては、把持ツール２１の位置および姿勢と、作業ツール３１の位置および姿勢との相対的関係が固定されていればよい。したがって、作業システム１００の絶対座標系における把持ツール２１および作業ツール３１の位置および姿勢は、無数にある。例えば、図２の１番目の作業に注目した場合、作業システム１００の空間の一方端で行ってもよく、他方端で行ってもよいことになる。
【００１８】
しかしながら、作業システム１００の空間内の場所によっては、把持ロボット２０および作業ロボット３０の関節角度限度を越えるおそれもある。また、把持ロボット２０と作業ロボット３０との間で、互いの部位同士（例えば上腕部や手首部）が干渉（相互干渉）するおそれもある。さらに、各アームロボットにおいて、自身の互いの部位同士（例えば上腕部と手首部）が干渉（自己干渉）するおそれもある。さらに、把持ロボット２０および作業ロボット３０の一方または両方が、作業システム１００外の機器と衝突するおそれがある。以上のことから、これらの制約条件を満たすように、作業システム１００の絶対座標系における、上記各経由点の位置と、当該位置における把持ツール２１および作業ツール３１の位置および姿勢を決定することが望まれる。そこで、本実施例においては、上記制約条件を満たすように、作業システム１００の絶対座標系における、各経由点の位置と、当該位置における把持ツール２１および作業ツール３１の位置および姿勢を自動的に決定する。
【００１９】
図３（ａ）は、制御装置１０の機器構成図である。図３（ｂ）は、制御装置１０の機能ブロック図である。図３（ａ）で例示するように、制御装置１０は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、入力機器１０４、表示装置１０５などを備える。これらの各機器は、バスなどによって接続されている。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。入力機器１０４は、ユーザがデータを入力するための機器などであり、例えば、キーボード、マウスなどである。表示装置１０５は、制御装置１０の処理結果などを表示する装置であり、液晶画面などである。
【００２０】
ＣＰＵ１０１が記憶装置１０３に記憶されている制御プログラムを実行することによって、図３（ｂ）で例示するように、制御装置１０内に指定部１１、探索部１２、保存部１３、および決定部１４が実現される。なお、制御装置１０は、専用の回路などのハードウェアであってもよい。
【００２１】
以下、作業システム１００の動作について説明する。まず、ワーク５０に対する作業ツール３１の具体的な作業例について説明する。図４（ａ）〜図４（ｆ）は、ワーク５０に対する作業ツール３１の具体的な作業を表す図である。図４（ａ）で例示するように、作業ツール３１は、ワーク５０に取り付けられているＦＰＣの所定点を仮把持する。次に、図４（ｂ）で例示するように、作業ツール３１は、Ｘ軸方向に並進移動することによって、ＦＰＣの把持点まで手繰る。
【００２２】
次に、図４（ｃ）で例示するように、作業ツール３１は、並進移動とＹ軸の９０度回転とを組み合わせることで、ＦＰＣを引き寄せる。次に、図４（ｄ）で例示するように、作業ツール３１は、Ｚ軸の９０回転を行うことによって、ＦＰＣの把持点姿勢を変える。次に、図４（ｅ）で例示するように、作業ツール３１は、並進移動とＸ軸の２７０度回転とを組み合わせることで、ＦＰＣの端子部を裏側に回す。最後に、図４（ｆ）で例示するように、作業ツール３１は、ＦＰＣの端子部をコネクタに挿入する。
【００２３】
図５（ａ）〜図６（ｄ）は、図４（ａ）〜図４（ｆ）の各作業における、ワーク５０に対する作業ツール３１の位置（ＸＹＺ座標）と、姿勢（回転量）とを表す図である。各図において、行列には、回転成分とＸＹＺ座標とが含まれる。このように、各経由点における作業は、作業ツール３１の位置および姿勢の６自由度で表すことができる。なお、図５（ｂ）〜図６（ｄ）では、ＦＰＣを省略してある。
【００２４】
続いて、制御装置１０の動作の詳細について説明する。図７は、制御装置１０が行う動作の一例を表すフローチャートである。図６で例示するように、指定部１１は、ワーク５０に対する作業ツール３１の作業軌道（経由点の時系列Ｐ０、Ｐ１、Ｐ２、…Ｐｎ）を指定する（ステップＳ１）。当該経由点の時系列は、入力機器１０４を介してユーザによって入力される。
【００２５】
次に、探索部１２は、経由点Ｐｉでのワーク５０の位置および姿勢をパラメータとし、作業システム１００の絶対座標の各点における、把持ロボット２０および作業ロボット３０の各関節の角度（状態）を計算する（ステップＳ２）。なお、「ｉ」の初期値は「１」である。ステップＳ２では、１以上の絶対座標に対して、把持ロボット２０および作業ロボット３０の各関節の角度が得られることになる。
【００２６】
次に、探索部１２は、ステップＳ２で得られた状態が、把持ロボット２０および作業ロボット３０が所定の制約条件を満たすか否かを計算する（ステップＳ３）。なお、所定の制約条件には、各関節の角度限度が含まれる。角度限度とは、関節の稼動限度における角度のことである。また、所定の制約条件には、把持ロボット２０と作業ロボット３０との間の相互干渉、把持ロボット２０の自己干渉、および作業ロボット３０の自己干渉の少なくともいずれかを回避するための条件が含まれていてもよい。また、所定の制約条件には、把持ロボット２０が外部機器と衝突しない条件、作業ロボット３０が外部機器と衝突しない条件などが含まれていてもよい。
【００２７】
次に、保存部１３は、ステップＳ３の制約条件を満たす把持ロボット２０および作業ロボット３０の各状態を候補として保存する（ステップＳ４）。
【００２８】
次に、探索部１２は、ｉ＜ｎであれば、経由点Ｐｉを次のＰｉ＋１に更新し（ステップＳ５）、ステップＳ２〜ステップＳ４を繰り返す。ｉ＝ｎであれば、決定部１４は、各経由点での把持ロボット２０および作業ロボット３０の状態の候補から１つずつ選択することによって、把持ロボット２０および作業ロボット３０の一連の動作（動作の時系列）を決定する（ステップＳ６）。この場合、決定部１４は、各作業を完了させるための総時間や作業システム１００の環境などに応じて、一連の動作を決定してもよい。例えば、決定部１４は、一連の動作の隣接する動作間で、把持ロボット２０および作業ロボット３０の関節角速度制限を越えないようにしてもよい。決定部１４によって決定される一連の動作は、１種類に限らず、複数種類となることも有り得る。次に、決定部１４は、生成された一連の動作を、実現可能な動作候補として出力する（ステップＳ７）。例えば、決定部１４は、当該候補を表示装置１０５に表示させる。
【００２９】
図８は、決定部１４によって決定された一連の動作の例を表す図である。図８で例示するように、一連の動作は、把持ロボット２０および作業ロボット３０の各関節の角度で表すことができる。
【００３０】
本実施例によれば、目標となる作業軌道を入力するだけで、複数のロボットの動きを自動生成することができる。これをオペレータによる手動と比較すると、ロボットの単純な軌道追従の教示作業でも相当の作業時間を要し、複数のロボットに対する衝突可能性等を考慮した動きの教示には、さらに多くの作業時間を要すると想定される。場合によっては、人間では不可能なことも想定される。これに対して、本実施例によれば、例えば数分の処理で教示作業を完了することが可能である。また、人手では、考えつかなかったような、より効率的なロボット動作を作成できる可能性がある。
【００３１】
上記例においては、把持ロボット２０および作業ロボット３０の２台のロボット間の作業に着目したが、３台以上のロボットの作業に上記例を適用することもできる。ロボットが３台以上になっても、協調作業においては、各ロボット間において、相対的な位置および姿勢が固定されるからである。
【００３２】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３３】
１０  制御装置
２０  把持ロボット
２１  把持ツール
３０  作業ロボット
３１  作業ツール
４０  台
５０  ワーク
１００  作業システム
【図１】
2016112655.tif 000003
【図２】
2016112655.tif 000004
【図３】
2016112655.tif 000005
【図４】
2016112655.tif 000006
【図５】
2016112655.tif 000007
【図６】
2016112655.tif 000008
【図７】
2016112655.tif 000009
【図８】
2016112655.tif 000010