(57)【特許請求の範囲】
【請求項１】
ロボットを制御するロボット制御装置であって、
教示位置の入力と、少なくとも前記教示位置に対応付けられるコマンド情報の選択とを受け付けて前記教示位置と前記コマンド情報とを組み合わせた教示データを作成する教示入力部と、
前記教示データに基づいて動作指令を生成する指令生成部とを備え、
前記教示入力部により選択される前記コマンド情報は、前記教示位置と、予め設定された前記教示位置に基づく補助的な動作を前記ロボットに動作させるための、前記教示位置に対する補助的動作位置の情報を含む補助情報とに対応付けられたコマンド情報を含み、
前記ロボットは、ワークを把持するエンドエフェクタと、前記ワークを撮影するためのカメラとを含み、
前記コマンド情報は、前記エンドエフェクタが前記ワークを把持する前記教示位置としての把持位置と、前記把持位置に対する前記カメラの撮影位置の情報からなる前記補助情報とに対応付けられた撮影指令コマンドを含み、
前記教示入力部は、ユーザによる教示時に、前記ユーザにより、前記エンドエフェクタが前記ワークを把持する把持位置に移動された状態で、前記撮影指令コマンドに加えて前記把持位置への移動指令コマンドを登録可能に構成されている、ロボット制御装置。
【請求項２】
前記指令生成部は、前記撮影指令コマンドに対応付けられた前記教示位置と前記撮影指令コマンドに対応付けられた前記補助情報とに基づいて求められる撮影位置に前記ロボットを動作させて前記カメラによる撮影を実行する指令を生成するように構成されている、請求項１に記載のロボット制御装置。
【請求項３】
前記撮影指令コマンドは、前記把持位置からなる前記教示位置に加えて、前記ワークの位置姿勢情報と、ロボットの移動速度と、前記ワークを識別する番号とのうちの少なくとも１つと関連付けられて設定されるように構成されている、請求項２に記載のロボット制御装置。
【請求項４】
教示された前記撮影指令コマンドに基づく撮影動作時に、前記教示装置により入力が受け付けられた前記撮影指令コマンドと、予め設定されている前記把持位置に対する前記カメラの撮影位置の情報とに基づいて、前記カメラの前記撮影位置への移動と、前記カメラによる前記ワークの撮影とが行われるように構成されている、請求項２または３に記載のロボット制御装置。
【請求項５】
教示された前記撮影指令コマンドに基づく撮影動作時に、前記教示装置により登録が受け付けられた前記撮影指令コマンドと、予め設定されている前記把持位置に対する前記カメラの撮影位置の情報とに基づいて、前記カメラの前記撮影位置への移動と、前記カメラによる前記ワークの撮影とが行われた後、計測結果に従って修正された把持位置への前記移動指令コマンドに基づく移動動作時に、前記カメラの前記撮影位置から前記ワークの前記把持位置に移動するように構成されている、請求項４に記載のロボット制御装置。
【請求項６】
予め設定されている前記把持位置に対する前記カメラの撮影位置の情報は、少なくとも前記ワークと前記カメラとの間の撮影距離を含む、請求項２〜５のいずれか１項に記載のロボット制御装置。
【請求項７】
請求項１〜６のいずれか１項に記載のロボット制御装置と、
複数の駆動関節を有するアームとを備え、
前記ロボット制御装置は、前記駆動関節の動作を制御するように構成されている、ロボット。
【請求項８】
前記アームは、設置面に設置された胴体に一対設けられている、請求項７に記載のロボット。
【請求項９】
ユーザの教示操作に基づいて、エンドエフェクタがワークを把持する把持位置に対するカメラの撮影位置の情報を補助情報として記憶させるステップと、
ロボットに取り付けられた前記エンドエフェクタが前記ワークを把持する前記把持位置に移動された状態で、前記ユーザの教示操作に基づいて、前記把持位置を教示位置として記憶させるステップと、
前記エンドエフェクタが前記ワークを把持する前記把持位置に移動された状態で、前記ユーザの教示操作に基づいて、再生動作時に前記補助情報を用いて前記ロボットを前記教示位置としての前記把持位置から前記撮影位置に移動して撮影する動作をさせる撮影指令コマンドを前記把持位置としての前記教示位置と関連付けて入力させるステップと、
前記エンドエフェクタが前記ワークを把持する前記把持位置に移動された状態で、前記把持位置への移動を指令する移動指令コマンドを入力させるステップとを備える、ロボット制御装置の教示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボットおよびロボット制御装置の教示方法に関し、特に、教示データを作成する教示入力部を備えるロボット制御装置、ロボットおよびロボット制御装置の教示方法に関する。
【背景技術】
【０００２】
従来、教示データを作成する教示入力部を備えるロボット制御装置（ロボット教示装置）が知られている（たとえば、特許文献１参照）。
【０００３】
上記特許文献１のロボット制御装置では、ロボットアームの先端にワークを撮影するためのカメラと、視覚検査装置と、表示装置と、教示データを作成するティーチングペンダント（教示入力部）とが設けられている。このロボット制御装置では、組み立てられたワークをカメラによって撮影し、撮影された画像に基づいて、部品の組み付けなどが正しく行われているか否かを視覚検査装置により判断するように構成されている。また、このロボット制御装置では、ユーザが、ロボットアームを見ながらティーチングペンダントを操作して、ロボットアームを移動させるとともに、表示装置の画面に表示されたカメラの撮影画像を見ながら、所望の撮影画像が得られる位置を撮影位置としてロボット制御装置に教示するように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１４２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載のロボット制御装置では、撮影位置をロボット制御装置に教示するために、ユーザは、ロボットアームと、表示装置の画面に表示されたカメラの撮影画像との両方を見る必要があるため、撮影動作（撮影位置への移動と撮影）をロボット制御装置に教示する際の操作が煩雑であるという問題点がある。
【０００６】
この発明は、上記のような課題を解決するためになされたものであり、この発明の１つの目的は、撮影動作の教示操作が煩雑になるのを抑制することが可能なロボット制御装置、ロボットおよびロボット制御装置の教示方法を提供することである。
【課題を解決するための手段および発明の効果】
【０００７】
上記目的を達成するために、この発明の第１の局面によるロボット制御装置は、ロボットを制御するロボット制御装置であって、教示位置の入力と、少なくとも教示位置に対応付けられるコマンド情報の選択とを受け付けて教示位置とコマンド情報とを組み合わせた教示データを作成する教示入力部と、教示データに基づいて動作指令を生成する指令生成部とを備え、教示入力部により選択されるコマンド情報は、教示位置と、予め設定された教示位置に基づく補助的な動作をロボットに動作させるための、教示位置に対する補助的動作位置の情報を含む補助情報とに対応付けられたコマンド情報を含み、ロボットは、ワークを把持するエンドエフェクタと、ワークを撮影するためのカメラとを含み、コマンド情報は、エンドエフェクタがワークを把持する教示位置としての把持位置と、把持位置に対するカメラの撮影位置の情報からなる補助情報とに対応付けられた撮影指令コマンドを含み、教示入力部は、ユーザによる教示時に、ユーザにより、エンドエフェクタがワークを把持する把持位置に移動された状態で、撮影指令コマンドに加えて把持位置への移動指令コマンドを登録可能に構成されている。
【０００８】
この第１の局面によるロボット制御装置では、上記のように、教示入力部により選択されるコマンド情報は、教示位置と、予め設定された教示位置に基づく補助的な動作をロボットに動作させるための補助情報とに対応付けられたコマンド情報を含むことによって、補助的な動作を別途教示することなく、再生動作時に補助情報を用いて補助的な動作をロボットに動作させることができるので、撮影動作の教示操作が煩雑になるのを抑制することができる。たとえばエンドエフェクタがワークを把持する把持位置に移動された状態で登録された撮影指令により、把持位置に対するカメラの撮影位置からなる補助情報に基づいて、カメラの撮影位置までの移動を行わせることができる。これにより、ユーザがカメラの画像が表示される表示部を見ながらワークを撮影する位置にカメラを移動させてから、撮影指令が登録される場合と異なり、カメラの撮影位置に移動させる動作を教示しなくてもよい分、撮影動作の教示操作が煩雑になるのを抑制することができる。
【０００９】
この発明の第２の局面によるロボットは、上記の構成を有するロボット制御装置と、複数の駆動関節を有するアームとを備え、ロボット制御装置は、駆動関節の動作を制御するように構成されている。このように構成すれば、撮影動作の教示操作が煩雑になるのを抑制するロボットを構成することができる。
【００１０】
この発明の第３の局面によるロボット制御装置の教示方法は、ユーザの教示操作に基づいて、エンドエフェクタがワークを把持する把持位置に対するカメラの撮影位置の情報を補助情報として記憶させるステップと、ロボットに取り付けられたエンドエフェクタがワークを把持する把持位置に移動された状態で、ユーザの教示操作に基づいて、把持位置を教示位置として記憶させるステップと、エンドエフェクタがワークを把持する把持位置に移動された状態で、ユーザの教示操作に基づいて、再生動作時に補助情報を用いてロボットを教示位置としての把持位置から撮影位置に移動して撮影する動作をさせる撮影指令コマンドを把持位置としての教示位置と関連付けて入力させるステップと、エンドエフェクタがワークを把持する把持位置に移動された状態で、把持位置への移動を指令する移動指令コマンドを入力させるステップとを備える。
【００１１】
この第３の局面によるロボット制御装置の教示方法では、上記のように、エンドエフェクタがワークを把持する把持位置に対するカメラの撮影位置の情報を補助情報として記憶させるステップと、ユーザによりロボットに取り付けられたエンドエフェクタがワークを把持する把持位置に移動された状態で、把持位置を教示位置として記憶させるステップと、再生動作時に補助情報を用いてロボットを動作させるコマンドを教示位置と対応付けて入力するステップとを備えることによって、補助的な動作を別途教示することなく、再生動作時に補助情報を用いて補助的な動作をロボットに動作させることができるので、撮影動作の教示操作が煩雑になるのを抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態によるロボットシステムの全体構成を示す図である。
【図２】本発明の第１実施形態によるロボットシステムの教示装置の表示部を示す図である。
【図３】本発明の第１実施形態によるロボットシステムの教示動作時のフローチャートである。
【図４】本発明の第１実施形態によるロボットシステムのグリッパがワークを把持する前の状態を示す図である。
【図５】本発明の第１実施形態によるロボットシステムの教示装置の表示部のメニューキーが押下された状態を示す図である。
【図６】本発明の第１実施形態によるロボットシステムの教示装置の表示部の移動ボタン選択決定された状態を示す図である。
【図７】本発明の第１実施形態によるロボットシステムのグリッパがワークを把持する把持位置に位置する状態を示す図である。
【図８】本発明の第１実施形態によるロボットシステムの教示装置の表示部のＳＣＡＭボタンが選択決定された状態を示す図である。
【図９】本発明の第１実施形態によるロボットシステムの教示装置の表示部の直線補間ボタンが選択決定された状態を示す図である。
【図１０】本発明の第１実施形態によるロボットシステムの再生動作時のフローチャートである。
【図１１】本発明の第１実施形態によるロボットシステムのカメラがワークを撮影する状態を示す図である。
【図１２】本発明の第２実施形態によるロボットシステムの全体構成を示す図である。
【図１３】本発明の第２実施形態によるロボットシステムの教示装置の表示部のワークの３次元画像が表示された状態を示す図である。
【図１４】本発明の第２実施形態によるロボットシステムの再生動作時のフローチャートである。
【図１５】本発明の第２実施形態によるロボットシステムのグリッパがワークを把持する把持位置に位置する状態を示す図である。
【図１６】本発明の第２実施形態によるロボットシステムのカメラがワークを撮影する状態を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【００１４】
（第１実施形態）
まず、図１および図２を参照して、本発明の第１実施形態によるロボットシステム１００の構成について説明する。なお、ロボットシステム１００は、本発明の「ロボット制御装置」の一例である。
【００１５】
図１に示すように、ロボットシステム１００は、双腕ロボット１と、双腕ロボット１を制御する制御装置２と、制御装置２に接続される教示装置（教示入力部）３とを備えている。
【００１６】
双腕ロボット１には、左アーム１１と右アーム１２とが設けられている。なお、左アーム１１と右アーム１２とは、本発明の「アーム」の一例である。左アーム１１と右アーム１２とには、それぞれ、複数の関節１３が設けられている。また、複数の関節１３は、図示しないモータによって駆動されるように構成されている。また、左アーム１１の先端には、左グリッパ１４が設けられている。また、右アーム１２の先端には、右グリッパ１５が設けられている。なお、右グリッパ１５は、本発明の「エンドエフェクタ」の一例である。また、双腕ロボット１は、後述するコネクタなどのワーク２００を把持するように構成されている。また、右グリッパ１５には、１つのカメラ１６が搭載されている。そして、右アーム１２の移動に伴って、カメラ１６の撮影位置が移動するように構成されている。また、カメラ１６は、２つの撮影位置からワーク２００を撮影することにより、２つの画像からなるステレオ画像を撮影するように構成されている。なお、後述するように、この２つの画像から、ワーク２００の３次元の位置姿勢情報が得られる。
【００１７】
制御装置２には、不揮発性メモリなどからなるメモリ２１と、教示データ記憶部２２と、動作プログラム解析部２３と、指令生成部２４と、サーボ制御部２５と、位置姿勢検出部２６と、計測部２７とが設けられている。なお、メモリ２１は、本発明の「記憶部」の一例である。動作プログラム解析部２３は、メモリ２１に接続されているとともに、指令生成部２４に接続されている。メモリ２１には、動作プログラム３１が格納されているとともに、ステレオ視条件３２とワークモデル３４も格納されている。また、動作プログラム解析部２３は、メモリ２１から動作プログラム３１を読み出すように構成されている。また、動作プログラム解析部２３は、ロボットの動作が記述された動作プログラム３１を解析して必要な処理を呼び出す機能を有する。また、指令生成部２４は、メモリ２１に接続されているとともに、メモリ２１からステレオ視条件３２を読み出すように構成されている。また、指令生成部２４は、サーボ制御部２５に接続されているとともに、サーボ制御部２５は、双腕ロボット１に接続されている。
【００１８】
また、教示データ記憶部２２は、メモリ２１に接続されているとともに、メモリ２１に記憶されている動作プログラム３１に双腕ロボット１の現在の位置を教示位置として書き込む（組み込む）機能を有する。なお、教示位置は、後述するように、ユーザが教示動作時に教示装置３の所定のキーを押下することにより、動作プログラム３１に書き込まれるように構成されている。また、教示データ記憶部２２は、指令生成部２４に接続されている。また、位置姿勢検出部２６は、指令生成部２４と計測部２７とに接続されている。また、位置姿勢検出部２６は、計測部２７との間で計測データ３３をやり取りするように構成されている。また、計測部２７は、双腕ロボット１の右グリッパ１５に搭載されるカメラ１６に接続されている。なお、動作プログラム３１、ステレオ視条件３２およびワークモデル３４は、図示しないハードディスクに記憶されていてもよい。なお、教示装置３は、本発明の「教示入力部」の一例である。
【００１９】
計測部２７は、双腕ロボット１の右グリッパ１５に搭載されるカメラ１６からワーク２００のステレオ画像を取得するとともに計測データ３３として出力する機能を有する。位置姿勢検出部２６は、ワークモデル３４および計測データ３３から、ワーク２００の３次元の位置姿勢情報を算出する機能を有する。なお、ワークモデル３４とは、ＣＡＤデータなどのワーク２００の３次元形状データである。また、位置姿勢検出部２６は、算出したワーク２００の位置姿勢情報を、指令生成部２４に出力する機能を有する。
【００２０】
指令生成部２４は、ユーザによる教示装置３の操作（教示データ）に従って移動する双腕ロボット１（右アーム１２や左アーム１１など）の移動の軌道を生成する機能を有する。また、指令生成部２４は、ステレオ視条件３２、計測されたワーク２００の位置姿勢情報に基づいて、右グリッパ１５のワーク２００の把持動作や、カメラ１６によるワーク２００の撮影動作を行うための双腕ロボット１の移動の軌道を生成する。なお、第１実施形態では、ステレオ視条件３２は、ワーク２００とカメラ１６との間の距離（撮影距離Ｌ、図１１参照）と、カメラ１６がステレオ画像を撮影するための２つの撮影位置の間隔（ステレオ視間隔Ｗ、図１１参照）とを含む。サーボ制御部２５は、指令生成部２４によって生成された双腕ロボット１の移動の軌道に従って、右アーム１２や左アーム１１に設けられる図示しないモータを駆動する機能を有する。
【００２１】
教示装置３は、制御装置２（指令生成部２４）に接続されている。また、教示装置３は、双腕ロボット１の移動を教示するとともに、操作する機能を有する。また、教示装置３には、表示部４１が設けられている。また、教示装置３には、表示部４１にメニューを表示させるメニューキー４２、表示部４１に表示されるボタンを選択する選択キー４３、双腕ロボット１に対する指令を決定する決定キー４４、双腕ロボット１を移動させる移動キー４５などの複数のキーが設けられている。
【００２２】
また、図２に示すように、教示装置３の表示部４１は、双腕ロボット１の教示位置を表す教示位置画面４１ａや、双腕ロボット１を動作させるプログラムが表示されるＪＯＢ画面４１ｂが表示されるように構成されている。また、ＪＯＢ画面４１ｂには、移動ボタン４１ｃや制御ボタン４１ｄなど、ＪＯＢのコマンドが分類されたボタンが表示されるように構成されている。また、ＪＯＢ画面４１ｂには、双腕ロボット１の移動を指令する移動コマンドを登録するための直線補間ボタン（ＭＯＶＬ）４１ｅ、リンク補間ボタン（ＭＯＶＪ）４１ｆ、および、円弧補間ボタン（ＭＯＶＣ）４１ｇなどが表示されるように構成されている。なお、直線補間は、「補助情報」として双腕ロボット１のアーム先端が直線的に動く指令を含んでいる。また、リンク補間ボタン４１ｆは、「補助情報」として双腕ロボット１のアームの関節１３が個々に駆動して、アームが所定の位置まで最短の時間で移動する指令を含んでいる。また、円弧補間ボタン４１ｇは、「補助情報」として双腕ロボット１のアーム先端が円弧状に動く指令を含んでいる。また、ＪＯＢ画面４１ｂには、半自動教示コマンドとしてカメラ１６によってワーク２００のステレオ画像の撮影を指令するステレオ視コマンドを登録するためのＳＣＡＭボタン４１ｈが表示されるように構成されている。なお、アーム先端が直線的に動く指令、アームが所定の位置まで最短の時間で移動する指令、アーム先端が円弧状に動く指令、および、ワーク２００のステレオ画像の撮影をする指令は、本発明の「コマンド情報」の一例である。
【００２３】
次に、図３〜図９を参照して、ロボットシステム１００の教示動作について説明する。なお、第１実施形態では、双腕ロボット１が把持するワーク２００は、図４に示すように、ケース２０１から延びる複数のリード線２０２に接続されるコネクタである。また、図４は、テーブル上に治具や供給装置によって位置が固定されたケース２０１を、予め教示された指令に基づいて、左グリッパ１４がケース２０１を把持して持ち上げた状態を示している。なお、リード線２０２は、柔軟な素材で構成されており、リード線２０２に接続されたワーク２００（コネクタ）の位置は固定されていない。
【００２４】
まず、第１実施形態では、右グリッパ１５がワーク２００を把持する把持位置に対するカメラ１６の撮影位置（ステレオ視条件３２）がユーザの入力操作に基づいて予めメモリ２１に記憶されている。次に、図３のステップＳ１において、教示装置３の移動キー（ジョグ）４５がユーザにより操作されることにより、図７に示すように、ワーク（コネクタ）２００を把持する把持位置に右グリッパ１５が移動する。これにより、双腕ロボット１が移動する軌道が制御装置２の指令生成部２４により生成される。
【００２５】
次に、教示装置３のメニューキー４２がユーザにより押下される。これにより、ステップＳ２において、図５に示すように、教示装置３の表示部４１のＪＯＢ画面４１ｂには、移動ボタン４１ｃと制御ボタン４１ｄなどのボタンが表示される。次に、図６に示すように、ユーザにより教示装置３の選択キー４３が押下されて移動ボタン４１ｃが選択された後、決定キー４４が押下されることにより、直線補間ボタン４１ｅ、リンク補間ボタン４１ｆ、円弧補間ボタン４１ｇ、および、ＳＣＡＭボタン４１ｈが表示される。
【００２６】
次に、第１実施形態では、ステップＳ３において、図８に示すように、右グリッパ１５がワーク２００を把持する把持位置に位置する状態で、ユーザにより教示装置３の選択キー４３および決定キー４４が押下されて、ＳＣＡＭボタン４１ｈが選択および決定されることにより、カメラ１６がワーク２００のステレオ画像を撮影する指令（ステレオ視コマンド、ＳＴＥＲＥＯＣＡＭ）が動作プログラム３１に登録されて組み込まれる。なお、ステレオ視コマンド（ＳＴＥＲＥＯＣＡＭ）は、本発明の「撮影指令コマンド」の一例である。また、双腕ロボット１の現在位置（右グリッパ１５がワーク２００を把持する把持位置）が、教示位置データとしてメモリ２１に保存される。なお、教示位置データは、教示位置番号（Ｃ００００１）として保存される。
【００２７】
また、第１実施形態では、ステレオ視コマンドは、補助情報として教示位置番号（Ｃ００００１）、ワーク２００の位置姿勢情報（Ｐ０１２）、ステレオ画像の撮影動作における双腕ロボット１の移動速度（Ｖ＝１０．０）、および、ワーク２００を特定する対象物番号（ＯＢＪ＃（１））と関連付けられて動作プログラム３１に登録されて組み込まれる。なお、ワーク２００の位置姿勢情報（Ｐ０１２）は、後述する再生動作のステップＳ１３において位置姿勢情報が算出された後、上書きされるように構成されており、ステレオ視コマンドが登録される時点では、デフォルトの値が入力されている。また、動作プログラム３１に登録された移動速度と対象物番号とは、変更することが可能である。なお、後述するように、予めメモリ２１に記憶されているカメラ１６の撮影位置（ステレオ視条件３２）に基づいてステレオ視コマンド（カメラ１６によるワーク２００の撮影）が実行されるので、カメラ１６を撮影位置に移動させるための双腕ロボット１の移動を教示する必要はない。
【００２８】
次に、ステップＳ４において、図９に示すように、第１実施形態では、右グリッパ１５がワーク２００を把持する把持位置に位置する状態で、ユーザにより、教示装置３の選択キー４３および決定キー４４が押下されて、たとえば直線補間ボタン４１ｅが選択および決定されることにより、移動コマンド（直線補間）が動作プログラム３１に登録されて組み込まれる。なお、移動コマンド（直線補間）は、本発明の「移動指令コマンド」の一例である。また、移動コマンド（直線補間）は、ワーク２００の位置変数（Ｐ０１２）および移動速度（Ｖ＝１０．０）と関連付けられて、動作プログラム３１に登録される。
【００２９】
次に、図１０および図１１を参照して、ロボットシステム１００の再生動作について説明する。なお、再生動作とは、上記ステップＳ１〜ステップＳ４において教示された動作（動作プログラム３１）に基づくロボットシステム１００の動作を意味する。
【００３０】
まず、ステップＳ１１において、動作プログラム解析部２３によって、メモリ２１から動作プログラム３１とステレオ視条件３２とが読み出される。そして、動作プログラム３１の中に登録されているステレオ視コマンド（ＳＴＥＲＥＯＣＡＭ）の実行が動作プログラム解析部２３により指令生成部２４に指令される。指令生成部２４では、ステレオ視コマンドとともに登録された教示位置（教示位置番号Ｃ００００１）と、ステレオ視条件３２とに基づいて、カメラ１６の撮影位置までの双腕ロボット１の軌道が生成される。そして、生成された軌道に基づいて、サーボ制御部２５がモータを駆動することにより、双腕ロボット１（右アーム１２）が移動される。
【００３１】
具体的には、カメラ１６から撮影距離Ｌ離れた位置を原点とする座標系Ａ１（図４参照）を、右グリッパ１５がワーク２００を把持した状態の把持位置を原点とする座標系Ａ２（図７参照）に合わせるように右アーム１２の移動量（軌道）が指令生成部２４により算出される。つまり、図１１に示すように、カメラ１６がワーク２００（コネクタ）から撮影距離Ｌ離れた位置(位置Ｂ１)に移動する移動量（軌道）が算出される。次に、位置Ｂ１から矢印Ｘ１方向にステレオ視間隔Ｗの１／２の距離移動した位置（位置Ｂ２）までの移動量（軌道）が算出される。なお、ステレオ視間隔Ｗは、ステレオ視条件３２として予めメモリ２１に記憶されている。このように算出された移動量（軌道）に基づいて、右アーム１２が位置Ｂ２に移動した後、ワーク２００がカメラ１６により撮影される。
【００３２】
さらに、カメラ１６がワーク２００を撮影した位置Ｂ２から矢印Ｘ２方向にステレオ視間隔Ｗ移動した位置（位置Ｂ３）までの移動量（軌道）が算出される。そして、算出された移動量（軌道）に基づいて、右アーム１２が位置Ｂ３に移動した後、ワーク２００がカメラ１６により再び撮影される。このように、２つの異なる位置（位置Ｂ２および位置Ｂ３）においてカメラ１６によりワーク２００が撮影されることにより、ワーク２００のステレオ画像が得られる。次に、ステップＳ１２において、撮影されたステレオ画像を計測データ３３として位置姿勢検出部２６へ出力する。
【００３３】
次に、ステップＳ１３において、右アーム１２が把持しようとしているワーク（コネクタ）２００に対応するワークモデル３４（ＣＡＤデータなどのコネクタの３次元形状データ）が位置姿勢検出部２６により読み出される。そして、ステップＳ１２において出力された計測データ３３と、メモリ２１に記憶されているワークモデル３４とが位置姿勢検出部２６により比較され、ワーク２００の位置姿勢情報が求められる。そして、ステップＳ１４において、位置姿勢情報は、位置変数として指令生成部２４に出力される。なお、位置変数は、Ｘ、Ｙ、Ｚ、Ｒｏｌｌ、Ｐｉｔｃｈ、Ｙａｗの成分からなる。
【００３４】
次に、ステップＳ１５において、動作プログラム３１に登録されている移動コマンド（直線補間）の実行が、動作プログラム解析部２３により指令生成部２４に指令される。これにより、動作プログラム３１の移動コマンドに指定された位置変数（上記ステップＳ１４において指令生成部２４に出力された位置変数）に基づいて、ワーク２００を把持する把持位置への軌道が、指令生成部２４により生成される。そして、生成された軌道に基づいて、モータがサーボ制御部２５により駆動されることにより、右アーム１２の右グリッパ１５がワーク２００を把持する把持位置に移動する。
【００３５】
第１実施形態では、上記のように、右グリッパ１５がワーク２００を把持する把持位置に対するカメラ１６の撮影位置の情報（ステレオ視条件３２）が予め記憶されているメモリ２１と、ユーザによる撮影動作の教示時に、ユーザにより、右グリッパ１５がワーク２００を把持する把持位置に移動された状態で、把持位置を教示位置データとするユーザによるステレオ視コマンドの登録を受け付け可能な教示装置３とを設ける。これにより、右グリッパ１５がワーク２００を把持する把持位置に移動された状態で登録されたステレオ視コマンドにより、把持位置に対するカメラ１６の撮影位置の情報に基づいて、カメラ１６の撮影位置までの移動を行わせることができる。その結果、ユーザがカメラ１６の画像が表示される表示部を見ながらワーク２００を撮影する位置にカメラ１６を移動させてから、ステレオ視コマンドが登録される場合と異なり、カメラ１６の撮影位置に移動させる動作を教示しなくてもよい分、撮影動作の教示操作が煩雑になるのを抑制することができる。
【００３６】
また、第１実施形態では、上記のように、ステレオ視コマンドを、把持位置からなる教示位置データと関連付けて登録することによって、ワーク２００の撮影位置を教示しなくても、把持位置と、予めメモリ２１に記憶されているステレオ視条件３２（右グリッパ１５がワーク２００を把持する把持位置に対するカメラ１６の撮影位置の情報であり、把持位置に対する距離と方向の情報を含む）とに基づいて、カメラ１６によるワーク２００の撮影動作を行わせることができる。
【００３７】
また、第１実施形態では、上記のように、把持位置からなる教示位置データに加えて、ワーク２００の位置姿勢情報（Ｐ０１２）と、双腕ロボット１の移動速度（Ｖ＝１０．０）と、ワーク２００を特定する対象物番号（ＯＢＪ＃（１））とを関連付けてステレオ視コマンドを登録する。これにより、教示位置データ、位置姿勢情報、移動速度および対象物番号が対応付けられた１行のステレオ視コマンドによってワーク２００の撮影動作が教示されるので、教示位置データ、位置姿勢情報、移動速度および対象物番号などを個別に登録する場合と異なり、撮影動作の教示の手間を省くことができる。これにより、撮影動作の教示が煩雑になるのをより抑制することができる。
【００３８】
また、第１実施形態では、上記のように、ステレオ視コマンドを、動作プログラム３１に登録して組み込むように構成する。これにより、容易に、双腕ロボット１の再生動作に撮影動作を組み込むことができる。
【００３９】
また、第１実施形態では、上記のように、再生動作時に、教示装置３により登録が受け付けられたステレオ視コマンドと、メモリ２１に予め記憶されている把持位置に対するカメラ１６の撮影位置の情報とに基づいて、カメラ１６の撮影位置への移動と、カメラ１６によるワーク２００の撮影とを行うように構成する。これにより、カメラ１６の撮影位置への移動を教示することなく、ワーク２００の撮影が行われるので、撮影動作の教示を容易に行うことができる。
【００４０】
また、第１実施形態では、上記のように、教示装置３は、ユーザによる教示時に、ユーザにより、右グリッパ１５がワーク２００を把持する把持位置に移動された状態で、ステレオ視コマンドに加えて把持位置への移動コマンド（直線補間）を登録するように構成する。これにより、撮影動作の教示に続けて把持動作の教示を容易に行うことができる。
【００４１】
また、第１実施形態では、上記のように、再生動作時に、教示装置３により登録が受け付けられたステレオ視コマンドと、メモリ２１に予め記憶されている把持位置に対するカメラ１６の撮影位置の情報とに基づいて、カメラ１６の撮影位置への移動と、カメラ１６によるワーク２００の撮影とが行われた後、計測結果に従って修正された把持位置への移動コマンド（直線補間）に基づいて、カメラ１６の撮影位置からワーク２００の把持位置への移動が行われるように構成する。これにより、ステレオ視コマンドと移動コマンドとの２つのコマンドによって、カメラ１６の２箇所の撮影位置への移動と、２箇所での撮影と、把持位置への移動との５つの動作が行われるので、カメラ１６の２箇所の撮影位置への移動と、２箇所での撮影と、把持位置への移動との５つの動作をそれぞれコマンド（合計５つのコマンド）により行う場合と異なり、撮影動作および移動動作の教示を容易に行うことができる。
【００４２】
また、第１実施形態では、上記のように、メモリ２１に予め記憶されている把持位置に対するカメラ１６の撮影位置の情報に、ワーク２００とカメラ１６との間の撮影距離Ｌを含めるように構成する。これにより、ワーク２００とカメラ１６との間の撮影距離Ｌが予め記憶されているので、撮影動作の教示の際に、ワーク２００とカメラ１６との間の撮影距離Ｌを教示する必要がない分、撮影動作の教示を容易に行うことができる。
【００４３】
（第２実施形態）
次に、図１２〜図１６を参照して、第２実施形態のロボットシステム１０１について説明する。この第２実施形態では、上記ワーク２００の３次元の位置姿勢情報を算出するための撮影動作の教示と、教示された撮影動作に基づく再生動作とについて説明した第１実施形態と異なり、ワーク２００の３次元モデルを登録する際の撮影動作の教示について説明する。なお、ロボットシステム１０１は、本発明の「ロボット制御装置」の一例である。
【００４４】
図１２に示すように、第２実施形態のロボットシステム１０１は、双腕ロボット１１１と、双腕ロボット１１１を制御する制御装置１１２と、制御装置１１２に接続される教示装置１１３とを備えている。なお、教示装置１１３は、本発明の「教示入力部」の一例である。
【００４５】
双腕ロボット１１１の右グリッパ１５には、２つのカメラからなるステレオカメラ１１４が搭載されている。なお、ステレオカメラ１１４は、本発明の「カメラ」の一例である。そして、右アーム１２の移動に伴って、ステレオカメラ１１４の撮影位置が移動するように構成されている。また、ステレオカメラ１１４は、複数の撮影位置からワーク２００を撮影することにより、複数のステレオ画像を撮影するように構成されている。なお、後述するように、この複数のステレオ画像から、ワーク２００の３次元画像が得られる。また、双腕ロボット１１１のその他の構成は、上記第１実施形態と同様である。
【００４６】
また、制御装置１１２には、モデル計測動作実行部１１５と、３次元モデル生成部１１６とが設けられている。モデル計測動作実行部１１５は、メモリ２１に接続されるとともに、メモリ２１からモデル計測条件１１７を読み出すように構成されている。ここで、第２実施形態では、モデル計測条件１１７は、ワーク２００とステレオカメラ１１４との間の距離（撮影距離Ｌ、図１６参照）と、ステレオカメラ１１４の視点（撮影位置）を変えるための回転角度とを含む。
【００４７】
また、モデル計測動作実行部１１５は、指令生成部２４に接続されている。また、３次元モデル生成部１１６は、メモリ２１に接続されるとともに、メモリ２１にワークモデル３４を書き込むように構成されている。また、３次元モデル生成部１１６は、計測部２７に接続されているとともに、計測部２７との間で計測データ３３のやり取りを行うように構成されている。また、３次元モデル生成部１１６は、教示装置１１３に接続されている。また、制御装置１１２のメモリ２１には、モデル計測条件１１７が記憶されている。
【００４８】
また、モデル計測動作実行部１１５は、後述する教示装置１１３の表示部１１３ａに表示されるモデル登録画面１１３ｂにおいて、ユーザによりモデル計測が指令されると、モデル計測条件１１７に基づいて、現在の右グリッパ１５の位置を基準として、複数の計測位置を自動的に決めるとともに、指令生成部２４に複数の計測位置への移動を指令する機能を有する。また、３次元モデル生成部１１６は、計測部２７が取得した複数組の計測データ３３（複数のステレオ画像）を合成して、ワーク２００の３次元画像を作成するとともに、作成した３次元画像をワークモデル３４としてメモリ２１に保存する機能を有する。
【００４９】
また、図１３に示すように、教示装置１１３の表示部１１３ａは、モデル登録画面１１３ｂが表示されるように構成されている。モデル登録画面１１３ｂには、ワーク２００の３次元画像を取得するためのデータ取得ボタン１１３ｃ、ワーク２００の対象物番号が入力される対象物番号入力欄１１３ｄ、および、ワーク２００の３次元画像を登録するための登録ボタン１１３ｅが表示されるように構成されている。なお、第２実施形態のその他の構成は、上記第１実施形態と同様である。
【００５０】
次に、図１４〜図１６を参照して、ロボットシステム１０１のモデル登録操作について説明する。
【００５１】
図１４に示すように、ステップＳ２１において、教示装置１１３の移動キー４５（ジョグ）がユーザにより操作されることにより、双腕ロボット１１１が移動する軌道が制御装置１１２の指令生成部２４により生成される。これにより、図１５に示すように、ワーク２００（コネクタ）を把持する把持位置に右グリッパ１５が移動する。
【００５２】
次に、ステップＳ２２において、モデル登録画面１１３ｂにおいて、データ取得ボタン１１３ｃがユーザにより選択、決定される。これにより、ステップＳ２３において、メモリ２１からモデル計測条件１１７がモデル計測動作実行部１１５により読み出される。そして、現在の右グリッパ１５の位置とモデル計測条件１１７とに基づいて、第１計測位置（位置Ｃ１、図１６参照）への移動が、モデル計測動作実行部１１５により指令生成部２４に指令される。これにより、指令生成部２４では、第１計測位置（位置Ｃ１）へ双腕ロボット１１１が移動するための軌道が生成される。そして、図１６に示すように、生成された軌道に基づいて、サーボ制御部２５がモータを駆動することにより、双腕ロボット１１１（右アーム１２）が第１計測位置（位置Ｃ１）に移動する。具体的には、ステレオカメラ１１４は、ワーク２００から撮影距離Ｌ離れた位置に位置するように配置される。その後、ワーク２００（コネクタ）のステレオ画像（第１計測データ３３ａ）が、ステレオカメラ１１４によって撮影される。
【００５３】
次に、ステップＳ２４において、モデル計測条件１１７に基づいて、第２計測位置（位置Ｃ２）への移動が、モデル計測動作実行部１１５により指令生成部２４に指令される。これにより、指令生成部２４では、第２計測位置（位置Ｃ２）へ双腕ロボット１１１が移動するための軌道が生成される。そして、図１６に示すように、生成された軌道に基づいて、サーボ制御部２５がモータを駆動することにより、双腕ロボット１１１（右アーム１２）が第２計測位置（位置Ｃ２）に移動する。具体的には、ステレオカメラ１１４は、ワーク２００を中心として第１計測位置（位置Ｃ１）から約９０度回転した位置で、かつ、ワーク２００から撮影距離Ｌ離れた位置に位置するように配置される。その後、ワーク２００（コネクタ）のステレオ画像（第２計測データ３３ｂ）が、ステレオカメラ１１４によって撮影される。
【００５４】
次に、ステップＳ２５において、第１計測データ３３ａと、第２計測データ３３ｂとを合成することにより、ワーク２００の３次元の構造がワークモデル３４として３次元モデル生成部１１６により生成される。その後、ワークモデル３４の画像１１３ｆ（図１３参照）が、教示装置１１３の表示部１１３ａに表示される。
【００５５】
次に、ステップＳ２６において、表示部１１３ａのモデル登録画面１１３ｂにおいて、対象物番号入力欄１１３ｄに対象物（ワーク２００）の番号がユーザにより入力されるとともに、登録ボタン１１３ｅがユーザにより選択、決定される。これにより、ステップＳ２７において、ワークモデル３４がメモリ２１に保存される。
【００５６】
なお、第２実施形態の効果は、上記第１実施形態と同様である。
【００５７】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【００５８】
たとえば、上記第１および第２実施形態では、双腕ロボットの右グリッパにカメラが搭載される例を示したが、本発明はこれに限られない。たとえば、双腕ロボットの左グリッパにカメラを搭載してもよいし、双腕ロボットのグリッパではなくアームにカメラを搭載してもよい。
【００５９】
また、上記第１および第２実施形態では、把持位置からなる教示位置データに加えて、ワークの位置姿勢情報と、双腕ロボットの移動速度と、ワークを特定する対象物番号とを関連付けてステレオ視コマンドを登録する例を示したが、本発明はこれに限られない。本発明では、把持位置からなる教示位置データに加えて、ワークの位置姿勢情報、双腕ロボットの移動速度およびワークを特定する対象物番号のうちの少なくとも１つがステレオ視コマンドに関連付けられていてもよい。
【００６０】
また、上記第１および第２実施形態では、カメラがワークのステレオ画像を撮影する例を示したが、本発明はこれに限られない。たとえば、カメラがワークのステレオ画像以外の画像を撮影するようにしてもよい。
【００６１】
また、上記第１および第２実施形態では、双腕ロボットの右グリッパがワークを把持する例を示したが、本発明はこれに限られない。たとえば、双腕ロボットの左グリッパがワークを把持するようにしてもよい。この場合、カメラは、左グリッパに搭載される。
【００６２】
また、上記第１実施形態では、双腕ロボットに１つのカメラが搭載される例を示したが、本発明はこれに限られない。たとえば、双腕ロボットに２つのカメラからなるステレオカメラを搭載して、ステレオ画像を撮影するようにしてもよい。
【００６３】
また、上記第２実施形態では、双腕ロボットに２つのカメラからなるステレオカメラが搭載される例を示したが、本発明はこれに限られない。たとえば、第１実施形態と同様に双腕ロボットに１つのカメラを搭載し、撮影位置を異ならせて１つのカメラによって２つの画像を撮影してステレオ画像を得るようにしてもよい。
【００６４】
また、上記第１および第２実施形態では、半自動教示コマンドの態様についても実施形態のように「撮影指令コマンド」に関するものに限定されることはなく、適宜の半自動教示コマンドを設定可能である。たとえば、位置が既知のＡ地点からＢ地点に物体を搬送する際には、Ａ地点のみを教示位置とし、半自動教示コマンドを設定することで、Ａ地点の位置に基づいて、Ａ地点からＢ地点に物体を搬送するようにロボットを動作させるような構成としてもよい。
【符号の説明】
【００６５】
３、１１３  教示装置（教示入力部）
１１  左アーム（アーム）
１２  右アーム（アーム）
１５  右グリッパ（エンドエフェクタ）
１６  カメラ
２１  メモリ（記憶部）
２４  指令生成部
３１  動作プログラム
１００、１０１  ロボットシステム（ロボット制御装置）
１１４  ステレオカメラ（カメラ）
２００  ワーク
【図１】
0005556552.tif 000002
【図２】
0005556552.tif 000003
【図３】
0005556552.tif 000004
【図４】
0005556552.tif 000005
【図５】
0005556552.tif 000006
【図６】
0005556552.tif 000007
【図７】
0005556552.tif 000008
【図８】
0005556552.tif 000009
【図９】
0005556552.tif 000010
【図１０】
0005556552.tif 000011
【図１１】
0005556552.tif 000012
【図１２】
0005556552.tif 000013
【図１３】
0005556552.tif 000014
【図１４】
0005556552.tif 000015
【図１５】
0005556552.tif 000016
【図１６】
0005556552.tif 000017