(57)【特許請求の範囲】
【請求項１】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、
前記タッチパネルと同一又は別体に設けられユーザからの選択操作を検出することができる選択操作検出部と、を備え、
前記動作指令生成部は、
前記選択操作検出部の検出結果に基づいて、前記タッチパネルに対する第１方向へのドラッグ操作に対応する駆動軸と前記第１方向に交差する第２方向へのドラッグ操作に対応する駆動軸とのうち少なくともいずれか一方の駆動軸を含む前記駆動軸の組合せであって予め設定されたものの中から操作対象となる一の組合せを選択する選択処理と、
前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作が前記第１方向又は前記第２方向のいずれの方向であるかを判断する操作判断処理と、
前記ドラッグ操作が前記第１方向である場合に、前記選択処理で選択された前記駆動軸の組合せのうち前記第１方向へのドラッグ操作に対応する前記駆動軸を駆動させるための動作指令を生成する第１動作指令生成処理と、
前記ドラッグ操作が前記第２方向である場合に、前記選択処理で決定された前記駆動軸の組合せうち前記第２方向へのドラッグ操作に対応する前記駆動軸を駆動させるための動作指令を生成する第２動作指令生成処理と、
を行うことができ、
前記選択操作検出部は、前記タッチパネルに表示されたボタン又は前記タッチパネルとは異なるボタンに対する操作を検出するものであり、
前記動作指令生成部は、前記第１方向の成分と前記第２方向の成分との割合を比較し、その割合が大きいいずれか一方を優先して判断する、
ロボット操作装置。
【請求項２】
前記第１方向は、前記タッチパネル上における横方向であり、
前記第２方向は、前記タッチパネル上における縦方向であり、
前記第１方向へのドラッグ操作に対応する前記駆動軸は、前記ロボットの手先を前記ロボットの動作基準面に対して水平方向へ移動させるための駆動軸であり、
前記第２方向へのドラッグ操作に対応する前記駆動軸は、前記ロボットの手先を前記ロボットの動作基準面に対して垂直方向へ移動させる駆動軸である、
請求項１に記載のロボット操作装置。
【請求項３】
前記タッチパネルが設けられユーザによる手持ちが可能なケースを備え、
前記選択操作検出部は、前記タッチパネルに表示された複数のボタンに対する操作を検出するものであり、
複数の前記ボタンは、ユーザが前記ケースを手持ちする際に把持することが想定される把持部に隣接する所定範囲の領域内に配置されている、
請求項１又は２に記載のロボット操作装置。
【請求項４】
前記ロボットは、
設置面に設置されるベースと、
第１軸によって前記ベースに対して回転可能に設けられた第１アームと、
第２軸によって前記第１アームに対して回転可能に設けられた第２アームと、
第３軸によって前記第２アームに対して上下動可能に設けられ、かつ第４軸によって前記第２アームに対して回転可能に設けられたシャフトと、を有するものであり、
前記駆動軸の組合せは、前記第１方向のドラッグ操作に対応する前記第１軸及び前記第２ドラック操作に対応する前記第３軸から構成された駆動軸の組合せ、又は前記第１方向のドラッグ操作に対応する前記第４軸及び前記第２ドラック操作に対応する前記第３軸から構成された駆動軸の組合せ、を含む、
請求項１から３のいずれか一項に記載のロボット操作装置。
【請求項５】
前記ロボットは、
設置面に設置されるベースと、
第１軸によって前記ベースに対して回転可能に設けられたショルダ部と、
第２軸によって前記ショルダ部に対して回転可能に設けられた下アームと、
第３軸によって前記下アームに対して回転可能に設けられた第１上アームと、
第４軸によって前記第１上アームに対して回転可能に設けられた第２上アームと、
第５軸によって前記第２上アームに対して回転可能に設けられた手首と、
第６軸によって前記手首に対して回転可能に設けられたフランジと、を有するものであり、
前記駆動軸の組合せは、前記第１方向のドラッグ操作に対応する前記第１軸及び前記第２方向のドラッグ操作に対応する前記第２軸から構成された駆動軸の組合せ、前記第１方向のドラッグ操作に対応する前記第４軸及び前記第２方向のドラッグ操作に対応する前記第３軸から構成された駆動軸の組合せ、又は前記第１方向のドラッグ操作に対応する前記第６軸及び前記第２方向のドラッグ操作に対応する前記第５軸から構成された駆動軸の組合せ、の少なくとも何れか一つの組合せを含む、
請求項１から３のいずれか一項に記載のロボット操作装置。
【請求項６】
前記操作判断処理は、前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する処理を含み、
前記動作指令生成部は、
前記指の移動量に基づいて前記ロボットの移動速度を算出する速度算出処理、
を行うことができる請求項１から５のいずれか一項に記載のロボット操作装置。
【請求項７】
前記動作指令生成部は、前記指の移動量に基づいて前記ロボットの移動距離を算出する移動量算出処理を行うことができ、
速度算出処理は、前記指の移動量を前記ドラッグ操作の入力に要した時間で除した値に基づいて前記ロボットの移動速度を決定する処理である請求項６に記載のロボット操作装置。
【請求項８】
前記操作判断処理は、前記タッチ操作検出部で検出したドラッグ操作の指の移動量を判断する処理を含み、
前記動作指令生成部は、
前記ドラッグ操作の実際の操作量を拡大又は縮小して前記ロボットの移動量を決定するための倍率について、前記ドラッグ操作が操作開始点から第１区間を通過するまでは前記倍率を１より小さい一定の値である第１倍率に設定し、前記ドラッグ操作が前記第１区間を通過した後は前記倍率を前記第１倍率より大きい値に設定して、前記ロボットの移動量を決定する移動量決定処理、
を行うことができる請求項１から７のいずれか一項に記載のロボット操作装置。
【請求項９】
前記移動量決定処理は、前記ドラッグ操作が前記第１区間を通過してから第２区間を通過するまでは前記倍率を第２倍率に設定し、前記ドラッグ操作が前記第２区間を通過した後は前記倍率を一定値である第３倍率に設定して、前記ロボットの移動量を決定する処理であり、
前記第２倍率は、前記第１倍率から前記第３倍率までの範囲で、前記ドラッグ操作の操作量に応じて連続的に増加する値である、
請求項８に記載のロボット操作装置。
【請求項１０】
４軸水平多関節型のロボットと、
前記ロボットの動作を制御するコントローラと、
請求項１から９のいずれか一項に記載のロボット操作装置と、
を備えていることを特徴とするロボットシステム。
【請求項１１】
６軸垂直多関節型のロボットと、
前記ロボットの動作を制御するコントローラと、
請求項１から９のいずれか一項に記載のロボット操作装置と、
を備えていることを特徴とするロボットシステム。
【請求項１２】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチパネルと同一又は別体に設けられ前記タッチパネルに表示されたボタン又は前記タッチパネルとは異なるボタンに対するユーザからの選択操作を検出することができる選択操作検出部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
前記選択操作検出部の検出結果に基づいて、前記タッチパネルに対する第１方向へのドラッグ操作に対応する駆動軸と前記第１方向に交差する第２方向へのドラッグ操作に対応する駆動軸とのうち少なくともいずれか一方の駆動軸を含む前記駆動軸の組合せであって予め設定されたものの中から操作対象となる一の組合せを選択する選択処理と、
前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の前記第１方向の成分と前記第２方向の成分との割合を比較し、その割合が大きいいずれか一方を優先させてそのドラッグ操作が前記第１方向又は前記第２方向のいずれの方向であるかを判断する操作判断処理と、
前記ドラッグ操作が前記第１方向である場合に、前記選択処理で選択された前記駆動軸のうち前記第１方向へのドラッグ操作に対応する前記駆動軸を駆動させるための動作指令を生成する第１動作指令生成処理と、
前記ドラッグ操作が前記第２方向である場合に、前記選択処理で決定された前記駆動軸のうち前記第２方向へのドラッグ操作に対応する前記駆動軸を駆動させるための動作指令を生成する第２動作指令生成処理と、
を実行させるロボット操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを手動操作する際に用いられるロボット操作装置、そのロボット操作装置を備えたロボットシステム、及びそのロボットシステムに用いられるロボット操作プログラムに関する。
【背景技術】
【０００２】
例えば産業用のロボットシステムにおいては、ロボットを手動により動作させること（マニュアル動作）が可能となっている。このような動作は、例えば教示作業（ティーチング）などを行う際に利用される。この場合、ユーザは、ロボットを制御するコントローラに接続されたペンダント（ティーチングペンダント）などを用いて、手動でロボットの操作を行うことになる。そのため、ペンダントには、手動操作を行うための専用の各種操作キー（機械的なスイッチからなるキー）が設けられている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４２４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ペンダントの表示部には、タッチ操作可能なタッチパネルが用いられることが多い。上記手動操作を、このようなタッチパネルなどを利用したタッチ操作により行えるようにすれば、専用の操作キーを設ける必要が無くなり、ペンダントの小型化（あるいは表示部の画面サイズの拡大）、低価格化などを実現できるといった効果が期待できる。しかし、専用の操作キーと同様のタッチスイッチをタッチパネル上に形成するといった単純な置き換えだけでは、次のような問題が生じる。
【０００５】
すなわち、物理的な操作キーの場合、ユーザは、その操作の熟練度にもよるが、ペンダントを直視しなくても、操作しようとする操作キーの位置を手探りで把握することが可能である。これに対し、タッチパネル上に形成されるタッチスイッチの位置は、操作キーとは異なり、手探りで把握することはできない。ロボットの手動操作が行われる際、ユーザがロボットから視線を逸らさないつまりペンダントを直視しないということは、安全性の面から極めて重要なことである。しかし、操作キーを単純にタッチスイッチに置き換えた場合、ユーザは、操作の度にペンダントの表示部を見る必要が生じ、その際にはロボットから視線を逸らさざるを得ないため、安全性が低下するおそれがある。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができるロボット操作装置、そのロボット操作装置を備えたロボットシステム、及びそのロボットシステムに用いられるロボット操作プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
（請求項１）
請求項１に記載のロボット操作装置は、ユーザからタッチ操作の入力を受けるタッチパネルと、タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備える。つまり、ロボット操作装置は、ロボットの手動操作をタッチ操作により実現するものである。このロボット操作装置の操作対象となるロボットは、複数の駆動軸を有する多関節型のロボットである。
【０００８】
産業界では、４つの駆動軸を備える４軸型の水平多関節ロボット、及び６つの駆動軸を備える６軸型の垂直多関節ロボットが多用されている。この様なロボットを手動操作する場合、各駆動軸を個別に駆動させる動作態様である各軸系の動作を行わせることがある。ロボット操作装置は、４軸型のロボットに対して、手動操作により各軸系の動作を行わせる場合、少なくとも４種類の操作入力を区別して判断できる必要がある。同様に、ロボット操作装置は、６軸型のロボットに対して、手動操作により各軸系の動作を行わせる場合、少なくとも６種類の操作入力を区別して判断できる必要がある。しかし、一般的なタッチパネルは、画面をＸ−Ｙ平面とした場合のＸ方向及びＹ方向の入力、すなわちユーザが画面をなぞるような２次元の入力を検出するものが多い。したがって、ロボット操作装置にタッチパネルを採用する場合、２次元の入力つまり２種類の操作入力で、複数の軸を切り替えて動作させることが必要である。しかも、その操作は、ユーザにとって直感的で、かつ極力画面を直視せずに行えることが要求される。
【０００９】
そこで、請求項１に記載のロボット操作装置は、選択操作検出部を備える。選択操作検出部は、タッチパネルと同一又は別体に設けられユーザからの選択操作を検出することができる。選択操作とは、選択操作検出部の検出対象となるタッチパネルに表示されたボタンやタッチパネルとは別体に設けられたボタン等に対するユーザからの操作である。そして、動作指令生成部は、選択処理と、操作判断処理と、第１動作指令生成処理と、第２動作指令生成処理と、を行うことができる。
【００１０】
選択処理とは、選択操作検出部の検出結果に基づいて、タッチパネルに対する第１方向へのドラッグ操作に対応する駆動軸と第１方向に交差する第２方向へのドラッグ操作に対応する駆動軸とのうち少なくともいずれか一方の駆動軸を含む駆動軸の組合せであって予め設定されたものの中から操作対象となる一の組合せを選択する処理である。操作判断処理とは、タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作が第１方向又は第２方向のいずれの方向であるかを判断する処理である。
【００１１】
この場合、ドラッグ操作とは、ユーザの指でタッチパネルをタッチした状態のままその指を移動させる操作である。ドラッグ操作は、タッチパネル上において、操作の始点と終点が決まればよい。操作の始点とは、タッチパネル上においてユーザが指をタッチした位置である。操作の終点とは、タッチパネルからユーザが指を離した位置である。この場合、ドラッグ操作には、いわゆるフリック操作と称される、ユーザがタッチパネル上で指を弾くような操作も含まれる。
【００１２】
第１動作指令生成処理とは、ドラッグ操作が第１方向である場合に、選択処理で選択された駆動軸の組合せのうち第１方向へのドラッグ操作に対応する駆動軸を駆動させるための動作指令を生成する処理である。第２動作指令生成処理とは、ドラッグ操作が第２方向である場合に、選択処理で決定された駆動軸の組合せのうち第２方向へのドラッグ操作に対応する駆動軸を駆動させるための動作指令を生成する処理である。
【００１３】
これによれば、ユーザは、選択操作を行うことによって、複数の駆動軸の中から、第１方向へのドラッグ操作に対応する駆動軸と第１方向に交差する第２方向へのドラッグ操作に対応する駆動軸とのうち少なくともいずれか一方の駆動軸を含む駆動軸の組合せを選択することができる。そして、ユーザは、選択操作によって駆動軸の組合せを選択した後、第１方向又は第２方向へのドラッグ操作をすることで、その組合せの中からそのドラッグ操作に対応した駆動軸を駆動させることができる。このような構成によれば、ロボット操作装置は、タッチパネルによる２次元の入力つまり２種類の入力で、２種類以上の操作入力を区別して判断することができる。したがって、２種類以上の操作入力が必要なロボット操作装置に、タッチパネルを採用することができる。
【００１４】
さらに、これによれば、ユーザは、第１方向と第２方向とのドラッグ操作を使い分けることで、第１方向のドラッグ操作に対応した駆動軸と、第２方向のドラッグ操作に対応した駆動軸と、をそれぞれ駆動させることができる。したがって、このようなロボット操作装置は、タッチパネルを採用しつつ、ユーザが画面を直視しなくても直感的な操作を可能にすることができる。その結果、操作性の向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００１５】
（請求項２）
請求項２に記載のロボット操作装置によれば、第１方向は、タッチパネル上における横方向である。第２方向は、タッチパネル上における縦方向である。また、第１方向へのドラッグ操作に対応する駆動軸は、ロボットの手先を前記ロボットの動作基準面に対して水平方向へ移動させるための駆動軸である。第２方向へのドラッグ操作に対応する駆動軸は、ロボットの手先をロボットの動作基準面に対して垂直方向へ移動させる駆動軸である。
【００１６】
これによれば、ロボット操作装置は、横方向又は縦方向のドラッグ操作からユーザが連想し易いと考えられる動作をロボットに実行させるようになっている。すなわち、ロボット操作装置は、横方向のドラッグ操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、手先を水平方向へ移動させるための駆動軸を駆動させる。この横方向のドラッグ操作からロボットの手先の水平方向への移動が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。すなわち、ユーザは、ロボット操作装置を、ユーザの腰から胸の間で持つことが多い。この姿勢において、タッチパネルに対する横方向は、水平方向に略一致する。したがって、ユーザは、タッチパネルの画面上の横方向への操作と、ロボットの手先の水平方向への移動とを、関連して認識し易い。
【００１７】
また、ロボット操作装置は、縦方向のドラッグ操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、ロボットの手先を垂直方向へ移動させるための駆動軸を駆動させる。この縦方向のドラッグ操作からロボットの手先の垂直方向への移動が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。すなわち、上述したように、ユーザは、ロボット操作装置を、ユーザの腰から胸の間で持つことが多い。そしてこの場合、画面の視認性やタッチパネルの操作性を考慮すると、ユーザは、タッチパネルの画面がユーザ側へ向かって下方に傾斜するような姿勢で、ロボット操作装置を持つことが自然である。このような姿勢でユーザがロボット操作装置を持つと、ロボット操作装置の画面の縦方向つまり上下方向と、ロボットの手先の垂直方向つまり上下方向とが一致する。したがって、ユーザは、タッチパネルの画面上の縦方向への操作と、ロボットの手先の垂直移動動作とを、関連して認識し易い。
【００１８】
この場合、横方向及び縦方向は、厳密に直交している必要はなく、ある程度の誤差は許容される。また、「ロボットの手先が水平方向へ移動する」とは、ロボットの手先が完全な水平方向へ移動すること意味するものではなく、ロボットの手先が水平方向へ移動しているとの印象をユーザに与える程度で足りる。同様に、「ロボットの手先が垂直方向へ移動する」とは、ロボットの手先が完全な垂直方向へ移動することを意味するものではなく、ロボットの手先が垂直方向へ移動しているとの印象をユーザに与える程度で足りる。
【００１９】
以上より、このロボット操作装置によれば、ユーザは、より直感的な操作を行うことができる。その結果、操作性のさらなる向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の更なる短縮を図ることができる。
【００２０】
請求項１のロボット操作装置によれば、操作選択検出部は、タッチパネルに表示されたボタン又はタッチパネルとは異なるボタンに対する操作を検出するものである。これによれば、ユーザは、タッチパネル上に表示されたボタン又はタッチパネルとは異なるボタンに対して操作をすることで、操作対象となる駆動軸の組合せを選択することができる。この場合、ユーザは、これらのボタンを操作するために、若干の間、これらのボタンを直視する可能性もある。しかし、通常のロボットの使用態様において、操作対象にする駆動軸又は動作態様を選択する（切り替える）ための操作は、ロボットの駆動前つまりロボットが実際に動作していない時に行われることがほとんどである。また、これらのボタンの形状や大きさ、色等の設定を工夫することにより、ユーザがボタンを直視する時間を短縮することもできる。したがって、ユーザが、タッチパネル上に表示されたボタン又はタッチパネルとは異なるボタンを操作するために、若干の間それらのボタンを直視しても、安全性の低下への影響は少ないと考えられる。
【００２１】
むしろ、このような構成によれば、ユーザには、操作対象となる駆動軸の組合せを切り替えるためにボタンを操作する、という意志が働く。したがって、ユーザは、これらのボタンに対する操作が、操作対象となる駆動軸の組合せを選択するための操作であることを意識し易くなる。したがって、これによれば、ユーザが誤った操作をすることにより、誤った操作対象が選択されてロボットの誤作動を招く危険性が低減される。よって、操作性の向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００２２】
（請求項３）
請求項３に記載のロボット操作装置によれば、タッチパネルが設けられユーザによる手持ちが可能なケースを備えている。選択操作検出部は、タッチパネルに表示された複数のボタンに対する操作を検出するものである。そして、これら複数のボタンは、ユーザがケースを手持ちする際に把持することが想定される把持部に隣接する所定範囲の領域内に配置されている。すなわち、ユーザがケースを把持した場合、ケースを把持した手の親指は、ケースの前面つまりタッチパネルの表面側に位置する。そのため、ユーザは、ケースを把持した手の親指の可動範囲内であれば、その親指でタッチパネルを操作することが可能である。この場合、ユーザは、ケースを把持した手の親指を、その親指の付け根を支点にして円弧を描くようにして、タッチパネル上を動かすことができる。したがって、ケースを把持した状態において、その手の親指の可動範囲は、その親指の付け根を支点にして親指の長さを半径にした円弧の内側となる。
【００２３】
したがって、複数のボタンが設けられる所定範囲の領域を、例えばケースを把持した手の親指の可動範囲として想定される領域内つまり上述の円弧の内側に設定することで、ユーザは、ケースを把持した手をケースから離すことなく、この所定範囲の領域内に配置された複数のボタンを操作することができる。これにより、ユーザは両手でタッチパネルを操作することができるため、操作性の更なる向上を図ることができる。そして、操作性が更に向上することによって、教示に要する時間の更なる短縮を図ることができる。
【００２４】
（請求項５）
請求項５に記載のロボット操作装置によれば、操作対象となるロボットは、設置面に設置されるベースと、第１軸によって前記ベースに対して回転可能に設けられたショルダ部と、第２軸によって前記ショルダ部に対して回転可能に設けられた下アームと、第３軸によって前記下アームに対して回転可能に設けられた第１上アームと、第４軸によって前記第１上アームに対して回転可能に設けられた第２上アームと、第５軸によって前記第２上アームに対して回転可能に設けられた手首と、第６軸によって前記手首に対して回転可能に設けられたフランジと、を有するものである。すなわち、ロボット操作装置は、いわゆる６軸型のロボットを操作対象にしている。そして、駆動軸の組合せは、第１方向のドラッグ操作に対応する第１軸及び第２方向のドラッグ操作に対応する第２軸から構成された駆動軸の組合せ、第１方向のドラッグ操作に対応する第４軸及び第２方向のドラッグ操作に対応する第３軸から構成された駆動軸の組合せ、又は第１方向のドラッグ操作に対応する第６軸及び第２方向のドラッグ操作に対応する第５軸から構成された駆動軸の組合せ、の少なくとも何れか一つの組合せを含んでいる。
【００２５】
この場合、第１軸及び第２軸は、ロボットのベース側に設けられた駆動軸であるため、第１軸又は第２軸が駆動された場合のロボットの手先の動きは比較的大きい。したがって、第１軸と第２軸とは、駆動された際のロボットの手先の動きの大きさが似ている。また、第６軸及び第５軸は、ロボットの手先側に設けられた駆動軸であるため、第６軸又は第５軸が駆動された場合のロボットの手先の動きは比較的小さい。したがって、第６軸と第５軸とは、駆動された際のロボットの手先の動きの大きさが似ている。そして、第４軸及び第３軸は、ロボットのベース側と手先側との中間位置に設けられた駆動軸であるため、第４軸又は第３軸が駆動された場合のロボットの手先の動きの大きさは中程度である。したがって、第４軸と第３軸とは、駆動された際のロボットの手先の動きの大きさが似ている。
【００２６】
このように、駆動軸の組合せは、ロボットの手先の動きの大きさが似ている駆動軸によって構成されている。したがって、ユーザは、ロボットの手先の動きの大きさに合わせて駆動軸の組合せを選択することができるため、操作性の向上が図られる。また、例えばユーザが、ドラッグ操作の操作方向を誤った場合であっても、何れも似たような大きさの動きを行わせる駆動軸が駆動されるため、ユーザの予想外の動きとなる可能性が低減される。これにより、安全性の更なる向上が図られる。
【００２７】
（請求項６）
請求項６に記載のロボット操作装置において、操作判断処理は、タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する処理を含んでいる。また、動作指令生成部は、指の移動量に基づいてロボットの移動速度を算出する速度算出処理を行うことができる。これによれば、ユーザのドラッグ操作による指の移動量と、ロボットの移動速度とは相関を有することになる。したがって、ユーザは、ドラッグ操作による指の移動量を調整することにより、ロボットの移動速度を調整することができる。そのため、ユーザは、直感的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００２８】
（請求項７）
請求項７に記載のロボット操作装置によれば、動作指令生成部は、指の移動量に基づいてロボットの移動距離を算出する移動量算出処理を行うことができる。これによれば、ユーザは、ドラッグ操作による指の移動量を調整することにより、ロボットの移動量つまり移動距離を調整することができる。さらに、このロボット操作装置において、速度算出処理は、指の移動量をドラッグ操作の入力に要した時間で除した値に基づいて、ロボットの移動速度を決定する処理である。これによれば、ユーザは、ドラッグ操作の入力に要する時間を調整することで、ロボットの移動速度を調整することができる。
【００２９】
したがって、ユーザは、ドラッグ操作の入力に際し、そのドラッグ操作の移動量と入力時間を調整することにより、ロボットの移動速度と移動量の両方を調整することができる。すなわち、ユーザは、１度のドラッグ操作によって、ロボットの移動速度と移動量の両方を調整することができる。これにより、ユーザは、直感的な操作が可能になる。また、これによれば、ユーザは、ロボットの移動速度と移動量を決定するために、複数の操作例えばロボットの移動速度を決定するための操作とロボットの移動量を決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００３０】
（請求項８）
請求項８に記載のロボット操作装置によれば、操作判断処理は、タッチ操作検出部で検出したドラッグ操作の指の移動量を判断する処理を含んでいる。また、動作指令生成部は、移動量決定処理を行うことができる。移動量決定処理は、操作判断処理で判断したドラッグ操作の指の移動量を拡大又は縮小してロボットの移動量を決定するための倍率について、ドラッグ操作が操作開始点から第１区間を通過するまでは倍率を１より小さい一定の値である第１倍率に設定し、ドラッグ操作が第１区間を通過した後は倍率を第１倍率より大きい値に設定して、ロボットの移動量を決定する処理である。
【００３１】
これによれば、ユーザは、第１区間内でドラッグ操作することで、ロボットを、１より小さい一定の倍率である第１倍率で移動させることができる。つまり、ユーザは、第１区間内のドラッグ操作を繰り返すことで、ロボットに微小な動作（微動）をさせることができる。また、ユーザは、第１区間を超えてドラッグ操作することで、第１区間を超えた部分について、ロボットを、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、第１区間を超えて操作することで、ロボットに比較的大きな動作（粗動）をさせることができる。このように、ユーザは、１度のドラッグ操作で、異なる倍率でロボットを移動させることができる。すなわち、これによれば、例えばロボットの微動と粗動との両方の動作を、１回のドラッグ操作で実現することができる。したがって、ユーザは、ロボットの微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００３２】
（請求項９）
請求項９に記載のロボット操作装置によれば、移動量決定処理は、ドラッグ操作の指の移動が第１区間を通過してから第２区間を通過するまでは倍率を第２倍率に設定し、ドラッグ操作の指の移動が第２区間を通過した後は倍率を一定値である第３倍率に設定して、ロボットの移動量を決定する処理である。これによれば、ユーザは、第１区間内でドラッグ操作を繰り返すことにより、１より小さい第１倍率でロボットを動作（微動）させることができる。また、ユーザは、第１区間を超えてドラッグ操作を行うことにより、第１倍率よりも大きい第２倍率又は第３倍率でロボットを動作（粗動）させることができる。
【００３３】
さらに、第２倍率は、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する値である。これによれば、第１倍率による微動と第３倍率による粗動との間の倍率である第２倍率が、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する。すなわち、一定値である第１倍率と第３倍率との間が、連続して変化する第２倍率によって繋がれている。そのため、ユーザのドラッグ操作の操作量に対するロボットの移動量を決定するための倍率は、第１倍率から、次第に変化する第２倍率を経て第３倍率に切り替わる。これにより、ロボットの移動量を決定するための倍率が、第１倍率から第３倍率に急激に切り替わることが防止される。すなわち、ロボットの移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボットの急激な速度変化つまり急動を防止することができる。その結果、更なる安全性の向上が図られる。
【００３４】
（請求項１０）
請求項１０に記載のロボットシステムは、４軸水平多関節型のロボットと、ロボットの動作を制御するコントローラと、請求項１から９のいずれか一項に記載のロボット操作装置とを備えている。４軸水平多関節型のロボットは、各軸系の動作を行うことが可能である。一方、ロボット操作装置は、前述したとおり、ユーザによる手動操作に従い、各軸系の動作を行うための動作指令を生成することができる。従って、本手段によれば、操作対象となるロボットに必要な動作について、手動による操作で実現することができる。
【００３５】
（請求項１１）
請求項１１に記載のロボットシステムは、６軸垂直多関節型のロボットと、ロボットの動作を制御するコントローラと、請求項１から９のいずれか一項に記載のロボット操作装置とを備えている。６軸垂直多関節型のロボットも、各軸系の動作が可能である。一方、ロボット操作装置は、前述したとおり、ユーザによる手動操作に従い、各軸系の動作を行うための動作指令を生成することができる。従って、本手段によれば、操作対象となるロボットに必要な動作について、手動による操作で実現することができる。
【００３６】
（請求項１２）
請求項１２に記載のロボット操作プログラムは、請求項１に記載のロボット操作装置を実現するものである。これによれば、請求項１２に記載のロボット操作プログラムを、例えばタッチパネルを備える汎用のタブレットＰＣ等によって実行することで、汎用のタブレットＰＣ等に、上述したロボット操作装置としての機能を付加することができる。
【図面の簡単な説明】
【００３７】
【図１】第１実施形態による４軸型のロボットシステムの一例を示す全体構成図
【図２】第１実施形態によるティーチングペンダントの電気的構成の一例を示すブロック図
【図３】第１実施形態について、ティーチングペンダントに対する操作の一例を示す図
【図４】第１実施形態について、組合せＡ〜Ｃの具体例を示す図
【図５】第１実施形態について、ユーザがティーチングペンダントを保持する際の姿勢の一例を示す図
【図６】第１実施形態について、動作指令生成部が行う各種処理の内容の一例を示すフローチャート
【図７】第１実施形態について、動作指令生成部が行う組合せＡ用処理の内容の一例を示すフローチャート
【図８】第１実施形態について、動作指令生成部が行う組合せＢ用処理の内容の一例を示すフローチャート
【図９】第１実施形態について、動作指令生成部が行う組合せＣ用処理の内容の一例を示すフローチャート
【図１０】第１実施形態について、（ａ）はケースを把持する手による誤タッチの一例を示す図、（ｂ）はその誤タッチを防止するための検出除外領域の一例を示す図
【図１１】第２実施形態について、組合せＡ〜Ｃの具体例を示す図
【図１２】第３実施形態による６軸型のロボットシステムの一例を示す全体構成図
【図１３】第３実施形態について、組合せＡ〜Ｃの具体例を示す図
【図１４】第４実施形態について、タッチパネルに入力されるドラッグ操作の一例を示す図
【図１５】第４実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート
【図１６】第５実施形態について、タッチパネルに入力されるドラッグ操作のうちある期間における指の移動を示す図
【図１７】第５実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート
【図１８】第６実施形態について、タッチパネルに入力されるドラッグ操作による指の移動量を示す図
【図１９】第６実施形態について、（１）はドラッグ操作による指の移動量と操作倍率との相関を示す図、（２）はドラッグ操作による指の移動量とロボットの移動量との相関を示す図
【図２０】第６実施形態について、図１９とは異なる他の例を示すもので、（１）はドラッグ操作による指の移動量と操作倍率との相関を示す図、（２）はドラッグ操作による指の移動量とロボットの移動量との相関を示す図
【発明を実施するための形態】
【００３８】
（第１実施形態）
以下、第１実施形態について図１から図１０を参照しながら説明する。
図１は、一般的な産業用ロボットのシステム構成を示している。図１に示すロボットシステム１は、ロボット２、コントローラ３およびティーチングペンダント４（ロボット操作装置に相当）により構成されている。ロボット２は、例えば４軸の水平多関節型ロボットとして構成されている。ロボット２は、固有のロボット座標系（Ｘ軸、Ｙ軸およびＺ軸からなる三次元直交座標系）に基づいて動作する。本実施形態では、ロボット座標系は、ベース５の中心を原点Ｏとし、作業台Ｐの上面をＸ−Ｙ平面とし、そのＸ−Ｙ平面と直交する座標軸をＺ軸として定義されている。作業台Ｐの上面は、ロボット２を設置するための設置面である。この場合、その設置面が動作基準面に相当する。なお、動作基準面としては、設置面に限らずともよく、任意の平面であってもよい。
【００３９】
ロボット２は、作業台Ｐの上面（以下、設置面とも称す）に固定されるベース５と、ベース５上にＺ軸（垂直軸）方向の軸心を持つ第１軸Ｊ１１を中心に回転可能に連結された第１アーム６と、第１アーム６の先端部上にＺ軸方向の軸心を持つ第２軸Ｊ１２を中心に回転可能に連結された第２アーム７と、第２アーム７の先端部に上下動可能で且つ回転可能に設けられたシャフト８とから構成されている。シャフト８を上下動させる際の軸が第３軸Ｊ１３であり、回転させる際の軸が第４軸Ｊ１４である。シャフト８の先端部（下端部）には、フランジ９が位置決めされて着脱可能に取り付けられる。
【００４０】
ベース５、第１アーム６、第２アーム７、シャフト８およびフランジ９は、ロボット２のアームとして機能する。アーム先端であるフランジ９には、図示はしないが、エンドエフェクタ（手先）が取り付けられる。例えば、ロボット２を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。ロボット２に設けられる複数の軸（Ｊ１１〜Ｊ１４）はそれぞれに対応して設けられるモータ（図示せず）により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器（図示せず）が設けられている。
【００４１】
ロボット２を制御するコントローラ３は、接続ケーブルを介してロボット２に接続されている。ティーチングペンダント４は、接続ケーブルを介してコントローラ３に接続されている。コントローラ３およびティーチングペンダント４の間では、通信インターフェイス（図２に符号１０を付して示す）を経由してデータ通信が行われる。これにより、ユーザの操作に応じて入力される各種の操作情報が、ティーチングペンダント４からコントローラ３に送信される。また、コントローラ３は、ティーチングペンダント４に対し、各種の制御信号や表示用の信号などを送信するとともに、駆動用の電力を供給する。
【００４２】
コントローラ３は、ティーチングペンダント４から手動動作を指令する信号が与えられると、ロボット２が手動で動作するように制御を行う。また、コントローラ３は、ティーチングペンダント４から自動動作を指令する信号が与えられると、予め記憶されている自動プログラムを起動することにより、ロボット２が自動で動作するように制御する。
【００４３】
ティーチングペンダント４は、例えばユーザが携帯あるいは手に所持して操作可能な程度の大きさで、図３に示すように、例えば薄型の略矩形箱状のケース１１を備えている。ティーチングペンダント４は、ケース１１の表面側の中央部に例えば液晶ディスプレイからなる表示部１２を備えている。表示部１２は、タッチパネル１７で構成されており、各種の画面を表示する。ティーチングペンダント４は、表示部１２の周囲に各種の物理的なスイッチであるキースイッチ１３を有している。なお、図１及び図３では、キースイッチ１３を１つ示している。キースイッチ１３を、タッチパネル１７の表示部１２に表示させたボタンで代用してもよい。ユーザは、表示部１２のタッチパネル１７やキースイッチ１３から種々の入力操作を実行する。
【００４４】
ユーザ（操作者）は、ティーチングペンダント４を用いてロボット２の運転や設定などの各種機能を実行可能であり、予め記憶されている制御プログラムを呼び出して、ロボット２の起動や各種のパラメータの設定などを実行できる。また、ロボット２をマニュアル操作すなわち手動操作で動作させて各種の教示作業も実行可能である。そして、表示部１２には、例えばメニュー画面、設定入力画面、状況表示画面などが必要に応じて表示される。
【００４５】
次に、ティーチングペンダント４の電気的な構成について図２を参照して説明する。
ティーチングペンダント４は、前述した通信インターフェイス１０、表示部１２およびキースイッチ１３に加え、制御部１４、タッチ操作検出部１５、動作指令生成部１６、及び選択操作検出部１８を備えている。制御部１４は、例えばＣＰＵ１４１や、ＲＯＭ、ＲＡＭ、および書き換え可能なフラッシュメモリなどの記憶領域１４２を有するマイクロコンピュータを主体に構成されており、ティーチングペンダント４の全体を制御する。記憶領域１４２は、ロボット操作プログラムを記憶している。制御部１４は、ＣＰＵ１４１においてロボット操作プログラムを実行することにより、タッチ操作検出部１５および動作指令生成部１６などを、ソフトウェアによって仮想的に実現する。なお、これらタッチ操作検出部１５及び動作指令生成部１６は、例えば制御部１４と一体の集積回路としてハードウェア的に実現してもよい。
【００４６】
タッチ操作検出部１５は、タッチパネル１７に対するタッチ操作を検出する。具体的には、タッチ操作検出部１５は、タッチ操作の有無、タッチ操作された画面上の位置（タッチ位置）、そのタッチ操作の時間や種類などを検出することができる。すなわち、タッチ操作検出部１５は、タッチ操作がドラッグ操作であるか否かを含めて、タッチ操作の時間やタッチ操作による指の移動方向、指の移動量などを検出することができる。なお、本実施形態においては、１本指のドラッグ操作を対象としているため、タッチ操作検出部１５は、タッチ操作による指の本数を区別する必要はないが、指の本数を区別して検出する構成でもよい。タッチパネル１７には、２次元直交座標系が設定されている。タッチ操作検出部１５は、その２次元直交座標系に基づいて、タッチ位置およびタッチ操作の種類、さらには移動方向（操作方向又はドラッグ方向）および移動量（操作量又はドラッグ量）などを検出することができる。なお、上記ドラッグ操作は、タッチした状態のまま指を移動させる操作のことである。
【００４７】
動作指令生成部１６は、タッチ操作検出部１５により検出されたタッチ操作に基づいて、ロボットを手動動作させるための動作指令を生成する。動作指令生成部１６により生成された動作指令は、通信インターフェイス１０を通じてコントローラ３に与えられる。このような構成のティーチングペンダント４を用いることにより、ユーザは、ロボット２の手動操作をタッチ操作により行うことができる。
【００４８】
ここで、タッチパネル１７に対する縦方向及び横方向を、次のように定義する。タッチパネル１７に対する縦方向とは、ユーザがティーチングペンダント４を持って操作する状態における縦方向つまり上下方向、この場合図３の紙面の縦方向をいう。つまり、縦方向には、上方向と下方向との２方向を含む概念である。また、タッチパネル１７に対する横方向とは、上述の縦方向に直交する方向つまり左右方向、この場合図３の紙面の横方向をいう。換言すれば、タッチパネル１７に対する横方向とは、ユーザがティーチングペンダント４を持って操作する状態において、ユーザの体の前面に対して並行する方向をいう。つまり、横方向とは、右方向と左方向との２方向を含む概念である。これらの場合、タッチパネル１７の縦方向及び横方向は、ユーザから見たタッチパネル１７に対する相対的な方向を意味する。すなわち、ティーチングペンダント４が回転されるなどしてタッチパネル１７の姿勢が変化しても、ユーザに対する縦方向及び横方向の相対的な関係は変化しない。
【００４９】
すなわち、タッチパネル１７に対する縦方向及び横方向とは、タッチパネル１７に対して絶対的なものではなく、ユーザとティーチングペンダント４との相対的な位置関係によって決定されてもよい。そのために、例えばティーチングペンダント４を次のような構成にすることができる。ティーチングペンダント４に、加速度センサやジャイロセンサなどの自己の姿勢を検出する手段を搭載する。ティーチングペンダント４は、重力方向や初期の姿勢を基準として、タッチパネル１７上における縦方向（上下方向）及び横方向（左右方向）を判断する。これによれば、ティーチングペンダント４の姿勢が変化しても、タッチパネル１７上における縦方向（上下方向）及び横方向（左右方向）は、ユーザから見て一定の方向に維持される。
【００５０】
選択操作検出部１８は、タッチパネル１７又はタッチパネル１７と異なるボタンに対するユーザからの選択操作を検出することができる。選択操作とは、操作対象にする駆動軸の組合せを選択するための操作であって、選択操作検出部１８の検出対象であるタッチパネル１７に表示されたボタンやタッチパネル１７とは別体に設けられたボタン等に対するユーザからの操作である。本実施形態の場合、タッチパネル１７の表示部１２には、選択操作検出部１８の検出対象となる選択操作部として、複数この場合３つのボタン１７１〜１７３が表示される。３つのボタン１７１〜１７３は、「Ａ」の文字が付された第１ボタン１７１、「Ｂ」の文字が付された第２ボタン１７２、及び「Ｃ」の文字が付された第３ボタン１７３から構成されている。
【００５１】
選択操作は、これらボタン１７１、１７２、１７３に対するタッチ操作である。この場合、タッチ操作検出部１５及び選択操作検出部１８は、共にタッチパネル１７に対するユーザからのタッチ操作を検出するものである。なお、選択操作検出部１８の検出対象となる選択操作部は、タッチパネル１７の表示部１２に表示されたボタン１７１〜１７３に限られず、例えばタッチパネル１７とは別体に設けられた、物理的なボタンであってもよい。
【００５２】
ユーザは、各ボタン１７１、１７２、１７３のいずれか一つに対してタッチ操作することで、操作対象にする駆動軸の組合せを選択することができる。制御部１４は、各ボタン１７１〜１７３に対応する駆動軸の組合せを予め記憶している。この駆動軸の組合せは、タッチパネル１７に対する第１方向へのドラッグ操作に対応する駆動軸と、第１方向に交差する第２方向へのドラッグ操作に対応する駆動軸とのうち少なくともいずれか一方の駆動軸を含むものである。本実施形態において、第１方向と第２方向とは直交している。この場合、第１方向と第２方向とが直交するとは、２つの線分が９０°で交わるような幾何学的な状態を意味するものではなく、第１方向と第２方向とがある程度の幅を持って略９０°で交差する概念を意味するものである。したがって、第１方向と第２方向とが幾何学的に完全に直交している必要はない。また、本実施形態において、第１方向は、横方向に設定されている。第２方向は、縦方向に設定されている。
【００５３】
駆動軸の組合せの具体例について、図４を参照して説明する。制御部１４は、駆動軸の組合せである組合せＡ、Ｂ、Ｃの３つの組合せを、各ボタン１７１、１７２、１７３に対応させて記憶している。この場合、駆動軸の組合せとは、ロボット２の４つの駆動軸Ｊ１１〜Ｊ１４のうち、１つ又は２つの駆動軸によって構成される組合せである。ティーチングペンダント４は、３つの組合せの中からいずれか一つの組合せが選択された状態で、第１方向（この場合、横方向）又は第２方向（この場合、縦方向）へのドラッグ操作が行われると、そのドラッグ操作の操作方向からユーザが連想し易いと考えられる動作をロボットに実行させるようになっている。
【００５４】
具体的には、第１ボタン１７１は、図４（１）に示すように、組合せＡに対応している。動作指令生成部１６は、選択操作検出部１８によって第１ボタン１７１が操作されたことを検出すると、組合せＡを選択する。組合せＡにおいて、横方向（第１方向）へのドラッグ操作は、第１軸Ｊ１１に対応し、縦方向（第２方向）へのドラッグ操作は、第３軸Ｊ１３に対応している。
【００５５】
すなわち、動作指令生成部１６は、第１ボタン１７１が操作されて組合せＡが選択された状態で、横方向へのドラッグ操作を検出すると、第１軸Ｊ１１を駆動させるための動作指令を生成する。また、動作指令生成部１６は、第１ボタン１７１が操作されて組合せＡが選択された状態で、縦方向へのドラッグ操作を検出すると、第３軸Ｊ１３を駆動させるための動作指令を生成する。これにより、ユーザは、第１ボタン１７１をタッチ操作することで、組合せＡを選択することができる。そして、ユーザは、組合せＡが選択されている状態で、横方向へのドラッグ操作を行うことで、第１軸Ｊ１１を駆動させることができる。また、ユーザは、組合せＡが選択されている状態で、縦方向へのドラッグ操作を行うことで第３軸Ｊ１３を駆動させることができる。
【００５６】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を右方向へ移動させるため、第１軸Ｊ１１を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を左方向へ移動させるため、第１軸Ｊ１１を負（−）方向へ駆動させる。また、ユーザがタッチパネル１７に対して上方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を上方向つまり動作基準面Ｐから離間する方向へ移動させるため、第３軸Ｊ１３を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して下方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を下方向つまり動作基準面Ｐに接近する方向へ移動させるため、第３軸Ｊ１３を負（−）方向へ駆動させる。
【００５７】
ユーザは、横方向のドラッグ操作から、第１軸Ｊ１１の駆動を連想し易く、縦方向のドラッグ操作から、第３軸Ｊ１３の駆動を連想し易いと考えられる。横方向のドラッグ操作から、第１軸Ｊ１１の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、４軸の水平多関節ロボット２において、第１軸Ｊ１１は、垂直方向に延びる回転軸である。そのため、第１軸Ｊ１１が駆動すると、ロボット２の手先は、第１軸Ｊ１１を中心として水平方向へ移動する。ここで、ユーザは、ロボット２を手動操作する際に、ロボット２を水平方向のやや上方から見ることが多い。この場合、ユーザには、ロボット２の手先は水平の横方向へ移動しているように見える。したがって、ユーザの操作方向（横方向）と、ロボット２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する横方向の操作と、第１軸Ｊ１１の駆動による手先の移動動作とを、関連して認識し易い。したがって、ユーザは、ロボット２の手先の移動方向と、自己のドラッグ操作の操作方向とを関連して認識し易くなる。
【００５８】
また、縦方向のドラッグ操作から、第３軸Ｊ１３の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、第３軸Ｊ１３は、ロボット２の手先を、動作基準面Ｐに対して垂直方向、この場合重力方向に対して上下方向へ移動させるための駆動軸である。図５に示すように、ユーザ１００は、通常、ティーチングペンダント４を、ユーザ１００の腰から胸の間で持つことが多い。この場合、タッチパネル１７の視認性や操作性を考慮すると、ユーザ１００は、タッチパネル１７の画面がユーザ１００側へ向かって下方に傾斜するような姿勢で、ティーチングペンダント４を持つことが自然である。このような姿勢でユーザ１００がティーチングペンダント４を持つと、ティーチングペンダント４の縦方向つまり上下方向と、ロボット２の手先の垂直方向つまり上下方向とが一致する。この場合、図５にティーチングペンダント４の上方向を矢印Ａ１で示し、下方向を矢印Ａ２で示している。したがって、ユーザ１００は、タッチパネル１７の画面上の縦方向への操作と、第３軸Ｊ１３の駆動によるロボット２の手先の垂直方向への移動とを、関連して認識し易い。
【００５９】
第２ボタン１７２は、図４（２）に示すように、組合せＢに対応している。動作指令生成部１６は、選択操作検出部１８によって第２ボタン１７２が操作されたことを検出すると、組合せＢを選択する。組合せＢにおいて、横方向（第１方向）へのドラッグ操作は、第２軸Ｊ１２に対応している。一方、縦方向（第２方向）へのドラッグ操作は、いずれの駆動軸にも対応していない。
【００６０】
すなわち、動作指令生成部１６は、第２ボタン１７２が操作されて組合せＢが選択された状態で、横方向へのドラッグ操作を検出すると、第２軸Ｊ１２を駆動させるための動作指令を生成する。一方、動作指令生成部１６は、第２ボタン１７２が操作されて組合せＢが選択された状態で、縦方向へのドラッグ操作を検出した場合には、動作指令を生成しない。これにより、ユーザは、第２ボタン１７２をタッチ操作することで、組合せＢを選択することができる。そして、ユーザは、組合せＢが選択されている状態で、横方向へのドラッグ操作を行うことで、第２軸Ｊ１２を駆動させることができる。
【００６１】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を右方向へ移動させるため、第２軸Ｊ１２を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を左方向へ移動させるため、第２軸Ｊ１２を負（−）方向へ駆動させる。
【００６２】
ユーザは、横方向のドラッグ操作から、第２軸Ｊ１４の駆動を連想し易と考えられる。その根拠は、上述した第１軸Ｊ１１の場合と同様である。すなわち、４軸の水平多関節ロボット２において、第２軸Ｊ１２は、垂直方向に延びる回転軸である。そのため、第２軸Ｊ１２が駆動すると、ロボット２の手先は、第２軸Ｊ１２を中心として水平方向へ移動する。したがって、第１軸Ｊ１１の場合と同様に、第２軸Ｊ１２の場合においても、ユーザの操作方向（横方向）と、ロボット２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する横方向の操作と、第２軸Ｊ１２の駆動による手先の移動動作とを、関連して認識し易い。したがって、ユーザは、ロボット２の手先の移動方向と、自己のドラッグ操作の操作方向とを関連して認識し易くなる。
【００６３】
第３ボタン１７３は、図４（３）に示すように、組合せＣに対応している。動作指令生成部１６は、選択操作検出部１８によって第３ボタン１７３が操作されたことを検出すると、組合せＣを選択する。組合せＣにおいて、横方向（第１方向）へのドラッグ操作は、第４軸Ｊ１４に対応している。一方、縦方向（第２方向）へのドラッグ操作は、いずれの駆動軸にも対応していない。
【００６４】
すなわち、動作指令生成部１６は、第３ボタン１７３が操作されて組合せＣが選択された状態で、横方向へのドラッグ操作を検出すると、第４軸Ｊ１４を駆動させるための動作指令を生成する。一方、動作指令生成部１６は、第３ボタン１７３が操作されて組合せＣが選択された状態で、縦方向へのドラッグ操作を検出した場合には、動作指令を生成しない。すなわち、ユーザは、第３ボタン１７３をタッチ操作することで、組合せＣを選択することができる。そして、ユーザは、組合せＣが選択されている状態で、横方向へのドラッグ操作を行うことで、第４軸Ｊ１４を駆動させることができる。
【００６５】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を右方向へ回転させるため、第４軸Ｊ１４を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２の手先を左方向へ回転させるため、第４軸Ｊ１４を負（−）方向へ駆動させる。
【００６６】
ユーザは、横方向のドラッグ操作から、第４軸Ｊ１４の駆動を連想し易いと考えられる。その根拠は、例えば次の通りである。すなわち、第４軸Ｊ１４は、ロボット２の手先を回転させるためのものである。ロボット２の手動操作は、ロボット２の微調整のために行われることが多い。ロボット２の手先を水平方向に見た場合、ロボット２の手先が回転することで、ロボット２の手先のある一点が水平方向に直線的に移動しているように見える。そのため、ユーザは、タッチパネル１７に対する横方向への操作が、ロボット２の手先の回転動作を連想させると考えられる。したがって、ユーザは、タッチパネル１７に対する横方向の操作と、ロボット２の手先の回転動作とを、関連して認識し易い。
【００６７】
上述したような各動作を実現するため、動作指令生成部１６は、選択処理と、操作判断処理と、第１動作指令生成処理と、第２動作指令生成処理と、を実行することができる。選択処理は、選択操作検出部１８の検出結果に基づいて、予め設定された駆動軸の組合せの中から操作対象となる一の組合せを選択する処理である。操作判断処理は、タッチ操作検出部１５で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の操作方向が第１方向（この場合、横方向）又は第２方向（この場合、縦方向）のいずれの方向であるかを判断する処理である。
【００６８】
第１動作指令生成処理は、ドラッグ操作の操作方向が第１方向（この場合、横方向）である場合に、選択処理で選択された駆動軸のうち第１方向（この場合、横方向）へのドラッグ操作に対応する駆動軸（この場合、第１軸Ｊ１１、第２軸Ｊ１２、又は第４軸Ｊ１４のうちいずれか１つ）を駆動させるための動作指令を生成する処理である。第２動作指令生成処理は、ドラッグ操作の操作方向が第２方向（この場合、縦方向）である場合に、選択処理で決定された駆動軸の組合せのうち縦方向へのドラッグ操作に対応する駆動軸（この場合、第３軸Ｊ１３又は対象無し）を駆動させるための動作指令を生成する処理である。
【００６９】
制御部１４がロボット操作用プログラムを実行すると、動作指令生成部１６は、図６に示す処理を実行する。すると、動作指令生成部１６は、まず、選択処理として、ステップＳ１１、Ｓ１２、Ｓ１３を実行する。動作指令生成部１６は、ステップＳ１１において、第１ボタン１７１が操作されたか否かを判断する。動作指令生成部１６は、第１ボタン１７１が操作されたことを検出すると（ステップＳ１１でＹＥＳ）、ステップＳ１４へ移行して、組合せＡ用の処理を実行する。
【００７０】
動作指令生成部１６は、組合せＡ用の処理として、図７に示す処理を実行すると、まず、ステップＳ２１において、ドラッグ操作の操作方向及び操作量を判断する。このステップＳ２１の処理は、操作判断処理に相当する。次に、動作指令生成部１６は、ステップＳ２２において、ステップＳ２１の判断結果に基づいて、ドラッグ操作の操作方向が横方向（第１方向）であるか否かを判断する。そして、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）である場合（ステップＳ２２でＹＥＳ）、ステップＳ２３へ移行して第１軸Ｊ１１を駆動させるための動作指令を生成する。一方、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）でない場合（ステップＳ２２でＮＯ）、ステップＳ２４へ移行する。このステップＳ２２、Ｓ２３の処理は、第１動作指令生成処理に相当する。
【００７１】
次に、動作指令生成部１６は、ステップＳ２４において、ステップＳ２１の判断結果に基づいて、ドラッグ操作の操作方向が縦方向（第２方向）であるか否かを判断する。そして、動作指令生成部１６は、ドラッグ操作の操作方向が縦方向（第２方向）である場合（ステップＳ２４でＹＥＳ）、ステップＳ２５へ移行し、第３軸Ｊ１３を駆動させるための動作指令を生成する。そして、動作指令生成部１６は、組合せＡ用の処理を終了する（リターン）。一方、動作指令生成部１６は、ドラッグ操作方向が縦方向（第２方向）でない場合（ステップＳ２４でＮＯ）、組合せＡ用の処理を終了する（リターン）。その後、動作指令生成部１６は、図６に示す一連の処理を終了する。このステップＳ２４、Ｓ２５の処理は、第２動作指令生成処理に相当する。
【００７２】
ドラッグ操作の操作方向は、斜め方向、つまり、横方向の成分と縦方向の成分とが混合されたものになる場合がある。この場合、動作指令生成部１６は、例えば横方向の成分と縦方向の成分との割合を比較し、その割合が大きいいずれか一方を優先して判断することができる。すなわち、動作指令生成部１６は、ドラッグ操作の操作方向が斜め方向である場合であっても、横方向の成分が縦方向の成分に比べて大きければ、そのドラッグ操作の操作方向を横方向と判断することができる。同様に、動作指令生成部１６は、ドラッグ操作の操作方向が斜め方向である場合であっても、縦方向の成分が横方向の成分に比べて大きければ、そのドラッグ操作の操作方向を縦方向と判断することができる。これによれば、ユーザは、ドラッグ操作の操作方向にある程度のブレが生じた場合であっても、ユーザの意図した操作方向にすることができる。この結果、操作性の向上が図られる。
【００７３】
また、動作指令生成部１６は、ドラッグ操作の操作方向が斜め方向である場合、横方向と縦方向との成分をそれぞれ検出し、それらの成分に基づいて、第１軸Ｊ１１及び第３軸Ｊ１３を駆動するための動作指令を生成してもよい。これによれば、ユーザは、斜め方向のドラッグ操作を行うことで、第１軸Ｊ１１及び第３軸Ｊ１３を同時に操作することができる。これによれば、２軸同時に操作することができるため、教示に要する時間をさらに短縮することができる。
【００７４】
動作指令生成部１６は、図６に示すステップＳ１１において、第１ボタン１７１の操作を検出しない場合（ステップＳ１１でＮＯ）、ステップＳ１２へ移行し、第２ボタン１７２が操作されたか否かを判断する。動作指令生成部１６は、第２ボタン１７２が操作されたことを検出すると（ステップＳ１２でＹＥＳ）、ステップＳ１５へ移行し、組合せＢ用の処理を実行する。
【００７５】
動作指令生成部１６は、組合せＢ用の処理として、図８に示す処理を実行すると、まず、ステップＳ３１において、ドラッグ操作の操作方向及び操作量を判断する。このステップＳ３１の処理は、操作判断処理に相当する。次に、動作指令生成部１６は、ステップＳ３２において、ステップＳ３１の判断結果に基づいて、ドラッグ操作の操作方向が横方向（第１方向）であるか否かを判断する。そして、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）である場合（ステップＳ３２でＹＥＳ）、ステップＳ３３へ移行して第２軸Ｊ１２を駆動させるための動作指令を生成し、その後、組合せＢ用の処理を終了する（リターン）。一方、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）でない場合（ステップＳ３２でＮＯ）、組合せＢ用の処理を終了する（リターン）。その後、動作指令生成部１６は、図６に示す一連の処理を終了する。このステップＳ３２、Ｓ３３の処理は、第１動作指令生成処理に相当する。
【００７６】
動作指令生成部１６は、図６に示すステップＳ１２において、第２ボタン１７２の操作を検出しない場合（ステップＳ１２でＮＯ）、ステップＳ１３へ移行し、第３ボタン１７３が操作されたか否かを判断する。動作指令生成部１６は、第３ボタン１７３が操作されたことを検出すると（ステップＳ１３でＹＥＳ）、ステップＳ１６へ移行し、組合せＣ用の処理を実行する。
【００７７】
動作指令生成部１６は、組合せＣ用の処理として、図９に示す処理を実行すると、まず、ステップＳ４１において、ドラッグ操作の操作方向及び操作量を判断する。このステップＳ４１の処理は、操作判断処理に相当する。次に、動作指令生成部１６は、ステップＳ４２において、ステップＳ４１の判断結果に基づいて、ドラッグ操作の操作方向が横方向（第１方向）であるか否かを判断する。そして、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）である場合（ステップＳ４２でＹＥＳ）、ステップＳ４３へ移行して第４軸Ｊ１４を駆動させるための動作指令を生成し、その後、組合せＣ用の処理を終了する（リターン）。
【００７８】
一方、動作指令生成部１６は、ドラッグ操作の操作方向が横方向（第１方向）でない場合（ステップＳ４２でＮＯ）、組合せＢ用の処理を終了する（リターン）。その後、動作指令生成部１６は、図６に示す一連の処理を終了する。このステップＳ４２、Ｓ４３の処理は、第１動作指令生成処理に相当する。そして、上述の処理によって生成された動作指令は、コントローラ３へ送信される。そして、コントローラ３は、その動作指令に基づいてロボット２の動作を制御する。
【００７９】
本実施形態によれば、ユーザは、選択操作を行うことによって、すなわち、第１ボタン１７１、第２ボタン１７２、又は第３ボタン１７３のいずれか１つを操作することによって、駆動軸の組合せＡ〜Ｃの中から１の組合せを選択することができる。そして、ユーザは、選択操作によって駆動軸の組合せを選択した後、横方向（第１方向）又は縦方向（第２方向）へのドラッグ操作をすることで、その選択した駆動軸の組合せの中からそのドラッグ操作の操作方向に対応した駆動軸を駆動させることができる。このような構成によれば、ティーチングペンダント４は、タッチパネル１７による２次元の入力つまり２種類の入力で、２種類以上の操作入力を区別して判断することができる。したがって、ティーチングペンダント４が、例えば４つの駆動軸を備える４軸ロボットを操作対象にして２種類以上の操作入力が必要な場合であっても、タッチパネル１７を採用することができる。
【００８０】
さらに、これによれば、ユーザは、横方向（第１方向）と縦方向（第２方向）とのドラッグ操作を使い分けることで、横方向（第１方向）のドラッグ操作に対応した駆動軸と、縦方向（第２方向）のドラッグ操作に対応した駆動軸と、をそれぞれ駆動させることができる。したがって、このようなティーチングペンダント４は、タッチパネル１７を採用しつつ、ユーザが画面を直視しなくても直感的な操作を可能にすることができる。その結果、操作性の向上が図られ、安全性の低下を招くことなく、ロボット２の手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００８１】
また、上記構成において、第１方向は、タッチパネル１７上における横方向であり、第２方向は、タッチパネル１７上における縦方向である。また、横方向（第１方向）へのドラッグ操作に対応する駆動軸は、ロボット２の手先を動作基準面Ｐに対して水平方向へ移動させるための駆動軸、この場合第１軸Ｊ１１、第２軸Ｊ１２、及び第４軸Ｊ１４である。縦方向（第２方向）へのドラッグ操作に対応する駆動軸は、ロボット２の手先を動作基準面Ｐに対して垂直方向へ移動させる駆動軸、この場合第３軸Ｊ１３である。
【００８２】
これによれば、ティーチングペンダント４は、横方向のドラッグ操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、ロボット２の手先を水平方向へ移動させるための駆動軸（第１軸Ｊ１１、第２軸Ｊ１２、又は第４軸Ｊ１４）を駆動させる。また、ティーチングペンダント４は、縦方向のドラッグ操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、ロボット２の手先を垂直方向へ移動させるための駆動軸（第３軸Ｊ１３）を駆動させる。
【００８３】
以上より、このロボット操作装置によれば、ユーザは、より直感的な操作を行うことができる。その結果、操作性のさらなる向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の更なる短縮を図ることができる。
【００８４】
また、このティーチングペンダント４によれば、選択操作検出部１８は、タッチパネル１７の表示部１２に表示されたボタン１７１〜１７３、又は詳細は図示しないがタッチパネル１７とは異なるボタンに対する操作を検出するものである。これによれば、ユーザは、タッチパネル１７上に表示されたボタン１７１〜１７３等を操作をすることで、操作対象となる駆動軸の組合せを選択することができる。この場合、ユーザは、これらのボタン１７１〜１７３等を操作するために、若干の間、これらのボタン１７１〜１７３を直視する可能性もある。
【００８５】
しかし、通常のロボット２の使用態様において、操作対象にする駆動軸を選択する（切り替える）ための操作は、ロボット２の駆動前つまりロボット２が実際に動作していない時に行われることがほとんどである。また、これらのボタン１７１〜１７３等の形状や大きさ、色等の設定を工夫することにより、ユーザがボタン１７１〜１７３等を直視する時間を短縮することもできる。したがって、ユーザが、タッチパネル１７上に表示されたボタン１７１〜１７３等を操作するために、若干の間それらのボタンを直視しても、安全性の低下への影響は少ないと考えられる。
【００８６】
むしろ、このような構成によれば、ユーザには、操作対象となる駆動軸の組合せを切り替えるためにボタンを操作する、という意志が働く。したがって、ユーザは、これらのボタン１７１〜１７３等に対する操作が、操作対象となる駆動軸の組合せを選択するための操作であることを意識し易くなる。したがって、これによれば、ユーザが誤った操作をすることにより、誤った操作対象が選択されてロボット２の誤作動を招く危険性が低減される。よって、操作性の向上が図られ、安全性の低下を招くことなく、ロボット２の手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００８７】
上記実施形態において、動作指令生成部１６は、選択操作検出部１８がボタン１７１〜１７３に対するタッチ操作を検出している間に限り各組合せＡ〜Ｃを選択し、選択操作検出部１８がボタン１７１〜１７３にタッチ操作を検出していない状態では組合せＡ〜Ｃのいずれも選択しない構成とすることができる。この場合、ユーザは、ボタン１７１〜１７３のいずれか１つをタッチ操作しながらドラッグ操作を行うことによって、選択された組合せＡ〜Ｃに対応する駆動軸を駆動させることができる。一方、ユーザは、ボタン１７１〜１７３のいずれもタッチ操作していない状態では、いずれの駆動軸も駆動させることができない。これによれば、操作の度にユーザにボタン１７１〜１７３をタッチ操作させることで、ユーザの操作に対する意図が明確になる。したがって、ユーザの意図に反して誤ってドラッグ操作が入力された場合であっても、ボタン１７１〜１７３を操作していない状態では、ロボット２の動作は行われないため、安全性が向上する。
【００８８】
また、制御部１４は、選択操作検出部１８がボタン１７１〜１７３に対するタッチ操作を検出した場合、その操作されたボタン１７１〜１７３に対応する組合せを記憶領域１４２に記憶する構成でもよい。この場合、記憶領域１４２は、例えばティーチングペンダント４に電源が投入されている間又は新たな情報が上書きされるまでの間、選択された組合せに関する情報を保持する。これによれば、ユーザは、操作の度にいちいちボタン１７１〜１７３を操作する必要がなくなるため、操作性の向上が図られる。その結果、教示に要する時間を更に短縮することができる。
【００８９】
また、このティーチングペンダント４に対するドラッグ操作は、指１本によるいわゆる一筆書きのドラッグ操作である。したがって、このティーチングペンダント４は、指１本で入力操作を容易に行えることができるという利点を備える。そして、この利点は、いわゆるタッチペンやスタイラスペンといったポインティングデバイスを利用する際にも有効である。すなわち、産業用ロボットの動作環境を考慮すると、ユーザの安全を確保するためにユーザが手袋を装着していたり、ユーザの手指に潤滑油等のタッチ操作を阻害する物質が付着していたりする可能性がある。この場合、ユーザが手指でタッチ操作を行っても、タッチ操作検出部１５がそのタッチ操作を正確に認識しない可能性がある。一方、ユーザが手袋を装着していたり、ユーザの手指に潤滑油等が付着していたりする場合であっても、ユーザは、上述したポインティングデバイスを利用することで、正確なタッチ操作を行うことができる。このような理由から、ロボット操作装置が産業用ロボットを操作対象とする場合、上述のポインティングデバイスを容易に利用できることは、利点である。
【００９０】
ここで、タッチ操作検出部１５は、図１などに示すように、ユーザによる手持ちが可能なケース１１に設けられたタッチパネル１７に対するタッチ操作を検出するものである。このような構成の場合、ユーザは、一方の手でケース１１を把持した上で、他方の手の指により各操作を行うことになる。このとき、ケース１１を把持する一方の手の指が誤ってタッチパネル１７に触れてしまう可能性がある。その結果、ユーザの意図しない動作が実行される可能性がある。
【００９１】
そこで、タッチ操作検出部１５は、タッチパネル１７のうち、ユーザがケース１１を手持ちする際に把持することが想定される把持部（図１０（ａ）に符号１１ａを付して示す）に隣接する所定範囲の領域（以下、検出除外領域と称す）に対するタッチ操作については検出対象から除外する。このようにすれば、把持する側の手（例えば左手）による誤タッチが行われたとしても、その誤タッチが検出されることはないため、ユーザの意図しない動作が行われるといった誤動作の発生を確実に防止することができる。
【００９２】
本発明者は、複数の評価者を対象とし、一方の手でケース１１を把持した状態で、他方の手を用いて１本の指によるドラッグ操作を行うという操作テストを実施した。なお、この操作テストでは、ティーチングペンダント４として、７インチ程度の表示部１２を持つ装置および４インチ程度の表示部１２を持つ装置の２種類を用いた。その結果を分析すると、７インチ程度の表示部１２を持つ装置を用いた場合、評価者は、ケース１１を図１０（ａ）に示すように把持することが多かった。すなわち、右利きの評価者の場合、左手でケース１１の左下部分（把持部１１ａ）を把持する。このとき、左手の指のうち、親指がケース１１の表面（タッチパネル１７が設けられた面）に触れる。その際、親指が、タッチパネル１７のうち把持部１１ａに隣接する領域に誤って触れることがあった。
【００９３】
そこで、表示部１２のサイズが７インチ程度である場合、図１０（ｂ）に示すように、ユーザがケース１１を把持する際に親指の付け根が位置する可能性が高い位置を中心とした半径５０ｍｍ以内の領域を検出除外領域として設定する。なお、半径５０ｍｍ以内とした理由は、日本人の親指の平均的な長さが約６０ｍｍであり、誤タッチする際には親指の腹（指腹）が接触すると考えられるからである。また、この場合も、ユーザが左利きである場合、右利きとは左右を反転した箇所への誤タッチが生じる可能性が高いため、検出除外領域についても左右反転させる。さらに、上記操作テストの結果を分析すると、評価者がケース１１を把持する際における親指の角度（ケース１１の側面を基準とした角度）が、６５度程度であることが多いということも判明した。そこで、上記検出除外領域については、半径５０ｍｍの半円ではなく、６５度の扇形状（図１０（ｂ）においてハッチングで示す領域）に変更してもよい。
【００９４】
また、上記操作テストの結果、４インチ程度の表示部１２を持つ装置を用いた場合には、ケース１１を把持する手の指がタッチパネル１７に触れることがなかった。これは、ケース１１全体が片手に収まる程度の大きさであることに起因すると考えられる。従って、表示部１２のサイズが４インチ程度である場合、つまりケース１１が片手に収まる程度の大きさである場合、検出除外領域を設定する必要がないと考えられる。これに対し、表示部１２のサイズが７インチ程度である場合、つまりケース１１が片手に収まらない程度の大きさである場合、検出除外領域を設定する必要がある。従って、上記した検出除外領域の設定については、ケース１１の大きさに応じて有効化または無効化すればよい。
【００９５】
ロボットシステム１において、ロボット２による誤動作は特に問題となるため、その発生を確実に防止する必要がある。一方、タッチ操作は、その性質上、タッチに対する誤判定などが生じる可能性が比較的高い。しかし、本実施形態によれば、前述したような工夫が施されているため、ロボット２の手動操作をタッチ操作により実現しつつ、ロボット２の誤動作の発生を確実に防止することが可能となる。
【００９６】
そして、選択操作部となる３つのボタン１７１〜１７３は、ユーザがケース１１を手持ちする際に把持することが想定される把持部に隣接する所定範囲の領域内、すなわち、上述した検出除外領域内に配置されている。この場合、選択操作検出部１８は、検出除外領域内に配置されたボタン１７１〜１７３に対する操作を検出することができる。
【００９７】
ユーザがケース１１を把持した場合、ケース１１を把持した手の親指は、ケース１１の前面つまりタッチパネル１７の表面側に位置する。そのため、ユーザは、ケース１１を把持した手の親指の可動範囲内であれば、その親指でタッチパネル１７を操作することが可能である。この場合、ユーザは、ケース１１を把持した手の親指を、その親指の付け根を支点にして円弧を描くようにして、タッチパネル上を動かすことができる。したがって、ケース１１を把持した状態において、その手の親指の可動範囲は、その親指の付け根を支点にして親指の長さを半径にした円弧の内側となる。
【００９８】
したがって、３つのボタン１７１〜１７３が設けられる所定範囲の領域を、例えばケース１１を把持した手の親指の可動範囲として想定される領域内つまり上述の円弧の内側、すなわち検出除外領域内に設定することで、ユーザは、ケース１１を把持した手をケース１１から離すことなく、この所定範囲の領域内に配置された複数のボタン１７１〜１７３を操作することができる。これにより、ユーザは両手でタッチパネル１７を操作することができる。その結果、ティーチングペンダント４の操作性の更なる向上を図ることができる。そして、操作性が更に向上することによって、教示に要する時間の更なる短縮を図ることができる。
【００９９】
また、３つのボタン１７１〜１７３は、タッチパネル１７上で縦方向に配置されている。これによれば、ユーザがケース１１を把持した状態において、その把持した手の親指の移動方向と、ボタン１７１〜１７３の配置方向とが略一致するため、操作し易い。３つのボタン１７１〜１７３の配置は、上述したものに限られない。例えば、３つのボタン１７１〜１７３は、それぞれ三角形の頂点を形成するように配置することもできる。また、操作対象にする駆動軸を限定すれば、ボタンを２つにすることもできる。
【０１００】
また、選択操作検出部１８の検出対象を、上述した表示部１２に表示されるボタン１７１〜１７３に換えて、タッチパネル１７とは別体に設けられた物理的なボタンにすることもできる。例えば、選択操作検出部１８の検出対象をキースイッチ１３に設定し、動作指令生成部１６は、キースイッチ１３に対する操作を検出する度に、組合せＡ〜Ｃの選択を順次切り替えるように構成することもできる。また、組合せＡ〜Ｃに対応した物理的なボタンを、ケース１１に設けてもよい。
【０１０１】
また、本実施形態では、第１方向をタッチパネル１７に対して横方向に設定し、第２方向をタッチパネル１７に対して縦方向に設定したが、これらに限られない。例えば、第１方向及び第２方向は、タッチパネル１７上において相互に斜め方向に交差していてもよい。
【０１０２】
（第２実施形態）
次に、第２実施形態について、図１１を参照して説明する。
第２実施形態では、駆動軸の組合せの具体的内容が上記第１実施形態と異なっている。すなわち、第１実施形態において、第３軸Ｊ１３の駆動は、組合せＡにおける縦方向（第２方向）へのドラッグ操作に対応している。一方、本実施形態において、第３軸Ｊ１３の駆動は、組合せＣにおける縦方向（第２方向）へのドラッグ操作に対応している。
【０１０３】
つまり、本実施形態において、組合せＣは、第４軸Ｊ１４に対する操作と、第３軸Ｊ１３に対する操作とで構成されている。第４軸Ｊ１４は、ロボット２の手先の水平方向への移動を連想させる動作を行わせる駆動軸Ｊ１１、Ｊ１２、Ｊ１４のうち、ロボット２の最も手先側に位置する駆動軸である。つまり、第４軸Ｊ１４が駆動された場合、他の２つの軸Ｊ１１、Ｊ１２に比べてロボット２の手先の移動量が最も小さい。また、第３軸Ｊ１３も、上下方向への移動であるため、第３軸Ｊ１３が駆動された場合、第１軸Ｊ１１及び第２軸Ｊ１２に比べてロボット２の手先の移動量が小さい。すなわち、第４軸Ｊ１４と第３軸Ｊ１３とは、駆動された場合のロボット２の手先の移動量が近い。
【０１０４】
このように、ロボット２の手先の移動量の近いものを、同一の組合せとして同時に操作対象にすることで、次のような利点を得ることができる。すなわち、第１に、ユーザは、２軸を同時に操作する場合、これら２つの軸の駆動によるロボット２の手先の移動量が、同等であることを期待すると考えられる。そのため、ロボット２の手先の移動量が近い軸を同一の組合せにすることで、ユーザの期待に合致させることができる。これにより、ユーザは、直感的な操作が可能になり、２軸同時操作による教示速度を向上させることができる。
【０１０５】
第２に、ユーザは、組合せＡ、Ｂを選択することでロボット２に大きな動作（粗動）をさせ、組合せＣを選択することでロボット２に精密な動作（微動）をさせることができる。これにより、ユーザは、粗動と微動とを切り替えて行うことができるため、ティーチングペンダント４の操作性の向上が図られる。第３に、ユーザが組合せＣを選択している状態で、意図せずに斜め方向のドラッグ操作を入力した場合に、第４軸Ｊ１４と第３軸Ｊ１３とが同時に駆動されるおそれがある。第４軸Ｊ１４と第３軸Ｊ１３とが同時に駆動された場合であっても、この２つの駆動軸Ｊ１４、Ｊ１３の駆動によるロボット２の移動量が近いため、ユーザが意図していた動きと大きな差が生じることを防ぐことができる。これにより、ユーザが誤って斜め方向のドラッグ操作を入力した場合であっても、ユーザの予想に大きく反する動作を避けることができ、その結果、安全性の更なる向上が図られる。
【０１０６】
（第３実施形態）
次に、第３実施形態について、図１２及び図１３を参照して説明する。第３実施形態では、上記各実施形態に対して対象とするロボットの種類を変更している。図１２に示す本実施形態のロボットシステム２１は、図１に示した第１実施形態のロボットシステム１に対し、ロボット２に代えてロボット２２を備えている点が異なる。ロボット２２は、例えば６軸の垂直多関節型ロボットとして構成されている。すなわち、ベース２５上には、Ｚ軸方向の軸心を持つ第１軸Ｊ２１を介してショルダ部２６が水平方向に回転可能に連結されている。ショルダ部２６には、Ｙ軸方向の軸心を持つ第２軸Ｊ２２を介して上方に延びる下アーム２７の下端部が垂直方向に回転可能に連結されている。下アーム２７の先端部には、Ｙ軸方向の軸心を持つ第３軸Ｊ２３を介して第１上アーム２８が垂直方向に回転可能に連結されている。第１上アーム２８の先端部には、Ｘ軸方向の軸心を持つ第４軸Ｊ２４を介して第２上アーム２９が捻り回転可能に連結されている。第２上アーム２９の先端部には、Ｙ軸方向の軸心を持つ第５軸Ｊ２５を介して手首３０が垂直方向に回転可能に連結されている。手首３０には、Ｘ軸方向の軸心を持つ第６軸Ｊ２６を介してフランジ３１が捻り回転可能に連結されている。
【０１０７】
ベース２５、ショルダ部２６、下アーム２７、第１上アーム２８、第２上アーム２９、手首３０およびフランジ３１は、ロボット２２のアームとして機能する。アーム先端であるフランジ３１（手先に相当）には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。ロボット２２に設けられる複数の軸（Ｊ２１〜Ｊ２６）は、第１実施形態のロボット２と同様、それぞれに対応して設けられるモータ（図示せず）により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器（図示せず）が設けられている。この６軸垂直多関節型のロボット２２は、６つの駆動軸を備えている。
【０１０８】
本実施形態の駆動軸の組合せの具体例について、図１３を参照して説明する。駆動軸の組合せとは、ロボット２２の６つの駆動軸Ｊ２１〜Ｊ２６のうち、１つ又は２つの駆動軸によって構成される組合せである。本実施形態においても、ドラッグ操作の第１方向は、横方向であり、第２方向は縦方向としている。組合せＡにおいて、横方向（第１方向）へのドラッグ操作は、第１軸Ｊ２１に対応し、縦方向（第２方向）へのドラッグ操作は、第２軸Ｊ２２に対応している。
【０１０９】
動作指令生成部１６は、第１ボタン１７１が操作されて組合せＡが選択された状態で、横方向へのドラッグ操作を検出すると、第１軸Ｊ２１を駆動させるための動作指令を生成する。また、動作指令生成部１６は、第１ボタン１７１が操作されて組合せＡが選択された状態で、縦方向へのドラッグ操作を検出すると、第２軸Ｊ２２を駆動させるための動作指令を生成する。これにより、ユーザは、組合せＡが選択されている状態で、横方向へのドラッグ操作を行うことで、第１軸Ｊ２１を駆動させることができ、縦方向へのドラッグ操作を行うことで、第２軸Ｊ２２を駆動させることができる。
【０１１０】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を右方向へ移動させるため、第１軸Ｊ２１を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を左方向へ移動させるため、第１軸Ｊ２１を負（−）方向へ駆動させる。また、ユーザがタッチパネル１７に対して上方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を上方向つまり動作基準面Ｐから離間する方向へ移動させるため、第２軸Ｊ２２を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して下方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を下方向つまり動作基準面Ｐに接近する方向へ移動させるため、第２軸Ｊ２２を負（−）側へ駆動させる。
【０１１１】
ユーザは、横方向のドラッグ操作から、第１軸Ｊ２１の駆動を連想し易く、縦方向のドラッグ操作から、第２軸Ｊ２２の駆動を連想し易いと考えられる。横方向のドラッグ操作から、第１軸Ｊ２１の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、６軸の垂直多関節ロボット２２において、第１軸Ｊ２１は、垂直方向に延びる回転軸である。そのため、第１軸Ｊ２１が駆動すると、ロボット２２の手先は、第１軸Ｊ２１を中心として水平方向へ移動する。ここで、ユーザは、ロボット２２を手動操作する際に、ロボット２２を水平方向のやや上方から見ることが多い。この場合、ユーザには、ロボット２２の手先は水平の横方向へ移動しているように見える。したがって、ユーザの操作方向（横方向）と、ロボット２２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する横方向の操作と、第１軸Ｊ２１の駆動による手先の移動動作とを、関連して認識し易い。したがって、ユーザは、ロボット２２の手先の移動方向と、自己のドラッグ操作の操作方向とを関連して認識し易くなる。
【０１１２】
また、縦方向のドラッグ操作から、第２軸Ｊ２２の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、第２軸Ｊ２２は、水平方向に延びる回転軸である。つまり、第２軸Ｊ２２は、ロボット２２の手先を、動作基準面Ｐに対して垂直方向すなわち重力方向に対して上下方向へ移動させるための駆動軸である。そして、図５で示すように、ユーザ１００がティーチングペンダント４を自然な姿勢で持った状態では、ティーチングペンダント４の縦方向つまり矢印Ａ１、Ａ２で示す上下方向と、ロボット２２の手先の垂直方向つまり上下方向とが一致する。したがって、ユーザは、タッチパネル１７の画面上の縦方向への操作と、第２軸Ｊ２２の駆動によるロボット２２の手先の垂直方向への移動とを、関連して認識し易い。
【０１１３】
組合せＢにおいて、横方向（第１方向）へのドラッグ操作は、第４軸Ｊ２４に対応し、縦方向（第２方向）へのドラッグ操作は、第３軸Ｊ２３に対応している。すなわち、動作指令生成部１６は、第２ボタン１７２が操作されて組合せＢが選択された状態で、横方向へのドラッグ操作を検出すると、第４軸Ｊ２４を駆動させるための動作指令を生成する。また、動作指令生成部１６は、第２ボタン１７２が操作されて組合せＢが選択された状態で、縦方向へのドラッグ操作を検出すると、第３軸Ｊ２３を駆動させるための動作指令を生成する。これにより、ユーザは、組合せＢが選択されている状態で、横方向へのドラッグ操作を行うことで、第４軸Ｊ２４を駆動させることができ、縦方向へのドラッグ操作を行うことで、第３軸Ｊ２３を駆動させることができる。
【０１１４】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を右方向へ移動させるため、第４軸Ｊ２４を正（＋）方向へ駆動させる。また、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を左方向へ移動させるため、第４軸Ｊ２４を負（−）方向へ駆動させる。また、ユーザがタッチパネル１７に対して上方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を上方向つまり動作基準面Ｐから離間する方向へ移動させるため、第３軸Ｊ２３を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して下方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を下方向つまり動作基準面Ｐに接近する方向へ移動させるため、第３軸Ｊ２３を負（−）側へ駆動させる。
【０１１５】
ユーザは、横方向のドラッグ操作から、第４軸Ｊ２４の駆動を連想し易く、縦方向のドラッグ操作から、第３軸Ｊ２３の駆動を連想し易いと考えられる。横方向のドラッグ操作から、第４軸Ｊ２４の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、６軸の垂直多関節ロボット２２において、第４軸Ｊ２４は、第１上アーム２８の先端部に設けられた回転軸であって、第１上アーム２８が伸びる方向と同一方向へ向かって伸びる回転軸である。この第４軸Ｊ２４は、ロボット２２が手動操作される際の基本姿勢においては、より水平に近い方向へ伸びている。そのため、第４軸Ｊ２４が駆動すると、ロボット２２の手先は、第４軸Ｊ２４を中心として水平方向へ移動する。
【０１１６】
この場合、ユーザには、ロボット２２の手先が水平の横方向へ移動しているように見える。したがって、ユーザの操作方向（横方向）と、ロボット２２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する横方向の操作と、第４軸Ｊ２４の駆動による手先の移動動作とを、関連して認識し易い。したがって、ユーザは、ロボット２２の手先の移動方向と、自己のドラッグ操作の操作方向とを関連して認識し易くなる。また、縦方向のドラッグ操作から、第２軸Ｊ２２の駆動が連想されるという根拠は、上述した第２軸Ｊ２２の場合と同様である。
【０１１７】
組合せＣにおいて、横方向（第１方向）へのドラッグ操作は、第６軸Ｊ２６に対応し、縦方向（第２方向）へのドラッグ操作は、第５軸Ｊ２５に対応している。すなわち、動作指令生成部１６は、第３ボタン１７３が操作されて組合せＣが選択された状態で、横方向へのドラッグ操作を検出すると、第６軸Ｊ２６を駆動させるための動作指令を生成する。また、動作指令生成部１６は、第３ボタン１７３が操作されて組合せＣが選択された状態で、縦方向へのドラッグ操作を検出すると、第５軸Ｊ２５を駆動させるための動作指令を生成する。これにより、ユーザは、組合せＣが選択されている状態で、横方向へのドラッグ操作を行うことで、第６軸Ｊ２６を駆動させることができ、縦方向へのドラッグ操作を行うことで、第５軸Ｊ２５を駆動させることができる。
【０１１８】
この場合、ユーザがタッチパネル１７に対して右方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を右方向へ回転させるため、第６軸Ｊ２６を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して左方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を左方向へ回転させるため、第６軸Ｊ２６を負（−）方向へ駆動させる。また、ユーザがタッチパネル１７に対して上方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を上方向つまり動作基準面Ｐから離間する方向へ移動させるため、第５軸Ｊ２５を正（＋）方向へ駆動させる。一方、ユーザがタッチパネル１７に対して下方向へのドラッグ操作を行うと、動作指令生成部１６は、ロボット２２の手先を下方向つまり動作基準面Ｐに接近する方向へ移動させるため、第５軸Ｊ２５を負（−）側へ駆動させる。
【０１１９】
ユーザは、横方向のドラッグ操作から、第６軸Ｊ２６の駆動を連想し易いと考えられる。その根拠は、例えば次の通りである。すなわち、第６軸Ｊ２６は、ロボット２２の手先を回転させるためのものである。ロボット２２の手先を水平方向に見た場合、ロボット２２の手先が回転することで、ロボット２２の手先のある一点が水平方向に直線的に移動しているように見える。そのため、ユーザは、タッチパネル１７に対する横方向への操作が、ロボット２２の手先の回転動作を連想させると考えられる。したがって、ユーザは、タッチパネル１７に対する横方向の操作と、ロボット２２の手先の回転動作とを、関連して認識し易い。
【０１２０】
また、縦方向のドラッグ操作から、第５軸Ｊ２５の駆動が連想されるという根拠は、例えば次のような点にある。すなわち、第５軸Ｊ２５は、第２アーム７の先端部に設けられた回転軸であって、水平方向に延びる回転軸である。つまり、第５軸Ｊ２５は、ロボット２２の手先を、動作基準面Ｐに対して垂直方向すなわち重力方向に対して上下方向へ移動させるための駆動軸である。したがって、上述した第２軸Ｊ２２及び第３軸Ｊ２３の場合と同様に、ユーザがティーチングペンダント４を把持した状態におけるティーチングペンダント４の縦方向（上下方向）と、ロボット２２の手先の垂直方向（上下方向）とが一致する。したがって、ユーザは、タッチパネル１７の画面上の縦方向への操作と、第５軸Ｊ２５の駆動によるロボット２２の手先の垂直方向への移動とを、関連して認識し易い。
【０１２１】
なお、動作指令生成部１６は、第１実施形態の図６で説明した制御内容と同等の制御を行う。この場合、動作指令生成部１６は、図６のステップＳ１４〜Ｓ１６で示す各組合せ用処理において、図７に示す内容と同等の制御を行う。すなわち、本実施形態の組合せＡ用処理において、動作指令生成部１６は、ステップＳ２３において第１軸Ｊ２１用の動作指令を生成し、ステップＳ２５において第２軸Ｊ２２用の動作指令を生成する。また、組合せＢ用処理において、動作指令生成部１６は、ステップＳ２３において第４軸Ｊ２４用の動作指令を生成し、ステップＳ２５において第３軸Ｊ２３用の動作指令を生成する。そして、組合せＣ用処理において、動作指令生成部１６は、ステップＳ２３において第６軸Ｊ２６用の動作指令を生成し、ステップＳ２５において第５軸Ｊ２５用の動作指令を生成する。
【０１２２】
これによれば、６軸の垂直多関節ロボット２２についても、上記各実施形態と同様の作用効果が得られる。また、本実施形態において、操作対象となるロボット２０は、作業台Ｐ（設置面）に設置されるベース２５と、第１軸Ｊ２１によってベース２５に対して回転可能に設けられたショルダ部２６と、第２軸Ｊ２２によってショルダ部２６に対して回転可能に設けられた下アーム２７と、第３軸Ｊ２３によって下アーム２７に対して回転可能に設けられた第１上アーム２８と、第４軸Ｊ２４によって第１上アーム２８に対して回転可能に設けられた第２上アーム２９と、第５軸Ｊ２５によって第２上アーム２９に対して回転可能に設けられた手首３０と、第６軸Ｊ２６によって手首に対して回転可能に設けられたフランジ３１と、を有するものである。
【０１２３】
そして、駆動軸の組合せは、横方向（第１方向）のドラッグ操作に対応する第１軸Ｊ２１及び縦方向（第２方向）のドラッグ操作に対応する第２軸Ｊ２２から構成される組合せＡ、横方向（第１方向）のドラッグ操作に対応する第４軸Ｊ２４及び縦方向（第２方向）のドラッグ操作に対応する第３軸Ｊ２３から構成される組合せＢ、又は世Ｋお方向（第１方向）のドラッグ操作に対応する第６軸Ｊ２６及び縦方向（第２方向）のドラッグ操作に対応する第５軸Ｊ２５から構成される組合せＣ、の少なくとも何れか一つの組合せを含んでいる。
【０１２４】
また、組合せＡを構成する第１軸Ｊ２１と第２軸Ｊ２２とは、それぞれ駆動された場合のロボット２２の手先の移動量が近い。また、組合せＢを構成する第４軸Ｊ２４と第３軸Ｊ２３とは、それぞれ駆動された場合のロボット２２の手先の移動量が近い。そして、組合せＣを構成する第６軸Ｊ２６と第５軸Ｊ２５とは、それぞれ駆動された場合のロボット２２の手先の移動量が近い。このように、組合せＡ〜Ｃは、それぞれ駆動された場合の移動量が近い駆動軸から構成されている。したがって、ユーザは、ロボット２０の手先の動きの大きさに合わせて駆動軸の組合せを選択することができるため、操作性の向上が図られる。また、第２実施形態で説明した通り、例えばユーザが誤って斜め方向のドラッグ操作を入力した場合であっても、ユーザの予想に大きく反する動作を避けることができる。その結果、安全性の更なる向上が図られる。
【０１２５】
（第４実施形態）
次に、第４実施形態について、図１４及び図１５を参照して説明する。本実施形態は、いわゆるジェスチャ操作（操作方向及び指の移動量の組合せによる操作）としてドラッグ操作を行った際の、ロボット２、２２の移動速度及び移動量の決定に関するものである。本実施形態において、動作指令生成部１６は、操作判断処理と、速度算出処理と、動作指令生成処理と、を行うことができる。操作判断処理は、タッチ操作検出部１５で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する処理である。速度算出処理は、操作判断処理で判断した指の移動量に基づいてロボット２、２２の移動速度を算出する処理である。動作指令生成処理は、速度算出処理で算出した移動速度でロボット２、２２を移動させるための動作指令を生成する処理である。
【０１２６】
動作指令生成部１６は、ドラッグ操作の指の移動量に基づいてロボット２、２２の移動距離を算出する移動量算出処理を行うことができる。例えば、図１４では、ドラッグ操作の開始地点を地点Ｓｐ、ドラッグ操作の終了地点を地点Ｅｐで示している。ドラッグ操作の終了は、ユーザの指がタッチパネル１７から離れたときである。この場合、ドラッグ操作の指の移動量は、開始地点Ｓｐから終了地点Ｓｅまでの距離Ｌである。制御部１４は、ドラッグ操作の移動距離Ｌに基づいて、ロボット２、２２の移動距離Ｌｒを算出する。また、制御部１４は、移動距離Ｌをドラッグ操作の入力時間で割った値、つまり、ドラッグ操作における指の移動に係る平均速度Ｖに基づいて、ロボット２、２２の平均速度Ｖｒを算出する。
【０１２７】
制御部１４は、上述の構成を実現するために、図１５の内容の制御を実行する。なお、以下の説明において、制御部１４による処理は、タッチ操作検出部１５及び動作指令生成部１６による処理を含むものとする。また、図１４で示すタッチパネル１７上のＸ−Ｙ座標系と、ロボット２、２２の座標系とは、必ずしも一致しなくてもよい。
【０１２８】
制御部１４は、ドラッグ操作を検出して、図１５に示す制御を開始すると、ステップＳ５１、Ｓ５２において、ドラッグ操作の開始地点Ｓｐ（Ｘｓ、Ｙｓ）、及び終了地点Ｅｐ（Ｘｅ、Ｙｅ）を検出する。次に、制御部１４は、ステップＳ５３において、ドラッグ操作に要した時間つまりドラッグ操作の入力時間Ｔｉを検出する。次に、制御部１４は、ステップＳ５４において、開始地点Ｓｐ（Ｘｓ、Ｙｓ）及び終了地点Ｅｐ（Ｘｅ、Ｙｅ）から、ドラッグ操作による指の移動量Ｌ、ドラッグ操作による指の平均速度Ｖ、及びドラッグ操作の操作方向を算出する。このステップＳ５４には、操作判断処理が含まれている。
【０１２９】
その後、制御部１４は、ステップＳ５５において、ステップＳ５４で算出したドラッグ操作の移動量Ｌと平均速度Ｖと操作方向とから、ロボット２、２２の移動量Ｌｒ、平均速度Ｖｒ、及び移動方向を算出する。このステップＳ５５には、速度算出処理が含まれている。そして、制御部１４は、ステップＳ５６において、移動量Ｌｒ、平均速度Ｖｒ、及び移動方向に基づいて、動作指令を生成する（動作指令生成処理）。そして、その動作指令がコントローラ３へ送信され、コントローラ３は、その動作指令に基づいてロボット２、２２の動作を制御する。これにより、制御部１４は、一連の処理を終了する。
【０１３０】
本実施形態において、制御部１４は、ドラッグ操作による指の移動量Ｌに基づいてロボット２、２２の移動速度Ｖｒを算出する速度算出処理を行うことができる。これによれば、ユーザのドラッグ操作による指の移動量Ｌと、ロボット２、２２の移動速度Ｖｒとは相関を有することになる。したがって、ユーザは、ドラッグ操作による指の移動量Ｌを調整することにより、ロボットの移動速度Ｖｒを調整することができる。そのため、ユーザは、直感的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０１３１】
また、制御部１４は、ドラッグ操作による指の移動量Ｌに基づいてロボット２、２２の移動距離Ｌｒを算出する移動量算出処理を行うことができる。これによれば、ユーザは、ドラッグ操作による指の移動量Ｌを調整することにより、ロボット２、２２の移動量Ｌｒつまり移動距離Ｌｒを調整することができる。さらに、速度算出処理は、ドラッグ操作による指の移動量Ｌをドラッグ操作の入力に要した時間で除した値に基づいて、ロボット２、２２の移動速度Ｖｒを決定する処理である。これによれば、ユーザは、ドラッグ操作の入力に要する時間を調整することで、ロボット２、２２の移動速度Ｖｒを調整することができる。
【０１３２】
したがって、ユーザは、ドラッグ操作の入力に際し、そのドラッグ操作の移動量Ｌと入力時間Ｔｉを調整することにより、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒの両方を調整することができる。すなわち、ユーザは、１度のドラッグ操作によって、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒの両方を調整することができる。これにより、ユーザは、直感的な操作が可能になる。また、これによれば、ユーザは、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒを決定するために、複数の操作、例えばロボット２、２２の移動速度Ｖｒを決定するための操作とロボット２、２２の移動量Ｌｒを決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０１３３】
なお、図１４の表示部１２にある円で示された開始地点Ｓｐ、終了地点Ｅｐ、及び白抜き矢印は、ドラッグ操作の動作を説明するために便宜的に記載したものであり、操作の際に実際に表示部１２に表示されるものではない。しかしながら、ティーチングペンダント４は、ドラッグ操作に伴って、開始地点Ｓｐ、終了地点Ｅｐ、及び白抜き矢印を表示部１２に表示させてもよい。これによれば、ユーザが、自己の操作内容を確認する際に役立つ。
【０１３４】
（第５実施形態）
次に、第５実施形態について、図１６及び図１７も参照して説明する。本実施形態は、ロボット２、２２の動作を、操作入力に対してほぼリアルタイムで実行するための構成である。すなわち、上記第４実施形態では、ドラッグ操作の入力が終了した後に、ロボット２、２２の動作が行われる。そのため、ロボット２、２２の動作は、ドラッグ操作の終了後になる。したがって、ユーザによるドラッグ操作の入力と、ロボット２、２２の実際の動作とに、時間差が生じる。一方、本実施形態において、制御部１４は、ドラッグ操作が終了する前であっても、ロボット２、２２の動作指令を適宜生成する。したがって、ロボット２、２２の実際の動作は、ユーザによるドラッグ操作の入力に対して、ほぼリアルタイムで行われる。
【０１３５】
具体的には、制御部１４は、ドラッグ操作が行われている間は一定の周期Ｓで操作判断処理と速度算出処理と動作指令生成処理とを行うことができる。ドラッグ操作が行われている間とは、ユーザの指がタッチパネル１７に触れてドラッグ操作が開始されてから、ユーザの指がタッチパネル１７から離れるまでの期間を意味する。この場合、図１６にも示すように、ドラッグ操作の開始地点Ｓｐと終了地点Ｅｐとの間の距離Ｌのドラッグ操作を入力している期間が、ドラッグ操作が行われている期間となる。
【０１３６】
制御部１４は、上述の構成を実現するために、図１６の内容の制御を実行する。なお、以下の説明において、制御部１４による処理は、タッチ操作検出部１５及び動作指令生成部１６による処理を含むものとする。制御部１４は、ドラッグ操作の入力を検出している間、図１７に示す処理内容を実行する。制御部１４は、図１７に示す制御を開始すると、ステップＳ６１において、ドラッグ操作による現在の指の地点Ｐ１（Ｘ１、Ｙ１）を検出する。次に、制御部１４は、ステップＳ６２において、一定の時間Ｓが経過するまで待機する（ステップＳ６２でＮＯ）。制御部１４は、時間Ｓが経過すると（ステップＳ６２でＹＥＳ）、ステップＳ６３において、ドラッグ操作による現在の指の地点Ｐ２（Ｘ２、Ｙ２）を検出する。
【０１３７】
次に、制御部１４は、ステップＳ６４において、地点Ｐ１、Ｐ２、及び時間Ｓから、ドラッグ操作の操作方向と、一定時間Ｓ当たりにおけるドラッグ操作の移動量ｄＬ及び移動速度ｄＶを算出する。このステップＳ６４には、操作判断処理が含まれている。次に、制御部１４は、ステップＳ６５において、ステップＳ６４で算出しらドラッグ操作の移動量ｄＬ、移動速度ｄＶ、及び操作方向から、ロボット２、２２の移動方向と、一定時間Ｓ当たりの移動量ｄＬｒ及び移動速度ｄＶｒを算出する。このステップＳ６４には、速度算出処理が含まれている。
【０１３８】
次に、制御部１４は、ステップＳ６６において、一定時間Ｓ当たりの移動量ｄＬｒ、平均速度ｄＶｒ、及び移動方向に基づいて、動作指令を生成する（動作指令処理）。そして、その動作指令がコントローラ３へ送信され、コントローラ３は、その動作指令に基づいてロボット２、２２の動作を制御する。その後、制御部１４は、ステップＳ６７において、ドラッグ操作の入力が終了したか否かを判断する。制御部１４は、ドラッグ操作の入力が終了していないと判断した場合（ステップＳ６１でＮＯ）、ステップＳ６１へ移行し、ステップＳ６１からステップＳ６７を繰り返す。一方、制御部１４は、ドラッグ操作の入力が終了したと判断した場合（ステップＳ６１でＹＥＳ）、一連の処理を終了する。このようにして、制御部１４は、ドラッグ操作が行われている間、一定時間Ｓつまり一定周期Ｓで、操作判断処理と速度算出処理と動作指令生成処理とを繰り返す。
【０１３９】
本実施形態によれば、制御部１４は、ユーザによるドラッグ操作の終了を待つことなく、動作指令を生成することができる。したがって、動作指令生成部１６は、ユーザからのドラッグ操作に対してほぼリアルタイムで、ロボット２、２２を動作させるための動作指令を生成することができる。そのため、ユーザによるドラッグ操作の入力と、ロボット２、２２の実際の動作と時間差を、極力低減することができる。よって、ユーザは、より直感的な操作が可能になり、その結果、安全性の向上、ひいては教示時間の短縮を図ることができる。
【０１４０】
（第６実施形態）
次に、第６実施形態について、図１８から図２０を参照して説明する。本実施形態は、いわゆるジェスチャ操作としてドラッグ操作を行った際のドラッグ操作の操作量とロボット２、２２の移動量との間の倍率に関するものである。なお、図１８では、ドラッグ操作の開始地点Ｓｐから終了地点Ｅｐまでのドラッグ操作の操作量をＬとしている。
【０１４１】
ティーチングペンダント４は、入力されるドラッグ操作の操作量以上の精密な動作をロボット２、２２に行わせるため、ドラッグ操作の操作量とロボット２、２２の移動量との間に倍率を設定することが考えられる。例えば、倍率を０．１倍に設定した場合、ユーザは、１ｍｍのドラッグ操作を行うことで、ロボット２、２２を０．１ｍｍ移動させることができる。しかし、単純に一定の倍率を設定しただけでは、次のような問題が生じる。すなわち、例えば０．１ｍｍ単位の微細な動作（微動）を行いつつ、数〜数十ｍｍ単位の大きな動作（粗動）を行いたい場合もある。しかし、例えば倍率を０．１倍に設定した場合、２００ｍｍ（１０インチ画面の長辺の長さに相当）のドラッグ操作でも、僅かに２０ｍｍしかロボットを移動させることができない。そのため、ユーザは、例えばロボットに１０００ｍｍの移動をさせようとすると、２００ｍｍのドラッグ操作を５０回も繰り返すことになり、煩雑で操作性が良くない。
【０１４２】
そこで、本実施形態において、動作指令生成部１６は、操作判断処理と、移動量決定処理と、を行うことができる。操作判断処理は、タッチ操作検出部１５で検出したドラッグ操作の指の移動量を判断する。移動量決定処理は、図１８に示すように、ドラッグ操作が、操作開始地点Ｓｐから第１区間Ｌ１を通過するまでは倍率を第１倍率に設定し、第１区間Ｌ１を通過した後は倍率を第１倍率より大きい値に設定して、ロボット２、２２の移動量を決定する。倍率とは、操作判断処理で判断したドラッグ操作の指の移動量を拡大又は縮小してロボット２、２２の移動量を決定するためのものである。また、第１倍率は、１より小さい一定の値である。
【０１４３】
また、本実施形態において、移動量決定処理は、ドラッグ操作の指の移動が第１区間Ｌ１を通過してから第２区間Ｌ２を通過するまでは倍率を第２倍率に設定し、ドラッグ操作の指の移動が第２区間Ｌ２を通過した後は倍率を一定値である第３倍率に設定して、ロボットの移動量を決定する。第２倍率は、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する値である。
【０１４４】
具体的には、図１８に示すように、第１区間Ｌ１は、ドラッグ操作の開始地点Ｓｐから所定の長さ（例えば、５０ｍｍ）の区間である。つまり、この場合、第１区間Ｌ１は、図１９に示すように、操作量０ｍｍ（開始地点Ｓｐ）から操作量５０ｍｍ（第１区間Ｌ１の終点Ｌ１ｐ）の区間である。第１区間Ｌ１の長さ、ドラッグ操作の操作量Ｌに関わらず一定である。第１区間Ｌ１内におけるドラッグ操作には、第１倍率ｆ１が設定されている。第１倍率ｆ１は、１より小さい一定値であり、例えば図１９（１）に示すように０．１倍（ｆ１＝０．１）である。
【０１４５】
第２区間Ｌ２は、第１区間Ｌ１の終点Ｌ１ｐから所定の長さ（例えば、１００ｍｍ）の区間である。つまり、この場合、第２区間Ｌ２は、図１９に示すように、操作量５０ｍｍ（第１区間Ｌ１の終点Ｌ１ｐ）から操作量１５０ｍｍ（第２区間Ｌ２の終点Ｌ２ｐ）の区間である。第２区間Ｌ２の長さは、ドラッグ操作の操作量Ｌに関わらず一定である。第２区間Ｌ２内におけるドラッグ操作には、第２倍率ｆ２が設定されている。第２倍率ｆ２は、第１倍率ｆ１よりも大きく、かつ、第３倍率ｆ３よりも小さい値である。すなわち、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量つまり開始地点Ｓｐからの距離Ｌに応じて連続的に増加する変動値である。
【０１４６】
第２倍率ｆ２は、次の（式１）で表すことができる。なお、本実施形態において、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３の範囲内において比例的に増加するが、これに限られない。第２倍率ｆ２は、例えば第１倍率ｆ１から第３倍率ｆ３の範囲内において、２次関数的に増加するものでもよいし、指数関数的に増加するものでもよい。
ｆ２＝０．０９９×（Ｌ−５０）＋０．１・・・（式１）
【０１４７】
第３区間は、第２区間Ｌ２の終点Ｌ２ｐ以降の区間である。つまり、この場合、第３区間Ｌ３は、操作量１５０ｍｍ（第２区間の終点Ｌ２ｐ）以降の区間である。第３区間Ｌ３の長さは、ドラッグ操作の操作量Ｌによって変化する。すなわち、第３区間Ｌ３の長さは、ドラッグ操作の操作量Ｌから、第１区間Ｌ１及び第２区間Ｌ２の長さを減じた値である。第３区間Ｌ３におけるドラッグ操作には、第３倍率ｆ３が設定されている。第３倍率ｆ３は、第１倍率及び第２倍率よりも大きい一定値である。この場合、第３倍率ｆ３は、例えば図１９（１）に示すように、１よりも大きい１０倍（ｆ３＝１０）に設定されている。
【０１４８】
動作指令生成部１６は、第１区間Ｌ１内におけるドラッグ操作について、その操作量Ｌに第１倍率ｆ１を乗じた値を、ロボット２、２２の移動量に設定する。また、動作指令生成部１６は、第２区間Ｌ２内におけるドラッグ操作について、その操作量Ｌに第２倍率ｆ２を乗じた値を、ロボット２、２２の移動量に設定する。また、動作指令生成部１６は、第３区間Ｌ３内におけるドラッグ操作について、その操作量Ｌに第３倍率ｆ３を乗じた値を、ロボット２、２２の移動量に設定する。ユーザは、例えば０．１ｍｍ単位の微細な動作（微動）をロボット２、２２に行わせたい場合は、第１区間Ｌ１の範囲内で、ドラッグ操作を繰り返す。一方、ユーザは、例えば大きな動作（粗動）をロボット２、２２に行わせたい場合は、第１区間Ｌ１及び第２区間Ｌ２を超えて、第３区間Ｌ３までドラッグ操作を行う。
【０１４９】
ドラッグ操作の操作量Ｌに対するロボット２、２２の移動量の変化は、図１９（２）に示すようになる。例えば、ドラッグ操作の操作量Ｌを２００ｍｍとすると、第１区間Ｌ１での操作に対して、ロボット２、２２の移動量は、０．１×５０＝５ｍｍとなる。また、第２区間Ｌ２での操作に対して、ロボット２、２２の移動量は、（（１０−０．１）×１００／２）＋（０．１×１００）＝５０５ｍｍとなる。また、第３区間Ｌ３での操作に対して、ロボット２、２２の移動量は、１０×５０＝５００ｍｍとなる。つまり、第１区間Ｌ１、第２区間Ｌ２、及び第３区間Ｌ３の全区間でのロボット２、２２の移動量は、１０１０ｍｍとなる。したがって、ユーザは、２００ｍｍのドラッグ操作で、ロボット２、２２に対して１０１０ｍｍ移動させることができる。
【０１５０】
この場合、ロボット２、２２の移動量は、各区間において次のように変化する。すなわち、ロボット２、２２の移動量は、第１区間Ｌ１（操作量０ｍｍから５０ｍｍの区間）における操作に対して、１次関数的に増加する。また、ロボット２、２２の移動量は、第２区間Ｌ２（操作量５０ｍｍから１５０ｍｍの区間）における操作に対して、２次関数的に増加する。また、ロボット２、２２の移動量は、第３区間Ｌ３（操作量１５０ｍｍ以上の区間）における操作に対しては、１次関数的に増加する。
【０１５１】
これによれば、ユーザは、第１区間Ｌ１内でドラッグ操作することで、ロボット２、２２を、１より小さい一定の倍率である第１倍率ｆ１で移動させることができる。つまり、ユーザは、第１区間Ｌ１内でドラッグ操作を繰り返すことで、ロボット２、２２に微動をさせることができる。また、ユーザは、第１区間Ｌ１を超えてドラッグ操作することで、第１区間Ｌ１を超えた部分について、ロボット２、２２を、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、第１区間Ｌ１を超えて操作することで、ロボット２、２２に粗動をさせることができる。
【０１５２】
このように、ユーザは、１度のドラッグ操作で、異なる倍率でロボット２、２２を移動させることができる。これによれば、例えばロボット２、２２の微動と粗動との両方の動作を、１回のドラッグ操作で実現することができる。したがって、ユーザは、ロボット２、２２の微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０１５３】
また、本実施形態によれば、移動量決定処理は、ドラッグ操作の指の移動が第１区間Ｌ１を通過してから第２区間Ｌ２を通過するまでは倍率を第２倍率ｆ２に設定し、ドラッグ操作の指の移動が第２区間を通過した後は倍率を一定値である第３倍率ｆ３に設定して、ロボット２、２２の移動量を決定する。これによれば、ユーザは、第１区間Ｌ１内でドラッグ操作を繰り返すことにより、１より小さい第１倍率ｆ１でロボットを微動させることができる。また、ユーザは、第１区間Ｌ１を超えてドラッグ操作を行うことにより、第１倍率ｆ１よりも大きい第２倍率ｆ２又は第３倍率ｆ３でロボット２、２２を粗動させることができる。
【０１５４】
さらに、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量Ｌに応じて連続的に増加する値である。これによれば、第１倍率ｆ１による微動と第３倍率ｆ３による粗動との間の倍率である第２倍率ｆ２が、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量Ｌに応じて連続的に増加する。すなわち、一定値である第１倍率ｆ１と第３倍率ｆ３との間が、連続して変化する第２倍率ｆ２によって繋がれている。そのため、ユーザのドラッグ操作の操作量Ｌに対するロボット２、２２の移動量を決定するための倍率は、第１倍率ｆ１から、次第に変化する第２倍率ｆ２を経て第３倍率ｆ３に切り替わる。これにより、ロボット２、２２の移動量を決定するための倍率が、第１倍率ｆ１から第３倍率ｆ３に急激に切り替わることが防止される。すなわち、ロボット２、２２の移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボット２、２２の急激な速度変化（急動）を防止することができる。その結果、更なる安全性の向上が図られる。
【０１５５】
なお、図２０（１）、（２）に示すように、第１倍率ｆ１を０．０１倍、第３倍率ｆ３を１．０倍とし、第２倍率ｆ２を、第１倍率ｆ１＝０．０１から第３倍率ｆ３＝１．０の範囲内において、次の（式２）で表す値にしてもよい。これによれば、０．０１倍及び０．１倍の倍率を併用することができるため、さらに細かい動作を容易に行うことができる。
ｆ２＝０．００９９×（Ｌ−５０）＋０．０１・・・（式２）
【０１５６】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
ロボットの手動操作を行う際、敢えて複数の動作を同時にミックスして行うことも少なからずあり得る。このようなケースに対応するためには、各動作を行うための操作の線引きを曖昧にすればよい。つまり、この場合、上記各実施形態において、各動作を行うための操作の切り分けを明確化するために実施した工夫を行わなければよい。
【０１５７】
上記のいくつかの実施形態では、本発明のロボット操作装置を、ロボットシステムに用いられる専用のティーチングペンダント４に適用した構成について説明したが、これに限らずともよい。例えば、汎用のタブレット型端末（タブレットＰＣ）やスマートフォン（多機能携帯電話）などに、専用のアプリ（ロボット操作プログラム）をインストールすることにより、上記各実施形態において説明したような機能と同等の機能を実現することも可能である。
【０１５８】
多関節ロボットには、上記各実施形態で説明した４軸水平多関節型のロボット２及び６軸垂直多関節型のロボット２２のみならず、例えば複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、機械的な回転軸に限られず、例えばリニアモータによって駆動する方式も含まれる。
【０１５９】
本発明のロボット操作装置は、４軸水平多関節型のロボット２および６軸垂直多関節型のロボット２２に限らず、種々のロボットを手動操作する際に用いることができる。
【符号の説明】
【０１６０】
図面中、１、２１はロボットシステム、２は４軸型のロボット、４はティーチングペンダント（ロボット操作装置）、１１はケース、１５はタッチ操作検出部、１６は動作指令生成部、１７はタッチパネル、１８は選択操作検出部、２２は６軸型のロボットを示す。
【図１】
0006497021.tif 000002
【図２】
0006497021.tif 000003
【図３】
0006497021.tif 000004
【図４】
0006497021.tif 000005
【図５】
0006497021.tif 000006
【図６】
0006497021.tif 000007
【図７】
0006497021.tif 000008
【図８】
0006497021.tif 000009
【図９】
0006497021.tif 000010
【図１０】
0006497021.tif 000011
【図１１】
0006497021.tif 000012
【図１２】
0006497021.tif 000013
【図１３】
0006497021.tif 000014
【図１４】
0006497021.tif 000015
【図１５】
0006497021.tif 000016
【図１６】
0006497021.tif 000017
【図１７】
0006497021.tif 000018
【図１８】
0006497021.tif 000019
【図１９】
0006497021.tif 000020
【図２０】
0006497021.tif 000021