(57)【要約】  制御装置は、モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御装置である。制御装置は、モータを駆動するためのモータ電流を出力するモータ駆動回路と、モータ電流の大きさに係る値を検出値として取得するモータ電流検出回路と、検出値に係るリミット値を格納する記憶回路と、ソフトウェア及びハードウェアのそれぞれにより、検出値とリミット値とを比較して検出値がリミット値に係る値を超えたと判断したときにモータを停止させるように制御する制御回路とを備える。
2019012791.tif 000002
【特許請求の範囲】
【請求項１】
モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御装置であって、
前記モータを駆動するためのモータ電流を出力する駆動回路と、
前記モータ電流の大きさに係る値を検出値として取得するモータ電流検出回路と、
前記検出値に係るリミット値を格納する記憶回路と、
ソフトウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御し、
ハードウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する
制御回路と
を備える制御装置。
【請求項２】
前記ソフトウェアによる前記モータを停止させる条件は、前記ハードウェアによる前記モータを停止させる条件よりも先に満たされる条件である、請求項１に記載の制御装置。
【請求項３】
前記制御回路は、前記ハードウェアによる前記モータを停止させるという判断がされたとき、前記ソフトウェアによる判断に関わらず、前記モータを停止させるように前記駆動回路を制御する、請求項１に記載の制御装置。
【請求項４】
前記内視鏡は、ユーザによる前記モータを駆動させるか否かの指示が入力されるスイッチを有しており、
前記制御回路は、
前記ソフトウェアにより、前記スイッチへの入力状態を取得し、前記入力状態に応じて前記駆動回路の出力を制御し、
前記ハードウェアにより、前記スイッチへの入力状態を監視し、前記スイッチに前記モータを駆動させる指示が入力されていないにも関わらず、前記ソフトウェアにより前記モータを動作させるための制御を行っているとき、前記モータを停止させるように前記駆動回路を制御する、
請求項１に記載の制御装置。
【請求項５】
前記内視鏡は、当該内視鏡の特性としての前記リミット値を記録するメモリを備え、
前記制御回路は、前記メモリに記録された前記リミット値を読み出して、前記記憶回路に前記リミット値を格納する、
請求項１に記載の制御装置。
【請求項６】
前記制御回路は、前記ソフトウェアにより、前記駆動回路の出力を制御するための制御信号を生成し、
前記制御信号は、前記ハードウェアを介して前記制御回路から前記駆動回路へと出力される、
請求項１に記載の制御装置。
【請求項７】
請求項１に記載の制御装置と、
前記自走機構を有する前記内視鏡と
を備える自走式内視鏡システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内視鏡の自走機構の動作を制御する制御装置、及び自走式内視鏡システムに関する。
【背景技術】
【０００２】
一般に、内視鏡等は、その挿入部が例えば管腔内に挿入される。管腔内に挿入される内視鏡のうち、自走式等と呼ばれる内視鏡装置が知られている。【０００３】
例えば国際公開第２０１６／１５９１２７号に記載の内視鏡装置は、回転自走式の内視鏡装置である。このような回転自走式の内視鏡装置では、例えば挿入部の外周面に螺旋形状のフィンが形成されたパワースパイラルチューブ等と呼ばれる回転筒体が設けられている。回転筒体が回転すると、回転筒体に形成されたフィンが管腔内壁に接触して推進力を発生させる。この推進力により、挿入部は、挿入方向又は抜去方向に自走する。国際公開第２０１６／１５９１２７号には、回転筒体に作用する負荷を検知して、負荷が所定値よりも大きくなったとき回転筒体の回転が一時的に停止させられることが開示されている。
【発明の概要】
【０００４】
本発明は、自走機構に作用する負荷が大きくなったときに、自走機構を動作させるモータの回転が確実に止められる内視鏡の自走機構の動作を制御する制御装置、及び自走式内視鏡システムを提供することを目的とする。
【０００５】
本発明の一態様によれば、制御装置は、モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御装置であって、前記モータを駆動するためのモータ電流を出力する駆動回路と、前記モータ電流の大きさに係る値を検出値として取得するモータ電流検出回路と、前記検出値に係るリミット値を格納する記憶回路と、ソフトウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御し、ハードウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する制御回路とを備える。
【０００６】
本発明の一態様によれば、自走式内視鏡システムは、上述の制御装置と、前記自走機構を有する前記内視鏡とを備える。
【０００７】
本発明によれば、自走機構に作用する負荷が大きくなったときに、自走機構を動作させるモータの回転が確実に止められる内視鏡の自走機構の動作を制御する制御装置、及び自走式内視鏡システムを提供できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係る内視鏡システム構成例の概略を示す図である。
【図２】図２は、一実施形態に係る内視鏡システムの構成例の概略を示すブロック図である。
【図３】図３は、一実施形態に係る制御装置のＣＰＵで行われるメイン処理の概略の一例を示すフローチャートである。
【図４】図４は、一実施形態に係る制御装置のＦＰＧＡで行われるメイン処理の概略の一例を示すフローチャートである。
【図５】図５は、一実施形態に係る制御装置のＣＰＵで行われるＦＳＷチェック処理の概略の一例を示すフローチャートである。
【図６】図６は、一実施形態に係る制御装置のＣＰＵで行われる第１のリミット値設定処理の概略の一例を示すフローチャートである。
【図７】図７は、一実施形態に係る制御装置のＦＰＧＡで行われる第２のリミット値設定処理の概略の一例を示すフローチャートである。
【図８】図８は、一実施形態に係る制御装置のＣＰＵで行われる第１の回転制御処理の概略の一例を示すフローチャートである。
【図９】図９は、一実施形態に係る制御装置のＦＰＧＡで行われる第２の回転制御処理の概略の一例を示すフローチャートである。
【図１０】図１０は、一実施形態に係る制御装置のＣＰＵで行われるＦＳＷ切断処理の概略の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
本発明の一実施形態について図面を参照して説明する。本実施形態は、内視鏡の挿入部を前進又は後退させる推進力を発生する自走機構を備えた内視鏡システムに係る。
【００１０】
［内視鏡システムの構成］
図１は、本発明の一実施形態に係る挿入装置の一例としての内視鏡システム１の構成の概略を示す図である。この図に示すように、内視鏡システム１は、内視鏡２００と、光源・画像処理装置３１０と、ディスプレイ３２０と、制御装置１００と、フットスイッチ（ＦＳＷ）１８０と、トルク表示ユニット１９０とを備える。
【００１１】
内視鏡２００は、回転自走式の内視鏡である。内視鏡２００は、挿入部２１０を有している。挿入部２１０は、細長形状であり、生体内に挿入されるように構成されている。また内視鏡２００は、内視鏡２００の各種操作を行うためのコントロールユニット２６０を有している。コントロールユニット２６０は、使用者によって保持される。ここでは挿入部２１０の先端の側を先端側と称する。また挿入部２１０のコントロールユニット２６０が設けられている側を基端側と称する。挿入部２１０の先端側から基端側に沿った方向を長手方向とする。内視鏡２００のコントロールユニット２６０と光源・画像処理装置３１０とは、ユニバーサルケーブル２９０によって接続されている。ユニバーサルケーブル２９０の端部には、コネクタ２９２が設けられており、光源・画像処理装置３１０とユニバーサルケーブル２９０との接続は、コネクタ２９２を用いて行われる。光源・画像処理装置３１０と制御装置１００とは接続されており、内視鏡２００と制御装置１００とは、光源・画像処理装置３１０を介して接続されている。
【００１２】
挿入部２１０は、先端硬性部２１２と、湾曲部２１４と、蛇管部２１６とを有する。先端硬性部２１２は、挿入部２１０の最先端の部分であり、湾曲しないように構成されている。湾曲部２１４は、先端硬性部２１２の基端側に形成されている部分であり、コントロールユニット２６０に設けられた操作部２６１の操作に応じて能動的に湾曲するように構成されている。蛇管部２１６は、湾曲部２１４の基端側に形成されている部分であり、外力によって受動的に湾曲するように構成されている。
【００１３】
先端硬性部２１２は、撮像素子２２０と照明レンズ２２１とを有している。撮像素子２２０は、例えば挿入部２１０の先端側の被写体像に基づく画像信号を生成する。撮像素子２２０で生成された画像信号は、挿入部２１０及びユニバーサルケーブル２９０を通る図示しない画像信号用信号線を介して光源・画像処理装置３１０に伝送される。照明レンズ２２１は、挿入部２１０及びユニバーサルケーブル２９０を通る図示しない光ファイバを介して光源・画像処理装置３１０から導かれた光を拡散して放射する。
【００１４】
本実施形態に係る内視鏡システム１は、自走機構２０１を備える。すなわち、挿入部２１０の蛇管部２１６には、コントロールユニット２６０に内蔵された動力源としてのモータ２５２の駆動力を伝達するための回転部２３０が取り付けられている。また、回転部２３０の先端側には、回転筒体であるパワースパイラルチューブ２３２が取り付けられている。パワースパイラルチューブ２３２は、例えばゴムや樹脂等の軟性材料により筒形状に形成され、蛇管部２１６の長手軸周りに回転可能に装着されている。パワースパイラルチューブ２３２の外周面には、パワースパイラルチューブ２３２の長手軸に沿って螺旋形状のフィン２３４が設けられている。なお、パワースパイラルチューブ２３２は、回転部２３０から取り外し可能に構成されていてもよい。
【００１５】
また、パワースパイラルチューブ２３２は、コントロールユニット２６０に設けられたアクチュエータとしてのモータ２５２に接続されている。モータ２５２は、コントロールユニット２６０及びユニバーサルケーブル２９０を通る図示しないアクチュエータ電流信号用信号線を介して制御装置１００に接続されている。
【００１６】
モータ２５２は、フットスイッチ１８０を用いた操作によって動作する。モータ２５２の回転力は、回転部２３０に伝達される。その結果、パワースパイラルチューブ２３２に設けられたフィン２３４は、長手軸周りに回転する。
【００１７】
フィン２３４が例えば管腔内壁といった壁部に接した状態で回転すると、挿入部２１０を自走させるような推進力が発生する。例えば小腸や大腸においては、小腸や大腸の内壁に存在する襞をフィン２３４が手繰りよせることによって挿入部２１０に推進力が作用する。この推進力によって挿入部２１０が自走する。挿入部２１０が自走することにより、使用者による挿入部２１０の挿入作業及び抜去作業が補助される。なお、以下の説明においては、挿入部２１０を先端側に自走させるモータ２５２の回転方向を正転方向（挿入方向）とし、挿入部２１０を基端側に自走させるモータ２５２の回転方向を逆転方向（抜去方向）とする。
【００１８】
本実施形態に係る自走機構２０１は、モータ２５２で発生するトルクが所定のリミット値を超えるとき、モータ２５２の回転が一時停止し、挿入部２１０の挿入が一時中断するように構成されている。このようなモータ２５２の回転の一時停止は、管腔内壁を傷つけないようにすること、自走機構２０１の故障を回避すること等に貢献する。
【００１９】
モータ２５２近傍には、エンコーダ２５４が設けられている。エンコーダ２５４は、モータ２５２の回転速度に応じたパルス信号（回転速度信号）を生成する。回転速度信号は、ユニバーサルケーブル２９０を通る図示しない回転速度用信号線を介して制御装置１００に伝達される。自走機構２０１では、回転速度をフィードバック値として、モータ２５２の回転が制御される。
【００２０】
ディスプレイ３２０は、例えば液晶ディスプレイといった一般的な表示素子を有する。ディスプレイ３２０は、例えば撮像素子２２０で得られた画像信号に基づく内視鏡画像を表示する。ディスプレイ３２０は、自走機構２０１の状態について表示してもよい。ディスプレイ３２０に表示される情報には、自走機構２０１の異常をユーザに報知するエラー表示が含まれてもよい。
【００２１】
フットスイッチ１８０は、前進（ＦＯＲＷＡＲＤ、Ｆ）ペダル１８２と後退（ＢＡＣＫＷＡＲＤ、Ｂ）ペダル１８４とを含む。Ｆペダル１８２は、使用者がモータ２５２を正転させたいときに踏まれるペダルである。Ｂペダル１８４は、使用者がモータ２５２を逆転させたいときに踏まれるペダルである。Ｆペダル１８２及びＢペダル１８４は、それぞれ、踏み込み量が入力状態として検出されるように構成されている。また、フットスイッチ１８０は、フットスイッチ１８０の状態を診断する診断回路１８６を備える。診断回路１８６は、制御装置１００から供給された電力で動作して、診断結果を制御装置１００へと伝達する。
【００２２】
トルク表示ユニット１９０は、例えばＬＥＤ等の表示素子を用いて構成された表示装置であり、モータ２５２が発生するトルクに係る値を表示する。トルク表示ユニット１９０は、例えば正転側のトルクの大きさと逆転側のトルクの大きさとを、それぞれの表示素子の点灯数で示すような表示領域を有している。また、トルク表示ユニット１９０は、自走機構２０１の異常をユーザに報知するエラー表示を行えるように構成されていてもよい。
【００２３】
図２は、内視鏡システム１の構成例の概略を示すブロック図である。図２に示すように、光源・画像処理装置３１０は、光源部３１２と、画像処理部３１４とを有する。光源部３１２は、例えば白色ＬＥＤ又はキセノンランプ等を含み、ユニバーサルケーブル２９０内の図示しない光ファイバに光を入力する。この光は、挿入部２１０の先端まで導かれ、照明レンズ２２１から放射される。画像処理部３１４は、挿入部２１０及びユニバーサルケーブル２９０を介して撮像素子２２０から画像信号を取得する。画像処理部３１４は、取得した画像信号に対して画像処理を施す。また、画像処理部３１４は、処理した画像信号をディスプレイ３２０に伝達し、ディスプレイ３２０に内視鏡画像を表示させる。
【００２４】
制御装置１００は、自走機構２０１の動作を制御する。制御装置１００は、制御回路１１０と、記憶回路１４０と、モータ駆動回路１５２と、モータ電流検出回路１５４とを備える。
【００２５】
制御回路１１０は、自走機構２０１の動作、トルク表示ユニット１９０の表示等を制御する。制御回路１１０は、Central Processing Unit（ＣＰＵ）１２０と、Field Programmable Gate Array（ＦＰＧＡ）１３０とを含む。ＣＰＵ１２０は、ソフトウェアに基づいて、各種処理を行うソフトウェア制御部として機能する。ＦＰＧＡ１３０は、その処理内容がハードウェアによって設定されており、当該ハードウェアによって各種処理を行うハードウェア制御部として機能する。ＣＰＵ１２０とＦＰＧＡ１３０とは、データのやり取りを行う。ＦＰＧＡに代えてApplication Specific Integrated Circuit（ＡＳＩＣ）等のハードウェアによってプログラムされている回路が用いられてもよい。なお、ここでは、制御回路１１０は、ＣＰＵ１２０とＦＰＧＡ１３０とが１つの集積回路として設けられている例を説明するが、ＣＰＵ１２０とＦＰＧＡ１３０とは、複数の集積回路として設けられてもよい。
【００２６】
モータ駆動回路１５２は、例えばドライバアンプ回路含む。モータ駆動回路１５２は、制御回路１１０から受け取った指令値に基づいて、モータ電流を出力しモータ２５２を駆動させる。その結果、モータ２５２は、Ｆペダル１８２の踏み込みの強さに応じた回転速度で正転する。また、モータ２５２は、Ｂペダル１８４の踏み込みの強さに応じた回転速度で逆転する。
【００２７】
モータ電流検出回路１５４は、モータ駆動回路１５２からモータ２５２へと出力される電流に係る値を検出する。モータ電流検出回路１５４は、検出した出力電流に係る信号を制御回路１１０へと伝達する。
【００２８】
記憶回路１４０は、電源を切っても内容が保存される記録媒体、例えばＦＬＡＳＨメモリである。記憶回路１４０は、例えば、制御回路１１０のＣＰＵ１２０が用いるプログラムが記録されたプログラム格納部１４２を含む。また、記憶回路１４０は、後述する第１のリミット値を記録する第１のリミット値格納部１４４及び第２のリミット値を記録する第２のリミット値格納部１４６を含む。記憶回路１４０は、半導体メモリに限らず、磁気又は光等を用いた媒体でもよい。すなわち、各種記録媒体が記録部として記憶回路１４０の機能を担い得る。
【００２９】
制御回路１１０のＣＰＵ１２０は、第１の制御部１２２及び第１のリミット判断部１２４としての機能を実現する。ＦＰＧＡ１３０は、第２の制御部１３２及び第２のリミット判断部１３４としての機能を実現する。
【００３０】
第１の制御部１２２は、使用者によってＦペダル１８２又はＢペダル１８４が踏まれたこと、及びその踏み込み量を検出する。また、第１の制御部１２２は、エンコーダ２５４から入力される回転速度信号を所定のサンプリング期間毎に取り込む。第１の制御部１２２は、モータ駆動回路１５２から出力されるモータ電流に係る指令値を作成する。指令値は、回転速度信号をフィードバック信号として、Ｆペダル１８２及びＢペダル１８４の踏み込み量に応じた回転速度でモータ２５２が回転するような値として算出される。すなわち、第１の制御部１２２は、現在のモータ速度と目標のモータ速度との差分に基づいて指令値を算出する。指令値を含む制御信号は、ＦＰＧＡ１３０の第２の制御部１３２を介して、モータ駆動回路１５２へと出力される。
【００３１】
第１のリミット判断部１２４は、モータ２５２のトルクが第１のリミット値を超えたか否かを判定し、超えているときにはモータ２５２の回転を停止させる。ここで、モータ２５２のトルクはモータ２５２に供給されるモータ電流に基づいて表される。したがって、第１のリミット値は、モータ電流に係る値である。第１のリミット判断部１２４は、記憶回路１４０の第１のリミット値格納部１４４から第１のリミット値を読み出す。第１のリミット判断部１２４は、モータ電流検出回路１５４から、モータ駆動回路１５２から出力されたモータ電流の大きさに係る信号を取得する。第１のリミット判断部１２４は、モータ電流が第１のリミット値を超えたか否かを判定する。第１のリミット判断部１２４は、モータ電流が第１のリミット値を超えたと判定したとき、トルクリミットをかけると判断する。ここで、トルクリミットとは、モータ駆動回路１５２からモータ２５２へのモータ電流の出力を停止させることである。第１のリミット判断部１２４は、トルクリミットをかけると判断したとき、その旨を第１の制御部１２２へと伝達する。このとき、第１の制御部１２２は、モータ２５２を停止させる。すなわち、第１の制御部１２２は、モータ駆動回路１５２への制御信号の出力を停止する。
【００３２】
第１の制御部１２２は、第１のリミット判断部１２４を介して、モータ電流検出回路１５４で検出されたモータ電流の大きさに係る情報を取得する。第１の制御部１２２は、モータ電流の大きさに基づいて、トルク表示ユニット１９０に、モータ２５２が発生するトルクに係る値を表示させる。
【００３３】
ＦＰＧＡ１３０の第２の制御部１３２は、第１の制御部１２２から出力された制御信号をモータ駆動回路１５２へと伝達し、モータ駆動回路１５２を制御信号に基づいて動作させる。この際、第２の制御部１３２は、フットスイッチ１８０のＦペダル１８２及びＢペダル１８４の踏み込みの有無を監視する。第２の制御部１３２は、フットスイッチが踏み込まれていないにも関わらず第１の制御部１２２からモータ２５２を回転させる指令がされていることを検出したときには、第２の制御部１３２からモータ駆動回路１５２への制御信号を遮断し、モータ２５２の動作を停止させる。
【００３４】
第２のリミット判断部１３４は、モータ２５２のトルクが第２のリミット値を超えたか否かを判定し、超えているときにはモータ２５２の回転を停止させる。モータ２５２のトルクはモータ２５２に供給されるモータ電流に基づいて表されるので、第２のリミット値も、モータ電流に係る値である。第２のリミット判断部１３４は、記憶回路１４０の第２のリミット値格納部１４６から第２のリミット値を読み出す。ここで、第２のリミット値は、例えば第１のリミット判断部１２４で用いられる第１のリミット値よりも大きくてもよい。第２のリミット判断部１３４は、モータ電流検出回路１５４から、モータ駆動回路１５２から出力されたモータ電流の大きさに係る信号を取得する。第２のリミット判断部１３４は、モータ電流が第２のリミット値を超えたか否かを判定する。第２のリミット判断部１３４は、モータ電流が第２のリミット値を超えたと判定したとき、トルクリミットをかけると判断する。第２のリミット判断部１３４は、トルクリミットをかけると判断したとき、その旨を第２の制御部１３２へと伝達する。このとき、第２の制御部１３２は、第２の制御部１３２からモータ駆動回路１５２への制御信号を遮断し、モータ２５２の動作を停止させる。
【００３５】
なお、本実施形態では、例えば内視鏡２００のコネクタ２９２には、メモリ２９４が設けられている。メモリ２９４には、第１のリミット値及び第２のリミット値に係る値が記録されている。リミット値は、内視鏡２００毎に異なるように設定された方がいいこともあるので、内視鏡２００毎に適切なリミット値がメモリ２９４に記録されていることが好ましい。制御装置１００は、メモリ２９４に記録されたリミット値を読み出して、上述のトルクリミット機能を実現することが好ましい。すなわち、制御回路１１０は、メモリ２９４に記録されたリミット値を読み出して、記憶回路１４０の第１のリミット値格納部１４４及び第２のリミット値格納部１４６に、第１のリミット値及び第２のリミット値をそれぞれ格納する。
【００３６】
［内視鏡システムの動作］
内視鏡システム１の動作について説明する。図３は、制御回路１１０に含まれるＣＰＵ１２０で行われる処理の一例の概要を示す。図４は、制御回路１１０に含まれるＦＰＧＡ１３０で行われる処理の一例の概要を示す。図３に示すＣＰＵ１２０の動作は、内視鏡システム１の電源がオンにされたときに、プログラム格納部１４２に格納されたプログラムに従って行われる。図４に示すＦＰＧＡ１３０の動作は、内視鏡システム１の電源がオンにされたときに、実装されたハードウェアに応じて行われる。これらの動作と並行して、光源・画像処理装置３１０では、撮像素子２２０で得られた画像信号に基づく内視鏡画像をディスプレイ３２０に表示させる処理等が行われる。
【００３７】
〈ＣＰＵのメイン処理〉
ＣＰＵ１２０で行われる処理の概要について、図３に示すフローチャートを参照して説明する。
【００３８】
ステップＳ１０１において、ＣＰＵ１２０は、制御装置１００に係る各種初期設定を行う。ステップＳ１０２において、ＣＰＵ１２０は、フットスイッチ（ＦＳＷ）１８０に関する初期設定を行うＦＳＷチェック処理を行う。ＦＳＷチェック処理では、フットスイッチ１８０が正常であるか否かが判断される。ＦＳＷチェック処理については後に詳述する。
【００３９】
ステップＳ１０３において、ＣＰＵ１２０は、第１のリミット値設定処理を行う。第１のリミット値設定処理では、第１のリミット判断部１２４で用いられる第１のリミット値の設定が行われる。第１のリミット値設定処理については後に詳述する。以上の各種設定の後、処理はステップＳ１０４に進む。
【００４０】
ステップＳ１０４において、ＣＰＵ１２０は、第１の回転制御処理を行う。第１の回転制御処理では、ＣＰＵ１２０は、フットスイッチ１８０への入力に応じてモータ２５２が回転するような制御信号を作成する。また、ＣＰＵ１２０は、モータ２５２の出力トルクがリミット値以上にならないように、リミット判断を行う。このように、第１の回転制御処理は、内視鏡システム１が使用されているときに行われる処理である。第１の回転制御処理については、後に詳述する。内視鏡システム１の使用が終了し、電源がオフにされたとき、処理はステップＳ１０５に進む。
【００４１】
ステップＳ１０５において、ＣＰＵ１２０は、各種の終了処理を行う。すなわち、不要なプログラム等の終了処理を行い、不要な部分への電力供給は遮断される。ステップＳ１０６において、ＣＰＵ１２０は、ＦＳＷ切断処理を行う。ＦＳＷ切断処理において、ＣＰＵ１２０は、フットスイッチ１８０への電力供給を遮断する。以上で、ＣＰＵ１２０による処理は終了する。
【００４２】
〈ＦＰＧＡのメイン処理〉
ＦＰＧＡ１３０で行われる処理の概要について、図４に示すフローチャートを参照して説明する。
【００４３】
ステップＳ２０１において、ＦＰＧＡ１３０は、ＦＰＧＡ１３０の動作に関連する各種初期設定を行う。ステップＳ２０２において、ＦＰＧＡ１３０は、第２のリミット値設定処理を行う。第２のリミット値設定処理では、第２のリミット判断部１３４で用いられる第２のリミット値の設定が行われる。第２のリミット値設定処理については後に詳述する。以上の各種設定の後、処理はステップＳ２０３に進む。
【００４４】
ステップＳ２０３において、ＦＰＧＡ１３０は、第２の回転制御処理を行う。第２の回転制御処理では、ＦＰＧＡ１３０は、ＣＰＵ１２０で作成された制御信号をモータ駆動回路１５２へと出力する。このとき、ＦＰＧＡ１３０は、モータ２５２の出力トルクがリミット値以上にならないように、リミット判断を行う。このように、第２の回転制御処理は、内視鏡システム１が使用されているときに行われる処理である。第２の回転制御処理については、後に詳述する。内視鏡システム１の使用が終了し、電源がオフにされたとき、ＦＰＧＡ１３０の処理は終了する。
【００４５】
〈ＣＰＵのＦＳＷチェック処理〉
ＣＰＵ１２０によってステップＳ１０２において行われるＦＳＷチェック処理について、図５に示すフローチャートを参照して説明する。ＦＳＷチェック処理は、フットスイッチ１８０において行われる自己診断機能に係る処理である。フットスイッチ１８０は、自らは電源を持たず、制御装置１００から供給される電力を用いて自己診断を実行する。このため、ＦＳＷチェック処理では、フットスイッチへの電力の供給のタイミングと自己診断結果の取得のタイミングとが調整されている。
【００４６】
ステップＳ３０１において、ＣＰＵ１２０は、制御装置１００にフットスイッチ１８０が接続されたか否かを判定する。フットスイッチ１８０が接続されていないとき、処理はステップＳ３０１を繰り返して待機する。一方、フットスイッチが接続されたとき、処理はステップＳ３０２に進む。
【００４７】
ステップＳ３０２において、ＣＰＵ１２０は、制御装置１００からフットスイッチ１８０への電力供給を開始する。電力が供給されたフットスイッチ１８０の診断回路１８６は、フットスイッチ１８０に異常がないかといったフットスイッチ１８０の内部の自己診断を行う。診断回路１８６は、ＣＰＵ１２０からの要求に応じて診断結果を制御回路１１０へと伝達する。
【００４８】
ステップＳ３０３において、ＣＰＵ１２０は、フットスイッチ１８０から内部診断の結果を取得する。この際、フットスイッチ１８０への電力供給を開始してから自己診断の結果が得られるまでの時間が考慮されたタイミングで、ＣＰＵ１２０は、内部診断の結果を取得する。
【００４９】
ステップＳ３０４において、ＣＰＵ１２０は、フットスイッチ１８０の診断結果に基づいて、フットスイッチ１８０は正常であるか否かを判定する。フットスイッチ１８０が正常であるとき、ＦＳＷチェック処理は終了し、処理はＣＰＵ１２０のメイン処理に戻り、ステップＳ１０３の第１のリミット値設定処理に進む。
【００５０】
ステップＳ３０４において、フットスイッチ１８０は正常でないと判定されたとき、処理はステップＳ３０５に進む。ステップＳ３０５において、ＣＰＵ１２０は、エラー報知処理を行う。例えば、ＣＰＵ１２０は、ディスプレイ３２０又はトルク表示ユニット１９０に、フットスイッチ１８０に異常がある旨を表示させる。その後、ＣＰＵ１２０は、一連の処理を終了させる。制御装置１００は、音声でユーザにエラーを報知してもよい。
【００５１】
ＦＳＷチェック処理によって、フットスイッチ１８０は自己診断を正確に行うことができ、ＣＰＵ１２０はその結果を正確に取得することができる。仮に、ＦＳＷチェック処理のようにフットスイッチ１８０の接続の確認が行われないとすると、ＣＰＵ１２０は、例えば制御装置１００に接続されるのが遅くて自己診断が行われていないフットスイッチ１８０から自己診断結果を取得しようとしてしまう可能性がある。このような場合、フットスイッチ１８０に異常がないにも関わらず、ＣＰＵ１２０は、フットスイッチ１８０に異常があると判定し、処理を終了する可能性がある。ＦＳＷチェック処理によれば、ＣＰＵ１２０は、このような誤動作を防止することができる。
【００５２】
〈ＣＰＵの第１のリミット値設定処理〉
ＣＰＵ１２０によってステップＳ１０３において行われる第１のリミット値設定処理について、図６に示すフローチャートを参照して説明する。
【００５３】
ステップＳ４０１において、ＣＰＵ１２０は、内視鏡２００のコネクタ２９２に設けられたメモリ２９４から、ＣＰＵ１２０で用いられるリミット値を読み込み、記憶回路１４０の第１のリミット値格納部１４４に格納させる。ステップＳ４０２において、ＣＰＵ１２０は、ＦＰＧＡ１３０に対して、メモリ２９４からリミット値を読み込むよう指示を出力する。この指示を受けたＦＰＧＡ１３０は、メモリ２９４からＦＰＧＡ１３０で用いられるリミット値を読み込む。
【００５４】
ステップＳ４０３において、ＣＰＵ１２０は、ＦＰＧＡ１３０からリミット値の読み込みが完了した旨の情報を受けたか否かを判定する。ＣＰＵ１２０は、ＦＰＧＡ１３０からリミット値の読み込みが完了した旨の情報を受けるまで、待機する。ＣＰＵ１２０がＦＰＧＡ１３０からリミット値の読み込みが完了した旨の情報を受けたとき、処理はステップＳ４０４に進む。
【００５５】
ステップＳ４０４において、ＣＰＵ１２０は、ＦＰＧＡ１３０宛に、ＣＰＵ１２０が読み込んだリミット値を送信する。ＣＰＵ１２０から送信されたリミット値を受信したＦＰＧＡ１３０は、後述するように、受信したリミット値と読み込んだリミット値とを比較して比較結果をＣＰＵ１２０宛に送信する。
【００５６】
ステップＳ４０５において、ＣＰＵ１２０は、ＦＰＧＡ１３０からリミット値の比較結果を受信する。ステップＳ４０６において、ＣＰＵ１２０は、比較結果において、ＣＰＵ１２０が読み込んだリミット値とＦＰＧＡ１３０が読み込んだリミット値とが、例えばそれらの差が所定の範囲である等、対応するものであるか否かを判定する。両リミット値が対応するものであると判定されたとき、第１のリミット値設定処理は終了し、処理はＣＰＵ１２０のメイン処理に戻り、ステップＳ１０４の第１の回転制御処理に進む。一方、両リミット値が対応するものでないと判定されたとき、処理はステップＳ４０７に進む。
【００５７】
ステップＳ４０７において、ＣＰＵ１２０は、エラー報知を行う。すなわち、制御装置１００においてエラーの発生を検出した旨を、ユーザに向けて通知する。エラー報知には、トルク表示ユニット１９０又はディスプレイ３２０への表示、音声の出力など、種々の方法が用いられ得る。その後、ＣＰＵ１２０は、一連の処理を終了させる。
【００５８】
〈ＦＰＧＡの第２のリミット値設定処理〉
第１のリミット値設定処理が行われている間にＦＰＧＡ１３０によってステップＳ２０２において行われる第２のリミット値設定処理について、図７に示すフローチャートを参照して説明する。
【００５９】
ステップＳ５０１において、ＦＰＧＡ１３０は、リミット値読み込みの指示を受けたか否かを判定する。ここで、リミット値読み込みの指示は、ＣＰＵ１２０による第１のリミット値設定処理のステップＳ４０２で出力された指示のことである。ＦＰＧＡ１３０は、リミット値読み込みの指示があるまで待機する。リミット値読み込みの指示を受けたとき、処理はステップＳ５０２に進む。
【００６０】
ステップＳ５０２において、ＦＰＧＡ１３０は、内視鏡２００のメモリ２９４からリミット値を読み込む。ＦＰＧＡ１３０は、読み込んだリミット値を第２のリミット値格納部１４６に格納する。ステップＳ５０３において、ＦＰＧＡ１３０は、ＣＰＵ１２０宛にリミット値の読み込みが完了した旨を送信する。この信号に応じて、ＣＰＵ１２０は、ステップＳ４０４においてＣＰＵで読み込んだリミット値をＦＰＧＡ１３０宛に送信する。ステップＳ５０４において、ＦＰＧＡ１３０は、ＣＰＵ１２０から送信されたリミット値を受信する。
【００６１】
ステップＳ５０５において、ＦＰＧＡ１３０は、ＦＰＧＡ１３０が読み込んだリミット値と、ＣＰＵ１２０から受信したＣＰＵ１２０が読み込んだリミット値とを比較し、対応しているか否かを判定する。ステップＳ５０６において、ＦＰＧＡ１３０は、リミット値の比較結果をＣＰＵ１２０宛に送信する。この比較結果は、ステップＳ４０５においてＣＰＵ１２０で受信される。
【００６２】
ステップＳ５０７において、ＦＰＧＡ１３０は、ＦＰＧＡ１３０が読み込んだリミット値とＣＰＵ１２０が読み込んだリミット値との比較結果が対応しているか否かを判定する。比較結果が対応しているとき、第２のリミット値設定処理は終了し、処理はＦＰＧＡ１３０のメイン処理に戻り、ステップＳ２０３の第２の回転制御処理に進む。
【００６３】
ステップＳ５０７において比較結果が対応していないと判定されたとき、処理はステップＳ５０８に進む。ステップＳ５０８において、ＦＰＧＡ１３０は、ＣＰＵ１２０からモータ２５２を動作させる要求の受付を停止する。比較結果が対応していないとき、上述のとおりＣＰＵ１２０はエラー報知を行い一連の処理を終了させる。したがって、制御回路１１０が正常に動作していれば、ＣＰＵ１２０からＦＰＧＡ１３０へモータ２５２を動作させる制御信号が伝達されることはない。しかしながら、例えばＣＰＵ１２０の動作異常のため、ＣＰＵ１２０からＦＰＧＡ１３０へモータ２５２を動作させる制御信号が伝達されることもあり得る。本実施形態では、このような場合にも、ＦＰＧＡ１３０がＣＰＵ１２０からモータ２５２を動作させる要求の受付を停止する。その結果、比較結果が対応していないとき、ＦＰＧＡ１３０からモータ駆動回路１５２へモータ２５２を回転させるための制御信号が出力されることはない。ステップＳ５０８の処理の後、ＦＰＧＡ１３０は、一連の処理を終了させる。
【００６４】
以上のようにして、内視鏡２００のメモリ２９４に記録されたリミット値は、第１のリミット値格納部１４４及び第２のリミット値格納部１４６に格納される。
【００６５】
トルクがリミット値を超えたか否かの判定は、ＣＰＵ１２０とＦＰＧＡ１３０との両方で行われる。ここで、ＣＰＵ１２０の方がＦＰＧＡ１３０よりもトルクがリミット値を超えたという判定を先に下すように制御装置１００は構成されている。すなわち、ＣＰＵ１２０がソフトウェアによりモータ２５２を停止させる条件は、ＦＰＧＡ１３０がハードウェアによりモータ２５２を停止させる条件よりも先に満たされる条件である。このため、例えば、第１のリミット値格納部１４４に格納されてＣＰＵ１２０で用いられる第１のリミット値は、第２のリミット値格納部１４６に格納されてＦＰＧＡ１３０で用いられる第２のリミット値よりも小さな値としてもよい。また、第１のリミット値格納部１４４に格納されてＣＰＵ１２０で用いられる第１のリミット値と、第２のリミット値格納部１４６に格納されてＦＰＧＡ１３０で用いられる第２のリミット値とは同一であり、ＣＰＵ１２０で行われる判定とＦＰＧＡ１３０で行われる判定とが適切に調整されてもよい。ステップＳ５０５で行われる比較は、これらの事情に応じて適宜に調整される。
【００６６】
〈ＣＰＵの第１の回転制御処理〉
ＣＰＵ１２０によってステップＳ１０４において行われる第１の回転制御処理について、図８に示すフローチャートを参照して説明する。第１の回転制御処理は、自走機構２０１が備える本質的な機能が使用される際の動作である。
【００６７】
ステップＳ６０１において、ＣＰＵ１２０は、ユーザによって踏み込まれるフットスイッチ１８０の踏み込みに係る情報を取得する。ステップＳ６０２において、ＣＰＵ１２０は、取得した情報に基づいて、フットスイッチ１８０が踏み込まれているか否かを判定する。フットスイッチ１８０が踏み込まれていないと判定されたとき、処理はステップＳ６０３に進む。
【００６８】
ステップＳ６０３において、ＣＰＵ１２０は、モータ２５２の回転を停止させる。例えば、ＣＰＵ１２０は、ＦＰＧＡ１３０を介してモータ駆動回路１５２へと出力される制御信号の出力を停止する。ステップＳ６０４において、ＣＰＵ１２０は、モータ電流検出回路１５４から、モータ駆動回路１５２からモータ２５２へと出力されるモータ電流の値を取得する。
【００６９】
ステップＳ６０５において、ＣＰＵ１２０は、モータ電流が所定値以上であるか否かを判定する。ここで用いられる所定値は、第１のリミット値であってもよいし、その他の値であってもよい。モータ電流が所定値未満であるとき、処理はステップＳ６０６に進む。ステップＳ６０６において、ＣＰＵ１２０は、エンコーダ２５４を用いて測定されたモータ２５２の回転に係る情報を取得し、モータが回転しているか否かを判定する。モータが回転していないとき、処理はステップＳ６０１に戻る。フットスイッチ１８０が踏まれていないとき、モータ電流は出力されずモータ２５２が回転しないはずである。フットスイッチ１８０が踏まれていないとき、モータ電流が所定値未満でありモータが回転していない状態が正常であるので、正常であるとき上述の処理が繰り返される。
【００７０】
ステップＳ６０５において、モータ電流が所定値以上であると判定されたとき処理はステップＳ６０７に進む。また、ステップＳ６０６において、モータが回転していると判定されたとき、処理はステップＳ６０７に進む。ステップＳ６０７において、ＣＰＵ１２０は、モータ２５２を停止させる信号を出力する。例えば、この停止信号を受信したＦＰＧＡ１３０はモータ駆動回路１５２への制御信号の出力を遮断する。ステップＳ６０８において、ＣＰＵ１２０は、自走機構２０１を含むシステムの動作に異常がある旨をユーザに伝えるエラー報知を行う。その後、第１の回転制御処理を終了する。すなわち、自走機構２０１の動作を停止させる。
【００７１】
ステップＳ６０２の判定においてフットスイッチ１８０が踏み込まれていると判定されたとき、処理はステップＳ６０９に進む。ステップＳ６０９において、ＣＰＵ１２０は、フットスイッチ１８０の踏み込み量に応じてモータ２５２を回転させるための指令に係る制御信号を出力する。すなわち、ＣＰＵ１２０は、ＦＰＧＡ１３０を介してモータ駆動回路１５２へと出力される制御信号を、フットスイッチ１８０の踏み込み量に応じた信号とする。この信号を受信したモータ駆動回路１５２は、フットスイッチ１８０の踏み込み量に応じた電力をモータ２５２へと出力する。
【００７２】
ステップＳ６１０において、ＣＰＵ１２０は、モータ電流検出回路１５４から、モータ駆動回路１５２からモータ２５２へと出力されるモータ電流に係る値を取得する。ステップＳ６１１において、ＣＰＵ１２０は、取得した電流値をトルク表示ユニット１９０にモータ２５２で発生しているトルクとして表示させる。
【００７３】
ステップＳ６１２において、ＣＰＵ１２０は、ステップＳ６１０で取得したモータ電流が第１のリミット値格納部１４４に格納された第１のリミット値よりも大きいか否かを判定する。第１のリミット値よりも大きくないと判定されたとき、処理はステップＳ６１３に進む。
【００７４】
ステップＳ６１３において、ＣＰＵ１２０は、ＦＰＧＡ１３０から自走機構２０１を含むシステムが正常に動作しているか否かを表す情報を取得する。ステップＳ６１４において、ＣＰＵ１２０は、取得した情報に基づいて、ＦＰＧＡ１３０が異常を検知したか否かを判定する。異常を検知したと判定されたとき、処理はステップＳ６０７に進む。すなわち、モータ２５２を停止させる信号を出力し、エラー報知を行って、第１の回転制御処理を終了させる。
【００７５】
ステップＳ６１４において、ＦＰＧＡ１３０が異常を検知していないと判定されたとき、処理はステップＳ６１５に進む。ステップＳ６１５において、ＣＰＵ１２０は、自走機構２０１に係る電源がオフにされたか否かを判定する。電源がオフにされていないとき、処理はステップＳ６０１に戻る。一方、電源がオフにされたとき、第１の回転制御処理は終了し、処理はメイン処理に戻り、ステップＳ１０５に進む。
【００７６】
ステップＳ６１２において、モータ電流が第１のリミット値よりも大きいと判定されたとき、処理はステップＳ６１６に進む。ステップＳ６１６において、ＣＰＵ１２０は、モータ２５２を停止させる信号を出力する。このようにして、モータ２５２が発生するトルクが第１のリミット値を超えたとき、モータ２５２の回転を一時停止させる。ステップＳ６１７において、ＣＰＵ１２０は、モータ電流が第１のリミット値を超えたこと、すなわち、モータ２５２が発生するトルクがリミット値を超えたことをユーザに報知する。例えば、ＣＰＵ１２０は、トルクがリミット値を超えたことをトルク表示ユニット１９０に表示させる。その後、ステップＳ６１８において、ＣＰＵ１２０は、フットスイッチ１８０の踏み直しを待つ。すなわち、踏まれているフットスイッチ１８０の踏み込みが解放されるのを待つ。フットスイッチ１８０の踏み込みが解放されたとき、処理はステップＳ６１５に進む。すなわち、電源がオフになるまで、又は異常が検知されるまで、フットスイッチ１８０の踏み込みに応じたモータ２５２の回転に係る動作が繰り返される。ユーザはフットスイッチ１８０の踏み込みを操作して、内視鏡２００の挿入部２１０の挿入操作を行う。ＣＰＵ１２０のトルクリミット機能によって必要以上に高いトルクが発生しないので、ユーザは安心して操作を行うことができる。
【００７７】
〈ＦＰＧＡの第２の回転制御処理〉
第１の回転制御処理が行われている間に、ＦＰＧＡ１３０で行われる第２の回転制御処理について、図９に示すフローチャートを参照して説明する。
【００７８】
ステップＳ７０１において、ＦＰＧＡ１３０は、フットスイッチ１８０の踏み込みに係る情報を取得する。ステップＳ７０２において、ＦＰＧＡ１３０は、取得した情報に基づいて、フットスイッチ１８０が踏み込まれているか否かを判定する。フットスイッチ１８０が踏み込まれていないと判定されたとき、処理はステップＳ７０３に進む。
【００７９】
ステップＳ７０３において、ＦＰＧＡ１３０は、ＣＰＵ１２０からモータ駆動回路１５２へと出力される制御信号を監視し、モータ２５２を回転させるモータ制御状態であるか否かを判定する。モータ制御状態ではないと判定されたとき、正常な状態であるので、処理はステップＳ７０１に戻る。
【００８０】
ステップＳ７０３において、モータ制御状態であると判定されたとき、処理はステップＳ７０４に進む。処理がステップＳ７０４に進むのは、フットスイッチ１８０が踏まれていないにも関わらずモータ２５２を回転させるモータ制御状態となっているときであり、異常が発生しているときである。ステップＳ７０４において、ＦＰＧＡ１３０は、モータ駆動回路１５２へと出力される制御信号を遮断する。ステップＳ７０５において、ＦＰＧＡ１３０は、ＣＰＵ１２０宛に異常が発生した旨を伝達する。さらにステップＳ７０６において、ＦＰＧＡ１３０は、ＣＰＵ１２０からモータ２５２を動作させる要求の受付を停止する。すなわち、これ以降、モータ２５２を回転させるためのモータ駆動回路１５２への制御信号の出力を停止する。その後、第２の回転制御処理は終了する。
【００８１】
ステップＳ７０２においてフットスイッチ１８０が踏まれていると判定されたとき、処理はステップＳ７０７に進む。ステップＳ７０７において、ＦＰＧＡ１３０は、ＣＰＵ１２０から出力されたモータ２５２を回転させる指令に係る制御信号を受信する。ステップＳ７０８において、ＦＰＧＡ１３０は、受信したモータ２５２を回転させるための制御信号を、モータ駆動回路１５２へ出力する。
【００８２】
ステップＳ７０９において、ＦＰＧＡ１３０は、モータ電流検出回路１５４から、モータ駆動回路１５２からモータ２５２へと出力されるモータ電流の値を取得する。ステップＳ７１０において、ＦＰＧＡ１３０は、モータ電流が第２のリミット値よりも大きいか否かを判定する。モータ電流が第２のリミット値よりも大きいとき、処理はステップＳ７０４に進む。システムが正常であれば先にトルクが第１のリミット値を超えたとＣＰＵ１２０によって判定されてモータが停止させられているはずである。ステップＳ７０４に進むのは、それにも関わらず、モータが停止させられずにトルクが第２のリミット値を超えたとＦＰＧＡ１３０によって判定される場合である。すなわち、システムの何れかの箇所に異常が発生している場合である。そこで、ＦＰＧＡ１３０は、ステップＳ７０４においてモータ駆動回路１５２への制御信号を遮断し、ステップＳ７０５においてＣＰＵ１２０へ異常発生を伝達し、ステップＳ７０６でＣＰＵ１２０からの動作要求の受付を停止し、第２の回転制御処理を終了する。
【００８３】
ステップＳ７１０においてモータ電流が第２のリミット値よりも大きくないと判定されたとき、処理はステップＳ７１１に進む。ステップＳ７１１において、ＦＰＧＡ１３０は、制御装置１００の電源がオフにされたか否かを判定する。電源がオフにされていないとき、処理はステップＳ７０１に戻る。一方、電源がオフにされたとき、第２の回転制御処理は終了する。このように、ＣＰＵ１２０とは別系統でＦＰＧＡ１３０は自走機構の動作を監視して、異常を検知したときにはその動作を停止させる。
【００８４】
〈ＣＰＵのＦＳＷ切断処理〉
ＣＰＵ１２０は、ステップＳ１０４の第１の回転制御処理を終了したとき、ステップＳ１０５の終了処理を行い、ステップＳ１０６のＦＳＷ切断処理を行う。ＦＳＷ切断処理について、図１０に示すフローチャートを参照して説明する。ステップＳ８０１において、ＣＰＵ１２０は、フットスイッチ１８０と制御装置１００との間の通信が切断されたか否かを判定する。フットスイッチ１８０の切断が検知されるまで処理は待機する。フットスイッチ１８０の切断が検知されたとき、処理はステップＳ８０２に進む。ステップＳ８０２において、ＣＰＵ１２０は、フットスイッチ１８０への電力供給を遮断する。このように、本実施形態に係る制御装置は、フットスイッチ１８０の接続が切断されたとき、フットスイッチ１８０への電力供給を遮断する。
【００８５】
本実施形態に係る制御装置１００によれば、ＣＰＵ１２０でトルクリミットが適切に働かなくても、ＦＰＧＡ１３０で確実にトルクリミットが動作し得る。ＣＰＵ１２０では、ソフトウェアが異常な動作を行う可能性もある。ＦＰＧＡ１３０は、ソフトウェアの影響を受けずに、独立してハードウェアで処理を行うので、本実施形態に係る制御装置１００は、ＣＰＵ１２０のみがトルクリミット機能を担う場合よりもトルクリミットに係る動作の確実性が高い。
【００８６】
さらに、本実施形態では、ＦＰＧＡ１３０は、フットスイッチ１８０の踏み込み量とＣＰＵ１２０が出力する制御信号との関係を監視しており、これらの関係について不整合が検知されたとき、モータ２５２への電力供給を停止させる。ＦＰＧＡ１３０のこのような機能により、例えばユーザがフットスイッチ１８０を踏んでいないにも関わらず、ＣＰＵ１２０の動作の不具合によってモータ２５２が回転してしまうことを防止できる。
【００８７】
また、本実施形態では、フットスイッチ１８０が踏み込まれていないときにも、モータ電流及びモータ２５２の回転が監視される。フットスイッチ１８０が踏み込まれていないにも関わらずモータ電流が流れたりモータ２５２が回転したりする場合には、ＦＰＧＡ１３０はモータ２５２への電力供給を停止させる。ＦＰＧＡ１３０のこのような機能により、例えばユーザがフットスイッチ１８０を踏んでいないにも関わらず、ＣＰＵ１２０の動作の不具合によってモータ２５２が回転してしまうことを防止できる。
【００８８】
［変形例］
本実施形態で示した自走機構２０１の構成は一例である。自走機構は、どのような構成でもよい。例えば挿入部２１０の長手方向に回転するベルトが挿入部２１０の外周に設けられている構成でもよい。
【００８９】
本実施形態では、トルクリミット機能がＣＰＵ１２０とＦＰＧＡ１３０との２系統で担われる場合を例に挙げて説明したが、これに限らない。例えばトルクリミット機能が２系統のＣＰＵの各々によって担われてもよい。
【００９０】
上述の実施形態で説明した処理は、その一部が省略されたり、置換されたり、他の処理が追加されたりしてもよい。例えば、ステップＳ１０２のＦＳＷチェック処理又はステップＳ１０６のＦＳＷ切断処理は省略され得る。リミット値が予め記憶回路１４０に設定されている場合には、ステップＳ１０３の第１のリミット値設定処理及びステップＳ２０２の第２のリミット値設定処理は省略され得る。また、実施形態で示した処理の順序は適宜に変更されてもよい。また、各々の処理がＣＰＵ１２０で行われるかＦＰＧＡ１３０で行われるかは、適宜に変更されてもよい。ただし、ソフトウェアによらないＦＰＧＡ１３０の処理の方が確実性が高いこともあることも考慮されることが好ましい。
【図１】
2019012791.tif 000003
【図２】
2019012791.tif 000004
【図３】
2019012791.tif 000005
【図４】
2019012791.tif 000006
【図５】
2019012791.tif 000007
【図６】
2019012791.tif 000008
【図７】
2019012791.tif 000009
【図８】
2019012791.tif 000010
【図９】
2019012791.tif 000011
【図１０】
2019012791.tif 000012
【手続補正書】
【提出日】令和1年12月23日(2019.12.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御装置であって、
前記モータを駆動するためのモータ電流を出力する駆動回路と、
前記モータ電流の大きさに係る値を検出値として取得するモータ電流検出回路と、
前記検出値に係るリミット値を格納する記憶回路と、
前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する第１の制御部としての機能を実現し、
前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する第２の制御部としての機能を実現する
制御回路と
を備える制御装置。
【請求項２】
前記制御回路は、
ソフトウェアにより前記駆動回路を制御することによって前記第１の制御部としての機能を実現し、
ハードウェアにより前記駆動回路を制御することによって前記第２の制御部としての機能を実現する
請求項１に記載の制御装置。
【請求項３】
前記ソフトウェアによる前記モータを停止させる条件は、前記ハードウェアによる前記モータを停止させる条件よりも先に満たされる条件である、請求項２に記載の制御装置。
【請求項４】
前記制御回路は、前記ハードウェアによる前記モータを停止させるという判断がされたとき、前記ソフトウェアによる判断に関わらず、前記モータを停止させるように前記駆動回路を制御する、請求項２に記載の制御装置。
【請求項５】
前記内視鏡は、ユーザによる前記モータを駆動させるか否かの指示が入力されるスイッチを有しており、
前記第１の制御部は、前記スイッチへの入力状態を取得し、前記入力状態に応じて前記駆動回路の出力を制御し、
前記第２の制御部は、前記スイッチへの入力状態を監視し、前記スイッチに前記モータを駆動させる指示が入力されていないにも関わらず、前記第１の制御部が前記モータを動作させるための制御を行っているとき、前記モータを停止させるように前記駆動回路を制御する、
請求項２に記載の制御装置。
【請求項６】
前記内視鏡は、当該内視鏡の特性としての前記リミット値を記録するメモリを備え、
前記制御回路は、前記メモリに記録された前記リミット値を読み出して、前記記憶回路に前記リミット値を格納する、
請求項２に記載の制御装置。
【請求項７】
前記第１の制御部は、前記駆動回路の出力を制御するための制御信号を生成し、
前記制御信号は、前記第２の制御部を介して前記制御回路から前記駆動回路へと出力される、
請求項２に記載の制御装置。
【請求項８】
請求項２に記載の制御装置と、
前記自走機構を有する前記内視鏡と
を備える自走式内視鏡システム。
【請求項９】
前記ソフトウェアにより前記モータを停止させる条件は、前記ハードウェアにより前記モータを停止させる条件よりも先に満たされる条件である、請求項８に記載の自走式内視鏡システム。
【請求項１０】
前記制御回路は、前記ハードウェアによる前記モータを停止させるという判断がされたとき、前記ソフトウェアによる判断に関わらず、前記モータを停止させるように前記駆動回路を制御する、請求項８に記載の自走式内視鏡システム。
【請求項１１】
前記内視鏡は、ユーザによる前記モータを駆動させるか否かの指示が入力されるスイッチを有しており、
前記第１の制御部は、前記スイッチへの入力状態を取得し、前記入力状態に応じて前記駆動回路の出力を制御し、
前記第２の制御部は、前記スイッチへの入力状態を監視し、前記スイッチに前記モータを駆動させる指示が入力されていないにも関わらず、前記第１の制御部が前記モータを動作させるための制御を行っているとき、前記モータを停止させるように前記駆動回路を制御する、
請求項８に記載の自走式内視鏡システム。
【請求項１２】
前記内視鏡は、当該内視鏡の特性としての前記リミット値を記録するメモリを備え、
前記制御回路は、前記メモリに記録された前記リミット値を読み出して、前記記憶回路に前記リミット値を格納する、
請求項８に記載の自走式内視鏡システム。
【請求項１３】
前記第１の制御部は、前記駆動回路の出力を制御するための制御信号を生成し、
前記制御信号は、前記第２の制御部を介して前記制御回路から前記駆動回路へと出力される、
請求項８に記載の自走式内視鏡システム。
【請求項１４】
モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御方法であって、
前記モータを駆動するモータ電流を検出することと、
ソフトウェアにより、前記モータ電流の検出値と前記検出値に係るリミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記モータの駆動回路を制御することと、
ハードウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御することと
を備える制御方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、内視鏡の自走機構の動作を制御する制御装置、自走式内視鏡システム及び制御方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
本発明は、自走機構に作用する負荷が大きくなったときに、自走機構を動作させるモータの回転が確実に止められる内視鏡の自走機構の動作を制御する制御装置、自走式内視鏡システム及び制御方法を提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明の一態様によれば、制御装置は、モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御装置であって、前記モータを駆動するためのモータ電流を出力する駆動回路と、前記モータ電流の大きさに係る値を検出値として取得するモータ電流検出回路と、前記検出値に係るリミット値を格納する記憶回路と、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する第１の制御部としての機能を実現し、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御する第２の制御部としての機能を実現する制御回路とを備える。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の一態様によれば、自走式内視鏡システムは、上述の制御装置と、前記自走機構を有する前記内視鏡とを備える。
本発明の一態様によれば、制御方法は、モータを動力源として挿入部を前進又は後退させる自走機構を有する内視鏡の前記自走機構の動作を制御する制御方法であって、前記モータを駆動するモータ電流を検出することと、ソフトウェアにより、前記モータ電流の検出値と前記検出値に係るリミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記モータの駆動回路を制御することと、ハードウェアにより、前記検出値と前記リミット値とを比較して前記検出値が前記リミット値に係る値を超えたと判断したときに前記モータを停止させるように前記駆動回路を制御することとを備える。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明によれば、自走機構に作用する負荷が大きくなったときに、自走機構を動作させるモータの回転が確実に止められる内視鏡の自走機構の動作を制御する制御装置、自走式内視鏡システム及び制御方法を提供できる。
【国際調査報告】
2019012791.tif 000013
2019012791.tif 000014
2019012791.tif 000015
2019012791.tif 000016