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