(57)【要約】【課題】画面を目視しなくともオペレータの意図通りに加工機を操作することが可能な数値制御装置を提供すること。【解決手段】本発明の数値制御装置１は、機械を制御する数値制御装置であり、同時に為された複数のタッチ操作を検知可能なタッチ型ポインティングデバイスと、タッチ型ポインティングデバイスが検知した操作の中から、少なくとも１つのタッチによるタッチ操作である第１操作と、当該第１操作でのタッチ状態を維持したまま為される操作である第２操作とを解析して抽出する操作解析部１１０と、第１操作と第２操作とに基づいて動作させるべき機能を決定し、該動作を行うように指令する動作決定部１２０と、を備える。【選択図】図１０
2017211956.tif 000002
【特許請求の範囲】
【請求項１】
機械を制御する数値制御装置において、
タッチ操作を検知可能なタッチ型ポインティングデバイスと、
前記タッチ型ポインティングデバイスが検知した操作の中から、少なくとも１つのタッチによるタッチ操作である第１操作と、前記第１操作でのタッチ状態を維持したまま為される操作である第２操作とを解析して抽出する操作解析部と、
前記第１操作と前記第２操作とに基づいて動作させるべき前記機械の機能または前記数値制御装置の機能を決定し、該機能を動作させるように指令する動作決定部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記機械は少なくとも１つの軸を備え、
前記動作決定部は、前記第１操作に基づいて前記軸の内の手動操作の対象となる軸を決定し、前記第２操作に基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出し、決定した前記手動操作の対象となる軸を、算出した前記移動方向及び前記移動速度で制御するように指令する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記動作決定部は、前記第１操作によるタッチ点の数に基づいて前記軸の内の手動操作の対象となる軸を決定する、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記第２操作はタッチ操作であり、
前記動作決定部は、前記第１操作によるタッチ点の位置と、前記第２操作によるタッチ点の位置とに基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出する、
ことを特徴とする請求項２または３に記載の数値制御装置。
【請求項５】
前記第２操作はドラッグ操作であり、
前記動作決定部は、前記第１操作によるタッチ点の位置と、前記第２操作によるドラッグ後のタッチ点の位置とに基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出する、
ことを特徴とする請求項２または３に記載の数値制御装置。
【請求項６】
前記数値制御装置は、マルチタッチジェスチャ操作を受け付ける動作モードと、マルチタッチジェスチャ操作を受け付けない動作モードとを切り替え可能であり、
前記操作解析部は、マルチタッチジェスチャ操作を受け付ける動作モードにおいてのみ、前記タッチパネルが検知した操作の中から前記第１操作と前記第２操作とを解析して抽出する、
ことを特徴とする請求項１から５のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にタッチパネルを用いたマルチタッチジェスチャによる機械操作が可能な数値制御装置に関する。
【背景技術】
【０００２】
オペレータが加工機を手動操作する場合、該加工機に備え付けられたハードウェア的な操作盤や、該加工機又は該加工機を制御する数値制御装置に備え付けられた表示器上に構成された仮想操作盤などの操作盤相当のアプリケーションを用いている（特許文献１など）。
【０００３】
図１２は、加工機に備え付けられたハードウェア的な操作盤の例を示している。図１２に示す操作盤４０には、手動パルス発生器４１、手動送りボタン４２が設けられている。手動パルス発生器４１は手動ハンドル４１ａを＋回転または−回転させると、その回転に応じてパルス信号を出力させる。このパルス信号は回転方向を判別するための二相のパルスであって、図示しないバスを介して図示しないプロセッサに送られ、工具を移動させる。手動送りボタン４２には、「＋Ｘ」，「−Ｘ」，「＋Ｙ」，「―Ｙ」，「＋Ｚ」，「−Ｚ」の各軸についてプラス及びマイナス方向の送りボタンが設けられている。また、設定スイッチ４３は手動ハンドル４１ａを１目盛り操作した時の移動量を設定するスイッチである。
一方で、操作盤相当のアプリケーションでは、表示器の画面上に操作盤のボタンやスイッチ、ランプなどに相当する仮想的な操作盤の画面を表示する。仮想操作盤が表示されている表示器の画面にはオペレータのタッチ操作による入力を可能とするタッチパネルが重畳されており、当該画面上に表示されたキーやスイッチなどをオペレータがタッチ操作することによりハードウェア的な操作盤を操作した場合と同様の手動操作が行えるようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２５４５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したハードウェア的な操作盤や操作盤相当のアプリケーションを用いた操作では、オペレータは操作を行う際に操作盤または仮想操作盤における所望のボタンやスイッチ、ハンドルなどの位置を目視で確認してから操作する必要がある。そのため、操作の開始時、操作中、操作軸の変更時などには加工を行っている機械から目線を離さなければならず、加工している機械を確認しながら操作することができないという課題がある。特に、操作盤相当のアプリケーションを用いる場合には、画面上に表示されているボタンやスイッチ、ハンドルに凹凸があるわけではなく、指先の感覚だけではそれぞれのボタンやスイッチ、ハンドルなどの配置を確認することができないので、必ず画面上を確認しながら操作を行わなければならなくなる。
【０００６】
なお、ハードウェア的な操作盤を用いる場合には、指先の感触でボタンやスイッチ、ハンドルの配置を確認することができるため、経験を積んだオペレータであれば操作盤上から目線を離した状態でもある程度の操作をすることは可能である。しかしながら、機械の操作においてはボタンの押し間違いをすることで致命的な問題が生じることがあるため、手探りで操作をすることは好ましいことではない。また、ハードウェア的な操作盤を用意する場合には、操作盤の面積の制限や、操作盤内に配置するボタンやスイッチ、ハンドルなどの数の制限などといったような物理的な制約が生じるという問題もあるため、状況に応じてボタンやキー、ハンドルの配置や種類をソフトウェア的に変更できる操作盤相当のアプリケーションを用いながら上記課題を解決することが望まれている。
【０００７】
そこで本発明は、画面を目視しなくともオペレータの意図通りに加工機を操作することが可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の請求項１に係る発明は、機械を制御する数値制御装置において、タッチ操作を検知可能なタッチ型ポインティングデバイスと、前記タッチ型ポインティングデバイスが検知した操作の中から、少なくとも１つのタッチによるタッチ操作である第１操作と、前記第１操作でのタッチ状態を維持したまま為される操作である第２操作とを解析して抽出する操作解析部と、前記第１操作と前記第２操作とに基づいて動作させるべき前記機械の機能または前記数値制御装置の機能を決定し、該機能を動作させるように指令する動作決定部と、を備えることを特徴とする数値制御装置である。
【０００９】
本発明の請求項２に係る発明は、前記機械は少なくとも１つの軸を備え、前記動作決定部は、前記第１操作に基づいて前記軸の内の手動操作の対象となる軸を決定し、前記第２操作に基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出し、決定した前記手動操作の対象となる軸を、算出した前記移動方向及び前記移動速度で制御するように指令する、
ことを特徴とする請求項１に記載の数値制御装置である。
【００１０】
本発明の請求項３に係る発明は、前記動作決定部は、前記第１操作によるタッチ点の数に基づいて前記軸の内の手動操作の対象となる軸を決定する、
ことを特徴とする請求項２に記載の数値制御装置である。
【００１１】
本発明の請求項４に係る発明は、前記第２操作はタッチ操作であり、
前記動作決定部は、前記第１操作によるタッチ点の位置と、前記第２操作によるタッチ点の位置とに基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出する、
ことを特徴とする請求項２または３に記載の数値制御装置である。
【００１２】
本発明の請求項５に係る発明は、前記第２操作はドラッグ操作であり、前記動作決定部は、前記第１操作によるタッチ点の位置と、前記第２操作によるドラッグ後のタッチ点の位置とに基づいて前記手動操作の対象となる軸の移動方向及び移動速度を算出する、ことを特徴とする請求項２または３に記載の数値制御装置である。
【００１３】
本発明の請求項６に係る発明は、前記数値制御装置は、マルチタッチジェスチャ操作を受け付ける動作モードと、マルチタッチジェスチャ操作を受け付けない動作モードとを切り替え可能であり、前記操作解析部は、マルチタッチジェスチャ操作を受け付ける動作モードにおいてのみ、前記タッチパネルが検知した操作の中から前記第１操作と前記第２操作とを解析して抽出する、ことを特徴とする請求項１から５のいずれか１つに記載の数値制御装置である。
【発明の効果】
【００１４】
本発明によれば、オペレータは操作対象のボタンや画面に着目せず、機械の動きを確認しながら機械を操作することが可能になる。また、操作に用いるパターンと範囲を予め定めておくことで、誤動作の危険を防ぐことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明のマルチタッチジェスチャ操作の概要を説明する図である。
【図２】数値制御装置が備えるタッチパネルの表示例を示す図である。
【図３】本発明のマルチタッチジェスチャ操作を加工機の補助機能を動作させるために用いた場合の操作例を示す図である。
【図４】マルチタッチジェスチャ操作を検出して軸移動を行う処理の概略的なフローチャートである。
【図５】本発明のマルチタッチジェスチャ操作を加工機の軸の手動操作に適用した場合の操作例を示す図である。
【図６】マルチタッチジェスチャ操作を検出して軸移動を行う処理の概略的なフローチャートである。
【図７】図５に示したマルチタッチジェスチャ操作において複数の第２操作を行った例を示す図である。
【図８】本発明のマルチタッチジェスチャ操作をロボットハンドの操作に適用した場合の操作例を示す図である。
【図９】本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。
【図１０】本発明の一実施形態による数値制御装置の概略的な機能ブロック図である。
【図１１】本発明の他のマルチタッチジェスチャ操作例を示す図である。
【図１２】従来技術による操作盤の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面と共に説明する。
本発明の数値制御装置は、該数値制御装置に備えられたタッチパッドやタッチパネルなどのタッチ型ポインティングデバイスに対してオペレータが行うマルチタッチジェスチャ操作を解析し、当該操作に基づいて制御対象となる機械の軸を制御する機能を備える。
【００１７】
図１は、本発明で導入されるマルチタッチジェスチャ操作の例を示す図である。図１に示すように、本発明の数値制御装置では、タッチ型ポインティングデバイスに対する第１操作と該第１操作を維持したまま行う第２操作との組をマルチタッチジェスチャ操作として検知して、検知したマルチタッチジェスチャ操作に基づいてオペレータからの指令を解析し、解析結果に基づいて指令された機能を実行する。図１に示す例では、オペレータにより第１操作としてのタッチ型ポインティングデバイスへのタッチ操作が行われ、該第１操作を維持したまま第２操作としてのタッチ型ポインティングデバイスへの追加のタッチ操作が行われた場合に、これら一連の操作を軸の手動操作を指令するマルチタッチジェスチャ操作として検知した上で、第１操作でタッチした点の数により手動操作の対象とする軸を選択し、該第１操作でタッチした点の位置に対する第２操作でタッチした点の位置により軸の移動方向と移動速度を決定している。
【００１８】
第１操作と第２操作にはどのような操作を採用しても良く、また、第１操作と第２操作の組合せに対してどのような機能を関連付けても良い。
マルチタッチジェスチャ操作を検知するタッチ型ポインティングデバイスとしてタッチパネルを用いている場合には、図２に示すように、タッチパネルと重畳されている画面上にはソフトウェアキーやソフトウェアボタン、ソフトウェアスイッチなどのような、タッチ操作で操作可能な要素が表示されている場合もあるが、そのような場合であっても適切な第１操作と第２操作を採用することで、ソフトウェアキーの操作（画面上に表示されている要素の上でタッチ操作の直後にリリース操作）と本発明で導入されるマルチタッチジェスチャ操作（図１の例では、第１操作としてのタッチ操作と、該第１操作を維持したままでの第２操作としてのタッチ操作）とを区別して検知することができる。無論、マルチタッチジェスチャ操作を受け付ける専用の動作モードを設けて、該動作モードに切り替えた場合にのみマルチタッチジェスチャ操作を受け付けるようにして、通常の動作モードにおいてはマルチタッチジェスチャ操作を受け付けないようにしても良い。
【００１９】
本発明で導入されるマルチタッチジェスチャ操作としては、両手で操作できるものを採用するようにしても良い。両手で操作できるマルチタッチジェスチャ操作では左右１０本の指を利用することができ、複雑な操作が可能であるため、多くの機能を動作させることができるというメリットがある。しかし、両手で操作する場合には体の向きがタッチ型ポインティングデバイスの方に制限されてしまうため、タッチ型ポインティングデバイスと機械との位置関係によっては機械の方に視線を向けにくくなるというデメリットもある。これに対して、片手で操作可能なマルチタッチジェスチャ操作を採用すると、５本以内の指で可能な操作しかできない反面、体の向きの自由度が高まるため、機械の方へと視線を向けやすくなるというメリットがある。
【００２０】
このようなマルチタッチジェスチャ操作が導入された本発明の数値制御装置を操作するオペレータは、視線を機械の方向へと向けたままで第１操作および第２操作を行うことで、操作に用いるタッチ型ポインティングデバイスを注視することなく数値制御装置が備える各機能や該数値制御装置が制御する機械が備える各機能をコントロールすることができるようになる。
以下では、実際の操作例を示しながら説明する。
【００２１】
図３は、本発明のマルチタッチジェスチャ操作を数値制御装置が制御する機械が備える補助機能を動作させるために用いた場合の操作例を示している。図３に示す操作例では、第１操作におけるタッチ点の数、第２操作におけるタッチ点の数、および第１操作におけるタッチ点の位置から見た第２操作におけるタッチ点の位置の方向と距離（ベクトル）に基づいてオペレータが動作させようとしている機能を特定している。例えば、クーラントＯＮの機能を動作させたい場合には、オペレータは第１操作でタッチ型ポインティングデバイスを３本の指（図３では人差し指、中指、薬指）で３点タッチ操作し、当該タッチを維持したまま第２操作として１本の指（図３では小指）により３点タッチした位置の近傍右方向を追加で１点タッチ操作する。
【００２２】
なお、第１操作、第２操作において複数の指でタッチ型ポインティングデバイスをタッチしている場合、第１操作におけるタッチ点の位置から見た第２操作におけるタッチ点の位置の方向と距離（ベクトル）を算出する際には、複数の指による複数のタッチ点の中間位置（位置）をそれぞれの操作におけるタッチ点の位置として扱うようにしても良く、または、第１操作（第２操作）による複数のタッチ点の内で第２操作（第１操作）によるタッチ点の位置に最も近いタッチ点を第１操作（第２操作）のタッチ位置として扱っても良い。
【００２３】
また、第１操作のタッチ点の位置から見た場合の第２操作のタッチ点の位置の方向と距離（ベクトル）は、同じ操作をしたとしても（例えば、オペレータの手の大きさの違いが原因で）オペレータ毎に異なる場合もある。そのため、予めオペレータが設定画面において各機能に対応付けられたマルチタッチジェスチャ操作を行うことで、各マルチタッチジェスチャ操作における第１操作のタッチ点の位置から見た場合の第２操作のタッチ点の位置の方向と距離（ベクトル）のキャリブレーション値（調整値）を登録できるようにしておくとよい。このようにして登録されたキャリブレーション値と、実際の操作における第１操作のタッチ点の位置から見た場合の第２操作のタッチ点の位置の方向と距離（ベクトル）とが所定の誤差の範囲内に収まった場合に当該マルチタッチジェスチャ操作が為されたと判定することでマルチタッチジェスチャ操作の誤検出を低減することができるようになる。
【００２４】
更に、同時に予めオペレータの手の大きさ（横幅）を閾値として設定するようにしておいて、第１操作のタッチ点の位置と第２操作のタッチ点の位置との距離（ベクトル長）があらかじめ設定した閾値よりも大きい場合には誤検出とするようにしても良い。このようにすることで、切粉や切削液がタッチ型ポインティングデバイスに接触するなどして発生する誤検出を低減することができるようになる。
【００２５】
図４は、上記したタッチ型ポインティングデバイスへのマルチタッチジェスチャ操作を検出して制御対象の機械が備える補助機能を動作させる処理の概略的なフローチャートである。図４のフローチャートは、タッチ型ポインティングデバイスとしてタッチパネルを用いている場合の処理のフローチャートであり、タッチパネルに重畳される画面上にはソフトウェアキーなどが表示されている。
●［ステップＳＡ０１］数値制御装置は、タッチパネルに対する第１操作が検出されたか否かを判定する。タッチパネルに対する第１操作（タッチパネルに対するタッチ）が検出された場合にはステップＳＡ０２へ処理を移行し、検出されていない場合は検出動作を継続する。
●［ステップＳＡ０２］数値制御装置は、ステップＳＡ０１で検出された第１操作に続く次の操作を検出し、検出した操作の種類を判定する。検出した操作の種類が第２操作（第一操作でタッチした指を離す操作）である場合にはステップＳＡ０４へ処理を移行し、検出した操作の種類がタッチパネルから指を離す操作（リリース）である場合にはステップＳＡ０３へ処理を移行する。
●［ステップＳＡ０３］数値制御装置は、タッチパネルに重畳されている画面上に表示されている要素（ソフトウェアキー、ソフトウェアボタン、ソフトウェアスイッチなど）の内で、ステップＳＡ０１で検出したタッチパネルに対する第１操作でタッチ点の位置に表示されている要素に応じた動作を開始し、ステップＳＡ０１へと処理を移行する。
【００２６】
●［ステップＳＡ０４］数値制御装置は、ステップＳＡ０１で検出した第１操作のタッチ位置からみた場合の、ステップＳＡ０２で検出した第２操作のタッチ位置の方向と距離をベクトルとして計算する。
●［ステップＳＡ０５］数値制御装置は、ステップＳＡ０４で算出したベクトルのベクトル長が予め設定された閾値（例えば、予めオペレータの手の大きさに基づいて設定された閾値）以下であるか否かを判定する。閾値以下である場合にはステップＳＡ０６へと処理を移行し、閾値を越えている場合には誤検出と判断して何もせずにステップＳＡ０１へと処理を移行する。
●［ステップＳＡ０６］数値制御装置は、ステップＳＡ０１で検出した第１操作のタッチ点の数、ステップＳＡ０２で検出した第２操作のタッチ点の数、およびステップＳＡ０４で算出したベクトルのベクトル長が、登録されているマルチタッチジェスチャ操作の操作パターンに含まれているかを判定する。登録されている場合にはステップＳＡ０７へと処理を移行し、登録されていない場合には操作は未登録と判断して何もせずにステップＳＡ０１へと処理を移行する。
●［ステップＳＡ０７］数値制御装置は、ステップＳＡ０１で検出した第１操作のタッチ点の数、ステップＳＡ０２で検出した第２操作のタッチ点の数、およびステップＳＡ０４で算出したベクトルに基づいて決定された機能を実行し、ステップＳＡ０１へと処理を移行する。
【００２７】
このように、複数のマルチタッチジェスチャ操作に対して複数の機能を対応付けておくことにより、オペレータは機械の方を注視したままで数値制御装置や機械の機能を動作させることができるようになる。
【００２８】
図５は、本発明のマルチタッチジェスチャ操作を数値制御装置が制御する機械が備える軸を手動操作に適用した場合の操作例を示している。本操作例では、図１で例示したように、第１操作で手動操作の対象として選択される軸を決定し、第２操作で選択された軸の移動方向および選択された軸の移動速度を決定している。
本操作例における手動操作の対象とする軸の選択は、図５に示すように、第１操作によるタッチ点の数で決定する。図５に示した例では、第１操作で１点タッチした場合にはＸ軸、２点タッチした場合にはＹ軸、３点タッチした場合にはＺ軸を手動操作の対象として選択している。なお、図５では１点タッチを中指で、２点タッチを中指と薬指でしているが、１点タッチを人差し指や薬指、２点タッチを人差し指と中指や人差し指と薬指で行うようにしても良い。更に、オペレータが所望する第２操作が行えるのであれば、第１操作に親指や小指を用いたり、他の手の指を用いたりしても良い。
【００２９】
本操作例における第１操作で選択された軸の移動方向および軸の移動速度は、図５に示すように、第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離（ベクトル）によって指定する。図５に示した例では、第１操作のタッチ位置からみた場合の第２操作のタッチ位置の方向が、タッチ型ポインティングデバイスに向かって右側方向に向いている場合には選択された軸の移動方向を正方向とし、タッチ型ポインティングデバイスに向かって左側方向に向いている場合には選択された軸の移動方向を負方向としている。また、選択された軸の移動速度は、例えば第１操作のタッチ点の位置と第２操作のタッチ点の位置の距離に予め定めた係数を掛けた値とすればよいが、２点間の距離に関わらず軸の動き出しの速度は低速とし、徐々に加速して２点間の距離に基づく速度となるようにしてもよい。なお、第１操作において複数の指でタッチ型ポインティングデバイスをタッチしている場合は、第１操作による複数のタッチ点の中間位置（平均位置）を第１操作のタッチ点の位置として扱っても良く、または、第１操作による複数のタッチ点の内で第２操作によるタッチ点の位置に最も近いタッチ点を第１操作のタッチ位置として扱っても良い。
【００３０】
本操作例において、第１操作のタッチ点の位置と、第２操作のタッチ点の位置との距離（ベクトル長）があらかじめ定めた所定の閾値よりも大きい場合には誤検出と判断するようにしても良い。この場合、例えば、予めオペレータの手の大きさ（横幅）に基づいて閾値を設定しておき、当該閾値よりも第１操作のタッチ点の位置と第２操作のタッチ点の位置との距離が大きい場合には誤検出とするようにしても良い。
【００３１】
図６は、上記したタッチ型ポインティングデバイスへのマルチタッチジェスチャ操作を検出して軸移動を行う処理の概略的なフローチャートである。図６のフローチャートは、タッチ型ポインティングデバイスとしてタッチパネルを用いている場合の処理のフローチャートであり、タッチパネルに重畳される画面上にはソフトウェアキーなどが表示されている。
●［ステップＳＢ０１］数値制御装置は、タッチパネルに対する第１操作が検出されたか否かを判定する。タッチパネルに対する第１操作（タッチパネルに対するタッチ）が検出された場合にはステップＳＢ０２へ処理を移行し、検出されていない場合は検出動作を継続する。
●［ステップＳＢ０２］数値制御装置は、ステップＳＢ０１で検出された第１操作に基づいて手動操作の対象とする軸を決定する。
【００３２】
●［ステップＳＢ０３］数値制御装置は、ステップＳＢ０１で検出された第１操作に続く次の操作を検出し、検出した操作の種類を判定する。検出した操作の種類が第２操作である場合にはステップＳＢ０５へ処理を移行し、検出した操作の種類がタッチパネルから指を離す操作（リリース）である場合にはステップＳＢ０４へ処理を移行する。
●［ステップＳＢ０４］数値制御装置は、タッチパネルに重畳されている画面上に表示されている要素（ソフトウェアキー、ソフトウェアボタン、ソフトウェアスイッチなど）の内で、ステップＳＢ０１で検出したタッチパネルに対する第１操作でタッチ点の位置に表示されている要素に応じた動作を開始し、ステップＳＢ０１へと処理を移行する。
【００３３】
●［ステップＳＢ０５］数値制御装置は、ステップＳＢ０１で検出した第１操作のタッチ位置からみた場合の、ステップＳＢ０３で検出した第２操作のタッチ位置の方向と距離をベクトルとして計算する。
●［ステップＳＢ０６］数値制御装置は、ステップＳＢ０５で算出したベクトルのベクトル長が予め設定された閾値（例えば、予めオペレータの手の大きさに基づいて設定された閾値）以下であるか否かを判定する。閾値以下である場合にはステップＳＢ０７へと処理を移行し、閾値を越えている場合には誤検出と判断して何もせずにステップＳＢ０１へと処理を移行する。
●［ステップＳＢ０７］数値制御装置は、ステップＳＢ０５で算出したベクトルに基づいて決定された移動方向及び移動速度で、ステップＳＢ０２で決定した手動操作の対象とする軸を移動制御する。
【００３４】
本操作例では、第１操作でタッチしている指をタッチ型ポインティングデバイス上に置いたままで維持されている間（キープしている間）に、連続した第２操作を行うことで、細やかな軸の移動を行えるようにすることもできる。例えば、図７に示すように、第１操作において中指でタッチ型ポインティングデバイスをタッチし、Ｘ軸を手動操作対象の軸として選択している状態で、第２操作ａにおいて小指でタッチ型ポインティングデバイスをタッチすることでＸ軸を正方向に移動させたとする。その後、続く第２操作ｂで中指によるタッチを維持（キープ）したまま小指でタッチ型ポインティングデバイスをタッチする位置を変更することで、移動速度を変えてＸ軸を正方向に移動させることができる。更に、続く第２操作ｃにより小指をタッチ型ポインティングデバイスから離して（リリース）、中指によるタッチを維持（キープ）したまま、親指でタッチ型ポインティングデバイスをタッチすることでＸ軸を負方向に移動させることもできる。このような処理は、例えば図６のフローチャートにおいて、第１操作でタッチした指がタッチ型ポインティングデバイスに置いたままで維持されている間、他の指によるタッチ・リリース操作の検知と、ベクトル計算、軸移動制御の処理（ステップＳＢ０３の一部の処理、およびステップＳＢ０５〜ステップＳＢ０７の処理）を繰り返すことで実現可能である。
【００３５】
図８は、本発明のマルチタッチジェスチャ操作をロボットハンドの手動操作に適用した場合の操作例を示している。本操作例では、第１操作のタッチ点の位置から見た場合の第２操作のタッチ点の位置の方向と距離（ベクトル）に基づいてロボットハンドの移動方向と移動速度とを決定してロボットハンドの手動操作が行えるようにしている。これに加えて、第１操作のタッチ点の数に応じてロボットハンドを上下方向などにも移動させることができるようにすることで、複雑なロボットハンドの操作を行えるようにすることも可能である。
【００３６】
図９は、本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。数値制御装置１はプロセッサ１０を中心に構成されている。プロセッサ１０はＲＯＭ１１に格納されたシステム・プログラムに従って数値制御装置１全体を制御する。このＲＯＭ１１にはＥＰＲＯＭあるいはＥＥＰＲＯＭが使用される。
【００３７】
ＲＡＭ１２にはＤＲＡＭ等が使用され、一時的な計算データ、表示データ、入出力信号等が格納される。不揮発性メモリ１３には図示されていないバッテリによってバックアップされたＣＭＯＳやＳＲＡＭが使用され、電源切断後も保持すべきパラメータ、加工プログラム、工具補正データ等が記憶される。
【００３８】
ＬＣＤ／ＭＤＩユニット１８は、数値制御装置１の前面あるいは機械操作盤と同じ位置に配置され、データ及び図形の表示、データ入力、数値制御装置１の運転に使用される。グラフィック制御回路１９は数値データ及び図形データ等のデジタル信号を表示用のラスタ信号に変換し、表示装置２０に送り、表示装置２０はこれらの数値及び図形を表示する。表示装置２０には主に液晶表示装置が使用される。
【００３９】
キーボード２１は数値キー、シンボリックキー、文字キー及び機能キーから構成され、加工プログラムの作成、編集及び数値制御装置の運転に使用される。
タッチ型ポインティングデバイス２２は、オペレータによるタッチやドラッグなどの操作を検知する機能を備える。タッチ型ポインティングデバイス２２をタッチパネルとして実装する場合には、タッチ型ポインティングデバイス２２は表示装置２０の画面上に重畳して配置され、オペレータが表示装置２０の画面上に表示されたソフトウェアキーやソフトウェアボタン、ソフトウェアスイッチに対して行った操作をタッチ型ポインティングデバイス２２により検知することができる。タッチ型ポインティングデバイス２２が検知する操作に係る情報は、タッチ型ポインティングデバイス２２に対する複数の操作主体（指やタッチペン）によるタッチやリリース、ドラッグなどの操作種類の情報や、該操作が為された座標値の情報、該操作に掛けた時間の情報などを含む。タッチ型ポインティングデバイス２２は、複数の指による同時操作（マルチタッチ）を検知可能なものであれば、どのような検知方式のタッチパネルを用いても良い。タッチ型ポインティングデバイス２２がマルチタッチ操作を検知する際には、最初のタッチ操作が為されてから予め定めた所定の閾値以内にタッチ型ポインティングデバイス２２に対して為されたタッチ操作については最初のタッチ操作と同時に為されたものとしてマルチタッチ操作を検知する。なお、タッチ型ポインティングデバイス２２をタッチパネルとする場合には、該タッチパネルと表示装置２０とを併せて１つの装置として構成しても良い。
【００４０】
軸制御回路１４はプロセッサ１０からの軸の移動指令を受けて、軸の移動指令をサーボアンプ１５に出力する。サーボアンプ１５はこの移動指令を増幅し、加工機２に結合されたサーボモータを駆動し、加工機２の工具とワークの相対運動を制御する。なお、図９では１軸分のみ示したが、軸制御回路１４及びサーボアンプ１５はサーボモータの軸数に対応した数だけ設けられる。
【００４１】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６はプロセッサ１０からバス１７経由でＭ（補助）機能信号、Ｓ（スピンドル速度制御）機能信号、Ｔ（工具選択）機能信号等を受け取る。そして、これらの信号をシーケンス・プログラムで処理して、出力信号を出力し、加工機２内の空圧機器、油圧機器、電磁アクチュエイタ等を制御する。また、加工機２内の機械操作盤のボタン信号、スイッチ信号等の各種信号を受けて、シーケンス処理を行い、バス１７を経由してプロセッサ１０に必要な入力信号を転送する。
なお、図９ではスピンドルモータ制御回路及びスピンドルモータ用アンプ等は省略してある。
【００４２】
図１０は、図９に示した数値制御装置１に対して本発明のマルチタッチジェスチャによる軸の手動操作機能をシステム・プログラムとして実装した場合の概略的な機能ブロック図を示している。図１０に示されている各機能手段は、図９に示したプロセッサ１０がシステム・プログラムを実行して各機能を提供することにより実現される。本実施形態の数値制御装置１は、操作解析部１１０、動作決定部１２０を備える。また、本実施形態の数値制御装置１は、図示しないメモリ上に設けられた記憶領域である操作定義記憶部２００を備えており、該操作定義記憶部２００に図３，図５などで示したマルチタッチジェスチャ操作（第１操作と第２操作）に係る操作定義に係る情報と、それぞれのマルチタッチジェスチャ操作により動作する機能との対応関係、各マルチタッチジェスチャ操作のキャリブレーション設定、オペレータの手の大きさなどの情報が、予め設定されて記憶されている。
【００４３】
操作解析部１１０は、ＬＣＤ／ＭＤＩユニット１８が備えるタッチ型ポインティングデバイス２２が検知した操作を取得し、取得した操作が、第１操作に該当するのか、第２操作に該当するのか、またはその他の操作であるのか、などといったようなことを解析し、解析結果に基づいて後述する動作決定部１２０、または図示しない他の動作部（図４のフローチャートにおけるステップＳＡ０３、または図６のフローチャートにおけるステップＳＢ０４の処理を行う各動作部）へと指令する。より詳細には、操作解析部１１０は、操作定義記憶部２００に予め設定されて記憶されている第１操作に該当する操作が為された場合は、該操作を第１操作に該当すると判定し、また、第１操作が為されている状態で、操作定義記憶部２００に予め設定されて記憶されている第２操作に該当する操作が為された場合は、該操作を第２操作に該当し得ると判定する。更に、オペレータの操作が第２操作に該当し得ると判定した場合には、第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離（ベクトル）を算出する。
【００４４】
そして、操作解析部１１０は、タッチ型ポインティングデバイス２２が操作定義記憶部２００に予め設定されているマルチタッチジェスチャ操作（一連の第１操作と第２操作）を検知したと判定した場合には、該検出されたマルチタッチジェスチャ操作に対応する動作をするように動作決定部１２０へと指令する。操作解析部１１０は、第１操作に係る情報、第２操作に係る情報、及び第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離（ベクトル）の情報を、操作定義記憶部２００に登録されたマルチタッチジェスチャ操作（第１操作と第２操作）に係る操作定義に係る情報、各マルチタッチジェスチャ操作のキャリブレーション設定、オペレータの手の大きさなどの情報などと比較することによりマルチタッチジェスチャ操作の検知判定を行う。操作解析部１１０は、タッチ型ポインティングデバイス２２で検知された操作が、操作定義記憶部２００に予め設定されているマルチタッチジェスチャ操作のいずれにも該当しないと判定した場合には、タッチ型ポインティングデバイス２２で検知された操作の操作種類の情報や該操作が為された座標値の情報などに基づいて決定される他の動作部に対して当該操作に基づく動作をするように指令する。
【００４５】
動作決定部１２０は、操作解析部１１０から指令を受けると、操作定義記憶部２００を参照してタッチ型ポインティングデバイス２２が検知したマルチタッチジェスチャ操作に対応する機能を動作させる。動作決定部１２０は、必要に応じて操作解析部１１０が解析した第１操作に係る情報（タッチ点の数、位置など）、第２操作に係る情報（タッチ点の数、位置など）、及び第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離（ベクトル）の情報から、機能を動作させる際に必要となる引数やパラメータ（制御対象となる軸の軸番号や軸の移動方向、移動速度など）を求め、求めた引数やパラメータを用いてマルチタッチジェスチャ操作に対応する機能を動作させる。
【００４６】
動作決定部１２０は、例えば、図３に示したマルチタッチジェスチャ操作が操作定義記憶部２００に記憶されている場合には、第１操作に係る情報、第２操作に係る情報、及び第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離の情報に基づいてこれら操作によって指令されるマルチタッチジェスチャ操作に対応する機能を特定し、特定した機能を動作させる（例えば、ＰＭＣ１６に対して信号を出力して加工機の扉を開閉するなど）。
また、動作決定部１２０は、例えば図５に示したマルチタッチジェスチャ操作が操作定義記憶部２００に記憶されている場合には、第１操作に係る情報（タッチ点の数）に基づいて手動操作の対象とする軸の軸番号を決定し、第１操作のタッチ点の位置からみた場合の第２操作のタッチ点の位置の方向と距離（ベクトル）の情報に基づいて手動操作の対象とする軸の移動方向及び移動速度を算出する。そして、決定した軸番号、算出した移動方向及び移動速度に基づいて軸制御回路１４に対して指令して加工機の軸を制御する。
【００４７】
動作決定部１２０は、オペレータによる第１操作が終了した場合（第１操作をした操作主体がタッチ型ポインティングデバイス２２から離れた場合など）や、第２操作が終了した場合（第２操作をした操作主体がタッチ型ポインティングデバイス２２から離れた場合など）に、必要に応じて動作させた機能を終了するように指令する。例えば、加工機のドアの開閉やクーラントのＯＮ／ＯＦＦなどのように、指令されたときに即動作して終了する機能については第１操作、第２操作の終了に合わせて終了の指令を出す必要はないが、軸の手動操作などのように動作が継続するような機能については、第１操作、第２操作の終了に合わせて動作を終了させるようにすればよい。
【００４８】
以上、本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記したマルチタッチジェスチャ操作は第１操作、第２操作がタッチ操作であるものを示しているが、例えば図５で示した操作例に代えて、図９に示すように、第１操作では親指、人差し指、中指、薬指、小指のいずれか、またはその組み合わせでタッチ型ポインティングデバイス２２をタッチすることで、手動操作の対象とする軸を選択し、第１操作でタッチ型ポインティングデバイス２２をタッチした指で画面上をドラッグする第２操作を行うことにより、第１操作で選択した軸の移動方向と移動速度を指定するようにしてもよい。このような操作方法を採用する場合、第１操作で５軸の内から手動操作の対象となる軸を指定することが可能となる。なお、第１操作において複数の指でタッチ型ポインティングデバイス２２をタッチしている場合は、第１操作による複数のタッチ点の中間位置（平均位置）を第１操作のタッチ位置として扱うようにすれば良く、また第２操作後（ドラッグ後）の複数のタッチ点の中間位置（平均位置）を第２操作後（ドラッグ後）のタッチ位置として扱うようにすれば良い。
【符号の説明】
【００４９】
１  数値制御装置
２  加工機
１０  プロセッサ
１１  ＲＯＭ
１２  ＲＡＭ
１３  不揮発性メモリ
１４  軸制御回路
１５  サーボアンプ
１６  ＰＭＣ
１７  バス
１８  ＬＣＤ／ＭＤＩユニット
１９  グラフィック制御回路
２０  表示装置
２１  キーボード
２２  タッチ型ポインティングデバイス２２
４０  操作盤
４１  手動パルス発生器
４１ａ  手動ハンドル
４２  ボタン
４３  設定スイッチ
１１０  操作解析部
１２０  動作決定部
２００  操作定義記憶部
【図１】
2017211956.tif 000003
【図２】
2017211956.tif 000004
【図３】
2017211956.tif 000005
【図４】
2017211956.tif 000006
【図５】
2017211956.tif 000007
【図６】
2017211956.tif 000008
【図７】
2017211956.tif 000009
【図８】
2017211956.tif 000010
【図９】
2017211956.tif 000011
【図１０】
2017211956.tif 000012
【図１１】
2017211956.tif 000013
【図１２】
2017211956.tif 000014