(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175152
(43)【公開日】2024-12-18
(54)【発明の名称】補償システム、補償装置、補償方法及びプログラム
(51)【国際特許分類】
A61B 34/35 20160101AFI20241211BHJP
B25J 3/00 20060101ALI20241211BHJP
【FI】
A61B34/35
B25J3/00 A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021178390
(22)【出願日】2021-10-29
(71)【出願人】
【識別番号】899000079
【氏名又は名称】慶應義塾
(71)【出願人】
【識別番号】516331889
【氏名又は名称】モーションリブ株式会社
(71)【出願人】
【識別番号】000109543
【氏名又は名称】テルモ株式会社
(74)【代理人】
【識別番号】100127384
【弁理士】
【氏名又は名称】坊野 康博
(74)【代理人】
【識別番号】100152054
【弁理士】
【氏名又は名称】仲野 孝雅
(72)【発明者】
【氏名】大西 公平
(72)【発明者】
【氏名】溝口 貴弘
(72)【発明者】
【氏名】山田 和広
(72)【発明者】
【氏名】羽生 能行
(72)【発明者】
【氏名】牧 伸
(72)【発明者】
【氏名】藤井 俊弘
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS35
3C707JT05
3C707KS33
3C707LU09
(57)【要約】
【課題】より適切な状況で、摩擦補償を行う。
【解決手段】補償システム1は、操作者の操作が入力されるマスタ装置10と、マスタ装置10に入力された操作に応じて動作するスレーブ装置20と、を含む。また、補償システム1は、力触覚伝達部354と、状態判定部352と、摩擦補償部353と、を備える。力触覚伝達部354は、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。状態判定部352は、操作者によるマスタ装置10に対する操作の状態を判定する。摩擦補償部353は、状態判定部352による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、力触覚伝達部354による力触覚の伝達に影響する摩擦に対して摩擦補償を行う。
【選択図】
図6
【特許請求の範囲】
【請求項1】
操作者の操作が入力されるマスタ装置と、前記マスタ装置に入力された操作に応じて動作するスレーブ装置と、を含む補償システムであって、
前記マスタ装置及び前記スレーブ装置における力触覚の伝達を制御する制御手段と、
前記操作者による前記マスタ装置に対する操作の状態を判定する判定手段と、
前記判定手段による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、前記制御手段による力触覚の伝達に影響する摩擦に対して摩擦補償を行う補償手段と、
を備えることを特徴とする補償システム。
【請求項2】
前記判定手段は、前記操作者による前記マスタ装置に対する操作の状態の判定として、前記操作者により前記マスタ装置が把持されている状態であるか否か判定し、
前記補償手段は、前記判定手段による判定結果が、前記操作者により前記マスタ装置が把持されている状態であるとの判定結果である場合に、前記摩擦補償を行うと決定する、
ことを特徴とする請求項1に記載の補償システム。
【請求項3】
前記補償手段は、前記前記スレーブ装置に入力する力を所定の増幅率で増幅して前記マスタ装置に伝達する制御を前記制御手段に行わせることで前記摩擦補償を行う、
ことを特徴とする請求項1または2に記載の補償システム。
【請求項4】
前記判定手段は、前記マスタ装置に対して加えられる圧力の変動に基づいて、前記操作者による前記マスタ装置に対する操作の状態を判定する、
ことを特徴とする請求項1から3の何れか1項に記載の補償システム。
【請求項5】
前記判定手段は、前記マスタ装置の温度の変動に基づいて、前記操作者による前記マスタ装置に対する操作の状態を判定する、
ことを特徴とする請求項1から4の何れか1項に記載の補償システム。
【請求項6】
前記判定手段は、前記操作者の操作に関する撮影画像を解析すると共に、該解析の結果に基づいて、前記操作者による前記マスタ装置に対する操作の状態を判定する、
ことを特徴とする請求項1から5の何れか1項に記載の補償システム。
【請求項7】
操作者の操作が入力されるマスタ装置と、前記マスタ装置に入力された操作に応じて動作するスレーブ装置とにおける力触覚の伝達を制御する制御手段と、
前記操作者による前記マスタ装置に対する操作の状態を判定する判定手段と、
前記判定手段による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、前記制御手段による力触覚の伝達に影響する摩擦に対して摩擦補償を行う補償手段と、
を備えることを特徴とする補償装置。
【請求項8】
操作者の操作が入力されるマスタ装置と、前記マスタ装置に入力された操作に応じて動作するスレーブ装置と、を含むシステムで実行される補償方法であって、
前記マスタ装置及び前記スレーブ装置における力触覚の伝達を制御する制御ステップと、
前記操作者による前記マスタ装置に対する操作の状態を判定する判定ステップと、
前記判定ステップによる判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、前記制御ステップによる力触覚の伝達に影響する摩擦に対して摩擦補償を行う補償ステップと、
を備えることを特徴とする補償方法。
【請求項9】
操作者の操作が入力されるマスタ装置と、前記マスタ装置に入力された操作に応じて動作するスレーブ装置とにおける力触覚の伝達を制御する制御機能と、
前記操作者による前記マスタ装置に対する操作の状態を判定する判定機能と、
前記判定機能による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、前記制御機能による力触覚の伝達に影響する摩擦に対して摩擦補償を行う補償機能と、
をコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、補償システム、補償装置、補償方法及びプログラムに関する。
【背景技術】
【0002】
従来、操作者の操作が入力されるマスタ装置と、マスタ装置に入力される操作に応じて動作するスレーブ装置とにおいて、スレーブ装置側の動作に応じた反力を、マスタ装置側に力触覚として伝達するというバイラテラル制御の技術が知られている。また、このようなバイラテラル制御を行う際に、摩擦力を補償する構成が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したような摩擦力の補償を行うことで、操作者による操作を支援することができる。しかしながら、摩擦力の補償を常時行った場合に、不具合が生じる場合がある。例えば、摩擦力の補償を常時行ったことにより、操作者が意図せず生じた振動が増幅してしまうような場合がある。
【0005】
本発明は、このような状況に鑑みてなされたものである。そして、本発明の課題は、より適切な状況で、摩擦補償を行うことである。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一態様に係る補償システムは、
操作者の操作が入力されるマスタ装置と、前記マスタ装置に入力された操作に応じて動作するスレーブ装置と、を含む補償システムであって、
前記マスタ装置及び前記スレーブ装置における力触覚の伝達を制御する制御手段と、
前記操作者による前記マスタ装置に対する操作の状態を判定する判定手段と、
前記判定手段による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、前記制御手段による力触覚の伝達に影響する摩擦に対して摩擦補償を行う補償手段と、
を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、より適切な状況で、摩擦補償を行うことが可能となる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態に係る補償システム1の全体構成を示す模式図である。
【
図2】制御装置30で実行される力触覚伝達制御の基本的原理を示す模式図である。
【
図3】補償システム1における制御系統のハードウェア構成を示すブロック図である。
【
図4】制御装置30を構成する情報処理装置のハードウェア構成を示す模式図である。
【
図5】補償システム1により行われる補償制御処理の概要を示す模式図である。
【
図6】補償システム1の機能的構成を示すブロック図である。
【
図7】制御装置30が実行する補償制御処理の流れを説明するフローチャートである。
【
図8】変形例3における補償システム1の機能的構成を示すブロック図である。
【
図9】変形例3における制御装置30aが実行する補償制御処理の流れを説明するフローチャートである。
【
図10】カテーテルの速度と摩擦補償量との関係を示す模式図である。
【
図11】式(6)に示す忘却係数付き移動平均値の忘却係数を示す模式図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を参照して説明する。
【0010】
[構成]
図1は、本発明の一実施形態に係る補償システム1の全体構成を示す模式図である。
図1に示すように、本実施形態に係る補償システム1は、機械的に分離したマスタ装置10とスレーブ装置20とを含むマスタ・スレーブシステムとして構成される。一例として、本実施形態における補償システム1は、マスタ装置10が操作者により操作されるマニピュレータを構成し、スレーブ装置20が被検体に挿入されるエンドエフェクタを備えたカテーテルシステムを構成するものとする。
【0011】
図1において、補償システム1は、マスタ装置10と、スレーブ装置20と、制御装置30と、を含んで構成され、マスタ装置10及びスレーブ装置20と、制御装置30とは、ネットワーク40を介して有線または無線通信可能に構成されている。なお、補償システム1は、ディスプレイLと、複数のカメラCとを適宜備えることが可能である。カメラCとして、マスタ装置10を操作する操作者の外観(例えば、マスタ装置10に対する操作の状態)を撮影するビデオカメラ、スレーブ装置20が挿入される被検体の外観(例えば、スレーブ装置20の挿入状態)を撮影するビデオカメラ、あるいは、X線により被検体の内部(例えば、被検体の血管や臓器)を撮影するX線カメラ等の種々の撮影装置を用いることができる。また、複数のカメラCによって撮影された各種画像や、制御装置30から出力される各種情報を表示する複数のディスプレイLを備えることもできる。
【0012】
マスタ装置10は、機械的に構成された従来のカテーテルに対する操作と同様の操作を受け付け、入力された操作により移動する可動部(マニピュレータの可動部材等)の位置を検出する。マスタ装置10は、検出した可動部の位置を表す情報を制御装置30に送信する。また、マスタ装置10は、入力される操作に対し、制御装置30の指示に従って、アクチュエータにより反力を出力する。
【0013】
具体的には、マスタ装置10は、カテーテルを進退させる操作(例えば、血管内に挿入していく操作または病変付近で力触覚を検知するために微動させる操作等)、カテーテルを軸回りに回転させる操作(例えば、エンドエフェクタの向きを変化させる操作等)、及び、エンドエフェクタを動作させる操作(例えば、エンドエフェクタがバルーンである場合、これを拡張、収縮させる操作、またエンドエフェクタが鉗子等の場合、これを開閉する操作等)を受け付け、これらの操作に対する反力を付与すると共に、それぞれの操作により移動される可動部の位置を表す情報を制御装置30に送信する。
【0014】
スレーブ装置20は、制御装置30の指示に従って、アクチュエータを駆動することにより、マスタ装置10に入力された操作に対応する動作を行い、動作により移動する可動部(アクチュエータの可動子あるいはアクチュエータによって移動されるカテーテル等)の位置を検出する。スレーブ装置20が動作することにより、スレーブ装置20に対して環境から各種外力が入力する。この結果、スレーブ装置20における可動部の位置は、アクチュエータの出力に対して各種外力が作用した結果を示すものとなる。そして、スレーブ装置20は、検出した可動部の位置を表す情報を制御装置30に送信する。ここで、スレーブ装置20に対して環境から入力する各種外力には、例えば、被検体に挿入されたカテーテルが血管から受けるスラスト方向の抵抗力と、カテーテル先端に配置されたガイドワイヤやエンドエフェクタ等が病変や臓器や血管に接触した場合の当接力が含まれる。
【0015】
ここで、スレーブ装置20におけるスラスト方向の抵抗力が大きい場合、カテーテルに入力する他の外力(病変や器官に接触した場合の当接力等)を知覚し難くなる可能性がある。本実施形態においては、後述するように、所定の摩擦補償量を、マスタ装置10における操作者の操作をアシストするための力として出力する。これにより、マスタ装置10を操作する操作者の負荷を低減しつつ、スレーブ装置20の状態変化を知覚させ易くすることができる。すなわち、摩擦補償により、マスタ装置10における操作者の操作をアシストすることができる。
【0016】
制御装置30は、例えば、PC(Personal Computer)あるいはサーバコンピュータ等の情報処理装置によって構成され、マスタ装置10、スレーブ装置20、ディスプレイL及びカメラCを制御する。例えば、制御装置30は、マスタ装置10及びスレーブ装置20の可動部の位置(ロータリーエンコーダによって検出されるアクチュエータの回転角度あるいはリニアエンコーダによって検出される可動部の進退位置等)を取得し、マスタ装置10及びスレーブ装置20の間で力触覚を伝達するための制御を実行する。
【0017】
本実施形態における制御装置30は、マスタ装置10とスレーブ装置20とをマスタ・スレーブシステムとして動作させる際に、可動部の位置を表す情報(アクチュエータの可動子の位置あるいはアクチュエータによって移動される部材の位置等を表す情報)を基に算出した実空間のパラメータ(入力ベクトル)を、位置と力とを独立して取り扱うことが可能な仮想空間に座標変換(変換行列によって変換)する。すなわち、入力ベクトルが、位置と力とが互いに関連する斜交座標系の実空間から、位置と力とが互いに独立した直交座標系の仮想空間に座標変換される。座標変換によって算出されたパラメータは、仮想空間において、入力ベクトルに対応する位置及び力の状態値を表すものとなる。そして、制御装置30は、座標変換後の仮想空間において、入力ベクトルから算出された位置及び力の状態値を、位置及び力の制御(ここでは力触覚の伝達)を行うための位置及び力それぞれの目標値に追従させる演算を行い、演算結果を実空間に戻すための逆変換(変換行列の逆行列による変換)を行う。さらに、制御装置30は、逆変換によって取得された実空間のパラメータ(電流指令値等)に基づいて、各アクチュエータを駆動することにより、マスタ装置10とスレーブ装置20との間で力触覚を伝達するマスタ・スレーブシステムを実現する。
【0018】
なお、位置と速度(または加速度)あるいは角度と角速度(または角加速度)は、微積分演算により置換可能なパラメータであるため、位置あるいは角度に関する処理を行う場合、適宜、速度あるいは角速度等に置換することが可能である。
【0019】
このような構成において、本実施形態における補償システム1は、上述のようにマスタ装置10とスレーブ装置20との間で力触覚を伝達するマスタ・スレーブシステムを実現すると共に、補償制御処理を行う。ここで、補償制御処理は、力触覚の伝達時に摩擦補償を行うに際し、適切な状況で摩擦補償を行うための制御を行う一連の処理である。
具体的に、補償制御処理において、補償システム1は、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。また、補償システム1は、状態判定部352は、操作者によるマスタ装置10に対する操作の状態を判定する。さらに、補償システム1は、状態判定部352による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、力触覚伝達部354による力触覚の伝達に影響する摩擦に対して摩擦補償を行う。
【0020】
このように、補償システム1は、力触覚の伝達時に摩擦補償を行うに際し、操作者によるマスタ装置10に対する操作の状態に基づいて摩擦補償を行うか否かを決定する。すなわち、摩擦力の補償を常時行うのではなく、操作の状態に対応した適切なタイミングで摩擦補償を行う。これにより、例えば、摩擦力の補償を常時行ったことにより、操作者が意図せず生じた振動が増幅してしまうような不具合の発生を防止することができる。
従って、補償システム1によれば、より適切な状況で、摩擦補償を行う、という課題を解決することができる。
【0021】
図2は、制御装置30で実行される力触覚伝達制御の基本的原理を示す模式図である。
図2に示す基本的原理は、可動部の位置を表す情報(可動部の現在位置)を入力として、速度あるいは力の少なくとも一方の領域における演算を行うことにより、アクチュエータの動作を決定するものである。
すなわち、本発明の基本的原理は、制御対象システムSと、機能別力・速度割当変換ブロックFTと、理想力源ブロックFCあるいは理想速度源ブロックPCの少なくとも1つと、逆変換ブロックIFTとを含む制御則として表される。
【0022】
制御対象システムSは、アクチュエータを備えるマスタ装置10あるいはスレーブ装置20であり、加速度等に基づいてアクチュエータの制御を行う。ここで、上述したように、加速度、速度及び位置は、微積分によって相互に換算可能な物理量であるため、加速度、速度及び位置のいずれを用いて制御することとしてもよい。ここでは、主として、位置から算出される速度を用いて制御則を表現するものとする。
【0023】
機能別力・速度割当変換ブロックFTは、制御対象システムSの機能に応じて設定される速度及び力の領域への制御エネルギーの変換を定義するブロックである。具体的には、機能別力・速度割当変換ブロックFTでは、制御対象システムSの機能の基準となる値(基準値)と、可動部の現在位置とを入力とする座標変換が定義されている。この座標変換は、一般に、基準値及び現在速度を要素とする入力ベクトルを速度の制御目標値を算出するための速度からなる出力ベクトルに変換すると共に、基準値及び現在の力を要素とする入力ベクトルを力の制御目標値を算出するための力からなる出力ベクトルに変換するものである。具体的には、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(1)及び(2)のように一般化して表される。
【0024】
【0025】
ただし、式(1)において、x’1~x’n(nは1以上の整数)は速度の状態値を導出するための速度ベクトルであり、x’a~x’m(mは1以上の整数)は、基準値及びアクチュエータの作用に基づく速度(アクチュエータの可動子の速度またはアクチュエータが移動させる部材の速度)を要素とするベクトル、h1a~hnmは機能を表す変換行列の要素である。また、式(2)において、f’’1~f’’n(nは1以上の整数)は力の状態値を導出するための力ベクトルであり、f’’a~f’’m(mは1以上の整数)は、基準値及びアクチュエータの作用に基づく力(アクチュエータの可動子の力またはアクチュエータが移動させる部材の力)を要素とするベクトルである。
【0026】
機能別力・速度割当変換ブロックFTにおける座標変換を、実現する機能に応じて設定することにより、各種動作を実現したり、スケーリングを行ったりすることができる。
すなわち、本発明の基本的原理では、機能別力・速度割当変換ブロックFTにおいて、アクチュエータ単体の変数(実空間上の変数)を、実現する機能を表現するシステム全体の変数群(仮想空間上の変数)に“変換”し、速度の制御エネルギーと力の制御エネルギーとに制御エネルギーを割り当てる。換言すると、本発明の基本的原理では、速度と力とが互いに関連する座標空間から、速度と力とが互いに独立した座標空間に変換した上で、速度及び力の制御に関する演算を行う。そのため、アクチュエータ単体の変数(実空間上の変数)のまま制御を行う場合と比較して、速度の制御エネルギーと力の制御エネルギーとを独立に与えることが可能となっている。
【0027】
理想力源ブロックFCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、力の領域における演算を行うブロックである。理想力源ブロックFCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の力に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、実現する機能を示す情報を拡大・縮小した値を設定したりできる。
【0028】
理想速度源ブロックPCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、速度の領域における演算を行うブロックである。理想速度源ブロックPCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の速度に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、実現する機能を示す情報を拡大・縮小した値を設定したりできる。
【0029】
逆変換ブロックIFTは、速度及び力の領域の値を制御対象システムSへの入力の領域の値(例えば電圧値または電流値等)に変換するブロックである。
このような基本的原理により、制御対象システムSのアクチュエータにおける位置の情報が機能別力・速度割当変換ブロックFTに入力されると、位置の情報に基づいて得られる速度及び力の情報を用いて、機能別力・速度割当変換ブロックFTにおいて、機能に応じた位置及び力の領域それぞれの制御則が適用される。そして、理想力源ブロックFCにおいて、機能に応じた力の演算が行われ、理想速度源ブロックPCにおいて、機能に応じた速度の演算が行われ、力及び速度それぞれに制御エネルギーが分配される。
【0030】
理想力源ブロックFC及び理想速度源ブロックPCにおける演算結果は、制御対象システムSの制御目標を示す情報となり、これらの演算結果が逆変換ブロックIFTにおいてアクチュエータの入力値とされて、制御対象システムSに入力される。
その結果、制御対象システムSのアクチュエータは、機能別力・速度割当変換ブロックFTによって定義された機能に従う動作を実行し、目的とする装置の動作が実現される。
【0031】
また、スケーリング(力あるいは位置の増幅や縮小)を伴う力触覚伝達機能が実現される場合、
図2における機能別力・速度割当変換ブロックFTにおける座標変換は、次式(3)及び(4)として表される。
【0032】
【0033】
ただし、式(3)において、x’pは速度の状態値を導出するための速度、x’fは力の状態値に関する速度である。また、x’mは基準値(マスタ装置10からの入力)の速度(マスタ装置10の現在位置の微分値)、x’sはスレーブ装置20の現在の速度(現在位置の微分値)である。また、式(4)において、fpは速度の状態値に関する力、ffは力の状態値を導出するための力である。また、fmは基準値(マスタ装置10からの入力)の力、fsはスレーブ装置20の現在の力である。
【0034】
式(3)及び式(4)に示す座標変換とした場合、スレーブ装置20の位置がα倍(αは正数)、スレーブ装置20の力がβ倍(βは正数)されて、マスタ装置10に伝達されることとなる。そして、例えば、α=1、且つ、β=1とすることにより、力触覚が増幅(すなわち、拡大)や減衰(すなわち、縮小)することなく伝達される。一方で、例えば、このαの値及びβの値を目的に応じて設定することにより、伝達される力触覚を増幅(すなわち、拡大)したり、減衰(すなわち、縮小)したりするというスケーリングを実現することが可能となる。
このようなスケーリングを伴う力・触覚伝達機能によって、例えば、補償制御処理を実行する際に、操作者からマスタ装置10に対して入力された力を増幅してスレーブ装置20に伝達する等の方法で、摩擦補償を実現することが可能となる。
【0035】
[ハードウェア構成]
次に、補償システム1における制御系統のハードウェア構成について説明する。
図3は、補償システム1における制御系統のハードウェア構成を示すブロック図である。
図3に示すように、補償システム1は、制御系統のハードウェア構成として、PCあるいはサーバコンピュータ等の情報処理装置によって構成される制御装置30と、マスタ装置10の制御ユニット101と、通信ユニット102と、挿入用アクチュエータ103と、検知用アクチュエータ104と、回転用アクチュエータ105と、操作用アクチュエータ106と、リニアエンコーダ107,108と、ロータリーエンコーダ109,110と、ドライバ111~114と、スレーブ装置20の制御ユニット201と、通信ユニット202と、挿入用アクチュエータ203と、検知用アクチュエータ204と、回転用アクチュエータ205と、操作用アクチュエータ206と、リニアエンコーダ207,208と、ロータリーエンコーダ209,210と、ドライバ211~214と、ディスプレイLと、カメラCと、を備えている。
【0036】
マスタ装置10の制御ユニット101は、プロセッサ及びメモリ等を備えるマイクロコンピュータによって構成され、マスタ装置10の動作を制御する。例えば、制御ユニット101は、制御装置30から送信される制御パラメータに従って、マスタ装置10の挿入用アクチュエータ103、検知用アクチュエータ104、回転用アクチュエータ105及び操作用アクチュエータ106の駆動を制御する。
通信ユニット102は、ネットワーク40を介してマスタ装置10が他の装置との間で行う通信を制御する。
【0037】
挿入用アクチュエータ103は、例えば直動型モータによって構成され、制御ユニット101の指示に従って、操作者がマスタ装置10に入力する、カテーテルを血管内に挿入していくために進退させる操作に対して、反力を付与する。
検知用アクチュエータ104は、例えばボイスコイルモータによって構成され、制御ユニット101の指示に従って、操作者がマスタ装置10に入力する、カテーテルを病変付近で処置のために進退させる操作に対して、反力を付与する。
本実施形態においては、挿入用アクチュエータ103の方が検知用アクチュエータ104に比べて長いストロークを有する一方、検知用アクチュエータ104の方が挿入用アクチュエータ103に比べて高精度な位置及び力の制御を行うことが可能となっている。
回転用アクチュエータ105は、例えば回転型モータによって構成され、制御ユニット101の指示に従って、操作者がマスタ装置10を進退方向に沿う回転軸周りに回転させる操作に対して、反力を付与する。
操作用アクチュエータ106は、例えば回転型モータによって構成され、制御ユニット101の指示に従って、操作者がエンドエフェクタを動作させるためのレバー(把持部)等に入力した操作に対して、反力を付与する。
【0038】
リニアエンコーダ107は、挿入用アクチュエータ103の可動子の位置(直動軸における進退位置)を検出する。
リニアエンコーダ108は、検知用アクチュエータ104の可動子の位置(直動軸における進退位置)を検出する。
ロータリーエンコーダ109は、回転用アクチュエータ105の可動子の位置(回転角度)を検出する。
ロータリーエンコーダ110は、操作用アクチュエータ106の可動子の位置(回転角度)を検出する。
【0039】
ドライバ111は、制御ユニット101の指示に従って、挿入用アクチュエータ103に駆動電流を出力する。
ドライバ112は、制御ユニット101の指示に従って、検知用アクチュエータ104に駆動電流を出力する。
ドライバ113は、制御ユニット101の指示に従って、回転用アクチュエータ105に駆動電流を出力する。
ドライバ114は、制御ユニット101の指示に従って、操作用アクチュエータ106に駆動電流を出力する。
【0040】
判定用センサ115は、制御装置30が摩擦補償を行うか否かを判定するための物理量を測定する。本実施形態において、判定用センサ115は、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定するための圧力センサにより構成される。そして、判定用センサ115は、カテーテルであるマスタ装置10を操作する際に、操作者により把持される操作部に配置される共に、把持時と非把持時とで変動する圧力を感圧素子により計測して、電気信号に変換する。また、判定用センサ115は、変換後の電気信号を、マスタ装置10の操作部に加えられる圧力の変動を示す情報として制御装置30に送信する。
この場合に、判定用センサ115が配置される操作部の構造や、判定用センサ115の操作部における配置位置は特に限定されない。また、判定用センサ115の構造や、圧力の測定原理についても特に限定されない。ただし、操作者によるマスタ装置10への操作(ここでは、カテーテルを血管内に挿入していくために進退させる操作や、エンドエフェクタを動作させる操作)を阻害しない構造や配置位置等にすることが好ましい。
【0041】
スレーブ装置20の制御ユニット201は、プロセッサ及びメモリ等を備えるマイクロコンピュータによって構成され、スレーブ装置20の動作を制御する。例えば、制御ユニット201は、制御装置30から送信される制御パラメータに従って、スレーブ装置20の挿入用アクチュエータ203、検知用アクチュエータ204、回転用アクチュエータ205及び操作用アクチュエータ206の駆動を制御する。
通信ユニット202は、ネットワーク40を介してスレーブ装置20が他の装置との間で行う通信を制御する。
【0042】
挿入用アクチュエータ203は、例えば直動型モータによって構成され、制御ユニット201の指示に従って、操作者がマスタ装置10に入力した、カテーテルを血管内に挿入していくために進退させる操作に応じて、スレーブ装置20のカテーテルを進退させる。
検知用アクチュエータ204は、例えばボイスコイルモータによって構成され、制御ユニット201の指示に従って、操作者がマスタ装置10に入力した、カテーテルを病変付近で処置のために進退させる操作に応じて、スレーブ装置20のカテーテルを進退させる。
本実施形態においては、挿入用アクチュエータ203の方が検知用アクチュエータ204に比べて長いストロークを有する一方、検知用アクチュエータ204の方が挿入用アクチュエータ203に比べて高精度な位置及び力の制御を行うことが可能となっている。
回転用アクチュエータ205は、例えば回転型モータによって構成され、制御ユニット201の指示に従って、操作者がマスタ装置10に入力した操作に応じて、スレーブ装置20のカテーテルを進退方向に沿う回転軸周りに回転させる。
操作用アクチュエータ206は、例えば回転型モータによって構成され、制御ユニット201の指示に従って、操作者がマスタ装置10に入力した操作に応じて、エンドエフェクタを動作(拡張、収縮動作や開閉動作等)させる。
【0043】
リニアエンコーダ207は、挿入用アクチュエータ203の可動子の位置(直動軸における進退位置)を検出する。
リニアエンコーダ208は、検知用アクチュエータ204の可動子の位置(直動軸における進退位置)を検出する。
ロータリーエンコーダ209は、回転用アクチュエータ205の可動子の位置(回転角度)を検出する。
ロータリーエンコーダ210は、操作用アクチュエータ206の可動子の位置(回転角度)を検出する。
【0044】
ドライバ211は、制御ユニット201の指示に従って、挿入用アクチュエータ203に駆動電流を出力する。
ドライバ212は、制御ユニット201の指示に従って、検知用アクチュエータ204に駆動電流を出力する。
ドライバ213は、制御ユニット201の指示に従って、回転用アクチュエータ205に駆動電流を出力する。
ドライバ214は、制御ユニット201の指示に従って、操作用アクチュエータ206に駆動電流を出力する。
【0045】
ディスプレイLは、マスタ装置10の操作者が画面を視認できる場所に設置され、制御装置30によって表示を指示された画像(カメラCによって撮影された操作者の可視光画像や、被検体の可視光画像あるいはX線画像等)や、制御装置30によって表示を指示された情報を表示する。
カメラCは、スレーブ装置20がカテーテルを挿入する被検体を撮影可能な場所に設置され、被検体の画像(可視光画像あるいはX線画像等)を撮影し、撮影した画像を制御装置30に送信する。
【0046】
図4は、制御装置30を構成する情報処理装置のハードウェア構成を示す模式図である。
図4に示すように、制御装置30は、プロセッサ311と、ROM(Read Only Memory)312と、RAM(Random Access Memory)313と、バス314と、入力部315と、出力部316と、記憶部317と、通信部318と、ドライブ319と、を備えている。
【0047】
プロセッサ311は、ROM312に記録されているプログラム、または、記憶部317からRAM313にロードされたプログラムに従って各種の処理を実行する。
RAM313には、プロセッサ311が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0048】
プロセッサ311、ROM312及びRAM313は、バス314を介して相互に接続されている。バス314には、入力部315、出力部316、記憶部317、通信部318及びドライブ319が接続されている。
【0049】
入力部315は、各種ボタン等で構成され、指示操作に応じて各種情報を入力する。
出力部316は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
なお、制御装置30がスマートフォンやタブレット端末として構成される場合には、入力部315と出力部316のディスプレイとを重ねて配置し、タッチパネルを構成することとしてもよい。
記憶部317は、ハードディスクあるいはDRAM(Dynamic Random Access Memory)等で構成され、各サーバで管理される各種データを記憶する。
通信部318は、ネットワークを介して制御装置30が他の装置との間で行う通信を制御する。
【0050】
ドライブ319には、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等よりなる、リムーバブルメディア331が適宜装着される。ドライブ319によってリムーバブルメディア331から読み出されたプログラムは、必要に応じて記憶部317にインストールされる。
【0051】
[制御補償処理の概要]
次に、補償システム1により行われる補償制御処理の概要について説明する。
図5は、補償システム1により行われる補償制御処理の概要を示す模式図である。
まず
図5(A)は、操作者が操作を行っておらず、マスタ装置10の操作部を把持していない状態(非把持時)に関するものである。非把持時において、マスタ装置10は操作者により支えられていない。そのため、模式的に図示するように、マスタ装置10に加えられる外力の影響に起因する振動が生じやすい。すなわち、非把持時は、把持時と比較して、相対的に操作者の意図しない振動が生じやすい。また、振動が生じた場合に、この振動の減衰要因がスレーブ装置20に対して被検体等から加えられる摩擦のみであるため、模式的に図示するように、振動が減衰しにくい。
【0052】
一方で、
図5(B)は、操作者が操作を行うためにマスタ装置10の操作部を把持している状態(把持時)に関するものである。把持時において、マスタ装置10は操作者により支えられている。そのため、模式的に図示するように、マスタ装置10に加えられる外力の影響に起因する振動が生じにくいやすい。すなわち、把持時は、非把持時と比較して、相対的に操作者の意図しない振動が生じにくい。また、振動が生じた場合に、この振動の減衰要因として、スレーブ装置20に対して被検体等から加えられる摩擦のみならず、操作者の把持による把持抵抗があるため、模式的に図示するように、振動が減衰しやすい。
【0053】
そこで、補償システム1は、操作者によるマスタ装置10に対する操作の状態の判定として、操作者によりマスタ装置10が把持されている状態であるか否か判定する。そして、補償システム1は、判定結果が、操作者によりマスタ装置10が把持されている状態であるとの判定結果である場合に、摩擦補償を行うと決定する。
これにより、操作者が操作を行うためにマスタ装置10が把持されており、振動の発生しにくい状況の場合に、摩擦補償により適切に操作者をアシストすることができる。一方で、マスタ装置10が把持されていないという操作者へのアシストが不要な場合には、摩擦補償を行わないことにより、操作者が意図せず生じた振動を増幅してしまうことを防止することができる。
以上が補償制御処理の概要である。
【0054】
[機能的構成]
次に、補償システム1の機能的構成について説明する。
図6は、補償システム1の機能的構成を示すブロック図である。
図6に示すように、補償システム1では、制御装置30が各種処理を実行することにより、プロセッサ311において、センサ情報取得部351と、状態判定部352と、摩擦補償部353と、力触覚伝達部354と、が機能する。また、記憶部17には、制御パラメータ記憶部371が形成される。
【0055】
制御パラメータ記憶部371は、制御装置30がマスタ装置10とスレーブ装置20との間で力触覚を伝達する制御において取得された制御パラメータを時系列に記憶する。本実施形態において、制御パラメータとして記憶される情報は、力触覚の伝達制御で取得される種々のパラメータとすることが可能であり、力触覚の伝達制御が再現可能な各種情報含むことができる。例えば、マスタ装置10及びスレーブ装置20において取得されるセンサ情報、これらのセンサ情報を座標変換した状態値、各アクチュエータへの電流指令値あるいは力触覚の伝達制御のために制御装置30に設定される各種設定値等を制御パラメータとして記憶することができる。
【0056】
センサ情報取得部351は、マスタ装置10及びスレーブ装置20に設置された各種センサによって検出されたセンサ情報を取得する。例えば、センサ情報取得部351は、リニアエンコーダ107,108,207,208及びロータリーエンコーダ109,110,209,210によって検出された各アクチュエータの可動子の位置(進退位置または回転角度)を示す情報を取得する。また、センサ情報取得部351は、判定用センサ115によって測定された、マスタ装置10の操作部に加えられる圧力の変動を示す情報を取得する。
そして、センサ情報取得部351は、これらの取得したセンサ情報を時系列のデータとして、制御パラメータ記憶部371に記憶する。
【0057】
状態判定部352は、操作者によるマスタ装置10に対する操作の状態として、操作者によりマスタ装置10の操作部が把持されている状態であるか否か判定する。状態判定部352は、判定用センサ115によって測定された、マスタ装置10の操作部に加えられる圧力の変動を示す情報に基づいて、マスタ装置10の操作部に対して加えられる圧力の変動を検出する。そして、状態判定部352は、変動する圧力が所定の基準を満たした場合に、操作者によりマスタ装置10の操作部が把持されている状態であると判定する。一方で、変動する圧力が所定の基準を満たしていない場合に、操作者によりマスタ装置10の操作部が把持されていない状態であると判定する。
ここで、この所定の基準は、例えば、変動した圧力の瞬時値がマスタ装置10の構造等に基づいて設定された閾値を超えたことや、閾値を超えた状態が所定時間以上継続したこととすることができる。
そして、状態判定部352は、この判定結果を摩擦補償部353に対して出力する。
【0058】
摩擦補償部353は、状態判定部352の判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、スレーブ装置20に入力する力を所定の増幅率で増幅してマスタ装置10に伝達する制御を後述の力触覚伝達部354に行わせることで摩擦補償を行う。例えば、摩擦補償部353は、状態判定部352による判定結果が、操作者によりマスタ装置10が把持されている状態であるとの判定結果である場合に、摩擦補償を行うと決定する。
【0059】
まず、摩擦補償を行うと決定した場合、摩擦補償部353は、マスタ装置10において操作者に対して出力する摩擦補償量(操作をアシストするための力)を算出する。例えば、摩擦補償部353は、スレーブ装置20において検出される力と、予め設定された所定の増幅率(1より大きい任意の値)とを乗算することで摩擦補償量を算出する。そして、摩擦補償部353は、算出した摩擦補償量を力触覚伝達部354に対して出力する。この場合、所定の増幅率は、例えば、過去に被検体または被検体を模した生体モデルに対してカテーテルを挿入した際の、実測値、統計値またはシミュレーションにより得られる推定値等に基づいて設定することができる。また、この所定の増幅率は、固定された値であってもよいが、可変する値であってもよい。例えば、マスタ装置10及びスレーブ装置20を実現するデバイスの種類や、操作者の操作により実現する施術の種類や、操作者による設定指示や、スレーブ装置20の被検体への挿入状態等に基づいて、適切な値に可変されてもよい。
【0060】
一方で、摩擦補償を行わないと決定した場合、摩擦補償部353は、摩擦補償量を算出することなく、スレーブ装置20において検出された力そのものを力触覚伝達部354に対して出力する。
【0061】
力触覚伝達部354は、
図2に示す制御アルゴリズム及び摩擦補償部353からの入力に従って、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。なお、
図2に示す制御アルゴリズムの説明として上述したように、力触覚伝達部354は、スレーブ装置20に入力した外力をマスタ装置10に拡大して伝達する場合、スレーブ装置20において検出された力を増幅(すなわち、拡大)してマスタ装置10に伝達することができる。
【0062】
まず、摩擦補償部353から摩擦補償量が入力された場合(すなわち、摩擦補償を行う場合)、力触覚伝達部354は、摩擦補償部353によって算出された摩擦補償量で、スレーブ装置20に入力する摩擦力を補償する制御を行う。すなわち、力触覚伝達部354は、所定の増幅率に基づいて算出された(すなわち、増幅された)摩擦補償量を、マスタ装置10における操作者の操作をアシストするための力としてマスタ装置10に伝達することにより摩擦補償を実現する。
【0063】
一方で、摩擦補償部353から、スレーブ装置20において検出される力そのものが入力された場合(すなわち、摩擦補償を行わない場合)、スレーブ装置20において検出された力を、マスタ装置10に伝達する。すなわち、力が増幅(すなわち、拡大)や減衰(すなわち、縮小)することなく伝達される。
【0064】
[動作]
次に、補償システム1の動作を説明する。
【0065】
[補償制御処理]
図7は、制御装置30が実行する補償制御処理の流れを説明するフローチャートである。
補償制御処理は、操作者からの入力部315を介した補償制御処理の実行指示操作や、通信部318を介した外部装置(例えば、マスタ装置10)からの通信による補償制御処理の実行指示がなされることに対応して開始される。本実施形態において、補償制御処理を開始する場合、スレーブ装置20の動作を補助する補助者が手動により、または、マスタ装置10からの遠隔的な操作により、カテーテルの先端が所定距離だけ被検体に挿入された状態(例えば、1~10[cm]程度挿入された状態)において開始するものとする。これにより、挿入初期の外力の変化が大きい状態において、制御装置30の制御が不安定化することを抑制できる。
【0066】
ステップS11において、センサ情報取得部351は、マスタ装置10及びスレーブ装置20に設置された各種センサによって検出された情報(センサ情報)を取得する。ステップS11において取得されたセンサ情報は、時系列のデータとして制御パラメータ記憶部371に記憶される。
【0067】
ステップS12において、力触覚伝達部354は、操作者によるマスタ装置10に対する操作の状態として、操作者によりマスタ装置10の操作部が把持されている状態であるか否か判定する。
【0068】
ステップS13において、摩擦補償部353は、状態判定部352の判定結果に基づいて摩擦補償を行うか否かを決定する。摩擦補償を行うと決定した場合は、ステップS13においてYesと判定され、処理はステップS14に進む。一方で、摩擦補償を行わないと決定した場合は、ステップS13においてNoと判定され、処理はステップS16に進む。
【0069】
ステップS14において、摩擦補償部353は、マスタ装置10において操作者に対して出力する摩擦補償量(操作をアシストするための力)を算出する。
【0070】
ステップS15において、力触覚伝達部354は、ステップS14にて算出された摩擦補償量に基づいた摩擦補償をしながら、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。
【0071】
ステップS16において、ステップS16において、力触覚伝達部354は、摩擦補償をせずに、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。
【0072】
ステップS17において、力触覚伝達部354は、補償制御処理の終了が指示されたか否かの判定を行う。補償制御処理の終了が指示された場合は、ステップS17においてYesと判定され、補償制御処理は終了する。一方で、補償制御処理の終了が指示されていない場合は、ステップS17においてNoと判定され、処理はステップS11に戻り繰り返される。
【0073】
以上説明した補償制御処理によれば、補償システム1は、力触覚の伝達時に摩擦補償を行うに際し、操作者によるマスタ装置10に対する操作の状態に基づいて摩擦補償を行うか否かを決定する。すなわち、摩擦力の補償を常時行うのではなく、操作の状態に対応した適切なタイミングで摩擦補償を行う。これにより、例えば、摩擦力の補償を常時行ったことにより、操作者が意図せず生じた振動が増幅してしまうような不具合の発生を防止することができる。
従って、補償システム1によれば、より適切な状況で、摩擦補償を行う、という課題を解決することができる。
【0074】
[変形例1]
上述の実施形態において、判定用センサ115は、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定するための圧力センサにより構成されるものとして説明した。これに限らず、他のセンサにより判定用センサ115を構成するようにしてもよい。例えば、圧力センサに代えて、温度センサによって判定用センサ115を構成するようにしてもよい。
【0075】
そして、判定用センサ115は、カテーテルであるマスタ装置10を操作する際に、操作者により把持される操作部に配置される共に、把持時と非把持時とで変動する温度を計測して、電気信号に変換する。また、判定用センサ115は、変換後の電気信号を、マスタ装置10の操作部に加えられる温度の変動を示す情報として制御装置30に送信する。
【0076】
この場合に、判定用センサ115が配置される操作部の構造や、判定用センサ115の操作部における配置位置は特に限定されない。また、判定用センサ115の構造や、温度の測定原理についても特に限定されない。さらに、判定用センサ115は接触式のものであってもよいし、非接触式のものであってもよい。また、判定用センサ115を非接触式の温度センサとする場合、判定用センサ115は必ずしも操作部に配置される必要はなく、操作部近傍の非接触で操作者の温度を測定できる位置に配置されてもよい。
ただし、操作者によるマスタ装置10への操作(ここでは、カテーテルを血管内に挿入していくために進退させる操作や、エンドエフェクタを動作させる操作)を阻害しない構造や配置位置等にすることが好ましい。
【0077】
また、上述の実施形態では、状態判定部352は、変動する圧力が所定の基準を満たした場合に、操作者によりマスタ装置10の操作部が把持されている状態であると判定した。これに対して、本変形例では、状態判定部352は、変動する温度が所定の基準を満たした場合に、操作者によりマスタ装置10の操作部が把持されている状態であると判定する。この所定の基準は、変動した温度の瞬時値が、人体の手の温度に近い閾値(すなわち、絶対値)の温度を超えたことや、この閾値を超えた状態が所定時間以上継続したこととすることができる。なお、温度は室温の影響も受けるので、例えば、計測開始時の温度(すなわち、室温に近い温度)から、所定値以上の温度を閾値(すなわち、相対値)としてもよい。
本変形例によれば、補償システム1に含まれるマスタ装置10の形状等の実装条件にて圧力センサが不適当な場合等に、圧力センサに代えて温度センサを利用することが可能となる。
【0078】
[変形例2]
上述の実施形態や第1の変形例において、判定用センサ115を圧力センサや温度センサで構成し、この判定用センサ115の測定した圧力や温度に基づいて、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定していた。これに限らず、判定用センサ115の測定した情報ではなく、例えば、画像の解析結果に基づいて、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定してもよい。なお、本変形例2を実現する場合、マスタ装置10において判定用センサ115を省略した構成とすることも可能である。
【0079】
上述したように、補償システム1は、複数のカメラCを適宜備えることが可能である。そこで、例えば、カメラCとして、マスタ装置10を操作する操作者の外観(例えば、マスタ装置10に対する操作の状態)を撮影するビデオカメラを備える。この場合、状態判定部352は、このカメラCにより撮影された画像を、既存の画像解析の手法により解析する。そして、その解析結果に基づいて、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定する。
【0080】
あるいは、カメラCとして、X線により被検体の内部(例えば、被検体の血管や臓器)を撮影するX線カメラを備える。この場合、状態判定部352は、このカメラCにより撮影された画像を、既存の異常検出アルゴリズムの手法により解析する。例えば、異常検出アルゴリズムにより、マスタ装置10の操作者が、操作のためにマスタ装置10を把持している場合を正常とし、非把持の場合を異常として検出する。この解析結果に基づいて、マスタ装置10の操作者が、操作のためにマスタ装置10を把持しているか否かを判定する。
なお、何れの場合にも、例えば、機械学習の手法を組み合わせ、予め学習を行うことにより、画像解析の精度を高くするようにしてもよい。
【0081】
[変形例3]
上述の実施形態では、摩擦補償部353は、摩擦補償を行うと決定した場合には、スレーブ装置20に入力する力を所定の増幅率で増幅してマスタ装置10に伝達する制御を後述の力触覚伝達部354に行わせることで摩擦補償を行っていた。これに限らず、所定の増幅率を動的に変動するようにしてもよい。
【0082】
図8は、本変形例3における補償システム1の機能的構成を示すブロック図である。
図8に示すように、本変形例における制御装置30(以下では、「制御装置30a」と称すると共に、図面においても「制御装置30a」として示す。)では、上述した実施形態の制御装置30と比較して、さらに記憶部17に、速度バッファ372が形成される。また、摩擦補償部353における処理内容が異なる。
なお、速度バッファ372及び摩擦補償部353以外の他の機能的構成(すなわち、機能ブロック)については、
図6を参照して説明した機能的構成と同じであるので、重複する説明を省略する。
【0083】
速度バッファ372は、過去の設定された区間(例えば、過去5秒)において、摩擦補償部353によって算出されたカテーテルの進退速度のデータを記憶する。速度バッファ372に記憶されるカテーテルの進退速度のデータは、摩擦補償部353が新たにカテーテルの進退速度を算出する毎に、最新のデータに逐次更新される。
【0084】
摩擦補償部353は、センサ情報取得部351によって取得されたセンサ情報(ここでは、リニアエンコーダ107,108,207,208及びロータリーエンコーダ109,110,209,210によって検出された各アクチュエータの可動子の位置(進退位置または回転角度)を示す情報)に基づいて、スレーブ装置20におけるカテーテルの現在の進退速度(現在値)を算出する。また、摩擦補償部353は、算出したカテーテルの現在の進退速度(現在値)を時刻と対応付けて、速度バッファ372に記憶する。そして、摩擦補償部353は、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)を算出し、算出した移動平均値と摩擦補償のために設定された摩擦補償係数とを乗算することにより、マスタ装置10においてユーザに対して出力する摩擦補償量(操作をアシストするための力)を算出する。なお、移動平均値として、ここでは、単純移動平均値を用いることとする。
【0085】
ここで、カテーテルは弾性を有するものであるため、例えば、操作者が不意に接触する等の一過性のノイズでスレーブ装置20に外力が入力すると、入力に対してカテーテルの弾性力が作用し、カテーテルが押し返されることになる。
このとき、単純に摩擦補償を行った場合、カテーテルの動作が増幅されることになり、単振動が発生することとなる。
また、スレーブ装置20に外力が入力していない場合であっても、センサによって進退方向に微小な速度が検出されることがあり、単純な摩擦補償を行った場合、この微小な速度に対して摩擦補償が行われる。すると、進退方向の動作がアシストされ、単振動が発生することとなる。
【0086】
これに対し、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)に対して摩擦補償係数が乗算された摩擦補償量を、マスタ装置10におけるユーザの操作をアシストするための力として出力することで、カテーテルが振動する速度成分に対しては、アシストする力が付与されないと共に、カテーテルが一方向に移動する速度成分に対しては、アシストする力が付与されることとなる。
この結果、マスタ装置10を操作するユーザの負荷を低減しつつ、スレーブ装置20の状態変化を知覚させ易くすることができると共に、操作をアシストするための力によって、カテーテルに単振動が発生する事態を抑制することができる。
したがって、補償システム1において実行される摩擦補償のための制御をより適切なものとすることができる。
【0087】
図9は、本変形例3における制御装置30aが実行する補償制御処理の流れを説明するフローチャートである。
なお、ステップS11、ステップS12、ステップS13、ステップS14、及びステップS15においては、
図6を参照して説明した、同名のステップと同じ処理であるので、重複する説明を省略する。
【0088】
ステップS21において、摩擦補償部353は、ステップS11にてセンサ情報取得部351によって取得されたセンサ情報に基づいて、スレーブ装置20におけるカテーテルの現在の進退速度(現在値)を算出する。
【0089】
ステップS22において、摩擦補償部353は、ステップS21にて算出したカテーテルの現在の進退速度(現在値)を時刻と対応付けて、速度バッファ372に記憶する。
【0090】
ステップS23において、摩擦補償部353は、ステップS22にて速度バッファ372に記憶したデータに基づいて、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)を算出する。
【0091】
ステップS24において、摩擦補償部353は、ステップS23にて算出した移動平均値と摩擦補償のために設定された摩擦補償係数とを乗算することにより、マスタ装置10においてユーザに対して出力する摩擦補償量を算出する。
【0092】
図10は、カテーテルの速度と摩擦補償量との関係を示す模式図である。
図10においては、(a)カテーテルの振動が発生している場合の速度の原波形、(b)カテーテルの振動が発生している場合の速度の移動平均値(原波形の10[Hz]以上を打ち消した波形)、(c)速度の原波形から算出した摩擦補償量、(d)速度の移動平均値から算出した摩擦補償量が示されている。なお、
図10に示す波形は、正規化された速度または摩擦補償量の時間変化を示している。
【0093】
図10(c)に示すように、カテーテルの振動が発生している場合の速度の原波形から単純に摩擦補償量を算出すると、カテーテルの振動を維持あるいは増大させる作用が働き、振動が長時間維持されることになる。
一方、
図10(d)に示すように、カテーテルの振動が発生している場合の速度の移動平均値から摩擦補償量を算出すると、カテーテルの振動を維持あるいは増大させる作用が低減されていることがわかる。
【0094】
以上のように、本変形例3における補償システム1は、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)に対して摩擦補償係数が乗算された摩擦補償量を、マスタ装置10におけるユーザの操作をアシストするための力として出力する。この結果、カテーテルが振動する速度成分に対しては、アシストする力が付与されないと共に、カテーテルが一方向に移動する速度成分に対しては、アシストする力が付与されることとなる。
【0095】
これにより、スレーブ装置20に入力する摩擦力を補償する場合に、マスタ装置10を操作するユーザの負荷を低減しつつ、スレーブ装置20の状態変化を知覚させ易くすることができると共に、操作をアシストするための力によって、カテーテルに単振動が発生する事態を抑制することができる。
したがって、補償システムにおいて実行される摩擦補償のための制御をより適切なものとすることができる。
【0096】
[変形例4]
上述の変形例3をさらに変形するようにしてもよい。例えば、所定の増幅率を動的に変動するに際して、忘却係数を用いるようにしてもよい。変形例3においては、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)に対して摩擦補償係数が乗算された摩擦補償量を、マスタ装置10におけるユーザの操作をアシストするための力として出力するものとした。
これに対し、本変形例においては、過去の設定された区間におけるカテーテルの進退速度の平均値(すなわち、移動平均値)を算出する際に、現在時刻に近い時刻の進退速度ほど、高い重みを設定した忘却係数を乗算することで、忘却特性を有する進退速度の移動平均値を算出する。
これにより、スレーブ装置20における外力の状態に変化が生じた場合に、その変化をより速やかに反映させて、摩擦補償を行うことが可能となる。
【0097】
本変形例における補償システム1は、変形例3における補償システム1に対し、摩擦補償部353における処理内容が異なっている。
したがって、以下、異なる部分である摩擦補償部353における処理内容を主として説明する。
【0098】
摩擦補償部353は、センサ情報取得部351によって取得されたセンサ情報に基づいて、スレーブ装置20におけるカテーテルの現在の進退速度(現在値)を算出する。また、摩擦補償部353は、算出したカテーテルの現在の進退速度(現在値)を時刻と対応付けて、速度バッファ372に記憶する。そして、摩擦補償部353は、過去の設定された区間におけるカテーテルの進退速度に対し、忘却係数に基づく重みづけ平均値(以下、「忘却係数付き移動平均値」と称する。)を算出し、算出した忘却係数付き移動平均値と摩擦補償のために設定された摩擦補償係数とを乗算することにより、マスタ装置10においてユーザに対して出力する摩擦補償量(操作をアシストするための力)を算出する。
【0099】
なお、変形例3における過去の設定された区間におけるカテーテルの進退速度の移動平均値は、例えば、次式(5)で表される。
これに対し、本変形例において、過去の設定された区間におけるカテーテルの進退速度に対し、忘却係数付き移動平均値を算出する場合、次式(6)によって算出することができる。
【0100】
【0101】
なお、式(5)及び(6)において、mは移動平均区間のデータ数、nは現在値のデータ番号、kは現在値から遡るデータの数、Tは時定数、exp(-k/T)は忘却係数を示している。時定数Tは、例えば、単純移動平均を用いて摩擦補償量を算出した場合の補償システム1の挙動等を基に、実験値あるいはシミュレーションにより得られた値等を参照して、適切な値を決定することができる。
式(6)に示す忘却係数付き移動平均値の算出は、カテーテルの進退速度の波形に一次IIRローパスフィルタを適用する演算に相当する。
【0102】
図11は、式(6)に示す忘却係数付き移動平均値の忘却係数を示す模式図である。
図11に示すように、忘却係数付き移動平均値を算出する際に用いられる忘却係数は、現在時刻に近い時刻ほど大きい値となり、現在時刻から離れた過去の時刻ほど小さい値となる。
力触覚伝達部354は、このように算出された摩擦補償量を用いて、変形例3と同様に、スレーブ装置20に入力する摩擦力を補償する制御を行う。
【0103】
以上のように、本変形例4における補償システム1は、過去の設定された区間におけるカテーテルの進退速度に対する忘却係数付き移動平均値を算出し、忘却係数付き移動平均値と摩擦補償のために設定された摩擦補償係数とを乗算することにより、マスタ装置10においてユーザに対して出力する摩擦補償量を算出する。そして、このように算出した摩擦補償量を、マスタ装置10におけるユーザの操作をアシストするための力として出力する。この結果、カテーテルが振動する速度成分に対しては、アシストする力が付与されないと共に、カテーテルが一方向に移動する速度成分に対しては、アシストする力が付与されることとなる。さらに、忘却係数付き移動平均値の特性により、カテーテルの進退速度のデータのうち、過去のものほど重みを小さくして移動平均値が算出されるため、現在のカテーテルの進退速度に対応する摩擦力を補償する作用が高くなる。
【0104】
これにより、スレーブ装置20に入力する摩擦力を補償する場合に、マスタ装置10を操作するユーザの負荷を低減しつつ、スレーブ装置20の状態変化を知覚させ易くすることができると共に、操作をアシストするための力によって、カテーテルに単振動が発生する事態を抑制することができる。また、一過性のノイズでスレーブ装置20に外力が入力した場合であっても、その外力に起因したカテーテルの進退をアシストする力と、カテーテルの弾性力とが釣り合うことにより、カテーテルが振動の途中で一時的に静止した状態となること等を抑制することができる。すなわち、移動平均値に忘却係数を乗じることで、摩擦補償量が一定とならない(忘却係数の作用により常時変化する)ため、移動平均区間において、一過性のノイズに基づく外力が入力することで生じる定常的な力と、特定位置でのカテーテルの弾性力とが釣り合うことで静止する状態が発生し難くなる。また、移動平均値に忘却係数を乗じることで算出された摩擦補償量の振動する成分は、移動平均の効果により低減されるため、カテーテルに振動が発生する事態をさらに抑制することができる。
したがって、補償システム1において実行される摩擦補償のための制御をより適切なものとすることができる。
【0105】
[変形例5]
上述の変形例4や変形例5をさらに変形するようにしてもよい。例えば、進退速度以外の要素を加味して、摩擦補償量を算出するようにしてもよい。上述の変形例4や変形例5において、スレーブ装置20であるカテーテルの進退速度に対して、マスタ装置10における摩擦補償のための力(操作をアシストするための力)を出力するものとして説明した。
これに対し、カテーテルの進退速度以外の要素を加味して、摩擦補償のための力を出力することができる。
例えば、スレーブ装置20が設置されている角度によって、進退動作に対して定常的に重力の影響が生じるため、重力に対して、マスタ装置10における操作をアシストするための力(傾斜補償のための力)を出力することができる。
【0106】
この場合、例えば、摩擦補償部353が、スレーブ装置20が設置されている傾斜角度を基に、カテーテルの進退方向において作用する重力の成分を算出すると共に、算出した重力の成分に対応する傾斜補償のための力を算出(重力の成分に係数を乗じる等)し、力触覚伝達部354が、マスタ装置10において、傾斜補償のための力をアシストすることができる。このとき、カテーテルの進退方向において、重力の成分と同方向にはマイナスのアシスト(すなわち、重力の成分がカテーテルを移動させる作用を妨げる力)を出力すると共に、重力の成分と逆方向にはプラスのアシスト(重力の成分がカテーテルの移動を阻害する作用を抑制する力)を出力することができる。
【0107】
これにより、スレーブ装置20に入力する重力の影響を補償し、マスタ装置10を操作するユーザの負荷を低減しつつ、スレーブ装置20の状態変化(実際の負荷の大きさ等)を知覚させ易くすることができる。
したがって、補償システム1において実行される摩擦補償のための制御をより適切なものとすることができる。
【0108】
[他の変形例]
上述の実施形態において、マスタ装置10とスレーブ装置20との間で、カテーテルのスラスト方向(進退方向)の力を力触覚伝達するものとして説明したが、これに限られない。例えば、進退方向に沿う回転軸周りの回転、あるいは、エンドエフェクタの操作に関する力をマスタ装置10とスレーブ装置20との間で力触覚伝達してもよい。さらに、例えば、上述の実施形態において、補償システム1によってカテーテルを遠隔的に操作する場合を例に挙げて説明したが、これに限られない。すなわち、補償システム1によって遠隔的に操作される機器として、種々のものを対象とすることが可能であり、例えば、線状に構成された部分を有する各種機器、一例として、鉗子あるいは内視鏡等の医療機器を対象とすることができる。
【0109】
また、上述の実施形態において、マスタ装置10に備えられたアクチュエータと、スレーブ装置20に備えられたアクチュエータとを1対1に対応付けて、力触覚の伝達を行う場合を例に挙げて説明したが、これに限られない。すなわち、マスタ装置10の複数のアクチュエータをスレーブ装置20の1つのアクチュエータと対応付けて力触覚の伝達を行ったり、マスタ装置10の1つのアクチュエータをスレーブ装置20の複数のアクチュエータと対応付けて力触覚の伝達を行ったりすることが可能である。また、マスタ装置10の複数のアクチュエータをスレーブ装置20の複数のアクチュエータと対応付けて力触覚の伝達を行うことも可能である。一例として、
図3に示すスレーブ装置20の挿入用アクチュエータ203及び検知用アクチュエータ204を、マスタ装置10の挿入用アクチュエータ103を対応付けて力触覚の伝達を行うことが可能である。この場合、マスタ装置10の検知用アクチュエータ104を備える必要がなくなり、コストの削減及び装置の軽量化等を実現することができる。
【0110】
[構成例]
以上のように、本実施形態に係る補償システム1は、操作者の操作が入力されるマスタ装置10と、マスタ装置10に入力された操作に応じて動作するスレーブ装置20と、を含む。また、補償システム1は、力触覚伝達部354と、状態判定部352と、摩擦補償部353と、を備える。
力触覚伝達部354は、マスタ装置10及びスレーブ装置20における力触覚の伝達を制御する。
状態判定部352は、操作者によるマスタ装置10に対する操作の状態を判定する。
摩擦補償部353は、状態判定部352による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、力触覚伝達部354による力触覚の伝達に影響する摩擦に対して摩擦補償を行う。
このように、補償システム1は、力触覚の伝達時に摩擦補償を行うに際し、操作者によるマスタ装置10に対する操作の状態に基づいて摩擦補償を行うか否かを決定する。すなわち、摩擦力の補償を常時行うのではなく、操作の状態に対応した適切なタイミングで摩擦補償を行う。これにより、例えば、摩擦力の補償を常時行ったことにより、操作者が意図せず生じた振動が増幅してしまうような不具合の発生を防止することができる。
従って、補償システム1によれば、より適切な状況で、摩擦補償を行う、という課題を解決することができる。
【0111】
状態判定部352は、操作者によるマスタ装置10に対する操作の状態の判定として、操作者によりマスタ装置10が把持されている状態であるか否か判定する。
摩擦補償部353は、状態判定部352による判定結果が、操作者によりマスタ装置10が把持されている状態であるとの判定結果である場合に、摩擦補償を行うと決定する。
これにより、操作者が操作を行うためにマスタ装置10が把持されており、振動の発生しにくい状況の場合に、摩擦補償により適切に操作者をアシストすることができる。一方で、マスタ装置10が把持されていないという操作者へのアシストが不要な場合には、摩擦補償を行わないことにより、操作者が意図せず生じた振動を増幅してしまうことを防止することができる。
【0112】
摩擦補償部353は、スレーブ装置に入力する力を所定の増幅率で増幅してマスタ装置10に伝達する制御を力触覚伝達部354に行わせることで摩擦補償を行う。
これにより、力触覚の伝達のための制御アルゴリズムを利用して、摩擦補償を行うことができる。
【0113】
状態判定部352は、マスタ装置10に対して加えられる圧力の変動に基づいて、操作者によるマスタ装置10に対する操作の状態を判定する。
これにより、把持時と非把持時とで変動する圧力に基づいて、操作者によるマスタ装置10に対する操作の状態を精度高く判定することができる。
【0114】
状態判定部352は、マスタ装置10の温度の変動に基づいて、操作者によるマスタ装置10に対する操作の状態を判定する。
これにより、把持時と非把持時とで変動する温度に基づいて、操作者によるマスタ装置10に対する操作の状態を精度高く判定することができる。
【0115】
状態判定部352は、操作者の操作に関する撮影画像を解析すると共に、該解析の結果に基づいて、操作者によるマスタ装置10に対する操作の状態を判定する。
これにより、マスタ装置10に加えられる圧力や温度を測定することなく、操作者によるマスタ装置10に対する操作の状態を精度高く判定することができる。
【0116】
以上のように、本実施形態に係る制御装置30は、力触覚伝達部354と、状態判定部352と、摩擦補償部353と、を備える。
力触覚伝達部354は、操作者の操作が入力されるマスタ装置10と、マスタ装置10に入力された操作に応じて動作するスレーブ装置20とにおける力触覚の伝達を制御する。
状態判定部352は、操作者によるマスタ装置10に対する操作の状態を判定する。
摩擦補償部353は、状態判定部352による判定結果に基づいて摩擦補償を行うか否かを決定し、摩擦補償を行うと決定した場合には、力触覚伝達部354による力触覚の伝達に影響する摩擦に対して摩擦補償を行う。
このような制御装置30の構成によっても、上述の補償システム1と同様に、より適切な状況で、摩擦補償を行う、という課題を解決することができる。
【0117】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、本発明は、上述の実施形態における補償システム1として実現することの他、補償システム1を制御する制御装置、補償システム1において実行される各ステップによって構成される制御方法、あるいは、補償システム1の機能を実現するためにプロセッサによって実行されるプログラムとして実現することができる。
また、上述の実施形態では、制御装置30を独立した装置として実現する構成を例に挙げて説明したが、制御装置30の機能をマスタ装置10の制御ユニット101及びスレーブ装置20の制御ユニット201の一方に実装したり、これらの両方に分散して実装したりすることができる。
【0118】
また、上述の実施形態における処理は、ハードウェア及びソフトウェアのいずれにより実行させることも可能である。
すなわち、上述の処理を実行できる機能が補償システム1に備えられていればよく、この機能を実現するためにどのような機能構成及びハードウェア構成とするかは上述の例に限定されない。
上述の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータにネットワークや記憶媒体からインストールされる。
【0119】
プログラムを記憶する記憶媒体は、装置本体とは別に配布されるリムーバブルメディア、あるいは、装置本体に予め組み込まれた記憶媒体等で構成される。リムーバブルメディアは、例えば、半導体メモリ、磁気ディスク、光ディスク、または光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk),Blu-ray Disc(登録商標)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた記憶媒体は、例えば、プログラムが記憶されているROM(Read Only Memory)やハードディスク、あるいは、半導体メモリ等で構成される。
【0120】
なお、上記実施形態は、本発明を適用した一例を示しており、本発明の技術的範囲を限定するものではない。すなわち、本発明は、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができ、上記実施形態以外の各種実施形態を取ることが可能である。本発明が取ることができる各種実施形態及びその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0121】
1 補償システム、10 マスタ装置、20 スレーブ装置、30 制御装置、40 ネットワーク、L ディスプレイ、C カメラ、FT 機能別力・速度割当変換ブロック、FC 理想力源ブロック、PC 理想速度(位置)源ブロック、IFT 逆変換ブロック、S 制御対象システム、101,201 制御ユニット、102,202 通信ユニット、103,203 挿入用アクチュエータ、104,204 検知用アクチュエータ、105,205 回転用アクチュエータ、106,206 操作用アクチュエータ、107,108,207,208 リニアエンコーダ、109,110,209,210 ロータリーエンコーダ、111~114,211~214 ドライバ、115 判定用センサ,311 プロセッサ、312 ROM、313 RAM、314 バス、315 入力部、316 出力部、317 記憶部、318 通信部、319 ドライブ、331 リムーバブルメディア、351 センサ情報取得部、352 状態判定部、353 摩擦補償部、354 力触覚伝達部、371 制御パラメータ記憶部、372 速度バッファ