(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6113493
(24)【登録日】2017年3月24日
(45)【発行日】2017年4月12日
(54)【発明の名称】手術ロボット及びその制御方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20170403BHJP
B25J 3/00 20060101ALI20170403BHJP
【FI】
B25J13/00 Z
B25J3/00 Z
【請求項の数】10
【全頁数】16
(21)【出願番号】特願2012-280326(P2012-280326)
(22)【出願日】2012年12月21日
(65)【公開番号】特開2013-132747(P2013-132747A)
(43)【公開日】2013年7月8日
【審査請求日】2015年11月30日
(31)【優先権主張番号】10-2011-0140778
(32)【優先日】2011年12月23日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 光 奎
(72)【発明者】
【氏名】權 雄
(72)【発明者】
【氏名】盧 慶 植
【審査官】
中田 善邦
(56)【参考文献】
【文献】
特開2005−329476(JP,A)
【文献】
特開平05−111889(JP,A)
【文献】
欧州特許出願公開第02113449(EP,A2)
【文献】
特表2009−544383(JP,A)
【文献】
特表2002−537884(JP,A)
【文献】
Panadda Marayong,MOTION CONTROL METHODS FOR HUMAN-MACHINE COOPERATIVE SYSTEMS,米国,2007年 8月,第19ページ−第55ページ
(58)【調査した分野】(Int.Cl.,DB名)
B25J1/00−21/02,
A61B34/30−34/37,90/10
(57)【特許請求の範囲】
【請求項1】
手術器具が装着されたロボットアームに作用する外力を算出し、
切開孔の中心点が設定されると、前記ロボットアームに作用する外力をフィルタリングし、
前記切開孔の中心点から外れた前記手術器具が前記切開孔の中心点に復帰するようにする仮想力を算出し、
前記算出された仮想力を前記フィルタリングされた外力に追加して、前記ロボットアームの動きを制御し、
前記切開孔の中心点は、前記手術器具の末端が前記切開孔の中心点に位置し、かつ、前記手術器具の長さ方向が前記切開孔の面に垂直になるように配置することにより、前記手術器具の末端の位置を前記切開孔の中心点の位置として設定される、
手術ロボットの制御方法。
【請求項2】
前記ロボットアームに作用する外力を算出することは、
力/トルクセンサを用いて、前記手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報を検出し、
前記検出されたトルク情報から、下記の数式(1)から算出される前記外力が作用しない状況で、前記ロボットアームが現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報を引いて、実際に外部から前記ロボットアームに加えた外力による前記回転関節のトルク情報を算出する、請求項1に記載の手術ロボットの制御方法。
【数1】
ここで、qは回転関節の回転角度、Mは慣性マトリクス(inertia matrix)、cはコリオリ(Coriolis)及びセントリフューガルフォース(Centrifugal Force)、gは重力を意味する。
【請求項3】
前記ロボットアームに作用する外力をフィルタリングすることは、前記外部から前記ロボットアームに加えた外力による前記回転関節のトルク情報から、前記手術器具上に存在する遠隔中心が前記切開孔の中心点を外れるようにするトルク情報を除去することである、請求項2に記載の手術ロボットの制御方法。
【請求項4】
前記仮想力を算出することは、
前記切開孔の中心点と前記遠隔中心との間に仮想バネ及び仮想ダンパーを装着し、
前記切開孔の中心点と前記遠隔中心との間の偏差を算出し、
前記算出された偏差、前記仮想バネのスティフネス(stiffness)及び前記仮想ダンパーの係数を用いて前記仮想力を算出する、請求項3に記載の手術ロボットの制御方法。
【請求項5】
前記ロボットアームの動きを制御することは、使用者が手で前記手術器具が装着された前記ロボットアームを握って動かし、前記手術器具を前記切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモードで行われる、請求項1乃至4のいずれか一項に記載の手術ロボットの制御方法。
【請求項6】
手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報を検出する力/トルクセンサと、
手術器具が装着されたロボットアームに作用する外力を算出し、切開孔の中心点が設定されると、前記ロボットアームに作用する外力をフィルタリングし、前記切開孔の中心点から外れた前記手術器具が前記切開孔の中心点に復帰するようにする仮想力を算出し、前記算出された仮想力を前記フィルタリングされた外力に追加して、前記ロボットアームの動きを制御する制御部と、を含み、
前記切開孔の中心点は、前記手術器具の末端が前記切開孔の中心点に位置し、かつ、前記手術器具の長さ方向が前記切開孔の面に垂直になるように配置することにより、前記手術器具の末端の位置を前記切開孔の中心点の位置として設定される、
手術ロボット。
【請求項7】
前記制御部は、前記力/トルクセンサから、前記手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報の入力を受け、前記検出されたトルク情報から、下記の数式(1)から算出される前記外力が作用しない状況で、前記ロボットアームが現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報を引いて、実際に外部から前記ロボットアームに加えた外力による前記回転関節のトルク情報を算出する、請求項6に記載の手術ロボット。
【数2】
ここで、qは回転関節の回転角度、Mは慣性マトリクス(inertia matrix)、cはコリオリ(Coriolis)及びセントリフューガルフォース(Centrifugal Force)、gは重力を意味する。
【請求項8】
前記制御部は、前記外部から前記ロボットアームに加えた外力による前記回転関節のトルク情報から、前記手術器具上に存在する遠隔中心が前記切開孔の中心点を外れるようにするトルク情報を除去して、前記ロボットアームに作用する外力をフィルタリングする、請求項7に記載の手術ロボット。
【請求項9】
前記制御部は、前記切開孔の中心点と前記遠隔中心との間に仮想バネ及び仮想ダンパーを装着し、切開孔の中心点と前記遠隔中心との間の偏差を算出し、算出された偏差、前記仮想バネのスティフネス(stiffness)及び前記仮想ダンパーの係数を用いて前記仮想力を算出する、請求項8に記載の手術ロボット。
【請求項10】
前記制御部は、使用者が手で前記手術器具が装着された前記ロボットアームを握って動かし、前記手術器具を前記切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモードで前記ロボットアームの動きを制御する、請求項6乃至9のいずれか一項に記載の手術ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
最小侵襲手術に用いられる手術ロボット及びその制御方法に関する。
【背景技術】
【0002】
最小侵襲手術(Minimal Invasive Surgery)とは、患部の大きさを最小化する手術を通称するもので、腹腔鏡(Laparoscopic Surgery)手術や手術ロボットを用いた手術が最小侵襲手術の代表例である。最小侵襲手術は、人体の一部(例:腹部)に大きな切開創を開けて施行する開腹手術とは異なり、腹部に0.5cm〜1.5cmのサイズの小さな穴(切開孔または侵襲口)を複数開け、切開孔を通じてビデオカメラと各種器具を入れた後、映像を見ながら施行する手術方法である。
【0003】
このような最小侵襲手術は、開腹手術とは異なり、手術後に痛みが少なく、腸運動の早期回復及び飲食物の早期摂取が可能で、入院期間が短く、正常状態への復帰が早く、切開範囲が狭いので美容効果に優れるという長所を有する。このような長所によって、最小侵襲手術は、胆嚢切除s手術、前立腺癌手術、脱腸矯正手術などに使われており、その分野を次第に広めていく傾向にある。
【0004】
手術ロボット(surgical robot)は、医師の操作により必要な信号を生成して伝送するマスター(master)ロボットと、マスターロボットから信号を受けて、患者に直接手術に必要な操作を加えるスレーブ(slave)ロボットとからなり、マスターロボットとスレーブロボットとを統合して構成したり、それぞれ別途の装置で構成して手術室に配置するようになる。
【0005】
スレーブロボットには、手術のための操作のためにロボットアーム(arm)が備えられ、ロボットアームの先端部には、手術器具(surgical instruments)が装着される。ロボットアームの先端に手術器具を装着して手術を行うと、ロボットアームの動きによって手術器具も共に動くことになる。
【0006】
手術ロボットを用いた最小侵襲手術の場合、使用者(操作者、主に医師)が直接手で手術器具が装着されたロボットアームを握って動かし、手術器具を切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモード(Manual Positioning Mode)と、操作者がマスターロボットを用いて、患者の体内に挿入された手術器具を遠隔操作する遠隔操作モード(Teleoperation Mode)とが存在する。上記の2つのモードにおいて共通して、ロボットアームに装着された手術器具が切開孔を損傷しないようにするためには、ロボットアーム(または手術器具)に対する制限的な運動制御が必要である。このような手術器具の制限的な動きが満足されない場合、切開孔が拡張したり、または付随的な患部の出血などにつながり、人体の皮膚に損傷を与える恐れがある。
【0007】
したがって、ロボットアームの先端に装着される手術器具は、所定の位置に仮想の回動中心点を設定し、この点を中心として手術器具が回動するようにロボットアームを制御する。このような仮想の中心点を‘遠隔中心’または‘RCM(Remote Center of Motion)’という。
【0008】
切開孔の位置を、手術器具の並進(translational)運動及び回転(rotational)運動に対して固定させ、この点をRCMとして保障するために、従来は、ロボットアームのリンク構造を平行四辺形構造(4節リンク構造)に設計した。4節リンク構造での各リンクは、動きや配置(configuration)に関係なく、構造的に必ず一点を通るようになっており、手動位置決めモードと遠隔調整モードのいずれも別途の措置なしにRCMの具現が可能である。
【0009】
ロボットアームのRCMを具現する方式は、‘パッシブタイプ(passive type)’と‘アクティブタイプ(active type)’とに大別することができる。パッシブタイプは、機構的な構造を用いてロボットアームのRCMを具現する方式で、アクティブタイプは、制御アルゴリズムを用いてロボットアームのRCMを具現する方式である。
【0010】
前述した4節リンク構造を用いてRCMを具現する方式は、パッシブタイプで、これは、ロボットアームを支持する手術ロボットの体積を増加させるという問題点がある。また、複数の手術ロボットで手術ロボットシステムを構成する場合、全体システムの体積が大きくなり、広い空間を占有することになる。これによって、作業空間(work space)が狭くなり、手術作業中に手術ロボット間の衝突の危険性が高くなるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【0011】
パッシブタイプで、機械的な構造を用いてロボットアームのRCMを具現するのではなく、アクティブタイプで、制御アルゴリズムを用いてロボットアームのRCMを具現することによって、手術ロボットのコンパクト(compact)設計を可能にして、手術ロボットの体積を減少させることができる手術ロボット及びその制御方法を提案する。
【0012】
また、アクティブタイプのRCM具現方式を通じて手術ロボット(または手術ロボットシステム)のコンパクト設計を可能にすることで、既存の汎用直列型ロボットの手術ロボット分野への活用可能性を提供することができる手術ロボット及びその制御方法を提案する。
【0013】
また、使用者(操作者)が直接手で手術器具が装着されたロボットアームを握って動かし、手術器具を切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモードにおいて、ロボットアームに装着された手術器具が切開孔を損傷しないようにするために、ロボットアーム(または手術器具)の制限的な動きを保障することができる手術ロボット及びその制御方法を提案する。
【課題を解決するための手段】
【0014】
このために、本発明の一側面は、手術器具が装着されたロボットアームに作用する外力を算出し、切開孔の中心点が設定されると、ロボットアームに作用する外力をフィルタリングし、切開孔の中心点から外れた手術器具が切開孔の中心点に復帰するようにする仮想力を算出し、算出された仮想力をフィルタリングされた外力に追加して、ロボットアームの動きを制御する。
【0015】
また、ロボットアームの動きを制御することは、使用者が手で手術器具が装着されたロボットアームを握って動かし、手術器具を切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモードで行われる。
【0016】
また、ロボットアームに作用する外力を算出することは、力/トルクセンサを用いて、手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報を検出し、検出されたトルク情報から、下記の数式(1)から算出される外力が作用しない状況で、ロボットアームが現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報を引いて、実際に外部からロボットアームに加えた外力による回転関節のトルク情報を算出する。
【0017】
【数1】
ここで、qは回転関節の回転角度、Mは慣性マトリクス(inertia matrix)、cはコリオリ(Coriolis)及びセントリフューガルフォース(Centrifugal Force)、gは重力を意味する。
【0018】
また、ロボットアームに作用する外力をフィルタリングすることは、外部からロボットアームに加えた外力による回転関節のトルク情報から、手術器具上に存在する遠隔中心が切開孔の中心点を外れるようにするトルク情報を除去する。
【0019】
また、仮想力を算出することは、切開孔の中心点と遠隔中心との間に仮想バネ及び仮想ダンパーを装着し、切開孔の中心点と遠隔中心との間の偏差を算出し、算出された偏差、仮想バネのスティフネス(stiffness)及び仮想ダンパーの係数を用いて仮想力を算出する。
【0020】
本発明の一側面は、手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報を検出する力/トルクセンサと、手術器具が装着されたロボットアームに作用する外力を算出し、切開孔の中心点が設定されると、ロボットアームに作用する外力をフィルタリングし、切開孔の中心点から外れた手術器具が切開孔の中心点に復帰するようにする仮想力を算出し、算出された仮想力をフィルタリングされた外力に追加して、ロボットアームの動きを制御する制御部と、を含む。
【0021】
また、制御部は、使用者が手で手術器具が装着されたロボットアームを握って動かし、手術器具を切開孔に挿入し、手術しようとする領域に位置させる手動位置決めモードでロボットアームの動きを制御する。
【0022】
また、制御部は、力/トルクセンサから、手術ロボットの動作に関連する関節部をなす各回転関節に作用するトルク情報の入力を受け、検出されたトルク情報から、下記の数式(1)から算出される外力が作用しない状況で、ロボットアームが現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報を引いて、実際に外部からロボットアームに加えた外力による回転関節のトルク情報を算出する。
【0023】
【数2】
ここで、qは回転関節の回転角度、Mは慣性マトリクス(inertia matrix)、cはコリオリ(Coriolis)及びセントリフューガルフォース(Centrifugal Force)、gは重力を意味する。
【0024】
また、制御部は、外部からロボットアームに加えた外力による回転関節のトルク情報から、手術器具上に存在する遠隔中心が切開孔の中心点を外れるようにするトルク情報を除去して、ロボットアームに作用する外力をフィルタリングする。
【0025】
また、制御部は、切開孔の中心点と遠隔中心との間に仮想バネ及び仮想ダンパーを装着し、切開孔の中心点と遠隔中心との間の偏差を算出し、算出された偏差、仮想バネのスティフネス(stiffness)及び仮想ダンパーの係数を用いて仮想力を算出する。
【発明の効果】
【0026】
提案された手術ロボット及びその制御方法によれば、パッシブタイプで、機械的な構造を用いてロボットアームのRCMを具現するのではなく、アクティブタイプで、制御アルゴリズムを用いてロボットアームのRCMを具現することによって、手術ロボットのコンパクト設計を可能にして、手術ロボットの体積を減少させることができる。
【0027】
また、提案された手術ロボット及びその制御方法によれば、アクティブタイプのRCM具現方式を通じて手術ロボット(または手術ロボットシステム)のコンパクト設計を可能にすることで、既存の汎用直列型ロボットの手術ロボット分野への活用可能性を提供することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の実施例に係る手術ロボットの制御ブロック図である。
【
図2】本発明の実施例に係る手術ロボットに具現された手動位置決めモードの時のロボットアームの動きを制御する方式を説明するための図である。
【
図3】本発明の実施例に係る手術ロボットの制御方法を示すフローチャートである。
【
図4】
図3に示された切開孔の中心点を設定する方式を説明するための図である。
【
図5】
図3に示された外力をフィルタリングする方式を説明するための図である。
【発明を実施するための形態】
【0029】
以下では、添付の図面を参照して、本発明の実施例を詳細に説明する。
【0030】
図1は、本発明の実施例に係る手術ロボットの制御ブロック図である。
図1に示すように、本発明の実施例に係る手術ロボットは、入力部110、力/トルクセンサ120、制御部130、格納部140、サーボ制御部150、駆動部160及び回転角度検出部170を含む。
【0031】
入力部110は、使用者(操作者)が手術ロボットの動作命令(例:作業命令など)を入力するためのもので、ユーザインタフェース(UI)や遠隔操作器などで構成することができる。また、入力部110は、操作者が切開孔の中心点(
図2のPc)の位置を設定するためのキーボード(keyboard)、ペダル(pedal)または足踏みスイッチ(foot switch)、マウス(mouse)などの装置を含むことができる。
【0032】
力/トルクセンサ120は、手術ロボットの動作(作業)に関連する関節部(例:肩関節部、ひじ関節部、手首関節部など)に装着され、関節部をなす各回転関節に作用する力とモーメント(トルク)を検出する。力/トルクセンサ120としては、並進3方向の力(Fx、Fy、Fz)と回転3方向のモーメント(Mx、My、Mz)を検出する6軸力/トルクセンサ(6−Axis Force−Torque Sensor)を用いることができる。
【0033】
制御部130は、手術ロボットの全般的な動作を制御するコントローラで、制御部130は、手術器具210が装着されたロボットアームに作用する外力を算出し、切開孔の中心点Pcが設定されると、ロボットアームに作用する外力をフィルタリングし、切開孔の中心点Pcから外れた手術器具210が切開孔の中心点Pcに復帰するようにする仮想力を算出し、算出された仮想力をフィルタリングされた外力に追加して、ロボットアームの動きを制御する。
【0034】
格納部140は、手動位置決めモードの時、手術ロボットがロボットアーム(または手術器具)に対する制限的な運動制御を行うために必要とする事前情報、及び制限的な運動制御を行う過程で発生する情報を格納するためのメモリで、格納部140には、ロボットアーム及びロボットアームに付着された手術器具210のCAD情報、切開孔の中心点設定過程で順運動学(Forward Kinematics)を用いて算出される切開孔の中心点Pcの位置及び方向情報などが格納される。
【0035】
図4を参照して、格納部140に格納される切開孔220に対する情報について説明すると、次の通りである。
【0036】
本発明の実施例では、ロボットアームに対する制限的な運動制御を行うために必要とする事前情報、及び制限的な運動制御を行う過程で発生する情報を格納するための格納部140が別途に設けられる構成を例に挙げて説明したが、格納部140の構成を採用せずに、制御部130内の内部メモリに制限的な運動制御を行うために必要な事前情報などを格納するように構成しても良い。
【0037】
サーボ制御部150は、制御部130から伝達された目標関節トルク(τd)に対応するトルク制御信号を、手術ロボットの動作に関連する関節部の各回転関節を回転駆動する駆動部160に出力する。
【0038】
駆動部160は、関節部をなす各回転関節に電気又は油圧による動力を伝達するためのモータなどのアクチュエータで、サーボ制御部150から伝達されたトルク制御信号によって、手術ロボットの動作に関連する関節部の各回転関節を回転駆動する。
【0039】
回転角度検出部170は、手術ロボットの動作に関連する関節部に設けられた各回転関節を回転駆動するために設置されたアクチュエータ(駆動部)の回転角度を検出するためのもので、回転角度検出部170としては、エンコーダ(encoder)を用いることができる。
【0040】
図2は、本発明の実施例に係る手術ロボットに具現された手動位置決めモードの時のロボットアームの動きを制御する方式を説明するための図である。
【0041】
本発明は、使用者(操作者)が直接手で手術器具210が装着されたロボットアームを握って動かし、手術器具210を切開孔220に挿入し、手術しようとする領域に位置させる手動位置決めモード(Manual Positioning Mode)において、ロボットアームに装着された手術器具210が切開孔220を損傷しないようにロボットアームの動きを制御する方法を提案する。
【0042】
まず、使用者が手で手術器具210が付着されたロボットアーム(図示せず)を握って動かし、ロボットアームに付着された手術器具210の末端が切開孔の中心点Pcに位置するようにし、手術器具210の長さ方向が切開孔220の面に垂直になるように位置させる。次に、使用者がペダルやマウスなどの入力部110を操作することによって、手術器具210の末端の現在(入力部の操作時点での)の位置を切開孔の中心点の位置として設定する。このように設定された切開孔の中心点Pcは、手術ロボット(ロボットアーム)の外部に存在する点であって、ロボットアームの動きと関係なく、ロボットアームに付着された手術器具210上の遠隔中心Prcmと一致しなければならない。
【0043】
ロボットアームに付着された手術器具210の末端が切開孔の中心点Pcに位置するようにし、手術器具210の長さ方向が切開孔220の面に垂直になるように配置する。
【0044】
手動位置決めモードにおいて切開孔の中心点Pcが設定される前には、使用者がロボットアームに加える力を関節部に装着された力/トルクセンサ120を通じて検出し、検出情報(力の大きさと方向)を用いてロボットアームの動きを制御する。すなわち、切開孔の中心点Pcが設定される前までは、使用者が自由にロボットアームを握って動かすことができ、ロボットアームの動きを制限する必要がない。しかし、一旦、切開孔の中心点Pcの位置が設定されると、使用者がロボットアームに加える力において、現在の切開孔の中心点Pcの位置を外れるようにする力の部分をフィルタリング(filtering)する。また、
図2に示すように、手術器具210に仮想スライダ230を装着し、設定された切開孔の中心点Pcと手術器具210上の仮想スライダ230との間に仮想バネ240及び仮想ダンパー250を装着して、切開孔の中心点Pcから外れた手術器具210が切開孔の中心点Pcの位置に復帰するようにする仮想の復元力(仮想の復元力は、
図2に示された矢印方向に作用する)を算出する。フィルタリングされた使用者の力(外力)に、算出された仮想の復元力を反映させ、仮想の復元力が反映されたフィルタリングされた外力に基づいてロボットアームを動かすことによって、ロボットアームに付着された手術器具210上の遠隔中心Prcmが必ず切開孔の中心点Pcを通過するように制御することができる。
【0045】
以下では、
図3を中心とし、
図4及び
図5を参照して、本発明の実施例に係る手術ロボットの制御方法を説明する。
【0046】
本発明の実施例の動作説明のための初期条件として、格納部140には、手術ロボットがロボットアーム(または手術器具)に対する制限的な運動制御を行うために必要とする事前情報として、ロボットアーム及びロボットアームに付着された手術器具210のCAD情報が予め格納されていることを前提とする。
【0047】
入力部110を通じて使用者から手術ロボットの動作命令が入力されると、手術器具210を切開孔220に挿入し、手術しようとする領域に位置させる手動位置決めモードが始まる。
【0048】
手動位置決めモードが始まると、制御部130は、力/トルクセンサ120から、関節部をなす各回転関節に作用する力/トルク情報の入力を受け、入力された力/トルク情報を用いて、ロボットアームに作用する外力を算出する(310)。
【0049】
ここで、外力を算出するということは、手術ロボット(より正確にはロボットアーム)が現在の位置又は現在の動きを維持するのに必要なトルク以外の使用者または環境により関節部に作用する力/トルクを算出することを意味する。
【0050】
力/トルクセンサ120に結合されるロボットアーム、及びそのロボットアームに結合される手術器具210はそれぞれ固有な質量を有するので、力/トルクセンサ120は、外部から発生する純粋な外力だけでなく、ロボットアーム及びそのロボットアームに結合される手術器具210の質量により発生する内部の間接的な力/トルク情報も検出する。また、手術ロボットがゆっくり動く場合とは異なり、手術ロボットの動きが速くなると慣性力が発生する。したがって、力/トルクセンサ120に伝達される内部の間接的な力/トルク情報には、慣性力による力/トルク情報が含まれる。
【0051】
すなわち、手術ロボットが作業を行う間、力/トルクセンサ120は、純粋な外力による力/トルク情報だけでなく、ロボットアーム及び手術器具210の質量と動きによる慣性により発生する間接的な力/トルク情報を共に検出する。したがって、ロボットアーム及び手術器具210の質量と動きによる慣性により発生する間接的な力/トルク情報を算出し、力/トルクセンサ120で検出された力/トルク情報から、算出された間接的な力/トルク情報を引いた値を純粋な外力による力/トルク情報と見なし、これに基づいてロボットアームの動きを制御しなければならない。
【0052】
制御部130は、ロボットアーム及びロボットアームに付着された手術器具210のCAD情報(cad data)からロボットアームをモデリングし、これから、ロボットアームが現在の位置又は現在の動きを維持するのに必要なトルク情報を算出する。すなわち、制御部130は、外力が作用しない状況で、現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報(τcalculated)を、下記の数式(1)を用いて算出する。
【0053】
【数3】
ここで、qは回転関節の回転角度、Mは慣性マトリクス(inertia matrix)、cはコリオリ(Coriolis)及びセントリフューガルフォース(Centrifugal Force、gは重力を意味する。
【0054】
力/トルクセンサ120を用いて検出された回転関節に作用するトルク情報(τmeasured)から、現在の位置又は現在の動きを維持するのに必要な回転関節のトルク情報(τcalculated)を引いた値は、実際に外部からロボットアームに加えた外力による回転関節のトルク情報(τexternal)に該当し、下記の数式(2)のような関係が成立する。
【0055】
【数4】
使用者は、直接手を用いてロボットアームに外力を加えることによって、ロボットアームに付着された手術器具210を所望の位置に動かすことができる。その後、使用者は、ロボットアームに付着された手術器具210の末端を切開孔の中心点Pcに位置させ、手術器具210の長さ方向が切開孔220の面に垂直になるように位置させた後、キーボードまたはペダルやマウスなどの入力部110を操作することによって、手術器具210の末端の現在(入力部の操作時点での)の位置を切開孔の中心点の位置として設定する。
【0056】
このとき、制御部130は、順運動学(Forwqrd Kinematics)を用いて手術器具210の末端の位置及び方向を算出し、算出された手術器具210の末端の位置及び方向を切開孔の中心点Pcの位置及び方向と見なし、これを格納部140に格納する。
図4を参照して、格納部140に格納される切開孔220に関する情報について説明すると、次の通りである。
【0057】
Pc:切開孔220の面上に存在し、3次元上の切開孔220の中心点を示す。
【0058】
C1、C2:それぞれ3次元上のベクトルで、互いに正規直交(orthonormal)し、切開孔220の面を横切る基底ベクトル(basis vector)である。
【0059】
Prcm:遠隔中心(Remote Center of Motion)で、手術器具210上に存在し、切開孔220の面と手術器具210との交差点を意味する。キーボードまたはペダルやマウスなどの入力部110の操作の時(切開孔の中心点設定の時)、PrcmとPcは一致する(Prcm=Pc)。
【0060】
Po:手術器具210の端点で、キーボードまたはペダルやマウスなどの入力部110の操作の時、Po、Prcm及びPcは一致する(Po=Prcm=Pc)。
【0061】
Pi:手術器具210とロボットアームとが連結される点、または手術器具210が切開孔220に侵襲し得る限界点を示す。
【0062】
再び
図3の動作320に戻り、制御部130は、切開孔の中心点Pcが設定されたか否かを判断する(320)。
【0063】
まだ切開孔の中心点Pcが設定されていないと判断されると(320での‘いいえ’)、制御部130は、外力に順応して手術ロボット(ロボットアーム)の動きを制御する(360)。制御部130は、ロボットアームが現在維持するための重力トルク情報(τg(q))に、数式(2)から算出された実際に外部からロボットアームに加えた外力による回転関節のトルク情報(τexternal)を加え、目標関節トルク(τd)を算出して、サーボ制御部150に出力する。このとき、必要な場合、数式(1)から算出されたトルク情報(τcalculated)は、ローパスフィルタリング(Low Pass Filtering)され得る。目標関節トルク(τd)は、下記の数式(3)で表現できる。
【0064】
【数5】
ここで、αは、正の定数(positive constant)である。
【0065】
また、ロボットアームの過度な動きを防止するために、次の数式(4)のように減衰項(damping term)を追加することも可能である。
【0066】
【数6】
ここで、bは、減衰係数(damping coefficient)であり、正のスカラー量(positive scalar)である。
【0067】
再び
図3の動作320に戻り、切開孔の中心点Pcが設定されたと判断されると(320での‘はい’)、制御部130は、外力をフィルタリングする(330)。
【0068】
ここで、外力をフィルタリングするということは、数式(2)から算出された実際に外部からロボットアームに加えた外力による回転関節のトルク情報(τexternal)から、切開孔の中心点Pcと遠隔中心Prcmとの間の偏差(deviation)を増加させるのに寄与するトルクを除去することを意味する。
【0069】
外力をフィルタリングするために、まず、制御部130は、下記の数式(5)を用いてラムダ(λ)を算出する。
【0070】
【数7】
ここで、C3は、切開孔220の面を横切る基底ベクトルC1、C2の正規直交(orthonormal)ベクトルである(
図5を参照)。
【0071】
次に、制御部130は、下記の数式(6)を用いて、遠隔中心Prcmでのヤコビ行列(Jacobian Matrix、Jrcm)を算出する。
【0072】
【数8】
その後、制御部130は、下記の数式(7)を用いて、制限ヤコビ行列(Constraint Jacobian Matrix、Jc)を算出する。
【0073】
【数9】
その後、制御部130は、下記の数式(8)を用いて、フィルタリングされた外力トルク(τexternal.filtered)を算出する。
【0074】
【数10】
ここで、フィルタリングされた外力トルク(τexternal.filtered)は、数式(2)から算出された外力トルク(τexternal)から、遠隔中心Prcmを切開孔の中心点Pcから外れるようにする(遠隔中心をC1、C2方向に動かすようにする)トルク成分が除去されたトルクである。
【0075】
再び
図3に戻り、外力をフィルタリングした後に、制御部130は、切開孔の中心点Pcと遠隔中心Prcmとの間の偏差及び仮想復元力を算出する(340)。
【0076】
まず、制御部130は、下記の数式(9)を用いて、切開孔の中心点Pcと遠隔中心Prcmとの間の偏差(ercm)を算出する。
【0077】
【数11】
次に、制御部130は、下記の数式(10)を用いて、切開孔の中心点Pcから外れた手術器具210が切開孔の中心点Pcの位置に復帰するようにする仮想の復元力(τc)を算出する。
【0078】
【数12】
ここで、Kは、仮想バネ240のスティフネス(stiffness)を示し、Dは、安定化のための仮想ダンパー250の係数を示す。
【0079】
制御部130は、仮想復元力(τc)の算出が完了したら、算出された仮想復元力(τc)をフィルタリングされた外力トルク(τexternal.filtered)に反映させる(350)。
【0080】
その後、制御部130は、外力に順応して手術ロボット(ロボットアーム)の動きを制御する(360)。制御部130は、目標関節トルク(τd)を算出するための数式(4)の外力トルク(τexternal)の代わりに、フィルタリングされた外力トルク(τexternal.filtered)を代入し、数式(4)に仮想復元力(τc)を加えて、ロボットアームに対する制限的な運動制御条件(切開孔制限条件)を有した手動位置決めモードでの目標関節トルク(τd)を算出して、サーボ制御部150に出力する。切開孔の中心点Pcが設定された以降の目標関節トルク(τd)は、下記の数式(11)で表現できる。
【0081】
【数13】
次に、制御部130は、手動位置決めが完了したか否かを判断する(370)。制御部130は、入力部110から使用者から手動位置決め完了信号が入力されると、手動位置決めが完了したと判断する。
【0082】
手動位置決めが完了しなかった場合(370での‘いいえ’)、制御部130は、下記の数式(12)を用いて遠隔中心Prcmの位置を更新し(380)、動作340にリターンして、継続的に、切開孔の中心点Pcから外れた手術器具210が切開孔の中心点Pcの位置に復帰するようにする仮想の復元力を算出しながら、ロボットアームが制限的な動きを有するように制御する。
【0083】
【数14】
一方、手動位置決めが完了した場合(370での‘はい’)、制御部130は、手術ロボットの手動位置決めモードを終了する。
【符号の説明】
【0084】
110 入力部
120 力/トルクセンサ
130 制御部
140 格納部
150 サーボ制御部
160 駆動部
170 回転角度検出部
210 手術器具
220 切開孔(侵襲口)
230 仮想スライダ
240 仮想バネ
250 仮想ダンパー
Prcm 遠隔中心(RCM)
Pc 切開孔の中心点