JP2017177255A - 制御装置及び制御方法 - Google Patents

制御装置及び制御方法 Download PDF

Info

Publication number
JP2017177255A
JP2017177255A JP2016065153A JP2016065153A JP2017177255A JP 2017177255 A JP2017177255 A JP 2017177255A JP 2016065153 A JP2016065153 A JP 2016065153A JP 2016065153 A JP2016065153 A JP 2016065153A JP 2017177255 A JP2017177255 A JP 2017177255A
Authority
JP
Japan
Prior art keywords
value
unit
torque
encoder
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016065153A
Other languages
English (en)
Inventor
栄良 笠井
Shigeyoshi Kasai
栄良 笠井
長尾 大輔
Daisuke Nagao
大輔 長尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2016065153A priority Critical patent/JP2017177255A/ja
Priority to US16/086,952 priority patent/US11305422B2/en
Priority to PCT/JP2017/003691 priority patent/WO2017169082A1/ja
Publication of JP2017177255A publication Critical patent/JP2017177255A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R1/00Details of instruments or arrangements of the types included in groups G01R5/00 - G01R13/00 and G01R31/00
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/12Observer control, e.g. using Luenberger observers or Kalman filters
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • H02P29/0241Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the fault being an overvoltage
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/34Modelling or simulation for control purposes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • A61B2090/064Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension
    • A61B2090/066Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension for measuring torque
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/30Devices for illuminating a surgical field, the devices having an interrelation with other surgical devices or with a surgical procedure
    • A61B2090/309Devices for illuminating a surgical field, the devices having an interrelation with other surgical devices or with a surgical procedure using white LEDs
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/37Surgical systems with images on a monitor during operation
    • A61B2090/371Surgical systems with images on a monitor during operation with simultaneous use of two cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39188Torque compensation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40148Predict locally machining forces from model to control remote machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Abstract

【課題】外力を受けた場合であっても、センサ値を精度良く予測する。
【解決手段】本開示に係る制御装置は、駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測する予測部と、前記予測部が予測した値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行う故障判定部と、を備える。
【選択図】図7

Description

本開示は、制御装置及び制御方法に関する。
従来、例えば下記の特許文献1には、ロボットの制御装置に関し、動力学シミュレーションを利用して全関節の動作を予測することを想定した技術が記載されている。
特開2006−116635号公報
しかし、上記特許文献に記載された技術は、外力を受けた場合など、外界との相互作用があった場合には関節の動作を示すセンサ値の予測ができなくなる問題がある。
そこで、外力を受けた場合であっても、センサ値を精度良く予測することが求められていた。
本開示によれば、駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測する予測部と、前記予測部が予測した値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行う故障判定部と、を備える、制御装置が提供される。
前記予測部は、前記アクチュエータが前記駆動軸に発生させるトルク、外力により前記駆動軸に発生するトルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記エンコーダの検出値又は前記トルクセンサの検出値を予測するものであっても良い。
また、前記故障判定部は、前記予測部が予測した値と、前記トルクセンサ又は前記エンコーダの実測値との差分が所定のしきい値以上の場合に前記故障判定を行うものであっても良い。
また、本開示によれば、駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測することと、前記予測した値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行うことと、を備える、制御方法が提供される。
以上説明したように本開示によれば、外力を受けた場合であっても、センサ値を精度良く予測することが可能となる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係る支持アーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。 本開示の一実施形態に係る支持アーム装置の外観を示す概略図である。 本開示の一実施形態に係る関節部のアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。 図3に示すトルクセンサを、駆動軸の軸方向から見た様子を模式的に示す概略図である。 図3に示すアクチュエータに適用されるトルクセンサの他の構成例を示す概略図である。 本開示の一実施形態に係る理想関節制御について説明するための説明図である。 本開示の一実施形態に係る支持アーム制御システムの一構成例を示す機能ブロック図である。 センサ値の推定と故障判定のための構成を示す模式図である。 エンコーダ予測値算出部とその周辺を示す模式図である。 トルクセンサ値からエンコーダ値を推定して故障判定を行う処理を示すフローチャートである。 トルクセンサ推定値算出部とその周辺を示す模式図である。 トルクセンサ値を推定して故障判定を行う処理を示すフローチャートである。 本実施形態の故障判定の特徴を説明するための模式図である。 本開示に係る技術が適用され得る内視鏡手術システム5000の概略的な構成の一例を示す図である。 本開示の一実施形態に係る支持アーム装置10及び制御装置20のハードウェア構成の一構成例を示す機能ブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.医療用支持アーム装置についての検討
2.本開示の一実施形態
2−1.支持アーム装置の外観
2−2.一般化逆動力学について
2−2−1.仮想力算出処理
2−2−1.実在力算出処理
2−3.理想関節制御について
2−4.支持アーム制御システムの構成
2−5.センサ値の推定と故障判定について
3.応用例
4.本実施形態の故障判定の特徴
5.ハードウェア構成
6.まとめ
<1.医療用支持アーム装置についての検討>
まず、本開示をより明確なものとするために、本発明者らが本開示に想到するに至った背景について説明する。
図1を参照して、本開示の一実施形態に係る支持アーム装置が医療用に用いられる場合の一適用例について説明する。図1は、本開示の一実施形態に係る支持アーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。
図1は、本実施形態に係る支持アーム装置を用いた施術の様子を模式的に表している。具体的には、図1を参照すると、施術者(ユーザ)520である医師が、例えばメス、鑷子、鉗子等の手術用の器具521を使用して、施術台530上の施術対象(患者)540に対して手術を行っている様子が図示されている。なお、以下の説明においては、施術とは、手術や検査等、ユーザ520である医師が施術対象540である患者に対して行う各種の医療的な処置の総称であるとする。また、図1に示す例では、施術の一例として手術の様子を図示しているが、支持アーム装置510が用いられる施術は手術に限定されず、他の各種の施術、例えば内視鏡を用いた検査等であってもよい。
施術台530の脇には本実施形態に係る支持アーム装置510が設けられる。支持アーム装置510は、基台であるベース部511と、ベース部511から延伸するアーム部512を備える。アーム部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の先端には先端ユニットとして各種の医療用器具が接続される。図1に示す例では、先端ユニットの一例としてアーム部512の先端に撮像ユニット515が設けられている。撮像ユニット515は、撮影対象の画像(撮影画像)を取得するユニットであり、例えば動画や静止画を撮影できるカメラ等である。図1に示すように、アーム部512の先端に設けられた撮像ユニット515が施術対象540の施術部位の様子を撮影するように、支持アーム装置510によってアーム部512及び撮像ユニット515の姿勢や位置が制御される。なお、アーム部512の先端に設けられる先端ユニットは撮像ユニット515に限定されず、各種の医療用器具であってよい。当該医療用器具としては、例えば、内視鏡や顕微鏡、上述した撮像ユニット515等の撮像機能を有するユニットや、各種の施術器具、検査装置等、施術に際して用いられる各種のユニットが挙げられる。このように、本実施形態に係る支持アーム装置510は、医療用器具を備えた医療用支持アーム装置であると言える。また、アーム部512の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3次元画像(3D画像)として表示するように撮影が行われてもよい。なお、先端ユニットとして、施術部位を撮影するための撮像ユニット515や当該ステレオカメラ等のカメラユニットが設けられる支持アーム装置510のことをVM(Video Microscope)支持アーム装置とも呼称する。
また、ユーザ520と対向する位置には、モニタやディスプレイ等の表示装置550が設置される。撮像ユニット515によって撮影された施術部位の撮影画像は、表示装置550の表示画面に表示される。ユーザ520は、表示装置550の表示画面に表示される施術部位の撮影画像を見ながら各種の処置を行う。
このように、本実施形態においては、医療分野において、支持アーム装置510によって施術部位の撮影を行いながら手術を行うことが提案される。ここで、手術を含む各種の施術においては、より施術を効率的に行うことにより、ユーザ520及び患者540の疲労や負担を軽減することが求められる。このような要求を満たすために、支持アーム装置510には、例えば以下のような性能が求められると考えられる。
まず、1点目として、支持アーム装置510には、手術における作業空間を確保することが求められる。ユーザ520が施術対象540に対して各種の処置を行っている最中に、アーム部512や撮像ユニット515が施術者の視界を妨げたり、処置を行う手の動きを妨げたりすると、手術の効率の低下につながる。また、図1では図示していないが、実際の手術現場では、ユーザ520に器具を渡したり、患者540の各種のバイタルサインを確認したりといった、様々なサポート作業を行う複数の他の医師や看護師等がユーザ520及び患者540の周囲にいることが一般的であり、また、当該サポート作業を行うための他の装置等が存在するため、手術環境は煩雑である。従って、支持アーム装置510は、より小型であることが望ましい。
次いで、2点目として、支持アーム装置510には、撮像ユニット515を移動させる際の高い操作性が求められる。例えば、手術を行う部位や手術の内容によっては、ユーザ520には、施術部位に対して処置を行っている最中に、同じ施術部位を様々な位置、角度から観察したいという要求がある。施術部位を観察する角度を変えるには、撮像ユニット515の施術部位に対する角度を変更する必要があるが、その際、撮像ユニット515の撮影方向は施術部位に固定されたまま(すなわち、同一の部位を撮影したまま)、撮影する角度だけが変化することがより望ましい。従って、例えば、撮像ユニット515の撮影方向が施術部位に固定された状態で、撮像ユニット515が施術部位を頂点とした円錐の面内を移動する、当該円錐の軸を旋回軸とした旋回動作(ピボット動作)のような、より自由度の高い操作性が支持アーム装置510に求められていた。なお、撮像ユニット515の撮影方向が所定の施術部位に固定されることから、ピボット動作はポイントロック動作とも呼ばれる。
また、撮像ユニット515の位置及び角度を変化させるためには、例えばユーザ520が手動でアーム部512を動かすことによって、撮像ユニット515を所望の位置及び角度に動かす方法が考えられる。従って、撮像ユニット515の移動や上述したピボット動作等が、例えば片手でも容易に行える操作性があることが望ましい。
また、手術時には、例えばユーザ520が両手で処置を行いながら、撮像ユニット515によって撮影される撮影画像の撮影中心を、処置を行っている部位から別の部位(例えば次の処置を行う部位)に移動させたいという要求も考えられる。従って、撮像ユニット515の位置及び姿勢を変化させる際に、上述したような手動によってアーム部512の駆動を制御する方法だけではなく、例えばペダル等の入力部からの操作入力によってアーム部512の駆動を制御する方法のような、多様なアーム部512の駆動方法が求められる。
このように、2点目の性能として、支持アーム装置510には、例えば上述したピボット動作や手動による容易な移動を実現する、よりユーザ520の直感や要望に合った高い操作性が求められる。
最後に、3点目として、支持アーム装置510には、アーム部512の駆動制御における安定性が求められる。アーム部512の駆動制御に対する安定性とは、アーム部512を駆動した際の先端ユニットの位置及び姿勢の安定性のことであってよい。また、アーム部512の駆動制御に対する安定性には、アーム部512を駆動した際の先端ユニットのスムーズな移動や振動の抑制(制振)も含まれる。例えば、図1に示す例のように先端ユニットが撮像ユニット515である場合に、もしも撮像ユニット515の位置や姿勢が安定しないと、表示装置550の表示画面に表示される撮影画像が安定せず、ユーザに不快感を与えかねない。特に、支持アーム装置510が手術に用いられる際には、先端ユニットとして2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、当該ステレオカメラによる撮影画像に基づいて生成される3次元画像(3D画像)が表示装置550に表示される使用方法が想定され得る。このように3D画像が表示される場合に、当該ステレオカメラの位置や姿勢が不安定であると、ユーザのいわゆる3D酔いを誘発する可能性がある。また、手術を行う部位や手術の内容によっては、撮像ユニット515によって撮影される観察範囲はφ15mm程度にまで拡大されることがある。このように撮像ユニット515が狭い範囲を拡大して撮影している場合には、撮像ユニット515の僅かな振動が撮像画像の大きな揺れやブレとなって表れる。従って、アーム部512及び撮像ユニット515の駆動制御には、許容範囲1mm程度の高い位置決め精度が要求される。このように、アーム部512の駆動制御においては、高精度の応答性と高い位置決め精度が求められる。
本発明者らは、上記の3つの性能の観点から、一般的な既存のバランス型アームや位置制御による支持アーム装置について検討を行った。
まず、1点目の手術の作業空間の確保に関しては、一般的なバランス型アームでは、通常、アーム部を移動させた際の力の均衡を取るためのカウンターバランス用ウェイト(カウンターウェイト又はバランサーとも呼称する。)がベース部の内部等に設けられるため、バランス型アームの装置の大きさを小型化することが難しく、当該性能を満たしているとは言い難い。
また、2点目の高い操作性に関しては、一般的なバランス型アームでは、アーム部の駆動の一部のみ、例えば撮像ユニットを平面上(2次元上)で移動させるための2軸の駆動のみが電動駆動となっており、アーム部及び撮像ユニットの移動には手動による位置決めが必要となるため、高い操作性が実現できるとは言い難い。また、一般的な位置制御による支持アーム装置において、アーム部の駆動の制御、すなわち撮像ユニットの位置及び姿勢の制御に用いられる位置制御は、外力に柔軟に応じることが困難であるため、俗に「硬い制御」と呼ばれることがあり、要求されているようなユーザの直感に合った操作性を実現するには適していない。
また、3点目のアーム部の駆動制御における安定性に関しては、一般的に、アーム部の関節部には、摩擦や慣性等のモデル化することが困難な因子が存在する。一般的なバランス型アームや位置制御による支持アーム装置においては、関節部の駆動制御においてこれらの因子が外乱となって表れてしまうことにより、理論上適切な制御値(例えば関節部のモータに印加する電流値)を与えた場合であっても所望の駆動(例えば関節部のモータにおける所望の角度の回転)が実現しないことがあり、要求されているようなアーム部の駆動制御における高い安定性を実現することは困難である。
以上説明したように、本発明者らは、医療用に用いられる支持アーム装置について検討した結果、支持アーム装置に関して、上述したような3点の性能に対する要求が存在するとの知見を得た。しかしながら、一般的な既存のバランス型アームや位置制御による支持アーム装置では、これらの性能を満たすことは困難であると考えられる。本発明者らは、上述した3点の性能を満たす構成について検討した結果、本開示に係る支持アーム装置、支持アーム制御システム、支持アーム制御方法及びプログラムに想到した。以下では、本発明者らが想到した構成における好ましい実施形態について詳細に説明する。
<2.本開示の一実施形態>
以下では、本開示の一実施形態に係る支持アーム制御システムについて説明する。本実施形態に係る支持アーム制御システムにおいては、支持アーム装置に設けられる複数の関節部の駆動を、一般化逆動力学を用いた全身協調制御により制御する。更に、外乱の影響を補正することにより指令値に対する理想的な応答を実現する理想関節制御を当該関節部の駆動制御に適用する。
以下の本実施形態の説明では、まず、[2−1.支持アーム装置の外観]で、本実施形態に係る支持アーム装置の外観を示すとともに、支持アーム装置の概略構成について説明する。次いで、[2−2.一般化逆動力学について]及び[2−3.理想関節制御について]で、本実施形態に係る支持アーム装置の制御に用いられる一般化逆動力学と理想関節制御の概要について説明する。次いで、[2−4.支持アーム制御システムの構成]で、本実施形態に係る支持アーム装置を制御するためのシステムの構成について機能ブロック図を用いて説明する。最後に、[2−5.運動目的の具体例]で、本実施形態に係る支持アーム装置における、一般化逆動力学を用いた全身協調制御の具体例について説明する。
なお、以下の説明では、本開示の一実施形態として、支持アーム装置のアーム部の先端ユニットが撮像ユニットであり、図1に示すように手術時に当該撮像ユニットによって施術部位を撮影する場合について説明するが、本実施形態はかかる例に限定されない。本実施形態に係る支持アーム制御システムは、他の先端ユニットを有する支持アーム装置が他の用途に用いられる場合であっても適用可能である。
[2−1.支持アーム装置の外観]
まず、図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の先端には先端ユニットとして各種の医療用器具が接続されてよい。このように、本実施形態に係る支持アーム装置400は、医療用器具を備えた医療用支持アーム装置であると言える。
ここで、以下では、図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は、下記[2−2.一般化逆動力学について]で後述する全身協調制御及び下記[2−3.理想関節制御について]で後述する理想関節制御によってその駆動が制御される。また、上述したように、本実施形態に係る関節部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を半球の球面上で移動させることにより、施術部位を様々な角度から撮影することができる。
ここで、図3を参照して、図2に示す関節部421a〜421fの構成についてより詳細に説明する。なお、ここでは、図3を参照して、関節部421a〜421fの構成のうち、関節部421a〜421fの回転駆動に主に関係する構成であるアクチュエータの構成について説明する。
図3は、本開示の一実施形態に係る関節部421a〜421fのアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。なお、図3では、関節部421a〜421fの構成のうち、アクチュエータのみを図示しているが、関節部421a〜421fは、他の構成を有してもよい。例えば、関節部421a〜421fは、図3に図示する構成以外にも、アクチュエータの駆動を制御するための制御部や、リンク422a〜422c及び撮像ユニット423を接続、支持するための支持部材等、アーム部420の駆動に必要な各種の構成を有する。なお、ここまでの説明及び以下の説明において、アーム部の関節部の駆動とは、関節部におけるアクチュエータの駆動を意味していてもよい。
なお、上述したように、本実施形態においては、関節部421a〜421fは、下記[2−3.理想関節制御について]で後述する理想関節制御によってその駆動が制御される。従って、図3に示す関節部421a〜421fのアクチュエータは、理想関節制御に対応した駆動を行えるように構成されている。具体的には、関節部421a〜421fのアクチュエータは、当該関節部421a〜421fにおける回転角度及び回転駆動に伴うトルクを調整できるように構成されている。また、関節部421a〜421fのアクチュエータは、回転運動に対する粘性抵抗係数を任意に調整できるように構成されており、例えば外部から加えられる力に対して回転しやすい(すなわち、アーム部420を手動で移動しやすい)状態や回転し難い(すなわち、アーム部420を手動で移動し難い)状態を実現することができる。
図3を参照すると、本実施形態に係る関節部421a〜421fのアクチュエータ430は、モータ424、モータドライバ425、減速機426、エンコーダ427、トルクセンサ428及び駆動軸429を有する。図3に示すように、エンコーダ427、モータ424、減速機426及びトルクセンサ428は、駆動軸429に対して直列にこの順で連結される。
モータ424は、アクチュエータ430における原動機であり、駆動軸429をその軸周りに回転させる。例えば、モータ424は、ブラシレスDCモータ等の電動モータである。本実施形態においては、モータ424は電流を供給されることによってその回転駆動が制御される。
モータドライバ425は、モータ424に電流を供給することによりモータ424を回転駆動させるドライバ回路(ドライバIC(Integrated Circuit))であり、モータ424に供給する電流量を調整することにより、モータ424の回転数を制御することができる。また、モータドライバ425は、モータ424に供給する電流量を調整することにより、上述したようなアクチュエータ430の回転運動に対する粘性抵抗係数を調整することができる。
減速機426は、駆動軸429に接続され、モータ424によって生じた駆動軸429の回転速度を所定の減速比で減速することにより、所定の値を有する回転駆動力(すなわち、トルク)を発生させる。減速機426には、バックラッシレス型の高性能減速機が用いられる。例えば、減速機426は、ハーモニックドライブ(登録商標)であってもよい。減速機426によって生成されたトルクは、減速機426の出力軸に接続されたトルクセンサ428を介して、後段の出力部材(図示せず。例えばリンク422a〜422cや撮像ユニット423等の連結部材)に伝達される。
エンコーダ427は、駆動軸429に接続され、駆動軸429の回転数を検出する。エンコーダによって検出された駆動軸429の回転数と、減速機426の減速比との関係に基づいて、関節部421a〜421fの回転角度、回転角速度及び回転角加速度等の情報を得ることができる。
トルクセンサ428は、減速機426の出力軸に接続され、減速機426によって生成されたトルク、すなわち、アクチュエータ430によって出力されるトルクを検出する。以下の説明では、アクチュエータ430によって出力されるトルクのことを単に発生トルクとも呼称する。
このように、アクチュエータ430においては、モータ424に供給する電流量を調整することにより、モータ424の回転数を調整することがでる。ここで、減速機426における減速比は、支持アーム装置400の用途に応じて適宜設定可能であってよい。従って、減速機426の減速比に応じて、モータ424の回転数を適宜調整することにより、発生トルクを制御することができる。また、アクチュエータ430においては、エンコーダ427によって検出された駆動軸429の回転数に基づいて、関節部421a〜421fの回転角度、回転角速度及び回転角加速度等の情報を得ることができ、トルクセンサ428によって、関節部421a〜421fにおける発生トルクを検出することができる。
また、トルクセンサ428は、アクチュエータ430による発生トルクだけでなく、外部から加えられる外トルクも検出することができる。従って、トルクセンサ428によって検出された外トルクに基づいて、モータドライバ425がモータ424に供給する電流量を調整することにより、上述したような回転運動に対する粘性抵抗係数を調整することができ、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することができる。
ここで、図4A及び図4Bを参照して、トルクセンサ428の構成について詳細に説明する。図4Aは、図3に示すトルクセンサ428を、駆動軸429の軸方向から見た様子を模式的に示す概略図である。
図4Aを参照すると、トルクセンサ428は、外輪部431、内輪部432、梁部433a〜433d及び歪み検出素子434a〜434dを有する。図4Aに示すように、外輪部431及び内輪部432は同心円状に配置される。本実施形態では、内輪部432が入力側、すなわち、減速機426からの出力軸と接続され、外輪部431が出力側、すなわち、後段の出力部材(図示せず。)と接続される。
4本の梁部433a〜433dは、同心円状に配置された外輪部431と内輪部432との間に配設され、外輪部431と内輪部432とを互いに接続する。図4Aに示すように、梁部433a〜433dは、隣り合う梁部433a〜433d同士が互いに90度の角度となるように、外輪部431と内輪部432との間に介設される。
梁部433a〜433dのうち、互いに向かい合う、すなわち、互いに180度の角度で設けられる2本には、歪み検出素子434a〜434dが設けられる。歪み検出素子434a〜434dによって検出された梁部433a〜433dの変形量に基づいて、アクチュエータ430の発生トルク及び外トルクを検出することができる。
図4Aに示す例では、梁部433a〜433dのうち、梁部433aに歪み検出素子434a、434bが、梁部433cに歪み検出素子434c、434dが設けられる。また、歪み検出素子434a、434bは梁部433aを挟むように設けられ、歪み検出素子434c、434dは梁部433cを挟むように設けられる。例えば、歪み検出素子434a〜434dは歪みゲージであり、梁部433a、433cの表面に貼り付けられることにより、梁部433a、433cの幾何的な変形量を電気抵抗の変化に基づいて検出する。図4Aに示すように4ヶ所に歪み検出素子434a〜434dが設けられることにより、検出素子434a〜434dがいわゆるホイートストンブリッジを構成する。従って、いわゆる4ゲージ法を用いて歪みを検出することができるため、歪みを検出する軸以外の他軸の干渉や駆動軸429の偏心、温度ドリフト等の影響を低減することができる。
このように、梁部433a〜433dは、歪みを検出するための起歪体の役割を果たす。なお、本実施形態に係る歪み検出素子434a〜434dの種類は歪みゲージに限定されず、他の素子が用いられてもよい。例えば、歪み検出素子434a〜434dは、磁気特性の変化に基づいて梁部433a〜433dの変形量を検出する素子であってもよい。
また、図3及び図4Aには図示しないが、トルクセンサ428による発生トルク及び外トルクの検出精度を向上させるために、以下に示す構成が適用されてもよい。例えば、梁部433a〜433dの外輪部431と接続する部位を他の部位よりも薄肉化することにより、支持モーメントが解放されるため、検出される変形量の線形性が向上されるとともにラジアル荷重による影響が低減される。また、外輪部431及び内輪部432をともにベアリングを介してハウジングで支持することにより、入力軸及び出力軸の双方からの他軸力、モーメントの作用を排除することができる。また、外輪部431に作用する他軸モーメントを低減するために、図3に示すアクチュエータ430の他端、すなわちエンコーダ427が配設される部位に両持ち支持用ベアリングが配設されてもよい。
以上、図4Aを参照して、トルクセンサ428の構成について説明した。以上説明したように、図4Aに示すトルクセンサ428の構成により、アクチュエータ430の発生トルク及び外トルクの検出において、高精度な検出が可能となる。
ここで、本実施形態においては、トルクセンサ428の構成は図4Aに示す構成に限定されず、他の構成であってもよい。アクチュエータ430に適用されるトルクセンサについて、トルクセンサ428以外の他の構成の一例を、図4Bを参照して説明する。
図4Bは、図3に示すアクチュエータ430に適用されるトルクセンサの他の構成例を示す概略図である。図4Bを参照すると、本変形例に係るトルクセンサ428aは、外輪部441、内輪部442、梁部443a〜443d及び歪み検出素子444a〜444dを有する。なお、図4Bでは、図4Aと同様、トルクセンサ428aを駆動軸429の軸方向から見た様子を模式的に示している。
トルクセンサ428aにおいて、外輪部441、内輪部442、梁部443a〜443d及び歪み検出素子444a〜444dの機能及び構成は、図4Aを参照して説明したトルクセンサ428の外輪部431、内輪部432、梁部433a〜433d及び歪み検出素子434a〜434dの機能及び構成とほぼ同様である。本変形例に係るトルクセンサ428aは、梁部443a〜443dと外輪部441との接続部分の構成が異なる。従って、図4Bに示すトルクセンサ428aについては、図4Aに示すトルクセンサ428との相違点である梁部443a〜443dと外輪部441との接続部位の構成について主に説明を行い、重複する構成については説明を省略する。
図4Bを参照すると、トルクセンサ428aの全体図と併せて、梁部443bと外輪部441との接続部位が拡大して図示されている。なお、図4Bでは、梁部443a〜443dと外輪部441との4ヶ所の接続部位のうちの1ヶ所である梁部443bと外輪部441との接続部位のみを拡大して図示しているが、他の3ヶ所である梁部443a、443c、443dと外輪部441との接続部位も同様の構成を有している。
図4Bにおける拡大図を参照すると、梁部443bと外輪部441との接続部位においては、外輪部441に係合凹部が設けられており、梁部443bの先端が係合凹部に係合されることにより両者が接続される。また、当該梁部443bと外輪部441との間には、間隙G1、G2が設けられる。間隙G1は梁部443bが外輪部441に向かって延伸する方向における両者の間隙を表しており、間隙G2は当該方向とは直交する方向における両者の間隙を表している。
このように、トルクセンサ428aにおいては、梁部443a〜443dと外輪部441とが、所定の間隙G1、G2を有して分離して配設される。すなわち、トルクセンサ428aにおいては、外輪部441と内輪部442とが分離している。従って、内輪部442が外輪部441に対して拘束されず動きの自由度を有するため、例えばアクチュエータ430の駆動に際して振動が生じたとしても、振動による歪み成分を内輪部442と外輪部441との間の空隙G1、G2によって吸収することができる。よって、トルクセンサ428aをアクチュエータ430のトルクセンサとして適用することにより、より高精度な発生トルク及び外トルクの検出が実現される。
なお、図3、図4A及び図4Bに示すような、理想関節制御に対応するアクチュエータ430の構成については、例えば、本願出願人による先行特許出願である特開2009−269102号公報や特開2011−209099号公報を参照することができる。
以上、図2、図3、図4A及び図4Bを参照して、本実施形態に係る支持アーム装置400の概略構成について説明した。次に、本実施形態に係る支持アーム装置400におけるアーム部420の駆動、すなわち、関節部421a〜421fの駆動を制御するための全身協調制御及び理想関節制御について説明する。
[2−2.一般化逆動力学について]
次に、本実施形態における支持アーム装置400の全身協調制御に用いられる一般化逆動力学の概要について説明する。
一般化逆動力学は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体(例えば本実施形態においては図2に示すアーム部420)において、各種の操作空間(Operation Space)における様々な次元に関する運動目的を、各種の拘束条件を考慮しながら、複数の当該関節部に生じさせるトルクに変換する、多リンク構造体の全身協調制御における基本演算である。
操作空間は、ロボット装置の力制御における重要な概念である。操作空間は、多リンク構造体に作用する力と多リンク構造体の加速度との関係を記述するための空間である。多リンク構造体の駆動制御を位置制御ではなく力制御によって行う際に、多リンク構造体と環境との接し方を拘束条件として用いる場合に操作空間という概念が必要となる。操作空間は、例えば、多リンク構造体が属する空間である、関節空間、デカルト空間、運動量空間等である。
運動目的は、多リンク構造体の駆動制御における目標値を表すものであり、例えば、駆動制御によって達成したい多リンク構造体の位置、速度、加速度、力、インピーダンス等の目標値である。
拘束条件は、多リンク構造体の形状や構造、多リンク構造体の周囲の環境及びユーザによる設定等によって定められる、多リンク構造体の位置、速度、加速度、力等に関する拘束条件である。例えば、拘束条件には、発生力、優先度、非駆動関節の有無、垂直反力、摩擦錘、支持多角形等についての情報が含まれる。
一般化動力学においては、数値計算上の安定性と実時間処理可能な演算効率とを両立するため、その演算アルゴリズムは、第1段階である仮想力決定プロセス(仮想力算出処理)と、第2段階である実在力変換プロセス(実在力算出処理)によって構成される。第1段階である仮想力算出処理では、各運動目的の達成に必要な、操作空間に作用する仮想的な力である仮想力を、運動目的の優先度と仮想力の最大値を考慮しながら決定する。第2段階である実在力算出処理では、非駆動関節、垂直反力、摩擦錘、支持多角形等に関する拘束を考慮しながら、上記で得られた仮想力を関節力、外力等の実際の多リンク構造体の構成で実現可能な実在力に変換する。以下、仮想力算出処理及び実在力算出処理について詳しく説明する。なお、以下の仮想力算出処理、実在力算出処理及び後述する理想関節制御の説明においては、理解を簡単にするために、具体例として、図2及び図3に示した本実施形態に係る支持アーム装置400のアーム部420の構成を例に挙げて説明を行う場合がある。
(2−2−1.仮想力算出処理)
多リンク構造体の各関節部におけるある物理量によって構成されるベクトルを一般化変数qと呼ぶ(関節値q又は関節空間qとも呼称する。)。操作空間xは、一般化変数qの時間微分値とヤコビアンJとを用いて、以下の数式(1)で定義される。
Figure 2017177255
本実施形態では、例えば、qはアーム部420の関節部421a〜421fにおける回転角度である。操作空間xに関する運動方程式は、下記数式(2)で記述される。
Figure 2017177255
ここで、fは操作空間xに作用する力を表す。また、Λ−1は操作空間慣性逆行列、cは操作空間バイアス加速度と呼ばれるものであり、それぞれ下記数式(3)、(4)で表される。
Figure 2017177255
なお、Hは関節空間慣性行列、τは関節値qに対応する関節力(例えば関節部421a〜421fおける発生トルク)、bは重力、コリオリ力、遠心力を表す項である。
一般化逆動力学においては、操作空間xに関する位置、速度の運動目的は、操作空間xの加速度として表現できることが知られている。このとき、上記数式(1)から、運動目的として与えられた目標値である操作空間加速度を実現するために、操作空間xに作用するべき仮想力fは、下記数式(5)のような一種の線形相補性問題(LCP:Linear Complementary Problem)を解くことによって得られる。
Figure 2017177255
ここで、LとUはそれぞれ、fの第i成分の負の下限値(−∞を含む)、fの第i成分の正の上限値(+∞を含む)とする。上記LCPは、例えばIterative法、Pivot法、ロバスト加速度制御を応用する方法等を用いて解くことができる。
なお、操作空間慣性逆行列Λ−1、バイアス加速度cは、定義式である上記数式(3)、(4)の通り算出すると計算コストが大きい。従って、多リンク構造体の一般化力(関節力τ)から一般化加速度(関節加速度)を得る準動力学計算(FWD)を応用することにより、操作空間慣性逆行列Λ−1の算出処理をより高速に算出する方法が提案されている。具体的には、操作空間慣性逆行列Λ−1、バイアス加速度cは、順動力学演算FWDを用いることにより、関節空間q、関節力τ、重力g等の多リンク構造体(例えば、アーム部420及び関節部421a〜421f)に作用する力に関する情報から得ることができる。このように、操作空間に関する順動力学演算FWDを応用することにより、関節部の数Nに対してO(N)の計算量で操作空間慣性逆行列Λ−1を算出することができる。
ここで、運動目的の設定例として、絶対値F以下の仮想力fviで操作空間加速度の目標値(xの2階微分に上付きバーを付して表す)を達成するための条件は、下記数式(6)で表現できる。
Figure 2017177255
また、上述したように、操作空間xの位置、速度に関する運動目的は、操作空間加速度の目標値として表すことができ、具体的には下記数式(7)で表現される(操作空間xの位置、速度の目標値を、x、xの1階微分に上付きバーを付して表す)。
Figure 2017177255
その他、分解操作空間の考え方を用いることにより、他の操作空間の線形和で表される操作空間(運動量、デカルト相対座標、連動関節等)に関する運動目的を設定することもできる。なお、競合する運動目的間には優先度を与える必要がある。優先度毎かつ低優先度から順に上記LCPを解き、前段のLCPで得られた仮想力を次段のLCPの既知外力として作用させることができる。
(2−2−2.実在力算出処理)
一般化逆動力学の第2段階である実在力算出処理では、上記(2−2−1.仮想力決定プロセス)で得られた仮想力fを、実在の関節力と外力で置換する処理を行う。仮想力による一般化力τ=J を関節部に生じる発生トルクτと外力fとで実現するための条件は、下記数式(8)で表現される。
Figure 2017177255
ここで、添え字aは駆動関節部の集合(駆動関節集合)を表し、添え字uは非駆動関節部の集合(非駆動関節集合)を表す。すなわち、上記数式(8)の上段は非駆動関節部による空間(非駆動関節空間)の力の釣り合いを表しており、下段は駆動関節部による空間(駆動関節空間)の力の釣合いを表している。Jvu、Jvaは、それぞれ、仮想力fが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Jeu、Jeaは、外力fが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Δfは仮想力fのうち、実在力で実現不能な成分を表す。
上記数式(8)の上段は不定であり、例えば下記数式(9)に示すような2次計画問題(QP:Quadratic Programing Problem)を解くことで、f及びΔfを得ることができる。
Figure 2017177255
ここで、εは上記数式(8)の上段の両辺の差であり、数式(8)の等式誤差を表す。ξはfとΔfとの連結ベクトルであり、変数ベクトルを表す。Q及びQは、最小化の際の重みを表す正定値対称行列である。また、上記数式(9)の不等式拘束は、垂直反力、摩擦錐、外力の最大値、支持多角形等、外力に関する拘束条件を表現するのに用いられる。例えば、矩形の支持多角形に関する不等式拘束は、下記数式(10)のように表現される。
Figure 2017177255
ここで、zは接触面の法線方向を表し、x及びyはzに垂直な直交2接線方向を表す。(F,F,F)及び(M,M,M)は、接触点に作用する外力及び外力モーメントである。μ及びμは、それぞれ並進、回転に関する摩擦係数である。(d,d)は支持多角形のサイズを表している。
上記数式(9)、(10)から、最小ノルム又は最小誤差の解f、Δfが求められる。上記数式(9)から得られたf、Δfを上記数式(8)の下段に代入することにより、運動目的を実現するために必要な関節力τを得ることができる。
基底が固定され、非駆動関節が無い系の場合は、関節力のみで全ての仮想力を置換可能であり、上記数式(8)において、f=0、Δf=0とすることができる。この場合、上記数式(8)の下段から、関節力τについて以下の数式(11)を得ることができる。
Figure 2017177255
以上、本実施形態に係る一般化逆動力学を用いた全身協調制御について説明した。上記のように、仮想力算出処理及び実在力算出処理を順に行うことにより、所望の運動目的を達成するための関節力τを得ることができる。すなわち、逆に言えば、算出された関節力τを関節部421a〜421fの運動における理論モデルに反映することにより、関節部421a〜421fが、所望の運動目的を達成するように駆動される。
なお、ここまで説明した一般化逆動力学を用いた全身協調制御について、特に、仮想力fの導出過程や、上記LCPを解き仮想力fを求める方法、QP問題の解法等の詳細については、例えば、本願出願人による先行特許出願である特開2009−95959号公報や特開2010−188471号公報を参照することができる。
[2−3.理想関節制御について]
次に、本実施形態に係る理想関節制御について説明する。各関節部421a〜421fの運動は、下記数式(12)の二次遅れ系の運動方程式によってモデル化される。
Figure 2017177255
ここで、Iは関節部における慣性モーメント(イナーシャ)、τは関節部421a〜421fの発生トルク、τは外部から各関節部421a〜421fに作用する外トルク、νは各関節部421a〜421fにおける粘性抵抗係数である。上記数式(12)は、関節部421a〜421fにおけるアクチュエータ430の運動を表す理論モデルとも言える。
上記[2−2.一般化逆動力学について]で説明したように、一般化逆動力学を用いた演算により、運動目的及び拘束条件を用いて、当該運動目的を実現するために各関節部421a〜421fに作用させるべき実在力であるτを算出することができる。従って、理想的には、算出された各τを上記数式(12)に適用することにより、上記数式(12)に示す理論モデルに従った応答が実現する、すなわち、所望の運動目的が達成されるはずである。
しかし、実際には、様々な外乱の影響により、関節部421a〜421fの運動と上記数式(12)に示すような理論モデルとの間には誤差(モデル化誤差)が生じる場合がある。モデル化誤差は、多リンク構造体の重量、重心、慣性テンソル等のマスプロパティに起因するものと、における関節部421a〜421f内部における摩擦や慣性等に起因するものとに大別することができる。このうち、前者のマスプロパティに起因するモデル化誤差は、CAD(Computer Aided Design)データの高精度化や同定手法の適用によって、理論モデル構築時に比較的容易に低減することが可能である。
一方、後者の関節部421a〜421f内部の摩擦や慣性等に起因するモデル化誤差は、例えば関節部421a〜421fの減速機426における摩擦等、モデル化が困難な現象に起因しており、理論モデル構築時に無視できないモデル化誤差が残留し得る。また、上記数式(12)におけるイナーシャIや粘性抵抗係数νの値と、実際の関節部421a〜421fにおけるこれらの値との間に誤差が生じている可能性がある。これらのモデル化が困難な誤差は、関節部421a〜421fの駆動制御において外乱となり得る。従って、このような外乱の影響により、実際には、関節部421a〜421fの運動は、上記数式(12)に示す理論モデル通りには応答しない場合がある。よって、一般化逆動力学によって算出された関節力である実在力τを適用しても、制御目標である運動目的が達成されない場合が生じる。本実施形態では、各関節部421a〜421fにアクティブな制御系を付加することで、上記数式(12)に示す理論モデルに従った理想応答を行うよう、関節部421a〜421fの応答を補正することを考える。具体的には、本実施形態では、関節部421a〜421fのトルクセンサ428、428aを用いた摩擦補償型のトルク制御を行うに留まらず、要求される発生トルクτ、外トルクτに対して、イナーシャI及び粘性抵抗係数νに至るまで理論値に従った理想応答を行うことが可能となる。
本実施形態では、このように、支持アーム装置400の関節部421a〜421fが上記数式(12)に示すような理想的な応答を行うように関節部の駆動を制御することを、理想関節制御と呼称する。ここで、以下の説明では、当該理想関節制御によって駆動が制御されるアクチュエータのことを、理想的な応答が行われることから仮想アクチュエータ(VA:Virtualized Actuator)とも呼称する。以下、図5を参照して、本実施形態に係る理想関節制御について説明する。
図5は、本開示の一実施形態に係る理想関節制御について説明するための説明図である。なお、図5では、理想関節制御に係る各種の演算を行う概念上の演算器をブロックで模式的に図示している。
図5を参照すると、アクチュエータ610は、図3に示すアクチュエータ430の機構を模式的に表しており、モータ(Motor)611、減速機(Reduction Gear)612、エンコーダ(Encoder)613及びトルクセンサ(Torque Sensor)614は、それぞれ、図3に示すモータ424、減速機426、エンコーダ427及びトルクセンサ428(又は図4Bに示すトルクセンサ428a)に対応している。
ここで、アクチュエータ610が上記数式(12)で表される理論モデルに従った応答を行なうことは、上記数式(12)の右辺が与えられたときに、左辺の回転角加速度が達成されることに他ならない。また、上記数式(12)に示すように、理論モデルには、アクチュエータ610に作用する外トルク項τが含まれている。本実施形態では、理想関節制御を行うために、トルクセンサ614によって外トルクτを測定する。また、エンコーダ613によって測定されたアクチュエータ610の回転角度qに基づいて外乱に起因するトルクの推定値である外乱推定値τを算出するために、外乱オブザーバ620を適用する。
ブロック631は、上記数式(12)に示す関節部421a〜421fの理想的な関節モデル(Ideal Joint Model)に従った演算を行う演算器を表している。ブロック631は、発生トルクτ、外トルクτ、回転角速度(回転角度qの1階微分)を入力として、上記数式(12)の左辺に示す回転角加速度目標値(回転角目標値qrefの2階微分)を出力することができる。
本実施形態では、上記[2−2.一般化逆動力学について]で説明した方法によって算出された発生トルクτと、トルクセンサ614によって測定された外トルクτが、ブロック631に入力される。一方、微分演算を行う演算器を表すブロック632に、エンコーダ613によって測定された回転角度qが入力されることにより、回転角速度(回転角度qの1階微分)が算出される。上記発生トルクτ及び外トルクτに加えて、ブロック632によって算出された回転角速度がブロック631に入力されることにより、ブロック631によって回転角加速度目標値が算出される。算出された回転角加速度目標値は、ブロック633に入力される。
ブロック633は、アクチュエータ610の回転角加速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、ブロック633は、回転角加速度目標値にアクチュエータ610における公称イナーシャ(ノミナルイナーシャ)Jを乗じることにより、トルク目標値τrefを得ることができる。理想の応答においては、アクチュエータ610に当該トルク目標値τrefを生じさせることにより、所望の運動目的が達成されるはずであるが、上述したように、実際の応答には外乱等の影響が生じる場合がある。従って、本実施形態においては、外乱オブザーバ620によって外乱推定値τを算出し、外乱推定値τを用いて当該トルク目標値τrefを補正する。
外乱オブザーバ620の構成について説明する。図5に示すように、外乱オブザーバ620は、トルク指令値τと、エンコーダ613によって測定された回転角度qから算出される回転角速度に基づいて、外乱推定値τを算出する。ここで、トルク指令値τは、外乱の影響が補正された後の、最終的にアクチュエータ610に生じさせるトルク値である。例えば、外乱推定値τが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。
外乱オブザーバ620は、ブロック634とブロック635とから構成される。ブロック634は、アクチュエータ610の回転角速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、エンコーダ613によって測定された回転角度qから、ブロック632によって算出された回転角速度がブロック634に入力される。ブロック634は、伝達関数Jsによって表される演算を行うことにより、すなわち、当該回転角速度を微分することにより回転角加速度を求め、更に算出された回転角加速度にノミナルイナーシャJを乗じることにより、実際にアクチュエータ610に作用しているトルクの推定値(トルク推定値)を算出することができる。
外乱オブザーバ620内では、当該トルク推定値とトルク指令値τとの差分が取られることにより、外乱によるトルクの値である外乱推定値τが推定される。具体的には、外乱推定値τは、前周の制御におけるトルク指令値τと、今回の制御におけるトルク推定値との差分であってよい。ブロック634によって算出されるトルク推定値は実際の測定値に基づくものであり、ブロック633によって算出されたトルク指令値τはブロック631に示す関節部421a〜421fの理想的な理論モデルに基づくものであるため、両者の差分を取ることによって、上記理論モデルでは考慮されていない外乱の影響を推定することができるのである。
また、外乱オブザーバ620には、系の発散を防ぐために、ブロック635に示すローパスフィルター(LPF:Low Pass Filter)が設けられる。ブロック635は、伝達関数g/(s+g)で表される演算を行うことにより、入力された値に対して低周波成分のみを出力し、系を安定化させる。本実施形態では、ブロック634によって算出されたトルク推定値とトルク指令値τrefとの差分値は、ブロック635に入力され、その低周波成分が外乱推定値τとして算出される。
本実施形態では、トルク目標値τrefに外乱オブザーバ620によって算出された外乱推定値τを加算するフィードフォワード制御が行われることにより、最終的にアクチュエータ610に生じさせるトルク値であるトルク指令値τが算出される。そして、トルク指令値τに基づいてアクチュエータ610が駆動される。具体的には、トルク指令値τが対応する電流値(電流指令値)に変換され、当該電流指令値がモータ611に印加されることにより、アクチュエータ610が駆動される。
以上、図5を参照して説明した構成を取ることにより、本実施形態に係る関節部421a〜421fの駆動制御においては、摩擦等の外乱成分があった場合であっても、アクチュエータ610の応答を目標値に追従させることが可能となる。また、関節部421a〜421fの駆動制御について、理論モデルが仮定するイナーシャI及び粘性抵抗係数νに従った理想応答を行うことが可能となる。
なお、以上説明した理想関節制御の詳細については、例えば、本願出願人による先行特許出願である特開2009−269102号公報を参照することができる。
以上、本実施形態において用いられる一般化逆動力学について説明するとともに、図5を参照して本実施形態に係る理想関節制御について説明した。以上説明したように、本実施形態においては、一般化逆動力学を用いることにより、アーム部420の運動目的を達成するための各関節部421a〜421fの駆動パラメータ(例えば関節部421a〜421fの発生トルク値)を、拘束条件を考慮して算出する、全身協調制御が行われる。また、図5を参照して説明したように、本実施形態においては、上記一般化逆動力学を用いた全身協調制御により算出された発生トルク値に対して外乱の影響を考慮した補正を行うことにより、関節部421a〜421fの駆動制御において理論モデルに基づいた理想的な応答を実現する、理想関節制御が行われる。従って、本実施形態においては、アーム部420の駆動について、運動目的を達成する高精度な駆動制御が可能となる。
[2−4.支持アーム制御システムの構成]
次に、上記[2−2.一般化逆動力学について]及び上記[2−3.理想関節制御について]で説明した全身協調制御や理想関節制御が支持アーム装置の駆動制御に適用された、本実施形態に係る支持アーム制御システムの構成について説明する。
図6を参照して、本開示の一実施形態に係る支持アーム制御システムの一構成例について説明する。図6は、本開示の一実施形態に係る支持アーム制御システムの一構成例を示す機能ブロック図である。なお、図6に示す支持アーム制御システムでは、支持アーム装置のアーム部の駆動の制御に関わる構成について主に図示している。
図6を参照すると、本開示の一実施形態に係る支持アーム制御システム1は、支持アーム装置10、制御装置20及び表示装置30を備える。本実施形態においては、制御装置20によって、上記[2−2.一般化逆動力学について]で説明した全身協調制御及び上記[2−3.理想関節制御について]で説明した理想関節制御における各種の演算が行われ、その演算結果に基づいて支持アーム装置10のアーム部の駆動が制御される。また、支持アーム装置10のアーム部には後述する撮像部140が設けられており、撮像部140によって撮影された画像が表示装置30の表示画面に表示される。以下、支持アーム装置10、制御装置20及び表示装置30の構成について詳細に説明する。
支持アーム装置10は、複数の関節部と複数のリンクから構成される多リンク構造体であるアーム部を有し、当該アーム部を可動範囲内で駆動させることにより、当該アーム部の先端に設けられる先端ユニットの位置及び姿勢の制御を行う。支持アーム装置10は、図2に示す支持アーム装置400に対応している。
図6を参照すると、支持アーム装置10は、アーム制御部110及びアーム部120を有する。また、アーム部120は、関節部130及び撮像部140を有する。
アーム制御部110は、支持アーム装置10を統合的に制御するとともに、アーム部120の駆動を制御する。アーム制御部110は、図2を参照して説明した制御部(図2には図示せず。)に対応している。具体的には、アーム制御部110は駆動制御部111を有し、駆動制御部111からの制御によって関節部130の駆動が制御されることにより、アーム部120の駆動が制御される。より具体的には、駆動制御部111は、関節部130のアクチュエータにおけるモータに対して供給される電流量を制御することにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。ただし、上述したように、駆動制御部111によるアーム部120の駆動制御は、制御装置20における演算結果に基づいて行われる。従って、駆動制御部111によって制御される、関節部130のアクチュエータにおけるモータに対して供給される電流量は、制御装置20における演算結果に基づいて決定される電流量である。
アーム部120は、複数の関節部と複数のリンクから構成される多リンク構造体であり、アーム制御部110からの制御によりその駆動が制御される。アーム部120は、図2に示すアーム部420に対応している。アーム部120は、関節部130及び撮像部140を有する。なお、アーム部120が有する複数の関節部の機能及び構成は互いに同様であるため、図6では、それら複数の関節部を代表して1つの関節部130の構成を図示している。
関節部130は、アーム部120においてリンク間を互いに回動可能に連結するとともに、アーム制御部110からの制御によりその回転駆動が制御されることによりアーム部120を駆動する。関節部130は、図2に示す関節部421a〜421fに対応している。また、関節部130は、アクチュエータを有し、当該アクチュエータの構成は、例えば図3、図4A及び図4Bに示す構成と同様である。
関節部130は、関節駆動部131及び関節状態検出部132を有する。
関節駆動部131は、関節部130のアクチュエータにおける駆動機構であり、関節駆動部131が駆動することにより関節部130が回転駆動する。関節駆動部131は、駆動制御部111によってその駆動が制御される。例えば、関節駆動部131は、図3に示すモータ424及びモータドライバ425に対応する構成であり、関節駆動部131が駆動することは、モータドライバ425が駆動制御部111からの指令に応じた電流量でモータ424を駆動することに対応している。
関節状態検出部132は、関節部130の状態を検出する。ここで、関節部130の状態とは、関節部130の運動の状態を意味していてよい。例えば、関節部130の状態には、関節部130の回転角度、回転角速度、回転角加速度、発生トルク等の情報が含まれる。本実施形態においては、関節状態検出部132は、関節部130の回転角度を検出する回転角度検出部133及び関節部130の発生トルク及び外トルクを検出するトルク検出部134を有する。なお、回転角度検出部133及びトルク検出部134は、図3に示すアクチュエータ430のエンコーダ427及び図4A及び図4Bに示すトルクセンサ428、428aに、それぞれ対応している。関節状態検出部132は、検出した関節部130の状態を制御装置20に送信する。
撮像部140は、アーム部120の先端に設けられる先端ユニットの一例であり、撮影対象の画像を取得する。撮像部140は、図2に示す撮像ユニット423に対応している。具体的には、撮像部140は、撮影対象を動画や静止画の形式で撮影することのできるカメラ等である。より具体的には、撮像部140は、2次元上に配列された複数の受光素子を有し、当該受光素子における光電変換により、撮影対象の画像を表す画像信号を取得することができる。撮像部140は、取得した画像信号を表示装置30に送信する。
なお、図2に示す支持アーム装置400において撮像ユニット423がアーム部420の先端に設けられていたように、支持アーム装置10においても、実際には撮像部140がアーム部120の先端に設けられている。図6では、撮像部140が複数の関節部130及び複数のリンクを介して最終段のリンクの先端に設けられる様子を、関節部130と撮像部140との間にリンクを模式的に図示することにより表現している。
なお、本実施形態においては、アーム部120の先端には先端ユニットとして各種の医療用器具が接続され得る。当該医療用器具としては、例えば、メスや鉗子等の各種の施術器具や、超音波検査装置の探触子等の各種の検査装置の一ユニット等、施術に際して用いられる各種のユニットが挙げられる。また、本実施形態では、図6に示す撮像部140や、内視鏡、顕微鏡等の撮像機能を有するユニットも医療用器具に含まれてよい。このように、本実施形態に係る支持アーム装置10は、医療用器具を備えた医療用支持アーム装置であると言える。同様に、本実施形態に係る支持アーム制御システム1は、医療用支持アーム制御システムであると言える。なお、図6に示す支持アーム装置10は、撮像機能を有するユニットを先端ユニットとして備えるVM支持アーム装置であるとも言える。また、アーム部120の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3D画像として表示するように撮影が行われてもよい。
以上、支持アーム装置10の機能及び構成について説明した。次に、制御装置20の機能及び構成について説明する。図6を参照すると、制御装置20は、入力部210、記憶部220及び制御部230を有する。
制御部230は、制御装置20を統合的に制御するとともに、支持アーム装置10におけるアーム部120の駆動を制御するための各種の演算を行う。具体的には、制御部230は、支持アーム装置10のアーム部120の駆動を制御するために、全身協調制御及び理想関節制御における各種の演算を行う。以下、制御部230の機能及び構成について詳しく説明するが、全身協調制御及び理想関節制御については、上記[2−2.一般化逆動力学について]及び上記[2−3.理想関節制御について]で既に説明しているため、ここでは詳しい説明は省略する。
制御部230は、全身協調制御部240及び理想関節制御部250を有する。
全身協調制御部240は、一般化逆動力学を用いた全身協調制御に関する各種の演算を行う。本実施形態では、全身協調制御部240は、関節状態検出部132によって検出された関節部130の状態に基づいてアーム部120の状態(アーム状態)を取得する。また、全身協調制御部240は、当該アーム状態と、アーム部120の運動目的及び拘束条件と、に基づいて、操作空間におけるアーム部120の全身協調制御のための制御値を、一般化逆動力学を用いて算出する。なお、操作空間とは、例えばアーム部120に作用する力とアーム部120に発生する加速度との関係を記述するための空間である。
全身協調制御部240は、アーム状態取得部241、演算条件設定部242、仮想力算出部243及び実在力算出部244を有する。
アーム状態取得部241は、関節状態検出部132によって検出された関節部130の状態に基づいて、アーム部120の状態(アーム状態)を取得する。ここで、アーム状態とは、アーム部120の運動の状態を意味していてよい。例えば、アーム状態には、アーム部120の位置、速度、加速度、力等の情報が含まれる。上述したように、関節状態検出部132は、関節部130の状態として、各関節部130における回転角度、回転角速度、回転角加速度、発生トルク等の情報を取得している。また、後述するが、記憶部220は、制御装置20によって処理される各種の情報を記憶するものであり、本実施形態においては、記憶部220には、アーム部120に関する各種の情報(アーム情報)、例えばアーム部120を構成する関節部130及びリンクの数や、リンクと関節部130との接続状況、リンクの長さ等の情報が格納されていてよい。アーム状態取得部241は、記憶部220から当該アーム情報を取得することができる。従って、アーム状態取得部241は、関節部130の状態とアーム情報とに基づいて、複数の関節部130、複数のリンク及び撮像部140の空間上の位置(座標)(すなわち、アーム部120の形状や撮像部140の位置及び姿勢)や、各関節部130、リンク及び撮像部140に作用している力等の情報をアーム状態として取得することができる。アーム状態取得部241は、取得したアーム情報を演算条件設定部242に送信する。
演算条件設定部242は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件を設定する。ここで、演算条件とは、運動目的及び拘束条件であってよい。運動目的は、アーム部120の運動に関する各種の情報であってよい。具体的には、運動目的は、撮像部140の位置及び姿勢(座標)、速度、加速度並びに力等の目標値であったり、アーム部120の複数の関節部130及び複数のリンクの位置(座標)、速度、加速度及び力等の目標値であったりしてもよい。また、拘束条件は、アーム部120の運動を制限(拘束)する各種の情報であってよい。具体的には、拘束条件は、アーム部の各構成部材が移動不可能な領域の座標や、移動不可能な速度、加速度の値、発生不可能な力の値等であってよい。また、拘束条件における各種の物理量の制限範囲は、アーム部120の構造的に実現することが不可能であることから設定されてもよいし、ユーザによって適宜設定されてもよい。また、演算条件設定部242は、アーム部120の構造についての物理モデル(例えば、アーム部120を構成するリンクの数や長さ、リンクの関節部130を介した接続状況、関節部130の可動範囲等がモデル化されたもの)を有し、当該物理モデルに、所望の運動条件及び拘束条件が反映された制御モデルを生成することにより、運動条件及び拘束条件を設定してもよい。
本実施形態においては、運動目的及び拘束条件を適切に設定することにより、アーム部120に所望の動作を行わせることが可能となる。例えば、運動目的として、撮像部140の位置の目標値を設定することにより撮像部140をその目標の位置に移動させることはもちろんのこと、アーム部120が空間上の所定の領域内に侵入しないようにする等、拘束条件によって移動の制約を設けてアーム部120を駆動させることも可能である。
運動目的の具体例として、例えば、運動目的は、撮像部140の撮影方向が施術部位に固定された状態で、撮像部140が施術部位を頂点とした円錐の面内を移動する、当該円錐の軸を旋回軸とした旋回動作である、ピボット動作であってもよい。また、当該ピボット動作においては、撮像部140と円錐の頂点に当たる点との距離が一定に保たれた状態で旋回動作が行われてもよい。このようなピボット動作を行うことにより、観察部位を等距離からかつ異なる角度から観察できるようになるため、手術を行うユーザの利便性を向上させることができる。
また、他の具体例として、運動目的は、各関節部130における発生トルクを制御する内容であってもよい。具体的には、運動目的は、アーム部120に作用する重力を打ち消すように関節部130の状態を制御するとともに、更に外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部130の状態を制御するパワーアシスト動作であってもよい。より具体的には、パワーアシスト動作においては、アーム部120の各関節部130における重力による外トルクを打ち消す発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御されることにより、アーム部120の位置及び姿勢が所定の状態で保持される。この状態で更に外部から(例えばユーザから)外トルクが加えられた場合に、与えられた外トルクと同じ方向の発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御される。このようなパワーアシスト動作を行うことにより、ユーザが手動でアーム部120を動かす場合に、ユーザはより小さい力でアーム部120を移動させることができるため、あたかも無重力下でアーム部120を動かしているような感覚をユーザに対して与えることができる。また、上述したピボット動作と当該パワーアシスト動作とを組み合わせることも可能である。
ここで、本実施形態において、運動目的とは、全身協調制御において実現されるアーム部120の動作(運動)を意味していてもよいし、当該動作における瞬時的な運動目的(すなわち、運動目的における目標値)を意味していてもよい。例えば上記のピボット動作であれば、撮像部140がピボット動作を行うこと自体が運動目的であるが、ピボット動作を行っている最中においては、当該ピボット動作における円錐面内での撮像部140の位置や速度等の値が、瞬時的な運動目的(当該運動目的における目標値)として設定されている。また例えば上記のパワーアシスト動作であれば、外部から加えられた力の方向へのアーム部120の移動をサポートするパワーアシスト動作を行うこと自体が運動目的であるが、パワーアシスト動作を行っている最中においては、各関節部130に加えられる外トルクと同じ方向への発生トルクの値が、瞬時的な運動目的(当該運動目的における目標値)として設定されている。本実施形態における運動目的は、瞬時的な運動目的(例えばある時間におけるアーム部120の各構成部材の位置や速度、力等の目標値)と、瞬時的な運動目的が連続的に達成された結果、経時的に実現されるアーム部120の各構成部材の動作の、双方を含む概念である。全身協調制御部240における全身協調制御のための演算における各ステップでは瞬時的な運動目的がその都度設定され、当該演算が繰り返し行われることにより、最終的に所望の運動目的が達成される。
なお、本実施形態においては、運動目的が設定される際に、各関節部130の回転運動における粘性抵抗係数も適宜設定されてよい。上述したように、本実施形態に係る関節部130は、アクチュエータ430の回転運動における粘性抵抗係数を適宜調整できるように構成される。従って、運動目的の設定に際して各関節部130の回転運動における粘性抵抗係数も設定することにより、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することができる。例えば上述したパワーアシスト動作であれば、関節部130における粘性抵抗係数が小さく設定されることにより、ユーザがアーム部120を移動させる際に要する力がより小さくてよく、ユーザに与えられる無重力感がより助長される。このように、各関節部130の回転運動における粘性抵抗係数は、運動目的の内容に応じて適宜設定されてよい。
なお、運動目的の具体例については、下記[2−5.運動目的の具体例]で改めて詳しく説明する。
ここで、本実施形態においては、後述するように、記憶部220には、全身協調制御に関する演算において用いられる運動目的や拘束条件等の演算条件に関するパラメータが格納されていてもよい。演算条件設定部242は、記憶部220に記憶されている拘束条件を、全身協調制御の演算に用いる拘束条件として設定することができる。
また、本実施形態においては、演算条件設定部242は、複数の方法によって運動目的を設定することができる。例えば、演算条件設定部242は、アーム状態取得部241から送信されるアーム状態に基づいて運動目的を設定してもよい。上述したように、アーム状態には、アーム部120の位置の情報やアーム部120に対して作用する力の情報が含まれる。従って、例えばユーザがアーム部120を手動で移動させようとしている場合には、アーム状態取得部241によって、ユーザがアーム部120をどのように移動させようとしているか、に関する情報もアーム状態として取得される。従って、演算条件設定部242は、取得されたアーム状態に基づいて、ユーザがアーム部120を移動させた位置や速度、力等を瞬時的な運動目的として設定することができる。このように運動目的が設定されることにより、アーム部120の駆動は、ユーザによるアーム部120の移動を追随し、サポートするように制御される。
また、例えば、演算条件設定部242は、入力部210からユーザによって入力される指示に基づいて運動目的を設定してもよい。後述するが、入力部210は、ユーザが制御装置20に支持アーム装置10の駆動制御に関する情報や命令等を入力するための入力インターフェースであり、本実施形態においては、ユーザによる入力部210からの操作入力に基づいて、運動目的が設定されてもよい。具体的には、入力部210は、例えばレバー、ペダル等のユーザが操作する操作手段を有し、当該レバー、ペダル等の操作に応じて、アーム部120の各構成部材の位置や速度等が、演算条件設定部242によって瞬時的な運動目的として設定されてもよい。
更に、例えば、演算条件設定部242は、記憶部220に記憶されている運動目的を、全身協調制御の演算に用いる運動目的として設定してもよい。例えば、空間上の所定の点で撮像部140が静止するという運動目的であれば、当該所定の点の座標を運動目的として予め設定することができる。また、例えば、撮像部140が空間上において所定の軌跡上を移動するという運動目的であれば、当該所定の軌跡を表す各点の座標を運動目的として予め設定することができる。このように、運動目的が予め設定できるものである場合には、当該運動目的が予め記憶部220に記憶されていてもよい。また、例えば上述したピボット動作であれば、運動目的は円錐の面内における位置や速度等を目標値とするものに限られるし、パワーアシスト動作であれば、運動目的は力を目標値とするものに限られる。このように、ピボット動作やパワーアシスト動作のような運動目的が予め設定されている場合には、これらの運動目的における瞬時的な運動目的として設定され得る目標値の範囲や種類等に関する情報が、記憶部220に記憶されていてもよい。演算条件設定部242は、このような運動目的に関する各種の情報も含めて、運動目的として設定することができる。
なお、演算条件設定部242が、上記のいずれの方法で運動目的を設定するかは、支持アーム装置10の用途等に応じてユーザによって適宜設定可能であってよい。また、演算条件設定部242は、また、上記の各方法を適宜組み合わせることにより、運動目的及び拘束条件を設定してもよい。なお、記憶部220に格納されている拘束条件の中に運動目的の優先度が設定されていてもよく、複数の互いに異なる運動目的が存在する場合には、演算条件設定部242は、当該拘束条件の優先度に応じて運動目的を設定してもよい。演算条件設定部242は、アーム状態並びに設定した運動目的及び拘束条件を仮想力算出部243に送信する。
仮想力算出部243は、一般化逆動力学を用いた全身協調制御に関する演算における仮想力を算出する。仮想力算出部243が行う仮想力の算出処理は、例えば、上記(2−2−1.仮想力算出処理)で説明した一連の処理であってよい。仮想力算出部243は、算出した仮想力fを実在力算出部244に送信する。
実在力算出部244は、一般化逆動力学を用いた全身協調制御に関する演算における実在力を算出する。実在力算出部244が行う実在力の算出処理は、例えば、上記(2−2−2.実在力算出処理)で説明した一連の処理であってよい。実在力算出部244は、算出した実在力(発生トルク)τを理想関節制御部250に送信する。なお、本実施形態においては、実在力算出部244によって算出された発生トルクτのことを、全身協調制御における関節部130の制御値という意味で、制御値又は制御トルク値とも呼称する。
理想関節制御部250は、一般化逆動力学を用いた理想関節制御に関する各種の演算を行う。本実施形態では、理想関節制御部250は、実在力算出部244によって算出された発生トルクτに対して外乱の影響を補正することにより、アーム部120の理想的な応答を実現するトルク指令値τを算出する。なお、理想関節制御部250によって行われる演算処理は、上記[2−3.理想関節制御について]で説明した一連の処理に対応している。
理想関節制御部250は、外乱推定部251及び指令値算出部252を有する。
外乱推定部251は、トルク指令値τと、回転角度検出部133によって検出された回転角度qから算出される回転角速度に基づいて、外乱推定値τを算出する。なお、ここでいうトルク指令値τは、最終的に支持アーム装置10に送信されるアーム部120での発生トルクを表す指令値である。このように、外乱推定部251は、図5に示す外乱オブザーバ620に対応する機能を有する。
指令値算出部252は、外乱推定部251によって算出された外乱推定値τを用いて、最終的に支持アーム装置10に送信されるアーム部120に生じさせるトルクを表す指令値であるトルク指令値τを算出する。具体的には、指令値算出部252は、上記数式(12)に示す関節部130の理想モデルから算出されるτrefに外乱推定部251によって算出された外乱推定値τを加算することにより、トルク指令値τを算出する。例えば、外乱推定値τが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。このように、指令値算出部252の機能は、図5に示す外乱オブザーバ620以外の機能に対応している。
以上説明したように、理想関節制御部250においては、外乱推定部251と指令値算出部252との間で繰り返し情報のやり取りが行われることにより、図5を参照して説明した一連の処理が行われる。理想関節制御部250は算出したトルク指令値τを支持アーム装置10の駆動制御部111に送信する。駆動制御部111は、送信されたトルク指令値τに対応する電流量を、関節部130のアクチュエータにおけるモータに対して供給する制御を行うことにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。
本実施形態に係る支持アーム制御システム1においては、支持アーム装置10におけるアーム部120の駆動制御は、アーム部120を用いた作業が行われている間継続的に行われるため、支持アーム装置10及び制御装置20における以上説明した処理が繰り返し行われる。すなわち、支持アーム装置10の関節状態検出部132によって関節部130の状態が検出され、制御装置20に送信される。制御装置20では、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための全身協調制御及び理想関節制御に関する各種の演算が行われ、演算結果としてのトルク指令値τが支持アーム装置10に送信される。支持アーム装置10では、当該トルク指令値τに基づいてアーム部120の駆動が制御され、駆動中又は駆動後の関節部130の状態が、再び関節状態検出部132によって検出される。
制御装置20が有する他の構成についての説明を続ける。
入力部210は、ユーザが制御装置20に支持アーム装置10の駆動制御に関する情報や命令等を入力するための入力インターフェースである。本実施形態においては、ユーザによる入力部210からの操作入力に基づいて、支持アーム装置10のアーム部120の駆動が制御され、撮像部140の位置及び姿勢が制御されてもよい。具体的には、上述したように、ユーザによって入力部210から入力されたアームの駆動の指示に関する指示情報が演算条件設定部242に入力されることにより、演算条件設定部242が当該指示情報に基づいて全身協調制御における運動目的を設定してもよい。このように、ユーザが入力した指示情報に基づく運動目的を用いて全身協調制御が行われることにより、ユーザの操作入力に応じたアーム部120の駆動が実現される。
具体的には、入力部210は、例えばマウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等のユーザが操作する操作手段を有する。例えば入力部210がペダルを有する場合、ユーザは当該ペダルを足で操作することによりアーム部120の駆動を制御することができる。従って、ユーザが患者の施術部位に対して両手を使って処置を行っている場合であっても、足によるペダルの操作によって撮像部140の位置及び姿勢、すなわち、施術部位の撮影位置や撮影角度を調整することができる。
記憶部220は、制御装置20によって処理される各種の情報を記憶する。本実施形態においては、記憶部220は、制御部230によって行われる全身協調制御及び理想関節制御に関する演算において用いられる各種のパラメータを記憶することができる。例えば、記憶部220は、全身協調制御部240による全身協調制御に関する演算において用いられる運動目的及び拘束条件を記憶していてもよい。記憶部220が記憶する運動目的は、上述したように、例えば撮像部140が空間上の所定の点で静止することのような、予め設定され得る運動目的であってよい。また、拘束条件は、アーム部120の幾何的な構成や支持アーム装置10の用途等に応じて、ユーザによって予め設定され、記憶部220に格納されていてもよい。また、記憶部220には、アーム状態取得部241がアーム状態を取得する際に用いるアーム部120に関する各種の情報が記憶されていてもよい。更に、記憶部220には、制御部230による全身協調制御及び理想関節制御に関する演算における演算結果や演算過程で算出される各数値等が記憶されてもよい。このように、記憶部220には、制御部230によって行われる各種の処理に関するあらゆるパラメータが格納されていてよく、制御部230は、記憶部220と相互に情報を送受信しながら各種の処理を行うことができる。
以上、制御装置20の機能及び構成について説明した。なお、本実施形態に係る制御装置20は、例えばPC(Personal Computer)やサーバ等の各種の情報処理装置(演算処理装置)によって構成することができる。次に、表示装置30の機能及び構成について説明する。
表示装置30は、各種の情報を表示画面上にテキスト、イメージ等様々な形式で表示することにより、当該情報をユーザに対して視覚的に通知する。本実施形態においては、表示装置30は、支持アーム装置10の撮像部140によって撮影された画像を表示画面上に表示する。具体的には、表示装置30は、撮像部140によって取得された画像信号に各種の画像処理を施す画像信号処理部(図示せず。)や処理された画像信号に基づく画像を表示画面上に表示させる制御を行う表示制御部(図示せず。)等の機能及び構成を有する。なお、表示装置30は、上記の機能及び構成以外にも、一般的に表示装置が有する各種の機能及び構成を有してもよい。表示装置30は、図1に示す表示装置550に対応している。
以上、図6を参照して、本実施形態に係る支持アーム装置10、制御装置20及び表示装置30の機能及び構成について説明した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
以上説明したように、本実施形態によれば、支持アーム装置10における多リンク構造体であるアーム部120が、少なくとも6自由度以上の自由度を有するとともに、当該アーム部120を構成する複数の関節部130のそれぞれの駆動が駆動制御部111によって制御される。そして、当該アーム部120の先端には医療用器具が設けられる。このように、各関節部130の駆動が制御されることにより、より自由度の高いアーム部120の駆動制御が実現され、よりユーザにとって操作性の高い医療用の支持アーム装置10が実現される。
より具体的には、本実施形態によれば、支持アーム装置10において、関節状態検出部132によって関節部130の状態が検出される。そして、制御装置20において、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための一般化逆動力学を用いた全身協調制御に関する各種の演算が行われ、演算結果としてのトルク指令値τが算出される。更に、支持アーム装置10において、当該トルク指令値τに基づいてアーム部120の駆動が制御される。このように、本実施形態においては、一般化逆動力学を用いた全身協調制御により、アーム部120の駆動が制御される。従って、力制御によるアーム部120の駆動制御が実現され、よりユーザにとって操作性の高い支持アーム装置が実現される。また、本実施形態では、全身協調制御において、例えばピボット動作やパワーアシスト動作といった、よりユーザの利便性を向上させる各種の運動目的を実現する制御が可能となる。更に、本実施形態においては、例えばアーム部120を手動で移動させたり、ペダルからの操作入力により移動させたりといった、多様な駆動手段が実現されるため、ユーザの利便性の更なる向上が実現される。
また、本実施形態においては、アーム部120の駆動制御について、全身協調制御と併せて理想関節制御が適用される。理想関節制御においては、関節部130内部の摩擦や慣性等の外乱成分を推定し、推定した外乱成分を用いたフィードフォワード制御が行われる。従って、摩擦等の外乱成分がある場合であっても、関節部130の駆動について理想的な応答を実現することができる。よって、アーム部120の駆動制御において、振動等の影響がより少ない、高精度の応答性と高い位置決め精度や安定性が実現される。
更に、本実施形態においては、アーム部120を構成する複数の関節部130のそれぞれが、例えば図3に示すような、理想関節制御に適合した構成を有し、各関節部130における回転角度、発生トルク及び粘性抵抗係数を電流値によって制御することができる。このように、各関節部130の駆動が電流値によって制御され、また、全身協調制御により各関節部130の駆動がアーム部120全体の状態を把握しながら制御されるため、カウンターバランスが不要となり、支持アーム装置10の小型化が実現される。
[2−5.センサ値の推定と故障判定について]
以上説明した構成では、アクチュエータ430により観測された角度、角速度、トルクが全身協調制御部240に通知される。全身協調制御部240では、アーム部512が所望の動作を行うために必要な関節部513a〜513cの発生トルクを算出する。この際、観測された角度、角速度、トルク値と内部に保有する身体情報(関節数、リンク長、イナーシャ、慣性モーメント)が利用される。算出された発生トルクは各アクチュエータ430に通知され、アクチュエータ430が当該トルクを発生するよう制御される。
以上説明した構成は、複数のアクチュエータ(VA)430により構成された(医療向け)の指示アームシステムである。ここで、アクチュエータ(VA)430は、以下の特徴を有する。
(a)出力段の変位を検出するためのセンサ(エンコーダ427等)を搭載する。
(b)出力段に作用する力を検出するためのセンサ(トルクセンサ428等)を搭載する。
(c)コントローラから出力トルク値を受け取り、これを制御目標値として動作する。
(d)コントローラに対して、制御観測値として上記(a),(b)のセンサで検出した値を通知する。
また、ここでいうコントローラとは下記の特徴をもつアクチュエータ(VA)430の制御装置である。
(a)支持アームの身体情報を内部に保有する。
(b)アクチュエータ(VA)430より通知された情報を基に、全てのアクチュエータ(VA)430に対して出力トルク値を通知する。
本実施形態では、発生トルクτ(トルク指令値)と、アクチュエータ(VA)430にて観測したトルク値と直前の角度、角速度の観測値とに基づいてアクチュエータ(VA)430の直後の関節角度(角速度、角加速度)を予測し、エンコーダ427のセンサ値を推定(予測)する。また、前周期の発生トルクτ(トルク指令値)と、エンコーダ427にて観測した前周期のエンコーダ値(角速度)と、エンコーダ427にて観測した現周期のエンコーダ値(角加速度)とに基づいて、前周期のトルクセンサ428のセンサ値を予測する。そして、予測した値と、エンコーダ427とトルクセンサ428の検出値(センサ値)を比較することで、エンコーダ427とトルクセンサ428の故障検出を行う。
これにより、支持アームに対し予期せぬ外力が印加された状態においても、支持アームに搭載された複数のアクチュエータ430のそれぞれについて、アクチュエータ430内の1つのセンサ値から同じアクチュエータ430内の他のセンサ値を予測することが可能となる。
具体的に、予測した値を利用することで以下のようにセンサ故障を検知することが可能となる。
(A)アクチュエータ430のトルクセンサ値から同じアクチュエータ430の角度センサ値を推定し、実測データとの一致をみて故障・誤作動を検知する。
(B)アクチュエータ430の角度センサ値から同じアクチュエータ430のトルクセンサ値を推定し、実測データとの一致をみて故障・誤作動を検知する。
図7は、センサ値の推定と故障判定のための構成を示す模式図であって、図6に示した制御部230において、センサ予測値算出部260とセンサ故障判定部266が追加されている。センサ予測値算出部260は、エンコーダ予測値算出部262、トルクセンサ予測値算出部264を有して構成されている。エンコーダ予測値算出部262は、エンコーダ427のセンサ値を予測し、エンコーダ予測値を出力する。トルクセンサ予測値算出部264は、トルクセンサ428のセンサ値を予測し、トルク予測値を出力する。
センサ故障判定部266は、エンコーダ予測値とエンコーダ427の検出値(実測値)を比較することで、エンコーダ427の故障判定を行う。また、センサ故障判定部266は、トルク予測値とトルクセンサ428の検出値(実測値)を比較することで、トルクセンサ428の故障判定を行う。いずれの場合も、予測値と検出値(実測値)の乖離が大きい場合は、故障判定が行われる。
図8は、エンコーダ予測値算出部262とその周辺を示す模式図である。関節部130のアクチュエータ430からは、エンコーダ427が検出した角度、角速度が全身協調制御部240へ送られる。全身協調制御部240が算出したトルク指令値τは、アクチュエータ430に送られる。なお、図8では、理想関節制御部250の図示を省略している。
エンコーダ427の故障検出を行う場合、基本的な制御ループに加え、アクチュエータが観測したトルク値と全身協調制御部240が算出した発生トルクτがエンコーダ予測値算出部262に伝達され、角度、角速度が予測される。アクチュエータ430が観測した角度、角速度(角度、角速度観測値)と予測した角度、角速度はセンサ故障判定部266に送られる。センサ故障判定部266では観測値と予測値とを比較し、あらかじめ設定されたしきい値以上の差が開いていた場合にはセンサ故障であると判断する。なお、制御周期に基づいて角度、角速度、角加速度の予測値は相互に変換できるため、いずれの値を用いて故障判定を行っても良い。
具体的には、エンコーダ予測値算出部262は、以下に示す角運動方程式を用いて各関節の振る舞いを計算し、予測する。
Figure 2017177255
なお、(13)式の運動方程式は、基本的には(12)式と同様であるが、慣性モーメントの値が異なる。(13)式において、慣性モーメントIは、各関節部におけるアーム部512の慣性モーメントである。以下では、(13)式と各値(2)〜(7)を用いて下記の通りセンサ値を予測する。
エンコーダ値の推定は、(13)式の右辺の3項から直後の左辺値を求めることにより実現する。図9は、トルクセンサ値からエンコーダ値を推定して故障判定を行う処理を示すフローチャートである。先ず、ステップS10では、前周期に予測したエンコーダ予測値(角速度(4))を読み出す。次のステップS12では、トルク指令値(2)、トルクセンサ値(3)と、現在のエンコーダ値(センサ値)を取得する。
次のステップS14では、ステップS10で読み出したエンコーダ予測値と、ステップS12で取得した現在のエンコーダ値の差が所定のしきい値以内であるか否かを判定し、差がしきい値以内の場合はステップS16へ進む。ステップS16では、前周期のエンコーダ値(角速度値(4))と現在のエンコーダ値(角速度値(4))に基づいて、現在の角速度値(4)を算出する。ステップS16へ進んだ場合、エンコーダが正常であると判断できることから、前周期のエンコーダ値又は現在のエンコーダ値を現在の角速度値(4)とすることができる。
次のステップS18では、身体情報(慣性モーメント(6)、粘性抵抗(7))と、ステップS16で求めた現在の角速度値(4)と、ステップS12で取得した現在のトルク指令値(2)及びトルクセンサ値(3)とから、(13)式に基づいて現在の角加速度(5)を推定する。具体的には、(13)式の右辺の第1項に現在のトルク指令値(2)を、第2項にトルクセンサ値(3)を、第3項に現在の角速度値(4)をそれぞれ代入し、左辺の角加速度(5)を算出する。そして、角加速度(5)から角速度(4)を算出する。なお、角速度(4)は、制御周期に基づいて角加速度(5)を積分することで求めることができる。ここで算出された角速度(4)は、次周期のステップS10でエンコーダ予測値(角速度(4))として用いられる。次のステップS20では、ステップS18で算出したエンコーダ予測値を保存する。次のステップS22では、現在のエンコーダ値(角速度(4))を保存する。ステップS22で保存したエンコーダ値は、次周期のステップS16において、角加速度(4)を算出する際に用いられる。これにより、監視周期が終了する。
また、ステップS14で差が所定のしきい値を超える場合は、ステップS24へ進む。ステップS24では、センサ(エンコーダ)が故障していると判断し、例外処理を実行する。
図10は、トルクセンサ予測値算出部264とその周辺を示す模式図である。図8と同様、関節部130のアクチュエータ430からは、エンコーダ427が検出した角度、角速度が全身協調制御部240へ送られる。全身協調制御部240が算出したトルク指令値τは、アクチュエータ430に送られる。図10においても、理想関節制御部250の図示を省略している。
トルクセンサ428の故障検出を行う場合、基本的な制御ループに加え、アクチュエータ430が観測したトルク値と全身協調制御部240が算出した発生トルクτがトルクセンサ予測値算出部264に伝達され、トルクが予測される。アクチュエータ430が観測したトルクとトルク予測値は、センサ故障判定部266に送られる。センサ故障判定部266では観測値と予測値とを比較し、あらかじめ設定されたしきい値以上の差が開いていた場合にはセンサ故障であると判断する。
トルクセンサ値の推定は、(13)式の左辺の第1項と右辺の第1項、第3項とから右辺の第2項を求めることにより実現する。図11は、トルクセンサ値を推定して故障判定を行う処理を示すフローチャートである。先ず、ステップS30では、現在のトルク指令値(2)、トルクセンサ値(3)、エンコーダ値(角加速度(5))を取得する。次のステップS32では、前周期のエンコーダ値(角速度(4))、トルク指令値(2)、トルクセンサ値(3)を読み出す。次のステップS34では、身体情報(慣性モーメント(6)、粘性抵抗(7))、ステップS30で取得したエンコーダ値(現在の角加速度(5))、ステップS32で読み出した前周期の角速度(4)及び前周期のトルク指令値(2)から、(13)式に基づいて前周期のトルクセンサ予測値(3)を算出する。具体的には、(13)式の右辺の第1項に前周期のトルク指令値(2)を、右辺の第3項に前周期の角速度(4)を、左辺に現在の角加速度(5)をそれぞれ代入し、右辺第2項の前周期のトルクセンサ予測値(3)を算出する。
次のステップS36では、ステップS34で算出した前周期のトルクセンサ予測値(3)と、ステップS32で読み出した前周期のトルクセンサ値(3)の差が所定のしきい値以内であるか否かを判定し、差が所定のしきい値以内の場合はステップS38へ進む。ステップS38へ進んだ場合、差が所定のしきい値以内であるため、トルクセンサ428は正常であると判断できる。
ステップS38では、現在の角度及び角速度値(4)、トルク指令値(2)、トルクセンサ値(3)を保存する。ここで保存した現在の角速度値(4)、トルク指令値(2)、トルクセンサ値(3)は、次の制御周期のステップS32において、前周期のエンコーダ値、トルク指令値(2)、トルクセンサ値(3)としてそれぞれ読み出される。これにより、監視周期が終了する。
また、ステップS36で差が所定のしきい値を超える場合は、ステップS40へ進む。ステップS40では、トルクセンサ428が故障していると判断し、例外処理を実行する。
以上のように、トルクセンサ値を推測する場合には、発生トルクに起因するエンコーダ値(角加速度(5))から推定するため、直前周期のトルクセンサ値(3)を推定する。より詳細には、アクチュエータ480においてトルクが発生してから加速度が発生し、エンコーダ値が検出される。トルクセンサ値を推測する場合は、この逆の経路で予測を行うため、(13)式において、現周期の角加速度(5)、前周期のトルク指令値(2)、前周期の角速度(4)に基づいて、前周期の外力トルク(3)を予測し、前周期のトルクセンサ値と前周期の予測値とを比較することで故障判定を行う。
以上のようにして、センサ故障判定部266は、エンコーダ427とトルクセンサ428が故障しているか否かを判定することができる。いずれのセンサの故障を判定する際にも、一方の実測値を用いて他方の予測値を算出できるため、故障判定のために新たなセンサを設ける必要がない。従って、故障判定のためにアクチュエータ430が大型化することがなく、アクチュエータ430の小型化を図ることができる。なお、エンコーダ427とトルクセンサ428が故障判定は、いずれか一方のみを行っても良いし、両者を並行して行っても良い。
<3.応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、内視鏡手術システムに適用されてもよい。
図13は、本開示に係る技術が適用され得る内視鏡手術システム5000の概略的な構成の一例を示す図である。図13では、術者(医師)5067が、内視鏡手術システム5000を用いて、患者ベッド5069上の患者5071に手術を行っている様子が図示されている。図示するように、内視鏡手術システム5000は、内視鏡5001と、その他の術具5017と、内視鏡5001を支持する支持アーム装置5027と、内視鏡下手術のための各種の装置が搭載されたカート5037と、から構成される。
内視鏡手術では、腹壁を切って開腹する代わりに、トロッカ5025a〜5025dと呼ばれる筒状の開孔器具が腹壁に複数穿刺される。そして、トロッカ5025a〜5025dから、内視鏡5001の鏡筒5003や、その他の術具5017が患者5071の体腔内に挿入される。図示する例では、その他の術具5017として、気腹チューブ5019、エネルギー処置具5021及び鉗子5023が、患者5071の体腔内に挿入されている。また、エネルギー処置具5021は、高周波電流や超音波振動により、組織の切開及び剥離、又は血管の封止等を行う処置具である。ただし、図示する術具5017はあくまで一例であり、術具5017としては、例えば攝子、レトラクタ等、一般的に内視鏡下手術において用いられる各種の術具が用いられてよい。
内視鏡5001によって撮影された患者5071の体腔内の術部の画像が、表示装置5041に表示される。術者5067は、表示装置5041に表示された術部の画像をリアルタイムで見ながら、エネルギー処置具5021や鉗子5023を用いて、例えば患部を切除する等の処置を行う。なお、図示は省略しているが、気腹チューブ5019、エネルギー処置具5021及び鉗子5023は、手術中に、術者5067又は助手等によって支持される。
(支持アーム装置)
支持アーム装置5027は、ベース部5029から延伸するアーム部5031を備える。図示する例では、アーム部5031は、関節部5033a、5033b、5033c、及びリンク5035a、5035bから構成されており、アーム制御装置5045からの制御により駆動される。アーム部5031によって内視鏡5001が支持され、その位置及び姿勢が制御される。これにより、内視鏡5001の安定的な位置の固定が実現され得る。
(内視鏡)
内視鏡5001は、先端から所定の長さの領域が患者5071の体腔内に挿入される鏡筒5003と、鏡筒5003の基端に接続されるカメラヘッド5005と、から構成される。図示する例では、硬性の鏡筒5003を有するいわゆる硬性鏡として構成される内視鏡5001を図示しているが、内視鏡5001は、軟性の鏡筒5003を有するいわゆる軟性鏡として構成されてもよい。
鏡筒5003の先端には、対物レンズが嵌め込まれた開口部が設けられている。内視鏡5001には光源装置5043が接続されており、当該光源装置5043によって生成された光が、鏡筒5003の内部に延設されるライトガイドによって当該鏡筒の先端まで導光され、対物レンズを介して患者5071の体腔内の観察対象に向かって照射される。なお、内視鏡5001は、直視鏡であってもよいし、斜視鏡又は側視鏡であってもよい。
カメラヘッド5005の内部には光学系及び撮像素子が設けられており、観察対象からの反射光(観察光)は当該光学系によって当該撮像素子に集光される。当該撮像素子によって観察光が光電変換され、観察光に対応する電気信号、すなわち観察像に対応する画像信号が生成される。当該画像信号は、RAWデータとしてカメラコントロールユニット(CCU:Camera Control Unit)5039に送信される。なお、カメラヘッド5005には、その光学系を適宜駆動させることにより、倍率及び焦点距離を調整する機能が搭載される。
なお、例えば立体視(3D表示)等に対応するために、カメラヘッド5005には撮像素子が複数設けられてもよい。この場合、鏡筒5003の内部には、当該複数の撮像素子のそれぞれに観察光を導光するために、リレー光学系が複数系統設けられる。
(カートに搭載される各種の装置)
CCU5039は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等によって構成され、内視鏡5001及び表示装置5041の動作を統括的に制御する。具体的には、CCU5039は、カメラヘッド5005から受け取った画像信号に対して、例えば現像処理(デモザイク処理)等の、当該画像信号に基づく画像を表示するための各種の画像処理を施す。CCU5039は、当該画像処理を施した画像信号を表示装置5041に提供する。また、CCU5039は、カメラヘッド5005に対して制御信号を送信し、その駆動を制御する。当該制御信号には、倍率や焦点距離等、撮像条件に関する情報が含まれ得る。
表示装置5041は、CCU5039からの制御により、当該CCU5039によって画像処理が施された画像信号に基づく画像を表示する。内視鏡5001が例えば4K(水平画素数3840×垂直画素数2160)又は8K(水平画素数7680×垂直画素数4320)等の高解像度の撮影に対応したものである場合、及び/又は3D表示に対応したものである場合には、表示装置5041としては、それぞれに対応して、高解像度の表示が可能なもの、及び/又は3D表示可能なものが用いられ得る。4K又は8K等の高解像度の撮影に対応したものである場合、表示装置5041として55インチ以上のサイズのものを用いることで一層の没入感が得られる。また、用途に応じて、解像度、サイズが異なる複数の表示装置5041が設けられてもよい。
光源装置5043は、例えばLED(light emitting diode)等の光源から構成され、術部を撮影する際の照射光を内視鏡5001に供給する。
アーム制御装置5045は、例えばCPU等のプロセッサによって構成され、所定のプログラムに従って動作することにより、所定の制御方式に従って支持アーム装置5027のアーム部5031の駆動を制御する。
入力装置5047は、内視鏡手術システム5000に対する入力インタフェースである。ユーザは、入力装置5047を介して、内視鏡手術システム5000に対して各種の情報の入力や指示入力を行うことができる。例えば、ユーザは、入力装置5047を介して、患者の身体情報や、手術の術式についての情報等、手術に関する各種の情報を入力する。また、例えば、ユーザは、入力装置5047を介して、アーム部5031を駆動させる旨の指示や、内視鏡5001による撮像条件(照射光の種類、倍率及び焦点距離等)を変更する旨の指示、エネルギー処置具5021を駆動させる旨の指示等を入力する。
入力装置5047の種類は限定されず、入力装置5047は各種の公知の入力装置であってよい。入力装置5047としては、例えば、マウス、キーボード、タッチパネル、スイッチ、フットスイッチ5057及び/又はレバー等が適用され得る。入力装置5047としてタッチパネルが用いられる場合には、当該タッチパネルは表示装置5041の表示面上に設けられてもよい。
あるいは、入力装置5047は、例えばメガネ型のウェアラブルデバイスやHMD(Head Mounted Display)等の、ユーザによって装着されるデバイスであり、これらのデバイスによって検出されるユーザのジェスチャや視線に応じて各種の入力が行われる。また、入力装置5047は、ユーザの動きを検出可能なカメラを含み、当該カメラによって撮像された映像から検出されるユーザのジェスチャや視線に応じて各種の入力が行われる。更に、入力装置5047は、ユーザの声を収音可能なマイクロフォンを含み、当該マイクロフォンを介して音声によって各種の入力が行われる。このように、入力装置5047が非接触で各種の情報を入力可能に構成されることにより、特に清潔域に属するユーザ(例えば術者5067)が、不潔域に属する機器を非接触で操作することが可能となる。また、ユーザは、所持している術具から手を離すことなく機器を操作することが可能となるため、ユーザの利便性が向上する。
処置具制御装置5049は、組織の焼灼、切開又は血管の封止等のためのエネルギー処置具5021の駆動を制御する。気腹装置5051は、内視鏡5001による視野の確保及び術者の作業空間の確保の目的で、患者5071の体腔を膨らめるために、気腹チューブ5019を介して当該体腔内にガスを送り込む。レコーダ5053は、手術に関する各種の情報を記録可能な装置である。プリンタ5055は、手術に関する各種の情報を、テキスト、画像又はグラフ等各種の形式で印刷可能な装置である。
以下、内視鏡手術システム5000において特に特徴的な構成について、更に詳細に説明する。
(支持アーム装置)
支持アーム装置5027は、基台であるベース部5029と、ベース部5029から延伸するアーム部5031と、を備える。図示する例では、アーム部5031は、複数の関節部5033a、5033b、5033cと、関節部5033bによって連結される複数のリンク5035a、5035bと、から構成されているが、図13では、簡単のため、アーム部5031の構成を簡略化して図示している。実際には、アーム部5031が所望の自由度を有するように、関節部5033a〜5033c及びリンク5035a、5035bの形状、数及び配置、並びに関節部5033a〜5033cの回転軸の方向等が適宜設定され得る。例えば、アーム部5031は、好適に、6自由度以上の自由度を有するように構成され得る。これにより、アーム部5031の可動範囲内において内視鏡5001を自由に移動させることが可能になるため、所望の方向から内視鏡5001の鏡筒5003を患者5071の体腔内に挿入することが可能になる。
関節部5033a〜5033cにはアクチュエータが設けられており、関節部5033a〜5033cは当該アクチュエータの駆動により所定の回転軸まわりに回転可能に構成されている。当該アクチュエータの駆動がアーム制御装置5045によって制御されることにより、各関節部5033a〜5033cの回転角度が制御され、アーム部5031の駆動が制御される。これにより、内視鏡5001の位置及び姿勢の制御が実現され得る。この際、アーム制御装置5045は、力制御又は位置制御等、各種の公知の制御方式によってアーム部5031の駆動を制御することができる。
例えば、術者5067が、入力装置5047(フットスイッチ5057を含む)を介して適宜操作入力を行うことにより、当該操作入力に応じてアーム制御装置5045によってアーム部5031の駆動が適宜制御され、内視鏡5001の位置及び姿勢が制御されてよい。当該制御により、アーム部5031の先端の内視鏡5001を任意の位置から任意の位置まで移動させた後、その移動後の位置で固定的に支持することができる。なお、アーム部5031は、いわゆるマスタースレイブ方式で操作されてもよい。この場合、アーム部5031は、手術室から離れた場所に設置される入力装置5047を介してユーザによって遠隔操作され得る。
また、力制御が適用される場合には、アーム制御装置5045は、ユーザからの外力を受け、その外力にならってスムーズにアーム部5031が移動するように、各関節部5033a〜5033cのアクチュエータを駆動させる、いわゆるパワーアシスト制御を行ってもよい。これにより、ユーザが直接アーム部5031に触れながらアーム部5031を移動させる際に、比較的軽い力で当該アーム部5031を移動させることができる。従って、より直感的に、より簡易な操作で内視鏡5001を移動させることが可能となり、ユーザの利便性を向上させることができる。
ここで、一般的に、内視鏡下手術では、スコピストと呼ばれる医師によって内視鏡5001が支持されていた。これに対して、支持アーム装置5027を用いることにより、人手によらずに内視鏡5001の位置をより確実に固定することが可能になるため、術部の画像を安定的に得ることができ、手術を円滑に行うことが可能になる。
なお、アーム制御装置5045は必ずしもカート5037に設けられなくてもよい。また、アーム制御装置5045は必ずしも1つの装置でなくてもよい。例えば、アーム制御装置5045は、支持アーム装置5027のアーム部5031の各関節部5033a〜5033cにそれぞれ設けられてもよく、複数のアーム制御装置5045が互いに協働することにより、アーム部5031の駆動制御が実現されてもよい。
(光源装置)
光源装置5043は、内視鏡5001に術部を撮影する際の照射光を供給する。光源装置5043は、例えばLED、レーザ光源又はこれらの組み合わせによって構成される白色光源から構成される。このとき、RGBレーザ光源の組み合わせにより白色光源が構成される場合には、各色(各波長)の出力強度及び出力タイミングを高精度に制御することができるため、光源装置5043において撮像画像のホワイトバランスの調整を行うことができる。また、この場合には、RGBレーザ光源それぞれからのレーザ光を時分割で観察対象に照射し、その照射タイミングに同期してカメラヘッド5005の撮像素子の駆動を制御することにより、RGBそれぞれに対応した画像を時分割で撮像することも可能である。当該方法によれば、当該撮像素子にカラーフィルタを設けなくても、カラー画像を得ることができる。
また、光源装置5043は、出力する光の強度を所定の時間ごとに変更するようにその駆動が制御されてもよい。その光の強度の変更のタイミングに同期してカメラヘッド5005の撮像素子の駆動を制御して時分割で画像を取得し、その画像を合成することにより、いわゆる黒つぶれ及び白とびのない高ダイナミックレンジの画像を生成することができる。
また、光源装置5043は、特殊光観察に対応した所定の波長帯域の光を供給可能に構成されてもよい。特殊光観察では、例えば、体組織における光の吸収の波長依存性を利用して、通常の観察時における照射光(すなわち、白色光)に比べて狭帯域の光を照射することにより、粘膜表層の血管等の所定の組織を高コントラストで撮影する、いわゆる狭帯域光観察(Narrow Band Imaging)が行われる。あるいは、特殊光観察では、励起光を照射することにより発生する蛍光により画像を得る蛍光観察が行われてもよい。蛍光観察では、体組織に励起光を照射し当該体組織からの蛍光を観察するもの(自家蛍光観察)、又はインドシアニングリーン(ICG)等の試薬を体組織に局注するとともに当該体組織にその試薬の蛍光波長に対応した励起光を照射し蛍光像を得るもの等が行われ得る。光源装置5043は、このような特殊光観察に対応した狭帯域光及び/又は励起光を供給可能に構成され得る。
<4.本実施形態の故障判定の特徴>
図12は、本実施形態の故障判定の特徴を説明するための模式図である。図12では、図13に示すシステムを示しており、アーム部5031に内視鏡5001が装着されている。図12に示すように、内視鏡5001は、操作者(スコピスト)の操作による外力を受ける。また、図13に示したように、内視鏡5001は、その鏡筒5003がトロッカ5025aに挿入されることにより、トロッカ5025aから外力を受ける。
(13)式に示したように、これらの外力は、トルクτeとして予測値を算出する際に考慮される。従って、本実施形態によれば、外力が加わっている状態であっても、エンコーダ値、トルク値を正確に予測することが可能である。
近年低侵襲性などを理由に開腹下手術に代わって腹腔鏡下での手術が広く行われている。図13に示したように、腹腔鏡下手術では患者の腹部に1〜3個程度の小さな穴(ポート)を開け、ポートに設置されたトロッカに硬性内視鏡や鉗子等の術具を挿入し手術を行う。この際、必要に応じて内視鏡5001の位置・姿勢を保持や視野を変えるための内視鏡5001の操作は、スコピストと呼ばれる専任の医師が行う。このような手術においては、内視鏡支持アーム装置によるスコピストの作業の補助や置き換えが期待されている。内視鏡支持アーム装置では医師・スコピストのサポートを行うと同時に、患者へ危害を与えないような高い安全性が求められる。このため、支持アーム装置に搭載されているセンサの故障を確実に行うことが望ましい。しかし、内視鏡アームでは、アームを清潔領域から隔離するためにアームを包み込むドレープやアームを操作するスコピスト、さらにはアームが挿入されているトロッカなど複数の箇所から外力が加えられており、既存の技術ではセンサ故障の検知を容易に行うことはできない。本実施形態では、このような状況下でも継続的にセンサ値の予測・推定を行うことができ、センサ故障を検知することが可能となる。
脳外科や形成外科治療においては、手術用顕微鏡下での手術が広く行われている。図1に示すような顕微鏡支持アームでは医師のサポートを確実に行うためにセンサ故障の検知は非常に重要である。しかし、アームを清潔領域から隔離するためにアームを包み込むドレープやアームを操作する医師等、複数の箇所から外力が加えられており、既存の技術では故障検出を容易に行うことはできない。本実施形態によれば、このような状況下でも継続的にセンサ値の予測・推定が行え、センサ故障を検知することが可能となる。
更には、手術用ロボットにおいては、図1、図13に示した構成で発生する外力に加えて、鉗子等が作用する患部等から受ける力も考慮に入れなければならない。本実施形態では、この点を考慮に入れても継続的にセンサ値の予測を行うことが可能である。
<5.ハードウェア構成>
次に、図14を参照しながら、図6に示す、本実施形態に係る支持アーム装置10及び制御装置20のハードウェア構成について、詳細に説明する。図14は、本開示の一実施形態に係る支持アーム装置10及び制御装置20のハードウェア構成の一構成例を示す機能ブロック図である。
支持アーム装置10及び制御装置20は、主に、CPU901と、ROM903と、RAM905と、を備える。また、支持アーム装置10及び制御装置20は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
CPU901は、演算処理装置及び制御装置として機能し、ROM903、RAM905、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、支持アーム装置10及び制御装置20内の動作全般又はその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。CPU901は、本実施形態においては、例えば、図6に示すアーム制御部110及び制御部230に対応している。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インターフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、支持アーム装置10及び制御装置20の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。支持アーム装置10及び制御装置20のユーザは、この入力装置915を操作することにより、支持アーム装置10及び制御装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。入力装置915は、本実施形態においては、例えば、図6に示す入力部210に対応する。また、本実施形態においては、入力装置915を介したユーザによる操作入力により、アーム部120の駆動における運動目的が設定され、当該運動目的に従って全身協調制御が行われてもよい。
出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、支持アーム装置10及び制御装置20が行った各種処理により得られた結果を出力する。具体的には、表示装置は、支持アーム装置10及び制御装置20が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、あらゆる形式で出力装置917から出力されてよい。例えば、アーム部120の駆動制御における、アーム部120の各構成部材の移動の軌跡が、グラフの形式で出力装置917の表示画面に表示されてもよい。なお、例えば、図6に示す表示装置30は、出力装置917の表示装置としての機能及び構成と、当該表示装置の駆動を制御するための制御部等の構成を備える装置であってもよい。
ストレージ装置919は、支持アーム装置10及び制御装置20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。ストレージ装置919は、本実施形態においては、例えば、図6に示す記憶部220に対応する。また、本実施形態においては、ストレージ装置919は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件(運動目的及び拘束条件)を記憶することができ、支持アーム装置10及び制御装置20はストレージ装置919に記憶されているこれらの演算条件を用いて全身協調制御に関する演算を行ってもよい。
ドライブ921は、記録媒体用リーダライタであり、支持アーム装置10及び制御装置20に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア又はBlu−ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、ドライブ921によって、各種のリムーバブル記録媒体927から読み出され、又は各種のリムーバブル記録媒体927に書き込まれてよい。
接続ポート923は、機器を支持アーム装置10及び制御装置20に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(登録商標)(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、支持アーム装置10及び制御装置20は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、接続ポート923を介して、各種の外部接続機器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、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、通信装置925によって、通信網931を介して外部の他の機器との間で相互に送受信されてもよい。
以上、本開示の実施形態に係る支持アーム装置10及び制御装置20の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図14では図示しないが、支持アーム装置10は、図6に示すアーム部120に対応する各種の構成を当然備える。
なお、上述のような本実施形態に係る支持アーム装置10、制御装置20及び表示装置30の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
<6.まとめ>
図1に示したような、先端に顕微鏡を搭載した顕微鏡支持アームは、ドレープから受ける外力、観察術野変更のためのアーム操作時に受ける外力など、術中はアーム外部より力を受ける機会が多い。本実施形態によれば、この様な外部の力を受ける場合であっても、継続してセンサ値の予測が可能である。
図13に示したような、先端に内視鏡ホルダを搭載した内視鏡ホルダ支持アームでは、顕微鏡支持アームの場合に加え、内視鏡が接触するトロッカより受ける外力など術中はアーム外部より力を受ける機会が多い。本実施形態によれば、この様な場合にも継続してセンサ値の予測が可能である。
更に、先端に鉗子・カテーテル等を搭載した手術用支持アーム、支持アームでは、顕微鏡支持アーム、内視鏡ホルダ支持アームの例に加え、術具が接触する患部より受ける外力など術中はアーム外部より力を受ける機会が多い。本実施形態によれば、この様な場合にも継続してセンサ値の予測が可能である。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1) 駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測する予測部と、
前記予測部が予測した予測値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行う故障判定部と、
を備える、制御装置。
(2) 前記予測部は、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測するエンコーダ予測値算出部を含む、前記(1)に記載の制御装置。
(3) 前記予測部は、前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測するトルクセンサ予測値算出部を含む、前記(1)又は(2)に記載の制御装置。
(4) 前記予測部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力及びトルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記エンコーダの検出値又は前記トルクセンサの検出値を予測する、前記(1)に記載の制御装置。
(5) 前記エンコーダ予測値算出部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力トルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記エンコーダの検出値を予測する、前記(2)に記載の制御装置。
(6) 前記エンコーダ予測値算出部は、
前記エンコーダの検出値を所定の制御周期毎に予測し、
前記運動方程式に基づいて、現周期の前記発生トルク、現周期の前記外力トルク、及び現周期の前記角速度に基づいて、次周期の前記角加速度を予測する、前記(5)に記載の制御装置。
(7) 前記トルクセンサ予測値算出部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力トルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記トルクセンサの検出値を予測する、前記(3)に記載の制御装置。
(8) 前記トルクセンサ予測値算出部は、
前記トルクセンサの検出値を所定の制御周期毎に予測し、
前記運動方程式に基づいて、前周期の前記発生トルク、前周期の前記角速度、及び現周期の前記角加速度に基づいて、前周期の前記外力トルクを予測する、前記(7)に記載の制御装置。
(9) 前記故障判定部は、前記予測部が予測した値と、前記トルクセンサ又は前記エンコーダの実測値との差分が所定のしきい値以上の場合に前記故障判定を行う、前記(1)〜(8)のいずれかに記載の制御装置。
(10) 前記アクチュエータは、医療器具が装着される支持アームの関節部を駆動する、前記(1)〜(9)のいずれかに記載の制御装置。
(11) 駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測することと、
前記予測した値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行うことと、
を備える、制御方法。
262 エンコーダ予測値算出部
264 トルクセンサ予測値算出部
266 センサ故障判定部

Claims (11)

  1. 駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測する予測部と、
    前記予測部が予測した予測値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行う故障判定部と、
    を備える、制御装置。
  2. 前記予測部は、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測するエンコーダ予測値算出部を含む、請求項1に記載の制御装置。
  3. 前記予測部は、前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測するトルクセンサ予測値算出部を含む、請求項1に記載の制御装置。
  4. 前記予測部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力及びトルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記エンコーダの検出値又は前記トルクセンサの検出値を予測する、請求項1に記載の制御装置。
  5. 前記エンコーダ予測値算出部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力トルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記エンコーダの検出値を予測する、請求項2に記載の制御装置。
  6. 前記エンコーダ予測値算出部は、
    前記エンコーダの検出値を所定の制御周期毎に予測し、
    前記運動方程式に基づいて、現周期の前記発生トルク、現周期の前記外力トルク、及び現周期の前記角速度に基づいて、次周期の前記角加速度を予測する、請求項5に記載の制御装置。
  7. 前記トルクセンサ予測値算出部は、前記アクチュエータが前記駆動軸に発生させる発生トルク、外力により前記駆動軸に発生する外力トルク、前記アクチュエータの角速度、及び前記アクチュエータの角加速度の関係を規定した運動方程式に基づいて、前記トルクセンサの検出値を予測する、請求項3に記載の制御装置。
  8. 前記トルクセンサ予測値算出部は、
    前記トルクセンサの検出値を所定の制御周期毎に予測し、
    前記運動方程式に基づいて、前周期の前記発生トルク、前周期の前記角速度、及び現周期の前記角加速度に基づいて、前周期の前記外力トルクを予測する、請求項7に記載の制御装置。
  9. 前記故障判定部は、前記予測部が予測した値と、前記トルクセンサ又は前記エンコーダの実測値との差分が所定のしきい値以上の場合に前記故障判定を行う、請求項1に記載の制御装置。
  10. 前記アクチュエータは、医療器具が装着される支持アームの関節部を駆動する、請求項1に記載の制御装置。
  11. 駆動軸に発生するトルクを検出するトルクセンサと前記駆動軸の回転角を検出するエンコーダを有するアクチュエータにおいて、前記トルクセンサの検出値に基づいて前記エンコーダの検出値を予測し、又は前記エンコーダの検出値に基づいて前記トルクセンサの検出値を予測することと、
    前記予測した値と前記トルクセンサ又は前記エンコーダの実測値とを比較して、前記トルクセンサ又は前記エンコーダの故障判定を行うことと、
    を備える、制御方法。
JP2016065153A 2016-03-29 2016-03-29 制御装置及び制御方法 Pending JP2017177255A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016065153A JP2017177255A (ja) 2016-03-29 2016-03-29 制御装置及び制御方法
US16/086,952 US11305422B2 (en) 2016-03-29 2017-02-02 Control apparatus and control method
PCT/JP2017/003691 WO2017169082A1 (ja) 2016-03-29 2017-02-02 制御装置及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016065153A JP2017177255A (ja) 2016-03-29 2016-03-29 制御装置及び制御方法

Publications (1)

Publication Number Publication Date
JP2017177255A true JP2017177255A (ja) 2017-10-05

Family

ID=59962771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016065153A Pending JP2017177255A (ja) 2016-03-29 2016-03-29 制御装置及び制御方法

Country Status (3)

Country Link
US (1) US11305422B2 (ja)
JP (1) JP2017177255A (ja)
WO (1) WO2017169082A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108656115A (zh) * 2018-05-17 2018-10-16 黄云汉 一种关节式机器人的关节减速机的控制方法及装置
KR101970951B1 (ko) * 2017-11-03 2019-04-22 성균관대학교산학협력단 로봇 매니퓰레이터 충돌 검출 장치 및 방법
WO2020122416A1 (ko) * 2018-12-13 2020-06-18 주식회사 미래컴퍼니 수술용 로봇의 충돌을 완화시키는 방법 및 시스템
JP6949284B1 (ja) * 2021-01-26 2021-10-13 三菱電機株式会社 数値制御装置
CN113748597A (zh) * 2019-04-16 2021-12-03 三菱电机株式会社 电动机控制装置
US11358276B2 (en) 2018-08-31 2022-06-14 Fanuc Corporation Robot and robot system
WO2022230532A1 (ja) * 2021-04-26 2022-11-03 ナブテスコ株式会社 診断システム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10987808B1 (en) * 2016-12-14 2021-04-27 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for providing a control solution for an actuator
US20190069957A1 (en) * 2017-09-06 2019-03-07 Verily Life Sciences Llc Surgical recognition system
KR102543596B1 (ko) * 2018-08-31 2023-06-19 삼성전자주식회사 외력의 측정을 위한 적어도 하나의 파라미터를 산출하는 방법 및 이를 수행하는 전자 장치
US11618163B2 (en) * 2018-12-27 2023-04-04 Fanuc Corporation Industrial robot system
DE102019111168B3 (de) * 2019-04-30 2020-08-06 Franka Emika Gmbh Vom Messbereich eines Drehmomentsensors eines Robotermanipulators abhängig erzeugbare Kraft
US20220378523A1 (en) * 2021-05-28 2022-12-01 Covidien Lp Real time monitoring of a robotic drive module

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289938A (ja) * 1993-03-31 1994-10-18 Toyoda Mach Works Ltd サーボ送りにおける障害物検出装置
JP4577607B2 (ja) 2004-10-20 2010-11-10 株式会社安川電機 ロボットの制御装置およびロボットシステム
JP2007301691A (ja) 2006-05-12 2007-11-22 Nachi Fujikoshi Corp ロボット制御装置
EP1927440A1 (en) * 2006-11-30 2008-06-04 Abb Research Ltd. Method and device for monitoring the condition of an industrial robot
EP2566046B1 (en) * 2010-04-26 2016-08-10 Toyota Jidosha Kabushiki Kaisha Motor control apparatus
JP5685842B2 (ja) * 2010-07-12 2015-03-18 セイコーエプソン株式会社 ロボット装置およびロボット装置の制御方法
JP5902425B2 (ja) * 2011-09-21 2016-04-13 株式会社東芝 ロボット制御装置、外乱判定方法およびアクチュエータ制御方法
JP6006965B2 (ja) * 2012-04-13 2016-10-12 本田技研工業株式会社 動力伝達装置
JP6079786B2 (ja) * 2012-11-20 2017-02-15 株式会社安川電機 モータ駆動システムおよびモータ制御装置
US9205560B1 (en) * 2013-06-24 2015-12-08 Redwood Robotics, Inc. System and method for failure detection of a robot actuator
DE102013013875A1 (de) * 2013-08-20 2015-02-26 Kuka Laboratories Gmbh Verfahren zum Steuern eines Roboters
EP3037222A4 (en) * 2013-09-24 2017-04-12 Sony Olympus Medical Solutions Inc. Medical robot arm device, medical robot arm control system, medical robot arm control method, and program
CN106029308B (zh) * 2014-02-28 2019-10-29 索尼公司 机械臂设备、校准方法以及计算机可读存储介质
WO2015133291A1 (ja) * 2014-03-06 2015-09-11 ソニー株式会社 アクチュエータ及びロボットアーム装置
WO2015137040A1 (ja) * 2014-03-14 2015-09-17 ソニー株式会社 ロボットアーム装置、ロボットアーム制御方法及びプログラム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101970951B1 (ko) * 2017-11-03 2019-04-22 성균관대학교산학협력단 로봇 매니퓰레이터 충돌 검출 장치 및 방법
CN108656115B (zh) * 2018-05-17 2021-04-27 黄云汉 一种关节式机器人的关节减速机的控制方法
CN108656115A (zh) * 2018-05-17 2018-10-16 黄云汉 一种关节式机器人的关节减速机的控制方法及装置
US11358276B2 (en) 2018-08-31 2022-06-14 Fanuc Corporation Robot and robot system
KR20200073348A (ko) * 2018-12-13 2020-06-24 (주)미래컴퍼니 수술용 로봇의 충돌을 완화시키는 방법 및 시스템
KR102149008B1 (ko) * 2018-12-13 2020-08-31 (주)미래컴퍼니 수술용 로봇의 충돌을 완화시키는 방법 및 시스템
CN113195172A (zh) * 2018-12-13 2021-07-30 韩商未来股份有限公司 用于缓和手术用机器人碰撞的方法及系统
WO2020122416A1 (ko) * 2018-12-13 2020-06-18 주식회사 미래컴퍼니 수술용 로봇의 충돌을 완화시키는 방법 및 시스템
CN113195172B (zh) * 2018-12-13 2024-03-08 韩商未来股份有限公司 用于缓和手术用机器人碰撞的方法及系统
CN113748597A (zh) * 2019-04-16 2021-12-03 三菱电机株式会社 电动机控制装置
JP6949284B1 (ja) * 2021-01-26 2021-10-13 三菱電機株式会社 数値制御装置
WO2022162740A1 (ja) * 2021-01-26 2022-08-04 三菱電機株式会社 数値制御装置
WO2022230532A1 (ja) * 2021-04-26 2022-11-03 ナブテスコ株式会社 診断システム

Also Published As

Publication number Publication date
US11305422B2 (en) 2022-04-19
WO2017169082A1 (ja) 2017-10-05
US20190091861A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
WO2017169082A1 (ja) 制御装置及び制御方法
JP6614130B2 (ja) 手術用ロボットアーム装置、手術用ロボットアーム制御方法及びプログラム
WO2018216382A1 (ja) 医療用システム、医療用支持アームの制御装置、および医療用支持アームの制御方法
JP6586079B2 (ja) アーム装置、及びプログラム
WO2018159338A1 (ja) 医療用支持アームシステムおよび制御装置
JP6272885B2 (ja) 医療用ロボットアーム装置、医療用ロボットアーム制御システム、医療用ロボットアーム制御方法及びプログラム
JP6773165B2 (ja) 医療用支持アーム装置、医療用支持アーム制御方法及びプログラム
JP6555248B2 (ja) 医療用アーム装置、キャリブレーション方法及びプログラム
WO2017169096A1 (ja) 医療用支持アームの制御装置、医療用支持アーム装置の制御方法及び医療用システム
WO2015137040A1 (ja) ロボットアーム装置、ロボットアーム制御方法及びプログラム
WO2018159336A1 (ja) 医療用支持アームシステムおよび制御装置
WO2018221035A1 (ja) 医療用支持アームシステム、医療用支持アームの制御方法、および医療用支持アームの制御装置
WO2015137140A1 (ja) ロボットアームの制御装置、ロボットアームの制御方法及びプログラム