(57)【特許請求の範囲】
【請求項１】
挿入部に設けられた湾曲部と、
前記湾曲部を湾曲動作させる複数の構成部材を有する湾曲駆動手段と、
前記湾曲駆動手段を駆動する湾曲動力手段と、
前記湾曲駆動手段の動作情報を検知して前記湾曲部の湾曲状態情報を検出する湾曲状態検出手段と、
前記湾曲部を湾曲させる湾曲指示情報を出力する指示手段と、
前記指示手段の湾曲指示情報に基づき、前記湾曲部の湾曲状態を制御する制御信号を前記湾曲動力手段に出力する独立した複数の論理ブロックにより構成された湾曲動作制御手段と、
前記湾曲動作制御手段を構成する論理ブロックの制御状態を監視するブロック監視手段と、
前記ブロック監視手段の監視結果に基づき、前記指示手段の湾曲指示情報と前記湾曲部の湾曲状態情報とが一致するように前記論理ブロックを選択して前記制御信号を決定する論理ブロック選択手段と、
を備えたことを特徴とする電動湾曲内視鏡。
【請求項２】
前記論理ブロックは、
前記湾曲状態検出手段が検出した前記湾曲状態情報を取得する湾曲状態情報入力論理ブロックと、
前記湾曲状態情報入力論理ブロックが取得した前記湾曲状態情報と、前記湾曲指示情報とを演算する状態演算論理ブロックと、
を備えたことを特徴とする請求項１に記載の電動湾曲内視鏡。
【請求項３】
前記湾曲状態情報は前記湾曲部の湾曲位置情報を含み、
前記状態演算論理ブロックは、
前記湾曲位置情報と前記湾曲指示情報との差分を演算し位置偏差情報を算出する位置偏差情報演算論理ブロックと、
前記湾曲位置情報の時間的変化率を算出する速度情報演算論理ブロックと、
前記湾曲部の位置情報を演算する位置情報演算論理ブロックと、
を備えたことを特徴とする請求項２に記載の電動湾曲内視鏡。
【請求項４】
前記論理ブロックは、論理を再構成可能な機能を有する複数論理ブロックにより構成されたことを特徴とする請求項１−３のいずれか一項に記載の電動湾曲内視鏡。
【請求項５】
前記湾曲動作制御手段、前記ブロック監視手段および前記論理ブロック選択手段は、ＦＰＧＡにより構成されることを特徴とする請求項１−４のいずれか一項に記載の電動湾曲内視鏡。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、絶対位置信号を出力する湾曲動作指示部を操作することによって、湾曲部が絶対位置信号に対応する状態に電動湾曲する電動湾曲内視鏡を具備した電動湾曲内視鏡に関する。
【背景技術】
【０００２】
近年、体腔内に細長の挿入部を挿入することにより、体腔内の臓器を観察したり、必要に応じ、処置具チャンネル内に挿入した処置具を用いて、各種治療処置の行える内視鏡が広く利用されている。
【０００３】
この内視鏡には、一般に先端部側に上下／左右に湾曲する湾曲部が設けられており、この湾曲部に接続した湾曲ワイヤを牽引・弛緩操作することによって湾曲部を所望の方向に湾曲させられる。
【０００４】
前記湾曲ワイヤは、一般的に手動で操作されていたが、近年では、例えば特開２００３−２４５２４６号公報等に開示されているように、電動モータ等の湾曲動力手段を用いて牽引操作する電動湾曲内視鏡もある。
【０００５】
この電動湾曲内視鏡では例えば、操作部に設けた湾曲動作指示手段である例えば絶対位置の湾曲指示信号を出力するジョイスティックによって電動モータを回転させ、この電動モータの回転によってプーリーを回転させ、このプーリーに連結されている湾曲ワイヤを牽引して湾曲部を湾曲させていた。
【０００６】
前記ジョイスティックは、傾倒操作することによって湾曲位置を指示する。つまり、ジョイスティックを傾けた方向が湾曲部を湾曲させたい方向であり、ジョイスティックの傾倒角度が湾曲部の湾曲角度になる。そして、ジョイスティックの傾倒角度が０度である直立状態のとき、前記湾曲部は非湾曲状態（直線状態）になる。したがって、術者はジョイスティックを保持している手指の感覚で、体腔内の湾曲部の湾曲状態を容易に把握することができる。
【特許文献１】特開２００３−２４５２４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の電動湾曲内視鏡においては、通常、湾曲制御部のモータコントロールを行うサーボ制御としてマイクロコンピュータ（例えば、ＣＰＵやＭＰＵ）が用いられており、このマイクロコンピュータでは、モータの応答速度をコントロールする演算部の役割を果たしているが、マイクロコンピュータにおいては、シーケンシャル処理が行われているために、一部の処理機能が停止すると、全ての機能が停止してしまい、湾曲操作に支障が生じ、検査全体が煩雑になるといった問題がある。
【０００８】
本発明は、上述した点に鑑みてなされたもので、湾曲制御部の一部の機能に問題が生じても、湾曲操作を継続することのできる電動湾曲内視鏡を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明の電動湾曲内視鏡は、
挿入部に設けられた湾曲部と、
前記湾曲部を湾曲動作させる複数の構成部材を有する湾曲駆動手段と、
前記湾曲駆動手段を駆動する湾曲動力手段と、
前記湾曲駆動手段の動作情報を検知して前記湾曲部の湾曲状態情報を検出する湾曲状態検出手段と、
前記湾曲部を湾曲させる湾曲指示情報を出力する指示手段と、
前記指示手段の湾曲指示情報と前記湾曲部の湾曲状態情報とが一致するように制御する、独立した複数の論理ブロックから構成された湾曲動作制御手段と
を備えて構成される。
【発明の効果】
【００１０】
本発明の電動湾曲内視鏡は、
挿入部に設けられた湾曲部と、
前記湾曲部を湾曲動作させる複数の構成部材を有する湾曲駆動手段と、
前記湾曲駆動手段を駆動する湾曲動力手段と、
前記湾曲駆動手段の動作情報を検知して前記湾曲部の湾曲状態情報を検出する湾曲状態検出手段と、
前記湾曲部を湾曲させる湾曲指示情報を出力する指示手段と、
前記指示手段の湾曲指示情報に基づき、前記湾曲部の湾曲状態を制御する制御信号を前記湾曲動力手段に出力する独立した複数の論理ブロックにより構成された湾曲動作制御手段と、
前記湾曲動作制御手段を構成する論理ブロックの制御状態を監視するブロック監視手段と、
前記ブロック監視手段の監視結果に基づき、前記指示手段の湾曲指示情報と前記湾曲部の湾曲状態情報とが一致するように前記論理ブロックを選択して前記制御信号を決定する論理ブロック選択手段と、
を備えたことを特徴とする電動湾曲内視鏡。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施例について述べる。
【実施例１】
【００１２】
図１ないし図２４は本発明の実施例１に係わり、図１は電動湾曲内視鏡装置の構成を示す構成図、図２は図１の画像処理装置のフロントパネルの構成を示す図、図３は図１の湾曲制御部の構成を示す図、図４は図１の湾曲制御部の制御部の構成を示す図、図５は図４のＦＰＧＡの論理ブロックの構成を示す図、図６は図５のモータコントローラの制御処理部の構成を示す図、図７は図５のモータコントローラのサーボ異常検出部の構成を示す図、図８は図５のモータコントローラにおけるサーボ制御を説明する第１の説明図、図９は図５のモータコントローラにおけるサーボ制御を説明する第２の説明図、図１０は図５のモータコントローラにおけるサーボ制御の第１の変形例を説明する説明図、図１１は図４のＦＰＧＡのコンフィギュレーションの変形例を説明する説明図、図１２は図５のモータコントローラにおけるサーボ制御の第２の変形例を説明する説明図、図１３は図５のＦＰＧＡブロック異常監視部を構成する論理要素ブロックを説明する第１の説明図、図１４は図５のＦＰＧＡブロック異常監視部を構成する論理要素ブロックを説明する第２の説明図、図１５は図１３の論理要素ブロックを用いた論理判定ブロックを説明する第１の説明図、図１６は図１３の論理要素ブロックを用いた論理判定ブロックを説明する第２の説明図、図１７は図１３の論理要素ブロックを用いた論理判定ブロックを説明する第３の説明図、図１８は図５のＦＰＧＡにおける処理遷移を説明する図、図１９は図５のＦＰＧＡにおける処理を説明するフローチャート、図２０は図１９のイニシャルモード処理を説明するフローチャート、図２１は図１９のメンテナンスモード処理を説明するフローチャート、図２２は図１９のキャリブレーションモード処理を説明するフローチャート、図２３は図１９の動作モード処理を説明するフローチャート、図２４は図１９の動作モード処理を説明するタイミング図である。
【００１３】
図１に示すように本実施例の電動湾曲内視鏡装置１は、内視鏡挿入部（以下、挿入部と略記する）９をの先端硬性部に例えば撮像素子（不図示）を内蔵し、挿入部９の湾曲部１１が湾曲駆動手段を構成する湾曲ワイヤ（後述）を電動で牽引することによって湾曲動作する電動湾曲内視鏡（以下、内視鏡と略記する）２と、前記湾曲部１１の駆動操作等を行う指示手段としてのリモートコントロール操作部（以下、リモコン操作部と略記する）７と、ユニバーサルケーブル１２を介して伝送された画像信号を映像信号に生成する画像処理装置４と、図示しない照明光学系にユニバーサルケーブル１２に内蔵されたライトガイドファイバー束（不図示）を介して照明光を供給する光源装置３と、前記画像処理装置４で生成された映像信号が出力されて内視鏡画像を表示する表示装置であるモニタ６と、送気、送水管路及び吸引を行うポンプユニット１４とで主に構成されている。
【００１４】
光源装置３、画像処理装置４及びポンプユニット１４はカート１５に搭載されており、ポンプユニット１４は、送気、送水管路及び吸引の流量調整機構を備えた流量制御カセット１４ａを着脱自在に設置されている。また、カート１５からは内視鏡２を保持／固定する内視鏡固定アーム１３が設けられており、内視鏡固定アーム１３の先端に内視鏡２の基端把時部１０が着脱自在に保持／固定されるようになっている。
【００１５】
内視鏡２の基端把時部１０には、流量制御カセット１４ａからの吸引チューブが接続可能な鉗子栓１０ａが配置されると共に、ユニバーサルケーブル１２及び流量制御カセット１４ａからの送気送水チューブが接続されるようになっている。前記挿入部９内の図示しない例えば送気管路、送水管路、吸引管路に送気送水チューブ等及び吸引チューブが連結される。
【００１６】
また、基端把時部１０内には、湾曲部１１を電動湾曲駆動するためのモータ等を制御する湾曲制御部１０ｂが内蔵されており、リモコン操作部７が該湾曲制御部１０ｂとケーブル７ａを介して接続されるようになっている。なお、リモコン操作部７は、画像処理装置４ともケーブル７ａを介して接続可能であり、ユニバーサルケーブル１２を介して湾曲制御部１０ｂと接続することできるようになっている。
【００１７】
リモコン操作部７は、図示はしないが、湾曲部１１を電動湾曲操作を行う操作入力デバイスである、例えばジョイスティック、送気、送水及び吸引の操作入力スイッチ、画像処理装置４でのフリーズ、レリーズ等のリモートスイッチからなるスコープスイッチを備えている。湾曲状態検出手段湾曲動作制御手段としての
画像処理装置４はポンプユニット１４と接続可能となっており、画像処理装置４のフロントパネル４ａは、図２に示すように、パワースイッチ２０、電動湾曲内視鏡装置１の初期化を指示し初期化完了を告知するＬＥＤ機能を有する初期化ボタン２３、湾曲部１１の電動湾曲のキャリブレーションを告知するキャリブレーションＬＥＤ部２４、ポンプユニット１４の送気、送水及び吸引の操作入力スイッチ群２５、電動湾曲内視鏡装置１での検査が可能な状態を告知する検査可能ＬＥＤ２６及び送気管路、送水管路、吸引管路の接続状態を表示する管路接続表示部２７等を備えて構成されている。
【００１８】
図３に示すように、前記挿入部９内には前記湾曲制御部１０ｂから延出して前記湾曲部１１を湾曲操作する上下用の前記湾曲ワイヤ３３及び図示しない左右用の湾曲ワイヤが挿通している。なお、以下の説明では上下用の湾曲ワイヤ３３に関わる構成を説明し、この上下用の湾曲ワイヤ３３と同様な構成である左右用の湾曲ワイヤに関わる構成は簡単のため不図示にして説明も省略する。
【００１９】
前記湾曲ワイヤ３３の両端部は例えば図示しないチェーンに連結固定されており、このチェーンが湾曲駆動手段を構成する回動自在な上下用のスプロケット部３４に噛合配置されている。このため、前記スプロケット部３４が所定方向に回転することによって、前記チェーンに固定された湾曲ワイヤ３３が牽引操作されて、前記湾曲部１１が所定方向に湾曲動作するようになっている。
【００２０】
前記スプロケット部３４は例えば湾曲制御部１０ｂ内に配設されている。このスプロケット部３４には例えば３相モータからなる上下用の湾曲動力手段である湾曲モータ３０の駆動力が、複数のギア３１、３２と駆動力伝達切断復元手段である例えば歯車同士の噛合状態を着脱するクラッチ機構部３６とを備えている。そして、前記クラッチ機構部３６によって、前記湾曲ワイヤ３３に張力がかからない状態にすることにより、湾曲部１１が外力によって自由に湾曲する湾曲フリー状態になる。
【００２１】
なお、湾曲駆動手段は、ギア３１、３２、湾曲ワイヤ３３、スプロケット部３４及びクラッチ機構部３６等より構成される。
【００２２】
前記クラッチ機構部３６は、状態切換手段である切換操作レバー１０ｃ（図１参照）を駆動力伝達切断位置（以下、湾曲フリー指示位置と記載する）又は駆動力伝達復元位置（以下、アングル操作指示位置）に切換操作することによって、前記クラッチ機構部３６が切断状態である駆動力伝達切断状態と、クラッチ機構部３６が接続状態である駆動力伝達復元状態とに切り換わるようになっている。
【００２３】
つまり、前記切換操作レバー１０ｃを切換操作して、このクラッチ機構部３６を機械的に切断状態或いは接続状態に切り換えることによって、前記湾曲モータ３０と前記スプロケット部３４とは可逆的に着脱可能になっている。
【００２４】
前記スプロケット部３４の回転量は、湾曲角度検出手段であるポテンショメータ３５で検出される。なお、符号３０ａは前記湾曲モータ３０の回転量を検出するエンコーダである。また、符号３８は、湾曲モータ３０の温度を計測するサーミスタである。湾曲状態検出手段はポテンショメータ３５またはエンコーダ３０ａにより構成される。
【００２５】
湾曲制御部１０ｂの制御部３７には、リモコン操作部７、エンコーダ３０ａ、ポテンショメータ３５、クラッチ機構部３６及びサーミスタ３８が接続されている。
【００２６】
湾曲制御部１０ｂは、図４に示すように、ユニバーサルケーブル１２を介した電源ケーブル（不図示）が接続される電源コネクタ５０と、リモコン操作部７のケーブル７ａが接続される操作部コネクタ５１が設けられている。電源コネクタ５０は、制御部３７内の制御用電源部５２と、駆動用電源部５３に接続されている。制御用電源部５２はＤＣ／ＤＣコンバータ５４を介して制御用の電力を各部に供給するようになっている。また、駆動用電源部５３モータドライバ５５が生成する３相正弦波電力のための駆動電力を供給する。
【００２７】
操作部コネクタ５１は、湾曲制御部１０ｂ内の湾曲動作制御手段としてのＦＰＧＡ（フィールドプログラマブルゲートアレー）５６と接続されている。このＦＰＧＡ５６は、ＥＥＰＲＯＭ５９に格納されているデータに基づきコンフィギュレーションを行い、内部セルを所望の論理ブロックに構築するようになっている。エンコーダ３０ａ、ポテンショメータ３５、クラッチ機構部３６及びサーミスタ３８は、ＦＰＧＡ５６に接続されており、ＦＰＧＡ５６により制御される。また、ＦＰＧＡ５６は、モータドライバ５５に対して３相正弦波電力の生成のためのデータを供給しており、これによりモータドライバ５５は３相正弦波電力を湾曲モータ３０に供給する。
【００２８】
ＦＰＧＡ５６は、内部セルに一定以上の所定の異常が発生すると、ＷＤＴ（ウォッチドグタイマ）５７をクリアするＷＤＴ−ＣＲ信号を出力する。このＷＤＴ−ＣＲによりＷＤＴ５７からリセット信号がＦＰＧＡ５６に出力され、ＦＰＧＡ５６がリセットされる。ＦＰＧＡ５６は、リセット信号が入力されると、リセットＩＣ５８を起動させ、ＥＥＰＲＯＭ５９により再コンフィギュレーションを行い、内部セルの論理ブロックを再構築するようになっている。
【００２９】
ＦＰＧＡ５６の論理ブロックは、図５に示すように、シリアル通信ユニット１００、シリアル通信制御部１０１、ＥＥＰＲＯＭコントローラ１０２、異常信号処理部１０３、ＬＥＤコントローラ１０４、運転モードコントローラ１０５、 ＤＰＲＡＭ１０６、クラッチ信号入力部１０７、治具基板入出力部１０８、ＲＡＭ１０９、モータコントローラ１１０、モータ駆動波形生成部１１１、ＲＬ（左右）モータ電流Ｆ／Ｂ部１１２、ＵＤ（上下）モータ電流Ｆ／Ｂ部１１３、ポテンショコントロール部１１４、サーミスタコントロール部１１５、ＲＬエンコーダコントロール部１１６、ＵＤエンコーダコントロール部１１７、ＦＰＧＡブロック異常監視部１１８とから構成される。また、モータコントローラ１１０は、計測処理部２００、制御処理部２０１、サーボ異常検出部２０２及びサーボＯＮ／ＯＦＦ制御部２０３の各論理ブロックを有して構成されている。
【００３０】
なお、図５においては、実線は通常の制御及びデータ信号の流れを示し、破線は論理ブロック異常信号、サーボ異常信号あるいは通信異常信号の流れを示している。
【００３１】
シリアル通信ユニット１００は、リモコン操作部７と例えばＬＶＤＳ等によりシリアル通信を行い、シリアル通信制御部１０１は、シリアル通信ユニット１００を制御すると共に、モータコントローラ１１０と交信し、モータコントローラ１１０から受信したデータをＤＰＲＡＭ１０６に格納する。
【００３２】
ＥＥＰＲＯＭコントローラ１０２は、ＥＥＰＲＯＭ５９に格納されているプログラムに従って、ＦＰＧＡ５６のコンフィギュレーションを実行する。
【００３３】
異常信号処理部１０３は、湾曲モータ３０の電源電圧異常及び過電流を監視し、監視結果を運転モードコントローラ１０５に出力する。
【００３４】
クラッチ信号入力部１０７は、クラッチ機構部３６から動力伝達切断状態あるいは駆動力伝達復元状態を示す状態信号を入力し、運転モードコントローラ１０５に出力する。
【００３５】
治具基板入出力部１０８は、デバッグ処理を行うための治具基板（不図示）とデータを送受する。また、ＬＥＤコントローラ１０４は治具基板のＬＥＤを制御する。
【００３６】
運転モードコントローラ１０５は、クラッチ機構部３６から動力伝達切断状態あるいは駆動力伝達復元状態、治具基板との接続状態に応じた運転モードをモータコントローラ１１０に出力する。なお、運転モードコントローラ１０５には、シリアル通信制御部１０１より通信異常信号が、またモータコントローラ１１０からはサーボ異常信号が入力されるようになっており、これらの異常信号に基づた運転モードをモータコントローラ１１０に出力するようになっている。
【００３７】
モータ駆動波形生成部１１１は、モータコントローラ１１０を介してＲＡＭ１０９に格納されている正弦波データを読み出し、３相正弦波データを生成し、ＲＬ（左右）モータドライバ及びＵＤ（上下）モータドライバ５５に該３相正弦波データを出力する。
【００３８】
ＲＬ（左右）モータ電流Ｆ／Ｂ部１１２は、ＲＬ（左右）モータよりＵ相電流値及びＶ相電流値をデジタル信号に変換してモータコントローラ１１０に出力する。同様に、ＵＤ（上下）モータ電流Ｆ／Ｂ部１１３は、ＵＤ（上下）モータ３０よりＵ相電流値及びＶ相電流値をデジタル信号に変換してモータコントローラ１１０に出力する。
【００３９】
ポテンショコントロール部１１４は、ＲＬ（左右）スプロケット部及びＵＤ（上下）スプロケット部３４に接続されているポテンショメータ３５の位置情報をデジタル信号に変換してモータコントローラ１１０に出力する。
【００４０】
サーミスタコントロール部１１５は、ＲＬ（左右）モータ及びＵＤ（上下）モータ３０に設けられているサーミスタ３８により計測された温度データをデジタル信号に変換してモータコントローラ１１０に出力する。
【００４１】
ＲＬエンコーダコントロール部１１６及びＵＤエンコーダコントロール部１１７は、ＲＬ（左右）モータ及びＵＤ（上下）モータ３０に設けられているエンコーダ３０ａのカウント値をモータコントローラ１１０に出力する。
【００４２】
そして、モータコントローラ１１０は、計測処理部２００、制御処理部２０１、サーボ異常検出部２０２及びサーボＯＮ／ＯＦＦ制御部２０３により、運転モードに基づいて、ＲＬ（左右）モータ及びＵＤ（上下）モータ３０をサーボ制御する。
【００４３】
また、ＦＰＧＡブロック異常監視部１１８には、上記の各論理ブロックの論理ブロック異常信号、サーボ異常信号あるいは通信異常信号が入力されており、これらの異常信号に基づき、モータコントローラ１１０にＴＲＧ信号を出力すると共に、ＷＤＴ５７にＷＤＴ−ＣＲを出力するようになっている。
【００４４】
ここで、モータコントローラ１１０の制御処理部２０１は、図６に示すように、位置制御ブロック２０１ａ、速度制御ブロック２０１ｂ及びトルク制御ブロック２０１ｃを備えて構成され、また、サーボ異常検出部２０２は、図７に示すように、位置偏差異常判定ブロック２０２ａ、回転方向異常検出ブロック２０２ｂ、異常速度検出ブロック２０２ｃ及び過負荷異常検出ブロック２０２ｄを備えて構成されている。
【００４５】
次に、モータコントローラ１１０におけるサーボ制御を図８を用いて説明する。位置制御ブロック２０１ａは、リモコン操作部７からの位置指令値とエンコーダ３０ａの出力値とを比較し、位置偏差が所定値を超えた場合、位置偏差異常判定ブロック２０２ａはサーボ異常信号を出力する。
【００４６】
また、速度制御ブロック２０１ｂは、位置制御ブロック２０１ａの出力と、エンコーダ３０ａの出力値の微分値（微分回路２１１にて実行）とを比較する。回転方向異常検出ブロック２０２ｂは、位置制御ブロック２０１ａの出力とエンコーダ３０ａの出力値の微分値とにより回転方向の異常を検出するとサーボ異常信号を出力する。また、異常速度検出ブロック２０２ｃは、エンコーダ３０ａの出力値の微分値に基づき速度異常を検出するとサーボ異常信号を出力する。
【００４７】
さらに、トルク制御ブロック２０１ｃは、速度制御ブロック２０１ｂの出力と、モータドライバ５５の電流値を比較し、モータドライバ５５を制御する。過負荷異常検出ブロック２０２ｄは、速度制御ブロック２０１ｂの出力に基づき、湾曲モータ３０の負荷状態を監視し、過負荷状態と判断するとサーボ異常信号を出力する。
【００４８】
図９を用いて制御ループに異常が合った場合の動作例を説明する。簡単のため、ここではＦ／Ｂ（フィードバック）構成は省略する。
【００４９】
例えば、速度制御ブロック２０１ｂで速度異常が合った場合についての内容について説明する。これは、位置制御指令値を直接電流制御部（トルク制御ブロック２０１ｃ）に切り替える場合を示しており、図中×で示したように、速度制御ブロック２０１ｂが動作不能となった場合に、後述する異常判断部から生成された信号をＴＲＧを介して切り替えＳＷ（スイッチ部２１０ａ、スイッチ部２１０ｂ及びスイッチ部２１０ｃ）により直接位置制御指令値を電流制御に入力している（図中の破線矢印で示すデータの流れ）。
【００５０】
このとき、速度制御ブロック２０１ｂがなくなることで、予め設定されているループゲインの定数も異なってくるため、速度制御ブロック２０１ｂがない状態でのゲイン設定値（予め速度制御が存在しない状態に設定しておく）を再設定する。
【００５１】
具体的には、速度制御ゲイン設定値が「Ｓｐ」（Ｓｐ＞０）と設定していた場合に切り替えＳＷを切り替えた場合には、速度制御ブロック２０１ｂが存在しない場合のゲイン設定値は「１」となることにより閉ループ特性が変化することは明らかである。
【００５２】
そのためＳｐ−＞１に開ループゲインが落ちた分を他の制御部、例えばスイッチ部２１０ａを切り替えず、スイッチ部２１０ｂ及びスイッチ部２１０ｃを切り変えることで、速度制御ブロック２０１ｂのみ回路系からとりに除き、位置制御ブロック２０１ａでゲインを上げることにより、閉ループ特性ができるだけ同じようにすることができる。
【００５３】
ただし、通常、速度制御ブロック２０１ｂには動的フィルタが挿入されており、速度制御ブロック２０１ｂをなくした場合に、静的ゲインのみになる。このことにより、動特性までは変更されない。動特性も同じようにしたい場合には、図１０あるいは図１１に示すような構成を用いれば可能となる。
【００５４】
図１０ではＦＰＧＡ５６の容量に余裕がある場合に、ＦＰＧＡ５６のセル上に予め並列に配置されている速度制御ブロックに切り替える例を示している。
【００５５】
図１０の例では、同じ構成要素を２つ配置し、切り替えＳＷ（スイッチ部２１０ａ、スイッチ部２１０ｂ、スイッチ部２１０ｃ、スイッチ部２１０ｄ、スイッチ部２１０ｅ及びスイッチ部２１０ｆ）を用いて異常が生じた場合には各制御ブロック間のデータの流れを切り替える方式をとり、異常判断部で生成されるＴＲＧに応じて切り替えＳＷを切り替えを行う構成となっている。
【００５６】
図１１の例では、予めＦＰＧＡ５６のコンフィギュレーション用プログラムを格納したＥＥＰＲＯＭ５９を２つ用意し、ＦＰＧＡ５６の内部の一部でエラーが発生した場合に対応する構成例を示している。
【００５７】
図１１の構成では、ＦＰＧＡ５６からエラーステータスラインを介して、選択判断部２２０に信号が出力され、ＦＰＧＡコードの再コンフィギュレーションが行われる。第１のＥＥＰＲＯＭ５９のプログラムデータでも、別に用意した第２のＥＥＰＲＯＭ５９のプログラムデータ（異常時対処対応に設定されたプログラムデータ）のどちらかをＦＰＧＡ５６に再設定するような構成となっている。
【００５８】
また、第１のＥＥＰＲＯＭ５９のプログラムデータにより何回かコンフィギュレーションを実施したにも関わらず異常が発生する場合、選択判断部２２０にて異常時対処対応に設定されたプログラムデータを格納した第２のＥＥＰＲＯＭ５９によりコンフィギュレーションを実施するＦＰＧＡコンフィギュレーションシーケンスにしておいても構わない。これは、選択判断部２２０に予め異常発生カウンタを用意し、例えば３回異常発生した場合には、切り替えＳＷ２２１を切り替えるように構成すれば実現できる。
【００５９】
次に、Ｆ／Ｂ（フィードバック）系に異常が合った場合の例として、エンコーダ３０ａのエラーが発生した対処例を図１２を用いて説明する。
【００６０】
正常動作時には、Ｆ／Ｂ系のデータはエンコーダ３０ａからの情報を用いている。ここで、エンコーダ３０ａに不具合が発生した場合には、切り替えＳＷ２２２のデータ経路を切り替えて、ポテンショメータ３５のデータを用いて位置制御Ｆ／Ｂを行う構成となっている。通常、ポテンショメータ３５は、データの信頼度としてはエンコーダ３０ａよりも劣る（リニアティ、ノイズ等）ため、絶対位置を検出するために必要なキャリブレーション時にのみ利用されるが、異常時に暫定動作として用いるように構成しても良い。
【００６１】
次に、Ｆ／Ｂ系異常時において、さらにポテンショメータ３５にエラーが発生した場合について説明する。ポテンショメータ３５に異常が生じた場合には、キャリブレーションシーケンスとの兼ね合いが生じる。ポテンショメータ３５は唯一の絶対位置検知手段であり、クラッチ機構部３６のクラッチＯＦＦの場合には、内視鏡湾曲位置とリモコン操作部７の位置とにずれが生じる可能性がある。そのため、クラッチ機構部３６に対してクラッチＯＦＦ指令が発生した場合、実際にはクラッチＯＦＦ動作をしないようにするか、あるいはクラッチＯＦＦ動作をした場合には電源をＯＦＦするメッセージをモニタ６に表示させる。また内視鏡２側には最大可動範囲制限メカストッパ（不図示）が存在するため、リモコン操作部７のジョイスティックの位置と湾曲位置がずれた状態でも動作可能なように相対位置制御動作として動作させてもよいことは言うまでもない。
【００６２】
図１３は本実施例の各ブロック異常、状態検知についての基本論理構成ブロック２５０を示している。また、図１４の構成はいずれかの異常が１つでも検出された場合にはＷＤＴ−ＣＲによりリセットをする構成（通常のＣＰＵ等の処理に用いられる構成）を示している。
【００６３】
図１３の基本論理構成ブロック２５０を１単位として、図１６に示すように、これら基本論理構成ブロック２５０をいくつ組み合わせることにより、論理積、論理和の組み合わせによる所望の異常処理検出部２５１を構成することが可能となる。
【００６４】
すなわち、基本論理構成ブロック２５０は、図１３に示すように、ＮＡＮＤ部、ＮＯＲ部及び切り替え部から構成されているため、ブール代数演算要素の基本論理を構成することができる。この基本論理構成ブロック２５０を積み重ねていくことで、様々な論理式を構成することができる。
【００６５】
従来の決められたシーケンスを実行するＣＰＵでは実現は難しいが、本実施例の重要構成要件がＦＰＧＡ５６であるため、配置配線等を電気回路のように行うことが可能であるために容易に実現することができる。
【００６６】
また、入力には、切替設定信号、入力１、入力２で構成され、出力が１出力で構成されている。この構成によれば、より基本的な基本論理構成ブロックを構成することができる。例えば１入力１出力であれば、入力１を電気回路のように接続すれば良いし、ＡＮＤかＯＲのいずれかの論理を用いるためには切替設定信号を固定しておけば良い。
【００６７】
前記基本論理構成ブロック２５０（１）〜（ｎ）を組み合わせた異常処理検出部２５１の適用例を図１７に示す。ＦＰＧＡ５６内の各ブロック監視信号に対する判断部を下記のように構成することで、Ｆ／Ｂ系に異常が合った場合（ポテンショメータ３５、エンコーダ３０ａのエラー発生時）に正常な位置検出手段に切り替えることも可能となる。
【００６８】
例えば、通常、電動湾曲制御は、リモコン操作部７のジョイスティックの倒れ角の位置に対する湾曲の位置を制御する位置制御で動作を行わせているが、位置制御ブロック２０１ａでの異常発生に応じて、位置制御ループをなくし、速度制御ループでのサーボ制御を実行させることも可能である。換言すれば、ジョイスティックの倒れ角に応じて湾曲動作速度を制御する動作の実行が可能となる。詳細は図示しないが、各条件から判断したアクションは、予めＦＰＧＡ５６内に配置されている配線の切り替え等を作動させることにより実現できる。
【００６９】
上記までは、異常時の切り替え状態について説明したが、図１５に本論理構成ブロック２５０を組み合わせることで異常検知レベルを切り替える判断構成例を示す。前述したように、各ブロック異常、状態検知について切替設定信号を固定した構成によるものであるが、第１のモジュール（エラーレベル変更判断論理モジュール）の切替設定信号を別の第２のモジュール（異常状態発生判断論理モジュール）からの出力と接続することにより、エラーレベルを任意に切り替えることも可能となる。
【００７０】
このように構成された本実施例の作用について説明する。本実施例では、図１８に示すように、電源が投入されると、まず、イニシャルモード処理が実行される。そして、イニシャルモード処理後に、モード切り替え処理に移行する。
【００７１】
このモード切り替え処理では、例えばクラッチ切断時あるいはイニシャルモード処理終了時の湾曲動作開始指令ＯＦＦ時においては、キャリブレーションモードに移行し、クラッチ再接続して操作指令値とスコープ位置が一致し、あるいは湾曲動作開始指令ＯＮになると、モード切り替え処理に戻る。
【００７２】
また、モード切り替え処理において、運転モードが選択されると運転モードとなりサーボがＯＮとなり、運転モード終了が指示されるとモード切り替え処理に戻る。
【００７３】
ここで、運転モードとはリモコン操作部７の操作指令に基づいて、電動湾曲操作を行うモードで、メンテナンスモードとは、パラメータの設定（読み書き）、状態モニタ等を専用の治具や後述するパソコンに接続したＨＭＩモードによる遠隔操作等を行うモードである。
【００７４】
さらに、モード切り替え処理において、メンテナンスモードが選択されるとメンテナンスモードとなりサーボがＯＮとなり、メンテナンスモード終了が指示されるとモード切り替え処理に戻る。
【００７５】
また、モード切り替え処理では、停止要因が発生すると異常停止モードとなり、サーボがＯＦＦとなる。
【００７６】
上記内容を図１９のフローチャートを用いて詳細に説明する。電源がＯＮされると、ステップＳ１にてＥＥＰＲＯＭコントローラ１０２によりＦＰＧＡ５６のコンフィギュレーションが実行される。続いて、ステップＳ２にてイニシャルモード処理（後述）が実行され、ステップＳ３にてイニシャルモード処理の終了を待つ。
【００７７】
イニシャルモード処理が終了すると、ステップＳ４にて運転モードコントローラ１０５よりキャリブレーション要求が発生する。そして、ステップＳ５にて運転モードコントローラ１０５よりメンテナンスモード処理要求が発生したかどうか判断する。メンテナンスモード処理要求が発生した場合は、ステップＳ６にてメンテナンスモード処理（後述）を実行し、ステップＳ５に戻る。
【００７８】
メンテナンスモード処理要求がない場合には、ステップＳ７にて運転モードコントローラ１０５がメンテナンスモード処理からモード切り替え処理に復帰したかどうか判断する。そして、モード切り替え処理に復帰した場合には、ステップＳ８にて運転モードコントローラ１０５よりキャリブレーション要求が発生し、ステップＳ５に戻る。
【００７９】
モード切り替え処理に復帰していない場合には、ステップＳ９にて運転モードコントローラ１０５がキャリブレーション要求が有効かどうか判断し、キャリブレーション要求が有効の場合にはステップＳ１０にて運転モードコントローラ１０５はキャリブレーション処理を実行し、ステップＳ１１にてキャリブレーション処理が正常に終了したかどうか判断する。キャリブレーション処理が正常に終了しなかった場合には、ステップＳ５に戻り、キャリブレーション処理が正常に終了した場合には、ステップＳ１２にてキャリブレーション要求を解除してステップＳ５に戻る。
【００８０】
ステップＳ９においてキャリブレーション要求が有効でないと判断すると、ステップＳ１３にて運転モードコントローラ１０５は湾曲動作開始指令がＯＦＦされたかどうか判断する。湾曲動作開始指令がＯＦＦされたと判断すると、ステップＳ１４にて運転モードコントローラ１０５よりキャリブレーション要求が発生しステップＳ５に戻る。
【００８１】
湾曲動作開始指令がＯＦＦていないと判断すると、ステップＳ１５にて運転モードコントローラ１０５はクラッチ接続がＯＦＦかどうか判断する。クラッチ接続がＯＦＦならばステップＳ１４に進み、クラッチ接続がＯＮならばステップＳ１６にて運転モード処理（後述）を実行してステップＳ５に戻る。
【００８２】
つぎに、図２０のフローチャートを用いてイニシャルモード処理を説明する。ステップＳ２１にてまずＷＤＴ５７がスタートする。そして、ステップＳ２２にてが各論理ブロックが内部の変数を初期化し、ステップＳ２３にてＲＬ（左右）モータ電流Ｆ／Ｂ部１１２、ＵＤ（上下）モータ電流Ｆ／Ｂ部１１３、ポテンショコントロール部１１４、サーミスタコントロール部１１５がそれぞれ、データのサンプリングを開始する。
【００８３】
そして、ステップＳ２４にてシリアル通信ユニット１００、シリアル通信制御部１０１により通信を開始し、ステップＳ２５にて外部のハードウエアが正常かどうか判断し、異常の場合はステップＳ２６にて異常停止モード処理を実行する。
【００８４】
外部のハードウエアが正常と判断すると、ステップＳ２７にてモータコントローラ１１０がモータ電流のオフセットが正常かどうか判断し、モータ電流のオフセットが異常の場合にはステップＳ２６にて異常停止モード処理を実行する。
【００８５】
そして、モータ電流のオフセットが正常と判断すると、ステップＳ２８にてモータコントローラ１１０がモータ３０のロータ位置を検出し、ステップＳ２９にてＤＰＲＡＭ１０６内のパラメータを読み込む。
【００８６】
次に、モータコントローラ１１０は、ステップＳ３０にて読み込んだパラメータ値が統べて「０」かどうか判断し、パラメータ値が統べて「０」でない場合はそのまま処理を終了し、パラメータ値が統べて「０」の場合は、ステップＳ３１にてモータコントローラ１１０は、パラメータのデフォルト値をＤＰＲＡＭ１０６に書き込み処理を終了する。
【００８７】
次に、図２１のフローチャートを用いてメンテナンスモード処理を説明する。運転モードコントローラ１０５と治具（不図示）と更新を開始し、ステップＳ４１にて運転モードコントローラ１０５は治具よりサーボＯＮ要求が発生したかどうか判断し、ステップＳ４２にてサーボＯＮ要求があればサーボをＯＮしてステップＳ４１に戻る。
【００８８】
同様にステップＳ４１にて運転モードコントローラ１０５は治具よりサーボＯＦＦ要求が発生したかどうか判断し、ステップＳ４４にてサーボＯＦＦ要求があればサーボをＯＦＦしてステップＳ４１に戻る。
【００８９】
次に、ステップＳ４５にて運転モードコントローラ１０５は治具よりＨＭＩモード（サーボ状態のモニタ監視モード）要求が発生したかどうか判断し、ステップＳ４６にてＨＭＩモード要求があればＨＭＩモード処理を実行してステップＳ４１に戻る。
【００９０】
そして、ステップＳ４７にて運転モードコントローラ１０５は治具より第１メンテナンス要求が発生したかどうか判断し、ステップＳ４８にて第１メンテナンス要求があれば正弦波出力モード処理を実行してステップＳ４１に戻る。
【００９１】
続いて、ステップＳ４９にて運転モードコントローラ１０５は治具より第２メンテナンス要求が発生したかどうか判断し、ステップＳ５０にて第２メンテナンス要求があればトルク制御モード処理を実行してステップＳ４１に戻る。
【００９２】
また、ステップＳ５１にて運転モードコントローラ１０５は治具より第３メンテナンス要求が発生したかどうか判断し、ステップＳ５２にて第３メンテナンス要求があれば速度制御モード処理を実行してステップＳ４１に戻る。
【００９３】
そして、ステップＳ５３にて運転モードコントローラ１０５は治具より第４メンテナンス要求が発生したかどうか判断し、ステップＳ５４にて第４メンテナンス要求があれば位置制御モード処理を実行してステップＳ４１に戻る。
【００９４】
次に、ステップＳ５５にて運転モードコントローラ１０５は治具より第５メンテナンス要求が発生したかどうか判断し、ステップＳ５６にて第５メンテナンス要求があればアナログ入力位置制御モード処理を実行してステップＳ４１に戻る。
【００９５】
また、ステップＳ５７にて運転モードコントローラ１０５は治具より第６メンテナンス要求が発生したかどうか判断し、ステップＳ５８にて第６メンテナンス要求があればスコープリミット調整モード処理を実行してステップＳ４１に戻る。
【００９６】
続いて、ステップＳ５９にて運転モードコントローラ１０５は治具より第７メンテナンス要求が発生したかどうか判断し、ステップＳ６０にて第７メンテナンス要求があればラップ動作モード処理を実行してステップＳ４１に戻る。
【００９７】
ここで、ラップ動作モードとは、予め決められた湾曲動作、例えばＲＬ−＞ＵＤ−＞ＲＬ等のシーケンシャル動作を行わせるモードのことである。
【００９８】
次に、ステップＳ６１にて運転モードコントローラ１０５は治具より第８メンテナンス要求が発生したかどうか判断し、ステップＳ６２にて第８メンテナンス要求があればキャリブレーション調整モード処理を実行してステップＳ４１に戻る。
【００９９】
以上のように、電動湾曲動作に必要な各機能について独立した動作確認を行わせることができる。
【０１００】
次に、図２２のフローチャートを用いてキャリブレーションモード処理を説明する。ステップＳ８１にて運転モードコントローラ１０５はクラッチ接続がＯＦＦかどうか判断し、クラッチ接続がＯＦＦならば、ステップＳ８２にてサーボをＯＦＦしてステップＳ８３に進み、クラッチ接続がＯＦＦでないならば、そのままステップＳ８３に進む。
【０１０１】
そして、ステップＳ８３にて運転モードコントローラ１０５はクラッチ接続がＯＮかどうか判断し、クラッチ接続がＯＮならばステップＳ８４に進み、クラッチ接続がＯＮでないならばステップＳ８１に戻る。
【０１０２】
ステップＳ８４では、操作量と現在位置が所定範囲内にあるかどうか判断し、所定範囲内ならばステップＳ８５に進み、所定範囲内でないならばステップＳ８１に戻る。
【０１０３】
そして、ステップＳ８５にて湾曲動作開始指令ＯＮかどうか判断し、湾曲動作開始指令ＯＮならば処理を終了し、湾曲動作開始指令ＯＮでないならばステップＳ８１に戻る。
【０１０４】
次に、図２３のフローチャートを用い、また図２４のタイミングチャートを参照してて動作モード処理を説明する。ステップＳ７１にてまずサーボをＯＮとし、ステップＳ７２にてトルク制御周期イベント期間かどうか判断し、トルク制御周期イベントならばステップＳ７３にトルク制御演算処理を実行しステップＳ７２に戻り、トルク制御周期イベントでないならば、ステップＳ７４に進む。
【０１０５】
ステップＳ７４では、位置、速度制御イベント期間かどうかかどうか判断し、位置、速度制御イベントならばステップＳ７５に位置、速度制御演算処理を実行しステップＳ７２に戻り、位置、速度制御周期イベントでないならば、ステップＳ７６に進む。そして、ステップＳ７６にてサーボ異常が検出されたかどうか判断し、サーボ異常が検出された場合はステップＳ７７に異常停止モード処理を実行し、サーボ異常が検出されない場合にはステップＳ７２に戻る。
【０１０６】
以上説明したように、本実施例では、 ＦＰＧＡにより処理を論理ブロックに分散し電動湾曲制御を行っているので、従来のようなマイクロプロセッサを用いたシーケンシャル制御と異なり、一部のサーボ系に異常が発生しても制御系が全て停止することがなく、効果的にサーボ系を選択することができるので、検査を中断することなく、操作性を向上させることができる。
【０１０７】
なお、制御部３７を内視鏡２の湾曲制御部１０ｂに設けるとしたが、これに限らず、制御部３７を画像処理装置４内に設けても良いし、別体のコントローラ装置内に設けても良い。
【０１０８】
本発明は、上述した実施例に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施例１に係る電動湾曲内視鏡装置の構成を示す構成図
【図２】図１の画像処理装置のフロントパネルの構成を示す図
【図３】図１の湾曲制御部の構成を示す図
【図４】図１の湾曲制御部の制御部の構成を示す図
【図５】図４のＦＰＧＡの論理ブロックの構成を示す図
【図６】図５のモータコントローラの制御処理部の構成を示す図
【図７】図５のモータコントローラのサーボ異常検出部の構成を示す図
【図８】図５のモータコントローラにおけるサーボ制御を説明する第１の説明図
【図９】図５のモータコントローラにおけるサーボ制御を説明する第２の説明図
【図１０】図５のモータコントローラにおけるサーボ制御の第１の変形例を説明する説明図
【図１１】図４のＦＰＧＡのコンフィギュレーションの変形例を説明する説明図
【図１２】図５のモータコントローラにおけるサーボ制御の第２の変形例を説明する説明図
【図１３】図５のＦＰＧＡブロック異常監視部を構成する論理要素ブロックを説明する１の説明図
【図１４】図５のＦＰＧＡブロック異常監視部を構成する論理要素ブロックを説明する第２の説明図
【図１５】図１３の論理要素ブロックを用いた論理判定ブロックを説明する第１の説明図
【図１６】図１２の論理要素ブロックを用いた論理判定ブロックを説明する第２の説明図
【図１７】図１３の論理要素ブロックを用いた論理判定ブロックを説明する第３の説明図
【図１８】図５のＦＰＧＡにおける処理遷移を説明する図
【図１９】図５のＦＰＧＡにおける処理を説明するフローチャート
【図２０】図１９のイニシャルモード処理を説明するフローチャート
【図２１】図１９のメンテナンスモード処理を説明するフローチャート
【図２２】図１９のキャリブレーションモード処理を説明するフローチャート
【図２３】図１９の動作モード処理を説明するフローチャート
【図２４】図１９の動作モード処理を説明するタイミング図
【符号の説明】
【０１１０】
１…電動湾曲内視鏡装置
２…内視鏡
３…光源装置
４…画像処理装置
７…リモコン操作部
１０…基端把時部
１０ｂ…湾曲制御部
３０…湾曲モータ
３０ａ…エンコーダ
３１、３２…ギア
３３…湾曲ワイヤ
３４…スプロケット部
３５…ポテンショメータ
３６…クラッチ機構部
５６…ＦＰＧＡ
１００…シリアル通信ユニット
１０１…シリアル通信制御部
１０２…ＥＥＰＲＯＭコントローラ
１０３…異常信号処理部
１０４…ＬＥＤコントローラ
１０５…運転モードコントローラ
１０６…ＤＰＲＡＭ
１０７…クラッチ信号入力部
１０８…治具基板入出力部
１０９…ＲＡＭ
１１０…モータコントローラ
１１１…モータ駆動波形生成部
１１２…ＲＬ（左右）モータコントロール部
１１３…ＵＤ（上下）モータコントロール部
１１４…ポテンショコントロール部
１１５…サーミスタコントロール部
１１６…ＲＬエンコーダコントロール部
１１７…ＵＤエンコーダコントロール部
１１８…ＦＰＧＡブロック異常監視部
【図１】
0004823697.tif 000002
【図２】
0004823697.tif 000003
【図３】
0004823697.tif 000004
【図４】
0004823697.tif 000005
【図５】
0004823697.tif 000006
【図６】
0004823697.tif 000007
【図７】
0004823697.tif 000008
【図８】
0004823697.tif 000009
【図９】
0004823697.tif 000010
【図１０】
0004823697.tif 000011
【図１１】
0004823697.tif 000012
【図１２】
0004823697.tif 000013
【図１３】
0004823697.tif 000014
【図１４】
0004823697.tif 000015
【図１５】
0004823697.tif 000016
【図１６】
0004823697.tif 000017
【図１７】
0004823697.tif 000018
【図１８】
0004823697.tif 000019
【図１９】
0004823697.tif 000020
【図２０】
0004823697.tif 000021
【図２１】
0004823697.tif 000022
【図２２】
0004823697.tif 000023
【図２３】
0004823697.tif 000024
【図２４】
0004823697.tif 000025