(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022060279
(43)【公開日】2022-04-14
(54)【発明の名称】制御システム及び制御方法、並びにアームシステム
(51)【国際特許分類】
B25J 9/16 20060101AFI20220407BHJP
A61B 34/30 20160101ALI20220407BHJP
【FI】
B25J9/16
A61B34/30
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022015331
(22)【出願日】2022-02-03
(62)【分割の表示】P 2019502490の分割
【原出願日】2018-01-12
(31)【優先権主張番号】P 2017035965
(32)【優先日】2017-02-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】110000763
【氏名又は名称】特許業務法人大同特許事務所
(72)【発明者】
【氏名】松田 康宏
(72)【発明者】
【氏名】新井 淳
(72)【発明者】
【氏名】笠井 栄良
(72)【発明者】
【氏名】黒田 容平
(72)【発明者】
【氏名】小久保 亘
(57)【要約】
【課題】複数のリンクが関節部により連結された多リンク構造のロボット装置を力制御方式により制御する制御システムを提供する。
【解決手段】制御システムは、一般化逆動力学において、多リンク構造体に作用する力と多リンク構造体の加速度との慣性を記述する操作空間上での運動目的及び拘束条件を設定し、運動目的を表す操作空間加速度を実現するために操作空間に作用する仮想力を、ロボット装置の傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む操作空間に関する運動方程式に基づいて算出し、仮想力から変換した実在力を基に関節部のトルク指令値を算出する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
アーム装置を制御する制御システムであって、
前記アーム装置が取り付けられた台車の傾きに起因する前記アーム装置の傾斜情報を取得する傾斜情報取得部と、
前記傾斜情報に応じた重力補償を含む力制御方式の演算条件を設定する設定部と、
前記演算条件に従って、前記アーム装置に対する指令値を算出する演算部と、
を具備する制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する技術は、複数のリンクが関節部により連結された多リンク構造のアーム装置を力制御方式により制御する制御システム及び制御方法、並びに手術アームシステムに係り、例えば医療分野に適用される手術アーム装置を力制御方式により制御する制御システム及び制御方法、並びに手術アームシステムに関する。
【背景技術】
【0002】
近年、医療分野を含むさまざまな産業分野において、手術アーム装置が普及してきている。少なくとも一部の人的作業を手術アーム装置に置き換えることにより、作業の高精度化、高能率化を実現することができる。
【0003】
手術アーム装置は、例えば複数のリンクが関節部によって互いに連結された多リンク構造体であり、複数の関節部の回転駆動を制御することにより、手術アーム装置全体としての所望の動作が実現される。手術アーム装置並びに各関節部の制御方法として、位置制御と力制御を挙げることができる。位置制御では、関節部のアクチュエータに対して角度などの位置指令値を与え、その指令値に追随するように関節部の駆動が制御される。一方、力制御では、例えば手術アーム装置が作業対象に加えるべき力の目標値を与え、その目標値が示す力を実現するように関節部の駆動(例えば関節部によって発生されるトルク)が制御される。
【0004】
位置制御型の手術アーム装置は、システムの構成が容易であるが、外力に柔軟に応じることが困難である。これに対し、力制御型の手術アーム装置は、システムの構成が複雑化する反面、外力に柔軟に応じることが可能であるため、多様な外界との物理インタラクションを行ないながらタスク(運動目的)を遂行するのに適している。とりわけ、医療用の手術アーム装置は、狭い手術室内で施術者や助手などと至近距離で動作し、対人物理インタラクションを実現することが求められていることから、力制御が好ましいと言うことができる。
【0005】
例えば、複数のリンクを連結し、複数の前記リンクから構成される多リンク構造体の駆動に対して少なくとも6自由度以上の自由度を実現する複数の関節部と、前記関節部の状態に基づいて前記関節部の駆動を力制御する駆動制御部を備える手術アーム装置について提案がなされている(例えば、特許文献1を参照のこと)。この種の手術アーム装置の前記多リンク構造体の先端には、内視鏡や鉗子などの医療用器具からなる先端ユニットが取り付けられる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2015/046081号
【特許文献2】特表2016-518199号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本明細書で開示する技術の目的は、複数のリンクが関節部により連結された多リンク構造の手術アーム装置を力制御方式により制御する制御システム及び制御方法、並びに手術アームシステムを提供することにある。
【課題を解決するための手段】
【0008】
本明細書で開示する技術は、上記課題を参酌してなされたものであり、その第1の側面は、
手術アーム装置を制御する制御システムであって、
前記手術アーム装置の傾斜情報を取得する傾斜情報取得部と、
前記傾斜情報に応じた重力補償を含む演算条件を設定する設定部と、
前記演算条件に従って、前記手術アーム装置に対する指令値を算出する演算部と、
を具備する制御システムである。
【0009】
但し、ここで言う「システム」とは、複数の装置(又は特定の機能を実現する機能モジュール)が論理的に集合した物のことを言い、各装置や機能モジュールが単一の筐体内にあるか否かは特に問わない。
【0010】
前記手術アーム装置は、基本的には、複数のリンクが関節部により連結して構成される多リンク構造体からなる。前記演算条件設定部は、一般化逆動力学において、前記多リンク構造体に作用する力と前記多リンク構造体の加速度との慣性を記述する操作空間上での、前記多リンク構造体の運動目的及び拘束条件を設定する。そして、前記演算部は、前記運動目的を表す前記操作空間加速度を実現するために前記操作空間に作用する仮想力を、前記傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む前記操作空間に関する運動方程式に基づいて算出するとともに、前記拘束条件を考慮して前記仮想力を実在力に変換し、前記実在力に基づいて前記関節部を駆動するためのトルク指令値を算出する。
【0011】
また、前記演算部は、前記関節部が理論応答モデルから逸脱しないように、
前記実在力と前記関節部に作用する外トルクに応じて前記理論応答モデルに基づいて算出されるトルク目標値を、前記関節部の外乱トルクを用いて修正して、トルク指令値を算出するようにする。前記演算部は、前記関節部の角速度から前記関節部に作用したトルクを推定し、前記推定したトルクとトルク指令値との差分に基づいて前記外乱トルクを推定することができる。
【0012】
また、本明細書で開示する技術の第2の側面は、
手術アーム装置を制御する制御方法であって、
前記手術アーム装置の傾斜情報を取得する傾斜情報取得ステップと、
前記傾斜情報に応じた重力補償を含む演算条件を設定する設定ステップと、
前記演算条件に従って、前記手術アーム装置に対する指令値を算出する演算ステップと、
を有する制御方法である。
【0013】
また、本明細書で開示する技術の第3の側面は、
複数のリンクが関節部により連結して構成される多リンク構造体と、
前記多リンク構造体の傾斜情報を取得する傾斜情報取得部と、
前記関節部の状態を検出する関節状態検出部と、
前記傾斜情報と前記関節部の状態に応じて算出される指令値に従って前記関節部の駆動を制御する駆動制御部と、
を具備する手術アームシステムである。
【発明の効果】
【0014】
本明細書で開示する技術によれば、複数のリンクが関節部により連結された多リンク構造の手術アーム装置を力制御方式により制御する制御システム及び制御方法、並びに手術アームシステムを提供することができる。
【0015】
なお、本明細書に記載された効果は、あくまでも例示であり、本発明の効果はこれに限定されるものではない。また、本発明が、上記の効果以外に、さらに付加的な効果を奏する場合もある。
【0016】
本明細書で開示する技術のさらに他の目的、特徴や利点は、後述する実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【図面の簡単な説明】
【0017】
【
図1】
図1は、手術アーム装置100の構成例を模式的に示した図である。
【
図2】
図2は、手術アーム装置100が台車200上に取り付けられた様子を示した図である。
【
図3】
図3は、手術アーム装置100が手術台300に取り付けられた様子を示した図である。
【
図4】
図4は、手術アーム装置100を取り付けた手術台300がヨー回りに傾斜する様子を示した図である。
【
図5】
図5は、手術アーム装置100を取り付けた手術台300がピッチ回りに傾斜する様子を示した図である。
【
図6】
図6は、手術アーム装置100の制御システム600の機能的構成を示した図である。
【
図7】
図7は、アクチュエータ700の構成例を示した図である。
【
図8】
図8は、アクチュエータ700が理論モデルに従った応答を行なうための制御ブロック図を示した図である。
【
図9】
図9は、一般化逆動力学演算を利用して力制御を実現する手術アーム装置100の制御システム900の機能的構成を示した図である。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら本明細書で開示する技術の実施形態について詳細に説明する。
【0019】
図1には、本明細書で開示する技術を適用することが可能な手術アーム装置100の構成例を模式的に示している。図示の手術アーム装置100は、エンドエフェクター110を先端に取り付けた手術アーム120で構成される。手術アーム装置100は、例えば、腹腔や胸腔といった内視鏡下手術に利用される医療用若しくは手術用ロボットであり、マスタースレーブ方式システムにおけるスレーブとして動作する。
【0020】
手術アーム120は、複数のリンクを各関節部で連結した多リンク構造体からなる。力学的には、各リンクを剛体として扱うことができる。手術アーム120が備える軸数(若しくは、関節数)や各軸の自由度構成、リンク数(若しくは、アーム数)などの構成は任意であるが、医療用若しくは手術用のアームの場合は例えば6自由度以上の自由度を有している。
図1では便宜上、手術アーム120に含まれる各リンクを、遠位端(若しくは、エンドエフェクター110の後端)から近い順に、第1のリンク、第2のリンク、…と呼ぶことにする。また、手術アーム120に含まれる各関節を、遠位端(若しくは、エンドエフェクター110の後端)から近い順に、第1の関節、第2の関節、…と呼ぶことにする。
【0021】
エンドエフェクター110は、手術アーム120の遠位端に、手首関節111を介して取り付けられているが、内視鏡の鏡筒や、超音波検査装置の探触子、メスや鉗子などの施術器具、気腹チューブ、エネルギー処置具、攝子、レトラクターといった各種の術具からなる。着脱式のエンドエフェクター110として構成して、さまざまな術具を交換して手術アーム120の遠位端に取り付けるようにしてもよい。内視鏡手術では、腹壁を切って開腹する代わりに、トロッカーと呼ばれる筒状の開孔器具が腹壁に複数穿刺され、エンドエフェクター110はトロッカーから患者の体腔内に挿入される(図示しない)。
【0022】
手術アーム装置100は、
図1に示すように手術室などの作業空間の床面に設置される場合の他に、
図2に示すように、キャスターが装着された台車200上に取り付けられて移動式となっている場合や、
図3に示すように、手術台300の側縁部301などに取り付けて用いられる場合など、さまざまな利用形態が想定される。
【0023】
例えば、手術台に手術アームを取り付けてそのアームの遠位端に硬性内視鏡を装着し、術者がヘッドマイクに向かって音声で内視鏡の動きを操作する装置(AESOP:Automated Endoscopic System for Optimal Positioning)が知られている。
【0024】
さらに、手術台300の患者支持面がヨー回りあるいはピッチ回りに回動可能な手術台が提供されている(例えば、特許文献2を参照のこと)。このような可動式の手術台300に手術アーム装置100が取り付けられた場合、
図4や
図5に示すように、手術台300(又は、その患者支持面)と一体となって手術アーム装置100も傾斜する。この結果、ローカル座標系上のZ軸方向が手術台300(又は、その患者支持面)の傾斜に伴って変化し、手術アーム120に作用する重力がローカル座標系上のZ方向と一致するとは限らなくなる。
【0025】
一方、手術アーム120の各関節部の制御方法として位置制御と力制御を挙げることができる。本実施形態では、手術アーム装置100が医療用途に使用され、対人物理インタラクションを実現するという観点から、手術アーム120の制御に力制御方式を採用するものとする。
【0026】
ここで、力制御方式においては、手術アームには姿勢に応じた重力(自重)による復元力が作用してしまう。そこで、手術アームに対して自重を打ち消すための機構を装備する、あるいは、手術アームの現在の姿勢で重力に打ち勝つために必要となる力を演算して指令信号に加えるといった「重力補償」を行なうのが一般的である。
【0027】
ところが、手術アーム装置100を取り付けた手術台300が傾斜したりした場合には、手術アーム120に対して重力方向とは異なる方向に重力補償機構が作用したり、重力方向とは異なる方向を用いて演算された力が指令信号に加わったりして、手術アーム120が期待した通りの動作を実行しなくなるおそれがある。重力方向とは異なる重力補償が手術アーム120に作用すると、オペレータは軽い操作感が得られない、手術アーム120がアンバランスとなり、想定していない方向を動き出すといった事態が発生する。とりわけ、医療用の手術アーム装置100においては、手術アーム120のエンドエフェクター110は患者の体腔内に挿入して用いられるため(前述)、エンドエフェクター110の位置や発生力が指示値通りでないと事故を招来しかねない。
【0028】
そこで、本明細書では、手術アーム装置100の傾斜に応じて正しい重力方向に基づいて重力補償のための力を演算して、適切な力制御を実現することができる制御システムについて提案する。
【0029】
図6には、力制御方式により手術アーム装置100を制御する制御システム600の機能的構成を模式的に示している。図示の制御システム600は、状態取得部601と、演算条件設定部602と、力演算部603と、指令値変換部604を備えている。
【0030】
状態取得部601は、手術アーム装置100の状態を取得する。一般的な力制御方式の制御システムでは、関節部で発生するトルクなどの力情報や、関節部の関節角度などの位置情報を、フィードバック情報として制御対象から取得する。本実施形態では、状態取得部601は、手術アーム120の力情報と位置情報に加えて、手術アーム装置100本体の傾斜角度を取得するようになっている。
【0031】
演算条件設定部602は、状態取得部601で取得した情報に基づいて、手術アーム120の関節部に発生すべき力を算出する計算式(例えば、手術アーム120の運動方程式)の演算条件を設定して、同計算式を立式する。計算式には、重力補償項が含まれる。本実施形態では、状態取得部601から取得した手術アーム装置100本体の現在の傾斜角度に応じて、正しい重力方向に対する重力補償項を演算条件として設定する。
【0032】
力演算部603は、演算条件設定部602で設定された演算条件に従って、上記計算式を解いて、手術アーム120の関節部に発生すべき力を算出する。演算条件設定部602で設定された演算条件には手術アーム装置100本体の傾斜角度に応じた正しい重力方向に対する重力補償項が含まれている。したがって、本実施形態では、力演算部603は、手術アーム装置100本体の傾斜角度に応じた正しい重力方向に対する適切な重力補償を行なって、関節部の発生力を算出することができる。なお、本実施形態では、手術アーム装置100に設けられる複数の関節部の駆動を、後述する一般化逆動力学を用いた全身協調制御により制御することを想定している。
【0033】
指令値変換部604は、力演算603が算出した力情報を、手術アーム120側の関節部を制御するための指令値に変換して、手術アーム装置100に出力する。なお、本実施形態では、関節部の駆動制御に関して、外乱の影響を補正することにより指令値に対する理想的な応答を実現する理想関節制御を適用することを想定している。
【0034】
手術アーム装置100側では、駆動制御部613は、制御システム600から受信した指令値に従って、手術アーム120を構成する関節部612の関節駆動部612-2(アクチュエータなど)の駆動を制御する。手術アーム120は複数の関節部及び複数のリンクから構成される多リンク構造体であるが、
図6では簡素化のため単一の関節部612の構成のみを図示している。図示しない他の関節部も同様の構成であると理解されたい。関節部612は、手術アーム120において、リンク間を互いに回動可能に連結するとともに、駆動制御部613からの制御によりその回転駆動が制御されることにより、手術アーム120を駆動する。
【0035】
関節状態検出部612-1は、関節部612の回転角度や、関節部612の発生トルクといった関節部612の状態を検出して、制御システム600側の状態取得部601に出力する。
【0036】
傾斜検出部611は、手術アーム装置100若しくは手術アーム120の傾斜角を検出して、制御システム600側の状態取得部601に出力する。
図4や
図5に示したように手術アーム装置100が可動式の手術台に取り付けられている場合には、手術アーム装置100の傾斜角は手術台とともに変化し、傾斜検出部611はその傾斜角を検出する。なお、手術アーム装置100が傾斜検出部611を装備するのではなく、手術台300が傾斜検出部611を備え、手術アーム装置100と一体である手術台300から、状態取得部601が患者支持面の傾斜角に関する情報を取得するようにしてもよい。
【0037】
続いて、本実施形態に係る手術アーム装置100の全身協調制御に用いられる一般化逆動力学の概要について説明する。
【0038】
一般化逆動力学は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体(例えば、手術アーム120)において、各種の操作空間(Operation Space)におけるさまざまな次元に関する運動目的を、各種の拘束条件を考慮しながら、複数の関節部に生じさせるトルクに変換する、多リンク構造体の全身協調制御における基本演算である。
【0039】
ここで言う操作空間は、手術アーム装置の力制御における重要な概念である。操作空間は、多リンク構造体に作用する力と多リンク構造体の加速度との関係を記述するための空間である。多リンク構造体の駆動制御を位置制御ではなく力制御によって行なう際に、多リンク構造体と環境との接し方を拘束条件として用いる場合に操作空間という概念が必要となる。操作空間は、例えば、多リンク構造体が属する空間である、関節空間、デカルト空間、運動量空間などである。
【0040】
また、ここで言う運動目的は、多リンク構造体の駆動制御における目標値を表し、例えば、駆動制御によって達成したい多リンク構造体の位置、速度、加速度、力、インピーダンスなどの目標値に相当する。
【0041】
また、ここで言う拘束条件は、多リンク構造体の形状や構造、多リンク構造体の周囲の環境及びユーザーによる設定などによって定められる、多リンク構造体の位置、速度、加速度、力などに関する拘束条件である。例えば、拘束条件には、発生力、優先度、非駆動関節の有無、垂直反力、摩擦錘、支持多角形などについての情報が含まれる。
【0042】
一般化動力学においては、数値計算上の安定性と実時間処理可能な演算効率とを両立するため、その演算アルゴリズムは、第1段階である仮想力算出処理と、第2段階である実在力算出処理で構成される。第1段階の仮想力算出処理では、各運動目的の達成に必要な、操作空間に作用する仮想的な力である仮想力を、運動目的の優先度と仮想力の最大値を考慮しながら決定する。続く第2段階の実在力算出処理では、非駆動関節、垂直反力、摩擦錘、支持多角形などに関する拘束を考慮しながら、上記で得られた仮想力を関節力、外力などの実際の多リンク構造体の構成で実現可能な実在力に変換する。
【0043】
ここで、第1段階の仮想力算出処理について説明する。
【0044】
多リンク構造体の各関節部におけるある物理量によって構成されるベクトルを一般化変数qと呼ぶ(関節値q又は関節空間qとも呼ぶ)。操作空間xは、一般化変数qの時間微分値とヤコビアンJを用いて、下式(1)で定義される。
【0045】
【0046】
本実施形態に係る手術アーム装置100では、例えば、qは手術アーム120を構成する各関節部における回転角度に相当する。手術アーム120のようなリンク構造物全体の操作空間xに関する運動方程式は、下式(2)に示すような形で表現することができる。
【0047】
【0048】
上式(2)において、τは一般化変数qに対応した一般化力、bは重力、コリオリ力、及び遠心力、fは操作空間に作用する外力である。また、Hは構造全体の関節空間に対する慣性行列、すなわち関節空間慣性行列である。上式(2)を下式(3)のように変形する。
【0049】
【0050】
上式(3)において、Λ-1は、操作空間慣性逆行列と呼ばれる。操作空間慣性逆行列Λ-1は、ヤコビアンJと関節空間慣性行列Hを用いて、下式(4)のように表される。
【0051】
【0052】
また、上式(3)の右辺第3項のcは、操作空間バイアス加速度、すなわち外力が作用しない場合に操作空間に作用する加速度に相当する。操作空間バイアス加速度は、下式(5)のように表される。
【0053】
【0054】
上式(5)中のbは、重力、コリオリ力、及び遠心力に相当する(前述)。本実施形態では、手術アーム装置100から可動式の手術台300に取り付けられ、傾斜角が動的に変化すること(
図4、
図5を参照のこと)を想定している。したがって、重力gと、コリオリ力及び遠心力vは、関節角q又は関節角速度の関数であり、bを下式(6)のように表す。また、操作空間バイアス加速度cを、下式(7)のように書き換えることができる。
図6に示した制御システム600の構成によれば、傾斜検出部611によって検出される関節角qを、状態取得部601が取得するようになっている。
【0055】
【0056】
【0057】
一般化逆動力学においては、操作空間xに関する位置、速度の運動目的は、操作空間xの加速度として表現できることが知られている。このとき、上式(1)から、運動目的として与えられた目標値である操作空間加速度を実現するために、操作空間xに作用するべき仮想力fvは、下式(8)のような一種の線形相補性問題(Linear Complementary Problem)を解くことによって得られる。
【0058】
【0059】
上式(8)の左辺第2項として、上式(7)に示したように、状態取得部601から取得した手術アーム装置100本体の現在の傾斜角度に応じて、正しい重力方向に対する重力補償項を含んだ操作空間バイアス加速度cを用いるようにする。その結果、上式(8)を解くことによって、正しい重力方向に対する適切な重力補償を施した仮想力fvを求めることができる、という点を理解されたい。
【0060】
ここで、上式(8)において、LiとUiはそれぞれ、fvの第i成分の負の下限値(-∞を含む)、fvの第i成分の正の上限値(+∞を含む)とする。線形相補性問題は、例えばIterative法、Pivot法、ロバスト加速度制御を応用する方法などを用いて解くことができる。
【0061】
なお、操作空間慣性逆行列Λ-1とバイアス加速度cは、定義式である上式(4)、(5)の通り算出すると計算コストが大きい。そこで、多リンク構造体の一般化力(関節力τ)から一般化加速度(関節加速度)を得る順動力学計算(Forward Dynamics:FWD)を応用することにより、操作空間慣性逆行列Λ-1の算出処理をより高速に算出する方法が提案されている。具体的には、順動力学演算を用いることにより、関節空間q、関節力τ、重力gなどの多リンク構造体に作用する力に関する情報から、操作空間慣性逆行列Λ-1とバイアス加速度cを算出することができる。このように、操作空間に関する順動力学演算を応用することにより、関節部の数Nに対してO(N)の計算量で操作空間慣性逆行列Λ-1を算出することができる。
【0062】
図6に示した制御システム600では、操作空間慣性逆行列Λ
-1の算出に際し、多リンク構造体としての手術アーム装置100に作用する力に関する情報(関節空間q、関節力τ、重力g)を、関節状態検出部612-1と、傾斜検出部611から取得するように構成されている。傾斜検出部611から傾斜角に基づいて、手術アーム装置100が取り付けられた手術台300の傾斜角に応じて、正しい重力方向の情報を得ることができるという点を十分理解されたい。
【0063】
運動目的の設定例として、絶対値Fi以下の仮想力fviで操作空間加速度の目標値(xの2階微分に上付きバーを付して表す)を達成するための条件を、下式(9)で表すことができる。
【0064】
【0065】
また、上述したように、操作空間xの位置、速度に関する運動目的は、操作空間加速度の目標値として表すことができ、具体的には下式(10)で表すことができる(但し、操作空間xの位置、速度の目標値を、x、xの1階微分に上付きバーを付して表す)。
【0066】
【0067】
その他、分解操作空間の考え方を用いることにより、他の操作空間の線形和で表される操作空間(運動量、デカルト相対座標、連動関節など)に関する運動目的を設定することもできる。なお、競合する運動目的間には、優先度を与える必要がある。優先度毎且つ低優先度から順に上記線形相補性問題を解いて、前段の線形相補性問題で得られた仮想力を次段の線形相補性問題の既知外力として作用させることができる。
【0068】
続いて、第2段階の実在力算出処理について説明する。
【0069】
上記のようにして得られた仮想力fvを、実在の関節力と外力に変換する処理を行なう。仮想力による一般化力τv(=Jv
Tfv)を関節部に生じる発生トルクτaと外力feとで実現するための条件は、下式(11)のように表される。
【0070】
【0071】
上式中の添え字aは駆動関節部の集合(駆動関節集合)を表し、添え字uは非駆動関節部の集合(非駆動関節集合)を表す。すなわち、上式(11)の上段は非駆動関節部による空間(非駆動関節空間)の力の釣り合いを表し、下段は駆動関節部による空間(駆動関節空間)の力の釣合いを表している。Jvu、Jvaは、それぞれ、仮想力fvが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Jeu、Jeaは、外力feが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。また、Δfvは仮想力fvのうち、実在力で実現不能な成分を表す。
【0072】
上式(11)の上段は不定であり、例えば下式(12)に示すような2次計画問題(Quadratic Programing Problem)を解くことで、fe及びΔfvを得ることができる。
【0073】
【0074】
上式(12)中、εは上式(11)の上段り、変数ベクトルを表す。Q1及びQ2は、最小化の際の重みを表す正定値対称行列である。また、上式(12)の不等式拘束は、垂直反力、摩擦錐、外力の最大値、支持多角形などの外力に関する拘束条件を表すのに用いられる。例えば、矩形の支持多角形に関する不等式拘束は、下式(13)のように表現される。
【0075】
【0076】
ここで、zは接触面の法線方向を表し、x及びyはzに垂直な直交2接線方向を表す。(Fx,Fy,Fz)及び(Mx,My,Mz)は、接触点に作用する外力及び外力モーメントである。μt及びμrは、それぞれ並進、回転に関する摩擦係数である。(dx,dy)は支持多角形のサイズを表している。
【0077】
上式(12)、(13)から、最小ノルム又は最小誤差の解fe、Δfvが求められる。上式(12)から得られたfe、Δfvを上式(11)の下段に代入することにより、運動目的を実現するために必要な関節力τaを得ることができる。
【0078】
基底が固定され、非駆動関節が無い系の場合は、関節力のみで全ての仮想力を置換可能であり、上式(11)において、fe=0、Δfv=0とすることができる。この場合、上式(11)の下段から、下式(14)に従って実在の関節力τaを得ることができる。
【0079】
【0080】
上記のように、一般化逆動力学を用いて仮想力算出処理及び実在力算出処理を順に行なうことにより、所望の運動目的を達成するための関節力τaを得ることができる。逆に言えば、一般化逆動力学を用いて算出された関節力τaを手術アーム装置100の関節部612の運動における理論モデルに反映することにより、関節部612が力制御方式により所望の運動目的を達成するように駆動される。
【0081】
また、本実施形態では、関節力τaを算出する過程(より厳密には、仮想力を算出する過程)において、傾斜検出部611で検出される手術アーム装置100本体の傾斜角度に基づいて正しい重力方向に対する適切な重力補償を行なって、関節部の発生力を算出することができる。
【0082】
なお、ここまで説明した一般化逆動力学を用いた全身協調制御、特に、仮想力fvの導出過程や、上記の線形相補性問題を解いて仮想力fvを求解する方法、2次計画問題の解法などの詳細については、例えば、本出願人に既に譲渡されている特開2009-95959号公報や特開2010-188471号公報を参照されたい。
【0083】
続いて、本実施形態における関節部の駆動制御方法に適用される、理想関節制御について説明する。
【0084】
上記の一般化逆動力学を用いた演算により求められた関節力指令値τaに従って、関節部612を駆動するアクチュエータを、力制御方式により制御する。
【0085】
図7には、関節部612を駆動するアクチュエータ700の構成例を示している。図示のアクチュエータ700は、回転トルクを発生するためのモータ(例えば、DCブラシレス・モータ)701と、モータ701の回転力を十分な発生力に変換するための減速機702で構成される。また、減速機702の出力軸には、関節角を計測するためのエンコーダ703と、回転トルクを検出するトルク・センサ704が取り付けられている。エンコーダ703とトルク・センサ704は、
図6中の関節状態検出部612-1に相当する。なお、トルク・センサ704として、例えば本出願人に既に譲渡されている特開2009-288198号公報に開示されているトルク計測装置を適用することができる。
【0086】
上記の一般化逆動力学を用いた演算により算出した実在力τaを関節力指令値に用いて、アクチュエータ700に対する力制御を実施することにより、外乱の影響を回避することができる。ところが、関節アクチュエータがダイナミクス演算で用いられる理論モデルから逸脱した応答を行なうと、ダイナミクス演算により算出されたトルクをアクチュエータに作用させても、目的の運動状態は達成されない。
【0087】
実際、
図7に示したような減速機702を有したアクチュエータ700には、摩擦や慣性などの、モデル化や同定が困難となるダイナミクスのパラメータが含まれており、力制御に影響を与える外乱の主要因となる。かかる外乱の問題に対し対策を施さなければ、容易に理論モデルから逸脱することになる。すなわち、誤差の主要因となる関節部の摩擦並びに慣性が理論モデルと合致するよう、理想的なアクチュエータを関節に用いることがさらに必要である。
【0088】
そこで、本実施形態では、摩擦や慣性といったモデル化できない外乱の影響を受けつつも、理論モデル通りの応答を行なうようにアクチュエータ700の応答を修正する方法を適用して、関節部612を理想関節として駆動制御するようにする。以下では、関節部612を駆動するアクチュエータ700が理論モデルに従った応答を行なうための理想関節制御の方法について説明する。
【0089】
手術アーム装置100(若しくは、手術アーム120)のダイナミクス演算において、アクチュエータ700は、下式(15)に示すような2次遅れ系の運動方程式によってモデル化される。
【0090】
【0091】
上式(15)において、Iaは関節の慣性モーメント(仮想イナーシャ)、qは(エンコーダ704の出力として得られる)関節の関節角、τaは関節の発生トルクの指令値、τeは関節に作用する外トルク、νaは関節内部の(未知の、モデル化が困難となる)仮想的な粘性係数である。上式(15)は、アクチュエータ700の運動を表す理論モデルと言うこともできる。
【0092】
上述した一般化逆動力学を用いた演算により、アクチュエータ700に作用させるべき実在力τaを、運動目的及び拘束条件に応じて算出することができる。そして、理想的には、アクチュエータ700は上式(15)に示す理論モデルに従った応答が実現して、所望の運動目的が達成されるはずである。
【0093】
しかしながら、実際には、摩擦や慣性といったモデル化できない外乱の影響により、アクチュエータ700の運動と上式(15)に示す理論モデルとの間には誤差、すなわちモデル化誤差が生じる場合がある。モデル化誤差は、多リンク構造体の重量、重心、慣性テンソルなどのマスプロパティに起因するものと、多リンク構造体におけるアクチュエータ700内部における摩擦や慣性などに起因するものとに大別することができる。
【0094】
このうち、前者のマスプロパティに起因するモデル化誤差は、CAD(Computer Aided Design)データの高精度化や同定手法の適用によって、理論モデル構築時に比較的容易に低減することが可能である。一方、後者のアクチュエータ700内部の摩擦や慣性などに起因するモデル化誤差は、例えばアクチュエータ700の減速機702における摩擦など、モデル化が困難な現象に起因しており、理論モデル構築時に無視できないモデル化誤差が残留し得る。
【0095】
また、上記の運動方程式(15)におけるイナーシャIaや粘性抵抗係数νeの値と、実際のアクチュエータ700におけるこれらの値との間に誤差が生じている可能性がある。これらのモデル化が困難な誤差は、アクチュエータ700の駆動制御において外乱となり得る。
【0096】
したがって、このような外乱の影響により、実際には、アクチュエータ700は、上式(15)に示す理論モデル通りには応答しない場合がある。その結果、一般化逆動力学によって算出された関節力としての実在力τaをアクチュエータ700に適用しても、制御目標である運動目的が達成されなくなる。
【0097】
そこで、本実施形態では、アクチュエータ700が上式(15)に示す理論モデルに従った理想応答を行なうように、アクチュエータ700にアクティブな制御系を付加して応答を修正する方法を考える。具体的には、アクチュエータ700のトルク・センサ704を用いた摩擦補償型のトルク制御を行なうに留まらず、要求される発生トルクτa及び外トルクτeに対して、イナーシャIa及び粘性抵抗係数νaに至るまで理論値に従った理想応答を行なうことを可能にする。
【0098】
図8には、アクチュエータ700が理論モデルに従った応答を行なうための制御ブロック図を示している。図示の制御ブロックは、例えば、
図6に示した制御システム600内で、指令値変換部604が、力演算部603で算出された実在力τ
aを、理想応答を行なうために修正する処理に相当する。
【0099】
図8中、点線で囲まれた部分は外乱オブザーバ810に相当し、アクチュエータ700に対する外乱トルクτ
dを推定し、当該制御系に及ぼす影響を除去することによって、ロバストな加速と瀬制御系を構築している。但し、J
nは関節内のイナーシャの公称値、Jは関節内のイナーシャの(未知の)実際値、qは関節角とする。また、関節の仮想イナーシャI
aは、ダイナミクス演算における設計事項として、仮想的な定数が与えられるものとする。
【0100】
力演算部603では、制御周期毎に、上述した一般化逆動力学を用いた演算により、アクチュエータ700へのトルク指令値τaを決定する。また、アクチュエータ700の減速機702に出力軸に取り付けられたトルク・センサ704によって計測された外トルク実測値τe、並びに減速機702の出力軸に取り付けられたエンコーダ703によって計測された関節角qから得られる角速度実測値が、関節状態検出部612-1から指令値変換部604に送られてくる。
【0101】
参照番号801は、上式(15)に示す運動方程式で表される理想応答モデルに従った演算を行なう演算器である。演算器801は、トルク指令値τa、外トルク実測値τe、及び関節角速度の実測値(関節角qの1階微分)を入力して、上式(15)の左辺の関節角qの加速度(関節角目標値qrefの2階微分)を算出して、これを関節角加速度目標値として外乱オブザーバ810に入力する。
【0102】
参照番号802は、アクチュエータ700の回転角加速度に基づいてアクチュエータ700に発生するトルクを算出する演算器である。この演算器802は、外乱オブザーバ810に入力された関節角qの加速度目標値に関節の仮想イナーシャ公称値Jnを掛けて、現制御周期におけるトルク目標値τrefに変換する。
【0103】
理想の応答においては、アクチュエータ700にトルク目標値τrefを生じさせることにより、所望の運動目的を達成できるはずである。しかしながら、上述したように、実際の応答には外乱などの影響が生じる場合がある。そこで、本実施形態では、制御ブロックが外乱トルクτdを推定する外乱オブザーバ810を装備する構成とした。したがって、前制御周期で外乱オブザーバ810により推定された外乱トルクτdで現制御周期のトルク目標値τrefに修正を加えるというフィードフォワード制御を行なうことで、制御ブロックは、現制御周期における関節に対するトルク指令値τを得ることができる。
【0104】
参照番号803は、関節であり、伝達関数1/Jnからなる。この関節803にトルク指令値τからなる力制御を掛けると、摩擦や慣性などの外難の影響を受けながら回転駆動する。具体的には、指令値変換部604がトルク指令値τを電流指令値に換算して、これが駆動制御部613(若しくは、モータ701を駆動するモータ・ドライバ)への指示入力となる。
【0105】
関節803の駆動の際に関節に発生する外トルクτe並びに関節角qはそれぞれトルク・センサ704並びにエンコーダ703で計測される。また、参照番号804は、微分演算を行なう演算器であり、エンコーダ703で計測される関節角qを時間微分して関節角速度を得る。ここで得られた関節角速度は、理想応答モデルに従った演算を行なう演算器801(前述)への入力となる。
【0106】
外乱オブザーバ810は、それぞれ参照番号811、812で示す演算器を含んでいる。演算器811は、演算器804から出力される関節角速度に対して、関節の仮想イナーシャ公称値Jnからなる伝達関数Jnsを適用することで、関節に作用したトルクを推定する。そして、演算器811による推定トルクをアクチュエータ700への現制御周期のトルク指令値τから引き算することで、外乱トルクτdを推定することができる。そして、現制御周期で得られた外乱トルクを次制御周期におけるトルク目標値τrefに修正を加えるというフィードフォワード制御を行なうことで、次制御周期における関節に対するトルク指令値τを得ることができる。
【0107】
また、演算器812は、系の発散を防ぐために、外乱トルクτdの推定値を出力する途中に挿入されたローパス・フィルター(LPF: Low Pass Filter)である。演算器812は、伝達関数g/(s+g)で表される演算を行なうことにより、入力値に対して低周波成分のみを出力して、系を安定化させることができる。
【0108】
このようにして、関節部に摩擦や慣性などのモデル化することができない外乱成分が存在していても、アクチュエータ700の加速度応答を加速度目標値に追従させることができる。すなわち、上式(15)の右辺が与えられたときに左辺の関節角加速度が達成されるので、アクチュエータ700は外乱の影響を受けるにも拘らず理論モデルに従った応答を実現することができる。なお、外乱トルクτdを出力する途中に上記のローパス・フィルターg/(s+g)812が挿入されており(前述)、高周波数域の外乱除去には向かない。
【0109】
このように
図8に示した制御ブロック構成によれば、アクチュエータ700の駆動制御において、摩擦や慣性などの外乱成分があった場合であっても、アクチュエータ700の応答を目標値に追従させることが可能となる。また、関節部612の駆動制御について、理論モデルが仮定するイナーシャI
a及び粘性抵抗係数ν
aに従った理想応答を行なうことが可能となる。
【0110】
なお、理想関節制御の詳細については、例えば本出願人に既に譲渡されている特開2009-269102号公報を参照されたい。
【0111】
図9には、一般化逆動力学演算を利用して力制御を実現する手術アーム装置100の制御システム900の機能的構成を示している。
【0112】
制御システム900の制御対象である手術アーム装置100は、手術アーム120のエンドエフェクター110としての撮像部と、傾斜検出部911と、手術アーム120と、手術アーム120の関節部912の駆動を制御する駆動制御部913を備えている。
【0113】
エンドエフェクター110として取り付けられる撮像部は、例えば手術時にトロッカーから患者の体腔内に挿入して用いられる硬性内視鏡である。具体的には、撮像部は、撮影対象を動画や静止画の形式で撮影することのできるカメラなどであり、2次元上に配列された複数の受光素子を有し、この受光素子における光電変換により撮影対象である患者の体腔内の画像を表す画像信号を取得することができる。
【0114】
この撮像部による撮像画像を表示する表示装置920を手術アーム装置100に外付け接続し、又は手術アーム装置100が装備していてもよい。表示装置920は、各種の情報を表示画面上にテキストやイメージなどさまざまな形式で表示するデバイスであり、画像信号に対して各種の画像処理を施す画像信号処理部や処理された画像信号に基づく画像を画面上に表示出力する表示駆動部などを備えている。本実施形態では、表示装置920は、手術アーム120のエンドエフェクター110である撮像部が撮影した画像を画面上に表示する。
【0115】
傾斜検出部911は、手術アーム装置100若しくは手術アーム120の傾斜角を検出する。例えば、
図4や
図5に示したように手術アーム装置100が可動式の手術台に取り付けられている場合には、手術アーム装置100の傾斜角は手術台とともに動的に変化し、傾斜検出部911はその傾斜角を検出する。なお、手術アーム装置100が傾斜検出部911を装備するのではなく、手術台300が傾斜検出部911を備え、手術アーム装置100と一体である手術台300から、患者支持面の傾斜角に関する情報を取得するようにしてもよい。傾斜検出部911は、検出した傾斜角を、制御システム900側に送信する。
【0116】
ローカル座標系上のZ軸方向が手術台300(又は、その患者支持面)の傾斜に伴って変化するため、手術アーム120に作用する重力がローカル座標系上のZ方向と一致するとは限らなくなる。これに対し、本実施形態では、手術アーム120に作用する重力の方向をZ方向に固定するのではなく、傾斜検出部911により検出された傾斜角の関数として扱うことが可能になる。
【0117】
手術アーム120は、複数の関節部及び複数のリンクから構成される多リンク構造体であり、関節部の駆動を制御する駆動制御部913を備えている。手術アーム120は複数の関節部及び複数のリンクから構成されるが、
図9では簡素化のため単一の関節部912の構成のみを図示している。図示しない関節部も同様の構成であると理解されたい。すなわち、駆動制御部913によって駆動が制御されることによって、複数の関節部がそれぞれの可動範囲内で駆動することにより、エンドエフェクター110としての撮像部の位置及び姿勢を制御することができる。
【0118】
駆動制御部913は、例えば、関節部912の駆動用のアクチュエータのモータに対して供給する電流量を制御することにより、モータの回転数を制御して、関節部912の回転角度及び発生トルクを制御する。但し、駆動制御部913による関節部912の駆動制御は、制御システム900による演算結果に基づいて行なわれる。したがって、駆動制御部913が関節部912のアクチュエータ・モータに対して供給する電流量は、基本的には制御システム900の制御下で決定される。
【0119】
関節部912は、手術アーム120において、リンク間を互いに回動可能に連結するとともに、駆動制御部913からの制御によりその回転駆動が制御されることにより、手術アーム120を駆動する。関節部912は、関節駆動部912-2と、関節状態検出部912-1を備えている。
【0120】
関節駆動部912-2は、関節部912の駆動機構であり、例えば
図7に示したアクチュエータのモータからなる。駆動制御部913により駆動が制御されて、関節駆動部912-2が駆動することにより、関節部912が回転駆動する。
【0121】
関節状態検出部912-1は、関節部912の回転角度や、関節部912の発生トルクといった関節部912の状態を検出する。関節状態検出部912-1は、
図7に示したアクチュエータ700の減速機702の出力軸に取り付けられた、エンコーダ703並びにトルク・センサ704からなる。関節状態検出部912-1は、検出した関節部912の状態を制御システム900側に送信する。
【0122】
一方、制御システム900は、全身協調制御部930と、理想関節制御部940と、入力部950と、記憶部960を備えている。制御システム900は、例えば、PC(Personal Computer)やサーバなどの、制御対象である手術アーム装置100に外部接続される各種の情報処理装置によって構成される。あるいは、制御システム900は、制御対象である手術アーム装置100上に搭載されるコントローラなどの装置であってもよい。
【0123】
入力部950は、ユーザーが制御システム900に対して手術アーム装置100の駆動制御に関する情報や命令などを入力するための入力インターフェースである。具体的には、入力部950は、マウスやキーボード、タッチパネル、ボタン、スイッチ、レバー、ジョイスティック、ペダルなどの操作デバイスを備えている。例えば、ユーザーの入力部950に対する操作入力に応じて、手術アーム120の駆動が制御され、エンドエフェクター110である撮像部の位置や姿勢が制御される。
【0124】
記憶部960は、制御システム900において処理される各種の情報を記憶する。本実施形態では、記憶部960は、制御システム900において実施される手術アーム装置100の全身協調制御や、関節部の理想関節制御に関する演算において用いられる各種のパラメータを記憶することができる。例えば、記憶部960は、演算条件設定部932が全身協調制御に関する演算に用いられる運動目的や拘束条件に関する情報(後述)を記憶しておいてもよい。また、本実施形態では、記憶部960は、手術アーム120に関する各種のアーム情報(例えば、手術アーム120を構成する関節及びリンクの数、リンクと関節の接続状況、リンクの長さなどの情報)を記憶することができる。
【0125】
全身協調制御部930は、手術アーム120の運動目的及び拘束条件に基づいて、操作空間における関節部912に対するトルク指令値τaを、一般化逆動力学を用いた演算により算出する機能ブロックである。全身協調制御部930は、関節状態取得部931と、演算条件設定部932と、仮想力推定部933と、実在力算出部934を備えている。
【0126】
状態取得部931は、関節状態検出部912-1で検出される関節部912の回転角度及び関節912に作用する外トルクを取得することができる。また、記憶部960は、制御システム900によって処理される各種の情報を記憶しているが、具体的には、手術アーム120に関する各種のアーム情報(例えば、手術アーム120を構成する関節及びリンクの数、リンクと関節の接続状況、リンクの長さなどの情報)が記憶されている(前述)。状態取得部931は、記憶部960からこのようなアーム情報を取得することができる。したがって、状態取得部931は、関節部912の状態とアーム情報とに基づいて、複数の関節、複数のリンク、及び撮像部の空間上の位置(座標)(すなわち、手術アーム120の形状や撮像部の位置及び姿勢)、各関節、リンク及び撮像部に作用している力などの情報をアーム状態として取得することができる。状態取得部931は、取得したアーム情報を演算条件設定部932に送信する。また、状態取得部931は、傾斜検出部911で検出される手術アーム装置100若しくは手術アーム120の傾斜角を取得することができる。
【0127】
演算条件設定部932は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件を設定する。ここで言う演算条件は、例えば運動目的及び拘束条件である。運動目的は、手術アーム120の運動に関する各種の情報であり、具体的には、撮像部の位置及び姿勢(座標)、速度、加速度、並びに力などの目標値や、手術アーム120を構成する複数の関節部及び複数のリンクの位置(座標)、速度、加速度及び力などの目標値である。また、ここで言う拘束条件は、手術アーム120の運動を制限又は拘束する各種の情報であり、具体的には、手術アーム120の各構成部材が移動不可能な領域の座標や、移動不可能な速度、加速度の値、発生不可能な力の値などである。
【0128】
また、演算条件設定部932は、状態取得部931で取得される手術アーム装置100若しくは手術アーム120の傾斜角に応じた重力、コリオリ力、及び遠心力bを、上式(6)に従って設定する。
【0129】
また、演算条件設定部932は、手術アーム120の構造的に実現することが不可能となる各種物理量の制限範囲を拘束条件として設定するようにしてもよい。また、演算条件設定部932は、手術アーム120の構造についての物理モデル(例えば、手術アーム120を構成するリンクの数や長さ、関節部を介したリンクの接続状況、関節部の可動範囲などがモデル化されたもの)を有し、当該物理モデルに、所望の運動条件及び拘束条件が反映された制御モデルを生成することにより、運動条件及び拘束条件を設定してもよい。
【0130】
本実施形態では、運動目的及び拘束条件を適切に設定することにより、手術アーム120に所望の動作を行なわせることが可能となる。例えば、運動目的として、エンドエフェクター110としての撮像部の位置の目標値を設定することにより撮像部をその目標の位置に移動させることはもちろんのこと、手術・アーム120が空間上の所定の領域内に侵入しない(例えば、患者の体腔を侵襲しない)ようにするなどの拘束条件によって移動の制約を設けて手術アーム120を駆動させることも可能である。
【0131】
運動目的の具体例として、エンドエフェクター110としての撮像部の撮影方向が施術部位に固定された状態で、撮像部が特定の施術部位を頂点とした円錐の面内を、当該円錐の軸を旋回軸として旋回するピボット動作を挙げることができる。ピボット動作では、例えば、撮像部と円錐の頂点に相当する点との距離が一定に保たれた状態で旋回動作が行なわれる。このような撮像部のピボット動作を行なうことにより、観察部位を等距離から且つ異なる角度から観察することができるので、施術者の利便性を向上させることができる。
【0132】
また、他の具体例として、手術アーム120を構成する各関節部における発生トルクを制御する運動目的であってもよい。具体的には、アーム部120に作用する重力を打ち消すように関節部130の状態を制御し、さらに外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部の状態を制御するパワー・アシスト動作を運動目的とすることもできる。パワー・アシスト動作においては、手術アーム120を構成する各関節部における重力による外トルクを打ち消す発生トルクを生じさせるように各関節部の駆動が制御されることにより、手術アーム120の位置及び姿勢が所定の状態で保持される。この状態でさらに外部から(例えばユーザーから)外トルクが加えられた場合に、与えられた外トルクと同じ方向の発生トルクを生じさせるように各関節部の駆動が制御される。このようなパワー・アシスト動作を行なうことにより、ユーザーが手動で手術アーム120を動かす場合に、ユーザーはより小さい力で手術アーム120を移動させることができ、あたかも無重力下で手術アーム120を動かしているような感覚をユーザーに対して与えることができる。また、上述したピボット動作とパワー・アシスト動作とを組み合わせることも可能である。
【0133】
本実施形態における運動目的は、瞬時的な運動目的(例えばある時間における手術アーム120の各構成部材の位置や速度、力などの目標値)と、瞬時的な運動目的が連続的に達成された結果として経時的に実現される手術アーム120の各構成部材の動作の双方を含む概念である。例えば、上記のピボット動作において、撮像部がピボット動作を行なうこと自体が運動目的であるが、ピボット動作の最中において円錐面内での撮像部の位置や速度などの値が瞬時的な運動目的(当該運動目的における目標値)として設定されている。また、上記のパワー・アシスト動作において、外部から加えられた力の方向への手術アーム120の移動をサポートするパワー・アシスト動作を行なうこと自体が運動目的であるが、パワー・アシスト動作の最中において各関節部に加えられる外トルクと同じ方向への発生トルクの値が瞬時的な運動目的(当該運動目的における目標値)として設定されている。全身協調制御部240における全身協調制御のための演算における各ステップでは瞬時的な運動目的がその都度設定され、当該演算が繰り返し行なわれることにより、最終的に所望の運動目的が達成される。
【0134】
なお、演算条件設定部932において運動目的を設定する際に、各関節部の回転運動における粘性抵抗係数も併せて適宜設定するようにしてもよい(但し、関節駆動用のアクチュエータが回転運動における粘性抵抗係数を調整できるように構成されている場合)。例えば、設定する運動目的に応じて、各関節部を、外部から加えられる力に対して回転し易い状態や逆に回転し難い状態に設定することができる。具体的には、上述したパワー・アシスト動作において、各関節部における粘性抵抗係数を小さく設定することにより、ユーザーはより小さな力で手術アーム120を移動させることができ、ユーザーに対して無重力感を与えることができる。
【0135】
また、演算条件設定部932は、状態取得部931が取得する手術アーム120の状態に基づいて運動目的を設定するようにしてもよい。例えば、ユーザーが手動で手術アーム120を移動させようとする場合の、手術アーム120の位置情報や手術アーム120に作用する力の情報を状態取得部931で取得し、演算条件設定部932は、ユーザーが手術アーム120を移動させた位置や速度、力などを瞬間的な運動目的として設定することができる。このような運動目的の設定方法によれば、ユーザーによる手術アーム120の移動を追随し、サポートするように手術アーム120の駆動を制御することができる。
【0136】
また、演算条件設定部932は、入力部950を介したユーザーからの指示に従って運動目的や拘束条件を設定するようにしてもよい。例えば、入力部950として装備されるレバーやペダルなどの操作デバイスに対してユーザーが行なった操作に応じて、演算条件設定部932は、手術アーム120の各構成部材の位置や速度などの瞬間的な運動目的を設定するようにしてもよい。
【0137】
また、記憶部960に運動目的並びに拘束条件などの演算条件が記憶されている場合には、演算条件設定部932は、記憶部960から読み出した演算条件を設定することができる。例えば、エンドエフェクター110としての撮像部が空間上の所定の位置で静止するという運動目的であれば、その所定の位置の座標を運動目的として記憶部960にあらかじめ記憶しておくことができる。また、例えば、撮像部が空間上で所定の軌跡上を移動するという運動目的であれば、その軌道を補間できる複数の点の座標を運動目的として記憶部960にあらかじめ記憶しておくことができる。また、撮像部のピボット動作(前述)が運動目的であれば、撮像部が旋回する円錐の面内における位置や速度などの目標値を記憶部960にあらかじめ記憶しておくことができる。また、パワー・アシスト動作が運動目的であれば、力の目標値を記憶部960にあらかじめ記憶しておくことができる。なお、記憶部960に記憶されている拘束条件の中に運動目的の優先度を設定することも可能である。複数の互いに異なる運動目的が存在する場合には、演算条件設定部932は、該当する拘束条件の優先度に応じて運動目的を設定するようにしてもよい。
【0138】
ここまで、演算条件設定部932において、運動目的や拘束条件などの一般化逆動力学演算に用いる演算条件を設定する方法について例示してきたが、いずれの方法を用いるかは、手術アーム装置100の用途などに応じてユーザーが適宜選択するようにしてもよい。もちろん、上記で例示した複数の方法を組み合わせて、演算条件設定部932において演算条件を設定するようにすることもできる。演算条件設定部932は、状態取得部931から受け取った手術アーム装置100の状態と、自ら設定した運動条件および拘束条件を、仮想力推定部933に送信する。
【0139】
仮想力推定部933は、上述した仮想力算出処理に従って一般化逆動力学を用いた演算を実施して、全身協調制御に関する仮想力fvを算出する。仮想力推定部993は、算出した仮想力fvを実在力算出部934に送信する。
【0140】
実在力算出部934は、上述した実在力算出処理に従って、仮想力による一般化力τv(=Jv
Tfv)を関節部に生じる発生トルクτaと外力feとで実現するための条件を2次計画問題として解くことによって、実在力τaを算出する。実在力算出部934は、算出した実在力τaを、トルク指令値として理想関節制御部940に送信する。
【0141】
上式(5)に示した操作空間(例えば、多リンク構造体の関節空間)のバイアス加速度cは、重力、コリオリ力、及び遠心力に相当するb項を含む。手術アーム装置100が可動式の手術台に取り付けられている場合、ローカル座標系上のZ軸方向が手術台300(又は、その患者支持面)の傾斜に伴って変化するため、手術アーム120に作用する重力がローカル座標系上のZ方向と一致するとは限らなくなる。上述したように、本実施形態では、重力gとコリオリ力及び遠心力vを、上式(6)に示したように、(傾斜検出部911で検出される手術アーム装置100の傾斜角に相当する)関節角又は関節角速度の関数として扱うようにした。これによって、仮想力推定部933は、傾斜検出部911で取得した手術アーム装置100本体の現在の傾斜角度に応じて正しい重力方向に作用する重力項を含む操作空間バイアス加速度cで構成される運動方程式を用いた一般化逆動力学に基づく演算によって、正しい重力方向で重力補償が施された仮想力を推定することができる。ひいては、実在力算出部934は、正しい重力方向で重力補償が施された実在力を算出して、理想関節制御部940に渡すことができる。
【0142】
理想関節制御部940は、関節部912に対する力制御を実施する際に、関節部912を駆動するアクチュエータの摩擦や慣性などのモデル化や同定が困難となるダイナミクスのパラメータに起因する外乱の影響を回避して、理論モデル通りの応答を行なうようにアクチュエータの応答を修正するための機能モジュールである。理想関節制御部940は、外乱推定部941と、指令値算出部942を備えている。
【0143】
外乱推定部941は、関節状態検出部912-2(アクチュエータ700の減速機702の出力軸に取り付けられたエンコーダ703)によって検出された回転角度qから算出される回転角速度に基づいて、関節トルクに作用するトルクを推定し、この推定トルクとトルク指令値τとの差分から、外乱トルクτdを推定する。
【0144】
指令値算出部942は、外乱推定部941によって推定された外乱トルクτdを用いて、関節部912に生じさせるトルク指令値τを算出する。具体的には、指令値算出部942は、上式(15)で表される関節部912の理想応答モデルから算出されるトルク目標値τrefに、外乱トルクτdを加算して、トルク指令値τを算出する。そして、指令値算出部942は、算出したトルク指令値τを、駆動制御部913に送信する。駆動制御部913は、トルク指令値τに従って、関節部912における回転角度及び発生トルクを制御する。
【0145】
以上説明してきたように、制御システム900は、手術アーム装置100側の関節状態と、運動目的及び拘束条件とに基づいて、手術アーム120の全身協調制御と、関節部912の理想関節制御に関する各種演算を実行して、演算結果として得られるトルク指令値τを手術アーム装置100に送信する。一方、手術アーム装置100は、受信したトルク指令値τに従って手術アーム120を構成する関節部912の駆動を制御するとともに、駆動中及び駆動後の関節部912の関節状態を検出して制御システム900に送信する。手術アーム装置100が駆動中は、制御システム900と手術アーム装置100間のこのようなやりとりが継続的に繰り返し行なわれる。
【産業上の利用可能性】
【0146】
以上、特定の実施形態を参照しながら、本明細書で開示する技術について詳細に説明してきた。しかしながら、本明細書で開示する技術の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【0147】
本明細書では、本明細書で開示する技術を主に手術アーム装置に適用した実施形態を中心に説明してきたが、本明細書で開示する技術の要旨はこれに限定されるものではなく、手術以外の医療用途、あるいは医療以外のさまざまな分野で利用される力制御型のアーム装置にも同様に適用することができる。
【0148】
要するに、例示という形態により本明細書で開示する技術について説明してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本明細書で開示する技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0149】
なお、本明細書の開示の技術は、以下のような構成をとることも可能である。
(1)手術アーム装置を制御する制御システムであって、
前記手術アーム装置の傾斜情報を取得する傾斜情報取得部と、
前記傾斜情報に応じた重力補償を含む演算条件を設定する設定部と、
前記演算条件に従って、前記手術アーム装置に対する指令値を算出する演算部と、
を具備する制御システム。
(2)前記傾斜情報取得部は、前記手術アーム装置が取り付けられた手術台の傾きに起因する傾斜情報を取得する、
上記(1)に記載の制御システム。
(3)前記傾斜情報は角度情報である、
上記(2)に記載の制御システム。
(4)前記傾斜情報取得部は、前記手術台の患者支持面の傾斜角に関する情報を取得する、
上記(2)に記載の制御システム。
(5)前記手術アーム装置は、複数のリンクが関節部により連結して構成される多リンク構造体からなり、
前記演算条件設定部は、一般化逆動力学において、前記多リンク構造体に作用する力と前記多リンク構造体の加速度との慣性を記述する操作空間上での、前記多リンク構造体の運動目的及び拘束条件を設定し、
前記演算部は、前記運動目的を表す前記操作空間加速度を実現するために前記操作空間に作用する仮想力を、前記傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む前記操作空間に関する運動方程式に基づいて算出するとともに、前記拘束条件を考慮して前記仮想力を実在力に変換し、前記実在力に基づいて前記関節部を駆動するためのトルク指令値を算出する、
上記(1)乃至(4)のいずれかに記載の制御システム。
(6)前記演算部は、前記関節部が理論応答モデルから逸脱しないように、前記実在力に対して修正をさらに加える、
上記(4)に記載の制御システム。
(7)前記演算部は、前記実在力と前記関節部に作用する外トルクに応じて前記理論応答モデルに基づいて算出されるトルク目標値を、前記関節部の外乱トルクを用いて修正して、トルク指令値を算出する、
上記(6)に記載の制御システム。
(8)前記演算部は、前記関節部の角速度から前記関節部に作用したトルクを推定し、前記推定したトルクとトルク指令値との差分に基づいて前記外乱トルクを推定する、
上記(7)に記載の制御システム。
(9)手術アーム装置を制御する制御方法であって、
前記手術アーム装置の傾斜情報を取得する傾斜情報取得ステップと、
前記傾斜情報に応じた重力補償を含む演算条件を設定する設定ステップと、
前記演算条件に従って、前記手術アーム装置に対する指令値を算出する演算ステップと、
を有する制御方法。
(10)複数のリンクが関節部により連結して構成される多リンク構造体と、
前記多リンク構造体の傾斜情報を取得する傾斜情報取得部と、
前記関節部の状態を検出する関節状態検出部と、
前記傾斜情報と前記関節部の状態に応じて算出される指令値に従って前記関節部の駆動を制御する駆動制御部と、
を具備する手術アームシステム。
(11)前記傾斜情報取得部は、前記手術アーム装置が取り付けられた手術台の傾きに起因する傾斜情報を取得する、
上記(10)に記載の手術アームシステム。
(12)前記傾斜情報は角度情報である、
上記(11)に記載の手術アームシステム。
(13)前記傾斜情報取得部は、前記手術台の患者支持面の傾斜角に関する情報を取得する、
上記(11)に記載の手術アームシステム。
(14)前記駆動制御部は、一般化逆動力学において、前記多リンク構造体に作用する力と前記多リンク構造体の加速度との慣性を記述する操作空間上で、前記多リンク構造体の運動目的を表す操作空間加速度を実現するために、前記傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む前記操作空間に関する運動方程式に基づいて算出された前記操作空間に作用する仮想力を変換した実在力に基づくトルク指令値に従って、前記関節部を駆動する、
上記(10)乃至(13)のいずれかに記載の手術アームシステム。
(15)前記駆動制御部は、前記関節部が理論応答モデルから逸脱しないように修正が加えられた実在力に基づくトルク指令値に従って、前記関節部を駆動する、
上記(14)に記載の手術アームシステム。
(16)前記実在力と前記関節部に作用する外トルクに応じて前記理論応答モデルに基づいて算出されるトルク目標値を、前記関節部に作用した推定トルクとトルク指令値との差分に基づく外乱トルクを用いて修正したトルク指令値に従って、前記関節部を駆動する、
上記(15)に記載の手術アームシステム。
【符号の説明】
【0150】
100…手術アーム装置
110…エンドエフェクター、111…手首関節
120…手術アーム
200…台車、300…手術台
600…制御システム
601…状態取得部、602…演算条件設定部
603…力演算部、604…指令値変換部
611…傾斜検出部、612…関節部
612-1…関節状態検出部、612-2、関節駆動部
613…駆動制御部
700…アクチュエータ、701…モータ、702…減速機
703…エンコーダ、704…トルク・センサ
801…演算器(理想応答モデル)、802…演算器(トルク算出)
803…関節(伝達関数1/Jn)、804…演算器(微分演算)
810…外乱オブザーバ、811…演算器(作用トルク推定)
812…演算器(ローパス・フィルター)
900…制御システム
911…傾斜検出部、912…関節部、
912-1…関節状態検出部、912-2…関節駆動部
913…駆動制御部
920…表示装置
930…全身協調制御部
931…状態取得部、932…演算条件設定部
933…仮想力推定部、934…実在力算出部
940…理想関節制御部
941…外乱推定部、942…指令値算出部
950…入力部、960…記憶部
【手続補正書】
【提出日】2022-02-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
アーム装置を制御する制御システムであって、
前記アーム装置が取り付けられた台車の傾きに起因する前記アーム装置の傾斜情報を取得する傾斜情報取得部と、
前記傾斜情報に応じた重力補償を含む力制御方式の演算条件を設定する設定部と、
前記演算条件に従って、前記アーム装置に対する指令値を算出する演算部と、
を具備する制御システム。
【請求項2】
前記傾斜情報は角度情報である、
請求項1に記載の制御システム。
【請求項3】
前記傾斜情報取得部は、前記台車の支持面の傾斜角に関する情報を取得する、
請求項1に記載の制御システム。
【請求項4】
前記アーム装置は、複数のリンクが関節部により連結して構成される多リンク構造体からなり、
前記演算条件設定部は、一般化逆動力学において、前記多リンク構造体に作用する力と前記多リンク構造体の加速度との慣性を記述する操作空間上での、前記多リンク構造体の運動目的及び拘束条件を設定し、
前記演算部は、前記運動目的を表す前記操作空間加速度を実現するために前記操作空間に作用する仮想力を、前記傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む前記操作空間に関する運動方程式に基づいて算出するとともに、前記拘束条件を考慮して前記仮想力を実在力に変換し、前記実在力に基づいて前記関節部を駆動するためのトルク指令値を算出する、
請求項1に記載の制御システム。
【請求項5】
前記演算部は、前記関節部が理論応答モデルから逸脱しないように、前記実在力に対して修正をさらに加える、
請求項4に記載の制御システム。
【請求項6】
前記演算部は、前記実在力と前記関節部に作用する外トルクに応じて前記理論応答モデルに基づいて算出されるトルク目標値を、前記関節部の外乱トルクを用いて修正して、トルク指令値を算出する、
請求項4に記載の制御システム。
【請求項7】
前記演算部は、前記関節部の角速度から前記関節部に作用したトルクを推定し、前記推定したトルクとトルク指令値との差分に基づいて前記外乱トルクを推定する、
請求項6に記載の制御システム。
【請求項8】
制御システムがアーム装置を制御する制御方法であって、
前記制御システムの傾斜情報取得部が、アーム装置が取り付けられた台車の傾きに起因する前記アーム装置の傾斜情報を取得する傾斜情報取得ステップと、
前記制御システムの設定部が、前記傾斜情報に応じた重力補償を含む力制御方式の演算条件を設定する設定ステップと、
前記制御システムの演算部が、前記演算条件に従って、前記アーム装置に対する指令値を算出する演算ステップと、
を有する制御方法。
【請求項9】
複数のリンクが関節部により連結して構成される多リンク構造体からなるアームと、
前記アーム装置が取り付けられた台車の傾きに起因する前記多リンク構造体の傾斜情報を取得する傾斜情報取得部と、
前記関節部の状態を検出する関節状態検出部と、
前記傾斜情報に応じた重力補償を含む力制御方式の演算条件と前記関節部の状態に応じて算出される指令値に従って前記関節部の駆動を制御する駆動制御部と、
を具備するアームシステム。
【請求項10】
前記傾斜情報は角度情報である、
請求項9に記載のアームシステム。
【請求項11】
前記傾斜情報取得部は、前記台車の支持面の傾斜角に関する情報を取得する、
請求項9に記載のアームシステム。
【請求項12】
前記駆動制御部は、一般化逆動力学において、前記多リンク構造体に作用する力と前記多リンク構造体の加速度との慣性を記述する操作空間上で、前記多リンク構造体の運動目的を表す操作空間加速度を実現するために、前記傾斜情報に応じた重力補償を考慮した操作空間バイアス加速度の項を含む前記操作空間に関する運動方程式に基づいて算出された前記操作空間に作用する仮想力を変換した実在力に基づくトルク指令値に従って、前記関節部を駆動する、
請求項9に記載のアームシステム。
【請求項13】
前記駆動制御部は、前記関節部が理論応答モデルから逸脱しないように修正が加えられた実在力に基づくトルク指令値に従って、前記関節部を駆動する、
請求項12に記載のアームシステム。
【請求項14】
前記実在力と前記関節部に作用する外トルクに応じて前記理論応答モデルに基づいて算出されるトルク目標値を、前記関節部に作用した推定トルクとトルク指令値との差分に基づく外乱トルクを用いて修正したトルク指令値に従って、前記関節部を駆動する、
請求項13に記載のアームシステム。