(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-10
(54)【発明の名称】外科用ロボットアームの外部トルク観測および補償のためのシステムおよび装置
(51)【国際特許分類】
A61B 34/35 20160101AFI20220803BHJP
【FI】
A61B34/35
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021570173
(86)(22)【出願日】2019-07-09
(85)【翻訳文提出日】2021-11-25
(86)【国際出願番号】 US2019040908
(87)【国際公開番号】W WO2020246997
(87)【国際公開日】2020-12-10
(32)【優先日】2019-06-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】512269650
【氏名又は名称】コヴィディエン リミテッド パートナーシップ
(74)【代理人】
【識別番号】100107489
【氏名又は名称】大塩 竹志
(72)【発明者】
【氏名】ペイン, ウィリアム
(72)【発明者】
【氏名】トベルクテ, アンドレアス
(57)【要約】
外科用ロボットアームは、第1のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つが互いに対して移動可能であるように、第1のジョイントで第1のリンクに連結された第2のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つを移動するように構成された第1のアクチュエータとを含む。外科用ロボットアームはまた、第1のジョイント内に配置され、測定されたトルク値を得るために、第1のリンクまたは第2のリンクのうちの少なくとも1つに与えられるトルクを測定するように構成されたジョイントトルクセンサを含む。外科用ロボットアームは、コントローラであって、推定されたジョイントトルク値を決定し、推定されたジョイントトルク値を測定されたトルク値と比較し、推定されたジョイントトルク値と測定されたトルク値の比較に基づいて環境トルク値を決定するように構成されたコントローラをさらに含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
外科用ロボットアームであって、
第1のリンクと、
前記第1のリンクまたは第2のリンクのうちの少なくとも1つが互いに対して移動可能であるように、第1のジョイントで前記第1のリンクに連結された第2のリンクと、
前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つを移動するように構成された第1のアクチュエータと、
前記第1のジョイント内に配置され、前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つに与えられるトルクを測定して、測定されたトルク値を取得するように構成されたジョイントトルクセンサと、
コントローラであって、
移動コマンドに応答して入力モータトルクコマンドを計算し、前記入力モータトルクコマンドは、前記移動コマンドに従って、前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つを移動させるように、前記第1のアクチュエータを作動させるように構成され、
推定されたジョイントトルク値を決定し、
前記推定されたジョイントトルク値と前記測定されたトルク値との比較に基づいて、環境トルク値を決定し、
第1の閾値を超える前記環境トルク値に基づいて衝突を検出する、ように構成される、コントローラと、を備える、外科用ロボットアーム。
【請求項2】
前記コントローラは、前記第1の閾値付近である前記環境トルクに応答して衝突状態に入るようにさらに構成される、請求項1に記載の外科用ロボットアーム。
【請求項3】
前記衝突状態にある間、前記コントローラは、前記第1のアクチュエータの過飽和出力トルクを防止するために前記入力モータトルクコマンドを調整するようにさらに構成される、請求項2に記載の外科用ロボットアーム。
【請求項4】
前記衝突状態にある間、前記コントローラは、前記環境トルク値が第2の閾値を下回り、位置誤差が位置誤差閾値を下回ることに基づいて、前記衝突状態が終了することを決定するようにさらに構成される、請求項3に記載の外科用ロボットアーム。
【請求項5】
前記第2の閾値が前記第1の閾値よりも小さい、請求項4に記載の外科用ロボットアーム。
【発明の詳細な説明】
【技術分野】
【0001】
外科用ロボットシステムは現在、低侵襲医療処置において使用されている。いくつかの外科用ロボットシステムは、外科用ロボットアームを制御する外科用コンソールと、ロボットアームに連結され、ロボットアームによって作動されるエンドエフェクタ(例えば、鉗子または把持具)を有する外科用器具とを含み得る。
【0002】
ロボットアームは、様々な外力の影響を受けることがある。したがって、ロボットアームの動作を改善するために、そのような力を監視し、これらの力を補償する必要がある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一実施形態によれば、外科用ロボットアームが開示される。外科用ロボットアームは、第1のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つが互いに対して移動可能であるように、第1のジョイントで第1のリンクに連結された第2のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つを移動するように構成された第1のアクチュエータとを含む。外科用ロボットアームはまた、第1のジョイント内に配置され、測定されたトルク値を得るために第1のリンクまたは第2のリンクの少なくとも1つに与えられるトルクを測定するように構成されたジョイントトルクセンサを含む。外科用ロボットアームは、コントローラであって、移動コマンドに応答して入力モータトルクコマンドを計算し、前記入力モータトルクコマンドは、前記移動コマンドに従って、前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つを移動させるように、第1のアクチュエータを作動させるように構成され、推定されたジョイントトルク値を決定し、前記推定されたジョイントトルク値と前記測定されたトルク値との比較に基づいて、環境トルク値を決定し、閾値を超える前記環境トルク値に基づいて衝突を検出する、ように構成される、コントローラをさらに含む。
【0004】
上記実施形態の一態様によれば、コントローラは、衝突の検出に応答して入力モータトルクコマンドを調整するようにさらに構成される。前記コントローラは、前記第1のアクチュエータの過飽和出力トルクを防止するために前記入力モータトルクコマンドを調整するようにさらに構成される。
【0005】
上記の実施形態の別の態様によれば、外科用ロボットアームは、第1のアクチュエータによって与えられる出力トルクを測定するように構成されたモータトルクセンサをさらに含む。コントローラは、第1のアクチュエータの摩擦損失および第1のジョイントの摩擦損失を決定するようにさらに構成される。コントローラは、第1のリンクまたは第2のリンクのうちの少なくとも1つに対する重力効果を決定するようにさらに構成される。コントローラは、第1のアクチュエータのモータ慣性と、第1のリンクまたは第2のリンクのうちの少なくとも1つのジョイント慣性とを決定するようにさらに構成される。
【0006】
本開示の別の実施形態によれば、外科用ロボットシステムが開示される。外科用ロボットシステムは、ユーザ入力を生成するように構成された少なくとも1つのユーザインタフェースデバイスを含む外科用コンソールと、外科用コンソールに連結され、移動コマンドを生成するためにユーザ入力を処理するように構成された制御タワーと、外科用ロボットアームとを含む。外科用ロボットアームは、第1のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つが互いに対して移動可能であるように、第1のジョイントで第1のリンクに連結された第2のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つを移動するように構成された第1のアクチュエータとを含む。外科用ロボットアームはまた、第1のジョイント内に配置され、測定されたトルク値を得るために、第1のリンクまたは第2のリンクのうちの少なくとも1つに与えられるトルクを測定するように構成されたジョイントトルクセンサを含む。外科用ロボットアームは、コントローラであって、移動コマンドに応答して入力モータトルクコマンドを計算し、前記入力モータトルクコマンドは、前記移動コマンドに従って、前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つを移動させるように、第1のアクチュエータを作動させるように構成され、推定されたジョイントトルク値を決定し、前記推定されたジョイントトルク値と前記測定されたトルク値との比較に基づいて、環境トルク値を決定し、閾値を超える前記環境トルク値に基づいて衝突を検出する、ように構成される、コントローラをさらに含む。
【0007】
上記の実施形態の一態様によれば、コントローラは、第1のアクチュエータによって与えられるトルク、第1のアクチュエータの摩擦損失、第1のジョイントの摩擦損失、第1のアクチュエータのモータ慣性、ジョイント慣性、および重力効果に基づいて、推定されたジョイントトルク値を決定するようにさらに構成される。コントローラは、衝突の検出に応答して入力モータトルクコマンドを調整するようにさらに構成される。前記コントローラは、前記第1のアクチュエータの過飽和出力トルクを防止するために前記入力モータトルクコマンドを調整するようにさらに構成される。
【0008】
上記の実施形態の別の態様によれば、外科用ロボットアームは、第1のアクチュエータによって与えられるトルクを測定するように構成されたモータトルクセンサをさらに含む。コントローラは、第1のアクチュエータの摩擦損失および第1のジョイントの摩擦損失を決定するようにさらに構成される。コントローラは、第1のリンクまたは第2のリンクのうちの少なくとも1つに対する重力効果を決定するようにさらに構成される。コントローラは、第1のアクチュエータのモータ慣性と、第1のリンクまたは第2のリンクのうちの少なくとも1つのジョイント慣性とを決定するようにさらに構成される。コントローラは、第1のアクチュエータによって与えられるトルク、第1のアクチュエータの摩擦損失、第1のジョイントの摩擦損失、第1のアクチュエータのモータ慣性、ジョイント慣性、および重力効果に基づいて、推定されたジョイントトルク値を決定するようにさらに構成される。
【0009】
本開示のさらなる実施形態によれば、方法は、外科用コンソールの少なくとも1つのユーザインタフェースを介してユーザ入力を生成することと、ユーザ入力を処理して、外科用コンソールに連結された制御タワーで移動コマンドを生成することと、移動コマンドを外科用ロボットアームのコントローラに送信することとをさらに含む。外科用ロボットアームは、第1のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つが互いに対して移動可能であるように、第1のジョイントで第1のリンクに連結された第2のリンクと、第1のリンクまたは第2のリンクのうちの少なくとも1つを移動するように構成された第1のアクチュエータとを含む。方法はさらに、第1のリンクまたは第2のリンクのうちの少なくとも1つに与えられたトルクを測定して、第1のジョイント内に配置されたジョイントトルクセンサで測定されたトルク値を取得することと、移動コマンドに応答して入力モータトルクコマンドを計算することであって、前記入力モータトルクコマンドは、前記移動コマンドに従って、前記第1のアクチュエータを、前記第1のリンクまたは前記第2のリンクのうちの少なくとも1つを移動するように作動させるように構成される、ことと、推定されたジョイントトルク値を決定することと、前記推定されたジョイントトルク値と前記測定されたトルク値との比較に基づいて、環境トルク値を決定することと、閾値を超える前記環境トルク値に基づいて衝突を検出することと、をさらに含む。
【0010】
上記の実施形態の一態様によれば、方法は、第1のアクチュエータに連結されたモータトルクセンサで第1のアクチュエータによって与えられるトルクを測定することと、第1のアクチュエータの摩擦損失および第1のジョイントの摩擦損失を決定することと、第1のリンクまたは第2のリンクのうちの少なくとも1つに対する重力効果を決定することと、第1のアクチュエータのモータ慣性と、第1のリンクまたは第2のリンクのうちの少なくとも1つのジョイント慣性とを決定することとを、さらに含む。
【0011】
上記の実施形態の別の態様によれば、方法は、第1のアクチュエータによって与えられるトルク、第1のアクチュエータの摩擦損失、第1のジョイントの摩擦損失、第1のアクチュエータのモータ慣性、ジョイント慣性、および重力効果に基づいて、推定されたジョイントトルク値を決定することをさらに含む。この方法は、衝突の検出に応答して入力モータトルクコマンドを調整して、第1のアクチュエータの出力トルクの過飽和を防止することをさらに含む。
【0012】
添付の図面を参照しながら本開示の実施形態を本明細書に記載する。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本開示による、制御タワー、コンソール、および1つ以上の外科用ロボットアームを含む、外科用ロボットシステムの概略図である。
【
図2】
図2は、本開示による、
図1の外科用ロボットシステムの外科用ロボットアームの斜視図である。
【
図3】
図3は、本開示による、
図1の外科用ロボットシステムの外科用ロボットアームを備えたセットアップアームの斜視図である。
【
図4】
図4は、本開示による、
図1の外科用ロボットシステムのコンピュータアーキテクチャの概略図である。
【
図5】
図5は、本開示による
図2の外科用ロボットアームのアクチュエータの断面図である。
【
図6】
図6は、本開示による
図5のアクチュエータのトルクセンサによって測定されたトルクの概略図である。
【
図7】
図7は、本開示による、外科用ロボットアームの衝突を検出し、それに応じて外科用ロボットアームを制御するための方法である。
【
図8】
図8は、本開示の一実施形態による、外科用ロボットアームを制御するためのフローチャートである。
【発明を実施するための形態】
【0014】
本開示の外科用ロボットシステムの実施形態は、図面を参照して詳細に説明され、図面において、同様の参照符号はいくつかの図の各々において同一または対応する要素を示す。本明細書で使用されるとき、「遠位」という用語は、患者により近い外科用ロボットシステムおよび/またはそれに連結された外科用器具の部分を指し、「近位」という用語は、患者からより遠い部分を指す。
【0015】
以下で詳細に説明するように、本開示は、外科用コンソール、制御タワー、およびセットアップアームに連結された外科用ロボットアームを有する1つ以上の移動カートを含む外科用ロボットシステムに関する。外科用コンソールは、1つ以上のインタフェースデバイスを介してユーザ入力を受信し、ユーザ入力は、制御タワーによって、外科用ロボットアームを動かすための移動コマンドとして解釈される。外科用ロボットアームは、移動コマンドを処理し、ロボットアームの1つ以上のアクチュエータを起動するためのトルクコマンドを生成するように構成されたコントローラを含み、アクチュエータは次に、移動コマンドに応答してロボットアームを移動する。コントローラは、総ジョイントトルクを測定し、内力および外力を含む推定されたジョイントトルクを決定するようにさらに構成される。推定されたトルクは、アクチュエータのトルクセンサによって測定される、アクチュエータによって生成されるトルクと、摩擦モデルを使用して計算されるギヤおよびジョイントの摩擦と、重力モデルを使用して計算されるロボットアームおよび/またはセットアップアームに対する重力の影響と、質量およびアクチュエータ速度を使用して計算されるアクチュエータおよびジョイントの慣性とを使用して計算される。コントローラは、測定された総ジョイントトルクを推定されたトルクと比較して、例えば、衝突による環境トルクが、測定されたトルクと推定されたトルクとの間の差の原因であるかどうかを決定するようにさらに構成される。したがって、ロボットアームに作用する重力以外に衝突または他の外力がない状況では、環境トルクはほぼゼロであり、そのため、重力、摩擦、慣性、および環境トルクを含む推定されたトルクおよび測定されたトルクはほぼ同じである。閾値は、環境トルクの計算の感度と識別を変えるために調整することができる。
【0016】
図1を参照すると、外科用ロボットシステム10は、外科用コンソール30および1つ以上のロボットアーム40を含む外科用ロボットシステム10のすべての構成要素に接続された制御タワー20を含む。ロボットアーム40の各々は、それに取り外し可能に連結された外科用器具50を含む。外科用器具50は、低侵襲の外科的処置中に使用するように構成されている。実施形態では、外科用器具50は、開腹外科的処置のために構成され得る。ロボットアーム40の各々はまた、可動カート60に結合されている。
【0017】
外科用コンソール30は、ロボットアーム40に配設されたカメラ(図示せず)によって提供される手術部位を表示する第1の表示デバイス32と、外科用ロボットシステム10を制御するためのユーザインタフェースを表示する第2の表示デバイス34と、を含む。外科用コンソール30はまた、ロボットアーム40を遠隔制御するために臨床医によって使用されるフットペダル36ならびに一対のハンドルコントローラ38aおよび38bなどの複数のユーザインタフェースデバイスを含む。
【0018】
制御タワー20は、外科用コンソール30と1つ以上のロボットアーム40との間のインタフェースとして機能する。特に、制御タワー20は、ロボットアーム40および外科用器具50が、フットペダル36ならびにハンドルコントローラ38aおよび38bからの入力に応答して、所望の移動シーケンスを実行するように、プログラム可能な命令および/または外科用コンソール30からの一対の入力コマンドに基づいて、ロボットアーム40および対応する外科用器具50を動かすなど、ロボットアーム40を制御するように構成されている。
【0019】
制御タワー20、外科用コンソール30、およびロボットアーム40の各々は、それぞれのコンピュータ21、31、41を含む。コンピュータ21、31、41は、有線または無線通信プロトコルに基づいて任意の好適な通信ネットワークを使用して互いに相互接続されている。本明細書で使用される「ネットワーク」という用語は、複数または単数であるかどうかにかかわらず、インターネット、イントラネット、ワイドエリアネットワーク、またはローカルエリアネットワークを含むが、これらに限定されない、データネットワークを示し、本開示に包含されるような通信ネットワークの定義の全範囲に関して限定されない。好適なプロトコルは、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、データグラムプロトコル/インターネットプロトコル(UDP/IP)、および/またはデータグラム輻輳制御プロトコル(DCCP)を含むが、これらに限定されない。無線通信は、1つ以上の無線構成、例えば、無線周波数、光、Wi-Fi、Bluetooth(登録商標)(短電波長を使用して、固定および移動デバイスから短距離でデータを交換し、パーソナルエリアネットワーク(PAN)を作成するためのオープン無線プロトコル、ZigBee(登録商標)(無線パーソナルエリアネットワーク(WPAN)用のIEEE802.15.4-2003標準に基づいて小型で低消費電力のデジタル無線を使用する高レベル通信プロトコルのスイートのための仕様)を介して、達成され得る。
【0020】
コンピュータ21、31、41は、メモリ(図示せず)に動作可能に接続された任意の好適なプロセッサ(図示せず)を含み得、メモリは、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、不揮発性RAM(NVRAM)、またはフラッシュメモリなどの、揮発性、不揮発性、磁気的、光学的、もしくは電気的媒体のうちの1つ以上を含み得る。プロセッサは、限定はされないが、ハードウェアプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、中央処理ユニット(CPU)、マイクロプロセッサ、およびそれらの組み合わせを含む、本開示で説明される動作、計算、および/または命令のセットを実施するように適合された任意の好適なプロセッサ(例えば、制御回路)であってもよい。当業者は、プロセッサは、本明細書で説明されるアルゴリズム、計算、および/または命令のセットを実行するように適合された任意の論理プロセッサ(例えば、制御回路)を使用することによって代用され得ることを理解されよう。
【0021】
図2を参照すると、ロボットアーム40の各々は、ジョイント44a、44b、44cでそれぞれ相互接続された複数のリンク42a、42b、42cを含み得る。ジョイント44aは、ロボットアーム40を可動カート60に固定するように構成されており、第1の長手方向軸を画定する。
図3を参照すると、可動カート60は、リフト61と、ロボットアーム40を装着するためのベースを提供するセットアップアーム62と、を含む。リフト61は、セットアップアーム62の垂直方向の移動を可能にする。セットアップアーム62は、第1のリンク62a、第2のリンク62b、および第3のリンク62cを含み、これらは、ロボットアーム40の横方向の操作性を提供する。リンク62a、62b、62cは、ジョイント63aおよび63bで相互接続されており、これらの各々は、リンク62bおよび62bを互いおよびリンク62cに対して回転させるためのアクチュエータ(図示せず)を含み得る。特に、リンク62a、62b、62cは、互いに平行であるそれらの対応する側面において可動であり、それにより、患者(例えば、手術台)に対してロボットアーム40の伸長を可能にする。実施形態では、ロボットアーム40は、手術台(図示せず)に連結され得る。セットアップアーム62は、リンク62a、62b、62cおよびリフト61の移動を調整するための制御装置65を含む。
【0022】
第3のリンク62cは、2自由度を有する回転可能なベース64を含む。特に、回転可能なベース64は、第1のアクチュエータ64aおよび第2のアクチュエータ64bを含む。第1のアクチュエータ64aは、第3のリンク62cによって画定される平面に垂直な第1の静止アーム軸を中心に回転可能であり、第2のアクチュエータ64bは、第1の静止アーム軸を横切る第2の静止アーム軸を中心に回転可能である。第1および第2のアクチュエータ64aおよび64bは、ロボットアーム40の完全な3次元の配向を可能にする。
【0023】
図2を参照すると、ロボットアーム40はまた、第2の長手方向軸を画定し、外科用器具50の器具駆動ユニット52(
図1)を受容するように構成されているホルダ46を含み、器具駆動ユニット52は、外科用器具50の作動機構に連結するように構成されている。器具駆動ユニット52は、そのアクチュエータから外科用器具50に作動力を伝達して、外科用器具50の構成要素(例えば、エンドエフェクタ)を作動させる。ホルダ46は、ホルダ46によって画定される第2の長手方向軸に沿って器具駆動ユニット52を動かすように構成されているスライド機構46aを含む。ホルダ46はまた、リンク42cに対してホルダ46を回転させるジョイント46bを含む。
【0024】
ジョイント44aおよび44bは、一連のベルト45aおよび45b、または駆動ロッド、ケーブル、またはレバーなどの他の機械的リンケージを介してジョイント44a、44b、44cを相互に駆動するように構成されているアクチュエータ48aおよび48bを含む。特に、アクチュエータ48aは、リンク42aによって規定される長手方向軸を中心にロボットアーム40を回転させるように構成される。
【0025】
ジョイント44bのアクチュエータ48bは、ベルト45aを介してジョイント44cに連結され、次に、ジョイント44cは、ベルト45bを介してジョイント46cに連結される。ジョイント44cは、アクチュエータ48bがリンク42b、42c、およびホルダ46の各々を互いに対して回転させるように構成されるように、ベルト45aおよび45bを結合する伝達ケースを含み得る。より具体的には、リンク42b、42c、およびホルダ46は、アクチュエータ48bに受動的に連結され、アクチュエータ48bは、リンク42aによって画定される第1の軸と、ホルダ46によって画定される第2の軸との交点にある枢動点「P」を中心とした回転を行う。したがって、アクチュエータ48bは、第1の軸と第2の軸との間の角度θを制御し、外科用器具50の配向を可能にする。ベルト45aおよび45bを介したリンク42a、42b、42c、およびホルダ46の相互リンクにより、リンク42a、42b、42cとホルダ46との間の角度もまた、所望の角度θを達成するために調整される。実施形態では、ジョイント44a、44b、44cのいくつかまたはすべては、機械的リンクの必要性を取り除くためにアクチュエータを含み得る。
【0026】
図4を参照すると、外科用ロボットシステム10のコンピュータ21、31、41の各々は、ハードウェアおよび/またはソフトウェアで具体化され得る複数のコントローラを含み得る。制御タワー20のコンピュータ21は、コントローラ21aおよび安全オブザーバ21bを含む。コントローラ21aは、ハンドルコントローラ38aおよび38bの現在の位置および/または配向、ならびにフットペダル36および他のボタンの状態について、外科用コンソール30のコンピュータ31からデータを受信する。コントローラ21aは、これらの入力位置を処理して、ロボットアーム40の各ジョイントおよび/または器具駆動ユニット52に所望される駆動コマンドを判定し、これらをロボットアーム40のコンピュータ41と通信させる。コントローラ21aはまた、実際のジョイント角度を受信し、この情報を使用して、外科用コンソール30のコンピュータ31に送り返される力フィードバックコマンドを判定し、ハンドルコントローラ38aおよび38bを介して触覚フィードバックを提供する。安全オブザーバ21bは、コントローラ21aに出入りするデータに対して妥当性チェックを実行し、データ伝送のエラーが検出された場合にシステム障害ハンドラに通知して、コンピュータ21および/または外科用ロボットシステム10を安全な状態にする。
【0027】
コンピュータ41は、複数のコントローラ、すなわち、主カートコントローラ41a、セットアップアームコントローラ41b、ロボットアームコントローラ41c、および器具駆動ユニット(IDU)コントローラ41dを含む。主カートコントローラ41aは、コンピュータ21のコントローラ21aからジョイントコマンドを受信して処理し、それらをセットアップアームコントローラ41b、ロボットアームコントローラ41c、およびIDUコントローラ41dに通信する。主カートコントローラ41aはまた、器具交換、および可動カート60、ロボットアーム40、および器具駆動ユニット52の全体的な状態を管理する。主カートコントローラ41aはまた、実際のジョイント角度をコントローラ21aに返すように通信する。
【0028】
セットアップアームコントローラ41bは、ジョイント63aおよび63bのそれぞれ、ならびにセットアップアーム62の回転可能なベース64を制御し、ピッチ軸に対する所望のモータ移動コマンド(例えば、モータトルク)を計算し、ブレーキを制御する。ロボットアームコントローラ41cは、ロボットアーム40の各ジョイント44aおよび44bを制御し、重力補償、摩擦補償、および閉ループ位置制御に必要な所望のモータトルクを計算する。ロボットアームコントローラ41cは、計算されたトルクに基づいて移動コマンドを計算する。次に、計算されたモータコマンドは、ロボットアーム40内の1つ以上のアクチュエータ48aおよび48bに通信される。次に、実際のジョイント位置は、アクチュエータ48aおよび48bによってロボットアームコントローラ41cに送り返される。
【0029】
IDUコントローラ41dは、手首および顎の角度などの外科用器具50の所望のジョイント角度を受け、器具駆動ユニット52内のモータの所望の電流を計算する。IDUコントローラ41dは、モータ位置に基づいて実際の角度を計算し、これらを主カートコントローラ41aに送り返す。
【0030】
ロボットアームコントローラ41cはまた、ロボットアーム40の剛性リンク構造、すなわち、リンク42a、42b、42cによってジョイント44aおよび44bに与えられるトルクを推定するように構成されている。ジョイント44aおよび44bの各々は、アクチュエータ48aおよび48bを収容する。ロボットアーム40の重量が重いため、ロボットアーム40を移動するために高トルクが使用され得る。しかしながら、損傷または怪我を防止するためにトルクを調整する必要があり得る。これは、ロボットアーム40が他のロボットアーム、患者、スタッフ、手術室機器などの外部物体と衝突する際のトルクを制限するのに特に有用である。
【0031】
ロボットアーム40に対する外部トルクの影響を決定するために、ロボットアームコントローラ41cは、最初に摩擦損失、重力、慣性を計算し、次に外部トルクの影響を決定する。外部トルクが計算されると、ロボットアームコントローラ41cは、環境力が、外部物体との衝突を示す所定の閾値を超えるかどうかを決定し、衝突が検出された方向への移動を終了する、減速する、および/または所定の距離について移動を逆にする(例えば、反対方向に移動する)などの、予防措置を講じる。
【0032】
センサの測定およびそれに基づく計算は、
図5に関して以下に説明され、
図5は、統合されたジョイントモジュール100を示している。統合されたジョイントモジュール100は、アクチュエータ48a、48b、64a、64b、ならびにジョイント63aおよび63b内のアクチュエータとして使用することができる。統合されたジョイントモジュール100は、統合されたジョイントモジュール100の他の構成要素、すなわち、モータ104およびハーモニックギヤボックス106のための支持構造として作用するシャフト102を含む。モータ104は、ブラシ付きモータ、ブラシレスモータ、ステッパモータなどの、ACまたはDCエネルギーによって電力を供給され得る任意の電気モータであり得る。モータ104は、ハーモニックギヤボックス106に連結され、ハーモニックギヤボックス106は、ほぼゼロのバックラッシュ、高トルク能力、および高効率で大きな減速比を提供するように構成されたハーモニック駆動ギヤであり得る。ハーモニックギヤボックス106は、同心の入力および出力シャフト(図示せず)を含み得、外側の噛み合わされた面を有するフレックススプライン106b内に配置され、次に、内側の噛み合わされた面を有するサーキュラスプライン106c内に配置された波発生器106aを含み得る。モータ104が波発生器106aを駆動すると、ステンレス鋼などの弾性材料から形成され得るフレックススプライン106bも回転される。フレックススプライン106bは、サーキュラスプライン106cよりも歯が少ないため、波発生器106aが完全に回転するたびに、フレックススプライン106bは完全に回転するよりも少なく回転し、出力速度が低下する。次に、ハーモニックギヤボックス106は、ベルト45aまたは45bのうちの1つに連結される。
【0033】
統合ジョイントモジュール100はまた、統合されたジョイントモジュール100の性能を監視して、そのフィードバックおよび制御を提供するためのセンサ一式を含む。特に、統合されたジョイントモジュール100は、モータ104に連結されたエンコーダ108を含む。エンコーダ108は、機械的エンコーダまたは光学的エンコーダなど、モータ104の回転数を示すセンサ信号を提供する任意のデバイスであり得る。モータ104はまた、モータ104の電流引き込みを測定するように構成された電流センサ、モータトルクを測定するためのモータトルクセンサ105などの他のセンサを含み得る。回転数は、個々のジョイント44a、44b、44cの速度および/または位置制御を決定するために使用され得る。エンコーダ108によって測定および/または決定されるパラメータは、速度、距離、毎分回転数、位置などを含み得る。統合されたジョイントモジュール100は、機械的な力および/または歪みをハーモニックギヤボックス106によって与えられるトルクを示すセンサ信号に変換するように構成された1つ以上の歪みゲージを含む任意の力または歪みセンサであり得るジョイントトルクセンサ110をさらに含む。エンコーダ108およびジョイントトルクセンサ110からのセンサ信号は、コンピュータ41に送信され、コンピュータ41は、次に、センサ信号に基づいて、ロボットアーム40のジョイント44a、44b、44cのそれぞれの速度、角度、および/または位置を制御する。実施形態では、追加の位置センサを使用して、ロボットアーム40およびセットアップアーム62の移動および向きを決定することもできる。適切なセンサには、移動可能な構成要素に連結され、移動距離を検出するように構成されたポテンショメータ、ホール効果センサ、加速度計、およびジャイロスコープが含まれるが、これらに限定されない。
【0034】
図6を参照すると、ロボットアーム40のダイナミクスモデルは、モータ104によって与えられるモータトルクによる内部ダイナミクスを示し、これは、モータ104の回転位置の変化による動力伝達系の慣性および摩擦をもたらす。モータトルクはまた、例えば、ジョイント44bおよび44cでジョイントトルクを生成し、リンク42b、42c、およびホルダ46のリンク位置に変化する。ダイナミクスモデルはまた、外力によるロボットアーム40への外部トルクの影響を示している。
【0035】
図6を引き続き参照すると、モータ104、ハーモニックギヤボックス106、およびジョイントトルクセンサ110の概略図が提供されている。上記のように、ジョイントトルクセンサ110は、ジョイントトルクセンサ110が配置されている、ジョイント44a、44b、44cなどのジョイントに与えられたトルクを測定する。ジョイントトルクセンサ110によって測定されるトルクは、内部トルクパラメータ、すなわち、ハーモニックギヤボックス106のギヤ摩擦およびモータ104のモータ慣性を説明するモータ104によって生成されるトルクを含む。さらに、測定されたトルクはまた、外部トルクパラメータ、すなわち、リンク42a、42b、42cに対する重力の影響(例えば、重量)、各ジョイント44a、44b、44cのジョイント摩擦およびジョイント慣性、ならびに物体との衝突などによる環境トルクを含む。ロボットアーム40に対する外部トルクの影響を決定するために、ロボットアームコントローラ41cは、最初に摩擦損失、重力、慣性を計算し、次に外部トルクの影響を決定する。
【0036】
ロボットアームコントローラ41cおよびセットアップアームコントローラ41bのそれぞれは、摩擦オブザーバモジュールを含み、これは、ジョイントトルクセンサ110、エンコーダ108からの角速度、およびモータトルクセンサ105からのモータトルクを使用して、それぞれのジョイントおよびアクチュエータでの摩擦トルクを計算する。
【0037】
実施形態では、摩擦オブザーバモジュールは、
図6に示されるように、ジョイントトルクセンサ110からの測定されたトルク、命令されたモータトルク、および測定されたジョイントエンコーダから計算された推定されたモータ慣性を使用することができる。さらなる実施形態では、摩擦オブザーバモジュールは、ジョイントエンコーダから計算された推定速度を使用するクーロンおよび粘性摩擦モデルを使用することができる。
【0038】
摩擦オブザーバモジュールは、クーロン摩擦、粘性摩擦、およびトルクセンサオフセットに対応するジョイントトルクセンサ110の不感帯に基づいて実際の摩擦を計算することができる。クーロン摩擦は、乾燥した物理的接触にある2つの物体間の摩擦力の方向および大きさに基づいて計算される。粘性摩擦は、流体の物理的接触における2つの物体間の摩擦力の方向および大きさに基づいて計算される。不感帯は、ゼロ出力を生成するジョイントトルクセンサ110の入力の特定の部分に対応する。
【0039】
摩擦推定器モジュールは、ロボットアームコントローラ41cによって実行可能なソフトウェアで実装することができる。摩擦推定器モジュールは、(例えば、ジョイント44bがジョイント44a、44b、44cを移動しているときに)ジョイント44bに加えられ、非ゼロの角速度で測定されたジョイントトルクセンサ110によって測定された、外部トルクに基づく。したがって、摩擦推定器モジュールはまた、エンコーダ108から角速度を受け取る。さらに、摩擦推定器モジュールはまた、モータトルクセンサ105からのモータトルクを利用する。
【0040】
摩擦推定器モジュールは、以下の式(I)および(II)を組み込むことができる。
(I)
【数1】
(II)
【数2】
【0041】
式(I)および(II)で、「s」はラプラス演算子、「L」はフィルター時定数、「
【数3】
」は推定された摩擦、「T
fm」は実際の摩擦である。ジョイント44bのクーロン摩擦、粘性摩擦、およびトルクセンサの不感帯は、式(III)で与えられる。
(III)
【数4】
【0042】
式(III)では、「f
c」はクーロン摩擦係数、「f
v」は粘性摩擦係数であり、「f
d」は(トルクセンサオフセットに対応する)不感帯摩擦である。摩擦オブザーバは、式(IV)および(V)によって定義される。
(IV)
【数5】
(V)
【数6】
【0043】
ロボットアームコントローラ41cはまた、ロボットアームコントローラ41cの摩擦推定器モジュールによって決定されるように、ジョイント44bの摩擦を補償するためのトルクを計算するように構成される。特に、ロボットアームコントローラ41cは、ジョイント44bが遭遇する摩擦を克服するモータ104のトルクを計算する。摩擦を決定した後、ロボットアームコントローラ41cは、摩擦を克服するのに十分であるジョイント44bのモータ104の摩擦補償トルクまたは移動コマンドを計算する。
【0044】
セットアップアームコントローラ41bはまた、アクチュエータ64a、64bおよびセットアップアーム62のジョイント63a、63bに作用する摩擦を補償するように構成される。セットアップアームコントローラ41bは、アクチュエータ64a、64bおよびジョイント63a、63bが遭遇する摩擦を克服する、ジョイント63a、63b、およびアクチュエータ64a、64bのモータ104のトルクを計算する。摩擦を決定した後、セットアップアームコントローラ41bは、摩擦を克服するのに十分である、セットアップアーム62のアクチュエータ64a、64bおよびジョイント63a、63bの摩擦補償トルクまたは移動コマンドを計算する。
【0045】
本開示による摩擦補償の方法は、ロボットアーム40および/またはセットアップアーム62に適用することができ、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bのいずれかによって実行することができる。ロボットアーム40に関して、移動コマンドは、例えば、外科用コンソール30からの移動コマンドに応答して、制御タワー20から受信される。セットアップアーム62に関して、移動コマンドは、制御装置65から受け取られる。制御タワー20のコントローラ21aは、これらの入力位置を処理して、ロボットアーム40および/またはセットアップアーム62の各ジョイントに所望の駆動コマンドを決定し、処理された移動コマンドをコンピュータ41に送信する。コンピュータ41、特にロボットアームコントローラ41cは、ロボットアーム40の各ジョイント44aおよび44bを制御し、アクチュエータ48a、48bの所望のモータトルクを計算する。同様に、セットアップアームコントローラ41bは、セットアップアーム62の各リンク62a、62b、62cを制御し、ジョイント63aおよび63bのアクチュエータおよびアクチュエータ64a、64bのモータトルクを計算する。モータトルクは、移動コマンドに一致するようにリンク42a、42b、42c、62a、62b、62cの移動を与えるのに十分なトルクを含む。さらに、モータトルクも計算されて、ジョイント44a、44b、44c、63a、63bおよびアクチュエータ64a、64bに対する摩擦の影響を補償する。したがって、モータトルクコマンドは、2つの構成要素と、移動コマンドに対応する移動を与えるための第1の構成要素と、ジョイント44a、44b、44c、63a、63bおよびアクチュエータ64a、64bの各モータ104の摩擦を克服するための移動に対応する第2の構成要素とを含む。第2の構成要素は、上記のように計算された摩擦に基づく。特に、コンピュータ41の摩擦推定器モジュールは、ジョイントトルクセンサ110、エンコーダ108からの角速度、およびモータトルクセンサ105からのモータトルクを使用して、ジョイント44bでの摩擦トルクを計算する。実施形態では、測定されたモータトルクの代わりに、命令されたモータトルクを使用することができる。
【0046】
ロボットアームコントローラ41cおよびセットアップアームコントローラ41bのそれぞれは、ロボットアーム40およびセットアップアーム62の重力の影響をそれぞれ計算する重力補償器モジュールを含む。ロボットアームコントローラ41cはまた、ロボットアーム40に作用する重力、すなわち、リンク42a、42b、42cおよびロボットアーム40の他の構成要素の重量を補償するためのトルクを計算するように構成される。ロボットアームコントローラ41cは、ジョイント44a、44b、44cの速度および加速度をゼロに設定することによって、重力の負荷に対してロボットアーム40を静的に平衡化するモータ104のトルクを計算する。これは、重力による移動以外のロボットアーム40のすべての移動を無視して、ロボットアーム40の静的モデリングを提供する。重力のみによって引き起こされるロボットアーム40の移動を決定した後、ロボットアームコントローラ41cは、アクチュエータ48aおよび48bのモータ104の重力補償トルクまたは移動コマンドを計算し、これは、ロボットアーム40のたるみを相殺するのに十分である。
【0047】
セットアップアームコントローラ41bはまた、セットアップアーム62に作用する重力、すなわち、回転可能なベース64に与えられるロボットアーム40の重量を補償するように構成される。アクチュエータ64aは、アクチュエータ64aが重力に逆らって作動しなければならないため、ロボットアーム40のピッチ、すなわち、セットアップアーム62に対するロボットアーム40の角度を、床を拡張することによって、制御する。セットアップアームコントローラ41bは、アクチュエータ64aの速度および加速度をゼロに設定することによって、回転可能なベース64およびロボットアーム40を重力の負荷に対して静的に平衡化するアクチュエータ64aのトルクを計算する。これは、重力による移動以外のロボットアーム40のすべての移動を無視して、セットアップアーム62およびロボットアーム40の静的モデリングを提供する。重力のみによって引き起こされるセットアップアーム62およびロボットアーム40の移動を決定した後、セットアップアームコントローラ41bは、ロボットアーム40のたるみを相殺し、かつピッチを補正するのに十分なアクチュエータ64aの重力補償トルクまたは移動コマンドを計算する。
【0048】
本開示による重力補償の方法は、ロボットアーム40および/またはセットアップアーム62に適用することができ、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bのいずれかによって実行することができる。ロボットアーム40に関して、移動コマンドは、例えば、外科用コンソール30からの移動コマンドに応答して、制御タワー20から受信される。セットアップアーム62に関して、移動コマンドは、制御装置65から受け取られる。制御タワー20のコントローラ21aは、これらの入力位置を処理して、ロボットアーム40および/またはセットアップアーム62の各ジョイントに所望の駆動コマンドを決定し、処理された移動コマンドをコンピュータ41に送信する。コンピュータ41、特にロボットアームコントローラ41cは、ロボットアーム40の各ジョイント44aおよび44bを制御し、アクチュエータ48a、48bの所望のモータトルクを計算する。同様に、セットアップアームコントローラ41bは、セットアップアーム62の各リンク62a、62b、62cを制御し、ジョイント63aおよび63bのアクチュエータのモータトルクを計算する。モータトルクは、移動コマンドに一致するようにリンク42a、42b、42c、62a、62b、62cの移動を与えるのに十分なトルクを含む。さらに、モータトルクはまた、ロボットアーム40、特に、リンク42a、42b、42c、62a、62b、62cのそれぞれおよびジョイント44a、44b、44c、63a、63bへの重力の影響を補償するために計算される。したがって、モータトルクコマンドは2つの構成要素を含み、第1の構成要素は、移動コマンドに対応する移動を与えるためのものであり、第2の構成要素は、ロボットアーム40および/またはセットアップアーム62の各構成要素の重力を補償するための移動に対応する。
【0049】
ロボットアームコントローラ41cおよびセットアップアームコントローラ41bは、ジョイント44a、44b、44cおよびアクチュエータ64aの速度および加速度をゼロに設定することにより、重力の負荷に対してロボットアーム40およびセットアップアーム62を静的に平衡化するアクチュエータのトルクを計算する。モータトルクコマンドは、ロボットアーム40および/またはセットアップアーム62を所望の位置に移動させる移動を与えるためのモータトルクを含む第1の構成要素と、重力の影響を補償するように構成される第2の構成要素とを含む。第2の構成要素は、第1の構成要素の値、つまり速度および加速度をゼロに設定することによって計算される。さらに、第2の構成要素はまた、リンク42a、42b、42c、62a、62b、62cの質量、剛性、寸法、およびそれらの間の角度に基づく。
【0050】
補償プロセスはまた、ロボットアーム40を移動するための移動コマンドが、静止したままのセットアップアーム62のジョイント63aおよび63bに間接的に影響を及ぼし、逆もまた同様であるため、移動コマンドによって直接影響を受けないアクチュエータ、すなわち、ジョイント44a、44b、44c、63a、63bを移動するために作動が必要とされないアクチュエータのモータトルクを計算することを含む。
【0051】
外部トルク補償プロセスは、ロボットアームコントローラ41cによって実行され得、ジョイントトルクセンサ110を介したジョイントの出力トルクの測定と、ロボットアーム40によって環境に加えられたトルクの観察と、物体との衝突などの外力を示す、所定の閾値外の外部トルクの変化に基づくロボットアーム40の移動の調整とを含み得る。
【0052】
図6を引き続き参照すると、ジョイントトルクセンサ110は、ジョイント(例えば、ジョイント44a、44b、44cなど)のトルクを測定する。測定されたトルクは、内力120および外力122を表す。内力120は、モータ104の角速度に基づいて計算される、ハーモニックギヤボックス106のギヤ摩擦およびモータ104のモータ慣性などの機械的損失を差し引いた、モータ104によって生成されるモータトルクを含む。外力122には、重力負荷、ジョイント摩擦、および環境トルクが含まれる。本明細書で使用される場合、「環境トルク」という用語は、手術室内の物体との衝突によるものなど、重力、摩擦、または慣性以外にロボットアーム40に作用する任意の外力を指す。
【0053】
上記のように、内力120の各構成要素は、ジョイントトルクセンサ110、エンコーダ108、およびモータトルクセンサ105を使用して測定するか、あるいは摩擦推定器モジュールおよび重力補償器モジュールを使用して、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bによって計算することができる。特に、モータトルクおよびモータ慣性はモータトルクセンサ105によって測定され、ギヤ摩擦およびジョイント摩擦は摩擦オブザーバによって計算され、重力負荷は重力補償器モジュールによって計算される。したがって、上記の値のそれぞれが計算および/または測定された後、それぞれの値が加算されて、推定されたジョイントトルク値が決定される。次に、推定されたジョイントトルク値は、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bによって、測定されたトルク値と比較される。上記のように、ジョイントトルクセンサ110によって測定される測定されたトルク値は、推定されたジョイントトルク値のすべての構成要素、ならびに環境トルクによって与えられる力を測定する。次に、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bは、測定されたジョイントトルクから計算されたジョイントトルクを差し引くことによって環境トルクを計算する。
【0054】
環境トルクは、ロボットアーム40およびセットアップアーム62を代表する逆動力学計算を使用して計算することができる。逆動力学の計算は、ロボットジョイント(例えば、ジョイント44a、44b、44cなど)の瞬間的な位置、速度、および加速度に基づく。ジョイントを駆動する瞬間的なモータトルクおよび力は、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bによって計算される。ロボットアームコントローラ41cまたはセットアップアームコントローラ41bはまた、各リンク42a、42b、42c、62a、62b、62cのそれぞれの質量および慣性、ならびにリンク間の運動学的関係を含む、様々なリンクパラメータを記憶する。逆動力学関数が計算されると、重力補償部分は、速度と加速度をゼロに置き換えることによって分離される。
【0055】
ロボットアーム40およびセットアップアーム62の逆動力学問題は、ラグランジアン力学を使用して解決することができる。リンクフレーム間の運動学的関係を導出する際に、アクティブな/独立したジョイント変数が使用される。言い換えると、制約付き/依存リンクの位置/方向は、制約関係を使用して独立したジョイント変数で表される。これにより、フレーム定義の早い段階で制約を組み込むことができ、ラグランジュの定式化に制約方程式を含める必要がなくなる。
【0056】
各リンク42a、42b、42cの質量について、質量中心および慣性テンソルは、リンクのローカル参照フレームに関して定義され得る。各リンク42a、42b、42cは、以下の属性、すなわち、リンクのローカル座標フレームと、ローカル座標フレームに記述されたリンクの質量中心と、ローカル参照フレームで定義されるその質量中心の周りのリンクの慣性と、を有する剛体として定義される。
【0057】
リンク42a、42b、42cのローカル参照フレーム間の運動学的関係は、上記のフレーム定義に従って構築される。慣性参照フレームが選択され、これは、ピッチ角が0のときに回転可能なベース64と一致する。参照フレーム内の並進運動および回転運動に起因するリンク42a、42b、42cの運動エネルギーから生じるロボットアーム40の総運動エネルギー(K)が導出される。同様に、システムの総位置エネルギー(P)はまた、ワールドフレーム内の共通点に関して計算される。これらの項が計算されると、ラグランジアンTは、以下の式(VI)で定義される。
(VI) T=K-P
【0058】
ロボットアーム40のラグランジアンを有する場合、一般化された運動方程式(ラグランジュ方程式)は、以下の式(VII)によって定義される。
(VII)
【数7】
【0059】
逆動力学関数が計算されると、ロボットアーム40によって環境に加えられる外部トルク/力を推定するために、関数の結果をリンク42a、42b、42cおよびジョイント44a、44b、44cで測定されたトルク力と比較できる。
【0060】
図7を参照すると、本開示はまた、衝突の検出後に衝突に応答するための方法を提供する。最初に、前述のように外部トルク力の計算に基づいて衝突が検出される。次に、計算された外部トルクが外部トルク閾値と比較される。実施形態では、閾値は、約10ニュートンメートル(Nm)から約20Nmであり得、さらなる実施形態では、閾値は、約15Nmであり得る。計算された外部トルクが閾値を超える場合、ロボットアームコントローラ41cは、次に、外科用ロボットアーム40の移動を調整または遮断する。
【0061】
この方法は、ソフトウェアで具体化することができ、任意のコンピュータ21、31、41によって実行することができる。上に開示された摩擦および重力補償方法と同様に、ロボットアーム40に関して、例えば、外科用コンソール30からの移動コマンドに応答して、移動コマンドが制御タワー20から受け取られる。セットアップアーム62に関して、移動コマンドは、制御装置65から受け取られる。制御タワー20のコントローラ21aは、これらの入力位置を処理して、ロボットアーム40および/またはセットアップアーム62の各ジョイントに所望の駆動コマンドを決定し、処理された移動コマンドをコンピュータ41に送信する。コンピュータ41、特にロボットアームコントローラ41cは、ロボットアーム40の各ジョイント44aおよび44bを制御し、アクチュエータ48a、48bの入力モータトルクを計算する。同様に、セットアップアームコントローラ41bは、セットアップアーム62の各リンク62a、62b、62cを制御し、ジョイント63aおよび63bのアクチュエータの入力モータトルクを計算する。入力モータトルクは、移動コマンドに一致するようにリンク42a、42b、42c、62a、62b、62cの移動を与えるのに十分なトルクを含む。
【0062】
外科用ロボットアーム40が移動コマンドに応答して移動するとき、この方法は、外科用ロボットアーム40がその移動中に遭遇する外部トルクを計算する。この方法はまた、上記のように推定されたジョイントトルクを計算することを含む。特に、内力120の各構成要素は、ジョイントトルクセンサ110と、エンコーダ108と、モータトルクセンサ105からのモータトルクまたは命令されたモータトルクとを使用して測定するか、あるいは摩擦推定器モジュールおよび重力補償器モジュールを使用して、ロボットアームコントローラ41cまたはセットアップアームコントローラ41bによって計算することができる。モータ慣性はエンコーダ値およびロータ慣性を使用して計算され、ギヤ摩擦およびジョイント摩擦は摩擦オブザーバによって計算され、重力負荷は重力補償器モジュールによって計算される。摩擦オブザーバモジュールはモータとギヤボックスの摩擦を計算するが、ジョイント摩擦は別のモデルである。したがって、上記の値のそれぞれが計算および/または測定された後、それぞれの値が加算されて、推定されたジョイントトルク値が決定される。次に、推定されたジョイントトルク値は、ロボットアームコントローラ41cによって測定されたトルク値と比較される。次に、ロボットアームコントローラ41cは、測定されたジョイントトルクから計算されたジョイントトルクを差し引くことによって環境トルクを計算する。
【0063】
次に、環境トルクが閾値と比較され、衝突があるかどうかが判断される。閾値は、衝突による環境トルクのみが正の応答をトリガするように、誤った読み取り値を除外するために使用される。衝突が検出された後、ロボットアームコントローラ41cは、検出された衝突の方向に命令されたモータトルクを調整する。実施形態では、位置制御、すなわち、移動コマンドの実行は、衝突の検出に応答して中断または終了され得る。さらに、ロボットアームコントローラ41cはまた、モータ104のトルクの過飽和を防止する。外部トルクが衝突を示す閾値を下回っていると判断された後、ロボットアームコントローラ41cは、衝突状態での重力および摩擦を補償するためにトルクを出力し続けながら、入力モータトルクをゼロに設定することによって外科用ロボットアーム40を停止する。これは、障害物が取り除かれると、衝突前に外科用ロボットアーム40が移動方向に不意に揺れるのを防ぐ。
【0064】
図8は、ロボットアーム40を制御するための運動学的コントローラのフローチャート図を示している。最初に、ロボットアーム40を制御するハンドルコントローラ、例えば、ハンドルコントローラ38aの姿勢は、主カートコントローラ41aによって実行されるハンドアイ変換機能を介して、ロボットアーム40の所望の姿勢に変換される。ハンドアイ機能、および本明細書に記載の他の機能は、主カートコントローラ41aまたは本明細書に記載の他の任意の適切なコントローラによって実行可能なソフトウェアで具体化される。ハンドルコントローラ38aのうちの1つの姿勢は、外科用コンソール30に固定されている座標参照フレームに対する座標位置およびロール・ピッチ・ヨー(「RPY」)配向として具体化することができる。器具50の所望の姿勢は、ロボットアーム40上の固定フレームに対して相対的である。次に、ハンドルコントローラ38aの姿勢は、主カートコントローラ41aによって実行されるスケーリング機能によってスケーリングされる。実施形態では、座標位置は縮小され、配向はスケーリング機能によって拡大される。さらに、主カートコントローラ41aはまた、クラッチ機能を実行し、これは、ハンドルコントローラ38aをロボットアーム40から切り離す。特に、主カートコントローラ41aは、特定の移動が制限する、または他の閾値を超え、本質的に仮想クラッチ機構のように機能する場合、例えば、機械的入力が機械的出力に影響を与えることを制限する場合、ハンドルコントローラ38aからロボットアーム40への移動コマンドの送信を停止する。
【0065】
ロボットアーム40の所望の姿勢は、ハンドルコントローラ38aの姿勢に基づいており、次に、主カートコントローラ41aによって実行される逆運動学関数に渡される。逆運動学機能は、ハンドルコントローラ38aによって入力されたスケーリングおよび調整された姿勢を達成するロボットアーム40のジョイント44a、44b、44cの角度を計算する。次に、計算された角度は、ジョイント軸コントローラを含むロボットアームコントローラ41cに渡される。ジョイント軸コントローラは、比例微分(PD)コントローラ、摩擦推定器モジュール、重力補償器モジュール、およびモータ104の命令されたトルクを制限するように構成された両側飽和ブロックを含む。ジョイント軸コントローラはまた、ロボットアーム40および外科用器具 50が患者、他のロボットアーム40、手術台、ベッドサイドオペレータ、および他の物体または人などの環境に加えている力および/またはトルクを決定する環境トルク推定器モジュールを含む。
【0066】
一実施形態では、環境トルク推定器モジュールは、上記のように、τJTSジョイントトルクセンサ110からのセンサ信号に基づいて推定された環境トルクを計算するように構成される。別の実施形態では、環境トルク推定器は、位置誤差のみに基づいて、またはジョイントトルクセンサ110からのセンサ信号τJTSと組み合わせて実施することができる。別の実施形態では、環境トルク推定器は、ロボットアーム40の実際の位置および速度、ならびに摩擦推定器モジュールおよび重力補償器モジュールからの重力および摩擦の計算されたモデルをそれぞれ使用することができる。
【0067】
推定された環境トルクは、ロボットアームコントローラ41cによって実行される衝突検出モジュールに供給される。衝突検出モジュールは、推定された環境トルクに基づいてロボットアーム40が外部の物体または人と衝突したかどうかを判断し、推定された環境トルク値が第1のトルク閾値、実施形態では+/-15Nm、を超える場合、衝突状態に入る。衝突状態は、推定環境トルクが第2のトルク閾値を下回り、ロボットアーム40の位置誤差が最小になるまでアクティブであり、これは、実施形態では、各ジョイントの所望の位置角の+/-1度以内であるか、各角度の誤差の合計は+/-5度である。第2の閾値は、第1のトルク閾値よりも小さく、実施形態では、+/-5Nmであり得る。環境トルクの減少および位置角度の誤差の検証は、ロボットアーム40が、ハンドルコントローラ38aの位置に基づいて、現在の位置からさらに離れた所望の位置に急速に加速しないことを保証する。
【0068】
さらなる実施形態において、衝突状態への進入は、環境トルクが第1の閾値よりも大きく、所望の(すなわち、命令された)速度が、毎秒約1度であり得る速度閾値を超え、環境トルクの方向が所望の速度の方向と反対である場合に起こり得る。最後の状態は、アームが衝突に向かって動いていて、ベッドサイドのオペレータによって押されていない状況を説明している。これらの3つのパラメータ閾値を使用することにより、ロボットアーム40が静止してその位置を保持している間、ロボットアーム40を堅固に保ち、遠隔操作中にロボットアーム40がアクティブに駆動されているときの衝突力を最小限に抑える。
【0069】
衝突状態の間、ジョイント軸コントローラは、上記のようにジョイントの重力および摩擦を補償するために全量のトルクを適用し続ける。摩擦および重力補償に応答して、ロボットアーム40は、ロボットアーム40が手動モードにされたときと同様の位置を維持し続ける。減衰を生成するPDコントローラの一部、例えば実際の速度の負のフィードバックは、片側飽和ブロックによって制限されない。
【0070】
衝突状態がアクティブである間、ロボットアームコントローラ41cは、外科用ロボットシステム10のコンピュータ21、31、41と通信して、加えられる力を制限する。実施形態では、これは、コマンドライン301によって示されるように、PDコントローラによって生成される命令されたトルク成分を制限することによって行われ得る。制限コマンドは、衝突検出モジュールによって生成され、検出された衝突の方向に制限を適用できるように、2つの片側飽和に分割できる。これにより、衝突から離れる移動が制限されないことが可能になり、ロボットアーム40は、衝突から離れるのに完全な性能を保持する。衝突状態の場合、片側飽和をゼロに設定でき、これは、位置エラーのためにトルクが適用されないことを意味し、または環境に対するアームの穏やかな圧力を可能にする小さなトルクレベルに設定できる。
【0071】
衝突に応答するための追加の制御スキームはまた、コマンドライン302、303、304として表される衝突検出モジュールによって発行されるコマンドを含む。コマンドライン302に関して、衝突検出モジュールは、ジョイント軸コントローラのPおよび/またはD利得を変更(例えば、低下)することができる。これにより、衝突状態での位置エラーによるトルクが減少する。コマンドライン303に関して、衝突検出モジュールは、例えば、ハンドルコントローラ38aをロボットアーム40から切り離すクラッチ機能を使用して、ハンドルコントローラ38aを衝突の方向に「クラッチ切」することによって、ロボットアーム40の所望の移動を変更することができる。これにより、ロボットアーム40は衝突の方向への移動を停止するが、全力が衝突から離れるのを可能にする。コマンドライン304において、衝突検出モジュールは、スケーリング係数を変更(例えば、増加)して、衝突の方向へのロボットアーム40の移動を遅くすることができる。この手法ではまた、環境トルクが増加するにつれて増加する動的スケーリング係数を使用することもできる。これは、ロボットアーム40がより高い力およびトルクを環境に加えるにつれて、ロボットアーム40を減速させる。
【0072】
実施形態では、ロボットアーム40および/または特定のジョイントが、ロボットアームコントローラ41cからの移動コメントによるロボットアームの「跳ね返り」を最小化するために、追跡位置エラーとして反映される設定位置点から離れすぎて押された場合、ジョイントの設定位置点(すなわち、所望の位置または命令された位置)を変更することができる。この構成は、オペレータが寄りかかってロボットアーム40を偏向させる状況に対処し、オペレータがロボットアームを変位させる力を取り除いた後、ロボットアーム40が突然所望の位置に戻ることは望ましくない。追跡エラーが同じ命令されたトルクを有するが、跳ね返り距離を最小にするように、上記の更新された設定値は、現在の位置に等しいか、現在の位置から少し離れている。さらなる実施形態では、追跡エラーが大きすぎる場合、例えば、クラッチ機能を使用して、ハンドルコントローラ38aをロボットアーム40から切り離して、ハンドルコントローラ38aはエラーの方向に「クラッチ切」にされる。
【0073】
本明細書に開示された実施形態に様々な変更が加えられ得ることが理解されるであろう。実施形態において、センサは、ロボットアームの任意の好適な部分に配設され得る。したがって、上記の説明は、限定するものとして解釈されるべきではなく、単に様々な実施形態の例証として解釈されるべきである。当業者は本明細書に添付される特許請求の範囲内および趣旨内で他の修正を想定するであろう。
【国際調査報告】