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