IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ゼータ サージカル インク.の特許一覧

特表2024-534273ロボット外科手術制御及びナビゲーションのためのシステム及び方法
<>
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図1A
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図1B
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図2
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図3
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図4
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図5
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図6
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図7
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図8
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図9
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図10
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図11
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図12A
  • 特表-ロボット外科手術制御及びナビゲーションのためのシステム及び方法 図12B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-18
(54)【発明の名称】ロボット外科手術制御及びナビゲーションのためのシステム及び方法
(51)【国際特許分類】
   A61B 34/20 20160101AFI20240910BHJP
【FI】
A61B34/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024539229
(86)(22)【出願日】2022-09-06
(85)【翻訳文提出日】2024-04-30
(86)【国際出願番号】 US2022042659
(87)【国際公開番号】W WO2023038906
(87)【国際公開日】2023-03-16
(31)【優先権主張番号】63/241,285
(32)【優先日】2021-09-07
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/355,497
(32)【優先日】2022-06-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FIREWIRE
2.THUNDERBOLT
3.Blu-ray
4.UNIX
(71)【出願人】
【識別番号】524086957
【氏名又は名称】ゼータ サージカル インク.
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100111235
【弁理士】
【氏名又は名称】原 裕子
(74)【代理人】
【識別番号】100195257
【弁理士】
【氏名又は名称】大渕 一志
(72)【発明者】
【氏名】シャ、 ラーヒル モハメッド
(72)【発明者】
【氏名】ラル、 アヴィナッシュ
(72)【発明者】
【氏名】リー、 ベンジャミン ホヤン
(72)【発明者】
【氏名】マネロ、 ジョセ マリア アミチ
(57)【要約】
外科的環境においてロボットを制御及びナビゲートするためのシステム及び方法が開示される。本明細書に記載されるシステム及び方法は、画像ベースの追跡技術を使用して患者の移動を検出することに応答して、外科用ロボットなどのロボットの位置を調整する技術を提供する。ロボット制御システムが、外科的環境内のロボット又は患者に結合されたセンサからの測定値に応答して、リアルタイム又は略リアルタイムで外科用ロボットの位置を調整することを可能にする技術が提供される。画像整列誤差、センサ測定値、又は他の条件を検出することに応答して、外科用ロボットの協調制御ステータスを開始するための技術が開示される。
【特許請求の範囲】
【請求項1】
メモリに結合された1つ以上のプロセッサによって、外科的環境及び患者に対応する3D(3次元)点群にアクセスするステップであって、前記3D点群は、基準座標系を有するステップと、
前記1つ以上のプロセッサによって、前記3D点群の前記基準座標系内の外科用ロボットの位置を決定するステップと、
前記1つ以上のプロセッサによって、前記3D点群内の1つ以上の点の位置の対応する変化に基づいて、前記患者の位置の変化を検出するステップと、
前記1つ以上のプロセッサによって、前記患者の前記位置の前記変化の検出に応答して、前記1つ以上の点の位置の前記変化に基づいて前記外科用ロボットの前記位置を修正する命令を生成するステップと
を含む、方法。
【請求項2】
前記基準座標系内の前記外科用ロボットの前記位置を決定することは、前記1つ以上のプロセッサによって、較正技術を使用して前記外科用ロボットを較正することを更に含む、請求項1に記載の方法。
【請求項3】
前記外科用ロボットは、前記外科的環境内の手術部位の上に位置決めされたディスプレイを更に備え、前記方法は、前記1つ以上のプロセッサによって、前記外科用ロボットに搭載された捕捉デバイスによって捕捉された画像を提示するステップを更に含む、請求項1に記載の方法。
【請求項4】
前記外科用ロボットは、外科用ツールを受容するアタッチメントを備え、前記外科用ロボットの前記位置を決定することは、前記1つ以上のプロセッサによって、前記外科用ツールの位置を決定することを更に含む、請求項1に記載の方法。
【請求項5】
前記1つ以上のプロセッサによって、前記基準座標系内の所定の経路に沿って前記外科用ロボットをナビゲートするステップを更に含む、請求項1に記載の方法。
【請求項6】
前記外科用ロボットをナビゲートすることは、
前記1つ以上のプロセッサによって、前記基準座標系内の所定の軌道に従って前記外科用ロボットの位置を調整することと、
前記1つ以上のプロセッサによって、前記患者の前記位置の前記変化が閾値を満たすかどうかを周期的に判定することと、
前記1つ以上のプロセッサによって、前記患者の前記位置の前記変化が前記閾値を満たすと判定したことに応答して、前記所定の軌道及び前記患者の前記位置の前記変化に従って前記外科用ロボットの前記位置を調整することと
を更に含む、請求項5に記載の方法。
【請求項7】
前記外科用ロボットの前記位置を決定することは、赤外線追跡技術に基づく、請求項1に記載の方法。
【請求項8】
前記外科用ロボットは、1つ以上のマーカを備え、前記赤外線追跡技術に基づいて前記外科用ロボットの前記位置を決定することは、前記1つ以上のマーカの各々のそれぞれの位置を検出することを含む、請求項7に記載の方法。
【請求項9】
前記患者の前記位置の前記変化を検出することは、前記1つ以上のプロセッサによって、前記3D点群の後に捕捉された第2の3D点群の第2の点と前記3D点群の点を比較することを含む、請求項1に記載の方法。
【請求項10】
前記患者の前記位置の前記変化を検出することは、前記点と前記第2の点との間の距離が所定の閾値を超えると判定することを含む、請求項9に記載の方法。
【請求項11】
非一時的メモリに結合された1つ以上のプロセッサを備えるシステムにおいて、
前記1つ以上のプロセッサは、
外科的環境及び患者に対応する3D(3次元)点群にアクセスすることであって、前記3D点群は、基準座標系を有することと、
前記3D点群の前記基準座標系内の外科用ロボットの位置を決定することと、
前記3D点群内の1つ以上の点の位置の対応する変化に基づいて、前記患者の位置の変化を検出することと、
前記患者の前記位置の前記変化を検出したことに応答して、前記1つ以上の点の位置の前記変化に基づいて前記外科用ロボットの前記位置を修正するための命令を生成することと
を行うように構成される、システム。
【請求項12】
前記1つ以上のプロセッサは、較正技術を使用して前記外科用ロボットを較正することを含む動作を実行することによって、前記基準座標系内の前記外科用ロボットの前記位置を決定するように更に構成される、請求項1に記載のシステム。
【請求項13】
前記外科用ロボットは、前記外科的環境内の手術部位の上に位置決めされたディスプレイを更に備え、前記1つ以上のプロセッサは、前記外科用ロボット上に搭載された捕捉デバイスによって捕捉された画像を提示するように更に構成される、請求項11に記載のシステム。
【請求項14】
前記外科用ロボットは、外科用ツールを受容するアタッチメントを備え、前記1つ以上のプロセッサは、前記外科用ツールの位置を決定するように更に構成される、請求項11に記載のシステム。
【請求項15】
前記1つ以上のプロセッサは、前記外科用ロボットを前記基準座標系内の所定の経路に沿ってナビゲートするように更に構成される、請求項11に記載のシステム。
【請求項16】
前記外科用ロボットをナビゲートするために、前記1つ以上のプロセッサは、
前記基準座標系内の所定の軌道に従って前記外科用ロボットの位置を調整することと、
前記患者の前記位置の前記変化が閾値を満たすかどうかを周期的に判定することと、
前記患者の前記位置の前記変化が前記閾値を満たすという判定に応答して、前記所定の軌道及び前記患者の前記位置の前記変化に従って、前記外科用ロボットの前記位置を調整することと
を行うように更に構成される、請求項15に記載のシステム。
【請求項17】
前記1つ以上のプロセッサは、赤外線追跡技術に基づいて、前記外科用ロボットの前記位置を決定するように更に構成される、請求項11に記載のシステム。
【請求項18】
前記外科用ロボットは、1つ以上のマーカを備え、前記1つ以上のプロセッサは、前記1つ以上のマーカの各々のそれぞれの位置を検出するように更に構成される、請求項17に記載のシステム。
【請求項19】
前記1つ以上のプロセッサは、前記3D点群の後に捕捉された第2の3D点群の第2の点と前記3D点群の点を比較することを含む動作を実行することによって、前記患者の前記位置の前記変化を検出するように更に構成される、請求項11に記載のシステム。
【請求項20】
前記1つ以上のプロセッサは、前記点と前記第2の点との間の距離が所定の閾値を超えると判定することを含む動作を実行することによって、前記患者の前記位置の前記変化を検出するように更に構成される、請求項19に記載のシステム。
【請求項21】
メモリに結合された1つ以上のプロセッサによって、患者を含む外科的環境内の1つ以上のトルクセンサによって捕捉された測定値のセットを識別するステップと、
前記1つ以上のプロセッサによって、前記外科的環境内の外科用ロボットの位置を決定するステップと、
前記1つ以上のプロセッサによって、前記1つ以上のトルクセンサによって捕捉された前記測定値のセットに基づいて、位置修正条件を検出するステップと、
前記1つ以上のプロセッサによって、前記位置修正条件を検出することに応答して、前記測定値のセットに基づいて前記外科用ロボットの前記位置を修正するための命令を生成するステップと
を含む、方法。
【請求項22】
前記1つ以上のトルクセンサは、前記患者に結合され、
前記位置修正条件を検出することは、前記1つ以上のプロセッサによって、前記患者の移動が所定の閾値を満たすと判定することを更に含む、請求項21に記載の方法。
【請求項23】
前記1つ以上のトルクセンサは、前記外科用ロボットに結合され、
前記位置修正条件を検出することは、前記1つ以上のプロセッサによって、前記測定値のセットに基づいて、前記外科用ロボットとの衝突が発生したと判定することを更に含む、請求項21に記載の方法。
【請求項24】
前記1つ以上のトルクセンサは、前記外科用ロボットに結合され、
前記位置修正条件を検出することは、前記1つ以上のプロセッサによって、前記測定値のセットに基づいて、前記外科用ロボットの位置が所定の軌道から逸脱したと判定することを更に含む、請求項21に記載の方法。
【請求項25】
前記外科用ロボットは、前記外科的環境内の手術部位の上に位置決めされたディスプレイを更に備え、前記方法は、前記1つ以上のプロセッサによって、前記外科的環境内の前記患者のビューを前記ディスプレイ上に提示するステップを更に含む、請求項21に記載の方法。
【請求項26】
前記外科用ロボットは、外科用ツールを受容するアタッチメントを備え、前記外科用ロボットの前記位置を決定することは、前記1つ以上のプロセッサによって、前記外科用ツールの位置を決定することを更に含む、請求項21に記載の方法。
【請求項27】
前記1つ以上のトルクセンサは、加速度計、ジャイロスコープ、又は慣性測定ユニティ(IMU)のうちの少なくとも1つを備える、請求項21に記載の方法。
【請求項28】
前記外科用ロボットの前記位置を決定することは、赤外線追跡技術に基づく、請求項21に記載の方法。
【請求項29】
前記外科用ロボットは、1つ以上のマーカを備え、前記方法は、前記1つ以上のプロセッサによって、前記1つ以上のマーカの各々のそれぞれの位置を決定することを更に含む、請求項27に記載の方法。
【請求項30】
前記外科用ロボットの前記位置を修正するための前記命令を生成することは、前記1つ以上のプロセッサによって、前記患者の移動に従って前記外科用ロボットを移動させるための前記命令を生成することを含む、請求項21に記載の方法。
【請求項31】
非一時的メモリに結合された1つ以上のプロセッサを備えるシステムにおいて、
前記1つ以上のプロセッサは、
患者を含む外科的環境内の1つ以上のトルクセンサによって捕捉された測定値のセットを識別することと、
前記外科的環境内の外科用ロボットの位置を決定することと、
前記1つ以上のトルクセンサによって捕捉された前記測定値のセットに基づいて位置修正条件を検出することと、
前記位置修正条件を検出することに応答して、前記測定値のセットに基づいて前記外科用ロボットの前記位置を修正するための命令を生成することと
を行うように構成される、システム。
【請求項32】
前記1つ以上のトルクセンサは、前記患者に結合され、前記1つ以上のプロセッサは、前記患者の移動が所定の閾値を満たすと判定することを含む動作を実行することによって、前記位置修正条件を検出するように更に構成される、請求項31に記載のシステム。
【請求項33】
前記1つ以上のトルクセンサは、前記外科用ロボットに結合され、前記1つ以上のプロセッサは、前記測定値のセットに基づいて、前記外科用ロボットとの衝突が発生したと判定することを含む動作を実行することによって、前記位置修正条件を検出するように更に構成される、請求項31に記載のシステム。
【請求項34】
前記1つ以上のトルクセンサは、前記外科用ロボットに結合され、前記1つ以上のプロセッサは、前記測定値のセットに基づいて、前記外科用ロボットの位置が所定の軌道から逸脱したと判定することを含む動作を実行することによって、前記位置修正条件を検出するように更に構成される、請求項31に記載のシステム。
【請求項35】
前記外科用ロボットは、前記外科的環境内の手術部位の上に位置決めされたディスプレイを更に備え、前記1つ以上のプロセッサは、前記外科的環境内の前記患者のビューを前記ディスプレイ上に提示するように更に構成される、請求項31に記載のシステム。
【請求項36】
前記外科用ロボットは、外科用ツールを受容するアタッチメントを備え、前記1つ以上のプロセッサは、前記外科用ツールの位置を決定することを含む動作を実行することによって、前記外科用ロボットの前記位置を決定するように更に構成される、請求項31に記載のシステム。
【請求項37】
前記1つ以上のトルクセンサは、加速度計、ジャイロスコープ、又は慣性測定ユニティ(IMU)のうちの少なくとも1つを備える、請求項31に記載のシステム。
【請求項38】
前記1つ以上のプロセッサは、赤外線追跡技術に基づいて、前記外科用ロボットの前記位置を決定するように更に構成される、請求項31に記載のシステム。
【請求項39】
前記外科用ロボットは、1つ以上のマーカを備え、前前記1つ以上のプロセッサは、前記1つ以上のマーカの各々のそれぞれの位置を決定するように更に構成される、請求項37に記載のシステム。
【請求項40】
前記1つ以上のプロセッサは、前記患者の移動に従って前記外科用ロボットを移動させるための前記命令を生成することを含む動作を実行することによって、前記外科用ロボットの前記位置を修正するための前記命令を生成するように更に構成される、請求項31に記載のシステム。
【請求項41】
メモリに結合された1つ以上のプロセッサによって、患者を含む外科的環境内の外科用ロボットの位置を制御するステップと、
前記1つ以上のプロセッサによって、前記外科的環境の条件に基づいて前記外科用ロボットの協調制御条件を検出するステップと、
前記1つ以上のプロセッサによって、前記協調制御条件の検出に応答して前記外科用ロボットの手動制御を提供するための命令を生成するステップと
を含む、方法。
【請求項42】
前記1つ以上のプロセッサによって、前記外科的環境内の前記患者に対応する3D(3次元)点群にアクセスするステップを更に含み、
前記協調制御条件を検出することは、前記3D点群の1つ以上の点が移動条件を満たすと判定することを更に含む、請求項41に記載の方法。
【請求項43】
前記1つ以上のプロセッサによって、前記患者に結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することを更に含み、
前記協調制御条件を検出することは、前記1つ以上のプロセッサによって、前記トルク測定値のセットが患者移動条件を満たすと判定することを更に含む、請求項41に記載の方法。
【請求項44】
前記協調制御条件を検出することは、前記1つ以上のプロセッサによって、画像対患者位置合わせプロセスにおける誤差条件を検出することを更に含む、請求項41に記載の方法。
【請求項45】
前記協調制御条件を検出することは、前記1つ以上のプロセッサによって、前記協調制御条件に対応するボタンとの相互作用を受信することを更に含む、請求項41に記載の方法。
【請求項46】
前記外科用ロボットの前記位置を制御することは、前記1つ以上のプロセッサによって、外科的処置を実行するための器具のための1つ以上の所定の軌道を識別することを含む、請求項41に記載の方法。請求項41に記載の方法。
【請求項47】
前記器具の前記1つ以上の所定の軌道を識別することは、ユーザ入力を介して、前記1つ以上の所定の軌道の選択を受信することを含む、請求項46に記載の方法。
【請求項48】
前記外科用ロボットの前記位置を制御することは、前記1つ以上のプロセッサによって、前記1つ以上の所定の軌道に沿って前記外科用ロボットをナビゲートすることを含む、請求項41に記載の方法。
【請求項49】
前記外科用ロボットの前記位置を制御することは、前記1つ以上のプロセッサによって、前記患者の移動に従って前記外科用ロボットをナビゲートすることを含む、請求項41に記載の方法。
【請求項50】
前記協調制御条件を検出することは、
前記1つ以上のプロセッサによって、前記外科用ロボットに結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することと、
前記1つ以上のプロセッサによって、前記トルク測定値のセットが患者移動条件を満たすと判定することと
を含む、請求項41に記載の方法。
【請求項51】
非一時的メモリに結合された1つ以上のプロセッサを備えるシステムにおいて、
前記1つ以上のプロセッサは、
患者を含む外科的環境内の外科用ロボットの位置を制御することと、
前記外科的環境の条件に基づいて前記外科用ロボットの協調制御条件を検出することと、
前記協調制御条件の検出に応答して前記外科用ロボットの手動制御を提供するための命令を生成することと
を行うように構成される、システム。
【請求項52】
前記1つ以上のプロセッサは、
前記外科的環境内の前記患者に対応する3D(3次元)点群にアクセスすることと、
前記3D点群の1つ以上の点が移動条件を満たすと判定することを含む動作を実行することによって、前記協調制御条件を検出することと
を行うように更に構成される、請求項51に記載のシステム。
【請求項53】
前記1つ以上のプロセッサは、
前記患者に結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することと、
前記トルク測定値のセットが患者移動条件を満たすと判定することを含む動作を実行することによって、前記協調制御条件を検出することと
を行うように更に構成される、請求項51に記載のシステム。
【請求項54】
前記1つ以上のプロセッサは、画像対患者位置合わせプロセスにおいて誤差条件を検出することを含む動作を実行することによって、前記協調制御条件を検出するように更に構成される、請求項51に記載のシステム。
【請求項55】
前記1つ以上のプロセッサは、前記協調制御条件に対応するボタンとの相互作用を受信することを含む動作を実行することによって、前記協調制御条件を検出するように更に構成される、請求項51に記載のシステム。
【請求項56】
前記1つ以上のプロセッサは、外科的処置を実行するための器具のための1つ以上の所定の軌道を識別することを含む動作を実行することによって、前記外科用ロボットの前記位置を制御するように更に構成される、請求項51に記載のシステム。
【請求項57】
前記1つ以上のプロセッサは、ユーザ入力を介して、前記1つ以上の所定の軌道の選択を受信することを含む動作を実行することによって、前記器具のための前記1つ以上の所定の軌道を識別するように更に構成される、請求項56に記載のシステム。
【請求項58】
前記1つ以上のプロセッサは、前記1つ以上の所定の軌道に沿って前記外科用ロボットをナビゲートすることを含む動作を実行することによって、前記外科用ロボットの前記位置を制御するように更に構成される、請求項51に記載のシステム。
【請求項59】
前記1つ以上のプロセッサは、前記患者の移動に従って前記外科用ロボットをナビゲートすることを含む動作を実行することによって、前記外科用ロボットの前記位置を制御するように更に構成される、請求項51に記載のシステム。
【請求項60】
前記1つ以上のプロセッサは、
前記外科用ロボットに結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することと、
前記トルク測定値のセットが患者移動条件を満たすと判定することと
を含む動作を実行することによって、前記協調制御条件を検出するように更に構成される、請求項51に記載のシステム。
【請求項61】
1つ以上のプロセッサによって、対象の医療画像に対応する基準座標系に対して前記対象の3D(3次元)画像を位置決めするステップと、
前記1つ以上のプロセッサによって、外科用器具の追跡データを受信するステップと、
前記1つ以上のプロセッサによって、前記追跡データに基づいて、前記基準座標系内の関心位置に対する前記外科用器具の位置を決定するステップと、
前記1つ以上のプロセッサによって、前記関心位置において処置を実行するように前記外科用器具を制御するステップと、
前記1つ以上のプロセッサによって、前記処置のための閾値に基づいて前記処置のパラメータを評価するステップと、
前記1つ以上のプロセッサによって、前記パラメータが前記閾値を満たすことに応答して、前記外科用器具に前記処置を終了させるステップと
を含む、方法。
【請求項62】
前記1つ以上のプロセッサによって、前記追跡データと、前記外科用器具の標的移動又は前記外科用器具の前記位置と前記関心位置との間の標的距離のうちの少なくとも1つとに基づいて、前記外科用器具の位置を制御することを更に含む、請求項61に記載の方法。
【請求項63】
前記関心位置は、前記対象の頭部の表面上にある、請求項61に記載の方法。
【請求項64】
前記1つ以上のプロセッサによって、前記基準座標系に対して前記外科用器具の前記追跡データを変換して、変換された追跡データを生成するステップと、
前記1つ以上のプロセッサによって、前記医療画像及び前記3D画像のレンダリング内に前記変換された追跡データをレンダリングするステップと
を更に含む、請求項61に記載の方法。
【請求項65】
前記1つ以上のプロセッサによって、前記医療画像及び前記関心位置に基づいて、前記外科用器具のための移動命令を生成するステップと、
前記1つ以上のプロセッサによって、前記移動命令を前記外科用器具に伝送するステップと
を更に含む、請求項61に記載の方法。
【請求項66】
前記医療画像のレンダリング内に前記関心位置の強調表示された領域を表示するステップを更に含む、請求項61に記載の方法。
【請求項67】
前記1つ以上のプロセッサによって、前記3D画像を検出するために、画像捕捉デバイスからの前記医療画像内に表される前記対象の距離を決定するステップを更に含む、請求項61に記載の方法。
【請求項68】
(1)前記関心位置が前記基準座標系内にないこと、又は(2)前記対象の移動が移動閾値を超えることのうちの少なくとも1つに応答して、前記1つ以上のプロセッサによって、前記外科用器具にエネルギー放出を終了させるステップを更に含む、請求項61に記載の方法。
【請求項69】
前記1つ以上のプロセッサによって、前記外科用器具と前記対象との間の接触に関連付けられたトルクデータの指示を受信するステップと、
前記1つ以上のプロセッサによって、前記トルクデータに更に基づいて、前記外科用器具の動作を制御するステップと
を更に含む、請求項61に記載の方法。
【請求項70】
前記1つ以上のプロセッサによって、前記外科用器具に結合されたロボットアームを使用して、前記外科用器具を前記対象の表面と接触した状態に保つように力を印加するステップと、
前記1つ以上のプロセッサによって、前記追跡データに基づいて、前記印加された力を調整するステップと
を更に含む、請求項61に記載の方法。
【請求項71】
前記外科用器具は、前記処置を集束超音波検査処置として実行するように構成され、前記方法は、前記1つ以上のプロセッサによって、前記追跡データに基づいて、前記外科用器具によって出力される超音波ビームをステアリングするステップを更に含む、請求項61に記載の方法。
【請求項72】
対象の3D画像を検出するように構成された3Dカメラと、
前記対象上の関心位置に処置を適用するように構成された外科用器具と、
1つ以上のプロセッサと
を備えるシステムにおいて、
前記1つ以上のプロセッサは、
前記対象の医療画像に対応する基準座標系に対して前記対象の前記3D画像を位置決めすることと、
前記外科用器具の追跡データを受信することと、
前記追跡データに基づいて、前記関心位置に対する前記外科用器具の位置を決定することと、
前記関心位置において前記処置を実行するように前記外科用器具を制御することと、
前記処置のための閾値に基づいて前記処置のパラメータを評価することと、
前記パラメータが前記閾値を満たすことに応答して、前記外科用器具に前記処置を終了させることと
を行うように構成される、システム。
【請求項73】
前記1つ以上のプロセッサは、前記追跡データと、前記外科用器具の標的移動又は前記外科用器具の前記位置と前記関心位置との間の標的距離のうちの少なくとも1つとに基づいて、前記外科用器具の前記位置を制御するように更に構成される、請求項72に記載のシステム。
【請求項74】
前記1つ以上のプロセッサは、
前記外科用器具からの前記追跡データを前記基準座標系に変換して、変換された追跡データを生成することと、
前記医療画像及び前記3D画像のレンダリング内で前記変換された追跡データをレンダリングすることと
を行うように更に構成される、請求項72に記載のシステム。
【請求項75】
前記1つ以上のプロセッサは、
前記医療画像及び前記関心位置に基づいて、前記外科用器具のための移動命令を生成することと、
前記移動命令を前記外科用器具に伝送することと
を行うように更に構成される、請求項72に記載のシステム。
【請求項76】
前記1つ以上のプロセッサは、前記医療画像のレンダリング内に前記関心位置の強調表示された領域を生成するように更に構成される、請求項72に記載のシステム。
【請求項77】
前記1つ以上のプロセッサは、前記3D画像を検出するために、画像捕捉デバイスからの前記医療画像内に表される前記対象の距離を決定するように更に構成される、請求項72に記載のシステム。
【請求項78】
前記1つ以上のプロセッサは、(1)前記関心位置が前記基準座標系内にないこと、又は(2)前記対象の移動が移動閾値を超えることのうちの少なくとも1つに応答して、前記外科用器具にエネルギー放出を終了させるように更に構成される、請求項72に記載のシステム。
【請求項79】
前記1つ以上のプロセッサは、
前記外科用器具と前記対象との間の接触に関連付けられたトルクデータの指示を受信することと、
前記トルクデータに更に基づいて、前記外科用器具の動作を制御することと
を行うように更に構成される、請求項72に記載のシステム。
【請求項80】
前記1つ以上のプロセッサは、
前記外科用器具に結合されたロボットアームを使用して、前記外科用器具を前記対象の表面と接触した状態に保つように力を印加することと、
前記追跡データに基づいて前記印加された力を調整することと
を行うように更に構成される、請求項72に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、侵襲的及び非侵襲的な外科的処置のための外科用ロボットナビゲーション及び制御の分野に関する。
(関連出願の相互参照)
本出願は、2021年9月7日に出願された米国仮特許出願第63/241,285号の利益及びそれに対する優先権を主張し、2022年6月24日に出願された米国仮特許出願第63/355,497号の利益及びそれに対する優先権を主張し、その各々の内容は、その全体が全ての目的のために参照により本明細書に組み込まれる。
【背景技術】
【0002】
患者の体内に外科用ツールを位置決めすることは困難であり得る。外科用ロボットは、処置を実行するのを支援するために外科的環境において提供され得る。
【発明の概要】
【0003】
本開示は、概して、侵襲的及び非侵襲的な外科的処置のための外科用ロボットナビゲーション及び制御の分野に関する。本解決策は、外科的環境内の患者の移動を追跡し、患者移動を補償しながら、所定の処置を実行するように外科用ロボットを調整又はナビゲートするための技術を提供する。本明細書に記載される技術は、患者追跡技術又はトルク検知技術などの種々の移動検出技術を使用して実装することができる。本開示は更に、種々の条件に応答して、外科的処置の間、外科用ツールに対する手動制御に切り替えることによって、外科用ロボットの協調制御を開始する技術を提供する。本解決策は更に、本解決策の画像誘導を外科用器具と組み合わせることによって、経頭蓋磁気刺激(TMS)及び集束超音波(FUS)などの非侵襲的外科用ナビゲーションのために使用され得る。本解決策は、侵襲的及び非侵襲的な頭蓋処置の両方のための外科用器具のロボット制御を可能にし、強調表示された関心位置を標的にするためにリアルタイム位置合わせを利用する。
【0004】
本開示の少なくとも1つの態様は、画像ベースの追跡技術を使用してロボットを制御するための方法を対象とする。本方法は、外科的環境及び患者に対応する3D(3次元)点群にアクセスすることを含んでもよく、3D点群は基準座標系を有する。本方法は、3D点群の基準座標系内の外科用ロボットの位置を決定することを含み得る。本方法は、3D点群内の1つ以上の点の位置の対応する変化に基づいて、患者の位置の変化を検出することを含み得る。本方法は、患者の位置の変化の検出に応答して、1つ以上の点の位置の変化に基づいて、外科用ロボットの位置を修正する命令を生成することを含み得る。
【0005】
一部の実装形態では、基準座標系内の外科用ロボットの位置を決定することは、較正技術を使用して外科用ロボットを較正することを含み得る。一部の実装形態では、外科用ロボットは、外科的環境内の手術部位にわたって位置決めされたディスプレイを更に備える。一部の実装形態では、本方法は、外科用ロボット上に搭載された捕捉デバイスによって捕捉された画像を提示することを含み得る。一部の実装形態では、外科用ロボットは、外科用ツールを受容するアタッチメントを含み得る。一部の実装形態では、外科用ロボットの位置を決定することは、外科用ツールの位置を決定することを含み得る。
【0006】
一部の実装形態では、本方法は、基準座標系内の所定の経路に沿って外科用ロボットをナビゲートすることを含み得る。一部の実装形態では、外科用ロボットをナビゲートすることは、基準座標系内の所定の軌道に従って、外科用ロボットの位置を調整することを含み得る。一部の実装形態では、外科用ロボットをナビゲートすることは、患者の位置の変化が閾値を満たすかどうかを周期的に判定することを含み得る。一部の実装形態では、外科用ロボットをナビゲートすることは、患者の位置の変化が閾値を満たすと判定することに応答して、所定の軌道及び患者の位置の変化に従って、外科用ロボットの位置を調整することを含み得る。
【0007】
一部の実装形態では、外科用ロボットの位置を決定することは、赤外線追跡技術に基づく。一部の実装形態では、外科用ロボットは、1つ以上のマーカを備える。一部の実装形態では、赤外線追跡技術に基づいて、外科用ロボットの位置を決定することは、1つ以上のマーカの各々のそれぞれの位置を検出することを含む。一部の実装形態では、患者の位置の変化を検出することは、3D点群の点を3D点群の後に捕捉された第2の3D点群の第2の点と比較することを含む。一部の実装形態では、患者の位置の変化を検出することは、点と第2の点との間の距離が所定の閾値を超えると判定することを含む。
【0008】
本開示の少なくとも1つの態様は、画像ベースの追跡技術を使用してロボットを制御するためのシステムを対象とする。システムは、非一時的メモリに結合された1つ以上のプロセッサを含み得る。システムは、外科的環境及び患者に対応する3D点群にアクセスすることができる。3D点群は、基準座標系を有し得る。システムは、3D点群の基準座標系内の外科用ロボットの位置を決定することができる。システムは、3D点群内の1つ以上の点の位置の対応する変化に基づいて、患者の位置の変化を検出することができる。システムは、患者の位置の変化の検出に応答して、1つ以上の点の位置の変化に基づいて外科用ロボットの位置を修正するための命令を生成することができる。
【0009】
一部の実装形態では、システムは、較正技術を使用して外科用ロボットを較正することを含む動作を実行することによって、基準座標系内の外科用ロボットの位置を決定することができる。一部の実装形態では、外科用ロボットは、外科的環境内の手術部位にわたって位置決めされたディスプレイを更に備える。一部の実装形態では、システムは、外科用ロボット上に搭載された捕捉デバイスによって捕捉された画像を提示することができる。一部の実装形態では、外科用ロボットは、外科用ツールを受容するアタッチメントを含み得る。一部の実装形態では、システムは、外科用ツールの位置を決定することができる。一部の実装形態では、システムは、基準座標系内の所定の経路に沿って外科用ロボットをナビゲートすることができる。
【0010】
一部の実装形態では、外科用ロボットをナビゲートするために、システムは、基準座標系内の所定の軌道に従って、外科用ロボットの位置を調整することができる。一部の実装形態では、外科用ロボットをナビゲートするために、システムは、患者の位置の変化が閾値を満たすかどうかを周期的に判定することができる。一部の実装形態では、外科用ロボットをナビゲートするために、システムは、患者の位置の変化が閾値を満たすとの判定に応答して、所定の軌道及び患者の位置の変化に従って、外科用ロボットの位置を調整することができる。
【0011】
一部の実装形態では、システムは、赤外線追跡技術に基づいて、外科用ロボットの位置を決定することができる。一部の実装形態では、外科用ロボットは、1つ以上のマーカを備える。一部の実装形態では、システムは、1つ以上のマーカの各々のそれぞれの位置を検出することができる。一部の実装形態では、システムは、3D点群の点を3D点群の後に捕捉された第2の3D点群の第2の点と比較することを含む動作を実行することによって、患者の位置の変化を検出することができる。一部の実装形態では、システムは、点と第2の点との間の距離が所定の閾値を超えると判定することを含む動作を実行することによって、患者の位置の変化を検出することができる。
【0012】
本開示の少なくとも1つの他の態様は、トルク検知技術に基づいてロボットを制御する方法を対象とする。本方法は、患者を含む外科的環境において1つ以上のトルクセンサによって捕捉された測定値のセットを識別することを含み得る。本方法は、外科的環境内の外科用ロボットの位置を決定することを含み得る。方法は、1つ以上のトルクセンサによって捕捉された測定値のセットに基づいて、位置修正条件を検出することを含み得る。本方法は、位置修正条件の検出に応答して、測定値のセットに基づいて外科用ロボットの位置を修正するための命令を生成することを含み得る。
【0013】
一部の実装形態では、1つ以上のトルクセンサは、患者に結合される。一部の実装形態では、本方法は、位置修正条件を検出することを含んでもよく、患者の移動が所定の閾値を満たすと判定することを更に含む。一部の実装形態では、1つ以上のトルクセンサは、外科用ロボットに結合される。一部の実装形態では、本方法は、位置修正条件を検出することを含んでもよく、一組の測定値に基づいて、外科用ロボットとの衝突が発生したと判定することを更に含む。一部の実装形態では、1つ以上のトルクセンサは、外科用ロボットに結合される。
【0014】
一部の実装形態では、本方法は、位置修正条件を検出することを含んでもよく、外科用ロボットの位置が測定値のセットに基づいて所定の軌道から逸脱したと判定することを更に含む。一部の実装形態では、外科用ロボットは、外科的環境内の手術部位にわたって位置決めされたディスプレイを含み得る。一部の実装形態では、本方法は、ディスプレイ上に外科的環境内の患者のビューを提示することを含み得る。一部の実装形態では、外科用ロボットは、外科用ツールを受容するアタッチメントを含み得る。一部の実装形態では、外科用ロボットの位置を決定することは、外科用ツールの位置を決定することを含み得る。
【0015】
一部の実装形態では、1つ以上のトルクセンサは、加速度計、ジャイロスコープ、又は慣性測定ユニット(IMU)のうちの少なくとも1つを備える。一部の実装形態では、外科用ロボットの位置を決定することは、赤外線追跡技術に基づく。一部の実装形態では、外科用ロボットは、1つ以上のマーカを備える。一部の実装形態では、本方法は、1つ以上のマーカの各々のそれぞれの位置を決定することを含み得る。一部の実装形態では、外科用ロボットの位置を修正する命令を生成することは、患者の移動に従って外科用ロボットを移動させる命令を生成することを含み得る。
【0016】
本開示の少なくとも1つの他の態様は、トルク検知技術に基づいてロボットを制御するためのシステムを対象とする。システムは、非一時的メモリに結合された1つ以上のプロセッサを含み得る。システムは、患者を含む外科的環境において1つ以上のトルクセンサによって捕捉された測定値のセットを識別することができる。システムは、外科的環境内の外科用ロボットの位置を決定することができる。システムは、1つ以上のトルクセンサによって捕捉された測定値のセットに基づいて、位置修正条件を検出することができる。システムは、位置修正条件の検出に応答して、測定値のセットに基づいて外科用ロボットの位置を修正するための命令を生成することができる。
【0017】
一部の実装形態では、1つ以上のトルクセンサは、患者に結合される。一部の実装形態では、システムは、患者の移動が所定の閾値を満たすと判定することを含む動作を実行することによって、位置修正条件を検出することができる。一部の実装形態では、1つ以上のトルクセンサは、外科用ロボットに結合される。一部の実装形態では、システムは、測定値のセットに基づいて、外科用ロボットとの衝突が発生したと判定することを含む動作を実行することによって、位置修正条件を検出することができる。一部の実装形態では、1つ以上のトルクセンサは、外科用ロボットに結合される。一部の実装形態では、システムは、外科用ロボットの位置が測定値のセットに基づいて所定の軌道から逸脱したと判定することを含む動作を実行することによって、位置修正条件を検出することができる。
【0018】
一部の実装形態では、外科用ロボットは、外科的環境内の手術部位にわたって位置決めされたディスプレイを更に備える。一部の実装形態では、システムは、ディスプレイ上に外科的環境内の患者のビューを提示することができる。一部の実装形態では、外科用ロボットは、外科用ツールを受容するアタッチメントを備える。一部の実装形態では、システムは、外科用ツールの位置を決定することを含む動作を実行することによって、外科用ロボットの位置を決定することができる。一部の実装形態では、1つ以上のトルクセンサは、加速度計、ジャイロスコープ、又は慣性測定ユニティ(IMU)のうちの少なくとも1つを含み得る。
【0019】
一部の実装形態では、システムは、外科用ロボットの位置が赤外線追跡技術に基づくことを判定することができる。一部の実装形態では、外科用ロボットは、1つ以上のマーカを備える。一部の実装形態では、システムは、1つ以上のマーカの各々のそれぞれの位置を決定することができる。一部の実装形態では、システムは、患者の移動に従って外科用ロボットを移動させる命令を生成することを含む動作を実行することによって、外科用ロボットの位置を修正する命令を生成することができる。
【0020】
本開示の少なくとも1つの他の態様は、検出された条件に応答してロボットの協調制御を開始する方法を対象とする。本方法は、患者を含む外科的環境内の外科用ロボットの位置を制御することを含み得る。方法は、外科的環境の条件に基づいて外科用ロボットの協調制御条件を検出することを含み得る。本方法は、協調制御条件を検出することに応答して、外科用ロボットの手動制御を提供するための命令を生成することを含み得る。
【0021】
一部の実装形態では、本方法は、外科的環境内の患者に対応する3D(3次元)点群にアクセスすることを含み得る。一部の実装形態では、協調制御条件を検出することは、3D点群の1つ以上の点が移動条件を満たすと判定することを含み得る。一部の実装形態では、本方法は、患者に結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することを含み得る。一部の実装形態では、協調制御条件を検出することは、トルク測定値のセットが患者移動条件を満たすと判定することを更に含む。一部の実装形態では、協調制御条件を検出することは、画像対患者位置合わせプロセスにおける誤差条件を検出することを含み得る。一部の実装形態では、協調制御条件を検出することは、協調制御条件に対応するボタンとの相互作用を受信することを含み得る。
【0022】
一部の実装形態では、外科用ロボットの位置を制御することは、外科的処置を実行するための器具のための1つ以上の所定の軌道を識別することを含む。一部の実装形態では、器具のための1つ以上の所定の軌道を識別することは、ユーザ入力を介して、1つ以上の所定の軌道の選択を受信することを含む。一部の実装形態では、外科用ロボットの位置を制御することは、1つ以上の所定の軌道に沿って外科用ロボットをナビゲートすることを含む。一部の実装形態では、外科用ロボットの位置を制御することは、患者の移動に従って外科用ロボットをナビゲートすることを含む。一部の実装形態では、協調制御条件を検出することは、外科用ロボットに結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することを含む。一部の実装形態では、協調制御条件を検出することは、トルク測定値のセットが患者移動条件を満たすと判定することを含む。
【0023】
本開示の少なくとも1つの他の態様は、検出された条件に応答してロボットの協調制御を開始する方法を対象とする。システムは、非一時的メモリに結合された1つ以上のプロセッサを含み得る。システムは、患者を含む外科的環境内の外科用ロボットの位置を制御することができる。システムは、外科的環境の条件に基づいて、外科用ロボットの協調制御条件を検出することができる。システムは、協調制御条件の検出に応答して、外科用ロボットの手動制御を提供するための命令を生成することができる。
【0024】
一部の実装形態では、システムは、外科的環境内の患者に対応する3D(3次元)点群にアクセスすることができる。一部の実装形態では、システムは、3D点群の1つ以上の点が移動条件を満たすと判定することを含む動作を実行することによって、協調制御条件を検出することができる。一部の実装形態では、システムは、患者に結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することができる。一部の実装形態では、システムは、トルク測定値のセットが患者移動条件を満たすと判定することを含む動作を実行することによって、協調制御条件を検出することができる。
【0025】
一部の実装形態では、システムは、画像対患者位置合わせプロセスにおいて誤差条件を検出することを含む動作を実行することによって、協調制御条件を検出することができる。一部の実装形態では、システムは、協調制御条件に対応するボタンとの相互作用を受信することを含む動作を実行することによって協調制御条件を検出することができる。一部の実装形態では、システムは、外科的処置を実行するための器具のための1つ以上の所定の軌道を識別することを含む動作を実行することによって、外科用ロボットの位置を制御することができる。
【0026】
一部の実装形態では、システムは、ユーザ入力を介して、1つ以上の所定の軌道の選択を受信することを含む動作を実行することによって、器具のための1つ以上の所定の軌道を識別することができる。一部の実装形態では、システムは、1つ以上の所定の軌道に沿って外科用ロボットをナビゲートすることを含む動作を実行することによって、外科用ロボットの位置を制御することができる。一部の実装形態では、システムは、患者の移動に従って外科用ロボットをナビゲートすることを含む動作を実行することによって、外科用ロボットの位置を制御することができる。一部の実装形態では、システムは、外科用ロボットに結合された1つ以上のトルクセンサから捕捉されたトルク測定値のセットを識別することを含む動作を実行することによって、協調制御条件を検出することができる。一部の実装形態では、システムは、トルク測定値のセットが患者移動条件を満たすと判定することを含む動作を実行することによって、協調制御条件を検出することができる。
【0027】
種々の側面は、概して、3D(3次元)画像データを使用したリアルタイムマルチモダリティ画像整列のためのシステム及び方法に関し、マーカを伴わずに、サブミリメートル精度で実装され得る。CT又はMRIなどのスキャンを含む3D画像は、1つ以上の捕捉デバイスを使用してリアルタイムで捕捉される、患者の身体などの対象上に直接位置合わせされ得る。これにより、内部組織情報などの特定のスキャン情報が、対象の点群表現とともにリアルタイムで表示されることが可能になる。これは、そうでなければCTスキャンにおける同じ基準座標系内で器具を配向させるために手動プロセスを利用する外科的処置にとって有益であり得る。器具を追跡することができ、器具の軌道を描くことができ、標的をスキャン上で強調表示することができる。本解決策は、(例えば、外科用ナビゲーションのために)深度捕捉情報を医療スキャンと整列させること、(例えば、製造及びトラブルシューティングのために)深度捕捉情報をCADモデルと整列させること、複数の医療画像モダリティ(例えば、MRI及びCT、CT及び3D超音波、MRI及び3D超音波)を整列及び融合させること、(例えば、モデル間の差異を求めるために)複数のCADモデルを整列させること、並びに複数の画像捕捉デバイスからの深度捕捉データを融合させることなどの種々の用途のためのリアルタイムサブミリメートル位置合わせを提供することができる。
【0028】
本解決策は、手術室、外来患者環境、CT室、ICU、及び緊急治療室を含む、種々の環境における画像誘導処置のために実装され得る。本解決策は、CSF迂回処置(例えば、外部心室配置及びVPシャント配置)、脳腫瘍切除及び生検、並びに電極配置などの神経外科適用のために使用され得る。本解決策は、腹部及び肺の生検、アブレーション、吸引、及びドレナージなどのインターベンショナル放射線医学に使用することができる。本解決策は、脊椎固定術などの整形外科処置に使用することができる。本解決策は、本解決策の画像誘導を外科用器具と組み合わせることによって、経頭蓋磁気刺激(TMS)及び集束超音波(FUS)などの非侵襲的外科用ナビゲーションのために使用され得る。本解決策は、非侵襲的な頭蓋処置のための外科用器具のロボット制御を可能にし、強調表示された関心位置を標的とするためにリアルタイム位置合わせを利用する。
【0029】
本開示の少なくとも1つの態様は、外科用器具を通して関心位置に処置を送達する方法に関する。この方法は、データ処理システムの1つ以上のプロセッサによって実行することができる。本方法は、1つ以上のプロセッサによって、基準座標系に対して位置決めされた3D医療画像を位置合わせすることを含み得る。本方法は、処置を実行するために使用されている外科用器具の追跡データを受信することを含み得る。本方法は、第1の点群及び3D医療画像に関連する基準座標系内の関心位置に対する外科用器具の相対位置を決定することを含み得る。本方法は、標的移動を追跡することと、外科用器具を調整し、関心位置と整列されたままにすることと、を含み得る。本方法は、外科用器具を通して、関心位置に処置を送達することを含み得る。本方法は、処置のための閾値及び処置中に検出されたパラメータを受信することを含み得る。本方法は、外科用器具に、パラメータが閾値を満たすことに応答して、処置を終了させることを含み得る。本方法の一部の実装形態では、関心位置は、対象の頭部の表面上にある。
【0030】
本方法の一部の実装形態では、外科用器具からの追跡データを変換することは、第1の基準座標系を使用して、変換された追跡データを生成することを含み得る。本方法の一部の実装形態では、変換された追跡データをレンダリングすることは、第1の点群及び3D医療画像のレンダリング内に含まれ得る。
【0031】
本方法の一部の実装形態では、外科用器具のための移動命令を生成することは、第1の点群、3D医療画像、及び関心位置に基づき得る。方法の一部の実装形態では、移動命令を伝送することは、外科用器具を含み得る。本方法の一部の実装形態では、関心位置の強調表示された領域を表示することは、3D医療画像及び第1の点群のレンダリング内に含まれ得る。本方法の一部の実装形態では、捕捉デバイスからの3D医療画像内に表される対象の距離を決定することは、少なくとも部分的に、第1の点群を生成することを担うことができる。
【0032】
本方法の一部の実装形態では、外科用器具にエネルギー放出を終了させることは、関心位置が基準座標系内にないことを含み得る。本方法の一部の実装形態では、外科用器具にエネルギー放出を終了させることは、標的移動が関心位置への処置のための外科用器具移動を超えることを含み得る。
【0033】
本方法の一部の実装形態では、外科用器具が標的に接触することを可能にすることは、位置合わせされた3D医療画像及び第1の点群をトルク検知と組み合わせることによって、標的移動に応答することを含み得る。本方法の一部の実装形態では、外科用器具から追跡データを受信することは、外科用器具を表面と接触した状態に保つように力を印加することを含み得る。本方法の一部の実装形態では、手術からの追跡データを変換することは、検出された標的移動に対して相対的であってもよく、また、表面に最初に印加された力を維持することを含み得る。
【0034】
本開示の少なくとも1つの他の態様は、外科用器具を通して関心位置に処置を送達するシステムに関する。システムは、1つ以上のプロセッサによって、基準座標系に対して位置決めされた3D医療画像を位置合わせすることができる。システムは、1つ以上のプロセッサによって、外科用器具の追跡データを受信し、第1の点群及び3D医療画像に関連する基準座標系内の関心位置に対する外科用器具の相対位置を決定することができる。システムは、相対位置に基づいて1つ以上のプロセッサによって、標的移動を追跡し、関心位置と整列されたままになるように外科用器具を調整することができる。システムは、1つ以上のプロセッサによって、外科用器具を通して器具の位置に処置を送達し、処置のための閾値及び処置中に検出されたパラメータを受信することができる。システムは、1つ以上のプロセッサによって、外科用器具に、閾値を満たすパラメータに応答する処置を終了させることができる。システムの一部の実装形態では、関心位置は、対象の頭部の表面上であり得る。
【0035】
システムの一部の実装形態では、システムは、外科用器具からの追跡データを第1の基準座標系に変換して、変換された追跡データを生成することができる。システムの一部の実装形態では、システムは、第1の点群及び3D医療画像のレンダリング内の変換された追跡データをレンダリングすることができる。
【0036】
システムの一部の実装形態では、システムは、第1の点群、3D医療画像、及び関心位置に基づいて、外科用器具のための移動命令を生成することができる。システムの一部の実装形態では、システムは、移動命令を外科用器具に伝送することができる。システムの一部の実装形態では、システムは、3D医療画像のレンダリング内の強調表示された領域と、関心位置に対応する第1の点群とを表示することができる。本システムの一部の実装形態では、システムは、対象の距離を決定し、第1の点群を生成することを少なくとも部分的に担う捕捉デバイスからの3D医療画像内に表され得る。
【0037】
本システムの一部の実装形態では、システムは、関心位置が基準座標系内にない場合、外科用器具にエネルギー放出を終了させることができる。本システムの一部の実装形態では、システムは、標的移動が関心位置への処置のための外科用器具移動を超える場合、外科用器具にエネルギー放出を終了させることができる。
【0038】
システムの一部の実装形態では、システムは、外科用器具が標的に接触することを可能にすることができ、また、標的移動に応答することもできる。システムの一部の実装形態では、システムは、位置合わせされた3D医療画像と第1の点群とをトルク検知と組み合わせることができる。システムの一部の実装形態では、システムは、外科用器具から追跡データを受信し、外科用器具を表面と接触した状態に保つように力を印加することができる。システムの一部の実装形態では、システムは、検出された標的移動に対して外科用器具からの追跡データを変換し、表面に最初に印加された力を維持することができる。
【0039】
これら及び他の態様及び実装形態について、以下で詳細に説明する。上記の情報及び以下の詳細な説明は、種々の態様及び実装形態の例示的な例を含み、請求項に記載の態様及び実装形態の性質及び特徴を理解するための概要又は枠組みを提供する。図面は、種々の態様及び実装形態の例示及び更なる理解を提供し、本明細書に組み込まれ、本明細書の一部を構成する。態様は組み合わせることができ、本発明の一態様の文脈で説明される特徴は、他の態様と組み合わせることができることが容易に理解されるであろう。態様は、任意の便利な形態で実装され得る。例えば、有形のキャリア媒体(例えば、ディスク)又は無形のキャリア媒体(例えば、通信信号)とすることができる適切なキャリア媒体(コンピュータ可読媒体)上で搬送することができる適切なコンピュータプログラムによる。態様は、その態様を実装するように構成されたコンピュータプログラムを実行するプログラマブルコンピュータの形態をとることができる適切な装置を使用して実装することもできる。本明細書及び特許請求の範囲において使用される場合、単数形「1つの(a)」、「1つの(an)」、及び「前記(the)」は、文脈上他に明確に指示されない限り、複数の指示対象を含む。
【0040】
添付の図面は、一定の縮尺で描かれることを意図していない。種々の図面における同様の参照番号及び名称は、同様の要素を示す。明確にするために、全ての構成要素が全ての図面において標識され得るわけではない。
【図面の簡単な説明】
【0041】
図1A】1つ以上の実装形態による、例示的な画像処理システムの斜視図である。
図1B】1つ以上の実装形態による、例示的な画像処理システムの斜視図である。
【0042】
図2】1つ以上の実装形態による、患者及びロボットの位置を監視することが可能な画像処理システムのブロック図である。
【0043】
図3】1つ以上の実装形態による、例示的なロボット制御システムの斜視図である。
【0044】
図4】1つ以上の実装形態による、患者追跡に基づいて外科用ロボットを制御することが可能なロボット制御システムのブロック図である。
【0045】
図5】1つ以上の実装形態による、患者追跡に基づいて外科用ロボットを制御する例示的な方法のフロー図である。
【0046】
図6】1つ以上の実装形態による、トルク検知技術に基づいて、外科用ロボットを制御することが可能なロボット制御システムのブロック図である。
【0047】
図7】1つ以上の実装形態による、トルク検知技術に基づいて外科用ロボットを制御する例示的な方法のフロー図である。
【0048】
図8】1つ以上の実装形態による、検出された条件に応答して、外科用ロボットの協調制御を開始することが可能なロボット制御システムのブロック図である。
【0049】
図9】1つ以上の実装形態による、検出された条件に応答して、外科用ロボットの協調制御を開始する例示的な方法のフロー図である。
【0050】
図10】1つ以上の実装形態による、外科用器具を含む画像処理システムのブロック図である。
【0051】
図11】1つ以上の実装形態による、リアルタイム非侵襲的外科用ナビゲーションのための方法のフロー図である。
【0052】
図12A】1つ以上の実装形態による、例示的なコンピューティング環境のブロック図である。
図12B】1つ以上の実装形態による、例示的なコンピューティング環境のブロック図である。
【発明を実施するための形態】
【0053】
以下は、一体化されたディスプレイデバイスを有する外科用ツールを管理するための技術、アプローチ、方法、装置、及びシステムに関する種々の概念、並びにそれらの実装形態の詳細な説明である。上記で紹介され、以下でより詳細に説明される種々の概念は、説明される概念が任意の特定の実装形態の方式に限定されないため、多数の方法のいずれかで実装され得る。特定の実装形態及び適用の例は、主に説明のために提供される。
【0054】
以下の種々の実行形態の説明を読む目的のために、本明細書のセクションの以下の説明及びそれらのそれぞれの内容が有用であり得る。
【0055】
セクションAは、本明細書で説明されるロボット制御技術を実装し得るハードウェア構成要素を説明する。
【0056】
セクションBは、患者追跡技術に基づいて外科用ロボットを制御するための技術を説明する。
【0057】
セクションCは、トルク検知技術に基づいて外科用ロボットを制御するための技術を説明する。
【0058】
セクションDは、検出された条件に応答して外科用ロボットの協調制御を開始するための技術を説明する。
【0059】
セクションEは、リアルタイム非侵襲的ナビゲーションのための技術を説明する。
【0060】
セクションFでは、本明細書で説明する実装形態を実行するのに有用であり得るコンピューティング環境について説明する。
【0061】
(A.ハードウェア構成要素及びシステムアーキテクチャ)
本明細書に説明される画像追跡、トルク検知、及びロボット制御技術は、外科的環境内で、例えば、頭蓋外科的処置中にリアルタイムで行うことができる。画像位置合わせに基づく外科用ロボット制御、トルク検知に基づく外科用ロボット制御、及び外科的環境において検出された条件に対する協調制御応答を開始するための特定の技術を詳細に論じる前に、かかる技術が動作し得る外科的環境内に配置された特定の構成要素を説明することが有用である。
【0062】
図1A図1B及び図2は、画像処理システム100を示している。画像処理システム100は、3D(3次元)カメラなどの1つ以上の画像捕捉デバイス104を含み得る。カメラは、可視光カメラ(例えば、カラー又は白黒)、赤外線カメラ(例えば、IRセンサ220など)、又はそれらの組み合わせであってもよい。各画像捕捉デバイス104は、1つ以上のレンズ204を含み得る。一部の実行形態では、画像捕捉デバイス104は、各レンズ204のためのカメラを含み得る。画像捕捉デバイス104は、所定の解像度であるように、かつ/又は所定の視野を有するように選択又は設計され得る。画像捕捉デバイス104は、物体を検出及び追跡するための解像度及び視野を有し得る。画像捕捉デバイス104は、パン、チルト、又はズーム機構を有し得る。画像捕捉デバイス104は、画像捕捉デバイス104の位置及び配向に対応する姿勢を有し得る。画像捕捉デバイス104は、深度カメラとすることができる。画像捕捉デバイス104は、マイクロソフト社によって製造されたKINECTとすることができる。
【0063】
画像捕捉デバイス104によって捕捉される画像の光は、1つ以上のレンズ204を通して受け取られる。画像捕捉デバイス104は、限定ではないが、1つ以上のレンズ204を介して受信された光を検出し、受信された光に基づいて、画像208を生成し得る電荷結合素子(CCD)又は相補型金属酸化膜半導体(CMOS)回路を含む、センサ回路を含み得る。
【0064】
画像捕捉デバイス104は、例えば、通信バスを介して、画像208を処理回路212に提供することができる。画像捕捉デバイス104は、画像208に対して画像処理が実行されるときに画像208の同期を容易にすることができる対応するタイムスタンプを画像208に提供することができる。画像捕捉デバイス104は、3D画像(例えば、深度情報を有する画像)を出力することができる。画像208は、複数のピクセルを含んでもよく、各ピクセルは、空間位置データ(例えば、水平、垂直、及び深度データ)、強度又は輝度データ、及び/又は色データを割り当てられる。例えば、患者に対して動作する外科用ロボットを含む外科的環境内で捕捉されるとき、画像208は、とりわけ、外科用ロボットのツール端部、又は外科用ロボット上に位置決めされるマーカなどの外科用ロボットの部分を表すピクセルを含み得る。画像捕捉デバイス104が3Dカメラである実装形態では、外科用ロボット及び患者は、画像捕捉デバイス104の基準座標系内の対応する3D点群にマッピングされ得る。3D点群は、例えば、処理回路212のメモリ内に記憶され、本明細書に説明されるロボットコントローラシステムに提供され得る。一部の実装形態では、処理回路212は、患者に対応する3D点群を追跡することに加えて、画像対患者位置合わせ(例えば、患者のCT画像と患者を表す3D点群との間の位置合わせ)を実行することができる。
【0065】
各画像捕捉デバイス104は、1つ以上のアーム又は他の支持構造などを介して、プラットフォーム112と結合されることができ、処理回路212に通信可能に結合され得る。プラットフォーム112は、移動のための車輪と、プラットフォーム112とともに使用されるデバイスを支持するための種々の支持表面とを含み得る、カートであり得る。一部の実装形態では、プラットフォーム112は、テーブルなどの車輪を伴わない固定構造である。一部の実装形態では、プラットフォーム112に結合された構成要素は、必要に応じて他の追跡デバイス又はコンピューティングデバイスと交換され得るように、モジュール式であり、取り外し可能であり得る。
【0066】
プラットフォーム112は、処理回路212の少なくとも一部、並びにユーザインターフェース120を含む、処理ハードウェア116(図2と併せて以下で更に詳細に説明される)をサポートすることができる。ユーザインターフェース120は、本明細書に説明されるような任意の種類のディスプレイ又はスクリーンであってもよく、例えば、画像捕捉デバイス104によって捕捉された環境の3次元レンダリングを表示するために使用され得る。画像208は、ユーザインターフェース120を介した提示のために、処理回路212によって処理され得る。上述したように、画像208は、画像捕捉デバイス104によって捕捉された外科的環境内に位置決めされた患者又は外科用ツールの表現を含み得る。一部の実装形態では、処理回路212は、1つ以上の画像分類技術(例えば、深層ニューラルネットワーク、光検出、色検出など)を利用して、本明細書に説明されるように、外科用ロボット、外科用ツール、又は患者の位置(例えば、ピクセル位置、3D点位置など)を判定することができる。
【0067】
処理回路212は、図12A及び図12Bを参照して説明されるコンピューティングデバイス1000の特徴を組み込むことができる。例えば、処理回路212は、プロセッサ(複数可)及びメモリを含み得る。プロセッサは、専用プロセッサ、特定用途向け集積回路(ASIC)、1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、処理構成要素のグループ、又は他の適切な電子処理構成要素として実装され得る。メモリは、本開示で説明される種々のユーザ又はクライアントプロセス、レイヤ、及びモジュールを完成させ、容易にするためのデータ及びコンピュータコードを記憶するための1つ以上のデバイス(例えば、RAM、ROM、フラッシュメモリ、ハードディスクストレージなど)である。メモリは、揮発性メモリ又は非揮発性メモリであるか、又はそれらを含んでもよく、データベース構成要素、オブジェクトコード構成要素、スクリプト構成要素、又は本明細書で説明する特徴の種々のアクティビティ及び情報構造をサポートするための任意の他のタイプの情報構造を含み得る。メモリは、プロセッサに通信可能に接続することができ、本明細書に記載の1つ以上の動作を実行するためのコンピュータコード又は命令モジュールを含み得る。メモリは、プロセッサに本明細書で説明される動作を実行させる種々の回路、ソフトウェアエンジン、及び/又はモジュールを含み得る。
【0068】
処理回路212の一部の部分は、プラットフォーム112から離れた1つ以上のデバイスによって提供され得る。例えば、(例えば、図12A及び図12Bを参照して説明されるような)1つ以上のサーバ、クラウドコンピューティングシステム、又はモバイルデバイスが、本明細書に説明される種々の画像処理技術を実行するために使用され得る。
【0069】
画像処理システム100は、通信回路216を含み得る。通信回路216は、ネットワークインターフェース1218などの、図12A及び図12Bを参照して説明したコンピューティングデバイス1000の特徴を実装することができる。通信回路216は、例えば、外科的環境内の患者に対応する3D点群の位置に関する情報を通信するために使用されることができ、それは、外科用ロボットをナビゲートするために、本明細書に説明される処理構成要素内で使用され得る。一部の実装形態では、通信回路216は、ロボット制御システム405、605、又は805と通信するために使用され得る。一部の実装形態では、画像処理システム100は、本明細書に説明されるロボット制御システム405、605、又は805のうちのいずれかの機能のうちの1又は複数を実装することができる。通信回路216は、画像処理システム100(又はその構成要素)と、本明細書に説明される任意の構成要素、デバイス、又はシステムを含む、1つ以上の構成要素、デバイス、又はシステムとの間で情報を通信することが可能な任意のタイプの入出力インターフェースであり得る。
【0070】
画像処理システム100は、1つ以上の赤外線(IR)センサ220を含み得る。IRセンサ220は、画像処理システム100の周囲の環境内の種々のデバイスからのIR信号を検出することができる。例えば、IRセンサ220は、とりわけ、患者の一部分、外科用ロボットの一部分、又は外科用ロボットに結合されたツールエンドなどの外科的環境内の追跡される特徴に結合され得る、IRエミッタからのIR信号を検出するために使用され得る。IRセンサ220は、画像処理システム100の他の構成要素に通信可能に結合することができ、それにより、画像処理システム100の構成要素は、本明細書で説明する技術における適切な動作においてIR信号を利用することができる。
【0071】
次に図3を参照すると、1つ以上の実装形態による、例示的なロボット制御システムのロボットシステム300が示されている。ロボットシステム300は、図4、6、及び8に関連して本明細書に説明されるようなロボット制御システム405、605、又は805のうちの1又は複数を含み得る、カート305を含み得る。カート上には、ロボット制御システム405、605、又は805と通信する、又はそれによって制御され得る、ロボットアーム310が搭載される。追跡されるエンドエフェクタ315の拡大図が、拡大図312に示されている。拡大図312に示されるように、ロボットアーム310の追跡されるエンドエフェクタ315は、スクリーン325、器具ホルダ330、1つ以上のボタン335、及び器具ホルダ330に接続される被追跡器具340(例えば、ここでは1つ以上のマーカを含むカテーテルガイドとして示される)を含み得る。器具ホルダ330は、被追跡器具340のためのロボットアーム310上の汎用アタッチメント又はコネクタとすることができる。例えば、器具ホルダは、ロボットアーム310が任意のタイプの被追跡器具340とともに使用されることを可能にすることができる。
【0072】
カート305は、プラットフォーム112と同様とすることができ、その構造又は機能のいずれかを含み得る。カート305は、移動のための車輪を含んでもよく、ロボットシステム300内に示される他のデバイスを支持することができる。ロボットアーム310は、本明細書に説明されるロボット制御システム405、605、及び805によって提供される命令に従って、3D空間内でナビゲートされ得る、任意のタイプのロボットアームであり得る。ロボットアーム310は、3D空間内の所定の経路に従って自動的に制御され得るか、又は外科医若しくは他の医療専門家がソフトウェアを通して確立された所定の境界内でロボットアーム310を移動させることができる、部分的に自動化された状態で制御され得る。一部の実装形態では、本明細書に説明される種々の条件に応答して、ロボットアーム310は、ロボットアーム310(例えば、被追跡器具340など)の位置及び配向に対する手動制御が外科医に提供される、「協調モード」に入ることができる。かかる技術は、セクションDに関連して本明細書でより詳細に説明される。一部の実装形態では、ロボットアーム310は、DOOSAN ROBOTICSによって製造されるM0609ロボットアームであり得る。ロボットアーム310は、コンピュータ制御された電気機械式多関節アームとすることができる。
【0073】
追跡されるエンドエフェクタ315は、スクリーン325、器具ホルダ330、及び被追跡器具340を含む。一部の実装形態では、追跡されるエンドエフェクタ315は、1つ以上のボタン335を含み、これらのボタンは、相互作用されると、外科医が3D経路の異なる点又はシーケンスをナビゲートして外科手術を実行することを可能にし得る。一部の実装形態では、ボタン335のうちの1又は複数は、協調制御モードを開始し、外科医がロボットアーム310の位置及び配向にわたって完全制御を有することを可能にすることができる。ロボットアーム310は、例えば、本明細書に記載されるコンピューティングデバイスから通信インターフェースを介して、移動命令を含む命令を受信することができる。例えば、移動命令は、ロボットアーム310に、被追跡器具の位置を(例えば、その内部プログラミングなどに従って1つ以上の関節を作動させることによって)外科的環境内の所望の位置又は配向に修正させる命令であり得る。加えて、外科用ロボットは、ロボットアーム310のステータス(例えば、ロボットアームが自動ナビゲーションモードにあるかどうか、ロボットアームが協調モードにあるかどうかなど)に関連する情報を提供するように、本明細書に説明されるコンピューティングデバイスにメッセージを伝送してもよい。
【0074】
被追跡器具340は、任意のタイプの外科用器具を含んでもよく、ここでは、脳神経外科手術で使用することができるカテーテルガイドとして示されている。一部の実装形態では、被追跡器具340は、1つ以上のマーカに結合されることができ、外科的環境内の被追跡器具340の位置及び配向が決定されることを可能にする。例えば、一部の実装形態では、画像処理システム100又は図10の画像処理システム1000の処理回路212は、患者を表す3D点群に対する器具の位置を追跡することができる。一部の実装形態では、追跡マーカは、例えば、ロボットアーム310又はその種々の関節の位置を追跡するように、ロボットアーム310に結合され得る。
【0075】
本明細書に説明されるシステム及び方法は、外科的環境内のベッドサイドで利用され得る。例えば、本明細書で説明されるように、画像処理システム100を含むプラットフォーム112と、ロボット制御システム405、605、若しくは805のうちのいずれか、又は画像処理システム1000を含み得るロボットシステム300との両方が、患者を含む外科的環境内に位置決めされ得る。画像処理システム100は、コンピュータ断層撮影(CT)スキャン又は磁気共鳴撮像(MRI)スキャンからの3D画像を、画像捕捉デバイス104によって捕捉された患者の3D点群と整列させるために、画像対患者位置合わせプロセスを実行することができる。加えて、患者の顔の位置は、患者を表す3D点群の位置に基づいて決定することができる。処理回路212はまた、患者を表す3D点群と同じ基準座標系において、ロボットアーム310又は被追跡器具340の位置を捕捉及び追跡し、処理回路212が、患者又は所定の手術経路からの被追跡器具340の距離を決定することを可能にし得る。外科的環境の種々の属性(例えば、検出された患者移動、トルク検知など)に基づいて、外科用ロボット310の位置を更新するための技術は、以下のセクションで更に詳細に説明される。
【0076】
(B.患者追跡技術に基づく外科用ロボットの制御)
本明細書に記載されるシステム及び方法は、外科的環境において外科用ロボットを制御するための種々の技術を提供する。特に、本明細書に記載される技術は、外科的環境内の患者のリアルタイム3D画像に基づいて、外科用ロボットのための改善された移動追跡及び調整を提供する。患者追跡技術を実行するために画像処理システム100を使用して、本明細書に説明されるシステム及び方法は、外科的環境内の所定の経路に沿って外科用ロボットをナビゲートしながら、略リアルタイムで精密な患者移動を判定することができる。外科用ロボットは、被追跡器具(例えば、被追跡器具340)が所定の経路又は標的と整列するように制御され得る。例えば、標的は頭蓋内標的であり得る。頭蓋内標的の位置は、例えば、画像対患者位置合わせ技術を使用してリアルタイム3D画像と整列されたCTスキャン画像又はMRIスキャン画像内の関心点の位置に基づいて決定することができる。患者の移動が検出されるとき、外科的処置において使用される被追跡器具の軌道又は位置は、この整列を維持するように調整され得る。本明細書に説明されるシステム及び方法は、リアルタイム患者追跡を使用して、外科手術経路のリアルタイム補正を可能にすることによって、外科用ロボットナビゲーション技術を改良する。本明細書に記載される技術は、外科的処置中の患者の安全性を改善する。
【0077】
ここで図4を参照すると、示されるのは、1つ以上の実装形態による、患者追跡技術に基づいて、外科用ロボット(例えば、ロボット310など)を制御するための例示的なシステム400である。システム400は、少なくとも1つのロボット制御システム405、少なくとも1つのロボット420、及び少なくとも1つの画像処理システム100を含み得る。ロボット制御システム405は、少なくとも1つの点群アクセサ435、少なくとも1つのロボットトラッカ440、少なくとも1つの画像位置合わせ構成要素445、少なくとも1つの移動検出器450、及び少なくとも1つのロボットナビゲータ455を含み得る。ロボット420は、器具430を含み得る。
【0078】
システム400の構成要素(例えば、ロボット制御システム405、画像処理システム100、ロボット420など)の各々は、図12A及び図12Bと併せて本明細書に詳述されるコンピューティングシステム(例えば、コンピューティングシステム1000、本明細書に説明される任意の他のコンピューティングシステムなど)のハードウェア構成要素又はハードウェア構成要素とソフトウェアの組み合わせを使用して実装され得る。ロボット制御システム405の構成要素(例えば、点群アクセサ435、ロボットトラッカ440、画像位置合わせ構成要素445、移動検出器450、ロボットナビゲータ455など)の各々は、本明細書に詳述される機能を実行することができる。画像処理システム100及びロボット制御システム405は、別個のシステムとして示されているが、ロボット制御システム405は、画像処理システム100の一部であってもよく(例えば、少なくとも部分的に、処理回路212などによって実装される)、又はその逆であってもよい(例えば、ロボット制御システム405の1つ以上のプロセッサ上に実装される画像処理システム100の処理回路212)ことを理解されたい。同様に、ロボット制御システム405は、図10に関連して説明される画像処理システム1000とともに実装されてもよく、又はそれを含んでもよく、あるいはその逆も同様である。画像処理システム100及びロボット制御システム405が別個のコンピューティングシステムとして実装される実装形態では、画像処理システム100及びロボット制御システム405は、本明細書で説明するように、通信インターフェースを介して情報を交換することができる。同様に、ロボット制御システム405及びロボット420は、1つ以上の通信インターフェースを介して通信することができる。ロボット制御システム405は、任意の生成された命令を実行のためにロボット420に通信することができる。
【0079】
ロボット制御システム405は、図1A図1B、及び図2と併せて本明細書に説明される画像処理システム100である、又はその一部を形成することができ、本明細書に説明されるような画像処理システム100の機能のうちのいずれかを実行することができる。ロボット制御システム405は、少なくとも1つのプロセッサ及びメモリ(例えば、処理回路)を含み得る。メモリは、プロセッサによって実行されたとき、本明細書で説明する動作のうちの1又は複数をプロセッサに実行させるプロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、ASIC、FPGA、グラフィックス処理ユニット(GPU)など、又はそれらの組み合わせを含み得る。メモリは、限定はしないが、プロセッサにプログラム命令を与えることが可能な電子、光、磁気、又は任意の他の記憶若しくは送信デバイスを含み得る。メモリは、フロッピーディスク、メモリチップ、ASIC、FPGA、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、消去可能プログラマブルROM(EPROM)、フラッシュメモリ、光学メディア、又はプロセッサが命令を読み取ることができる任意の他の適切なメモリを更に含み得る。命令は、任意の適切なコンピュータプログラミング言語からのコードを含み得る。ロボット制御システム405は、本明細書に記載の種々の機能を実行することができる1つ以上のコンピューティングデバイス又はサーバを含み得る。ロボット制御システム405は、構成要素のうちのいずれか又は全てを含み、図12A及び図12Bに関連して本明細書に説明されるコンピュータシステム1000の機能のうちのいずれか又は全てを実行することができる。
【0080】
ロボット420は、図3に関連して本明細書で上述したロボットアーム310の機能又は構造のいずれかとすることができ、又はそれを含み得る。一部の実装形態では、ロボット420は、外科的環境内で外科用器具を操縦することが可能な異なるタイプの外科用ロボットであり得る。ロボット420は、外科的環境内の所望の位置又は配向にロボットを移動させるための命令を実行するコンピューティングデバイスを含み得る。ロボット制御システム405(又はその構成要素)は、ロボット420にその位置、配向、又はステータス(例えば、自動又は協調など)を変更させる、ロボット420のための命令を生成することができる。ロボット420は、ロボット420(及びそれに結合された器具430)の位置がソフトウェア(例えば、図4に関連して説明されるロボットナビゲータ455、図6に関連して説明されるロボットナビゲータ650、図8に関連して説明されるロボットナビゲータ835、本明細書に説明されるようなロボット制御システム405、605、又は805の任意の他の構成要素など)によって制御される、自動モードで動作することができる。ロボット420が適切なステータスにある場合、ロボット420は、ロボット420が外科医の手動入力によって完全に又は部分的に制御され得る、協調モードで動作することができる。例えば、外科医は、ロボット420又は器具430を所望の標的に向かって位置付けるように、ロボットの部分を保持してもよい。
【0081】
一部の実装形態では、図4に関連して本明細書で上記に説明されるように、ロボット420は、外科的処置が実行されるにつれて、外科医が患者についての情報(例えば、注釈を伴う手術部位のクローズアップビュー、外科的処置の標的又は他の標的位置に関する情報など)を視認することができるように、外科的環境内の患者を覆って位置決めされたディスプレイを含み得る。一部の実装形態では、ロボットは、本明細書で上述した画像捕捉デバイス104のうちの1つと同様の捕捉デバイスを含み得る。ロボット420に結合された画像捕捉デバイスによって捕捉された画像208は、ロボット420に結合されたディスプレイ上に表示され、手術部位の上に位置決めされ得る。
【0082】
器具430は、患者に対する外科的処置のために外科的環境において使用され得る任意のタイプの器具であり得る。器具430は、ロボット420が空間内の器具430の位置及び配向を制御することができるように、ロボット420に結合され得る。器具430は、例えば、穿孔ツール、カニューレ針、生体検査針、カテーテルデバイス、又は任意の他のタイプの外科用器具とすることができる。器具430は、被追跡器具340とすることができ、その構造及び機能のうちのいずれかを含み得る。例えば、器具430(又は器具430をロボット420に結合するブラケット)は、1つ以上の追跡インジケータに結合することができる。追跡インジケータは、例えば、IR発光ダイオード(LED)、可視スペクトル内の色を放出するLED、所定の色で着色された、又は所定の検出可能な形状を有する追跡ボール、又はQRコード(登録商標)などの他の追跡特徴であり得る。追跡インジケータは、器具430又はロボット420上の所定の場所に位置決めされることができ、コンピューティングデバイス(例えば、画像処理システム100、ロボット制御システム405など)によって検出されると、器具430又はロボット420の位置及び配向を判定するために使用することができる、センサのマトリクス又はアレイを形成することができる。一部の実装形態では、器具430は、とりわけ、加速度計、ジャイロスコープ、又は慣性測定ユニット(IMU)などの1つ以上の位置センサを含むか、又はそれに結合され得る。
【0083】
点群アクセサ435は、外科的環境及び患者に対応する3D(3次元)点群にアクセスすることができる。3D点群は、外科的環境に対応する基準座標系を有し得る。本明細書で上述したように、画像処理システム100は、3Dカメラとすることができる1つ以上の画像捕捉デバイス104を利用して、外科的処置中に患者のリアルタイム(又は略リアルタイム)3D画像を捕捉することができる。3D点群は、例えば、患者の頭部、患者の身体、又は手術を実行することができる患者の任意の他の部分に対応することができる。一部の実装形態では、画像捕捉デバイス104は、患者の顔の画像を捕捉するように外科的環境内に位置決めされ得る。一部の実装形態では、点群アクセサ435は、画像セグメンテーションモデルを、画像捕捉デバイス104によって捕捉された3D点群に適用することができる。一部の実装形態では、点群アクセサ435は、例えば、1つ以上の通信インターフェースを介して、図1及び図2の画像処理システム100の処理回路212又は図10の画像処理システム1000の処理回路1014から点群を受信することができる。一部の実装形態では、点群アクセサ435は、グローバル環境(例えば、患者に対応する3D点群にアクセスすることができる外科的環境内の静止点など)の指示を捕捉することができる。点群アクセサ435は、患者を表す点群を含む3D画像を、例えば画像捕捉デバイス104の所定のフレームレートで反復的に受信することができる。点群アクセサ435は、ユーザを表す3D点群にアクセスするか、又はそうでなければ取り出し、3D点群がロボット制御システムの他の構成要素によってアクセスされ得るように、3D点群をロボット制御システム405のメモリに記憶することができる。3D点群は、患者の位置及び配向をリアルタイム又は略リアルタイムで決定することができるように、それぞれのタイムスタンプに関連付けて記憶することができる。
【0084】
患者の位置を追跡することに加えて、ロボットトラッカ440は、3D点群と同じ基準座標系内の外科用ロボットの位置を決定することができる。本明細書で上述したように、画像捕捉デバイス104は、外科的環境内の患者の画像を捕捉することができる。画像捕捉デバイス104は、IRセンサ220などの他のセンサに対して外科的環境内で所定の姿勢を有し得る。本明細書で上述したように、IRセンサ220は、光のIR波長を捕捉するIRカメラとすることができる。ロボットトラッカ440は、ロボット420の位置を決定するために、IR追跡技術などの1つ以上の追跡技術を利用することによってロボットの位置を決定することができる。ロボット420は、その表面上にIRインジケータなどの1つ以上のマーカ又はインジケータを含み得る。ロボットトラッカ440は、IRセンサ220を利用して、ロボットの相対位置を決定することができる。一部の実装形態では、ロボットトラッカ440は、類似技術を実行することによって、ロボット420の配向(例えば、姿勢)を判定することができる。ロボット420の位置を追跡するために使用されるセンサは、画像捕捉デバイス104から既知の距離にあるため、IRセンサ220によって検出されるマーカの位置は、画像捕捉デバイス104によって捕捉される3D点群と同一の基準座標系にマッピングされ得る。
【0085】
一部の実装形態では、画像捕捉デバイス104は、ロボット420の位置を決定するために使用されてもよい。例えば、ロボット420は、とりわけ、明るい別個の色、パターン、又はQRコードなどの1つ以上のグラフィカルインジケータを含み得る。患者の3D点群を捕捉することに加えて、画像捕捉デバイス104は、外科的環境の画像を捕捉することができ、ロボットトラッカ440は、画像分析技術を実行し、画像208内のインジケータの検出された位置に基づいて、画像208内の外科用ロボットの位置を決定することができる。外科用ロボットの位置及び配向は、周期的に、例えば、リアルタイム又は略リアルタイムで算出されることができ、ロボットトラッカ440が経時的にロボット420の移動を追跡することを可能にする。一部の実装形態では、ロボットトラッカ440は、例えば、3D点群と外科用ロボットに結合されたインジケータとの間の統一基準座標系を確立するために、較正処置を実行することができる。較正処置は、外科的環境内に位置決めされたグローバルインジケータに対するロボット420の位置を識別することを含み得る。ロボットトラッカ440は、ロボット420のリアルタイム又は略リアルタイムの位置がロボット制御システム405の他の構成要素によってアクセスされ得るように、ロボットトラッカ440のメモリ内にロボット420の位置を記憶することができる。較正処置は、患者に対するロボット420の姿勢(例えば、位置及び配向)を較正するために、外科的環境内の所定のマーカ又はパターン(例えば、チェス盤パターンなど)を使用することを含み得る。
【0086】
ロボット420の位置を追跡することは、器具430の位置を追跡することを含み得る。本明細書で上述したように、器具430は、器具430又は器具430をロボット420に結合するブラケット/コネクタに結合されたそれ自体のインジケータを含み得る。器具430に結合されるインジケータの例は、図3に示される拡大図312において被追跡器具340として示される。ロボットトラッカ440は、上述したものと同様の技術を用いて、器具430及びロボットの位置及び配向をリアルタイム又は略リアルタイムで追跡することができる。ロボットトラッカ440によって決定された器具430の位置及び配向は、ロボット制御システム405のメモリに記憶され得る。一部の実装形態では、ロボットトラッカ440は、器具430の位置及び配向を個別のタイムスタンプに関連付けて記憶することができる。
【0087】
画像位置合わせ構成要素445は、潜在的な標的のインジケータを含み得る患者の3D画像と、患者から捕捉された3D点群とを整列させるために、画像対患者位置合わせ技術を実行することができる。例えば、頭蓋内手術の場合、標的は、患者の頭蓋骨内の生検部位であってもよい。患者の頭部のCTスキャンなどの3D画像は、患者の顔の3D表現と、患者の脳内の生検部位の指示との両方を含み得る。患者の3D画像を外科的環境内の患者のリアルタイム3D点群と位置合わせすることによって、画像位置合わせ構成要素445は、患者の3D画像及び任意の標的インジケータを、3D点群、ロボット420の追跡された位置、及び器具430の追跡された位置の両方と同じ基準座標系にマッピングすることができる。そうすることは、ロボットトラッカ440が、患者及び患者の3D画像において示される標的領域の両方に対して器具430の位置を追跡することを可能にする。3D画像を画像捕捉デバイス104によって捕捉された3D点群に位置合わせするために、画像位置合わせ構成要素445は、ランダムサンプルコンセンサス(RANSAC)アルゴリズム及び反復最近点(ICP)アルゴリズムなどの反復フィッティングプロセスを実行することができる。画像位置合わせ構成要素445は、3D画像を患者の3D点群に連続的に位置合わせすることができる。位置合わせが失敗した場合(例えば、適合アルゴリズムが、所定の誤差閾値内で3D画像を3D点群に適合させることに失敗した場合など)、画像位置合わせ構成要素445は、失敗を示す信号を生成することができる。
【0088】
本明細書で上述したように、点群アクセサ435は、外科的環境において経時的に患者の位置を連続的に(例えば、画像が画像捕捉デバイス104によって捕捉されるたびに)追跡することができる。移動検出器450は、経時的に3D点群の位置を比較することによって、患者の位置の変化を検出することができる。例えば、点群アクセサ435が、画像捕捉デバイス104によって捕捉された新しい画像に基づいて新しい3D点群を受信するか、又はそれにアクセスするとき、点群アクセサ435は、3D点群内の各点の位置をロボット制御システム405のメモリ内に、例えば、1つ以上のデータ構造内に記憶することができる。3D点群が捕捉された順序がロボット制御システム405の構成要素によって決定され得るように、データ構造は、タイムスタンプされ得るか、又は順序のインデックス若しくは他の指示が、別様にデータ構造内に符号化され得る。点群アクセサ435は、患者を表す新しい3D点群を、例えば、画像捕捉デバイス104によって捕捉された所定の数の最近のフレームがロボット制御システム405のメモリ内に記憶されるように、ローリングキュー内に記憶し得る。
【0089】
移動検出器450は、外科的環境内の患者の移動量を決定するために、ロボット制御システム405のメモリに記憶された3D点群にアクセスすることができる。外科的処置中に使用されるときの本明細書に記載されるシステム及び方法の1つの改善は、患者が拘束されていないときに、技術が正確な患者追跡を提供することである。特定の頭蓋内処置を含む特定の外科的処置は、患者を外科手術台又は装置に固定することなく実行することができる。移動検出器450は、かかるシナリオにおいて患者の移動を正確に検出し、ロボット制御システム405の構成要素のための信号を生成して、患者の移動に適応するようにロボット420の位置を調整することができる。移動検出器450は、患者を表す3D点群の以前の位置を、画像捕捉デバイス104によって捕捉された現在の又は新しい3D点群の位置と比較することができる。一部の実装形態では、移動検出器450は、3D点群の2つのセット、すなわち、前に捕捉されたフレームからのセットと、現在捕捉されている(例えば、直近に捕捉された)フレームからの別のセットとを維持することができる。比較は、3D点群の基準座標系内の距離(例えば、ユークリッド距離など)とすることができる。
【0090】
移動検出器450は、反復計算を実行して、第1の3D点群(例えば、前のフレーム)内のどの3D点が第2の3D点群(例えば、現在のフレーム)内の3D点に対応するかを判定することができる。例えば、移動検出器450は、反復ICPアルゴリズム又はRANSACフィッティング技術を実行して、現在のフレーム中のどの点が前のフレーム中の点に対応するかを近似することができる。次いで、対応する点の間の距離を決定することができる。一部の実装形態では、計算性能を改善するために、移動検出器450は、(例えば、点群に対してダウンサンプリング技術を実行することなどによって)点のサブセットを比較することができる。例えば、点の対応関係を求めた後、移動検出器450は、比較する(例えば、空間内の点間の距離を決定する)ために、各点群間のマッチング点ペアのサブセットを選択することができる。一部の実装形態では、外科的環境内の患者の移動を決定するために、移動検出器450は、フレーム間の3D点の平均移動を計算することができる。新しいフレームが画像捕捉デバイス104によって捕捉されると、移動検出器450は、前のフレームを表す3D点群を現在のフレームで(例えば、メモリ内に)上書きし、現在のフレームを新しいフレームの3D点群で上書きし、現在のフレームと前のフレームとの間の患者の移動を計算することができる。経時的な外科的環境内の患者の移動は、移動値(例えば、経時的な位置の変化、患者の絶対位置など)がロボット制御システム405の構成要素にアクセス可能であるように、ロボット制御システム405のメモリ内の1つ以上のデータ構造内に記憶され得る。一部の実装形態では、移動検出器450は、移動が、前のフレームから、又は所定の開始位置(例えば、処置の開始時における患者の位置など)から所定の閾値(例えば、数ミリメートルを上回るなど)を超えることの検出に応答して、患者の移動を検出することができる。一部の実装形態では、所定の閾値は、外科的環境内の標的位置に関連付けられた標的経路又は外科的処置の一部として定義され得る。例えば、外科医は、ロボットが高精度の移動を必要とする領域をナビゲートしている場合、1つ以上の閾値を小さいと定義するためのユーザ入力を提供し得る。したがって、ロボットナビゲータ455は、移動に関する複数の所定の閾値を有するデータ構造を維持することができ、各所定の閾値は、患者に対応する画像データの複数の部分のうちの特定の部分に割り当てられ、ロボットナビゲータ455が、より動的でありかつ基礎となる解剖学及び外科手術考慮事項に応答するやり方で、ナビゲーションを制御することを可能にする。
【0091】
ロボットナビゲータ455は、患者の位置の変化の検出に応答して、1つ以上の点の位置の変化に基づいて外科用ロボットの位置を修正するための命令を生成することができる。本明細書で上述したように、ロボット420は、器具430の標的位置を示す命令又は信号を実行又は解釈することによって、その位置を変更することができる。例えば、ロボット420は、器具430のための標的位置を示すかかる命令を実行し、ロボット420内の種々の可動構成要素を作動させ、器具430を標的位置に移動させることができる。ロボットナビゲータ455は、患者が固定されていないときでさえ、ロボット420又は器具430が外科的環境内の標的位置又は標的経路と整列させられるように、患者の移動に従ってロボット420をナビゲートすることができる。ロボットナビゲータ455は、コンピュータ命令を使用して、例えば、所定のプロセス又は処置が完了する(例えば、ロボット420又は器具430が外科的環境内の1つ以上の所定の標的にナビゲートされる)、又は終了条件がトリガされる(例えば、協調モード条件)まで、ロボット420の移動を生じさせるコマンドを生成することができる。一部の実装形態では、標的位置又は標的経路は、画像捕捉デバイス104の基準座標系内の患者を表すリアルタイム3D点群に位置合わせされる、3D画像(例えば、CTスキャン又はMRIスキャンなど)の一部として規定され得る。器具430及びロボット420の位置も同じ基準座標系内にマッピングされるため、器具430とロボット420との間の距離の正確な測定値を決定することができる。例えば、外科的環境内の器具430の所定の部分(例えば、先端又はツール端部)の位置を近似するために、器具の既知の属性に基づいてこの距離にオフセットが追加されてもよい。
【0092】
患者の移動が移動検出器450によって検出されると、ロボットナビゲータ455は、患者の移動に従ってロボット420を移動させるための対応する命令を生成することができる。例えば、CTスキャンから、又はユーザ入力から、器具430は、外科的処置を実行するために、外科的環境内の標的経路又は標的位置と整列させられてもよい。患者が外科的処置中に移動する場合、ロボットナビゲータ455は、例えば、ロボット430の1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、検出された患者の移動と同期して器具420を移動させるための命令を生成することができる。例えば、標的経路の左に2cmの患者の移動が検出された場合、ロボットナビゲータ455は、標的経路に従って、ロボット430の位置を同じ左に2cm調整することができる。一部の実装形態では、ロボットナビゲータ455は、所定の軌道(例えば、脳内の標的位置に到達するための患者の頭蓋骨の中への経路など)に沿ってロボット420をナビゲートしながら、調整を行うことができる。例えば、ロボット420は、患者の移動に従って左又は右にナビゲートされる一方で、器具430を所定の軌道に沿って下方に患者の頭蓋骨内にナビゲートすることもできる。これは、処置中の任意の患者の移動が患者に害をもたらす可能性があるため、患者の移動を追跡して補償しない他のロボット実装形態に対して改善を提供する。患者の移動に従って器具を移動させることによって、所定の標的経路がより正確に追従され得るため、患者の他の部分との意図しない衝突又は干渉が軽減される。
【0093】
ロボットナビゲータ455は、突然の患者の移動を補償するために、これらの調整を反復的に又は周期的に毎秒複数回実行することができる。本明細書で上述したように、移動検出器450は、患者の移動を周期的に(例えば、画像捕捉デバイス104の捕捉レートなどに従って)計算することができる。新しいフレームが画像捕捉デバイス104によって捕捉されるたびに、移動検出器450は、患者の位置の変化が閾値(例えば、以前のフレーム、処置の開始時の患者位置、又は器具430の位置などに対する所定の移動量)を満たすかどうかを判定することができる。ロボットナビゲータ455は、次いで、器具430が患者の位置の検出された変化に対して所定の経路(例えば、所定の軌道)と整列させられるように、ロボット420の位置を調整することができる。軌道又は経路の位置の変化は、リアルタイムで患者に位置合わせされる3D画像(例えば、CTスキャン又はMRIスキャンなど)内の1つ以上の標的インジケータの位置又は配向の変化に基づいて決定され得る。
【0094】
一部の実装形態では、3D画像は、選択された標的への経路又は軌道を示すように修正され得る。同様に、複数の標的又は経路(又は経路のセグメント)が存在する実装形態では、外科医は、ユーザ入力(例えば、ボタン選択、タッチスクリーンによる選択など)を介して、それに沿ってロボット420が器具430をナビゲートすべき1つ以上の経路を選択してもよい。ロボットナビゲータ455は、本明細書で説明されるように、リアルタイムで患者の移動を補償しながら、選択された経路に沿ってロボット420をナビゲートすることができる。ロボットナビゲータ455は、複数のシナリオでロボット420をナビゲートすることができる。例えば、ロボットナビゲータ455は、ロボットが依然として空間内にある(例えば、患者に剛性ポートを提供する)間に、ロボット420の位置を調整することができる。一部の実装形態では、ロボットナビゲータ455は、ロボット420のオペレータがロボット420又は器具430を所定の軌道を通して標的位置まで下方に移動させている間に、1つ以上の軸に沿ってロボットの位置を調整することができる。
【0095】
ここで図5を参照すると、1つ以上の実装形態による、患者追跡技術に基づいて外科用ロボットを制御する例示的な方法500が示されている。方法500は、例えば、ロボット制御システム405、605、若しくは805、又は図12A及び図12Bに関連して本明細書に説明されるコンピューティングシステム1000を含む、本明細書に説明される任意の他のコンピューティングデバイスによって実行され得る。方法500の概要では、ステップ502において、ロボット制御システム(例えば、ロボット制御システム405など)は、患者に対応する3D点群にアクセスすることができる。ステップ504において、ロボット制御システムは、外科用ロボット(例えば、ロボット420)の位置を決定することができる。ステップ506において、ロボット制御システムは、患者の位置を経時的に監視することができる。ステップ508において、ロボット制御システムは、患者の移動が検出されたかどうかを判定することができる。ステップ510において、ロボット制御システムは、検出された移動に従ってロボットを移動させる命令を生成することができる。
【0096】
方法500の更なる詳細では、ステップ502において、ロボット制御システム(例えば、ロボット制御システム405など)は、患者に対応する3D点群にアクセスすることができる。本明細書で上述したように、画像処理システム(例えば、画像処理システム100)は、3Dカメラとすることができる1つ以上の画像捕捉デバイス(例えば、画像捕捉デバイス104)を利用して、外科的処置中に患者のリアルタイム(又は略リアルタイム)3D画像を捕捉することができる。3D点群は、例えば、患者の頭部、患者の身体、又は手術を実行することができる患者の任意の他の部分に対応することができる。一部の実装形態では、画像捕捉デバイスは、患者の顔の画像を捕捉するように外科的環境内に位置決めされ得る。一部の実装形態では、ロボット制御システムは、画像セグメンテーションモデルを画像捕捉デバイスによって捕捉された3D点群に適用することができる。一部の実装形態では、ロボット制御システムは、例えば、1つ以上の通信インターフェースを介して、画像処理システムの処理回路から点群を受信することができる。一部の実装形態では、ロボット制御システムは、大域的環境(例えば、患者に対応する3D点群がアクセスされ得る外科的環境内の静的点など)の指示を捕捉することができる。ロボット制御システムは、例えば、画像捕捉デバイスの所定のフレームレートで、患者を反復的に表す点群を含む3D画像を受信することができる。ロボット制御システムは、ユーザを表す3D点群にアクセスするか、又は別様にそれを読み出し、ロボット制御システムの他の構成要素によってアクセスされ得るように、3D点群をロボット制御システムのメモリ内に記憶することができる。3D点群は、患者の位置及び配向をリアルタイム又は略リアルタイムで決定することができるように、それぞれのタイムスタンプに関連付けて記憶することができる。
【0097】
ステップ504において、ロボット制御システムは、外科用ロボット(例えば、ロボット420)の位置を決定することができる。患者の位置を追跡することに加えて、ロボット制御システムは、3D点群と同じ基準座標系内の外科用ロボット(例えば、ロボット420)の位置を決定することができる。本明細書の上記で説明されるように、画像捕捉デバイスは、外科的環境内の患者の画像を捕捉することができる。画像捕捉デバイスは、IRセンサ(例えば、IRセンサ220)などの他のセンサに対して外科的環境内で所定の姿勢を有し得る。本明細書で上述したように、IRセンサは、光のIR波長を捕捉するIRカメラとすることができる。ロボット制御システムは、ロボットの位置を決定するために、IR追跡技術などの1つ以上の追跡技術を利用することによってロボットの位置を決定することができる。ロボットは、その表面上にIRインジケータなどの1つ以上のマーカ又はインジケータを含み得る。ロボット制御システムは、IRセンサを利用して、ロボットの相対位置を決定することができる。一部の実装形態では、ロボット制御システムは、類似技術を実行することによって、ロボットの配向(例えば、姿勢)を判定することができる。ロボットの位置を追跡するために使用されるセンサは、画像捕捉デバイスから既知の距離にあるため、IRセンサによって検出されるマーカの位置は、画像捕捉デバイスによって捕捉される3D点群と同一の基準座標系にマッピングされ得る。
【0098】
一部の実装形態では、画像捕捉デバイスは、ロボットの位置を決定するために使用されてもよい。例えば、ロボットは、とりわけ、明るい別個の色又はQRコードなどの1つ以上のグラフィカルインジケータを含み得る。患者の3D点群を捕捉することに加えて、画像捕捉デバイスは、外科的環境の画像を捕捉することができ、ロボット制御システムは、画像分析技術を行い、画像内のインジケータの検出された位置に基づいて、画像内の外科用ロボットの位置を決定することができる。外科用ロボットの位置及び配向は、周期的に、例えば、リアルタイム又は略リアルタイムで算出されることができ、ロボット制御システムが経時的にロボットの移動を追跡することを可能にする。一部の実装形態では、ロボット制御システムは、例えば、3D点群と外科用ロボットに結合されたインジケータとの間の統一基準座標系を確立するように、較正処置を実行することができる。較正処置は、外科的環境内に位置決めされたグローバルインジケータに対するロボットの位置を識別することを含み得る。ロボット制御システムは、ロボットのリアルタイム又は略リアルタイムの位置がロボット制御システムの他の構成要素によってアクセスされ得るように、ロボットの位置をロボット制御システムのメモリ内に記憶することができる。
【0099】
ロボットの位置を追跡することは、ロボットに結合された器具(例えば、器具430)の位置を追跡することを含み得る。本明細書で上述したように、器具は、器具又は器具をロボットに結合するブラケット/コネクタに結合されたそれ自体のインジケータを含み得る。器具に結合されるインジケータの一例は、図3に示される拡大図312において被追跡器具340として示される。ロボット制御システムは、上述したものと同様の技術を使用して、器具及びロボットの位置及び配向をリアルタイム又は略リアルタイムで追跡することができる。ロボット制御システムによって決定された器具の位置及び配向は、ロボット制御システムのメモリに記憶することができる。一部の実装形態では、ロボット制御システムは、器具の位置及び配向をそれぞれのタイムスタンプに関連付けて記憶することができる。
【0100】
ステップ506において、ロボット制御システムは、患者の位置を経時的に監視することができる。ロボット制御システムは、患者の移動を正確に検出し、患者の移動に適応するようにロボット420の位置を調整するための信号を生成することができる。ロボット制御システムは、患者を表す3D点群の以前の位置を、画像捕捉デバイス104によって捕捉された現在の又は新しい3D点群の位置と比較することができる。一部の実装形態では、ロボット制御システムは、3D点群の2つのセット、すなわち、以前に捕捉されたフレームからのものと、現在捕捉されている(例えば、直近に捕捉された)フレームからの別のものとを維持することができる。比較は、3D点群の基準座標系内の距離(例えば、ユークリッド距離など)とすることができる。ロボット制御システムは、第1の3D点群(例えば、前のフレーム)内のどの3D点が第2の3D点群(例えば、現在のフレーム)内の3D点に対応するかを判定するために反復計算を実行することができる。例えば、ロボット制御システムは、反復ICPアルゴリズム又はRANSACフィッティング技術を実行して、現在のフレーム内のどの点が前のフレーム内の点に対応するかを近似することができる。次いで、対応する点の間の距離を決定することができる。一部の実装形態では、計算性能を向上させるために、ロボット制御システムは、(例えば、点群に対してダウンサンプリング技術を実行することによって)点のサブセットを比較することができる。例えば、点の対応関係を求めた後、ロボット制御システムは、比較する(例えば、空間内の点間の距離を決定する)ために、各点群間のマッチング点ペアのサブセットを選択することができる。一部の実装形態では、外科的環境内の患者の移動を判定するために、ロボット制御システムは、フレーム間の3D点の平均移動を計算することができる。
【0101】
ステップ508において、ロボット制御システムは、患者の移動が検出されたかどうかを判定することができる。新しいフレームが画像捕捉デバイス104によって捕捉されると、ロボット制御システムは、前のフレームを表す3D点群を現在のフレームで(例えば、メモリ内に)上書きし、現在のフレームを新しいフレームの3D点群で上書きし、現在のフレームと前のフレームとの間の患者の移動を計算することができる。経時的な外科的環境内の患者の移動は、移動値(例えば、経時的な位置の変化、患者の絶対位置など)がロボット制御システムの構成要素にアクセス可能であるように、ロボット制御システムのメモリ内の1つ以上のデータ構造内に記憶され得る。一部の実装形態では、ロボット制御システムは、移動が前のフレームから、又は所定の開始位置(例えば、処置の開始時における患者の位置など)から所定の閾値(例えば、数ミリメートルを上回るなど)を超える場合、患者の移動を検出することができる。閾値を超える場合、ロボット制御システムは、ステップ510において、ロボットを移動させる命令を生成することができる。閾値を超えない場合、ロボット制御システムは、ステップ506において、患者の移動を監視し続けることができる。
【0102】
ステップ510において、ロボット制御システムは、検出された移動に従ってロボットを移動させる命令を生成することができる。本明細書で上述したように、ロボットは、器具の標的位置を示す命令又は信号を実行又は解釈することによってその位置を変更することができる。例えば、ロボットは、器具のための標的位置を示すかかる命令を実行し、ロボット内の種々の可動構成要素を作動させ、器具を標的位置に移動させることができる。ロボット制御システムは、患者が固定されていないときでさえ、ロボット又は器具が外科的環境内の標的位置又は標的経路と整列させられるように、患者の移動に従ってロボットをナビゲートすることができる。一部の実装形態では、標的位置又は標的経路は、画像捕捉デバイスの基準座標系内の患者を表すリアルタイム3D点群に位置合わせされる、3D画像(例えば、CTスキャン又はMRIスキャンなど)の一部として規定され得る。器具及びロボットの位置も同じ基準座標系内にマッピングされるため、器具とロボットとの間の距離の正確な測定値を決定することができる。例えば、外科的環境内の器具の所定の部分(例えば、先端又はツール端部)の位置を近似するために、器具の既知の属性に基づいてこの距離にオフセットが追加されてもよい。
【0103】
患者の移動がロボット制御システムによって検出されると、ロボット制御システムは、患者の移動に従ってロボットを移動させるための対応する命令を生成することができる。例えば、CTスキャンから、又はユーザ入力から、器具は、外科的処置を実行するために、外科的環境内の標的経路又は標的位置と整列させられてもよい。患者が外科的処置中に移動する場合、ロボット制御システムは、例えば、ロボットの1つ以上のアプリケーションプログラミングインターフェース(API)を使用して、検出された患者の移動と同期して器具を移動させるための命令を生成することができる。例えば、標的経路の左に2cmの患者の移動が検出された場合、ロボット制御システムは、標的経路に従って、ロボットの位置を同じ左に2cm調整することができる。一部の実装形態では、ロボット制御システムは、所定の軌道(例えば、脳内の標的位置に到達するための患者の頭蓋骨の中への経路など)に沿ってロボットをナビゲートしながら、調整を行うことができる。例えば、ロボットは、患者の移動に従って左又は右にナビゲートされる一方で、器具を所定の軌道に沿って下方に患者の頭蓋骨内にナビゲートすることもできる。これは、処置中の任意の患者の移動が患者に害をもたらす可能性があるため、患者の移動を追跡して補償しない他のロボット実装形態に対して改善を提供する。患者の移動に従って器具を移動させることによって、所定の標的経路がより正確に追従され得るため、患者の他の部分との意図しない衝突又は干渉が軽減される。
【0104】
ロボット制御システムは、突然の患者の移動を補償するために、これらの調整を反復的に、又は周期的に、毎秒複数回実行することができる。本明細書で上述したように、ロボット制御システムは、患者の移動を周期的に(例えば、画像捕捉デバイスの捕捉速度などに従って)計算することができる。新しいフレームが画像捕捉デバイスによって捕捉されるたびに、ロボット制御システムは、患者の位置の変化が閾値(例えば、以前のフレーム、処置の開始時の患者位置、又は器具の位置などに対する所定の移動量)を満たすかどうかを判定することができる。ロボット制御システムは、次いで、器具が患者の位置の検出された変化に対して所定の経路(例えば、所定の軌道)と整列させられるように、ロボットの位置を調整することができる。軌道又は経路の位置の変化は、リアルタイムで患者に位置合わせされる3D画像(例えば、CTスキャン又はMRIスキャンなど)内の1つ以上の標的インジケータの位置又は配向の変化に基づいて決定され得る。一部の実装形態では、3D画像は、選択された標的への経路又は軌道を示すように修正され得る。同様に、複数の標的又は経路(又は経路のセグメント)が存在する実装形態では、外科医は、ユーザ入力(例えば、ボタン選択、タッチスクリーンによる選択など)を介して、それに沿ってロボットが器具をナビゲートすべき1つ以上の経路を選択してもよい。ロボット制御システムは、本明細書に説明されるように、リアルタイムで患者の移動を補償しながら、選択された経路に沿ってロボットをナビゲートすることができる。
【0105】
(C.トルク検知技術に基づく外科用ロボットの制御)
本明細書に記載されるシステム及び方法は、外科的環境において外科用ロボットを制御するための種々の技術を提供する。このセクションは、例えば、患者又は患者に対して動作する外科用ロボット上に位置決めされ得る、トルクセンサと関連して動作するかかる技術を説明する。本明細書に説明される技術は、患者によって印加される力のリアルタイムトルク測定に基づいて、外科用ロボットのための改良された移動追跡及び調整を提供する。本明細書に説明されるシステム及び方法によって検出されるトルク測定値は、外科手術中に外科用ツールの位置又は配向を修正するために使用されることができ、これは、外科的処置中の患者安全性の改善を提供する。本明細書に説明されるトルクセンサは、患者の身体上又は患者の手術部位の周囲の種々の場所に位置決めされてもよい。一部の実装形態では、加速度計、磁力計、ジャイロスコープ、又はIMUなどのオールインワンセンサなどの他のタイプのセンサが、トルクセンサと関連して、又はその代わりに利用され得る。
【0106】
ここで図6を参照すると、1つ以上の実装形態による、トルク検知技術に基づいて、外科用ロボット(例えば、ロボット310、ロボット420など)を制御するための例示的なシステム600が示されている。システム600は、少なくとも1つのロボット制御システム605、少なくとも1つのロボット620、少なくとも1つの画像処理システム100、及び1つ以上のセンサ655を含み得る。ロボット制御システム605は、少なくとも1つの測定識別器635、少なくとも1つのロボットトラッカ640、少なくとも1つの移動検出器645、及び少なくとも1つのロボットナビゲータ650を含み得る。ロボット620は、器具630を含み得る。
【0107】
システム600の構成要素(例えば、ロボット制御システム605、画像処理システム100、ロボット620など)の各々は、図12A及び図12Bと併せて本明細書に詳述されるコンピューティングシステム(例えば、コンピューティングシステム1000、本明細書に説明される任意の他のコンピューティングシステムなど)のハードウェア構成要素又はハードウェア構成要素とソフトウェアの組み合わせを使用して実装され得る。ロボット制御システム605の構成要素(例えば、測定識別器635、ロボットトラッカ640、移動検出器645、ロボットナビゲータ650など)の各々は、本明細書に詳述される機能を果たすことができる。画像処理システム100及びロボット制御システム605は、別個のシステムとして示されているが、ロボット制御システム605は、画像処理システム100の一部であってもよく(例えば、少なくとも部分的に、処理回路212などによって実装される)、又はその逆であってもよいことを理解されたい(例えば、ロボット制御システム605の1つ以上のプロセッサ上に実装される画像処理システム100の処理回路212)。同様に、ロボット制御システム605は、図10に関連して説明される画像処理システム1000とともに実装されてもよく、又はそれを含んでもよく、あるいはその逆も同様である。画像処理システム100及びロボット制御システム605が別個のコンピューティングシステムとして実装される実装形態では、画像処理システム100及びロボット制御システム605は、本明細書で説明するように、通信インターフェースを介して情報を交換することができる。同様に、ロボット制御システム605及びロボット620は、1つ以上の通信インターフェースを介して通信することができる。ロボット制御システム605は、任意の生成された命令を実行のためにロボット620に通信することができる。
【0108】
ロボット620及び器具630は、それぞれ、ロボット420及び器具430と同様であり、それらの構造及び機能のうちのいずれかを含み得る。加えて、ロボット制御システム605は、ロボット制御システム605の構造又は機能のいずれかを含み得る。ロボット制御システム605は、図1A図1B、及び図2と併せて本明細書に説明される画像処理システム100である、又はその一部を形成することができ、本明細書に説明されるような画像処理システム100の機能のうちのいずれかを実行することができる。ロボット制御システム605は、少なくとも1つのプロセッサ及びメモリ(例えば、処理回路)を含み得る。メモリは、プロセッサによって実行されたとき、本明細書で説明する動作のうちの1又は複数をプロセッサに実行させるプロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、ASIC、FPGA、GPUなど、又はそれらの組み合わせを含み得る。メモリは、限定はしないが、プロセッサにプログラム命令を与えることが可能な電子、光、磁気、又は任意の他の記憶若しくは送信デバイスを含み得る。メモリは、メモリチップ、ASIC、FPGA、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学メディア、又はプロセッサが命令を読み取ることができる任意の他の適切なメモリを更に含み得る。命令は、任意の適切なコンピュータプログラミング言語からのコードを含み得る。ロボット制御システム605は、本明細書に記載の種々の機能を実行することができる1つ以上のコンピューティングデバイス又はサーバを含み得る。ロボット制御システム605は、構成要素のうちのいずれか又は全てを含み、図12A及び図12Bに関連して本明細書に説明されるコンピュータシステム1000の機能のうちのいずれか又は全てを実行することができる。
【0109】
センサ655は、例えば、外科的環境において患者からの移動を検出することができる任意のタイプのセンサとすることができる。センサ655は、トルクなどの検出された機械力をアナログ又はデジタル信号に変換する力変換器とすることができる。この信号は、1つ以上の通信インターフェースを介してロボット制御システム605に通信することができる。概して、センサ655は、外科的環境の条件を連続的に(例えば、リアルタイム又は略リアルタイムなどで)、又は所定の周期的間隔で監視することができる。一部の実装形態では、センサ655は、所定の閾値を超えるトルク又は移動を検出することに応答して、信号をロボット制御システム605に提供してもよい。トルクを測定することに加えて、センサ655は、トルクセンサ、加速度計、ジャイロスコープ、磁力計、又はIMUなどのオールインワンセンサなどの任意のタイプの移動センサを含み得る。センサからの測定値は、要求に応答して、所定の時間周期で、又は所定の閾値を超える信号の検出に応答して、ロボット制御システム605に通信され得る。一部の実装形態では、センサ655のうちの1又は複数は、ロボット620又は器具630の1つ以上の部分に位置決めされ得る。
【0110】
ここでロボット制御システム605の動作を参照すると、測定識別器635は、センサ655によって捕捉された測定値を識別し、センサ測定値をロボット制御システム605のメモリに記憶することができる。一部の実装形態では、測定識別器635は、例えば、所定の時間期間において、センサ655に要求を周期的に伝送することができる。要求に応答して、センサ655は、各センサ655の測定値を測定識別器635に伝送することができる。測定識別器635は、センサ測定値を、例えば、時間順に、又はそうでなければセンサ測定値が捕捉されたときに対応するタイムスタンプに関連付けて記憶することができる。一部の実装形態では、測定識別器635は、測定値が捕捉されたセンサ655の識別器に関連して各センサ測定値を記憶することができる。一部の実装形態では、測定識別器635は、各測定値と、それぞれのセンサ655が結合された物体(例えば、患者、ロボット620、器具630など)との間の関連付けを記憶することができる。これは、ロボット制御システム605の構成要素が、外科的環境内の各物体によって受ける又は生成される力を測定又は検出することを可能にする。
【0111】
ロボットトラッカ640は、外科的環境内のロボット620の位置を決定することができる。本明細書で上述したように、画像捕捉デバイス104は、外科的環境内の患者の画像を捕捉することができる。画像捕捉デバイス104は、IRセンサ220などの他のセンサに対して外科的環境内で所定の姿勢を有し得る。本明細書で上述したように、IRセンサ220は、光のIR波長を捕捉するIRカメラとすることができる。ロボットトラッカ640は、ロボット620の位置を決定するために、IR追跡技術又はコンピュータビジョン追跡技術などの1つ以上の追跡技術を利用することによってロボットの位置を決定することができる。ロボット620は、その表面上にIRインジケータなどの1つ以上のマーカ又はインジケータを含み得る。ロボットトラッカ640は、IRセンサ220を利用して、外科的環境内のロボット620の相対位置を決定することができる。一部の実装形態では、ロボットトラッカ640は、類似技術を実行することによって、ロボット620の配向(例えば、姿勢)を判定することができる。ロボット620の位置を追跡するために使用されるIRセンサ220(又は他のセンサ)は、画像捕捉デバイス104から既知の距離にあるため、IRセンサ220によって検出されたマーカの位置は、画像捕捉デバイス104によって捕捉された3D点群と同じ基準座標系にマッピングすることができる。
【0112】
一部の実装形態では、画像捕捉デバイス104は、ロボット620の位置を決定するために使用されてもよい。例えば、ロボット620は、とりわけ、明るい別個の色、パターン、又はQRコードなどの1つ以上のグラフィカルインジケータを含み得る。画像捕捉デバイス104は、外科的環境の画像を捕捉することができ、ロボットトラッカ640は、画像分析技術を実行し、画像208内のインジケータの検出された位置に基づいて、画像208内の外科用ロボットの位置を決定することができる。外科用ロボットの位置及び配向は、周期的に、例えば、リアルタイム又は略リアルタイムで算出されることができ、ロボットトラッカ620が経時的にロボット620の移動を追跡することを可能にする。一部の実装形態では、ロボットトラッカ620は、例えば、3D点群と外科用ロボットに結合されたインジケータとの間の統一基準座標系を確立するために、較正処置を実行することができる。較正処置は、外科的環境内に位置決めされたグローバルインジケータに対するロボット620の位置を識別することを含み得る。ロボットトラッカ640は、ロボット620のリアルタイム又は略リアルタイムの位置がロボット制御システム605の他の構成要素によってアクセスされ得るように、ロボットトラッカ640のメモリ内にロボット620の位置を記憶することができる。較正処置は、患者に対するロボット620の姿勢(例えば、位置及び配向)を較正するために、外科的環境内の所定のマーカ又はパターン(例えば、チェス盤パターンなど)を使用することを含み得る。
【0113】
ロボット620の位置を追跡することは、器具630の位置を追跡することを含み得る。本明細書で上述したように、器具630は、器具630又は器具630をロボット620に結合するブラケット/コネクタに結合されたそれ自体のインジケータを含み得る。器具630に結合されるインジケータの例は、図3に示される拡大図312において被追跡器具340として示される。ロボットトラッカ640は、上述したものと同様の技術を用いて、器具630及びロボット620の位置及び配向をリアルタイム又は略リアルタイムで追跡することができる。ロボットトラッカ640によって決定された器具630の位置及び配向は、ロボット制御システム605のメモリに記憶され得る。一部の実装形態では、ロボットトラッカ640は、器具630の位置及び配向を個別のタイムスタンプに関連付けて記憶することができる。一部の実装形態では、ロボット620又は器具630の位置を追跡することはまた、ロボット620又は器具630に結合された1つ以上のセンサ655から捕捉された測定値に基づいて実行され得る。例えば、ロボットトラッカ640は、例えば、経時的にロボット620又は器具630の位置を補間するために、(センサ655から捕捉された)加速度又は速度値を使用して、ロボット620の位置を決定してもよい。
【0114】
移動検出器645は、1つ以上のセンサ655によって捕捉された測定値のセットに基づいて、位置修正条件を検出することができる。本明細書で上述したように、一部の実装形態では、センサ655のうちの1又は複数は、患者の1つ以上の部分に位置決めすることができる。これらのセンサ655から捕捉された測定値は、患者の位置が経時的に変化した(例えば、外科的処置の開始以来、加速度を受けた、力又はトルクを及ぼした)ことを移動検出器645に示すことができる。移動検出器645は、経時的に患者の位置を(例えば、加速度又は速度測定の場合)積分する又は(例えば、位置測定の場合)補間することによって、患者の移動を検出することができる。移動検出器645は、対応するセンサ測定値が捕捉されたときに対応するそれぞれのタイムスタンプに関連して、患者の検出された位置を記憶することができる。このようにして、移動検出器645は、外科的環境内の経時的な患者の位置を決定し、記録することができる。
【0115】
移動検出器645は、患者の位置が位置修正条件を満たしたかどうかを検出することができる。位置修正条件は、外科的処置の初期条件からの所定量の移動又は偏差とすることができる。センサ655の測定値から決定された患者の記録された位置値を使用して、移動検出器645は、患者の現在の(例えば、直近のセンサ測定値からの)位置を患者の初期条件と比較することによって、経時的な移動量を決定することができる。位置修正条件が満たされる場合、ロボットナビゲータ650は、患者への傷害の発生を最小限にするように、ロボット620又は器具630の位置を調整することができる。
【0116】
一部の実装形態では、移動検出器645は、経時的な患者の判定された移動が所定の閾値移動量を上回る又はそれと等しい場合、位置修正条件が満たされたと判定することができる。一部の実装形態では、患者の移動は、調整された位置が、ロボット620又は器具630の位置の後続調整のための新しいベースラインとなるように、ロボット620の以前の位置調整に続く患者の位置から測定され得る。本明細書の上記で説明されるように、ロボット620は、器具630が標的位置と相互作用し、外科手術の一部を実行することができるように、所定の軌道に沿ってナビゲートされ得る。一部の実装形態では、移動検出器645は、外科用ロボットの位置が所定の軌道から逸脱したと判定することによって、位置修正条件が満たされたことを検出することができる。例えば、ロボット620上に位置決めされた1つ以上のセンサ655の測定値は、ロボット620が所定の軌道から逸脱することを引き起こしたか、又はそれを引き起こすであろう(例えば、別の物体との衝突などから)外力をロボット620が受けたことを示すことができる。検出された力に応答して、移動検出器645は、ロボット制御システム605にロボット620を所定の軌道に戻るようにナビゲートさせる信号を生成することができる。
【0117】
一部の実装形態では、センサ655からの測定値のうちの1又は複数は、衝突がロボット620又は器具630と外科的環境内の別の物体との間で発生したことを示すことができる。例えば、1つ以上の力センサは、患者の表面に対して衝突が発生したことを示すことができる。一部の実装形態では、移動検出器645は、測定値のセットに基づいて、ロボット620(又は器具630)との衝突が発生したと判定することによって、位置修正条件が満たされたことを検出することができる。衝突が発生した場合、移動検出器645は、衝突の性質に関する情報(例えば、受けた力の方向、更なる衝突又は有害な衝突を回避するためにロボット620を移動させるべき方向など)を含み得る信号を生成することができる。この情報は、更なる衝突を回避するようにロボット620をナビゲートするために、ロボット制御システム605によって使用され得る。
【0118】
ロボットナビゲータ650は、測定値のセットに基づいて外科用ロボットの位置を修正するための命令を生成することができる。本明細書で説明されるように、位置修正条件が満たされると、ロボットナビゲータ650は、位置修正条件をトリガしたセンサ測定値に対応するロボット620のための命令を生成することができる。本明細書で上述したように、ロボット620は、器具630の標的位置を示す命令又は信号を実行又は解釈することによって、その位置を変更することができる。例えば、ロボット620は、器具630のための標的位置を示すかかる命令を実行し、ロボット620内の種々の可動構成要素を作動させ、器具630を標的位置に移動させることができる。ロボットナビゲータ650は、患者が固定されていないときでさえ、ロボット620又は器具630が外科的環境内の標的位置又は標的経路と整列させられるように、患者の移動に従ってロボット620をナビゲートすることができる。一部の実装形態では、標的位置又は標的経路は、図4に関連して本明細書で上記に説明されるように、3D画像(例えば、CTスキャン又はMRIスキャンなど)の一部として規定され得る。
【0119】
患者の移動が移動検出器645によって検出されると、ロボットナビゲータ650は、患者の移動に従ってロボット620を移動させるための対応する命令を生成することができる。例えば、ロボットトラッカ640によって監視されるセンサ測定値は、患者が所定の方向に所定の量だけ移動したことを示すことができる。ロボットナビゲータ650は、器具630が、患者上又は患者内の選択された標的位置につながる所定の経路又は軌道上に留まるように、ロボットが患者の移動に従って器具630を移動させるための器具を生成することができる。一部の実装形態では、ロボットナビゲータ650は、ロボット620が受ける外力から補償するための命令を生成することができる。例えば、命令は、患者に対して適切な位置に留まるために、ロボット620を検出された力に逆らって移動させることができる。
【0120】
ロボットナビゲータ650は、突然の患者の移動又は検出された力を補償するために、これらの調整を反復的に、又は周期的に毎秒複数回実行することができる。本明細書で上述したように、移動検出器645は、患者の移動を周期的に(例えば、センサ655が測定値を捕捉するレートなどに従って)計算することができる。センサ655からの新しい測定値が捕捉されるたびに、移動検出器645は、患者(又はロボット620)の位置の変化が位置修正条件を満たすかどうかを判定することができる。ロボットナビゲータ650は、次いで、器具630が、位置修正条件をトリガした条件(例えば、センサ655からの測定値)に基づいて、所定の経路(例えば、所定の軌道)と整列されるように、ロボット620の位置を調整することができる。加えて、ロボットナビゲータ650は、本明細書に説明されるように、リアルタイムで患者の移動を補償しながら、標的経路に沿ってロボット620をナビゲートすることができる。ロボットナビゲータ650は、複数のシナリオでロボット620をナビゲートすることができる。例えば、ロボットナビゲータ650は、ロボット620が依然として空間内にある(例えば、患者に剛性ポートを提供する)間に、ロボット620の位置を調整することができる。一部の実装形態では、ロボットナビゲータ650は、ロボット620のオペレータがロボット620又は器具630を所定の軌道を通して標的位置まで下方に移動させている間に、1つ以上の軸に沿ってロボットの位置を調整することができる。
【0121】
ここで図7を参照すると、1つ以上の実装形態による、患者追跡技術に基づいて外科用ロボットを制御する例示的な方法700が示されている。方法700は、例えば、ロボット制御システム405、605、若しくは805、又は図12A及び図12Bに関連して本明細書に説明されるコンピューティングシステム1000を含む、本明細書に説明される任意の他のコンピューティングデバイスによって実行され得る。方法700の概要では、ステップ702において、ロボット制御システム(例えば、ロボット制御システム605など)は、センサ(例えば、センサ655など)からの測定値を識別することができる。ステップ704において、ロボット制御システムは、外科用ロボット(例えば、ロボット620)の位置を決定することができる。ステップ706において、ロボット制御システムは、センサ測定値を監視することができる。ステップ708において、ロボット制御システムは、位置修正条件が満たされているかどうかを判定することができる。ステップ710において、ロボット制御システムは、ロボットを移動させる命令を生成することができる。
【0122】
方法700の更なる詳細では、ステップ702において、ロボット制御システム(例えば、ロボット制御システム605など)は、センサ(例えば、センサ655など)からの測定値を識別することができる。ロボット制御システムは、センサ測定値をロボット制御システムのメモリに記憶することができる。一部の実装形態では、ロボット制御システムは、例えば、所定の時間周期において、要求をセンサに周期的に伝送することができる。要求に応答して、センサは、各センサの測定値をロボット制御システムに伝送することができる。ロボット制御システムは、センサ測定値を、例えば、経時的に、又はそうでなければセンサ測定値が捕捉されたときに対応するタイムスタンプに関連付けて記憶することができる。一部の実装形態では、ロボット制御システムは、各センサ測定値を、測定値が捕捉されたセンサの識別器に関連付けて記憶することができる。一部の実装形態では、ロボット制御システムは、各測定値と、それぞれのセンサが結合された物体(例えば、患者、ロボット、器具630などの器具など)との間の関連付けを記憶することができる。これは、ロボット制御システムの構成要素が、外科的環境内の各物体によって受ける又は生成される力を測定又は検出することを可能にする。
【0123】
ステップ704において、ロボット制御システムは、外科用ロボット(例えば、ロボット620)の位置を決定することができる。本明細書で上述したように、画像捕捉デバイス(例えば、画像捕捉デバイス104)は、外科的環境内の患者の画像を捕捉することができる。画像捕捉デバイスは、IRセンサ(例えば、IRセンサ220)などの他のセンサに対して外科的環境内で所定の姿勢を有し得る。本明細書で上述したように、IRセンサは、光のIR波長を捕捉するIRカメラとすることができる。ロボット制御システムは、ロボットの位置を決定するために、IR追跡技術又はコンピュータビジョン追跡技術などの1つ以上の追跡技術を利用することによって、ロボットの位置を決定することができる。ロボットは、その表面上にIRインジケータなどの1つ以上のマーカ又はインジケータを含み得る。ロボット制御システムは、IRセンサを利用して、外科的環境内のロボットの相対位置を決定することができる。一部の実装形態では、ロボット制御システムは、類似技術を実行することによって、ロボットの配向(例えば、姿勢)を判定することができる。ロボットの位置を追跡するために使用されるIRセンサ(又は他のセンサ)は、画像捕捉デバイスからの既知の距離であるため、IRセンサによって検出されるマーカの位置は、画像捕捉デバイスによって捕捉される3D点群と同一の基準座標系にマッピングされ得る。
【0124】
一部の実装形態では、画像捕捉デバイスは、ロボットの位置を決定するために使用されてもよい。例えば、ロボットは、とりわけ、明るい別個の色、パターン、又はQRコードなどの1つ以上のグラフィカルインジケータを含み得る。画像捕捉デバイスは、外科的環境の画像を捕捉することができ、ロボット制御システムは、画像分析技術を行い、画像内のインジケータの検出された位置に基づいて、画像208内の外科用ロボットの位置を決定することができる。外科用ロボットの位置及び配向は、周期的に、例えば、リアルタイム又は略リアルタイムで算出されることができ、ロボット制御システムが経時的にロボットの移動を追跡することを可能にする。一部の実装形態では、ロボット制御システムは、例えば、3D点群と外科用ロボットに結合されたインジケータとの間の統一基準座標系を確立するように、較正処置を実行することができる。較正処置は、外科的環境内に位置決めされたグローバルインジケータに対するロボットの位置を識別することを含み得る。ロボット制御システムは、ロボットのリアルタイム又は略リアルタイムの位置がロボット制御システムの他の構成要素によってアクセスされ得るように、ロボットの位置をロボット制御システムのメモリ内に記憶することができる。較正処置は、患者に対するロボットの姿勢(例えば、位置及び配向)を較正するために、外科的環境内の所定のマーカ又はパターン(例えば、チェス盤パターンなど)を使用することを含み得る。
【0125】
ロボットの位置を追跡することは、器具(例えば、器具630)の位置を追跡することを含み得る。本明細書で上述したように、器具は、器具又は器具をロボットに結合するブラケット/コネクタに結合されたそれ自体のインジケータを含み得る。器具に結合されるインジケータの一例は、図3に示される拡大図312において被追跡器具340として示される。ロボット制御システムは、上述したものと同様の技術を使用して、器具及びロボットの位置及び配向をリアルタイム又は略リアルタイムで追跡することができる。ロボット制御システムによって決定された器具の位置及び配向は、ロボット制御システムのメモリに記憶することができる。一部の実装形態では、ロボット制御システムは、器具の位置及び配向をそれぞれのタイムスタンプに関連付けて記憶することができる。一部の実装形態では、ロボット又は器具の位置を追跡することはまた、ロボット又は器具に結合された1つ以上のセンサから捕捉された測定値に基づいて実行され得る。例えば、ロボット制御システムは、例えば、加速度又は速度値(センサから捕捉される)を使用して、ロボットの位置を決定し、経時的にロボット又は器具の位置を補間してもよい。
【0126】
ステップ706において、ロボット制御システムは、センサ測定値を監視することができる。本明細書で上述したように、一部の実装形態では、センサのうちの1又は複数は、患者の1つ以上の部分に位置決めすることができる。これらのセンサから捕捉された測定値は、患者の位置が経時的に変化したこと(例えば、外科的処置の開始以来、受けされた加速、力又はトルクを及ぼしたことなど)をロボット制御システムに示すことができる。ロボット制御システムは、経時的に患者の位置を(例えば、加速度又は速度測定の場合)積分又は(例えば、位置測定などの場合)補間することによって、患者の移動を検出することができる。ロボット制御システムは、患者の検出された位置を、対応するセンサ測定値が捕捉されたときに対応するそれぞれのタイムスタンプに関連付けて記憶することができる。このようにして、ロボット制御システムは、外科的環境内の経時的な患者の位置を決定し、記録することができる。
【0127】
ステップ708において、ロボット制御システムは、位置修正条件が満たされているかどうかを判定することができる。ロボット制御システムは、患者の位置が位置修正条件を満たしたかどうかを検出することができる。位置修正条件は、外科的処置の初期条件からの所定量の移動又は偏差とすることができる。センサの測定値から決定された患者の記録された位置値を使用して、ロボット制御システムは、患者の現在の(例えば、直近のセンサ測定値からの)位置を患者の初期条件と比較することによって、経時的な移動量を決定することができる。位置修正条件が満たされる場合、ロボットナビゲータは、患者への傷害の発生を最小限にするように、ロボット又は器具の位置を調整することができる。
【0128】
一部の実装形態では、ロボット制御システムは、経時的な患者の判定された移動が所定の閾値移動量を上回る又はそれと等しい場合、位置修正条件が満たされたと判定することができる。一部の実装形態では、患者の移動は、調整された位置が、ロボット又は器具の位置の後続調整のための新しいベースラインとなるように、ロボットの以前の位置調整に続く患者の位置から測定され得る。本明細書で上述したように、ロボットは、器具が標的位置と相互作用して外科手術の一部を実行することができるように、所定の軌道に沿ってナビゲートすることができる。一部の実装形態では、ロボット制御システムは、外科用ロボットの位置が所定の軌道から逸脱したと判定することによって、位置修正条件が満たされたことを検出することができる。例えば、ロボット上に位置決めされた1つ以上のセンサの測定値は、ロボットが、ロボットを所定の軌道から逸脱させた、又は逸脱させるであろう外力(例えば、別の物体との衝突からなど)を受けたことを示すことができる。検出された力に応答して、ロボット制御システムは、ロボット制御システムにロボットを所定の軌道に戻るようにナビゲートさせる信号を生成することができる。
【0129】
一部の実装形態では、センサからの測定値のうちの1又は複数は、衝突がロボット又は器具と外科的環境内の別の物体との間で発生したことを示すことができる。例えば、1つ以上の力センサは、患者の表面に対して衝突が発生したことを示すことができる。一部の実装形態では、ロボット制御システムは、測定値のセットに基づいて、ロボット(又は器具)との衝突が発生したと判定することによって、位置修正条件が満たされたことを検出することができる。衝突が発生した場合、ロボット制御システムは、衝突の性質に関する情報(例えば、受けた力の方向、更なる衝突又は有害な衝突を回避するためにロボットを移動させるべき方向など)を含み得る信号を生成することができる。この情報は、更なる衝突を回避するようにロボットをナビゲートするためにロボット制御システムによって使用され得る。位置修正条件が満たされた場合、ロボット制御システムは、方法700のステップ710を実行することができる。位置修正条件が満たされていない場合、ロボット制御システムは、方法700のステップ706において、センサ測定値を監視し続けることができる。
【0130】
ステップ710において、ロボット制御システムは、ロボットを移動させる命令を生成することができる。本明細書に説明されるように、位置修正条件が満たされると、ロボット制御システムは、位置修正条件をトリガしたセンサ測定値に対応するロボットのための命令を生成することができる。本明細書で上述したように、ロボットは、器具の標的位置を示す命令又は信号を実行又は解釈することによってその位置を変更することができる。例えば、ロボットは、器具のための標的位置を示すかかる命令を実行し、ロボット内の種々の可動構成要素を作動させ、器具を標的位置に移動させることができる。ロボット制御システムは、患者が固定されていないときでさえ、ロボット又は器具が外科的環境内の標的位置又は標的経路と整列させられるように、患者の移動に従ってロボットをナビゲートすることができる。
【0131】
患者の移動がロボット制御システムによって検出されると、ロボット制御システムは、患者の移動に従ってロボットを移動させるための対応する命令を生成することができる。例えば、ロボットトラッカ640によって監視されるセンサ測定値は、患者が所定の方向に所定の量だけ移動したことを示すことができる。ロボット制御システムは、患者上又は患者内の選択された標的位置につながる所定の経路又は軌道上に器具が留まるように、ロボットが患者の移動に従って器具を移動させるための器具を生成することができる。一部の実装形態では、ロボット制御システムは、ロボットによって受ける外力から補償する命令を生成することができる。例えば、命令は、患者に対して適切な位置に留まるために、ロボットを検出された力に逆らって移動させることができる。
【0132】
ロボット制御システムは、突然の患者の移動又は検出された力を補償するために、これらの調整を反復的に、又は周期的に毎秒複数回実行することができる。本明細書で上述したように、ロボット制御システムは、患者の移動を周期的に(例えば、センサが測定値を捕捉する速度などに従って)計算することができる。センサからの新しい測定値が捕捉されるたびに、ロボット制御システムは、患者(又はロボット)の位置の変化が位置修正条件を満たすかどうかを判定することができる。次いで、ロボット制御システムは、位置修正条件をトリガした条件(例えば、センサからの測定値)に基づいて、器具が所定の経路(例えば、所定の軌道)と整列させられるように、ロボットの位置を調整することができる。加えて、ロボット制御システムは、本明細書に説明されるように、リアルタイムで患者移動を補償しながら、標的経路に沿ってロボットをナビゲートすることができる。ロボット制御システムは、複数のシナリオでロボットをナビゲートすることができる。例えば、ロボット制御システムは、ロボットが依然として空間内にある(例えば、患者に剛性ポートを提供する)間に、ロボットの位置を調整することができる。一部の実装形態では、ロボット制御システムは、ロボットのオペレータがロボット又は器具を所定の軌道を通して標的位置まで下方に移動させている間に、1つ以上の軸に沿ってロボットの位置を調整することができる。
【0133】
(D.検出された条件に応答した協調制御の開始)
本明細書に説明されるロボットシステムは、自律的に動作してもよく、又は外科医からの入力と関連して動作してもよい。例えば、本明細書に記載される外科用ロボットは、所定の経路に沿って外科用器具を誘導することを補助し得る一方で、外科医は、患者から器具を手動で挿入又は除去することができ、並びに外科的処置を実行するために器具を作動させることができる。しかしながら、場合によっては、外科医が外科用器具の位置及び軌道を完全に手動で制御することが望ましい。本明細書で説明されるシステム及び方法は、かかる条件を検出及び管理するための改善された技術を提供する。本明細書に説明される技術は、外科用器具に対する手動制御が確立されるべき条件を検出し、外科用ロボットが手動制御を開始するための命令を生成するために使用され得る。手動制御は、器具の位置が外科医によって手動で誘導され得る間、外科用ロボットが依然として器具の重量を支持し得るため、「協調制御」と称され得る。これら及び他の改良を以下に詳細に説明する。
【0134】
ここで図8を参照すると、1つ以上の実装形態による、検出された条件に応答して、外科用ロボット(例えば、ロボットアーム310などのロボットシステム300又はその構成要素、ロボット420などのシステム400又はその構成要素、ロボット620などのシステム600又はその構成要素など)の協調制御を開始するための例示的なシステム800が示されている。システム800は、少なくとも1つのロボット制御システム805、少なくとも1つのロボット820、少なくとも1つの画像処理システム100、及び1つ以上のセンサ855を含み得る。本明細書で説明される種々のロボットと同様に、ロボット820は、外力及び/又は制御信号に応答して種々のアクチュエータを使用して手動で及び/又は自動的に操作され得る1つ以上の部材を含み得る。ロボット制御システム805は、少なくとも1つのロボットナビゲータ835と、少なくとも1つの制御条件検出器840と、少なくとも1つの手動制御イニシエータ845とを含み得る。ロボット820は、器具830を含み得る。
【0135】
システム800の構成要素(例えば、ロボット制御システム805、画像処理システム100、ロボット820など)の各々は、ハードウェア構成要素、又はコンピューティングシステム(例えば、図12A及び図12Bに関連して説明されるコンピューティングシステム1200)のハードウェア構成要素とのソフトウェアの組み合わせを使用して実装され得る。ロボット制御システム805の構成要素(例えば、ロボットナビゲータ835、制御条件検出器840、手動制御イニシエータ845など)の各々は、本明細書に詳述される機能を果たすことができる。画像処理システム100及びロボット制御システム805は、別個のシステムとして示されているが、ロボット制御システム805は、画像処理システム100の一部であってもよく(例えば、少なくとも部分的に、処理回路212などによって実装される)、又はその逆であってもよいことを理解されたい(例えば、ロボット制御システム805の1つ以上のプロセッサ上に実装される画像処理システム100の処理回路212)。同様に、ロボット制御システム805は、図10に関連して説明される画像処理システム1000とともに実装されてもよく、又はそれを含んでもよい。画像処理システム100及びロボット制御システム805が別個のコンピューティングシステムとして実装される実装形態では、画像処理システム100及びロボット制御システム805は、本明細書で説明するように、通信インターフェースを介して情報を交換することができる。同様に、ロボット制御システム805及びロボット820は、1つ以上の通信インターフェースを介して通信することができる。ロボット制御システム805は、任意の生成された命令を実行のためにロボット820に通信することができる。
【0136】
ロボット820及び器具830は、本明細書で説明されるロボット又は器具(例えば、ロボット420又は620、器具430又は630など)のうちのいずれかと同様であり、その構造及び機能のうちのいずれかを含み得る。センサ855は、図6に関連して本明細書で上述したセンサ655と同様とすることができ、その構造及び機能のいずれかを含み得る。加えて、ロボット制御システム805は、ロボット制御システム405又は605の構造又は機能のいずれかを含み得る。ロボット制御システム805は、図1A図1B、及び図2と併せて本明細書に説明される画像処理システム100である、又はその一部を形成することができ、本明細書に説明されるような画像処理システム100の機能のうちのいずれかを実行することができる。ロボット制御システム805は、少なくとも1つのプロセッサ及びメモリ(例えば、処理回路)を含み得る。メモリは、プロセッサによって実行されたとき、本明細書で説明する動作のうちの1又は複数をプロセッサに実行させるプロセッサ実行可能命令を記憶することができる。プロセッサは、マイクロプロセッサ、ASIC、FPGA、GPUなど、又はそれらの組み合わせを含み得る。メモリは、限定はしないが、プロセッサにプログラム命令を与えることが可能な電子、光、磁気、又は任意の他の記憶若しくは送信デバイスを含み得る。メモリは、メモリチップ、ASIC、FPGA、ROM、RAM、EEPROM、EPROM、フラッシュメモリ、光学メディア、又はプロセッサが命令を読み取ることができる任意の他の適切なメモリを更に含み得る。命令は、任意の適切なコンピュータプログラミング言語からのコードを含み得る。ロボット制御システム805は、本明細書に記載の種々の機能を実行することができる1つ以上のコンピューティングデバイス又はサーバを含み得る。ロボット制御システム805は、構成要素のうちのいずれか又は全てを含み、図12A及び図12Bに関連して本明細書に説明されるコンピュータシステム1000の機能のうちのいずれか又は全てを実行することができる。
【0137】
ここでロボット制御システム805の動作を参照すると、ロボットナビゲータ835は、患者を含む外科的環境内のロボット820及び器具830の位置を制御することができる。例えば、ロボットナビゲータ835は、外科的処置を実行するために器具830がそれに沿って誘導されるべき1つ以上の所定の軌道を識別することができる。一部の実装形態では、外科医は、1つ以上の軌道を事前に計画し、本明細書に説明されるように、軌道を患者の3D画像(例えば、CTスキャン又はMRIスキャン)内の1つ以上の関心点にマッピングすることができる。処置を実行するとき、複数の標的又は経路(又は経路の区画)が存在する実装形態では、外科医は、ユーザ入力(例えば、ボタン選択、タッチスクリーンによる選択など)を介して、ロボット820が器具830をナビゲートすべき1つ以上の経路を選択してもよい。ロボットナビゲータ835は、ユーザ入力を受信し、ユーザ入力を処理することによって1つ以上の経路を識別することができる。ロボットナビゲータ835は、本明細書で説明されるように、リアルタイムで患者の移動を補償しながら、選択された経路に沿ってロボット820をナビゲートすることができる。
【0138】
ロボットナビゲータ835は、複数のシナリオでロボット820をナビゲートすることができる。例えば、ロボットナビゲータ835は、ロボットが依然として空間内にある(例えば、患者に剛性ポートを提供する)間に、ロボット820の位置を調整することができる。一部の実装形態では、ロボットナビゲータ835は、ロボット820のオペレータがロボット820又は器具830を所定の軌道を通して標的位置まで下方に移動させている間に、1つ以上の軸に沿ってロボットの位置を調整することができる。ロボットナビゲータ835は、図4及び図6に関連して本明細書で上述した技術を使用してロボット820を更にナビゲートすることができる。例えば、ロボットナビゲータ835は、患者を表す3D点群が、患者が動いたことを示すことに応答して、ロボット820の位置を調整する命令を生成することができる。加えて、ロボットナビゲータ835は、センサ855からの測定された信号の条件に応答して、ロボットの位置を調整する命令を生成することができる。一部の実装形態では、ロボットナビゲータ835は、外科的環境の条件(例えば、突然の患者の移動、受ける瞬間的な力など)に厳密に一致するように、ロボット820を連続的に又は略リアルタイムでナビゲートすることができる。
【0139】
制御条件検出器840は、外科的環境の1つ以上の条件に基づいて、ロボット820の協調制御条件を検出することができる。本明細書の上記で説明されるように、ロボット820は、自律的に、半自律的に、又は手動で動作することができ、外科医は、ロボット820及び器具830の位置及び配向にわたって完全な制御を有する。特定の条件下では、外科医が外科用器具の位置及び配向に対して完全な手動制御を有するように、ロボットの協調制御を開始することが有利である。制御条件検出器840は、例えば、画像処理システム100又はセンサ855からの情報を使用して、外科的環境の条件を監視し、協調制御条件が満たされたかどうかを検出することができる。
【0140】
一部の実装形態では、制御条件検出器840は、画像処理システム100を介して、患者に対応する3D点群にアクセスし、それを監視することができる。図4に関連して本明細書の上記でより詳細に説明されるように、ロボット制御システム805(ロボット制御システム405の機能のうちのいずれかを含み得る)は、患者に対応する3D画像を受信し、経時的に3D点群内の1つ以上の点を識別することができる。3D点群内の点の位置を監視することによって、制御条件検出器840は、経時的な患者の位置の変化を決定することができる。場合によっては、1つ以上の閾値を超える患者の移動が検出されたときに、外科医がロボット820及び器具830の完全な手動制御を有することを可能にすることが有利である。例えば、一部の実装形態では、患者が所定の時間にわたって所定の変位(例えば、比較的短い時間で比較的長い距離)だけ移動した場合、制御条件検出器840は、制御条件が満たされたと判定し、ロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。
【0141】
一部の実装形態では、制御条件検出器840は、センサ855によって生成された測定値を識別することができる。例えば、センサ855からの測定値を識別するために、制御条件検出器840は、図6の測定識別器635に関連して本明細書で上述したような動作を実行することができる。例えば、一部の実装形態では、センサ855のうちの1又は複数は、外科的処置の間、患者上に位置決めされる、又はそれに結合され得る。制御条件検出器840は、例えば、経時的な患者の移動量を決定するために、センサ855からの測定値を識別することができる。センサ855の測定値から決定された患者の記録された位置値を使用して、制御条件検出器840は、患者の現在の(例えば、直近のセンサ測定値からの)位置を患者の初期条件と比較することによって、経時的な移動量を決定することができる。制御条件検出器840は、患者の移動量を患者移動条件(例えば、協調制御をトリガする経時的な患者の移動の所定の閾値)と比較することができる。制御条件検出器840は、患者の移動をリアルタイムで監視することができるように、センサ855からの測定値を連続的又は周期的に監視することができる。制御条件検出器840は、患者の移動が検出されるたびに患者の移動を閾値と比較し、移動条件が満たされた場合にロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。
【0142】
一部の実装形態では、センサ855のうちの1又は複数は、ロボット820と患者との間の接合部に位置決めされ得る。例えば、一部の実装形態では、ロボット820は、患者に固定されてもよい(例えば、患者の頭蓋骨の中に螺入される)。制御条件検出器840が、患者の移動(例えば、閾値を超えることなど)を示すロボット上の力センサ855からの測定値を検出した場合、制御条件検出器840は、ロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。一部の実装形態では、センサ855のうちの1又は複数は、器具830の一部を形成する針の先端などの器具830上に位置決めされ得る。制御条件検出器840は、針先端に位置決めされたセンサ(複数可)855(例えば、IMUセンサ、加速度計、トルクセンサなど)からの測定値が、針先端が所定の経路から逸脱した(例えば、先端が外力に起因して屈曲又は変形などした)ことを示すことを検出することができる。これに応答して、制御条件検出器840は、ロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。
【0143】
一部の実装形態では、制御条件検出器840は、ロボット820又は器具830上に位置決めされたセンサ855から受信された信号に基づいて、協調制御条件を検出することができる。例えば、一部の実装形態では、センサ855は、ロボット820を操作する外科医によってロボット820に印加される力を有し得る。外科医が所定の時間内に所定の閾値を超える力(例えば、急な動きなど)を加えた場合、これは、外科医がロボット820の手動制御を行おうとしていることを示し得る。これに応答して、制御条件検出器840は、ロボット820の協調制御を開始するための対応する信号を生成することができる。制御条件検出器840はまた、ロボット820に結合されたセンサからロボット820全体にわたる衝突イベントを検出することができる。例えば、ロボット820がロボットアーム310などのロボットアームである場合、センサ855のうちの1又は複数は、ロボットアームに位置決めされ、ロボット820によって受ける外力(例えば、衝突)の測定を提供することができる。制御条件検出器840は、センサ855からの測定値(例えば、予期せぬ移動を示す閾値を超える測定値など)に基づいてロボット820との任意の衝突を検出し、ロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。
【0144】
制御条件検出器840は、図4に関連して本明細書で上述した画像位置合わせ構成要素445によって実行される画像対患者プロセスなどの画像対患者位置合わせプロセスにおける誤差条件に基づいて協調制御条件を検出することができる。本明細書に説明されるように、ロボット制御システム805は、潜在的標的のインジケータを含み得る、患者の3D画像と、患者から捕捉された3D点群とを整列させるように、画像対患者位置合わせ技術を実行することができる。患者の頭部のCTスキャンなどの3D画像は、患者の顔の3D表現と、患者の脳内の生検部位の指示との両方を含み得る。患者の3D画像を外科的環境内の患者のリアルタイム3D点群と位置合わせすることによって、ロボット制御システム805は、患者の3D画像及び任意の標的インジケータを、3D点群、ロボット820の追跡された位置、及び器具430の追跡された位置の両方と同じ基準座標系にマッピングすることができる。そうすることは、ロボット制御システム805が、患者及び患者の3D画像において示される標的領域の両方に対して器具830の位置を追跡することを可能にする。3D画像を患者の3D点群に位置合わせするために、ロボット制御システム805は、RANSACアルゴリズム及び反復最近点アルゴリズムなどの反復フィッティングプロセスを実行することができる。ロボット制御システム805は、3D画像を患者の3D点群に連続的に位置合わせすることができる。位置合わせが失敗した(例えば、適合アルゴリズムが3D画像を3D点群に所定の誤差閾値内で適合させることに失敗した)場合、ロボット制御システム805は、失敗を示す信号を生成することができる。ロボット制御システム805からの失敗信号の検出に応答して、制御条件検出器840は、条件が満たされた場合にロボット820の協調制御を開始するように、ロボット制御システム805のための信号を生成することができる。
【0145】
加えて、外科医は、ロボット820の協調制御を手動で開始することができる。本明細書に説明されるように、ロボット820は、1つ以上のボタンを含んでもよく、又はタッチスクリーンなどの1つ以上のユーザインターフェースを通して制御されてもよい。一部の実装形態では、ロボット820上に位置決めされたボタン(図3に関連して本明細書に説明されるボタン335のうちの1つなど)、又はユーザインターフェース120上の使用可能なオブジェクト(例えば、グラフィカルボタン、ハイパーリンク、又は他のユーザインターフェース要素など)が、協調制御を開始するために、制御条件検出器840への信号を生成することができる。制御条件検出器840は、協調制御条件に対応するボタンとの相互作用を示す信号を受信し、ロボット制御システム805がロボット820の協調制御を開始するための信号を生成することができる。
【0146】
制御条件検出器840によって生成された信号を検出すると、手動制御イニシエータ845は、ロボット820を操作している外科医に手動制御を提供するように、ロボット820に対する命令を生成することができる。一部の実装形態では、手動制御イニシエータ845は、協調制御イベントの指示、及び協調制御イベントを発生させた任意の条件を、ロボット制御システム805のメモリ内の1つ以上のデータ構造に記憶することができる。一部の実装形態では、手動制御イニシエータ845は、協調制御イベントがいつ発生したかを示すタイムスタンプに関連して協調制御イベントを記憶することができる。手動制御イニシエータ845は、通信インターフェースを使用して、ロボット820に対応する1つ以上のAPIを使用して生成され得る命令を通信することができる。一部の実装形態では、手動制御イニシエータ845は、(例えば、外科医からのユーザ入力、ボタンの押下、ユーザインターフェース120における相互作用などを介して)ロボット820の自動ナビゲーションを再開するための指示を受信することができ、手動制御イニシエータ845は、ロボットナビゲータ835が標的軌道に従ってロボットをナビゲートし続けるための信号を生成することができる。
【0147】
ここで図9を参照すると、1つ以上の実装形態による、患者追跡技術に基づいて外科用ロボットを制御する例示的な方法900が示されている。方法900は、例えば、ロボット制御システム405、605、若しくは805、又は図12A及び図12Bに関連して本明細書に説明されるコンピューティングシステム1000を含む、本明細書に説明される任意の他のコンピューティングデバイスによって実行され得る。方法900の概要では、ステップ902において、ロボット制御システム(例えば、ロボット制御システム605など)は、外科用ロボット(例えば、ロボット820)をナビゲートすることができる。ステップ904において、ロボット制御システムは、協調制御条件が検出されたかどうかを判定することができる。ステップ906において、ロボット制御システムは、ロボットの協調制御を開始するための命令を生成することができる。
【0148】
方法900の更なる詳細では、ステップ902において、ロボット制御システム(例えば、ロボット制御システム605など)は、外科用ロボット(例えば、ロボット820)をナビゲートすることができる。ロボット制御システムは、患者を含む外科的環境内のロボット及びロボットに結合された器具(例えば、器具830など)の位置を制御することができる。例えば、ロボット制御システムは、外科的処置を実行するために器具がそれに沿って誘導されるべき1つ以上の所定の軌道を識別することができる。一部の実装形態では、外科医は、1つ以上の軌道を事前に計画し、本明細書に説明されるように、軌道を患者の3D画像(例えば、CTスキャン又はMRIスキャン)内の1つ以上の関心点にマッピングすることができる。処置を実行するとき、複数の標的又は経路(又は経路の区画)が存在する実装形態では、外科医は、ユーザ入力(例えば、ボタン選択、タッチスクリーンによる選択など)を介して、ロボットが器具をナビゲートすべき1つ以上の経路を選択してもよい。ロボット制御システムは、本明細書に説明されるように、リアルタイムで患者の移動を補償しながら、選択された経路に沿ってロボットをナビゲートすることができる。
【0149】
ロボット制御システムは、複数のシナリオでロボットをナビゲートすることができる。例えば、ロボット制御システムは、ロボットが依然として空間内にある(例えば、患者に剛性ポートを提供する)間に、ロボットの位置を調整することができる。一部の実装形態では、ロボット制御システムは、ロボットのオペレータがロボット又は器具を所定の軌道を通して標的位置まで下方に移動させている間に、1つ以上の軸に沿ってロボットの位置を調整することができる。ロボット制御システムは、図4及び図6に関連して本明細書で上述した技術を使用してロボットを更にナビゲートすることができる。例えば、ロボット制御システムは、患者を表す3D点群が患者が動いたことを示すことに応答して、ロボットの位置を調整する命令を生成することができる。加えて、ロボット制御システムは、1つ以上のセンサ(例えば、センサ855)からの測定された信号の条件に応答して、ロボットの位置を調整する命令を生成することができる。一部の実装形態では、ロボット制御システムは、外科的環境の条件(例えば、突然の患者の移動、受ける瞬間的な力など)に厳密に一致するように、ロボットを連続的に又は略リアルタイムでナビゲートすることができる。
【0150】
ステップ904において、ロボット制御システムは、協調制御条件が検出されたかどうかを判定することができる。ロボット制御システムは、外科的環境の1つ以上の条件に基づいて、ロボットの協調制御条件を検出することができる。本明細書で上述したように、ロボットは、自律的に、半自律的に、又は手動で動作することができ、外科医は、ロボット及び器具の位置及び配向に対する完全な制御を有する。特定の条件下では、外科医が外科用器具の位置及び配向に対して完全な手動制御を有するように、ロボットの協調制御を開始することが有利である。ロボット制御システムは、協調制御条件が満たされたかどうかを検出するために、例えば、画像処理システム(例えば、画像処理システム100)又はセンサからの情報を使用して、外科的環境の条件を監視することができる。
【0151】
一部の実装形態では、ロボット制御システムは、画像処理システム100を介して、患者に対応する3D点群にアクセスし、監視することができる。図4に関連して本明細書の上記でより詳細に説明されるように、ロボット制御システム(ロボット制御システム405の機能のうちのいずれかを含み得る)は、患者に対応する3D画像を受信し、経時的に3D点群内の1つ以上の点を識別することができる。3D点群内の点の位置を監視することによって、ロボット制御システムは、経時的な患者の位置の変化を決定することができる。場合によっては、1つ以上の閾値を超える患者の移動が検出されたときに、外科医がロボット及び器具の完全な手動制御を有することを可能にすることが有利である。例えば、一部の実装形態では、患者が所定の時間にわたって所定の変位(例えば、比較的短い時間に比較的長い距離)だけ移動した場合、ロボット制御システムは、制御条件が満たされたと判定し、ロボット制御システムがロボットの協調制御を開始するための信号を生成することができる。
【0152】
一部の実装形態では、ロボット制御システムは、センサによって生成された測定値を識別することができる。例えば、センサからの測定値を識別するために、ロボット制御システムは、図6の測定識別器635に関連して本明細書で上述したような動作を実行することができる。例えば、一部の実装形態では、センサのうちの1又は複数は、外科的処置の間、患者上に位置決めされる、又はそれに結合され得る。ロボット制御システムは、例えば、経時的な患者の移動量を決定するために、センサからの測定値を識別することができる。センサの測定値から決定された患者の記録された位置値を使用して、ロボット制御システムは、患者の現在の(例えば、直近のセンサ測定値からの)位置を患者の初期条件と比較することによって、経時的な移動量を決定することができる。ロボット制御システムは、患者の移動量を患者移動条件(例えば、協調制御をトリガする経時的な患者の移動の所定の閾値)と比較することができる。ロボット制御システムは、患者の移動をリアルタイムで監視することができるように、センサからの測定値を連続的又は周期的に監視することができる。ロボット制御システムは、患者の移動が検出されるたびに患者の移動を閾値と比較し、移動条件が満たされた場合にロボットの協調制御を開始するための信号をロボット制御システムに対して生成することができる。
【0153】
一部の実装形態では、センサのうちの1又は複数は、ロボットと患者との間の接合部に位置決めされ得る。例えば、一部の実装形態では、ロボットは、患者に固定されてもよい(例えば、患者の頭蓋骨の中に螺入される)。ロボット制御システムが、患者の移動(例えば、閾値を超えることなど)を示すロボット上の力センサからの測定値を検出した場合、ロボット制御システムは、ロボット制御システムがロボットの協調制御を開始するための信号を生成することができる。一部の実装形態では、センサのうちの1又は複数は、器具の一部を形成する針の先端などの器具上に位置決めされ得る。ロボット制御システムは、針先端に位置決めされたセンサ(複数可)(例えば、IMUセンサ、加速度計、トルクセンサなど)からの測定値が、針先端が所定の経路から逸脱した(例えば、先端が外力に起因して屈曲又は変形などした)ことを示すことを検出することができる。これに応答して、ロボット制御システムは、ロボット制御システムがロボットの協調制御を開始するための信号を生成することができる。
【0154】
一部の実装形態では、ロボット制御システムは、ロボット又は器具上に位置決めされたセンサから受信される信号に基づいて、協調制御条件を検出することができる。例えば、一部の実装形態では、センサは、ロボットを操作する外科医によってロボットに印加される力を有し得る。外科医が所定の時間内に所定の閾値を超える力(例えば、急な動きなど)を加えた場合、これは、外科医がロボットの手動制御を行おうとしていることを示し得る。これに応答して、ロボット制御システムは、ロボットの協調制御を開始するための対応する信号を生成することができる。ロボット制御システムはまた、ロボットに結合されたセンサからロボット全体の衝突イベントを検出することができる。例えば、ロボットがロボットアーム310などのロボットアームである場合、センサのうちの1又は複数は、ロボットアームに位置決めされ、ロボットによって受ける外力(例えば、衝突)の測定を提供することができる。ロボット制御システムは、センサからの測定値(例えば、予期しない移動を示す閾値を超える測定値など)に基づいてロボットとの任意の衝突を検出し、ロボット制御システムがロボットの協調制御を開始するための信号を生成することができる。
【0155】
ロボット制御システムは、図4に関連して本明細書で上述した画像位置合わせ構成要素445によって実行される画像対患者プロセスなどの画像対患者位置合わせプロセスにおける誤差条件に基づいて協調制御条件を検出することができる。本明細書に説明されるように、ロボット制御システムは、潜在的標的のインジケータを含み得る、患者の3D画像と、患者から捕捉された3D点群とを整列させるように、画像対患者位置合わせ技術を実行することができる。患者の頭部のCTスキャンなどの3D画像は、患者の顔の3D表現と、患者の脳内の生検部位の指示との両方を含み得る。患者の3D画像を外科的環境内の患者のリアルタイム3D点群と位置合わせすることによって、ロボット制御システムは、患者の3D画像及び任意の標的インジケータを、3D点群、ロボットの追跡された位置、及び器具430の追跡された位置の両方と同じ基準座標系にマッピングすることができる。そうすることは、ロボット制御システムが、患者及び患者の3D画像内に示される標的領域の両方に対する器具の位置を追跡することを可能にする。3D画像を患者の3D点群に位置合わせするために、ロボット制御システムは、RANSACアルゴリズム及び反復最近点アルゴリズムなどの反復フィッティングプロセスを実行することができる。ロボット制御システムは、3D画像を患者の3D点群に連続的に位置合わせすることができる。位置合わせが失敗した(例えば、適合アルゴリズムが、所定の誤差閾値内で3D画像を3D点群に適合させることに失敗した)場合、ロボット制御システムは、失敗を示す信号を生成することができる。ロボット制御システムから失敗信号を検出したことに応答して、ロボット制御システムは、条件が満たされた場合にロボットの協調制御を開始するように、ロボット制御システムのための信号を生成することができる。
【0156】
加えて、外科医は、ロボットの協調制御を手動で開始してもよい。本明細書に説明されるように、ロボットは、1つ以上のボタンを含んでもよく、又はタッチスクリーンなどの1つ以上のユーザインターフェースを通して制御されてもよい。一部の実装形態では、ロボット上に位置決めされたボタン(図3に関連して本明細書に説明されるボタン335のうちの1つなど)、又はユーザインターフェース上の使用可能なオブジェクト(例えば、グラフィカルボタン、ハイパーリンク、又は他のユーザインターフェース要素など)は、協調制御を開始するように、ロボット制御システムへの信号を生成することができる。ロボット制御システムは、協調制御条件に対応するボタンとの相互作用を示す信号を受信し、ロボット制御システムがロボットの協調制御を開始するための信号を生成することができる。
【0157】
ステップ906において、ロボット制御システムは、ロボットの協調制御を開始するための命令を生成することができる。制御条件検出器840によって生成された信号を検出すると、ロボット制御システムは、ロボットを操作する外科医に手動制御を提供するように、ロボットのための命令を生成することができる。一部の実装形態では、ロボット制御システムは、協調制御イベントの指示、及び協調制御イベントを発生させた任意の条件を、ロボット制御システムのメモリ内の1つ以上のデータ構造に記憶することができる。一部の実装形態では、ロボット制御システムは、協調制御イベントがいつ発生したかを示すタイムスタンプに関連付けて協調制御イベントを記憶することができる。ロボット制御システムは、通信インターフェースを使用して、ロボットに対応する1つ以上のAPIを使用して生成され得る命令を通信することができる。一部の実装形態では、ロボット制御システムは、(例えば、外科医からのユーザ入力、ボタンの押下、ユーザインターフェース120における相互作用などを介して)ロボットの自動ナビゲーションを再開するための指示を受信することができ、ロボット制御システムは、ロボット制御システムが標的軌道に従ってロボットをナビゲートし続けるための信号を生成することができる。
【0158】
(E.リアルタイム非侵襲的外科用ナビゲーション技術)
他の図の中でも、図1に関して説明されるようなリアルタイム表面ベース位置合わせシステムは、処置の間、事前に計画された脳標的の位置を追跡することができる。例えば、3Dカメラデータは、医療画像(例えば、CT又はMRI)データと整列され、リアルタイムで追跡され、事前に計画された標的を追跡することができる。システムは、次いで、標的に対して器具を配向するように、ロボットデバイスなどの外科手術デバイスの位置を制御することができる。種々の脳関連処置は、典型的には、対象の頭部の移動を制限するために頭蓋クランプ又は他のデバイスを要求し、これは、処置を実行することをより不快かつ時間がかかるものにする可能性がある。しかしながら、頭蓋クランプを用いずに非侵襲的な処置を実行することは、患者の移動を考慮した絶え間ない調整を必要とする。例えば、経頭蓋磁気刺激(TMS)では、施術者は、ニューロンを刺激するために皮質の領域を特に標的とする。現在の実践は、患者をマーキングすることによって標的領域を近似する。正確な標的化がなければ、突然の移動は、不確かな副作用を伴う望ましくない頭蓋領域における刺激をもたらし得る。加えて、頭蓋骨は、TMS又は超音波信号などの信号の大きな回折を生じさせ、正確な治療送達を更に複雑にし得る。
【0159】
本解決策は、CTスキャンを介して治療を送達する前に、患者の皮質をマッピングすることができる。これは、関心位置を正確に標的とするために患者の形態の内部ナビゲーションを可能にする。いったん治療送達が開始すると、本解決策は、システムが誤った位置合わせを検出する、患者があまりにも速く移動するなどのとき、治療デバイスからエネルギーを放出することを自動的に停止する(又は別様に放出されるエネルギーの量を調整する)ことができる。また、いったん治療条件が満たされると、例えば、所定の治療閾値が達成される場合、エネルギーを送達することを自動的に停止することもできる。本解決策は、患者の形態及び治療のための関心位置などのデータを使用することができる。加えて、本解決策は、焦点の微調整を達成するために、治療デバイス内で焦点ステアリングを組み合わせることができる。
【0160】
デバイスが患者の皮膚と接触することを必要とする用途の場合、本解決策は、トルク検知を表面ベースの位置合わせシステムと組み合わせることができる。本解決策は、表面接触を監視するために、器具の追跡データ並びに3D画像処理から収集されたデータを利用することができる。これは、デバイスが、皮膚又は頭皮などの患者の表面と接触している間、標的上に留まることができ、事前定義された量の力又は力の範囲を表面に印加することができる条件を生成する。患者がわずかに動いた場合、本解決策は、同じ所定の大きさの力で標的位置に調整して接触したままにすることができる。これは、治療セッションが何時間も続くことができるため、正確な治療送達並びに患者の快適さを可能にすることができる。
【0161】
図10は、システム1000の例を示している。システム1000は、限定はしないが、図2を参照しながら説明したシステム200を含む、本明細書で説明する種々のシステム及びデバイスの特徴を組み込むことができる。システム1000は、非侵襲的処置、特に、対象の脳に治療を送達することを含む、対象の頭部又はその周囲にリアルタイム非侵襲的処置を実行するために使用され得る。
【0162】
システム1000は、図1及び図2を参照して説明される画像処理システム1000の特徴を含み得る。画像処理システム1000は、図1及び図2に関して説明される画像捕捉デバイス1002の構造及び機能のいずれかと同様であってもよく、それらを含み得る、1つ以上の画像捕捉デバイス1002を含み得る。画像捕捉デバイス1002の各々は、図1及び図2に関連するレンズ1003の構造及び機能のいずれかと同様であってもよく、それらを含み得る、1つ以上のレンズ1003を含み得る。レンズ1003は、画像を示す光を受け取ることができる。画像捕捉デバイス1002は、1つ以上のレンズ1003を介して受け取られた光を検出し、受け取られた光に基づいて画像1007を生成することができるセンサ回路を含み得る。画像1007は、図1及び図2に関連して説明された画像1007と同様であり得る。
【0163】
画像処理システム1000は、通信回路216を含み得る。通信回路1016は、図12A及び図12Bを参照して説明したコンピューティングデバイス1200の特徴を実装することができる。通信回路1016は、図1及び図2に関連して説明された通信回路1016と同様であってもよく、図1及び図2に関連して説明された通信回路1016などの構造又は機能のいずれかを組み込むことができる。
【0164】
画像処理システム1000は、IRセンサ1018及び画像捕捉デバイス1002などの1つ以上の追跡センサを含み得る。IRセンサ1018は、図1及び図2に関連して説明したIRセンサ220と同様であってもよく、その構造又は機能のいずれかを含み得る。IRセンサ1018は、画像処理システム100の周囲の環境内の種々のデバイスからのIR信号を検出することができる。IRセンサ1018は、画像処理システム1000の構成要素が画像処理パイプラインにおける適切な動作においてIR信号を利用することができるように、画像処理システム100の他の構成要素に通信可能に結合され得る。
【0165】
画像処理システム1000は、外科用器具1004を含み得る。外科用器具1004は、治療を対象に送達することができ、その相対位置1008は、画像捕捉デバイス1002によって捕捉された画像1007によって判定される。パラメータ1012は、送達されかつ処理回路1014によって処理されるエネルギーの量を表す。処理回路1014は、本明細書で説明される処理回路1014と同様であってもよく、その構造又は機能のいずれかを含み得る。同様に、図10の画像処理システム1000は、本明細書で説明する機能のいずれかを実行するために、図1及び図2の画像処理システム100に加えて、又はその代替として実装され得る。外科用器具1004は、例えば、集束超音波デバイス、変換器、磁気コイルなどであり得る。
【0166】
2つ以上の捕捉デバイス1002は、精度及び全体的解像度のために、対象の3D画像を捕捉することができる。処理回路1014は、画像捕捉デバイス1002から受信された画像1007内の各データ点から3Dデータを抽出し、各捕捉デバイス1002に対応する点群を生成することができる。一部の実装形態では、処理回路1014は、データ点をダウンサンプリングし、更なる処理ステップの正確度に有意に影響を及ぼすことなく、画像1007の全体的サイズを低減させ、画像処理を改良することができる。
【0167】
処理回路1014は、点群のうちの1つを選択して、他の点群のいずれかの整列のための基準座標系として機能させることができる。基準座標系を選択することは、第1の点群の第1の組のデータ点のうちの1又は複数に割り当てられた色データを取り出すことを含んでもよく、処理回路1014は、色データを抽出することができる。基準座標系を選択することはまた、最も照明された点群、最も均一に照明されていない点群を決定することを含んでもよく、又は処理回路1014は、点群の基準座標系を基準座標系として任意に選択することができる。
【0168】
処理回路1014は、各行列がそれぞれの点群に適用されるときに、変換された点群の特徴が、基準座標系点群内の類似特徴と整列するように、変換データ構造を決定することができる。変換行列は、変換される点群内の点の位置又は回転の変化を示す変換値を含む。
【0169】
グローバルシーンからの情報を使用して、処理回路1014は、第1の点群及び3D医療画像に関連する第1の基準座標系内の関心位置を決定することができる。関心位置が検出される場合、処理回路1014は、ユーザインターフェース1020にレンダリングされた表示データ内に強調表示された領域を生成することができる。ユーザインターフェース1020は、図1及び図2に関連して説明したユーザインターフェース120と同様であってもよく、その構造及び機能のいずれかを含み得る。この関心位置は、画像処理システム1000の非侵襲的用途のために医療専門家によって入力され得る。
【0170】
処理回路1014は、第1の点群を生成することに少なくとも部分的に関与する画像捕捉デバイス1002からの3D医療画像内に表される対象の距離を決定するように構成することができる。既知の距離又は長さを有する基準オブジェクト又はマーカがグローバルシーン内にある場合、処理回路1014は、既知の距離又は長さを使用して、画像捕捉デバイス1002からグローバルシーン内の他の特徴までの距離を決定することができる。処理回路1014は、3D医療画像内の特徴に対応するグローバル点群内の対象の特徴を使用して、対象の平均位置を決定することができる。
【0171】
処理回路1014は、この同じ方法を使用して、外科用器具1004の平均位置を決定することができる。外科用器具1004のコンピュータ生成モデルは、処理回路1014によって位置合わせされ、画像捕捉デバイス1002によって収集された3D画像データと照合され得る。処理回路1014は、既知の距離又は長さを使用して、グローバルシーン点群の異なる寸法又はパラメータを計算し、画像捕捉デバイス1002から外科用器具1004までの距離を決定することができる。対象の特徴及び相対位置1008を使用して、処理回路は、IRセンサ1018によって収集された追跡データと、画像捕捉デバイス1002によって捕捉された3D画像データと整列された基準座標系とを処理することによって、対象までの外科用器具1004の距離を決定することができる。外科用器具1004の相対位置1008は、IRセンサ1018と並列に画像捕捉デバイス1002によって連続的に追跡することができ、追跡データは処理回路1014に送信される。
【0172】
外科用器具1004は、処置を関心位置に送達することができる。処理回路1014は、通信回路1016を介して外科用器具1004と通信することができる。処理回路1014は、パラメータ1012を通して、関心位置に送達されているエネルギーの総量を追跡することができる。処理回路1014はまた、送達されているエネルギーの総時間量を追跡することもできる。処理回路1014は、パラメータ1012が満たされる場合、又は関心位置がもはや外科用器具と整列させられない場合、終了する、出力されているエネルギーの量を低減させる、又は別様に関心位置への処置のエネルギー送達のパラメータを変更することができる。
【0173】
一部の実装形態では、処理回路1014は、通信回路1016を通して、表示データを介してユーザインターフェース1020に外科用器具1004が標的化している対象の内部マッピングを通信することができる。処理回路1014は、3D医療画像データ(例えば、CT、MRI)を使用し、データをグローバルシーンに整列させて、表示データを生成することができる。例えば、外科用器具1004は、対象の特定の内部位置を標的とする変換器であり得る。
【0174】
処理回路1014は、IRセンサ1018を介して、関心位置に対する相対位置1008に関する最新の情報を計算し、提供することができる。処理回路1014は、IRセンサ1018から受信した追跡情報及び画像捕捉デバイス1002からの3D画像データを通じて、関心位置及び相対位置1008の初期整列を位置合わせする。処理回路1014が関心位置の許容される速さの閾値を下回る速さでの移動を検出した場合、処理回路1014は、関心位置と再整列させるための外科用器具1004への移動命令を生成する。処理回路1014が、関心位置の許容距離閾値を下回る距離を有する移動を検出した場合、処理回路1014は、関心位置と再整列させるための外科用器具1004への移動命令を生成することになる。処理回路1014が、関心位置の許容速度閾値を上回る速度の移動を検出した場合、処理回路1014は、通信回路1016を通して終了命令を伝送することになる。処理回路1014が、関心位置の許容距離閾値を上回る距離の移動を検出した場合、処理回路1014は、通信回路1016を通して終了命令を伝送することになる。
【0175】
一部の実装形態では、外科用器具1004は、対象と接触していることができる。処理回路1014は、グローバルシーン及び外科用器具1004の相対位置1008を関心位置に位置合わせする。処理回路1014は、IRセンサ1018などのセンサから情報を受信することができ、関心位置の横方向及び回転方向の移動を処理する。処理回路1014は、外科用器具1004を所定の大きさの力で対象に接触させ続けるための移動命令を生成することができる。処理回路1014は、所定の量のトルクで外科用器具1004を対象と接触した状態に保つための移動命令を生成することができる。処理回路1014は、システム1000がその非侵襲的外科用ナビゲーションにトルク検知を含めるように、通信回路1016を介して移動命令を伝送する。
【0176】
一部の実装形態では、外科用器具1004は、治療送達目的のために超音波信号を出力することができる。例えば、集束超音波療法では、外科用器具1004は、関心位置に超音波を送達することができ、特に、血液脳関門を開いて、薬物治療を非侵襲的に送達する。一部の実装形態では、外科用器具1004は、アレイ状に配置された超音波変換器などの複数の伝送要素を含み得る。一部の実装形態では、外科用器具1004は、波面を重ね合わせて平面波を生成するために複数の超音波伝送要素を使用してビーム形成を実行することができる。一部の実装形態では、外科用器具1004は、出力された超音波信号を制御及びステアリングするために、波数のような種々のパラメータを制御することができる。処理回路1014は、超音波ビームの焦点ステアリングを実行するように外科用器具1004を制御して、外科用器具1004のフェーズドアレイ動作又は他の動作を制御して、外科用器具1004の追跡データ又は超音波ビームを使用して実行されている処置の標的パラメータのうちの少なくとも1つに基づいて、超音波ビームの位置及び方向のうちの少なくとも1つを制御することができる。
【0177】
図11は、対象の頭部などの対象上の関心位置への処置の送達を容易にするためのリアルタイム非侵襲的外科用ナビゲーションのための方法1100を示している。方法1100は、図1の画像処理システム100、図10の画像処理システム1000、図4のロボット制御システム405、図6のロボット制御システム605、図8のロボット制御システム805、又は図12A及び図12Bのコンピュータシステム1200を含む、本明細書に説明されるコンピューティングシステムのいずれかを使用して実行され得る。方法1100のステップは、所望の結果を達成するために、追加のステップの実行又は特定のステップの省略を含む任意の順序で完了され得ることが理解されるであろう。
【0178】
方法1100は、経頭蓋磁気刺激のための磁気コイル、高出力超音波、又は非侵襲的な頭蓋処置に使用される他の外科用器具を使用して実行することができる。例えば、方法1100は、対象のリアルタイム3D画像データと対象のモデルデータ(例えば、CT又はMRI検査データなどの3D医療画像データからのモデルデータ)との間の整列を維持し、モデルデータに関連付けられた関心位置及び対象のリアルタイム3D画像データとの整列に基づいて対象に処置を適用するように外科用器具を制御し、処置並びに外科用器具と対象との相対位置、及び一部の実装形態では、外科用器具と対象との間の接触を示す力(例えば、トルク)データを監視し、監視に応答して、処置を終了すること、外科用器具のエネルギー又は他の出力を調整すること、及び/又は外科用器具を移動させることを含む、処置がどのように実行されるかを制御するために実行され得る。これは、対象への磁気又は超音波信号などの治療の標的外送達の可能性がより少なく、処置がより正確に実行されることを可能にすることができる。
【0179】
ステップ1105において、3D画像が対象の医療画像に対して位置決めされる。医療画像は、対象のモデルとして使用され得る、CT又はMRI画像データを含み得る。医療画像は、3D医療画像データを含み得る。3D画像は、1つ以上の画像捕捉デバイス(例えば、図10の画像捕捉デバイス1002など)を使用して捕捉された点群であり得る。点群は、外科的環境内の患者を示すことができる。3D点群(「3D画像」と称されることもある)の1回の捕捉は、「フレーム」又は「点群フレーム」と称されることがあり、画像捕捉デバイスによる単一の捕捉に対応することができる。点群及び/又は基準座標系は、医療画像から、又は画像捕捉デバイスを使用して捕捉された3D画像から生成することができる。3D画像は、本明細書で説明される種々の方法を使用して、医療画像を3D画像と位置合わせ又は整列させることによって、医療画像に対して位置決めすることができる。位置決めは、例えば、本明細書で説明されるような3Dカメラ又は他の画像捕捉デバイスを使用した3D画像の連続的な捕捉から、3D画像データが受信されるときに周期的に更新され得る。
【0180】
3D画像位置合わせプロセスは、潜在的標的のインジケータを含み得る患者の3D画像と、外科的環境内の患者から捕捉された3D点群とを整列させために、画像対患者位置合わせ技術を使用して埋め込まれることができる。患者の頭部のCTスキャンなどの3D医療画像は、患者の顔の3D表現と、患者の脳内又は患者の生体構造の別の位置内の標的領域の指示との両方を含み得る。患者の3D画像を外科的環境内の患者のリアルタイム3D点群と位置合わせすることによって、患者の3D画像は、患者のリアルタイム3D点群及び患者を取り囲む環境内の任意の器具の両方と同じ基準座標系内で、任意の標的インジケータとともに医療画像にマッピングすることができる。そうすることは、患者と患者の3D画像に示される標的領域との両方に対して、患者を伴う処置において利用され得る1つ以上の器具の位置の正確な追跡を可能にすることができる。3D画像を患者の3D点群に位置合わせするために、RANSACアルゴリズム又は反復最近点アルゴリズムなどの反復フィッティングプロセスを実行することができる。そうすることで、3D画像は、患者の3D点群に連続的に(又は患者若しくは器具の移動などに応じて周期的に)位置合わせすることができる。位置合わせが失敗した場合(例えば、適合アルゴリズムが、所定の誤差閾値内で3D画像を3D点群に適合させることに失敗した場合など)、失敗を示す信号が生成され得る。
【0181】
ステップ1110では、基準座標系又は基準座標系内の特定の位置に対する外科用器具及び/又は対象の位置を追跡するためなどに、外科用器具及び対象のうちの少なくとも1つを追跡することができる。外科用器具及び/又は対象は、画像捕捉デバイス(3D画像を検出するために使用される3Dカメラを含む)、赤外線センサ、トルク又は力センサ、又はそれらの種々の組み合わせなどの種々のセンサを使用して追跡され得る。外科用器具及び対象は、対象(及び外科用器具)を表すために使用されるモデルに対する外科用器具及び対象の位置を周期的に更新するためなどに、周期的に追跡され得る。
【0182】
追跡は、外科的環境内の患者の3D点群と同じ基準座標系内で、非侵襲的器具に装備又は結合され得る外科用ロボットの位置を決定することを含み得る。本明細書に説明されるように、画像捕捉デバイスは、外科的環境内の患者の画像を捕捉することができる。画像捕捉デバイスは、IRセンサ(例えば、IRセンサ1018)などの他のセンサに対して外科的環境内で所定の姿勢を有し得る。本明細書で上述したように、IRセンサは、光のIR波長を捕捉するIRカメラとすることができる。IR追跡技術などの1つ以上の追跡技術が、ロボットの位置を決定するために利用されてもよい。ロボットは、その表面上にIRインジケータなどの1つ以上のマーカ又はインジケータを含み得る。IRセンサは、ロボットの相対位置を決定するために使用することができる。一部の実装形態では、ロボットの配向(例えば、姿勢)は、類似技術を実行することによって判定され得る。ロボットの位置を追跡するために使用されるセンサは、画像捕捉デバイスから既知の距離にあるため、IRセンサによって検出されるマーカの位置は、画像捕捉デバイスによって捕捉される3D点群と同一の基準座標系にマッピングされ得る。
【0183】
一部の実装形態では、画像捕捉デバイスは、ロボットの位置を決定するために使用されてもよい。例えば、ロボットは、とりわけ、明るい別個の色又はQRコードなどの1つ以上のグラフィカルインジケータを含み得る。患者の3D点群を捕捉することに加えて、画像捕捉デバイスは、外科的環境の画像を捕捉することができ、画像分析技術が、画像内のインジケータの検出された位置に基づいて、画像内の外科用ロボットの位置を決定するために実行され得る。外科用ロボットの位置及び配向は、周期的に、例えば、リアルタイム又は略リアルタイムで算出されることができ、ロボット制御システムが経時的にロボットの移動を追跡することを可能にする。一部の実装形態では、較正処置が、3D点群と外科用ロボットに結合されるインジケータとの間の統一された基準座標系を確立するために実行され得る。較正処置は、外科的環境内に位置決めされたグローバルインジケータに対するロボットの位置を識別することを含み得る。ロボットの位置は、ロボットのリアルタイム又は略リアルタイムの位置が、本明細書に説明される種々の構成要素にアクセスされ得るように、コンピュータ可読メモリの1つ以上のデータ構造内に記憶され得る。
【0184】
ロボットの位置を追跡することは、ロボットに結合された器具(例えば、外科用器具1004)の位置を追跡することを含み得る。本明細書で上述したように、器具は、器具又は器具をロボットに結合するブラケット/コネクタに結合されたそれ自体のインジケータを含み得る。器具並びにロボットの位置及び配向は、本明細書に説明されるものに類似する技術を使用して、リアルタイム又は略リアルタイムで追跡され得る。器具の位置及び配向は、例えば、それぞれのタイムスタンプに関連付けて、コンピュータ可読メモリに記憶することができる。
【0185】
更に、患者の位置及び移動を正確に決定することができ、それに応じてロボットの位置を調整するための信号を生成することができる。そうするために、患者を表す3D点群の以前の位置は、画像捕捉デバイスによって捕捉された現在の又は新しい3D点群の位置と比較され得る。一部の実装形態では、3D点群の少なくとも2つのセット、すなわち、以前に捕捉されたフレームからのものと、現在捕捉されている(例えば、直近に捕捉された)フレームからの別のものとを維持する(例えば、記憶する、更新する)ことができる。比較は、3D点群の基準座標系内の距離(例えば、ユークリッド距離など)とすることができる。
【0186】
第1の3D点群(例えば、前のフレーム)内のどの3D点が第2の3D点群(例えば、現在のフレーム)内の3D点に対応するかを判定するために、反復計算を実行することができる。例えば、反復ICPアルゴリズム又はRANSACフィッティング技術を実行して、現在のフレーム内のどの点が前のフレーム内の点に対応するかを近似することができる。次いで、対応する点の間の距離を決定することができる。一部の実装形態では、計算性能を向上させるために、ロボット制御システムは、(例えば、点群に対してダウンサンプリング技術を実行することによって)点のサブセットを比較することができる。例えば、点の対応関係を求めた後、マッチング点ペアのサブセットが、比較する(例えば、空間内の距離を決定する)ために、各点群間で選択され得る。一部の実装形態では、外科的環境内の患者の移動を判定するために、フレーム間の3D点の平均移動が計算され得る。同様の技術を使用して、本明細書に記載される画像位置合わせ技術に基づいて、外科的環境内の患者の解剖学的構造の標的位置の位置又は移動を計算することができる。加えて、本明細書に説明されるように、1つ以上のトルクセンサからのセンサデータは、外科的環境内の患者、外科用ロボット、器具、又は患者の生体構造の標的位置の移動又は位置を検出するために利用されてもよい。
【0187】
ステップ1115において、外科用器具と関心位置との整列を評価することができる。関心位置(標的位置と称されることもある)は、処置に関連する対象の頭蓋骨上の位置など、対象上の位置とすることができる。関心位置は、例えば、処置計画又は医療画像に関連する他の情報においてユーザ(例えば、外科医)によってマークされることに基づいて、医療画像又は3D画像データにおいて識別され得る。例えば、関心位置は、超音波、磁気信号、又は他の非侵襲的信号が印加される対象の頭部上の部位とすることができる。外科用器具は、対象の関心位置に対して種々の処置(例えば、侵襲的処置及び非侵襲的処置を含む)を実行するために使用することができる。関心位置との外科用器具の整列は、外科用器具及び対象の追跡からの追跡データに基づいて評価することができ、標的距離と比較した外科用器具と関心位置との間の検出された距離、及び標的配向と比較した外科用器具の配向(例えば、効果的な治療送達を容易にするために外科用器具が対象の頭部に対して位置決めされるべき角度)のうちの少なくとも1つに基づいて評価することができる。整列の評価の出力は、外科用器具が関心位置から標的距離又は距離の範囲内にあり(又はなく)、関心位置における対象の表面に対してある角度又は角度の範囲内で配向されていると判定することなどによって、外科用器具が関心位置と整列されているか否かに関する指示を含み得る。セクションA~Dに記載されたものと同様の技術を実行して、標的位置に対する外科用器具の位置及び配向(並びに実行される処置の標的配向)を決定することができる。器具が関心位置及び標的配向と整列されている場合、方法1100のステップ1125を実行することができる。そうではなく、器具が関心位置と整列されていないか、又は標的配向にない(又はいずれかの所定の許容範囲内にある)場合、方法1100のステップ1120を実行することができる。
【0188】
ステップ1120において、外科用器具が関心位置と整列されていないことを検出したことに応答して、外科用器具の姿勢を調整して外科用器具を関心位置と整列するために、外科用器具又は外科用器具に結合されたロボットデバイス(例えば、ロボットアーム)のうちの少なくとも1つに移動命令が伝送され得る。移動命令は、整列の周期的な評価に応答して周期的に生成され、かつ伝送され得る。
【0189】
本明細書に説明されるように、ロボットの位置又は配向は、ロボット(又はロボットに結合されるコントローラ)が、器具のための標的位置又は標的配向を示す命令又は信号を実行又は解釈するときに調整され得る。例えば、ロボットは、器具の標的位置又は標的配向を示すかかる命令を実行し、ロボット内の種々の可動構成要素を作動させ、器具を標的位置及び標的配向に移動させることができる。ロボット制御システムは、患者が固定されていないときであっても、ロボット又は器具が処置のための標的位置又は標的経路と整列させられるように、患者又は患者の生体構造上の標的位置の移動に従ってロボットをナビゲートすることができる。一部の実装形態では、標的位置又は標的経路は、画像捕捉デバイスの基準座標系内の患者を表すリアルタイム3D点群に位置合わせされる、3D画像(例えば、CTスキャン又はMRIスキャンなど)の一部として規定され得る。器具及びロボットの位置も同じ基準座標系内にマッピングされるため、器具とロボットとの間の距離の正確な測定値を決定することができる。例えば、外科的環境内の器具の所定の部分(例えば、先端又はツール端部)の位置を近似するために、器具の既知の属性に基づいてこの距離にオフセットが追加されてもよい。
【0190】
外科用器具が標的位置又は標的配向と不整列であることが判定されると、器具を標的位置又は標的配向と整列させるように、ロボットを移動又は再配向させるための命令が生成され得る。例えば、CTスキャンから、又はユーザ入力から、器具は、外科的環境内の標的経路又は標的位置と整列され、処置を実行してもよい。患者が外科的処置中に移動する場合、例えば、ロボットの1つ以上のAPIを使用して、検出された患者の移動又は検出された不整列と同期して器具を移動させるための命令が生成され得る。一例では、標的経路の左に2センチメートルの患者の移動が検出された場合、ロボット制御システムは、標的経路に従って、ロボットの位置を同じ左に2センチメートル調整することができる。一部の実装形態では、器具の位置又は配向への調整は、ロボットを所定の軌道(例えば、患者の解剖学的構造上の標的位置に到達するための患者の頭蓋骨の中への経路など)に沿ってナビゲートしながら行われることができる。例えば、ロボットは、患者の移動に従って左又は右にナビゲートされてもよく、又は器具を標的位置又は配向に再整列するようにナビゲートされてもよく、同時に、器具を患者の解剖学的構造上の標的位置まで所定の軌道に沿って下方にナビゲートしてもよい。これは、処置中の任意の患者の移動が患者に害をもたらす可能性があるため、患者の移動を追跡及び補償しない非侵襲的処置のための他のロボット実装形態に対して改善を提供する。患者の移動に従って器具を移動させることによって、所定の標的経路がより正確に追従され得るため、患者の他の部分との意図しない衝突又は干渉が軽減される。
【0191】
ロボット又は器具の位置又は配向に対する調整は、反復的に、又は周期的かつ毎秒複数回、実行され、外科用器具の突然の患者移動又は他の不整列を補償することができる。本明細書で説明されるように、外科的環境内の患者の移動及び器具の位置は、周期的に(例えば、画像捕捉デバイスの捕捉レートなどに従って)計算され得る。新しいフレームが画像捕捉デバイスによって捕捉されるたびに、患者の位置の変化が閾値(例えば、以前のフレーム、処置の開始時の患者位置、又は器具の位置などに対する所定の移動量)を満たすかどうかが判定され得る。ロボットの位置又は配向は、器具が患者の位置の検出された変化に対して所定の経路(例えば、所定の軌道)と整列させられるように調整され得る。軌道又は経路の位置の変化は、リアルタイムで患者に位置合わせされる3D画像(例えば、CTスキャン又はMRIスキャンなど)内の1つ以上の標的インジケータの位置又は配向の変化に基づいて決定され得る。一部の実装形態では、3D画像は、選択された標的への経路又は軌道を示すように修正され得る。同様に、複数の標的又は経路(又は経路のセグメント)が存在する実装形態では、外科医は、ユーザ入力(例えば、ボタン選択、タッチスクリーンによる選択など)を介して、それに沿ってロボットが器具をナビゲートすべき1つ以上の経路を選択してもよい。ロボットは、本明細書に説明されるように、リアルタイムで外科用器具の患者移動又は不整列を補償しながら、選択された経路に沿ってナビゲートされ得る。器具を標的位置及び配向に整列させた後、ステップ1110において、器具の位置及び配向を連続的に追跡することができる。一部の実装形態では、ステップ1120は、ステップ1125と並列に実行され得る(例えば、外科用器具の同時再整列及び標的位置への器具出力の印加を可能にする)。かかる実装形態では、方法1100は、ステップ1110~1125の実行中にステップ1130を実行することを含み得る。
【0192】
ステップ1125において、外科用器具は、TMS又はFUS治療を関心位置に送達するなどの処置を適用するように制御することができる。外科用器具は、外科用器具が関心位置と整列されていることを検出したことに応答して処置を適用するように制御することができ、処置は、外科用器具が関心位置と整列されていないことを検出したことに応答して、調整、一時停止、又は終了することができる。ロボット又は器具のAPIを使用して、所望の処置を適用するために器具を作動させる命令を生成することができる。一部の実装形態では、処置を適用するために器具を起動するように、手動入力が(例えば、外科医などによって)提供され得る。処置が自動的に適用される(例えば、器具が標的位置及び配向に整列されたことを検出したことに応答して)実装形態では、処置のための命令にアクセスするか又は命令を検索して、適用される信号の持続時間及び強度を決定することができる。処置は、非侵襲的処置であり得る。一部の実装形態では、器具出力の持続時間、強度、及びタイプは、外科医によって、又は処置のデータベースから事前に選択され得る。一部の実装形態では、一部の標的位置が、選択されることができ、それぞれ、対応する持続時間、強度、及び器具出力のタイプを伴う。方法1100の種々のステップは、非侵襲的処置を完了するための所望の出力を達成するために、一部の標的位置の各々に適用され得る。
【0193】
ステップ1130において、処置の性能が評価される。例えば、(例えば、送達されるビーム又は信号の)持続時間、瞬間、平均、及び/又は総エネルギー又は電力などの処置の種々のパラメータ、並びに生理学的又は生物学的応答(例えば、心拍数、呼吸数、温度、皮膚コンダクタンス、脳波活動、又は種々のセンサによって検出される種々の他のパラメータ)などの対象の応答は、個別の閾値と比較されることによって評価され得る。かかる応答は、処置中に患者に結合されたセンサから捕捉することができる。一部の実装形態では、治療の送達は、(外科用器具の姿勢を調整することに加えて)治療を実行するために使用されている磁場又は超音波信号の電力、エネルギー、頻度、又は他のパラメータを増加又は減少させるためなどに、評価に応答して調整され得る。それぞれの閾値は、例えば、処置に先立って外科医によって提供され得る。処置のパラメータを調整するための命令は、本明細書に記載されるものと同様の技術を使用して生成することができる。外科的処置閾値(複数可)が満たされる場合、方法1100は、ステップ1135に進むことができる。外科的処置閾値(複数可)が満たされない場合、方法1100はステップ1110に戻ることができ、これは、処置が患者の標的位置に適用されている間に外科用器具を再配置又は再配向するためにステップ1125と並列に実行されてもよい。
【0194】
ステップ1135において、終了条件(例えば、十分な継続時間及び/又は総エネルギー送達)を満たすパフォーマンスの評価に応答して、外科用器具は、処置を中断させることができる。一部の実装形態では、処置の終了は、ロボットの位置又は配向を、器具を患者の生体構造から分離させるデフォルト位置又は配向に修正する命令を生成することを含み得る。これらの命令は、本明細書で説明されるものと同様の技術を使用して生成され得る。命令を生成することは、患者の解剖学的構造から器具を安全に分離するために、所定の軌道に沿って器具を誘導する命令を生成することを含み得る。侵襲的処置の場合、これは、患者の解剖学的構造内から器具を安全に除去する(例えば、ロボットの現在位置に部分的に基づいて予め決定されるか又は決定され得る)軌道に従うことを含み得る。非侵襲的処置において患者の解剖学的構造の表面から器具を除去するために、同様の技術を実行することができる。一部の実装形態では、処置が完了したことを示すアラートが生成されることができ、外科医は、患者の生体構造から器具を除去するようにロボットを手動で制御するように促され得る。
【0195】
(F.コンピューティング環境)
図12A及び図12Bは、コンピューティングデバイス1200のブロック図を示している。図12A及び図12Bに示されるように、各コンピューティングデバイス1200は、中央演算装置1221と、メインメモリユニット1222とを含む。図12Aに示すように、コンピューティングデバイス1200は、ストレージデバイス1228、インストールデバイス1216、ネットワークインターフェース1218、I/Oコントローラ1223、ディスプレイデバイス1224a~1224n、キーボード1226、及びポインティングデバイス1227、例えばマウスを含み得る。ストレージデバイス1228は、限定ではないが、画像処理システム100、ロボットシステム300、ロボット制御システム405、ロボット制御システム605、ロボット制御システム805、又は画像処理システム1000のオペレーティングシステム、ソフトウェア、及びソフトウェアを含み得る。図12Bに示されるように、各コンピューティングデバイス1200はまた、追加の任意の要素、例えば、メモリポート1203、ブリッジ1270、1つ以上の入出力デバイス1230a~1230n(概して、参照番号1230を使用して参照される)、及び中央演算装置1221と通信するキャッシュメモリ1240を含み得る。
【0196】
中央演算装置1221は、メインメモリユニット1222からフェッチされた命令に応答し、それを処理する任意の論理回路である。多くの実行形態では、中央演算装置1221は、マイクロプロセッサユニット、例えば、Intel Corporation(Mountain View,California)によって製造されるもの、Motorola Corporation(Schaumburg,Illinois)によって製造されるもの、ARMプロセッサ(例えば、ARM Holdings製であり、ST,TI,ATMELなどによって製造される)及びNvidia(Santa Clara,California)によって製造されるTEGRAシステムオンチップ(SoC)、POWER7プロセッサ、International Business Machines(White Plains,New York)によって製造されるもの、又はAdvanced Micro Devices(Sunnyvale,California)によって製造されるもの、又はAltera(San Jose,California)、Intel Corporation(Xilinx in San Jose,California)、若しくはMicroSemi(Aliso Viejo,California)製のフィールドプログラマブルゲートアレイ(「FPGA」)などによって提供される。コンピューティングデバイス1200は、これらのプロセッサのいずれか、又は本明細書に記載されるように動作することが可能な任意の他のプロセッサに基づき得る。中央演算装置1221は、命令レベル並列性、スレッドレベル並列性、異なるレベルのキャッシュ、及びマルチコアプロセッサを利用することができる。マルチコアプロセッサは、単一のコンピューティング構成要素上に2つ以上の処理ユニットを含み得る。マルチコアプロセッサの例には、AMD PHENOM IIX2、INTEL CORE i5、INTEL CORE i7、及びINTEL CORE i9が含まれる。
【0197】
メインメモリユニット1222は、データを記憶し、任意の記憶位置がマイクロプロセッサ1221によって直接アクセスされることを可能にすることが可能な1つ以上のメモリチップを含み得る。メインメモリユニット1222は、揮発性であり、ストレージ1228メモリよりも高速であり得る。メインメモリユニット1222は、スタティックランダムアクセスメモリ(SRAM)、バーストSRAM又はSynchBurst SRAM(BSRAM)、高速ページモードDRAM(FPM DRAM)、エンハンストDRAM(EDRAM)、拡張データ出力RAM(EDO RAM)、拡張データ出力DRAM(EDO DRAM)、バースト拡張データ出力DRAM(BEDO DRAM)、シングルデータレートシンクロナスDRAM(SDR SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、ダイレクトラムバスDRAM(DRDRAM)、又はエクストリームデータレートDRAM(XDR DRAM)を含む、ダイナミックランダムアクセスメモリ(DRAM)又は任意の変形であり得る。一部の実行形態では、メインメモリ1222又はストレージ1228は、不揮発性、例えば、不揮発性リードアクセスメモリ(NVRAM)、フラッシュメモリ不揮発性スタティックRAM(nvSRAM)、強誘電体RAM(FeRAM)、磁気抵抗RAM(MRAM)、相変化メモリ(PRAM)、導電性ブリッジングRAM(CBRAM)、シリコン-酸化物-窒化物-酸化物-シリコン(SONOS)、抵抗性RAM(RRAM)、レーストラック、ナノRAM(NRAM)、又はミリピードメモリとすることができる。メインメモリ1222は、上述のメモリチップのいずれか、又は本明細書で説明されるように動作することが可能な任意の他の利用可能なメモリチップに基づき得る。図12Aに示される実行形態では、プロセッサ1221は、システムバス接続1250(以下により詳細に説明される)を介して、メインメモリ1222と通信する。図12Bは、プロセッサがメモリポート1203を介してメインメモリ1222と直接通信するコンピューティングデバイス1200の一実行形態を示している。例えば、図12Bにおいて、メインメモリ1222は、DRDRAMであり得る。
【0198】
図12Bは、メインプロセッサ1221が、バックサイドバスと称されることもある二次バスを介してキャッシュメモリ1240と直接通信する一実行形態を示している。他の実行形態では、メインプロセッサ1221は、システムバス1250を使用してキャッシュメモリ1240と通信する。キャッシュメモリ1240は、通常、メインメモリ1222よりも速いレスポンスタイムを有し、通常、SRAM、BSRAM、又はEDRAMによって提供される。図12Bに示す実行形態では、プロセッサ1221は、ローカルシステムバス1250を介して種々のI/Oデバイス1230と通信する。PCIバス、PCI-Xバス、又はPCI-Expressバス、又はNuBusを含む種々のバスを使用して、中央演算装置1221をI/Oデバイス1230のいずれかに接続することができる。I/Oデバイスがビデオディスプレイ1224である実行形態では、プロセッサ1221は、アドバンストグラフィックスポート(AGP)を使用して、ディスプレイ1224又はディスプレイ1224のためのI/Oコントローラ1223と通信することができる。図12Bは、メインプロセッサ1221がHYPERTRANSPORT、RAPIDIO、又はINFINIBAND通信技術を介してI/Oデバイス1230b又は他のプロセッサ1221と直接通信するコンピュータ1200の一実行形態を示している。図12Bはまた、ローカルバス及び直接通信が混合される一実行形態を示し、プロセッサ1221は、I/Oデバイス1230bと直接通信しながら、ローカル相互接続バスを使用してI/Oデバイス1230aと通信する。
【0199】
多種多様なI/Oデバイス1230a~1230nが、コンピューティングデバイス1200内に存在することができる。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、タッチパッド、タッチマウス、マルチタッチタッチパッド及びタッチマウス、マイクロホン(アナログ又はMEMS)、マルチアレイマイクロホン、描画タブレット、カメラ、一眼レフカメラ(SLR)、デジタルSLR(DSLR)、CMOSセンサ、CCD、加速度計、慣性測定ユニット、赤外線光学センサ、圧力センサ、磁力計センサ、角速度センサ、深度センサ、近接センサ、周囲光センサ、ジャイロスコープセンサ、又は他のセンサを含み得る。出力デバイスは、ビデオディスプレイ、グラフィカルディスプレイ、スピーカ、ヘッドフォン、インクジェットプリンタ、レーザプリンタ、及び3Dプリンタを含み得る。
【0200】
デバイス1230a~1230nは、例えば、Microsoft KINECT、Nintendo Wiimote for the WII、Nintendo WII U GAMEPAD、又はApple IPHONE(登録商標)を含む、複数の入力又は出力デバイスの組み合わせを含み得る。一部のデバイス1230a~1230nは、入力及び出力のうちの一部を組み合わせることを通して、ジェスチャ認識入力を可能にすることができる。一部のデバイス1230a~1230nは、認証及び他のコマンドを含む異なる目的のための入力として利用され得る顔認識を提供する。一部のデバイス1230a~1230nは、例えば、Microsoft KINECT、AppleによるIPHONE用のSIRI、Google Now、又はGoogle Voice Searchを含む、音声認識及び入力を提供する。
【0201】
追加のデバイス1230a~1230nは、例えば、触覚フィードバックデバイス、タッチスクリーンディスプレイ、又はマルチタッチディスプレイを含む、入力能力と出力能力の両方を有する。タッチスクリーン、マルチタッチディスプレイ、タッチパッド、タッチマウス、又は他のタッチ検知デバイスは、例えば、容量性、表面容量性、投影型容量性タッチ(PCT)、セル内容量性、抵抗性、赤外線、導波管、分散信号タッチ(DST)、セル内光学、表面弾性波(SAW)、屈曲波タッチ(BWT)、又は力ベースの検知技術を含む、タッチを検知するための異なる技術を使用することができる。一部のマルチタッチデバイスは、表面との2つ以上の接触点を可能にし、例えば、つまむ、広げる、回転させる、スクロールする、又は他のジェスチャを含む高度な機能を可能にすることができる。例えば、Microsoft PIXELSENSE又はMulti-Touch Collaboration Wallを含む、一部のタッチスクリーンデバイスは、テーブルトップ上又は壁上など、より大きい表面を有することができ、他の電子デバイスと相互作用することもできる。一部のI/Oデバイス1230a~1230n、ディスプレイデバイス1224a~1224n、又はデバイスのグループは、拡張現実デバイスとすることができる。I/Oデバイスは、図12Aに示すように、I/Oコントローラ1223によって制御することができる。I/Oコントローラ1223は、例えばキーボード126及びポインティングデバイス1227(例えばマウス又は光学ペン)などの1つ以上のI/Oデバイスを制御することができる。更に、I/Oデバイスは、コンピューティングデバイス1200のための記憶媒体及び/又はインストール媒体1216も提供することができる。他の実行形態では、コンピューティングデバイス1200は、ハンドヘルドUSBストレージデバイスを受け入れるためのUSB接続(図示せず)を提供することができる。更なる実行形態では、I/Oデバイス1230は、システムバス1250と外部通信バス、例えば、USBバス、SCSIバス、FireWireバス、イーサネット(登録商標)バス、ギガビットイーサネット(登録商標)バス、ファイバチャネルバス、又はThunderboltバスとの間のブリッジ1270とすることができる。
【0202】
一部の実行形態では、ディスプレイデバイス1224a~1224nは、I/Oコントローラ1223に接続することができる。ディスプレイデバイス1224a~1224nは、例えば、液晶ディスプレイ(LCD)、薄膜トランジスタLCD(TFT-LCD)、青色相LCD、電子ペーパー(e-ink)ディスプレイ、フレキシブルディスプレイ、発光ダイオードディスプレイ(LED)、デジタル光処理(DLP)ディスプレイ、液晶オンシリコン(LCOS)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリクス有機発光ダイオード(AMOLED)ディスプレイ、液晶レーザディスプレイ、時間多重光シャッタ(TMOS)ディスプレイ、又は3Dディスプレイを含むことができる。3Dディスプレイの例は、例えば、立体視、偏光フィルタ、アクティブシャッタ、又は自動立体視を使用することができる。ディスプレイデバイス1224a~1224nは、ヘッドマウントディスプレイ(HMD)であってもよい。一部の実行形態では、ディスプレイデバイス1224a~1224n又は対応するI/Oコントローラ1223は、OPENGL又はDIRECTX API又は他のグラフィックスライブラリのためのハードウェアサポートを通して制御され得るか、又はそれを有し得る。
【0203】
一部の実行形態では、コンピューティングデバイス1200は、各々が同じ又は異なるタイプ及び/又は形態であり得る複数のディスプレイデバイス1224a~1224nを含むか、又はそれらに接続することができる。したがって、I/Oデバイス1230a~1230n及び/又はI/Oコントローラ1223のいずれかは、コンピューティングデバイス1200による複数のディスプレイデバイス1224a~1224nの接続及び使用をサポートし、可能にし、又は提供するために、任意のタイプ及び/又は形態の適切なハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせを含み得る。例えば、コンピューティングデバイス1200は、ディスプレイデバイス1224a~1224nをインターフェースし、通信し、接続し、又は別様で使用するために、任意のタイプ及び/又は形態のビデオアダプタ、ビデオカード、ドライバ、及び/又はライブラリを含み得る。一実行形態では、ビデオアダプタは、複数のディスプレイデバイス1224a~1224nにインターフェースするための複数のコネクタを含み得る。他の実行形態では、コンピューティングデバイス1200は、複数のビデオアダプタを含んでもよく、各ビデオアダプタは、ディスプレイデバイス1224a~1224nのうちの1又は複数に接続される。一部の実行形態では、コンピューティングデバイス1200のオペレーティングシステムの任意の部分は、複数のディスプレイ1224a~1224nを使用するために構成され得る。他の実行形態では、ディスプレイデバイス1224a~1224nのうちの1又は複数は、ネットワーク1240を介してコンピューティングデバイス1200に接続された1つ以上の他のコンピューティングデバイス1200a又は1200bによって提供され得る。一部の実行形態では、ソフトウェアは、別のコンピュータのディスプレイデバイスをコンピューティングデバイス1200のための第2のディスプレイデバイス1224aとして使用するように設計及び構築され得る。例えば、一実行形態では、Apple iPad(登録商標)は、コンピューティングデバイス1200に接続し、デバイス1200のディスプレイを、拡張デスクトップとして使用することができる追加のディスプレイスクリーンとして使用することができる。当業者は、コンピューティングデバイス1200が複数のディスプレイデバイス1224a~1224nを有するように構成され得る種々の方法及び実行形態を認識及び理解するであろう。
【0204】
再び図12Aを参照すると、コンピューティングデバイス1200は、オペレーティングシステム又は他の関連ソフトウェアを記憶するため、及び画像処理システム100、ロボットシステム300、ロボット制御システム405、ロボット制御システム605、ロボット制御システム805、又は画像処理システム1000のためのソフトウェアに関連する任意のプログラムなどのアプリケーションソフトウェアプログラムを記憶するためのストレージデバイス1228(例えば、1つ以上のハードディスクドライブ又は独立ディスクの冗長アレイ)を備えることができる。ストレージデバイス1228の例は、例えば、ハードディスクドライブ(HDD)、CDドライブ、DVDドライブ、又はBLU-RAYドライブを含む光学ドライブ、ソリッドステートドライブ(SSD)、フラッシュドライブ、又はデータを記憶するのに適した任意の他のデバイスを含む。一部のストレージデバイス1228は、例えば、ハードディスクをソリッドステートキャッシュと組み合わせるソリッドステートハイブリッドドライブを含む、複数の揮発性及び不揮発性メモリを含み得る。一部のストレージデバイス1228は、不揮発性、可変、又は読み出し専用であり得る。一部のストレージデバイス1228は、内部にあり、バス1250を介してコンピューティングデバイス1200に接続することができる。一部のストレージデバイス1228は、外部にあり、外部バスを提供するI/Oデバイス1230を介してコンピューティングデバイス1200に接続することができる。一部のストレージデバイス1228は、例えば、AppleによるMACBOOK AIR用のRemote Diskを含む、ネットワーク上のネットワークインターフェース1218を介してコンピューティングデバイス1200に接続することができる。一部のクライアントデバイス1200は、不揮発性ストレージデバイス1228を必要としない場合があり、シンクライアント又はゼロクライアント202であり得る。一部のストレージデバイス1228は、インストールデバイス1216として使用することもでき、ソフトウェア及びプログラムをインストールするのに適したものとすることができる。更に、オペレーティングシステム及びソフトウェアは、例えば、knoppix.netからGNU/Linux(登録商標)ディストリビューションとして入手可能なGNU/Linux用のブータブルCDであるKNOPPIXなどのブータブルCDなどのブータブル媒体から実行することができる。
【0205】
コンピューティングデバイス1200は、アプリケーション配布プラットフォームからソフトウェア又はアプリケーションをインストールすることもできる。アプリケーション配布プラットフォームの例は、Apple,Inc.によって提供されるiOSのためのApp Store、Apple,Inc.によって提供されるMac App Store、Google Inc.によって提供されるAndroid OSのためのGOOGLE PLAY、Google Inc.によって提供されるCHROME OSのためのChrome Webstore、及びアマゾンドットコム,Inc.によって提供されるAndroid OS及びKINDLE FIREのためのAmazon Appstoreを含む。
【0206】
更に、コンピューティングデバイス1200は、標準電話回線ネットワークインターフェース又はWANリンク(例えば、802.11、T1、T3、ギガビットイーサネット(登録商標)、又はInfiniband)、ブロードバンド接続(例えば、ISDN、Frame Relay、ギガビットイーサネット(登録商標)、Ethernet(登録商標)-over-SONET、ADSL、VDSL、BPON、GPON、又はFiOSを含む光ファイバ)、無線接続、又は上記のいずれか若しくは全ての何らかの組み合わせを含むがこれらに限定されない種々の接続を介してネットワーク1240にインターフェースするLAN1218を含み得る。接続は、種々の通信プロトコル(例えば、TCP/IP、イーサネット(登録商標)、ARCNET、SONET、SDH、Fiber Distributed Data Interface(FDDI)、IEEE 802.11a/b/g/n/ac CDMA、GSM(登録商標)、WiMax、及び直接非同期接続)を使用して確立することができる。一実行形態では、コンピューティングデバイス1200は、任意のタイプ及び/又は形態のゲートウェイ又はトンネリングプロトコル、例えば、セキュアソケットレイヤ(SSL)、トランスポート層セキュリティ(TLS)、又はフロリダ州Ft.LauderdaleのCitrix Systems,Inc.によって製造されたCitrixゲートウェイプロトコルを介して、他のコンピューティングデバイス1200と通信する。ネットワークインターフェース1218は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、EXPRESSCARDネットワークカード、カードバス型ネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、又は通信が可能な任意のタイプのネットワークにコンピューティングデバイス1200をインターフェースし、本明細書で説明される動作を実行するのに適した任意の他のデバイスを備えることができる。
【0207】
図12Aに示される種類のコンピューティングデバイス1200は、タスクのスケジューリング及びシステムリソースへのアクセスを制御するオペレーティングシステムの制御下で動作することができる。コンピューティングデバイス1200は、MICROSOFT WINDOWS(登録商標)オペレーティングシステムのバージョンのいずれか、Unix及びLinuxオペレーティングシステムの異なるリリース、Macintoshコンピュータ用のMAC OSの任意のバージョン、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意の専用オペレーティングシステム、モバイルコンピューティングデバイス用の任意のオペレーティングシステム、又はコンピューティングデバイス1200上で実行し、本明細書で説明する動作を実行することが可能な任意の他のオペレーティングシステムなど、任意のオペレーティングシステムを実行していることがある。典型的なオペレーティングシステムは、ワシントン州レドモンドのマイクロソフト社によって製造されるWINDOWS 2000’、WINDOWS Server 2012、WINDOWS CE、WINDOWS Phone、WINDOWS XP、WINDOWS VISTA、WINDOWS 7、WINDOWS RT、WINDOWS 8、カリフォルニア州クパチーノのアップル社によって製造されるMAC OS及びiOS、例えば、英国ロンドンのCanonical Ltd.によって配布されるLinux Mintディストリビューション(「distro」)又はUbuntuなどの自由に利用可能なオペレーティングシステムであるLinux、又はUnix若しくは他のUnixなどの派生オペレーティングシステム、及びカリフォルニア州マウンテンビューのGoogleによって設計されたAndroidなどを含むが、これらに限定されない。例えば、GoogleによるCHROME OSを含む、一部のオペレーティングシステムは、例えば、CHROMEBOOKSを含む、ゼロクライアント又はシンクライアント上で使用され得る。
【0208】
コンピュータシステム1200は、任意のワークステーション、電話、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、ネットブック、ULTRABOOK、タブレット、サーバ、ハンドヘルドコンピュータ、携帯電話、スマートフォン、若しくは他のポータブル電気通信デバイス、メディア再生デバイス、ゲームシステム、モバイルコンピューティングデバイス、又は通信可能な任意の他のタイプ及び/若しくは形態のコンピューティング、電気通信、若しくはメディアデバイスとすることができる。コンピュータシステム1200は、本明細書に記載の動作を実行するのに十分なプロセッサ能力及びメモリ容量を有する。一部の実行形態では、コンピューティングデバイス1200は、デバイスと一致する異なるプロセッサ、オペレーティングシステム、及び入力デバイスを有し得る。
【0209】
一部の実行形態では、ネットワーク内の1つ以上のマシン1200のステータスを、例えばネットワーク管理の一部として監視することができる。これらの実行形態の1つにおいて、マシンのステータスは、負荷情報(例えば、マシン、中央演算装置、及びメモリ使用率上のプロセスの数)、ポート情報(例えば、利用可能な通信ポートの数及びポートアドレス)、又はセッション状態(例えば、プロセスの期間及びタイプ、並びにプロセスがアクティブであるかアイドルであるか)の識別を含み得る。これらの実行形態のうちの別のものでは、この情報は、複数のメトリックによって識別され得、複数のメトリックは、負荷分散、ネットワークトラフィック管理、及びネットワーク障害回復、並びに本明細書に説明される本解決策の動作の任意の側面における決定に向けて少なくとも部分的に適用され得る。上述の動作環境及び構成要素の態様は、本明細書に開示されるシステム及び方法の文脈において明らかになるであろう。
【0210】
本明細書で説明した主題及び動作の実装形態は、本明細書で開示した構造及びそれらの構造的等価物を含む、デジタル電子回路で、又は有形媒体、ファームウェア、若しくはハードウェア上で実行されるコンピュータソフトウェアで、又はそれらのうちの1つ以上の組み合わせで実装され得る。本明細書で説明される主題の実装形態は、データ処理装置による実行のために、又はデータ処理装置の動作を制御するために、コンピュータ記憶媒体上に符号化された1つ以上のコンピュータプログラム、例えば、コンピュータプログラム命令の1つ以上の構成要素として実装され得る。プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成される、機械によって生成された電気信号、光信号、又は電磁信号上に符号化することができる。コンピュータ記憶媒体は、コンピュータ可読ストレージデバイス、コンピュータ可読記憶基板、ランダム若しくはシリアルアクセスメモリアレイ若しくはデバイス、又はそれらのうちの1つ以上の組み合わせであり得るか、又はそれらに含まれ得る。更に、コンピュータ記憶媒体は伝搬信号ではないが、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソース又は宛先を含み得る。コンピュータ記憶媒体はまた、1つ以上の別個の物理的構成要素又は媒体(例えば、複数のCD、ディスク、又は他のストレージデバイス1028)であるか、又はそれらに含まれ得る。
【0211】
本明細書で説明される動作は、1つ以上のコンピュータ可読ストレージデバイス上に記憶された、又は他のソースから受信されたデータに対してデータ処理装置によって実行される動作として実装され得る。
【0212】
「データ処理装置」、「データ処理システム」、「クライアントデバイス」、「コンピューティングプラットフォーム」、「コンピューティングデバイス」、又は「デバイス」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、又は前述のもののうちの複数若しくは組み合わせを含む、データを処理するための全ての種類の装置、デバイス、及び機械を包含する。装置は、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はそれらのうちの1つ以上の組み合わせを構成するコードを含み得る。装置及び実行環境は、ウェブサービス、分散コンピューティング、及びグリッドコンピューティングインフラストラクチャなどの種々の異なるコンピューティングモデルインフラストラクチャを実現することができる。
【0213】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型言語、宣言型又は手続き型言語を含む、任意の形態のプログラム言語で書くことができ、スタンドアロンプログラムとして、又はモジュール、構成要素、サブルーチン、オブジェクト、若しくはコンピューティング環境での使用に適した他のユニットとして含む、任意の形態で展開することができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することができるが、その必要はない。プログラムは、他のプログラム又はデータ(例えば、マークアップ言語文書に記憶された1つ以上のスクリプト)を保持するファイルの一部に、問題のプログラム専用の単一のファイルに、又は複数の協調ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、又は1つのサイトに位置するか、若しくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開され得る。
【0214】
本明細書で説明されるプロセス及び論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行され得る。プロセス及び論理フローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)によって実行されることができ、装置はまた、専用論理回路、例えば、FPGA又はASICとして実装され得る。
【0215】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はその両方から命令及びデータを受信する。コンピュータの要素は、命令に従ってアクションを実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリデバイスとを含む。概して、コンピュータはまた、データを記憶するための1つ以上の大容量ストレージデバイス、例えば、磁気、光磁気ディスク、又は光ディスクを含むか、又はそれらからデータを受信するか、若しくはそれらにデータを転送するか、若しくは両方を行うように動作可能に結合されるであろう。しかし、コンピュータはかかるデバイスを有する必要はない。更に、コンピュータは、別のデバイス、例えば、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオ又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又はポータブルストレージデバイス(例えば、ユニバーサルシリアルバスフラッシュドライブ)に組み込むことができる。コンピュータプログラム命令及びデータを記憶するのに適したデバイスは、全ての形態の非揮発性メモリ、媒体及びメモリデバイスを含み、例えば、半導体メモリデバイス、例えば、EPROM、EEPROM及びフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスク又は取り外し可能なディスク、光磁気ディスク、及びCDROM及びDVDROMディスクを含む。プロセッサ及びメモリは、専用論理回路によって補完されるか、又はその中に組み込まれることができる。
【0216】
ユーザとの相互作用を提供するために、本明細書で説明される主題の実装形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、プラズマ、又はLCD(液晶ディスプレイ)モニタと、キーボードと、ユーザがコンピュータに入力を提供することができるポインティングデバイス、例えば、マウス又はトラックボールとを有するコンピュータ上で実装され得る。他の種類のデバイスを使用して、ユーザとの相互作用を提供することもでき、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックを含んでもよく、ユーザからの入力は、音響、音声、又は触覚入力を含む任意の形態で受信することができる。更に、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、例えば、Webブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のWebブラウザにウェブページを送信することによって、ユーザと相互作用することができる。
【0217】
本明細書で説明する主題の実装形態は、例えば、データサーバとしてバックエンド構成要素を含むか、又はミドルウェア構成要素、例えば、アプリケーションサーバを含むか、又はフロントエンド構成要素、例えば、グラフィカルユーザインターフェース(例えば、図1及び図2に関して説明したユーザインターフェース120又は図10に関して説明したユーザインターフェース1020)若しくはユーザが本明細書で説明する主題の実装形態と相互作用することができるWebブラウザを有するクライアントコンピュータを含むコンピューティングシステム、あるいは1つ以上のかかるバックエンド、ミドルウェア、又はフロントエンド構成要素の任意の組み合わせにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態又は媒体、例えば、通信ネットワークによって相互接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)及び広域通信網(「WAN」)、インターネットワーク(例えば、インターネット)、及びピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含む。
【0218】
本明細書は、多くの具体的な実装形態の詳細を含有するが、これらは、任意の発明又は請求され得るものの範囲に対する限定として解釈されるべきではなく、むしろ、本明細書に説明されるシステム及び方法の特定の実装形態に特有の特徴の説明として解釈されるべきである。別個の実装形態のコンテキストにおいて本明細書で説明される特定の特徴はまた、単一の実装形態において組み合わせで実装され得る。逆に、単一の実装形態の文脈で説明される種々の特徴はまた、複数の実装形態において別々に、又は任意の適切なサブコンビネーションで実装され得る。更に、特徴は、特定の組み合わせで作用するものとして上述され、最初にそのように請求されることさえあるが、請求される組み合わせからの1つ以上の特徴は、場合によっては、その組み合わせから削除されることがあり、請求される組み合わせは、部分組み合わせ又は部分組み合わせの変形形態を対象とすることができる。
【0219】
同様に、動作は特定の順序で図面に示されているが、これは、所望の結果を達成するために、かかる動作が示された特定の順序で又は逐次的な順序で実行されること、又は全ての図示された動作が実行されることを必要とすると理解されるべきではない。場合によっては、特許請求の範囲に記載されたアクションは、異なる順序で実行され、依然として望ましい結果を達成することができる。加えて、添付の図面に示されるプロセスは、望ましい結果を達成するために、示される特定の順序、又は連続した順序を必ずしも必要としない。
【0220】
特定の状況では、マルチタスキング及び並列処理が有利であり得る。更に、上記で説明した実装形態における種々のシステム構成要素の分離は、全ての実装形態においてかかる分離を必要とするものとして理解されるべきではなく、説明したプログラム構成要素及びシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、又は複数のソフトウェア製品にパッケージ化され得ることを理解されたい。
【0221】
一部の例示的な実装形態及び実装形態をここで説明してきたが、上記は例示的であり、限定するものではなく、例として提示されていることは明らかである。特に、本明細書で提示される例の多くは、方法動作又はシステム要素の特定の組み合わせを含むが、それらの動作及びそれらの要素は、同じ目的を達成するために他の方法で組み合わされ得る。1つの実装形態に関連してのみ論じられる行為、要素、及び特徴は、他の実装形態又は実装形態における同様の役割から除外されることを意図されない。
【0222】
本明細書で使用される表現及び用語は、説明を目的とするものであり、限定するものと見なされるべきではない。本明細書における「含む(including)」、「備える(comprising)」、「有する(having)」、「含有する(containing)」、「伴う(involving)」、「特徴とする(characterized by)」、「特徴とする(characterized in that)」、及びそれらの変形形態の使用は、その後に列挙される項目、その等価物、及び追加の項目、並びにその後に排他的に列挙される項目からなる代替的な実装形態を包含することを意味する。一実装形態では、本明細書で説明するシステム及び方法は、説明する要素、行為、又は構成要素のうちの1つ、2つ以上の各組み合わせ、又は全てからなる。
【0223】
本明細書で単数形で言及されるシステム及び方法の実装形態又は要素又は行為へのいかなる言及も、複数のこれらの要素を含む実装形態を包含することもでき、本明細書での任意の実装形態又は要素又は行為への複数形でのいかなる言及も、単一の要素のみを含む実装形態を包含することもできる。単数形又は複数形での言及は、本開示のシステム又は方法、それらの構成要素、行為、又は要素を単一又は複数の構成に限定することを意図するものではない。任意の情報、行為、又は要素に基づく任意の行為又は要素への言及は、行為又は要素が任意の情報、行為、又は要素に少なくとも部分的に基づく実装形態を含み得る。
【0224】
本明細書で開示される任意の実装形態は、任意の他の実装形態と組み合わせることができ、「一実装形態(an implementation)」、「一部の実装形態」、「代替的な実装形態」、「種々の実装形態」、「一実装形態(one implementation)」などへの言及は、必ずしも相互に排他的ではなく、実装形態に関して説明される特定の特徴、構造、又は特性が少なくとも1つの実装形態に含まれ得ることを示すものである。本明細書で使用されるかかる用語は、必ずしも全てが同じ実装形態を指すとは限らない。任意の実装形態は、本明細書で開示される態様及び実装形態と一致する任意の方式で、包括的に又は排他的に、任意の他の実装形態と組み合わされ得る。
【0225】
「又は」への言及は、「又は」を使用して説明される任意の用語が、説明される用語の単一、1つを上回る、及び全てのうちのいずれかを示すことができるように、包括的であると解釈され得る。
【0226】
図面、発明を実行するための形態、又は任意の請求項における技術的特徴の後に参照符号が続く場合、参照符号は、図面、発明を実行するための形態、及び請求項の理解度を高めるという唯一の目的のために含まれている。したがって、参照符号もそれらの不在も、いずれの請求項の要素の範囲に対してもいかなる限定的な影響も及ぼさない。
【0227】
本明細書に記載のシステム及び方法は、その特徴から逸脱することなく、他の特定の形態で具現化することができる。提供される例は、患者の移動及び外科的環境条件に従って外科用ロボットをナビゲートするのに有用であり得るが、本明細書に記載されるシステム及び方法は、他の環境に適用され得る。前述の実装形態は、説明されたシステム及び方法を限定するのではなく例示的である。したがって、本明細書で説明したシステム及び方法の範囲は、上記の説明ではなく添付の特許請求の範囲によって示すことができ、特許請求の範囲の均等物の意味及び範囲内に入る変更は、その中に包含される。
図1A
図1B
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12A
図12B
【国際調査報告】