以下、本発明の複数の実施形態について説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
以下、本発明の第1実施形態について図1〜図19を参照しながら説明する。
図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)はそれぞれに対応して設けられるモータ(図示せず)により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器(図示せず)が設けられている。
多関節型のロボットを手動操作する場合、その動作は、各駆動軸を個別に駆動させる各軸系の動作と、複数の駆動軸を組み合わせて駆動させることでロボットの手先を任意の座標系上で移動させる手先系の動作と、がある。この場合、4軸ロボット20は、各軸系の動作において、各駆動軸J21〜J24を個別に駆動させることができる。また、4軸ロボット20は、手先系の動作において、例えば第1軸J21と第2軸J22とを組み合わせたX−Y平面方向への動作と、第3軸J23によるZ方向への動作と、第4軸J24によるRz方向への動作と、を行うことができる。
次に、図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によって文字や数字、記号、及び図形等の画像の表示が可能である。スイッチ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〜図11を参照して説明する。なお、以下の説明において、ロボット20、30の動作態様と称した場合には、ロボット20、30の駆動軸又は駆動軸の組み合わせによるロボット20、30の動作態様を意味するものとする。この場合、ロボット20、30の動作態様には、上述した手先系や各軸系といった動作系において、その動作系における正(+)方向又は負(−)方向への移動方向は含まないものとする。また、以下の説明では、ロボット20、30手先系の動作において、X−Y平面方向に対する手動操作を同一の画面上で行う場合を示している。なお、ティーチングペンダント40においては、上述した手先系のX−Y平面方向への動作態様に限られず、各軸系及び手先系の任意の動作態様でロボット20、30を手動操作することができる。
ティーチングペンダント40の制御部45は、ロボット20、30の手動操作を開始すると、図4及び図5に示す制御内容を実行する。具体的には、制御部45は、手動操作に係る処理を開始すると、まず、図4のステップS11において、操作検出部46の検出結果に基づいて、タッチパネルディスプレイ42に対してタッチ操作が行われたか否かを判断する。タッチ操作がされていない場合(ステップS11でNO)、制御部45は、図6に示すようにタッチパネルディスプレイ42に何も表示させないまま待機する。一方、図7に示すように、ユーザが指90等でタッチパネルディスプレイ42上の任意の点をタッチ操作すると、制御部45は、タッチ操作が行われたと判断し(ステップS11でYES)、図4のステップS12を実行する。
ステップS12において、制御部45は、方向図形表示処理を実行する。方向図形表示処理は、操作検出部46がタッチ操作を検出した場合に、図7に示すように、第1方向図形51と第2方向図形52とをタッチパネルディスプレイ42に表示させる処理である。第1方向図形51は、タッチパネルディスプレイ42に対する第1方向を示す図形である。第2方向図形52は、タッチパネルディスプレイ42に対する第2方向を示す図形である。例えば、第1方向は、タッチパネルディスプレイ42の長手方向に設定されている。また、第2方向は、第1方向に対して直交する方向に設定されている。なお、第1方向及び第2方向は、任意に設定することができる。
方向図形表示処理において、制御部45は、タッチ操作によるタッチ位置P0を、第1方向図形51及び第2方向図形52の中心位置P0に設定する。そして、制御部45は、第1方向図形51と第2方向図形52とを直交させた状態でタッチパネルディスプレイ42に表示させる。第1方向図形51は、第1方向を示す第1方向表示511、512を含んでいる。第2方向図形52は、第2方向を示す第2方向表示521、522を含んでいる。第1方向表示511は第1方向の正(+)方向を示すものであり、第1方向表示512は第1方向の負(−)方向を示すものである。また、第2方向表示521は第2方向の正(+)方向を示すものであり、第2方向表示522は第2方向の負(−)方向を示すものである。
第1方向及び第2方向へのドラッグ操作には、ロボット20、30の任意の動作態様が割り当てられる。本実施形態の場合、第1方向のドラッグ操作には、手先系のX方向の動作態様が割り当てられている。また、第2方向のドラッグ操作には、手先系のY方向の動作態様が割り当てられている。つまり、ユーザは、第1方向図形51に沿った正(+)方向へのドラッグ操作により、ロボット20、30をX方向の正(+)方向への動作させることができ、第1方向図形51に沿った負(−)方向へのドラッグ操作により、ロボット20、30をX方向の負(−)方向への動作させることができる。また、ユーザは、第2方向図形52に沿った正(+)方向へのドラッグ操作により、ロボット20、30をY方向の正(+)方向への動作させることができ、第2方向図形52に沿った負(−)方向へのドラッグ操作により、ロボット20、30をY方向の負(−)方向への動作させることができる。
次に、図4のステップS13において、制御部45は、操作検出部46により、ユーザの指90等に係る現在位置P1を検出する。これにより、制御部45は、ステップS11で検出したタッチ操作のタッチ位置P0と、ステップS13で検出した現在位置P1とによって、ドラッグ操作がなされたか否か、ドラッグ操作のスライド距離Ls、及びドラッグ操作の操作方向等を検出することができる。この場合、タッチ位置P0は、ドラッグ操作の開始位置P0と同義である。また、スライド距離Lsとは、ドラッグ操作の開始位置P0と現在位置P1とを結んだ直線距離を意味する。ドラッグ操作の操作方向は、ドラッグ操作の開始位置P0と現在位置P1とを結んだ直線の方向によって定まる。
次に、制御部45は、ステップS14において、ステップS11で検出したタッチ位置P0と、ステップS13で検出した現在位置P1とによって、タッチ位置P0からドラッグ操作が行われたか否かを判断する。ステップS11で検出したタッチ操作のタッチ位置P0と、ステップS13で検出した現在位置P1とが等しい場合、制御部45は、ドラッグ操作がなされていないと判断し(ステップS14でNO)、図5のステップS26を実行する。一方、制御部45は、ステップS11で検出したタッチ操作のタッチ位置P0と、ステップS13で検出した現在位置P1とが異なる場合、ドラッグ操作がなされたと判断し(ステップS14でYES)、ステップS15を実行する。
次に、制御部45は、ステップS15において、ドラッグ操作の操作方向が第1方向又は第2方向のいずれであるかを判断する。ドラッグ操作の操作方向が第1方向この場合X方向である場合(ステップS15で第1方向)、制御部45は、ステップS16、S17を実行する。一方、ドラッグ操作の操作方向が第2方向この場合Y方向である場合(ステップS15で第2方向)、制御部45は、ステップS18、S19を実行する。なお、ステップS15の判断においては、第1方向又は第2方向における正負は問題としない。
制御部45は、ステップS16、S18において、動作指令生成部47の処理により、動作態様決定処理を実行する。動作態様決定処理は、操作検出部46で検出したドラッグ操作の操作方向が第1方向である場合にロボット20、30の動作態様を第1動作態様に決定し、ドラッグ操作の操作方向が第2方向である場合にロボット20、30の動作態様を第2動作態様に決定する処理である。
この場合、ドラッグ操作の操作方向が、第1方向図形51に沿った第1方向であれば(ステップS15で第1方向)、制御部45は、ステップS16において、ロボット20、30の動作態様を、第1動作態様である手先系のX方向への動作に決定する。一方、ドラッグ操作の操作方向が、第2方向図形52に沿った第2方向であれば(ステップS15で第2方向)、制御部45は、ステップS18において、ロボット20、30の動作態様を、第2操作態様である手先系のY方向への動作に決定する。
次に、制御部45は、ステップS17、S19において、表示制御部48の処理により、速度図形表示処理を実行する。速度図形表示処理は、図8又は図9に示すように、速度図形611、612を、タッチパネルディスプレイ42上に表示させる処理である。この場合、ドラッグ操作の操作方向が、第1方向図形51に沿った第1方向であれば(ステップS15で第1方向)、制御部45は、図8に示すように、第1方向へ延びる第1速度図形611をタッチパネルディスプレイ42上に表示させる(ステップS18)。一方、ドラッグ操作の操作方向が第2方向図形52に沿った第2方向であれば(ステップS15で第2方向)、制御部45は、図9に示すように、第2方向へ延びる第1速度図形612をタッチパネルディスプレイ42上に表示させる(ステップS19)。
第1速度図形611、612は、速度図形の一例である。第1方向へ延びる第1速度図形611は、第1方向図形51に重ねて表示され、第2方向へ延びる第1速度図形612は、第2方向図形52に重ねて表示される。なお、制御部45は、ドラッグ操作が検出されて第1速度図形61を表示させる際に、そのドラッグ操作の操作方向に対応する方向表示を、色や大きさ、形を変更するなどして他の方向表示よりも目立たせるように表示させてもよい。例えば図8に示すように、第1方向の正(+)方向へのドラッグ操作があった場合、制御部45は、第1方向の正(+)方向を示す方向表示511を、他の方向表示512、521、522よりも大きく表示する。また、例えば図9に示すように、第2方向の正(+)方向へのドラッグ操作があった場合、制御部45は、第2方向の正(+)方向を示す方向表示521を、他の方向表示511、512、522よりも大きく表示する。これによれば、ユーザは、自己が行っているドラッグ操作の操作方向を一見して把握し易くなる。
第1速度図形611、612は、ドラッグ操作のスライド距離Lsとロボット20、30の動作速度Vrとを相関させてスライド距離Lsの変化に伴って形態が変化する図形である。なお、この場合、第1速度図形611、612とともに、ロボット20、30の動作速度Vrの値を示す数字をタッチパネルディスプレイ42に表示させてもよいが、本実施形態の場合、この動作速度Vrの値を示す数字は、第1速度図形611、612の形態には含まれない。
第1方向へ延びる第1速度図形611は、例えば手先系のX方向の動作態様に対応している。また、第2方向へ延びる第1速度図形61は、例えば手先系のY方向の動作態様に対応している。第1速度図形611、612は、対応するロボット20、30の動作態様、及び表示される向きが異なることを除いて、基本的構成は同様である。したがって、以下の説明においては、主として第1方向へ延びる第1速度図形611を示す図を用いて説明する。また、第1方向へ延びる第1速度図形611及び第2方向へ延びる第1速度図形612を総称する場合は、単に第1速度図形61とする。
第1速度図形61は、図10に示すように、第1バー62と、スライダ63と、を有している。第1バー62は、ドラッグ操作の開始位置P0を基点とする直線状、この場合、第1方向へ向かって横長の矩形状に形成されている。第1バー62は、ドラッグ操作のスライド距離Lsと、ロボット20、30の動作速度Vrとの相関を示す図形である。スライダ63は、ドラッグ操作に伴って第1バー62に沿って移動可能である。スライダ63は、第1バー62に対するドラッグ操作の現在位置P1を示す図形である。すなわち、ユーザのドラッグ操作によるスライド距離Lsの変化に伴って、スライダ63の表示位置も移動する。この場合、速度図形61の形態の変化は、第1バー62に対するスライダ63の相対的な位置関係の変化を含むものとする。つまり、ドラッグ操作のスライド距離Lsの変化に伴って、速度図形61の形態が変化する。
スライダ63は、ドラッグ操作によって設定されるロボット20、30の動作速度を示している。本実施形態において、速度図形61は、ドラッグ操作のスライド距離Lsに比例して段階的にロボット20、30の動作速度Vrが大きくなるように設定されている。すなわち、速度図形61は、第1バー62に対するスライダ63の位置つまりスライド距離Lsが大きくなるのに比例して、段階的にロボット20、30の動作速度Vrが大きくなるように設定されている。
本実施形態の場合、第1バー62は、第1領域621、第2領域622、第3領域623、及び第4領域624を有している。第1領域621は、第1バー62の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第1距離Ls1未満の領域である。第2領域622は、第1バー62の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第1距離Ls1以上かつ第2距離Ls2未満の領域である。第3領域623は、第1バー62の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第2距離Ls2以上かつ第3距離Ls3未満の領域である。第4領域624は、第1バー62の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第3距離Ls3以上かつ第4距離Ls4未満の領域である。
本実施形態において、手動操作によるロボット20、30の動作速度Vrは、正負の一方向について、停止状態(Vr=0)を含めて4段階に変更可能である。例えば、ロボット20、30の最大動作速度Vrmaxに対して0%の速度を第1動作速度Vr1とする。つまり、第1動作速度Vr1は、ロボット20、30の停止状態である。また、最大動作速度Vrmaxに対して25%の速度を第2動作速度Vr2とし、最大動作速度Vrmaxに対して50%の速度を第3動作速度Vr3とし、最大動作速度Vrmaxに対して100%の速度を第4動作速度Vr4とする。この場合、第4動作速度Vr4は、ロボット20、30の最大動作速度Vrmaxである。
そして、第1バー62全体のうち、第1領域621は、第1動作速度Vr1(0%)に割り当てられている。第2領域622は、第2動作速度Vr2(25%)に割り当てられている。第3領域623は、第3動作速度Vr3(50%)に割り当てられている。第4領域624は、第4動作速度Vr4(100%)に割り当てられている。速度図形61の第1バー62上におけるスライド距離Lsと、ロボット20、30の動作速度Vrとの相関は、図11に示す通りである。
この場合、スライダ63は、ドラッグ操作のスライド距離Lsに応じて連続的に滑らかに移動するようにしてもよい。なお、スライダ63は、ある程度の幅を有している。そのため、スライド距離Lsが隣接する2つの領域の境界付近である場合、スライダ63は、その隣接する2つの領域に跨って位置することになり、スライダ63が示す領域が、その隣接する2つの領域のうちどちらであるかがわかり難くなる。そこで、スライダ63は、ドラッグ操作のスライド距離Lsに応じて断続的に移動するようにしてもよい。
すなわち、ドラッグ操作のスライド距離Lsが第1距離Ls1以下である場合、スライダ63は、第1領域621の中心つまりドラッグ操作の開始位置P0を示すように表示される。ドラッグ操作のスライド距離Lsが第1距離Ls1以上でかつ第2距離Ls2未満である場合、スライダ63は、第2領域622の中心を示すように表示される。ドラッグ操作のスライド距離Lsが第2距離Ls2以上でかつ第3距離Ls3未満である場合、スライダ63は、第3領域623の中心を示すように表示される。そして、ドラッグ操作のスライド距離Lsが、第3距離Ls3以上でかつ第4距離Ls4未満である場合、スライダ63は、第4領域624の中心を示すように表示される。これによれば、スライダ63が隣接する2つの領域に跨って位置することがなくなるため、ユーザは、スライダ63がどの領域を示しているかを一見して把握することができる。
なお、本実施形態の場合、ドラッグ操作のスライド距離Lsが第4距離Ls4以上になると、制御部45は、操作可能な領域を超えたと判断して、開始位置P0を示すようにスライダ63を表示する。しかし、これに限られず、ドラッグ操作のスライド距離Lsが第4距離Ls4以上になった場合、制御部45は、ロボット20、30を動作速度Vr4で動作させる意思をユーザが有していると判断し、第4領域624の中心を示すようにスライダ63を表示させてもよい。
次に、制御部45は、図5のステップS20において、ドラッグ操作の操作方向が第1方向又は第2方向において、正方向又は負方向のいずれであるかを判断する。そして、制御部45は、ステップS21又はステップS22において、動作指令生成部47の処理により、ステップS10の判断結果に基づいて動作方向決定処理を実行する。動作方向決定処理は、ドラッグ操作の操作方向がドラッグ操作の開始位置P0を基準とした正方向である場合に、ロボット20、30を、ステップS16、S18の動作態様決定処理で決定した動作態様において正方向へ動作させるための動作指令を生成する処理を含んでいる。また、動作方向決定処理は、ドラッグ操作の操作方向が正方向とは反対方向の負方向である場合に、ロボット20、30を、ステップS16、S18の動作態様決定処理で決定した動作態様において負方向へ動作させるための動作指令を生成する処理を含んでいる。
例えば、本実施形態において、ドラッグ操作の操作方向が第1方向(この場合X方向)でかつ正方向である場合(ステップS15で第1方向、かつステップS20で正方向)、制御部45は、ロボット20、30の動作態様を手先系のX方向に決定し、その動作態様における動作方向を正方向に決定する。また、ドラッグ操作の操作方向が第1方向(この場合X方向)でかつ負方向である場合(ステップS15で第1方向、かつステップS20で負方向)、制御部45は、ロボット20、30の動作態様を手先系のX方向に決定し、その動作態様における動作方向を負方向に決定する。
同様に、ドラッグ操作の操作方向が第2方向(この場合Y方向)でかつ正方向である場合(ステップS15で第2方向、かつステップS20で正方向)、制御部45は、ロボット20、30の動作態様を手先系のY方向に決定し、その動作態様における動作方向を正方向に決定する。そして、ドラッグ操作の操作方向が第2方向(この場合Y方向)でかつ負方向である場合(ステップS15で第2方向、かつステップS20で負方向)、制御部45は、ロボット20、30の動作態様を手先系のY方向に決定し、その動作態様における動作方向を負方向に決定する。
次に、制御部45は、ステップS23において、動作速度決定処理を実行する。動作速度決定処理は、ドラッグ操作のスライド距離Lsに基づいてロボット20、30の動作速度Vrを決定する処理である。この場合、ドラッグ操作のスライド距離Lsが、第1距離Ls1未満である場合、ロボット20、30の動作速度Vrは第1動作速度Vr1(0%)に設定される。スライド距離Lsが、第1距離Ls1以上でかつ第2距離Ls2未満である場合、ロボット20、30の動作速度Vrは第2動作速度Vr2(25%)に設定される。
スライド距離Lsが、第2距離Ls2以上でかつ第3距離Ls3未満である場合、ロボット20、30の動作速度Vrは第3動作速度Vr3(50%)に設定される。スライド距離Lsが、第3距離Ls3以上でかつ第4距離Ls4未満である場合、ロボット20、30の動作速度Vrは第4動作速度Vr4(100%)に設定される。なお、本実施形態においては、スライド距離Lsが第4距離Ls4以上になると、制御部45は、第1速度図形61に対する操作可能な領域を超えたと判断して、ロボット20、30の動作速度Vrを0%に設定、つまりロボット20、30の動作を停止させる。しかし、これに限られず、スライド距離Lsが第4距離Ls4以上となった場合、制御部45は、ロボット20、30を動作速度Vr4で動作させる意思をユーザが有していると判断し、ロボット20、30の動作速度Vrを第4動作速度Vr4に維持するようにしてもよい。
次に、制御部45は、ステップS24において、動作指令生成処理を実行し、動作態様決定処理(ステップS16、S18)で決定したロボット20、30の動作態様と、動作方向決定処理(ステップS21、S22)で決定したロボット20、30の動作方向と、動作速度決定処理(ステップS23)で決定したロボット20、30の動作速度Vrとに基づいて、ロボット20、30を動作させるための動作指令を生成する。そして、制御部45は、ステップS25において、ステップS24で生成した動作指令をコントローラ11へ送信する。コントローラ11は、ティーチングペンダント40から受信した動作指令に基づいて、ロボット20、30を動作させる。
次に、制御部45は、ステップS26を実行し、操作検出部46の検出結果に基づいて、操作が終了されたか否かを判断する。この場合、操作の終了とは、ユーザの指90等がタッチパネルディスプレイ42から離間したことをいう。つまり、ドラッグ操作の操作速度が0になっただけでは、操作の終了とは判断されない。また、ドラッグ操作のスライド距離Lsが0となったこと、つまりドラッグ操作の現在位置P1が開始位置P0に等しくなったことも、操作の終了とは判断されない。
ドラッグ操作が継続している場合(ステップS26でNO)、制御部45は、図4のステップS13へ移行し、ステップS13〜S26を繰りかえす。なお、ステップS13〜S26の処理は、例えば0.5秒毎に繰り返される。そのため、ドラッグ操作の入力と、ロボット20、30の動作との間には、大きな時差は生じない。したがって、ユーザは、略リアルタイムでロボット20、30を手動操作しているとの印象を受け得る。この場合、ユーザは、あるスライド距離Lsでドラッグ操作を停止しておけば、そのスライド距離Lsに対応する動作速度Vrでロボット20、30の動作を継続させることができる。そして、制御部45は、操作検出部46の検出結果に基づいて、ドラッグ操作が終了したと判断すると(ステップS26でYES)、ステップS27、S28を実行する。
制御部45は、ステップS27において、上述した処理で決定した、ロボット20、30の動作態様、動作方向、及び動作速度Vrの設定を解除つまり初期化する。これにより、ロボット20、30の動作が終了する。そして、制御部45は、ステップS28において、表示制御部48の処理により、方向図形51、52をタッチパネルディスプレイ42上から消去して、画面の表示内容を初期化する。これにより、一連の処理が終了する。そして、制御部45は、図4のステップS11へ戻り、再度ステップS11〜S28の処理を実行する。これにより、ユーザは、新たな動作態様での手動操作が可能になる。すなわち、ユーザは、ロボット20、30の動作態様及び動作方向を変更することができる。
本実施形態によれば、制御部45は、動作指令生成部47の処理によって、操作検出部46で検出されたドラッグ操作のスライド距離Lsに基づいて、ロボット20、30の動作速度Vrを決定する動作速度決定処理を行うことができる。そして、制御部45は、表示制御部48の処理によって、速度図形61をタッチパネルディスプレイ42に表示させる速度図形表示処理を行うことができる。速度図形61は、スライド距離Lsとロボット20、30の動作速度Vrとを相関させた図形であって、スライド距離Lsの変化に伴って形態が変化する。つまり、速度図形61の形態は、ドラッグ操作のスライド距離Lsが長く又は短くなるのに伴って変化する。そして、スライド距離Lsとロボット20、30の動作速度Vrとは、図10に示すように相関しているため、速度図形61の形態の変化も、ロボット20、30の動作速度Vrに相関している。
すなわち、上述した構成において、タッチパネルディスプレイ42に対してドラッグ操作が行われると、そのドラッグ操作のスライド距離Lsに基づいてロボット20、30の動作速度Vrが決定される。これにより、ユーザは、ドラッグ操作のスライド距離Lsを調整することによって、ロボット20、30の動作速度Vrを変更することができる。そして、ユーザがロボット20、30の動作速度Vrを調整するためにドラッグ操作のスライド距離Lsを調整すると、ドラッグ操作のスライド距離Lsの変化に伴って、タッチパネルディスプレイ42に表示された速度図形61の形態が変化する。
速度図形61の形態は、ロボット20、30の動作速度Vrに相関している。これにより、ユーザは、タッチパネルディスプレイ42に表示される速度図形61を見ることで、自己が行っているドラッグ操作と、そのドラッグ操作によって行われるロボット20、30の動作速度Vrとの相関を直感的に判断し易い。すなわち、ユーザは、タッチパネルディスプレイ42に表示される速度図形61を見ることで、自己のドラッグ操作によって行われるロボット20、30の現在の動作速度Vrを視覚的に認識することができる。その結果、直感的な操作が可能になってユーザの操作感覚の向上を図ることができる。
制御部45は、動作指令生成部47の処理によって、動作方向決定処理を行うことができる。動作方向決定処理は、ドラッグ操作の操作方向がドラッグ操作の開始位置P0を基準とした正方向である場合にロボット20、30を正方向へ動作させるための動作指令を生成し、ドラッグ操作の操作方向が正方向とは反対方向の負方向である場合にロボット20、30を負方向へ動作させるための動作指令を生成する処理である。これによれば、ユーザは、ドラッグ操作の開始位置P0を基準として、そのドラッグ操作の操作方向を正方向又は負方向に調整することで、ロボット20、30の動作方向を正方向又は負方向に調整することができる。
すなわち、ドラッグ操作は、ユーザの指90等をタッチパネルディスプレイ42上に沿って移動つまりスライドさせる操作であるため、ドラッグ操作には、必ず操作方向とスライド距離Lsとが含まれている。そこで、上記構成のティーチングペンダント40によれば、ドラッグ操作のスライド距離Lsによってロボット20、30の動作速度Vrを決定するとともに、ドラッグ操作の操作方向の正負によってロボット20、30の動作方向の正負を決定することができる。これにより、ユーザは、一度のドラッグ操作で、ロボット20、30の動作速度Vrと動作方向とを決定することができる。そのため、ユーザは、ロボット20、30の動作方向を決定するための操作を別途行う必要が無くなり、その結果、操作の手数を削減することができて操作性の向上が図られる。
速度図形61は、第1バー62と、スライダ63と、を有している。第1バー62は、ドラッグ操作の開始位置P0を基点とする直線状に形成されてスライド距離Lsとロボット20、30の動作速度Vrとの相関を示すように構成されている。スライダ63は、ドラッグ操作に伴って第1バー62に沿って移動可能であって、第1バー62に対するドラッグ操作の現在位置P1を示すように構成されている。
これによれば、ユーザは、直線状の第1バー62に沿ってスライダ63を動かすよう感覚で、ドラッグ操作を行うことができる。この場合、第1バー62は、ドラッグ操作の開始位置P0を基点とする直線状に形成されている。そのため、第1バー62に対するスライダ63の現在位置P1は、ドラッグ操作によるスライド距離Lsによって決定される。そして、第1バー62は、ドラッグ操作のスライド距離Lsとロボット20、30の動作速度Vrとの相関を示すものである。そのため、第1バー62に対するスライダ63の位置は、ドラッグ操作によって決定されたロボット20、30の動作速度Vrを示すものとなる。したがって、ユーザは、ドラッグ操作を行う際に、スライダ63と第1バー62との位置関係を確認することで、ロボット20、30の動作速度を視覚的に確認することができる。これにより、ユーザは、ドラッグ操作を行う際のスライド距離Lsの目安が分かり、その結果、操作性が更に向上する。
制御部45は、動作指令生成部47の処理により、動作態様決定処理を行うことができる。動作態様決定処理は、操作検出部46で検出したドラッグ操作の操作方向が第1方向である場合にロボット20、30の動作態様を第1動作態様に決定し、ドラッグ操作の操作方向が第2方向である場合にロボット20、30の動作態様を第2動作態様に決定する処理である。これによれば、ユーザは、ドラッグ操作を、第1方向と第2方向とで使い分けることで、ロボット20、30の2つの動作態様について手動操作することができる。したがって、ロボット20、30の動作態様を選択するための操作を削減することができ、その結果、操作の手数を削減して操作性の向上が図られる。
制御部45は、表示制御部48の処理により、方向図形表示処理を行うことができる。方向図形表示処理は、操作検出部46がタッチ操作を検出した場合に、第1方向を示す第1方向図形51と第2方向を示す第2方向図形52とをタッチパネルディスプレイ42上に表示させる処理である。これによれば、ユーザが、ドラッグ操作をするためにタッチパネルディスプレイ42をタッチ操作した場合に、タッチパネルディスプレイ42上に第1方向を示す第1方向図形51と、第2方向を示す第2方向図形52と、が表示される。これにより、ユーザは、ドラッグ操作を開始する前に、タッチパネルディスプレイ42上の第1方向図形及び第2方向図形を見ることで、いずれの方向へドラッグ操作を行えばよいかの判断がし易くなる。その結果、操作性が更に向上する。
また、第1方向と第2方向とは直交している。そして、方向図形表示処理は、第1方向図形51と第2方向図形52とを直交させてタッチパネルディスプレイ42に表示させる処理を含んでいる。これによれば、第1方向と第2方向との成す角度は、これら第1方向と第2方向との成す角度が取り得る範囲の中で最も大きい直角である。そのため、ユーザは、第1方向図形51に沿った第1方向へのドラッグ操作と、第2方向図形52に沿った第2方向へのドラッグ操作と、を区別して操作し易い。したがって、ユーザが、ドラッグ操作の操作方向を間違えて操作したり、ドラッグ操作がユーザの意図しない操作方向となってしまったりすることを低減することができる。その結果、ドラッグ操作の誤操作が低減され、操作性の更なる向上や安全性の向上が図られる。
速度図形61は、ドラッグ操作のスライド距離Lsに比例して段階的にロボット20、30の動作速度Vrが大きくなるように設定されている。すなわち、例えばマニュアル操作の習熟度が低いユーザにおいては、ドラッグ操作によるスライド距離Lsを、正確に狙ったものとすることは難しい。例えば、ドラッグ操作のスライド距離Lsをそのままロボット20、30の動作速度Vrに反映させたものでは、ドラッグ操作のスライド距離Lsがユーザの意図したものから少しでも外れると、ロボット20、30の動作速度Vrもユーザの意図したものから外れることになる。
これに対し、上記構成のティーチングペンダント40によれば、ロボット20、30の動作速度Vrは、ドラッグ操作のスライド距離Lsに比例して段階的に大きくなる。つまり、ユーザは、ロボット20、30をある動作速度Vrで動作させたい場合、その動作速度Vrに対応する範囲のスライド距離Lsでドラッグ操作を行えばよい。つまり、ユーザのドラッグ操作によるスライド距離Lsについて、ある程度の誤差が許容される。これにより、ドラッグ操作のスライド距離Lsがユーザの意図したものから若干外れた場合であっても、ロボット20、30の動作速度Vrがユーザの意図したものから外れることを低減することができ、ユーザの狙った動作速度でロボット20、30を動作させ易くなる。その結果、例えば習熟度の低いユーザであっても、ロボット20、30を安定してマニュアル動作させることができるようになる。
また、本実施形態によるロボット操作プログラムを、例えばタッチパネルディスプレイを備える汎用のタブレットPCやスマートフォン等によって実行することで、汎用のタブレットPCやスマートフォン等に、上述したティーチングペンダント40と同等の機能を付加することができる。
ちなみに、図4のステップS12における方向図形表示処理において、例えば図12に示すように、ドラッグ操作のタッチ位置P0が、タッチパネルディスプレイ42の画面の端寄りとなることがある。この場合、方向図形51、52及び速度図形61の全体が、タッチパネルディスプレイ42の画面内に収まりきらない。そこで、タッチパネルディスプレイ42の画面内に方向図形51、52及び速度図形61の全体が収まりきらない場合、制御部45は、表示制御部48の処理により、方向図形51、52及び速度図形61の全体のうち画面内に収まる部分のみを表示させる。この場合、方向図形51、52及び速度図形61の全体のうち、タッチパネルディスプレイ42の画面上からはみ出た部分は表示されない。例えば、図13に示すように、第1速度図形61において、第1バー62の負方向側の二点鎖線で示す部分この場合第3領域623及び第4領域624が、タッチパネルディスプレイ42の画面からはみ出る場合、そのはみ出た負方向側の第3領域623及び第4領域624は表示されない。
また、制御部45は、例えば図12に示すように、タッチ操作によるタッチ位置P0がタッチパネルディスプレイ42の画面の一方の端側に寄っている場合、図14に示すように、速度図形61の表示態様を変更してもよい。この場合、速度図形61の第1バー62は、タッチ位置P0つまり基点P0に対して一方側が短くされ、他方側が長くされる。図12では、タッチ操作によるタッチ位置P0が、第1速度図形61の第1バー62における負方向の端側に寄っている。この場合、第1バー62は、図14に示すように、基点P0に対して、負方向側が短く、正方向側が長くなる。そして、制御部45は、第1バー62の短くなった方の領域の数を減らし、長くなった方の領域の数を増やすように、各領域を再構成する。
例えば、図14では、第1バー62の負方向側は、第5領域625(10%)のみの領域つまり1つの領域に再構成される。一方、第1バー62の正方向側は、第5領域625(10%)と、第6領域626(20%)と、第7領域627(30%)と、第8領域(50%)と、第9領域(100%)との領域つまり5つの領域に再構成される。そして、再構成された領域625〜629のスライド距離Lsに対して、新たなロボット20、30の動作速度Vrが割り当てられる。
これによれば、タッチ操作によるタッチ位置P0がタッチパネルディスプレイ42において一方の端側寄りとなった場合に、その一方とは逆の他方の端側における動作速度Vrの選択肢が増加する。つまり、これによれば、ユーザがある方向に対してより細かく動作速度Vrを調整したい場合、ユーザは、タッチ操作による操作位置P0を、そのある方向とは逆側寄り部分にする。これにより、そのある方向に対して、ロボット20、30の動作速度Vrの割り当て数が増大する。これにより、ユーザは、そのある方向に対して動作速度Vrのより細かい調整を行うことができ、その結果、利便性が向上する。
また、上記実施形態において、ユーザは、タッチパネルディスプレイ42に対するタッチ操作及びドラッグ操作によって、ロボット20、30を動作させることができる。これによれば、ユーザは、物理的な操作キーを操作する場合に比べて、直感的で容易にマニュアル操作を行うことができる。更に、これによれば、例えばマニュアル操作を行うための物理的な操作キーを削減することができる。その結果、ティーチングペンダント40の小型化やタッチパネルディスプレイ42の画面サイズの拡大、低価格化などを実現できるといった効果が期待できる。
上記実施形態は、例えば次のように変形することができる。
すなわち、制御部45は、図4のステップS12において、例えば図15に示すように、タッチパネルディスプレイ42上に方向図形51、52を表示させるとともに第1速度図形611、612の両方を初期状態として薄く表示させる。そして、制御部45は、図16及び図17に示すように、ドラッグ操作の入力に応じて、そのドラッグ操作の操作方向に対応する第1速度図形611、612を濃く表示させる。これによれば、ユーザは、ドラッグ操作を行う前に、薄く表示された第1速度図形611、612を見ることで、どの様な態様で操作を行えばよいかが連想し易く、その結果、操作性の向上が図られる。
また、制御部45は、例えば図18に示すように、第1方向に対するドラッグ操作と、第2方向に対するドラッグ操作とを、同時に認識し処理しても良い。これによれば、ユーザは、例えばX方向とY方向への同時操作つまりX−Y平面方向への操作を行うことが可能になり、利便性が更に向上する。
また、制御部45は、例えば図19に示すように、第1方向図形51及び第1方向に沿う第1速度図形611と、第2方向図形52及び第2方向に沿う第1速度図形612とを、重ならないように別けて表示させてもよい。これによれば、ユーザは、例えば両手で操作が可能となるため、利便性が更に向上する。
(第2実施形態)
次に、第2実施形態について、図20及び図21を参照して説明する。
本実施形態において、制御部45は、表示制御部48の処理により、第1実施形態の第1速度図形61に換えて、図20に示す第2速度図形64をタッチパネルディスプレイ42上に表示させる。第2速度図形64は、速度図形の一例である。第2速度図形64は、ドラッグ操作のスライド距離Lsとロボット20、30の動作速度Vrとの対応関係が、上記第1実施形態による速度図形61と異なる。
本実施形態において、動作速度決定処理は、ドラッグ操作のスライド距離Lsに比例して連続的にロボット20、30の動作速度Vrを大きくする処理である。すなわち、第2速度図形64は、第2バー641を有している。第2バー641は、スライド距離Lsに比例して連続的にロボット20、30の動作速度Vrが大きくなるように設定されている。本実施形態において、スライド距離Lsとロボット20、30の動作速度Vrとの相関は、図21に示す通りである。ロボット20、30の動作速度Vrは、スライド距離Lsが大きくなるのに比例して連続的この場合一次関数的に増大する。
ここで、例えばマニュアル操作の習熟度が高いユーザにおいては、ドラッグ操作のスライド距離Lsを、狙ったものとすることは比較的容易である。逆に、ロボット20、30の微調整を行う場合に、自己のドラッグ操作によるスライド距離Lsが、ロボット20、30の動作速度Vrに正確に反映されないと不便である。これに対し、本実施形態のティーチングペンダント40によれば、ロボット20、30の動作速度Vrは、ドラッグ操作のスライド距離Lsに比例して連続的に大きくなる。つまり、ドラッグ操作のスライド距離Lsの連続的な変化は、ロボット20、30の動作速度Vrに対して連続的な変化として反映される。これにより、ユーザは、ドラッグ操作のスライド距離Lsの変化を、ロボット20、30の動作速度Vrに直接的に反映させることができる。その結果、例えば習熟度の高いユーザであれば、より正確なロボット20、30の微調整を行うことができるため、利便性が向上する。
(第3実施形態)
次に、第3実施形態について、図22及び図23を参照して説明する。
本実施形態において、制御部45は、表示制御部48の処理により、上記各実施形態の速度図形61、64に換えて、図22に示す第3速度図形65をタッチパネルディスプレイ42上に表示させる。第3速度図形65は、速度図形の一例である。この第3速度図形65は、ドラッグ操作のスライド距離Lsとロボット20、30の動作速度Vrとの対応関係が、上記各実施形態による速度図形61、64と異なる。
本実施形態において、動作速度決定処理は、ドラッグ操作のスライド距離Lsが0以上Ls5未満の範囲内においてスライド距離Lsに比例して連続的にロボット20、30の動作速度Vrを大きくする処理を含んでいる。また、動作速度決定処理は、ドラッグ操作のスライド距離Lsが所定距離この場合Ls5以上になるとスライド距離Lsに比例して段階的にロボット20、30の動作速度Vrを大きくする処理を含んでいる。
すなわち、ドラッグ操作のスライド距離Lsが、第5距離Ls5未満である場合、ロボット20、30の動作速度Vrは、Vr1(0%)〜Vr2(25%)の範囲内でスライド距離Lsに比例した値に設定される。スライド距離Lsが、第5距離Ls5以上でかつ第6距離Ls6未満である場合、ロボット20、30の動作速度Vrは第3動作速度Vr(50%)に設定される。スライド距離Lsが、第6距離Ls6以上でかつ第7距離Ls7未満である場合、ロボット20、30の動作速度Vrは第4動作速度Vr4(100%)に設定される。
この場合も、スライド距離Lsが、第7距離Ls7以上になると、制御部45は、第1速度図形61に対する操作可能な領域を超えたと判断して、ロボット20、30の動作速度Vrを0%に設定、つまりロボット20、30の動作を停止させる。なお、スライド距離Lsが第7距離Ls7以上となった場合、制御部45は、ロボット20、30の動作速度Vrを、第4動作速度Vr4(100%)に維持するようにしてもよい。
第3速度図形65の第3バー66は、図22に示すように、第11領域661、第12領域662、及び第13領域663を有している。第11領域661は、第3バー66の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第5距離Ls5未満の領域である。第12領域662は、第3バー66の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第5距離Ls5以上かつ第6距離Ls6未満の領域である。第13領域663は、第3バー66の全体のうち、ドラッグ操作の開始位置P0を基点とした正負両側において第6距離Ls6以上かつ第7距離Ls7未満の領域である。
第11領域661は、第1動作速度Vr1(0%)から第2動作速度Vr2(25%)の値に割り当てられている。第12領域662は、第3動作速度Vr3(50%)に割り当てられている。第13領域663は、第4動作速度Vr4(100%)に割り当てられている。この場合の第3バー66上におけるスライド距離Lsと、ロボット20、30の動作速度Vrとの相関は、図23に示す通りである。
これによれば、上記1実施形態及び第2実施形態と同様の作用効果が得られる。すなわち、ユーザは、連続的な動作速度Vrの調整と段階的な動作速度Vrの調整とを、切り替えの操作等を行うことなく、一のドラッグ操作によって行うことができる。したがって、操作に要する手数を減らすことができ、その結果、操作性の向上が図られる。
ここで、ロボット20、30を比較的遅い動作速度Vr(例えば、Vr<25%)で動作させる状況とは、ロボット20、30の手先位置の微調整を行う場面が想定される。この場合、ロボット20、30の手先位置の僅かな変化が重要となってくるため、ロボット20、30の動作速度Vrは、細かく調整できることが望ましい。一方、ロボット20、30を比較的速い動作速度Vr(例えば、Vr≧50%)で動作させる状況とは、ロボット20、30の手先位置の大まかな調整を行う場面が想定される。この場合、ロボット20、30の手先位置の僅かな変化はそれほど重要ではない。そのため、ロボット20、30を比較的速い動作速度Vrで動作させる場面において、その動作速度Vrを細かく調整する必要性は比較的低い。
むしろ、動作速度Vrの全範囲において、ドラッグ操作のスライド距離Lsに比例させて動作速度Vrを連続的に変化させようとすると、スライド距離Lsを大きく確保する必要がある。そうすると、第3速度図形65の第3バー66が長くなり、タッチパネルディスプレイ42の画面内に収まりきらなくなるおそれがある。また、この場合、ユーザは、ロボット20、30の動作速度Vrを速くするためには、ドラッグ操作のスライド距離Lsを大きくしなければならず、不便である。これに対し、動作速度Vrの調整の範囲を変えずに第3バー66全体を縮小すると、スライド距離Lsの僅かな影響が、ロボット20、30の動作速度Vrに大きな影響を与えることになり、操作性が低下するおそれがある。
そこで、本実施形態において、制御部45は、比較的遅い所定の動作速度Vr、この場合第2動作速度Vr2(25%)までの範囲については、ドラッグ操作のスライド距離Lsに比例させて連続的にロボット20、30の動作速度Vrを大きくするようにする。一方、制御部45は、前記所定の動作速度Vrを超える範囲については、ドラッグ操作のスライド距離Lsに比例させて段階的にロボット20、30の動作速度Vrを大きくするようにする。
これによれば、ユーザは、比較的遅い動作速度Vrの範囲内においては、ドラッグ操作のスライド距離Lsを連続的に変化させて調整することによって、ロボット20、30の動作速度Vrを細かく調整することができる。一方、ユーザは、比較的速い動作速度Vrにおいては、大きなスライド距離Lsを要せずに操作することができる。また、比較的速い動作速度Vrに対応する第1バー62の領域を短くすることができるため、第3バー66を縮小することなくタッチパネルディスプレイ42の画面内に表示させることができる。これらの結果、更に操作性の向上を図ることができる。
(第4実施形態)
次に、第4実施形態について、図24及び図25を参照して説明する。
本実施形態において、制御部45は、表示制御部48の処理により、上記各実施形態の速度図形61、64、65に換えて、図24及び図25に示す第4速度図形67をタッチパネルディスプレイ42上に表示させる。第4速度図形67は、ドラッグ操作の開始位置P0を基点としてスライド距離Lsに応じて直線状に伸縮するものである。
具体的には、第4速度図形67は、伸縮バー671と、速度表示672と、を有している。図24及び図25に示すように、伸縮バー671は、ドラッグ操作のスライド距離Lsに応じて伸縮する。速度表示672は、現在のスライド距離Lsに対応するロボット20、30の動作速度Vrを示す表示である。例えば図24に示すように、ドラッグ操作のスライド距離Lsが0である場合、伸縮バー671は、一本の細い棒状に表示される。この場合、速度表示672は、ロボット20、30が0であることを示す「0%」となる。一方、例えば図25に示すように、ドラッグ操作が行われてスライド距離Lsが増大すると、伸縮バー671は、そのスライド距離Lsに応じた長さに変化する。そして、速度表示672は、そのスライド距離Lsに応じて決定されるロボット20、30の動作速度Vr、例えば「50%」となる。
この様に、第4速度図形67の伸縮バー671は、ドラッグ操作によるスライド距離Lsが長くなるのにつれて伸び、スライド距離Lsが短くなるのにつれて縮む。そして、スライド距離Lsが長くなると、ロボット20、30の動作速度Vrが速くなり、スライド距離Lsが短くなると、ロボット20、30の動作速度Vrが遅くなる。したがって、伸縮バー671の長さとロボット20、30の動作速度Vrとは相関している。なお、この場合、スライド距離Ls及び伸縮バー671の長さと、ロボット20、30の動作速度Vrと相関は、上述したような断続的又は連続的にいずれであっても良い。
これによれば、ユーザは、第4速度図形67の伸縮バー671の現在の長さを見ることで、ロボット20、30の現在の動作速度Vrを確認することができる。したがって、ユーザは、自己のドラッグ操作によって行われるロボット20、30の動作速度Vrを視覚的に認識し易くなる。また、ユーザは、例えばロボット20、30の動作速度Vrを速くしたい場合、ドラッグ操作により伸縮バー671を伸ばす感覚で操作することができる。一方、ユーザは、ロボット20、30の動作速度Vrを遅くしたい場合、ドラッグ操作により伸縮バー671を縮める感覚で操作することができる。この場合、伸縮バー671の伸縮つまり伸縮バー671の長さが増減することと、ロボット20、30の動作速度Vrが増減することとは、ある物理量(この場合、長さ又は速度)が増減することで共通しているため、関連する印象を受け易い。これらの結果、直感的な操作が可能になってユーザの操作感覚の向上を図ることができる。
更に、第4速度図形67の伸縮バー671は、ドラッグ操作によるスライド距離Lsが長くなるのにつれて伸びる。すなわち、ドラッグ操作の入力開始時には、伸縮バー671の全体つまり伸びきった状態は表示されていない。この場合、例えば図10に示す第1速度図形61のように、ドラッグ操作の入力開始時に予め第1バー62の全体を表示しておくと、ユーザは、その第1バー62が伸びている方向を見ることで、ドラッグ操作の操作方向を認識し易くなる。つまり、バーが伸縮しない速度図形においては、ユーザのドラッグ操作の操作方向を誘導する誘導作用がある。
これに対し、本実施形態のように、速度図形を伸縮可能な伸縮バー671で構成して、ドラッグ操作の入力開始時に第4速度図形67の全体を表示しないようにすると、第4操作図形67におけるドラッグ操作の誘導作用は低減される。これによれば、ユーザには、ドラッグ操作に伴って伸縮する伸縮バー671に合わせて、段階的に又は比較的ゆっくりとスライド距離Lsを増加させようとする意志が働き易くなる。したがって、ユーザが急に大きなドラッグ操作を入力することを抑制することができ、急激なドラッグ操作の入力によるロボット20、30の急加速を極力防止することができる。その結果、更なる安全性の向上を図ることができる。
(第5実施形態)
次に、第5実施形態について、図5及び図26〜図30を参照して説明する。
本実施形態において、制御部45は、ドラッグ操作とは異なる方法によりロボット20、30の動作態様を決定する動作態様決定処理を行うことができる。すなわち、制御部45は、手動操作が開始されて図26のステップS31が実行されると、表示制御部48の処理によって、図27又は図28に示す動作態様選択画面70、80をタッチパネルディスプレイ42上に表示させる。動作態様選択画面70、80は、ユーザが、タッチ操作により、ロボット20、30の動作態様を選択するためのものである。
例えば図27に示す動作態様選択画面70は、4軸ロボット20用であり、各軸系の選択部71と、手先系の選択部72と、を有している。選択部71、72の外形は円形に形成されている。選択部71、72の円の内側は、各動作系の駆動態様の数で等分されている。4軸ロボット用の動作態様選択画面70の場合、各選択部71、72の円の内側は、それぞれ4軸ロボット20の各動作系における駆動態様の数である4個に等分されている。そして、4等分された選択部71、72の内側の各領域は、それぞれ各軸系の選択領域711〜714と、手先系の選択領域721〜724とに設定されている。
この場合、各軸系の選択部71において、選択領域711は第1軸J21の動作態様に割り当てられ、選択領域712は第2軸J22の動作態様に割り当てられ、選択領域713は第3軸J23の動作態様に割り当てられ、選択領域714は第4軸J24の動作態様に割り当てられている。また、手先系の選択部72において、選択領域721はX方向への動作態様に割り当てられ、選択領域722はY方向への動作態様に割り当てられ、選択領域723はZ方向への動作態様に割り当てられ、選択領域724はRz方向への動作態様に割り当てられている。これにより、ユーザは、選択領域711〜714、721〜724のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様でロボット20を動作させることができる。
また、例えば図28に示す動作態様選択画面80は、6軸ロボット用であり、各軸系の選択部81と、手先系の選択部82と、を有している。選択部81、82の外形は円形に形成されている。選択部81、82の円の内側は、各動作系の駆動態様の数で等分されている。6軸ロボット用の動作態様選択画面80の場合、各選択部81、82の円の内側は、それぞれ6軸ロボット30の各動作系における駆動態様の数である6個に等分されている。そして、6等分された選択部81、82の内側の各領域は、それぞれ各軸系の選択領域811〜816と、手先系の選択領域821〜826とに設定されている。
この場合、各軸系の選択部81において、選択領域811は第1軸J31の動作態様に割り当てられ、選択領域812は第2軸J32の動作態様に割り当てられ、選択領域813は第3軸J33の動作態様に割り当てられ、選択領域814は第4軸J34の動作態様に割り当てられ、選択領域815は第5軸J35の動作態様に割り当てられ、選択領域816は第6軸J36の動作態様に割り当てられている。また、手先系の選択部82において、選択領域821はX方向への動作態様に割り当てられ、選択領域822はY方向への動作態様に割り当てられ、選択領域823はZ方向への動作態様に割り当てられ、選択領域824はRz方向への動作態様に割り当てられ、選択領域825はRy方向への動作態様に割り当てられ、選択領域826はRx方向への動作態様に割り当てられている。これにより、ユーザは、選択領域811〜816、821〜826のいずれかの領域をタッチ操作することにより、その領域に割り当てられた動作態様でロボット30を動作させることができる。
制御部45は、図26のステップS32において、操作検出部46の検出結果に基づいて、選択領域711〜714、721〜724のいずれか又は選択領域811〜816、821〜826のいずれかに対して操作があったか否かを判断する。いずれの選択領域に対してもタッチ操作がされていない場合(ステップS32でNO)、制御部45は、動作態様選択画面70、80を表示させたまま待機する。一方、いずれかの選択領域に対してタッチ操作があった場合(ステップS32でYES)、制御部45は、ステップS33へ移行する。そして、制御部45は、ステップS33を実行すると、動作指令生成部47の処理によって、手動操作によるロボット20、30の動作態様をステップS32で選択された動作態様に決定する。例えば、図29に示すように、4軸ロボット20の動作態様選択画面70において、ユーザが各軸系の選択部71の選択領域711をタッチ操作した場合、制御部45は、ロボット20の動作態様を、各軸系の第1軸J21を駆動させる動作態様に決定する。
次に、制御部45は、図26のステップS34を実行し、表示制御部48の処理によって、タッチパネルディスプレイ42の画面を、手動操作画面この場合図6に示すように何も表示されていない状態に切り替える。その後、制御部45は、ステップS35において、操作検出部46の検出結果に基づいて、タッチパネルディスプレイ42に対してタッチ操作が行われたか否かを判断する。タッチ操作がされていない場合(ステップS35でNO)、制御部45は、タッチパネルディスプレイ42に何も表示させないまま待機する。一方、図30に示すように、ユーザが指90等でタッチパネルディスプレイ42上の任意の点をタッチ操作すると、制御部45は、タッチ操作が行われたと判断し(ステップS35でYES)、ステップS36を実行する。
制御部45は、ステップS36において、速度図形表示処理を実行し、選択された動作態様に対応する第5速度図形68を、タッチパネルディスプレイ42上に表示させる。なお、第5速度図形68は、上述した第1速度図形61、第2速度図形64、第3速度図形65、及び第4速度図形67のいずれにも置き換えることができる。また、ステップS34、35を省略する構成としてもよい。すなわち、例えばユーザが動作態様選択画面70、80にタッチ操作して動作態様が選択されると(ステップS33)、そのタッチ操作によるタッチ位置を中心位置とした第5速度図形68がタッチパネルディスプレイ42上に表示される(ステップS36)。
次に、ステップS37において、制御部45は、操作検出部46により、ユーザの指90等に係る現在位置P1を検出する。その後、制御部45は、ステップS38において、ステップS35で検出したタッチ位置P0と、ステップS37で検出した現在位置P1とによって、タッチ位置P0からドラッグ操作が行われたか否かを判断する。ドラッグ操作が行われていない場合(ステップS38でNO)、制御部45は、図5のステップS26を実行する。一方、ドラッグ操作の検出があった場合(ステップS38でYES)、制御部45は、図4のステップS17、S19と同様に、そのドラッグ操作のスライド距離Lsに合わせて、第5速度図形68の表示を変化させる。その後、制御部45は、図5のステップS20へ移行する。これにより、ユーザの選択した動作態様及び動作速度Vrで、ロボット20、30の動作が行われる。
これによれば、ユーザは、3以上の動作態様を切り替えて手動操作できるため、上記各実施形態とは異なった観点における操作性の向上を図ることができる。また、選択部71、72、81、82は、円形に形成されており、その円の内側は、ロボット20、30の動作態様の数に応じて等分されている。そして、その等分された円の内側の領域には、ロボット20、30の各動作態様が割り当てられている。これによれば、ユーザは、どの選択領域にどの動作態様が割り当てられているかを認識し易く、その結果、操作性の更なる向上を図ることができる。
(第6実施形態)
次に、第6実施形態について、図31〜図33を参照して説明する。なお、第6実施形態においては、第1速度図形61を対象として説明するが、他の速度図形についても適用することができる。
制御部45は、表示制御部48の処理により、スライダ63の位置つまりドラッグ操作のスライド距離Lsに応じて、第1バー62の長さを可変させて表示することができる。すなわち、第1バー62は、スライダ63の位置に応じて、表示される領域が変更される。例えば第1バー62は、スライダ63が移動した方向と同じ方向へ向かって伸縮するように表示される。この場合、第1速度図形61の第1バー62は、ドラッグ操作の開始位置P0を基点としてスライド距離Lsに応じて直線状に伸縮するものである。
具体的には、図31に示すように、ドラッグ操作の現在位置P1が初期位置P0である場合つまりスライド距離Lsが0である場合、スライダ63が位置している第1領域621と、第1領域621の両側に隣接する第2領域622、622と、が表示される。この場合、正負方向両側の各領域621〜624のうち、第1領域621及び第2領域622、622以外の領域、つまり正負両側の第3領域623、623及び第4領域624、624は、破線で示すように非表示となる。
次に、正方向側へドラッグ操作がなされてスライド距離Lsが正方向側に増加すると、第1バー62は、正方向側へ向かって伸びるように表示される。一方、負方向側へドラッグ操作がなされてスライド距離Lsが負方向側に増加すると、第1バー62は、負方向側へ向かって伸びるように表示される。例えば図32に示すように、正方向側へドラッグ操作がなされて、スライダ63が正方向側の第2領域622に位置すると、スライダ63が位置している正方向側の第2領域622に対して、正方向側に隣接する第3領域623が、更に表示される。この場合、ドラッグ操作の操作方向とは逆側に位置する負方向側の第2領域622は、二点鎖線で示すように非表示となる。
そして、図33に示すように、更に正方向側へドラッグ操作がなされて、スライダ63が正方向側の第3領域623に位置すると、スライダ63が位置している第3領域623に対して、正方向側に隣接する第4領域624が、更に表示される。なお、第3領域623の位置から第1領域621側へドラッグ操作した場合には、第1バー62は、上述したものとは逆に、図33、図32、図31の順で縮むように表示される。
このように、本実施形態において、第1バー62は、ドラッグ操作に伴い、ドラッグ操作の操作方向へ向かって伸縮するように表示される。つまり、ドラッグ操作によるスライド距離Lsの増加に伴って、タッチパネルディスプレイ42上に表示される第1バー62の領域621〜624が増大する。したがって、ドラッグ操作の入力開始時つまり現在位置P1が初期位置P0付近にある場合には、初期位置P0付近にある比較的遅い動作速度Vr(例えば、Vr2=25%)が割り当てられた領域のみが表示される。すなわち、ドラッグ操作の入力開始時には、初期位置P0から離れた比較的速い動作速度Vr(例えば、Vr3=50%、Vr4=100%)が割り当てられた領域は表示されない。
この場合、例えばドラッグ操作の入力開始時に予め第1バー62全体を表示すると、ユーザは、その第1バー62を見ることで、ドラッグ操作の操作方向を認識し易くなる。つまり、第1バー62には、ユーザのドラッグ操作の操作方向を誘導する誘導作用がある。これに対し、ドラッグ操作の入力開始時に第1バー62の全体を表示しないようにすると、第1バー62によるドラッグ操作の誘導作用は低減される。これによれば、ユーザには、ドラッグ操作に伴って伸縮する第1バー62に合わせて、段階的に又は比較的ゆっくりとスライド距離Lsを増加させようとする意志が働き易くなる。したがって、ユーザが急に大きなドラッグ操作を入力することを抑制することができ、急激なドラッグ操作の入力によるロボット20、30の急加速を極力防止することができる。その結果、更なる安全性の向上を図ることができる。
(第7実施形態)
次に、第7実施形態について、図34〜図37を参照して説明する。なお、第7実施形態の構成は、第1実施形態の構成を基礎としている。
図34に示すように、第7実施形態のティーチングペンダント40は、第1実施形態の構成に加えて、更に領域設定部49を備えている。領域設定部49は、例えば図8及び図9等に示すバー62に対応するバー領域62Aを、タッチパネル421上に設定する。また、本実施形態において、動作速度決定処理は、ドラッグ操作の操作位置つまり現在位置P1がバー領域62Aから外れた場合にロボット20、30の動作速度Vrを0にする処理を含んでいる。
また、本実施形態の操作検出部46は、タッチ操作及びドラッグ操作に係る操作圧力、つまりタッチパネル421に対するユーザの指等による押圧力を検出することができる。そして、動作速度決定処理は、操作検出部46で検出された操作圧力が、予め設定された閾値を超えた場合に、ロボット20、30の動作速度Vrを0にする処理を含んでいる。
また、バー領域62Aの幅は、ユーザの任意に設定可能である。この場合、ユーザは、図35に示すように2本の指を広げる又は狭めるような操作、いわゆるピンチング操作を行うことにより、バー領域62Aの長手方向に直交する方向の幅を変更することができる。すなわち、ユーザは、2本の指の間を広げるようにピンチング操作を行うことで、バー領域62Aの幅を広げることができ、2本の指の間を狭めるようにピンチング操作を行うことで、バー領域62Aの幅を狭めることができる。
また、動作速度決定処理は、ドラッグ操作の操作速度Vdが閾値を超えた場合にロボット20、30の動作速度Vrを0にする処理を含んでいる。この場合、ドラッグ操作のスライド距離Lsを増加させるドラッグ操作である加速操作が行われた場合における閾値は、予め所定の値に設定されている。一方、ドラッグ操作のスライド距離Lsを減少させるドラッグ操作である減速操作が行われた場合における閾値は、減速操作の直前に行われたドラッグ操作であってスライド距離Lsを増大させる加速操作の操作速度Vrに設定される。すなわち、加速操作に係る閾値は、予め設定された一定値であり、減速操作に係る閾値は、その減速操作の直前の加速操作によって変動する変動値である。
次に、制御部45で行われる制御内容について、図36及び図37を参照して説明する。本実施形態では、上記第1実施形態による図4及び図5の制御内容に対して、図36及び図37の制御内容を更に備えている。すなわち、制御部45は、上記第1実施形態と同様に図4に示すステップS11〜S14の制御内容を実行した後、図36に示すステップS41を実行する。制御部45は、ステップ41において、ドラッグ操作の現在位置P1が、バー領域42A内に位置しているか否かを判断する。
ドラッグ操作の現在位置P1がバー領域42A外に位置している場合(ステップS41でNO)、制御部45は、図37のステップS44へ移行する。一方、ドラッグ操作の現在位置P1がバー領域42A内に位置している場合(ステップS41でYES)、制御部45は、図36のステップS42へ移行し、ドラッグ操作の操作速度Vdが閾値以下であるか否かを判断する。ドラッグ操作の操作速度Vdが閾値を超えている場合(ステップS42でNO)、制御部45は、図37のステップS44へ移行する。一方、ドラッグ操作の操作速度Vdが閾値以下である場合(ステップS42でYES)、制御部45は、ステップS15へ移行する。そして、制御部45は、上記第1実施形態と同様に、ステップS15以降を実行する。
また、制御部45は、上記第1実施形態と同様に図4にステップS15以降及び図5に示すステップS20〜S25の制御内容を実行した後、ステップS26において操作が終了していないと判断されると(ステップS26でNO)、図37に示すステップS43以降を実行する。制御部45は、ステップS43において、操作検出部46が検出した操作圧力が閾値以下であるか否かを判断する。操作圧力が閾値以下である場合(ステップS43でYES)、制御部45は、図4のステップS13へ移行する。一方、操作圧力が閾値を超えている場合(ステップS43でNO)、制御部45は、図37のステップS44へ移行する。
そして、制御部45は、ステップS44において動作速度決定処理を行い、ロボット20、30の動作速度を0に決定する。その後、制御部45は、ステップS44において動作指令生成処理を実行し、動作速度決定処理(ステップS44)で決定したロボット20、30の動作速度Vrに基づいて、ロボット20、30を動作させるための動作指令を生成する。すなわち、この場合、動作速度決定処理(ステップS44)で決定したロボット20、30の動作速度Vrは0であるため、制御部45は、ステップS45においてロボット20、30を停止させるための停止指令を生成する。そして、制御部45は、ステップS46において、ステップS45で生成した動作指令この場合停止指令をコントローラ11へ送信する。コントローラ11は、ティーチングペンダント40から受信した動作指令つまり停止指令に基づいて、ロボット20、30を停止させる。その後、制御部45は、ステップS26へ移行し、上述した第1実施形態と同様にステップS26以降を実行する。
本実施形態の構成によれば、ティーチングペンダント40がいわゆるデッドマンスイッチを備えたものでなくても、高い安全性を確保することができる。すなわち、従来のロボット操作装置の多くは、ロボットやユーザの安全を確保するための物理的なスイッチいわゆるデッドマンスイッチを備えており、例えばデッドマンスイッチを押した状態でないと、ロボットを操作出来ないように構成されている。この構成において、例えばユーザによるロボット20、30の操作中にロボット20、30が何らかの物体に衝突しそうになった場合、ユーザは、デッドマンスイッチから指等を離したりデッドマンスイッチを強く押し込んだりすることで、ロボット20、30の動作を停止させることができる。これにより、ユーザは、この様な事態に咄嗟に対応することができ、その結果、高い安全性を確保することができる。しかしながら、例えばスマートフォンやタブレット端末などのように、タッチパネルを備えた安価なデバイスをロボット操作装置として使用する場合には、デッドマンスイッチの様な物理的なスイッチを設けることが難しい。
ここで、ティーチングペンダント40として例えばスマートフォン等のデバイスを採用した場合、そのティーチングペンダント40にはいわゆるデッドマンスイッチが搭載されていないと考えられる。そのため、例えばユーザの操作中にロボットが何らかの物体に衝突しそうになった場合、ユーザは、操作している指等をタッチパネル421から離して操作を終了させることで、ロボット20、30の動作を停止させることができ、その結果、ロボット20、30の衝突を極力回避させることができる。
しかしながら、ユーザは、操作している指等をタッチパネル421から離すという行動を、咄嗟の場合に取れない場合がある。この場合にユーザが取る行動としては、例えば次の3つが想定される。第1の行動は、ユーザがロボット20、30を停止又は減速させるためにロボット20、30の動作速度Vrを0にする又は減速させる操作、つまりスライド距離Lsを短くする操作を行うことである。第2の行動は、ユーザが誤ってロボット20、30の動作速度Vrを加速させるような操作つまりスライド距離Lsを増大させるような操作を行うことである。そして、これら第1の行動及び第2の行動は、いずれも短時間のうちに急激に行われると考えられる。また、第3の行動は、ユーザが何らかの操作を行うことが出来ずに、現在の操作位置P1のまま指等でタッチパネル421を強く押し込んでしまうことである。
そこで、本実施形態において、動作速度決定処理は、ドラッグ操作の操作速度Vdが閾値を超えた場合にロボット20、30の動作速度Vrを0にする処理を含んでいる。すなわち、これによれば、スライド距離Lsを急激に増大又は減少させるようなドラッグ操作つまり操作速度Vdが閾値を超えるような急激なドラッグ操作が行われた場合に、ロボット20、30の動作を停止させることができる。したがって、上述した第1の行動及び第2の行動が取られ場合であってもロボット20、30の動作を素早く停止させることができ、その結果、ロボットの操作の安全性の向上を図ることができる。
ここで、減速操作に対する閾値をユーザの熟練度に関わらず一律に設定すると、次のような問題が生じ得る。すなわち、熟練度の高いユーザは、ロボットの操作に慣れているため、操作速度が比較的速くても安全に操作することができる。しかし、熟練度の低いユーザに合わせて閾値を設定すると、熟練度の高いユーザが素早い減速操作を行った際に、そのユーザの意図に反してロボット20、30が停止してしまい、その結果、ユーザの意図した操作がし難くなり不便である。
そこで、本実施形態では、減速操作に対する閾値を、その減速操作の直前に行われた加速操作の操作速度Vdとしている。すなわち、第1の行動が取られて減速操作が行われた場合、その減速操作の直前に行われた加速操作の操作速度を超えることにより、ロボット20、30の動作が停止される。つまり、通常の教示作業等に係る操作(以下、通常操作と称する)においては、熟練度の高いユーザは、ロボットの操作に慣れているため、加速操作及び減速操作の両者とも比較的速い操作速度で行うと考えられる。一方、通常の操作において、熟練度の低いユーザは、ロボットの操作に慣れていないため、加速操作及び減速操作の両者とも比較的遅い操作速度で行うと考えられる。そして、本構成では、減速操作に対する閾値を、その減速操作の直前に行われた加速操作の操作速度としている。したがって、熟練度の高いユーザに係る減速操作の閾値は大きい値になり易く、一方、熟練度の低いユーザに係る減速操作の閾値は小さい値になり易い。これにより、減速操作に対する閾値をユーザの熟練度に適したものとすることができ、その結果、ユーザの熟練度に関わらず操作性の向上を図ることができる。
ちなみに、減速操作が行われるとその減速操作に伴ってロボット20、30の動作速度Vrも減速するため、通常の操作時においては安全性が増す。したがって、減速操作に対する閾値をユーザに熟練度に応じて変更しても特に問題は無い。一方、急激な加速操作が行われると、ロボット20、30の動作速度Vrも急激に増大するため、危険性が増大する。したがって、加速操作に対する閾値は、ユーザがどのような熟練度を有しているかに関わらず一定であることが好ましい。
また、本実施形態において、操作検出部46は、タッチ操作及びドラッグ操作に係る操作圧力を検出可能である。そして、動作速度決定処理は、操作検出部46で検出された操作圧力が閾値を超えた場合にロボット20、30の動作速度を0にする処理を含んでいる。これによれば、ユーザが上述した第3の行動を行った場合に、ロボット20、30を停止させることができる。そのため、ユーザが上述した第3の行動を取った場合であっても、ロボットが衝突することを極力回避でき、その結果、安全性の向上が図られる。
また、本実施形態のティーチングペンダント40は、タッチパネル421上にバーに対応するバー領域62Aを設定する領域設定部49を更に備える。動作速度決定処理は、ドラッグ操作の操作位置P1がバー領域62Aから外れた場合にロボット20、30の動作速度Vrを0にする処理を含んでいる。これによれば、ロボット20、30が何らかの物体と衝突しそうになった場合、ユーザは、ドラッグ操作の操作位置P1をバー領域62Aの外側へずらすことで、ロボット20、30を停止させることができる。その結果、ロボット20、30が衝突することを回避し易くなり、安全性の向上が図られる。
また、本実施形態において、バー領域62Aの幅は任意に設定可能である。これによれば、例えばバー領域62Aの幅を広くすることで、ユーザのドラッグ操作がバー領域62Aから外れ難くなるため、ユーザはタッチパネルディスプレイ42を見なくても比較的容易にドラッグ操作を行うことができ、その結果、操作性が向上する。一方、例えばバー領域62Aの幅を狭くすることで、ユーザのドラッグ操作がバー領域62Aから外れ易くすることができる。この場合、ユーザは、自己のドラッグ操作がバー領域62Aから外れないようにするため、より慎重な操作を心がけるようになり、その結果、更なる安全性の向上が図られる。
なお、本実施形態において、「ロボット20、30の動作速度Vrを0にする」との意味は、ロボット20、30の動作速度Vrを厳密に0にすることのみに限られない。すなわち、本実施形態において「ロボット20、30の動作速度Vrを0にする」とは、ロボット20、30が何らかの物体と衝突しそうな場合にその衝突を回避するために取る手段を意味する。そのため、本実施形態において「ロボット20、30の動作速度Vrを0にする」とは、ロボット20、30の動作速度Vrを厳密な0にしてその動作を完全に停止させるだけでなく、ユーザが適切な操作を行い得るための時間を確保することが出来る程度にロボット20、30を減速させる場合も含む。
(第8実施形態)
次に、第8実施形態について、図38及び図39を参照して説明する。なお、第8実施形態の構成は、第1実施形態の構成及び第7実施形態の構成を基礎としている。
領域設定部49は、例えば図38に示すように、バー62に対してバー領域62Aを設定している。そして、バー領域62Aは、主停止領域621Aと、動作領域622A〜624Aと、を有している。主停止領域621Aは、第1領域621に対応する領域であり、ドラッグ操作の開始位置P0を含む領域である。動作領域622A〜624Aは、それぞれ第2領域622、第3領域623、及び第4領域624に対応する領域であり、それぞれドラッグ操作の開始位置P0を含まない領域である。
本実施形態において、制御部45は、ドラッグ操作の操作位置P1が主停止領域621Aに位置している場合にはロボット20、30の動作速度を0にする。つまり、ドラッグ操作の操作位置P1が主停止領域621Aに位置している場合、ロボット20、30は停止される。一方、ドラッグ操作の操作位置P1が動作領域622A〜624Aに位置している場合にはスライド距離Lsに基づいてロボット20、30の動作速度Vrを決定する。
そして、領域設定部49は、スライド距離Lsを減少させるドラッグ操作つまり減速操作が行われた場合に、減速操作の操作速度Vdが速くなるのにつれてバー領域62Aの全長に対する主停止領域621Aの割合を大きくするとともに、動作領域621の割合を小さくする。すなわち、ユーザが、閾値を超えた操作速度Vdで減速操作を行うと、図39に示すように、主停止領域621Aつまり第1領域621が長くなり、これに対して動作領域622A、623Aつまり第2領域622及び第3領域623が短くなる。
これによれば、例えば上述した第1の行動が取られた場合に、バー領域62Aの全長に対する主停止領域621Aの割合が大きくなるとともに動作領域622A、623Aの割合が小さくなる。つまり、例えば上述した第1の行動が取られた場合に、ドラッグ操作の現在位置P1から主停止領域621Aに至るまでの距離が短くなる。したがって、ドラッグ操作の操作位置P1をより早く主停止領域621Aに到達させることができ、そのため、より早くロボット20、30の動作を停止させることができる。また、例えば上述した第1の行動が取られた場合に、主停止領域621Aが長くなることにより、ドラッグ操作の操作位置P1を主停止領域621A内で止め易くなる。そのため、ロボット20、30の動作をより確実に停止させることができる。これらの結果、更なる安全性の向上が図られる。
次に、第9実施形態について、図40及び図41を参照して説明する。なお、第9実施形態の構成は、第1実施形態の構成及び第7実施形態の構成を基礎としている。
本実施形態においても、領域設定部49は、上記第8実施形態と同様に、例えば図40示すように、バー62に対してバー領域62Aを設定している。バー領域62Aは、主停止領域621Aと、動作領域622A〜624Aと、を有している。そして、領域設定部49は、スライド距離Lsが所定距離以上となった場合に、補助停止領域69Aを、そのドラッグ操作の操作位置P1に近接させて設定する。補助停止領域69Aは、ドラッグ操作の開始位置P0を含まない領域である。そして、制御部45は、ドラッグ操作の操作位置P1が主停止領域621A又は補助停止領域69Aに位置している場合にはロボット20、30の動作速度Vrを0にする。一方、制御部45は、ドラッグ操作の操作位置P1が動作領域622A〜624Aに位置している場合にはスライド距離Lsに基づいてロボット20、30の動作速度Vrを決定する。
本実施形態の場合、所定距離は、例えば第2距離Ls2に設定されている。すなわち、領域設定部49は、スライド距離Lsが第2距離Ls2以上となった場合、換言すればロボット20、30の動作速度が第2動作速度Vr2よりも大きくなった場合に、補助停止領域69Aを、そのドラッグ操作の操作位置P1に近接させて設定する。図41の例では、ドラッグ操作の操作位置P1は、第3領域623A内に位置している。つまり、ロボット20、30の動作速度Vrは、第3動作速度Vr3に設定されている。この場合、補助停止領域69Aは、第3領域623の両側に設定される。
ドラッグ操作の操作方向に対する補助停止領域69Aの長さ寸法は、スライダ63の長さ寸法よりも短く設定されている。すなわち、補助停止領域69Aとスライダ63とが重なると、補助停止領域69Aは、スライダ63によって完全に覆われる。そして、本実施形態において、補助停止領域69Aがスライダ63に覆われた状態が一定期間維持されると、制御部45は、ユーザがロボット20、30の停止を意図していると判断し、ロボット20、30の動作速度Vrを0にしてロボット20、30を停止させる。一方、スライダ63が単に補助停止領域69A上を通過しただけの場合には、制御部45は、ユーザにロボット20、30を停止させる意図は無いと判断する。そして、この場合、制御部45は、スライド距離Lsに基づいてロボット20、30の動作速度Vrを決定する。
本実施形態によれば、スライド距離Lsが所定距離以上となった場合つまりロボット20、30の動作速度Vrが速くなった場合、ドラッグ操作の現在位置P1に近接した補助停止領域69Aが設定される。そして、ユーザは、ドラッグ操作の操作位置P1を補助停止領域69Aに位置させることで、ロボット20、30の動作を停止させることができる。すなわち、この場合、ユーザは、主停止領域621Aに至るまでのドラッグ操作を行う必要がない。したがって、ユーザは、主停止領域621Aに至るまでのドラッグ操作を行う場合に比べて、より早くロボット20、30の動作を停止させることができる。その結果、更なる安全性の向上が図られる。
(その他の実施形態)
なお、本発明の実施形態は、上記し且つ図面に記載した各実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲において適宜変更することができる。本発明の実施形態は、例えば次のような変形または拡張が可能である。
上記各実施形態は、適宜組み合わせて実施することができる。
上記各実施形態において、タッチパネル421及びディスプレイ422は、タッチパネルディスプレイ42として一体に構成されている。しかし、タッチパネル421及びディスプレイ422は、それぞれ別体に分離した構成であってもよい。
また、上記実施形態によるティーチングペンダント40の操作対象となるロボットは、4軸ロボット20又は6軸ロボット30に限られない。例えば、いわゆるX−Yステージ(2軸ステージ)の上に4軸ロボット20又は6軸ロボット30を設置したものでもよい。また、ティーチングペンダント40の操作対象となるロボットには、例えば1つの駆動軸を有する直線型ロボットや、複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、機械的な回転軸に限られず、例えばリニアモータによって駆動する方式も含まれる。