(57)【要約】【課題】ワークの状態に応じてロボットの挙動を精度良く制御する方法を提供する。【解決手段】ワークを移動するロボットの制御方法にかかわる。手部にワークを把持させてロボットを駆動するときの手部の挙動を検出し、複数種類のワークを移動するときのロボットの挙動に関する情報を記憶する学習工程と、ワークの属性を検出する属性検出工程と、ワークの属性と挙動の情報とを用いてロボットの制御条件を設定する制御条件設定工程と、ロボットがワークを移動する移動工程と、を有する。【選択図】図３
2010264559.tif 000002
【特許請求の範囲】
【請求項１】
ワークを移動させるロボットの制御方法であって、
前記ワークの属性を検出する属性検出工程と、
前記ワークの属性と記憶部に記憶された挙動情報とに基づいて制御条件を設定する制御条件設定工程と、
前記制御条件設定工程において設定された前記制御条件に基づいて前記ワークを移動させる移動工程と、を有することを特徴とするロボットの制御方法。
【請求項２】
ワークを移動させるロボットの制御方法であって、
前記ワークの属性を検出する属性検出工程と、
前記ワークの属性と記憶部に記憶された挙動情報とに基づいて前記ワークを移動するか否かを判断する移動判断工程と、
前記移動判断工程において前記ワークを移動する判断をしたとき、前記ワークを移動させる移動工程と、を有することを特徴とするロボットの制御方法。
【請求項３】
請求項１または２に記載のロボットの制御方法であって、
前記ワークを把持する把持部に負荷が加えられた状態で前記把持部が駆動されるときの前記把持部の挙動を検出し、前記負荷に対する前記挙動情報を記憶する学習工程を有することを特徴とするロボットの制御方法。
【請求項４】
請求項３に記載のロボットの制御方法であって、
前記学習工程における前記挙動情報には前記把持部が所定の区間を移動するときの経過時間を含むことを特徴とするロボットの制御方法。
【請求項５】
請求項３または４に記載のロボットの制御方法であって、
前記学習工程における前記挙動の前記情報には前記把持部が移動する軌跡を含むことを特徴とするロボットの制御方法。
【請求項６】
請求項１〜５のいずれか一項に記載のロボットの制御方法であって、
前記属性検出工程において検出した前記ワークの属性が、記憶された前記挙動情報にあるか否かを判断する属性判断工程を有し、
前記ワークの属性が前記挙動情報にないときには、前記学習工程を行って前記ワークと対応する負荷における前記挙動の前記情報を記憶することを特徴とするロボットの制御方法。
【請求項７】
請求項３〜６のいずれか一項に記載のロボットの制御方法であって、
前記学習工程では、前記把持部に前記負荷を加えて前記把持部を移動させて前記把持部の挙動を検出することを特徴とするロボットの制御方法。
【請求項８】
請求項１〜７のいずれか一項に記載のロボットの制御方法であって、
前記記憶部には予め前記ワークの属性と、前記属性に対応する前記挙動情報が記憶されていることを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御方法にかかわり、特に、ワークを移動するロボットの挙動を制御する方法に関するものである。
【背景技術】
【０００２】
ワークの移動及び組立作業にロボットが広く活用されている。ロボットの制御方法が特許文献１に開示されている。それによると、ロボットのコントローラーにはロボットを駆動する手順を示したプログラムが記憶されている。さらに、ホストコンピューターには複数種類のワークの位置データが記憶されていた。そして、コントローラーは操作するワークの種類に応じた位置データを入力する。そして、コントローラーはプログラムと位置データとを用いてロボットを駆動していた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−５３０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットがワークを把持して移動するとき、ロボットはワークの影響を受けることがある。例えば、ワークの重量が大きいときには、ワークの慣性力が大きくなる。そして、ロボットがワークを把持して所定の速度で移動するとき、ワークの重量に対応した加速度が必要となる。さらに、ワークを把持した把持部を所定の場所に停止させるとき、ワークの重量に対応した加速度を加えて停止させる必要がある。そして、複数のロボットが共有領域にて動作するとき、所定の位置に所定のタイミングにて停止しない場合には、ロボット同士が衝突する恐れがある。
【０００５】
さらに、容器内に移動する物が入ったワークを操作するとき、ワークの移動によりワークの重心位置が変動する。そして、ワークの重心位置が変動することにより、ロボットの把持部の軌跡が変動する。ロボットの把持部やアーム等の可動部が予定した道筋とずれるとき、ロボットと障害物等とが干渉する恐れがある。そして、ワークの状態に応じてロボットの挙動を精度良く制御する方法が望まれていた。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］
本適用例にかかるロボットの制御方法は、ワークを移動させるロボットの制御方法であって、前記ワークの属性を検出する属性検出工程と、前記ワークの属性と記憶部に記憶された挙動情報とに基づいて制御条件を設定する制御条件設定工程と、前記制御条件設定工程において設定された前記制御条件に基づいて前記ワークを移動させる移動工程と、を有することを特徴とする。
【０００８】
このロボットの制御方法によれば、属性検出工程では、ワークの属性を検出する。制御条件設定工程では、ワークの属性と挙動情報とを用いて把持部の制御条件を設定する。そして、移動工程では、設定した制御条件にて把持部がワークを移動する。
【０００９】
ワークの重量や柔らかさ等の属性により把持部の挙動が変わることがある。例えば、移動する物が入っている容器がワークであるとき、ワークを移動するときにワークの重心が移動する。可動部はワークの重心移動の影響を受けて、挙動が変わる。この場合にもワークの属性に適した制御をすることにより把持部の挙動を計画した挙動に近づけることができる。
【００１０】
［適用例２］
本適用例にかかるロボットの制御方法は、ワークを移動させるロボットの制御方法であって、前記ワークの属性を検出する属性検出工程と、前記ワークの属性と記憶部に記憶された挙動情報とに基づいて前記ワークを移動するか否かを判断する移動判断工程と、前記移動判断工程において前記ワークを移動する判断をしたとき、前記ワークを移動させる移動工程と、を有することを特徴とする。
【００１１】
このロボットの制御方法によれば、属性検出工程にてワークの属性を検出する。移動判断工程では、ワークの属性と挙動の情報とを用いてワークを移動するか否かを判断する。そして、計画どおりにワークを移動できると判断するときには、移動工程において、可動部がワークを移動する。
【００１２】
移動判断工程では、ワークの属性に対応する把持部の軌道や移動のタイミングを推定できる。従って、可動部が移動するときに計画どおりにワークを移動できるか否かを品質良く判断することができる。
【００１３】
［適用例３］
上記適用例にかかるロボットの制御方法において、前記ワークを把持する把持部に負荷が加えられた状態で前記把持部が駆動されるときの前記把持部の挙動を検出し、前記負荷に対する前記挙動情報を記憶する学習工程を有することを特徴とする。
【００１４】
このロボットの制御方法によれば、把持部に負荷を加えて駆動するときの把持部の挙動を検出して記憶している。従って、把持部を制御するときには把持部の挙動を品質良く推測することができる。
【００１５】
［適用例４］
上記適用例にかかるロボットの制御方法において、前記学習工程における前記挙動情報には前記把持部が所定の区間を移動するときの経過時間を含むことを特徴とする。
【００１６】
このロボットの制御方法によれば、挙動情報を用いることにより、把持部がワークを所定区の区間を移動するのにかかる時間を精度良く推定することができる。
【００１７】
［適用例５］
上記適用例にかかるロボットの制御方法において、前記学習工程における前記挙動の前記情報には前記把持部が移動する軌跡を含むことを特徴とする。
【００１８】
このロボットの制御方法によれば、挙動の情報を用いることにより、可動部がワークを移動するときの軌道の分散を精度良く推定することができる。
【００１９】
［適用例６］
上記適用例にかかるロボットの制御方法において、前記属性検出工程において検出した前記ワークの属性が、記憶された前記挙動情報にあるか否かを判断する属性判断工程を有し、前記ワークの属性が前記挙動情報にないときには、前記学習工程を行って前記ワークと対応する負荷における前記挙動の前記情報を記憶することを特徴とする。
【００２０】
このロボットの制御方法によれば、ワークの挙動を推定できないときには、学習工程にて可動部の挙動を検出する。従って、挙動情報がないワークに対しても把持部の挙動を推定することができる。
【００２１】
［適用例７］
上記適用例にかかるロボットの制御方法において、前記学習工程では、前記把持部に前記負荷を加えて前記把持部を移動させて前記把持部の挙動を検出することを特徴とする。
【００２２】
このロボットの制御方法によれば、把持部を移動させて挙動を検出している。コンピューターにてシミュレーションすることにより把持部の挙動を検出する方法がある。負荷の挙動が複雑になる場合には、コンピューターにてシミュレーションを行うのに演算するプロセスが膨大になる。従って、高速処理が可能なコンピューターが必要となる。この方法に比べて、把持部を移動させて挙動を検出する方が簡便に可動部の挙動を検出することができる。
【００２３】
［適用例８］
上記適用例にかかるロボットの制御方法において、前記記憶部には予め前記ワークの属性と、前記属性に対応する前記挙動情報が記憶されていることを特徴とする。
【００２４】
このロボットの制御方法によれば、ワークの属性とワーク属性に対応する挙動情報とが記憶されている。従って、属性に対応する挙動情報を容易に検索することができる。
【図面の簡単な説明】
【００２５】
【図１】分類装置の構成を示す概略斜視図。
【図２】分類装置の電気制御ブロック図。
【図３】ワークの分類作業を示すフローチャート。
【図４】ワークの分類作業におけるロボット制御方法を説明するための模式図。
【図５】ワークの分類作業におけるロボット制御方法を説明するための模式図。
【図６】ワークの分類作業におけるロボット制御方法を説明するための模式図。
【発明を実施するための形態】
【００２６】
以下、実施形態について図面に従って説明する。尚、各図面における各部材は、各図面上で認識可能な程度の大きさとするため、各部材毎に縮尺を異ならせて図示している。
（第１の実施形態）
本実施形態におけるロボットを用いた分類装置と特徴的なロボット制御方法を用いてワークを分類する方法とについて図１〜図６に従って説明する。
【００２７】
（分類装置）
図１は、分類装置の構成を示す概略斜視図である。図１に示すように、分類装置１は主に供給装置２、撮像セット３、第１ロボット４、第２ロボット５、搬送装置６及び制御装置７から構成されている。そして、分類装置１は複数種類の負荷としてのワーク８を種類毎に分類する機能を備えている。
【００２８】
供給装置２はワーク８を供給する装置である。ワーク８の形状や材質は特に限定されない。第１ロボット４及び第２ロボット５が把持可能であれば良い。本実施形態では、例えば、第１ワーク８ａ〜第５ワーク８ｅの５種類のワーク８を分類する場合の例の説明をする。各ワーク８は形状、硬さ、が異なっている。そして、ワーク８の内部は空洞になっている。第１ワーク８ａ及び第２ワーク８ｂの内部には液体が配置され、第３ワーク８ｃ及び第４ワーク８ｄは内部には顆粒が配置されている。第５ワーク８ｅの内部には球状の固体が配置されている。従って、各ワーク８を移動するとき、各ワーク８の重心位置が変動するようになっている。
【００２９】
供給装置２は１方向に長く形成された基台９を備えている。基台９の長手方向をＸ方向とする。そして、水平面上において、Ｘ方向と直交する方向をＹ方向とする。鉛直方向をＺ方向とする。基台９のＹ方向の両側には一対の側板１０が配置されている。
【００３０】
２つの側板１０の間にはベルト１１が配置されている。ベルト１１は円筒状に形成されたシートからなり、ベルト１１の内部には図示しない一対のプーリーが配置されている。そして、プーリーによりベルト１１はＸ方向に所定の張力がかけられている。図中右下側の側板１０において図中左側にはモーター１２が配置され、モーター１２の駆動軸はプーリーと接続されている。ベルト１１の上面にはワーク８が載置されている。ワーク８は図示しない供給装置によりベルト１１上に載置される。そして、モーター１２を駆動して停止することにより、ベルト１１を介してワーク８をＸ方向に移動させて所定の場所に停止させることができる。
【００３１】
供給装置２の図中右側には第１ロボット４が配置されている。本実施形態では第１ロボット４及び第２ロボット５に垂直多関節ロボットを採用したが、これに限らず、水平他関節型ロボットや直交ロボット等の各種ロボットを採用することができる。第１ロボット４には可動部としての回転テーブル４ａを備えている。回転テーブル４ａ上には複数の可動部としてのアーム４ｂが関節４ｃを挟んで配置されている。そして、複数のアーム４ｂの先端には可動部及び把持部としての手部４ｄが配置されている。手部４ｄは直動機構を備え、直動機構には一対の可動部としての指部４ｅが配置されている。この直動機構を駆動することにより第１ロボット４は指部４ｅの間隔を変更する。そして、手部４ｄは指部４ｅの間にワーク８を挟んで把持することができる。第１ロボット４はワーク８を把持したまま回転テーブル４ａ及びアーム４ｂを移動することによりワーク８を移動することができる。
【００３２】
第１ロボット４の図中右上には中間台１３を介して第２ロボット５が配置されている。中間台１３はワーク８を第１ロボット４から第２ロボット５に渡すときに用いられる台である。第１ロボット４がワーク８を供給装置２から運んで、中間台１３上に載置する。次に、第２ロボット５が中間台１３上のワーク８を把持して移動する。
【００３３】
第２ロボット５は第１ロボット４と同様な装置である。第２ロボット５は可動部としての回転テーブル５ａを備えている。回転テーブル５ａ上には複数の可動部としてのアーム５ｂが関節５ｃを挟んで配置されている。そして、複数のアーム５ｂの先端には可動部としての手部５ｄが配置されている。手部５ｄは直動機構を備え、直動機構には一対の可動部としての指部５ｅが配置されている。この直動機構を駆動することにより第２ロボット５は指部５ｅの間隔を変更する。そして、手部５ｄは指部５ｅの間にワーク８を挟んで把持することができる。
【００３４】
第２ロボット５の図中右上には搬送装置６が配置されている。搬送装置６は供給装置２と同様な機構を５個備えている。そして、Ｘ方向に移動するベルト１１がＹ方向に５個配列されている。そして、ベルト１１上に載置されたワーク８をＸ方向に移動する。
【００３５】
第２ロボット５がワーク８を中間台１３上から搬送装置６のベルト１１上に移動する。このとき、第２ロボット５は１つのベルト１１上には１種類のワーク８のみ載置されるように分類する。従って、１つのベルト１１は１種類のワーク８を移動するようになっている。そして、搬送装置６はワーク８を次工程に移動する。
【００３６】
第１ロボット４及び第２ロボット５の図中左上には撮像セット３が配置されている。撮像セット３は支持部１４を備えている。そして、支持部１４には第１撮像装置１５、第２撮像装置１６、第３撮像装置１７が配置されている。第１撮像装置１５は供給装置２のベルト１１と対向する場所に位置している。そして、ベルト１１上に載置されたワーク８を撮像する。第２撮像装置１６は第１ロボット４と対向する場所に位置している。そして、第２撮像装置１６は第１ロボット４の動作を撮影する。同様に、第３撮像装置１７は第２ロボット５と対向する場所に位置している。そして、第３撮像装置１７は第２ロボット５の動作を撮影する。
【００３７】
供給装置２の図中左上には制御装置７が配置されている。制御装置７は分類装置１を構成する各装置の動作を制御する装置である。
【００３８】
図２は、分類装置の電気制御ブロック図である。図２において、分類装置１の制御部としての制御装置７はプロセッサーとして各種の演算処理を行うＣＰＵ（中央処理装置）２０と各種情報を記憶する記憶部としてのメモリー２１とを有する。
【００３９】
第１ロボット駆動装置２２、第２ロボット駆動装置２３、第１撮像装置１５、第２撮像装置１６、第３撮像装置１７は、入出力インターフェース２４及びデータバス２５を介してＣＰＵ２０に接続されている。さらに、供給装置２、搬送装置６、入力装置２６、表示装置２７も入出力インターフェース２４及びデータバス２５を介してＣＰＵ２０に接続されている。
【００４０】
第１ロボット駆動装置２２は第１ロボット４と接続され、第１ロボット４を駆動する装置である。第１ロボット駆動装置２２は、第１ロボット４の姿勢に関する情報をＣＰＵ２０に出力する。そして、ＣＰＵ２０がワーク８の移動を指示するとき、ワーク８の把持及び移動を行う。
【００４１】
第２ロボット駆動装置２３は第２ロボット５と接続され、第２ロボット５を駆動する装置である。第２ロボット駆動装置２３は、第２ロボット５の姿勢に関する情報をＣＰＵ２０に出力する。そして、ＣＰＵ２０がワーク８の移動を指示するとき、ワーク８の把持及び移動を行う。
【００４２】
第１撮像装置１５は供給装置２上のワーク８を撮像する装置である。第２撮像装置１６は第１ロボット４の動作を撮影する装置であり、第３撮像装置１７は第２ロボット５の動作を撮影する装置である。各撮像装置はＣＰＵ２０の指示する信号に従って撮像した後、撮像した画像のデータをメモリー２１に出力する。
【００４３】
供給装置２はＣＰＵ２０の指示によりベルト１１を移動または停止する。そして、第１ロボット４の手部４ｄが到達可能な範囲に供給装置２はワーク８を供給する。搬送装置６はＣＰＵ２０の指示により各ベルト１１を移動または停止する。そして、第２ロボット５によって分類されたワーク８を次工程に移動する。
【００４４】
入力装置２６はワーク８の属性に関する情報や第１ロボット４及び第２ロボット５の動作条件等の諸情報を入力する装置である。例えば、ワーク８の形状を示す座標を図示しない外部装置から受信し、入力する装置である。表示装置２７はワーク８や第１ロボット４及び第２ロボット５に関するデータや作業状況を表示する装置である。表示装置２７に表示される情報を基に入力装置２６を用いて操作者が入力操作を行う。
【００４５】
メモリー２１は、ＲＡＭ、ＲＯＭ等といった半導体メモリーや、ハードディスク、ＤＶＤ−ＲＯＭといった外部記憶装置を含む概念である。機能的には、分類装置１における動作の制御手順が記述されたプログラムソフト２８を記憶する記憶領域がメモリー２１に設定される。さらに、ワーク８の形状や寸法等の情報であるワーク属性データ２９を記憶するための記憶領域もメモリー２１に設定される。さらに、第１ロボット４及び第２ロボット５を構成する要素の情報や、各種類のワーク８を移動するときに各アーム４ｂ及びアーム５ｂを駆動する条件等の情報であるロボット関連データ３０を記憶するための記憶領域もメモリー２１に設定される。さらに、第１撮像装置１５〜第３撮像装置１７が撮像した画像のデータや画像処理後の画像のデータである画像データ３１を記憶するための記憶領域もメモリー２１に設定される。他にも、各種ワーク８を移動するときの第１ロボット４及び第２ロボット５の挙動を示すロボット挙動データ３２や、第１ロボット４及び第２ロボット５が動作するタイミングを示すロボットタイミングデータ３３を記憶するための記憶領域もメモリー２１に設定される。ロボット挙動データ３２は各種ワーク８の属性に対応して記憶されている。さらに、ＣＰＵ２０のためのワークエリアやテンポラリーファイル等として機能する記憶領域やその他各種の記憶領域がメモリー２１に設定される。
【００４６】
ＣＰＵ２０はメモリー２１内に記憶されたプログラムソフト２８に従って、ワーク８の位置及び種類を検出した後、ワーク８を分類するための制御を行うものである。具体的な機能実現部として、第１ロボット４及び第２ロボット５を駆動してワーク８を移動させるための制御を行うロボット制御部３６を有する。他にも、第１撮像装置１５が撮影する画像を用いてワークの属性を検出する属性検出部３７を有する。属性検出部３７は撮像した画像を用いてワーク８の種類を判別して、ワーク８の属性を検索する。他にも、ワーク位置演算部３８は撮像した画像を用いてワーク８の位置を検出する。他にも、ワーク８の属性を元にロボットの制御条件を第１ロボット駆動装置２２及び第２ロボット駆動装置２３に設定する制御条件設定部３９を有する。他にも、第１ロボット４と第２ロボット５とが干渉するか否かを演算する干渉演算部４０を有する。さらに、ロボットに各種ワークを移動させて、各可動部が移動する軌跡や移動にかかる時間を検出し記憶する挙動学習部４１を有する。他にも、第１ロボット４及び第２ロボット５の動作と連携して供給装置２及び搬送装置６の動作を制御する除給材制御部４２等を有する。
【００４７】
（ロボット制御方法及びワークの分類方法）
次に、上述した分類装置１を用いてワークを分類する作業におけるロボット制御方法について図３〜図６にて説明する。図３は、ワークの分類作業を示すフローチャートである。図４〜図６は、ワークの分類作業におけるロボット制御方法を説明するための模式図である。
【００４８】
図３に示すフローチャートにおいて、ステップＳ１は、第１学習工程に相当する。ロボットが各種ワークを移動するときにロボットが動作する軌跡や移動にかかる時間のデータをロボット挙動データとして蓄積する工程である。ステップＳ２は供給工程に相当する。第１ロボットの手部が到達可能な場所に供給装置がワークを移動させる工程である。次にステップＳ３に移行する。ステップＳ３は、属性検出工程に相当する。第１撮像装置がワークを撮影し、属性検出部がワークの位置と種類を検出する工程である。次にステップＳ４に移行する。
【００４９】
ステップＳ４は、属性判断工程に相当する。検出したワークの種類に対応するワーク属性データがメモリーに記憶されているかを判断する工程である。検出したワークの種類に対応する挙動の情報がないとき、ステップＳ５に移行する。検出したワークの種類に対応する挙動の情報があるとき、ステップＳ６に移行する。
【００５０】
ステップＳ５は、第２学習工程に相当する。この工程は、第１学習工程と同様にロボットが各種ワークを移動するときにロボットが動作する軌跡や移動にかかる時間のデータをワーク属性データとして蓄積する工程である。次にステップＳ１０に移行する。ステップＳ６は、制御条件設定工程に相当する。この工程は、移動するワークに適したロボットの制御条件を設定する工程である。次にステップＳ７に移行する。ステップＳ７は、移動判断工程に相当する。第１ロボット及び第２ロボットがワークを正常に移動できるかを検証する工程である。ワークを正常に移動できると判断するとき、次にステップＳ９に移行する。ワークを正常に移動できないと判断するとき、ステップＳ８に移行する。ステップＳ８は、制御追加工程に相当し、ロボットの動作を一時停止する制御を追加する工程である。次にステップＳ９に移行する。
【００５１】
ステップＳ９は、移動工程に相当し、ワークを供給装置から搬送装置へ移動する工程である。次にステップＳ１０に移行する。ステップＳ１０は終了判断工程に相当し、ワークを分類する作業を継続するか終了するかを判断する工程である。作業を継続するとき、ステップＳ２に移行する。作業を終了するとき、ワークの分類作業を終了する。
【００５２】
次に、図４〜図６を用いて、図３に示したステップと対応させて、ワークの分類作業におけるロボット制御方法を詳細に説明する。図４（ａ）〜図５（ｂ）は、ステップＳ１の第１学習工程に対応する図である。図４（ａ）に示すように、ステップＳ１において、除給材制御部４２がベルト１１を駆動することにより、第１ロボット４の手部４ｄの移動範囲内にワーク８を移動させる。そして、ロボット制御部３６が第１ロボット４を駆動して、手部４ｄにワーク８を把持させる。次に、ロボット制御部３６は第１ロボット４の各可動部を駆動する条件を設定する。そして、ロボット制御部３６はワーク８をベルト１１上から中間台１３上に移動させる。続いて、ロボット制御部３６はワーク８を中間台１３上からベルト１１上に移動させる。そして、ロボット制御部３６はワーク８をベルト１１上と中間台１３上との間を反復して移動させる。反復移動する回数は特に限定されないが、本実施形態では、例えば、２０回実施している。
【００５３】
挙動学習部４１は第２撮像装置１６を駆動して第１ロボット４の動作を撮影する。そして、挙動学習部４１は手部４ｄ及びワーク８が移動する軌跡４５を演算する。さらに、ワーク８をベルト１１上から中間台１３上に移動するのにかかる時間を計測する。
【００５４】
次に、ロボット制御部３６は第１ロボット４の各可動部を駆動する条件を所定の回数変更する。そして、変更した駆動条件にてロボット制御部３６は第１ロボット４を駆動して、ワーク８をベルト１１上と中間台１３上との間を反復して移動させる。各駆動条件において挙動学習部４１は手部４ｄ及びワーク８が移動する軌跡４５を演算する。さらに、挙動学習部４１はワーク８をベルト１１上から中間台１３上に移動するのにかかる時間を計測する。続いて、ロボット制御部３６が第１ロボット４を駆動して、中間台１３上にワーク８を載置させる。
【００５５】
図４（ｂ）及び図４（ｃ）は第１ロボット４がワーク８を移動するときの時間の経過に対する移動位置をしめすグラフである。縦軸は第１ロボット４の手部４ｄが位置する場所を示し、供給装置２と中間台１３との場所が示してある。横軸は時間の経過を示し、時間は図中左から右へ推移する。
【００５６】
図４（ｂ）において、移動推移線４６は、第１ロボット４の手部４ｄが供給装置２から中間台１３に移動するときの推移を示している。第１ロボット４は複数の可動部を駆動して手部４ｄを移動する。ワーク８は重心が移動し易いので、ワーク８の重心は変動する。従って、移動推移線４６は複雑な曲線となる。ロボット制御部３６はワーク８をベルト１１上と中間台１３上との間を複数回反復して移動させるので、移動推移線４６も複数配置されている。第１ロボット４の手部４ｄが供給装置２から中間台１３に移動する時間を第１経過時間４７とする。複数回の反復移動における第１経過時間４７で最も長い第１経過時間４７を第１最大経過時間とする。
【００５７】
図４（ｃ）において、第１ロボット４の制御条件を変更した各場合の移動推移線４６が示してある。制御条件を変更することにより、最大経過時間が変わる。そして、第１ロボット４における各可動部の移動速度を早くするとき、ワーク８が塑性変形する場合がある。また、ワーク８が手部４ｄからはずれて落下する場合がある。このような不具合の発生しない範囲で各ワーク８における制御条件を設定する。
【００５８】
図４（ｄ）に示すように、ロボット制御部３６が第２ロボット５を駆動して、手部５ｄにワーク８を把持させる。次に、ロボット制御部３６は第２ロボット５の各可動部を駆動する条件を設定する。そして、ロボット制御部３６はワーク８を中間台１３上から搬送装置６のベルト１１上に移動させる。続いて、ロボット制御部３６はワーク８をベルト１１上から中間台１３上に移動させる。そして、ロボット制御部３６はワーク８を中間台１３上とベルト１１上との間を反復して移動させる。反復移動する回数は特に限定されないが、本実施形態では、例えば、２０回実施している。
【００５９】
次に、ロボット制御部３６は第２ロボット５の各可動部を駆動する条件を所定の回数変更する。そして、変更した駆動条件にてロボット制御部３６は第２ロボット５を駆動して、ワーク８を中間台１３上とベルト１１上との間を反復して移動させる。各駆動条件において挙動学習部４１は手部５ｄ及びワーク８が移動する軌跡４５を演算する。さらに、挙動学習部４１はワーク８を中間台１３上からベルト１１上に移動するのにかかる時間を計測する。続いて、ロボット制御部３６が第２ロボット５を駆動して、ベルト１１上にワーク８を載置させる。
【００６０】
図５（ａ）及び図５（ｂ）は第２ロボット５がワーク８を移動するときの時間の経過に対する移動位置をしめすグラフである。縦軸は第２ロボット５の手部５ｄが位置する場所を示し、搬送装置６と中間台１３との場所が示してある。横軸は時間の経過を示し、時間は図中左から右へ推移する。
【００６１】
図５（ａ）において、移動推移線４８は、第２ロボット５の手部５ｄが中間台１３から搬送装置６に移動するときの推移を示している。第２ロボット５の駆動は第１ロボット４の駆動と同様な条件にて実施される。従って、第２ロボット５における移動推移線４８は第１ロボット４における移動推移線４６と同様に複雑な曲線となる。ロボット制御部３６はワーク８を中間台１３上とベルト１１上との間を複数回反復して移動させるので、移動推移線４８も複数配置されている。第２ロボット５の手部５ｄが中間台１３から搬送装置６に移動する時間を第２経過時間４９とする。複数回の反復移動における第２経過時間４９で最も長い第２経過時間４９を第２最大経過時間とする。
【００６２】
図５（ｂ）には、第２ロボット５の制御条件を変更した各場合の移動推移線４８が示してある。制御条件を変更することにより、最大経過時間が変わる。そして、第１ロボット４における場合と同様に不具合の発生しない範囲で各ワーク８における制御条件を設定する。
【００６３】
第１学習工程では第１ワーク８ａ〜第５ワーク８ｅの各ワーク８に対して同様の動作を行う。そして、各ワーク８における最適な制御条件を設定する。このときに第１ロボット４が各ワーク８を供給装置２から中間台１３に移動するときにかかる第１最大経過時間を設定する。同様に、第２ロボット５が各ワーク８を中間台１３から搬送装置６に移動するときにかかる第２最大経過時間を設定する。第１最大経過時間及び第２最大経過時間は移動にかかる時間のなかで最長の時間が設定される。そして、第１最大経過時間及び第２最大経過時間等の挙動データがメモリー２１にロボット関連データ３０として記憶される。
【００６４】
メモリー２１のワーク属性データ２９には各ワーク８のＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）番号、形状、重量、柔軟性等の属性が記憶されている。そして、ロボット関連データ３０には第１ロボット４及び第２ロボット５が各ワーク８を移動させるときの最適な制御条件及び各ワーク８のＩＤ番号等が記憶されている。従って、各ワーク８の属性とロボットの最適な制御条件が関連づけられている。その結果、ワーク８の形状からワーク８のＩＤ番号を検索した後、ＩＤ番号からロボットの最適な制御条件を検索することができる。
【００６５】
図５（ｃ）はステップＳ２の供給工程〜ステップＳ６の制御条件設定工程に対応する図である。図５（ｃ）に示すように、ステップＳ２において、除給材制御部４２が供給装置２のベルト１１を駆動させることにより、ワーク８を移動させる。そして、ワーク８の１つが第１ロボット４の手部４ｄの動作範囲内に位置する。ロボット制御部３６は第１ロボット４を駆動して、手部４ｄを待機場所に移動する。待機場所はワーク８と第１撮像装置１５との間以外の場所であり、供給装置２と中間台１３との間の場所に設定されている。
【００６６】
ステップＳ３の属性検出工程において、属性検出部３７は第１撮像装置１５を駆動してワーク８を撮影する。そして、第１撮像装置１５はワーク８を撮影した画像データ３１をメモリー２１に記憶する。次に、属性検出部３７は画像データ３１を用いてワーク８の形状を抽出する。続いて、属性検出部３７はワーク属性データ２９を検索して、撮影したワーク８が第１ワーク８ａ〜第５ワーク８ｅの内のどのワーク８に該当するかを判断する。
【００６７】
ステップＳ４の属性判断工程において、撮影したワーク８が第１ワーク８ａ〜第５ワーク８ｅの内のどのワーク８にも該当しないとき、ステップＳ５の第２学習工程に移行する。第２学習工程はステップＳ１の第１学習工程と同様な工程である。ロボット制御部３６が第１ロボット４の手部４ｄにワーク８を把持させて、供給装置２と中間台１３との間を移動させる。そして、第１ロボット４がこのワーク８を移動するときの最適な制御条件を設定する。続いて、ロボット制御部３６が第２ロボット５の手部５ｄにワーク８を把持させて、中間台１３と搬送装置６との間を移動させる。そして、第２ロボット５がこのワーク８を移動するときの最適な制御条件を設定する。続いて、ロボット制御部３６は第２ロボット５を駆動してワーク８を搬送装置６に移動させる。そして、ステップＳ１０に移行する。
【００６８】
ステップＳ４の属性判断工程において、撮影したワーク８が第１ワーク８ａ〜第５ワーク８ｅのいずれかのワーク８に該当するとき、ステップＳ６の制御条件設定工程に移行する。ステップＳ６にて制御条件設定部３９は撮影したワーク８に対応する制御条件をロボット関連データ３０から検索する。この制御条件はステップＳ１の第１学習工程もしくはステップＳ５の第２学習工程において設定した制御条件である。
【００６９】
図６（ａ）はステップＳ７の移動判断工程及びステップＳ８の制御追加工程に対応する図である。ステップＳ７において、第１ロボット４の挙動と第２ロボット５の挙動とをシミュレーションする。そして、第１ロボット４と第２ロボット５とが干渉する可能性を検査する。図６（ａ）は第１ロボット４の挙動と第２ロボット５の挙動とを示すタイムチャートである。縦軸は場所を示し、供給装置２、中間台１３、搬送装置６の場所が示してある。横軸は時間の経過を示し、時間は図中左から右へ推移する。
【００７０】
第１移動推移線５０は、第１ロボット４の手部４ｄが供給装置２と中間台１３との間を移動する推移の移動予定を示している。第２移動推移線５１は、第２ロボット５の手部５ｄが中間台１３と搬送装置６との間を移動する推移の移動予定を示している。干渉演算部４０は移動予定を演算した後、ロボットタイミングデータ３３としてメモリー２１に記憶する。
【００７１】
第１移動推移線５０について時間の経過に沿って説明をする。まず、待機区間５０ａはステップＳ２〜ステップＳ７に相当し、ＣＰＵ２０が演算している区間である。このとき、第１ロボット４の手部４ｄは待機場所にて待機する。次に、第１移動区間５０ｂは、ロボット制御部３６が第１ロボット４を駆動して、手部４ｄを待機場所からワーク８と対向する場所に移動させる区間である。この区間では、手部４ｄはワーク８を把持していないので、所定の時間内に移動する。次に、把持区間５０ｃは第１ロボット４の手部４ｄがワーク８を把持する区間である。ロボット制御部３６は第１ロボット４を駆動して、指部４ｅの間隔を狭くする。そして、ロボット制御部３６は手部４ｄにワーク８を把持させる。
【００７２】
次に、第２移動区間５０ｄは、ロボット制御部３６が第１ロボット４を駆動して、ワーク８を供給装置２上から中間台１３上に移動させる区間である。この区間の移動にかかる時間はワーク８毎に異なり第１学習工程にて設定した第１最大経過時間となっている。次に、載置区間５０ｅではロボット制御部３６が第１ロボット４を駆動して、指部４ｅの間隔を広げる。そして、ロボット制御部３６はワーク８を中間台１３上に載置させる。次に、第３移動区間５０ｆは、ロボット制御部３６が第１ロボット４を駆動して、手部４ｄを中間台１３上の場所から待機場所に移動させる区間である。この区間では、手部４ｄはワーク８を把持していないので、所定の時間内に移動する。次に、待機区間５０ａに移行する。そして、待機区間５０ａ〜第３移動区間５０ｆが繰り返される。
【００７３】
続いて、第２移動推移線５１について時間の経過に沿って説明する。第１移動区間５１ａは、ロボット制御部３６が第２ロボット５を駆動して、搬送装置６上から中間台１３上に載置されたワーク８と対向する場所に手部５ｄを移動させる区間である。この区間では、手部５ｄはワーク８を把持していないので、所定の時間内に移動する。次に、把持区間５１ｂは、ロボット制御部３６が第２ロボット５を駆動して、手部５ｄにワーク８を把持させる区間である。ロボット制御部３６は第２ロボット５を駆動して、指部５ｅの間隔を狭くさせる。そして、ロボット制御部３６は手部５ｄにワーク８を把持させる。
【００７４】
次に、第２移動区間５１ｃは、ロボット制御部３６が第２ロボット５を駆動して、ワーク８を中間台１３上から搬送装置６のベルト１１上に移動させる区間である。この区間の移動にかかる時間はワーク８毎に異なり第１学習工程にて設定した第２最大経過時間となっている。次に、載置区間５１ｄは、ロボット制御部３６が第２ロボット５を駆動して、指部５ｅの間隔を広げさせる。そして、ロボット制御部３６はワーク８を搬送装置６のベルト１１上に載置させる。次に、第１移動区間５１ａに移行する。そして、第１移動区間５１ａ〜載置区間５１ｄが繰り返される。
【００７５】
第１移動推移線５０において、第１最大経過時間が長いときには第２移動区間５０ｄにかかる時間が長くなる。このときの第２移動区間５０ｄに対応する区間を第２移動区間５０ｇとする。そして、第２移動区間５０ｇに続き載置区間５０ｅに対応する区間を載置区間５０ｈとする。載置区間５０ｈにおいて、第１移動区間５１ａに対応する区間を第１移動区間５１ｅとする。このとき、第１移動推移線５０の載置区間５０ｈと第２移動推移線５１の第１移動区間５１ｅとが中間台１３において重なる。これは、第１ロボット４の手部４ｄが中間台１３から離れる前に、第２ロボット５の手部５ｄが中間台１３に接近することを示している。このとき、干渉演算部４０は第１移動推移線５０と第２移動推移線５１との推移から第１ロボット４と第２ロボット５とが干渉する可能性が高いとを判断する。そして、ステップＳ８の制御追加工程に移行する。
【００７６】
ステップＳ８において、干渉演算部４０は第１移動区間５１ｅの中間に待機区間５１ｆを挿入する。つまり、第２ロボット５の手部５ｄが搬送装置６上から中間台１３上に移動する間で一旦停止するように移動計画を変更する。そして、第２ロボット５の手部５ｄが中間台１３上に到着する時刻を遅らせることにより、干渉演算部４０は第１ロボット４と第２ロボット５との干渉を防止する。干渉演算部４０は変更した移動予定をメモリー２１のロボットタイミングデータ３３に記憶する。
【００７７】
図６（ｂ）はステップＳ９の移動工程に対応する図である。図６（ｂ）に示すように、ステップＳ９において、ロボット制御部３６は第１ロボット４及び第２ロボット５を駆動する。ロボット制御部３６は第１ロボット４を駆動して、供給装置２上のワーク８を把持させて中間台１３上に移動させる。そして、ロボット制御部３６は第１ロボット４の手部４ｄを待機場所に移動させる。続いて、ロボット制御部３６は第２ロボット５を駆動して、中間台１３上のワーク８を把持させて搬送装置６上に移動させる。このとき、ロボット制御部３６はロボットタイミングデータ３３に従って、第１ロボット４及び第２ロボット５を制御する。
【００７８】
ステップＳ１０の終了判断工程において、作業を終了する判断をしたとき、ワークの分類作業を終了する。
【００７９】
上述したように、本実施形態によれば、以下の効果を有する。
（１）本実施形態によれば、ステップＳ１の第１学習工程及びステップＳ５の第２学習工程において挙動学習部４１がワーク８を把持するときにおける手部４ｄ及び手部５ｄの挙動を検出し、記憶する。そして、ステップＳ３の属性検出工程では、属性検出部３７がワークの種類を検出する。ステップＳ６の制御条件設定工程では、制御条件設定部３９がワーク８毎に第１ロボット４及び第２ロボット５の制御条件を設定する。そして、ステップＳ９の移動工程では、ロボット制御部３６が設定した制御条件にて第１ロボット４及び第２ロボット５がワーク８を移動する。
【００８０】
ワーク８の重量や柔らかさ等の属性により第１ロボット４及び第２ロボット５の挙動が変わることがある。例えば、移動する物が入っている容器がワーク８であるとき、ワーク８を移動するときにワーク８の重心が移動する。第１ロボット４及び第２ロボット５はワーク８の重心移動の影響を受けて、挙動が変わる。この場合にも第１ロボット４及び第２ロボット５がワーク８を移動するときの情報を用いて第１ロボット４及び第２ロボット５を制御することにより第１ロボット４及び第２ロボット５の挙動を計画した挙動に近づけることができる。
【００８１】
（２）本実施形態によれば、ステップＳ１の第１学習工程及びステップＳ５の第２学習工程において挙動学習部４１がワーク８を把持するときにおける手部４ｄ及び手部５ｄの挙動を検出し、記憶する。ステップＳ７の移動判断工程では、干渉演算部４０がワーク８を移動するときの手部４ｄ及び手部５ｄの挙動の情報を用いてロボットタイミングデータ３３を演算している。そして、干渉演算部４０がワーク８を移動するときに待機区間５１ｆを追加するか否かを判断する。そして、ステップＳ９の移動工程において、第１ロボット４及び第２ロボット５がワーク８を移動する。
【００８２】
ステップＳ７の移動判断工程では、ステップＳ１及びステップＳ５において記憶した情報である手部４ｄ及び手部５ｄがワーク８を移動するときの挙動の情報を用いる。そして干渉演算部４０はワーク８を移動するときの手部４ｄ及び手部５ｄのタイミングを推定している。従って、手部４ｄ及び手部５ｄがワーク８を移動するときにロボット間の干渉が生じるか否かを品質良く判断することができる。
【００８３】
（３）本実施形態によれば、ステップＳ１の第１学習工程及びステップＳ５の第２学習工程において蓄積した第１ロボット４及び第２ロボット５の挙動の情報を用いている。従って、第１ロボット４及び第２ロボット５がワーク８を移動するのにかかる時間を精度良く推定することができる。
【００８４】
（４）本実施形態によれば、ステップＳ１の第１学習工程及びステップＳ５の第２学習工程において、蓄積した第１ロボット４及び第２ロボット５の挙動の情報を用いている。従って、第１ロボット４及び第２ロボット５がワーク８を移動するときの軌道の分散を精度良く推定することができる。
【００８５】
（５）本実施形態によれば、ステップＳ４の属性判断工程において、ワーク８を移動するときの第１ロボット４及び第２ロボット５の挙動を推定できないと判断したときには、ステップＳ５の第２学習工程に移行している。そして、挙動学習部４１は可動部の挙動を検出している。従って、干渉演算部４０は第１ロボット４及び第２ロボット５の挙動を推定できるワーク８の種類を多くすることができる。
【００８６】
（６）本実施形態によれば、ステップＳ１の第１学習工程及びステップＳ５の第２学習工程においてロボット制御部３６が第１ロボット４及び第２ロボット５にワーク８を移動させて、挙動学習部４１が第１ロボット４及び第２ロボット５の挙動を検出している。コンピューターにてシミュレーションすることにより、第１ロボット４及び第２ロボット５の挙動を検出する方法がある。ワーク８の挙動が複雑になる場合には、コンピューターにてシミュレーションを行うのに演算するプロセスが膨大になる。従って、高速処理が可能なコンピューターが必要となる。この方法に比べて、ロボット制御部３６が可動部を駆動させて、挙動を検出する方が簡便に可動部の挙動を検出することができる。
【００８７】
尚、本実施形態は上述した実施形態に限定されるものではなく、種々の変更や改良を加えることも可能である。変形例を以下に述べる。
（変形例１）
前記実施形態では、ステップＳ７の移動判断工程において、第１ロボット４と第２ロボット５との干渉を検出したが、ロボット間以外の干渉を検出しても良い。ロボットとロボット以外の設備との干渉を検出しても良い。そして、ロボットがロボット以外の設備との干渉することを防止しても良い。その結果、ロボットが正常に作業することができる。
【００８８】
（変形例２）
前記実施形態では、第１撮像装置１５がワーク８を撮影した後、属性検出部３７がワーク８の形状からワーク８の種類を識別したが、他の方法を用いても良い。例えば、ワーク８にＩＤマークやＩＤタグをつけても良い。そして、ＩＤマークやＩＤタグを用いて属性検出部３７がワーク８の種類を検出しても良い。属性検出部３７は短時間にワーク８の種類を検出することができる。他にも、ワーク８の重量を測定してワーク８の属性を検出しても良い。簡便な装置でワーク８の種類を検出することができる。
【００８９】
（変形例３）
前記実施形態では、ステップＳ８の制御追加工程にて、第１移動区間５１ｅに待機区間５１ｆを追加した。これに限らず、第１移動区間５１ｅにおける第２ロボット５の移動速度を遅くすることにより、第１移動区間５１ｅを長くしても良い。この場合にも、第１ロボット４と第２ロボット５とが干渉することを防止することができる。
【００９０】
（変形例４）
前記実施形態では、ステップＳ１の第１学習工程とステップＳ５の第２学習工程とにおいて、ワーク８を移動して可動部の挙動を検出した。ワーク８を用いずに、ワーク８と類似した模擬の負荷を用いて可動部の挙動を検出してもよい。可動部を動作させることによりワーク８に障害を与える可能性がある場合には、模擬の負荷を用いることにより、ワーク８に障害を与えずに可動部の挙動を検出することができる。
【００９１】
（変形例５）
前記実施形態では、第１移動推移線５０と第２移動推移線５１とを用いて第１ロボット４と第２ロボット５との干渉を検出した。他にも、第１ロボット４の軌跡４５と第２ロボット５の軌跡４５とを用いて、第１ロボット４と第２ロボット５との干渉を検出しても良い。第１ロボット４と第２ロボット５とが接近するとき、第１ロボット４の軌跡４５と第２ロボット５の軌跡４５が重なる場所があるか否かにより第１ロボット４と第２ロボット５との干渉を検出することができる。
【００９２】
（変形例６）
前記実施形態では、ステップＳ４の属性判断工程において、検出したワーク８に対応する挙動の情報がないときにはステップＳ５の第２学習工程に移行した。ステップＳ５に移行する代わりにステップＳ１の第１学習工程に移行しても良い。そして、挙動の情報をメモリー２１に記憶した後、ステップＳ２に移行しても良い。ステップＳ１にて挙動のデータを検出するときにはワーク８を用いても良く、他にも、模擬の負荷を用いても良い。ステップＳ２〜ステップＳ９の工程とは別の工程にて制御条件を設定するので、ステップＳ２〜ステップＳ９の工程に影響を与えずに移動作業を行うことができる。
【符号の説明】
【００９３】
４…第１ロボット、４ｄ，５ｄ…可動部及び把持部としての手部、４ｅ，５ｅ…可動部としての指部、５ａ…可動部としての回転テーブル、５ｂ…可動部としてのアーム、５…第２ロボット、８…負荷としてのワーク、４７…第１経過時間、４９…第２経過時間。
【図１】
2010264559.tif 000003
【図２】
2010264559.tif 000004
【図３】
2010264559.tif 000005
【図４】
2010264559.tif 000006
【図５】
2010264559.tif 000007
【図６】
2010264559.tif 000008