(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-09
(54)【発明の名称】組織のパラメータに基づいてツールの動作を変更するためのロボットシステム、方法、及びソフトウェアプログラム
(51)【国際特許分類】
A61B 34/10 20160101AFI20241226BHJP
【FI】
A61B34/10
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024537517
(86)(22)【出願日】2022-12-16
(85)【翻訳文提出日】2024-06-20
(86)【国際出願番号】 US2022053172
(87)【国際公開番号】W WO2023121966
(87)【国際公開日】2023-06-29
(32)【優先日】2021-12-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507280594
【氏名又は名称】マコ サージカル コーポレーション
(74)【代理人】
【識別番号】100099623
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【氏名又は名称】田中 祐
(72)【発明者】
【氏名】クラナ,リシャブ
(72)【発明者】
【氏名】ウイリアムズ,ブラント
(72)【発明者】
【氏名】ムニーズ,エリック
(72)【発明者】
【氏名】シェン,デリン
(57)【要約】
コンピュータで実行される手術計画方法が提供される。この方法は、解剖学的ボリュームの解剖学的データと、ツールがツールパスに沿って移動する該ツールパスを含むパスデータとを取得することを含む。この方法はまた、ツールデータを取得することと、パスデータと解剖学的データとをマージすることと、ツールパスの点については、その点の位置を特定することと、その位置でツールの幾何学的形状をロードすることと、その位置でツールと解剖学的ボリュームとの間の交差部を特定することと、交差部内の解剖学的データの密度値を決定することと、交差部に関連するツール接触係数を計算することと、密度値及びツール接触係数に基づいてツールの計画されたフィードレート係数を設定することと、計画されたフィードレート係数を点に関連付けることとを行うことと、ツールパスの点に関連付けられた計画されたフィードレート係数を含むカッティング計画データを出力することとを含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、
前記解剖学的ボリュームと相互作用するために、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる前記ツールパスを含むパスデータを取得することであって、前記ツールがその間を連続的に通過することになる点によって前記ツールパスが画定されるものである、パスデータを取得することと、
前記ツールパスと相互作用することになる前記ツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの密度値を決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された密度値と前記計算されたツール接触係数とに基づいて前記ツールの計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することと
を含む、コンピュータにより実行される手術計画方法。
【請求項2】
解剖学的データを取得することは、前記解剖学的ボリュームに関連付けられた骨モデルを取得することをさらに含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項3】
パスデータを取得するステップが、
前記解剖学的ボリュームの前記骨モデルの計画された切除ボリュームと、
前記骨モデル用に選択されたインプラントモデルの幾何学的形状と
のうちの1つ以上に基づいて事前に決定された前記ツールパスを取得することをさらに含む、請求項2に記載のコンピュータにより実行される手術計画方法。
【請求項4】
解剖学的データを取得することは、前記解剖学的ボリュームのスライスを含む撮像データを取得することをさらに含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項5】
撮像データを取得することが、撮像時の切片及び傾きの値と、スライス厚と、患者の位置を含むDICOMデータとを取得することをさらに含む、請求項4に記載のコンピュータにより実行される手術計画方法。
【請求項6】
前記特定された位置において、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を特定することが、
前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を示す前記撮像データの1つ以上のスライスを特定すること
をさらに含む、請求項4に記載のコンピュータにより実行される手術計画方法。
【請求項7】
前記交差部内の前記解剖学的データの密度値を決定することが、
特定されたスライスごとに、前記交差部内に位置する前記撮像データの放射線密度値を決定することと、
前記1つ以上の特定されたスライスのそれぞれの前記交差部内に位置する放射線密度値を収集することと
をさらに含む、請求項6に記載のコンピュータにより実行される手術計画方法。
【請求項8】
前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定することは、
前記収集された放射線密度値に基づいて、前記特定された位置に対する前記解剖学的ボリュームの骨密度(BMD)係数を計算することと、
前記計算されたBMD係数に基づいて、前記ツールの前記計画されたフィードレート係数を設定することと
をさらに含む、請求項7に記載のコンピュータにより実行される手術計画方法。
【請求項9】
撮像データを取得することは、前記解剖学的ボリュームのCTスライスを取得することをさらに含み、
前記ツールの前記幾何学的形状は、前記ツールの3D幾何学的形状を含み、
前記ツールパスの前記少なくとも1つの点に対して、以下のこと、すなわち、前記特定された位置に前記ツールの前記3D幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記3D幾何学的形状と前記解剖学的ボリュームとの間に断面交差部があるCTスライスを特定することとを行い、
特定されたCTスライスごとに、前記断面交差部内の各ピクセルのハンスフィールド単位を決定することと、
前記特定された各CTスライスの前記断面交差部内の前記ピクセルから前記ハンスフィールド単位を収集することと
を行う、請求項8に記載のコンピュータにより実行される手術計画方法。
【請求項10】
前記1つ以上の特定されたスライスのそれぞれの前記交差部内に位置する前記放射線密度値を収集することは、前記収集された放射線密度値から、平均放射線密度値と、中央放射線密度値と、最大放射線密度値とのうちの1つ以上を特定することをさらに含み、
前記BMD係数を計算することは、前記平均放射線密度値と、前記中央放射線密度値と、前記最大放射線密度値とのうちの前記1つ以上を、前記BMD係数に変換することをさらに含む、
請求項8に記載のコンピュータにより実行される手術計画方法。
【請求項11】
前記ツールパスの前記少なくとも1つの点について、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を示す前記撮像データのスライスを特定した後に、特定されたスライスごとに、前記交差部の外側の前記ツールの前記幾何学的形状に対する、前記交差部内の前記ツールの前記幾何学的形状に関連する交差比を計算することによって、前記ツール接触係数を計算することをさらに含む、請求項10に記載のコンピュータにより実行される手術計画方法。
【請求項12】
前記平均放射線密度値と、前記中央放射線密度値と、前記最大放射線密度値とのうちの前記1つ以上を前記BMD係数に変換することが、前記平均放射線密度値と、前記中央放射線密度値と、前記最大放射線密度値とのうちの前記1つ以上に前記交差比を乗算することをさらに含む、請求項11に記載のコンピュータにより実行される手術計画方法。
【請求項13】
特定されたスライスごとに、所定の閾値を超えるハンスフィールド単位を有する前記ツールの前記幾何学的形状内のピクセルの量を決定する、請求項11に記載のコンピュータにより実行される手術計画方法。
【請求項14】
前記決定された密度値に基づいて前記特定された位置に対する前記解剖学的ボリュームの骨密度(BMD)係数を計算することをさらに含み、
前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定することは、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定することをさらに含む、
請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項15】
既定のBMD係数と既定のフィードレート係数との間の関連性を規定するルックアップテーブルにアクセスすることをさらに含み、
前記ツールパスの前記少なくとも1つの点について、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定することは、以下のこと、すなわち、前記ルックアップテーブル内で、前記計算されたBMD係数に最も近い前記既定のBMD係数を特定することと、前記ルックアップテーブル内の前記最も近い特定された既定のBMD係数に関連付けられた前記既定のフィードレート係数に基づいて前記計画されたフィードレート係数を設定することとをさらに含む、
請求項14に記載のコンピュータにより実行される手術計画方法。
【請求項16】
前記ツールパスの前記少なくとも1つの点について、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定することは、
前記計算されたBMD係数が最小閾値を下回るとの判定に応答して、前記計画されたフィードレート係数を最大フィードレート係数となるように設定することと、
前記計算されたBMD係数が最大閾値を超えているとの判定に応じて、前記計画されたフィードレート係数を最小フィードレート係数に設定することと
の1つ以上をさらに含む、請求項15に記載のコンピュータにより実行される手術計画方法。
【請求項17】
前記ツールパスの1点について、前記1点の位置での前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部から取得された相互作用座標を保存することであって、前記相互作用座標が、前記1点の前記位置での前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間のシミュレートされた相互作用の位置を示すものである前記保存することと、
前記1点に続く前記ツールパスの第2の点について、以下のこと、すなわち、前記解剖学的データに対する前記第2の点の位置を特定することと、前記ツールデータから前記第2の点の前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記第2の点の前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記第2の点の前記位置での前記交差部内の前記解剖学的データの密度値を決定することと、前記決定された密度値の座標を前記相互作用座標と比較することと、前記相互作用座標と同一の座標を持つ密度値を無視することとを行うことと
をさらに含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項18】
前記ツールパスの前記少なくとも1つの点について、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を越えて位置する密度値を無視することをさらに含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項19】
前記パスデータと前記解剖学的データとをマージすることが、前記パスデータと前記解剖学的データとを共通の座標系にマージすることをさらに含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項20】
前記カッティング計画データは、前記解剖学的ボリュームと相互作用するために、ロボットマニピュレータが前記ツールパスに沿って自律モードでツールを移動させることになる前記ツールパスを含む、請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項21】
前記ツールパスの各点について、以下のこと、すなわち、
前記解剖学的データに対する前記点の前記位置を特定することと、
前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、
前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を特定することと、
前記交差部内の前記解剖学的データの密度値を決定することと、
前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定することと、
前記計画されたフィードレート係数を前記点に関連付けることと
をさらに含み、
前記カッティング計画データを出力することが、前記ツールパスの各点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスをさらに含む、
請求項1に記載のコンピュータにより実行される手術計画方法。
【請求項22】
1つ以上のプロセッサによって実行されたとき、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体であって、前記コンピュータにより実行される手術計画ソフトウェアは、
解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、
前記解剖学的ボリュームと相互作用するために、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる前記ツールパスを含むパスデータを取得することであって、前記ツールがその間を連続的に通過することになる点によって前記ツールパスが画定されるものである、パスデータを取得することと、
前記ツールパスと相互作用することになる前記ツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの密度値を決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された密度値と前記計算されたツール接触係数とに基づいて、前記ツールの計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することと
を行うように構成されている、前記非一時的なコンピュータ可読媒体。
【請求項23】
前記手術計画ソフトウェアは、実行されたときに、前記解剖学的ボリュームに関連付けられた骨モデルを取得するようにさらに構成されていることによって、解剖学的データを取得する、請求項22に記載の非一時的なコンピュータ可読媒体。
【請求項24】
前記手術計画ソフトウェアは、実行されたときに、
前記解剖学的ボリュームの前記骨モデルの計画された切除ボリュームと、
前記骨モデル用に選択されたインプラントモデルの幾何学的形状と
のうちの1つ以上に基づいて事前に決定された前記ツールパスを取得するようにさらに構成されることによって、パスデータを取得する、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項25】
前記手術計画ソフトウェアは、実行されたときに、前記解剖学的ボリュームのスライスを含む撮像データを取得するようにさらに構成されることによって、解剖学的データを取得する、請求項22に記載の非一時的なコンピュータ可読媒体。
【請求項26】
前記手術計画ソフトウェアは、実行されたときに、撮像時の切片及び傾きの値と、スライス厚と、患者の位置を含むDICOMデータとを取得するようにさらに構成されることによって、撮像データを取得する、請求項25に記載の非一時的なコンピュータ可読媒体。
【請求項27】
前記手術計画ソフトウェアは、実行されたときに、
前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を示す前記撮像データの1つ以上のスライスを特定するようにさらに構成されることによって、前記特定された位置における前記ツールの幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を識別する、請求項25に記載の非一時的なコンピュータ可読媒体。
【請求項28】
前記手術計画ソフトウェアは、実行されたときに、
特定されたスライスごとに、前記交差部内に位置する前記撮像データの放射線密度値を決定することと、
前記1つ以上の特定されたスライスのそれぞれの前記交差部内に位置する放射線密度値を収集することと
を行うようにさらに構成されることによって、前記交差部内の前記解剖学的データの密度値を決定する、請求項27に記載の非一時的なコンピュータ可読媒体。
【請求項29】
前記手術計画ソフトウェアは、実行されたときに、
前記収集された放射線密度値に基づいて、前記特定された位置に対する前記解剖学的ボリュームの骨密度(BMD)係数を計算することと、
前記計算されたBMD係数に基づいて、前記ツールの前記計画されたフィードレート係数を設定することと
を行うようにさらに構成されることによって、前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定する、請求項28に記載の非一時的なコンピュータ可読媒体。
【請求項30】
前記手術計画ソフトウェアは、実行されたときに、前記解剖学的ボリュームのCTスライスを取得するようにさらに構成されることによって、撮像データを取得し、
前記ツールの前記幾何学的形状は、前記ツールの3D幾何学的形状を含み、
前記ツールパスの前記少なくとも1つの点について、前記手術計画ソフトウェアは、以下のこと、すなわち、前記特定された位置に前記ツールの前記3D幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記3D幾何学的形状と前記解剖学的ボリュームとの間に断面交差部があるCTスライスを特定することとを行うことと、
特定されたCTスライスごとに、前記断面交差部内の各ピクセルのハンスフィールド単位を決定することと、
前記特定された各CTスライスの前記断面交差部内の前記ピクセルから前記ハンスフィールド単位を収集することと
を行う、請求項29に記載の非一時的なコンピュータ可読媒体。
【請求項31】
前記手術計画ソフトウェアが、
前記収集された放射線密度値から平均放射線密度値と、中央放射線密度値と、最大放射線密度値とのうちの1つ以上を特定するようにさらに構成されることによって、前記1つ以上の特定されたスライスのそれぞれの前記交差部内に位置する前記放射線密度値を収集することと、
前記平均放射線密度値と、前記中央放射線密度値と、及び前記最大放射線密度値とのうちの前記1つ以上を、前記BMD係数に変換するようにさらに構成されることによって、前記BMD係数を計算することと
を行うようにさらに構成されている、請求項29に記載の非一時的なコンピュータ可読媒体。
【請求項32】
前記手術計画ソフトウェアが、前記ツールパスの前記少なくとも1つの点について、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を示す前記撮像データのスライスを特定した後に、特定されたスライスごとに、前記交差部の外側の前記ツールの前記幾何学的形状に対する、前記交差部内の前記ツールの前記幾何学的形状に関連する交差比を計算することによって、前記ツール接触係数を計算するように構成されている、請求項31に記載の非一時的なコンピュータ可読媒体。
【請求項33】
前記手術計画ソフトウェアは、実行されたときに、前記平均放射線密度値と、前記中央放射線密度値と、前記最大放射線密度値とのうちの前記1つ以上に前記交差比を乗算するようにさらに構成されることによって、前記平均放射線密度値と、前記中央放射線密度値と、前記最大放射線密度値とのうちの前記1つ以上を前記BMD係数に変換する、請求項32に記載の非一時的なコンピュータ可読媒体。
【請求項34】
前記手術計画ソフトウェアは、特定されたスライスごとに、所定の閾値を超えるハンスフィールド単位を有する前記ツールの前記幾何学的形状内のピクセルの量を決定することを行うようにさらに構成されている、請求項32に記載の非一時的なコンピュータ可読媒体。
【請求項35】
前記手術計画ソフトウェアが、
前記決定された密度値に基づいて前記特定された位置に対する前記解剖学的ボリュームの骨密度(BMD)係数を計算することを行うようにさらに構成されており、
前記手術計画ソフトウェアは、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定するようにさらに構成されることによって、前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定する、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項36】
前記手術計画ソフトウェアが、
既定のBMD係数と既定のフィードレート係数との間の関連性を規定するルックアップテーブルにアクセスすることを行うようにさらに構成されており、
前記ツールパスの前記少なくとも1つの点について、前記手術計画ソフトウェアが、以下のこと、すなわち、前記ルックアップテーブル内で前記計算されたBMD係数に最も近い前記既定のBMD係数を特定することと、前記ルックアップテーブル内の前記最も近い特定された既定のBMD係数に関連付けられた前記既定のフィードレート係数に基づいて前記計画されたフィードレート係数を設定することとを行うようにさらに構成されることによって、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定する、
請求項35に記載の非一時的なコンピュータ可読媒体。
【請求項37】
前記手術計画ソフトウェアは、実行されたときに、前記ツールパスの前記少なくとも1つの点について、以下のこと、すなわち、
前記計算されたBMD係数が最小閾値を下回るとの判定に応答して、前記計画されたフィードレート係数を最大フィードレート係数となるように設定することと、
前記計算されたBMD係数が最大閾値を超えているとの判定に応じて、前記計画されたフィードレート係数を最小フィードレート係数に設定することと
のうちの1つ以上を行うようにさらに構成されることによって、前記計算されたBMD係数に基づいて前記計画されたフィードレート係数を設定する、請求項36に記載の非一時的なコンピュータ可読媒体。
【請求項38】
前記手術計画ソフトウェアが、
前記ツールパスの1点について、前記1点の位置での前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部から取得された相互作用座標を保存することであって、前記相互作用座標が、前記1点の前記位置での前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間のシミュレートされた相互作用の位置を示す前記保存することと、
前記1点に続く前記ツールパスの第2の点について、以下のこと、すなわち、前記解剖学的データに対する前記第2の点の位置を特定することと、前記ツールデータから前記第2の点の前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記第2の点の前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記第2の点の前記位置での前記交差部内の前記解剖学的データの密度値を決定することと、前記決定された密度値の座標を前記相互作用座標と比較することと、前記相互作用座標と同一の座標を持つ密度値を無視することとを行うことと
を行うようにさらに構成されている、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項39】
前記手術計画ソフトウェアは、前記ツールパスの前記少なくとも1つの点に対して、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を越えて位置する密度値を無視することを行うようにさらに構成されている、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項40】
前記手術計画ソフトウェアは、実行されたときに、前記パスデータと前記解剖学的データとを共通の座標系にマージするようにさらに構成されることによって、前記パスデータと前記解剖学的データとをマージする、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項41】
前記カッティング計画データは、前記解剖学的ボリュームと相互作用するために、ロボットマニピュレータが前記ツールパスに沿って自律モードでツールを移動させることになる前記ツールパスを含む、請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項42】
前記手術計画ソフトウェアが、
前記ツールパスの各点について、以下のこと、すなわち、前記解剖学的データに対する前記点の前記位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の前記交差部を特定することと、前記交差部内の前記解剖学的データの密度値を決定することと、前記決定された密度値に基づいて前記ツールの前記計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記点に関連付けることとをさらに行うように構成されており、
前記手術計画ソフトウェアは、実行されたときに、前記ツールパスの各点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを出力するようにさらに構成されることによって、前記カッティング計画データを出力するようにさらに構成されている、
請求項23に記載の非一時的なコンピュータ可読媒体。
【請求項43】
ツールを支持し移動させるように構成されたロボットマニピュレータと、
前記ロボットマニピュレータに結合された制御システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体であって、前記コンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、前記解剖学的ボリュームと相互作用するためにロボットマニピュレータがツールパスに沿ってツールを移動させることになる前記ツールパスを含むパスデータを取得することであって、前記ツールがその間を連続的に通過することになる点によって前記ツールパスが画定されるものである、パスデータを取得することと、前記ツールパスと相互作用することになる前記ツールの幾何学的形状を含むツールデータを取得することと、前記パスデータと前記解剖学的データとをマージすることと、前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの密度値を決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された密度値と前記計算されたツール接触係数とに基づいて前記ツールの計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することとを行うように構成されている非一時的なコンピュータ可読媒体と
を含む前記制御システムと
を備える手術システムであって、
前記制御システムは、前記出力されたカッティング計画データを利用して、前記ツールが前記解剖学的ボリュームと相互作用できるようにするための前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数に従って、前記ツールを前記ツールパスに沿って移動させるように、前記ロボットマニピュレータを制御するものである、手術システム。
【請求項44】
解剖学的構造の幾何学的形状を含む解剖学的データを取得することと、
前記解剖学的構造と相互作用するために、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる前記ツールパスを含むパスデータを取得することであって、前記ツールがその間を連続的に通過することになる点によって前記ツールパスが画定されるものである、パスデータを取得することと、
前記ツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記ツールの前記幾何学的形状と前記解剖学的構造との間の相互作用に関連するツール接触係数を計算することと、前記計算されたツール接触係数に基づいて前記ツールの計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することと
を含むコンピュータにより実行される手術計画方法。
【請求項45】
解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、
多角形要素のメッシュを有する仮想物体の幾何学形状を含む仮想物体データを取得することと、
前記解剖学的データと前記仮想物体データとをマージして、前記密度値に基づいて前記メッシュの1つ以上の多角形要素のパラメータを決定することと、
前記仮想物体の前記1つ以上の多角形要素と相互作用するようになっている仮想モデルとしてツールが表される仮想シミュレーションを実施することと、
前記仮想物体の前記1つ以上の多角形要素と相互作用するツールの前記仮想モデルに応答して、前記パラメータに基づいて前記ツールの動作を変更することと
を含むコンピュータにより実行される方法。
【請求項46】
第1のフィードレートに従って前記ツールを動かすようにロボットマニピュレータに命令することと、
前記ツールが前記第1のフィードレートに従って移動する間、前記仮想モデルと前記仮想物体の前記1つ以上の多角形要素との間の相互作用を検出することと、
前記1つ以上の多角形要素に関連付けられた前記パラメータに基づいて第2のフィードレートを計算することと
を含み、
前記ツールの動作を変更することは、前記ロボットマニピュレータに前記第2のフィードレートで前記ツールを移動させるように命令することを含む、請求項45に記載のコンピュータにより実行される方法。
【請求項47】
ロボットマニピュレータに前記ツールを動かすよう命令することと、
前記ツールの前記仮想モデルを用いて、前記仮想物体の前記1つ以上の多角形要素を貫通することと、
前記1つ以上の多角形要素に関連付けられた前記パラメータに基づいて反力を計算することと、
前記仮想シミュレーションにおいて前記仮想モデルに前記反力を適用して、前記仮想モデルによる前記1つ以上の多角形要素の貫通を低減させることと
を含み、
前記ツールの動作を変更することは、前記仮想シミュレーションにおいて前記仮想モデルへの前記反力の印加に従って前記ツールを移動させて、前記仮想物体に対する前記ツールの動きを制約するように前記ロボットマニピュレータに命令することを含む、請求項45に記載のコンピュータにより実行される方法。
【請求項48】
解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、
多角形要素のメッシュを有する仮想物体の幾何学形状を含む仮想物体データを取得することと、
前記解剖学的データと前記仮想物体データとをマージして、前記密度値に基づいて前記メッシュの1つ以上の多角形要素のパラメータを決定することと
を含むコンピュータにより実行される方法。
【請求項49】
解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、
点によって画定されるツールパスを含むパスデータを取得することと、
前記ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの前記組織のパラメータを決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された組織のパラメータと前記計算されたツール接触係数とに基づいて前記ツールの計画されたフィードレート係数を設定することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することと
を行うようにコンピュータにより実行される手術計画ソフトウェアが構成されている、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体。
【請求項50】
前記コンピュータにより実行される手術計画ソフトウェアは、前記ツールのモータ上で所定のモータ電流を達成することに基づいて、前記ツールの前記計画されたフィードレート係数を設定するようにさらに構成されている、請求項49に記載の非一時的なコンピュータ可読媒体。
【請求項51】
前記コンピュータにより実行される手術計画ソフトウェアが、
前記決定された組織のパラメータ及び前記計算されたツール接触係数に基づいて前記ツールの出力姿勢を設定することと、
前記出力姿勢を前記少なくとも1つの点に関連付けることと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記出力姿勢を含む前記ツールパスを含む前記カッティング計画データを出力することと
を行うようにさらに構成されている、請求項49に記載の非一時的なコンピュータ可読媒体。
【請求項52】
前記コンピュータにより実行される手術計画ソフトウェアは、前記ツールパスの少なくとも1つの点に対する前記ツールの既定の姿勢を取得するようにさらに構成されることによって、パスデータを取得するように構成されている、請求項49に記載の非一時的なコンピュータ可読媒体。
【請求項53】
解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、
点によって画定されるツールパスを含むパスデータを取得することと、
前記ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの前記組織のパラメータを決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された組織のパラメータ及び前記計算されたツール接触係数に基づいて前記ツールの出力姿勢を設定することと、前記出力姿勢を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記出力姿勢を含む前記ツールパスを含むカッティング計画データを出力することと
を行うようにコンピュータにより実行される手術計画ソフトウェアが構成されている、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体。
【請求項54】
前記コンピュータにより実行される手術計画ソフトウェアは、前記ツールパスの少なくとも1つの点に対する前記ツールの既定の姿勢を取得するようにさらに構成されることによって、パスデータを取得するように構成されている、請求項53に記載の非一時的なコンピュータ可読媒体。
【請求項55】
1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体であって、前記コンピュータにより実行される手術計画ソフトウェアは、
解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、
点によって画定されるツールパスを含むパスデータを取得することと、
前記ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから、前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの前記組織のパラメータを決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された組織のパラメータと前記計算されたツール接触係数とに基づいて、前記ツールの計画されたフィードレート係数を設定し、前記ツールのモータで所定のモータ電流を達成することと、前記計画されたフィードレート係数を前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記計画されたフィードレート係数を含む前記ツールパスを含むカッティング計画データを出力することと
を行うようにコンピュータにより実行される手術計画ソフトウェアが構成されている、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体。
【請求項56】
解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、
点によって画定されるツールパスを含むパスデータを取得することと、
前記ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、
前記パスデータと前記解剖学的データとをマージすることと、
前記ツールパスの少なくとも1つの点について、以下のこと、すなわち、前記解剖学的データに対する前記点の位置を特定することと、前記ツールデータから前記特定された位置における前記ツールの前記幾何学的形状をロードすることと、前記特定された位置で前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の交差部を特定することと、前記交差部内の前記解剖学的データの前記組織のパラメータを決定することと、前記ツールの前記幾何学的形状と前記解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、前記決定された組織のパラメータと前記計算されたツール接触係数とに基づいてツール動作パラメータを設定することと、前記ツール動作パラメータを前記少なくとも1つの点に関連付けることとを行うことと、
前記ツールパスの前記少なくとも1つの点に関連付けられた前記ツール動作パラメータを含む前記ツールパスを含むカッティング計画データを出力することと
を行うようにコンピュータにより実行される手術計画ソフトウェアが構成されている、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年12月20日に出願された米国仮特許出願第63/291,566号に対する優先権及びこの米国仮特許出願の全ての利益を主張するものであり、この米国仮特許出願の内容全体を引用することにより本明細書の一部をなすものとする。
【0002】
本開示は、一般に、骨密度(bone density)といった組織のパラメータに基づいてツールの動作を変更するためのロボットシステム、方法、及びソフトウェアプログラムに関する。
【背景技術】
【0003】
手術部位において外科的処置を行うロボットシステムは、ベースと複数のリンク及び関節を有するマニピュレータと、マニピュレータに結合されたエンドエフェクタ(end effector)とを含むことが多い。多くの場合、エンドエフェクタは、手術部位で組織を除去するように設計されたエネルギーアプリケータを備えた手術ツールを含むかこれを支持する。
【0004】
エネルギーアプリケータは通常、手術部位の組織を除去するために、ツールパスに沿って動かされる。エネルギーアプリケータがツールパスに沿って移動する速度または速さは、ツールまたはエネルギーアプリケータ(energy applicator)の「フィードレート(feed rate)」として当業者に一般に知られている。
【0005】
従来のシステムは、フィードレートの手動ユーザ選択、骨密度(bone mineral density:骨密度、骨ミネラル密度、または骨塩密度)といった組織の特性、エネルギーアプリケータに加えられる力の検知、パスの曲率といった条件または入力を考慮して、フィードレートを調整または決定することを企図してきた。
【0006】
しかしながら、従来のフィードレート技術は、少なくとも患者の撮像データの詳細な分析と計画されたツールパスに対する解剖学的構造の密度とに基づいて、ツールパスフィードレートの綿密な事前計画を提供するという点で不十分である。例えば、フィードレートを決定する際に、従来の技術は、とりわけ、ツールパスに沿った点(複数可)で評価された解剖学的構造に対するツール幾何学的形状の交差の比率、または解剖学的構造の特定の部分が、ツールパスに沿った別の点でツールによってすでに除去されているかどうかを考慮することができない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
その結果として、従来のフィードレート技術は、切除部の寸法不足またはツールのスカイビング(tool skiving)による移植の適合性の問題、切除面におけるピットの形成、ツールによって加えられる最適以下のカッティング力など、最適とはいえない結果をもたらす可能性がある。これらの欠陥の少なくとも一部に対処する必要が依然として残っている。
【課題を解決するための手段】
【0008】
この発明の概要は、下記の発明を実施するための形態でさらに後述する概念の抜粋を、簡略化した形で紹介する。本概要は、特許請求されている主題の範囲を限定することを意図したものではなく、特許請求されている主題の重要な特徴または本質的な特徴を特定することを意図したものでもない。
【0009】
第1の態様では、コンピュータにより実行される手術計画方法が提供される。この方法は、解剖学的ボリューム(anatomical volume)の幾何学的形状(geometry:ジオメトリ)及び密度値を含む解剖学的データを取得することと、解剖学的ボリュームと相互作用(interact:インタラクション)するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定することと、ツールデータから、特定された位置におけるツールの幾何学的形状をロードすることと、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの密度値を決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数(tool contact factor)を計算し、決定された密度値と計算されたツール接触係数とに基づいて、ツールの計画されたフィードレート係数を設定し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを含む。
【0010】
第2の態様では、非一時的なコンピュータ可読媒体が提供される。非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されたとき、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されており、コンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定されるものである、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの密度値を決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された密度値と計算されたツール接触係数とに基づいて、ツールの計画されたフィードレート係数を設定し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを行うように構成されている。
【0011】
第3の態様では、手術システムが提供される。手術システムは、ツールを支持し移動させるように構成されたロボットマニピュレータと、ロボットマニピュレータに結合された制御システムであって、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されている非一時的なコンピュータ可読媒体であって、そのコンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、その解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定することと、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの密度値を決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された密度値と計算されたツール接触係数とに基づいて、ツールの計画されたフィードレート係数を設定し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを行うように構成されている、非一時的なコンピュータ可読媒体とを含む、制御システムとを備え、ここで、制御システムは、出力されたカッティング計画データを利用して、ツールが解剖学的ボリュームと相互作用できるようにするためのツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数に従って、ツールをツールパスに沿って移動させるように、ロボットマニピュレータを制御する。第3の態様による手術システムを動作させる方法もまた、提供される。
【0012】
第4の態様では、コンピュータにより実行される手術計画方法が提供される。このコンピュータにより実行される手術計画方法は、解剖学的構造の幾何学的形状を含む解剖学的データを取得することと、解剖学的構造と相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、計算されたツール接触係数に基づいてツールの計画されたフィードレート係数を設定し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを含む。第4の態様のコンピュータにより実行される方法を実行するための命令を含む非一時的なコンピュータ可読媒体、またはコンピュータプログラム製品も提供される。
【0013】
第5の態様では、コンピュータにより実行される方法が提供される。このコンピュータにより実行される方法は、解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、多角形要素のメッシュを有する仮想物体の幾何学形状を含む仮想物体データを取得することと、解剖学的データと仮想物体データとをマージ(merge:合体)することと、密度値に基づいてメッシュの1つ以上の多角形要素のパラメータを決定することと、ツールが1つ以上の多角形要素と相互作用することに応答して、パラメータに従って、ツールの動作を変更することとを含む。第5の態様のコンピュータにより実行される方法を実行するための命令を含む非一時的なコンピュータ可読媒体、またはコンピュータプログラム製品も提供される。
【0014】
第6の態様では、コンピュータにより実行される方法が提供される。このコンピュータにより実行される方法は、解剖学的ボリュームの幾何学的形状及び密度値を含む解剖学的データを取得することと、多角形要素のメッシュを有する仮想物体の幾何学形状を含む仮想物体データを取得することと、解剖学的データと仮想物体データとをマージ(merge:合体)して、密度値に基づいてメッシュの1つ以上の多角形要素のパラメータを決定することとを含む。第6の態様のコンピュータにより実行される方法を実行するための命令を含む非一時的なコンピュータ可読媒体、またはコンピュータプログラム製品も提供される。
【0015】
第7の態様では、非一時的なコンピュータ可読媒体が開示される。この非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されており、このコンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの組織のパラメータを決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された組織のパラメータと計算されたツール接触係数とに基づいて、ツールの計画されたフィードレート係数を設定し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを行うように構成されている。第7の態様のステップを実行するコンピュータにより実行される方法も提供される。
【0016】
第8の態様では、非一時的なコンピュータ可読媒体が開示される。この非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されており、コンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの組織のパラメータを決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された組織のパラメータと計算されたツール接触係数とに基づいて、ツールの出力姿勢を設定し、出力姿勢を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた出力姿勢を含むツールパスを含むカッティング計画データを出力することとを行うように構成されている。第8の態様のステップを実行するコンピュータにより実行される方法も提供される。
【0017】
第9の態様では、非一時的なコンピュータ可読媒体が開示される。この非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されたときに、コンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されており、コンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの組織のパラメータを決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された組織のパラメータと計算されたツール接触係数とに基づいて、ツールの計画されたフィードレート係数を設定し、ツールのモータで所定のモータ電流を達成し、計画されたフィードレート係数を少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられた計画されたフィードレート係数を含むツールパスを含むカッティング計画データを出力することとを行うように構成されている。第9の態様のステップを実行するコンピュータにより実行される方法も提供される。
【0018】
第10の態様では、非一時的なコンピュータ可読媒体は、1つ以上のプロセッサによって実行されたときに、このコンピュータにより実行される手術計画ソフトウェアを実施する命令が格納されており、コンピュータにより実行される手術計画ソフトウェアは、解剖学的ボリュームの幾何学的形状及び組織のパラメータを含む解剖学的データを取得することと、解剖学的ボリュームと相互作用するように、ロボットマニピュレータがツールパスに沿ってツールを移動させることになる該ツールパスを含むパスデータを取得することであって、ここで、ツールがその間を連続的に通過することになる点によってツールパスが画定される、取得することと、ツールパスと相互作用することになるツールの幾何学的形状を含むツールデータを取得することと、パスデータと解剖学的データとをマージ(merge:合体)することと、ツールパスの少なくとも1つの点について、解剖学的データに対する点の位置を特定し、ツールデータから、特定された位置におけるツールの幾何学的形状をロードし、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定し、交差部内の解剖学的データの組織のパラメータを決定し、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算し、決定された組織のパラメータと計算されたツール接触係数とに基づいて、ツール動作パラメータを設定し、ツール動作パラメータを少なくとも1つの点に関連付けることを行うことと、ツールパスの少なくとも1つの点に関連付けられたツール動作パラメータを含むツールパスを含む計画データを出力することとを行うように構成されている。第10の態様のステップを実行するコンピュータにより実行される方法も提供される。
【0019】
第11の態様では、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定することと、交差部内の解剖学的データの組織のパラメータを決定することと、ツールの幾何学的形状と解剖学的ボリュームとの間の相互作用に関連するツール接触係数を計算することと、決定された組織のパラメータ及び計算されたツール接触係数に基づいてツール動作パラメータを設定することとを含むコンピュータにより実行される方法が提供される。第11の態様のステップを実装するコンピュータプログラム製品またはロボットシステムも提供される。
【0020】
上記の態様のうちのいずれも、部分的または全体的に組み合わせることができる。
【0021】
上記の態様のいずれも、コンピュータにより実行される方法、ロボット手術システム、及び/または1つ以上のプロセッサ(つまり、コンピュータにより実行される方法、ロボット手術システム、または1つ以上のプロセッサのうちの1つ以上)によって実行されたときに、コンピュータにより実行される手術計画ソフトウェアまたはコンピュータプログラム製品を実施する命令が格納されている非一時的なコンピュータ可読媒体として実施することができる。
【0022】
上記の態様のいずれかは、そのような実施態様が全体的または部分的に利用されるかどうかにかかわらず、以下の実施態様のいずれかで利用することができる。
【0023】
一実施態様では、解剖学的データを取得することは、解剖学的ボリュームに関連付けられた骨モデルを取得することを含む。一実施態様では、パスデータを取得することは、解剖学的ボリュームの骨モデルの計画された切除ボリュームに基づいて予め定められたツールパスを取得することをさらに含む。一実施態様では、パスデータを取得することは、骨モデルに対して選択されたインプラントモデルの幾何学的形状に基づいて予め定められたツールパスを取得することをさらに含む。いくつかの実施態様では、骨モデルは患者特有の骨モデルであっても、統計的な骨モデルであってもよい。いくつかの実施態様では、パスデータを取得することは、ツールパスの少なくとも1つの点に対するツールの既定の姿勢を取得することを含む。骨モデルは、寛骨臼、関節窩、または任意のタイプの関節窩(ジョイントソケット)のものでありうる。骨モデルは、大腿骨、脛骨、上腕骨、または脊椎の一部(椎骨)の場合がある。一実施態様では、解剖学的データは、術前画像なしで(例えば、画像なしで)、または骨モデルを形成せずに取得される。骨モデルは患者特有のものである場合もあれば、同様の集団からの統計データセットに基づいている場合もあってよい。
【0024】
一実施態様では、解剖学的データを取得することは、解剖学的ボリュームのスライスを含む撮像データを取得することを含む。一実施態様では、撮像データを取得することは、画像撮影時の切片及び傾きの値、スライス厚、及び患者の位置を含むDICOMデータを取得することを含む。一実施態様では、解剖学的データをえることは解剖学的ボリュームのCTスライスをえることを含む。そのような実施態様では、ツールの幾何学的形状は、ツールの3D幾何学的形状を含み、ツールパスの少なくとも1点について、特定された位置でツールの3D幾何学的形状をロードすることと、特定された位置でツールの3D幾何学的形状と解剖学的ボリュームとの間に断面交差部があるCTスライスを特定することと、特定されたCTスライスごとに、断面交差部内の各ピクセルのハンスフィールド単位(Hounsfield unit)を決定することと、特定された各CTスライスの断面交差部内のピクセルからハンスフィールド単位を収集することとを含む。
【0025】
一実施態様では、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定することは、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を示す撮像データの1つ以上のスライスを特定することを含む。一実施態様は、ツールパスの少なくとも1つの点について、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を示す撮像データのスライスを特定した後に、特定されたスライスごとに、交差部の外側のツールの幾何学的形状に対する交差部内のツールの幾何学的形状に関連する交差比を計算することを含む。一実施態様は、特定されたスライスごとに、所定の閾値を超えるハンスフィールド単位を有するツールの幾何学的形状内のピクセルの量を決定することを含む。
【0026】
一実施態様では、交差部内の解剖学的データの密度値を決定するあるいは求めることは、特定されたスライスごとに、交差部内に位置する撮像データの放射線密度値を決定することを含む。一実施態様では、交差部内の解剖学的データの密度値を決定することは、1つ以上の特定されたスライスのそれぞれの交差部内に位置する放射線密度値を収集することを含む。一実施態様では、1つ以上の特定されたスライスのそれぞれの交差部内に位置する放射線密度値を収集することは、収集された放射線密度値から平均放射線密度値、中央放射線密度値、及び最大放射線密度値のうちの1つ以上を特定することを含む。
【0027】
一実施態様では、決定された密度値に基づいてツールの計画されたフィードレート係数を設定することは、収集された放射線密度値に基づいて、特定された位置に対する解剖学的ボリュームの骨密度(BMD:bone mineral density)係数を計算することを含む。一実施態様では、決定された密度値に基づいてツールの計画されたフィードレート係数を設定することは、計算されたBMD係数に基づいて、ツールの計画されたフィードレート係数を設定することを含む。一実施態様では、BMD係数を計算することは、平均放射線密度値、中央放射線密度値、及び/または最大放射線密度値(つまり、平均放射線密度値、中央放射線密度値、または最大放射線密度値のうちの1つ以上)をBMD係数に変換することを含む。一実施態様では、平均放射線密度値、中央放射線密度値、及び最大放射線密度値のうちの1つ以上をBMD係数に変換することは、平均放射線密度値、中央放射線密度値、及び最大放射線密度値のうちの1つ以上に交差比を乗算することを含む。一実施態様では、決定された密度値に基づいてツールの計画されたフィードレート係数を設定することは、計算されたBMD係数に基づいて、計画されたフィードレート係数を設定することを含む。一実施態様は、既定の骨密度(BMD)係数と既定のフィードレート係数との間の関連を規定するルックアップテーブルにアクセスすることを含む。このような実施態様では、ツールパスの少なくとも1つの点について、計算されたBMD係数に基づいて計画されたフィードレート係数を設定することは、ルックアップテーブル内で、計算されたBMDに最も近い既定のBMD係数を特定することと、ルックアップテーブル内で最も近い特定された既定のBMD係数に関連付けられた既定のフィードレート係数に基づいて、計画されたフィードレート係数を設定することとを含む。一実施態様では、ツールパスの少なくとも1つの点について、計算されたBMD係数に基づいて計画されたフィードレート係数を設定することは、計算されたBMD係数が最小閾値を下回っているとの判定に応じて、計画されたフィードレート係数を最大フィードレート係数に設定すること、及び/または計算されたBMD係数が最大閾値を超えているとの判定に応じて、計画されたフィードレート係数を最小フィードレート係数に設定すること(つまり、計算されたBMD係数が最小閾値を下回っているとの判定に応じて計画されたフィードレート係数を最大フィードレート係数に設定すること、または計算されたBMD係数が最大閾値を超えているとの判定に応じて計画されたフィードレート係数を最小フィードレート係数に設定すること、あるいはそれらの両方)を含む。一実施態様では、計画されたフィードレート係数を設定することは、ツールのモータで所定のモータ電流を達成することに基づいて、計画されたフィードレート係数を設定することを含む。
【0028】
1つの実施態様は、ツールパスの1点について、1点の位置でのツールの幾何学的形状と解剖学的ボリュームとの間の交差部から取得された相互作用座標を保存することであって、ここで、相互作用座標が、1点の位置でのツールの幾何学的形状と解剖学的ボリュームとの間のシミュレートされた相互作用の位置を示す保存することと、1点に続くツールパスの第2の点について、解剖学的データに対する第2の点の位置を特定することと、ツールデータから、第2の点の特定された位置におけるツールの幾何学的形状をロードすることと、第2の点の特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定することと、第2の点の位置での交差部内の解剖学的データの密度値を決定することと、決定された密度値の座標を相互作用座標と比較することと、相互作用座標と同一の座標を持つ密度値を無視することとを含む。
【0029】
一実施態様は、ツールパスの少なくとも1つの点について、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を越えて位置する密度値を無視することを含む。
【0030】
一実施態様では、パスデータと解剖学的データとをマージすることは、パスデータと解剖学的データとを共通の座標系にマージすることを含む。
【0031】
一実施態様では、カッティング計画データ(cut plan data)は、解剖学的ボリュームと相互作用するために、ロボットマニピュレータがツールパスに沿って自律モードでツールを移動させることになる該ツールパスを含む。
【0032】
一実施態様は、ツールパスの各点について、解剖学的データに対する点の位置を特定することと、ツールデータから、特定された位置におけるツールの幾何学的形状をロードすることと、特定された位置で、ツールの幾何学的形状と解剖学的ボリュームとの間の交差部を特定することと、交差部内の解剖学的データの密度値を決定することと、決定された密度値に基づいて、ツールの計画されたフィードレート係数を設定することと、計画されたフィードレート係数を点に関連付けることとを含み、カッティング計画データを出力することは、ツールパスの各点に関連付けられた計画されたフィードレート係数を含むツールパスをさらに含む。
【0033】
一実施態様では、ロボットマニピュレータは、第1のフィードレートに従ってツールを移動するように命令され、ツールが第1のフィードレートに従って移動する間に、仮想モデルと仮想物体の1つ以上の多角形要素との間の相互作用が検出される。第2のフィードレートは、1つ以上の多角形要素に関連付けられたパラメータに基づいて計算される。ツールの動作は、ロボットマニピュレータが第2のフィードレートでツールを移動させるように命令されるように変更される。
【0034】
一実施態様では、ロボットマニピュレータはツールを移動させるように命令される。ツールの仮想モデルは、仮想物体の1つ以上の多角形要素を貫通する。反力(reactive force)は、1つ以上の多角形要素に関連付けられたパラメータに基づいて計算される。仮想モデルによる1つ以上の多角形要素の貫通を低減するために、仮想シミュレーションにおいて反力が仮想モデルに適用される。ツールの動作は、仮想シミュレーションにおける仮想モデルへの反力の適用に従ってツールを動かすようにロボットマニピュレータが命令されて、仮想物体に対するツールの動きを制約するように変更される。
【0035】
添付の図面と関連して考えながら以下の詳細な説明を参照することによって、本開示の利点がより良く理解されると、本開示の利点が容易に認められよう。
【図面の簡単な説明】
【0036】
【
図1】ロボット手術システムの一実施態様の斜視図である。
【
図2】一実施態様による、ロボット手術システムを制御するための構成要素及びコントローラを含む制御システムのブロック図である。
【
図3】一実施態様による、ロボット手術システムによって利用されるソフトウェアプログラムの機能ブロック図である。
【
図4】カッティング計画データを決定する方法のフローチャートである。
【
図5】パスデータと解剖学的データとをマージする
図4の方法のステップを示す図である。
【
図7】
図1のロボット手術システムのツールと解剖学的ボリュームとの交差部の複数の断面図を含む。
【
図8】
図1のロボット手術システムのツールと解剖学的ボリュームとの交差部の断面図である。
【
図9】カッティング計画データを決定するために使用される保存された数量を示す表である。
【
図10】既定の骨密度係数と既定のフィードレート係数との間の関連を規定するルックアップテーブルである。
【
図11】ツールが第1の点に位置するときの、
図1のロボット手術システムのツールと解剖学的ボリュームとの交差部、及びツールが第2の点に位置するときの、
図1のロボット手術システムのツールと解剖学的ボリュームとの交差部の断面図である。
【
図12】仮想物体及び解剖学的データのステップを示す図である。
【
図13A】
図12の仮想物体と相互作用する
図1のロボット手術システムのツールの様々な図である。
【
図13B】
図12の仮想物体と相互作用する
図1のロボット手術システムのツールの様々な図である。
【発明を実施するための形態】
【0037】
[I.システム概要]
図1を参照すると、手術システム10が示されている。システム10は、骨または軟組織の治療など、患者12の手術部位または解剖学的ボリューム(AV:anatomical volume)を治療するのに有用である。
図1では、患者12は外科的処置を受けている。
図1の解剖学的構造は、患者12の大腿骨F及び脛骨Tを含む。外科的処置は、組織の除去または他の治療形態を含みうる。治療は、組織のカッティング、凝固、組織の病変破壊、他のin-situでの組織治療などを含みうる。一部の例では、外科的処置は、部分的または完全な膝関節または股関節置換手術、肩関節置換手術、脊椎手術、または足首手術を含む。一部の例では、システム10は、単顆膝関節インプラント、二顆膝関節インプラント、多顆膝関節インプラント、もしくは全膝関節インプラントを含む、股関節インプラント及び膝関節インプラントといった外科的インプラントにより置き換えられる物質を切除するように設計される。これらの種類のインプラントのうちの一部は、「Prosthetic Implant and Method of Implantation」と題する米国特許出願公開第2012/0330429号に示され、その開示は引用することにより本明細書の一部をなすものとする。本明細書に開示されるシステム10及び技術は、外科的または非外科的である他の処置を実行するために使用されてもよく、あるいはロボットシステムを利用する産業用途または他の用途で使用されてもよい。
【0038】
図1に示すように、システム10はマニピュレータ14を含む。マニピュレータカート17(
図1に示す)は、マニピュレータ14がマニピュレータカート17に固定されるようにマニピュレータ14を支持することができる。マニピュレータ14は、ベース16と、複数のリンク18とを有する。一例では、隣接するリンク18の対が関節Jの1つによって接続されている。リンク18は、集合的にマニピュレータ14の1つ以上のアーム(複数可)23を形成する。マニピュレータ14は、直列アーム構成(
図1に示される)、並列アーム構成、または任意の他の適切なマニピュレータ構成を有しうる。他の例では、複数のマニピュレータ14が、複数のアーム構成で利用されてよい。一例によれば、マニピュレータ14は、マニピュレータ14に関して少なくとも6自由度(DOF:degrees of freedom)を実施する6つの関節J1~J6を有する。マニピュレータ14は、任意の数の自由度を有してよく、任意の適切な数の関節Jを有してよく、冗長関節を有してよい。マニピュレータ14は、手術台に取り付けられてもよく、または患者によって部分的に支持されてもよい。
【0039】
各関節Jには、隣接するリンク18間に配置された関節モータ27といったアクチュエータが存在しうる。関節モータ27は、リンク18を回転させるように構成される。このように、リンク18の位置は関節モータ27によって設定される。各関節モータ27は、マニピュレータ14の内部の構造フレームに取り付けられてよい。一例では、関節モータ27は、永久磁石ブラシレスモータといったサーボモータである。関節モータ27は、同期モータ、ブラシ型DCモータ、ステッピングモータ、誘導モータといった他の構成を有してもよい。
【0040】
関節モータ27は、以下、関節角度と呼ぶ複数の角度位置のうちの1つに配置される。関節角度は、隣接するリンク18間の関節Jの角度である。各関節Jは、関節トルクを受けるように構成されてよい。関節トルクは、関節Jの回転またはねじりの「力」であり、関節Jの枢着点からある長さにかかる力の関数である。トルクセンサは、関節Jの関節トルクを測定するために1つ以上の関節モータ27に接続されてよい。あるいは、関節モータ27に印加される電流を表す信号を使用して、関節トルクを測定してよい。
【0041】
1つ以上の関節モータ27は、位置センサまたはエンコーダ19を備えることができる。簡潔にするために、1つの関節エンコーダ19が
図1に示されているが、他の関節エンコーダ19も同様に示されてよい。あるいは、その関節モータ27によって駆動される1つ以上のリンク18は、位置センサまたはエンコーダ19を備えてよい。エンコーダ19は、各関節Jの関節角度を測定しうる。一部の実施形態では、関節モータ27に対して1つ、動かされるリンク18に対して1つの2つのエンコーダを使用して、例えば、関節角度と、コンプライアントな伝達による関節モータ27と関節の間の変位とを平均することによって、関節角度を決定することができる。マニピュレータ14は、関節エンコーダ19を必ずしも必要とせず、代わりにまたは追加で、1つ以上の関節Jの関節モータ27に存在するモータエンコーダを利用してよい。また、マニピュレータ14は、回転関節(rotary joint)を必ずしも必要とせず、代わりにまたは追加で、1つ以上の直動関節(prismatic joint)を利用してよい。特定の関節Jは受動的に可動及びロック可能であってよく、他の関節Jは能動的に駆動されてよい。関節の種類の任意の適切な組み合わせが企図される。
【0042】
図1を参照すると、マニピュレータ14のベース16は通常、マニピュレータ14の一部であり、マニピュレータ14または一般的にシステム10の他の構成要素に固定基準座標系を提供する。通常、マニピュレータ座標系MNPLの原点は、ベース16の固定基準に規定される。ベース16は、リンク18のうちの1つ以上など、マニピュレータ14の任意の適切な部分に対して規定されてよい。代わりにまたは追加で、マニピュレータ14がマニピュレータカート17に物理的に取り付けられている場合など、ベース16は、マニピュレータカート17に対して規定されてよい。一例では、ベース16は、関節J1の軸と関節J2の軸の交差部に規定される。よって、関節J1及び関節J2は実際には可動構成要素であるが、それにもかかわらず関節J1と関節J2の軸の交差部は仮想固定基準姿勢であり、仮想固定基準姿勢は、位置及び向きの両方の固定基準を提供し、マニピュレータ14及び/またはマニピュレータカート17(つまり、マニピュレータ14またはマニピュレータカート17あるいはそれらの両方)に対して移動しない。他の例では、マニピュレータ14は、ハンドヘルドマニピュレータであってよく、ベース16はツールのベース部分(例えば、ユーザが自由に保持する部分、または定められたリンク機構に結合された部分)であり、ツール先端はベース部分に対して(例えば、半自律的に)可動である。ベース部分は、追跡される基準座標系を有し、ツール先端は、(例えば、モータ及び/または関節エンコーダ(つまり、モータまたは関節エンコーダあるいはそれらの両方)と順運動学計算を介して)基準座標系に対して計算されるツール先端座標系を有する。パスに対するツール先端の姿勢を決定できるため、ツール先端の動きをパスに追従するように制御することができる。このようなハンドヘルド構成は、「Surgical Instrument Including Housing, a Cutting Accessory that Extends from the Housing and Actuators that Establish the Position of the Cutting Accessory Relative to the Housing」と題する米国特許第9,707,043号に記載されているものと同様であってよく、その内容全体は、引用することにより本明細書の一部をなすものとする。
【0043】
ツール20は、マニピュレータ14に結合され、特定のモードで解剖学的構造と相互作用するようにベース16に対して可動である。ツール20は、特定の実施形態では、物理的な手術ツールであり、マニピュレータ14によって支持されるエンドエフェクタ22であるか、またはそのエンドエフェクタ22の一部を形成する。ツール20は、ユーザにより把持されてよい。マニピュレータ14及びツール20の1つの可能な配置は、「Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes」と題する米国特許第9,119,655号に記載され、その開示は引用することにより本明細書の一部をなすものとする。マニピュレータ14及びツール20は、代替構成で配置されてもよい。ツール20は、2014年3月15日に出願された「End Effector of a Surgical Robotic Manipulator」と題する米国特許出願公開第2014/0276949号に示されるものと同様であってよく、これは、引用することにより本明細書の一部をなすものとする。
【0044】
ツール20は、手術部位で患者12の組織に接触させて、その組織を除去するように設計されたエネルギーアプリケータ24を含む。一例では、エネルギーアプリケータ24は、バー25または手術用カッターである。ツール20は、マニピュレータ14に結合された近位端と、エネルギーアプリケータ24が配置される遠位端とを有するツールシャフト33を含むことができる。ツールシャフト33は、エネルギーアプリケータ24が組織を操作できるように、切断軸を中心に回転する。バー25は、ほぼ球形であってよく、球形の中心、半径(r)、及び直径を含みうる。あるいは、エネルギーアプリケータ24は、ドリルビット(drill bit)、ソーブレード(saw blade)、または超音波振動先端などであってよい。ツール20及び/またはエネルギーアプリケータ24(つまり、ツール20またはエネルギーアプリケータ24あるいはそれらの両方)は、任意の幾何学的特徴、例えば周囲長、円周、半径、直径、幅、長さ、体積、面積、表面/平面、(任意の1つ以上の軸に沿った)動作エンベロープ範囲などを含みうる。所望の治療を実行するために、幾何学的特徴を考慮して、手術部位の組織に対してツール20をどのように配置するかを決定してよい。本明細書に記載する実施形態の一部では、ツール中心点(TCP:tool center point)を有する球形のバーが、便宜上及び説明を容易にするために記載されるが、ツール20をいずれの特定の形態に限定することも意図していない。
【0045】
力-トルクセンサといったセンサSが、エンドエフェクタ22の近位に取り付けられてよい。力-トルクセンサSは、エンドエフェクタ22及び/またはツール20(つまり、エンドエフェクタ22またはツール20あるいはそれらの両方)がさらされる力及び/またはトルク(つまり、力またはトルクあるいはそれらの両方)に応じた可変信号を出力するように構成される。そうすることによって、力-トルクセンサSは、ユーザによってエンドエフェクタ22及び/またはツール20に加えられた入力された力を検知することを可能にする。入力された力を利用してマニピュレータ14の動きを制御し、ユーザが加えた力/トルクをエミュレートすることができる。力-トルクセンサSはまた、エネルギーアプリケータ24に加えられる外力を検知しうる。一実施態様では、力-トルクセンサSは6DOFセンサであり、力-トルクセンサSは、3つの相互に直交する力と、ツール20に加えられる直交する力の軸の周りの3つのトルクとを表す信号を出力するように構成される。追加でまたは代わりに、エンドエフェクタ22及び/またはツール20に加えられる入力された力は、関節トルクまたは関節モータ27上の電流センサを使用して決定されてよい。
【0046】
図1を参照すると、マニピュレータ14及び/またはマニピュレータカート17は、マニピュレータコントローラ26、または他の種類の制御ユニットを収容してよい。マニピュレータコントローラ26は、1つ以上のコンピュータ、またはマニピュレータ14の運動を指示する任意の他の適切な形態のコントローラを含みうる。マニピュレータコントローラ26は、中央処理装置(CPU)及び/または他のプロセッサ(つまり、中央処理装置(CPU)または他のプロセッサあるいはそれらの両方)と、メモリ(図示せず)と、ストレージ(図示せず)とを有することができる。マニピュレータコントローラ26には、後述されるソフトウェアがロードされる。プロセッサは、マニピュレータ14の動作を制御する1つ以上のプロセッサを含むことができる。プロセッサは、任意の種類のマイクロプロセッサ、マルチプロセッサ、及び/またはマルチコア処理システム(つまり、任意の種類のマイクロプロセッサ、マルチプロセッサ、またはマルチコア処理システムのうちの1つ以上)であってよい。マニピュレータコントローラ26は、追加でまたは代わりに、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、及び/または本明細書で記載されている機能を実行することができる他の適切なハードウェア、ソフトウェア、もしくはファームウェア(つまり、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、本明細書で記載されている機能を実行することができる他の適切なハードウェア、ソフトウェア、もしくはファームウェアのうちの1つ以上)を含みうる。プロセッサという用語は、いずれの実施態様も単一のプロセッサに限定することを意図するものではない。マニピュレータ14はまた、1つ以上のディスプレイ及び/または入力デバイス(例えば押しボタン、キーボード、マウス、マイクロホン(音声起動)、ジェスチャ制御デバイス、タッチスクリーンなど)(つまり、1つ以上のディスプレイまたは入力デバイスあるいはそれらの両方)を備えたユーザインタフェースUIを含みうる。
【0047】
ツール20は、ツール(例えば、ツール20の回転モータ)への電力を制御する、ツール20の動きを制御する、ツール20の洗浄/吸引を制御するなど、ツール20の動作を制御するためのツールコントローラ21を含みうる。ツールコントローラ21は、マニピュレータコントローラ26または他の構成要素と通信することができる。ツール20はまた、1つ以上のディスプレイ及び/または入力デバイス(例えば押しボタン、キーボード、マウス、マイクロホン(音声起動)、ジェスチャ制御デバイス、タッチスクリーンなど)を備えたユーザインタフェースUIを含みうる。マニピュレータコントローラ26は、マニピュレータ座標系MNPLといった座標系に対してツール20(例えばツール中心点(TCP))の状態(位置及び/または向き(つまり、位置又は向きあるいはそれらの両方))を制御する。マニピュレータコントローラ26は、(直線または角)速度、加速度、またはツール20の運動の他の導関数を制御することができる。
【0048】
TCPは、一例では、エネルギーアプリケータ24に規定された所定の基準点である。エネルギーアプリケータ24の形状は、TCP座標系において既知であるか、またはTCP座標系に対して規定される。一点のみが追跡されるように、TCPは、ツール20のバー25の球形中心に位置してよい。TCPは、エネルギーアプリケータ24の構成に応じて、様々な方法で規定されてよい。ツール20の制御は、中心点に限定されない。例えば、任意の適切なプリミティブ、メッシュなどを使用して、ツール20を表すことができる。
【0049】
ツール20のシャフト33は、他の座標系に対して既知の、または計算可能な(すなわち必ずしも静的ではない)姿勢を有する。マニピュレータ14は、関節/モータエンコーダ、または任意の他の非エンコーダ位置検知方法を使用して、シャフト33の姿勢を決定することができる。マニピュレータ14は、関節測定値を使用してシャフト33の姿勢を決定することができ、及び/またはシャフト33の姿勢を直接測定する(つまり、シャフト33の姿勢を決定する、またはシャフト33の姿勢を直接測定する、あるいはそれらの両方の)技術を採用することができる。
【0050】
図1に示すように、システム10はさらに、ナビゲーションシステム32を含みうる。ナビゲーションシステム32の一例は、2013年9月24日に出願された「Navigation System Including Optical and Non-Optical Sensors」と題する米国特許第9,008,757号に記載され、これは、引用することにより本明細書の一部をなすものとする。ナビゲーションシステム32は、様々な物体の動きを追跡する。このような物体には、例えば、マニピュレータ14、ツール20、及び解剖学的構造、例えば、大腿骨F及び脛骨Tが含まれる。ナビゲーションシステム32は、これらの物体を追跡して、(ナビゲーション)ローカライザ座標系LCLZに対する物体の状態情報を収集する。ローカライザ座標系LCLZの座標は、変換を使用して、マニピュレータ座標系MNPLに、及び/またはその逆に(つまり、マニピュレータ座標系MNPLに、またはその逆に、あるいはそれらの両方に)変換されてよい。
【0051】
ナビゲーションシステム32は、ナビゲーションコントローラ36、及び/または他の種類の制御ユニット(つまり、ナビゲーションコントローラ36、または他の種類の制御ユニット、あるいはそれらの両方)を収容するカートアセンブリ34を含む。ナビゲーションユーザインタフェースUIは、ナビゲーションコントローラ36と動作可能に通信する。ナビゲーションユーザインタフェースUIは、1つ以上のディスプレイ38を含む。ナビゲーションシステム32は、1つ以上のディスプレイ38を使用して、追跡対象物体の相対的な状態のグラフィック表現を、ユーザに表示することができる。ナビゲーションユーザインタフェースUIはさらに、ナビゲーションコントローラ36に情報を入力するための、あるいはナビゲーションコントローラ36の特定の態様を選択/制御するための、1つ以上の入力デバイスを含む。このような入力デバイスには、インタラクティブなタッチスクリーンディスプレイが含まれる。入力デバイスは、押しボタン、キーボード、マウス、マイクロホン(音声起動)、ジェスチャ制御デバイスといったうちの任意の1つ以上を含みうる。
【0052】
ナビゲーションシステム32はまた、ナビゲーションコントローラ36に結合されたナビゲーションローカライザ44を含む。一例では、ローカライザ44は、光学ローカライザであり、カメラユニット46を含む。カメラユニット46は、1つ以上の光学センサ50を収容する外側筐体(outer casing)48を有する。ローカライザ44は、それ自体のローカライザコントローラ49を含んでよく、さらにマシンビジョンカメラといったビデオカメラVCを含みうる。
【0053】
ナビゲーションシステム32は、1つ以上のトラッカを含む。一例では、トラッカは、ポインタトラッカPT、1つ以上のマニピュレータトラッカ52A、52B、第1の患者トラッカ54、及び第2の患者トラッカ56を含みうる。
図1に示される例では、マニピュレータトラッカ(すなわちトラッカ52A)は、ツール20にしっかりと取り付けられ、第1の患者トラッカ54は、患者12の大腿骨Fにしっかりと固定され、第2の患者トラッカ56は、患者12の脛骨Tにしっかりと固定される。この例では、患者トラッカ54、56は、骨の一部にしっかりと固定される。ポインタトラッカPTは、解剖学的構造をローカライザ座標系LCLZに位置合わせするために使用されるポインタPにしっかりと固定される。マニピュレータトラッカ52A、52Bは、ツール20に加えて、またはツール20以外に、ベース16などマニピュレータ14の任意の適切な構成要素に(すなわちトラッカ52B)、またはマニピュレータ14の任意の1つ以上のリンク18に固定されてよい。トラッカ52A、52B、54、56、PTは、任意の適切な方法で各構成要素に固定されてよい。例えば、トラッカは、各トラッカとそれが関連付けられている物体との関係(測定値)を決定するのに適切な(補足的な)方法がある限り、堅固に固定されていても、柔軟に接続されていても(光ファイバ)、または物理的にまったく接続されていなくても(超音波)よい。
【0054】
トラッカのうちの任意の1つ以上は、アクティブマーカ58を含みうる。アクティブマーカ58は、発光ダイオード(LED)を含みうる。あるいは、トラッカ52A、52B、54、56、PTは、カメラユニット46から放出された光を反射する反射器といったパッシブマーカを有しうる。本明細書に具体的に記載されていない他の適切なマーカが利用されてもよい。
【0055】
ローカライザ44は、トラッカ52A、52B、54、56、PTを追跡して、トラッカ52A、52B、54、56、PTの状態を判断し、これらの状態は、トラッカがそれぞれ取り付けられた物体の状態にそれぞれ対応する。ローカライザ44は、既知の三角測量技術を実行して、トラッカ52A、52B、54、56、PT及び関連付けられた物体の状態を判断しうる。ローカライザ44は、トラッカ52A、52B、54、56、PTの状態を、ナビゲーションコントローラ36に提供する。一例では、ナビゲーションコントローラ36は、トラッカ52A、52B、54、56、PTの状態を判断し、マニピュレータコントローラ26に通信する。本明細書で使用される場合、物体の状態は、追跡対象物体の位置及び/または向き、あるいは位置及び/または向きの均等物/導関数を規定するデータを含みうるが、これらに限定されない。例えば、状態は、物体の姿勢であってよく、直線速度データ及び/または角速度データ(つまり、直線速度データまたは角速度データあるいはそれらの両方)などを含みうる。
【0056】
ナビゲーションコントローラ36は、1つ以上のコンピュータ、または任意の他の適切な形態のコントローラを含みうる。ナビゲーションコントローラ36は、中央処理装置(CPU)及び/または他のプロセッサと、メモリ(図示せず)と、ストレージ(図示せず)とを有する。プロセッサは、任意の種類のプロセッサ、マイクロプロセッサ、またはマルチプロセッサシステムであってよい。ナビゲーションコントローラ36には、ソフトウェアがロードされる。ソフトウェアは、例えば、ローカライザ44から受信した信号を、追跡されている物体の位置及び向きを表すデータに変換する。ナビゲーションコントローラ36は、追加でまたは代わりに、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、及び/または本明細書に記載される機能を実行することができる他の適切なハードウェア、ソフトウェア、もしくはファームウェアを含みうる。プロセッサという用語は、単一のプロセッサに限定することを意図するものではない。
【0057】
物体の状態を決定するために三角測量技術を使用するナビゲーションシステム32の一例が示されるが、ナビゲーションシステム32は、マニピュレータ14、ツール20、及び/または患者12を追跡するための任意の他の適切な構成(つまり、マニピュレータ14、ツール20、または患者12を追跡するための任意の他の適切な構成のうちの1つ以上)を有しうる。別の例では、ナビゲーションシステム32及び/またはローカライザ44(つまり、ナビゲーションシステム32またはローカライザ44あるいはそれらの両方)は、超音波ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合された超音波撮像デバイスを含みうる。超音波撮像デバイスは、上述の物体のうちのいずれか、例えばマニピュレータ14、ツール20、及び/または患者12(つまり、マニピュレータ14、ツール20、または患者12のうちの1つ以上)を撮像し、超音波画像に基づいてナビゲーションコントローラ36への状態信号を生成する。超音波画像は、2D、3D、または両方の組み合わせであってよい。ナビゲーションコントローラ36は、ほぼリアルタイムで画像を処理し、物体の状態を決定してよい。超音波撮像デバイスは、任意の適切な構成を有してよく、
図1に示されるカメラユニット46とは異なってよい。
【0058】
別の例では、ナビゲーションシステム32及び/またはローカライザ44は、無線周波数(RF)ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合されたRFトランシーバを含みうる。マニピュレータ14、ツール20、及び/または患者12は、それらに取り付けられたRFエミッタまたはトランスポンダを含みうる。RFエミッタまたはトランスポンダは、受動的であってもよく、能動的に通電されてもよい。RFトランシーバは、RF追跡信号を送信し、RFエミッタから受信したRF信号に基づいて、ナビゲーションコントローラ36への状態信号を生成する。ナビゲーションコントローラ36は、受信したRF信号を分析して、RF信号に相対的状態を関連付けてよい。RF信号は、任意の適切な周波数であってよい。RFトランシーバは、RF信号を効果的に使用して物体を追跡するために、任意の適切な位置に配置されてよい。さらに、RFエミッタまたはトランスポンダは、
図1に示されるトラッカ52A、52B、54、56、PTとは大きく異なることのできる任意の適切な構造的構成を有しうる。
【0059】
さらに別の例では、ナビゲーションシステム32及び/またはローカライザ44は、電磁ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合されたEMトランシーバを含みうる。マニピュレータ14、ツール20、及び/または患者12は、任意の適切な磁気トラッカ、電磁トラッカ、誘導トラッカといったEM構成要素を含みうる。トラッカは、受動的であってもよく、能動的に通電されてもよい。EMトランシーバは、EM場を生成し、状態を生成する。このようなナビゲーションシステム32の例は、
図1に示されるナビゲーションシステム32の構成とは異なる構造的構成を有しうる。
【0060】
ナビゲーションシステム32は、本明細書に具体的に記載されていない任意の他の適切な構成要素または構造を有しうる。さらに、示されるナビゲーションシステム32に関して前述した技術、方法、及び/または構成要素(つまり、技術、方法、または構成要素のうちの1つ以上)のうちのいずれも、本明細書で記載されるナビゲーションシステム32の他の例のうちのいずれに対しても実施または提供されてよい。例えば、ナビゲーションシステム32は、慣性追跡のみ、または追跡技術の任意の組み合わせを利用してよく、追加でまたは代わりに、光ファイバベース追跡、マシンビジョン追跡などを含みうる。
【0061】
図2を参照すると、システム10は、制御システム60を含み、制御システム60は、他の構成要素の中でも特に、マニピュレータコントローラ26、ナビゲーションコントローラ36、及びツールコントローラ21を含む。制御システム60は、
図3に示す1つ以上のソフトウェアプログラム及びソフトウェアモジュールをさらに含む。ソフトウェアモジュールは、マニピュレータコントローラ26、ナビゲーションコントローラ36、ツールコントローラ21、またはこれらの任意の組み合わせにおいて、データを処理してシステム10の制御を支援するように動作する1つ以上のプログラムの一部であってよい。ソフトウェアプログラム及び/またはモジュール(つまり、ソフトウェアプログラムまたはモジュールあるいはそれらの両方)は、マニピュレータコントローラ26、ナビゲーションコントローラ36、ツールコントローラ21、またはこれらの組み合わせ上の非一時的メモリ64に記憶されたコンピュータ可読命令を含み、これは、コントローラ21、26、36の1つ以上のプロセッサ70により実行される。メモリ64は、RAM、不揮発性メモリといった任意の適切な構成のメモリであってよく、ローカルで、またはリモートデータベースから実施されてよい。さらに、ユーザにプロンプト表示及び/または通信(つまり、プロンプト表示または通信あるいはそれらの両方)を行うためのソフトウェアモジュールは、1つ以上のプログラムの一部を形成してよく、マニピュレータコントローラ26、ナビゲーションコントローラ36、ツールコントローラ21、またはこれらの任意の組み合わせのメモリ64に記憶された命令を含みうる。ユーザは、ナビゲーションユーザインタフェースUIまたは他のユーザインタフェースUIの入力デバイスのうちのいずれかとインタラクトして、ソフトウェアモジュールと通信してよい。ユーザインタフェースソフトウェアは、マニピュレータコントローラ26、ナビゲーションコントローラ36、及び/またはツールコントローラ21(つまり、マニピュレータコントローラ26、ナビゲーションコントローラ36、またはツールコントローラ21のうちの1つ以上)とは別個のデバイスで実行されてよい。
【0062】
制御システム60は、本明細書に記載される機能及び方法を実行するのに適した任意の適切な構成の入力デバイス、出力デバイス、及び処理デバイスを含みうる。制御システム60は、マニピュレータコントローラ26、ナビゲーションコントローラ36、もしくはツールコントローラ21、またはこれらの任意の組み合わせを含みうる、あるいはこれらのコントローラのうちの1つのみを含みうる。これらのコントローラは、
図2に示す有線バスもしくは通信ネットワークを介して、無線通信を介して、またはその他の方法で通信しうる。制御システム60は、コントローラとも称されてよい。制御システム60は、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、センサ、ディスプレイ、ユーザインタフェース、インジケータ、及び/または本明細書に記載の機能を実行することができる他の適切なハードウェア、ソフトウェア、もしくはファームウェアを含みうる。
【0063】
図3を参照すると、制御システム60によって使用されるソフトウェアは、解剖学的データ65を利用することができる。解剖学的データ65は、患者12の解剖学的ボリュームAVの撮像データを含みうる。撮像データは、MRI、X線/蛍光透視法、CT、及び/または超音波(つまり、MRI、X線/蛍光透視法、CT、または超音波のうちの1つ以上)といった任意の適切な画像化モダリティを介して取得することができる。撮像データは、解剖学的ボリュームAVの幾何学的形状を含むか、またはそれを導出するために使用されうる。例えば、撮像データは、組み合わせて解剖学的ボリュームAVの幾何学的形状を形成するCTスライスといった撮像されたスライスを含むことができる。解剖学的データ65はまた、解剖学的ボリュームAVの、医用におけるデジタル画像と通信(DICOM:Digital Imaging and Communications in Medicine)データを含むことができ、このデータは、各スライスの切片及び傾きの値、スライス厚、及び患者12の撮像時の位置を含みうる。
【0064】
解剖学的ボリュームAVの幾何学的形状は、2Dまたは3Dの幾何学的形状であってもよい。
図5を参照すると、3D幾何学的形状が解剖学的モデルAMを使用して表されている。
図6において、解剖学的モデルAMは、患者12の寛骨臼AMの3D骨モデルである。説明したように、骨モデルは、大腿骨、脛骨、肩甲骨(関節窩)、上腕骨、椎骨といった他の任意のタイプの骨であってもよい。解剖学的モデルAMは、解剖学的ボリュームAVのCTスライスといった画像化されたスライスから形成されうる。さらに、3D骨モデルは、患者特有の骨モデル(例えば、患者12の骨に基づく骨モデル)または統計的骨モデル(例えば、代表的な患者の骨に基づく骨モデル)であってもよい。骨モデルは、撮像データの手動または自動セグメンテーション、統計的骨モデルのモーフィングといった任意の適切な方法で形成することができる。
【0065】
解剖学的データ65はまた、解剖学的ボリュームAVの密度値DVを含みうる。例えば、
図5を参照すると、解剖学的データ65は、解剖学的モデルAMに関連付けられた放射線密度値DVを含むことができる。放射線密度値DVは、解剖学的モデルAMの座標、ピクセル、及び/またはボクセル(voxel)(つまり、座標、ピクセル、またはボクセルのうちの1つ以上)にマッピングされうる。このように、解剖学的データ65は、解剖学的モデルAMを提供することに加えて、解剖学的モデルAMに対応する密度値DVも提供する。密度値DVは、任意の適切な密度値とすることができる。例えば、密度値DVは、
図5に示すように、ハンスフィールド単位(HU:Hounsfield unit)で測定することができる。密度値DVは、任意の適切な技術を使用して決定または導出することができる。例えば、密度値DVは、解剖学的ボリュームAVの導電率測定から検出することができる。別の例として、密度値DVは、解剖学的構造と同時に画像化される密度ファントム(density phantom)を使用して決定されうる。密度ファントムは、骨密度測定、吸光光度法、定量的コンピュータ断層撮影法、超音波検査、二重エネルギーX線吸収測定法(DEXA:dual-energy X-ray absorptiometry)、走査型電子顕微鏡法(SEM)、または任意の他のタイプの画像解析などを使用して画像化されうる。密度値DV(density value)は、DICOMデータに含めることができる。密度値は、例えば手術室のCTスキャン装置を使用して手術中に取得することもできる。
【0066】
制御システム60は、密度値DVを正規化するように構成されうる。場合によっては、密度値DVは、とりわけ、解剖学的ボリュームAVを画像化するために使用される画像化モダリティ及び/またはシステム(つまり、画像化モダリティまたはシステムあるいはそれらの両方)に応じて変化しうる。例えば、解剖学的ボリュームAVがMRIまたはCTを使用してスキャンされる場合には、密度値DVは変化する可能性がある。別の例として、密度値DVは、解剖学的ボリュームAVを画像化するために使用されるスキャナの種類またはブランドに基づいて変化しうる。そのような場合、制御システム60は、本明細書に記載の技術に対する密度値DVの一貫した解釈または評価を提供するために、密度値DVを正規化することができる。一例では、制御システム60は、解剖学的ボリュームAVを用いて画像化される密度ファントムのパラメータに基づいて密度値DVを正規化または較正することがある。場合によっては、制御システム60は、解剖学的ボリュームAVと相互作用するようにツール20を制御し、相互作用に関連する力及びトルクを測定することによって、密度値DVを正規化することができる。例えば、制御システム60は、解剖学的ボリュームAVの組織をカッティングし、ツール20(例えば、ツール20のモータ27)にかかる力を測定するように、ツール20を制御することができる。密度値DVは、制御システム60が、ツール20に加わる測定された力を生の密度値と比較することによって、正規化することができる。
【0067】
図3を参照すると、制御システム60によって使用されるソフトウェアは、境界ジェネレータ66を含みうる。
図6に示すように、境界ジェネレータ66は、ツール20の動き及び/または動作(つまり、動きまたは動作あるいはそれらの両方)を制約するように仮想物体71を生成するソフトウェアプログラムまたはモジュールである。仮想物体71は、仮想境界とすることができ、1次元、2次元、または3次元であってよく、点、線、軸、軌道、平面、または複雑な形状を含む他の形を含むことができる。一部の実施形態では、仮想物体71は、多角形または三角形のメッシュによって画定される表面である。仮想物体71は、解剖学的モデルAMに関して規定することができ、ツール20による物質の除去が許可される解剖学的モデルAMの領域を、ツール20による物質の除去が禁止される解剖学的モデルAMの領域から、規定することができる。
図5の例では、仮想物体71は、股関節置換手術の寛骨臼コンポーネントの領域の輪郭を描く3D境界であり、寛骨臼の3D解剖学的モデルAMに関連付けられる。解剖学的モデルAMは、仮想物体71が解剖学的モデルAMに関連付けられるように、1つ以上の患者トラッカ54、56に位置合わせされる。仮想物体71は、インプラント特有であってよく、例えば、インプラントのサイズ、形状、体積などに基づいて画定されてよい、及び/または患者に特有であってよく、例えば、患者の解剖学的構造に基づいて画定されてよい(つまり、インプラント特有であってよく、または患者に特有であってよく、あるいはそれらの両方であってもよい)。仮想物体71は、術前、術中、またはそれらの組み合わせで作成されてよい。換言すれば、仮想物体71は、外科的処置が始まる前、外科的処置中(組織除去中を含む)、またはそれらの組み合わせで画定されてよい。いずれの場合でも、制御システム60は、仮想物体71をメモリ内に記憶/メモリから検索することと、メモリから仮想物体71を取得することと、術前に仮想物体71を作成することと、術中に仮想物体71を作成することとなどによって仮想物体71を取得する。
【0068】
マニピュレータコントローラ26及び/またはナビゲーションコントローラ36(つまり、マニピュレータコントローラ26またはナビゲーションコントローラ36あるいはそれらの両方)は、仮想物体71に関連するツール20の状態を追跡する。一例では、TCPの状態は、仮想シミュレーションを介して仮想剛体モデルに適用される力を判定する目的で、仮想物体71に対して測定される。この判定は、一例では、ツール20が仮想物体71に対して所望の位置関係に留まるように(例えば、仮想物体71を越えて移動しないように)行うことができる。仮想シミュレーションの結果は、マニピュレータ14に命令される。制御システム60は、物理的な境界/障壁の存在下で物理的なハンドピースが応答する方法をエミュレートする方法で、マニピュレータ14を制御/配置する。境界ジェネレータ66は、マニピュレータコントローラ26に実装されてよい。代わりに、境界ジェネレータ66は、ナビゲーションコントローラ36といった他の構成要素に実装されてよい。
【0069】
図3を参照すると、パスジェネレータ68は、制御システム60によって実行される別のソフトウェアプログラムまたはモジュールである。一例では、パスジェネレータ68は、マニピュレータコントローラ26によって実行され、パスデータ73を生成する。パスデータ73は、マニピュレータ14が解剖学的ボリュームAV(anatomical volume)と相互作用するためにツール20を移動させるツールパスTP(tool path)を含むことができる。例えば、ツール20は、インプラントを受け入れるように解剖学的ボリュームAVを準備するために、ツールパスTPを横断して、解剖学的ボリュームAVの部分を除去することができる。ツールパスTPは、複数のパスセグメントPSを含みうる、または単一のパスセグメントPS(path segment)を含みうる。パスセグメントPSは、直線セグメント、曲線セグメント、それらの組み合わせなどであってよい。ツールパスTPはまた、解剖学的モデルAM(anatomical model)に対して規定されてよい。ツールパスTPは、解剖学的モデルAMに対して選択されたインプラントモデルの幾何学的形状、及び/または解剖学的モデルAMの計画された切除ボリューム(つまり、インプラントモデルの幾何学的形状、または解剖学的モデルAMの計画された切除ボリューム、あるいはそれらの両方)に基づいて、予め決定されうる。つまり、ツールパスTPは、インプラント特有であってよく、例えば、インプラントのサイズ、形状、体積などに基づいて規定されてよく、及び/または患者特有であってよく、例えば、患者の解剖学的構造に基づいて規定されてよい。場合によっては、パスデータ73は、どのツールパスTPがカッティング性能を最適化するかを決定するために評価される、潜在的なツールパスTPのセットを含むことができる。
【0070】
場合によっては、パスデータ73は、ツール20のシャフト33の既定の姿勢を含むこともできる。例えば、シャフト33の既定の姿勢には、マニピュレータ座標系MNPLに対するシャフト33の状態(例えば、位置及び/または向き)が含まれてもよい。既に述べたように、マニピュレータ14は、関節/モータエンコーダ、または任意の他の非エンコーダ位置検知方法を使用して、シャフト33の姿勢を決定することができる。したがって、既定の姿勢はまた、関節/モータエンコーダの検知された読み取り値、または他の何らかの非エンコーダ位置検知方法の観点から提供されてもよい。したがって、パスデータ73は、ツールパスTPだけでなく、ツールパスTPに沿ったシャフト33の既定の姿勢を含むこともできる。例えば、パスデータ73は、ツールパスTPのパスセグメントPSに対応するシャフト33の既定の姿勢を含むことができる。
【0071】
本明細書に記載される1つのバージョンでは、ツールパスTPは、組織除去パスとして定められるが、他のバージョンでは、ツールパスTPは、組織除去以外の治療に使用されてよい。本明細書に記載される組織除去パスの一例は、ミリングパス(milling path)72を含む。「ミリングパス」という用語は一般に、解剖学的構造をミリングするためのターゲット(target:標的)部位付近のツール20のパスを指し、ツール20がパスの全期間にわたって解剖学的構造を動作可能にミリングすることを必要とすることを意図するものではないことを理解されたい。例えば、ミリングパス72は、ツール20がある位置から別の位置にミリングせずに移行する部分またはセグメントを含みうる。さらに、組織焼灼など、ミリングパス72に沿った他の形態の組織除去を採用してよい。ミリングパス72は、術前、術中、またはそれらの組み合わせで作成される既定の経路であってよい。換言すれば、ミリングパス72は、外科的処置が始まる前、外科的処置中(組織除去中を含む)、またはそれらの組み合わせで規定されてよい。いずれの場合でも、制御システム60は、ミリングパス72をメモリに記憶/メモリから検索すること、メモリからミリングパス72を取得すること、ミリングパス72を術前に作成すること、ミリングパス72を術中に作成することなどによって、ミリングパス72を取得する。ミリングパス72は、円形、らせん/コルクスクリュー、直線、曲線、及びそれらの組み合わせなど、任意の適切な形状、または形状の組み合わせを有しうる。
【0072】
仮想物体71及び/またはミリングパス72(つまり、仮想物体71またはミリングパス72あるいはそれらの両方)を生成するためのシステム及び方法の一例は、「Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes」と題する米国特許第9,119,655号に記載されており、その開示は、引用することにより本明細書の一部をなすものとする。一部の例では、仮想物体71及び/またはミリングパス72は、マニピュレータコントローラ26またはナビゲーションコントローラ36上ではなく、オフラインで生成されてよい。その後、仮想物体71及び/またはミリングパス72は、マニピュレータコントローラ26によって実行時に利用されてよい。
【0073】
図3に示すように、パス補間器86は、パスジェネレータ68のサブモジュールとすることができる。パス補間器86は、ツールパスTPに沿ったエネルギーアプリケータ24の座標系のターゲット位置を決定する。シャフト33の姿勢は、エネルギーアプリケータ24の座標系に対して固定されている。
図5を参照すると、これらのターゲット位置は、エネルギーアプリケータ24がタスクを実行するために連続的に通過することになるツールパスTPに沿った点Pである。一実施態様では、ツールパスTPのパスセグメントPSは、後続の点Pの間に画定される。パス補間器86への入力は、パスセグメントPSの起点及び終点を規定するデータと、パスセグメントPSが直線か曲線か、曲線である場合は曲線の特性を示すデータとを含みうるが、これらに限定されない。パス補間器86への別の入力はフィードレートであり、これについては次のセクションでより詳細に説明する。フィードレートは、エネルギーアプリケータ24がパスセグメントPSに沿って移動するために設定される既定のレート(predetermined rate)(速さまたは速度)である。上記の入力変数に基づいて、パス補間器86は、一実施態様において、次のステップに従って、エネルギーアプリケータ24のターゲット位置を決定しうる。すなわち、1)エネルギーアプリケータ24の座標系の原点が最初の位置にあると仮定される。最初の位置は、エネルギーアプリケータ24が移動すべきパスセグメントPSに沿った位置である。エネルギーアプリケータ24がパスセグメントPSの始点Pにある場合、この点Pはエネルギーアプリケータ24の座標系の最初の位置である。最初の位置とターゲット位置はどちらも骨座標系の点Pである。2)フィードレートに基づいて、エネルギーアプリケータ24が単一のタイムフレームでパスセグメントPSに沿って移動する距離が計算される。一部のバージョンでは、タイムフレームの期間は0.1~2ミリ秒である。3)最初の位置、計算された距離の長さ、及びセグメント終点の位置に基づいて、パス補間器86は、ターゲット位置を規定するデータを生成する。ターゲット位置を決定するために使用されるさらなる変数は、パスセグメントPSの特性(直線または曲線)、曲線の場合は、曲率半径を記述するツールパスジェネレータからのデータである。4)座標系がパスセグメントの終点に到達したと判断されるまで、ステップ1~3が繰り返される。セグメント原点から離れた第1のターゲット位置の計算後、各フレームで計算されたターゲット位置は、次のフレームのターゲット位置の計算の基礎となる最初の位置として採用される。5)ターゲット位置がパスセグメントPSの終点位置に等しくなると、パス補間器86は、ステップ1~4を繰り返して、新しいセグメントに沿って位置するターゲット位置のセットを生成する。単一フレームの期間中、エネルギーアプリケータ24が移動できる距離は、現在のセグメントの終点位置までの距離よりも長くなる場合がある。パス補間器86が、エネルギーアプリケータ24がこの状態にあると判断する場合には、パス補間器86は、エネルギーアプリケータ24が現在のパスセグメントPS終点にあると判断される時に開始する時点に対して、エネルギーアプリケータ24がそのフレームの端部の次のパスセグメントPSに沿った位置にあるべき場所を示すデータを生成する。本明細書で説明する技術は、ターゲット位置を決定するためのこの方法に限定されるものではない。
【0074】
図3を参照すると、制御システム60によって使用されるソフトウェアは、ツールデータ69をさらに利用することができる。ツールデータ69は、ツールパスTPと相互作用するツール20の幾何学的形状を含む。例えば、ツールデータ69は、ツール20のカッティング面の形状を指定するために、ツール20のエネルギーアプリケータ24の3Dモデルといった3D幾何学的形状を含むことができる。例えば、3D幾何学的形状は、ツール20のエネルギーアプリケータ24のカッティング面が、円形の断面積、三角形の断面積、平坦な断面積、またはテーパ状の断面積を含むことを指定しうる。3D幾何学的形状は、3Dモデルまたは他の任意のソースから抽出されたエネルギーアプリケータ24のスライスを含むことができる。場合によっては、ツールデータ69は、エネルギーアプリケータ24のカッティング面の形状、サイズ、表面積、体積、及び/または寸法(つまり、形状、サイズ、表面積、体積、または寸法のうちの1つ以上)を含んでもよい。ツールデータ69には、ツール20の好ましい使用方法が含まれる場合もある。例えば、いくつかの例では、エネルギーアプリケータ24の先端ではなく、エネルギーアプリケータ24の側面を使用したカッティングを促進するために、エネルギーアプリケータ24のカッティング面をエネルギーアプリケータ24の側面に配置することができる。ツールデータ69には、特定のツール20に対応する好ましいカッティング深さが含まれる場合もある。例えば、特定のツール20を使用して非常に浅いカッティングを行うことができ、その一方で、別のツール20を使用してより深いカッティングを行うことができる。ツールデータ69は、ツール20のシャフト33を含んでもよい。ツールデータ69は、ツールパラメータ、仕様、または較正データから取得することができ、及び/または術前に測定すること(つまり、ツールパラメータ、仕様、または較正データから取得すること、または術前に測定することのうちの1つ以上とすること)ができる。
【0075】
図3を参照すると、制御システム60によって実行される別のソフトウェアプログラムまたはモジュールは、挙動(behavior)コントローラ74であってもよい。挙動制御は、エネルギーアプリケータ24の次の指令位置CP(commanded position)及び/またはツール20のシャフト33の向き(例えば姿勢)(つまり、エネルギーアプリケータ24の次の指令位置CPまたはツール20のシャフト33の向きあるいはそれらの両方)を示すデータを計算するプロセスである。場合によっては、TCPの位置が挙動コントローラ74から出力されるが、他の場合には、ツール20の位置及び向きが出力される。境界ジェネレータ66、パスジェネレータ68、及び力/トルクセンサSからの出力は、挙動コントローラ74への入力として供給されて、エネルギーアプリケータ24の次の指令位置CP及び/またはツール20の向き(つまり、エネルギーアプリケータ24の次の指令位置CPまたはツール20の向きあるいはそれらの両方)を決定しうる。挙動コントローラ74は、これらの入力を、1つ以上の仮想制約とともに処理して、指令姿勢を(commanded pose)決定してよい。
【0076】
図3を参照すると、制御システム60によって実行されるさらに別のソフトウェアプログラムまたはモジュールは、運動(motion)コントローラ76であってもよい。運動制御の1つの態様は、マニピュレータ14の制御である。運動コントローラ76は、挙動コントローラ74から次の指令姿勢を規定するデータを受信する。これらのデータに基づいて、運動コントローラ76は、(例えば、逆運動学(inverse kinematics)及びヤコビ計算機によって)マニピュレータ14の関節Jの関節角度の次の位置を決定することができ、その結果、マニピュレータ14は、ツール20を、例えば指令姿勢で、挙動コントローラ74によって指令されたようにツール20を配置することができる。換言すれば、運動コントローラ76は、デカルト空間で規定されうる指令姿勢をマニピュレータ14の関節角度に処理し、その結果、マニピュレータコントローラ26は、それに応じて関節モータ27に命令して、マニピュレータ14の関節Jをツール20の指令姿勢に対応する指令関節角度にするように動かすことができる。1つのバージョンでは、運動コントローラ76は、関節Jの関節角度を調整し、関節モータ27が関連する関節Jを指令関節角度まで確実に駆動するように、関節モータ27が出力するトルクを可能な限り厳密に調整する。
【0077】
境界ジェネレータ66、パスジェネレータ68、挙動コントローラ74、運動コントローラ76、及びフィードレートジェネレータ67(後述)のいずれも、ソフトウェアプログラム78のサブセット、またはそれらの任意の組み合わせで別個及び/または独立して(つまり、別個または独立あるいはそれらの両方で)動作するソフトウェアプログラムであってよい。「ソフトウェアプログラム」という用語は、本明細書では、記載された技術的解決策の様々な機能を実行するように構成されたコンピュータ実行可能命令を記述して使用される。簡単にするために、「ソフトウェアプログラム」という用語は、境界ジェネレータ66、パスジェネレータ68、挙動コントローラ74、運動コントローラ76、及び/またはフィードレートジェネレータ82のうちの任意の1つ以上を少なくとも包含することを意図している。ソフトウェアプログラム78は、マニピュレータコントローラ26、ナビゲーションコントローラ36、もしくはそれらの任意の組み合わせで実装することができる、または制御システム60によって任意の適切な方法で実装されてよい。
【0078】
ユーザインタラクションを処理するために、臨床アプリケーション80が提供されてよい。臨床アプリケーション80は、ユーザインタラクションの多くの態様を処理することができ、術前計画、インプラント配置、位置合わせ、骨準備の視覚化、フィードレートパラメータの調整または確認、及びインプラント適合の術後評価などを含む手術ワークフローを調整する。臨床アプリケーション80は、複数のディスプレイ38の1つ以上に出力するように構成される。臨床アプリケーション80は、それ自体の別個のプロセッサ上で実行されてよい、またはナビゲーションコントローラ36と一緒に実行されてよい。一例では、臨床アプリケーション80は、インプラント配置がユーザによって設定された後、境界ジェネレータ66及び/またはパスジェネレータ68(つまり、境界ジェネレータ66またはパスジェネレータ68あるいはそれらの両方)とインタフェースし、次に、境界ジェネレータ66及び/またはパスジェネレータ68によって返信された仮想物体71及び/またはツールパスTP(つまり、仮想物体71またはツールパスTPあるいはそれらの両方)を、実行のためにマニピュレータコントローラ26に送信する。
【0079】
システム10は、引用することにより本明細書の一部をなすものとする米国特許第9,119,655号に記載されているような、力入力モードまたは手動モードで動作しうる。ここで、ユーザはマニピュレータ14に力を加え、それに応じて、マニピュレータ14は、手術部位でツール20及びそのエネルギーアプリケータ24の動きを実行する。一例では、ユーザは、ツール20に物理的に接触して、手動モードでツール20を動かす。1つのバージョンでは、マニピュレータ14は、ツール20を配置するために、ユーザによってツール20に加えられる力及びトルクを監視する。例えば、マニピュレータ14は、ユーザによって加えられた力及びトルクを検出し、制御システム60によって使用される対応する入力(例えば、1つ以上の対応する入力/出力信号)を生成する力/トルクセンサSを含みうる。
【0080】
マニピュレータコントローラ26及び/またはナビゲーションコントローラ36(つまり、マニピュレータコントローラ26またはナビゲーションコントローラ36あるいはそれらの両方)は、力/トルクセンサSからの入力(例えば、信号)を受信する。ユーザによって加えられた力及びトルクに応答して、マニピュレータ14は、ユーザによって加えられた力及びトルクに基づいて発生したであろう動きをエミュレートする様式でツール20を動かす。手動モードでのツール20の動きはまた、境界ジェネレータ66によって生成された仮想物体71に対して制約されてよい。一部のバージョンでは、力/トルクセンサSによって取得された測定値は、力/トルクセンサSの力/トルク座標系FTから、仮想シミュレーションがツール20の仮想剛体モデルにおいて実行される仮想質量座標系といった別の座標系に変換され、その結果、仮想シミュレーションで仮想剛体に仮想的に力及びトルクを適用して(他の入力の中でも特に)これらの力及びトルクが仮想剛体の動きにどのように影響するかを最終的に決定することができる。
【0081】
システム10はまた、マニピュレータ14が自動化された方法でツールパスTPに沿ってツール20を移動させる半自律モードで動作することもできる。半自律モードでの動作の例は、引用することにより本明細書の一部をなすものとする米国特許第9,119,655号にも記載されている。一部の実施形態では、マニピュレータ14が半自律モードで動作するとき、マニピュレータ14は、ユーザが、ツール20を動かすために、ツール20に物理的に接触しないように、ユーザが力を加えることなく、ツール20を動かすことができる。代わりに、ユーザは何らかの形態のリモコンまたはスイッチを使用して、自動化された動きの開始と停止を制御してよい。例えば、米国特許第9,119,655号にも記載されているように、ユーザはリモコンのボタンを押したままにしてツール20の動きを開始し、ボタンを放してツール20の動きを停止してよい。
【0082】
[II.フィードレートの決定]
エネルギーアプリケータ24が前進する速さまたは速度は、フィードレートと呼ばれる。一実施態様では、エネルギーアプリケータ24は、1つ以上のフィードレートでツールパスTPに沿って前進することができる。より具体的には、そのような前進は、半自律モードでのマニピュレータ14の動作中に起こりうる。一実施態様において、このセクションでは、カッティング計画データ79(
図6に示され、本明細書で説明される)を生成するために、ツールパスTPと解剖学的モデルAMとの間の相互作用に基づいてフィードレートが決定される技術について説明する。本明細書に記載されているフィードレート計算技術は、本明細書の一部をなすものとする米国特許第9,119,655号に記載されているフィードレート技術によって強化することができる。
【0083】
図3を参照すると、制御システム60によって使用されるソフトウェアは、フィードレートジェネレータ82を含む。フィードレートジェネレータ82は、カッティング性能を最適化するために、エネルギーアプリケータ24がツールパスTPの1つ以上の個々のパスセグメントPSに沿って移動する際に移動すべきフィードレートまたはフィードレート係数を決定する(
図5参照)。フィードレート係数をスカラー値にすることができる。実際には、マニピュレータコントローラ26には、複数のフィードレート係数が提供されてよい。これらのフィードレート係数は、デフォルトのフィードレートを設定するために使用することができ、及び/または以下に記載するように、変数に従ってスケーリングまたは変更すること(つまり、デフォルトのフィードレートを設定するために使用すること、または変数に従ってスケーリングまたは変更することができる、あるいはそれらの両方とすること)ができる。フィードレート係数は、エネルギーアプリケータ24が前進する実際のフィードレートに常に対応する必要はない。
【0084】
フィードレートジェネレータ82は、フィードレート(複数可)またはフィードレート係数を決定し、それをツールパスTPに関連付けることができる。フィードレートジェネレータ82は、手術前及び/または手術中(つまり、手術前または手術中あるいはそれらの両方)にそれを行うことができる。いくつかの例では、フィードレートジェネレータ82は術前にこれを行い、その後になって、外科医は、例えば臨床アプリケーション80を使用して、フィードレートジェネレータ82の出力を変更または調整することができる。
【0085】
ジェネレータ82は、フィードレートのみに限定されることを意図していない。フィードレート以外のツール動作パラメータが生成される限り、ジェネレータ82は、ツールパラメータジェネレータ82、ツール動作パラメータジェネレータ82といった任意の適切な用語を使用して識別することができる。
【0086】
[i.カッティング計画データの概要]
制御システム60は、フィードレートジェネレータ82を使用して、カッティング計画データ79を生成または出力することができる。カッティング計画データ79は、計画されたツールパスTP、パスセグメントPS、及びオプションとして、ツールパスTPまたはパスセグメントに関連付けられたツールの計画されたフィードレートまたはフィードレート係数として理解することができる。カッティング計画データ79の一例を
図6に示す。図示するように、カッティング計画データ79は、ツールパスTPの各パスセグメントPS1・・・PSNに割り当てられた計画されたフィードレート係数FR1・・・FRNを含む。フィードレートジェネレータ82は、点P1・・・PNにおける解剖学的モデルAMとツール20との間の相互作用のシミュレーションに基づいて、各パスセグメントPS1・・・PSNに割り当てられる計画されたフィードレート係数FR1・・・FRNを決定するように構成されている。カッティング計画データ79は、解剖学的構造をカッティングするために、ツール及び/またはマニピュレータ14(つまり、ツールまたはマニピュレータ14あるいはそれらの両方)をどのように制御することができるかに関する他の何らかのパラメータ(ツール動作パラメータなど)を含むことができる。これらのパラメータには、仮想物体71、ツールまたはメッシュの剛性/減衰パラメータ、カッティング速さ、カッティング深さ、ツールパスまたはツールセグメントの数、カッティング力、組織温度などが含まれるが、これらに限定されない。
【0087】
カッティング計画データ79とツールパスTPとの一例が、寛骨臼を含む例に関して、
図6に示される。カッティング計画データ79及びツールパスTPは、図示のものと異なる場合がある。例えば、ツールパスTPには、より多くのまたはより少ない数の点P及びパスセグメントPSが含まれる場合がある。別の例として、カッティング計画データ79は、より多くのまたはより少ない数の計画されたフィードレート係数FR1・・・FRNを含むことがある。ツールパスTPもまた、解剖学的構造またはインプラントの領域に応じて、図示されているものと異なる場合がある。
【0088】
図6を参照すると、パスジェネレータ68及びフィードレートジェネレータ82を含む、マニピュレータコントローラ26を含むがこれらに限定されない1つ以上のコントローラは、カッティング計画データ79に従ってツール20のエネルギーアプリケータ24を複数の指令位置CP1~CPNに前進させるようにマニピュレータ14を制御するように構成される。指令位置CPは、半自律モードでのツールパスTPに沿った点Pに対して規定されることが多いが、必ずしもそうではない。あるいは、指令位置CPは、手動モードでシステム10によってエミュレートされるユーザが開始した運動に従って決定されてもよい。
【0089】
[ii.カッティング計画データの生成方法]
このサブセクションでは、ツールパスTPと解剖学的モデルAMとの間の相互作用をシミュレーションすることに基づいて、カッティング計画データ79を生成する方法について説明する。
【0090】
[a.解剖学的データ、パスデータ、及びツールデータの取得]
カッティング計画データ79の作成方法の例を
図4に示す。この実施態様では、カッティング計画データ79を生成する方法は、解剖学的データ65、パスデータ73、及びツールデータ69を取得するステップM1を含む。この情報は、制御システム60、より具体的には、フィードレートジェネレータ82によって取得される。
図3を参照すると、フィードレートジェネレータ82は、(パスデータ73を受信するための)パスジェネレータ68、ならびに解剖学的データ65及びツールデータ69を含むソース(例えば、メモリ)と通信するものとして示されている。解剖学的データ65、パスデータ73、及びツールデータ69は、フィードレートジェネレータ82への入力として機能する。
【0091】
[b.解剖学的データとパスデータとのマージ]
図4を参照すると、この方法は、パスデータ73と解剖学的データ65とをマージ(merge:合体)するステップM2を含む。ステップM1中に、解剖学的データ65及びパスデータ73を取得した後、制御システム60またはフィードレートジェネレータ82は、データを共通の座標系にマージすることによってデータを処理する。パスデータ73と解剖学的データ65とをマージするステップM2が、
図5の例示的な一例にさらに示されている。図示されるように、パスデータ73は、ツールパスTP及びツールパスTPに沿った点Pを含み、ツールパスTP及び点Pはパスデータ座標系X
T,Y
T,Z
T上にマッピングされる。解剖学的データ65は、解剖学的データ座標系X
A,Y
A,Z
A上にマッピングされた解剖学的モデルAM及び密度値DVを含む。一例では、ツールパスTPと解剖学的モデルAMとが、マージされたモデル77を作成するように、パスデータ73と解剖学的データ65とがマージされ、マージされたモデル77はマージされた座標系X
M,Y
M,Z
M上にマッピングされる。
【0092】
マージされた座標系XM,YM,ZMは、解剖学的データ座標系XA,YA,ZA、パスデータ座標系XT,YT,ZT、または新しい、異なる、あるいは任意の座標系とすることができる。場合によっては、パスデータ座標系XT,YT,ZTが、マージされた座標系XM,YM,ZMとして機能するように、解剖学的データ65を変換し、パスデータ73上に重ね合わせることができる。例えば、解剖学的モデルAMがパスデータ座標系XT,YT,ZTにマッピングされるように、解剖学的モデルAMをスケーリングしてパスデータ73上に重ね合わせることができる。さらに、密度値DVは、解剖学的データ座標系XA,YA,ZAにおける座標からパスデータ座標系XT,YT,ZTにおける座標にマッピングされうる。他の例では、解剖学的データ座標系XA,YA,ZAが、マージされた座標系XM,YM,ZMとして機能するように、パスデータ73を変換し、解剖学的データ65上に重ね合わせることができる。例えば、ツールパスTPが解剖学的データ座標系XA,YA,ZAにマッピングされるように、ツールパスTPをスケーリングして解剖学的データ65上に重ね合わせることができる。さらに、ツールTPに沿った点Pは、パスデータ座標系XT,YT,ZTから解剖学的データ座標系XA,YA,ZAにマッピングされうる。さらに他の例では、パスデータ73及び解剖学的データ65の両方が、マージされた座標系XM,YM,ZMが新しい座標系となるように、互いに変換され、重ね合わされうる。例えば、ツールパスTP及び/または解剖学的モデルAM(つまり、ツールパスTPまたは解剖学的モデルAMあるいはそれらの両方)は、ツールパスTP及び解剖学的モデルAMの両方が新しい、マージされた座標系XM,YM,ZMにマッピングされうるように、異なる係数を使用してスケーリングされてもよい。
【0093】
このマージは、視覚的な形式で提供または実行することができるが、そうする必要はない。例えば、マージは、純粋に計算上行われ、ユーザには見えない場合がある。あるいは、これらのステップの態様は、ユーザが、パスデータ73及び解剖学的データ65を体験または相互作用することができるように、例えば臨床アプリケーション80を使用して、ユーザに対して視覚化することができる。
【0094】
[c.カッティング計画データの生成]
フィードレートジェネレータ82が、パスデータ73と解剖学的データ65とをマージすると、フィードレートジェネレータ82は、一連の追加ステップを実行して、カッティング計画データ79を生成する。これらのステップについて、このセクションで説明する。フィードレートジェネレータ82は、個々の点(複数可)Pにおけるツール20と解剖学的モデルAMとの間の相互作用を評価またはシミュレートすることによって、これを行う。例えば、
図6を参照すると、フィードレートジェネレータ82は、対応する点P1・・・PNにおけるツール20と解剖学的モデルAMとの間の相互作用をシミュレートすることによって、パスセグメント(複数可)PS1・・・PSNに対するツールパスTPのカッティング計画データ79を生成する。例えば、パスセグメントPS1のカッティング計画データ79を生成するために、フィードレートジェネレータ82は、点P1におけるツール20と解剖学的モデルAMとの間の相互作用をシミュレートする。簡潔にするために、パスセグメントPSについてフィードレートジェネレータ82によって生成されたカッティング計画データ79を、本明細書では点Pについてのカッティング計画データ79と呼ぶことにする。カッティング計画データ79は、ツールパスTPの任意の数または全てのパスセグメントPSまたは点Pに関連するデータを含む出力とすることができる。
【0095】
一例では、ツール20と解剖学的モデルAMとの間のシミュレートされた相互作用は、ツール20と解剖学的モデルAMとの間のシミュレートされた交差部Iを含むことができる。フィードレートジェネレータ82は、ツール20と解剖学的モデルAMとの間の相互作用をシミュレートし、シミュレートされた相互作用中にツール20が解剖学的モデルAMと交差するかどうかを判定することができる。次に、フィードレートジェネレータ82は、ツール20と解剖学的モデルAMとの間のシミュレートされた交差部Iの分析に基づいて、カッティング計画データ79を生成することができる。このような交差部Iの例を
図5~
図7に示す。
図5のマージ(merge:合体)されたモデル77を参照すると、ツール20は、ツールパスTPに沿って移動する際に、様々な例示的な交差部Iで解剖学的モデルAMと交差しうる。このような交差部Iの1つが点PIで発生する。様々な交差部Iの例もまた、
図6に示されており、
図7に断面図で示されている。これらの図は交差部Iの例を示しているが、概念の範囲を限定することを意図したものではない。他の例では、ツールパスTPは、解剖学的モデルAMの異なる位置で解剖学的モデルAMと交差してもよく、解剖学的モデルAMの異なる数の位置で解剖学的モデルAMと交差してもよい。交差部Iに関する詳細については、以下でさらに説明する。
【0096】
ツールパスTPに沿った点Pのカッティング計画データ79を生成するには、
図4の方法がループMLを実行しうる。
図4の例では、ループMLは、ツールパスTPのカッティング計画データ79を生成するために、ツールパスTPに沿ったN個の点P(及び対応するパスセグメントPS)についてのカッティング計画データ79を生成することを繰り返す。点Pの数は、プログラムによって自動的に決定されるか、またはユーザによって選択されうる。この方法は、ツールパスTPのN個の点Pのそれぞれが分析されたかどうかを判定するステップM3を含む。ステップM3において、Nは任意の点の数に設定されうる。場合によっては、フィードレートジェネレータ82は、ツールパスTPの全てではないが一部の点Pについて、ループMLを反復することができる。例えば、場合によっては、フィードレートジェネレータ82は、ツールパスTPに沿った少なくとも1つの点P、ツールパスTPに沿った1つ以上の点Pのグループ化、n(nは0より大きい数)の倍数であるツールパスTPに沿った全ての点P、ツールパスTPに沿ったランダムに選択された点P、またはツールパスTPに沿った選択された/既定の点Pにわたって、反復することができる。ただし、
図4に示す例では、このループMLは、ツールパスTPの全ての点Pが解析されたかどうかを評価する。フィードレートジェネレータ82がツールパスTP上の各点Pの評価が完了したと判定した場合には、フィードレートジェネレータ82はステップM11に進み、ツールパスTPのカッティング計画データ79を出力する。しかし、フィードレートジェネレータ82が、ツールパスTPに沿った各点Pについてカッティング計画データ79が生成されていないと判定した場合、フィードレートジェネレータ82はステップM4に進み、ループMLをもう一度繰り返して、ツールパスTPに沿った連続する(または残りの)点Pについて、カッティング計画データ79を生成する。
【0097】
図示のように、ループMLは、ツールパスTPに沿ったN個の点Pに基づいてカッティング計画データ79を生成するステップM4~M10を含む。ステップM4~M10は、個々の点Pに対して評価される。ただし、後続のステップが前のステップに依存しない限り、これらのステップM4~M10の順序は、示されている正確な順序で実行する必要はない。ループMLは、解剖学的データ65に対するツールパスTP上の点Pの位置を特定するステップM4と、ツールデータ69から、特定された位置におけるツール20の幾何学的形状をロードするステップM5と、ツール20の幾何学的形状と解剖学的ボリュームAVとの間の交差部を特定するステップM6と、交差部内の解剖学的データ65の密度値DVを決定するステップM7と、交差部の外側のツール20の幾何学的形状に対する交差部内のツール20の幾何学的形状に関連する交差比を計算するステップM8と、決定された密度値DV及び計算された交差比に基づいて、点Pに対応するパスセグメントPSにおけるツール20の計画されたフィードレート係数FRを設定するステップM10とを含む。以前に決定された密度値DVを無視するステップM9については、本明細書では別のサブセクションで説明する。
【0098】
ステップM4中、フィードレートジェネレータ82は、点Pの位置を特定する。具体的には、フィードレートジェネレータ82は、解剖学的データ65に対する点Pの位置を特定する。
図6の一例を参照すると、フィードレートジェネレータ82は、点P1が、マージされた座標系X
M,Y
M,Z
M内の座標(x
P1,y
P1,z
P1)に位置していると決定することができる。フィードレートジェネレータ82は、異なる方法を使用して、または任意の座標系からの座標を使用して、点Pの位置を特定することができる。
【0099】
ステップM5中、フィードレートジェネレータ82は、点Pにおけるツール20の幾何学的形状を決定する。具体的には、フィードレートジェネレータ82は、ツールデータ69から、点Pにおけるツール20の幾何学的形状をロードする。前述したように、カッティング計画データ79は、点Pにおけるツール20の幾何学的形状と解剖学的ボリュームAVとの間の交差部Iを考慮する。点Pにおけるツール20の幾何学的形状と解剖学的ボリュームAVとの間の交差部Iを特定するには、フィードレートジェネレータ82は、点Pにおけるツール20の幾何学的形状をロードまたは提供する。例えば、フィードレートジェネレータ82は、ステップM5中に、エネルギーアプリケータ24の、3Dモデルといった3D幾何学的形状をロードすることができる。3D幾何学的形状は、エネルギーアプリケータ24の3Dボリュームまたはスライスを含むことができる。フィードレートジェネレータ82はまた、ツール20の寸法(例えば、半径、直径、体積、カッティング面の形状、またはエネルギーアプリケータ24の表面積)をロードして、ツール20の幾何学的形状を決定することもできる。
【0100】
フィードレートジェネレータ82は、ツールデータ69に基づいて計画されたフィードレートFRを決定してもよい。例えば、フィードレートジェネレータ82は、ツール20の幾何学的形状に基づいて計画されたフィードレートFRを決定してもよい。例えば、エネルギーアプリケータ24のカッティング面は、テーパ状の断面積を含んでもよい。このような例では、フィードレートジェネレータ82は、テーパ状断面積でのカッティングを最適化する速さでツール20を移動させるように、計画されたフィードレートFRを決定することができる。別の例として、フィードレートジェネレータ82は、ツール20の好ましい使用に基づいて、計画されたフィードレートFRを決定することができる。例えば、エネルギーアプリケータ24のカッティング面をエネルギーアプリケータ24の側面に配置して、素早いブラッシング動作でエネルギーアプリケータ24の側面を使用したカッティングを促進することができる。このような例では、フィードレートジェネレータ82は、ツール20で素早いブラッシング動作を実行する速さでツール20を移動させるように、計画されたフィードレートFRを決定することができる。さらに別の例として、フィードレートジェネレータ82は、ツール20の好ましいカッティング深さに基づいて、計画されたフィードレートFRを決定することができる。例えば、ツール20は、より浅いカッティングに好ましく使用されうる。このような例では、フィードレートジェネレータ82は、より浅いカッティングを実行するためにツール20を移動させるように、計画されたフィードレートFRを決定することができる。ツールデータ69に関連するこれらの計画されたフィードレートFRの考慮事項は、方法のステップM5中に考慮されてもよく、または方法の他の何らかの適切なステップ中に考慮されてもよい。
【0101】
ステップM6では、
図7の一例に示されるように、フィードレートジェネレータ82は、ツール20の幾何学的形状と点P1における解剖学的ボリュームAVとの間の交差部Iを特定する。この例では、エネルギーアプリケータ24は、球状のカッティングバーである。解剖学的ボリュームAVと比較される幾何学的形状は、エネルギーアプリケータ24の円形断面である。したがって、円形断面のサイズ及び解剖学的ボリュームAVの幾何学的形状は、スライスごとに異なることになる。点P1では、任意のスライスについて、ツール幾何学的形状の一部が交差部I内に含まれうるが、ツール20の他の部分は交差部I内に含まれない場合がある。交差部Iを特定するには、フィードレートジェネレータ82は、解剖学的ボリュームAV及びツール20の撮像されたスライスを分析または掃引して、交差部Iを特定することができる。
【0102】
図7の例では、フィードレートジェネレータ82は、ツール20の対応するスライスに対して4つの撮像されたスライスA、B、C、Dを分析する。スライスA、B、C、Dは説明のために示されている。他の例では、フィードレートジェネレータ82は、解剖学的ボリュームAVの任意の適切な数のスライスを分析することができる。さらに、スライスは、
図7に示されるものとは異なる解剖学的ボリュームAVのビューを特徴とすることができる。さらに、ツール20の幾何学的形状は、具体的に示されているものと異なっていてもよい。
【0103】
この例では、フィードレートジェネレータ82は、ツールの3D幾何学的形状と解剖学的ボリュームAVとの間に断面交差部Iが存在するCTスライスを特定することができる。
図7を参照すると、断面交差部Iが斜線を用いて示されている。以下のように、フィードレートジェネレータ82は、点P1において、スライスB、C、及びDが交差部Iを含むが、スライスAが交差部Iを含まないことを特定することができる。
【0104】
フィードレートジェネレータ82は、各スライスA、B、C、Dについて、交差部I内のピクセルPXの量を特定することによって、交差部Iを特定することができる。
図7を参照すると、スライスA、B、C、Dはそれぞれ、ピクセルPXを含む。
図8は、ピクセルPXがラベル付けされているスライスBのより詳細な図を提供する。スライスBの場合、フィードレートジェネレータ82は、6つのピクセル、ピクセルPX1~PX6が断面交差部I内に位置していると特定することができる。場合によっては、フィードレートジェネレータ82は、代わりに、ピクセルPXに関して断面交差部Iの面積を計算してもよい(すなわち、面積は、単一のピクセルPXのサイズに基づきうる)。
【0105】
図7に示すピクセルPX(及び本明細書で説明する
図8)は、説明のために示されている。他の例では、ピクセルPXのサイズは、これより大きい場合、または小さい場合がある。さらに、ツール20及び解剖学的ボリュームAVもまた、例示の目的で示されている。他の例では、ツール20及び解剖学的ボリュームAVは、異なる形状及び/またはサイズ(つまり、異なる形状または異なるサイズあるいはそれらの両方)を含みうる。
【0106】
フィードレートジェネレータ82は、様々な方法を使用して交差部I内のピクセルPXの量を特定することができる。一例では、交差部I内に完全に位置するピクセルPXのみが考慮され、交差部内に部分的に位置するものが無視される。場合によっては、フィードレートジェネレータ82は、断面交差部内に少なくとも部分的に位置するピクセルPXを考慮することができる。例えば、フィードレートジェネレータ82は、ピクセルPXの既定のパーセンテージ、例えば50%よりも大きいパーセンテージが断面交差部I内に位置する場合には、ピクセルPXが断面交差部I内に位置すると判定してもよい。例えば、
図8に示すように、フィードレートジェネレータ82は、ピクセルPX1、PX2、PX5、PX6が部分的に断面交差部I内に位置していることを識別してもよい。別の例では、ピクセルがどの程度交差部の内側にあるか、及びピクセルがどの程度交差部の外側にあるかに応じて、交差の比率を各ピクセルPXに適用することができる。
【0107】
場合によっては、フィードレートジェネレータ82は、ピクセルPXの密度値DVに基づいて、いずれかの交差するピクセルPXをフィルタリングしてもよい。例えば、
図7を参照すると、スライスA、B、C、Dの各ピクセルPXは、解剖学的データ65の対応する密度値DVを含む。フィードレートジェネレータ82は、交差するピクセルPXの密度値DVが所定の閾値を超えるか下回るかを評価してもよい。そうである場合、フィードレートジェネレータ82は、そのような値に基づいて、交差するピクセルPXを含めること、または無視することが可能である。
【0108】
フィードレートジェネレータ82は、各スライスA、B、C、Dの交差部I内のピクセルPXの量を記憶することができる。
図9は、保存された数量を視覚的に表現したものである。図示されるように、交差部I内のピクセルPXの量は、各スライスA、B、C、Dについて列81に格納されうる。
【0109】
ピクセルPXの使用を伴う本明細書で説明される技術の任意の態様は、ピクセルPXを伴わない他の方法で実施することができる。例えば、解剖学的ボリュームAVのボクセルを、解剖学的構造の3Dモデルから決定し、点Pにおけるツール幾何学的形状の3Dモデルと比較してもよい。ボクセルは、密度値DVを含みうる。本明細書で説明する幾何学的形状を比較する場合、他のタイプの2Dまたは3Dの単位または測定値を利用することができる。
【0110】
ステップM7中、フィードレートジェネレータ82は、交差部I内の解剖学的データ65の密度値DVを特定する。密度値DVは、交差部Iにおける解剖学的ボリュームAVの密度を示す。例えば、密度値DVにより、フィードレートジェネレータ82は、ツール20が緻密骨組織、海綿骨組織、軟骨下骨組織、脂肪、及び/または軟骨(つまり、緻密骨組織、海綿骨組織、軟骨下骨組織、脂肪、または軟骨のうちの1つ以上)といった異なるタイプの組織に、どのように接触しているかを判定することが可能になる。さらに、ヌル(null)値またはゼロ値が、空気の領域を示してもよい。このように、カッティング計画データ79は、点Pで接触する組織の種類を説明する。より具体的には、カッティング計画データ79は、点Pで接触する組織の種類を説明する計画されたフィードレート係数FRを含む。密度値DVは、ハンスフィールド単位で測定された放射線密度値DVとすることができる。ただし、他の例では、密度値DVが、ハンスフィールド単位(HU)以外の単位を含むことがあってもよい。例えば、密度値DVは、放射線不透過性、放射線透過性、及び/または透過放射輝度(transradiancy)(つまり、放射線不透過性、放射線透過性、または透過放射輝度のうちの1つ以上)の任意の尺度とすることができる。
【0111】
図7の例を続けると、フィードレートジェネレータ82は、各スライスA、B、C、Dについて、交差部I内の解剖学的データ65の密度値DVを特定することができる。フィードレートジェネレータ82は、交差部Iの外側にあるとみなされたピクセル/ボクセルの任意の密度値を無視することができる。
図7では、解剖学的スライスA、B、C、Dの各ピクセルPXは、対応する放射線密度値DVを含む。点P1におけるスライスBの放射線密度値DVの具体的であるが非限定的な例が、例えば
図8に示されている。図示されるように、交差部IはピクセルPX1~PX6を含み、フィードレートジェネレータ82は、それぞれ放射線密度値DV795HU、780HU、785HU、790HU、795HU、及び801HUを特定する。フィードレートジェネレータ82は、他のスライスC、Dについての交差部I内の解剖学的データ65の密度値DVを同様に決定することができる。
【0112】
フィードレートジェネレータ82が各スライスA、B、C、Dの交差部I内の密度値DVを特定すると、フィードレートジェネレータ82は密度値DVを収集する。フィードレートジェネレータ82は、各スライスA、B、C、Dの密度値DVの平均、中央値、範囲、最頻値、最大値、または最小密度値DVのうちの1つ以上を計算または決定することによって、密度値DVを収集することができる。例えば、
図8の例では、スライスBのピクセルPX1~PX6は、791ハンスフィールド単位(HU)の平均放射線密度値DVを有する。次に、フィードレートジェネレータ82は、
図9の列83に示すように、ピクセルPX1~PX6の平均放射線密度値DVをメモリに記憶することができる。フィードレートジェネレータ82は、同様に、スライスC、Dについて、交差部I内の密度値DVを収集し、記憶することができる。
【0113】
ステップM8中、フィードレートジェネレータ82は、特定された点でツールが解剖学的ボリュームAVに接触する範囲に関連するツール接触係数を計算することができる。例えば、ツール接触係数は、ツール20が所与の点で解剖学的ボリュームAVを擦るまたは掠めるかどうか、あるいはツール20が解剖学的ボリュームAVにバリを入れているか、エアカッティングを行っているかどうかを明らかにしうる。このように、カッティング計画データ79は、点Pにおけるツール20と解剖学的ボリュームAVとの間の接触の範囲を説明する。カッティング計画データ79は、点Pにおけるツール接触の範囲を説明する計画されたフィードレート係数FRを含む。
【0114】
一例では、ツール接触係数は、点Pにおける交差部Iの外側のツール20の幾何学形状に対する、交差部I内のツール20の幾何学形状に関連する交差比である。本明細書で説明するように、交差比は、各スライスA、B、C、Dについての交差部I内のピクセルの量に基づいて決定されてもよい。しかし、他の場合には、交差比は、任意の他の適切な方法を使用して決定されてもよい。
【0115】
フィードレートジェネレータ82は、各スライスA、B、C、Dについて個々の交差比を決定することによって、交差比を決定することができる。フィードレートジェネレータ82は、各スライスA、B、C、Dについて、交差部I内に位置するツール20の幾何学的形状の第1の量と、交差部を越えて位置するツールの幾何学的形状の第2の量との間の比率を計算することによって、個々の交差比を計算する。例えば、フィードレートジェネレータ82は、交差部I内に位置するツール20のピクセルPXの量と、交差部Iを越えて位置するツール20のピクセルPXの量とに基づいて、交差比を計算することができる。他の実施例では、フィードレートジェネレータ82は、交差部I内に位置するツール20のピクセルPXの量と、ツール20のピクセルPXの総数とに基づいて、交差比を計算することができる。
【0116】
図8のスライスBの例を参照すると、フィードレートジェネレータ82は、このスライスにおけるエネルギーアプリケータ24が合計26個のピクセルを占めるかまたは交差し、6個のピクセルが交差部I内に位置し、20個のピクセルが交差部Iを越えて位置していると決定することができる。したがって、フィードレートジェネレータ82は、スライスBの交差比を(6/26)すなわち0.2308となるように計算することができる。同様の比率を計算する他の方法も考えられ、必ずしも交差しているツール20のピクセル/総ピクセルの比率である必要はない。次に、フィードレートジェネレータ82は、スライスBの交差比を
図9の列85に格納することができる。フィードレートジェネレータ82は、スライスC、Dについての交差比を同様に決定し、記憶することができる。別の例では、交差比は、ピクセルに関して説明した方法と同じようにして、ボクセルの交差部に基づく。
【0117】
ツール接触係数は、代替的または追加的に、他の計算に基づくこともできる。例えば、フィードレートジェネレータ82は、解剖学的ボリュームに対するツール幾何学的形状の表面、円周、外周、輪郭、または2Dもしくは3D境界を評価することができる。例えば、フィードレートジェネレータ82は、
図8において、空気と比較して、ツール幾何学的形状の円周のうちどれだけが解剖学的ボリュームAVを通過し、またはこれに接触しているかを決定することができる。この量は、長さ(例えば、円弧の長さ)、角度の測定値、または幾何学的境界の比率にすることができる。あるいは、ツール幾何学的形状の面積または体積を、ピクセル/ボクセルに関係なく、解剖学的ボリュームAVに対して相対的に評価することができる。フィードレートジェネレータ82は、解剖学的ボリュームAVの密度値DVに対するツールの硬度を評価または比較することによって、ツールの接触を評価するように幾何学的アプローチを補足することができる。このツールの硬度評価を使用して、各ピクセル/ボクセルに適用されうる個々の接触力を決定することができる。
【0118】
ステップM10中、フィードレートジェネレータ82は、決定された密度値DV及び計算されたツール接触係数に基づいて、点Pに対応するパスセグメントPSにおけるツール20の計画されたフィードレート係数FRを設定する。場合によっては、フィードレートジェネレータ82が、決定された密度値DVに関係なく、計算されたツール接触係数に基づいて、ツール20の計画されたフィードレート係数FRを設定できることが考えられる。ステップM10中、フィードレートジェネレータ82は、決定された密度値DV及び計算されたツール接触係数に基づいて、骨密度(BMD)係数を任意選択的に計算することができる。次に、フィードレートジェネレータ82は、計算されたBMD係数に基づいて、ツールの計画されたフィードレート係数を設定する。
【0119】
フィードレートジェネレータ82は、ステップM7中に各交差部スライスに対して収集された放射線密度値DVに、ステップM8中に各交差部スライスに対して計算されたツール接触係数を乗算することによって、BMD係数を計算することができる。この方法でBMD係数を計算するために、フィードレートジェネレータ82は、ステップM7中に各交差部スライスに対して以前に収集された放射線密度値DVを換算する。
図9を参照すると、フィードレートジェネレータ82は、収集された放射線密度値DV(805HU)の最大値を計算することによって、放射線密度値DVを換算する。他の例では、フィードレートジェネレータ82は、平均、中央値、及び/または最小(つまり、平均、中央値、または最小のうちの1つ以上)の放射線密度値DVを使用して、放射線密度値DVを換算することができる。フィードレートジェネレータ82はまた、ステップM8中に各スライスについて以前に計算されたツール接触係数を換算する。
図9の例を参照すると、フィードレートジェネレータ82は、交差比の平均(0.7436)を計算することによって、ツール接触係数を換算することができる。他の実施例では、フィードレートジェネレータ82は、中央値、最大値、及び/または最小値(つまり、中央値、最大値、または最小値のうちの1つ以上)の放射線密度値DVを用いて、放射線密度値DVを換算することができる。以下のように、フィードレートジェネレータ82は、BMD係数を598.598と計算する。
【0120】
場合によっては、BMD係数は、そのような密度値が正規化されているか生の密度値であるかにかかわらず、可変密度値DVを説明するための標準化係数として利用される。例えば、密度値DVに基づいて、BMD係数は1~100の標準化されたスケールから選択されうる。標準化されたスケールは、上述したように、例えば画像化モダリティ、解剖学的ボリュームの画像化に使用されるスキャナ、密度ファントムのパラメータ、またはツールにかかる測定された力に応じて、異なる正規化係数を考慮に入れることができる。
【0121】
フィードレートジェネレータ82は、ルックアップテーブルにアクセスして、計算されたBMDに基づいて、計画されたフィードレート係数FRを決定することができる。具体的には、フィードレートジェネレータ82は、既定のBMD係数と既定のフィードレート係数FRとの間の関連を規定するルックアップテーブルにアクセスすることができる。ルックアップテーブルの例を
図10に示す。フィードレートジェネレータ82は、ルックアップテーブルにおいて、計算されたBMD係数に最も近い既定のBMD係数を特定し、最も近い特定された既定のBMDに関連付けられた既定のフィードレート係数に基づいて、計画されたフィードレート係数FRを設定する。
図9の例では、フィードレートジェネレータ82は、BMD係数を598.598と計算する。したがって、フィードレートジェネレータ82は、既定のBMD係数600が598.598に最も近いと決定することができる。次に、フィードレートジェネレータ82は、パスセグメントPS1の計画されたフィードレート係数FRを90mm/秒に設定することができる。
【0122】
図10に示すルックアップテーブルは、ルックアップテーブルの一例として機能する。他の例では、計画されたフィードレート係数FR及びBMD係数は、カッティング性能を最適化するための優先順位に基づいて変更される場合がある。例えば、制御システム60が解剖学的ボリュームAVの密度値DVの変動に多かれ少なかれ敏感である場合、ルックアップテーブル内の連続するBMD係数間の差が減少するか、または増加する可能性がある。別の例として、制御システム60が計画されたフィードレート係数FRの変動を減少または増加させる場合、連続する計画されたフィードレート係数FR間の差が減少または増加する可能性がある。さらに、
図10のルックアップテーブルは、等間隔に配置されたBMD係数(100から1000まで)を特徴とするが、場合によっては、ルックアップテーブルは、BMD係数の既定の範囲(例えば、505、510、515、520など)あたりの計画されたフィードレート係数FRを決定する分解能を高めるために、追加のBMD係数と、その既定の範囲あたりの対応する計画されたフィードレート係数FRとを含むことができる。
【0123】
場合によっては、フィードレートジェネレータ82は、計算されたBMD係数が最小閾値を下回るとの判定に応答して、パスセグメントPSの計画されたフィードレート係数FRを最大フィードレート係数となるように設定してもよい。例えば、
図10のルックアップテーブルを参照すると、フィードレートジェネレータ82は、BMD係数が100未満である場合、計画されたフィードレート係数FRを5mm/秒(ツール20の最小フィードレート)に設定してもよい。場合によっては、計算されたBMD係数が最大閾値を超えているとの判定に応じて、計画されたフィードレート係数を最小フィードレート係数に設定する。例えば、
図10のルックアップテーブルを参照すると、フィードレートジェネレータ82は、BMD係数が1000を超えている場合、計画されたフィードレート係数FRを400mm/秒(ツール20の最大フィードレート)に設定してもよい。実際には、ツール20のフィードレートFRは、通常、5~400mm/秒の間である。しかしながら、フィードレートは、状況に応じて、この範囲よりも大きくても小さくてもよい。
【0124】
場合によっては、フィードレートジェネレータ82は、各パスセグメントPSのデフォルトの計画されたフィードレート係数FRを取得することができる。例えば、フィードレートジェネレータ82は、ステップM1中にパスデータ73を取得した後、ツールパスTPのパスセグメントPSごとにデフォルトの計画されたフィードレート係数FRを設定することができる。ステップM8中、フィードレートジェネレータ82は、計算されたBMD係数に基づいて、パスセグメントPSのデフォルトフィードレートFRを変更することができる。例えば、
図10を参照すると、フィードレートジェネレータ82は、ツールパスTPに沿った各パスセグメントPSに対して90mm/秒のデフォルトの計画されたフィードレート係数FRを取得することができる。次いで、フィードレートジェネレータ82は、計算されたBMD係数に基づいて、デフォルトの計画されたフィードレートFRを90mm/秒から異なる計画されたフィードレート(例えば、80mm/秒、100mm/秒)に変更することができる。このようにして、フィードレートジェネレータ82は、ツールパスTPのいくつかのパスセグメントPSに対してデフォルトの計画されたフィードレートFRを保持することができる。
図10のルックアップテーブルは、デフォルトの計画されたフィードレートFRから計画されたフィードレートFRを変更したいというユーザの希望に基づいて変化しうる。例えば、ユーザが計画されたフィードレートFRをデフォルトの計画されたフィードレートFRのままにしたい場合には、連続するBMD係数間の差が大きくなる可能性がある。このような場合、デフォルトの計画されたフィードレートFRに対応するように追加のBMD係数を設定できる。ユーザがデフォルトの計画されたフィードレートFRから計画されたフィードレートFRを変更したい場合には、連続するBMD係数間の差が減少する可能性がある。このような場合には、デフォルトの計画されたフィードレートFRに対応するBMD係数の数が減少する可能性がある。
【0125】
[d.以前に分析された解剖学的領域を無視する]
ステップM9中、フィードレートジェネレータ82は、任意選択的に、
図4に示すプロセスの間に以前に評価された解剖学的ボリュームVMの部分(ピクセル/ボクセル/面積/体積)を無視するように構成される。このステップの目的は、これら以前の領域がツールパスTPに沿ってツール20によって除去されたであろうという仮定に基づいて、これらの以前に分析された領域を考慮/無視することである。解剖学的ボリュームAVの以前に除去された部分の密度値を無視することは、現在の点に対するより正確なフィードレートFR決定を生成するのに役立つ。このアプローチは、例えば、ツールパスTPに沿った連続する点P間の距離がツール20のサイズより小さい場合、またはツールパスTPが同じ解剖学的領域を2回通過するときに有用である。このような場合、フィードレートジェネレータ82は、解剖学的ボリュームAVの以前に除去された部分に対応する密度値DVを考慮に入れる必要はない。
【0126】
図11は、ステップM9の例示的な例を示す。
図11は、ツール20がツールパスTPに沿った第1の点P1及び連続する第2の点P2にあるときのツール幾何学的形状のスライス及び解剖学的ボリュームAVの画像化スライスを含む。第1の点P1におけるツール20は実線で示され、第2の点P2におけるツール20は点線で示されている。ツール20は、交差部I1における第1の点P1において解剖学的モデルAMと交差するように示され、交差部I2における第2の点P2において解剖学的モデルAMと交差するように示される。
【0127】
図示されるように、点P1及びP2におけるツール20と解剖学的ボリュームAVとのそれぞれの交差部I1、I2は、共通のピクセルPXを含む。これらの共通ピクセルPXは、ツール20が点P1にあったときにツール20によって以前に除去された解剖学的ボリュームAVの一部とツール20が、点P2で交差すると予想されることを示す。したがって、フィードレートジェネレータ82は、点P2のカッティング計画データ79を決定する際に、共通ピクセルPXを無視するように構成される。
【0128】
図11の例では、フィードレートジェネレータ82は、まず、点P1について交差部I1に対応するピクセルPXを生成し、記憶する。これらのピクセルPXは交差部I1の位置を示し、本明細書では「相互作用座標」と呼ぶ。フィードレートジェネレータ82は、相互作用座標に対応する密度値DVを記憶することもできる。交差部I1のこれらの決定された密度値DVを、本明細書では「以前に決定された密度値DV」と呼ぶ。これらの相互作用座標は、ピクセル/ボクセルの特定の座標に特に限定される必要はない。代わりに、ツール接触係数に関連して上述した任意の技術を同様に利用して、ツール20と解剖学的ボリュームAVとの以前の相互作用を決定することができる。また、ツールパスTP座標系、解剖学的座標系、またはマージされた座標系を使用して、(ピクセル/ボクセルの位置に関係なく)座標系を基準にして座標を特定することができる。
【0129】
図11の例を続けると、フィードレートジェネレータ82は、第2の点P2に対してステップM4~M8を経て進行する。ステップM9中、フィードレートジェネレータ82は、以前に決定された相互作用座標を無視する。これを行うために、フィードレートジェネレータ82は、まず、第2の点P2の相互作用座標(例えば、ピクセルPX)を第1の点P1の相互作用座標と比較する。フィードレートジェネレータ82は、第1の点P1の相互作用座標と同一の相互作用座標を有するいずれの第2の点P2の密度値DVを無視してもよい。
図11において、交差部I1及びI2のこれらの共通相互作用座標は、ピクセルPXA~PXFを含む。したがって、フィードレートジェネレータ82は、第2の点P2についてカッティング計画データ79を決定する際に、ピクセルPXA~PXFに関連付けられた密度値DVを無視する。そのような値を無視するということは、フィードレートジェネレータ82が、そのような座標におけるこれらの密度値を無効にするか、またはゼロにすることを意味しうる。さらに、このプロセスのコンテキストで評価された点P1、P2は連続した点であったが、P2は時間的にP1に続く任意の点であり、必ずしもP1の直後に連続する必要はない。
【0130】
場合によっては、フィードレートジェネレータ82は、ツール幾何学的形状との以前のピクセル/ボクセル相互作用の量に応じて、以前に決定された密度値DVを無視するように構成されうる。例えば、フィードレートジェネレータ82は、以前に決定された密度値DVに対応するピクセルPXのX%を超えるものが以前に相互作用された場合、以前に決定された密度値DVを無視するように構成されうる。例えば、
図11を参照すると、ピクセルPXCの50%未満が第1の点P1でツール20によって相互作用されたので、ピクセルPXCは無視されない可能性がある。しかしながら、ピクセルPXA、PXB、PXD、PXE、PXFの50%を超えるピクセルが、第1の点P1においてツール20によって相互作用されたので、ピクセルPXA、PXB、PXD、PXE、PXFは無視されてもよい。別の例では、フィードレートジェネレータ82は、以前に決定された密度値DVに関連付けられたピクセルPXの100%が相互作用した場合にのみ、以前に決定された密度値DVを無視するように構成されうる。例えば、
図11を参照すると、ピクセルPXA、PXC、PXE、PXFの100%未満が第1の点P1でツール幾何学的形状によって相互作用されたので、ピクセルPXA、PXC、PXE、PXFは無視されない可能性がある。ただし、ピクセルPXB、PXDの100%が第1の点P1でツール幾何学的形状と相互作用しているので、ピクセルPXB、PXDは無視されうる。他の例では、以前の相互作用座標を無視するかどうかを決定する目的で、ツール接触係数を考慮することができる。
【0131】
他の例では、以前の相互作用座標における密度値DVを無視する代わりに、フィードレートジェネレータ82は、以前に決定された密度値DVのスケーリングされたバージョンまたは残余を使用するように構成されうる。スケーリングされた以前に決定された密度値DVは、以前の相互作用の尺度に基づくことができる。例えば、
図11を参照すると、ツール幾何学的形状は点P1でピクセルPXCの約25%と相互作用した。したがって、点P2についてのカッティング計画データ79の決定からピクセルPXCを無視する代わりに、フィードレートジェネレータ82は、点P1での相互作用に基づいて、ピクセルPXCに対応する密度値DVをスケーリングすることができる。例えば、フィードレートジェネレータ82は、ピクセルPXC(606HU)に対応する密度値DVの75%を使用して、点P2のカッティング計画データ79を決定することができる。
【0132】
[e.カッティング計画データを出力する]
ステップM11中に、フィードレートジェネレータ82は、ツールパスTPについてのカッティング計画データ79を出力する。
図3を参照すると、フィードレートジェネレータ82は、カッティング計画データ79を挙動コントローラ74に出力することができる。次いで、挙動コントローラ74は、カッティング計画データ79に基づいて、運動コントローラ76を制御することができる。このように、制御システム60は、マニピュレータ14を制御して、カッティング計画データ79に基づいて、計画されたフィードレートFRでツールパスTPに沿ってツール20を移動させる。さらに、
図3を参照すると、カッティング計画データ79は臨床アプリケーション80に出力されうる。したがって、臨床アプリケーション80を操作するユーザは、外科的処置を実行する前または実行中に、カッティング計画データ79を閲覧することができる。さらに、臨床アプリケーション80を操作するユーザは、外科的処置を実行する前または実行中に、カッティング計画データ79を調整することができる。
【0133】
図6に示すように、カッティング計画データ79は、ツールパスTPを含む。一方、カッティング計画データ79はまた、ツールパスTPに沿ったパスセグメントPS1・・・PSNに対する計画されたフィードレート係数FR1・・・FRNも含む。このようにして、カッティング計画データ79は、最初に取得されたツールパスTPの強化または拡張されたバージョンであってもよい。さらに、場合によっては、フィードレートジェネレータ82がカッティング計画データ79を生成すると、カッティング計画データ79は元のツールパスTPを置き換えることができる。
【0134】
さらに、場合によっては、フィードレートジェネレータ82は、カッティング計画データ79を評価して、元のツールパスTPを変えることが賢明であると判定することができる。このような変更は、計画されたフィードレート係数FR1・・・FRN、ツール接触係数、無視される相互作用座標など、本明細書で説明する任意の考慮事項、係数、またはステップの評価に基づくことができる。例えば、フィードレートジェネレータ82は、ツールパスTPを変更して、カッティング性能、カッティング時間などを最適化することができる。例えば、ある点での計画されたフィードレートFRが過度に遅いか、または速い場合には、フィードレートジェネレータ82は、その点の位置を変更するか、またはその点を完全に削除することによって、ツールパスTPを変更することができる。別の例では、ある点でのツール接触係数が過度に高いか、または低い場合には、フィードレートジェネレータ82は、その点の位置を変更することによって、ツールパスTPを変更することができる。別の例では、ある点Pにおいて、フィードレートジェネレータ82が、以前の点からの過剰な量の特定された以前の相互作用を検出した場合には、フィードレートジェネレータ82は、カッティング時間を短縮するために、点Pの位置または以前の点を変更することによって、ツールパスTPを変更することができる。パスデータ73が1組の潜在的ツールパスTPを含む場合には、フィードレートジェネレータ82は、どの潜在的ツールパスTPがカッティング性能、カッティング時間などを最適化するかを判定することができる。次に、フィードレートジェネレータ82は、カッティング計画データ79に対して、他のツールパスTPを無視して、決定されたツールパスTPを選択することができる。
【0135】
変更されたツールパスTPは、フィードレートジェネレータ82によって自動的に決定され、実行されうる。あるいは、提案された変更を確認のためにユーザに提示することもできる。
【0136】
場合によっては、外科的処置中の切除ボリュームのカッティングは、切除ボリュームが完全に除去されたと制御システム60が判定するまで繰り返されうる。場合によっては、ツール20は、ツール20が元のツールパスTPをたどらないというエラーに遭遇する可能性があり、その結果、切除ボリュームが完全には除去されないことになる。他の例では、変更されたツールパスTPは、ツール20がたどるときに、切除ボリュームを完全には除去しない可能性がある。そのような場合、外科的処置を再開し、元のツールパスTPに従って、または変更されたツールパスTPに従って、ツール20を移動させることによって、切除ボリュームのカッティングを(例えば、エラーの後、及び/または変更されたツールパスTPに従ってツール20が移動した後(つまり、エラーの後、または変更されたツールパスTPに従ってツール20が移動した後、あるいはそれらの両方の後)に)繰り返すことができる。外科的処置が再開され、切除ボリュームが完全に除去されるまで必要な回数だけ繰り返されうる。場合によっては、切除ボリュームが完全には除去されていないことがユーザに通知されてもよく、元のツールパスTPに従って、または変更されたツールパスTPに従って、外科的処置を再開して繰り返すオプションが提示されてもよい。
【0137】
[f.追加の実施態様]
いくつかの実施形態では、カッティング計画データ79は、組織のパラメータに追加的にまたは代替的に基づいて決定されうる。そのような実施態様では、解剖学的データ65は、組織のパラメータを含むことができ、組織のパラメータは、任意の組織のパラメータデータを含むことができる。例えば、組織のパラメータは、解剖学的ボリュームAVの密度値DVを含むことができ、及び/または他の組織のパラメータデータを含むことができる(つまり、解剖学的ボリュームAVの密度値DVを含むことができ、または他の組織のパラメータデータを含むことができ、あるいはそれらの両方を含むことができる)。例えば、解剖学的ボリュームAVの組織のタイプが、組織のパラメータデータから決定されうる。このような例では、制御システム60は、組織のパラメータデータに基づいて、解剖学的ボリュームAVの組織が海綿組織、皮質組織、皮質組織、軟骨組織、または軟組織であることを決定することができる。組織のパラメータデータには、誘電率や導電率といった組織の電気的パラメータが含まれる場合もある。組織のパラメータデータには、血流パラメータ、体積、ボクセルサイズ、面積、ピクセルサイズ、厚さ、皮質の厚さ、重量、脂肪分率、総脂肪、熱パラメータ、熱伝導率、熱膨張、引張強度、音響パラメータ、弾性、骨表面密度、骨表面/体積比などが含まれることもある。
【0138】
いくつかの実施態様では、カッティング計画データ79は、シャフト33の既定の姿勢に基づいて決定されうる。例えば、シャフト33の既定の姿勢は、点Pにおけるツール20の幾何学的形状と解剖学的ボリュームAVとの間のシミュレートされた相互作用Iに影響を与える可能性がある。具体的には、シャフト33の既定の姿勢は、ツール20の幾何学的形状に応じて、ツール20が交差部Iで解剖学的ボリュームAVにどのように接触するかに影響を与える可能性がある。例えば、エネルギーアプリケータ24のカッティング面が三角形または先細りの断面または平坦なカッティング先端を含む場合には、シャフト33の既定の姿勢は、ツール20と解剖学的ボリュームAVとの交差部Iに影響を与える。したがって、ステップM6中に交差部Iをより正確に特定するために、制御システム60は、ステップM1中にTCPの計画姿勢を取得することによってパスデータ73を取得するように構成されうる。
【0139】
いくつかの実施形態では、カッティング計画データ79は、ツールパスTPの少なくとも1つの点Pに関連付けられたシャフト33の出力姿勢を含むことができる。このような実施態様では、制御システム60は、エネルギーアプリケータ24がツールパスTPの1つ以上の個別のパスセグメントPSに沿って移動する際に、シャフト33の出力姿勢を決定して、カッティング性能を最適化する。シャフト33の出力姿勢は、マニピュレータ座標系MNPLに対するシャフト33の状態(例えば、位置及び/または向き)でありえる。シャフト33の出力姿勢を出力することにより、制御システム60はマニピュレータコントローラ26にマニピュレータ14がツール20を移動させるための指示を与える。
【0140】
制御システム60は、解剖学的データ65(例えば、密度値DV及び/または組織のパラメータ(つまり、密度値DVまたは組織のパラメータあるいはそれらの両方))、パスデータ73、及びツールデータ69に基づいて、シャフト33の出力姿勢を決定しうる。例えば、制御システム60は、ツール20の幾何学的形状に基づいて出力姿勢を決定することができる。例えば、エネルギーアプリケータ24のカッティング面は、テーパ状の断面積を含んでもよい。このような例では、制御システム60は、テーパ状の断面積でのカッティングを最適化するように、ツール20を配置し、配向するように出力姿勢を決定することができる。別の例として、制御システム60は、ツール20の好ましい使用に基づいて出力姿勢を決定することができる。例えば、エネルギーアプリケータ24の先端ではなく、エネルギーアプリケータ24の側面を使用したカッティングを促進するために、エネルギーアプリケータ24のカッティング面をエネルギーアプリケータ24の側面に配置することができる。そのような例では、制御システム60は、エネルギーアプリケータ24の側面がカッティングの大部分を実行するように、ツール20を配置し、配向するための出力姿勢を決定することができる。さらに別の例として、制御システム60は、ツール20の好ましいカッティング深さに基づいて、出力姿勢を決定することができる。例えば、ツール20は、より浅いカッティングに好ましく使用されうる。このような例では、制御システム60は、より浅いカッティングを実行するために、ツール20を配置し、配向するための出力姿勢を決定することができる。
【0141】
制御システム60は、上述の方法のステップM10中に、シャフト33の出力姿勢を設定することができる。さらに、制御システム60は、ステップM11中に、出力姿勢を含むカッティング計画データ79を出力することができる。さらに、制御システム60は、出力姿勢を決定するために、上述のステップM1~M9を実行することができる。制御システム60は、ツール20の計画されたフィードレートFRの出力に加えて、またはその代替として、シャフト33の出力姿勢を出力してもよい。
【0142】
いくつかの実施形態では、フィードレートジェネレータ82は、ツール20のモータで所定のモータ電流を達成するように、計画されたフィードレートFRを決定し、及び/またはカッティング計画データ79を調整すること(つまり、計画されたフィードレートFRを決定すること、またはカッティング計画データ79を調整すること、あるいはそれらの両方)ができる。例えば、フィードレートジェネレータ82は、ツール20のモータに一定のモータ電流を維持させるように、計画されたフィードレートFRを決定し、及び/またはカッティング計画データ79を調整することができる。別の例として、フィードレートジェネレータ82は、ツール20のモータのモータ電流がモータ電流値の所定の範囲内にあることを保証するように、計画されたフィードレートFRを決定し、及び/またはカッティング計画データ79を調整することができる。
【0143】
いくつかの実施態様では、制御システム60は、外科的処置中にツール20の性能を監視することができる。具体的には、制御システム60は、ツール20がカッティング計画データ79に従って解剖学的ボリュームAVの切除ボリュームをカッティングしている間、ツール20の性能を監視することができる。制御システム60は、解剖学的ボリュームAVに加えられるツール20の接触力、ツール20の回転速度、ツール20の実際のフィードレートFR、ツール20の温度、ツール20のモータの電流、及び/またはツール20の性能の任意の他の適切な尺度(つまり、ツール20の接触力、ツール20の回転速度、ツール20の実際のフィードレートFR、ツール20の温度、ツール20のモータの電流、またはツール20の性能の任意の他の適切な尺度のうちの1つ以上)を監視することができる。次いで、制御システム60は、ツール20の性能の監視に基づいてカッティング計画データ79を変更することができる。例えば、制御システム60は、解剖学的ボリュームAVの密度値DV、計画されたフィードレートFR、ツールパスTP、BMD係数、ツール20の幾何学的形状、及び/またはカッティング計画データ79の決定において使用される任意の他のパラメータ(解剖学的ボリュームAVの密度値DV、計画されたフィードレートFR、ツールパスTP、BMD係数、ツール20の幾何学的形状、またはカッティング計画データ79の決定において使用される任意の他のパラメータのうちの1つ以上)を変更することが可能である。
【0144】
[III.密度値パラメータ化された仮想物体]
図12及び
図13を参照して、仮想物体71が、密度値DVから導出される特性、パラメータ(複数可)、または係数によって特徴付けられ、符号化され、あるいは別の形で関連付けられるように、制御システム60が仮想物体71を作成または変更するための技術について説明する。この仮想物体71は、仮想物体71と相互作用するツールに基づいてマニピュレータ14またはツール20の動作を変更するために制御システム60によって使用されうる。
【0145】
上述したように、仮想シミュレーションにおいてツール20の仮想モデルに加えられる力を決定する目的で、ツール20、TCP、またはエネルギーアプリケータ24の状態を仮想物体71に対して測定することができる。仮想シミュレーションでは、ツール20のモデルは、仮想剛体モデルまたは仮想ボリュームとして表現することができる。力は、仮想物体71の1つ以上の多角形要素99と相互作用する仮想モデルに応答して、仮想モデルに関して計算される。仮想モデルに加えられるこれらの力は、制御システム60がマニピュレータ14またはツール20の動作を変更するために使用できる出力をもたらす。これに応答して、制御システム60は、ツール20が仮想物体71を貫通するのを防ぐことによって、マニピュレータ14の動作を変更するように反力を計算することができる。インタラクションに応答して、制御システム60は、ツール20のフィードレートを変更することもできる。仮想物体71とツールとの相互作用を評価する技術は、2018年6月6日に出願された「Robotic Surgical System And Method For Producing Reactive Forces To Implement Virtual Boundaries」と題された米国特許公開第2018/0353253号に記載されているものと同様のものとすることができる。この米国特許公開の内容全体は、引用することにより本明細書の一部をなすものとする。
【0146】
仮想物体71とのツールの相互作用、及び本明細書に記載の技術は、自律モード、手動モード、またはガイド付き手動モードを含むマニピュレータ14の任意の動作モードで行われ、または実施することができる。自律モード及び手動モードについては上で説明した。ガイド付き手動モードでは、制御システム60は、ツール20のツールパスTPを取得し、それぞれツールパスTPに垂直な2つの自由度に関して、ツールパスTPに沿ったツール20の移動に対する仮想制約を規定する。このように、仮想制約は、ツール20の移動がツールパスTPに沿って行われるように制約するために規定される。さらに、ガイド付き手動モードでは、制御システム60は、ユーザがツール20に手動で加えたユーザの力及びトルクに応答して、力/トルクセンサSから入力を受け取る。次に、制御システム60は、仮想制約及び力/トルクセンサSからの入力に基づいて、仮想シミュレーションにおいてツール20のダイナミクスをシミュレートし、仮想シミュレーションに基づいてツールパスTPに沿ってツール20を前進させるようマニピュレータ14に命令する。例えば、制御システム60は、仮想シミュレーションにおいて仮想物体71に対する反力を計算し、シミュレートし、仮想シミュレーションに基づいてツールパスTPに沿ってツール20を前進させるようにマニピュレータ14に命令しうる。ガイド付き手動モードについては、引用することにより本明細書の一部をなすものとする米国特許公開第2020/0281676号にさらに説明されている。
【0147】
この技術によれば、制御システム60は、解剖学的データ65と、仮想物体71に関連付けられた仮想物体データ97とを取得する。制御システム60は、解剖学的ボリュームAVの幾何学的形状及び密度値DVを含む解剖学的データ65を取得する。解剖学的データ65は、密度値DVを含む解剖学的ボリュームAVの解剖学的モデルAMとして、
図12に示されている。解剖学的データ65は、解剖学的データ座標系X
A,Y
A,Z
A上にマッピングすることができる。制御システム60はまた、多角形要素のメッシュを有する仮想物体71の幾何学的形状を含む仮想物体データを取得する。
図12に示す仮想物体データ97は、仮想物体座標系X
V,Y
V,Z
V上にマッピングされた仮想物体71を含む。図示されているように、仮想物体71は、多角形要素99のメッシュを含む。
図12において、多角形要素99は三角形である。しかしながら、他の例では、個々の多角形要素99は、任意の適切な多角形であってもよい。
【0148】
図12を参照すると、制御システム60は、解剖学的データ65と仮想物体データとをマージ(merge:合体)して、マージされたモデル101を作成し、このマージされたモデル101は、マージされた座標系X
M,Y
M,Z
M、あるいは解剖学的データ座標系X
A,Y
A,Z
A、仮想物体座標系X
V,Y
V,Z
V、または新しい、異なる、もしくは任意の座標系といった他のいずれかの座標系上にマッピングされうる。このマージは、視覚的な形式で提供または実行することができるが、そうする必要はない。例えば、マージは、純粋に計算上行われ、ユーザには見えない場合がある。あるいは、これらのステップの態様は、ユーザが、仮想物体71及び解剖学的データ65を体験または相互作用することができるように、例えば臨床アプリケーション80を使用して、ユーザに対して視覚化することができる。
【0149】
図12は、マージされたモデル101の2つのビューを提供する。すなわち、マージされたモデル101がX
M,Y
M座標系で示される第1のビュー、及びマージされたモデル101がX
M,Z
M座標系で示される第2のビューである。いずれのビューにおいても、仮想物体71の多角形要素99と解剖学的モデルAMとが重ね合わされている。
【0150】
例示の目的で、示される多角形要素99は、密度値DV領域のサイズに比べて誇張されている場合があり、したがって縮尺通りではない。多角形要素99及び密度値DV領域のサイズについてさらに詳しく説明すると、任意の数の多角形要素99が1つの密度値DV領域内に収まることができ、任意の数の密度値DV領域が1つの多角形要素99内に収まることができる。
【0151】
マージされると、仮想物体71は、解剖学的ボリュームAVと交差することができ、及び/または解剖学的ボリュームAVから間隔を空けて配置すること(つまり、解剖学的ボリュームAVと交差すること、または解剖学的ボリュームAVから間隔を空けて配置すること、あるいはそれらの両方をすること)ができる。この技術では、任意の数の仮想物体71を利用することができ、これらの仮想物体71は、任意の適切な形状(例えば、平面または複雑な形状)または目的(例えば、侵入禁止ゾーン、侵入可能ゾーン、境界、など)を有しうる。一例において、仮想物体71は、2016年5月18日に出願された「System And Method For Manipulating An Anatomy」と題されたUS20160338782A1に記載されている境界のようなものとすることができ、その全内容は引用することにより本明細書の一部をなすものとする。仮想物体71は、任意の数の多角形要素99を持つことができる。仮想物体71は、上述したように、境界ジェネレータ66によって生成されうる。
【0152】
制御システム60が解剖学的データ65と仮想物体71とをマージすると、制御システム60は、仮想物体71の1つ以上の多角形要素99に関連付けるパラメータを決定する。このパラメータは、仮想シミュレーションに適用されるツールの仮想モデルに対して多角形要素99が有する効果、影響、及び/または反応(つまり、効果、影響、または反応のうちの1つ以上)を規定することができる。パラメータは、多角形要素99の最初のパラメータを規定することも、既存のパラメータを上書きまたは置換することもできる。一例では、パラメータは、多角形要素99の剛性に関連する調整パラメータである。この調整パラメータは、多角形要素99に関連するスプリングまたはダンパーのパラメータを規定しうる。別の例では、パラメータは、ツール20のフィードレートに影響を与える可能性がある。例えば、フィードレートジェネレータ82は挙動コントローラ74に結合され、ツール20のモデルと本明細書に記載のようにパラメータ化された任意の多角形要素99との間の相互作用を認識することができる。そこから、フィードレートジェネレータ82は、そのような相互作用に基づいてツール20のフィードレートを規定または調整することができる。
【0153】
以下の例としてピクセルPXが使用されるが、ピクセルPXの使用を伴う本明細書で説明される技術のあらゆる態様は、ピクセルPXを含まない他の方法で実施することができる。例えば、解剖学的ボリュームAVのボクセルVXも同様に使用されうる。ボクセルVXには、密度値DVを含めることができる。本明細書で説明する幾何学的形状を比較する場合、他のタイプの2Dまたは3Dの単位または測定値を利用することができる。
【0154】
図12のマージされたモデル101の第1のビューを参照すると、一例における制御システム60は、X
M,Y
M座標系において、多角形要素99の周囲によってカプセル化されるピクセルPXの密度値DVを考慮することによって、図示された多角形要素99のパラメータを決定するあるいは求めることができる。制御システム60はまた、X
M,Y
M座標系において、多角形要素99によって少なくとも部分的にカプセル化されるピクセルPXの密度値DVを考慮することによって、多角形要素99のパラメータを決定することができる。他の例では、制御システム60は、多角形要素99によって完全にカプセル化されたピクセルPXの密度値DVを考慮することによって、多角形要素99のパラメータを決定することができる。制御システム60は、ピクセルPXのX%未満が多角形要素99によってカプセル化されている場合、ピクセルPXの密度値DVを無視することもできる。
【0155】
図12のマージされたモデル101の第2のビューを参照すると、制御システム60は、追加的に、または代替的に、X
M,Z
M座標系において、多角形要素99の平面と交差するピクセルPXの密度値DVを考慮することによって、多角形要素99のパラメータを決定することができる。制御システム60は、多角形要素99と少なくとも部分的に交差するピクセルPXの密度値DVを考慮することによって、多角形要素99のパラメータを決定することができる。他の例では、制御システム60は、
図12に示されるPX
深さとして示される、多角形要素99からの所定のまたは測定された深さまたは距離内のピクセルPXの密度値DVを考慮することによって、多角形要素99のパラメータを決定することができる。深さPX
深さは、任意の適切な深さであり、任意の適切な単位とすることができる。例えば、深さPX
深さは、例えば、仮想物体71の下1mm、または仮想物体71の下3ピクセルPXなど、予め定められてもよい。
【0156】
いくつかの例では、制御システム60は、ツール20またはツール20の仮想モデルがどのように仮想物体71を貫通するかに応じて、仮想物体71の下のピクセルPXの密度値DVを使用して多角形要素99のパラメータを決定することができる。そのような例では、制御システム60は、ツール20またはツール20の仮想モデルによって相互作用される仮想物体71の下のピクセルPXの密度値DVを考慮することができる。例えば、制御システム60は、ツール20の仮想モデルと交差する任意の密度値DVを考慮することができる。
【0157】
制御システム60が、考慮すべき密度値DVを特定すると、制御システム60は、多角形要素99に近接する、多角形要素99と相互作用する、多角形要素99に関連する、または多角形要素99に交差する密度値DVの平均値、中央値、範囲、最頻値、最大値、または最小値の密度値DVのうちの1つ以上を計算すること、または決定することを含むが、これらに限定されない多くの方法で、多角形要素(複数可)99のパラメータを決定することができる。パラメータ値は密度値DVに基づくが、パラメータ値は、考慮された密度値DVに関連する計算からえられる密度値に対応する必要はない。代わりに、パラメータ値を標準化または正規化された値にすることができる。
【0158】
制御システム60が仮想物体71の多角形要素99のパラメータを決定すると、制御システム60は、多角形要素99と相互作用するツール20に応じてツール20の動作を修正することができる。
【0159】
図13Aの例では、エネルギーアプリケータ24が、第1のフィードレートで仮想物体71に沿ってスライドするシナリオを示す。第1のフィードレートは、予め決定することも、ユーザが加えた力に基づいて決定することもでき、マニピュレータは、ユーザが加えた力に応じて手動モードまたはガイド付き手動モードで制御される。これらのモードでは、ユーザは、ツール20を仮想物体71に沿ってスライドさせる方法で、ツール20を自由に動かすことができる。そしてまた、これにより、ツール20の仮想モデルが仮想物体71内の多角形要素99をかすめ(skimming:スキミングし)たり、または部分的に貫通したりする可能性がある。そのような場合、制御システム60は、ツール20が相互作用する多角形要素99のパラメータに従って、第2のフィードレートを計算することができる。次に、制御システム60は、ロボットマニピュレータに、ツール20を第2のフィードレートで移動させるように命令することができる。例えば、ユーザは、仮想物体71に沿って図示の方向に2mm/秒の第1のフィードレートでツール20を移動させることができる。この動作中にツール20が相互作用する多角形要素99は、パラメータ0.5を有することができ、これはフィードレートの2分の1スケーリング係数でありえる。これに応答して、制御システム60は、第1のフィードレートの2分の1、すなわち1mm/秒となる第2のフィードレートに従って、マニピュレータ14を制御することができる。したがって、このパラメータは、例えば、ツール20と仮想物体71との相互作用に関して、解剖学的構造の密度が考慮されるように、既存のフィードレートを調整することができる。
【0160】
図13Bの例では、エネルギーアプリケータ24は、仮想物体71の多角形要素99を貫通する。そのような場合、制御システム60は、ツールのモデルと多角形要素(複数可)99との間の仮想シミュレーションから導出された反力RXFを適用することに基づいて、ツール20の動作を修正する。制御システム60は、ツール20が相互作用する多角形要素(複数可)99のパラメータに従って反力RXFを計算し、仮想モデルによる多角形要素99の貫通を低減させるために、仮想シミュレーションにおいて反力RXFを仮想モデルに適用する。次に、制御システム60は、仮想物体71に対するツール20の動きを制限するために、反力RXFの適用に従ってツール20を動かすようにマニピュレータ14に命令する。この反力パラメータ手法は、個別に利用することも、フィードレートパラメータ手法と組み合わせて利用することもできる。
【0161】
前述の説明では、いくつかの実施形態について説明してきた。本明細書で論じられる実施形態は、網羅的であること、またはいずれかの特定の形態に限定されることを意図したものではない。使用された用語は、限定ではなく、単語の説明的な性質を有することが意図される。上記の教示に照らして、多くの修正形態及び変形形態が可能であり、本発明は、具体的に記載されているものとは異なるように実施されてもよい。さらに、本書類で使用されている見出しは、参照と読みやすさのみを目的として導入されており、見出しの主題のみによってセクションの内容を制限するものと理解されるべきではない。
【国際調査報告】