内視鏡システム
【課題】挿入部の先端側の湾曲部を予め湾曲させて生成した3次元的湾曲情報を利用して、湾曲制御を精度良く行うことができる内視鏡システムを提供する。
【解決手段】湾曲部の後端を内視鏡基準位置として湾曲部を湾曲させた場合の手元側のプーリアングルと内視鏡先端の3次元位置及びその方向とをデータ化したマップ58が形成されており、メイン処理部55は、このマップ58の情報を用いて内視鏡先端の位置及び方向の情報から現在の内視鏡先端の湾曲状態を算出可能となり、さらにマップ情報を用いてこの状態から目標位置の方向に湾曲部を湾曲させる目標プーリアングルの値を算出可能とする。
【解決手段】湾曲部の後端を内視鏡基準位置として湾曲部を湾曲させた場合の手元側のプーリアングルと内視鏡先端の3次元位置及びその方向とをデータ化したマップ58が形成されており、メイン処理部55は、このマップ58の情報を用いて内視鏡先端の位置及び方向の情報から現在の内視鏡先端の湾曲状態を算出可能となり、さらにマップ情報を用いてこの状態から目標位置の方向に湾曲部を湾曲させる目標プーリアングルの値を算出可能とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被検体内に内視鏡を挿入して内視鏡検査を行う内視鏡システムに関する。
【背景技術】
【0002】
近年、内視鏡は医療分野等において広く用いられるようになった。この内視鏡は、被検体内に挿入される細長の挿入部を有し、挿入部の先端側には湾曲自在の湾曲部が設けられている。
このように湾曲部を備えた内視鏡においては、挿入部の後端側からワイヤの牽引、弛緩により行われるが、湾曲の操作性を向上するために湾曲駆動手段としてモータの駆動力を利用した電動湾曲方式の内視鏡も実現されている。
しかし、腸管のように内視鏡検査を行おうとする部位が屈曲した体腔内の場合には、内視鏡先端を目標の位置に移動、目標とするライン(例えば、腸管の中心線)を通過させることは経験の浅いドクタにとって難しい操作である。
【0003】
このため、内視鏡画像から内視鏡先端を向ける方向を検出(例えば、暗部)し、検出した方向から内視鏡先端目標位置を求め、現在の内視鏡先端位置を内視鏡先端目標位置に一致させるように、湾曲動作をさせる内視鏡システムがある。
湾曲部を備えた内視鏡においては、何回も湾曲動作を行うとワイヤの伸びが発生してしまうことがある。
そうすると、手元側での湾曲操作量と、内視鏡先端側側での湾曲量とにずれが発生し、湾曲部を湾曲させる精度が低下する。
このため、モータの回転位置から決定される内視鏡湾曲部の形状及び先端方向には誤差が伴う。
【0004】
一方、特開2006−192056号公報には、内視鏡制御部が、湾曲部の湾曲動作を記憶する湾曲動作記憶手段と、湾曲部の湾曲動作に対応する動作パラメータを予め記憶するパラメータ記憶手段とを備え、湾曲部の湾曲動作に応じた動作パラメータをパラメータ記憶手段より取り出すことで、湾曲部の湾曲量を制御することが開示されている。
上記パラメータ記憶手段には、湾曲指示部において上下左右のどの方向に操作されたのか、内視鏡システムの生産直後から総湾曲指示操作回数nのデータが格納されている。 この従来例は、予め、湾曲回数に応じた(駆動信号の)パルス幅を設定しメモリに格納しておき、メモリに格納した設定情報を用いて湾曲動作を行う技術を開示している。
【特許文献1】特開2006−192056号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来例は、手元側での情報のみで挿入部の先端側の湾曲方向を含む湾曲量を制御する構成になっているため、上記のようにワイヤが伸びると手元側の基準位置が、伸びる前の基準位置からずれることになるため、精度良く湾曲制御することが困難になる。
このため、より精度良く湾曲制御することができるシステムが望まれる。
本発明は上述した点に鑑みてなされたもので、挿入部の先端側の湾曲部を予め湾曲させて生成した3次元的湾曲情報を利用して、湾曲制御を精度良く行うことができる内視鏡システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の内視鏡システムは、湾曲可能な湾曲部が挿入部の先端側に形成された内視鏡と、
前記湾曲部を電気的に湾曲駆動する湾曲駆動部と、
前記挿入部の先端側における湾曲部の後端付近の位置を基準位置として、前記湾曲部を湾曲させた場合における湾曲方向を含む湾曲量と、前記湾曲量に対応する挿入部先端の3次元位置及び方向とを関連付けてデータ化したマップ情報を格納するマップ情報格納部と、
前記挿入部の先端の位置及び方向を検出する位置・方向検出部と、
前記マップ情報を用いて前記挿入部の先端を目標とする目標方向に指向させるように前記湾曲駆動部の湾曲駆動を制御する湾曲制御部と、
を備えたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、挿入部の先端側の湾曲部を予め湾曲させて生成した3次元的湾曲情報としてのマップ情報を用いることにより、精度良く湾曲制御ができる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施例を説明する。
図1から図18は本発明の実施例1に係り、図1は本発明の実施例1の内視鏡システムの構成を使用例の状態で示し、図2は内視鏡装置の外観例を示し、図3は内視鏡の内部構成を示し、図4は挿入部の先端側のコイルの配置例を示し、図5は検出される挿入形状を示す。
図6A〜図6Cは挿入形状データ、フレームデータ、コイル座標データの例を示し、図7はPC本体の機能的なブロック構成を示し、図8はメイン処理部の機能的なブロック構成を示し、図9はマップを作成する処理手順を示し、図10はマップデータを作成する説明図を示す。
【0009】
図11はマップを作成する際の内視鏡基準位置と内視鏡先端の座標等を示し、図12A及び図12Bは生成されたマップを3次元的に示し、図13は本実施例による湾曲制御を行う手順を示し、図14はマップ情報を利用して目標プーリアングルを算出する手順を示す。
図15は内視鏡先端のUp方向をy軸方向に一致させる説明図を示し、図16はクォータニオンを用いる作用の説明図を示し、図17は現在の内視鏡先端の設定状態から目標位置に湾曲させるための目標プーリアングルを算出する説明図を示し、図18は内視鏡先端により襞を押さえつける様子を示す。
【0010】
図1に示すように、本発明の実施例1の内視鏡システム1は、内視鏡検査を行う内視鏡2、光源装置3、プロセッサ4及び内視鏡モニタ5を備えた内視鏡装置6と、内視鏡2により撮像された内視鏡画像に対して画像処理及び湾曲制御の処理を行うパーソナルコンピュータ本体(以下、PC本体と略記)7及びPCモニタ8と、内視鏡2の挿入部9における少なくともその先端側の位置検出を含む内視鏡形状検出手段としてのUPD装置11とを有する。
図1に示すように内視鏡2は、ベッド12に横たわる被検体としての患者13の体腔内(管腔内)に挿入される細長の挿入部9と、その後端に設けられた操作部14とを有する。この操作部14から延出されたユニバーサルケーブル15の端部のコネクタは、照明光を発生する光源装置3と、信号処理を行う信号処理装置としてのプロセッサ4とに接続される。
【0011】
図2に示すように挿入部9は、その先端に設けられた先端部10と、この先端部10の後端に設けられ、湾曲自在の湾曲部18と、この湾曲部18の後端から操作部14まで延出された可撓性を有する可撓部19とを有する。
操作部14には、術者20が所望とする方向に湾曲部18を湾曲指示操作を行う湾曲指示操作手段としての例えばジョイスティック21が設けてある。そして、術者20は、このジョイスティック21を操作することにより、この操作部14内部に設けられた電気的な湾曲駆動手段を形成するモータユニット22を介して、湾曲部18を電気的に湾曲することができる。
【0012】
また、術者20が後述する自動湾曲制御モードを選択した場合においては、PC本体7によるモータ制御により、挿入部9の先端側を挿入部9が挿通される管腔の走行方向に向くようにモータユニット22を介して湾曲部18の湾曲制御を電気的に行う。
また、図1に示すように、挿入部9がその軸の回りで捻られた(ひねられた)場合の捻り量を検出できるように、挿入部9における例えば後端側の外周面に捻り量検出ユニット23が設けてある。
なお、図1における内視鏡装置6としては、例えば図2に示すような外観である。この図2では、PC本体7は内視鏡2内のモータユニット22の制御ユニットとして内視鏡装置6を構成している。
また、図1では内視鏡2にジョイスティック21が用いられているが、図2に示すようにジョイパッドで湾曲指示操作手段を形成しても良い。
【0013】
本実施例では、術者20が湾曲指示操作手段としての例えばジョイスティック21を手動(マニュアル)で湾曲操作を行うことにより、先端部10側を管腔の走行方向に設定して内視鏡2を挿入する手動湾曲による通常の湾曲制御モードの他に、内視鏡画像から管腔内の暗部の位置を(目標位置として)画像処理により3次元的に推定すると共に、挿入部9の先端側の挿入形状を推定し、挿入部先端が目標位置の方向に向くように湾曲部18を電気的に湾曲制御する自動湾曲制御モードを備える。なお、本明細書においては、挿入部先端と内視鏡先端とは同じ意味である。
図3に示すように、挿入部9内には照明光を伝送するライトガイド31が挿通され、このライトガイド31は、図1或いは図2に示す操作部14,ユニバーサルケーブル15を経てその後端が光源装置3に接続される。
【0014】
このライトガイド31の後端面には、光源装置3内の図示しないランプからの照明光が入射される。そして、ライトガイド31により伝送された照明光は、先端部10に設けられた照明窓に固定されたライトガイド先端面から前方に出射される。
そして、照明窓からこの挿入部9の長手軸の前方側に出射される照明光により、挿入部9が挿入される体腔内における長手軸の前方側を照明する。図3に示すように照明窓に隣接して設けられた観察窓には、光学像を結ぶ対物レンズ32が取り付けられており、その観察視野或いは撮像範囲は照明光で照明される。
光学像を結ぶ対物レンズ32と、その結像位置に配置された固体撮像素子としての例えばCCD33とにより撮像装置34が形成されている。
【0015】
このCCD33により光電変換されたCCD出力信号或いは撮像信号は、プロセッサ4に入力される。このプロセッサ4により撮像信号に対する信号処理を行い、内視鏡画像を内視鏡モニタ5に表示する内視鏡画像信号(映像信号)として例えばRGB信号等を生成する。内視鏡画像信号は、内視鏡モニタ5に入力され、内視鏡モニタ5の内視鏡画像表示エリアに内視鏡画像が表示される。
なお、この内視鏡画像信号は、画像処理及びモータ制御(或いは湾曲制御)を行う画像処理/モータ制御装置としてのPC本体7にも入力され、挿入部9の先端を体腔内の走行方向に挿入させるための位置情報の検出の画像処理に利用される。
【0016】
また、本実施例に係る内視鏡2においては、挿入部9内には、挿入部9の挿入形状(内視鏡形状ともいう)を検出するために、それぞれ位置情報を発生する位置情報発生手段として複数のUPDコイル(以下、単にコイルという)36a、36b、36c、36d…が例えば先端部10から可撓部19における適宜の位置まで、例えば所定間隔で配置されている。
なお、コイル36a、36b、36c、36d…は、例えば磁気を発生する磁気発生用コイルにより形成されている。そして、これらのコイル36a、36b、36c、36d…の各コイル位置を検出することによって、挿入部9の挿入形状を算出することができる。
【0017】
特に、挿入部9の先端部の複数のコイル、例えば36a、36bの各位置を検出することにより、挿入部9の先端位置の他にその軸方向(向き)を、挿入形状として検出することができる。図3の例では、コイル36cは、湾曲部18中に配置されており、またコイル36dは湾曲部18の後端に配置されている。
このように挿入部9の先端側に配置されたコイル36a、36b、36c、36dの位置を検出することにより先端部10及び湾曲部18の湾曲形状を検出できる。なお、図3に示すコイル配置の場合に限定されるものでない。
後述するようにこの湾曲部18の後端の位置(図3の図示例ではコイル36dの位置)を基準位置として、予め湾曲部18を上下、左右の湾曲可能な全ての湾曲方向に湾曲させ、その湾曲させた場合における湾曲駆動手段の駆動位置(具体例ではプーリアングル)と、挿入部9の先端の3次元位置及びその方向とを関連付けるマップを生成する。
そして、このマップの情報を利用することにより、現在の挿入部9の先端の位置及びその方向から、暗部等、湾曲したい目標位置の方向に挿入部9の先端側を向けるように湾曲させる制御を、精度良く、かつ短時間に行えるようにする。
図4は、挿入部9の先端側を拡大して、その先端側に配置されたコイル36a、36b、36c、36d…が配置されている。
【0018】
図4に示すように長手軸の方向にコイル36a、36b、36c、36dの他に、例えば長手軸に配置されたコイル36aと直交する方向で、湾曲部18を湾曲させる場合の上方向の湾曲方向(Up湾曲方向或いは単にUp方向という)に、そのソレノイドの軸(巻線の軸)を設定したコイル36a′が、コイルaに隣接して先端部10内に配置されている。
【0019】
この場合、コイル36aとコイル36a′の巻線の方向と直交させた配置となっている。なお、コイル36aとコイル36a′の巻線の方向と直交させた配置に限らす、巻線の方向を平行にしても良い。
このような配置にすることにより、各コイル36a、36b、36c、36d、36a′…の位置を検出することにより、先端部10の位置及びその軸方向の他に、先端部10の軸周りの方位(Up方向やCCD33の上方向)も、内視鏡挿入形状として検出(推定)することができる。
このように、コイル位置検出手段により、内視鏡先端側の挿入形状をその湾曲方向の情報を含めて検出することにより、その状態における湾曲部18の湾曲状態も検出(推定)できる。そして、暗部など目標位置の方向に、先端側が向くように湾曲部18を湾曲制御することを行い易くする。
【0020】
コイル36a、36b、36c、36d…は、その後端側のケーブルがUPD装置11に接続される。
また、図1に示すUPD装置11は、コイル36a、36b、36c…を所定の周波数のドライブ信号の印加により磁界を発生させる図示しないUPDドライブ回路と、磁界を検出するためにそれぞれ所定の位置関係で配置された複数のセンスコイルからなる磁界検出用のセンスコイルユニットとを備えている。
また、このUPD装置11は、複数のセンスコイルによる検出信号から各コイル36a、36b、36c、…の位置を検出(算出)する位置検出部と、各コイル36a、36b、36c、…の位置情報から挿入部9(内視鏡2)の挿入形状の算出処理と、算出された挿入形状の表示処理を行う挿入形状算出・表示処理回路と、その挿入形状を表示する図示しない形状表示モニタとを備えている。
【0021】
なお、UPD装置11における少なくともセンスコイルユニットは、図1のベッド12の近傍に配置され、ベッド12に横たわる患者13における挿入部9が挿入される3次元領域をカバーする座標系(ワールド座標系という)で、コイル36a、36b、36c、…の位置、つまりワールド座標系における3次元の座標位置を検出する。
なお、図1に示すように挿入部9の捻り量を検出する捻り量検出ユニット23は、図3に示すようなコイル36a′を設けて先端部10の方位(Up方向)を検出可能とした場合には、必要不可欠となるものではない。
図5は、UPD装置11により生成される挿入形状の1例を示す。この図5に示すように3次元の座標系で例えばjフレーム(ただし、j=0、1、2…)におけるコイル36a、36b、36c、…の位置(Xji,Yji,Zji)(ここで、i=a,b…,m)が算出され、それらを結ぶことにより、挿入形状が生成される。
【0022】
UPD装置11により検出されたコイル36a、36b、36c、36d…の位置を含む挿入形状データは、図6Aに示すように、各フレームに関するフレームデータ(つまり、第0フレームデータ、第1フレームデータ、…)として構成されており、PC本体7に順次送信される。
そして、挿入状態情報としての各フレームデータは、図6Bに示すように、挿入形状データの作成時刻、表示属性、付属情報及びコイルの3次元座標データ(コイル座標データ)等のデータを有して構成されている。
また、コイル座標データは、図6Cに示すように、挿入部9の先端側から基端側(操作部14側)に順次配置されたコイル36a、36b、36c、36d…の3次元座標をそれぞれ示すデータである。
【0023】
一方、先端部10に設けられた撮像装置34により得られる内視鏡座画像は、挿入部9の体腔内(以下では大腸のような管腔内)への挿入量に伴って変化する。
このため、内視鏡画像から検出される管腔内の暗部(管腔暗部ともいう)の位置情報は、ワールド座標系に変換される。なお、この暗部の位置情報は、管腔の走行方向に対応するため、その位置情報が挿入部先端を管腔の深部側に挿入(導入)すべき目標位置若しくは湾曲すべき湾曲方向の目標位置となる。
なお、先端部10に設けられた撮像装置34による観察方向(撮像方向)は、この内視鏡2においては挿入部9の長手軸と平行であり、上記挿入方向或いは湾曲方向は、撮像装置34による観察方向と同じ方向となる。
【0024】
UPD装置11内部のコイル位置検出部により検出されたコイル36a、36b、36c、36d…のコイル座標位置及び方向の情報は、PC本体7にも入力される(後述する図7参照)。
図3に模式的に示すように湾曲部18は、その長手方向に複数の湾曲駒が回動自在に連結して構成されている。また、挿入部9内には、上下、左右の湾曲方向に沿って湾曲ワイヤ41u、41d、41l、41rが挿通されている。そして、これらの湾曲ワイヤ41u、41d、41l、41rの後端は、例えば操作部14内に配置されたモータユニット22を構成するプーリ42a、42bに連結されている。
操作部14内には上下方向の湾曲ワイヤ41u、41dの両端が連結されたワイヤが巻装されたプーリ42aと、左右方向の各湾曲ワイヤ41l、41rの両端が連結されたワイヤが巻装されたプーリ42bが設置されている。
【0025】
各プーリ42a,42bは、それぞれ上下湾曲(駆動)用のUDモータ43a,左右湾曲用のRLモータ43b(単にモータ43a、43bとも略記)の回転軸に連結され、正転及び逆転が自在のモータ43a,43bの回転方向に応じて回転される。上下、左右方向の湾曲駆動手段を構成するこれらのモータ43a,43bは、図7に示すようにモータユニット22に接続されたPC本体7から制御される。
そして、モータ43a,43bによりプーリ42a,42bを回転することによって、湾曲ワイヤ41u、41d、41l、41rを牽引/弛緩(押し引き)して湾曲部18を電気的に湾曲駆動する電気的湾曲駆動手段が構成されている。
モータ43a,43bを介してプーリ42a,42bを回転させる回転量に応じて湾曲部18の湾曲量が対応するため、プーリ42a,42bの回転量をプーリアングル或いはプーリ角という。
【0026】
モータ43a,43bの回転角(モータ角ともいう)或いはプーリ角は、回転角或いは回転位置の検出手段として、例えばモータ43a,43bの回転軸にそれぞれ取り付けられている上下用ロータリーエンコーダ(UDエンコーダ)44a,左右用ロータリーエンコーダ(RLエンコーダ44b)によってそれぞれ検出される。これらのUDエンコーダ44a,RLエンコーダ44bによるエンコーダ出力は、図7に示すようにPC本体7に入力される。
そして自動湾曲制御モードの場合においては、モータユニット22内のモータ43a、43bは、PC本体7側からのUPD装置11による目標位置の推定結果と、現在の(内視鏡)先端部10側の位置及び方向から後述するマップの情報を用いて湾曲駆動を制御する。つまり、PC本体7は、湾曲制御手段の機能を持つ。
この他にPC本体7は、画像処理により、湾曲させたい方向に相当する目標位置の算出の処理を行う。
【0027】
なお、手動操作により湾曲を行う場合には、操作部14に設けられた湾曲指示操作手段としてのジョイスティック21によって上下、左右の任意の湾曲方向への指示値に応じて、エンコーダ出力がその値に一致するように、モータ43a、43bの回転駆動量(プーリ42a,42bのプーリアングルに相当する)が制御され、湾曲部18は湾曲指示された湾曲量まで湾曲する。
このため、ジョイスティック21には、例えば上下方向と左右方向への傾動操作量を検出する図示しないエンコーダ或いはポテンショメータ等が設けてあり、湾曲指示値、方向の指示情報を出す。この場合には、PC本体7は、単に湾曲指示値にエンコーダ出力が一致するように湾曲制御する。
【0028】
図7は、PC本体7の機能的な構成を示す。プロセッサ4からの内視鏡画像信号は、PC本体7内のA/D変換回路51を介してメモリ52内に内視鏡画像のデータとして格納される。
また、UPD装置11によるコイル座標と方向の情報は、コイル情報取得スレッド53を介してメモリ52内に、内視鏡形状パラメタ、具体的には、コイル座標位置、コイル方向、先端Up方向のデータとして格納される。
そして、内視鏡画像のデータと内視鏡形状パラメタのデータは、CPUにより形成されるメイン処理部(或いはメインスレッド)55に出力される。
なお、CPUは、このメイン処理部55の処理だけでなく、他の処理、例えば後述する湾曲量制御スレッド56の処理を行う構成であっても良いし、図7に示すメイン処理部55が湾曲量制御スレッド56の処理を行う構成であっても良い。
【0029】
また、内視鏡2のモータユニット22のエンコーダ出力は、湾曲量制御スレッド56に入力され、この湾曲量制御スレッド56には、メイン処理部55による処理で生成され、メモリ52内に一時格納された湾曲量パラメタのデータが入力される。
この湾曲量パラメタとしては、現在のプーリアングルから目標位置の方向に設定すべきプーリアングルとしての設定プーリアングルである。この設定プーリアングルは、例えば差分値による相対プーリアングルとなる(後述)。
なお、図7において点線で示すように、捻り量検出ユニット23が用いられた場合には、捻り量検出ユニット23により検出される相対捻り量が、捻り量取得スレッド57を介してメモリ52内における例えば内視鏡形状パラメタのデータの1つとして相対捻り量のデータとして格納される。
また、本実施例では、メモリ52には、上下、左右のプーリアングルの各位置と、内視鏡先端の3次元的な位置及び方向との関係を予め計測してデータ化したデータマップ(ルックアップテーブル)58の情報も格納される。つまり、このメモリ52は、マップ情報の格納手段を形成する。
【0030】
この場合、挿入部9の先端に近い(挿入部9上の)位置で、湾曲部18を湾曲させた場合、湾曲により殆ど変化しない基準位置として、具体的には湾曲部18の後端をその基準位置に設定して、このマップ58を生成する。
これにより、このマップ58のデータ(マップ情報ともいう)は、同じ内視鏡2の場合に任意の湾曲状態(プーリアングル)で共通に利用が可能となる。
なお、本実施例においては、湾曲部18が、例えば上下方向と左右方向、さらに上方向と下方向とで湾曲可能な範囲(最大プーリアングル)が異なる場合にも対応できるマップ情報である。
このため、このマップ情報は、所定の湾曲方向を基準方向としてそのデータ値が生成されている。本実施例においては、例えば上(U或いはUp)方向の湾曲を、マップ58のy軸に設定して、マップ情報を生成する(後述する)。
【0031】
そして、このマップ情報を利用して目標方向に内視鏡先端を湾曲(或いは指向)させるような場合、内視鏡先端の座標系や、目標方向をマップ情報の座標系と整合させて行うようにする。
そして、メイン処理部55は、図8にて説明するようにこのマップ情報を利用して、現在の内視鏡先端の形状情報から目標とする目標位置の方向に湾曲部18を湾曲させるプ−リアングルを算出して、メモリ52を介して湾曲量制御スレッド56に送る。
湾曲量制御スレッド56は、算出されたプーリアングルをモータ電圧(より具体的には、UDモータ電圧値、RLモータ電圧値)に変換してモータユニット22のUDモータ43a,RLモータ43bに出力する。
図8は、メイン処理部55による機能的な構成を示す。
【0032】
図8に示すようにメイン処理部55は、内視鏡画像における管腔情報から目標位置を検出する画像内目標位置検出部55aの機能と、コイル座標から内視鏡各部の位置、方向を検出する内視鏡形状処理部55bと、相対捻り量から絶対捻り量を算出する捻り量算出部55cの機能を有する。内視鏡形状処理部55bは、内視鏡先端の位置及び方向を検出する位置・方向検出手段の機能を持つ。
【0033】
なお、点線で示すように捻り量算出部55cは、相対捻り量が入力された場合にこの処理を行う。
画像内目標位置検出部55aは、内視鏡画像から内視鏡画像内における管腔の走行方向に相当する暗部の中心の位置(或いは重心の位置)を2次元の位置情報として検出する。 この暗部の位置は、CCD33の画素サイズ、焦点距離等の値を考慮して検出される。そして、その時刻における挿入部9の先端位置に対する暗部の位置の情報から、その方向が挿入部先端(内視鏡先端)の挿入方向として検出される。
【0034】
また、この暗部の2次元の位置情報は、さらにその暗部の奥行き方向の値を含めた3次元の位置が例えばShape From Shading法(SFS法と略記)により算出される。そして、この3次元の位置情報は、挿入部9先端を指向させて導入すべき目標位置として利用される。
なお、画像内目標位置検出部55aで検出された目標位置は、画像内目標位置検出部55a内の座標系変換部によりワールド座標系の目標位置に変換される。
そして、変換された目標位置は、湾曲量算出或いはプーリアングル算出を行う湾曲量算出部(プーリアングル算出部)55dに出力される。
この湾曲量算出部55dには、内視鏡形状処理部55bにより、内視鏡各部の位置、方向の情報が入力される。
【0035】
また、この湾曲量算出部55dには、捻り量算出部55cから絶対捻り量も算出される。この絶対捻り量は、捻り量検出ユニット23が設けてない場合には、算出されない。 捻り量検出ユニット23に基づく捻り量から挿入部9がその軸方向の回りで回転された回転角が検出される。なお、捻り量検出ユニット23が設けてない場合にも、図4に示したコイル36a、36a′の位置検出により、(Up方向が検出でき、これにより捻り量を用いないで)内視鏡先端の湾曲方向を算出することができる。
そして、この湾曲量算出部55dは、入力される情報における内視鏡先端の位置及び方向の情報から、マップ情報を参照して、現在の内視鏡先端の湾曲状態を算出する。
また、湾曲量算出部55dは、現在の湾曲状態を算出した後、この湾曲状態から目標位置の方向に内視鏡先端を湾曲させるためのプーリアングルを、マップ情報を参照して算出する。
【0036】
つまり、湾曲量算出部55dは、マップ情報を用いて、現在の内視鏡先端の位置及び方向の算出手段と、目標位置の方向の算出手段を形成する。
算出されたプーリアングルは、設定プーリアングルとしてメモリ52を経て湾曲量制御スレッド56に出力される。そして、この湾曲量制御スレッド56は、設定プーリアングルからモータ電圧(UDモータ電圧、RLモータ電圧)に変換してモータユニット22内のUDモータ43a、RLモータ43bに印加する。
UDモータ43a、RLモータ43bの回転駆動により、湾曲部18は、内視鏡先端が目標位置の方向に一致するように湾曲される。
次に図9を参照して湾曲制御に利用されるマップ58の作成の処理を説明する。なお、このマップ58の作成は、例えば内視鏡の工場出荷前に行われる。
図9に示すように最初のステップS1においてマップ作成者は、上下方向のプーリアングルθ1,左右方向のプーリアングルθ2により、上下左右方向に対応したプーリアングル(θ1,θ2)をセットする。
【0037】
図10は、ステップS1を具体的に行うために、代表的なプーリアングル値がマップ位置として指定される。例えば正方格子(グリッド)が設けられた、ステップS1の状態のマップの1例を示す。なお、図9の処理が終了することにより、マップ58として完成する。
図10において、(0,0)を原点として、上下方向(Up,Dで示している)のプーリアングルθ1と左右(L,Rで示している)方向のプーリアングルθ2を、実際に使用される内視鏡2の湾曲特性の範囲内でセット可能になる。
例えば、図10において上下方向のプーリアングルθ1はθDmからθUmまで、左右方向はθLmからθRmまでが実際に設定可能なプーリアングル範囲となる。なお、この場合、θDm、θLmは負値で定義されることになる。また、本実施例では図10に示すように上方向(Up方向)が、例えばy軸に設定されている。
【0038】
ステップS1において実際には、プーリアングル(θ1,θ2)として、例えば(θ1i,θ2j)がセットされる。ここで、i,jはグリッド上のプーリアングルを表すものであり、その表示例を図10に示している。
なお、フローチャート(ステップS4)では、グリッド間のプーリアングル値のオフセット値Δθを用いている。
ステップS1でセットしたプーリアングル(θ1i,θ2j)の状態で、ステップS2に示すようにマップ作成者は、内視鏡基準位置と内視鏡先端位置における座標と方向を測定する。
図11はプーリアングル(θ1i,θ2j)の状態で、ステップS2に示す処理により、内視鏡基準位置座標(Xo,Yo,Zo)と内視鏡先端位置座標(Xij,Yij,Zij)と、その場合の各方向Do,Dijの1例を示す。なお、この場合、各方向、例えばDoとしては、その位置での軸方向の情報を持つが、湾曲の特定方向(具体的には湾曲の上方向)を基準とする。
【0039】
次のステップS3において、内視鏡基準位置の座標、方向に対する内視鏡先端の3次元の相対座標、相対方向を算出して、対応するマップ位置に書き込む。
具体的には、図10のプーリアングル(θ1i,θ2j)のグリッド点上の位置(マップ位置、或いはマップデータ位置になる)に、内視鏡先端の相対座標(Xij−Xo,Yij−Yo,Zij−Zo)と、相対方向(Dij−Do)とを関連付けて書き込む。 ここでは、1つのプーリアングル(θ1i,θ2j)の場合で具体的に示したが、以下のステップを経てオフセット値Δθにより他のプーリアングル値に対しても同様の関連付けが行われることになる。
つまり、図11における内視鏡基準位置を原点に設定し、かつその場合の方向を0に設定した状態における内視鏡先端の位置座標及び方向の値が各プーリアングル(θ1i,θ2j)に関連付けて各マップデータ位置に書き込まれる。換言すると、内視鏡基準位置からの相対位置座標及び相対方向の値が、プーリアングルに関連付けられる。
【0040】
次のステップS4に示すようにプーリアングルθ1,θ2にオフセット値Δθを与えて隣接するグリッド位置のプーリアングルθ1,θ2に設定する。
次のステップS5においてプーリアングルθ1,θ2がその内視鏡のプーリアングルの範囲を超えたか否かの判断を行い、超えていない場合にはステップS1に戻り、ステップS1〜S5の処理を繰り返す。なお、実際には、上下方向のプーリアングルの範囲と、左右方向のプーリアングルの範囲間において、湾曲部18が湾曲可能な範囲に対してステップS1〜S5の処理が行われる。
このようにして、マップ58が作成される。このマップ58は、図10に示したような各マップ位置のプーリアングル(θ1i,θ2j)に、対応する内視鏡先端の相対座標(Xij−Xo,Yij−Yo,Zij−Zo)と、相対方向(Dij−Do)のデータとが関連付けて格納されたものとなる。
【0041】
そして、このマップ58の各データを内視鏡先端を表す3次元座標系で表すと、マップ58は、湾曲部18を湾曲させた場合における、内視鏡先端位置を3次元座標系上でプロットした軌跡を表す曲面となる。
【0042】
また、その際、内視鏡先端位置でのその先端の軸方向が方向の情報として、位置と対にしてデータ化される。
このように曲面として表示した場合のマップ58を内視鏡先端のD方向からU方向へ見た(マップの側面図の)場合、内視鏡先端のR方向からL方向へ見た(マップ側面図の)場合におけるマップ58は、それぞれ図12A、図12Bに示すになる。
なお、図12A、図12Bにおいて、各マップ位置には、内視鏡先端の方向を示す線分も3次元的に示している。
次に図13を参照して、(上述のように生成した)マップ情報を用いて本実施例におけるメイン処理部55による湾曲制御の処理動作を説明する。
最初にステップS11に示すように初期設定を行う。次のステップS12においてメイン処理部55は、コイル情報、つまり各コイル位置の情報を取得する。
【0043】
次のステップS13においてメイン処理部55を構成するCPUは、コイル位置の情報から内視鏡の先端位置、先端方向の算出を行う。次のステップS14においてCPUは、内視鏡画像の画像データの取得を行う。
次のステップS15においてCPUは、画像データのディストーションの補正を行う。これは、対物レンズ32が歪曲収差などを有するため、対物レンズ32により得られた画像データの歪み補正を行う。
次のステップS16においてCPUは、内視鏡画像から内視鏡先端を通過させようとする目標位置の検出を行う。具体的には管腔暗部の位置の検出を行う。
次のステップS17においてCPUは、ステップS16により検出された目標位置は、2次元の位置情報であるため上述したSFS法等を用いて3次元座標に変換する。
【0044】
そして、次のステップS18においてCPUは、マップ情報を利用して目標位置の方向に内視鏡先端の方向を一致させる(或いは指向させる)湾曲方向に相当する目標プーリアングルの算出(図14にて後述)を行う。
次のステップS19において、算出した目標プーリアングルから対応するモータ電圧を算出する。なお、この算出は、図7に示した構成例においては湾曲量制御スレッド56の処理として行う。算出されたモータ電圧は、モータユニット22のモータ43a、43bに印加され、モータ43a、43bの回転駆動により湾曲部18が湾曲駆動される。
次に図14を参照して目標プーリアングルの算出の処理を説明する。
最初のステップS21においてメイン処理部55を構成するCPUは、目標位置の座標を内視鏡基準位置を原点とする相対座標に変換する。
【0045】
次のステップS22においてCPUは、内視鏡のUp方向がy軸に一致し、かつ、コイル位置Bの軸方向がZ軸に一致するように変換する。図15は、このステップS22の処理の様子を示す。ステップS21の状態における内視鏡先端側の状態は、一般的に図15に示すようになっている。
この図15に示すように内視鏡先端(ここでは先端コイルの具体例で示している)の位置Aは、マップ58(マップ曲面)上にあるが、その状態における内視鏡Up方向は、一般的にマップ58のUp方向と一致していない。
このため、内視鏡のUp方向を、マップ58のUp方向として予め設定されている例えばy軸に一致するように回転処理で変換する。なお、図15に示すように、この変換により、目標位置も矢印で示すように移動する。この回転処理は、クォータニオンを利用すると、容易に行える。
【0046】
図15における内視鏡先端のUp方向とマップ58のy軸方向とに直交するC軸を図16のように設定し、このC軸の回りで回転角φだけ回転させて内視鏡先端のUp方向とマップ58のy軸方向とを一致させる。
図16に示すようにこの回転角φにより先端コイル位置Aは、符号Bで示す位置に移動する。C軸を規定する方向ベクトルと回転角φをもとに生成されるクォータニオンを利用すると、先端コイル位置Aの位置の変換を容易に行うことができる。続いて、変換されたコイル位置Bの軸方向がZ軸に一致するように、同様の変換を行う。
図14におけるステップS22の処理の後、次のステップS23においてCPUは、目標位置の方向に相当するマップ座標系上の位置座標(例えば連続座標)を算出する。
具体的には、目標位置の方向を最も良く近似できるマップ上の位置(内視鏡先端位置及び先端方向)を特定する。このステップS23の処理が目標位置方向算出部を形成する。 このようにしてステップS21〜S23により目標位置の方向を近似できるマップ位置を算出した後、同様にステップS24〜S26により現在の内視鏡先端に対しても同様の処理により、対応するマップ上の位置を算出する。
具体的には、ステップS24においてCPUは、内視鏡先端の座標を、内視鏡基準位置を原点とする相対座標に変換する。次のステップS25においてCPUは、内視鏡のUp方向がy軸に一致し、かつ、コイル位置Bの軸方向がZ軸に一致するように変換する。 次のステップS26においてCPUは、内視鏡先端位置に相当するマップ座標系上の位置座標(例えば連続座標)を算出する。そして、このステップS26により現在の内視鏡先端位置が向く方向を算出できる。このステップS26が先端方向算出部を形成する。
【0047】
そして、次のステップS27においてCPUは、マップ座標に基づいて目標プーリアングルの値を算出する。
【0048】
図17は、ステップS27により目標プーリアングルを算出する様子を示す。ステップS26により、例えば図17に示すように現在の内視鏡先端の特定(座標Pp,方向Dp)によりその状態に対応するプーリアングル(θa,θb)が、現在の絶対プーリアングル値として算出される。
また、ステップS23においても、目標位置に対応する目標位置用プーリアングル(θc,θd)が絶対プーリアングル値として算出される。
そして、これら両絶対プーリアングル値の差分値、つまり(θc−θa,θd−θb)が、現在の内視鏡先端の状態から目標位置の方向に湾曲制御する湾曲制御目標とする(図13のステップS18に示す)目標プーリアングルとして算出される。
【0049】
ステップS27の処理から分かるように現在の内視鏡先端の状態(一般的には湾曲された状態)から目標位置の方向に湾曲させる場合、現在の湾曲状態に対応するプーリアングル(θa,θb)と目標位置に対応するプーリアングル(θc,θd)との差分値(つまり相対値)で湾曲(駆動)量が決定される。
このため、湾曲操作の繰り返しや経年変化により湾曲用のワイヤが伸びて、手元側での操作量が先端側での湾曲量と一致しないずれ(基準位置のずれ)が発生したような場合にも、相対値で湾曲駆動量を決定するので、精度の良い湾曲制御を行うことができる。
補足説明すると、例えば現在の内視鏡先端の位置及び方向から、湾曲の目標位置側に湾曲させる場合、手元側の実際のプーリアングルの値を用いないで、マップ58上の現在の内視鏡先端の位置及び方向に対応するプーリアングル値を用いる。
【0050】
このため、湾曲ワイヤが伸びて、手元側の実際のプーリアングルの基準値がずれてしまってもマップ58から算出されるプーリアングルの相対値を使用するため、精度良く湾曲制御を行うことができる。
また、本実施例は、湾曲部18を湾曲させた場合の湾曲部18の3次元的な湾曲情報を予めデータ化したマップ58にしてあるので、このマップ58を用いないで、演算などを行うことにより、湾曲制御を行うことも可能になるが、そのような場合に比較して簡単な演算で湾曲制御が可能となる。
また、マップ58を用いない場合に比較して、短時間に湾曲方向及び湾曲量を算出できるので、応答性の良い湾曲制御が可能となる。
つまり、上下、左右の各方向において、湾曲部18を詳細に湾曲させた場合における多数のプーリアングル座標値と、各プーリアングル座標値に対応する、内視鏡先端の3次元位置及びその方向とをデータ化した(データ)マップ58を形成している。
【0051】
このため、両者の一方が分かる場合には、他方を単に読み出すことにより算出できる。つまり、複雑な演算を必要することなく、短時間に湾曲方向及び湾曲量を算出できる。 また、マップ58は、離散値でデータ化されているため、データ化されていない値に対応する湾曲方向及び湾曲量を算出する必要がある場合にも、その値に近いデータ化されている値が存在するため、近似解法(近似評価法)の1つとして、例えば擬似ニュートン法を用いて簡単に算出したい値を算出することができる。
例えば、図17に示すように、目標位置の座標からマップ58の座標系上でその目標位置の方向に相当する目標位置用プーリアングル(θc,θd)を算出する必要がある。この場合、各グリッド(格子点)上での位置及びプーリアングル値は、既知であるので、例えば複数のグリッド上での各方向と目標位置の方向とのずれ量を求める。
【0052】
そして、それらの3次元的なずれ量から、擬似ニュートン法を用いて、そのずれ量が十分に小さくなる近似値としての方向の値を算出して、その算出した方向に相当する目標位置用プーリアングル(θc,θd)を算出することができる。
このように本実施例によれば、挿入部9の先端側の湾曲部18を湾曲させた場合の3次元的湾曲情報としてのマップ情報を用いることにより、精度良く湾曲制御ができる。
また、本実施例によれば、図18に示すように内視鏡先端により腸管等の襞を押さえつけるような手技を行い易い。
つまり、本実施例においては、マップ58により、内視鏡先端の位置及び方向を検出できるため、図18に示すように内視鏡先端(模式的に先端コイルで示している)で襞60を例えば矢印の方向に押さえつけるような手技を行い易くなる。
【0053】
なお、、図10に示したグリッド間の値を小さくしたデータを生成するようにすれば、補間等を殆ど用いることなく、グリッド上(マップデータ点上)のデータから目標プーリアングル等を算出することもできる。
また、目標位置がマップ58の座標系上に位置するか、これに近い状態である場合には、マップ58上の現在の内視鏡先端の位置でのプーリアングル値と、目標位置に相当するマップ上の位置でのプーリアングル値の差分値分を目標プーリアングルとして算出することができる。
また、目標位置の方向の情報からマップ58上での対応するプーリアングルを算出する代わりに、目標位置の位置情報からマップ58上での対応するプーリアングルを算出するようにしても良い。
【0054】
なお、図19に示すような構成にしても良い。図19は変形例における内視鏡2及びPC本体7を示す。この変形例に示すように、各内視鏡2に上述したマップ58の情報を格納した(不揮発性メモリ等で構成される)マップ情報格納部61を内蔵する構成にしても良い。
そして、内視鏡2がPC本体7と接続された場合、PC本体7内のメイン処理部55等の処理を行うCPU62が、そのマップ58の情報を読み出し、PC本体7のハードディスク63や不揮発性メモリ、メモリ52等に格納して、湾曲制御に使用するようにしても良い。
また、使用後は、PC本体7側でマップ58の情報を、内視鏡2が有するID情報と関連付けて保存するようにしても良い。
なお、内視鏡2は、その内視鏡2に固有のID情報を発生するID情報発生部(図19中ではIDと略記)64を備える。
【0055】
また、内視鏡2には、マップ58の情報を格納しないで、PC本体7側で、内視鏡2のID情報と共に、その内視鏡のマップ58の情報を保存するようにしても良い。
図19では、ID情報がIDaの場合にはマップ情報MDaと対にして、ID情報がIDbの場合にはマップ情報MDbと対にしてマップ情報を格納する構成を示している。 そして、内視鏡2がPC本体7に接続された場合、CPU62は、内視鏡2のID情報を読み出し、このID情報に対応するマップ58の情報を用いて、湾曲制御を行うようにすることもできる。
本変形例によれば、さらにPC本体7に対して実際に接続使用される内視鏡2が異なる場合にも、その内視鏡2の場合の湾曲部18の湾曲に対応した3次元の湾曲情報としてのマップ情報を用いて、精度の良い湾曲制御が可能となる。その他は、実施例1と同様の効果を有する。
【産業上の利用可能性】
【0056】
内視鏡を屈曲した体腔内に挿入して内視鏡検査を行う場合に広く利用できる。
【図面の簡単な説明】
【0057】
【図1】図1は本発明の実施例1の内視鏡システムの構成を使用例の状態で示す構成図。
【図2】図2は内視鏡装置の外観例を示す図。
【図3】図3は内視鏡の内部構成を示す図。
【図4】図4は挿入部の先端側のコイルの配置例を示す図。
【図5】図5は検出される挿入形状を示す図。
【図6A】図6Aは挿入形状データの例を示す図。
【図6B】図6Bはフレームデータの例を示す図。
【図6C】図6Cはコイル座標データの例を示す図。
【図7】図7はPC本体の機能的なブロック構成を示す図。
【図8】図8はメイン処理部の機能的なブロック構成を示す図。
【図9】図9はマップを作成する処理手順を示すフローチャート。
【図10】図10はマップデータを作成する説明図を示す。
【図11】図11はマップを作成する際の内視鏡基準位置と内視鏡先端の座標等を示す説明図。
【図12A】図12Aはマップを内視鏡先端の3次元座標系で表し、その場合下方向から上方向の湾曲方向へ見た側面図。
【図12B】図12Bはマップを内視鏡先端の3次元座標系で表し、その場合右方向から左方向の湾曲方向へ見た側面図。
【図13】図13は本実施例による湾曲制御の手順を示すフローチャート。
【図14】図14はマップ情報を利用して目標プーリアングルを算出する手順を示すフローチャート。
【図15】図15は内視鏡先端のUp方向をy軸方向に一致させる処理の説明図。
【図16】図16はクォータニオンを用いる作用の説明図。
【図17】図17は現在の内視鏡先端の設定状態から目標位置に湾曲させるための目標プーリアングルを算出する説明図。
【図18】図18は内視鏡先端により襞を押さえつける様子を示す説明図。
【図19】図19は本発明の変形例における内視鏡及びPC本体の構成を示すブロック図。
【符号の説明】
【0058】
1…内視鏡システム、2…内視鏡、7…PC本体、9…挿入部、11…UPD装置、18…湾曲部、22…モータユニット、34…撮像装置、36a、36b、36c…コイル、43a、43b…モータ、44a、44b…エンコーダ、55…メイン処理部、56…湾曲量制御スレッド、58…マップ
【技術分野】
【0001】
本発明は、被検体内に内視鏡を挿入して内視鏡検査を行う内視鏡システムに関する。
【背景技術】
【0002】
近年、内視鏡は医療分野等において広く用いられるようになった。この内視鏡は、被検体内に挿入される細長の挿入部を有し、挿入部の先端側には湾曲自在の湾曲部が設けられている。
このように湾曲部を備えた内視鏡においては、挿入部の後端側からワイヤの牽引、弛緩により行われるが、湾曲の操作性を向上するために湾曲駆動手段としてモータの駆動力を利用した電動湾曲方式の内視鏡も実現されている。
しかし、腸管のように内視鏡検査を行おうとする部位が屈曲した体腔内の場合には、内視鏡先端を目標の位置に移動、目標とするライン(例えば、腸管の中心線)を通過させることは経験の浅いドクタにとって難しい操作である。
【0003】
このため、内視鏡画像から内視鏡先端を向ける方向を検出(例えば、暗部)し、検出した方向から内視鏡先端目標位置を求め、現在の内視鏡先端位置を内視鏡先端目標位置に一致させるように、湾曲動作をさせる内視鏡システムがある。
湾曲部を備えた内視鏡においては、何回も湾曲動作を行うとワイヤの伸びが発生してしまうことがある。
そうすると、手元側での湾曲操作量と、内視鏡先端側側での湾曲量とにずれが発生し、湾曲部を湾曲させる精度が低下する。
このため、モータの回転位置から決定される内視鏡湾曲部の形状及び先端方向には誤差が伴う。
【0004】
一方、特開2006−192056号公報には、内視鏡制御部が、湾曲部の湾曲動作を記憶する湾曲動作記憶手段と、湾曲部の湾曲動作に対応する動作パラメータを予め記憶するパラメータ記憶手段とを備え、湾曲部の湾曲動作に応じた動作パラメータをパラメータ記憶手段より取り出すことで、湾曲部の湾曲量を制御することが開示されている。
上記パラメータ記憶手段には、湾曲指示部において上下左右のどの方向に操作されたのか、内視鏡システムの生産直後から総湾曲指示操作回数nのデータが格納されている。 この従来例は、予め、湾曲回数に応じた(駆動信号の)パルス幅を設定しメモリに格納しておき、メモリに格納した設定情報を用いて湾曲動作を行う技術を開示している。
【特許文献1】特開2006−192056号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記従来例は、手元側での情報のみで挿入部の先端側の湾曲方向を含む湾曲量を制御する構成になっているため、上記のようにワイヤが伸びると手元側の基準位置が、伸びる前の基準位置からずれることになるため、精度良く湾曲制御することが困難になる。
このため、より精度良く湾曲制御することができるシステムが望まれる。
本発明は上述した点に鑑みてなされたもので、挿入部の先端側の湾曲部を予め湾曲させて生成した3次元的湾曲情報を利用して、湾曲制御を精度良く行うことができる内視鏡システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の内視鏡システムは、湾曲可能な湾曲部が挿入部の先端側に形成された内視鏡と、
前記湾曲部を電気的に湾曲駆動する湾曲駆動部と、
前記挿入部の先端側における湾曲部の後端付近の位置を基準位置として、前記湾曲部を湾曲させた場合における湾曲方向を含む湾曲量と、前記湾曲量に対応する挿入部先端の3次元位置及び方向とを関連付けてデータ化したマップ情報を格納するマップ情報格納部と、
前記挿入部の先端の位置及び方向を検出する位置・方向検出部と、
前記マップ情報を用いて前記挿入部の先端を目標とする目標方向に指向させるように前記湾曲駆動部の湾曲駆動を制御する湾曲制御部と、
を備えたことを特徴とする。
【発明の効果】
【0007】
本発明によれば、挿入部の先端側の湾曲部を予め湾曲させて生成した3次元的湾曲情報としてのマップ情報を用いることにより、精度良く湾曲制御ができる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施例を説明する。
図1から図18は本発明の実施例1に係り、図1は本発明の実施例1の内視鏡システムの構成を使用例の状態で示し、図2は内視鏡装置の外観例を示し、図3は内視鏡の内部構成を示し、図4は挿入部の先端側のコイルの配置例を示し、図5は検出される挿入形状を示す。
図6A〜図6Cは挿入形状データ、フレームデータ、コイル座標データの例を示し、図7はPC本体の機能的なブロック構成を示し、図8はメイン処理部の機能的なブロック構成を示し、図9はマップを作成する処理手順を示し、図10はマップデータを作成する説明図を示す。
【0009】
図11はマップを作成する際の内視鏡基準位置と内視鏡先端の座標等を示し、図12A及び図12Bは生成されたマップを3次元的に示し、図13は本実施例による湾曲制御を行う手順を示し、図14はマップ情報を利用して目標プーリアングルを算出する手順を示す。
図15は内視鏡先端のUp方向をy軸方向に一致させる説明図を示し、図16はクォータニオンを用いる作用の説明図を示し、図17は現在の内視鏡先端の設定状態から目標位置に湾曲させるための目標プーリアングルを算出する説明図を示し、図18は内視鏡先端により襞を押さえつける様子を示す。
【0010】
図1に示すように、本発明の実施例1の内視鏡システム1は、内視鏡検査を行う内視鏡2、光源装置3、プロセッサ4及び内視鏡モニタ5を備えた内視鏡装置6と、内視鏡2により撮像された内視鏡画像に対して画像処理及び湾曲制御の処理を行うパーソナルコンピュータ本体(以下、PC本体と略記)7及びPCモニタ8と、内視鏡2の挿入部9における少なくともその先端側の位置検出を含む内視鏡形状検出手段としてのUPD装置11とを有する。
図1に示すように内視鏡2は、ベッド12に横たわる被検体としての患者13の体腔内(管腔内)に挿入される細長の挿入部9と、その後端に設けられた操作部14とを有する。この操作部14から延出されたユニバーサルケーブル15の端部のコネクタは、照明光を発生する光源装置3と、信号処理を行う信号処理装置としてのプロセッサ4とに接続される。
【0011】
図2に示すように挿入部9は、その先端に設けられた先端部10と、この先端部10の後端に設けられ、湾曲自在の湾曲部18と、この湾曲部18の後端から操作部14まで延出された可撓性を有する可撓部19とを有する。
操作部14には、術者20が所望とする方向に湾曲部18を湾曲指示操作を行う湾曲指示操作手段としての例えばジョイスティック21が設けてある。そして、術者20は、このジョイスティック21を操作することにより、この操作部14内部に設けられた電気的な湾曲駆動手段を形成するモータユニット22を介して、湾曲部18を電気的に湾曲することができる。
【0012】
また、術者20が後述する自動湾曲制御モードを選択した場合においては、PC本体7によるモータ制御により、挿入部9の先端側を挿入部9が挿通される管腔の走行方向に向くようにモータユニット22を介して湾曲部18の湾曲制御を電気的に行う。
また、図1に示すように、挿入部9がその軸の回りで捻られた(ひねられた)場合の捻り量を検出できるように、挿入部9における例えば後端側の外周面に捻り量検出ユニット23が設けてある。
なお、図1における内視鏡装置6としては、例えば図2に示すような外観である。この図2では、PC本体7は内視鏡2内のモータユニット22の制御ユニットとして内視鏡装置6を構成している。
また、図1では内視鏡2にジョイスティック21が用いられているが、図2に示すようにジョイパッドで湾曲指示操作手段を形成しても良い。
【0013】
本実施例では、術者20が湾曲指示操作手段としての例えばジョイスティック21を手動(マニュアル)で湾曲操作を行うことにより、先端部10側を管腔の走行方向に設定して内視鏡2を挿入する手動湾曲による通常の湾曲制御モードの他に、内視鏡画像から管腔内の暗部の位置を(目標位置として)画像処理により3次元的に推定すると共に、挿入部9の先端側の挿入形状を推定し、挿入部先端が目標位置の方向に向くように湾曲部18を電気的に湾曲制御する自動湾曲制御モードを備える。なお、本明細書においては、挿入部先端と内視鏡先端とは同じ意味である。
図3に示すように、挿入部9内には照明光を伝送するライトガイド31が挿通され、このライトガイド31は、図1或いは図2に示す操作部14,ユニバーサルケーブル15を経てその後端が光源装置3に接続される。
【0014】
このライトガイド31の後端面には、光源装置3内の図示しないランプからの照明光が入射される。そして、ライトガイド31により伝送された照明光は、先端部10に設けられた照明窓に固定されたライトガイド先端面から前方に出射される。
そして、照明窓からこの挿入部9の長手軸の前方側に出射される照明光により、挿入部9が挿入される体腔内における長手軸の前方側を照明する。図3に示すように照明窓に隣接して設けられた観察窓には、光学像を結ぶ対物レンズ32が取り付けられており、その観察視野或いは撮像範囲は照明光で照明される。
光学像を結ぶ対物レンズ32と、その結像位置に配置された固体撮像素子としての例えばCCD33とにより撮像装置34が形成されている。
【0015】
このCCD33により光電変換されたCCD出力信号或いは撮像信号は、プロセッサ4に入力される。このプロセッサ4により撮像信号に対する信号処理を行い、内視鏡画像を内視鏡モニタ5に表示する内視鏡画像信号(映像信号)として例えばRGB信号等を生成する。内視鏡画像信号は、内視鏡モニタ5に入力され、内視鏡モニタ5の内視鏡画像表示エリアに内視鏡画像が表示される。
なお、この内視鏡画像信号は、画像処理及びモータ制御(或いは湾曲制御)を行う画像処理/モータ制御装置としてのPC本体7にも入力され、挿入部9の先端を体腔内の走行方向に挿入させるための位置情報の検出の画像処理に利用される。
【0016】
また、本実施例に係る内視鏡2においては、挿入部9内には、挿入部9の挿入形状(内視鏡形状ともいう)を検出するために、それぞれ位置情報を発生する位置情報発生手段として複数のUPDコイル(以下、単にコイルという)36a、36b、36c、36d…が例えば先端部10から可撓部19における適宜の位置まで、例えば所定間隔で配置されている。
なお、コイル36a、36b、36c、36d…は、例えば磁気を発生する磁気発生用コイルにより形成されている。そして、これらのコイル36a、36b、36c、36d…の各コイル位置を検出することによって、挿入部9の挿入形状を算出することができる。
【0017】
特に、挿入部9の先端部の複数のコイル、例えば36a、36bの各位置を検出することにより、挿入部9の先端位置の他にその軸方向(向き)を、挿入形状として検出することができる。図3の例では、コイル36cは、湾曲部18中に配置されており、またコイル36dは湾曲部18の後端に配置されている。
このように挿入部9の先端側に配置されたコイル36a、36b、36c、36dの位置を検出することにより先端部10及び湾曲部18の湾曲形状を検出できる。なお、図3に示すコイル配置の場合に限定されるものでない。
後述するようにこの湾曲部18の後端の位置(図3の図示例ではコイル36dの位置)を基準位置として、予め湾曲部18を上下、左右の湾曲可能な全ての湾曲方向に湾曲させ、その湾曲させた場合における湾曲駆動手段の駆動位置(具体例ではプーリアングル)と、挿入部9の先端の3次元位置及びその方向とを関連付けるマップを生成する。
そして、このマップの情報を利用することにより、現在の挿入部9の先端の位置及びその方向から、暗部等、湾曲したい目標位置の方向に挿入部9の先端側を向けるように湾曲させる制御を、精度良く、かつ短時間に行えるようにする。
図4は、挿入部9の先端側を拡大して、その先端側に配置されたコイル36a、36b、36c、36d…が配置されている。
【0018】
図4に示すように長手軸の方向にコイル36a、36b、36c、36dの他に、例えば長手軸に配置されたコイル36aと直交する方向で、湾曲部18を湾曲させる場合の上方向の湾曲方向(Up湾曲方向或いは単にUp方向という)に、そのソレノイドの軸(巻線の軸)を設定したコイル36a′が、コイルaに隣接して先端部10内に配置されている。
【0019】
この場合、コイル36aとコイル36a′の巻線の方向と直交させた配置となっている。なお、コイル36aとコイル36a′の巻線の方向と直交させた配置に限らす、巻線の方向を平行にしても良い。
このような配置にすることにより、各コイル36a、36b、36c、36d、36a′…の位置を検出することにより、先端部10の位置及びその軸方向の他に、先端部10の軸周りの方位(Up方向やCCD33の上方向)も、内視鏡挿入形状として検出(推定)することができる。
このように、コイル位置検出手段により、内視鏡先端側の挿入形状をその湾曲方向の情報を含めて検出することにより、その状態における湾曲部18の湾曲状態も検出(推定)できる。そして、暗部など目標位置の方向に、先端側が向くように湾曲部18を湾曲制御することを行い易くする。
【0020】
コイル36a、36b、36c、36d…は、その後端側のケーブルがUPD装置11に接続される。
また、図1に示すUPD装置11は、コイル36a、36b、36c…を所定の周波数のドライブ信号の印加により磁界を発生させる図示しないUPDドライブ回路と、磁界を検出するためにそれぞれ所定の位置関係で配置された複数のセンスコイルからなる磁界検出用のセンスコイルユニットとを備えている。
また、このUPD装置11は、複数のセンスコイルによる検出信号から各コイル36a、36b、36c、…の位置を検出(算出)する位置検出部と、各コイル36a、36b、36c、…の位置情報から挿入部9(内視鏡2)の挿入形状の算出処理と、算出された挿入形状の表示処理を行う挿入形状算出・表示処理回路と、その挿入形状を表示する図示しない形状表示モニタとを備えている。
【0021】
なお、UPD装置11における少なくともセンスコイルユニットは、図1のベッド12の近傍に配置され、ベッド12に横たわる患者13における挿入部9が挿入される3次元領域をカバーする座標系(ワールド座標系という)で、コイル36a、36b、36c、…の位置、つまりワールド座標系における3次元の座標位置を検出する。
なお、図1に示すように挿入部9の捻り量を検出する捻り量検出ユニット23は、図3に示すようなコイル36a′を設けて先端部10の方位(Up方向)を検出可能とした場合には、必要不可欠となるものではない。
図5は、UPD装置11により生成される挿入形状の1例を示す。この図5に示すように3次元の座標系で例えばjフレーム(ただし、j=0、1、2…)におけるコイル36a、36b、36c、…の位置(Xji,Yji,Zji)(ここで、i=a,b…,m)が算出され、それらを結ぶことにより、挿入形状が生成される。
【0022】
UPD装置11により検出されたコイル36a、36b、36c、36d…の位置を含む挿入形状データは、図6Aに示すように、各フレームに関するフレームデータ(つまり、第0フレームデータ、第1フレームデータ、…)として構成されており、PC本体7に順次送信される。
そして、挿入状態情報としての各フレームデータは、図6Bに示すように、挿入形状データの作成時刻、表示属性、付属情報及びコイルの3次元座標データ(コイル座標データ)等のデータを有して構成されている。
また、コイル座標データは、図6Cに示すように、挿入部9の先端側から基端側(操作部14側)に順次配置されたコイル36a、36b、36c、36d…の3次元座標をそれぞれ示すデータである。
【0023】
一方、先端部10に設けられた撮像装置34により得られる内視鏡座画像は、挿入部9の体腔内(以下では大腸のような管腔内)への挿入量に伴って変化する。
このため、内視鏡画像から検出される管腔内の暗部(管腔暗部ともいう)の位置情報は、ワールド座標系に変換される。なお、この暗部の位置情報は、管腔の走行方向に対応するため、その位置情報が挿入部先端を管腔の深部側に挿入(導入)すべき目標位置若しくは湾曲すべき湾曲方向の目標位置となる。
なお、先端部10に設けられた撮像装置34による観察方向(撮像方向)は、この内視鏡2においては挿入部9の長手軸と平行であり、上記挿入方向或いは湾曲方向は、撮像装置34による観察方向と同じ方向となる。
【0024】
UPD装置11内部のコイル位置検出部により検出されたコイル36a、36b、36c、36d…のコイル座標位置及び方向の情報は、PC本体7にも入力される(後述する図7参照)。
図3に模式的に示すように湾曲部18は、その長手方向に複数の湾曲駒が回動自在に連結して構成されている。また、挿入部9内には、上下、左右の湾曲方向に沿って湾曲ワイヤ41u、41d、41l、41rが挿通されている。そして、これらの湾曲ワイヤ41u、41d、41l、41rの後端は、例えば操作部14内に配置されたモータユニット22を構成するプーリ42a、42bに連結されている。
操作部14内には上下方向の湾曲ワイヤ41u、41dの両端が連結されたワイヤが巻装されたプーリ42aと、左右方向の各湾曲ワイヤ41l、41rの両端が連結されたワイヤが巻装されたプーリ42bが設置されている。
【0025】
各プーリ42a,42bは、それぞれ上下湾曲(駆動)用のUDモータ43a,左右湾曲用のRLモータ43b(単にモータ43a、43bとも略記)の回転軸に連結され、正転及び逆転が自在のモータ43a,43bの回転方向に応じて回転される。上下、左右方向の湾曲駆動手段を構成するこれらのモータ43a,43bは、図7に示すようにモータユニット22に接続されたPC本体7から制御される。
そして、モータ43a,43bによりプーリ42a,42bを回転することによって、湾曲ワイヤ41u、41d、41l、41rを牽引/弛緩(押し引き)して湾曲部18を電気的に湾曲駆動する電気的湾曲駆動手段が構成されている。
モータ43a,43bを介してプーリ42a,42bを回転させる回転量に応じて湾曲部18の湾曲量が対応するため、プーリ42a,42bの回転量をプーリアングル或いはプーリ角という。
【0026】
モータ43a,43bの回転角(モータ角ともいう)或いはプーリ角は、回転角或いは回転位置の検出手段として、例えばモータ43a,43bの回転軸にそれぞれ取り付けられている上下用ロータリーエンコーダ(UDエンコーダ)44a,左右用ロータリーエンコーダ(RLエンコーダ44b)によってそれぞれ検出される。これらのUDエンコーダ44a,RLエンコーダ44bによるエンコーダ出力は、図7に示すようにPC本体7に入力される。
そして自動湾曲制御モードの場合においては、モータユニット22内のモータ43a、43bは、PC本体7側からのUPD装置11による目標位置の推定結果と、現在の(内視鏡)先端部10側の位置及び方向から後述するマップの情報を用いて湾曲駆動を制御する。つまり、PC本体7は、湾曲制御手段の機能を持つ。
この他にPC本体7は、画像処理により、湾曲させたい方向に相当する目標位置の算出の処理を行う。
【0027】
なお、手動操作により湾曲を行う場合には、操作部14に設けられた湾曲指示操作手段としてのジョイスティック21によって上下、左右の任意の湾曲方向への指示値に応じて、エンコーダ出力がその値に一致するように、モータ43a、43bの回転駆動量(プーリ42a,42bのプーリアングルに相当する)が制御され、湾曲部18は湾曲指示された湾曲量まで湾曲する。
このため、ジョイスティック21には、例えば上下方向と左右方向への傾動操作量を検出する図示しないエンコーダ或いはポテンショメータ等が設けてあり、湾曲指示値、方向の指示情報を出す。この場合には、PC本体7は、単に湾曲指示値にエンコーダ出力が一致するように湾曲制御する。
【0028】
図7は、PC本体7の機能的な構成を示す。プロセッサ4からの内視鏡画像信号は、PC本体7内のA/D変換回路51を介してメモリ52内に内視鏡画像のデータとして格納される。
また、UPD装置11によるコイル座標と方向の情報は、コイル情報取得スレッド53を介してメモリ52内に、内視鏡形状パラメタ、具体的には、コイル座標位置、コイル方向、先端Up方向のデータとして格納される。
そして、内視鏡画像のデータと内視鏡形状パラメタのデータは、CPUにより形成されるメイン処理部(或いはメインスレッド)55に出力される。
なお、CPUは、このメイン処理部55の処理だけでなく、他の処理、例えば後述する湾曲量制御スレッド56の処理を行う構成であっても良いし、図7に示すメイン処理部55が湾曲量制御スレッド56の処理を行う構成であっても良い。
【0029】
また、内視鏡2のモータユニット22のエンコーダ出力は、湾曲量制御スレッド56に入力され、この湾曲量制御スレッド56には、メイン処理部55による処理で生成され、メモリ52内に一時格納された湾曲量パラメタのデータが入力される。
この湾曲量パラメタとしては、現在のプーリアングルから目標位置の方向に設定すべきプーリアングルとしての設定プーリアングルである。この設定プーリアングルは、例えば差分値による相対プーリアングルとなる(後述)。
なお、図7において点線で示すように、捻り量検出ユニット23が用いられた場合には、捻り量検出ユニット23により検出される相対捻り量が、捻り量取得スレッド57を介してメモリ52内における例えば内視鏡形状パラメタのデータの1つとして相対捻り量のデータとして格納される。
また、本実施例では、メモリ52には、上下、左右のプーリアングルの各位置と、内視鏡先端の3次元的な位置及び方向との関係を予め計測してデータ化したデータマップ(ルックアップテーブル)58の情報も格納される。つまり、このメモリ52は、マップ情報の格納手段を形成する。
【0030】
この場合、挿入部9の先端に近い(挿入部9上の)位置で、湾曲部18を湾曲させた場合、湾曲により殆ど変化しない基準位置として、具体的には湾曲部18の後端をその基準位置に設定して、このマップ58を生成する。
これにより、このマップ58のデータ(マップ情報ともいう)は、同じ内視鏡2の場合に任意の湾曲状態(プーリアングル)で共通に利用が可能となる。
なお、本実施例においては、湾曲部18が、例えば上下方向と左右方向、さらに上方向と下方向とで湾曲可能な範囲(最大プーリアングル)が異なる場合にも対応できるマップ情報である。
このため、このマップ情報は、所定の湾曲方向を基準方向としてそのデータ値が生成されている。本実施例においては、例えば上(U或いはUp)方向の湾曲を、マップ58のy軸に設定して、マップ情報を生成する(後述する)。
【0031】
そして、このマップ情報を利用して目標方向に内視鏡先端を湾曲(或いは指向)させるような場合、内視鏡先端の座標系や、目標方向をマップ情報の座標系と整合させて行うようにする。
そして、メイン処理部55は、図8にて説明するようにこのマップ情報を利用して、現在の内視鏡先端の形状情報から目標とする目標位置の方向に湾曲部18を湾曲させるプ−リアングルを算出して、メモリ52を介して湾曲量制御スレッド56に送る。
湾曲量制御スレッド56は、算出されたプーリアングルをモータ電圧(より具体的には、UDモータ電圧値、RLモータ電圧値)に変換してモータユニット22のUDモータ43a,RLモータ43bに出力する。
図8は、メイン処理部55による機能的な構成を示す。
【0032】
図8に示すようにメイン処理部55は、内視鏡画像における管腔情報から目標位置を検出する画像内目標位置検出部55aの機能と、コイル座標から内視鏡各部の位置、方向を検出する内視鏡形状処理部55bと、相対捻り量から絶対捻り量を算出する捻り量算出部55cの機能を有する。内視鏡形状処理部55bは、内視鏡先端の位置及び方向を検出する位置・方向検出手段の機能を持つ。
【0033】
なお、点線で示すように捻り量算出部55cは、相対捻り量が入力された場合にこの処理を行う。
画像内目標位置検出部55aは、内視鏡画像から内視鏡画像内における管腔の走行方向に相当する暗部の中心の位置(或いは重心の位置)を2次元の位置情報として検出する。 この暗部の位置は、CCD33の画素サイズ、焦点距離等の値を考慮して検出される。そして、その時刻における挿入部9の先端位置に対する暗部の位置の情報から、その方向が挿入部先端(内視鏡先端)の挿入方向として検出される。
【0034】
また、この暗部の2次元の位置情報は、さらにその暗部の奥行き方向の値を含めた3次元の位置が例えばShape From Shading法(SFS法と略記)により算出される。そして、この3次元の位置情報は、挿入部9先端を指向させて導入すべき目標位置として利用される。
なお、画像内目標位置検出部55aで検出された目標位置は、画像内目標位置検出部55a内の座標系変換部によりワールド座標系の目標位置に変換される。
そして、変換された目標位置は、湾曲量算出或いはプーリアングル算出を行う湾曲量算出部(プーリアングル算出部)55dに出力される。
この湾曲量算出部55dには、内視鏡形状処理部55bにより、内視鏡各部の位置、方向の情報が入力される。
【0035】
また、この湾曲量算出部55dには、捻り量算出部55cから絶対捻り量も算出される。この絶対捻り量は、捻り量検出ユニット23が設けてない場合には、算出されない。 捻り量検出ユニット23に基づく捻り量から挿入部9がその軸方向の回りで回転された回転角が検出される。なお、捻り量検出ユニット23が設けてない場合にも、図4に示したコイル36a、36a′の位置検出により、(Up方向が検出でき、これにより捻り量を用いないで)内視鏡先端の湾曲方向を算出することができる。
そして、この湾曲量算出部55dは、入力される情報における内視鏡先端の位置及び方向の情報から、マップ情報を参照して、現在の内視鏡先端の湾曲状態を算出する。
また、湾曲量算出部55dは、現在の湾曲状態を算出した後、この湾曲状態から目標位置の方向に内視鏡先端を湾曲させるためのプーリアングルを、マップ情報を参照して算出する。
【0036】
つまり、湾曲量算出部55dは、マップ情報を用いて、現在の内視鏡先端の位置及び方向の算出手段と、目標位置の方向の算出手段を形成する。
算出されたプーリアングルは、設定プーリアングルとしてメモリ52を経て湾曲量制御スレッド56に出力される。そして、この湾曲量制御スレッド56は、設定プーリアングルからモータ電圧(UDモータ電圧、RLモータ電圧)に変換してモータユニット22内のUDモータ43a、RLモータ43bに印加する。
UDモータ43a、RLモータ43bの回転駆動により、湾曲部18は、内視鏡先端が目標位置の方向に一致するように湾曲される。
次に図9を参照して湾曲制御に利用されるマップ58の作成の処理を説明する。なお、このマップ58の作成は、例えば内視鏡の工場出荷前に行われる。
図9に示すように最初のステップS1においてマップ作成者は、上下方向のプーリアングルθ1,左右方向のプーリアングルθ2により、上下左右方向に対応したプーリアングル(θ1,θ2)をセットする。
【0037】
図10は、ステップS1を具体的に行うために、代表的なプーリアングル値がマップ位置として指定される。例えば正方格子(グリッド)が設けられた、ステップS1の状態のマップの1例を示す。なお、図9の処理が終了することにより、マップ58として完成する。
図10において、(0,0)を原点として、上下方向(Up,Dで示している)のプーリアングルθ1と左右(L,Rで示している)方向のプーリアングルθ2を、実際に使用される内視鏡2の湾曲特性の範囲内でセット可能になる。
例えば、図10において上下方向のプーリアングルθ1はθDmからθUmまで、左右方向はθLmからθRmまでが実際に設定可能なプーリアングル範囲となる。なお、この場合、θDm、θLmは負値で定義されることになる。また、本実施例では図10に示すように上方向(Up方向)が、例えばy軸に設定されている。
【0038】
ステップS1において実際には、プーリアングル(θ1,θ2)として、例えば(θ1i,θ2j)がセットされる。ここで、i,jはグリッド上のプーリアングルを表すものであり、その表示例を図10に示している。
なお、フローチャート(ステップS4)では、グリッド間のプーリアングル値のオフセット値Δθを用いている。
ステップS1でセットしたプーリアングル(θ1i,θ2j)の状態で、ステップS2に示すようにマップ作成者は、内視鏡基準位置と内視鏡先端位置における座標と方向を測定する。
図11はプーリアングル(θ1i,θ2j)の状態で、ステップS2に示す処理により、内視鏡基準位置座標(Xo,Yo,Zo)と内視鏡先端位置座標(Xij,Yij,Zij)と、その場合の各方向Do,Dijの1例を示す。なお、この場合、各方向、例えばDoとしては、その位置での軸方向の情報を持つが、湾曲の特定方向(具体的には湾曲の上方向)を基準とする。
【0039】
次のステップS3において、内視鏡基準位置の座標、方向に対する内視鏡先端の3次元の相対座標、相対方向を算出して、対応するマップ位置に書き込む。
具体的には、図10のプーリアングル(θ1i,θ2j)のグリッド点上の位置(マップ位置、或いはマップデータ位置になる)に、内視鏡先端の相対座標(Xij−Xo,Yij−Yo,Zij−Zo)と、相対方向(Dij−Do)とを関連付けて書き込む。 ここでは、1つのプーリアングル(θ1i,θ2j)の場合で具体的に示したが、以下のステップを経てオフセット値Δθにより他のプーリアングル値に対しても同様の関連付けが行われることになる。
つまり、図11における内視鏡基準位置を原点に設定し、かつその場合の方向を0に設定した状態における内視鏡先端の位置座標及び方向の値が各プーリアングル(θ1i,θ2j)に関連付けて各マップデータ位置に書き込まれる。換言すると、内視鏡基準位置からの相対位置座標及び相対方向の値が、プーリアングルに関連付けられる。
【0040】
次のステップS4に示すようにプーリアングルθ1,θ2にオフセット値Δθを与えて隣接するグリッド位置のプーリアングルθ1,θ2に設定する。
次のステップS5においてプーリアングルθ1,θ2がその内視鏡のプーリアングルの範囲を超えたか否かの判断を行い、超えていない場合にはステップS1に戻り、ステップS1〜S5の処理を繰り返す。なお、実際には、上下方向のプーリアングルの範囲と、左右方向のプーリアングルの範囲間において、湾曲部18が湾曲可能な範囲に対してステップS1〜S5の処理が行われる。
このようにして、マップ58が作成される。このマップ58は、図10に示したような各マップ位置のプーリアングル(θ1i,θ2j)に、対応する内視鏡先端の相対座標(Xij−Xo,Yij−Yo,Zij−Zo)と、相対方向(Dij−Do)のデータとが関連付けて格納されたものとなる。
【0041】
そして、このマップ58の各データを内視鏡先端を表す3次元座標系で表すと、マップ58は、湾曲部18を湾曲させた場合における、内視鏡先端位置を3次元座標系上でプロットした軌跡を表す曲面となる。
【0042】
また、その際、内視鏡先端位置でのその先端の軸方向が方向の情報として、位置と対にしてデータ化される。
このように曲面として表示した場合のマップ58を内視鏡先端のD方向からU方向へ見た(マップの側面図の)場合、内視鏡先端のR方向からL方向へ見た(マップ側面図の)場合におけるマップ58は、それぞれ図12A、図12Bに示すになる。
なお、図12A、図12Bにおいて、各マップ位置には、内視鏡先端の方向を示す線分も3次元的に示している。
次に図13を参照して、(上述のように生成した)マップ情報を用いて本実施例におけるメイン処理部55による湾曲制御の処理動作を説明する。
最初にステップS11に示すように初期設定を行う。次のステップS12においてメイン処理部55は、コイル情報、つまり各コイル位置の情報を取得する。
【0043】
次のステップS13においてメイン処理部55を構成するCPUは、コイル位置の情報から内視鏡の先端位置、先端方向の算出を行う。次のステップS14においてCPUは、内視鏡画像の画像データの取得を行う。
次のステップS15においてCPUは、画像データのディストーションの補正を行う。これは、対物レンズ32が歪曲収差などを有するため、対物レンズ32により得られた画像データの歪み補正を行う。
次のステップS16においてCPUは、内視鏡画像から内視鏡先端を通過させようとする目標位置の検出を行う。具体的には管腔暗部の位置の検出を行う。
次のステップS17においてCPUは、ステップS16により検出された目標位置は、2次元の位置情報であるため上述したSFS法等を用いて3次元座標に変換する。
【0044】
そして、次のステップS18においてCPUは、マップ情報を利用して目標位置の方向に内視鏡先端の方向を一致させる(或いは指向させる)湾曲方向に相当する目標プーリアングルの算出(図14にて後述)を行う。
次のステップS19において、算出した目標プーリアングルから対応するモータ電圧を算出する。なお、この算出は、図7に示した構成例においては湾曲量制御スレッド56の処理として行う。算出されたモータ電圧は、モータユニット22のモータ43a、43bに印加され、モータ43a、43bの回転駆動により湾曲部18が湾曲駆動される。
次に図14を参照して目標プーリアングルの算出の処理を説明する。
最初のステップS21においてメイン処理部55を構成するCPUは、目標位置の座標を内視鏡基準位置を原点とする相対座標に変換する。
【0045】
次のステップS22においてCPUは、内視鏡のUp方向がy軸に一致し、かつ、コイル位置Bの軸方向がZ軸に一致するように変換する。図15は、このステップS22の処理の様子を示す。ステップS21の状態における内視鏡先端側の状態は、一般的に図15に示すようになっている。
この図15に示すように内視鏡先端(ここでは先端コイルの具体例で示している)の位置Aは、マップ58(マップ曲面)上にあるが、その状態における内視鏡Up方向は、一般的にマップ58のUp方向と一致していない。
このため、内視鏡のUp方向を、マップ58のUp方向として予め設定されている例えばy軸に一致するように回転処理で変換する。なお、図15に示すように、この変換により、目標位置も矢印で示すように移動する。この回転処理は、クォータニオンを利用すると、容易に行える。
【0046】
図15における内視鏡先端のUp方向とマップ58のy軸方向とに直交するC軸を図16のように設定し、このC軸の回りで回転角φだけ回転させて内視鏡先端のUp方向とマップ58のy軸方向とを一致させる。
図16に示すようにこの回転角φにより先端コイル位置Aは、符号Bで示す位置に移動する。C軸を規定する方向ベクトルと回転角φをもとに生成されるクォータニオンを利用すると、先端コイル位置Aの位置の変換を容易に行うことができる。続いて、変換されたコイル位置Bの軸方向がZ軸に一致するように、同様の変換を行う。
図14におけるステップS22の処理の後、次のステップS23においてCPUは、目標位置の方向に相当するマップ座標系上の位置座標(例えば連続座標)を算出する。
具体的には、目標位置の方向を最も良く近似できるマップ上の位置(内視鏡先端位置及び先端方向)を特定する。このステップS23の処理が目標位置方向算出部を形成する。 このようにしてステップS21〜S23により目標位置の方向を近似できるマップ位置を算出した後、同様にステップS24〜S26により現在の内視鏡先端に対しても同様の処理により、対応するマップ上の位置を算出する。
具体的には、ステップS24においてCPUは、内視鏡先端の座標を、内視鏡基準位置を原点とする相対座標に変換する。次のステップS25においてCPUは、内視鏡のUp方向がy軸に一致し、かつ、コイル位置Bの軸方向がZ軸に一致するように変換する。 次のステップS26においてCPUは、内視鏡先端位置に相当するマップ座標系上の位置座標(例えば連続座標)を算出する。そして、このステップS26により現在の内視鏡先端位置が向く方向を算出できる。このステップS26が先端方向算出部を形成する。
【0047】
そして、次のステップS27においてCPUは、マップ座標に基づいて目標プーリアングルの値を算出する。
【0048】
図17は、ステップS27により目標プーリアングルを算出する様子を示す。ステップS26により、例えば図17に示すように現在の内視鏡先端の特定(座標Pp,方向Dp)によりその状態に対応するプーリアングル(θa,θb)が、現在の絶対プーリアングル値として算出される。
また、ステップS23においても、目標位置に対応する目標位置用プーリアングル(θc,θd)が絶対プーリアングル値として算出される。
そして、これら両絶対プーリアングル値の差分値、つまり(θc−θa,θd−θb)が、現在の内視鏡先端の状態から目標位置の方向に湾曲制御する湾曲制御目標とする(図13のステップS18に示す)目標プーリアングルとして算出される。
【0049】
ステップS27の処理から分かるように現在の内視鏡先端の状態(一般的には湾曲された状態)から目標位置の方向に湾曲させる場合、現在の湾曲状態に対応するプーリアングル(θa,θb)と目標位置に対応するプーリアングル(θc,θd)との差分値(つまり相対値)で湾曲(駆動)量が決定される。
このため、湾曲操作の繰り返しや経年変化により湾曲用のワイヤが伸びて、手元側での操作量が先端側での湾曲量と一致しないずれ(基準位置のずれ)が発生したような場合にも、相対値で湾曲駆動量を決定するので、精度の良い湾曲制御を行うことができる。
補足説明すると、例えば現在の内視鏡先端の位置及び方向から、湾曲の目標位置側に湾曲させる場合、手元側の実際のプーリアングルの値を用いないで、マップ58上の現在の内視鏡先端の位置及び方向に対応するプーリアングル値を用いる。
【0050】
このため、湾曲ワイヤが伸びて、手元側の実際のプーリアングルの基準値がずれてしまってもマップ58から算出されるプーリアングルの相対値を使用するため、精度良く湾曲制御を行うことができる。
また、本実施例は、湾曲部18を湾曲させた場合の湾曲部18の3次元的な湾曲情報を予めデータ化したマップ58にしてあるので、このマップ58を用いないで、演算などを行うことにより、湾曲制御を行うことも可能になるが、そのような場合に比較して簡単な演算で湾曲制御が可能となる。
また、マップ58を用いない場合に比較して、短時間に湾曲方向及び湾曲量を算出できるので、応答性の良い湾曲制御が可能となる。
つまり、上下、左右の各方向において、湾曲部18を詳細に湾曲させた場合における多数のプーリアングル座標値と、各プーリアングル座標値に対応する、内視鏡先端の3次元位置及びその方向とをデータ化した(データ)マップ58を形成している。
【0051】
このため、両者の一方が分かる場合には、他方を単に読み出すことにより算出できる。つまり、複雑な演算を必要することなく、短時間に湾曲方向及び湾曲量を算出できる。 また、マップ58は、離散値でデータ化されているため、データ化されていない値に対応する湾曲方向及び湾曲量を算出する必要がある場合にも、その値に近いデータ化されている値が存在するため、近似解法(近似評価法)の1つとして、例えば擬似ニュートン法を用いて簡単に算出したい値を算出することができる。
例えば、図17に示すように、目標位置の座標からマップ58の座標系上でその目標位置の方向に相当する目標位置用プーリアングル(θc,θd)を算出する必要がある。この場合、各グリッド(格子点)上での位置及びプーリアングル値は、既知であるので、例えば複数のグリッド上での各方向と目標位置の方向とのずれ量を求める。
【0052】
そして、それらの3次元的なずれ量から、擬似ニュートン法を用いて、そのずれ量が十分に小さくなる近似値としての方向の値を算出して、その算出した方向に相当する目標位置用プーリアングル(θc,θd)を算出することができる。
このように本実施例によれば、挿入部9の先端側の湾曲部18を湾曲させた場合の3次元的湾曲情報としてのマップ情報を用いることにより、精度良く湾曲制御ができる。
また、本実施例によれば、図18に示すように内視鏡先端により腸管等の襞を押さえつけるような手技を行い易い。
つまり、本実施例においては、マップ58により、内視鏡先端の位置及び方向を検出できるため、図18に示すように内視鏡先端(模式的に先端コイルで示している)で襞60を例えば矢印の方向に押さえつけるような手技を行い易くなる。
【0053】
なお、、図10に示したグリッド間の値を小さくしたデータを生成するようにすれば、補間等を殆ど用いることなく、グリッド上(マップデータ点上)のデータから目標プーリアングル等を算出することもできる。
また、目標位置がマップ58の座標系上に位置するか、これに近い状態である場合には、マップ58上の現在の内視鏡先端の位置でのプーリアングル値と、目標位置に相当するマップ上の位置でのプーリアングル値の差分値分を目標プーリアングルとして算出することができる。
また、目標位置の方向の情報からマップ58上での対応するプーリアングルを算出する代わりに、目標位置の位置情報からマップ58上での対応するプーリアングルを算出するようにしても良い。
【0054】
なお、図19に示すような構成にしても良い。図19は変形例における内視鏡2及びPC本体7を示す。この変形例に示すように、各内視鏡2に上述したマップ58の情報を格納した(不揮発性メモリ等で構成される)マップ情報格納部61を内蔵する構成にしても良い。
そして、内視鏡2がPC本体7と接続された場合、PC本体7内のメイン処理部55等の処理を行うCPU62が、そのマップ58の情報を読み出し、PC本体7のハードディスク63や不揮発性メモリ、メモリ52等に格納して、湾曲制御に使用するようにしても良い。
また、使用後は、PC本体7側でマップ58の情報を、内視鏡2が有するID情報と関連付けて保存するようにしても良い。
なお、内視鏡2は、その内視鏡2に固有のID情報を発生するID情報発生部(図19中ではIDと略記)64を備える。
【0055】
また、内視鏡2には、マップ58の情報を格納しないで、PC本体7側で、内視鏡2のID情報と共に、その内視鏡のマップ58の情報を保存するようにしても良い。
図19では、ID情報がIDaの場合にはマップ情報MDaと対にして、ID情報がIDbの場合にはマップ情報MDbと対にしてマップ情報を格納する構成を示している。 そして、内視鏡2がPC本体7に接続された場合、CPU62は、内視鏡2のID情報を読み出し、このID情報に対応するマップ58の情報を用いて、湾曲制御を行うようにすることもできる。
本変形例によれば、さらにPC本体7に対して実際に接続使用される内視鏡2が異なる場合にも、その内視鏡2の場合の湾曲部18の湾曲に対応した3次元の湾曲情報としてのマップ情報を用いて、精度の良い湾曲制御が可能となる。その他は、実施例1と同様の効果を有する。
【産業上の利用可能性】
【0056】
内視鏡を屈曲した体腔内に挿入して内視鏡検査を行う場合に広く利用できる。
【図面の簡単な説明】
【0057】
【図1】図1は本発明の実施例1の内視鏡システムの構成を使用例の状態で示す構成図。
【図2】図2は内視鏡装置の外観例を示す図。
【図3】図3は内視鏡の内部構成を示す図。
【図4】図4は挿入部の先端側のコイルの配置例を示す図。
【図5】図5は検出される挿入形状を示す図。
【図6A】図6Aは挿入形状データの例を示す図。
【図6B】図6Bはフレームデータの例を示す図。
【図6C】図6Cはコイル座標データの例を示す図。
【図7】図7はPC本体の機能的なブロック構成を示す図。
【図8】図8はメイン処理部の機能的なブロック構成を示す図。
【図9】図9はマップを作成する処理手順を示すフローチャート。
【図10】図10はマップデータを作成する説明図を示す。
【図11】図11はマップを作成する際の内視鏡基準位置と内視鏡先端の座標等を示す説明図。
【図12A】図12Aはマップを内視鏡先端の3次元座標系で表し、その場合下方向から上方向の湾曲方向へ見た側面図。
【図12B】図12Bはマップを内視鏡先端の3次元座標系で表し、その場合右方向から左方向の湾曲方向へ見た側面図。
【図13】図13は本実施例による湾曲制御の手順を示すフローチャート。
【図14】図14はマップ情報を利用して目標プーリアングルを算出する手順を示すフローチャート。
【図15】図15は内視鏡先端のUp方向をy軸方向に一致させる処理の説明図。
【図16】図16はクォータニオンを用いる作用の説明図。
【図17】図17は現在の内視鏡先端の設定状態から目標位置に湾曲させるための目標プーリアングルを算出する説明図。
【図18】図18は内視鏡先端により襞を押さえつける様子を示す説明図。
【図19】図19は本発明の変形例における内視鏡及びPC本体の構成を示すブロック図。
【符号の説明】
【0058】
1…内視鏡システム、2…内視鏡、7…PC本体、9…挿入部、11…UPD装置、18…湾曲部、22…モータユニット、34…撮像装置、36a、36b、36c…コイル、43a、43b…モータ、44a、44b…エンコーダ、55…メイン処理部、56…湾曲量制御スレッド、58…マップ
【特許請求の範囲】
【請求項1】
湾曲可能な湾曲部が挿入部の先端側に形成された内視鏡と、
前記湾曲部を電気的に湾曲駆動する湾曲駆動部と、
前記挿入部の先端側における湾曲部の後端付近の位置を基準位置として、前記湾曲部を湾曲させた場合における湾曲方向を含む湾曲量と、前記湾曲量に対応する挿入部先端の3次元位置及び方向とを関連付けてデータ化したマップ情報を格納するマップ情報格納部と、
前記挿入部の先端の位置及び方向を検出する位置・方向検出部と、
前記マップ情報を用いて前記挿入部の先端を目標とする目標方向に指向させるように前記湾曲駆動部の湾曲駆動を制御する湾曲制御部と、
を備えたことを特徴とする内視鏡システム。
【請求項2】
湾曲可能な湾曲部を有する挿入部を備えた内視鏡と、
前記湾曲部の湾曲動作によって、湾曲部の後端付近に設定された位置を基準位置として前記挿入部先端の3次元位置及び方向の軌跡をデータ化したマップ情報を格納したマップ情報格納部と、
前記挿入部先端の現在位置の指定により、現在の挿入部先端の方向を、前記マップ情報を用いて算出する先端方向算出部と、
前記挿入部先端を指向させようとする目標位置の方向を、前記マップ情報を用いて算出する目標位置方向算出部と、
前記先端方向算出部及び目標位置方向算出部との算出結果から現在の挿入部先端の状態から前記目標位置の方向に前記湾曲部を湾曲させる制御を行う湾曲制御部と、
を備えたことを特徴とする内視鏡システム。
【請求項3】
さらに、前記内視鏡に設けられた撮像部により撮像した内視鏡画像から前記目標位置を算出することを特徴とする請求項2に記載の内視鏡システム。
【請求項4】
前記湾曲制御部は、前記目標位置方向算出部により算出された方向と前記先端方向算出部により算出された方向との差分値に相当する角だけ、前記湾曲部を湾曲させる制御を行うことを特徴とする請求項2又は3に記載の内視鏡システム。
【請求項5】
さらに、前記挿入部に設けられた磁気発生用コイルの位置により前記挿入部先端の現在位置を検出することを特徴とする請求項2乃至4のいずれか1つの請求項に記載の内視鏡システム。
【請求項6】
前記マップ情報は、前記内視鏡の識別情報と関連付けて前記マップ情報格納部に格納されることを特徴とする請求項1または2に記載の内視鏡システム。
【請求項1】
湾曲可能な湾曲部が挿入部の先端側に形成された内視鏡と、
前記湾曲部を電気的に湾曲駆動する湾曲駆動部と、
前記挿入部の先端側における湾曲部の後端付近の位置を基準位置として、前記湾曲部を湾曲させた場合における湾曲方向を含む湾曲量と、前記湾曲量に対応する挿入部先端の3次元位置及び方向とを関連付けてデータ化したマップ情報を格納するマップ情報格納部と、
前記挿入部の先端の位置及び方向を検出する位置・方向検出部と、
前記マップ情報を用いて前記挿入部の先端を目標とする目標方向に指向させるように前記湾曲駆動部の湾曲駆動を制御する湾曲制御部と、
を備えたことを特徴とする内視鏡システム。
【請求項2】
湾曲可能な湾曲部を有する挿入部を備えた内視鏡と、
前記湾曲部の湾曲動作によって、湾曲部の後端付近に設定された位置を基準位置として前記挿入部先端の3次元位置及び方向の軌跡をデータ化したマップ情報を格納したマップ情報格納部と、
前記挿入部先端の現在位置の指定により、現在の挿入部先端の方向を、前記マップ情報を用いて算出する先端方向算出部と、
前記挿入部先端を指向させようとする目標位置の方向を、前記マップ情報を用いて算出する目標位置方向算出部と、
前記先端方向算出部及び目標位置方向算出部との算出結果から現在の挿入部先端の状態から前記目標位置の方向に前記湾曲部を湾曲させる制御を行う湾曲制御部と、
を備えたことを特徴とする内視鏡システム。
【請求項3】
さらに、前記内視鏡に設けられた撮像部により撮像した内視鏡画像から前記目標位置を算出することを特徴とする請求項2に記載の内視鏡システム。
【請求項4】
前記湾曲制御部は、前記目標位置方向算出部により算出された方向と前記先端方向算出部により算出された方向との差分値に相当する角だけ、前記湾曲部を湾曲させる制御を行うことを特徴とする請求項2又は3に記載の内視鏡システム。
【請求項5】
さらに、前記挿入部に設けられた磁気発生用コイルの位置により前記挿入部先端の現在位置を検出することを特徴とする請求項2乃至4のいずれか1つの請求項に記載の内視鏡システム。
【請求項6】
前記マップ情報は、前記内視鏡の識別情報と関連付けて前記マップ情報格納部に格納されることを特徴とする請求項1または2に記載の内視鏡システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図12A】
【図12B】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図6C】
【図7】
【図8】
【図9】
【図10】
【図11】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図12A】
【図12B】
【公開番号】特開2009−136618(P2009−136618A)
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願番号】特願2007−318658(P2007−318658)
【出願日】平成19年12月10日(2007.12.10)
【出願人】(304050923)オリンパスメディカルシステムズ株式会社 (1,905)
【Fターム(参考)】
【公開日】平成21年6月25日(2009.6.25)
【国際特許分類】
【出願日】平成19年12月10日(2007.12.10)
【出願人】(304050923)オリンパスメディカルシステムズ株式会社 (1,905)
【Fターム(参考)】
[ Back to top ]