(57)【特許請求の範囲】
【請求項１】
グラフィック表示機能を有する教示操作盤を備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、
少なくとも前記エンドエフェクタの形状モデル情報を記憶する記憶手段と、
前記教示操作盤の画面に前記エンドエフェクタの形状モデルをグラフィック表示する手段と、
前記エンドエフェクタの形状モデルがグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、
前記指定された画面上の位置に対応する３次元位置を算出する手段と、
エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段とを備えた、ロボットの手動送り装置。
【請求項２】
ロボット制御装置と、該ロボット制御装置に接続され、グラフィック表示機能を有する教示操作盤とを備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、
前記ロボット制御装置は、前記ロボット、前記エンドエフェクタ及び周辺機器を含めたロボットシステムのレイアウトの現在状態の情報を求める手段を備え、
前記教示操作盤は、前記ロボット制御装置から前記レイアウトの現在状態の情報を取得して該教示操作盤の画面にグラフィック表示する手段と、前記レイアウトの現在状態がグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置を前記ロボット制御装置に転送する手段とを備え、
さらに、前記ロボット制御装置は、前記教示操作盤より転送された、前記指定された画面上の位置に対応する３次元位置を算出する手段と、エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段とを備えた、ロボットの手動送り装置。
【請求項３】
ロボット制御装置と、該ロボット制御装置に通信手段によって接続された情報処理装置と、前記ロボット制御装置に接続され、グラフィック表示機能を有する教示操作盤とを備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、
前記情報処理装置は、前記ロボット制御装置から前記ロボットの現在の状態を取得して該ロボット、前記エンドエフェクタ及び周辺機器を含めたロボットシステムのレイアウトの現在状態の情報を求める手段を備え、
前記教示操作盤は、前記情報処理装置から前記ロボット制御装置を経由して、前記ロボットシステムのレイアウトの現在状態の情報を取得して該教示操作盤の画面にグラフィック表示する手段と、前記レイアウトの現在状態がグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置を前記ロボット制御装置を経由して前記情報処理装置に転送する手段とを備え、
さらに、前記情報処理装置は、前記教示操作盤より転送された、前記指定された画面上の位置に対応する３次元位置を算出する手段と、該算出した３次元位置を前記ロボット制御装置に転送する手段と、
前記ロボット制御装置は、エンドエフェクタの姿勢変更指令を受付けると、
算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段とを備えた、ロボットの手動送り装置。
【請求項４】
グラフィック表示機能を有するオフラインプログラミングシステムのシミュレーションロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、
少なくとも前記エンドエフェクタの形状モデル情報を記憶する記憶手段と、
前記エンドエフェクタの形状モデルがグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、
前記指定された画面上の位置に対応する３次元位置を算出する手段と、
エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段とを備えた、ロボットの手動送り装置。
【請求項５】
前記エンドエフェクタが可動部を有し、前記可動部に前記エンドエフェクタの姿勢変更の中心位置が指定されたとき、前記可動部の動作に合わせて前記中心位置を変更する手段を備えた、請求項１乃至４の内、何れか１項に記載のロボットの手動送り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを手動送りする装置に関し、更に詳しく言えば、ロボットに支持されたエンドエフェクタの姿勢変更に用いられる手動送り装置に関する。
【背景技術】
【０００２】
一般に、ロボットにエンドエフェクタを支持して行なわれるアプリケーションにおいては、そのエンドエフェクタがワークに対して行なう作業の教示等のために、エンドエフェクタの姿勢を手動送りで調整することが広く行なわれている。例えば、ワークのハンドリングを行うロボットでは、治具上のワークをロボットに取り付けたハンドで把持する作業や、逆にハンドで把持したワークを治具上に載置する作業を教示する際に、ハンドの姿勢を何度も変更することが必要になる。
【０００３】
ここで、手動送りを行なうには、各軸送り（ロボット軸を指定して、その軸を手動で移動させる）を別にすれば、「手動送りが準拠する座標系」（以下、単に「手動送り座標系」とも言う）を指定する必要がある。指定される座標系には、ツール先端点を原点とするツール座標系が多用されているが、新たに手動送り用の座標系を設定し、それを指定する場合もある。手動送り用の座標系の設定には、いわゆる「３点教示」、「６点教示」などの手法が用いられる。
【０００４】
いずれにしろ、手動送り座標系を、ハンド（エンドエフェクタ）上あるいはその近傍に設定し、設定した手動送り座標系（ツール座標系であればツール先端点）の原点位置を中心として、手動送り座標系上での方向指定の手動送り操作で、その回りの方向に姿勢を変更する。ここで、手動送り座標系は一般に直交座標系であり、例えば教示操作盤上の６個のキー（＋Ｘ軸周り、−Ｘ軸周り、＋Ｙ軸周り、−Ｙ軸周り、＋Ｚ軸周り、−Ｚ軸周り）の中から一つを選択操作し、ツール先端点の周りでツール座標系の各座標軸周りでの姿勢変更を行えるようになっている。
【０００５】
しかし、このやり方で、ハンド姿勢変更の中心点に希望する位置に一致する手動送り座標系の原点を設定しようとしても、それを視覚的に定めることができず、試行錯誤的な操作を繰り返す必要があった。また、一旦適正な位置に手動送り座標系を設定できたとしても、状況が変われば、再度設定を変える必要が生じるため、上記のやり方では、直交座標系（手動送り座標系）上での姿勢方向の手動送り操作が効果的に使用できなかった。
【０００６】
そこで、上記手法の変形として、少し姿勢を変えてはハンドの位置を調整し、また少し姿勢を変えてはハンドの位置を調整するといった、煩雑で熟練が必要な操作を行う作業によって、ハンド姿勢の調整を行なう手法も利用されていた。また、更に別の手法としては、ハンド上あるいはその近傍の複数の箇所に、予めツール先端点（一般には、手動送り用座標系；以下、同様）を複数設定しておき、その時々で有効となるツール先端点（一般には、手動送り用座標系の原点；以下、同様）を切替えながら、ハンドの姿勢を直交座標系での姿勢方向の手動送り操作で変更する方法もある。しかしこの手法でも、全ての状況に対応できるほど多数のツール先端点を指定することは現実的には不可能であり、さらに、複数のツール先端点を設定するには多くの工数を必要とするため、有効な解決方法とは言えない。このようなハンド姿勢調整作業における問題点は、エンドエフェクタがハンド以外のものであっても同様に存在する。
【０００７】
また、ロボットが実機ではなく、オフラインプログラミングシステム上のロボット、即ち、シミュレーションロボットである場合についても、シミュレーションシステム上で用意された仮想的な３次元空間（以下、「シミュレーション空間」とも言う）上でシミュレーションロボットに同様の姿勢変更を行なわせるケースでも同様の問題が生じ得る。即ち、シミュレーション空間でシミュレーションロボットの姿勢変更を手動送りで行なわせる場合にも、手動送りが準拠する座標系を適正且つ簡便に設定できるようにはなっておらず、オフラインシミュレーション上のエンドエフェクタの姿勢を自由に調整して、適正なオフライン教示を効率的に行なうことが困難であった。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように従来手法に問題があるにも関わらず、有効な問題解決手段についての提案は未だなされておらず、それを記した公知文献は見当らない。そこで、本発明の目的は、特に熟練者でなくとも容易にロボットの実機あるいはシミュレーションロボットの手動送りを行えるようにし、上記したようなエンドエフェクタ姿勢調整作業を、特に熟練者でなくとも容易に遂行できるようにすることにある。
【課題を解決するための手段】
【０００９】
本発明は、グラフィック表示機能を有する教示操作盤を利用して、３Ｄグラフィック上で手動送り座標系を指定することができるようにして上記問題を解決したものである。  
具体的に言えば、先ず請求項１の発明では、グラフィック表示機能を有する教示操作盤を備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置に、少なくとも前記エンドエフェクタの形状モデル情報を記憶する記憶手段と、前記教示操作盤の画面に前記エンドエフェクタの形状モデルをグラフィック表示する手段と、前記エンドエフェクタの形状モデルがグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置に対応する３次元位置を算出する手段と、エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段が装備される。
【００１０】
また、請求項１の発明では、ロボット制御装置と、該ロボット制御装置に接続され、グラフィック表示機能を有する教示操作盤とを備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、前記ロボット制御装置に、前記ロボット、前記エンドエフェクタ及び周辺機器を含めたロボットシステムのレイアウトの現在状態の情報を求める手段が設けられる。  
そして、前記教示操作盤には、前記ロボット制御装置から前記レイアウトの現在状態の情報を取得して該教示操作盤の画面にグラフィック表示する手段と、前記レイアウトの現在状態がグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置を前記ロボット制御装置に転送する手段が設けられ、さらに、前記ロボット制御装置には、前記教示操作盤より転送された、前記指定された画面上の位置に対応する３次元位置を算出する手段と、エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段が設けられる。
【００１１】
請求項３に記載された発明では、ロボット制御装置と、該ロボット制御装置に通信手段によって接続された情報処理装置と、前記ロボット制御装置に接続され、グラフィック表示機能を有する教示操作盤とを備え、該教示操作盤に対する操作を受付けてロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置において、前記情報処理装置に、前記ロボット制御装置から前記ロボットの現在の状態を取得して該ロボット、前記エンドエフェクタ及び周辺機器を含めたロボットシステムのレイアウトの現在状態の情報を求める手段が設けられる。
【００１２】
そして、前記教示操作盤には、前記情報処理装置から前記ロボット制御装置を経由して、前記ロボットシステムのレイアウトの現在状態の情報を取得して該教示操作盤の画面にグラフィック表示する手段と、前記レイアウトの現在状態がグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置を前記ロボット制御装置を経由して前記情報処理装置に転送する手段が設けられ、さらに、前記情報処理装置には、前記教示操作盤より転送された、前記指定された画面上の位置に対応する３次元位置を算出する手段と、該算出した３次元位置を前記ロボット制御装置に転送する手段と、前記ロボット制御装置は、エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段が設けられる。
【００１３】
請求項４に記載された発明では、グラフィック表示機能を有するオフラインプログラミングシステムのシミュレーションロボットに付けられたエンドエフェクタの姿勢を変更するロボットの手動送り装置に、少なくとも前記エンドエフェクタの形状モデル情報を記憶する記憶手段と、前記エンドエフェクタの形状モデルがグラフィック表示された画面上で、前記エンドエフェクタの姿勢変更中心位置の指定指令を受付ける手段と、前記指定された画面上の位置に対応する３次元位置を算出する手段と、エンドエフェクタの姿勢変更指令を受付けると、算出された前記３次元位置の回りに、前記エンドエフェクタの姿勢を変更する手段が装備される。
【００１４】
そして、請求項５の発明は、上記各発明に係るロボット手動送り装置おいて、前記エンドエフェクタが可動部を有する場合に、前記可動部に前記エンドエフェクタの姿勢変更の中心位置が指定されたとき、前記可動部の動作に合わせて前記中心位置を変更する手段を装備させたものである。
【発明の効果】
【００１５】
本発明により、ロボット手動送りが容易となるので、熟練者でなくても適切なロボットの手動送り操作が可能となる。また、そのことを通して、ロボットシステムの教示の時間を短縮することが可能になる。さらに、オフラインプログラミング上のシミュレーションロボットの手動送りに適用することで、オフラインプログラミングに要する時間を短縮できる。
【発明を実施するための最良の形態】
【００１６】
図１は、本発明の１つの実施形態における全体システム構成の概要を示した図である。同図において、手動送りされるロボット（実機の機構部；以下、単に「ロボット」という）は符号１で示されており、その各軸の動作がロボット制御装置１０で制御されるようになっている。ロボット１のアーム先端にはエンドエフェクタが装着されている。エンドエフェクタはここでは可動式のハンド２である。その開閉は、例えばロボット１の付加軸（例えば６軸ロボットの第７軸）の動作で行なわれ、ロボット制御装置１０は周知の態様でその動作制御を行い、また、ハンド２の現在の状態（付加軸の現在位置）の把握を随時行えるようになっている。
【００１７】
ロボット制御装置１０には、ロボット１の他、教示操作盤２０と周辺機器３０が、それぞれインターフェイス（図示省略）を介して接続されている。教示操作盤２０は、図２に示すように、図示を省略したＣＰＵ、メモリ等の他、表示画面２１と各種の操作キー等を備えたもので、指定された座標系上でロボットを並進／回転させる手動送りの他、通常の機能（プログラムの編集や修正、位置データの入力や修正等）を備えている。図２において、手動送りの操作キーには符号ａ１〜ａ４、ｂ１〜ｂ４、ｃ１〜ｃ４が付されている。これら手動送りの操作の各キーは、押下状態（操作時）と非押下状態（非操作時）を持ち、押下状態（操作時）では下記のロボット移動を指定された座標系（手動送り座標系）上で小刻みに行う信号をロボット制御装置１０に送り続け、押下状態を止めれば現在位置でロボット１を停止させる信号をロボット制御装置１０に送るようになっている。
【００１８】
キーａ１；＋Ｘ軸方向への並進移動
キーａ２；−Ｘ軸方向への並進移動
キーｂ１；＋Ｙ軸方向への並進移動
キーｂ２；−Ｙ軸方向への並進移動
キーｃ１；＋Ｚ軸方向への並進移動
キーｃ２；−Ｚ軸方向への並進移動
キーａ３；＋Ｘ軸周りの回転移動
キーａ４；−Ｘ軸周りの回転移動
キーｂ３；＋Ｙ軸周りの回転移動
キーｂ４；−Ｙ軸周りの回転移動
キーｃ３；＋Ｚ軸周りの回転移動
キーｃ４；−Ｚ軸周りの回転移動
周辺機器３０は例えばワーク搬送装置、工作機械等で、ロボット制御装置１０からのリクエスト信号に応じて、随時、現在状態（例えばワーク搬送位置、工作機械のワーク導入扉の開閉状態等）を表わす信号をＩ／Ｏ信号としてロボット制御装置１０に送るようになっている。  
ここまで説明したシステムの構成と機能自体は公知のものである。以下、本発明の特徴を反映させた各部の構成と機能（特に、教示操作盤の画面上での手動送り座標系の指定機能）について説明する。
【００１９】
教示操作盤２０は、例えばキーｄを押下することで、「現在状態表示モード」に切り替わり、ロボット制御装置１０から、ロボット１、ハンド２及び周辺機器３０の現在状態のデータを十分短い周期で繰り返し受け取り、それらの現在状態を画面２１上に３Ｄグラフィック表示するためのソフトウェアが装備されている。ロボット１、ハンド２、周辺機器３０等の形状データやレイアウトデータは、例えば動作シミュレーション機能を備えたオフラインプログラミング装置で作成されたものが、予め教示操作盤２０のメモリに格納されている。
【００２０】
３Ｄ表示の視線方向は、例えば教示操作盤２０のキーｅ１〜ｅ６を用いて自由に選べるようになっている。そして、オペレータが、このグラフィック表示された画面上で「手動送り座標系」の希望設定位置を指定し、例えばキーｆ（手動送り座標系設定キー）を押下することで、指定された位置に原点を持つ手動送り座標系が自動設定されるようになっている。表示画面の例、手動送り座標系の指定例、その際の処理等については後述するとして、先ず全体の手順の流れを示せば、図３のようになる。手順の各ステップの要点は下記の通りである。
【００２１】
ステップＳ１；教示操作盤２０のキーｄを押下して現在状態表示モードとし、画面２１上に３Ｄグラフィック画像を表示させる。表示される画像には、少なくともハンド（エンドエフェクタ）２の現在状態を表わす画像が含まれる。そのために、ロボット制御装置１０からロボット１の現在位置データ、ハンド２の開閉位置データ（付加軸の位置データ）を受け取り、記憶されているロボットのレイアウトデータ、ハンド２の形状データを合わせて、レイアウト空間内でのハンド２の占有領域が計算される。この計算結果に基づき、ハンド２の３Ｄ表示が行なわれる。
【００２２】
また、必要に応じて、ロボット１、周辺機器３０、ワークなどの現在状態も併せて３Ｄグラフィック表示する。ロボット１の表示には、ハンド２の表示のためにロボット制御装置１０から受け取ったロボット１の現在位置データ、記憶されているロボット１の形状データとレイアウトデータが利用できる。これらデータから、ハレイアウト空間内でのロボット１の占有領域が計算される。この計算結果に基づき、ロボット１（その一部または全部）の３Ｄ表示が行なわれる。
【００２３】
周辺機器３０の表示については、ロボット制御装置１０から周辺機器３０の現在状態を表わす信号を受け取り、予め記憶させた周辺機器３０の形状データと合わせて表示内容が決定される（後述する例を参照）。
【００２４】
更に、例えばハンド２にワークを把持した状態を表示させたい場合には、ハンドの形状データに付帯乃至包含させる形でワーク形状データ、及び、把持状態におけるハンド２との相対位置姿勢関係を教示操作盤２０に記憶しておけば、ハンド２に把持されたワークの画像も３Ｄ表示できる（後述する例を参照）。
また、例えば周辺機器３０が治具上にワークを載せて把持位置まで搬送する搬送装置（例えば工作機械の加工部品送り出し部）である場合、周辺機器３０の現在状態でワークの位置が決まるので、ワーク形状データと併せて、ワークの現在位置を３Ｄ表示できる。
【００２５】
ステップＳ２；ユーザ（オペレータ）は、画面２１上の希望する位置（点）を指定する。指定位置の選択は、例えばキー操作でポインタマークを動かすことで行なうことができるが、画面２１にタッチパネル機能を持たせ、オペレータが針状のタッチツールで希望する点に触れることでそこにポインタを移動させ、手動送り座標系設定キーｆを押下することで、指定操作完了としても良い。
【００２６】
ステップＳ３；教示操作盤２０のＣＰＵは、画面２１上での位置指定を受けて、その点が対応する３次元位置（姿勢調整中心位置）を計算する。なお、ロボット、ハンド、周辺機器、ワーク等の形状データを含む、レイアウト関連データをロボット制御装置に用意しておき、教示操作盤２０の画面２１上での位置指定を受けて、その点の画面上位置データをロボット制御装置に転送し、ロボット制御装置のＣＰＵがその点に対応する３次元位置（姿勢調整中心位置）を計算するようにしても良い。
【００２７】
ステップＳ４；手動送り座標系の姿勢（Ｘ軸、Ｙ軸、Ｚ軸の方向）を決めるためのデータをロボット制御装置１０から受け取り、ステップＳ３で求めた３次元位置（姿勢調整中心位置）を原点とする手動送り座標系を設定する。設定された手動送り座標系の原点位置と各座標軸の方向を表わすデータは、ロボット制御装置に送られるとともに、教示操作盤のメモリにも格納される。また、手動送り座標系の原点位置と各座標軸の方向は直ちに画面上に表示される。
【００２８】
ここで、手動送り座標系の姿勢の決め方は適宜選択することが可能である。例えば「現在有効にされているツール座標系の姿勢」と一致させるように決めることができるし、あるいは、ロボットに設定されているワールド座標系の姿勢と同じ姿勢としても良い。また、後述する例のように、画面２１で指定される図形に応じて定まる面の方向などを特定の軸（例えばＺ軸）に対応させるような決め方もある。
【００２９】
ステップＳ５；手動送り座標系が設定されたら、オペレータは、キーａ３、ａ４、ｂ３、ｂ４、ｃ３、ｃ４を使い分けて希望するエンドエフェクタ（ここではハンド２）の姿勢調整を行なう。この姿勢調整の中心点は、設定された手動送り座標系の原点となる。姿勢調整の中心点を変えたい場合には、例えば教示操作盤２０の設定解除キーｇ（図２参照）を押下して、再度、ステップＳ２以下を実行する。
【００３０】
なお、姿勢調整過程で変化するハンド２及びその周辺（例えばアーム先端部）はリアルタイムで画面２１に映し出される。また、もしも、周辺機器３０の状態に変化があればそれも画面２１に映し出される。更に、もしも手動送り座標系の原点がハンド２上に設定されており、且つ、例えば教示操作盤２０（図２参照）のキーｈ１（ハンド開キー）、ｈ２（ハンド閉キー）を操作してハンド２の開閉を行なった場合には、その開閉動作に追随して、手動送り座標系の原点位置が自動修正されるようになっている。そのための処理フローを図４に示した。このフローは、上記ステップＳ４の完了直後に開始される。各ステップの要点は、下記の通りである。
【００３１】
ステップＳＳ１；設定された手動送り座標系の原点はハンド上にあるかを判断し、ハンド上にあればステップＳＳ２へ進み、ハンド上になければ処理を終了する。  
ステップＳＳ２；ハンドの現在位置のデータ（付加軸の現在位置）をロボット制御装置から受け取り、前回のハンドの現在位置と比較し、変化があればステップＳＳ３へ進み、なければ次回処理周期で再度ステップＳＳ２を実行する。なお、最初の比較では、無条件に「変化なし」として、次回処理周期で再度ステップＳＳ２を実行する。
【００３２】
ステップＳＳ３；ハンドの現在位置の変化量に対応する原点位置を計算し、手動送り座標系の設定データを更新する。また、画面上での送り座標系の表示位置も更新する。以下、ステップＳＳ２、ＳＳ３をハンドの状態に応じて繰り返し実行する。但し、設定解除キーｇが押下されたら、即時、処理は終了する。なお、このようなエンドエフェクタ自体の状態変化に追随した手動送り座標系の位置変更は、エンドエフェクタがハンドの場合に限られるものではない。例えば、エンドエフェクタがスポット溶接ガンである場合に、スポット溶接ガンの可動部上に設定された手動送り座標系の原点位置変更を同様の態様で行なうことができる。  また、エンドエフェクタの現在状態を知るためのデータは、本実施形態では「付加軸の現在位置」としたが、エンドエフェクタの現在状態を知ることができる限り、他のデータであってもかまわない。例えば、ハンド開状態とハンド閉状態の間の変位量を予め入力しておき、現在状態を開状態か閉状態かの２段階で知り、それに応じて手動送り座標系の原点位置変更を行なっても良い。
【００３３】
次に、図５、図６を参照して、教示操作盤２０の画面２１を使って行なわれる手動送り座標系設定の例について説明する。先ず図５を参照すると、上述したステップＳ１（キーｄの押下）で画面２１上に表示された３Ｄ画像と、手動送り座標系の原点指定（ポインタによるピック）の例が示されている。本例で想定されている作業は、搬送装置（周辺機器の例）３０上に載せて所定位置まで搬送されてきた治具３２に、ワークを載置する作業である。表示されている画像は、ハンド２とそれに把持されたワークＷ、周辺機器３０（ここでは治具を搬送するコンベアを符号３０で示した）の現在状態を代表する治具３１の現在位置の画像である。
【００３４】
オペレータは、これらの画像が表示された画面を見ながら、ハンド２の姿勢調整の中心点をポインタでピックする。ここでは、ワークＷ上の点Ａをピックしたものとする。すると、上述したステップＳ３、Ｓ４が実行され、点Ａを原点とする手動送り座標系が決定される。点Ａの３次元位置は、点ＡがワークＷ上を指しているので、ワークＷの占有領域の輪郭と、点Ａを通る３Ｄ表示の視線に対応する直線との交点位置として計算される。決定結果は、ロボット制御装置１０に送られ、手動送り座標系の設定が完了する。また、設定された座標系は、例えば図６に示したような画像で画面２１に表示される。座標軸の方向の決め方は既述した通りである。
【００３５】
オペレータは、この画面を見ながら上記したステップＳ５で説明した態様でキーａ３、ａ４、ｂ３、ｂ４、ｃ３、ｃ４を使い分けて希望するエンドエフェクタ（ここではハンド２）の姿勢調整を行なう。この姿勢調整の中心点は、言うまでもなく点Ａとなる。既述の通り、姿勢調整過程で変化するハンド２及びその周辺（例えばアーム先端部）はリアルタイムで画面２１に映し出される。また、もしも、周辺機器３０の状態に変化があればそれも画面２１に映し出され、ハンド２の開閉があればそれも画面２１に映し出される。
【００３６】
更に、もしも手動送り座標系の原点がハンド２上（図５中に点Ｂで例示）に設定されている場合にハンド開閉があれば、上述したステップＳＳ１〜ＳＳ３の処理により、手動送り座標系の原点位置が自動的に修正される。
【００３７】
手動送り座標系の原点の指定の仕方には、別のやり方もある。その第１の例を図７〜図８を参照して説明する。これは２方向からの点指定で手動送り座標系の原点の３Ｄ位置を確定させるやり方である。先ず、３Ｄ表示の視線方向を例えば教示操作盤２０のキーｅ１〜ｅ６を適宜操作して、レイアウト空間で定義されている座標系（例えば、ロボットに設定されているワールド座標系と一致）の１つの座標軸方向からの視線の３Ｄ表示とする。ここでは、図７に示したように、＋Ｚ方向からの視線で３Ｄ表示を行なうものとする。そして、図７に示した画像上で希望する点Ｃを指定する。これにより、手動送り座標系の原点位置のＸ座標とＹ座標が決まる。次いで、図８に示したように、＋Ｘ方向からの視線で３Ｄ表示に切換え、図８に示した画像上で希望する点Ｄを指定する。これにより、手動送り座標系の原点位置のＺ座標が決まる。これで、手動送り座標系の原点位置の３次元位置が確定するので、以下、前述した処理で手動送り座標系が設定され、表示される。図９は、設定された座標系の表示例を示す。この２方向からの指定による方法は、希望する原点が画面で見え難い位置にある場合や、何も物体が映っていない空中の点（例えば、ハンドの左右把持部の中間点）である場合などにおいても適用できる。
【００３８】
次に、手動送り座標系の原点の指定の仕方の第２の変形例を図１０、図１１を参照して説明する。これは３Ｄ表示画面上で手動送り座標系の原点を直接的に指定する代わりに、図形乃至図形要素を指定し、予め定められた所定のルールに従って座標系原点に定めるやり方である。図１０は、３Ｄ画面上で円弧を指定する様子を表わしている。図１０において、符号３３は例えば治具３２に形成されている穴で、棒状のワーク（ハンドに把持されているが、図示は省略）をこの穴に差し込む作業を教示した場合などに、この穴をポインタでピックする。すると、教示操作盤２０のＣＰＵは、この円弧３３の中心の３次元位置を計算し、これを手動送り座標系の原点位置とする。
【００３９】
座標系の姿勢は、例えば＋Ｚ軸方向を、円弧３３が定める平面に垂直で、且つ、レイアウト座標系上でＺ座標値が小から大へ向かう方向と一致させるように定める。但し、円弧３３が定める平面に立てた法線が、レイアウト座標系のＸＹ平面に平行である場合には、Ｘ座標値が小から大へ向かう方向と一致させるように定める。それでも決まらない場合は、Ｙ座標値が小から大へ向かう方向と一致させるように定める。また、＋Ｘ軸方向は、例えばその「レイアウト座標系のＸＹ平面上への射影」が、レイアウト座標系の＋Ｘ軸方向に一致するように決めれば良い。このようにして、＋Ｚ軸方向と＋Ｘ軸方向が決まれば、右手系の直交座標系は一意的に決まる。図１１は、このようにして設定された手動送り座標系の表示例を示す。
【００４０】
ここで、円弧に代えて物体の面を指定する手法も採用し得る。指定された面が決まった時、例えばその面を取り囲む輪郭図形の重心位置を手動送り座標系の原点位置とする。座標系の姿勢の決め方は、上記の円弧の例と同様とする。物体の両端が明確な「線分」を指定する手法も採用し得る。その場合、例えば指定された線分の両端の中点を手動送り座標系の原点位置とすれば良い。座標系の姿勢の決め方は、例えば現在設定されているツール座標系の姿勢を転用すれば良い。
【００４１】
ところで、以上説明した実施形態では、図１に示したシステム構成を前提にしたが、パーソナルコンピュータなどの情報機器をレイアウト表示に必要な計算等に援用することができる。その場合の構成例を図１２に示した。  
同図において、手動送りされるロボット（実機の機構部；以下、単に「ロボット」という）は符号１で示されており、その各軸の動作がロボット制御装置１０で制御される。ロボット１のアーム先端には、上述した実施形態と同じく、可動開閉式のハンド２が装着されている。ロボット制御装置１０には、ロボット１、教示操作盤２０、周辺機器３０に加えて、パーソナルコンピュータ４０が接続されている。教示操作盤２０は基本的には、上述した実施形態で用いたもの同じものであるが、３Ｄグラフィック表示に関連したデータの記憶、取扱い、計算等について若干の違いがある。
【００４２】
即ち、図１２に示したシステム構成では、３Ｄグラフィック表示に関連したデータの記憶、取扱い、計算等についてかなりの部分をパーソナルコンピュータ４０に担わしており、図１３のフローチャートに示した手順で手動送り座標系の設定を行なう。各ステップの要点は次のようになる。
【００４３】
ステップＴ１；例えば教示操作盤２０のキーｄを押下すると、それがロボット制御装置１を介してパーソナルコンピュータ４０に伝えられる。するとパーソナルコンピュータ４０は、ロボット１の現在位置を表わすデータ、周辺機器３０の現在状態を表わすデータ、ハンド２の開閉位置（例えば付加軸の現在位置）等をロボット制御装置１０から取得する。
【００４４】
ステップＴ２；パーソナルコンピュータ４０は、そのメモリに予め格納されたロボット、ハンド、周辺機器、ワーク等の形状データ、レイアウトデータ等ど、ステップＴ１でロボット制御装置１０から受け取ったデータに基づいて、少なくともエンドエフェクタの画像を含む３Ｄグラフィック画像を表わす信号を作成する。この信号を用いて実際にパーソナルコンピュータ４０の画面上に３Ｄグラフィック表示を行なうこともできる。
【００４５】
ステップＴ３；ステップＳ２で作成されるエンドエフェクタの画像を含む３Ｄグラフィック画像を表わす信号を、ロボット制御装置１０を介して教示操作盤２０に転送し、教示操作盤２０の画面２１上にエンドエフェクタの画像を含む３Ｄグラフィック画像を表示させる。これにより表示される画像は、上述した実施形態で表示されるものと同様である。
【００４６】
ステップＴ４；上述した実施形態で説明したと同様のやり方で、手動送り座標系の原点（エンドエフェクタの姿勢変更の中心とする点）を指定する。
ステップＴ５；ステップＴ４で指定した点の情報をロボット制御装置１０経由でパーソナルコンピュータ４０に転送する。
ステップＴ６；これを受けたパーソナルコンピュータ４０のＣＰＵは、指定した点の３次元位置を計算する。計算方法は実施形態で説明したと同様である。
【００４７】
ステップＴ７；パーソナルコンピュータ４０は、手動送り座標系の姿勢（Ｘ軸、Ｙ軸、Ｚ軸の方向）を決めるためのデータをロボット制御装置１０から受け取り、ステップＴ６で求めた３次元位置（姿勢調整中心位置）を原点とする手動送り座標系を設定する。設定された手動送り座標系の原点位置と各座標軸の方向を表わすデータは、ロボット制御装置に送られるとともに、教示操作盤にも転送され、設定された手動送り座標系が、例えば図６の如く、画面２１上に表示される。
【００４８】
ステップＴ８；手動送り座標系が設定されたら、オペレータは、教示操作盤２０のキーａ３、ａ４、ｂ３、ｂ４、ｃ３、ｃ４を使い分けて希望するエンドエフェクタ（ここではハンド２）の姿勢調整を行なう。この姿勢調整の中心点は、設定された手動送り座標系の原点となる。姿勢調整の中心点を変えたい場合には、例えば教示操作盤２０の設定解除キーｇ（図２参照）を押下して、再度、ステップＴ１以下を実行する。この作業中も、上述した実施形態と同様、画面２１にエンドエフェクタの現在姿勢、周辺機器の現在状態などがリアルタイムで表示される。但し、そのための計算とそれに基づく表示データ作成はパーソナルコンピュータ４０によって行なわれ、それが教示操作盤２０に転送され、画面２１上のグラフィック表示に利用される。
【００４９】
なお、手動送り座標系の原点位置の指定と座標系設定（ステップＴ４〜ステップＴ７）は、前述したように、２方向からの点指定とそれに基づく座標系設定（図７〜図９と関連説明参照）や、図形乃至図形要素の指定とそれに基づく座標系設定（図１０、図１１と関連説明参照）によって行なうこともできる。その他、ハンド開閉に伴う原点修正なども実行可能である。但し、そのための計算とそれに基づく表示データ作成は教示操作盤２０に代えてパーソナルコンピュータ４０内で行なわれ、表示内容を表わすデータがロボット制御装置１０を介して教示操作盤２０へ転送され、画面２１の表示に利用される。
【００５０】
更に、図１２に示したシステム構成において、ロボット１の実機とロボット制御装置１０をシステムから切り離し、パーソナルコンピュータ４０にオフラインシミュレーション装置の機能を持つものを採用するとともに、教示操作盤２０とパーソナルコンピュータ４０を直結し（あるいはロボット制御装置１０をデータ転送のみに利用し）、教示操作盤２０の操作で、ロボットの実機ではなく、パーソナルコンピュータ４０上に用意されたシミュレーションロボットを動作（画面上で動作）させるようにしても良い。その場合、上記ステップＴ１〜ステップＴ８は、図１４のフローチャートに示した手順に置き換えられる。各ステップの要点は、次の通りである。
【００５１】
ステップＵ１；教示操作盤２０のキーｄを押下すると、それがパーソナルコンピュータ４０に伝えられる。するとパーソナルコンピュータ４０は、用意された動作シミュレーション用のシミュレーションロボットが、エンドエフェクタの姿勢調整直前の位置にある状態を、エンドエフェクタ画像や周辺機器画像とともにパーソナルコンピュータ４０の画面上に３Ｄグラフィック画像で表示する。なお、表示されたシミュレーションロボットの位置、姿勢が不適当であれば、教示操作盤２０の手動送り操作で、シミュレーションロボットの位置、姿勢を姿勢調整直前にふさわしいものとする。この手動送りの座標系には、例えばシミュレーションシステム上で設定されているワールド座標系やツール座標系を指定すれば良い。
【００５２】
ステップＵ２；パーソナルコンピュータ４０は、その画像を表わす信号を教示操作盤２０に転送し、教示操作盤２０の画面２１上にエンドエフェクタの画像を含む３Ｄグラフィック画像を表示させる。これにより表示される画像は、上述した実施形態で表示されるものと同様である。
【００５３】
ステップＵ３；上述した実施形態で説明したと同様のやり方で、手動送り座標系の原点（エンドエフェクタの姿勢変更の中心とする点）を指定する。
ステップＵ４；ステップＵ３で指定した点の情報をパーソナルコンピュータ４０に転送する。
ステップＵ５；これを受けたパーソナルコンピュータ４０のＣＰＵは、指定した点の３次元位置を計算する。計算方法は実施形態で説明したと同様である。
【００５４】
ステップＵ６；パーソナルコンピュータ４０は、手動送り座標系の姿勢（Ｘ軸、Ｙ軸、Ｚ軸の方向）を決めるためのデータをシミュレーション動作のためのデータから選び（例えばツール座標系の姿勢を選択）、ステップＵ５で求めた３次元位置（姿勢調整中心位置）を原点とする手動送り座標系を設定する。設定された手動送り座標系の原点位置と各座標軸の方向を表わすデータは、パーソナルコンピュータ４０に記憶されるとともに、教示操作盤にも転送され、設定された手動送り座標系が、例えば図６の如く、画面２１上に表示される。
【００５５】
ステップＵ７；手動送り座標系が設定されたら、オペレータは、教示操作盤２０のキーａ３、ａ４、ｂ３、ｂ４、ｃ３、ｃ４を使い分けて希望するエンドエフェクタ（ここではシミュレーションロボットに装着された仮想的なハンド２）の姿勢調整を行なう。この姿勢調整の中心点は、設定された手動送り座標系の原点となる。姿勢調整の中心点を変えたい場合には、例えば教示操作盤２０の設定解除キーｇ（図２参照）を押下して、再度、ステップＵ１以下を実行する。この作業中も、上述した実施形態と同様、画面２１にエンドエフェクタの現在姿勢、周辺機器の現在状態などがリアルタイムで表示される。但し、そのための計算とそれに基づく表示データ作成はパーソナルコンピュータ４０によって行なわれ、それが教示操作盤２０に転送され、画面２１上のグラフィック表示に利用される。
【００５６】
なお、手動送り座標系の原点位置の指定と座標系設定（ステップＵ３〜ステップＵ６）は、前述したように、２方向からの点指定とそれに基づく座標系設定（図７〜図９と関連説明参照）や、図形乃至図形要素の指定とそれに基づく座標系設定（図１０、図１１と関連説明参照）によって行なうこともできる。その他、ハンド開閉に伴う原点修正なども実行可能である。但し、そのための計算とそれに基づく表示データ作成は、パーソナルコンピュータ４０内で行なわれ、表示内容を表わすデータが教示操作盤２０へ転送され、画面２１の表示に利用される。
【図面の簡単な説明】
【００５７】
【図１】本発明の１つの実施形態における全体システム構成の概要を示した図である。
【図２】実施形態で使用される教示操作盤について説明する図である。
【図３】実施形態における手順の流れを記したフローチャートである。
【図４】ハンド開閉に応じた手動送り座標系の原点位置修正の処理について説明するフローチャートである。
【図５】手動送り座標系原点位置を画面上での指定の仕方の例を示す図である。
【図６】図５に示した指定方法で手動送り座標系の原点を指定された手動送り座標系の表示例を示す図である。
【図７】＋Ｚ方向の視線による３Ｄ表示画面上での原点指定について説明する図である。
【図８】＋Ｘ方向の視線による３Ｄ表示画面上での原点指定について説明する図である。
【図９】図７及び図８に示した指定方法で手動送り座標系の原点を指定された手動送り座標系の表示例を示す図である。
【図１０】３Ｄ表示画面上で円弧を指定して、手動送り座標系の原点を定める手法について説明する図である。
【図１１】図１０に示した指定方法で手動送り座標系の原点を指定された手動送り座標系の表示例を示す図である。
【図１２】本発明の実施形態における全体システム構成の変形例の概要を示した図である。
【図１３】図１２に示したシステム構成を採用した場合における手順の流れを例記したフローチャートである。
【図１４】シミュレーションロボットに対して手動送りを行なう例において、手順の流れを例記したフローチャートである。
【符号の説明】
【００５８】
１  ロボット（機構部）
２  ハンド（エンドエフェクタ）
１０  ロボット制御装置
２０  教示操作盤
３０  周辺機器（ワーク搬送装置）
３１，３２  治具
３３  円弧（穴）
【図１】
0003708097.tif 000002
【図２】
0003708097.tif 000003
【図３】
0003708097.tif 000004
【図４】
0003708097.tif 000005
【図５】
0003708097.tif 000006
【図６】
0003708097.tif 000007
【図７】
0003708097.tif 000008
【図８】
0003708097.tif 000009
【図９】
0003708097.tif 000010
【図１０】
0003708097.tif 000011
【図１１】
0003708097.tif 000012
【図１２】
0003708097.tif 000013
【図１３】
0003708097.tif 000014
【図１４】
0003708097.tif 000015