(57)【要約】  ロボット手術システム及びそれを操作する方法が提供される。システムは、手術器具と、複数の関節を有し手術器具を支持するマニピュレータと、コントローラとを備える。仮想シミュレーションが、関節のうちの少なくとも１つの周りの慣性を含む仮想質量を有する仮想剛体として手術器具を表す。コントローラは、関節に対して、予測関節トルクを求める。予測関節トルクが関節の実際の関節トルクと比較されて関節トルク差が求められる。関節の周りの仮想質量の慣性が求められる。関節トルク差及び慣性を用いて関節の周りの角加速度が計算される。角加速度が仮想質量に投影されて外力が求められる。コントローラは、仮想シミュレーションにおいて外力に応じて手術器具の動力学をシミュレートする。【選択図】図１１
2019500925.tif 000002
【特許請求の範囲】
【請求項１】
手術器具と、
前記手術器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、
前記マニピュレータと通信し、仮想シミュレーションにおいて、仮想質量を有し、該仮想質量が前記関節のうちの少なくとも１つの周りの慣性を有する仮想剛体として前記手術器具を表すことにより、該手術器具の動力学をシミュレートするように構成されているコントローラと、
を備え、
前記コントローラは、（１）前記少なくとも１つの関節に対して予測関節トルクを求め、（２）前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求め、（３）前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求め、（４）前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算し、（５）該角加速度を前記仮想質量に投影して外力を求め、（６）前記仮想シミュレーションにおいて前記外力に応じて前記手術器具の動力学をシミュレートし、（７）前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するように構成されている、ロボット手術システム。
【請求項２】
前記コントローラは、前記関節の各々１つに対して個々に、（１）前記予測関節トルクを求め、（２）前記予測関節トルクを前記実際の関節トルクと比較し、（３）前記仮想質量の前記慣性を求め、（４）前記角加速度を計算するように更に構成されている、請求項１に記載のロボット手術システム。
【請求項３】
前記コントローラは、前記複数の関節を組み合わせて使用することにより、（５）前記角加速度を前記仮想質量に投影し、（６）前記手術器具の動力学をシミュレートするように更に構成されている、請求項１に記載のロボット手術システム。
【請求項４】
前記コントローラは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得することにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項１〜３のいずれか一項に記載のロボット手術システム。
【請求項５】
前記コントローラは、前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求めることにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項４に記載のロボット手術システム。
【請求項６】
前記コントローラは、前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求めることにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項５に記載のロボット手術システム。
【請求項７】
前記コントローラは、前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像することにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項６に記載のロボット手術システム。
【請求項８】
前記コントローラは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めることにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項４〜７のいずれか一項に記載のロボット手術システム。
【請求項９】
前記手術器具に加えられた入力された力を検知する力−トルクセンサを更に備える、請求項１〜８のいずれか一項に記載のロボット手術システム。
【請求項１０】
前記コントローラは、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記手術器具の動力学を再度シミュレートし、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するように更に構成されている、請求項９に記載のロボット手術システム。
【請求項１１】
手術器具と、該手術器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボット手術システムを操作する方法であって、仮想シミュレーションが、前記関節のうちの少なくとも１つの周りの慣性を有する仮想質量を有する仮想剛体として前記手術器具を表し、該方法は、前記コントローラが、
前記少なくとも１つの関節に対して予測関節トルクを求めるステップと、
前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求めるステップと、
前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算するステップと、
前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記手術器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
【請求項１２】
前記予測関節トルクを求めるステップ、該予測関節トルクを前記実際の関節トルクと比較するステップ、前記仮想質量の前記慣性を求めるステップ、及び前記角加速度を計算するステップは、各々、前記関節の各々１つに対して個々に実行される、請求項１１に記載の方法。
【請求項１３】
前記角加速度を前記仮想質量に投影するステップ、及び前記手術器具の動力学をシミュレートするステップは、各々、前記複数の関節を組み合わせて使用することにより実行される、請求項１１に記載の方法。
【請求項１４】
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得するステップを更に含む、請求項１１〜１３のいずれか一項に記載の方法。
【請求項１５】
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求めるステップを更に含む、請求項１４に記載の方法。
【請求項１６】
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求めるステップを更に含む、請求項１５に記載の方法。
【請求項１７】
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像するステップを更に含む、請求項１６に記載の方法。
【請求項１８】
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めるステップを更に含む、請求項１４〜１７のいずれか一項に記載の方法。
【請求項１９】
力−トルクセンサから、前記手術器具に加えられた入力された力を検知するステップを更に含む、請求項１１〜１８のいずれか一項に記載の方法。
【請求項２０】
前記コントローラにより、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記手術器具の動力学を再度シミュレートするステップと、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するステップとを更に含む、請求項１９に記載の方法。
【請求項２１】
器具と、該器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボットシステムをバックドライブする方法であって、仮想シミュレーションが、前記関節の各々の周りの慣性を有する仮想質量を有する仮想剛体として前記器具を表し、該方法は、前記コントローラが、
各関節に対して個々に、予測関節トルクを求めるステップと、
各関節に対して個々に前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
各関節の周りの前記仮想質量の前記慣性を個々に求めるステップと、
前記関節トルク差及び前記慣性を用いて各関節の周りの角加速度を個々に計算するステップと、
前記複数の関節の前記角加速度を組み合わせて使用して、２自由度以上で前記仮想質量の加速度を取得するステップと、
２自由度以上で前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１５年１１月１１日に出願された米国仮特許出願第６２／２５３，９９４号及び２０１５年１１月１６日に出願された米国仮特許出願第６２／２５５，６１０号の利益を主張し、各々の内容は引用することによりその全体が本明細書の一部をなすものとする。
【０００２】
本発明は、包括的には、ロボットシステム及びロボットシステムによって使用されるバックドライブの方法に関する。
【背景技術】
【０００３】
ロボット工学における力制御は、従来、インピーダンス制御又はアドミタンス制御を用いて実施されている。図１に、インピーダンス制御フィードバックループの一例を示す。インピーダンス制御により、ロボットの関節の位置がコントローラに入力され、ロボットの移動を制御する関節トルクが出力され適用される。言い換えれば、インピーダンスコントローラは、位置を決定し、力／トルクを加える（又は指令する）。図１では、インピーダンスコントローラは、関節に特定の関節トルクを加える。ロボットが、例えば関節のうちの１つに作用している外力を受ける場合、インピーダンス制御システムは、こうした力を計算又は測定しない。代わりに、インピーダンスコントローラは、単に、ロボット位置を再度決定し、加えられる必要な力を再計算する。
【０００４】
従来のインピーダンス制御は、堅い環境と接触しているときは安定した制御を提供することができ、柔らかい環境と係合しているときは軽い感触を提供することができる。しかしながら、インピーダンス制御は、ロボットの動きを制限する、触覚境界線等、剛性仮想拘束と相互作用しているとき、ロボットに対して不安定な不正確な感触を与える可能性があり、誤りをもたらす可能性がある。
【０００５】
一方、アドミタンス制御は、インピーダンス制御の逆である。図２に、アドミタンス制御フィードバックループの一例を示す。アドミタンス制御では、位置を決定して力を指令するのではなく、代わりに、コントローラは、加えられる力／トルクを決定し、位置を指令する。システムに対する入力された力を検出するために、力−トルクセンサ又は関節トルク測定が使用される。アドミタンスコントローラは、検出された入力された力に基づき、かつ測定された関節角度に基づいて関節の現位置を知ることにより、それに従って関節を動かすために決定された関節トルクを加えることによって、関節の新たな位置を指令する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のアドミタンス制御は、ロボットに対して安定した堅い感触を与えることができ、触覚境界線等の仮想拘束と相互作用しているときの誤りを低減させることができる。しかしながら、アドミタンス制御を受けるロボットは、ユーザに対して重く感じられる可能性があり、堅い環境と接触しているときに過剰反応する可能性がある。重要なことには、関節のうちの１つ以上に作用している外力（複数の場合もある）を測定するために力／トルクセンサ又は関節トルクを利用する単一アドミタンスコントローラを使用することにより、著しい難題がもたらされる。主に、ロボットがこうした外力を受ける場合、外力が加えられる位置（複数の場合もある）（例えば、関節（複数の場合もある））が未知であり、それにより、ロボットの望ましくない動的挙動がもたらされる可能性がある。
【課題を解決するための手段】
【０００７】
ロボット手術システムの一実施の形態が提供される。ロボット手術システムは、手術器具と、手術器具を支持するマニピュレータとを備える。マニピュレータは、複数の関節及び複数の関節アクチュエータを備える。コントローラが、マニピュレータと通信し、仮想シミュレーションにおいて、仮想質量を有する仮想剛体として手術器具を表すことにより、手術器具の動力学をシミュレートするように構成されている。仮想質量は、関節のうちの少なくとも１つの周りの慣性を有する。コントローラは、少なくとも１つの関節に対して予測関節トルクを求めるように構成される。コントローラは、少なくとも１つの関節の予測関節トルクを実際の関節トルクと比較して関節トルク差を求める。少なくとも１つの関節の周りの仮想質量の慣性が求められる。コントローラは、関節トルク差及び慣性を用いて少なくとも１つの関節の周りの角加速度を計算する。角加速度が仮想質量に投影されて外力が求められる。コントローラは、仮想シミュレーションにおいて外力に応じて手術器具の動力学をシミュレートする。関節アクチュエータの動作が、仮想シミュレーションに従って指令される。
【０００８】
ロボット手術システムを操作する方法の一実施の形態が提供される。ロボット手術システムは、手術器具と、手術器具を支持し、複数の関節及び複数のアクチュエータを備えるマニピュレータと、マニピュレータと通信するコントローラとを備える。仮想シミュレーションが、仮想質量を有する仮想剛体として手術器具を表す。仮想質量は、関節のうちの少なくとも１つの周りの慣性を有する。本方法は、コントローラにより、少なくとも１つの関節に対して予測関節トルクを求めることを含む。コントローラは、少なくとも１つの関節の予測関節トルクを実際の関節トルクと比較して関節トルク差を求める。少なくとも１つの関節の周りの仮想質量の慣性が求められる。コントローラは、関節トルク差及び慣性を用いて少なくとも１つの関節の周りの角加速度を計算する。角加速度が仮想質量に投影されて外力が求められる。コントローラは、仮想シミュレーションにおいて外力に応じて手術器具の動力学をシミュレートする。関節アクチュエータの動作が、仮想シミュレーションに従って指令される。
【０００９】
ロボットシステムをバックドライブする方法の一実施の形態が提供される。ロボットシステムは、器具と、器具を支持し、複数の関節及び複数のアクチュエータを備えるマニピュレータと、マニピュレータと通信するコントローラとを備える。仮想シミュレーションが、仮想質量を有する仮想剛体として器具を表す。仮想質量は、関節の各々の周りの慣性を有する。本方法は、コントローラにより、各関節に対して個々に、予測関節トルクを求めることを含む。コントローラは、各関節に対して個々に、予測関節トルクを実際の関節トルクと比較して関節トルク差を求める。コントローラは、各関節の周りの仮想質量の慣性を個々に求める。関節トルク差及び慣性を用いて、各関節の周りの角加速度が個々に計算される。複数の関節の角加速度を組み合わせて使用して、２自由度以上で仮想質量の加速度が取得される。コントローラは、２自由度以上で角加速度を仮想質量に投影して外力を求める。コントローラは、仮想シミュレーションにおいて外力に応じて手術器具の動力学をシミュレートする。関節アクチュエータの動作が、仮想シミュレーションに従って指令される。
【００１０】
本システム及び方法は、コントローラと互換性のある外力を求めることにより、少なくとも上述した問題を解決する。すなわち、本システム及び方法は、単一アドミタンスコントローラによって問題を解決する。主に、ロボットがこうした外力を受けるとき、関節トルクを使用して、外力が加えられる位置（例えば、関節）が求められる。本システム及び方法は、有利には、関節トルクを、ユーザが入力した力をシステムに提供する力／トルクセンサとともに使用される同じアドミタンスコントローラと互換性のある外力に変換する。したがって、本システム及び方法は、既存のアドミタンス制御方式と自然に統合する。さらに、仮想シミュレーションにおいて加えられた外力の位置を考慮することにより、ロボットの動的挙動はより予測可能となり、それにより、ロボットのロバスト性が向上し制御が強化される。ロボットシステムのユーザは、マニピュレータを、手術器具に力を加えることにより、かつマニピュレータに外力を加えることによってマニピュレータをバックドライブすることにより、制御することができる。これにより、ユーザは、マニピュレータを全体的に容易に位置決めすることができる。代替的に、仮想シミュレーションにおいて、加えられる外力を考慮することにより、本システム及び方法は、マニピュレータとマニピュレータに近接する物体との間の望ましくない衝突に反応することができる。さらに、各関節に対して本方法の記載されているステップを個々に行うことにより、ロボットの結果としての動きが自然であり、インピーダンス制御ロボットの動きをまねる。したがって、本システム及び方法は、有利に、インピーダンス制御システム及びアドミタンス制御システムの利益を提供する。
【００１１】
本発明の利点は、添付図面とともに考慮したときに、以下の詳細な説明を参照することで本発明がより良く理解されるにつれて、容易に理解される。
【図面の簡単な説明】
【００１２】
【図１】従来のインピーダンス制御ループの一例のフローチャートである。
【図２】従来のアドミタンス制御ループの一例のフローチャートである。
【図３】一実施形態による、マニピュレータ、コントローラ及び器具を備えるロボットシステムの斜視図である。
【図４】一実施形態によるロボットシステムのマニピュレータの正面図である。
【図５】一例による、コントローラとマニピュレータとの間の相互作用を示すロボットシステムのブロック図である。
【図６】本方法による改善されたアドミタンス制御ループの例示的なフローチャートである。
【図７】関節に加えられる外力が、器具に対応する仮想質量に関節の角加速度を投影して仮想質量の加速度を求めることによって計算される、本方法によって採用される計算の概念化の図である。
【図８】従来の技法による、外力の一例に応答する関節運動を示すグラフである。
【図９】従来の技法による、外力の別の例に応答する関節運動を示すグラフである。
【図１０】本方法によって実行される計算の簡易化されたフローチャートである。
【図１１】本方法のバックドライブ技法による、２つの姿勢の間のマニピュレータの動きの一例を示す、図４のマニピュレータの側面図である。
【図１２】図８において加えられた外力の同じ例に応答する、本方法による関節運動を示すグラフである。
【図１３】本方法のバックドライブ技法による２つの姿勢の間のマニピュレータの動きの別の例を示す、図４のマニピュレータの側面図である。
【図１４】図９において加えられた外力の同じ例に応答する、本方法による関節運動を示すグラフである。
【発明を実施するための形態】
【００１３】
同様の数字がそれぞれの図を通して同様の又は対応する部分を示す、図を参照すると、全体を通してロボット手術システム（以下、「システム」）１０及びそれを操作する方法が示されている。
【００１４】
図３に示すように、システム１０は、手術処置中に骨又は軟組織等、患者の解剖学的構造から物質を切り取るロボット手術システムである。解剖学的構造は、大腿骨、脛骨、骨盤、又は患者の他の任意の解剖学的部分とすることができる。手術処置は、部分又は全膝関節又は股関節置換手術を含むことができる。システム１０はまた、単顆、二顆又は全人工膝関節を含む、人工股関節及び人口膝関節等の外科用インプラントによって置換される物質を切り取るようにも設計することができる。本明細書に開示するシステム１０及び方法は、代替的に、外科手術又は非外科手術の他の処置を行うために使用することができ、又は、産業応用若しくはロボットシステムが利用される他の応用で使用することができる。
【００１５】
図３に示すように、システム１０はマニピュレータ１４を備える。マニピュレータ１４は、ベース１６及びアーム（リンク機構）１８を有する。マニピュレータ１４は、手術部位の近くでマニピュレータ１４を移動させるためのポータブルカート１９に結合することができる。アーム１８は、相互接続されている複数のリンク２０を備えることができる。これらのリンク２０は、直列に及び／又は並列に互いに接続することができる。したがって、マニピュレータは、直列腕構成又は並列腕構成を有することができる。
【００１６】
マニピュレータ１４は、複数の関節２２を備える。隣接するリンク２０の各対は、関節２２のうちの１つによって接続されている。各関節２２において、隣接するリンク２０の間に配置された関節モータ２４等のアクチュエータがある。関節モータ２４は、リンク２０を回転させるように構成されている。したがって、リンク２０の位置は、関節モータ２４によって設定される。
【００１７】
各関節モータ２４は、マニピュレータの内部の構造フレームに取り付けることができる。一例では、関節モータ２４は、永久磁石ブラシレスモータ等のサーボモータである。しかしながら、関節モータ２４は、同期モータ、ブラシ式ＤＣモータ、ステッピングモータ、誘導モータ等、他の構成を有することができる。
【００１８】
各関節２２は、関節モータ２４のうちの１つによって能動的に駆動される。本明細書に記載する方法の利用は、時に、関節２２のうちのいくつかが受動的であるという印象を与える場合があり、それは、関節２２が、（ドア継手と同様に）ユーザによってかけられる力によって直接移動することを意味する。しかしながら、本明細書に記載する実施形態における関節２２は、受動的ではない。システム１０及び方法は、関節２２を能動的に駆動し、それにより、マニピュレータ１４に加えられる決定された力に応じてマニピュレータ１４の制御を指令することにより、受動的挙動をまねる。この挙動について詳細に後述する。
【００１９】
関節モータ２４は、以降関節角度と呼ぶ複数の角度位置のうちの１つに配置される。関節角度は、隣接するリンク２０の間の関節２２の角度である。各関節モータ２４に位置センサ２６を備えることができる。代替的に、その特定の関節モータ２４によって駆動される各リンク２０に、位置センサ２６を備えることができる。位置センサ２６の一例は、それぞれの関節２２の関節角度を測定するエンコーダである。幾つかの実施形態では、関節モータ２４用の１つと移動するリンク２０用の１つとである２つのエンコーダを使用して、関節角度を平均すること等により、関節角度と、コンプライアンス伝達を通してのモータと関節との間の変位とを求めることができる。
【００２０】
各関節２２は、関節トルクを受けるように構成されている。関節トルクは、関節２２の回す又はひねる「力」であり、関節２２の枢支点から或る長さにおいて加えられる力の関数である。関節２２の関節トルクを測定するために、１つ以上の関節モータ２４にトルクセンサ２８を接続することができる。代替的に、関節モータ２４に印加される電流を表す信号を使用して、関節トルクを測定することができる。
【００２１】
図３に示すように、手術器具等の器具３０は、マニピュレータ１４に結合し、手術環境、より具体的には解剖学的構造と相互作用するように、ベース１６に対して移動可能である。マニピュレータ１４は、器具３０を支持する。器具３０は、アーム１８の遠位端に接続されている。マニピュレータ１４は、器具３０が患者に対して意図された医療／手術処置を行うように、器具３０を位置付けかつ方向づける。器具３０は、システム１０の操作者によって把持される。器具３０は、手術部位において患者の組織と接触するように設計されたエネルギーアプリケータ３２を含む。エネルギーアプリケータ３２は、ドリル、バー、矢状鋸刃、超音波振動チップ、プローブ、スタイラス等とすることができる。器具３０及びマニピュレータ１４は、座標系に対して物理的に移動する。一実施形態では、座標系は、マニピュレータ１４の関節角度全てを含むベクトルを備えた関節空間である。マニピュレータ１４及び器具３０は、様々な構成で配置することができる。
【００２２】
図４に、マニピュレータ１４の一例を示す。この例では、マニピュレータ１４は、直列アーム構成を有する。より具体的には、マニピュレータ１４は、５つのリンク２０ａ、２０ｂ、２０ｃ、２０ｄ、２０ｅを備え、そこでは、リンク２０ａがベース１６に対して最近位であり、リンク２０ｅがベース１６に対して最遠位である。図４におけるマニピュレータ１４はまた、以下Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５、Ｊ６として識別する６つの関節２２も備える。関節Ｊ１は、ベース１６とリンク２０ａとの間に配置されている。関節Ｊ２は、リンク２０ａとリンク２０ｂとの間に配置されている。関節Ｊ３は、リンク２０ｂとリンク２０ｃとの間に配置されている。関節Ｊ４は、リンク２０ｃとリンク２０ｄとの間に配置されている。関節Ｊ５は、リンク２０ｄとリンク２０ｅとの間に配置されている。関節Ｊ６は、リンク２０ｅと器具３０との間に配置されている。図４におけるマニピュレータ１４が直列アームであるため、任意の１つの関節Ｊ１〜Ｊ６の移動により、下流の全てのリンク（すなわち、移動した関節からマニピュレータの遠位端までの全てのリンク）に対する移動がもたらされる。
【００２３】
各関節Ｊ１〜Ｊ６は、それぞれ、それ自体の個々の軸Ａ１、Ａ２、Ａ３、Ａ４、Ａ５、Ａ６を中心に回転するように構成されている。６つの関節Ｊ１〜Ｊ６を有することにより、図４のマニピュレータ１４は、６ＤＯＦで自由に移動する。すなわち、マニピュレータ１４は、全体として、３つの垂直軸において前方／後方、上／下及び左／右に自由に並進移動する。マニピュレータ１４はまた、ピッチ、ヨー及びロールと呼ばれることが多い３つの垂直軸を中心とする回転運動を通して自由に向きを変えることも行う。当業者であれば、器具３０がそれ自体の軸を中心に回転する必要があるか否かに応じて、マニピュレータ１４が５ＤＯＦでの動きのみを必要とする場合があることを理解する。例えば、バー処置を行っているとき、バーは別個に回転するため、マニピュレータ１４は５ＤＯＦで動作すればよい。こうした場合、必要なＤＯＦの数より関節の数の方が大きいため、冗長性がある。しかしながら、鋸刃切断を行っているとき、マニピュレータ１４は、５ＤＯＦで動作して、１冗長度を提供する。
【００２４】
ベース１６に位置する関節Ｊ１は、ウエストの回転と同様の動きをもたらす。軸Ａ１を中心に回転することにより、関節Ｊ１は、マニピュレータ１４が左から右に回転するのを可能にする。関節Ｊ２は、肩の回転と同様の動きをもたらす。軸Ａ２を中心に回転することにより、関節Ｊ２は、マニピュレータ１４が前方及び後方に伸長するのを可能にする。関節Ｊ３は、肘の曲げに類似する動きをもたらす。軸Ａ３を中心に回転することにより、関節Ｊ３は、マニピュレータ１４が上昇及び下降するのを可能にする。関節Ｊ４は、手首のひねりに類似する動きをもたらす。軸Ａ４を中心に回転することにより、関節Ｊ４は、マニピュレータ１４が、円運動で上部リンク２０ｄ、２０ｅを回転させ、それにより、器具３０の向きを変更することができる。関節Ｊ５は、手首の曲げに類似する動きをもたらす。軸Ａ５を中心に回転することにより、関節Ｊ５は、リンク２０ｅ及び手術器具３０が、上下に傾くのを可能にし、ピッチ運動及びヨー運動に関与する。Ｊ４と同様に、関節Ｊ６は、手首のひねりに類似する動きをもたらす。しかしながら、関節Ｊ６は、軸Ａ６を中心に回転して、器具３０のより精密な制御を可能にする。
【００２５】
遠位リンク２０ｅと器具３０との間に、力−トルクセンサ等のセンサ３４を取り付けることができる。力−トルクセンサ３４は、操作者が器具３０を把持する際に器具３０がさらされる力及び／又はトルクに応じて可変信号を出力するように構成される。そうすることにより、力−トルクセンサ３４は、器具３０に加えられる入力された力を検知することができる。後述するように、入力された力は、マニピュレータ１４の動きを制御するために利用される。一実施形態では、力−トルクセンサ３４は６ＤＯＦセンサであり、それにより、力−トルクセンサ３４は、３つの相互に直交する力と器具３０に加えられる直交する力の軸を中心とする３つのトルクとを表す信号を出力するように構成される。さらに又は代替的に、器具２６に加えられる入力された力は、詳細に後述するように、関節トルクを使用して求めることができる。
【００２６】
ＩＩ．コントローラ及びシミュレーション概説
図３を参照すると、システム１０はコントローラ４０を備える。コントローラ４０は、マニピュレータ１４と通信し、マニピュレータ１４を制御するための好適なソフトウェア及び／又はハードウェアを含む。一実施形態では、コントローラ４０は、ポータブルカート１９内に配置される。しかしながら、コントローラ４０は、２つ以上の位置に配置されたサブコントローラを含む。コントローラ４０は、ナビゲーションシステム等、本明細書には具体的に記載されていない他のシステムを制御し、それらと通信することができる。
【００２７】
図５に示すように、コントローラ４０は、リンク２０の移動及び位置を指令するために関節モータ２４と通信する。コントローラ４０は、位置センサ（例えば、エンコーダ）２６に更に接続され、位置センサ２６から受け取られる信号を使用して各それぞれの関節２２の実際の関節角度を測定するように構成される。コントローラ４０は、関節モータサブコントローラ等を通して、関節モータ２４に指令して、指令関節角度まで移動させる。コントローラ４０はまた、関節２２の測定された関節トルクを示す信号を受け取るように、関節モータ２４においてトルクセンサ（複数の場合もある）２８にも接続される。コントローラ４０は、器具３０に加えられる入力された力を受け取るように力−トルクセンサ３４に更に接続される。
【００２８】
図６に示すように、コントローラ４０はアドミタンス型コントローラである。言い換えれば、コントローラ４０は、力を決定し、位置を指令する。一例では、コントローラ４０は、単に単一のアドミタンスコントローラを含み、それにより、全ての入力された力が、単一のコントローラ４０によって力を決定するように単独で分析される。言い換えれば、この例では、異なる力に対する別個のアドミタンスコントローラは利用されない。他の実施形態では、追加のコントローラを使用することができる。
【００２９】
図５及び図６に示すように、コントローラ４０は、仮想シミュレーション４２において器具３０の動力学をシミュレートするように構成される。仮想シミュレーション４２は、エネルギーアプリケータ３２があるか又はない器具３０に基づくことができる。一実施形態では、仮想シミュレーション４２は、剛体力学をシミュレートするコントローラ４０によって実施されるコンピュータソフトウェアである、物理学エンジンを使用して実施される。仮想シミュレーション４２は、実行可能プログラムが記憶されている非一時的コンピュータ可読記憶媒体を有するコンピューティングデバイスにおいて実施することができる。仮想シミュレーション４２は、器具３０の動力学を、器具３０のこうした動力学が物理的に実行される前にシミュレートする。
【００３０】
図７に示すように、コントローラ４０は、動的物体である仮想剛体４４として器具３０をモデル化する。したがって、コントローラ４０は、器具３０の剛体力学を有効にシミュレートする。仮想剛体４４は、仮想シミュレーション４２によって、デカルトタスク空間において６ＤＯＦに従って自由に移動する。図７において、仮想剛体４４は、器具３０の上に、中に、又は器具３０を越えている場合がある、単一点としてモデル化することができる。質量／慣性行列が、６ＤＯＦで仮想質量を定義する。後述するように、質量／慣性行列は、バックドライブに関する計算ステップで使用される。
【００３１】
一例では、仮想剛体４４は、器具３０の質量中心に対応する。ここで、「質量中心」は、力が器具３０の別の点に加えられ、器具３０が本来は拘束されなかった、すなわちマニピュレータ１４によって拘束されなかった場合に、器具３０が回転する際の中心となる点であると理解される。仮想剛体４４の質量中心は、器具３０の実際の質量中心に近接することができるが、同じである必要はない。仮想剛体４４の質量中心は経験的に求めることができる。器具３０がマニピュレータ１４に取り付けられると、個々の医師の選好に適応するように、質量中心の位置をリセットすることができる。他の実施形態では、仮想剛体４４は、重心等、器具３０の他の特徴に対応することができる。
【００３２】
この仮想剛体４４は、仮想質量（Ｍ）を有するものとみなされる。仮想質量は、関節２２のうちの少なくとも１つの周りの慣性（Ｉ）を有する。場合により、仮想質量は、関節２２（Ｊ１〜Ｊ６）のうちの各々１つの周りの慣性を有する。慣性は、仮想質量が速度の変化に対して有していなければならない抵抗の大きさ（measure）である。慣性は、仮想質量の特性であると理解することができる。したがって、仮想質量は、仮想剛体４４の質量及び慣性の両方を指すことができる。仮想剛体４４の仮想質量は、通常、器具３０の実際の質量と同じ桁の範囲内にある。しかしながら、仮想質量は、器具３０の実際の質量より大きいか又は小さいように設計することができる。
【００３３】
一例では、仮想剛体４４は、仮想シミュレーション４２の各反復の開始時に第１の姿勢にある。コントローラ４０は、力−トルクセンサ３４からのユーザが加えた入力された力、及び／又は他の拘束によってモデル化される他の入力された力を受け取る。入力された力は、仮想シミュレーション４２において仮想剛体４４が第１の姿勢にあるときに仮想剛体４４に加えられる。入力された力により、仮想剛体４４が、仮想経路に沿って、デカルト空間内の異なる位置及び異なる向きを有する第２の姿勢まで進むことになる。
【００３４】
仮想シミュレーション４２は、仮想剛体４４の視覚的表現又はグラフィカル表現なしに計算的に実行することができる。仮想シミュレーション４２が、（図７に示すような）仮想剛体４４の動力学を仮想表示することは必要ではない。言い換えれば、仮想剛体４４は、処理ユニットにおいて実行されるグラフィックスアプリケーション内でモデル化される必要はない。場合により、実際の器具３０によって追跡される仮想器具の動きを手術部位において表示して、処置の作業中に仮想支援を提供することができる。しかしながら、こうした場合、表示される器具は、仮想シミュレーション４２の直接の結果ではない。
【００３５】
仮想シミュレーション４２に基づいて仮想剛体４４の第２の姿勢を知ることにより、コントローラ４０は、仮想シミュレーション４２に従って関節２２の動作を指令する。すなわち、コントローラ４０は、デカルト空間における仮想剛体４４の動力学を変換して、マニピュレータ１４の動きを指示し、関節空間における器具３０の向きを制御する。第２の姿勢をもたらす力は、ヤコビ計算器に適用され、ヤコビ計算器は、デカルト空間内の動きを関節空間内の動きに関連付けるヤコビ行列を計算する。
【００３６】
一実施形態では、図６に示すように、コントローラ４０は、仮想シミュレーション４２の出力に基づいて関節２２に指令するために適切な関節角度を求めるように構成される。すなわち、コントローラ４０は、入力された力に応じて、関節２２の各々に対する指令関節角度を計算する。
【００３７】
ここから、コントローラ４０は、各関節２２の関節角度を調節し、各関節モータ２４が出力するトルクを、関節モータ２４が関連する関節２２を指令関節角度に駆動するのを可能な限り厳密に確実にするように連続的に調整する。バックドライブトルクを識別するために、コントローラ４０は、逆動力学モジュールを使用して各関節２２に対して予測関節トルク「τｅｘｐｅｃｔｅｄ」を求める。予測関節トルクは、外力及びトルクが存在しない場合に関節モータ２４が出力するべきトルクである。したがって、予測関節トルクは、関節２２の各々に対する計算された関節角度、関節速度及び関節加速度に関連する。
【００３８】
コントローラ４０は、各関節モータ２４が関連する関節２２を指令関節角度に駆動するように、各関節モータ２４に信号を与えるように構成される。コントローラ４０は、指令関節角度に基づいて関節２２の位置決めを制御する任意の好適な位置制御アルゴリズムを使用することができる。コントローラ４０は、能動的な、すなわち仮想シミュレーション４２の出力に基づいて移動するように予期される関節２２に対してのみ、指令関節角度を生成することができる。
【００３９】
幾つかの実施形態では、図５に表すように、コントローラ４０は、関節２２の各々に対して別個にかつ個々に（例えば、各能動関節毎に）指令関節角度を生成する。例えば、関節２２は、Ｊ１に対する指令関節角度が最初に生成され、Ｊ６に対する指令関節角度が最後に生成され、又はその逆であるように連続的に考慮することができる。
【００４０】
関節モータ２４が関節を指令関節角度に駆動するように通電されると、マニピュレータ１４は、図６において「ロボット動力学」ブロックによって表されているように、動的に動かされる。コントローラ４０は、少なくとも１つの関節２２の指令動作と少なくとも１つの関節２２の実際の動作とをモニタリングするように構成される。より具体的には、コントローラ４０は、予測関節トルクをモニタリングし、それを、少なくとも１つの関節２２の実際の（測定された）関節トルク「τａｃｔｕａｌ」と比較する。
【００４１】
実際の関節トルクを求めることは、関節モータ２４においてトルクセンサ２８を用いて実施することができる。代替的に、コントローラ４０は、関節２２の位置決め中に少なくとも１つの関節モータ２４によって消費される電流を測定するように構成される。トルクは消費電流に直接関連するため、コントローラ４０は、関節モータ２４の測定された消費電流を分析して関節２２の実際の関節トルクを求めることができる。任意の好適な検知技術を利用して消費電流を測定することができる。例えば、電源と関節モータ２４との間に電流センサを配置することができる。コントローラ４０によって直接、又はコントローラ４０とは別個に、電流検知に関連するフィードバックを実施することができる。コントローラ４０は、消費電流を計算するときに重力を有効にすることができる。
【００４２】
予測される関節トルクは、実際の関節トルクに対応しない場合がある。主に、関節２２は、外力を受ける可能性がある。こうした外力は、ユーザがリンク２０のうちの１つ以上に力を加えることによってもたらされる可能性がある。代替的に、マニピュレータ１４と物体又は障害物との間の衝突により、こうした外力がもたらされる可能性がある。当業者であれば、他の環境によりこうした外力がもたらされる可能性があることが理解される。外力により、実際の関節トルクは予測関節トルクから逸脱する。マニピュレータ１４がアーム１８に加えられる外力に応答することができることを、本明細書では「バックドライバビリティ（backdrivability）」と呼ぶ。外力がベース１６とアームの遠位端との間でアーム１８に加えられた場合、マニピュレータ１４をバックドライブすることができる。したがって、バックドライブ制御は、力−トルクセンサ３４によって検知される入力された力に基づく制御とは異なる。
【００４３】
外力は、本明細書に記載されるように、周囲の物体又は条件、例えば、操作者の相互作用、衝突等から発生する可能性があるが、周囲の物体自体（例えば、操作者自身）は、マニピュレータ１４を意図された位置まで物理的にかつ直接動かしていないことが明らかにされるべきである。代わりに、本明細書に記載する多くの実施形態では、外力は、マニピュレータ１４を動かすために所望のコマンド及び動きを導出するように計算されかつシミュレートされ、それにより、周囲の物体自体が物理的にかつ直接マニピュレータ１４を動かしているかのように（実際にはそうではない場合に）見える。したがって、システム１０及び方法により、マニピュレータ１４の全ての動きが計算されるため、マニピュレータ１４の全ての動きが望ましいと言うことができる。
【００４４】
図６に示すように、コントローラ４０は、予測関節トルクを少なくとも１つの関節２２の実際の関節トルクと比較して、関節トルク差Δτを求める。一実施形態では、任意の所与の関節「ｉ」に対する関節トルク差は、以下のように計算される。
【数１】
2019500925.tif 000003
【００４５】
関節トルク差は、過剰な関節トルクであると理解することができる。幾つかの実施形態では、コントローラ４０は、関節２２の各々に対して予測関節トルクを実際の関節トルクと別個にかつ個々に比較する。上述したように、例えば、各関節２２に対して連続して、かつ一度に１つ、指令関節トルク及び実際の関節トルクを比較することができる。関節トルク差は、１つの関節２２に対して、又は複数の関節２２に対して存在する可能性がある。したがって、このステップは、１ＤＯＦで実施することができる。
【００４６】
コントローラ４０は、関節トルク差を知ることにより、関節２２のうちの少なくとも１つに加えられる外力を求めるように構成される。コントローラ４０は、各関節２２に対する関節トルク差（存在する場合）を仮想質量に適用される６ＤＯＦ力／トルクベクトルに変換する。言い換えれば、関節トルク差をもたらす外力は、デカルト空間に変換され、仮想シミュレーション４２において考慮される。仮想剛体４４の動力学は、外力に基づいて反応するようにシミュレートされる。
【００４７】
コントローラ４０は、入力された力に加えて求められた外力を更に考慮することにより、上述したように仮想シミュレーションにおいて器具３０の動力学を再度シミュレートするように構成される。言い換えれば、過剰な関節トルクは、力−トルクセンサ３４を利用するアドミタンスコントローラに互換性のある力に変換される。同様に、コントローラ４０は、入力された力及び外力の両方を考慮する仮想シミュレーション２４に従って、所望の姿勢に対する関節２２の動作を再度指令するように構成される。
【００４８】
上述したように、コントローラ４０は、関節トルク差から直接関節２２のうちの少なくとも１つに加えられた外力を求めるように構成される。上述した技法は、外力を考慮するが、予測されない関節運動をもたらす可能性がある。主に、関節トルク差から外力を直接求めることは、外力が関節空間において分解されないため、マニピュレータ１４に対する加えられた外力の位置を完全には捉えない。言い換えれば、コントローラ４０は、外力がマニピュレータ１４に加えられている場所を認識しない。
【００４９】
図８及び図９は、関節トルク差のみに基づいて外力が直接求められる場合の関節運動を示すグラフである。図８では、Ｊ２に対して、−１．５Ｎｍの関節トルク差が与えられる。しかしながら、それに応じて、Ｊ３及びＪ５は予想外に動く。したがって、Ｊ２が、外力からトルクの変化を受けている唯一の関節であるが、他の２つの関節（すなわち、Ｊ３及びＪ５）が動く。同様に、図９において、Ｊ２及びＪ３に、−０．５Ｎｍの関節トルク差が与えられる。これに応じて、Ｊ２は間違った方向に動き、Ｊ５は予想外に動く。言い換えれば、Ｊ２及びＪ３が外力からトルクの変化を受けている唯一の関節であるが、別の関節（すなわち、Ｊ５）が動く。さらに、外力からトルクの変化を受けている関節のうちの１つ（Ｊ２）は、外力と反対に応答する。
【００５０】
ＩＩＩ．バックドライブ法概説
このセクションに記載するロボットシステム１０及び方法は、関節空間における加えられた外力を分解してマニピュレータ１４に対する外力の位置を完全に捉えることによって、予測可能な関節運動をもたらすバックドライブ技法を提供することにより、上述した技法を改善する。システム１０及び方法は、図６におけるブロック４８においてこの改善されたバックドライブ法を実施する。本質的に、後述する方法は、外力がいかに計算されるかに関する改善を提供する。
【００５１】
図１０は、後述するバックドライブ法の入力及び出力を示す計算フローチャートを示す。ステップ６０に示すように、関節トルク差Δτｉは、上述したように各個々の関節「ｉ」に対して別個に計算される。したがって、関節トルク差は１ＤＯＦで計算される。
【００５２】
次に、ブロック６２において、コントローラ４０は、少なくとも１つの関節２２の周りの、より具体的には、少なくとも１つの関節２２の軸の周りの仮想質量の慣性を求める。一実施形態では、コントローラ４０は、関節２２の各々１つに対して仮想質量の慣性を別個にかつ個々に求める。したがって、各関節の慣性は１ＤＯＦで計算することができる。このステップを概念化するために、図７は、別個に考慮される１つの関節、すなわちＪ１に対する仮想質量の慣性の間の関係を示す。しかしながら、任意の所与の関節の周りの仮想質量の慣性は、以下のように表される。
【数２】
2019500925.tif 000004
【００５３】
式［２］において、Ｉは関節ｉの周りの仮想質量の慣性であり、ｍｖｍ、Ｉｖｍは、質量／慣性行列によって定義されるような関節ｉの軸の周りの仮想剛体４４の質量及び慣性であり、Ｒは、関節の軸Ａと仮想質量との間の半径である。
【００５４】
各関節の周りの仮想質量の慣性は、代替的に、関節軸ｉの周りの仮想質量の有効な慣性として、概して以下のように、
【数３】
2019500925.tif 000005
より具体的には、以下のように、
【数４】
2019500925.tif 000006
表すことができる。
【００５５】
式［４］において、
【数５】
2019500925.tif 000007
は、仮想質量運動の変化を関節角度の変化に写像するヤコビ転置行列であり、Ｍｖｍは、質量／慣性行列によって定義されるような仮想剛体４４の質量であり、
【数６】
2019500925.tif 000008
は、関節角度の変化を仮想質量運動の変化に写像するヤコビ行列である。式［３］及び［４］において、Ｍは、大文字で書かれ、それが行列であって（式［２］におけるように）スカラではないことを示す。式［３］及び［４］を用いて、６ＤＯＦのＪ及び６ＤＯＦのＭｖｍから１ＤＯＦの慣性Ｉｅｆｆが計算される。ヤコビ行列及び６ＤＯＦのＭｖｍの使用は、困難である可能性がある式［２］において任意の軸の周りの１ＤＯＦのＩｖｍを計算することより、好都合である。
【００５６】
ステップ６４において、コントローラ４０は、関節トルク差及び慣性を使用して少なくとも１つの関節２２の周りの角加速度
【数７】
2019500925.tif 000009
を計算するように構成される。図７に、Ｊ１の軸Ａ１の周りの角加速度
【数８】
2019500925.tif 000010
を示す。一実施形態では、コントローラ４０は、１ＤＯＦでの各関節ｉの周りの角加速度
【数９】
2019500925.tif 000011
を計算する。言い換えれば、コントローラ４０は、過剰なトルクを使用して、関節角度がいかに加速するかを求める。所与の関節ｉに対する関節トルク差Δτｉ及び慣性Ｉｉは、角加速度
【数１０】
2019500925.tif 000012
を以下のように計算することができるように、以下の式に入力される。
【数１１】
2019500925.tif 000013
【００５７】
ステップ６６において、コントローラ４０は、各関節２２に関連する角加速度を仮想質量に投影するように構成される。１ＤＯＦで計算ステップを実行する前述のステップとは異なり、コントローラ４０は、好ましくは、関節２２を組み合わせて使用して角加速度を仮想質量に投影する。主に、コントローラは、多ＤＯＦ又は６ＤＯＦで複数の関節２２の角加速度を結合する。
【００５８】
コントローラ４０は、角加速度を投影することにより、ステップ６８において、多ＤＯＦ又は６ＤＯＦで仮想質量の加速度
【数１２】
2019500925.tif 000014
を取得する。図７は、一実施形態による仮想質量の加速度
【数１３】
2019500925.tif 000015
を概念的に示す。コントローラ４０は、関節空間からの関節角度情報をデカルト空間における仮想質量運動に投影することによって仮想質量の加速度を取得する。より具体的には、多ＤＯＦ又は６ＤＯＦでの仮想質量の加速度は、１ＤＯＦで各関節軸に対して計算される角加速度から導出される。
【００５９】
一例では、仮想質量の加速度は、以下のように計算され、
【数１４】
2019500925.tif 000016
式中、
【数１５】
2019500925.tif 000017
は、仮想質量の加速度であり、
【数１６】
2019500925.tif 000018
は、関節角度の変化を仮想質量運動の変化に写像するヤコビ行列であり、
【数１７】
2019500925.tif 000019
は、各関節ｉの周りの角加速度である。
【００６０】
違った方法で理解すると、コントローラは、関節２２の各々に対して指令関節角度を実際の関節角度と比較して、関節２２の各々に対して１ＤＯＦで関節角度差を求める。コントローラ４０は、関節２２の各々に対して仮想質量の第１の運動を仮想質量の第２の運動と更に比較して、関節２２の各々に対して１ＤＯＦで運動差を求める。そして、コントローラ４０は、ヤコビ行列において、関節の各々に対する関節角度差と多自由度又は６自由度での関節の各々に対する運動差を写像して、多ＤＯＦ又は６ＤＯＦで仮想質量の加速度
【数１８】
2019500925.tif 000020
を取得する。
【００６１】
ステップ７０において、コントローラ４０は、多ＤＯＦ又は６ＤＯＦでの仮想質量の加速度
【数１９】
2019500925.tif 000021
を、多ＤＯＦ又は６ＤＯＦで仮想質量を定義する質量／慣性行列に入力する。質量／慣性行列を用いて、多ＤＯＦ又は６ＤＯＦで仮想質量に適用する力／トルクを求めて、計算された加速度
【数２０】
2019500925.tif 000022
に対応する外力を生成する。６ＤＯＦの力／トルクベクトルは、
【数２１】
2019500925.tif 000023
であるように（式中、ＦＶＭはＶＭＦに等しい）、６ＤＯＦ質量行列Ｍｖｍと６ＤＯＦ加速度ベクトルとを乗算することによって計算される。
【００６２】
ステップ７２において、外力ＶＭＦが、多ＤＯＦ又は６ＤＯＦでの仮想質量の加速度
【数２２】
2019500925.tif 000024
を質量／慣性行列に入力したものの出力として計算される。上述したように、コントローラ４０は、その後、仮想シミュレーション４２において、外力及び存在する場合は力−トルクセンサ又は関節２２からの入力された力（複数の場合もある）に応じて、器具３０の動力学をシミュレートする。コントローラ４０は、外力及び存在する場合は入力された力（複数の場合もある）を考慮する仮想シミュレーション４２に従って、所望の姿勢に対する関節２２の動作を再度指令する。
【００６３】
一実施形態では、力加算器が外力及び入力された力（複数の場合もある）を加算し、その後、コントローラ４０は、加算された全体の力Ｆｔｏｔａｌに基づいて、
【数２３】
2019500925.tif 000025
を解いて
【数２４】
2019500925.tif 000026
を見つけることにより、器具３０の指令位置を計算することができる。加速度
【数２５】
2019500925.tif 000027
が解かれた後、
【数２６】
2019500925.tif 000028
を２回積分して次の指令位置を計算することができる。デカルト空間における指令位置は、関節空間における指令関節角度に変換される。
【００６４】
システム１０及び方法は、幾つかの異なる応用又は状況に対して本明細書に記載するバックドライブ技法を利用することができる。一例では、ロボットシステム１０のユーザは、マニピュレータ１４を、手術器具３０に力を加えることにより、かつ任意の所与の関節（複数の場合もある）２２又はリンク（複数の場合もある）２２に外力を加えることによってマニピュレータ１４をバックドライブすることにより、制御することができる。これにより、ユーザは、マニピュレータ１４を全体として容易に位置決めすることができる。こうした応用は、現場でマニピュレータ１４をセットアップする場合に特に有用である可能性がある。他の場合では、ユーザは、快適さ又は空間を考慮して１つ以上のリンク２２を再配置するために、細かい位置決め中にマニピュレータ１４を制御している間に外力を加えることができる。いずれの場合も、コントローラ４０は、マニピュレータ１４に指令を与えているときに、加えられた外力を考慮し、それにより、マニピュレータの完全なバックドライブ制御が可能になる。
【００６５】
代替的に、仮想シミュレーションにおいて加えられた外力を考慮することにより、システム１０及び方法は、マニピュレータ１４と、マニピュレータ１４に近接する物体又はマニピュレータ１４の移動の経路を妨げる物体との間の望ましくない衝突に反応することができる。こうした場合、マニピュレータ１４が外力に反応するのを可能にすることは望ましくない可能性がある。したがって、こうした場合、コントローラ４０は、加えられた外力を考慮するが、外力を無効にするか、又は予防措置としてマニピュレータ１４を完全に停止させることができる。
【００６６】
他の例では、バックドライブ技法は、動作の手動モード中に利用することができる。手動モード中、器具３０の動きを、操作者は手動で指示し、マニピュレータ１４が制御する。操作者は、器具３０に物理的に接触して、器具３０の移動をもたらす。マニピュレータ１４は、力−トルクセンサ３４を使用して器具３０にかけられた力及びトルクをモニタリングする。操作者は任意の所与の関節をバックドライブすることができ、一方で、コントローラ４０は、力−トルクセンサ３４によって検出された力及びトルクに応じてマニピュレータ１４を制御する。
【００６７】
別の応用では、マニピュレータ１４は、動作の自律モードで器具３０の自律運動を指示する。ここでは、マニピュレータ１４は、操作者の補助なしに器具３０を動かすことができる。操作者の補助がないことは、操作者が器具３０を動かすように力を加えるように器具３０と物理的に接触しないことを意味することができる。代わりに、操作者は、何らかの形態の制御を使用して、移動の開始及び停止をリモートで管理することができる。例えば、操作者は、リモート制御のボタンを押下して器具３０の動きを開始し、ボタンを解除して器具３０の動きを停止することができる。
【００６８】
一例では、器具３０の位置決めは、自律モード中に現場で維持することができる。しかしながら、操作者は、器具３０の向きを変えたい場合がある。位置を維持しながら器具３０の向きを変えることは、更に下流リンク２０の向きを変える必要がある可能性がある。本明細書に記載するバックドライブ技法を利用して、自律モードで器具３０の向きを変えるようにリンク２０に加えられた外力を考慮することができる。当業者であれば、他の様々な応用又は状況が本明細書に記載したバックドライブ技法を利用することができることが理解されよう。
【００６９】
このセクションに記載したバックドライブ技法は、マニピュレータ１４に対する外力の位置を考慮する。本方法は、関節空間における外力を各個々の関節に分解することにより、仮想シミュレーション４２において、加えられた外力の位置を考慮する。このように、コントローラ４０が外力を考慮することによってマニピュレータ１４に指令を与えると、マニピュレータ１４の関節２２は、予測可能な動きを示す。マニピュレータ１４の動的挙動は、より予測可能となり、それにより、マニピュレータ１４のロバスト性が向上し制御が強化される。上述した技法を使用して、システム１０及び方法は、有利に、関節トルクを、入力される力を提供する力／トルクセンサ３４と使用される同じアドミタンスコントローラ４０と互換性がある外力に変換する。その間、各関節２２に対して本方法の記載したステップを個々に実行することにより、マニピュレータ１４の結果としての動きは自然であり、インピーダンス制御ロボットの動きをまねる。
【００７０】
この改善された挙動を概念化するために、図１１は、（実線で示す）第１の姿勢にあるマニピュレータ１４の側面図を示す。外力は、関節Ｊ２に加えられる。システム１０及び方法は、上述したステップを実行して、仮想シミュレーション４２において外力を有効に補償する。コントローラ４０は、（想像線で示す）所望の第２の姿勢への関節Ｊ２の動作を指令する。図１１におけるマニピュレータ１４の動きに関連する図１２は、（外力が関節トルク差のみに基づいて求められる場合の関節運動を示す図８と比較して）外力がこのセクションに記載したステップを使用して求められる場合の関節運動を示すグラフである。図１１において、Ｊ２に対して、−１．５Ｎｍの関節トルク差が与えられる。比較の目的で、これは、図８においてＪ２に与えられたものと同じ関節トルク差である。これに応じて、（同様に図１１に示すように）関節Ｊ２のみが動く。図８の関節とは異なり、他の関節は予想外に動かない。言い換えれば、Ｊ２が外力からトルクの変化を受けている唯一の関節であるため、他の関節（例えば、Ｊ３及びＪ５）が移動しない。再び図１１を参照すると、マニピュレータ１４の動きは図１２の結果と一貫しており、関節Ｊ２のみが外力に応じて動く。
【００７１】
図１３は、実線を使用して第１の姿勢にあるマニピュレータ１４の側面図を示す。この例では、関節Ｊ２及びＪ３に外力が加えられる。システム１０及び方法は、上述したステップを実行して、仮想シミュレーション４２において外力を有効に補償する。コントローラ４０は、加えられたトルクの方向において（想像線で示す）所望の第２の姿勢への関節Ｊ２及びＪ３の動作を指令する。図１３におけるマニピュレータ１４の動きに対応する図１４は、（外力が関節トルク差のみに基づいて求められる場合の関節運動を示す図９と比較して）外力がこのセクションに記載したステップを使用して求められる場合の関節運動を示すグラフである。図１３において、Ｊ２及びＪ３に−０．５Ｎｍの関節トルク差が与えられる。比較の目的で、これは、図９においてＪ２及びＪ３に与えられたものと同じ関節トルク差である。これに応じて、関節Ｊ２及びＪ３のみが動く。図９における関節とは異なり、他の関節は予想外に動かず、いかなる関節も間違った方向に動かない。言い換えれば、Ｊ２及びＪ３が外力からトルクの変化を受けている唯一の関節であるため、他の関節（例えば、Ｊ５）が動かない。さらに、Ｊ２及びＪ３は、（他の方向ではなく）加えられたトルクの方向において動く。再び図１３を参照すると、マニピュレータ１４の動きは図１３の結果と一貫し、関節Ｊ２及びＪ３のみが外力に応じて動く。
【００７２】
いくつかの実施形態が上記の説明で論じられた。しかし、本明細書で論じる実施形態は、網羅的であるか又は本発明を任意の特定の形態に限定することを意図されない。使用された用語は、制限的であるのではなく、説明の言葉（words of description）の性質内にあることを意図される。多くの変更及び変形が、上記教示を考慮して可能であり、本発明は、具体的に述べられる以外の方法で実施することができる。
【００７３】
詳述された明細書から本発明の数多くの特徴及び利点が明らかであり、それゆえ、添付の特許請求の範囲が、本発明の真の趣旨及び範囲に入る本発明の全てのそのような特徴及び利点に及ぶことを意図している。さらに、当業者には数多くの変更及び変形が容易に思い浮かぶことになるので、本発明を図示及び説明されたのと全く同じ構成及び動作に限定することは望ましくなく、それゆえ、本発明の範囲内に入る、全ての適切な変更形態及び均等物が採用される場合がある。
【図１】
2019500925.tif 000029
【図２】
2019500925.tif 000030
【図３】
2019500925.tif 000031
【図４】
2019500925.tif 000032
【図５】
2019500925.tif 000033
【図６】
2019500925.tif 000034
【図７】
2019500925.tif 000035
【図８】
2019500925.tif 000036
【図９】
2019500925.tif 000037
【図１０】
2019500925.tif 000038
【図１１】
2019500925.tif 000039
【図１２】
2019500925.tif 000040
【図１３】
2019500925.tif 000041
【図１４】
2019500925.tif 000042
【手続補正書】
【提出日】平成30年7月11日(2018.7.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
器具と、
前記器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、
前記マニピュレータと通信し、仮想シミュレーションにおいて、仮想質量を有し、該仮想質量が前記関節のうちの少なくとも１つの周りの慣性を有する仮想剛体として前記器具を表すことにより、該器具の動力学をシミュレートするように構成されているコントローラと、
を備え、
前記コントローラは、（１）前記少なくとも１つの関節に対して予測関節トルクを求め、（２）前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求め、（３）前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求め、（４）前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算し、（５）該角加速度を前記仮想質量に投影して外力を求め、（６）前記仮想シミュレーションにおいて前記外力に応じて前記器具の動力学をシミュレートし、（７）前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するように構成されている、ロボットシステム。
【請求項２】
前記コントローラは、前記関節の各々１つに対して個々に、（１）前記予測関節トルクを求め、（２）前記予測関節トルクを前記実際の関節トルクと比較し、（３）前記仮想質量の前記慣性を求め、（４）前記角加速度を計算するように更に構成されている、請求項１に記載のロボットシステム。
【請求項３】
前記コントローラは、前記複数の関節を組み合わせて使用することにより、（５）前記角加速度を前記仮想質量に投影し、（６）前記器具の動力学をシミュレートするように更に構成されている、請求項１に記載のロボットシステム。
【請求項４】
前記コントローラは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得することにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項１〜３のいずれか一項に記載のロボットシステム。
【請求項５】
前記コントローラは、
前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求め、
前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求め、
前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像することにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項４に記載のロボットシステム。
【請求項６】
前記コントローラは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めることにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項４又は５に記載のロボットシステム。
【請求項７】
前記器具に加えられた入力された力を検知する力−トルクセンサを更に備える、請求項１〜６のいずれか一項に記載のロボットシステム。
【請求項８】
前記コントローラは、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記器具の動力学を再度シミュレートし、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するように更に構成されている、請求項７に記載のロボットシステム。
【請求項９】
器具と、該器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボットシステムを操作する方法であって、仮想シミュレーションが、前記関節のうちの少なくとも１つの周りの慣性を有する仮想質量を有する仮想剛体として前記器具を表し、該方法は、前記コントローラが、
前記少なくとも１つの関節に対して予測関節トルクを求めるステップと、
前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求めるステップと、
前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算するステップと、
前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
【請求項１０】
前記予測関節トルクを求めるステップ、該予測関節トルクを前記実際の関節トルクと比較するステップ、前記仮想質量の前記慣性を求めるステップ、及び前記角加速度を計算するステップは、各々、前記関節の各々１つに対して個々に実行される、請求項９に記載の方法。
【請求項１１】
前記角加速度を前記仮想質量に投影するステップ、及び前記器具の動力学をシミュレートするステップは、各々、前記複数の関節を組み合わせて使用することにより実行される、請求項９に記載の方法。
【請求項１２】
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得するステップを更に含む、請求項９〜１１のいずれか一項に記載の方法。
【請求項１３】
前記仮想質量の前記加速度を取得するステップは、
前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求めるステップと、
前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求めるステップと、
前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像するステップと、
を更に含む、請求項１２に記載の方法。
【請求項１４】
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めるステップを更に含む、請求項１２又は１３に記載の方法。
【請求項１５】
力−トルクセンサから、前記手術器具に加えられた入力された力を検知するステップを更に含む、請求項９〜１４のいずれか一項に記載の方法。
【請求項１６】
前記コントローラにより、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記器具の動力学を再度シミュレートするステップと、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するステップとを更に含む、請求項１５に記載の方法。
【請求項１７】
器具と、該器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボットシステムをバックドライブする方法であって、仮想シミュレーションが、前記関節の各々の周りの慣性を有する仮想質量を有する仮想剛体として前記器具を表し、該方法は、前記コントローラが、
各関節に対して個々に、予測関節トルクを求めるステップと、
各関節に対して個々に前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
各関節の周りの前記仮想質量の前記慣性を個々に求めるステップと、
前記関節トルク差及び前記慣性を用いて各関節の周りの角加速度を個々に計算するステップと、
前記複数の関節の前記角加速度を組み合わせて使用して、２自由度以上で前記仮想質量の加速度を取得するステップと、
２自由度以上で前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
詳述された明細書から本発明の数多くの特徴及び利点が明らかであり、それゆえ、添付の特許請求の範囲が、本発明の真の趣旨及び範囲に入る本発明の全てのそのような特徴及び利点に及ぶことを意図している。さらに、当業者には数多くの変更及び変形が容易に思い浮かぶことになるので、本発明を図示及び説明されたのと全く同じ構成及び動作に限定することは望ましくなく、それゆえ、本発明の範囲内に入る、全ての適切な変更形態及び均等物が採用される場合がある。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項１：
手術器具と、
前記手術器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、
前記マニピュレータと通信し、仮想シミュレーションにおいて、仮想質量を有し、該仮想質量が前記関節のうちの少なくとも１つの周りの慣性を有する仮想剛体として前記手術器具を表すことにより、該手術器具の動力学をシミュレートするように構成されているコントローラと、
を備え、
前記コントローラは、（１）前記少なくとも１つの関節に対して予測関節トルクを求め、（２）前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求め、（３）前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求め、（４）前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算し、（５）該角加速度を前記仮想質量に投影して外力を求め、（６）前記仮想シミュレーションにおいて前記外力に応じて前記手術器具の動力学をシミュレートし、（７）前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するように構成されている、ロボット手術システム。
請求項２：
前記コントローラは、前記関節の各々１つに対して個々に、（１）前記予測関節トルクを求め、（２）前記予測関節トルクを前記実際の関節トルクと比較し、（３）前記仮想質量の前記慣性を求め、（４）前記角加速度を計算するように更に構成されている、請求項１に記載のロボット手術システム。
請求項３：
前記コントローラは、前記複数の関節を組み合わせて使用することにより、（５）前記角加速度を前記仮想質量に投影し、（６）前記手術器具の動力学をシミュレートするように更に構成されている、請求項１に記載のロボット手術システム。
請求項４：
前記コントローラは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得することにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項１〜３のいずれか一項に記載のロボット手術システム。
請求項５：
前記コントローラは、前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求めることにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項４に記載のロボット手術システム。
請求項６：
前記コントローラは、前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求めることにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項５に記載のロボット手術システム。
請求項７：
前記コントローラは、前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像することにより、前記仮想質量の前記加速度を取得するように更に構成されている、請求項６に記載のロボット手術システム。
請求項８：
前記コントローラは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めることにより、（５）前記角加速度を前記仮想質量に投影して前記外力を求めるように更に構成されている、請求項４〜７のいずれか一項に記載のロボット手術システム。
請求項９：
前記手術器具に加えられた入力された力を検知する力−トルクセンサを更に備える、請求項１〜８のいずれか一項に記載のロボット手術システム。
請求項１０：
前記コントローラは、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記手術器具の動力学を再度シミュレートし、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するように更に構成されている、請求項９に記載のロボット手術システム。
請求項１１：
手術器具と、該手術器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボット手術システムを操作する方法であって、仮想シミュレーションが、前記関節のうちの少なくとも１つの周りの慣性を有する仮想質量を有する仮想剛体として前記手術器具を表し、該方法は、前記コントローラが、
前記少なくとも１つの関節に対して予測関節トルクを求めるステップと、
前記少なくとも１つの関節の前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
前記少なくとも１つの関節の周りの前記仮想質量の前記慣性を求めるステップと、
前記関節トルク差及び前記慣性を用いて前記少なくとも１つの関節の周りの角加速度を計算するステップと、
前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記手術器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
請求項１２：
前記予測関節トルクを求めるステップ、該予測関節トルクを前記実際の関節トルクと比較するステップ、前記仮想質量の前記慣性を求めるステップ、及び前記角加速度を計算するステップは、各々、前記関節の各々１つに対して個々に実行される、請求項１１に記載の方法。
請求項１３：
前記角加速度を前記仮想質量に投影するステップ、及び前記手術器具の動力学をシミュレートするステップは、各々、前記複数の関節を組み合わせて使用することにより実行される、請求項１１に記載の方法。
請求項１４：
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、前記複数の関節の前記角加速度を結合して６自由度（６ＤＯＦ）で前記仮想質量の加速度を取得するステップを更に含む、請求項１１〜１３のいずれか一項に記載の方法。
請求項１５：
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対して指令関節角度を実際の関節角度と比較して該関節の各々に対する関節角度差を求めるステップを更に含む、請求項１４に記載の方法。
請求項１６：
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対して前記仮想質量の第１の運動を前記仮想質量の第２の運動と比較して該関節の各々に対する運動差を求めるステップを更に含む、請求項１５に記載の方法。
請求項１７：
前記仮想質量の前記加速度を取得するステップは、前記関節の各々に対する前記関節角度差と該関節の各々に対する前記運動差とをヤコビ行列において写像するステップを更に含む、請求項１６に記載の方法。
請求項１８：
前記角加速度を前記仮想質量に投影して前記外力を求めるステップは、６ＤＯＦでの前記仮想質量の前記加速度を６ＤＯＦで前記仮想質量を定義する質量／慣性行列に入力して前記外力を求めるステップを更に含む、請求項１４〜１７のいずれか一項に記載の方法。
請求項１９：
力−トルクセンサから、前記手術器具に加えられた入力された力を検知するステップを更に含む、請求項１１〜１８のいずれか一項に記載の方法。
請求項２０：
前記コントローラにより、前記仮想シミュレーションにおいて前記入力された力及び前記外力の両方に応じて前記手術器具の動力学を再度シミュレートするステップと、前記入力された力及び前記外力の両方を考慮する前記仮想シミュレーションに従って前記関節アクチュエータの動作を再度指令するステップとを更に含む、請求項１９に記載の方法。
請求項２１：
器具と、該器具を支持し、複数の関節及び複数の関節アクチュエータを備えるマニピュレータと、該マニピュレータと通信するコントローラとを備えるロボットシステムをバックドライブする方法であって、仮想シミュレーションが、前記関節の各々の周りの慣性を有する仮想質量を有する仮想剛体として前記器具を表し、該方法は、前記コントローラが、
各関節に対して個々に、予測関節トルクを求めるステップと、
各関節に対して個々に前記予測関節トルクを実際の関節トルクと比較して関節トルク差を求めるステップと、
各関節の周りの前記仮想質量の前記慣性を個々に求めるステップと、
前記関節トルク差及び前記慣性を用いて各関節の周りの角加速度を個々に計算するステップと、
前記複数の関節の前記角加速度を組み合わせて使用して、２自由度以上で前記仮想質量の加速度を取得するステップと、
２自由度以上で前記角加速度を前記仮想質量に投影して外力を求めるステップと、
前記仮想シミュレーションにおいて前記外力に応じて前記器具の動力学をシミュレートするステップと、
前記仮想シミュレーションに従って前記関節アクチュエータの動作を指令するステップと、
を行うことを含む、方法。
【国際調査報告】
2019500925.tif 000043
2019500925.tif 000044
2019500925.tif 000045