(57)【要約】【課題】光学装置の駆動時に発生する異常を迅速に検出する。【解決手段】電動レボルバ制御装置は、制御するレボルバが目的のアドレスまでの最短の回転経路を検索し（Ｓ２）、検索された回転経路に対応する参照データを読み出す（Ｓ３）。電動レボルバ制御装置は、読み出した参照データにしたがって、レボルバが目的のアドレスに到達するまで（ステップＳ７でＹＥＳと判定されるまで）、ステップＳ６ないしＳ１２の処理を繰り返して、レボルバを駆動するが、異常を検出した場合（ステップＳ１０でＹＥＳと判定された場合）、レボルバの駆動を停止させる（Ｓ１３）。本発明は、顕微鏡を構成している光学装置を制御する光学装置制御装置に適用できる。【選択図】図１１
2010113039.tif 000002
【特許請求の範囲】
【請求項１】
光学素子を保持し、前記光学素子を光路上に選択的に配置可能な光学装置を制御する光学装置制御装置において、
電動により前記光学装置を駆動する光学装置駆動手段と、
前記光学装置が観察光路に配置する光学素子を、第１の位置に設置されている光学素子から第２の位置に設置されている光学素子に切り替えた場合における正常に駆動したときの前記光学装置のあらかじめ設定された基準駆動経路を示している参照データを記憶する記憶手段と、
記憶されている前記参照データに示される前記基準駆動経路にしたがって前記光学装置が駆動されるように前記光学装置駆動手段を制御して、前記第１の位置に設置されている前記光学素子を光路上の前記第２の位置に移動させる駆動制御手段と、
前記光学装置駆動手段による前記光学装置の駆動時に計測される計測データより得られる計測駆動経路と、前記参照データで示される前記基準駆動経路に基づいて、前記光学装置の駆動時に発生した異常を検出する異常検出手段と
を備えることを特徴とする光学装置制御装置。
【請求項２】
前記異常検出手段は、前記基準駆動経路と、前記計測駆動経路との差分量を所定の時間毎に演算し、演算された前記差分量が所定の値を超えたとき、異常が検出されたと判定する
ことを特徴とする請求項１に記載の光学装置制御装置。
【請求項３】
前記駆動制御手段は、前記異常検出手段によって異常が検出された場合、前記光学装置駆動手段を制御して、前記光学素子の移動を停止させる
ことを特徴とする請求項１に記載の光学装置制御装置。
【請求項４】
前記第１の位置と前記第２の位置との間の位置である中間経路から前記光学装置の駆動が開始される場合、記憶されている前記参照データを修正して、前記中間経路から前記光学装置を駆動する場合における新たな参照データを生成するデータ加工手段をさらに備え、
前記駆動制御手段は、新たに生成された前記参照データに基づいて、前記光学装置駆動手段を制御する
ことを特徴とする請求項１に記載の光学装置制御装置。
【請求項５】
前記光学装置は、複数の対物レンズを装着しているレボルバである
ことを特徴とする請求項１から４のいずれか一項に記載の光学装置制御装置。
【請求項６】
前記顕微鏡は蛍光顕微鏡であり、
前記光学装置は複数の蛍光キューブを配置しているターレットである
ことを特徴とする請求項１から４の何れか一項に記載の光学装置制御装置。
【請求項７】
請求項１から６の何れか一項に記載の光学装置制御装置と、
前記光学装置制御装置により制御される光学装置を有する顕微鏡と
を備えることを特徴とする顕微鏡システム。
【請求項８】
光学素子を保持し、前記光学素子を光路上に選択的に配置可能な光学装置を制御する機器を制御するコンピュータに実行されるプログラムであって、
記憶手段に記憶されている、前記光学装置が観察光路に配置する光学素子を、第１の位置に設置されている光学素子から第２の位置に設置されている光学素子に切り替えた場合における正常に駆動したときの前記光学装置のあらかじめ設定された基準駆動経路を示している参照データの前記基準駆動経路にしたがって前記光学装置が駆動されるように、電動により前記光学装置を駆動する光学装置駆動手段を制御して、前記第１の位置に設置されている前記光学素子を、光路上の前記第２の位置に移動させ、
前記光学装置駆動手段による前記光学装置の駆動時に計測される計測データより得られる計測駆動経路と、前記参照データで示される前記基準駆動経路に基づいて、前記光学装置の駆動時に発生した異常を検出する
ステップを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学装置制御装置、顕微鏡システム、及びプログラムに関する。
【背景技術】
【０００２】
一般的な顕微鏡観察においては、倍率の異なる複数の対物レンズをレボルバに取り付け、観察光路に所望の倍率の対物レンズを挿脱することにより、観察が行われる。
【０００３】
レボルバの回転制御が電動化されている電動レボルバに装着される対物レンズは、倍率によって鏡筒の光軸方向の長さが異なり、倍率によっては、観察標本との距離（作動距離）が非常に短く、電動レボルバを回転させる際には、対物レンズが観察標本と衝突する危険性がある。
【０００４】
また、回転制御の電動化に伴い、レボルバを制御するための制御回路として、観察光路に挿入されている対物レンズの位置を検出するセンサや、回転制御を行うためのドライバやモータ、フィードバック制御を行うためのエンコーダなど多数の電子部品が実装されているため、それらの電子部品がレボルバの回転時に故障すると、誤作動を引き起こしてしまい、対物レンズが観察標本と衝突する恐れが出てくる。
【０００５】
このような、レボルバの回転時において、対物レンズと観察標本との衝突を回避するための手段としては、たとえば、特許文献１が知られている。
【０００６】
特許文献１には、複数の対物レンズが装着されている電動レボルバ制御装置において、レボルバ回転時に観察標本との衝突の危険性がある回転経路を操作者があらかじめ設定しておくことにより、設定された回転禁止経路を通らないようにレボルバ回転制御を行う衝突防止手段が提案されている。
【特許文献１】特開２０００−１７１６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示されている手段であると、対物レンズや観察標本の形状が頻繁に入れ替わる場合、操作者がその都度、回転禁止経路を設定しなければならず、たとえば、レボルバ制御用の電子部品が故障した場合など、操作者が対物レンズの観察標本への衝突を予期できない場合もあるため、対物レンズが観察標本に衝突する危険性があるという問題がある。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、電動レボルバに装着された対物レンズ等の光学素子に起因して発生する衝突を未然に防止するために、光学装置の駆動時に発生する異常を迅速に検出できるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の光学素子制御装置は、光学素子を保持し、前記光学素子を光路上に選択的に配置可能な光学装置を制御する光学装置制御装置において、電動により前記光学装置を駆動する光学装置駆動手段と、前記光学装置が観察光路に配置する光学素子を、第１の位置に設置されている光学素子から第２の位置に設置されている光学素子に切り替えた場合における正常に駆動したときの前記光学装置のあらかじめ設定された基準駆動経路を示している参照データを記憶する記憶手段と、記憶されている前記参照データに示される前記基準駆動経路にしたがって前記光学装置が駆動されるように前記光学装置駆動手段を制御して、前記第１の位置に設置されている前記光学素子を光路上の前記第２の位置に移動させる駆動制御手段と、前記光学装置駆動手段による前記光学装置の駆動時に計測される計測データより得られる計測駆動経路と、前記参照データで示される前記基準駆動経路に基づいて、前記光学装置の駆動時に発生した異常を検出する異常検出手段とを備える。
【００１０】
本発明の顕微鏡システムは、請求項１から６の何れか一項に記載の光学装置制御装置と、前記光学装置制御装置により制御される光学装置を有する顕微鏡とを備える。
【００１１】
本発明のプログラムは、光学素子を保持し、前記光学素子を光路上に選択的に配置可能な光学装置を制御する機器を制御するコンピュータに実行されるプログラムであって、記憶手段に記憶されている、前記光学装置が観察光路に配置する光学素子を、第１の位置に設置されている光学素子から第２の位置に設置されている光学素子に切り替えた場合における正常に駆動したときの前記光学装置のあらかじめ設定された基準駆動経路を示している参照データの前記基準駆動経路にしたがって前記光学装置が駆動されるように、電動により前記光学装置を駆動する光学装置駆動手段を制御して、前記第１の位置に設置されている前記光学素子を、光路上の前記第２の位置に移動させ、前記光学装置駆動手段による前記光学装置の駆動時に計測される計測データより得られる計測駆動経路と、前記参照データで示される前記基準駆動経路に基づいて、前記光学装置の駆動時に発生した異常を検出するステップを含む。
【発明の効果】
【００１２】
本発明によれば、光学装置の駆動時に発生する異常を迅速に検出できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施の形態について説明する。
【００１４】
図１は、本発明を適用した顕微鏡システムの一実施の形態の構成を示すブロック図である。
【００１５】
図１の顕微鏡システムは、顕微鏡１１及び電動レボルバ制御装置１２から構成される。顕微鏡１１と電動レボルバ制御装置１２とは、通信ケーブル１３を介して接続される。
【００１６】
本実施の形態では、顕微鏡１１は、正立型の顕微鏡であるとして説明するが、勿論、倒立型の顕微鏡であってもよい。
【００１７】
顕微鏡１１は、観察標本が載置されるステージ２１を有しており、このステージ２１の上方には、複数の倍率の異なる対物レンズ２２を装着できる電動のレボルバ２３が配置されている。また、顕微鏡１１には、その背面に観察標本を照明するためのランプ２４、ステージ２１を上下方向へ駆動させ、観察標本へ照準させるための照準ハンドル２５、対物レンズ２２が結んだ中間実像を拡大し、観察するための接眼部２６などが設けられている。
【００１８】
電動レボルバ制御装置１２は、通信ケーブル１３を介して、顕微鏡１１に設けられたレボルバ２３の動作を制御する。
【００１９】
図２は、電動レボルバ制御装置１２の詳細な構成を示すブロック図である。
【００２０】
なお、図２においては、説明を分かり易くするため、電動レボルバ制御装置１２によって制御されるレボルバ２３も図中左側に図示している。このレボルバ２３は、光学素子を保持し、その光学素子を光路上に選択的に配置可能な光学装置の一例であって、顕微鏡１１の本体部に装着され、回転自在に支持された円盤状の形状を有している。レボルバ２３には、円状に複数の対物レンズ取り付け穴（以下、単に、取付穴という）が設けられており、各取付穴には、図２に示すように、対物レンズ２２1ないし２２5がそれぞれ装着されている。これらの対物レンズ２２1ないし２２5の位置は、各取付穴の位置に対応するアドレス１ないし５（図２では、「Addr.1」ないし「Addr.5」と図示している）により表される。
【００２１】
なお、図２の対物レンズ２２1ないし２２5は、図１の対物レンズ２２に相当し、対物レンズ２２1ないし２２5を区別する必要がない場合には、単に、対物レンズ２２と称する。さらに、取付穴の個数は、図２に示した５つに限らず、２つ以上であればよく、取付穴の個数に応じて装着可能な対物レンズ２２の数も変動する。
【００２２】
図２に示すように、電動レボルバ制御装置１２は、CPU３１、メモリ３２、スイッチ（以下、ＳＷという）３３1ないし３３5、ドライバ３４、回転用電動モータ３５、エンコーダ３６、及びセンサ３７を含むようにして構成され、レボルバ２３に設置されている複数の対物レンズ２２のうちの１つを標本からの光の光路上に配置する制御を行うものである。
【００２３】
CPU（Central Processing Unit）３１は、メモリ３２に記憶されているプログラムに従って、各種の処理を実行し、電動レボルバ制御装置１２の各部の動作を制御する。メモリ３２にはまた、CPU３１が各種の処理を実行する上において必要なデータ等が適宜記憶される。また、詳細については後述するが、メモリ３２には、基準駆動経路である回転経路の参照データが記憶されている。
【００２４】
ＳＷ３３1ないし３３5は、レボルバ２３に装着された対物レンズ２２1ないし２２5に対応しており、操作者の操作に応じた対物レンズ２２を選択し、観察光路Ｐ１に入れるために設けられている。
【００２５】
また、CPU３１は、回転用電動モータ３５を駆動するための駆動電圧と、制御信号をドライバ３４に供給する。ドライバ３４は、CPU３１からの制御信号にしたがって、駆動電圧に応じた駆動信号を回転用電動モータ３５に供給する。回転用電動モータ３５は、ドライバ３４からの駆動信号により駆動して、レボルバ２３を回転させる。
【００２６】
たとえば、操作者によりＳＷ３３4が操作された場合、CPU３１は、ドライバ３４を介して回転用電動モータ３５を制御して、対物レンズ２２4が観察光路Ｐ１に入るように所定の量だけレボルバ２３を回転させる。この回転用電動モータ３５による回転は、エンコーダ３６によって、パルス値（以下、エンコーダ値（エンコーダパルス）ともいう）として、CPU３１に供給される。従って、CPU３１は、エンコーダ３６から供給されるエンコーダ値によって、回転用電動モータ３５により回転されたレボルバ２３の位置情報を得ることができる。
【００２７】
センサ３７は、観察光路Ｐ１にある対物レンズ２２の位置を検出し、検出結果に応じたセンサ信号をCPU３１に供給する。従って、CPU３１は、センサ信号によって、観察光路Ｐ１にある対物レンズ２２の位置情報を得ることができる。
【００２８】
なお、図２に示すように、レボルバ２３の回転経路の各区間は、アドレス１とアドレス２との間を中間経路Ａ、アドレス２とアドレス３との間を中間経路Ｂ、アドレス３とアドレス４との間を中間経路Ｃ、アドレス４とアドレス５との間を中間経路Ｄ、アドレス５とアドレス１との間を中間経路Ｅとして設定している。すなわち、センサ３７は、観察光路Ｐ１が中間経路ＡないしＥのいずれかの区間にあるとき、そのアドレスを、アドレス１ないし５以外の不定アドレスとして検出し、センサ信号をCPU３１に供給する。CPU３１は、センサ３７から供給されるセンサ信号から、不定アドレスをアドレス０として認識する。
【００２９】
また、本実施の形態において、レボルバ２３の取付穴１ないし５は、等間隔で円状に設けられているため、隣接するアドレスの回転時に、エンコーダ３６がCPU３１に与えるパルス数は同じになる。
【００３０】
以上のようにして、電動レボルバ制御装置１２は構成される。
【００３１】
次に、電動レボルバ制御装置１２により制御されるレボルバ２３の詳細な動作について説明する。
【００３２】
ここでは、その動作の一例として、観察光路Ｐ１に配置されるアドレス位置を、第１の位置であるアドレス１の対物レンズ２２1から第２の位置であるアドレス２の対物レンズ２２2に変更するために、レボルバ２３を、観察光路Ｐ１に位置するアドレスを回転させる（回転経路1→2）ことを目的とした場合において、レボルバ２３の回転動作中に対物レンズ２２が観察標本に衝突したり、電子部品の不具合が生じる等の異常が発生することもなく、目的のアドレスまでの回転制御が正常に行われる例について説明する。また、レボルバ２３の回転動作が開始するときの観察光路Ｐ１に配置されるアドレス（以下、レボルバ制御回転開始アドレスという）は、アドレス１ないし５のいずれかとし、観察光路Ｐ１から外れた不定アドレスは適用しないものとする。
【００３３】
まず、図２に示すように、観察光路Ｐ１には、対物レンズ２２1が入っているものとする。このとき、CPU３１は、センサ３７からセンサ信号を取得し、現在、アドレス１の対物レンズ２２1が観察光路Ｐ１に入っていることを認識する。
【００３４】
その後、操作者は、観察光路Ｐ１に目的の対物レンズ２２を入れるために、アドレス１ないし５に対応するＳＷ３３1ないし３３5のうちのいずれかのスイッチを押す。この例では、対物レンズ２２2を観察光路Ｐ１に入れるので、操作者によって、ＳＷ３３2が押される。すると、CPU３１は、現在のアドレス１から目的のアドレス２への最短回転経路を検索するために、メモリ３２から回転経路の参照データを読み出す。
【００３５】
参照データとは、レボルバ２３が目的のアドレスへ回転されたときに、エンコーダ３６から得られるパルス値、すなわち、レボルバ２３の位置を表すものであって、レボルバ２３が回転し始めてから目的のアドレスに駆動されるまで定期的に取得したエンコーダ値に相当する。なお、この参照データは、現在のアドレスから目的のアドレスまで、回転する間の基準データとして用いられるため、たとえば、レボルバ２３が回転している途中で対物レンズ２２が観察標本に衝突したり、電子部品の不具合が生じるなどの異常が発生していない状態で取得されるものである。
【００３６】
以上を踏まえて、参照データは、不定アドレスがレボルバ制御回転開始アドレスとなるパターン以外の、レボルバ２３の回転経路のパターン全てに対して取得し、メモリ３２に記憶させておくのが好ましい。本実施の形態では、異常検出判定のために、３シグマ法を用いた例を説明するので、あらかじめ、回転経路のパターン毎に複数回の参照データを取得し、標準偏差σを求めておくことになる。また、本実施の形態では、σの最悪値は10（パルス）であるため、3σ＝30（パルス）となる。よって、詳細は後述するが、参照データと、実際のレボルバ２３の回転時に得られるエンコーダ値との差が、±3σを超える場合、異常と判定されることになる。
【００３７】
なお、本実施の形態においては、現在のアドレスから目的のアドレスまでの回転経路は、最短経路となるように駆動されるものとするが、あらかじめ回転禁止経路を設定しておき、その回転禁止経路を通過しないようにレボルバ２３の回転制御を行うようにすることもできる。
【００３８】
図３は、レボルバ２３の回転時の参照データを示している。
【００３９】
図３において、縦軸はエンコーダ３６から出力されるパルス値（エンコーダ値）を表し、図中上方向にいくほど、その値が大きくなること意味する。また、横軸は時間軸を表しており、時間の方向は、図中左から右に向かう方向とされる。なお、これらの軸に関することは、後述する他の図においても同様とされる。
【００４０】
図３において、グラフｇ１（図中の実線）は、観察光路Ｐ１に配置する対物レンズ２２として、第１の位置であるアドレス１の対物レンズ２２1から第２の位置であるアドレス２の対物レンズ２２2に切り替えるために（回転経路1→2）、レボルバ２３を回転制御した場合において、エンコーダ３６から出力されるパルス値を2ms間隔で取得したときの参照データを表している。一方、グラフｇ２（図中の破線）は、観察光路Ｐ１に配置する対物レンズ２２として、第１の位置であるアドレス１の対物レンズ２２1から切り替え先である第２の位置であるアドレス３の対物レンズ２２3に切り替えるために（回転経路1→2→3）、レボルバ２３を回転制御した場合において、エンコーダ３６から出力されるパルス値を2ms間隔で取得したときの参照データを表している。
【００４１】
この例では、上記のような、アドレス１からアドレス２へのレボルバ２３の回転制御を目的としているため、CPU３１は、メモリ３２内にあらかじめ記憶されている回転経路1→2の参照データを検索し、CPU３１に内蔵されたRAM（Random Access Memory）に読み出す。すなわち、CPU３１は、メモリ３２から図３のグラフｇ１に示す参照データを読み出すことになる。また、CPU３１は、目的のアドレスのエンコーダ値、つまり、この例ではアドレス２のエンコーダ値も、参照データとともに読み出す。
【００４２】
次に、CPU３１は、回転用電動モータ３５を回転させるために、制御信号と駆動電圧をドライバ３４に供給する。具体的には、本実施の形態では、アドレス１からアドレス２への制御は、正転回転として扱うため、CPU３１は、正転回転制御信号をドライバ３４に供給することになる。
【００４３】
また、CPU３１は、駆動電圧として、エンコーダ値、つまり、現在のレボルバ２３の位置に応じてレボルバ２３を高速に目的のアドレスまで回転させるために必要な電圧を導出するためのフィードバック制御を行う。このフィードバック制御としては、たとえば、入力値の制御を出力値と目標値との偏差、その積分、及び微分の３つの要素によって行うPID制御を用いることができる。このPID制御を採用した場合、回転用電動モータ３５の駆動電圧の制御は、CPU３１によって行われる。また、PID制御の各種のパラメータは、あらかじめ最適化されているものとする。
【００４４】
すなわち、CPU３１は、レボルバ２３の回転制御を行っている間、エンコーダ値からレボルバ２３の位置を2ms間隔で検知し、PID制御による駆動電圧の導出を行う。導出された駆動電圧は、ドライバ３４に供給される。
【００４５】
ドライバ３４は、CPU３１から供給された駆動電圧を、回転用電動モータ３５の回転制御に必要な駆動電圧に増幅し、回転用電動モータ３５に供給する。回転用電動モータ３５は、ドライバ３４からの正転回転制御信号と駆動信号が入力されると、目的のアドレス２に向けて、回転制御を開始する。
【００４６】
このとき、CPU３１は、レボルバ２３が目的のアドレス２まで回転されるまで、PID制御を継続し、2ms間隔で取得するエンコーダ値D(t)と、参照データR(t)との差分Δd（D(t)−R(t)）を導出する。なお、このとき用いられる参照データR(t)は、回転経路1→2であるので、メモリ３２から読み出した図３のグラフｇ１に示す参照データとなる。そして、CPU３１は、差分Δdが-3σ≦Δd≦3σの範囲内であると判定した場合、レボルバ２３の回転は正常動作であると判定し、回転制御を継続させる。一方、CPU３１は、差分Δdが範囲外であると判定した場合、レボルバ２３の回転は異常動作であると判定し、回転制御を停止させる。
【００４７】
この例では異常が発生しない場合について説明しているので、目的のアドレス２まで正常動作を続けるため、CPU３１は、常に差分Δdが範囲内となると判定し、レボルバ２３の回転制御を維持する。その後、CPU３１は、センサ３７によって目的のアドレス２のアドレス信号が読み出されたとき、回転用電動モータ３５を停止させるための駆動停止制御信号と駆動電圧0Vを、ドライバ３４に供給する。続いて、ドライバ３４は、CPU３１からの駆動停止制御信号と駆動電圧0Vにしたがって、回転用電動モータ３５の駆動を停止させる。これにより、レボルバ２３はアドレス１からアドレス２へ回転され、レボルバ２３の回転制御は完了となる。
【００４８】
以上のようにして、異常が発生しない場合におけるレボルバ２３の回転制御が行われる。
【００４９】
次に、レボルバ２３の回転制御中において、CPU３１によって異常が検出されたときの回転制御の例について説明する。
【００５０】
図４は、異常が発生した場合のエンコーダ値と参照データを示したものである。
【００５１】
この例でも、上述した異常が発生しない場合の例と同様に、レボルバ２３を、アドレス１からアドレス２へ回転させる（回転経路1→2）ことを目的とした場合について説明する。従って、観察光路Ｐ１には、図２に示すように、対物レンズ２２1が入っており、CPU３１は、センサ３７からのセンサ信号によりそのことを認識する。操作者によってＳＷ３３2が押されると、CPU３１は、異常が発生しない場合の例と同様の駆動手順にしたがって、ＳＷ３３2が押されたことの検知、現在のアドレス１から目的のアドレス２への最短回転経路を検索し、メモリ３２から参照データ（図４のグラフｇ３（図中の実線））を読み出し、PID制御を用いてレボルバ２３の回転制御を行う。そして、CPU３１は、レボルバ２３が目的のアドレス２まで回転されるまで、PID制御を続ける。
【００５２】
このとき、CPU３１は、図４のグラフｇ４（図中の破線）に示すエンコーダ値D(t)を2ms間隔で取得し、メモリ３２から読み出した図４のグラフｇ３（図中の実線）に示す参照データR(t)との差分Δd（D(t)−R(t)）を導出する。そして、異常検出手段を含むCPU３１は、差分Δdが-3σ≦Δd≦3σの範囲内であると判定した場合、レボルバ２３の回転は正常動作であると判定し、回転制御を継続させるが、差分Δdが範囲外であると判定した場合には、レボルバ２３の回転は異常動作であると判定し、回転制御を停止させる。すなわち、図４においては、レボルバ２３が正常に回転していれば、グラフｇ４は、グラフｇ３とほぼ同じ曲線を描くはずであるが、レボルバ２３の回転制御開始直後は同じ形状の曲線となっていた２つのグラフが、約70ms付近からずれはじめ、その後、全く異なる形状の曲線となっている。このことは、レボルバ２３の回転制御開始から約70ms後に、対物レンズ２２が観察標本に衝突するか、電子部品の不具合が生じるなどして、異常が発生したことを意味する。
【００５３】
図５は、図４のグラフｇ３とグラフｇ４の一部であって、縦軸のパルス値を500〜1000の範囲とし、横軸の時間の値を50ms〜100msの範囲とした場合のグラフを抜き出したものを示している。すなわち、図５では、時刻Ｔ１において、対物レンズ２２と観察標本との衝突が開始し、時刻Ｔ２において、グラフｇ４で示すエンコーダ値D(T2)と、グラフｇ３で示す参照データR(T2)との差分Δdは、Δd＞3σとなるため、CPU３１は、時刻Ｔ２に異常を検出したと判定し、駆動停止制御信号と駆動電圧0Vをドライバ３４に供給する。続いて、ドライバ３４は、CPU３１からの駆動停止制御信号と駆動電圧0Vにしたがって、回転用電動モータ３５の駆動を停止させる。
【００５４】
図５の例では、グラフｇ３の黒丸２−７とグラフｇ４の三角２−７の間隔は、共に、CPU３１がエンコーダ値を取得する間隔と同じ2msであるため、時刻Ｔ１から時刻Ｔ２までの時間は、2ms×4＝8msとなる。言い換えれば、対物レンズ２２が観察標本に衝突を開始してから、あるいは、電子部品の不具合が生じてから、8ms経過した後には既にCPU３１によって異常が検出されているといえる。このように、衝突開始から異常検出までの時間が8msと、高速で検出することができるため、検出後直ちに回転制御を中止して、対物レンズ２２が観察標本に衝突したことによる観察標本への損傷を最小限に食い止めることができる。
【００５５】
なお、本実施の形態では、2ms間隔でエンコーダ値を監視し、異常検出を行う例について説明したが、このサンプリング間隔をさらに狭めることで、異常検出をより高速に行うことも可能である。
【００５６】
このように、レボルバ２３の回転制御を行っているときに発生した異常を迅速に検出できるので、回転制御に起因して発生する衝突を未然に防止することができる。
【００５７】
また、エンコーダ値D(t)と、参照データR(t)との差分Δd（D(t)−R(t)）を求めて、その差分Δdと所定の値を比較することで、異常が検出されたか否かを判定するので、従来のように回転禁止経路を操作者が設定する必要がなく、さらには、操作者が予期できないような対物レンズの観察標本への衝突や電子機器の不具合などが発生したとしても、それらの事象を、迅速に異常として検出することができる。
【００５８】
ところで、上述した例においては、その前提として、レボルバ制御回転開始アドレスは、アドレス１ないし５のいずれかが適用され、不定アドレスには適用されないこととしていた。そこで、次に、レボルバ制御回転開始アドレスが不定アドレスにある場合において、操作者によって対物レンズ２２に対応したＳＷ３３のいずれかが押されたときの制御について説明する。
【００５９】
ここでは、アドレス１とアドレス２との間の中間経路Ａからアドレス２へ、レボルバ２３を回転させることを目的として、レボルバ２３の回転制御が行われるものとする。
【００６０】
図６は、レボルバ制御回転開始アドレスが不定アドレスである場合のエンコーダ値と参照データとの関係を示す図である。
【００６１】
図６において、グラフｇ５（図中の実線）は、アドレス１からアドレス２に（回転経路1→2）、レボルバ２３を回転した場合における参照データを表している。また、グラフｇ６（図中の破線）とグラフｇ７（図中の点線）は、中間経路Ａ上の任意の位置をレボルバ制御回転開始アドレスとした場合において得られるエンコーダ値を表している。なお、グラフｇ６とｇ７において、レボルバ制御回転開始アドレスは、それぞれ、中間経路Ａ上の任意の位置である中間経路Ａ1と中間経路Ａ2であり、それらの位置は、同じ中間経路Ａ上ではあるものの異なっている。
【００６２】
図６を見ても明らかなように、参照データを表しているグラフｇ５と、エンコーダ値を表しているグラフｇ６及びｇ７とは、レボルバ２３の回転制御開始直後から、全く異なる形状の曲線となっているため、グラフｇ５の参照データを、そのまま参照データとして適用することはできない。仮に、中間経路ＡないしＥから目的のアドレスまでの参照データの全パターンを、あらかじめ取得しておき、その参照データをメモリ３２に記憶させておけば、上述した手法を適用することはできる。しかし、そのようにして、中間経路ＡないしＥの全パターンをメモリ３２に記憶させることは、大容量のメモリが必要になる他、全パターンの参照データを取得するために多大な労力と時間を費やす必要も出てくるため、現実的ではない。
【００６３】
そこで、本実施の形態においては、レボルバ制御回転開始アドレスが中間経路ＡないしＥのいずれかとなる場合には、レボルバ制御回転開始アドレスがアドレス１ないし５となる場合における既存の参照データを加工することで新たな参照データを生成し、生成された参照データを用いるようにする。たとえば、レボルバ制御回転開始アドレスが中間経路Ａ2にあるときには、図６のグラフｇ５を加工して、新たな参照データを生成するようにする。
【００６４】
次に、参照データの加工方法の詳細について説明する。
【００６５】
ここでは、たとえば、レボルバ制御回転開始アドレスが中間経路Ａ2にある状態で、操作者によって、対物レンズ２２2に切り替えるためにＳＷ３３2が押された場合について説明する。
【００６６】
CPU３１は、ＳＷ３３2が押されたことを検知した場合、エンコーダ３６より現在のエンコーダ値を読み出すことで、レボルバ制御回転開始アドレスが中間経路Ａ2にあることを認識する。また、CPU３１は、ＳＷ３３2が押されたことを検知しているため、目的のアドレスがアドレス２であることも認識し、回転経路を検索する。検索される回転経路であるが、中間経路Ａ2からアドレス２への回転であるため、回転方向は正転方向が最短となる。従って、図７の参照データを特定するためのテーブル（以下、参照データ特定テーブルＴＬという）にしたがって、「レボルバ制御回転開始アドレス」が中間経路Ａ、「回転方向」がＣＷであるので、中間経路Ａ2より回転制御を開始する場合の「参照データ」は、アドレス１からアドレス２へ回転させる場合に用いられる回転経路1→2の参照データとなる。
【００６７】
すなわち、CPU３１は、参照データ特定テーブルＴＬに基づいて、回転経路1→2の参照データである、図６のグラフｇ５で表される参照データを、メモリ３２から内蔵のRAMに読み出すことになる。
【００６８】
なお、図７の参照データ特定テーブルＴＬは、「レボルバ制御回転開始アドレス」と「回転方向」から、「参照データ」を特定できるようにするものである。すなわち、レボルバ制御回転開始アドレスが中間経路Ａ上の任意の位置である場合において、回転方向がＣＷであるときには、回転経路1→xの参照データを利用し、回転方向がＣＣＷであるときには、回転経路2→xの参照データを利用する。ただし、ｘは目的のアドレスを意味する。
【００６９】
同様に、レボルバ制御回転開始アドレスが中間経路Ｂ上の任意の位置である場合、回転方向がＣＷであるときには回転経路2→x、ＣＣＷであるときには回転経路3→xの参照データがそれぞれ利用される。また、レボルバ制御回転開始アドレスが中間経路Ｃ上の任意の位置である場合、回転方向がＣＷであるときには回転経路3→x、ＣＣＷであるときには回転経路4→xの参照データがそれぞれ利用される。
【００７０】
同様にまた、レボルバ制御回転開始アドレスが中間経路Ｄ上の任意の位置である場合、回転方向がＣＷであるときには回転経路4→x、ＣＣＷであるときには回転経路5→xの参照データがそれぞれ利用され、さらに、中間経路Ｅ上の任意の位置である場合、回転方向がＣＷであるときには回転経路5→x、ＣＣＷであるときには回転経路1→xの参照データがそれぞれ利用される。
【００７１】
なお、この参照データ特定テーブルＴＬは、メモリ３２に記憶されている。
【００７２】
次に、データ加工手段を含むCPU３１は、参照データ特定テーブルＴＬにしたがって、メモリ３２から読み出した回転経路1→2の参照データを、現在のアドレスである中間経路Ａ2のために加工（修正）していく。図８ないし図１０は、参照データの加工処理を説明するものである。具体的には、まず、CPU３１は、エンコーダ３６から先に読み出しておいたエンコーダ値以下となる参照データに対し、オフセットとして、現在のエンコーダ値を加算する。すなわち、図８に示すように、メモリ３２から読み出された回転経路1→2の参照データを表しているグラフｇ８のうち、破線で示される部分が現在のエンコーダ値の分だけオフセットされ、曲線の形状はそのままに、グラフｇ９の位置に移動される。
【００７３】
そして、CPU３１は、オフセットされたグラフｇ９の時刻Ｔ３と、グラフｇ８の時刻Ｔ４を開始時刻として、グラフｇ９の変化量Δr1（Rn+1−Rn）と、グラフｇ８の変化量Δr2（Rn+1+k−Rn+k）とを順次比較していく。ただし、ｋ＝Ｔ４／ｓ（ｓ：サンプリング間隔）とする。
【００７４】
比較を続けていくと、図９に示すように、グラフｇ９の変化量Δr1と、グラフｇ８の変化量Δr2が最も近くなる値（両曲線の接線の傾きがほぼ同じになるとき）の時刻が求められる。ここでは、その時刻を、それぞれ、グラフｇ９では時刻Ｔ５とし、グラフｇ８では時刻Ｔ６とする。そして、CPU３１は、時刻Ｔ３からＴ５までの時間に相当する区間の参照データは、グラフｇ９のものを残し、時刻Ｔ５以降の時間の参照データとして、グラフｇ８のＴ６以降の時間の参照データを接続させる。なお、時刻Ｔ５と時刻Ｔ６の接続部分の参照データが一致しない場合には、CPU３１は、たとえば直線補間を行ってから接続させる。
【００７５】
このようにして接続された参照データを図示すると、図１０のグラフｇ１０（図中の実線）に示すようになる。すなわち、図１０のグラフｇ１０は、中間経路Ａ2からレボルバ制御を開始する場合において、回転経路1→2の参照データから新たに生成された参照データである。また、図１０のグラフｇ１１（図中の破線）は、実際に、中間経路Ａ2からアドレス２へ回転制御を行った場合において、異常が検出されなかったときのエンコーダ値であり、新たに生成された参照データを表すグラフｇ１０と類似した駆動軌跡になっていることがわかる。このことからも、新たに生成された参照データが、極めて精度の高いものであることが分かる。
【００７６】
そして、この新たに生成された参照データを、上述した異常検出に用いることで、中間経路ＡないしＥの任意の位置などの不定アドレスがレボルバ制御回転開始アドレスとなった場合でも、レボルバ２３の回転制御における、観察標本への衝突や電子部品の不具合による異常検出を速やかに行うことができる。
【００７７】
また、不定アドレスがレボルバ制御回転開始アドレスとなった場合には、アドレス１ないし５のいずれかがレボルバ制御回転開始アドレスとなるパターンの回転経路の参照データから、対象となる不定アドレス用の参照データを作成することができるので、不定アドレスを含む全パターン参照データを取得する必要がなくなる。これにより、参照データのデータ量が少なくなるため、メモリ３２の容量を少なく抑えることができる。また、不定アドレスを含む全パターンの参照データを作成する必要がないので、操作者にとっては、余計な参照データを作成する手間が省ける。
【００７８】
次に、図１１のフローチャートを参照して、CPU３１によって実行される、レボルバ２３の回転制御について説明する。
【００７９】
ステップＳ１において、CPU３１は、操作者によってＳＷ３３1ないし３３5のいずれかのスイッチが押された場合、押されたＳＷ３３を検知し、検知したＳＷ３３に対応する対物レンズ２２のアドレスを、目的のアドレスとする。
【００８０】
ステップＳ２において、CPU３１は、センサ３７から供給されるセンサ信号から得られる現在のアドレスを基に、目的のアドレスまでの最短の回転経路を検索する。
【００８１】
ステップＳ３において、CPU３１は、検索された回転経路に対応する参照データを、メモリ３２から読み出し、内蔵のRAMに記憶させる。
【００８２】
ステップＳ４において、CPU３１は、現在のアドレスが不定アドレスであるか否かを判定する。ステップＳ４において、不定アドレスではないと判定された場合、すなわち、現在のアドレスがアドレス１ないし５のいずれかである場合、メモリ３２から読み出した参照データはそのまま用いることができるので、ステップＳ５の処理をスキップして、処理はステップＳ６に進む。
【００８３】
一方、ステップＳ４において、不定アドレスであると判定された場合、すなわち、中間経路ＡないしＥのいずれかである場合、メモリ３２から読み出した参照データを加工する必要があるため、処理はステップＳ５に進む。CPU３１は、ステップＳ５において、図７ないし図１０を参照して説明した手順によって参照データを加工する。これにより、たとえば、図１０のグラフｇ１０で表されるような、対象となる不定アドレス用の新たな参照データが生成される。
【００８４】
そして、CPU３１は、ステップＳ６において、センサ３７のセンサ信号を読み出し、ステップＳ７において、観察光路Ｐ１に入っている対物レンズ２２が、目的のアドレスのものであるか否かを判定する。ステップＳ７において、目的のアドレスであると判定された場合、これ以上、レボルバ２３を回転させる必要はないので、処理はステップＳ１３に進む。そして、ステップＳ１３において、CPU３１は、ドライバ３４を介して回転用電動モータ３５の駆動を停止させる。
【００８５】
一方、ステップＳ７において、目的のアドレスではないと判定された場合、さらに、レボルバ２３を回転させる必要があるので、処理は、ステップＳ８に進む。
【００８６】
CPU３１は、ステップＳ８において、エンコーダ３６からエンコーダ値D(t)を取得し、ステップＳ９において、取得したエンコーダ値D(t)と、参照データR(t)との差分Δd（D(t)−R(t)）を導出する。なお、この参照データR(t)は、レボルバ制御回転開始アドレスがアドレス１ないし５のいずれかの場合には、メモリ３２から読み出されたものとなり、不定アドレスの場合には、ステップＳ５の処理によって、加工されて新たに生成されたものとなる。
【００８７】
ステップＳ１０において、CPU３１は、Δd＞3σ、又はΔd＜-3σの関係を満たすか否かを判定する。ステップＳ１０において、Δd＞3σ、又はΔd＜-3σの関係を満たさない、すなわち、-3σ≦Δd≦3σの範囲内であれば、レボルバ２３の回転制御は正常動作をしていることになるので、処理は、ステップＳ１１に進む。CPU３１は、ステップＳ１１において、PID制御により現在位置から目的のアドレスまでの偏差量を基に駆動電圧を演算し、ステップＳ１２において、ドライバ３４に対して制御信号と駆動電圧を供給する。そして、ドライバ３４によって、回転用電動モータ３５に対し駆動信号が与えられると、回転用電動モータ３５が回転制御される。
【００８８】
その後、ステップＳ６ないしステップＳ１２の処理が、レボルバ２３が目的のアドレスに到達するまで（ステップＳ７でＹＥＳと判定されるまで）、繰り返されるが、たとえば、レボルバ２３の回転途中で対物レンズ２２が観察標本に衝突したり、あるいは、レボルバ２３を制御するための制御回路などで不具合が発生したりした場合には、ステップＳ１０において、Δd＞3σ、又はΔd＜-3σの関係を満たす、すなわち、-3σ≦Δd≦3σの範囲外であると判定されるので、CPU３１は異常が検出されたと認識し、処理はステップＳ１３に進む。
【００８９】
ステップＳ１３において、CPU３１は、レボルバ２３の回転制御が異常動作を行っているので、ドライバ３４に対し、駆動停止制御信号と駆動電圧0Vを与える。すると、ドライバ３４によって、回転用電動モータ３５に対し駆動電圧0Vに対応する駆動信号が与えられ、回転用電動モータ３５は停止する。すなわち、CPU３１は、異常を検出した場合には、回転用電動モータ３５の駆動を停止させて、レボルバ２３の回転を停止させる。
【００９０】
以上のように、本発明によれば、電動レボルバに装着された対物レンズ等の光学素子の駆動時に発生する異常を迅速に検出して、光学装置（光学素子）に起因して発生する衝突を未然に防止することができる。
【００９１】
なお、本実施の形態においては、電動により駆動される光学装置として、対物レンズ２２1ないし２２5を装着したレボルバ２３を例にして説明したが、本発明は、その他の光学装置にも適用することができる。たとえば、顕微鏡１１が観察標本からの蛍光を観察することを目的とした蛍光顕微鏡である場合には、光学装置として、励起フィルタ、バリアフィルタ、及びダイクロイックミラーの３つの光学素子を一体にした蛍光キューブが用いられるが、この蛍光キューブは、各種蛍光色素の発光特性に合わせたものが多数用意され、使用する蛍光色素に応じて切り替えられるようにされているものが多い。その場合、たとえば、複数の蛍光キューブをターレット上に配置し、ターレットを電動で回転させることで蛍光キューブの切り替えができるようにするが、本発明は、このような、複数の蛍光キューブが配置されたターレットの回転制御にも適用できる。
【００９２】
また、本実施の形態では、回転式のレボルバであるレボルバ２３について説明したが、レボルバをスライダ上に配置したスライド式のレボルバにも、本発明は適用可能である。
【００９３】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等に、記録媒体からインストールされる。
【００９４】
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク、光ディスク、光磁気ディスク、若しくは半導体メモリ等より構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されている各種の記録手段で構成される。
【００９５】
また、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデム等のインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【００９６】
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００９８】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００９９】
【図１】本発明を適用した顕微鏡システムの一実施の形態の構成を示すブロック図である。
【図２】電動レボルバ制御装置の詳細な構成を示すブロック図である。
【図３】レボルバ回転時の参照データの図である。
【図４】異常発生時のエンコーダ値と参照データとの関係を示す図である。
【図５】図４の異常発生時のエンコーダ値と参照データとの関係を拡大して示す図である。
【図６】レボルバ制御回転開始アドレスが不定アドレスである場合のエンコーダ値と参照データとの関係を示す図である。
【図７】参照データ特定テーブルの例を示す図である。
【図８】参照データの加工を説明する図である。
【図９】参照データの加工を説明する図である。
【図１０】参照データの加工を説明する図である。
【図１１】レボルバの回転制御について説明するフローチャートである。
【符号の説明】
【０１００】
１１  顕微鏡，  １２  電動レボルバ制御装置，  １３  通信ケーブル，  ２１  ステージ，  ２２1ないし２２5  対物レンズ，  ２３  レボルバ，  ２４  ランプ，  ２５  照準ハンドル，  ２６  接眼部，  ３１  CPU，  ３２  メモリ，  ３３1ないし３３5  ＳＷ，  ３４  ドライバ，  ３５  回転用電動モータ，  ３６  エンコーダ，  ３７  センサ
【図１】
2010113039.tif 000003
【図２】
2010113039.tif 000004
【図３】
2010113039.tif 000005
【図４】
2010113039.tif 000006
【図５】
2010113039.tif 000007
【図６】
2010113039.tif 000008
【図７】
2010113039.tif 000009
【図８】
2010113039.tif 000010
【図９】
2010113039.tif 000011
【図１０】
2010113039.tif 000012
【図１１】
2010113039.tif 000013