(57)【要約】【課題】ロボットの動作の教示に要する手間及び時間を削減することができるロボットシステム、動作制御方法及び動作制御プログラムを提供すること。【解決手段】ロボットシステム１は、ロボット１０及びロボット１０の動作を制御する制御装置２０を備え、ロボット１０は、載置面３１に載置された対象物４０を撮像する撮像装置１３と、距離を測定するレーザセンサ１４と、撮像装置１３、レーザセンサ１４、及び対象物４０を保持可能なハンド１２が取り付けられたアーム１６と、を備え、制御装置２０は、レーザセンサ１４から得られる距離情報に基づいて、ハンド１２が対象物４０及び載置面３１のいずれとも接触せず、且つ、ハンド１２の動作によって対象物４０を保持可能なアーム１６の目標位置を算出し、目標位置にアーム１６を移動させる命令と、目標位置においてハンド１２に対象物４０を保持させる命令とを含むプログラムを生成する。【選択図】図１
2019063955.tif 000002
【特許請求の範囲】
【請求項１】
ロボット及び前記ロボットの動作を制御する制御装置を備えるロボットシステムであって、
前記ロボットは、
載置面に載置された対象物を撮像する撮像装置と、
距離を測定するレーザセンサと、
前記撮像装置、前記レーザセンサ、及び前記対象物を保持可能なハンドが取り付けられたアームと、
を備え、
前記制御装置は、
前記レーザセンサから得られる距離情報に基づいて、前記ハンドが前記対象物及び前記載置面のいずれとも接触せず、且つ、前記ハンドの動作によって前記対象物を保持可能な前記アームの目標位置を算出し、
前記目標位置に前記アームを移動させる命令と、前記目標位置において前記ハンドに前記対象物を保持させる命令とを含むプログラムを生成する、
ロボットシステム。
【請求項２】
前記ハンドは、前記対象物を保持する複数のフィンガと、前記複数のフィンガを支持する支持部とを備え、
前記複数のフィンガは、それぞれ、前記対象物を保持する際に、前記載置面と交差する第１方向に沿う領域であって、前記対象物と当接し得る保持領域を有し、
前記制御装置は、
前記レーザセンサから得られる距離情報に基づいて、前記対象物における前記第１方向の高さを算出し、
前記対象物の前記高さが、前記フィンガの前記保持領域における前記第１方向の長さよりも長い場合、前記対象物における前記ハンドと対向する第１対向領域と、前記ハンドにおける前記対象物と対向する第２対向領域との間に間隔が設けられるように前記目標位置を算出し、
前記対象物の前記高さが、前記フィンガの前記保持領域における前記第１方向の長さよりも短い場合、前記載置面と前記フィンガの先端部との間に間隔が設けられるように前記目標位置を算出する、
請求項１に記載のロボットシステム。
【請求項３】
前記制御装置は、前記撮像装置によって撮像された画像に基づいて前記対象物の形状を算出し、前記ハンドによる保持が可能か否かを判定する、
請求項１又は２に記載のロボットシステム。
【請求項４】
前記制御装置は、前記レーザセンサから得られる距離情報に基づいて、前記対象物における前記ハンドと対向する第１対向領域の前記載置面に対する傾きを算出し、前記撮像装置の光軸が前記第１対向領域と略直交するように前記アームの角度を調整する、
請求項１から３のいずれか一項に記載のロボットシステム。
【請求項５】
前記撮像装置と前記レーザセンサは、別体である、
請求項１から４のいずれか一項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム、動作制御方法及び動作制御プログラムに関する。
【背景技術】
【０００２】
従来から、ロボットのマニピュレータの先端に撮像装置が取り付けられ、この撮像装置から得られる情報に基づいてマニピュレータの動作が制御される、いわゆるオンハンド方式のロボットシステムが開発されている。例えば下記特許文献１には、撮像装置によって撮像された画像に基づいて、把持対象となるワークの位置や姿勢を検出することにより、ハンドをワークに近付ける動作（いわゆる、アプローチ動作）を自動的に制御するロボットが開示されている。当該ロボットでは、アプローチ動作が完了したときのワークに対するハンドの相対的な位置を示すデータを事前に登録することにより、撮像装置から順次得られるデータと、当該登録されたデータとを比較して、ハンドの軌跡を算出することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−７６１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のロボットにおいては、ロボットにアプローチ動作を教示するために、事前に登録すべきデータを取得しなければならず、一度は作業者がティーチペンダントと呼ばれる教示操作盤を操作して、アプローチ動作が完了した位置までハンドを移動させる工程が必要となる。この工程では、ロボットがワークを含む外部環境と接触しないよう、作業者がロボットやワークを目視しながら手動操作する必要がある。従って、ロボットを低速度で動作させることとなり、作業者の手間や時間を要していた。
【０００５】
また、作業者は、アプローチ動作を完了させた後に、撮像装置によってワークを撮像し、得られた画像を登録する必要があり、これによっても手間や時間を要していた。
【０００６】
そこで、本発明は、ロボットの動作の教示に要する手間及び時間を削減することができるロボットシステム、動作制御方法及び動作制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るロボットシステムは、ロボット及びロボットの動作を制御する制御装置を備え、ロボットは、載置面に載置された対象物を撮像する撮像装置と、距離を測定するレーザセンサと、撮像装置、レーザセンサ、及び対象物を保持可能なハンドが取り付けられたアームと、を備え、制御装置は、レーザセンサから得られる距離情報に基づいて、ハンドが対象物及び載置面のいずれとも接触せず、且つ、ハンドの動作によって対象物を保持可能なアームの目標位置を算出し、目標位置にアームを移動させる命令と、目標位置においてハンドに対象物を保持させる命令とを含むプログラムを生成する。
【０００８】
この態様によれば、レーザセンサから得られる距離情報に基づいて、ハンドが対象物及び載置面のいずれとも接触しないアームの目標位置を自動的に算出し、ハンドに対象物を保持させるプログラムを生成することができる。従って、作業者がロボットを目視しつつ手動でハンドを移動させる必要がなく、ロボットの動作の教示に要する手間及び時間を削減することができる。
【０００９】
上記態様において、ハンドは、対象物を保持する複数のフィンガと、複数のフィンガを支持する支持部とを備え、複数のフィンガは、それぞれ、対象物を保持する際に、載置面と交差する第１方向に沿う領域であって、対象物と当接し得る保持領域を有し、制御装置は、レーザセンサから得られる距離情報に基づいて、対象物における第１方向の高さを算出し、対象物の高さが、フィンガの保持領域における第１方向の長さよりも長い場合、対象物におけるハンドと対向する第１対向領域と、ハンドにおける対象物と対向する第２対向領域との間に間隔が設けられるように目標位置を算出し、対象物の高さが、フィンガの保持領域における第１方向の長さよりも短い場合、載置面とフィンガの先端部との間に間隔が設けられるように目標位置を算出してもよい。
【００１０】
この態様によれば、アームが目標位置に到達した際に、ハンドと対象物及び載置面とのいずれの間にも間隔が設けられる。従って、ハンドと対象物及び載置面との接触が回避され、ハンドの故障や対象物の破損を防ぐことができる。
【００１１】
上記態様において、制御装置は、撮像装置によって撮像された画像に基づいて対象物の形状を算出し、ハンドによる保持が可能か否かを判定してもよい。
【００１２】
この態様によれば、ハンドによる対象物の保持が不可能であると判定された場合に、ハンドによる保持動作を停止させることができる。従って、ハンドの故障や対象物の破損を防ぐことができる。
【００１３】
上記態様において、制御装置は、レーザセンサから得られる距離情報に基づいて、対象物におけるハンドと対向する第１対向領域の載置面に対する傾きを算出し、撮像装置の光軸が第１対向領域と略直交するようにアームの角度を調整してもよい。
【００１４】
この態様によれば、対象物の第１対向領域の傾きに応じて、アームの角度が調整される。これにより、撮像装置の視野面が第１対向領域と略平行となるため、第１対向領域の寸法を適切に算出することができ、ハンドによる保持が可能か否かの判定を適切に行うことができる。
【００１５】
上記態様において、撮像装置とレーザセンサは、別体であってもよい。
【００１６】
この態様によれば、レーザセンサによって距離が測定されるため、例えば測距機能を兼ねた撮像装置によって距離が測定される構成に比べて、測距の精度が高くなる。従って、アームの目標位置の算出を高い精度で行うことができる。
【発明の効果】
【００１７】
本発明によれば、ロボットの動作の教示に要する手間及び時間を削減することができるロボットシステム、動作制御方法及び動作制御プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係るロボットシステムの構成例を示す図である。
【図２】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を示すフローチャートである。
【図３Ａ】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【図３Ｂ】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【図３Ｃ】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【図３Ｄ】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【図３Ｅ】本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【図４】本発明の一実施形態に係るロボットシステムにおけるアームの目標位置を算出する手順を示すフローチャートである。
【図５Ａ】本発明の一実施形態に係るロボットシステムにおけるアームの目標位置を算出する手順を説明するための説明図である。
【図５Ｂ】本発明の一実施形態に係るロボットシステムにおけるアームの目標位置を算出する手順を説明するための説明図である。
【図６Ａ】本発明の一実施形態に係るロボットシステムにおける角度調整機能について説明するための説明図である。
【図６Ｂ】本発明の一実施形態に係るロボットシステムにおける角度調整機能について説明するための説明図である。
【発明を実施するための形態】
【００１９】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００２０】
図１は、本発明の一実施形態に係るロボットシステムの構成例を示す図である。図１に示されるロボットシステム１は、ロボットが、作業台の上に載置されたワーク（対象物）に対して所定の作業を行うように制御されたシステムである。具体的に、ロボットシステム１は、例えば各種の作業を行うロボット１０と、ロボット１０の動作を制御する制御装置２０とを備える。図１に示されるように、ロボット１０の動作が及び得る作業領域には、作業台３０と、当該作業台３０上の載置面３１に載置されたワーク４０が配置されている。なお、作業台３０及びワーク４０は、ロボットシステム１に含まれてもよいし、含まれなくてもよい。ロボット１０が行う各種の作業は、例えばワーク４０を保持し、所定の場所まで運搬し、解放することを含むが、以下では保持する動作について説明する。
【００２１】
ロボット１０は、例えばロボット１０の本体部を構成するマニピュレータ１１と、当該マニピュレータ１１に取り付けられたハンド１２、視覚センサ１３及びレーザセンサ１４とを備える。ロボット１０は、空間座標（図１においてはＸＹＺ座標）によって表される作業空間内において動作する。
【００２２】
マニピュレータ１１は、フロア等に設置されるベース１５と、複数の関節を有するアーム１６とを備える。複数の関節にはサーボモーター等が取り付けられており、このサーボモーターを駆動制御することにより、アーム１６の多関節動作が実現される。当該関節の数によってアーム１６の可動範囲が変化するが、本実施形態では、例えば６軸の多関節構造であるものとする。
【００２３】
ハンド１２は、アーム１６の先端１７（すなわち、マニピュレータ１１の先端）に取り付けられる。ハンド１２は、各種の作業を行うためのエンドエフェクタの一具体例である。本実施形態におけるハンド１２は、開閉動作によってワーク４０を外側から内側に向かって把持する複数のフィンガ１８を有する多指ハンドである。フィンガ１８の数は特に限定されないが、例えば４本であってもよい。図１では、Ｘ軸方向に開閉動作する２本のフィンガ１８が図示されており、Ｙ軸方向に開閉動作する２本のフィンガは図示が省略されている。なお、ハンド１２の機構は多指ハンドに限られず、グリッパやマグネットハンド等、ワークを保持できるものであれば他の機構であってもよい。ここで、本明細書において「保持」とは、フィンガによってワークを外側から内側に向かって把持することに限られず、例えばワークが開口部を有する場合に、当該開口部の内側から外側に向かって力を加えて保持することや、磁力や空気圧によってワークを吸着して保持することも含むものとする。
【００２４】
視覚センサ１３（撮像装置）は、アーム１６の先端１７に取りけられ、アーム１６の移動と同期して移動しながら撮像を行う。視覚センサ１３は、撮像装置の一具体例であり、例えば、撮像素子及びレンズを含むカメラである。図１において、視覚センサ１３のレンズの光軸はＺ軸に沿うように配置され、視覚センサ１３の視野範囲はＸＹ平面に広がっている。視覚センサ１３によって撮像された画像は、例えばケーブル等（不図示）を介して制御装置２０に出力され、当該制御装置２０において処理される。ロボット１０は、視覚センサ１３から得られる情報に基づいて動作が制御される、いわゆるオンハンド方式のロボットである。ロボットシステム１がワーク４０の保持動作に用いられる場合、作業台３０の載置面３１上に載置されたワーク４０が視覚センサ１３によって撮像され、得られた画像からワーク４０が検出される。これにより、載置面３１におけるワーク４０の位置、姿勢、ワーク４０のＸＹ平面の平面視における形状（以下、単に「平面形状」とも呼ぶ。）及び寸法が算出される。従って、ロボットシステム１では、視覚センサ１３を備えることによって、ワーク４０を高精度に保持することができる。
【００２５】
レーザセンサ１４は、視覚センサ１３とともにアーム１６の先端１７に取り付けれ、アーム１６及び視覚センサ１３の移動と同期して移動する。レーザセンサ１４は、距離センサの一具体例であり、例えば三角測定式又は時間計測式のレーザセンサや、受光量判別式のレーザセンサを含む。具体的には、レーザセンサ１４は照射部及び受光部（不図示）を有し、対象物に対して照射部からレーザを照射し、対象物において反射されたレーザを受光部において受光することによって、当該対象物までの距離を測定する。本実施形態において、レーザセンサ１４は、例えばワーク４０や載置面３１までの距離の測定に用いられる。レーザセンサ１４によって得られた距離の値は、例えばケーブル等（不図示）を介して制御装置２０に出力されて処理される。なお、レーザセンサ１４が照射するレーザの具体的な構成は特に限定されず、例えば図１に示されるようにポイント状のレーザであってもよく、あるいはライン状のレーザであってもよい。
【００２６】
なお、視覚センサ１３及びレーザセンサ１４が取り付けられる位置はアーム１６の先端１７に限られない。例えば、視覚センサ１３及びレーザセンサ１４は、アーム１６の他の位置や、ハンド１２に取り付けられてもよい。また、視覚センサ１３及びレーザセンサ１４は、ロボット１０の一部としてロボット本体に組み込まれていてもよく、又はロボット１０に外付けされていてもよい。また、本実施形態においては視覚センサ１３とレーザセンサ１４とが別体である構成が示されているが、当該構成の代わりに、撮像機能と測距機能が一体となった装置（例えば、測距機能を兼ねた撮像装置等）が用いられてもよい。
【００２７】
制御装置２０は、例えばコンピュータにより構成され、マニピュレータ１１、ハンド１２、視覚センサ１３及びレーザセンサ１４の動作を制御する。具体的に、制御装置２０は、例えば制御部２１及び記憶部２２を備える。制御部２１は、マニピュレータ制御部２１０、視覚センサ制御部２１１、レーザセンサ制御部２１２、保持判定部２１３及び目標位置算出部２１４を含む。
【００２８】
マニピュレータ制御部２１０は、ロボット１０の各関節のサーボモーターの駆動を制御し、マニピュレータ１１を作業空間において動作させる。また、マニピュレータ制御部２１０は、ハンド１２が備えるフィンガ１８の開閉動作も制御する。
【００２９】
視覚センサ制御部２１１は、視覚センサ１３の撮像を制御して、画像を取得する。また、視覚センサ制御部２１１は、取得された画像に画像処理を施し、ワーク４０の位置、姿勢、平面形状及び寸法を算出する。
【００３０】
レーザセンサ制御部２１２は、レーザセンサ１４にレーザの照射及び受光をさせて、レーザセンサ１４から対象物（例えば、ワーク４０や載置面３１等）までの距離を取得する。
【００３１】
保持判定部２１３は、視覚センサ制御部２１１によって取得されたワーク４０の平面形状及び寸法に基づき、ハンド１２がワーク４０を保持可能か否かの判定を行う。
【００３２】
目標位置算出部２１４は、保持判定部２１３においてワーク４０が保持可能と判定された場合に、ワーク４０の高さに基づいてアーム１６の目標位置を算出する。そして、目標位置算出部２１４は、アーム１６を現在位置から目標位置に移動させる命令と、この目標位置からハンド１２を動作させてハンド１２にワーク４０を保持させる命令とを含むプログラムを自動的に生成する。なお、アーム１６の「目標位置」とは、ハンド１２がワーク４０を保持する直前のアーム１６の位置であり、より具体的には、ハンド１２がワーク４０及び載置面３１のいずれとも接触せず、且つハンド１２の動作によってワーク４０を保持可能な位置である。
【００３３】
記憶部２２には、例えばアーム１６の先端１７に対する視覚センサ１３及びレーザセンサ１４の相対的な位置及び姿勢が記憶される。これにより、レーザセンサ１４を用いて対象物までの距離が測定された場合、当該距離に基づいて視覚センサ１３から対象物までの距離を算出することができる。また、記憶部２２には、視覚センサ１３のワークディスタンスや、フィンガ１８の可動範囲等が記憶される。
【００３４】
これらの制御部２１に含まれる各機能は、例えば、記憶部２２に格納された所定のプログラムを制御装置２０に含まれるプロセッサが実行することにより実現される。なお、制御装置２０の機能は、これに限定されることなく、必要に応じて任意の機能が適宜追加されていてもよい。また、図１においては、制御部２１に含まれる各機能が１つの制御装置２０において実現される構成が示されているが、当該各機能は複数の装置に分散されて実現されてもよい。
【００３５】
次に、ロボットシステム１におけるワーク４０の保持動作の制御方法について、図２及び図３Ａ〜図３Ｅを参照しつつ説明する。図２は、本発明の一実施形態に係るロボットシステムにおける保持動作の手順を示すフローチャートであり、図３Ａ〜図３Ｅは、本発明の一実施形態に係るロボットシステムにおける保持動作の手順を説明するための説明図である。
【００３６】
なお、図２に示されるフローチャートは、マニピュレータ１１の所定の位置（例えば、先端１７）に対するハンド１２、視覚センサ１３及びレーザセンサ１４の相対的な位置関係が予め記憶部２２に記憶された状態で開始する。また、視覚センサ１３から得られる情報がマニピュレータ１１の動作に反映されるように、視覚センサ１３によって撮像される画像上のピクセル座標と、ロボットが作業する空間座標（すなわち、図１に示されるＸＹＺ座標）とを対応付けるキャリブレーションが完了済みであるものとする。
【００３７】
また、以下では、図３Ａに示されるように、作業台３０の載置面３１の上に載置されたワーク４０を保持する場合について説明する。ワーク４０の形状は特に限定されないが、本実施形態においては、ワーク４０は複数の面を有する直方体形状を成す。ワーク４０は、ハンド１２がワーク４０を保持する際にハンド１２と対向する領域４１（第１対向領域）を有し、この領域４１の周囲に輪郭（エッジ）を有する。なお、以下では領域４１を「上面４１」と呼ぶ。
【００３８】
ロボット１０がワーク４０を保持する工程は、以下の２つの工程を含む。すなわち、アーム１６を現在位置から目標位置まで移動させる第１工程と、この目標位置からハンド１２のフィンガ１８を閉じ、ワーク４０を保持する第２工程である。第１工程ではロボット１０とワーク４０の接触を伴わないため、比較的高速にロボット１０を動作させることができる。他方、第２工程では当該接触を伴うため、比較的低速にロボット１０を動作させる必要がある。このように、ロボット１０の保持動作を複数の工程に分けることにより、全工程を低速で動作させる場合に比べて、作業時間を短縮することができる。以下、第１及び第２工程についてさらに詳細に述べる。
【００３９】
まず、ステップＳ１において、視覚センサ制御部２１１は、視覚センサ１３を用いて、視覚センサ１３の視野内に存在するワーク４０を含む画像を撮像し、撮像された画像からワーク４０を検出する。マニピュレータ制御部２１０は、検出されたワーク４０のＺ軸上の領域にレーザセンサ１４が位置するようにアーム１６をＸＹ平面方向に移動させる（図３Ａ参照）。なお、ワーク４０のＺ軸上の領域とは、レーザセンサ１４によってワーク４０までの距離を測定可能な領域である。視覚センサ１３の視野範囲は、レーザセンサ１４の測定範囲（すなわち、レーザが照射される一点）より広い。従って、視覚センサ１３を用いてワーク４０の位置を検出することにより、レーザセンサ１４のみを用いてワーク４０の位置を走査する場合に比べて、ワーク４０の検出に要する時間を短縮することができる。
【００４０】
なお、ステップＳ１では、必ずしも視覚センサ１３の焦点がワーク４０に合っている必要はなく、取得された画像からワーク４０のおおよその位置が判別できればよい。この判別は、例えばテンプレートマッチング等によって行ってもよい。また、画像におけるワーク４０の位置に応じてアーム１６を移動させるプログラムは、予め記憶部２２に記憶されていてもよい。また、ステップＳ１の開始時に、ワーク４０のＺ軸上の領域にレーザセンサ１４が予め位置している場合は、アーム１６を移動させなくてもよい。
【００４１】
次に、ステップＳ２において、レーザセンサ制御部２１２は、レーザセンサ１４を用いて、載置面３１を基準としたワーク４０のＺ軸方向の高さｈを算出する（図３Ｂ参照）。具体的には、マニピュレータ制御部２１０及びレーザセンサ制御部２１２は、ＸＹ平面に沿ってアーム１６を移動させつつ、レーザセンサ１４からワーク４０に向かってレーザを照射させて、ワーク４０の上面４１を含むワーク４０の周辺領域を走査させる。そして、レーザセンサ１４から載置面３１までの距離ａと、レーザセンサ１４からワーク４０の上面４１までの距離ｂを測定する。これらの距離の差（＝ａ−ｂ）がワーク４０のＺ軸方向の高さｈとなり、記憶部２２に記憶される。なお、本実施形態においては、ワーク４０が直方体形状であり、上面４１が載置面３１と平行となっているため、上面４１のどの位置の高さを高さｈとしてもよい。一方、ワークの上面が載置面と平行でない場合は、例えば上面の載置面から最も離れた位置における高さを高さｈとすることができる。
【００４２】
なお、ステップＳ２において、視覚センサ１３からワーク４０の上面４１までの距離が、予め記憶部２２に記憶された視覚センサ１３のワークディスタンスと一致していない場合は、当該ワークディスタンスと一致するようにアーム１６をＺ軸方向に移動させる。
【００４３】
次に、ステップＳ３において、視覚センサ制御部２１１は、視覚センサ１３を用いて、ワーク４０を含む画像を撮像する（図３Ｃ参照）。
【００４４】
次に、ステップＳ４において、保持判定部２１３は、ステップＳ３で撮像された画像に基づいてワーク４０の平面形状及び寸法を算出し、ハンド１２による保持が可能か否かを判定する。この判定は、図３Ｄ（ａ）〜（ｅ）に示されるように、画像から算出されるワーク４０の平面形状及び寸法と、予め記憶部２２に記憶されたフィンガ１８の可動範囲との比較によって行われる。具体的には、例えばフィンガ１８の本数を４本（１８ａ〜１８ｄ）とすると、図３Ｄ（ａ）〜（ｃ）に示されるワーク４０Ａ〜４０Ｃのように、ワークの平面形状及び寸法が４本のフィンガ１８ａ〜１８ｄの可動範囲内であれば、ハンド１２によって保持可能であると判定される（Ｓ４：Ｙｅｓ）。一方、図３Ｄ（ｄ）、（ｅ）に示されるワーク４０Ｄ，４０Ｅのように、ワークの平面形状及び寸法が過度に小さいか、又は過度に大きく、フィンガ１８ａ〜１８ｄの可動範囲外であれば、ハンド１２によって保持不可能であると判定される（Ｓ４：Ｎｏ）。なお、ハンド１２が備えるフィンガ１８ａ〜１８ｄの本数は例示であり、４本に限定されない。
【００４５】
次に、ワーク４０がハンド１２によって保持可能であると判定された場合（Ｓ４：Ｙｅｓ）、ステップＳ５に進み、目標位置算出部２１４は、ハンド１２にワーク４０を保持させるプログラムを生成する。なお、プログラムの具体的な生成方法については後述する。
【００４６】
次に、ステップＳ６において、マニピュレータ制御部２１０は、ステップＳ５において生成されたプログラムを実行し、ロボット１０を動作させる（図３Ｅ参照）。詳しくは、アーム１６が現在位置から目標位置まで移動するアプローチ動作と、その位置でハンド１２がワーク４０を保持する保持動作が実行される。
【００４７】
他方、ワーク４０がハンド１２によって保持不可能であると判定された場合（Ｓ４：Ｎｏ）、ステップＳ７に進み、制御装置２０においてエラーが出力され、当該ハンド１２による保持動作が停止する。そして、ステップＳ８において、フィンガの可動範囲に応じてワークを交換するか、ワークの形状及び寸法に応じてハンドを交換し、ステップＳ１に戻る。
【００４８】
次に、図４、図５Ａ及び図５Ｂを参照して、ワーク４０を保持するプログラムの生成における、目標位置を算出する手順について詳細に説明する。図４は、本発明の一実施形態に係るロボットシステムにおけるアームの目標位置を算出する手順を示すフローチャートであり、図５Ａ及び図５Ｂは、本発明の一実施形態に係るロボットシステムにおけるアームの目標位置を算出する手順を説明するための説明図である。なお、図４に示されるフローチャートは、図２に示されるフローチャートにおけるステップＳ５に含まれる手順である。
【００４９】
まず、図４に示されるフローチャートについて説明する前に、図５Ａを参照してハンド１２の構造について説明する。図５Ａに示されるように、ハンド１２は、開閉動作によってワーク４０Ｆを保持する複数のフィンガ１８と、アームに固定され、複数のフィンガ１８を上方から支える支持部１９とを有する。本実施形態において、複数のフィンガ１８は、支持部１９に対して水平方向（図５ＡにおいてはＸ軸方向）に沿って摺動する構造を有する。これにより、ワーク４０Ｆが複数のフィンガ１８によって両側から挟み込まれ、ワーク４０Ｆが保持される。なお、複数のフィンガ１８の開閉動作は摺動する構造に限られず、例えば各フィンガが関節を有し、関節を基点として回転する構造であってもよい。
【００５０】
複数のフィンガ１８は、それぞれ、ＸＺ平面の平面視において屈曲した形状を成し、載置面３１を基準とした鉛直方向（載置面３１と交差する第１方向の一具体例）に沿う鉛直部分と、載置面３１を基準とした水平方向に沿う水平部分とを有する。当該鉛直部分は、その内側（ワーク４０Ｆ側）において、ハンド１２がワーク４０Ｆを保持する際にワーク４０Ｆに当接し得る保持領域１８１を有する。なお、保持領域１８１は、ハンド１２がワーク４０Ｆを保持する際に、ワーク４０Ｆに実際に当接する領域と、ワーク４０Ｆに当接しない領域の双方を含む。また、各フィンガ１８及び支持部１９は、それぞれ、ハンド１２がワーク４０Ｆを保持する際にワーク４０Ｆの上面４１と対向する対向領域１８２（第２対向領域），１９１（第２対向領域）を有する。当該対向領域１８２，１９１は、ハンド１２がワーク４０Ｆを保持する際であっても、ワーク４０Ｆに当接しない領域である。
【００５１】
次に図４に示されるフローチャートについて説明する。なお、図４に示されるフローの開始前に、各フィンガ１８における保持領域１８１の鉛直方向の長さｆが予め記憶部２２に記憶されているものとする。まず、ステップＳ１０において、記憶部２２に記憶されたワーク４０の鉛直方向の高さｈと、フィンガ１８の保持領域１８１の鉛直方向の長さｆを比較する。そして、図５Ａに示されるように、ワーク４０Ｆの高さｈ１がフィンガ１８の保持領域１８１の長さｆよりも長い場合（Ｓ１０：Ｙｅｓ）、ステップＳ２０に進み、ワーク４０Ｆの上面４１とハンド１２におけるワーク４０Ｆと対向する領域（すなわち、フィンガ１８の対向領域１８２及び支持部１９の対向領域１９１）との間に、少なくとも間隔ｄ１が設けられるようにアームの目標位置を算出する。他方、図５Ｂに示されるように、ワーク４０Ｇの高さｈ２がフィンガ１８の保持領域１８１の長さｆよりも短い場合（Ｓ１０：Ｎｏ）、ステップＳ３０に進み、載置面３１とフィンガ１８の先端部１８３との間に間隔ｄ２が設けられるようにアームの目標位置を算出する。この間隔ｄ１，ｄ２は、ハンド１２と、ワーク４０及び載置面３１との接触を回避し、ハンドの故障やワークの破損を防ぐための安全距離である。当該安全距離の長さ（例えば、数ｍｍ程度）は、予め作業者が設定し、記憶部２２に記憶させてもよい。
【００５２】
なお、ワーク４０の高さｈとフィンガ１８の保持領域１８１の長さｆが等しい場合（Ｓ１０：Ｎｏ）、上述のステップＳ２０，Ｓ３０のいずれによっても、ハンド１２と、ワーク４０の上面４１及び載置面３１との間に安全距離が設けられるため、ステップＳ２０，Ｓ３０のいずれに従ってもよい。
【００５３】
以上の手順により、ロボットシステム１は以下の効果を奏する。すなわち、ロボット１０は、ワーク４０までの距離を測定するレーザセンサ１４を備える。これにより、ワーク４０の高さによらず、当該レーザセンサ１４から得られる距離情報に基づいて、ハンド１２がワーク４０にも載置面３１にも接触しない目標位置にアーム１６を自動的に移動させることができる。従って、特許文献１に開示されるロボットのように、作業者がロボットを目視しつつ手動でアームを移動させる必要がなく、ロボットの動作の教示に要する手間及び時間を削減することができる。また、ハンド１２がワーク４０及び載置面３１に接触しないため、これらへの干渉を回避し、ハンド１２の故障やワーク４０の破損を防ぐことができる。
【００５４】
また、ロボットシステム１では、保持判定部２１３が、視覚センサ１３によって撮像された画像と、記憶部２２に記憶されたフィンガ１８の可動範囲に基づいて、ワーク４０の保持が可能か否かを判定する。これにより、保持が不可能であると判定された場合に、ハンド１２による保持動作を停止させることができる。従って、これによってもハンド１２の故障やワーク４０の破損を防ぐことができる。
【００５５】
本実施形態においては、視覚センサ１３とレーザセンサ１４とが別体として設けられているが、当該構成の代わりに、例えば測距機能を兼ねた撮像装置によって距離が測定される構成であってもよい。なお、撮像装置に備えられた測距機能は、一般的に、外乱の影響を受けやすく、レーザセンサに比べて測距の精度が劣ってしまう。特に、ロボットシステムが例えば溶接現場等において用いられる場合、当該現場には不規則に発光する光源が存在し、明るさが大きく変動するため、測距の精度が不十分となり得る。この点、本実施形態では、レーザセンサ１４が視覚センサ１３とは別体として設けられているため、上述のような測距機能を兼ねた撮像装置が用いられる構成に比べて、高い精度で距離を測定することができる。従って、アームの目標位置の算出を高い精度で行うことができる。
【００５６】
次に、図６Ａ及び図６Ｂを参照し、本発明の一実施形態に係るロボットシステムにおける角度調整機能について説明する。図６Ａ及び図６Ｂは、本発明の一実施形態に係るロボットシステムにおける角度調整機能について説明するための説明図である。なお、上述の実施形態と同一の要素には同一の符号を付して説明を省略する。また、以降では上述の実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。特に、同様の構成による同様の作用効果については実施形態毎には逐次言及しない。
【００５７】
図６Ａは、ワーク４０の一具体例であるワーク４０Ｈを含むＸＺ平面の平面視を示している。ワーク４０Ｈの上面４２は、載置面３１に対して傾斜角θを成す傾斜面である。レーザセンサ１４を用いてこのような上面４２を走査すると、レーザセンサ１４から上面４２までの距離がＸＹ平面の位置に応じて変動するため、上面４２の傾きは、当該変動に基づいて自動的に検出することができる。
【００５８】
このように、ワーク４０Ｈの上面４２が傾斜している場合に上述の保持動作の制御方法を適用すると、ワーク４０Ｈの高さが一定ではないため、図４に示されるステップＳ２０，Ｓ３０において目標位置算出部２１４が目標位置の算出を誤り、ハンド１２と上面４２が接触するおそれがある。また、図６Ａに示されるように、視覚センサ１３のレンズの光軸ｃがＺ軸に沿うように撮像されると、画像に基づいて算出される上面４２の寸法と、上面４２の実際の寸法が異なるため、図２に示されるステップＳ４において保持判定部２１３が判定を誤るおそれがある。
【００５９】
この点、本実施形態では、図６Ｂに示されるように、上面４２の傾斜角θに応じてアーム１６が移動した後に、保持の判定や目標位置の算出が行われる。具体的には、レーザセンサ制御部２１２が、レーザセンサ１４を用いてレーザセンサ１４から上面４２までの距離を測定し、当該距離に基づいて載置面３１に対する上面４２の傾斜角θを算出する。そして、マニピュレータ制御部２１０が、ワーク４０Ｈの上面４２と視覚センサ１３のレンズの光軸ｃが略直交するように、アーム１６の関節の角度を調整する。これにより、レーザセンサ１４から上面４２までの距離が一定となるため、ステップＳ２０，Ｓ３０において、ハンド１２と上面４２が接触しない適切な目標位置を算出することができる。また、視覚センサ１３の視野面が上面４２と平行となるため、上面４２の寸法を適切に算出することができ、ハンド１２による保持が可能か否かの判定を適切に行うことができる。
【００６０】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【００６１】
１…ロボットシステム、１０…ロボット、１１…マニピュレータ、１２…ハンド、１３…視覚センサ、１４…レーザセンサ、１５…ベース、１６…アーム、１７…先端、１８…フィンガ、１８１…保持領域、１８２…対向領域、１８３…先端部、１９…支持部、１９１…対向領域、２０…制御装置、２１…制御部、２２…記憶部、２１０…マニピュレータ制御部、２１１…視覚センサ制御部、２１２…レーザセンサ制御部、２１３…保持判定部、２１４…目標位置算出部、３０…作業台、３１…載置面、４０…ワーク、４１，４２…上面
【図１】
2019063955.tif 000003
【図２】
2019063955.tif 000004
【図３Ａ】
2019063955.tif 000005
【図３Ｂ】
2019063955.tif 000006
【図３Ｃ】
2019063955.tif 000007
【図３Ｄ】
2019063955.tif 000008
【図３Ｅ】
2019063955.tif 000009
【図４】
2019063955.tif 000010
【図５Ａ】
2019063955.tif 000011
【図５Ｂ】
2019063955.tif 000012
【図６Ａ】
2019063955.tif 000013
【図６Ｂ】
2019063955.tif 000014