(58)【調査した分野】(Int.Cl.,DB名)
前記データが、前記器具の1つ又は複数のパラメータの値を示し、前記パラメータが、外科用器具の種類、外科用器具の識別情報、外科用器具の使用データ、及び制御データを含む請求項1に記載の外科用ロボット。
前記コントローラが、確立された前記短距離無線通信リンクに応答して、前記データ用の前記短距離無線通信リンクを介して前記アームトランシーバを制御して前記器具トランシーバを照会するように構成されている請求項4に記載の外科用ロボット。
前記アームトランシーバは、前記器具トランシーバに外科用器具の使用データを示すデータを定期的に送って、器具データストア内に格納するように構成されており、外科用器具の使用データを示す前記データが、前記外科用器具の全作動時間、前記外科用器具の使用回数、及び前記外科用器具の残りの寿命のうちの少なくとも1つを示すデータを含む請求項4又は5に記載の外科用ロボット。
前記近接センサが、前記外科用器具が前記アームから取り外されたことを検出するように構成され、前記コントローラが、前記アームトランシーバを制御して、外科用器具の使用データを示すデータを前記短距離無線通信リンクを介して前記器具トランシーバに送信することにより前記検出された取り外しに応答するように構成されている請求項4〜6の何れか1項に記載の外科用ロボット。
前記コントローラが、前記外科用器具が前記アームから取り外されたことを示すコマンドを前記コントローラが受信しない場合には、外科用器具の使用データを示すデータを前記短距離無線通信リンクを介して前記器具トランシーバに送信するように前記アームトランシーバを制御することで、前記検出された取り外しに応答するのみに構成されている請求項7に記載の外科用ロボット。
前記コントローラが、前記受信したデータが前記器具の寿命が切れたことを示している場合、前記外科用器具の操作を止めるように構成されている請求項1〜8の何れか1項に記載の外科用ロボット。
前記アームが、前記外科用器具の外科用器具インターフェースと機械的にインターフェースで接続するためのロボットアームインターフェースを含み、前記近接センサが、前記ロボットアームインターフェースに隣接して配置されている請求項1〜9の何れか1項に記載の外科用ロボット。
前記外科用器具が、前記アームトランシーバから受信した外科用器具の使用データを示すデータを格納するように構成されたデータストアをさらに含んでいる、請求項4に従属する時の請求項11に記載の外科用ロボット。
前記外科用器具が、前記ロボットアームインターフェースと機械的にインターフェースで接続するための外科用器具インターフェースを含み、前記検出可能なタグが、前記外科用器具が前記アームに取り付けられている場合に、前記近接センサに近接する前記外科用器具インターフェースに隣接するように配置されている、請求項10に従属する時の請求項11又は12に記載の外科用ロボット。
前記コントローラがさらに、前記短距離無線通信のプロトコルに従って動作する近接送信機を検出する前記受信機と、前記外科用器具の操作を止めることにより前記外科用器具が近くにあることを検出しない前記近接センサと、に応答するように構成されている請求項14に記載の外科用ロボット。
【発明を実施するための形態】
【0026】
図3は、ベース301に取り付けられた近位端から延びるアーム300を有する外科用ロボットを示す。アームは、多数の剛性リンク302を備えている。これらのリンクは、回転ジョイント303によって連結されている。最も近位のリンク302aは、ジョイント303aによってベースに結合されている。リンク302a及び他のリンクは、さらにジョイント303によって直列に連結されている。好ましくは、リスト304は、4つの回転ジョイントで構成されていることが望ましい。リスト304は、一方のリンク(302b)をアームの最も遠位のリンク(302c)に連結している。最も遠位のリンク302cは、アームの遠位端にあり、外科用器具306用のアタッチメント305を携帯している。アームの各ジョイント303は、それぞれのジョイントに回転運動を生じさせるように動作させることができる1つ又は複数のモータ307と、そのジョイントの現在の構成及び/又は負荷に関する情報を提供する1つ又は複数の位置及び/又はトルクセンサ308を有している。好ましくは、モータは、重量配分を改善するために、駆動するジョイントの近くに配置されていることが望ましい。明確化のために、
図3にはモータとセンサの一部のみを示している。アームは、我々の同時係属中の特許出願PCT/GB2014/053523に記載されているようにされていてもよい。
【0027】
アームは、器具306とインターフェースで接続するためにアタッチメント305で終端している。好ましくは、器具306は、
図2に記載された形態をとることが望ましい。アタッチメント305は、器具の関節運動を駆動するための駆動アセンブリを備えている。駆動アセンブリインターフェースの可動インターフェースエレメントは、ロボットアームから器具に駆動を伝達するために、器具インターフェースの対応する可動インターフェースエレメントと機械的に係合している。代表的な手術の間に、器具は別の器具に数回交換される。従って、器具は、手術中にロボットアームに着脱可能となっている。駆動アセンブリインターフェースと器具インターフェースの特徴は、互いに係合する際にそれらの位置合わせを助け、その結果、それらがユーザによって位置合わせされる際に必要とされる精度を減ずる。
【0028】
器具306は、手術を実行するエンドエフェクタを備えている。エンドエフェクタは、任意の適切な形態を取り得る。例えば、エンドエフェクタは、滑らかな顎部、鋸歯状の顎部、グリッパ、一対の鋏、縫合用の針、カメラ、レーザ、ナイフ、ステープラ、焼灼器、吸引器であってもよい。
図2で説明したように、器具は、器具シャフトとエンドエフェクタ間に関節を備えている。関節は、エンドエフェクタが器具のシャフトに対して動くことを可能にするいくつかのジョイントを含んでいる。関節内のジョイントは、ケーブルなどの駆動エレメントによって駆動される。これらの駆動エレメントは、器具シャフトの他端で器具インターフェースのインターフェースエレメントに固定されている。それゆえ、ロボットアームは、以下のようにしてエンドエフェクタに駆動を伝達する。すなわち、駆動アセンブリインターフェースエレメントは、器具インターフェースエレメントを動かし、器具インターフェースエレメントは、駆動エレメントを動かし、駆動エレメントは、関節のジョイントを動かし、関節のジョイントは、エンドエフェクタを動かす。
【0029】
モータ、トルクセンサ、エンコーダに対するコントローラは、ロボットアームに配備されている。コントローラは、通信バスを介して制御ユニット309に接続されている。制御ユニット309は、プロセッサ310とメモリ311を備えている。メモリ311は、プロセッサによって実行可能なソフトウェアを非一時的な方法で記憶しており、モータ307の動作を制御して、アーム300を本明細書に記載の方法で動作させる。特に、ソフトウェアはプロセッサ310を制御して、センサ308からの入力及び外科医コマンドインターフェース312からの入力に応じて(例えば、分散コントローラを介して)モータを駆動させることができる。制御ユニット309は、ソフトウェアの実行により生成された出力に応じて駆動するモータ307に接続されている。制御ユニット309は、センサから検知された入力を受け取るためにセンサ308に接続され、そしてセンサからの入力を受け取るためにコマンドインターフェース312に接続されている。それぞれの接続は、例えば、それぞれ電気ケーブル又は光ケーブルであってもよいし、無線接続であってもよい。コマンドインターフェース312は、ユーザが所望の方法でエンドエフェクタの動きを要請できる1つ又は複数の入力デバイスを備えている。入力デバイスは、例えば、制御ハンドル又はジョイスティックなどの手動操作可能な機械的入力デバイスであってもよいし、光学ジェスチャセンサなどの非接触入力デバイスであってもよい。メモリ311に格納されたソフトウェアは、これらの入力に応じて、所定の制御手順に従って、アーム及び器具のジョイントを動かすように構成されている。制御手順は、コマンド入力に応じてアーム及び器具の動きを調整する安全機能を含んでいてもよい。従って、要約すると、コマンドインターフェース312において外科医は、所望の外科的処置を実行するように器具306を制御して動かすことができる。制御ユニット309及び/又はコマンドインターフェース312は、アーム300から離れていてもよい。
【0030】
図4は、器具306を検出し、器具306と通信するためのロボットアーム300の回路400の概略図を示す。
図5は、ロボットアーム300と通信するための器具306の回路500の概略図を示す。
【0031】
器具送信機501は、ロボットアーム300にデータを送信するように構成されている。アーム受信機401は、器具306から送信されたデータを受信するように構成されている。このデータは、器具の1つ又は複数のパラメータの値を示している。これらのパラメータには、器具の種類や器具の識別情報や器具の使用データや制御データのうちの1つ又は複数又はすべてが含まれている。制御データは、器具が採用すべきロボットアーム駆動アセンブリのパラメータを含んでいてもよい。制御データは、ロボットアームが採用すべき器具のパラメータを含んでいてもよい。例えば、制御データは、駆動アセンブリインターフェースエレメントの機能や、器具インターフェースエレメントの機能や、最大及び最小移動を含む駆動アセンブリインターフェースエレメントの移動範囲や、最大及び最小移動を含む器具インターフェースエレメントの移動範囲や、駆動アセンブリインターフェースエレメントのニュートラル/レスト位置や、器具インターフェースエレメントのニュートラル/レスト位置や、最大及び最小移動を含む器具ジョイントの移動範囲や、器具ジョイントのニュートラル/レスト位置、の1つ又は複数又はすべてを含んでいてもよい。一例では、データはコードである。コードは数字コードであってもよい。器具のパラメータの1つ又は複数の値は、コード内に埋め込まれている。言い換えれば、器具の1つ又は複数のパラメータの値は、アルゴリズムを用いてコードを分析することによってコードから導出可能である。別の例では、データ自体は、器具の1つ又は複数のパラメータの値を含んでいる。いずれの例においても、データは暗号化されていてもよい。
【0032】
器具送信機501及びアーム受信機401は、同じ短距離無線通信のプロトコルに従って動作する。例えば、それらは、RFID(Radio Frequency Identification)プロトコルに従って動作してもよい。代表的な実施形態では、それらは、4cm以下の範囲を有するプロトコルに従って通信する。プロトコルは、2cm以下の範囲を有していてもよい。プロトコルは、NFC(Near Field Communication)を使用してもよい。短距離ではない無線通信のプロトコルとは対照的な短距離無線通信のプロトコルを利用することは、器具・アーム間通信が手術室内の他の通信リンクと干渉する可能性を低減している。また、このことは、他の通信リンクが器具・アーム間通信を妨げる可能性を低減している。
【0033】
器具送信機501は、器具受信機503も備えるトランシーバ502内に含まれていてもよい。アーム受信機401は、アーム送信機403も備えるトランシーバ402内に含まれていてもよい。アーム送信機403は、器具306にデータを送信し、器具受信機503は、このデータを受信する。アーム送信機403及び器具受信機503は、器具送信機501及びアーム受信機401と同じ短距離通信のプロトコルに従って動作する。
【0034】
無線通信のプロトコルを使用することにより、器具306が、器具及びアームを介在する無菌ドレープ内に電気的インターフェース装置を組み込むことなく、ロボットアーム300と通信することができる。
【0035】
想定されているいくつかの手術では、2つ以上の外科用器具が互いに近接し、それゆえ2つ以上のアームが互いに近接するような使用が必要とされる外科用ロボットによって行われていてもよい。上記のような短距離通信のプロトコルを利用する場合には、1つのロボットアームは、別のロボットアームに取り付けられた、または別のロボットアームと取り付けられる器具の範囲内にあってもよいことが予想される。これにより、ロボットアームに、それに取り付けられていない器具の1つ又は複数のパラメータの値を示すデータを受信させてもよいし、及び/又は器具に、それが取り付けられていないロボットアームからそのようなデータを受信させてもよい。
【0036】
図4に示すロボットアームの回路は、さらに近接センサ404を含んでいる。
図5に示す器具の回路は、さらに検出可能なタグ504を含んでいる。検出可能なタグ504は、近接センサ404によって検出可能である。近接センサ404は、検出可能なタグ504が近くにあることを検出する。近接センサは、アーム受信機401と器具送信機501間の無線通信のプロトコルよりも短い範囲しか有さない。近接センサ404は、ホールセンサのような磁気センサ、リードスイッチ、音響センサ、容量センサ、誘導センサ、及び光学センサのうちの1つであってもよい。
【0037】
近接センサがホールセンサである場合には、検出可能タグ504は、ホールセンサによって検出可能な磁気タグである。ホールセンサは、その近傍の磁場を感知する。ホールセンサは、センサ周囲の磁束密度が閾値を超えたときに、磁気タグが近くにあることを検出する。センサ周囲の磁束密度が閾値を超えると、ホールセンサは出力電圧を生成する。
【0038】
ホールセンサの閾値及び/又は内部増幅が、ホールセンサの範囲及び感度を決定する。ホールセンサの閾値及び/又は内部増幅と磁気タグの強度は、(ロボットアーム上に位置する場合)ホールセンサがその用途に必要な範囲及び感度を有するように、予め決定されていてもよい。
【0039】
例えば、ホールセンサの閾値及び/又は内部増幅と磁気タグの強度は、ホールセンサ(ロボットアーム上に位置する場合)がロボットアームに取り付けられた器具上の磁気タグを検出するが、隣接するロボットアームに取り付けられた器具上の磁気タグを検出しないように、予め決定されていてもよい。ホールセンサの閾値と磁気タグの強度は共に、ホールセンサ(ロボットアーム上に位置する場合)が、器具がロボットアームと係合している際に磁気タグを検出するだけのために、予め決定されていてもよい。この場合、器具インターフェースがロボットアームインターフェースとずれている、又はロボットアームインターフェースに正しく接続されていないと、ホールセンサは要求される閾値の磁束密度を検出せず、磁気タグが検出されたことを示す出力電圧を生成しない。
【0040】
別の例では、ホールセンサの閾値及び/又は内部増幅と磁気タグの強度は、ホールセンサ(ロボットアーム上に位置する場合)が、近くにあるが必ずしもロボットアームに取り付けられている必要はない器具上の磁気タグを検出するように、予め決定されていてもよい。例えば、ホールセンサは、10cm未満離れているときに磁気タグを検出してもよい。この検出に応答して、器具は、そのパラメータの1つ以上の値を示すデータを送信してもよい(詳細は後述する)。このデータは、これらのパラメータの値をユーザに出力する例えばコントローラによって処理される。このようにして、器具がロボットアーム上にドッキングされる前に、ユーザにパラメータの値が通知されていてもよい。このことは、パラメータの値のいずれかが操作に適切でないことを示す場合、例えば、それが間違った器具の種類である場合、又は手術を完了するのに十分な寿命がない場合、特定の器具をロボットアームに係合しない機会をユーザに与える。
【0041】
ホールセンサの閾値と磁気タグの強度は、磁気タグがホールセンサから4cm未満、好ましくは1cm未満、最も好ましくは1mm未満であるときに、磁気タグがホールセンサによって検出されるようにすることが望ましい。
【0042】
ホールセンサの閾値及び/又は内部増幅及び/又は磁気タグの強度は、ホールセンサ(ロボットアーム上に位置する場合)が、その用途に必要な範囲及び感度を有するように、ダイナミックに適応可能であってもよい。要求される範囲及び感度は、段階で異なっていてもよい。例えば、器具とロボットアームの係合に先立って、ホールセンサが、その距離が10cm未満である場合に磁気タグを検出することが望ましくてもよいが、器具とロボットアームが係合した後に、ホールセンサが、その距離が1mm未満の場合にのみ磁気タグを検出することが望ましくてもよい。ホールセンサの閾値及び/又は内部増幅及び/又は磁気タグの強度は、手術の間これらの変化する要求に対して範囲及び感度を変化させるためにダイナミックに適応可能であってもよい。
【0043】
ホールセンサ及び磁気タグの例に関して説明したが、範囲及び感度についての上記の説明は、近接センサ及び検出可能なタグの任意の組み合わせに適用される。
【0044】
ロボットアーム上には2つの近接センサがあってもよく、第1の近接センサは、検出可能なタグを4cm未満の距離で検出し、第2の近接センサは、検出可能なタグを1mm未満の距離で検出する。この場合は、第1の近接センサは、器具がアームとの係合に近づいたことを検出し、第2の近接センサは、器具がアームに正しくドッキングされている時に検出する。第1の近接センサが検出可能なタグを検出するが第2の近接センサがタグを直ちに検出しない場合、器具がロボットアーム上のドッキング位置から1mmから4cmの間にあることを示す。換言すれば、器具がロボットアームに正しくドッキングされていないことを示す。例えば、器具がロボットアームと正しく位置合わせされていない可能性がある。コントローラは、警報信号を生成することによって、そのようなシナリオに対応してもよい。この警報信号は、例えば警報灯又は警報音としてロボットアームから出力されてもよい。あるいは、警報信号は、例えば警報灯又は警報音として出力するために外科医コンソールに送信されてもよい。2つの近接センサは各々、先に列挙したもののいずれかであってもよい。2つの近接センサは、例えば両方共ホールセンサであるような同じ種類であってもよい。あるいは、2つの近接センサは、例えば1つがホールセンサで1つが光センサであるような異なる種類のものであってもよい。
【0045】
ロボットアームの回路はまたコントローラ405を備えていてもよい。コントローラ405は、近接センサ404の出力407を入力406として受け取る。それゆえ、上記の例では、コントローラはホールセンサの出力電圧信号を受け取る。コントローラはまた、受信機401の出力409を入力408として受信する。コントローラは、アーム受信機401及び/又はアーム送信機403に制御信号410を出力する。これにより、コントローラは、近接センサの出力407に応じてアーム受信機401及び/又はアーム送信機403の動作を制御する。
【0046】
コントローラ405は、プロセッサ411、メモリ412、及びデータストア413を備えている。メモリ412は、アーム受信機401及び/又はアーム送信機403を本明細書に記載の方法で動作するように制御するために、プロセッサ411によって実行可能なソフトウェアを非一時的な方法で格納している。特に、ソフトウェアは、プロセッサ411を制御して、アーム受信機を作動又は非作動にする。ソフトウェアは、プロセッサ411を制御して、アーム送信機が器具の1つ又は複数のパラメータの値を示すデータを送信するようにしてもよい。例えば、ソフトウェアは、プロセッサ411を制御して、アーム送信機がコードを器具に送信するようにしてもよい。ソフトウェアは、プロセッサ411を制御して警報を生成し送信してもよい。これらの動作は、近接センサの出力407、及び/又はセンサ308及び/又は外科医コマンドインターフェース312からの入力に応じて制御されていてもよい。データストア413は、コントローラがアーム受信機401から受信したデータから得られた器具のパラメータの値を格納してもよい。データストア413は、近接センサの出力407から決定されるような、器具がアームにドッキングされているか否かのしるしを格納してもよい。データストア413は、メモリ412内に組み込まれていてもよい。この場合、メモリ412は、データストア413用のセクションと、プロセッサ411上での実行のための命令を格納するセクションとに論理的に区分されている。データストア413は、プロセッサ411内にレジスタとして組み込まれていてもよい。データストア413は、1つ以上のバッファであってもよい。
【0047】
器具の回路も、データストア505を備えている。データストア505は、器具306の1つ又は複数のパラメータの値を示すデータを格納する。このデータは、前述したようなコードであってもよい。データストア505は、器具のパラメータの値を格納していてもよい。データは、データストア505から取り出されて、器具送信機501によって送信される。
【0048】
以下に、
図4及び
図5に関して説明した回路を用いて実施することができるいくつかの代表的な制御方法を説明する。
【0049】
図6は、第1の制御方法のフローチャートを示す。ステップ601に示すように、最初のうちはアーム300と器具306との間には通信リンクが確立されていない。コントローラ405が、アーム受信機401又はアームトランシーバ402が短距離無線通信のプロトコルに従って通信することを無効にしていてもよい。
【0050】
ステップ602において、近接センサ404は器具を検出し、検出信号をコントローラ405に出力する。コントローラ405は、器具がロボットアームにドッキングされているしるしをデータストア413に格納する。
【0051】
ステップ603において、コントローラは、アーム受信機401又はアームトランシーバ402と、器具送信機501又は器具トランシーバ502間に、短距離無線通信リンクが確立されるように、制御信号をアーム受信機401又はアームトランシーバ402に送信することにより検出信号に応じる。例えば、制御信号がアーム受信機401の受信機能をオンに切り替え、これによりアーム受信機401が器具送信機501によって送信されたデータを受信することを可能にしてもよい。あるいは、又はさらに、制御信号が、アーム送信機403に器具受信機503との接続を要求させてもよい。この後、アームと器具との間に短距離無線通信リンクが確立される。
【0052】
一旦通信リンクが確立されると、コントローラ405は、ステップ604において、アームトランシーバ402を制御して器具に照会を送信してもよい。照会は、器具に対するパラメータデータを提供せよという要求である。要求は、器具の識別情報又は器具の種類など、1つ又は複数の特定のデータパラメータに関するものであってもよい。要求は、器具によって格納されたすべてのパラメータデータの更新のためのものであってもよい。器具トランシーバ502は、アームトランシーバ402から要求を受信する。
【0053】
要求に応じて、器具トランシーバ502は、要求されたパラメータの値を示すデータをデータストア505から取り出し、このデータをアームトランシーバ402に送信する。器具が、要求されたパラメータの値が導出可能なコードを格納している場合には、器具トランシーバは、データストア505からコードを取り出し、このコードをアームトランシーバに送信することによって、要求に応じる。好ましくは、複数の異なるパラメータの値が同じコード内に埋め込まれていることが望ましい。好ましくは、すべての要求されたパラメータの値が同じコード内に埋め込まれていることが望ましい。従って、器具は、同じコードを送信することによって、パラメータの値の任意の1つ又は任意の組み合わせに対する要求に応じる。あるいは、器具は、それぞれが異なるパラメータの値又はパラメータの値のセットが埋め込まれた、複数のコードを格納していてもよい。この場合、器具は、要求されたパラメータの値が埋め込まれたコードを送信することによって、パラメータの値又はパラメータの値の組み合わせに対する要求に応じる。あるいは、器具は、少なくとも1つに要求されたパラメータの値が埋め込まれている、データストアに格納されたすべてのコードを送信することによって、パラメータの値又はパラメータの値の組み合わせに対する任意の要求に応じてもよい。
【0054】
器具によって格納されたデータがパラメータの値自体を含む場合には、器具トランシーバは、要求されたパラメータの値をデータストアから取り出し、これらのパラメータの値をアームトランシーバに送信することによって、要求に応じる。あるいは、器具トランシーバは、データストアに格納されたすべてのパラメータの値を取り出し、これらをアームトランシーバに送信することによって、要求に応じてもよい。
【0055】
器具トランシーバは、データをアームトランシーバに送る前にデータを暗号化してもよい。あるいは、器具は、暗号化された形式でデータをデータストアに格納し、その後、暗号化されたデータを送信してもよい。いずれの場合でも、暗号キーはロボットアームコントローラ405に知られている。
【0056】
ステップ605において、アームトランシーバ402は、器具から、要求されたパラメータの値を示すデータを受信する。ステップ606において、コントローラ405は、受信したデータから、要求されたパラメータの値を取り出す。コントローラ405は、受信したデータが暗号化されていればそれを復号化する。受信したデータが、パラメータの値が埋め込まれているコードである場合、コントローラは、パラメータの値を決定するためにアルゴリズムにコードを入力する。アルゴリズムは、コードに対して1つ以上の関数を実行する。各関数が、要求されたパラメータの値の1つ又は複数を決定してもよい。導出されたパラメータの値は、その後、ステップ607でデータストア413に格納される。受信したデータが要求されたパラメータの値である場合、これらの受信したパラメータの値はデータストア413に格納される。
【0057】
コントローラが、アームトランシーバに、いつでもパラメータデータの更新のために器具に照会させていてもよい。器具は上記のように応じる。このことは、
図6において、ステップ607からステップ604付近にループする制御方法によって示されている。
【0058】
図7は、第2の制御方法のフローチャートを示す。通信リンクが、アーム300と器具306との間に確立されている。器具送信機501は、データストア505から器具の識別情報を示すデータを取り出し、これをロボットアームに送信する。ステップ701において、アーム受信機401は、器具送信機501から器具の識別情報を示すデータを受信する。アーム受信機401は、受信した器具の識別情報を示すデータをコントローラ405に出力する。コントローラ405は、アーム受信機401から器具の識別情報を示すデータを受信する。コントローラは、
図6に関連して説明した器具の識別情報を示すデータから器具の識別情報を取り出し、ステップ702で器具の識別情報をデータストア413に格納する。
【0059】
続いて、ステップ703において、アーム受信機401はパラメータの値の更新を受信する。パラメータの値の更新は、器具の識別情報及び他のパラメータの値を示すデータを含んでいる。アーム受信機401は、受信したパラメータの値の更新をコントローラ405に出力する。プロセッサ411は、パラメータの値の更新を受信し、ステップ701と同様にパラメータの値の更新から器具の識別情報を取り出す。プロセッサ411は、格納された器具の識別情報をデータストア413から読み出す。プロセッサ411は、ステップ704において、パラメータの値の更新からの器具の識別情報と格納された器具の識別情報とを比較する。パラメータの値の更新からの器具の識別情報が格納された器具の識別情報と一致する場合、プロセッサは、ステップ705において、パラメータの値の更新から他のパラメータの値又はパラメータの値を取り出し、それらのパラメータの値をデータストア413に格納する。プロセッサはまた、パラメータの値を制御ユニット309に送ってもよい。制御ユニット309は、外科医コマンドインターフェース312にこれらのパラメータの値の1つ又は複数を送ってもよい。パラメータの値は外科医に表示してもよい。パラメータの値の更新による器具の識別情報が格納された器具の識別情報と一致しない場合、ステップ706で、プロセッサは、パラメータの値の更新におけるパラメータの値を破棄する。オプションで、ステップ707において、プロセッサは警報を生成する。この警報は、制御ユニット309に送信されてもよい。制御ユニット309が、外科医コマンドインターフェース312上に警報を生成してもよい。例えば、警報が外科医に表示されてもよい。ステップ705に続いてステップ703に戻り、そこでアームは別のパラメータの値の更新を受信する。ステップ706に続いてステップ703に戻り、そこでアームは別のパラメータの値の更新を受信する。
【0060】
このように、一旦器具がステップ701及び702を介してロボットアームにその識別情報を登録すると、コントローラ405は、その器具の識別情報を有する器具から受信したパラメータの値のみを格納する。従って、アーム受信機401がアームに取り付けられていない他の器具の通信範囲内にあり、その他の器具からパラメータの値を受信したとしても、コントローラは、これらのパラメータの値に関連する器具の識別情報が、データストア413に格納された取り付けられた器具の識別情報と一致しないことから、これらのパラメータの値を格納しない。
【0061】
図8は、第3の制御方法のフローチャートを示す。アーム受信機401は、短距離無線通信のプロトコルに従って接続要求及び公共放送を受信するように動作可能である。このようにして、アーム受信機401は、同じ短距離無線通信のプロトコルに従って動作する近接送信機を検出する。換言すれば、このようにして、アーム受信機401は、近くの器具を検出する。一方、近接センサ404は、器具がロボットアーム内に適切にドッキングされている場合にのみ器具を検出するモードで動作する。
【0062】
ステップ801において、プロセッサ411は、アーム受信機401から出力された信号を分析して、アーム受信機401が近くの器具を検出したかどうかを判定する。アーム受信機401が近くの器具を検出したか否かにかかわらず、プロセッサ411は、ステップ802,803において、近接センサ404が器具を検出したかどうかを判定するため近接センサ404からの信号出力を解析する。あるいは、プロセッサ411は、アーム受信機からの出力を分析する前に近接センサからの出力を分析してもよい。言い換えれば、プロセッサ411は、ステップ801の前にステップ802/803を実行してもよい。
【0063】
アーム受信機401が器具を検出し、近接センサ404もまた器具を検出したとプロセッサ411が判定した場合、プロセッサはステップ804で警報を生成しない。アーム受信機401が器具を検出しておらず、近接センサ404も器具を検出していないとプロセッサ411が判定した場合、プロセッサはステップ805で警報を生成しない。
【0064】
アーム受信機401が器具を検出したが近接センサ404が器具を検出していないとプロセッサ411が判定した場合、プロセッサはステップ806で警報を生成する。アーム受信機401が器具を検出していないが近接センサ404が器具を検出したとプロセッサ411が判定した場合、プロセッサはステップ807で警報を生成する。両方の場合において、コントローラ405は警報を制御ユニット309に送り、制御ユニット309は外科医コマンドインターフェース312に警報を出してもよい。警報は誤動作かもしれない。この誤動作は、器具がロボットアームに正しくドッキングしていないことが原因かもしれない。あるいは、誤動作は、近接センサが故障したことが原因かもしれない。コントローラ405又は制御ユニット309はさらに、外科用器具の操作を止めることによって器具を検出するアーム受信機及び近接センサの一方のみに応答してもよい。コントローラ405又は制御ユニット309は、外科医コマンドインターフェース312による外科用器具のロボット制御を解除することによってこれを行ってもよい。
【0065】
ホールセンサが故障すると、磁場が存在しない場合に出力電圧を生成するか、又は磁場の存在下で出力電圧を生成しないかもしれない。不正確なセンシングを避けるために、2つのホールセンサを使用してもよい。2つのホールセンサが異なって読み取る場合、それはそれらの1つが故障していることを示している。しかし、本方法ではアーム受信機401が近くの器具をも検出することから、アーム受信機401でホールセンサの故障を検出できるように、たった1つのホールセンサだけを用いる必要がある。
【0066】
図9a、
図9b、
図9c及び
図9dはすべて、外科用器具の使用データを記録するための制御方法のフローチャートを示している。外科用器具は、一般に、多目的器具である。それらは、手術の間殺菌され、再利用される。しかし、それらは、使用に適さない寿命を有している。それゆえ、外科用器具の使用を示すデータが器具に保存されていることは有用である。通信リンクが、アーム300と器具306との間に確立されている。
【0067】
図9aにおいて、器具送信機501は、データストア505から外科用器具の全作動時間を示すデータを取り出し、これをロボットアームに送信する。ステップ901において、アーム受信機401は、器具送信機501から全作動時間を示すデータを受信する。アーム受信機401は、このデータをコントローラ405に出力する。コントローラ405は、このデータをアーム受信機401から受信する。コントローラ405は、
図6に関して説明したように、全作動時間を示すデータから全作動時間を取り出す。次に、コントローラ405は、ステップ902で、データストア413に全作動時間を格納する。
【0068】
コントローラ405はまた、タイマ414を備えている。タイマ414は、プロセッサ411の制御下で動作する。プロセッサ411は、タイマ414がステップ903でタイミングを開始するように制御することによって、アーム受信機401から全作動時間を示すデータを受信することに応じる。次に、コントローラは、制御ループを作動させる。コントローラは、ステップ904において器具が取り外されるというコマンドを受信したかどうかを判定する。そのようなコマンドを受信していない場合、ステップ905でタイマ414に照会して、タイマが開始されてから時間Tが経過したかどうかを調べる。照会の結果、時間Tが経過していないと判定された場合、制御ループはステップ904に戻り、コントローラは、器具が取り外されているかどうかを判定する。器具が取り外されている場合、プロセッサ411は、ステップ906において、タイマが開始されてからの経過時間を取り出す。器具を取り外すか、又は時間Tが経過すると、プロセッサは、ステップ907で、データストア413から格納された全作動時間を取り出す。ステップ908において、プロセッサは、全作動時間を決定する。全作動時間は、格納された全作動時間+経過時間である。プロセッサは、この全作動時間をデータストア413に書き込む。プロセッサ411はまた、ステップ909において、全作動時間を示すデータを送信するようにアーム送信機403を制御してもよい。このデータは、全作動時間が埋め込まれたコードであってもよい。例えば、コードは数字コードであってもよい。あるいは、全作動時間を示すデータは、全作動時間を含んでいてもよい。データは、送信前に暗号化されていてもよい。アーム送信機403は、全作動時間を示すデータを送信する。器具受信機は、全作動時間を示すデータを受信し、これをデータストア505に格納する。
【0069】
コントローラ405は、外科用器具のための所定の最大作動時間を格納していてもよい。プロセッサ411は、ステップ902で全作動時間を取り出し、全作動時間を最大作動時間と比較してもよい。全作動時間が最大作動時間を超える場合、プロセッサ411は警報を生成してもよい。全作動時間が最大作動時間の時間T’内である場合、プロセッサは警報を生成してもよい。どちらの場合でも、警報は制御ユニット309に送られる。制御ユニット309は、外科医コマンドインターフェース312に警報を出してもよい。警報に加えて、コントローラ405又は制御ユニット309のいずれかが、外科用器具の操作を止めてもよい。
【0070】
図9bにおいて、器具送信機501は、データストア505から外科用器具の残りの寿命を示すデータを取り出し、これをロボットアームに送信する。ステップ911において、アーム受信機401は、器具送信機501から残りの寿命を示すデータを受信する。アーム受信機401は、このデータをコントローラ405に出力する。コントローラ405は、このデータをアーム受信機401から受信する。コントローラ405は、
図6に関して説明したように、残りの寿命を示すデータから全作動時間を取り出す。そして、コントローラ405は、ステップ912において、データストア413に全作動時間を格納する。
【0071】
プロセッサ411は、タイマ414がステップ913でタイミングを開始するように制御することによって、アーム受信機401からの残りの寿命を示すデータを受信することに応じる。次に、コントローラは制御ループを作動させる。コントローラは、ステップ914において器具が取り外されるコマンドを受信したかどうかを判定する。そのようなコマンドを受信していない場合、ステップ915でタイマ414に照会して、タイマが開始されてから時間Tが経過したかどうかを調べる。照会の結果、時間Tが経過していないと判定された場合、制御ループはステップ914に戻り、そこでコントローラは器具が取り外されているかどうかを判定する。器具が取り外されている場合、プロセッサ411は、ステップ916において、タイマが開始されてからの経過時間を取り出す。器具が取り外されるか、又は時間Tが経過すると、プロセッサは、ステップ917で、データストア413から格納された残存寿命を取り出す。ステップ918で、プロセッサは、残りの寿命を決定する。残りの寿命は、格納された残りの寿命から経過時間を引いたものである。プロセッサは、この残りの寿命をデータストア413に書き込む。プロセッサ411はまた、ステップ919において、アーム送信機403を制御して、残りの寿命を示すデータを送信してもよい。このデータは、残りの寿命が埋め込まれているコードであってもよい。例えば、コードは数字コードであってもよい。あるいは、残りの寿命を示すデータは、残りの寿命を含んでいてもよい。データは、送信前に暗号化されていてもよい。アーム送信機は、残りの寿命を示すデータを送信する。器具受信機は、残りの寿命を示すデータを受信し、これをデータストア505に格納する。
【0072】
プロセッサ411は、ステップ912で残りの寿命を取り出し、残りの寿命を0と比較してもよい。残りの寿命がゼロ以下である場合、プロセッサ411は警報を生成してもよい。残りの寿命が0である時間T’以内である場合、プロセッサは警報を生成してもよい。いずれの場合でも、警報は制御ユニット309に送られる。制御ユニット309は、外科医コマンドインターフェース312に警報を出してもよい。警報に加えて、コントローラ405又は制御ユニット309のいずれかが外科用器具の操作を止めてもよい。
【0073】
コントローラは、アーム送信機に、器具の使用データを示すデータを定期的に送信させてもよい。例えば、コントローラは、アーム送信機に、このデータを30秒毎、又は1分毎、又は5分毎に送信させてもよい。コントローラはさらに、データがいつでも器具に送信されるようにしてもよい。例えば、コントローラは、制御ユニット309からそのようなコマンドを受信することに応じて、使用データを示すデータを器具に送信させてもよい。
【0074】
図9cにおいて、器具送信機501は、データストア505から外科用器具の使用回数を示すデータを取り出し、これをロボットアームに送信する。ステップ921において、アーム受信機401は、器具送信機501から使用回数を示すデータを受信する。アーム受信機401は、このデータをコントローラ405に出力する。コントローラ405は、このデータをアーム受信機401から受信する。コントローラ405は、
図6に関して説明した使用回数を示すデータから使用回数を取り出す。
【0075】
プロセッサは、取り出された使用回数+1になる使用回数を生成する。次に、プロセッサは、送信機403を制御して、器具の使用回数を示すデータを送信する。このデータは、使用回数が埋め込まれたコードであってもよい。例えば、コードは数字コードであってもよい。あるいは、使用回数を示すデータは、使用回数を含んでいてもよい。データは、送信前に暗号化されていてもよい。アーム送信機403は、使用回数を示すデータを送信する。器具受信機は、使用回数を示すデータを受信し、これをデータストア505に格納する。プロセッサ411はさらに、データストア413に使用回数を格納してもよい。
【0076】
コントローラ405は、外科用器具のための所定の最大使用回数を記憶していてもよい。プロセッサ411は、ステップ922で使用回数を取り出し、使用回数を最大使用回数と比較してもよい。使用回数が最大使用回数以上であれば、プロセッサ411は警報を生成してもよい。警報は制御ユニット309に送られる。制御ユニット309は、外科医コマンドインターフェース312に警報を出してもよい。警報に加えて、コントローラ405又は制御ユニット309のいずれかが外科用器具の操作を止めてもよい。
【0077】
図9dの場合、器具送信機501は、データストア505から外科用器具の残りの使用回数を示すデータを取り出し、これをロボットアームに送信する。ステップ931において、アーム受信機401は、器具送信機501から残りの使用回数を示すデータを受信する。アーム受信機401は、このデータをコントローラ405に出力する。コントローラ405は、このデータをアーム受信機401から受信する。コントローラ405は、
図6に関して説明したように残りの使用回数を示すデータから残りの使用回数を取り出す。
【0078】
プロセッサは、取り出された残りの使用回数から1を引いた残りの使用回数を生成する。次いで、プロセッサは、送信機403を制御して、器具の残された使用回数を示すデータを送信する。このデータは、残りの使用回数が埋め込まれたコードであってもよい。例えば、コードは数字コードであってもよい。あるいは、残りの使用回数を示すデータは、残りの使用回数を含んでいてもよい。データは、送信前に暗号化されていてもよい。アーム送信機403は、残りの使用回数を示すデータを送信する。器具受信機は、残りの使用回数を示すデータを受信し、これをデータストア505に格納する。プロセッサ411はさらに、データストア413に残りの使用回数を格納してもよい。
【0079】
プロセッサ411は、ステップ932で残りの使用回数を取り出し、残りの使用回数を0と比較してもよい。残りの使用回数が0と同じか又は0より小さい場合、プロセッサ411は警報を生成してもよい。警報は制御ユニット309に送られる。制御ユニット309は、外科医コマンドインターフェース312に警報を出してもよい。警報に加えて、コントローラ405又は制御ユニット309のいずれかが外科用器具の操作を止めてもよい。
【0080】
図9a,9b,9c及び9dに関して説明した制御方法は、任意の組み合わせで一緒に使用してもよい。アーム受信機401は、全作動時間、残りの寿命、使用回数、及び残りの使用回数を任意に組み合わせたデータを受信してもよい。例えば、アーム受信機401は、列挙された使用データのパラメータの値の組み合わせが埋め込まれたコードを受信してもよい。次に、コントローラ405は、それらの使用データのパラメータの値に対して
図9に記載されたのと対応する方法を実行してもよい。例えば、コントローラは、外科用器具が残り1時間と残り2回の寿命を有していると判断してもよい。コントローラは、決定された使用データのパラメータの値のうちのいずれか1つがスケジュールされた動作の終了前に満了する場合、警報を発してもよい。上記の例では、外科用器具にまだ2回の使用が残っていても、操作が1時間以上かかるようにスケジュールされていた場合、コントローラは警報を出す。
【0081】
ロボットアームは、器具がロボットアームに取り付けられる前に、器具の使用データをチェックしてもよい。オペレータは、器具をアームに装着することなく、ロボットアームに対する短距離通信のプロトコルの範囲内に器具を持って来てもよい。例えば、ロボットアームのベースの方に配置され、オペレータが範囲内に器具を持ち込めるアーム受信機を有していてもよい。この時点で、器具は殺菌包装されていてもよい。器具は、使用データを示すデータをロボットアームに送信する。ロボットアームは、送信されたデータを受信する。プロセッサは、上述のように使用データを取り出し、分析する。使用データが、器具の寿命が満了したことを示すか、又は動作のために残された寿命が不十分であることを示す場合、プロセッサは警報を発する。警報は、アーム上の表示器の形態であってもよい。例えば、アーム上の光又はノイズであってもよい。警報に加えて、コントローラはまた、器具がロボットアームに取り付けられないようにしてもよい。例えば、コントローラは、ロボットアームのインターフェースが、器具と係合可能な形態に配置されることを防止してもよい。
【0082】
使用データは、前の段落で説明したように、ロボットアーム以外のデバイスによってチェックされてもよい。例えば、短距離通信のプロトコルに従って動作する受信機は、器具格納ラック上に配置されていてもよいし、携帯用リーダであってもよい。受信機は、使用データを読み取るために器具と接触する必要がないことから、受信機を備えた非殺菌リーダを使って、殺菌した器具から使用データを読み取ってもよい。例えば、技術者は、作業中、このようなリーダを使用して、ロボットアーム上で現在使用されている器具の種類を(本明細書に記載の方法を使用して)読み取ってから、器具格納ラックに移動し、(本明細書に記載の方法を使用して)操作に使用するために同じ器具の種類の別の器具を配置してもよい。短距離通信のプロトコルに従って動作する送信機も組み込んだこのようなリーダは、器具の製造プロセス中に用いられてもよい。一旦器具が製造されて殺菌包装に包装されれば、短距離通信のプロトコルに従って、器具の識別情報がリーダの送信機から無線で器具に書き込まれてもよい。
【0083】
図10は、さらなる制御方法のフローチャートを示す。最初に、アーム300と器具306との間に通信リンクが確立される。ステップ1001において、近接センサ404は、器具がロボットアームから取り外されたことを検出し、それに応じてコントローラ405に信号を出力する。プロセッサ411は、近接センサ404から、器具がロボットアームから取り外されたことを示す信号を受信する。プロセッサは、ステップ1002において、データストア413から外科用器具の使用データを取り出すことによって応じる。プロセッサは、取り出された使用データを示すデータを生成する。プロセッサは、このデータを暗号化してもよい。プロセッサは、データをアーム送信機403に出力し、アーム送信機403を制御してデータを器具に送信する。アーム送信機403は、短距離無線通信リンクを介してステップ1003で器具にデータを送信する。器具受信機503は、データを受信し、データストア505に書き込む。
【0084】
ステップ1001で器具が取り外されたことを検出した後、コントローラ405は、ロボットアームから取り外されることを指示するコマンドを受信したかどうかを判定してもよい。このコマンドが受信されている場合、コントローラは、コマンドに応答して器具の使用データを示すデータを送信するように、アーム送信機をすでに制御しているかどうかを判定してもよい。すでに使用データを示すデータを送信している場合には、コントローラは、
図10のステップ1002及び1003を実行しなくてもよい。
【0085】
本方法は、警報なしに器具がロボットアームから取り外される場合でも、使用データを示すデータが器具に書き込まれることを保証する。アームトランシーバ402及び器具トランシーバ502は無線で通信するので、使用データを示すデータを器具に送信するためにロボットアームが器具に接触している必要はない。それゆえ、使用データを示すデータが、ロボットアームに知らされずに取り除かれることで器具に書き込まれることを不正に妨げる試みは、ロボットアームが使用データを示すデータを短距離無線通信リンクを用いて即座に器具に書き込むことにより失敗するであろう。
【0086】
図11は、ロボットアームのモードを変更するための制御方法を示す。ステップ1101において、ロボットアームは最初は準拠モードにある。準拠モードでは、ロボットアームは、ジョイントを力の方向に動かすためにモータを駆動することによって、いくつかの外力に応じる。それゆえ、例えば、ロボットアームは、肘ジョイントを押す方向に動かすことによって、ロボットアームの肘ジョイントを押す人に応じてもよい。非準拠モードでは、ロボットアームは、ロボットアームを動かすことで外力に応じない。
【0087】
ステップ1102において、アーム受信機401は、前述したやり方で近くの器具を検出する。アーム受信機401は、この検出をコントローラ405に出力する。コントローラ405は、ステップ1103において、器具がロボットアームにドッキングされているかどうかを判定することで応じる。コントローラ405は、器具がデータストア413にドッキングされているかどうかのしるしを格納していてもよい。あるいは、コントローラは、制御ユニット309に照会して、器具がドッキングされているかどうかを判定してもよい。データストア413又は制御ユニット309のいずれかから、コントローラ405は、器具がロボットアームにドッキングされているかどうかのしるしを受信する。器具がロボットアーム内にドッキングされていない場合、コントローラ405は、ステップ1104において、ロボットアームの動作モードを非準拠モードに変更する。その後、ステップ1103に戻る。器具がドッキングされているとコントローラが一旦判定すれば、ステップ1105において、ロボットアームの動作モードを準拠モードに戻す。
【0088】
本方法では、器具がロボットアームに接続されている間、ロボットアームを非準拠モードに変更する。それゆえ、ロボットアームは、ロボットアームに取り付けられている器具と同じ程度の剛性を有し、このことは人が正確に器具をドッキングするのをより容易にしている。
【0089】
器具がロボットアームにドッキングされている間、アーム受信機401は別の器具を検出してもよい。器具がすでにアームにドッキングされていることから、コントローラは、ステップ1103で器具がすでにドッキングされていると判断し、それゆえロボットアームを準拠モードのままにする。従って、追加の器具を感知しても、コントローラはロボットアームを非準拠モードに変更しない。
【0090】
2つの異なるロボットアームがステップ1102で同じ器具を検出してもよい。この場合、制御ユニット309は、どのロボットアームに器具がドッキングされているかを判定し、ステップ1104において、そのロボットアームのみを非準拠モードにする。制御ユニット309は、どのロボットアームが通信リンクを介して最も強い信号を受信しているかを判定し、そのロボットアームを非準拠モードとするように選ぶことによって、これを行ってもよい。
【0091】
図6から
図11はすべて制御方法のフローチャートを示している。これらのステップは、示されたものとは異なる順序で実行されてもよいことは理解されるであろう。いくつかのステップは省略されてもよい。
【0092】
図6〜11の制御方法は、コントローラ405によって実施されるものとして記述されている。あるいは、制御ユニット309、又は制御ユニット309とコントローラ405との組み合わせが、これらの制御方法を実行してもよい。
【0093】
図3に関して説明したように、好ましくは、ロボットアームは駆動アセンブリで終端していることが望ましい。駆動アセンブリインターフェースは、可動器具インターフェースエレメントを駆動する可動駆動アセンブリインターフェースエレメントを介して器具インターフェースと係合している。
図12は、ロボットアーム300が器具306と係合する代表的な機構を示している。
図12において、器具306は、ロボットアーム300と係合している。ロボットアーム300は、駆動アセンブリインターフェース1202で終端している。器具306は、器具インターフェース1201で終端している。器具インターフェースエレメント1203,1204及び1205は、器具インターフェース1201内で移動可能である。器具インターフェースエレメントは、器具のシャフト内の駆動エレメントに接続されている。これらの駆動エレメントは、器具の遠位端でジョイントでつながれている。駆動アセンブリインターフェースエレメント1206,1207及び1208は、駆動アセンブリインターフェース1202内で移動可能である。駆動アセンブリインターフェースエレメント1206,1207及び1208は、ロボットアーム300のアクチュエータによって駆動されている。各駆動アセンブリインターフェースエレメントは、それぞれの器具インターフェースエレメントと係合している。駆動アセンブリインターフェースエレメント1208は、器具インターフェースエレメント1205と係合している。駆動アセンブリインターフェースエレメント1206は、器具インターフェースエレメント1204と係合している。駆動アセンブリインターフェースエレメント1207は、器具インターフェースエレメント1203と係合している。
【0094】
代表的な実施形態では、近接センサ404は、駆動アセンブリインターフェースに隣接して配置される。検出可能なタグ504は、外科用器具インターフェースに隣接して配置される。近接センサ404と検出可能タグ504との相対位置は、外科用器具がアーム上にドッキングされた際に、検出可能タグ504が近接センサ404に近接するように選択される。それゆえ、近接センサは、器具がアーム上にドッキングされた際に検出可能なタグを検出する。近接センサ及び検出可能タグの位置は、器具がアーム上に適切にドッキングされていない場合、近接センサが検出可能タグを検出しないように選択されていてもよい。
【0095】
出願人はこれによって、ここに記載の分離した各個別の特徴および2つ以上のそのような特徴の任意の組み合わせを開示しており、そのような特徴または特徴の組み合わせが当業者の共通の一般的な知識に照らして全体として本明細書に基づいて実施されることが可能な程度に開示されている。なお、そのような特徴または特徴の組合せが本明細書に開示される任意の問題を解決するかどうかは関係がなく、またかかる具体的記載が特許請求の範囲を限定するものでもない。出願人は、本発明の態様は、このような個々の特徴または特徴の組み合わせから成ってもよいことを示している。以上の説明に鑑みて、種々の改変が本発明の範囲内でなされ得ることは当業者にとって明らかであろう。