(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、前記ジョグ動作において、前記固定されていない軸の前記挿入姿勢から遠ざかる方向への動作を禁止することを特徴とする請求項6に記載の医療用マニピュレータ。
前記制御手段は、前記固定されていない軸について、ユーザの手動操作による外力により回転できるように半固定とすることを特徴とする請求項4に記載の医療用マニピュレータ。
前記制御手段は、前記挿入姿勢から遠ざかる方向へはユーザが操作できないように前記半固定の軸をロックすることを特徴とする請求項8に記載の医療用マニピュレータ。
【発明を実施するための形態】
【0012】
以下、添付の図面を参照して、本発明の好適な実施形態の一例について説明する。
【0013】
図1は、実施形態による遠隔操作型手術システムの構成例を示す図である。
図1に示される構成において、多自由度ロボットアームであるスレーブアーム21はマスタアーム31の動きに追従して動作する。術者がマスタアーム31を操作することにより腹腔鏡下手術などの低侵襲手術が遠隔操作により実現される。
【0014】
ロボットコントローラ11は、スレーブアーム21の各軸の駆動を制御する。ロボットコントローラ11には、必要に応じ、ティーチングペンダント12、タッチパネルディスプレイ13、キーボード14などの操作インターフェースが接続される。ティーチングペンダント12は、ロボットコントローラ11に対して、ユーザ操作に従ってスレーブアーム21のジョグ動作などの指示を行う。タッチパネルディスプレイ13は、スレーブアーム21の各種動作状態を表示したり、各種動作指示を行うためのグラフィカルユーザインターフェースを提供したりする。キーボード14は、ロボットコントローラ11への種々のデータ入力を行うのに用いられる。たとえば、ユーザは、キーボード14を用いてスレーブアーム21のティーチング位置の座標値を入力したり、ジョグ動作を指示したりすることができる。なお、ジョグ動作とは、ティーチングペンダント12、タッチパネルディスプレイ13、キーボード14などの操作インターフェースから、ボタンのON/OFF操作などにより、ロボットを所定の速度で所定の方向へ誘導したり、ロボットの所定の軸を所定の速度で駆動したりする動作のことを言う。
【0015】
スレーブアーム21としては、例えば、産業用ロボットとして一般的な6軸の垂直多関節型ロボットアームを用いることができる。スレーブアーム21の先端部には腹腔鏡下手術のための鉗子22が装着されている。なお、スレーブアーム21の自由度は6軸に限定されるものではなく、その自由度配置も限定されるものではないが、腹腔鏡下手術において必要な動作を実現できるだけの自由度と自由度配置を有している必要がある。スレーブアーム21の詳細は
図2により後述する。
【0016】
通常、手術ロボットに装着されている鉗子は多自由度鉗子であり、先端部にヨー軸・ロール軸やピッチ軸・ヨー軸およびグリッパ軸を有し、グリッパを腹腔内の任意の位置・姿勢に誘導できるようになっている。但し、手術ロボットにおいて、必ずしも多自由度鉗子である必要はないため、本明細書では、鉗子の先端部の自由度については、特に詳細を記載しない。ただし、手術手技を行う上で、グリッパ、ハサミ、L字フック、電気メス、エネルギーデバイスなど、何らかのエンドエフェクタは、先端部の関節やエンドエフェクタの自由度の有無に関わらず、当然必要である。また、内視鏡(腹腔鏡、胸腔鏡、子宮鏡、鼻腔鏡など体内観察可能な内視鏡)を保持させることで、内視鏡保持アームとして構成することも可能である。
【0017】
マスタアーム31は、術者がスレーブアーム21による鉗子22の動きを指示するための操作部を提供する。座標出力装置32は、マスタアーム31によって指示される空間位置を3次元座標値としてロボットコントローラ11に出力する。なお、座標出力装置32は、ロボットコントローラ11に内蔵されていてもよい。マスタアーム31の構成や座標出力装置32が出力する座標値の詳細については
図3により後述する。フットスイッチ33は、マスタアーム31による操作の有効、無効を示す操作中信号をロボットコントローラ11へ出力する。なお、このような操作中信号を発生する構成としては、フットスイッチに限られるものではなく、鉗子22の空間位置を指定するためのユーザ操作以外のユーザ操作に応じて操作中信号を出力するものであればよい。たとえば、マスタアーム31の把持部に操作中信号のオン、オフを行うためのスイッチを設けたものであってもよい。
【0018】
カメラ41は、患者の腹腔内を撮影し、その映像信号をカメラコントローラ42に送る。カメラコントローラ42はカメラ41から受信した映像信号をモニタ43に表示する。術者は、スレーブアーム21により動かされる鉗子22の腹腔内の位置や患者の臓器(患部)の位置等をモニタ43により確認しながらマスタアーム31を操作することにより手術を実施することができる。したがって術者は、通常の腹腔鏡下手術と類似した環境下で手術を行うことが可能となる。
【0019】
図2は本実施形態によるスレーブアーム21を説明する図である。上述したように、スレーブアーム21は6軸の多関節型アームであり、
図2の2aに示されるようにベース201の側から順に第1軸、第2軸、…、第6軸を有する。各軸は例えばサーボモータにより回転駆動される。
図2の2bは、スレーブアーム21の各軸およびアームを模式的に表記した図であり、θ1〜θ6は第1軸〜第6軸のそれぞれの軸周りの回転角度(位置)を示すものとする。
【0020】
鉗子22の先端部の位置は3次元座標(x,y,z)で表され、鉗子22の姿勢は例えば、xyz軸周りの角度(Rx,Ry,Rz)で表される。鉗子22の位置姿勢は(x,y,z,Rx,Ry,Rz)により一意に定まり、逆運動学計算によりその位置姿勢を実現する第1軸〜第6軸の各軸の角度(θ1,θ2,θ3,θ4,θ5,θ6)が算出される。また、第1軸〜第6軸の各軸の角度(θ1,θ2,θ3,θ4,θ5,θ6)から、順運動学計算により鉗子22の位置姿勢(x,y,z,Rx,Ry,Rz)を求めることができる。
【0021】
スレーブアーム21の先端部には鉗子装着部202が設けられており、鉗子22が装着される。鉗子22は、鉗子装着部202に対して着脱自在な構成とすることにより、手技に応じて、適宜、交換できる構成とすることができる。ここで、第6軸(回転軸)と鉗子22のシャフト(鉗子シャフト)、すなわち鉗子22の長軸とを一致させると、鉗子シャフトの回転動作を第6軸の駆動のみで実現することができ、好都合である。すなわち、第1軸〜第5軸を動かさずに鉗子シャフトを回転させることができ、鉗子シャフトを回転する際にアーム全体は動かない。そのため、スレーブアームを複数台設置したような場合に他のアームとの干渉のリスクを低減でき、関節の駆動範囲や関節の動作速度のリミットを緩くすることができる。また、鉗子先端部にグリッパ軸などのエンドエフェクタを有することで、患者腹腔内での鉗子先端部のエンドエフェクタの位置決めと鉗子シャフト周りの回転を行なうことが可能となり、通常の、腹腔鏡下の手技の実現が可能となる。
【0022】
図3は実施形態によるマスタアーム31を説明する図である。マスタアーム31はマスタ鉗子ハンドル301、マスタ鉗子シャフト302、仮想トラカール部303、ベース304、位置伝達機構306を有する。マスタ鉗子ハンドル301は、術者がマスタ鉗子シャフト302を操作するために把持する部分である。鉗子22がグリッパや鉗子先端部の関節軸などの駆動部を有する場合に、マスタ鉗子ハンドル301にその駆動部を操作するためのユーザインターフェースを設けてもよい。
【0023】
マスタ鉗子シャフト302は、仮想トラカール部303によりベース304に対して、2軸回転支持されるとともに、円筒スライド支持される。この2軸回転支持により、マスタ鉗子シャフト302は鉛直軸周りの回転311と水平軸周りの回転312が可能に支持される。また、円筒スライド支持により、マスタ鉗子シャフト302は、シャフト軸方向313へのスライド、シャフトの回転314が可能に支持される。
【0024】
以上の構成により、術者はマスタ鉗子シャフト302の先端部305を3次元空間の任意の位置に移動することができる。位置伝達機構306が、6軸垂直多関節型ロボットアームと同様の構成の場合、先端部305の3次元空間の位置(空間位置)は、位置伝達機構306を介して座標出力装置32へ伝えられ、座標出力装置32はこの3次元位置に対応する座標値(x,y,z)をロボットコントローラ11へ出力することが可能となる。なお、シャフトの回転314の回転角度(r)も座標出力装置32を介してロボットコントローラ11へ出力される。
【0025】
また、検出されるシャフトの空間位置は、先端部305に限られるものではなく、ユーザが操作するシャフトの特定の部位の空間位置であればよい。ただし、仮想トラカール部303は、ユーザがマスタ鉗子シャフト302を把持する部位(マスタ鉗子ハンドル301)と空間位置が検出される特定の部位との間とすることが望ましい。また、仮想トラカール部303の2軸回転支持(鉛直軸、水平軸)と円筒スライド支持(鉗子挿入方向、鉗子シャフト周り回転軸)にセンサを配置し、マスタ鉗子シャフト302の特定の部位の位置を検出するようにしてもよい。このような構成によっても、先端部305の3次元空間の位置(空間位置:3次元位置に対応する座標値(x,y,z))およびシャフトの回転314の回転角度(r)を、ロボットコントローラ11へ出力することが可能となることは明らかである。
【0026】
術者は、モニタ43を見ながらマスタ鉗子ハンドル301を把持して仮想トラカール部303により支持されたマスタ鉗子シャフト302を操作することにより、スレーブアーム21に装着された鉗子22を用いた手術を行う。このように仮想トラカール部303により支持されたマスタ鉗子シャフトを操作するため、従来の腹腔鏡下手術において行う鉗子操作と類似の操作感覚で、遠隔操作による手術を実現できる。さらに、手術台越しに無理な姿勢で鉗子を操作すること無く、また、助手医師との干渉も無く、常に、鉗子操作のし易い最適な姿勢での鉗子操作が可能となる。
【0027】
図4は、ロボットコントローラ11の構成例を示すブロック図である。ロボットコントローラ11は、制御部410、メモリ420、外部インターフェース(外部I/F)430、サーボドライバ440を有する。制御部410は不図示のCPU、ROM、RAM等を有し、後述する各処理を実現するためのティーチング処理部411、姿勢合わせ処理部412、挿入抜去処理部413、制限動作処理部414、座標処理部415として機能する。たとえば、CPUがROMあるいはRAMに格納されたプログラムを実行することにより、各処理部が実現される。各処理部の詳細な動作は、以下の説明により明らかとなる。
【0028】
メモリ420は、たとえばハードディスクあるいは半導体メモリ等により構成される2次記憶装置であり、トラカール位置保持部421、挿入開始位置保持部422、待機位置保持部423、鉗子テーブル424を有する。トラカール位置保持部421は、腹腔鏡下手術の際に患者の体内へ鉗子を挿入する位置(トラカール位置)の座標と挿入姿勢を保持する。トラカール位置と挿入姿勢は、腹腔へ鉗子22を挿入するためのトラカールの空間位置(3次元座標)とそのトラカールへの鉗子22の挿入方向の基準であり、ティーチング処理部411の制御下でユーザがティーチング操作することにより指定される。
【0029】
なお、トラカールは、一般的に鉗子挿入部(開口部)と、腹壁に挿入される筒状部から構成されるが、ここでいうトラカール位置とは、腹壁部の筒状部が挿入されている近傍、すなわち、腹壁部と筒状部の交点近傍であり、鉗子シャフトを腹腔内に挿入した際の支点(不動点)の位置を意味している。
【0030】
トラカール位置保持部421には複数のトラカール位置と対応する挿入姿勢を保持することができ、タッチパネルディスプレイ13やキーボード14によるユーザ入力によりこれら複数のトラカール位置から所望のトラカール位置を選択することができる。挿入開始位置保持部422は、選択されたトラカール位置へ向けて鉗子22を挿入する際の、挿入動作の開始位置と姿勢を保持する。待機位置保持部423は、スレーブアーム21の待機状態の位置と姿勢を保持し、この位置においてユーザは鉗子22の装着や交換をすることができる。鉗子テーブル424には、鉗子の種別と鉗子シャフトの長さ、または、鉗子座標系が対応付けて記録されている。鉗子座標系は、スレーブアームの基準位置、たとえば、機械インターフェースに対する位置・姿勢により定義することが可能である。
【0031】
サーボドライバ440は、スレーブアーム21の第1軸から第6軸に対応したサーボモータの駆動を制御する。制御部410は、サーボドライバ440に対して各軸の駆動量を指示したり、各軸の回転位置(θ1〜θ6)を取得したりする。外部I/F430には、ティーチングペンダント12、タッチパネルディスプレイ13、キーボード14、座標出力装置32、フットスイッチ33が接続される。なお、たとえば、鉗子先端部に関節軸やグリッパ軸を有する場合は、鉗子先端部の関節軸やグリッパ軸を駆動するためのサーボドライバを、サーボドライバ440内に付加しても良い。
【0032】
次に、以上のような構成を備えた本実施形態の遠隔操作型手術システムにおける動作について説明する。
図5は、本実施形態のロボットコントローラ11による腹腔鏡下手術モードにおける動作を説明するフローチャートである。
【0033】
腹腔鏡下手術においては、まず、患者の腹腔への鉗子挿入位置であるトラカール位置と、鉗子の挿入方向である挿入姿勢をティーチングによりロボットコントローラ11(トラカール位置保持部421)に記憶させる必要がある。タッチパネルディスプレイ13により提供される不図示のユーザインターフェース(以下、GUI)によってティーチングモードが指定されると、ステップS501においてティーチング処理部411がティーチング処理を実行し、トラカール位置と挿入姿勢のティーチング結果(3次元座標値および挿入方向を表すベクトル)をトラカール位置保持部421に保持する。
【0034】
トラカール位置、挿入姿勢のティーチングにおいては、例えば、ティーチングペンダント12の操作あるいは手動によりスレーブアーム21を動かし、患者の鉗子挿入位置に鉗子22の先端部を合わせるとともに鉗子22の挿入姿勢を調整し、その状態でGUIを操作して決定を指示する。この指示に応じて、ティーチング処理部411はその時点の各軸の回転角度(θ1〜θ6)と装着されている鉗子22の長さ(鉗子座標系)から、鉗子22の先端部の3次元座標(x,y,z)を算出し、トラカール位置保持部421に保持する。また、鉗子22の軸方向を表すベクトル、例えば、(Rx,Ry,Rz)を算出して、挿入姿勢としてトラカール位置保持部421に保持する。なお、(Rx,Ry,Rz)は、x、y、z軸周りの回転角度を示す。なお、トラカール位置や挿入姿勢のティーチング方法は、これに限られるものではなく、鉗子挿入位置の3次元座標や挿入姿勢をキーボード14から入力するようにしてもよい。また、装着されている鉗子22の長さ(鉗子座標系)は、ユーザによる鉗子22の種別の入力により鉗子テーブル424から取得されるものとする。なお、鉗子22の長さの取得は上記に限られるものではなく、装着されている鉗子22の長さをキーボード14から直接入力するようにしてもよい。
【0035】
このほか、ロボットのベース座標系または、ワールド座標系(通常、ロボットのベース座標系はワールド座標系に対して定義されている)に対するトラカールの3次元位置・姿勢を取得できる位置・姿勢計測システムにより取得しても良い。また、取得するべきデータは、基本的にトラカールの3次元位置であれば良いが、姿勢情報も取得することで、鉗子挿入方向が適切であるかなどの判断に利用することが可能となり(詳細は後述)、より安全なシステムを構築することが可能となる。また、スレーブアーム21の可動域が各トラカール位置に対して挿入の許容範囲を超えるような位置を取りえないような場合にも、トラカール位置に対する挿入姿勢にかかる制御は不要となる。
【0036】
次に、GUIを介して挿入姿勢への移行が指示されると、ステップS502において姿勢合わせ処理部412がスレーブアーム21を挿入姿勢へ移動する。挿入姿勢とは、鉗子22の先端部とトラカール位置とを通る直線上に鉗子22の長軸(鉗子シャフト)が一致する姿勢である。この姿勢が、トラカール位置に対応してトラカール位置保持部421に記憶されている挿入姿勢によって示される方向を基準として所定の範囲(許容範囲)に入っていれば、挿入姿勢への姿勢合わせが完了したことになる。挿入姿勢への姿勢合わせを終えると、鉗子22の長軸方向へ鉗子22を平行移動することで鉗子22がトラカール位置から患者の腹腔へと挿入されることになる。なお、姿勢合わせ処理の結果の鉗子22の方向が上記許容範囲に入っていない場合は、その旨がユーザに通知される。
【0037】
本実施形態では、スレーブアーム21の挿入姿勢への姿勢合わせ処理として、以下の4つのモードを持つ。すなわち、
・自動モード:第1軸〜第5軸の関節同期動作もしくは直線補間動作により、挿入開始位置保持部422に保持されている3次元位置に鉗子22の先端部を合わせた挿入姿勢へスレーブアーム21を移動する。
・関節同期動作モード:第1〜第3軸を固定し、第4、第5軸の関節同期動作により鉗子22の長軸方向にトラカール位置が来るように姿勢合わせを行う。
・ジョグ動作モード:第1〜第3軸を固定し、第4、第5軸のジョグ動作により鉗子22の長軸方向にトラカール位置が来るように姿勢合わせを行う。
・手動モード:第1〜第3軸を固定し、第4、第5軸の手動動作により、鉗子22の長軸方向にトラカール位置が来るように姿勢合わせを行う。
【0038】
なお、上記の動作モードにおいて、第6軸は、挿入姿勢に直接関与はしないが、エンドエフェクタの姿勢を(シャフト回転軸)限定する必要があるような場合は、第6軸を含めても良い。また、鉗子先端関節軸やグリッパ軸を有する場合は、姿勢合せ処理と同時またはその前後に、挿入可能な姿勢(たとえばピッチ軸やヨー軸をシャフトと同方向に真っ直ぐな状態とし、グリッパは閉じた状態とする)に誘導する必要がある。なお、鉗子先端関節軸やグリッパ軸の挿入姿勢のティーチングは、スレーブアーム21と同様に自動動作やJOG動作、手動動作で誘導することなどが考えられる。
【0039】
また、鉗子シャフト回転軸と第6軸が一致していない場合は、第4、第5軸だけで、姿勢あわせの姿勢を一意に決定することはできないため、鉗子シャフト回転軸の姿勢を含めて決定する必要がある。そのような場合は、第1〜第6軸による自動動作を行う自動モードを用いる。また、第1〜第3軸を固定した関節同期動作モード、ジョグ動作モード、手動モードにおいて、姿勢合わせ処理の結果、鉗子22の方向が上述した許容範囲外になる場合には、自動モードによる姿勢合わせ処理を指示するようにユーザを促すようにしてもよい。
【0040】
以下、
図6A、
図6Bを参照して、本実施形態による姿勢合わせ処理についてさらに説明する。まず、挿入姿勢への移行指示に応じて、姿勢合わせ処理部412は、トラカール位置をトラカール位置保持部421から読み出す(ステップS601)。トラカール位置保持部421に複数のトラカール位置が保持されている場合には、GUIにより、所望のトラカール位置をユーザに選択させる。または、前回、挿入または抜去した際のトラカール位置を記憶しておき、そのトラカール位置をデフォルト位置としても良い。以下、鉗子22を挿入するべく指定されたトラカール位置の3次元座標を(xt,yt,zt)とする。
【0041】
自動モードが選択されている場合、処理はステップS602からステップS603へ進む。ステップS603において、姿勢合わせ処理部412は挿入開始位置保持部422から挿入開始位置を読み出す。挿入開始位置保持部422に複数の挿入開始位置が保持されている場合には、GUIにより、所望の挿入開始位置をユーザに選択させる。または、前回、挿入または抜去した際の位置を記憶して置き、挿入開始位置のデフォルト位置としても良い。以下、読み出された、あるいは、選択された挿入開始位置の3次元座標を(xs,ys,zs)とする。なお、挿入開始位置保持部422には、トラカール位置からその挿入方向に沿って50〜100mm程度離れた位置が自動的に算出され、保持されているものとする。この場合、ユーザが、トラカール位置からの離間距離を指定できるようにしてもよい。或いは、ユーザがマニュアルでトラカール位置に対する挿入開始位置(3次元座標)を入力するようにしてもよい。この場合、ユーザが指定した挿入開始位置が、トラカール位置に対応した挿入方向を基準とした許容範囲に収まるかどうかを判断し、指定した挿入開始位置が許容範囲外であればユーザに挿入開始位置の再設定を促すようにしてもよい。
【0042】
ステップS604において、姿勢合わせ処理部412は、トラカール位置(xt,yt,zt)と挿入開始位置(xs,ys,zs)を通るベクトル方向を、例えば、x,y,z軸の回転角度(Rxs,Rys,Rzs)として算出する。ベクトル方向は、姿勢として表すことができる他の表現方法でも良い。そして、姿勢合わせ処理部412は、このベクトル方向と鉗子22の長軸方向を合わせた鉗子22の位置姿勢(xs、ys、zs、Rxs,Rys,Rzs)を挿入姿勢に決定する。ステップS605において、姿勢合わせ処理部412は、ステップS604で決定された挿入姿勢へスレーブアーム21を移動する。移動を完了すると、処理はステップS641へ進み、挿入姿勢への姿勢合わせの完了を、GUIを介してユーザに通知する。
【0043】
挿入開始位置保持部422に、挿入開始位置(xs,ys,zs)だけでなく、姿勢も含めた挿入開始位置姿勢(xs,ys,zs,Rxs,Rys,Rzs)を保持している場合は、直接、挿入開始位置姿勢(xs,ys,zs,Rxs,Rys,Rzs)へ関節同期動作もしくは直線補間動作で誘導してもよい。この場合、ステップS604の処理は省略可能となる。
【0044】
図9の9aに自動モードによる姿勢合わせ動作の様子を示す。各軸の同期動作により、任意の位置姿勢(x,y,z,Rx,Ry,Rz)にあった鉗子22の先端部901は、挿入姿勢(xs、ys、zs、Rxs,Rys,Rzs)へと移動する。挿入姿勢において、鉗子22の長軸は、鉗子22の先端部901とトラカール位置902を結ぶ方向のベクトル903と一致している。
【0045】
なお、挿入姿勢(xs,ys,zs,Rxs,Rys,Rzs)を導出した際に、その後の動作が安全に遂行できるかの判断機能を付加しても良い。たとえば、挿入姿勢(xs,ys,zs,Rxs,Rys,Rzs)が、スレーブロボットがとり得る位置姿勢であるか(各関節の動作範囲内であるか。途中で動作範囲外にならないか)、トラカール(患者)と鉗子が干渉または接近しすぎないか、姿勢合わせ動作後鉗子挿入が可能であるか(各関節の動作範囲内であるか、途中で動作範囲外にならないか)などを、計算する。そして、その計算の結果、その後の動作が安全に遂行できない可能性があると判定される場合には、注意や警告をユーザに明示するようにしても良い。
【0046】
他方、自動モード以外の場合、処理はステップS602からステップS606へ進む。ステップS606において、姿勢合わせ処理部412は、第1軸〜第3軸を固定(サーボロック)する。次に、ステップS607において、姿勢合わせ処理部412は、第4軸および第5軸の目標位置(角度)を算出する。第1軸〜第3軸の現在の回転角度を不動として、鉗子装着部202の位置とトラカール位置を結ぶベクトル方向に鉗子22の長軸が一致するように第4軸および第5軸の目標位置(角度)が算出される。たとえば、
図9の9bに示されるように、鉗子装着部202の位置、先端部901の位置、トラカール位置902の位置が一直線上に並ぶように鉗子装着部202を移動するための、第4軸と第5軸の回転量(回転位置)が算出される。
【0047】
ステップS608において、姿勢合わせ処理部412は、姿勢合わせ処理のモードが関節同期動作モード、ジョグ動作モード、手動モードのいずれであるかを判定する。関節同期動作モードの場合、処理はステップS611に進む。ステップS611において、姿勢合わせ処理部412は、スレーブアーム21の第4軸、第5軸を駆動して、ステップS607で算出された目標位置へ鉗子装着部202(鉗子22の先端部901)を関節同期動作により移動する。目標位置への移動を終えると、ステップS612において、姿勢合わせ処理部412は、第4軸、第5軸を固定(サーボロック)し、ステップS641において姿勢合わせの完了を、GUIを介してユーザに通知する。こうして、
図9の9bに示すように、姿勢合わせ処理による第4軸と第5軸の駆動により、スレーブアーム21は、鉗子装着部202の先端部901とトラカール位置902を結ぶ方向のベクトル903と、鉗子22の長軸方向が一致した挿入姿勢へ移動する。
【0048】
モードがジョグ動作モードであった場合、処理はステップS608からステップS621へ進む。ステップS621において、姿勢合わせ処理部412は、ティーチングペンダント12の操作入力に従って、第4軸、第5軸をジョグ動作する。このとき、ステップS607で算出した目標位置から遠ざかる方向へのジョグ動作を禁止するようにすることで、効率よく姿勢合わせ処理を実施することが可能となる。ステップS622において、姿勢合わせ処理部412は、目標位置に到達した軸があれば、その軸を固定(サーボロック)する。固定された軸についてはジョグ動作が禁止される。ステップS623において、姿勢合わせ処理部412は、第4軸、第5軸がともに目標位置で固定されているかどうかを判断する。少なくとも一方の軸が目標位置に到達していなければ処理をステップS621に戻す。両方の軸が目標時位置に到達して固定されていれば、処理はステップS641へ進み、姿勢合わせ処理部412は姿勢合わせの完了を、GUIを介してユーザに通知する。この時のスレーブアーム21の動作の様子は
図9の9bに関して上述した通りである。
【0049】
モードが手動モードであった場合、処理はステップS608からステップS631へ進む。ステップS631において、姿勢合わせ処理部412は、第4軸、第5軸を操作者の手動による外力による移動を可能に制御する。このとき、目標位置から遠ざかる方向へは手動で動かせないようにサーボモータを制御することで、効率よく姿勢合わせ処理を実施することが可能となる。ステップS632において、姿勢合わせ処理部412は、目標位置に到達した軸があれば、その軸を固定(サーボロック)する。これにより、固定された軸については、手動動作ができなくなる。ステップS633において、姿勢合わせ処理部412は、第4軸、第5軸がともに目標位置で固定されているかどうかを判断する。少なくとも一方の軸が目標位置に到達していなければ処理をステップS631に戻す。両方の軸が目標時位置に到達して固定されていれば、処理はステップS641へ進み、姿勢合わせの完了を、GUIを介してユーザに通知する。この時のスレーブアーム21の動作の様子は
図9の9aに関して上述した通りである。
【0050】
なお、ステップS641において、姿勢合わせが完了した鉗子22の方向が、トラカール位置保持部421においてトラカール位置に対応して保持されている挿入方向を基準とした許容範囲内にあるかどうかを判断し、許容範囲外の場合にはその旨の警告を出す。この場合、許容範囲外であることの警告とともに、たとえばユーザに自動モードによる姿勢合わせを実行するように促してもよい。また、上述したステップS607において目標位置を算出した時点で、姿勢合わせを行った後の鉗子22の方向が上記許容範囲にあるかを判断してもよい。この場合、挿入方向が許容範囲外であれば、その旨を警告し、関節同期動作モード、ジョグ動作モード、手動モードによる動作の実行を禁止するようにできる。
【0051】
図5に戻り、姿勢合わせ処理部412による姿勢合わせを完了すると、処理はステップS503へ進む。ステップS503において、GUIから鉗子22の挿入が指示されると(挿入指示)、挿入抜去処理部413は、鉗子22をその長軸方向に沿って平行移動するようにスレーブアーム21を駆動し、トラカール位置より患者の腹腔へ鉗子22を挿入する。
【0052】
図7は、鉗子22の挿入動作を説明するフローチャートである。挿入抜去処理部413はステップS701においてGUIより挿入指示を受け付けると、ステップS702において鉗子22の長軸方向(
図9のベクトル903の方向)へ沿って鉗子22が移動するようにスレーブアーム21の各軸の駆動を制御する。姿勢合わせ処理部412により上述したように鉗子22の姿勢合わせが完了しているため、ステップS702の平行移動により鉗子22はトラカール位置へ向かって進むことになる。なお、鉗子22はトラカール位置へ向かっているかの判断を適宜行なうことで、より安全なシステムを構築することが可能となる。この判断は、たとえば、鉗子シャフトの方向とトラカール位置とのズレ(距離)を算出することにより実現され得る。鉗子シャフトの方向は直線の方程式として得られ、トラカール位置は座標値として得られるため、直線と点の距離(垂直距離:最短距離)を求め、その距離が0(または所定距離未満)の時、鉗子22はトラカール位置へ向かっていると判断するようにすればよい。
【0053】
鉗子22の先端部がトラカール位置を通過し、所定の深さまで進むと、処理はステップS703からステップS704へ進み、挿入抜去処理部413はスレーブアーム21の動作を停止する。そして、ステップS705において、挿入抜去処理部413は、挿入動作の完了をGUIを介してユーザに通知する。または、鉗子22の先端がトラカール位置を通過して所定の深さまで進むと、ユーザによる挿入動作の完了の判断を待つようにしても良い。この場合、ユーザはGUIを介して挿入動作の完了確認を入力することで、挿入動作が完了となる。ユーザが完了確認を入力するまでは、挿入を中断し、抜去することを可能としても良い。
【0054】
トラカールの筒部の長さは通常100mm程度以下であるため、筒部の腹腔内、腹腔外の筒部の領域を考慮すると、50mm程度の深さまで挿入した状態を、所定の深さまで挿入した状態とみなしてよい。もちろん、10mm程度の挿入量であってもよいし、鉗子シャフト長が一般的に300mm〜400mm程度であることを考慮すると、30mmから40mm程度の深さまで挿入した状態を、所定の深さまで挿入した状態としてもよい。挿入が完了した以降は、鉗子22がトラカール位置を通過した状態を維持しながら動作する、トラカール制限動作が行われる(制限動作ありの状態へ移行する)ことになる。
【0055】
図5に戻り、挿入動作が完了すると、処理はステップS504からステップS505へ進む。ステップS505において、制限動作処理部414は、座標出力装置32からの3次元位置とフットスイッチ33からの操作中信号により、トラカール制限下で、スレーブアーム21をマスタアーム31の操作に追従させる。トラカール制限下では、鉗子22がトラカール位置を通過した状態を維持しながら、マスタアーム31により指定された3次元位置へ鉗子22の先端部を移動するようにスレーブアーム21が制御される。また、マスタアーム31の操作への追従は、フットスイッチ33からの操作中信号がオン状態である間のみ実行される。
【0056】
図8のフローチャートを参照して、トラカール制限下動作の処理を説明する。ステップS801において、制限動作処理部414はフットスイッチ33からの操作中信号がオンか否かを判定する。操作中信号がオンになると、処理はステップS802へ進み、座標処理部415は座標出力装置32からの座標値を取得し、これを前回座標(初期座標)とする。なお、ここで取得される座標出力装置32からの座標値は、マスタ鉗子シャフト302の先端部305の3次元位置に対応する位置(x,y,z)と、マスタ鉗子シャフト302の回転角度(r)である。前回座標を取得してから所定のサンプル間隔が経過してサンプルタイミングになると、処理はステップS803からステップS804へ進む。
【0057】
ステップS804において、座標処理部415は、座標出力装置32からの座標値を現在座標として取得する。そして、座標処理部415は、前回座標と現在座標の差分を算出して、サンプル間隔におけるマスタ鉗子シャフト302の先端部305の移動量(Δx、Δy、Δz)およびマスタ鉗子シャフト302の回転量(Δr)を得て、これら移動量と回転量を制限動作処理部414へ出力する。この様子を
図10に示す。座標処理部415は、マスタアーム31の操作による先端部305の移動量100((Δx、Δy、Δz)と(Δr))を算出する。
【0058】
次に、ステップS805において、制限動作処理部414は、スレーブアーム21に装着されている鉗子22の現在の先端部位置1001の3次元座標(xm,ym,zm)を第1軸〜第5軸の回転位置(θ1〜θ5)と鉗子22の長さ(鉗子座標)に基づいて取得する。そして、ステップS806において、制限動作処理部414は、現在の先端部位置1001(xm,ym,zm)と座標処理部415から取得された移動量(Δx、Δy、Δz)に基づいて、目標の先端部位置1002の3次元座標(xn,yn,zn)を算出する。さらに、制限動作処理部414は、目標の3次元座標(xn,yn,zn)とトラカール位置1000とを結ぶ方向のベクトル1004(Rxn,Ryn,Rzn)を算出する。こうして、マスタアーム31の移動量(Δx、Δy、Δz)に応じた鉗子22の目標の位置姿勢(xn,yn,zn,xn,Ryn,Rzn)が決定される。以上のようにして、ユーザ操作によるマスタアーム31の操作量(変化量)に応じた、鉗子22の先端部の移動先の空間位置が決定される。
【0059】
ステップS807において、制限動作処理部414は、鉗子22がトラカール位置1000を通る状態を維持しながら、すなわちトラカール位置の制限下で、鉗子22を目標の位置姿勢へ移動する。そして、ステップS808において、制限動作処理部414は、マスタ鉗子シャフト302の回転量(Δr)に応じて第6軸を回転する。こうして、トラカール位置の制限下で鉗子22がマスタアーム31により指示された位置へ移動するとともに、マスタアーム31により指示された鉗子シャフトの回転動作が実行される。
【0060】
なお、ステップS808の処理は、ステップS806と同時に行なうことができることは言うまでもない。これにより、鉗子22の目標の位置姿勢への移動処理をより効率的に行なうことができる。
【0061】
なお、上述のトラカール制限動作の実行中には、鉗子22の目標の位置姿勢の計算処理を実施すると共に、トラカール位置に対して鉗子22が所定量挿入されているか(最小挿入量より多く挿入されているか)を確認することが望ましい。鉗子挿入量が少ない状態で、鉗子先端部を所定の速度で誘導する場合、鉗子装着部202の移動が速くなると共に、スレーブアームの各軸の動作が極端に早くなる可能性があるためである。スレーブアームの各軸の動作速度が所定の速度を超えた場合、各関節は目標値に追従できず、結果として、鉗子シャフトがトラカール位置を維持した状態での動作が不可能となる可能性がある。したがって、安全な動作を確保するために、トラカール位置に対して鉗子が所定量挿入されているかを確認する必要がある。
【0062】
そして、トラカール位置に対して鉗子22が上記所定量(最小挿入量)だけ挿入されている状態から抜去する方向へ目標値が生成された場合に、目標値を前回の目標値(トラカール位置に対して鉗子が所定量挿入されている状態)に戻すなどの処理を行う。このような処理により、トラカール位置に対して鉗子22が所定量以上挿入されている状態を保つことが可能である。また、操作者に対して、トラカールに対して鉗子が所定量挿入されている状態から、抜去する方向へ目標値が生成されたことを、何らかの方法で提示することが望ましい。このためには、例えば、力覚、聴覚、視覚による提示が考えられる。
【0063】
なお、前述の鉗子挿入の際の、はステップS703からステップS704への移行の際の判断の閾値として、上述したような、最小挿入量、または、該最小挿入量よりも大きい挿入量を採用することにより、スムーズなトラカール制限下への制御への移行が可能となる。
【0064】
また、前述と同様に、トラカールの筒部の長さは通常100mm程度以下であるため、筒部の腹腔内、腹腔外の筒部の領域を考慮すると、上述の最小挿入量を50mm程度としてよい。もちろん、スレーブアーム21の追従性が十分得られるのであれば、10mm程度の挿入量を最小挿入量としてもよい。また、鉗子シャフト長が一般的に300mm〜400mm程度であることを考慮すると、その1割程度、すなわち、30mmから40mm程度を最小挿入量としてもよい。この場合、装着された鉗子の長さに応じて最小挿入量が変化することになる。
【0065】
さらに、ロボットの鉗子装着部(鉗子シャフト部外)とトラカールとの衝突を避けるためや、必要以上に鉗子を挿入し不用意に臓器に接触・損傷することを避けるために、最大挿入量を指定してもよい。鉗子シャフト長が一般的に300mm〜400mm程度であることを考慮すると、250mmから300mm程度の深さまで挿入した状態を、最大挿入量として設定することができる。もちろん、動作領域を確保するために、最大挿入量は上述の所定挿入量(最小挿入量)以上とする必要がある。トラカールに対して鉗子が所定量挿入されている状態から、最大挿入量よりさらに挿入する方向へ目標値が生成された場合、目標値を前回の目標値(トラカールに対して鉗子が所定量挿入されている状態)に戻すなどの処理を行うことで、トラカールに対して鉗子が所定量挿入されている状態を保つことが可能である。また、操作者に対して、トラカールに対して鉗子が所定量挿入されている状態から、最大挿入量を超える挿入方向へ目標値が生成されたことを、何らかの方法で提示することが望ましい。例えば、力覚、聴覚、視覚による提示が考えられる。
【0066】
ステップS809において、座標処理部415はステップS804で取得された現在座標を前回座標として保持する。そして、処理はステップS803へ戻り、上述の処理が繰り返される。次のサンプルタイミングを待つ間に操作中信号がオフになると、処理はステップS810からステップS801へ戻る。こうして、スレーブアーム21は、フットスイッチ33により操作中信号がオン状態の間だけ、マスタアーム31の先端部の動きに追従するようになる。上述の実施形態では、各サンプリングごとの前回座標との前回座標の相対的な移動量により目標値を生成するアルゴリズムを示したが、もちろん、サンプリングごとでは無く、あるタイミングでの座標を基準(初期座標)としてもよい。たとえば、操作中信号がONになった時の座標を初期座標として、操作中信号がONの間は、その初期座標からの相対座標により目標値を生成しても良い。
【0067】
図5に戻り、GUIを介して鉗子22の抜去が指示されると、処理はステップS506からステップS507へ進む。ステップS507において、挿入抜去処理部413は、その時点の鉗子22の長軸方向へ沿って、鉗子22を患者の体外へ引き出す。鉗子22の先端部がトラカール位置を通過してトラカール位置から所定距離離れると、抜去動作を完了し(ステップS508)、待機位置への移動指示を待つ(ステップS509)。この時点で、トラカール制限動作が解除される。GUIより待機指示が入力されると、スレーブアーム21は待機位置保持部423に保持されている所定の待機位置へ移動する(ステップS509)。
【0068】
ここで、抜去動作が安全に遂行できるかの判断機能を付加しても良い。たとえば、鉗子22の先端部がトラカール位置を通過してトラカール位置から所定距離離れる動作に対して、スレーブロボットがとり得る位置姿勢であるか(各関節の動作範囲内であるか、途中で動作範囲外にならないか)などを、計算しその後の抜去動作が安全に遂行できない可能性がある場合には、注意や警告をユーザに明示するようにしても良い。
【0069】
なお、上述したように、ステップS507における抜去動作の完了時の鉗子22の位置姿勢とトラカール位置を、自動モードで鉗子挿入を行う際の挿入姿勢として記憶しておき、上述の姿勢合わせ(ステップS502)で利用できるようにしてもよい。このようにすれば、たとえば使用する鉗子を交換した後に同じトラカール位置から鉗子を再挿入する場合等において、トラカール位置および挿入開始位置姿勢を簡単に選択することができ、便利である。また、この場合、記憶された挿入姿勢をそのまま用いるのでステップS604における挿入姿勢の算出も不要となる。
【0070】
なお、スレーブアーム21のトラカール制限下の動作において、鉗子22のシャフト軸(以下、鉗子シャフト軸)がトラカール位置を誤差なく、または、許容値以下の誤差で、通過している状態を保つことが必要である。誤差が過大な場合、患者腹壁に過大な力が発生し、好ましくない状態が生じる可能性があるからである。しかしながら、高速動作時やいわゆるロボットの特異姿勢および近傍では、スレーブアームの目標軌道に対する追従性の低下により、必ずしも、鉗子シャフト軸がトラカール位置を、誤差なく通過している状態を保つことができるとは限らない。したがって、トラカール位置と、鉗子シャフト軸との距離(たとえば垂直距離)を導出し、その距離が所定量以下であることを監視することが必要となる。また、トラカール位置と、鉗子シャフト軸との距離が、所定量以上の状態にとなった時、所定量以上であることを、操作者に明示することが必要である。さらに、トラカール位置と、鉗子シャフト軸との距離が、所定量以上の時、所定量以下に回避する制御、たとえば、スレーブアームの速度を強制的に低下させる、または、停止させるなどの制御を実行することにより、より安全なシステムを構築することが可能となる。
【0071】
また、座標処理部415においてマスタアーム31の移動量(Δx、Δy、Δz)を縮小、拡大して鉗子22の動きに反映させるようにしてもよい。移動量の縮小、すなわち動作縮小(マスタ鉗子シャフト302の先端部305の移動量に対し、スレーブアーム21による鉗子22の先端の移動量を縮小すること)を行うことにより手振れを防止できる。
【0072】
また、座標処理部415にカメラ41の撮影方向とスレーブアーム21の位置との関係を示す情報を入力することにより、座標処理部415がマスタアーム31の移動量が示す移動方向を入力された関係に基づいて変換するようにしてもよい。例えば、モニタ43における映像の水平/垂直方向と、マスタアーム31の操作における水平/垂直方向を略一致させることができる。このようにすれば、モニタ43に表示されている鉗子22の移動方向とマスタアーム31の先端部の移動方向を略一致させることができ、術者の操作性が向上する。
【0073】
また、マスタアーム31は、構造が単純でコンパクトであるため、任意の位置に設置することができ、術者は、手術台や患者、助手などの位置によって不安定な姿勢での手術を行わなければならないといったことから解放され、常に最適な姿勢での操作が可能となる。
【0074】
また、上記実施形態では特に座標系について記載していないが、ワールド座標系でのx、y、zを用いるようにすれば、複数台のスレーブアームを用いた場合に有利である。
【0075】
以上のように、上記実施形態によれば、いわゆる産業用ロボットを用いて腹腔鏡下手術の支援システムを構築することができるため安価であるとともに、術者の操作に対し柔軟性に優れたシステムを得ることができる。たとえば、産業用ロボット(スレーブアーム)の動作領域内であれば、アームの設置位置を変えずにトラカール位置を変えることができ、1台のスレーブアームで複数のトラカール位置に柔軟に対応することができる。
【0076】
また、上記実施形態では、マスタアーム31により指示された空間位置へ鉗子22の先端を合わせるように説明したが、これに限られるものではなく、鉗子22の所定部位を合わせるようにしてもよいことは言うまでもない。例えば、鉗子22の先端部にグリッパが設けられており、このグリッパがロール軸とヨー軸の2つの回転軸周りに回転可能な構成の場合に、グリッパの回転部分をマスタアーム31により指示された空間位置へ合わせる部位としてもよい。
【0077】
なお、上記実施形態では、エンドエフェクタを鉗子として説明したが、これに限らないことは上述したとおりである。例えば、エンドエフェクタは、内視鏡(腹腔鏡、胸腔鏡)、その他術具(エネルギーデバイス、処置具)であっても構わない。また、上記実施形態では、医療用マニピュレータを腹腔内における手術へ適用した例を説明したが、胸腹腔、頭蓋骨内部、心臓内部などにおける手術にも適用可能であることは言うまでもない。すなわち、より小さな挿入口から医療器具を体内へ挿入して行われる、より体への負担が少ない低侵襲手術であれば、どの部位でも構わない。
【0078】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。