(57)【要約】【課題】安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現する。【解決手段】  ロボット操作装置４は、タッチパネル１７と、タッチ操作検出部１５と、動作指令生成部１６と、選択操作検出部１８と、を備える。動作指令生成部１６は、操作判断処理と、動作指令生成処理と、を行うことができる。操作判断処理は、選択操作検出部１８で検出した選択操作に基づいて操作対象にするロボット２、２２の駆動軸又は動作態様を決定するとともに、タッチ操作検出部１５で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の移動量を判断する処理である。動作指令生成処理は、操作判断処理で判断したドラッグ操作の移動量に基づいてロボット２、２２の移動量を決定し、その移動量分、操作対象の駆動軸又は動作態様でロボット２、２２を移動させるための動作指令を生成する処理である。【選択図】図２
2015083331.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、
操作対象にする前記ロボットの駆動軸又は動作態様を選択するためのユーザからの選択操作を検出する選択操作検出部と、を備え、
前記動作指令生成部は、
前記選択操作検出部で検出した選択操作に基づいて操作対象にする前記ロボットの駆動軸又は動作態様を決定するとともに、前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の移動量を判断する操作判断処理と、
前記操作判断処理で判断したドラッグ操作の移動量に基づいて前記ロボットの移動量を決定し、その移動量分、操作対象の駆動軸又は動作態様で前記ロボットを移動させるための動作指令を生成する動作指令生成処理と、
を行うことができるロボット操作装置。
【請求項２】
前記選択操作検出部は、前記タッチパネルに表示されたボタン又は前記タッチパネルとは異なるボタンに対する操作を検出するものであり、
前記操作判断処理は、前記選択操作検出部で検出した操作に基づいて、操作対象にする駆動軸又は動作態様を決定する処理を含んでいる、
請求項１に記載のロボット操作装置。
【請求項３】
前記選択操作検出部は、前記タッチパネルに対するタッチ操作を検出するものであり、
前記操作判断処理は、前記選択操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の指の本数若しくは操作方向、又は指の本数及び操作方向に基づいて、操作対象になる駆動軸又は動作態様を決定する処理を含んでいる、
請求項１に記載のロボット操作装置。
【請求項４】
前記操作判断処理は、
検出されたタッチ操作が１本指によるドラッグ操作である第１操作であるか否かを判断する第１操作判断処理と、
検出されたタッチ操作が２本指によるドラッグ操作であって所定の方向への操作である第２操作であるか否かを判断する第２操作判断処理と、
検出されたタッチ操作が２本指によるドラッグ操作であって前記第２操作と異なる方向への操作である第３操作であるか否かを判断する第３操作判断処理と、を含み、
前記動作指令生成処理は、
前記第１操作判断処理において前記第１操作であると判断した場合に前記ロボットの手先を前記ロボットの動作基準面に対して水平な平面方向に移動させるための前記動作指令を生成する水平移動動作指令生成処理と、
前記第２操作判断処理において前記第２操作であると判断した場合に前記ロボットの手先を前記動作基準面と直交する垂直軸方向に沿って移動させるための前記動作指令を生成する垂直移動動作指令生成処理と、
前記第３操作判断処理において前記第３操作であると判断した場合に前記ロボットの手先を回転させるための前記動作指令を生成する回転動作指令生成処理と、
を含んでいる請求項３に記載のロボット操作装置。
【請求項５】
前記第２操作は、２本指による直線方向へのドラッグ操作であって且つ前記ドラッグ操作が行われている期間に各指間の距離が次第に短くなる操作、または次第に長くなる操作であり、
前記第３操作は、２本指による円周方向へのドラッグ操作であり、
前記垂直移動動作指令生成処理は、
前記第２操作が各指間の距離が次第に長くなるものである場合に前記ロボットの手先を前記動作基準面に近づく方向に移動させるための前記動作指令を生成する接近指令生成処理と、
前記第２操作が各指間の距離が次第に短くなるものである場合に前記ロボットの手先を前記動作基準面から離れる方向に移動させるための前記動作指令を生成する離反指令生成処理と、を含む請求項４に記載のロボット操作装置。
【請求項６】
前記第２操作は、前記タッチパネル上における縦方向への操作であり、
前記第３操作は、前記タッチパネル上において前記縦方向に直交する横方向への操作であり、
請求項４に記載のロボット操作装置。
【請求項７】
前記選択操作検出部は、前記タッチパネルに対するタッチ操作を検出するものであり、
前記動作指令生成処理は、検出されたタッチ操作が指によるドラッグ操作である場合に、そのドラッグ操作の指の本数若しくは操作方向、又は指の本数と操作方向とに基づいて複数の前記駆動軸の中から駆動させる一の駆動軸を選択する駆動軸選択処理を含んでいる請求項１に記載のロボット操作装置。
【請求項８】
前記駆動軸選択処理は、
前記ドラッグ操作の操作方向が前記タッチパネル上における縦方向である場合に、前記ロボットの手先を前記動作基準面に対する垂直方向へ移動させる第１群の駆動軸の中から駆動させる一の駆動軸を前記ドラッグ操作の指の本数に基づいて選択する第１駆動軸選択処理と、
前記ドラッグ操作の操作方向が前記タッチパネル上において前記縦方向に直交する横方向又は円周方向である場合に、前記第１群の駆動軸以外の駆動軸の中から駆動させる一の駆動軸を前記ドラッグ操作の指の本数に基づいて選択する第２駆動軸選択処理と、
を含んでいる請求項７に記載のロボット操作装置。
【請求項９】
前記駆動軸選択処理は、前記ドラッグ操作の指の本数の増加に伴い前記ロボットのベース側の駆動軸から前記手先側の駆動軸へ移行するようにして、駆動させる駆動軸を決定する請求項７又は８に記載のロボット操作装置。
【請求項１０】
前記駆動軸選択処理は、前記ドラッグ操作の指の本数の増加に伴い前記ロボットの手先側の駆動軸から前記ベース側の駆動軸へ移行するようにして、駆動させる駆動軸を決定する請求項７又は８に記載のロボット操作装置。
【請求項１１】
前記動作指令生成部は、
タッチ操作された箇所が１つ検出されると、その検出時点から所定の許容遅延時間が経過した後に前記タッチ操作の指の本数を判断する請求項１から１０のいずれか一項に記載のロボット操作装置。
【請求項１２】
前記動作指令生成部は、
複数本の指によるタッチ操作において、前記複数本の指のうち指のタッチ位置の距離が最も遠い２本の指を抽出し、その２本の指のいずれかの指の移動に係るベクトルと、前記２本の指間のベクトルとが成す角度が判定閾値未満である場合には、そのドラッグ操作が円周方向への操作でないと判断し、前記角度が判定閾値以上である場合には、そのドラッグ操作が円周方向への操作であると判断する請求項１から１１のいずれか一項に記載のロボット操作装置。
【請求項１３】
前記選択操作検出部は、前記タッチパネルに対するタッチ操作を検出するものであり、
前記動作指令生成部は、前記ドラッグ操作の方向を前記ロボットの駆動軸又は動作態様毎に異なる方向になるように割り振っている請求項１に記載のロボット操作装置。
【請求項１４】
前記動作指令生成部は、
ドラッグ操作を検出した場合にそのドラッグ操作が終了するまでの期間そのタッチ操作によるタッチ箇所の近傍における所定範囲内の領域に対するタッチ操作の検出を無効化する請求項１から１３のいずれか一項に記載のロボット操作装置。
【請求項１５】
ユーザからのタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、
前記ロボットの複数の駆動軸又は動作態様のうち、前記ロボットの手先の位置に寄与する駆動軸又は動作態様を操作するための主操作と、前記ロボットの手先の姿勢に寄与する駆動軸又は動作態様を操作するための副操作と、を切り替えることができる切替部と、を備えるロボット操作装置。
【請求項１６】
前記タッチパネルは、１方向又は互いに直交する２方向への操作を前記タッチ操作検出部によって検出することができる第１領域と第２領域とに分かれており、
前記動作指令生成部は、前記タッチ操作検出部で検出したドラッグ操作が、第１領域に対するものである場合と、第２領域に対するものである場合とで、それぞれ異なる駆動軸又は動作態様を行うための動作指令を生成する、
請求項１から１５のいずれか一項に記載のロボット操作装置。
【請求項１７】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチパネルの傾きを検出することでユーザからの傾き操作の入力を検出することができる傾き操作検出部と、
複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備え、
前記動作指令生成部は、
前記タッチ操作検出部で検出されたタッチ操作に基づいて前記ロボットの手先を前記ロボットの動作基準面に対して水平な平面方向に移動させるための前記動作指令を生成する水平移動動作指令生成処理と、
前記傾き操作検出部で検出された傾き操作に基づいて前記ロボットの手先を前記動作基準面と直交する垂直軸方向に沿って移動させるための前記動作指令を生成する垂直移動動作指令生成処理と、
を行うことができるロボット操作装置。
【請求項１８】
前記動作指令生成部は、前記傾き操作検出部で検出された傾き操作の傾き量に応じて前記ロボットの移動速度又は移動量を増減する請求項１７に記載のロボット操作装置。
【請求項１９】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備え、
前記タッチパネルは、操作対象にする前記ロボットの駆動軸又は動作態様を選択するための操作を受け付ける動作選択領域と、前記ロボットの移動量を決定するための操作を受け付ける移動量決定領域と、を有しているロボット装置。
【請求項２０】
前記動作選択領域に対する操作の受け付けを開始するための開始操作を検出する開始操作検出部を更に備え、
前記動作指令生成部は、前記開始操作検出部で前記開始操作を検出した後に前記動作選択領域に対するタッチ操作を受け付けるようにする、
請求項１９に記載のロボット操作装置。
【請求項２１】
前記ロボットの動作を選択するための操作は、前記タッチパネルに対して前記駆動軸又は前記動作態様に対応する数字、文字、又は記号を入力する操作である請求項１９又は２０に記載のロボット装置。
【請求項２２】
前記動作指令生成部は、
前記動作選択領域に対する操作が検出された場合に、その操作が終了するまでの期間は前記移動量決定領域に対する操作の検出を無効化する請求項１９から２１のいずれか一項に記載のロボット操作装置。
【請求項２３】
前記動作指令生成部は、
前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する操作判断処理と、
前記操作判断処理で判断した指の移動量に基づいて前記ロボットの移動速度を算出する速度算出処理と、
前記速度算出処理で算出した移動速度で前記ロボットを移動させるための動作指令を生成する動作指令生成処理と、
を行うことができる請求項１から２２のいずれか一項に記載のロボット操作装置。
【請求項２４】
前記動作指令生成部は、前記指の移動量に基づいて前記ロボットの移動距離を算出する移動量算出処理を行うことができ、
前記速度算出処理は、前記指の移動量を前記ドラッグ操作の入力に要した時間で除した値に基づいて前記ロボットの移動速度を決定する処理である請求項２３に記載のロボット操作装置。
【請求項２５】
前記動作指令生成部は、前記ドラッグ操作が行われている間は一定の周期で前記操作判断処理と前記速度算出処理と前記動作指令生成処理とを行うことができる、
請求項２３又は２４に記載のロボット操作装置。
【請求項２６】
前記動作指令生成部は、
前記タッチ操作検出部で検出したドラッグ操作の指の移動量を判断する操作判断処理と、
前記操作判断処理で判断した前記ドラッグ操作の指の移動量を拡大又は縮小して前記ロボットの移動量を決定するための倍率について、前記ドラッグ操作が操作開始地点から第１区間を通過するまでは前記倍率を１より小さい一定の値である第１倍率に設定し、前記ドラッグ操作が前記第１区間を通過した後は前記倍率を前記第１倍率より大きい値に設定して、前記ロボットの移動量を決定する移動量決定処理と、
を行うことができる請求項１から２５のいずれか一項に記載のロボット操作装置。
【請求項２７】
前記移動量決定処理は、前記ドラッグ操作の指の移動が前記第１区間を通過してから第２区間を通過するまでは前記倍率を第２倍率に設定し、前記ドラッグ操作の指の移動が前記第２区間を通過した後は前記倍率を一定値である第３倍率に設定して、前記ロボットの移動量を決定する処理であり、
前記第２倍率は、前記第１倍率から前記第３倍率までの範囲で、前記ドラッグ操作の指の移動量に応じて連続的に増加する値である、
請求項２６に記載のロボット操作装置。
【請求項２８】
前記タッチ操作検出部は、
ユーザによる手持ちが可能なケースに設けられたタッチパネルに対するタッチ操作を検出するものであり、
前記タッチパネルのうち、ユーザが前記ケースを手持ちする際に把持することが想定される把持部に隣接する所定範囲の領域に対するタッチ操作については検出対象から除外する請求項１から２７のいずれか一項に記載のロボット操作装置。
【請求項２９】
４軸水平多関節型のロボットと、
前記ロボットの動作を制御するコントローラと、
請求項１から２８のいずれか一項に記載のロボット操作装置と、
を備えていることを特徴とするロボットシステム。
【請求項３０】
６軸垂直多関節型のロボットと、
前記ロボットの動作を制御するコントローラと、
請求項１から２８のいずれか一項に記載のロボット操作装置と、
を備えていることを特徴とするロボットシステム。
【請求項３１】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチパネルと同一又は別体に設けられユーザからの選択操作を検出する選択操作検出部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
複数の駆動軸を有する多関節型のロボットの操作対象になる駆動軸又は動作態様を前記選択操作検出部で検出した操作に基づいて決定するとともに、前記タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の移動量を判断する操作判断処理と、
前記操作判断処理で判断したドラッグ操作の移動量に基づいて前記ロボットの移動量を決定し、その移動量分、操作対象の駆動軸又は動作態様で前記ロボットを移動させるための動作指令を生成する動作指令生成処理と、
を実行させるロボット操作プログラム。
【請求項３２】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
複数の駆動軸を有する多関節型ロボットを動作させるための動作指令を生成する動作指令生成処理と、
前記ロボットの複数の駆動軸又は動作態様のうち、前記ロボットの手先の位置に寄与する駆動軸又は動作態様を操作するための主操作と、前記ロボットの手先の姿勢に寄与する駆動軸又は動作態様を操作するための従操作と、を切り替える切替処理と、
を実行させることができるロボット操作プログラム。
【請求項３３】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
前記タッチパネルの傾きを検出することでユーザからの傾き操作の入力を検出することができる傾き操作検出部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
前記タッチ操作検出部で検出されたタッチ操作に基づいて複数の駆動軸を有する多関節型のロボットの手先を前記ロボットの動作基準面に対して水平な平面方向に移動させるための前記動作指令を生成する水平移動動作指令生成処理と、
前記傾き操作検出部で検出された傾き操作に基づいて前記ロボットの手先を前記動作基準面と直交する垂直軸方向に沿って移動させるための前記動作指令を生成する垂直移動動作指令生成処理と、
を実行させるロボット操作プログラム。
【請求項３４】
ユーザからタッチ操作の入力を受けるタッチパネルと、
前記タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、
を備えるロボット操作装置に組み込まれたコンピュータに実行されるロボット操作プログラムであって、
前記コンピュータに、
前記タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型ロボットを動作させるための動作指令を生成する動作指令生成処理と、
前記タッチパネルに、操作対象にする前記ロボットの駆動軸又は動作態様を選択するための操作の入力を受け付ける動作選択領域と、前記ロボットの移動量を決定するための操作の入力を受け付ける移動量決定領域と、を形成する処理と、
を実行させるロボット操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットを手動操作する際に用いられるロボット操作装置、そのロボット操作装置を備えたロボットシステム、及びそのロボットシステムに用いられるロボット操作プログラムに関する。
【背景技術】
【０００２】
例えば産業用のロボットシステムにおいては、ロボットを手動により動作させること（マニュアル動作）が可能となっている。このような動作は、例えば教示作業（ティーチング）などを行う際に利用される。この場合、ユーザは、ロボットを制御するコントローラに接続されたペンダント（ティーチングペンダント）などを用いて、手動でロボットの操作を行うことになる。そのため、ペンダントには、手動操作を行うための専用の各種操作キー（機械的なスイッチからなるキー）が設けられている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１４２４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ペンダントの表示部には、タッチ操作可能なタッチパネルが用いられることが多い。上記手動操作を、このようなタッチパネルなどを利用したタッチ操作により行えるようにすれば、専用の操作キーを設ける必要が無くなり、ペンダントの小型化（あるいは表示部の画面サイズの拡大）、低価格化などを実現できるといった効果が期待できる。しかし、専用の操作キーと同様のタッチスイッチをタッチパネル上に形成するといった単純な置き換えだけでは、次のような問題が生じる。
【０００５】
すなわち、物理的な操作キーの場合、ユーザは、その操作の熟練度にもよるが、ペンダントを直視しなくても、操作しようとする操作キーの位置を手探りで把握することが可能である。これに対し、タッチパネル上に形成されるタッチスイッチの位置は、操作キーとは異なり、手探りで把握することはできない。ロボットの手動操作が行われる際、ユーザがロボットから視線を逸らさないつまりペンダントを直視しないということは、安全性の面から極めて重要なことである。しかし、操作キーを単純にタッチスイッチに置き換えた場合、ユーザは、操作の度にペンダントの表示部を見る必要が生じ、その際にはロボットから視線を逸らさざるを得ないため、安全性が低下するおそれがある。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができるロボット操作装置、そのロボット操作装置を備えたロボットシステム、及びそのロボットシステムに用いられるロボット操作プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
（請求項１）
請求項１に記載のロボット操作装置は、ユーザからタッチ操作の入力を受けるタッチパネルと、タッチパネルに入力された平面方向のタッチ操作を検出することができるタッチ操作検出部と、タッチ操作検出部の検出結果に基づいて複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する動作指令生成部と、を備える。つまり、ロボット操作装置は、ロボットの手動操作をタッチ操作により実現するものである。このロボット操作装置の操作対象となるロボットは、複数の駆動軸を有する多関節型のロボットである。多関節型のロボットを手動操作する場合、ロボットの手先を基準として複数の駆動軸を組み合わせて駆動させるか、又は各駆動軸を個別に駆動させるか、のいずれかの態様が考えられる。以下の説明では、前者のロボットの手先を基準とした態様を手先系の動作と称し、後者の各駆動軸を個別に駆動させる態様を各軸系の動作と称する。
【０００８】
一般に、ロボットの手動操作は、例えばロボットの調整の最終段階における微調整のために用いられることが多い。そのため、ロボットの手動操作においては、ロボットの手先を基準とした細かい動作が可能であれば十分である。この場合、手先系の動作では、水平移動動作と称するロボットの手先をロボットの動作基準面に対して水平な平面方向に移動させる動作と、垂直移動動作と称するロボットの手先を動作基準面と直交する垂直軸方向に移動させる動作と、回転動作と称するロボットの手先を垂直軸回り方向へ回転させる動作と、を実行可能であれば十分であると考えられる。
【０００９】
したがって、ロボット操作装置は、手先系の動作を実行する場合、少なくとも３つの動作態様、すなわち水平移動動作と、垂直移動動作と、回転動作と、を適宜切り替えて動作させることができるようにする必要がある。また、ロボット操作装置は、各軸系の動作を行おうとする場合、各駆動軸を適宜切り替えて動作させることができるようにする必要がある。しかし、一般的なタッチパネルは、画面をＸ−Ｙ平面とした場合のＸ方向及びＹ方向の入力、すなわちユーザが画面をなぞるような２次元の入力を検出するものが多い。したがって、ロボット操作装置にタッチパネルを採用する場合、２次元の入力つまり２種類の操作入力で、複数種類の動作を切り替えて実行可能にすることが必要である。しかも、その操作は、ユーザにとって直感的で、かつ極力画面を直視せずに行えることが要求される。
【００１０】
そこで、請求項１に記載のロボット操作装置は、選択操作検出部を備える。選択操作検出部は、操作対象にするロボットの駆動軸又は動作態様を選択するためのユーザからの選択操作を検出するためのものである。そして、動作指令生成部は、操作判断処理と、動作指令生成処理と、を行うことができる。操作判断処理は、選択操作検出部で検出した選択操作に基づいて操作対象にするロボットの駆動軸又は動作態様を決定する処理である。また、操作判断処理は、タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の移動量を判断する処理である。
【００１１】
ここで、ドラッグ操作とは、ユーザの指でタッチパネルをタッチした状態のままその指を移動させる操作である。すなわち、ドラッグ操作は、ユーザの指がタッチパネルに接触した状態で一定距離連続して移動させる操作である。ドラッグ操作であるか否かの判断には、その軌跡が直線状であるか曲線状であるかの判断は含まれない。すなわち、ドラッグ操作には、直線状の操作のみならず、曲線状の操作も含まれる。ドラッグ操作は、タッチパネル上において、操作の始点と終点が決まればよい。操作の始点とは、タッチパネル上においてユーザが指をタッチした位置である。操作の終点とは、タッチパネルからユーザが指を離した位置である。この場合、ドラッグ操作には、いわゆるフリック操作と称される、ユーザがタッチパネル上で指を弾くような操作も含まれる。また、ロボットの移動量には、実際にロボットが移動する量つまりロボットの移動距離のみならず、ロボットの移動速度又は移動時間も含まれる。これは、移動速度と移動時間とが決定されれば、移動距離が決定するためである。
【００１２】
請求項１に記載のロボット操作装置によれば、ユーザは、選択操作を行うことで、ロボットの操作対象となる駆動軸又は動作態様を選択することができる。また、ユーザは、タッチパネルにドラッグ操作を行うことで、そのドラッグ操作の移動量に応じて、ロボットの移動量を決定することができる。ドラッグ操作は、ユーザの指が直接又は間接的にタッチパネルに触れて行われる。そのため、ユーザは、そのドラッグ操作の操作量などの情報を、触覚を通して直接得やすい。すなわち、ユーザは、ドラッグ操作の操作量を、視覚を通じなくても、比較的高い精度で得ることができる。したがって、ユーザは、少なくともロボットの移動量を決定するための操作については、画面を直視することなく感覚的に行うことができる。そのため、ロボット操作装置は、タッチパネルを採用しつつ、ユーザが画面を直視しなくても直感的な操作を可能にすることができる。その結果、操作性の向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００１３】
（請求項２）
請求項２に記載のロボット操作装置において、選択操作検出部は、タッチパネルに表示されたボタン又はタッチパネルとは異なるボタンに対する操作を検出するものである。また、操作判断処理は、選択操作検出部で検出した操作に基づいて、操作対象にする駆動軸又は動作態様を決定する処理を含んでいる。これによれば、ユーザは、タッチパネル上に表示されたボタン又はタッチパネルとは異なるボタンに対して操作をすることで、操作対象にする駆動軸又は動作態様を選択することができる。
【００１４】
この場合、ユーザは、これらのボタンを操作するために、若干の間、これらのボタンを直視する可能性もある。しかし、通常のロボットの使用態様において、操作対象にする駆動軸又は動作態様を選択する（切り替える）ための操作は、ロボットの駆動前つまりロボットが実際に動作していない時に行われることがほとんどである。また、これらのボタンの形状や大きさ、色等の設定を工夫することにより、ユーザがボタンを直視する時間を短縮することもできる。したがって、ユーザが、タッチパネル上に表示されたボタン又はタッチパネルとは異なるボタンを操作するために、若干の間それらのボタンを直視しても、安全性の低下への影響は少ないと考えられる。
【００１５】
むしろ、このような構成によれば、ユーザには、駆動軸又は動作態様を切り替えるためにボタンを操作する、という意志が働く。したがって、ユーザは、これらのボタンに対する操作が、操作対象にする駆動軸又は動作態様を選択するための操作であることを意識し易くなる。したがって、これによれば、ユーザが誤った操作をすることにより、誤った操作対象が選択されてロボットの誤作動を招く危険性が低減される。よって、操作性の向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００１６】
（請求項３）
請求項３に記載のロボット操作装置によれば、選択操作検出部は、タッチパネルに対するタッチ操作を検出するものである。また、操作判断処理は、選択操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の指の本数若しくは操作方向、又は指の本数及び操作方向に基づいて、操作対象になる駆動軸又は動作態様を決定する処理を含んでいる。
【００１７】
これによれば、ユーザは、ドラッグ操作の指の本数若しくは操作方向、又は指の本数及び操作方向を変えることで、ロボットの動作を切り替えることができる。したがって、ロボット操作装置は、タッチパネルを採用しつつ、ユーザが画面を直視しなくても直感的な操作を可能にすることができる。その結果、操作性の向上が図られ、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【００１８】
（請求項４）
請求項４に記載のロボット操作装置よれば、ユーザは、１本又は２本指のドラッグ操作によって、手先系の動作で多用される動作、具体的には、水平移動動作、垂直移動動作、及び手先の回転動作を行うことができる。すなわち、このロボット操作装置によれば、ユーザは、１本の指によるドラッグ操作によって、ロボットに水平移動動作を行わせることができる。また、ユーザは、２本指によるドラッグ操作によって、ロボットに垂直移動動作または回転動作を行わせることができる。
【００１９】
上述したような各動作を実現するため、動作指令生成部は、第１操作判断処理と、第２操作判断処理と、第３操作判断処理と、を含んでいる。第１操作判断処理は、検出されたタッチ操作が１本指によるドラッグ操作である第１操作であるか否かを判断する処理である。第２操作判断処理は、検出されたタッチ操作が２本指によるドラッグ操作であって所定の方向への操作である第２操作であるか否かを判断する処理である。第３操作判断処理は、検出されたドラッグ操作が２本指によるドラッグ操作であって第２操作と異なる方向への操作である第３操作であるか否かを判断する処理である。
【００２０】
また、動作指令生成部は、動作指令生成処理として、水平移動動作指令生成処理と、垂直移動動作指令生成処理と、回転動作指令生成処理と、を行う。水平移動動作指令生成処理は、第１操作判断処理において第１操作であると判断した場合にロボットの手先をロボットの動作基準面に対して水平な平面方向に移動させるための動作指令を生成する処理である。垂直移動動作指令生成処理は、第２操作判断処理において第２操作であると判断した場合にロボットの手先を動作基準面と直交する垂直軸方向に沿って移動させるための動作指令を生成する処理である。回転動作指令生成処理は、第３操作判断処理において第３操作であると判断した場合にロボットの手先を回転させるための動作指令を生成する処理である。動作指令生成処理において生成した上記各動作指令は、コントローラへ送信される。そして、コントローラは、上記各動作指令に基づいてロボットの動作を制御する。これにより、水平移動動作と、垂直移動動作と、回転動作と、が適宜実行される。
【００２１】
この記載のロボット操作装置は、所定の操作が行われると、その操作からユーザが連想し易いと考えられる動作をロボットに実行させるようになっている。すなわち、上記したように、ロボット操作装置は、１本の指によるドラッグ操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、手先の水平移動動作をロボットに実行させるようになっている。この操作からロボットの手先の水平移動動作が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。すなわち、タッチ操作の対象となるタッチパネルは、一般的に平面であり２次元の座標系が形成されている。そして、１本指によるドラッグ操作が行われる場合、そのような平面に沿って１つのタッチ箇所が移動するという形態となる。つまり、この場合、１本指によるタッチ箇所が平面上を移動するということとロボットが平面方向に移動するということに密接な関連性があると考えられる。したがって、ユーザは、ロボットの手先の水平移動と、画面上の平面方向への操作とを、関連して認識し易い。
【００２２】
（請求項５）
請求項５に記載のロボット操作装置において、上述の第２操作は、２本指による直線方向へのドラッグ操作であって且つそのドラッグ操作が行われている期間に各指間の距離が次第に短くなる操作、または次第に長くなる操作である。この場合、直線方向へのドラッグ操作とは、タッチパネルの画面上の任意の直線方向への操作を意味し、画面に対して縦方向、横方向、斜め方向等の相対的な関係は問わない。また、上述の第３操作は、２本指による円周方向へのドラッグ操作である。この場合、円周方向へのドラッグ操作とは、２本指によるドラッグ操作のうち少なくとも一方に回転成分が含まれている操作を意味する。
【００２３】
そして、垂直移動動作指令生成処理は、接近指令生成処理と、離反指令生成処理と、を含んでいる。接近指令生成処理は、第２操作が各指間の距離が次第に長くなるものである場合にロボットの手先を動作基準面に近づく方向すなわち下方へ移動させるための動作指令を生成する処理である。離反指令生成処理は、第２操作が各指間の距離が次第に短くなるものである場合にロボットの手先を動作基準面から離れる方向すなわち上方へ移動させるための動作指令を生成する処理である。垂直移動動作指令生成処理によって生成された動作指令は、通信部からコントローラへ送信される。そして、通信部から動作指令を受けたコントローラは、その動作指令に基づいてロボットの動作を制御する。これにより、上方又は下方への垂直移動動作が実行される。
【００２４】
上記したように、ロボット操作装置は、２本指による直線方向へのドラッグ操作であって且つそのドラッグ操作が行われている期間に各指間の距離が次第に長くなる操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、手先の下方への垂直移動動作をロボットに実行させるようになっている。２本の指の間の距離が次第に長くなるように行われるドラッグ操作から、ロボットの手先の下方向への垂直移動動作が連想されるという根拠は、次の２つの点にある。このような操作が行われる際、２本の指を押し広げるような形態となる。そして、その押し広げるということがユーザに下方向への移動を連想させると考えられる。これが、１つ目の根拠である。また、上述した操作は、一般にはスプレッド操作又はピンチアウト操作と呼ばれ、画像などを拡大する際に用いられることが多い。そして、ロボットの手先に動作基準面に配置されたワークなどの対象物を撮影するためのカメラが取り付けられている場合であれば、手先が下方向へ移動すると、カメラによる撮影画像が拡大されることになる。つまり、この場合、各指間の距離が長くなるすなわち２本の指の間隔が広がるということと、画像が拡大するということに強い関連性がある。これが、２つ目の根拠である。
【００２５】
また、上記したように、ロボット操作装置は、２本指による直線方向へのドラッグ操作であって且つそのドラッグ操作が行われている期間に各指間の距離が次第に短くなる操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、手先の上方への垂直移動動作をロボットに実行させるようになっている。この２本の指の間の距離が次第に短くなるように行われるドラッグ操作から、ロボットの手先の上方向への垂直移動動作が連想されるという根拠は、次の２つの点にある。このような操作が行われる際、２本の指を吊り上げるような形態となる。そして、その吊り上げるということがユーザに上方向への移動を連想させると考えられる。これが、１つ目の根拠である。また、上述した操作は、一般にはピンチ操作又はピンチイン操作と呼ばれ、画像などを縮小する際に用いられることが多い。そして、ロボットの手先に前述したカメラが取り付けられている場合であれば、手先が上方向に移動すると、カメラによる撮影画像が縮小されることになる。つまり、この場合、各指間の距離が短くなるすなわち２本の指の間隔が狭くなるということと、画像が縮小するということに強い関連性がある。これが、２つ目の根拠である。
【００２６】
また、上記したように、ロボット操作装置は、２本指による円周方向へのドラッグ操作すなわち２本指のいずれかによる回転操作が行われると、その操作からユーザが連想し易いと考えられる動作、この場合、手先の回転動作をロボットに行うようになっている。２本指のいずれかによる回転操作から回転動作が連想されるという根拠は、次の点にある。すなわち、ロボットの手先部分には、例えばフランジなどの円筒形の部材が取り付けられていることが多い。つまり、ロボットの手先は、丸みを帯びた形状になっていることが多い。そして、回転操作が行われる場合、手先が円弧を描きながら回転するといった形態となる。つまり、この場合、その手先が円弧を描きながら回るということが、ユーザに対し、丸みを帯びたものを回転させる、つまりロボットの手先を回転させるということを連想させると考えられる。
【００２７】
このように、ロボット操作装置を用いた各操作は、その操作により実行されるロボットの動作をユーザが直感的に連想可能であり、且つシンプルな操作となっている。そのため、ユーザは、自身の手元つまり操作箇所を見ることなく、各操作を行うことができる。従って、ロボットの手動操作が行われる際、ユーザがロボットから視線を逸らすことがなくなり、その安全性を良好に維持することができる。このように、本手段によれば、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができるという優れた効果が得られる。
【００２８】
（請求項６）
請求項６に記載のロボット操作装置において、第２操作は、タッチパネル上における縦方向への操作である。また、第３操作は、タッチパネル上において前記縦方向に直交する横方向への操作である。この場合、タッチパネル上における縦方向とは、ロボット操作装置を持ったユーザに対して離接する方向を意味する。また、タッチパネル上における横方向とは、ロボット操作装置を持ったユーザに対して平行方向を意味する。
【００２９】
このロボット操作装置は、２本指による直線方向の操作が行われると、その操作からユーザが連想し易いと考えられる動作をロボットに実行させるようになっている。この場合、ロボット操作装置は、２本指によるドラッグ操作であって縦方向への操作（第２操作）が行われた場合には、ロボットの手先を垂直方向へ移動させる垂直移動動作を行わせるようになっている。この操作からロボットの手先の垂直移動動作が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。すなわち、ユーザは、ロボット操作装置を、ユーザの腰から胸の間で持つことが多い。そしてこの場合、画面の視認性やタッチパネルの操作性を考慮すると、ユーザは、タッチパネルの画面がユーザ側へ向かって下方に傾斜するような姿勢で、ロボット操作装置を持つことが自然である。このような姿勢でユーザがロボット操作装置を持つと、ロボット操作装置の画面の縦方向つまり上下方向と、ロボットの手先の垂直方向つまり上下方向とが一致する。したがって、ユーザは、タッチパネルの画面上の縦方向への操作と、ロボットの手先の垂直移動動作とを、関連して認識し易い。
【００３０】
また、ロボット操作装置は、２本指によるドラッグ操作であって横方向への操作（第３操作）が行われた場合には、ロボットの手先を回転させる回転動作を行わせるようになっている。この操作からロボットの手先の回転動作が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。すなわち、ロボットの手動操作は、ロボットの微調整のために行われることが多い。そのため、手動操作の際に、ロボットの手先は、下方を向いていることが多い。この場合、手先の回転軸は、水平面に対して直角すなわち垂直方向へ向いている。この状態でロボットの手先を水平方向に見た場合、ロボットの手先が回転することで、ロボットの手先のある一点が水平方向に直線的に移動しているように見える。そのため、ユーザは、タッチパネルに対する横方向への操作が、ロボットの手先の回転動作を連想させると考えられる。したがって、ユーザは、タッチパネルに対する横方向への操作と、ロボットの手先の回転動作とを、関連して認識し易い。
【００３１】
（請求項７）
請求項５に記載のロボット操作装置において、選択操作検出部は、タッチパネルに対するタッチ操作を検出するものである。また、動作指令生成処理は、駆動軸選択処理を含んでいる。駆動軸選択処理は、検出されたタッチ操作が指によるドラッグ操作である場合に、そのドラッグ操作の指の本数若しくは操作方向、又は指の本数と操作方向とに基づいて複数の前記駆動軸の中から駆動させる一の駆動軸を選択する処理である。すなわち、このロボット操作装置は、ドラッグ操作の指の本数若しくは操作方向、又は指の本数と操作方向とを変えることによって、各軸系の動作において各駆動軸を切り替えて動作させることができる。これにより、ロボット操作装置にタッチパネルを採用した場合であっても、各軸系の動作を問題無く行うことができる。さらに、ユーザは、ドラッグ操作の指の本数若しくは操作方向、又は指の本数と操作方向とを変えることで、直感的に駆動軸を切り替えることができる。したがって、ロボット操作装置は、タッチパネルを採用しつつ、ユーザが画面を直視しなくても直感的な操作を可能にすることができる。
【００３２】
（請求項８）
請求項８に記載のロボット操作装置において、駆動軸選択処理は、第１駆動軸選択処理と、第２駆動軸選択処理と、を含んでいる。第１駆動軸選択処理は、ドラッグ操作の操作方向がタッチパネル上における縦方向である場合に、第１群の駆動軸の中から駆動させる一の駆動軸を選択する処理である。この場合、第１群の駆動軸とは、ロボットの手先を、ロボットの動作基準面に対する垂直方向へ移動させることができる駆動軸を意味する。また、第２駆動軸選択処理は、検出されたドラッグ操作の操作方向がタッチパネル上において縦方向に直交する横方向又は円周方向である場合に、第１群の駆動軸以外の駆動軸の中から駆動させる一の駆動軸を選択する処理である。
【００３３】
上述したように、ユーザは、タッチパネルの画面上の縦方向への操作と、ロボットの手先の垂直方向への動作とを、関連して認識し易い。また、上述したように、ユーザは、タッチパネルの画面上の横方向又は円周方向への操作と、ロボットの手先の回転動作とを、関連して認識し易い。すなわち、請求項６に記載のロボット操作装置によれば、軸毎に駆動軸を動作させる際に、手先の移動方向と、操作方向とを関連して認識し易くなる。したがって、このロボット操作装置によれば、操作性の更なる向上が図られる。
【００３４】
（請求項９）
請求項９に記載のロボット操作装置において、駆動軸選択処理は、ドラッグ操作の指の本数の増加に伴いロボットのベース側の駆動軸から手先側の駆動軸へ移行するようにして、駆動させる駆動軸を決定する。一般に、多関節型のロボットの駆動軸は、ベース側の手先側へ向かって順に、第１軸、第２軸、第３軸・・・と軸の番号が増加するように設定される。この場合、ユーザは、操作に要する指の本数を増加させることで、駆動させる軸の番号を増加させることができる。そのため、ユーザは、操作に要する指の本数と、駆動させる駆動軸との関連を認識し易くなる。
【００３５】
また、多関節型のロボットにおいては、駆動される駆動軸がベース側に近づくほど、その駆動が手先へ与える影響つまり手先の移動量は大きくなる。一方、ユーザは、操作に要する指の本数が少なくなるほど、より精密な操作を行うことができると考えられる。このロボット操作装置では、ユーザは、駆動させる駆動軸がベース側に近づくほどすなわちロボットの手先への影響が大きい駆動軸ほど、少ない指の本数で精密な操作ができるようになっている。これらの結果、操作性の更なる向上が図られる。
【００３６】
（請求項１０）
請求項１０に記載のロボット操作装置において、駆動軸選択処理は、ドラッグ操作の指の本数の増加に伴いロボットの手先側の駆動軸からベース側の駆動軸へ移行するようにして、駆動させる駆動軸を決定する。すなわち、請求項８に記載の駆動軸選択処理は、請求項７に記載の駆動軸選択処理と逆の順番で駆動軸を決定する。ロボットの手動操作は、ロボットの手先の位置の微調整に用いられることが多い。したがって、ロボットの各軸系の手動操作では、ベース側の駆動軸に比べて、ロボットの手先に近い駆動軸の方が、より多く駆動されると予想できる。このロボット操作装置では、ユーザは、駆動させる駆動軸がロボットの手先に近づくほどすなわちより多く駆動される駆動軸ほど、少ない指の本数で精密な操作ができるようになっている。この結果、操作性の更なる向上が図られる。
【００３７】
ユーザは、ロボットの手動操作を行う際、ロボットが意図したとおりに動作しているか否かを確認し易くするため、各動作（水平移動動作、垂直移動動作および回転動作）を、それぞれ独立して実行することが多い。例えば、最初に平面移動を行い、続いて垂直移動動作を行い、最後に回転動作を行う、といった具合である。このような事情から、ロボットの手動操作が行われる際、敢えて複数の動作が同時に（ミックスして）行われることは少ない。従って、ロボットの手動操作が行われる際には、複数の動作の同時実行を許容しないほうが望ましい。そのためには、各動作を行うための操作の線引き（切り分け）を明確にする必要がある。各動作を行うための操作の線引きが曖昧であると、複数の動作がミックスされた動作が行われ、その結果、ユーザの意図しない動作が行われる（誤動作が生じる）可能性が高まるからである。このような誤動作が発生する可能性を一層低く抑えるべく、各操作の切り分けを明確にするためには、請求項９から１１に記載の手段を採用するとよい。
【００３８】
（請求項１１）
請求項１１に記載のロボット操作装置によれば、動作指令生成部は、タッチ操作された箇所が１つ検出されると、その検出時点から所定の許容遅延時間が経過した後にタッチ操作の指の本数を判断する。ユーザが複数本の指によるタッチ操作を行った場合、それら複数本の指によるタッチのタイミングが完全に一致することは難しい。そのため、例えばある動作を行うべく、２本の指によるタッチ操作が行われたとしても、一方の指によるタッチが行われた時点において、一旦、意図しない他の動作が行われ、その後、他方の指によるタッチが行われた時点において、本来意図する動作が行われることになる。
【００３９】
このロボット操作装置によれば、複数本の指によるタッチのタイミングのずれが、許容遅延時間未満であれば、その複数本の指によるドラッグ操作であると判断される。つまり、複数本の指によるタッチのタイミングのずれが許容遅延時間までは許容される。そのため、人間の操作によるタイミングのずれとして考えられる最大値などに基づいて許容遅延時間を設定しておけば、一旦、意図しない動作が行われるといった誤動作の発生を確実に防止することができる。
【００４０】
（請求項１２）
請求項１２に記載のロボット操作装置によれば、動作指令生成部は、複数本の指によるドラッグ操作が、円周方向への操作であるか否かについて次のように判断する。すなわち、動作指令生成部は、複数本の指によるタッチ操作において、その複数本の指のうち指のタッチ位置の距離が最も遠い２本の指を抽出する。そして、動作指令生成部は、その２本の指のいずれかの指の移動に係るベクトルと、その２本の指間のベクトルとが成す角度が判定閾値未満である場合、そのドラッグ操作が円周方向への操作でないと判断し、上記角度が判定閾値以上である場合、そのドラッグ操作が円周方向への操作であると判断する。
【００４１】
ユーザが、ある動作を行うべく、例えば複数本の指によるドラッグ操作を行う際、各指を完全に直線状に移動させることは難しい。そのため、ユーザが、ある動作を行うべく、複数本の指を直線状に移動させようとした場合であっても、いずれかの指が僅かでも直線状に移動しなかった場合には、そのドラッグ操作が円周方向への操作であると判断されるおそれがある。この場合、意図しない他の動作が行われることになる。
【００４２】
すなわち、このロボット操作装置によれば、例えば２本の指が完全に直線状に移動せず、多少の曲線つまり円弧を描くように移動したとしても、そのドラッグ操作は、２本指による直線状のドラッグ操作であると判断される。そのため、人間の操作によるずれ（直線に対してどの程度曲がるか、ということ）として考えられる最大値などに基づいて判定閾値を設定しておけば、複数本の指による直線方向へのドラッグ操作が、円周方向への操作であると判断されて、意図しない他の動作が行われるといった誤作動の発生を抑制することができる。
【００４３】
（請求項１３）
請求項１３に記載のロボット操作装置によれば、選択操作検出部は、タッチパネルに対するタッチ操作を検出するものである。すなわち、ユーザは、タッチパネルに対してタッチ操作をすることにより、操作対象にするロボットの駆動軸又は動作態様を選択することができる。そして、動作指令生成部は、ドラッグ操作の方向を、駆動軸又は動作態様毎に異なる方向になるように割り振っている。この場合、ロボット操作装置は、各軸系又は手先系の動作が可能である。ロボットの動作態様としては、手先系の動作について、水平移動動作、垂直移動動作、及び手先の回転動作がある。
【００４４】
このロボット操作装置によれば、ユーザは、ドラッグ操作の方向を変えることで、操作対象にする駆動軸又は動作態様すなわち動作の種類を選択することができる。したがって、ユーザは、動作の種類を選択するための複雑な操作を習得する必要がなく、操作が容易となる。その結果、安全性の低下を招くことなく、ロボットの手動操作をタッチ操作により実現することができる。
【００４５】
また、このロボット操作装置は、ドラッグ操作の指の本数を問題としないことから、ユーザは、指１本で入力操作を行うことができる。すなわち、このロボット操作装置は、ユーザが指１本で容易に操作することができるという利点を備えている。そして、この利点は、いわゆるタッチペンやスタイラスペンといったポインティングデバイスを利用する際にも有効である。すなわち、産業用ロボットの動作環境を考慮すると、ユーザの安全を確保するためにユーザが手袋を装着していたり、ユーザの手指に潤滑油等のタッチ操作を阻害する物質が付着していたりする可能性がある。この場合、ユーザが手指でタッチ操作を行っても、ロボット操作装置がそのタッチ操作を正確に認識しない可能性がある。一方、ユーザが手袋を装着していたり、ユーザの手指に潤滑油等が付着していたりする場合であっても、ユーザは、上述したポインティングデバイスを利用することで、正確なタッチ操作を行うことができる。このような理由から、ロボット操作装置が産業用ロボットを操作対象とする場合、上述のポインティングデバイスを容易に利用できることは、利点である。
【００４６】
（請求項１４）
請求項１４に記載のロボット操作装置によれば、動作指令生成部は、ドラッグ操作を検出した場合にそのドラッグ操作が終了するまでの期間そのタッチ操作によるタッチ箇所の近傍における所定範囲内の領域に対するタッチ操作の検出を無効化する。例えば１本指によるドラッグ操作は、右手または左手の人差し指で行われることが多い。そのため、上記操作が行われる際、その操作を行う人差し指と同じ側の手の親指による誤タッチが生じる可能性がある。このような意図しない指による誤タッチを検出してしまうと、複数本の指によるドラッグ操作が行われたと判断されてしまい、その結果、意図しない動作が行われることになる。
【００４７】
このロボット操作装置によれば、一旦ドラッグ操作を検出した場合には、そのドラッグ操作が終了するまでの期間は、そのタッチ操作によるタッチ箇所の近傍における所定範囲内の領域に対するタッチ操作の検出が無効化される。そのため、意図しない指による誤タッチが生じる可能性の高い箇所を考慮して上記領域の範囲を設定しておけば、ある動作を行おうとした場合に、意図せずに他の動作が行われるといった誤動作の発生を抑制することができる。
【００４８】
（請求項１５）
請求項１５に記載のロボット操作装置は、切替部を備える。切替部は、主操作と副操作とを切り替えるためのものである。主操作とは、ロボットの複数の駆動軸又は動作態様のうち、ロボットの手先の位置に寄与する駆動軸又は動作態様を操作するための操作である。副操作とは、前記ロボットの手先の姿勢に寄与する駆動軸又は動作態様を操作するため操作である。これによれば、ユーザが、切替部を用いて、主操作と副操作とを切り替えることができる。これにより、ユーザは、ロボットを操作する際に、ロボットの手先位置を決めるための操作を行っているか、手先の姿勢を決めるための操作を行っているかを明確に意識することができる。したがって、ユーザが、手先の姿勢を決定しようとしているにもかかわらず、手先の位置を変える操作をしてしまう等の誤操作を抑制することができ、その結果、安全性の向上が図られる。
【００４９】
（請求項１６）
ここで、産業界では、４つの駆動軸を備える４軸型の水平多関節型ロボット及び６つの駆動軸を備える６軸型の垂直多関節ロボットが多用されている。４軸型の水平多関節ロボットを手動操作で各軸系の動作を行う場合、動作指令生成部は、各駆動軸を個別に操作するために４種類の操作入力を判断できることが望ましい。また、４軸型の水平多関節ロボットにおいて、手先系の動作は、Ｘ方向と、Ｙ方向と、Ｚ方向と、Ｒｚ方向と、の４種類がある。したがって、４軸型の水平多関節ロボットを手動操作で手先系の動作を行う場合、動作指令生成部は、これら４種類の動作を個別に操作するために４種類の操作入力を判断できることが望ましい。以上より、ロボット操作装置が４軸型の水平多関節ロボットを手動操作の対象とする場合、動作指令生成部は、少なくとも４種類の操作入力を判断できることが望ましい。
【００５０】
同様に、６軸型の垂直多関節ロボットを手動操作で各軸系の動作を行う場合、動作指令生成部は、各駆動軸を個別に操作するために、６種類の操作入力を判断できることが望ましい。また、６軸型の垂直多関節ロボットにおいて、手先系の動作は、Ｘ方向と、Ｙ方向と、Ｚ方向と、Ｒｘ方向と、Ｒｙ方向と、Ｒｚ方向と、の６種類がある。したがって、６軸型の垂直多関節ロボットを手動操作で手先系の動作を行う場合、動作指令生成部は、これら６種類の動作を個別に操作するために６種類の操作入力を判断できることが望ましい。以上より、ロボット操作装置が６軸型の垂直多関節ロボットを手動操作の対象とする場合、動作指令生成部は、少なくとも６種類の操作入力を判断できることが望ましい。
【００５１】
そこで、請求項１６に記載のロボット操作装置において、タッチパネルは、第１領域と第２領域とに分かれている。第１領域及び第２領域は、１方向又は互いに直交する２方向への操作を前記タッチ操作検出部によって検出することができるタッチパネル上の領域である。すなわち、動作指令生成部は、第１領域に入力される２方向のドラッグ操作と、第２領域に入力される２方向のドラッグ操作とで、合計４種類のドラッグ操作を判断することができる。そして、各領域について、主操作と副操作とを切り替えることができる。したがって、動作指令生成部は、最大８種類の操作入力を判断することができる。よって、このようなロボット操作装置によれば、産業界で多用されている４軸型の水平多関節ロボット及び６軸型の垂直多関節ロボットの両方において、手先系の動作及び各軸系の動作の手動操作に対応することができる。
【００５２】
（請求項１７）
請求項１７に記載のロボット操作装置は、傾き操作検出部と、動作指令生成部と、を備えている。傾き操作検出部は、タッチパネルの傾きを検出することでユーザからの傾き操作の入力を検出することができる。動作指令生成部は、複数の駆動軸を有する多関節型のロボットを動作させるための動作指令を生成する。また、動作指令生成部は、水平移動動作指令生成処理と、垂直移動動作指令生成処理と、を行うことができる。水平移動動作指令生成処理は、タッチ操作検出部で検出されたタッチ操作に基づいてロボットの手先をロボットの動作基準面に対して水平な平面方向に移動させるための動作指令を生成する処理である。垂直移動動作指令生成処理は、傾き操作検出部で検出された傾き操作に基づいてロボットの手先を動作基準面と直交する垂直軸方向に沿って移動させるための動作指令を生成する処理である。
【００５３】
すなわち、このロボット操作装置において、ユーザは、タッチパネルに対してタッチ操作をすることにより、ロボットの手先を水平方向へ移動させる操作をすることができる。これによれば、ユーザは、ロボットの手先を水平方向へ移動させる際、タッチパネルに対する２次元的な操作と、ロボットの手先の水平方向への移動つまり２次元的な動きとを関連して認識し易くなる。また、ユーザは、タッチパネルを傾ける操作をすることにより、ロボットの手先を垂直方向へ移動させる操作をすることができる。これによれば、ユーザは、ロボットの手先を垂直方向へ移動させる際、タッチパネルに対するタッチ操作とは異なる態様の操作すなわちタッチパネルを傾ける操作を行う。したがって、ユーザは、水平方向への移動に対する操作と、垂直方向への移動に対する操作とを明確に区別することができる。よって、操作性が向上し、その結果、安全性の向上や、ロボットの教示に要する時間を短縮することができる。
【００５４】
（請求項１８）
請求項１８に記載のロボット操作装置において、動作指令生成部は、傾き操作検出部で検出された傾き操作の傾き量に応じて、ロボットの移動速度又は移動量を増減する。これによれば、ユーザは、傾き操作によるタッチパネルの傾き量を調整することで、ロボットの移動速度又は移動量を調整することができる。よって、ユーザは、直観的にロボットの垂直方向への移動を操作することができ、その結果、操作性の向上が図られる。
【００５５】
（請求項１９）
請求項１９に記載のロボット操作装置において、タッチパネルは、動作選択領域と、移動量決定領域と、を有している。動作選択領域は、操作対象にする前記ロボットの駆動軸又は動作態様を選択するための操作を受け付ける領域である。この場合、各軸系の場合は、駆動軸が選択され、手先系の場合は、動作態様が選択される。また、移動量決定領域は、ロボットの移動量を決定するための操作を受け付ける領域である。この場合、ロボットの移動量には、実際にロボットが移動する量つまりロボットの移動距離のみならず、ロボットの移動速度又は移動時間も含まれる。このようなロボット操作装置によれば、ユーザは、ロボットの動作を選択する場合には、動作選択領域においてタッチ操作をし、ロボットの移動量を決定する場合には、移動量決定領域においてタッチ操作をする。したがって、ユーザは、ロボットの動作を選択するための操作と、ロボットの移動量を決定するための操作とを明確に区別することができる。以上より、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を短縮することができる。
【００５６】
（請求項２０）
請求項２０に記載のロボット操作装置は、動作選択領域に対する操作の受け付けを開始するための開始操作を検出する開始操作検出部を更に備えている。開始操作検出部は、例えばタッチパネル上に表示されたボタンに対するタッチ操作を検出するものや、タッチパネルと異なるボタンに対する操作を検出するものである。そして、動作指令生成部は、開始操作検出部で開始操作を検出した後に動作選択領域に対するタッチ操作を受け付けるようにする。
【００５７】
すなわち、動作指令生成部は、開始操作検出部で開始操作を検出した後でなければ、動作選択領域に対するタッチ操作を受け付けない。つまり、ユーザは、意図して開始操作を行うことで、動作選択領域に対する操作を行うことができる。これによれば、動作選択領域に対する意図しない操作入力が低減される。したがって、誤操作による意図しない動作が行われることを抑制することができる。その結果、安全性が更に向上する。
【００５８】
（請求項２１）
請求項２１に記載のロボット操作装置によれば、操作対象にするロボットの駆動軸又は動作態様を選択するための操作は、タッチパネルに対して駆動軸又は動作態様に対応する数字、文字、又は記号を入力する操作である。これによれば、ユーザは、例えば各軸系の操作を行う際、第１軸を操作したい場合には第１軸に対応するアラビア数字の「１」を入力し、第２軸を操作したい場合には第２軸に対応するアラビア数字の「２」を入力する。また、ユーザは、例えば手先系の操作を行う際、ロボットに水平移動動作を行わせる場合には水平移動動作に対応するアルファベットの「Ｈ」を入力し、ロボットに垂直移動動作を行わせる場合には垂直移動動作に対応するアルファベットの「Ｖ」を入力し、ロボットに手先の回転動作を行わせたい場合には回転動作に対応するアルファベットの「Ｒ」を入力する。ちなみに、「Ｈ」は、「Horizontal」の頭文字、「Ｖ」は「Vertical」の頭文字、「Ｒ」は「Rotational」の頭文字である。
【００５９】
これによれば、ユーザは、タッチパネルに対して、数字、文字、記号を入力することで、その入力に対応した駆動軸又は動作態様について操作をすることができる。したがって、ユーザは、ロボットの動作を決定するための操作入力と、その操作入力によって行われるロボットの動作とを関連して認識し易くなる。これにより、ユーザが誤った動作を選択するといった誤操作が抑制されて操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００６０】
（請求項２２）
請求項２２に記載のロボット操作装置によれば、請求項１７又は１８に記載のロボット操作装置において、動作指令生成部は、動作選択領域に対する操作が検出された場合に、その操作が終了するまでの期間は前記移動量決定領域に対する操作の検出を無効化する。例えば１本指によるタッチ操作は、右手または左手の人差し指で行われることが多い。そのため、動作選択領域に対して数字等を入力する操作が行われる際、例えばその操作を行う人差し指と同じ側の手の親指によって、移動量決定領域に対して誤タッチしてしまう可能性がある。また、ユーザが誤って動作選択領域と移動量決定領域とに跨って操作してしまう可能性もある。このような意図しない操作を検出してしまうと、動作選択領域に対する入力の途中であっても、移動量決定領域に対して操作がされたと判断されてしまい、その結果、意図しない動作が行われることになる。
【００６１】
このロボット操作装置によれば、一旦動作選択領域に対する操作を検出した場合には、その操作が終了するまでの期間は、移動量決定領域に対するタッチ操作の検出が無効化される。そのため、意図しない指による誤タッチが生じる可能性の高い箇所を考慮して上記領域の範囲を設定しておけば、ある動作を行おうとした場合に、意図せずに他の動作が行われるといった誤動作の発生を抑制することができる。これにより、誤操作が抑制されて操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００６２】
（請求項２３）
請求項２３に記載のロボット操作装置は、操作判断処理と、速度算出処理と、動作指令生成処理と、を行うことができる。操作判断処理は、タッチ操作検出部で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する処理である。速度算出処理は、操作判断処理で判断した指の移動量に基づいてロボットの移動速度を算出する処理である。動作指令生成処理は、速度算出処理で算出した移動速度でロボットを移動させるための動作指令を生成する処理である。
【００６３】
これによれば、ユーザのドラッグ操作による指の移動量と、ロボットの移動速度とは相関を有することになる。したがって、ユーザは、ドラッグ操作による指の移動量を調整することにより、ロボットの移動速度を調整することができる。そのため、ユーザは、直観的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００６４】
（請求項２４）
請求項２４に記載のロボット操作装置によれば、動作指令生成部は、指の移動量に基づいてロボットの移動距離を算出する移動量算出処理を行うことができる。これによれば、ユーザは、ドラッグ操作による指の移動量を調整することにより、ロボットの移動量つまり移動距離を調整することができる。さらに、このロボット操作装置において、速度算出処理は、指の移動量をドラッグ操作の入力に要した時間で除した値に基づいて、ロボットの移動速度を決定する処理である。これによれば、ユーザは、ドラッグ操作の入力に要する時間を調整することで、ロボットの移動速度を調整することができる。
【００６５】
したがって、ユーザは、ドラッグ操作の入力に際し、そのドラッグ操作の移動量と入力時間を調整することにより、ロボットの移動速度と移動量の両方を調整することができる。すなわち、ユーザは、１度のドラッグ操作によって、ロボットの移動速度と移動量の両方を調整することができる。これにより、ユーザは、直観的な操作が可能になる。また、これによれば、ユーザは、ロボットの移動速度と移動量を決定するために、複数の操作例えばロボットの移動速度を決定するための操作とロボットの移動量を決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００６６】
（請求項２５）
請求項２５に記載のロボット操作装置によれば、動作指令生成部は、ドラッグ操作が行われている間は一定の周期で操作判断処理と速度算出処理と動作指令生成処理とを行うことができる。この場合、ドラッグ操作が行われている間とは、ユーザの指がタッチパネルに触れてドラッグ操作が開始してから、ユーザの指がタッチパネルから離れるまでの期間を意味する。ドラッグ操作の終了は、ユーザの指がタッチパネルから離れたときである。これによれば、動作指令生成部は、ドラッグ操作の終了を待つことなく、動作指令を生成することができる。したがって、ロボット操作装置は、ユーザからのドラッグ操作にほぼリアルタイムで、ロボットを動作させることができる。したがって、ユーザは、より直感的な操作が可能になり、その結果、安全性の向上、ひいては教示時間の短縮を図ることができる。
【００６７】
（請求項２６）
上述したロボット操作装置は、操作入力と出力（ロボットの移動）との間に倍率を設定することがある。例えば、倍率を０．１倍に設定した場合、ユーザは、１ｍｍのドラッグ操作を行うことで、ロボットを０．１ｍｍ移動させることができる。これにより、操作入力以上の精密な動作をロボットに行わせることができる。しかし、単純に倍率を設定しただけでは、次のような問題が生じる。すなわち、例えば０．１ｍｍ単位の微細な動作（微動）を行いつつ、数〜数十ｍｍ単位の大きな動作（粗動）を行いたい場合もある。しかし、例えば倍率を０．１倍に設定した場合、２００ｍｍ（１０インチ画面の長辺の長さに相当）のドラッグ操作でも、僅かに２０ｍｍしかロボットを移動させることができない。そのため、ユーザは、例えばロボットに１０００ｍｍの移動をさせようとすると、２００ｍｍのドラッグ操作を５０回も繰り返すことになり、煩雑で操作性が良くない。
【００６８】
そこで、請求項２６に記載のロボット操作装置において、動作指令生成部は、操作判断処理と、移動量決定処理と、を行うことができる。操作判断処理は、タッチ操作検出部で検出したドラッグ操作の指の移動量を判断する処理である。移動量決定処理は、操作判断処理で判断したドラッグ操作の指の移動量を拡大又は縮小してロボットの移動量を決定するための倍率について、ドラッグ操作が操作開始地点から第１区間を通過するまでは倍率を１より小さい一定の値である第１倍率に設定し、ドラッグ操作が第１区間を通過した後は倍率を第１倍率より大きい値に設定して、ロボットの移動量を決定する処理である。
【００６９】
これによれば、ユーザは、第１区間内でドラッグ操作することで、ロボットを、１より小さい一定の倍率である第１倍率で移動させることができる。つまり、ユーザは、第１区間内のドラッグ操作を繰り返すことで、ロボットに微小な動作（微動）をさせることができる。また、ユーザは、第１区間を超えてドラッグ操作することで、第１区間を超えた部分について、ロボットを、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、第１区間を超えて操作することで、ロボットに比較的大きな動作（粗動）をさせることができる。このように、ユーザは、１度のドラッグ操作で、異なる倍率でロボットを移動させることができる。すなわち、これによれば、例えばロボットの微動と粗動との両方の動作を、１回のドラッグ操作で実現することができる。したがって、ユーザは、ロボットの微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【００７０】
（請求項２７）
請求項２７に記載のロボット操作装置によれば、移動量決定処理は、ドラッグ操作の指の移動が第１区間を通過してから第２区間を通過するまでは倍率を第２倍率に設定し、ドラッグ操作の指の移動が第２区間を通過した後は倍率を一定値である第３倍率に設定して、ロボットの移動量を決定する処理である。これによれば、ユーザは、第１区間内でドラッグ操作を繰り返すことにより、１より小さい第１倍率でロボットを動作（微動）させることができる。また、ユーザは、第１区間を超えてドラッグ操作を行うことにより、第１倍率よりも大きい第２倍率又は第３倍率でロボットを動作（粗動）させることができる。
【００７１】
さらに、第２倍率は、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する値である。これによれば、第１倍率による微動と第３倍率による粗動との間の倍率である第２倍率が、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する。すなわち、一定値である第１倍率と第３倍率との間が、連続して変化する第２倍率によって繋がれている。そのため、ユーザのドラッグ操作の操作量に対するロボットの移動量を決定するための倍率は、第１倍率から、次第に変化する第２倍率を経て第３倍率に切り替わる。これにより、ロボットの移動量を決定するための倍率が、第１倍率から第３倍率に急激に切り替わることが防止される。すなわち、ロボットの移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボットの急激な速度変化（急動）を防止することができる。その結果、更なる安全性の向上が図られる。
【００７２】
（請求項２８）
請求項２８に記載のロボット操作装置によれば、タッチ操作検出部は、ユーザによる手持ちが可能なケースに設けられたタッチパネルに対するタッチ操作を検出するものである。このような構成の場合、ユーザは、一方の手でケースを把持した上で、他方の手の指により各操作を行うことになる。このとき、ケースを把持する一方の手の指が誤ってタッチパネルに触れてしまう可能性がある。例えば１本指によるドラッグ操作が行われる際に、把持する側の手による誤タッチを検出してしまうと、２本指によるドラッグ操作が行われたと判断されてしまい、その結果、意図しない動作が行われることになる。
【００７３】
そこで、この記載のロボット操作装置において、タッチ操作検出部は、タッチパネルのうち、ユーザがケースを手持ちする際に把持することが想定される把持部に隣接する所定範囲の領域に対するタッチ操作については検出対象から除外する。このようにすれば、例えばある水平移動動作を行うべく、１本指によるドラッグ操作が行われる際に、把持する側の手による誤タッチが行われたとしても、その誤タッチが検出されることはないため、意図せずに他の動作が行われるといった誤動作の発生を確実に抑制することができる。
【００７４】
（請求項２９）
請求項２９に記載のロボットシステムは、４軸水平多関節型のロボットと、ロボットの動作を制御するコントローラと、請求項１から２８のいずれか一項に記載のロボット操作装置とを備えている。４軸水平多関節型のロボットは、手先系の動作又は各軸系の動作を行うことが可能である。手先系の動作とは、ロボットの手先を、ロボットの動作基準面に対して水平な平面方向に移動する動作（平面移動動作）と、動作基準面と直交する垂直軸方向に移動する動作（垂直移動動作）と、及び垂直軸回りに回転する動作（回転動作）と、である。一方、ロボット操作装置は、前述したとおり、ユーザによる手動操作に従い、手先系の動作（平面移動動作、垂直移動動作および回転動作）を行うための動作指令、又は各軸系の動作を行うための動作指令を生成することができる。従って、本手段によれば、操作対象となるロボットに必要な動作について、手動による操作で実現することができる。
【００７５】
（請求項３０）
請求項３０に記載のロボットシステムは、６軸垂直多関節型のロボットと、ロボットの動作を制御するコントローラと、請求項１から２８のいずれか一項に記載のロボット操作装置とを備えている。６軸垂直多関節型のロボットは、前述した４軸水平多関節型のロボットが行う得る動作（平面移動動作、垂直移動動作および回転動作）に加え、その手先を、上記垂直軸（Ｚ軸）とは異なる２つの軸回りに回転する動作を行うことが可能である。上記２つの軸とは、動作基準面に対して水平な互いに直交する２つの軸（Ｘ軸およびＹ軸）である。
【００７６】
そのため、この記載のロボットシステムでは、手先系の動作を行う場合、操作対象となるロボットが行い得る全ての動作について、手動による操作で実現することはできない。しかし、６軸垂直多関節型のロボットの場合でも、前述した平面移動動作、垂直移動動作および（Ｚ軸回りの）回転動作ができれば、概ね問題が生じることはない。なぜなら、手動操作の際には、上記３つの動作が行われる頻度が極めて高いため、本手段によっても、ユーザの利便性が大きく損なわれることがないからである。
【００７７】
（請求項３１〜３４）
請求項３１に記載のロボット操作プログラムは、請求項１に記載のロボット操作装置を実現するものである。請求項３２に記載のロボット操作プログラムは、請求項１５に記載のロボット操作装置を実現するものである。請求項３３に記載のロボット操作プログラムは、請求項１７に記載のロボット操作装置を実現するものである。請求項３４に記載のロボット操作プログラムは、請求項１９に記載のロボット操作装置を実現するものである。これらのロボット操作プログラムを、例えばタッチパネルを備える汎用のタブレットＰＣ等によって実行することで、汎用のタブレットＰＣ等に、上述したロボット操作装置としての機能を付加することができる。
【図面の簡単な説明】
【００７８】
【図１】第１実施形態によるロボットシステムの一例を示す全体構成図
【図２】第１実施形態によるティーチングペンダントの電気的構成の一例を示すブロック図
【図３】第１実施形態について、各種タッチ操作とロボットのマニュアル動作の内容との対応関係の一例を示す図
【図４】第１実施形態について、動作指令生成部が行う各種処理の内容の一例を示すフローチャート
【図５】第１実施形態について、２本の指によるタッチのタイミングのずれ時間の分布を示す図
【図６】第１実施形態について、ドラッグ操作に回転成分が含まれるか否かの判断基準を説明するための図
【図７】第１実施形態について、ドラッグ操作に回転成分が含まれると判断する領域および含まれないと判断する領域を示す図
【図８】第１実施形態について、（ａ）は１本の指によるドラッグ操作を行う際の誤タッチの一例を示す図、（ｂ）はその誤タッチを防止するための無効化領域の一例を示す図
【図９】第１実施形態について、（ａ）はケースを把持する手による誤タッチの一例を示す図、（ｂ）はその誤タッチを防止するための検出除外領域の一例を示す図
【図１０】第２実施形態によるロボットシステムの一例を示す全体構成図
【図１１】第３実施形態による４軸型のロボットの一例を示す図
【図１２】第３実施形態による６軸型のロボットの一例を示す図
【図１３】第３実施形態によるティーチングペンダントに対する操作態様の一例を示す図
【図１４】第３実施形態について、ユーザがティーチングペンダントを保持する際の姿勢の一例を示す図
【図１５】第３実施形態について、ドラッグ操作の操作方向とロボットのマニュアル動作の内容との対応関係の一例を示す図
【図１６】第３実施形態について、ドラッグ操作の操作方向に対するフランジの回転方向の一例を示す図
【図１７】第３実施形態について、動作指令生成部が行う各種処理の内容の一例を示すフローチャート
【図１８】第３実施形態について、６軸型のロボットを側方から示す図
【図１９】第４実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図２０】第４実施形態について、ドラッグ操作の操作方向に対する６軸型のロボットの移動方向の一例を示す図
【図２１】第４実施形態について、動作指令生成部が行う各種処理の内容の一例を示すフローチャート
【図２２】第５実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図２３】第５実施形態について、ドラッグ操作の操作方向に体知る６軸型のロボットの移動方向の一例を示す図
【図２４】第５実施形態について、ロボットのフランジ側から第２上アーム側へ見たロボットの手先を示す図
【図２５】第５実施形態について、動作指令生成部が行う各種処理の内容の一例を示すフローチャート
【図２６】第６実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図２７】第７実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図２８】第８実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図２９】第８実施形態について、３本以上の指で円周方向へのドラッグ操作を行った際に、そのドラッグ操作に回転成分が含まれているか否かを判断する方法を示す図
【図３０】第９実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３１】第１０実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３２】第１１実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３３】第１２実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３４】第１３実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３５】第１４実施形態について、ドラッグ操作の操作方向ととロボットのマニュアル動作との対応関係の一例を示す図
【図３６】第１４実施形態について、第１領域及び第２領域の一例を示す図
【図３７】第１５実施形態によるティーチングペンダントの一例を示す図
【図３８】第１５実施形態について、ティーチングペンダントに対する傾け操作の一例を示す図
【図３９】第１６実施形態によるティーチングペンダントの一例を示すもので、開始操作検出領域及び移動量決定領域を示す図
【図４０】第１６実施形態によるティーチングペンダントの一例を示すもので、動作選択領域を示す図
【図４１】第１６実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート
【図４２】第１７実施形態について、タッチパネルに入力されるドラッグ操作の一例を示す図
【図４３】第１７実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート
【図４４】第１８実施形態について、タッチパネルに入力されるドラッグ操作のうちある期間における指の移動を示す図
【図４５】第１８実施形態について、制御部が行う各種処理の内容の一例を示すフローチャート
【図４６】第１８実施形態について、タッチパネルに入力されるドラッグ操作による指の移動量を示す図
【図４７】第１８実施形態について、（１）はドラッグ操作による指の移動量と操作倍率との相関を示す図、（２）はドラッグ操作による指の移動量とロボットの移動量との相関を示す図
【図４８】第１８実施形態について、図４７とは異なる他の例を示すもので、（１）はドラッグ操作による指の移動量と操作倍率との相関を示す図、（２）はドラッグ操作による指の移動量とロボットの移動量との相関を示す図
【発明を実施するための形態】
【００７９】
以下、本発明の複数の実施形態について説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
【００８０】
（第１実施形態）
以下、本発明の第１実施形態について図１〜図９を参照しながら説明する。
図１は、一般的な産業用ロボットのシステム構成を示している。図１に示すロボットシステム１は、ロボット２、コントローラ３およびティーチングペンダント４（ロボット操作装置に相当）により構成されている。ロボット２は、例えば４軸の水平多関節型ロボットとして構成されている。ロボット２は、固有のロボット座標系（Ｘ軸、Ｙ軸およびＺ軸からなる三次元直交座標系）に基づいて動作する。本実施形態では、ロボット座標系は、ベース５の中心を原点Ｏとし、作業台Ｐの上面をＸ−Ｙ平面とし、そのＸ−Ｙ平面と直交する座標軸をＺ軸として定義されている。作業台Ｐの上面は、ロボット２を設置するための設置面である。この場合、その設置面が動作基準面に相当する。なお、動作基準面としては、設置面に限らずともよく、任意の平面であってもよい。
【００８１】
ロボット２は、作業台Ｐの上面（以下、設置面とも称す）に固定されるベース５と、ベース５上にＺ軸（垂直軸）方向の軸心を持つ第１軸Ｊ１１を中心に回転可能に連結された第１アーム６と、第１アーム６の先端部上にＺ軸方向の軸心を持つ第２軸Ｊ１２を中心に回転可能に連結された第２アーム７と、第２アーム７の先端部に上下動可能で且つ回転可能に設けられたシャフト８とから構成されている。シャフト８を上下動させる際の軸が第３軸Ｊ１３であり、回転させる際の軸が第４軸Ｊ１４である。シャフト８の先端部（下端部）には、フランジ９が位置決めされて着脱可能に取り付けられる。
【００８２】
ベース５、第１アーム６、第２アーム７、シャフト８およびフランジ９は、ロボット２のアームとして機能する。アーム先端であるフランジ９には、図示はしないが、エンドエフェクタ（手先）が取り付けられる。例えば、ロボット２を用いて部品の検査などが行われる場合、上記エンドエフェクタとしては、対象となる部品を撮影するためのカメラなどが用いられる。ロボット２に設けられる複数の軸（Ｊ１１〜Ｊ１４）はそれぞれに対応して設けられるモータ（図示せず）により駆動される。各モータの近傍には、それぞれの回転軸の回転角度を検出するための位置検出器（図示せず）が設けられている。
【００８３】
ロボット２を制御するコントローラ３は、接続ケーブルを介してロボット２に接続されている。ティーチングペンダント４は、接続ケーブルを介してコントローラ３に接続されている。コントローラ３およびティーチングペンダント４の間では、通信インターフェイス（図２に符号１０を付して示す）を経由してデータ通信が行われる。これにより、ユーザの操作に応じて入力される各種の操作情報が、ティーチングペンダント４からコントローラ３に送信される。また、コントローラ３は、ティーチングペンダント４に対し、各種の制御信号や表示用の信号などを送信するとともに、駆動用の電力を供給する。
【００８４】
コントローラ３は、ティーチングペンダント４から手動動作を指令する信号が与えられると、ロボット２が手動で動作するように制御を行う。また、コントローラ３は、ティーチングペンダント４から自動動作を指令する信号が与えられると、予め記憶されている自動プログラムを起動することにより、ロボット２が自動で動作するように制御する。
【００８５】
ティーチングペンダント４は、例えばユーザが携帯あるいは手に所持して操作可能な程度の大きさで、例えば薄型の略矩形箱状のケース１１を備えている。ティーチングペンダント４は、ケース１１の表面側の中央部に例えば液晶ディスプレイからなる表示部１２を備えている。表示部１２は、タッチパネル１７で構成されており、各種の画面を表示する。ティーチングペンダント４は、表示部１２の周囲に各種の物理的なスイッチであるキースイッチ１３を有している。なお、図１では、キースイッチ１３を１つ示している。キースイッチ１３を、タッチパネル１７の表示部１２に表示させたボタンで代用してもよい。ユーザは、表示部１２のタッチパネル１７やキースイッチ１３から種々の入力操作を実行する。
【００８６】
ユーザ（操作者）は、ティーチングペンダント４を用いてロボット２の運転や設定などの各種機能を実行可能であり、予め記憶されている制御プログラムを呼び出して、ロボット２の起動や各種のパラメータの設定などを実行できる。また、ロボット２をマニュアル操作すなわち手動操作で動作させて各種の教示作業も実行可能である。そして、表示部１２には、例えばメニュー画面、設定入力画面、状況表示画面などが必要に応じて表示される。
【００８７】
次に、ティーチングペンダント４の電気的な構成について図２を参照して説明する。
ティーチングペンダント４は、前述した通信インターフェイス１０、表示部１２およびキースイッチ１３に加え、制御部１４、タッチ操作検出部１５、動作指令生成部１６、選択操作検出部１８、および姿勢検出部１９を備えている。制御部１４は、例えばＣＰＵ１４１や、ＲＯＭ、ＲＡＭ、および書き換え可能なフラッシュメモリなどの記憶領域１４２を有するマイクロコンピュータを主体に構成されており、ティーチングペンダント４の全体を制御する。記憶領域１４２は、ロボット操作プログラムを記憶している。制御部１４は、ＣＰＵ１４１においてロボット操作プログラムを実行することにより、タッチ操作検出部１５および動作指令生成部１６などを、ソフトウェアによって仮想的に実現する。なお、これらタッチ操作検出部１５及び動作指令生成部１６は、例えば制御部１４と一体の集積回路としてハードウェア的に実現してもよい。
【００８８】
タッチ操作検出部１５は、タッチパネル１７に対するタッチ操作を検出する。具体的には、タッチ操作検出部１５は、タッチ操作の有無、タッチ操作された画面上の位置（タッチ位置）、そのタッチ操作の種類などを検出することができる。すなわち、タッチ操作検出部１５は、タッチ操作がドラッグ操作であるか否かを含めて、タッチ操作による指の本数や、指の移動方向、および指の移動量などを検出することができる。なお、本実施形態においては、１本指又は２本指のドラッグ操作を対象としているため、タッチ操作検出部１５は、最大で２本指のタッチ操作を検出することができればよい。タッチパネル１７には、２次元直交座標系が設定されている。タッチ操作検出部１５は、その２次元直交座標系に基づいて、タッチ位置およびタッチ操作の種類、さらには移動方向（ドラッグ方向）および移動量（ドラッグ量）などを検出することができる。なお、上記ドラッグ操作は、タッチした状態のまま指を移動させる操作のことである。
【００８９】
選択操作検出部１８は、タッチパネル１７又はタッチパネル１７と異なるボタンに対するユーザからの選択操作を検出することができる。選択操作とは、操作対象にするロボット２の駆動軸又は動作態様を選択するための操作である。本実施形態の場合、選択操作は、タッチパネル１７に対して行われる。すなわち、選択操作検出部１８は、タッチパネル１７に対するユーザからの選択操作を検出することができる。この場合、タッチ操作検出部１５及び選択操作検出部１８は、共にタッチパネル１７に対するユーザからのタッチ操作を検出するものである。姿勢検出部１９は、例えばジャイロセンサや加速度センサ等である。ティーチングペンダント４は、姿勢検出部１９の検出結果に基づいて、重力方向に対する自己の姿勢を検出することができる。
【００９０】
動作指令生成部１６は、タッチ操作検出部１５により検出されたタッチ操作に基づいて、ロボットを手動動作させるための動作指令を生成する。動作指令生成部１６により生成された動作指令は、通信インターフェイス１０を通じてコントローラ３に与えられる。このような構成のティーチングペンダント４を用いることにより、ユーザは、ロボット２の手動操作をタッチ操作により行うことができる。
【００９１】
図３に示すように、タッチ操作により実現することができるロボット２のマニュアル動作は、下記（１）〜（３）の３つの動作である。
（１）水平移動動作
水平移動動作（図３などでは平面動作とも称す）とは、ロボット２の手先を、設置面に対して水平なＸ−Ｙ平面方向に移動させる動作である。水平移動動作は、第１操作に応じて行われる。第１操作は、１本の指によるドラッグ操作である。この場合、１本の指でのドラッグ操作（第１操作）のドラッグ方向に応じて平面移動の方向が決定され、ドラッグ量に応じて平面移動の移動量（移動距離）が決定される。
【００９２】
（２）垂直移動動作
垂直移動動作（図３などではＺ軸動作とも称す）とは、ロボット２の手先を、動作基準面となる設置面Ｐと直交するＺ軸方向に移動させる動作である。垂直移動動作は、第２操作に応じて行われる。本実施形態において、第２操作は、２本の指による所定の方向への直線的なドラッグ操作である。この場合、第２操作は、２本指を互いに同一の直線状にドラッグする操作である。２本指を直線状にドラッグする操作（第２操作）には、各指間の距離が次第に長くなる操作（いわゆるスプレッド操作またはピンチアウト操作）と、各指間の距離が次第に短くなる操作（いわゆるピンチ操作またはピンチイン操作）とがある。
【００９３】
このうち、スプレッド操作が行われると、ロボット２の手先をＺ軸方向であって且つ設置面に近づく方向（接近方向又は下方向と称す）に移動させる動作が行われる。また、ピンチ操作が行われると、ロボット２の手先をＺ軸方向であって且つ設置面から遠ざかる方向（離反方向又は上方向と称す）に移動させる動作が行われる。この場合、各指間の距離に応じてＺ軸方向の移動量（移動距離）が決定される。
【００９４】
（３）回転動作
回転動作（図３などではＲＺ軸動作と称す）とは、ロボット２の手先を、Ｚ軸回りに回転させる動作である。この場合、回転動作の回転方向は、Ｒｚ方向となる。回転動作は、第３操作に応じて行われる。第３操作は、２本の指によるドラッグ操作であって第２操作と異なる方向への操作である。本実施形態において、第３操作は、２本の指による円周方向へのドラッグ操作である。すなわち、本実施形態において、第３操作は、２本指のうち少なくともいずれかの指を曲線状に、つまり円弧を描くようにドラッグする操作（いわゆる回転操作）である。この場合、上記指での回転操作の方向に応じて回転動作の方向（回転方向）が決定され、ドラッグ量に応じて回転量が決定される。
【００９５】
上述したような各動作を実現するため、動作指令生成部１６は、操作判断処理と、動作指令生成処理と、を実行する。操作判断処理は、選択操作検出部１８で検出した選択操作に基づいて操作対象にするロボット２の駆動軸又は動作態様（この場合、動作態様）を決定する処理を含んでいる。また、操作判断処理は、タッチ操作検出部１５で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作の移動量を判断する処理を含んでいる。また、動作指令生成処理は、操作判断処理で判断したドラッグ操作の移動量に基づいてロボット２の移動量を決定し、その移動量分、操作対象の駆動軸又は動作態様でロボット２を移動させるための動作指令を生成する処理を含んでいる。
【００９６】
すなわち、動作指令生成部１６は、図４に示すように、ステップＳ１１、Ｓ１３、Ｓ１４において、操作判断処理を行う。操作判断処理は、選択操作検出部１８で検出した選択操作に基づいて操作対象にするロボット２の駆動軸又は動作態様を決定する処理を含んでいる。また操作判断処理は、タッチ操作検出部１５で検出したタッチ操作について指の本数と操作方向と移動量とを判断する処理を含んでいる。動作指令生成部１６は、ステップＳ１２、Ｓ１５、Ｓ１６、Ｓ１７において、動作指令生成処理を行う。動作指令生成処理は、上記操作判断処理で判断した指の本数及び操作方向に基づいてロボット２の手先の移動方向を決定するとともに、上記操作判断処理で判断した移動量に基づいてロボット２の手先の移動量を決定して、これら決定した移動方向及び移動量に基づいてロボット２の手先を移動させるための動作指令を生成する処理である。
【００９７】
具体的には、動作指令生成部１６は、ステップＳ１１において、タッチ操作検出部１５により検出されたタッチ操作の指の本数と方向を判断することで、そのタッチ操作が第１操作であるか否かを判断する。すなわち、動作指令生成部１６は、タッチ操作検出部１５により検出されたタッチ操作が、１本指および２本指のいずれによるドラッグ操作であるかを判断する（Ｓ１１；第１操作判断処理）。動作指令生成部１６は、ステップＳ１１にて１本指によるドラッグ操作（第１操作）であると判断した場合、ステップＳ１２においてロボット２の手先をＸ−Ｙ平面方向に移動させるための動作指令を生成する（Ｓ１２；水平移動動作指令生成処理）。
【００９８】
また、動作指令生成部１６は、ステップＳ１１において２本指によるドラッグ操作であると判断した場合、すなわち第１操作ではなく第２操作又は第３操作のいずれかであると判断した場合、ステップＳ１３において、２本指による円周方向へのドラッグ操作（第３操作）であるかを判断する（Ｓ１３；第２操作判断処理）。第３操作であるか否かは、２本指によるドラッグ操作のうち少なくとも一方に回転成分が含まれているか否かによって判断する。動作指令生成部１６は、ステップＳ１３にて回転成分が含まれておらず第３操作でないと判断した場合（ＮＯ）、ステップＳ１４において、第２操作であるか否かを判断する（Ｓ１４；第３操作判断処理）。第２操作であるか否かは、２本指によるドラッグ操作が行われている期間に、各指間の距離が次第に短くなるか、または次第に長くなるかによって判断する。
【００９９】
動作指令生成部１６は、ステップＳ１４にて各指間の距離が次第に長くなると判断した場合（ステップＳ１４でスプレッド操作）、ロボット２の手先をＺ軸方向であり且つ下方向に移動させるための動作指令を生成する（Ｓ１５；垂直移動動作指令生成処理の接近指令生成処理）。また、動作指令生成部１６は、ステップＳ１４にて各指間の距離が次第に短くなると判断した場合（ステップＳ１４でピンチ操作）、ロボット２の手先をＺ軸方向であり且つ上方向に移動させるための動作指令を生成する（Ｓ１６；垂直移動動作指令生成処理の離反指令生成処理）。
【０１００】
また、動作指令生成部１６は、ステップＳ１３にて回転成分が含まれていると判断した場合（ＹＥＳ）、ロボット２の手先をＺ軸回りに回転させるための動作指令を生成する（Ｓ１７；回転動作指令生成処理）。ステップＳ１２またはＳ１５〜Ｓ１７の実行後、処理が終了となる（エンド）。そして、コントローラ３が上記動作指令に基づいてロボット２の動作を制御することにより、前述した水平移動動作、垂直移動動作または回転動作が実行される。
【０１０１】
以上説明したように、本実施形態では、ロボット２の手先系の動作における手動操作の際、所定の操作が行われると、その操作からユーザが連想し易いと考えられる手先系の動作をロボット２に実行させるようになっている。この場合、各操作からその操作に対応する動作が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。まず、１本指によるドラッグ操作から水平移動動作が連想されるという根拠は次の点にある。すなわち、タッチ操作される対象となるタッチパネル１７は、平面であり、２次元の座標系が形成されている。そして、１本指によるドラッグ操作が行われる場合、そのような平面に沿って１つのタッチ箇所が移動するという形態となる。つまり、この場合、１本指によるタッチ箇所が平面上を移動するということとロボット２がＸ−Ｙ平面方向に移動するということに密接な関連性がある（同期する）と考えられる。
【０１０２】
また、２本の指の間の距離が次第に長くなるように行われるドラッグ操作から、下方向への垂直移動動作が連想されるという根拠は、次の２つの点にある。このような操作が行われる際、２本の指を押し広げるような形態となる。そして、その押し広げるということがユーザに下方向への移動を連想させると考えられる。これが、１つ目の根拠である。また、上述した操作は、一般には画像などを拡大するための操作として用いられることが多い。そして、ロボット２の手先にカメラが取り付けられている場合には、手先が下方向に移動することによりカメラによる撮影画像が拡大される。つまり、手先にカメラが取り付けられている場合、各指間の距離が長くなって２本の指の間隔が広がるということから、画像が拡大する（手先が下方向に移動する）ということを容易に連想し得ると考えられる。これが、２つ目の根拠である。
【０１０３】
また、２本の指の間の距離が次第に短くなるように行われるドラッグ操作から、上方向への垂直移動動作が連想されるという根拠は、次の２つの点にある。このような操作が行われる際、２本の指を吊り上げるような形態となる。そして、その吊り上げるということがユーザに上方向への移動を連想させると考えられる。これが、１つ目の根拠である。また、上述した操作は、一般には画像などを縮小するための操作として用いられることが多い。そして、ロボット２の手先にカメラが取り付けられている場合には、手先が上方向に移動することによりカメラによる撮影画像が縮小される。つまり、手先にカメラが取り付けられている場合、各指間の距離が短くなって２本の指の間隔が狭くなるということから、画像が縮小する（手先が上方向に移動する）ということを容易に連想し得ると考えられる。これが、２つ目の根拠である。
【０１０４】
また、２本指のいずれかによる回転操作から回転動作が連想されるという根拠は、次の点にある。すなわち、ロボット２の手先の回転軸は、円筒状のシャフト８であり、その先端には円筒状のフランジ９が取り付けられている。つまり、ロボット２の手先部分の形状は丸みを帯びている。そして、回転操作が行われる場合には、手先が円弧を描きながら回転するといった形態となる。つまり、この場合、その手先が円弧を描きながら回るということが、ユーザに対し、丸みを帯びたものを回転させる、つまりロボット２の手先を回転させる回転動作を連想させると考えられる。
【０１０５】
このように、本実施形態における各操作は、その操作により実行されるロボット２の動作をユーザが直感的に連想可能であり、且つシンプルな操作となっている。そのため、ユーザは、自身の手元（操作箇所）を見ることなく、各操作を行うことができる。従って、ロボット２の手動操作が行われる際、ユーザがロボット２から視線を逸らすことが無くなり、その安全性を良好に維持することができる。このように、本実施形態によれば、安全性の低下を招くことなく、ロボット２の手動操作をタッチ操作により実現することができるという優れた効果が得られる。
【０１０６】
また、４軸水平多関節型のロボット２は、その手先を、ロボット２の設置面に対して水平なＸ−Ｙ平面方向に移動する動作、設置面と直交するＺ軸方向に移動する動作およびＺ軸回りに回転する動作を行うことが可能である。一方、ティーチングペンダント４は、前述したとおり、ユーザによる手動操作に従い、水平移動動作、垂直移動動作および回転動作を行うための動作指令を生成することができる。従って、本実施形態によれば、操作対象となるロボット２が行い得る全ての動作について、手動による操作で実現することができる。
【０１０７】
さて、ユーザは、ロボット２の手動操作を行う際、ロボット２が意図したとおりに動作しているか否かを確認し易くするため、各動作（水平移動動作、垂直移動動作および回転動作）を、それぞれ独立して行うことが多い。例えば、最初に水平移動動作を行い、続いて垂直移動動作を行い、最後に回転動作を行う、といった具合である。このような事情から、ロボット２の手動操作が行われる際、敢えて複数の動作が同時に（ミックスして）行われることは少ない。従って、ロボット２の手動操作が行われる際には、複数の動作の同時実行を許容しないほうが望ましい。そのためには、各動作を行うための操作の線引き（切り分け）を明確にする必要がある。各動作を行うための線引きが曖昧であると、複数の動作がミックスした動作が行われ、その結果、ユーザの意図しない動作が行われる（誤動作が生じる）可能性が高まる。
【０１０８】
本実施形態では、このような誤動作が発生する可能性を一層低く抑えるべく、各操作の切り分けを明確にするため、次のような工夫を施している。すなわち、動作指令生成部１６は、タッチ操作された箇所が１つ検出されると、その検出時点から所定の許容遅延時間が経過した後にステップＳ１１の処理を実行する。ユーザが複数本（この場合、２本）の指によるタッチ操作を行った場合、それら複数本（この場合２本）の指によるタッチのタイミングが完全に一致することは難しい。そのため、例えば、垂直移動動作を行うべく、複数本（この場合２本）の指によるタッチ操作が行われたとしても、一方の指によるタッチが行われた時点において、一旦、意図しない水平移動動作が行われ、その後、他方の指によるタッチが行われた時点において、本来意図する垂直移動動作が行われることになる。
【０１０９】
本実施形態によれば、複数本（この場合２本）の指によるタッチのタイミングのずれが、許容遅延時間未満であれば、複数本（この場合２本）の指によるドラッグ操作であると判断される。つまり、複数本（この場合２本）の指によるタッチのタイミングのずれが許容遅延時間までは許容される。そのため、人間の操作によるタイミングのずれとして考えらえる最大値などに基づいて許容遅延時間を設定しておけば、一旦、水平移動動作が行われるといった誤動作の発生を確実に防止することができる。
【０１１０】
本発明者は、複数の評価者を対象とし、２本の指を同時にタッチパネル上に置くという操作テストを実施した。その結果を分析すると、２本の指によるタッチの検出時間の差は、図５に示すような分布となった。そして、上記検出時間（２本の指によるタッチのタイミングのずれ）の最小値は「０．０７４秒」、平均値は「０．１２６秒」、最大値は「０．１７８秒」である。本実施形態では、このような操作テストの結果に基づき、許容遅延時間を「０．１７８秒」に設定している。
【０１１１】
ユーザが、垂直移動動作を行うべく、複数本（この場合２本）の指によるドラッグ操作を行う際、各指を完全に直線状に移動させることは難しい。そのため、ユーザが、垂直移動動作を行うべく、２本の指を直線状に移動させようとした場合であっても、いずれかの指が僅かでも直線状に移動しなかった場合には、回転成分が含まれると判断されて意図しない回転動作が行われることになる。
【０１１２】
そこで、動作指令生成部１６は、ステップＳ１３において、次のようにして回転成分が含まれるか否かを判断する。すなわち、図６に示すように、動作指令生成部１６は、２本指の間のベクトルＶ１と、２本指のうち一方の指の移動に係るベクトルＶ２とが成す角度に基づいて、回転成分の有無を判断する。この場合、ベクトルＶ１およびベクトルＶ２は、次のように定義される。
【０１１３】
すなわち、図６では、一方の指のドラッグ操作の開始位置をＰ１とし、その位置Ｐ１を中心とした微小な半径を持つ不感領域Ｒが設定されている。また、一方の指が不感領域Ｒを脱出した脱出位置をＰ２としている。そして、開始位置Ｐ１から他方の指のドラッグ操作の開始位置へのベクトルをベクトルＶ１とする。また、開始位置Ｐ１から脱出位置Ｐ２へのベクトルをベクトルＶ２とする。
【０１１４】
このようにすると、ユーザが２本指を回転させるドラッグ操作を行う場合、一方の指の不感領域Ｒを脱出する位置は、図６における位置Ｐ２ａのような位置となる。そのため、この場合、ベクトルＶ１およびベクトルＶ２（図６ではＶ２ａとして示す）が成す角度は比較的大きい値（９０度に近い値）となる。一方、ユーザが２本指を直線状に移動させるドラッグ操作を行う場合、一方の指が不感領域Ｒを脱出する位置は、図６における位置Ｐ２ｂのような位置となる。そのため、この場合、ベクトルＶ１およびベクトルＶ２（図６ではＶ２ｂとして示す）が成す角度は比較的小さい値（０度に近い値）となる。
【０１１５】
このようなことを考慮し、動作指令生成部１６は、図７に示すように、ベクトルＶ１およびＶ２が成す角度が判定閾値θth未満である場合、その指によるドラッグ操作に回転成分が含まれないと判断する。一方、動作指令生成部１６は、上記角度が判定閾値θth以上である場合、その指によるドラッグ操作に回転成分が含まれていると判断する。このようにすれば、２本の指が完全に直線状に移動せず、多少の曲線（円弧）を描くように移動したとしても、垂直移動動作を行うための操作であると判断される。そのため、人間の操作によるずれ（直線に対してどの程度曲がるか、ということ）として考えられる最大値などに基づいて判定閾値θthを設定してくことで、垂直移動動作が行われる際に意図せずに回転動作が行われるといった誤動作の発生を確実に防止することができる。
【０１１６】
本実施形態では、次のようにして判定閾値θthを設定している。すなわち、２本指を直線状に移動させるドラッグ操作が行われる際におけるベクトルＶ１およびＶ２が成す角度の理想的な値は「０度」である。一方、２本指を回転させるドラッグ操作が行われる際におけるベクトルＶ１およびＶ２が成す角度の理想的な値は「９０度」である。そうすると、これら理想的な値の中間の値である「４５度」が判定閾値θthとして最適な値であると考えられる。
【０１１７】
しかし、本発明者は、複数の評価者を対象とし、２本指を直線状に移動させるドラッグ操作および２本指を回転させるドラッグ操作の両方を行うという操作テストを実施した。その結果を分析すると、「４５度」よりも小さい「３５度」が判定閾値θthとして最適な値であるということが判明した。これは、人間の指による開閉動作の精度が、回転動作の精度に比べて高いということに依存していると考えられる。
【０１１８】
また、動作指令生成部１６は、ステップＳ１１において、１本指によるドラッグ操作であると判断した場合、そのドラッグ操作が終了するまでの期間、その１本指によるタッチ箇所の近傍における所定範囲内の領域に対するタッチ操作の検出を無効化する。１本指によるドラッグ操作は、例えば右手または左手の人差し指で行われることが多い。そのため、上記操作が行われる際、その操作を行う人差し指と同じ側の手の親指による誤タッチが生じる可能性がある。このような親指による誤タッチを検出してしまうと、２本指によるドラッグ操作が行われたと判断されてしまい、その結果、意図しない垂直移動動作または回転動作が行われることになる。
【０１１９】
本実施形態によれば、一旦１本指によるドラッグ操作であると判断されると、その操作が終了するまでの間は、その１本指によるタッチ箇所の近傍における所定範囲内の領域（以下、無効化領域と称す）に対するタッチ操作の検出が無効化される。そのため、例えば親指による誤タッチが生じる可能性の高い箇所を考慮して上記無効化領域を設定しておけば、水平移動動作が行われる際、意図せずに垂直移動動作または回転動作が行われるといった誤動作の発生を確実に防止することができる。
【０１２０】
本発明者は、複数の評価者を対象とし、１本の指によるドラッグ操作を行うという操作テストを実施した。その結果、図８（ａ）に示すように、右利きの評価者の場合、右手の人差し指でタッチ操作を行うが、その際、誤って右手の親指がタッチパネルに触れてしまう（誤タッチする）ことが多かった。そこで、本実施形態では、ユーザが右利きである場合、図８（ｂ）に示すように、人差し指のタッチ箇所（座標）を起点とし、右下象限８０度の範囲であり、且つ半径１５ｍｍ以内の領域を無効化領域として設定する。なお、ユーザが左利きである場合、右利きとは左右を反転した箇所への誤タッチが生じる可能性が高いため、無効化領域についても左右反転させる。
【０１２１】
また、タッチ操作検出部１５は、ユーザによる手持ちが可能なケース１１に設けられたタッチパネル１７に対するタッチ操作を検出するものである。このような構成の場合、ユーザは、一方の手でケース１１を把持した上で、他方の手の指により各操作を行うことになる。このとき、ケース１１を把持する一方の手の指が誤ってタッチパネル１７に触れてしまう可能性がある。１本指によるドラッグ操作（水平移動動作）が行われる際に、把持する側の手による誤タッチを検出してしまうと、２本指によるドラッグ操作が行われたと判断されてしまい、その結果、意図しない垂直移動動作または回転動作が行われることになる。
【０１２２】
そこで、タッチ操作検出部１５は、タッチパネル１７のうち、ユーザがケース１１を手持ちする際に把持することが想定される把持部（図９（ａ）に符号１１ａを付して示す）に隣接する所定範囲の領域（以下、検出除外領域と称す）に対するタッチ操作については検出対象から除外する。このようにすれば、例えば水平移動動作を行うべく、１本指によるドラッグ操作が行われる際に、把持する側の手による誤タッチが行われたとしても、その誤タッチが検出されることはないため、意図せずに垂直移動動作または回転動作が行われるといった誤動作の発生を確実に防止することができる。
【０１２３】
本発明者は、複数の評価者を対象とし、一方の手でケース１１を把持した状態で、他方の手を用いて１本の指によるドラッグ操作を行うという操作テストを実施した。なお、この操作テストでは、ティーチングペンダント４として、７インチ程度の表示部１２を持つ装置および４インチ程度の表示部１２を持つ装置の２種類を用いた。その結果を分析すると、７インチ程度の表示部１２を持つ装置を用いた場合、評価者は、ケース１１を図９（ａ）に示すように把持することが多かった。すなわち、右利きの評価者の場合、左手でケース１１の左下部分（把持部１１ａ）を把持する。このとき、左手の指のうち、親指がケース１１の表面（タッチパネル１７が設けられた面）に触れる。その際、親指が、タッチパネル１７のうち把持部１１ａに隣接する領域に誤って触れることがあった。
【０１２４】
そこで、表示部１２のサイズが７インチ程度である場合、図９（ｂ）に示すように、ユーザがケース１１を把持する際に親指の付け根が位置する可能性が高い位置を中心とした半径５０ｍｍ以内の領域を検出除外領域として設定する。なお、半径５０ｍｍ以内とした理由は、日本人の親指の平均的な長さが約６０ｍｍであり、誤タッチする際には親指の腹（指腹）が接触すると考えられるからである。また、この場合も、ユーザが左利きである場合、右利きとは左右を反転した箇所への誤タッチが生じる可能性が高いため、検出除外領域についても左右反転させる。さらに、上記操作テストの結果を分析すると、評価者がケース１１を把持する際における親指の角度（ケース１１の側面を基準とした角度）が、６５度程度であることが多いということも判明した。そこで、上記検出除外領域については、半径５０ｍｍの半円ではなく、６５度の扇形状（図９（ｂ）においてハッチングで示す領域）に変更してもよい。
【０１２５】
また、上記操作テストの結果、４インチ程度の表示部１２を持つ装置を用いた場合には、ケース１１を把持する手の指がタッチパネル１７に触れることがなかった。これは、ケース１１全体が片手に収まる程度の大きさであることに起因すると考えられる。従って、表示部１２のサイズが４インチ程度である場合、つまりケース１１が片手に収まる程度の大きさである場合、検出除外領域を設定する必要がないと考えられる。これに対し、表示部１２のサイズが７インチ程度である場合、つまりケース１１が片手に収まらない程度の大きさである場合、検出除外領域を設定する必要がある。従って、上記した検出除外領域の設定については、ケース１１の大きさに応じて有効化または無効化すればよい。
【０１２６】
ロボットシステム１において、ロボット２による誤動作は特に問題となるため、その発生を確実に防止する必要がある。一方、タッチ操作は、その性質上、タッチに対する誤判定などが生じる可能性が比較的高い。しかし、本実施形態によれば、前述したような工夫が施されているため、ロボット２の手動操作をタッチ操作により実現しつつ、ロボット２の誤動作の発生を確実に防止することが可能となる。
【０１２７】
なお、選択操作検出部１８は、タッチパネル１７上に表示させたボタン、又はティーチングペンダント４に設けられたキースイッチ１３などの物理的なボタンの操作を検出するもとすることができる。そして、操作判断処理は、選択操作検出部１８で検出した操作に基づいて、操作対象にする駆動軸又は動作態様を決定する処理を含んでいる。この場合、操作判断処理は、ドラッグ操作の指の本数及び方向を判断しても良いし、しなくても良い。
【０１２８】
これによれば、ユーザは、キースイッチ１３等を操作（選択操作）することにより、操作対象とする駆動軸又は動作態様を切り替えることができる。そのため、ユーザには、駆動軸又は動作態様を切り替えるためにキースイッチ１３等を操作する、という意志が働く。したがって、ユーザは、キースイッチ１３等に対する操作が、操作対象にする駆動軸又は動作態様を選択するための操作であることを意識し易くなる。したがって、これによれば、ユーザが誤った操作をすることにより、誤った操作対象が選択されてロボット２の誤作動を招く危険性が低減される。よって、操作性の向上が図られ、安全性の低下を招くことなく、ロボット２の手動操作をタッチ操作により実現することができる。また、操作性が向上することによって、教示に要する時間の短縮を図ることができる。
【０１２９】
（第２実施形態）
以下、第１実施形態に対し、対象とするロボットの種類を変更した第２実施形態について図１０を参照しながら説明する。
図１０に示す本実施形態のロボットシステム２１は、図１に示した第１実施形態のロボットシステム１に対し、ロボット２に代えてロボット２２を備えている点が異なる。
【０１３０】
ロボット２２は、例えば６軸の垂直多関節型ロボットとして構成されている。すなわち、ベース２５上には、Ｚ軸方向の軸心を持つ第１軸Ｊ２１を介してショルダ部２６が水平方向に回転可能に連結されている。ショルダ部２６には、Ｙ軸方向の軸心を持つ第２軸Ｊ２２を介して上方に延びる下アーム２７の下端部が垂直方向に回転可能に連結されている。下アーム２７の先端部には、Ｙ軸方向の軸心を持つ第３軸Ｊ２３を介して第１上アーム２８が垂直方向に回転可能に連結されている。第１上アーム２８の先端部には、Ｘ軸方向の軸心を持つ第４軸Ｊ２４を介して第２上アーム２９が捻り回転可能に連結されている。第２上アーム２９の先端部には、Ｙ軸方向の軸心を持つ第５軸Ｊ２５を介して手首３０が垂直方向に回転可能に連結されている。手首３０には、Ｘ軸方向の軸心を持つ第６軸Ｊ２６を介してフランジ３１が捻り回転可能に連結されている。
【０１３１】
ベース２５、ショルダ部２６、下アーム２７、第１上アーム２８、第２上アーム２９、手首３０およびフランジ３１は、ロボット２２のアームとして機能する。アーム先端であるフランジ３１（手先に相当）には、図示はしないが、例えばエアチャックなどのツールが取り付けられる。ロボット２２に設けられる複数の軸（Ｊ２１〜Ｊ２６）は、第１実施形態のロボット２と同様、それぞれに対応して設けられるモータ（図示せず）により駆動される。また、各モータの近傍には、それぞれの回転軸の回転位置を検出するための位置検出器（図示せず）が設けられている。
【０１３２】
６軸垂直多関節型のロボット２２は、第１実施形態における４軸水平多関節型のロボット２が行う得る動作に加え、その手先を、Ｚ軸とは異なる２つの軸回りに回転する動作を行うことが可能である。上記２つの軸とは、設置面に対して水平な互いに直交する２つの軸（Ｘ軸およびＹ軸）である。この場合、Ｘ軸回りの回転方向をＲｘ方向とし、Ｙ軸回りの回転方向をＲｙ方向としている。
【０１３３】
そのため、本実施形態によれば、操作対象となるロボット２２が行い得る全ての動作について、手動による操作で実現することはできない。しかし、６軸垂直多関節型のロボット２２の場合でも、前述した水平移動動作、垂直移動動作およびＺ軸回りの回転動作ができれば、概ね問題が生じることはない。なぜなら、手動操作の際には、上記３つの動作が行われる頻度が極めて高いため、本実施形態によっても、ユーザの利便性が大きく損なわれることがないからである。
【０１３４】
ただし、２本指での回転操作により行われる動作を、Ｘ軸回りの回転動作、Ｙ軸回りの回転動作およびＺ軸回りの回転動作のうち、いずれかに選択的に切り替えるためのスイッチを設ければ、６軸垂直多関節型のロボット２２が行い得る全ての動作について、手動による操作で実現することが可能となる。この場合、上記スイッチとしては、表示部１２の周囲に設けられる操作キーでもよいし、表示部１２のタッチパネルに形成されるタッチスイッチでもよい。
【０１３５】
（第３実施形態）
次に、第３実施形態について、図１１〜図１８を参照して説明する。なお、本実施形態は、上述した４軸の水平多関節型ロボット２を備えるロボットシステム１及び６軸の垂直多関節型ロボット２２を備えるロボットシステム２１のいずれにも適用することができる。この場合、４軸の水平多関節型ロボット２は、図１１に示すように、フランジ９が設置面Ｐ側（この場合、下方）へ向いた姿勢を基本姿勢とする。また、６軸の垂直多関節型ロボット２２は、図１２に示すように、フランジ３１が設置面Ｐ側（この場合、下方）を向いた姿勢を基本姿勢とする。ロボット２、２２は、この基本姿勢を維持したまま、又は基本姿勢に近い姿勢で、水平移動動作、垂直移動動作、又は回転動作が行われる。また、図１３及び図１４において、白抜きの円はタッチ操作の位置すなわちドラッグ操作の開始位置を示し、白抜きの矢印はドラッグ操作の方向を示している。
【０１３６】
上記各実施形態では、ドラッグ操作の種類の判断において、タッチパネル１７に対する縦方向又は横方向であるか否かについて考慮していなかった。一方、第３実施形態では、ドラッグ操作の種類の判断において、タッチパネル１７に対する縦方向又は横方向であるか否かについて考慮している。この点において、第３実施形態は、上記第１及び第２実施形態と異なる。
【０１３７】
ここで、タッチパネル１７に対する縦方向及び横方向を、次のように定義する。すなわち、タッチパネル１７に対する縦方向とは、図１３の矢印Ａで示すように、ユーザがティーチングペンダント４を持って操作する状態において、ユーザの体に対して遠ざかる又は近づく方向つまり離接する方向をいう。また、タッチパネル１７に対する横方向とは、上述の縦方向に直交する方向をいう。換言すれば、タッチパネル１７に対する横方向とは、図１３の矢印Ｂで示すように、ユーザがティーチングペンダント４を持って操作する状態において、ユーザの体の前面に対して並行する方向をいう。
【０１３８】
この場合、タッチパネル１７の縦方向及び横方向は、ユーザから見たタッチパネル１７に対する相対的な方向を意味する。つまり、ティーチングペンダント４は、加速度センサを備えており、その加速度センサによって自己の姿勢を検出することができる。ユーザがティーチングペンダント４を持った状態において、タッチパネル１７の面が完全に水平方向を向くことは希である。すなわち、図１４に示すように、ユーザ１００は、ティーチングペンダント４を保持する際、タッチパネル１７の面をユーザ１００側に向けることが自然である。この場合、タッチパネル１７の面内に高低差が生じる。そして、タッチパネル１７の最上点Ｈｉと最下点Ｌｏとを繋ぐ直線方向が、縦方向となる。また、この縦方向に直交する方向が横方向となる。この場合、ティーチングペンダント４が回転されるなどしてタッチパネル１７の姿勢が変化しても、ユーザ１００に対する縦方向及び横方向の相対的な関係は変化しない。
【０１３９】
第３実施形態は、上記各実施形態に対して、第１操作の態様は同様であるが、第２操作及び第３操作の態様が異なる。すなわち、第２操作は、２本指によるドラッグ操作であって所定の方向への操作として定義されている。そして、上記第１及び第２実施形態において、第２操作は、図３（２）に示したように、２本指を互いに同一の直線状にドラッグする操作、具体的にはスプレッド操作及びピンチ操作である。一方、第３実施形態において、第２操作は、図１３（２）に示すように、２本指による直線状のドラッグ操作であってタッチパネル１７上における縦方向への操作である。
【０１４０】
図１５（２）に示すように、２本指による直線状のドラッグ操作であってタッチパネル１７上における縦方向への操作（第２操作）が行われると、ロボット２又はロボット２２の手先について垂直移動動作が行われる。この場合、第２操作が、図１５（２）の矢印Ａ１で示すように、ユーザから遠ざかる方向つまりタッチパネル１７の上側（最上点Ｈｉ側）への操作である場合、動作指令生成部１６は、ロボット２又はロボット２２の手先をＺ軸に沿って上方へ移動させる動作指令を生成する。また、第２操作が、図１５（２）の矢印Ａ２で示すように、ユーザに近づく方向つまりタッチパネル１７の下側（最下点Ｌｏ側）への操作である場合、動作指令生成部１６は、ロボット２又はロボット２２の手先をＺ軸に沿って下方へ移動させる動作指令を生成する。すなわち、この場合、第２操作による操作方向つまり上下方向と、ロボット２、２２の手先の移動方向とが一致つまり関連している。したがって、ユーザは、自己が行った第２操作の操作方向から、ロボット２、２２の手先の移動方向を連想し易い。
【０１４１】
図１５（３）に示すように、２本指による直線状のドラッグ操作であってタッチパネル１７上における横方向の操作（第３操作）が行われると、ロボット２又はロボット２２の手先について回転動作が行われる。この場合、第３操作が、図１５（３）及び図１６の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図１６の矢印Ｊ１４Ｒで示すように、ロボット２又はロボット２２の手先を、Ｚ軸に対して手先の手前側部分（この場合、図１６の点Ｔで示すユーザ側部分）が右方へ向かうように、つまり平面視で反時計回り方向へ回転させる動作指令を生成する。
【０１４２】
また、第３操作が、図１５（３）及び図１６の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図１６の矢印Ｊ１４Ｌで示すように、ロボット２又はロボット２２の手先を、Ｚ軸に対して手先の手前側部分（この場合、図１６の点Ｔで示すユーザ側部分）が左方向へ向かうように、つまり平面視で時計回り方向へ回転させる動作指令を生成する。この場合、ユーザの第３操作による操作方向と、ロボット２、２２の手先の回転方向つまり手先のＺ軸に対する手前側部分の移動方向と、が一致つまり関連している。したがって、ユーザは、自己が行った第３操作の操作方向から、ロボット２、２２の手先の回転方向を連想し易い。
【０１４３】
上述したような各動作を実現するため、動作指令生成部１６は、図４に示すような内容の処理を実行する。すなわち、動作指令生成部１６は、ステップＳ１１、Ｓ２１において、操作判断処理を行う。また、動作指令生成部１６は、ステップＳ１２、Ｓ２２、Ｓ１７において、動作指令生成処理を行う。なお、図１７において、図４に示した処理と同一の処理については、同一のステップ番号を付して、その詳細な説明を省略する。
【０１４４】
動作指令生成部１６は、ステップＳ１１において、タッチ操作検出部１５により検出されたタッチ操作が、１本指および２本指のいずれによるドラッグ操作であるかを判断する（Ｓ１１；第１操作判断処理）。動作指令生成部１６は、ステップＳ１１にて１本指によるドラッグ操作（第１操作）であると判断した場合、ステップＳ１２においてロボット２の手先をＸ−Ｙ平面方向に移動させるための動作指令を生成する（Ｓ１２；水平移動動作指令生成処理）。
【０１４５】
動作指令生成部１６は、ステップＳ１１において２本指によるドラッグ操作であると判断した場合、すなわち第１操作ではなく第２操作又は第３操作のいずれかであると判断した場合、ステップＳ２１において、２本指による縦方向への操作（第２操作）又は横方向へのドラッグ操作（第３操作）であるかを判断する（Ｓ２１；第２操作判断処理、第３操作判断処理）。
【０１４６】
動作指令生成部１６は、ステップＳ２１において縦方向へのドラッグ操作（第２操作）であると判断した場合（Ｓ２１；縦方向）、ロボット２又はロボット２２の手先をＺ軸方向へ移動させるための動作指令を生成する（Ｓ２２；垂直移動動作指令生成処理）。また、動作指令生成部１６は、ステップＳ２１において横方向へのドラッグ操作（第３操作）であると判断した場合（Ｓ２１；横方向）、ロボット２又はロボット２２の手先をＺ軸回りに回転させるための動作指令を生成する（Ｓ１７；回転動作指令生成処理）。ステップＳ１２、Ｓ２２、Ｓ１７の実行後、処理が終了となる（エンド）。そして、コントローラ３が上記動作指令に基づいてロボット２又はロボット２２の動作を制御することにより、前述した水平移動動作、垂直移動動作または回転動作が実行される。
【０１４７】
以上説明したように、本実施形態でも、ロボット２、２２の手先系の操作における手動操作の際、所定の操作が行われると、その操作からユーザが連想し易いと考えられる動作をロボットに実行させるようになっている。この場合、各操作からその操作に対応する動作が連想されるという根拠は、人間の視覚・触覚情報などに基づくものであり、例えば次のような点にある。１本指によるドラッグ操作（第１操作）から水平移動動作が連想されるという根拠は、上記第１実施形態で述べた通りである。
【０１４８】
２本指によるドラッグ操作であって縦方向の操作（第２操作）からロボット２、２２の手先を垂直方向へ移動させる垂直移動動作が連想されるという根拠は、例えば次のような点にある。すなわち、図１４に示すように、通常、ユーザ１００は、ティーチングペンダント４を、ユーザ１００の腰から胸の間で持つことが多い。そしてこの場合、タッチパネル１７の視認性や操作性を考慮すると、ユーザ１００は、タッチパネル１７の画面がユーザ１００側へ向かって下方に傾斜するような姿勢で、ティーチングペンダント４を持つことが自然である。このような姿勢でユーザ１００がティーチングペンダント４を持つと、ティーチングペンダント４の縦方向つまり上下方向と、ロボット２、２２の手先の垂直方向つまり上下方向とが一致する。したがって、ユーザ１００は、タッチパネル１７の画面上の縦方向への操作と、ロボット２、２２の手先の垂直移動動作とを、関連して認識し易い。
【０１４９】
また、２本指によるドラッグ操作であって横方向の操作（第３操作）からロボット２、２２の手先を回転させる回転動作が連想されるという根拠は、例えば次のような点にある。すなわち、ロボット２、１２の手動操作は、ロボットの微調整のために行われることが多い。そのため、手動操作の際に、ロボットの手先は、設置面Ｐ側（この場合、下方）を向いていることが多い。この場合、手先の回転軸は、水平面に対して直角すなわち垂直方向へ向いている。この状態でロボットの手先を水平方向に見た場合、ロボットの手先が回転することで、ロボットの手先のある一点が水平方向に直線的に移動しているように見える。そのため、ユーザは、タッチパネルに対する横方向への操作が、ロボットの手先の回転動作を連想させると考えられる。したがって、ユーザは、タッチパネルに対する横方向の操作と、ロボットの手先の回転動作とを、関連して認識し易い。
【０１５０】
このように、本実施形態の手先系に関する各操作は、その操作により実行されるロボット２、２２の動作をユーザが直感的に連想することができ、且つシンプルな操作となっている。すなわち、ユーザは、ロボット２、２２の動作を直感的に連想することが可能で且つシンプルなジェスチャ操作（指の本数と方向と移動量との組合せによる操作）によって、ロボット２、２２の手先系の動作を操作することができる。そのため、ユーザは、自身の手元（操作箇所）を見ることなく、手先系の各操作を行うことができる。従って、ロボット２、２２の手先系の手動操作が行われる際、ユーザがロボット２から視線を逸らすことが無くなり、その安全性を良好に維持することができる。このように、本実施形態によれば、安全性の低下を招くことなく、ロボット２、２２の手先系の手動操作をタッチ操作により実現することができるという優れた効果が得られる。
【０１５１】
なお、第２操作による垂直移動動作を、上述したものと逆の態様にしてもよい。すなわち、第２操作が、図１５（２）の矢印Ａ１で示すように、ユーザから遠ざかる方向つまりタッチパネル１７の上側（最上点Ｈｉ側）への操作である場合、動作指令生成部１６は、ロボット２又はロボット２２の手先をＺ軸に沿って下方へ移動させるような指令を生成する。また、第２操作が、図１５（２）の矢印Ａ２で示すように、ユーザに近づく方向つまりタッチパネル１７の下側（最下点Ｌｏ側）への操作である場合、動作指令生成部１６は、ロボット２又はロボット２２の手先を、Ｚ軸に沿って上方へ移動させるような指令を生成する。この場合、第２操作による操作方向つまり上下方向と、ロボット２、２２の手先の移動方向とが、反対方向になっている。
【０１５２】
そして、このような操作態様は、６軸型の垂直多関節ロボット２２を後方側（図１２及び図１８の矢印Ｗ側）から操作する場合に、より有効であると考えられる。その根拠は、例えば次のような点にある。すなわち、６軸型の垂直多関節ロボット２２において、手先（フランジ３１）のＺ軸に沿った垂直方向の移動は、第２軸Ｊ２２と第３軸Ｊ２３とを駆動させることにより行う。第２軸Ｊ２２を駆動させた場合、アーム２７、２８、２９が一体となって移動する。この場合、ユーザは、アーム２７、２８、２９について、第２軸Ｊ２２を支点、手先（フランジ３１）を作用点、図１８で示す点Ｋ１部分を力点としたテコであるかのような印象を抱き易い。同様に、第３軸Ｊ２３を駆動させた場合、アーム２８、２９が一体となって移動する。この場合、ユーザは、アーム２８、２９について、第３軸Ｊ２３を支点、手先（フランジ３１）を作用点、図１８で示す点Ｋ２部分を力点としたテコであるかのような印象を抱き易い。
【０１５３】
いずれの場合についても、支点である第２軸Ｊ２２又は第３軸Ｊ２３を駆動させると、点Ｋ１、Ｋ２は、手先（フランジ３１）とは逆方向へ移動する。そして、ユーザがロボット２２を見ながらタッチパネル１７に対して縦方向のドラッグ操作をする様子は、ユーザに、力点Ｋ１、Ｋ２に対して縦方向（この場合、垂直方向）の仮想的な力を加える様子を連想させる。さらに、ユーザがロボット２２を後方側から見た場合、手先（フランジ３１）よりも力点Ｋ１、Ｋ２の方がユーザの近くにある。そのため、ユーザは、タッチパネル１７に縦方向のドラッグ操作をすることで、力点Ｋ１、Ｋ２に仮想的な力を及ぼして、作用点となる手先（フランジ３１）を力点Ｋ１、Ｋ２とは反対方向へ動かしているとの印象を抱き易い。よって、このような操作態様によれば、ユーザは、自己が行った第２操作の操作方向から、ロボット２、２２の手先の移動方向を連想し易くなり、その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０１５４】
（第４実施形態）
次に、第４実施形態について、図１９〜図２２を参照して説明する。上記各実施形態では、いわゆるジェスチャ操作（指の本数と方向と移動量との組合せによる操作）を、手先系の動作に適用した例について説明した。一方、本実施形態では、いわゆるジェスチャ操作を、各軸系の動作に適用した例について説明する。
【０１５５】
図１９は、ジェスチャ動作を、４軸の水平多関節ロボット２の各軸系の動作に適用した一例である。この場合、第１軸Ｊ１１の駆動は、図１９（１）に示すように、１本指の横方向へのドラッグ操作に応じて行われる。１本指の横方向へのドラッグ操作が、図１９（１）及び図２０の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１１Ｒで示すように、第１軸Ｊ１１を平面視で反時計回り方向へ回転させる動作指令を生成する。また、１本指の横方向へのドラッグ操作が、図１９（１）及び図２０の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１２Ｌで示すように、第１軸Ｊ１１を平面視で時計回り方向へ回転させる動作指令を生成する。
【０１５６】
第２軸Ｊ１２の駆動は、図１９（２）に示すように、２本指の横方向へのドラッグ操作に応じて行われる。２本指の横方向へのドラッグ操作が、図１９（２）及び図２０の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１２Ｒで示すように、第２軸Ｊ１２を平面視で反時計回り方向へ回転させる動作指令を生成する。また、２本指の横方向へのドラッグ操作が、図１９（２）及び図２０の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１２Ｌで示すように、第２軸Ｊ１２を平面視で時計回り方向へ回転させる動作指令を生成する。
【０１５７】
第３軸Ｊ１３の駆動は、図１９（３）に示すように１本指の縦方向へのドラッグ操作に応じて行われる。１本指の縦方向へのドラッグ操作が、図１９（３）の矢印Ａ１で示すように、タッチパネル１７に対して上方向すなわち最上点Ｈｉ側への操作である場合、動作指令生成部１６は、ロボット２の手先が上方へ移動するような動作指令を生成する。１本指の縦方向へのドラッグ操作が、図１９（３）の矢印Ａ２で示すように、タッチパネル１７に対して下方すなわち最下点Ｌｏ側への操作である場合、動作指令生成部１６は、ロボット２の手先が下方へ移動するような動作指令を生成する。
【０１５８】
第４軸Ｊ１４の駆動は、図１９（４）に示すように３本指の横方向へのドラッグ操作に応じて行われる。３本指の横方向へのドラッグ操作が、図１９（４）及び図２０の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１４Ｒで示すように、第４軸Ｊ１４を平面視で反時計回り方向へ回転させる動作指令を生成する。また、３本指の横方向へのドラッグ操作が、図１９（４）及び図２０の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２０の矢印Ｊ１４Ｌで示すように、第４軸Ｊ１４を平面視で時計回り方向へ回転させる動作指令を生成する。なお、これらの場合、各駆動軸に対応する方向のドラッグ操作の操作量つまりドラッグ量に応じて、各駆動軸の駆動量が決定される。
【０１５９】
本実施形態では、第３軸Ｊ１３を、第１群の駆動軸に分類している。第１群の駆動軸Ｊ１３は、ユーザに、垂直方向の動作を意識させ易い。この第１群の駆動軸Ｊ１３は、縦方向のドラッグ操作に基づいて駆動される。また、各駆動軸のうち第１群の駆動軸以外の駆動軸、すなわち第１軸Ｊ１１、第２軸Ｊ１２、及び第４軸Ｊ１４を第２群の駆動軸に分類している。第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４は、ユーザに、水平方向の動作を意識させ易い。これら第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４は、横方向のドラッグ操作に基づいて駆動される。
【０１６０】
上述したような各動作を実現するため、動作指令生成部１６は、図２１に示すような内容の処理を実行する。この場合、動作指令生成部１６は、ステップＳ３１、Ｓ３２、Ｓ３３において、駆動軸選択処理を行う。駆動軸選択処理は、検出されたタッチ操作が指によるドラッグ操作である場合に、そのドラッグ操作の指の本数と操作方向との組合せに基づいて、各駆動軸Ｊ１１〜Ｊ１４の中から駆動させる一の駆動軸を選択する処理である。ステップＳ３１〜Ｓ３３のうち、ステップＳ３１、Ｓ３２は、第１駆動軸選択処理である。第１駆動軸選択処理は、ドラッグ操作の方向が縦方向である場合に、第１群の駆動軸の中から駆動させる一の駆動軸を選択する処理である。本実施形態では、第１群の駆動軸は、第３軸Ｊ１３のみであるため、必然的に第３軸Ｊ１３が選択される。ステップＳ３１〜Ｓ３３のうち、ステップＳ３１、Ｓ３３は、第２駆動軸選択処理である。第２駆動軸選択処理は、ドラッグ操作の方向が横方向又は円周方向（本実施形態では横方向）である場合に、第１群の駆動軸以外の駆動軸（この場合、第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４）の中から駆動させる一の駆動軸を選択する処理である。
【０１６１】
具体的には、動作指令生成部１６は、ステップＳ３１において、タッチ操作検出部１５で検出されたドラッグ操作の方向が、横方向又は縦方向のいずれかであるかを判断する。タッチ操作検出部１５で検出されたドラッグ操作の方向が縦方向である場合（ステップＳ３１で縦方向）、動作指令生成部１６は、ステップＳ３２において、指の本数が１本であるか否かを判断する。タッチ操作の指の本数が１本である場合（ステップＳ３２でＹＥＳ）、動作指令生成部１６は、ステップＳ３４において、第３軸Ｊ１３を駆動させるための動作指令を生成する。
【０１６２】
一方、ドラッグ操作の方向が横方向である場合（ステップＳ３１で横方向）、動作指令生成部１６は、ステップＳ３３において、指の本数を判断する。タッチ操作の指の本数が１本である場合（ステップＳ３３で１本）、動作指令生成部１６は、ステップＳ３５において、第１軸Ｊ１１を駆動させるための動作指令を生成する。タッチ操作の指の本数が２本である場合（ステップＳ３５で２本）、動作指令生成部１６は、ステップＳ３６において、第２軸Ｊ１２を駆動させるための動作指令を生成する。タッチ操作の指の本数が３本である場合（ステップＳ３３で３本）、動作指令生成部１６は、ステップＳ３７において、第４軸Ｊ１４を駆動させるための動作指令を生成する。
【０１６３】
動作指令生成部１６は、ステップＳ３４〜Ｓ３７のいずれかで動作指令を生成した後、処理を終了する（エンド）。そして、コントローラ３が上記動作指令に基づいてロボット２の軸を駆動させることにより、各軸系の動作が行われる。一方、タッチ操作の指の本数が２本以上である場合（ステップＳ３２でＮＯ）、動作指令生成部１６は、動作指令を生成することなく処理を終了する（エンド）
【０１６４】
以上説明したように、本実施形態では、ロボット２の各軸系の動作における手動操作の際、所定の操作が行われると、その操作からユーザが連想し易いと考えられる各軸系の動作をロボット２に実行させるようになっている。この場合、各操作からその操作に対応する動作が連想されるという根拠は、人間の感覚情報などに基づくものであり、例えば次のような点にある。
【０１６５】
まず、横方向のドラッグ操作から、第２群の駆動軸すなわち第１軸Ｊ１１、第２軸Ｊ１２、及び第４軸Ｊ１４の駆動が連想されるという根拠は次の点にある。すなわち、４軸の水平多関節ロボット２において、第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４は、全て垂直方向に延びる回転軸である。そのため、第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４が駆動すると、ロボット２の手先は、各軸を中心として水平方向へ移動する。ここで、ユーザは、ロボット２を手動操作する際に、ロボット２を水平方向のやや上方から見ることが多い。この場合、ユーザには、ロボット２の手先は水平の横方向へ移動しているように見える。したがって、ユーザの操作方向と、ロボット２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する縦方向の操作と、第２群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４の駆動による手先の移動動作とを、関連して認識し易い。したがって、各軸系の動作をさせる際に、ユーザは、ロボット２の手先の移動方向と、自己の操作方向とを関連して認識し易くなる。なお、タッチパネル１７に対する縦方向の操作と、第２群の駆動軸（この場合、第３軸Ｊ１３）の駆動による垂直移動動作とが関連するという根拠については、第３実施形態で述べた理由と同様である。
【０１６６】
また、本実施形態によれば、横方向へのドラッグ操作において、指１本の操作の場合は第１軸Ｊ１１が駆動され、指２本の操作の場合は第２軸Ｊ１２が駆動され、指３本の操作の場合は第４軸Ｊ１４が駆動される。このように、本実施形態では、ドラッグ操作に用いる指の本数が増えるにつれて、駆動される第２群の駆動軸の番号が増えるようになっている。このため、ユーザは、ドラッグ操作に用いる指の本数と、駆動される軸とを関連して認識し易くなる。これらの結果、操作性の更なる向上が図られる。
【０１６７】
更に、動作指令生成部１６は、上述の駆動軸選択処理において、ドラッグ操作の指の本数の増加に伴って、ロボット２のベース５側の駆動軸から手先（フランジ９）側の駆動軸へ移行するように、すなわち第１軸Ｊ１１から、第２軸Ｊ１２、第４軸Ｊ１４へと移行するようにして、駆動させる駆動軸を決定している。通常、ユーザは、ドラッグ操作に用いる指の本数が少ないほど、その操作に集中することができると考えられる。したがって、ユーザは、ドラッグ操作に用いる指の本数が少ないほど、より精密な操作をすることができると考えられる。ここで、駆動される駆動軸がベース５側に近いほど、つまり軸の番号が若いほど、その駆動軸の駆動がロボット２の手先の移動量に与える影響が大きくなる。本実施形態によれば、ユーザは、ロボット２の手先の移動量への影響が大きい駆動軸に対して、より少ない指で精密な操作をすることができる。したがって、操作性の更なる向上が図られる。
【０１６８】
なお、動作指令生成部１６は、駆動軸選択処理において、ドラッグ操作の指の本数の増加に伴って、ロボット２の手先（フランジ９）側の駆動軸からベース５側の駆動軸へ移行するように、すなわち第４軸Ｊ１４から、第２軸Ｊ１２、第１軸Ｊ１１へと移行するようにして、駆動させる駆動軸を決定してもよい。通常、手動操作においては、手先に近い動作が多用される。すなわち、手動操作においては、第２群の駆動軸のうち、軸の番号が大きい軸の方が多用される。この場合、ユーザは、手動操作の際に多用される駆動軸に対して、より少ない指で精密な操作をすることができる。したがって、これによっても、操作性の更なる向上が図られる。
【０１６９】
（第５実施形態）
次に、第５実施形態について、図１８、及び図２２〜図２５を参照して説明する。本実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系の動作に適用するものである。本実施形態において、各軸の駆動は、次のようにして行われる。６軸のロボット２２の第１軸Ｊ２１の駆動は、４軸のロボット２の第１軸Ｊ１１の駆動と同様にして行われる。すなわち、第１軸Ｊ２１は、図２２（１）に示すように、１本指の横方向へのドラッグ操作に応じて行われる。１本指の横方向へのドラッグ操作が、図２２（１）及び図２３の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２３の矢印Ｊ２１Ｒで示すように、第１軸Ｊ２１を平面視で反時計回り方向へ回転させる動作指令を生成する。また、１本指の横方向へのドラッグ操作が、図２２（１）及び図２３の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２３の矢印Ｊ２１Ｌで示すように、第１軸Ｊ２１を平面視で時計回り方向へ回転させる動作指令を生成する。
【０１７０】
第２軸Ｊ２２の駆動は、４軸のロボット２の第３軸Ｊ１３の駆動と同様にして行われる。すなわち、第２軸Ｊ２２の駆動は、図２２（２）に示すように１本指の縦方向へのドラッグ操作に応じて行われる。１本指の縦方向へのドラッグ操作が、図２２（２）の矢印Ａ１で示すように、タッチパネル１７に対して上方向すなわち最上点Ｈｉ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が上方へ移動するように第２軸Ｊ２２を回転させるための動作指令を生成する。本指の縦方向へのドラッグ操作が、図２２（２）の矢印Ａ２で示すように、タッチパネル１７に対して下方向すなわち最下点Ｌｏ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が下方へ移動するように第２軸Ｊ２２を回転させるための動作指令を生成する。
【０１７１】
第３軸Ｊ２３の駆動は、図２２（３）に示すように２本指の縦方向へのドラッグ操作に応じて行われる。２本指の縦方向へのドラッグ操作が、図２２（３）の矢印Ａ１で示すように、タッチパネル１７に対して上方向すなわち最上点Ｈｉ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が上方へ移動するように第３軸Ｊ２３を回転させるための動作指令を生成する。２本指の縦方向へのドラッグ操作が、図２２（３）の矢印Ａ２で示すように、タッチパネル１７に対して下方向すなわち最下点Ｌｏ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が下方へ移動するように第３軸Ｊ２３を回転させるための動作指令を生成する。
【０１７２】
第４軸Ｊ２４の駆動は、図２２（４）に示すように、２本指の横方向へのドラッグ操作に応じて行われる。２本指の横方向へのドラッグ操作が、図２２（４）及び図２３の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２４の矢印Ｊ２４Ｒで示すように、第２上アーム２９側から第１上アーム２８側へ向かって見た場合に、第４軸Ｊ２４を時計回り方向へ回転させる動作指令を生成する。また、２本指の横方向へのドラッグ操作が、図２２（４）及び図２３の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２４の矢印Ｊ２４Ｌで示すように、第２上アーム２９側から第１上アーム２８側へ向かって見た場合に、第４軸Ｊ２４を反時計回り方向へ回転させる動作指令を生成する。
【０１７３】
第５軸Ｊ２５の駆動は、図２２（５）に示すように３本指の縦方向へのドラッグ操作に応じて行われる。３本指の縦方向へのドラッグ操作が、図２２（５）の矢印Ａ１で示すように、タッチパネル１７に対して上方向すなわち最上点Ｈｉ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が上方へ移動するように第５軸Ｊ２５を回転させるための動作指令を生成する。３本指の縦方向へのドラッグ操作が、図２２（５）の矢印Ａ２で示すように、タッチパネル１７に対して下方向すなわち最下点Ｌｏ側への操作である場合、動作指令生成部１６は、ロボット２２の手先が下方へ移動するように第５軸Ｊ２５を回転させるための動作指令を生成する。
【０１７４】
第６軸Ｊ２６の駆動は、図２２（６）に示すように、３本指の横方向へのドラッグ操作に応じて行われる。３本指の横方向へのドラッグ操作が、図２２（６）及び図２３の矢印Ｂ１で示すように、タッチパネル１７に対して右方向への操作である場合、動作指令生成部１６は、図２３の矢印Ｊ２６Ｒで示すように、第４軸Ｊ２４を平面視で反時計回り方向へ回転させる動作指令を生成する。また、３本指の横方向へのドラッグ操作が、図２２（６）及び図２３の矢印Ｂ２で示すように、タッチパネル１７に対して左方向への操作である場合、動作指令生成部１６は、図２３の矢印Ｊ２６Ｌで示すように、第４軸Ｊ２４を平面視で時計回り方向へ回転させる動作指令を生成する。
【０１７５】
本実施形態では、各駆動軸のうち第２軸Ｊ２２、第３軸Ｊ２３、及び第５軸Ｊ２５を第１群の駆動軸に分類している。第２群の駆動軸Ｊ２２、Ｊ２３、Ｊ２５は、縦方向のドラッグ操作に基づいて駆動される。また、各駆動軸のうち第１群の駆動軸以外の駆動軸、すなわち第１軸Ｊ２１、第４軸Ｊ２４、及び第６軸Ｊ２６を第２群の駆動軸に分類している。第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６は、横方向のドラッグ操作に基づいて駆動される。
【０１７６】
上述したような各動作を実現するため、動作指令生成部１６は、図２５に示すような内容の処理を実行する。この場合、動作指令生成部１６は、ステップＳＳ４１、Ｓ４２、Ｓ４３において、駆動軸選択処理を行う。駆動軸選択処理は、上述した図２１のステップＳ３１、Ｓ３２、Ｓ３３と同様の処理である。すなわち、駆動軸選択処理は、検出されたタッチ操作が指によるドラッグ操作である場合に、そのドラッグ操作の指の本数と操作方向との組合せに基づいて、各駆動軸Ｊ２１〜Ｊ２６の中から駆動させる一の駆動軸を選択する処理である。
【０１７７】
ステップＳ４１〜Ｓ４３のうち、ステップＳ４１、Ｓ４２は、第１駆動軸選択処理である。第１駆動軸選択処理は、ドラッグ操作の方向が縦方向である場合に、第１群の駆動軸Ｊ２２、Ｊ２３、Ｊ２５の中から駆動させる一の駆動軸を選択する処理である。ステップＳ４１〜Ｓ４３のうち、ステップＳ４１、Ｓ４３は、第２駆動軸選択処理である。第２駆動軸選択処理は、ドラッグ操作の方向が横方向又は回転方向（本実施形態では横方向）である場合に、第１群の駆動軸以外の駆動軸（この場合、第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６）の中から駆動させる一の駆動軸を選択する処理である。
【０１７８】
具体的には、動作指令生成部１６は、ステップＳ４１において、タッチ操作検出部１５で検出されたドラッグ操作の方向が、横方向又は縦方向のいずれかであるかを判断する。そのドラッグ操作の方向が縦方向である場合（ステップＳ４１で縦方向）、動作指令生成部１６は、ステップＳ４２において、指の本数を判断する。タッチ操作の指の本数が１本である場合（ステップＳ４２で１本）、動作指令生成部１６は、ステップＳ４４において、第２軸Ｊ２２を駆動させるための動作指令を生成する。タッチ操作の指の本数が２本である場合（ステップＳ４２で２本）、動作指令生成部１６は、ステップＳ４５において、第３軸Ｊ２３を駆動させるための動作指令を生成する。タッチ操作の指の本数が３本である場合（ステップＳ４２で３本）、動作指令生成部１６は、ステップＳ４６において、第５軸Ｊ２５を駆動させるための動作指令を生成する。
【０１７９】
一方、タッチ操作検出部１５で検出されたドラッグ操作の方向が横方向である場合（ステップＳ４１で横方向）、動作指令生成部１６は、ステップＳ４３において、指の本数を判断する。タッチ操作の指の本数が１本である場合（ステップＳ４３で１本）、動作指令生成部１６は、ステップＳ４７において、第１軸Ｊ２１を駆動させるための動作指令を生成する。タッチ操作の指の本数が２本である場合（ステップＳ４３で２本）、動作指令生成部１６は、ステップＳ４８において、第４軸Ｊ２４を駆動させるための動作指令を生成する。タッチ操作の指の本数が３本である場合（ステップＳ４３で３本）、動作指令生成部１６は、ステップＳ４９において、第６軸Ｊ２６を駆動させるための動作指令を生成する。動作指令生成部１６は、ステップＳ４４〜Ｓ４９のいずれかで動作指令を生成した後、処理を終了する（エンド）。そして、コントローラ３が上記動作指令に基づいてロボット２の軸を駆動させることにより、各軸系の動作が行われる。
【０１８０】
以上説明したように、本実施形態では、ロボット２２の各軸系の動作における手動操作の際、所定の操作が行われると、その操作からユーザが連想し易いと考えられる各軸系の動作をロボット２２に実行させるようになっている。この場合、各操作からその操作に対応する動作が連想されるという根拠は、人間の感覚情報などに基づくものであり、例えば次のような点にある。
【０１８１】
まず、横方向のドラッグ操作から、第１群の駆動軸すなわち第１軸Ｊ２１、第４軸Ｊ２４、及び第６軸Ｊ２６の駆動が連想されるという根拠は、上記第４実施形態と略同様である。すなわち、６軸の多関節ロボット２２は、手動操作の際、図１２に示す基本姿勢を維持したまま、又は基本姿勢に近い姿勢で、各軸の駆動が行われることが多い。そして、６軸の垂直多関節ロボット２２において、第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６は、駆動軸が駆動した際に回転しない不動側の部材と、駆動軸が駆動した際に回転する回転側の部材とが、直線状に配置されている。
【０１８２】
具体的には、第１軸Ｊ２１について見た場合、ベース２５は不動側の部材であり、ショルダ部２６は回転側の部材である。この場合、ロボット２２は、基本姿勢の状態から、第１軸Ｊ２１が駆動されてショルダ部２６が回転すると、手先（フランジ３１）は、水平面上において円弧状に移動する。ここで、ユーザは、ロボット２２を手動操作する際に、ロボット２２を水平方向のやや上方から見ることが多い。この場合、ユーザには、ロボット２２の手先（フランジ３１）が水平の横方向へ移動しているように見える。したがって、ユーザの操作方向と、ロボット２２の手先の移動方向とが一致する。
【０１８３】
第４軸Ｊ２４について見た場合、第１上アーム２８は不動側の部材であり、第２上アーム２９は回転側の部材である。この場合、ロボット２２は、基本姿勢の状態から、第４軸Ｊ２４が駆動されて第２上アーム２９が回転すると、手先（フランジ３１）の先端部は、水平面に対して傾いた面（第４軸Ｊ２４に対して垂直な面）上において円弧状に移動する。そして、上述したように、ユーザがロボット２２を水平方向のやや上方から見た場合、ユーザには、ロボット２２の手先（フランジ３１）が水平の横方向へ移動しているように見える。したがって、ユーザの操作方向と、ロボット２２の手先の移動方向とが一致する。
【０１８４】
第６軸Ｊ２６について見た場合、手首３０は不動側の部材であり、フランジ３１は回転側の部材である。この場合、ロボット２２は、基本姿勢の状態から、第６軸Ｊ２６が駆動されて手先（フランジ３１）が回転すると、手先（フランジ３１）の円周上のある一点部分は、第６軸Ｊ２６に対する垂直な面（この場合、水平面）上を円弧状に移動する。そして、上述したように、ユーザがロボット２２を水平方向のやや上方から見た場合、ユーザには、ロボット２２の手先（フランジ３１）のある一点が水平の横方向へ移動しているように見える。したがって、ユーザの操作方向と、ロボット２２の手先の移動方向とが一致する。
【０１８５】
このように、本実施形態によれば、ユーザの操作方向と、ロボット２２の手先の移動方向とが一致する。よって、ユーザは、タッチパネル１７に対する縦方向の操作と、第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６の駆動による手先の移動動作とを、関連して認識し易い。なお、タッチパネル１７に対する縦方向の操作と、第２群の駆動軸（この場合、第３軸Ｊ１３）の駆動による垂直移動動作とが関連するという根拠については、第３実施形態で述べた理由と同様である。このような実施形態によれば、各軸系の動作をさせる際に、ユーザは、自己の操作態様から、ロボット２２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０１８６】
また、本実施形態によれば、横方向へのドラッグ操作において、指１本の操作の場合は第１軸Ｊ２１が駆動され、指２本の操作の場合は第４軸Ｊ２４が駆動され、指３本の操作の場合は第４軸Ｊ２４が駆動される。このように、本実施形態では、ドラッグ操作に用いる指の本数が増えるにつれて、駆動される第１群の駆動軸の番号が増えるようになっている。このため、ユーザは、ドラッグ操作に用いる指の本数と、駆動される軸とを関連して認識し易くなる。これらの結果、操作性の更なる向上が図られる。
【０１８７】
更に、動作指令生成部１６は、上述の駆動軸選択処理において、ドラッグ操作の指の本数の増加に伴って、ロボット２２のベース５側の駆動軸から手先（フランジ３１）側の駆動軸へ移行するように、すなわち第１軸Ｊ２１から、第４軸Ｊ２４、第６軸Ｊ２６へと移行するようにして、駆動させる駆動軸を決定している。これによれば、上記第４実施形態と同様に、ユーザは、ロボット２２の手先の移動量への影響が大きい駆動軸に対して、より少ない指で精密な操作をすることができる。したがって、操作性の更なる向上が図られる。
【０１８８】
なお、動作指令生成部１６は、駆動軸選択処理において、ドラッグ操作の指の本数の増加に伴って、ロボット２２の手先（フランジ３１）側の駆動軸からベース５側の駆動軸へ移行するように、すなわち第６軸Ｊ２６から、第４軸Ｊ２４、第１軸Ｊ２１へと順に移行するようにして、駆動させる駆動軸を決定してもよい。これによれば、上記した第４実施形態と同様に、ユーザは、手動操作の際に多用される駆動軸に対して、より少ない指で精密な操作をすることができる。したがって、これによっても、操作性の更なる向上が図られる。
【０１８９】
（第６実施形態）
次に、第６実施形態について、図２６を参照して説明する。第６実施形態は、いわゆるジェスチャ操作を、４軸の水平多関節型ロボット２の各軸系の動作に適用した例である。この第６実施形態では、第４軸Ｊ１４を駆動させるための操作が、上記第４実施形態と異なる。すなわち、第１群の駆動軸Ｊ１１、Ｊ２１、Ｊ１４のうち第４軸Ｊ１４は、図２６（４）に示すように、２本指による円周方向へのドラッグ操作すなわち２本指のいずれかによる回転操作に基づいて行われる。
【０１９０】
この場合、図２６（４）の矢印Ｃ１で示すように、２本指による円周方向へのドラッグ操作が、タッチパネル１７に対して時計回り側への操作である場合、動作指令生成部１６は、ロボット２の手先を平面視で時計回り側へ回転させるように第４軸Ｊ１４を駆動させるための動作指令を生成する。一方、図２６（４）の矢印Ｃ２で示すように、２本指による円周方向へのドラッグ操作が、タッチパネル１７に対して反時計回り側への操作である場合、動作指令生成部１６は、ロボット２の手先を平面視で反時計回り側へ回転させるように第４軸Ｊ１４を駆動させるための動作指令を生成する。
【０１９１】
この２本指による円周方向へのドラッグ操作から、第４軸Ｊ１４の駆動つまり手先（フランジ９）の回転動作が連想されるという根拠は、上記第１実施形態における手先の回転動作の説明で述べた通りである。すなわち、ユーザのドラッグ操作による操作方向と、ロボット２の手先の平面視における回転方向とが一致している。したがって、このような実施形態によっても、ユーザは、各軸系の動作をさせる際に、自己の操作態様から、ロボット２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０１９２】
（第７実施形態）
次に、第７実施形態について、図２７を参照して説明する。第７実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系の動作に適用した例である。この第７実施形態では、第４軸Ｊ２４を駆動させるための操作が、上記第５実施形態と異なる。すなわち、第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６のうち第４軸Ｊ２４は、図２７（４）に示すように、２本指による円周方向へのドラッグ操作に基づいて行われる。
【０１９３】
この場合、図２７（６）の矢印Ｃ１で示すように、２本指による円周方向へのドラッグ操作が、タッチパネル１７に対して時計回り側への操作である場合、ロボット２２の手先を平面視で時計回り側へ回転させるように第６軸Ｊ２６を駆動させるための動作指令を生成する。一方、図２７（６）の矢印Ｃ２で示すように、２本指による円周方向へのドラッグ操作が、タッチパネル１７に対して反時計回り側への操作である場合、ロボット２２の手先を平面視で反時計回り側へ回転させるように第６軸Ｊ２６を駆動させるための動作指令を生成する。
【０１９４】
この２本指による円周方向へのドラッグ操作から、第６軸Ｊ２６の駆動つまり手先（フランジ３１）の回転動作が連想されるという根拠は、上記第１実施形態における手先の回転動作の説明で述べた通りである。すなわち、ユーザのドラッグ操作による操作方向と、ロボット２２の手先の平面視における回転方向とが一致している。したがって、このような実施形態によっても、ユーザは、各軸系の動作をさせる際に、自己の操作態様から、ロボット２２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０１９５】
（第８実施形態）
次に、第８実施形態について、図２８及び図２９を参照して説明する。第８実施形態は、いわゆるジェスチャ操作を、４軸の水平多関節型ロボット２の各軸系の動作に適用した例である。この第８実施形態では、第４軸Ｊ１４を駆動させるための操作が、上記第４実施形態及び第６実施形態と異なる。すなわち、第１群の駆動軸Ｊ１１、Ｊ１２、Ｊ１４のうち第４軸Ｊ１４は、図２８（４）に示すように、３本指による円周方向へのドラッグ操作に基づいて行われる。
【０１９６】
３本指による円周方向へのドラッグ操作であるか否かの判断は、例えば次のようにして行われる。すなわち、動作指令生成部１６は、複数本（この場合、３本）の指によるタッチ操作において、その複数本（この場合、３本）の指のうち指のタッチ位置の距離が最も遠い２本の指を抽出する。動作指令生成部１６は、各指の接触位置つまり移動開始位置の相互間の距離を検出し、その距離を比較する。動作指令生成部１６は、各指の接触位置の相互間の距離が最も遠い２つの位置つまり２本の指について、上記第１実施形態で説明したように、その２本指のいずれかに回転成分が含まれるか否かを判断する。その２本指のいずれかに回転成分が含まれている場合、動作指令生成部１６は、複数本（この場合、３本）の指による操作が円周方向への操作であると判断する。一方、その２本指の両方に回転成分が含まれていない場合、動作指令生成部１６は、複数本（この場合、３本）の指による操作が円周方向への操作でないと判断する。
【０１９７】
例えばユーザが、親指、人差し指、中指の３本の指によって、円周方向へのドラッグ操作を行った場合について説明する。ユーザの各指は、タッチパネル１７に対して、例えば図２９の位置Ｐ１、Ｐ２、Ｐ３で示すように接触する。この場合、位置Ｐ１〜Ｐ３のうち、位置Ｐ１は親指、位置Ｐ２は人差し指、位置Ｐ３は中指による接触位置を示している。人の手は、手を開いた状態において、人差し指、中指、薬指、小指の４本の指の延びる方向と、親指の延びる方向とが異なっている。このような人の手の構造上、例えばユーザが、３本指による円周方向のドラッグ操作をする際、通常、人の掌の中心部分（図２９の点Ｏ部分）を回転中心にして、親指と親指以外の指（この場合、人差し指と中指）とが対向するように回転する。
【０１９８】
この場合、親指（位置Ｐ２）の移動方向と、他の指つまり人差し指（位置Ｐ１）及び中指（位置Ｐ３）の移動方向とは、タッチパネル１７の平面上において略逆方向を向いている。換言すれば、親指（位置Ｐ２）以外の指つまり人差し指（位置Ｐ１）及び中指（位置Ｐ３）の移動方向は、略同一方向を向いている。この場合、親指（位置Ｐ２）以外の指つまり人差し指（位置Ｐ１）及び中指（位置Ｐ３）の移動に係るベクトルに基づいて、回転成分が含まれるか否かを判断した場合、次のような不都合が生じる。
【０１９９】
すなわち、図２９に示すように、人差し指（位置Ｐ１）の移動に係るベクトルをＶＰ１、親指（位置Ｐ２）の移動に係るベクトルをＶＰ２、中指（位置Ｐ３）の移動に係るベクトルをＶＰ３とする。この場合、人差し指（位置Ｐ１）の移動方向と中指（位置Ｐ３）の移動方向とは略同一であるため、人差し指（位置Ｐ１）の移動に係るベクトルＶＰ１と、中指（位置Ｐ３）の移動に係るベクトルＶＰ３との成す角度は小さい。この場合、人差し指（位置Ｐ１）の移動に係るベクトルＶＰ１と、中指（位置Ｐ３）の移動に係るベクトルＶＰ３との成す角度とが判定閾値未満となって、そのドラッグ操作が円周方向への操作でないと判断される可能性が高い。
【０２００】
一方、親指（位置Ｐ２）の移動方向と、他の指つまり人差し指（位置Ｐ１）及び中指（位置Ｐ３）の移動方向とは、タッチパネル１７の平面上において略逆方向である。そのため、親指（位置Ｐ２）の移動に係るベクトルＶＰ２と、親指以外の指の移動に係るベクトル（ベクトルＶＰ１又はベクトルＶＰ３）との成す角度は大きい。したがって、親指（位置Ｐ２）の移動に係るベクトルＶＰ２と、親指以外の指の移動に係るベクトル（ベクトルＶＰ１又はベクトルＶＰ３）との成す角度が判定閾値未満になる可能性は極めて低い。以上の理由から、複数本の指によるドラッグ操作が円周方向への操作であるか否かの判断においては、複数本のうち距離の最も通り２本の指について、その２本指のいずれかに回転成分が含まれるか否かを判断すれば十分である。
【０２０１】
３本指による円周方向へのドラッグ操作から、第４軸Ｊ１４の駆動つまり手先（フランジ９）の回転動作が連想されるという根拠は、２本指による円周方向へのドラッグ操作から、第４軸Ｊ１４の駆動つまり手先（フランジ９）の回転動作が連想されるという根拠と同様である。この場合も、第４軸Ｊ１４の動作に関し、ユーザのドラッグ操作による操作方向と、ロボット２の手先の平面視における回転方向とが一致している。したがって、このような実施形態によっても、ユーザは、各軸系の動作をさせる際に、自己の操作態様から、ロボット２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０２０２】
（第９実施形態）
次に、第９実施形態について、図３０を参照して説明する。第９実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系の操作に適用した例である。この第９実施形態では、第６軸Ｊ２６を駆動させるための動作が、上記第５実施形態と異なる。すなわち、第２群の駆動軸Ｊ２１、Ｊ２４、Ｊ２６のうち第６軸Ｊ２６は、図３０（６）に示すように、３本指による円周方向へのドラッグ操作に基づいて行われる。この第６軸Ｊ２６を駆動させるための操作は、図２８（４）に示した上記第８実施形態において第４軸Ｊ１４を駆動させるための操作と同様である。この場合、３本指による円周方向へのドラッグ操作であるか否かの判断方法は、上記第８実施形態で述べた通りである。また、３本指による円周方向へのドラッグ操作から、第６軸Ｊ２６の駆動つまり手先（フランジ３１）の回転動作が連想されるという根拠は、上記第８実施形態の第４軸Ｊ１４に関する説明で述べた通りである。
【０２０３】
この場合、第６軸Ｊ２６の動作に関し、ユーザのドラッグ操作による操作方向と、ロボット２の手先の平面視における回転方向とが一致している。したがって、このような実施形態によっても、ユーザは、各軸系の動作をさせる際に、自己の操作態様から、ロボット２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができる。
【０２０４】
（第１０実施形態）
次に、第１０実施形態について、図３１を参照して説明する。第１０実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系の操作に適用した例である。この第１０実施形態では、図２２に示す第４実施形態における各軸の操作に対して、図２７（４）に示す第７実施形態における第４軸Ｊ２４に関する操作、及び図３０（６）に示す第９実施形態における第６軸Ｊ２６に関する操作を適用したものである。すなわち、第４軸Ｊ２４の駆動は、図３１（４）に示すように、２本指による円周方向へのドラッグ操作に基づいて行われる。また、第６軸Ｊ２６の駆動は、図３１（６）に示すように、３本指による円周方向へのドラッグ操作に基づいて行われる。
【０２０５】
ここで、４軸の水平多関節ロボット２において、第１群の駆動軸は、第４軸Ｊ１４のみから構成される。一方、６軸の垂直多関節ロボット２２において、第１群の駆動軸は、第１軸Ｊ２１、第４軸Ｊ２４、及び第６軸Ｊ２６の３つとなる。本実施形態では、第１群の駆動軸のうち、手先（フランジ３１）側に近い２つの駆動軸（第４軸Ｊ２４及び第６軸Ｊ２６）については、複数本の指による円周方向へのドラッグ操作に基づいて行われる。
【０２０６】
６軸の垂直多関節ロボット２２において、ベース２５側に最も近い第１軸Ｊ２１が駆動されると、手先（フランジ３１）は、水平面上で移動つまり２次元的に移動する。したがって、ユーザは、第１軸Ｊ２１の駆動による手先（フランジ３１）の動作を、水平面上の２次元的な動作であると意識し易くなる。一方、手先側に近い第４軸Ｊ２４及び第６軸Ｊ２６が駆動すると、手先（フランジ３１）は、ロボット２２の姿勢によっては水平面上のみならず垂直方向へも移動つまり３次元的に移動することになる。したがって、ユーザは、第４軸Ｊ２４又は第６軸Ｊ２６の駆動による手先（フランジ３１）の動作を、水平面上の２次元的な動作というよりもむしろ、各駆動軸Ｊ２４、Ｊ２６を回転中心とした３次元的な回転動作であると意識し易くなる。
【０２０７】
このように、ユーザが３次元的な回転動作であると意識し易い第４軸Ｊ２４及び第６軸Ｊ２６の操作を、複数本の指による円周方向のドラッグ操作とすることで、ユーザの意識と手先（フランジ３１）の移動方向とを一致させることができる。したがって、このような実施形態によっても、各軸系の動作をさせる際に、ユーザは、自己の操作態様から、ロボット２２の手先の移動方向を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。その結果、操作性の向上が図られ、安全性の低下を抑制することができるとともに、教示に要する時間を短縮することができる。
【０２０８】
（第１１実施形態）
次に、第１１実施形態について、図３２を参照して説明する。第１１実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系の操作に適用した例である。この第１１実施形態において、第１軸Ｊ２１から第５軸Ｊ２５までは、横方向へのドラッグ操作の指の本数に対応している。この場合、駆動軸選択処理は、ドラッグ操作の指の本数が１本、２本・・・５本と増加することに伴い、駆動させる駆動軸が第１軸Ｊ２１、第２軸Ｊ２２・・・第５軸Ｊ２５と、ロボット２２のベース２５側から手先側へ移行するようにして、駆動させる駆動軸を決定する。
【０２０９】
具体的には、第１軸Ｊ２１の駆動は、図３２（１）に示すように、１本指による横方向へのドラッグ操作に基づいて行われる。第２軸Ｊ２２の駆動は、図３２（２）に示すように、２本指による横方向へのドラッグ操作に基づいて行われる。第３軸Ｊ２３の駆動は、図３２（３）に示すように、３本指による横方向へのドラッグ操作に基づいて行われる。第４軸Ｊ２４の駆動は、図３２（４）に示すように、４本指による横方向へのドラッグ操作に基づいて行われる。第５軸Ｊ２５の駆動は、図３２（５）に示すように、５本指による横方向へのドラッグ操作に基づいて行われる。
【０２１０】
また、第６軸Ｊ２６の駆動は、図３２（６）に示すように、１本指による横方向へのドラッグ操作に基づいて行われる。なお、この第６軸Ｊ２６の駆動は、図３１（４）に示す２本指による円周方向へのドラッグ操作に基づいて行われてもよい。この場合、２本指による円周方向へのドラッグ操作は、例えば２本の指で円を描くようにしてもよいし、１本の指を固定してもう１本の指で円を描くようにしてもよい。また、片手で操作してもよいし、両手で操作してもよい。また、第６軸Ｊ２６の駆動は、図３１（６）に示す３本指による円周方向へのドラッグ操作に基づいて行われてもよい。
【０２１１】
このように、ドラッグ操作の指の本数と、駆動させる駆動軸の番号とを一致させることで、ユーザの意識と駆動軸とを一致させることができる。したがって、このような実施形態によっても、各軸系の動作をさせる際に、ユーザは、自己の操作態様から、駆動させる軸を連想し易くなる。すなわち、操作に対応する駆動軸が分かり易くなる。
【０２１２】
また、これによれば、ユーザは、第６軸Ｊ２６の駆動つまり手先の回転動作を、１本指の縦方向のドラッグ操作で行うことができる。手動操作は、上述したように、ロボットの手先の位置及び姿勢の微調整を行うために用いられることが多い。そのため、手動操作において、手先に最も近い第６軸Ｊ２６は、多用されるとともに微細な動作が要求される。したがって、第６軸Ｊ２６の駆動を、容易かつ精密な操作が可能な１本指によるドラッグ操作に対応させることで、ユーザは、手動操作で多用される手先の回転動作を、より容易かつ精密に行うことができる。これらの結果、操作性の向上が図られ、安全性の低下を抑制することができるとともに、教示に要する時間を短縮することができる。
【０２１３】
なお、第６軸Ｊ２６の駆動を、円周方向へのドラッグ操作に対応させた場合、ユーザは、第６軸Ｊ２６の駆動によるロボットの手首の回転動作と、円周方向へのドラッグ操作とを関連して認識し易い。したがって、これによれば、より直感的な操作が可能となる。
【０２１４】
（第１２実施形態）
次に、第１２実施形態について、図３３を参照して説明する。第１２実施形態は、いわゆるジェスチャ操作を、４軸の水平多関節ロボット２の各軸系又は手先系の操作に適用した例である。本実施形態において、ユーザは、ドラッグ操作の方向を変更することで、各軸系又は手先系の操作を行うことができる。本実施形態において、選択操作検出部１８は、タッチパネル１７に対するタッチ操作を検出するものである。そして、動作指令生成部が実行する決定処理は、選択操作検出部１８で検出したタッチ操作がドラッグ操作である場合に、そのドラッグ操作の操作方向に基づいて、操作対象になる駆動軸又は動作態様を決定する処理である。
【０２１５】
動作指令生成部１６は、１本指によるドラッグ操作の方向を、ロボット２の駆動軸又は駆動態様毎に異なる方向になるように割り振っている。この場合、各軸系の動作では、各駆動軸が個別に駆動される。また、手先系の動作では、水平移動動作、垂直移動動作、及び手先の回転動作が行われる。ロボットの移動方向は、水平移動動作ではＸ方向又はＹ方向、垂直移動動作ではＺ方向、回転動作ではＲｚ方向となる。
【０２１６】
次に、具体例について図３３を参照して説明する。なお、本実施形態の説明では、タッチパネル上の縦方向、具体的には、図３３（１）〜（４）の一点鎖線Ｄが示す方向を基準とする。本実施形態において、各軸系の動作における各軸の駆動又は手先系の動作における各方向への移動は、それぞれ基準Ｄに対して４５°刻みで回転させた方向への操作に割り振られている。すなわち、各軸系の動作における第１軸Ｊ１１の駆動又は手先系の動作におけるＸ方向への移動は、図３３（１）に示すように、基準Ｄに沿った方向へのドラッグ操作に基づいて行われる。各軸系の動作における第２軸Ｊ１２の駆動又は手先系の動作におけるＹ方向への移動は、図３３（２）に示すように、基準Ｄに対して時計回り側へ４５°回転させた方向へのドラッグ操作に基づいて行われる。
【０２１７】
各軸系の動作における第３軸Ｊ１３の駆動又は手先系の動作におけるＺ方向（動作基準面Ｐに対して垂直方向）への移動は、図３３（３）に示すように、基準Ｄに対して反時計回り側へ４５°回転させた方向へのドラッグ操作に基づいて行われる。各軸系の動作における第４軸Ｊ１４の駆動又は手先系の動作におけるＲｚ方向（回転動作）への移動は、図３３（４）に示すように、基準Ｄに直交する方向つまりタッチパネル１７に対して横方向へのドラッグ操作に基づいて行われる。
【０２１８】
なお、上述した基準Ｄに対するドラッグ操作の方向は、必ずしも厳密である必要はなく、ある程度の誤差が許容される。例えば、本実施形態では、ユーザが実際に行うドラッグ操作は、各駆動軸を駆動させる又は各動作を行わせるためのドラッグ操作の方向に対して、時計回り及び反時計回り側へそれぞれ２２．５°の誤差が許容される。例えば、動作指令生成部１６は、基準Ｄに対して時計回り側又は反時計回り側へ１５°回転した方向へのドラッグ操作を、各軸系の操作においては第１軸Ｊ１１を駆動するための操作と判断し、手先系の操作においてはＸ方向へ移動させるための操作と判断する。
【０２１９】
これによれば、ユーザは、ドラッグ操作の方向を変えることで、操作対象にするロボット２の駆動軸又は動作態様、すなわちロボット２の動作の種類を選択することができる。したがって、ユーザは、動作の種類を選択するための複雑な操作を習得する必要がなく、操作が容易となる。その結果、安全性の低下を招くことなく、４軸型のロボット２の手動操作をタッチ操作により実現することができる。
【０２２０】
このようなティーチングペンダント４に用いられるタッチパネル１７は、矩形状のものが一般的である。そのため、ユーザは、矩形状のタッチパネル１７の周囲の辺に沿った方向つまりタッチパネル１７に対する縦方向及び横方向に対するドラッグ操作は、他の方向へのドラッグ操作に比べて、操作し易いと感じるものと思われる。本実施形態では、各軸系の動作において、手先が大きく動く第１軸Ｊ１１の駆動を、ユーザにとって操作し易い縦方向に割り当てている。そのため、操作が容易になる。
【０２２１】
また、手動操作は、ロボット２の手先の位置、姿勢の微調整を目的とすることが多い。そのため、手動操作の際、ロボット２の手先に最も近い第４軸Ｊ１４の駆動つまり手先の回転動作は、高い精度が要求される。本実施形態では、第４軸Ｊ１４の駆動又はＲｚ方向への移動（回転動作）を、ユーザにとって操作し易い横方向に割り当てている。そのため、操作が容易になる。なお、ドラッグ操作の方向の割り当ては、上述したものに限られず、ユーザの熟練度やロボットの使用目的等に応じて適宜変更することができる。
【０２２２】
また、これによれば、ドラッグ操作の指の本数を問題としないことから、ユーザは、指１本で入力操作を行うことができる。すなわち、このロボットシステム１は、ユーザが指１本で容易に操作することができるという利点を備えている。そして、この利点は、いわゆるタッチペンやスタイラスペンといったポインティングデバイスを利用する際にも有効である。すなわち、産業用ロボットの動作環境を考慮すると、ユーザの安全を確保するためにユーザが手袋を装着していたり、ユーザの手指に潤滑油等のタッチ操作を阻害する物質が付着していたりする可能性がある。この場合、ユーザが手指でタッチ操作を行っても、ロボット操作装置がそのタッチ操作を正確に認識しない可能性がある。一方、ユーザが手袋を装着していたり、ユーザの手指に潤滑油等が付着していたりする場合であっても、ユーザは、上述したポインティングデバイスを利用することで、正確なタッチ操作を行うことができる。このように、本実施形態によれば、ロボット２の手動操作において容易にポインティングデバイス利用できるという利点が得られる。
【０２２３】
（第１３実施形態）
次に、第１３実施形態について、図３４を参照して説明する。第１３実施形態は、操作対象とするロボットが６軸の垂直多関節ロボット２２である点で、上記第１２実施形態と異なる。すなわち、第１３実施形態は、いわゆるジェスチャ操作を、６軸の垂直多関節ロボット２２の各軸系又は手先系の操作に適用した例である。本実施形態においても、ユーザは、ドラッグ操作の方向を変更することで、各軸系又は手先系の操作を行うことができる。この場合、手先系の動作には、第１２実施形態におけるＸ方向、Ｙ方向、Ｒｚ方向に加えて、Ｒｘ方向及びＲｙ方向が含まれる。
【０２２４】
具体例について、図３４を参照して説明する。なお、本実施形態の説明では、タッチパネル上の縦方向、具体的には、図３４（１）〜（６）の一点鎖線Ｄが示す方向を基準とする。本実施形態において、各軸系の動作における各軸の駆動又は手先系の動作における各方向への移動は、それぞれ基準Ｄに対して３０°刻みで回転させた方向への操作に割り振られている。すなわち、各軸系の動作における第１軸Ｊ２１の駆動又は手先系の動作におけるＺ方向への移動は、図３３（１）に示すように、基準Ｄに沿った方向へのドラッグ操作に基づいて行われる。各軸系の動作における第２軸Ｊ２２の駆動又は手先系の動作におけるＸ方向への移動は、図３４（２）に示すように、基準Ｄに対して時計回り側へ３０°回転させた方向へのドラッグ操作に基づいて行われる。
【０２２５】
各軸系の動作における第３軸Ｊ２３の駆動又は手先系の動作におけるＹ方向への移動は、図３４（３）に示すように、基準Ｄに対して時計回り側へ６０°回転させた方向へのドラッグ操作に基づいて行われる。各軸系の動作における第４軸Ｊ２４の駆動又は手先系の動作におけるＲｘ方向への移動は、基準Ｄに対して反時計回り側へ３０°回転させた方向へのドラッグ操作に基づいて行われる。各軸系の動作における第５軸Ｊ２５の駆動又は手先系の動作におけるＲｙ方向への移動は、基準Ｄに対して反時計回り側へ６０°回転させた方向へのドラッグ操作に基づいて行われる。各軸系の動作における第６軸Ｊ２６の駆動又は手先系の動作におけるＲｚ方向への移動は、基準Ｄに直交するする方向へのドラッグ操作に基づいて行われる。
【０２２６】
これによれば、６軸の垂直多関節ロボット２２の手動操作について、上述した第１２実施形態と同様の作用効果が得られる。
すなわち、各軸系の動作について見ると、第１軸Ｊ２１及び第６軸Ｊ２６の操作に、操作のし易い縦方向及び横方向へのドラッグ操作が割り当てられている。第１軸Ｊ２１の駆動は、手先の移動に対する影響が大きい。第６軸Ｊ２６は、手動操作の際に頻繁に使用する軸であり、また、第６軸Ｊ２６の操作には、正確な調整が必要になる。したがって、このような第１軸Ｊ２１及び第６軸Ｊ２６に、操作のし易い縦方向及び横方向のドラッグ操作を割り当てることで、操作性の向上が図られる。
【０２２７】
この場合、第２軸Ｊ２２〜第５軸Ｊ２５の操作は、斜め方向へのドラッグ操作が割り当てられている。斜め方向へのドラッグ操作は、縦方向及び横方向へのドラッグ操作よりも、操作性が若干劣ると考えられる。しかし、次のような理由から、第２軸Ｊ２２〜第５軸Ｊ２５の操作については、斜め方向のドラッグ操作による影響は小さいと考える。
【０２２８】
すなわち、第２軸Ｊ２２及び第３軸Ｊ２３の駆動は、隣接する２つの斜め方向へのドラッグ操作に割り当てられている。つまり、第２軸Ｊ２２及び第３軸Ｊ２３の駆動は、基準Ｄに対して時計回り側へ０°〜９０°の範囲内の角度で回転した方向へのドラッグ操作が割り当てられている。この場合、第２軸Ｊ２２と第３軸Ｊ２３との操作方向が似ていることから、誤操作が生じる可能性がある。ここで、第２軸Ｊ２２の駆動及び第３軸Ｊ２３の駆動は、いずれもロボット２２の手先をＺ方向（垂直方向）へ移動させるものであるから、両者の移動方向は類似している。したがって、ユーザが、仮に第２軸Ｊ２２と第３軸Ｊ２３の操作を間違えたとしても、いずれもロボット２２の手先はＺ方向へ移動するため、ロボット２２の動作が、ユーザの予想しないものとなるおそれが低い。その結果、第２軸Ｊ２２及び第３軸Ｊ２３に対して誤操作した場合の危険性は、第１軸Ｊ２１及び第６軸Ｊ２６に比べて低い。
【０２２９】
また、第４軸Ｊ２４及び第５軸Ｊ２５の駆動は、隣接する２つの斜め方向へのドラッグ操作に割り当てられている。この場合、第４軸Ｊ２４及び第５軸Ｊ２５の駆動は、基準Ｄに対して反時計回り側へ０°〜９０°の範囲内の角度で回転した方向へのドラッグ操作が割り当てられている。この場合、ユーザは、第３軸Ｊ２３と第４軸Ｊ２４との操作方向が似ていることから、誤操作が生じる可能性がある。
【０２３０】
ここで、第４軸Ｊ２４又は第５軸Ｊ２５が駆動されても、ロボット２２の手先の移動量は第１軸Ｊ２１〜第３軸Ｊ２３に比べて小さい。また、第４軸Ｊ２４及び第５軸Ｊ２５は、ロボット２２の手先を大きく移動させることよりも、微調整を行うことが主である。そのため、第４軸Ｊ２４又は第５軸Ｊ２５については、もともと大きな操作が入力されるおそれも低い。したがって、ユーザが、仮に第４軸Ｊ２４と第５軸Ｊ２５の操作を間違えたとしても、もともと入力される操作量が小さく、さらには誤操作により動作されても手先の移動量が小さいため、誤操作による危険性は、第１軸Ｊ２１等に比べて低い。
【０２３１】
また、手先系の動作について見ると、Ｚ方向への動作は、縦方向へのドラッグ操作に割り当てられている。上述したように、縦方向へのドラッグ操作は、ロボット２２の手先の垂直方向（Ｚ方向）への移動を連想し易い。これによれば、ユーザは、自己が行っているドラッグ操作と、ロボット２２の手先の移動方向とが一致し易いため、操作性が良い。
【０２３２】
Ｘ方向及びＹ方向への動作は、隣接する２つの斜め方向へのドラッグ操作に割り当てられている。つまり、Ｘ方向及びＹ方向への動作は、基準Ｄに対して時計回り側へ０°〜９０°の範囲内の角度で回転した方向へのドラッグ操作が割り当てられている。この場合、Ｘ方向とＹ方向との操作方向が似ていることから、誤操作が生じる可能性がある。しかし、Ｘ方向の動作が割り当てられたドラッグ操作の方向は、横方向の成分に比べて縦方向への成分の方が多い。上述したように、ユーザは、縦方向へのドラッグ操作から、Ｘ方向への動作を連想し易い。一方、Ｙ方向の動作が割り当てられたドラッグ操作の方向は、縦方向の成分に比べて横方向の成分の方が多い。上述したように、ユーザは、横方向へのドラッグ操作から、Ｙ方向への動作を連想し易い。これによれば、Ｘ方向の動作とＹ方向の動作とを間違える危険性を極力低くすることができる。
【０２３３】
また、Ｒｘ方向及びＲｙ方向の動作は、隣接する２つの斜め方向へのドラッグ操作に割り当てられている。つまり、Ｒｘ方向及びＲｙ方向への動作は、基準Ｄに対して反時計回り側へ０°〜９０°の範囲内の角度で回転した方向へのドラッグ操作が割り当てられている。この場合、斜め方向へのドラッグ操作は、縦方向又は横方向へのドラッグ操作に比べて、操作性が劣ると考えられる。しかし、Ｒｘ方向及びＲｙ方向の動作は、手動操作の際に、他の動作に比べて使用される頻度が低い。したがって、Ｒｘ方向及びＲｙ方向の動作に、斜め方向へのドラッグ操作を割り当てたとしても、全体の操作性に与える影響は小さい。これらの理由から、本実施形態によれば、各動作についての操作が容易となる。その結果、安全性の低下を招くことなく、６軸型のロボット２２の手動操作をタッチ操作により実現することができる。
【０２３４】
（第１４実施形態）
次に、第１４実施形態について、図３５及び図３６を参照して説明する。
近年、いわゆるスマートフォンやタブレットＰＣなどの安価なデバイス（以下、スマートデバイスと称する）が普及している。この安価なスマートデバイスを、ロボットの操作用のデバイス（ティーチングペンダント）として利用することができれば、専用の高価なティーチングペンダントを使用する必要がないため、コスト削減にも繋がる。この様なスマートデバイスは、主なインターフェイスとしてタッチパネルを備えており、ユーザが指でタッチパネルをなぞることで、２次元（Ｘ−Ｙ平面）の同時入力を可能にしている。一方、産業界では、上述したような４軸型の水平多関節ロボット２及び６軸型の垂直多関節ロボット２２が多用されている。
【０２３５】
この場合、手動操作に必要な操作入力の種類は、４軸型のロボット２で４種類、６軸型のロボット２２で６種類となる。したがって、スマートデバイスをロボット操作装置に採用するためには、２次元の操作入力で、２種類移動の操作入力に如何に対応するかが課題となる。そこで、本実施形態は、ロボット２、２２の手動操作を行う際に、ロボット２、２２の手先先端の位置に寄与する駆動軸又は動作態様に対する操作（主操作）と、ロボット２、２２の手先先端の姿勢に寄与する駆動軸又は動作態様に対する操作（副操作）と、を切り替えて行うようにしている。
【０２３６】
すなわち、図１等に示す４軸型のロボット２の各軸系の動作において、ロボット２の手先先端位置に寄与する駆動軸は、第１軸Ｊ１１、第２軸Ｊ１２、及び第３軸Ｊ１３であり、ロボット２の手先先端姿勢に寄与する駆動軸は、第４軸Ｊ１４である。すなわち、図３５に示すように、４軸型のロボット２の各軸系の動作において、主操作は、第１軸Ｊ１１、第２軸Ｊ１２、及び第３軸Ｊ１３を駆動させるための操作である。また、副操作は、第４軸Ｊ１４を駆動させるための操作である。
【０２３７】
また、図１等に示す４軸型のロボット２の手先系の動作において、ロボット２の手先先端位置に寄与する動作態様は、Ｘ方向、Ｙ方向、及びＺ方向への移動であり、ロボット２の手先先端姿勢に寄与する動作態様は、Ｒｚ方向である。すなわち、図３５に示すように、４軸型のロボット２の手先系の動作において、主操作は、ロボット２の手先を、Ｘ方向、Ｙ方向、及びＺ方向への移動のための操作である。また、副操作は、ロボット２の手先を、Ｒｚ方向への移動させるための操作である。
【０２３８】
同様に、図１０等に示す６軸型のロボット２２の各軸系の動作において、ロボット２２の手先先端位置に寄与する駆動軸は、第１軸Ｊ２１、第２軸Ｊ２２、及び第３軸Ｊ２３であり、ロボット２２の手先先端姿勢に寄与する駆動軸は、第４軸Ｊ２４、第５軸Ｊ２５、及び第６軸Ｊ２６である。すなわち、６軸型のロボット２２の各軸系の動作において、主操作は、第１軸Ｊ２１、第２軸Ｊ２２、及び第３軸Ｊ２３を駆動させるための操作であり、副操作は、第４軸Ｊ２４、第５軸Ｊ２５、及び第６軸Ｊ２６を駆動させるための操作である。
【０２３９】
また、図１０等に示す６軸型のロボット２２の手先系の動作において、ロボット２２の手先先端位置に寄与する動作態様は、Ｘ方向、Ｙ方向、及びＺ方向への移動であり、ロボット２２の手先先端姿勢に寄与する動作態様は、Ｒｘ方向、Ｒｙ方向、及びＲｚ方向への移動である。すなわち、６軸型のロボット２２の手先系の動作において、主操作は、ロボット２２の手先を、Ｘ方向、Ｙ方向、及びＺ方向へ移動させるための操作である。また、副操作は、ロボット２２の手先を、Ｒｘ方向、Ｒｙ方向、及びＲｚ方向への移動させるための操作である。
【０２４０】
本実施形態のティーチングペンダント４は、図３６に示すように、上記各実施形態におけるティーチングペンダント４の構成に加えて、第１ボタン４１及び第２ボタン４２を備えている。第１ボタン４１及び第２ボタン４２は、例えば物理的なボタンであり、ティーチングペダント４０で再生する音声の音量を増加又は減少させるためのものであってもよい。この場合、制御部１４は、ロボット操作装置用のプログラムを実行することにより、第１ボタン４１及び第２ボタン４２に対して、主操作及び副操作を切り替える機能を付与することができる。これにより、第１ボタン４１及び第２ボタン４２は、主操作と副操作とを切り替えることができる切替部として機能する。
【０２４１】
例えば、「＋」の記号が付された第１ボタン４１は、主操作に対応し、「−」の記号が付された第２ボタン４２は、副操作に対応している。この場合、制御部１４は、第１ボタン４１が操作されたことを検出すると、その後にタッチ操作検出部１５で検出したタッチ操作を、主操作であると判断する。一方、制御部１４は、第２ボタン４２が操作されたことを検出すると、その後にタッチ操作検出部１５で検出したタッチ操作を、副操作であると判断する。このようにして、ユーザは、第１ボタン４１及び第２ボタン４２を操作することで、主操作と副操作の入力を切り替えることができる。
【０２４２】
なお、切替部は、上述した第１ボタン４１及び第２ボタン４２のように、他の機能と併用するものに限られず、主操作及び副操作を切り替えるための専用の物理的なボタンであってもよい。また、例えば、切替部は、タッチパネル１７上に表示させたものであってもよい。タッチパネル１７上に表示させる切替部の例としては、ボタン形状のものや、いわゆるスライドバーであって、いずれか一方へスライドさせることにより主操作と副操作とを切り替えるものが考えられる。
【０２４３】
タッチパネル１７は、図３６に示すように、第１領域１７１と第２領域１７２とに分かれている。第１領域１７１及び第２領域１７２は、制御部１４によってロボット操作プログラムが実行されることにより、タッチパネル１７上に仮想的に形成される。本実施形態では、図３６に示すように、矩形のタッチパネル１７が横長の姿勢である場合、第１領域１７１がタッチパネル１７の左側に位置し、第２領域１７２がタッチパネル１７の右側に位置するようにしている。すなわち、タッチパネル１７上において、仮想境界線Ｅの左側部分が第１領域１７１となり、仮想境界線Ｅの右側部分が第２領域１７２となる。
【０２４４】
なお、第１領域１７１及び第２領域１７２の配置はこれに限られない。例えば、タッチパネル１７が縦長となる姿勢の場合、すなわち、ティーチングペンダント４を図３５の状態から９０°回転させた場合、第１領域１７１がタッチパネル１７の上側部分に位置し、第２領域１７２がタッチパネル１７の下側部分に位置するようにしている。また、これら第１領域１７１及び第２領域１７２の位置は、相互に入れ替えても良い。この場合、ティーチングペンダント４は、ジャイロセンサや加速度センサ等の姿勢検出部１９によって、自己の姿勢を判断することができる。
【０２４５】
第１領域１７１は、直交する２方向への操作をタッチ操作検出部１５によって検出することができる領域である。この場合、第１領域１７１内において、矢印Ａ１で示す方向が、縦方向上側となり、矢印Ａ２で示す方向が縦方向下側となる。また、矢印Ｂ１で示す方向が、横方向右側となり、矢印Ｂ２で示す方向が、横方向左側となる。第２領域１７２は、一方向この場合縦方向への操作をタッチ操作検出部１５によって検出することができる領域である。
【０２４６】
すなわち、本実施形態では、第１領域１７１は、縦及び横方向への２種類のドラッグ操作を検出することができる領域である。また、第２領域１７２は、縦方向への１種類のドラッグ操作を検出することができる領域である。そのため、本実施形態では、第１領域１７１は、第２領域１７２よりも大きい。なお、必要な操作入力の数によっては、第２領域１７２も、第１領域１７１と同様に、縦及び横方向への２種類のドラッグ操作を検出することができるようにしてもよい。
【０２４７】
動作指令生成部１６は、タッチ操作検出部１５で検出したドラッグ操作が、第１領域１７１に対するものである場合と、第２領域１７２に対するものである場合とで、それぞれ異なる駆動軸又は動作態様を行うための動作指令を生成する。すなわち、４軸型のロボット２の主操作について見ると、第１領域１７１に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第１軸Ｊ１１の駆動又は手先系におけるＸ方向への移動に対応している。第１領域１７１に対する横方向（矢印Ｂ１、Ｂ２方向）へのドラッグ操作は、各軸系における第２軸Ｊ１２の駆動又は手先系におけるＹ方向への移動に対応している。第２領域１７２に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第３軸Ｊ１３の駆動又は手先系におけるＺ方向への移動に対応している。
【０２４８】
また、４軸型のロボット２の副操作について見ると、第１領域１７１に対する横方向（矢印Ｂ１、Ｂ２方向）へのドラッグ操作は、各軸系における第４軸の駆動又は手先系におけるＲｚ方向への移動に対応している。なお、４軸型のロボット２では、４種類の操作入力が判断できれば十分であるため、副操作における第１領域１７１に対する縦方向へのドラッグ操作及び第２領域１７２に対する操作は、いずれの駆動軸又は動作態様にも対応していない。
【０２４９】
また、６軸型のロボット２２の主操作について見ると、第１領域１７１に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第２軸Ｊ２２又は手先系におけるＸ方向への移動に対応している。第１領域１７１に対する横方向（矢印Ｂ１、Ｂ２方向）へのドラッグ操作は、各軸系における第３軸Ｊ２３又は手先系におけるＹ方向への移動に対応している。第２領域１７２に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第１軸Ｊ２１の駆動又は手先系におけるＺ方向への移動に対応している。
【０２５０】
また、６軸型のロボット２２の副操作について見ると、第１領域１７１に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第４軸Ｊ２４の駆動又は手先系におけるＲｘ方向への移動に対応している。第１領域１７１に対する横方向（矢印Ｂ１、Ｂ２方向）へのドラッグ操作は、各軸系における第５軸Ｊ２５の駆動又は手先系におけるＲｙ方向への移動に対応している。また、副操作において、第２領域１７２に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、各軸系における第６軸Ｊ２６の駆動又は手先系におけるＲｚ方向への移動に対応している。なお、各軸系の副操作において、第１領域１７１に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作を、第５軸Ｊ２５の駆動に対応させ、横方向（矢印Ｂ１、Ｂ２方向）へのドラッグ操作を、第４軸Ｊ２４の駆動に対応させてもよい。この場合、第２領域１７２に対する縦方向（矢印Ａ１、Ａ２方向）へのドラッグ操作は、第４軸Ｊ２４の駆動に対応する。
【０２５１】
本実施形態によれば、ユーザは、切替部である第１ボタン４１と第２ボタン４２とを操作することで、主操作と副操作とを切り替えることができる。これにより、ユーザは、ロボット２、２２を手動操作する際に、ロボット２、２２の手先位置を決めるための操作を行っているか、手先の姿勢を決めるための操作を行っているかを明確に意識することができる。したがって、ユーザが、手先の姿勢を決定しようとしているにもかかわらず、手先の位置を変える操作をしてしまう等の誤操作を抑制することができ、その結果、安全性の向上が図られる。
【０２５２】
また、タッチパネル１７は、第１領域１７１と第２領域１７２とに分かれている。第１領域１７１は、互いに直交する２方向への操作をタッチ操作検出部１５によって検出することができるタッチパネル１７上の領域である。第２領域１７２は、１方向への操作をタッチ操作検出部１５によって検出することができるタッチパネル１７上の領域である。すなわち、動作指令生成部１６は、第１領域１７１に入力される２方向のドラッグ操作と、第２領域１７２に入力される１方向のドラッグ操作とで、合計３種類のドラッグ操作を判断することができる。そして、各領域１７１、１７２について、主操作と副操作とを切り替えることができる。したがって、動作指令生成部１６は、最大６種類の操作入力を判断することができる。よって、このようなティーチングペンダント４によれば、産業界で多用されている４軸型の水平多関節ロボット２及び６軸型の垂直多関節ロボット２２の両方において、手先系の動作及び各軸系の動作の手動操作に対応することができる。
【０２５３】
（第１５実施形態）
次に、第１５実施形態について、図３７及び図３８を参照して説明する。
第１５実施形態は、手先系の動作において、Ｚ方向（垂直方向）の移動を、ティーチングペンダント４の姿勢に基づいて行うものである。すなわち、本実施形態のティーチングペンダント４は、図２に示す姿勢検出部１９を、タッチパネル１７の傾きを検出することでユーザからの傾き操作の入力を検出することができる傾き操作検出部として利用している。このティーチングペンダント４の動作指令生成部１６は、水平移動動作指令生成処理と、垂直移動動作指令生成処理と、を行うことができる。
【０２５４】
水平移動動作指令処理は、タッチ操作検出部１５で検出されたタッチ操作に基づいてロボット２、２２の手先をロボット２、２２の動作基準面Ｐに対して水平な平面方向に移動させるための動作指令を生成する処理である。垂直移動動作指令生成処理は、姿勢検出部１９（傾き操作検出部）で検出された傾き操作に基づいてロボット２、２２の手先を動作基準面Ｐと直交する垂直軸方向に沿って移動させるための動作指令を生成する処理である。
【０２５５】
すなわち、ユーザは、手先系の動作において、Ｘ方向及びＹ方向の移動（平面移動動作）について操作をする際、タッチパネル１７に対して縦方向又は横方向へのドラッグ操作を行う。この場合、図３７に示すように、タッチパネル１７に対する縦方向へのドラッグ操作は、ロボット２、２２のＸ方向への移動に対応している。タッチパネル１７に対する横方向へのドラッグ操作は、ロボット２、２２のＹ方向への移動に対応している。
【０２５６】
また、タッチパネル１７上には、図３７及び図３８に示すように、ユーザの操作が可能なボタン４３、４４が表示されている。ボタン４３、４４は、ユーザの両手に対応した位置に表示される。この場合、ボタン４３は、ユーザの右手の親指で操作し易い位置、例えばタッチパネル１７の右側下部に表示される。また、ボタン４４は、ユーザの左手の親指で操作し易い位置、例えばタッチパネル１７の左側下部に表示される。ユーザは、両手でボタン４３、４４をタッチ操作しながら、ティーチングペンダント４を手前側（ユーザ側）又は奥側（ユーザと反対側）へ傾けることにより、つまりティーチングペンダント４を傾け操作することにより、ロボット２、２２のＺ軸方向への移動を操作する。
【０２５７】
この場合、図３８の矢印Ｇ１で示すように、ティーチングペンダント４を手前側へ傾ける傾け操作は、ロボット２、２２の手先が上昇する方向つまり動作基準面Ｐから離反する方向への移動に対応している。また、図３８の矢印Ｇ２で示すように、ティーチングペンダント４を奥側へ傾ける傾け操作は、ロボット２、２２の手先が下降する方向つまり動作基準面Ｐに近づく方向への移動に対応している。
【０２５８】
動作指令生成部１６は、ボタン４３、４４の操作を検出することで、水平移動動作指令処理と、垂直移動動作指令生成処理とを切り替えるようにしている。すなわち、制御部１４は、ユーザの両手に対応するボタン４３、４４の両方ともが操作されている場合には、傾き操作を受け付けるとともにタッチパネル１７に対するドラッグ操作を受け付けないようにし、それ以外の場合には、タッチパネル１７に対するドラッグ操作を受け付けるとともに傾き操作を受け付けないようにしている。すなわち、制御部１４は、ボタン４３、４４の両方がタッチ操作されることで、傾き操作の入力の受け付けを開始し、ボタン４３、４４の両方又はいずれか一方がタッチ操作されることで、傾き操作の入力の受け付けを終了する。
【０２５９】
また、制御部１４は、ボタン４３、４４の両方が操作された時点のティーチングペンダント４の姿勢を、その後の傾き操作の基準にする。この場合、重力方向つまり鉛直方向が、必ずしも傾き操作の基準になるとは限らない。また、動作指令生成部１６は、Ｚ方向の移動に際し、基準に対するティーチングペンダント４の傾斜量を、ロボット２、２２の動作速度としてもよいし、移動量そのものとしてもよい。すなわち、動作指令生成部１６は、姿勢検出部１９（傾き操作検出部）で検出された傾き操作の傾き量に応じて、ロボット２、２２の移動速度又は移動量を増減する。この場合、動作指令生成部１６は、基準に対して傾き量が大きいほど、ロボット２、２２の移動速度又は移動量を大きくする。
【０２６０】
これによれば、ユーザは、手先系の動作の際、タッチパネル１７に対してタッチ操作をすることにより、ロボット２、２２の手先を水平方向へ移動させる操作をすることができる。したがって、ユーザは、ロボット２、２２の手先を水平方向へ移動させる際、タッチパネル１７に対する２次元的な操作と、ロボット２、２２の手先の水平方向への移動つまり２次元的な動きとを関連して認識し易くなる。
【０２６１】
また、ユーザは、ティーチングペンダント４つまりタッチパネル１７を傾ける操作（傾け操作）をすることにより、ロボット２、２２の手先を垂直方向へ移動させる操作をすることができる。つまり、ユーザは、ロボット２、２２の手先を垂直方向へ移動させる際、タッチパネル１７に対するタッチ操作とは異なる態様の操作すなわちタッチパネル１７を傾ける操作を行う。したがって、ユーザは、水平方向への移動に対する操作と、垂直方向への移動に対する操作とを明確に区別することができる。よって、操作性が向上し、その結果、安全性の向上や、ロボット２、２２の教示に要する時間を短縮することができる。
【０２６２】
動作指令生成部１６は、傾き操作検出部１９（姿勢検出部）で検出された傾き操作の傾き量に応じて、ロボットの移動速度又は移動量を増減する。これによれば、ユーザは、傾き操作によるタッチパネル１７の傾き量を調整することで、ロボット２、２２の移動速度又は移動量を調整することができる。よって、ユーザは、直観的にロボット２、２２の垂直方向への移動を操作することができ、その結果、操作性の向上が図られる。
【０２６３】
動作指令生成部１６は、ボタン４３、４４の操作を検出することで、水平移動動作指令処理と、垂直移動動作指令生成処理とを切り替えるようにしている。これによれば、例えばユーザが垂直移動動作を行う意図がないのに誤ってティーチングペンダント４傾けてしまった場合でも、垂直移動動作がされるおそれがない。したがって、誤操作が抑制され、安全性の向上が図られる。
【０２６４】
しかも、制御部１４は、ユーザの両手に対応したボタン４３、４４の両方が操作されている場合に限り、傾き操作の入力を受け付けるようにしている。したがって、仮にボタン４３、４４の一方が誤って操作された場合でも、誤操作を防ぐことができる。また、ボタン４３、４４は、ユーザが親指で操作し易い位置に配置されている。したがって、操作し易い。また、両手に対応してボタン４３、４４が設けられているため、ユーザの利き手の違いが、操作性の違いに影響することを抑制することができる。
【０２６５】
（第１６実施形態）
次に、第１６実施形態について、図３９〜図４１を参照して説明する。本実施形態のティーチングペンダント４は、ユーザが、駆動軸又は動作態様に対応する文字、数字、又は記号をタッチパネル１７に入力することによって、ロボット２、２２の駆動軸又は動作態様を決定するものである。以下の説明では、ティーチングペンダント４を上下方向に長い縦長となる姿勢で取り扱った場合について説明する。なお、ティーチングペンダント４の姿勢は、縦長に限られず、水平方向に長い横長であってもよい。
【０２６６】
タッチパネル１７は、図３９に示すように、開始操作検出領域１７３と、移動量決定領域１７４と、を有している。また、タッチパネル１７は、図４０に示すように、動作選択領域１７５を有している。開始操作検出領域１７３は、例えばタッチパネル１７の上側部分に設けられ、タッチパネル１７の全領域の２／３程度を占めている。開始操作検出領域１７３は、動作選択領域１７５に対する操作の受け付けを開始するためのタッチ操作（開始操作）を検出する領域である。開始操作検出領域１７３は、開始操作検出部として機能する。開始操作検出部は、タッチパネル１７上の領域である開始操作検出領域１７３に換えて、タッチパネル１７上に表示されるボタンや、タッチパネル１７とは異なる物理的なボタンであってもよい。
【０２６７】
移動量決定領域１７４は、タッチパネル１７の下側部分に設けられ、タッチパネル１７の全領域の１／３程度を占めている。移動量決定領域１７４は、ロボット２、２２の移動量を決定するための操作（移動量決定操作）を受け付ける領域である。移動量決定操作は、例えば移動量決定領域１７４内における左右方向のドラッグ操作である。この場合、ロボット２、２２の移動前の状態を基準とすると、右方向へのドラッグ操作は正方向であり、左方向のドラッグ操作は負方向である。移動量決定操作における、ドラッグ操作の移動量で、ロボット２、２２の移動速度又は移動量が決定される。
【０２６８】
動作指令生成部１６は、開始操作検出領域１７３で開始操作を検出した後に、動作選択領域１７５に対するタッチ操作を受け付けるようにする。動作選択領域１７５は、図３９に示すように、タッチパネル１７の全体の領域に設けられる。動作選択領域１７５は、操作対象にするロボット２、２２の駆動軸又は動作態様を選択するための操作（動作選択操作）を受け付ける領域である。動作選択領域１７５には、操作対象となるロボット２、２２の駆動軸又は動作態様に対応する数字、文字、又は記号が入力される。
【０２６９】
動作選択操作の具体例としては、例えば次のようなものがある。各軸系の動作について見ると、例えば第１軸Ｊ１１、Ｊ２１を操作対象とする場合、動作選択操作は、第１軸Ｊ１１、Ｊ２１に対応するアラビア数字の「１」の入力である。第２軸Ｊ１２、Ｊ２２を操作対象とする場合、動作選択操作は、第２軸Ｊ１２、Ｊ２２に対応するアラビア数字の「２」の入力である。また、手先系の動作について見ると、例えばロボット２、２２に水平移動動作を行わせる場合、動作選択操作は、水平移動動作に対応するアルファベットの「Ｈ」の入力である。ロボット２、２２に垂直移動動作を行わせる場合、動作選択操作は、垂直移動動作に対応するアルファベットの「Ｖ」の入力である。ロボット２、２２に手先の回転動作を行わせる場合、動作選択操作は、回転動作に対応するアルファベットの「Ｒ」の入力である。ちなみに、「Ｈ」は、「Horizontal」の頭文字、「Ｖ」は「Vertical」の頭文字、「Ｒ」は「Rotational」の頭文字である。
【０２７０】
制御部１４は、上述の構成を実現するために、図４１の内容の制御を実行する。なお、以下の説明において、制御部１４による処理は、タッチ操作検出部１５及び動作指令生成部１６による処理を含むものとする。制御部１４は、図４１に示す制御を開始すると、まず、ステップＳ５１において、タッチパネル１７を第１モードに設定する。第１モードでは、図３９に示すように、タッチパネル１７上の領域が、開始操作検出領域１７３と移動量決定領域１７４とに設定される。したがって、第１モードにおいて、タッチパネル１７は、開始操作検出領域１７３に対する操作（開始操作）及び移動量決定領域１７４に対する操作は受け付けるが、動作選択領域１７５に対する操作（動作選択操作）は受け付けない。
【０２７１】
次に、制御部１４は、ステップＳ５２にいて、開始操作検出領域１７３で開始操作の検出の有無を判断する。制御部１４は、開始操作の検出が無いと判断した場合（ステップＳ５２でＮＯ）、ステップＳ５７へ移行する。一方、制御部１４は、開始操作の検出が有ると判断した場合（ステップＳ５２でＹＥＳ）、ステップＳ５３へ移行する。なお、本実施形態において、開始操作と動作選択操作とは、連続した一連の操作となっている。すなわち、動作選択操作に係る一連の操作うち、タッチパネル１７に最初に接触する操作が、開始操作となる。
【０２７２】
ステップＳ５３において、制御部１４は、タッチパネル１７を第２モードに設定する。第２モードでは、図４０に示すように、タッチパネル１７上の全ての領域が、動作選択領域１７５に設定される。したがって、第２モードにおいて、タッチパネル１７は、動作選択領域１７５に対する操作（動作選択操作）は受け付けるが、開始操作検出領域１７３に対する操作（開始操作）及び移動量決定領域１７４に対する操作（移動量決定操作）は受け付けない。すなわち、制御部１４は、動作選択領域１７５に対する操作（動作選択操作）が検出された場合に、その動作選択操作が終了するまでの期間は、移動量決定領域１７４に対する操作の検出を無効化する。
【０２７３】
次に、制御部１４は、ステップＳ５４において、動作選択操作が終了したか否かを判断する。動作選択操作が終了したか否かの判断は、例えば次のようにして行われる。すなわち、制御部１４は、動作選択領域１７５に対してタッチ操作が行われ、そのタッチ操作に係るユーザの指がタッチパネル１７から離れた後、所定時間タッチ操作が行われない場合に、動作選択操作が終了したと判断する（ステップＳ５４でＹＥＳ）。一方、制御部１４は、動作選択領域１７５に対してタッチ操作が行われ、そのタッチ操作に係るユーザの指がタッチパネル１７から離れた後であっても、所定時間内に更に動作選択領域１７５に対してタッチ操作が行われた場合には、動作選択操作が継続されていると判断する（ステップＳ５４でＮＯ）。これにより、制御部１４は、例えば「Ｈ」の文字のように一筆では入力できないような操作入力も、判断することができる。
【０２７４】
制御部１４は、動作選択操作が終了したと判断すると（ステップＳ５４でＹＥＳ）、入力された動作選択操作に基づいて、ロボット２、２２の駆動軸又は動作態様を決定する（ステップＳ５５）。そして、制御部１４は、ステップＳ５６において、タッチパネル１７を第１モードに設定する。これにより、図３９に示すように、タッチパネル１７上の領域が、再び開始操作検出領域１７３と移動量決定領域１７４とに設定される。
【０２７５】
次に、制御部１４は、ステップＳ５７において、移動量決定領域１７４におけるドラッグ操作（移動量決定操作）の検出の有無を判断する。制御部１４は、移動量決定領域１７４に対するドラッグ操作（移動量決定操作）の検出が有った場合、ステップＳ５８へ移行する。そして、制御部１４は、ステップＳ５７で検出したドラッグ操作（移動量検出操作）の移動量に基づいて、ステップＳ５５で決定した駆動軸又は動作態様によるロボット２、２２の移動量を決定する。
【０２７６】
その後、制御部１４は、ステップＳ５９において、ステップＳ５８で決定した移動量で、ロボット２、２２を移動させるための動作指令を生成する。そして、その動作指令がコントローラ３へ送信され、コントローラ３は、その動作指令に基づいてロボット２、２２の動作を制御する。その後、制御部１４は、ステップＳ６０へ移行する。一方、制御部１４は、ステップＳ５７において、移動量決定領域１７４に対するドラッグ操作の検出が無いと判断した場合、ステップＳ６０へ移行する。
【０２７７】
制御部１４は、ステップ６０において、ステップＳ５７で移動量決定操作を検出した後、又はステップＳ５１、Ｓ５６において第１モードに設定した後、一定時間経過したか否かを判断する。制御部１４は、一定期間経過していないと判断した場合（ステップＳ６０でＮＯ）、ステップＳ５７へ移行し、移動量決定操作の検出を継続する。一方、制御部１４は、一定期間経過したと判断した場合（ステップＳ６０でＹＥＳ）、一連の処理を終了する。
【０２７８】
このようなティーチングペンダント４によれば、ユーザは、ロボット２、２２の動作を選択する場合には、動作選択領域１７５においてタッチ操作（動作選択操作）を行い、ロボット２、２２の移動量を決定する場合には、移動量決定領域１７４においてタッチ操作（移動量決定操作）を行う。したがって、ユーザは、ロボット２、２２の動作を選択するための操作（動作選択操作）と、ロボット２、２２の移動量を決定するための操作（移動量選択操作）とを明確に区別することができる。これにより、ティーチングペンダント４の操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を短縮することができる。
【０２７９】
制御部１４は、開始操作検出領域１７３に対するタッチ操作（開始操作）を検出した後でなければ、動作選択領域１７５に対するタッチ操作（動作選択操作）を受け付けない。つまり、ユーザは、意図して開始操作を行うことで、動作選択領域１７５に対する操作（動作選択操作）を行うことができる。これによれば、動作選択領域１７５に対する意図しない操作入力が低減される。したがって、誤操作による意図しない動作が行われることを抑制することができる。その結果、安全性が更に向上する。
【０２８０】
動作選択操作は、タッチパネル１７に対して駆動軸又は動作態様に対応する数字、文字、又は記号を入力する操作である。これによれば、ユーザは、タッチパネル１７に対して、数字、文字、記号を入力することで、その入力に対応した駆動軸又は動作態様について操作をすることができる。したがって、ユーザは、ロボット２、２２の動作を決定するための操作入力（動作選択操作）と、その操作入力によって行われるロボット２、２２の動作とを関連して認識し易くなる。これにより、ユーザが誤った動作を選択するといった誤操作が抑制されて操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０２８１】
制御部１４は、動作選択操作を入力した後又は移動量決定操作を入力した後、一定時間、移動量決定領域１７４に対する操作（移動量決定操作）が無い場合には、動作指令を生成することなく、処理を終了する。すなわち、動作選択操作又は移動量決定操作を行った後、一定時間経過すると、再度、動作選択操作の入力が必要になる。これによれば、前回の操作から時間が経って、現在どの駆動軸又は動作態様が選択されているかユーザが忘れた場合であっても、再度、ユーザに動作選択操作を入力させることにより、ユーザに、駆動軸又は動作態様の選択を認識させることができる。これにより、駆動軸又は動作態様の選択間違いを防止することができる。なお、タッチパネル１７の表示部１２に、現在選択されている駆動軸又は動作態様を表示させてもよい。
【０２８２】
（第１７実施形態）
次に、第１７実施形態について、図４２及び図４３を参照して説明する。本実施形態は、いわゆるジェスチャ操作としてドラッグ操作を行った際の、ロボット２、２２の移動速度及び移動量の決定に関するものである。本実施形態において、動作指令生成部１６は、操作判断処理と、速度算出処理と、動作指令生成処理と、を行うことができる。操作判断処理は、タッチ操作検出部１５で検出したタッチ操作がドラッグ操作である場合にそのドラッグ操作による指の移動量を判断する処理である。速度算出処理は、操作判断処理で判断した指の移動量に基づいてロボット２、２２の移動速度を算出する処理である。動作指令生成処理は、速度算出処理で算出した移動速度でロボット２、２２を移動させるための動作指令を生成する処理である。
【０２８３】
動作指令生成部１６は、ドラッグ操作の指の移動量に基づいてロボット２、２２の移動距離を算出する移動量算出処理を行うことができる。例えば、図４２では、ドラッグ操作の開始地点を地点Ｓｐ、ドラッグ操作の終了地点を地点Ｅｐで示している。ドラッグ操作の終了は、ユーザの指がタッチパネル１７から離れたときである。この場合、ドラッグ操作の指の移動量は、開始地点Ｓｐから終了地点Ｓｅまでの距離Ｌである。制御部１４は、ドラッグ操作の移動距離Ｌに基づいて、ロボット２、２２の移動距離Ｌｒを算出する。また、制御部１４は、移動距離Ｌをドラッグ操作の入力時間で割った値、つまり、ドラッグ操作における指の移動に係る平均速度Ｖに基づいて、ロボット２、２２の平均速度Ｖｒを算出する。
【０２８４】
制御部１４は、上述の構成を実現するために、図４３の内容の制御を実行する。なお、以下の説明において、制御部１４による処理は、タッチ操作検出部１５及び動作指令生成部１６による処理を含むものとする。また、図４２で示すタッチパネル１７上のＸ−Ｙ座標系と、ロボット２、２２の座標系とは、必ずしも一致しなくてもよい。
【０２８５】
制御部１４は、ドラッグ操作を検出して、図４３に示す制御を開始すると、ステップＳ７１、Ｓ７２において、ドラッグ操作の開始地点Ｓｐ（Ｘｓ、Ｙｓ）、及び終了地点Ｅｐ（Ｘｅ、Ｙｅ）を検出する。次に、制御部１４は、ステップＳ７３において、ドラッグ操作に要した時間つまりドラッグ操作の入力時間Ｔｉを検出する。次に、制御部１４は、ステップＳ７４において、開始地点Ｓｐ（Ｘｓ、Ｙｓ）及び終了地点Ｅｐ（Ｘｅ、Ｙｅ）から、ドラッグ操作による指の移動量Ｌ、ドラッグ操作による指の平均速度Ｖ、及びドラッグ操作の操作方向を算出する。このステップＳ７４には、操作判断処理が含まれている。
【０２８６】
その後、制御部１４は、ステップＳ７５において、ステップＳ７４で算出したドラッグ操作の移動量Ｌと平均速度Ｖと操作方向とから、ロボット２、２２の移動量Ｌｒ、平均速度Ｖｒ、及び移動方向を算出する。このステップＳ７５には、速度算出処理が含まれている。そして、制御部１４は、ステップＳ７６において、移動量Ｌｒ、平均速度Ｖｒ、及び移動方向に基づいて、動作指令を生成する（動作指令生成処理）。そして、その動作指令がコントローラ３へ送信され、コントローラ３は、その動作指令に基づいてロボット２、２２の動作を制御する。これにより、制御部１４は、一連の処理を終了する。
【０２８７】
本実施形態において、制御部１４は、ドラッグ操作による指の移動量Ｌに基づいてロボット２、２２の移動速度Ｖｒを算出する速度算出処理を行うことができる。これによれば、ユーザのドラッグ操作による指の移動量Ｌと、ロボット２、２２の移動速度Ｖｒとは相関を有することになる。したがって、ユーザは、ドラッグ操作による指の移動量Ｌを調整することにより、ロボットの移動速度Ｖｒを調整することができる。そのため、ユーザは、直観的な操作が可能になり、操作性の向上が図られる。その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０２８８】
また、制御部１４は、ドラッグ操作による指の移動量Ｌに基づいてロボット２、２２の移動距離Ｌｒを算出する移動量算出処理を行うことができる。これによれば、ユーザは、ドラッグ操作による指の移動量Ｌを調整することにより、ロボット２、２２の移動量Ｌｒつまり移動距離Ｌｒを調整することができる。さらに、速度算出処理は、ドラッグ操作による指の移動量Ｌをドラッグ操作の入力に要した時間で除した値に基づいて、ロボット２、２２の移動速度Ｖｒを決定する処理である。これによれば、ユーザは、ドラッグ操作の入力に要する時間を調整することで、ロボット２、２２の移動速度Ｖｒを調整することができる。
【０２８９】
したがって、ユーザは、ドラッグ操作の入力に際し、そのドラッグ操作の移動量Ｌと入力時間Ｔｉを調整することにより、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒの両方を調整することができる。すなわち、ユーザは、１度のドラッグ操作によって、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒの両方を調整することができる。これにより、ユーザは、直観的な操作が可能になる。また、これによれば、ユーザは、ロボット２、２２の移動速度Ｖｒと移動量Ｌｒを決定するために、複数の操作、例えばロボット２、２２の移動速度Ｖｒを決定するための操作とロボット２、２２の移動量Ｌｒを決定するための操作とを行う必要がない。したがって、操作が簡単になり、操作性の向上が図られる。これらの結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０２９０】
なお、図４２の表示部１２にある円で示された開始地点Ｓｐ、終了地点Ｅｐ、及び白抜き矢印は、ドラッグ操作の動作を説明するために便宜的に記載したものであり、操作の際に実際に表示部１２に表示されるものではない。しかしながら、ティーチングペンダント４は、ドラッグ操作に伴って、開始地点Ｓｐ、終了地点Ｅｐ、及び白抜き矢印を表示部１２に表示させてもよい。これによれば、ユーザが、自己の操作内容を確認する際に役立つ。
【０２９１】
（第１８実施形態）
次に、第１８実施形態について、図４４及び図４５も参照して説明する。本実施形態は、ロボット２、２２の動作を、操作入力に対してほぼリアルタイムで実行するための構成である。すなわち、上記第１７実施形態では、ドラッグ操作の入力が終了した後に、ロボット２、２２の動作が行われる。そのため、ロボット２、２２の動作は、ドラッグ操作の終了後になる。したがって、ユーザによるドラッグ操作の入力と、ロボット２、２２の実際の動作とに、時間差が生じる。一方、本実施形態において、制御部１４は、ドラッグ操作が終了する前であっても、ロボット２、２２の動作指令を適宜生成する。したがって、ロボット２、２２の実際の動作は、ユーザによるドラッグ操作の入力に対して、ほぼリアルタイムで行われる。
【０２９２】
具体的には、制御部１４は、ドラッグ操作が行われている間は一定の周期Ｓで操作判断処理と速度算出処理と動作指令生成処理とを行うことができる。ドラッグ操作が行われている間とは、ユーザの指がタッチパネル１７に触れてドラッグ操作が開始されてから、ユーザの指がタッチパネル１７から離れるまでの期間を意味する。この場合、図４４にも示すように、ドラッグ操作の開始地点Ｓｐと終了地点Ｅｐとの間の距離Ｌのドラッグ操作を入力している期間が、ドラッグ操作が行われている期間となる。
【０２９３】
制御部１４は、上述の構成を実現するために、図４４の内容の制御を実行する。なお、以下の説明において、制御部１４による処理は、タッチ操作検出部１５及び動作指令生成部１６による処理を含むものとする。制御部１４は、ドラッグ操作の入力を検出している間、図４５に示す処理内容を実行する。制御部１４は、図４５に示す制御を開始すると、ステップＳ８１において、ドラッグ操作による現在の指の地点Ｐ１（Ｘ１、Ｙ１）を検出する。次に、制御部１４は、ステップＳ８２において、一定の時間Ｓが経過するまで待機する（ステップＳ８２でＮＯ）。制御部１４は、時間Ｓが経過すると（ステップＳ８２でＹＥＳ）、ステップＳ８３において、ドラッグ操作による現在の指の地点Ｐ２（Ｘ２、Ｙ２）を検出する。
【０２９４】
次に、制御部１４は、ステップＳ８４において、地点Ｐ１、Ｐ２、及び時間Ｓから、ドラッグ操作の操作方向と、一定時間Ｓ当たりにおけるドラッグ操作の移動量ｄＬ及び移動速度ｄＶを算出する。このステップＳ８４には、操作判断処理が含まれている。次に、制御部１４は、ステップＳ８５において、ステップＳ８４で算出しらドラッグ操作の移動量ｄＬ、移動速度ｄＶ、及び操作方向から、ロボット２、２２の移動方向と、一定時間Ｓ当たりの移動量ｄＬｒ及び移動速度ｄＶｒを算出する。このステップＳ８４には、速度算出処理が含まれている。
【０２９５】
次に、制御部１４は、ステップＳ８６において、一定時間Ｓ当たりの移動量ｄＬｒ、平均速度ｄＶｒ、及び移動方向に基づいて、動作指令を生成する（動作指令処理）。そして、その動作指令がコントローラ３へ送信され、コントローラ３は、その動作指令に基づいてロボット２、２２の動作を制御する。その後、制御部１４は、ステップＳ８７において、ドラッグ操作の入力が終了したか否かを判断する。制御部１４は、ドラッグ操作の入力が終了していないと判断した場合（ステップＳ８１でＮＯ）、ステップＳ８１へ移行し、ステップＳ８１からステップＳ８７を繰り返す。一方、制御部１４は、ドラッグ操作の入力が終了したと判断した場合（ステップＳ８１でＹＥＳ）、一連の処理を終了する。このようにして、制御部１４は、ドラッグ操作が行われている間、一定時間Ｓつまり一定周期Ｓで、操作判断処理と速度算出処理と動作指令生成処理とを繰り返す。
【０２９６】
本実施形態によれば、制御部１４は、ユーザによるドラッグ操作の終了を待つことなく、動作指令を生成することができる。したがって、動作指令生成部１６は、ユーザからのドラッグ操作に対してほぼリアルタイムで、ロボット２、２２を動作させるための動作指令を生成することができる。そのため、ユーザによるドラッグ操作の入力と、ロボット２、２２の実際の動作と時間差を、極力低減することができる。よって、ユーザは、より直感的な操作が可能になり、その結果、安全性の向上、ひいては教示時間の短縮を図ることができる。
【０２９７】
（第１９実施形態）
次に、第１９実施形態について、図４６から図４８を参照して説明する。本実施形態は、いわゆるジェスチャ操作としてドラッグ操作を行った際のドラッグ操作の操作量とロボット２、２２の移動量との間の倍率に関するものである。なお、図４６では、ドラッグ操作の開始地点Ｓｐから終了地点Ｅｐまでのドラッグ操作の操作量をＬとしている。
【０２９８】
ティーチングペンダント４は、入力されるドラッグ操作の操作量以上の精密な動作をロボット２、２２に行わせるため、ドラッグ操作の操作量とロボット２、２２の移動量との間に倍率を設定することが考えられる。例えば、倍率を０．１倍に設定した場合、ユーザは、１ｍｍのドラッグ操作を行うことで、ロボット２、２２を０．１ｍｍ移動させることができる。しかし、単純に一定の倍率を設定しただけでは、次のような問題が生じる。すなわち、例えば０．１ｍｍ単位の微細な動作（微動）を行いつつ、数〜数十ｍｍ単位の大きな動作（粗動）を行いたい場合もある。しかし、例えば倍率を０．１倍に設定した場合、２００ｍｍ（１０インチ画面の長辺の長さに相当）のドラッグ操作でも、僅かに２０ｍｍしかロボットを移動させることができない。そのため、ユーザは、例えばロボットに１０００ｍｍの移動をさせようとすると、２００ｍｍのドラッグ操作を５０回も繰り返すことになり、煩雑で操作性が良くない。
【０２９９】
そこで、本実施形態において、動作指令生成部１６は、操作判断処理と、移動量決定処理と、を行うことができる。操作判断処理は、タッチ操作検出部１５で検出したドラッグ操作の指の移動量を判断する。移動量決定処理は、図４６に示すように、ドラッグ操作が、操作開始地点Ｓｐから第１区間Ｌ１を通過するまでは倍率を第１倍率に設定し、第１区間Ｌ１を通過した後は倍率を第１倍率より大きい値に設定して、ロボット２、２２の移動量を決定する。倍率とは、操作判断処理で判断したドラッグ操作の指の移動量を拡大又は縮小してロボット２、２２の移動量を決定するためのものである。また、第１倍率は、１より小さい一定の値である。
【０３００】
また、本実施形態において、移動量決定処理は、ドラッグ操作の指の移動が第１区間Ｌ１を通過してから第２区間Ｌ２を通過するまでは倍率を第２倍率に設定し、ドラッグ操作の指の移動が第２区間Ｌ２を通過した後は倍率を一定値である第３倍率に設定して、ロボットの移動量を決定する。第２倍率は、第１倍率から第３倍率までの範囲で、ドラッグ操作の指の移動量に応じて連続的に増加する値である。
【０３０１】
具体的には、図４６に示すように、第１区間Ｌ１は、ドラッグ操作の開始地点Ｓｐから所定の長さ（例えば、５０ｍｍ）の区間である。つまり、この場合、第１区間Ｌ１は、図４７に示すように、操作量０ｍｍ（開始地点Ｓｐ）から操作量５０ｍｍ（第１区間Ｌ１の終点Ｌ１ｐ）の区間である。第１区間Ｌ１の長さ、ドラッグ操作の操作量Ｌに関わらず一定である。第１区間Ｌ１内におけるドラッグ操作には、第１倍率ｆ１が設定されている。第１倍率ｆ１は、１より小さい一定値であり、例えば図４７（１）に示すように０．１倍（ｆ１＝０．１）である。
【０３０２】
第２区間Ｌ２は、第１区間Ｌ１の終点Ｌ１ｐから所定の長さ（例えば、１００ｍｍ）の区間である。つまり、この場合、第２区間Ｌ２は、図４７に示すように、操作量５０ｍｍ（第１区間Ｌ１の終点Ｌ１ｐ）から操作量１５０ｍｍ（第２区間Ｌ２の終点Ｌ２ｐ）の区間である。第２区間Ｌ２の長さは、ドラッグ操作の操作量Ｌに関わらず一定である。第２区間Ｌ２内におけるドラッグ操作には、第２倍率ｆ２が設定されている。第２倍率ｆ２は、第１倍率ｆ１よりも大きく、かつ、第３倍率ｆ３よりも小さい値である。すなわち、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量つまり開始地点Ｓｐからの距離Ｌに応じて連続的に増加する変動値である。
【０３０３】
第２倍率ｆ２は、次の（式１）で表すことができる。なお、本実施形態において、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３の範囲内において比例的に増加するが、これに限られない。第２倍率ｆ２は、例えば第１倍率ｆ１から第３倍率ｆ３の範囲内において、２次関数的に増加するものでもよいし、指数関数的に増加するものでもよい。
ｆ２＝０．０９９×（Ｌ−５０）＋０．１・・・（式１）
【０３０４】
第３区間は、第２区間Ｌ２の終点Ｌ２ｐ以降の区間である。つまり、この場合、第３区間Ｌ３は、操作量１５０ｍｍ（第２区間の終点Ｌ２ｐ）以降の区間である。第３区間Ｌ３の長さは、ドラッグ操作の操作量Ｌによって変化する。すなわち、第３区間Ｌ３の長さは、ドラッグ操作の操作量Ｌから、第１区間Ｌ１及び第２区間Ｌ２の長さを減じた値である。第３区間Ｌ３におけるドラッグ操作には、第３倍率ｆ３が設定されている。第３倍率ｆ３は、第１倍率及び第２倍率よりも大きい一定値である。この場合、第３倍率ｆ３は、例えば図４７（１）に示すように、１よりも大きい１０倍（ｆ３＝１０）に設定されている。
【０３０５】
動作指令生成部１６は、第１区間Ｌ１内におけるドラッグ操作について、その操作量Ｌに第１倍率ｆ１を乗じた値を、ロボット２、２２の移動量に設定する。また、動作指令生成部１６は、第２区間Ｌ２内におけるドラッグ操作について、その操作量Ｌに第２倍率ｆ２を乗じた値を、ロボット２、２２の移動量に設定する。また、動作指令生成部１６は、第３区間Ｌ３内におけるドラッグ操作について、その操作量Ｌに第３倍率ｆ３を乗じた値を、ロボット２、２２の移動量に設定する。ユーザは、例えば０．１ｍｍ単位の微細な動作（微動）をロボット２、２２に行わせたい場合は、第１区間Ｌ１の範囲内で、ドラッグ操作を繰り返す。一方、ユーザは、例えば大きな動作（粗動）をロボット２、２２に行わせたい場合は、第１区間Ｌ１及び第２区間Ｌ２を超えて、第３区間Ｌ３までドラッグ操作を行う。
【０３０６】
ドラッグ操作の操作量Ｌに対するロボット２、２２の移動量の変化は、図４７（２）に示すようになる。例えば、ドラッグ操作の操作量Ｌを２００ｍｍとすると、第１区間Ｌ１での操作に対して、ロボット２、２２の移動量は、０．１×５０＝５ｍｍとなる。また、第２区間Ｌ２での操作に対して、ロボット２、２２の移動量は、（（１０−０．１）×１００／２）＋（０．１×１００）＝５０５ｍｍとなる。また、第３区間Ｌ３での操作に対して、ロボット２、２２の移動量は、１０×５０＝５００ｍｍとなる。つまり、第１区間Ｌ１、第２区間Ｌ２、及び第３区間Ｌ３の全区間でのロボット２、２２の移動量は、１０１０ｍｍとなる。したがって、ユーザは、２００ｍｍのドラッグ操作で、ロボット２、２２に対して１０１０ｍｍ移動させることができる。
【０３０７】
この場合、ロボット２、２２の移動量は、各区間において次のように変化する。すなわち、ロボット２、２２の移動量は、第１区間Ｌ１（操作量０ｍｍから５０ｍｍの区間）における操作に対して、１次関数的に増加する。また、ロボット２、２２の移動量は、第２区間Ｌ２（操作量５０ｍｍから１５０ｍｍの区間）における操作に対して、２次関数的に増加する。また、ロボット２、２２の移動量は、第３区間Ｌ３（操作量１５０ｍｍ以上の区間）における操作に対しては、１次関数的に増加する。
【０３０８】
これによれば、ユーザは、第１区間Ｌ１内でドラッグ操作することで、ロボット２、２２を、１より小さい一定の倍率である第１倍率ｆ１で移動させることができる。つまり、ユーザは、第１区間Ｌ１内でドラッグ操作を繰り返すことで、ロボット２、２２に微動をさせることができる。また、ユーザは、第１区間Ｌ１を超えてドラッグ操作することで、第１区間Ｌ１を超えた部分について、ロボット２、２２を、第１倍率よりも大きい倍率で移動させることができる。つまり、ユーザは、第１区間Ｌ１を超えて操作することで、ロボット２、２２に粗動をさせることができる。
【０３０９】
このように、ユーザは、１度のドラッグ操作で、異なる倍率でロボット２、２２を移動させることができる。これによれば、例えばロボット２、２２の微動と粗動との両方の動作を、１回のドラッグ操作で実現することができる。したがって、ユーザは、ロボット２、２２の微動と粗動とを切り替えるための特別な操作をすることなく、微動と粗動との両方を実現することができる。これにより、操作が簡単になり、操作性の向上が図られ、その結果、安全性の向上が図られるとともに、教示に要する時間を低減することができる。
【０３１０】
また、本実施形態によれば、移動量決定処理は、ドラッグ操作の指の移動が第１区間Ｌ１を通過してから第２区間Ｌ２を通過するまでは倍率を第２倍率ｆ２に設定し、ドラッグ操作の指の移動が第２区間を通過した後は倍率を一定値である第３倍率ｆ３に設定して、ロボット２、２２の移動量を決定する。これによれば、ユーザは、第１区間Ｌ１内でドラッグ操作を繰り返すことにより、１より小さい第１倍率ｆ１でロボットを微動させることができる。また、ユーザは、第１区間Ｌ１を超えてドラッグ操作を行うことにより、第１倍率ｆ１よりも大きい第２倍率ｆ２又は第３倍率ｆ３でロボット２、２２を粗動させることができる。
【０３１１】
さらに、第２倍率ｆ２は、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量Ｌに応じて連続的に増加する値である。これによれば、第１倍率ｆ１による微動と第３倍率ｆ３による粗動との間の倍率である第２倍率ｆ２が、第１倍率ｆ１から第３倍率ｆ３までの範囲で、ドラッグ操作の指の移動量Ｌに応じて連続的に増加する。すなわち、一定値である第１倍率ｆ１と第３倍率ｆ３との間が、連続して変化する第２倍率ｆ２によって繋がれている。そのため、ユーザのドラッグ操作の操作量Ｌに対するロボット２、２２の移動量を決定するための倍率は、第１倍率ｆ１から、次第に変化する第２倍率ｆ２を経て第３倍率ｆ３に切り替わる。これにより、ロボット２、２２の移動量を決定するための倍率が、第１倍率ｆ１から第３倍率ｆ３に急激に切り替わることが防止される。すなわち、ロボット２、２２の移動が、微動から粗動へ急激に変化することを防止することができる。したがって、ユーザの意図しない急激な倍率の変化によって生じるロボット２、２２の急激な速度変化（急動）を防止することができる。その結果、更なる安全性の向上が図られる。
【０３１２】
なお、図４８（１）、（２）に示すように、第１倍率ｆ１を０．０１倍、第３倍率ｆ３を１．０倍とし、第２倍率ｆ２を、第１倍率ｆ１＝０．０１から第３倍率ｆ３＝１．０の範囲内において、次の（式２）で表す値にしてもよい。これによれば、０．０１倍及び０．１倍の倍率を併用することができるため、さらに細かい動作を容易に行うことができる。
ｆ２＝０．００９９×（Ｌ−５０）＋０．０１・・・（式２）
【０３１３】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
ロボットの手動操作を行う際、敢えて複数の動作を同時にミックスして行うことも少なからずあり得る。このようなケースに対応するためには、各動作を行うための操作の線引きを曖昧にすればよい。つまり、この場合、上記各実施形態において、各動作を行うための操作の切り分けを明確化するために実施した工夫を行わなければよい。
【０３１４】
上記のいくつかの実施形態では、本発明のロボット操作装置を、ロボットシステムに用いられる専用のティーチングペンダント４に適用した構成について説明したが、これに限らずともよい。例えば、汎用のタブレット型端末（タブレットＰＣ）やスマートフォン（多機能携帯電話）などに、専用のアプリ（ロボット操作プログラム）をインストールすることにより、上記各実施形態において説明したような機能と同等の機能を実現することも可能である。
【０３１５】
多関節ロボットには、上記各実施形態で説明した４軸水平多関節型のロボット２及び６軸垂直多関節型のロボット２２のみならず、例えば複数の駆動軸を有する直交型のロボットも含まれる。この場合、駆動軸には、機械的な回転軸に限られず、例えばリニアモータによって駆動する方式も含まれる。
【０３１６】
本発明のロボット操作装置は、４軸水平多関節型のロボット２および６軸垂直多関節型のロボット２２に限らず、種々のロボットを手動操作する際に用いることができる。
【符号の説明】
【０３１７】
図面中、１、２１はロボットシステム、２、２２はロボット、３はコントローラ、４はティーチングペンダント（ロボット操作装置）、５、２５はベース、９、３１はフランジ（ロボットの手先）、１１はケース、１１ａは把持部、１５はタッチ操作検出部、１６は動作指令生成部、１７はタッチパネル、１７１は第１領域、１７２は第２領域、１７３は開始操作検出領域（開始操作検出部）、１７４は移動量決定領域、１７５は動作選択領域、１８は選択操作検出部、１９は姿勢検出部（傾き操作検出部）、４１は第１ボタン（切替部）、４２は第２ボタン（切替部）を示す。
【図１】
2015083331.tif 000003
【図２】
2015083331.tif 000004
【図３】
2015083331.tif 000005
【図４】
2015083331.tif 000006
【図５】
2015083331.tif 000007
【図６】
2015083331.tif 000008
【図７】
2015083331.tif 000009
【図８】
2015083331.tif 000010
【図９】
2015083331.tif 000011
【図１０】
2015083331.tif 000012
【図１１】
2015083331.tif 000013
【図１２】
2015083331.tif 000014
【図１３】
2015083331.tif 000015
【図１４】
2015083331.tif 000016
【図１５】
2015083331.tif 000017
【図１６】
2015083331.tif 000018
【図１７】
2015083331.tif 000019
【図１８】
2015083331.tif 000020
【図１９】
2015083331.tif 000021
【図２０】
2015083331.tif 000022
【図２１】
2015083331.tif 000023
【図２２】
2015083331.tif 000024
【図２３】
2015083331.tif 000025
【図２４】
2015083331.tif 000026
【図２５】
2015083331.tif 000027
【図２６】
2015083331.tif 000028
【図２７】
2015083331.tif 000029
【図２８】
2015083331.tif 000030
【図２９】
2015083331.tif 000031
【図３０】
2015083331.tif 000032
【図３１】
2015083331.tif 000033
【図３２】
2015083331.tif 000034
【図３３】
2015083331.tif 000035
【図３４】
2015083331.tif 000036
【図３５】
2015083331.tif 000037
【図３６】
2015083331.tif 000038
【図３７】
2015083331.tif 000039
【図３８】
2015083331.tif 000040
【図３９】
2015083331.tif 000041
【図４０】
2015083331.tif 000042
【図４１】
2015083331.tif 000043
【図４２】
2015083331.tif 000044
【図４３】
2015083331.tif 000045
【図４４】
2015083331.tif 000046
【図４５】
2015083331.tif 000047
【図４６】
2015083331.tif 000048
【図４７】
2015083331.tif 000049
【図４８】
2015083331.tif 000050