(57)【特許請求の範囲】
【請求項１】
固有のロボット座標系に基づいて動作するロボット本体と、オペレータによる手持ち操作が可能なペンダントと、前記ペンダントの操作に基づく前記ロボット本体のマニュアル動作を制御する動作制御手段とを備えるロボットシステムであって、
前記ペンダントには、オペレータ側を向く正面部に前記ロボット本体の移動方向の指示操作を行うための操作部が設けられていると共に、それとは反対の背面側に前方を撮影可能なカメラが設けられており、
前記動作制御手段は、
前記ロボット本体のマニュアル動作時において、前記ペンダントのカメラにより該ロボット本体の撮影画像を取込む画像取込手段と、
前記ロボット本体の現在の位置姿勢情報から、該ロボット本体の３次元画像モデルを作成する３次元画像モデル作成手段と、
前記動作制御手段が保有する基準となるロボット座標系を基準にした３次元画像モデルを作り、それを前記カメラによる撮影画像と最も類似性が高くなるまで視点変更して動かし、探し出された最も類似性の高い視点をペンダント視点とし、前記基準となったロボット座標系と前記ペンダント視点におけるペンダントの上下左右軸系との差をズレ量と設定するズレ量設定手段と、
前記ペンダントの操作部の操作軸の入力方向及び入力量を、前記ズレ量に応じて前記ロボット座標系での入力方向及び入力量に変換することで前記ロボット本体の移動方向に同期させる同期手段とを備えることを特徴とするロボットシステム。
【請求項２】
前記ペンダントには、自分の位置又は姿勢の変化を検出するジャイロセンサが設けられ、
前記動作制御手段は、前記ジャイロセンサにより検出された前記ペンダントの位置又は姿勢の変化量に応じて、前記設定されたズレ量を補正する補正手段を備えることを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記動作制御手段は、前記カメラの撮影視野から前記ロボット本体が外れた場合には、該ロボット本体のマニュアル動作を禁止する禁止手段を備えることを特徴とする請求項１記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット本体と、オペレータによる手持ち操作が可能なペンダントと、前記ペンダントの操作に基づく前記ロボット本体のマニュアル動作を制御する動作制御手段とを備えるロボットシステムに関する。
【背景技術】
【０００２】
例えば組立作業等を行う産業用ロボットのシステムは、多関節型のロボット本体、このロボット本体を制御するロボットコントローラ、このロボットコントローラに接続されたペンダント（操作装置）等から構成される。前記ペンダントは、オペレータ（ユーザ）による手持ち可能に構成され、主として、前記ロボット本体をマニュアル操作により実際に動作させ、例えば、ワークの取得位置や、移動経路、ワークの組付位置等を教示（ティーチング）するために用いられる。
【０００３】
この場合、前記ロボット本体は、固有の絶対的なロボット座標系（ベースを基準としたＸ，Ｙ，Ｚの三次元直交座標系）に基づいて動作するようになっている。このロボット座標系は、シミュレータ上では目視可能に表示できるが、現実の装置では目視不可能である。オペレータが、ペンダントを用いて教示を行う（マニュアル動作を実行させる）にあたっては、ロボット本体の近傍の任意の位置に立って、その手先の動きを見ながら、その手先を所望の方向に移動させるべくペンダントのキー操作を行う。その際、オペレータは、自分の視点で見ている方向を、頭の中でロボット座標系に変換して移動方向の指示操作を行なう必要があり、熟練を要するものとなる。
【０００４】
そこで、非熟練者でも容易に教示作業を行えるように、特許文献１には、ペンダントのタッチパネル上に、オペレータがロボット本体の正面方向（現在のペンダントの位置に対して、ロボット本体の正面が、前後左右及び斜め４方向の計８方向のうちどの方向を向いているか）を設定する手段を設けると共に、そのロボット本体の正面方向と、前記タッチパネル上の８方向のいずれかの移動方向キーが操作されたときのロボット本体の移動方向とを対応させるようにする構成が開示されている。これによれば、オペレータが、自分の視点によってペンダントを操作することにより、所望の方向にロボット本体を移動させることが可能となる。つまり、オペレータがペンダント上で例えば右方向への移動操作を行うと、ロボット本体がオペレータの視点で右側へ移動するようになるのである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２６２８８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記した特許文献１に記載された技術では、次のような改善の余地が残されていた。即ち、ロボット本体の正面方向がペンダント（タッチパネル上）のどの方向に該当するかを、オペレータが自分の主観に基づいて設定する構成となっている。ここで、ペンダントの向きとロボット座標系の向きとの関係は、オペレータの立ち位置だけでなくその姿勢にも依存することになり、例えばオペレータがペンダントの持ち方（向き）を少し変えただけで、オペレータの主観におけるペンダントの向きと、実際のロボット座標系の向きとの関係が大きく変動してしまう等、オペレータの主観座標系と、ロボット座標系とを必ずしも良好に一致させることができるとは限らないものとなる。
【０００７】
また、オペレータは、ティーチング作業中において、立ち位置を変えることもあり、そのようなオペレータの移動があった（ペンダントの位置が移動した）場合には、ペンダントに設定されていた正面方向と、実際のロボット本体の正面方向とが、ずれることになる。従って、オペレータは、移動する都度、いちいちペンダントを手動操作して再度ロボット本体の正面方向を設定（入力）し直さなければならないものとなる。
【０００８】
本発明は上記事情に鑑みてなされたもので、その目的は、オペレータがペンダントを操作してロボット本体のマニュアル動作を実行させる際に、オペレータの主観によることなく、一意的にペンダントの向きとロボット座標系とを対応させて移動方向の指示操作を行うことができるロボットシステムを提供するにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のロボットシステムは、ペンダントに、オペレータ側を向く正面部にロボット本体の移動方向の指示操作を行うための操作部を設けると共に、それとは反対の背面側に前方を撮影可能なカメラを設け、ペンダントの操作に基づくロボット本体のマニュアル動作を制御する動作制御手段に、ロボット本体のマニュアル動作時において、ペンダントのカメラにより該ロボット本体の撮影画像を取込む画像取込手段と、ロボット本体の現在の位置姿勢情報から該ロボット本体の３次元画像モデルを作成する３次元画像モデル作成手段と、動作制御手段が保有する基準となるロボット座標系を基準にした３次元画像モデルを作り、それをカメラによる撮影画像と最も類似性が高くなるまで視点変更して動かし、探し出された最も類似性の高い視点をペンダント視点として基準となったロボット座標系とペンダント視点におけるペンダントの上下左右軸系との差をズレ量と設定するズレ量設定手段と、ペンダントの操作部の操作軸の入力方向及び入力量を、設定されたズレ量に応じてロボット座標系での入力方向及び入力量に変換することでロボット本体の移動方向に同期させる同期手段とを設けたところに特徴を有する（請求項１の発明）。
【００１０】
ペンダントを操作してロボット本体のマニュアル動作を実行させるにあたっては、オペレータは、ロボット本体のベースに対し正対し、ペンダントの背面側をロボット本体に向けペンダントの正面部の操作部を自分の方に向けて操作を行うことが通常である。本発明においては、オペレータの、そのようなペンダントを持つ自然な姿勢によって、カメラをロボット本体に向けることができる。
【００１１】
画像取込手段によって、カメラによるロボット本体の撮影画像が取込まれると共に、３次元画像モデル作成手段によって、ロボット本体の位置姿勢情報から現在のロボット本体の３次元画像モデルが作成される。この場合、ペンダントはコントローラとつながっており、コントローラはロボット本体の現在の各軸の角度の情報を保有しているので、それら各軸角度情報から、現在のロボット本体の３次元画像モデルを作成することができる。
【００１２】
このとき、カメラの光軸ひいてはペンダントのロボット本体のベースに対する位置（ペンダント視点）に応じて、撮影画像中のロボット本体の見え方が異なってくるので、ズレ量設定手段により、基準となる現在のロボット本体の３次元画像モデルを作りそれをカメラによる撮影画像と最も類似性が高くなるまで視点変更して動かし、探し出された最も類似性の高い視点をペンダント視点とすることに基づいて、ロボット座標系とペンダント視点におけるペンダントの上下左右座標系とのズレ量を十分な確かさで推定し、設定することができる。
【００１３】
そして、同期手段により、ペンダントの操作部の操作軸の入力方向及び入力量が、設定されたズレ量に応じてロボット座標系での入力方向及び入力量に変換されてロボット本体の移動方向に同期されるようになる。
【００１４】
これにより、ペンダントの向き（上下左右座標系）と、実際のロボット座標系との関係（ズレ量）を、オペレータの主観によることなく、一意的に、且つ、自動で定めることができる。従って、オペレータが、ペンダントの操作部の操作により指示した移動方向つまりオペレータが移動させたいと考える方向と、実際のロボット本体の移動方向とを、ほぼ一致させることができ、ロボット本体のマニュアル動作をスムーズ且つ効率的に行うことができる。この場合、本発明は、ペンダントにカメラを付加することにより実現でき、そのカメラもさほど高精度のものでなくても済むので、簡単な構成で比較的安価に済ませることができる。
【００１５】
ところで、ロボット本体のマニュアル動作中において、オペレータの立ち位置の移動があって、ペンダントの位置や向きが変化することが考えられる。このような場合には、画像取込手段、３次元画像モデル作成手段、ズレ量設定手段、同期手段による同様の処理を再度実行することにより、常にその時点でのペンダントの位置及び向きと、実際のロボット座標系との関係を自動で更新していくことも可能となる。
【００１６】
本発明においては、ペンダントに、自分の位置又は姿勢の変化を検出するジャイロセンサを設け、動作制御手段に、前記ジャイロセンサにより検出されたペンダントの位置又は姿勢の変化量に応じて、設定されたズレ量を補正する補正手段を設けることができる（請求項２の発明）。
【００１７】
これによれば、ロボット本体のマニュアル動作中においてペンダントの位置や向きが変化した場合には、ジャイロセンサにより検出することができ、検出されたペンダントの位置又は姿勢の変化量に応じて、補正手段により、設定されたズレ量を補正することができる。従って、マニュアル動作開始当初は、カメラの撮影画像に基づいて、ペンダントのロボット座標系に対するズレ量を設定し、その後は、補正手段による補正を利用しながら、常にその時点でのペンダントの位置及び向きと、実際のロボット座標系との関係（ズレ量）を自動で更新していくことができる。この場合には、オペレータは、必ずしもカメラの光軸をロボット本体側に向け続けている必要がなく、ペンダントの持ち方や姿勢（ペンダントの向き）を自由に変えながらロボット本体のマニュアル動作を実行させることができる。
【００１８】
或いは、本発明においては、動作制御手段に、カメラの撮影視野からロボット本体が外れた場合に、該ロボット本体のマニュアル動作を禁止する禁止手段を設けることができる（請求項３の発明）。これによれば、オペレータがペンダントを置いて作業を一旦中断するなど、カメラの視野からロボット本体が外れた場合には、ロボット本体のマニュアル動作が禁止されるので、オペレータが交代するような場合における、安全性を高めることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施例を示すもので、ロボットシステムの全体構成を概略的に示す図
【図２】カメラの配設位置を示すペンダントの側面図
【図３】オペレータがロボット本体の前方位置に立っている場合の、概略的平面図（ａ）及びペンダントの正面図（ｂ）
【図４】オペレータがロボット本体の前方左斜め位置に立っている場合の図３相当図
【図５】タッチパネルの移動指示方向とロボット本体の移動方向とを対応させる処理の手順を示すフローチャート
【図６】本発明の第２の実施例を示すもので、ペンダントの位置及び向きの補正の処理手順を示すフローチャート
【図７】本発明の第３の実施例を示すもので、カメラが角度調整される様子を示す側面図
【発明を実施するための形態】
【００２０】
（１）第１の実施例
以下、本発明の第１の実施例について、図１ないし図５を参照しながら説明する。図１は、本実施例に係るロボットシステム１の外観構成を概略的に示している。このロボットシステム１は、ロボット本体２、このロボット本体２の各軸モータを制御するロボットコントローラ３、このロボットコントローラ３に接続されたペンダント４等を備えて構成されている。
【００２１】
前記ロボット本体２は、図３、図４にも示すように、例えば、ベース５上に６軸のアームを有する垂直多関節型ロボットからなり、それらアームは、次のように、関節部を介して順次回動可能に連結されている。即ち、前記ベース５上には、ショルダ部６が、垂直（Ｚ軸）方向に延びる回動軸Ｊ１を中心に水平方向に旋回可能に連結され、このショルダ部６には、図でやや斜め上方に延びる下アーム７が、水平方向に延びる回動軸Ｊ２を中心に旋回可能に連結されている。
【００２２】
前記下アーム７の先端部には、第１の上アーム８が、水平方向に延びる回動軸Ｊ３を中心に上下方向に旋回可能に連結され、この第１の上アーム８の先端部には、第２の上アーム９が、回動軸Ｊ４を中心に同軸回転可能に連結されている。第２の上アーム９の先端には、手首１０が、回動軸Ｊ５を中心に上下方向に回動可能に連結され、前記手首１０の先端には、フランジ１１が、回動軸Ｊ６を中心に同軸回転可能に連結されている。
【００２３】
尚、図示はしないが、上記した各アーム６〜１１は、各軸モータにより夫々駆動されるようになっている。また、前記フランジ１１には、例えばハンド等の必要な作業用ツール１２が取付けられる。この場合、ロボット本体２は、例えば水平な作業台１３上に前記ベース５が所定の向きで固定設置され、作業台１３上において図示しないワークに対する部品組付け作業等の作業を行うように構成されている。
【００２４】
前記ロボットコントローラ３は、コンピュータ（ＣＰＵ）やサーボ制御部等を含んで構成され、予め記憶された作業プログラム、及び、前記ペンダント４を用いたティーチング作業によって教示された位置データ（位置座標）等に基づいて、前記ロボット本体２の各軸モータ等を制御し、組立作業等の作業を実行させるようになっている。この場合、ロボットコントローラ３は、前記各軸モータのエンコーダの出力信号から、常にロボット本体２の位置姿勢を検出し、現在の位置姿勢情報（各軸の角度情報）を保持（記憶更新）するように構成されている。
【００２５】
ここで、前記ロボット本体２は、固有のロボット座標系（Ｘ，Ｙ，Ｚ軸からなる三次元直交座標系）を有して構成され、前記ロボットコントローラ３により、そのロボット座標系に基づいて、Ｘ軸方向（左右方向）及びＹ軸方向（前後方向）並びにＺ軸方向（上下方向）に自在に移動される。本実施例では、ロボット座標系は、例えば、図１に示すように、前記ベース５の中心を原点Ｏとして、作業台１３の上面（水平面）をＸ−Ｙ平面とし、作業台１３に垂直な座標軸をＺ軸とし、ベース５の正面が向く方向を前方（Ｙ軸＋方向）とするように定義される。ティーチング作業によって教示された位置データは、そのロボット座標系に基づく位置座標（位置ベクトル）にて記憶される。
【００２６】
前記ペンダント４は、オペレータのマニュアル操作により、ロボットコントローラ３を介してロボット本体２（手先）を実際に動かして作業位置等を教示（ティーチング）したり、或いは、記憶されている制御プログラムを呼出してロボット本体２を起動したり各種のパラメータを設定したりするために使用される。このとき、前記ロボットコントローラ３は、ペンダント４の操作に基づく前記ロボット本体２のマニュアル動作を制御する動作制御手段として機能する。
【００２７】
このペンダント４は、図２〜図４にも示すように、薄形でやや縦長のほぼ矩形箱状のケースを備え、オペレータが手で持って操作できる程度のコンパクトな大きさとされている。このペンダント４（ケース）の正面部（上面部）には、操作部として機能する四角形のタッチパネル１４が設けられていると共に、各種のメカスイッチ１５（１個のみ図示）が設けられている。前記タッチパネル１４は、液晶ディスプレイ（ＬＣＤ）の表面部に透明電極を縦横に配してなる周知構成を備え、画面上に、必要な表示やキー（アイコン）の設定を行うと共に、画面上のタッチ操作された位置の検出が可能な構成とされている。この場合、タッチパネル１４上には操作軸として上下左右軸系（２次元直交座標系）が設定され、その座標系に基づいてタッチ位置や、入力方向（ドラッグ方向）、入力量（ドラッグ量）が検出される。
【００２８】
この場合、図３、図４に示すように、タッチパネル１４の画面左上のコーナー部には、後述するように、ロボット本体２のＸ軸及びＹ軸の方向を示すための方位インジケータ１６が表示される。また、このタッチパネル１４は、オペレータによるドラッグ操作、つまり図３、図４に示すように画面上を例えば手指Ｆで押圧（タッチ）しながらその押圧位置を移動させる操作が可能とされ、オペレータは、そのドラッグ操作により、マニュアル動作時のロボット本体２（手先）の前後左右方向（Ｘ−Ｙ平面方向）に関する移動方向及び移動量の指示操作を行うようになっている。
【００２９】
そして、図示はしないが、このペンダント４（ケース）の内部には、コンピュータ（ＣＰＵ）を含んで構成される制御回路や、前記ロボットコントローラ３との間でデータ通信を行うためのＩ／Ｏ等が配設されている。前記制御回路は、そのソフトウエア構成により、前記タッチパネル１４の表示を制御すると共に、前記メカスイッチ１５やタッチパネル１４の操作に基づいて各種の処理を行うように構成されている。このとき、初期状態（電源オン時）においては、タッチパネル１４（液晶ディスプレイ）にメニュー画面が表示され、オペレータがティーチング作業を行いたい場合には、そのメニュー画面においてロボット本体２のマニュアル動作を選択し、実行させるようにする。
【００３０】
このロボット本体２のマニュアル動作の実行時には、オペレータによりタッチパネル１４のドラッグ操作が行われると、制御回路は、ドラッグ操作の開始位置と終了位置とから、ドラッグ操作の方向とドラッグ量（長さ）とを求め、それに基づいて、ロボット本体２（手先）の移動方向及び移動量を算出し、前記ロボットコントローラ３に対して移動指令データを出力し、以てロボット本体２をＸ−Ｙ方向に移動（マニュアル動作）させるようになっている。尚、ロボット本体２（手先）の上下方向（Ｚ軸方向）の移動については、図示はしないが、タッチパネル１４上に設定されたＺ＋キー、Ｚ−キーをオペレータがタッチ操作することにより、操作時間に応じた移動量だけ移動させることができるようになっている。
【００３１】
さて、本実施例では、上記ペンダント４を用いたティーチング作業時（ロボット本体２のマニュアル動作時）に、Ｘ−Ｙ方向の移動に関して、オペレータによるタッチパネル１４上で指示操作される移動方向と、ロボット本体２（手先）の実際の移動方向とを対応（シンクロ）させるために、次のような構成が採用される。即ち、図２に示すように、前記ペンダント４には、ケースの背面側（裏面側）の上部に位置して、前方を撮影可能なカメラ１７が設けられている。
【００３２】
このカメラ１７は、例えばＣＣＤ撮像素子及びレンズ等を備えて構成されている。このとき、図２に示すように、カメラ１７の光軸Ｌは、ペンダント４のケースの裏面（パネル面）に対し直交する方向に延びている。ペンダント４においては、ティーチング作業の開始時（及び作業中の周期的）に、自動で（或いはオペレータによるスイッチ操作に基づいて）カメラ１７による前記ロボット本体２全体の撮影画像が取込まれる。取込まれた撮影画像データは、前記ロボットコントローラ３に入力されるようになっており、該ロボットコントローラ３等から画像取込手段が構成される。また、図１に示すように、タッチパネル１４（液晶ディスプレイ）にその撮影画像を表示することもできる。
【００３３】
そして、詳しくは次の作用説明（フローチャート説明）でも述べるように、ティーチング作業の開始時及び実行中において、ロボットコントローラ３は、そのソフトウエア構成（移動方向規定プログラムの実行）により、前記ペンダント４のカメラ１７によりロボット本体２の撮影画像データを取込むと共に、ロボット本体２の現在の位置姿勢情報から、該ロボット本体２の３次元画像モデル（以下「３Ｄモデル」という）を作成する。
【００３４】
このとき、ロボットコントローラ３が保有する基準となるロボット座標系を基準にした３Ｄモデルを作り、それを前記カメラ１７によるロボット本体２の撮影画像と最も類似性が高くなるまで視点変更して自在に動かし、最も類似性の高い視点をペンダント視点とする。そして、前記基準となったロボット座標系と、そのペンダント視点におけるペンダント４のタッチパネル１４の上下左右軸系との差をズレ量として設定する。その上で、前記ペンダント４のタッチパネル１４により指示操作される入力（移動）方向及入力（移動）量を、前記設定されたズレ量に応じて、前記基準となるロボット座標系での入力方向及び入力量に変換することで、前記ロボット本体２（手先）の移動方向に同期させるようになっている。
【００３５】
従って、ロボットコントローラ３が、カメラ１７等と共に画像取込手段を構成すると共に、３次元画像モデル作成手段、ズレ量設定手段、同期手段として機能する。尚、上記ペンダント４の位置検出にあたっては、作成された３Ｄモデルと、ロボット本体２の撮影画像データとのパターンマッチングを行ない、類似性（一致度）のスコアが、０．７（７０％）以上で且つ最も大きい３Ｄモデルの視点を探すことにより行なわれる。
【００３６】
また、本実施例では、ティーチング作業の開始時にだけでなく、ティーチング作業中においても、例えば周期的にカメラ１７が撮影したロボット本体２の画像から、上記と同様の処理により、ペンダント視点の検出に基づくズレ量の設定を行ない、タッチパネル１４による移動指示方向と、実際のロボット本体２の移動方向との対応関係を常に更新していくようになっている。更に本実施例では、ロボットコントローラ３は、カメラ１７の撮影視野からロボット本体２が外れたと判断した場合には、ロボット本体２のマニュアル動作を禁止するようになっており、禁止手段としても機能する。
【００３７】
次に、上記構成の作用について、図５も参照しながら説明する。オペレータが、ペンダント４を用いてロボット本体２をマニュアル動作させてティーチング作業を行う場合には、図３（ａ），図４（ａ）に示すように、オペレータＭは、ペンダント４を持ってロボット本体２の近傍に立ち、タッチパネル１４を操作して、メニューからロボット本体２のマニュアル動作を選択し、実行開始させる。
【００３８】
このとき、オペレータＭは、ロボット本体２に対し周囲３６０度（前後左右の）の任意の位置に立って操作を行うことができるのであるが、ロボット本体２のロボット座標系（座標軸）を視認することはできない。そこで、オペレータＭが非熟練者の場合でも、容易にティーチング作業を行えるように、ペンダント４のタッチパネル１４により指示操作される移動方向と、ロボット本体２（手先）の移動方向とを対応（シンクロ）させる処理が行なわれる。
【００３９】
この処理によって、オペレータＭが、自分の視点によってペンダント４を操作することにより、所望の方向にロボット本体２を移動させることが可能となる、つまり、オペレータＭがペンダント４のタッチパネル１４上で例えば右方向への移動操作（ドラッグ操作）を行うと、ロボット本体２がオペレータＭの視点（オペレータＭの立ち位置を基準として）で右側へ移動するようになるのである。
【００４０】
図５のフローチャートは、ティーチング作業時（マニュアル動作実行時）に、ロボットコントローラ３が実行する、タッチパネル１４による移動指示方向と実際のロボット本体２の移動方向とを対応（同期）させる処理の手順を示している。尚、この処理が開始されると、タッチパネル１４（液晶ディスプレイ）に、例えば「カメラ１７をロボット本体２に向けてください」といったメッセージが表示される。これを受け、オペレータＭは、ペンダント４の背面側に設けられたカメラ１７（光軸Ｌ）をロボット本体２に向けるようにする。
【００４１】
このとき、オペレータＭがロボット本体２のベース５に対し正対し、ペンダント４の正面部のタッチパネル１４を自分の方に向けるという、マニュアル動作実行時にいわば自然に（必然的に）とられる姿勢によって、カメラ１７（光軸Ｌ）がロボット本体２に向けられる。またこれと共に、図１に示すように、オペレータＭが容易に位置合せできるように、カメラ１７の撮影画像（視野）をタッチパネル１４（液晶ディスプレイ）に表示することが行なわれる。
【００４２】
図５において、まずステップＳ１では、オペレータＭの、ロボット本体２に対する位置（視点）の仮定が行なわれる。この場合、例えば、図３（ａ）に示すように、オペレータＭ（ペンダント４）がロボット本体２の正面（Ｙ軸＋方向）の距離１ｍに位置し、カメラ１７の光軸Ｌがベース５の中心（Ｚ軸）を指向する向きにあると仮定される。ステップＳ２では、ロボット本体２の型式情報（軸構成や各軸のリンク長さ等）が取得される。
【００４３】
ステップＳ３では、ロボット本体２の現在の位置姿勢情報が取得される。このとき、作業開始前には、ロボット本体２は所定の原点位置に位置している。ステップＳ４では、その現在の位置姿勢情報に基づき、オペレータＭの位置を仮定した基準となるロボット本体２の３Ｄモデルの作成が行なわれる。次のステップＳ５では、ペンダント４のカメラ１７によるロボット本体２の撮影画像データが取込まれる。そして、ステップＳ６では、上記ステップＳ４にて作成された３Ｄモデルと、ステップＳ５にて取込まれた撮影画像データとのパターンマッチングが行なわれ、類似性のスコアが求められる。
【００４４】
尚、図示は省略しているが、上記ステップＳ６では、撮影画像データ中にロボット本体２が存在するかどうかも判断される。そして、ロボット本体２全体が撮影されていない（カメラ１７の撮影視野から外れている）と判断された場合には、エラー報知がなされると共に、ロボット本体２のマニュアル動作が禁止される。これと共に、ペンダント４のタッチパネル１４（液晶ディスプレイ）に、カメラ１７の撮影視野内にロボット本体２全体を収めることを促す表示が行なわれる。
【００４５】
ステップＳ７では、類似性のスコアがしきい値（例えば０．７（７０％））以上であるかどうかが判断される。類似性のスコアがしきい値未満である場合には（ステップＳ７にてＮｏ）、次のステップＳ８にて、ロボット本体２に対するカメラ１７の光軸Ｌを想定した視点が微小量だけ変更された上で、ステップＳ４に戻り、変更された新たな視点に応じて３Ｄモデルが作成され（動かされ）、処理が繰返される。ステップＳ８で変更される微小量としては、角度で１０度、距離で０．３ｍ程度となる。
【００４６】
ここで、本発明者の知見によれば、ステップＳ１（ステップＳ８）にて仮定したオペレータＭの位置（ペンダント視点）と、実際のペンダント視点（カメラ１７の光軸Ｌ）との差が、ロボット座標系の中心Ｏから見た角度で、約５度以内であれば、撮影画像データのロボット本体２の背景等に多少のノイズがあっても、類似性（一致度）のスコアは０．７（７０％）以上となる。従って、類似性のスコアがしきい値以上であれば、仮定したペンダント視点と実際のペンダント視点とが一致又はほぼ一致する（３Ｄモデルの視点に実際にペンダント４（カメラ１７）が位置している）と判断することができる。
【００４７】
類似性のスコアがしきい値以上の場合には（ステップＳ７にてＹｅｓ）、ステップＳ９にて、ペンダント４が、３Ｄモデルの視点（ペンダント視点）の位置にあり、且つ、カメラ１７の光軸Ｌがベース５の中心（Ｚ軸）を指向する向きに存在すると推定される。これにて、ロボット座標系（Ｘ軸及びＹ軸）と、オペレータの主観座標（現在のオペレータの立ち位置からみたペンダント４のタッチパネル１４の上下左右方向）とのズレ量が設定される。次のステップＳ１０では、ステップＳ９で設定されたズレ量に応じて、タッチパネル１４上の移動指示方向と、ロボット本体２（手先）の実際の移動方向との対応付け（シンクロ）が行なわれる。つまり、前記ズレ量を補正値として、オペレータのタッチパネル１４における入力ベクトルに加算減算処理を行い、オペレータの入力ベクトルを、ロボット本体２のロボット座標系の移動ベクトルに変換する。
【００４８】
これにて、例えば、図３（ａ）に示すように、オペレータＭ（ペンダント４）が、ロボット本体２の正面前方（Ｙ軸＋方向）に位置している場合には、図３（ｂ）に示すように、タッチパネル１４の上下（縦）方向がロボット座標系のＹ軸方向に対応付けられ、タッチパネル１４の左右（横）方向がロボット座標系のＸ軸方向に対応付けられるようになる。またこのとき、タッチパネル１４の方位インジケータ１６部分には、対応付けられたロボット座標系のＸ軸＋方向（右方向）及びＹ軸＋方向（手前方向）が表示される。この状態では、例えば図３（ｂ）に矢印ａで示すように、オペレータＭが手指Ｆで右斜め上方にタッチパネル１４のドラッグ操作を行うと、ロボット本体２（手先）は、図３（ａ）に矢印Ａで示すように、オペレータＭから見て右斜め後方（奥方）に移動するようになる。
【００４９】
また、例えば、図４（ａ）に示すように、オペレータＭ（ペンダント４）が、ロボット本体２（ベース５）の正面に対して左斜め４５度前方に位置している場合には、図４（ｂ）に示すように、タッチパネル１４の左上から右下に向う斜め４５度の方向がロボット座標系のＹ軸方向に対応付けられ、タッチパネル１４の左下から右上に向う斜め４５度の方向がロボット座標系のＸ軸方向に対応付けられるようになり、方位インジケータ１６部分にその対応付けられた方向が表示される。この状態では、例えば図４（ｂ）に矢印ｂで示すように、オペレータＭが手指Ｆで右方向にタッチパネル１４のドラッグ操作を行うと、ロボット本体２（手先）は、図４（ａ）に矢印Ｂで示すように、オペレータＭから見て右方向（Ｙ軸＋方向及びＸ軸＋方向に対し共に４５度をなす角度の方向）に移動するようになる。
【００５０】
上記ステップＳ１０までの処理を行うことにより、作業開始初期のペンダント４の位置及び向き（ロボット座標系に対する上下左右軸系のズレ量）が設定され（初期設定）、タッチパネル１４による移動指示方向と、実際のロボット本体２の移動方向との同期がとられるのであるが、本実施例においては、その初期設定の後にも、例えば周期的（一定時間毎）にステップＳ３に戻り、ステップＳ３〜ステップＳ１０の処理が繰返される。
【００５１】
これにより、ティーチング作業中においても、設定されたズレ量の補正が随時行なわれ、タッチパネル１４による移動指示方向と、実際のロボット本体２の移動方向との対応関係が常に更新されていく。但しこの補正（更新）を行う場合には、前回のステップＳ９で設定された位置が、ステップＳ４で３Ｄモデルを作成する際に最初に仮定される視点の位置とされる。これにて、ティーチング作業中に、オペレータＭが立ち位置を移動した場合等にも対応することができる。
【００５２】
このように本実施例によれば、ロボット本体２の現在の位置姿勢情報から作成される３Ｄモデルと、カメラ１７による撮影画像との比較に基づいて、ロボット本体２に対するペンダント視点（カメラ１７の光軸Ｌの位置）を十分な確かさで推定し、ロボット座標系とタッチパネル１４の上下左右軸系とのズレ量を設定することができ、その上で、タッチパネル１４による移動指示方向とロボット本体２の移動方向とが同期されるようになる。これにより、オペレータＭが、ペンダント４のタッチパネル１４の操作により指示した移動方向つまりオペレータＭが移動させたいと考える方向と、実際のロボット本体２の移動方向とを、一致又はほぼ一致させることができ、ティーチング作業をスムーズ且つ効率的に行うことができる。
【００５３】
このとき、ロボット本体の正面方向をオペレータがタッチパネル上で手動設定するようにした従来のものと異なり、ペンダント４の向きと実際のロボット座標系との関係を、オペレータの主観によることなく、一意的に定めることができると共に、オペレータＭの面倒な設定操作は必要なく、自動で定めることができる。
【００５４】
しかも、ペンダント４にカメラ１７を付加するだけの簡単な構成で実現でき、そのカメラ１７についても、３Ｄモデルとの比較のためのロボット本体２の位置姿勢を撮影するだけで、さほど高精度のものでなくても済むので、比較的安価に済ませることができる。更には、オペレータＭは、作業対象とするロボット本体２にカメラ１７を向けることで、必然的にそのロボット本体２を確認することができ、ペンダント４が接続されていない誤ったロボット本体２をマニュアル動作させようとするといったミスを未然に防止することができる。
【００５５】
また、特に本実施例では、ロボット本体２に対するティーチング作業の開始時だけでなく、作業中においても、タッチパネル１４による移動指示方向と、実際のロボット本体２の移動方向との対応関係を常に自動で更新していくようにしたので、より利便性を高めることができる。しかも、ペンダント４のカメラ１７をロボット本体２に向け続けていなければ、ロボット本体２のマニュアル動作が禁止されるようにしたので、ペンダント４の位置が不明な状態でロボット本体２が動作することが未然に防止され、安全性を高めることができる。
【００５６】
（２）第２、第３の実施例、その他の実施例
図６は、本発明の第２の実施例を示すものである。この第２の実施例が上記第１の実施例と異なるところは、ティーチング作業時（マニュアル動作実行時）に、ロボットコントローラ３が実行する処理、即ち、初期設定されたペンダント４の位置及び向き（ズレ量）を補正する手法、ひいては、タッチパネル１４による移動指示方向と、実際のロボット本体２の移動方向との対応関係を更新する手法にある。尚、以下に述べる各実施例では、上記第１の実施例と同一部分については、符号を共通して使用すると共に新たな図示や説明を省略し、上記第１の実施例と異なる点についてのみ説明することとする。
【００５７】
図示はしないが、本実施例では、ペンダント４内に、自分の位置又は姿勢の変化を検出する変位センサが設けられている。この変位センサは、ジャイロセンサからなり、この変位センサの検出信号（変位量のデータ）は、前記ロボットコントローラ３に入力されるようになっている。そして、ロボットコントローラ３（動作制御手段）は、初期設定後のティーチング作業中においては、カメラ１７の撮影画像を用いることなく、前記変位センサにより検出されたペンダント４の位置又は姿勢の変化量に応じて、設定されたペンダント４の位置又は向き（ズレ量）を補正するようになっている。従って、ロボットコントローラ３は、ソフトウエア構成によって補正手段として機能する。
【００５８】
即ち、図６のフローチャートは、図５のフローチャートからの変更部分を示している。ここでは、ロボットコントローラ３は、上記第１の実施例で説明したと同様の処理（ステップＳ１〜ステップＳ１０）により、ペンダント４の位置及び向きの初期設定を行い（ステップＳ９）、タッチパネル１４による移動指示方向と実際のロボット本体２の移動方向との対応付け（同期）が行なわれる（ステップＳ１０）。そして、次のステップＳ１１では、初期の変位センサ情報が取得される。
【００５９】
その後、ティーチング作業中においては、ステップＳ１２にて、例えば周期的に（一定時間間隔で）現在の変位センサ情報が取得され、前回の変位センサ情報との比較により、ペンダント４の位置又は姿勢の変位量が求められる。次のステップＳ１３では、検出された変位量に応じて、設定されているペンダント４の位置及び向き（ズレ量）が補正される。ステップＳ１４では、補正後の設定されたズレ量に応じて、タッチパネル１４による移動指示方向と実際のロボット本体２の移動方向との対応関係が更新される。この後は、ステップＳ１２からの処理が繰返される。
【００６０】
このような第２の実施例によれば、オペレータＭがペンダント４を操作してロボット本体２のマニュアル動作（ティーチング作業）を実行させる際に、オペレータＭの主観によることなく、一意的にペンダント４の向きとロボット座標系とを対応させて移動方向の指示操作を行うことができる等の、上記第１の実施例と同様の作用・効果を得ることができる。
【００６１】
そして、本実施例では、カメラ１７の撮影画像に基づいてペンダント４の位置及び向きの初期設定を行い、その後は、ジャイロセンサの検出に基づいて、常にその時点でのペンダント４の位置及び向きを補正し、実際のロボット座標系との関係を自動で更新していくことができる。この場合には、オペレータＭは、必ずしもカメラ１７の光軸Ｌをロボット本体２側に向け続けている必要がなく、ペンダント４の持ち方や姿勢（ペンダント４の向き）を自由に変えながらロボット本体２のマニュアル動作を実行させることができる。
【００６２】
尚、ペンダント４の位置及び向きの初期設定後（ティーチング作業中）において、上記第１の実施例で述べたような、カメラ１７によるロボット本体２の画像取込を続けていくことによるペンダント４の位置及び向きの補正と、この第２の実施例のような変位センサの検出に基づく補正とを併用するように構成しても良い。これにより、設定されたペンダント４の位置及び向きを、より正確に補正していくことが可能となる。
【００６３】
図７は本発明の第３の実施例を示すものであり、上記第１の実施例と異なる点は、ペンダント２１に設けられるカメラ２２を可動式に構成したところにある。前記ペンダント２１は、やはりオペレータＭが手持ち操作可能な薄型矩形状のケースの正面部（上面部）に、操作部としてのタッチパネル１４が設けられている。そして、ペンダント２１（ケース）の背面側上部には、前方を撮影可能なカメラ２２（カメラユニット）が、位置調整可能、即ち横方向（左右水平方向）に延びる軸ｏを中心に回動変位可能（角度調整可能）に取付けられている。
【００６４】
これによれば、ペンダント２１に対する、カメラ２２の光軸Ｌの上下方向に関する方向（撮影角度）を変更することができる。言い換えれば、図７（ａ），（ｂ），（ｃ）に３通りを代表させて示しているように、カメラ２２の光軸Ｌをロボット本体２に向けたときの、オペレータＭ（の顔）に対してタッチパネル１４が向く角度を、オペレータＭにとって操作しやすい（見やすい）ものに自在に変更することができる。従って、この構成によれば、オペレータＭ毎の持ち方の癖などにも対応でき、より操作しやすい（カメラ２２によるロボット本体２の撮影がしやすい）ものとすることができる。
【００６５】
尚、上記各実施例では、ペンダントの操作により、ロボット本体をＸ−Ｙ平面に沿って移動させる場合に関して、移動方向に関する対応をとるように構成したが、本発明は、それに限らず、他の平面（例えばＸ−Ｚ平面）に沿ってロボット本体（手先）をマニュアル動作させる場合等にも適用することができる。この場合、組立作業に限らず、溶接や塗装、検査など各種の作業を行うロボットシステムに本発明を適用することができる。ペンダントとロボットコントローラとの接続を、電波や光などの無線通信により行うようにしても良い。
【００６６】
また、上記各実施例では、ペンダントのタッチパネル１４をオペレータがドラッグ操作することにより、移動方向を指示するようにしたが、操作部として、タッチパネル上に８方向（或いは４方向）のカーソルキーを設定するようにし、それらカーソルキーの操作によって移動方向を指示するようにしても良い。タッチパネルに代えて、メカスイッチや、ジョイスティックなどを採用するようにしても良い。ロボット座標系（原点、Ｘ軸、Ｙ軸、Ｚ軸）の設定の仕方としても、一例を示したに過ぎず、変更が可能であることは勿論である。その他、ロボット本体の構成や、ペンダントの形状や構造などについても種々の変形が可能であるなど、本発明は要旨を逸脱しない範囲内で適宜変更して実施し得るものである。
【符号の説明】
【００６７】
図面中、１はロボットシステム、２はロボット本体、３はロボットコントローラ（動作制御手段、画像取込手段、３次元画像モデル作成手段、ズレ量設定手段、同期手段、補正手段、禁止手段）、４，２１はペンダント、５はベース、１３は作業台、１４はタッチパネル、１６は方位インジケータ、１７，２２はカメラ、Ｍはオペレータを示す。
【図１】
0005526881.tif 000002
【図２】
0005526881.tif 000003
【図３】
0005526881.tif 000004
【図４】
0005526881.tif 000005
【図５】
0005526881.tif 000006
【図６】
0005526881.tif 000007
【図７】
0005526881.tif 000008