(57)【要約】  システムは、医療ツールの動きを制御するためのロボットマニピュレータを含む。ロボットマニピュレータは、関節と、関節に接続されたリンクとを含む。リンクは、医療ツールに接続するように構成される。システムの処理ユニットは、関節のエンコーダから第１のデータを受信するように構成される。医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値は、第１のデータを使用して生成される。ツールチップの第１のパラメータは、ツールチップの位置又は速度である。第２のデータは、リンクのセンサ部分又は医療ツールに配置されたセンサシステムから受信される。関節は、第１のツールチップ推定値と、第１及び第２のデータを使用して生成された第２のツールチップ推定値との間の第１の差に基づいて制御される。
2021502173.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、当該システムは、
医療ツールの動きを制御するように構成されたロボットマニピュレータであって、該ロボットマニピュレータは、関節と、該関節に接続されたリンクとを含み、該リンクは、前記医療ツールに接続するように構成される、ロボットマニピュレータと、
１つ又は複数のプロセッサを含む処理ユニットと、を含み、
該処理ユニットは、
前記関節のエンコーダから第１のデータを受信すること、
該第１のデータを使用して、前記医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値を生成することであって、前記ツールチップの前記第１のパラメータは、前記ツールチップの位置又は速度である、生成すること、
前記リンクのセンサ部分又は前記医療ツールに配置されたセンサシステムから第２のデータを受信すること、
前記第１及び第２のデータを使用して、前記ツールチップの前記第１のパラメータの第２のツールチップ推定値を生成すること、及び
前記第１のツールチップ推定値と前記第２のツールチップ推定値との間の第１の差に基づいて、前記関節を制御すること、を行うように構成される、
システム。
【請求項２】
前記第２のツールチップ推定値を生成するために、前記処理ユニットは、
前記第１及び第２のデータを使用して、前記センサ部分の第１のパラメータのセンサ部分の推定値を生成することであって、前記センサ部分の前記第１のパラメータは、前記センサ部分の位置又は速度である、生成すること、及び
前記センサ部分の推定値と、前記センサ部分と前記ツールチップとの間の動的モデルとに基づいて、前記第２のツールチップ推定値を生成すること、を行うように構成される、請求項１に記載のシステム。
【請求項３】
前記センサ部分の推定値は、カルマンフィルタ、粒子フィルタ、非線形オブザーバ、及びアルファ・ベータ・ガンマフィルタから構成されるグループから選択される状態推定器アルゴリズムを使用して生成される、請求項２に記載のシステム。
【請求項４】
前記処理ユニットは、
前記第１のデータを使用して、前記ツールチップの第２のパラメータの第３のツールチップ推定値を生成することであって、前記ツールチップの前記第２のパラメータは、前記ツールチップの前記位置及び前記速度の他方である、生成すること、
前記第１及び第２のデータを使用して、前記ツールチップの前記第２のパラメータの第４のツールチップ推定値を生成すること、及び
前記第１の差と、前記第３のツールチップ推定値と前記第４のツールチップ推定値との間の第２の差とに基づいて、前記関節を制御すること、を行うようにさらに構成される、請求項１に記載のシステム。
【請求項５】
前記第１のデータは、前記関節の位置及び速度のうちの少なくとも１つに関連するデータを含む、請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記第２のデータは、並進加速度データ及び角速度データを含む、請求項１乃至４のいずれか一項に記載のシステム。
【請求項７】
前記センサシステムは、加速度計及びジャイロスコープを含む、請求項１乃至４のいずれか一項に記載のシステム。
【請求項８】
前記関節の動きを駆動するために前記関節に結合された作動アセンブリをさらに含み、
前記第１の差に基づいて前記関節を制御するために、前記処理ユニットは、
前記第１の差に基づいて関節調整データを生成すること、及び
前記関節調整データに基づいて前記作動アセンブリを制御するための制御信号を生成すること、を行うように構成される、請求項１乃至４のいずれか一項に記載のシステム。
【請求項９】
前記関節調整データは、逆運動学を前記第１の差に適用することによって生成される、請求項８に記載のシステム。
【請求項１０】
前記第１の差は、前記第１のツールチップ推定値の第１のツールチップ速度推定値と前記第２のツールチップ推定値の第２のツールチップ速度推定値との間の差を含み、
前記関節調整データは、関節速度調整データを含み、
逆ヤコビ関数が前記第１の差に適用されて、前記関節速度調整データが生成される、請求項９に記載のシステム。
【請求項１１】
方法であって、当該方法は、
ロボットマニピュレータの関節のエンコーダから第１のデータを受信するステップであって、前記ロボットマニピュレータは、前記関節に接続されたリンクを含む、受信するステップと、
前記第１のデータを使用して、医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値を生成するステップであって、前記医療ツールは前記リンクに接続され、前記ツールチップの前記第１のパラメータは、前記ツールチップの位置又は速度である、生成するステップと、
前記リンクのセンサ部分又は前記医療ツールに配置されたセンサシステムから第２のデータを受信するステップと、
前記第１及び第２のデータを使用して、前記ツールチップの前記第１のパラメータの第２のツールチップ推定値を生成するステップと、
前記第１のツールチップ推定値と前記第２のツールチップ推定値との間の第１の差に基づいて、前記関節を制御するステップと、を含む、
方法。
【請求項１２】
前記第２のツールチップ推定値を生成するステップは、
前記第１及び第２のデータを使用して、前記センサ部分の第１のパラメータのセンサ部分の推定値を生成するステップであって、前記センサ部分の前記第１のパラメータは、前記センサ部分の位置又は速度である、生成するステップと、
前記センサ部分の推定値と、前記センサ部分と前記ツールチップとの間の動的モデルとに基づいて、前記第２のツールチップ推定値を生成するステップと、を含む、請求項１１に記載の方法。
【請求項１３】
前記センサ部分の推定値は、カルマンフィルタ、粒子フィルタ、及びアルファ又・ベータ・ガンマフィルタから構成されるグループから選択される状態推定器アルゴリズムを使用して生成される、請求項１２に記載の方法。
【請求項１４】
前記第１のデータを使用して、前記ツールチップの第２のパラメータの第３のツールチップ推定値を生成するステップであって、前記ツールチップの前記第２のパラメータは、前記ツールチップの前記位置及び前記速度の他方である、生成するステップと、
前記第１及び第２のデータを使用して、前記ツールチップの前記第２のパラメータの第４のツールチップ推定値を生成するステップと、
前記第１の差と、前記第３のツールチップ推定値と前記第４のツールチップ推定値との間の第２の差とに基づいて、前記関節を制御するステップと、さらに以下を含む、請求項１１に記載の方法。
【請求項１５】
前記第１のデータは、前記関節の位置及び速度のうちの少なくとも１つに関連するデータを含む、請求項１１乃至１４のいずれか一項に記載の方法。
【請求項１６】
前記第２のデータは、並進加速度データ及び角速度データを含む、請求項１１乃至１４のいずれか一項に記載の方法。
【請求項１７】
前記センサシステムは、加速度計及びジャイロスコープを含む、請求項１１乃至１４のいずれか一項に記載の方法。
【請求項１８】
前記第１の差に基づいて、前記関節を制御するステップは、
前記第１の差に基づいて、関節調整データを生成するステップと、
該関節調整データに基づいて、前記関節に結合された作動アセンブリを制御するための制御信号を生成して、前記関節の動きを駆動させるステップと、をさらに含む、請求項１１乃至１４のいずれか一項に記載の方法。
【請求項１９】
前記関節調整データは、逆運動学を前記第１の差に適用することによって生成される、請求項１８に記載の方法。
【請求項２０】
前記第１の差は、前記第１のツールチップ推定値の第１のツールチップ速度推定値と、前記第２のツールチップ推定値の第２のツールチップ速度推定値との間の差を含み、
前記関節調整データは、関節速度調整データを含み、
逆ヤコビ関数が前記第１の差に適用され、前記関節速度調整データが生成される、請求項１９に記載の方法。
【請求項２１】
複数の機械可読命令を含む非一時的な機械可読媒体であって、前記命令が１つ又は複数のプロセッサによって実行されると、該１つ又は複数のプロセッサに、
ロボットマニピュレータの関節のエンコーダから第１のデータを受信することであって、前記ロボットマニピュレータは、前記関節に接続されたリンクを含む、受信すること、
前記第１のデータを使用して、医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値を生成することであって、前記医療ツールは前記リンクに接続され、前記ツールチップの前記第１のパラメータは、前記ツールチップの位置又は速度である、生成すること、
前記リンクのセンサ部分又は前記医療ツールに配置されたセンサシステムから第２のデータを受信すること、
前記第１及び第２のデータを使用して、前記ツールチップの前記第１のパラメータの第２のツールチップ推定値を生成すること、及び
前記第１のツールチップ推定値と前記第２のツールチップ推定値との間の第１の差に基づいて、前記関節を制御すること、を含む段階を実行させるように適合される、
非一時的な機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１７年１１月１０日に出願された米国仮出願第６２／５８４，３７７号の利益を主張するものであり、この文献は、その全体が参照により本明細書に組み込まれる。
【０００２】
本開示は、ロボット処置を行うためのシステム及び方法を対象とし、より具体的には、ロボットマニピュレータ、又はロボットマニピュレータに関連するツールを制御するためのシステム及び方法をより具体的に制御するためのシステム及び方法を対象とする。
【背景技術】
【０００３】
ロボットマニピュレータ・アセンブリは、作業空間内のツールの動きを制御するように操作することができる。例えば、そのようなロボットマニピュレータは、非医療処置及び医療処置を行うために使用することができる。特定の例として、遠隔操作の手術用マニピュレータを使用して、低侵襲性医療処置を行うことができる。
【０００４】
医療技術において、医療処置中に損傷を受ける組織の量を減らし、それによって患者の回復時間、不快感、及び有害な副作用を減らすことを意図するのが望ましい。例えば、低侵襲性技術は、患者の解剖学的構造の自然オリフィスを介して、或いは１つ又は複数の切開部を介して行ってもよい。これらの自然オリフィス又は切開部を介して、臨床医は、医療ツールを挿入して標的の組織位置に到達させることができる。低侵襲性医療ツールには、治療ツール、診断ツール、手術ツール等のツールが含まれる。低侵襲性医療ツールには、患者の解剖学的構造内の視覚化をユーザ提供する内視鏡ツール等のイメージングツールも含まれ得る。
【０００５】
ロボットマニピュレータが、遠隔操作されるか、又は他にコンピュータ支援され得る。例えば、ツールは、処置を行うためのロボットマニピュレータ・アセンブリによって保持してもよい。しかしながら、そのようなロボットマニピュレータ・アセンブリ及びツールの柔軟性は、望ましくない長い整定時間（settling times）で、減衰が不足した振動を引き起こす可能性がある。柔軟性（コンプライアンス）は、物理的コンプライアンス、機械的コンプライアンス、構造的コンプライアンス、及び負荷を受けた状態でたわむ能力を測定するために使用できる。ロボットマニピュレータ・アセンブリ（ベース、関節、リンクを含む）の柔軟性が比較的高い例、及び／又はリンクの質量又は慣性が比較的大きい例では、ロボットマニピュレータ・アセンブリの命令された動き又は外乱により、そのような振動が発生する可能性がある。そのため、コンプライアンス（物理的、機械的、構造的コンプライアンス等）、減衰（例えば、粘性減衰を含む物理的減衰であり、粘性減衰要素（例えば、潤滑油摩擦）が動きの速度に比例する力で動きに抵抗する）、及び質量／慣性を含む物理的パラメータの組合せにより、機械的共振が低くなり、望ましい減衰が得られない。処置中に、命令された動き又は外乱がこれらの低い機械的共振を引き起こし、望ましくない振動を生じさせる可能性がある。処置を行う間に、ツールチップ又はロボットマニピュレータの別の制御点で発生する（experienced）そのような振動は、システムのパフォーマンスを低下させる可能性がある。例えば、そのような振動は、コンピュータ支援システムがツールの命令された軌跡を実現又は追跡することを困難にする可能性がある。
【０００６】
そのような振動は、医療用ロボットシステムを含む全てのタイプのロボットシステムの制御に悪影響を及ぼす可能性がある。医療用ロボットの例では、そのような振動により、医療用ロボットシステムが組織に関する命令された操縦、イメージング・システムの移動、針の挿入、縫合の適用等を行うことが困難になる可能性がある。更なる例では、いくつかの実施態様では、ツールは、処置の一部又は全体の間に、遠隔運動中心（「遠隔中心」とも呼ばれる）の周りを移動する。場合によっては、振動により、手術又は他の医療処置中に遠隔運動中心が移動し、体壁の入口ポートに望ましくない力が加わることがある。振動により、ツール（又はツールを保持するマニピュレータ）の実際の姿勢又は動きが、命令された姿勢又は動きから離れ、ツール（又はマニピュレータ）が、遠隔中心が規定された位置から所定の許容範囲を超えて移動したかのように動作する範囲に離れる場合がある。すなわち、マニピュレータ及び／又はツールの動きに関連する仮想支点の位置の範囲は、振動によって引き起こされ、規定された遠隔運動中心からの許容量を超える。
【０００７】
こうして、システム及び方法は、望ましくない振動、ロボットシステムによって保持されるツールのチップ、及びマニピュレータの動き、又はマニピュレータによってツールの遠隔運動中心の周りに支持されているツールの動きを軽減することによるロボットシステムのマニピュレータのより良い制御等の、ロボットシステムのより良い制御を提供することが望まれる。
【発明の概要】
【０００８】
本発明の実施形態は、以下の特許請求の範囲によって要約される。
【０００９】
例示的な一実施形態では、システムは、医療ツールの動きを制御するように構成されたロボットマニピュレータを含み、ロボットマニピュレータは、関節と、関節に接続されたリンクとを含む。リンクは、医療ツールに接続するように構成される。システムは、１つ又は複数のプロセッサを含む処理ユニットをさらに含む。処理ユニットは、関節のエンコーダから第１のデータを受信し、第１のデータを使用して医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値を生成するように構成され、ツールチップの第１のパラメータは、ツールチップの位置又は速度である。処理ユニットは、リンクのセンサ部分又は医療ツールに配置されたセンサシステムから第２のデータを受信し、第１及び第２のデータを使用して、ツールチップの第１のパラメータの第２のツールチップ推定値を生成し、第１のツールチップ推定値と第２のツールチップ推定値との間の第１の差に基づいて、関節を制御するように構成される。
【００１０】
別の例示的な実施形態では、方法は、ロボットマニピュレータの関節のエンコーダから第１のデータを受信するステップを含む。ロボットマニピュレータは、関節に接続されたリンクを含む。医療ツールがリンクに接続される。医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値は、第１のデータを使用して生成される。ツールチップの第１のパラメータは、ツールチップの位置又は速度である。リンクのセンサ部分又は医療ツールに配置されたセンサシステムから第２のデータが受信される。ツールチップの第１のパラメータの第２のツールチップ推定値は、第１及び第２のデータを使用して生成される。関節は、第１のツールチップ推定値と第２のツールチップ推定値との間の第１の差に基づいて制御される。
【００１１】
別の例示的な実施形態では、非一時的な機械可読媒体は、複数の機械可読命令を含み、この命令が１つ又は複数のプロセッサによって実行されると、１つ又は複数のプロセッサに以下の段階を実行させるように適合される。この段階は、ロボットマニピュレータの関節のエンコーダから第１のデータを受信することを含む。ロボットマニピュレータは、関節に接続されたリンクを含む。医療ツールがリンクに接続される。医療ツールの先端部に結合されたツールチップの第１のパラメータの第１のツールチップ推定値は、第１のデータを使用して生成される。ツールチップの第１のパラメータは、ツールチップの位置又は速度である。リンクのセンサ部分又は医療ツールに配置されたセンサシステムから第２のデータが受信される。ツールチップの第１のパラメータの第２のツールチップ推定値は、第１及び第２のデータを使用して生成される。関節は、第１のツールチップ推定値と第２のツールチップ推定値との間の第１の差に基づいて制御される。
【００１２】
前述した概要と以下の詳細な説明との両方は、本質的に例示的及び説明的であり、本開示の範囲を限定することなく本開示の理解を与えることを意図していることを理解されたい。その点で、本開示の追加の態様、特徴、及び利点は、以下の詳細な説明から当業者には明らかになろう。
【図面の簡単な説明】
【００１３】
本開示の態様は、添付の図面と併せて読むときに以下の詳細な説明から最もよく理解される。業界の標準的な慣行に従って、様々な特徴は一定の比率で描いていないことを強調しておく。実際に、様々な特徴の寸法は、議論を明確にするために、適宜拡大又は縮小され得る。さらに、本開示は、様々な例において参照符号及び／又は記号を繰り返し得る。この繰返しは、簡潔性及び明確性を目的としており、それ自体は、議論している様々な実施形態及び／又は構成の間の関係を規定するものではない。
【図１Ａ】本開示の実施形態によるロボット医療システムの概略図である。
【図１Ｂ】本開示の実施形態によるマニピュレータ・アセンブリの斜視図である。
【図１Ｃ】本開示の実施形態による、ロボット医療システムのためのオペレータ制御コンソールの斜視図である。
【図２ａ】本開示による、負荷側センサを含むロボットアーム・アセンブリの実施形態を示す図である。
【図２ｂ】本開示による、負荷側センサを含むロボットアーム・アセンブリの実施形態を示す図である。
【図２ｃ】本開示による、負荷側センサを含むロボットアーム・アセンブリの実施形態を示す図である。
【図３】本開示の実施形態によるマスター／スレーブ制御システムのブロック図である。
【図４Ａ】本開示の実施形態によるスレーブ関節コントローラのブロック図である。
【図４Ｂ】本開示の実施形態によるスレーブ関節コントローラのブロック図である。
【図５】本開示の実施形態による、マニピュレータ及び関連するツールを制御する方法を提供するフローチャートである。
【発明を実施するための形態】
【００１４】
本開示の原理の理解を促す目的で、ここで図面に示される実施形態が参照され、それら実形態を説明するために特定の言語が使用される。それにもかかわらず、本開示の範囲の限定を意図していないことが理解されよう。本発明の態様の以下の詳細な説明では、開示される実施形態の完全な理解を与えるために、多くの特定の詳細が述べられている。しかしながら、本開示の実施形態がこれらの特定の詳細なしに実施し得ることは、当業者には明らかであろう。他の例では、本発明の実施形態の態様を不必要に不明瞭にしないように、周知の方法、手順、構成要素、及び回路は詳細には説明していない。
【００１５】
説明する装置、ツール、方法に対するあらゆる変更及び更なる修正、並びに本開示の原理のあらゆる更なる適用は、本開示が関係する当業者が通常想起するように完全に企図される。特に、一実施形態に関して説明する特徴、構成要素、及び／又はステップは、本開示の他の実施形態に関して説明する特徴、構成要素、及び／又はステップと組み合わせることができることが完全に企図される。さらに、本明細書で提供される寸法は特定の例のためのものであり、本開示の概念を実施するために異なるサイズ、寸法、及び／又は比率を利用してもよいことが企図される。不必要な説明の繰返しを避けるために、例示的な一実施形態に従って説明する１つ又は複数の構成要素又は動作を、他の例示的な実施形態から適用できるように使用又は省略することができる。簡潔にするために、これらの組合せの多数の反復については個別に説明しない。簡素化するために、いくつかの例では、同じ参照符号は、図面全体を通して同じ又は同様の部分を指すために使用される。
【００１６】
本明細書で説明するいくつかの例は、医療処置及び医療ツールについて言及することが多いが、開示される技術は、非医療処置及び非医療ツールにも適用される。例えば、本明細書で説明するツール、システム、及び方法は、産業用途、汎用ロボット用途、非組織的なワークピースの操縦、及び／又は美容上の改善を含む非医療目的に使用することができる。他の非手術的用途としては、人間又は動物の解剖学的構造から取り出された組織（人間又は動物の解剖学的構造に戻されることはない）、或いは人間又は動物の死体への使用が含まれる。
【００１７】
以下の実施形態は、３次元空間における様々なツール及びツールの一部をそれらの状態の観点から説明する。本明細書で使用される場合に、「位置」という用語は、３次元空間における物体又は物体の一部の位置（例えば、デカルトＸ、Ｙ、Ｚ座標のデカルトＸ、Ｙ、Ｚ軸等に沿った変化を使用して説明できる並進３自由度）を指す。本明細書で使用される場合に、「向き」という用語は、物体又は物体の一部の回転配置（３つの回転自由度、例えば、ロール、ピッチ、及びヨーを使用して説明できる）を指す。本明細書で使用される場合に、「姿勢」という用語は、少なくとも１つの並進自由度における物体又は物体の一部の位置と、少なくとも１つの回転自由度におけるその物体又はその物体のその一部の向きとを指す。３次元空間の非対称の剛体の場合に、完全な姿勢は合計６つの自由度で記述できる。
【００１８】
図面の図１Ａを参照すると、例示的なロボットシステムが示されている。具体的には、図１Ａにおいて、例えば、診断的、治療的、又は外科的処置を含む医療処置で遠隔操作及び使用され得るコンピュータ支援ロボット医療システムが、一般的に参照符号１０によって示される。説明するように、この開示の遠隔操作システムは、オペレータの遠隔操作制御下にある。いくつかの実施形態では、マニピュレータ又はロボットシステムの他の部分は、マニピュレータ（又は他の部分）自体との手動の相互作用によって直接制御され得る。こうして、この用途で使用される「遠隔操作マニピュレータ」には、遠隔操作によってのみ制御できるマニピュレータと、遠隔操作及び直接的な手動制御によって制御できるマニピュレータとが含まれる。さらに、いくつかの実施形態では、非遠隔操作システム又は遠隔操作医療システムは、処置又は副処置（sub-procedure）を行うようにプログラムされたコンピュータの部分的な制御下にあり得る。さらに他の代替実施形態では、処置又は副処置を行うようにプログラムされたコンピュータの完全な制御下にある完全に自動化された医療システムを使用して、処置又は副処置を行うことができる。
【００１９】
図１Ａに示されるように、遠隔操作医療システム１０は、一般に、患者Ｐが位置付けられる手術台Ｏに、又はその近くに取り付けられたマニピュレータ・アセンブリ１２を含む。マニピュレータ・アセンブリ１２は、カートを含み、患者の隣で使用されるように設計されているので、この例では、患者側カートと呼ばれ得る。第１の医療器具システム１４及び第２の医療器具システム１５が、マニピュレータ・アセンブリ１２に動作可能に結合される。この開示範囲内では、第１の医療器具システム１４は、医療ツール１４とも呼ばれ得、第２の医療器具システム１５は、医療ツール１５とも呼ばれ得る。また、本開示の残りの部分では、第２の医療器具システム１５は、説明を容易にするためにイメージング能力を有するものとして説明されることが多く、それらの場合に、第２の医療器具システム１５は、イメージング・システム１５とも呼ばれ得る。しかしながら、医療ツール１４及び１５のいずれか、又は両方が非イメージング能力及び／又はイメージング能力を有し得る、或いは医療ツール１４及び１５のいずれも非イメージング能力及び／又はイメージング能力を有し得ないことが企図される。イメージング・システム１５は、光学イメージング技術を使用する内視鏡イメージング・システムを含んでもよく、又は他の技術（例えば、超音波、蛍光透視等）を使用する別のタイプのイメージング・システムを含んでもよい。オペレータ入力システム１６によって、外科医又は他のタイプの臨床医Ｓ等のオペレータが、処置部位の画像又は表現を見ること、並びに医療ツール１４及び／又は医療ツール１５の動作を制御することが可能になる。
【００２０】
遠隔操作医療システム１０のオペレータ入力システム１６は、オペレータコンソール等のリンク機構を含むベースに接続することによって「機械的に接地」することができ、又は「機械的に非接地状態に」して接続しないこともできる。図１Ａに示されるように、オペレータ入力システム１６は、通常、外科的処置中に手術台Ｏと同じ部屋に配置されるオペレータコンソールに接続される。しかしながら、オペレータＳは、患者Ｐとは異なる部屋又は完全に異なる建物に配置され得ることを理解すべきである。オペレータ入力システム１６は、一般に、医療ツール１４を制御するための１つ又は複数の制御装置を含む。（オペレータ入力システム１６は、本明細書では「マスターマニピュレータ」及び「マスター入力装置」及び「入力装置」とも呼ばれる。）制御装置は、任意数の様々な入力装置（ハンドグリップ、ジョイスティック、トラックボール、データグローブ、トリガーガン、フットペダル、手動コントローラ、音声認識装置、タッチスクリーン、体動センサや存在センサ等）のうちの１つ又は複数を含むことができる。いくつかの実施形態では、制御装置には、ロボットアセンブリの医療ツールと同じ自由度が提供され、オペレータにテレプレゼンスを提供する。すなわち、テレプレゼンスにより、オペレータには、制御装置がツールと一体であるという知覚が提供され、それにより、オペレータは、処置部位に存在するかのようにツールを直接制御している感覚を有することができる。他の実施形態では、制御装置は、関連する医療ツールよりも多い又は少ない自由度を有してもよく、依然としてオペレータにテレプレゼンスを提供する。いくつかの実施形態では、制御装置は、６自由度で動く手動入力装置であり、医療ツールを作動させる（例えば、顎部エンドエフェクタを閉じるように把持する、電位を電極に印加する、及び薬物治療の送達等）ための作動可能なハンドルも含み得る。
【００２１】
マニピュレータ・アセンブリ１２は、オペレータＳがオペレータコンソールを介して処置部位を見ている間に、医療ツール１４を支持及び操縦する。処置部位の画像は、モノスコピック又はステレオスコピック内視鏡を含むイメージング・システムを介する等して、医療ツール１５によって取得することができ、内視鏡は、医療ツール１５の向きを合わせるようにマニピュレータ・アセンブリ１２によって操縦され得る。処置部位の画像を処理して後でオペレータコンソールを介してオペレータＳに表示するために、電子機器カートが使用され得る。一度に使用される医療ツール１４の数は、一般に、他の要因の中でも、医療診断処置又は治療（例えば、外科的）処置、及び手術室内の空間的制約に依存する。マニピュレータ・アセンブリ１２は、１つ又は複数の非サーボ制御リンク（例えば、手動で位置付けされ、所定の位置にロックされ得る１つ又は複数のリンク）とロボットマニピュレータとの運動学的構造を含み得る。マニピュレータ・アセンブリ１２は、医療ツール１４の入力部を駆動する複数のモーターを含む。これらのモーターは、制御システム（例えば、制御システム２０）からのコマンドに応答して動く。モーターは、駆動システムを含み、これが医療ツール１４に結合されると、医療器具を自然に又は外科的に形成された解剖学的オリフィス内に前進させることができる。他の電動式駆動システムは、医療器具の先端部を複数の自由度で動かすことができ、複数の自由度は、３自由度の直線運動（例えば、Ｘ、Ｙ、Ｚデカルト軸に沿った直線運動）と、３自由度の回転運動度（例えば、Ｘ、Ｙ、Ｚデカルト軸を中心とした回転）とを含み得る。さらに、モーターを使用して、ツールの関節運動可能なエンドエフェクタを作動させ、生検装置等の顎部で組織を把持することができる。医療ツール１４は、メス、ブラント（blunt）ブレード、針、イメージングセンサ、光ファイバ、電極等の単一の作業部材を有するエンドエフェクタを含み得る。他のエンドエフェクタは、複数の作業部材を含み得、その例には、鉗子、把持器、ハサミ、クリップアプライヤ、ステープラ、双極電気焼灼器等が含まれ得る。
【００２２】
遠隔操作医療システム１０は、制御システム２０も含む。制御システム２０は、医療ツール１４と、オペレータ入力システム１６と、他の補助システム２６との間で制御を行うために、少なくとも１つのメモリ２４と少なくとも１つのプロセッサ２２（典型的に、複数のプロセッサ）とを含み、補助システム２６には、例えば、イメージング・システム、音声システム、流体送達システム、表示システム、照明システム、ステアリング制御システム、洗浄システム、及び／又は吸引システムが含まれ得る。制御システム２０は、本明細書で開示される態様に従って説明する方法の一部又は全てを実施するようにプログラムされた命令（例えば、命令を記憶するコンピュータ可読媒体）も含む。制御システム２０は、図１の簡略化された概略図において単一のブロックとして示されているが、システムは、２つ以上のデータ処理回路を含み得、処理の一部がオプションでマニピュレータ・アセンブリ１２上で又はそれに隣接して実行され、処理の別の部分がオペレータ入力システム１６等で実行される。多種多様な集中型又は分散型データ処理アーキテクチャのいずれかを使用することができる。同様に、プログラムされた命令は、複数の別個のプログラム又はサブルーチンとして実装してもよく、又はそれら命令は、本明細書で説明する遠隔操作システムの他のいくつかの態様に統合してもよい。一実施形態では、制御システム２０は、Ｂｌｕｅｔｏｏｔｈ、ＩｒＤＡ、ＨｏｍｅＲＦ、ＩＥＥＥ８０２．１１、ＤＥＣＴ、及び無線テレメトリ等の無線通信プロトコルをサポートする。
【００２３】
いくつかの実施形態では、制御システム２０は、医療ツール１４から又はマニピュレータ・アセンブリ１２から力及び／又はトルクフィードバックを受信する１つ又は複数のサーボコントローラを含み得る。フィードバックに応答して、サーボコントローラは信号をオペレータ入力システム１６に送信する。サーボコントローラは、身体の開口部を介して患者の身体内の内部処置部位に延びる医療ツール１４及び／又は１５を動かすようにマニピュレータ・アセンブリ１２に命令する信号も送信し得る。任意の適切な従来の又は特殊なコントローラを使用してもよい。コントローラは、マニピュレータ・アセンブリ１２から分離するか、又はマニピュレータ・アセンブリ１２と統合してもよい。いくつかの実施形態では、コントローラ及び遠隔操作アセンブリは、医療処置中に患者の体に近接して位置付けされる遠隔操作アーム・カート等の統合システムの一部として提供される。
【００２４】
制御システム２０は、医療ツール１５に結合することができ、且つ取り込んだ画像を処理するためのプロセッサを含むことができ、画像を、オペレータコンソールを使用する又はヘッドマウント表示システムを着用するオペレータに対して、制御システムの近くの１つ又は複数の固定式又は移動式モニタに、或いはローカル及び／又はリモートに配置された別の適切なディスプレイ上に後で表示する。例えば、立体内視鏡が使用される場合に、制御システム２０は、取り込んだ画像を処理して、処置部位の調整された立体画像をオペレータに提示することができる。そのような調整は、立体画像同士の間の位置合わせを含むことができ、立体視内視鏡の立体作動距離を調整することを含むことができる。
【００２５】
代替の実施形態では、ロボットシステムは、２つ以上のマニピュレータ・アセンブリ及び／又は２つ以上のオペレータ入力システムを含み得る。マニピュレータ・アセンブリの正確な数は、他の要因の中でも、外科的処置と手術室内のスペースの制約とに依存する。オペレータ入力システムは同じ場所に配置することも、別の場所に配置することもできる。複数のオペレータ入力システムにより、２人以上のオペレータが１つ又は複数のマニピュレータ・アセンブリを様々な組合せで制御できる。
【００２６】
図１Ｂは、医療処置中に患者の近くに配置されるカートの形態で構成されるマニピュレータ・アセンブリ１２の一実施形態の斜視図である。こうして、図１Ｂのこの遠隔操作アセンブリは、患者側カートとも呼ばれ得る。示されるマニピュレータ・アセンブリ１２は、３つの医療ツール３０ａ、３０ｂ、３０ｃ（例えば、医療ツール１４）と、ワークピース又は処置部位（「作業部位」とも呼ばれる）の画像の取り込みに使用される立体内視鏡等のイメージング装置（例えば、医療ツール１５）を含む医療ツール２８との操縦のために提供される。医療ツール２８は、信号をケーブル５６を介して制御システム２０に送信することができる。操縦が、複数の関節を有するロボットマニピュレータによって提供される。医療ツール２８及び手術用ツール３０ａ〜ｃは、運動学的遠隔中心が切開部又は自然オリフィスに維持されるように、患者の切開部又は自然オリフィスを介して位置付けされ且つ操縦することができる。作業部位の画像は、それら手術用ツール３０ａ〜ｃが医療ツール２８の視野内に位置付けされたときの、手術用ツール３０ａ〜ｃの先端部の画像を含むことができる。
【００２７】
マニピュレータ・アセンブリ１２は、駆動可能なベース５８を含む。駆動可能なベース５８は、アーム５４（「マニピュレータ５４」とも呼ばれる）の高さの調整を可能にする伸縮式カラム５７に接続される。アーム５４は、カラム５７に平行に並進及び回転する回転式（rotating）関節５５を含み得る。アーム５４は、向き合せプラットフォーム５３に接続され得る。向き合せプラットフォーム５３は、３６０度の回転が可能であり得る。マニピュレータ・アセンブリ１２は、向き合せプラットフォーム５３を水平方向に動かすための伸縮式水平カンチレバー５２も含み得る。
【００２８】
本例では、アーム５４のそれぞれは、マニピュレータ・アーム部分５１を含む。マニピュレータ・アーム部分５１は、医療ツール１４に直接接続することができる。マニピュレータ・アーム部分５１は、遠隔操作可能とすることができる。いくつかの例では、向き合せプラットフォームに接続するアーム５４は遠隔操作可能ではない。むしろ、そのようなアーム５４は、オペレータＳが遠隔操作要素で操作を開始する前に、所望するように位置付けされる。
【００２９】
内視鏡及び他のイメージング・システム（例えば、医療ツール１５）は、剛性又は可撓性の構造を有するものを含む、様々な構成で提供してもよい。剛性内視鏡は、内視鏡の先端部から基端部に画像を送信するためのリレーレンズシステムを収容する剛性チューブを含む。可撓性内視鏡は、１つ又は複数の可撓性光ファイバを使用して画像を送信する。デジタル画像ベースの内視鏡は、１つ又は複数の電荷結合素子（ＣＣＤ）又は相補型金属酸化膜半導体（ＣＭＯＳ）装置等の先端側デジタルセンサが画像データを記憶する「チップオンザチップ（chip on the tip）」の設計を有し得る。内視鏡イメージング・システムは、超音波、赤外線、及び蛍光透視技術等の他のイメージング技術を利用することもできる。内視鏡イメージング・システムは、２次元又は３次元の画像を観察者に提供することができる。２次元画像は、奥行き知覚が制限され得る。３次元立体内視鏡画像は、より正確な奥行き知覚を観察者に提供することができる。立体内視鏡ツールは、立体カメラを使用して患者の解剖学的構造の立体画像を取り込む。内視鏡ツールは、内視鏡ケーブル、ハンドル、及びシャフトが全て堅く結合されて密封された、完全に滅菌可能なアセンブリであり得る。
【００３０】
図１Ｃは、オペレータコンソール３８の斜視図である。オペレータコンソール３８は、深さ知覚を可能にする手術環境の協調立体図をオペレータＳに提示するための左眼用ディスプレイ３２及び右眼用ディスプレイ３４を含む。オペレータコンソール３８のオペレータ入力システム１６は、１つ又は複数の入力制御装置３６を含み、これにより、マニピュレータ・アセンブリ１２が１つ又は複数の医療ツール１４及び／又は１５を操縦するようになる。入力制御装置３６は、例えば、顎部エンドエフェクタを閉じるように把持すること、電極に電位を印可すること、薬物療法を送達すること等のために使用され得る。様々な代替案では、入力制御装置３６は、ジョイスティック装置、トラックボール、データグローブ、トリガーガン、手動コントローラ、音声認識装置、タッチスクリーン、体動センサ又は存在センサ等を追加又は代替として含み得る。いくつかの実施形態では、入力制御装置３６は、関連する医療ツール１４と同じ自由度を提供して、オペレータＳにテレプレゼンス、すなわち入力制御装置３６がツール１４と一体であるという知覚を提供し、それにより、オペレータＳは、ツール１４を直接制御しているという感覚を有する。他の実施形態では、入力制御装置３６は、関連する医療ツールよりも多い又は少ない自由度を有してもよく、依然としてオペレータＳにテレプレゼンスを提供し得る。この目的のために、位置、力、及び触覚フィードバックセンサ（図示せず）を使用して、位置、力、及び触覚感覚を、入力制御装置３６を介してツール１４からオペレータＳの手に戻すことができる。入力制御装置３７は、ユーザの足から入力を受け取るフットペダルである。
【００３１】
上述したように、ロボットアーム・アセンブリとツールとの組合せにおける物理的コンプライアンスは、減衰が不足した振動と長い整定時間とを引き起こす可能性がある。ロボットアーム・アセンブリが柔軟である（例えば、柔軟な関節を含む）及び／又はリンク質量及び慣性が不釣り合い状態のシステムでは、オペレータ入力システムを使用してオペレータによって命令された動きがそのような振動を引き起こし得る。医療処置又は非医療処置を行っている間に、マニピュレータ又はマニピュレータによって支持されているツールで発生するそのような振動は、制御の問題を引き起こす可能性がある。例えば、外科的処置において、医療ツールのチップで発生するそのような振動は、制御の問題を引き起こす可能性がある。特定の例として、そのような振動は、システムが組織、針、及び縫合糸の所望の操縦を行うことを困難にし、臨床医がそれら所望の操縦を命令することを困難にする可能性がある。以下で詳細に説明するように、モーター側センサ（例えば、関節エンコーダ）からのモーター側測定データと、負荷側センサ（例えば、ロボットアーム・アセンブリのリンク、ツール本体、及び／又はエンドエフェクタに配置されたセンサ）からの負荷側測定データとの両方を使用して、マスター／スレーブシステムは、それらの振動が低減される（例えば、振動の振幅がより小さくなる、整定時間がより速くなる等）ようにロボットアーム・アセンブリを制御することができる。
【００３２】
図２ａ、図２ｂ、及び図２ｃを参照すると、様々な実施形態において、負荷側センサシステムは、ロボットシステムの異なる負荷側位置（例えば、ロボットアーム・アセンブリのリンク、ロボットアーム・アセンブリによって支持されるツール、又はツールのエンドエフェクタ）に取り付けられ得る。そのような負荷側センサシステムは、例えば、負荷側位置（location）の位置（position）及び動き（例えば、線形速度、線形加速度、角速度）を含む負荷側位置の測定データを制御システム（例えば、図１Ａ〜図１Ｃの例の制御システム２０）に提供することができる。制御システムは、負荷側の測定データを使用してロボットアーム・アセンブリを制御し、チップの振動及び整定時間を減少できる。
【００３３】
図２ａは、交換可能なツール２５０が取り付けられたアーム２００（例えば、アーム５４）を示す。ツール２５０は、本明細書ではスレーブツール２５０とも呼ばれ得る。いくつかの実施形態では、ツール２５０は、産業用ワークピースを操縦するため、或いは治療又は診断以外の理由で人間又は動物の組織を操縦するために構成され得る。いくつかの実施形態では、ツール２５０は、医療処置を行うためのツールを含み得る。ツール２５０は、取付け部分２５２及びシャフト２５４を含む。図２ａ〜図２ｃに示される例では、取付け部分２５２は、ツール２５０の基端部分に位置するマウントを含む。マウントは、ツール２５０をマニピュレータのキャリッジ２５３に取り外し可能に結合するように構成される。シャフト２５４は、手首２５８を使用してエンドエフェクタ２６０に結合される。エンドエフェクタ２６０は、ツールチップ２６２を有する。いくつかの実施形態では、アーム２００は、アーム２００に対するツール２５０の動きを制限するポート装置（例えば、いくつかの医療処置のためのカニューレ）のための支持体を含み得る。各アーム２００に関連するツール２５０は、オペレータ入力システム（例えば、図１Ａ〜図１Ｃの例ではオペレータ入力システム１６）でオペレータによって制御してもよい。
【００３４】
より詳細には、アーム２００は、セットアップ関節２０４を介して最も先端のセットアップリンク２０６に接続された垂直セットアップリンク２０２と、最も先端のセットアップリンク２０６に接続されたマニピュレータ・アーム部分２０７（例えば、図１Ａ〜図１Ｃの例ではマニピュレータ・アーム５１）とを含む。マニピュレータ・アーム部分２０７は、本明細書ではスレーブマニピュレータ部分２０７とも呼ばれ得る。マニピュレータ・アーム部分２０７は、ヨー関節２０８、平行四辺形ピッチ機構２１０、及びスパー２１４を含む。ヨー関節２０８は、最も先端のセットアップリンク２０６を平行四辺形ピッチ機構２１０に接続する。平行四辺形ピッチ機構２１０は、複数のピッチ関節２１２ａ、２１２ｂ、２１２ｃと、これらのピッチ関節を接続するリンクとを含む。スパー２１４は、スパー関節２１６で平行四辺形ピッチ機構２１０に接続する。ツール２５０の取付け部分２５２は、スパー２１４に取り付けられる。
【００３５】
セットアップ関節２０４、ヨー関節２０８、ピッチ関節２１２ａ、２１２ｂ、２１２ｃ、及びスパー関節２１６のそれぞれは、本明細書ではセットアップ関節用モーター、ヨー関節用モーター、ピッチ関節用モーター、スパー関節用モーターと呼ばれるモーターによって制御される。アーム２００は、挿入及び引抜き動作を与える挿入ギヤ２１８も含み得る。従って、アーム２００の少なくとも一部は、完全に電動式に動くように構成される。この実施形態では、モーターは、制御システム（例えば、制御システム２０）の制御下にあり、他のアームのモーターと共に動作して、他の活動の中でも、ワークピース（又は医療処置中の患者）の前進、ツールの取付け、準備手順、又は保管等の活動を助けることができる所望の姿勢を取らせることができる。さらに、各モーター又は関節に関連するエンコーダ及び他のセンサは、制御システムにフィードバックを提供し、それにより、制御システムは、アーム２００の位置、状態、及びセットアップに関するデータを受信し、感知又は検出し、或いは決定する。
【００３６】
いくつかの実施形態では、アーム２００は、アーム２００がツール２５０を静止した遠隔運動中心２５６（「遠隔中心２５６」とも呼ばれる）の周りに動かすように機械的に拘束される。いくつかの実施形態では、遠隔運動中心２５６は、アーム２００に取り付けられたツールのシャフトと一致する。ヨー関節用モーターは、遠隔中心２５６の周りにヨー運動を提供し、ピッチ関節用モーター及びスパー関節用モーターは、遠隔中心２５６の周りにピッチ運動を提供し得る。低侵襲性医療処置の場合に、典型的に、遠隔運動中心２５６は、処置中に患者の体壁の切開部でロックされることが多く、遠隔運動中心２５６の周りのヨー運動及びピッチ運動を意図した手術的タスクで実行できる。あるいはまた、遠隔運動中心を体外に配置して、患者に接触させることなくより広い可動域を可能にし得る。様々な処置の場合に、遠隔運動中心２５６は、いくつかの医療処置中に自然オリフィス又は管腔内の位置、非医療処置中のワークピースに近接した便利な位置等の、処置に適切な位置に配置できる。知識のある人は、遠隔運動中心の周りの運動が、ソフトウェアの使用によって、又は機械的アセンブリによって規定された物理的制約によって拘束される可能性があることを理解するだろう。
【００３７】
ヨー関節２０８、ピッチ関節２１２ａ、２１２ｂ、２１２ｃ、スパー関節２１６、及び挿入ギヤ２１８のそれぞれは、個々の関節又はギヤコントローラによって制御してもよいが、関節及びギヤコントローラは、共通の制御システム２０（例えば、マスター／スレーブ制御システム）の共通の関節制御ユニットによって制御してもよく、それにより、ツール２５０、ツール２５０のチップ又はエンドエフェクタ、及びマニピュレータ・アーム部分２０７は、関連する制御装置（例えば、図１Ａ〜図１Ｃの例のオペレータ入力システム）のユーザ（例えば、オペレータＳ）操縦によって制御され得る。
【００３８】
図２ａの例では、負荷側センサシステム２６４は、スパー２１４の負荷側位置２６６に取り付けられており、これは、マニピュレータ・アーム部分２０７の最後のリンクである。図２ａの特定の例では、距離Ｄが、負荷側位置２６６とスパー関節２１６との間にある。様々な例において、負荷側位置２６６は、スパー２１４の任意の部分に配置され得る。負荷側センサシステム２６４は、例えば、慣性測定ユニット（ＩＭＵ）、電磁センサ、形状センサ、トルクセンサ、光学追跡システム、画像追跡システム、ハイブリッドセンサシステム、他の適切なセンサシステム、及びこれらの組合せを含む１つ又は複数のセンサを含み得る。いくつかの例では、ＩＭＵは、負荷側位置２６６の線形加速度を測定するように構成された加速度計と、負荷側位置２６６の角速度を測定するように構成されたジャイロスコープとを含み得る。いくつかの例では、ＩＭＵは、負荷側位置２６６で磁力を測定するように構成された磁力計を含み得る。
【００３９】
図２ｂ及び図２ｃに示されるように、負荷側センサシステム２６４は、アーム２００、アーム２００によって保持されるツール２５０、及び／又はツール２５０に結合されたエンドエフェクタ２６０の様々な部分で負荷側位置に配置され得る。図２ｂの例では、負荷側センサシステム２６４は、ツール２５０の基端部で（例えば、取付け部分２５２の）負荷側位置２６６に配置される。他の例では、負荷側センサシステム２６４は、例えば、シャフトの中央及びツール２５０の先端部を含む、ツール２５０の任意の部分に配置され得る。
【００４０】
図２ｃの例では、負荷側センサシステム２６４は、エンドエフェクタ２６０上にある負荷側位置２６６（センサ部分２６６とも呼ばれる）に配置され得る。負荷側センサシステム２６４は、例えば、平行四辺形ピッチ機構２１０のリンクを含む、アーム２００の他の部分で負荷側位置２６６に配置され得る。
【００４１】
図２ａ、図２ｂ、及び図２ｃの例で示されるように、異なるツール２５０及び／又はエンドエフェクタ２６０がアーム２００に取り付けられて、異なる機能を実行し得る。図２ａの例では、負荷側センサシステム２６４がマニピュレータ・アーム部分２０７に取り付けられているため、そのような単一の負荷側センサシステム２６４は、異なるツール２５０及び／又はエンドエフェクタ２６０と共に使用され得る。これに対して、図２ｂ及び図２ｃの例では、負荷側測定データを提供するために、負荷側センサシステム２６４を、これらのツール２５０及び／又はエンドエフェクタ２６０のそれぞれに取り付ける必要があり得る。こうして、図２ａに示されるように、マニピュレータ・アーム部分２０７に取り付けられた負荷側センサシステム２６４を使用することにより、コスト効率が高くなり得る。いくつかの実施形態では、負荷側センサシステム２６４の位置は、システムの様々な要件に基づいて決定してもよい。いくつかの例では、負荷側センサシステム２６４は、制御性を改善し、より高い帯域幅の（より積極的な）外乱の排除を可能にするために、モーターの近くに（例えば、マニピュレータ・アーム部分２０７に）配置される。他の例では、負荷側センサシステム２６４は、外乱の検出及びツールチップの状態の可観測性を改善するように制御される対象物（例えば、ツールチップ）の近くに（例えば、ツール２５０又はエンドエフェクタ２６０に）配置される。
【００４２】
しかしながら、負荷側センサシステム２６４がツールチップと並置されていない実施形態では、制御システム（例えば、図１Ａ〜図１Ｃの例の制御システム２０）は、負荷側センサシステム２６４からの測定データと、モーター側エンコーダに基づく状態推定値とを単に組み合わせるだけで、負荷側センサシステム２６４に基づくツールチップ状態推定を調整しない場合がある。図３、図４Ａ、図４Ｂ、及び図５を参照して以下で説明するように、この課題に対処するために、制御システム（例えば、図１Ａ〜図１Ｃの例の制御システム２０）は、融合ブロックと動的モデルとの両方を使用して、ツールチップの位置及び動き推定値を生成し得る。負荷側位置２６６とツールチップ２６２との間の動力学を考慮しながら、モーター側センサと負荷側センサとの両方からの測定データを利用することにより、より正確なツールチップの位置及び動き推定値が得られ、振動を減らし整定時間を短縮するツールチップのより良い制御を実現できる。
【００４３】
図３を参照すると、この図には、制御システム３００（例えば、図１Ａ〜図１Ｃの例の制御システム２０）の例が示されている。制御システム３００を使用して、アーム２００のスレーブマニピュレータ２０７部分の動きを制御することができ、その結果、取り付けられたツール２５０及びエンドエフェクタ２６０の姿勢及び動きを、オペレータによるオペレータ入力システム（例えば、図１Ａ〜図１Ｃの例のオペレータ入力システム１６）の動きによって命令されるように制御することができる。以下の説明では、制御システム３００は、マスター／スレーブ制御システム３００とも呼ばれる。
【００４４】
マスター入力装置とスレーブマニピュレータとは両方とも、複数の自由度の運動を容易にするために、関節によって接続された、複数のリンクを含み得る。外科的処置を行う間に、オペレータＳがオペレータ入力システムをある位置から別の位置に移動させると、オペレータ入力システムの関節に関連するセンサが、マスター入力装置の関節空間（「マスター関節空間」）内のそのようなコマンド運動を示す情報を提供し、スレーブマニピュレータ関節に関連するセンサが、フィードバックの目的で、スレーブ関節空間内のスレーブマニピュレータの運動（従って、ツール２５０の運動）を示す情報を提供する。それぞれの関節の細かい運動を（例えば、ゼロ速度から目標範囲の速度への移行中の動きを含め、関節における１秒あたり０．０００５〜０．０１ラジアンの目標速度範囲で）より良く検出及び制御するために、モーター側センサには高解像度エンコーダを使用できる。
【００４５】
マスター入力処理ユニット３０１が、制御システムの処理速度（例えば、１３００Ｈｚ）でサンプリングされたマスター関節の位置情報を、オペレータ入力システムのマスター関節エンコーダから受信し、関節速度を感知した関節位置から計算する。マスター順方向運動学処理ユニット３０２は、マスター入力処理ユニット３０１からマスター関節の位置及び速度を受信し、それら位置及び速度をマスター関節空間からオペレータ基準フレームに対するデカルト空間内のマスターフレーム（すなわち、オペレータ入力システムに関連するフレーム）の対応する位置及び速度に変換する。いくつかの実施形態では、マスター順方向運動学処理ユニット３０２は、ヤコビアン及び基準フレームの関連情報を使用することによってこの変換を達成する。使用され得る例示的なオペレータ基準フレームは、眼の基準フレーム（すなわち、オペレータの眼の位置に関連する基準フレーム）を含む。
【００４６】
スケール及びオフセット処理ユニット３０４が、マスター順方向運動学処理ユニット３０２からデカルト位置及び速度コマンドを受信し、処置を行うために選択されたスケール係数に従って命令された運動をスケールし、オフセットを考慮して所望のスレーブツールフレーム（すなわち、ツール２５０に関連付けされたフレーム）の位置及び速度を生成する。スケール調整は、処置部位でのツール２５０のより正確な運動を可能にするために、オペレータ入力システム１６のより大きな運動に対してアーム２００のスレーブマニピュレータ部分２０７の小さな運動が所望される場合に有用である。これに対して、オフセットは、例えば、眼の基準フレーム内のマスターフレームの位置及び向きに対するカメラ基準フレーム（すなわち、内視鏡の先端チップに関連するフレーム）内のエンドエフェクタフレーム（例えば、ツール２５０の先端チップにあるエンドエフェクタ２６０に関連するフレーム）の対応する位置及び／又は向きを決定する。
【００４７】
シミュレート・スレーブ処理ユニット３０８が、スケール及びオフセット処理ユニット３０４から所望のスレーブツールフレーム位置及び速度コマンドを受信し、所望のスレーブツールフレーム位置、向き、及び速度を、例えば、割り当てられたデカルト範囲に制限して、（手先の）器用な作業空間内にツール２５０を保持することによってツール２５０の正しい直感的な操作を実施する。シミュレート・スレーブ処理ユニット３０８は、制限されたスレーブツールフレームの位置及び速度に対応するシミュレートされたスレーブ関節の位置及び速度を生成する一方、生成されたスレーブ関節の位置及び速度が、スレーブ運動学の運動学的特異点の近くでも、実際のスレーブ関節の可動域及び最大速度（つまり、関節制限）を超えないことを確実にする。
【００４８】
逆スケール及びオフセット処理ユニット３０６が、シミュレート・スレーブ処理ユニット３０８からシミュレートされた関節の位置及び速度コマンドを受信し、それら位置及び速度コマンドに対して（スケール及びオフセット処理ユニット３０４とは逆の）逆関数を実行する。デカルトコントローラ３０７は、第１の入力としてスケール及びオフセット処理ユニット３０４への入力を受信し、第２の入力として逆スケール及びオフセット処理ユニット３０６の出力を受信する。次に、デカルトコントローラ３０７は、第１の入力と第２の入力との間の差としてエラー信号を生成し、以下の式等によってエラー信号からデカルト力「ＦＣＡＲＴ」を生成する。
ＦＣＡＲＴ＝Ｋ（Δｘ）＋Ｂ（Δｘ’）（１）
ここで、「Ｋ」はばね定数であり、「Ｂ」は減衰定数であり、「Δｘ’」はデカルトコントローラ３０７へのデカルト速度入力同士の間の差であり、「Δｘ」はデカルトコントローラ３０７へのデカルト位置入力同士の間の差である。向き合せエラーの場合に、デカルト空間での対応するトルクが決定される。
【００４９】
マスター転置（行列）運動学処理ユニット３１５が、総和ノード３１４を介してデカルト力ＦＣＡＲＴを受信し、例えば、ヤコビアン転置行列及びオペレータ入力システムに関連する運動学的関係を使用して、関節空間内の対応するトルクを生成する。オペレータ入力システムが可動範囲制限又は力フィードバックに関するモーター駆動関節を有するシステムでは、マスター出力処理ユニット３１６が、マスター転置運動学処理ユニット３１５からマスタートルク信号を受信し、マスタートルク信号に対応する電流を生成し、且つ電流をオペレータ入力システム（例えば、図１Ａ〜図１Ｃの例のオペレータ入力システム１６）の対応するマスター関節モーターに供給する。結果として、そのようなモーター駆動式のオペレータ入力システム（例えば、オペレータ入力システム１６）を操作するオペレータＳは、オペレータＳがデカルトシステム又はスレーブの関節制限を超える位置又は速度を命令しているとき、又は、アーム２００のスレーブマニピュレータ部分２０７の運動学的特異点状態をもたらすときはいつでも、デカルト力ＦＣＡＲＴを感じる。
【００５０】
マスター入力処理ユニット３０１が、オペレータ入力システムのセンサからマスター関節位置を受信しているので、スレーブ入力処理ユニット３０９も、制御システム処理速度でスレーブマニピュレータ部分２０７のセンサからスレーブ位置を受信している。スレーブ入力処理ユニット３０９は、モーター側センサ（例えば、関節エンコーダ）からスレーブ関節測定データ（例えば、スレーブ関節位置及び運動データ）を受信するモーター側入力処理ユニット３２０と、負荷側センサ（例えば、負荷側センサシステム２６４）からスレーブ負荷側測定データ（例えば、負荷側位置２６６の位置及び運動データ）を受信する負荷側入力処理ユニット３２２とを含む。関節制御ユニット３１８が、スレーブ入力処理ユニット３０９からスレーブ関節測定データ及びスレーブ負荷側測定データと、シミュレート・スレーブ処理ユニット３０８から提供されるシミュレートされた関節コマンドとを受信し、スレーブ関節モーターのためのスレーブ・トルクコマンド信号及びマスター関節モーターのためのマスター・トルクフィードバック・コマンド信号を生成する。
【００５１】
スレーブ・トルクコマンド信号は、関節制御ユニット３１８で計算されたフィードバックエラーがゼロになるまでスレーブマニピュレータの関節を駆動するように、関節制御ユニット３１８によって生成される。スレーブ出力処理ユニット３１０が、関節制御ユニット３１８からスレーブ・トルクコマンド信号を受信し、それらコマンド信号を適切な電流に変換し、この電流をスレーブマニピュレータの関節モーターに供給し、それに応じてモーターを駆動させる。
【００５２】
いくつかの実施形態では、マスター・トルクフィードバック・コマンド信号は、ツール２５０に対して、又はツール２５０を支持するスレーブマニピュレータに対して加えられている力を、オペレータＳが何らかの形態で感じ取れるようにオペレータ入力システム（例えば、オペレータ入力システム１６）に反映し直す関節制御ユニット３１８によって生成される。いくつかの実施形態では、関節制御ユニット３１８は、スレーブ関節位置及び速度の追跡エラーに基づいて、マスター・トルクフィードバック・コマンド信号を生成する。様々な実施形態において、スレーブ追跡エラーは、モーター側追跡エラー、順方向運動学及びモーター位置によって決定されるツールチップ追跡エラー、負荷側センサシステム２６４を使用して決定されるツールチップ追跡エラー、負荷側センサシステム２６４を使用して推定された関節位置及び速度からの負荷側追跡エラー、及び／又はそれらの任意の組合せを使用して決定され得る。いくつかの実施形態では、関節制御ユニット３１８は、スレーブ関節エンコーダと負荷側センサシステム２６４との両方からの測定データに基づいて、マスター・トルクフィードバック・コマンド信号を生成する。運動学的マッピングユニット３１１は、関節制御ユニット３１８からマスター・トルクフィードバック・コマンド信号を受信し、スレーブ運動学的構成及び以前に計算したスレーブ支点（例えば、遠隔中心２５６）の位置情報を使用して、内視鏡のカメラフレームに対するツール２５０のチップにおける対応するデカルト力を生成する。
【００５３】
ゲイン３１３が、オペレータＳに適切な力感覚を提供しながらシステムの安定性を保証するようにデカルト力の大きさを調整する。ゲイン調整されたデカルト力は、その後、総和ノード３１４を通過し、デカルトコントローラ３０７によって提供されるデカルト力の処理に関して前述したように、マスター転置運動学処理ユニット３１５及びマスター出力処理ユニット３１６を介してデカルトコントローラ３０７によって提供されるデカルト力とともに処理される。
【００５４】
関節制御ユニット３１８は、マスター／スレーブ制御システム３００によって制御されているアーム２００のスレーブマニピュレータ部分２０７のアクティブ関節毎に関節コントローラを含む。特に、スレーブマニピュレータ部分２０７が、図２ａ、図２ｂ、及び図２ｃの例のアーム２００等のように、ヨー関節２０８、ピッチ関節２１２ａ、２１２ｂ、２１２ｃ、スパー関節２１６、及びの挿入ギヤ２１８を含み、これらの関節又はギヤのそれぞれは、ツールの手首及びエンドエフェクタ機構のための駆動可能な機械的要素のそれぞれがそうであるように、独自のコントローラを有し得る。
【００５５】
図４は、例として、（例えば、スレーブマニピュレータ部分２０７のヨー関節２０８、ピッチ関節２１２ａ、２１２ｂ、２１２ｃ、スパー関節２１６、及び挿入ギヤ２１８の運動、或いはツールの手首又はエンドエフェクタの機構を操縦するためのいくつかの駆動可能な機械要素の１つ又は複数の運動を制御するための）関節コントローラユニット３１８のブロック図を示す。本明細書及び特許請求の範囲の説明を簡素化するために、「関節（joint）」という用語は、（例えば、ケーブル、プーリー、ギヤ、スプール、及びツール又はツールを保持及び／又は移動するスレーブマニピュレータ又はロボットアームに関連する運動又は他の機械的動作の自由度の制御に使用できる他の駆動可能な機械要素を含む可能性がある）関節駆動トレインを含むと理解されたい。これは、非医療又は医療処置を行うためのものであり得る。例示的な医療処置には、例えば、生検、イメージング処置、診断処置、及び低侵襲性腹腔鏡又は管腔内手術等の外科的処置が含まれる。
【００５６】
以下で詳細に議論するように、関節コントローラユニット３１８は、融合ブロックを使用して、モーター側測定データと負荷側測定データとの両方を融合することにより、負荷側位置２６６の位置及び運動の融合された推定値を生成することができる。こうして、負荷側位置２６６の融合された推定値は、モーター側の測定データのみに基づく推定値よりも正確であり得、その結果、ツールチップ２６２の位置及び動きのより正確な推定値が得られる。さらに、負荷側センサシステム２６４がツールチップ２６２と同じ場所に配置されていない実施形態では、関節コントローラユニット３１８は、対応する動的モデルを使用して、負荷側位置２６６とツールチップ２６２との間動力学と、負荷側センサシステム２６４の動力学とを考慮することができる。これは、ツールチップ２６２の位置及び動きの推定値の精度をさらに改善し得、それにより、ツールチップのより良い制御を可能にする。
【００５７】
関節コントローラユニット３１８は、（例えば、スレーブマニピュレータ部分２０７の関節エンコーダによって提供される）モーター側入力処理ユニット３２０から関節エンコーダデータ４０４（θｅｎｃとして示される）を受信する順方向運動学ブロック４０２を含む。関節エンコーダデータ４０４θｅｎｃは、関節位置データ、関節運動（例えば、速度、加速度）データ、又はこれらの組合せを含み得る。様々な実施形態では、マニピュレータ・アーム部分２０７を形成する運動学的連鎖の運動学方程式を使用して、関節パラメータをロボットシステムの構成にマッピングすることができる。マニピュレータ・アーム部分２０７の寸法及びそれに関連する運動方程式は、一般に作業空間として知られている、マニピュレータ・アーム部分２０７及びマニピュレータ・アーム部分２０７に関連する特徴が到達できる空間の体積を規定する。順方向運動学ブロック４０２は、順方向運動学を使用して、作業空間内のマニピュレータ・アーム部分２０７に関連する特定の特徴（例えば、スパー２１４、ツール２５０、エンドエフェクタ２６０、ツールチップ２６２を含むマニピュレータ・アーム部分２０７のリンク）の位置を計算する。
【００５８】
いくつかの実施形態では、順方向運動学ブロック４０２は、マニピュレータ・アーム部分２０７に関連する順方向運動学を関節エンコーダデータ４０４θｅｎｃに適用し、負荷側位置２６６の位置及び／又は運動（例えば、速度、加速度）の推定値４０６（Ｔｓｅｎｓｏｒ（ｅｎｃ）として示される）を生成し得る。一例では、順方向運動学ブロック４０２は、関節エンコーダデータ４０４θｅｎｃを（例えば、デカルト変換を使用して）ワールド基準フレーム（world reference frame）から負荷側センサシステムフレーム（例えば、負荷側センサシステム２６４に関連するフレーム）に変換することができる。推定値４０６Ｔｓｅｎｓｏｒ（ｅｎｃ）が負荷側位置２６６の速度推定値を含む例では、順方向運動学ブロック４０２は、ヤコビアン関数４３０を関節エンコーダデータ４０４θｅｎｃの対応する関節速度データに適用して、負荷側位置２６６の速度推定値を生成することができる。
【００５９】
図４の例に示されるように、関節エンコーダデータ４０４θｅｎｃに基づく負荷側位置２６６の推定値４０６Ｔｓｅｎｓｏｒ（ｅｎｃ）は、融合ブロック４０８に送られる。融合ブロック４０８は、状態推定器４１０及び動的モデルユニット４１２を含む。状態推定器４１０は、（例えば、負荷側センサシステム２６４によって提供される）負荷側入力処理ユニット３２２から負荷側位置２６６の負荷側測定データ４１４を受信することができる。一例では、負荷側測定データ４１４は、
【数１】
2021502173.tif 000003
として示される、負荷側位置２６６の線形加速度データ
【数２】
2021502173.tif 000004
及び角速度データωを含み得る。
【００６０】
図４の例では、状態推定器４１０は、負荷側位置２６６に関連する推定値４０６Ｔｓｅｎｓｏｒ（ｅｎｃ）及び測定データ４１４
【数３】
2021502173.tif 000005
を受信し、負荷側位置２６６の融合状態推定デカルト変換４１６（Ｔｓｅｎｓｏｒ（ｆｕｓ）として示される）を生成し得る。融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）は、負荷側位置２６６の位置／動きの推定値を含み得る。例えば、カルマンフィルタ及びその変形（拡張カルマンフィルタ、ｕｎｓｃｅｎｔｅｄカルマンフィルタ、定常カルマンフィルタ等）、Ｈ∞フィルタ、粒子フィルタ、Ｌｕｅｎｂｅｒｇｅｒオブザーバ、Ｍａｄｇｗｉｃｋフィルタ、アルファ・ベータ・ガンマフィルタ、スライディングモードオブザーバ等の、様々な状態推定器アルゴリズムは、融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）を生成するために使用され得る。融合ブロックを使用して、関節エンコーダデータ４０４θｅｎｃと負荷側センサシステム２６４からの測定データ４１４とに基づいて生成された推定値４０６Ｔｓｅｎｓｏｒ（ｅｎｃ）を組み合わせることにより、負荷側位置２６６の位置及び動きは、関節エンコーダデータ４０４θｅｎｃのみを使用して生成された推定値４０６Ｔｓｅｎｓｏｒ（ｅｎｃ）よりも適切に捕捉される。
【００６１】
いくつかの実施形態では、負荷側センサシステム２６４は、ツールチップ２６２と同じ場所に配置されない。例えば、負荷側センサシステム２６４は、マニピュレータ・アーム部分２０７又はツール２５０（例えば、ツール２５０の取付け部分２５２）のリンク（例えば、スパー２１４）に配置され得る。そのような実施形態では、関節コントローラユニット３１８の融合ブロック４０８は、負荷側位置２６６とツールチップ２６２との間の動力学を説明するための動的モデルユニット４１２を含むことができる。図４の例に示されるように、状態推定器４１０は、負荷側位置２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）を動的モデルユニット４１２に送ることができる。動的モデルユニット４１２は、負荷側位置２６６とツールチップとの間の動力学をモデル化する動的モデルを決定する。様々な実施形態において、動的モデルは、負荷側位置２６６の位置、アーム２００、ツール２５０の本体、及びエンドエフェクタ２６０の様々な物理的特性（例えば、質量、剛性、摩擦、減衰、ベアリング及びギヤの弾性変形、負荷を受けた状態でのリンクのたわみ、振動等を含む）に基づいて決定してもよい。動的モデルは、個々の構成要素の物理的モデリング、動力学の実験的同定、微分データ及び経験的データの組合せ、及び／又はオンラインの動力学の適応同定から導出できる。動的モデルユニット４１２は、ワールド基準フレームからツールチップ基準フレーム（例えば、ツールチップ２６２に関連するフレーム）へのデカルト変換を生成し、動的モデルと負荷側位置２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）とに基づいて、ツールチップ２６２の融合状態推定デカルト変換４１８Ｔｔｉｐ（ｆｕｓ）を生成することができる。融合ブロック４０８は、次に、ツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）を出力できる。
【００６２】
いくつかの実施形態では、ツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）及び負荷側位置２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）は、同じ状態パラメータ（例えば、位置、速度、又はこれらの組合せ）の推定値を含み得る。一例では、ツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）及び負荷側位置２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）のそれぞれは、位置推定値のみを含み、動き（例えば、速度）推定値は含まない。別の例では、ツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）及び負荷側位置２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）のそれぞれは、速度推定値を含み、位置推定値を含まない。さらに別の例では、ツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）及び負荷側位置（点）２６６の融合状態推定値４１６Ｔｓｅｎｓｏｒ（ｆｕｓ）のそれぞれは、位置と速度との両方の推定値を含む。
【００６３】
いくつかの実施形態では、順方向運動学ブロック４０２は、マニピュレータ・アーム２０７、ツール２５０、及びエンドエフェクタ２６０に関連する順方向運動学を関節エンコーダデータ４０４θｅｎｃに適用し、関節エンコーダデータ４０４θｅｎｃに基づいて、ツールチップ２６２の状態推定値４２０（Ｔｔｉｐ（ｅｎｃ）として示される）を生成することができる。順方向運動学ブロック４０２は、関節エンコーダデータ４０４θｅｎｃを（例えば、デカルト変換を使用して）ワールド基準フレームからツールチップ基準フレームに変換することができる。状態推定値４２０Ｔｔｉｐ（ｅｎｃ）は、ツールチップ２６２の位置／動きの推定値を含み得る。いくつかの例では、順方向運動学ブロック４０２は、ヤコビ関数４３０を使用して、関節エンコーダデータ４０４θｅｎｃの関節速度データに基づいて、ツールチップ２６２の速度推定値を生成し得る。
【００６４】
いくつかの実施形態では、関節コントローラユニット３１８は、比較器４２２を含む。比較器４２２は、融合ブロック４０８からツールチップ２６２の融合状態推定値４１８Ｔｔｉｐ（ｆｕｓ）と、順方向運動学ブロック４０２からツールチップ２６２の状態推定値４２０Ｔｔｉｐ（ｅｎｃ）とを受信し、Ｔｔｉｐ（ｆｕｓ）とＴｔｉｐ（ｅｎｃ）との間のツールチップ状態推定差４２４δＴｔｉｐを生成する。ツールチップ状態推定差４２４δＴｔｉｐは、ツールチップ２６２の位置推定差、ツールチップ２６２の速度推定差、又は両方の組合せを含み得る。
【００６５】
図４Ａに示されるように、関節コントローラユニット３１８は、逆運動学ブロック４２６を含み得る。逆運動学ブロック４２６は、比較器４２２からツールチップ状態推定差４２４δＴｔｉｐを受信し、関節エンコーダ４０１から関節エンコーダデータθｅｎｃを受信し得る。逆運動学ブロック４２６は、ツールチップ状態推定差４２４δＴｔｉｐを関節調整推定値４３２（δθＣＭＤとして示される）に変換するために逆運動学を適用することができる。関節調整推定値４３２δθＣＭＤは、ツールチップ状態推定差４２４δＴｔｉｐを補償するために必要とされる関節位置及び／又は動き（例えば、速度）調整の推定値を含み得る。いくつかの例では、逆運動学ブロック４２６は、逆ヤコビ関数４２８を使用して、ツールチップ状態推定差４２４δＴｔｉｐにおけるツールチップ速度推定差に基づいて、関節速度調整の推定値を生成することができる。
【００６６】
関節調整推定値４３２δθＣＭＤは、コンバイナ４３４に送られ、コンバイナ４３４は、命令される関節データ４３６（θ’ＣＭＤとして示される）と関節調整推定値４３２δθＣＭＤとを組み合わせて、調整され、命令される関節データ４３８（θＣＭＤとして示される）を生成する。一例では、命令される関節データ４３６θ’ＣＭＤは、オペレータ入力システム（例えば、図１Ａ〜図１Ｃの例におけるオペレータ入力システム１６）からの入力に応答して、シミュレート・スレーブ処理ユニット３０８によって提供される。調整され、命令される関節データ４３８θＣＭＤは、調整され、命令される関節位置、調整され、命令される関節速度、又は両方の組合せを含み得る。
【００６７】
いくつかの実施形態では、関節制御ユニット３１８は、ツールチップ状態推定差４２４δＴｔｉｐに基づいてスレーブ・トルクコマンド信号を生成することができる。ツールチップ状態推定差４２４δＴｔｉｐを使用することにより、関節制御ユニット３１８は、ツールチップ状態推定差４２４δＴｔｉｐを説明するスレーブ・トルクコマンド信号を生成する。スレーブ・トルクコマンド信号は、スレーブマニピュレータ２０７のモーター（例えば、ヨー関節２０８、ピッチ関節２１２ａ、２１２ｂ、及び２１２ｃ、スパー関節２１６、挿入ギヤ２１８のためのモーター）を駆動するために使用され得る。
【００６８】
様々な実施形態では、関節制御ユニット３１８は、スレーブ関節モーターを制御するためにフィードバックコントローラを使用することができる。フィードバックコントローラには、比例微分（ＰＤ）コントローラ、比例積分微分（ＰＩＤ）コントローラ、任意の線形コントローラ（例えば、リードラグ（lead-lag）コントローラ、Ｈ∞コントローラ、ＬＱＲ／ＬＱＧコントローラ）、線形パラメータ可変コントローラ、スライディングモード又は他の適応コントローラ、及び他の適切なフィードバックコントローラが含まれる。スレーブ・トルクコマンド信号は、フィードバックコントローラによって計算されたフィードバックエラーがゼロになるまで、スレーブマニピュレータの関節を駆動するために使用できる。
【００６９】
いくつかの実施形態では、スレーブ・トルクコマンド信号は、トルク飽和ブロックによってさらに調整され得、トルク飽和ブロックは、命令されたトルク値が、それぞれのモーターの所望の最大トルク値を超えないように命令されたトルク値を制限し得る。
【００７０】
図４Ｂを参照すると、この図には、リンクセンサシステムによって提供されるリンクデータを使用して関節加速度フィードバックエラーをフィードバックする関節制御ユニット４５０（例えば、図３の関節制御ユニット３１８）が示されている。関節制御ユニット４５０は、以下に説明する違い以外は図３Ａの関節制御ユニット４００と実質的に同様である。図４Ｂに示されるように、多変数コントローラ４５２（例えば、多変数Ｈ∞コントローラ）は、（例えば、逆運動学ブロック４２６から）関節調整推定値４３２を受信し、（例えば、シミュレート・スレーブ処理ユニット３０８から）命令される関節データ４３６θ’ＣＭＤを受信し、且つ（例えば、モーター側入力処理ユニット３２０から）関節エンコーダデータ４０４θｅｎｃを受信することができる。多変数コントローラ４５２は、関節調整推定値４３２、命令される関節データ４３６、及び関節エンコーダデータ４０４に基づいて、モータートルクコマンドを生成し得る。スレーブ出力処理ユニット３１０は、多変数コントローラ４５２からスレーブ・トルクコマンド信号を受信し、そのコマンド信号を適切な電流に変換し、この電流をスレーブマニピュレータの関節モーターに供給して、それに応じてモーターを駆動させる。
【００７１】
図５は、モーター側センサ（例えば、関節エンコーダ）と負荷側センサとの両方からの測定データに基づいて、ツールチップを制御する方法５００を示している。方法５００は、図５に動作又はプロセス５０２〜５１４のセットとして示されている。示されるプロセス５０２〜５１４の全てが方法５００の全ての実施形態で実行されるわけではない。さらに、図５に明示的に示されていない１つ又は複数のプロセスが、プロセス５０２〜５１４の前に、後に、間に、又はその一部として含まれ得る。いくつかの実施形態では、プロセスの１つ又は複数は、少なくとも部分的に、非一時的で有形の機械可読媒体に記憶された実行可能コードの形式で実装してもよく、実行可能コードが１つ又は複数のプロセッサ（例えば、制御システムのプロセッサ）によって実行されると、１つ又は複数のプロセッサに１つ又は複数のプロセスを実行させる。
【００７２】
方法５００に示されるように、関節コントローラは、モーター側センサと負荷側センサとの両方からの測定データに基づいて、マニピュレータ・アームの関節の動きを制御することができる。いくつかの実施形態では、負荷側センサは、マニピュレータ・アームのリンク上の負荷側位置、又は先端ツールチップと並置されていない他の位置（例えば、マニピュレータ・アームの先端部分によって支持されるツール）に配置され得る。これらの実施形態では、関節コントローラは、負荷側位置とツールチップとの間の動力学を説明するための動的モデルユニットを含み得る。モーター側センサと負荷側センサとの両方からの両方の測定データを利用し、且つ負荷側センサとツールチップとの間の動力学を考慮することで、振動を減らし、整定時間を短縮して、より良いツールチップ制御を実現する。
【００７３】
方法５００は、プロセス５０２で始まり、ここで、関節コントローラは、ロボットシステム（例えば、図１Ａ〜図１Ｃに示される遠隔操作医療システム、医療システム、又は非医療システム）のマニピュレータ・アームの関節エンコーダからモーター側（例えば、関節）測定データを受信する。例えば、マスター／スレーブ制御システム３００の関節コントローラユニット３１８は、マニピュレータ・アーム部分２０７の関節エンコーダから関節測定データを受信することができる。方法５００は、プロセス５０４に進むことができ、ここで、関節コントローラは、負荷側測定データを使用せずに、関節測定データに基づいて第１のツールチップ推定値を生成する。例えば、関節コントローラユニット３１８の順方向運動学ブロック４０２は、順方向運動学を関節測定データに適用して、第１のツールチップ推定値を生成することができる。方法５００は、プロセス５０６に進むことができ、ここで、関節コントローラは、負荷側センサシステムから負荷側位置の負荷側測定データを受信する。例えば、関節コントローラユニット３１８は、負荷側センサシステム２６４によって提供される負荷側位置２６６の測定データを受信することができる。
【００７４】
次に、方法５００は、プロセス５０８に進むことができ、ここで、関節コントローラは、関節測定データと負荷側測定データとの両方に基づいて、負荷側位置２６６の位置及び動きの推定値を生成する。プロセス５０８において、関節コントローラユニット３１８は、順運動学ブロック４０２を使用して、順運動学を関節測定データに適用し、負荷側位置２６６の位置及び／又は動きの推定値Ｔｓｅｎｓｏｒ（ｅｎｃ）を生成することができる。状態推定器４１０が、第１の推定値Ｔｓｅｎｓｏｒ（ｅｎｃ）を負荷側位置２６６の負荷側測定データ（例えば、加速度データ及び角速度データ）と融合して、負荷側位置２６６の融合推定値Ｔｓｅｎｓｏｒ（ｆｕｓ）を生成することができる。
【００７５】
次に、方法５００は、プロセス５１０に進むことができ、ここで、関節コントローラは、融合された負荷側位置推定値及び動的モデルを使用して、第２のツールチップ推定値（融合ツールチップ推定値）を生成する。動的モデルは、マニピュレータ・アーム、マニピュレータ・アームに結合されたツール、及びツールに結合されたエンドエフェクタの動力学に基づいて決定できる。例えば、プロセス５１０において、動的モデルユニット４１２は、動的モデルを使用して、状態推定器４１０によって提供された融合された負荷側位置推定値に基づいて、融合されたツールチップ推定値を生成することができる。
【００７６】
次に、方法５００は、プロセス５１２に進むことができ、ここで、関節コントローラは、第１のツールチップ推定値と第２のツールチップ推定値との間のツールチップ推定値差に基づいて、関節調整データを決定する。例えば、プロセス５１２において、関節コントローラユニット３１８は、比較器４２２を使用して第１及び第２のツールチップ推定値を比較することにより、ツールチップ状態推定差４２４を決定することができる。逆運動学ブロック４２６が、逆運動学をツールチップ状態推定差４２４に適用して、対応する関節調整データを生成することができる。
【００７７】
次に、方法５００は、プロセス５１４に進むことができ、ここで、関節コントローラは、関節調整データに基づいて、関節の動きを制御することができる。例えば、プロセス５１４において、関節コントローラユニット３１８は、関節調整データを使用して、（例えば、オペレータ入力システムからの入力に応答してシミュレート・スレーブ処理ユニット３０８によって提供される）命令される関節データθ’ＣＭＤを調整することができる。次に、関節コントローラユニット３１８は、結果として得られるツールチップ状態推定差４２４（δＴｔｉｐとして示される）に基づいて、マニピュレータ・アームの関節を制御するためのスレーブ・トルクコマンド信号を生成することができる。モーター側測定データと負荷側測定データとの両方を使用し、且つ負荷側センサシステムとツールチップとの間の動力学を考慮することにより、より良いツールチップ制御が実現する。
【００７８】
本明細書に記載されているツール及び方法は、動物、人間の死体、動物の死体、人間又は動物の解剖学の一部、非外科的診断、産業システム、汎用ロボット又は遠隔操作システムに使用され得るので、手術用ツール及び外科的方法への参照は非限定的なものである。
【００７９】
本発明の実施形態における１つ又は複数の要素は、制御処理システム等のコンピュータシステムのプロセッサ上で実行するためにソフトウェアで実装され得る。ソフトウェアで実装される場合に、本発明の実施形態の要素は、本質的に、必要なタスクを実行するためのコードセグメントである。プログラム又はコードセグメントは、伝送媒体又は通信リンクを介して搬送波に組み込まれたコンピュータデータ信号によってダウンロードされ得、プロセッサ可読記憶媒体又は装置に記憶させることができる。プロセッサ可読記憶装置は、光媒体、半導体媒体、及び磁気媒体を含む、情報を記憶することができる任意の媒体を含み得る。プロセッサで読み取り可能なストレージ装置の例には、電子回路、半導体装置、半導体メモリ装置、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、フロッピーディスケット、ＣＤ−ＲＯＭ、光ディスク、ハードディスク、又は他のストレージ装置が含まれる。コードセグメントは、インターネット、イントラネット等のコンピュータネットワークを介してダウンロードできる。
【００８０】
提示されたプロセス及び表示は、特定のコンピュータ又は他の装置に本質的に関連していない場合があることに注意されたい。本明細書の教示に従って、様々な汎用システムをプログラムと共に使用することができ、又は説明した動作を実行するためのより専門的な装置を構築することが好都合であることが判明する場合がある。これらの様々なシステムに必要な構造は、特許請求の範囲の要素として現れる。さらに、本発明の実施形態は、特定のプログラミング言語を参照して説明していない。本明細書で説明するように本発明の教示を実施するために、様々なプログラミング言語を使用できることが理解されよう。
【００８１】
本発明の特定の例示的な実施形態を説明し、添付の図面に示したが、そのような実施形態は単なる例示であり、広範な発明を限定するものではなく、本発明の実施形態は、当業者には様々な他の修正が想起され得るので、図示し説明した特定の構造及び配置に限定されないことを理解されたい。
【図１Ａ】
2021502173.tif 000006
【図１Ｂ】
2021502173.tif 000007
【図１Ｃ】
2021502173.tif 000008
【図２Ａ】
2021502173.tif 000009
【図２Ｂ】
2021502173.tif 000010
【図２Ｃ】
2021502173.tif 000011
【図３】
2021502173.tif 000012
【図４Ａ】
2021502173.tif 000013
【図４Ｂ】
2021502173.tif 000014
【図５】
2021502173.tif 000015
【国際調査報告】
2021502173.tif 000016
2021502173.tif 000017
2021502173.tif 000018