以下、本発明の複数の実施形態について説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
以下、本発明の第1実施形態について図1〜図18を参照しながら説明する。
図1及び図2は、一般的な産業用ロボットのシステム構成を示している。ロボットシステム10は、例えば図1に示す4軸型の水平多関節ロボット20(以下、4軸ロボット20と称する)や、図2に示す6軸型の垂直多関節ロボット30(以下、6軸ロボット30と称する)等を動作させるものである。なお、ロボットシステム10の動作対象となるロボットは、上述の4軸ロボット20や6軸ロボット30に限られない。
まず、図1に示す4軸ロボット20の概略構成について説明する。4軸ロボット20は、固有のロボット座標系(X軸、Y軸およびZ軸からなる三次元直交座標系)に基づいて動作する。本実施形態において、ロボット座標系は、ベース21の中心を原点Oとし、作業台Pの上面をX−Y平面とし、そのX−Y平面と直交する座標軸をZ軸として定義されている。作業台Pの上面は、4軸ロボット20を設置するための設置面である。この場合、その設置面が動作基準面に相当する。なお、動作基準面としては、設置面に限らずともよく、任意の平面であってもよい。
4軸ロボット20は、ベース21、第1アーム22、第2アーム23、シャフト24、及びフランジ25を有している。ベース21は、作業台Pの上面(以下、設置面とも称す)に固定される。第1アーム22は、ベース21の上部に対して、Z軸(垂直軸)方向の軸心を持つ第1軸J21を中心に水平方向に回転可能に連結されている。第2アーム23は、第1アーム22の先端部の上部に対して、Z軸方向の軸心を持つ第2軸J22を中心に回転可能に連結されている。シャフト24は、第2アーム23の先端部に対して、上下動可能で且つ回転可能に設けられている。また、シャフト24を上下動させる際の軸が第3軸J23であり、シャフト24を回転させる際の軸が第4軸J24である。フランジ25は、シャフト24の先端部つまり下端部に着脱可能に取り付けられている。
ベース21、第1アーム22、第2アーム23、シャフト24、及びフランジ25は、4軸ロボット20のアームとして機能する。アーム先端であるフランジ25には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。例えば4軸ロボット20を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。4軸ロボット20に設けられる複数の軸(J21〜J24)はそれぞれに対応して設けられるモータ(図示せず)により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器(図示せず)が設けられている。
次に、図2に示す6軸ロボット30の概略構成について説明する。6軸ロボット30も、4軸ロボット20と同様に、固有のロボット座標系(X軸、Y軸およびZ軸からなる三次元直交座標系)に基づいて動作する。6軸ロボット30は、ベース31、ショルダ部32、下アーム33、第1上アーム34、第2上アーム35、手首36、及びフランジ37を有している。ベース31は、作業台Pの上面に固定される。ショルダ部32は、ベース31の上部に対して、Z軸(垂直軸)方向の軸心を持つ第1軸J31を中心に水平方向に回転可能に連結されている。下アーム33は、ショルダ部32に対して上方へ延びるように設けられている。下アーム33は、ショルダ部32に対して、Y軸方向の軸心を持つ第2軸J32を中心に垂直方向に回転可能に連結されている。
第1上アーム34は、下アーム33の先端部に対して、Y軸方向の軸心を持つ第3軸J33を中心に垂直方向に回転可能に連結されている。第2上アーム35は、第1上アーム34の先端部に対して、X軸方向の軸心を持つ第4軸J34を中心に捻り回転可能に連結されている。手首36は、第2上アーム35の先端部に対して、Y軸方向の軸心を持つ第5軸J25を中心に垂直方向に回転可能に連結されている。そして、フランジ37は、手首36に対し、X軸方向の軸心を持つ第6軸J36を中心に捻り回転可能に連結されている。
ベース31、ショルダ部32、下アーム33、第1上アーム34、第2上アーム35、手首36及びフランジ37は、ロボット30のアームとして機能する。アーム先端であるフランジ37(手先に相当)には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。6軸ロボット30に設けられる複数の軸(J31〜J36)は、と4軸ロボット20と同様、それぞれに対応して設けられるモータ(図示せず)により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器(図示せず)が設けられている。
6軸ロボット30は、各軸系の動作において、各駆動軸J31〜J36を個別に駆動させることができる。また、6軸ロボット30は、手先系の動作において、4軸ロボット20が行う得る動作に加え、その手先を、Z軸とは異なる2つの軸回りに回転する動作を行うことができる。上記2つの軸とは、設置面Pに対して水平な互いに直交する2つの軸(X軸及びY軸)である。この場合、X軸回りの回転方向をRx方向とし、Y軸回りの回転方向をRy方向としている。すなわち、6軸ロボット30は、手先系の動作において、例えば、第1軸J31と第2軸J32と第3軸J33とを組み合わせたX−Y平面方向への動作と、第2軸J32及び第3軸J33を組み合わせたZ方向への動作と、第4軸J34によるRx方向への動作と、第5軸J35によるRy方向への動作と、第6軸によるRz方向への動作と、を行うことができる。
また、図1及び図2に示すロボットシステム10は、ロボット20、30の他、コントローラ11及びティーチングペンダント40(ロボット操作装置に相当)を備えている。コントローラ11は、各ロボット20、30を制御するものである。コントローラ11は、接続ケーブルを介してロボット20、30に接続されている。ティーチングペンダント40は、接続ケーブルを介してコントローラ11に接続されている。コントローラ11とティーチングペンダント40との間では、データ通信が行われる。これにより、ユーザの操作に応じて入力される各種の操作情報が、ティーチングペンダント40からコントローラ11に送信される。また、コントローラ11は、ティーチングペンダント40に対し、各種の制御信号や表示用の信号などを送信するとともに、駆動用の電力を供給する。なお、ティーチングペンダント40とコントローラ11とは、無線通信によって接続されていてもよい。
コントローラ11は、ティーチングペンダント40から手動動作を指令する信号が与えられると、ロボット20、30を手動で動作させる制御を行う。また、コントローラ11は、ティーチングペンダント40から自動動作を指令する信号が与えられると、予め記憶されている自動プログラムを起動することにより、ロボット20、30を自動動作させる制御を行う。
ティーチングペンダント40は、例えばユーザが携帯したり手に所持したりして操作可能な程度の大きさである。ティーチングペンダント40は、例えばケース41と、タッチパネルディスプレイ42と、スイッチ43と、を有している。ケース41は、例えば薄型の略矩形箱状であって、ティーチングペンダント40の外殻を構成している。タッチパネルディスプレイ42は、ケース41の表面側の大部分を占めるように設けられている。タッチパネルディスプレイ42は、図3に示すように、タッチパネル421とディスプレイ422とを有し、これらタッチパネル421とディスプレイ422とを重ねて配置したものである。
タッチパネルディスプレイ42は、タッチパネル421によってユーザからのタッチ操作、ドラッグ操作、及びフリック操作の入力を受けるとともに、ディスプレイ422によって文字や数字、記号、及び図形等の画像の表示が可能である。なお、ドラッグ操作及びフリック操作はいずれも移動操作の一態様であり、両者はユーザの指90等がタッチパネルディスプレイ42に接触してから離れるまでの期間つまり操作に要した時間や指90等の移動量によって区別される。この場合、例えば操作に要した時間が所定時間よりも長ければドラッグ操作となり、短ければフリック操作となる。以下の説明では、移動操作の一例としてドラッグ操作を適用した場合について説明するが、フリック操作にも適用することができる。スイッチ43は、例えば物理的なスイッチであり、タッチパネルディスプレイ42の周囲に設けられている。なお、スイッチ43は、タッチパネルディスプレイ42に表示させたボタンで代用してもよい。ユーザは、タッチパネルディスプレイ42やスイッチ43を操作することで、種々の入力操作を実行する。
ユーザは、ティーチングペンダント40を用いてロボット20、30の運転や設定などの各種機能を実行可能であり、予め記憶されている制御プログラムを呼び出して、ロボット20、30の起動や各種のパラメータの設定などを実行できる。また、ロボット20、30をマニュアル操作すなわち手動操作で動作させて各種の教示作業も実行可能である。そして、タッチパネルディスプレイ42には、例えばメニュー画面、設定入力画面、状況表示画面などが必要に応じて表示される。
次に、ティーチングペンダント40の電気的な構成について図3を参照して説明する。
ティーチングペンダント40は、タッチパネルディスプレイ42、スイッチ43に加え、通信インターフェース(I/F)44、制御部45、操作検出部46、動作指令生成部47、及び表示制御部48を有している。通信インターフェース44は、ティーチングペンダント40の制御部45と、コントローラ11とを通信可能に接続している。
制御部45は、例えばCPU451や、ROM、RAM、及び書き換え可能なフラッシュメモリなどの記憶領域452を有するマイクロコンピュータを主体に構成されており、ティーチングペンダント40の全体を制御する。記憶領域452は、ロボット操作プログラムを記憶している。制御部45は、CPU451においてロボット操作プログラムを実行することにより、操作検出部46、動作指令生成部47、及び表示制御部48等を、ソフトウェアによって仮想的に実現する。なお、これら操作検出部46、動作指令生成部47、及び表示制御部48は、例えば制御部45と一体の集積回路としてハードウェア的に実現してもよい。
操作検出部46は、タッチパネル421に対するタッチ操作及びドラッグ操作を検出することができる。操作検出部46は、タッチ操作の検出として、ユーザの指等が、タッチパネルディスプレイ42に接触したかどうか、及びその接触した指等の位置(タッチ位置)を検出することができる。また、操作検出部46は、ドラッグ操作の検出として、ドラッグ操作に係る指等の現在位置、移動方向、移動速度、及び移動量を検出することができる。
動作指令生成部47は、操作検出部46の検出結果に基づいてロボット20、30を動作させるための動作指令を生成する。動作指令生成部47により生成された動作指令は、通信イーターフェース44を通じてコントローラ11に与えられる。表示制御部48は、スイッチ43に対する操作や、操作検出部46の検出結果等に基づいて、ディスプレイ422に表示させる表示内容を制御する。このような構成のティーチングペンダント40を用いることにより、ユーザは、ロボット20、30の手動操作を、タッチ操作及びドラッグ操作によって行うことができる。
次に、制御部45で行われる制御内容について、図4〜図15を参照して説明する。なお、以下の説明において、ロボット20、30の動作態様と称した場合には、ロボット20、30の駆動軸又は駆動軸の組み合わせによるロボット20、30の動作態様を意味するものとする。この場合、ロボット20、30の動作態様には、上述した手先系や各軸系といった動作系において、その動作系における正(+)方向又は負(−)方向への移動方向は含まないものとする。
ティーチングペンダント40の制御部45は、ロボット20、30の手動操作を開始すると、図4及び図5に示す制御内容を実行する。具体的には、制御部45は、手動操作に係る処理を開始すると、まず、図4のステップS11において、タッチパネルディスプレイ42の操作図形を表示する。図6〜図9は、タッチパネルディスプレイ42に表示される操作図形の一例を示している。
例えば図6に示す操作図形51は、4軸ロボット20の手先系の操作に用いるものであり、図7に示す操作図形52は、4軸ロボット20の各軸系の操作に用いるものである。また、図8に示す操作図形61は、6軸ロボット30の手先系の操作に用いるものであり、図9に示す操作図形62は、6軸ロボット30の各軸系の操作に用いるものである。なお、以下の説明においては、図6に示す操作図形51を、4軸手先系用操作図形51と称し、図7に示す操作図形52を、4軸各軸系用操作図形52と称する。また、図8に示す操作図形61を、6軸手先系用操作図形61と称し、図9に示す操作図形62を、6軸各軸系用操作図形62と称する。
まず、図6及び図7に示す4軸ロボット20用の操作図形51、52について説明する。4軸ロボット20用の操作図形51、52の外形は円形に形成されている。4軸ロボット20用の操作図形51、52の内側は、各動作系の駆動態様の数で等分されている。この場合、4軸ロボット20用の操作図形51、52の円の内側は、それぞれ4軸ロボット20の各動作系における駆動態様の数である4個に等分されている。そして、4等分された操作図形51、52の内側の各領域は、それぞれ手先系の選択領域511〜514と、各軸系の選択領域521〜524とに設定されている。
この場合、図6に示す4軸手先系用操作図形51において、第1選択領域511はX方向への動作態様に割り当てられ、第2選択領域512はY方向への動作態様に割り当てられ、第3選択領域513はZ方向への動作態様に割り当てられ、第4選択領域514はRz方向への動作態様に割り当てられている。また、図7に示す4軸各軸系用操作図形52において、第1選択領域521は第1軸J21の動作態様に割り当てられ、第2選択領域522は第2軸J22の動作態様に割り当てられ、第3選択領域523は第3軸J23の動作態様に割り当てられ、第4選択領域524は第4軸J24の動作態様に割り当てられている。
これにより、ユーザは、各操作図形51、52について、選択領域511〜514、521〜524のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様で4軸ロボット20を動作させることができる。なお、4軸手先系用操作図形51と4軸各軸系用操作図形52とは、図6及び図7に示すように画面を切り替えて表示させるようにしてもよいし、同一の画面上に表示させてもよい。
次に、図8及び図9に示6軸ロボット30用の操作図形61、62について説明する。6軸ロボット30用の操作図形61、62の外形は円形に形成されている。6軸ロボット30用の操作図形61、62の内側は、各動作系の駆動態様の数で等分されている。この場合、6軸ロボット30用の操作図形61、62の円の内側は、それぞれ6軸ロボット30の各動作系における駆動態様の数である6個に等分されている。そして、6等分された操作図形61、62の内側の各領域は、それぞれ手先系の選択領域611〜616と、各軸系の選択領域621〜626とに設定されている。
この場合、図8に示す6軸手先系用操作図形61において、第1選択領域611はX方向への動作態様に割り当てられ、第2選択領域612はY方向への動作態様に割り当てられ、第3選択領域613はZ方向への動作態様に割り当てられ、第4選択領域614はRx方向への動作態様に割り当てられ、第5選択領域615はRy方向への動作態様に割り当てられ、第6選択領域616はRz方向への動作態様に割り当てられている。また、図9に示す6軸各軸用操作図形62において、第1選択領域621は、第1軸J31の動作態様に割り当てられ、第2選択領域622は第2軸J32の動作態様に割り当てられ、第3選択領域623は第3軸J33の動作態様に割り当てられ、第4選択領域624は第4軸J34の動作態様に割り当てられ、第5選択領域625は第5軸J35の動作態様に割り当てられ、第6選択領域626は第6軸J36の動作態様に割り当てられている。
これにより、ユーザは、選択領域611〜616、621〜626のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様で6軸ロボット30を動作させることができる。なお、6軸手先系用操作図形61と6軸各軸系用操作図形62とは、図8及び図9に示すように画面を切り替えて表示させるようにしてもよいし、同一の画面上に表示させてもよい。
また、図6〜図9に示すように、各操作図形51、52、61、62は、それぞれ無効領域515、525、617、627を有している。無効領域515、525、617、627は、それぞれ操作図形51、52、61、62上の中心P0付近に設けられている。この場合、無効領域515、525、617、627は、各操作図形51、52、61、62の外形を形成する円よりも小さい同心円状に形成されて、各操作図形51、52、61、62の内側に設けられている。制御部45は、操作検出部46が検出したタッチ操作及びドラッグ操作のうち、無効領域515、525、617、627に対してなされた操作を無効であると判断することができる。なお、本実施形態において、制御部45は、操作検出部46が検出したタッチ操作及びドラッグ操作のうち、操作図形51、52、61、62の外側の領域に対してなされた操作も無効であると判断することができる。この場合、操作図形51、52、61、62の外側の領域も、無効領域と称される。
また、制御部45は、ステップS11において、図6〜図9に示すように方向図形71、72をタッチパネルディスプレイ42に表示する。方向図形71、72は、回転中心P0に対するドラッグ操作の操作方向を示すものである。本実施形態では、操作図形51、52、61、62の中心P0が、ドラッグ操作の回転中心P0に設定されている。そして、回転中心P0に対して、右回りつまり時計回り方向をドラッグ操作の正方向とし、左回りつまり反時計回り方向をドラッグ操作の負方向としている。この場合、正方向図形71は、ドラッグ操作の正方向を示すものであり、負方向図形72は、ドラッグ操作の負方向を示すものである。
また、本実施形態において、制御部45は、表示制御部48の処理により、方向図形71、72の表示を次のように制御することができる。すなわち、タッチパネルディスプレイ42に対するドラッグ操作の入力が無い場合、制御部45は、図6〜図9の破線で示すように、方向図形71、72を薄く表示する。これによれば、ユーザは、薄く表示された方向図形71、72を見ることで、どの方向に対してドラッグ操作を行うことができるかを確認することができるため、操作性が向上する。
また、操作図形51、52、61、62の回転円周方向へのドラッグ操作があった場合、つまり回転中心P0に対する円周方向へのドラッグ操作の入力があった場合、制御部45は、図11及び図12に示すように、入力されたドラッグ操作の方向に対応する方向図形71、72を、他の方向に対応する方向図形71、72よりも目立つように表示する。例えば、回転中心P0に対して正方向のドラッグ操作が入力された場合、制御部45は、図11に示すように、負方向図形72に比べて正方向図形71を濃く表示する。また、回転中心P0に対して負方向のドラッグ操作が入力された場合、制御部45は、図12に示すように、正方向図形71に比べて負方向図形72を濃く表示する。これによれば、ユーザは、方向図形71、72のうち濃く表示されたものを見ることで、ドラッグ操作が自己の意図通りのものとしてティーチングペンダント40に認識されているか否かを確認することができる。その結果、操作性の向上が図られる。
次に、制御部45は、図4のステップS12において、操作検出部46の検出結果に基づいて、選択領域511〜514、521〜524のいずれか又は選択領域611〜616、621〜626のいずれかに対してタッチ操作があったか否かを判断する。いずれの選択領域に対してもタッチ操作がされていない場合(ステップS12でNO)、制御部45は、図6〜図9に示す状態で待機する。一方、いずれかの選択領域に対してタッチ操作があった場合(ステップS12でYES)、制御部45は、ステップS13へ移行する。
制御部45は、ステップS13を実行すると、動作指令生成部47の処理によって、手動操作によるロボット20、30の動作態様を、ステップS12でタッチ操作された選択領域に割り当てられた動作態様に決定する。例えば図10に示すように、ユーザが4軸手先系用操作図形51の第1選択領域511をタッチ操作した場合、制御部45は、ロボット20の動作態様を、手先系のX方向への動作態様に決定する。この場合、制御部45は、表示制御部48の処理により、タッチ操作で選択された第1選択領域511内の表示「X」を、タッチ操作されていない他の選択領域512〜514内の表示「Y」、「Z」、及び「Rz」よりも大きくしたり色を変更したりすることによって目立つように表示させることができる。これにより、ユーザは、自己のタッチ操作によってどの動作態様が選択されたかを、目視で確認することができる。その結果、操作性の向上が図られる。
次に、制御部45は、図4のステップS13において、ステップS12で検出したタッチ操作に続けて、操作図形51、52、61、62の回転円周方向へのドラッグ操作つまり回転中心P0に対する円周方向へのドラッグ操作が行われたか否かを判断する。この場合、操作図形51、52、61、62の回転円周方向とは、操作図形51、52、61、62の任意の点を回転中心P0として操作図形51、52、61、62を仮想的に回転させた場合において、操作図形51、52、61、62上の回転中心P0とは異なる任意の点の軌跡によって描かれる円の円周方向を意味する。なお、本実施形態において、回転中心P0は、各操作図形51、52、61、62の中心P0に設定されている。また、以下の説明では、操作図形51、52、61、62の回転円周方向へのドラッグ操作を、単にドラッグ操作と称する。
ドラッグ操作の検出が無かった場合(ステップS14でNO)、制御部45は、図5のステップS22を実行する。一方、ドラッグ操作の検出が有った場合(ステップS14でYES)、制御部45は、ステップS15を実行する。制御部45は、ステップS15において、ドラッグ操作の操作方向が、正方向図形71の矢印が示す正方向又は負方向図形72の矢印が示す負方向のいずれであるかを判断する。
ドラッグ操作の操作方向が正方向である場合(ステップS15で正方向)、制御部45は、ステップS16において動作方向決定処理を実行し、ロボット20、30の動作方向を正方向に決定する。一方、ドラッグ操作の操作方向が負方向である場合(ステップS15で負方向)、制御部45は、ステップS17において動作方向決定処理を実行し、ロボット20、30の動作方向を負方向に決定する。制御部45は、ステップS16又はステップS17を実行した後、図5のステップS18を実行する。
制御部45は、ステップS18において、動作速度決定処理を実行する。動作速度決定処理は、タッチパネルディスプレイ42上に設定された操作図形51、52、61、62の回転円周方向へのドラッグ操作を操作検出部46が検出した場合に、そのドラッグ操作の操作速度に基づいてロボット20、30の動作速度Vrを決定する処理である。この場合、ドラッグ操作の操作速度の概念には、単位時間当たりの移動距離によって定まる周速度Vdと、周速度Vdと回転中心からの距離とによって定まる角速度dθと、が含まれる。本実施形態の場合、動作速度決定処理は、操作図形51、52、61、62上に設定された回転中心P0に対するドラッグ操作の角速度dθに基づいてロボット20、30の動作速度Vrを決定するものである。
この場合、ドラッグ操作の周速度Vdとは、操作図形51、52、61、62の回転円周方向に対するドラッグ操作の操作位置P1の単位時間当たりの移動距離を意味する。すなわち、ドラッグ操作の周速度Vdとは、回転中心P0を中心とした円を描くようなドラッグ操作において、そのドラッグ操作の操作位置P1の軌跡によって描かれる単位時間当たりの円弧の増加距離を意味する。また、ドラッグ操作の角速度dθとは、回転中心P0を中心とした円を描くようなドラッグ操作において、そのドラッグ操作の操作位置P1の軌跡によって描かれる単位時間当たりの円弧の増加角度を意味する。
例えば図13に示すように、ユーザが回転中心P0を中心とする半径R1の円を描くようなドラッグ操作を行った場合、そのドラッグ操作の周速度をVd1とすると、そのドラッグ操作の角速度dθ1は、dθ1=Vd1/R1となる。また、ユーザが回転中心P0を中心とする半径R2の円を描くようなドラッグ操作を行った場合、そのドラッグ操作の周速度をVd2とすると、そのドラッグ操作の角速度dθ2は、dθ2=Vd2/R2となる。この場合、半径R1と半径R2との円について、両者の周速度Vdが同一であるならば、半径R1における角速度dθ1は、半径R2における角速度dθ2よりも小さくなる。つまり、周速度VdがVd1=Vd2であるならば、角速度dθはdθ1<dθ2となる。この様に、ドラッグ操作により描く円の径Rが大きくなるほど、ドラッグ操作の周速度Vdの増減に伴って変化するドラッグ操作の角速度dθの変化量は小さくなる。
また、角速度dθとロボット20、30の動作速度Vrとは次のような相関関係を有している。例えば図14に示すように、角速度dθとロボット20、30の動作速度Vrとは、一次関数的な相関関係を有している。この場合、ロボット20、30の動作速度Vrが最大動作速度Vrmaxになるまでは、角速度dθの増加に比例して一次関数的に動作速度Vrが増加する。そして、ロボット20、30の動作速度Vrが最大動作速度Vrmaxに到達すると、角速度dθが増加しても最大動作速度Vrmaxが維持される。また、例えば図15に示すように、角速度dθとロボット20、30の動作速度Vrとは、高次関数的な相関関係を有していてもよい。この場合、ロボット20、30の動作速度Vrが最大動作速度Vrmaxになるまでは、角速度dθの増加に比例して高次関数的に動作速度Vrが増加する。そして、ロボット20、30の動作速度Vrが最大動作速度Vrmaxに到達すると、角速度dθが増加しても最大動作速度Vrmaxが維持される。
次に、制御部45は、ステップS19において、動作指令生成処理を実行し、動作態様決定処理(ステップS13)で決定したロボット20、30の動作態様と、動作方向決定処理(ステップS16、S17)で決定したロボット20、30の動作方向と、動作速度決定処理(ステップS18)で決定したロボット20、30の動作速度Vrとに基づいて、ロボット20、30を動作させるための動作指令を生成する。そして、制御部45は、ステップS20において、ステップS19で生成した動作指令をコントローラ11へ送信する。コントローラ11は、ティーチングペンダント40から受信した動作指令に基づいて、ロボット20、30を動作させる。
次に、制御部45は、ステップS21において操作図形表示処理を実行し、ドラッグ操作の現在位置P1の移動に合わせて操作図形51、52、61、62を回転させる。この場合、ユーザが、操作図形51、52、61、62に対して、図10に示す状態から右回転方向この場合正方向へのドラッグ操作を行うと、図11の矢印A1で示すように、操作図形51、52、61、62が右方向この場合正方向へ回転する。また、ユーザが、操作図形51、52、61、62に対して、図10に示す状態から左回転方向この場合負方向へのドラッグ操作を行うと、図12の矢印A2で示すように、操作図形51、52、61、62が左方向この場合負方向へ回転する。この場合、操作図形51、52、61、62が回転する際の角速度は、ドラッグ操作の角速度dθに略等しい。したがって、操作図形51、52、61、62、ドラッグ操作の現在位置P1に追従するように回転する。
次に、制御部45は、図5のステップS22を実行し、操作検出部46の検出結果に基づいて、操作が終了されたか否かを判断する。この場合、操作の終了とは、ユーザの指90等がタッチパネルディスプレイ42から離間したことをいう。つまり、ドラッグ操作の周速度Vdが0つまり角速度dθが0になっただけでは、操作の終了とは判断されない。
ドラッグ操作が継続している場合(図5のステップS22でNO)、制御部45は、図4のステップS13へ移行し、ステップS14〜S22を繰り返す。なお、ステップS15〜S22の処理は、例えば0.5秒毎に繰り返される。そのため、ドラッグ操作の入力と、ロボット20、30の動作と、操作図形51、52、61、62の回転との間には、大きな時差は生じない。したがって、ユーザは、操作図形51、52、61、62を回転させることで、略リアルタイムでロボット20、30を手動操作しているとの印象を受け得る。
また、ステップS13で動作態様が決定され、かつステップS16、S17で動作方向が決定されると、ユーザは、正方向又は負方向へのドラッグ操作を継続することで、すなわち正方向又は負方向へ操作図形51、52、61、62を回転させ続けることで、その動作態様及び動作方向でロボット20、30の動作を継続させることができる。また、ユーザは、ドラッグ操作に係る指90等をタッチパネルディスプレイ42から離す前に、ドラッグ操作の回転方向の正負を変えることで、ロボット20、30の動作方向の正負を変えることができる。
制御部45は、操作検出部46の検出結果に基づいて、ドラッグ操作が終了したと判断すると(ステップS22でYES)、ステップS23を実行する。制御部45は、ステップS23において、上述した処理で決定したロボット20、30の動作態様及び動作方向の設定を解除つまり初期化する。これにより、一連の処理が終了し、ロボット20、30の動作が終了する。そして、制御部45は、図4のステップS11へ戻り、再度ステップS11〜S23の処理を実行する。これにより、ユーザは、新たな動作態様及び動作方向による手動操作が可能になる。すなわち、ユーザは、ロボット20、30の動作態様及び動作方向を変更することができるようになる。
なお、本実施形態では、動作態様が一旦設定されると、ステップS23でその設定が初期化されるまで、設定された動作態様が維持される。そのため、連続してフリック操作を入力する場合には、最初のフリック操作によって動作態様が決定されるため、フリック操作を入力する度に動作態様を設定する必要はない。つまり、ユーザは、ロボット20、30が停止して設定が初期化されるまでは、操作図形51等のどの位置に対してフリック操作を行ったとしても、最初のフリック操作で設定した動作態様でロボット20、30を動作させ続けることができる。
本実施形態によれば、制御部45は、動作指令生成部47の処理により、動作速度決定処理を行うことができる。動作速度決定処理は、タッチパネルディスプレイ42上に設定された円形の操作図形51、52、61、62の回転円周方向へのドラッグ操作を操作検出部46が検出した場合に、そのドラッグ操作の操作速度に基づいてロボット20、30の動作速度Vrを決定する処理である。
この構成において、ロボット20、30の動作速度Vrは、タッチパネルディスプレイ42上に設定された操作図形51、52、61、62の回転円周方向へのドラッグ操作が行われた場合に、そのドラッグ操作の操作速度に基づいて決定される。したがって、ユーザは、タッチパネルディスプレイ42上に設定された操作図形51、52、61、62に対して円を描くようにドラッグ操作を行うことで、そのドラッグ操作の操作速度に応じた動作速度Vrでロボット20、30を動作させ続けることができる。
例えば、ユーザが操作図形51、52、61、62の回転円周方向に沿って速い操作速度で円を描くようにドラッグ操作をし続けた場合には、ロボット20、30は、その速い操作速度に対応した速い動作速度Vrで動作し続ける。一方、ユーザが操作図形51、52、61、62の回転円周方向に沿って遅い操作速度で円を描くようにドラッグ操作をし続けた場合には、ロボット20、30は、その遅い操作速度に対応した遅い動作速度Vrで動作し続ける。そして、ユーザがドラッグ操作を停止すれば、ロボット20、30も停止する。
この様に、本実施形態のティーチングペンダント40によれば、ユーザは、円を描くように自己の指90等を動かし続けることによって、ロボット20、30を動作させ続けることができ、自己の指90等を止めることによって、ロボット20、30を停止させることができる。そして、ユーザは、自己の指90等の移動速度を調整することで、ロボット20、30の動作速度Vrを調整することができる。これにより、ユーザは、自己のドラッグ操作による指90等の動きと、ロボット20、30の動作とが関連しているとの印象を受け易い。したがって、ユーザは、自己が行っているドラッグ操作と、そのドラッグ操作によって行われるロボット20、30の動作との関連性を直接的で直感的に判断することができ、その結果、ユーザの操作性の向上を図ることができる。
更に、本実施形態のティーチングペンダント40によれば、ユーザがタッチパネルディスプレイ42上で円を描くように継続してドラッグ操作を行うことで、ロボット20、30の動作を継続させることができる。このため、ユーザは、タッチパネルディスプレイ42の画面サイズに制限されずに、ロボット20、30を動作させるためのドラッグ操作を継続することができる。したがって、タッチパネルディスプレイ42の画面サイズに制限されてドラッグ操作が継続できなくなることにより、ロボット20、30の動作が不本意に停止されること等を回避することができる。これにより、操作性の向上が図られる。
また、ロボット20、30を動作させるためのドラッグ操作の継続は、タッチパネルディスプレイ42の画面サイズに制限されないため、タッチパネルディスプレイ42を小型化することができる。例えばティーチングペンダント40を、ユーザの腕に装着可能な腕時計型のウェアラブル端末で構成した場合であっても、ユーザは、ウェアラブル端末上の小さな画面で適切にロボット20、30の手動操作を行うことができる。
また、本実施形態のティーチングペンダント40によれば、制御部45は、動作指令生成部47の処理により、動作方向決定処理を行うことができる。動作方向決定処理は、ドラッグ操作の操作方向が操作図形51、52、61、62の回転円周方向に対して正方向この場合右方向である場合にロボット20、30の動作方向を正方向に決定し、ドラッグ操作の操作方向が操作図形51、52、61、62の回転円周方向に対して負方向この場合左方向である場合にロボット20、30の動作方向を負方向に決定する処理である。これによれば、ロボット20、30の動作方向は、操作図形51、52、61、62の回転円周方向に対するドラッグ操作の操作方向によって決定される。
すなわち、操作図形51、52、61、62の回転円周方向へのドラッグ操作において、そのドラッグ操作の操作方向は、操作図形51、52、61、62の回転円周方向に対する正負方向のいずれか一方となる。したがって、ユーザが操作図形51、52、61、62の回転円周方向へのドラッグ操作を行うことで、ロボット20、30の動作方向の正負方向が必然的に決定される。これにより、ユーザは、ロボット20、30の動作方向を決定するための操作を別途行う必要が無く、一連のドラッグ操作によって、ロボット20、30の動作方向を決定する操作と動作速度を決定する操作との両方を行うことができる。その結果、操作の手数を削減することができて操作性の向上が図られる。
また、操作図形51、52、61、62は、複数の選択領域511〜514、521〜524、611〜616、621〜626を有している。選択領域511〜514、521〜524、611〜616、621〜626は、20、30ロボットの動作態様が割り当てられた領域である。そして、制御部45は、動作指令生成部47の処理により、動作態様決定処理を行うことができる。動作態様決定処理は、操作検出部46が選択領域511〜514、521〜524、611〜616、621〜626に対するタッチ操作を検出した場合に、タッチ操作された選択領域511〜514、521〜524、611〜616、621〜626に割り当てられた動作態様をロボット20、30の動作態様に決定する処理である。
これによれば、ユーザは、操作図形51、52、61、62の選択領域511〜514、521〜524、611〜616、621〜626をタッチ操作することで、ロボット20、30の動作態様を選択することができる。すなわち、ロボット20、30の動作速度Vrを決定するドラッグ操作を行う際には、そのドラッグ操作の前に必ずタッチパネルディスプレイ42に対するタッチ操作が行われる。そこで、本実施形態のティーチングペンダント40によれば、ユーザは、ロボット20、30の動作速度Vrを決定するために必ず行われるタッチ操作によって、ロボット20、30の動作態様を選択することができる。したがって、ロボット20、30の動作態様を選択するための操作を削減することができ、その結果、操作の手数を削減して操作性の向上が図られる。
また、制御部45は、表示制御部48の処理により、操作図形表示処理を行うことができる。操作図形表示処理は、操作図形51、52、61、62をタッチパネルディスプレイ42に表示させる処理である。これによれば、ユーザは、タッチパネルディスプレイ42に表示された操作図形51、52、61、62を目安にドラッグ操作を行うことができるため、どの方向へドラッグ操作を行えばよいか等の判断がし易くなる。その結果、操作性が更に向上する。
また、操作図形表示処理は、ドラッグ操作の現在位置P1の移動に合わせて操作図形51、52、61、62を回転させてタッチパネルディスプレイ42に表示させる処理を含んでいる。これによれば、ユーザは、自己のドラッグ操作に伴って回転する操作図形51、52、61、62を見ることで、自己のドラッグ操作が適切に行われているか否か等を、目視で容易に確認することができる。その結果、更に直感的な操作が可能になり、ユーザの操作感覚の更なる向上を図ることができる。
また、動作速度決定処理は、操作図形51、52、61、62上に設定された回転中心P0に対するドラッグ操作の角速度dθに基づいてロボット20、30の動作速度Vrを決定するものである。すなわち、ある点を中心点にして円を描くようにドラッグ操作を行う場合、ドラッグ操作に係る操作位置P1が中心点から遠くなるほど、つまりドラッグ操作により描く円の径が大きくなるほど、ドラッグ操作の周方向の移動距離に対する回転角度は小さくなる。すなわち、ドラッグ操作により描く円の径が大きくなるほど、ドラッグ操作の回転中心に対する円周方向の速度つまり周速度Vdの増減に伴って変化するドラッグ操作の角速度dθの変化量は小さくなる。
例えば、図13に示すように、ユーザが大きな径R1の円を描くようなドラッグ操作を行った場合、そのドラッグ操作に係る周方向の移動距離が長くても、回転角度は小さくなる。換言すれば、ユーザは、大きな径R1の円を描くようなドラッグ操作を行うことで、速い周速度Vd1で遅い角速度dθ1が得られる。これは、ロボット20、30の手先位置の微調整つまり微動を行う際に有利である。この場合、ユーザは、ドラッグ操作の移動速度Vdの増減によって変化するロボット20、30の動作速度Vrの変化量を、より小さくすることができるからである。すなわち、ドラッグ操作の周速度Vdを一定とした場合、ユーザは、小さな径R2の円を描くようなドラッグ操作を行う場合に比べて、大きな径R1の円を描くようにドラッグ操作を行うことで、より遅い動作速度でロボットを動作させることができる。
一方、ユーザが小さな径R2の円を描くようなドラッグ操作を行った場合、そのドラッグ操作に係る周方向の移動距離が短くても、回転角度は大きくなる。換言すれば、ユーザは、小さな径R2の円を描くようなドラッグ操作を行うことで、遅い周速度Vd2で速い角速度dθ2が得られる。これは、ロボット20、30の手先位置を大きく移動させるつまり粗動の際に有利である。この場合、ユーザは、ドラッグ操作の移動速度Vdの増減によって変化するロボット20、30の動作速度Vrの変化量を、より大きくすることができるからである。すなわち、ドラッグ操作の周速度Vdを一定とした場合、ユーザは、大きな径R1の円を描くようなドラッグ操作を行う場合に比べて、小さな径R2の円を描くようにドラッグ操作を行うことで、より早い動作速度Vrでロボット20、30を動作させることができる。
このように、本実施形態のティーチングペンダント40によれば、ユーザは、操作図形51、52、61、62上の回転中心P0からドラッグ操作の操作位置P1までの距離を調整してドラッグ操作を行うことで、つまりドラッグ操作で描く円の径Rの大きさを調整することで、ドラッグ操作の周速度Vdの増減によって変化するロボット20、30の動作速度Vrの変化量を調整することができる。これにより、ユーザは、ロボット20、30の微動と粗動とを使い分けることが容易になり、操作性の更なる向上を図ることができる。
また、本実施形態の場合、ロボット20、30の移動距離は、ロボット20、30の動作速度Vrに動作時間を乗じたものとなる。つまり、ロボット20、30の移動距離は、操作図形51、52、61、62の角速度dθに操作時間を乗じたものすなわち操作図形51、52、61、62の回転角度に比例する。換言すれば、ロボット20、30の移動距離は、操作図形51、52、61、62の回転数に比例する。例えば操作図形51、52、61、62の回転数が増えれば、ロボット20、30の移動距離も長くなり、操作図形51、52、61、62の回転数が減れば、ロボット20、30の移動距離も短くなる。このように、ユーザは、操作図形51、52、61、62の回転数を調整することで、ロボット20、30の移動距離を調整することができる。その結果、ロボット20、30の移動距離の調整がし易くなり、操作性の更なる向上を図ることができる。
また、動作速度決定処理は、操作検出部46が操作図形51、52、61、62上の回転中心P0付近に設けられた無効領域515、525、617、627に対するドラッグ操作を検出した場合に無効領域515、525、617、627内におけるドラッグ操作を無効であると判断する処理を含んでいる。すなわち、上述したようにドラッグ操作の角速度dθに基づいてロボット20、30の動作速度Vrを決定するものにおいては、ドラッグ操作の操作位置P1が回転中心P0に近づくほど、ドラッグ操作の周速度Vdの増減によって変化するロボット20、30の動作速度Vrの変化量が大きくなる。したがって、ドラッグ操作の操作位置P1が回転中心P0付近である場合、ユーザの僅かなドラッグ操作がロボット20、30の動作に大きく反映されてしまうため、ロボット20、30の動作がユーザの意図しない大きなものになり易くなる。
これに対し、本実施形態のティーチングペンダント40によれば、操作図形51、52、61、62の回転中心P0付近に、無効領域515、525、617、627が設定されている。そして、その無効領域515、525、617、627に対するドラッグ操作は無効と判断される。この場合、ドラッグ操作の入力が無いと判断されてロボット20、30の動作が停止する。したがって、ドラッグ操作の操作位置P1が回転中心P0付近となってしまった場合に、ロボット20、30を停止させるというより安全側に作用させることにより、ユーザの僅かなドラッグ操作がロボット20、30の動作に大きく反映されてしまうことを防ぐことができる。したがって、ユーザの意図に反してロボット20、30の動作が大きくなり過ぎるという事態を極力防ぐことができ、その結果、安全性の向上を図ることができる。
また、本実施形態において、4軸ロボット20における手先系のZ方向の動作態様は、各軸系の第3軸J23を駆動させる動作態様と同一であり、手先系のRz方向の動作態様は、各軸系の第4軸J24を駆動させる動作態様と同一である。また、6軸ロボット30における手先系のRx方向の動作態様は、各軸系の第4軸J34を駆動させる動作態様と同一であり、手先系のRy方向の動作態様は、各軸系の第5軸J35を駆動させる動作態様と同一であり、手先系のRz方向の動作態様は、各軸系の第6軸J36を駆動させる動作態様と同一である。
そこで、本実施形態のティーチングペンダント40によれば、手先系と各軸系において駆動させる軸が同一となる動作態様については、各操作図形において同一位置に配置された選択領域に割り当てられている。例えば4軸ロボット20用の操作図形51、52について見ると、図6及び図7に示すように、手先系のZ方向と各軸系の第3軸J23との動作態様は、操作図形51、52に対して同一の位置に配置された第3選択領域513、523に割り当てられている。また、手先系のRz方向と各軸系の第4軸J24との動作態様は、操作図形51、52に対して同一の位置に配置された第4選択領域514、524に割り当てられている。
また、例えば6軸ロボット30用の操作図形61、62について見ると、図8及び図9に示すように、手先系のRx方向と各軸系の第4軸J34との動作態様は、操作図形61、62に対して同一の位置に配置された第4選択領域614、624に割り当てられている。また、手先系のRy方向と各軸系の第5軸J35との動作態様は、操作図形61、62に対して同一の位置に配置された第5選択領域615、625に割り当てられている。そして、手先系のRz方向と各軸系の第6軸J36との動作態様は、操作図形61、62に対して同一の位置に配置された第6選択領域616、626に割り当てられている。
これによれば、各軸系と手先系との動作態様において同一の動きとなる動作態様を同一位置に配置された選択領域に割り当てることで、各操作系についてどの操作態様がどの選択領域に割り当てられているかを覚えるというユーザの負担を軽減することができる。これにより、手先系と各軸系との手動操作を切り替えた場合において、ユーザが選択領域の操作を間違える等の誤操作を極力防止することができる。その結果、操作性や安全性の更なる向上が図られる。
また、本実施形態によるロボット操作プログラムを、例えばタッチパネルディスプレイを備える汎用のタブレットPCやスマートフォン等によって実行することで、汎用のタブレットPCやスマートフォン等に、上述したティーチングペンダント40と同等の機能を付加することができる。
また、上記実施形態において、ユーザは、タッチパネルディスプレイ42に対するタッチ操作及びドラッグ操作によって、ロボット20、30を動作させることができる。これによれば、ユーザは、物理的な操作キーを操作する場合に比べて、直感的で容易にマニュアル操作を行うことができる。更に、これによれば、例えばマニュアル操作を行うための物理的な操作キーを削減することができる。その結果、ティーチングペンダント40の小型化やタッチパネルディスプレイ42の画面サイズの拡大、低価格化などを実現できるといった効果が期待できる。
なお、操作図形51、52、61、61は、円形に限られず、例えば図16又は図17のように、多角形等の円形以外の形状としてもよい。例えば図16に示す操作図形53は、4軸ロボット20用であり、四角形に形成されている。この場合、操作図形53は、上述した4軸ロボット20用の操作図形51、52と同様に、選択領域531〜534及び無効領域535を有している。また、例えば図17に示す操作図形63は、6軸ロボット30用であり、六角形に形成されている。この場合、操作図形63は、上述した6軸ロボット30用の操作図形61、62と同様に、選択領域631〜636及び無効領域637を有している。
また、動作方向決定処理は、図18に示すように、正方向ボタン73又は負方向ボタン74に対するタッチ操作に基づいて、ロボット20、30の動作方向を決定してもよい。正方向ボタン73又は負方向ボタン74は、タッチパネルディスプレイ42上に表示されるボタンである。正方向ボタン73は、ロボット20、30の正方向への動作に対応している。負方向ボタン74は、ロボット20、30の負方向への動作に対応している。
ユーザは、正方向ボタン73をタッチ操作した状態で、操作図形51、52、61、62を所定の方向へ回転させるようなドラッグ操作を行うことで、ロボット20、30を、ステップS13で決定した動作態様で正方向へ動作させることができる。また、ユーザは、負方向ボタン74をタッチ操作した状態で、操作図形51、52、61、62を所定の方向へ回転させるようなドラッグ操作を行うことで、ロボット20、30を、ステップS13で決定した動作態様で負方向へ動作させることができる。この場合、操作図形51、52、61、62を回転させる方向は、右又は左回りに限定してもよいし、限定しなくてもよい。また、タッチパネルディスプレイ42上には、図18に示すように、操作図形51、52、61、62を回転させる方向を示す方向図形75を表示させてもよい。
(第2実施形態)
次に、第2実施形態について説明する。本実施形態において、動作速度決定処理は、操作図形51、52、61、62上に設定された回転中心P0に対するドラッグ操作の周速度Vdに基づいてロボット20、30の動作速度Vrを決定するものである。すなわち、第1実施形態のように、ドラッグ操作の角速度dθに基づいてロボット20、30の動作速度Vrを決定するものにおいては、ロボット20、30の動作速度Vrは、ドラッグ操作の操作位置P1と周速度Vdとの値によって定まる。したがって、ユーザは、ロボット20、30の動作速度Vrを決定するために、ドラッグ操作の操作位置P1と周速度Vdとの2つの値を調整しなければならない。この場合、熟練者であれば、ドラッグ操作の操作位置P1と周速度Vdとの2つの値を同時に調整することは比較的容易である。しかし、初心者においては、ドラッグ操作の操作位置P1と周速度Vdとの2つの値を同時に調整することは比較的難しい。
例えば、ドラッグ操作の角速度dθに基づいてロボット20、30の動作速度Vrを決定するものにおいては、ドラッグ操作の周速度Vdが一定であっても、ドラッグ操作によって描く円の大きさや回転中心P0からドラッグ操作の操作位置P1までの距離が変化することによって、ロボット20、30の動作速度Vrが変わる。そのため、ユーザがロボット20、30を一定速度で動作させようとして一定の周速度Vdでドラッグ操作を行った場合であっても、そのドラッグ操作によって実際に描かれている円の径が変化したり、その円の中心が操作図形51、52、61、62上に設定された回転中心P0からずれたりすると、回転中心P0からドラッグ操作の操作位置P1までの距離が変化することになる。この場合、ロボット20、30の動作速度Vrが変化することになり、一定速度でロボット20、30を動作させようとするユーザの意図に反する動作が生じ易くなる。
これに対し、本実施形態によれば、ロボット20、30の動作速度Vrは、操作図形51、52、61、62上に設定された回転中心P0に対するドラッグ操作の周速度Vdに基づいて決定される。この場合、ロボット20、30の動作速度Vrは、回転中心P0からドラッグ操作の操作位置P1までの距離つまりドラッグ操作により描かれる円の径にかかわらず、ドラッグ操作の周速度Vdによって決定される。例えば、図13において、Vd1=Vd2であれば、ロボット20、30の動作速度Vrは同一となる。
このように、本実施形態のティーチングペンダント40によれば、ドラッグ操作の周速度Vdがそのままロボット20、30の動作速度Vrに反映される。したがって、ユーザは、回転中心P0からドラッグ操作の操作位置P1までの距離、つまりドラッグ操作によって描く円の径や回転中心P0に対するずれを気にせずに、ドラッグ操作を行うことができる。そのため、初心者でも比較的操作が容易になり、その結果、上述したドラッグ操作の周速度Vdに基づいてロボット20、30の動作速度Vrを決定するものとは異なった観点において操作性の向上を図ることができる。
また、本実施形態の場合、ロボット20、30の移動距離は、ドラッグ操作の周速度Vdに操作時間を乗じたものに比例する。換言すれば、ロボット20、30の移動距離は、ドラッグ操作による指90等の移動距離に比例する。したがって、ユーザは、ドラッグ操作を行う位置に係わらず、ドラッグ操作による指90等の移動距離を調整することで、ロボット20、30の移動距離を調整することができる。その結果、ロボット20、30の移動距離の調整がし易くなり、上記第1実施形態のティーチングペンダント40とは異なった観点において操作性の更なる向上を図ることができる。
(第3実施形態)
次に、第3実施形態について、図19及び図20を参照して説明する。
上記各実施形態において、例えば手先系の動作態様においては、X方向又はY方向へ沿った方向への動作が可能であった。しかし、ロボット20、30の教示を行う状況においては、例えばX−Y平面上での動作等、複数の動作態様を組み合わせた態様でロボット20、30を動作させることができれば便利である。そこで、本実施形態のティーチングペンダント40は、複数の動作態様を組み合わせた態様でロボット20、30を動作させることができるようにしている。
以下では、例えばロボット20、30をX−Y平面方向へ動作させる場合について説明する。図19に示す操作図形54は、4軸ロボット20の手先系の操作に用いるものである。操作図形54は、上記第1実施形態の4軸手先系用操作図形51の選択領域511〜515に加えて、選択領域541〜552を有している。各選択領域541〜552には、任意の平面方向でかつ任意の角度方向への動作態様が予め割り当てられている。
本実施形態では、各選択領域541〜552には、X−Y平面方向でかつ各象限において3つの角度方向、この場合、30°、45°、60°方向への動作態様が割り当てられている。この場合、本実施形態では、図20に示すように、X−Y平面におけるXの正(+)方向を基準つまり0°とする。そして、Xが正(+)でかつYが正(+)方向を第1象限とし、Xが負(−)でかつYが正(+)方向を第2象限とし、Xが負(−)でかつYが負(−)方向を第3象限とし、Xが正(+)でかつYが負(−)方向を第4象限としている。
選択領域541、542、543は、X−Y平面方向において第1象限の動作態様が割り当てられている。この場合、選択領域541は、図20の矢印B1で示す30°方向への動作態様が割り当てられている。選択領域542は、矢印B2で示す45°方向への動作態様が割り当てられている。選択領域543は、矢印B3で示す60°方向への動作態様が割り当てられている。また、選択領域544、545、546は、X−Y平面方向において第2象限の動作態様が割り当てられている。この場合、選択領域544は、矢印C1で示す120°方向への動作態様が割り当てられている。選択領域545は、矢印C2で示す135°方向への動作態様が割り当てられている。選択領域546は、矢印C3で示す150°方向への動作態様が割り当てられている。
選択領域547、548、549は、X−Y平面方向において第3象限の動作態様が割り当てられている。この場合、選択領域547は、矢印D1で示す−150°方向への動作態様が割り当てられている。選択領域548は、矢印D2で示す−135°方向への動作態様が割り当てられている。選択領域549は、矢印D3で示す−120°方向への動作態様が割り当てられている。そして、選択領域550、551、552は、X−Y平面方向において第4象限の動作態様が割り当てられている。この場合、選択領域550は、矢印E1で示す−60°方向への動作態様が割り当てられている。選択領域551は、矢印E2で示す−45°方向への動作態様が割り当てられている。選択領域552は、矢印E3で示す−30°方向への動作態様が割り当てられている。
この構成において、ユーザが図19に示す操作図形54の第1象限の選択領域541、542、543のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域541、542、543に対応する角度方向、この場合、図20の矢印B1で示す30°、矢印B2で示す45°、又は矢印B3で示す60°のいずれかの方向へ移動する。一方、ユーザが図19に示す操作図形54の第1象限の選択領域541、542、543のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域541、542、543に対応する角度方向とは逆方向、この場合、図20の矢印D1で示す−150°、矢印D2で示す−135°、又は矢印D2で示す−120°のいずれかの方向へ移動する。
また、ユーザが図19に示す操作図形54の第2象限の選択領域544、545、546のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域544、545、546に対応する角度方向、この場合、図20の矢印C1で示す120°、矢印C2で示す135°、又は矢印C3で示す150°のいずれかの方向へ移動する。一方、ユーザが図19に示す操作図形54の第2象限の選択領域544、545、546のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域544、545、546に対応する角度方向とは逆方向、この場合、図20の矢印E1で示す−60°、矢印E2で示す−45°、又は矢印E2で示す−30°のいずれかの方向へ移動する。
また、ユーザが図19に示す操作図形54の第3象限の選択領域547、548、549のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域547、548、549に対応する角度方向、この場合、図20の矢印D1で示す−150°、矢印D2で示す−135°、又は矢印D2で示す−120°のいずれかの方向へ移動する。一方、ユーザが図19に示す操作図形54の第3象限の選択領域547、548、549のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域547、548、549に対応する角度方向とは逆方向、この場合、図20の矢印B1で示す30°、矢印B2で示す45°、又は矢印B3で示す60°のいずれかの方向へ移動する。
そして、ユーザが図19に示す操作図形54の第4象限の選択領域550、551、552のいずれかをタッチ操作したのち正方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域550、551、552に対応する角度方向、この場合、図20の矢印E1で示す−60°、矢印E2で示す−45°、又は矢印E2で示す−30°のいずれかの方向へ移動する。一方、ユーザが図19に示す操作図形54の第4象限の選択領域550、551、552のいずれかをタッチ操作したのち負方向へドラッグ操作すると、ロボット20は、タッチ操作された選択領域550、551、552に対応する角度方向とは逆方向、この場合、図20の矢印C1で示す120°、矢印C2で示す135°、又は矢印C3で示す150°のいずれかの方向へ移動する。
ちなみに、本実施形態においては、第1象限の選択領域541、542、543をタッチ操作した後の正方向へのドラッグ操作は、それぞれ第3象限の選択領域547、548、549をタッチ操作した後の負方向へのドラッグ操作と等価であり、第1象限の選択領域541、542、543をタッチ操作した後の負方向へのドラッグ操作は、それぞれ第3象限の選択領域547、548、549をタッチ操作した後の正方向へのドラッグ操作と等価である。また、第2象限の選択領域544、545、546をタッチ操作した後の正方向へのドラッグ操作は、それぞれ第4象限の選択領域550、551、552をタッチ操作した後の負方向へのドラッグ操作と等価であり、第2象限の選択領域544、545、546をタッチ操作した後の負方向へのドラッグ操作は、第4象限の選択領域547、548、549をタッチ操作した後の正方向へのドラッグ操作と等価である。
このように、本実施形態のティーチングペンダント40によれば、例えばX−Y平面方向等、複数の動作態様を組み合わせた態様でロボット20、30を動作させることができる。したがって、ユーザは、多様な操作態様でロボット20、30を動作させることができ、その結果、操作性及び利便性の向上が図られる。
また、本実施形態において、円形の操作図形54は、図19に示すように、直交するX軸及びY軸によって4つの象限に区分されている。そして、操作図形54の各象限の選択領域541〜552には、それぞれロボット20、30のX−Y平面方向の各象限における動作態様が割り当てられている。これによれば、ユーザは、操作図形54の各象限の選択領域541〜552と、その選択領域541〜552によって選択することができるロボット20、30の動作態様とが、位置的に関連しているとの印象を受け易い。したがって、より直感的な操作が可能となり、更なる操作性の向上を図ることができる。
(第4実施形態)
次に、第4実施形態について図4、図10、図11、及び図21〜図26を参照して説明する。上記各実施形態では、移動操作として主にドラッグ操作に適した例を説明したが、本実施形態では、移動操作として主にフリック操作に適した例について説明する。本実施形態において、ユーザは、例えば図10、図11、及び図21に示すように、操作図形51等に対して主にフリック操作を行う。この場合、図10に示すように、ユーザが操作図形51に対して右回転方向つまり正方向へのフリック操作を行うと、操作図形51は、図11の矢印A1で示すように右方向つまり正方向へ回転する。
そして、本実施形態では、ユーザの指90等がタッチパネルディスプレイ42から離間してフリック操作の入力が終了しても、操作図形51は、図21に示すように、あたかも慣性を有しているかのように矢印A1方向へ回転し続ける。そして、操作図形51の回転に伴って、ロボット20、30も動作し続ける。回転中の操作図形51に対して更にフリック操作を行うと、操作図形51の回転は継続され、これによりロボット20、30の動作も継続させることができる。なお、この場合、フリック操作に換えてドラッグ操作を行うこともできる。また、この場合、動作態様や動作方向の決定方法、及びフリック操作の操作速度の算出方法は、上記各実施形態で示したドラッグ操作の場合と同様である。
本実施形態では、上述した第1実施形態に対して、図4のステップS11から図5のステップS21までの制御内容が共通しており、図5のステップ21から後の制御内容が異なる。すなわち、ティーチングペンダント40の制御部45は、ロボット20、30の手動操作を開始すると、図4、及び図22〜図24に示す制御内容を実行する。なお、この場合、図4における「ドラッグ操作」は、「移動操作」又は「フリック操作」と読み替えることができる。
具体的には、制御部45は、手動操作に係る処理を開始すると、まず、図4のステップS11から図22のステップS21までを実行する。これにより、上記第1実施形態と同様に、例えば図10及び図11に示すように、ユーザの指90等によるフリック操作に伴って、操作図形51が回転するとともにロボット20、30の動作が行われる。
次に、制御部45は、図22のステップS31において、移動操作の入力が終了したか否かを判断する。制御部45は、移動操作を検出した後、更にユーザの指90等がタッチパネルディスプレイ42から離間したことを検出した場合に、移動操作の入力が終了したと判断する。移動操作の入力が継続している場合(ステップS31でNO)、制御部45は、図4のステップS14へ移行して、ステップS14〜ステップS31までを繰り返す。一方、移動操作の入力が終了した場合(ステップS31でYES)、制御部45は、図23のステップS32を実行する。
制御部45は、ステップS32において、操作図形51等に対して所定期間以上のタッチ操作が行われたか否かを判断する。なお、ステップS32における所定期間と、他のステップにおける所定期間とを区別する場合には、ステップS32における所定期間をタッチ操作検出期間と称する。ステップS32で検出対象としているタッチ操作は、図24のステップS37で示す停止処理を行うためのトリガーとなる操作である。そのため、制御部45は、停止処理を行うためのトリガーとなるタッチ操作と、移動操作を行う際に必然的に入力されるタッチ操作とを明確に区別する必要がある。この場合、停止処理を行うためのタッチ操作は、ユーザの「ロボット20、30を停止させる」という意図を有したものであるため、移動操作の際のタッチ操作に比べて長期間になると想定される。そこで、制御部45は、タッチ操作の入力期間によって、つまりタッチ操作が所定期間以上継続して行われたか否かによって、そのタッチ操作が、停止処理を実行させるためのものか、移動操作の際に必然的に入力されたものかを区別している。なお、この場合、所定期間は、例えば500ms程度である。
操作図形51等に対して所定期間以上のタッチ操作が行われなかった場合(ステップS32でNO)、制御部45は、ステップS33へ移行する。制御部45は、ステップS33において、図22のステップS31において移動操作の入力終了を判断してから所定期間例えば1秒〜2秒程度が経過したか否かを判断する。なお、ステップS33における所定期間と、他のステップにおける所定期間とを区別する場合には、ステップS33における所定期間を速度維持期間と称する。
移動操作の入力終了後でかつ所定期間が経過していない場合(ステップS33でNO)、制御部45は、ステップS34において速度維持処理を実行する。速度維持処理は、図22のステップS31において移動操作の入力が終了してから図23のステップS35の減速処理が開始されるまでの所定期間、ロボット20、30の動作速度Vrを、移動操作の入力が終了する直前のロボット20、30の動作速度Vrに維持する処理である。つまり、ロボット20、30は、移動操作の入力が終了した後の所定期間、一定の動作速度Vrで動作する。そして、制御部45は、速度維持処理を実行すると、図4のステップS14へ移行し、ステップS14以降の処理を繰り返す。
一方、移動操作の入力終了後、所定期間が経過すると(図23のステップS33でYES)、制御部45は、ステップS35へ移行して減速処理を実行する。つまり、移動操作の入力が終了した後、次の移動操作の入力が行われずに所定期間が経過した場合、換言すると、速度維持処理が所定期間継続された場合に、制御部45は、ステップS35において減速処理を実行する。減速処理は、移動操作の入力が終了した後であって次の前記移動操作が入力されていない期間において、ロボット20、30の動作速度Vrを徐々に減速させる処理である。本実施形態の場合、制御部45は、速度維持処理を実行した後つまりステップS33の所定期間を経過した後に、減速処理を実行する。そして、制御部45は、減速処理を実行すると、図4のステップS14へ移行し、ステップS14以降の処理を繰り返す。
ここで、「ロボット20、30の動作速度Vrを徐々に減速させる」とは、例えば操作図形51が実態を有する円板であり、その操作図形51の回転に慣性力及び摩擦力が作用していると仮定した場合において、操作図形51に対して何ら操作が行わられなくなってから操作図形51の回転が停止するまでの回転速度の減少割合と同程度の割合による減速を意味する。そのため、「徐々に減速」における減速の程度は、移動操作の入力が終了する直前のロボット20、30の動作速度Vrに応じて変化する。
また、図23のステップS32において、操作図形51に対して所定期間以上のタッチ操作が行われた場合(YES)、制御部45は、図24のステップS36へ移行する。制御部45は、ステップS36において、ロボット20、30が動作中であるか否かつまり停止しているか否かを判断する。ロボット20、30が停止している場合(ステップS36でNO)、制御部45は、ステップS37、S38を処理することなくステップS39へ移行する。一方、ロボット20、30が動作中である場合(ステップS36でYES)、制御部45は、ステップS37、S38を実行する。
ステップS37において、制御部45は、停止処理を実行する。停止処理は、ロボット20、30の動作を停止させる処理である。この場合、制御部45は、停止指令をコントローラ11へ送信する。ここで、停止処理が実行されてからロボット20、30が実際に停止するまでにはある程度の時間を要する。そのため、ロボット20、30が、ユーザの意図した停止位置を超えて移動する可能性がある。そこで、制御部45は、ステップS38において、補正処理を行う。補正処理は、停止処理を実行するためのタッチ操作が行われた時点からロボット20、30が移動した場合に、タッチ操作が行われた時点のロボット20、30の位置までロボット20、30を移動させる処理である。つまり、補正処理は、停止処理の際に、ユーザの意図する停止位置からロボット20、30が移動し過ぎた場合に、ロボット20、30をユーザの意図する停止位置に戻す処理である。
その後、制御部45は、ステップS39へ移行し、ステップS32で検出したタッチ操作の入力が終了したか否かを判断する。タッチ操作の入力が終了していなければ(ステップS39でNO)、図4のステップS14へ移行し、ステップS14以降の処理を繰り返す。一方、タッチ操作の入力が終了していれば(ステップS39でYES)、制御部45は、ステップS40を実行し、現在設定されているロボット20、30の動作態様及び動作方向の設定を解除つまり初期化する。これにより、一連の処理が終了し、ロボット20、30の動作が終了する。そして、制御部45は、図4のステップS11へ戻り、再度ステップS11以降の処理を実行する。これにより、ユーザは、新たな動作態様及び動作方向による手動操作が可能になる。すなわち、ユーザは、ロボット20、30の動作態様及び動作方向を変更することができるようになる。
次に、図25及び図26を参照して、移動操作の操作速度Vdとロボット20、30の動作速度Vrとの関係について説明する。なお、図25及び図26において、Vd(max)とVr(max)とは対応している。この場合、Vr(max)は、ロボット20、30の最大速度であり、Vd(max)は、ロボット20、30の最大速度を設定するために必要な操作速度Vdである。
例えば図25及び図26に示すように、2回の移動操作F1、F2が連続して入力された場合について見る。この場合、先の移動操作F1が入力されると、期間T0−T1に示すように、移動操作F1の操作速度Vdの増加に伴って、ロボット20、30の動作速度Vrが増加する。この場合、ロボット20、30の動作速度VrがVr(max)に到達すると、期間T1−T2に示すように、移動操作F1の操作速度VdがVd(max)を超えても、ロボット20、30の動作速度VrはVr(max)に維持される。
その後、先の移動操作F1の入力が終了すると、期間T2−T3に示すように、速度維持処理が行われる。つまり、期間T2−T3は、速度維持期間である。これにより、ロボット20、30の動作速度Vrは、移動操作が入力されていなくても、先の移動操作F1の入力が終了する直前の動作速度Vrこの場合Vr(max)に維持される。そして、速度維持期間T2−T3が経過する前に次の移動操作F2が入力されると、その移動操作F2の操作速度Vdに応じてロボット20、30の動作速度Vdが決定される。次に、移動操作F2の入力が終了し、更に次の移動操作が入力されることなく期間T4−T5に示す速度維持期間が経過すると、ロボット20、30の動作速度Vrは、期間T5−T6で示すように減速処理によって徐々に減速され、その後停止する。この場合、期間T5−T6は減速期間である。
また、図26の期間U1−U2に示すように、速度維持期間T4−T5の期間内において所定期間以上のタッチ操作F3が入力されると、停止処理が実行されてロボット20、30が停止しようとする。この場合、期間U1−U2は、停止期間である。停止期間U1−U2における動作速度Vrの減速割合は、減速期間T5−T6における動作速度Vrの減速割合よりも大きい。そして、期間U2−U3に示すように、停止処理に続けて補正処理が行われる。この場合、期間U2−U3は補正期間である。停止期間U1−U2における斜線部分の面積と、補正期間U2−U3における斜線部分の面積とは等しい。つまり、停止期間U1−U2におけるロボット20、30の移動量と、補正期間U2−U3におけるロボット20、30の移動量とは等しい。これにより、ロボット20、30の位置つまり手先位置は、タッチ操作F3を入力した時点の位置に戻される。
このように、本実施形態によれば、例えばフリック操作の入力が終了しても、ロボット20、30の動作速度Vは徐々に減速される。そのため、ロボット20、30は、フリック操作の入力が終了した直後に急に停止することがなく、フリック操作の入力が終了からある程度の期間動作し続ける。したがって、ユーザは、例えば小刻みにフリック操作を繰り返すことで、ロボット20、30を完全に停止させることなく連続して動作させ続けることができる。これによれば、タッチパネルディスプレイ42上の限られた領域を有効に使用できる。すなわち、移動操作に要するタッチパネルディスプレイ42上の領域を小さくすることができ、その結果、ティーチングペンダント40の小型化を図ることができる。また、ユーザは、例えば小刻みなフリック操作によりロボット20、30を操作することができるため、移動操作の際の指90等の移動量を削減することができる。その結果、操作性が向上するとともにユーザの負担を軽減することができる。
ここで、移動操作の入力が終了した直後から上述した減速処理を開始すると、複数回の移動操作を入力する場合に次のような問題が生じる。すなわち、この場合、図25の期T2−T3において一点鎖線で示すように、先の移動操作F1の入力が終了してから次の移動操作F2が入力されるまでの期間に、ロボット20、30の動作速度Vrは減速処理によって減速してしまう。そのため、ロボット20、30の動作速度Vrにばらつきが生じ易くなり、ロボット20、30の動作が不安定になり易くなる。
一方、本実施形態によれば、ユーザは、速度維持処理が行われている所定期間内に次の移動操作を入力することで、次の移動操作の入力前にロボット20、30が減速処理によって減速してしまうことを防ぐことができる。その結果、例えばフリック操作を連続して行う場合であっても、ロボット20、30の動作速度Vrにばらつきが生じることを抑制でき、ロボット20、30の動作速度の安定性の向上が図られる。また、これによれば、各フリック操作の間隔を比較的長くしてもロボット20、30の動作速度Vrを一定に維持し易い。そのため、フリック操作の回数を低減することができ、その結果、ユーザの負担を減らすことができる。そして、更には、速度維持処理が所定期間行われた後は、上述した減速処理が行われる。そのため、移動操作が行われなくなってから所定期間が経過すると、ロボット20、30は減速して停止するため安全である。
また、本実施形態によれば、ユーザは、例えば図26に示すように、減速処理中又は速度維持処理中でロボット20、30が動作している最中であっても、操作図形51等に対して所定期間以上のタッチ操作F3を行うことで、減速処理による停止を待つことなくロボット20、30の動作を停止させることができる。これによれば、ユーザは、任意のタイミングでロボット20、30の動作を停止させることができるため、更なる安全性や操作性の向上が図られる。
また、本実施形態によれば、図26の期間U1−U2に示すように、タッチ操作F3が行われた時点からロボット20、30が移動した場合であっても、補正処理を行うことで、タッチ操作F3が行われた時点のロボット20、30の位置までロボット20、30の手先位置を戻すことができる。したがって、ユーザが意図したロボット20、30の停止位置と、実際のロボット20、30の停止位置とのずれを補正することができ、その結果、操作性の向上が図られる。
(第5実施形態)
次に、第5実施形態について図27を参照して説明する。本実施形態において、動作指令生成部47は、先の移動操作に基づく速度維持処理を行っている最中に次の移動操作が入力された場合に、次の移動操作の操作速度Vdが先の移動操作の操作速度Vdに対して所定範囲RA内であれば、ロボット20、30の動作速度Vrを先の移動操作の操作速度Vdに基づく値に維持する。一方、動作指令生成部47は、次の移動操作の操作速度Vdが先の移動操作の操作速度Vdに対して所定範囲RA外であれば、ロボット20、30の動作速度Vrを次の移動操作の操作速度Vdに基づいて決定する。この場合、所定範囲RAは、先の移動操作の操作速度Vdの平均値又は最大値等を基準に決定されるものであり、例えば先の移動操作の操作速度Vdの平均速度に対して上下数%程度の範囲である。
例えば図27では、3回のフリック操作F4〜F6が入力された場合を示している。この場合、制御部45は、最初のフリック操作F4を検出すると、期間T0−V1で示すように、そのフリック操作F4の操作速度Vdに応じた動作速度Vrでロボット20、30を動作させるとともに、そのフリック操作F4の操作速度Vdを基準にした所定範囲RAを設定する。図27では、最初のフリック操作F4における操作速度Vdの最大値Vd(4)を基準とした所定範囲RAを二点鎖線で示している。フリック操作F4の入力が終了すると、期間V1−V2で示すように、フリック操作F4の入力終了直前の動作速度Vr(4)が維持される。
次に、制御部45は、次のフリック操作F5を検出すると、そのフリック操作F5の操作速度Vdが、先のフリック操作F4を基準とする所定範囲RA内に収まっているか否かを判断する。この場合、次のフリック操作F5の操作速度Vdは、先のフリック操作F4の操作速度Vdの最大値Vd(4)を基準とした所定範囲RA内に収まっている。そのため、制御部45は、期間V2−V4に示すように、先の移動操作F4の入力終了時におけるロボット20、30の動作速度Vd(4)を引き継いで、ロボット20、30を動作速度Vd(4)で動作させ続ける。
同様に、制御部45は、更に次のフリック操作F6を検出すると、そのフリック操作F5の操作速度Vdが、先のフリック操作F4を基準とする所定範囲RA内に収まっているか否かを判断する。この場合、次のフリック操作F6の操作速度Vdは、先のフリック操作F4の操作速度Vdを基準とした所定範囲RA外となっている。そのため、制御部45は、期間V5−T4に示すように、フリック操作F6の操作速度Vdに応じた動作速度Vrでロボット20、30を動作させるとともに、そのフリック操作F6の操作速度Vdを基準にした所定範囲RAを設定し直す。
これによれば、各フリック操作F4〜F6の操作速度Vdがある程度ばらついていても所定範囲RA内に収まっていれば、ロボット20、30の動作速度Vdを一定に維持することができる。したがって、移動操作F4〜F6の操作速度Vdのばらつきを吸収することができ、ロボット20、30の動作の安定性を向上させることができる。また、例えば先のフリック操作F4に対する次のフリック操作F6のように、ユーザが所定範囲RA外となる操作速度Vdの移動操作を入力することで、ロボット20、30の動作速度Vrを変更することができる。したがって、これによれば、移動操作F4〜F6の操作速度Vdのばらつきを吸収しつつ柔軟な操作が可能になり、その結果、操作性の向上が図られる。
(その他の実施形態)
なお、本発明の実施形態は、上記し且つ図面に記載した各実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲において適宜変更することができる。本発明の実施形態は、例えば次のような変形または拡張が可能である。
例えば第3実施形態において、選択領域541〜552に対応する角度方向は、上述したものに限られず、ユーザの任意で設定することができる。例えば選択領域541〜552に割り当てられる動作態様は、上述したX−Y平面方向に限られず、X−Z平面や、Y−Z平面、その他の動作態様であってもよい。また、選択領域の数も、ユーザの任意で増減することができる。
上記各実施形態において、タッチパネル421及びディスプレイ422は、タッチパネルディスプレイ42として一体に構成されている。しかし、タッチパネル及びディスプレイは、それぞれ別体に分離した構成であってもよい。この場合、操作図形及び方向図形は、印刷等によって予めタッチパネルに設けることもできる。
また、上記実施形態によるティーチングペンダント40の操作対象となるロボットは、4軸ロボット20又は6軸ロボット30に限られない。例えば、いわゆるX−Yステージ(2軸ステージ)の上に4軸ロボット20又は6軸ロボット30を設置したものでもよい。また、ティーチングペンダント40の操作対象となるロボットには、例えば1つの駆動軸を有する直線型ロボットや、複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、機械的な回転軸に限られず、例えばリニアモータによって駆動する方式も含まれる。
また、操作図形51等は、平面的な構成でなく、仮想的な立体形状としてもよい。例えば図28に示す操作図形81、82は、ディスプレイ422上に表示された疑似的な球体であって、いわゆる仮想的なトラックボールのように構成されている。ユーザは、操作図形81、82に対して、例えば各矢印で示す任意の方向への移動操作を行うことで、操作図形81、82を移動操作の操作方向へ仮想的に回転させることができる。この場合、ユーザは、例えば操作図形81を矢印G1に示す方向へ回転させることで、ロボット20、30の手先を+Y方向へ移動させることができる。同様に、ユーザは、操作図形81を矢印G2に示す方向へ回転させることでロボット20、30の手先を−Y方向へ移動させることができる。
更にユーザは、例えば操作図形81を矢印G3に示す方向へ回転させることで、ロボット20、30の手先を+X方向と+Y方向とを合成した方向へ動かすことができる。この構成によれば、操作図形を小さくしても操作性が損なわれ難い。したがって、操作性を損なうこと無くティーチングペンダント40の小型化を図ることができる。なお、この場合、3個以上の操作図形をタッチパネルディスプレイ42に配置してもよい。また、図28に示す構成は、手先系の操作又は各軸系の操作のいずれについても適用することができる。