以下、本発明を実施するための最良の形態を図面とともに詳細に説明する。なお、以下の説明において、各図は本発明の内容を理解でき得る程度に形状、大きさ、および位置関係を概略的に示してあるに過ぎず、従って、本発明は各図で例示された形状、大きさ、および位置関係のみに限定されるものではない。また、図面の記載において、同一部分には同一の符号を付している。
(実施の形態1)
以下、本発明の実施の形態1による位置検出システム1の構成および動作を、図面を用いて詳細に説明する。なお、本実施の形態は、現に発生している駆動磁界成分を求めて、この駆動磁界成分をもとに共振磁界成分を分離することで、駆動磁界の経時変化などに依らずに、精度良く検出体の位置を検出することを可能にする位置検出システムおよび位置検出方法を実現する。
図1は、本実施の形態1による位置検出システム1の概略構成を示す模式図である。図1に示すように、本実施の形態1にかかる位置検出システム1は、検出体としてのカプセル内視鏡10が導入された被検体900を収容する検出空間Kと、検出空間K内のカプセル内視鏡10の位置および向き(姿勢)を検出する外部装置20と、を備える。
カプセル内視鏡10は、図1に示すように、位置検出用の共振磁界を発生する共振磁界発生部11(図1参照)を有する。共振磁界発生部11は、後述するように、並列接続されたキャパシタ(C)とインダクタ(L)とよりなるLC共振回路を含み、外部から入力された共振周波数と略等しい周波数の位置検出用の磁界(以下、駆動磁界という)によって励起し、共振磁界を発生する。言い換えると、カプセル内視鏡10は、検出空間K内に形成された駆動磁界に応じて、誘導磁界である共振磁界を発生する。なお、共振周波数は、並列接続されたキャパシタ(C)とインダクタ(L)とによって決定されるLC共振回路の共振周波数である。また、カプセル内視鏡10は、例えばカプセル型医療装置としての機能を有し、外部装置20からの各種操作指示を示す無線信号を受信するとともに、被検体内部の画像を撮像することによって取得した被検体内情報を無線信号として外部装置20に送信してもよい。
検出空間Kには、検出空間K内に略均一な駆動磁界を形成する磁界発生コイルD1と、検出空間K内に形成された磁界を検出する複数の検出コイルS1〜S8(以下、任意の検出コイルの符号をSとする)および複数の検出コイルS1〜S4およびS5〜S8がそれぞれ実装される配線基板14Aおよび14Bとが配設される。また、配線基板14Aは、例えばカプセル内視鏡10が導入された被検体900が載置される載置台(不図示)の下側に設置され、配線基板14Bは、例えば検出空間Kの上側に配置される。
磁界発生コイルD1は、検出空間K内に発生する駆動磁界として、たとえば、検出空間K内に所定軸方向に延在する磁力線よりなる略均一な駆動磁界を発生する。各検出コイルSは、検出空間K内に形成された磁界を検出し、カプセル内視鏡10が検出空間K内に配置される場合には、磁界発生コイルD1が発生する駆動磁界に応じてカプセル内視鏡10の共振磁界発生部11が発生した共振磁界と、磁界発生コイルD1が発生する駆動磁界との合成磁界を検出する。各検出コイルSから読み出した検出信号は、各検出コイルSが配置された位置における磁界の強度や位相などの磁界情報を電圧で表した信号である。例えば各センサコイルSは、所定軸方向の磁界強度および方向を検出可能なコイルを含む磁気センサである。ただし、これに限定されず、例えば磁気抵抗素子や磁気インピーダンス素子(MI素子)などよりなる磁気センサを用いて各検出コイルSを構成してもよい。また、各検出コイルSを、x軸、y軸またはz軸をそれぞれ検出する3つのコイルよりなる3軸磁気センサなどで構成することも可能である。複数の検出コイルSは、駆動磁界の影響を受け難く、かつカプセル内視鏡10の共振磁界発生部11が発生した共振磁界を検出しやすい位置に配置される。本実施の形態1では、複数の検出コイルS1〜S4が検出空間Kの下側に配置された配線基板14Aの底面(検出空間K下側のx−y平面)に2次元配列された例を示し、また、複数の検出コイルS5〜S8が検出空間Kの上側に配置された配線基板14Bの上面(検出空間K上側のx−y平面)に2次元配列された例を示す。
また、外部装置20は、外部装置20内の各部を制御する制御部21と、制御部21が各部を制御する際に実行する各種プログラムおよびパラメータ等を記憶する記憶部22と、操作者がカプセル内視鏡10に対する各種操作指示を入力する操作入力部23と、カプセル内視鏡10の位置や向きおよびカプセル内視鏡10から取得した被検体内情報を画像(映像を含む)や音声で表示する表示部24と、カプセル内視鏡10から無線信号として送信された被検体内情報等を受信する無線受信部25と、カプセル内視鏡10へ撮像指示などの各種操作指示を無線信号として送信する無線送信部26と、を備える。
そして、外部装置20は、磁界発生コイルD1の駆動に用いる信号の振幅や位相を調整する駆動コイル入力信号調整部30と、駆動コイル入力信号調整部30からの制御に従って磁界発生コイルD1に入力する駆動信号を生成する駆動信号生成部31と、検出コイルSにおける磁界検出と同期して磁界発生コイルD1に流れる駆動電流を検出する電流検出部32と、検出コイルSより読み出された電圧変化をA/D変換、フーリエ変換することによって所定の周波数成分を分離して合成磁界成分として出力するとともに電流検出部32により読み出された電流変化をA/D変換、フーリエ変換することによって所定の周波数成分を分離して駆動電流成分として出力する変換部40と、各検出コイルSによってそれぞれ検出された合成磁界成分と電流検出部32によって検出された駆動電流成分とに基づいて、各合成磁界成分に含まれるカプセル内視鏡10の共振磁界成分を取得してカプセル内視鏡10の位置および方向を算出する位置検出部50とを備える。なお、図1では、駆動信号生成部31を外部装置20とは別体とした場合の構成を例に挙げるが、本発明はこれに限定されず、外部装置20内に設けられた構成であってもよい。
制御部21は、例えばCPUやMPUなどで構成され、記憶部22から読み出したプログラムおよびパラメータに従って、外部装置20内の各部を制御する。また、記憶部22は、例えばRAMやROMなどで構成され、制御部21が各部を制御する際に実行するプログラムおよびパラメータを保持する。この記憶部22には、カプセル内視鏡10から受信した被検体内画像や位置検出部50が導出したカプセル内視鏡10の位置や向き等の情報が適宜格納される。
操作入力部23は、例えばキーボードやマウスやテンキーやジョイスティックなどで構成され、撮像指示(その他の被検体内情報取得指示を含む)などのカプセル内視鏡10に対する各種操作指示や、表示部24に表示する画面を切り替える画面切替指示などの外部装置20に対する各種操作指示などを、操作者が入力するための構成である。なお、カプセル内視鏡10が複数の撮像部を備え、かつ、略リアルタイムにカプセル内視鏡10で取得された画像を表示部24に表示する場合には、表示部24に表示する画面の切替機能をさらに持たせてもよい。
表示部24は、例えば液晶ディスプレイやプラズマディスプレイやLEDアレイなどの表示装置で構成され、カプセル内視鏡10の位置や向き等の情報やカプセル内視鏡10から送信された被検体内画像等の被検体内情報を表示する。また、表示部24には、スピーカなどを用いた音声再生機能を搭載していてもよい。表示部24は、この音声再生機能を用いて各種操作ガイダンスやカプセル内視鏡10のバッテリ残量などについての情報(警告等を含む)を操作者に音で報知する。
無線受信部25は、検出空間Kに近接して配置されたダイポールアンテナなどよりなる不図示の受信用アンテナに接続されている。この受信用アンテナは、例えば検出空間K近傍に配置される。無線受信部25は、受信用アンテナを介してカプセル内視鏡10から無線信号として送信された被検体内画像等を受信し、受信した信号にフィルタリング、ダウンコンバート、復調および復号化などの種々の処理を実行した後、これを制御部21へ出力する。
無線送信部26は、検出空間Kに近接して配置されたダイポールアンテナなどよりなる不図示の送信用アンテナに接続されている。この送信用アンテナは、例えば検出空間K近傍に配置される。無線送信部26は、制御部21から入力されたカプセル内視鏡10に対する各種操作指示などの信号に送信用の基準周波数信号への重畳や変調やアップコンバートなどの種々の処理を実行した後、これを電波信号として送信用アンテナからカプセル内視鏡10へ送信する。
磁界コイル入力信号調整部30は、制御部21から入力された制御信号に従って、カプセル内視鏡10におけるLC共振回路の共振周波数と略等しい周波数の信号波形を算出し、これを駆動信号生成部31へ出力する。
駆動信号生成部31は、磁界コイル入力信号調整部30から入力された信号波形に従って駆動信号を生成し、これを電流増幅した後、増幅後の駆動信号を磁界発生コイルD1へ入力する。増幅後の駆動信号が入力された磁界発生コイルD1は、カプセル内視鏡10のLC共振回路が持つ共振周波数と略等しい周波数の磁界を発生することで、検出空間K内にLC共振回路を励起させる駆動磁界を形成する。
電流検出部32は、検出コイルSにおける磁界検出と同期して磁界発生コイルD1に流れる駆動電流を検出し、変換部40に出力する。また、電流検出部32から出力された検出信号は、磁界発生コイルD1に流れる駆動電流の強度や位相などの情報を電流で表した信号である。なお、電流検出部32から出力された検出信号は、磁界発生コイルD1に流れる駆動電流の強度や位相などの情報を電圧で表した信号であってもよい。
変換部40は、検出コイルSにより読み出された電圧変化を示す検出信号に対して所定の処理を実行することで、検出信号に含まれる、合成磁界成分に対応する所定の周波数成分を略リアルタイムに導出する。また、変換部40は、電流検出部32により読み出された電流変化を示す検出信号に対して所定の処理を実行することで、駆動電流に対応する所定の周波数成分を略リアルタイムに導出する。
この変換部40は、例えばA/D変換部41とFFT演算部42とを含む。A/D変換部41は、複数の検出コイルSおよび電流検出部32それぞれから各検出信号を読み出し、読み出したアナログの各検出信号を適宜、増幅、帯域制限、A/D変換する。また、FFT演算部42は、A/D変換部41から出力されたデジタルの各検出信号を高速フーリエ変換することで、各検出コイルSにおいて検出された各合成磁界成分と、電流検出部32において検出された駆動電流とを示すデータ(以下、これをFFTデータという)を生成する。FFT演算部42は、各検出コイルSにおいて検出された各合成磁界成分を示すFFTデータを、位置検出部50におけるキャリブレーション演算部51と位置情報演算部53とに入力する。また、FFT演算部42は、電流検出部32において検出された駆動電流を示すFFTデータを位置検出部50におけるキャリブレーション演算部51に入力する。また、FFTデータは、検出コイルSから読み出した検出信号に含まれる磁界情報、または、電流検出部32から読み出した検出信号に含まれる駆動電流情報を、強度と位相との成分よりなる情報に変換したデータである。
位置検出部50は、変換部40から入力されたFFTデータに対して所定の演算処理を実行することで、検出信号に含まれる磁界情報からカプセル内視鏡10の現在の位置や向きを導出する。
ここで、カプセル内視鏡10の位置検出時に各検出コイルSから読み出された検出信号には、LC共振回路が発生した共振磁界成分の他に、磁界発生コイルD1が発生する駆動磁界成分であって共振周波数と略等しい周波数を持つ駆動磁界成分が含まれる。したがって、各検出コイルSに対応するFFTデータそのままではカプセル内視鏡10(特にLC共振回路)の正確な位置や向きを導出することができない。そこで、位置検出部50においては、各検出コイルSによる合成磁界の検出値から駆動磁界成分を分離して、LC共振回路が発生した共振磁界に対応する共振磁界成分を求める必要がある。
本実施の形態1では、位置検出部50は、予め検出しておいたLC共振回路がない状態における駆動磁界ではなく、現に磁界発生コイルD1が発生する駆動磁界に対応する駆動磁界成分を求め、この求めた駆動磁界成分を合成磁界から分離して、カプセル内視鏡10のLC共振回路が実際に発生している共振磁界成分を取得している。
位置検出部50は、電流検出部32によって検出された駆動電流の検出値に基づいて、検出コイルSによって検出された合成磁界成分の検出値における駆動磁界成分の位相を算出するキャリブレーション演算部51、所定の基準値を記憶するメモリ52、および、検出コイルSによって検出された合成磁界から、キャリブレーション演算部51において算出された駆動磁界成分の位相に対して略直交する位相差を有する成分を求め、該求めた成分をもとにカプセル内視鏡10の位置および方向を算出する位置情報演算部53を有する。
図2を参照して、位置検出部50の各構成部の処理内容について説明する。まず、検出コイルSが検出する合成磁界には、磁界発生コイルD1が発生する駆動磁界に応じてカプセル内視鏡10の共振磁界発生部11が発生した共振磁界とともに、磁界発生コイルD1自身が発生する駆動磁界とが含まれている。すなわち、検出コイルSは、カプセル内視鏡10が検出範囲K内にあるかないかに係らず、磁界発生コイルD1が発生する駆動磁界を検出する。そして、検出コイルSが検出する駆動磁界成分は、磁界発生コイルD1と検出コイルSの相対位置関係に基づき、磁界発生コイルD1が発生する駆動磁界に対して対となる関係を有する。
図2(1)は、磁界発生コイルD1が発生する駆動磁界の強度に対する時間依存を示す図であり、図2(2)は、検出コイルSが検出した駆動磁界の強度に対する時間依存性を示す図である。図2(2)においては、カプセル内視鏡10が検出範囲K内に位置しない場合における検出コイルSの検出結果を示している。
たとえば、この図2(1)の曲線Ld0に示すように、磁界発生コイルD1が所定周波数で駆動磁界を発生した場合、検出コイルSでは、図2(2)の曲線Ls0のように時間T分だけずれた状態で、同周波数で駆動磁界を検出している。この対応関係は、磁界発生コイルD1の特性、検出コイルSの特性および磁界発生コイルD1と検出コイルSとの相対位置関係によって決まっている。したがって、磁界発生コイルD1が発生する駆動磁界が、経時変化によって、図2(1)の曲線Ld1に示すように、曲線Ld0と比較して、矢印Y1のようにΔDθ分ずれた位相で発生した場合には、検出コイルSにおいても、図2(2)の曲線Ls1に示すように、曲線Ls0と比較して、矢印Y2のようにΔDθ分ずれた位相で検出される。
このため、磁界発生コイルD1が発生する駆動磁界と、この場合に検出コイルSが検出する駆動磁界の検出結果とを基準として予め求めておき、カプセル内視鏡10の位置検出のために現に磁界発生コイルD1が発生する駆動磁界の位相が、基準となる駆動磁界の位相から、どれだけ変化しているかを求めれば、検出コイルSが検出した合成磁界のうち駆動磁界に対応する成分の位相を求めることができる。検出コイルSが検出した合成磁界のうち駆動磁界に対応する成分も、実際に磁界発生コイルD1が発生する駆動磁界と同じだけ位相が基準からずれているためである。合成磁界は、駆動磁界に対応する駆動磁界成分とカプセル内視鏡10からの共振磁界成分に構成されている。したがって、検出コイルSが検出した合成磁界のうち一方の駆動磁界成分の位相を求めることによって、図2(3)の曲線Lc1に示す合成磁界から、曲線Ls1に示す駆動磁界成分を分離して、曲線Lr1に示すカプセル内視鏡10が発生する共振磁界成分を矢印Y3のように取得することができる。
ところで、磁界発生コイルD1における駆動磁界の位相と磁界発生コイルD1に流れる電流の位相とは同一である。このため、本実施の形態1では、電流検出部32を設けて、磁界発生コイルD1が発生する駆動磁界を表す値として磁界発生コイルD1に流れる駆動電流を検出している。すなわち、本実施の形態1では、電流検出部32によって検出された磁界発生コイルD1に流れる駆動電流の位相を求めることによって、磁界発生コイルD1が実際に発生している駆動磁界の位相を求めている。
具体的には、まず、カプセル内視鏡10が検出空間K内に位置しない状態で、磁界発生コイルD1から駆動磁界を発生させ、この状態で実際に各検出コイルSに駆動磁界を検出させる。この場合、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流を検出する。本実施の形態1においては、このカプセル内視鏡10が検出空間K内に位置しない状態における検出コイルSによって検出された磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として用いている。なお、メモリ52は、このカプセル内視鏡10が検出空間K内に位置しない場合に検出コイルSによって検出された磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として記憶する。
そして、キャリブレーション演算部51は、カプセル内視鏡10に対する位置検出中に電流検出部32によって検出された駆動電流の検出値と、メモリ52に記憶した基準値とに基づいて駆動磁界成分の位相を算出する。具体的には、キャリブレーション演算部51は、メモリ52において基準値として記憶された駆動電流の検出値と、電流検出部32によって検出された磁界発生コイルD1に実際に流れている駆動電流の検出値との位相差を求める。そして、キャリブレーション演算部51は、この求めた位相差を用いて、駆動磁界成分の位相を算出する。言い換えると、キャリブレーション演算部51は、基準値として記憶された駆動磁界成分の位相に対して、求めた位相差だけ加算した値を求め、この値を、現に磁界発生コイルD1が発生する駆動磁界の駆動磁界成分の位相として位置情報演算部53に出力する。
次に、図3を参照して、位置情報演算部53におけるカプセル内視鏡10の現在の位置や向きの導出処理について説明する。図3は、磁界発生コイルD1による駆動磁界と、検出コイルSによる検出磁界である合成磁界と、カプセル内視鏡10の共振磁界との関係を示す図である。
図3に示すように、カプセル内視鏡10が発生する共振磁界(以下、強度および位相を示す平面空間に展開した共振磁界のベクトルをFrという)は、駆動磁界(以下、強度および位相を示す平面空間に展開した駆動磁界のベクトルをFdいう)に対して90°の位相差を有する。したがって、FFTデータに含まれる全磁界(以下、これを検出された合成磁界とし、強度および位相を示す平面空間に展開した合成磁界のベクトルをFc1という)から駆動磁界Fdを除去して共振磁界Frを取り出すためには、合成磁界Fc1から駆動磁界Fdに対して90°の位相差を有するベクトル成分を抽出する必要がある。
位置情報演算部53は、合成磁界Fc1から、キャリブレーション演算部51から出力された駆動磁界成分の位相に対応する駆動磁界Fd1に対して90°の位相差を有する共振磁界Fr1を分離し、この共振磁界Fr1に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
従来では、検出空間K内にカプセル内視鏡が導入されていない状態で磁界発生コイルを駆動して検出空間内に駆動磁界を形成し、この状態で検出コイルに検出された駆動磁界Fd0を予め求め、この駆動磁界Fd0の位相成分を、合成磁界Fc1から除去する駆動磁界として用いていた。
しかしながら、この従来の方法では、磁界発生コイルが実際に発生する駆動磁界が、磁界発生コイルの経時変化、温度変化およびLC共振回路との干渉などによって、矢印Y11のように、駆動磁界Fd0からΔDθずれた位相Dθ1の駆動磁界Fd1に変化した場合であっても、合成磁界Fcから除去する駆動磁界として駆動磁界Fd0を用いていた。したがって、従来の方法では、実際に磁界発生コイルが発生する駆動磁界の位相と除去する駆動磁界成分の位相とが異なってしまい、正確な分離が行えず、位置検出精度が悪化してしまうという問題があった。すなわち、従来の方法では、合成磁界Fc1から、磁界発生コイルD1が実際に発生する駆動磁界Fd1ではなく、予め求められていた駆動磁界Fd0に対して90°の位相差を有するベクトル成分を抽出し、この抽出したベクトル成分を共振磁界Fr0として取り出していた。このため、従来の方法では、駆動磁界発生部の経時変化、温度変化およびLC共振回路との干渉などによって、駆動磁界Fd0が駆動磁界Fd1に変化した場合であっても、この駆動磁界の変化が共振磁界の分離処理に反映されずに実際の共振磁界Fr1とは異なる磁界Fr0を用いて位置検出を行っていたため、位置検出精度が悪化してしまうという問題があった。
これに対して、本実施の形態1においては、変化前の駆動磁界Fd0ではなく、電流検出部32によって検出された磁界発生コイルD1に流れる駆動電流をもとに磁界発生コイルD1が現に発生している駆動磁界Fd1の位相を求めて、この求めた駆動磁界Fd1の位相を用いて共振磁界を分離している。したがって、本実施の形態1では、実際に磁界発生コイルD1が発生する駆動磁界の位相と除去する駆動磁界成分の位相とが異なることもなく、合成磁界Fc1から共振磁界Fr1を正しく分離することができる。このため、本実施の形態1では、磁界発生コイルD1の経時変化、温度変化およびLC共振回路との干渉などによって磁界発生コイルD1が発生する駆動磁界が変化した場合であっても、駆動磁界Fd1と共振磁界Fr1との分離を正確に行なうことができるため、精度よく検出体の位置を検出することができる。
また、本実施の形態1では、基準値として、実際に位置検出システム1においてカプセル内視鏡10が検出空間K内に位置しない状態での駆動磁界の検出値と駆動電流の検出値とを求めており、位置検出中においては、電流検出部32の検出値に加え、この基準値を用いて駆動磁界成分を求めている。言い換えると、基準値は、位置検出システム1の個体差、および位置検出システム1の周辺環境の影響を含んだものであり、位置検出システム1ごとにそれぞれ定まるものである。本実施の形態1では、この位置検出システム1ごとにそれぞれ求めた基準値を用いて位置検出を行っているため、位置検出システム1の個体差、および位置検出システム1の周辺環境の影響を除外した正確な位置検出結果を得ることができる。
次に、図4を参照して、図1に示す位置検出システム1における位置検出処理について説明する。図4は、図1に示す位置検出システム1における位置検出処理の処理手順を示すフローチャートである。
図4に示すように、位置検出システム1では、カプセル内視鏡10が検出空間K内に位置しない場合に各検出コイルSによって検出された駆動磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として取得する基準値取得処理を行なう(ステップS1)。この基準値取得処理は、位置検出ごとに行なう必要はなく、位置検出システム1の設置時、磁界発生コイルD1および検出コイルSの部品交換時に行えば足りる。また、一定の精度を保つために定期的に行なってもよい。
そして、位置検出システム1では、実際にカプセル内視鏡10を検出空間K内に配置した状態で、カプセル内視鏡10の位置検出処理を行なう。この場合、位置検出システム1では、キャリブレーション演算部51が、各検出コイルSによって検出された合成磁界のうち、駆動磁界成分の位相を算出するキャリブレーション演算処理を行なう(ステップS2)。次いで、位置情報演算部53は、検出コイルSによって検出された合成磁界から、キャリブレーション演算部51において算出された駆動磁界成分の位相に対して略直交する位相差を有する成分を求め、該求めた成分をもとに検出体の位置および方向を演算する位置演算処理を行なう(ステップS3)。この位置情報演算部53による位置および方向の演算結果は、制御部21に出力され、制御部21の制御のもと表示部24に出力される。
次いで、制御部21は、操作入力部23から入力された指示をもとに、位置検出処理を終了するか否かを判断する(ステップS4)。制御部21は、位置検出処理を終了しないと判断した場合(ステップS4:No)、位置検出継続のため、ステップS2に戻り、キャリブレーション演算処理を行なう。一方、制御部21は、位置検出処理を終了すると判断した場合(ステップS4:Yes)、位置検出終了にともない、磁界発生コイルD1、検出コイルS、変換部40および位置検出部50に対する制御処理も終了する。
次に、図4に示す基準値取得処理について説明する。図5は、図4に示す基準値取得処理の処理手順を示すフローチャートである。基準値取得処理においては、図5に示すように、まず、カプセル内視鏡10が検出空間K内に位置しないように、カプセル内視鏡10を検出空間K内から除去する(ステップS10)。そして、磁界発生コイルD1は、制御部21の制御のもと、所定条件で検出空間K内に駆動磁界を発生する駆動磁界出力処理を行ない、これにともない検出コイルSも磁界検出を開始する(ステップS11)。
そして、電流検出部32は、磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS12)。なお、電流検出部32は、各検出コイルSの磁界検出と同期して行なう。電流検出部32によって検出された駆動電流値は、A/D変換部41においてA/D変換され、さらにFFT演算部42においてフーリエ変換されることによって位置検出に使用する所定の周波数成分が分離された状態で実数値と虚数値とをキャリブレーション演算部51に出力される。キャリブレーション演算部51は、変換部40による変換後の電流検出部32によって検出された駆動電流値を基準電流値として取得する(ステップS13)。一方、各検出コイルSが検出した磁界に対応する各電圧値も同様に、A/D変換部41においてA/D変換され、FFT演算部42においてフーリエ変換されることによって位置検出に使用する所定の周波数成分にそれぞれ分離された状態で実数値と虚数値とをキャリブレーション演算部51に出力される。キャリブレーション演算部51は、変換部40による変換後の各検出コイルSによって検出された駆動磁界に対応する各電圧値を、各検出コイルSに対応した基準電圧値として取得する(ステップS14)。
そして、キャリブレーション演算部51は、取得した基準電流値の位相を算出する(ステップS17)。キャリブレーション演算部51は、基準電流値、各基準電圧値および基準電流値の位相を基準値としてメモリ52に記憶させて(ステップS18)、基準値取得処理を終了する。
次に、図4に示すキャリブレーション演算処理について説明する。図6は、図4に示すキャリブレーション演算処理の処理手順を示すフローチャートである。図6に示すように、キャリブレーション演算処理では、位置検出処理を開始するために、カプセル内視鏡10を体内に導入した被検体900を検出空間K内に移動させて、カプセル内視鏡10が検出空間K内に位置するようにカプセル内視鏡10を検出空間K内に設置する(ステップS20)。そして、磁界発生コイルD1は、制御部21の制御のもと、所定条件で検出空間K内に駆動磁界を発生する駆動磁界出力処理を開始し、これにともない、各検出コイルSは磁界検出処理を開始する(ステップS21)。なお、この各検出コイルSが検出した磁界に対応する電圧値は、A/D変換部41においてそれぞれA/D変換され、FFT演算部42においてフーリエ変換されることによって位置検出に使用する所定の周波数成分に分離され、各検出コイルSがそれぞれ検出した合成磁界として位置情報演算部53に出力される。
そして、電流検出部32は、磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS22)。なお、電流検出部32は、電流検出を各検出コイルSの磁界検出と同期して行なう。電流検出部32によって検出された駆動電流値は、A/D変換部41においてA/D変換され、さらにFFT演算部42においてフーリエ変換されることによって所定の周波数成分が分離された状態でキャリブレーション演算部51に出力される。キャリブレーション演算部51は、変換部40による変換後の電流検出部32によって検出された駆動電流値を取得し(ステップS23)、この駆動電流値の位相を算出する(ステップS24)。そして、キャリブレーション演算部51は、メモリ52内の各基準値を参照する(ステップS25)。
キャリブレーション演算部51は、算出した駆動電流値の位相と、参照した各基準値をもとに、各検出コイルSが検出した合成磁界における駆動磁界成分の位相を算出する(ステップS27)。そして、キャリブレーション演算部51は、算出した各位相、すなわち、各検出コイルSが検出した合成磁界における駆動磁界成分の各位相を位置情報演算部53に出力する(ステップS28)。位置情報演算部53は、合成磁界から、キャリブレーション演算部51から出力された駆動磁界成分の位相に対応する駆動磁界に対して90°の位相差を有する共振磁界を分離する分離処理を各検出コイルSによる検出結果ごとに行い、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
次に、ステップS27およびステップS28の演算処理について、各検出コイルSのうち検出コイルS1を例に説明する。なお、メモリ52に記憶された基準電流値の位相をDθ、検出コイルS1における基準電圧値の実数値をDR1、検出コイルS1における基準電圧値の虚数値DI1、および、電流検出部32において検出された駆動電流値の位相をDθ´とする。
まず、キャリブレーション演算部51は、基準電流値と駆動電流値との位相差ΔDθを以下の(1)式を用いることによって算出する。
Dθ´−Dθ=ΔDθ ・・・(1)
次いで、キャリブレーション演算部51は、(1)式で求めた位相差ΔDθと、基準電圧値とを用いて、検出コイルS1が検出した合成磁界の駆動磁界成分の位相に対応する駆動電圧値の実数値SR1´および虚数値SI1´を算出する。具体的には、以下の(2)式および(3)式を用いて、基準電圧値の各値に各基準電圧値の位相をΔDθ分加算することによって、駆動電圧値の実数値SR1´および虚数値SI1´を算出する。
SR1´=(SR1×coxΔθ−SI1×sinΔθ) ・・・(2)
SI1´=(SR1×sinΔθ+SI1×cosΔθ) ・・・(3)
そして、キャリブレーション演算部51は、(2)式および(3)式を用いて求めた駆動電圧値の実数値SR1´および虚数値SI1´をもとに、検出コイルS1における駆動電圧値の位相を算出する。キャリブレーション演算部51は、検出コイルS2〜S8についても同様にして、検出コイルS2〜S8における各駆動電圧値の位相を算出する。
位置検出システム1においては、図4〜図6に示した各処理手順を行なうことによって、各検出コイルSが検出した合成磁界を構成する駆動磁界成分として現に磁界発生コイルD1が発生する駆動磁界に対する駆動磁界成分の位相を求め、この求めた駆動磁界成分の位相をもとに合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離しているため、カプセル内視鏡10の位置を精度よく検出することができる。
(実施の形態1にかかる変形例1)
次に、実施の形態1の変形例1について説明する。実施の形態1の変形例1では、合成磁界から駆動磁界成分を減算することによって共振磁界を分離する場合について説明する。実施の形態1にかかる変形例1においては、キャリブレーション演算部51は、駆動磁界成分として駆動磁界成分に対応する駆動電圧値の位相に加え、駆動電圧値の振幅も求めている。
図7を参照して、本実施の形態1の変形例1における処理内容について説明する。図7(1)は、磁界発生コイルD1が発生する駆動磁界の強度に対する時間依存を示す図であり、図7(2)は、検出コイルSが検出した駆動磁界の強度に対する時間依存性を示す図である。図7(2)においては、カプセル内視鏡10が検出範囲K内に位置しない場合における検出コイルSの検出結果を示している。
この図7(1)の曲線Ld0に示すように、磁界発生コイルD1が所定周波数で駆動磁界を発生した場合、検出コイルSでは、図7(2)の曲線Ls0のように磁界発生コイルD1との距離や検出コイルSの特性に応じた時間T分だけずれた状態で、同周波数で駆動磁界を検出している。さらに、磁界発生コイルD1が振幅Kd0で駆動磁界を発生した場合、検出コイルSでは、振幅Ks0で駆動磁界を検出している。この磁界発生コイルD1が発生する駆動磁界の振幅Kd0と、検出コイルSが検出する駆動磁界の振幅Ks0との比は、磁界発生コイルD1の特性、検出コイルSの特性および磁界発生コイルD1と検出コイルSとの相対位置関係によって決まっている。したがって、磁界発生コイルD1が発生する駆動磁界が、経時変化によって、図7(1)の曲線Ld1に示すように、曲線Ld0と比較して、矢印Y21のようにΔDθ分ずれた位相で発生し、さらに、振幅がKd0からKd1に変化した場合には、検出コイルSにおいて検出される駆動磁界は、図7(2)の曲線Ls1に示すように、曲線Ls0と比較して、矢印Y22のようにΔDθ分ずれた位相となり、さらに、振幅は、Ks0を(Kd1/Kd0)倍したKs1となる。
このため、カプセル内視鏡10の位置検出のために現に磁界発生コイルD1が発生する駆動磁界の位相が、基準となる駆動磁界の位相から、どれだけ変化しているかとともに、カプセル内視鏡10の位置検出のために現に磁界発生コイルD1が発生する駆動磁界の振幅が、基準となる駆動磁界の振幅から、どれだけ変化しているかを求めれば、検出コイルSが検出した合成磁界のうち駆動磁界に対応する成分の位相および振幅を求めることができる。そして、検出コイルSが検出した合成磁界のうち一方の駆動磁界成分の位相および振幅を求めることによって、図7(3)の曲線Lc1に示す合成磁界から、曲線Ls1に示す駆動磁界成分を分離して、曲線Lr1に示すカプセル内視鏡10が発生する共振磁界成分を矢印Y23のように取得することができる。
ところで、磁界発生コイルD1における駆動磁界の位相と磁界発生コイルD1に流れる電流の位相とは同一であり、さらに、磁界発生コイルD1における駆動磁界の振幅と磁界発生コイルD1に流れる電流の振幅とは一定の比例関係を有している。このため、本実施の形態1の変形例1では、電流検出部32において、位置検出時に磁界発生コイルD1に流れる駆動電流を検出し、この駆動電流の振幅を求め、求めた振幅の、基準電流値の振幅に対する比を求め、求めた駆動電流の振幅の比を、基準電圧値の振幅に乗じて、各検出コイルSが検出する駆動磁界成分の振幅を取得している。
具体的には、実施の形態1にかかる変形例1では、実施の形態1と同様に、カプセル内視鏡10が検出空間K内に位置しない場合に検出コイルSによって検出された磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として用いている。そして、キャリブレーション演算部51は、カプセル内視鏡10に対する位置検出中に電流検出部32によって検出された駆動電流の検出値と、メモリ52に記憶した基準値とに基づいて駆動磁界成分の振幅および位相を算出する。キャリブレーション演算部51は、実施の形態1と同様に、メモリ52において基準値として記憶された駆動電流の検出値と、電流検出部32によって検出された磁界発生コイルD1に実際に流れている駆動電流の検出値との位相差を求め、駆動磁界成分の位相を算出する。さらに、キャリブレーション演算部51は、メモリ52において基準値として記憶された駆動電流の検出値と、電流検出部32によって検出された磁界発生コイルD1に実際に流れている駆動電流の検出値との振幅の比を求める。そして、キャリブレーション演算部51は、基準値として記憶された駆動磁界成分の振幅に、求めた振幅の比を乗じた値を求め、この値を、現に磁界発生コイルD1が発生する駆動磁界の駆動磁界成分の振幅として位置情報演算部53に出力する。
そして、位置情報演算部53は、図8に示すように、検出コイルSが検出した合成磁界Fc1から、キャリブレーション演算部51が出力した振幅および位相をもとに求められる駆動磁界Fd1を減算することによって、カプセル内視鏡10が発生する共振磁界Fr1を求める。そして、位置情報演算部53は、この共振磁界Fr1に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
従来では、検出空間K内にカプセル内視鏡10が導入されていない状態で磁界発生コイルD1を駆動して検出空間K内に駆動磁界を形成し、この状態で検出コイルSに検出された駆動磁界Fd0を予め求め、この駆動磁界Fd0を、合成磁界Fc1から減算する駆動磁界として用いていた。しかしながら、従来の方法では、磁界発生コイルD1から実際に発生する駆動磁界が、駆動磁界発生部の経時変化、温度変化およびLC共振回路との干渉などによって、矢印Y11のように、駆動磁界Fd0と位相および振幅が異なる駆動磁界Fd1に変化した場合であっても、合成磁界Fcから減算する駆動磁界として駆動磁界Fd0を用いていた。このため、従来では、この駆動磁界の変化が共振磁界の分離処理に反映されず、実際の共振磁界Fr1とは異なる磁界Fr2を用いて位置検出を行っていたため、位置検出精度が悪化してしまうという問題があった。
これに対して、本実施の形態1の変形例1においては、変化前の駆動磁界Fd0ではなく、電流検出部32によって検出された磁界発生コイルD1に流れる駆動電流をもとに磁界発生コイルD1が現に発生している駆動磁界の位相および振幅を求めて位置検出を行っているため、合成磁界Fc1から共振磁界Fr1を正しく分離することができ、実施の形態1と同様の効果を奏する。また、本実施の形態1の変形例1においても、位置検出中においては、電流検出部32の検出値と、基準値とを用いて駆動磁界成分を求めているため、位置検出システム1の個体差、および位置検出システム1の周辺環境の影響を除外した正確な位置検出結果を得ることができる。
次に、図9を参照して、実施の形態1の変形例1における位置検出処理について説明する。図9は、実施の形態1の変形例1における位置検出処理の処理手順を示すフローチャートである。
図9に示すように、実施の形態1の変形例1では、カプセル内視鏡10が検出空間K内に位置しない場合に各検出コイルSによって検出された駆動磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として取得する基準値取得処理を行なう(ステップS1−1)。この基準値取得処理は、位置検出ごとに行なう必要はなく、位置検出システム1の設置時、磁界発生コイルD1および検出コイルSの部品交換時に行えば足りる。また、一定の精度を保つために定期的に行なってもよい。
そして、実施の形態1の変形例1では、実際にカプセル内視鏡10を検出空間K内に配置した状態で、カプセル内視鏡10の位置検出処理を行なう。この場合、位置検出システム1では、キャリブレーション演算部51が、検出コイルSによって検出された合成磁界のうち、駆動磁界成分の振幅および位相を算出するキャリブレーション演算処理を行なう(ステップS2−1)。次いで、位置情報演算部53は、検出コイルSによって検出された合成磁界から、キャリブレーション演算部51において算出された駆動磁界成分の振幅および位相をもとに、検出コイルSによって検出された合成磁界と駆動磁界との差分を求め、該求めた差分をカプセル内視鏡10による共振磁界として、カプセル内視鏡10の位置および方向を演算する位置演算処理を行なう(ステップS3−1)。この位置情報演算部53による位置および方向の演算結果は、制御部21に出力され、制御部21の制御のもと表示部24に出力される。
そして、制御部21は、図4に示すステップS4と同様に、操作入力部23から入力された指示をもとに、位置検出処理を終了するか否かを判断する(ステップS4−1)。制御部21は、位置検出処理を終了しないと判断した場合(ステップS4−1:No)、位置検出継続のため、ステップS2−1に戻り、キャリブレーション演算処理を行なう。一方、制御部21は、位置検出処理を終了すると判断した場合(ステップS4−1:Yes)、位置検出終了にともない、磁界発生コイルD1、検出コイルS、変換部40および位置検出部50に対する制御処理も終了する。
次に、図9に示す基準値取得処理について説明する。図10は、図9に示す基準値取得処理の処理手順を示すフローチャートである。基準値取得処理においては、図10に示すように、まず、図5のステップS10およびステップS11と同様に、検出体であるカプセル内視鏡10を検出空間K内から除去後(ステップS10−1)、磁界発生コイルD1による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS11−1)。
そして、図5のステップS12と同様に、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS12−1)。電流検出部32によって検出された駆動電流値は、実施の形態1と同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において基準電流値として取得される(ステップS13−1)。一方、各検出コイルSが検出した磁界に対応する各電圧値も同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において各検出コイルSに対応した基準電圧値として取得される(ステップS14−1)。
そして、キャリブレーション演算部51は、取得した基準電流値の実数値と虚数値とをもとに基準電流値の振幅および位相を算出する(ステップS17−1)。キャリブレーション演算部51は、基準電流値、各基準電圧値、算出した基準電流値の振幅および位相を基準値としてメモリ52に記憶させて(ステップS18−1)、基準値取得処理を終了する。
次に、図9に示すキャリブレーション演算処理について説明する。図11は、図9に示すキャリブレーション演算処理の処理手順を示すフローチャートである。図11に示すように、キャリブレーション演算処理では、図6のステップS20およびステップS21と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS20−1)、磁界発生コイルD1による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS21−1)。この各検出コイルSが検出した磁界に対応する電圧値は、変換部40において位置検出に使用する所定の周波数成分に分離され、各検出コイルSがそれぞれ検出した合成磁界として位置情報演算部53に出力される。
そして、図6のステップS22と同様に、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS22−1)。そして、電流検出部32によって検出された駆動電流値は、図6のステップS23と同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において駆動電流値として取得される(ステップS23−1)。
次いで、キャリブレーション演算部51は、この駆動電流値の振幅および位相を算出する(ステップS24−1)。そして、キャリブレーション演算部51は、メモリ52内の各基準値を参照する(ステップS25−1)。
キャリブレーション演算部51は、算出した駆動電流値の振幅および位相と、参照した各基準値をもとに、各検出コイルSが検出した合成磁界における駆動磁界成分の振幅および位相を算出する(ステップS27−1)。そして、キャリブレーション演算部51は、算出した各振幅および各位相、すなわち、各検出コイルSが検出した合成磁界における駆動磁界成分の各振幅および各位相を位置情報演算部53に出力する(ステップS28−1)。位置情報演算部53は、合成磁界から、キャリブレーション演算部51から出力された駆動磁界成分の振幅および位相に対応する駆動磁界を減算して共振磁界を分離する分離処理を各検出コイルSによる検出結果ごとに行い、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
次に、ステップS27−1およびステップS28−1の演算処理について、各検出コイルSのうち検出コイルS1を例に説明する。なお、メモリ52に記憶された基準電流値の位相をDθ、基準電流値の振幅をDX、検出コイルS1における基準電圧値の実数値をSR1、検出コイルS1における基準電圧値の虚数値をSI1、電流検出部32において検出された駆動電流値の位相をDθ´、および、駆動電流値の振幅をDX´とする。
キャリブレーション演算部51は、実施の形態1と同様に、上記(1)式を用いて、基準電流値と駆動電流値との位相差ΔDθを算出する。次いで、キャリブレーション演算部51は、以下の(4)式を用いて、基準電流値の振幅と駆動電流値の振幅との比Kxを算出する。
DX´/DX=Kx ・・・(4)
次いで、キャリブレーション演算部51は、(1)式で求めた位相差ΔDθおよび(4)式で求めた振幅比Kxと、基準電圧値とを用いて、検出コイルS1が検出した合成磁界の駆動磁界成分に対応する駆動電圧値の実数値SR1´および虚数値SI1´を算出する。具体的には、以下の(5)式および(6)式を用いて、基準電圧値の各値に各基準電圧値の位相をΔDθ分加算した後、振幅比Kxを乗じることによって、駆動電圧値の実数値SR1´および虚数値SI1´を算出する。
SR1´=Kx×(SR1×coxΔθ−SI1×sinΔθ)
・・・(5)
SI1´=Kx×(SR1×sinΔθ+SI1×cosΔθ)
・・・(6)
そして、キャリブレーション演算部51は、(5)式および(6)式を用いて求めた駆動電圧値の実数値DR1´および虚数値DI1´をもとに、検出コイルS1における駆動電圧値の振幅および位相を算出する。キャリブレーション演算部51は、検出コイルS2〜S8についても同様にして、検出コイルS2〜S8における各駆動電圧値の振幅および位相を算出する。
このように、実施の形態1の変形例1では、図9〜図11に示した各処理手順を行なうことによって、各検出コイルSが検出した合成磁界を構成する駆動磁界成分として、現に磁界発生コイルD1が発生する駆動磁界に対する駆動磁界成分の振幅および位相を求め、この求めた駆動磁界成分の振幅および位相をもとに合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離しているため、カプセル内視鏡10の位置を精度よく検出することができる。
(実施の形態1の変形例2)
次に、実施の形態1の変形例2について説明する。実施の形態1の変形例2では、基準値ではなく、予め用意された磁界発生コイルの特性、各磁界検出コイルの特性、磁界発生コイルと磁界検出コイルとの相対位置情報を用いて、駆動磁界成分の実数値と虚数値とをシミュレーションにより算出する。
図12を参照して、実施の形態1の変形例2における位置検出処理について説明する。図12は、実施の形態1の変形例2における位置検出処理の処理手順を示すフローチャートである。
図12に示すように、実施の形態1の変形例2では、図4および図9に示す基準値取得処理を削除し、キャリブレーション演算部51によるキャリブレーション演算処理(ステップS2−2)、位置情報演算部53による位置演算処理(ステップS3−2)、および、制御部21による位置検出終了判断処理が行われる(ステップS4−2)。なお、制御部21は、位置検出処理を終了しないと判断した場合(ステップS4−2:No)、位置検出継続のため、ステップS2−2に戻り、キャリブレーション演算処理を行なう。一方、制御部21は、位置検出処理を終了すると判断した場合(ステップS4−2:Yes)、位置検出終了にともない、磁界発生コイルD1、検出コイルS、変換部40および位置検出部50に対する制御処理も終了する。
次に、図12に示すキャリブレーション演算処理について説明する。図13は、図12に示すキャリブレーション演算処理の処理手順を示すフローチャートである。図12に示すように、キャリブレーション演算処理では、図6のステップS20およびステップS21と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS20−2)、磁界発生コイルD1による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS21−2)。この各検出コイルSが検出した磁界に対応する電圧値は、変換部40において位置検出に使用する所定の周波数成分に分離され、各検出コイルSがそれぞれ検出した合成磁界として位置情報演算部53に出力される。
そして、図6のステップS22と同様に、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS22−2)。そして、電流検出部32によって検出された駆動電流値は、図6のステップS23と同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において駆動電流値として取得される(ステップS23−2)。
次に、キャリブレーション演算部51は、磁界発生コイルD1の特性、各磁界検出コイルSの特性、磁界発生コイルD1と磁界検出コイルSとの各相対位置情報を取得する(ステップS25−2)。これらの各情報は、予め求められ、たとえばメモリ52内において記憶される。そして、キャリブレーション演算部51は、取得した磁界発生コイルD1の特性、各磁界検出コイルSの特性、磁界発生コイルD1と各磁界検出コイルSとの各相対位置情報と、駆動電流値とをもとに、各検出コイルSにおける駆動磁界成分の実数値と虚数値とをシミュレーションにより算出する(ステップS26−2)。
そして、キャリブレーション演算部51は、算出した各検出コイルSにおける駆動磁界成分の実数値と虚数値とをもとに、各検出コイルSにおける駆動磁界成分の位相を算出する(ステップS27−2)。なお、キャリブレーション演算部51は、ステップS27−2において、各検出コイルSにおける駆動磁界成分の位相および振幅を算出してもよい。そして、キャリブレーション演算部51は、算出した各検出コイルSが検出した合成磁界における駆動磁界成分の各位相を位置情報演算部53に出力する(ステップS28−2)。位置情報演算部53は、キャリブレーション演算部51から出力された駆動磁界成分の位相、または、キャリブレーション演算部51から出力された駆動磁界成分の振幅および位相を用いて、各検出コイルSが検出した合成磁界から共振磁界を分離し、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
このように、シミュレーションによって磁界発生コイルD1が実際に発生する駆動磁界成分を求めた場合も、合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離できるため、カプセル内視鏡10の位置を精度よく検出することができる。
(実施の形態1の変形例3)
次に、実施の形態1の変形例3について説明する。実施の形態1の変形例3においては、磁界発生コイルによる駆動磁界の各位相に対する検出コイルの検出値と電流検出部の検出値とをそれぞれ対応させたLUT(ルックアップテーブル)を予め作成し、位置検出時には、このLUTを参照して、合成磁界における駆動磁界成分を求める。
この場合、制御部21は、実際に、磁界発生コイルD1に、それぞれ異なる位相で駆動磁界を発生させ、各検出コイルおよび電流検出部32に検出処理をそれぞれ行なわせる。そして、制御部21は、磁界発生コイルD1が発生した駆動磁界の各位相ごとに、各検出コイルSによって検出された磁界の各検出値と、電流検出部32によって検出された駆動電流の各検出値とを取得する。メモリ52は、磁界発生コイルD1が発生した駆動磁界の各位相ごとに、取得した各検出コイルSによって検出された磁界の各検出値と、電流検出部32によって検出された駆動電流の各検出値とを対応付けた対応関係であるLUTを記憶する。さらに、キャリブレーション演算部51は、位置検出処理中に、電流検出部32によって検出された駆動電流の検出値と、メモリ52によって記憶されたLUTとに基づいて、各検出コイルSが検出した合成磁界における駆動磁界に対応する駆動磁界成分の位相を算出する。
図14を参照して、実施の形態1の変形例3における位置検出処理について説明する。図14は、実施の形態1の変形例3における位置検出処理の処理手順を示すフローチャートである。
図14に示すように、実施の形態1の変形例3では、図4および図9に示す基準値取得処理に代えて、キャリブレーションデータテーブル作成処理(ステップS1−3)を行う。このキャリブレーションデータテーブル作成処理では、磁界発生コイルによる駆動磁界の各位相に対する検出コイルの検出値と電流検出部の検出値とをそれぞれ対応させたLUTを作成する。次いで、キャリブレーション演算部51は、電流検出部32によって検出された駆動電流の検出値と、メモリ52によって記憶されたLUTとに基づいて、各検出コイルSが検出した合成磁界における駆動磁界に対応する駆動磁界成分の位相を算出するキャリブレーションデータ取得処理(ステップS2−3)を行う。そして、図4に示すステップS3およびステップS4と同様に、位置情報演算部53による位置演算処理(ステップS3−3)、および、制御部21による位置検出終了判断処理が行われる(ステップS4−3)。なお、制御部21は、位置検出処理を終了しないと判断した場合(ステップS4−3:No)、位置検出継続のため、ステップS2−3に戻り、キャリブレーションデータ取得処理を行なう。一方、制御部21は、位置検出処理を終了すると判断した場合(ステップS4−3:Yes)、位置検出終了にともない、磁界発生コイルD1、検出コイルS、変換部40および位置検出部50に対する制御処理も終了する。
次に、図14に示すキャリブレーションデータテーブル作成処理について説明する。図15は、図14に示すキャリブレーションデータテーブル作成処理の処理手順を示すフローチャートである。
図15に示すように、検出体であるカプセル内視鏡10を検出空間K内から除去する(ステップS10−3)。次いで、磁界発生コイルD1による駆動磁界出力および各検出コイルSによる磁界検出が開始される(ステップS11−3)。まず、磁界発生コイルD1は、所定の初期条件にて駆動磁界を発生する。電流検出部32は、図5のステップS12と同様に、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS12−3)。電流検出部32によって検出された駆動電流値は、実施の形態1と同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において、磁界発生コイルD1が発生する駆動磁界の位相に対応する基準電流値として取得される(ステップS13−3)。一方、各検出コイルSが検出した磁界に対応する各電圧値も同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において各検出コイルSに対応した基準電圧値であって磁界発生コイルD1が発生する駆動磁界の位相に対応する基準電圧値として取得される(ステップS14−3)。
キャリブレーション演算部51は、取得した基準電流値に対応する駆動磁界の位相として、取得した基準電圧値の位相を算出する(ステップS15−3)。キャリブレーション演算部51は、駆動磁界の位相として算出した基準電圧値の位相を、基準電流値に対応付けて記憶する(ステップS16−3)。
その後、制御部21は、取得対象の全位相に対して基準値を全て取得したか否かを判断する(ステップS17−3)。制御部21は、取得対象の全位相に対して基準値を全て取得していないと判断した場合には(ステップS17−3:No)、磁界発生コイルD1に流れる駆動電流値の位相を次に取得対象である基準電流値の位相に変更する(ステップS18−3)。そして、ステップS11−3に戻り、磁界発生コイルD1は、磁界発生コイルD1に流れる駆動電流の位相が、この位相となるように、磁界発生コイルD1に駆動磁界を発生するとともに、検出コイルSも磁界検出を開始する(ステップS11−3)。その後、位置検出システム1は、ステップS12−3〜ステップS16−3に示す各処理を行ない、この位相に対応する基準電流値、および基準電圧値の位相を求め、基準電圧値の位相を駆動磁界の位相として、基準電流値の位相に対応付けて記憶する。
これに対し、制御部21が、取得対象の全位相に対して基準値を全て取得したと判断した場合には(ステップS17−3:Yes)、キャリブレーション演算部51は、電流検出部32の検出値に対する駆動磁界の各位相をそれぞれ対応させたLUTを作成し(ステップS19−3)、メモリ52にこのLUTを記憶させる。このLUTは、基準電流値と駆動磁界の各位相とが対応付けられたものとなる。
次に、図14に示すキャリブレーションデータ取得処理について説明する。図16は、図14に示すキャリブレーションデータ取得処理の処理手順を示すフローチャートである。
図16に示すように、キャリブレーションデータ取得処理では、図6のステップS20およびステップS21と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS20−3)、磁界発生コイルD1による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS21−3)。この各検出コイルSが検出した磁界に対応する電圧値は、変換部40において位置検出に使用する所定の周波数成分に分離され、各検出コイルSがそれぞれ検出した合成磁界として位置情報演算部53に出力される。
そして、図6のステップS22と同様に、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS22−3)。そして、電流検出部32によって検出された駆動電流値は、図6のステップS23と同様に、変換部40において所定の周波数成分が分離され、キャリブレーション演算部51において駆動電流値として取得される(ステップS23−3)。キャリブレーション演算部51は、図6に示すステップS24と同様に、この駆動電流値の位相を算出する(ステップS24−3)。
そして、キャリブレーション演算部51は、メモリ52内のLUTを参照する(ステップS25−3)。キャリブレーション演算部51は、参照したLUTから、算出した駆動電流値の位相に対応する各検出コイルSの駆動磁界成分の位相を取得する(ステップS27−3)。キャリブレーション演算部51は、取得した各位相を、各検出コイルSが検出した合成磁界における駆動磁界成分の各位相として位置情報演算部53に出力して(ステップS28−3)、キャリブレーションデータ取得処理を終了する。位置情報演算部53は、キャリブレーション演算部51から出力された駆動磁界成分の位相を用いて、各検出コイルSが検出した合成磁界から共振磁界を分離し、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
このように、予めLUTを作成し、このLUTを参照して磁界発生コイルD1が実際に発生する駆動磁界成分を求めた場合も、合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離できるため、カプセル内視鏡10の位置を精度よく検出することができる。
なお、本実施の形態1の変形例3は、駆動磁界成分の位相とともに駆動磁界成分の振幅をもとに各検出コイルSが検出した合成磁界から共振磁界を分離する方法にも適用可能である。
この場合、キャリブレーションデータテーブル作成処理では、ステップS11−3において位相とともに振幅も変えて磁界発生コイルD1による駆動磁界出力処理を行ない、ステップS15−3においては、基準電圧値の位相とともに振幅も算出し、ステップS19−3においては、基準電圧値に基準電圧値の振幅および位相をそれぞれ対応させたLUTを作成する。
また、キャリブレーションデータ取得処理では、キャリブレーション演算部51は、ステップS24−3においては、図11に示すステップS24−1と同様に、この駆動電流値の振幅および位相を算出し、ステップS27−3においては、参照したLUTから、算出した駆動電流値の振幅および位相に対応する各検出コイルSの駆動磁界成分の振幅および位相を取得後、ステップS28−3においては、取得した各振幅および各位相を出力する。位置情報演算部53は、ステップS3−3においては、キャリブレーション演算部51において算出された駆動磁界成分の振幅および位相をもとに、検出コイルSによって検出された合成磁界と駆動磁界との差分を求め、該求めた差分をカプセル内視鏡10による共振磁界として、カプセル内視鏡10の位置および方向を演算する位置演算処理を行なう。
(実施の形態1の変形例4)
次に、実施の形態1の変形例4について説明する。実施の形態1の変形例4では、磁界発生コイルD1における駆動磁界の位相と磁界発生コイルD1に流れる駆動電流の位相とは同一であるため、キャリブレーション演算部51は、電流検出部32によって検出された駆動電流の位相を、磁界検出コイルSによって検出された合成磁界の検出値における駆動磁界の成分の位相として出力する。
実施の形態1の変形例4における位置検出処理について説明する。実施の形態1の変形例4では、図4のステップS2に示す検出コイルSによって検出された合成磁界のうち駆動磁界成分の位相を算出するキャリブレーション演算処理を行なった後、図4のステップS3に示す位置情報演算部53による位置演算処理、および、図4のステップS4に示す制御部21による位置検出終了判断処理が行われる。
次に、実施の形態1の変形例4におけるキャリブレーション演算処理について説明する。図17は、実施の形態1の変形例4におけるキャリブレーション演算処理の処理手順を示すフローチャートである。
図17に示すように、実施の形態1の変形例4におけるキャリブレーション演算処理においては、図6のステップS20およびステップS21と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS20−4)、磁界発生コイルD1による駆動磁界出力および各検出コイルSによる磁界検出が開始される(ステップS21−4)。そして、図6のステップS22と同様に、電流検出部32は、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS22−4)。電流検出部32によって検出された駆動電流値は、図6のステップS23と同様に、キャリブレーション演算部51において駆動電流値として取得される(ステップS23−4)。次いで、キャリブレーション演算部51は、図6のステップS24と同様に、この駆動電流値の位相を算出する(ステップS24−4)。そして、キャリブレーション演算部51は、電流検出部32によって検出された駆動電流の位相を、磁界検出コイルSによって検出された合成磁界の検出値における駆動磁界の成分の位相として出力する(ステップS28−4)。位置情報演算部53は、キャリブレーション演算部51から出力された駆動磁界成分の位相を用いて、各検出コイルSが検出した合成磁界から共振磁界を分離し、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
磁界発生コイルD1における駆動磁界の位相と磁界発生コイルD1に流れる駆動電流の位相とは略同一であるため、実施の形態1の変形例4においても、実施の形態1と同様に、合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離できる。
(実施の形態2)
次に、実施の形態2について説明する。図18は、本実施の形態2による位置検出システム201の概略構成を示す模式図である。図18に示すように、本実施の形態2にかかる位置検出システム201は、検出空間K内に略均一な駆動磁界を形成する複数の磁界発生コイルD1,D2を備えるとともに、各磁界発生コイルD1,D2にそれぞれ対応する駆動信号生成部31a,31bおよび電流検出部32a,32bを備える。
そして、位置検出システム201は、図1に示す外部装置20に代えて、外部装置220を備える。外部装置220は、図1に示す制御部21に代えて制御部221を有し、図1に示す駆動コイル入力信号調整部30に代えて駆動コイル入力信号調整部230を有し、図1に示す変換部40に代えて変換部240を有し、図1に示す位置検出部50に代えて位置検出部250を有する。
制御部221は、外部装置220内の各部を制御する。駆動コイル入力信号調整部230は、磁界発生コイルD1,D2の駆動に用いる信号の振幅や位相を調整する。各駆動信号生成部31a,31bは、駆動コイル入力信号調整部230からの制御に従って磁界発生コイルD1または磁界発生コイルD2に入力する駆動信号を生成する。変換部240は、A/D変換部41と同様に、複数の検出コイルSおよび電流検出部32a,32bの各検出信号をA/D変換するA/D変換部241と、FFT演算部42と同様に、各検出コイルSにおいて検出された各合成磁界成分と、電流検出部32a,32bにおいて検出された駆動電流とを示すFFTデータを生成するFFT演算部242とを有する。位置検出部250は、電流検出部32a,32bによって検出された駆動電流の検出値に基づいて、検出コイルSによって検出された合成磁界成分の検出値における駆動磁界成分の位相を算出するキャリブレーション演算部251、所定の基準値を記憶するメモリ52、および、検出コイルSによって検出された検出結果とキャリブレーション演算部251において算出された算出結果をもとにカプセル内視鏡10の位置および方向を算出する位置情報演算部253を有する。
さらに、各磁界発生コイルD1,D2には、それぞれ切替スイッチ254a,254bが設けられている。切替スイッチ254aは、磁界発生コイルD1のコイルの閉ループをオープンに切り替え、切替スイッチ254bは、磁界発生コイルD2のコイルの閉ループをオープンに切り替える。キャリブレーション演算部251は、各磁界発生コイルD1,D2の各基準値を取得する場合には、各切替スイッチ254a,254bに対し、基準値の取得対象である磁界発生コイル以外の磁界発生コイルの閉ループをオープンにさせる。
この磁界発生コイルを複数有する位置検出システム201においては、各基準値を取得する場合には、基準値の取得対象である磁界発生コイル以外の磁界発生コイルの閉ループをオープンにすることによって、磁界発生コイルD1,D2間の干渉の影響を除去して、各磁界発生コイルごとに正しい各基準値を取得している。
次に、位置検出システム201における位置検出処理について説明する。図19は、図18に示す位置検出システム201における位置検出処理の処理手順を示すフローチャートである。
図19に示すように、位置検出システム201では、カプセル内視鏡10が検出空間K内に位置しない場合に各検出コイルSによって検出された駆動磁界の検出値と電流検出部32によって検出された駆動電流の検出値とを基準値として取得する基準値取得処理を行なう(ステップS201)。このステップS201においては、各磁界発生コイルごとに各基準値を取得する。そして、キャリブレーション演算部251が、各検出コイルSによって検出された合成磁界のうち、駆動磁界成分の位相を算出するキャリブレーション演算処理を行なう(ステップS202)。次いで、位置情報演算部253は、各検出コイルSによって検出された合成磁界から、キャリブレーション演算部251において算出された駆動磁界成分の位相に対して略直交する位相差を有する成分を求め、該求めた成分をもとに検出体の位置および方向を演算する位置演算処理を行なう(ステップS203)。その後、図4のステップS4と同様に、制御部221による位置検出終了判断処理が行われる(ステップS204)。なお、制御部221は、位置検出処理を終了しないと判断した場合(ステップS204:No)、位置検出継続のため、ステップS202に戻り、キャリブレーション演算処理を行なう。一方、制御部221は、位置検出処理を終了すると判断した場合(ステップS204:Yes)、位置検出終了にともない、磁界発生コイルD1,D2、検出コイルS、変換部240および位置検出部250に対する制御処理も終了する。
次に、図19に示す基準値取得処理について説明する。図20は、図19に示す基準値取得処理の処理手順を示すフローチャートである。図20に示すように、検出体であるカプセル内視鏡10を検出空間K内から除去する(ステップS210)。まず、磁界発生コイルD1の基準値を取得するために、キャリブレーション演算部251は、磁界発生コイルD1,D2を識別する識別番号nを初期化し、n=1とする(ステップS211)。次いで、キャリブレーション演算部251は、磁界発生コイルDn以外をオープンに切り替える(ステップS212)。この場合、磁界発生コイルD1,D2を識別する識別番号nは1であるため、キャリブレーション演算部251は、磁界発生コイルD1以外の磁界発生コイルD2の閉ループをオープンにするように切替スイッチ254bを制御する。この結果、検出空間K内に形成される磁界は、磁界発生コイルD1による駆動磁界のみとなる。
次いで、磁界発生コイルD1に対する基準値を取得するための各処理を行なう。このため、位置検出システム201では、磁界発生コイルD1から駆動磁界を出力させ(ステップS213)、検出コイルSによる磁界検出を開始する(ステップS214)。次いで、電流検出部32aは、各検出コイルSの磁界検出と同期して磁界発生コイルD1に流れる駆動電流の電流値を検出する(ステップS215)。電流検出部32aによって検出された駆動電流値は、変換部240において所定の周波数成分が分離され、キャリブレーション演算部251において磁界発生コイルD1の基準電流値として取得される(ステップS216)。一方、各検出コイルSが検出した磁界に対応する各電圧値も同様に、変換部240において所定の周波数成分が分離され、キャリブレーション演算部251において、磁界発生コイルD1に対応する各検出コイルSの基準電圧値として取得される(ステップS217)。
そして、キャリブレーション演算部251は、取得した磁界発生コイルD1に対応する基準電流値をもとに磁界発生コイルD1に対応する基準電流値の位相を算出する(ステップS220)。キャリブレーション演算部251は、基準電流値、基準電圧値および基準電流値の位相の各基準値を磁界発生コイルD1に対応する基準値としてメモリ52に記憶させて(ステップS221)、磁界発生コイルD1に対応する基準値取得処理を終了する。
次に、キャリブレーション演算部251は、磁界発生コイルD1,D2を識別する識別番号nと最大値Nとを比較して、n=Nであるか否かを判断する(ステップS222)。キャリブレーション演算部251は、n=Nでないと判断した場合(ステップS222:No)、nに1を加算してn=n+1とし(ステップS223)、磁界発生コイルD2に対する基準値を取得するための各処理を行なう。このため、ステップS212に戻り、キャリブレーション演算部251は、磁界発生コイルD2以外の磁界発生コイルD1の閉ループをオープンにするように切替スイッチ254aを制御し、検出空間K内に形成される磁界が、磁界発生コイルD2による駆動磁界のみとする。そして、磁界発生コイルD2から駆動磁界を出力させた後(ステップS213)、ステップS214〜ステップS220の各処理を行ない、磁界発生コイルD2に対する基準値を取得する。一方、キャリブレーション演算部251は、n=Nであると判断した場合(ステップS222:Yes)、基準値取得処理を終了する。
次に、図19に示すキャリブレーション演算処理について説明する。図21は、図19に示すキャリブレーション演算処理の処理手順を示すフローチャートである。図21に示すように、キャリブレーション演算処理では、図6のステップS20と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS230)、磁界発生コイルD1,D2による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS231)。この各検出コイルSが検出した磁界に対応する電圧値は、変換部240において位置検出に使用する所定の周波数成分に分離され、各検出コイルSがそれぞれ検出した合成磁界として位置情報演算部253に出力される。
そして、電流検出部32a,32bは、各検出コイルSの磁界検出と同期して各磁界発生コイルD1,D2に流れる駆動電流の電流値をそれぞれ検出する(ステップS232)。そして、電流検出部32によって検出された各駆動電流値は、変換部240において所定の周波数成分が分離され、キャリブレーション演算部251において各磁界発生コイルD1,D2に対応する駆動電流値として取得される(ステップS233)。
次いで、キャリブレーション演算部251は、この磁界発生コイルD1,D2に対応する各駆動電流値の位相をそれぞれ算出する(ステップS234)。そして、キャリブレーション演算部251は、メモリ52内の各磁界発生コイルD1,D2に対応する各基準値を参照する(ステップS235)。
キャリブレーション演算部251は、算出した各駆動電流値の位相と、参照した各磁界発生コイルD1,D2に対応する各基準値をもとに、各磁界発生コイルD1,D2ごとに、各検出コイルSが検出した合成磁界における各駆動磁界成分の実数値と虚数値とを算出する(ステップS236)。次いで、キャリブレーション演算部251は、各磁界発生コイルD1,D2に対応する各駆動磁界成分の実数値と虚数値とをもとに、この各磁界発生コイルD1,D2の駆動磁界成分を合成する処理を各検出コイルSごとに行ない(ステップS237)、ステップS237において合成した駆動磁界成分の位相を各検出コイルごとに算出する(ステップS238)。その後、キャリブレーション演算部251は、算出した各検出コイルSの検出による合成磁界における磁界発生コイルD1,D2の駆動磁界成分の位相を位置情報演算部253に出力する(ステップS239)。位置情報演算部253は、合成磁界から、キャリブレーション演算部251から出力された駆動磁界成分の位相に対応する駆動磁界に対して90°の位相差を有する共振磁界を分離する分離処理を各検出コイルSによる検出結果ごとに行い、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
次に、ステップS237およびステップS238の演算処理について、各検出コイルSのうち検出コイルS1を例に説明する。なお、メモリ52に記憶された基準電流値の位相のうち磁界発生コイルD1に対応する位相をDθ、磁界発生コイルD2に対応する位相をDφ、検出コイルS1における基準電圧値のうち磁界発生コイルD1に対応する基準電圧値の実数値をDR1、虚数値をDI1、磁界発生コイルD2に対応する基準電圧値の実数値をDR2、虚数値DI2、および、電流検出部32aにおいて検出された磁界発生コイルD1に対応する駆動電流値の位相をDθ´、電流検出部32bにおいて検出された磁界発生コイルD2に対応する駆動電流値の位相をDφ´とする。
ステップS236に対応する処理として、まず、キャリブレーション演算部251は、磁界発生コイルD1に対応する基準電流値と駆動電流値との位相差ΔDθを以下の(11−1)式を用いることによって算出する。
Dθ´−Dθ=ΔDθ ・・・(11−1)
さらに、キャリブレーション演算部251は、磁界発生コイルD2に対応する基準電流値と駆動電流値との位相差ΔDφを以下の(11−2)式を用いることによって算出する。
Dφ´−Dφ=ΔDφ ・・・(11−2)
次いで、キャリブレーション演算部251は、(11−1)式で求めた位相差ΔDθと、磁界発生コイルD1に対応する基準電圧値とを用いて、検出コイルS1が検出した合成磁界のうち磁界発生コイルD1の駆動磁界成分に対応する駆動電圧値の実数値DR1´および虚数値DI1´を算出する。具体的には、以下の(12−1)式および(13−1)式を用いて、磁界発生コイルD1に対応する基準電圧値の各値に各基準電圧値の位相をΔDθ分加算することによって、駆動電圧値の実数値DR1´および虚数値DI1´を算出する。
DR1´=(DR1×coxΔθ−DI1×sinΔθ)
・・・(12−1)
DI1´=(DR1×sinΔθ+DI1×cosΔθ)
・・・(13−1)
同様に、キャリブレーション演算部251は、(11−2)式で求めた位相差ΔDφと、磁界発生コイルD2に対応する基準電圧値とを用いて、検出コイルS1が検出した合成磁界のうち磁界発生コイルD2の駆動磁界成分に対応する駆動電圧値の実数値DR2´および虚数値DI2´を算出する。具体的には、以下の(12−2)式および(13−2)式を用いて、磁界発生コイルD2に対応する基準電圧値の各値に各基準電圧値の位相をΔDφ分加算することによって、駆動電圧値の実数値DR2´および虚数値DI2´を算出する。
DR2´=(DR2×coxΔφ−DI2×sinΔφ)
・・・(12−2)
DI2´=(DR2×sinΔφ+DI2×cosΔφ)
・・・(13−2)
次いで、ステップS237に対応する処理として、(12−1)式、(12−2)式、(13−1)式および(13−2)式によって算出された各磁界発生コイルD1,D2に対応する駆動磁界成分の実数値DR1´,DR2´と虚数値DI1´,DI2´と、以下の(14−1)式および(14−2)式を用いて、磁界発生コイルD1,D2の駆動磁界成分を合成した駆動電圧値の実数値SR1虚数値SI1とを求める。
SR1=DR1´+DR2´ ・・・(14−1)
SI1=DI1´+DI2´ ・・・(14−2)
そして、キャリブレーション演算部251は、磁界発生コイルD1,D2の各駆動磁界成分を合成した磁界を検出コイルS1における駆動磁界成分として、この駆動磁界成分に対応する駆動電圧値の実数値SR2´、虚数値SI2´をもとに、検出コイルS1における駆動電圧値の位相を算出する。キャリブレーション演算部251は、検出コイルS2〜S8についても同様にして、検出コイルS2〜S8における各駆動電圧値の位相を算出する。
位置検出システム201においては、図19〜図21に示した各処理手順を行なうことによって、磁界発生コイルD1,D2間の干渉の影響を除去して、各磁界発生コイルD1,D2ごとに正しい各基準値を取得している。さらに、位置検出システム201においては、この各磁界発生コイルD1,D2にそれぞれ対応する各基準値と、各電流検出部32a,32bがそれぞれ検出した駆動電流値とをもとに、現に磁界発生コイルD1,D2が発生する駆動磁界成分の位相を求めて、合成磁界からカプセル内視鏡10が発生する共振磁界を正確に分離しているため、カプセル内視鏡10の位置を精度よく検出することができる。
(実施の形態2の変形例1)
次に、実施の形態2の変形例1について説明する。実施の形態2の変形例1では、駆動磁界成分として駆動磁界成分に対応する駆動電圧値の位相に加え、駆動電圧値の振幅も求め、合成磁界から駆動磁界成分を減算することによって共振磁界を分離する場合について説明する。
実施の形態2の変形例1における位置検出処理について説明する。図22は、実施の形態2の変形例1における位置検出処理の処理手順を示すフローチャートである。図22に示すように、実施の形態2の変形例1では、カプセル内視鏡10が検出空間K内に位置しない場合に各検出コイルSによって検出された駆動磁界の検出値と電流検出部32a,32bによって検出された駆動電流の検出値とを基準値として取得する基準値取得処理を行なう(ステップS201−1)。このステップS201−1においては、各磁界発生コイルごとに各基準値を取得する。そして、キャリブレーション演算部251が、各検出コイルSによって検出された合成磁界のうち、駆動磁界成分の振幅および位相を算出するキャリブレーション演算処理を行なう(ステップS202−1)。次いで、位置情報演算部253は、各検出コイルSによって検出された合成磁界から、キャリブレーション演算部251において算出された駆動磁界成分の振幅および位相をもとに、検出コイルSによって検出された合成磁界と駆動磁界との差分を求め、該求めた差分をカプセル内視鏡10による共振磁界として、カプセル内視鏡10の位置および方向を演算する位置演算処理を行なう(ステップS203−1)。その後、図4のステップS4と同様に、制御部221による位置検出終了判断処理が行われる(ステップS204−1)。なお、制御部221は、位置検出処理を終了しないと判断した場合(ステップS204−1:No)、位置検出継続のため、ステップS202−1に戻り、キャリブレーション演算処理を行なう。一方、制御部221は、位置検出処理を終了すると判断した場合(ステップS204−1:Yes)、位置検出終了にともない、磁界発生コイルD1,D2、検出コイルS、変換部240および位置検出部250に対する制御処理も終了する。
次に、図22に示す基準値取得処理について説明する。図23は、図22に示す基準値取得処理の処理手順を示すフローチャートである。図23に示すように、検出体であるカプセル内視鏡10を検出空間K内から除去する(ステップS210−1)。まず、磁界発生コイルD1の基準値を取得するために、キャリブレーション演算部251は、図20のステップS211と同様に、識別番号nを初期化し、n=1とし(ステップS211−1)、磁界発生コイルDn以外をオープンに切り替える(ステップS212−1)。キャリブレーション演算部251は、磁界発生コイルD1以外の磁界発生コイルD2の閉ループをオープンにするように切替スイッチ254bを制御する。
次いで、磁界発生コイルD1に対する基準値を取得するための各処理を行なう。このため、図20に示すステップS213〜ステップS216と同様に、位置検出システム201では、磁界発生コイルD1から駆動磁界を出力させ(ステップS213−1)、検出コイルSによる磁界検出を開始し(ステップS214−1)、電流検出部32aによる磁界発生コイルD1の駆動電流値の検出(ステップS215−1)が行われ、キャリブレーション演算部251による磁界発生コイルD1の基準電流値の取得が行われる(ステップS216−1)。そして、図20のステップS217と同様に、キャリブレーション演算部251による磁界発生コイルD1の各基準電圧値の取得が行われる(ステップS217−1)。
そして、キャリブレーション演算部251は、取得した磁界発生コイルD1に対応する基準電流値の実数値と虚数値とをもとに磁界発生コイルD1に対応する基準電流値の振幅および位相を算出する(ステップS220−1)。キャリブレーション演算部251は、基準電流値、基準電圧値、および算出した基準電流値の振幅および位相の各基準値を磁界発生コイルD1に対応する基準値としてメモリ52に記憶させて(ステップS221−1)、磁界発生コイルD1に対応する基準値の取得を終了する。
次に、キャリブレーション演算部251は、図20に示すステップS222と同様に、n=Nであるか否かを判断する(ステップS222−1)。キャリブレーション演算部251は、n=Nでないと判断した場合(ステップS222−1:No)、nに1を加算してn=n+1とし(ステップS223−1)、磁界発生コイルD2に対する基準値を取得するため、ステップS212−1に戻り、磁界発生コイルD2以外の磁界発生コイルD1の閉ループをオープンにするように切替スイッチ254aを制御し、ステップS213−1〜ステップS221−1の各処理を行なう。これによって、磁界発生コイルD2に対する基準値を取得する。一方、キャリブレーション演算部251は、n=Nであると判断した場合(ステップS222−1:Yes)、基準値取得処理を終了する。
次に、図22に示すキャリブレーション演算処理について説明する。図24は、図22に示すキャリブレーション演算処理の処理手順を示すフローチャートである。図24に示すように、キャリブレーション演算処理では、図6のステップS20と同様に、位置検出処理を開始するために、検出体であるカプセル内視鏡10を検出空間K内に設置後(ステップS230−1)、磁界発生コイルD1,D2による駆動磁界出力処理および検出コイルSによる磁界検出が開始される(ステップS231−1)。
そして、電流検出部32a,32bは、各検出コイルSの磁界検出と同期して各磁界発生コイルD1,D2に流れる駆動電流の電流値をそれぞれ検出する(ステップS232−1)。キャリブレーション演算部251において各磁界発生コイルD1,D2に対応する駆動電流値として取得される(ステップS233−1)。
次いで、キャリブレーション演算部251は、この磁界発生コイルD1,D2に対応する各駆動電流値の振幅および位相をそれぞれ算出する(ステップS234−1)。そして、キャリブレーション演算部251は、メモリ52内の各磁界発生コイルD1,D2に対応する各基準値を参照する(ステップS235−1)。
キャリブレーション演算部251は、算出した各駆動電流値の振幅および位相と、参照した各磁界発生コイルD1,D2に対応する各基準値をもとに、各磁界発生コイルD1,D2ごとに、各検出コイルSが検出した合成磁界における各駆動磁界成分の実数値と虚数値とを算出する(ステップS236−1)。次いで、キャリブレーション演算部251は、各磁界発生コイルD1,D2に対応する各駆動磁界成分の実数値と虚数値とをもとに、この各磁界発生コイルD1,D2の駆動磁界成分を合成する処理を各検出コイルSごとに行ない(ステップS237−1)、ステップS237において合成した駆動磁界成分の振幅および位相を各検出コイルごとに算出する(ステップS238−1)。その後、キャリブレーション演算部251は、算出した各検出コイルSの検出による合成磁界における磁界発生コイルD1,D2の駆動磁界成分の振幅および位相を位置情報演算部253に出力する(ステップS239−1)。位置情報演算部253は、合成磁界から、キャリブレーション演算部251から出力された駆動磁界成分の振幅および位相に対応する駆動磁界を減算して共振磁界を分離する分離処理を各検出コイルSによる検出結果ごとに行い、分離された共振磁界に対して所定の演算処理を行なうことによってカプセル内視鏡10の現在の位置や向きを導出する。
次に、ステップS237−1およびステップS238−1の演算処理について、各検出コイルSのうち検出コイルS1を例に説明する。なお、メモリ52に記憶された基準電流値の位相のうち磁界発生コイルD1に対応する位相をDθ、磁界発生コイルD2に対応する位相をDφ、基準電流値の振幅のうち磁界発生コイルD1に対応する振幅をDX、磁界発生コイルD2に対応する振幅をDY、検出コイルS1における基準電圧値のうち磁界発生コイルD1に対応する基準電圧値の実数値をDR1、虚数値をDI1、磁界発生コイルD2に対応する基準電圧値の実数値をDR2、虚数値DI2、および、電流検出部32aにおいて検出された磁界発生コイルD1に対応する駆動電流値の位相をDθ´、振幅をDX´、電流検出部32bにおいて検出された磁界発生コイルD2に対応する駆動電流値の位相をDφ´、振幅をDY´とする。
ステップS236−1に対応する処理として、キャリブレーション演算部251は、実施の形態2と同様に、上記(11−1)式および(11−2)式を用いて、磁界発生コイルD1に対応する基準電流値と駆動電流値との位相差ΔDθ、および、磁界発生コイルD2に対応する基準電流値と駆動電流値との位相差ΔDφ、を算出する。
次いで、キャリブレーション演算部251は、以下の(15−1)式を用いて、磁界発生コイルD1に対応する基準電流値の振幅と駆動電流値の振幅との比Kxを算出する。次いで、キャリブレーション演算部251は、以下の(15−2)式を用いて、磁界発生コイルD2に対応する基準電流値の振幅と駆動電流値の振幅との比Kyを算出する。
DX´/DX=Kx ・・・(15−1)
DY´/DY=Ky ・・・(15−2)
次いで、キャリブレーション演算部251は、(11−1)式で求めた位相差ΔDθ、(15−1)式で求めた振幅比Kx、および磁界発生コイルD1に対応する基準電圧値を用いて、検出コイルS1が検出した合成磁界のうち磁界発生コイルD1の駆動磁界成分に対応する駆動電圧値の実数値DR1´および虚数値DI1´を算出する。具体的には、以下の(16−1)式および(17−1)式を用いて、磁界発生コイルD1に対応する基準電圧値の各値に各基準電圧値の位相をΔDθ分加算した後、振幅比Kxを乗じることによって、駆動電圧値の実数値DR1´および虚数値DI1´を算出する。
DR1´=Kx×(DR1×coxΔθ−DI1×sinΔθ)
・・・(16−1)
DI1´=Kx×(DR1×sinΔθ+DI1×cosΔθ)
・・・(17−1)
同様に、キャリブレーション演算部251は、(11−2)式で求めた位相差ΔDφ、(15−2)式で求めた振幅比Ky、および磁界発生コイルD2に対応する基準電圧値を用いて、検出コイルS1が検出した合成磁界のうち磁界発生コイルD2の駆動磁界成分に対応する駆動電圧値の実数値DR2´および虚数値DI2´を算出する。具体的には、以下の(16−2)式および(17−2)式を用いて、磁界発生コイルD1に対応する基準電圧値の各値に各基準電圧値の位相をΔDφ分加算した後、振幅比Kyを乗じることによって、駆動電圧値の実数値DR2´および虚数値DI2´を算出する。
DR2´=Ky×(DR2×coxΔφ−DI2×sinΔφ)
・・・(16−2)
DI2´=Ky×(DR2×sinΔφ+DI2×cosΔφ)
・・・(17−2)
次いで、ステップS237−1に対応する処理として、(16−1)式、(16−2)式、(17−1)式および(17−2)式によって算出された各磁界発生コイルD1,D2に対応する駆動磁界成分の実数値DR1´,DR2´と虚数値DI1´,DI2´と、以下の(18−1)式および(18−2)式を用いて、磁界発生コイルD1,D2の駆動磁界成分を合成した駆動電圧値の実数値SR1虚数値SI1とを求める。
SR1=DR1´+DR2´ ・・・(18−1)
SI1=DI1´+DI2´ ・・・(18−2)
そして、キャリブレーション演算部251は、磁界発生コイルD1,D2の各駆動磁界成分を合成した磁界を検出コイルS1における駆動磁界成分として、この駆動磁界成分に対応する駆動電圧値の実数値SR2´、虚数値SI2´をもとに、検出コイルS1における駆動電圧値の振幅および位相を算出する。キャリブレーション演算部251は、検出コイルS2〜S8についても同様にして、検出コイルS2〜S8における各駆動電圧値の振幅および位相を算出する。
位置検出システム201においては、図22〜図24に示した各処理手順を行なうことによって、実施の形態2と同様に、磁界発生コイルD1,D2間の干渉の影響を除去して、各磁界発生コイルD1,D2ごとに正しい各基準値を取得しているため、実施の形態2と同様の効果を奏する。
なお、実施の形態2および実施の形態2の変形例1においては、前述した実施の形態1の変形例2および実施の形態1の変形例3をそれぞれ適用可能である。すなわち、実施の形態2および実施の形態2の変形例1においては、予め用意された磁界発生コイルD1,D2の特性、各磁界検出コイルSの特性、磁界発生コイルD1,D2と検出コイルSとの相対位置情報を用いて、各磁界発生コイルD1,D2ごとに駆動磁界成分の実数値と虚数値とをシミュレーションにより算出してもよい。また、実施の形態2および実施の形態2の変形例1においては、電流検出部32a,32bの検出値に対する検出コイルの検出値(磁界発生コイルD1,D2による駆動磁界)をそれぞれ対応させたLUT(ルックアップテーブル)を予め磁界発生コイルD1,D2ごとにそれぞれ作成し、位置検出時には、この各LUTを参照して、各磁界発生コイルD1,D2ごとに駆動磁界成分の実数値と虚数値とを求めてもよい。
また、図1に示すカプセル内視鏡10について説明する。カプセル内視鏡10は、図25に示すように、例えば、並列接続されたキャパシタ(C)とインダクタ(L)とよりなるLC共振回路111を有する共振磁界発生部11と、メモリ部12と、カプセル内視鏡10内の各部を制御する制御部13と、被検体900内における各種情報を取得する被検体内情報取得部14と、被検体内情報取得部14が取得した被検体内情報を無線信号としてカプセル内視鏡10外部へ送信する無線送信部15および送信用アンテナ15aと、外部装置20から無線信号として送信された各種操作指示等を受信する無線受信部16および受信用アンテナ16aと、カプセル内視鏡10内の各部に電力を供給する内部電源17と、を含む。なお、図25は、本実施の形態によるカプセル内視鏡10の概略構成例を示すブロック図である。
被検体内情報取得部14は、例えば被検体内情報としての被検体内画像を取得する撮像部142と、撮像部142で被検体900内を撮像する際に被検体900内を照明する照明部141と、撮像部142で取得された被検体内画像に所定の信号処理を実行する信号処理部143と、を有する。
撮像部142は、例えば図26に示すように、入射した光を電気信号に変換して像を形成する撮像素子142aと、撮像素子142aの受光面側に配設された対物レンズ142cと、撮像素子142aを駆動する不図示の撮像素子駆動回路と、を有する。なお、図26は、本実施の形態によるカプセル内視鏡10の概略構成例を示す外観図である。
図26に示すように、撮像素子142aは、例えばCCDカメラやCMOSカメラなどを用いることができる。撮像素子駆動回路は、制御部13からの制御のもと、撮像素子142aを駆動してアナログ信号の被検体内画像を取得する。また、撮像素子駆動回路は、撮像素子142aから読み出したアナログ信号の被検体内画像を信号処理部143へ出力する。
また、図26に示すように、照明部141は、複数の光源141Aと、各光源141Aを駆動する不図示の光源駆動回路と、を有する。各光源141Aには、例えばLED(Light Emitting Diode)などを用いることができる。光源駆動回路は、制御部13からの制御のもと、撮像部142の駆動に合わせて光源141Aを駆動することで、被検体900内を照明する。
図25に戻り説明する。信号処理部143は、撮像部142から入力されたアナログの被検体内画像に例えばサンプリングや増幅やA/D(Analog to Digital)変換などの所定の信号処理を実行することで、デジタルの被検体内画像を生成する。各種処理が実行された被検体内画像は、無線送信部15に入力される。
なお、被検体内情報取得部14は、不図示のセンサ素子およびこれを駆動制御するセンサ素子駆動回路を備えていてもよい。センサ素子は、例えば体温計や圧力計やpH計などで構成され、適宜、被検体内情報として被検体900内の温度や圧力やpH値などを取得する。センサ素子駆動回路は、制御部13からの制御のもと、センサ素子を駆動して被検体内情報を取得し、これを無線送信部15に入力する。
無線送信部15は、コイルアンテナなどで構成された送信用アンテナ15aに接続されており、信号処理部143から入力された被検体内画像等の被検体内情報に送信用の基準周波数信号への重畳や変調やアップコンバートなどの種々の処理を実行した後、これを無線信号として送信用アンテナ15aから外部装置20へ送信する。
無線受信部16は、コイルアンテナなどで構成された受信用アンテナ16aに接続されており、この受信用アンテナ16aを介して外部装置20から無線信号として送信された各種操作指示等を受信し、受信した信号にフィルタリング、ダウンコンバート、復調および復号化などの種々の処理を実行した後、これを制御部13へ出力する。
制御部13は、例えばCPUやMPUなどで構成され、無線受信部16を介して外部装置20から入力された各種操作指示等に基づいて不図示の記憶部から読み出したプログラムおよびパラメータを読み出して実行することで、カプセル内視鏡10内の各部を制御する。
メモリ部12は、例えばRAMやROMなどで構成され、制御部13が各部を制御する際に実行するプログラムおよびパラメータを保持する。また、このメモリ部12には、被検体内情報取得部14で取得された被検体内画像などの被検体内情報が適宜格納される。
内部電源17は、例えば1次電池または2次電池であるボタン電池と、ボタン電池から出力された電力を昇圧等してカプセル内視鏡10内の各部へ供給する電源回路等を含み、カプセル内視鏡10内の各部に駆動電力を供給する。ただし、ボタン電池に限定されるものではない。
また、上記した各部(11、13、14、15、15a、16、16aおよび17)は、例えばカプセル型の筐体18内に収納される。例えば図26に示すように、筐体18は、一方の端が半球状のドーム形状をしており他方の端が開口された略円筒形状または半楕円球状の形状の容器18aと、半球形状を有し、容器18aの開口に嵌められることで筐体18内を封止するキャップ18bと、よりなる。この筐体18は、例えば被検体900が飲み込める程度の大きさである。また、本実施の形態では、少なくともキャップ18bが透明な材料で形成される。上述した光源141Aは、上述の光源駆動回路(不図示)を搭載する回路基板141B上に実装される。同様に、撮像素子142aおよび対物レンズ142cは、撮像素子駆動回路(不図示)を搭載する回路基板(不図示)上に実装される。光源141Aを実装する回路基板141Bおよび撮像素子142aを実装する回路基板は、筐体18内における透明なキャップ18b側に配置される。この際、各回路基板における素子搭載面は、キャップ18b側に向けられる。したがって、撮像素子142aおよび光源141Aの撮像/照明方向は、図26に示すように、透明なキャップ18bを介してカプセル内視鏡10外へ向けられる。