JP2011181047A - 情報処理装置、位置制御方法、プログラムおよび記録媒体 - Google Patents

情報処理装置、位置制御方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP2011181047A
JP2011181047A JP2010047543A JP2010047543A JP2011181047A JP 2011181047 A JP2011181047 A JP 2011181047A JP 2010047543 A JP2010047543 A JP 2010047543A JP 2010047543 A JP2010047543 A JP 2010047543A JP 2011181047 A JP2011181047 A JP 2011181047A
Authority
JP
Japan
Prior art keywords
value
target
pulse
information processing
pulse speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010047543A
Other languages
English (en)
Other versions
JP5494023B2 (ja
Inventor
Akihiko Kita
明彦 北
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HI-P TECH CORP
Original Assignee
HI-P TECH CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by HI-P TECH CORP filed Critical HI-P TECH CORP
Priority to JP2010047543A priority Critical patent/JP5494023B2/ja
Publication of JP2011181047A publication Critical patent/JP2011181047A/ja
Application granted granted Critical
Publication of JP5494023B2 publication Critical patent/JP5494023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Microscoopes, Condenser (AREA)
  • Control Of Position Or Direction (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

【課題】 ポインティング・デバイスを用いて、顕微鏡システムにおけるステージなどの操作対象を位置制御する情報処理装置、位置制御方法、プログラムおよび記録媒体を提供すること。
【解決手段】 本発明の情報処理装置110は、ポインティング・デバイス114により指し示される操作画面上の座標値を取得する手段172と、この座標値から操作対象の位置の目標値を算出する手段174と、操作対象の位置の目標値と現在値との差分を算出する手段176と、座標値の取得時間間隔内に操作対象を差分だけ移動させるために必要な速度から、予め設定された平滑化係数に応じて減速した値として、操作対象を駆動する同期モータのパルススピードの目標値を算出する手段180と、差分が有り、かつ、順方向の駆動信号が出力されている場合に、算出されたパルススピードの目標値を設定し、このパルススピードの目標値に向けた加減速制御を指令する手段184とを含む。
【選択図】 図3

Description

本発明は、マウス、トラックボールなどのポインティング・デバイスを用いた位置制御技術に関し、より詳細には、ポインティング・デバイスを用いて、顕微鏡システムにおけるステージなどの操作対象を位置制御するための情報処理装置、位置制御方法、プログラム、および記録媒体に関する。
従来より、顕微鏡システム等においては、ジョイスティック、マウスなどのポインティング・デバイスを用いてステージ制御する技術が知られている。例えば、特開2008−159288号公報(特許文献1)は、観察画像上の目的の観察点にカーソルを配置し、マウスを押しながらカーソル位置を移動させたときにその観察点がカーソル位置に伴って移動するように観察点を移動する、観察点移動モードを備えた試料表面観察システムを開示している。
また近年、種々の技術分野において、顕微鏡観察視野下での微細作業が求められることが多くなっている。この場合、対象物が非常に微細であるため、人の手で直接操作することは困難である。このような背景から、操作者がタイムラグのない直感的な操作により、安定かつ正確に微細作業することを可能とする技術の開発が望まれており、マウスなどのポインティング・デバイスの動きに追従させて、ステージまたはマニピュレータをリアルタイムに制御する技術の重要性がますます高まっている。
特開2008−159288号公報
しかしながら、これまでの従来技術では、ポインティング・デバイスの動きに同期させてステージまたはマニピュレータを制御する際に、操作者により不規則かつ急激な操作が行われてしまうと、ステージまたはマニピュレータを駆動するパルスモータが脱調してしまい、安定した動作を得ることが困難であるという問題があった。パルスモータが脱調してしまうと、ステージまたはマニピュレータの動きがぎこちなくなり、位置決め精度を保証することが困難となるなどの問題点を発生させてしまう。また、操作者は、エラーや不具合を発生させないように操作に慎重な注意を払わなければならず、操作性の観点からも充分なものではない。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、本発明は、ポインティング・デバイスを用いて、顕微鏡システムなどにおける操作対象の相対位置を、不規則かつ急激な操作が行われた場合であっても、操作対象を駆動するパルスモータを脱調させることなく、滑らかに制御することを可能とし、かつ、ポインティング・デバイスにより指し示す位置まで操作対象の相対位置を確実に移動させることが可能な情報処理装置、位置制御方法、プログラム、および記録媒体を提供することを目的とする。
本発明では、上記課題を解決するために、本発明の情報処理装置は、ポインティング・デバイスにより指し示される操作画面上の座標値を取得する取得手段と、取得された座標値から操作対象の位置の目標値を算出する手段と、操作対象の位置の目標値と現在値との差分を算出する手段と、座標値の取得時間間隔(例えば所定のサンプリング周期)内に操作対象を差分だけ移動させるために必要な速度から、予め設定された平滑化係数に応じて減速した値として、操作対象を駆動する同期モータのパルススピードの目標値を算出する算出手段とを備えることを特徴とする。そして、本発明の情報処理装置は、上記差分が有り、かつ、上記差分が示す方向に対し順方向の駆動信号が出力されている場合に、算出されたパルススピードの目標値に設定し、このパルススピードの目標値に向けた加減速制御を指令する。これを受けて、この目標値に向けた加減速制御が行われる。このようにして本発明の情報処理装置は、ポインティング・デバイスの動作に応じて同期モータを駆動し、操作対象の位置制御を実行する。
さらに本発明によれば、上記情報処理装置が実行する位置制御方法が提供される。本発明の位置制御方法は、情報処理装置が、ポインティング・デバイスにより指し示される操作画面上の座標値を取得するステップと、取得された座標値から操作対象の位置の目標値を算出するステップと、操作対象の前記位置の目標値と現在値との差分を算出するステップと、座標値の取得時間間隔(例えば所定のサンプリング周期)内に操作対象を差分だけ移動させるために必要な速度から、予め設定された平滑化係数に応じて減速した値として、操作対象を駆動する同期モータのパルススピードの目標値を算出するステップと、差分が有り、かつ順方向の駆動信号が出力されている場合に、算出されたパルススピードの目標値を設定するステップとを実行することを特徴とする。
上記構成によれば、座標値取得時間間隔内に上記差分の距離だけ操作対象を移動させるために必要な速度から、所与の平滑化係数に応じて減速した値としてパルススピードの目標値が算出され、さらにこのパルススピードの目標値に向かって加減速制御されるため、操作者により不規則かつ急激な操作が行われた場合であっても、操作対象を駆動する同期モータを脱調させることなく、ポインティング・デバイスに追従する操作対象の動きをより滑らかに制御することが可能となる。
本発明の実施形態によるステージ制御システムの概略構成を示す図。 本発明の実施形態によるステージ制御システムにおいて、コンピュータ装置とパルスモータドライバとを接続するモーションコントローラのブロック図。 本発明の実施形態のステージ制御システムにおいて、コンピュータ装置上に実現される機能ブロック図。 本発明の実施形態のコンピュータ装置が実行する2軸ステージの位置制御方法を示すフローチャート(1/2)。 本発明の実施形態のコンピュータ装置が実行する2軸ステージの位置制御方法を示すフローチャート(2/2)。
以下、本発明の実施形態を説明するが、本発明の実施形態は、以下の実施形態に限定されるものではない。
図1は、本発明の実施形態によるステージ制御システムの概略構成を示す。図1に示すステージ制御システム100は、コンピュータ装置110と、2軸ステージ130と、各軸に沿って2軸ステージ130のワークテーブルを移動させるパルスモータ(以下、一方の軸をX軸と、このX軸に垂直な他方の軸をY軸と参照する。)122と、X軸およびY軸の各パルスモータ122X,122Yをドライブする各パルスモータドライバ120X,120Yとを含んで構成される。
なお、図1に示す実施形態では、2軸ステージ130のワークテーブル、またはこの2軸ステージ130のワークテーブルに固定される他の物品が操作対象となり、2軸ステージ130の基盤に対するワークテーブルの相対位置が制御される。光学系を固定とし、2軸ステージ130のワークテーブルを試料台として顕微鏡システムを構成した場合には、観察視野中の試料の相対位置が制御されることになる。この2軸ステージ130のワークテーブルの基盤に対する相対位置を、以下、「ステージの位置」のように参照する。
コンピュータ装置110には、ディスプレイ装置112が接続され、当該2軸ステージ130の位置決めするための操作画面が表示される。コンピュータ装置110には、さらに、ポインティング・デバイスであるマウス114が接続され、操作者がこのマウス114を動かしてディスプレイ装置112に表示された操作画面上でポインタを移動させることにより、当該2軸ステージ130を位置決め(移動)することができるように構成されている。なお、ポインティング・デバイスとしては、マウス114を例示するが、少なくとも2軸方向の座標を指定できるものであれば、特に限定されるものではなく、マウス、トラックボール、タッチパッド、タッチパネル、スタイラスペン、ペンタブレットまたはハプティック・デバイスを使用することができる。
パルスモータ122は、精密リードスクリューを回転駆動し、2軸ステージ130のワークテーブルを一の軸に沿って直線移動させるよう構成されている。なお、パルスモータ122は、ステッピングモータとも呼ばれ、パルス電力に同期して動作する同期モータである。パルスモータドライバ120は、入力される駆動パルス信号(+CWパルス信号または−CCWパルス信号)を、パルスモータを実際に駆動するためのモータ駆動電流に変換し、パルスモータ122を駆動する。
パルスモータドライバ120とコンピュータ装置110との間には、図示しないモーションコントローラが配置されて、パルスモータドライバ120およびコンピュータ装置110は、これを介して接続される。説明する実施形態では、X軸およびY軸の2軸対応のモーションコントローラ・ボードがPCI接続等によりコンピュータ装置110に内蔵されている場合を一例に説明するが、これに限定されるものではない。他の実施形態では、モーションコントローラをコンピュータ装置110外部の構成要素とし、例えばUSB、ワイヤレスUSB、RS−232C、GPIBなどのインタフェースを介して通信する構成としてもよい。また、単一軸対応のモーションコントローラを複数用いてもよい。
また説明する実施形態では、パルスモータドライバ120は、コンピュータ装置110外部の構成要素として参照するが、パルスモータドライバ120をコンピュータ装置110内蔵の構成要素とし、コンピュータ装置110からモータ駆動電流を直接出力するよう構成してもよい。さらに、説明する実施形態では、X軸およびY軸の2軸ステージ130を制御する場合を例としているが、3軸以上のうちの2軸を制御するように構成してもよい。
以下、図2を参照しながら、本発明の実施形態で使用されるモーションコントローラの詳細について説明する。図2は、本発明の実施形態によるステージ制御システムにおいて、コンピュータ装置とパルスモータドライバとを接続するモーションコントローラのブロック図を示す。図2には、モーションコントローラ140のX軸ブロック150XおよびY軸ブロック150Yが示されているが、Y軸ブロック150Yは、X軸のものと同一であるため、その詳細なブロック構成が省略されている点に留意されたい。以下、モーションコントローラ140のX軸ブロック150Xについて、その詳細を説明する。
図2に示すX軸ブロック150Xは、加減速タイミング信号作成部152と、目標パルススピード設定部154と、加減速判定部156と、現在パルススピード保持部158とを含む。加減速タイミング信号作成部152は、所定のパルス加減速度a[p/s]が設定され、パルススピードの現在値V(X軸についてはV 、Y軸についてはV )を加速または減速するためのタイミング信号を作成する。ここで、パルススピードとは、詳細は後述するが、パルスモータ122の駆動パルス信号を規定する値である。また、パルス加減速度a[p/s]は、パルススピードを加速または減速する場合の加減速率をいい、パルスモータ特性、モータの1ステップ当たりのステージ移動距離、メカの負荷等を考慮し、予め最適なパラメータとして与えられるものである。パルススピードが[p/s]単位であるため、作成されるタイミング信号はまさにa[Hz]となる。
目標パルススピード設定部154は、コンピュータ装置110側からパルススピードの目標値V(X軸についてはV 、Y軸についてはV )の設定を受けて、目標として制御するべきパルススピードの目標値Vを保持する。現在パルススピード保持部158は、駆動パルス信号を作成しているパルススピードの現在値Vを保持する。加減速判定部156は、パルススピードの目標値Vと現在値Vとを比較し、加速するべきか、減速するべきかを判定する。加減速判定部156は、パルススピードの現在値が目標値未満の場合(V<V)には、加速タイミング信号を現在パルススピード保持部158に出力する。一方、加減速判定部156は、パルススピードの現在値が目標値を越える場合(V>V)には、減速タイミング信号を現在パルススピード保持部158に出力する。
現在パルススピード保持部158は、駆動パルス信号の出力を開始する際にパルススピードの下限値Vで初期設定され、加減速判定部156からの加速タイミング信号または減速タイミング信号に応じてパルススピードの現在値Vを増減させる。このように、パルススピードの現在値Vが、パルススピードの目標値Vに向けて、パルス加減速度aの値に応じて加減速制御される。ドライブ減速停止の指令が行われた場合には、パルススピードの目標値Vを下限値Vに一旦設定し、パルススピードの現在値Vが下限値Vに達した後、駆動パルス信号の出力を停止する。
なお、上記パルススピードの下限値Vは、パルスモータを停止または起動する際の最低速度のパルススピードであり、パルス加減速度aと同様に、パルスモータ特性等を考慮し、予め最適なパラメータとして与えられるものである。同様に本実施形態においては、パルスモータが脱調しないで回転可能な最高速度のパルススピードである上限値も、予め最適なパラメータとして与えられる。
図2に示すX軸ブロック150Xは、さらに、駆動パルス作成部160と、ドライブ方向切替部162と、現在位置計数部164とを含む。駆動パルス作成部160は、現在パルススピード保持部158が保持するパルススピードの現在値Vに従い、パルスモータドライバ120へ出力するための駆動パルス信号の周波数信号を作成し、ドライブ方向切替部162に出力する。ドライブ方向切替部162は、コンピュータ装置110側から設定されたドライブ方向の値を保持し、この値に従って、周波数信号を+方向駆動パルス信号(+CWパルス)または−方向駆動パルス信号(−CCW)に分配し、モータドライバ120Xに出力する。なお、指令等によりドライブ停止している場合には、+方向駆動パルス信号(+CWパルス)および−方向駆動パルス信号(−CCW)のいずれも出力されない状態となる。
現在位置計数部164は、ステージの現在位置(理論値)を管理するレジスタを含む。ステージの現在位置は、パルス数を単位とした値であり、起動時等に初期設定され、ドライブ方向切替部162からの+方向駆動パルス信号(+CWパルス)または−方向駆動パルス信号(−CCW)の入力を受けて、値を増減させる。より具体的には、現在位置計数部164は、+方向駆動パルス信号(+CWパルス)が入力されると、ステージの現在位置を増加(1パルスにつき+1)させ、−方向駆動パルス信号(−CCWパルス)が入力されると、ステージの現在位置を減少(1パルスにつき−1)させる。現在位置計数部164は、コンピュータ装置110側からステージの現在位置の取得要求を受けた場合、ステージの現在位置を返す。
以下、図3を参照しながら、モーションコントローラを制御するためのコンピュータ装置側の機能構成について説明する。図3は、本発明の実施形態のステージ制御システム100におけるコンピュータ装置110上に実現される機能ブロックを示す。
コンピュータ装置110の機能ブロック170は、マウス114の動作を監視するマウス動作モニタ部172と、目標位置算出部174と、差分算出部176と、現在位置取得部178とを含む。マウス動作モニタ部172は、コンピュータ装置110のオペレーティング・システムが提供するAPI(アプリケーション・プログラミング・インタフェース)関数を介して、一定周期でポインタが指す操作画面上の座標値(x,y)を取得して、目標位置算出部174に渡す。マウス動作モニタ部172は、本実施形態の取得手段を提供する。なお、座標値(x,y)は、操作画面上の相対座標またはディスプレイ全体画面上の絶対座標とすることができる。このポインタが指す座標値(x,y)は、2軸ステージ130の移動先目標位置に関連付けられるものである。
目標位置算出部174は、マウス動作モニタ部172が取得した座標値(x,y)に従って、パルスモータ122の駆動パルス数を単位とした各軸のステージの位置の目標値(以下、ステージ位置目標値と参照する。)X,Yを算出する手段である。各ステージ位置目標値X,Yは、具体的には、下記式(1)により算出される。下記式(1)中、Sは、予めパラメータとして与えられるステージ倍率であり、ポインタの座標値1の変化に対するパルスモータの駆動パルス数を示す。
差分算出部176は、目標位置算出部174が算出した各ステージ位置目標値X,Yと、現在位置計数部164X,164Yが保持するステージの現在位置との差分λ,λを算出する手段である。この差分は、ポインタが指し示すステージ目標位置と現在位置との距離を定量するものである。現在位置取得部178は、各軸ブロック150X,150Yの各現在位置計数部164X,164Yと通信して、現在位置計数部164が保持する現在位置X,Yを取得し、差分算出部176に渡す。ステージ位置の差分λ,λは、パルス数の単位であり、下記式(2)により算出される。
コンピュータ装置110の機能ブロック170は、さらに、パルススピード算出部180と、ドライブ方向判定部182と、モーションコントローラ制御部(以下、単に制御部と参照する。)184と、パラメータ記憶部186とを含んで構成される。パルススピード算出部180は、差分算出部176が算出したステージ位置の差分λ,λを受け取り、各軸のパルススピードの目標値V ,V を算出する。パルススピードの目標値V ,V は、差分λ,λを用いて下記式(3)により算出される。
上記式(3)中、Tは、ポインタ座標値を取得するサンプリング周期であり、例えば10ms〜20msの値が好適に与えられる。本実施形態では、このサンプリング周期T毎に座標値を取得し、パルススピードの目標値の更新が行われることになる。一方、Nは、ポインタが指し示す目標位置に追従するために上記サンプリング周期内に移動させるべきステージの移動量を平均化処理するための平滑化係数である。この平滑化係数Nは、パルスモータ122の特性にもよるが、例えば2〜4の値が好適に与えられる。パラメータ記憶部186は、これらサンプリング周期Tおよび平滑化係数Nを設定値として記憶する。
直感的には、次回座標値の取得までの期間内、すなわちサンプリング周期T内に上記差分λ,λの距離だけステージ位置を移動させるよう必要なパルススピードを設定する方が、ステージ位置をマウス114の動きに完全に同期させられ、好ましいようにも思われる。しかし、この場合、操作者によるマウス114の急激な動きや不規則な動きに対処することが困難となる。一方、上記式(3)によれば、サンプリング周期T内に上記差分λ,λの距離だけステージ位置を移動させるために必要な速度から、さらに平滑化係数に応じて減速した値として、パルススピードの目標値が算出される。このため、マウス114の動きに追従して移動するステージの動きをより滑らかに制御することができる。
パルススピード算出部180は、さらに、上記差分λ,λに従って算出したパルススピードの目標値V ,V が所与のパルススピードの上限値Vを越える場合には、パルススピードの目標値V ,V を上限値Vで書き換える。これにより、パルスモータが脱調する可能性を低減することができる。さらに、パルススピード算出部180は、算出したパルススピードの目標値V ,V が下限値Vを下まわる場合には、算出したパルススピードの目標値V ,V を下限値Vに書き換える。なお、上記パルススピードの下限値Vは、サンプリング周期T内に2以上のパルスを発生させないように、V≦1/Tの関係を満たすことが好ましい。
ドライブ方向判定部182は、差分算出部176が算出したステージ位置の差分λ,λを受け取り、各軸について進めるべきドライブ方向を判定する。ドライブ方向判定部182は、X軸の差分λが0以上であれば、+方向と判定し、差分λが0未満であれば−方向と判定する。同様にドライブ方向判定部182は、Y軸の差分λが0以上であれば、+方向と判定し、差分λが0未満であれば−方向と判定する。
制御部184は、パルススピード算出部180が算出したパルススピードの目標値V ,V と、差分λ,λが示すドライブ方向の値とを受け取り、モーションコントローラ140を制御する。
所定の軸について、算出された差分λがゼロであれば、当該軸のステージ位置がポインタが指し示した所望の位置に到達しているため、制御部184は、当該軸のブロック150に減速停止を指令し、当該軸のパルスモータ122を減速停止させる。一方、差分λがゼロでなければ、当該軸は未だ所望の位置に到達していないため、制御部184は以下の制御をさらに行う。
すなわち、制御部184は、その軸のパルス出力が停止中であれば、パルスモータ122を起動する必要があるため、上記ドライブ方向判定部182が判定したドライブ方向をドライブ方向切替部162に設定すると共に、上記算出されたパルススピードの目標値Vを目標パルススピード設定部154に設定する。制御部184は、また、現在パルススピード保持部158が保持するパルススピードの現在値をVで初期設定し、当該軸のブロック150に駆動パルス信号の出力開始を指令する。これにより、当該軸のブロック150は、最低パルススピードから出力を始め、設定されたパルススピードの目標値Vにむけて加速を開始する。
一方、駆動パルス信号が出力中であり、ドライブ方向切替部162X,162Yに現在設定されているドライブ方向と、差分λ,λが示すドライブ方向とが逆方向であれば、パルスモータ122の回転方向を逆転させる必要があるため、制御部184は、当該軸のブロック150に一旦減速停止を指令する。この場合、停止後のサンプリング時に、逆方向への駆動パルス信号の出力が開始されることになる。一方、順方向の駆動パルス信号が出力中であれば、制御部184は、そのまま上記算出されたパルススピードの目標値Vを目標パルススピード設定部154に設定する。この場合、設定された目標値Vに向けて加減速制御されることになる。
以下、図4および図5に示すフローチャートを参照しながら、本実施形態のコンピュータ装置が実行する制御フローについて説明する。図4および図5は、本発明の実施形態のコンピュータ装置が実行する2軸ステージの位置制御方法を示すフローチャートである。なお、図4および図5は、それぞれの図中で示した連結点1および連結点2で接続されていることに留意されたい。
図4および図5に示す制御は、例えば、ステージ制御用のアプリケーションが起動したことに応答して、または操作者からの明示的なステージ制御開始の指示を受領したことに応答して、ステップS100から開始される。特に限定されるものではないが、説明のため例示すると、例えばマウス114の左ボタンを下げるイベント(OnMouseDown)を明示的な制御開始の指令とし、マウス114の左ボタンが下げられている間中、ステージ制御が行われるように構成することができる。
ステップS101では、コンピュータ装置110は、マウス動作モニタ部172により、現在のポインタが指す操作画面上の座標値(x,y)を読み込み、X軸およびY軸について、上記式(1)と同様の式を用いて、初期の座標値(x,y)に対応する初期のステージ位置(X,Y)を算出する。ステップS102では、コンピュータ装置110は、算出された初期のステージ位置(X,Y)を現在位置として、モーションコントローラ140の各現在位置計数部164X,164Yに設定する。
ステップS103では、コンピュータ装置110は、サンプリング周期Tが経過したか否かを判定し、サンプリング周期Tが経過するまでの間(NOの間)、ステップS103をループする。一方、ステップS103で、サンプリング周期Tが経過したと判定された場合(YES)には、ステップS104へ処理を進める。ステップS104では、コンピュータ装置110は、マウス動作モニタ部172により、ポインタの座標値(x,y)を読み込み、目標位置算出部174により、X軸およびY軸についてのステージ位置目標値(X,Y)を算出する。ステップS105では、コンピュータ装置110は、現在位置取得部178により、ステージ位置の現在位置(X,Y)を取得し、差分算出部176により、ステージ位置目標値(X,Y)をと現在位置(X,Y)との差分(λ,λ)を算出する。
ステップS106では、コンピュータ装置110は、パルススピード算出部180により、X軸およびY軸についてのパルススピードの目標値(V ,V )を算出する。このステップS106では、パルススピード算出部180は、上述したように、差分算出部176により算出されたステージ位置の差分(λ,λ)と、パラメータ記憶部186が記憶する平滑化係数Nと、サンプリング周期Tとを使用して、上記式(3)に従い、各軸のパルススピードの目標値(V ,V )を算出する。算出されたパルススピードの目標値Vは、サンプリング周期T内に上記差分λの距離だけステージ位置を移動させるために必要なパルススピードの所要値を平滑化係数で割った値として算出される。ステップS107では、コンピュータ装置110は、ドライブ方向判定部182により、ステージ位置の差分(λ,λ)から、各軸の進めるべきドライブ方向(+CW/−CCW)を判定し、連結点2を介して図5のステップS108へ処理を進める。
図5を参照すると、ステップS108では、コンピュータ装置110は、制御部184により、X軸差分λがゼロであるか否かを判定する。ステップS108で、X軸差分λがゼロでないと判定された場合(NO)には、ステップS109へ処理を進める。ステップS109では、コンピュータ装置110は、制御部184により、X軸がパルス出力中であるか否かを判定する。ステップS109で、X軸がパルス出力中であると判定された場合(YES)には、ステップS110へ処理を進める。
ステップS110では、コンピュータ装置110は、制御部184により、ステップS107で判定したX軸のドライブ方向と、ドライブ方向切替部162Xに現在設定されているドライブ方向とが一致するか否かを判定する。ステップS110で、ドライブ方向が一致すると判定した場合(YES)には、ステップS111へ処理を進める。ステップS111では、コンピュータ装置110は、制御部184により、ステップS106で算出されたX軸パルススピードV を目標パルススピード設定部154Xに設定し、ステップS116へ処理を進める。
一方、ステップS108で、X軸差分λがゼロであると判定された場合(YES)には、ステップS112へ処理を進める。またステップS110で、X軸のドライブ方向が判定した値と設定されている値とで一致しないと判定された場合(NO)にも、ステップS112へ処理を進める。ステップS112では、コンピュータ装置110は、モーションコントローラ140のX軸ブロック150Xに、減速停止を指令し、パルスモータ122Xを減速停止させ、ステップS116へ処理を進める。
ステップS109で、X軸がパルス出力中ではないと判定された場合(NO)には、ステップS113へ処理を進める。ステップS113では、コンピュータ装置110は、制御部184により、ステップS107で判定されたX軸のドライブ方向を、ドライブ方向切替部162Xに対して設定する。ステップS114では、コンピュータ装置110は、制御部184により、ステップS106で算出されたX軸パルススピードV を目標パルススピード設定部154Xに対し設定し、ステップS115で、X軸ブロック150Xに対し起動を指令し、所定のドライブ方向への駆動パルス信号の出力を開始させ、ステップS116へ処理を進める。上記ステップS115では、現在パルススピード保持部158Xは、パルススピードの下限値に初期設定され、この下限値から加速を伴ってパルス出力が開始される。
ステップS116〜ステップS123では、ステップS108〜ステップS115と同様の処理がY軸について行われる。ステップS116では、コンピュータ装置110は、Y軸差分λがゼロであるか否かを判定し、Y軸差分λがゼロでないと判定された場合(NO)には、ステップS117へ処理を進める。ステップS117では、コンピュータ装置110は、Y軸がパルス出力中であるか否かを判定し、Y軸がパルス出力中であると判定された場合(YES)には、ステップS118へ処理を進める。ステップS118では、コンピュータ装置110は、ステップS107で判定したY軸のドライブ方向と、ドライブ方向切替部162Yに現在設定されているドライブ方向とが一致するか否かを判定する。
ステップS118で、Y軸のドライブ方向が一致すると判定した場合(YES)には、ステップS119へ進め、コンピュータ装置110は、算出されたY軸パルススピードV を目標パルススピード設定部154Yに設定し、ステップS124へ処理を進める。一方、ステップS116で、Y軸差分λがゼロであると判定された場合(YES)には、ステップS120へ処理を進める。またステップS118で、Y軸のドライブ方向が一致しないと判定された場合(NO)にも、ステップS120へ処理を進める。ステップS120では、コンピュータ装置110は、Y軸ブロック150Yに減速停止を指令し、ステップS124へ処理を進める。
一方、ステップS117で、Y軸がパルス出力中ではないと判定された場合(NO)には、ステップS121へ処理を進め、コンピュータ装置110は、ステップS107で判定されたY軸のドライブ方向をドライブ方向切替部162Yに対して設定し、ステップS122で、ステップS106で算出されたY軸パルススピードV を目標パルススピード設定部154Yに対し設定し、ステップS123で、Y軸ブロック150Yに対し起動を指令し、所定のドライブ方向への駆動パルス信号の出力を開始させ、ステップS124へ処理を進める。上記ステップS123では、現在パルススピード保持部158Yは、パルススピードの下限値に初期設定され、この下限値から加速を伴ってパルス出力が開始される。
ステップS124では、コンピュータ装置110は、X軸差分λおよびY軸差分λが共にゼロであるか否かを判定する。ステップS124で、いずれか一方でもゼロでないと判定された場合(NO)には、連結点1を介して図4に示すステップS103へ処理をループさせ、次ぎのサンプリング周期毎の処理を繰り返させる。一方、ステップS124で、X軸差分λおよびY軸差分λが共にゼロであると判定された場合(YES)には、ステップS125へ処理を進める。
ステップS125では、コンピュータ装置110は、X軸およびY軸共にパルス出力が停止中であるか否かを判定する。ステップS125で、いずれか一方でもパルス出力中であると判定された場合(NO)には、連結点1を介して図4に示すステップS103へ処理をループさせる。一方、ステップS125で、X軸およびY軸が共にパルス出力停止中であると判定された場合(YES)には、ステップS126へ処理を進める。
ステップS126では、コンピュータ装置110は、制御を終了する指示を受けているか否かを判定する。例えばマウスボタン押し下げ(Onmousedown)イベントを明示的な制御開始の指令とし、マウス114の左ボタンが下げられている間中ステージ制御が行われるよう構成する上述した例においては、ここではマウス114の左ボタンが離されたことを示すOnmouseupイベントを受けて制御終了と判定することができる。ステップS126で、未だ制御の終了が指示されていないと判定された場合(NO)には、連結点1を介して図4に示すステップS103へ処理をループさせる。一方、ステップS126で、制御の終了が指示されていると判定された場合(YES)には、ステップS127で、本制御フローを終了させる。
以上説明した実施形態によれば、次回座標値取得までの間(上記例ではサンプリング周期)内に上記差分λ,λの距離だけステージを移動させるために必要なパルススピードの所要値から平滑化係数Nに応じて減速した値、より具体的には所要値(=λ/T)を平滑化係数Nで割った値(=λ/NT)としてパルススピードの目標値Vが算出される。このため、不規則かつ急激なマウス操作が行われた場合であっても、2軸ステージ130を駆動するパルスモータ122を脱調させることなく、マウス114に追従するステージの動きを、滑らかに制御することが可能となる。
パルスモータの脱調が防止されるため、ポインタにより操作画面上で指し示した所望の位置までステージ位置を確実に到達させて停止することができ、位置決め精度が保証されることになる。さらに、操作者は、自然な動きをしている限り、マウスの軌跡に対するステージの軌跡のずれも気にならない程度に収まり、操作のリアルタイム性も充分に備えている。
通常、パルススピードが短周期に更新される制御においては、加減速制御は必ずしも要するものではなく、余分な構成の追加となり得るが、本発明の実施形態では、更新されるパルススピードまで加減速を伴って変化させる制御を行うことにより、より好適にパルスモータ122の脱調を防止することができる。すなわち、マウス114を急激に反転させた場合に発生する駆動パルス信号の急停止、急発進は、脱調の要因となってしまうが、かかる加減速制御をすることにより駆動パルス信号が急激に変化してしまうことを防止することができる。本実施形態のように、加減速制御が行われていれば、どんなに急激にマウスを移動させた場合でも、指定された加減速度以上での加減速は行われず、ドライブ方向を反転させる場合でも、一旦駆動パルスを減速停止させ、改めて反転方向への加速を開始するという制御が行われ、脱調を好適に防ぐことができる。
以上説明したように本発明の実施形態によれば、ポインティング・デバイスを用いて、顕微鏡システムなどにおける操作対象の相対位置を、不規則かつ急激な操作が行われた場合であっても、操作対象を駆動するパルスモータを脱調させることなく、滑らかに制御することを可能とし、かつ、ポインティング・デバイスにより指し示す位置まで操作対象の相対位置を確実に移動させることができる情報処理装置、位置制御方法、プログラムおよび記録媒体を提供することができる。
なお、上述した実施形態では、コンピュータ装置110上に図3に示す機能ブロック170が構成され、コンピュータ装置110が図4および図5に示す制御フローを実行するものとして説明した。しかしながら、これに限定されるものではなく、他の実施形態では、モーションコントローラ140をMPU等を備えるインテリジェントタイプのものとし、モーションコントローラ140上に図3に示す機能ブロック170を構成し、図4および図5に示した制御フローを実行させるようにしてもよい。その場合、モーションコントローラ140が本発明の実施形態による情報処理装置を構成し、コンピュータ装置110側では、初期値としてマウスの値を読み込み、サンプリング周期毎にマウスの座標値を読み込み、モーションコントローラ140のMPUへ引き渡すことが主な処理となる。モーションコントローラ140は、コンピュータ装置110側から通信により座標値を取得することとなる。
本発明の実施形態によるステージ制御システムによれば、精密ステージをカメラによりモニタしながら、精密ステージの位置決めや位置の微調整をマウスの操作により行うことができる。さらに、精密ステージ上の微生物等を顕微鏡カメラにより観察しながら、その動きをマウスの操作によって追いかけることができる。さらに、精密ステージ上の検査対象物をカメラにより観察し、検査対象物の不良箇所などをマウスの操作により検査することもできる。さらに、人間が入る事の出来ない環境、または目視することのできない環境に配置されたステージをモニタしながらポインティング・デバイスで制御することができる。さらに、ステージ上の複数ポイントをティーチングする場合、効率よくステージを移動させ位置決めすることができる。また、2軸ステージ上の対象物に、マウスなどのポインティング・デバイスを使用して、レーザーなどで文字を書いたり、マーキングを行ったりすることもできる。
また上述までの実施形態では、単一のポインティング・デバイスを用いて単一の2軸ステージを制御する場合を一例に説明してきたが、他の実施形態では、単一のポインティング・デバイスで、複数の2軸ステージの制御を行うこともできる。例えば、マウスの一方のボタンを一方の2軸ステージに関連付け、マウスの他方のボタンを他方の2軸ステージに関連付け、マウスの左ボタンを押し下げた状態と、右ボタンを押し下げた状態とで異なる2軸ステージを制御するよう構成することもできる。
さらに、上述した実施形態では、ステージ倍率Sを固定値としたが、ステージ倍率を押し下げるボタンで異ならしめ、粗動と微動とを切り替えられるよう構成してもよい。さらに、本実施形態では、ステージ制御を行うものとして説明してきたが、リペア装置に適用する場合、工具部を操作対象とし、同様の制御を行うことができる。
本発明の実施形態における各機能部は、C、C++、C#、Java(登録商標)などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD−ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
100…ステージ制御システム、110…コンピュータ装置、112…ディスプレイ装置、114…マウス、120…パルスモータドライバ、122…パルスモータ、130…2軸ステージ、140…モーションコントローラ、150…ブロック、152…加減速タイミング信号作成部、154…目標パルススピード設定部、156…加減速判定部、158…現在パルススピード保持部、160…駆動パルス作成部、162…ドライブ方向切替部、164…現在位置計数部、170…機能ブロック、172…マウス動作モニタ部、174…目標位置算出部、176…差分算出部、178…現在位置取得部、180…パルススピード算出部、182…ドライブ方向判定部、184…モーションコントローラ制御部、186…パラメータ記憶部

Claims (11)

  1. ポインティング・デバイスの動作に応じて操作対象を位置制御する情報処理装置であって、
    前記ポインティング・デバイスにより指し示される操作画面上の座標値を取得する取得手段と、
    前記座標値から前記操作対象の位置の目標値を算出する手段と、
    前記操作対象の前記位置の目標値と現在値との差分を算出する手段と、
    前記座標値の取得時間間隔内に前記操作対象を前記差分だけ移動させるために必要な速度から、予め設定された平滑化係数に応じて減速した値として、前記操作対象を駆動する同期モータのパルススピードの目標値を算出する算出手段と、
    前記差分が有り、かつ、順方向の駆動信号が出力されている場合に、前記パルススピードの目標値を設定し、前記パルススピードの目標値に向けた加減速制御を指令する制御手段と
    を含む、情報処理装置。
  2. 前記算出手段は、前記パルススピードの目標値を、所与のパルススピード上限値以下、かつ所与のパルススピード下限値以上に制限することを特徴する、請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記差分が有るが、逆方向の駆動信号が出力されている場合には、前記同期モータを一旦減速停止させ、前記同期モータが停止した場合には、前記差分に応じた駆動方向を設定し、算出された前記パルススピードの目標値を設定して、所与のパルススピード下限値から駆動信号の出力を開始させる、請求項1または2に記載の情報処理装置。
  4. 前記操作対象は、2軸以上の精密ステージである、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記ポインティング・デバイスおよび前記操作画面を表示するディスプレイ装置は、当該情報処理装置と通信する他の情報処理装置に接続されている、請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 当該情報処理装置は、パーソナルコンピュータ、サーバ、ワークステーションまたはインテリジェント型モーションコントローラである、請求項1〜5のいずれか1項に記載の情報処理装置。
  7. ポインティング・デバイスの動作に応じて操作対象を位置制御する方法であって、情報処理装置が、
    前記ポインティング・デバイスにより指し示される操作画面上の座標値を取得するステップと、
    前記座標値から前記操作対象の位置の目標値を算出するステップと、
    前記操作対象の前記位置の目標値と現在値との差分を算出するステップと、
    前記座標値の取得時間間隔内に前記操作対象を前記差分だけ移動させるために必要な速度から、予め設定された平滑化係数に応じて減速した値として、前記操作対象を駆動する同期モータのパルススピードの目標値を算出するステップと、
    前記差分が有り、かつ、順方向の駆動信号が出力されている場合に、前記パルススピードの目標値を設定し、前記パルススピードの目標値に向けた加減速制御を指令するステップと
    を実行することを特徴とする、位置制御方法。
  8. 前記パルススピードの目標値を算出するステップは、前記パルススピードの目標値を、所与のパルススピード上限値以下、かつ所与のパルススピード下限値以上に制限するサブステップをさらに含む、請求項7に記載の位置制御方法。
  9. 前記情報処理装置が、さらに、
    前記差分が有るが、逆方向の駆動信号が出力されている場合に、前記同期モータを一旦減速停止させるステップと、
    前記同期モータが停止した場合に、前記差分に応じた駆動方向を設定し、算出された前記パルススピードの目標値を設定して、所与のパルススピード下限値から駆動信号の出力を開始させるステップと
    を実行することを特徴とする、請求項7または8に記載の位置制御方法。
  10. 請求項1〜6のいずれか1項に記載の各手段として情報処理装置を機能させるためのコンピュータ実行可能なプログラム。
  11. 請求項10に記載のコンピュータ実行可能なプログラムをコンピュータ可読に記録する記録媒体。
JP2010047543A 2010-03-04 2010-03-04 情報処理装置、位置制御方法、プログラムおよび記録媒体 Active JP5494023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010047543A JP5494023B2 (ja) 2010-03-04 2010-03-04 情報処理装置、位置制御方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010047543A JP5494023B2 (ja) 2010-03-04 2010-03-04 情報処理装置、位置制御方法、プログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2011181047A true JP2011181047A (ja) 2011-09-15
JP5494023B2 JP5494023B2 (ja) 2014-05-14

Family

ID=44692450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010047543A Active JP5494023B2 (ja) 2010-03-04 2010-03-04 情報処理装置、位置制御方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP5494023B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02243244A (ja) * 1989-03-16 1990-09-27 Tokyo Seimitsu Co Ltd 移動体の位置決め装置
JPH0580853A (ja) * 1991-09-18 1993-04-02 Fujitsu Ltd ステージシステム及びステージ制御方法
JP2003019679A (ja) * 2001-07-09 2003-01-21 Suruga Seiki Kk マイクロマニピュレータ駆動制御装置、マイクロマニピュレータ駆動制御方法およびマイクロマニピュレータ駆動制御プログラムを記録した媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02243244A (ja) * 1989-03-16 1990-09-27 Tokyo Seimitsu Co Ltd 移動体の位置決め装置
JPH0580853A (ja) * 1991-09-18 1993-04-02 Fujitsu Ltd ステージシステム及びステージ制御方法
JP2003019679A (ja) * 2001-07-09 2003-01-21 Suruga Seiki Kk マイクロマニピュレータ駆動制御装置、マイクロマニピュレータ駆動制御方法およびマイクロマニピュレータ駆動制御プログラムを記録した媒体

Also Published As

Publication number Publication date
JP5494023B2 (ja) 2014-05-14

Similar Documents

Publication Publication Date Title
US10716638B2 (en) Robot system
CA2960725C (en) Surgical system user interface using cooperatively-controlled robot
KR102042115B1 (ko) 로봇의 동작프로그램 생성방법 및 로봇의 동작프로그램 생성장치
CN102085663B (zh) 遥操作系统及方法
JP5545534B2 (ja) ロボットの教示再生装置、教示再生方法、及び教示データ作成方法
CN104159016A (zh) 云台控制系统、方法及装置
EP3954934A1 (en) Method and device for controlling cradle head, and cradle head
JP2016521214A (ja) 動力工具
JP2016175175A (ja) ロボット操作装置、及びロボット操作プログラム
JP2006227886A (ja) サーボ制御装置及びサーボ系の調整方法
JP2016175178A (ja) ロボット操作装置、及びロボット操作プログラム
CN108981567B (zh) 位置测量装置的操作方法
US20150045958A1 (en) Time chart creation apparatus, controller, machine element control system, time chart creation method, and information storage medium
JP5494023B2 (ja) 情報処理装置、位置制御方法、プログラムおよび記録媒体
JPH11232010A (ja) 3次元指示方法及びその装置
JP5466965B2 (ja) ステージの制御を行う装置、方法、プログラム、及びシステム
US7136708B2 (en) Control system, control apparatus, and control method for microscope stage
EP4319936A1 (en) Systems, methods and apparatus for control of positioning systems
JP6601201B2 (ja) ロボット操作装置、及びロボット操作プログラム
US20200383747A1 (en) Method for operating a surgical microscopy system, and surgical microscopy system
JP2017164833A (ja) マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム
JP2017100225A (ja) 作業装置および作業装置における教示方法
US20240181587A1 (en) Systems, methods and apparatus for control of positioning systems
JPH10161750A (ja) 移動速度制御システム
JP5363353B2 (ja) カーソルの位置決め制御装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20120514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120514

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140218

R150 Certificate of patent or registration of utility model

Ref document number: 5494023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250