以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.医療用アーム装置の概要
1.1.医療用アーム装置の概略構成
1.2.医療用アーム装置の外観
1.3.一般化逆動力学について
1.4.理想関節制御について
2.医療用アーム装置の制御
2.1.概要
2.2.医療用アームシステムの機能構成
2.3.医療用アームシステムの制御例
2.3.1.アーム制御の基本思想
2.3.2.比較例:操作抑制制御
2.3.3.制御例1:拘束点の位置更新による操作アシスト制御
2.3.4.制御例2:力制御による操作アシスト制御
2.3.5.実施例1:仮想境界を利用した操作アシスト制御例
2.3.6.実施例2:仮想境界を利用した操作アシスト制御例
2.4.変形例
2.4.1.変形例1
2.4.2.変形例2
2.4.3.変形例3
2.4.4.変形例4
2.4.5.補足
3.ハードウエア構成
4.適用例
5.まとめ
6.むすび
<<1.医療用アーム装置の概要>>
<1.1.医療用アーム装置の概略構成>
まず、本開示をより明確なものとするために、本開示の一実施形態に係るアーム装置が医療用に用いられる場合の一適用例として、医療用アーム装置の概略的な構成の一例について説明する。図1は、本開示の一実施形態に係る医療用アーム装置の概略的な構成の一例について説明するための説明図である。
図1は、本実施形態に係る医療用アーム装置を用いた施術の様子を模式的に表している。具体的には、図1を参照すると、施術者(ユーザ)520である医師が、例えばメス、鑷子、鉗子等の手術用の器具521を使用して、施術台530上の施術対象(患者)540に対して手術を行っている様子が図示されている。なお、以下の説明においては、施術とは、手術や検査等、ユーザ520である医師が施術対象540である患者に対して行う各種の医療的な処置の総称であるものとする。また、図1に示す例では、施術の一例として手術の様子を図示しているが、医療用アーム装置510が用いられる施術は手術に限定されず、他の各種の施術、例えば内視鏡を用いた検査等であってもよい。
施術台530の脇には本実施形態に係る医療用アーム装置510が設けられる。医療用アーム装置510は、基台であるベース部511と、ベース部511から延伸するアーム部512と、アーム部512の先端に先端ユニットとして接続される撮像ユニット515とを備える。アーム部512は、複数の関節部513a、513b、513cと、関節部513a、513bによって連結される複数のリンク514a、514bと、アーム部512の先端に設けられる撮像ユニット515を有する。図1に示す例では、簡単のため、アーム部512は3つの関節部513a~513c及び2つのリンク514a、514bを有しているが、実際には、アーム部512及び撮像ユニット515の位置及び姿勢の自由度を考慮して、所望の自由度を実現するように関節部513a~513c及びリンク514a、514bの数や形状、関節部513a~513cの駆動軸の方向等が適宜設定されてもよい。
関節部513a~513cは、リンク514a、514bを互いに回動可能に連結する機能を有し、関節部513a~513cの回転が駆動されることにより、アーム部512の駆動が制御される。ここで、以下の説明においては、医療用アーム装置510の各構成部材の位置とは、駆動制御のために規定している空間における位置(座標)を意味し、各構成部材の姿勢とは、駆動制御のために規定している空間における任意の軸に対する向き(角度)を意味する。また、以下の説明では、アーム部512の駆動(又は駆動制御)とは、関節部513a~513cの駆動(又は駆動制御)、及び、関節部513a~513cの駆動(又は駆動制御)を行うことによりアーム部512の各構成部材の位置及び姿勢が変化される(変化が制御される)ことをいう。
アーム部512の先端には、先端ユニットとして撮像ユニット515が接続されている。撮像ユニット515は、撮像対象の画像を取得するユニットであり、例えば動画や静止画を撮像できるカメラ等である。図1に示すように、アーム部512の先端に設けられた撮像ユニット515が施術対象540の施術部位の様子を撮像するように、医療用アーム装置510によってアーム部512及び撮像ユニット515の姿勢や位置が制御される。なお、アーム部512の先端に先端ユニットとして接続される撮像ユニット515の構成は特に限定されず、各種の医療用器具(以下、単に医療器具ともいう)であってよい。当該医療用器具としては、例えば、内視鏡や顕微鏡、上述した撮像ユニット515等の撮像機能を有するユニットや、各種の施術器具、検査装置等、施術に際して用いられる各種のユニットが挙げられる。また、アーム部512の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3次元画像(3D画像)として表示するように撮影が行われてもよい。なお、先端ユニットとして、施術部位を撮影するための撮像ユニット515や当該ステレオカメラ等のカメラユニットが設けられる医療用アーム装置510のことをVM(Video Microscope)アーム装置とも称する。
また、ユーザ520と対向する位置には、モニタやディスプレイ等の表示装置550が設置される。撮像ユニット515によって撮像された施術部位の画像は、表示装置550の表示画面に電子画像として表示される。ユーザ520は、表示装置550の表示画面に表示される施術部位の電子画像を見ながら各種の処置を行う。
また、医療用アーム装置510の動作(例えば、アーム部512の駆動)を制御する制御装置が別途設けられることで、当該医療用アーム装置510と、当該制御装置と、を含むシステムが構成されていてもよい。なお、本開示においては、「医療用アームシステム」と記載した場合には、医療用アーム装置510が単体で動作可能に構成されている場合と、医療用アーム装置510とその制御装置とを含むシステムとして構成されている場合と、のいずれも含み得るものとする。
このように、本実施形態においては、医療分野において、医療用アーム装置510によって施術部位の撮像を行いながら手術を行うことが提案される。
以上、図1を参照して、本実施形態に係る医療用アーム装置が用いられる場合の一適用例として、当該医療用アーム装置として、アームを備えた手術用ビデオ顕微鏡装置が用いられる場合の一例について説明した。
<1.2.医療用アーム装置の外観>
次いで、図2を参照して、本開示の一実施形態に係る医療用アーム装置の概略構成について説明する。図2は、本開示の一実施形態に係る医療用アーム装置の外観を示す概略図である。
図2を参照すると、本実施形態に係る医療用アーム装置400は、ベース部410及びアーム部420を備える。ベース部410は医療用アーム装置400の基台であり、ベース部410からアーム部420が延伸される。また、図2には図示しないが、ベース部410内には、医療用アーム装置400を統合的に制御する制御部が設けられてもよく、アーム部420の駆動が当該制御部によって制御されてもよい。当該制御部は、例えばCPU(Central Processing Unit)やDSP(Digital Signal Processor)等の各種の信号処理回路によって構成される。
アーム部420は、複数の関節部421a~421fと、関節部421a~421fによって互いに連結される複数のリンク422a~422cと、アーム部420の先端に設けられる撮像ユニット423を有する。
リンク422a~422cは棒状の部材であり、リンク422aの一端が関節部421aを介してベース部410と連結され、リンク422aの他端が関節部421bを介してリンク422bの一端と連結され、更に、リンク422bの他端が関節部421c、421dを介してリンク422cの一端と連結される。更に、撮像ユニット423が、アーム部420の先端、すなわち、リンク422cの他端に、関節部421e、421fを介して連結される。このように、ベース部410を支点として、複数のリンク422a~422cの端同士が、関節部421a~421fによって互いに連結されることにより、ベース部410から延伸されるアーム形状が構成される。
撮像ユニット423は撮影対象の画像を取得するユニットであり、例えば動画、静止画を撮影するカメラ等である。アーム部420の駆動が制御されることにより、撮像ユニット423の位置及び姿勢が制御される。本実施形態においては、撮像ユニット423は、例えば施術部位である患者の体の一部領域を撮影する。ただし、アーム部420の先端に設けられる先端ユニットは撮像ユニット423に限定されず、アーム部420の先端には先端ユニットとして各種の医療用器具が接続されてよい。
ここで、以下では、図2に示すように座標軸を定義して医療用アーム装置400の説明を行う。また、座標軸に合わせて、上下方向、前後方向、左右方向を定義する。すなわち、床面に設置されているベース部410に対する上下方向をz軸方向及び上下方向と定義する。また、z軸と互いに直交する方向であって、ベース部410からアーム部420が延伸されている方向(すなわち、ベース部410に対して撮像ユニット423が位置している方向)をy軸方向及び前後方向と定義する。更に、y軸及びz軸と互いに直交する方向をx軸方向及び左右方向と定義する。
関節部421a~421fはリンク422a~422cを互いに回動可能に連結する。関節部421a~421fはアクチュエータを有し、当該アクチュエータの駆動により所定の回転軸に対して回転駆動される回転機構を有する。各関節部421a~421fにおける回転駆動をそれぞれ制御することにより、例えばアーム部420を伸ばしたり、縮めたり(折り畳んだり)といった、アーム部420の駆動を制御することができる。ここで、関節部421a~421fは、下記「1.3.一般化逆動力学について」で後述する全身協調制御及び下記「1.4.理想関節制御について」で後述する理想関節制御によってその駆動が制御される。また、上述したように、本実施形態に係る関節部421a~421fは回転機構を有するため、以下の説明において、関節部421a~421fの駆動制御とは、具体的には、関節部421a~421fの回転角度及び/又は発生トルク(関節部421a~421fが発生させるトルク)が制御されることを意味する。
本実施形態に係る医療用アーム装置400は、6つの関節部421a~421fを有し、アーム部420の駆動に関して6自由度が実現されている。具体的には、図2に示すように、関節部421a、421d、421fは、接続されている各リンク422a~422cの長軸方向及び接続されている撮像ユニット473の撮影方向を回転軸方向とするように設けられており、関節部421b、421c、421eは、接続されている各リンク422a~422c及び撮像ユニット473の連結角度をy-z平面(y軸とz軸とで規定される平面)内において変更する方向であるx軸方向を回転軸方向とするように設けられている。このように、本実施形態においては、関節部421a、421d、421fは、いわゆるヨーイングを行う機能を有し、関節部421b、421c、421eは、いわゆるピッチングを行う機能を有する。
このようなアーム部420の構成を有することにより、本実施形態に係る医療用アーム装置400ではアーム部420の駆動に対して6自由度が実現されるため、アーム部420の可動範囲内において撮像ユニット423を自由に移動させることができる。図2では、撮像ユニット423の移動可能範囲の一例として半球を図示している。半球の中心点が撮像ユニット423によって撮影される施術部位の撮影中心であるとすれば、撮像ユニット423の撮影中心を半球の中心点に固定した状態で、撮像ユニット423を半球の球面上で移動させることにより、施術部位を様々な角度から撮影することができる。
<1.3.一般化逆動力学について>
次に、本実施形態における医療用アーム装置400の全身協調制御に用いられる一般化逆動力学の概要について説明する。
一般化逆動力学は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体(例えば本実施形態においては図2に示すアーム部420)において、各種の操作空間(Operation Space)における様々な次元に関する運動目的を、各種の拘束条件を考慮しながら、複数の当該関節部に生じさせるトルクに変換する、多リンク構造体の全身協調制御における基本演算である。
操作空間は、ロボット装置の力制御における重要な概念である。操作空間は、多リンク構造体に作用する力と多リンク構造体の加速度との関係を記述するための空間である。多リンク構造体の駆動制御を位置制御ではなく力制御によって行う際に、多リンク構造体と環境との接し方を拘束条件として用いる場合に操作空間という概念が必要となる。操作空間は、例えば、多リンク構造体が属する空間である、関節空間、デカルト空間、運動量空間等である。
運動目的は、多リンク構造体の駆動制御における目標値を表すものであり、例えば、駆動制御によって達成したい多リンク構造体の位置、速度、加速度、力、インピーダンス等の目標値である。
拘束条件は、多リンク構造体の形状や構造、多リンク構造体の周囲の環境及びユーザによる設定等によって定められる、多リンク構造体の位置、速度、加速度、力等に関する拘束条件である。例えば、拘束条件には、発生力、優先度、非駆動関節の有無、垂直反力、摩擦錘、支持多角形等についての情報が含まれる。
一般化動力学においては、数値計算上の安定性と実時間処理可能な演算効率とを両立するため、その演算アルゴリズムは、第1段階である仮想力決定プロセス(仮想力算出処理)と、第2段階である実在力変換プロセス(実在力算出処理)によって構成される。第1段階である仮想力算出処理では、各運動目的の達成に必要な、操作空間に作用する仮想的な力である仮想力を、運動目的の優先度と仮想力の最大値を考慮しながら決定する。第2段階である実在力算出処理では、非駆動関節、垂直反力、摩擦錘、支持多角形等に関する拘束を考慮しながら、上記で得られた仮想力を関節力、外力等の実際の多リンク構造体の構成で実現可能な実在力に変換する。以下、仮想力算出処理及び実在力算出処理について詳しく説明する。なお、以下の仮想力算出処理、実在力算出処理及び後述する理想関節制御の説明においては、理解を簡単にするために、具体例として、図2に示した本実施形態に係る医療用アーム装置400のアーム部420の構成を例に挙げて説明を行う場合がある。
(1.3.1.仮想力算出処理)
多リンク構造体の各関節部におけるある物理量によって構成されるベクトルを一般化変数qと呼ぶ(関節値q又は関節空間qとも呼称する。)。操作空間xは、一般化変数qの時間微分値とヤコビアンJとを用いて、以下の数式(1)で定義される。
本実施形態では、例えば、qはアーム部420の関節部421a~421fにおける回転角度である。操作空間xに関する運動方程式は、下記数式(2)で記述される。
ここで、fは操作空間xに作用する力を表す。また、Λ-1は操作空間慣性逆行列、cは操作空間バイアス加速度と呼ばれるものであり、それぞれ下記数式(3)、(4)で表される。
なお、Hは関節空間慣性行列、τは関節値qに対応する関節力(例えば関節部421a~421fおける発生トルク)、bは重力、コリオリ力、遠心力を表す項である。
一般化逆動力学においては、操作空間xに関する位置、速度の運動目的は、操作空間xの加速度として表現できることが知られている。このとき、上記数式(1)から、運動目的として与えられた目標値である操作空間加速度を実現するために、操作空間xに作用するべき仮想力fvは、下記数式(5)のような一種の線形相補性問題(LCP:Linear Complementary Problem)を解くことによって得られる。
ここで、LiとUiはそれぞれ、fvの第i成分の負の下限値(-∞を含む)、fvの第i成分の正の上限値(+∞を含む)とする。上記LCPは、例えばIterative法、Pivot法、ロバスト加速度制御を応用する方法等を用いて解くことができる。
なお、操作空間慣性逆行列Λ-1、バイアス加速度cは、定義式である上記数式(3)、(4)の通り算出すると計算コストが大きい。従って、多リンク構造体の一般化力(関節力τ)から一般化加速度(関節加速度)を得る準動力学計算(FWD)を応用することにより、操作空間慣性逆行列Λ-1の算出処理をより高速に算出する方法が提案されている。具体的には、操作空間慣性逆行列Λ-1、バイアス加速度cは、順動力学演算FWDを用いることにより、関節空間q、関節力τ、重力g等の多リンク構造体(例えば、アーム部420及び関節部421a~421f)に作用する力に関する情報から得ることができる。このように、操作空間に関する順動力学演算FWDを応用することにより、関節部の数Nに対してO(N)の計算量で操作空間慣性逆行列Λ-1を算出することができる。
ここで、運動目的の設定例として、絶対値Fi以下の仮想力fviで操作空間加速度の目標値(xの2階微分に上付きバーを付して表す)を達成するための条件は、下記数式(6)で表現できる。
また、上述したように、操作空間xの位置、速度に関する運動目的は、操作空間加速度の目標値として表すことができ、具体的には下記数式(7)で表現される(操作空間xの位置、速度の目標値を、x、xの1階微分に上付きバーを付して表す)。
その他、分解操作空間の考え方を用いることにより、他の操作空間の線形和で表される操作空間(運動量、デカルト相対座標、連動関節等)に関する運動目的を設定することもできる。なお、競合する運動目的間には優先度を与える必要がある。優先度毎かつ低優先度から順に上記LCPを解き、前段のLCPで得られた仮想力を次段のLCPの既知外力として作用させることができる。
(1.3.2.実在力算出処理)
一般化逆動力学の第2段階である実在力算出処理では、上記(1-3-1.仮想力算出処理)で得られた仮想力fvを、実在の関節力と外力で置換する処理を行う。仮想力による一般化力τv=Jv
Tfvを関節部に生じる発生トルクτaと外力feとで実現するための条件は、下記数式(8)で表現される。
ここで、添え字aは駆動関節部の集合(駆動関節集合)を表し、添え字uは非駆動関節部の集合(非駆動関節集合)を表す。すなわち、上記数式(8)の上段は非駆動関節部による空間(非駆動関節空間)の力の釣り合いを表しており、下段は駆動関節部による空間(駆動関節空間)の力の釣合いを表している。Jvu、Jvaは、それぞれ、仮想力fvが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Jeu、Jeaは、外力feが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Δfvは仮想力fvのうち、実在力で実現不能な成分を表す。
上記数式(8)の上段は不定であり、例えば下記数式(9)に示すような2次計画問題(QP:Quadratic Programing Problem)を解くことで、fe及びΔfvを得ることができる。
ここで、εは上記数式(8)の上段の両辺の差であり、数式(8)の等式誤差を表す。ξはfeとΔfvとの連結ベクトルであり、変数ベクトルを表す。Q1及びQ2は、最小化の際の重みを表す正定値対称行列である。また、上記数式(9)の不等式拘束は、垂直反力、摩擦錐、外力の最大値、支持多角形等、外力に関する拘束条件を表現するのに用いられる。例えば、矩形の支持多角形に関する不等式拘束は、下記数式(10)のように表現される。
ここで、zは接触面の法線方向を表し、x及びyはzに垂直な直交2接線方向を表す。(Fx,Fy,Fz)及び(Mx,My,Mz)は、接触点に作用する外力及び外力モーメントである。μt及びμrは、それぞれ並進、回転に関する摩擦係数である。(dx,dy)は支持多角形のサイズを表している。
上記数式(9)、(10)から、最小ノルム又は最小誤差の解fe、Δfvが求められる。上記数式(9)から得られたfe、Δfvを上記数式(8)の下段に代入することにより、運動目的を実現するために必要な関節力τaを得ることができる。
基底が固定され、非駆動関節が無い系の場合は、関節力のみで全ての仮想力を置換可能であり、上記数式(8)において、fe=0、Δfv=0とすることができる。この場合、上記数式(8)の下段から、関節力τaについて以下の数式(11)を得ることができる。
以上、本実施形態に係る一般化逆動力学を用いた全身協調制御について説明した。上記のように、仮想力算出処理及び実在力算出処理を順に行うことにより、所望の運動目的を達成するための関節力τaを得ることができる。すなわち、逆に言えば、算出された関節力τaを関節部421a~421fの運動における理論モデルに反映することにより、関節部421a~421fが、所望の運動目的を達成するように駆動される。
なお、ここまで説明した一般化逆動力学を用いた全身協調制御について、特に、仮想力fvの導出過程や、上記LCPを解き仮想力fvを求める方法、QP問題の解法等の詳細については、例えば、本願出願人による先行特許出願である特開2009-95959号公報や特開2010-188471号公報を参照することができる。
<1.4.理想関節制御について>
次に、本実施形態に係る理想関節制御について説明する。各関節部421a~421fの運動は、下記数式(12)の二次遅れ系の運動方程式によってモデル化される。
ここで、Iaは関節部における慣性モーメント(イナーシャ)、τaは関節部421a~421fの発生トルク、τeは外部から各関節部421a~421fに作用する外トルク、νeは各関節部421a~421fにおける粘性抵抗係数である。上記数式(12)は、関節部421a~421fにおけるアクチュエータ430の運動を表す理論モデルとも言える。
上記「1.3.一般化逆動力学について」で説明したように、一般化逆動力学を用いた演算により、運動目的及び拘束条件を用いて、当該運動目的を実現するために各関節部421a~421fに作用させるべき実在力であるτaを算出することができる。従って、理想的には、算出された各τaを上記数式(12)に適用することにより、上記数式(12)に示す理論モデルに従った応答が実現する、すなわち、所望の運動目的が達成されるはずである。
しかし、実際には、様々な外乱の影響により、関節部421a~421fの運動と上記数式(12)に示すような理論モデルとの間には誤差(モデル化誤差)が生じる場合がある。モデル化誤差は、多リンク構造体の重量、重心、慣性テンソル等のマスプロパティに起因するものと、における関節部421a~421f内部における摩擦や慣性等に起因するものとに大別することができる。このうち、前者のマスプロパティに起因するモデル化誤差は、CAD(Computer Aided Design)データの高精度化や同定手法の適用によって、理論モデル構築時に比較的容易に低減することが可能である。
一方、後者の関節部421a~421f内部の摩擦や慣性等に起因するモデル化誤差は、例えば関節部421a~421fの減速機426における摩擦等、モデル化が困難な現象に起因しており、理論モデル構築時に無視できないモデル化誤差が残留し得る。また、上記数式(12)におけるイナーシャIaや粘性抵抗係数νeの値と、実際の関節部421a~421fにおけるこれらの値との間に誤差が生じている可能性がある。これらのモデル化が困難な誤差は、関節部421a~421fの駆動制御において外乱となり得る。従って、このような外乱の影響により、実際には、関節部421a~421fの運動は、上記数式(12)に示す理論モデル通りには応答しない場合がある。よって、一般化逆動力学によって算出された関節力である実在力τaを適用しても、制御目標である運動目的が達成されない場合が生じる。本実施形態では、各関節部421a~421fにアクティブな制御系を付加することで、上記数式(12)に示す理論モデルに従った理想応答を行うよう、関節部421a~421fの応答を補正することを考える。具体的には、本実施形態では、関節部421a~421fのトルクセンサ428、428aを用いた摩擦補償型のトルク制御を行うに留まらず、要求される発生トルクτa、外トルクτeに対して、イナーシャIa及び粘性抵抗係数νaに至るまで理論値に従った理想応答を行うことが可能となる。
本実施形態では、このように、医療用アーム装置400の関節部421a~421fが上記数式(12)に示すような理想的な応答を行うように関節部の駆動を制御することを、理想関節制御と呼称する。ここで、以下の説明では、当該理想関節制御によって駆動が制御されるアクチュエータのことを、理想的な応答が行われることから仮想アクチュエータ(VA:Virtualized Actuator)とも呼称する。以下、図3を参照して、本実施形態に係る理想関節制御について説明する。
図3は、本開示の一実施形態に係る理想関節制御について説明するための説明図である。なお、図3では、理想関節制御に係る各種の演算を行う概念上の演算器をブロックで模式的に図示している。
アクチュエータ610は、アーム部の各関節部を構成するアクチュエータの機構を模式的に表している。図3に示すように、アクチュエータ610は、モータ(Motor)611と、減速機(Reduction Gear)612と、エンコーダ(Encoder)613と、トルクセンサ(Torque Sensor)614とを含む。
ここで、アクチュエータ610が上記数式(12)で表される理論モデルに従った応答を行なうことは、上記数式(12)の右辺が与えられたときに、左辺の回転角加速度が達成されることに他ならない。また、上記数式(12)に示すように、理論モデルには、アクチュエータ610に作用する外トルク項τeが含まれている。本実施形態では、理想関節制御を行うために、トルクセンサ614によって外トルクτeを測定する。また、エンコーダ613によって測定されたアクチュエータ610の回転角度qに基づいて外乱に起因するトルクの推定値である外乱推定値τdを算出するために、外乱オブザーバ620を適用する。
ブロック631は、上記数式(12)に示す関節部421a~421fの理想的な関節モデル(Ideal Joint Model)に従った演算を行う演算器を表している。ブロック631は、発生トルクτa、外トルクτe、回転角速度(回転角度qの1階微分)を入力として、上記数式(12)の左辺に示す回転角加速度目標値(回転角目標値qrefの2階微分)を出力することができる。
本実施形態では、上記「1.3.一般化逆動力学について」で説明した方法によって算出された発生トルクτaと、トルクセンサ614によって測定された外トルクτeが、ブロック631に入力される。一方、微分演算を行う演算器を表すブロック632に、エンコーダ613によって測定された回転角度qが入力されることにより、回転角速度(回転角度qの1階微分)が算出される。上記発生トルクτa及び外トルクτeに加えて、ブロック632によって算出された回転角速度がブロック631に入力されることにより、ブロック631によって回転角加速度目標値が算出される。算出された回転角加速度目標値は、ブロック633に入力される。
ブロック633は、アクチュエータ610の回転角加速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、ブロック633は、回転角加速度目標値にアクチュエータ610における公称イナーシャ(ノミナルイナーシャ)Jnを乗じることにより、トルク目標値τrefを得ることができる。理想の応答においては、アクチュエータ610に当該トルク目標値τrefを生じさせることにより、所望の運動目的が達成されるはずであるが、上述したように、実際の応答には外乱等の影響が生じる場合がある。従って、本実施形態においては、外乱オブザーバ620によって外乱推定値τdを算出し、外乱推定値τdを用いて当該トルク目標値τrefを補正する。
外乱オブザーバ620の構成について説明する。図3に示すように、外乱オブザーバ620は、トルク指令値τと、エンコーダ613によって測定された回転角度qから算出される回転角速度に基づいて、外乱推定値τdを算出する。ここで、トルク指令値τは、外乱の影響が補正された後の、最終的にアクチュエータ610に生じさせるトルク値である。例えば、外乱推定値τdが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。
外乱オブザーバ620は、ブロック634とブロック635とから構成される。ブロック634は、アクチュエータ610の回転角速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、エンコーダ613によって測定された回転角度qから、ブロック632によって算出された回転角速度がブロック634に入力される。ブロック634は、伝達関数Jnsによって表される演算を行うことにより、すなわち、当該回転角速度を微分することにより回転角加速度を求め、更に算出された回転角加速度にノミナルイナーシャJnを乗じることにより、実際にアクチュエータ610に作用しているトルクの推定値(トルク推定値)を算出することができる。
外乱オブザーバ620内では、当該トルク推定値とトルク指令値τとの差分が取られることにより、外乱によるトルクの値である外乱推定値τdが推定される。具体的には、外乱推定値τdは、前周の制御におけるトルク指令値τと、今回の制御におけるトルク推定値との差分であってよい。ブロック634によって算出されるトルク推定値は実際の測定値に基づくものであり、ブロック633によって算出されたトルク指令値τはブロック631に示す関節部421a~421fの理想的な理論モデルに基づくものであるため、両者の差分を取ることによって、上記理論モデルでは考慮されていない外乱の影響を推定することができるのである。
また、外乱オブザーバ620には、系の発散を防ぐために、ブロック635に示すローパスフィルター(LPF:Low Pass Filter)が設けられる。ブロック635は、伝達関数g/(s+g)で表される演算を行うことにより、入力された値に対して低周波成分のみを出力し、系を安定化させる。本実施形態では、ブロック634によって算出されたトルク推定値とトルク指令値τrefとの差分値は、ブロック635に入力され、その低周波成分が外乱推定値τdとして算出される。
本実施形態では、トルク目標値τrefに外乱オブザーバ620によって算出された外乱推定値τdを加算するフィードフォワード制御が行われることにより、最終的にアクチュエータ610に生じさせるトルク値であるトルク指令値τが算出される。そして、トルク指令値τに基づいてアクチュエータ610が駆動される。具体的には、トルク指令値τが対応する電流値(電流指令値)に変換され、当該電流指令値がモータ611に印加されることにより、アクチュエータ610が駆動される。
以上、図3を参照して説明した構成を取ることにより、本実施形態に係る関節部421a~421fの駆動制御においては、摩擦等の外乱成分があった場合であっても、アクチュエータ610の応答を目標値に追従させることが可能となる。また、関節部421a~421fの駆動制御について、理論モデルが仮定するイナーシャIa及び粘性抵抗係数νaに従った理想応答を行うことが可能となる。
なお、以上説明した理想関節制御の詳細については、例えば、本願出願人による先行特許出願である特開2009-269102号公報を参照することができる。
以上、本実施形態において用いられる一般化逆動力学について説明するとともに、図3を参照して本実施形態に係る理想関節制御について説明した。以上説明したように、本実施形態においては、一般化逆動力学を用いることにより、アーム部420の運動目的を達成するための各関節部421a~421fの駆動パラメータ(例えば関節部421a~421fの発生トルク値)を、拘束条件を考慮して算出する、全身協調制御が行われる。また、図5を参照して説明したように、本実施形態においては、上記一般化逆動力学を用いた全身協調制御により算出された発生トルク値に対して外乱の影響を考慮した補正を行うことにより、関節部421a~421fの駆動制御において理論モデルに基づいた理想的な応答を実現する、理想関節制御が行われる。従って、本実施形態においては、アーム部420の駆動について、運動目的を達成する高精度な駆動制御が可能となる。
<<2.医療用アーム装置の制御>>
続いて、本開示の一実施形態に係る医療用アームシステムにおける医療用アーム装置の制御に係る技術について以下に説明する。
<2.1.概要>
まず、本開示の一実施形態に係る医療用アームシステムにおける医療用アーム装置の制御に係る技術の概要について説明する。本実施形態に係る医療用アームシステムでは、実空間内にバーチャルバリア(Virtual Barrier)やバーチャルウォール(Virtual Wall)と称される仮想的な境界面(以降では、「仮想境界」とも称する)が設定される。このような設定の基で、本実施形態に係る医療用アームシステムでは、上記仮想境界と、アーム部の先端に保持された先端ユニットと、の間の位置関係に応じて、当該アーム部の動作が制御される。具体的には、上述した一般化逆動力学を用いた全身協調制御に基づくアーム部の制御に基づき、実空間内にあたかも上記仮想境界が存在するかのような状況が模擬される。
<2.2.医療用アームシステムの機能構成>
ここで、本開示の一実施形態に係る医療用アームシステムの機能構成の一例について説明する。本実施形態に係る医療用アームシステムにおいては、医療用アーム装置に設けられる複数の関節部の駆動を、例えば、上述した一般化逆動力学を用いた全身協調制御に基づき制御される。例えば、図4は、本開示の一実施形態に係る医療用アームシステムの機能構成の一例を示したブロック図である。なお、図4に示すロボットアーム制御システムでは、医療用アーム装置のアーム部の駆動の制御に関わる構成について主に図示している。
図4に示すように、本開示の一実施形態に係る医療用アームシステム1は、アーム装置10と、制御装置20とを含む。本実施形態においては、制御装置20によって、上記「1.3.一般化逆動力学について」で説明した全身協調制御及び上記「1.4.理想関節制御について」で説明した理想関節制御における各種の演算が行われ、その演算結果に基づいてアーム装置10のアーム部の駆動が制御される。また、アーム装置10のアーム部には後述する先端ユニット140が保持される。以下、アーム装置10及び制御装置20の構成についてより詳細に説明する。
アーム装置10は、複数の関節部と複数のリンクから構成される多リンク構造体であるアーム部を有し、当該アーム部を可動範囲内で駆動させることにより、当該アーム部の先端に設けられる先端ユニットの位置及び姿勢の制御を行う。アーム装置10は、図2に示す医療用アーム装置400に対応している。
図4に示すように、アーム装置10は、アーム部120と、当該アーム部120の先端に保持される先端ユニット140と、を含む。
アーム部120は、複数の関節部と複数のリンクから構成される多リンク構造体である。アーム部120は、図2に示すアーム部420に対応している。アーム部120は、関節部130を備える。なお、アーム部120が有する複数の関節部の機能及び構成は互いに同様であるため、図4では、それら複数の関節部を代表して1つの関節部130の構成を図示している。
関節部130は、アーム部120においてリンク間を互いに回動可能に連結するとともに、アーム制御部110からの制御によりその回転駆動が制御されることによりアーム部120を駆動する。関節部130は、図2に示す関節部421a~421fに対応している。また、関節部130は、アクチュエータを有している。
関節部130は、関節駆動部131と、関節状態検出部132と、関節制御部135とを含む。
関節制御部135は、アーム装置10を統合的に制御されるように、関節部130の駆動を制御する。具体的には、関節制御部135は駆動制御部111を有し、駆動制御部111からの制御によって関節部130の駆動が制御されることにより、アーム部120の駆動が制御される。より具体的には、駆動制御部111は、関節部130のアクチュエータにおけるモータに対して供給される電流量を制御することにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。ただし、上述したように、駆動制御部111によるアーム部120の駆動制御は、制御装置20における演算結果に基づいて行われる。従って、駆動制御部111によって制御される、関節部130のアクチュエータにおけるモータに対して供給される電流量は、制御装置20における演算結果に基づいて決定される電流量である。
関節駆動部131は、関節部130のアクチュエータにおける駆動機構であり、関節駆動部131が駆動することにより関節部130が回転駆動する。関節駆動部131は、駆動制御部111によってその駆動が制御される。例えば、関節駆動部131は、例えば、モータ及びモータドライバに対応する構成である。即ち、関節駆動部131が駆動することは、当該モータドライバが駆動制御部111からの指令に応じた電流量で当該モータを駆動することに対応している。
関節状態検出部132は、関節部130の状態を検出する。ここで、関節部130の状態とは、関節部130の運動の状態を意味していてよい。例えば、関節部130の状態には、関節部130の回転に関する情報、例えば、回転角度、回転角速度、回転角加速度、発生トルク等の情報が含まれる。本実施形態においては、関節状態検出部132は、関節部130の状態として、関節部130の回転角度の検出と、関節部130の発生トルク及び外トルクの検出とを行う。なお、関節部130の回転角度qの検出や、関節部130の発生トルク及び外トルクの検出については、アクチュエータの状態を検出するエンコーダやトルクセンサにより実現し得る。関節状態検出部132は、検出した関節部130の状態を制御装置20に送信する。
先端ユニット140は、アーム部120の先端に保持されるユニットを模式的に示している。なお、本実施形態においては、アーム部120の先端には先端ユニット140として各種の医療用器具が接続され得る。当該医療用器具としては、例えば、メスや鉗子等の各種の施術器具や、超音波検査装置の探触子(プローブ)等の各種の検査装置の一ユニット等、施術に際して用いられる各種のユニットが挙げられる。また、他の一例として、内視鏡、顕微鏡等の撮像機能を有するユニットも医療用器具に含まれてよい。このように、本実施形態に係るアーム装置10は、医療用器具を備えた医療用アーム装置であると言える。なお、図4に示すアーム装置10は、撮像機能を有するユニットを先端ユニットとして備えることも可能であって、2つの撮像ユニット(カメラユニット)を有するステレオカメラを設け、撮像対象を3D画像として表示するように撮影が行われてもよい。
以上、アーム装置10の機能構成について説明した。次に、制御装置20の機能構成について説明する。図4に示すように、制御装置20は、記憶部220と、制御部230とを備える。また、図4では図示しないが、制御装置20は、各種情報を入力するための入力部や、各種情報を出力するための出力部等を備えてもよい。
制御部230は、制御装置20を統合的に制御するとともに、アーム装置10におけるアーム部120の駆動を制御するための各種の演算を行う。具体的には、制御部230は、実空間内に対して設定された仮想境界と、アーム装置10のアーム部120に保持される先端ユニット140と、の間の位置関係に応じて、当該アーム部120の動作の制御条件を設定する。そして、制御部230は、当該制御条件に基づき、当該アーム部120の駆動を制御するために、全身協調制御及び理想関節制御における各種の演算を行う。以下、制御部230の機能構成についてより詳しく説明するが、全身協調制御及び理想関節制御については既に説明しているため、ここでは詳しい説明は省略する。
制御部230は、アーム状態取得部240と、制御条件設定部250と、演算条件設定部260と、全身協調制御部270と、理想関節制御部280とを含む。また、制御条件設定部250は、仮想境界更新部251と、領域進入判定部253と、拘束条件更新部255と、運動目的更新部257とを含む。
アーム状態取得部240は、関節状態検出部132によって検出された関節部130の状態に基づいて、アーム部120の状態(アーム状態)を取得する。ここで、アーム状態とは、アーム部120の運動の状態を意味していてよい。例えば、アーム状態には、アーム部120の位置、速度、加速度、力等の情報が含まれる。上述したように、関節状態検出部132は、関節部130の状態として、各関節部130における回転に関する情報、例えば、回転角度、回転角速度、回転角加速度、発生トルク等の情報を取得している。また、後述するが、記憶部220は、制御装置20によって処理される各種の情報を記憶するものであり、本実施形態においては、記憶部220には、アーム部120に関する各種の情報(アーム情報)、例えば、アーム部120の構造を規定する情報、即ち、アーム部120を構成する関節部130及びリンクの数や、リンクと関節部130との接続状況、リンクの長さ等の情報が格納されていてよい。アーム状態取得部240は、記憶部220から当該アーム情報を取得することができる。従って、アーム状態取得部240は、関節部130の状態とアーム情報とに基づいて、複数の関節部130、複数のリンク及び先端ユニット140の空間上の位置(座標)や、各関節部130、リンク及び先端ユニット140に作用している力等の情報をアーム状態として取得することができる。アーム状態取得部240は、取得したアーム情報を制御条件設定部250に出力する。
仮想境界更新部251は、各種条件に基づき仮想境界の設定や更新を行う。例えば、後述する記憶部220には、仮想境界の形状や大きさ等のような仮想境界に関する各種情報(換言すると、仮想境界の設定に関する情報)が格納されていてもよい。仮想境界更新部251は、記憶部220から仮想境界に関する情報を取得することが可能である。従って、仮想境界更新部251は、仮想境界に関する情報に基づいて仮想境界の設定や更新を行うことが可能である。具体的な一例として、仮想境界更新部251は、仮想境界の形状、当該仮想境界の大きさ、実空間内における当該仮想境界の位置及び姿勢等の設定や更新を行ってもよい。
例えば、仮想境界更新部251は、初期設定として、仮想境界の形状や大きさの設定を行ってもよい。換言すると、仮想境界の形状や大きさについてはプリセットされていてもよい(即ち、術前に決定されていてもよい)。このように、仮想境界の形状や大きさ等がプリセットされることで、例えば、ユーザが毎回同じ操作感を得ることが可能となるため、手技の向上や安全性の向上等の作用効果を期待することが可能となる。
また、仮想境界更新部251は、ユーザによるアーム部120の操作を受けて、仮想境界を更新する(例えば、仮想境界の形状等を更新する)ことも可能である。具体的な一例として、仮想境界更新部251は、所謂ポジションメモリ機能と称される機能(空間内におけるアームの位置や姿勢を記憶しておき、再び同じ位置や姿勢に戻すことを可能とする機能)に基づく、ユーザによるアーム部120の操作時における当該アーム部120に保持された先端ユニット140の移動のアシストに係る目標点の更新とあわせて、仮想境界の位置や形状等を更新することも可能である。また、他の一例として、仮想境界更新部251は、所定の入力部(図示を省略する)を介したユーザからの指示を受けて、仮想境界の設定や更新を行ってもよい。
また、仮想境界更新部251は、各種センサ等のような検知部による物体の検知結果や、撮像部による撮像結果に応じた物体の認識結果等に基づき、仮想境界の設定や更新を行ってもよい。換言すると、仮想境界更新部251は、各種状態の検知結果に応じて、仮想境界の設定や更新を行ってもよい。具体的な一例として、仮想境界更新部251は、検知部による検知結果等に応じて、仮想境界の位置、姿勢、形状、及び大きさ等の設定や更新を行ってもよい。このような制御により、術中の状況に応じてより好適な態様で仮想境界を設定することが可能となる。そのため、例えば、アーム部に保持された先端ユニットと、実空間内の物体と、の接触が回避されるように、仮想境界の設定や更新を適応的に行うことも可能となる。
また、仮想境界更新部251は、アーム部120に保持される先端ユニットに応じて、仮想境界の設定や更新を行ってもよい。具体的な一例として、仮想境界更新部251は、アーム部120に保持された先端ユニット(例えば、医療用器具)に応じて、当該先端ユニットを利用した手技を補助するためにより好適な態様で仮想境界が設定されるように、当該仮想境界の位置、姿勢、形状、及び大きさ等の設定や更新を行ってもよい。また、仮想境界更新部251は、アーム部120に保持される先端ユニットが変更された場合に、変更後の先端ユニットに応じて、仮想境界の設定や更新を行ってもよい。
もちろん、上記はあくまで一例であり、仮想境界の設定や更新を行う方法は特に限定されない。
領域進入判定部253は、仮想境界の設定や更新の結果と、アーム情報と、に基づき、当該仮想境界により隔てられた領域に対する、アーム部120の少なくとも一部を基点として設定された作用点の進入の判定を行う。具体的な一例として、領域進入判定部253は、アーム部120を構成する関節部130及びリンクの位置、姿勢、及び形状等の情報に基づき、当該アーム部120の一部に対する相対的な位置として、作用点の位置を認識してもよい。また、このとき領域進入判定部253は、当該アーム部120に保持される先端ユニット140の位置、姿勢、及び形状等を加味することで、当該先端ユニット140の一部(例えば、先端等)に相当する位置に、作用点を設定してもよい。そして、領域進入判定部253は、仮想境界と作用点(例えば、先端ユニット140の先端)との間の相対的な位置関係に基づき、当該仮想境界と当該作用点との接触の判定(換言すると、当該仮想境界上に当該作用点が位置することの判定)や、当該仮想境界により隔てられた第1の領域及び第2の領域のうちの少なくとも一方に対して当該作用点が進入するか否かの判定を行う。
なお、アーム部120に対して実際に先端ユニット140が保持されているか否かに関わらず、アーム部120に保持され得る先端ユニット140の位置、姿勢、及び形状等加味したうえで作用点が設定されてもよい。これにより、例えば、アーム部120に先端ユニット140が保持されていない状態においても、当該アーム部120に先端ユニット140が保持されている状態を仮想的に模擬することも可能である。
拘束条件更新部255は、アーム部120の動作の制御に係る拘束条件の設定や更新を行う。具体的には、拘束条件は、アーム部120の運動を制限(拘束)する各種の情報であってよい。より具体的には、拘束条件は、アーム部の各構成部材が移動不可能な領域の座標や、移動不可能な速度、加速度の値、発生不可能な力の値等であってよい。また、拘束条件における各種の物理量の制限範囲は、アーム部120の構造では実現することが不可能であることから設定されてもよいし、ユーザによって適宜設定されてもよい。本実施形態に係る拘束条件更新部255は、仮想境界と作用点との間の関係(例えば、相対的な位置や姿勢の関係等)に応じて、拘束条件の設定や更新を行ってもよい。具体的な一例として、拘束条件更新部255は、仮想境界により隔てられた領域に対して作用点が進入すると判定した場合に、当該進入が抑制されるようにアーム部120の少なくとも一部の動作を抑制するための拘束条件の設定や更新を行ってもよい。また、拘束条件更新部255は、仮想境界により隔てられた領域に対して作用点が進入しないと判定した場合には、アーム部120の動作が抑制されないように拘束条件の設定や更新を行ってもよい。なお、拘束条件の設定や更新に係る処理や、当該拘束条件に応じたアーム部120の動作の制御については、より具体的な例とあわせて詳細を別途後述する。
運動目的更新部257は、アーム部120の動作の制御に係る運動条件の設定や更新を行う。具体的には、運動目的は、先端ユニット140の位置及び姿勢(座標)、速度、加速度並びに力等の目標値であったり、アーム部120の複数の関節部130及び複数のリンクの位置(座標)、速度、加速度及び力等の目標値であったりしてもよい。本実施形態に係る拘束条件更新部255は、仮想境界と作用点との間の関係に応じて、運動条件の設定や更新を行ってもよい。具体的な一例として、運動目的更新部257は、仮想境界により隔てられた領域に対して作用点が進入すると判定した場合に、当該進入が抑制されるように反力及び/又は抗力を働かせるための運動目的の設定や更新を運動目的の設定や更新を行ってもよい。なお、運動目的の設定や更新に係る処理や、当該運動目的に応じたアーム部120の動作の制御については、より具体的な例とあわせて詳細を別途後述する。また、本開示における反力とは、この反力と反対方向に作用する力成分を打ち消すことができる程度の大きさを有する力であってよい。一方、本開示における抗力とは、この抗力と反対方向に作用する力成分を打ち消さずに低減させる程度の力であってよい。したがって、本開示において、反力は、これと反対方向に作用する力成分と同等の力であり、抗力は、これと反対方向に作用する力成分よりも小さい力であってよい。
演算条件設定部260は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件を設定する。ここで、演算条件とは、上述した運動目的及び拘束条件であってよい。運動目的は、アーム部120の運動に関する各種の情報であってよい。また、演算条件設定部260は、アーム部120の構造についての物理モデル(例えば、アーム部120を構成するリンクの数や長さ、リンクの関節部130を介した接続状況、関節部130の可動範囲等がモデル化されたもの)を有し、当該物理モデルに、所望の運動条件及び拘束条件が反映された制御モデルを生成することにより、運動条件及び拘束条件を設定してもよい。
運動目的及び拘束条件を適切に設定することにより、アーム部120に所望の動作を行わせることが可能となる。例えば、運動目的として、先端ユニット140の位置の目標値を設定することにより先端ユニット140をその目標の位置に移動させることはもちろんのこと、アーム部120が空間上の所定の領域内に侵入しないようにする等、拘束条件によって移動の制約を設けてアーム部120を駆動させることも可能である。特に、本実施形態においては、上述の通り、制御条件設定部250により、仮想境界の設定や、当該仮想境界と上記作用点(例えば、先端ユニット140の先端)との間の位置関係に応じて拘束条件や運動目的が設定または更新されてもよい。
運動目的の具体的な一例としては、前述したように、仮想境界により隔てられた領域に対する先端ユニット140の進入を抑制する動作であってもよい。
また、他の一例として、運動目的は、各関節部130における発生トルクを制御する内容であってもよい。具体的には、運動目的は、アーム部120に作用する重力を打ち消すように関節部130の状態を制御するとともに、更に外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部130の状態を制御するパワーアシスト動作であってもよい。より具体的には、パワーアシスト動作においては、アーム部120の各関節部130における重力による外トルクを打ち消す発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御されることにより、アーム部120の位置及び姿勢が所定の状態で保持される。この状態で更に外部から(例えばユーザから)外トルクが加えられた場合に、与えられた外トルクと同じ方向の発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御される。このようなパワーアシスト動作を行うことにより、ユーザが手動でアーム部120を動かす場合に、ユーザはより小さい力でアーム部120を移動させることができるため、あたかも無重力下でアーム部120を動かしているような感覚をユーザに対して与えることができる。また、上述した仮想境界により隔てられた領域に対する先端ユニット140の進入の抑制に係る動作と、当該パワーアシスト動作と、を組み合わせることも可能である。
なお、本実施形態において、運動目的とは、全身協調制御において実現されるアーム部120の動作(運動)を意味していてもよいし、当該動作における瞬時的な運動目的(すなわち、運動目的における目標値)を意味していてもよい。例えば、上記のパワーアシスト動作であれば、外部から加えられた力の方向へのアーム部120の移動をサポートするパワーアシスト動作を行うこと自体が運動目的であるが、パワーアシスト動作を行っている最中においては、各関節部130に加えられる外トルクと同じ方向への発生トルクの値が、瞬時的な運動目的(当該運動目的における目標値)として設定されている。本実施形態における運動目的は、瞬時的な運動目的(例えばある時間におけるアーム部120の各構成部材の位置や速度、力等の目標値)と、瞬時的な運動目的が連続的に達成された結果、経時的に実現されるアーム部120の各構成部材の動作の、双方を含む概念である。全身協調制御部270における全身協調制御のための演算における各ステップでは瞬時的な運動目的がその都度設定され、当該演算が繰り返し行われることにより、最終的に所望の運動目的が達成される。
また、運動目的が設定される際に、各関節部130の回転運動における粘性抵抗係数も適宜設定されてよい。本実施形態に係る関節部130は、アクチュエータの回転運動における粘性抵抗係数を適宜調整できるように構成され得る。従って、運動目的の設定に際して各関節部130の回転運動における粘性抵抗係数も設定することにより、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することも可能である。具体的な一例として、上述したパワーアシスト動作であれば、関節部130における粘性抵抗係数が小さく設定されることにより、ユーザがアーム部120を移動させる際に要する力がより小さくてよく、ユーザに与えられる無重力感がより助長される。このように、各関節部130の回転運動における粘性抵抗係数は、運動目的の内容に応じて適宜設定されてよい。
全身協調制御部270は、図3を参照して上述した一般化逆動力学を用いた演算による全身協調制御のための制御指令値の算出を行う。
理想関節制御部280は、最終的にアーム装置10に送信される、アーム部120の動作を制御するための指令値を算出する。具体的には、理想関節制御部280は、トルク指令値τと、関節状態検出部132によって検出された関節部130の回転角度qから算出される回転角速度と、に基づいて、外乱推定値τdを算出する。なお、ここでいうトルク指令値τは、最終的にアーム装置10に送信されるアーム部120での発生トルクを表す指令値に相当し得る。また、理想関節制御部280は、外乱推定値τdを用いて、最終的にアーム装置10に送信されるアーム部120に生じさせるトルクを表す指令値であるトルク指令値τを算出する。具体的には、理想関節制御部280は、上記数式(12)に示す関節部130の理想モデルから算出されるτrefに上記外乱推定値τdを加算することにより、トルク指令値τを算出する。例えば、外乱推定値τdが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。
以上のようにして、理想関節制御部280は、算出したトルク指令値τをアーム装置10の駆動制御部111に送信する。駆動制御部111は、送信されたトルク指令値τに対応する電流量を、関節部130のアクチュエータにおけるモータに対して供給する制御を行うことにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。
本実施形態に係る医療用アームシステム1においては、アーム装置10におけるアーム部120の駆動制御は、アーム部120を用いた作業が行われている間継続的に行われるため、アーム装置10及び制御装置20における以上説明した処理が繰り返し行われる。すなわち、アーム装置10の関節状態検出部132によって関節部130の状態が検出され、制御装置20に送信される。制御装置20では、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための全身協調制御及び理想関節制御に関する各種の演算が行われ、演算結果としてのトルク指令値τがアーム装置10に送信される。アーム装置10では、当該トルク指令値τに基づいてアーム部120の駆動が制御され、駆動中又は駆動後の関節部130の状態が、再び関節状態検出部132によって検出される。
制御装置20が有する他の構成についての説明を続ける。
記憶部220は、制御装置20によって処理される各種の情報を記憶する。本実施形態においては、記憶部220は、仮想境界の設定や更新に用いられる各種のパラメータを記憶することができる。具体的な一例として、記憶部220は、仮想境界の形状や大きさ等のようなパラメータを記憶していてもよい。
また、記憶部220は、制御部230によって行われる全身協調制御及び理想関節制御に関する演算において用いられる各種のパラメータを記憶することができる。例えば、記憶部220は、全身協調制御部270による全身協調制御に関する演算において用いられる運動目的及び拘束条件を記憶していてもよい。記憶部220が記憶する運動目的は、上述したように、例えば先端ユニット140が空間上の所定の点で静止することのような、予め設定され得る運動目的であってよい。また、拘束条件は、アーム部120の幾何的な構成やアーム装置10の用途等に応じて、ユーザによって予め設定され、記憶部220に格納されていてもよい。また、記憶部220には、アーム状態取得部240がアーム状態を取得する際に用いるアーム部120に関する各種の情報が記憶されていてもよい。更に、記憶部220には、制御部230による全身協調制御及び理想関節制御に関する演算における演算結果や演算過程で算出される各数値等が記憶されてもよい。このように、記憶部220には、制御部230によって行われる各種の処理に関するあらゆるパラメータが格納されていてよく、制御部230は、記憶部220と相互に情報を送受信しながら各種の処理を行うことができる。
また、記憶部220は、制御部230によって行われる各種演算の過程で算出される情報を一時的に記憶する記憶領域として利用されてもよい。具体的な一例として、記憶部220には、アーム部120の動作のアシストの目標となる目標点、当該アシストの制御量(以下、「アシスト量」とも称する)の調整に係るパラメータ、及びアーム部120の動作の制御の基準となる点(以下、「拘束点」とも称する)等に関する情報が記憶されてもよい。
以上、制御装置20の機能及び構成について説明した。なお、本実施形態に係る制御装置20は、例えばPC(Personal Computer)やサーバ等の各種の情報処理装置(演算処理装置)によって構成することができる。
以上、図4を参照して、本実施形態に係るアーム装置10及び制御装置20の機能構成について説明した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウエアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<2.3.医療用アームシステムの制御例>
続いて、本実施形態に係る医療用アームシステムの制御の一例についてより詳細に説明する。
<2.3.1.アーム制御の基本思想>
まず、本実施形態に係る医療用アームシステムにおける仮想境界の設定に基づくアーム制御に係る技術の基本思想について概要を説明する。
従来のアームシステムでは、例えば、実空間内(例えば、体内)の所定の領域に対する、アーム部に保持された先端ユニットの進入を抑制するために、当該実空間内に仮想境界が設定される。この場合には、例えば、当該先端ユニットと当該仮想境界とが接触した場合に、アーム部の各関節部の位置や姿勢を拘束し、当該先端ユニットの先端が当該仮想境界により隔てられた領域にそれ以上進入しないように抑制される。一方で、従来のアームシステムにおける仮想境界の設定を利用した制御においては、例えば、先端ユニットを特定の位置(目標点)に移動させるような操作を行うような状況を、必ずしも想定しているとは限らない。
これに対して、本実施形態に係る医療用アームシステムでは、目標点に向けて作用点(例えば、先端ユニットの先端)を移動させる操作をアシスト可能となるように、仮想境界の設定や、当該仮想境界の設定に応じたアーム部の制御が行われる。
例えば、図5は、本実施形態に係る医療用アームシステムにおける仮想境界の設定に基づくアーム制御に係る技術の概要について説明するための概略的な斜視図である。図5において、参照符号P10は、本実施形態に係る医療用アームシステムにおいて設定される仮想境界の一例を模式的に示している。本実施形態に係る仮想境界P10は、平面や曲面もしくはこれらの組み合わせにより形成される面P11を有し、当該面P11の一部に開口部P13が設定されている。例えば、図5に示す例では、仮想境界P10は、開口部P13に向けて傾斜するように面P11が設定されている。より具体的には、図5に示す例では、仮想境界P10は、頂点側が下方に位置するように保持された円錐の側面に略等しい形状を有し、当該頂点側に対応する位置に開口部P13が設けられている。即ち、当該円錐の軸に垂直な面で仮想境界P10を切断した場合の切断面は、開口部P13(移動目標)により近い位置で切断されるほどその面積がより小さくなる。なお、仮想境界P10の各部の寸法や細部の形状等については想定される利用シーンに応じて適宜変更されてもよい。例えば、仮想境界P10は、上面側が下方に位置するように保持された円錐台の側面に略等しい形状を有していてもよく、この場合には当該上面の少なくとも一部に対応する位置(例えば、当該上面に対応する位置や当該上面中の点に対応する位置)に開口部P13(移動目標)が設けられていてもよい。また、参照符号141は、アーム部120に保持される先端ユニット140の先端部を模式的に示している。即ち、図5に示す例では、先端部141が仮想境界P10の面P11に接触した場合(換言すると、先端部141が仮想境界P10の面P11上に位置する場合)に、当該先端部141の、当該面P11により隔てられた裏面側の領域への進入が抑制されるように、アーム部120の動作が制御される。また、このとき、面P11に接触した先端部141(即ち、面11上に位置する先端部141)の、当該面P11上に沿った開口部P13に向けた移動がアシスト(補助)されるように、アーム部120の動作が制御される。即ち、先端部141の面P11上に沿った移動のアシストに係る移動目標として、当該面P11の一部に開口部P13が設定されているとも言える。
なお、図5に示す例では、座標軸を定義している。具体的には、開口部P13の中心に垂直な方向をz軸方向と定義し、z軸に互いに直交する方向であって、相互に直交する方向をx軸方向及びy軸方向と定義する。また、便宜上、当該座標軸に合わせて、上下方向、前後方向、左右方向を定義する。即ち、z軸方向、x軸方向、及びy軸方向をそれぞれ、上下方向、左右方向、及び前後方向と定義する。
ここで、図6を参照して、本実施形態に係る仮想境界の設置方法の一例について説明する。図6は、本実施形態に係る仮想境界の設置方法の一例について概要を説明するための説明図である。なお、図6におけるx軸、y軸、及びz軸は、図5におけるx軸、y軸、及びz軸にそれぞれ対応している。図6では、例えば、先端ユニット140として、内視鏡のように少なくとも一部を患者の体内に挿入して使用する医療用器具を想定している。即ち、参照符号M11は、患者の身体の表面を模式的に示している。また、参照符号M13は、当該患者の体内への医療用器具の挿入に利用される挿入口を模式的に示している。
なお、本開示においては、患者の体内への医療用器具の挿入に利用可能であれば、挿入口M13の態様は特に限定されない。具体的な一例として、挿入口M13は、所謂トロッカ等が設置されることで形成された挿入口(人口孔又はオリフィス)であってもよい。また、他の一例として、挿入口M13は、身体の表面M11に対して切開等の処置を施すことで形成された挿入口であってもよい。また、他の一例として、挿入口M13は、耳孔や鼻孔等のように、身体の一部として設けられている開口(自然孔又はオリフィス)であってもよい。
さらに、本開示においては、挿入口M13又は後述する開口部P13の中心軸(トロッカ等の中心軸に相当し得る)と平行な方向(図6及び以下の図面におけるz軸方向)を垂直方向とし、この中心軸と垂直な方向を水平方向(図6及び以下の図面においてxy平面に含まれる方向)を水平方向とする。すなわち、本開示では、トロッカ等が設置されることで形成された挿入口M13の中心軸が重力方向と一致する場合を想定している。したがって、挿入口M13又は開口部P13の中心軸が重力方向に対して傾いた場合には、本開示における垂直方向は、この傾いた中心軸と一致するように傾き、水平方向は、垂直方向の傾きに応じて傾く。このように、本開示では、垂直方向は、常に、挿入口M13又は開口部P13の中心軸と一致するものとして定義され、水平方向は、常に、垂直方向に対して垂直な方向として定義される。なお、開口部の中心軸とは、開口部の縁を含む面と垂直な軸であって、開口部の中心を通る軸であってよい。
図6に示す例では、図5に示す仮想境界P10の開口部P13の位置が、挿入口M13の位置に対応するように、実空間内に仮想境界P10が設定されている。具体的には、開口部P13に挿通させた先端ユニット140(医療用器具)の先端部141が挿入口M13を介して患者の体内に挿入されるような位置関係となるように、当該挿入口M13の位置に基づき、仮想境界P10の位置や姿勢が設定される。また、仮想境界P10の面P11は、上記開口部P13の位置を基点とした所定の範囲内に設定される。具体的な一例として、当該面P11は、xy平面上において開口部P13の位置を中心とした所定の範囲に相当する領域内において、当該開口部P13を底部として、当該開口部P13に向けて傾斜するように設定されている。即ち、図6に示す例において、仮想境界P10は、底部に開口が設けられた所謂すり鉢状の形状を有するように設定されている。換言すると、仮想境界P10は、面P11のうち挿入口M13に対応する位置が挿通可能となるように開口部P13が設定されている。
なお、開口部P13が仮想境界P10の中心に位置していることは必須の構成ではない。例えば、面P11が下底(開口部P13に相当)の中心軸と上底(開口部P13とは反対側に位置する開口部に相当)の中心軸とがずれた逆錐台(円錐台、楕円錐台、n角錐台(nは3以上の整数)等を含む)を形成していてもよい。その際、下底の中心軸と上底の中心軸とは平行でなくてもよい。
以上のような構成により、例えば、患者の身体の表面M11のうち、開口部P13以外の部分については、仮想境界P10の面P11により、先端部141の近接が遮蔽されるため、当該表面M11に対して先端部141が接触する事態の発生を防止することが可能となる。また、当該面P11に接した当該先端部141(作用点)の、当該面P11上に沿った開口部P13(移動目標)に向けた移動がアシスト(補助)されるため、挿入口M13に対して当該先端部141を挿入する操作をアシストすることが可能となる。換言すると、本実施形態に係る仮想境界P10の設定に基づき、例えば、目標点(例えば、挿入口M13)により近づくほどに、作用点(例えば、先端部141)が移動可能な範囲がより制限されるように、アーム部120の動きが制御される。
以上、図5及び図6を参照して、本実施形態に係る医療用アームシステムにおける仮想境界の設定に基づくアーム制御に係る技術の基本思想について概要を説明する。
<2.3.2.比較例:操作抑制制御>
続いて、本実施形態に係る医療用アームシステムによるアーム制御の特徴をよりわかりやすくするために、比較例として、実空間内の所定の領域に対する先端ユニットの進入を抑制することを主な目的としたアーム制御の一例について説明する。
まず、図7を参照して、比較例に係るアーム制御の概要について説明する。図7は、比較例に係るアームシステムにおけるアーム制御の一例について概要を説明するための説明図である。図7に示す例では、先端ユニット140として内視鏡を適用し、トロッカ等を利用することで形成された挿入口に対して当該内視鏡を挿入するようなユースケースを想定している。また、図7におけるx軸、y軸、及びz軸は、図5におけるx軸、y軸、及びz軸にそれぞれ相当している。
図7において、参照符号P11は、実空間内に設定された仮想境界の面(以降では、「境界面」とも称する)を示している。即ち、境界面P11は、図5及び図6に示す仮想境界P10の面P11に相当する。また、参照符号P111、P113、及びP115のそれぞれは、境界面P11の上方から当該境界面P11に向けて(即ち、下方に向けて)先端ユニット140が移動するように操作がなされる過程における当該先端ユニット140の位置を模式的に示している。具体的には、位置P111は、先端ユニット140の先端部141が境界面P11に接触する前における当該先端ユニット140の位置を示している。また、位置P113は、上記操作の結果として、先端ユニット140の先端部141が境界面P11により隔てられた領域(即ち、境界面P11よりも下方側の領域)に進入することが予測される状況下で、当該領域に先端部141が進入した場合における当該先端ユニット140の位置を示している。なお、参照符号P105は、このときの先端部141の位置を模式的に示している。また、位置P115は、境界面P11により隔てられた領域への先端部141の進入が抑制されるようにアーム部120の動作が制御された場合における、先端ユニット140の位置を示している。
図7に示す例では、先端ユニット140の先端部141(作用点)が境界面P11よりも上方の領域に位置する場合には、当該先端ユニット140の動き(換言すると、アーム部120の動作)が拘束されない。これに対して、当該先端部141が境界面P11よりも下方の領域に進入することが予測される場合(もしくは、当該領域への先端部141の進入が発生した場合)には、当該領域への当該先端部141の進入が抑制されるように、先端ユニット140の動き(換言すると、アーム部120の動作)が拘束される。具体的には、境界面P11と先端部141とが接触する当該境界面P11上に拘束点P103が設定され、アーム部120の動作制御の条件に対して、当該拘束点P103の位置に応じたxyz方向の並進3自由度の拘束条件が与えられる。これにより、先端部141が境界面P11上に位置するように、当該先端ユニット140の動き(換言すると、アーム部120の動作)が抑制される。このとき、先端ユニット140の動きについては、当該先端ユニット140の動きが拘束されない境界面P11よりも上側の領域に向けた移動以外が制限されることとなる。
ここで、図8を参照して、比較例に係るアームシステムの一連の処理の流れの一例について、特に仮想境界の設定に応じた先端ユニット140の動きの制御(即ち、アーム部120の動きの制御)に着目して説明する。図8は、比較例に係るアームシステムの一連の処理の流れの一例を示したフローチャートである。
図8に示すように、アーム装置10(関節状態検出部132)によって、アーム部120を構成する各関節部130の状態が検出され(S101)、当該検出結果がアーム情報として制御装置20に送信される。制御装置20(アーム状態取得部240)は、アーム装置10からアームの状態に応じたアーム情報を取得し(S103)、当該アーム情報に基づき、リンク及び先端ユニット140の空間上の位置(座標)や、各関節部130、リンク及び先端ユニット140に作用している力等を特定する(S105)。
次いで、制御装置20(仮想境界更新部251、拘束条件更新部255)は、仮想境界に関する情報や、アーム部120の動作の制御に係る拘束条件に関する情報(例えば、最新の拘束条件に関する情報)を取得する(S107)。制御装置20(仮想境界更新部251)は、各種条件に基づき仮想境界の設定や更新を行う。例えば、制御装置20は、先端ユニット140の先端部141の位置(作用点の位置)や、ユーザによる指示(ユーザ目的)に応じて、目標点の設定や更新を行い、当該目標点の設定に応じて仮想境界の設定や更新を行ってもよい(S109)。
制御装置20(領域進入判定部253)は、仮想境界の設定や更新の結果と、アーム情報と、に基づき、当該仮想境界により隔てられた領域に対する先端ユニット140の先端部141(作用点)の進入の判定を行う(S111)。当該領域に先端部141が進入していないと判定された場合には(S111、NO)、制御装置20(拘束条件更新部255)は、現在の先端部141の位置を最新の拘束点の位置として記憶し(S113)、拘束条件を無拘束に更新する(S115)。即ち、この場合には、アーム部120の動作の抑制が行われないこととなる。
一方で、上記領域に先端部141が進入したと判定された場合には(S111、YES)、制御装置20(領域進入判定部253)は、最新の拘束点に基づき、上記領域に対する先端部141の進入が抑制されるようにアーム部120の少なくとも一部の動作を抑制するために拘束条件を更新する。具体的な一例として、図7を参照して説明したように、制御装置20は、xyz方向の並進3自由度を拘束することで先端部141が仮想境界の面上に位置するように拘束条件を更新してもよい(S117)。また、制御装置20(運動目的更新部257)は、当該拘束条件の更新を受けて、アーム部120の動作の制御に係る運動条件の更新を行ってもよい。
次いで、制御装置20(演算条件設定部260)は、外力を操作力としたマニュアル操作を実現するために、一般化逆動力学を用いた全身協調制御に関する演算における演算条件として、最新の運動目的と最新の拘束条件とを設定する(S119)。
制御装置20(全身協調制御部270)は、アームの状態、上記運動目的、及び上記拘束条件に基づき、一般化逆動力学を用いた演算による全身協調制御のための制御指令値の算出を行う(S121)。なお、上述では、制御装置20の全身協調制御部270が例えば逆動力学を用いて全身協調制御のための制御指令値を算出する場合を例示したが、このような例に限定されるものではない。すなわち、多リンク構造体の一部又は全部の制御のための好適な技術(又は、医療用アームの構造)であれば、種々の技術(又は構造)を適用することが可能である。
制御装置20(理想関節制御部280)は、トルク指令値τと、アーム部120を構成する関節部130の回転角度qから算出される回転角速度と、に基づいて、外乱推定値τdを算出する。また、制御装置20は、外乱推定値τdを用いて、最終的にアーム装置10に送信されるアーム部120に生じさせるトルクを表す指令値であるトルク指令値τを算出する(S123)。
以上のようにして、制御装置20は、算出したトルク指令値τをアーム装置10に送信する。そして、アーム装置10(駆動制御部111)は、制御装置20から送信されたトルク指令値τに対応する電流量を、関節部130のアクチュエータにおけるモータに対して供給する制御を行うことにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する(S125)。
以上のような一連の処理が、制御が継続する限り(S127、YES)、逐次実行される。そして、電源OFF等により制御の終了が指示されると(S127、NO)、上述した一連の処理の実行が終了する。
以上、比較例として、図7及び図8を参照して、実空間内の所定の領域に対する先端ユニットの進入を抑制することを主な目的としたアーム制御の一例について説明した。
一方で、上述した比較例に係るアーム制御が行われる状況下では、例えば、先端部141を特定の位置に移動するようなユーザ操作を実現するためには、煩雑な操作が必要となる(換言すると、操作性が低下する)場合がある。具体的には、上述のような制御下においては、ユーザは、例えば、探索的に仮想境界の形状を確認しながら操作を行うか、または表示デバイス等により仮想境界の形状を確認しながら操作を行うこととなる。このような状況を鑑み、以降で説明する制御例では、目標点に向けて作用点(例えば、先端ユニットの先端)を移動させる操作をアシスト可能となるように、仮想境界の設定や、当該仮想境界の設定に応じたアーム部120の制御を行うことで、操作性の向上を図っている。そこで、以降では、制御例1及び制御例2として、本開示に係るアーム制御の一例についてそれぞれ説明する。
<2.3.3.制御例1:拘束点の位置更新による操作アシスト制御>
まず、制御例1として、仮想境界と作用点との間の位置関係に応じて拘束点の位置を更新することで、ユーザ操作をアシスト(補助)する制御の一例について説明する。
まず、図9を参照して、制御例1に係るアーム制御の概要について説明する。図9は、制御例1に係るアーム制御について概要を説明するための説明図であり、本開示の一実施形態に係る医療用アームシステムにおけるアーム制御の一例について示している。図9に示す例では、先端ユニット140として内視鏡を適用し、トロッカ等を利用することで形成された挿入口に対して当該内視鏡を挿入するようなユースケースを想定している。また、図9におけるx軸、y軸、及びz軸は、図5におけるx軸、y軸、及びz軸にそれぞれ相当している。
図9において、参照符号P11は、実空間内に設定された仮想境界の面(即ち、境界面)を示しており、図5及び図6に示す仮想境界P10の面P11に相当する。また、参照符号P141、P143、及びP145のそれぞれは、境界面P11の上方から当該境界面P11に向けて(即ち、下方に向けて)先端ユニット140が移動するように操作がなされる過程における当該先端ユニット140の位置を模式的に示している。具体的には、位置P141は、先端ユニット140の先端部141が境界面P11に接触する前における当該先端ユニット140の位置を示している。また、位置P143は、上記操作の結果として、先端ユニット140の先端部141が境界面P11により隔てられた領域(即ち、境界面P11よりも下方側の領域)に進入することが予測される状況下で、当該領域に先端部141が進入した場合における当該先端ユニット140の位置を示している。なお、参照符号P135は、このときの先端部141の位置を模式的に示している。また、位置P145は、境界面P11により隔てられた領域への先端部141の進入が抑制されるようにアーム部120の動作が制御された場合における、先端ユニット140の位置を示している。
図9に示す例では、先端ユニット140の先端部141(作用点)が境界面P11よりも上方の領域に位置する場合には、当該先端ユニット140の動き(換言すると、アーム部120の動作)が拘束されない。なお、以降の説明では、当該領域を便宜上「無拘束条件領域」とも称する。
これに対して、当該先端部141が境界面P11よりも下方の領域に進入することが予測される場合(もしくは、当該領域への先端部141の進入が発生した場合)には、当該領域への当該先端部141の進入が抑制されるとともに、移動目標として設定された位置に向けた当該先端部141の境界面P11に沿った移動がアシストされる。なお、参照符号P147は、図9に示す例における移動目標の位置を模式的に示している。また、以降の説明では、図9に示す例における境界面P11よりも下方の領域のように、先端ユニット140の動きが拘束される領域を便宜上「拘束条件領域」とも称する。
具体的には、境界面P11と先端部141との接触の検出結果(換言すると、境界面P11上に先端部141が位置することの検出結果)に基づき、拘束条件領域に対して当該先端部141が進入する当該境界面P11上の位置(以下、「進入点P133」とも称する)と、当該領域への進入方向とが算出される。次いで、境界面P11の形状や移動目標P147に基づき、無拘束条件領域に存在する進入点P133とは異なる位置が最新の拘束点P137として設定される。例えば、図9に示す例では、操作の結果として拘束条件領域に進入した場合における先端部141の位置P135から移動目標P147に向けたベクトルV139と、境界面P11と、が交わる当該境界面P11上の位置に拘束点P137が設定されている。最新の拘束点P137の設定後は、アーム部120の動作制御の条件に対して、当該拘束点P137の位置に応じたxyz方向の並進3自由度の拘束条件が与えられる。これにより、先端部141の移動目標P147に向けた移動が促されるように拘束条件が更新されることとなる。即ち、先端部141が境界面P11上に位置し、かつ移動目標P147に向けた当該先端部141の当該境界面P11に沿った移動がアシストされるように、先端ユニット140の動き(換言すると、アーム部120の動作)が制御される。後述の「5.まとめ」において説明するように、このような操作アシスト制御は、ユーザを適切に誘導するために提供される。例えば、移動目標に近づくための適切な経路から外れるような動きに対しては、これを防いだり抵抗したりするための反力や抗力を作用させることによって、ユーザに適切なルートを示すことが可能となる。その場合、制御装置20は、所定の誘導規則に基づいて生成された力を医療用アームシステムに与えるように構成される。
なお、本実施形態に係る誘導規則とは、例えば、先端ユニット140の先端部141(作用点)を移動目標P147へと導くためにどのような力を医療用アーム装置510に発生させるかを定めた規則であり、例えば、先端部141の移動目標P147へ向けた移動をアシストするような推進力(押す力及び/又は引く力)を発生させる規則や、先端部141の移動目標P147とは異なる方向への移動に対して反力や抗力等を発生させる規則などが含まれ得る。また、その他の誘導規則としては、先端部141が移動目標P147に近づいた際にはより慎重な移動を実現するために、上記の推進力(押す力及び/又は引く力)や反力や抗力等に(段階的に増加する)オフセットを加えたり、これらの力を(段階的に)増倍したりする規則などが含まれてもよい。
また、図10は、制御例1に係るアーム制御における拘束点の設定方法の一例について説明するための説明図である。換言すると、図10は、仮想境界P10の境界面P11により隔てられた無拘束条件領域に対する作用点の進入を抑制する当該境界面P11上の位置(以下、「進入抑制点」とも称する)の設定方法の一例を示している。図10において、図5と同様の符号は、図5に示す例において当該符号が付された対象を同様に示している。また、参照符号P155は、仮想境界P10の境界面P11上に設定された進入抑制点(拘束点)を示している。また、参照符号P151は、開口部P13の中心(換言すると、挿入口M13の中心)に垂直な軸を示している。即ち、軸P151は、開口部P13と挿入口M13との双方を挿通するように設定される軸に相当する。また、参照符号V153は、軸P151に対して垂直に交わるベクトルを示している。即ち、軸P151に垂直なベクトルV153と、仮想境界P10の境界面P11と、の交点の算出結果を利用することで、当該境界面P11上に進入抑制点P155を設定することが可能となる。
続いて、図11を参照して、制御例1に係るアーム制御の一連の処理の流れの一例について、特に仮想境界の設定に応じた先端ユニット140の動きの制御(即ち、アーム部120の動きの制御)に着目して説明する。図11は、制御例1に係るアーム制御の一連の処理の流れの一例を示したフローチャートである。なお、参照符号S201~S209で示した処理については、図8に示す例における参照符号S101~S109で示した処理と実質的に同様のため詳細な説明は省略する。
制御装置20(領域進入判定部253)は、仮想境界の設定や更新の結果と、アーム情報と、に基づき、当該仮想境界により隔てられた領域(無拘束条件領域)に対する先端ユニット140の先端部141(作用点)の進入の判定を行う(S211)。拘束条件領域に先端部141が進入していないと判定された場合には(S211、NO)、制御装置20(拘束条件更新部255)は、拘束条件を無拘束に更新する(S213)。即ち、この場合には、アーム部120の動作の抑制が行われないこととなる。
これに対して、上記拘束条件領域に先端部141が進入したと判定された場合には(S211、YES)、制御装置20(領域進入判定部253)は、当該拘束条件領域への先端部141の進入方向及び進入位置を算出する(S215)。なお、拘束条件領域への先端部141(作用点)の進入方向及び進入位置については、アーム部120の状態に応じた先端ユニット140の位置と、仮想境界P10の位置と、の間の相対的な関係に応じて算出することが可能である。
次いで、制御装置20(拘束条件更新部255)は、仮想境界と、上記進入方向及び上記進入位置の算出結果と、に基づき、無拘束条件領域に存在する当該進入位置とは異なる位置が最新の拘束点となるように、拘束点を更新する(S217)。そして、制御装置20(領域進入判定部253)は、最新の拘束点に基づき、アーム部120の少なくとも一部の動作を抑制するために拘束条件を更新する。具体的な一例として、図9を参照して説明したように、制御装置20は、xyz方向の並進3自由度を拘束することで、拘束条件領域への先端部141(作用点)の進入が抑制されるとともに、移動目標に向けた当該先端部141の仮想境界の境界面に沿った移動がアシストされるように拘束条件を更新してもよい(S219)。また、制御装置20(運動目的更新部257)は、当該拘束条件の更新を受けて、アーム部120の動作の制御に係る運動条件の更新を行ってもよい。
なお、以降の動作(即ち、参照符号S221~S229で示した処理)については、図8を参照して説明した例と実質的に同様のため詳細な説明は省略する。
以上のような制御により、仮想境界により隔てられた領域に対する作用点(例えば、先端部141)の進入の抑制に加えて、ユーザの操作目標に応じた仮想境界の境界面に沿った移動操作のアシストが可能となる。具体的な一例として、トロッカ等を利用することで形成された挿入口に対して内視鏡を挿入するような状況下において、仮想境界の境界面に対して内視鏡の先端を押し当てることにより、当該先端を当該境界面に沿って誘導することが可能となる。即ち、ユーザが目標位置となる挿入口へ向けた操作を意識せずとも、当該挿入口に向けて内視鏡を移動させるように、ユーザの操作をアシスト及び/又は誘導することが可能となる。このように、制御装置20は、内視鏡の先端が仮想境界を貫通するといった意図しない移動を抑制することが可能である。また、作用点を仮想境界に押し当てる力(作用点が仮想境界上に位置し続けることに寄与する力)、及び/又は、作用点を移動目標へ向けて押す力を付加的に与えることも可能となる。また、仮想境界の形状や開口部の位置(換言すると、操作目標の位置)については、各種条件に応じて設定や更新を適宜行うことが可能である。そのため、例えば、上述した制御を操作中の位置を記憶するポジションメモリ機能と組み合わせて、操作目標及び仮想境界の形状を設定または更新することで、アームに保持された先端ユニットが特定のメモリ位置に向けて移動させるように、ユーザの操作をアシストすることも可能となる。
以上、制御例1として、図9~図11を参照して、仮想境界と作用点との間の位置関係に応じて拘束点の位置を更新することで、ユーザ操作をアシスト(補助)する制御の一例について説明した。
<2.3.4.制御例2:力制御による操作アシスト制御>
次いで、制御例2として、作用点から仮想境界に加わる外力を推定し、当該外力に対する反力及び/又は抗力を模擬することで、ユーザ操作をアシスト(補助)する制御の一例について説明する。
まず、図12を参照して、制御例2に係るアーム制御の概要について説明する。図12は、制御例2に係るアーム制御について概要を説明するための説明図であり、本開示の一実施形態に係る医療用アームシステムにおけるアーム制御の一例について示している。図12に示す例では、先端ユニット140として内視鏡を適用し、トロッカ等を利用することで形成された挿入口に対して当該内視鏡を挿入するようなユースケースを想定している。また、図12におけるx軸、y軸、及びz軸は、図5におけるx軸、y軸、及びz軸にそれぞれ相当している。
図12において、参照符号P11は、実空間内に設定された仮想境界の面(即ち、境界面)を示しており、図5及び図6に示す仮想境界P10の面P11に相当する。また、参照符号P177及びP179のそれぞれは、境界面P11に対して先端ユニット140が押し付けられるように操作がなされる過程における当該先端ユニット140の位置を模式的に示している。具体的には、位置P177は、境界面P11に対して先端ユニット140の先端部141が接触した状態(換言すると、境界面P11上に先端部141が位置する状態)において、当該先端ユニット140を当該境界面P11に押し付けるような操作が行われたタイミングにおける当該先端ユニット140の位置を示している。また、位置P179は、上記操作を受けて、境界面P11により隔てられた領域への先端部141の進入が抑制されるようにアーム部120の動作が制御された場合における先端ユニット140の位置(即ち、操作後の先端ユニット140の位置)を示している。
図12に示す例では、先端ユニット140の先端部141(作用点)が境界面P11よりも上方の領域に位置する場合には、当該先端ユニット140の動き(換言すると、アーム部120の動作)が拘束されない。この点については、図9を参照して説明した制御例1と同様である。
これに対して、境界面P11に接した先端部141がさらに当該境界面P11により隔てられた領域に向けて移動するように操作がなされると、当該領域への当該先端部141の進入が抑制されるような反力が模擬される。具体的には、実際に境界面P11が物体として存在すると仮定した場合に、境界面P11に接触する先端部141(換言すると、境界面P11上に位置する先端部141)から当該境界面P11に対して作用する外力が推定される。例えば、参照符号P173は、位置P177に位置する先端ユニット140の先端部141が境界面P11に接触している位置を模式的に示している。また、参照符号V181は、位置P177に位置する先端ユニット140から境界面P11に対して加わることが推定される外力のベクトルを示している。また、参照符号V183は、外力のベクトルV181のうち境界面P11に対する垂直成分のベクトルを示している。また、参照符号V187は、外力のベクトルV181のうち境界面P11に対する平行成分のベクトルを示している。
また、ベクトルV181として示した外力の推定結果から、境界面P11に対する垂直成分のベクトルV183を算出することで、当該垂直成分の影響を打ち消す反力のベクトルV185を算出することが可能である。即ち、図12に示す例では、ベクトルV185として示した境界面P11に対する垂直方向の反力が模擬されるようにアーム部120の動作が制御されることで、境界面P11よりも下方の領域(拘束条件領域)への先端部141の進入を抑制することが可能となる。また、ベクトルV187として示した境界面P11に対する平行成分が打ち消されずに残留することで、先端部141の境界面P11に沿った移動がアシストされるように、先端ユニット140の動き(換言すると、アーム部120の動作)が制御されることとなる。なお、ベクトルV185として示した境界面P11に対する垂直方向の反力が、「第1の力」の一例に相当する。
なお、ベクトルV187として示すように、境界面P11に対する外力の平行成分を算出することも可能となるため、例えば、当該平行成分の影響を制限するような(ひいては、打ち消すような)抗力のベクトルV189を算出することも可能である。そのため、例えば、ベクトルV189として示した境界面P11に対する平行方向の抗力が模擬されるようにアーム部120の動作が制御されることで、先端部141の境界面P11に沿った移動に係るアシスト量を調整することも可能となる。なお、ベクトルV189として示した境界面P11に対する平行方向の抗力が、「第2の力」の一例に相当する。
続いて、図13を参照して、制御例2に係るアーム制御の一連の処理の流れの一例について、特に仮想境界の設定に応じた先端ユニット140の動きの制御(即ち、アーム部120の動きの制御)に着目して説明する。図13は、制御例2に係るアーム制御の一連の処理の流れの一例を示したフローチャートである。なお、参照符号S301~S309で示した処理については、図8に示す例における参照符号S101~S109で示した処理と実質的に同様のため詳細な説明は省略する。
制御装置20(領域進入判定部253)は、仮想境界の設定や更新の結果と、アーム情報と、に基づき、当該仮想境界により隔てられた領域(無拘束条件領域)に対する先端ユニット140の先端部141(作用点)の進入の判定を行う(S311)。拘束条件領域に先端部141が進入していないと判定された場合には(S311、NO)、制御装置20(拘束条件更新部255)は、拘束条件を無拘束に更新する(S313)。即ち、この場合には、アーム部120の動作の抑制が行われないこととなる。
これに対して、上記拘束条件領域に先端部141が進入したと判定された場合には(S311、YES)、制御装置20(領域進入判定部253)は、仮想境界P10の境界面P11に接触する先端部141(作用点)から当該境界面P11に対して作用する外力を算出(推定)する(S315)。なお、先端部141(作用点)から境界面P11に対して作用する外力のベクトルについては、アーム部120の状態に応じた先端ユニット140の位置と、仮想境界P10の位置と、の間の相対的な関係や、当該仮想境界P10の形状等に応じて算出することが可能である。
次いで、制御装置20(拘束条件更新部255、運動目的更新部257)は、仮想境界P10の境界面P11に対して作用する外力の算出結果に基づき、当該境界面P11に対する当該外力の垂直成分のベクトルを算出する。そして、制御装置20は、当該垂直成分のベクトルの算出結果に基づき、当該垂直成分の影響を打ち消す反力のベクトルを算出する。即ち、制御装置20は、境界面P11に対する上記外力の垂直成分と大きさが略等しい当該垂直成分に対する反力が発生するように、拘束条件や運動目的の更新を行う(S317)。
また、制御装置20(拘束条件更新部255、運動目的更新部257)は、仮想境界P10の境界面P11に対する上記外力の平行成分のベクトルを算出することで、先端部141の当該境界面P11に沿った移動に係るアシスト量を調整してもよい。具体的には、制御装置20は、境界面P11に対する上記外力の平行成分のベクトルの算出結果に基づき、当該平行成分の影響を制限するような抗力のベクトルを算出する。このとき、制御装置20は、当該平行成分の影響の制限量(即ち、当該平行成分に対する抗力の大きさ)を、先端部141(作用点)の移動に係るアシスト量に関する調整パラメータに応じて制御してもよい。以上のようにして、制御装置20は、境界面P11に対する上記外力の平行成分の大きさに応じた、当該平行成分に対する抗力が発生するように、拘束条件や運動目的の更新を行う(S319)。
なお、以降の動作(即ち、参照符号S321~S329で示した処理)については、図8を参照して説明した例と実質的に同様のため詳細な説明は省略する。
以上のような制御により、仮想境界により隔てられた領域に対する作用点(例えば、先端部141)の進入の抑制に加えて、ユーザが操作によりアーム部に加える力(換言すると、作用点を移動させる外力)に応じた仮想境界の境界面に沿った移動操作のアシストが可能となる。また、このときユーザからの操作に基づく作用点から仮想境界の境界面に対する外力の推定結果のうち、当該境界面P11に対する平行成分に応じた抗力を生じさせることも可能である。このような抗力を発生させることで、例えば、ユーザが操作によりアーム部に加える力に応じた仮想境界の境界面に沿った移動操作に対して、例えば、抵抗を発生させる等のような移動量の制御を行うことも可能となる。換言すると、境界面P11に対する平行成分に応じた抗力を生じさせることで、操作目標に向けたユーザの操作に対する摩擦力を模擬することも可能となる。
以上、制御例2として、図12及び図13を参照して、作用点から仮想境界に加わる外力を推定し、当該外力に対する反力及び/又は抗力を模擬することで、ユーザ操作をアシスト(補助)する制御の一例について説明した。
<2.3.5.実施例1:仮想境界を利用した操作アシスト制御例>
続いて、実施例1として、本開示の一実施形態に係るシステムによる、仮想境界を利用したユーザ操作のアシストに係る制御の一例として、内視鏡先端のポート挿入をアシストする状況を想定した仮想境界の設定に基づくアーム制御の一例について説明する。
まず、図14を参照して、実施例1に係るアーム制御の概要について説明する。図14は、実施例1に係るアーム制御の概要について説明するための説明図である。図14に示す例では、先端ユニット140として内視鏡を適用し、トロッカの設置等により設けられた体内に医療用器具を挿入するための挿入口P203に対して、当該内視鏡の先端部141(即ち、鏡筒の先端)の導入をアシストするために仮想境界の境界面P11が設定されている。即ち、図14に示す例では、挿入口P203に対応する位置に仮想境界の開口部が位置し、当該開口部に向けて傾斜するように当該仮想境界の境界面P11が設定される。なお、当該開口部の設定条件は特に限定されないものとする。具体的な一例として、トロッカが使用される場合には、トロッカの姿勢やトロッカの挿入口の向きに応じて、仮想境界の形状や適宜設定または更新されてもよい。
また、図14に示す例では、仮想境界の設定にあわせて、「Inside領域」、「Outside領域」、「Over Region領域」、及び「Under Trocar領域」が設定される。Inside領域は、境界面P11により隔てられる2つの領域のうち、患者の身体が位置する領域とは反対側の領域に相当し、図14に示す例では境界面P11よりも上側の領域に相当する。これに対して、Outside領域は、境界面P11により隔てられる2つの領域のうち、Inside領域とは反対側の領域に相当し、図14に示す例では境界面P11よりも下側の領域に相当する。Under Trocar領域は、挿入口P203を介して先端ユニット140の先端部141(作用点)が導入される領域に相当し、例えば、患者の体内に相当する領域が該当する。また、Over Region領域は、アーム制御に係る条件が適用されていない領域を模式的に示している。
Inside領域及びOver Region領域のそれぞれは、先端ユニット140の動きが拘束されない領域(無拘束条件領域)に相当する。これに対して、Outside領域及びUnder Trocar領域のそれぞれは、先端ユニット140の動きが拘束される領域(拘束条件領域)に相当する。このように、仮想境界の設定に応じて拘束条件領域の範囲が制限されることで、アーム制御の対象となる範囲を必要最小限に設定することが可能となり、当該範囲外においては先端ユニット140の位置や姿勢に依存せずに拘束の無い自由な操作を実現することが可能となる。
ここで、図15及び図16を参照して、アーム制御の具体的な一例について説明する。図15及び図16のそれぞれは、実施例1に係るアーム制御の一例について概要を説明するための説明図である。
まず、図15を参照して、実施例1に係るアーム制御の一例について説明する。図15において、参照符号140a~141cのそれぞれは、先端ユニット140の位置や姿勢を模式的に示している。また、参照符号141a~141cのそれぞれは、先端ユニット140a~140cの先端部141をそれぞれ示している。
Outside領域は、境界面P11の設定に応じてInside領域からの先端ユニット140の進入(遷移)が抑制される。具体的な一例として、図15に示す例では、先端ユニット140aの先端部141aは、境界面P11のうち開口部が設定された位置(即ち、挿入口P203に対応する位置)以外の他の位置P211において、Inside領域側から当該境界面P11に接している。この場合には、先端部141aは、アーム制御により位置P211からのOutside領域への進入が抑制される。一方で、先端部141aは、境界面P11に沿った動きについては拘束されない。そのため、図15に示すように、境界面P11上の位置P211に対して先端部141aが押し付けられるようにアームの操作がなされると、当該先端部141aの境界面P11の傾斜に沿った挿入口P203(換言すると、仮想境界の開口部)に向けた移動がアシストされる。これは、境界面P11上の位置P213においてInside領域側から当該境界面P11に接している先端ユニット140bの先端部141bについても同様である。
Under Trocar領域は、挿入口P203(即ち、仮想境界の開口部)を介したInside領域からの進入(遷移)が許容され、その他の部分からの進入(遷移)は抑制される。例えば、図15に示す例において、先端ユニット140cの先端部141cは、挿入口P203に挿入されることで、Inside領域からUnder Trocar領域に進入している。このように、先端部141cが挿入口P203を介してUnder Trocar領域に進入した状態において、先端ユニット140cは、少なくとも一部の動きが拘束されてもよい。具体的な一例として、先端ユニット140cは、XY方向の並進2自由度が拘束されてもよい。即ち、先端ユニット140cは、Z方向のみの動きが許容されてもよい。また、図15に示す例では、位置P215及びP217のように、Over Region領域とUnder Trocar領域とが接している部分が存在する。このような場合においても、Over Region領域からUnder Trocar領域への進入は抑制されることとなる。
次いで、図16を参照して、実施例1に係るアーム制御の他の一例について説明する。図16において、参照符号140d及び141eのそれぞれは、先端ユニット140の位置や姿勢を模式的に示している。また、参照符号141d及び141eのそれぞれは、先端ユニット140d及び140eの先端部141をそれぞれ示している。
前述したように、境界面P11により隔てられたInside領域からOutside領域への作用点(例えば、先端ユニット140)の進入(遷移)は抑制される。一方で、Outside領域からInside領域への作用点の進入(遷移)は許容されてもよい。具体的な一例として、図16に示す例では、先端ユニット140dの先端部141dは、Outside領域に位置している。このような状況下で、当該先端部141dが、当該Outside領域から、境界面P11を超えてInside領域に進入するように操作がなされた場合に、当該操作が許容されるようにアーム制御が行われてもよい。もちろん、Inside領域に遷移した先端部141dを、挿入口P203以外の位置から再度Outside領域に進入させるように操作がなされた場合には、当該Outside領域への当該先端部141dの進入は抑制されることとなる。これは、先端部141eがOutside領域に位置する先端ユニット140eについても同様である。このように各領域への進入方向を加味したアーム制御がなされることで、ユーザが意図する操作にあわせて当該操作のアシストが可能となる。即ち、Outside領域からInside領域へ先端ユニット140を移動させる際には、仮想境界によりユーザの操作が阻害されず、Inside領域側に位置する先端ユニット140を挿入口P203に挿入させる際には、仮想境界により当該挿入に係るユーザの操作がアシストされる。これにより、操作性をさらに向上させる効果を期待することが可能となる。
また、図16に示す例では、位置P221及びP223のように、Outside領域とUnder Trocar領域とが接している部分から、Under Trocar領域に先端部141が進入するように操作がなされる状況が想定され得る。このような場合には、Outside領域からUnder Trocar領域への当該先端部141の進入は抑制されることとなる。
なお、図14~図16に示す例において、Inside領域が「第1の領域」の一例に相当し、Outside領域が「第2の領域」の一例に相当する。
以上、実施例1として、図14~図16を参照して、本開示の一実施形態に係るシステムによる、仮想境界を利用したユーザ操作のアシストに係る制御の一例として、内視鏡先端のポート挿入をアシストする状況を想定した仮想境界の設定に基づくアーム制御の一例について説明した。
<2.3.6.実施例2:仮想境界を利用した操作アシスト制御例>
実施例2として、本開示の一実施形態に係るシステムによる、仮想境界を利用したユーザ操作のアシストに係る制御の他の一例について説明する。
上述した本開示に係る仮想境界の設定に応じたユーザ操作のアシストに係るアーム制御は、図2に示すようなアーム装置の動作を制御するための1つのモード(換言すると、アーム制御のモード)として設定されていてもよい。即ち、アーム装置の動作モードとして、本開示の一実施形態に係るアーム制御のモードと、他のアーム制御のモード(例えば、従来技術に基づくモード)と、が設定されていてもよい。この場合には、本開示に係るアーム制御のモードが「第1のモード」の一例に相当し、他のアーム制御のモードが「第2のモード」の一例に相当する。具体的な一例として、アーム装置の動作モードとして、本開示に係る技術に基づく仮想境界の設定に応じたユーザ操作のアシストに係る第1のモードと、従来技術に基づき所定の領域への作用点の進入を抑制する第2のモード(例えば、所定の構造体への先端ユニットの接触を防止するためのモード)と、が設定されていてもよい。なお、この場合には、第2のモードとして、所定の領域への作用点の進入を抑制するためのアーム制御の方法は特に限定されない。具体的な一例として、拘束点の設定に基づきアーム制御が行われることで、所定の領域への作用点の進入が抑制されてもよい。また、他の一例として、所定の領域への作用点の進入を抑制する反力及び/又は抗力が生じるようにアーム制御が行われてもよい。
なお、この場合には、各モードの適用条件については、想定され得るユースケースに応じて適宜設定することが可能である。具体的な一例として、アーム装置のアーム部に保持される先端ユニット(例えば、医療用器具)に応じて、適用されるモードが決定されてもよい。また、アーム部に相当する構成が複数設けられている場合には、アーム部ごとに適用するモードが決定されてもよい。
また、各モード(例えば、上記第1のモードや上記第2のモード)におけるアーム制御の手法についても、選択的に適宜適用することが可能である。例えば、所定の領域への作用点(例えば、先端ユニット)の進入を抑制する際に、患部等のような所定の対象の検知結果に応じて、当該領域の設定や、仮想境界の設定が行われてもよい。より具体的な一例として、撮像部(例えば、内視鏡装置)により撮像された画像に対して画像解析を施すことで、被写体として撮像された患部を認識し、当該患部の認識結果に応じて進入が抑制される領域の設定や、当該領域の設定に応じた仮想境界の設定が行われてもよい。この場合には、撮像部の実空間内の位置については、アーム部の姿勢に応じて特定することが可能である。
具体的な一例として、撮像部の位置の特定結果と、当該撮像部により撮像された画像の解析結果と、に基づき、当該画像に被写体として撮像された患部の実空間内の絶対位置を、当該撮像部に対する相対位置として推定することが可能である。そのため、例えば、実空間内の患部が位置する領域を、作用点の進入を抑制する領域として設定し、当該領域の設定に応じて、仮想境界の位置、姿勢、及び形状や、当該仮想境界の境界面における開口部の位置等を設定することも可能である。また、他の一例として、医療用器具を体内に挿入するための挿入口の設定に応じて、本開示に係る仮想境界が設定されることで、当該挿入口を通じた当該医療用器具の導入が補助されてもよい。具体的な一例として、トロッカ等を認識することで挿入口の位置や姿勢を認識し、当該挿入口の位置や姿勢の認識結果に応じて、仮想境界が設定されてもよい。この場合には、例えば、挿入口の位置や姿勢の認識結果に応じて、仮想境界の境界面のうち、当該挿入口に対応する位置に開口部が設定されてもよい。より具体的には、仮想境界に設定された開口部を挿通した作用点(例えば、先端ユニット)が、認識された挿入口に導入されるように、仮想境界の境界面の形状や、当該境界面における当該開口部の位置が決定されてもよい。また、上記のような所定の対象の検知結果や所定の状態の検知結果に基づく制御については、例えば、リアルタイムで実行することも可能である。即ち、仮想境界の境界面の形状や、当該境界面における当該開口部の位置等が、所定の条件に応じて逐次更新されてもよい。また、他の一例として、上記のような所定の対象の検知や所定の状態の検知等の各種トリガに基づき、仮想境界の境界面の形状や、当該境界面における当該開口部の位置等の設定や更新が行われてもよい。
また、挿入口等のような目標位置に向けた作用点の移動に係る操作のアシストに際し、当該アシストに係る制御が適宜変更されてもよい。具体的な一例として、作用点(例えば、医療用器具)と目標位置(例えば、挿入口)との間の位置関係(例えば、距離等)に応じて、当該作用点の当該目標位置に向けた移動に係るアシスト量が制御されてもよい。より具体的な一例として、作用点が目標位置により近づくほど、当該目標位置に向けた移動に対する抗力がより大きくなるようにアーム部の動作が制御されてもよい。また、他の一例として、作用点が目標位置により近づくほど、アーム部の各関節の駆動(例えば、回転運動)に係る粘性抵抗係数がより高くなるように制御されてもよい。このような制御により、作用点(例えば、医療用器具等の先端ユニット)が目標位置により近づくほど、当該作用点の移動に係る抵抗(即ち、作用点の移動に係る操作に対する抵抗)がより大きくなるように制御することが可能となる。これにより、例えば、作用点が目標位置により近づくほど、アーム部の操作をより重くしたり、当該アーム部の移動(換言すると、作用点の移動)に係る速度を制限することが可能となるため、ユーザはより精密な操作が可能となる。また、上記のようなアーム制御により、ユーザは、アーム部の速度やアーム部の操作の重さに応じて、作用点が目標位置の近くに位置することを容易に認識することが可能となる。なお、作用点と目標位置との位置関係に応じたアーム制御については、所定の閾値を設けることで、当該閾値を基準として切り替えられてもよい。具体的な一例として、作用点と目標位置との間の距離が閾値以下となった場合に、アーム部の移動に係る速度がより制限されてもよいし、アーム部の操作がより重くなるように制御されてもよい。また、上記と同様の思想に基づき、作用点と仮想境界の境界面との間の位置関係(例えば、距離)に応じて、当該作用点の当該境界面に向けた移動に係るアシスト量が制御されてもよい。
また、先端ユニット(例えば、医療用器具)と仮想境界の境界面とのなす角度に応じて、当該先端ユニットの姿勢の制御に係る反力及び/又は抗力が生じるように、アーム部の動作が制御されてもよい。このような制御により、例えば、内視鏡の鏡筒等のような長尺状の先端ユニットが、挿入口に対してより垂直に挿入されるように、ユーザの操作をアシストすることが可能となる。
なお、上記はあくまで一例であり、必ずしも本開示の一実施形態に係る医療用アームシステムの動作を限定するものではない。即ち、上述した本開示の係るアーム制御に係る思想、即ち、仮想境界を利用したユーザ操作のアシストに係る制御に思想を逸脱しない範囲であれば、一部の構成や制御が適宜変更されてもよい。
以上、実施例2として、本開示の一実施形態に係るシステムによる、仮想境界を利用したユーザ操作のアシストに係る制御の他の一例について説明した。
<2.4.変形例>
続いて、本開示の一実施形態に係る医療用アームシステムの変形例について説明する。本変形例では、図17~図20を参照して本開示の一実施形態に係る仮想境界の他の一例について説明する。なお、以降の説明では、図17~図20として示す例を、便宜上、変形例1~4とも称する。また、図17~図20のそれぞれにおけるx軸、y軸、及びz軸は、図5におけるx軸、y軸、及びz軸にそれぞれ対応している。
<2.4.1.変形例1>
まず、変形例1に係る仮想境界について、図17を参照して説明する。図17は、変形例1に係る仮想境界について概要を説明するための説明図である。なお、図17に示す変形例1に係る仮想境界を、前述した実施形態に係る仮想境界と区別するために、便宜上「仮想境界P20」とも称する。
図17に示すように、仮想境界P20は、平面や曲面もしくはこれらの組み合わせにより形成される境界面P21を有し、当該境界面P21の一部に開口部P23(移動目標)が設定されている。境界面P21は、開口部P23に向けて傾斜するように設定されている。また、開口部P23の位置が、挿入口M13の位置に対応するように、実空間内に仮想境界P20が設定される。これらの構成については、図4及び図5を参照して前述した仮想境界P10と同様である。
これに対して、仮想境界P20は、開口部P23が設定された部分から境界面P21がさらに開口部P23よりも先に向けて(即ち、図17の下方側に向けて)延伸するように形成された部分(以下、「境界面P25」とも称する)を有している。具体的には、境界面P25は、筒状(例えば、円筒状)の形状を有しており、開口部P23に対応する位置から挿入口M13を介して体内に延伸するように形成される。また、境界面P25は、参照符号P27で示すように、開口部P23とは逆側の端部が開口している。
以上のような構成により、例えば、先端ユニットの先端部は、境界面P21に沿って開口部P23に向けた移動がアシストされることで当該開口部P23に挿入された後に、体内での移動が境界面P25に沿ってアシストされる。換言すると、挿入口M13を介して体内に挿入された先端ユニットの先端部の移動可能な範囲が、境界面P25により制限される。これにより、挿入口M13を介して体内に挿入された医療用器具(先端ユニット)が、体内の各部(例えば、臓器等)に接触する事態を防止することも可能となる。なお、境界面P25に接した先端ユニットに対してどのような制御(例えば、拘束条件や運動目的等)を適用するかについては、ユースケースに応じて適宜決定すればよい。
また、境界面P25の形状や長さ等については、体内の状態に応じて適宜変更されてもよい。具体的な一例として、鼻孔を介して医療用器具を挿入するような状況を想定した場合には、鼻孔に対応する位置に開口部P23を設定するとともに、鼻腔の内側面に沿って境界面P25が形成されてもよい。このような構成により、鼻孔を介して鼻腔内に挿入された医療用器具が、鼻腔の内側面に接触するような事態の発生を防止しながら、当該鼻腔に沿った当該医療用器具の移動(挿入)をアシストすることが可能となる。また、各種センサ等を利用して鼻孔や鼻腔内の変形を検知し、当該検知の結果に応じて仮想境界P20の位置や形状(特に、境界面P25の位置や形状)が更新されてもよい。
以上、変形例1に係る仮想境界について、図17を参照して説明した。
<2.4.2.変形例2>
次いで、変形例2に係る仮想境界について、図18を参照して説明する。図18は、変形例2に係る仮想境界について概要を説明するための説明図である。なお、図18に示す変形例2に係る仮想境界を、前述した実施形態や他の変形例に係る仮想境界と区別するために、便宜上「仮想境界P20’」とも称する。
図18に示す例において、参照符号P21、P23、及びP25のそれぞれは、図17に示す例における、境界面P21、開口部P23、及び境界面P25と実質的に同様である。そのため、仮想境界P20’の構成については、図17に示す仮想境界P20と異なる部分に着目して説明し、当該仮想境界P20と実質的に同様の構成(即ち、境界面P21、開口部P23、及び境界面P25)については詳細な説明を省略する。
図18を図17と比較するとわかるように、仮想境界P20’は、境界面P25の各端部のうち開口部P23とは逆側の端部に端面P29が設けられている(即ち、開口していない)点で、図17に示す仮想境界P20とは異なる。即ち、図18に示す例では、先端ユニットの先端部は、開口部P23に挿入された後に、体内での移動が境界面P25に沿ってアシストされ、端面P29に接触すると、それ以上の挿入が当該端面P29により抑制される。このような構成により、体内に挿入された医療用器具(先端ユニット)の先端が臓器等に接触する前に、当該医療用器具の挿入を抑制することが可能となる。
以上、変形例2に係る仮想境界について、図18を参照して説明した。
<2.4.3.変形例3>
次いで、変形例3に係る仮想境界について、図19を参照して説明する。図19は、変形例3に係る仮想境界について概要を説明するための説明図である。なお、図19に示す変形例3に係る仮想境界を、前述した実施形態や他の変形例に係る仮想境界と区別するために、便宜上「仮想境界P30」とも称する。
図17に示すように、仮想境界P30は、平面や曲面もしくはこれらの組み合わせにより形成される境界面P31を有し、当該境界面P31の一部に開口部P33(移動目標)が設定されている。また、開口部P33の位置が、挿入口M13の位置に対応するように、実空間内に仮想境界P30が設定される。一方で、仮想境界P30は、境界面P31が開口部P33に向けて傾斜していない点で、前述した実施形態や他の変形例に係る仮想境界と異なる。
このような構成の基で、例えば、境界面P31に対して先端ユニットの先端部が接触した場合(換言すると、境界面P31上に先端部が位置する場合)に、開口部P33(移動目標)に向けた当該境界面P31に沿った先端ユニットの移動がアシストされるように(例えば、力制御が行われるように)アーム部の動作が制御されてもよい。
また、図17及び図18に示す例と同様に、仮想境界P30に対して、境界面P25に相当する構成が設けられていてもよい。
以上、変形例3に係る仮想境界について、図19を参照して説明した。
<2.4.4.変形例4>
次いで、変形例4に係る仮想境界について、図20を参照して説明する。図20は、変形例4に係る仮想境界について概要を説明するための説明図である。なお、図20に示す変形例4に係る仮想境界を、前述した実施形態や他の変形例に係る仮想境界と区別するために、便宜上「仮想境界P40」とも称する。
図20に示すように、仮想境界P40は、図5に示す仮想境界P10をz軸に平行な面で切断し、切断された一部を除去したような形状を有している。換言すると、仮想境界P40は、湾曲した境界面P41を有し、当該湾曲方向と直交する方向の一方の端部P43(-z方向の端部)が移動目標として設定される。なお、仮想境界P40における端部P43の位置は、図5に示す仮想境界P10において開口部P13が設定された位置に相当する。即ち、境界面P41は、端部P43に向けて傾斜するように設定されている。
換言すると、仮想境界P40は、頂点側が下方に位置するように保持された円錐を、当該円錐の軸に平行な面で切断して一部を除去した場合において、当該円錐の側面のうち当該除去後に残った部分に略等しい形状を有している。このとき、当該円錐の軸に垂直な面で仮想境界P40を切断した場合に形成される切断面は、端部P43(移動目標)により近い位置で切断されるほどその面積がより小さくなる。
このような構成の基で、例えば、境界面P41に対して先端ユニットの先端部が接触した場合(換言すると、境界面P41上に先端部が位置する場合)に、端部P43(移動目標)に向けた当該境界面P41に沿った先端ユニットの移動がアシストされるようにアーム部の動作が制御されてもよい。なお、先端ユニットの移動のアシストに係るアーム部の動作の制御については、前述した実施形態や他の変形例と同様である。
また、図17及び図18に示す例と同様に、仮想境界P40に対して、境界面P25に相当する構成が設けられていてもよい。
以上、変形例4に係る仮想境界について、図20を参照して説明した。
<2.4.5.補足>
上述した構成は、あくまで一例であり、必ずしも本開示の一実施形態に係る仮想境界の構成を限定するものではない。即ち、平面や曲面もしくはこれらの組み合わせにより形成される境界面を有し、当該境界面の一部に移動目標(例えば、開口部)が設定されていれば、本実施形態に係る仮想境界の構成(例えば、形状等)は特に限定されない。また、本実施形態に係る仮想境界は、患者の体内への医療用器具の挿入に利用される挿入口に対応する位置に移動目標(例えば、開口部)が設定されればよく、当該挿入口を当該医療用器具(先端ユニット)が挿通可能であれば、図18に示す例のように、必ずしも境界面を貫通するような孔部が設けられていなくてもよい。また、仮想境界は必ずしも真円の円錐(または円錐台)に基づく形状である必要はなく、例えば楕円の錐に基づく形状であってもよい。また、体内での移動をアシストするように仮想境界を設定する場合には、例えば、目的位置に術具を移動する際に、臓器面上に設定された目的位置への移動をアシストすることも可能である。このような場合には、例えば、仮想境界の境界面の形状については、当該臓器の形状にあわせた形(即ち、臓器の表面に沿って形成されるような形)となるように設定されてもよい。また、このような場合には、仮想境界の一部に移動目標が設定されればよく、必ずしも開口部のように境界面を挿通可能な部分が設けられていなくてもよい。換言すると、本開示の一実施形態に係る仮想境界に設定される移動目標の態様は、必ずしも開口部には限定されない。
<<3.ハードウエア構成>>
続いて、図3に示す、本開示の一実施形態に係るアーム装置10及び制御装置20のように、本実施形態に係る医療用アームシステムを構成する情報処理装置900のハードウエア構成の一例について説明する。図21は、本開示の一実施形態に係る情報処理装置のハードウエア構成の一構成例を示す機能ブロック図である。
本実施形態に係る情報処理装置900は、主に、CPU901と、ROM902と、RAM903と、を備える。また、情報処理装置900は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インタフェース913と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。また、情報処理装置900は、入力装置915と、出力装置917と、のうちの少なくともいずれかを備えてもよい。
CPU901は、演算処理装置及び制御装置として機能し、ROM902、RAM903、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般又はその一部を制御する。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。なお、図4に示す例において、アーム装置10における関節制御部135や、制御装置20における制御部230については、CPU901による実現され得る。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インタフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900のユーザは、この入力装置915を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。なお、図4に示す例において、記憶部220については、例えば、ROM902、RAM903、及びストレージ装置919のうちの少なくともいずれか、または2以上の組合せにより実現され得る。
ドライブ921は、記録媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM903に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。
接続ポート923は、情報処理装置900に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置900は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インタフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信、移動体通信網(第4世代または第5世代移動通信システム(4G、5G)等を含む)等、種々のネットワークであってもよい。
以上、本開示の実施形態に係る情報処理装置900の機能を実現可能なハードウエア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウエアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウエア構成を変更することが可能である。また、図21では図示しないが、情報処理装置900は、実行し得る機能に応じて、当該機能を実現するための各種の構成を備えてもよい。
なお、上述のような本実施形態に係る情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。また、当該コンピュータプログラムを実行させるコンピュータの数は特に限定されない。例えば、当該コンピュータプログラムを、複数のコンピュータ(例えば、複数のサーバ等)が互いに連携して実行してもよい。
<<4.適用例>>
続いて、本開示の一実施形態に係る技術の適用例について以下に説明する。
前述したように、本開示の一実施形態に係る技術は、一部に開口部が設定された仮想境界を実空間内に設定し、当該仮想境界と作用点との間の相対的な位置関係に応じてアーム部の動作を制御することで、ユーザによる当該アーム部の操作を補助するというものである。そのため、ユーザが直接的または間接的に操作する上記アーム部に相当する構成を有する装置やシステムであれば、本開示に係る技術を適用することが可能である。
例えば、図2を参照して説明したような医療用アーム装置400のアーム部420の動作を制御するような状況下において、当該アーム部420に対して先端ユニットが必ずしも保持されていなくてもよい。具体的な一例として、VR技術やAR技術を応用することで、ディスプレイ等を介して先端ユニットや患部を仮想的にユーザに提示し、当該ユーザによるアーム部の操作を受けて当該先端ユニットの提示を制御することで、各種手技をシミュレートするような状況が想定され得る。このような場合には、ユーザが操作するアーム部に対して、必ずしも医療用器具等のような先端ユニットが保持されていなくてもよい。
また、他の一例として、本開示の一実施形態に係る医療用アームシステムを利用して、所謂バイラテラルシステムが構成されていてもよい。バイラテラルシステムとは、ユーザが操作する装置(マスタ装置)と、作業を行う装置(スレーブ装置)と、の間で姿勢と力の状態を略一致させるように制御するように構成されたシステムである。具体的な一例として、バイラテラルシステムは、マスタ装置に対するユーザの操作に基づきスレーブ装置の姿勢制御を行うとともに、スレーブ装置で検出された力をマスタ装置側にフィードバックする。上述のようにマスタ・スレーブ装置は、このようなバイラテラルモードで動作し得るが、これに限定されず、一方向のユニラテラルモードや、他の好適なモード、例えば、スレーブ装置の異なる部位(及び/又は異なるアーム)をそれぞれ制御する複数のマスタ装置を用いた協調モードなど、種々のモードで動作してもよい。
例えば、図22は、本開示の一実施形態に係る医療用アームシステムの適用例について説明するための説明図であり、当該医療用アームシステムを利用してバイラテラルシステムを構成した場合の一例を示している。即ち、図22に示す例では、マスタ装置として動作するアーム装置510aと、スレーブ装置として動作するアーム装置510bと、がネットワークN1を介して接続されている。アーム装置510aとアーム装置510bとを接続するネットワークN1の種別は特に限定されない。このような構成の基で、物理的(場合によっては技術的又は概念的)に離れた遠隔地であって撮像部560により撮像された遠隔地に位置する患者540の映像が、表示装置550を介して施術者520に提示される。遠隔地とは、例えば、異なる病院、同一の病院内の隣接する隣の部屋(例えば、医療機器が放射線を出射するX線室やCT(Computed Tomography)室や放射線治療室などの場合)、同じ手術室内で離れた位置などであってよい。
また、図22に示す例では、アーム装置510aのアーム部の姿勢と、アーム装置510bのアーム部の姿勢と、が略一致するように制御される。具体的には、施術者520の操作を受けてアーム装置510aのアーム部の姿勢が変化すると、当該アーム部の姿勢が算出される。そして、アーム装置510aのアーム部の姿勢の算出結果に基づき、アーム装置510bのアーム部の動作が制御される。
このような構成の基で、例えば、アーム装置510b側において、患者540に対してトロッカ等が設置されることで形成された挿入口の位置や姿勢に応じて、本開示の一実施形態に係る仮想境界が設定されてもよい。この場合には、アーム装置510bのアーム部に保持された先端ユニットと、当該仮想境界と、の間の位置関係に応じて、当該アーム部の動作が制御されると共に、当該制御がアーム装置510aのアーム部の動作にフィードバックされてもよい。また、アーム装置510aの周囲の状況に応じて、アーム装置510a側に仮想境界が設定されてもよい。なお、アーム装置510a及び510bの双方に仮想境界が設定される場合には、例えば、一方におけるアーム部の制御(例えば、アーム装置510b側の制御)が優先されてもよいし、双方の状態を踏まえて各アーム部の動作が制御(例えば、抑制)されてもよい。
また、図22に示すように、所謂バイラテラルシステム等のような遠隔操作を想定したシステムにおいては、ユーザが操作するアーム装置(即ち、アーム装置510a)のアーム部に対して必ずしも先端ユニットが保持されていなくてもよい。
また、上記では、本実施形態に係るアーム制御を、主に医療用アーム装置のアーム部の制御に適用する場合に着目して説明したが、必ずしも本実施形態に係るアーム制御の適用先(換言すると、適用分野)を限定するものではない。具体的な一例として、工業用のアーム装置に対して、本開示の一実施形態に係るアーム制御を適用することも可能である。より具体的な一例として、図22に示したようなバイラテラルシステムを工業用に用いることで、人が進入することが困難な領域にアーム部を備えた作業用ロボットを侵入させ、当該作業用ロボットを遠隔操作することも可能である。このような場合に、作業用ロボットのアーム部の遠隔操作に対して、本開示の一実施形態に係るアーム制御(即ち、仮想境界の設定に応じた制御)を応用することが可能である。
また、本開示の一実施形態に係る技術に基づく仮想境界の設定を利用した制御の適用対象は、必ずしもアーム部を備えたアーム装置のみには限定されない。即ち、ユーザの操作を受けて当該操作に応じて、当該ユーザの動作のアシストや、当該ユーザに対する力覚等のフィードバックを行う装置であれば、本開示の一実施形態に係る技術に基づく制御を適用することが可能である。具体的な一例として、所謂ロボットスーツ等のように、ユーザの各部位の動きをアシストする装置の制御に、本開示の一実施形態に係る制御を応用することが可能である。より具体的な一例として、ロボットスーツを装着したユーザが、所望の物体に形成された挿入口に対して部品や工具等を挿入するような操作を行うものとする。このとき、当該挿入口の位置や姿勢に応じて仮想境界を設定し、当該境界面の設定に応じてロボットスーツの駆動を制御することで、当該挿入口に対して部品や工具等を挿入するユーザの操作をアシストすることが可能となる。
<<5.まとめ>>
上述では、本開示の実施形態に係る制御装置及び医療用アームシステムについて説明した。上述した実施形態及びその変形例に係る制御装置及び医療用アームシステム並びにそのあらゆる周辺部(例えば、例えば、医療機器、画像取得、挿入口などに関係するもの)は、実施形態及び変形例の枠を超えて互いに好適に組み合わせることが可能である。
そこで以下に、上述した実施形態の概略について、上述した実施形態を参照しつつ説明する。本説明に係る制御装置(20)は、所定の点(上述の実施形態においては作用点)が設定される医療器具を保持するように構成された医療用アームシステム(1)を制御するように(例えば、適切なソフトウエア命令によって)構成された制御部(230)を備える。制御部は、医療器具の所定の点と実空間内に設定された仮想境界との間の空間的な位置関係に応じて医療用アームシステムを制御する。また、仮想境界は、移動目標である開口部を含む。
医療アームシステムは、例えば、少なくとも図1、図2及び図3を用いて説明したように、関節部によって互いに連結された複数のリンクを有する多リンク構造体(多関節構造体であってもよい)、又は、回転軸又は旋回軸、伸縮部材、フレキシブル部材、これらの適切な組合せなどのような、少なくとも所定の空間内において所定の点をx軸、y軸及びz軸の3軸方向に制御可能な構造体を備え得る。ただし、これに限定されず、医療アームシステムが備える構造体は、所定の点をピッチ角、ヨー角及びロール角方向をさらに加えた6軸方向に制御可能な構造体など、種々変形されてよい。
所定の点は、例えば、図6、図7及び図9等を用いて説明したように、医療器具上、又は、医療器具(針、メス、光学ファイバ、内視鏡など)に関連する拡張部、突出部又は消耗部品上の所定位置に設定され得る。所定位置は、複数の位置を代表する位置又は医療器具全体であってもよく、また、例えば、挿入口に最初に入る若しくは患者に作用する医療器具(又は上述した関連部)上の点であってもよい。この所定の点は、医療器具の所定の点に仮想境界における開口部(又は移動目標の一部)を適切に通過させるために設定される。
仮想境界は、例えば、少なくとも図4、図5及び図6を用いて説明したように、制御部によって設定された仮想面であり、上述したように、現実世界の位置に基づいて設定された座標を有している。一例では、仮想境界は、制御部によって実行される動作の条件又はトリガを表している。他の一例では、仮想境界は、制御部によって実行される動作の条件又はトリガを表す体積空間を定義する。それにより、制御部は、実空間内の点を参照するようにして、実空間内の所定の点と仮想境界との間の相対位置関係にしたがって医療用アームシステムの動作を制御することが可能となる。
仮想境界それ自体は、ポリゴンやボクセルの集合体や、円錐や凸錐(例えば、指数ホーン)や凹錐(例えば、すり鉢)のように、ユークリッド空間における回転面の全体またはその一部のような面の数学的記述などのような適切な表現を用いて定義され得る。より一般的には、仮想境界は、所定範囲の錐体であってもよいし、開口部へ向かう傾斜を有する所定範囲の面であってもよい。所定範囲は、例えば、5cm、10cm、15cm、20cm、30cm又は50cmの長さの円錐面の全体またはその一部と同等、又は、医療用アームシステムのサイズ、医療器具のサイズ、及び、インタラクションが生じる点のサイズに応じた適切なサイズであってよい。開口部は、円形に限定されず、例えば、複数の錐面を持つ菱形の形状の仮想境界に設けられたスリットのような形状など、種々変形することが可能である。同様に、開口部は、傾斜面を有する底抜けのすり鉢(例えば、0次元の頂点を持つ円錐から1次元の直線又は2次元の領域を記述するものへの突出)を形成する仮想境界を持つ領域(すなわち、挿入口の領域のような小さい円形の領域よりも大きい領域)であってもよい。
仮想境界は、移動目標である開口部(移動目標の一部ともいう。例えば、図10参照)を備える。言い換えると、仮想境界は、仮想境界における穴であって医療器具(その所定の点)の移動目標として機能する、仮想境界の零点、仮想境界の無効部分、又は、仮想境界に囲まれているが仮想境界の一部ではない領域を備える。上述したように、開口部は、例えば、挿入口のように、患者とのインタラクションが生じる点と一致していてもよい。
仮想境界は、例えば、患者とのインタラクションが生じる点を中心として安全機能や誘導機能を提供することが可能となる(ただし、仮想境界が対称であることや作用点を開口部に集中させることは必須ではない)。
一例では、制御部は、所定の点が仮想境界を貫通するような、所定の点の開口部へ向けての垂直移動を防止(例えば、抑制)するように、医療用アームシステムを制御する。
図7、図9及び図12並びにその説明を再度参照すると、このような場合、所定の点の垂直移動は、開口部と垂直又は直角なz軸方向への移動を意味している。そのため、開口部へ向けた垂直移動は、z軸方向における開口部までの距離を減少させる移動であることを意味している。また、所定の点に仮想境界P11を貫通させるような開口部へ向けた垂直移動は、所定の点の下降方向のz軸に対する傾きが仮想境界の傾きよりも大きいことを意味していることから、所定の点が仮想境界と交差することとなる。所定の点が仮想境界に対して平行に移動すれば、水平移動成分も同時に発生し、全体の移動ベクトルが仮想境界と平行になるため、開口部へ向けた垂直移動は、所定の点が仮想境界を貫通する原因とはならない。
同様に、一例では、制御部は、所定の点が仮想境界を貫通する要因となるような、所定の点の開口部から遠ざかる水平移動を防止するように、医療用アームシステムを制御する。
図7、図9及び図12並びにその説明を再度参照すると、このような場合、所定の点の水平移動は、開口部と平行であって上述のz軸と直角なx軸方向への移動を意味している。そのため、開口部から遠ざかる水平移動は、x軸方向における開口部までの距離を増加させる移動であることを意味している。また、所定の点に仮想境界P11を貫通させるような開口部から遠ざかる水平移動は、(場合によっては、)所定の点の上昇方向の傾きが仮想境界の傾きよりも小さいことを意味していることから、所定の点が仮想境界と交差することとなる。所定の点が仮想境界に対して平行に移動すれば、上方向への垂直移動成分も同時に発生し、全体の移動ベクトルが仮想境界と平行になるため、開口部から遠ざかる水平移動は、所定の点が仮想境界を貫通する原因とならない。
所定の点を備える医療器具は、所定の点の移動に関わらず、随意的に何らかの方向性を備え得る。そこで、医療器具の一部についても、仮想境界を垂直、水平又は傾斜した方向に貫通することが同様に排除されることが望ましい(例えば、医療器具を所定の点を中心に回転させる)。
一例では、制御部は、医療器具に所定の移動をさせる要因となるような医療器具に与えられた外力の推定値の成分と少なくとも同等で且つ反対方向の反力を医療用アームシステムに発生させることで、所定の動きを防止するように医療用アームシステムを制御する。外力は、例えば、ユーザが医療器具を移動させることによって与えられる。
そのため、所定の点が仮想境界を貫通する原因となる開口部へ向けた垂直移動に寄与する垂直力は見積もることができ(例えば、上述したアームの力センサを用いる)、そして、見積もられた力に対する反力は、見積もられた力を相殺して意図しない垂直移動又は垂直移動成分を防止するために生成され得る。仮想境界に対する所定の点の位置に基づいたフィードバック制御は、力の見積りを改善するために用いられ得る。
これは、図7に示したように、純粋な垂直移動の場合、全ての垂直力が相殺されることを意味している。それに対し、水平方向への移動成分と垂直方向への移動成分との両方を含む傾いた移動の場合、図12に示したように、例えば、最終的な垂直力が水平力とともに仮想境界と平行な方向のベクトルを生成する。これは、垂直力の一部が相殺されることを意味している。したがって、所定の点は、開口部へ向けて仮想境界を下るように移動することとなる。
同様に、所定の点が仮想境界を貫通する原因となる開口部から遠ざかる水平移動に寄与する水平力は見積もることができ(例えば、上述したアームの力センサを用いる)、そして、見積もられた力に対する反力は、見積もられた力を相殺して意図しない水平移動又は水平移動成分を防止するために生成され得る。仮想境界に対する所定の点の位置に基づいたフィードバック制御は、力の見積りを改善するために用いられ得る。
これは、純粋な水平移動の場合、全ての水平力が相殺されることを意味している。それに対し、水平方向への移動成分と垂直方向への移動成分との両方を含む傾いた移動の場合、図12に示したように(ただし、図示とは反対方向への移動)、例えば、最終的な水平力が垂直力とともに仮想境界と平行な方向のベクトルを生成する。これは、水平力の一部が相殺されることを意味している。したがって、所定の点は、開口部から遠ざかる方向へ仮想境界を登るように移動することとなる。
さらに、原則として、医療器具の方向性は考慮されておらず、むしろ、それは医療器具上の所定の点を移動させる、医療器具に与えられた力の見積もられた垂直成分及び水平成分として扱われている。しかしながら、医療器具の方向性がこれらの力に作用する場合、又は、これらの力の見積りに必要な場合(これは、例えば、医療器具がフレキシブルである場合に問題となる)、方向性は、力を見積もる処理の一部として考慮されることが望ましい。
一例では、制御部は、所定の点の位置が仮想境界と一致した場合、所定の動きを防止するように医療用アームシステムを制御する。
上述した、仮想境界を貫通するような垂直移動(又は垂直移動成分)及び/又は水平移動(又は水平移動成分)の防止は、実質的に所定の点を仮想境界上に維持することを意味している。しかしながら、医療用アームシステムには、反応遅延が存在し得る。これは、所定の点を仮想境界に停止させるためには、所定の点が仮想境界に到達する前に、反力及び/又は抗力を与える必要があることを意味している。同様に、医療器具を保持する医療用アームは、医療器具に与えられた外力に応じて幾分フレキシブルに振る舞い得る。そのため、このような力依存変位(及び生成された反力及び/又は抗力によって潜在的に付加された撓み)は、仮想境界に交差しないための条件を与えることを目的として、仮想境界からの撓みに基づく位置オフセットを決定するために算出され得る。
そこで、制御部は、所定の点が仮想境界を貫通するという意図しない移動を防止するために、所定の点が仮想境界に到達する前に動作する。代替案として、所定の点が仮想境界と一致したことに応じて制御部が動作する場合には、反力及び/又は抗力の生成における遅延やアームの撓みに起因した過移動と同等の厚みや許容範囲を仮想境界に持たせることも考えられる。
それに対し、例えば、仮想境界から遠ざかる水平移動及び垂直移動(例えば、仮想境界によって定義された空間への進入、又は、仮想境界の範囲からの離脱)は、反力及び/又は抗力によって防止されない。
そこで、制御部は、仮想境界での移動を防止、又は、仮想境界の傾きに対する移動を制限するのに十分な反力及び/又は抗力を与えることで、所定の点が仮想境界の一方の側の相互作用領域から他方の側の排除領域へ仮想境界を貫通するような意図しない移動を防止することによる安全機能を提供し得る。
それに対し、所定の点が排除領域(例えば、仮想境界の底にある開口部に対するz軸上の垂直位置)に進入したことが検出された場合、仮想境界へ向かうあらゆる移動は、仮想境界を通過後の移動も含めて防止されない。例えば、仮想境界上の最近接点から所定の点までの最終的な距離が減少する移動は防止されない。
上述の安全機能に代えて又は加えて、制御部は、医療器具のユーザへアシスト機能及び/又は誘導機能を提供するために仮想境界を使用する。
一例では、制御部は、所定の点の移動を停止はせずに移動に対して抵抗する力を生成させるように医療用アームシステムを制御する。
これは、例えば、上述した、医療器具に与えられた(又は、例えば、医療器具を移動させるためにユーザにより与えられた)外力の成分を見積もって反力及び/又は抗力を生成する方法と同様の方法により実現することができる。しかしながら、このような構成では、生成される力が与えられた力と同等とならず、むしろ小さくなり得る。
その結果、そのような抗力が与えられた場合、医療器具の所定の点の移動、言い換えれば所定の点の位置の変化のために、より多くの力が必要となる。抗力は、制御部の制御下で医療用アームシステムによって生成された、垂直力成分及び/又は水平力成分、又は、これらを合成した力ベクトルである。所定の点の移動にさらに大きな力を要求することで、医療器具のユーザによる手動制御に起因した意図しない小さな力によって生じるジッタやふらつきが低減されるため、より正確な移動が可能になるというメリットが得られる。
原則として、そのような移動の正確性は、所定の点が開口部に近づいて患者との相互作用点に近づくほど重要になる。そのため、本例では、制御部は、所定の点の移動目標への近さに関する関数として医療用アームシステムに生成させる抗力を増加させる。すなわち、制御部は、所定の点が移動目標に近づくにつれて医療用アームシステムに生成させる抗力を増加させる。
さらに、そのような抵抗は、所定の点の移動自体は防止せず、徐々に移動し難くなるように作用する(例えば、所定量の移動を得るためのより慎重に求められた力が要求された場合)。さらにまた、これは、ユーザの腕や手の震えや、呼吸や体重移動などのユーザの身体を介した力の微小な変換のような、意図しない力により生じた意図しない移動を低減することにも効果を発揮する。本例では、抵抗は、所定の点が開口部に近づくほど増加する。このような増加する抗力は、垂直距離、水平距離、又はそれらの積(ベクトル)に基づく開口部までの距離の線形関数又は非線形関数により求められてもよい。
加えて、このような抵抗は、開口部に近づいていることを示す触覚フィードバックをユーザへ効果的に提供する。他の誘導は、反力及び/又は抗力を生成するための追加ルールを課すことで、同様の方法により提供することが可能である。
本例では、制御部は、所定範囲の外側へ向いた移動に応じて医療用アームシステムに生成させる抗力を増加させる。このような場合、抗力は、急峻に増加してもよいし、直線的又は段階的に増加してもよい。また、抗力は、所定の点の所定方向への移動を停止させる反力に達するまで増加してもよい。例えば、ユーザが開口部へ向けて仮想境界の傾斜を下る場合、意図しない横方向の移動、閾値を超えた横方向の移動、又は、閾値時間内の閾値を超えた横方向の移動は、生成された抗力(反力)により阻止される。その結果、所定の点を開口部へ向けて導く力が働くようになる。同様に、開口部から遠ざかるように仮想境界を登る移動(例えば、逆方向の移動)、閾値を超えた逆方向の移動、又は、閾値時間内の閾値を超えた逆方向の移動は、生成された抗力(反力)により阻止される。それに対し、仮想境界で囲まれた空間の中心へ向かう所定の点の移動のような操作は、ユーザがもはや開口部へ到達することを意図していないことを示している。そのため、このような操作が入力された場合、反力及び/又は抗力の発生は停止される。
他の誘導規則は、このような反力や抗力、及び/又は、押す力/引く力を用いることで実現され得る。例えば、医療器具が開口部に到達した後、医療器具を開口部に対して垂直に位置させたい場合がある。そのような場合、医療用アームシステムに保持された医療器具の方向性を検出することができれば、医療器具の位置調整を促進するように(例えば、開口部までの距離に応じて)、所望の力を与えることができる。そのような力は、アライメントから外れる移動に対する反力及び/又は抗力や、アライメントに沿って押す力及び/又はアライメントに沿って引く力を含み得る。さらに、誘導規則はそのような抗力に限定されず、仮想境界に関連して本開示に記載されている方法と同様の方法で所定の点の動きを妨げることも可能である。一例として、医療器具の水平方向の動きが制限される場合に、追加の仮想境界を設定して所定の経路に対してある範囲を超えないように水平方向の動きを妨げることも可能である。それによって、仮にユーザが抗力による誘導を無視したとしても、そのバリア(追加で設定された仮想境界)を超えることはできず操作の安全性を向上させることが可能となる。同様に、仮想境界の形状や輪郭は誘導のために所定の点(またはより一般的には医療用器具)の位置及び/または動きに応じて変更してもよい。
一旦、所定の点が開口部に到達して所定の点と患部との干渉が発生し、処置が完了すると、その後は、医療器具を安全且つ/又は誘導しつつ撤退させることが望ましい。そして、開口部へ向けた移動の制御に関する上述の技術は、(例えば、誘導の観点から)必要に応じて、開口部から撤退する移動の制御に応用することができる。一方で、仮想境界を実現する反力や、開口に近づいたことに応じた随意的な抗力もまた、上述のように適用することが可能である。
また、一例では、制御部は、生成した力を誘導規則にしたがって医療用アームシステムに与えるように構成される。本例では、上述したように、誘導規則は、例えば、開口部へ向けた所定の点の経路、所定の点が開口部から遠ざかる経路、及び、所定の点を構成する医療器具の方向性で構成されたリストから、例えば、開口部までの距離に応じて選択された1以上を含む。
上記のような誘導技術は、仮想境界から所定距離以内、及び/又は、仮想境界に部分的に近接する空間内(例えば、錐体内)に所定の点が存在する場合に利用することができる。本技術が仮想境界から所定距離以内に適用される場合には、制御部は、所定の点の位置が仮想境界と一致した場合に所定の点の移動を変更するように、医療用アームシステムを制御する。上述したように、そのような変更は、所定の点と仮想境界及び/又は開口部との相対位置に基づき、且つ、実装された誘導規則に基づいて、所定の点の所定方向への移動を防止若しくは抵抗するか、又は、所定の点を所定方向へ押す若しくは引くように作用する。
誘導技術は、仮想境界とのユーザインタラクション自体にも関係し得る。例えば、一例では、制御部は、所定の点と仮想境界との相対位置が一致した場合、所定の点と仮想境界との一致を維持するように所定の点の移動を変更するよう、医療用アームシステムを制御する。言い換えれば、制御部は、仮想境界が粘着性を持つかのように感じさせる力を与える。これは、(仮想境界の断面に対応する)所定の経路上に位置するユーザを開口部へ導くための物理的なフィードバックを補強する。
一旦、所定の点が開口部に到達すると、ユーザは、仮想境界に位置する場合とは異なる方法にて医療器具を使用し得る。したがって、一例では、制御部は、一旦、所定の点が開口部に到達すると、所定の点の自由な移動(フリー動作)の許可、及び、所定の点の更なる移動の制限のうち1つを実行するように、医療用アームシステムを制御する。これらの選択肢(又は、異なる選択肢)は、必要(例えば、医療器具の性質や使用)に応じて適宜変更されてよい。フリー動作が許可された場合、選択肢には、ユーザが自身の支配下で医療器具を制御することを許可するために、所定時間を掛けて抗力を徐々に低減することが含まれ得る。ただし、そのようなフリー動作は、上述した方法と同様の方法にて生成された反力や抗力や押す力や引く力等を用いることで、開口部の境界内に制限される。
制御部は、一旦、所定の点が開口部に到達すると、所定の点の制御を完全に停止するか、所定の点の制御を他の制御部に移行してもよい。その場合、制御部の制御が、開口部に到達する前までの仮想境界に対する所定の点の移動に制限される。
上述したように、仮想境界は、実空間内に設定される。一例では、仮想境界は、患者の体に設定された目標位置に基づいて実空間内に設定される。例えば、仮想境界は、仮想境界の開口部が目標位置と一致するように、実空間内に設定される。上述したように、目標位置と開口部とは、コンパクト(例えば、0.5cm~5cm程度の小さな開口)であってもよいし、経路(例えば、手術の切開口)に沿って延びていてもよいし、一定の領域(例えば、皮膚の一領域)を占めていてもよい。
仮想境界は、例えば、目標位置を中心として、空間内に固定されてもよい。また、仮想境界は、その位置及び/又は方向を必要に応じて変更するために、例えば、ユーザインタフェースを介して入力された制御にしたがって、設定又は再設定されてもよい。さらに、制御部は、例えば、呼吸による目標位置の変位や医療スタッフによる患者の位置や姿勢の変更に対して仮想境界(例えば、開口部)と目標位置との相対位置関係を維持するために、設定された目標位置を仮想境界に追跡させてもよい。
そのような追跡を実現するために、一例では、制御部は、上述したように、目標位置の画像ベーストラッキングにしたがって、仮想境界を実空間内に設定するように構成される。例えば、目標位置の位置及び方向性を決定することで(例えば、トロッカやそれと似たような挿入口の認識によって)、仮想境界の位置及び方向性を(目標位置と整合するように)リアルタイムに設定又は更新することができる。
一例では、上述の制御部を備える制御装置は、上述したように、医療器具を保持するように構成された少なくとも1つの連接構造と、制御装置自体とを備える医療用アームシステムの一部である。医療用アームシステム自体は、アシスト操作性及び/又は遠隔操作性を外科医などのユーザに提供する協調的なロボット装置一式の一部であり得る。
制御装置が目標位置に対して仮想境界を設定する追跡機能を実行する場合、医療用アームシステム(又は、複数のデバイスに対して画像又は画像解析を提供するオーバヘッドカメラユニットや他のカメラシステムのような、同等の分離された連係部)は、ビデオカメラと、所定のオブジェクトを追跡するように構成された画像ベーストラッキング部とを備え、例えば、所定のオブジェクトを患者に設定し得る(挿入口やトロッカなどを使用する場合など)。
上述した制御装置及び医療用アームシステムの動作は、所定の点を有する医療器具を保持するように構成された医療用アームシステムの制御方法であって、医療器具の作用点と、実空間内に設定され、目標位置とする開口部を備える仮想境界との間の空間的関係に応じて、医療用アームシステムを制御することを含む制御方法の単なる一例である。
同様に、本例及び上述した実施形態及びその変形例は、単なる一例であって、その目的及び技術的意義の範囲内において種々変形されてよい。
また、上述の方法は、ソフトウエア命令によって又は専用ハードウエアの一体物又は代用品によって好適に適用可能に設計されたハードウエアで実施され得る。上述した本開示に係る技術の既存製品への組み込みは、例えば、フロッピーディスクや光学ディスクやハードディスクやSSD(Solid State Disk)やPROM(Programmable Read Only Memory)やRAM(Random Access Memory)やフラッシュメモリやこれらの組合せやその他の記録媒体などのコンピュータが読み取り可能な記録媒体に記録されたコンピュータが実行可能な命令を含むコンピュータプログラム、又は、ASIC(Application Specific Integrated Circuit)やFPGA(Field programmable gate array)や既存の装置に適合した好適なその他の設定可能な回路を用いることで実現することができる。それとは別に、このようなコンピュータプログラムは、イーサネット(登録商標)や無線ネットワークやインターネットやこれらの組合せや他のネットワークなどのネットワークを介して送信されてもよい。
<<6.むすび>>
以上説明したように、本開示の一実施形態に係る医療用アームシステムは、複数のリンクが関節部によって互いに連結されて構成された多リンク構造体と、当該多リンク構造体の動作を制御する制御部と、を備える。多リンク構造体は、医療用器具を保持可能に構成されている。制御部は、多リンク構造体の少なくとも一部を基準として設定された作用点と、実空間内に設定され、かつ一部に開口部が設定された仮想境界と、の間の相対的な位置関係に応じて、当該多リンク構造体の動作を制御する。具体的な一例として、制御部は、上記仮想境界に接触する上記作用点の、当該仮想境界の面上に沿った上記開口部に向けた移動が補助されるように、多リンク構造体の動作を制御する。また、別の観点から本開示の一実施形態に係る医療用アームシステムに着目した場合に、制御部は、挿入口を通じた医療用器具の導入を補助する仮想境界を設定し、上記多リンク構造体の動作を制御してもよい。また、さらなる別の観点から本開示の一実施形態に係る医療用アームシステムに着目した場合に、制御部は、挿入口を通じた前記医療用器具の導入を補助する第1のモードと、実空間内に設定された領域への医療用器具の進入を抑制する第2のモードと、を有していてもよい。
以上のような構成より、本開示の一実施形態に係る医療用アームシステムに依れば、所定の領域への進入に係る操作の抑制と、所望の位置への移動に係るアームの操作性向上と、を好適な態様で両立することが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体と、
前記多リンク構造体の少なくとも一部を基準として設定された所定の点と、実空間内に設定され、かつ一部に開口部が設定された仮想境界と、の間の相対的な位置関係に応じて、前記多リンク構造体の動作を制御する制御部と、
を備える、医療用アームシステム。
(2)
前記制御部は、前記仮想境界に接触する前記所定の点の、当該仮想境界の面上に沿った前記開口部に向けた移動が補助されるように、前記多リンク構造体の動作を制御する、前記(1)に記載の医療用アームシステム。
(3)
前記仮想境界は、面が前記開口部に向けて傾斜するように設定される、前記(1)又は(2)に記載の医療用アームシステム。
(4)
前記仮想境界は、形状が円錐の側面又は円錐台の側面に略等しく、当該円錐の頂点に対応する位置又は当該円錐台の上面中の少なくとも一部に対応する位置に前記開口部が設定される、前記(3)に記載の医療用アームシステム。
(5)
前記仮想境界は、形状があらかじめ設定される、前記(1)~(4)のいずれか一項に記載の医療用アームシステム。
(6)
前記仮想境界は、実空間内の物体の検知結果に応じて形状が設定される、前記(1)~(4)のいずれか一項に記載の医療用アームシステム。
(7)
前記仮想境界は、形状が更新可能に構成されている、前記(1)~(6)のいずれか一項に記載の医療用アームシステム。
(8)
前記仮想境界は、所定の条件に応じて形状が逐次更新される、前記(7)に記載の医療用アームシステム。
(9)
前記仮想境界は、所定のトリガに基づき形状が更新される、前記(7)に記載の医療用アームシステム。
(10)
前記開口部は、患者の体内に前記医療器具を挿入する挿入口の位置に応じて設定される、前記(1)~(9)のいずれか一項に記載の医療用アームシステム。
(11)
前記開口部として、開口部が設定され、
前記開口部は、当該開口部に挿通された前記医療器具が前記挿入口を介して前記体内に挿入されるように設定される、前記(10)に記載の医療用アームシステム。
(12)
前記仮想境界は、前記開口部を基点とした範囲内に面が設定される、前記(1)~(11)のいずれか一項に記載の医療用アームシステム。
(13)
前記仮想境界は、前記開口部を中心とした範囲に基づく領域内に前記面が設定される、前記(12)に記載の医療用アームシステム。
(14)
前記所定の点は、前記医療器具の先端と略一致するように設定される、前記(1)~(13)のいずれか一項に記載の医療用アームシステム。
(15)
前記制御部は、前前記仮想境界上に前記所定の点が位置することの検出結果に基づき、前記多リンク構造体の動作を制御する、前記(1)~(14)のいずれか一項に記載の医療用アームシステム。
(16)
前記制御部は、前記仮想境界のうち前記開口部以外の部分からの当該仮想境界により隔てられた領域への前記所定の点の進入が抑制されるように、前記多リンク構造体の動作を制御する、前記(1)~(15)のいずれか一項に記載の医療用アームシステム。
(17)
前記制御部は、前記仮想境界の設定に応じて実空間内に設定された前記多リンク構造体の動作の制御の基準となる拘束点と、前記所定の点と、の間の位置関係に応じた、当該所定の点の動きの制限に関する拘束条件に基づき、前記多リンク構造体の動作を制御する、前記(16)に記載の医療用アームシステム。
(18)
前記拘束点は、前記仮想境界の面上に設定される、前記(17)に記載の医療用アームシステム。
(19)
前記拘束点の位置は、前記多リンク構造体の動作の制御結果に応じて更新される、前記(17)又は(18)に記載の医療用アームシステム。
(20)
前記制御部は、前記仮想境界と前記所定の点との接触に伴い当該仮想境界に作用する外力の推定結果に基づき、前記多リンク構造体の動作を制御する、前記(16)に記載の医療用アームシステム。
(21)
前記制御部は、前記外力のうち、前記仮想境界の面に対して垂直方向に作用する成分に対して第1の力が発生するように、前記多リンク構造体の動作を制御する、前記(20)に記載の医療用アームシステム。
(22)
前記制御部は、前記外力のうち、前記仮想境界の面に対して平行方向に作用する成分に対して第2の力が発生するように、前記多リンク構造体の動作を制御する、前記(20)又は(21)に記載の医療用アームシステム。
(23)
前記制御部は、前記仮想境界の前記面に接する前記所定の点と、前記開口部と、の間の位置関係に応じて、前記第2の力を制御する、前記(22)に記載の医療用アームシステム。
(24)
前記制御部は、前記所定の点と前記開口部との間の距離がより短いほど、前記第2の力がより大きくなるように制御する、前記(23)に記載の医療用アームシステム。
(25)
前記制御部は、
前記仮想境界により隔てられた第1の領域から第2の領域に向けた前記開口部以外からの前記所定の点の進入を抑制し、
当該第2の領域から当該第1の領域に向けた当該開口部以外からの当該所定の点の進入を許容する、
前記(16)~(24)のいずれか一項に記載の医療用アームシステム。
(26)
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体の、少なくとも一部を基準として設定された所定の点と、実空間内に設定され、かつ一部に開口部が設定された仮想境界と、の間の相対的な位置関係に応じて、前記多リンク構造体の動作を制御する制御部、
を備える、制御装置。
(27)
コンピュータが、
複数のリンクが関節部によって互いに連結されて構成された多リンク構造体の少なくとも一部を基準として設定された所定の点と、実空間内に設定され、かつ一部に開口部が設定された仮想境界と、の間の相対的な位置関係に応じて、前記多リンク構造体の動作を制御すること、
を含む、制御方法。
(28)
コンピュータに、
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体の、少なくとも一部を基準として設定された所定の点と、実空間内に設定され、かつ一部に開口部が設定された仮想境界と、の間の相対的な位置関係に応じて、前記多リンク構造体の動作を制御すること、
を実行させる、プログラム。
(29)
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体と、
前記医療器具の移動を補助する仮想境界を設定し、前記多リンク構造体の動作を制御する制御部と、
を備える、医療用アームシステム。
(30)
前記仮想境界は、挿入口を通じた前記医療器具の導入を補助する境界である、
前記(29)に記載の医療用アームシステム。
(31)
前記制御部は、前記仮想境界上に位置する前記医療器具が当該仮想境界の面に沿って前記挿入口に向けて移動するように前記多リンク構造体の動作を制御する、前記(30)に記載の医療用アームシステム。
(32)
挿入口を通じた医療器具の挿入を補助する仮想境界を設定し、複数のリンクが関節部によって互いに連結されて構成され、かつ前記医療器具を保持可能に構成された多リンク構造体の動作を制御する制御部、
を備える、制御装置。
(33)
コンピュータが、
挿入口を通じた医療器具の挿入を補助する仮想境界を設定し、複数のリンクが関節部によって互いに連結されて構成され、かつ前記医療器具を保持可能に構成された多リンク構造体の動作を制御すること、
を含む、制御方法。
(34)
コンピュータに、
挿入口を通じた医療器具の挿入を補助する仮想境界を設定し、複数のリンクが関節部によって互いに連結されて構成され、かつ前記医療器具を保持可能に構成された多リンク構造体の動作を制御すること、
を実行させる、プログラム。
(35)
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体と、
前記多リンク構造体の動作を制御する制御部と、
を備え、
前記制御部は、
挿入口を通じた前記医療器具の導入を補助する第1のモードと、
実空間内に設定された領域への前記医療器具の進入を抑制する第2のモードと、
を有する、
医療用アームシステム。
(36)
前記多リンク構造体を複数備え、
前記制御部は、前記多リンク構造体ごとに、当該多リンク構造体の動作の制御に適用するモードを決定する、
前記(35)に記載の医療用アームシステム。
(37)
前記制御部は、前記多リンク構造体に保持される医療器具に応じて、当該多リンク構造体の動作の制御に適用するモードを決定する、前記(35)に記載の医療用アームシステム。
(38)
前記制御部は、前記第2のモードにおいて、患部の位置の検知結果に基づき設定される前記領域への前記医療器具の進入が抑制されるように、実空間内に仮想境界を設定する、前記(35)~(37)のいずれか一項に記載の医療用アームシステム。
(39)
前記制御部は、前記第2のモードにおいて、前記領域への前記医療器具の進入を抑制する力が発生するように、前記多リンク構造体の動作を制御する、前記(38)に記載の医療用アームシステム。
(40)
前記制御部は、前記第1のモードにおいて、前記挿入口の設定に応じて仮想境界を設定することで、当該挿入口を通じた前記医療器具の導入を補助する、前記(35)~(39)のいずれか一項に記載の医療用アームシステム。
(41)
前記制御部は、前記医療器具と前記挿入口との間の距離に応じて、当該医療器具が移動可能な範囲が制限されるように、前記多リンク構造体の動作を制御する、前記(40)に記載の医療用アームシステム。
(42)
前記制御部は、前記距離に応じて、前記医療器具の前記挿入口に向けた移動に対する力が生じるように、前記多リンク構造体の動作を制御する、前記(41)に記載の医療用アームシステム。
(43)
前記制御部は、前記仮想境界と前記医療器具とがなす角度に応じて、当該医療器具の姿勢の制御に係る力が生じるように、前記多リンク構造体の動作を制御する、前記(1)又は(42)に記載の医療用アームシステム。
(44)
前記制御部は、前記医療器具と前記挿入口との間の距離に応じて、前記医療器具の移動に係る抵抗が生じるように、前記多リンク構造体の動作を制御する、前記(41)~(43)のいずれか一項に記載の医療用アームシステム。
(45)
前記制御部は、画像解析に基づく前記挿入口の認識結果に基づき、前記仮想境界を設定する、前記(41)~(44)のいずれか一項に記載の医療用アームシステム。
(46)
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体の動作を制御する制御部を備え、
前記制御部は、
挿入口を通じた前記医療器具の導入を補助する第1のモードと、
実空間内に設定された領域への前記医療器具の進入を抑制する第2のモードと、
を有する、
制御装置。
(47)
コンピュータが、
複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体の動作を制御することを含み、
挿入口を通じた前記医療器具の導入を補助する第1のモードと、
実空間内に設定された領域への前記医療器具の進入を抑制する第2のモードと、
を有する、
制御方法。
(48)
コンピュータに、
複複数のリンクが関節部によって互いに連結されて構成され、かつ医療器具を保持可能に構成された多リンク構造体の動作を制御することを実行させ、
挿入口を通じた前記医療器具の導入を補助する第1のモードと、
実空間内に設定された領域への前記医療器具の進入を抑制する第2のモードと、
を有する、
プログラム。
(49)
医療器具を保持する多関節構造体と、
前記医療器具上の所定の点と、実空間内に設定され、かつ開口部を有する仮想境界との空間的な位置関係に応じて前記多関節構造体の動作を制御する制御部と、
を備える医療用アームシステム。
(50)
前記制御部は、前記所定の点が前記仮想境界を貫通する動きを制限するように、前記多関節構造体の動作を制御する、
前記(49)に記載の医療用アームシステム。
(51)
前記制御部は、前記所定の点の前記開口部側への垂直な動き、及び、前記開口部から離れる方向への水平な動きのうちの少なくとも一方を制限するように、前記多関節構造体の動作を制御する、
前記(49)又は(50)に記載の医療用アームシステム。
(52)
前記制御部は、前記医療器具に所定の動きを発生させる外力の推定値の垂直成分及び水平成分のうちの少なくとも一方に応じた反力を前記多関節構造体に発生させることによって、前記所定の動きを制限する、
前記(49)乃至(51)のいずれかに記載の医療用アームシステム。
(53)
前記制御部は、前記所定の点の位置が前記仮想境界と一致するときに前記医療器具の所定の動きを制限するように、前記多関節構造体を制御する、
前記(49)乃至(51)のいずれかに記載の医療用アームシステム。
(54)
前記制御部は、所定の誘導規則に応じて生成された力を前記多関節構造体に発生させる、
前記(49)乃至(53)のいずれかに記載の医療用アームシステム。
(55)
前記制御部は、前記所定の誘導規則に応じて前記所定の点の動きをアシストする力を前記多関節構造体に発生させる、
前記(54)に記載の医療用アームシステム。
(56)
前記制御部は、前記所定の点の動きに抵抗する抗力を前記多関節構造体に発生させる、
前記(49)乃至(55)のいずれかに記載の医療用アームシステム。
(57)
前記制御部は、前記所定の点と前記開口部との距離が短いほど前記抗力がより大きくなるように、前記多関節構造体を制御する、
前記(56)に記載の医療用アームシステム。
(58)
前記所定の誘導規則は、前記開口部へ向かう前記所定の点の軌道、前記開口部から離れる前記所定の点の軌道、及び、前記医療器具の姿勢のうちの1つ以上を含む、
前記(54)又は(55)に記載の医療用アームシステム。
(59)
前記制御部は、前記所定の点の位置が前記仮想境界と一致するときに前記所定の点の動きを変更するように、前記多関節構造体を制御する、
前記(54)乃至(58)のいずれかに記載の医療用アームシステム。
(60)
前記制御部は、前記所定の点が前記開口部へ到達した場合、前記所定の点のフリー動作の許可、及び、前記所定の点の動作の更なる制限のうちのいずれかを実行するように、前記多関節構造体を制御する、
前記(49)乃至(59)のいずれかに記載の医療用アームシステム。
(61)
前記仮想境界は、所定の範囲を有する円錐である、
前記(49)乃至(60)のいずれかに記載の医療用アームシステム。
(62)
前記仮想境界は、患者の体に位置する目標位置を基準として実空間上に設定される、
前記(49)乃至(61)のいずれかに記載の医療用アームシステム。
(63)
前記制御部は、前記目標位置の画像によるトラッキングに応じて実空間上に前記仮想境界を設定する、
前記(62)に記載の医療用アームシステム。
(64)
前記制御部は、前記所定の点の位置が前記仮想境界と一致するときに前記多関節構造体を制御して前記所定の点が前記仮想境界上に位置し続けるように、前記所定の点の動きを変更する、
前記(49)乃至(63)のいずれかに記載の医療用アームシステム。
(65)
術部を撮像するカメラと、
患者上の所定のオブジェクトをトラッキングするトラッキング部と、
を更に備える前記(49)乃至(64)のいずれかに記載の医療用アームシステム。
(66)
前記仮想境界は、面が前記開口部に向けて傾斜するように設定される、
前記(49)乃至(65)のいずれかに記載の医療用アームシステム。
(67)
前記仮想境界は、形状が円錐の側面又は円錐台の側面に略等しく、当該円錐の頂点に対応する位置又は当該円錐台の上面中の少なくとも一部に対応する位置に前記開口部が設定される、
前記(66)に記載の医療用アームシステム。
(68)
前記仮想境界は、実空間内の物体の検知結果に応じて形状が設定される、
前記(49)乃至(67)のいずれかに記載の医療用アームシステム。
(69)
前記仮想境界は、形状が更新可能に構成されている、
前記(49)乃至(68)のいずれかに記載の医療用アームシステム。
(70)
前記所定の点は、前記医療器具の先端と略一致するように設定される、
前記(49)乃至(69)のいずれかに記載の医療用アームシステム。
(71)
前記制御部は、前記仮想境界のうち前記開口部以外の部分からの当該仮想境界により隔てられた領域への前記所定の点の進入が抑制されるように、前記多関節構造体の動作を制御する、
前記(49)乃至(70)のいずれかに記載の医療用アームシステム。
(72)
前記制御部は、前記仮想境界の設定に応じて実空間内に設定された前記多関節構造体の動作の制御の基準となる拘束点と、前記所定の点と、の間の位置関係に応じた、当該所定の点の動きの制限に関する拘束条件に基づき、前記多関節構造体の動作を制御する、
前記(71)に記載の医療用アームシステム。
(73)
前記制御部は、
前記仮想境界により隔てられた第1の領域から第2の領域に向けた前記開口部以外からの前記所定の点の進入を抑制し、
当該第2の領域から当該第1の領域に向けた当該開口部以外からの当該所定の点の進入を許容する、
前記(71)又は(72)に記載の医療用アームシステム。
(74)
医療器具を保持する多関節構造体を備える医療用アームシステムを制御する制御装置であって、
前記医療器具上の所定の点と、実空間内に設定され、かつ開口部を有する仮想境界との空間的な位置関係に応じて前記多関節構造体の動作を制御する制御部、
を備える制御装置。
(75)
医療器具を保持する多関節構造体を備える医療用アームシステムを制御する制御方法であって、
前記医療器具上の所定の点と、実空間内に設定され、かつ開口部を有する仮想境界との空間的な位置関係に応じて前記多関節構造体の動作を制御する
ことを備える制御方法。
(76)
医療器具を保持する多関節構造体を備える医療用アームシステムを制御するプロセッサを機能させるためのプログラムであって、
前記医療器具上の所定の点と、実空間内に設定され、かつ開口部を有する仮想境界との空間的な位置関係に応じて前記多関節構造体の動作を制御する工程
を前記プロセッサに実行させるためのプログラム。
(77)
医療器具を保持する多関節構造体と、
前記多関節構造体の動作を制御する制御部と、
を備え、
前記制御部は、
挿入口を通じた前記医療器具の導入を補助する第1のモードと、
実空間内に設定された領域への前記医療器具の進入を抑制する第2のモードと、
を有する、
医療用アームシステム。
(78)
前記多関節構造体を複数備え、
前記制御部は、前記多関節構造体ごとに、当該多関節構造体の動作の制御に適用するモードを決定する、
前記(77)に記載の医療用アームシステム。
(79)
前記制御部は、前記多関節構造体に保持される医療器具に応じて、当該多関節構造体の動作の制御に適用するモードを決定する、
前記(77)に記載の医療用アームシステム。
(80)
前記制御部は、前記第2のモードにおいて、患部の位置の検知結果に基づき設定される前記領域への前記医療器具の進入が抑制されるように、実空間内に仮想境界を設定する、
前記(77)乃至(79)のいずれかに記載の医療用アームシステム。
(81)
前記制御部は、前記第2のモードにおいて、前記領域への前記医療器具の進入を抑制する力が発生するように、前記多関節構造体の動作を制御する、
前記(80)に記載の医療用アームシステム。
(82)
前記制御部は、前記第1のモードにおいて、前記挿入口の設定に応じて仮想境界を設定することで、当該挿入口を通じた前記医療器具の導入を補助する、
前記(77)乃至(81)のいずれかに記載の医療用アームシステム。
(83)
前記制御部は、前記医療器具と前記挿入口との間の距離に応じて、当該医療器具が移動可能な範囲が制限されるように、前記多関節構造体の動作を制御する、
前記(82)に記載の医療用アームシステム。
(84)
前記制御部は、前記距離に応じて、前記医療器具の前記挿入口に向けた移動に対する力が生じるように、前記多関節構造体の動作を制御する、
前記(83)に記載の医療用アームシステム。
(85)
前記制御部は、前記仮想境界と前記医療器具とがなす角度に応じて、当該医療器具の姿勢の制御に係る力が生じるように、前記多関節構造体の動作を制御する、
前記(83)又は(84)に記載の医療用アームシステム。
(86)
前記制御部は、前記医療器具と前記挿入口との間の距離に応じて、前記医療器具の移動に係る抵抗が生じるように、前記多関節構造体の動作を制御する、
前記(83)乃至(85)のいずれかに記載の医療用アームシステム。
(87)
前記制御部は、画像解析に基づく前記挿入口の認識結果に基づき、前記仮想境界を設定する、
前記(83)乃至(86)のいずれかに記載の医療用アームシステム。