(58)【調査した分野】(Int.Cl.,DB名)
前記演算手段は、前記第1の術具が、前記被制御点と、位置が変化しないように固定される固定点とを有する場合、前記固定点の位置を固定したうえで、前記第2モードの開始時点からの、計測された前記挿入角度及び前記挿入深度の変化量に応じて、前記被制御点の目標位置を決定する、ことを特徴とする請求項1に記載の手術支援装置。
前記演算手段は、前記第1の術具が、異なる前記被制御点である第1の被制御点と第2の被制御点とを有する場合、前記第1の被制御点の位置を固定したうえで、前記第2モードの開始時点からの、計測された前記挿入角度及び前記挿入深度の変化量に応じて、前記第2の被制御点の目標位置を決定する、ことを特徴とする請求項1に記載の手術支援装置。
前記演算手段は、制御対象が前記第2の被制御点から前記第1の被制御点に変更された場合、前記第2モードの開始時点を新たに設定する、ことを特徴とする請求項3に記載の手術支援装置。
前記演算手段は、固定の所定の位置に設けた制御基準点から前記被制御点までの方向及び距離を基準として、前記第2モードの開始時点からの、計測された前記挿入角度及び前記挿入深度の変化量の分だけ、前記制御基準点からの前記方向及び距離を変化させて前記被制御点の目標位置を決定する、ことを特徴とする請求項1から4のいずれか1項に記載の手術支援装置。
【発明を実施するための形態】
【0011】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下の説明において、単に術具の姿勢を計測又は制御するものとして説明した場合、術具の特定箇所の位置を計測又は術具の特定箇所を他の位置に制御するものを含む場合がある。
【0012】
(手術支援システムの構成)
図1は、本実施形態に係る手術支援システム1の機能構成例を示す図である。なお、
図1に示す機能ブロックの1つ以上は、ASICやプログラマブルロジックアレイ(PLA)などのハードウェアによって実現されてもよいし、CPUやMPU等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【0013】
本実施形態に係る手術支援システム1は、手術支援装置2と、術具やエンドエフェクタの姿勢を制御する医療器具駆動部11とを含む。また、手術支援装置2は、例えば、術者が持つ術具の姿勢を計測する位置姿勢計測装置22と、制御状態を切り替えるためのモード切替部3と、座標変換、制御対象の位置等の演算や医療器具駆動部11を制御する制御部4と、表示部7、及び不揮発性メモリ8とを含む。また、
図1では、手術台6上に横たわる患者の体腔内に外套管を通して術具やエンドエフェクタが挿入されている様子を示している。
【0014】
本実施形態に係る手術支援システム1は、術者及び患者の近くに設置され、術者による術具の操作と協調するように医療器具駆動部11を制御することにより術者による手術を支援する。術者は、手持ち医療器具21を操作して、処置(例えば電気メスで臓器の一部を切開する)と、ロボット医療器具12やエンドエフェクタの姿勢の制御(従来助手が鉗子によって臓器を牽引する)とを切り替えて、交互に行うことができる。
【0015】
このため、本実施形態に係るロボット医療器具12やエンドエフェクタの姿勢の制御は、上述した常に術具の先端位置を計測してその先端位置付近を腹腔鏡等に追従させる制御とは異なり、切開等の処置のために手持ち医療器具21を操作する合間に行われる。従って、ロボット医療器具12やエンドエフェクタの姿勢を制御するために行う手持ち医療器具21の姿勢の計測は、比較的短時間で終了することになる。
【0016】
医療器具駆動部11は、ロボット医療器具12の移動やエンドエフェクタ13の姿勢を制御する駆動部(例えばロボットアーム)を含む。例えば、ロボット医療器具12の腹壁5に対する挿入角度、ロボット医療器具12のシャフトの長軸方向への移動(挿入深度)、及びエンドエフェクタ13の駆動を制御可能に構成される。駆動部の機構は、例えばRガイドを用いた機構、平行リンクを用いた機構、又は垂直多関節アームによる機構等であってよいが、エンドエフェクタ13の姿勢を能動的に制御することが可能であればその形状は任意でよい。駆動部にはサーボモータ等の位置決め用アクチュエータが複数含まれており、アクチュエータに含まれるエンコーダから機構の関節角等の現在位置情報を取得可能である。医療器具駆動部11は、手術支援装置2と、LAN等の通信路或いはバスを介して接続され、手術支援装置2の制御部4とデータの受送信を行う。医療器具駆動部11は、手術支援装置2の制御部4へ関節角等の現在位置情報を出力することができ、また、制御部4から出力された制御情報に基づいて、ロボット医療器具12の移動やエンドエフェクタ13の姿勢を制御することができる。なお、以後の説明において単に「ロボット」という場合は、医療器具駆動部11、ロボット医療器具12、エンドエフェクタ13のすべてを指すものとする。
【0017】
ロボット医療器具12は、腹壁5に開けた小径の穴に挿入された外套管14を通過して、その一部が体腔内に挿入される。例えば、ロボット医療器具12は、体腔内に挿入して使用される鉗子、攝子、電気メス、吸引管、超音波凝固切開装置、止血装置、ラジオ波焼灼装置、内視鏡、胸腔鏡、腹腔鏡等を含み、その形状は直線状であっても屈曲関節を有していてもよい。
【0018】
手持ち医療器具21は、術者が実際に手で動かして通常の処置を行う医療器具であり、腹壁5に開けた小径の穴に挿入された外套管23を通して体腔内に挿入される。手持ち医療器具21には、位置姿勢計測装置22が取り付けられ、後述するセンサにより手持ち医療器具21の姿勢を計測する。このセンサは一般的な6自由度の絶対位置姿勢を計測可能なセンサでもよいが、本実施形態では、ある時刻、位置からの相対的な位置姿勢しか測れないセンサを使用する例を説明する。
【0019】
位置姿勢計測装置22は、3自由度の姿勢を計測可能な慣性センサと、体腔内への挿入深度を計測可能な距離センサとの組み合わせで構成される。慣性センサとしては、例えば加速度センサ、傾斜センサ、ジャイロセンサ、地磁気センサなどの一般的なセンサおよびそれらの組み合わせが利用できる。また、距離センサとしては、手持ち医療器具21の挿入によって回転するローラーを用いたエンコーダ、光や磁気を用いた距離計等が使用できる。
【0020】
モード切替部3は、手術支援システムの操作モードを適切に切り替えるための操作部材を含み、例えば手元スイッチ、フットスイッチ等により構成される。操作モードは、処置のために手持ち医療器具21を操作して実際に手術を行うモード(単に処置モードともいう)と、ロボット医療器具12やエンドエフェクタを操作するため手持ち医療器具21を用いるモード(単にロボット操作モードともいう)とを含む。また、ロボット操作モードは更に、後述するキャリブレーションを行うためのキャリブレーションモードと、手持ち医療器具21を用いてロボット医療器具12等の所定箇所の位置を制御するための位置制御モードとを含む。術者がモード切替部3を介して操作モードを切り替えると、制御部4はモード切替部3からの信号に応じてシステムの操作モードを切り替え、現在の操作モードを不図示のRAMに記録する。なお、モード切替部3を介して所定の音声、所定のジェスチャーの情報を取得し、制御部4が入力された情報に対応する操作モードに切り替えるようにしてもよい。
【0021】
制御部4は、CPU又はMPUなどの中央演算装置、ROM及びRAMを含み、ROM或いは不揮発性メモリ8等の記録媒体に記憶されたプログラムを実行して、手術支援装置2の各ブロックの動作を制御する。また、制御部4は、医療器具駆動部11から関節角等の現在位置情報(或いはこれらに基づいて得られる関節角等の間の距離情報等)を取得する。また、ロボット医療器具12の移動やエンドエフェクタ13の姿勢を制御するための制御情報を医療器具駆動部11へ送信する。
【0022】
表示部7は、例えば、液晶ディスプレイ、有機ELディスプレイ等の表示デバイスを含み、腹壁に挿入された不図示の腹腔鏡で撮影された体腔内の画像又は映像を表示する。また、表示部7は、(ロボットや手持ち医療器具21の姿勢を示す数値等を含む)システム内部の状態表示や、本システムを操作するための操作画面等を表示する。
【0023】
不揮発性メモリ8は、半導体メモリや磁気ディスク等から構成される記録媒体を含み、制御部4が実行するプログラムや動作用の定数などを記憶する。
【0024】
(手持ち医療器具21の姿勢を計測する際の問題点)
手持ち医療器具21を用いてロボット医療器具12を操作するために、手持ち医療器具21の姿勢を計測する必要がある。本実施形態では、当該姿勢を求めるために、腹壁5における回転中心を原点とした、慣性センサの起動時の姿勢を基準とする座標系を用いる。しかしながら、このような姿勢の計測方法には、以下の3つの問題がある。
【0025】
第1に、慣性センサの座標系とロボットが持つ座標系とが異なるため、手持ち医療器具21の姿勢を計測したとしてもロボット医療器具12やエンドエフェクタ13を術者が意図する方向に移動させることができない。
【0026】
第2に、慣性センサは重力軸回りの回転角の計測値にドリフトエラーを含むという問題がある。慣性センサはジャイロセンサと加速度センサを組み合わせて姿勢を算出するものが一般的であるが、重力軸回りの回転角においては、ジャイロセンサのみの値しか用いることができない。このため、角速度を積分した値を回転角として用いることになる。角速度の計測結果には大なり小なり誤差が存在するため、その値を積分した場合には時間経過とともに計測誤差が増大する。この計測誤差をドリフトエラーという。ドリフトエラーが生じると、最初に規定した座標系があたかも回転したような状態になり、手持ち医療器具の実際の姿勢と計測値とがかけ離れてゆく。なお、ジャイロセンサを用いずに加速度センサのみを用いる場合であっても、加速度を積分した値を位置として用いるため、計測結果は同様にドリフトエラーを含む。
【0027】
第3に、挿入深度を計測するための距離センサの基準点を、腹壁の回転中心に合わせることが困難であるという問題がある。通常、位置姿勢計測装置22に含まれる距離センサは、外套管23や手持ち医療器具21上の所定の位置に設けられるため、この位置を基準とする距離の計測しか行えない。このため、距離センサの基準点は、腹壁5における手持ち医療器具21の回転中心とは異なる位置にある。しかし、腹壁5における回転中心は、腹壁内部にあり、また腹壁の厚さ等によっても変化するため、外套管23から一定の距離に決定することができない。すなわち、手持ち医療器具21の回転中心と距離センサの基準点を相互に変換できなければ、手持ち医療器具21の原点をロボット座標系上で正確に求めることができず、不自然な操作となってしまう。
【0028】
(手持ち医療器具21を用いたロボット医療器具の操作に係る一連の動作)
次に、
図9を参照して、手持ち医療器具21を用いたロボット医療器具12の操作に係る一連の動作を説明する。各ステップのより詳細な説明については別途後述するが、この動作によって上述した問題点を解消すると共に、術者が手持ち医療器具21を用いてより直感的にロボット医療器具12やエンドエフェクタ13を操作することが可能になる。なお、本動作では、制御部4が不揮発性メモリ8に記録されているプログラムを不図示のRAMに展開、実行することにより実現される。また、本処理は、例えば術者がモード切替部3を操作して、操作モードをキャリブレーションモードに切り替えたときに開始される。
【0029】
S1では、制御部4は、仮想的な回転中心として用いる制御基準点を決定する。本実施形態では、制御基準点の位置を、手持ち医療器具21の回転中心の位置と同じ位置に設定する。このため、制御部4は、後に詳述するキャリブレーションによる計測結果に基づいて慣性センサの座標系における手持ち医療器具21の回転中心の位置(すなわち制御基準点の位置)を決定する。
【0030】
S2では、制御部4は、慣性センサの座標系をロボットの座標系に変換する。より具体的には、S1のキャリブレーションによって特定された少なくとも2つの位置に対する慣性センサの座標系の位置とロボットの座標系における位置との関係から座標系の間の変換関数を決定する。
【0031】
S3では、制御部4は、位置制御モードへの切り替え指示を受けたかを判定する。例えば、術者がS2の処理の完了後にモード切替部3を介して操作モードを位置制御モードに設定すると、制御部4は、操作モードを位置制御モードに切り替える指示を受ける。制御部4は、操作モードの切り替え指示を受けた場合、S4に処理を進める。一方、操作モードの切り替え指示を受けていない場合、処理を再びS3に戻す(必要に応じて本一連の動作を終了させても良い)。
【0032】
S4では、制御部4は、操作モードが位置制御モードに切り替わった時刻における、制御基準点から被制御点に向かう基準ベクトルを計算する。被制御点は、術者がロボット医療器具12やエンドエフェクタ13を操作する際の制御対象となる点を指す。制御部は算出した基準ベクトルの情報を例えばRAM等に保持する。この処理では、モードが切り替わったタイミングで規定される、制御基準点から被制御点に伸びる仮想的なシャフトを決定して保持することを意味する。
【0033】
S5では、制御部4は、基準ベクトルを計算した時刻(すなわち位置制御モードに切り替わった時刻)からの、手持ち医療器具21の相対的な移動量を求める。更にS6では、制御部4は、S5で求めた相対移動量に基づいて基準ベクトルを動かすことにより、被制御点があるべき位置を示す目標位置を決定する。換言すれば、S4で求めた仮想的なシャフトの先端の目標位置を、術者が手持ち医療器具21を動かした相対移動量に応じて決定することを意味する。その後、制御部4は、ロボットアームを制御してエンドエフェクタ13を当該目標位置へ移動させて、本一連の動作を終了する。
【0034】
このように、上述した処理によれば、手持ち医療器具21に対する相対移動量を用いるため、ドリフトエラーによる影響を抑制することができる。また、制御基準点から見た被制御点の位置を、手持ち医療器具21に対してした移動量によって変化させるため、術者には、あたかも仮想的な棒の先端で被制御点を直接操作しているような直感的な操作感を与えることができる。以降では、
図9を参照して説明したステップについて、より詳細な説明を補足する。
【0035】
<S1:制御基準点の決定>
まず、S1において上述した、仮想的な回転中心として用いる制御基準点を決定する動作について説明する。手持ち医療器具21に取り付けられる位置姿勢計測装置22は、外套管23と手持ち医療器具21の先端との相対距離を計測する距離センサと、3軸の姿勢を計測可能な少なくとも1つの慣性センサとを含む。この距離センサと慣性センサとの組み合わせでは、腹壁5の回転中心と距離センサの計測原点とのオフセットが不明であり、また、重力軸回りの回転についてはドリフトエラーを持つ。但し、ドリフトエラーは、通常は数秒〜数分程度の短い時間であれば無視できる程度に小さいため、計測値のドリフトは考慮しなくて良い。すなわち、本実施形態における手持ち医療器具21を用いたエンドエフェクタの操作は、現実的に数分程度で終了して手持ち医療器具21を用いた実際の手術に切り替わるため、この間に蓄積するドリフトエラーは無視できる程度に小さい。仮に手持ち医療器具21を用いたエンドエフェクタの操作が長時間必要な場合があっても、一旦手持ち医療器具21を用いた実際の手術に操作を切り替えて再びエンドエフェクタの操作に切り替えることができる。このため、各操作はドリフトエラーを無視できる程度の時間内で操作を行うことができる。
【0036】
キャリブレーションは、ロボット医療器具12と術者が持つ手持ち医療器具21とがそれぞれ外套管14及び外套管23を通過して体腔内に挿入された状態で行われる。具体的に、術者は、エンドエフェクタ13を、手持ち医療器具21の先端が接触可能な位置まで移動させる。エンドエフェクタ13の移動は、術者が手動で(例えばジョグ動作等を動かして)行い、目的位置に到達したら停止させる。このとき、制御部4は、医療器具駆動部11から各関節に備わるセンサ情報(現在位置情報)を取得して、ロボットの座標系におけるエンドエフェクタ13の姿勢を、公知の順運動学を解くことによって求める。また、制御部4は、位置姿勢計測装置22の情報から、外套管23と手持ち医療器具21の先端との相対距離、及び手持ち医療器具の姿勢を慣性センサの座標系において求めることができる。この慣性センサの座標系は前述したドリフトエラーによって長期的には回転してしまうが、数秒〜数分の単位であれば回転していないとみなすことができる。
【0037】
次に、
図2に示すように、ロボットの座標系において既知である、少なくとも2点と、手持ち医療器具21の先端とを接触させる。制御部4は、接触したときの距離センサと慣性センサから出力された計測値を保持しておく。なお、ロボットの座標系における2点に手持ち医療器具21を接触させるために、術者は、別途体腔内に挿入された不図示の腹腔鏡から得られる映像を表示部7に表示させ、表示された映像を見ながら操作を行うことができる。
【0038】
また、制御部4は、ロボットの順運動学を計算し、接触させた2点のそれぞれの位置をロボット座標系において計算する。接触させる2点は、例えばエンドエフェクタ13の先端と根本の位置とする。但し、機械的に既知の位置であれば任意の位置でよい。また、1点目を接触させてからロボットを異なる位置に移動させて2点目としてもよいし、2つ以上のロボットアームが存在すれば、それぞれのエンドエフェクタ上の点を各点としてもよい。但し、接触させる2点が重力軸上にある場合には重力軸まわりの回転を求めることができないため、当該接触させる2点を結ぶ直線と重力軸とが角度を持つように2点を設定する。望ましくは、重力軸に対して垂直な平面(地面に平行な平面)上に、接触させる2点をとる。例えば、制御部4は、接触させる2点における重力軸上の位置の差分を計算し、差分値(例えば、−3、・・−1、0、+1、・・、+3等)を表示部7に表示する。このようにすれば、ロボットを移動させるユーザが、接触させる2点を重力軸と垂直な平面上に調節し易くなる。
【0039】
更に、制御部4は、距離センサの値を、腹壁の回転中心を基準とする挿入深度に変換する。また、接触させた2点がロボット座標系において既知であることから、制御部4は、この2点間の距離dを、
【0040】
【数1】
として取得することができる。ここでp
1、p
2は手持ち医療器具21とエンドエフェクタ13等を接触させた2点の、ロボットの座標系における位置である。
【0041】
一方、制御部4は、慣性センサの情報により、エンドエフェクタ13の2点に接触した際のベクトルを取得し、その間の角αを内積により求める。また、距離センサの情報により、外套管23を基準とした距離を計測する。接触させた各点での外套管23との相対距離をL
1、L
2とし、距離センサの基準点と回転中心との距離L
offとすると、それぞれの長さには以下の関係がある。
【0042】
【数2】
ここで、L
1、L
2は必ずしも外套管23から手持ち医療器具21の先端までの距離を表している必要はなく、手持ち医療器具21の他の位置からの距離を、符号を考慮して用いてもよい。これをL
offについて解くと、幾何学的な条件から解は1つに決まり、以下のように求めることができる。
【0044】
<S2:慣性センサの座標系からロボットの座標系への変換>
次に、慣性センサの座標系をロボットの座標系に変換するステップについて説明を補充する。制御部4は、回転中心を原点とする慣性センサの座標系における、接触させた2点の位置を求め、これらをq
1、q
2とする。これらの点とロボット座標系における同2点p
1、p
2とが対応することから、回転行列Rと並進ベクトルtとを用いて下記の評価関数Hを作成することができる。
【0046】
この評価関数を最小化する回転行列Rと並進ベクトルtを求めれば慣性センサ座標系がロボット座標系に変換されることになる。なお、回転行列Rと並進ベクトルtは合計で6個の変数が含まれており、異なる2点で接触させた条件を用いると6つの方程式が作成できる。このため、少なくとも2点においてロボットと手持ち医療器具21とを接触させれば解を収束させることができる。もちろん、2つ以上の点を用いて評価関数を最適化してもよい。
【0047】
<S4:制御基準点から被制御点に向かう基準ベクトルの算出>
次に、
図3を参照して、制御基準点から被制御点に向かう基準ベクトルを算出する動作をより詳細に説明する。まず、制御部4は、ロボット座標系において規定可能な任意の点として被制御点を取得する。被制御点は、ロボット医療器具12の先端、エンドエフェクタ13の付け根や先端等であってよいし、被制御点はロボットが位置決め可能であれば、空間上に規定してもよい。ここでは、手持ち医療器具21によって操作するエンドエフェクタ13の付け根を被制御点とする例について説明する。制御部4は、医療器具駆動部11から取得した現在位置情報から被制御点の位置を取得する。また、手持ち医療器具21の回転中心を制御基準点として設定する。
【0048】
術者が操作モードを位置制御モードに切り替えた瞬間における、被制御点の位置をp
cとする。また、既に決定されている制御基準点の位置をp
tとする。ここで、制御部4は、制御基準点p
tから医療器具の被制御点p
cに向かうベクトルv
0(すなわち基準ベクトル)を以下の式に従って計算する。
【0050】
制御部4は、この計算を、モード切替部3によって位置制御モードに切り替えられた瞬間のみ行い、当該位置制御モードが解除されるまで基準ベクトルv
0を定数として保持する。ここで、基準ベクトルv
0を極座標で表示すると、以下のようになる。
【0052】
<S5:手持ち医療器具の相対移動量の算出>
次に、術者がモード切替部3によって位置制御モードに切り替えた瞬間t
kの手持ち医療器具21のセンサ計測値を(l´
k、φ´
k、θ´
k)とする。この時点から手持ち医療器具21をある位置に移動させた時t
iと、それぞれの変化した値は(l´
k+i、φ´
k+i、θ´
k+i)と表せる。そして、制御部4は、上述した手持ち医療器具21の相対移動量として、計測値の変化量は以下のように算出する。
【0054】
なお、得られた相対移動量(Δl´
i、Δφ´
i、Δθ´
i)は、ロボットを位置制御モードに設定している間の数秒〜数分という短い時間であるため、Δθ´
iはドリフトエラーを考慮しなくてもよい。
【0055】
<S6:被制御点の目標位置の決定>
更に、制御部4は、これらのセンサにおける計測値の変化量(相対移動量)と基準ベクトルを用いて、制御基準点から目標位置に対するベクトルv
iを算出する。
【0057】
これにより、ロボット座標系における目標位置を示すベクトルp
rを以下のように求めることができる。
【0059】
制御部4は、その後、与えられた目標位置に対して、公知のロボットアームの制御方法を用いてエンドエフェクタ13の被制御点を当該目標位置へ移動させる。ここに表れる変数にはドリフトエラーの影響を受けるものがない。このため、術者は、結果として座標系の回転を意識せずに直感的にロボットを操作することが可能である。
【0060】
また、
図9の説明において上述したように、本実施形態の処理により、術者は被制御点を直接操作するような直感的な操作を行うことが可能となる。上述の例では、手持ち医療器具21の原点を制御基準点p
tとしているため、術者にとっては、あたかも回転中心から被制御点に伸びる仮想的なシャフトが存在し、それを手に持って被制御点を操作しているかのように認識される。
【0061】
以上説明したように、本実施形態では、ロボット医療器具12の操作を開始する基準時刻(位置制御モードの開始時点)からの手持ち医療器具21の相対移動量に基づいて、ロボット医療器具12等における被制御点の目標位置を決定するようにした。このようにすることで、慣性センサの座標系におけるドリフトエラーの影響を抑制し、かつ術者が手持ち医療器具を用いてロボットアーム上の所望の点の位置を直感的に制御できるようになる。換言すれば、機械的に制御される術具の姿勢を、処置のための術具を用いて直感的かつ計測誤差の影響を抑制しながら制御することが可能になる。
【0062】
なお、制御基準点を求める処理やキャリブレーションのための処理は、採用するロボット医療器具の構成や必要とされる用途によって簡略化することができる。例えば、ロボット座標系の任意の1軸は重力方向を向いているとする。このような状況では、慣性センサの座標系とロボット座標系の変換は、並進と重力軸回りの回転のみ求めればよく、解析解を用いて計算することが可能となる。また、ロボット座標系の任意の1軸が重力軸と一致していなくても、ロボットに加速度センサを取り付けることにより、少なくとも1軸が重力軸と平行である座標系に変換することが可能となる。すなわち、座標を変換した後で上記の簡略化した計算を行ってもよい。
【0063】
距離センサの基準点と実際の回転中心を合わせるための方法もいくつか考えられる。例えば、外套管23を腹壁5に挿入する深さをいつも一定にできるようにするために、外套管23の所定の位置に印をつけたり、一定以上挿入されないように外套管23にストッパーを付けたりしてもよい。外套管23を腹壁5に挿入する深さが一定となれば、距離センサの原点を回転中心にオフセットすることが可能となる。
【0064】
また、ロボットの点の位置を計測するために、ロボット座標系上の任意の点の位置を計測可能な計測装置を用いてもよい。このような計測装置としては、機械的なアーム先端の位置を計測する装置、光学的に位置を計測する装置、磁気的に距離を計測する装置等が考えられる。これらの計測装置は通常、ロボット座標系にあらかじめ統合可能であるため、ロボット座標系上の任意の位置を計測することが可能となる。また、このような装置を用いて、手持ち医療器具21の回転中心位置を求めれば、得られた手持ち医療器具21の座標系をロボット座標系に統合することが可能となる。
【0065】
さらに、上述したキャリブレーションの手順を踏まずに、予め定めた制御基準点の中から所定の制御基準点を選択するようにしてもよい。この場合、手持ち医療器具21の原点が存在する場所を定義したテンプレートを用意し、術者は行う手術に一番近い配置を選択するだけでよい。また、ロボット座標系に統合できる場合、3次元空間上の任意の点を指定してもよい。このように、制御基準点は必ずしも手持ち医療器具の回転中心に存在する必要はなく、ロボット座標系上の点であれば、用途に応じて選択もしくは計算によって決定することが可能である。
【0066】
(エンドエフェクタの姿勢制御)
これまでの説明では、エンドエフェクタ13の付け根の位置を制御する例について説明した。しかし、エンドエフェクタは、付け根を基準とした位置の制御に加え、付け根から先の部分の姿勢も考慮することができる。例えば、その先端が常に所定の点を向くような、ロボット座標系における所定の点に対して姿勢が固定されるように制御してもよい。また、単純に関節が固定された状態で被制御点の位置のみを移動するように制御してもよい。
【0067】
更に、上述した一連の動作を、エンドエフェクタ13の姿勢制御にも応用する例を説明する。エンドエフェクタ13の姿勢を制御するため、モード切替部3は、エンドエフェクタ13の位置を操作するための位置制御モードに加えて、姿勢を操作するための姿勢制御モードを含む。
【0068】
姿勢制御を行う際に直感的に操作することが可能な制御基準点と被制御点との組み合わせには、例えば、手持ち医療器具21の回転中心とエンドエフェクタ13の先端との組み合わせがあり、以下の説明ではこの組み合わせを例に説明する。しかし、当該組み合わせは、ロボット座標系で規定可能な点の組み合わせであれば、任意である。
【0069】
姿勢制御モードでは、エンドエフェクタ13の姿勢のみを変更可能にするために、(位置の制御に用いた)エンドエフェクタの他の被制御点(例えば根元の位置)はその位置に固定される。固定される点(固定点)は必ずしも被制御点である必要はないが、エンドエフェクタ13が複数の被制御点を有する場合には、複数の被制御点のうちの1つを現在の制御対象として制御対象を順次変更し、現在の制御対象でない被制御点を固定点としてもよい。どこを固定点とするかはロボットの構成や使用方法によって異なってよく、例えば棒状のシャフトの先端に屈曲関節を持つような医療器具を想定した場合、屈曲関節の中心を固定点とし、そこから先の姿勢のみを制御する。
【0070】
図4を参照して、姿勢制御モードにおける制御について説明する。姿勢制御モード時にも、基本的な制御の処理は位置制御モードにおける処理と共通である。まず上述したS1〜S2が実行済みであると仮定して、制御部4は、S3に代わって姿勢制御モードへの切り替え通知をうけた場合、S4において、モードが切り替わった瞬間における回転中心(制御基準点)から被制御点に向かう基準ベクトルv
0を計算する。次に、S5において、慣性センサ等から得られた情報を用いて手持ち医療器具21の相対移動量を求め、S5において、ロボットの目標位置p
rを決定する。
【0071】
姿勢制御モード時は、固定点によってエンドエフェクタの付け根等が固定されているため、被制御点を目標位置に持って行く制御には物理的な制限がある場合がある。そこで、固定点p
fから目標位置p
rに向かうベクトルを計算し、それを目標姿勢v
rとしてロボットに入力する。このv
rはロボット座標系上における目標姿勢を表すものである。ロボットはエンドエフェクタの姿勢を自由に制御できるものであるため、結果としてエンドエフェクタの姿勢を、手持ち医療器具21によって直感的に、かつドリフトエラーの影響を抑制して制御することができる。
【0072】
(ロボット医療器具の姿勢制御の適用例)
ロボット医療器具12の姿勢制御、すなわち、被制御点、固定点及び手持ち医療器具21の回転中心(制御基準点)を用いた制御は、様々な操作に応用可能である。
【0073】
例えば、
図5に示すように、ロボット医療器具12として棒状の医療器具を想定し、ロボットが自由にその姿勢を変更できる場合を考える。この医療器具は外套管14を通して腹腔内に挿入されているため、ロボット側にも腹壁5における回転中心が存在する。上述した固定点をロボット側の回転中心位置に設定し、手持ち医療器具21の制御基準点を仮想的にその固定点に移動し、被制御点として棒状の医療器具の先端を選択する。すると、術者はあたかもロボット側の医療器具を自身の手に持っているかのように操作することが可能となる。なお、この場合、固定点は回転中心としての役割を果たし、直動方向の自由度は許容する。
【0074】
他の例として、
図6に示す、複数の自由度を持つロボット医療器具12を想定することができる。この医療器具はアクチュエータにより任意に形状が変更でき、ロボット座標系においてその医療器具の任意の点は制御可能であるとする。この場合、固定点を先端と、先端から離れたもう一点に設定し、被制御点としてはそれらの固定点の間にある点を選択する。制御基準点は、手持ち医療器具21の実際の回転中心位置としてよい。この例では、障害物等の存在により、移動することが不可能な点は固定しつつも、医療器具の一部分の姿勢を変更することが可能となる。被制御点が物理的に入力値に追従できない場合は、前述の姿勢制御モードの例を応用し、姿勢ベクトルのみを変更してもよい。また、ロボット医療器具12に複数の被制御点を持たせ、複数の被制御点から1つの被制御点を姿勢制御の対象にし、他の被制御点を固定点としてもよい。この場合、制御対象となる被制御点をトグル操作等によって、被制御点と固定点とを順に切り替えながら、姿勢制御を行う。
図6の例では、被制御点と固定点2を切り替える。被制御点を順に切り替える際には、姿勢制御モードの開始時間をリセットして設定しなおすようにしてもよい。このようにすれば、ドリフトエラーの影響を低減できる。
【0075】
上述した被制御点、固定点及び制御基準点は、物理的に実際に存在する点である必要ではなく、目的に応じて仮想的な位置に移動してもよい。また、それらが各々2つ以上存在してもよい。被制御点は、例えば光軸上の点でもよい。例えば、
図7に示すように、光軸の向きを変化可能な医療器具をロボット医療器具12として想定する。この場合、固定点は光軸が曲がる起点とし、被制御点は固定点からある距離rだけ離れた光軸上の点を選ぶ。このような構成により、ロボット医療器具12に取り付けられた光学機器における光軸の向きをエンドエフェクタに対する制御と同様に制御することが可能になる。
【0076】
(他の操作部材を組み合わせたロボット医療器具の操作)
また、他の操作部材を更に組み合わせることにより、関節等を有するような他の形態のエンドエフェクタを直感的に操作することができる。例えば、ロボット医療器具12として、
図8に示すような、先端に回転と開閉するジョーの機構を持つ鉗子状の医療器具を想定する。ジョーの機構を持つ医療器具を操作する場合、ジョーの開閉のための専用の入力装置を設ける。例えば、ジョーの機構を開閉するためのスイッチやダイヤル等を、手持ち医療器具21に取り付けるようにすればよい。代わりにフットスイッチや音声で開閉を操作できるようにしてもよい。
【0077】
先端の回転に関しても、同様にスイッチやダイヤル等の専用の入力装置を設けてもよいが、手持ち医療器具の姿勢情報から制御することも可能である。制御部4は、術者が操作モードをロボット操作モード(位置制御、姿勢制御は問わない)に切り替えたタイミングで、手持ち医療器具21のシャフト周りの回転角及びエンドエフェクタ13の先端の回転角それぞれを0°とする。そして、制御部4は、この状態から手持ち医療器具21をシャフト周りに回転させたときの相対角度を慣性センサによって計測し、その計測値をエンドエフェクタ13の先端の回転角として入力する。これにより、これまで述べた制御方法に加えてエンドエフェクタの先端回転を制御することが可能である。なお、このように制御すれば回転角はドリフトエラーの影響を受けない。
【0078】
また、上述した実施形態では、位置制御モード及び姿勢制御モードをそれぞれ制御する場合について説明したが、これらの制御モードを並行して実行してもよい。例えば、位置制御モード、姿勢制御モードのどちらかを手持ち医療器具21の挿入角度及び挿入深度とは異なる入力により操作するようにしてもよい。例えば、位置制御モードは上述した手持ち医療器具21の挿入角度及び挿入深度により制御し、同時に、手持ち医療器具に取り付けたスイッチ等の操作部材によってエンドエフェクタ13の姿勢を変更する。このようにすれば、エンドエフェクタの位置制御を手持ち医療器具21の姿勢によって操作し、エンドエフェクタの姿勢制御を手元スイッチから行うこととなり、エンドエフェクタの位置制御と姿勢制御とを同時に行えるという利点がある。なお、操作対象を入れ替えて、エンドエフェクタの位置制御を手元のスイッチ等で行うようにしてもよい。
【0079】
(ロボットアームのパラメータ設定への適用)
上述の制御は、ロボット医療器具12を操作するために用いるだけではなく、医療器具駆動部11(ロボットアーム)の各種パラメータを変更するための入力装置として用いることもできる。この場合、モード切替部3は、パラメータ変更モードを更に設定可能であり、制御部4は、医療器具駆動部11或いは不揮発性メモリ8からパラメータを取得して、設定されるパラメータを表示部7に表示する。モード切替部3を介してパラメータ変更モードに設定された場合、医療器具駆動部11はその時点の姿勢に固定し、代わりに、医療器具駆動部11に設定される制御パラメータを変更可能にする。変更可能なパラメータには、入力量に対する動作量(モーションスケーリング)の倍率、速度、力、可動範囲の制限等の、操作に関わる全てのパラメータが含まれる。例えば、把持の力を変更する場合の一例を挙げる。パラメータ変更モードが設定された場合、手持ち医療器具21の姿勢は、一般的なボリューム等の入力装置のように扱えるようになる。制御部4は、例えば、手持ち医療器具21をシャフト周りに右回転された場合には把持力を増加させ、逆回転された場合には把持力を減少させる。制御部4は、操作対象のパラメータが変更される様子を表示部7に表示するため、術者(又は操作者)は現在値を把握することができる。表示方法は数値、グラフ、音量、音程、振動の強弱、光の明暗、色等のいずれであってもよい。また、姿勢情報から演算可能な物理量であれば、それを用いてパラメータ変更を行うことができる。例えば、挿入量、傾き、移動速度、回転速度、衝撃を与えるような入力、振動を与えるような入力、手持ち医療器具21の先端で描く特定の図形等、様々な入力方法が考えられる。
【0080】
なお、上述した実施形態では、ドリフトエラーが発生するような位置姿勢計測装置22を用いてエンドエフェクタの姿勢を直感的に操作する例について説明したが、当該操作は、絶対位置を取得可能な位置姿勢計測装置22を用いても実現可能である。
【0081】
また、上述した実施形態は、上述したシステム又は装置のコンピュータにおけるプロセッサがネットワークを介して取得したプログラムを読出し実行することによっても実現可能である。
【解決手段】体腔に挿入され且つ機械的に駆動される第1の術具の姿勢を、体腔に挿入される第2の術具を用いて制御する手術支援装置であって、処置のために第2の術具を用いる第1モードと第1の術具を制御するために第2の術具を用いる第2モードとを切り替える切替手段と、第2の術具のシャフトの体腔への挿入角度と挿入深度とを計測する計測手段と、第1の術具の姿勢を制御するために、第1の術具の姿勢を特定する点であって術者による制御対象である被制御点の目標位置を、計測手段による計測結果に基づいて決定する演算手段と、を有し、演算手段は、第2モードの開始時点からの、計測された挿入角度及び挿入深度の変化量に応じて、被制御点の目標位置を決定する。