JP2023539710A - 手持ち式医療ロボット器具の動きをガイドするシステム及び方法 - Google Patents
手持ち式医療ロボット器具の動きをガイドするシステム及び方法 Download PDFInfo
- Publication number
- JP2023539710A JP2023539710A JP2022574608A JP2022574608A JP2023539710A JP 2023539710 A JP2023539710 A JP 2023539710A JP 2022574608 A JP2022574608 A JP 2022574608A JP 2022574608 A JP2022574608 A JP 2022574608A JP 2023539710 A JP2023539710 A JP 2023539710A
- Authority
- JP
- Japan
- Prior art keywords
- constraint
- saw blade
- tool
- actuators
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B17/14—Surgical saws ; Accessories therefor
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B17/14—Surgical saws ; Accessories therefor
- A61B17/142—Surgical saws ; Accessories therefor with reciprocating saw blades, e.g. with cutting edges at the distal end of the saw blades
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B17/16—Bone cutting, breaking or removal means other than saws, e.g. Osteoclasts; Drills or chisels for bones; Trepans
- A61B17/1613—Component parts
- A61B17/1622—Drill handpieces
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B17/16—Bone cutting, breaking or removal means other than saws, e.g. Osteoclasts; Drills or chisels for bones; Trepans
- A61B17/1613—Component parts
- A61B17/1626—Control means; Display units
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods, e.g. tourniquets
- A61B2017/00982—General structural features
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/10—Computer-aided planning, simulation or modelling of surgical operations
- A61B2034/101—Computer-aided simulation of surgical operations
- A61B2034/102—Modelling of surgical devices, implants or prosthesis
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/10—Computer-aided planning, simulation or modelling of surgical operations
- A61B2034/107—Visualisation of planned trajectories or target regions
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
- A61B2034/2046—Tracking techniques
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
- A61B2034/2046—Tracking techniques
- A61B2034/2059—Mechanical position encoders
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
- A61B2034/2068—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis using pointers, e.g. pointers having reference marks for determining coordinates of body points
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
- A61B2034/2072—Reference field transducer attached to an instrument or patient
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/39—Markers, e.g. radio-opaque or breast lesions markers
- A61B2090/3904—Markers, e.g. radio-opaque or breast lesions markers specially adapted for marking specified tissue
- A61B2090/3916—Bone tissue
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/39—Markers, e.g. radio-opaque or breast lesions markers
- A61B2090/3983—Reference marker arrangements for use with image guided surgery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/39—Markers, e.g. radio-opaque or breast lesions markers
- A61B2090/3991—Markers, e.g. radio-opaque or breast lesions markers having specific anchoring means to fixate the marker to the tissue, e.g. hooks
Landscapes
- Health & Medical Sciences (AREA)
- Surgery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Heart & Thoracic Surgery (AREA)
- Veterinary Medicine (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Dentistry (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Robotics (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
- Surgical Instruments (AREA)
Abstract
本教示は、鋸刃又はその他の外科用ツールとともに使用する手持ち式ロボットシステムを提供する。手持ち式ロボットシステムはまた、手持ち部分、複数のアクチュエータによって手持ち部分に結合された刃支持体を有する器具を含み、これらアクチュエータは、刃支持体又はツール支持体を手持ち部分に対して複数の自由度で動かすように構成される。本システムは、ローカライザと、ローカライザ及び複数のアクチュエータに結合された、制御システムとを含む。制御システムは、複数のアクチュエータの各々及び/又はツール駆動モータを制御するように構成される。【選択図】図1
Description
患者から組織を切除するとき、外科用ツールを拘束するために物理的切断ガイドが使用される。いくつかの場合では、物理的切断ガイドは、置換インプラントを受け入れるように関節を準備する目的で、こうした外科用ツールを拘束する。物理的切断ガイドを患者に対して位置決めして固定するのに要する時間は、外科処置を行うのに必要な時間全体のかなりの部分を占める可能性がある。
ナビゲーションシステム(追跡システムとも称する)を使用して、治具を適切に位置合せして固定するとともに、患者から組織を切除するために使用される外科用ツールの位置及び/又は向きを追跡することができる。追跡システムは、通常、ツール及び切除されている組織と関連する1つ以上のトラッカを採用する。そして、ユーザが、ディスプレイを見て、除去すべき組織の所望の切断経路に対するツールの現時点の位置を決定することができる。ディスプレイは、ツールの進行を視覚化するために、ユーザが組織及び手術部位から目をそらさなければならなくなるような様式で、配置されている可能性がある。これにより、ユーザが、手術部位に集中することから注意がそらされる可能性がある。また、ユーザが所望の様式でツールを配置することが困難である可能性がある。
ロボット支援手術は、通常、6自由度(DOF)で動くことができるロボットアームを備えた大型ロボットに依存する。これらの大型のロボットは、手術室で操作及び操縦するには扱いにくい可能性がある。
これらの難題のうちの1つ以上に対処するシステム及び方法が必要とされている。
本教示の一態様は、ツールとともに使用する手持ち式医療ロボットシステムを提供し、本システムは、器具を含む。該器具は、ユーザによって保持される手持ち部分、ツールを支持するために手持ち部分に結合されたツール支持体であって、ツール駆動モータを含む、ツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続して、ツールを所望の平面上に配置するよう、ツール支持体を手持ち部分に対して複数の自由度で動かす、複数のアクチュエータを有するアクチュエータアセンブリを含む。該システムは、ローカライザと、複数のアクチュエータ、ローカライザ、及びツール駆動モータに結合された、制御システムとを更に含む。制御システムは、既知の座標系において、ツールの目標姿勢、ツールの状態を決定し、既知の座標系に対する基準座標系の位置及び/又は向きを決定するように構成される。制御システムはまた、ツールの状態と基準座標系との間の関係に基づいて、第1の制約の状態を決定し、ツールの状態と基準座標系との間の関係に基づいて、第2の制約の状態を決定するように構成され、第1の制約は、第2の制約とは異なる。制御システムは、第1の制約の状態に基づいて、かつ第2の制約に基づいて、仮想ツールを目標姿勢に向けて動かすよう適合された制約力を算出する制約ソルバ、制約力に基づいて仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータを更に含み、制御システムは、指令姿勢に基づいて、アクチュエータの各々を制御するように更に構成されている。
いくつかの実施態様においては、手持ち式医療ロボットシステムの制御システムは、第1の制約及び第2の制約がガイド制約であると決定する。いくつかの実施態様においては、第1の制約及び第2の制約は、関節センタリング制約である。いくつかの実施態様においては、第1の制約及び第2の制約は、作業空間制限制約である。いくつかの実施態様においては、第1の制約及び第2の制約は、境界制約である。いくつかの実施態様においては、制御システムは、第1の制約を、ガイド制約、関節センタリング制約、関節限界制約、作業空間制約、境界制約のうちの1つであると決定し、第2の制約を、ガイド制約、関節センタリング制約、関節限界制約、作業空間制約、境界制約の異なる制約であると決定する。いくつかの実施態様においては、第1の制約と第2の制約とは、異なる値を有する同じタイプの制約である。いくつかの実施態様においては、第1の制約と第2の制約とは、異なるタイプの制約である。
いくつかの実施態様においては、手持ち式医療ロボットシステムの制御システムは、複数の第1の制約及び複数の第2の制約を決定する。いくつかの実施態様においては、複数の第1の制約は、ツールの第1の姿勢に対応し、ガイド制約、関節センタリング制約、関節限界制約、作業空間制約、及び境界制約のうちの2つ以上である。いくつかの実施態様においては、複数の第2の制約は、ツールの第2の姿勢に対応し、ガイド制約、関節センタリング制約、関節限界制約、作業空間制約、及び境界制約のうちの2つ以上である。
本教示の一態様は、手持ち式ロボットシステムが、器具のツール支持体の姿勢を決定することを通して、複数のアクチュエータを制御することを提供する。いくつかの実施態様においては、手持ち式ロボットシステムは、鋸刃の姿勢を決定する。いくつかの実施態様においては、手持ち式ロボットシステムは、器具の手持ち部分、器具のツール支持体、及びツール、又は、手持ち部分、ツール及びツール支持体を相互接続する1つ以上の構成要素のうちの1つ以上の組合せの姿勢を決定することを通して、複数のアクチュエータを制御する。
本教示の一態様は、手持ち式ロボットシステムを制御する方法が、器具の一部の姿勢を決定する少なくとも1つのステップを含むことを提供する。いくつかの実施態様においては、器具の一部の姿勢を決定する少なくとも1つのステップは、ツール支持体の姿勢を決定することを含む。いくつかの実施態様においては、器具の一部の姿勢を決定する少なくとも1つのステップは、鋸刃の姿勢を決定することを含む。いくつかの実施態様においては、器具の一部の姿勢を決定する少なくとも1つのステップは、手持ち部分、ツール支持体、及びツールのうちの1つ以上の姿勢を決定することを含む。
本教示の一態様は、外科用鋸以外の外科用ツールとともに使用されるように構成された手持ち式ロボットシステムを提供する。いくつかの実施態様においては、手持ち式ロボットシステムは、ドリルビット、ドライバ、バー、超音波切断ツール、タップ、又はその他の回転切断ツールとともに使用されるように構成される。
本教示の一態様は、手持ち式ロボットシステムの制御システムが、複数のアクチュエータを制御して、仮想軸のような、平面以外の仮想オブジェクトに対して、ツール支持体及びツールを配置することを提供する。仮想軸は、計画された軌道又は計画されたねじの軌道又は計画された穴の軌道のような、手術計画から導出されてもよい。
本教示の一態様は、手持ち式ロボットシステムの制御システムが、外科用インプラントの計画された姿勢を特定することなく、目標平面若しくは目標軌道又は目標仮想オブジェクトを決定することを提供する。
本教示の一態様は、手持ち式ロボットシステムを制御する方法が、代替のアクチュエータアセンブリとともに使用されることを提供する。いくつかの実施態様においては、ロボット手持ち式システムの制御システムは、他のアクチュエータに対して直列に配置された複数のアクチュエータとともに使用される。
本教示は、それぞれがデバイス及び方法の動作を実行するように構成された、対応するコンピュータシステム、装置、及び1つ以上のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含み得る。
本開示の利点は、添付図面とともに考慮したときに、以下の詳細な説明を参照することで本開示がよりよく理解されるにつれて、容易に理解される。
概要
図1を参照すると、ロボットシステム10が示されている。ロボットシステム10は、患者12が全膝関節インプラントIMを受けることができるように、患者12の大腿骨F及び脛骨Tの一部を切除するための全膝関節処置を患者12に対して行っているように示されている。ロボットシステム10を使用して、硬組織/軟組織の除去を伴う処置、又は他の形態の治療を含む、他のタイプの外科処置を行ってもよい。例えば、処置には、組織の切断、穿孔、組織の凝固、インプラントの挿入、組織の焼灼、組織のステープル留め、組織の縫合等が含まれてもよい。いくつかの例では、外科処置は、膝関節手術、股関節手術、肩関節手術、脊椎手術及び/又は足関節手術を含み、膝関節インプラント、股関節インプラント、肩関節インプラント、脊椎インプラント及び/又は足関節インプラント等の外科的インプラントによって置換されるように組織を除去することを含んでもよい。本明細書に開示するロボットシステム10及び技法は、外科又は非外科の他の処置を行うために使用してもよく、産業用途又はロボットシステムが利用される他の用途で使用してもよい。
図1を参照すると、ロボットシステム10が示されている。ロボットシステム10は、患者12が全膝関節インプラントIMを受けることができるように、患者12の大腿骨F及び脛骨Tの一部を切除するための全膝関節処置を患者12に対して行っているように示されている。ロボットシステム10を使用して、硬組織/軟組織の除去を伴う処置、又は他の形態の治療を含む、他のタイプの外科処置を行ってもよい。例えば、処置には、組織の切断、穿孔、組織の凝固、インプラントの挿入、組織の焼灼、組織のステープル留め、組織の縫合等が含まれてもよい。いくつかの例では、外科処置は、膝関節手術、股関節手術、肩関節手術、脊椎手術及び/又は足関節手術を含み、膝関節インプラント、股関節インプラント、肩関節インプラント、脊椎インプラント及び/又は足関節インプラント等の外科的インプラントによって置換されるように組織を除去することを含んでもよい。本明細書に開示するロボットシステム10及び技法は、外科又は非外科の他の処置を行うために使用してもよく、産業用途又はロボットシステムが利用される他の用途で使用してもよい。
図1及び図2を参照すると、ロボットシステム10は、器具14を含む。いくつかの例では、ユーザは、(図1に示すように)手で器具14を保持し支持する。いくつかの他の例では、器具が受動アーム(例えば、ロックジョイントを有するリンク型アーム、重量平衡式アーム)、能動アーム等の補助デバイスによって少なくとも部分的に、又は完全に支持されている間、ユーザは器具14を手で保持することができる。図1及び図2に最もよく示すように、器具14は、ユーザによって支持される手持ち部分16を含む。
器具14は、ガイドアーム/補助デバイスの補助なしにユーザが自由に動かし且つ支持してもよく、例えば、物質の物理的除去又は物質の切断を実施している間、処置中にツールの重量がユーザの片手又は両手のみによって支持されるように、人間のユーザによって保持されるように構成してもよい。言い換えれば、器具14は、ユーザの手が重力の力に逆らって器具14を支持しているように保持されるように構成してもよい。器具14は、8ポンド以下、6ポンド以下、5ポンド以下又は3ポンド以下の重量であってもよい。器具14は、ANSI/AAMI HE75:2009に対応する重量を有していてもよい。
器具の重量が、ガイドアーム又は補助デバイスの補助なしに、ユーザによって支持されるように構成された実施態様においては、手持ち部分は、地面に対する堅固な基準を有さず、アクチュエータアセンブリの制御の間に地面に対して動く。このことは、テーブル、カート、撮像器、又は処置の間に静止したままである他の構成要素に結合されるベースを特徴とするロボットアームとは、対照的なものとなり得る。器具の手持ち部分は、地面に対して動き得るため、手持ち部分の姿勢は動的であり、最適な動作、すなわち、最適な動きの範囲、ユーザの手に対する最適なバランス及び重心、並びに、手順を完了するために手持ち部分を理想的な方法で位置決めすることからユーザの気を散らし得る感覚をユーザに与えることを回避するためのユーザに対する最適な感触を達成するために、手持ちロボット器具の制御の間に、考慮される必要があり得る。このことは、限定するものではないが、ツール、ツールプラットフォーム、アクチュエータアセンブリ、及び/又は手持ち部分を含む、システムの様々な動く/変形可能な構成要素の間のナビゲーション変換を算出する際に、器具の制御システムが、ベースすなわち手持ち部分が固定位置にあると仮定できないという事実に起因している。
ガイドアーム又は補助デバイスの使用なしで、ユーザによってその重量を支持されるように構成される手持ち式医療ロボット器具にもたらされる別の複雑さは、器具の運動学的な連鎖を通して伝達される反力が、少なくとも部分的にガイドアーム/補助デバイスに伝達されるのではなく、最終的にユーザの手(複数の場合もある)にのみ伝達されることである。手持ち式ロボットシステムにおいては、ユーザが反力を負担しなければならないので、手持ち式ロボット器具の制御システムは、これらの反力がシステムの使用性を損なわないことを確実にするために、アクチュエータアセンブリを注意深く制御する必要がある。制御システムが、望ましくない時間に及び/又は望ましくない方向で、ユーザの手(複数の場合もある)にかなりの反力が加えられることに帰着する場合、これらの反力は、ユーザの挙動に影響を与え、ユーザの手(複数の場合もある)及びそれゆえロボット器具を、望ましくない位置、向き、及び/又は姿勢へと動かすこととなり得る。例えば、骨、ツール、ツール支持体、及び/又は手持ち部分に関して、仮想世界と実世界との間に不一致がある場合、その不一致は、制御システムが、ユーザの手に反力を加えるような態様で、アクチュエータアセンブリを制御することに導き得る。
器具14は、ツール20を受けるツール支持体18も備える。いくつかの例では、ツール20が鋸刃380である場合、ツール支持体18は刃支持体と称してもよい。器具14を操作する方法は、ユーザが、受動アーム又はロボットアームからいかなる補助もなしに器具14の重量を吊り下げることを含んでもよい。代替的に、器具14の重量は、ユーザが器具の全重量を支持する必要がないように、平衡受動アーム、補助デバイス又は能動ロボットアームを使用することにより支持してもよい。こうした場合、ユーザは、器具14と相互作用するか及び/又は器具14を誘導するために、依然として手持ち部分16を把持してもよい。Kangらの米国特許第9,060,794号の受動アーム及び内容は、引用することにより本明細書の一部をなすものとする。さらに、いくつかの例では、ロボットシステム10には、直列の2つ以上の関節を有するロボットアームがなくてもよい。
ツール20は、ツール支持体18に結合して、更に後述するロボットシステム10の或る特定の動作において解剖学的構造と相互作用する。ツール20は、エンドエフェクタとも称してもよい。ツール20は、必要なときに新しい/異なるツール20を取り付けることができるように、ツール支持体18から取外し可能であってもよい。ツール20は、ツール支持体18に恒久的に固定してもよい。ツール20は、患者12の組織に接触するように設計されたエネルギーアプリケータを含んでもよい。いくつかの例では、ツール20は、図1及び図2に示すような鋸刃、又は他のタイプの切断付属品であってもよい。こうした例では、ツール支持体は、刃支持体と称してもよい。刃支持体に言及するいかなる場合においても、それは「ツール支持体」という用語に置き換えてもよく、その逆もまた同様であることが理解されるべきである。しかしながら、引用することにより本明細書の一部をなすものとするBozungの米国特許第9,707,043号の内容等、他のツールを企図してもよい。いくつかの例では、ツール20は、ツイストドリルビット、スクリュードライバー、タップ、超音波振動チップ、バー、ステープラ、回転切断ツール等であってもよい。ツール20は、引用することにより本明細書の一部をなすものとするWalenらの米国特許第9,820,753号又は米国特許第10,687,823号に示すように、刃の振動運動を引き起こす刃アセンブリ及び駆動モータを備えていてもよい。こうした駆動構成要素は、駆動モータMからの回転運動をツール20の振動運動に変換する、駆動モータMに結合された伝達装置TMを含んでもよい。
2020年7月15日に出願された「Robotic Handheld Surgical Instrument Systems and Methods」と題するPCT/US2020/042128号に記載されているシステム及び方法もまた、引用することにより本明細書の一部をなすものとする。
1つ以上のアクチュエータ21、22、23を含むアクチュエータアセンブリ400が、ツール支持体18を手持ち部分16に対して3自由度で動かして、ユーザが手持ち部分16を保持している間に、ツール20を所望の位置及び/又は向きに(例えば、切除中に大腿骨F及び/又は脛骨Tに対して所望の姿勢で)配置するのを支援するロボット運動を提供する。アクチュエータアセンブリ400は、並列、直列又はそれらの組合せで配置されるアクチュエータ21、22、23を含んでもよい。いくつかの例では、アクチュエータ21、22、23は、ツール支持体18を手持ち部分16に対して3自由度以上で動かす。いくつかの例では、アクチュエータアセンブリ400は、ピッチ及びz軸並進等の少なくとも2自由度で、ツール支持体18を手持ち部分16に対して動かすように構成されている。本明細書に示すようないくつかの例では、アクチュエータ21、22、23は、ツール支持体18及びその関連するツール支持体座標系TCSを、手持ち部分16及びその関連するベース座標系BCSに対して3自由度でのみ動かす。例えば、ツール支持体18及びそのツール支持体座標系TCSは、そのy軸を中心に回転してピッチ運動を提供し、x軸を中心に回転してロール運動を提供し、ベース座標系BCSのz軸と一致する軸Zに沿って並進してz軸並進運動を提供してもよい。ピッチ、ロール及びz軸並進における許容される運動は、図2、並びに図3A~図3C、図4A~図4C及び図5A~図5Cの概略図において、それぞれ矢印で示す。図6は、器具14の可動域内におけるツール支持体18の姿勢及び手持ち部分16の姿勢の1つの例を示す。図に示さないいくつかの例では、アクチュエータは、ツール支持体18を手持ち部分16に対して4自由度以上で動かしてもよい。
アクチュエータアセンブリ400は、パラレルマニピュレータ構成として構成されてもよい。本出願を通して示されるように、パラレルマニピュレータ構成は、アクチュエータ21、22、23を使用して単一のプラットフォーム(すなわちツール支持体18)を支持し、アクチュエータ21、22、23は、制御システム28によって制御及び操作される。アクチュエータ21、22、23は、ツール支持体18と手持ち部分16とを直接に接続する、同時に動作する別個の独立した連結機構である。本願を通して示されるようないくつかの例においては、パラレルマニピュレータとなるために幾何学的な平行性は必要とされない。例えば、引用することにより本明細書の一部をなすものとする、「Surgical instrument including housing, a cutting accessory that extends from the housing and actuators that establish the position of the cutting accessory relative to the housing」と題された米国特許第9,707,043号に記載されているような、他のアクチュエータアセンブリの構成も企図される。
図2に戻ると、残りの3自由度において手持ち部分16に対するツール支持体18の動きを制約するために、受動連結機構26を有する制約アセンブリ24を使用してもよい。制約アセンブリ24は、本明細書に記載するように運動を制約する任意の好適な連結機構(例えば、任意の好適な形状又は構成を有する1つ以上のリンク)を含んでもよい。図2に示す例では、制約アセンブリ24は、ヨー運動を制約するようにベース座標系BCSのz軸を中心とする回転を制約すること、x軸並進を制約するようにベース座標系BCSのx軸方向の並進を制約すること、及びy軸並進を制約するようにベース座標系BCSのy軸方向の並進を制約することにより、ツール支持体座標系TCSの運動を制限するように動作する。アクチュエータ21、22、23及び制約アセンブリ24は、更に後述する或る特定の状況において、物理的な鋸切断ガイド等、物理的な切断ガイドの機能を効果的に模倣するように制御される。
図7を参照すると、器具コントローラ28、又は他のタイプの制御ユニットが、器具14を制御するために設けられる。器具コントローラ28は、1つ以上のコンピュータ、又は、器具14の動作及び手持ち部分16に対するツール支持体18(及びツール20)の運動を指示する他の任意の好適な形態のコントローラを含んでもよい。器具コントローラ28は、中央処理装置(CPU)及び/又は他のプロセッサ、メモリ、及び記憶装置(図示せず)を有していてもよい。器具コントローラ28には、後述するようなソフトウェアがロードされている。プロセッサは、器具14の動作を制御する1つ以上のプロセッサを含むことができる。プロセッサは、任意のタイプのマイクロプロセッサ、マルチプロセッサ及び/又はマルチコア処理システムであり得る。器具コントローラ28は、付加的又は代替的に、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、及び/又は本明細書に記載する機能を実行することができる他の好適なハードウェア、ソフトウェア若しくはファームウェアを含んでもよい。プロセッサという用語は、いかなる実施形態も単一のプロセッサに限定するようには意図されていない。また、器具14は、1つ以上のディスプレイ及び/又は入力デバイス(例えば、トリガ、押しボタン、フットスイッチ、キーボード、マウス、マイクロホン(音声作動)、ジェスチャ制御デバイス、タッチスクリーン等)を有するユーザインタフェースUIを備えていてもよい。
制御システム60は、1つ以上のソフトウェアプログラム及びソフトウェアモジュールを更に含む。ソフトウェアモジュールは、ロボットシステム10の制御を支援するようにデータを処理するように、ナビゲーションコントローラ36、器具コントローラ28又は両方で動作する単数又は複数のプログラムの一部であってもよい。ソフトウェアプログラム及び/又はモジュールは、コントローラ28、36の1つ以上のプロセッサ70によって実行されるように、ナビゲーションコントローラ36、器具コントローラ28又は両方の非一時的メモリ64に記憶されたコンピュータ可読命令を含む。メモリ64は、RAM、不揮発性メモリ等の任意の好適な構成のメモリであってよく、ローカルに又はリモートデータベースから実装してもよい。さらに、ユーザを促すか又はユーザと通信するソフトウェアモジュールは、単数及び/又は複数のプログラムの一部を形成してもよく、ナビゲーションコントローラ36、器具コントローラ28又は両方のメモリ64に記憶された命令を含んでもよい。ユーザは、ナビゲーションユーザインタフェースUI又は他のユーザインタフェースUIの入力デバイスのうちの任意のものとインタラクトして、ソフトウェアモジュールと通信してもよい。ユーザインタフェースソフトウェアは、ナビゲーションコントローラ36及び/又は器具コントローラ28とは別個のデバイスで実行してもよい。
器具コントローラ28は、ツール20への(例えば、切断運動を制御するツール20の駆動モータMへの)電力を制御することと、手持ち部分16に対するツール支持体18の動きを(例えば、アクチュエータ21、22、23を制御することにより)制御すること等により、ツール20の動作を制御する。器具コントローラ28は、手持ち部分16に対するツール支持体18及びツール20の状態(例えば、位置及び/又は向き)を制御する。器具コントローラ28は、速度(線又は角)、加速度、及び/又はアクチュエータ21、22、23によって引き起こされる手持ち部分16に対する又は解剖学的構造に対するツール20の運動の他の派生物を制御することができる。
図2に示すように、器具コントローラ28は、ツール支持体18及び/又は手持ち部分16又はそれらの組合せに取り付けられた制御ハウジング29を備えてもよく、制御ハウジング29の内部には1つ以上の制御基板31(例えば、1つ以上のプリント回路基板及び関連する電子部品)が位置している。制御基板31は、アクチュエータ21、22、23及び(例えば、モータコントローラを介して)駆動モータMを制御する、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、ドライバ、メモリ、センサ又は他の電子部品を備えていてもよい。また、器具コントローラ28は、制御基板31とデータ通信及び電力通信を行う、オフボード制御コンソール33を備えていてもよい。本明細書に記載するセンサS、アクチュエータ21、22、23及び/又は駆動モータMは、制御基板31に信号を供給してもよく、制御基板31はデータ信号を処理のためにコンソール33に送信し、コンソール33は、アクチュエータ21、22、23及び/又は駆動モータMに電力を供給してそれらを制御するために、制御基板31に制御コマンド(例えば、電流コマンド、トルクコマンド、速度コマンド、角度コマンド、位置コマンド又はそれらの組合せとともに、様々な制御及び構成パラメータ)をフィードバックしてもよい。処理は、制御ハウジングの制御基板(複数の場合もある)で実行してもよいことが企図される。いくつかの例では、コンソールと制御ハウジングとの間で制御アルゴリズムの処理を分散してもよい。1つの例では、位置制御及び速度制御の計算はコンソールで行ってもよく、電流制御は、制御ハウスに位置するフィールドプログラマブルゲートアレイで行ってもよい。当然ながら、別個の制御ハウジングは必要ではなく、及び/又は、処理を任意の数の異なる場所で実行することができることが企図される。
いくつかのバージョンでは、コンソール33は、アクチュエータ21、22、23及び駆動モータMに電力を供給するとともにそれらを制御する、単一のコンソールを含んでもよい。いくつかのバージョンでは、コンソール33は、アクチュエータ21、22、23に電力を供給するとともにそれらを制御する1つのコンソールと、駆動モータMに電力を供給するとともにそれを制御する別のコンソールとを含んでもよい。駆動モータMに電力を供給するとともにそれを制御するこうした1つのコンソールは、引用することにより本明細書の一部をなすものとする、「Control Console to which Powered Surgical Handpieces are Connected, the Console Configured to Simultaneously Energize more than one and less than all of the Handpieces」と題する、2004年9月30日に出願された米国特許第7,422,582号に記載されているようなものであってもよい。フレックス回路としても知られるフレキシブル回路FCが、アクチュエータ21、22、23及び/又は他の構成要素を器具コントローラ28と相互接続してもよい。例えば、フレキシブル回路FCは、アクチュエータ21、22、23と制御基板31との間に設けてもよい。付加的又は代替的に、構成要素間に有線又は無線の他の形態の接続が存在してもよい。
再び簡単に図1を参照すると、ロボットシステム10は、ナビゲーションシステム32を更に含む。ナビゲーションシステム32の1つの例は、引用することにより本明細書の一部をなすものとする、「Navigation System Including Optical and Non-Optical Sensors」と題する、2013年9月24日に出願された米国特許第9,008,757号に記載されている。ナビゲーションシステム32は、様々な対象の動きを追跡する。こうした対象としては、例えば、器具14、ツール20、及び解剖学構造、例えば、大腿骨F及び脛骨T、又は他の骨構造、例えば、1つ以上の椎骨、骨盤、肩甲骨、上腕骨、又はそれらの組合せが挙げられる。ナビゲーションシステム32は、これらの対象を追跡して、(ナビゲーション)ローカライザ座標系LCLZに対する各対象の状態情報を収集する。本明細書で使用する、対象の状態とは、限定されないが、追跡された対象の位置及び/又は向きを定義するデータ(例えば、その座標系)、又は位置及び/又は向きの等価物/派生物を含む。例えば、状態は、対象の姿勢であってもよく、及び/又は、線速度データ、角速度データ等を含んでもよい。
ナビゲーションシステム32は、ナビゲーションコントローラ36及び/又は他のタイプの制御ユニットを収容するカートアセンブリ34を含んでもよい。ナビゲーションユーザインタフェースUIが、ナビゲーションコントローラ36と作動的に通信する。ナビゲーションユーザインタフェースUIは、1つ以上のディスプレイ38を含む。ナビゲーションシステム32は、1つ以上のディスプレイ38を使用して、追跡された対象の相対的な状態のグラフィカルな表現をユーザに表示することができる。ナビゲーションユーザインタフェースUIは、ナビゲーションコントローラ36に情報を入力するため、又は他の方法でナビゲーションコントローラ36の特定の態様を選択/制御するための1つ以上の入力デバイスを更に含む。こうした入力デバイスは、対話型タッチスクリーンディスプレイを含む。しかしながら、入力デバイスは、押しボタン、ポインタ、フットスイッチ、キーボード、マウス、マイクロホン(音声作動)、ジェスチャ制御デバイス等のうちの任意の1つ以上を含んでもよい。いくつかの例では、ユーザは、ポインタ上に位置するボタンを使用して、ユーザインタフェースUIのアイコン及びメニューを通じてナビゲートして選択を行い、外科用ロボットシステム10を構成するか及び/又はワークフローを進めてもよい。
ナビゲーションシステム32は、ナビゲーションコントローラ36に結合されたローカライザ44も含む。1つの例では、ローカライザ44は、光学ローカライザであり、カメラユニット46を含む。カメラユニット46は、1つ以上の光学センサ50を収容する外側ケーシング48を有する。ローカライザ44は、それ自身のローカライザコントローラ49を備えていてもよく、ビデオカメラVCを更に備えていてもよい。或る特定の構成では、ローカライザは手持ちロボット器具に結合されてもよい。
ナビゲーションシステム32は、1つ以上のトラッカを含む。いくつかの例では、トラッカは、ポインタトラッカPT、ツールトラッカ52、第1の患者トラッカ54、及び第2の患者トラッカ56を含む。図1の図示する例では、ツールトラッカ52は、器具14に堅固に取り付けられ、第1の患者トラッカ54は、患者12の大腿骨Fに堅固に貼り付けられ、第2の患者トラッカ56は、患者12の脛骨Tに堅固に貼り付けられている。この例では、患者トラッカ54、56は、骨の部分に堅固に貼り付けられている。トラッカ52、54、56及びポインタトラッカは、それらのそれぞれの対象(例えば、骨、ツール)及びナビゲーションシステム32に、手で、自動で、又はそれらの組合せでレジストレーションされる。いくつかの例では、ポインタトラッカPTは、ポインタ57に堅固に貼り付けられ、ローカライザ座標系LCLZを含む1つ以上の座標系に解剖学的構造をレジストレーションするために使用されるか、及び/又は他の較正及び/及びレジストレーション機能のために使用される。1つの例では、ポインタ57を使用して、患者トラッカ54、56をトラッカ54、56が取り付けられている骨にそれぞれレジストレーションし、ツールトラッカ52(及び任意選択的に53)をツール支持体18、ツール20、手持ち部分16又はそれらの組合せにレジストレーションしてもよい。いくつかの例では、ポインタトラッカPTを使用して、トラッカ座標系に対して器具14のTCPをトラッカ52にレジストレーションしてもよい。このように、ローカライザ44が位置から位置に動かされる場合、器具14のレジストレーションは、ツールトラッカ52に対して位置付けられる。しかしながら、トラッカ52、54、56のレジストレーションの他の手段が企図され、ポインタトラッカPTとともに又は別個に実装してもよい。他のトラッカ位置も企図される。
本明細書を通して、「骨からトラッカへ」又は「器具TCPからトラッカへ」等の様々な変換、すなわち、LCTZ座標系に対してではなく、「トラッカ座標系」に対する変換について記載する。ローカライザ座標系は、すべての追跡された対象がLCTZを基準として測定されるため、レジストレーション及び骨準備中に中間座標系として使用してもよい。レジストレーション中、最終的に、様々なローカライザ参照姿勢が数学的に結合され、レジストレーション結果は、カメラ(すなわちLCTZ)が移動する場合にレジストレーションが依然として有効であるように「トラッカを基準として」記憶される。
ツールトラッカ52は、器具14の任意の好適な構成要素に貼り付けてもよく、いくつかのバージョンでは、手持ち部分16、ツール支持体18、ツール20に直接、又はそれらの組合せに取り付けてもよい。トラッカ52、54、56、PTは、締結具、クランプ等による任意の好適な方法で、それぞれの構成要素に固定してもよい。例えば、トラッカ52、54、56、PTは、関連する対象に対するそのそれぞれのトラッカの関係(測定)を決定する好適な(補足的な)方法がある限り、固く固定してもよく、柔軟に接続してもよく(光ファイバ)、又は物理的にまったく接続しなくてもよい(超音波)。トラッカ52、54、56、PTのうちの任意の1つ以上は、アクティブマーカ58を含んでもよい。アクティブマーカ58は、発光ダイオード(LED)を含んでもよい。代替的に、トラッカ52、54、56、PTは、カメラユニット46から放出される光を反射する、反射器等のパッシブマーカを有していてもよい。また、印刷されたマーカ、又は本明細書に具体的に記載していない他の好適なマーカを利用してもよい。
対象を追跡する目的で、様々な座標系を採用してもよい。例えば、座標系は、ローカライザ座標系LCLZ、ツール支持体座標系TCS、ベース座標系BCS、トラッカ52、54、56、PTのそれぞれに関連する座標系、解剖学的構造に関連する1つ以上の座標系、術前及び/又は術中画像(例えば、CT画像、MRI画像等)及び/又は解剖学的構造のモデル(例えば、2D又は3Dモデル)(例えば、インプラント座標系)に関連する1つ以上の座標系、及びTCP(ツール中心点)座標系等を含んでもよい。いくつかの例では、ロボットシステム10は、標的骨の2D及び/又は3Dモデルを作成するために、術前又は術中撮像に依存しない。むしろ、ロボットシステムは、ポインタトラッカPTを使用して、標的解剖学的構造をレジストレーションし、様々な解剖学的ランドマークを取り込み、その後、制御システム60により、取り込まれたデータに一致するように公称骨モデルをモーフィングするために処理される撮像なしシステムで使用してもよい。他の例では、術前及び術中撮像を使用して患者の標的領域を撮像し、次いで2D及び/又は3D画像を標的骨の3Dモデルに変換する。外科的ロボットシステム10が、標的手術領域の3Dモデルを作成する際に、撮像ありの手順と撮像なしの手順との組合せを使用してもよいこともまた企図される。1つの例示的なシステムは、引用することにより本明細書の一部をなすものとする米国特許第8,617,174号に記載されている。様々な座標系における座標は、例えば、レジストレーション、較正、幾何学的関係、測定等を介して、座標系間の関係を確立する際に変換を使用して他の座標系に変換してもよい。
図2に示すように、いくつかの例では、TCPは、ツール20の遠位端で画定されるTCP座標系の所定の基準点又は原点である。ツール20の幾何学的形状は、TCP座標系に対して、及び/又はツール支持体座標系TCSに対して定義してもよい。ツール20は、TCP座標系に対して、及び/又はツール支持体座標系TCSに対して定義され、器具14の制御ハウジング29内の制御基板31、ナビゲーションシステム32、器具コントローラ28、又はそれらの組合せの不揮発性メモリに記憶された、1つ以上の幾何学特徴、例えば外周、円周、半径、直径、幅、長さ、高さ、体積、面積、表面/平面、(いずれか1つ以上の軸に沿った)可動域包絡線等を含んでもよい。ツール中心点(TCP)は、1つの例では、ツール20で定義された所定の基準点及び対応する座標系である。TCPは、他の座標系に対する既知の、又は計算可能な(すなわち、必ずしも静的ではない)姿勢を有する。TCP座標系は、原点と、TCPの姿勢を定義する一組の軸(例えば、x軸、y軸、z軸)とを含む。TCPを追跡する(又はTCPの姿勢を知る)ことによって、システム10は、TCPの姿勢及びTCPと器具14の特徴との既知の位置関係に基づいて器具14の位置及び向きを計算してもよい。いくつかの例では、ツール20は、刃面(例えば、鋸刃の場合)を有し、これは、便宜上且つ例示を容易にするために記載するが、ツール20をいかなる特定の形態にも限定するようには意図されていない。他の例では、ツール20は軸を有する。点、他のプリミティブ、メッシュ、他の3Dモデル等を用いて、ツール20を仮想的に表現することができる。TCP座標系の原点は、TCP座標系がツール20の遠位先端上の原点に対して追跡されるように、ツール20のバー25の球面中心、ドリルビットの先端、又は鋸刃27の遠位端に位置してもよい。代替的に、TCPは、複数の追跡された点を用いて追跡してもよい。TCPは、ツール20の構成に応じて様々な方法で定義してもよい。器具は、関節/モータエンコーダ、又は他の任意の非エンコーダ位置検知方法を採用してもよく、そのため、制御システム60は、手持ち部分16及びBCSに対するTCPの姿勢及び/又は位置を決定してもよい。ツール支持体18は、TCPの姿勢を決定するために関節測定を使用してもよく、及び/又は、TCPの姿勢を直接測定する技法を採用することができる。ツール20の制御は、中心点に限定されない。例えば、任意の好適なプリミティブ、メッシュ等を使用して、ツール20を表現することができる。TCPは、代替的に、座標系とは対照的に、点として定義してもよいことが理解されるべきである。TCP座標系により、鋸刃又は他のツールの姿勢を決定した後に、ツールの任意の必要な基準点又は幾何学的態様を計算することができる。
TCP座標系、ツール支持体座標系TCS、及びツールトラッカ52の座標系は、ツール20の構成に応じて様々な方法で定義することができる。例えば、ポインタ57は、ツール支持体18及び/又はツール20内の較正ディボットCDとともに、ツールトラッカ52の座標系に対するツール支持体座標系TCSの姿勢をレジストレーション(較正)し、ツールトラッカ52の座標系に対するTCP座標系の姿勢を決定し、及び/又はツール支持体座標系TCSに対するTCP座標系の姿勢を決定するために、使用してもよい。他の技法を使用して、1つ以上の追加のトラッカ/マーカをツール20に直接取り付けて固定すること等により、TCP座標系の姿勢を直接測定することができる。いくつかのバージョンでは、トラッカ/マーカはまた、手持ち部分16、ツール支持体18又は両方に取り付けて固定してもよい。手持ち部分がトラッカを含む場合では、ローカライザ座標系LCTZに対する手持ち部分の姿勢を直接測定してもよい。さらに他の代替形態では、中間ツール支持体座標系TCSを使用して、ツールトラッカに対してTCPを定義してもよい。
ツール支持体18は、アクチュエータ21、22、23を介して手持ち部分16に対して多自由度で移動可能であるため、器具14は、エンコーダ、(アナログ又はデジタル出力を有する)ホール効果センサ、及び/又は他の任意の位置検知方法を採用して、ベース座標系BCSに対するTCP座標系及び/又はツール支持体座標系TCSの姿勢を測定してもよい。1つの例示的な構成では、器具14は、更に後述するように、アクチュエータ21、22、23の作動を測定するセンサからの測定値を使用して、ベース座標系BCSに対するTCP座標系及び/又はツール支持体座標系TCSの姿勢を決定してもよい。
ローカライザ44は、トラッカ52、54、56、PT(例えば、その座標系)をモニタリングして、トラッカ52、54、56、PTのそれぞれの状態を決定し、その状態は、それがそれぞれ取り付けられた対象の状態にそれぞれ対応する。ローカライザ44は、トラッカ52、54、56、PT、及び関連する対象(ツール、患者、ツール支持体及び手持ち部分等)の状態を決定するために、既知の技法を実行してもよい。ローカライザ44は、トラッカ52、54、56、PTの状態をナビゲーションコントローラ36に提供する。いくつかの例では、ナビゲーションコントローラ36は、トラッカ52、54、56、PTの状態を決定し、器具コントローラ28に通信する。
ナビゲーションコントローラ36は、1つ以上のコンピュータ、又は他の任意の好適な形態のコントローラを含んでもよい。ナビゲーションコントローラ36は、中央処理装置(CPU)及び/又は他のプロセッサ、メモリ及び記憶装置(図示せず)を有する。プロセッサは、任意のタイプのプロセッサ、マイクロプロセッサ又はマルチプロセッサシステムであり得る。ナビゲーションコントローラ36には、ソフトウェアがロードされている。ソフトウェアは、例えば、ローカライザ44から受信した信号を、追跡されている対象の位置及び/又は向きを表すデータに変換する。ナビゲーションコントローラ36は、付加的又は代替的に、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、及び/又は本明細書に記載する機能を実行することができる他の好適なハードウェア、ソフトウェア若しくはファームウェアを含んでもよい。プロセッサという用語は、いかなる実施形態も単一のプロセッサに限定するように意図されていない。
ナビゲーションシステム32の1つの例を対象の状態を決定するように示すが、ナビゲーションシステム32は、器具14、ツール20及び/又は患者12を追跡する他の任意の好適な構成を有していてもよい。別の例では、ナビゲーションシステム32及び/又はローカライザ44は、超音波ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合された超音波撮像デバイスを含んでもよい。超音波撮像デバイスは、上述した対象、例えば、器具14、ツール20及び/又は患者12のうちの任意のものを撮像し、超音波画像に基づいてナビゲーションコントローラ36への状態信号を生成する。超音波画像は、2D、3D又は両方の組合せであってもよい。ナビゲーションコントローラ36は、対象の状態を決定するために、画像をほぼリアルタイムで処理してもよい。超音波撮像デバイスは、任意の好適な構成を有してよく、図1に示すようなカメラユニット46とは異なるものであってもよい。
別の例では、ナビゲーションシステム32及び/又はローカライザ44は、無線周波数(RF)ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合されたRFトランシーバを備えていてもよい。器具14、ツール20及び/又は患者12に、RFエミッタ又はトランスポンダを取り付けてもよい。RFエミッタ又はトランスポンダは、受動的又は能動的に通電してもよい。RFトランシーバは、RF追跡信号を送信し、RFエミッタから受信したRF信号に基づいてナビゲーションコントローラ36への状態信号を生成する。ナビゲーションコントローラ36は、受信したRF信号を解析して、それに相対的な状態を関連付けてもよい。RF信号は、任意の好適な周波数であってよい。RFトランシーバは、RF信号を効果的に使用して対象を追跡するために、任意の好適な場所に位置決めしてもよい。さらに、RFエミッタ又はトランスポンダは、図1に示すトラッカ52、54、56、PTとははるかに異なってもよい任意の好適な構造的構成を有していてもよい。
更に別の例では、ナビゲーションシステム32及び/又はローカライザ44は、電磁気ベースである。例えば、ナビゲーションシステム32は、ナビゲーションコントローラ36に結合されたEMトランシーバを含んでもよい。器具14、ツール20及び/又は患者12に、任意の好適な磁気トラッカ、電磁トラッカ、誘導トラッカ等、EM構成要素を取り付けてもよい。トラッカは、受動的に又は能動的に通電してもよい。EMトランシーバは、EM場を発生させ、トラッカから受信したEM信号に基づいて、ナビゲーションコントローラ36への状態信号を生成する。ナビゲーションコントローラ36は、受信したEM信号を解析して、それに相対的な状態を関連付けてもよい。この場合もまた、そのようなナビゲーションシステム32の例は、図1に示すナビゲーションシステム32の構成とは異なる構造的構成を有していてもよい。
ナビゲーションシステム32は、本明細書に具体的に記載していない他の任意の好適な構成要素又は構造を有していてもよい。さらに、図示するナビゲーションシステム32に関して上述した技法、方法及び/又は構成要素のうちの任意ものを、本明細書に記載するナビゲーションシステム32の他の例のうちの任意のものに対して、実施又は提供してもよい。例えば、ナビゲーションシステム32は、慣性追跡のみ、又は追跡技法の任意の組合せを利用してもよく、付加的又は代替的に、光ファイバベースの追跡、マシンビジョン追跡等を含んでいてもよい。
図7を参照すると、ロボットシステム10は、他の構成要素の中でもとりわけ、器具コントローラ28及びナビゲーションコントローラ36を備える制御システム60を含む。制御システム60は、1つ以上のソフトウェアプログラム及びソフトウェアモジュールを更に含む。ソフトウェアモジュールは、ロボットシステム10の制御を支援するようにデータを処理するように、器具コントローラ28、ナビゲーションコントローラ36又はそれらの組合せ上で動作する単数又は複数のプログラムの一部であってもよい。ソフトウェアプログラム及び/又はモジュールは、コントローラ28の1つ以上のプロセッサ70によって実行されるように、器具コントローラ28、ナビゲーションコントローラ36又はそれらの組合せ上のメモリ64に記憶されたコンピュータ可読命令を含む。メモリ64は、非一時的メモリ、RAM、不揮発性メモリ等の任意の好適な構成のメモリであってもよく、ローカルに、又はリモートデータベースから実装してもよい。さらに、ユーザを促すか及び/又はユーザと通信するソフトウェアモジュールは、単数又は複数のプログラムの一部を形成してもよく、器具コントローラ28、ナビゲーションコントローラ36又はそれらの組合せ上のメモリ64に記憶された命令を含んでもよい。ユーザは、ソフトウェアモジュールと通信するために、ナビゲーションユーザインタフェースUI又は他のユーザインタフェースUIの入力デバイスのうちの任意のものとインタラクトしてもよい。ユーザインタフェースソフトウェアは、器具コントローラ28及び/又はナビゲーションコントローラ36とは別個のデバイスで実行してもよい。器具14は、電力接続/データ接続を介して器具コントローラ28と通信してもよい。電力接続/データ接続は、図7のBUS/COMM接続37として示すように、ナビゲーションシステム32によって生成され器具コントローラ28に送信される位置及び向きデータに基づいて器具14を制御するために使用される入力及び出力のための経路を提供してもよい。
制御システム60は、本明細書に記載する機能及び方法を実行するのに好適な入力デバイス、出力デバイス及び処理デバイスの任意の好適な構成を備えてもいてもよい。制御システム60は、器具コントローラ28、ナビゲーションコントローラ36又はそれらの組合せを備えていてもよく、及び/又は、これらのコントローラのうちの1つのみ、若しくは追加のコントローラを備えていてもよい。コントローラは、図7のBUS/COMM接続37として1つの例で示すような有線バス又は通信ネットワークを介して、無線通信を介して、又は他の方法で通信してもよい。制御システム60は、コントローラとも称してもよい。制御システム60は、1つ以上のマイクロコントローラ、フィールドプログラマブルゲートアレイ、システムオンチップ、ディスクリート回路、センサ、ディスプレイ、ユーザインタフェース、インジケータ、及び/又は本明細書に記載する機能を実行することができる他の好適なハードウェア、ソフトウェア若しくはファームウェアを含んでいてもよい。
器具
1つの例示的な構成において、図8及び図9に、器具14を最もよく示す。器具14は、ユーザが保持する手持ち部分16と、ツール20を支持するために手持ち部分16に移動可能に結合されたツール支持体18と、ツール支持体18を手持ち部分16に対して少なくとも3自由度で動かすようにツール支持体18及び手持ち部分16を作動的に相互接続する複数のアクチュエータ21、22、23を有するアクチュエータアセンブリ400と、ツール支持体18及び手持ち部分16を作動的に相互接続する受動連結機構26を有する制約アセンブリ24とを備える。
1つの例示的な構成において、図8及び図9に、器具14を最もよく示す。器具14は、ユーザが保持する手持ち部分16と、ツール20を支持するために手持ち部分16に移動可能に結合されたツール支持体18と、ツール支持体18を手持ち部分16に対して少なくとも3自由度で動かすようにツール支持体18及び手持ち部分16を作動的に相互接続する複数のアクチュエータ21、22、23を有するアクチュエータアセンブリ400と、ツール支持体18及び手持ち部分16を作動的に相互接続する受動連結機構26を有する制約アセンブリ24とを備える。
手持ち部分16は、ユーザが器具14を操作し、誘導し、及び/又は把持することができるように、ユーザが把持するグリップ72を備える。手持ち部分16は、ユーザの手が保持するグリップ、濡れているか及び/又は血まみれであるときにユーザの手が滑るのを防止するテクスチャコーティング又は混合材料コーティング等の人間工学的特徴部があるように構成してもよい。手持ち部分16は、手のサイズの異なるユーザに適応するような、ユーザの手及び/又は指の輪郭と合致するような輪郭のテーパを含んでもよい。手持ち部分16は、グリップ72が1つ以上の締結具、接着剤、溶接等によって取り付けられるベース74も備える。図示するバージョンでは、ベース74は、概して中空の円筒状の形状を有するスリーブ76を含む。スリーブ76から、関節支持体77、78、79が延在している。アクチュエータ21、22、23は、関節支持体77、78、79において、更に後述する関節を介してベース74に移動可能に結合してもよい。
ツール支持体18は、ツール支持体本体80を含み、そこに、1つ以上の取付場所82でツール支持体18に固定された1つ以上のトラッカ取付具を介して、ツールトラッカ52を固定し又は取外し可能に取り付けることができる。1つの例では、ツールトラッカ52は、ツール支持体18と一体化されている。別の例では、ツールトラッカ52は、1つ以上の取付場所82に取外し可能に取り付けられる。ツール20は、図示するバージョンではツール支持体18に取外し可能に結合されている。特に、ツール支持体18は、引用することにより本明細書の一部をなすものとするWalenらの米国特許第9,820,753号に記載されているように、ツール20が取り付けられるヘッド84等のツール連結器を備える。ヘッド84は、振動式の鋸刃と同様に、矢状式の鋸刃を利用するように構成してもよい。ツール20の動作を駆動する駆動モータMは、(例えば、いくつかのバージョンにおいて鋸刃の振動を駆動するために)ツール支持体80に配置される。ツール20は、引用することにより本明細書の一部をなすものとするWalenらの米国特許第9,820,753号に開示されている方法で、ヘッド84に取り付けるとともにヘッド84から解放してもよい。図9に最もよく示すように、ツール支持体18は、更に後述するように、アクチュエータ21、22、23が関節を介してツール支持体18に移動可能に結合されるべき複数のアクチュエータ取付具86、88、90も備える。アクチュエータ取付具86、88、90は、ツール支持体18が手持ち部分16に対して少なくとも3自由度で動くことができるようにアクチュエータ21、22、23を取り付けるのに好適な、ブラケット等を含んでもよい。
アクチュエータ21、22、23は、図示するバージョンでは、ベース74とツール支持体80との間に延在する電動リニアアクチュエータを含む。作動すると、アクチュエータ21、22、23の有効長が変化して、アクチュエータ21、22、23の対応する軸に沿ってツール支持体80とベース74との間の距離を変更する。したがって、制御システム60は、制御システム60によって各アクチュエータ21、22、23にそれぞれ与えられた個々の入力に応答して、それらの有効長を変化させ、手持ち部分16に対して少なくとも3自由度でツール支持体18を目標姿勢になるように動かすように、アクチュエータ21、22、23に連携して動作するように指令する。図示するバージョンでは、3つのアクチュエータ21、22、23が設けられており、第1のアクチュエータ21、第2のアクチュエータ22及び第3のアクチュエータ23、又は前部アクチュエータ21、22及び後部アクチュエータ23と称してもよい。第1のアクチュエータ21、第2のアクチュエータ22及び第3のアクチュエータ23は、第1の能動軸AA1、第2の能動軸AA2及び第3の能動軸AA3(図9参照)に沿って有効長が調整可能である。第1のアクチュエータ21、第2のアクチュエータ22及び第3のアクチュエータ23は、上述したように、手持ち部分16に対するツール支持体18のピッチの向き、ロールの向き及びz軸並進位置のうちの1つ以上を調整するために、独立して有効長が調整可能である。いくつかの例では、より多くのアクチュエータを設けてもよい。アクチュエータは、いくつかの例では、回転式アクチュエータを含んでもよい。アクチュエータ21、22、23は、任意の好適なサイズ又は形状の1つ以上のリンクを有する連結機構を備えてもよい。アクチュエータ21、22、23は、少なくとも3自由度で手持ち部分16に対するツール支持体18の動きを可能にするのに好適な任意の構成を有していてもよい。例えば、いくつかのバージョンでは、1つの前部アクチュエータと2つの後部アクチュエータ、又はアクチュエータの何らかの他の配置があってもよい。
このバージョンでは、アクチュエータ21、22、23は、複数の能動関節を介してベース74及びツール支持体80に結合される。能動関節は、アクチュエータ取付具86、88、90においてアクチュエータ21、22、23をツール支持体80に結合する一組の第1の能動関節92を含む。1つのバージョンでは、図9に示すように、第1の能動関節92は、能動自在継手を含む。自在継手は、第1のピボットピン94及び継手ブロック96を含む。第1のピボットピン94は、継手ブロック96の貫通ボア98を介して、継手ブロック96をアクチュエータ取付具86、88、90に枢動可能に接続する。止めねじ100が、第1のピボットピン94をアクチュエータ取付具86、88、90に固定してもよい。自在継手はまた、第2のピボットピン104を含んでもよい。継手ブロック96は、第2のピボットピン104を受けるための十字ボア102を有する。第2のピボットピン104は、第1のピボットピン94を受ける貫通ボア103を有し、第1のピボットピン94、継手ブロック96及び第2のピボットピン104が自在継手の十字を形成するようにする。各自在継手の第1のピボットピン94及び第2のピボットピン104は、交差するピボット軸PAを画定する。第2のピボットピン104は、アクチュエータ21、22、23のピボットヨーク106を継手ブロック96に枢動可能に接続する。その結果、アクチュエータ21、22、23は、ツール支持体80に対して2自由度で動くことができる。ピンを受けるスロットを有するボールを含む能動球面関節等、他のタイプの能動関節も企図される。
図9を参照すると、能動関節は、前部の2つのアクチュエータ21、22を手持ち部分16のベース74に結合する一組の第2の能動関節108も含む。図示するバージョンでは、第2の能動関節108は、関節支持体77、78で支持されている。第2の能動関節108のそれぞれは、スイベル軸SAを中心に手持ち部分16の基部74に対して旋回するように配置されたスイベルヨーク110を含む。各スイベルヨーク110は、スイベルヘッド112と、スイベルヘッド112から延在して関節支持体77、78のうちの1つにおいてベース74に枢動可能に係合するポスト114とを有する。ナット115が、ポスト114の一端にねじ式に接続されて、ベース74にポスト114を捕捉する一方で、それぞれのスイベルヨーク110がそのそれぞれの関節支持体77、78内で自由に回転することができるようにする。
第2の能動関節108のそれぞれは、スイベルヨーク110のうちの1つに枢動可能に結合されたキャリア116を備える。キャリア116は、更に後述するように、前部の2つのアクチュエータ21、22の送りねじ150を受けるめねじ付き貫通ボア117を有する。キャリア116のそれぞれは、スイベルヨーク110内のポケットに着座することによって、キャリア116がスイベルヨーク110に対してピボット軸PA(図9参照)を中心に枢動するのを可能にする、対向するトラニオン118も備える。いくつかのバージョンでは、第2の能動関節108のそれぞれについて、スイベル軸SAは、ピボット軸PAと交差して、アクチュエータ21、22が2自由度で動く際の中心である単一の頂点を画定する。
カバーが、スイベルヘッド112に締結され、ポケットの一方を画定し、一方で、スイベルヘッド112は、他方のポケットを画定する。組立中、キャリアは、最初に、トラニオンの一方がスイベルヘッド112内のポケットに配置された状態で位置決めされ、次いで、キャリアが、カバーとスイベルヘッド112との間に捕捉され、トラニオン及びポケットを介してスイベルヨーク110に対して枢動することができるように、カバーが他方のトラニオン上に締結される。スイベルヨーク110及び関連するキャリアの構成、すなわち、キャリアがスイベル軸SAを中心に旋回するとともにピボット軸PAを中心に枢動することができることにより、第2の能動関節108は、ベース74に対する前部の2つアクチュエータ21、22の2自由度の動きを可能にする。前部の2つのアクチュエータ21、22とベース74との間の他の関節配置も可能である。
能動関節はまた、後部(第3)のアクチュエータ23を手持ち部分16のベース74に結合する第3の能動関節124も含む。図示するバージョンでは、第3の能動関節124は、関節支持体79で支持されている。第3の能動関節124は、ベース74の関節支持体79に固定されたピボットハウジング126を備える。
第3の能動関節124は、トラニオンを介してピボットハウジング126に枢動可能に結合されたキャリアを備える。ポケットを有する締結具が、トラニオンと係合するように貫通ボアを介してピボットハウジング126の両側に取り付けられる。締結具は、キャリアが組立後にポケット内に位置しているトラニオンを介して枢動することができるように配置されている。キャリアは、更に後述するように、後部アクチュエータ23の送りねじ150を受けるめねじ付き貫通ボアを有する。ピボットハウジング126及び関連するキャリアの構成、すなわち、関連するキャリアがピボット軸PAを中心としてのみ枢動することができる(例えば、旋回しない)ことにより、第3の能動関節124は、ベース74に対する後部アクチュエータ23の1自由度のみの動きを可能にする。後部アクチュエータ23とベース74との間の他の関節配置も可能である。
アクチュエータ21、22、23のそれぞれは、ハウジングを備える。ハウジングは、キャニスタと、キャニスタにねじ式に接続されたキャップとを備える。第1の能動関節92の一部を形成するピボットヨーク106は、ハウジング及びピボットヨーク106が第1の能動関節92を介してツール支持体18に対してともに動くことができるように、ハウジングに固定されている。キャップは、ピボットヨーク106の環状肩部を捕捉して、ピボットヨーク106をキャニスタに固定する。
いくつかのバージョンでは、ピボットヨーク106及びキャニスタは、各ピボットヨーク106をそのそれぞれのキャニスタに予め規定された相対的な向きで位置合せするための1つ以上の位置合せ機構を備える。こうした位置合せ機構は、嵌合部分、キー/キー溝等を含んでもよい。組立中、ピボットヨーク106は、最初に、その予め規定された相対的な向きでキャニスタに固定されてもよく、次いで、キャニスタにキャップを(例えば、嵌合するおねじ及びめねじを介して)ねじ込んで、ピボットヨーク106を予め規定された相対的向きでキャニスタに捕捉してもよい。この予め規定された関係は、フレックス回路FCを配線及び/又は位置合せする際、キャニスタに対してピボットヨーク106の転がりを防止するため、及び/又は他の目的のために有用である場合がある。
アクチュエータ21、22、23のそれぞれは、各ハウジング内に配置されたモータも備える。モータは、ハウジング内に配置されたケーシングと、ケーシング内に配置されたモータ巻線アセンブリとを有する。モータ巻線アセンブリはまた、上述したもの等の止めねじ又は他の位置合せ機構等を介して、キャニスタに対して予め規定された、相対的な向きに位置合せしてもよい。各モータは、送りねじ150に固定されたロータも有する。送りねじ150は、1つ以上のブッシング及び/又はベアリングによってハウジング内で回転するように支持されている。ロータ及び関連する送りねじ150は、モータの選択的な通電時に、ハウジングに対して回転するように構成されている。送りねじ150は、バックドライブを防止するために微細なピッチ及びリード角を有する(すなわち、それらはセルフロック式である)。その結果、ツール20にかかる負荷は、容易にモータをバックドライブしない。いくつかの例では、送りねじ150は、0.02インチ/回転~0.03インチ/回転のリードをもたらす8~36のクラス3のねじ山を有する。他のねじ山タイプ/サイズを採用してもよい。
アクチュエータ21、22、23のそれぞれは、別個のモータコントローラによって制御してもよい。モータコントローラは、各アクチュエータ21、22、23を所与の目標位置に個別に向けるように、アクチュエータ21、22、23にそれぞれ別個に配線してもよい。いくつかの例では、モータコントローラは、比例積分微分(PID)コントローラである。いくつかの例では、モータコントローラは、位置、速度及びトルク(電流)に関するカスケード制御ループを含んでもよい。付加的及び/又は代替的に、モータコントローラは、トルク(電流)制御ループのみを含んでもよい。別の例では、位置制御ループは、トルク(電流)制御ループに直接入力してもよい。これらの制御段のそれぞれは、PIDコントローラ、状態空間コントローラとして実装してもよく、及び/又は代替的な若しくは追加の制御技法(例えば、速度フィードフォワード、トルクフィードフォワード等)を利用してもよい。いくつかの場合では、トルク(電流)制御ループは、フィールド指向制御及び空間ベクトル変調を使用して実装される。制御ループの段は、システムの様々な構成要素の間に分散させることができる。いくつかの例では、位置ループ及び速度ループは、器具コントローラに実装され、トルク制御ループは、器具14上の制御ハウジング29の一部として制御基板31に直接実装され、電流制御ループがコンソール33を介するいかなるデータフィードバックも必要としないため、コンソール33への接続を介して器具14からのデータ通信レイテンシの影響を軽減する。位置制御ループ及び速度制御ループは、通信レイテンシにそれほど影響されやすくないため、コンソール33に実装することができる。いくつかの例では、モータコントローラは、器具コントローラ28と統合することができ、又は器具コントローラ28の一部を形成することができる。説明を容易にするために、本明細書では、モータコントローラは、器具コントローラ28の一部であるものとして記載するものとする。
電源は、コンソール33を介して、例えば、32VDC電力信号をモータに提供する。32VDC信号は、器具コントローラ28を介してモータに印加される。器具コントローラ28は、各モータに電力信号を選択的に提供してモータを選択的に作動させる。このモータの選択的作動により、ツール20が位置決めされる。モータは、ブラシレスDCサーボモータ、永久磁石同期モータ、他の形態のDCモータ等、任意の好適なタイプのモータであってもよい。電源はまた、器具コントローラ28に電力を供給して、器具コントローラ28の内部の構成要素に通電する。いくつかの例では、アクチュエータモータは、3相ブラシレスモータであってもよい。アクチュエータモータは、DCモータであってもよい。アクチュエータモータは、永久磁石同期モータであってもよい。アクチュエータモータのそれぞれは、機械的なコギングの制限を達成するように構成された正弦波逆起電力を有するように構成して、トルクリップルを制限して、平滑且つ特定の運動を可能にしてもよい。しかしながら、他のモータタイプも企図される。電源は、例えば、12VDC、24VDC、40VDC等の他のタイプの電力信号を提供できることが理解されるべきである。器具は、電子スイッチ、例えば、MOSFET又はGaN FETを使用して、3相モータへの電圧信号を高周波、例えば典型的には少なくとも16kHz、最大256kHz又はそれ以上のレートでオン/オフしてパルス幅変調してもよい。
1つのあり得る実施態様では、1つ以上のセンサS(図7も参照)が、器具コントローラ28に戻すように信号を送信し、それにより、器具コントローラ28は、関連するアクチュエータ21、22、23の現時点の位置及び/又は角度(すなわち、測定位置)を決定することができる。これらの信号のレベルは、関連するロータの回転位置の関数として変化してもよい。1つの実施態様では、センサ(複数の場合もある)Sは、所与のターン内のロータの回転位置を高分解能で解像してもよい。これらのセンサSは、ロータからの、又は送りねじ150に配置された他の磁石(例えば、2極磁石)からの検知された磁界に基づいてアナログ及び/又はデジタル信号を出力する、ホール効果センサであってもよい。ホール効果センサに通電するための低電圧信号、例えば、5VDCは、ホール効果センサが関連しているモータに関連するモータコントローラから供給してもよい。いくつかの例では、2つのホール効果センサがハウジング内に配置され、ロータの周囲に互いに90度間隔を空けて配置され、器具コントローラ28が位置を決定してロータの増分するターンをカウントすることができるように関節位置を検知する。いくつかのバージョンでは、ホール効果センサは、増分カウントを表すデジタル信号を出力する。様々なタイプのモータ及びセンサ配置が可能である。いくつかの例では、モータはブラシレスDCサーボモータであり、ロータの周囲で互いに90度、120度、又は他の任意の好適な間隔で、2つ以上の内部ホール効果センサを配置してもよい。センサSはまた、ロータの回転位置を検出するとともにロータのターンをカウントするために使用してもよい、絶対値エンコーダ又はインクリメンタルエンコーダを含んでもよい。1つ以上のセンサとして他のタイプのエンコーダを使用してもよい。センサは、ハウジング、ナット、ねじ等、調整される各アクチュエータの位置を決定するのに好適な、アクチュエータ及びその周辺構成要素の任意の好適な位置に配置してもよい。更に別の構成では、センサレスモータ制御を利用してもよい。こうした実施態様では、各ロータの位置は、モータの逆起電力及び/又はインダクタンスを測定することによって決定してもよい。1つの好適な例は、引用することにより本明細書の一部をなすものとする米国特許第7,422,582号に見出すことができる。
いくつかの例では、センサ及び/又はエンコーダは、器具14の運動学的モデルとともに使用されるとき、関節位置制御のために、及び/又は手持ち部分16に対するツール支持体18の位置を決定するために、位置フィードバックを測定してもよい。いくつかの例では、センサ及び/又はエンコーダは、マルチターン測定値に依存し、マルチターン測定値は、回転毎に蓄積し、アクチュエータ21、22、23の絶対位置をその軸に沿って決定するために使用され、既知のピッチ(すなわち、送りねじのインチあたりの回転数)とともに使用される。付加的又は代替的に、センサ及び/又はエンコーダを使用して、モータの電子整流に使用される「ロータの電気角」を決定してもよい。例えば、センサ及び/又はエンコーダを使用して、ロータ位置を決定し、最適な(効率的な)トルク発生を実現するために適切な通電信号を印加してもよい。この例では、センサ及び/又はエンコーダは、各電気的回転にわたる(1回の電気的回転内の)シングルターン又はサブターン測定を利用してもよい。電気的回転の数は、機械的回転の数をモータの磁極の数(例えば、磁極対の数)で割った数に等しい。しかしながら、センサレス方法を実施することも企図される。
いくつかの例では、ホール効果センサからの出力信号は、器具コントローラ28に送信される。器具コントローラ28は、受信した信号についてそのレベルの変化をモニタリングする。これらの信号に基づいて、器具コントローラ28は、関節位置を決定する。関節位置は、初期位置すなわちホームポジションからのロータの回転度とみなしてもよい。ロータは、複数回の360度回転することができる。したがって、関節位置は360度を超える可能性がある。カウントと称するスカラ値が、ホームポジションからの関節位置を表す。ロータは時計回り及び反時計回りの両方向に回転する。複数の信号(アナログ又はデジタル)の信号レベルが規定された状態変化を起こすたびに、器具コントローラ28は、カウントをインクリメント又はデクリメントして関節位置の変化を示す。ロータが完全に360度回転するごとに、器具コントローラ28は、カウントの値を固定カウント数だけインクリメント又はデクリメントする。いくつかの例では、カウントは、ロータの360度の回転ごとに100~3000だけインクリメント又はデクリメントされる。いくつかの例では、関節位置をモニタリングするためにインクリメンタルエンコーダが使用される場合等には、ロータの360度の回転ごとに1024の位置(カウント)が存在する。器具コントローラ28の内部には、各アクチュエータ21、22、23に関連するカウンタがある。カウンタは、インクリメント又はデクリメントされたカウントの累積数に等しい値を記憶する。カウント値は、正、ゼロ、又は負であり得る。いくつかのバージョンでは、カウント値は、ロータの漸増的な動きを規定する。したがって、アクチュエータ21、22、23のロータは、最初に、それらのホームポジションと称する既知の位置(以下に更に説明する)まで移動させてもよく、その後、カウント値を使用してロータの現時点の位置を規定してもよい。
上述したように、キャリアは、送りねじ150をねじ式に受けるめねじ付き貫通ボアを有し、それにより、送りねじ150のそれぞれは、キャリアのうちの対応する1つに対して回転して、複数のアクチュエータ21、22、23のうちの対応する1つの有効長を調整し、それにより、器具コントローラ28によって測定されるカウントを変更することができる。ハウジング及び対応するキャリアのそれぞれは、送りねじ150がキャリアに対して相対的に回転するのを可能にするように、少なくとも1自由度の相対的な動きが制約される。より具体的には、送りねじ150は、以下の理由により、キャリアに対して回転することができる。すなわち、ピボットヨーク106は、関連する能動軸AA1、AA2、AA3を中心に回転することができず(すなわち、ピボットヨーク106は、第1の能動関節92の構成により、こうした回転移動が制限され)、キャリアは、関連する能動軸AA1、AA2、AA3を中心に回転することができない(すなわち、キャリアは、第2の能動関節108及び第3の能動関節124の構成により、こうした回転移動が制限される)からである。
送りねじ150には、送りねじ150に形成されたねじ付き締結具又は肩部等の止め具152が固定されている。止め具152は、各送りねじ150の移動の終端でキャリア116と当接するようなサイズである。
上述したように、アクチュエータ21、22、23は、手持ち部分16に対するツール支持体18の動きを可能にするように有効長が能動的に調整可能である。この有効長の1つの例は、第3のアクチュエータ23に「EL」と表示されている。ここで、有効長ELは、ピボット軸PAから、関連する第1の能動関節92の中心まで測定される。各アクチュエータ21、22、23が調整されると、送りねじ150がその関連するキャリア内に又はキャリアからどの程度まで螺入又は螺出したかを変化させ、それにより関連するキャリアの中心から関連する第1の能動関節92の中心までの距離を変化させることにより、有効長ELが変化する。アクチュエータ21、22、23は、有効長ELの最小値と最大値との間で調整可能である。各アクチュエータ21、22、23の有効長ELは、手持ち部分16に対するツール支持体18の様々な動きを引き起こすように変化する能動軸AA1、AA2、AA3に沿ったツール支持体18と手持ち部分16との間の距離を示すのに任意の好適な方法で、表す/測定することができる。
制約アセンブリ24は、アクチュエータ21、22、23と協働して、アクチュエータ21、22、23によって提供される動きを制約する。アクチュエータ21、22、23は3自由度の動きを提供し、一方、制約アセンブリ24は3自由度の動きを制約する。図示するバージョンでは、制約アセンブリ24は、受動連結機構26とともに、受動連結機構26をツール支持体18に結合する受動連結関節156を含む。
1つのバージョンでは、図9に示すように、受動連結関節156は、受動連結自在継手を含む。自在継手は、第1のピボットピン158と継手ブロック160とを含む。第1のピボットピン158は、継手ブロック160の貫通ボア164を介して、継手ブロック160をツール支持体80の受動連結取付具162に枢動可能に接続する。止めねじ166が、第1のピボットピン158を受動連結取付具162に固定してもよい。自在継手は、第2のピボットピン170も含む。継手ブロック160は、第2のピボットピン170を受ける十字ボア168を有する。第2のピボットピン170は、受動連結機構26の受動連結ピボットヨーク172を継手ブロック160に枢動可能に接続する。第2のピボットピン170は、第1のピボットピン158、継手ブロック160及び第2のピボットピン170が自在継手の十字を形成するように、第1のピボットピン158を受ける貫通ボア171を有する。第1のピボットピン158及び第2のピボットピン170は、交差するピボット軸PAを画定する。その結果、受動連結機構26は、ツール支持体本体80に対して2自由度で動くことができる。ピンを受けるスロットを有するボールを含む受動連結球面関節等、他のタイプの受動連結関節も企図される。
受動連結機構26は、受動連結ピボットヨーク172に固定されたシャフト174を備える。受動連結機構26は、制約軸CAに沿ってシャフト174を受けるように構成されている、ベース74のスリーブ76も備える。受動連結機構26は、シャフト174がスリーブ76に対して制約軸CAに沿って軸方向に摺動するのを可能にするように、且つ、アクチュエータ21、22、23のうちの1つ以上の作動中に制約軸CAに対するシャフト174の半径方向の動きを制約するように構成されている。
受動連結機構26は、制約軸CAを中心とするスリーブ76に対するシャフト174の回転を制約するキーを更に備える。キーは、シャフト174及びスリーブ76の対向するキー溝に嵌って、シャフト174をスリーブ76に回転しないようにロックする。一体型キー/スロット配置等、シャフト174とスリーブ76との相対的な回転を防止する他の配置も企図される。受動連結機構26は、アクチュエータ21、22、23とは独立して、ツール支持体18及び手持ち部分16を作動的に相互接続する。受動連結機構は、アクチュエータ21、22、23のうちの1つ以上の作動中に、制約軸CAに沿った有効長ELが受動的に調節可能である。スリーブ76、シャフト174及びキー176は、受動連結機構26のためのリンクの1つの組合せを表している。受動連結機構26に対して、任意の好適な方法で接続された他のサイズ、形状及び数のリンクを採用してもよい。
図示するバージョンでは、受動連結関節156は、ツール支持体18に対して2つのピボット軸PAを中心に枢動することができる。受動連結機構を含まないロボット手持ち式器具を含む他の構成が可能である。
また、図示するバージョンでは、第1の能動関節92及び受動連結関節156は、共通の平面上に配置されたピボット軸PAを画定する。非平行ピボット軸PA、異なる平面上に配置された平行ピボット軸PA、それらの組合せ、及び/又は他の構成も企図される。
いくつかのバージョンでは、ツール支持体18のヘッド84は、ツール20がツール支持体18に結合されたときに、共通平面に平行なツール面TP(例えば、刃面)上に位置するように配置される。いくつかの例では、ツール面TPは、共通平面CPから2.0インチ以下、1.0インチ以下、0.8インチ以下、又は0.5インチ以下だけ間隔が空けられる。
図示するバージョンでは、アクチュエータ21、22、23は、能動軸AA1、AA2、AA3が、ホームポジションにある場合を含むアクチュエータ21、22、23のすべての位置において、制約軸CAに対して傾斜構成であるように配置されている。軸AA1、AA2、AA3を傾斜させることにより、概して、よりスリムであり且つより小型のベース74及び関連するグリップ72を可能にするように、アクチュエータ配置がテーパ状になる。能動軸AA1、AA2、AA3が制約軸CAに対して傾斜構成にないものを含む、他の構成が企図される。こうした構成は、アクチュエータ軸AA1、AA2、AA3がそれらのホームポジションにおいて互いに平行であるものを含んでもよい。
アクチュエータ、能動関節及び制約アセンブリのさらなる構成が可能である。記載する制御技法は、言及していない他の機械的構成、特に、1自由度以上で手持ち部分に対してツール又は鋸刃を制御する構成に適用してもよいことが企図される。いくつかのバージョンでは、制約アセンブリが存在しなくてもよく、器具14のツール支持体18は、手持ち部分16に対して追加の自由度で動くことができてもよい。例えば、器具は、リニアアクチュエータ、ロータリアクチュエータ、又はそれらの組合せを含んでもよい。器具は、並列、直列、又はそれらの組合せに配置された2つ、3つ、4つ、5つ、6つ又はそれ以上の異なるアクチュエータを含んでもよい。
視覚ガイダンス
図10に示されるように、ガイダンスアレイ200は、ツール支持体18に任意に結合され得る。これに加えて又は代替として、ガイダンスアレイ200は、手持ち部分16、又は器具14の他の部分に、任意に取り付けられてもよい。図示されたバージョンにおいて、ガイダンスアレイ200は、少なくとも第1の視覚インジケータ201、第2の視覚インジケータ202、及び第3の視覚インジケータ203を含む。視覚インジケータ201、202、203の各々は、器具コントローラ28に結合された1つ以上の照明源を含む。いくつかのバージョンにおいては、照明源は、1つ以上の発光ダイオード(例えばRGBのLED)を含み、これらは、異なる状態、例えばオン、オフ、異なる周波数での点滅/ブリンク、異なる強度、異なる色、及びこれらの組合せでの照明等で、動作させることが可能である。図10に示されるバージョンにおいては、視覚インジケータ201、202、203の各々は、上部204及び下部206(上部セグメント204、下部セグメント206)を含む。さらに、視覚インジケータ201、202、203の各々は、3つ以上、4つ以上又は更には10個以上の部分のような、2つよりも多い部分204、206に分割されてもよいことが、更に企図される。例えば、視覚インジケータ201、202、203の各々は、3つの部分に分割され、各部分は、1つ以上のLEDを含んでもよい。視覚インジケータ201、202、203は、上部204及び下部206が、所望に応じて個別に制御/照明されることができる、半球状の、透明な又は半透明のドームを含む、概して球状の形状を有してもよい。視覚インジケータ201、202、203は、円筒形、環、正方形、多角形、又はユーザに視覚的な手がかりを伝達することが可能な他の形状のような、球以外の形状を有していてもよいことが企図される。1つ以上の発光ダイオードが、各ドームに関連付けられてもよい。視覚インジケータ201、202、203は、1つ以上の取り付けブラケット205を介して、ツール支持体18又は手持ち部分16に固定されてもよい。
図10に示されるように、ガイダンスアレイ200は、ツール支持体18に任意に結合され得る。これに加えて又は代替として、ガイダンスアレイ200は、手持ち部分16、又は器具14の他の部分に、任意に取り付けられてもよい。図示されたバージョンにおいて、ガイダンスアレイ200は、少なくとも第1の視覚インジケータ201、第2の視覚インジケータ202、及び第3の視覚インジケータ203を含む。視覚インジケータ201、202、203の各々は、器具コントローラ28に結合された1つ以上の照明源を含む。いくつかのバージョンにおいては、照明源は、1つ以上の発光ダイオード(例えばRGBのLED)を含み、これらは、異なる状態、例えばオン、オフ、異なる周波数での点滅/ブリンク、異なる強度、異なる色、及びこれらの組合せでの照明等で、動作させることが可能である。図10に示されるバージョンにおいては、視覚インジケータ201、202、203の各々は、上部204及び下部206(上部セグメント204、下部セグメント206)を含む。さらに、視覚インジケータ201、202、203の各々は、3つ以上、4つ以上又は更には10個以上の部分のような、2つよりも多い部分204、206に分割されてもよいことが、更に企図される。例えば、視覚インジケータ201、202、203の各々は、3つの部分に分割され、各部分は、1つ以上のLEDを含んでもよい。視覚インジケータ201、202、203は、上部204及び下部206が、所望に応じて個別に制御/照明されることができる、半球状の、透明な又は半透明のドームを含む、概して球状の形状を有してもよい。視覚インジケータ201、202、203は、円筒形、環、正方形、多角形、又はユーザに視覚的な手がかりを伝達することが可能な他の形状のような、球以外の形状を有していてもよいことが企図される。1つ以上の発光ダイオードが、各ドームに関連付けられてもよい。視覚インジケータ201、202、203は、1つ以上の取り付けブラケット205を介して、ツール支持体18又は手持ち部分16に固定されてもよい。
ガイダンスアレイが使用されないいくつかの例においては、視覚インジケータ201、202、203は、ツール支持体18又は手持ち部分16に取り付けられたLCD又はLEDディスプレイ上の別個の領域のような、表示画面の別個の部分を含んでもよい。表示画面はまた、器具に取り付けられた表示画面を有することに加えて又はその代替として、ナビゲーションシステムの一部として含まれてもよい。
さらに代替として、第2のモードにおける視覚ガイダンスは、手持ち部分、刃支持体、又はその両方に結合された機械的ガイドを備えてもよい。
いくつかの構成においては、それぞれが異なる視覚インジケータに対応する、表示画面の1つ、2つ、3つ、又は4つの部分があってもよい。表示画面の各部分は、異なる視覚グラフィックに対応してもよい。以下に説明されるように、視覚インジケータの各々(又は表示画面の部分)は、アクチュエータ情報に基づいてもよい。いくつかの場合においては、単一の視覚インジケータが、2つ以上のアクチュエータからのアクチュエータ情報に基づいてもよい。さらに、全文を通して説明されるように、視覚インジケータは、ユーザがツールをどこに位置決めするべきかを示す第1のモードと、ユーザが手持ち部分をどこに位置決めするべきかを視覚インジケータが示す第2のモードとで使用され得る。
例えば、視覚インジケータ201、202、203は、第1のアクチュエータ21、22、23の第1の指令位置に基づく第1の指標(第1の視覚グラフィック)と、第1のアクチュエータ21、22、23の第2の指令位置に基づく第2の指標(第2の視覚グラフィック)とを出力するように構成されてもよく、このとき、第1の指標は、第2の指標とは異なり、第1の指令位置は、第2の指令位置とは異なる。以上に説明されたように、視覚インジケータ201、202、203は、いずれの適切なタイプのアクチュエータ情報に基づいて制御されてもよい。言い換えれば、表示画面上に表示される視覚グラフィックは、指令位置、以前の指令位置、シミュレートされた指令位置、現在の測定された位置、以前の測定された位置、利用可能な移動、(硬式のストップ若しくは軟式のストップのような)アクチュエータ限界、現在の位置から指令位置までの必要とされる距離、又はこれらの組合せに基づいてもよい。
いくつかの構成においては、器具コントローラ28は、上部204及び下部206が、ツール20の所望の動きの方向を示すよう種々の状態で動作させられるように、上部204及び下部206の照明を制御するように構成される。器具コントローラ28は、異なる状態で又は異なる指標とともに複数の部分の照明を制御するように構成されてもよいことが更に企図される。例えば、以下に更に説明されるように、これら異なる状態は、(1)ツール20(例えば鋸刃)を所望の姿勢(例えば所望の切断面/所望の切断軌道上に)に配置するためにユーザが手持ち部分16をどのように動かすべきか、又は(2)制御システム60が、同時にツール20を所望の姿勢に保つように動作する間に、アクチュエータ21、22、23が、それらのホーム位置により近いもののような、好ましい方向に動くように、ユーザが手持ち部分16をどのように動かすべきかをユーザに示してもよい。
第1のモードにおいては、器具が骨から十分に離れていて、ガイド制約が非アクティブであり関節センタリング制約がアクティブである場合に、(器具上の又はナビゲーションシステムの一部における)ガイダンスアレイ又は表示画面が使用されてもよい。この構成においては、ユーザは、切除ゾーン/領域に入るときに関節移動の中心に近くなるように、刃/ツール/手持ち部分の良好な初期位置合わせを達成し、ガイド制約(複数の場合もある)が最初に有効にされたときに、刃支持体/ツール支持体及びアクチュエータにおいては限られた急激な動きしかないように、及び、有効にされたときに、アクチュエータが目標平面若しくは目標軌道又はその他の目標仮想オブジェクトに「到達」することが可能となるように、視覚インジケータを使用することを欲する。
第2のモードにおいては、アクチュエータの各々が限られた動き/移動の範囲しか有さないため、ユーザにとってはしばしば、アクチュエータが目標平面、目標軌道、又はその他の目標物に到達できるように、手持ち部分を位置決めすることが重要である。アクチュエータの1つがその関節限界に達した場合、制御システムは、その方向にそれ以上動かないようにしなければならず、この場合においては、システムは、切断面に刃を位置合わせすることができなくなる(制御システムは、典型的には、不適切な切除を防ぐために鋸駆動モータを停止させる)か、又は、システムは、計画された軌道にツールを位置合わせしないこととなる。したがって、アクチュエータアセンブリが目的平面又は目的軌道に到達できるように、手持ち部分を適切に位置決めできるように、継続的なフィードバックをユーザに与えることが重要となり得る。継続的なフィードバックがなければ、モータのうちの1つが関節限界に到達し、鋸刃駆動モータが停止されるために、最終的に刃が平面から持ち上がるまで、ユーザは動きの範囲の限界にどれだけ近づいて操作しているか認識しないこととなり、ユーザを悩ませ、外科的処置を長引かせる等し得る。目的は、いずれかのアクチュエータが関節限界に到達することの発生を最小化/減少させるための、直感的で生のハンドル位置合わせのフィードバックを与えることである。ガイダンスアレイ、表示画面、又は機械的ガイドは、この目的に適したものとなり得る。
いくつかの動作モードの間、器具コントローラ28は、ユーザが手持ち部分16を介してツール20を動かす間に、ツール20の所望の姿勢を達成するために、ツール20のピッチの向き、ロールの向き、及びz軸の並進の所望の変化をユーザに視覚的に示すために、ガイダンスアレイ200を自動的に制御/調節する(例えばその状態を変化させる)ように構成される。いくつかのバージョンにおいては、ガイダンスアレイ200は、ツール20の平面を直感的に表す態様で、ツール支持体18に又は手持ち部分16に結合される。例えば、3つの点が平面を画定するので、3つの視覚インジケータ201、202、203は、一般にツール20の平面を表し得る。いくつかの場合においては、インジケータ201、202、203の各々は、ツール20の平面に対する既知の位置を有する点P1、P2、P3のうちの1つに対応する(例えばツール平面内に位置させられ、TCP座標系、ツール支持体座標系TCS、又はその他の任意の適切な座標系において定義される)。視覚インジケータ201、202、203に関連する点は、ツール20の平面内の他の適切な位置において、又はツール20の平面に対して既知の関係を有する位置において、定義され得る。
総じて、1つ以上の視覚インジケータ201、202、203を使用するガイダンスアレイ200は、ツール20のピッチ、ロール、及び並進を変更するための動き(例えば移動量)の所望の変化、並びに、所望の姿勢を達成するためのツール支持体座標系TCSのピッチ、ロール、並進の所望の変化を、ユーザに視覚的に示すように位置させられ、その状態が制御されてもよい。より具体的には、器具コントローラ28は、ピッチの向きの所望の変化、ロールの向きの所望の変化、及び並進の所望の変化の間を、ユーザが区別することを可能とするような態様で、ガイダンスアレイ200を照明するように構成される。器具コントローラ28は、ツール20を所望の平面に動かすのに必要とされる移動量をユーザが示すことを可能とするような態様で、ガイダンスアレイ200を照明するか又は表示画面を制御するように構成されてもよい。所望の平面は、平面又は平面セグメントであってもよい。ピッチ、ロール、及び並進の変化は、例えば、目標平面TPに対するものである。
別の構成においては、1つ以上の視覚インジケータ201、202、203を使用するガイダンスアレイ200は、手持ち部分16のピッチ、ロール、及び並進を変更するための動き(例えば移動量)の所望の変化、並びに、所望の姿勢を達成するためのベース座標系BCSのピッチ、ロール、及び並進の所望の変化を、ユーザに視覚的に示すよう位置させられ、その状態が制御されてもよい。より具体的には、器具コントローラ28は、ピッチの向きの所望の変化、ロールの向きの所望の変化、及び並進の所望の変化の間を、ユーザが区別することを可能とするような態様で、ガイダンスアレイ200又は表示画面を照明するように構成される。器具コントローラ28は、ツール20が所望の平面又は目標軌道上となるように手持ち部分16を動かすのに必要とされる移動量をユーザが示すことを可能とするような態様で、ガイダンスアレイ200を照明するように構成される。ピッチ、ロール、及び並進の変化は、例えば、目標平面TPに対するものである。
器具コントローラ28は、ガイダンスアレイ200及び/又は視覚インジケータ201、202、203(又は表示画面)の動作を、ガイダンスアレイ/視覚インジケータがツール20の動きの所望の変化を示すモードから、入力デバイス(例えばフットスイッチ、トリガ、ナビゲーションUI38上のマウスクリック又はタッチスクリーン押下等)の作動のような、入力信号に基づいて手持ち部分16の動きの所望の変化を示すように切り換えてもよい。代替としては、器具コントローラ28は、ツール20の位置と、トラッカ54、56のような既知の座標系における骨の基準位置の位置とに基づいて、これらのモード間を切り換えるように構成されてもよい。基準位置は、目標オブジェクトのような、目標状態に対して器具14を位置特定するために使用される座標系における点、面又は体積であってもよい。特定の実施態様においては、基準位置は、骨の計画された入口71aである。例えば、基準位置は、骨の表面、骨内の点、既知の座標系内の虚の点又は仮想点、座標系内の体積、又はこれらの組合せであってもよい。基準位置の位置及び/又は向きは、レジストレーション及び適切な計画ステップを通して、患者トラッカに関して既知である。器具コントローラ28は、ツールと基準位置との間の距離のような、2つのオブジェクトの間で計算された距離パラメータに基づいて、モードを切り換えてもよい/異なって動作してもよい。距離パラメータは、距離(例えば2つのオブジェクトがどれだけ離れているか)、大きさ(或るオブジェクトに対する距離の方向)、又はその両方であってもよい。いくつかの例においては、器具コントローラ28は、距離パラメータが骨から離れる方向及び第1の閾値より大きい大きさを有する場合に、モードを切り換えてもよい。
制御の概要
図7及び図11を参照すると、挙動コントローラ186及び動きコントローラ188は、器具コントローラ28及び/又はナビゲーションコントローラ36上で動作させられてもよい。制御システム60は、複数のアクチュエータのための適切な命令を示すデータを計算する。一実施態様においては、挙動コントローラ186は、手持ち部分に対するツールのための次の指令位置及び/又は向き(例えば姿勢)を出力するように機能する。動作の間、ツール20は、複数のアクチュエータを使用して目標状態に向けて効果的に動かされる。これらの効果は、ツール20を目標状態に向けて動かすために、1以上の自由度で生成されてもよい。かくして、目標状態は、ツール20が1自由度のみで動かされるように定義されてもよいし、又はツール20が2以上の自由度で動かされるように定義されてもよい。したがって、目標状態は、目標座標系TF(目標フレームTFとも呼ばれる)として定義される目標位置、目標向き、又はその両方を含んでもよい。目標座標系TFは、解剖学的構造トラッカ又は目標骨(複数の場合もある)の座標系に対して定義されてもよいが、他の座標系が使用されてもよい。図12に示されるように、目標位置は、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸及び/又はz軸に対する1つ以上の位置成分、例えば、目標x位置、目標y位置、及び/又は目標z位置を含んでもよい。いくつかの場合においては、目標位置は、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFの原点として表される。目標向きは、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸及び/又はz軸に対する1つ以上の向き成分、例えば、目標x向き、目標y向き、及び/又は目標z向きを含んでもよい。いくつかの場合においては、目標向きは、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸、及びz軸の向きとして表される。目標姿勢は、1つ以上の位置成分と1つ以上の向き成分との組合せを意味する。いくつかの場合においては、目標姿勢は、目標座標系TFの6自由度全てよりも少ない自由度で目標位置及び目標向きを含んでもよい。例えば、特定の一構成においては、目標姿勢は、単一の位置成分と2つの向き成分とによって定義されてもよい。いくつかの場合においては、目標位置及び/又は目標向きは、開始位置及び/又は開始向きとも呼ばれ得る。別の構成においては、目標姿勢は、既知の座標系に対して固定された軸として定義されてもよい。
図7及び図11を参照すると、挙動コントローラ186及び動きコントローラ188は、器具コントローラ28及び/又はナビゲーションコントローラ36上で動作させられてもよい。制御システム60は、複数のアクチュエータのための適切な命令を示すデータを計算する。一実施態様においては、挙動コントローラ186は、手持ち部分に対するツールのための次の指令位置及び/又は向き(例えば姿勢)を出力するように機能する。動作の間、ツール20は、複数のアクチュエータを使用して目標状態に向けて効果的に動かされる。これらの効果は、ツール20を目標状態に向けて動かすために、1以上の自由度で生成されてもよい。かくして、目標状態は、ツール20が1自由度のみで動かされるように定義されてもよいし、又はツール20が2以上の自由度で動かされるように定義されてもよい。したがって、目標状態は、目標座標系TF(目標フレームTFとも呼ばれる)として定義される目標位置、目標向き、又はその両方を含んでもよい。目標座標系TFは、解剖学的構造トラッカ又は目標骨(複数の場合もある)の座標系に対して定義されてもよいが、他の座標系が使用されてもよい。図12に示されるように、目標位置は、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸及び/又はz軸に対する1つ以上の位置成分、例えば、目標x位置、目標y位置、及び/又は目標z位置を含んでもよい。いくつかの場合においては、目標位置は、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFの原点として表される。目標向きは、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸及び/又はz軸に対する1つ以上の向き成分、例えば、目標x向き、目標y向き、及び/又は目標z向きを含んでもよい。いくつかの場合においては、目標向きは、解剖学的構造トラッカ又は骨のような基準座標系に対する目標座標系TFのx軸、y軸、及びz軸の向きとして表される。目標姿勢は、1つ以上の位置成分と1つ以上の向き成分との組合せを意味する。いくつかの場合においては、目標姿勢は、目標座標系TFの6自由度全てよりも少ない自由度で目標位置及び目標向きを含んでもよい。例えば、特定の一構成においては、目標姿勢は、単一の位置成分と2つの向き成分とによって定義されてもよい。いくつかの場合においては、目標位置及び/又は目標向きは、開始位置及び/又は開始向きとも呼ばれ得る。別の構成においては、目標姿勢は、既知の座標系に対して固定された軸として定義されてもよい。
図11を参照すると、目標状態は、挙動コントローラ186への入力である。目標状態は、ツール20が目標平面又は目標軌道に調節される、目標位置、目標向き、又はその両方であってもよい。いくつかの例においては、TCPの位置のみが挙動コントローラ186から出力され、他の例においては、ツール20の位置及び向きが出力される。いくつかの例においては、挙動コントローラ186の指令姿勢出力は、位置、向き、又はその両方を含んでもよい。いくつかの例においては、境界生成器182及び任意の力/トルクセンサSのような1つ以上のセンサからの出力は、手持ち部分に対するツールについての次の指令位置及び/又は向きを決定するために、挙動コントローラ186に入力として供給されてもよい。挙動コントローラ186は、これらの入力を、以下に更に説明される1つ以上の仮想制約とともに処理して、指令姿勢を決定してもよい。
動きコントローラ188は、複数のアクチュエータの動き制御を実行する。動き制御の一態様は、手持ち部分16に対するツール支持体18の制御である。動きコントローラ188は、次の指令姿勢を定義するデータのようなデータを、挙動コントローラ186から受信する。これらのデータに基づいて、動きコントローラ188は、ツール20が挙動コントローラによって出力された指令姿勢において位置決めされるように、(例えば逆運動学を介して)ツール支持体18に結合された複数のアクチュエータの各々の指令関節位置を決定する。言い換えれば、動きコントローラ188は、直交空間において定義され得る指令姿勢を、ツール支持体18に結合された複数のアクチュエータの指令関節位置へと処理し、それにより、器具コントローラ28は、それに応じて、ツール支持体18を、手持ち部分に対するツールの指令姿勢に対応する指令関節位置へ動かすよう、アクチュエータ21、22、23に指令することができる。1つのバージョンにおいては、動きコントローラ188は、複数のアクチュエータの関節位置を調整し、各アクチュエータ21、22、23が出力するトルクを継続的に調節して、アクチュエータ21、22、23が器具に指令姿勢をとらせることを可能な限り確実にするようにする。代替として及び/又はこれに加えて、動きコントローラ188は、指令関節位置を、関節レベルの位置制御に対処する別個のモータコントローラのセット(例えば各アクチュエータ21、22、23に対して1つ)に出力してもよい。いくつかの例においては、動きコントローラ188(又はモータコントローラ)は、動的追跡及び過渡応答を改善するために、フィードフォワード制御を使用してもよい。かかる場合においては、指令関節位置に加えて、動きコントローラ188はまた、フィードフォワード関節速度(又は指令関節速度)及び潜在的にフィードフォワード関節トルク(及び/又はモータ電流)を計算してもよい。このデータは次いで、アクチュエータ21、22、23をより最適に駆動するために、モータコントローラの制御ループ内で使用される。
位置制御が詳細に説明されるが、同様の制御の実施態様が関節角度制御とともに使用されてもよいことは、理解されるべきである。さらに、動きコントローラは、関節角度制御及び関節位置制御を使用してもよい。いくつかの例においては、関節角度は関節位置と交換されてもよい。器具上の関節タイプ、アクチュエータタイプ、又はその両方に依存して、関節角度、関節位置、又はその両方が使用されてもよい。例えば、動きコントローラは、1つ以上のアクチュエータについての指令姿勢に基づいて、指令関節角度を決定してもよい。
図7を参照すると、制御システム60によって利用され、器具コントローラ28及び/又はナビゲーションコントローラ36上で動作するソフトウェアは、境界生成器182を含んでもよい。境界生成器182は、ツール20の動き及び/又は動作を制約するための仮想境界184を生成する、ソフトウェアプログラム又はモジュールである。仮想境界184は、1次元、2次元、3次元であってもよく、点、線、軸、軌跡、平面、又はその他の複雑な幾何学的形状を含む形状を含んでもよい。仮想境界はまた、計画された軌道に垂直に定義された平面又は線であってもよい。いくつかの実施形態では、仮想境界184は、三角形のメッシュによって定義される表面である。仮想境界184は、仮想オブジェクトとも呼ばれ得る。仮想境界184は、インプラント座標系において、3D骨モデルのような解剖学的モデルAMに関して定義されてもよい。解剖学的モデルAMは、解剖学的モデルAMがレジストレーション又はその他の処理を介して患者の解剖学的構造にマッピングされることによって、実際の患者の解剖学的構造と関連付けられる。
仮想境界184は、画素、点群、ボクセル、三角形のメッシュ、その他の2D又は3Dモデル、これらの組合せ等によって表されてもよい。米国特許公開第2018/0333207号及び米国特許第8,898,043号は、引用することにより本明細書の一部をなすものとし、それらの特徴のうちのいずれかが、外科的処置の計画又は実行を容易化するために使用され得る。仮想境界184を生成するためのシステム及び方法の一例は、「Surgical Manipulator Capable of Controlling a Surgical Instrument in Multiple Modes」と題された米国特許第9,119,655号に記載されており、その開示は引用することにより本明細書の一部をなすものとする。いくつかの例においては、仮想境界184は、器具コントローラ28又はナビゲーションコントローラ36上ではなく、オフラインで生成されてもよい。その後、仮想境界184は、器具コントローラ28によって実行時に利用されてもよい。
解剖学的モデルAM及び関連する仮想境界184は、1つ以上の患者トラッカ54、56にレジストレーションされる。かくして、解剖学的モデルAM(及び関連する実際の患者の解剖学的構造)及び解剖学的モデルAMに固定された仮想境界184は、患者トラッカ54、56によって追跡され得る。仮想境界184は、インプラント固有のもの、例えば、インプラントのサイズ、形状、体積等に基づいて定義されたもの、及び/又は患者固有のもの、例えば、患者の解剖学的構造に基づいて定義されたものであってもよい。インプラント固有の仮想境界は、特定のサイズの境界、例えば、使用される特定のインプラントに対して1:1のインプラント固有の境界を有してもよい。他の場合においては、境界は、インプラントの実際の寸法より大きくてもよいし、又は小さくてもよい(例えば2:1、1:2等)。特定のインプラントについてのインプラント固有の境界は、任意に形成されてもよい。いくつかの例においては、インプラント固有の境界は、固定された又は設定された量だけ、インプラントサイズを超えてオフセットされてもよい。仮想境界184は、術前に、術中に、又はこれらの組合せで生成される境界であってもよい。言い換えれば、仮想境界184は、外科的処置が始まる前に、外科的処置の間に(組織除去の間を含む)、又はこれらの組合せで定義されてもよい。いずれの場合においても、制御システム60は、仮想境界184をメモリに記憶する/メモリから検索すること、仮想境界184をメモリから取得すること、仮想境界184を術前に生成すること、又は仮想境界184を術中に生成すること等により、仮想境界184を取得する。言い換えれば、インプラントの計画された姿勢、インプラントの計画されたサイズ、形状、体積等から、1つ以上の仮想境界が取得されてもよい。インプラント座標系と解剖学的モデル座標系とは、本説明を通して交換可能であるとみなされ得る。
仮想境界184は、様々な態様で使用され得る。例えば、制御システム60は、境界の内側に留まるようにツール20の或る特定の動きを制御すること、境界の外側に留まるようにツール20の或る特定の動きを制御すること、境界上に留まる(例えば点、軌道、及び/又は平面上に留まる)ようにツール20の或る特定の動きを制御すること、境界に対する器具14の関係(例えば空間、速度等)に基づいて器具14の或る特定の動作/機能を制御すること、及び/又は器具14の駆動モータMに対する通電を制御することを行ってもよい。境界184の他の使用も企図される。図13を参照すると、潜在的な実施態様において、仮想境界184は、切断部の遠位、すなわち遠位境界DBに位置する、概して平面的なメッシュを含んでもよい。この仮想境界184は、3D骨モデルに関連付けられてもよい。この仮想境界は、鋸駆動モータMを制御するために使用されてもよい。他の例においては、境界生成器182は、複数のアクチュエータを制御する目的のために、仮想境界184を提供する。この例においては、仮想境界は、仮想シミュレーションにおける仮想質量及び仮想鋸刃/ツールの動きに影響を及ぼす制約を生成するために使用されてもよい。かかる実施態様においては、仮想境界は、仮想切断ガイド(例えば仮想鋸切断ガイド)を確立してもよい。仮想境界184はまた、鋸駆動モータの制御又は複数のアクチュエータの制御のいずれかのために、以下に説明されるような様々な操作/制御領域を画定するために提供されてもよい。仮想境界184は、1次元(1D)、2次元(2D)、3次元(3D)であってもよく、点、線、軸、軌跡、平面(解剖学的構造又はその他の境界によって境界付けられた無限平面又は平面セグメント)、体積又はその他の複合幾何形状を含む形状を含んでもよい。
図10及び図14を参照すると、インプラント(IM)の姿勢は、インプラント座標系において大腿骨Fに対して計画されてもよい。インプラントのこの計画された姿勢は次いで、様々なナビゲーション変換を通して患者トラッカ54、56のうちの一方に対して定義されてもよく、インプラントの姿勢は、目標平面(TP)又は仮想境界のような、計画された仮想オブジェクトの基礎であってもよい。目標平面は、計画されたインプラントの姿勢を達成するために、骨に対してどのような切断(複数の場合もある)が行われる必要があるかの表現であってもよい。言い換えれば、目標平面(TP)は、計画されたインプラントが骨に接触することを意図する平面と位置合わせされてもよい。いくつかの例においては、目標平面(TP)の位置は、鋸刃の厚さを考慮するよう調節される必要があり得る。一例においては、鋸刃の遠位先端において、TCP座標系は、鋸刃の中心において鋸刃の厚さの半分の点に配置されてもよい。切断面の位置は、特定の切断の間に鋸刃のどちらの側が骨に当接しているかに基づく方向において、鋸刃の半分の厚さだけ調節されてもよい。目標平面に沿って切断することにより、その結果として大腿骨から除去されることとなる骨は、計画されたインプラントが骨に適切に着座することを可能にすることとなる。目標平面TPは、以下に説明されるように、目標状態の形をとってもよい。代替としては、目標平面TPは、複数のアクチュエータを制御するために使用され得る、仮想境界の一形態として生成されてもよい。
制御システム60は、いくつかのバージョンにおいて、最終的にツール20を所望の切断面上に維持するように機能することとなる。複数のアクチュエータを制御するために使用され得る仮想境界184はまた、境界内及び所望の切断面上に留まるよう鋸刃を制約するために、刃の厚さに等しい及び/又はそれよりわずかに大きい厚さを有するもののような、体積境界であってもよい。それゆえ、所望の切断面は、仮想平面境界、仮想体積境界、又はその他の形の仮想境界によって定義されることができる。いくつかの例においては、仮想境界184の切断スロットは、鋸刃の厚さを考慮するようオフセットされる必要があり、それにより、スロット境界(その切断のために骨に接触する鋸刃の側に対応する)が、最終的な所望のインプラント-骨表面と位置合わせされ、他方の境界が、完全な刃の厚さだけオフセットされる。別の例においては、スロット境界のためにわずかに大きな厚さが使用され、切断スロットの垂直中心線が鋸刃の半分の厚さだけオフセットされるようにする。仮想境界184は、仮想オブジェクトとも呼ばれ得る。仮想境界184は、3D骨モデルのようなインプラント座標系における解剖学的モデルAMに関して定義されてもよい(解剖学的モデルAMがそれらのレジストレーションのため実際の大腿骨Fに仮想的に重ね合わされていることを示す図10参照)。言い換えれば、仮想境界184に関連付けられた点、線、軸、軌跡、平面、及び体積等は、解剖学的モデルAMの追跡(例えばそれがレジストレーションされている関連する解剖学的構造の追跡を介した)が仮想境界184の追跡も可能にするように、解剖学的モデルAMの座標系に対して固定されている座標系において定義されてもよい。
解剖学的モデルAMは、仮想境界184が解剖学的モデルAM及び関連する座標系に関連付けられるように、第1の患者トラッカ54にレジストレーションされる。仮想境界184は、インプラント固有のもの、例えば、インプラントのサイズ、形状、体積等に基づいて定義されるものであってもよく、及び/又は、患者固有のもの、例えば、患者の解剖学的構造に基づいて定義されるものであってもよい。インプラント固有の境界は、インプラントの物理的な寸法よりも大きくてもよいし、又は小さくてもよい。仮想境界184は、術前に、術中に、又はこれらの組合せで生成される境界であってもよい。言い換えれば、仮想境界184は、外科的処置が始まる前、外科的処置の間(組織除去の間を含む)、又はこれらの組合せで定義されてもよい。仮想境界184は、制御システム60が生成することによって、又は他のソース/システムから受け取ることによって等のような、多くの方法で提供され得る。仮想境界184は、検索及び/又は更新のためにメモリに格納されてもよい。
全膝インプラントIMを受容するために大腿骨Fを調製するとき(図1参照)のような、いくつかの場合においては、仮想境界184は、全膝インプラントIMのための複数の切断面(例えば5つの切断面)を画定するために使用され得る、複数の平面境界を含み、大腿骨Fの遠位端の3Dモデル及び/又は脛骨の3Dモデルに基づく切断面に関連付けられている。これらの複数の仮想境界184及び/又は目標平面は、制御システム60によって一度に1つずつアクティブにされて、一度に1つの平面を切断するように複数のアクチュエータを制御することができる。これらの切断面の各々は、制御システムのための目標平面であってもよい。例示的な仮想境界184は、説明の目的のために、図13に示されている。図13は、目標平面がインプラント境界と位置合わせされていることを示しているが、これは概略表現であり、目標平面は計画されたインプラント境界からわずかにオフセットされていてもよいことは、理解されるべきである。他の形状及び構成も可能である。図13は、それぞれの所望の目標平面を有する、一連の切断を示している。大腿骨の遠位端の各々は、大腿骨へのアクセスを提供する入口部分を示す。入口部分は、5つの目標切断面TPである73a~73eのうちの1つに沿って定義された切断スロット内へと続いている。他の場合においては、仮想境界は、ドリルビット又はタップの挿入のためのような、大腿骨又は椎骨へのような骨への、回転ツールの挿入のための、計画された軌道であってもよい。ここでもまた、複数の仮想軌道は、一度に1つの軌道を穿設するように複数のアクチュエータを制御するために、一度に1つずつがアクティブであってもよい。
仮想境界が鋸駆動モータ(又はその他の駆動モータ)を制御するために使用される場合においては、図13及び図15を参照すると、仮想境界184は、全膝インプラント又はその他の外科手術を受けるために膝を調製するときに、鋸(DB、LB)又はツールの面内切断深さ又は幅を画定するために使用されることができる境界を表し得る。鋸(DB、LV)についての面内切断深さ又は幅は、明確な境界ではなく、3D境界モデルの特徴であり得る。それらの遠位境界DBは、目標切断面又は目標軌道に対して概ね垂直であってもよく、任意に患者の解剖学的特徴(大腿骨の遠位面、靭帯、動脈、軟組織等)に対して輪郭付けられてもよい。このことは、重要な構造の不注意による切断を回避し得る。駆動モータを制御するために使用される仮想境界184は、1つ以上の横方向境界(LB)を含んでもよい。これらの横方向境界(LB)は、横方向において目標深さを超えて切断することを防止するように機能し得る。いくつかの例においては、3D境界における深さ境界及び横方向境界によって定義される切断スロットは、鋸刃が十分に平面上に留まらない場合(器具及び/又は骨の突然の高速な動きの場合、又は別のシステムの故障に対する緩和として)、又はツールが軌道上に留まらない場合に、駆動モータMをオフにすることのような、二次的な誤差の緩和機能のために使用されてもよい。鋸駆動モータを制御するための境界は、選択された目標平面に基づいて選択的にアクティブにされてもよい。同様に、ツール駆動モータを制御するための境界は、選択された目標軸に基づいてアクティブにされてもよい。
いくつかの場合においては、切断深さを画定する仮想境界は、5mmの平面オフセットといった固定境界オフセットのような、及び各計画切断面(TP)又は目標軌道に垂直な、計画された仮想オブジェクトの姿勢に基づいてもよい。再び図13を参照すると、5つのTPが、計画されたインプラントが骨に接触することが意図される各平面と位置合わせされ、遠位境界DBは、各切断についてTPに垂直であり、計画されたインプラントが骨に接触する平面の遠位端から所定の距離をオフセットするものとして、実装される。いくつかのバージョンにおいては、制御システム60は、鋸刃が深さ境界DBを閾値量よりも大きく侵犯するか否かを評価し、駆動モータMの動作を停止するように器具コントローラ28に指令してもよい。いくつかの例においては、器具コントローラ28は、駆動モータMの動作を停止せず、駆動モータMのユーザ制御による開始、停止、及び/又は速度制御に依存してもよい。
いくつかの場合においては、器具コントローラ28は、駆動モータMのモータパラメータを第1の値及び第2の値で制御し、ここで第1の値は第2の値と異なり、器具コントローラ28は、ツール20の位置及び仮想境界のような骨に関連する基準位置の位置に基づいて、又は計算された距離パラメータに基づいて、第1の値から第2の値へ動作を変更してもよい。
ツール20が骨の切断部又は穴の中に進むと、器具コントローラ28は、基準位置に対するツール20のナビゲーションデータを使用して、又は骨に関連するツールの姿勢に基づいて、駆動モータMの作動を許可してもよい。さらに、器具コントローラ28は、ツール20が、骨に関連する基準点又は境界に関する、或る特定の姿勢、距離パラメータ値又は位置に到達したか否かに基づいて、駆動モータMをオフにしてもよい。いくつかの場合においては、軟組織、除去されていない骨、及びその他の処置において使用される外科用機器による、制限された視線のため、外科的処置を実行しながら、骨内のツール20の深さを知覚することに、ユーザが困難性を見出し得る。ユーザはまた、隣接する解剖学的構造が鋸刃20又はツールに圧力を加えるため、ツール20の深さを知覚することに困難性を有し得る。ツール20の姿勢又は位置に基づいて駆動モータMを制御することによって、ユーザは、より正確に切断の深さを制御することが可能となり得る。
いくつかの例においては、器具コントローラ28が、駆動モータMのパラメータを変更することによって動作モードを変更すると、器具14、入力デバイス、ナビゲーションシステム32、器具コントローラ28、又はこれらの組合せは、モードが変更されたことを可聴指標、触覚指標、又はその両方により提供してもよい。一例においては、入力デバイスはフットスイッチであってもよく、器具のモードが変更された場合に、駆動モータMの速度を制御して、フットスイッチが振動してもよい。別の例においては、モード及び/又は制御挙動が駆動モータMを加速又は減速するように変更された場合に、ユーザは、音量、ピッチ、振動、又はこれらの組合せを変化させて、器具のモード及び/又は制御挙動が変更されたことを示す、駆動モータMのモータ速度のような可聴指標を知覚し得る。
以上に説明されたように、器具コントローラ28及び/又はナビゲーションコントローラ36は、仮想境界184に対する鋸刃の位置及び/又は向きのような、ツール20の状態を追跡する。一例においては、このことは、ツール駆動モータMを制御する目的のために、TCPの状態が仮想境界184に対して測定されることをモニタリングすることとして記述されることができる。言い換えれば、制御システムは、器具の仮想モデルVMの任意の態様が、閾値を超える量だけ仮想境界184に侵犯した場合に、鋸駆動モータMを減速又は停止することのように、仮想境界184に対して測定されたTCPの状態に基づいて、鋸駆動モータMを制御してもよい。いくつかの例においては、ツールの姿勢(TCP座標系)は、ツール20の任意の態様が、閾値を超える量だけ仮想境界184に侵犯するか否かを評価するために利用されてもよい。器具コントローラ28は、仮想境界184の侵犯について評価され得る刃のモデル(例えばCADモデル又は幾何学的プリミティブを使用する簡略化されたモデル)を有してもよい。いくつかの例においては、ツール20の範囲は、ツール20の先端の押しのけ体積の周辺に配置された離散的な球のアレイでモデル化されてもよく、このとき球の直径はツール20の厚さに一致し、位置はTCP座標系に対して定義される。さらに、仮想境界184は、開端面であってもよいし、閉じた面であってもよい。仮想境界184が閉じた面として構成される場合、仮想境界184は、器具14が仮想境界の「外側」で作動させられ得るが、仮想境界を閾値量だけ越えた後にシャットオフされる、「キープアウト」境界として機能してもよい。同様に、閉じた面の仮想境界は、器具14が仮想境界184内でのみ作動し、器具が仮想境界184から閾値よりも大きい量だけ「離れる」と器具14をシャットオフする、「キープイン」境界として機能してもよい。
別の例においては、ツール20が仮想境界184に対して所望の位置関係に留まるように(例えばそれを越えて動かないように)、仮想シミュレーションを介して仮想剛体モデルに適用されるべき力を決定する目的のため、TCPの状態が、仮想境界184に対して測定される。仮想シミュレーションの結果は、ツール支持体18に結合された複数のアクチュエータを制御する際に、処理される。境界生成器182は、器具コントローラ28上で実装されてもよい。代替としては、境界生成器182は、ナビゲーションコントローラ36のような、他の構成要素上で実装されてもよい。
境界生成器182、挙動コントローラ186及び動きコントローラ188は、ソフトウェアプログラム378のサブセットであってもよい。代替的に、それぞれ、それらの任意の組合せで個別に及び/又は独立して動作するソフトウェアプログラムであってもよい。本明細書において、「ソフトウェアプログラム」という用語は、記載する技術的解決策の様々な機能を実行するように構成されたコンピュータ実行可能命令を説明のために使用する。簡単のために、「ソフトウェアプログラム」という用語は、少なくとも、境界生成器182、挙動コントローラ186及び/又は動きコントローラ188のうちの任意の1つ以上を包含するように意図されている。ソフトウェアプログラム378は、器具コントローラ28、ナビゲーションコントローラ36又はその両方に実装することができ、又は制御システム60によって任意の好適な方法で実装してもよい。
ユーザとのインタラクションを処理するために、臨床アプリケーション190を設けてもよい。臨床アプリケーション190は、ユーザインタラクションの多くの態様を処理し、術前計画、インプラント配置、レジストレーション、骨準備の可視化、及びインプラント適合の術後評価等を含む、手術ワークフローを調整する。臨床アプリケーション190は、ディスプレイ38に出力するように構成される。臨床アプリケーション190は、それ自体の別個のプロセッサ上で実行してもよく、又は、ナビゲーションコントローラ36と並行して実行してもよい。1つの例では、臨床アプリケーション190は、ユーザによってインプラント配置が設定された後に境界生成器182とインタフェースし、その後、境界生成器182によって返された仮想境界184及び/又はツール面TPを実行のために器具コントローラ28に送信する。器具コントローラ28は、本明細書で説明されるように、目標平面TP又は目標軌道を実行する。また、器具コントローラ28は、以下に更に説明されるように、仮想境界184を処理して、対応する仮想制約を生成してもよい。
図16を参照すると、例示的な制御が、様々な変換に関して説明されている。TCPは、ローカライザ座標系LCLZに関してツールトラッカ52(TT)でツール20を追跡し(LCLZ-TT変換)、レジストレーションデータ又は較正データを使用して、ツールトラッカ52と鋸刃のようなツール20のTCPとの間の変換(TT-TCP変換)を決定することによって、位置特定される。同様に、患者は、患者トラッカ(54として示される)を使用して追跡され、ローカライザ座標系LCLZから患者トラッカ座標系への変換(LCLZ-PT変換)に帰着する。
図11に関して説明されたように、骨レジストレーション処理を通して、骨から患者トラッカ54、56への変換が確立される(骨から患者トラッカ)。インプラント計画処理を通して、骨からインプラント/解剖学的モデルへの変換が確立される(骨からIMの変換)。次いで、患者トラッカ54から計画されたインプラント(患者トラッカからIM)への変換が計算される。計画されたインプラント(IM)は、選択されたインプラント構成要素の平面セクションの位置及びサイズが与えられると、目標平面に関連してもよく(IMからTPの変換)、又は目標軌道に関連してもよい(以下に更に説明される、図32参照)。再び図16を参照すると、変換は次いで、レジストレーションデータと計画情報との組合せを使用して、患者トラッカ54、56と、各目標平面のような(PT-TP変換)、又は各目標軌道のような(PT-軌道変換)、各計画された仮想オブジェクトとの間で、変換が計算される。
ツール支持体18の位置及び/又は向き、及びそれゆえTCPは、ツールトラッカ52に関連してもよい(レジストレーション又は較正処理を介して計算される、ツール支持体からツールトラッカへの変換)。以上に説明されたように、いくつかの実施態様においては、手持ち部分16とTCPとの間の変換(BCS-TCP)は、各アクチュエータの位置に基づいて計算される。指令姿勢は、或る特定の制御の実施態様についてBCSに対して決定され得るので、BCSとTCPとの間の変換は、様々な座標系を手持ち部分16に関連付け戻すために利用される。概念的には、指令姿勢は、本例においては、TCPが計画された仮想オブジェクト(目標平面TP)と位置合わせされることに帰着する、BCSからTCPへの変換に対する更新である。代替として、手持ち部分16の姿勢は、手持ち部分16に直接に結合された手持ち部分トラッカ53を使用することによって、いくつかの例において直接に決定されてもよい。このことは、TCP座標系を利用し、各アクチュエータの位置に基づいてBCSとTCPとの間で変換を実行する必要を除去し得る。
ベース座標系BCSに対するTCPの初期姿勢は、アクチュエータ21、22、23がそのホーム位置/中心点又はその他の所定の位置にあるときのツール支持体と手持ち部分16との間の既知の幾何学的関係に基づいて、決定されることができる。これに加えて及び/又は代替として、エンコーダを使用して初期姿勢を測定し、BCSに対するTCPの測定姿勢を得るために順運動学を計算し、仮想シミュレーションを初期化するために当該姿勢を使用することによって、初期姿勢が仮想シミュレーションへと「シード」されてもよい。この関係は、アクチュエータ21、22、23が調節されると変化し、関連する変化は、ロボットシステム10の運動学(例えばこれらの座標系間の動的変換を確立する)に基づいて決定され得る。かくして、ロボットシステム10には、ホーム位置におけるようなツール20の姿勢、及び手持ち部分16の姿勢に対するその関係が、既知となる。したがって、ツール20がユーザによって動かされ、その姿勢がツールトラッカ52を使用して追跡されるとき、ロボットシステム10もまた、手持ち部分16の姿勢及びそのベース座標系BCSを追跡する。いくつかの例においては、以前の較正処理の結果として、ツール支持体18に対するツール20の位置は既知であると仮定される。アクチュエータ21、22、23の各々のホーム位置/中心点及び最大移動量が確立された後は、制御は、ナビゲーションコントローラ36からの位置及び/又は向きデータ、及びアクチュエータ(複数の場合もある)の測定された位置データに基づくものとなる。ホーム位置は、他の態様で計算されてもよい。
患者トラッカ54、56及びツールトラッカ52の両方が、ローカライザ座標系LCLZに関してローカライザ44によってそれぞれ報告され、LCLZ-PT及びLCLZ-TTを提供するので、これらの変換は、ツールトラッカ52と患者トラッカ54、56との間の変換(TT-PT)を決定するために、一緒に処理され得る。そこから、ベース座標系から患者トラッカへの(BCS-PT)変換が、制御システム60によって算出され、手持ち部分16に対する患者トラッカ54、56の位置を計算することができる。患者トラッカ54、56に対する目標平面TPは既知であるので、制御システム60は、ベース座標系BCSから目標平面TPへの(BCS-TP)変換を算出することができ、手持ち部分16の座標系における目標平面の姿勢(BCS)に帰着する。一例においては、BCS-TPは、TCPを目標切断面TP上に置く指令姿勢BCS-TCPを算出するために直接に使用されてもよく、これが次いで、ツール20を所望の姿勢に動かすためにアクチュエータ21、22、23に指令されてもよい。いくつかの例においては、BCS-TCP算出は、仮想シミュレーションVM内でTCPをTPに引き寄せるための制約を生成するために使用されてもよい。全文を通して目標平面変換が説明されるが、目標平面の代わりに目標軌道に関連する変換もまた本明細書で企図されることは、理解されるべきである。
いくつかの例においては、デジタルフィルタが、ローカライザから受信した入力データに直接、順運動学から受信された入力データに(例えば動きコントローラ188に直接)、又は以上に説明された変換の任意の中間的な組合せに、適用され得る。いくつかの例においては、移動平均フィルタが使用され得るが、他のデジタルフィルタリング技術が適用可能であり得る。
器具コントローラ28は、少なくとも1自由度で目標状態に向けてツール20を調節するために、各アクチュエータ21、22、23に指令信号を送信することによって、1つ以上のアクチュエータ21、22、23を制御してもよい。器具コントローラ28は、各アクチュエータ21、22、23に指令信号を送って、アクチュエータ21、22、23を、位置の第1のセットから、ツール20を目標状態にする指令位置のセットに動かし得る。いくつかの例においては、指令位置は、ナビゲーションシステム32と連携して、手持ち部分16の姿勢と、仮想オブジェクトの姿勢(目標切断面又は目標軌道)のような既知の座標系(すなわち患者トラッカ54、56に対して定義される)における目標状態とに基づいて、器具コントローラ28によって決定され、指令位置に調節するようにアクチュエータ21、22、23に信号を送信してもよい。
第2のソフトウェアモジュールは、動きコントローラ188である。動きコントローラ188の1つの機能は、器具14の制御である。動きコントローラ188は、挙動コントローラ186から、次の指令姿勢のような、鋸刃20の目標状態380を定義するデータを受信してもよい。これらのデータに基づいて、動きコントローラ188は、器具14が挙動制御部186によって指令されたようにツール20を位置決めすることが可能となるように、例えば指令姿勢へと器具を制御するように、(例えば逆運動学を介して)各アクチュエータ21、22、23のロータ148の次の指令関節位置を決定する。言い換えれば、動きコントローラ188は、直交座標空間において定義され得る指令姿勢を、器具14のアクチュエータ位置(指令関節位置のような)へと処理し、それにより、器具コントローラ28は、それに応じてモータ142に指令して、器具14のアクチュエータ21、22、23を、指令姿勢に対応する指令関節位置のような、指令位置へと動かすことができる。或るバージョンにおいては、動きコントローラ188は、各モータ142の関節位置を調整し、モータ142が関連するアクチュエータ21、22、23を指令関節位置に駆動することを可能な限り確実にするために、各モータ142が出力するトルクを継続的に調節する。別のバージョンにおいては、器具コントローラは、各モータ142の関節位置を調整し、モータ142が関連するアクチュエータ21、22、23を指令関節位置に駆動することを可能な限り確実にするために、各モータ142が出力するトルクを継続的に調節する。
アクチュエータ21、22、23が手持ち部分16に対してツール支持体18を調節し得る全長が、器具コントローラ28に既知であってもよい。いくつかの例においては、アクチュエータ21、22、23が調整することが可能な全長が、器具コントローラ28に既知であり、該器具コントローラが、位置から位置へと測定された距離を動くように(例えば指令回転を介して所望の量の直線移動を指令することにより)アクチュエータ21、22、23に指令信号を送信してもよい。測定された位置は、既知の位置であってもよいし、又は、アクチュエータ21、22、23の現在の位置とアクチュエータ限界との間の距離であってもよい。アクチュエータ21、22、23が動く先の各位置は、アクチュエータ移動の正の限界及び負の限界(すなわちリードスクリューの両端間の位置)からの測定される距離であってもよい。器具コントローラ28は、アクチュエータ21、22、23を以下に説明されるような位置へと及び位置から指令してもよい。器具コントローラは、ツール20の所望の調節に到達するために、アクチュエータ21、22、23を或る位置へと指令してもよい。器具コントローラ28は、ツール20を所望の姿勢に向けて調節するために、算出された距離を直線的に動くようにアクチュエータ21、22、23を制御してもよい。アブソリュートエンコーダが使用される場合のような、他の例においては、器具コントローラは、アブソリュートエンコーダによって決定されるそれぞれのアクチュエータ移動限界の間の、アクチュエータ21、22、23の既知の位置に基づいて、各アクチュエータ21、22、23を指令位置に配置するよう、信号をアクチュエータ21、22、23に送信してもよい。代替として、一例においては、インクリメンタルエンコーダが、引用することにより本明細書の一部をなすものとする米国特許公開第2017/0156799号に記載されるように、システムの設定の間に実行されるホーミング手順と連携して使用されてもよい。アクチュエータ21、22、23及び関節をそれらの中心位置に配置し、その後、インクリメンタルエンコーダの絶対オフセットを決定する、ホーミング手順が使用されてもよい。インクリメンタルエンコーダのオフセットを決定することによって、インクリメンタルエンコーダは、前進するアブソリュートエンコーダとして動作し得る。
いくつかのバージョンにおいては、器具コントローラ28は、各アクチュエータ21、22、23について、アクチュエータの指令位置と測定された位置との間の差を決定する。器具コントローラ28は、目標電流(アクチュエータのトルクに比例する)を出力し、電圧を変化させて、アクチュエータにおける電流を初期電流から目標電流に調節する。目標電流は、アクチュエータ21、22、23の動きを生じさせ、各アクチュエータ21、22、23を指令関節位置に向けて動かし、その結果、器具を指令姿勢に向けて動かす。このことは、指令姿勢が関節位置に変換された後に起きてもよい。一例においては、各関節の測定された位置は、エンコーダのような以上に説明されたセンサSから導出されてもよい。
本説明を通して、特に断らない限り、姿勢の任意の例は、現在の指令姿勢、現在の測定された姿勢、過去の測定された姿勢、又は過去の指令姿勢であってもよい。これらの姿勢の各々は、互いに異なっていてもよいが、制御サイクルの頻度により、これらの姿勢間の位置及び/又は向きの差は、各制御反復において最小であってもよい。さらに、位置の任意の例は、現在の指令位置、現在の測定された位置、過去の測定された位置、又は過去の指令位置であってもよい。
複数のアクチュエータを制御して、目標平面又は目標軌道のような所望の場所にツールを配置するために、限定するものではないが、インピーダンス制御、アドミタンス制御、位置制御、又は複数の異なる制御実装を使用するハイブリッド制御を含む、種々の制御方法が使用され得る。アドミタンス制御の実装が詳細に説明されるが、他の方法が使用されてもよいことは理解されるべきである。アドミタンス制御モードにおいては、制御システムは、力の入力(仮想の又は測定された)を受け取り、位置(又は動き)の出力を指令する。例えば、アドミタンス制御については、システムは、仮想質量上の特定の位置における力及び/又はトルクをモデル化し、ツールの所望の目標状態を達成するために仮想質量の姿勢を変更するように動作する。インピーダンス制御モードにおいては、制御システムは、位置(又は動き)の入力を受け取り、力又はトルクの出力を指令する。例えば、インピーダンス制御システムは、器具の位置(すなわち位置、向き、速度、及び/又は加速度)を測定、感知、及び/又は算出し、ツールの所望の目標状態を達成するために、アクチュエータの各々に適切な対応するトルクを加えてもよい。位置制御はまた、或る特定の挙動の実装に向けて複数のアクチュエータを制御するために使用されてもよい。挙動コントローラ及び動きコントローラの両方に対する変更が、これらの制御方式を実装するために必要とされ得ることは、理解されるべきである。
いくつかのバージョンにおいては、処置が始まると、器具コントローラ28は、ツール20を所望の姿勢から離れて(例えば仮想境界184又は計画された仮想オブジェクト(TP)の外側又はこれらから離れて)配置するユーザの能力の影響を緩和することができる。例えば、いくつかの実施態様においては、ツール20が所望の切断面から外れるように動いていること、又は骨から所定の距離だけ/所定の向きで離れるように動いていることの指標を、ナビゲーションシステム32が提供するとすぐに、器具コントローラ28は、駆動モータMへの通電信号の印加を直ちに終了し、ツール20が骨を削ることを防止し、軟組織の損傷を最小限に抑える。他の例においては、駆動モータMは、例えば、引用することにより本明細書の一部をなすものとする「Surgical tool system with a powered handpiece and a console, the console able to provide energization signals to the handpiece in either a motor drive mode or a direct drive mode」と題された米国特許第7,998,157号に記載されるように、モータブレーキを使用して減速又は停止されてもよい。この特徴のいくつかの実施態様において、ツール20の所望の姿勢との許容可能なずれは、切除の深さが増大するにつれて変化し得る。
境界生成器182、挙動コントローラ186、及び動きコントローラ188は、ソフトウェアプログラムのサブセットであってもよい。代替としては、各々は、その任意の組合せで別個に及び/又は独立して動作する、ソフトウェアプログラムであってもよい。本明細書では、「ソフトウェアプログラム」なる用語は、説明された技術的手法の様々な機能を実行するように構成された、コンピュータ実行可能な命令を記述するために使用される。
ここで図12を参照すると、目標座標系TFは、その原点及び軸が目標状態を定義する任意の座標系であってもよく、目標状態は、ツール20の目標状態に対するツール20の状態をモニタリングするために所望される任意の他の座標系に関して指定されてもよい。目標状態は、患者トラッカ座標系(例えば患者トラッカ54、56の座標系)、ローカライザ座標系LCLZ、ベース座標系BCS、仮想質量座標系VM、又はTCP座標系等において、追跡されてもよい。目標状態は、患者についてのインプラント座標系(IM)に関して最初に定義されてもよく、患者の解剖学的構造に関して固定され、1つ以上の患者トラッカに対して固定されてもよい。本開示の目的のため、目標状態は、鋸刃の所望の姿勢を含んでもよい。
ツール20の現在の状態は、ガイドされた座標系GF(ガイドされたフレームGFとも呼ばれる)により定義されてもよい。ガイドされた座標系GFは、他の座標系に結び付けられてもよく、又は、目標状態に対する現在の状態の追跡を可能にするために、現在の状態が他の任意の座標系に変換されてもよい。現在の状態は、トラッカ座標系(例えばツールトラッカ座標系(TT))、ローカライザ座標系LCLZ、ベース座標系BCS、仮想質量座標系VM、又はTCP座標系等において、追跡され得る。本明細書で説明されるバージョンのうちのいくつかにおいては、ツール20の現在の状態は、最初にTCP座標系によって定義される(例えば、図示を容易にするために、TCP座標系とガイドされた座標系GFとは同じであるとして示されている)。ガイドされた座標系GF及び目標座標系TFの両方は、追跡の目的のために、共通の座標系に変換されてもよい。目標状態は、術前に、術中に、又はその両方で定義されてもよい。
以上に説明されたように、複数のアクチュエータを制御するために、指令姿勢がしばしば設定される。この指令姿勢は、BCSとTCPとの間の所望の関係、すなわちツール支持体と手持ち部分との間の所望の関係であってもよい。指令姿勢は、既知の座標系における手持ち部分16の姿勢と、例えば計画されたインプラントの姿勢から推測された鋸刃の目標姿勢といった、計画された仮想オブジェクトの姿勢のような、同じ座標系(例えば患者トラッカ54、56に関連する座標系)における目標状態とに基づいて決定される。指令姿勢は、ツール20が所望の平面上にあるか、又は計画された軌道のような計画された仮想オブジェクトと位置合わせされることに帰着し得る。上述したように、器具コントローラ28は、逆運動学を使用して、指令姿勢を複数のアクチュエータの各々についての指令位置に変換し、次いで、指令位置に動くようにアクチュエータ21、22、23に指令命令を送信し、それによってツール支持体18及びツール20の相対姿勢を変化させてもよい。
制御システム60は、ドリル、バー、プローブ、ガイド等又はこれらの組合せのような、他のタイプの器具及びアクチュエータアセンブリ構成を制御するように構成されてもよいことが企図される。例えば、本教示は、引用することにより本明細書の一部をなすものとする「Surgical instrument including housing, a cutting accessory that extends from the housing and actuators that establish the position of the cutting accessory relative to the housing」と題された米国特許第9,707,043号に記載された器具を制御するように実装されてもよい。例えば、図32に示されるように、器具の代替例は、ドリル又はバーとしてツール20を有して示されている。例示的な制御は、様々な変換に関して説明される。TCPは、ローカライザ座標系LCLZに関してツールトラッカ52(TT)でツール20を追跡し(LCLZ-TT変換)、レジストレーションデータ又は較正データを使用して、ツールトラッカ52とドリル/バーのようなツール20のTCPとの間の変換(TT-TCP変換)を決定することにより、位置特定される。同様に、患者は、患者トラッカ(54として示される)を使用して追跡され、ローカライザ座標系LCLZから患者トラッカ座標系への変換(LCLZ-PT変換)に帰着する。
図11に関して説明されたように、骨レジストレーション処理を通して、骨から患者トラッカ54、56への変換が確立される(骨から患者トラッカ)。インプラント計画処理を通して、骨からインプラント/解剖学的モデルへの変換が決定される(骨からIM変換)。次いで、患者トラッカ54から計画されたインプラント(患者トラッカからIM)への変換が計算される。計画されたインプラント(IM)は、選択されたインプラントの構成要素の位置が与えられると、目標軌道に関連付けられてもよい(IMから軌道の変換)。再び図32を参照すると、次いで、レジストレーションデータと計画情報との組合せを使用して、患者トラッカ54、56と、各目標軌道のような各計画された仮想オブジェクトとの間で、変換が計算される(PT-TTRAJ変換)。
ツール支持体18の位置及び/又は向き、及びそれゆえTCPは、ツールトラッカ52に関連付けられてもよい(レジストレーション又は較正処理を介して計算される、ツール支持体からツールトラッカへの変換)。以上に説明されたように、いくつかの実施態様においては、手持ち部分16とTCPとの間の変換(BCS-TCP)は、各アクチュエータの位置に基づいて計算される。指令姿勢は、或る特定の制御の実施態様についてBCSに対して決定され得るので、BCSとTCPとの間の変換は、様々な座標系を手持ち部分16に関連付け戻すために利用される。概念的には、指令姿勢は、BCSからTCPへの変換に対する更新であり、本例においてはTCPが計画された仮想オブジェクト(目標軌道TTRAJ)と位置合わせされることに帰着する。代替としては、手持ち部分16の姿勢は、いくつかの例においては、手持ち部分16に直接に結合された手持ち部分トラッカ53を使用することによって、直接に決定されてもよい。このことは、TCP座標系を利用し、各アクチュエータの位置に基づいてBCSとTCPとの間で変換を実行する必要性を除去し得る。
ベース座標系BCSに対するTCPの初期姿勢は、アクチュエータ21、22、23がそのホーム位置/中心点又はその他の所定の位置にあるときに、ツール支持体と手持ち部分16との間の既知の幾何学的関係に基づいて決定されることができる。これに加えて及び/又は代替として、エンコーダを使用して初期姿勢を測定し、順運動学を計算してBCSに対するTCPの測定された姿勢を得て、当該姿勢を使用して仮想シミュレーションを初期化することによって、初期姿勢が仮想シミュレーションに「シード」されてもよい。この関係は、アクチュエータ21、22、23が調節されると変化し、関連する変化は、ロボットシステム10の運動学(例えばこれらの座標系間の動的変換を確立する)に基づき決定されることができる。かくして、ホーム位置におけるもののようなツール20の姿勢、及び手持ち部分16の姿勢に対するその関係は、ロボットシステム10に既知となる。したがって、ツール20がユーザによって動かされ、その姿勢がツールトラッカ52を使用して追跡されるとき、ロボットシステム10はまた、手持ち部分16の姿勢及びそのベース座標系BCSを決定する。いくつかの例においては、事前の較正処理の結果として、ツール支持体18に対するツール20の位置は既知であると仮定される。アクチュエータ21、22、23の各々のホーム位置/中心点及び最大移動量が確立された後は、制御は、ナビゲーションコントローラ36からの位置及び/又は向きデータ、及びアクチュエータ(複数の場合もある)の測定された位置データに基づくものとなる。
患者トラッカ54、56及びツールトラッカ52の両方が、ローカライザ座標系LCLZに関してローカライザ44によってそれぞれ報告され、LCLZからPT及びLCLZからTTを提供するため、これらの変換は、ツールトラッカ52と患者トラッカ54、56との間の変換(TTからPT)を決定するために一緒に処理されてもよい。そこから、ベース座標系から患者トラッカへの(BCSからPT)変換が、制御システム60によって算出され、手持ち部分16に対する患者トラッカ54、56の位置を計算してもよい。患者トラッカ54、56に関する目標軌道TTRAJは既知であるので、制御システム60は、ベース座標系BCSから目標軌道TTRAJへの(BCSからTTRAJ)変換を算出して、手持ち部分16の座標系における目標軌道の姿勢(BCS)に帰着してもよい。一例においては、BCSからTTRAJは、TCPを目標軌道TTRAJ上に置く指令姿勢のBCSからTCPを計算するために直接に使用されてもよく、このことは次いで、ツール20を所望の姿勢に動かすためにアクチュエータ21、22、23に指令されてもよい。いくつかの例においては、BCSからTCPの算出は、仮想シミュレーションVM内でTCPをTTRAJに引き寄せるための制約を生成するために使用され得る。
器具コントローラ28は、少なくとも1自由度で目標状態に向けてツール20を調節するように、各アクチュエータ21、22、23に指令信号を送信することによって、1つ以上のアクチュエータ21、22、23を制御してもよい。器具コントローラ28は、各アクチュエータ21、22、23に指令信号を送り、アクチュエータ21、22、23を、位置の第1のセットから、ツール20を目標状態にすることとなる指令位置のセットへ移動させて、ツール20を目標軌道と位置合わせしてもよい。いくつかの例においては、指令位置は、手持ち部分16の姿勢と、仮想オブジェクトの姿勢(目標軌道)のような既知の座標系(すなわち患者トラッカ54、56に対して定義される)における目標状態とに基づいて、ナビゲーションシステム32と連携した器具コントローラ28によって決定され、指令位置に調節するようにアクチュエータ21、22、23に信号を送信してもよい。
仮想制約
いくつかの実施態様においては、制御システムは、1つ以上の仮想制約を使用して、指令姿勢を計算する。一般に、仮想制約は、仮想シミュレーションの一部として、他の動き関連情報とともに制御システム60によって考慮される、或る特定の方向における剛体の動きに対する制限及び/又は促進である。各仮想制約は、制約の方向と呼ばれる特定の方向に沿って作用すると考えられ得る。これらの一方向の制約は、例えば、仮想シミュレーションにおいて2つの座標系を互いに位置合わせする又は反発させるように動作し得る、多自由度制約を生成するように、組み合わせられてもよい。仮想制約は、或る特定の方向における動きを制限する又は動きを促進することの両方ができる。制約は、方向の意味(引き寄せる/反発する)で動きを「制限する」ものではなく、自由な(制約のない)動きを許容せずに、仮想シミュレーションにおける2つの追跡されるオブジェクト/座標系の相対的な動き又は姿勢に基づく或る特定の態様で、動きに影響を及ぼす。アクティブな仮想制約は全て制約ソルバに追加され、制約ソルバは各仮想制約を説明するパラメータのセットを決定し、力を計算する。この結果の力は、それぞれが潜在的に別個の制約方向に沿って作用する、様々な仮想制約のバランス又は均衡を表す、6自由度の力/トルクベクトルとして表され得る。本教示において、「力」なる用語が使用される場合、それは、線形力及び/又は回転トルクの成分が1以上の自由度で規定される、一般化された力/トルクベクトルを指し得ることは、留意されるべきである。例えば、「力」は、単一方向における単一の力、単一軸の周りの単一のトルク、又はそれらの任意の組合せ、例えば、x成分、y成分及びz成分からなる力並びにx軸、y軸及びz軸の周りのトルク成分からなるモーメントを定義する、所与の座標系における6自由度の力/トルクベクトルを指してもよい。
いくつかの実施態様においては、制御システムは、1つ以上の仮想制約を使用して、指令姿勢を計算する。一般に、仮想制約は、仮想シミュレーションの一部として、他の動き関連情報とともに制御システム60によって考慮される、或る特定の方向における剛体の動きに対する制限及び/又は促進である。各仮想制約は、制約の方向と呼ばれる特定の方向に沿って作用すると考えられ得る。これらの一方向の制約は、例えば、仮想シミュレーションにおいて2つの座標系を互いに位置合わせする又は反発させるように動作し得る、多自由度制約を生成するように、組み合わせられてもよい。仮想制約は、或る特定の方向における動きを制限する又は動きを促進することの両方ができる。制約は、方向の意味(引き寄せる/反発する)で動きを「制限する」ものではなく、自由な(制約のない)動きを許容せずに、仮想シミュレーションにおける2つの追跡されるオブジェクト/座標系の相対的な動き又は姿勢に基づく或る特定の態様で、動きに影響を及ぼす。アクティブな仮想制約は全て制約ソルバに追加され、制約ソルバは各仮想制約を説明するパラメータのセットを決定し、力を計算する。この結果の力は、それぞれが潜在的に別個の制約方向に沿って作用する、様々な仮想制約のバランス又は均衡を表す、6自由度の力/トルクベクトルとして表され得る。本教示において、「力」なる用語が使用される場合、それは、線形力及び/又は回転トルクの成分が1以上の自由度で規定される、一般化された力/トルクベクトルを指し得ることは、留意されるべきである。例えば、「力」は、単一方向における単一の力、単一軸の周りの単一のトルク、又はそれらの任意の組合せ、例えば、x成分、y成分及びz成分からなる力並びにx軸、y軸及びz軸の周りのトルク成分からなるモーメントを定義する、所与の座標系における6自由度の力/トルクベクトルを指してもよい。
いくつかの例においては、各仮想制約は、等しい力を有さず、仮想制約によって作用される剛体の位置に依存して、仮想制約が柔軟となるように調節されてもよい。例えば、患者の解剖学的構造及び目標切断面又は目標軌道に対する器具14の位置に依存して、仮想制約は、仮想制約が柔軟となるように調節されてもよい。仮想制約は、無限に剛直なものではなく、代わりに、仮想制約の各々は、例えば仮想制約にばね及び減衰パラメータを組み込むことによって、仮想制約の硬直性を調節するための調整パラメータを有する。かかるパラメータは、制約力混合パラメータ(C)及び誤差低減パラメータ(ε)を含んでもよい。仮想力は次いで、仮想シミュレーションにおける仮想剛体(ツール20又は刃支持体18を表す)に適用されてもよい。6自由度の順動力学計算が実行されて、その結果の仮想剛体の動きを決定する。シミュレーションは時間ステップで行われ、その結果が指令姿勢として利用される。
調整パラメータの値は、向き制約についてよりも位置制約についての方が大きく(例えばより硬直したもの)てもよいし、又はその逆でもよい。かくして、仮想制約の計算は、手持ち部分に対して動くツール支持体の動きパラメータの直接的な制御に導く。調整パラメータは、例えば、引用することにより本明細書の一部をなすものとする、2020年9月30日に出願された「Systems and Methods For Guiding Movement Of A Tool」と題されたPCT出願第PCT/US2020/053548号に記載されたように決定されてもよい。
仮想制約の状態は、器具の動作の間に制御されてもよい。例えば、仮想制約の状態は、第1の状態と第2の状態と(例えばツールの現在の状態と目標状態と)の間の関係に基づいて変化してもよい。例えば、状態が使用の間に変化するように、ツールの位置と基準位置の位置との間の距離パラメータの関数として、状態が構成されてもよい。別の例においては、状態が使用の間に変化するように、ツールの位置と基準位置の位置との間の角度パラメータの関数として、状態が構成されてもよい。各仮想制約の状態は、アクティブ状態、非アクティブ状態、調整パラメータのための第1の値を含むもの、及び/又は調整パラメータのための第2の値を含むものであってもよい。いくつかの例においては、状態の値は、ルックアップテーブルによって定義されてもよい。かくして、或る特定の制約は、ツールの状態に基づいて、アクティブに及び/又は非アクティブにされてもよい。
ツールが鋸刃である例においては、複数の切断面についての鋸刃の目標状態に対する鋸刃の状態は、鋸刃の現在の向きと鋸刃の複数の目標向きとの間の角度を決定すること、鋸刃の現在の位置と鋸刃の複数の目標位置との間の距離を決定すること、又は該角度及び該距離の両方を決定することを含んでもよい。鋸刃の目標状態に対する鋸刃の現在の状態を決定することは、既知の座標系における複数の切断面に対する鋸刃によって定義される面の位置を決定することを含んでもよい。かくして、鋸刃が特定の目標切断面に隣接して位置決めされた場合に、1つ以上の仮想制約の状態が変更されてもよく、制御システムは、選択された切断面を反映するよう目標姿勢を更新するように更に更新されてもよい。同様の技術は、回転式切断ツールが1つ以上の目標軌道と位置合わせするように使用される場合に、器具を制御するために実装されてもよい。
仮想制約は、ユーザ入力デバイスが用いられたとき、又はロボットシステム10が仮想制約を自動的にアクティブにするときに、アクティブにされてもよい。これに加えて又は代替として、ユーザは、仮想制約を手動で設定すること(例えばユーザインタフェースUIのうちの1つ以上を介して、仮想制約の1つ以上のパラメータを変更する、仮想制約をアクティブにする/非アクティブにする等)が可能であってもよい。ユーザは、この目的のために、臨床アプリケーション190を利用してもよい。仮想制約はまた、或る特定の外科的ステップが実行されている(例えば組織の所望のセクションを切断する等)とき、又はロボットシステム10が或る特定の条件を検出するか若しくはその他の態様で認識するときに、トリガされてもよい。
一例においては、図10を参照すると、仮想制約の状態は、ツールが計画された切断又は手術部位に対してどの領域に位置しているかに依存して、変更されてもよい。これらの領域は、1つ以上の既知の座標系における仮想オブジェクト184(図示された球状のオブジェクトを参照)により、定義されてもよい。
仮想制約の状態を変更する1つの例においては、ばね及び減衰パラメータが、動作の間に調整されてもよい。いくつかのバージョンにおいては、調整パラメータのための値は、ツールの現在の状態と目標状態との間の関係に基づいて、変化してもよい。例えば、調整パラメータは、ツール20が目標状態に近づくほど硬直性が増大するように構成されてもよいし、又は、調整パラメータは、ツール20が目標状態に近づくにつれて硬直性が低下するように構成されてもよい。調整パラメータは、異なる制約に対して異なるものであってもよい。例えば、仮想制約は、調整パラメータのための第1の値を有する第1の仮想制約と、調整パラメータのための第2の値を有する第2の仮想制約とを含んでもよく、第1の値は、第2の値より大きく、それにより、その結果の制約力Fcにおいて具現化される仮想力及び/又はトルクが、第2の仮想制約と比較して第1の仮想制約の結果としてより強くツールを動かすように適合される。調整パラメータの値は、姿勢制約についてよりも位置制約についての方が大きくても(例えばより硬直したもの)よく、又はその逆であってもよい。
調整パラメータはまた、ツールの現在の状態からツールの目標状態までの距離/角度に関係なく一定のままとなるように、距離とともに指数関数的に上昇/下降するように;現在の状態と目標状態との間の距離とともに線形に変化するように;制約方向とともに変化するように;時間の関数として変化するように;重力効果を考慮するように;又はこれらの組合せとなるように、設定されてもよい。図18~図20を参照すると、1自由度に関連する1つの制約についての調整パラメータは、別の自由度に関連する関係に基づいて設定されてもよく、例えば、y軸制約の硬直性は、現在の状態と目標状態との間のx軸に沿った距離に基づいて、変化してもよい。調整パラメータはまた、ツール20が目標状態に到達するために動く必要がある方向に依存して変化してもよく、例えば、x軸に沿った一方向に動く場合に、x軸に沿った反対方向に沿って動く場合よりも、硬直性が高くなる。調整パラメータはまた、制約力Fcの大きさ、又はその任意の成分に依存して、硬直性を増大/低下させることによってのように、仮想制約に基づいて最終的に計算される制約力Fcに依存してスケーリングされてもよい。1つ以上の仮想力のための固定値もまた、いくつかの場合においては、仮想シミュレーションに追加され得る。仮想制約についての調整パラメータは、術前に設定されるもの、術中に設定されるもの、術中に更新されるもの、及びそれらの組合せであってもよい。調整パラメータ及びその値、特定の関係に対するそれらの相関、及びそれらがスケーリングされ得る態様は、後の検索のために制御システム60内の任意の適切なメモリ内の1つ以上のルックアップテーブルに記憶されてもよい。
時間及び距離の関数として1つ以上の制約の1つ以上の調整パラメータの硬直性を変更することは、1つ以上の事象に応答して有利なアクチュエータ挙動を提供し得る。例えば、トラッカへの視線が一時的に遮断された場合、トラッカがカメラの視線に戻ったときに、硬直性をゆっくりと増大させることによって、ユーザにとって気を散らすものであり得るユーザの手における突然で激しいアクチュエータの動きを、最小化することができる。その代わり、器具のトラッカが視線に戻ったときに、硬直性がゆっくりと増大させられてもよい。時間及び距離の関数に基づく調整パラメータのこの制御は、以下に説明されるように、手持ち式器具が異なる制御領域間を遷移するときにも有用であり得る。以上に説明されたように、1つ以上の仮想制約は、自動的にアクティブにされてもよい。これに加えて又は代替として、ユーザは、仮想制約を手動で設定すること(例えばユーザインタフェースUIのうちの1つ以上を介して、仮想制約の1つ以上のパラメータを変更する、仮想制約をアクティブにする/非アクティブにする等)が可能であってもよい。ユーザは、この目的のために、臨床アプリケーション190を利用してもよい。仮想制約はまた、或る特定の外科的ステップが実行されている(例えば組織の所望のセクションを切断する等)とき、又はロボットシステム10が或る特定の条件を検出するか若しくはその他の方法で認識するときに、トリガされてもよい。
各仮想制約はまた、構成設定を有する。構成設定は、制約力混合パラメータ(C)及び誤差低減パラメータ(ε)のような調整パラメータに関する情報、力の上限及び/又は下限、及び/又は上側及び下側の制約距離オフセットを含んでもよい。力の上限及び下限は、以下に更に説明されるように、制約力Fcを生成するために制約ソルバ189によって最終的に解かれる、各仮想制約について計算される力の限界を指す。仮想制約は、二面的な制約(例えば制約を満たすために計算される力は正であっても負であってもよい)であってもよく、(各自由度において)ガイドされた座標系GFが目標座標系TFのどちらの側に位置しているかにかかわらず、どちらの方向の引力を適用してもよい。力の限界は、正及び負の方向において高く設定されてもよいし(例えば-100000/+100000ニュートン)、任意の所望の限界に設定されてもよい。代替として、仮想制約は、一面的な制約であってもよい(例えば制約を満たすために計算される力は、一方向にのみ作用し得るものであり、すなわち、力の限界によって構成される方向に依存して、正又は負のいずれかにのみなり得る)。さらに、制約は、制約基準を満たす方向に力を加える「引き寄せ」、又は制約基準を満たすことから離れる方向に力を加える「反発」になるように構成され得る。上側及び下側の制約距離オフセットは、いつ制約がアクティブとなるかを決定付ける。仮想制約に関して、上側及び下側の制約距離オフセットは、現在の状態が目標状態と異なるときはいつでも、制約がアクティブになるように設定されてもよい。
制御システムが、仮想制約の1つ以上に関連するより高い力を受ける場合、該より高い力は、シミュレーションにおいて仮想制約によって影響を受ける剛体に対する、より高い加速率に導き得る。ツールの指令姿勢としての仮想シミュレーションの出力は、それに応じてアクチュエータ21、22、23に指令し、仮想シミュレーションで見て、より高い力及びより高い加速度を引き起こし、手持ち部分16に対するツール支持体18のより高い加速度に帰着する。該より高い力は、その特定の制約について計算された値、調整パラメータの値、又はこれらの組合せに基づくものであってもよい。例えば、仮想制約は、調整パラメータのための第1の値を有する第1の仮想制約と、調整パラメータのための第2の値を有する第2の仮想制約とを含んでもよく、第1の値は、第2の値よりも大きく、それにより、その結果の制約力Fcにおいて具現化される仮想力及び/又はトルクが、第2の仮想制約と比較して第1の仮想制約の結果としてより強くツールを動かすように適合される。
図11及び図17A~図17Eは、1つ以上の仮想制約を使用して指令姿勢の計算を実行するために実施される処理の制御図である。図11は、簡略化された制御図であり、図17A~図17Eは、より詳細なものである。これらのバージョンにおいては、挙動コントローラ186は、制約生成器384と接続されてもよい。制約生成器384は、挙動コントローラ186に境界制約を送信する境界ハンドラ389と、挙動コントローラ186にガイド制約を送信するガイドハンドラ385とを含んでもよい。挙動コントローラ186は、制約ソルバ189及び仮想シミュレータ388を含んでもよい。動き制約ハンドラ390は、関節センタリング制約、運動学的動き制約、作業空間制約、及び関節限界制約を、挙動コントローラ186に送信して、制約ソルバ386及び仮想シミュレータ388に追加されるようにする。いくつかの例においては、動き制約ハンドラ390は、動きコントローラ188の一部である。仮想シミュレータ(図11では「sim」として、図17A~図17Eでは仮想順動力学として示される)は、制約力、並びに減衰力、慣性力及び外部の感知された力を含む潜在的に追加的な力に基づいて、ツール20上の仮想動力学をシミュレートしてもよい。制約生成器384、制約ソルバ189、及び仮想シミュレータ388はそれぞれ、前述のコントローラのうちのいずれか1つ以上の非一時的メモリに記憶され、制御システム60によって実装される、実行可能なソフトウェアを含む。制約力は、以下に説明されるように、それらの力及びトルク(数ある入力の中でも)が仮想剛体の動きにどのように影響するかを最終的に決定するために、仮想シミュレーションにおいて仮想剛体に力及びトルクが仮想的に加えられるように、ツール20の仮想剛体モデルに対して仮想シミュレーションが実行される、仮想質量座標系VMに加えられ得る。仮想シミュレーションにおいて仮想剛体に加えられ得る仮想力及びトルクは、ツール20を目標状態に向けて動かすように適合される。仮想力及びトルクは、仮想オブジェクト、すなわち目標状態に向けた、ツール20の全体的な動きに影響を与える。
一例においては、図11に示されるように、挙動コントローラ186は、仮想シミュレーションへの外力センサ入力を利用しない。仮想制約に基づく制御の使用は、外部の力センサがない場合であっても、いくつかの有利な結果を提供する。仮想シミュレーションにおける制約システム及び仮想力のモデル化は、異なる結果に結び付けられた制約を容易に融合させることを可能にする。制約システムはまた、各制約についてのパラメータを直感的な方法で調整することを可能とする。さらに、速度制約の使用は、他の数値積分又はシミュレーション方法よりも改善された数値安定性のため、所与のサンプルレートに対して、より高い応答性(例えばより高い硬直性)を提供する。しかしながら、記載されているように、外力センサの使用、又は外力の電流ベースの推定のような外力の他の近似が、本明細書に説明されるシステム及び方法とともに使用されてもよい。
ガイド制約
仮想制約の1つのタイプは、本明細書においてガイド制約と呼ばれる。ガイド制約は、目標状態に向けたツール20の動きに最終的に影響を与えるように定義される。ガイド制約は、以下に更に説明されるように、ガイド制約が無限に硬直したものとならないように、設定可能なばね特性及び減衰特性を有する。より具体的には、いくつかのバージョンにおいては、ガイド制約は、目標状態に対して反対方向に他の制約によって加えられる力及びトルクに起因する動きのような、制約に違反する動きを完全には防止しないように、「ソフトな制約」として定義される。
仮想制約の1つのタイプは、本明細書においてガイド制約と呼ばれる。ガイド制約は、目標状態に向けたツール20の動きに最終的に影響を与えるように定義される。ガイド制約は、以下に更に説明されるように、ガイド制約が無限に硬直したものとならないように、設定可能なばね特性及び減衰特性を有する。より具体的には、いくつかのバージョンにおいては、ガイド制約は、目標状態に対して反対方向に他の制約によって加えられる力及びトルクに起因する動きのような、制約に違反する動きを完全には防止しないように、「ソフトな制約」として定義される。
目標位置に関連する最大3つのガイド制約、及び目標向きに関連する最大3つのガイド制約を含む、1つ以上のガイド制約が、ツール支持体18をガイドするために制御システム60によって使用され得る。以下により詳細に説明されるように、制御システム60は、ガイド制約(及び使用される場合には他の仮想制約)を満たしている又は満たそうとする制約力Fcを算出するように動作する。制約力Fcは、ツール20を目標状態に動かすために、仮想力及びトルクをその中に組み込んでいる。ガイド制約の各々は、1次元の仮想制約と考えられる。制御システムは、ガイドされるフレームを目標フレームに位置合わせするために、複数の1自由度の制約を利用してもよい。前述のように、ガイド制約は、(各自由度において)ガイドされた座標系GFが目標座標系TFのどちらの側に位置しているかにかかわらず、どちらの方向にも引力を加えることができるという点で、「二面的な」制約である。いくつかのバージョンにおいては、ガイド制約は、所望の制約パラメータに従ってオブジェクトの速度の変化を引き起こすように、仮想シミュレーションにおけるオブジェクトに仮想インパルスを適用するよう力及び/又はトルクが算出される、速度インパルス制約である。いくつかのバージョンにおいては、これらの制約は、引用することにより本明細書の一部をなすものとする米国特許第9,119,655号に記載されたインパルスモデル化において使用されるものと同様のものである。
図12において、少なくとも1自由度における目標姿勢に関連するガイド制約GCが、目標座標系TFにおいて定義されるものとして例示的に表されている。これらのガイド制約GC(及びその他のアクティブな仮想制約)の結果として最終的に算出される制約力Fcは、ツール20のTCPを目標姿勢にガイドする、仮想ばね及び減衰特性を組み込んだ力を含むものとして示されている。ガイド制約は、ガイドされた座標系GFの姿勢(例えば仮想質量座標系VMに関して定義される)及び目標座標系TFの姿勢(例えば患者トラッカ(複数の場合もある)に関して定義される)に基づくものであってもよい。ガイドされた座標系GF及び目標座標系TFの(少なくとも1自由度における)姿勢は、それぞれ鋸刃の現在の状態及び鋸刃の目標状態、又はそれぞれツールの現在の状態及びツールの目標状態を計算するために使用される。
各ガイド制約は、目標座標系のx軸、y軸又はz軸に沿って又はこれらの軸の周りに定義される制約方向を有する。制約方向は、制約が有効に力を加えることができる方向である。回転制約の場合については、制約方向は、制約がその周りに効果的にトルクを加えることができる軸である。制約方向は、ガイドされた座標系(GF)において定義されてもよいし、又は、制約方向は、目標座標系(TF)又はガイドされた座標系(GF)のいずれかに対する任意の既知の関係を用いて定義されてもよい。一例においては、3つの並進ガイド制約及び3つの回転制約が、ガイドされるフレームの位置及び向きを目標フレームと完全に位置合わせするために使用され得る。しかしながら、2つ以下の並進制約が使用されてもよく、2つ以下の回転制約が使用されてもよい。
一例においては、ガイド制約は、1つの位置及び2つの向きの、3自由度で算出される。位置ガイド制約は仰角で定義され、向き制約はピッチ及びロールで定義され、これらは鋸刃を目標平面TPに位置合わせするために使用される。向きは、目標姿勢(TF)の向きと鋸刃上のガイドされるフレームとを比較することによって計算される。ロール(X軸の周りの回転)及びピッチ(Y軸の周りの回転)は、鋸刃のX-Y平面(ガイドされた座標系)が目標姿勢のX-Y平面(目標座標系)と平行になるまで、鋸刃がどれだけ回転させられる必要があるかを定義するために使用される。本例については、3つの制約方向は、TFのz軸に沿ったもの(仰角)、TFのx軸の周りのもの(ロール)、及びTFのy軸の周りのもの(ピッチ)となる。他の仮想オブジェクトについての別の例においては、2つの位置ガイド制約及び2つの向きガイド制約が使用されてもよい。
代替としては、鋸刃又はその他のツールを目標姿勢に位置合わせするために、ガイドされた座標系において任意の数の自由度が使用され得る。例えば、1自由度の位置(平面上の点)、以上に説明されたような3自由度の位置及び向き、4自由度の位置及び向き、又は、3つの位置及び3つの向きを位置合わせするガイド制約を含むこととなる、完全な6自由度の姿勢である。
ガイド制約(及び使用される場合は他の仮想制約)は、主に以下の3つのランタイムパラメータ、すなわち、各1次元のガイド制約を仮想シミュレーションのために利用される座標系にマッピングする(例えば目標座標系TFと仮想質量座標系VMとの間)制約ヤコビアンJpと、目標座標系TFによって定義される適用可能な制約方向に沿った又はその周りの、ガイド制約のスカラ速度(線形又は角度的な)(例えば、所望の速度は、患者が動けずかつ患者に対して定義された関連する目標状態が動いていないときは、ゼロであってもよいが、目標状態が患者に結び付けられ得るので、患者が動いているときは、ゼロ以外であってもよい)所望の速度Vdes(又はVp2)と、ガイドされるフレームGFが、TFによって定義された適用可能な制約方向に沿って又はその周りに、目標フレームTFにどれだけ近いかであり、制約が違反されているか否かを決定付ける制約距離Δdとによって定義される。いくつかの場合においては、Δdは、目標状態からの現在の状態の距離/角度を指し、ガイド制約は、関連する自由度について現在の状態が目標状態と一致しないときはいつでも違反される。
ガイド制約以外の他の制約が利用される場合、制約ソルバは、最終的に、全ての仮想制約を満たしている又は満たそうとする制約力Fcについての解を提供することをタスクとするものであり、かくして、その他の制約は、制約力の大きさ及び/又は方向に影響を与え得ることは、理解されるべきである。
関節センタリング制約
関節センタリング制約は、複数のアクチュエータの各アクチュエータのセンタリング位置に対する、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される、仮想力及び/又はトルクを表す、別の仮想制約である。関節センタリング制約は、手持ち部分16に対して利用可能なツール支持体18の移動量を最大化するために制御システム60によって考慮される、手持ち部分に対するツール支持体18の動きにおける特定の制限を実装する際に使用される。一例においては、ツール20に対する動きの特定の制限は、他の制約がアクティブでないときに、関節をその中心位置(又は、ユーザ、制御システム60、若しくはその両方によって決定される、別の関節位置)に戻すことであってもよい。代替としては、関節センタリング制約は、全膝処置における特定の切断のためもの、又は或る特定の骨穿孔処置における特定の軌道のためのもののような、特定の外科的処置のための最適なバランスのために、手持ち部分16に対するツール支持体18の位置決めを容易化してもよい。関節センタリング制約は、以下に更に説明されるように、関節センタリング制約が無限に硬直したものとならないように、設定可能なばね及び減衰特性を有していてもよい。より具体的には、いくつかのバージョンにおいては、関節センタリング制約は、他の制約によって反対方向に加えられる力及びトルクに起因する動きのような、制約に違反する運動を関節センタリング制約が完全に防止しないように、「ソフトな制約」として定義される。
関節センタリング制約は、複数のアクチュエータの各アクチュエータのセンタリング位置に対する、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される、仮想力及び/又はトルクを表す、別の仮想制約である。関節センタリング制約は、手持ち部分16に対して利用可能なツール支持体18の移動量を最大化するために制御システム60によって考慮される、手持ち部分に対するツール支持体18の動きにおける特定の制限を実装する際に使用される。一例においては、ツール20に対する動きの特定の制限は、他の制約がアクティブでないときに、関節をその中心位置(又は、ユーザ、制御システム60、若しくはその両方によって決定される、別の関節位置)に戻すことであってもよい。代替としては、関節センタリング制約は、全膝処置における特定の切断のためもの、又は或る特定の骨穿孔処置における特定の軌道のためのもののような、特定の外科的処置のための最適なバランスのために、手持ち部分16に対するツール支持体18の位置決めを容易化してもよい。関節センタリング制約は、以下に更に説明されるように、関節センタリング制約が無限に硬直したものとならないように、設定可能なばね及び減衰特性を有していてもよい。より具体的には、いくつかのバージョンにおいては、関節センタリング制約は、他の制約によって反対方向に加えられる力及びトルクに起因する動きのような、制約に違反する運動を関節センタリング制約が完全に防止しないように、「ソフトな制約」として定義される。
関節センタリング制約は、ツール支持体18を動かすために制御システム60によって使用されてもよい。以下により詳細に説明されるように、制御システム60は、関節センタリング制約を満たしている又は満たそうとする制約力Fcを算出するように動作してもよい。制約力Fcは、ツール支持体18をセンタリング位置に向けて動かすために、仮想力及びトルクをその中に組み込んでいる。関節センタリング制約は、1次元の仮想制約と考えられる。いくつかのバージョンにおいては、関節センタリング制約は、所望の制約パラメータに従ってオブジェクトの速度の変化を引き起こすように、仮想シミュレーションにおけるオブジェクトに仮想インパルスを適用するよう力及び/又はトルクが算出される、速度インパルス制約である。関節センタリング制約以外の他の制約が利用される場合、制約ソルバは、最終的に、全ての仮想制約を満たしている又は満たそうとする制約力Fcについての解を提供することをタスクとするものであり、かくして、その他の制約は、制約力の大きさ及び/又は方向に影響を与え得ることは、理解されるべきである。
図21において、関節センタリング制約は、それぞれのアクチュエータの関節空間において(アクチュエータ21、22、23の並進軸に沿って)、例示的に表されている。関節センタリング制約の制約方向は、そのアクチュエータ21、22、23の並進軸に沿ったものであり、それゆえ、その方向に沿った線形力のみを加え得る。各関節センタリング制約の結果として算出される制約力は、アクチュエータ位置をセンタリング位置にガイドする対応するアクチュエータの並進軸に沿って作用する、ばね及び減衰特性を組み込んだ線形力を含むものとして図示されている。関節センタリング制約は、他の座標系でも同様に定義され得ることは、理解されるべきである。また、器具内の全てのアクチュエータ又は全てよりも少ないアクチュエータが、関節センタリング制約を利用してもよいことは、理解されるべきである。
関節センタリング制約は、主に3つのランタイムパラメータ、すなわち、1次元関節センタリング制約を仮想シミュレーションのために利用される座標系にマッピングする(例えば関節の動きと仮想質量座標系VMとの間)、制約ヤコビアンJpと、以前の制御の反復において各アクチュエータを制御するために使用された指令位置である、以前の指令関節位置と、他の制約がアクティブではないときにアクチュエータが戻ることが望ましい設定された関節位置である、関節センタリング位置とにより定義される。アクチュエータの現在の測定された位置もまた、関節センタリング制約に使用され得ることは、理解されるべきである。以前の指令位置は、制御におけるより少ない遅れ及び改善された安定性を提供し得る。関節センタリング制約は、二面的なものであってもよく、アクティブなときに常に関節をセンタリング位置へ引っ張る。
関節センタリング位置は、ロータ148の各々がそれぞれのリードスクリューに沿って比較的大きな移動量を有する位置であってもよい。言い換えれば、関節センタリング位置は、以上に説明されたように、アクチュエータの各々の「ホーム」又は「アイドル」位置と考えられ得る。各アクチュエータについて、関節センタリング位置を、リードスクリューに沿ったロータの中央位置であるホーム位置に設定することによって、ツール支持体は、動きの最大範囲を達成することができる。代替としては、関節センタリング位置は、複数のアクチュエータのうちの1つ以上について、ホーム位置以外の位置に設定されてもよい。この位置は、二次的な関節センタリング位置と考えられ得る。二次的な関節センタリング位置は、アクチュエータ21、22、23の各々について異なっていてもよい。アクチュエータが二次的な関節センタリング位置に位置しているとき、1つ以上のアクチュエータ21、22、23は、関節センタリング位置がホーム位置であったとした場合に同じアクチュエータが有していたであろう一方向への移動の、一部しか可能ではないかもしれないことは、理解されるべきである。一例においては、第1の関節センタリング位置は、「ホーム位置」であり、第2の関節センタリング位置は、ホーム位置以外の位置である。特に限定するものではないが、アクチュエータが第2の関節センタリング位置にあるとき、アクチュエータは、ホームと同等の関節センタリング位置に設定された場合にその同じアクチュエータが有していたであろう特定の方向における動きの範囲の50パーセント未満、40パーセント未満、又は30パーセント未満を有していてもよい。しかしながら、或る特定の外科的処置について又は或る特定のユーザについては、或る特定の(潜在的に困難な)方向により多くの移動を提供するために、人間工学を改善するために、又は器具がどのように保持されるかを考慮するために、アクチュエータの中央位置から離れた関節センタリング位置を付勢することが有用であり得る。各アクチュエータは、多数の異なる関節センタリング位置、又は好ましいバランス配置のためのプリセットを有してもよいことは、理解されるべきである。好ましいグリップ/バランス状況に対応する関節センタリング位置の群(全てのアクチュエータについての関節センタリング位置のセット)が、一緒に集約されてもよい。これらのセンタリング位置は、1つ以上のユーザ入力デバイスを使用してユーザにより選択可能であってもよい。
各アクチュエータ21、22、23が、第1の関節センタリング位置(ホーム位置)にある場合、アクチュエータ21、22、23の調節可能量は、典型的には対称的に最大化されて、ユーザがツール20を所望の姿勢に保つことを容易にし、すなわち、関節センタリング位置は、典型的にはアクチュエータの中央位置又は「ホーム」位置に設定される。器具14の特定の幾何学的形状及び構成に依存して、様々なレベルの調節が可能である。いくつかの例においては、全てのアクチュエータ21、22、23がそれらの第1の関節センタリング位置にあるとき、ツール20は、ロールの向きにおけるゼロ変化、及びz軸の並進がないことを仮定して、関節中心位置に対して約±18度だけ、ピッチの向きを調節されてもよい。いくつかの例においては、全てのアクチュエータ21、22、23がそれらのセンタリング位置にあるとき、ツール20は、ピッチの向きにおけるゼロ変化、及びz軸の並進がないことを仮定して、センタリング位置に対して約±33度だけ、ロールの向きを調節されてもよい。いくつかの例においては、全てのアクチュエータ21、22、23がそれらの第1の関節のセンタリング位置にあるとき、ツール20は、ピッチの向き及びロールの向きにおけるゼロ変化を仮定して、第1の関節センタリング位置に対して約±0.37インチだけ、z軸の並進を調節されてもよい。ツール20は、もちろん、動作の間に、ピッチ、ロール、及びz軸の並進を同時に、順次に、又はそれらの組合せで、調節されてもよい。
関節センタリング制約は、1つ以上のアクチュエータの位置において、1つ以上のアクチュエータをフリーハンドモードへと「凍結」させて、不必要な作動及び動きを防止し、器具14が目標骨からかなりの距離離れている場合のような、アクチュエータが動きにより過剰な熱を生成することを防止するために、使用されてもよい。フリーハンドモードは、膝蓋骨又はその他の解剖学的構造の部分を切断するような、いくつかのタイプの処置を実行するために有用であり得る。アクチュエータ21、22、23が、フリーハンドモードにおいて更なる動きを凍結されると、器具14は、手持ち部分16に対するツール支持体18のいかなる動きもなく、従来の切断器具とよく似た挙動を行う。仮想境界184はまた、フリーハンドモードで非アクティブにされてもよい。フリーハンドモードには、任意の適切なユーザインタフェースの任意の適切な入力デバイス(例えば押しボタン、フットスイッチ等)によって入ってもよい。いくつかのバージョンにおいては、ユーザは、入力デバイスを作動させ、器具コントローラ28がツール姿勢を適所で保持されるよう又は凍結されるよう指令する、フリーハンドモードを選択することによって、このツールの挙動(すなわち、特定の関節センタリング位置による関節センタリング制約をアクティブにする、及び/又は関節センタリング位置を変更する)を選択してもよい。いくつかの例においては、ツール20を特定の姿勢で凍結するために、器具コントローラ28は、関節センタリング制約を有効にして、各アクチュエータ21、22、23についてのセンタリング位置を、所望のツール姿勢に対応する関節位置に設定してもよい(例えば、対応する関節位置を得るために所望のツール姿勢に対して逆運動学を実行することにより)。代替として、別の例においては、関節センタリング位置は、ゼロ(すなわちホーム位置)のままとされるか、又はゼロにリセットされてもよい。さらに、関節センタリング位置は、ユーザによってモードが要求された時点で、エンコーダ又はその他のアクチュエータ位置のフィードバックを使用して決定された、アクチュエータの現在の位置に設定されてもよい。以上に説明されたように、関節センタリング位置は調節可能である。二次的な関節センタリング位置は、ユーザ入力デバイスを使用して設定されてもよいし、又は自動的に設定されてもよい。
器具コントローラ28は、関節センタリング制約の状態又は挙動を自動的に制御してもよい。例えば、関節センタリング制約の状態は、ツールの状態及び目標状態に基づいて制御されてもよい。代替としては、関節センタリング制約の状態は、ツール20の位置と、既知の座標系における骨に関連する基準位置の位置とに基づいて制御されてもよい。関節センタリング制約の状態は、複数のアクチュエータ21、22、23の各々に対する関節センタリング位置の値、及び/又は関節センタリング制約の調整パラメータを含み得る。例えば、器具コントローラ28は、ユーザが、快適なグリップの維持、制御、利便性、解剖学的構造を熟知していること、予期されない解剖学的構造、又はそれらの組合せのために、ツール20に対する手持ち部分16について、同じグリップにより手順を再開し得るように、ナビゲーションシステム32によって決定された、ツール20の状態及び骨に関する基準位置に基づいて、ツール20が切り口から取り外されたときに、アクチュエータの各々に対して特定の関節センタリング位置による関節センタリング位置制約を、自動的に有効にしてもよい。かかる例においては、関節センタリング位置は、切り口からの鋸刃380の取外しの前の時点において測定された、各アクチュエータ21、22、23の位置に設定される。
また、関節センタリング位置は、関節センタリング制約の観点から説明されたが、以上に説明された関節センタリング位置制御は、アクチュエータの位置制御システムを用いる場合のように、仮想制約の使用なしに利用されてもよいことは、理解されるべきである。かかる実施態様においては、制御システムは単に、設定された関節センタリング位置に各アクチュエータの位置を制御してもよい。制約ソルバを実装することなく、関節センタリング挙動が利用される場合には、関節センタリング制約と同じ態様で、関節センタリング動作の状態が制御されてもよい。
器具コントローラ28は、ツール20の位置と骨に関連する基準位置の位置との間で算出された距離パラメータ(例えば距離;大きさ)に基づいて、関節センタリング制約の状態を制御するように構成されてもよい。距離パラメータは、方向、大きさ、又はその両方であってもよい。いくつかの場合においては、距離パラメータが、骨から離れる方向、及び15cmのような第1の閾値よりも大きい大きさを有する場合に、コントローラが、異なる状態に切り換わってもよい。
以上に説明されたように、関節センタリング位置は調節可能である。二次的な関節センタリング位置は、ユーザ入力デバイスを使用して設定されてもよく、又は自動的に設定されてもよい。或る特定の構成においては、二次的な関節センタリング位置及び関節センタリング制約のアクティブ化は、既知の座標系における複数の切断面に対する鋸刃によって定義される面の状態に基づいてもよいし、又は複数の計画された軌道に対するツールによって定義される軸の状態に基づいてもよい。
より詳細には、関節センタリング制約の二次的な関節位置及びアクティブ化は、鋸刃の現在の向きと鋸刃の複数の目標向きとの間の角度、鋸刃の現在の位置と鋸刃の複数の目標位置との間の距離、又はこれら角度及び距離の両方に基づいてもよく、角度の値、距離の値、又は角度の値及び距離の値の両方に基づいて、ユーザによって選択された複数の切断面のうちの1つを決定する。かくして、アクチュエータの各々についての特定の二次的なセンタリング位置は、使い勝手を改善させる目的のため、手持ち部分に対するツール支持体の姿勢を最適化するよう選択されてもよい。同様の実施態様が、他のタイプの外科用ツールについての軌道のために使用され得る。
図22A~図22Cを参照しながら、関節センタリング挙動を制御する一例が、以下に説明される。本例においては、領域IV及びVと骨にすぐ隣接する領域とを区別するために、仮想境界又は距離パラメータが使用され得る。本例においては、まず図22A及び図22Bを参照すると、制御システムは、ツールが第1の領域(領域IV)から第2の領域(領域V)へと動くときに、関節センタリング位置として後に使用され得る現在の関節位置を、自動的に保存するように構成されている。図22Aに見られるように、ツールは切断面上にあり、ガイド制約がツール20を切断面に能動的に位置合わせしている。制御システム60は、ツール20が領域IVから領域Vへと動くときに、現在の関節位置を分析し、関節位置の「スナップショット」をとり、ガイド制約をオフにし、ツール20がその以前に構成された関節センタリング制約を介してセンタリングされた位置に戻ることを可能にする(図22B)。領域Vから領域IVに戻るときに、関節センタリング制約は、「スナップショット」での値に再設定され(例えば位置合わせを復元する)、ツールが出口位置に位置合わせされるようにする(図22C)。ガイド制約は、ツール20が骨の入口にすぐ隣接する領域によって定義されるゾーン内に入るまで、有効化されなくてもよい。復元された関節位置は、以前に切り口から出たときに捕捉された、ハンドルについての人間工学的開始位置にユーザを再位置合わせするために、実装されてもよい。ガイド制約は、刃の姿勢(刃のVMのような)が骨に近いとき(刃のVMから基準座標系/基準位置までの閾値距離を考慮する)に、再びアクティブにされてもよい。
関節センタリング制約は、ガイド制約、関節限界制約又は作業空間制約と同時にアクティブになり得ることは、理解されるべきである。かかる状況においては、制約ソルバは、アクチュエータがどのように制御されるべきかを計算するとき、例えば、指令姿勢を計算するとき、仮想制約の各々から及ぼされる力を均衡させようとする。かくして、或る特定の例においては、特定の関節センタリング位置による関節センタリング制約のアクティブ化にもかかわらず、アクチュエータは、実際にはその関節センタリング位置に制御されないこととなり得る。このことは、他の制約が、より高い優先度を有し得るためである。様々な制約の優先順位は、硬直性又は減衰のような、様々な調整パラメータの使用を通して調節されてもよい。もちろん、異なる仮想制約が同時にアクティブとなる必要はないことも企図される。
一例においては、仮想ガイド制約は、TCPが領域IIから領域Iに遷移するときにアクティブにされてもよい。仮想関節センタリング制約は、TCPが領域IIIから領域IIに遷移するときにアクティブにされてもよい。同様に、関節センタリング制約は、TCPが領域IIから領域Iに遷移するときに非アクティブにされてもよい。もちろん、任意の数の領域が、任意の特定の形状を有して定義されてもよい。仮想関節限界制約は、3つの領域の全てにおいてアクティブであってもよいことが企図される。全文を通して述べられるように、これらの領域は、様々な形状の仮想オブジェクトとして、又は基準位置に対する距離パラメータとして、定義されてもよい。
いくつかの例においては、制御システム60は、器具14の姿勢、刃支持体若しくはツール支持体の姿勢、手持ち部分の姿勢、アクチュエータのうちの少なくとも1つの指令関節位置、少なくとも1つのアクチュエータ21、22、23の測定された位置、少なくとも1つのアクチュエータ21、22、23の以前の指令位置、少なくとも1つのアクチュエータ21、22、23の以前の測定された位置、又はこれらの組合せに基づく調整パラメータを用いて、仮想力の各々(仮想制約)を変更する。いくつかの例においては、制御システム60は、鋸刃380又はツールの目標姿勢と、手持ち部分16の測定された姿勢とに基づいて、ガイド制約を生成する。制御システム60はまた、少なくとも1つのアクチュエータ21、22、23のセンタリング位置と、アクチュエータ21、22、23のうちの少なくとも1つの位置に基づく関節センタリング制約とを生成する。制御システム60は、制約力に基づいて仮想鋸刃又はツールの動力学を仮想シミュレートすることにより、ガイド制約力及び関節センタリング制約力に基づいて制約力を算出する。いくつかの例においては、制御システム60はまた、刃支持体若しくはツール支持体、手持ち部分、又は刃/ツール支持体と手持ち部分との間のような、器具14に加えられる外力を決定し、算出において外力を使用して制約力を決定し、仮想シミュレーションにおいて仮想剛体に加えることもできる。外力は、1以上の自由度で測定され、力/トルクベクトルとしてモデル化されてもよい。仮想シミュレーションの結果は、最終的に複数のアクチュエータ21、22、23の各々についての指令関節位置を決定するために使用され得る指令姿勢である。センタリング位置は、アクチュエータ範囲の中央点と、そのアクチュエータの関節限界との間であってもよい。
仮想シミュレーションにおいて、仮想制約の各々は、調整パラメータを用いて修正されてもよい。各調整パラメータは、仮想シミュレーションにおいて、それぞれの仮想制約が制約力に対して増大した効果を有するようにしてもよい。一例においては、関節センタリング制約は、第1の値を有する調整パラメータを有してもよく、ガイド制約は、第2の値を有する調整パラメータを有してもよく、調整パラメータの各々は、それぞれの仮想制約が最終的に算出される制約力に対して増大した効果を有するようにする。一例においては、関節センタリング制約の調整パラメータは、ガイド制約の調整パラメータよりも小さく、これにより、制約力が、アクチュエータのうちの少なくとも1つを関節センタリング位置、例えば中心点/ホーム位置から離れるよう動かしながら、ツール20を目標姿勢に動かす方向へ、仮想シミュレーション並びに後続する指令姿勢及び指令関節位置を付勢する。制御システム60は、複数のアクチュエータのうちの少なくとも1つの位置と位置限界とに基づいて、関節限界制約を更にアクティブにしてもよい。関節限界制約は、他の仮想制約(例えば、ガイド制約、関節センタリング制約)とともに解かれて、制約力を決定してもよい。一例においては、関節センタリング制約調整パラメータは、第1の値を有し、ガイド制約調整パラメータは、第2の値を有し、関節限界制約調整パラメータは、ガイド制約調整パラメータ及び関節センタリング制約パラメータの値よりも大きい第3の値を有する。関節限界制約の調整パラメータが、ガイド制約の調整パラメータ及び関節センタリング制約の調整パラメータよりも大きいことにより、仮想シミュレーションは、仮想鋸刃に加えられる制約力が関節限界制約を満たす見込みがより高くなることを確実にする。本例においては、関節限界制約が、最も高い値を有するので、仮想鋸刃に及ぼされる仮想力は、関節限界内の位置にガイドされ、関節限界位置を越えない指令位置に帰着する。本例において使用され得る1つのかかる調整パラメータは、制約の硬直性である。
関節限界制約
関節限界制約は、複数のアクチュエータを制御するときに、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される仮想力及び/又はトルクを表す、別の仮想制約である。関節限界制約は、アクチュエータ21、22、23がその動きの範囲外に移動することを防止することを意図された、ツール支持体18の動きにおける特定の制限を実装するために、制御システム60によって使用される。関節限界制約はまた、アクチュエータ移動限界に近すぎると考えられる移動の閾値を強制し得る。以下に更に説明されるように、関節限界制約は、設定可能なばね及び減衰特性を有する。しかしながら、ソフトストップ及びハードストップのような関節限界が、ツールが過度に延在する又は後退するのを防止するために依然として動作可能である。
関節限界制約は、複数のアクチュエータを制御するときに、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される仮想力及び/又はトルクを表す、別の仮想制約である。関節限界制約は、アクチュエータ21、22、23がその動きの範囲外に移動することを防止することを意図された、ツール支持体18の動きにおける特定の制限を実装するために、制御システム60によって使用される。関節限界制約はまた、アクチュエータ移動限界に近すぎると考えられる移動の閾値を強制し得る。以下に更に説明されるように、関節限界制約は、設定可能なばね及び減衰特性を有する。しかしながら、ソフトストップ及びハードストップのような関節限界が、ツールが過度に延在する又は後退するのを防止するために依然として動作可能である。
関節限界制約は、ツール支持体18をガイドするために、制御システム60によって使用され得る。以下により詳細に説明されるように、制御システム60は、仮想制約(関節限界制約を含む)を満たしている又は満たそうとする制約力Fcを算出するように動作する。制約力Fcは、アクチュエータ関節限界に違反しないように意図された態様で、ツール支持体18及びツール20を動かすために、仮想力及びトルクをその中に組み込んだものである。関節限界制約は、1次元の仮想制約と考えられる。例えば、関節限界制約は、一面的であってもよく、かくして関節限界から「離れるように押す」ことができるが、関節限界に向けて引き寄せはしないものであってもよい。いくつかのバージョンにおいては、関節限界制約は、所望の制約パラメータに従ってオブジェクトの速度の変化を引き起こすために、仮想シミュレーションにおけるオブジェクトに仮想インパルスを適用するように、力及び/又はトルクが算出される、速度インパルス制約である。関節限界制約に加えて他の制約が利用される場合、制約ソルバは、最終的に、全ての仮想制約を満たしている又は満たそうとする制約力Fcについての解を提供することをタスクとするものであり、かくして、その他の制約は、制約力の大きさ及び/又は方向に影響を及ぼし得ることは、理解されるべきである。
関節限界制約は、主に3つのパラメータ、すなわち、以前の指令関節位置と、関節限界の位置と、関節の動きを仮想質量の動きに関連付ける、関節センタリング制約のために使用されるものと同じ、制約ヤコビアンJpとにより定義される。関節限界制約は、関節限界位置と以前の指令位置との間の位置の差の計算を利用する。いくつかの実施態様においては、関節限界制約は、以前の指令位置の代わりに、現在の測定された位置に基づいて計算されてもよい。
関節限界制約は、アクチュエータ21、22、23の各々の物理的及び仮想的限界を越えてアクチュエータ21、22、23が延在及び/又は後退することを防止するための力として決定及び算出される。器具コントローラ28は、各アクティブ軸AA1、AA2及びAA3に沿った以前の指令位置を分析し、関節限界制約を決定する。関節限界制約は、指令姿勢を計算する際に、関節センタリング制約、ガイド制約、作業空間制約、及び/又はその他の仮想制約とバランスをとられる。関節限界制約は、ホーミング手順の間に測定された移動の端のすぐ手前のカウント値において設定された、ソフトウェアにより可能とされるストップであり得る、関節限界(ソフトストップ)に基づくものであってもよい。ソフトストップは、ソフトウェアに予めプログラムされた値であってもよい。ソフトストップは、カウント値と予めプログラムされた値との組合せであってもよい。
作業空間制約
作業空間制限制約は、複数のアクチュエータを制御するときに、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される仮想力及び/又はトルクを表す、別の仮想制約である。作業空間制限制約は、ツール20がその作業空間の外を移動するのを防止することを意図された、ツール支持体18の動きにおける特定の制限を実装するために、制御システム60によって使用される。作業空間制限制約は、関節空間ではなく(関節限界制約についてはそうであるが)、直交座標空間において定義された方向に沿って力を及ぼす。作業空間制限制約は、以下に更に説明されるように、作業空間制約が無限に硬直したものとならないように、設定可能なばね及び減衰特性を有する。より具体的には、いくつかのバージョンにおいては、作業空間限界制約は、作業空間制約が、他の制約によって反対方向に加えられる力及びトルクに起因する動きのような、それに違反する動きを阻害はするが防止はしないような、「ソフト制約」として定義される。
作業空間制限制約は、複数のアクチュエータを制御するときに、ツール支持体18の動きに影響を与えるために仮想シミュレーションにおいて利用される仮想力及び/又はトルクを表す、別の仮想制約である。作業空間制限制約は、ツール20がその作業空間の外を移動するのを防止することを意図された、ツール支持体18の動きにおける特定の制限を実装するために、制御システム60によって使用される。作業空間制限制約は、関節空間ではなく(関節限界制約についてはそうであるが)、直交座標空間において定義された方向に沿って力を及ぼす。作業空間制限制約は、以下に更に説明されるように、作業空間制約が無限に硬直したものとならないように、設定可能なばね及び減衰特性を有する。より具体的には、いくつかのバージョンにおいては、作業空間限界制約は、作業空間制約が、他の制約によって反対方向に加えられる力及びトルクに起因する動きのような、それに違反する動きを阻害はするが防止はしないような、「ソフト制約」として定義される。
作業空間制限制約は、定義された作業空間の外の様々な場所へのツール支持体18及びツール20の動きを防止するために、制御システム60によって使用され得る。以下により詳細に説明されるように、制御システム60は、仮想制約(作業空間制約を含む)を満たしている又は満たそうとする制約力Fcを算出するように動作する。制約力Fcは、作業空間制限に違反しないように意図された態様で、ツール支持体18及びツール20を動かすために、仮想力及びトルクをその中に組み込んだものである。作業空間限界制約は、作業空間限界制約が単一方向にのみ力を加えることができる(すなわち作業空間限界から「離れるように押す」が、作業空間限界に向けて引き寄せることはない)点において、1次元の仮想制約と考えられる。いくつかのバージョンにおいては、作業空間制限制約は、所望の制約パラメータに従ってオブジェクトの速度の変化を引き起こすために、仮想シミュレーションにおけるオブジェクトに仮想インパルスを適用するように、力及び/又はトルクが算出される、速度インパルス制約である。以上に説明されたように、作業空間制限制約は、手動で又は自動的に(全文を通して説明される様々な位置/角度関係に基づいて)調整可能である、1つ以上の調整パラメータを含んでもよい。
作業空間制限制約は、ツールの姿勢と、典型的にはBCS座標系に関して定義される所定の直交座標空間とに基づいてもよい。ツール16の姿勢は、以上に説明されたように算出されてもよい。以下により詳細に説明されるように、制御システム60は、作業空間限界制約(及び使用される場合には他の仮想制約)を満たしている又は満たそうとする制約力Fcを算出するように動作する。制約力Fcは、作業空間限界制約が違反されないようにツール20を動かすために、仮想力及びトルクをその中に組み込んでいる。各作業空間制限制約は、ツール20が作業空間境界に接触する点における作業空間境界の法線に沿った、許容される作業空間領域に向けて内側方向を指す制約方向を有する。典型的には、制約方向はBCS座標系において定義されるが、他の座標系が使用されてもよい。制約方向は、作業空間制約が有効に力を加えることができる方向である。次いで、制約方向に沿ったツール20の動きを、仮想質量VMの動きに関連付ける、制約ヤコビアンJpが決定されてもよい。これに加えて、作業空間制限制約はまた、ツールによって接触されている適用可能な作業空間制限境界と、ツール姿勢を比較することによって、侵入深さ(すなわち、作業空間制限が制約方向に沿ってどれだけ違反されたか)の計算を利用してもよい。
作業空間限界制約以外の他の制約が利用される場合、制約ソルバは、最終的に、全ての仮想制約を満たしている又は満たそうとする制約力Fcの解を提供することをタスクとし、かくして、他の制約は、制約力の大きさ及び/又は方向に影響を与え得ることは、理解されるべきである。
図3A~図5C及び図23に最もよく示されているように、複数のアクチュエータ21、22、23は、ピッチ、ロール、及び軸Zに沿った並進(垂直並進)を含む少なくとも3自由度で、ツール支持体18及びツール20を手持ち部分16に対して動かすことが可能である。これらの個々の自由度は、図3A~図3C(ピッチ)、図4A~図4C(ロール)、及び図5A~図5C(z軸)に最もよく示されている。図23は、立方体の形状の体積として示された、1つの例示的な所定の直交座標空間を示す。所定の直交座標空間の他の形状は、八面体、非対称八面体、球体、立方体、円柱等のような体積として実装されてもよい。特に、いくつかの例においては、体積として定義される場合の直交座標空間は、アクチュエータの各々がホーム位置にあるときにツール支持体18と手持ち部分との間の平面位置について非対称となるような、非対称の形状であってもよく、直交体積が平面の下よりも平面の上で大きくなるようなものであってもよい。本例においては、体積は、複数の直交点によって定義されてもよい。この体積は、作業可能空間(dexterous workspace)よりも小さくても(全ての到達可能な構成よりも小さくても)よい。代替としては、所定の直交空間は、各自由度において別個に定義されてもよい。例えば、直交空間は、複数の直交点を用いて定義されてもよい。所定の直交空間はまた、鋸刃380がそれに沿って又はその周りに変位可能な軸(x、y及びz)のうちのいずれか1つ、2つ、又は3つに基づく、1つ以上の向きによって定義されてもよい。
手持ち部分に対する刃支持体の動きの範囲が、ロールにおいてよりもピッチにおいて大きくなり得るように、器具が制御されてもよい。代替として又はこれに加えて、器具は、手持ち部分に対する刃支持体の動きの範囲が、ロールにおいてよりも仰角において大きくなるように制御されてもよい。1つの潜在的な実施態様においては、器具は、関節限界制約と作業空間制約との組合せを使用して制御されてもよい。これに加えて、1つ以上の他の仮想制約が、ガイド制約及び/又は関節センタリング制約のような、関節限界制約及び作業空間制約と同時に使用されてもよい。制約ソルバは、関節限界制約及び作業空間制約(及び利用されている他の仮想制約)に基づいて、仮想鋸刃を動かすよう適合された制約力を算出するように構成されてもよい。仮想鋸刃の動力学は、制約力に基づいてシミュレートされ、指令姿勢を出力する。その指令姿勢に基づいて、システムは、指令姿勢に基づく複数のアクチュエータの各々の指令関節位置を決定する。複数のアクチュエータの各々は次いで、その指令位置を使用して制御される。
関節限界(関節空間において定義される)と組み合わせた作業空間制限(直交座標において定義される)の使用は、器具の制御に関して利点を提供し得る。両方の制限の実装は、制御における特異点を回避するための追加的な選択肢を提供し、1つ以上のフレックス回路に損傷を与え得る脆弱な姿勢を回避することによって設計における追加的な堅牢性を提供し、及び/又は機械的干渉を回避するための追加的な選択肢を提供し得る。例えば、制御システム60は、ピッチ、z軸仰角、又はその両方において、作業空間制約及び関節限界制約よりも、作業空間制約及び関節限界制約をより制限することによって、手持ち部分16に対する刃支持体18のロール量を制限するために、作業空間制限を実装してもよい。ロールに対する作業空間制限を他の制御される自由度(ピッチ及び仰角)よりも高く設定することにより、制限されたロールは、機械的能力よりも少ないロールとされ得る。いくつかの場合においては、ロール方向における作業空間制約は、ピッチ及びz軸方向における他の制御される自由度と同じ量又はそれよりも少ない機械的な動きを有してもよい。
代替としては、複数のアクチュエータの動きの範囲は、制約なしで制御されてもよい。かかる実施態様においては、アクチュエータの位置及び限界位置に基づいて、関節限界挙動が決定され、ツールの姿勢及び所定の直交空間に基づいて、作業空間限界を決定する。次いで、制御システム60は、鋸刃380の姿勢、関節限界位置、及び所定の直交空間に基づいて、複数のアクチュエータ21、22、23の各々を制限するように構成される。
運動学的動き制約
複数のアクチュエータによって制御されない自由度、すなわち、制御されない自由度を制御するために、制御システムによって運動学的動き制約が使用されてもよい。一例においては、器具が3つの制御される自由度と3つの制御されない自由度とを含む場合、運動学的動き制約は、3つの制御されない自由度(ヨー、x並進及びy並進)で使用されてもよい。仮想シミュレータは、6自由度において力を受ける仮想質量を使用して仮想制約をモデル化するので、運動学的動き制約は、仮想シミュレータにおける仮想質量モデルが、ツール20の物理的に関連する運動学的姿勢と一致したままとなり、ツール20が制御されない自由度で仮想シミュレーションにおいて離れて行くのを防止するために、利用される。運動学的動き制約は、運動学的姿勢と仮想質量との間のヨー、X並進及びY並進の差を測定するために使用される。これらの運動学的動き制約に基づいて計算された制約力は、それらの差が正であれ負であれ、それらの差を打ち消すように計算され、かくしてこれは二面的な制約である。運動学的動き制約は、直交空間において計算される。関節限界制約は、複数のアクチュエータがその関節閾値を超えないことを確実にするが、運動学的動き制約は、常にアクティブであり、制御されない自由度が仮想質量の座標系において位置合わせされることを確実にする。
複数のアクチュエータによって制御されない自由度、すなわち、制御されない自由度を制御するために、制御システムによって運動学的動き制約が使用されてもよい。一例においては、器具が3つの制御される自由度と3つの制御されない自由度とを含む場合、運動学的動き制約は、3つの制御されない自由度(ヨー、x並進及びy並進)で使用されてもよい。仮想シミュレータは、6自由度において力を受ける仮想質量を使用して仮想制約をモデル化するので、運動学的動き制約は、仮想シミュレータにおける仮想質量モデルが、ツール20の物理的に関連する運動学的姿勢と一致したままとなり、ツール20が制御されない自由度で仮想シミュレーションにおいて離れて行くのを防止するために、利用される。運動学的動き制約は、運動学的姿勢と仮想質量との間のヨー、X並進及びY並進の差を測定するために使用される。これらの運動学的動き制約に基づいて計算された制約力は、それらの差が正であれ負であれ、それらの差を打ち消すように計算され、かくしてこれは二面的な制約である。運動学的動き制約は、直交空間において計算される。関節限界制約は、複数のアクチュエータがその関節閾値を超えないことを確実にするが、運動学的動き制約は、常にアクティブであり、制御されない自由度が仮想質量の座標系において位置合わせされることを確実にする。
境界制約
制御システムはまた、1つ以上の境界制約を利用してもよい。境界制約は、ツールの姿勢とともに、以上に説明された1つ以上の仮想境界に基づくものであってもよい。境界制約は、制約生成及びアクチュエータ制御(ここで説明される)、駆動モータ制御のために機能してもよく、一緒に使用されてもよく、別々に使用されてもよく、又はそれらの組合せであってもよい。境界制約は、ツールが仮想境界を越えることを防止する、仮想質量に対する力に帰着し得る。境界制約は、駆動モータの制御に関して以上に説明された仮想境界のいずれかを利用してもよいことは、理解されるべきである。境界制約の場合、仮想境界は、鋸駆動モータを制御するのではなく、複数のアクチュエータを制御するために利用されることは、理解されるべきである。いくつかの例においては、境界制約又はその他の境界制御方法は、衝突検出を利用してもよい。
制御システムはまた、1つ以上の境界制約を利用してもよい。境界制約は、ツールの姿勢とともに、以上に説明された1つ以上の仮想境界に基づくものであってもよい。境界制約は、制約生成及びアクチュエータ制御(ここで説明される)、駆動モータ制御のために機能してもよく、一緒に使用されてもよく、別々に使用されてもよく、又はそれらの組合せであってもよい。境界制約は、ツールが仮想境界を越えることを防止する、仮想質量に対する力に帰着し得る。境界制約は、駆動モータの制御に関して以上に説明された仮想境界のいずれかを利用してもよいことは、理解されるべきである。境界制約の場合、仮想境界は、鋸駆動モータを制御するのではなく、複数のアクチュエータを制御するために利用されることは、理解されるべきである。いくつかの例においては、境界制約又はその他の境界制御方法は、衝突検出を利用してもよい。
一例においては、境界は三角形のメッシュとして定義されてもよく、メッシュのどの部分がツール20によって接触され得るかを決定するために、衝突検出アルゴリズムが使用されてもよい。まず、制御システム60は、ツール20の領域内に位置する候補の三角形のリストを生成するために、広位相衝突検出を実行する。次に、候補の三角形の各々について、狭位相衝突検出が実行されて、ツール20が三角形に接触するか否か、及びツール20が境界を通ってどの程度の侵入深さ(三角形の法線に沿って)に達するかを確認する。境界制約は、ツールと接触している三角形、すなわち狭位相衝突検出からの出力三角形に対してのみ、生成されてもよい。いくつかの場合においては、ツール20は、ツール20の周縁に沿って配置された離散的な球(ツールの厚さに等しい直径を有する)又は離散的な掃引球(カプセル形状)のような、プリミティブな幾何学的形状のアレイを使用してモデル化されてもよい。衝突検出処理は、メッシュ三角形との衝突を探すために、プリミティブ要素(例えば離散的な球)についての各々に対して繰り返されてもよい。境界制約は、ツールの幾何学的プリミティブとメッシュ三角形との間の各接触について生成されてもよい。
典型的には、境界は、患者トラッカ54、56に対して定義されるが、他の基準座標フレームが使用されてもよい。制御システム60が、ツール20の幾何学的プリミティブ又はVMに接触する境界メッシュの点を決定した後、境界制約が計算されてもよい。1自由度の、一面的な(境界から離れる方向に加えられる力)境界制約が、その結果の各狭位相三角形について計算されてもよい。境界制約の方向は、三角形の法線に沿ったものである。境界の侵入深さもまた、この境界制約方向に沿って測定されてもよい。制約ヤコビアンJpは、三角形の法線(境界制約方向)に沿ったツール20の動きを、その結果の仮想質量の動きにマッピングするように計算される。解剖学的構造トラッカに取り付けられた(すなわち、ツール20に対する相対速度を有する)任意の境界制約について、Vdesiredが計算される必要があり得る。Vdesiredは、骨とツール20との間の相対速度の制約方向への投影であってもよい。別の例においては、ツールが完全に境界を越えているとき、境界制約生成(及びその結果のアクチュエータ制御)を介してではなく、駆動モータMの制御によって処理される。
境界制約以外の他の制約が利用される場合、制約ソルバは、最終的に、全ての仮想制約を満たしている又は満たそうとする制約力Fcについての解を提供することをタスクとするものであり、かくして、その他の制約は、制約力の大きさ及び/又は方向に影響を与え得ることは、理解されるべきである。
外力
1つのバージョンにおいては、器具14は、ツール20に影響を及ぼす又は影響を与えるために、ユーザによって又は骨によって器具14に加えられる力及びトルクを計算、推定、又は測定するように構成され得る。例えば、器具14は、ユーザ又は骨によってツール20に加えられた力及びトルクを検出及び測定してもよく、制御システム60によって使用される対応する入力(例えば1つ以上の対応する入力/出力信号)を生成する。ユーザによって加えられる力及びトルクは、複数のアクチュエータの制御を決定及び容易化するために使用される、外力Fextを少なくとも部分的に定義する。外力/トルク測定値を仮想シミュレーションに含めることによって、ユーザ又は骨によって加えられる力が、仮想シミュレーションに持ち込まれ得る。このことは、仮想制約が、物理的に加えられる力に対して整合性を有することを可能とし得る。例えば、ガイド制約は、特定の硬直性及び減衰を有する。外力(Fext)が仮想シミュレーションに含まれるとき、ツールは、ユーザがガイド制約の整合性を「感じる」ような態様で位置決めされてもよい。このことは、ツールの制御が、ユーザが加える力に対してより応答性の高いものとなることを可能とし得る(すなわち、仮想シミュレーションにおいて、加えられるユーザ/骨の力とガイド制約の硬直性との間に平衡が見出され得る)。ユーザが大きな力を加える場合、望ましい場合には、ガイド制約は、その調整パラメータに基づいて、ユーザによって部分的に上書きされてもよい。このことは、鋸刃と切断面、又はツールと計画された軌道との間の、小さな位置ずれの場合に、ユーザに対するツールの結合又は抵抗を制限するために使用されてもよく、仮想的な整合性は、刃又はツールがその目標姿勢に完全に到達できないときに、高い力又はハンドルを通してユーザによって感じられる正のフィードバックを及ぼすことなく、その小さな誤差が解決(バランスアウト)されることを可能とする。Fext測定がなければ、仮想制約の硬直性は、ユーザ又は骨により刃に対して加えられる物理的な力を考慮に入れることなく、他の仮想制約によって加えられる力との平衡を見出し得る。外力を仮想シミュレーションに含めなければ、ユーザによって加えられる力は、指令姿勢を決定する際に考慮されない。例えば、この外力は、以上に説明された他の仮想制約と組み合わせて制約ソルバに外力を含め、次いで仮想シミュレーションにおいて仮想剛体に外力を加えることによって、指令姿勢の計算において使用されてもよい。外力Fextは、引用することにより本明細書の一部をなすものとする米国特許第9,119,655号に記載されているように、重力補償力、バックドライブ力、及びその他の仮想力のような、ユーザによって又は骨によって加えられるものとは別に、他の力及びトルクを含んでもよい。かくして、ユーザによって加えられる力及びトルクは、外力Fextを少なくとも部分的に定義し、いくつかの場合においては、ツール20の全体の動きに影響を与える外力Fextを完全に定義し得る。いくつかの例においては、器具は、手持ち部分、ツールプラットフォーム、又はこの2つの構成要素の間に位置決めされた、6自由度の力/トルク変換器として実装される、力/トルクセンサSを含んでもよい。他の例においては、アクチュエータ21、22、23の各々における線形力センサ、又はアクチュエータモータ出力の各々におけるトルクセンサも、使用され得る。これに加えて、力/トルクセンサに代えて、モータ電流が、モータトルクの低忠実度の近似値として使用されてもよい。これらの関節空間の力/トルク測定値の各々は、マニピュレータの運動学に基づく適切なヤコビアンを使用して、仮想質量VMに作用する等価な力/トルクに変換されてもよい。器具コントローラ28及び/又はナビゲーションコントローラ36は、力/トルクセンサから入力(例えば信号)を受信してもよい。いくつかのバージョンにおいては、外力は、力/トルク座標系FTから、VM座標系のような別の座標系に変換される。かかる方法においては、本方法は、複数のアクチュエータの各々に供給される電流の量を感知することと、1つ以上の電流センサの出力に基づいて刃支持体と手持ち部との間に加えられる外力の量を推定することと、推定された外力の量に基づいて目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出することとを含んでもよい。
1つのバージョンにおいては、器具14は、ツール20に影響を及ぼす又は影響を与えるために、ユーザによって又は骨によって器具14に加えられる力及びトルクを計算、推定、又は測定するように構成され得る。例えば、器具14は、ユーザ又は骨によってツール20に加えられた力及びトルクを検出及び測定してもよく、制御システム60によって使用される対応する入力(例えば1つ以上の対応する入力/出力信号)を生成する。ユーザによって加えられる力及びトルクは、複数のアクチュエータの制御を決定及び容易化するために使用される、外力Fextを少なくとも部分的に定義する。外力/トルク測定値を仮想シミュレーションに含めることによって、ユーザ又は骨によって加えられる力が、仮想シミュレーションに持ち込まれ得る。このことは、仮想制約が、物理的に加えられる力に対して整合性を有することを可能とし得る。例えば、ガイド制約は、特定の硬直性及び減衰を有する。外力(Fext)が仮想シミュレーションに含まれるとき、ツールは、ユーザがガイド制約の整合性を「感じる」ような態様で位置決めされてもよい。このことは、ツールの制御が、ユーザが加える力に対してより応答性の高いものとなることを可能とし得る(すなわち、仮想シミュレーションにおいて、加えられるユーザ/骨の力とガイド制約の硬直性との間に平衡が見出され得る)。ユーザが大きな力を加える場合、望ましい場合には、ガイド制約は、その調整パラメータに基づいて、ユーザによって部分的に上書きされてもよい。このことは、鋸刃と切断面、又はツールと計画された軌道との間の、小さな位置ずれの場合に、ユーザに対するツールの結合又は抵抗を制限するために使用されてもよく、仮想的な整合性は、刃又はツールがその目標姿勢に完全に到達できないときに、高い力又はハンドルを通してユーザによって感じられる正のフィードバックを及ぼすことなく、その小さな誤差が解決(バランスアウト)されることを可能とする。Fext測定がなければ、仮想制約の硬直性は、ユーザ又は骨により刃に対して加えられる物理的な力を考慮に入れることなく、他の仮想制約によって加えられる力との平衡を見出し得る。外力を仮想シミュレーションに含めなければ、ユーザによって加えられる力は、指令姿勢を決定する際に考慮されない。例えば、この外力は、以上に説明された他の仮想制約と組み合わせて制約ソルバに外力を含め、次いで仮想シミュレーションにおいて仮想剛体に外力を加えることによって、指令姿勢の計算において使用されてもよい。外力Fextは、引用することにより本明細書の一部をなすものとする米国特許第9,119,655号に記載されているように、重力補償力、バックドライブ力、及びその他の仮想力のような、ユーザによって又は骨によって加えられるものとは別に、他の力及びトルクを含んでもよい。かくして、ユーザによって加えられる力及びトルクは、外力Fextを少なくとも部分的に定義し、いくつかの場合においては、ツール20の全体の動きに影響を与える外力Fextを完全に定義し得る。いくつかの例においては、器具は、手持ち部分、ツールプラットフォーム、又はこの2つの構成要素の間に位置決めされた、6自由度の力/トルク変換器として実装される、力/トルクセンサSを含んでもよい。他の例においては、アクチュエータ21、22、23の各々における線形力センサ、又はアクチュエータモータ出力の各々におけるトルクセンサも、使用され得る。これに加えて、力/トルクセンサに代えて、モータ電流が、モータトルクの低忠実度の近似値として使用されてもよい。これらの関節空間の力/トルク測定値の各々は、マニピュレータの運動学に基づく適切なヤコビアンを使用して、仮想質量VMに作用する等価な力/トルクに変換されてもよい。器具コントローラ28及び/又はナビゲーションコントローラ36は、力/トルクセンサから入力(例えば信号)を受信してもよい。いくつかのバージョンにおいては、外力は、力/トルク座標系FTから、VM座標系のような別の座標系に変換される。かかる方法においては、本方法は、複数のアクチュエータの各々に供給される電流の量を感知することと、1つ以上の電流センサの出力に基づいて刃支持体と手持ち部との間に加えられる外力の量を推定することと、推定された外力の量に基づいて目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出することとを含んでもよい。
動作
器具14の制御は、データ接続を通してナビゲーションコントローラ36から器具コントローラ28に送信される、解剖学的構造(例えば大腿骨F又は脛骨T)及び器具14の最新の位置及び/又は向きを考慮に入れる。これらのデータを使用して、器具コントローラ28は、所望の座標系における目標平面又は目標軌跡及び/又は仮想境界184の姿勢(すなわち位置及び/又は向き)を決定する。目標平面及び/又は仮想境界184に対するツール20(例えばTCP)の相対的な姿勢もまた計算される。器具コントローラ28は、ナビゲーションシステム32(ディスプレイ38を含む)を、ツール20が適用されるべき解剖学的構造に対するツール20の位置及び/又は向きを用いて更新する。目標平面及び/又は仮想境界184の位置の指標もまた、提示されてもよい。
器具14の制御は、データ接続を通してナビゲーションコントローラ36から器具コントローラ28に送信される、解剖学的構造(例えば大腿骨F又は脛骨T)及び器具14の最新の位置及び/又は向きを考慮に入れる。これらのデータを使用して、器具コントローラ28は、所望の座標系における目標平面又は目標軌跡及び/又は仮想境界184の姿勢(すなわち位置及び/又は向き)を決定する。目標平面及び/又は仮想境界184に対するツール20(例えばTCP)の相対的な姿勢もまた計算される。器具コントローラ28は、ナビゲーションシステム32(ディスプレイ38を含む)を、ツール20が適用されるべき解剖学的構造に対するツール20の位置及び/又は向きを用いて更新する。目標平面及び/又は仮想境界184の位置の指標もまた、提示されてもよい。
目標平面及び/又は仮想境界184に対するツール20の相対的な位置は、動作がとられる必要があるか否か、すなわち、ツール20を動かす、ツール20の速度(振動速度のような)を変える、ツール20の動作を停止する等の必要があるか否かを決定するために、器具コントローラ28によって評価される。指示データパケットは、例えば、器具コントローラ28等から、モータコントローラに送信される。これらの指示データパケットは、モータ142のロータ148についての指令位置(又はアクチュエータの目標位置)を含む。ここで、各指令位置は、関連するロータ148についての目標累積エンコーダカウント、又はアクチュエータの位置の他の表現を表す、正又は負の数であってもよい。器具コントローラ28は、0.05ミリ秒毎~4ミリ秒毎に1つのパケットの割合で、これらの指示データパケットを生成して各モータコントローラに送信する。いくつかの例においては、各モータコントローラは、少なくとも0.125ミリ秒毎に1回、指示データパケットを受信する。器具コントローラ28はまた、仮想境界184のうちの1つ以上に対するツール20の相対位置に基づいて、器具14の切断速度を選択的に調整してもよい。例えば、ツール20の振動及び対応する切断を制御する駆動モータMは、例えば、ツール20が目標平面から閾値を超える量だけ外れている、仮想境界184へのツール20の侵入が閾値より大きい等のような、ツール20が仮想境界184に対して望ましくない関係にある場合にはいつでも、器具コントローラ28によって無効にされてもよい。制御システム60が、光学追跡システムがツールトラッカ52及び/又は患者トラッカ54、56に対する視線を保持しているか否かに基づいて、駆動モータMを制御してもよいことも企図される。例えば、制御システム60は、視線が所定の量の時間の間損なわれている場合、駆動モータMを停止させてもよい。
使用の間、1つの潜在的な実施態様においては、制御システム60は、ツールトラッカ52がツール支持体18上に位置していることによって、ナビゲーションシステム32を用いてツール20の姿勢(現在の姿勢)を決定する。器具コントローラ28はまた、アクチュエータ21、22、23の各々に配置された1つ以上のエンコーダからの出力エンコーダ信号に基づいて、アクチュエータ21、22、23の各々の現在の位置を決定してもよい。アクチュエータ21、22、23の各々の現在の位置が受信されると、器具コントローラ28は、順運動学を使用して、手持ち部分16(BCS)に対するツールの現在の姿勢(TCP)を算出してもよい。ローカライザデータは、患者トラッカ54、56とツールトラッカ52との間の相対的な姿勢を決定するために使用されてもよい。前述の姿勢は、追加的な較正及びレジストレーションデータとともに、患者トラッカ座標系のような所望の座標系に対する手持ち部分16の姿勢(例えばベース座標系BCSの現在の姿勢)を計算するために組み合わせられてもよい。
いくつかの例においては、手持ち部分の現在の姿勢は、手持ち部分16上に位置するトラッカ53により、ナビゲーションシステム32を用いて決定される。所望の座標系(例えば患者トラッカ)に対するBCSの姿勢は、追加的な較正及びレジストレーションデータとともに、ローカライズデータを使用して直接的に決定されてもよい。一例においては、器具は、図24に示されるように、器具14上の2つのトラッカ、すなわち手持ち部分16上の手持ち部分トラッカ53、及びツール支持体18上に位置するツールトラッカ52を含む。ナビゲーションシステム32は、手持ち部分16上のトラッカ52、及び所望の座標系(例えば患者の解剖学的構造)上のトラッカ54、56の位置から、所望の座標系(例えば患者トラッカ)に対するBCSの姿勢を決定する。
器具コントローラ28が、所望の座標系における手持ち部分16の姿勢を得ると、器具コントローラ28は次いで、複数のアクチュエータ21、22、23を制御してもよい。実施態様においては、器具コントローラ28は、手持ち部分16の現在の姿勢に基づき、かつ目標平面としての対象である計画された仮想オブジェクトの位置及び/又は向きに基づき、ツール20の指令姿勢を決定してもよい。器具は、TCPが所望の平面上にあるか又は計画された仮想オブジェクトと位置合わせされていることに帰着する、BCSに対するTCPの姿勢(指令姿勢)を計算する。この指令姿勢は、任意に、仮想制約(ガイド制約、関節センタリング制約、関節限界制約、作業空間制約)を使用して計算されてもよい。器具コントローラ28は、逆運動学を使用して、指令姿勢を複数のアクチュエータ21、22、23の各々についての指令位置に変換し、次いで、指令位置に動くようにアクチュエータ21、22、23に指令命令を送り、それによって、手持ち部分に対するツール支持体18及びツール20の姿勢を変化させることができる。
図17A~図17Eに見られるように、制御システムは、特定の条件及びパラメータに基づいて、器具の動き及び駆動モータMの通電を決定する。図17Dから始めると、1つ以上のトラッカ54、56が患者の解剖学的構造(例えば大腿骨、脛骨)上に配置され、1つ以上のトラッカ52が器具14上に配置される。ローカライザ44は、各トラッカ52、54、56の位置を捕捉し、その位置情報を共通の座標系へと処理する(図17B)。次いで、ローカライザ44から、臨床アプリケーション190及び制約生成器384にデータが渡される。
臨床アプリケーション190は、ツールに指令するために制御システムにより使用されるレジストレーション及び計画変換を算出するために使用される。図17Aにおいて、臨床アプリケーションは、ローカライザ44からデバイストラッカ52及び患者トラッカ(複数の場合もある)54、56の姿勢情報を受信する。臨床アプリケーション190はまた、ポインタトラッカPT、デバイストラッカ52及び患者トラッカ54、56に関連するローカライザデータを使用して、ハンドピースの設定及びレジストレーション、骨のレジストレーション、インプラント計画、並びに骨の調製に基づいて、デバイス指令変換を算出してもよい。
臨床アプリケーション190内では、ツールトラッカ52及びポインタトラッカPTの情報が、ツールトラッカからTCPへの(ツールトラッカ-TCP)変換を生成するためにハンドピースの設定及びレジストレーション情報を用いて処理される。これは、2つのレジストレーションステップ、すなわち:1)ツールトラッカ52へのツール支持体18のレジストレーション、及び2)ツール(TCP)へのツール支持体18のレジストレーションの結果を組み合わせることによって、計算されてもよい。その結果のツールトラッカ-TCPの変換(すなわち器具レジストレーション結果)は次いで、制約生成器384に転送される。ローカライザ44からの位置情報は、骨レジストレーションデータを用いて、骨-患者トラッカ間変換を算出するために使用され、次いで、患者トラッカ-骨変換をもたらすために反転させて、患者トラッカの位置を骨に関連付ける。ユーザインタフェースUIのうちの1つ以上を利用して、ユーザは、画面上の骨モデルに関して所望のインプラントのサイズ及び位置を調節して、臨床アプリケーションが、インプラントの計画された位置及び/又は向きに対する骨の位置に基づいて、骨-インプラント変換を生成することを可能としてもよい。選択されたインプラントの既知の幾何学的形状及びサイズに基づいて、臨床アプリケーションは、インプラントの計画された姿勢の、所望の1つ以上の目標切断面TPへの変換、インプラント-目標平面変換、又は所望の1つ以上の目標軌道を探す。仮想境界は、選択されたインプラントに基づいて算出されてもよい。患者トラッカ-骨の変換と、骨からインプラントへの変換(B-IM)とが組み合わせられて、骨レジストレーション及びインプラント計画の組み合わせられた結果である、患者トラッカ54、56からインプラント姿勢への変換(患者トラッカ-IM)をもたらし、制約生成器384に転送される。IMからTPへの変換は、ガイド制約を生成するために使用されてもよく、境界は、境界生成器を用いて境界制約(使用される場合)を生成するために使用されてもよい。境界情報はまた、駆動指令ハンドラ192に送信されてもよい。
最終的に手持ち部分からローカライザへの変換を決定するために、3つの変換、すなわち、a)手持ち部分からTCPへの変換、動きコントローラ188から受け取った順運動学結果、b)ツール支持体からTCPへの変換、臨床アプリケーション190から受け取ったツールレジストレーション結果、及びc)ローカライザ44から受信された、ツールトラッカからローカライザへの変換が利用される。ローカライザから患者トラッカ(複数の場合もある)への変換(複数の場合もある)もまた、ローカライザ44から受信され得る。次いで、手持ち部分から患者トラッカへの変換が、a)手持ち部分からローカライザへの変換、及びb)ローカライザから患者トラッカ(複数の場合もある)への変換に基づいて計算されてもよい。ツールトラッカ座標系及びツール支持体座標系は、ツール支持体の姿勢が、既知の較正された及び/又はレジストレーションされた変換を用いてTCPに対して固定され得るので、互いと交換可能に使用され得ることは、理解されるべきである。
上述したように、制約生成器384は、ガイド制約及び/又は任意の境界制約(複数の場合もある)を計算するために、ローカライザから患者トラッカ(複数の場合もある)54、56及びデバイストラッカの位置データを、臨床アプリケーション190からレジストレーション及び計画変換を、動き制約ハンドラ390(以下に更に説明される)を含む挙動コントローラ186及び動きコントローラ188から追加的なデータ入力を受信する。制約生成器384は、ツール20についての指令姿勢を計算するために、解かれるべき制約のセットを作成するよう、受信されたデータを処理する。上述したように、ガイド制約は、ツール20を目標状態に動かす仮想シミュレーションにおいて利用される仮想力及びトルクをもたらすように定義される、仮想制約である。制約生成器384が、解かれるべきアクティブな制約のセットを決定すると、その情報は、挙動コントローラ186に転送される。
挙動コントローラ186は、ツール20についての次の指令位置及び/又は向き(例えば姿勢)を示すデータを計算する。いくつかの例においては、挙動コントローラ186は、制約のセットを解き、仮想シミュレーションを実行することに基づいて、次の指令姿勢を計算する。動きコントローラ188の動き制約ハンドラ390からの出力は、ツール20についての次の指令位置及び/又は向きを決定するために、挙動コントローラ186に入力として供給されてもよい。図17Bに見られるように、挙動コントローラ186は、指令姿勢を決定するために様々な仮想制約を処理する。制約ソルバ189は、関節限界制約及び関節センタリング制約、並びに作業空間制約及び運動学的動き制約のような、動きコントローラ188の動き制約ハンドラ390によって生成された制約を取り込む。制約ソルバ189はまた、ガイド制約及び境界ハンドラ385からの境界制約のような、制約生成器384からの制約を取り込む。制約ソルバ189は更に、挙動コントローラ186によって処理され、制約ソルバ189に再び追加される、慣性力及び減衰力を受ける。これらの制約が制約ソルバ189に加えられると、制約ソルバ189は制約力を生成し、これは次いで慣性力及び減衰力のような全ての仮想力、並びに任意に外力と合計される。合計された仮想力は次いで、仮想順動力学を用いて処理される。仮想順動力学から出力された姿勢及び速度は次いで、挙動コントローラ186内で慣性力及び減衰力を計算するために送信され、また、動きコントローラ188へとツール支持体(手持ち部分からTCP)の指令姿勢及び速度コマンドとして転送される。指令姿勢(手持ち部分からTCP)はまた、制約を生成する際に使用するために制約生成器384に送り返される。
動きコントローラ188は、ツール支持体18の動き、具体的にはTCP座標系を制御する。動きコントローラ188は、挙動コントローラ186から次の指令姿勢を定義するデータを受信する。このデータに基づいて、動きコントローラ188は、ツール支持体が挙動コントローラ186によって指令されるように、例えば指令姿勢で、手持ち部分に対する姿勢をとることができるように、アクチュエータの各々の次の位置を(例えば逆運動学及びヤコビアン計算機を介して)決定する。言い換えれば、動きコントローラ188は、器具コントローラ28がそれに応じてアクチュエータに指令できるように、直交座標において定義され得る手持ち部分に対するツール支持体の指令姿勢を、複数のアクチュエータ21、22、23の指令関節位置へと処理する。1つのバージョンにおいては、動きコントローラ188は、手持ち部分に対するツール支持体の位置を調整し、各アクチュエータ21、22、23が出力するトルクを継続的に調節して、可能な限り、指令姿勢が到達され得るようにアクチュエータ21、22、23が手持ち部分16に対してツール支持体18を動かすことを確実にする。
手持ち部分-TCP関係が、動きコントローラ188の動き制約ハンドラ390に入ると、手持ち部分-TCP関係は、作業空間制約及び運動学的動き制約を計算するために使用される。これらの制約は、指令姿勢の直交座標系において、手持ち部分とTCPの間の関係を使用して、計算される。作業空間制約及び運動学的動き制約が算出されると、動き制約ハンドラ390からのデータは、挙動コントローラ186に戻され、制約ソルバ384に転送される。
手持ち部分からTCPへのデータもまた、逆運動学算出を用いて変換される。逆運動学修正が実行され、指令関節位置のセットに帰着した後、関節限界制約及び関節センタリング制約を計算するために、このデータが更に処理される。これらの制約は、関節空間において計算される。関節限界制約は、各アクチュエータの以前の指令関節位置又は測定された関節位置、1次元関節限界制約を仮想シミュレーションのために利用される座標系にマッピング(例えば関節の動きと仮想質量座標系VMとの間で)する制約ヤコビアンJp、及び1つ以上の限界位置に基づいて、算出されてもよい。関節センタリング制約は、1次元関節センタリング制約を仮想シミュレーションのために利用される座標系にマッピング(例えば関節の動きと仮想質量座標系VMとの間)する制約ヤコビアンJp、以前の指令関節位置又は測定された関節位置、及び関節センタリング位置に基づいて、算出される。関節限界制約及び関節センタリング制約が算出されると、そのデータは、挙動コントローラ186内の制約ソルバ189に送り返される。
さらに、逆運動学データ変換は、アクチュエータの各々について、指令関節位置(Joint Pos Cmd)及び関節速度指令(Joint Vel Cmd)を生成し、処理されたデータを関節位置-速度コントローラ(各アクチュエータに1つ)及び駆動指令ハンドラ192に送信して、関節移動速度オーバライドを決定するために処理されるようにする。
動きコントローラ188は、各アクチュエータの指令位置を駆動指令ハンドラ192に送信し、該駆動指令ハンドラは、駆動指令ハンドラ192において、駆動モータMへのオーバライドが必要か否か(関節位置速度オーバライドとして識別されるボックスを参照)を決定するために、各アクチュエータの1つ以上の指令位置又は測定された位置とそれぞれの関節閾値とを比較してもよい。言い換えれば、制御システム60は、TCPを目標姿勢まで動かすための各アクチュエータに対する指令位置を決定すると、複数のアクチュエータツールの1つ以上の位置に基づいて駆動モータMの作動を制御してもよい。1つ以上のアクチュエータの位置は、少なくとも1つのアクチュエータの指令関節位置、少なくとも1つのアクチュエータの測定位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定位置、又はそれらの組合せに基づいてもよい。1つの例では、駆動モータMは、アクチュエータ21、22、23のうちの少なくとも1つの指令位置に基づいて制御される。少なくとも1つのアクチュエータ21、22、23の指令関節位置は、少なくとも1つのアクチュエータ21、22、23のアクチュエータモータオーバライド制限値と比較される。モータオーバライド制限値は、或る範囲の外側境界線を定義する1つの値、又は一連の値であってもよい。この例では、1つのアクチュエータのモニタリングを論証しているが、制御システムは、各アクチュエータ21、22、23の指令位置とアクチュエータモータオーバライド制限値とをモニタリングしてもよい。アクチュエータモータオーバライド制限値の上限及び下限は、各アクチュエータの動作範囲に対するアクチュエータの位置に対応する値であってもよい。上限は、駆動モータパラメータが調整される前の、第1の方向において許容される最大移動量に対応してもよく、下限は、駆動モータパラメータが調整される前の、第2の反対方向において許容される最大移動量に対応してもよい。より具体的には、制御システム60は、指令関節位置がアクチュエータ位置をモータオーバライド制限値の上限と下限の間に維持するか否かに基づいて、駆動モータMのモータパラメータを第1の値及び第2の値で制御する。制御システム60は、駆動モータMの1つ以上のモータパラメータを制御してもよく、1つ以上のモータパラメータは、速度、トルク、動作時間、電流又はそれらの組合せであってもよい。1つの例では、制御システム60によって制御されるモータパラメータは、モータ速度であり、第1の値はゼロであり(駆動モータMはオフであり)、第2の値はゼロよりも大きい(駆動モータMはオンである)。制御システム60は、アクチュエータ21、22、23の指令位置に基づいて、モータパラメータを第1の値と第2の値との間で切り替える。アクチュエータ21、22、23の指令位置により、アクチュエータがモータオーバライド制限値の上限及び下限内になるとき、制御システム60は、駆動モータパラメータの第2の値を指令して、駆動モータMを作動させる及び/又は通電を継続させることを可能にしてもよい。指令アクチュエータ位置がモータオーバライド制限値の下限と上限の間にある場合、関節速度コマンドのオーバライドは変更されない。
いくつかの例では、駆動モータオーバライドは、受信したアクチュエータ位置(P)データに基づいて評価されるルックアップテーブル又は関数として実装してもよい。関節位置速度オーバライドの例では、これにより、関節位置がそのモータオーバライド制限値に近づくと、駆動モータの速度が比例して低下する。いくつかの例では、アクチュエータ位置が下限及び上限モータオーバライド制限値内にあるときは、変更はなくてもよい。他の例では、アクチュエータ21、22、23のうちの1つ以上が80%移動量範囲~95%移動量範囲の位置にあるとき、駆動モータM速度は比例して低下し、95%を超える移動量で完全に無効にしてもよく、これにより、ツール20が動作限界(下限及び上限モータオーバライド閾値)に近づいているという連続的且つ段階的なフィードバックをユーザに提供してもよい。こうした実施態様では、複数の下限モータオーバライド閾値と複数の上限モータオーバライド閾値とがあってもよく、各閾値はモータパラメータ(モータ速度等)に対応する。いくつかの場合では、駆動モータM速度は完全にゼロまで低下せず、むしろ一定の低速度まで低下してもよく、それにより、外科医に警告することができるが、外科医の裁量で進めるか否かについての判断が可能となる。アクチュエータ21、22、23の指令位置により、アクチュエータがモータオーバライド制限値の上限及び下限の外になると、制御システム60は、駆動モータパラメータの第1の値を指令し、駆動モータMが作動する及び/又は通電が継続するのを阻止してもよい。各アクチュエータに対するモータオーバライド制限値は、上述した各アクチュエータの関節閾値と異なっていてもよい。例えば、モータオーバライド制限値は、関節閾値として定義された範囲よりも狭い範囲を定義してもよく、モータオーバライド制限値の範囲は、全体的に関節閾値の範囲内であってもよい。
関節位置速度コントローラ194は、動きコントローラ188からのデータを処理し、指令関節位置指令(Joint Pos Cmd)及び関節速度指令(Joint Vel Cmd)を処理して、アクチュエータの各々について関節トルク指令(Joint Torque Cmd)を決定するために使用される。関節トルク指令の算出は、PID制御のような閉ループ制御アルゴリズムを通して行われてもよい。関節トルク指令は、外科用器具に送信され、そこで、各アクチュエータに対応する電流コントローラの各々が、関節トルク指令を電流へと解釈する。電流コントローラは次いで、指令電流を駆動するために必要とされる電圧を各アクチュエータモータに選択的に印加し、各アクチュエータが指令位置に向けてツール支持体を動かすようにする。印加されたトルク(又は電流)は、アクチュエータの各々を対応する方向に動かし加速させてもよい。アクチュエータが動く/加速する移動量及び速度は、機械的負荷、摩擦、その他の外部要因、又はこれらの組合せに依存し得る。アクチュエータ位置のフィードバックの各々を時間とともにモニタリングすることにより、各アクチュエータの指令位置が厳密に追跡されるように、指令トルク(電流)が位置-速度コントローラによって調節される。アクチュエータモータがツール支持体を調節するとき、各モータエンコーダは、各ロータについての回転及び/又は位置データを収集し、関節位置データを電流コントローラに送り返す。電流コントローラは次いで、各アクチュエータの関節位置データを関節速度測定値(Joint Vel Meas)及び関節位置測定値(Joint Pos Meas)へと処理し、関節速度測定データ及び関節位置測定データを関節位置-速度コントローラを通して動きコントローラ188に送信する。動きコントローラ188は次いで、各アクチュエータの関節位置及び速度測定データを、順運動学を用いて変換して、TCPと手持ち部16との間の姿勢及び速度の関係を生成する。手持ち部分-TCPの関係は次いで、制約生成器384に送信され、該生成器が様々な仮想制約の生成のためにこのデータを利用できるようにする。
これに加えて、図31を参照すると、関節速度測定及び関節位置測定は、PID制御ループにおいて使用されてもよい。例えば、PIDループは、関節の指令位置と関節の測定された位置との間の誤差を計算してもよく、これらは関節の指令速度を制御するためにPIDループとともに使用されてもよい。関節の指令速度は、誤差を決定するために関節の測定された速度と比較されてもよい。その誤差は、指令電流を制御するために、PIDループにおいて使用されてもよい。指令電流は、誤差を決定するために、測定された電流と比較されてもよい。その誤差は、指令関節電圧を出力するために、PIDループにおいて使用されてもよい。
駆動指令ハンドラ192は、駆動モータM(図17C)を制御するための特定のパラメータを算出し決定する制御システムの一部である。駆動指令ハンドラ192は、駆動モータMを作動させるために、1つ以上の入力デバイスから入力指令信号を受信する。図17Eに見られるように、入力デバイスの一例は、器具の手持ち部分におけるトリガである。また、同様に図17Eに示されている別の例は、フットスイッチである。別の例においては、駆動指令ハンドラは、複数のユーザ入力デバイス(ボタン、トリガ及びフットスイッチのような)間で多重化するために使用され得る、トリガソースセレクトを有する。いくつかの例においては、トリガソースセレクトは、両方の入力デバイスが非アクティブであるときにのみトリガソースの変化を評価し、次いでどの入力デバイスが最初にアクティブになるかを評価する。選択された入力デバイスは次いで、アクティブなトリガの割合を決定してもよい。他の例においては、潜在的に一方の入力デバイスが他のデバイスより高い優先順位を有し得る。入力デバイスのうちの1つ以上が作動させられると、指令信号が駆動指令ハンドラ192に送信され、該駆動指令ハンドラ192は次いで、入力デバイスが作動させられた割合(例えばユーザによってトリガがどの程度押し込まれたか)を分析する。駆動指令ハンドラ192は、臨床アプリケーションの骨準備部分から出力される最大許容速度でコマンド割合を分析し、受信されたデータに従って指令信号を変更する。
駆動指令ハンドラ192はまた、制約生成器384又は制御システムの他の構成要素内で実行される衝突検出からの結果を利用してもよい。図示された構成においては、制約生成器384は、ツールの位置及び/又は向きを境界と比較する。具体的には、以上に説明されたように、衝突検出は、ツールが境界を閾値量よりも大きく侵犯しているか否かを決定する。さらに、衝突検出ステップは、この位置情報を処理して、境界速度オーバライド信号を決定する。上述したように、遠位境界又は側方境界のような、任意の数の適切な境界が、この衝突検出ステップのために使用され得る。境界はまた、ツールと骨上の基準位置との間の距離として実装されてもよい。この比較に基づいて、器具コントローラ28は、駆動モータMを減速させる又は停止させるために使用され得るモータパラメータを変更してもよい。
この例においては、レイキャスティング又はボクセルルックアップのような技術を使用した、別個のグローバルな内側/外側チェックが、ツール20が完全に境界を越えているか否かを決定する。境界に対する駆動モータ制御は、ツールが境界と接触している場合について、上記で計算された侵入深さを使用して、刃のいずれかの部分が閾値よりも大きく侵入しているか否かを判断してもよいことは、理解されるべきである。ツール20が離散的な幾何学的プリミティブ(例えば球)を用いてモデル化されている例においては、内側/外側チェックは、これらの球のいずれかが境界を越えて位置しているか否かを評価することとなる。制御システム60が、ツール20が境界を越えているか否かを評価すると、制約が生成され、ツールが境界を侵犯するのを防ぐ態様でツール支持姿勢が更新されてもよい。しかしながら、関節限界が到達された後に、ユーザが境界を越えてツールを動かし続けた場合、手持ち部分16を速く動かしすぎた場合、骨が速く動きすぎた場合、又はツール20の制御されていない自由度において境界を越えて進んだ場合には、境界が侵犯さることとなり得る。この例においては、グローバルな内側/外側チェックが失敗し、駆動モータMがオフにされるか、又は以上に説明されたように変更され得る。
境界速度オーバライド及び関節位置速度オーバライドの機能に加えて、指令信号は次いで、誤差ハンドリングオーバライド条件が満たされているか否か(指令が正常処理についての予想範囲内か否か)を判断するために送られる。誤差ハンドリング条件も満たされている場合、駆動速度指令が駆動指令ハンドラ192から駆動速度コントローラに送信される。
境界速度オーバライド(境界に基づいてドライバモータの速度を制御する)、関節位置速度オーバライド(アクチュエータ位置に基づいてドライバモータの速度を制御する)、及び誤差処理オーバライドは、全てが同時にアクティブとなり、それぞれ部分的なオーバライドを提供してもよいことは、理解されるべきである。例えば、境界速度オーバライドは、速度を10%だけ低下させ、すなわち入力を0.9倍し、次いで次のブロックが、速度を更に20%だけ低下させ、すなわちその(既に低下させられた)入力を0.8倍してもよく、この場合、結果の出力速度は、元の要求された速度指令の0.9×0.8=0.72倍である。言い換えれば、各ブロックにより適用されるオーバライドの倍率(入力から出力へのゲイン)は、他のオーバライドブロックが決定したものに依存しない。この(カスケード式乗算)手法に加えて、最も制限的なオーバライドのみを使用すること等のような、複数のオーバライドソースを組み合わせるための、他の方法もあり得る。
駆動速度コントローラは、駆動速度指令信号を処理し、ハンドピース内の電流コントローラに送信される駆動トルク指令を決定する。電流コントローラは、この駆動トルク指令を指令電流に変換し、指令電流を駆動するために必要とされる電圧を駆動モータMに選択的に印加して、ツールを動作(例えば切断)させる。駆動モータエンコーダは、駆動モータの作動をモニタリングし、駆動モータの動作に関するエンコーダ信号を、器具内の電流コントローラを通して送り返す。電流コントローラは、エンコーダデータを駆動速度測定値に変換し、変換されたフィードバックデータを駆動速度コントローラに送信する。
図17A~図17Cに示されるように、制約生成器384への2つの入力は、現在の状態(ローカライザデータ、運動学データ)及び目標状態(ローカライザトラッカに対する切断面)を含む。制約生成器384は、ツール20についての目標状態を取得し、目標状態及び手持ち部分の現在の状態に基づいて、1つ以上のガイド制約を生成する。以前の指令姿勢CPは、ツール20の現在の姿勢に相関しているので、現在の状態は、以前の指令姿勢CPに基づいて定義されてもよい。目標状態は、解剖学的座標系、又は解剖学的構造トラッカ座標系等において定義され、現在の状態と共通の座標系に変換されてもよい。制約生成器384への他の入力は、ガイド制約についての構成パラメータ及び調整パラメータを含む。制約生成器384は、現在の状態と目標状態との関係、並びに構成パラメータ及び調整パラメータに基づいて、1つ以上のガイド制約を定義する。ガイド制約は、制約生成器384から制約ソルバ189に出力される。
限定するものではないが、ガイド制約、関節限界制約、関節センタリング制約、運動学的動き制約、境界制約、及び外部感知力のような他の入力を含む、様々な仮想制約が、制約ソルバ189に供給されてもよい。これらの制約は、制御システム60によってオン/オフされてもよい。例えば、いくつかの場合においては、関節センタリング制約も境界制約も生成されないことがあり得る。同様に、いくつかの例においては、及び或る特定の動作モードにおいては、ガイド制約が生成されないことがあり得る。挙動制御部186において利用される仮想制約の全ては、ツール20の動きに影響を及ぼし得る。
制約ソルバ189は、制約ソルバ189に供給された仮想制約に基づいて、仮想シミュレータ388においてツール20に仮想的に適用されるべき制約力Fcを算出する。ガイド制約がアクティブである場合、制約力Fcは、1つ以上の仮想制約に基づいて、現在の状態から目標状態に向けてツール20を動かすよう適合された力及び/又はトルクの成分を含む。ガイド制約のみが制約ソルバ189に入力される場合、制約力Fcは、ガイド制約を満たすように計算された仮想力であると考えられる。しかしながら、境界制約、関節センタリング制約、及び/又は関節限界制約のような他の制約が利用される場合、制約ソルバ189は最終的に、それぞれの調整パラメータに基づいて、全ての制約を満たす制約力Fcの解を可能な限り提供することをタスクとし、他の制約もまた、制約力Fcの大きさ/方向に影響を与え得る。
以下に説明されるように、Fpについて解くために、図26に示される方程式は、各行が単一の1次元制約を表す行列方程式に変換される。制約データは、外力Fcgext、(適用される場合)減衰力Fdamping、慣性力Finertial、仮想質量行列M、仮想質量速度Vcg1、及び時間ステップΔt(例えば125マイクロ秒)のような、制約ソルバ189に既知である他の情報とともに、制約方程式内に配置される。その結果のFpは、制約空間において表現される力ベクトルであり、Fpの各成分は、制約方程式のその行に対応する制約方向に沿って又はその周りに作用する、スカラの制約力又はトルクである。
仮想質量行列Mは、3×3の質量行列と慣性行列とを結合したものである。減衰力Fdamping及び慣性力Finertialは、前の時間ステップで仮想シミュレータ388によって出力された仮想質量速度Vcg1(例えば仮想質量座標系VMの速度)に基づいて、仮想シミュレータ388によって算出される。仮想質量速度Vcg1は、線形速度成分及び角速度成分を含む、6つの自由度の速度ベクトルである。減衰力Fdampingは、仮想質量速度Vcg1及び減衰係数行列(線形係数と回転係数とは等しくない場合がある)の関数として計算される、6自由度の力/トルクベクトルである。減衰は、安定性を向上させるために仮想質量に適用される。慣性力Finertialもまた、仮想質量速度Vcg1及び仮想質量行列Mの関数として計算される、6自由度の力/トルクベクトルである。減衰力Fdamping及び慣性力Finertialは、引用することにより本明細書の一部をなすものとするBowlingらに対する米国特許第9,566,122号に記載された態様で決定されてもよい。
制約ソルバ189は、連立方程式を満たす(例えば様々な制約を満たす)解を提供するために、この制約連立方程式を解くための任意の適切なアルゴリズム命令(例えば反復的な制約ソルバ、投影ガウス-サイデル法ソルバ等)を用いて構成されてもよい。いくつかの場合においては、全ての制約条件が、同時に満たされないこともあり得る。例えば、動きが様々な制約によって過剰に制約されている場合、制約ソルバ189は、本質的に、所与の様々な制約の相対的な硬直性/減衰に対して「最適」解を見出すこととなる。制約ソルバ189は、連立方程式を解き、最終的に制約力Fcを出力する。
投影ガウス-サイデル法ソルバが利用される場合、制約ソルバ189は、制約に基づいてA及びb行列を構築し、投影ガウス-サイデル法を使用して連立方程式を解いてその結果の力ベクトルFpを求め、投影ガウス-サイデル法の出力をとり、制約の完全なセットに対する集約制約ヤコビアンJpを使用して、該出力を制約空間から仮想質量座標系VMに変形する。例えば、式Fc=Jp・T・Fpを使用し、ここでFcは制約力であり、Fpの成分の集約作用は、仮想質量座標系VMに適用される力/トルクベクトルFcに変換される。
複数の制約の連立方程式を解くために投影ガウス-サイデル法を使用する方法は、例えば、http://www.mft-spirit.nl/files/MTamis_ConstraintBasedPhysicsSolver.pdfに見出されるMarijn Tamis及びGiuseppe Maggioreによる2015年6月15日付けの「Constraint based physics solver」(v1.02)、又は、http://www.mft-spirit.nl/files/MTamis_PGS_SI_Comparison.pdfに見出されるMarijn Tamisによる、2015年7月1日付けの「Comparison between Projected Gauss-Seidel and Sequential Impulse Solvers for Real-Time Physics Simulations」(v1.01)に示されており、これらはいずれもその全体が引用することにより本明細書の一部をなすものとする。
投影ガウス-サイデル法は、線形相補性問題(LCP)に対処する。いくつかの制約タイプ(例えば、境界制約、関節限界制約及び作業空間限界制約のような一面的な制約)は、例えば正の制約力のように、1方向にしか押す(力を加える)ことができないので、LCPに関連する不均等が発生する。かかる制約のために算出された力が、制約ソルバ189の所与の反復について負(又は、より広義には、その許容範囲外)であり、無効である場合には、所与の制約は、適切な結果(すなわち収束)が見出されるまで、切り捨てられ(又はその上方又は下方の許容値において交互に制限/キャップされ)、残りの制約が解かれる必要がある。このようにして、制約ソルバ189は、所与の時間ステップについての制約のアクティブなセットを決定し、次いでその値について解く。他の制約タイプは、正と負の両方の方向に力を加えることができ、例えば、二面的な制約である。かかる制約は、ガイド制約、関節センタリング制約、及び運動学的動き制約を含む。かかる二面的な制約は、有効にされると、通常はアクティブであり、制約ソルバ189の反復の間に切り捨てられる/制限されることはない。
制約ソルバ189によって算出された制約力Fcは、VM座標系のx軸、y軸、z軸に沿った力の3つの成分と、VM座標系のx軸、y軸、z軸の周りのトルクの3つの成分を含む。仮想シミュレータ388は、その仮想シミュレーションにおいて、外力Fcgext(使用される場合)、減衰力Fdamping、及び慣性力Finertial(これらは全て力/トルクの6つの成分を含み得る)とともに、制約力Fcを利用する。いくつかの場合においては、力/トルクのこれらの成分は、最初に共通の座標系(例えば仮想質量座標系VM)に変換され、次いで合計されて合計力FTを定義する。その結果の6つの自由度の力(すなわち力及びトルク)は、仮想剛体に適用され、その結果の動きは、仮想シミュレータ388によって算出される。仮想シミュレータ388はかくして、数ある中でも(例えば外力)、様々な制約が仮想剛体の動きにどのように影響するかを効果的にシミュレートするよう機能する。仮想シミュレータ388は、仮想剛体に適用される所与の合計力FTに基づいて、その結果の仮想剛体の6つの自由度の姿勢及び速度を算出するために、順動力学を実行する。一例においては、仮想シミュレータ388は、前述のコントローラ28、36のうちのいずれか1つ以上の非一時的メモリに記憶され、制御システム60によって実装される実行可能なソフトウェアである、物理エンジンを含む。
仮想シミュレーションについては、仮想シミュレータ388は、仮想質量座標系VMの原点を仮想剛体の質量中心に位置させ、座標軸を仮想剛体の主軸に位置合わせした状態で、ツール20を仮想質量座標系VMにおいて仮想剛体としてモデル化する。仮想剛体は、動的オブジェクトであり、仮想シミュレーションの目的のためのツール20の剛体表現である。仮想剛体は、仮想シミュレーションに従って、直交空間における6自由度(6-DOF)に従って自由に動くことができる。仮想シミュレーションは、視覚的又はグラフィカルな表現なしに、計算的に処理されてもよい。かくして、仮想シミュレーションが仮想剛体の動力学を表示することは、必要とされない。言い換えれば、仮想剛体は、処理ユニット上で実行されるグラフィックスアプリケーション内でモデル化される必要はない。仮想剛体は、仮想シミュレーションのためにのみ存在してもよい。
仮想剛体及びその特性(質量、慣性行列、質量中心、主軸等)は、適用される力及びトルク(例えば、任意に仮想力及びトルクを用いてユーザによって適用される力及びトルクを組み込んだ合計力FTからのもの)に応答してツール20がどのように動くかを定義する。これは、現在の条件に応答して、ツール20がどのように動くか(例えば、並進及び回転において加速する)を支配する。仮想剛体の特性を調節することにより、制御システム60は、ツール20がどのように反応するかを調節することができる。可能な限り現実的な動きのために、仮想剛体の特性が、ツール20の実際の特性に適度に近くなるようにモデル化されることが望ましいこととなり得るが、このことは必須ではない。制御安定性の理由(アクチュエータアセンブリの有限の加速度、制御待ち時間等を考慮して)のために、仮想質量及び慣性が、器具のものよりも幾分高くなるようにモデル化されてもよい。
仮想剛体は、ツール20上又はツール20内にあり得る構成要素に対応してもよい。これに加えて又は代替として、仮想剛体は、部分的に、物理的なツール20を越えて延在してもよい。仮想剛体は、ツール支持体18を有するツール20を考慮に入れてもよいし、又はツール支持体18を有さないツール20を考慮に入れてもよい。さらに、仮想剛体は、TCPに基づくものであってもよい。一例においては、仮想剛体の質量中心は、仮想剛体の別の点に仮想力が加えられ、仮想剛体が他の制約を受けない場合に、仮想剛体がその周りに回転するであろう点として理解される。仮想剛体の質量中心は、ツール20の実際の質量中心に近くてもよいが、同じである必要はない。仮想剛体の質量中心は、経験的に決定されることができる。ツール20がツール支持体18に取り付けられると、質量中心の位置は、個々の施術者の好みに合うように再設定されてもよい。仮想シミュレーションにおいて外力が使用されないいくつかの例においては、かかる場合については仮想シミュレーションが実世界から測定される物理力と相互作用しないので、仮想質量の正確な数値特性及び単位(例えば、質量中心位置、質量、慣性行列)は、幾分任意のものとなる。かかる場合においては、計算の簡単さのため、単に仮想質量をTCPに配置し、質量を1に設定し、慣性行列を単位行列に設定することが望ましいこととなり得る。他の選択肢も可能であるが、物理的に妥当な単位での制約の調整を可能とするため、所望であれば、仮想剛体についてのより現実的な特性が設定されてもよい。いずれの場合においても、制約調整パラメータは、仮想質量に対して選択された特性を考慮に入れるべきである。
仮想シミュレータ388は、仮想シミュレーションにおいて仮想剛体に力及び/又はトルクを仮想的に加えることによって、すなわち、仮想質量座標系VMにおいて仮想剛体の質量中心における合計力FTから力及びトルクの成分を仮想的に加えることによって、ツール20の剛体の動力学を効果的にシミュレートする。かくして、仮想剛体に仮想的に加えられる力/トルクは、外力Fcgext(例えば1つ以上のセンサからの入力に基づくものであってもよい)、減衰力Fdamping、慣性力Finertial、及び/又は(制約力Fcにおいて具現化されていることによる)様々な制約に関連する制約力Fcからの力/トルクに関連する、力/トルクを含んでもよい。
剛体のヤコビアンは、同じ仮想剛体上である座標系(基準フレーム)から別の座標系に速度及び力を変換するために使用されることができ、Fextの力及びトルクを仮想質量座標系VMに同様に変換するために(例えば制約方程式において使用されるFcgextを導出るために)ここで利用されてもよい。仮想シミュレータ388は次いで、減衰力Fdamping及び慣性力Finertialを内部的に算出し、また、次の時間ステップにおけるその連立方程式における制約ソルバ189による使用のために、減衰力Fdamping及び慣性力Finertialを出力する。使用される場合、Fextもまた、制約ソルバに供給されてもよい。これらの力が合計され、次いで制約力とともに入力されて、合計の算出を得てもよい。
合計力FTの適用時に動くときの仮想剛体の動きをシミュレートするために、図26及び図27に示されるような仮想順動力学アルゴリズムが、仮想シミュレーションにおいて利用されてもよい。事実上、仮想順動力学アルゴリズムは、6自由度で式F=ma(又はa=F/m)を解き、加速度を積分して速度を導出し、これが次いで再び積分されて新しい姿勢を決定するものであり、詳細は図27に示されている。制御システム60は、仮想力及び/又はトルク(例えば合計力FT)を仮想シミュレータ388に入力し、これらの仮想力及び/又はトルクは、仮想剛体が初期速度を有する初期姿勢にあるときに、仮想シミュレーション388における質量中心(例えばCG)において仮想剛体に加えられる。仮想剛体は、制御システム60が入力された仮想力及び/又はトルクを満たすことに応答して、直交空間内で異なる状態(すなわち位置及び/又は向き)を有し最終速度を有する最終姿勢へと動かされる。器具コントローラ28に送信されるべき次の指令姿勢CPは、仮想シミュレータ388によって算出された最終姿勢に基づくものである。かくして、仮想シミュレータ388は、図27に示されるように、仮想順動力学を使用して、仮想剛体に合計力FTを加える効果をシミュレートすることにより、次の指令姿勢CPを決定するように動作する。
仮想シミュレーションは6自由度で行われるが、アクチュエータアセンブリは、3自由度のような、6未満の自由度で制御可能であってもよいことに留意されたい。かかる状況においては、運動学的動き制約は、シミュレーションが有意義に実施され得るように(すなわちVM座標系を物理ツールに位置合わせし続けるように)、制御されない自由度を制約するために使用されてもよい。
速度限界が、シミュレーションにおいて仮想剛体に課せられてもよい。いくつかの場合においては、速度限界は、一般的にシミュレーションに影響を与えないように高く設定されてもよいし、又は任意の所望の値に設定されてもよい。いくつかの場合においては、速度限界は、仮想剛体に加えられるべき減衰力を非線形的に計算することによって実装されてもよく、このとき、減衰の量は、閾値速度を超えるとかなり増大する。仮想剛体は、仮想シミュレーションの各反復(例えば各時間ステップ/間隔dt)の開始時において、初期姿勢(初期状態)にあり、初期速度を有する。初期姿勢及び初期速度は、前の時間ステップで仮想シミュレータ388によって出力された最終姿勢及び最終速度として定義されてもよい。
その後、仮想シミュレータ388は、その仮想シミュレーションに基づいて、次の指令姿勢CPを算出し出力する。この実施態様においては、制御システム60は、指令姿勢CPに基づいてツール20を動かすようにツール支持体18に指令するように構成され、このことは理想的には、ツール20を目標状態にガイドする態様で、かつ他の仮想制約に従って、ツール20の動きを引き起こす。
図28は、動作制御部186によって実行される様々なステップをまとめたものである。これらは、以上に説明されたような制約ソルバ189及び仮想シミュレータ388によって実行されるステップを含む。ステップ350において、外力Fextは、力/トルクセンサS又は代替の感知方法から取得された読み取り値に基づいて(任意に)算出される。ステップ352において、様々な仮想制約に関連する制約データが、制約ソルバ189に供給される。
ステップ354~358において、剛体算出が仮想シミュレータ388によって実行されて、仮想剛体の逆質量行列M-1、慣性力Finertial、及び減衰力Fdampingを決定する。ステップ360~364において、制約ソルバ189が、ステップ354~358において実行された剛体算出からの出力及びステップ352において提供された制約データを利用して、以上に説明された制約力算出を実行し、最終的に制約力Fcを導出する。ステップ366において、制約力Fcが、仮想質量座標系VMに変換された外力Fext(Fcgext)、減衰力Fdamping、及び慣性力Finertialと合計され、合計力FTを導出する。ステップ368において、合計力FTが、仮想シミュレータ388により実施される仮想シミュレーション中の仮想剛体に加えられて、ステップ370において、仮想剛体の新しい姿勢及び速度を決定し、最終的にステップ372において、新しい姿勢及び速度をTCPに変換する。新しい指令姿勢と速度(VTCP)は、ステップ374において、仮想シミュレータ388によって出力される。
膝での適用
図29A~図29Dは、ガイドの適用を示す。この例においては、制御システム60は、ガイド制約及び仮想制約をアクティブにして、ツール20のTCPを目標姿勢で適所に配置している。ローカライザLCLZは、ツールトラッカ52及び患者トラッカ54を検出する。ローカライザLCLZは、目標解剖学的構造に対する器具14の位置をモニタリングする。臨床アプリケーションは、インプラント計画を使用して、患者トラッカ54に対する目標切断面TPを決定し、これを制御システムに提供する。特定の切断が選択されると、器具14及び患者の解剖学的構造の位置に関連する位置情報を、ローカライザLCLZから受信する。制御システム60は更に、デバイストラッカ及び患者トラッカの位置と、各アクチュエータ21、22、23の関節位置のエンコーダデータとを使用して、患者トラッカ54に対する手持ち部分16のベース座標系BCSの姿勢を決定する。制御システム60は、ツール支持体18及び鋸刃20、380を目標姿勢に向けて動かすこととなる、仮想制約のセットを決定する。この例においては、制御システムは、アクチュエータ21、22、23をそれらの動作限界内に維持するために、複数の仮想力のバランスをとりながら、鋸刃20、380を目標姿勢TPに配置しようと試みることとなる。制御システム60は、位置データに基づいていくつかのガイド制約を生成する。ガイド制約は、ツール支持体18を目標状態に向けてガイドするために3自由度で利用され、すなわち、ガイドされた座標系GFの原点を目標座標系TFの原点にガイドするための、目標座標系TFのz軸に沿った位置制約と、目標座標系TFのz軸と位置合わせするようにガイドされた座標系GFのz軸をガイドするための、目標座標系TFのx軸、y軸の周りの2つの向き制約とが利用されている。さらに、アクチュエータ21、22、23が移動限界の外の位置に指令されないことを確実にするために、典型的にはガイド制約よりもかなり大きな硬直性を有する関節限界制約が計算される。
図29A~図29Dは、ガイドの適用を示す。この例においては、制御システム60は、ガイド制約及び仮想制約をアクティブにして、ツール20のTCPを目標姿勢で適所に配置している。ローカライザLCLZは、ツールトラッカ52及び患者トラッカ54を検出する。ローカライザLCLZは、目標解剖学的構造に対する器具14の位置をモニタリングする。臨床アプリケーションは、インプラント計画を使用して、患者トラッカ54に対する目標切断面TPを決定し、これを制御システムに提供する。特定の切断が選択されると、器具14及び患者の解剖学的構造の位置に関連する位置情報を、ローカライザLCLZから受信する。制御システム60は更に、デバイストラッカ及び患者トラッカの位置と、各アクチュエータ21、22、23の関節位置のエンコーダデータとを使用して、患者トラッカ54に対する手持ち部分16のベース座標系BCSの姿勢を決定する。制御システム60は、ツール支持体18及び鋸刃20、380を目標姿勢に向けて動かすこととなる、仮想制約のセットを決定する。この例においては、制御システムは、アクチュエータ21、22、23をそれらの動作限界内に維持するために、複数の仮想力のバランスをとりながら、鋸刃20、380を目標姿勢TPに配置しようと試みることとなる。制御システム60は、位置データに基づいていくつかのガイド制約を生成する。ガイド制約は、ツール支持体18を目標状態に向けてガイドするために3自由度で利用され、すなわち、ガイドされた座標系GFの原点を目標座標系TFの原点にガイドするための、目標座標系TFのz軸に沿った位置制約と、目標座標系TFのz軸と位置合わせするようにガイドされた座標系GFのz軸をガイドするための、目標座標系TFのx軸、y軸の周りの2つの向き制約とが利用されている。さらに、アクチュエータ21、22、23が移動限界の外の位置に指令されないことを確実にするために、典型的にはガイド制約よりもかなり大きな硬直性を有する関節限界制約が計算される。
いくつかの場合においては、1つのみ、2つ、3つ、4つ又はそれより多いガイド制約が、使用され得る。また、任意の自由度に対して1つよりも多いガイド制約が定義される場合のように、6つ以上のガイド制約が使用され得る。図29Aから図29Dへの進行は、説明の目的のために、ガイドされた座標系GFが3自由度で目標座標系TFと位置合わせされる様子を示している。図29Aから図29Dまでの進行において、ツール20のTCPが目標状態に向かって(この場合には目標座標系TFの原点に向かって)動いていることが示されている。各時間ステップにおいて、制約力Fcが算出され、ガイド制約、関節限界制約、作業空間制約、関節センタリング制約、運動学的動き制約、又はこれらの組合せを考慮に入れて、鋸刃380を目標状態に向けて理想的に動かす力及びトルクを加えるように、ツール支持体18を効果的にガイドする。一例においては、TCPがこの位置にあるとき、ガイド制約及び関節限界制約のみがアクティブである。仮想制約は、それらの調整パラメータが各時間ステップにおいて調節されることにより、動的であってもよい。例えば、現在の状態が目標状態に近づくほど(例えば、ガイドされた座標系GFが目標座標系TFに近づくほど)、仮想制約のいくつかは、より強いばね及び/又は減衰特性を有してもよく、他の仮想制約は、より弱いばね及び/又は減衰特性を有してもよい。一例においては、ガイド制約は、現在の状態が目標状態に近づくほど、より強いばね特性及び/又は減衰特性を有する。かくして、制約力Fc(より強いばね及び/又は減衰特性に相関する力及び/又はトルクの成分を有し得る)は、ガイドされた座標系GFが目標座標系TFに近づくにつれて、大きさが増大してもよい。
一例においては、制御システムは、患者の解剖学的構造のような既知の座標系に対する少なくとも1自由度における、鋸刃380の目標姿勢を決定する。制御システム60はまた、同じ座標系内での、すなわち患者の解剖学的構造に対する、手持ち部分16の姿勢を決定する。制御システム60は次いで、鋸刃380及び手持ち部分16の位置情報を処理して、鋸刃380の目標姿勢及び手持ち部分16の姿勢に基づいて、1つ以上のガイド制約を算出する。1つ以上のガイド制約が生成されると、制約力が制御システム60によって算出され、仮想シミュレーション内で仮想鋸刃を動かすよう適合される。仮想シミュレーションは、制約力に基づいて仮想鋸刃の動力学をシミュレートし、仮想シミュレーションに基づいて指令姿勢を算出する。指令姿勢は、仮想シミュレーションから出力され、アクチュエータ21、22、23の各々の指令関節位置を決定するために使用される。制御システム60は、指令関節位置信号を各アクチュエータ21、22、23に転送し、アクチュエータ21、22、23を通電して、ツール支持体18及び鋸刃380を目標姿勢へと動かす。
図18~図20は、ツール20(例えば鋸刃380を有する)を目標状態に配置する際に使用される、ガイドの別の例を示す。この例においては、制御システム60は、ガイド及び関連するガイド制約をアクティブにして、膝関節全置換術のための所望の切断面73cに対して位置する少なくとも1自由度で目標姿勢にツール20のTCPを配置する際にユーザを補助し、このことは、ツール20を所望の切断面73cに位置合わせする目標向き及び仰角にTCPを配置することを含んでいる。この場合においては、目標座標系TFの原点は、刃厚さを考慮するために、所望の切断面73cから刃厚さの少なくとも半分だけオフセットされる。少なくとも1つのガイド制約が算出され、ツール支持体18を目標姿勢に向けて移動させるために少なくとも1自由度で利用される。一例においては、鋸刃を目標状態へと動かすために、3つのガイド制約が3自由度で利用され、すなわち、目標座標系TFのz軸に沿った1つの位置制約と、目標座標系TFのx、y軸の周りの2つの向き制約とが利用される。
各時間ステップにおいて、制約力Fcが算出され、アクティブな仮想制約(例えばガイド制約、関節限界制約、関節センタリング制約、運動学的動き制約、及び/又は作業空間制約)を考慮に入れて、鋸刃380を目標状態に向けて理想的に動かす力及びトルクを加えるようにツール支持体18を効果的にガイドする。仮想制約は、それらの調整パラメータが各時間ステップにおいて調節されることにより、動的であってもよい。図20を参照すると、例えば、ガイド制約は、現在の状態が目標状態に近づくほど(例えば、ガイドされた座標系GFが、x軸方向において目標座標系TFに近づくほど(x距離を参照))、より大きな硬直性を有してもよい。かくして、図20を参照すると、ガイド制約についての調整パラメータに関連する硬直性は、x距離が減少するにつれて、大きさが増大してもよい。
所望の切断面に対するツール20の位置合わせは、例えば、全膝関節インプラントのための余裕をつくるために、大腿骨及び/又は脛骨に沿って正確な切断を行う際にユーザを補助する。再び図13を参照すると、ガイド制約は、大腿骨に必要とされ得る5つの目標切断面TPである73a~73eの各々にツール20を位置合わせするために使用され得る。ガイド制約は、同様に、刃が目標状態に維持されるように、切断処理の間、アクティブなままであってもよい。
さらに、仮想境界184が、駆動モータMの動作を制御するために任意に利用されてもよい。駆動モータMが作動させられ、切断の間に鋸刃380を振動させると、駆動モータMへの作動信号は、仮想境界184に対する鋸刃380の状態に基づいて、停止及び/又は変更されてもよい。仮想境界184は、ユーザが患者の解剖学的構造を不適切に切断することを防止することができ、特に、影響を受けることを意図されていない患者の解剖学的構造の一部(例えば靭帯)を鋸刃380が切断することを防止し得る。図18を見ると、鋸刃380が目標切断面に沿って進められると、駆動モータの1つ以上のモータパラメータが制御される。一例においては、モータパラメータは、仮想境界184に対する鋸刃380の位置に基づく、駆動モータの速度(及びかくして鋸刃380の切断速度)である。しかしながら、トルク、動作時間、電流、加速度、又はこれらの組合せのような、他のモータパラメータも企図される。図13に示されるもののような仮想境界は、インプラントを患者の解剖学的構造にフィットさせるために、ユーザがどの切断を行おうとしているかに依存して、特定の切断の終点に対応するものである。他の例においては、仮想境界184は、以上に説明されたように、メッシュ、点、平面、又はこれらの組合せであってもよい。仮想境界は、解剖学的構造、計画されたインプラント、画像データ等に基づくものであってもよい。鋸刃380が患者の解剖学的構造を通って進行するにつれて、患者トラッカに対する器具14の位置データ、及びそれに続いて目標平面が、リアルタイムで更新される。鋸刃380が仮想境界184に到達すると、モータパラメータ(モータの速度)は、0に設定されてもよいし、又は低減されてもよい。モータパラメータが0の値を有するとき、ユーザが仮想境界184を越えて切断しないように、駆動モータMが停止される。
別の例においては、駆動モータMは、アクチュエータ21、22、23がツール支持体18を調節することができない、少なくとも1つの制御されない自由度において、境界184に対するツールの姿勢に基づいて制御される。制御される自由度は、アクチュエータアセンブリ400によって制御される動きの方向であり、アクチュエータ21、22、23の配置に基づくものである。いくつかの構成においては、アクチュエータアセンブリ400の配置は、6つの制御される自由度、5つの制御される自由度、4つの制御される自由度、3つの制御される自由度、又は少なくとも1つの制御される自由度を提供してもよい。例えば、アクチュエータアセンブリ400は、ピッチ(図3A~図3C)、ロール(図4A~図4C)、及びz軸の並進(手持ち部分16に対する仰角(図5A~図5C))を制御するように配置される。器具14は、これらの動きの方向において、ツール支持体18及びツール20を手持ち部分に対して調節することが可能である。自由度が制御されない場合、アクチュエータ21、22、23は、その特定の方向で調節することができない。例えば、いくつかの構成においては、アクチュエータ21、22、23は、ピッチ、ロール及びz軸の並進(手持ち部分16に対する仰角)を制御するように配置されているので、ツール支持体18のヨーは調節されることができない。別の例としては、アクチュエータ21、22、23が、ピッチ、ロール及びz軸の並進(手持ち部分16に対する仰角)を制御するように配置されている場合、アクチュエータアセンブリ400は、長手軸に沿った並進の動きを制御しないため、長手軸に沿った直線並進(x並進)は、制御できない自由度である。このように、x軸の並進のようなアクチュエータアセンブリによって制御できない自由度において、境界を制御するために仮想境界が確立されてもよい。これは、以上に説明されたツールの深さを制御するための境界として構成されてもよい。上述したように、深さを制御するための境界は、目標平面に対して概ね垂直であってもよい。そのため、この境界は、複数のアクチュエータを制御するためには使用されないかもしれないが、境界は、駆動モータを制御するために使用され得る。いくつかの例においては、制御されない自由度及び制御される自由度の両方が、駆動モータMを制御するための内側/外側チェックとして使用されてもよい。制御システム60は、誤差又は故障のために鋸刃が平面上に留まらない場合のような二次的な誤差の緩和として、制御される自由度を使用してもよい。この例においては、制御される自由度及び制御されない自由度の両方が、境界とともに、駆動モータMの通電を制御する。かくして、アクチュエータアセンブリは、ツールがこの境界を越えてユーザによって位置決めされることを防止するようには機能しないが、制御システム60は、TCPがツールの遠位端が境界を越えていることを示したときに、ユーザが駆動モータMを作動させることを防止するであろう。仮想境界はまた、制御される自由度において駆動モータを制御するために使用されてもよいことは、理解されるべきである。
制御システムは、手持ち部分に対してツール支持体を動かすための適切な動きパラメータを計算してもよい。動きパラメータは、指令姿勢に基づいて計算されてもよい。この決定された動きパラメータに基づいて、制御システムは、複数のアクチュエータの各々に送信するための適切な信号を計算してもよい。一例においては、制御システムは、そのアクチュエータについて決定された動きパラメータ及び指令位置に基づいて、関節速度指令を出力してもよい。いくつかの例においては、ツール支持体は、可変速度で手持ち部分に対して動くことは、理解されるべきである。各アクチュエータの動きは、複数のアクチュエータの各々によってツール支持体に加えられる力に基づいてもよい。
図30A及び図30Bを参照すると、切込みが確立されると、制御システム60は、ユーザが患者の解剖学的構造(例えば切断される骨)に関連する目標切断面を切断するときに、1つ以上の仮想制約を用いて、手持ち部分16に対するツール20の1つ以上の動きパラメータの値を自動的に調節してもよい。一例においては、切り口に近づいている間、ガイド制約が有効になり、ツールは目標平面に自動的に位置合わせされる。制御システム60は、ツールが骨に接触し、規定された深さ境界、基準位置/基準座標系に対する距離パラメータを超えて進入すると、ガイド制約のアクティブ状態を維持する。ツールが指定された深さを通過した瞬間に、制御システム60は、アクチュエータの現在の位置を感知し、アクチュエータの現在の位置を新しい関節センタリング位置として設定し、関節センタリング制約を有効にして、ガイド制約を無効にする。このことは、システムが、「ハンドルに対する鋸刃」の位置合わせが、最初に骨に入り進行したときのように凍結された状態で、フリーハンドモードに入るようにする。ユーザは切断を続け得るが、ガイド制約が非アクティブであるため、刃が規定された深さを超えて骨内に留まっている間、制御システム60は位置合わせを自動的に補正しない。器具が固定姿勢で凍結されていても、最初の切断によって形成された骨におけるスロットが、その切断面内に留まるように刃の動きを機械的に制約しているので、刃は依然として切断面上にほぼ留まっている。ユーザが骨の出口に向かけて刃を動かし始めると、深さが以前に設定された値よりも小さくなったときに(例えば、基準位置/基準座標系に対する刃の姿勢が閾値になると)、システムは、ガイド制約がアクティブとなるモードに戻る。この時点において、関節センタリング制約が無効にされ、ガイド制約が再び有効とされて、平面に対する刃の位置合わせを再開する。ガイド制約を無効にし、関節センタリング制約を有効にすることにより、ツールは、骨内に刃を結合することを防止するか又はその見込みを小さくする。硬い骨で或る特定の切断深さに達すると、刃は、初期の切断進入の間に形成された骨のスロットによって、上下に効果的に制約される。刃の位置合わせの精度に少しでも誤差があると(較正の不正確さ、整合性による刃の削れ又は潜り等による)、刃の上部及び下部が骨を除去しないので、ロボットシステムは、刃を切断面に戻すことを妨げられ、骨の既に加工された表面が、刃が切断面に戻ることを妨げ得る。その結果、制御システムは、骨に深く入り込んだときに刃の位置合わせを復元することを制限され、結合が生じた場合に、ユーザが切断を完了するために増大した力を加える必要があるようになる。かかるアプローチは、ガイド制約が骨の接近(基準位置/基準座標系の閾値内での)及び最初の切断進入の時に有効にされることを確実にし、骨の中で実行される初期の切断進入が可能な限り正確であることを確実にし、刃の更なる(更に深い)動きを機械的に制約するのに十分な一定の深さが到達されるまで、この位置合わせを継続するようにし得る。
この例においては、ガイド制約は、0に近づく仮想力を有していてもよく、このことは、鋸刃が切込み内に確立されているので(図30B)、ガイド制約が遮断され得る及び/又はその調整パラメータが調整され得ることを意味する。各アクチュエータ21、22、23のリードスクリュー上の中心点に向けてロータ148を方向付ける関節センタリング制約もまた、鋸刃380が患者の解剖学的構造に切り込む間(図30B)、規定された切断深さが到達されると、遮断されてもよく、及び/又は、アクチュエータ21、22、23の現在の位置にセンタリング位置が再設定されるようにしてもよい。制御システム60は、骨に関連する基準位置に対するツール20の姿勢(例えばTCPからの)から決定される距離パラメータ(例えば方向、大きさ)に基づいて、アクチュエータ21、22、23の調節率を自動的に変化させてもよい。ツール20の姿勢は、ガイダンスアレイ200が、所望の平面を維持するよう又は所望の平面へと修正するよう手持ち部分16を動かすようにユーザに指示する間、維持されてもよい。関節限界制約及び/又は作業空間制約が、切込みが確立された後であってもアクティブなままであってもよいことが企図される。
図30Aを参照しながら、複数のアクチュエータを制御する1つの例示的な方法が説明される。鋸刃の位置(TCP)が骨に関連する基準位置(RL)から第1の距離パラメータ(DP1)だけ離隔されている場合、器具は、ツール支持体が手持ち部分に対して動かされるように制御され、例えば、ゼロより大きい大きさを有する動きパラメータが使用される。このことは、切込みがまだ十分に確立されていないためである。この例においては、ガイド制約はゼロより大きい値を有し、高い硬直性値を有し、所望の切断面上に留まるようにツール支持体18を能動的に調節し指令する。
図30Bを参照すると、鋸刃の位置(TCP)が、骨に関連する基準位置(RL)から第2の距離パラメータ(DP2)だけ離隔されている場合、器具は、例えばゼロの大きさが利用されるか又はそうでなければ手持ち部分に対するツール支持体の動きが止められるような、動きパラメータがより低い大きさを有するように、制御される。このことは、切込みが十分に確立されたためである。この例においては、ガイド制約力値は低減されるか又は非アクティブにされ、関節センタリング制約力値も低減され及び/又は無効にされる。代替としては、ツール支持体18と手持ち部分16との間のこの固定された相対姿勢を保持するために、関節センタリング制約が再設定されてもよい。
ツール20が切込みを確立すると、器具コントローラ28は、動きパラメータの値をより低い大きさ又はゼロに設定し、及び/又は仮想制約の状態を制御して、アクチュエータ21、22、23が手持ち部分16に対してツール支持体18を調節することを停止又は低減させてもよい。ツール20が骨内に切断経路を確立すると、ツール20は、少量だけコースから外れて撓んで動き(例えば削る)、制御システムが誤差を調整しようとする際に、手持ち部分16に押し戻され得る。鋸刃は典型的には、例えば骨に埋め込まれると、ピッチ及び/又はロールを調節するのに必要な方向に硬い骨を除去するようには設計されていないので、ユーザはこの力を押し戻しとして知覚し得る。手持ち部分の「押し戻し」又は「抵抗」の感覚は、ツール20が切削スロット290内にある間に、器具コントローラ28がアクチュエータ21、22、23を制御することによって生成される。かくして、所望の平面に向かって動くようにアクチュエータを制御することによって引き起こされる唯一の動きは、手持ち部分16の動きである。このことは、器具コントローラ28が、手持ち部分16に力が加えられるようにし、その力が次いでユーザの手に伝達され得ることを意味する。これらの力は、切断処理の間の疲労及び/又は不快感に帰着し得る。動きパラメータを変更することによって、ツール20は、切断の更に先ではより少ない抵抗を提供してもよい。ユーザは、動きパラメータ値を0に設定することによって、又はその他の方法でツール支持体に対する手持ち部分の動きを停止することによって、ツール20が切断スロット290内にあるときに手持ち部分16に対して格闘することなく切断が終了さられることを可能とし、切断スロット290が自然な切断ガイドとして機能することを、見出し得る(図30A及び図30Bを参照)。より詳細には、器具コントローラ28は、ツール20が目標の解剖学的構造に深く入るほど、アクチュエータ21、22、23が、最初に切断が開始されたときよりも比較的小さい力、速度及び/又は加速度で目標平面に向けて調節し、骨に切断された経路をガイドとして利用しながら、最終的にツール20が切断の途中であるときにアクチュエータの動きを停止するように、力、速度、加速度又はその他の仮想制約の各々の状態に関する動きパラメータの値を、能動的に変化させてもよい。いくつかの例においては、外力/トルクセンサは、ユーザが加えた力が仮想シミュレーションにおいて考慮されることを可能とし得る。かかる場合においては、鋸刃が骨に十分に入り、切込みが確立されると、ガイド制約の硬直性が低減されてもよい。ガイドの硬直性を下げ、ユーザにより加えられた力を感知することで、制約ソルバは、ユーザが小さな大きさの加えられる力でガイド力のバランスをとることができる平衡を見出し得る。このことは、疲労を生じないような、又はアクチュエータ21、22、23の関節限界が尽きる点まで手持ち部分16が過度に押し戻さないような大きさで、ツール20が平面上に完全に位置合わせされていないことをユーザに示す触覚フィードバックを、ユーザに与え得る。
ツール支持体の動きパラメータを制御する1つの例示的な方法は、上述したように、仮想制約の状態を変更することによるものである。例えば、1つ以上の仮想制約の状態を変更することは、仮想制約のうちの1つ以上をアクティブにすること、仮想制約のうちの1つ以上を非アクティブにすること、又は仮想制約のうちの1つ以上の調整パラメータを変更する(すなわち仮想制約の調整パラメータを増大又は減少させる)ことを含み得る。ガイド制約又は関節センタリング制約が非アクティブであるとき、関節限界制約はアクティブのままであってもよい。言い換えれば、仮想制約の状態を変更することによって、ツール支持体18は、切断が最初に開始されたときには、より大きな力、速度及び/又は加速度で(ガイド制約のための高い硬直性)、次いでツール20が基準位置に対して骨の中に閾値距離だけ進行した後の力、速度及び/又は加速度で(ガイド制約のための低い硬直性)、動いてもよい。アクチュエータ21、22、23がツール支持体18を調節することを停止することは、動きパラメータをゼロに設定するという観点で説明されたが、アクチュエータ21、22、23は、アルゴリズムの運動制御の態様を停止することによって、又はその他の方法で複数のアクチュエータ21、22、23の位置を凍結することによってのような、他の適切な制御ロジックを用いて、停止されてもよいことは、理解されるべきである。以上に説明されたように、仮想制約の状態は、骨のような患者における基準位置に対する、鋸刃のようなツールの状態のような、いずれの適切な変数のモニタリングに基づいて制御されてもよい。代替としては、仮想制約の状態は、目標平面のような仮想オブジェクトに対するツールの状態に基づいて制御されてもよい。図11は、ツール20が鋸刃380を含む場合のような、ガイドを実行するために実施される処理を示す。このバージョンにおいては、挙動コントローラ186は、制約生成器384と同義であり得るガイドハンドラ、制約ソルバ189、及び仮想シミュレータ388を含む。挙動制御部186は、境界生成器182によって生成された1つ以上の仮想境界184に基づいて、仮想境界制約を任意に生成するための、境界ハンドラ389を更に含む。ガイドハンドラ/制約生成器384、制約ソルバ189、仮想シミュレータ388、及び境界ハンドラ389はそれぞれ、前述のコントローラのうちのいずれか1つ以上の非一時的メモリに記憶され、制御システム60によって実装される、実行可能ソフトウェアを含む。
これに加えて、別の例示的な構成においては、力/トルクセンサからの、又はアクチュエータモータ電流を介して導出される、感知された外力の大きさに基づいて、制御システムは、関節センタリングモードをトリガしてもよい。このことは、制御システムが、「抵抗」を検出し、検出されたときに「固定されたハンドル」モードに移行することを可能とする。かかる方法はまた、典型的には、切断が継続することを可能とするよう、ハンドルが固定されたときに(望ましくは切り口によってガイドされながら)鋸刃が平面上に十分に留まることを確実にするために、駆動モータ境界制御と組み合わせて利用されるであろう。境界が侵犯された場合(鋸刃が平面から離れすぎたために)、適切なインジケータを通じてユーザにフィードバックが与えられてもよいし、又は駆動モータパラメータが調節されてもよい(例えば駆動モータがオフにされてもよい)。
ガイド制約は、他のタイプのツールがツールプラットフォームに結合されているときに、ねじ、アンカー又はその他の締め具に対して、ドリルビット又はバー及び/又はタップを位置合わせするために使用されてもよい。ガイド制約は、調製された臼蓋窩に臼蓋窩カップインプラントを着座させるために臼蓋窩カップインプラントに衝撃を与えるための所望の軌道と、インパクタを位置合わせするために使用されてもよい。ガイド制約は、他のタイプのインプラントを着座させるために使用されるツールを位置合わせするために、使用されてもよい。ガイド制約は、Kワイヤ、カニューレ、トロカール、開創器等を配置するためのツールを位置合わせする/ガイドするために使用されてもよい。
器具14の動作の様々なモードを切り換える/アクティブにするために、様々なユーザインタフェースUI上のもののような入力デバイスが利用されてもよい。例えば、ツール20のUIは、制約力Fcがツールの動きに関連する力及びトルクの成分を含むように、1つ以上の仮想制約をアクティブにするよう作動させられ得る入力デバイス(ボタン、タッチセンサ、ジェスチャ入力、フットペダル、トリガ等)を有してもよい。制御システム60は、或る特定の状況において仮想制約の状態を自動的に変更するように構成されてもよい。制御システム60はまた、選択されたモードで継続するためにディスプレイ38のうちの1つ以上に選択可能なプロンプトを提供することによってのように、自動的に別のモードで継続する前に、まずユーザに対してプロンプト表示してもよい。
さらに、器具コントローラ28、ユーザ、又はその両方が、入力デバイスを通して手動で、ナビゲーションデータ、アクチュエータデータ、駆動モータデータに基づいて自動的に、又はこれらの組合せで、器具14をモード間及び挙動間で切り換えてもよいことが企図される。いくつかの場合においては、ユーザは、器具が特定の姿勢(手持ち部分に対するツール支持部)で保持されるべきであると決定し、入力デバイスを用いて器具コントローラをオーバライドしてもよい。
いくつかの構成においては、切断されるべき解剖学的特徴の表面(例えば骨の表面)は、基準点、仮想境界、又はその両方として機能し、器具コントローラ28に、(i)器具14、(ii)1つ以上のアクチュエータ21、22、23、(iii)ガイダンスアレイ200、(iv)1つ以上の視覚インジケータ201、202、203、又は(v)これらの組合せの、動作モード又は挙動を変更させてもよい。
いくつかの例においては、器具コントローラ28は、1つ以上の出力を決定するために、1つ以上の入力を利用してもよい。1つ以上の入力は、基準位置、ツール20のツール中心点TCP、若しくはツール支持体18上のツールトラッカ52によるTCP座標系の姿勢のような、患者トラッカ54、56によって決定された骨の姿勢、手持ち部分16の姿勢、ツール20の指令姿勢、距離パラメータ、アクチュエータ情報(指令位置又は測定された位置及び/又は姿勢、現在の位置及び/又は姿勢、過去の位置及び/又は姿勢等)、フットスイッチ、トリガ若しくはタッチスクリーンからの入力信号、又はこれらの組合せを含んでもよい。器具コントローラ28の1つ以上の出力は、駆動モータMのモータパラメータを変更すること、力、加速度又は速度を変更することを含むツール支持体18の動きパラメータ(例えば制約の状態又は調整パラメータを変更すること)を調節すること、境界制御をオフにすること、手持ち部分16に対してツール20及びツール支持体18を保持又は凍結すること、ホーミングモードをアクティブにすること、又はこれらの組合せを含んでもよい。入力の任意の適切な組合せは、任意の適切な出力とともに利用され得る。
目標状態に対する及び/又は手術部位に対する、又は指令位置に対する、ツール20の現在の状態及び/又は1つ以上のアクチュエータの現在の状態は、ツール20、ツール支持体18、手持ち部分16、アクチュエータ21、22、23、目標状態、仮想境界184、及び/又は手術部位、例えば大腿骨F、脛骨T、骨盤、椎体又は他の解剖学的構造のグラフィカルな表現を介して、ナビゲーションシステム32によって出力されてディスプレイ38上に表現されてもよい。これらのグラフィカルな表現は、ユーザが目標状態、仮想境界184、解剖学的構造等に対する自分の動きを視覚化できるように、リアルタイムで更新されてもよい。例えば、ツール20及び解剖学的構造のグラフィカル表現は、ツール支持体18によるツール20の実際の動き及び解剖学的構造の実際の動きとともに、ディスプレイ38上でリアルタイムに動いてもよい。
オブジェクトの位置と向きとの組合せが、オブジェクトの姿勢と呼ばれることは、理解されるべきである。本開示を通じて、姿勢という用語は、本明細書に記載される概念の好適な代替を達成するために、1以上の自由度における位置及び/又は向きによって置き換えられ得ること、及びその逆が企図されている。言い換えれば、姿勢という用語の任意の使用は、位置と置き換えられることができ、位置という用語の任意の使用は、姿勢と置き換えられ得る。
本教示による方法は、例えば、コンピュータ実装方法である。例えば、本教示による方法における全てのステップ又は単に一部のステップ(すなわちステップの総数より少ない)は、コンピュータ(例えば少なくとも1台のコンピュータ)によって実行されることができる。コンピュータ実装される方法の構成は、データ処理方法を実行するためのコンピュータの使用である。さらに、本教示においては、本明細書に開示される方法は、少なくとも1つのコンピュータ(例えば少なくとも1つのコンピュータはナビゲーションシステムの一部である)の少なくとも1つのプロセッサ上で、該少なくとも1つのプロセッサによって実行される以下の例示的なステップを実行することを含む。
コンピュータは例えば、データを例えば電子的及び/又は光学的に(技術的に)処理するために、少なくとも1つのプロセッサと、例えば少なくとも1つのメモリとを含む。プロセッサは例えば、半導体、例えば少なくとも部分的にnドープ及び/又はpドープされた半導体、例えばII、III、IV、V、VI半導体材料のうちの少なくとも1つ、例えば(ドープされた)シリコン及び/又はガリウムヒ素のような、物質又は組成物から作られる。説明された算出ステップ又は決定ステップは、例えばコンピュータによって実行される。決定するステップ又は算出するステップは、例えば、技術的方法の枠組内で、例えばプログラムの枠組内で、データを決定するステップである。コンピュータは、例えば、あらゆる種類のデータ処理デバイス、例えば電子データ処理デバイスである。コンピュータは、例えばデスクトップPC、ノートブック、ネットブック等のような、一般に考えられるデバイスであり得るが、例えば携帯電話又は組込みプロセッサのような、任意のプログラム可能な装置であってもよい。コンピュータは、例えば、「サブコンピュータ」のシステム(ネットワーク)を含んでもよく、各サブコンピュータは、それ自体でコンピュータを表す。「コンピュータ」という用語は、クラウドコンピュータ、例えばクラウドサーバを含む。コンピュータという用語は、サーバリソースを含む。「クラウドコンピュータ」という用語は、例えば少なくとも1つのクラウドコンピュータと、サーバファームのような複数の動作可能に相互接続されたクラウドコンピュータのシステムとを含む、クラウドコンピュータシステムを含む。かかるクラウドコンピュータは、好ましくは、ワールドワイドウェブ(WWW)のような広域ネットワークに接続され、全てがワールドワイドウェブに接続されているコンピュータのいわゆるクラウド中に位置させられる。かかる基盤構造は、エンドユーザが特定のサービスを提供するコンピュータの物理的な場所及び/又は構成を知る必要がない、計算、ソフトウェア、データアクセス及びストレージサービスを記述する、「クラウドコンピューティング」に使用される。例えば、「クラウド」という用語は、この点に関して、インターネット(ワールドワイドウェブ)のメタファーとして使用される。例えば、クラウドは、コンピューティング・インフラストラクチャ・アズ・ア・サービス(IaaS)を提供する。クラウドコンピュータは、本教示の方法を実行するために使用されるオペレーティングシステム及び/又はデータ処理アプリケーションのための仮想ホストとして機能することができる。クラウドコンピュータは、例えば、Amazon Web Service(Amazon Web Service(商標)によって提供されるエラスティック・コンピュート・クラウド(EC2)である。コンピュータは、例えば、データを受信又は出力するため、及び/又はアナログ-デジタル変換を実行するために、インタフェースを含む。例えば、本教示は、実施されるために専門の医療専門知識を必要とする身体への実質的な物理的干渉を表し、必要とされる専門的ケア及び専門知識を用いて実施される場合であっても実質的な健康リスクを伴う、侵襲的ステップを伴わないか、又は特に含まない若しくは包含しないものであり得る。データは、例えば、物理的特性を表すデータ及び/又は技術的信号から生成されるデータである。技術的信号は、例えば、(技術的な)検出デバイス(例えばマーカデバイスを検出するためのデバイスのような)及び/又は(技術的な)分析デバイス(例えば(医療)撮像方法を実行するためのデバイスのような)によって生成され、技術的信号は、例えば電気信号又は光信号である。技術的信号は、例えば、コンピュータによって受信又は出力されるデータを表す。コンピュータは、好ましくは、コンピュータによって出力された情報が例えばユーザに対して表示されることを可能にする表示デバイスに、動作可能に結合される。表示デバイスの一例は、仮想現実デバイス又は拡張現実デバイス(仮想現実眼鏡又は拡張現実眼鏡とも呼ばれる)である。表示デバイスの他の例は、例えば、表示デバイス上に画像情報コンテンツを表示するために使用される信号を生成するために、コンピュータから表示制御データを受信するためにコンピュータに動作可能に結合された液晶ディスプレイを含む、標準的なコンピュータモニタであろう。
本教示はまた、プログラム上でコンピュータによって実行されたときに、コンピュータに、本明細書に記載の単数又は複数の方法、例えば単数又は複数の方法のステップを実行させる命令を含む、コンピュータプログラム、及び/又はプログラムが記憶されたコンピュータ可読記憶媒体(例えば非一時的コンピュータ可読記憶媒体)、及び/又は該プログラム記憶媒体を含むコンピュータ、及び/又は、例えば前述のプログラムのようなプログラムを表す情報を担持する電磁搬送波のようなデジタル信号波といった(例えば電気的なもののような物理的な、例えば技術的に生成された)信号波であって、例えば本明細書に記載された方法ステップのいずれか又は全てを実行するよう適合されているコード手段を含む信号波に関する。信号波は、一例においては、前述のコンピュータプログラムを担持するデータ担持信号である。本教示はまた、少なくとも1つのプロセッサ及び/又は前述のコンピュータ可読記憶媒体と、例えばメモリとを含み、プログラムがプロセッサによって実行される、コンピュータに関する。
本教示の枠組内で、コンピュータプログラム要素は、ハードウェア及び/又はソフトウェア(これはファームウェア、常駐ソフトウェア、マイクロコード等を含む)によって具現化され得る。本教示の枠組内で、コンピュータプログラム要素は、命令実行システム上での又はそれに関連した使用のための、コンピュータ使用可能な、例えばコンピュータ可読データ記憶媒体であって、該データ記憶媒体内に実施されたコンピュータ可読プログラム命令、「コード」又は「コンピュータプログラム」を含む、コンピュータ可読データ記憶媒体によって具現化されることができる、コンピュータプログラム製品の形をとることができる。かかるシステムはコンピュータであってもよく、コンピュータは、本教示に従ってコンピュータプログラム要素及び/又はプログラムを実行するための手段を含むデータ処理デバイスであってもよく、データ処理デバイスは例えば、コンピュータプログラム要素を実行するデジタルプロセッサ(中央処理デバイス又はCPU)と、任意にコンピュータプログラム要素を実行するために使用される及び/又はそれによって生じるデータを記憶するための揮発性メモリ(例えばランダムアクセスメモリ又はRAM)とを含む。本教示の枠組内で、コンピュータ使用可能な、例えばコンピュータ可読のデータ記憶媒体は、命令実行システム、装置又はデバイス上での又はそれに関連した使用のためのプログラムを含む、記憶する、通信する、伝搬する又は搬送することができる、いずれのデータ記憶媒体であってもよい。コンピュータ使用可能な、例えばコンピュータ可読のデータ記憶媒体は、例えば、限定するものではないが、電子、磁気、光学、電磁、赤外線若しくは半導体システム、装置若しくはデバイス、又は例えばインターネットのような伝搬媒体であってもよい。
以下の定義を含む本出願では、「コントローラ」という用語は、「回路」という用語で置き換えることができる。「コントローラ」という用語は、特定用途向け集積回路(ASIC)、デジタル、アナログ、又は混合アナログ/デジタルディスクリート回路、デジタル、アナログ、又は混合アナログ/デジタル集積回路、組合せ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードを実行するプロセッサ回路(共有、専用、又はグループ)、プロセッサ回路によって実行されるコードを記憶するメモリ回路(共有、専用、又はグループ)、説明された機能を提供する他の好適なハードウェア構成要素、又はシステムオンチップ等における上記の一部又は全ての組合せを指すか、その一部であるか、又はそれを含み得る。
コントローラ(複数の場合もある)は、1つ以上のインタフェース回路を含み得る。いくつかの例では、インタフェース回路(複数の場合もある)は、ローカルエリアネットワーク(LAN)又は無線パーソナルエリアネットワーク(WPAN)に接続する有線又は無線インタフェースを実装してもよい。LANの例は、電気電子技術者協会(IEEE)規格802.11-2016(WIFI無線ネットワーキング規格としても既知である)及びIEEE規格802.3-2015(ETHERNET有線ネットワーキング規格としても既知である)である。WPANの例は、Bluetooth Special Interest GroupのBLUETOOTH(登録商標)無線ネットワーキング規格及びIEEE規格802.15.4である。
コントローラは、インタフェース回路(複数の場合もある)を使用して他のコントローラと通信することができる。コントローラは、他のコントローラと論理的に直接通信するものとして本開示で描写され得るが、様々な構成において、コントローラは、実際には、通信システムを介して通信してもよい。通信システムは、ハブ、スイッチ、ルータ、及びゲートウェイ等の物理及び/又は仮想ネットワーキング機器を含む。いくつかの構成において、通信システムは、インターネット等のワイドエリアネットワーク(WAN)に接続するか、又はそれを横断する。例えば、通信システムは、マルチプロトコルラベルスイッチング(MPLS)及び仮想プライベートネットワーク(VPN)を含む技術を使用して、インターネット又はポイントツーポイント専用回線を介して互いに接続された複数のLANを含み得る。
様々な構成において、コントローラの機能は、通信システムを介して接続された複数のコントローラに分散されてもよい。例えば、複数のコントローラが、負荷分散システムによって分散された同じ機能を実装してもよい。更なる例では、コントローラの機能は、サーバ(リモート又はクラウドとしても既知である)コントローラとクライアント(又はユーザ)コントローラとの間で分割することができる。
コントローラの一部又は全てのハードウェア機能は、ハードウェア記述のための言語、例えばIEEE規格1364-2005(概して「Verilog」と称される)及びIEEE規格10182-2008(概して「VHDL」と称される)等を使用して定義することができる。ハードウェア記述言語は、ハードウェア回路を製造及び/又はプログラムするために使用され得る。いくつかの構成において、コントローラの一部又は全ての特徴は、以下で説明するコードとハードウェア記述との両方を包含するIEEE1666-2005(概して「SystemC」と称される)等の言語によって定義され得る。
様々なコントローラープログラムは、メモリ回路に記憶されていてもよい。メモリ回路という用語は、コンピュータ可読媒体という用語のサブセットである。コンピュータ可読媒体という用語は、本明細書で使用される場合、(搬送波上等の)媒体を通って伝搬する一時的な電気信号又は電磁信号を包含しない。したがって、コンピュータ可読媒体という用語は、有形かつ非一時的とみなされ得る。非一時的コンピュータ可読媒体の非限定的な例は、不揮発性メモリ回路(フラッシュメモリ回路、消去可能プログラマブル読み出し専用メモリ回路、又はマスク読み出し専用メモリ回路等)、揮発性メモリ回路(スタティックランダムアクセスメモリ回路又はダイナミックランダムアクセスメモリ回路等)、磁気記憶媒体(アナログ若しくはデジタル磁気テープ又はハードディスクドライブ等)、及び光記憶媒体(CD、DVD、又はBlu-ray(登録商標)ディスク等)である。
本出願で説明される装置及び方法は、コンピュータプログラムで具現化される1つ以上の特定の機能を実行するように汎用コンピュータを構成することによって作成された専用コンピュータによって、部分的に又は完全に実装され得る。上述した機能ブロック及びフローチャート要素は、ソフトウェア仕様として機能し、熟練技術者又はプログラマのルーチン作業によってコンピュータプログラムに変換することができる。
コンピュータプログラムは、少なくとも1つの非一時的コンピュータ可読媒体に記憶されたプロセッサ実行可能命令を含む。コンピュータプログラムはまた、記憶されたデータを含むか、又はそれに依存し得る。コンピュータプログラムは、専用コンピュータのハードウェアとインタラクトする基本入力/出力システム(BIOS)、専用コンピュータの特定のデバイスとインタラクトするデバイスドライバ、1つ以上のオペレーティングシステム、ユーザアプリケーション、バックグラウンドサービス、バックグラウンドアプリケーション等を包含することができる。
コンピュータプログラムとして、(i)HTML(ハイパーテキストマークアップ言語)、XML(拡張可能マークアップ言語)、又はJSON(JavaScript Object Notation)等の解析される記述テキスト、(ii)アセンブリコード、(iii)コンパイラによってソースコードから生成されるオブジェクトコード、(iv)インタプリタによる実行のためのソースコード、(v)ジャストインタイムコンパイラによるコンパイル及び実行のためのソースコード等が挙げられ得る。単なる例として、ソースコードは、C、C++、C#、Objective C、Swift、Haskell、Go、SQL、R、Lisp、Java(商標)、Fortran、Perl、Pascal、Curl、OCaml、JavaScript(商標)、HTML5(ハイパーテキストマークアップ言語5th revision)、Ada、ASP(Active Server Pages)、PHP(Hypertext Preprocessor)、Scala、Eiffel、Smalltalk、Erlang、Ruby、Flash(商標)、Visual Basic(商標)、Lua、MATLAB(登録商標)、SENSORLINK、及びPython(商標)を含む言語からの構文を使用して記述することができる。
項目
I.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいてガイド制約を決定するステップと、ガイド制約に基づいて目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出するステップと、制約力からの入力に基づいて仮想ツールの動力学を仮想シミュレートし、仮想シミュレーションに基づいて指令姿勢を出力するステップと、指令姿勢に基づいて複数のアクチュエータの各々の指令関節位置を決定するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。項目Iは、複数のアクチュエータの各々の指令関節位置に基づいて複数のアクチュエータの各々を制御すること、又は、既知の座標系において患者トラッカを用いて患者の解剖学的構造の一部を追跡することであって、該既知の座標系は、患者トラッカに対して定義されることを更に含み、又は、複数のアクチュエータの各々の位置を決定することと、ツールの姿勢を決定することとを更に含み、手持ち部分の姿勢を決定するステップは、ツールの姿勢及び複数のアクチュエータの各々の位置に基づくか、又は、複数のアクチュエータの各々の位置を決定するステップは、複数のアクチュエータの各々に結合されたエンコーダを用いて複数のアクチュエータの各々の位置を測定することとして更に定義されること、又は、既知の座標系においてツール支持体に結合されたトラッカの姿勢を決定することと、ツール支持体に結合されたトラッカの姿勢に基づいてツールの姿勢を決定することとを含み、又は、既知の座標系において手持ち部分に結合されたトラッカの姿勢を決定することと、手持ち部分に結合されたトラッカの姿勢に基づいて手持ち部分の姿勢を決定することとを更に含み、又は、ツールの目標姿勢を決定するステップは、目標姿勢を少なくとも3自由度で定義することとして更に定義され、又は、目標姿勢は、目標座標系を含み、ツールは、ガイドされた座標系を含み、制約力は、ガイドされた座標系を目標座標系に向けて動かすよう適応され、又は、既知の座標系において、ツールの姿勢を決定することを更に含み、ガイド制約は、調整パラメータの値を有することを含み、本方法は、ツールの目標姿勢とツールの姿勢との間の関係に基づいて調整パラメータの値を変更することを含み、又は、動力学をシミュレートするステップは、ガイド制約及び外力値に基づいて制約力を算出することとして更に定義され、又は、既知の座標系において、インプラントの姿勢を計画することであって、ツールの目標姿勢は、インプラントの計画された姿勢に基づくことを更に含み、又は、関節センタリング制約を決定することと、関節センタリング制約に基づいて、複数のアクチュエータを制御することとを更に含み、又は、ガイド制約に基づいて及び関節センタリング制約に基づいて、仮想ツールを目標姿勢に向けて動かすよう適合された制約力を算出することと、制約力に基づいて仮想シミュレーションにおける仮想ツールの動力学をシミュレートし、指令姿勢を出力することとを更に含み、ツールの目標姿勢に向けて動かすよう複数のアクチュエータを制御することは、指令姿勢に基づいてツールを位置合わせするように複数のアクチュエータに指令することとして更に定義され、又は、ガイド制約は、調整パラメータのための第1の値を有し、関節センタリング制約は、調整パラメータのための第2の値を有し、第1の値は、第2の値とは異なり、それにより、その結果の制約力が、ガイド制約の結果として、関節センタリング制約と比較して、ツールをより強く位置合わせするよう適合され、又は、指令姿勢は、手持ち部分とツールとの間の関係であり、又は、指令姿勢に基づいて、複数のアクチュエータの各々についての指令関節速度を決定することと、複数のアクチュエータの各々の指令関節速度に基づいて該複数のアクチュエータの各々を制御することとを更に含む、コンピュータ実装医療プログラム又はプログラム製品。
I.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいてガイド制約を決定するステップと、ガイド制約に基づいて目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出するステップと、制約力からの入力に基づいて仮想ツールの動力学を仮想シミュレートし、仮想シミュレーションに基づいて指令姿勢を出力するステップと、指令姿勢に基づいて複数のアクチュエータの各々の指令関節位置を決定するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。項目Iは、複数のアクチュエータの各々の指令関節位置に基づいて複数のアクチュエータの各々を制御すること、又は、既知の座標系において患者トラッカを用いて患者の解剖学的構造の一部を追跡することであって、該既知の座標系は、患者トラッカに対して定義されることを更に含み、又は、複数のアクチュエータの各々の位置を決定することと、ツールの姿勢を決定することとを更に含み、手持ち部分の姿勢を決定するステップは、ツールの姿勢及び複数のアクチュエータの各々の位置に基づくか、又は、複数のアクチュエータの各々の位置を決定するステップは、複数のアクチュエータの各々に結合されたエンコーダを用いて複数のアクチュエータの各々の位置を測定することとして更に定義されること、又は、既知の座標系においてツール支持体に結合されたトラッカの姿勢を決定することと、ツール支持体に結合されたトラッカの姿勢に基づいてツールの姿勢を決定することとを含み、又は、既知の座標系において手持ち部分に結合されたトラッカの姿勢を決定することと、手持ち部分に結合されたトラッカの姿勢に基づいて手持ち部分の姿勢を決定することとを更に含み、又は、ツールの目標姿勢を決定するステップは、目標姿勢を少なくとも3自由度で定義することとして更に定義され、又は、目標姿勢は、目標座標系を含み、ツールは、ガイドされた座標系を含み、制約力は、ガイドされた座標系を目標座標系に向けて動かすよう適応され、又は、既知の座標系において、ツールの姿勢を決定することを更に含み、ガイド制約は、調整パラメータの値を有することを含み、本方法は、ツールの目標姿勢とツールの姿勢との間の関係に基づいて調整パラメータの値を変更することを含み、又は、動力学をシミュレートするステップは、ガイド制約及び外力値に基づいて制約力を算出することとして更に定義され、又は、既知の座標系において、インプラントの姿勢を計画することであって、ツールの目標姿勢は、インプラントの計画された姿勢に基づくことを更に含み、又は、関節センタリング制約を決定することと、関節センタリング制約に基づいて、複数のアクチュエータを制御することとを更に含み、又は、ガイド制約に基づいて及び関節センタリング制約に基づいて、仮想ツールを目標姿勢に向けて動かすよう適合された制約力を算出することと、制約力に基づいて仮想シミュレーションにおける仮想ツールの動力学をシミュレートし、指令姿勢を出力することとを更に含み、ツールの目標姿勢に向けて動かすよう複数のアクチュエータを制御することは、指令姿勢に基づいてツールを位置合わせするように複数のアクチュエータに指令することとして更に定義され、又は、ガイド制約は、調整パラメータのための第1の値を有し、関節センタリング制約は、調整パラメータのための第2の値を有し、第1の値は、第2の値とは異なり、それにより、その結果の制約力が、ガイド制約の結果として、関節センタリング制約と比較して、ツールをより強く位置合わせするよう適合され、又は、指令姿勢は、手持ち部分とツールとの間の関係であり、又は、指令姿勢に基づいて、複数のアクチュエータの各々についての指令関節速度を決定することと、複数のアクチュエータの各々の指令関節速度に基づいて該複数のアクチュエータの各々を制御することとを更に含む、コンピュータ実装医療プログラム又はプログラム製品。
II.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、複数のアクチュエータの各々の位置を決定するステップと、複数のアクチュエータの各々の位置に基づいて、手持ち部分の姿勢を決定するステップと、手持ち部分の姿勢及びツールの目標姿勢に基づいて、ツールの指令姿勢を決定するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
III.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、指令姿勢を決定するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップと、少なくとも1つのアクチュエータの指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、ツール駆動モータを制御するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
IV.各アクチュエータについての指令関節位置に基づいて、複数のアクチュエータの各々を制御することを更に含み、又は、ツール駆動モータを制御するステップは、少なくとも1つのアクチュエータの以前の指令位置、若しくはこれらの組合せに基づいて、ツール駆動モータを制御することとして定義され、又は、ツール駆動モータを制御するステップは、複数のアクチュエータのうちの第1のアクチュエータの指令関節位置と、第1のアクチュエータについての第1のモータオーバライド限界とを比較することとして更に定義され、第1のモータオーバライド限界は、上限閾値及び下限閾値を含み、又は、ツール駆動モータを制御するステップは、複数のアクチュエータのうちの第2のアクチュエータについての指令関節位置と第2のアクチュエータについての第2のモータオーバライド限界とに基づいて、ツール駆動モータを制御することとして更に定義され、又は、ツール駆動モータを制御するステップは、ツール駆動モータのモータパラメータを第1の値及び第2の値で制御することを含み、第1の値は、第2の値とは異なり、コントローラは、指令関節位置と第1のアクチュエータについての第1のモータオーバライド限界とに基づいて、第1の値から第2の値へ動作を変更するように動作可能であり、又は、指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、若しくはこれらの組合せに基づいてツール駆動モータを制御することは、ツール駆動モータを停止させることとして更に定義され、又は、指令姿勢に基づいて、複数のアクチュエータの各々についての指令関節速度を決定すること、及び複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御すること、又はこれらの組合せを更に含む、項目III。
V.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、ツール駆動モータを制御するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
VI.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、ツールの状態を決定するステップと、ツールの状態に基づいて調整パラメータの値を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、かつ調整パラメータの値に基づいて、ガイド制約を生成するステップと、ガイド制約に基づいて、仮想ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、仮想シミュレーションに基づいて、指令姿勢を出力するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
VII.指令姿勢に基づいて、複数のアクチュエータの各々を制御することを更に含む、又は、ツールの状態は、以前の指令姿勢である、項目VII。
VIII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系に対する基準座標系の位置及び/又は向きを決定するステップと、既知の座標系において、ツールの状態を決定するステップと、ツールの状態と基準座標系との間の関係に基づいて、第1の制約の状態を決定するステップと、ツールの状態と基準座標系との間の関係に基づいて、第2の制約の状態を決定するステップであって、第1の制約は第2の制約と異なる、ステップと、第1の制約の状態及び/又は第2の制約の状態に基づいて、仮想ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、仮想シミュレーションに基づいて指令姿勢を出力するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
IX.指令姿勢に基づいて、複数のアクチュエータの各々を制御することを更に含み、又は、第1の制約の状態は、第1の制約のアクティブ状態、第1の制約の非アクティブ状態、調整パラメータの第1の値を有する第1の制約、及び調整パラメータの第2の値を有する第1の制約を含む群から選択され、第2の制約の状態は、第2の制約のアクティブ状態、第2の制約の非アクティブ状態、調整パラメータの第3の値を有する第2の制約、及び調整パラメータの第4の値を有する第2の制約を含む群から選択され、又は、第1の制約は、ガイド制約であり、第2の制約は、関節センタリング制約であり、又は、ツールの第1の状態及びツールの第2の状態は、既知の座標系における位置、向き又は姿勢を含み、又は、ツールの状態は、第1の時間におけるツールの第1の状態及び第2の時間におけるツールの第2の状態として更に定義され、ツールの第1の状態は、ツールの第2の状態とは異なり、第1の時間は、第2の時間とは異なり、第1の制約の状態は、ツールの第1の状態において非アクティブであり、ツールの第2の状態においてアクティブであり、第2の制約の状態は、ツールの第1の状態においてアクティブであり、ツールの第2の状態において非アクティブであり、又は、ツールの状態は、第1の時間におけるツールの第1の状態、及び第2の時間におけるツールの第2の状態として更に定義され、ツールの第1の状態は、ツールの第2の状態と異なり、第1の時間は、第2の時間と異なり、第1の制約の状態は、ツールの第1の状態において調整パラメータの第1の値を有し、ツールの第2の状態において調整パラメータの第2の値を有し、第2の制約の状態は、ツールの第1の状態において調整パラメータの第3の値を有し、ツールの第2の状態において調整パラメータの第4の値を有し、又は、ツールの第1の状態及び基準座標系に基づいて、第1の距離パラメータを決定することと、ツールの第2の状態及び基準座標系に基づいて、第2の距離パラメータを決定することとを更に含み、第1の距離パラメータ及び第2の距離パラメータは、方向及び大きさを含む群から選択され、ツールの第1の状態と基準座標系との間の関係に基づいて第1の制約の状態を決定することは、第1の距離パラメータに基づいて第1の制約の状態を決定することとして更に定義され、ツールの第2の状態と基準座標系との間の関係に基づいて第1の制約の第2の状態を決定することは、第2の距離パラメータに基づいて第1の制約の第2の状態を決定することとして更に定義され、又は、ツールの第1の状態と基準座標系との間の関係に基づいて第2の制約の状態を決定することは、第1の距離パラメータに基づいて第2の制約の第1の状態を決定することとして更に定義され、ツールの第2の状態と基準座標系との間の関係に基づいて第2の制約の第2の状態を決定することは、第2の距離パラメータに基づいて第2の制約の第2の状態を決定することとして更に定義され、又は、第1の距離パラメータ及び第2の距離パラメータは、それぞれ骨から離れる方向及び骨に入る方向から選択され、又は、基準座標系は、患者トラッカに対して定義され、又は、基準座標系は、ツールの目標姿勢に基づき、又は、ユーザ入力信号を受信し、ユーザ入力信号に基づいて、第1の制約及び/又は第2の制約の状態を変更することを更に含み、又は、調整パラメータの第1の値及び第2の値は、関数によって定義される、又は、その関数は、少なくとも1自由度における基準座標系に対するツールの距離及び/又は角度に基づき、又は、第1の制約の状態及び/又は第2の制約の状態は、関数によって定義され、又は、その関数は、少なくとも1自由度における基準座標系に対するツールの距離及び/又は角度に基づき、又は、第1の制約の状態及び/又は第2の制約の状態は、ルックアップテーブルによって定義され、又は、これらの組合せである、項目VIII。
X.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されたときに、既知の座標系において、少なくとも1自由度における外科用ツールの目標姿勢を決定するステップと、既知の座標系に対する基準座標系の位置及び/又は向きを決定するステップと、既知の座標系において、外科用ツールの状態を決定するステップと、外科用ツールの状態と基準座標系との関係に基づいて、第1の制約の状態を決定するステップと、外科用ツールの状態と基準座標系との関係に基づいて、第2の制約の状態を決定するステップであって、第1の制約は、第2の制約とは異なる、ステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
XI.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの姿勢、手持ち部分の姿勢、境界、及びツールの目標姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定するステップと、境界及びツールの姿勢に基づいて、ツール駆動モータを制御するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
XII.ガイド制約に基づいて、ツールの目標姿勢に向けて位置合わせされるように複数のアクチュエータを制御することを更に含み、又は、ツールの目標姿勢を決定するステップは、少なくとも3自由度で目標姿勢を定義することとして更に定義され、目標姿勢は、目標平面又は軸であり、又は、ガイド制約に基づいて、仮想ツールの仮想表現を目標姿勢に向けて動かすよう適合された制約力を算出することと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力することとを更に含み、ツールの目標姿勢に向かって動くように複数のアクチュエータを制御することは、指令姿勢に基づいてツールを位置合わせするように複数のアクチュエータに指令することとして更に定義され、又は、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定することと、複数のアクチュエータの各々の指令関節位置に基づいて、複数のアクチュエータの各々を制御することとを更に含み、又は、目標姿勢は、目標座標系を含み、ツールは、ガイドされた座標系を含み、本方法は、ガイドされた座標系を目標座標系に向けて動かすよう複数のアクチュエータを制御することを含み、又は、ガイド制約は、調整パラメータのための値を有し、本方法は、ツールの目標姿勢とツールの姿勢との間の関係に基づいて、調整パラメータの値を変更することを含み、又は、動力学をシミュレートするステップは、ガイド制約及び外力値に基づいて、制約力を算出することとして更に定義され、又は、既知の座標系において、インプラントの姿勢の計画することを更に含み、ツールの目標姿勢は、インプラントの計画された姿勢に基づき、又は、境界は、インプラントの計画された姿勢に基づき、又は、ツール駆動モータを制御することは、境界及びツールの姿勢に基づいて、ツール駆動モータの速度を制御することを含み、又は、ツールの一部及び境界に関する距離パラメータを決定することを更に含み、ツール駆動モータを制御することは、距離パラメータに基づいて、ツール駆動モータの速度を制御することとして更に定義され、又は、距離パラメータは、大きさ及び方向を有し、又は、境界及びツールの姿勢に基づいて、ツール駆動モータの作動を防止することを更に含み、又は、ツール駆動モータを制御することは、第1の値及び第2の値でツール駆動モータのモータパラメータを制御することを含み、第1の値は、第2の値とは異なり、コントローラは、境界に基づいて、かつツールの姿勢に基づいて、第1の値から第2の値へ動作を変更するように動作可能であり、又は、モータパラメータは、速度、トルク、動作時間、電流、加速度、若しくはこれらの組合せを含む群から選択され、又は、境界は、既知の座標系において定義されるオブジェクトであり、オブジェクトは、メッシュ、点、平面、複数の平面、計画軸に平行な線のような幾何学的プリミティブ、及びこれらの組合せを含み、又は、境界は、球若しくは直方柱を含む群から選択される幾何学的プリミティブであり、又はさらに、関節センタリング制約を決定することと、関節センタリング制約に基づいて、複数のアクチュエータを制御することとを含み、又は、ガイド制約に基づいて、かつ関節センタリング制約に基づいて、仮想ツールを動かすよう適合された制約力を算出することと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力することであって、複数のアクチュエータを制御して動かすことは、指令姿勢に基づいてツールを位置合わせするように複数のアクチュエータに指令することと更に定義されることとを更に含み、又は、手持ち部分の姿勢を決定することは、複数のアクチュエータのうちのアクチュエータの各々の位置を決定することと、ツールの姿勢を決定することと、ツールの姿勢及び複数のアクチュエータのうちのアクチュエータの各々の位置に基づいて、手持ち部分の姿勢を決定することとを含み、又は、ツール支持体に結合されたトラッカの姿勢を決定することと、ツール支持体に結合されたトラッカの姿勢に基づいて、ツールの姿勢を決定することとを更に含み、又は、患者トラッカを用いて患者の解剖学的構造の一部を追跡することを更に含み、既知の座標系は、患者トラッカに対して定義され、又は、複数のアクチュエータの各々の位置を決定するステップは、複数のアクチュエータの各々に結合されたエンコーダを用いて、複数のアクチュエータの各々の位置を測定することとして更に定義され、又は、本方法は、手持ち部分に結合されたトラッカの姿勢を決定することを更に含み、手持ち部分の姿勢を決定することは、手持ち部分に結合されたトラッカの姿勢に基づき、又は、指令姿勢は、手持ち部分とツールとの間の関係であること、又は、これらの組合せである、項目XI。
XIII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの姿勢、境界メッシュ、及びツールの目標姿勢を決定するステップと、ツールの目標姿勢に向けてツールを位置合わせするよう複数のアクチュエータを制御するステップと、境界メッシュ及びツールの姿勢に基づいて、ツール駆動モータを制御するステップとをコンピュータに行わせる命令を含む、プログラム又はプログラム製品。
XIV.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの姿勢、手持ち部分の姿勢、ツールの目標姿勢、及び境界を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、複数の制御される自由度においてツールを位置合わせするように複数のアクチュエータを制御するステップと、境界及び少なくとも1つの制御されない自由度におけるツールの姿勢に基づいて、ツール駆動モータを制御するステップとをコンピュータに完了させる命令を含む、プログラム又はプログラム製品。
XV.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム、又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの姿勢、手持ち部分の姿勢、ツールの目標姿勢、及び境界を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、複数の制御される自由度においてツールを位置決めするように複数のアクチュエータを制御するステップと、境界及び少なくとも1つの制御されない自由度におけるツールの姿勢に基づいて、ツール駆動モータを制御するステップとをコンピュータに完了させる命令を含む、方法、プログラム又はプログラム製品。
XVI.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、複数のアクチュエータの各々について、第1のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップと、第2のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップであって、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータについての第1のセンタリング位置と異なる、ステップと、第1のセンタリング位置に向けた制御と第2のセンタリング位置に向けた制御との間を自動的に切り換えるステップとをコンピュータに完了させる命令を含む、方法、プログラム、又はプログラム製品。
XVII.切換えは、既知の座標系における目標状態に対するツールの状態に基づき、又は、既知の座標系において、インプラントの姿勢を計画することを更に含み、ツールの目標状態は、インプラントの計画された姿勢に基づき、又は、ツールの状態は、ツールの位置、ツールの向き、若しくはツールの姿勢を含み、又は、既知の座標系において、ツールの目標状態に対するツールの状態を決定することは、既知の座標系において、複数の切断面又は計画された軌道に対するツールによって定義された平面又は軸の位置を決定することを含み、又は、既知の座標系において、複数の切断面又は計画された軌道についてのツールの目標状態に対するツールの状態を決定することは、ツールの現在の向きとツールの複数の目標向きとの間の角度を決定すること、ツールの現在の位置とツールの複数の目標位置との間の距離を決定すること、若しくは角度及び距離の両方を決定すること、若しくは、角度の値、距離の値、若しくは角度の値及び距離の値の両方組合せに基づいて、ユーザによって選択された複数の切断面若しくは計画された軌道のうちの1つを決定することを含む、又はこれらの組合せである、項目XVI。
XVIII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、複数のアクチュエータの各々についての第1のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップと、センタリング位置を変更することを望むことを示すユーザ入力信号を受信するステップと、ユーザ入力信号の受信に基づいて、複数のアクチュエータの各々についての第2のセンタリング位置に向けた複数のアクチュエータの動きを制御するステップであって、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータの第1のセンタリング位置と異なっている、ステップとをコンピュータに完了させる命令を含む、方法、プログラム、又はプログラム製品。
XIX.複数のアクチュエータのうちの第1のアクチュエータの第1のセンタリング位置は、第1のアクチュエータの実質的に中央の点に位置し、第2のセンタリング位置は、第1のアクチュエータの第1のセンタリング位置と第1のアクチュエータの関節閾値との間にあり、又は、複数のアクチュエータのうちの第2のアクチュエータの第1のセンタリング位置は、第2のアクチュエータについての第2のセンタリング位置と同じであり、又は、ユーザ入力信号は、ユーザ入力デバイスへの入力に基づき、ユーザ入力デバイスは、器具上のトリガ、タッチスクリーン、フットペダル、モバイルデバイス、及びこれらの組合せを含む群から選択され、又は、ユーザ入力信号は、ツールの位置及び/又は向きに基づき、又は、これらの組合せである、項目XVIII。
XX.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム、又はプログラム製品であって、本方法、プログラム、又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を生成するステップと、複数のアクチュエータの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータのセンタリング位置に基づいて、関節センタリング制約を生成するステップと、ガイド制約及び関節センタリング制約に基づいて、仮想ツールを動かすよう適合された制約力を計算するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、仮想シミュレーションに基づいて指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップとをコンピュータに完了させる命令を含む、方法、プログラム、又はプログラム製品。
XXI.指令関節位置に基づいて、複数のアクチュエータの各々を制御することを更に含み、又は、複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、若しくはこれらの組合せを含み、又は、複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの以前の指令位置を含み、又は、本方法は更に、ツール又はツール支持体と手持ち部分との間に加えられる外力値を決定することを含み、制約力を算出するステップは、ツールに加えられる外力値に更に基づき、又は、関節センタリング制約は、調整パラメータのための第1の値を有し、ガイド制約は、調整パラメータのための第2の値を有し、調整パラメータは、それぞれの制約が制約力に対して増大させられた効果を有するようにし、関節センタリング制約の調整パラメータは、ガイド制約の調整パラメータよりも小さく、又は、ガイド制約若しくは関節センタリング制約の調整パラメータは、それぞれの制約の硬直性又は減衰に影響を及ぼし、又は、複数のアクチュエータのうちの少なくとも1つの位置及び関節限界に基づいて、関節限界制約を生成し、制約力を算出するステップは、ガイド制約、関節センタリング制約、及び関節限界制約に基づいて、制約力を算出することとして更に定義され、又は、関節センタリング制約は、調整パラメータのための第1の値を有し、ガイド制約は、調整パラメータのための第2の値を有し、関節限界制約は、調整パラメータのための第3の値を有し、調整パラメータは、それぞれの制約が制約力に対して増大させられた効果を有するようにし、関節限界制約の調整パラメータは、ガイド制約の調整パラメータ及び関節センタリング制約の調整パラメータよりも大きく、又は、既知の座標系において、ツールの姿勢を決定し、ツールの目標姿勢とツールの姿勢と間の関係に基づいて、ガイド制約を計算することを更に含み、又は、ガイド制約は、調整パラメータのための値を有し、本方法は、ツールの目標姿勢とツールの姿勢との間の関係に基づいて、ガイド制約の調整パラメータの値を変更することを含み、又は、指令姿勢に基づいて複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御することを更に含み、又はこれらの組合せである、項目XVII。
XXII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム、又はプログラム製品であって、本方法、プログラム、又はプログラム製品は、プログラムがコンピュータによって実行されるときに、既知の座標系において、ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を生成するステップと、複数のアクチュエータのうちの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータのセンタリング位置に基づいて、関節センタリング制約を生成するステップとをコンピュータに完了させる命令を含む方法、プログラム、又はプログラム製品。
XXIII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法、プログラム又はプログラム製品であって、本方法、プログラム又はプログラム製品は、プログラムがコンピュータによって実行されるときに、複数のアクチュエータのうちの1つ以上に供給される電流の量を感知するステップと、1つ以上の電流センサの出力に基づいて、ツール支持体と手持ち部分との間に加えられる外力の量を推定するステップと、推定された外力の量に基づいて、仮想ツールを目標姿勢に向けて動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定するステップとをコンピュータに完了させる命令を含む方法、プログラム、又はプログラム製品。
XXIV.ツールとともに使用する手持ち式医療用ロボットシステムの動きを制御するコンピュータ実装医療方法であって、本方法は、複数のアクチュエータのうちの少なくとも1つの位置及び関節限界とに基づいて、関節限界制約を決定するステップと、ツールの姿勢及び所定の直交空間に基づいて、作業空間限界制約を決定するステップと、関節限界制約及び作業空間制約に基づいて、仮想ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップとを含む、方法。
XXV.指令関節位置に基づいて、複数のアクチュエータの各々を制御することを更に含み、又は、複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、若しくはこれらの組合せを含み、又は、ツールの姿勢は、手持ち部分に対して定義され、又は、所定の直交空間は、直交空間において定義される体積、1以上の自由度における複数の限界、複数の向き、若しくはこれらの組合せを含み、又は、作業空間制約及び関節限界制約を使用して、手持ち部分に対するツール支持体のロールを、ピッチ及び/又は仰角よりも制限することを更に含み、又は、ツール支持体が機械的に可能であることに関連して、ロールは、ピッチ及び/又は仰角よりも制限され、又は、手持ち部分に対するツール支持体の動きの範囲は、ピッチにおいてロールよりも大きく、又は、手持ち部分に対するツール支持体の動きの範囲は、仰角においてロールよりも大きく、又は、所定の直交空間は、非対称の形状であり、又は、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定することを更に含み、制約力を計算するステップは、ガイド制約に更に基づき、又は、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御することを更に含み、又はこれらの組合せである、項目XXIV。
XXVI.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御するコンピュータ実装医療方法であって、本方法は、既知の座標系において、ツールの姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、複数のアクチュエータのうちの少なくとも1つの位置に基づいて、関節限界を決定するステップと、ツールの姿勢及び所定の直交空間に基づいて、作業空間限界を決定するステップと、ツールの目標姿勢、関節限界及び作業空間限界に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
XXVII.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分と、鋸刃/ツールを支持するために手持ち部分に結合された刃/ツール支持体であって、刃/ツール支持体は鋸/ツール駆動モータを含む、刃/ツール支持体と、刃/ツール支持体と手持ち部分とを動作可能に相互接続し、刃/ツール支持体を手持ち部分に対して複数の自由度で動かして、刃/ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、ローカライザ、複数のアクチュエータ及び鋸/ツール駆動モータに結合された制御システムであって、制御システムは、既知の座標系において、鋸刃/ツールの姿勢、手持ち部分の姿勢、境界及び鋸刃/ツールの目標姿勢を決定するように構成されている、制御システムとを含み、制御システムは、鋸刃/ツールの目標姿勢と手持ち部分の姿勢とに基づいて、ガイド制約を決定するガイドハンドラを含み、制御システムは、ガイド制約に基づいて、鋸刃/ツールを目標姿勢に向けて位置合わせするよう複数のアクチュエータを制御し、境界及び鋸刃/ツールの姿勢に基づいて、鋸/ツール駆動モータを制御するように構成されている、システム。
XXVIII.目標姿勢は、少なくとも2自由度において定義される、項目XXVIIに記載のシステム。
XXIX.手持ち式器具は、刃支持体と手持ち部分とを動作可能に相互接続する受動連結機構を有する制約アセンブリを含み、受動連結機構は、手持ち部分に対する刃/ツール支持体の動きを3自由度で制約するような態様で、刃/ツール支持体及び手持ち部分に結合される、項目XXVII又はXXVIIIに記載のシステム。
XXX.器具の重量は、6ポンド未満であり、器具は、4自由度で動くことが可能である、項目XXVII~XXIXのいずれか一項に記載のシステム。
XXXI.制御システムは、ガイド制約に基づいて、目標姿勢に向けて仮想鋸刃/ツールを動かすよう適合された制約力を算出する制約ソルバを更に含み、制御システムは、制約力に基づいて、仮想鋸刃/ツールの動力学を仮想シミュレーションにおいてシミュレートし、指令姿勢を出力する、仮想シミュレータを更に含み、制御システムは、指令姿勢に基づいて、鋸刃/ツールを位置合わせするように複数のアクチュエータを制御するように更に定義される、項目XXVII~XXXのいずれか一項に記載のシステム。
XXXII.境界は、既知の座標系において定義されたオブジェクトであり、オブジェクトは、メッシュ、点、平面、複数の平面、計画された軌道に垂直な線のような幾何学的プリミティブ、及びこれらの組合せを含む、項目XXVII~XXXIのいずれか一項に記載のシステム。
XXXIII.アクチュエータアセンブリは、4つ未満の制御される自由度で鋸刃ツールを位置合わせするように構成されている、項目XXVII~XXXIIのいずれか一項に記載のシステム。
XXXIV.4つ未満の制御される自由度は、ピッチ、ロール及び仰角を含む、項目XXXIII項に記載のシステム。
XXXV.器具に結合された受動アームを更に含み、又は、複数のアクチュエータのうちの各少なくとも2つは、ツール支持体及び手持ち部分に接続されている、項目XXVII~XXXIVのいずれか一項に記載のシステム。
XXXVI.鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、鋸刃を支持するために手持ち部分に移動可能に結合された刃支持体、刃支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリを有する、手持ち式器具とを含み、アクチュエータアセンブリは、複数のアクチュエータを含み、刃支持体は、鋸駆動モータを含み、本方法は、既知の座標系において、鋸刃の姿勢、手持ち部分の姿勢、境界、及び鋸刃の目標姿勢を決定するステップと、鋸刃の目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定するステップと、ガイド制約に基づいて、鋸刃の目標姿勢に向けて位置合わせされるように複数のアクチュエータを制御するステップと、境界及び鋸刃の姿勢に基づいて、鋸駆動モータを制御するステップとを含む、方法。
XXXVII.鋸刃の目標姿勢を決定するステップは、少なくとも3自由度で目標姿勢を定義することとして更に定義され、目標姿勢は、目標平面である、項目XXXVIに記載の方法。
XXXVIII.ガイド制約に基づいて、仮想鋸刃の仮想表現を目標姿勢に向けて動かすよう適合された制約力を算出することと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃の動力学をシミュレートし、指令姿勢を出力することとを更に含み、鋸刃の目標姿勢に向かって動くように複数のアクチュエータを制御することは、指令姿勢に基づいて、鋸刃を位置合わせするように複数のアクチュエータを指令することとして更に定義される、項目XXXVIIに記載の方法。
XXXIX.指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定することと、複数のアクチュエータの各々の指令関節位置に基づいて、複数のアクチュエータの各々を制御することとを更に含む、項目XXXVIIIに記載の方法。
XL.目標姿勢は、目標座標系を含み、鋸刃は、ガイドされた座標系を含み、本方法は、ガイドされた座標系を目標座標系に向けて動かすように複数のアクチュエータを制御することを含む、項目XXXVI~XXXIXのいずれか一項に記載の方法。
XLI.ガイド制約は、調整パラメータの値を有し、本方法は、鋸刃の目標姿勢と鋸刃の姿勢との間の関係に基づいて、調整パラメータの値を変更することを含む、項目XXXVIII~XLのいずれか一項に記載の方法。
XLII.動力学をシミュレートするステップは、ガイド制約及び外力値に基づいて制約力を算出することとして更に定義される、項目XXXVIII~XLIのいずれか一項に記載の方法。
XLIII.既知の座標系において、インプラントの姿勢を計画することを更に含み、鋸刃の目標姿勢は、インプラントの計画された姿勢に基づく、項目XXXVI~XLIのいずれか一項に記載の方法。
XLIV.境界は、インプラントの計画された姿勢に基づく、項目XLIIIに記載の方法。
XLV.鋸駆動モータを制御することは、境界及び鋸刃の姿勢に基づいて、鋸駆動モータの速度を制御することを含む、項目XXXVI~XLIVのいずれか一項に記載の方法。
XLVI.鋸刃の一部及び境界に関して距離パラメータを決定することを更に含み、鋸駆動モータを制御することは、距離パラメータに基づいて鋸駆動モータの速度を制御することとして更に定義される、項目XLVに記載の方法。
XLVII.距離パラメータは、大きさ及び方向を有する、項目XLVIに記載の方法。
XLVIII.境界及び鋸刃の姿勢に基づいて、鋸駆動モータの作動を防止することを更に含む、項目XXXVI~XLVIIのいずれか一項に記載の方法。
XLIX.鋸駆動モータを制御することは、鋸駆動モータのモータパラメータを第1の値及び第2の値で制御することを含み、第1の値は、第2の値とは異なり、コントローラは、境界に基づいて、かつ鋸刃の姿勢に基づいて、第1の値から第2の値へと動作を変更するように動作可能である、項目XXXVI~XLVIIIのいずれか一項に記載の方法。
L.モータパラメータは、速度、トルク、動作時間、電流、加速度、又はこれらの組合せを含む群から選択される、項目XLIXに記載の方法。
LI.境界は、既知の座標系において定義されたオブジェクトであり、オブジェクトは、メッシュ、点、平面、複数の平面、幾何学的プリミティブ、及びこれらの組合せを含む、項目XXXVI~Lのいずれか一項に記載の方法。
LII.境界は、球又は直方柱を含む群から選択される幾何学的プリミティブである、項目LIに記載の方法。
LIII.関節センタリング制約を決定することと、関節センタリング制約に基づいて、複数のアクチュエータを制御することとを更に含む、項目XXXVIII~LIIのいずれか一項に記載の方法。
LIV.ガイド制約に基づいて、かつ関節センタリング制約に基づいて、仮想鋸刃を動かすよう適合された制約力を算出することと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃の動力学をシミュレートして、指令姿勢を出力することとを更に含み、複数のアクチュエータを制御して動かすことは、指令姿勢に基づいて、鋸刃を位置合わせするように複数のアクチュエータを指令することとして更に定義される、項目LIIIに記載の方法。
LV.手持ち部分の姿勢を決定することは、複数のアクチュエータのうちのアクチュエータの各々の位置を決定することと、鋸刃の姿勢を決定することと、鋸刃の姿勢及び複数のアクチュエータのうちのアクチュエータの各々の位置に基づいて、手持ち部分の姿勢を決定することとを含む、項目XXXVII~LIVのいずれか一項に記載の方法。
LVI.刃支持体に結合されたトラッカの姿勢を決定することと、刃支持体に結合されたトラッカの姿勢に基づいて、鋸刃の姿勢を決定することとを更に含む、項目LVに記載の方法。
LVII.患者トラッカを用いて患者の解剖学的構造の一部を追跡することを更に含み、既知の座標系は、患者トラッカに対して定義される、項目LVIに記載の方法。
LVIII.複数のアクチュエータの各々の位置を決定するステップは、複数のアクチュエータの各々に結合されたエンコーダを用いて、複数のアクチュエータの各々の位置を測定することとして更に定義される、項目LVに記載の方法。
LIX.本方法は、手持ち部分に結合されたトラッカの姿勢を決定することを更に含み、手持ち部分の姿勢を決定することは、手持ち部分に結合されたトラッカの姿勢に基づく、項目XXXVII~LVIIIのいずれか一項に記載の方法。
LX.指令姿勢は、手持ち部分と鋸刃との間の関係である、項目XXXVIII~LVIIIのいずれか一項に記載の方法。
LXI.鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃を支持するために手持ち部分に移動可能に結合された刃支持体、刃支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリを有する、手持ち式器具とを含み、アクチュエータアセンブリは、複数のアクチュエータを含み、刃支持体は、鋸駆動モータを含み、本方法は、既知の座標系において、鋸刃の姿勢、境界メッシュ、及び鋸刃の目標姿勢を決定するステップと、鋸刃の目標姿勢に向けて鋸刃を位置合わせするように複数のアクチュエータを制御するステップと、境界メッシュ及び鋸刃の姿勢に基づいて、鋸駆動モータを制御するステップとを含む、方法。
LXII.鋸刃とともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、及び手持ち部分に結合された刃支持体であって、該刃支持体は、鋸刃の動きを駆動する鋸駆動モータを含む、刃支持体と、刃支持体と手持ち部分とを動作可能に相互接続して、手持ち部分に対して複数の制御される自由度で刃支持体を動かして鋸刃を位置合わせするアクチュエータアセンブリであって、アクチュエータアセンブリは、少なくとも1つの制御されない自由度で鋸刃を再位置決めできないものであり、該アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、複数のアクチュエータ、鋸駆動モータ及びローカライザに結合された制御システムとを含み、制御システムは、既知の座標系において、鋸刃の姿勢、手持ち部分の姿勢、鋸刃の目標姿勢、及び境界を決定し、手持ち部分の姿勢及び鋸刃の目標姿勢に基づいて、複数の制御される自由度において鋸刃を位置合わせするように複数のアクチュエータを制御し、境界及び少なくとも1つの制御されない自由度における鋸刃の姿勢に基づいて、鋸駆動モータを制御するように構成されている、システム。
LXIII.目標姿勢は、少なくとも3自由度で定義される目標平面である、項目LXIIに記載のシステム。
LXIV.アクチュエータアセンブリは、4未満の制御される自由度で鋸刃を位置合わせするように構成されている、項目LXIIIに記載のシステム。
LXV.4未満の制御される自由度は、ピッチ、ロール及び仰角を含む、項目LXIVに記載のシステム。
LXVI.少なくとも1つの制御されない自由度は、xにおける並進、yにおける並進、ヨー、又はこれらの組合せを含み、xは、刃支持体の長手軸に実質的に平行である、項目LXII~LXVIのいずれか一項に記載のシステム。
LXVII.手持ち式器具は、刃支持体及び手持ち部分を動作可能に相互接続する受動連結機構を有する制約アセンブリを含み、受動連結機構は、手持ち部分に対する刃支持体の動きを3自由度で制約する態様で、刃支持体及び手持ち部分に結合される、項目LXII~LXVIのいずれか一項に記載のシステム。
LXVIII.器具の重量は、6ポンド未満である、項目LXVI又はLXVIIに記載のシステム。
LXIX.境界は、境界メッシュであり、鋸駆動モータを制御することは、鋸駆動モータのモータパラメータを第1の値及び第2の値で制御することを含み、第1の値は、第2の値とは異なり、コントローラは、境界メッシュに基づいて、かつ鋸刃の姿勢に基づいて、第1の値から第2の値へ動作を変更するように動作可能である、項目LXVII又はLXVIIIに記載のシステム。
LXX.モータパラメータは、速度、トルク、電流、加速度、又はこれらの組合せを含む群から選択される、項目LXIXに記載のシステム。
LXXI.鋸刃の一部及び境界に関して距離パラメータを決定することを更に含み、鋸駆動モータを制御することは、距離パラメータに基づく、項目LXIX又はLXXに記載のシステム。
LXXII.境界は、既知の座標系において定義されたオブジェクトであり、オブジェクトは、メッシュ、点、平面、複数の平面、幾何学的プリミティブ、及びこれらの組合せを含む、項目LXXIに記載のシステム。
LXXIII.制御システムは、複数のアクチュエータのうちのアクチュエータの各々の位置を決定し、鋸刃の姿勢及び複数のアクチュエータのうちのアクチュエータの各々の位置に基づいて、手持ち部分の姿勢を決定するように構成されている、項目LXVI~LXXIIのいずれか一項に記載のシステム。
LXXIV.制御システムは、既知の座標系において刃支持体に結合されたトラッカの姿勢を決定し、既知の座標系において刃支持体に結合されたトラッカの姿勢に基づいて、鋸刃の姿勢を決定するように構成されている、項目LXVI~LXXIIIのいずれか一項に記載のシステム。
LXXV.制御システムは、既知の座標系において手持ち部分に結合されたトラッカの姿勢を決定し、既知の座標系において手持ち部分に結合されたトラッカの姿勢に基づいて、手持ち部分の姿勢を決定するように構成されている、項目LXVI~LXXIVのいずれか一項に記載のシステム。
LXXVI.患者トラッカを用いて患者の解剖学的構造の一部を追跡することを更に含み、既知の座標系は、患者トラッカに対して定義される、項目LXXVに記載のシステム。
LXXVII.制御システムは、インプラントの計画された姿勢に基づいて境界を決定するように構成されている、項目LXII~LXXVIのいずれか一項に記載のシステム。
LXXVIII.器具に結合された受動アームを更に含み、又は、複数のアクチュエータの各少なくとも2つは、刃支持体及び手持ち部分に接続されている、項目LXII~LXXVIIのいずれか一項に記載のシステム。
LXXIX.ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、及び手持ち部分に結合されたツール支持体であって、該ツール支持体は、ツールの動きを駆動するツール駆動モータを含む、ツール支持体と、ツール支持体と手持ち部分とを動作可能に相互接続して、ツール支持体を動かし、手持ち部分に対して複数の制御される自由度でツールを動かして、ツールを所望の姿勢に配置する、アクチュエータアセンブリであって、該アクチュエータアセンブリは、少なくとも1つの制御されない自由度でツールを再位置決めできないものであり、該アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、複数のアクチュエータ及びローカライザに結合された制御システムとを含み、制御システムは、既知の座標系において、手持ち部分の姿勢、ツールの目標姿勢、及び境界を決定し、手持ち部分の姿勢及びツールの目標姿勢に基づいて、複数の制御される自由度においてツールを位置決めするように複数のアクチュエータを制御し、境界及び少なくとも1つの制御されない自由度におけるツールの姿勢に基づいて、ツール駆動モータを制御するように構成されている、システム。
LXXX.器具に結合された受動アームを更に含み、又は、複数のアクチュエータのうちの各少なくとも2つが、刃支持体及び手持ち部分に接続され、又は、境界は、計画された軌道に平行な線又は平面である、項目LXXIXに記載のシステム。
LXXXI.鋸刃とともに使用する手持ち式医療ロボットシステムを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃を支持するために手持ち部分に移動可能に結合された刃支持体、刃支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃支持体は、鋸駆動モータを含み、アクチュエータアセンブリは、少なくとも1つの制御されない自由度において刃支持体を再位置決めできないものであり、本方法は、既知の座標系において、鋸刃の姿勢、手持ち部分の姿勢、鋸刃の目標姿勢、及び境界を決定するステップと、鋸刃の目標姿勢及び手持ち部分の姿勢に基づいて、複数の制御される自由度において鋸刃を位置合わせするように複数のアクチュエータを制御するステップと、境界及び少なくとも1つの制御されない自由度における鋸刃の姿勢に基づいて、鋸駆動モータを制御するステップとを含む、方法。
LXXXII.ツールとともに使用する手持ち式医療ロボットシステムを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及びツールを支持するために手持ち部分に移動可能に結合されたツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、ツール支持体は、ツール駆動モータを含み、アクチュエータアセンブリは、少なくとも1つの制御されない自由度においてツールを再位置決めできないものであり、本方法は、既知の座標系において、ツールの姿勢、手持ち部分の姿勢、ツールの目標姿勢、及び境界を決定するステップと、ツールの目標姿勢及び手持ち部分の姿勢に基づいて、複数の制御される自由度においてツールを位置決めするように複数のアクチュエータを制御するステップと、境界及び少なくとも1つの制御されない自由度におけるツールの姿勢に基づいて、ツール駆動モータを制御するステップと、を含む、方法。
LXXXIII.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分と、鋸刃/ツールを支持するために手持ち部分に結合される刃/ツール支持体であって、該刃支持体は、鋸刃/ツール駆動モータを含む、刃/ツール支持体と、刃/ツール支持体と手持ち部分とを動作可能に相互接続して、手持ち部分に対して刃/ツール支持体を複数の自由度で動かす、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ユーザ入力デバイスと、複数のアクチュエータ、ユーザ入力デバイス、及び鋸/ツール駆動モータに結合された制御システムとを含み、制御システムは、複数のアクチュエータの各々についての第1のセンタリング位置に向けて複数のアクチュエータの動きを制御し、センタリング位置を変更することを望むことを示すユーザ入力信号を受信し、ユーザ入力信号の受信に基づいて、複数のアクチュエータの各々についての第2のセンタリング位置に向けて複数のアクチュエータの動きを制御するように構成され、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータについての第1のセンタリング位置とは異なる、システム。
LXXXIV.器具に結合された受動アームを更に含む、項目LXXXIIIに記載のシステム。
LXXXV.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、鋸刃/ツールを支持するために手持ち部分に結合された刃/ツール支持体であって、刃/ツール支持体は、鋸刃/ツール駆動モータを含む、刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続して、手持ち部分に対して刃/ツール支持体を複数の自由度で動かすアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具、複数のアクチュエータ及び鋸/ツール駆動モータに結合された制御システムを含み、制御システムは、複数のアクチュエータの各々についての第1のセンタリング位置に向けて複数のアクチュエータの動きを制御し、第2のセンタリング位置に向けて複数のアクチュエータの動きを制御し、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータについての第1のセンタリング位置とは異なり、第1のセンタリング位置に向けた制御と第2のセンタリング位置に向けた制御との間を自動的に切り換えるように構成されている、システム。
LXXXVI.器具に結合された受動アームを更に含み、又は、複数のアクチュエータの各少なくとも2つが、刃支持体及び手持ち部分に接続されている、項目LXXXVに記載のシステム。
LXXXVII.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃/ツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持部、刃/ツール支持部と手持ち部分を動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃/ツール支持部は、鋸駆動モータを含み、本方法は、複数のアクチュエータの各々についての第1のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップと、第2のセンタリング位置に向かけて複数のアクチュエータの動きを制御するステップであって、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータについての第1のセンタリング位置とは異なる、ステップと、第1のセンタリング位置に向けた制御と第2のセンタリング位置に向けた制御との間を自動的に切り換えるステップとを含む、方法。
LXXXVIII.切り換えることは、既知の座標系における目標状態に対する鋸刃/ツールの状態に基づく、項目LXXXVIIに記載の方法。
LXXXIX.既知の座標系において、インプラントの姿勢を計画することを更に含み、鋸刃/ツールの目標状態は、インプラントの計画された姿勢に基づく、項目LXXXVIIIに記載の方法。
XC.鋸刃/ツールの状態は、鋸刃/ツールの位置、鋸刃/ツールの向き、又は鋸刃/ツールの姿勢を含む、項目LXXXVIII又はLXXXIXに記載の方法。
XCI.既知の座標系において、鋸刃/ツールの目標状態に対する鋸刃/ツールの状態を決定することは、既知の座標系において複数の切断面/軌道に対する鋸刃/ツールによって定義される平面/軸の位置を決定することを含む、項目XCに記載の方法。
XCII.既知の座標系において、複数の切断面/軌道に対する鋸刃/ツールの目標状態に対する鋸刃/ツールの状態を決定することは、鋸刃/ツールの現在の向きと鋸刃/ツールの複数の目標向きとの間の角度を決定すること、鋸刃/ツールの現在の位置と鋸刃/ツールの複数の目標位置との間の距離を決定すること、又は、角度及び距離の両方を決定すること、及び、角度の値、距離の値、若しくは角度の値及び距離の値の両方に基づいて、ユーザによって選択された複数の切断面/軌道のうちの1つを決定することを含む、項目XCIに記載の方法。
XCIII.ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、手持ち式器具であって、ユーザによって保持される手持ち部分、及びツールを支持するために手持ち部分に移動可能に結合されたツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具を含み、本方法は、複数のアクチュエータの各々について第1のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップと、第2のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップであって、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータについての第1のセンタリング位置とは異なる、ステップと、第1のセンタリング位置に向けた制御と第2のセンタリング位置に向けた制御との間を自動的に切り換えるステップとを含む、方法。
XCIV.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃/ツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃/ツール支持体は、鋸/ツール駆動モータを含み、本方法は、複数のアクチュエータの各々についての第1のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップと、センタリング位置を変更することを望むことを示すユーザ入力信号を受信するステップと、ユーザ入力信号の受信に基づいて、複数のアクチュエータの各々についての第2のセンタリング位置に向けて複数のアクチュエータの動きを制御するステップであって、第2のセンタリング位置は、複数のアクチュエータのうちの少なくとも1つのアクチュエータの第1のセンタリング位置とは異なる、ステップとを含む、方法。
XCV.複数のアクチュエータのうちの第1のアクチュエータの第1のセンタリング位置は、第1のアクチュエータの実質的に中央の点に位置し、第2のセンタリング位置は、第1のアクチュエータの第1のセンタリング位置と第1のアクチュエータの関節閾値との間にある、項目XCIVに記載の方法。
XCVI.複数のアクチュエータのうちの第2のアクチュエータの第1のセンタリング位置は、第2のアクチュエータの第2のセンタリング位置と同じである、項目XCVに記載の方法。
XCVII.ユーザ入力信号は、ユーザ入力デバイスへの入力に基づき、ユーザ入力デバイスは、器具上のトリガ、タッチスクリーン、フットペダル、モバイルデバイス、及びこれらの組合せを含む群から選択される、項目XCIV~XCVIのいずれか一項に記載の方法。
XCVIII.ユーザ入力信号は、鋸刃の位置及び/又は向きに基づく、項目XCIV~XCVIIのいずれか一項に記載の方法。
XCIX.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分と、鋸刃を支持するために手持ち部分に結合された刃/ツール支持体であって、刃/ツール支持体は、鋸刃/ツール駆動モータを含む、刃/ツール支持体と、刃/ツール支持体と手持ち部分とを動作可能に相互接続し、手持ち部分に対して刃/ツール支持体を複数の自由度で動かして、鋸刃/ツールを所望の平面/軌道に配置する、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具、ローカライザ、複数のアクチュエータ、ローカライザ、及びツール駆動モータに結合された制御システムを含み、制御システムは、既知の座標系において、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢を決定するように構成され、制御システムは更に、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、複数のアクチュエータのうちの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータの中心位置に基づいて、関節センタリング制約を決定する、動きコントローラと、ガイド制約及び関節センタリング制約に基づいて、仮想鋸刃/ツールを動かすよう適合された制約力を算出する、制約ソルバと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃/ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを備え、制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定し、指令関節位置に基づいて、複数のアクチュエータの各々を制御するように構成されている、システム。
C.制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、項目XCIXに記載のシステム。
CI.器具に結合された受動アームを更に含む、項目Cに記載のシステム。
CII.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、鋸刃/ツールを支持するため手持ち部分に結合された刃/ツール支持体であって、刃/ツール支持体は、鋸刃/ツール駆動モータを含む、刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続し、刃/ツール支持体を手持ち部分に対して複数の自由度で動かして、刃/ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具、ローカライザ、複数のアクチュエータ、ローカライザ、及び鋸/ツール駆動モータに結合された制御システムを含み、制御システムは、既知の座標系において、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢を決定するように構成され、制御システムは、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、複数のアクチュエータのうちの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータの中心位置に基づいて、関節センタリング制約を決定する、動きコントローラと、ガイド制約及び関節センタリング制約に基づいて、仮想鋸刃/ツールを動かすよう適合された制約力を算出する、制約ソルバと、制約力に基づいて仮想シミュレーションにおいて仮想鋸刃/ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを更に含み、制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、指令関節位置及び/又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように構成されている、システム。
CIII.制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、項目CIIに記載のシステム。
CIV.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃/ツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃/ツール支持体は、鋸/ツール駆動モータを含み、本方法は、既知の座標系において、鋸刃/ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を生成するステップと、複数のアクチュエータのうちの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータのセンタリング位置に基づいて、関節センタリング制約を生成するステップと、ガイド制約及び関節センタリング制約に基づいて、仮想鋸刃/ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃/ツールの動力学をシミュレートし、仮想シミュレーションに基づいて指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップと、指令関節位置に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
CV.複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せを含む、項目CIVに記載の方法。
CVI.複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの以前の指令位置を含む、項目CIV又はCVに記載の方法。
CVII.鋸刃又は刃支持体と手持ち部分との間に加えられる外力値を決定することを更に含み、制約力を算出するステップは、鋸刃に加えられる外力値に更に基づく、項目CIV~CVIのいずれか一項に記載の方法。
CVIII.関節センタリング制約は、調整パラメータのための第1の値を有し、ガイド制約は、調整パラメータのための第2の値を有し、調整パラメータは、それぞれの制約が、制約力に対して増大させられた効果を有するようにし、関節センタリング制約の調整パラメータは、ガイド制約の調整パラメータよりも小さい、項目CIV~CVIIのいずれか一項に記載の方法。
CIX.ガイド制約又は関節センタリング制約の調整パラメータは、それぞれの制約の硬直性又は減衰に影響を及ぼす、項目CVIIIに記載の方法。
CX.複数のアクチュエータのうちの少なくとも1つの位置及び関節限界に基づいて、関節限界制約を生成することを更に含み、制約力を算出するステップは、ガイド制約、関節センタリング制約、及び関節限界制約に基づいて、制約力を算出することとして更に定義される、項目CIV~CIXのいずれか一項に記載の方法。
CXI.関節センタリング制約は、調整パラメータのための第1の値を有し、ガイド制約は、調整パラメータのための第2の値を有し、関節限界制約は、調整パラメータのための第3の値を有し、調整パラメータは、それぞれの制約が制約力に対して増加させられた効果を有するようにし、関節限界制約の調整パラメータは、ガイド制約の調整パラメータ及び関節センタリング制約の調整パラメータより大きい、項目CXに記載の方法。
CXII.既知の座標系において、鋸刃の姿勢を決定し、鋸刃の目標姿勢と鋸刃の姿勢との間の関係に基づいて、ガイド制約を計算することを更に含む、項目CIV~CXIのいずれか一項に記載の方法。
CXIII.ガイド制約は、調整パラメータの値を有し、上記方法は、鋸刃の目標姿勢と鋸刃の姿勢との間の関係に基づいて、ガイド制約の調整パラメータの値を変更することを含む、項目CXIIに記載の方法。
CXIV.指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御することを更に含む、項目CIV~CXIIIのいずれか一項に記載の方法。
CXV.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、及び鋸刃/ツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持部、刃/ツール支持部と手持ち部分を動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃/ツール支持部は、鋸/ツール駆動モータを含み、本方法は、既知の座標系において、鋸刃/ツールの目標姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、鋸刃/ツールの目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を生成するステップと、複数のアクチュエータのうちの少なくとも1つの位置及び複数のアクチュエータのうちの少なくとも1つのアクチュエータのセンタリング位置に基づいて、関節センタリング制約を生成するステップと、ガイド制約及び関節センタリング制約に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
CXVI.ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、ツールを支持するために手持ち部分に結合されたツール支持体であって、ツール支持体はツール駆動モータを含む、ツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続し、ツール支持体を手持ち部分に対して複数の自由度で動かして、ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具と、ローカライザ、複数のアクチュエータ、ローカライザ、及びツール駆動モータに結合された制御システムであって、制御システムは、既知の座標系において、ツールの目標姿勢及び手持ち部分の姿勢を決定するように構成された、制御システム、複数のアクチュエータの各々に供給される電流の量を検出するように構成された、1つ以上の電流センサを含み、制御システムは、1つ以上の電流センサの出力に基づいて、ツール支持体と手持ち部分との間に加えられる外力の量を推定するように構成された、力推定器、推定された外力の量に基づいて、目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出する、制約ソルバ、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力する仮想シミュレータを含み、制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、指令関節位置又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、システム。
CXVII.外科用ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び外科用ツールを支持するために手持ち部分に移動可能に結合されたツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、ツール支持体はツール駆動モータを含み、本方法は、複数のアクチュエータのうちの1つ以上に供給される電流の量を感知するステップと、1つ以上の電流センサの出力に基づいて、ツール支持体と手持ち部分との間に加えられる外力の量を推定するステップと、推定された外力の量に基づいて、目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定するステップと、指令関節位置及び/又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
CXVIII.ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、ツールを支持するために手持ち部分に結合されたツール支持体であって、ツール支持体はツール駆動モータを含む、ツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続し、手持ち部分に対してツール支持体を複数の自由度で動かして、ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具、ローカライザ、複数のアクチュエータ、ローカライザ、及びツール駆動モータに結合された、制御システムを含み、制御システムは、複数のアクチュエータのうちの少なくとも1つの位置及び関節閾値に基づいて、関節限界制約を決定し、ツールの姿勢及び所定の直交空間に基づいて作業空間制限制約を決定する、動きコントローラと、関節限界制約及び作業空間制約に基づいて、仮想鋸刃を動かすよう適合された制約力を算出する、制約ソルバと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃の動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを含み、制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、指令関節位置及び/又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように構成されている、システム。
CXIX.制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、項目CXVIIIに記載のシステム。
CXX.器具に結合された受動アームを更に含む、項目CXVIIIに記載のシステム。
CXXI.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムであって、該システムは、器具であって、ユーザによって保持される手持ち部分、鋸刃を支持するために手持ち部分に結合された刃/ツール支持体であって、刃/ツール支持体は、鋸刃/ツール駆動モータを含む、刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続し、手持ち部分に対して刃/ツール支持体を複数の自由度で動かして鋸刃/ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具、ローカライザ、複数のアクチュエータ、ローカライザ、及び鋸駆動モータ/ツールに結合された、制御システムを含み、制御システムは、既知の座標系において、少なくとも1自由度における鋸刃/ツールの目標姿勢及び手持ち部分の姿勢を決定し、複数のアクチュエータのうちの少なくとも1つの位置及び関節閾値に基づいて、関節限界を決定し、鋸刃/ツールの姿勢及び所定の直交空間に基づいて、作業空間限界を決定し、鋸刃/ツールの目標姿勢、関節限界、及び作業空間限界に基づいて、複数のアクチュエータの各々を制御する、ように構成されている、システム。
CXXII.鋸刃/ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃/ツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持体、刃/ツール支持体を複数の自由度で動かすために、刃支持体と手持ち部分とを動作可能に相互接続する、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、手持ち式器具を含み、刃/ツール支持体は、鋸/ツール駆動モータを含み、本方法は、複数のアクチュエータのうちの少なくとも1つの位置及び関節限界に基づいて、関節限界制約を決定するステップと、鋸刃/ツールの姿勢及び所定の直交空間に基づいて、作業空間制限制約を決定するステップと、関節限界制約及び作業空間制約に基づいて、仮想鋸刃/ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想鋸刃/ツールの動力学をシミュレートし、指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置を決定するステップと、指令関節位置に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
CXXIII.複数のアクチュエータのうちの少なくとも1つの位置は、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せを含む、項目CXXIIに記載の方法。
CXXIV.鋸刃の姿勢は、手持ち部分に対して定義される、項目CXXII又はCXXIIIに記載の方法。
CXXV.所定の直交空間は、直交空間において定義される体積、1つ以上の自由度における複数の限界、複数の向き、又はこれらの組合せである、項目CXXII~CXXIVのいずれか一項に記載の方法。
CXXVI.作業空間制約及び関節限界制約を使用して、手持ち部分に対する刃支持体のロールを、ピッチ及び/又は仰角よりも制限することを更に含む、項目CXXII~CXXVのいずれか一項に記載の方法。
CXXVII.ロールは、刃支持体が機械的に可能なものに対してピッチ及び/又は仰角よりも制限される、項目CXXII~CXXVIのいずれか一項に記載の方法。
CXXVIII.手持ち部分に対する刃支持体の動きの範囲は、ロールにおいてよりもピッチにおいて大きい、項目CXXII~CXXVIIのいずれか一項に記載の方法。
CXXIX.手持ち部分に対する刃支持体の動きの範囲は、ロールにおいてよりも仰角において大きい、項目CXXII~CXXVIIのいずれか一項に記載の方法。
CXXX.所定の直交空間は、非対称の形状である、項目CXXII~CXXIXのいずれか一項に記載の方法。
CXXXI.鋸刃の目標姿勢及び手持ち部分の姿勢に基づいて、ガイド制約を決定することを更に含み、制約力を計算するステップは、ガイド制約に更に基づく、項目CXXIII~CXXXIのいずれか一項に記載の方法。
CXXXII.指令姿勢に基づいて、複数のアクチュエータの各々の指令関節速度を決定し、複数のアクチュエータの各々の指令関節速度に基づいて、複数のアクチュエータの各々を制御することを更に含む、項目CXXII~CXXXIのいずれか一項に記載の方法。
CXXIX.鋸刃又はその他のツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、本ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分、及び鋸刃又はツールを支持するために手持ち部分に移動可能に結合された刃/ツール支持体、刃/ツール支持体と手持ち部分とを動作可能に相互接続して、刃/ツール支持体を複数の自由度で動かす、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、刃/ツール支持体は、鋸/ツール駆動モータを含み、本方法は、既知の座標系において、鋸刃/ツールの姿勢を決定するステップと、既知の座標系において、手持ち部分の姿勢を決定するステップと、複数のアクチュエータのうちの少なくとも1つの位置に基づいて、関節限界を決定するステップと、鋸刃/ツールの姿勢及び所定の直交空間に基づいて、作業空間限界を決定することと、鋸刃/ツールの目標姿勢、関節限界及び作業空間限界に基づいて、複数のアクチュエータの各々を制御することとを含む、方法。
CXXX.ツールとともに使用する手持ち式医療ロボットシステムであって、本システムは、器具であって、ユーザによって保持される手持ち部分、ツールを支持するために手持ち部分に結合されたツール支持体であって、ツール支持体は、ツール駆動モータを含む、ツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続し、手持ち部分に対してツール支持体を複数の自由度で動かして、ツールを位置合わせする、アクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを含む、器具、ローカライザ、複数のアクチュエータ、ローカライザ、及びツール駆動モータに結合された制御システムであって、既知の座標系において、ツールの目標姿勢及び手持ち部分の姿勢を決定するように構成された、制御システム、外力に基づいて、目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出する、制約ソルバ、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータを含み、制御システムは、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、指令関節位置又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、システム。
CXXXI.外科用ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持されるべき手持ち部分、及び外科用ツールを支持するために手持ち部分に移動可能に結合されたツール支持体、ツール支持体と手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリを有する、手持ち式器具とを含み、ツール支持体は、ツール駆動モータを含み、本方法は、ツール支持体と手持ち部分との間に加えられる外力の量を推定するステップと、推定された外力の量に基づいて、目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出するステップと、制約力に基づいて、仮想シミュレーションにおいて仮想ツールの動力学をシミュレートし、指令姿勢を出力するステップと、指令姿勢に基づいて、複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定するステップと、指令関節位置及び/又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するステップとを含む、方法。
いくつかの実施形態が、前述の記載において説明された。しかしながら、本明細書で議論された実施形態は、網羅的であること又は本教示をいずれかの特定の形態に限定することを意図されたものではない。使用されてきた用語は、限定するものではなく、本質的に説明の言葉であることを意図されている。多くの修正及び変形が、以上の教示に照らして可能であり、提示された教示は、具体的に説明されたもの以外の方法で実施され得る。
Claims (126)
- 鋸刃とともに使用する手持ち式医療用ロボットシステムであって、前記システムは、
ユーザによって保持される手持ち部分を含む、器具と、
前記鋸刃を支持するために前記手持ち部分に結合された刃支持体であって、前記刃支持体は、鋸駆動モータを含む、刃支持体と、
前記刃支持体と前記手持ち部分とを動作可能に相互接続して、前記刃支持体を前記手持ち部分に対して複数の自由度で動かして、前記鋸刃を位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリと、
ローカライザと、
前記複数のアクチュエータ、前記ローカライザ、及び前記鋸駆動モータに結合された制御システムであって、前記制御システムは、既知の座標系において、前記鋸刃の目標姿勢及び前記手持ち部分の姿勢を決定するように構成された、制御システムと、
を含み、前記制御システムは、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、
前記ガイド制約に基づいて、前記目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出する、制約ソルバと、
前記制約力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータと、
を含み、前記制御システムは、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定し、
前記指令関節位置に基づいて、複数のアクチュエータの各々を制御する、
ように更に構成されている、システム。 - 前記目標姿勢は、目標座標系を含み、前記鋸刃は、ガイドされた座標系を含み、前記制約力は、前記ガイドされた座標系を前記目標座標系に向けて動かすように適合されている、請求項1に記載のシステム。
- 前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々について指令関節速度を決定し、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御するように更に構成されている、請求項1又は2に記載のシステム。
- 複数のアクチュエータのうちの各少なくとも2つは、前記刃支持体及び前記手持ち部分に接続されている、請求項1~3のいずれか一項に記載のシステム。
- 患者トラッカを更に含み、前記患者トラッカは、前記既知の座標系において、患者の一部を追跡するように適合され、前記既知の座標系は、前記患者トラッカに対して定義される、請求項1~4のいずれか一項に記載のシステム。
- 前記制御システムは、前記複数のアクチュエータのうちの前記アクチュエータの各々の位置を決定し、前記鋸刃の姿勢を決定するように更に構成され、前記制御システムは、前記鋸刃の前記姿勢及び前記複数のアクチュエータのうちの前記アクチュエータの各々の前記位置に基づいて、前記手持ち部分の前記姿勢を決定するように構成されている、請求項1~5のいずれか一項に記載のシステム。
- 前記複数の各々は、前記複数のアクチュエータの各々の位置を測定するエンコーダを含む、請求項6に記載のシステム。
- 前記刃支持体に結合されたトラッカを更に含み、前記制御システムは、前記既知の座標系において、前記刃支持体に結合された前記トラッカの姿勢を決定し、前記刃支持体に結合された前記トラッカの前記姿勢に基づいて、前記鋸刃の前記姿勢を決定するように構成されている、請求項6又は7に記載のシステム。
- 前記制御システムは、前記既知の座標系において、前記鋸刃の姿勢を決定するように構成され、前記ガイド制約は、調整パラメータのための値を有し、前記制御システムは、前記鋸刃の前記目標姿勢と前記鋸刃の前記姿勢との間の関係に基づいて、前記調整パラメータの前記値を変更するように構成されている、請求項1~8のいずれか一項に記載のシステム。
- 前記仮想シミュレータは、前記ガイド制約及び外力値に基づいて、前記制約力を算出するように構成されているものとして更に定義される、請求項1~9のいずれか一項に記載のシステム。
- 前記制御システムは、前記既知の座標系において、インプラントの計画された姿勢を受信するように構成され、前記鋸刃の前記目標姿勢は、前記インプラントの前記計画された姿勢に基づく、請求項1~10のいずれか一項に記載のシステム。
- 前記制御システムは、関節センタリング制約を決定し、前記関節センタリング制約に基づいて、前記複数のアクチュエータを制御するように更に構成されている、請求項1~11のいずれか一項に記載のシステム。
- 前記制約ソルバは、前記ガイド制約に基づいて、かつ前記関節センタリング制約に基づいて、前記制約力を算出するように構成されている、請求項12に記載のシステム。
- 前記ガイド制約は、調整パラメータのための第1の値を有し、前記関節センタリング制約は、調整パラメータのための第2の値を有し、前記第1の値は、前記第2の値とは異なり、それにより、その結果の制約力が、前記関節センタリング制約と比較して、前記ガイド制約の結果として、より強く前記鋸刃を位置合わせするように適合されている、請求項13に記載のシステム。
- 前記指令姿勢は、前記手持ち部分と前記鋸刃との間の関係である、請求項1~14のいずれか一項に記載のシステム。
- 鋸刃とともに使用する手持ち式医療用ロボットシステムであって、前記システムは、
器具であって、
ユーザによって保持される手持ち部分と、
前記鋸刃を支持するために前記手持ち部分に結合された刃支持体であって、前記刃支持体は、鋸駆動モータを含む、刃支持体と、
前記刃支持体と前記手持ち部分とを動作可能に相互接続し、前記刃支持体を前記手持ち部分に対して複数の自由度で動かして、所望の平面上に前記鋸刃を配置する、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリと、
を含む、器具と、
ローカライザと、
前記複数のアクチュエータ、前記ローカライザ、及び前記鋸駆動モータに結合された制御システムであって、前記制御システムは、既知の座標系において、前記鋸刃の目標姿勢及び前記手持ち部分の姿勢を決定するように構成された、制御システムと、
を含み、前記制御システムは、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、
前記ガイド制約に基づいて、前記目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出する、制約ソルバと、
前記制約力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータと、
を含み、前記制御システムは、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、
前記指令関節位置及び/又は前記指令関節角度に基づいて、複数のアクチュエータの各々を制御する、
ように更に構成されている、システム。 - 前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々について指令関節速度を決定し、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御するように更に構成されている、請求項16に記載のシステム。
- 複数のアクチュエータのうちの各少なくとも2つは、前記刃支持体及び前記手持ち部分に接続されている、請求項16又は17に記載のシステム。
- 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記既知の座標系において、前記手持ち部分の姿勢を決定するステップと、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を決定するステップと、
前記ガイド制約に基づいて、前記目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出するステップと、
前記制約力からの入力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、前記仮想シミュレーションに基づいて指令姿勢を出力するステップと、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定するステップと、
前記複数のアクチュエータの各々の前記指令関節位置に基づいて、複数のアクチュエータの各々を制御するステップと、
を含む、方法。 - 前記既知の座標系において、患者トラッカを用いて患者の解剖学的構造の一部を追跡することを更に含み、前記既知の座標系は、前記患者トラッカに対して定義される、請求項19に記載の方法。
- 前記複数のアクチュエータのうちの前記アクチュエータの各々の位置を決定することと、前記鋸刃の姿勢を決定することとを更に含み、前記手持ち部分の前記姿勢を決定するステップは、前記鋸刃の前記姿勢及び前記複数のアクチュエータのうちの前記アクチュエータの各々の前記位置に基づく、請求項19又は20に記載の方法。
- 前記複数のアクチュエータの各々の位置を決定するステップは、前記複数のアクチュエータの各々に結合されたエンコーダを用いて、前記複数のアクチュエータの各々の位置を測定することとして更に定義される、請求項21に記載の方法。
- 前記既知の座標系において、前記刃支持体に結合されたトラッカの姿勢を決定することと、前記刃支持体に結合された前記トラッカの前記姿勢に基づいて、前記鋸刃の前記姿勢を決定することとを更に含む、請求項21又は22に記載の方法。
- 前記既知の座標系において、前記手持ち部分に結合されたトラッカの姿勢を決定することと、前記手持ち部分に結合された前記トラッカの前記姿勢に基づいて、前記手持ち部分の前記姿勢を決定することとを更に含む、請求項19~23のいずれか一項に記載の方法。
- 前記鋸刃の前記目標姿勢を決定するステップは、少なくとも3自由度で前記目標姿勢を定義することとして更に定義される、請求項19~24のいずれか一項に記載の方法。
- 前記目標姿勢は、目標座標系を含み、前記鋸刃は、ガイドされた座標系を含み、前記制約力は、前記ガイドされた座標系を前記目標座標系に向けて動かすように適合されている、請求項19~25のいずれか一項に記載の方法。
- 前記既知の座標系において、前記鋸刃の姿勢を決定することを更に含み、前記ガイド制約は、調整パラメータのための値を有し、前記方法は、前記鋸刃の前記目標姿勢と前記鋸刃の前記姿勢との間の関係に基づいて、前記調整パラメータの前記値を変更することを含む、請求項19~26のいずれか一項に記載の方法。
- 前記動力学をシミュレートするステップは、前記ガイド制約及び外力値に基づいて前記制約力を算出することとして更に定義される、請求項19に記載の方法。
- 前記既知の座標系において、インプラントの姿勢を計画することを更に含み、前記鋸刃の前記目標姿勢は、前記インプラントの前記計画された姿勢に基づく、請求項19に記載の方法。
- 関節センタリング制約を決定することと、前記関節センタリング制約に基づいて、前記複数のアクチュエータを制御することとを更に含む、請求項19~29のいずれか一項に記載の方法。
- 前記ガイド制約に基づいて、かつ前記関節センタリング制約に基づいて、前記仮想鋸刃を前記目標姿勢に向けて動かすよう適合された制約力を算出することと、
前記制約力に基づいて、前記仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、指令姿勢を出力することであって、前記鋸刃の前記目標姿勢に向けて動かすように前記複数のアクチュエータを制御することは、前記指令姿勢に基づいて前記鋸刃を位置合わせするように前記複数のアクチュエータに指令することとして更に定義されることと、
を更に含む、請求項30に記載の方法。 - 前記ガイド制約は、調整パラメータのための第1の値を有し、前記関節センタリング制約は、前記調整パラメータのための第2の値を有し、前記第1の値は、前記第2の値とは異なり、それにより、その結果の制約力が、前記関節センタリング制約と比較して、前記ガイド制約の結果として、より強く前記鋸刃を位置合わせするように適合されている、請求項31に記載の方法。
- 前記指令姿勢は、前記手持ち部分と前記鋸刃との間の関係である、請求項19~32のいずれか一項に記載の方法。
- 前記指令姿勢に基づいて、前記複数のアクチュエータの各々についての指令関節速度を決定することと、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御することとを更に含む、請求項19~33のいずれか一項に記載の方法。
- 鋸刃とともに使用する手持ち式医療ロボットシステムであって、前記システムは、
器具であって、
ユーザによって保持される手持ち部分、及び前記手持ち部分に結合された刃支持体であって、前記刃支持体は、前記鋸刃の動きを駆動する鋸駆動モータを含む、手持ち部分及び刃支持体と、
前記刃支持体と前記手持ち部分とを動作可能に相互接続し、前記鋸刃を位置合わせするために前記刃支持体を前記手持ち部分に対して複数の自由度で動かして、前記鋸刃を位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含み、任意に、複数のアクチュエータのうちの各少なくとも2つが、前記刃支持体及び前記手持ち部分に接続された、アクチュエータアセンブリと、
を有する、器具と、
ローカライザと、
前記複数のアクチュエータ、前記鋸駆動モータ、及び前記ローカライザに結合された、制御システムと、
を含み、前記制御システムは、
既知の座標系において、前記鋸刃の目標姿勢を決定し、
前記複数のアクチュエータの各々の位置を決定し、
前記複数のアクチュエータの各々の前記位置に基づいて、前記手持ち部分の姿勢を決定し、
前記手持ち部分の前記姿勢及び前記鋸刃の前記目標姿勢に基づいて、前記鋸刃の指令姿勢を決定し、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定し、
前記指令関節位置に基づいて、複数のアクチュエータの各々を制御する、
ように構成されている、システム。 - 患者トラッカを更に含み、前記患者トラッカは、前記既知の座標系において、患者の一部を追跡するように適合され、前記既知の座標系は、前記患者トラッカに対して定義される、請求項35に記載のシステム。
- 前記制御システムは、前記複数のアクチュエータのうちの前記アクチュエータの各々の位置を決定し、前記鋸刃の姿勢を決定するように更に構成され、前記制御システムは、前記鋸刃の前記姿勢及び前記複数のアクチュエータのうちの前記アクチュエータの各々の前記位置に基づいて、前記手持ち部分の前記姿勢を決定するように構成されている、請求項35又は36に記載のシステム。
- 前記複数の各々は、前記複数のアクチュエータの各々の位置を測定するエンコーダを含む、請求項37に記載のシステム。
- 前記刃支持体に結合されたトラッカを更に含み、前記制御システムは、前記既知の座標系において、前記刃支持体に結合された前記トラッカの姿勢を決定し、前記刃支持体に結合された前記トラッカの前記姿勢に基づいて、前記鋸刃の前記姿勢を決定するように構成されている、請求項37又は38に記載のシステム。
- 前記制御システムは、前記既知の座標系において、インプラントの計画された姿勢を受信するように構成され、前記鋸刃の前記目標姿勢は、前記インプラントの前記計画された姿勢に基づく、請求項35~39のいずれか一項に記載のシステム。
- 前記指令姿勢は、前記手持ち部分と前記鋸刃との間の関係である、請求項35~40のいずれか一項に記載のシステム。
- 前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々について指令関節速度を決定し、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御するように更に構成されている、請求項35~41のいずれか一項に記載のシステム。
- 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記複数のアクチュエータの各々の位置を決定するステップと、
前記複数のアクチュエータの各々の前記位置に基づいて、前記手持ち部分の姿勢を決定するステップと、
前記手持ち部分の前記姿勢及び前記鋸刃の前記目標姿勢に基づいて、前記鋸刃の指令姿勢を決定するステップと、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定するステップと、
前記指令関節位置に基づいて、複数のアクチュエータの各々を制御するステップと、
を含む、方法。 - 前記既知の座標系において、患者トラッカを用いて患者の解剖学的構造の一部を追跡することを更に含み、前記既知の座標系は、前記患者トラッカに対して定義される、請求項43に記載の方法。
- 前記複数のアクチュエータのうちの前記アクチュエータの各々の位置を決定することと、前記鋸刃の姿勢を決定することとを更に含み、前記手持ち部分の前記姿勢を決定するステップは、前記鋸刃の前記姿勢及び前記複数のアクチュエータのうちの前記アクチュエータの各々の前記位置に基づく、請求項43又は44に記載の方法。
- 前記複数のアクチュエータの各々の位置を決定するステップは、前記複数のアクチュエータの各々に結合されたエンコーダを用いて、前記複数のアクチュエータの各々の位置を測定することとして更に定義される、請求項45に記載の方法。
- 前記既知の座標系において、前記刃支持体に結合されたトラッカの姿勢を決定することと、前記刃支持体に結合された前記トラッカの前記姿勢に基づいて、前記鋸刃の前記姿勢を決定することとを更に含む、請求項45又は46に記載の方法。
- 前記既知の座標系において、インプラントの姿勢を計画することを更に含み、前記鋸刃の前記目標姿勢は、前記インプラントの前記計画された姿勢に基づく、請求項43~47のいずれか一項に記載の方法。
- 前記指令姿勢に基づいて、前記複数のアクチュエータの各々についての指令関節速度を決定することと、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御することとを更に含む、請求項43~48のいずれか一項に記載の方法。
- 前記鋸刃の前記目標姿勢を決定するステップは、少なくとも3自由度で前記目標姿勢を定義することとして更に定義される、請求項43~49のいずれか一項に記載の方法。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、
器具であって、
ユーザによって保持される手持ち部分、及び前記手持ち部分に結合されたツール支持体であって、前記ツール支持体は、前記ツールの動きを駆動するツール駆動モータを含む、手持ち部分及びツール支持体と、
前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツール支持体を動かして前記ツールを前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含み、任意に、複数のアクチュエータの各少なくとも2つが、前記ツール支持体及び前記手持ち部分に接続されている、アクチュエータアセンブリと、
を有する、器具と、
ローカライザと、
前記複数のアクチュエータ及び前記ローカライザに結合された、制御システムと、
を含み、前記制御システムは、
既知の座標系において、前記手持ち部分の姿勢、前記ツールの目標姿勢、及び境界を決定し、
前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、指令姿勢を決定し、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々について、指令関節位置及び/又は指令関節角度を決定し、
各アクチュエータについての前記指令関節位置及び/又は指令関節角度に基づいて、前記複数のアクチュエータの各々を制御し、
少なくとも1つのアクチュエータの前記指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、少なくとも1つのアクチュエータの指令関節角度、少なくとも1つのアクチュエータの測定された関節角度、少なくとも1つのアクチュエータの以前の指令関節角度、少なくとも1つのアクチュエータの以前の測定された関節角度、又はこれらの組合せに基づいて、前記ツール駆動モータを制御する、
ように構成されている、システム。 - 前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々について指令関節速度を決定し、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御するように更に構成されている、請求項51に記載のシステム。
- 前記制御システムは、前記少なくとも1つのアクチュエータの前記以前の指令位置、又はこれらの組合せに基づいて、前記ツール駆動モータを制御するように構成されている、請求項51又は52に記載のシステム。
- 前記制御システムは、前記複数のアクチュエータのうちの第1のアクチュエータについての前記指令関節位置と、前記第1のアクチュエータについての第1のモータオーバライド限界とを比較し、前記比較に基づいて、前記ツール駆動モータを制御するように構成されている、請求項51~53のいずれか一項に記載のシステム。
- 前記第1のモータオーバライド限界は、上限閾値及び下限閾値を含む、請求項54に記載のシステム。
- 前記制御システムは、前記複数のアクチュエータのうちの第2のアクチュエータについての前記指令関節位置と、前記第2のアクチュエータについての第2のモータオーバライド限界とに基づいて、前記ツール駆動モータを制御するように構成されている、請求項54又は55に記載のシステム。
- 前記制御システムは、前記ツール駆動モータのモータパラメータを第1の値及び第2の値で制御することによって、前記駆動モータを制御するように構成され、前記第1の値は、前記第2の値とは異なり、前記制御システムは、前記第1のアクチュエータについての前記指令関節位置及び前記第1のモータオーバライド限界に基づいて、前記第1の値から前記第2の値へと動作を変更するように動作可能である、請求項54~56のいずれか一項に記載のシステム。
- 前記ツール駆動モータを制御するように構成された前記制御システムは、前記ツール駆動モータを停止させるように構成されているものとして更に定義される、請求項51~57のいずれか一項に記載のシステム。
- 鋸刃とともに使用する手持ち式医療ロボットシステムであって、前記システムは、
器具であって、
ユーザによって保持される手持ち部分と、
前記鋸刃を支持するために前記手持ち部分に結合された刃支持体であって、前記刃支持体は、鋸駆動モータを含む、刃支持体と、
前記刃支持体と前記手持ち部分とを動作可能に相互接続し、前記刃支持体を前記手持ち部分に対して複数の自由度で動かして、前記鋸刃を位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリと、
を含む、器具と、
ローカライザと、
前記複数のアクチュエータ、前記ローカライザ、及び前記鋸駆動モータに結合された、制御システムと、
を含み、前記制御システムは、
既知の座標系において、前記鋸刃の目標姿勢及び前記手持ち部分の姿勢を決定し、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、前記複数のアクチュエータの各々を制御し、
少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、前記鋸駆動モータを制御する、
ように構成された、システム。 - 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御して、前記鋸刃を所望の平面上に配置する方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記既知の座標系において、前記手持ち部分の姿勢を決定するステップと、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、指令姿勢を決定するステップと、
前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定するステップと、
各アクチュエータの前記指令関節位置に基づいて、複数のアクチュエータの各々を制御するステップと、
少なくとも1つのアクチュエータの前記指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、前記鋸駆動モータを制御するステップと、
を含む、方法。 - 前記鋸駆動モータを制御するステップは、前記少なくとも1つのアクチュエータの前記以前の指令位置、又はこれらの組合せに基づいて、前記鋸駆動モータを制御することとして定義される、請求項60に記載の方法。
- 前記鋸駆動モータを制御するステップは、前記複数のアクチュエータのうちの第1のアクチュエータについての前記指令関節位置と、前記第1のアクチュエータについての第1のモータオーバライド限界とを比較することとして更に定義される、請求項61に記載の方法。
- 前記第1のモータオーバライド限界は、上限閾値及び下限閾値を含む、請求項62に記載の方法。
- 前記鋸駆動モータを制御するステップは、前記複数のアクチュエータのうちの第2のアクチュエータについての前記指令関節位置、及び前記第2のアクチュエータについての第2のモータオーバライド限界に基づいて、前記鋸駆動モータを制御することとして更に定義される、請求項62又は63に記載の方法。
- 前記鋸駆動モータを制御するステップは、前記鋸駆動モータのモータパラメータを第1の値及び第2の値で制御することを含み、前記第1の値は、前記第2の値とは異なり、前記鋸駆動モータを制御するステップは、前記第1のアクチュエータについての前記指令関節位置及び前記第1のモータオーバライド限界に基づいて、前記第1の値から前記第2の値へ動作を変更するように動作可能である、請求項62~64のいずれか一項に記載の方法。
- 前記指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、前記鋸駆動モータを制御することは、前記鋸駆動モータを停止させることとして更に定義される、請求項62~65のいずれか一項に記載の方法。
- 前記指令姿勢に基づいて、前記複数のアクチュエータの各々についての指令関節速度を決定することと、前記複数のアクチュエータの各々の前記指令関節速度に基づいて、前記複数のアクチュエータの各々を制御することとを更に含む、請求項62~66のいずれか一項に記載の方法。
- 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御して、前記鋸刃を位置合わせする方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記既知の座標系において、前記手持ち部分の姿勢を決定するステップと、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、複数のアクチュエータの各々を制御するステップと、
少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、前記鋸駆動モータを制御するステップと、
を含む、方法。 - 鋸刃とともに使用する手持ち式医療ロボットシステムであって、前記システムは、
器具であって、
鋸刃と、
手持ち部分と、
複数のアクチュエータを含むアクチュエータシステムと、
前記鋸刃を支持し、前記鋸刃を動かす刃支持体であって、前記複数のアクチュエータは、前記刃支持体と手持ち部分との間に延在し、前記刃支持体は、鋸駆動モータを含む、刃支持体と、
を含む、器具と、
ローカライザと、
前記複数のアクチュエータ、前記ローカライザ、及び前記鋸駆動モータに結合された、制御システムであって、既知の座標系において、前記鋸刃の目標姿勢、前記鋸刃の状態、及び前記手持ち部分の姿勢を決定するように構成された、制御システムと、
を含み、前記制御システムは、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を生成する、ガイドハンドラであって、前記ガイド制約は、調整パラメータのための値を有し、前記ガイドハンドラは、前記鋸刃の状態に基づいて、前記調整パラメータの前記値を変更するように構成されている、ガイドハンドラと、
前記ガイド制約に基づいて、前記目標姿勢に向けて仮想鋸刃を動かすよう適合された制約力を算出する、制約ソルバと、
前記制約力からの入力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、指令姿勢を出力する仮想シミュレータであって、前記制御システムは、前記指令姿勢に基づいて、前記鋸刃を位置合わせするように前記複数のアクチュエータに指令するように構成された、仮想シミュレータと、
を含む、システム。 - 前記ガイド制約の前記調整パラメータは、前記ガイド制約の硬直性又は減衰に影響を及ぼす、請求項69に記載のシステム。
- 前記鋸刃の前記目標姿勢は、前記既知の座標系における、第1の自由度における位置、第1の角度、及び第2の角度によって定義される、請求項69又は70に記載のシステム。
- 前記鋸刃の前記状態は、前記既知の座標系における位置、向き、又は姿勢を含む、請求項69~71のいずれか一項に記載のシステム。
- 前記目標姿勢は、位置及び向きを含み、ガイドハンドラは、前記既知の座標系において、前記鋸刃の向きと前記鋸刃の目標向きとの間の角度を決定する、前記鋸刃の位置と前記鋸刃の目標位置との間の距離を決定する、又は前記角度及び前記距離の両方を決定するように更に構成され、前記角度の値、前記距離の値、又は前記角度の前記値及び前記距離の前記値の両方に基づいて、前記調整パラメータの前記値を変更するよう構成されている、請求項72に記載のシステム。
- 前記鋸刃の前記状態は、前記既知の座標系における、指令姿勢、前記鋸刃の以前の指令姿勢、前記鋸刃の測定された姿勢、又は前記鋸刃の以前の測定された姿勢として更に定義される、請求項69~73のいずれか一項に記載のシステム。
- 前記鋸刃の前記状態は、前記既知の座標系における前記鋸刃の以前の指令姿勢として更に定義される、請求項69~74のいずれか一項に記載のシステム。
- 複数のアクチュエータの各少なくとも2つは、前記刃支持体及び前記手持ち部分に接続されている、請求項69~75のいずれか一項に記載のシステム。
- 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記既知の座標系において、前記鋸刃の状態を決定するステップと、
前記鋸刃の状態に基づいて、調整パラメータの値を決定するステップと、
前記鋸刃の前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、かつ前記調整パラメータの前記値に基づいて、ガイド制約を生成するステップと、
前記ガイド制約に基づいて、仮想鋸刃を動かすよう適合された制約力を算出するステップと、
前記制約力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、前記仮想シミュレーションに基づいて指令姿勢を出力するステップと、
前記指令姿勢に基づいて、複数のアクチュエータの各々を制御するステップと、
を含む、方法。 - 前記鋸刃の前記状態は、以前の指令姿勢である、請求項77に記載の方法。
- 前記ガイド制約の前記調整パラメータは、前記ガイド制約の硬直性又は減衰に影響を及ぼす、請求項77又は78に記載の方法。
- 前記鋸刃の前記目標姿勢は、前記既知の座標系における、第1の自由度における位置、第1の角度、及び第2の角度によって定義される、請求項77~79のいずれか一項に記載の方法。
- 前記鋸刃の前記状態は、前記既知の座標系における位置、向き、又は姿勢を含む、請求項77~80のいずれか一項に記載の方法。
- 前記目標姿勢は、位置及び向きを含み、前記方法は、前記既知の座標系において、前記鋸刃の向きと前記鋸刃の目標向きとの間の角度を決定すること、前記鋸刃の位置と前記鋸刃の目標位置との間の距離を決定すること、又は前記角度及び前記距離の両方を決定することを更に含み、前記角度の値、前記距離の値、又は前記角度の前記値及び前記距離の前記値の両方に基づいて、前記調整パラメータの前記値を変更するように構成されている、請求項77~81のいずれか一項に記載の方法。
- 前記鋸刃の前記状態は、前記既知の座標系における、指令姿勢、前記鋸刃の以前の指令姿勢、前記鋸刃の測定された姿勢、又は前記鋸刃の以前の測定された姿勢として更に定義される、請求項77~82のいずれか一項に記載の方法。
- 前記鋸刃の前記状態は、前記既知の座標系における前記鋸刃の以前の指令姿勢として更に定義される、請求項83に記載の方法。
- 鋸刃とともに使用する手持ち式医療ロボットシステムであって、前記システムは、
器具であって、
ユーザによって保持される手持ち部分と、
前記鋸刃を支持するために前記手持ち部分に結合された刃支持体であって、前記刃支持体は、鋸駆動モータを含む、刃支持体と、
前記刃支持体と前記手持ち部分とを動作可能に相互接続し、前記刃支持体を前記手持ち部分に対して複数の自由度で動かして、前記鋸刃を所望の平面上に配置する、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリと、
を含む、器具と、
ローカライザと、
前記複数のアクチュエータ、前記ローカライザ、及び前記鋸駆動モータに結合された、制御システムと、
を含み、前記制御システムは、
既知の座標系において、前記鋸刃の目標姿勢、前記鋸刃の状態を決定し、
前記既知の座標系に対する、基準座標系の位置及び/又は向きを決定し、
前記鋸刃の前記状態と前記基準座標系との間の関係に基づいて、第1の制約の状態を決定し、前記鋸刃の前記状態と前記基準座標系との間の関係に基づいて、前記第1の制約とは異なる第2の制約の状態を決定する、
ように構成され、前記制御システムは、
前記第1の制約の前記状態に基づいて、かつ前記第2の制約に基づいて、仮想鋸刃を前記目標姿勢に向けて動かすよう適合された制約力を算出する、制約ソルバと、
前記制約力に基づいて、仮想シミュレーションにおいて前記仮想鋸刃の動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータと、
を更に含み、前記制御システムは、前記指令姿勢に基づいて、前記アクチュエータの各々を制御するように更に構成されている、システム。 - ユーザ入力デバイスを更に含み、前記制御システムは、前記ユーザ入力デバイスから受信されたユーザ入力信号に基づいて、前記第1の制約及び/又は前記第2の制約の前記状態を変更するように構成されている、請求項85に記載のシステム。
- 複数のアクチュエータの各少なくとも2つは、前記刃支持体及び前記手持ち部分に接続されている、請求項85又は86に記載のシステム。
- 前記第1の制約の前記状態は、
前記第1の制約のアクティブな状態、前記第1の制約の非アクティブな状態、調整パラメータの第1の値を有する前記第1の制約、及び前記調整パラメータの第2の値を有する前記第1の制約を含む群から選択され、前記第2の制約の前記状態は、前記第2の制約のアクティブな状態、前記第2の制約の非アクティブな状態、調整パラメータの第3の値を有する前記第2の制約、及び前記調整パラメータの第4の値を有する前記第2の制約を含む群から選択される、請求項85~87のいずれか一項に記載のシステム。 - 前記第1の制約は、ガイド制約であり、前記第2の制約は、関節センタリング制約である、請求項88に記載のシステム。
- 前記鋸刃の第1の状態及び前記鋸刃の第2の状態は、前記既知の座標系における位置、向き、又は姿勢を含む、請求項85~89のいずれか一項に記載のシステム。
- 前記鋸刃の前記状態は、第1の時間における前記鋸刃の第1の状態、及び第2の時間における前記鋸刃の第2の状態として更に定義され、前記鋸刃の前記第1の状態は、前記鋸刃の前記第2の状態とは異なり、前記第1の時間は、前記第2の時間とは異なり、前記第1の制約の前記状態は、前記鋸刃の前記第1の状態において非アクティブであり、前記鋸刃の第2の状態においてアクティブであり、前記第2の制約の前記状態は、前記鋸刃の前記第1の状態においてアクティブであり、前記鋸刃の前記第2の状態において非アクティブである、請求項85~90のいずれか一項に記載のシステム。
- 前記鋸刃の前記状態は、第1の時間における前記鋸刃の第1の状態、及び第2の時間における前記鋸刃の第2の状態として更に定義され、前記鋸刃の前記第1の状態は、前記鋸刃の前記第2の状態とは異なり、前記第1の時間は、前記第2の時間とは異なり、前記第1の制約の前記状態は、前記鋸刃の前記第1の状態において調整パラメータの第1の値を有し、前記鋸刃の第2の状態において前記調整パラメータの第2の値を有する状態であり、前記第2の制約の前記状態は、前記鋸刃の前記第1の状態において前記調整パラメータの第3の値を有し、前記鋸刃の前記第2の状態において前記調整パラメータの第4の値を有する状態である、請求項85~91のいずれか一項に記載のシステム。
- 前記制御システムは、前記鋸刃の前記第1の状態及び前記基準座標系に基づいて、第1の距離パラメータを決定し、前記鋸刃の前記第2の状態及び前記基準座標系に基づいて、第2の距離パラメータを決定するように構成され、前記第1の距離パラメータ及び前記第2の距離パラメータは、向き及び大きさを含む群から選択され、前記鋸刃の前記第1の状態と前記基準座標系との間の関係に基づいて、第1の制約の前記状態を決定することは、前記第1の距離パラメータに基づいて、前記第1の制約の前記第1の状態を決定することとして更に定義され、前記鋸刃の前記第2の状態と前記基準座標系との間の関係に基づいて、前記第1の制約の前記第2の状態を決定することは、前記第2の距離パラメータに基づいて、前記第1の制約の前記第2の状態を決定することとして更に定義される、請求項85~92のいずれか一項に記載のシステム。
- 前記鋸刃の前記第1の状態と前記基準座標系との間の関係に基づいて、第2の制約の前記状態を決定することは、前記第1の距離パラメータに基づいて、前記第2の制約の前記第1の状態を決定することとして更に定義され、前記鋸刃の前記第2の状態と前記基準座標系との間の関係に基づいて、前記第2の制約の前記第2の状態を決定することは、前記第2の距離パラメータに基づいて、前記第2の制約の前記第2の状態を決定することとして更に定義される、請求項93に記載のシステム。
- 前記第1の距離パラメータ及び前記第2の距離パラメータは、それぞれ骨から離れる方向及び骨に入る方向から選択される、請求項93又は94に記載のシステム。
- 前記調整パラメータの前記第1の値及び前記第2の値は、関数によって定義される、請求項85~95のいずれか一項に記載のシステム。
- 前記関数は、少なくとも1自由度における、前記基準座標系に対する前記鋸刃の距離及び/又は角度に基づく、請求項96に記載のシステム。
- 前記第1の制約の前記状態及び/又は前記第2の制約の前記状態は、関数によって定義される、請求項85~97のいずれか一項に記載のシステム。
- 前記関数は、少なくとも1自由度における、前記基準座標系に対する前記鋸刃の距離及び/又は角度に基づく、請求項98に記載のシステム。
- 前記第1の制約の前記状態及び/又は前記第2の制約の前記状態は、ルックアップテーブルによって定義される、請求項85に記載のシステム。
- 鋸刃とともに使用する手持ち式医療ロボットシステムの動きを制御する方法であって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記鋸刃を支持するために前記手持ち部分に移動可能に結合された刃支持体と、及び前記刃支持体と前記手持ち部分とを動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記刃支持体は、鋸駆動モータを含み、前記方法は、
既知の座標系において、前記鋸刃の目標姿勢を決定するステップと、
前記既知の座標系に対する、基準座標系の位置及び/又は向きを決定するステップと、
前記既知の座標系において、前記鋸刃の状態を決定するステップと、
前記鋸刃の前記状態と前記基準座標系との間の関係に基づいて、第1の制約の状態を決定するステップと、
前記鋸刃の前記状態と前記基準座標系との間の関係に基づいて、第2の制約の状態を決定するステップであって、前記第1の制約は、前記第2の制約とは異なる、ステップと、
前記第1の制約の前記状態及び/又は前記第2の制約の前記状態に基づいて、仮想鋸刃を動かすよう適合された制約力を算出するステップと、
前記制約力に基づいて、仮想シミュレーションにおいて、前記仮想鋸刃の動力学をシミュレートし、前記仮想シミュレーションに基づいて指令姿勢を出力するステップと、
前記指令姿勢に基づいて、複数のアクチュエータの各々を制御するステップと、
を含む、方法。 - 前記第1の制約の前記状態は、
前記第1の制約のアクティブな状態、前記第1の制約の非アクティブな状態、調整パラメータの第1の値を有する前記第1の制約、及び前記調整パラメータの第2の値を有する前記第1の制約を含む群から選択され、前記第2の制約の前記状態は、前記第2の制約のアクティブな状態、前記第2の制約の非アクティブな状態、調整パラメータの第3の値を有する前記第2の制約、及び前記調整パラメータの第4の値を有する前記第2の制約を含む群から選択される、請求項101に記載の方法。 - 前記第1の制約は、ガイド制約であり、前記第2の制約は、関節センタリング制約である、請求項102に記載の方法。
- 前記鋸刃の第1の状態及び前記鋸刃の第2の状態は、前記既知の座標系における位置、向き、又は姿勢を含む、請求項103に記載の方法。
- 前記鋸刃の前記状態は、第1の時間における前記鋸刃の第1の状態、及び第2の時間における前記鋸刃の第2の状態として更に定義され、前記鋸刃の前記第1の状態は、前記鋸刃の前記第2の状態とは異なり、前記第1の時間は、前記第2の時間とは異なり、前記第1の制約の前記状態は、前記鋸刃の前記第1の状態において非アクティブであり、前記鋸刃の第2の状態においてアクティブであり、前記第2の制約の前記状態は、前記鋸刃の前記第1の状態においてアクティブであり、前記鋸刃の前記第2の状態において非アクティブである、請求項104に記載の方法。
- 前記鋸刃の前記状態は、第1の時間における前記鋸刃の第1の状態、及び第2の時間における前記鋸刃の第2の状態として更に定義され、前記鋸刃の前記第1の状態は、前記鋸刃の前記第2の状態とは異なり、前記第1の時間は、前記第2の時間とは異なり、前記第1の制約の前記状態は、前記鋸刃の前記第1の状態において前記調整パラメータの前記第1の値を有し、前記鋸刃の第2の状態において前記調整パラメータの前記第2の値を有する状態であり、前記第2の制約の前記状態は、前記鋸刃の前記第1の状態において前記調整パラメータの前記第3の値を有し、前記鋸刃の前記第2の状態において前記調整パラメータの前記第4の値を有する状態である、請求項104又は105に記載の方法。
- 前記鋸刃の前記第1の状態と前記基準座標系とに基づいて、第1の距離パラメータを決定することと、前記鋸刃の前記第2の状態と前記基準座標系とに基づいて、第2の距離パラメータを決定することとを更に含み、前記第1の距離パラメータ及び前記第2の距離パラメータは、方向及び大きさを含む群から選択され、前記鋸刃の前記第1の状態と前記基準座標系との間の関係に基づいて、第1の制約の前記状態を決定することは、前記第1の距離パラメータに基づいて、前記第1の制約の前記第1の状態を決定することとして更に定義され、前記鋸刃の前記第2の状態と前記基準座標系との間の関係に基づいて、前記第1の制約の前記第2の状態を決定することは、前記第2の距離パラメータに基づいて、前記第1の制約の前記第2の状態を決定することとして更に定義される、請求項105又は106に記載の方法。
- 前記鋸刃の前記第1の状態と前記基準座標系との間の関係に基づいて、第2の制約の前記状態を決定することは、前記第1の距離パラメータに基づいて、前記第2の制約の前記第1の状態を決定することとして更に定義され、前記鋸刃の前記第2の状態と前記基準座標系との間の関係に基づいて、前記第2の制約の前記第2の状態を決定することは、前記第2の距離パラメータに基づいて、前記第2の制約の前記第2の状態を決定することとして更に定義される、請求項107に記載の方法。
- 前記第1の距離パラメータ及び前記第2の距離パラメータは、それぞれ骨から離れる方向及び骨に入る方向から選択される、請求項107又は108に記載の方法。
- 基準座標系は、患者トラッカに対して定義される、請求項101~109のいずれか一項に記載の方法。
- 前記基準座標系は、前記鋸刃の前記目標姿勢に基づく、請求項101~110のいずれか一項に記載の方法。
- ユーザ入力信号を受信することと、前記ユーザ入力信号に基づいて、前記第1の制約及び/又は前記第2の制約の前記状態を変更することとを更に含む、請求項101~111のいずれか一項に記載の方法。
- 前記調整パラメータの前記第1の値及び前記第2の値は、関数によって定義される、請求項101~112のいずれか一項に記載の方法。
- 前記関数は、少なくとも1自由度における、前記基準座標系に対する前記鋸刃の距離及び/又は角度に基づく、請求項113に記載の方法。
- 前記第1の制約の前記状態及び/又は前記第2の制約の前記状態は、関数によって定義される、請求項101~114のいずれか一項に記載の方法。
- 前記関数は、少なくとも1自由度における、前記基準座標系に対する前記鋸刃の距離及び/又は角度に基づく、請求項115に記載の方法。
- 前記第1の制約の前記状態及び/又は前記第2の制約の前記状態は、ルックアップテーブルによって定義される、請求項101~114のいずれか一項に記載の方法。
- 外科用ツールとともに使用する手持ち式医療ロボットシステムの動きを制御する方法又はシステムであって、前記ロボットシステムは、ローカライザと、手持ち式器具であって、ユーザによって保持される手持ち部分と、前記外科用ツールを支持するために前記手持ち部分に移動可能に結合されたツール支持体と、前記ツール支持体と前記手持ち部分を動作可能に相互接続するアクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを有する、手持ち式器具とを含み、前記ツール支持体は、ツール駆動モータを含み、前記方法は、
既知の座標系における少なくとも1自由度において、前記外科用ツールの目標姿勢を決定するステップと、
前記既知の座標系に対する、基準座標系の位置及び/又は向きを決定するステップと、
前記既知の座標系において、前記外科用ツールの状態を決定するステップと、
前記外科用ツールの前記状態と前記基準座標系との間の関係に基づいて、第1の制約の状態を決定するステップと、
前記外科用ツールの前記状態と前記基準座標系との間の関係に基づいて、第2の制約の状態を決定するステップであって、前記第1の制約は、前記第2の制約とは異なる、ステップと、
前記第1の制約の前記状態及び前記第2の制約の前記状態に基づいて、複数のアクチュエータの各々を制御するステップと、
を含む、又はこれらのステップを実行するように構成された製品を含む、方法又はシステム。 - ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記ツールを支持するために前記手持ち部分に結合されたツール支持体であって、前記ツール支持体はツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ、及び前記ツール駆動モータに結合された、制御システムであって、既知の座標系において、前記ツールの目標姿勢及び前記手持ち部分の姿勢を決定するように構成された、制御システムと、外力に基づいて、前記目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出する、制約ソルバと、前記制約力に基づいて、仮想シミュレーションにおいて前記仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを含み、前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、前記指令関節位置又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように更に構成された、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記ツールを支持するために前記手持ち部分に結合されたツール支持体であって、前記ツール支持体はツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続して、前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ、及び前記ツール駆動モータに結合された制御システムであって、前記制御システムは、既知の座標系において、前記ツールの目標姿勢及び前記手持ち部分の姿勢を決定するように構成された、制御システムとを含み、前記制御システムは、前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、前記ガイド制約に基づいて、前記目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出する、制約ソルバと、前記制約力に基づいて、仮想シミュレーションにおいて前記仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを含み、前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定し、前記指令関節位置に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記ツールを支持するために前記手持ち部分に結合されたツール支持体であって、前記ツール支持体は、ツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを所望の軌道上に配置する、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ、及び前記ツール駆動モータに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記ツールの目標姿勢及び前記手持ち部分の姿勢を決定するように構成され、前記制御システムは、前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を決定する、ガイドハンドラと、前記ガイド制約に基づいて、前記目標姿勢に向けて仮想ツールを動かすよう適合された制約力を算出する、制約ソルバと、前記制約力に基づいて、仮想シミュレーションにおいて前記仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを含み、前記制御システムは、前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置及び/又は指令関節角度を決定し、前記指令関節位置及び/又は指令関節角度に基づいて、複数のアクチュエータの各々を制御するように更に構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記手持ち部分に結合されたツール支持体であって、前記ツール支持体は、前記ツールの動きを駆動するツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツールを位置合わせするために前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含み、任意に、複数のアクチュエータのうちの各少なくとも2つが、前記ツール支持体及び前記手持ち部分に接続された、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ツール駆動モータ及びローカライザに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記ツールの目標姿勢を決定し、前記複数のアクチュエータの各々の位置を決定し、前記複数のアクチュエータの各々の前記位置に基づいて、前記手持ち部分の姿勢を決定し、前記手持ち部分の前記姿勢及び前記ツールの前記目標姿勢に基づいて、前記ツールの指令姿勢を決定し、前記指令姿勢に基づいて、前記複数のアクチュエータの各々の指令関節位置を決定し、前記指令関節位置に基づいて、複数のアクチュエータの各々を制御するように構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記手持ち部分に結合されたツール支持体であって、前記ツール支持体は、前記ツールの動きを駆動するツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続して、前記ツールを動かすために前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含み、任意に、複数のアクチュエータのうちの各少なくとも2つが、前記ツール支持体及び前記手持ち部分に接続されている、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ及び前記ローカライザに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記手持ち部分の姿勢、前記ツールの目標姿勢、及び境界を決定し、前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、指令姿勢を決定し、前記指令姿勢に基づいて、前記複数のアクチュエータの各々についての指令関節位置及び/又は指令関節角度を決定し、各アクチュエータについての前記指令関節位置及び/又は指令関節角度に基づいて、前記複数のアクチュエータの各々を制御し、少なくとも1つのアクチュエータの前記指令関節位置、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の指令位置、少なくとも1つのアクチュエータの以前の測定された位置、少なくとも1つのアクチュエータの指令関節角度、少なくとも1つのアクチュエータの測定された関節角度、少なくとも1つのアクチュエータの以前の指令関節角度、少なくとも1つのアクチュエータの以前の測定された関節角度、又はこれらの組合せに基づいて、前記ツール駆動モータを制御するように構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記ツールを支持するために前記手持ち部分に結合されたツール支持体であって、前記ツール支持体は、ツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを位置合わせする、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ及び前記ツール駆動モータに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記ツールの目標姿勢及び前記手持ち部分の姿勢を決定し、前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、前記複数のアクチュエータの各々を制御し、少なくとも1つのアクチュエータの測定された位置、少なくとも1つのアクチュエータの以前の測定された位置、又はこれらの組合せに基づいて、前記ツール駆動モータを制御するよう構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ツールと、手持ち部分と、複数のアクチュエータを含むアクチュエータシステムと、前記ツールを支持し、前記ツールを動かすツール支持体であって、前記複数のアクチュエータは、前記ツール支持体と手持ち部分との間に延在し、前記ツール支持体は、ツール駆動モータを含む、ツール支持体とを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ及び前記ツール駆動モータに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記ツールの目標姿勢、前記ツールの状態、及び前記手持ち部分の姿勢を決めるように構成され、前記制御システムは、前記ツールの前記目標姿勢及び前記手持ち部分の前記姿勢に基づいて、ガイド制約を生成する、ガイドハンドラであって、前記ガイド制約は、調整パラメータのための値を有し、前記ガイドハンドラは、前記ツールの状態に基づいて、前記調整パラメータの前記値を変更するように構成されている、ガイドハンドラと、前記ガイド制約に基づいて、仮想ツールを前記目標姿勢に向けて動かすよう適合された制約力を算出する、制約ソルバと、前記制約力からの入力に基づいて、仮想シミュレーションにおいて前記仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータと、を含み、前記制御システムは、前記指令姿勢に基づいて、前記ツールを位置合わせするように、前記複数のアクチュエータに指令するように構成されている、システム。
- ツールとともに使用する手持ち式医療ロボットシステムであって、前記システムは、器具であって、ユーザによって保持される手持ち部分と、前記ツールを支持するため、前記手持ち部分に結合された、ツール支持体であって、前記ツール支持体は、ツール駆動モータを含む、ツール支持体と、前記ツール支持体と前記手持ち部分とを動作可能に相互接続し、前記ツール支持体を前記手持ち部分に対して複数の自由度で動かして、前記ツールを所望の軌道上に配置するか、又は1以上の自由度で仮想オブジェクトと位置合わせして配置する、アクチュエータアセンブリであって、前記アクチュエータアセンブリは、複数のアクチュエータを含む、アクチュエータアセンブリとを含む、器具と、ローカライザと、前記複数のアクチュエータ、前記ローカライザ、及び前記ツール駆動モータに結合された、制御システムとを含み、前記制御システムは、既知の座標系において、前記ツールの目標姿勢、前記ツールの状態を決定し、前記既知の座標系に対する、基準座標系の位置及び/又は向きを決定し、前記ツールの前記状態と前記基準座標系との間の関係に基づいて第1の制約の状態を決定し、前記ツールの前記状態と前記基準座標系との間の関係に基づいて、前記第1の制約とは異なる第2の制約の状態を決定するように構成され、前記制御システムは、前記第1の制約の前記状態に基づいて、かつ前記第2の制約に基づいて、仮想ツールを前記目標姿勢に向けて動かすよう適合された制約力を算出する、制約ソルバと、前記制約力に基づいて、仮想シミュレーションにおいて前記仮想ツールの動力学をシミュレートし、指令姿勢を出力する、仮想シミュレータとを更に含み、前記制御システムは、前記指令姿勢に基づいて、前記アクチュエータの各々を制御するように更に構成されている、システム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063075615P | 2020-09-08 | 2020-09-08 | |
US63/075,615 | 2020-09-08 | ||
US202063085651P | 2020-09-30 | 2020-09-30 | |
US63/085,651 | 2020-09-30 | ||
PCT/US2021/049440 WO2022055980A1 (en) | 2020-09-08 | 2021-09-08 | Systems and methods for guiding movement of a handheld medical robotic instrument |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023539710A true JP2023539710A (ja) | 2023-09-19 |
Family
ID=78483465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022574608A Pending JP2023539710A (ja) | 2020-09-08 | 2021-09-08 | 手持ち式医療ロボット器具の動きをガイドするシステム及び方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230255701A1 (ja) |
EP (1) | EP4210619A1 (ja) |
JP (1) | JP2023539710A (ja) |
CN (1) | CN115916093A (ja) |
AU (1) | AU2021342049A1 (ja) |
WO (1) | WO2022055980A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023136930A2 (en) * | 2022-01-12 | 2023-07-20 | Mako Surgical Corp. | Systems and methods for guiding movement of a hand-held medical robotic instrument |
WO2023141265A2 (en) | 2022-01-20 | 2023-07-27 | Mako Surgical Corp. | Robotic hand-held surgical system |
CN117289796B (zh) * | 2023-09-22 | 2024-05-07 | 中山大学 | 基于触觉手套的复杂装备高交互混合现实系统与方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6017354A (en) | 1996-08-15 | 2000-01-25 | Stryker Corporation | Integrated system for powered surgical tools |
US8010180B2 (en) * | 2002-03-06 | 2011-08-30 | Mako Surgical Corp. | Haptic guidance system and method |
US7422582B2 (en) | 2004-09-29 | 2008-09-09 | Stryker Corporation | Control console to which powered surgical handpieces are connected, the console configured to simultaneously energize more than one and less than all of the handpieces |
US7704254B2 (en) | 2005-09-10 | 2010-04-27 | Stryker Corporation | Surgical sagittal saw with indexing head and toolless blade coupling assembly for actuating an oscillating tip saw blade |
US8382765B2 (en) | 2007-08-07 | 2013-02-26 | Stryker Leibinger Gmbh & Co. Kg. | Method of and system for planning a surgery |
GB0803514D0 (en) | 2008-02-27 | 2008-04-02 | Depuy Int Ltd | Customised surgical apparatus |
US9119655B2 (en) | 2012-08-03 | 2015-09-01 | Stryker Corporation | Surgical manipulator capable of controlling a surgical instrument in multiple modes |
JP6385275B2 (ja) | 2011-09-02 | 2018-09-05 | ストライカー・コーポレイション | ハウジングから延びる切断アクセサリ及びハウジングに対する切断アクセサリの位置を確立するアクチュエータを備える手術器具 |
US9060794B2 (en) | 2011-10-18 | 2015-06-23 | Mako Surgical Corp. | System and method for robotic surgery |
US9226796B2 (en) | 2012-08-03 | 2016-01-05 | Stryker Corporation | Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path |
US9008757B2 (en) * | 2012-09-26 | 2015-04-14 | Stryker Corporation | Navigation system including optical and non-optical sensors |
JP6730323B2 (ja) | 2015-05-12 | 2020-07-29 | ストライカー・ユーロピアン・ホールディングス・I,リミテッド・ライアビリティ・カンパニー | 補強されたガイドバーを有する外科用矢状ブレードカートリッジ |
JP6934861B2 (ja) * | 2015-11-24 | 2021-09-15 | シンク サージカル, インコーポレイテッド | 膝関節全置換術における、能動的なロボットピン配置 |
EP3551099B1 (en) * | 2016-12-08 | 2024-03-20 | Orthotaxy | Surgical system for cutting an anatomical structure according to at least one target plane |
US11071590B2 (en) | 2017-04-14 | 2021-07-27 | Stryker Corporation | Surgical systems and methods for facilitating ad-hoc intraoperative planning of surgical procedures |
US20220273396A1 (en) * | 2019-07-15 | 2022-09-01 | Mako Surgical Corp. | Robotic Hand-Held Surgical Instrument Systems And Methods |
AU2020359626B2 (en) * | 2019-09-30 | 2024-05-09 | Mako Surgical Corp. | Systems and methods for guiding movement of a tool |
US20230068121A1 (en) * | 2020-02-04 | 2023-03-02 | Mako Surgical Corp. | Robotic Hand-Held Surgical Instrument Systems With A Visual Indicator And Methods Of Controlling The Same |
-
2021
- 2021-09-08 CN CN202180045092.3A patent/CN115916093A/zh active Pending
- 2021-09-08 AU AU2021342049A patent/AU2021342049A1/en active Pending
- 2021-09-08 WO PCT/US2021/049440 patent/WO2022055980A1/en unknown
- 2021-09-08 US US18/011,641 patent/US20230255701A1/en active Pending
- 2021-09-08 JP JP2022574608A patent/JP2023539710A/ja active Pending
- 2021-09-08 EP EP21801676.4A patent/EP4210619A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN115916093A (zh) | 2023-04-04 |
AU2021342049A1 (en) | 2023-01-19 |
WO2022055980A1 (en) | 2022-03-17 |
EP4210619A1 (en) | 2023-07-19 |
US20230255701A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10463440B2 (en) | Surgical manipulator and method for resuming semi-autonomous tool path position | |
AU2020359626B2 (en) | Systems and methods for guiding movement of a tool | |
US10426560B2 (en) | Robotic system and method for reorienting a surgical instrument moving along a tool path | |
US20190269476A1 (en) | Surgical robotic system and method for commanding instrument position based on iterative boundary evaluation | |
JP2023539710A (ja) | 手持ち式医療ロボット器具の動きをガイドするシステム及び方法 | |
US20220273396A1 (en) | Robotic Hand-Held Surgical Instrument Systems And Methods | |
EP3470040B1 (en) | Haptic guidance system and method | |
US20220218422A1 (en) | Surgical Systems And Methods For Guiding Robotic Manipulators | |
WO2023136930A2 (en) | Systems and methods for guiding movement of a hand-held medical robotic instrument | |
WO2023141265A2 (en) | Robotic hand-held surgical system | |
JP2023548566A (ja) | 手持ち式ロボット手術機器システムおよび方法 | |
KR102668586B1 (ko) | 로봇 수술을 위한 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230309 |