(57)【要約】【課題】人の動作に合わせるように協働作業を行うことができるロボットシステムが求められている。【解決手段】本開示に係るロボットシステム１０は、ロボット１２と、作業対象物Ｗを検出するとともに、該作業対象物Ｗに対する作業員Ａの所定の動作を検出する検出装置１６と、検出装置１６が所定の動作を検出したときに、該検出装置１６が検出した作業対象物Ｗに対しロボット１２に予め定めた作業を実行させるロボット制御部とを備える。【選択図】図１
2020066080.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
作業対象物を検出するとともに、該作業対象物に対する人の所定の動作を検出する検出装置と、
前記検出装置が前記所定の動作を検出したときに、該検出装置が検出した前記作業対象物に対し前記ロボットに予め定めた作業を実行させるロボット制御部と、を備える、ロボットシステム。
【請求項２】
前記作業は、前記ロボットが前記作業対象物を把持して運搬する作業であり、
前記ロボット制御部は、前記検出装置が検出した前記作業対象物の位置に基づき、前記作業対象物を把持する位置に前記ロボットを移動させ、該把持する位置で前記ロボットに前記作業対象物を把持させる、請求項１に記載のロボットシステム。
【請求項３】
前記ロボットに加わる外力を検出する力検出装置をさらに備え、
前記ロボット制御部は、前記力検出装置が検出した前記外力のデータに基づき、前記ロボットに前記作業対象物を運搬させる、請求項２に記載のロボットシステム。
【請求項４】
前記検出装置は、前記所定の動作とは異なる人の第２の動作をさらに検出し、
前記ロボット制御部は、前記検出装置が前記第２の動作を検出したときに、前記ロボットに前記作業対象物を解放させる、請求項２又は３に記載のロボットシステム。
【請求項５】
前記検出装置は、前記所定の動作として、
人が前記作業対象物に接近する動作、
人が手で前記作業対象物を把持する動作、
人が指で前記作業対象物を指す動作、又は
人が手で前記作業対象物をタップする動作
を検出するように構成されている、請求項１〜４のいずれか１項に記載のロボットシステム。
【請求項６】
ロボットの制御方法であって、
作業対象物を検出し、
前記作業対象物に対する人の所定の動作を検出し、
前記所定の動作を検出したときに、検出した前記作業対象物に対し前記ロボットに予め定めた作業を実行させる、制御方法。
【請求項７】
前記作業は、前記ロボットが前記作業対象物を把持して運搬する作業であり、
前記所定の動作を検出したときに、前記検出した作業対象物の位置に基づき、該作業対象物を把持する位置に前記ロボットを移動させ、
前記把持する位置で前記ロボットに前記作業対象物を把持させ、
力検出装置が検出した、前記ロボットに加わる外力のデータに基づき、前記ロボットに前記作業対象物を運搬させる、請求項６に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人と協働作業を行うロボットシステム、及びロボット制御方法に関する。
【背景技術】
【０００２】
人と協働作業を行うロボットシステムが知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７-７４６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、人の動作に合わせるように協働作業を行うことができるロボットシステムが求められている。
【課題を解決するための手段】
【０００５】
本開示の一態様において、ロボットシステムは、ロボットと、作業対象物を検出するとともに、該作業対象物に対する人の所定の動作を検出する検出装置と、検出装置が所定の動作を検出したときに、該検出装置が検出した作業対象物に対しロボットに予め定めた作業を実行させるロボット制御部とを備える。
【発明の効果】
【０００６】
本開示によれば、作業員は、装置を操作することなく、ロボットを所望のタイミングで直感的に始動させることができる。したがって、作業員の動きに高度に合わせるように、ロボットに協働作業させることができる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態に係るロボットシステムの図である。
【図２】図１に示すロボットシステムのブロック図である。
【図３】図１に示すロボットシステムの動作フローの一例を示すフローチャートである。
【図４】作業員の第１の動作の一例を説明するための図である。
【図５】作業員の第１の動作の他の例を説明するための図である。
【図６】作業員の第１の動作のさらに他の例を説明するための図である。
【図７】作業員の第１の動作のさらに他の例を説明するための図である。
【図８】図３中のステップＳ１０で作業員がロボットと協働で作業対象物を運搬している状態を示す。
【図９】作業員の第２の動作の一例を説明するための図である。
【図１０】作業員の第２の動作の他の例を説明するための図である。
【図１１】他の実施形態に係るロボットシステムの図である。
【図１２】図１１に示すロボットシステムのブロック図である。
【図１３】図１１に示すロボットシステムの動作フローの一例を示すフローチャートである。
【図１４】作業員の所定の動作の一例を説明するための図である。
【図１５】さらに他の実施形態に係るロボットシステムの図である。
【図１６】さらに他の実施形態に係るロボットシステムの図である。
【発明を実施するための形態】
【０００８】
以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図１及び図２を参照して、一実施形態に係るロボットシステム１０について説明する。  ロボットシステム１０は、作業員Ａと協働して、作業対象物Ｗを予め定められた目的位置まで運搬する作業を行うためのシステムである。ロボットシステム１０は、ロボット１２、力検出装置１４、検出装置１６Ａ及び１６Ｂ、及び制御装置１８を備える。制御装置１８は、例えばプロセッサ（ＣＰＵ、ＧＰＵ等）及びメモリ（ＲＡＭ、ＲＯＭ等）を有し、ロボット１２、力検出装置１４、並びに検出装置１６Ａ及び１６Ｂを制御する。
【０００９】
本実施形態においては、ロボット１２は、垂直多関節ロボットであって、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部３２、及びロボットハンド２６を有する。ロボットベース２０は、作業セルの床の上に固定されたベースプレート３８に対して固定されている。旋回胴２２は、ロボットベース２０に鉛直軸周りに旋回可能に設けられている。ロボットアーム２４は、旋回胴２２に回転可能に取り付けられた下腕部２８と、該下腕部２８の先端に回転可能に取り付けられた上腕部３０とを有する。
【００１０】
手首部３２は、上腕部３０の先端に連結され、ロボットハンド２６を回転可能に支持している。ロボットハンド２６は、手首部３２に連結されたハンドベース３４と、該ハンドベース３４に開閉可能に設けられた複数の指部３６とを有する。ロボットハンド２６は、指部３６で作業対象物Ｗを把持したり、解放したりする。
【００１１】
ロボット１２は、複数のサーボモータ４０（図２）を有する。これらサーボモータ４０は、ロボット１２の各コンポーネント（すなわち、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部３２）に内蔵され、これらコンポーネントを駆動軸周りに回転させる。
【００１２】
力検出装置１４は、手首部３２とロボットハンド２６との間に介挿されている。本実施形態においては、力検出装置１４は、複数の歪ゲージ（図示せず）を有する６軸力覚センサを有し、ロボットハンド２６に加わる外力を検出する。なお、力検出装置１４は、６軸力覚センサに限らず、ロボットハンド２６に加わる外力を検出可能であれば、如何なる装置を有してもよい。
【００１３】
検出装置１６Ａは、作業対象物Ｗを検出する。具体的には、検出装置１６Ａは、作業セル内の所定の位置に固定され、作業対象物Ｗを撮像し、撮像した画像に基づいて、該作業対象物Ｗのロボット座標系ＣＲにおける位置を検出する。なお、本稿において作業対象物及びロボットの「位置」とは、位置及び姿勢を意味する場合がある。
【００１４】
検出装置１６Ｂは、作業対象物Ｗに対する作業員Ａの所定の動作を検出する。具体的には、検出装置１６Ｂは、作業員Ａを撮像し、撮像した画像に基づいて、作業対象物Ｗに対する作業員Ａの所定の動作を検出する（いわゆる、光学式モーションキャプチャ）。なお、検出装置１６Ｂが検出する作業員Ａの所定の動作については、後述する。例えば、検出装置１６Ａ及び１６Ｂは、撮像素子、フォーカスレンズ等の光学レンズ、及び画像処理プロセッサ（例えばＧＰＵ）等を有する３次元視覚センサから構成されてもよい。
【００１５】
次に、図３を参照して、ロボットシステム１０の動作について説明する。図３に示す動作フローは、制御装置１８が、オペレータ、上位コントローラ、又はロボットプログラムから運転開始指令を受け付けたときに、開始する。本実施形態においては、図３に示す動作フローが開始されたとき、図４に示すように、複数の作業対象物Ｗ１〜Ｗ４がランダムに載置されている。
【００１６】
ステップＳ１において、検出装置１６Ａは、各々の作業対象物Ｗ１〜Ｗ４を検出する。具体的には、制御装置１８は、検出装置１６Ａに位置検出指令を送り、該位置取得指令を受け付けて、検出装置１６Ａは、各々の作業対象物Ｗ１〜Ｗ４を撮像し、撮像した画像に基づいて、各々の作業対象物Ｗ１〜Ｗ４のロボット座標系ＣＲにおける位置を取得する。
【００１７】
ステップＳ２において、検出装置１６Ｂは、作業員Ａの動作の検出を開始する。具体的には、制御装置１８は、検出装置１６Ｂに動作検出指令を送り、該動作検出指令を受け付けて、検出装置１６Ｂは、作業員Ａを連続的に（例えば、所定の周期で）撮像し、撮像した画像に基づいて、作業員Ａの動作を継続的に検出する。
【００１８】
ここで、検出装置１６Ｂは、作業員Ａの第１の動作及び第２の動作を検出するように構成される。この第１の動作は、作業対象物Ｗを把持する作業をロボット１２に行わせるために、作業員Ａが、ロボット１２に把持させるべき作業対象物Ｗに対して行う所定の動作である。この第１の動作の例について、図４〜図７を参照して説明する。
【００１９】
図４に示す例においては、第１の動作は、作業員Ａが、ロボット１２に把持させるべき１つの作業対象物Ｗ１に接近する動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、撮像した画像と、上述のステップＳ１で取得した、各々の作業対象物Ｗ１〜Ｗ４の位置の情報とから、作業員Ａと作業対象物Ｗ１との距離ｄ１、作業員Ａと作業対象物Ｗ２との距離ｄ２、作業員Ａと作業対象物Ｗ３との距離ｄ３、及び、作業員Ａと作業対象物Ｗ４との距離ｄ４をそれぞれ算出する。
【００２０】
そして、検出装置１６Ｂは、算出した各々の距離ｄ１〜ｄ４が、予め定められた閾値ｄｔｈ１以下となったか否かを判定する。そして、距離ｄ１〜ｄ４のいずれかが閾値ｄｔｈ１以下となったときに、第１の動作として、作業対象物Ｗ１〜Ｗ４のいずれかに作業員Ａが接近したことを検出する。
【００２１】
図４に示す例においては、作業員Ａが作業対象物Ｗ１に接近しており、検出装置１６Ｂは、距離ｄ１が閾値ｄｔｈ１以下となったときに、作業員Ａが作業対象物Ｗ１に接近する第１の動作を検出するとともに、作業対象物Ｗ１をロボット１２の把持対象として特定する。代替的には、検出装置１６Ｂは、連続して撮像した画像から作業員Ａの移動方向Ｅを算出し、移動方向Ｅと交差する作業対象物Ｗ１を、ロボット１２の把持対象として特定してもよい。
【００２２】
図５に示す例においては、第１の動作は、作業員Ａがロボット１２に把持させるべき１つの作業対象物Ｗ１を手Ｂで把持する動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、いわゆるモーションキャプチャ技術を用いて、作業員Ａが作業対象物Ｗ１を把持する第１の動作を検出するとともに、作業員Ａが把持した作業対象物Ｗ１を、ロボット１２の把持対象として特定する。
【００２３】
一例として、検出装置１６Ｂは、作業員Ａが作業対象物Ｗ１を把持する動作の基準動作パターンを記憶（又は、機械学習）しておく。そして、検出装置１６Ｂは、ステップＳ２の開始後に作業員Ａの動作を監視しているときに、実際の作業員Ａの動作が、該基準動作パターンと合致するか否かを判定し、合致すると判定したときに、作業員Ａが作業対象物Ｗ１を把持する第１の動作を行ったことを検出する。
【００２４】
図６に示す例においては、第１の動作は、作業員Ａがロボット１２に把持させるべき１つの作業対象物Ｗ１を指Ｃで指す動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、いわゆるモーションキャプチャ技術を用いて、作業員Ａが作業対象物Ｗ１を指す動作及び指す方向Ｄを検出するとともに、指す方向Ｄと交差する作業対象物Ｗ１を、ロボット１２の把持対象として特定する。
【００２５】
図７に示す例においては、第１の動作は、作業員Ａがロボット１２に把持させるべき１つの作業対象物Ｗ１を手Ｂでタップする動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、いわゆるモーションキャプチャ技術を用いて、作業員Ａが作業対象物Ｗ１をタップする動作を検出するとともに、タップされた作業対象物Ｗ１を、ロボット１２の把持対象として特定する。
【００２６】
この場合において、作業員Ａは、作業対象物Ｗ１を予め定められた回数ｎ（ｎは２以上の整数）だけタップし、検出装置１６Ｂは、作業員Ａが作業対象物Ｗ１をｎ回タップする動作を検出したときに、該動作を第１の動作として検出してもよい。なお、検出装置１６Ｂが検出する作業員Ａの第２の動作については、後述する。
【００２７】
ステップＳ３において、検出装置１６Ｂは、作業員Ａの第１の動作を検出したか否かを判定する。具体的には、検出装置１６Ｂは、例えば図４〜図７で説明したような作業員Ａの第１の動作を検出したか否かを判定する。検出装置１６Ｂは、作業員Ａの第１の動作を検出した場合、ＹＥＳと判定し、ロボット１２の把持対象となる作業対象物Ｗ１を特定する。そして、検出装置１６Ａは、検出装置１６Ｂが把持対象として特定した作業対象物Ｗ１のロボット座標系ＣＲにおける位置の情報を制御装置１８に送り、ステップＳ５へ進む。一方、検出装置１６Ｂは、第１の動作を検出していない場合はＮＯと判定し、ステップＳ４へ進む。
【００２８】
ステップＳ４において、制御装置１８は、オペレータ、上位コントローラ、又はロボットプログラムから運転終了指令を受け付けたか否かを判定する。制御装置１８は、運転終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図３に示すフローを終了する一方、運転終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ３へ戻る。
【００２９】
ステップＳ５において、制御装置１８は、ロボット１２を、作業対象物Ｗ１を把持するための位置（以下、把持位置とする）へ移動させて、ロボット１２に作業対象物Ｗ１を把持させる。具体的には、制御装置１８は、上述のステップＳ３で検出装置１６Ａから受信した作業対象物Ｗ１の位置の情報に基づいてロボット１２の各サーボモータ４０へ指令を送り、該ロボット１２を把持位置へ移動させる。
【００３０】
ロボット１２が把持位置に配置されたとき、作業対象物Ｗ１は、ロボットハンド２６の指部３６の間に配置される。このように、制御装置１８は、検出装置１６Ｂが作業員Ａの第１の動作を検出したことをトリガーとして、ロボット１２を把持位置へ移動させる作業（すなわち、各サーボモータ４０への指令）を開始する。
【００３１】
次いで、制御装置１８は、ロボットハンド２６を動作させて指部３６を閉じる。これにより、ロボット１２は、作業対象物Ｗ１をロボットハンド２６で把持する。このように、本実施形態においては、制御装置１８は、検出装置１６Ｂが作業員Ａの第１の動作を検出したときにロボット１２に予め定めた作業（ロボット１２を把持位置へ移動させ、作業対象物Ｗ１を把持する作業）を実行させるロボット制御部４２（図２）として機能する。
【００３２】
なお、このステップＳ５において、制御装置１８は、検出装置１６Ｂが連続的に検出している作業員Ａの動作の情報に基づいて、該作業員Ａとの衝突を避けることができるロボット１２の動作経路を演算してもよい。例えば、制御装置１８は、検出装置１６Ｂから作業員Ａの動作経路を示すデータを取得し、作業員Ａの動作経路を避ける（交差しない）ようなロボット１２の動作経路を演算する。そして、制御装置１８は、演算した動作経路に沿ってロボット１２を動作させる。この構成によれば、ロボット１２と作業員Ａとの衝突を避けることができる。
【００３３】
ステップＳ５でロボット１２が作業対象物Ｗ１を把持する作業が完了したとき、作業員Ａは、作業対象物Ｗ１をロボット１２と協働で目的位置まで運搬するために、該ロボット１２に外力Ｆを加える。一例として、作業員Ａは、ロボット１２が把持する作業対象物Ｗ１を持ち上げて、該作業対象物Ｗ１を目的位置の方向へ押す。このときに作業員Ａが作業対象物Ｗに加えた外力Ｆは、作業対象物Ｗ１を通して、ロボットハンド２６に加えられることになる。
【００３４】
他の例として、作業員Ａは、ロボットハンド２６に手Ｂで直接外力Ｆを加えてもよい。この場合において、ロボットハンド２６（例えば、ハンドベース３４）に作業員Ａが把持可能なハンドル（図示せず）を設けて、作業員Ａは、該ハンドルを手Ｂで把持して、該ハンドルを通してロボットハンド２６に外力Ｆを加えてもよい。
【００３５】
本実施形態においては、制御装置１８は、ステップＳ５の完了後、検出装置１６Ｂが検出する作業員Ａの動作に追従して検出装置１６Ａが検出する目標位置へロボット１２をアプローチさせる位置追従制御（ステップＳ２〜Ｓ５）から、ロボット１２に加わる外力Ｆに従って該ロボット１２を制御するリードスルー制御（後述のステップＳ６〜Ｓ１０）に切り換える。
【００３６】
ステップＳ６において、制御装置１８は、ロボット１２に加わる外力Ｆの検出を開始する。具体的には、制御装置１８は、力検出装置１４が検出した外力Ｆのデータを、該力検出装置１４から連続的に（例えば、周期的に）取得する動作を開始する。作業員Ａが作業対象物Ｗ１を通して（又は手Ｂで直接）ロボット１２に加えた外力Ｆ（大きさ及び方向）は、力検出装置１４によって検出される。
【００３７】
ステップＳ７において、制御装置１８は、直近に力検出装置１４が検出した外力Ｆが、予め定められた閾値Ｆｔｈ以上となったか否かを判定する。制御装置１８は、直近の外力Ｆが、Ｆ≧Ｆｔｈである（すなわち、ＹＥＳ）と判定した場合、ステップＳ１０へ進む一方、Ｆ＜Ｆｔｈである（すなわち、ＮＯ）と判定した場合、ステップＳ８へ進む。
【００３８】
ステップＳ８において、制御装置１８は、上述のステップＳ４と同様に、運転終了指令を受け付けたか否かを判定する。制御装置１８は、運転終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図３に示すフローを終了する一方、運転終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ９へ進む。
【００３９】
ステップＳ９において、制御装置１８は、警告信号を生成する。例えば、制御装置１８は、「ロボットを目的位置へ向かってガイドしてください」という音声又は画像の形式の警告信号を生成し、スピーカ又はディスプレイ（図示せず）を通して、警告を出力してもよい。ステップＳ９の後、制御装置１８は、ステップＳ７へ戻る。
【００４０】
ステップＳ１０において、制御装置１８は、直近に力検出装置１４が検出した外力Ｆのデータに基づいて、ロボット１２に作業対象物Ｗ１を運搬させる。具体的には、制御装置１８は、直近に力検出装置１４が検出した外力Ｆの方向を取得し、作業対象物Ｗ１を把持するロボットハンド２６を外力Ｆの方向へ移動させるように、ロボット１２を制御する。
【００４１】
制御装置１８は、直近に力検出装置１４が検出した外力Ｆの大きさを取得し、該外力Ｆの大きさに応じて、ロボットハンド２６を外力Ｆの方向へ移動させる速度を制御してもよい。例えば、制御装置１８は、該外力Ｆの大きさが大きくなる程、ロボットハンド２６を移動させる速度を増大させるように、該ロボットハンド２６の移動速度を制御してもよい。
【００４２】
これにより、ロボット１２は、図８に示すように、作業員Ａがロボット１２に加えた外力Ｆに従って、作業対象物Ｗ１を移動させる。なお、図８に示す例においては、作業員Ａが、ロボット１２とともに作業対象物Ｗ１を手Ｂで把持して、該作業対象物Ｗ１を通してロボット１２に外力Ｆを加えている場合を示している。こうして、ロボット１２は、作業員Ａと協働で、作業対象物Ｗ１を目的位置へ向かって運搬する。
【００４３】
なお、制御装置１８は、ステップＳ１０の実行中に、力検出装置１４が検出した外力Ｆが、上限値ＦＭＡＸを超えたか否かを判定し、外力Ｆが上限値ＦＭＡＸを超えた（すなわち、Ｆ≧ＦＭＡＸ）場合に、ロボット１２の動作を緊急停止してもよい。この上限値ＦＭＡＸは、ステップＳ１０の実行中にロボットハンド２６又は作業対象物Ｗ１が、障害物と衝突したことを検出するために、上述の閾値Ｆｔｈよりも大きな値として使用者によって予め定められる。
【００４４】
作業対象物Ｗ１を目的位置に移動させたとき、作業員Ａは、第２の動作を行う。この第２の動作は、ロボット１２に作業対象物Ｗ１を解放させるために作業員Ａが行う、上述の第１の動作とは異なる所定の動作である。この第２の動作の例について、図９及び図１０を参照して説明する。
【００４５】
図９に示す例においては、第２の動作は、作業員Ａが、ロボット１２が把持している作業対象物Ｗ１から離れる動作として定められている。一例として、検出装置１６Ｂは、作業員Ａ及び作業対象物Ｗ１を連続的に撮像し、撮像した画像から、作業員Ａと作業対象物Ｗ１との距離ｄ１を算出する。検出装置１６Ｂは、ステップＳ５を完了したとき、又はステップＳ１０を開始したときに、作業員Ａと作業対象物Ｗ１との距離ｄ１を算出する動作を開始してもよい。
【００４６】
検出装置１６Ｂは、算出した距離ｄ１が、予め定められた閾値ｄｔｈ２以上となったか否かを判定する。そして、距離ｄ１が閾値ｄｔｈ２以上となったときに、第２の動作として、作業員Ａが作業対象物Ｗ１から離れたことを検出する。なお、閾値ｄｔｈ２は、上述の閾値ｄｔｈ１と同じ値であってもよいし、又は、異なる値であってもよい。
【００４７】
図１０に示す例においては、第２の動作は、作業員Ａが作業対象物Ｗ１を把持していた手Ｂを開いて、該作業対象物Ｗ１を解放する動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、いわゆるモーションキャプチャ技術を用いて、作業員Ａが作業対象物Ｗ１を把持していた手Ｂを開く動作を検出する。
【００４８】
一例として、検出装置１６Ｂは、作業員Ａが作業対象物Ｗ１を把持していた手Ｂを開く動作の基準動作パターンを記憶（又は、機械学習）しておく。そして、検出装置１６Ｂは、ステップＳ１０の実行中に作業員Ａの動作を監視しているときに、実際の作業員Ａの動作が、該基準動作パターンと合致するか否かを判定し、合致すると判定したときに、作業員Ａが手Ｂを開く第２の動作を行ったことを検出してもよい。
【００４９】
ステップＳ１１において、検出装置１６Ｂは、作業員Ａの第２の動作を検出したか否かを判定する。具体的には、検出装置１６Ｂは、例えば図９及び図１０で説明したような作業員Ａの第２の動作を検出したか否かを判定し、検出した場合はＹＥＳと判定し、ステップＳ１２へ進む。一方、検出装置１６Ｂは、作業員Ａの第２の動作を検出していない場合はＮＯと判定し、ステップＳ７へ戻る。
【００５０】
上述したように、本実施形態においては、検出装置１６Ｂは、作業対象物Ｗ１の運搬前に作業員Ａが行う第１の動作と、作業対象物Ｗ１を目的位置へ運搬したときに作業員Ａが行う第２の動作とを検出する。よって、検出装置１６Ｂは、少なくとも、作業対象物Ｗ１を運搬する前の作業員Ａと、作業対象物Ｗ１を目的位置に運搬したときの作業員Ａとを検出できるような位置に、設置される。
【００５１】
ステップＳ１２において、制御装置１８は、ロボット１２に作業対象物Ｗ１を解放させる。具体的には、制御装置１８は、ロボットハンド２６を動作させて指部３６を開く。これにより、ロボットハンド２６は、把持していた作業対象物Ｗ１を解放する。その結果、作業対象物Ｗ１は、目的位置に配置されることになる。
【００５２】
なお、ステップＳ１１でＹＥＳと判定されたとき、このステップＳ１２において、制御装置１８は、作業対象物Ｗ１を解放する前に、ロボットプログラムに従ってロボット１２を動作させて、ロボット１２が把持している作業対象物Ｗ１を所定の方向（例えば、鉛直下方）へ移動させてもよい。
【００５３】
例えば、ロボット１２が作業対象物Ｗ１を、目的位置である載置台の鉛直上方まで移動させたときに、作業員Ａが第２の動作を行ったとする。ステップＳ１１で該第２の動作を検出したとき、制御装置１８は、ステップＳ１２において、ロボット１２を動作させて作業対象物Ｗ１を鉛直下方へ移動させ、該作業対象物Ｗ１を載置台の上に載置したときに、ロボット１２に作業対象物Ｗ１を解放させる。
【００５４】
ここで、制御装置１８は、ロボット１２によって作業対象物Ｗ１を鉛直下方へ移動させているときに、力検出装置１４が検出する外力を監視し、該外力のデータに基づいて、作業対象物Ｗ１が載置台に当接したか否かを検出してもよい。そして、制御装置１８は、作業対象物Ｗ１が載置台に当接したことを検出したときに、ロボット１２に作業対象物Ｗ１を解放させてもよい。
【００５５】
ステップＳ１３において、制御装置１８は、上述のステップＳ４と同様に、運転終了指令を受け付けたか否かを判定する。制御装置１８は、運転終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図３に示すフローを終了する一方、運転終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ３へ戻る。
【００５６】
そして、作業員Ａは、他の作業対象物Ｗ２〜Ｗ４のいずれかに対して再度、第１の動作を行い、制御装置１８は、ステップＳ３〜１３のループを繰り返し実行することによって、作業員Ａと協働で、ロボット１２に作業対象物Ｗ２〜Ｗ４を目的位置まで順次運搬させることができる。
【００５７】
以上のように、本実施形態においては、制御装置１８は、検出装置１６Ｂが作業員Ａの第１の動作を検出したときに、作業対象物Ｗに対しロボット１２に予め定めた作業（把持位置への移動及び把持）を実行させている。この構成によれば、作業員Ａは、装置を操作することなく、ロボット１２を所望のタイミングで直感的に始動させることができる。したがって、作業員Ａの動きに高度に合わせるように、ロボット１２に協働作業させることができる。
【００５８】
また、本実施形態においては、制御装置１８は、ステップＳ５の終了後、検出装置１６Ｂの検出データに基づく位置追従制御（ステップＳ２〜Ｓ５）から、力検出装置１４の検出データに基づくリードスルー制御（ステップＳ６〜Ｓ１０）に切り換えている。この構成によれば、作業員Ａの第１の動作によってロボット１２を始動させて、該ロボット１２と協働で作業対象物Ｗ１を目的位置まで運搬させる一連の作業を、円滑に行うことができる。
【００５９】
また、本実施形態においては、制御装置１８は、検出装置１６Ｂが作業員Ａの第２の動作を検出したときに、ロボット１２に作業対象物Ｗ１を解放させている。この構成によれば、作業員Ａは、装置を操作することなく、作業対象物Ｗ１を目的位置に運搬したタイミングで直感的に、ロボット１２に該作業対象物Ｗ１を解放させることができる。
【００６０】
なお、本実施形態においては、検出装置１６Ａが、作業対象物Ｗ１〜Ｗ４のロボット座標系ＣＲにおける位置を検出する場合について述べた。しかしながら、これに限らず、例えば、作業対象物Ｗ１〜Ｗ４を、治具等によって、ロボット座標系ＣＲにおける所定の位置に配置し、制御装置１８が、これら作業対象物Ｗ１〜Ｗ４のロボット座標系ＣＲにおける位置を予め記憶していてもよい。
【００６１】
この場合、検出装置１６Ａは、ステップＳ１において、各々の作業対象物Ｗ１〜Ｗ４の存在を検出するだけで、作業対象物Ｗ１〜Ｗ４のロボット座標系ＣＲにおける位置を取得しなくてもよい。そして、ステップＳ３において、検出装置１６Ｂは、作業員Ａの第１の動作の対象となった作業対象物Ｗ１を特定し、ステップＳ５において、制御装置１８は、予め記憶された作業対象物Ｗ１の位置の情報に基づいて、ロボット１２を把持位置へ移動させてもよい。
【００６２】
また、図３に示すフローにおいて、制御装置１８は、上述のステップＳ６を、ステップＳ５よりも前に（例えば、ステップＳ２の直前又は直後のタイミングで）実行し、該ステップＳ５を実行しているときに、力検出装置１４が検出する外力Ｆが上限値ＦＭＡＸを超えたときに、ロボットハンド２６が作業員Ａと衝突したと判定し、該ロボット１２を緊急停止してもよい。
【００６３】
この場合において、制御装置１８は、ロボット１２が作業員Ａと衝突したと判定したときに、ロボット１２と作業員Ａとの衝突を表す音声又は画像の形式の警告信号を生成し、スピーカ又はディスプレイを通して、警告を出力してもよい。
【００６４】
また、ロボットシステム１０から力検出装置１４を省略することができる。この場合において、制御装置１８は、図３中のステップＳ６〜Ｓ１２の代わりに、ロボットプログラムに従ってロボット１２を動作させて、作業対象物Ｗ１を目的位置まで、ロボット１２に自動で運搬させてもよい。
【００６５】
このロボットプログラムは、例えば、作業対象物Ｗ１を目的位置まで運搬させる動作をロボット１２に教示することによって、構築され得る。また、作業員Ａの第１の動作及び第２動作は、上述した動作に限定されず、検出装置１６Ｂが検出可能であれば、如何なる動作であってもよい。
【００６６】
次に、図１１及び図１２を参照して、他の実施形態に係るロボットシステム５０について説明する。ロボットシステム５０は、作業員Ａと協働で、作業対象物Ｖを部品Ｆに締結する作業を行うためのシステムである。ロボットシステム５０は、上述のロボットシステム１０と、力検出装置１４を備えていない点、及び、ロボット５２の構成において、相違する。
【００６７】
ロボット５２は、垂直多関節ロボットであって、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部３２、及びエンドエフェクタ５４を有する。エンドエフェクタ５４は、手首部３２に取り付けられ、工具５６を有する。工具５６は、軸線Ｏを有し、エンドエフェクタ５４は、工具５６を軸線Ｏ周りに回転駆動する。作業対象物Ｖは、例えばボルトであって、エンドエフェクタ５４は、工具５６に作業対象物Ｖを係合させた状態で該工具５６を回転駆動することによって、該作業対象物Ｖを部品Ｆに締結することができる。
【００６８】
次に、図１３を参照して、ロボットシステム５０の動作について説明する。図１３に示す動作フローは、制御装置１８が、オペレータ、上位コントローラ、又はロボットプログラムから運転開始指令を受け付けたときに、開始する。本実施形態においては、図１４に示すように、複数の作業対象物Ｖ１〜Ｖ４が部材Ｆに設置されている。
【００６９】
ステップＳ２１において、検出装置１６Ａは、各々の作業対象物Ｖ１〜Ｖ４を検出する。具体的には、制御装置１８は、検出装置１６Ａに位置検出指令を送り、該位置取得指令を受け付けて、検出装置１６Ａは、各々の作業対象物Ｖ１〜Ｖ４を撮像し、撮像した画像に基づいて、各々の作業対象物Ｖ１〜Ｖ４（例えば、中心）のロボット座標系ＣＲにおける位置を取得する。
【００７０】
ステップＳ２２において、検出装置１６Ｂは、作業員Ａの動作の検出を開始する。具体的には、制御装置１８は、検出装置１６Ｂに動作検出指令を送り、該動作検出指令を受け付けて、検出装置１６Ｂは、作業員Ａを連続的に撮像し、撮像した画像に基づいて、作業員Ａの動作を継続的に検出する。
【００７１】
ここで、検出装置１６Ｂは、作業員Ａの所定の動作を検出するように構成される。この所定の動作は、作業対象物Ｖの締結作業をロボット５２に行わせるために、作業員Ａが、締結すべき作業対象物Ｖに対して行う動作である。この所定の動作の例について、図１４を参照して説明する。
【００７２】
図１４に示す例においては、所定の動作は、作業員Ａが、締結すべき１つの作業対象物Ｖ１を指Ｃで指す動作として定められている。検出装置１６Ｂは、作業員Ａを連続的に撮像し、いわゆるモーションキャプチャ技術を用いて、作業員Ａが作業対象物Ｖ１を指す動作及び指す方向Ｇを検出するとともに、指す方向Ｇと交差する作業対象物Ｖ１を締結対象として特定する。
【００７３】
ステップＳ２３において、検出装置１６Ｂは、作業員Ａの所定の動作を検出したか否かを判定する。具体的には、検出装置１６Ｂは、例えば図１４で説明したような作業員Ａの動作を検出したか否かを判定し、検出した場合はＹＥＳと判定し、締結対象の作業対象物Ｖ１を特定する。
【００７４】
そして、検出装置１６Ａは、締結対象として特定した作業対象物Ｖ１のロボット座標系ＣＲにおける位置の情報を制御装置１８に送り、ステップＳ２５へ進む。一方、検出装置１６Ｂは、作業員Ａの所定の動作を検出していない場合はＮＯと判定し、ステップＳ２４へ進む。
【００７５】
ステップＳ２４において、制御装置１８は、上述のステップＳ４と同様に、運転終了指令を受け付けたか否かを判定する。制御装置１８は、運転終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図１３に示すフローを終了する一方、運転終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ２３へ戻る。
【００７６】
ステップＳ２５において、制御装置１８は、ロボット制御部４２として機能し、ロボット５２を、作業対象物Ｖ１に対して締結作業を行うための位置（以下、締結位置とする）へ移動させて、ロボット５２に、作業対象物Ｖ１を部品Ｆへ締結させる。具体的には、制御装置１８は、上述のステップＳ２３で検出装置１６Ａから受信した作業対象物Ｖ１の位置の情報に基づいてロボット５２の各サーボモータ４０へ指令を送り、ロボット５２を締結位置へ移動させる。
【００７７】
ロボット５２が締結位置に配置されたとき、工具５６の軸線Ｏと作業対象物Ｖ１の中心軸とが一致し、工具５６と作業対象物Ｖ１とが相対回転不能に係合する。このように、制御装置１８は、検出装置１６Ｂが作業員Ａの所定の動作を検出したことをトリガーとして、ロボット５２を締結位置へ移動させる作業（すなわち、サーボモータ４０への指令）を開始する。
【００７８】
次いで、制御装置１８は、エンドエフェクタ５４を動作させて、工具５６を軸線Ｏ周りに回転駆動する。これにより、作業対象物Ｖ１は、工具５６によって回転されて、部品Ｆに締結される。なお、このステップＳ２５において、制御装置１８は、検出装置１６Ｂが連続的に検出している作業員Ａの動作の情報に基づいて、該作業員Ａとの衝突を避けることができるロボット５２の動作経路を演算してもよい。そして、制御装置１８は、演算した動作経路に沿ってロボット５２を動作させてもよい。この構成によれば、ロボット５２と作業員Ａとの衝突を防止できる。
【００７９】
ステップＳ２６において、制御装置１８は、上述のステップＳ４と同様に、運転終了指令を受け付けたか否かを判定する。制御装置１８は、運転終了指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、図１３に示すフローを終了する一方、運転終了指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ２３へ戻る。
【００８０】
そして、作業員Ａは、他の作業対象物Ｖ２〜Ｖ４のいずれかに対して再度、第１の動作を行い、制御装置１８は、ステップＳ２３〜２６のループを繰り返し実行することによって、作業員Ａと協働で、ロボット５２に作業対象物Ｖ２〜Ｖ４の締結作業を実行させることができる。
【００８１】
以上のように、本実施形態においては、制御装置１８は、検出装置１６Ｂが作業員Ａの所定の動作を検出したときに、作業対象物Ｖに対しロボット５２に予め定めた作業（締結位置への移動、及び作業対象物の締結）を実行させている。この構成によれば、作業員Ａは、装置を操作することなく、ロボット５２を所望のタイミングで直感的に始動させることができる。
【００８２】
なお、本実施形態において、検出装置１６Ｂが検出する作業員Ａの所定の動作は、図４に示す接近動作、図５に示す把持動作、又は図７に示すタップ動作であってもよい。また、本実施形態においては、ロボット５２が作業対象物Ｖを締結する作業を行う場合について述べた。しかしながら、これに限らず、ロボット５２は、例えば、作業対象物に対して溶接作業を行うものであってもよいし、又は、他の如何なる作業を行うものであってもよい。ロボット５２が溶接作業を行う場合、ロボット５２のエンドエフェクタ５４は、溶接トーチを有し得る。
【００８３】
また、上述の実施形態においては、ロボット１２、５２が、複数の作業対象物Ｗ、Ｖに対して作業を行う場合について述べたが、１つのみの作業対象物に対して作業をするものであってもよい。また、検出装置１６Ｂを、カメラと、制御装置１８のプロセッサとによって構成してもよい。具体的には、カメラによって作業員Ａを撮像し、制御装置１８のプロセッサが、カメラの撮像画像を画像解析して、作業員Ａの動作を検出してもよい。
【００８４】
また、検出装置１６Ｂは、３次元視覚センサに限らず、作業員Ａの身体に設置した複数の慣性センサを有してもよい。この場合において、制御装置１８は、複数の慣性センサからの出力データに基づいて、作業員Ａの動作を検出してもよい。また、上述した形態に限らず、検出装置１６Ｂは、如何なるタイプのセンサを有してもよいし、如何なるタイプのモーションキャプチャ技術を用いて作業員Ａの動作を検出してもよい。
【００８５】
また、検出装置１６Ａ及び１６Ｂは、１つの検出装置から構成されてもよい。このような実施形態を図１５に示す。図１５に示すロボットシステム１０’は、１つの検出装置１６を備える。検出装置１６は、例えば３次元視覚センサから構成され、上述の検出装置１６Ａ及び１６Ｂの機能を担う。具体的には、検出装置１６は、作業対象物Ｗを検出するとともに、該作業対象物Ｗに対する作業員Ａの所定の動作を検出する。この検出装置１６は、上述のロボットシステム５０に適用することもできる。
【００８６】
また、ロボットシステム１０において、力検出装置１４は、如何なる位置に設けられてもよい。以下、図１６を参照して、力検出装置１４の設置位置の他の例について説明する。図１６に示すロボットシステム１０”においては、力検出装置１４は、ロボットベース２０とベースプレート３８との間に介挿されている。この例においては、力検出装置１４は、ロボット１２のコンポーネント（すなわち、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部３２、又はロボットハンド２６）に掛かる外力Ｆを検出できる。
【００８７】
なお、力検出装置１４は、６軸力覚センサに限らず、例えば、各サーボモータ４０の駆動軸に掛かるトルクを検出するトルクセンサを有し、該トルクセンサの検出値から、ロボット１２のコンポーネントに掛かる外力Ｆを検出するように構成されてもよい。又は、力検出装置１４は、各サーボモータ４０からフィードバックされる外乱トルクから、ロボット１２のコンポーネントに掛かる外力Ｆを検出するように構成されてもよい。
【００８８】
また、ロボット１２（又は５２）は、垂直多関節ロボットに限らず、水平多関節ロボット、パラレルリンクロボット、又はローダ等、如何なるタイプのロボットであってもよい。また、ロボット１２（又は５２）は、ロボットベース２０、旋回胴２２、ロボットアーム２４、手首部３２、及びロボットハンド２６（又はエンドエフェクタ５４）を有するロボット本体部と、該ロボット本体部を任意の方向へ移動させる走行装置とを有してもよい。この場合において、制御装置１８は、上述のステップＳ５及びＳ１０（又は、ステップＳ２５）において、該走行装置を動作させて、ロボット本体部を移動させてもよい。
【００８９】
以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
【符号の説明】
【００９０】
１０，１０’，１０”，５０    ロボットシステム
１２，５２    ロボット
１４    力検出装置
１６，１６Ａ，１６Ｂ    検出装置
１８    制御装置
４２    ロボット制御部
【図１】
2020066080.tif 000003
【図２】
2020066080.tif 000004
【図３】
2020066080.tif 000005
【図４】
2020066080.tif 000006
【図５】
2020066080.tif 000007
【図６】
2020066080.tif 000008
【図７】
2020066080.tif 000009
【図８】
2020066080.tif 000010
【図９】
2020066080.tif 000011
【図１０】
2020066080.tif 000012
【図１１】
2020066080.tif 000013
【図１２】
2020066080.tif 000014
【図１３】
2020066080.tif 000015
【図１４】
2020066080.tif 000016
【図１５】
2020066080.tif 000017
【図１６】
2020066080.tif 000018