(57)【要約】【課題】操作性の向上を図る。【解決手段】ロボット操作装置４０は、ユーザからのタッチ操作及び移動操作の入力を受けるタッチパネル４２１と、タッチパネル４２１に対するタッチ操作及び移動操作を検出可能な操作検出部４６と、操作検出部の検出結果に基づいてロボット２０、３０を動作させるための動作指令を生成する動作指令生成部４７と、を備える。動作指令生成部は、タッチパネル上に設定された操作図形５１、５２、５３、５４、６１、６２、６３の回転円周方向への移動操作を操作検出部が検出した場合に、その移動操作の操作速度Ｖｄに基づいてロボットの動作速度Ｖｒを決定する動作速度決定処理を行うことができる。【選択図】図１１
2016175178.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからのタッチ操作及び移動操作の入力を受けるタッチパネルと、
前記タッチパネルに対する前記タッチ操作及び前記移動操作を検出可能な操作検出部と、
前記操作検出部の検出結果に基づいてロボットを動作させるための動作指令を生成する動作指令生成部と、を備え、
前記動作指令生成部は、前記タッチパネル上に設定された操作図形に対して前記移動操作が行われたことを前記操作検出部が検出した場合に、その移動操作の操作速度に基づいて前記ロボットの動作速度を決定する動作速度決定処理を行うことができる、
ロボット操作装置。
【請求項２】
前記動作指令生成部は、
前記移動操作の操作方向が前記操作図形の回転円周方向に対して正方向である場合に前記ロボットの動作方向を正方向に決定し、前記移動操作の操作方向が前記操作図形の回転円周方向に対して負方向である場合に前記ロボットの動作方向を負方向に決定する動作方向決定処理を行うことができる、
請求項１に記載のロボット操作装置。
【請求項３】
前記操作図形は、前記ロボットの駆動軸又は駆動軸の組み合わせによる前記ロボットの動作態様が割り当てられた領域である選択領域を複数有し、
前記動作指令生成部は、前記操作検出部が前記選択領域に対するタッチ操作を検出した場合に、タッチ操作された前記選択領域に割り当てられた動作態様を前記ロボットの動作態様に決定する動作態様決定処理を行うことができる、
請求項１又は２に記載のロボット操作装置。
【請求項４】
図形の表示が可能なディスプレイと、
前記ディスプレイの表示内容を制御する表示制御部と、を更に備え、
前記表示制御部は、前記操作図形を前記ディスプレイに表示させる操作図形表示処理を行うことができる、
請求項１から３のいずれか一項に記載のロボット操作装置。
【請求項５】
前記操作図形表示処理は、前記移動操作による現在位置の移動に合わせて前記操作図形を回転させて前記ディスプレイに表示させる処理を含んでいる、
請求項４に記載のロボット操作装置。
【請求項６】
前記動作速度決定処理は、前記操作図形上に設定された回転中心に対する前記移動操作の角速度に基づいて前記ロボットの動作速度を決定するものである、
請求項１から５のいずれか一項に記載のロボット操作装置。
【請求項７】
前記動作速度決定処理は、前記操作検出部が前記操作図形上の前記回転中心付近に設けられた領域である無効領域に対する前記移動操作を検出した場合に前記無効領域内における前記移動操作を無効であると判断する処理を含む、
請求項６に記載のロボット操作装置。
【請求項８】
前記動作速度決定処理は、前記操作図形上に設定された回転中心に対する前記移動操作の周速度に基づいて前記ロボットの動作速度を決定するものである、
請求項１から７のいずれか一項に記載のロボット操作装置。
【請求項９】
前記動作速度決定処理は、
前記移動操作の入力が終了して次の前記移動操作が入力されていない期間において前記ロボットの動作速度を徐々に減速させる減速処理を含んでいる、
請求項１から８のいずれか一項に記載のロボット操作装置。
【請求項１０】
前記動作速度決定処理は、
前記移動操作の入力が終了してから前記減速処理が開始されるまでの所定期間において前記移動操作の入力が終了する直前の前記ロボットの動作速度を維持する速度維持処理を更に含んでいる、
請求項９に記載のロボット操作装置。
【請求項１１】
前記動作指令生成部は、
先の移動操作に基づく前記速度維持処理を行っている最中に次の移動操作が入力された場合に、次の移動操作の操作速度が先の移動操作の操作速度に対して所定範囲内であれば、前記ロボットの動作速度を先の移動操作の操作速度に基づく値に維持し、次の移動操作の操作速度が先の移動操作の操作速度に対して所定範囲外であれば、前記ロボットの動作速度を次の移動操作の操作速度に基づいて決定する処理を行うことができる、
請求項１０に記載のロボット操作装置。
【請求項１２】
前記動作指令生成部は、
前記ロボットの動作中に前記操作図形に対してタッチ操作が所定期間以上行われた場合に前記ロボットを停止させる停止処理を行うことができる、
請求項９から１１のいずれか一項に記載のロボット操作装置。
【請求項１３】
前記動作指令生成部は、
前記停止処理を実行するためのタッチ操作が行われた時点から前記ロボットが移動した場合に前記タッチ操作が行われた時点の前記ロボットの位置まで前記ロボットを移動させる補正処理を行うことができる、
請求項１２に記載のロボット操作装置。
【請求項１４】
ユーザからのタッチ操作及び移動操作の入力を受けるタッチパネルと、
前記タッチパネルに対する前記タッチ操作、前記移動操作を検出可能な操作検出部と、
前記操作検出部の検出結果に基づいてロボットを動作させるための動作指令を生成する動作指令生成部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
前記タッチパネル上に設定された操作図形に対する前記移動操作を前記操作検出部が検出した場合に、その移動操作の操作速度に基づいて前記ロボットの動作速度を決定する動作速度決定処理、
を実行させることができるロボット操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを手動操作する際に用いられるロボット操作装置、及びそのロボット操作装置に用いられるロボット操作プログラムに関する。
【背景技術】
【０００２】
例えば産業用のロボットシステムでは、ロボットを手動で動作させるマニュアル動作が可能である。マニュアル動作は、例えば教示作業（ティーチング）などを行う際に利用される。この場合、ユーザは、ロボットを制御するコントローラに接続されたティーチングペンダントなどを用いて、手動でロボットの操作（手動操作又はマニュアル操作と称する）を行うことになる。
【０００３】
ティーチングペンダントの多くは、タッチ操作が可能なタッチパネルを備えている。そして、タッチパネルを備えたティーチングペンダントの中には、ユーザが、いわゆるドラッグ操作と称される操作、すなわちタッチパネル上を指や専用のペン等でなぞるような操作を行うことで、ロボットのマニュアル操作を行うことができるものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２６２８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、タッチパネルに対するドラッグ操作は、平坦なタッチパネル上をユーザの指等でなぞる操作であるため、機械的な操作キーを操作する場合における操作キーの押圧や傾倒等といった物理的な変化が無い。そのため、ユーザは、タッチパネルに対してドラッグ操作を行うティーチングペンダントにおいては、機械的な操作キーを操作するものに比べて、操作感覚を得にくく、直感的な操作がし難い。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、タッチパネルにドラッグ操作を入力してロボットの手動操作を行うものにおいて、直感的な操作を可能にしてユーザの操作性の向上を図ることができるロボット操作装置、及びそのロボット操作装置に用いられるロボット操作プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
（請求項１）
請求項１に記載のロボット操作装置は、ユーザからのタッチ操作及び移動操作の入力を受けるタッチパネルと、前記タッチパネルに対する前記タッチ操作及び前記移動操作を検出可能な操作検出部と、前記操作検出部の検出結果に基づいてロボットを動作させるための動作指令を生成する動作指令生成部と、を備える。つまり、ロボット操作装置は、ロボットの手動操作をタッチ操作及び移動操作により実現するものである。
【０００８】
ここで、タッチ操作とは、ユーザの指やペンデバイス等（以下、指等と称する）でタッチパネルに触るつまりタッチする操作を言う。また、移動操作とは、ユーザの指等によって行われる操作のうちドラッグ操作又はフリック操作を意味する。この場合、ドラッグ操作とは、タッチ操作に続けて行われるもので、ユーザの指等を、タッチパネルを触った状態のままその指等をタッチパネル上に沿って移動させる操作を言う。また、フリック操作とは、タッチ操作に続けて行われるもので、ユーザの指でタッチパネル上を弾くように移動させる操作を言う。すなわち、ドラッグ操作及びフリック操作は、ユーザの指等がタッチパネルに接触した状態で一定距離連続して移動させる操作であり、その移動距離や移動時間によって、ドラッグ操作であるかフリック操作であるかが区別される。
【０００９】
また、このロボット操作装置において、動作指令生成部は、動作速度決定処理を行うことができる。動作速度決定処理は、タッチパネル上に設定された操作図形の回転円周方向への移動操作を操作検出部が検出した場合に、その移動操作の操作速度に基づいてロボットの動作速度を決定する処理である。ここで、操作図形に対する移動操作としては、例えば操作図形の回転円周方向へのドラッグ操作がある。操作図形の回転円周方向とは、操作図形の任意の点を回転中心にして操作図形を仮想的に回転させた場合において、回転中心とは異なる操作図形上の任意の点の軌跡によって描かれる円の円周方向を意味する。
【００１０】
この構成において、ロボットの動作速度は、タッチパネル上に設定された操作図形に対する移動操作が行われた場合に、その移動操作の操作速度に基づいて決定される。すなわち、ロボットの動作速度は、例えば操作図形の回転円周方向への移動操作つまりドラッグ操作又はフリック操作が行われた場合に、その移動操作の操作速度に基づいて決定される。したがって、ユーザは、例えばタッチパネル上に設定された操作図形に対して円を描くように移動操作を行うことで、その移動操作つまりの操作速度に応じた動作速度でロボットを動作させ続けることができる。例えば、ユーザが操作図形の回転円周方向に沿って速い速度で円を描くように移動操作をし続けた場合には、ロボットは、その速い操作速度に対応した速い動作速度で動作し続ける。一方、ユーザが操作図形の回転円周方向に沿って遅い速度で円を描くように移動操作をし続けた場合には、ロボットは、その遅い操作速度に対応した遅い動作速度で動作し続ける。そして、ユーザが移動操作を停止すれば、ロボットも停止する。
【００１１】
この様に、本実施形態のロボット操作装置によれば、ユーザは、例えば円を描くように自己の指等を動かし続けることによって、ロボットを動作させ続けることができ、自己の指等を止めることによって、ロボットを停止させることができる。そして、ユーザは、自己の指等の移動速度を調整することで、ロボットの動作速度を調整することができる。これにより、ユーザは、自己の移動操作つまりドラッグ操作又はフリック操作による指等の動きと、ロボットの動作とが関連しているとの印象を受け易い。したがって、ユーザは、自己が行っている移動操作と、その移動操作によって行われるロボットの動作との関連性を直接的で直感的に判断することができ、その結果、ユーザの操作性の向上を図ることができる。
【００１２】
更に、本実施形態のロボット操作装置によれば、ユーザがタッチパネル上で円を描くように継続して移動操作を行うことで、ロボットの動作を継続させることができる。このため、ユーザは、タッチパネルの画面サイズに制限されずに、ロボットを動作させるための移動操作を継続することができる。したがって、タッチパネルの画面サイズに制限されてドラッグ操作が継続できなくなることにより、ロボットの動作が不本意に停止されること等を回避することができる。これにより、操作性の向上が図られる。そして、ロボットを動作させるための移動操作の継続は、タッチパネルの画面サイズに制限されないため、タッチパネルを小型化することができる。
【００１３】
（請求項２）
請求項２に記載のロボット操作装置において、動作指令生成部は、動作方向決定処理を行うことができる。動作方向決定処理は、移動操作の操作方向が操作図形の回転円周方向に対して正方向である場合にロボットの動作方向を正方向に決定し、移動操作の操作方向が操作図形の回転円周方向に対して負方向である場合にロボットの動作方向を負方向に決定する処理である。これによれば、ロボットの動作方向は、操作図形の回転円周方向に対する移動操作の操作方向によって決定される。
【００１４】
すなわち、操作図形の回転円周方向へのド移動操作において、その移動操作の操作方向は、操作図形の回転円周方向に対する正負方向のいずれか一方となる。したがって、ユーザが操作図形の回転円周方向への移動操作を行うことで、ロボットの動作方向の正負方向が必然的に決定される。これにより、ユーザは、ロボットの動作方向を決定するための操作を別途行う必要が無くなり、一連の移動操作によって、ロボットの動作方向を決定する操作と動作速度を決定する操作との両方を行うことができる。その結果、操作の手数を削減することができて操作性の向上が図られる。
【００１５】
（請求項３）
請求項３に記載のロボット操作装置において、操作図形は、複数の選択領域を有している。選択領域は、ロボットの駆動軸又は駆動軸の組み合わせによるロボットの動作態様が割り当てられた領域である。動作指令生成部は、動作態様決定処理を行うことができる。動作態様決定処理は、操作検出部が選択領域に対するタッチ操作を検出した場合に、タッチ操作された選択領域に割り当てられた動作態様をロボットの動作態様に決定する処理である。
【００１６】
これによれば、ユーザは、操作図形の選択領域をタッチ操作することで、ロボットの動作態様を選択することができる。すなわち、ロボットの動作速度を決定する移動操作つまりドラッグ操作又はフリック操作を行う際には、そのドラッグ操作又はフリック操作の前に必ずタッチパネルに対するタッチ操作が行われる。本実施形態のロボット操作装置によれば、ユーザは、ロボットの動作速度を決定するために必ず行われるタッチ操作によって、ロボットの動作態様を選択することができる。したがって、ロボットの動作態様を選択するための操作を削減することができ、その結果、操作の手数を削減して操作性の向上が図られる。
【００１７】
（請求項４）
請求項４に記載のロボット操作装置は、図形の表示が可能なディスプレイと、ディスプレイの表示内容を制御する表示制御部と、を更に備えている。表示制御部は、操作図形表示処理を行うことができる。操作図形表示処理は、操作図形をディスプレイに表示させる処理である。これによれば、ユーザは、ディスプレイに表示された操作図形を目安に移動操作を行うことができるため、どの方向へ移動操作を行えばよいか等の判断がし易くなる。その結果、操作性が更に向上する。
【００１８】
（請求項５）
請求項５のロボット操作装置において、操作図形表示処理は、移動操作の現在位置の移動に合わせて操作図形を回転させてディスプレイに表示させる処理を含んでいる。これによれば、ユーザは、自己の移動操作に伴って回転する操作図形を見ることで、自己の移動操作が適切に行われているか否か等を、目視で容易に確認することができる。その結果、更に直感的な操作が可能になり、ユーザの操作感覚の更なる向上を図ることができる。
【００１９】
（請求項６）
請求項６のロボット操作装置において、動作速度決定処理は、操作図形上に設定された回転中心に対する移動操作の角速度に基づいてロボットの動作速度を決定するものである。すなわち、ある点を中心点にして円を描くように移動操作を行う場合、移動操作に係る操作位置が中心点から遠くなるほど、つまり移動操作により描く円又は円弧の径が大きくなるほど、移動操作の周方向の移動距離に対する回転角度は小さくなる。すなわち、移動操作により描く円又は円弧の径が大きくなるほど、移動操作の回転中心に対する円周方向の速度つまり周速度の増減に伴って変化する移動操作の角速度の変化量は小さくなる。
【００２０】
例えば、ユーザが大きな径の円を描くような移動操作を行った場合、その移動操作に係る周方向の移動距離が長くても、回転角度は小さくなる。換言すれば、ユーザは、大きな径の円又は円弧を描くような移動操作を行うことで、速い周速度で遅い角速度が得られる。これは、ロボットの手先位置の微調整つまり微動を行う際に有利である。この場合、ユーザは、移動操作の移動速度の増減によって変化するロボットの動作速度の変化量を、より小さくすることができるからである。すなわち、移動操作の周速度を一定とした場合、ユーザは、小さな径の円を描くような移動操作を行う場合に比べて、大きな径の円又は円弧を描くように移動操作を行うことで、より遅い動作速度でロボットを動作させることができる。
【００２１】
一方、ユーザが小さな径の円又は円弧を描くような移動操作を行った場合、その移動操作に係る周方向の移動距離が短くても、回転角度は大きくなる。換言すれば、ユーザは、小さな径の円又は円弧を描くような移動操作を行うことで、遅い周速度で速い角速度が得られる。これは、ロボットの手先位置を大きく移動させるつまり粗動の際に有利である。この場合、ユーザは、移動操作の移動速度の増減によって変化するロボットの動作速度の変化量を、より大きくすることができるからである。すなわち、例えばドラッグ操作の周速度を一定とした場合、ユーザは、大きな径の円を描くようなドラッグ操作を行う場合に比べて、小さな径の円を描くようにドラッグ操作を行うことで、より早い動作速度でロボットを動作させることができる。
【００２２】
このように、本ロボット操作装置によれば、ユーザは、操作図形上の回転中心から移動操作の操作位置までの距離を調整して移動操作を行うことで、つまり移動操作で描く円又は円弧の径の大きさを調整することで、移動操作の周方向の操作速度の増減によって変化するロボットの動作速度の変化量を調整することができる。これにより、ユーザは、ロボットの微動と粗動とを使い分けることが容易になり、操作性の更なる向上を図ることができる。
【００２３】
（請求項７）
請求項７のロボット操作装置において、動作速度決定処理は、操作検出部が操作図形上の回転中心付近に設けられた領域である無効領域に対する移動操作を検出した場合に無効領域内における移動操作を無効であると判断する処理を含んでいる。すなわち、上述したように移動操作の角速度に基づいてロボットの動作速度を決定するものにおいては、移動操作の操作位置が回転中心に近づくほど、移動操作の周速度の増減によって変化するロボットの動作速度の変化量が大きくなる。したがって、移動操作の操作位置が回転中心付近である場合、ユーザの僅かな移動操作がロボットの動作に大きく反映されてしまうため、ロボットの動作がユーザの意図しない大きなものになり易くなる。
【００２４】
これに対し、本ロボット操作装置によれば、操作図形の回転中心付近に、無効領域が設定されている。そして、その無効領域に対する移動操作は無効と判断される。この場合、移動操作の入力が無いと判断されてロボットの動作が停止する。したがって、移動操作の操作位置が回転中心付近となってしまった場合に、ロボットを停止させるというより安全側に作用させることにより、ユーザの僅かな移動操作がロボットの動作に大きく反映されてしまうことを防ぐことができる。したがって、ユーザの意図に反してロボットの動作が大きくなり過ぎるという事態を極力防ぐことができ、その結果、安全性の向上を図ることができる。
【００２５】
（請求項８）
請求項８のロボット操作装置において、動作速度決定処理は、操作図形上に設定された回転中心に対する移動操作の周速度に基づいてロボットの動作速度を決定するものである。すなわち、上述したように移動操作の角速度に基づいてロボットの動作速度を決定するものにおいては、ロボットの動作速度は、移動操作の操作位置と周速度によって決定する。したがって、ユーザは、ロボットの動作速度を決定するために、移動操作の操作位置と周速度との２つの値を調整しなければならない。この場合、熟練者であれば、移動操作の操作位置と周速度との２つの値を同時に調整することは比較的容易である。しかし、初心者においては、移動操作の操作位置と周速度との２つの値を同時に調整することは比較的難しい。
【００２６】
例えば、移動操作の角速度に基づいてロボットの動作速度を決定するものにおいては、移動操作の周速度が一定であっても、移動操作によって描く円や円弧の大きさや回転中心から移動操作の操作位置までの距離が変化することによって、ロボットの動作速度が変わる。そのため、例えばユーザがロボットを一定速度で動作させようとして一定の周速度で移動操作を行っていた場合であっても、その移動操作によって実際に描かれている円や円弧の径が変化したり、その円や円弧の中心が操作図形上に設定された回転中心からずれたりすると、回転中心から移動操作の操作位置までの距離が変化することになる。この場合、ロボットの動作速度が変化することになり、一定速度でロボットを動作させようとするユーザの意図に反する動作が生じ易くなる。
【００２７】
これに対し、本ロボット操作装置によれば、ロボットの動作速度は、操作図形上に設定された回転中心に対する移動操作の周速度に基づいて決定される。すなわち、移動操作の周速度がそのままロボットの動作速度に反映される。したがって、ユーザは、回転中心から移動操作の操作位置までの距離、つまり移動操作によって描く円又は円弧の径や回転中心に対するずれを気にせずに、移動操作を行うことができる。したがって、初心者でも比較的操作が容易になり、その結果、上述した移動操作の周速度に基づいてロボットの動作速度を決定するロボット操作装置とは異なった観点において操作性の向上を図ることができる。
【００２８】
（請求項９）
請求項９のロボット操作装置において、前記動作速度決定処理は、減速処理を含んでいる。減速処理は、前記移動操作の入力が終了して次の前記移動操作が入力されていない期間において前記ロボットの動作速度を徐々に減速させる処理である。この場合、「ロボットの動作速度を徐々に減速させる」とは、例えば操作図形が実態を有するものであり、その操作図形の回転に慣性力及び摩擦力が作用していると仮定した場合において、操作図形に対して何ら操作が行わられなくなってから操作図形の回転が停止するまでの回転速度の減少割合と同程度の割合による減速を意味する。そのため、「徐々に減速」における減速の程度は、移動操作の入力が終了する直前のロボットの動作速度に応じて変化する。
【００２９】
この構成は、移動操作がフリック操作である場合により適している。すなわち、これによれば、フリック操作の入力が終了しても、ロボットの動作速度は徐々に減速される。この場合、ロボットは、フリック操作の入力が終了した直後に急に停止することがなく、フリック操作の入力が終了からある程度の期間動作し続ける。したがって、ユーザは、例えば小刻みにフリック操作を繰り返すことで、ロボットを完全に停止させることなく連続して動作させ続けることができる。これによれば、タッチパネル上の限られた領域を有効に使用できる。すなわち、移動操作に要するタッチパネル上の領域を小さくすることができ、その結果、ロボット操作装置の小型化を図ることができる。また、ユーザは、例えば小刻みなフリック操作によりロボットを操作することができるため、移動操作の際の指等の移動量を削減することができる。その結果、操作性が向上するとともにユーザの負担を軽減することができる。
【００３０】
（請求項１０）
ここで、移動操作の入力が終了した直後から上述した減速処理を開始すると、複数回の移動操作を入力する場合に次のような問題が生じる。すなわち、この場合、先の移動操作の入力が終了してから次の移動操作が入力されるまでの期間に、ロボットの動作速度は上述した減速処理によって減速してしまう。そのため、ロボットの動作速度にばらつきが生じ易くなり、ロボットの動作が不安定になり易くなる。
【００３１】
一方、請求項１０のロボット操作装置によれば、前記動作速度決定処理は、速度維持処理を更に含んでいる。速度維持処理は、前記移動操作の入力が終了してから前記減速処理が開始されるまでの所定期間において前記移動操作の入力が終了する直前の前記ロボットの動作速度を維持する処理である。すなわち、ユーザは、速度維持処理が行われている所定期間内に次の移動操作を入力することで、次の移動操作の入力前にロボットが減速処理によって減速してしまうことを防ぐことができる。その結果、例えばフリック操作を連続して行う場合であっても、ロボットの動作速度にばらつきが生じることを抑制でき、ロボットの動作速度の安定性の向上が図られる。また、これによれば、各フリック操作の間隔を比較的長くしてもロボットの動作速度を一定に維持し易い。そのため、フリック操作の回数を低減することができ、その結果、ユーザの負担を減らすことができる。そして、更には、速度維持処理が所定期間行われた後は、上述した減速処理が行われる。そのため、移動操作が行われなくなってから所定期間が経過すると、ロボットは減速して停止するため安全である。
【００３２】
（請求項１１）
請求項１１のロボット操作装置において、前記動作指令生成部は、先の移動操作に基づく前記速度維持処理を行っている最中に次の移動操作が入力された場合に、次の移動操作の操作速度が先の移動操作の操作速度に対して所定範囲内であれば、前記ロボットの動作速度を先の移動操作の操作速度に基づく値に維持し、次の移動操作の操作速度が先の移動操作の操作速度に対して所定範囲外であれば、前記ロボットの動作速度を次の移動操作の操作速度に基づいて決定する処理を行うことができる。
【００３３】
すなわち、一定速度で継続してロボットを動作させるためには、ユーザは、複数回のフリック操作を入力する必要がある。この場合、各フリック操作の操作速度にはばらつきが生じるものであり、各フリック操作の操作速度を一定に維持することは困難である。この場合、各フリック操作の操作速度に基づいてロボットの動作速度を決定すると、ロボットの動作速度は、各フリック操作の操作速度のばらつきの影響を受けて変動するため、不安定になり易い。
【００３４】
そこで、本構成によれば、動作指令生成部は、次の移動操作の操作速度が所定範囲内であれば、先の移動操作に基づいて決定されたロボットの動作速度を引き継ぐようにしている。これによれば、各フリック操作の操作速度がある程度ばらついていても所定範囲内に収まっていれば、ロボットの動作速度を一定に維持することができる。したがって、各移動操作の操作速度のばらつきを吸収することができ、その結果、ロボットの動作の安定性を向上させることができる。また、例えばユーザが所定範囲外となる操作速度の移動操作を入力することで、ロボットの動作速度を変更することができる。したがって、これによれば、移動操作の操作速度のばらつきを吸収しつつ柔軟な操作が可能になり、その結果、操作性の向上が図られる。
【００３５】
（請求項１２）
請求項１２に記載のロボット操作装置において、前記動作指令生成部は、停止処理を行うことができる。停止処理は、前記ロボットの動作中に前記操作図形に対してタッチ操作が所定期間以上行われた場合に前記ロボットを停止させる処理である。これによれば、ユーザは、減速処理中又は速度維持処理中でロボットが動作している最中であっても、操作図形に対してタッチ操作を所定期間以上行うことで、減速処理による停止を待つことなくロボットの動作を停止させることができる。したがって、ユーザは、任意のタイミングでロボットの動作を停止させることができ、その結果、安全性や操作性がより向上する。
【００３６】
（請求項１３）
請求項１３に記載のロボット操作装置において、前記動作指令生成部は、補正処理を行うことができる。補正処理は、前記停止処理を実行するためのタッチ操作が行われた時点から前記ロボットが移動した場合に前記タッチ操作が行われた時点の前記ロボットの位置まで前記ロボットを移動させる処理である。すなわち、ロボットの動作を停止させるためにユーザがタッチ操作を入力してから実際にロボットの動作が停止するまでにはある程度の期間を要する。この場合、ロボットは、ユーザの意図した停止位置を超えて移動することになる。つまり、ユーザが意図したロボットの停止位置と、実際のロボットの停止位置とがずれることになる。そこで、本構成によれば、タッチ操作が行われた時点からロボットが移動した場合であっても、補正処理によって、タッチ操作が行われた時点のロボットの位置までロボットを戻すことができる。したがって、ユーザが意図したロボットの停止位置と、実際のロボットの停止位置とのずれを補正することができ、その結果、操作性の更なる向上が図られる。
【００３７】
（請求項１４）
請求項１４に記載のロボット操作プログラムは、請求項１に記載のロボット操作装置を実現するものである。このロボット操作プログラムを、例えばタッチパネルディスプレイを備える汎用のタブレットＰＣやスマートフォン等によって実行することで、汎用のタブレットＰＣやスマートフォン等に、上述したロボット操作装置としての機能を付加することができる。
【図面の簡単な説明】
【００３８】
【図１】第１実施形態について、４軸型の水平多関節ロボットを用いたロボットシステムの一例を示す全体構成図
【図２】第１実施形態について、６軸型の垂直多関節ロボットを用いたロボットシステムの一例を示す全体構成図
【図３】第１実施形態によるティーチングペンダントの電気的構成の一例を示すブロック図
【図４】第１実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート（その１）
【図５】第１実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート（その２）
【図６】第１実施形態について、４軸ロボットの手先系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図７】第１実施形態について、４軸ロボットの各軸系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図８】第１実施形態について、６軸ロボットの手先系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図９】第１実施形態について、６軸ロボットの各軸系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図１０】第１実施形態について、操作図形の選択領域に対してタッチ操作を行った場合にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図１１】第１実施形態について、操作図形に対して正方向へドラッグ操作を行った場合にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図１２】第１実施形態について、操作図形に対して負方向へドラッグ操作を行った場合にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図１３】第１実施形態について、ドラッグ操作の周速度と角速度との関係を示す図
【図１４】第１実施形態について、ドラッグ操作の角速度とロボットの動作速度との相関関係の一例を示す図
【図１５】第１実施形態について、ドラッグ操作の角速度とロボットの動作速度との相関関係について図１４とは異なる他の例を示す図
【図１６】第１実施形態について、４軸ロボットの手動操作を行う際にタッチパネルディスプレイに表示される操作図形について、図６及び図７とは異なる他の例を示す図
【図１７】第１実施形態について、６軸ロボットの手動操作を行う際にタッチパネルディスプレイに表示される操作図形について、図８及び図９とは異なる他の例を示す図
【図１８】第１実施形態について、ロボットの動作態様をボタンによって決定する場合の例を示す図
【図１９】第３実施形態について、４軸ロボットの手先系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図２０】第３実施形態において、手動操作により動作可能なロボットの移動方向の一例を示す図
【図２１】第４実施形態を示について、操作図形に対する正方向への移動操作の入力終了後にタッチパネルディスプレイに表示される操作図形の一例を示す図
【図２２】第４実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート（その１）
【図２３】第４実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート（その２）
【図２４】第４実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート（その３）
【図２５】第４実施形態について、移動操作の操作速度とロボットの動作速度との関係を示す図（その１）
【図２６】第４実施形態について、移動操作の操作速度とロボットの動作速度との関係を示す図（その２）
【図２７】第５実施形態について、移動操作の操作速度とロボットの動作速度との関係を示す図
【図２８】他の実施形態について、ロボットの手先系の手動操作を行う際にタッチパネルディスプレイに表示される操作図形の一例を示す図
【発明を実施するための形態】
【００３９】
以下、本発明の複数の実施形態について説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
【００４０】
（第１実施形態）
以下、本発明の第１実施形態について図１〜図１８を参照しながら説明する。
図１及び図２は、一般的な産業用ロボットのシステム構成を示している。ロボットシステム１０は、例えば図１に示す４軸型の水平多関節ロボット２０（以下、４軸ロボット２０と称する）や、図２に示す６軸型の垂直多関節ロボット３０（以下、６軸ロボット３０と称する）等を動作させるものである。なお、ロボットシステム１０の動作対象となるロボットは、上述の４軸ロボット２０や６軸ロボット３０に限られない。
【００４１】
まず、図１に示す４軸ロボット２０の概略構成について説明する。４軸ロボット２０は、固有のロボット座標系（Ｘ軸、Ｙ軸およびＺ軸からなる三次元直交座標系）に基づいて動作する。本実施形態において、ロボット座標系は、ベース２１の中心を原点Ｏとし、作業台Ｐの上面をＸ−Ｙ平面とし、そのＸ−Ｙ平面と直交する座標軸をＺ軸として定義されている。作業台Ｐの上面は、４軸ロボット２０を設置するための設置面である。この場合、その設置面が動作基準面に相当する。なお、動作基準面としては、設置面に限らずともよく、任意の平面であってもよい。
【００４２】
４軸ロボット２０は、ベース２１、第１アーム２２、第２アーム２３、シャフト２４、及びフランジ２５を有している。ベース２１は、作業台Ｐの上面（以下、設置面とも称す）に固定される。第１アーム２２は、ベース２１の上部に対して、Ｚ軸（垂直軸）方向の軸心を持つ第１軸Ｊ２１を中心に水平方向に回転可能に連結されている。第２アーム２３は、第１アーム２２の先端部の上部に対して、Ｚ軸方向の軸心を持つ第２軸Ｊ２２を中心に回転可能に連結されている。シャフト２４は、第２アーム２３の先端部に対して、上下動可能で且つ回転可能に設けられている。また、シャフト２４を上下動させる際の軸が第３軸Ｊ２３であり、シャフト２４を回転させる際の軸が第４軸Ｊ２４である。フランジ２５は、シャフト２４の先端部つまり下端部に着脱可能に取り付けられている。
【００４３】
ベース２１、第１アーム２２、第２アーム２３、シャフト２４、及びフランジ２５は、４軸ロボット２０のアームとして機能する。アーム先端であるフランジ２５には、図示はしないが、エンドエフェクタ（手先）が取り付けられる。例えば４軸ロボット２０を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。４軸ロボット２０に設けられる複数の軸（Ｊ２１〜Ｊ２４）はそれぞれに対応して設けられるモータ（図示せず）により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器（図示せず）が設けられている。
【００４４】
次に、図２に示す６軸ロボット３０の概略構成について説明する。６軸ロボット３０も、４軸ロボット２０と同様に、固有のロボット座標系（Ｘ軸、Ｙ軸およびＺ軸からなる三次元直交座標系）に基づいて動作する。６軸ロボット３０は、ベース３１、ショルダ部３２、下アーム３３、第１上アーム３４、第２上アーム３５、手首３６、及びフランジ３７を有している。ベース３１は、作業台Ｐの上面に固定される。ショルダ部３２は、ベース３１の上部に対して、Ｚ軸（垂直軸）方向の軸心を持つ第１軸Ｊ３１を中心に水平方向に回転可能に連結されている。下アーム３３は、ショルダ部３２に対して上方へ延びるように設けられている。下アーム３３は、ショルダ部３２に対して、Ｙ軸方向の軸心を持つ第２軸Ｊ３２を中心に垂直方向に回転可能に連結されている。
【００４５】
第１上アーム３４は、下アーム３３の先端部に対して、Ｙ軸方向の軸心を持つ第３軸Ｊ３３を中心に垂直方向に回転可能に連結されている。第２上アーム３５は、第１上アーム３４の先端部に対して、Ｘ軸方向の軸心を持つ第４軸Ｊ３４を中心に捻り回転可能に連結されている。手首３６は、第２上アーム３５の先端部に対して、Ｙ軸方向の軸心を持つ第５軸Ｊ２５を中心に垂直方向に回転可能に連結されている。そして、フランジ３７は、手首３６に対し、Ｘ軸方向の軸心を持つ第６軸Ｊ３６を中心に捻り回転可能に連結されている。
【００４６】
ベース３１、ショルダ部３２、下アーム３３、第１上アーム３４、第２上アーム３５、手首３６及びフランジ３７は、ロボット３０のアームとして機能する。アーム先端であるフランジ３７（手先に相当）には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。６軸ロボット３０に設けられる複数の軸（Ｊ３１〜Ｊ３６）は、と４軸ロボット２０と同様、それぞれに対応して設けられるモータ（図示せず）により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器（図示せず）が設けられている。
【００４７】
６軸ロボット３０は、各軸系の動作において、各駆動軸Ｊ３１〜Ｊ３６を個別に駆動させることができる。また、６軸ロボット３０は、手先系の動作において、４軸ロボット２０が行う得る動作に加え、その手先を、Ｚ軸とは異なる２つの軸回りに回転する動作を行うことができる。上記２つの軸とは、設置面Ｐに対して水平な互いに直交する２つの軸（Ｘ軸及びＹ軸）である。この場合、Ｘ軸回りの回転方向をＲｘ方向とし、Ｙ軸回りの回転方向をＲｙ方向としている。すなわち、６軸ロボット３０は、手先系の動作において、例えば、第１軸Ｊ３１と第２軸Ｊ３２と第３軸Ｊ３３とを組み合わせたＸ−Ｙ平面方向への動作と、第２軸Ｊ３２及び第３軸Ｊ３３を組み合わせたＺ方向への動作と、第４軸Ｊ３４によるＲｘ方向への動作と、第５軸Ｊ３５によるＲｙ方向への動作と、第６軸によるＲｚ方向への動作と、を行うことができる。
【００４８】
また、図１及び図２に示すロボットシステム１０は、ロボット２０、３０の他、コントローラ１１及びティーチングペンダント４０（ロボット操作装置に相当）を備えている。コントローラ１１は、各ロボット２０、３０を制御するものである。コントローラ１１は、接続ケーブルを介してロボット２０、３０に接続されている。ティーチングペンダント４０は、接続ケーブルを介してコントローラ１１に接続されている。コントローラ１１とティーチングペンダント４０との間では、データ通信が行われる。これにより、ユーザの操作に応じて入力される各種の操作情報が、ティーチングペンダント４０からコントローラ１１に送信される。また、コントローラ１１は、ティーチングペンダント４０に対し、各種の制御信号や表示用の信号などを送信するとともに、駆動用の電力を供給する。なお、ティーチングペンダント４０とコントローラ１１とは、無線通信によって接続されていてもよい。
【００４９】
コントローラ１１は、ティーチングペンダント４０から手動動作を指令する信号が与えられると、ロボット２０、３０を手動で動作させる制御を行う。また、コントローラ１１は、ティーチングペンダント４０から自動動作を指令する信号が与えられると、予め記憶されている自動プログラムを起動することにより、ロボット２０、３０を自動動作させる制御を行う。
【００５０】
ティーチングペンダント４０は、例えばユーザが携帯したり手に所持したりして操作可能な程度の大きさである。ティーチングペンダント４０は、例えばケース４１と、タッチパネルディスプレイ４２と、スイッチ４３と、を有している。ケース４１は、例えば薄型の略矩形箱状であって、ティーチングペンダント４０の外殻を構成している。タッチパネルディスプレイ４２は、ケース４１の表面側の大部分を占めるように設けられている。タッチパネルディスプレイ４２は、図３に示すように、タッチパネル４２１とディスプレイ４２２とを有し、これらタッチパネル４２１とディスプレイ４２２とを重ねて配置したものである。
【００５１】
タッチパネルディスプレイ４２は、タッチパネル４２１によってユーザからのタッチ操作、ドラッグ操作、及びフリック操作の入力を受けるとともに、ディスプレイ４２２によって文字や数字、記号、及び図形等の画像の表示が可能である。なお、ドラッグ操作及びフリック操作はいずれも移動操作の一態様であり、両者はユーザの指９０等がタッチパネルディスプレイ４２に接触してから離れるまでの期間つまり操作に要した時間や指９０等の移動量によって区別される。この場合、例えば操作に要した時間が所定時間よりも長ければドラッグ操作となり、短ければフリック操作となる。以下の説明では、移動操作の一例としてドラッグ操作を適用した場合について説明するが、フリック操作にも適用することができる。スイッチ４３は、例えば物理的なスイッチであり、タッチパネルディスプレイ４２の周囲に設けられている。なお、スイッチ４３は、タッチパネルディスプレイ４２に表示させたボタンで代用してもよい。ユーザは、タッチパネルディスプレイ４２やスイッチ４３を操作することで、種々の入力操作を実行する。
【００５２】
ユーザは、ティーチングペンダント４０を用いてロボット２０、３０の運転や設定などの各種機能を実行可能であり、予め記憶されている制御プログラムを呼び出して、ロボット２０、３０の起動や各種のパラメータの設定などを実行できる。また、ロボット２０、３０をマニュアル操作すなわち手動操作で動作させて各種の教示作業も実行可能である。そして、タッチパネルディスプレイ４２には、例えばメニュー画面、設定入力画面、状況表示画面などが必要に応じて表示される。
【００５３】
次に、ティーチングペンダント４０の電気的な構成について図３を参照して説明する。
ティーチングペンダント４０は、タッチパネルディスプレイ４２、スイッチ４３に加え、通信インターフェース（Ｉ／Ｆ）４４、制御部４５、操作検出部４６、動作指令生成部４７、及び表示制御部４８を有している。通信インターフェース４４は、ティーチングペンダント４０の制御部４５と、コントローラ１１とを通信可能に接続している。
【００５４】
制御部４５は、例えばＣＰＵ４５１や、ＲＯＭ、ＲＡＭ、及び書き換え可能なフラッシュメモリなどの記憶領域４５２を有するマイクロコンピュータを主体に構成されており、ティーチングペンダント４０の全体を制御する。記憶領域４５２は、ロボット操作プログラムを記憶している。制御部４５は、ＣＰＵ４５１においてロボット操作プログラムを実行することにより、操作検出部４６、動作指令生成部４７、及び表示制御部４８等を、ソフトウェアによって仮想的に実現する。なお、これら操作検出部４６、動作指令生成部４７、及び表示制御部４８は、例えば制御部４５と一体の集積回路としてハードウェア的に実現してもよい。
【００５５】
操作検出部４６は、タッチパネル４２１に対するタッチ操作及びドラッグ操作を検出することができる。操作検出部４６は、タッチ操作の検出として、ユーザの指等が、タッチパネルディスプレイ４２に接触したかどうか、及びその接触した指等の位置（タッチ位置）を検出することができる。また、操作検出部４６は、ドラッグ操作の検出として、ドラッグ操作に係る指等の現在位置、移動方向、移動速度、及び移動量を検出することができる。
【００５６】
動作指令生成部４７は、操作検出部４６の検出結果に基づいてロボット２０、３０を動作させるための動作指令を生成する。動作指令生成部４７により生成された動作指令は、通信イーターフェース４４を通じてコントローラ１１に与えられる。表示制御部４８は、スイッチ４３に対する操作や、操作検出部４６の検出結果等に基づいて、ディスプレイ４２２に表示させる表示内容を制御する。このような構成のティーチングペンダント４０を用いることにより、ユーザは、ロボット２０、３０の手動操作を、タッチ操作及びドラッグ操作によって行うことができる。
【００５７】
次に、制御部４５で行われる制御内容について、図４〜図１５を参照して説明する。なお、以下の説明において、ロボット２０、３０の動作態様と称した場合には、ロボット２０、３０の駆動軸又は駆動軸の組み合わせによるロボット２０、３０の動作態様を意味するものとする。この場合、ロボット２０、３０の動作態様には、上述した手先系や各軸系といった動作系において、その動作系における正（＋）方向又は負（−）方向への移動方向は含まないものとする。
【００５８】
ティーチングペンダント４０の制御部４５は、ロボット２０、３０の手動操作を開始すると、図４及び図５に示す制御内容を実行する。具体的には、制御部４５は、手動操作に係る処理を開始すると、まず、図４のステップＳ１１において、タッチパネルディスプレイ４２の操作図形を表示する。図６〜図９は、タッチパネルディスプレイ４２に表示される操作図形の一例を示している。
【００５９】
例えば図６に示す操作図形５１は、４軸ロボット２０の手先系の操作に用いるものであり、図７に示す操作図形５２は、４軸ロボット２０の各軸系の操作に用いるものである。また、図８に示す操作図形６１は、６軸ロボット３０の手先系の操作に用いるものであり、図９に示す操作図形６２は、６軸ロボット３０の各軸系の操作に用いるものである。なお、以下の説明においては、図６に示す操作図形５１を、４軸手先系用操作図形５１と称し、図７に示す操作図形５２を、４軸各軸系用操作図形５２と称する。また、図８に示す操作図形６１を、６軸手先系用操作図形６１と称し、図９に示す操作図形６２を、６軸各軸系用操作図形６２と称する。
【００６０】
まず、図６及び図７に示す４軸ロボット２０用の操作図形５１、５２について説明する。４軸ロボット２０用の操作図形５１、５２の外形は円形に形成されている。４軸ロボット２０用の操作図形５１、５２の内側は、各動作系の駆動態様の数で等分されている。この場合、４軸ロボット２０用の操作図形５１、５２の円の内側は、それぞれ４軸ロボット２０の各動作系における駆動態様の数である４個に等分されている。そして、４等分された操作図形５１、５２の内側の各領域は、それぞれ手先系の選択領域５１１〜５１４と、各軸系の選択領域５２１〜５２４とに設定されている。
【００６１】
この場合、図６に示す４軸手先系用操作図形５１において、第１選択領域５１１はＸ方向への動作態様に割り当てられ、第２選択領域５１２はＹ方向への動作態様に割り当てられ、第３選択領域５１３はＺ方向への動作態様に割り当てられ、第４選択領域５１４はＲｚ方向への動作態様に割り当てられている。また、図７に示す４軸各軸系用操作図形５２において、第１選択領域５２１は第１軸Ｊ２１の動作態様に割り当てられ、第２選択領域５２２は第２軸Ｊ２２の動作態様に割り当てられ、第３選択領域５２３は第３軸Ｊ２３の動作態様に割り当てられ、第４選択領域５２４は第４軸Ｊ２４の動作態様に割り当てられている。
【００６２】
これにより、ユーザは、各操作図形５１、５２について、選択領域５１１〜５１４、５２１〜５２４のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様で４軸ロボット２０を動作させることができる。なお、４軸手先系用操作図形５１と４軸各軸系用操作図形５２とは、図６及び図７に示すように画面を切り替えて表示させるようにしてもよいし、同一の画面上に表示させてもよい。
【００６３】
次に、図８及び図９に示６軸ロボット３０用の操作図形６１、６２について説明する。６軸ロボット３０用の操作図形６１、６２の外形は円形に形成されている。６軸ロボット３０用の操作図形６１、６２の内側は、各動作系の駆動態様の数で等分されている。この場合、６軸ロボット３０用の操作図形６１、６２の円の内側は、それぞれ６軸ロボット３０の各動作系における駆動態様の数である６個に等分されている。そして、６等分された操作図形６１、６２の内側の各領域は、それぞれ手先系の選択領域６１１〜６１６と、各軸系の選択領域６２１〜６２６とに設定されている。
【００６４】
この場合、図８に示す６軸手先系用操作図形６１において、第１選択領域６１１はＸ方向への動作態様に割り当てられ、第２選択領域６１２はＹ方向への動作態様に割り当てられ、第３選択領域６１３はＺ方向への動作態様に割り当てられ、第４選択領域６１４はＲｘ方向への動作態様に割り当てられ、第５選択領域６１５はＲｙ方向への動作態様に割り当てられ、第６選択領域６１６はＲｚ方向への動作態様に割り当てられている。また、図９に示す６軸各軸用操作図形６２において、第１選択領域６２１は、第１軸Ｊ３１の動作態様に割り当てられ、第２選択領域６２２は第２軸Ｊ３２の動作態様に割り当てられ、第３選択領域６２３は第３軸Ｊ３３の動作態様に割り当てられ、第４選択領域６２４は第４軸Ｊ３４の動作態様に割り当てられ、第５選択領域６２５は第５軸Ｊ３５の動作態様に割り当てられ、第６選択領域６２６は第６軸Ｊ３６の動作態様に割り当てられている。
【００６５】
これにより、ユーザは、選択領域６１１〜６１６、６２１〜６２６のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様で６軸ロボット３０を動作させることができる。なお、６軸手先系用操作図形６１と６軸各軸系用操作図形６２とは、図８及び図９に示すように画面を切り替えて表示させるようにしてもよいし、同一の画面上に表示させてもよい。
【００６６】
また、図６〜図９に示すように、各操作図形５１、５２、６１、６２は、それぞれ無効領域５１５、５２５、６１７、６２７を有している。無効領域５１５、５２５、６１７、６２７は、それぞれ操作図形５１、５２、６１、６２上の中心Ｐ０付近に設けられている。この場合、無効領域５１５、５２５、６１７、６２７は、各操作図形５１、５２、６１、６２の外形を形成する円よりも小さい同心円状に形成されて、各操作図形５１、５２、６１、６２の内側に設けられている。制御部４５は、操作検出部４６が検出したタッチ操作及びドラッグ操作のうち、無効領域５１５、５２５、６１７、６２７に対してなされた操作を無効であると判断することができる。なお、本実施形態において、制御部４５は、操作検出部４６が検出したタッチ操作及びドラッグ操作のうち、操作図形５１、５２、６１、６２の外側の領域に対してなされた操作も無効であると判断することができる。この場合、操作図形５１、５２、６１、６２の外側の領域も、無効領域と称される。
【００６７】
また、制御部４５は、ステップＳ１１において、図６〜図９に示すように方向図形７１、７２をタッチパネルディスプレイ４２に表示する。方向図形７１、７２は、回転中心Ｐ０に対するドラッグ操作の操作方向を示すものである。本実施形態では、操作図形５１、５２、６１、６２の中心Ｐ０が、ドラッグ操作の回転中心Ｐ０に設定されている。そして、回転中心Ｐ０に対して、右回りつまり時計回り方向をドラッグ操作の正方向とし、左回りつまり反時計回り方向をドラッグ操作の負方向としている。この場合、正方向図形７１は、ドラッグ操作の正方向を示すものであり、負方向図形７２は、ドラッグ操作の負方向を示すものである。
【００６８】
また、本実施形態において、制御部４５は、表示制御部４８の処理により、方向図形７１、７２の表示を次のように制御することができる。すなわち、タッチパネルディスプレイ４２に対するドラッグ操作の入力が無い場合、制御部４５は、図６〜図９の破線で示すように、方向図形７１、７２を薄く表示する。これによれば、ユーザは、薄く表示された方向図形７１、７２を見ることで、どの方向に対してドラッグ操作を行うことができるかを確認することができるため、操作性が向上する。
【００６９】
また、操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作があった場合、つまり回転中心Ｐ０に対する円周方向へのドラッグ操作の入力があった場合、制御部４５は、図１１及び図１２に示すように、入力されたドラッグ操作の方向に対応する方向図形７１、７２を、他の方向に対応する方向図形７１、７２よりも目立つように表示する。例えば、回転中心Ｐ０に対して正方向のドラッグ操作が入力された場合、制御部４５は、図１１に示すように、負方向図形７２に比べて正方向図形７１を濃く表示する。また、回転中心Ｐ０に対して負方向のドラッグ操作が入力された場合、制御部４５は、図１２に示すように、正方向図形７１に比べて負方向図形７２を濃く表示する。これによれば、ユーザは、方向図形７１、７２のうち濃く表示されたものを見ることで、ドラッグ操作が自己の意図通りのものとしてティーチングペンダント４０に認識されているか否かを確認することができる。その結果、操作性の向上が図られる。
【００７０】
次に、制御部４５は、図４のステップＳ１２において、操作検出部４６の検出結果に基づいて、選択領域５１１〜５１４、５２１〜５２４のいずれか又は選択領域６１１〜６１６、６２１〜６２６のいずれかに対してタッチ操作があったか否かを判断する。いずれの選択領域に対してもタッチ操作がされていない場合（ステップＳ１２でＮＯ）、制御部４５は、図６〜図９に示す状態で待機する。一方、いずれかの選択領域に対してタッチ操作があった場合（ステップＳ１２でＹＥＳ）、制御部４５は、ステップＳ１３へ移行する。
【００７１】
制御部４５は、ステップＳ１３を実行すると、動作指令生成部４７の処理によって、手動操作によるロボット２０、３０の動作態様を、ステップＳ１２でタッチ操作された選択領域に割り当てられた動作態様に決定する。例えば図１０に示すように、ユーザが４軸手先系用操作図形５１の第１選択領域５１１をタッチ操作した場合、制御部４５は、ロボット２０の動作態様を、手先系のＸ方向への動作態様に決定する。この場合、制御部４５は、表示制御部４８の処理により、タッチ操作で選択された第１選択領域５１１内の表示「Ｘ」を、タッチ操作されていない他の選択領域５１２〜５１４内の表示「Ｙ」、「Ｚ」、及び「Ｒｚ」よりも大きくしたり色を変更したりすることによって目立つように表示させることができる。これにより、ユーザは、自己のタッチ操作によってどの動作態様が選択されたかを、目視で確認することができる。その結果、操作性の向上が図られる。
【００７２】
次に、制御部４５は、図４のステップＳ１３において、ステップＳ１２で検出したタッチ操作に続けて、操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作つまり回転中心Ｐ０に対する円周方向へのドラッグ操作が行われたか否かを判断する。この場合、操作図形５１、５２、６１、６２の回転円周方向とは、操作図形５１、５２、６１、６２の任意の点を回転中心Ｐ０として操作図形５１、５２、６１、６２を仮想的に回転させた場合において、操作図形５１、５２、６１、６２上の回転中心Ｐ０とは異なる任意の点の軌跡によって描かれる円の円周方向を意味する。なお、本実施形態において、回転中心Ｐ０は、各操作図形５１、５２、６１、６２の中心Ｐ０に設定されている。また、以下の説明では、操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作を、単にドラッグ操作と称する。
【００７３】
ドラッグ操作の検出が無かった場合（ステップＳ１４でＮＯ）、制御部４５は、図５のステップＳ２２を実行する。一方、ドラッグ操作の検出が有った場合（ステップＳ１４でＹＥＳ）、制御部４５は、ステップＳ１５を実行する。制御部４５は、ステップＳ１５において、ドラッグ操作の操作方向が、正方向図形７１の矢印が示す正方向又は負方向図形７２の矢印が示す負方向のいずれであるかを判断する。
【００７４】
ドラッグ操作の操作方向が正方向である場合（ステップＳ１５で正方向）、制御部４５は、ステップＳ１６において動作方向決定処理を実行し、ロボット２０、３０の動作方向を正方向に決定する。一方、ドラッグ操作の操作方向が負方向である場合（ステップＳ１５で負方向）、制御部４５は、ステップＳ１７において動作方向決定処理を実行し、ロボット２０、３０の動作方向を負方向に決定する。制御部４５は、ステップＳ１６又はステップＳ１７を実行した後、図５のステップＳ１８を実行する。
【００７５】
制御部４５は、ステップＳ１８において、動作速度決定処理を実行する。動作速度決定処理は、タッチパネルディスプレイ４２上に設定された操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作を操作検出部４６が検出した場合に、そのドラッグ操作の操作速度に基づいてロボット２０、３０の動作速度Ｖｒを決定する処理である。この場合、ドラッグ操作の操作速度の概念には、単位時間当たりの移動距離によって定まる周速度Ｖｄと、周速度Ｖｄと回転中心からの距離とによって定まる角速度ｄθと、が含まれる。本実施形態の場合、動作速度決定処理は、操作図形５１、５２、６１、６２上に設定された回転中心Ｐ０に対するドラッグ操作の角速度ｄθに基づいてロボット２０、３０の動作速度Ｖｒを決定するものである。
【００７６】
この場合、ドラッグ操作の周速度Ｖｄとは、操作図形５１、５２、６１、６２の回転円周方向に対するドラッグ操作の操作位置Ｐ１の単位時間当たりの移動距離を意味する。すなわち、ドラッグ操作の周速度Ｖｄとは、回転中心Ｐ０を中心とした円を描くようなドラッグ操作において、そのドラッグ操作の操作位置Ｐ１の軌跡によって描かれる単位時間当たりの円弧の増加距離を意味する。また、ドラッグ操作の角速度ｄθとは、回転中心Ｐ０を中心とした円を描くようなドラッグ操作において、そのドラッグ操作の操作位置Ｐ１の軌跡によって描かれる単位時間当たりの円弧の増加角度を意味する。
【００７７】
例えば図１３に示すように、ユーザが回転中心Ｐ０を中心とする半径Ｒ１の円を描くようなドラッグ操作を行った場合、そのドラッグ操作の周速度をＶｄ１とすると、そのドラッグ操作の角速度ｄθ１は、ｄθ１＝Ｖｄ１／Ｒ１となる。また、ユーザが回転中心Ｐ０を中心とする半径Ｒ２の円を描くようなドラッグ操作を行った場合、そのドラッグ操作の周速度をＶｄ２とすると、そのドラッグ操作の角速度ｄθ２は、ｄθ２＝Ｖｄ２／Ｒ２となる。この場合、半径Ｒ１と半径Ｒ２との円について、両者の周速度Ｖｄが同一であるならば、半径Ｒ１における角速度ｄθ１は、半径Ｒ２における角速度ｄθ２よりも小さくなる。つまり、周速度ＶｄがＶｄ１＝Ｖｄ２であるならば、角速度ｄθはｄθ１＜ｄθ２となる。この様に、ドラッグ操作により描く円の径Ｒが大きくなるほど、ドラッグ操作の周速度Ｖｄの増減に伴って変化するドラッグ操作の角速度ｄθの変化量は小さくなる。
【００７８】
また、角速度ｄθとロボット２０、３０の動作速度Ｖｒとは次のような相関関係を有している。例えば図１４に示すように、角速度ｄθとロボット２０、３０の動作速度Ｖｒとは、一次関数的な相関関係を有している。この場合、ロボット２０、３０の動作速度Ｖｒが最大動作速度Ｖｒｍａｘになるまでは、角速度ｄθの増加に比例して一次関数的に動作速度Ｖｒが増加する。そして、ロボット２０、３０の動作速度Ｖｒが最大動作速度Ｖｒｍａｘに到達すると、角速度ｄθが増加しても最大動作速度Ｖｒｍａｘが維持される。また、例えば図１５に示すように、角速度ｄθとロボット２０、３０の動作速度Ｖｒとは、高次関数的な相関関係を有していてもよい。この場合、ロボット２０、３０の動作速度Ｖｒが最大動作速度Ｖｒｍａｘになるまでは、角速度ｄθの増加に比例して高次関数的に動作速度Ｖｒが増加する。そして、ロボット２０、３０の動作速度Ｖｒが最大動作速度Ｖｒｍａｘに到達すると、角速度ｄθが増加しても最大動作速度Ｖｒｍａｘが維持される。
【００７９】
次に、制御部４５は、ステップＳ１９において、動作指令生成処理を実行し、動作態様決定処理（ステップＳ１３）で決定したロボット２０、３０の動作態様と、動作方向決定処理（ステップＳ１６、Ｓ１７）で決定したロボット２０、３０の動作方向と、動作速度決定処理（ステップＳ１８）で決定したロボット２０、３０の動作速度Ｖｒとに基づいて、ロボット２０、３０を動作させるための動作指令を生成する。そして、制御部４５は、ステップＳ２０において、ステップＳ１９で生成した動作指令をコントローラ１１へ送信する。コントローラ１１は、ティーチングペンダント４０から受信した動作指令に基づいて、ロボット２０、３０を動作させる。
【００８０】
次に、制御部４５は、ステップＳ２１において操作図形表示処理を実行し、ドラッグ操作の現在位置Ｐ１の移動に合わせて操作図形５１、５２、６１、６２を回転させる。この場合、ユーザが、操作図形５１、５２、６１、６２に対して、図１０に示す状態から右回転方向この場合正方向へのドラッグ操作を行うと、図１１の矢印Ａ１で示すように、操作図形５１、５２、６１、６２が右方向この場合正方向へ回転する。また、ユーザが、操作図形５１、５２、６１、６２に対して、図１０に示す状態から左回転方向この場合負方向へのドラッグ操作を行うと、図１２の矢印Ａ２で示すように、操作図形５１、５２、６１、６２が左方向この場合負方向へ回転する。この場合、操作図形５１、５２、６１、６２が回転する際の角速度は、ドラッグ操作の角速度ｄθに略等しい。したがって、操作図形５１、５２、６１、６２、ドラッグ操作の現在位置Ｐ１に追従するように回転する。
【００８１】
次に、制御部４５は、図５のステップＳ２２を実行し、操作検出部４６の検出結果に基づいて、操作が終了されたか否かを判断する。この場合、操作の終了とは、ユーザの指９０等がタッチパネルディスプレイ４２から離間したことをいう。つまり、ドラッグ操作の周速度Ｖｄが０つまり角速度ｄθが０になっただけでは、操作の終了とは判断されない。
【００８２】
ドラッグ操作が継続している場合（図５のステップＳ２２でＮＯ）、制御部４５は、図４のステップＳ１３へ移行し、ステップＳ１４〜Ｓ２２を繰り返す。なお、ステップＳ１５〜Ｓ２２の処理は、例えば０．５秒毎に繰り返される。そのため、ドラッグ操作の入力と、ロボット２０、３０の動作と、操作図形５１、５２、６１、６２の回転との間には、大きな時差は生じない。したがって、ユーザは、操作図形５１、５２、６１、６２を回転させることで、略リアルタイムでロボット２０、３０を手動操作しているとの印象を受け得る。
【００８３】
また、ステップＳ１３で動作態様が決定され、かつステップＳ１６、Ｓ１７で動作方向が決定されると、ユーザは、正方向又は負方向へのドラッグ操作を継続することで、すなわち正方向又は負方向へ操作図形５１、５２、６１、６２を回転させ続けることで、その動作態様及び動作方向でロボット２０、３０の動作を継続させることができる。また、ユーザは、ドラッグ操作に係る指９０等をタッチパネルディスプレイ４２から離す前に、ドラッグ操作の回転方向の正負を変えることで、ロボット２０、３０の動作方向の正負を変えることができる。
【００８４】
制御部４５は、操作検出部４６の検出結果に基づいて、ドラッグ操作が終了したと判断すると（ステップＳ２２でＹＥＳ）、ステップＳ２３を実行する。制御部４５は、ステップＳ２３において、上述した処理で決定したロボット２０、３０の動作態様及び動作方向の設定を解除つまり初期化する。これにより、一連の処理が終了し、ロボット２０、３０の動作が終了する。そして、制御部４５は、図４のステップＳ１１へ戻り、再度ステップＳ１１〜Ｓ２３の処理を実行する。これにより、ユーザは、新たな動作態様及び動作方向による手動操作が可能になる。すなわち、ユーザは、ロボット２０、３０の動作態様及び動作方向を変更することができるようになる。
【００８５】
なお、本実施形態では、動作態様が一旦設定されると、ステップＳ２３でその設定が初期化されるまで、設定された動作態様が維持される。そのため、連続してフリック操作を入力する場合には、最初のフリック操作によって動作態様が決定されるため、フリック操作を入力する度に動作態様を設定する必要はない。つまり、ユーザは、ロボット２０、３０が停止して設定が初期化されるまでは、操作図形５１等のどの位置に対してフリック操作を行ったとしても、最初のフリック操作で設定した動作態様でロボット２０、３０を動作させ続けることができる。
【００８６】
本実施形態によれば、制御部４５は、動作指令生成部４７の処理により、動作速度決定処理を行うことができる。動作速度決定処理は、タッチパネルディスプレイ４２上に設定された円形の操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作を操作検出部４６が検出した場合に、そのドラッグ操作の操作速度に基づいてロボット２０、３０の動作速度Ｖｒを決定する処理である。
【００８７】
この構成において、ロボット２０、３０の動作速度Ｖｒは、タッチパネルディスプレイ４２上に設定された操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作が行われた場合に、そのドラッグ操作の操作速度に基づいて決定される。したがって、ユーザは、タッチパネルディスプレイ４２上に設定された操作図形５１、５２、６１、６２に対して円を描くようにドラッグ操作を行うことで、そのドラッグ操作の操作速度に応じた動作速度Ｖｒでロボット２０、３０を動作させ続けることができる。
【００８８】
例えば、ユーザが操作図形５１、５２、６１、６２の回転円周方向に沿って速い操作速度で円を描くようにドラッグ操作をし続けた場合には、ロボット２０、３０は、その速い操作速度に対応した速い動作速度Ｖｒで動作し続ける。一方、ユーザが操作図形５１、５２、６１、６２の回転円周方向に沿って遅い操作速度で円を描くようにドラッグ操作をし続けた場合には、ロボット２０、３０は、その遅い操作速度に対応した遅い動作速度Ｖｒで動作し続ける。そして、ユーザがドラッグ操作を停止すれば、ロボット２０、３０も停止する。
【００８９】
この様に、本実施形態のティーチングペンダント４０によれば、ユーザは、円を描くように自己の指９０等を動かし続けることによって、ロボット２０、３０を動作させ続けることができ、自己の指９０等を止めることによって、ロボット２０、３０を停止させることができる。そして、ユーザは、自己の指９０等の移動速度を調整することで、ロボット２０、３０の動作速度Ｖｒを調整することができる。これにより、ユーザは、自己のドラッグ操作による指９０等の動きと、ロボット２０、３０の動作とが関連しているとの印象を受け易い。したがって、ユーザは、自己が行っているドラッグ操作と、そのドラッグ操作によって行われるロボット２０、３０の動作との関連性を直接的で直感的に判断することができ、その結果、ユーザの操作性の向上を図ることができる。
【００９０】
更に、本実施形態のティーチングペンダント４０によれば、ユーザがタッチパネルディスプレイ４２上で円を描くように継続してドラッグ操作を行うことで、ロボット２０、３０の動作を継続させることができる。このため、ユーザは、タッチパネルディスプレイ４２の画面サイズに制限されずに、ロボット２０、３０を動作させるためのドラッグ操作を継続することができる。したがって、タッチパネルディスプレイ４２の画面サイズに制限されてドラッグ操作が継続できなくなることにより、ロボット２０、３０の動作が不本意に停止されること等を回避することができる。これにより、操作性の向上が図られる。
【００９１】
また、ロボット２０、３０を動作させるためのドラッグ操作の継続は、タッチパネルディスプレイ４２の画面サイズに制限されないため、タッチパネルディスプレイ４２を小型化することができる。例えばティーチングペンダント４０を、ユーザの腕に装着可能な腕時計型のウェアラブル端末で構成した場合であっても、ユーザは、ウェアラブル端末上の小さな画面で適切にロボット２０、３０の手動操作を行うことができる。
【００９２】
また、本実施形態のティーチングペンダント４０によれば、制御部４５は、動作指令生成部４７の処理により、動作方向決定処理を行うことができる。動作方向決定処理は、ドラッグ操作の操作方向が操作図形５１、５２、６１、６２の回転円周方向に対して正方向この場合右方向である場合にロボット２０、３０の動作方向を正方向に決定し、ドラッグ操作の操作方向が操作図形５１、５２、６１、６２の回転円周方向に対して負方向この場合左方向である場合にロボット２０、３０の動作方向を負方向に決定する処理である。これによれば、ロボット２０、３０の動作方向は、操作図形５１、５２、６１、６２の回転円周方向に対するドラッグ操作の操作方向によって決定される。
【００９３】
すなわち、操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作において、そのドラッグ操作の操作方向は、操作図形５１、５２、６１、６２の回転円周方向に対する正負方向のいずれか一方となる。したがって、ユーザが操作図形５１、５２、６１、６２の回転円周方向へのドラッグ操作を行うことで、ロボット２０、３０の動作方向の正負方向が必然的に決定される。これにより、ユーザは、ロボット２０、３０の動作方向を決定するための操作を別途行う必要が無く、一連のドラッグ操作によって、ロボット２０、３０の動作方向を決定する操作と動作速度を決定する操作との両方を行うことができる。その結果、操作の手数を削減することができて操作性の向上が図られる。
【００９４】
また、操作図形５１、５２、６１、６２は、複数の選択領域５１１〜５１４、５２１〜５２４、６１１〜６１６、６２１〜６２６を有している。選択領域５１１〜５１４、５２１〜５２４、６１１〜６１６、６２１〜６２６は、２０、３０ロボットの動作態様が割り当てられた領域である。そして、制御部４５は、動作指令生成部４７の処理により、動作態様決定処理を行うことができる。動作態様決定処理は、操作検出部４６が選択領域５１１〜５１４、５２１〜５２４、６１１〜６１６、６２１〜６２６に対するタッチ操作を検出した場合に、タッチ操作された選択領域５１１〜５１４、５２１〜５２４、６１１〜６１６、６２１〜６２６に割り当てられた動作態様をロボット２０、３０の動作態様に決定する処理である。
【００９５】
これによれば、ユーザは、操作図形５１、５２、６１、６２の選択領域５１１〜５１４、５２１〜５２４、６１１〜６１６、６２１〜６２６をタッチ操作することで、ロボット２０、３０の動作態様を選択することができる。すなわち、ロボット２０、３０の動作速度Ｖｒを決定するドラッグ操作を行う際には、そのドラッグ操作の前に必ずタッチパネルディスプレイ４２に対するタッチ操作が行われる。そこで、本実施形態のティーチングペンダント４０によれば、ユーザは、ロボット２０、３０の動作速度Ｖｒを決定するために必ず行われるタッチ操作によって、ロボット２０、３０の動作態様を選択することができる。したがって、ロボット２０、３０の動作態様を選択するための操作を削減することができ、その結果、操作の手数を削減して操作性の向上が図られる。
【００９６】
また、制御部４５は、表示制御部４８の処理により、操作図形表示処理を行うことができる。操作図形表示処理は、操作図形５１、５２、６１、６２をタッチパネルディスプレイ４２に表示させる処理である。これによれば、ユーザは、タッチパネルディスプレイ４２に表示された操作図形５１、５２、６１、６２を目安にドラッグ操作を行うことができるため、どの方向へドラッグ操作を行えばよいか等の判断がし易くなる。その結果、操作性が更に向上する。
【００９７】
また、操作図形表示処理は、ドラッグ操作の現在位置Ｐ１の移動に合わせて操作図形５１、５２、６１、６２を回転させてタッチパネルディスプレイ４２に表示させる処理を含んでいる。これによれば、ユーザは、自己のドラッグ操作に伴って回転する操作図形５１、５２、６１、６２を見ることで、自己のドラッグ操作が適切に行われているか否か等を、目視で容易に確認することができる。その結果、更に直感的な操作が可能になり、ユーザの操作感覚の更なる向上を図ることができる。
【００９８】
また、動作速度決定処理は、操作図形５１、５２、６１、６２上に設定された回転中心Ｐ０に対するドラッグ操作の角速度ｄθに基づいてロボット２０、３０の動作速度Ｖｒを決定するものである。すなわち、ある点を中心点にして円を描くようにドラッグ操作を行う場合、ドラッグ操作に係る操作位置Ｐ１が中心点から遠くなるほど、つまりドラッグ操作により描く円の径が大きくなるほど、ドラッグ操作の周方向の移動距離に対する回転角度は小さくなる。すなわち、ドラッグ操作により描く円の径が大きくなるほど、ドラッグ操作の回転中心に対する円周方向の速度つまり周速度Ｖｄの増減に伴って変化するドラッグ操作の角速度ｄθの変化量は小さくなる。
【００９９】
例えば、図１３に示すように、ユーザが大きな径Ｒ１の円を描くようなドラッグ操作を行った場合、そのドラッグ操作に係る周方向の移動距離が長くても、回転角度は小さくなる。換言すれば、ユーザは、大きな径Ｒ１の円を描くようなドラッグ操作を行うことで、速い周速度Ｖｄ１で遅い角速度ｄθ１が得られる。これは、ロボット２０、３０の手先位置の微調整つまり微動を行う際に有利である。この場合、ユーザは、ドラッグ操作の移動速度Ｖｄの増減によって変化するロボット２０、３０の動作速度Ｖｒの変化量を、より小さくすることができるからである。すなわち、ドラッグ操作の周速度Ｖｄを一定とした場合、ユーザは、小さな径Ｒ２の円を描くようなドラッグ操作を行う場合に比べて、大きな径Ｒ１の円を描くようにドラッグ操作を行うことで、より遅い動作速度でロボットを動作させることができる。
【０１００】
一方、ユーザが小さな径Ｒ２の円を描くようなドラッグ操作を行った場合、そのドラッグ操作に係る周方向の移動距離が短くても、回転角度は大きくなる。換言すれば、ユーザは、小さな径Ｒ２の円を描くようなドラッグ操作を行うことで、遅い周速度Ｖｄ２で速い角速度ｄθ２が得られる。これは、ロボット２０、３０の手先位置を大きく移動させるつまり粗動の際に有利である。この場合、ユーザは、ドラッグ操作の移動速度Ｖｄの増減によって変化するロボット２０、３０の動作速度Ｖｒの変化量を、より大きくすることができるからである。すなわち、ドラッグ操作の周速度Ｖｄを一定とした場合、ユーザは、大きな径Ｒ１の円を描くようなドラッグ操作を行う場合に比べて、小さな径Ｒ２の円を描くようにドラッグ操作を行うことで、より早い動作速度Ｖｒでロボット２０、３０を動作させることができる。
【０１０１】
このように、本実施形態のティーチングペンダント４０によれば、ユーザは、操作図形５１、５２、６１、６２上の回転中心Ｐ０からドラッグ操作の操作位置Ｐ１までの距離を調整してドラッグ操作を行うことで、つまりドラッグ操作で描く円の径Ｒの大きさを調整することで、ドラッグ操作の周速度Ｖｄの増減によって変化するロボット２０、３０の動作速度Ｖｒの変化量を調整することができる。これにより、ユーザは、ロボット２０、３０の微動と粗動とを使い分けることが容易になり、操作性の更なる向上を図ることができる。
【０１０２】
また、本実施形態の場合、ロボット２０、３０の移動距離は、ロボット２０、３０の動作速度Ｖｒに動作時間を乗じたものとなる。つまり、ロボット２０、３０の移動距離は、操作図形５１、５２、６１、６２の角速度ｄθに操作時間を乗じたものすなわち操作図形５１、５２、６１、６２の回転角度に比例する。換言すれば、ロボット２０、３０の移動距離は、操作図形５１、５２、６１、６２の回転数に比例する。例えば操作図形５１、５２、６１、６２の回転数が増えれば、ロボット２０、３０の移動距離も長くなり、操作図形５１、５２、６１、６２の回転数が減れば、ロボット２０、３０の移動距離も短くなる。このように、ユーザは、操作図形５１、５２、６１、６２の回転数を調整することで、ロボット２０、３０の移動距離を調整することができる。その結果、ロボット２０、３０の移動距離の調整がし易くなり、操作性の更なる向上を図ることができる。
【０１０３】
また、動作速度決定処理は、操作検出部４６が操作図形５１、５２、６１、６２上の回転中心Ｐ０付近に設けられた無効領域５１５、５２５、６１７、６２７に対するドラッグ操作を検出した場合に無効領域５１５、５２５、６１７、６２７内におけるドラッグ操作を無効であると判断する処理を含んでいる。すなわち、上述したようにドラッグ操作の角速度ｄθに基づいてロボット２０、３０の動作速度Ｖｒを決定するものにおいては、ドラッグ操作の操作位置Ｐ１が回転中心Ｐ０に近づくほど、ドラッグ操作の周速度Ｖｄの増減によって変化するロボット２０、３０の動作速度Ｖｒの変化量が大きくなる。したがって、ドラッグ操作の操作位置Ｐ１が回転中心Ｐ０付近である場合、ユーザの僅かなドラッグ操作がロボット２０、３０の動作に大きく反映されてしまうため、ロボット２０、３０の動作がユーザの意図しない大きなものになり易くなる。
【０１０４】
これに対し、本実施形態のティーチングペンダント４０によれば、操作図形５１、５２、６１、６２の回転中心Ｐ０付近に、無効領域５１５、５２５、６１７、６２７が設定されている。そして、その無効領域５１５、５２５、６１７、６２７に対するドラッグ操作は無効と判断される。この場合、ドラッグ操作の入力が無いと判断されてロボット２０、３０の動作が停止する。したがって、ドラッグ操作の操作位置Ｐ１が回転中心Ｐ０付近となってしまった場合に、ロボット２０、３０を停止させるというより安全側に作用させることにより、ユーザの僅かなドラッグ操作がロボット２０、３０の動作に大きく反映されてしまうことを防ぐことができる。したがって、ユーザの意図に反してロボット２０、３０の動作が大きくなり過ぎるという事態を極力防ぐことができ、その結果、安全性の向上を図ることができる。
【０１０５】
また、本実施形態において、４軸ロボット２０における手先系のＺ方向の動作態様は、各軸系の第３軸Ｊ２３を駆動させる動作態様と同一であり、手先系のＲｚ方向の動作態様は、各軸系の第４軸Ｊ２４を駆動させる動作態様と同一である。また、６軸ロボット３０における手先系のＲｘ方向の動作態様は、各軸系の第４軸Ｊ３４を駆動させる動作態様と同一であり、手先系のＲｙ方向の動作態様は、各軸系の第５軸Ｊ３５を駆動させる動作態様と同一であり、手先系のＲｚ方向の動作態様は、各軸系の第６軸Ｊ３６を駆動させる動作態様と同一である。
【０１０６】
そこで、本実施形態のティーチングペンダント４０によれば、手先系と各軸系において駆動させる軸が同一となる動作態様については、各操作図形において同一位置に配置された選択領域に割り当てられている。例えば４軸ロボット２０用の操作図形５１、５２について見ると、図６及び図７に示すように、手先系のＺ方向と各軸系の第３軸Ｊ２３との動作態様は、操作図形５１、５２に対して同一の位置に配置された第３選択領域５１３、５２３に割り当てられている。また、手先系のＲｚ方向と各軸系の第４軸Ｊ２４との動作態様は、操作図形５１、５２に対して同一の位置に配置された第４選択領域５１４、５２４に割り当てられている。
【０１０７】
また、例えば６軸ロボット３０用の操作図形６１、６２について見ると、図８及び図９に示すように、手先系のＲｘ方向と各軸系の第４軸Ｊ３４との動作態様は、操作図形６１、６２に対して同一の位置に配置された第４選択領域６１４、６２４に割り当てられている。また、手先系のＲｙ方向と各軸系の第５軸Ｊ３５との動作態様は、操作図形６１、６２に対して同一の位置に配置された第５選択領域６１５、６２５に割り当てられている。そして、手先系のＲｚ方向と各軸系の第６軸Ｊ３６との動作態様は、操作図形６１、６２に対して同一の位置に配置された第６選択領域６１６、６２６に割り当てられている。
【０１０８】
これによれば、各軸系と手先系との動作態様において同一の動きとなる動作態様を同一位置に配置された選択領域に割り当てることで、各操作系についてどの操作態様がどの選択領域に割り当てられているかを覚えるというユーザの負担を軽減することができる。これにより、手先系と各軸系との手動操作を切り替えた場合において、ユーザが選択領域の操作を間違える等の誤操作を極力防止することができる。その結果、操作性や安全性の更なる向上が図られる。
【０１０９】
また、本実施形態によるロボット操作プログラムを、例えばタッチパネルディスプレイを備える汎用のタブレットＰＣやスマートフォン等によって実行することで、汎用のタブレットＰＣやスマートフォン等に、上述したティーチングペンダント４０と同等の機能を付加することができる。
【０１１０】
また、上記実施形態において、ユーザは、タッチパネルディスプレイ４２に対するタッチ操作及びドラッグ操作によって、ロボット２０、３０を動作させることができる。これによれば、ユーザは、物理的な操作キーを操作する場合に比べて、直感的で容易にマニュアル操作を行うことができる。更に、これによれば、例えばマニュアル操作を行うための物理的な操作キーを削減することができる。その結果、ティーチングペンダント４０の小型化やタッチパネルディスプレイ４２の画面サイズの拡大、低価格化などを実現できるといった効果が期待できる。
【０１１１】
なお、操作図形５１、５２、６１、６１は、円形に限られず、例えば図１６又は図１７のように、多角形等の円形以外の形状としてもよい。例えば図１６に示す操作図形５３は、４軸ロボット２０用であり、四角形に形成されている。この場合、操作図形５３は、上述した４軸ロボット２０用の操作図形５１、５２と同様に、選択領域５３１〜５３４及び無効領域５３５を有している。また、例えば図１７に示す操作図形６３は、６軸ロボット３０用であり、六角形に形成されている。この場合、操作図形６３は、上述した６軸ロボット３０用の操作図形６１、６２と同様に、選択領域６３１〜６３６及び無効領域６３７を有している。
【０１１２】
また、動作方向決定処理は、図１８に示すように、正方向ボタン７３又は負方向ボタン７４に対するタッチ操作に基づいて、ロボット２０、３０の動作方向を決定してもよい。正方向ボタン７３又は負方向ボタン７４は、タッチパネルディスプレイ４２上に表示されるボタンである。正方向ボタン７３は、ロボット２０、３０の正方向への動作に対応している。負方向ボタン７４は、ロボット２０、３０の負方向への動作に対応している。
【０１１３】
ユーザは、正方向ボタン７３をタッチ操作した状態で、操作図形５１、５２、６１、６２を所定の方向へ回転させるようなドラッグ操作を行うことで、ロボット２０、３０を、ステップＳ１３で決定した動作態様で正方向へ動作させることができる。また、ユーザは、負方向ボタン７４をタッチ操作した状態で、操作図形５１、５２、６１、６２を所定の方向へ回転させるようなドラッグ操作を行うことで、ロボット２０、３０を、ステップＳ１３で決定した動作態様で負方向へ動作させることができる。この場合、操作図形５１、５２、６１、６２を回転させる方向は、右又は左回りに限定してもよいし、限定しなくてもよい。また、タッチパネルディスプレイ４２上には、図１８に示すように、操作図形５１、５２、６１、６２を回転させる方向を示す方向図形７５を表示させてもよい。
【０１１４】
（第２実施形態）
次に、第２実施形態について説明する。本実施形態において、動作速度決定処理は、操作図形５１、５２、６１、６２上に設定された回転中心Ｐ０に対するドラッグ操作の周速度Ｖｄに基づいてロボット２０、３０の動作速度Ｖｒを決定するものである。すなわち、第１実施形態のように、ドラッグ操作の角速度ｄθに基づいてロボット２０、３０の動作速度Ｖｒを決定するものにおいては、ロボット２０、３０の動作速度Ｖｒは、ドラッグ操作の操作位置Ｐ１と周速度Ｖｄとの値によって定まる。したがって、ユーザは、ロボット２０、３０の動作速度Ｖｒを決定するために、ドラッグ操作の操作位置Ｐ１と周速度Ｖｄとの２つの値を調整しなければならない。この場合、熟練者であれば、ドラッグ操作の操作位置Ｐ１と周速度Ｖｄとの２つの値を同時に調整することは比較的容易である。しかし、初心者においては、ドラッグ操作の操作位置Ｐ１と周速度Ｖｄとの２つの値を同時に調整することは比較的難しい。
【０１１５】
例えば、ドラッグ操作の角速度ｄθに基づいてロボット２０、３０の動作速度Ｖｒを決定するものにおいては、ドラッグ操作の周速度Ｖｄが一定であっても、ドラッグ操作によって描く円の大きさや回転中心Ｐ０からドラッグ操作の操作位置Ｐ１までの距離が変化することによって、ロボット２０、３０の動作速度Ｖｒが変わる。そのため、ユーザがロボット２０、３０を一定速度で動作させようとして一定の周速度Ｖｄでドラッグ操作を行った場合であっても、そのドラッグ操作によって実際に描かれている円の径が変化したり、その円の中心が操作図形５１、５２、６１、６２上に設定された回転中心Ｐ０からずれたりすると、回転中心Ｐ０からドラッグ操作の操作位置Ｐ１までの距離が変化することになる。この場合、ロボット２０、３０の動作速度Ｖｒが変化することになり、一定速度でロボット２０、３０を動作させようとするユーザの意図に反する動作が生じ易くなる。
【０１１６】
これに対し、本実施形態によれば、ロボット２０、３０の動作速度Ｖｒは、操作図形５１、５２、６１、６２上に設定された回転中心Ｐ０に対するドラッグ操作の周速度Ｖｄに基づいて決定される。この場合、ロボット２０、３０の動作速度Ｖｒは、回転中心Ｐ０からドラッグ操作の操作位置Ｐ１までの距離つまりドラッグ操作により描かれる円の径にかかわらず、ドラッグ操作の周速度Ｖｄによって決定される。例えば、図１３において、Ｖｄ１＝Ｖｄ２であれば、ロボット２０、３０の動作速度Ｖｒは同一となる。
【０１１７】
このように、本実施形態のティーチングペンダント４０によれば、ドラッグ操作の周速度Ｖｄがそのままロボット２０、３０の動作速度Ｖｒに反映される。したがって、ユーザは、回転中心Ｐ０からドラッグ操作の操作位置Ｐ１までの距離、つまりドラッグ操作によって描く円の径や回転中心Ｐ０に対するずれを気にせずに、ドラッグ操作を行うことができる。そのため、初心者でも比較的操作が容易になり、その結果、上述したドラッグ操作の周速度Ｖｄに基づいてロボット２０、３０の動作速度Ｖｒを決定するものとは異なった観点において操作性の向上を図ることができる。
【０１１８】
また、本実施形態の場合、ロボット２０、３０の移動距離は、ドラッグ操作の周速度Ｖｄに操作時間を乗じたものに比例する。換言すれば、ロボット２０、３０の移動距離は、ドラッグ操作による指９０等の移動距離に比例する。したがって、ユーザは、ドラッグ操作を行う位置に係わらず、ドラッグ操作による指９０等の移動距離を調整することで、ロボット２０、３０の移動距離を調整することができる。その結果、ロボット２０、３０の移動距離の調整がし易くなり、上記第１実施形態のティーチングペンダント４０とは異なった観点において操作性の更なる向上を図ることができる。
【０１１９】
（第３実施形態）
次に、第３実施形態について、図１９及び図２０を参照して説明する。
上記各実施形態において、例えば手先系の動作態様においては、Ｘ方向又はＹ方向へ沿った方向への動作が可能であった。しかし、ロボット２０、３０の教示を行う状況においては、例えばＸ−Ｙ平面上での動作等、複数の動作態様を組み合わせた態様でロボット２０、３０を動作させることができれば便利である。そこで、本実施形態のティーチングペンダント４０は、複数の動作態様を組み合わせた態様でロボット２０、３０を動作させることができるようにしている。
【０１２０】
以下では、例えばロボット２０、３０をＸ−Ｙ平面方向へ動作させる場合について説明する。図１９に示す操作図形５４は、４軸ロボット２０の手先系の操作に用いるものである。操作図形５４は、上記第１実施形態の４軸手先系用操作図形５１の選択領域５１１〜５１５に加えて、選択領域５４１〜５５２を有している。各選択領域５４１〜５５２には、任意の平面方向でかつ任意の角度方向への動作態様が予め割り当てられている。
【０１２１】
本実施形態では、各選択領域５４１〜５５２には、Ｘ−Ｙ平面方向でかつ各象限において３つの角度方向、この場合、３０°、４５°、６０°方向への動作態様が割り当てられている。この場合、本実施形態では、図２０に示すように、Ｘ−Ｙ平面におけるＸの正（＋）方向を基準つまり０°とする。そして、Ｘが正（＋）でかつＹが正（＋）方向を第１象限とし、Ｘが負（−）でかつＹが正（＋）方向を第２象限とし、Ｘが負（−）でかつＹが負（−）方向を第３象限とし、Ｘが正（＋）でかつＹが負（−）方向を第４象限としている。
【０１２２】
選択領域５４１、５４２、５４３は、Ｘ−Ｙ平面方向において第１象限の動作態様が割り当てられている。この場合、選択領域５４１は、図２０の矢印Ｂ１で示す３０°方向への動作態様が割り当てられている。選択領域５４２は、矢印Ｂ２で示す４５°方向への動作態様が割り当てられている。選択領域５４３は、矢印Ｂ３で示す６０°方向への動作態様が割り当てられている。また、選択領域５４４、５４５、５４６は、Ｘ−Ｙ平面方向において第２象限の動作態様が割り当てられている。この場合、選択領域５４４は、矢印Ｃ１で示す１２０°方向への動作態様が割り当てられている。選択領域５４５は、矢印Ｃ２で示す１３５°方向への動作態様が割り当てられている。選択領域５４６は、矢印Ｃ３で示す１５０°方向への動作態様が割り当てられている。
【０１２３】
選択領域５４７、５４８、５４９は、Ｘ−Ｙ平面方向において第３象限の動作態様が割り当てられている。この場合、選択領域５４７は、矢印Ｄ１で示す−１５０°方向への動作態様が割り当てられている。選択領域５４８は、矢印Ｄ２で示す−１３５°方向への動作態様が割り当てられている。選択領域５４９は、矢印Ｄ３で示す−１２０°方向への動作態様が割り当てられている。そして、選択領域５５０、５５１、５５２は、Ｘ−Ｙ平面方向において第４象限の動作態様が割り当てられている。この場合、選択領域５５０は、矢印Ｅ１で示す−６０°方向への動作態様が割り当てられている。選択領域５５１は、矢印Ｅ２で示す−４５°方向への動作態様が割り当てられている。選択領域５５２は、矢印Ｅ３で示す−３０°方向への動作態様が割り当てられている。
【０１２４】
この構成において、ユーザが図１９に示す操作図形５４の第１象限の選択領域５４１、５４２、５４３のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４１、５４２、５４３に対応する角度方向、この場合、図２０の矢印Ｂ１で示す３０°、矢印Ｂ２で示す４５°、又は矢印Ｂ３で示す６０°のいずれかの方向へ移動する。一方、ユーザが図１９に示す操作図形５４の第１象限の選択領域５４１、５４２、５４３のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４１、５４２、５４３に対応する角度方向とは逆方向、この場合、図２０の矢印Ｄ１で示す−１５０°、矢印Ｄ２で示す−１３５°、又は矢印Ｄ２で示す−１２０°のいずれかの方向へ移動する。
【０１２５】
また、ユーザが図１９に示す操作図形５４の第２象限の選択領域５４４、５４５、５４６のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４４、５４５、５４６に対応する角度方向、この場合、図２０の矢印Ｃ１で示す１２０°、矢印Ｃ２で示す１３５°、又は矢印Ｃ３で示す１５０°のいずれかの方向へ移動する。一方、ユーザが図１９に示す操作図形５４の第２象限の選択領域５４４、５４５、５４６のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４４、５４５、５４６に対応する角度方向とは逆方向、この場合、図２０の矢印Ｅ１で示す−６０°、矢印Ｅ２で示す−４５°、又は矢印Ｅ２で示す−３０°のいずれかの方向へ移動する。
【０１２６】
また、ユーザが図１９に示す操作図形５４の第３象限の選択領域５４７、５４８、５４９のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４７、５４８、５４９に対応する角度方向、この場合、図２０の矢印Ｄ１で示す−１５０°、矢印Ｄ２で示す−１３５°、又は矢印Ｄ２で示す−１２０°のいずれかの方向へ移動する。一方、ユーザが図１９に示す操作図形５４の第３象限の選択領域５４７、５４８、５４９のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５４７、５４８、５４９に対応する角度方向とは逆方向、この場合、図２０の矢印Ｂ１で示す３０°、矢印Ｂ２で示す４５°、又は矢印Ｂ３で示す６０°のいずれかの方向へ移動する。
【０１２７】
そして、ユーザが図１９に示す操作図形５４の第４象限の選択領域５５０、５５１、５５２のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５５０、５５１、５５２に対応する角度方向、この場合、図２０の矢印Ｅ１で示す−６０°、矢印Ｅ２で示す−４５°、又は矢印Ｅ２で示す−３０°のいずれかの方向へ移動する。一方、ユーザが図１９に示す操作図形５４の第４象限の選択領域５５０、５５１、５５２のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット２０は、タッチ操作された選択領域５５０、５５１、５５２に対応する角度方向とは逆方向、この場合、図２０の矢印Ｃ１で示す１２０°、矢印Ｃ２で示す１３５°、又は矢印Ｃ３で示す１５０°のいずれかの方向へ移動する。
【０１２８】
ちなみに、本実施形態においては、第１象限の選択領域５４１、５４２、５４３をタッチ操作した後の正方向へのドラッグ操作は、それぞれ第３象限の選択領域５４７、５４８、５４９をタッチ操作した後の負方向へのドラッグ操作と等価であり、第１象限の選択領域５４１、５４２、５４３をタッチ操作した後の負方向へのドラッグ操作は、それぞれ第３象限の選択領域５４７、５４８、５４９をタッチ操作した後の正方向へのドラッグ操作と等価である。また、第２象限の選択領域５４４、５４５、５４６をタッチ操作した後の正方向へのドラッグ操作は、それぞれ第４象限の選択領域５５０、５５１、５５２をタッチ操作した後の負方向へのドラッグ操作と等価であり、第２象限の選択領域５４４、５４５、５４６をタッチ操作した後の負方向へのドラッグ操作は、第４象限の選択領域５４７、５４８、５４９をタッチ操作した後の正方向へのドラッグ操作と等価である。
【０１２９】
このように、本実施形態のティーチングペンダント４０によれば、例えばＸ−Ｙ平面方向等、複数の動作態様を組み合わせた態様でロボット２０、３０を動作させることができる。したがって、ユーザは、多様な操作態様でロボット２０、３０を動作させることができ、その結果、操作性及び利便性の向上が図られる。
【０１３０】
また、本実施形態において、円形の操作図形５４は、図１９に示すように、直交するＸ軸及びＹ軸によって４つの象限に区分されている。そして、操作図形５４の各象限の選択領域５４１〜５５２には、それぞれロボット２０、３０のＸ−Ｙ平面方向の各象限における動作態様が割り当てられている。これによれば、ユーザは、操作図形５４の各象限の選択領域５４１〜５５２と、その選択領域５４１〜５５２によって選択することができるロボット２０、３０の動作態様とが、位置的に関連しているとの印象を受け易い。したがって、より直感的な操作が可能となり、更なる操作性の向上を図ることができる。
【０１３１】
（第４実施形態）
次に、第４実施形態について図４、図１０、図１１、及び図２１〜図２６を参照して説明する。上記各実施形態では、移動操作として主にドラッグ操作に適した例を説明したが、本実施形態では、移動操作として主にフリック操作に適した例について説明する。本実施形態において、ユーザは、例えば図１０、図１１、及び図２１に示すように、操作図形５１等に対して主にフリック操作を行う。この場合、図１０に示すように、ユーザが操作図形５１に対して右回転方向つまり正方向へのフリック操作を行うと、操作図形５１は、図１１の矢印Ａ１で示すように右方向つまり正方向へ回転する。
【０１３２】
そして、本実施形態では、ユーザの指９０等がタッチパネルディスプレイ４２から離間してフリック操作の入力が終了しても、操作図形５１は、図２１に示すように、あたかも慣性を有しているかのように矢印Ａ１方向へ回転し続ける。そして、操作図形５１の回転に伴って、ロボット２０、３０も動作し続ける。回転中の操作図形５１に対して更にフリック操作を行うと、操作図形５１の回転は継続され、これによりロボット２０、３０の動作も継続させることができる。なお、この場合、フリック操作に換えてドラッグ操作を行うこともできる。また、この場合、動作態様や動作方向の決定方法、及びフリック操作の操作速度の算出方法は、上記各実施形態で示したドラッグ操作の場合と同様である。
【０１３３】
本実施形態では、上述した第１実施形態に対して、図４のステップＳ１１から図５のステップＳ２１までの制御内容が共通しており、図５のステップ２１から後の制御内容が異なる。すなわち、ティーチングペンダント４０の制御部４５は、ロボット２０、３０の手動操作を開始すると、図４、及び図２２〜図２４に示す制御内容を実行する。なお、この場合、図４における「ドラッグ操作」は、「移動操作」又は「フリック操作」と読み替えることができる。
【０１３４】
具体的には、制御部４５は、手動操作に係る処理を開始すると、まず、図４のステップＳ１１から図２２のステップＳ２１までを実行する。これにより、上記第１実施形態と同様に、例えば図１０及び図１１に示すように、ユーザの指９０等によるフリック操作に伴って、操作図形５１が回転するとともにロボット２０、３０の動作が行われる。
【０１３５】
次に、制御部４５は、図２２のステップＳ３１において、移動操作の入力が終了したか否かを判断する。制御部４５は、移動操作を検出した後、更にユーザの指９０等がタッチパネルディスプレイ４２から離間したことを検出した場合に、移動操作の入力が終了したと判断する。移動操作の入力が継続している場合（ステップＳ３１でＮＯ）、制御部４５は、図４のステップＳ１４へ移行して、ステップＳ１４〜ステップＳ３１までを繰り返す。一方、移動操作の入力が終了した場合（ステップＳ３１でＹＥＳ）、制御部４５は、図２３のステップＳ３２を実行する。
【０１３６】
制御部４５は、ステップＳ３２において、操作図形５１等に対して所定期間以上のタッチ操作が行われたか否かを判断する。なお、ステップＳ３２における所定期間と、他のステップにおける所定期間とを区別する場合には、ステップＳ３２における所定期間をタッチ操作検出期間と称する。ステップＳ３２で検出対象としているタッチ操作は、図２４のステップＳ３７で示す停止処理を行うためのトリガーとなる操作である。そのため、制御部４５は、停止処理を行うためのトリガーとなるタッチ操作と、移動操作を行う際に必然的に入力されるタッチ操作とを明確に区別する必要がある。この場合、停止処理を行うためのタッチ操作は、ユーザの「ロボット２０、３０を停止させる」という意図を有したものであるため、移動操作の際のタッチ操作に比べて長期間になると想定される。そこで、制御部４５は、タッチ操作の入力期間によって、つまりタッチ操作が所定期間以上継続して行われたか否かによって、そのタッチ操作が、停止処理を実行させるためのものか、移動操作の際に必然的に入力されたものかを区別している。なお、この場合、所定期間は、例えば５００ｍｓ程度である。
【０１３７】
操作図形５１等に対して所定期間以上のタッチ操作が行われなかった場合（ステップＳ３２でＮＯ）、制御部４５は、ステップＳ３３へ移行する。制御部４５は、ステップＳ３３において、図２２のステップＳ３１において移動操作の入力終了を判断してから所定期間例えば１秒〜２秒程度が経過したか否かを判断する。なお、ステップＳ３３における所定期間と、他のステップにおける所定期間とを区別する場合には、ステップＳ３３における所定期間を速度維持期間と称する。
【０１３８】
移動操作の入力終了後でかつ所定期間が経過していない場合（ステップＳ３３でＮＯ）、制御部４５は、ステップＳ３４において速度維持処理を実行する。速度維持処理は、図２２のステップＳ３１において移動操作の入力が終了してから図２３のステップＳ３５の減速処理が開始されるまでの所定期間、ロボット２０、３０の動作速度Ｖｒを、移動操作の入力が終了する直前のロボット２０、３０の動作速度Ｖｒに維持する処理である。つまり、ロボット２０、３０は、移動操作の入力が終了した後の所定期間、一定の動作速度Ｖｒで動作する。そして、制御部４５は、速度維持処理を実行すると、図４のステップＳ１４へ移行し、ステップＳ１４以降の処理を繰り返す。
【０１３９】
一方、移動操作の入力終了後、所定期間が経過すると（図２３のステップＳ３３でＹＥＳ）、制御部４５は、ステップＳ３５へ移行して減速処理を実行する。つまり、移動操作の入力が終了した後、次の移動操作の入力が行われずに所定期間が経過した場合、換言すると、速度維持処理が所定期間継続された場合に、制御部４５は、ステップＳ３５において減速処理を実行する。減速処理は、移動操作の入力が終了した後であって次の前記移動操作が入力されていない期間において、ロボット２０、３０の動作速度Ｖｒを徐々に減速させる処理である。本実施形態の場合、制御部４５は、速度維持処理を実行した後つまりステップＳ３３の所定期間を経過した後に、減速処理を実行する。そして、制御部４５は、減速処理を実行すると、図４のステップＳ１４へ移行し、ステップＳ１４以降の処理を繰り返す。
【０１４０】
ここで、「ロボット２０、３０の動作速度Ｖｒを徐々に減速させる」とは、例えば操作図形５１が実態を有する円板であり、その操作図形５１の回転に慣性力及び摩擦力が作用していると仮定した場合において、操作図形５１に対して何ら操作が行わられなくなってから操作図形５１の回転が停止するまでの回転速度の減少割合と同程度の割合による減速を意味する。そのため、「徐々に減速」における減速の程度は、移動操作の入力が終了する直前のロボット２０、３０の動作速度Ｖｒに応じて変化する。
【０１４１】
また、図２３のステップＳ３２において、操作図形５１に対して所定期間以上のタッチ操作が行われた場合（ＹＥＳ）、制御部４５は、図２４のステップＳ３６へ移行する。制御部４５は、ステップＳ３６において、ロボット２０、３０が動作中であるか否かつまり停止しているか否かを判断する。ロボット２０、３０が停止している場合（ステップＳ３６でＮＯ）、制御部４５は、ステップＳ３７、Ｓ３８を処理することなくステップＳ３９へ移行する。一方、ロボット２０、３０が動作中である場合（ステップＳ３６でＹＥＳ）、制御部４５は、ステップＳ３７、Ｓ３８を実行する。
【０１４２】
ステップＳ３７において、制御部４５は、停止処理を実行する。停止処理は、ロボット２０、３０の動作を停止させる処理である。この場合、制御部４５は、停止指令をコントローラ１１へ送信する。ここで、停止処理が実行されてからロボット２０、３０が実際に停止するまでにはある程度の時間を要する。そのため、ロボット２０、３０が、ユーザの意図した停止位置を超えて移動する可能性がある。そこで、制御部４５は、ステップＳ３８において、補正処理を行う。補正処理は、停止処理を実行するためのタッチ操作が行われた時点からロボット２０、３０が移動した場合に、タッチ操作が行われた時点のロボット２０、３０の位置までロボット２０、３０を移動させる処理である。つまり、補正処理は、停止処理の際に、ユーザの意図する停止位置からロボット２０、３０が移動し過ぎた場合に、ロボット２０、３０をユーザの意図する停止位置に戻す処理である。
【０１４３】
その後、制御部４５は、ステップＳ３９へ移行し、ステップＳ３２で検出したタッチ操作の入力が終了したか否かを判断する。タッチ操作の入力が終了していなければ（ステップＳ３９でＮＯ）、図４のステップＳ１４へ移行し、ステップＳ１４以降の処理を繰り返す。一方、タッチ操作の入力が終了していれば（ステップＳ３９でＹＥＳ）、制御部４５は、ステップＳ４０を実行し、現在設定されているロボット２０、３０の動作態様及び動作方向の設定を解除つまり初期化する。これにより、一連の処理が終了し、ロボット２０、３０の動作が終了する。そして、制御部４５は、図４のステップＳ１１へ戻り、再度ステップＳ１１以降の処理を実行する。これにより、ユーザは、新たな動作態様及び動作方向による手動操作が可能になる。すなわち、ユーザは、ロボット２０、３０の動作態様及び動作方向を変更することができるようになる。
【０１４４】
次に、図２５及び図２６を参照して、移動操作の操作速度Ｖｄとロボット２０、３０の動作速度Ｖｒとの関係について説明する。なお、図２５及び図２６において、Ｖｄ（ｍａｘ）とＶｒ（ｍａｘ）とは対応している。この場合、Ｖｒ（ｍａｘ）は、ロボット２０、３０の最大速度であり、Ｖｄ（ｍａｘ）は、ロボット２０、３０の最大速度を設定するために必要な操作速度Ｖｄである。
【０１４５】
例えば図２５及び図２６に示すように、２回の移動操作Ｆ１、Ｆ２が連続して入力された場合について見る。この場合、先の移動操作Ｆ１が入力されると、期間Ｔ０−Ｔ１に示すように、移動操作Ｆ１の操作速度Ｖｄの増加に伴って、ロボット２０、３０の動作速度Ｖｒが増加する。この場合、ロボット２０、３０の動作速度ＶｒがＶｒ（ｍａｘ）に到達すると、期間Ｔ１−Ｔ２に示すように、移動操作Ｆ１の操作速度ＶｄがＶｄ（ｍａｘ）を超えても、ロボット２０、３０の動作速度ＶｒはＶｒ（ｍａｘ）に維持される。
【０１４６】
その後、先の移動操作Ｆ１の入力が終了すると、期間Ｔ２−Ｔ３に示すように、速度維持処理が行われる。つまり、期間Ｔ２−Ｔ３は、速度維持期間である。これにより、ロボット２０、３０の動作速度Ｖｒは、移動操作が入力されていなくても、先の移動操作Ｆ１の入力が終了する直前の動作速度Ｖｒこの場合Ｖｒ（ｍａｘ）に維持される。そして、速度維持期間Ｔ２−Ｔ３が経過する前に次の移動操作Ｆ２が入力されると、その移動操作Ｆ２の操作速度Ｖｄに応じてロボット２０、３０の動作速度Ｖｄが決定される。次に、移動操作Ｆ２の入力が終了し、更に次の移動操作が入力されることなく期間Ｔ４−Ｔ５に示す速度維持期間が経過すると、ロボット２０、３０の動作速度Ｖｒは、期間Ｔ５−Ｔ６で示すように減速処理によって徐々に減速され、その後停止する。この場合、期間Ｔ５−Ｔ６は減速期間である。
【０１４７】
また、図２６の期間Ｕ１−Ｕ２に示すように、速度維持期間Ｔ４−Ｔ５の期間内において所定期間以上のタッチ操作Ｆ３が入力されると、停止処理が実行されてロボット２０、３０が停止しようとする。この場合、期間Ｕ１−Ｕ２は、停止期間である。停止期間Ｕ１−Ｕ２における動作速度Ｖｒの減速割合は、減速期間Ｔ５−Ｔ６における動作速度Ｖｒの減速割合よりも大きい。そして、期間Ｕ２−Ｕ３に示すように、停止処理に続けて補正処理が行われる。この場合、期間Ｕ２−Ｕ３は補正期間である。停止期間Ｕ１−Ｕ２における斜線部分の面積と、補正期間Ｕ２−Ｕ３における斜線部分の面積とは等しい。つまり、停止期間Ｕ１−Ｕ２におけるロボット２０、３０の移動量と、補正期間Ｕ２−Ｕ３におけるロボット２０、３０の移動量とは等しい。これにより、ロボット２０、３０の位置つまり手先位置は、タッチ操作Ｆ３を入力した時点の位置に戻される。
【０１４８】
このように、本実施形態によれば、例えばフリック操作の入力が終了しても、ロボット２０、３０の動作速度Ｖは徐々に減速される。そのため、ロボット２０、３０は、フリック操作の入力が終了した直後に急に停止することがなく、フリック操作の入力が終了からある程度の期間動作し続ける。したがって、ユーザは、例えば小刻みにフリック操作を繰り返すことで、ロボット２０、３０を完全に停止させることなく連続して動作させ続けることができる。これによれば、タッチパネルディスプレイ４２上の限られた領域を有効に使用できる。すなわち、移動操作に要するタッチパネルディスプレイ４２上の領域を小さくすることができ、その結果、ティーチングペンダント４０の小型化を図ることができる。また、ユーザは、例えば小刻みなフリック操作によりロボット２０、３０を操作することができるため、移動操作の際の指９０等の移動量を削減することができる。その結果、操作性が向上するとともにユーザの負担を軽減することができる。
【０１４９】
ここで、移動操作の入力が終了した直後から上述した減速処理を開始すると、複数回の移動操作を入力する場合に次のような問題が生じる。すなわち、この場合、図２５の期Ｔ２−Ｔ３において一点鎖線で示すように、先の移動操作Ｆ１の入力が終了してから次の移動操作Ｆ２が入力されるまでの期間に、ロボット２０、３０の動作速度Ｖｒは減速処理によって減速してしまう。そのため、ロボット２０、３０の動作速度Ｖｒにばらつきが生じ易くなり、ロボット２０、３０の動作が不安定になり易くなる。
【０１５０】
一方、本実施形態によれば、ユーザは、速度維持処理が行われている所定期間内に次の移動操作を入力することで、次の移動操作の入力前にロボット２０、３０が減速処理によって減速してしまうことを防ぐことができる。その結果、例えばフリック操作を連続して行う場合であっても、ロボット２０、３０の動作速度Ｖｒにばらつきが生じることを抑制でき、ロボット２０、３０の動作速度の安定性の向上が図られる。また、これによれば、各フリック操作の間隔を比較的長くしてもロボット２０、３０の動作速度Ｖｒを一定に維持し易い。そのため、フリック操作の回数を低減することができ、その結果、ユーザの負担を減らすことができる。そして、更には、速度維持処理が所定期間行われた後は、上述した減速処理が行われる。そのため、移動操作が行われなくなってから所定期間が経過すると、ロボット２０、３０は減速して停止するため安全である。
【０１５１】
また、本実施形態によれば、ユーザは、例えば図２６に示すように、減速処理中又は速度維持処理中でロボット２０、３０が動作している最中であっても、操作図形５１等に対して所定期間以上のタッチ操作Ｆ３を行うことで、減速処理による停止を待つことなくロボット２０、３０の動作を停止させることができる。これによれば、ユーザは、任意のタイミングでロボット２０、３０の動作を停止させることができるため、更なる安全性や操作性の向上が図られる。
【０１５２】
また、本実施形態によれば、図２６の期間Ｕ１−Ｕ２に示すように、タッチ操作Ｆ３が行われた時点からロボット２０、３０が移動した場合であっても、補正処理を行うことで、タッチ操作Ｆ３が行われた時点のロボット２０、３０の位置までロボット２０、３０の手先位置を戻すことができる。したがって、ユーザが意図したロボット２０、３０の停止位置と、実際のロボット２０、３０の停止位置とのずれを補正することができ、その結果、操作性の向上が図られる。
【０１５３】
（第５実施形態）
次に、第５実施形態について図２７を参照して説明する。本実施形態において、動作指令生成部４７は、先の移動操作に基づく速度維持処理を行っている最中に次の移動操作が入力された場合に、次の移動操作の操作速度Ｖｄが先の移動操作の操作速度Ｖｄに対して所定範囲ＲＡ内であれば、ロボット２０、３０の動作速度Ｖｒを先の移動操作の操作速度Ｖｄに基づく値に維持する。一方、動作指令生成部４７は、次の移動操作の操作速度Ｖｄが先の移動操作の操作速度Ｖｄに対して所定範囲ＲＡ外であれば、ロボット２０、３０の動作速度Ｖｒを次の移動操作の操作速度Ｖｄに基づいて決定する。この場合、所定範囲ＲＡは、先の移動操作の操作速度Ｖｄの平均値又は最大値等を基準に決定されるものであり、例えば先の移動操作の操作速度Ｖｄの平均速度に対して上下数％程度の範囲である。
【０１５４】
例えば図２７では、３回のフリック操作Ｆ４〜Ｆ６が入力された場合を示している。この場合、制御部４５は、最初のフリック操作Ｆ４を検出すると、期間Ｔ０−Ｖ１で示すように、そのフリック操作Ｆ４の操作速度Ｖｄに応じた動作速度Ｖｒでロボット２０、３０を動作させるとともに、そのフリック操作Ｆ４の操作速度Ｖｄを基準にした所定範囲ＲＡを設定する。図２７では、最初のフリック操作Ｆ４における操作速度Ｖｄの最大値Ｖｄ（４）を基準とした所定範囲ＲＡを二点鎖線で示している。フリック操作Ｆ４の入力が終了すると、期間Ｖ１−Ｖ２で示すように、フリック操作Ｆ４の入力終了直前の動作速度Ｖｒ（４）が維持される。
【０１５５】
次に、制御部４５は、次のフリック操作Ｆ５を検出すると、そのフリック操作Ｆ５の操作速度Ｖｄが、先のフリック操作Ｆ４を基準とする所定範囲ＲＡ内に収まっているか否かを判断する。この場合、次のフリック操作Ｆ５の操作速度Ｖｄは、先のフリック操作Ｆ４の操作速度Ｖｄの最大値Ｖｄ（４）を基準とした所定範囲ＲＡ内に収まっている。そのため、制御部４５は、期間Ｖ２−Ｖ４に示すように、先の移動操作Ｆ４の入力終了時におけるロボット２０、３０の動作速度Ｖｄ（４）を引き継いで、ロボット２０、３０を動作速度Ｖｄ（４）で動作させ続ける。
【０１５６】
同様に、制御部４５は、更に次のフリック操作Ｆ６を検出すると、そのフリック操作Ｆ５の操作速度Ｖｄが、先のフリック操作Ｆ４を基準とする所定範囲ＲＡ内に収まっているか否かを判断する。この場合、次のフリック操作Ｆ６の操作速度Ｖｄは、先のフリック操作Ｆ４の操作速度Ｖｄを基準とした所定範囲ＲＡ外となっている。そのため、制御部４５は、期間Ｖ５−Ｔ４に示すように、フリック操作Ｆ６の操作速度Ｖｄに応じた動作速度Ｖｒでロボット２０、３０を動作させるとともに、そのフリック操作Ｆ６の操作速度Ｖｄを基準にした所定範囲ＲＡを設定し直す。
【０１５７】
これによれば、各フリック操作Ｆ４〜Ｆ６の操作速度Ｖｄがある程度ばらついていても所定範囲ＲＡ内に収まっていれば、ロボット２０、３０の動作速度Ｖｄを一定に維持することができる。したがって、移動操作Ｆ４〜Ｆ６の操作速度Ｖｄのばらつきを吸収することができ、ロボット２０、３０の動作の安定性を向上させることができる。また、例えば先のフリック操作Ｆ４に対する次のフリック操作Ｆ６のように、ユーザが所定範囲ＲＡ外となる操作速度Ｖｄの移動操作を入力することで、ロボット２０、３０の動作速度Ｖｒを変更することができる。したがって、これによれば、移動操作Ｆ４〜Ｆ６の操作速度Ｖｄのばらつきを吸収しつつ柔軟な操作が可能になり、その結果、操作性の向上が図られる。
【０１５８】
（その他の実施形態）
なお、本発明の実施形態は、上記し且つ図面に記載した各実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲において適宜変更することができる。本発明の実施形態は、例えば次のような変形または拡張が可能である。
例えば第３実施形態において、選択領域５４１〜５５２に対応する角度方向は、上述したものに限られず、ユーザの任意で設定することができる。例えば選択領域５４１〜５５２に割り当てられる動作態様は、上述したＸ−Ｙ平面方向に限られず、Ｘ−Ｚ平面や、Ｙ−Ｚ平面、その他の動作態様であってもよい。また、選択領域の数も、ユーザの任意で増減することができる。
【０１５９】
上記各実施形態において、タッチパネル４２１及びディスプレイ４２２は、タッチパネルディスプレイ４２として一体に構成されている。しかし、タッチパネル及びディスプレイは、それぞれ別体に分離した構成であってもよい。この場合、操作図形及び方向図形は、印刷等によって予めタッチパネルに設けることもできる。
【０１６０】
また、上記実施形態によるティーチングペンダント４０の操作対象となるロボットは、４軸ロボット２０又は６軸ロボット３０に限られない。例えば、いわゆるＸ−Ｙステージ（２軸ステージ）の上に４軸ロボット２０又は６軸ロボット３０を設置したものでもよい。また、ティーチングペンダント４０の操作対象となるロボットには、例えば１つの駆動軸を有する直線型ロボットや、複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、機械的な回転軸に限られず、例えばリニアモータによって駆動する方式も含まれる。
【０１６１】
また、操作図形５１等は、平面的な構成でなく、仮想的な立体形状としてもよい。例えば図２８に示す操作図形８１、８２は、ディスプレイ４２２上に表示された疑似的な球体であって、いわゆる仮想的なトラックボールのように構成されている。ユーザは、操作図形８１、８２に対して、例えば各矢印で示す任意の方向への移動操作を行うことで、操作図形８１、８２を移動操作の操作方向へ仮想的に回転させることができる。この場合、ユーザは、例えば操作図形８１を矢印Ｇ１に示す方向へ回転させることで、ロボット２０、３０の手先を＋Ｙ方向へ移動させることができる。同様に、ユーザは、操作図形８１を矢印Ｇ２に示す方向へ回転させることでロボット２０、３０の手先を−Ｙ方向へ移動させることができる。
【０１６２】
更にユーザは、例えば操作図形８１を矢印Ｇ３に示す方向へ回転させることで、ロボット２０、３０の手先を＋Ｘ方向と＋Ｙ方向とを合成した方向へ動かすことができる。この構成によれば、操作図形を小さくしても操作性が損なわれ難い。したがって、操作性を損なうこと無くティーチングペンダント４０の小型化を図ることができる。なお、この場合、３個以上の操作図形をタッチパネルディスプレイ４２に配置してもよい。また、図２８に示す構成は、手先系の操作又は各軸系の操作のいずれについても適用することができる。
【符号の説明】
【０１６３】
図面中、１０はロボットシステム、２０は４軸型の水平多関節ロボット（ロボット）、３０は６軸型の垂直多関節ロボット（ロボット）、４０はティーチングペンダント（ロボット操作装置）、４２はタッチパネルディスプレイ、４２１はタッチパネル、４２２はディスプレイ、４６は操作検出部、４７は動作指令生成部、４８は表示制御部、５１は４軸手先系用操作図形（操作図形）、５１１〜５１４は選択領域、５１５は無効領域、５２は４軸各軸系用操作図形（操作図形）、５２１〜５２４は選択領域、５２５は無効領域、５３は操作図形、５３１〜５３４は選択領域、５３５は無効領域、５４は操作図形、５４１〜５５２は選択領域、６１は６軸手先系用操作図形、６１１〜６１６は選択領域、６１７は無効領域、６２は６軸各軸系用操作図形、６２１〜６２６は選択領域、６２７は無効領域、６３は操作図形、６３１〜６３６は選択領域、６３７は無効領域、８１、８２は操作図形を示す。
【図１】
2016175178.tif 000003
【図２】
2016175178.tif 000004
【図３】
2016175178.tif 000005
【図４】
2016175178.tif 000006
【図５】
2016175178.tif 000007
【図６】
2016175178.tif 000008
【図７】
2016175178.tif 000009
【図８】
2016175178.tif 000010
【図９】
2016175178.tif 000011
【図１０】
2016175178.tif 000012
【図１１】
2016175178.tif 000013
【図１２】
2016175178.tif 000014
【図１３】
2016175178.tif 000015
【図１４】
2016175178.tif 000016
【図１５】
2016175178.tif 000017
【図１６】
2016175178.tif 000018
【図１７】
2016175178.tif 000019
【図１８】
2016175178.tif 000020
【図１９】
2016175178.tif 000021
【図２０】
2016175178.tif 000022
【図２１】
2016175178.tif 000023
【図２２】
2016175178.tif 000024
【図２３】
2016175178.tif 000025
【図２４】
2016175178.tif 000026
【図２５】
2016175178.tif 000027
【図２６】
2016175178.tif 000028
【図２７】
2016175178.tif 000029
【図２８】
2016175178.tif 000030