JP4613330B2 - マスタスレーブ装置、制御方法及びコンピュータープログラム - Google Patents
マスタスレーブ装置、制御方法及びコンピュータープログラム Download PDFInfo
- Publication number
- JP4613330B2 JP4613330B2 JP2001118714A JP2001118714A JP4613330B2 JP 4613330 B2 JP4613330 B2 JP 4613330B2 JP 2001118714 A JP2001118714 A JP 2001118714A JP 2001118714 A JP2001118714 A JP 2001118714A JP 4613330 B2 JP4613330 B2 JP 4613330B2
- Authority
- JP
- Japan
- Prior art keywords
- master
- slave
- force
- torque
- angle
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、マスタスレーブ装置、その装置の制御方法及びその方法を実行するためのコンピュータープログラムに係る。特に操作者により操作されるマスタと、操作者によるマスタの操作に応じて動作するスレーブを有するマスタスレーブ装置、その装置の制御方法及びその方法を実行するためのコンピュータープログラムに関する。
【0002】
【従来の技術】
マスタスレーブ装置は、2体の類似構造を持つ装置を用意し、一つ、すなわちマスタ側装置を操作端として用い、他の一つ、すなわちスレーブ側装置を作業用装置として用いることにより、操作者の位置が作業現場と離れていても必要な作業を行うことができるようにしたものである。操作者がマスタを操作することにより、この操作に応じて動作するスレーブを介して、望みの作業が行われる。特に、作業現場が悪環境である場合の遠隔操作や患者が遠隔地に居る場合の遠隔医療に大きな威力を発揮することから、近年、急速に研究が進められている。
【0003】
ところで、マスタスレーブ装置は、その制御方式により2つのタイプに分類することができる。図1及び図2は、これらの制御方式をブロック図により表したものである。図1のタイプは操作者2から、操作端4を介して、作業用装置6に指令を送ることはできるが、スレーブが作業対象物や作業環境8から受ける作業反力等の作業情報10を操作者2にフィードバックすることができない。これらのタイプのものを、ユニラテラル制御方式という。一方、図2のタイプは操作者2から、操作端4を介して、作業用装置6に指令を送ることができることに加えて、上記作業情報の操作者へのフィードバック12が可能である。これらのタイプのものを、バイラテラル制御方式という。いずれの制御方式においても、操作者が直接に、あるいはモニタなどを用いて間接的に作業状態を見ることによって、視覚による位置情報フィードバック14がなされ、操作者が運動指令を行うことができる。
【0004】
図3ないし図6に示されるユニラテラル制御またはバイラテラル制御方式の制御系を表した図により、さらに両制御方式に説明を加える。図3は、ユニラテラル制御方式の制御系を表したものであり、操作者がマスタ16を操作する際に、マスタ16の位置とマスタ16に追従するスレーブ18の位置との偏差xa-xbを求め、この偏差に応じて位置調節器20によりスレーブ18の位置制御が行われる。
【0005】
バイラテラル制御方式には幾つかの形態があり、主なものに対称形、力逆送形、力帰還形がある。
図4はバイラテラル制御方式の制御系のうち対称形を表したものであり、操作者がマスタ16を操作する際に、マスタ16の位置とマスタ16に追従するスレーブ18の位置との偏差xa-xbを求め、この偏差に応じて位置調節器22によりスレーブ18の位置制御を行うとともに、上記偏差を修正する方向の力をマスタ16にも与え、位置偏差に応じた位置調節器24によるマスタ16の位置制御を仲介として力感覚を伝えるようにしている。
図5はバイラテラル制御方式の制御系のうち力逆送形を表したものであり、マスタ16の位置とスレーブ18の位置との偏差xa-xbを求め、この偏差に応じて位置調節器22によりスレーブ18の位置制御を行うことは対称形と同様であるが、これとともに、スレーブ18にかかる力を適当な検出器で検出して、その検出信号を力伝達器26によりマスタ16に伝達し、検出された力の大きさに応じて操作者の力感覚を変えるようにマスタ16を制御するようにしている。
図6はバイラテラル制御方式の制御系のうち力帰還形を表したものであり、マスタ16の位置とスレーブ18の位置との偏差xa-xbを求め、この偏差に応じて位置調節器22によりスレーブ18の位置制御を行うことは対称形と同様であるが、これとともに、マスタ16とスレーブ18にかかる力を適当な検出器で検出して、両者の検出された力の偏差fb-faをマスタ16にフィードバックし、前記偏差が零となるように力調節器28によりマスタ16を制御するようにしている。 なお、バイラテラル制御方式の上述した三形態においては、スレーブ18に係る出力がフィードバックされ、マスタ16へ伝達されている。このことはバイラテラル制御方式の三形態に共通の事項である。
【0006】
ユニラテラル制御方式とバイラテラル制御方式の長所と短所を考察すると以下の通りとなる。ユニラテラル制御方式は、装置の簡素化、小型化及びこれらによる低コスト化、制御系の簡素化及びこれによる低コスト化が期待できるという長所があるが、作業反力等の作業情報をマスタの操作者にフィードバックすることができないため、スレーブと対象物との接触等による触覚・力覚情報をマスタの操作者に呈示することができないという短所があった。一方、バイラテラル制御方式は、作業反力等の作業情報をマスタの操作者にフィードバックすることができるため、スレーブと対象物との接触等による触覚・力覚情報をマスタの操作者に呈示することができるという長所があるが、装置の複雑化、大型化及びこれらによる高コスト化、制御系の複雑化及びこれによる高コスト化という短所があった。特に、スレーブが物体と接触している状態でもスレーブの状態をフィードバックしてマスタを制御し続けなければならないことに起因する、発振や位相遅れの発生、スレーブ側装置の慣性力や摩擦力の補償の必要性等を考慮した適切な制御系の実現という制御の難しさが生ずるという短所があった。
【0007】
【発明が解決しようとする課題】
本発明は、上記した従来技術の欠点を除くためになされたものである。その目的とするところは、スレーブが物体と接触している状態では、操作者の操作によりマスタに加えられる力f1を求め、スレーブにかかる力f3が力f1に応じた力f2へ追従するようスレーブが制御されることにより、マスタの操作者に力覚・触覚を呈示できる、すなわち、スレーブが物体と接触した際等にマスタの操作者が対象物から受けた反力を力感覚として受け取ることができるという長所を維持したまま、ユニラテラル方式に対するバイラテラル方式による短所を避けることができるようにすることである。本短所には、例えば、制御系の複雑化及びこれによる高コスト化がある。また、スレーブが物体と接触している状態でもスレーブの状態をフィードバックしてマスタを制御し続けなければならないことに起因する、発振や位相遅れの発生、スレーブ側装置の慣性力や摩擦力の補償の必要性等を考慮した適切な制御系の実現という制御の難しさがある。
【0008】
【課題を解決するための手段】
上記の目的を達成するために、発明に係るマスタスレーブ装置は、操作者により操作されるマスタと、前記マスタに接続されているモータと、前記操作者による前記マスタの操作に応じて動作するスレーブを有するマスタスレーブ装置において、前記スレーブが物体と接触していない状態では、前記マスタの位置x1を求め、前記スレーブの位置x3が該位置x1へ追従するように前記スレーブが該スレーブの位置制御により制御され、前記スレーブが物体と接触している状態では、前記マスタが該マスタに接続されている前記モータの保持力により保持されるとともに、前記操作者の操作により前記マスタに加えられる力f1を求め、前記スレーブにかかる力f3が該力f1に応じた力f2へ追従するよう前記スレーブが該スレーブの前記位置制御とは異なる力制御により制御されることを主たる特徴とするものである。
【0009】
また、発明に係るマスタスレーブ装置制御方法は、操作者によるマスタの操作に応じて動作するようにスレーブを制御するマスタスレーブ装置制御方法において、前記スレーブが物体と接触していない状態では、前記マスタの位置x1を求め、前記スレーブの位置x3が該位置x1へ追従するように前記スレーブが該スレーブの位置制御により制御され、前記スレーブが物体と接触している状態では、前記マスタが該マスタに接続されているモータの保持力により保持されるとともに、前記操作者の操作により前記マスタに加えられる力f1を求め、前記スレーブにかかる力f3が該力f1に応じた力f2へ追従するよう前記スレーブが該スレーブの前記位置制御とは異なる力制御により制御されることを主たる特徴とするものである。
【0010】
本発明の他の特徴については、添付図面及び以下の記載により明らかにする。
【0011】
【発明の実施の形態】
===マスタスレーブ装置の構成例===
以下本発明を図面に示す実施例に基づいて説明する。図7は、本発明に係るマスタスレーブ装置の全体図である。先ず、マスタスレーブ装置の構成を実施例に基づいて説明する。
【0012】
図7において、マスタスレーブ装置は、マスタ32、位置及び力(角度及びトルク)検出器34、モータ36、f1/f2(t1/t2)変換部38、モータ制御部40、切換指令部42、スレーブ44、位置及び力(角度及びトルク)検出器46、アクチュエータ48、アクチュエータ制御部50を備え、モータ制御部40は、位置(角度)制御部40aと保持指令部40bを、アクチュエータ制御部50は、位置(角度)制御部50aと力(トルク)制御部50bを各々有する。
【0013】
マスタ側においては、操作者により操作されるマスタ32を制御するためにマスタ32を駆動し、かつ、保持するモータ36が、マスタ32に設けられている。また、マスタ32の位置(角度)及びマスタ32にかかる力(トルク)を検出する位置及び力(角度及びトルク)検出器34が、マスタ32に設けられている。
【0014】
スレーブ側においても類似の構成をとっており、操作者によるマスタ32の操作に応じて動作するスレーブ44を制御するためにスレーブ44を駆動するアクチュエータ48が、スレーブ44に設けられている。また、スレーブ44の位置(角度)及びスレーブ44にかかる力(トルク)を検出する位置及び力(角度及びトルク)検出器46が、スレーブ44に設けられている。
【0015】
位置及び力(角度及びトルク)検出器34で検出された位置x1(角度θ1)の情報信号は、位置(角度)制御部40aと位置(角度)制御部50aに入力される。また、位置及び力(角度及びトルク)検出器34で検出された力f1(トルクt1)の情報信号は、f1/f2(t1/t2)変換部38に入力される。また、位置及び力(角度及びトルク)検出器46で検出された位置x3(角度θ3)の情報信号は、位置(角度)制御部40aと位置(角度)制御部50aに入力される。また、位置及び力(角度及びトルク)検出器46で検出された力f3(トルクt3)の情報信号は、切換指令部42と力(トルク)制御部50bに入力される。
【0016】
f1/f2(t1/t2)変換部38は、位置及び力(角度及びトルク)検出器34で検出された力f1(トルクt1)の情報信号を受け取り、力f1(トルクt1)に応じた力f2(トルクt2)を算出し、力f2(トルクt2)の情報信号を出力する。力f1(トルクt1)と力f2(トルクt2)の関係は、両者が等しい関係になっているものでもよいし、両者がf2=β・f1のように比例関係になっているものでもよいし、f2=F(f1)のようにf2がf1の関数になっているものでもよい。
【0017】
切換指令部42は、位置及び力(角度及びトルク)検出器46で検出された力f3(トルクt3)の情報信号を受け取り、この情報信号に基づいてモータ制御部40及びアクチュエータ制御部50に指令を与える。詳細については後述するが、力f3(トルクt3)が所定の値を超えているときにはスレーブ44が物体52と接触している状態と判定され、保持指令部40bと力(トルク)制御部50bを作動させる。逆に、力f3(トルクt3)が所定の値を超えていないときにはスレーブ44が物体52と接触していない状態と判定され、位置(角度)制御部40aと位置(角度)制御部50aを作動させる。
【0018】
位置(角度)制御部40aは位置及び力(角度及びトルク)検出器34で検出された位置x1(角度θ1)の情報信号と位置及び力(角度及びトルク)検出器46で検出された位置x3(角度θ3)の情報信号を受け取り、位置x1(角度θ1)が位置x3(角度θ3)へ追従するように、モータ36へ制御信号を送る。
【0019】
位置(角度)制御部50aは位置及び力(角度及びトルク)検出器34で検出された位置x1(角度θ1)の情報信号と位置及び力(角度及びトルク)検出器46で検出された位置x3(角度θ3)の情報信号を受け取り、位置x3(角度θ3)が位置x1(角度θ1)へ追従するように、アクチュエータ48へ制御信号を送る。
【0020】
保持指令部40bは、切換指令部42の指令を受けて、マスタ32をモータ36の保持力により保持するように、モータ36へ制御信号を送る。
【0021】
力(トルク)制御部50bは、f1/f2変換部38から出力された力f2(トルクt2)の情報信号と位置及び力(角度及びトルク)検出器46で検出された力f3(トルクt3)の情報信号を受け取り、力f3(トルクt3)が力f2(トルクt2)に追従するように、アクチュエータ48へ制御信号を送る。
【0022】
本発明は、スレーブが物体と接触している状態でのスレーブの制御方法に特徴があるため、スレーブが物体と接触していない状態での制御方法については、ユニラテラル制御方式、バイラテラル制御方式のうち、どちらの制御方式であるかは問わない。図7のマスタスレーブ装置の全体図は前記バイラテラル制御方式に対応したものであったが、前記ユニラテラル制御方式に対応したものについて、その構成を図8のマスタスレーブ装置の全体図を用いて説明する。
【0023】
ユニラテラル制御方式においては、モータ36によるマスタ32の制御は行われないため、図8におけるマスタスレーブ装置は、図7においてモータ制御部40が有していた位置(角度)制御部40aを有しない。したがって、位置及び力(角度及びトルク)検出器34で検出された位置x1(角度θ1)の情報信号は、図7における位置(角度)制御部40aと位置(角度)制御部50aのうち、位置(角度)制御部50aにのみ入力される。同様に、位置及び力(角度及びトルク)検出器46で検出された位置x3(角度θ3)の情報信号は、図7における位置(角度)制御部40aと位置(角度)制御部50aのうち、位置(角度)制御部50aにのみ入力される。
【0024】
切換指令部42が、位置及び力(角度及びトルク)検出器46で検出された力f3(トルクt3)の情報信号を受け取り、この情報信号に基づいてモータ制御部40及びアクチュエータ制御部50に指令を与えることは、図7の場合と変わりないが、図8の場合はモータ制御部40への指令に関して、力f3(トルクt3)が所定の値を超えているときにはスレーブ44が物体52と接触している状態と判定され、保持指令部40bを作動させるのに対し、力f3(トルクt3)が所定の値を超えていないときにはスレーブ44が物体52と接触していない状態と判定され、保持指令部40bを作動させないか、または、スレーブ44が物体と接触している状態から物体と接触していない状態となる場合には、モータ36の保持力によるマスタ32の保持を解除するよう保持指令部40bを作動させる。
【0025】
なお、操作者により操作されるマスタ32、マスタ32を制御するためにマスタ32を駆動し、保持するモータ36並びにマスタ32の位置(角度)及びマスタ32にかかる力(トルク)を検出する位置及び力(角度及びトルク)検出器34の位置関係については、各要素の機能が発揮されればよく、図示の実施例に限定されるものではない。同様に、操作者によるマスタ32の操作に応じて動作するスレーブ44、スレーブ44を駆動するアクチュエータ48並びにスレーブ44の位置(角度)及びスレーブ44にかかる力(トルク)を検出する位置及び力(角度及びトルク)検出器46の位置関係については、各要素の機能が発揮されればよく、図示の実施例に限定されるものではない。
【0026】
また、位置及び力(角度及びトルク)検出器34で検出される位置x1(角度θ1)、位置及び力(角度及びトルク)検出器34で検出される力f1(トルクt1)、位置及び力(角度及びトルク)検出器46で検出される位置x3(角度θ3)、または位置及び力(角度及びトルク)検出器46で検出される力f3(トルクt3)は、間接的に検出されるもの、例えば、他のパラメーターを検出し、これを基に位置x1(角度θ1)、力f1(トルクt1)、位置x3(角度θ3)または力f3(トルクt3)が算出されるものであってもよい。
【0027】
また、マスタ32またはスレーブ44は、1自由度のみを有する構成だけでなく、複数自由度を有する構成であってもよい。
【0028】
また、スレーブ側のスレーブ44、アクチュエータ48または位置及び力(角度及びトルク)検出器46は、実際の物ではなく、コンピューター上の、すなわち、ディスプレイを通じて見ることができる仮想的な物であってもよい。操作者がマスタ32を操作して、これに応じてコンピューター上のスレーブ44が動作し、操作者がコンピューターと対話する手段として映像(視覚)と音(聴覚)のみならず力覚・触覚をコンピューター上のスレーブ44から受け取るときに本発明が適用され得る。
さらに、マスタ側のマスタ32、モータ36または位置及び力(角度及びトルク)検出器34も、コンピューター上の、すなわち、ディスプレイを通じて見ることができる仮想的な物であってもよい。
【0029】
===マスタスレーブ装置の動作例===
次に、上記構成に基づいて、その動作について、図7及び図8を参照しつつ、図13を用いて以下に説明する。図13は、本発明に係るマスタスレーブ装置の動作を表すフローチャートである。
【0030】
操作者がマスタ32を操作することからこのフローチャートは始まる(ステップSTART)。先ず、位置及び力(角度及びトルク)検出器46によりスレーブ44にかかる力f3(トルクt3)が検出される(ステップS1)。
【0031】
検出された力f3(トルクt3)の情報信号は、切換指令部42に入力される。検出された力f3(トルクt3)は切換指令部42において、所定の値αf(αt)と比較される、力f3(トルクt3)が所定の値αf(αt)を超えているときには「Y」の方向へ、そうでないときには「N」の方向へ進む(ステップS2)。
【0032】
ここで、ステップS2の意味を説明する。スレーブ44が物体52と接触しているときには、スレーブ44は物体52から反力を受ける。したがって、スレーブ44にかかる力f3(トルクt3)が所定の値αf(αt)を超えているときにスレーブ44が物体52と接触している状態と判定し、スレーブ44にかかる力f3(トルクt3)が所定の値αf(αt)以下であるときには、物体52と接触していない状態と判定する。所定の値αf(αt)は、マスタスレーブ装置の系の慣性力や摩擦力を考慮して設定する。位置及び力(角度及びトルク)検出器46により、スレーブ44にかかる力f3は後述するステップS8においても検出されることから、接触の有無を力(トルク)の大きさで判定することにより検出手段を双方で共有化することができる、また、接触を検知するような特別なセンサを用意する必要が無いという長所が生じる。さらに、系の慣性力や摩擦力を考慮した設計が可能となるという長所が生じる。
【0033】
なお、スレーブ44が物体52と接触している状態と判定する方法は、スレーブ44と物体52の位置(角度)に着目したものでもよく、接触状態を感知するセンサによるものでもよく、上記の実施例に限定されるものではない。
【0034】
マスタ32を操作し始めて暫くは、マスタの操作に応じて動作するスレーブ44は物体52と接触していない状態を保つ。したがって、ステップS2の判定の結果は「N」ということとなり、位置(角度)制御部40aを作動させ、保持指令部40bを作動させないようモータ制御部40へ指令を送るとともに、位置(角度)制御部50aを作動させ、力(トルク)制御部50bを作動させないようモータ制御部50へ指令を送る。そして、次のステップS3へ進む。
【0035】
ステップS3はマスタの保持を解除する手順であることを意味するが、マスタS3は未だ保持されていないのでこのステップはスキップされることとなる。
【0036】
次に、位置及び力(角度及びトルク)検出器34によりマスタ32の位置x1(角度θ1)が、位置及び力(角度及びトルク)検出器46によりスレーブ44の位置x3(角度θ3)が検出される(ステップS4)。
【0037】
各々で検出された位置x1(角度θ1)の情報信号と位置x3(角度θ3)の情報信号は双方とも位置(角度)制御部40a及び位置(角度)制御部50aに送られる。位置(角度)制御部40aは、x3−x1(θ3−θ1)の値に応じて、すなわち、位置x1(角度θ1)が位置x3(角度θ3)に追従するようにモータ36を制御し、モータ36によりマスタ32の位置制御が行われる(ステップS5)。
【0038】
同様に、位置(角度)制御部50aは、x1−x3(θ1−θ3)の値に応じて、すなわち、位置x3(角度θ3)が位置x1(角度θ1)に追従するようにアクチュエータ48を制御し、アクチュエータ48によりスレーブ44の位置制御が行われる(ステップS6)。
【0039】
次に、手順はステップS1へ戻り、スレーブ44が物体52と接触していない状態においては、S1からS6のステップを繰り返すこととなる。
【0040】
なお、上記動作は、スレーブが物体と接触していない状態での制御方法がバイラテラル制御方式である場合について、すなわち図7のマスタスレーブ装置の全体図に対応して説明したが、前記制御方法がユニラテラル制御方式である場合、すなわち図8のマスタスレーブ装置の全体図に対応している場合については以下のようになる。
【0041】
ユニラテラル制御方式においては、モータ36によるマスタ32の制御は行われないため、検出された位置x1(角度θ1)と位置x3(角度θ3)の情報信号は、図7における位置(角度)制御部40aと位置(角度)制御部50aのうち、位置(角度)制御部50aにのみ入力される。また、x3−x1(θ3−θ1)の値に応じて、すなわち、位置x1(角度θ1)が位置x3(角度θ3)に追従するようにモータ36を制御する位置(角度)制御部40aは存在せず、モータ36によりマスタ32の位置制御が行われるステップS5はない。
【0042】
操作者がマスタ32を操作すると、前記ステップS1からS6の繰り返しにより、マスタ32に追従するようにスレーブ44が動くことになる。マスタ32とスレーブ44の位置偏差をゼロにするように、マスタ32とスレーブ44双方の位置制御が行われることから、マスタ32にも操作者の操作方向と逆方向の力(トルク)がかかることとなるが、この力(トルク)の大きさを超える力(トルク)の大きさで操作者がマスタ32を操作することとなる。このように操作者がマスタ32を操作することにより、マスタ32にスレーブ44が追従する形で上記のように動作するが、暫くすると、スレーブ44が物体52と接触する状態が生じる。
【0043】
図13のフローチャートに戻ると、力f3(トルクt3)が検出された後(ステップS1)、この情報信号が切換指令部42に入力され、力f3(トルクt3)が所定の値αf(αt)と比較される(ステップS2)。ここで、スレーブ44が物体52と接触している状態、すなわち、スレーブにかかる力f3(トルクt3)が所定の値αf(αt)を超えると判定された場合には、ステップS2の判定の結果は「Y」ということとなり、保持指令部40bを作動させ、位置(角度)制御部40aを作動させないようモータ制御部40へ指令を送るとともに、力(トルク)制御部50bを作動させ、位置(角度)制御部50aを作動させないようモータ制御部50へ指令を送る。
【0044】
そして、保持指令部40bは操作者により操作されるマスタ32をモータ36の保持力により保持するようにモータ36へ指令を送る、すなわち、モータ36をOFFするように指令を送る(ステップS7)。これにより、マスタ32はモータ36の保持力により保持される。
【0045】
次に、位置及び力(角度及びトルク)検出器34によりマスタ32にかかる力f1(トルクt1)が、位置及び力(角度及びトルク)検出器46によりスレーブ44にかかる力f3(トルクt3)が検出される(ステップS8)。
【0046】
検出された力f1(トルクt1)の情報信号はf1/f2(t1/t2)変換部38に送られ、力f1(トルクt1)は、力f1(トルクt1)に応じた力f2(トルクt2)に変換される(ステップS9)。
【0047】
算出された力f2(トルクt2)の情報信号と検出された力f3(トルクt3)の情報信号は力(トルク)制御部50bに送られる。力(トルク)制御部50bは、f2−f3(t2−t3)の値に応じて、すなわち、力f3(トルクt3)が力f2(トルクt2)に追従するようにアクチュエータ48を制御し、アクチュエータ48によりスレーブ44の力制御が行われる(ステップS10)。
【0048】
次に、手順はステップS1へ戻り、スレーブ44が物体52と接触している状態においては、S1→S2→S7→S8→S9→S10のステップを繰り返すこととなる。
【0049】
なお、本ステップの繰り返しにおいて、操作者によるマスタ32の操作により、これに応じて動作するスレーブ44が物体52と接触していない状態に戻る場合も考えられる。この場合は、次のような手順となる。力f3(トルクt3)が検出された後(ステップS1)、この情報信号が切換指令部42に入力され、力f3(トルクt3)が所定の値αf(αt)と比較され、スレーブ44が物体52と接触していない状態と判定される(ステップS2)。切換指令部42は、位置(角度)制御部40aを作動させ、かつ、モータ36による保持を解除するため保持指令部40bを作動させるようモータ制御部40へ指令を送るとともに、位置(角度)制御部50aを作動させ、力(トルク)制御部50bを作動させないようモータ制御部50へ指令を送る。そして、次のステップS3へ進むが、この場合は、操作者により操作されるマスタ32はモータ36の保持力により保持されている状態なので、保持指令部40bはモータ36の保持力による保持を解除するようにモータ36へ指令を送る、すなわち、モータ36をONするように指令を送る(ステップS3)。以降の手順は前述したステップS4からステップS6の手順と同様である。
【0050】
このように、本実施の形態は、操作者により操作されるマスタ32と、操作者によるマスタ32の操作に応じて動作するスレーブ44を有するマスタスレーブ装置において、スレーブ44が物体52と接触している状態である場合に、本発明の制御方法に切り替えること、すなわち、スレーブ44にかかる力f3(トルクt3)が力f1(トルクt1)に応じた力f2(トルクt2)へ追従するようスレーブ44が制御されることにより、前述したユニラテラル制御方式とバイラテラル制御方式の短所の双方を解消したもの、換言すれば、両制御方式の長所を両立したものである。
【0051】
ユニラテラル制御方式の短所、換言すれば、バイラテラル制御方式の長所として位置づけられるマスタ32の操作者への力覚・触覚の呈示という点については、操作者によりマスタ32に加えられる力f1(トルクt1)に応じた力f2(トルクt2)にスレーブ44にかかる力f3(トルクt3)を追従させるというスレーブ44の制御により、マスタ32の操作者に力覚・触覚を呈示できる、すなわち、スレーブ44が物体52と接触した際にマスタ32の操作者が物体52から受けた反力を力感覚として受け取ることができる。
【0052】
バイラテラル制御方式の短所、換言すれば、ユニラテラル制御方式の長所として位置づけられる制御系の複雑さ及びこれに関連するコストという点については、操作者によりマスタ32に加えられる力f1(トルクt1)を求め、スレーブ44にかかる力f3(トルクt3)が力f1(トルクt1)に応じた力f2(トルクt2)へ追従するようスレーブ44が制御されるという簡易な制御手順により、制御系の簡易化、低コスト化を達成することができ、特に、スレーブ44が物体52と接触している状態でもスレーブ44の状態をフィードバックしてマスタ32を制御し続けなければならないことに起因する、発振や位相遅れの発生、スレーブ側装置の慣性力や摩擦力の補償の必要性等を考慮した適切な制御系の実現という制御の難しさも回避することができる。
【0053】
すなわち、本実施の形態は、スレーブ44が物体52と接触していない状態では、スレーブ44の位置をマスタ32の位置へ追従させることに重点を置き、スレーブ44が物体と接触している状態では、マスタ32の操作者に力覚・触覚を呈示することに重点を置いた制御を実現している。
【0054】
===マスタ、スレーブ、検出器、モータ等の構成例(例1)===
次に、図7及び図8に示された、マスタ32、位置及び力(角度及びトルク)検出器34、モータ36、スレーブ44、位置及び力(角度及びトルク)検出器46及びアクチュエータ48のより詳細な構成について、図9ないし図12を用いて説明する。なお、本実施例においては、構成及び動作の理解を容易にするために、回転系を例として説明する。直進系の場合には、角度θを位置xに、トルクtを力fに置きかえることにより、同様のことが言えることとなる。
【0055】
図9は、本発明に係るマスタスレーブ装置の部分構成図であり、図10はこの部分構成図の概念図である。
【0056】
図9及び図10において、マスタ側には、マスタ32、指挿し部61、角度センサ54、軸56、軸受58、モータ36、ひずみゲージ60を設けている。また、スレーブ側には、スレーブ44、角度センサ62、軸64、軸受66、アクチュエータ48、ひずみゲージ68を設けている。
【0057】
マスタ側においては、操作者が指を入れてマスタ32を操作するための指挿し部61がマスタ32の端に設けられている。また、マスタ32は、これとほぼ垂直の位置関係にある軸56に固着されている。また、軸56はほぼ水平な状態におかれ、軸受58により支持されており、その回転軸を中心に、マスタ32と一体となって回るようになっている。また、マスタ32の角度を検出するための角度センサ54が軸56の先端に接続されている。また、マスタ32を制御するためにマスタ32を駆動し、保持するモータ36が、軸56の端であって角度センサ54の反対側に接続されている。また、マスタ32にかかるトルクによりマスタ32に発生するひずみを検出し、これに基づいてマスタ32にかかるトルクを算出するひずみゲージ60を、マスタ32の上端部、すなわち、指挿し部61の上部辺りに設けている。
【0058】
スレーブ側においては、スレーブ44は、これとほぼ垂直の位置関係にある軸64に固着されている。また、軸64はほぼ水平な状態におかれ、軸受66により支持されており、その回転軸を中心に、スレーブ44と一体となって回るようになっている。また、スレーブ44の角度を検出するための角度センサ62が軸64の先端に接続されている。また、スレーブ44を制御するためにスレーブ44を駆動するアクチュエータ48が、軸64の端であって角度センサ62の反対側に接続されている。また、スレーブ44にかかるトルクによりスレーブ44に発生するひずみを検出し、これに基づいてスレーブ44にかかるトルクを算出するひずみゲージ68を、スレーブ44の上端部に設けている。
【0059】
図7及び図8のマスタスレーブ装置の全体図によれば、図7の実施例においては角度制御部40aへ、図7及び図8の実施例においては角度制御部50aへ入力される情報信号である角度θ1及び角度θ3、t1/t2変換部38へ入力される情報信号であるトルクt1、切換指令部42及びトルク制御部50bへ入力される情報信号であるトルクt3を検出する。本実施例においては、角度θ1は角度センサ54により、角度θ3は角度センサ62により、トルクt1はひずみゲージ60により、トルクt3はひずみゲージ68により検出される。
【0060】
===マスタ、スレーブ、検出器、モータ等の動作例(例1)===
次に、上記構成に基づいて、以下その動作について、図9及び図10を参照しつつ、図13を用いて説明する。
操作者がマスタ32を操作することから図13のフローチャートは始まる(ステップSTART)が、このとき、操作者はマスタ32を操作するための指挿し部61に指を挿入して、指を下方へ押し下げ、マスタ32が下方向へ動くように操作する。マスタ32は、これとほぼ垂直の位置関係にある軸56に固着されているので、軸56は、その回転軸を中心にマスタ32と一体となって回転する。一方、スレーブ44は、操作者によるマスタ32の操作に応じて下方向へ動作する。スレーブ44は、これとほぼ垂直の位置関係にある軸64に固着されているので、軸64は、その回転軸を中心にスレーブ44と一体となって回転する。
【0061】
ステップS1において、角度・トルク検出器46によりスレーブ44にかかるトルクt3が検出されるが、これはスレーブ44の上端部に設けているひずみゲージ68により、スレーブ44にかかるトルクによりスレーブ44に発生するひずみを検出し、これに基づいてスレーブ44にかかるトルクt3が算出される。
【0062】
また、ステップS4において、マスタ32の角度θ1及びスレーブ44の角度θ3が検出されるが、前者は、軸56の先端に接続されている角度センサ54により、後者は、軸64の先端に接続されている角度センサ62により検出される。
【0063】
また、ステップS5において、角度θ1が角度θ3に追従するようにモータ36が制御され、モータ36によりマスタ32の位置制御が行われるが、これは、軸56の端であって角度センサ54の反対側に接続されているモータ36により行われる。
【0064】
同様に、ステップS6において、角度θ3が角度θ1に追従するようにアクチュエータ48が制御され、アクチュエータ48によりスレーブ44の位置制御が行われるが、これは、軸64の端であって角度センサ62の反対側に接続されているアクチュエータ48により行われる。
【0065】
このようにマスタ32が下方向へ動くように操作者がマスタ32を操作することにより、マスタ32にスレーブ44が追従する形でスレーブ44は下方向へ動作するが、暫くすると、スレーブ44が物体52と接触する状態が生じる。
【0066】
このときに、ステップS7において、操作者により操作されるマスタ32をモータ36の保持力により保持するようにモータ36へ指令が送られ、マスタ32は軸56の端であって角度センサ54の反対側に接続されているモータ36の保持力により保持される。
【0067】
また、ステップS8において、マスタ32のトルクt1及びスレーブ44のトルクt3が検出されるが、前者は、マスタ32の上端部、すなわち、指挿し部61の上部辺りに設けているひずみゲージ60により、マスタ32にかかるトルクによりマスタ32に発生するひずみを検出し、これに基づいて算出され、後者はスレーブ44の上端部に設けているひずみゲージ68により、スレーブ44にかかるトルクによりスレーブ44に発生するひずみを検出し、これに基づいて算出される。
【0068】
また、ステップS10において、トルクt3がトルクt2に追従するようにアクチュエータ48が制御され、アクチュエータ48によりスレーブ44の力制御が行われるが、これは、軸64の端であって角度センサ62の反対側に接続されているアクチュエータ48により行われる。
【0069】
上記の通り本実施例におけるマスタスレーブ装置は、スレーブ44が物体52と接触している状態では、操作者により操作されるマスタ32をモータ36の保持力により、保持することを特徴としている。このことにより、マスタ側装置に設けられたモータ36の保持力によりマスタ32が保持され、マスタ32、スレーブ44間で類似の動作状態、すなわち、マスタ32及びスレーブ44の双方がほぼ停止している状態を作り出し、力覚・触覚のマスタ操作者への呈示に加えて、視覚による感覚をマスタ操作者へ呈示することが可能となる。換言すると、操作者がマスタ32を操作すると、これに追従するようにスレーブ44が動くことになるが、暫くすると、スレーブ44が物体52と接触する状態が生じる。この状態ではスレーブ44は、ほぼ停止することになるが、マスタ32は、何もしなければ、操作者の操作により更に動き続き得る。そこで、マスタ32をモータ36の保持力により保持することにより、マスタ32、スレーブ44間で類似の動作状態を作りだし、操作者が、マスタ32を見ることにより、スレーブ44の動きをイメージすることができるようにしたものである。
【0070】
なお、上記効果を考慮しなければ、マスタ32をモータ36の保持力により保持する必要は必ずしもなく、上記実施例に限定されるものではない。
【0071】
===マスタ、スレーブ、検出器、モータ等の構成例(例2)===
図11は、他の実施例として、本発明に係るマスタスレーブ装置の部分構成を、図12はこの部分構成図の概念を表した図である。
図11及び図12において、マスタ側には、マスタ32、指挿し部61、角度センサ54、軸56、軸受58、モータ36とともに、ねじりばね70を設けている。また、スレーブ側には、スレーブ44、角度センサ62、軸64、軸受66、アクチュエータ48とともに、ねじりばね72と角度センサ74を設けている。
【0072】
マスタ側において、操作者が指を入れてマスタ32を操作するための指挿し部61がマスタ32の端に設けられている点、マスタ32が、これとほぼ垂直の位置関係にある軸56に固着されている点、軸56がほぼ水平な状態におかれ、軸受58により支持されており、その回転軸を中心に、マスタ32と一体となって回るようになっている点、マスタ32の角度を検出するための角度センサ54が軸56の先端に接続されている点及びマスタ32を制御するためにマスタ32を駆動し、保持するモータ36が、軸56の端であって角度センサ54の反対側に接続されている点については、前記実施例と変わりはない。マスタ32とモータ36間においてねじりばね70を軸56上に設けている点及びひずみゲージを設けていない点で、前記実施例と異なる。
【0073】
スレーブ側において、スレーブ44が、これとほぼ垂直の位置関係にある軸64に固着されている点、軸64がほぼ水平な状態におかれ、軸受66により支持されており、その回転軸を中心に、スレーブ44と一体となって回るようになっている点、スレーブ44の角度を検出するための角度センサ62が軸64の先端に接続されている点及びスレーブ44を制御するためにスレーブ44を駆動するアクチュエータ48が、軸64の端であって角度センサ62の反対側に接続されている点については、前記実施例と変わりはない。スレーブ44とアクチュエータ48間においてねじりばね72を軸64上に設けている点、アクチュエータ48の角度を検出するための角度センサ74をアクチュエータ48に設けている点及びひずみゲージを設けていない点で、前記実施例と異なる。
【0074】
図7及び図8のマスタスレーブ装置の全体図によれば、角度θ1、角度θ3、トルクt1及びトルクt3を検出するようになっている。角度θ1は角度センサ54により、角度θ3は角度センサ62により検出されることは前記実施例と変わりはない。詳細は後述するが、トルクt1は、角度センサ54によりねじりばね70の伸縮量を検出することにより、トルクt3は、角度センサ62及び角度センサ74によりねじりばね72の伸縮量を検出することにより算出される。
【0075】
===マスタ、スレーブ、検出器、モータ等の動作例(例2)===
次に、上記構成に基づいて、以下その動作について、図11ないし図13を参照しつつ、図14を用いて説明する。図14は、本発明に係るマスタスレーブ装置の動作を表すフローチャートであって、図11及び図12の実施例に対応したものである。図13のフローチャートと共通するフローについては、点線で示してある。
【0076】
操作者がマスタ32を操作することから図14のフローチャートは始まり(ステップSTART)、操作者は指挿し部61に挿入した指を下方へ押し下げマスタ32が下方向へ動くように操作し、軸56はその回転軸を中心にマスタ32と一体となって回転し、一方、スレーブ44は操作者によるマスタ32の操作に応じて下方向へ動作し、軸64はその回転軸を中心にスレーブ44と一体となって回転する点については図9及び図10に対応する前記実施例と同様である。
【0077】
図13のステップS1において、角度・トルク検出器46によりスレーブ44にかかるトルクt3が検出されるが、図9及び図10に対応する前記実施例では、ひずみゲージ68によりスレーブ44に発生するひずみを検出し、これに基づいてトルクt3を算出していた。これに対し、本実施例においては、軸64の先端に接続されている角度センサ62によりスレーブ44の角度θ3を、アクチュエータ48に設けられている角度センサ74によりアクチュエータ48の角度θ2を各々検出することにより、すなわち、スレーブ44とアクチュエータ48間に設けられたねじりばね72の伸縮量を検出することにより、トルクt3を算出する(ステップS12及びS13)。トルクt3=kr(θ2-θ3)となる(kr:ねじりばね係数)。
【0078】
また、ステップS4において、マスタ32の角度θ1及びスレーブ44の角度θ3が検出されるが、前者は、軸56の先端に接続されている角度センサ54により、後者は、軸64の先端に接続されている角度センサ62により検出される点については図9、図10に対応する前記実施例と同様である。
【0079】
また、ステップS5において、角度θ1が角度θ3に追従するようにモータ36が制御され、モータ36によりマスタ32の位置制御が行われるが、これは、軸56の端であって角度センサ54の反対側に接続されているモータ36により行われる点、ステップS6において、角度θ3が角度θ1に追従するようにアクチュエータ48が制御され、アクチュエータ48によりスレーブ44の位置制御が行われるが、これは、軸64の端であって角度センサ62の反対側に接続されているアクチュエータ48により行われる点についても図9及び図10に対応する前記実施例と同様である。
【0080】
また、スレーブ44が物体52と接触する状態であるときに、ステップS7において、操作者により操作されるマスタ32をモータ36の保持力により保持するようにモータ36へ指令が送られ、マスタ32は軸56の端であって角度センサ54の反対側に接続されているモータ36の保持力により保持される点についても図9及び図10に対応する前記実施例と同様である。
【0081】
また、図13のステップS8において、マスタ32のトルクt1及びスレーブ44のトルクt3が検出されるが、図9、図10に対応する前記実施例では、前者は、ひずみゲージ60によりマスタ32に発生するひずみを検出し、これに基づいてトルクt1を算出し、後者は、ひずみゲージ68によりスレーブ44に発生するひずみを検出し、これに基づいてトルクt3を算出していた。これに対し、本実施例においては、以下のようになる。
【0082】
前者については、マスタ32がモータ36の保持力により保持された直後の軸56の先端に接続されている角度センサ54により検出されるマスタ32の角度θ1を格納領域θ10にセットしておき、その後角度センサ54により検出されるマスタ32の角度θ1との差を算出することによりトルクt1を検出する。すなわち、マスタ32とモータ36間に設けられたねじりばね70の伸縮量を検出することにより、トルクt1を算出することとなる。トルクt1=kr(θ1-θ10)となる(kr:ねじりばね係数)。
【0083】
後者については、前記ステップS12及びS13と同様であり、軸64の先端に接続されている角度センサ62によりスレーブ44の角度θ3を、アクチュエータ48に設けられている角度センサ74によりアクチュエータ48の角度θ2を各々検出することにより、すなわち、スレーブ44とアクチュエータ48間に設けられたねじりばね72の伸縮量を検出することにより、トルクt3を算出する。トルクt3=kr(θ2-θ3)となる(kr:ねじりばね係数)。
【0084】
上記のトルクt1及びトルクt3の検出手段につき、その手順を説明すると以下の通りとなる。先ず、カウンタを用意し、START時にリセット、すなわち、値をゼロにしておく(ステップS11)。ステップS2において、スレーブが物体と接触している状態と判定されたら、カウンタに1を加算する。(ステップS15)。次に、軸56の先端に接続されている角度センサ54によりマスタ32の角度θ1を、アクチュエータ48に設けられている角度センサ74によりアクチュエータ48の角度θ2を、軸64の先端に接続されている角度センサ62によりスレーブ44の角度θ3を各々検出する(ステップS16)。次に、カウンタの値が1であるか否かにより、手順を変更する(ステップS17)。カウンタの値が1である場合には、マスタ32の角度θ1を角度θ10の領域に格納し(ステップS18)、トルクt1に0をセットし、トルクt3を式t3=kr(θ2-θ3)によって算出する(ステップS19)。カウンタの値が1でない場合には、すなわち、2以上である場合には、トルクt1を式t1=kr(θ1-θ10)により、トルクt3を式t3=kr(θ2-θ3)によって算出する(ステップS20)。また、スレーブが物体と接触している状態から、物体と接触していない状態となり、再度物体と接触している状態となることもあることから、マスタ32の保持解除後には、カウンタをリセットすることとする(ステップS14)。
【0085】
また、ステップS10において、トルクt3がトルクt2に追従するようにアクチュエータ48が制御され、アクチュエータ48によりスレーブ44の力制御が行われるが、これは、軸64の端であって角度センサ62の反対側に接続されているアクチュエータ48により行われる点については、図9及び図10に対応する前記実施例と同様である。
【0086】
上記の通り本実施例におけるマスタスレーブ装置は、スレーブ44が物体52と接触している状態では、マスタ32がマスタ32に接続されているモータ36の保持力により保持され、操作者の操作によりマスタ32に加えられる力により伸縮するねじりばね70の伸縮量を検出することにより操作者の操作によりマスタ32に加えられるトルクt1を求めることを特徴としている。このことにより、スレーブ44が物体52と接触している状態で、マスタ32がモータ36の保持力により保持される状態を作り出せば、ねじりばね70の伸縮量を検出することにより操作者の操作によりマスタ32に加えられるトルクt1を最も簡易に求めることができる。また、角度、または、トルクのいずれにしても角度センサを用いて値を求めることができ、マスタスレーブ装置の検出機構として、ひずみゲージは必要無く、角度センサで構成することができるという長所がある。なお、マスタ側装置に設けられたモータ36の保持力によりマスタ32が保持され、マスタ32、スレーブ44間で類似の動作状態、すなわち、マスタ32及びスレーブ44の双方がほぼ停止している状態を作り出し、力覚・触覚のマスタ操作者への呈示に加えて、視覚による感覚をマスタ操作者へ呈示することが可能となるという図9及び図10に対応する前記実施例のような効果を本実施例において完全には得ることができないが、ねじりばね定数krの値を大きくすることにより類似の効果を得ることが可能となる。
【0087】
なお、ねじりばね70及びねじりばね72は、弾性要素であれば、例えば、コイルばね、トルクばね、または様々な形状の板ばねや切り欠きを有する金属等でもよい。また、マスタ32、軸56、モータ36、スレーブ44、軸64またはアクチュエータ48自体が弾性要素を含んでいる場合であってもよい。
【0088】
また、角度センサ74は必ずしもアクチュエータ48に設けられている必要はなく、ねじりばね72を挟んで角度センサ62と角度センサ74が設けられていればよい。
【0089】
また、トルクt1の検出に関しては、マスタ32がモータ36の保持力により保持された直後の角度センサ54により検出されるマスタ32の角度θ1を格納領域θ10にセットしておき、その後角度センサ54により検出されるマスタ32の角度θ1との差を算出することにより検出したが、スレーブ側と同様に、ねじりばね70を挟んでもう一つ図示しない角度センサを設け、角度センサ54と図示しない角度センサにより検出された各々の角度の角度差からトルクt1を算出してもよい。さらに、この場合は、マスタ32をモータ36の保持力により保持する必要は必ずしもなく、上記実施例に限定されるものではない。
【0090】
===モータ36のバリエーション等===
次に、図9ないし図12に対応した前記2つの実施例において示されたマスタ側のモータ36に関してより詳細に検討を加える。
【0091】
図8のマスタスレーブ装置の全体図に示されるように、スレーブ44が物体52と接触していない状態での制御方法がユニラテラル制御方式である場合には、モータ制御部40は角度θ1が角度θ3に追従するようにモータ36を制御する角度制御部40aを有しないことは既述の通りであり、モータ36によりマスタ32の位置制御は行われないため、モータ36は必ずしも駆動する機能を有している必要はない。したがって、一つの例として、モータ36に代えてクラッチとすることができる。クラッチは保持力が高いためマスタスレーブ装置を構成するうえで、本特長を生かすことができ、さらに、低コスト化を実現できるという長所がある。
【0092】
逆に、スレーブ44が物体52と接触していない状態での制御方法がバイラテラル制御方式である場合には、モータ36は駆動する機能を有している必要がある。一つの例として、モータ36を超音波モータとすると、マスタスレーブ装置を構成するうえで、超音波モータの保持力の高さという特長を生かすことができるという長所が生じる。さらに、超音波モータが進行波型である場合には、超音波モータに定在波を発生させると保持トルクが極めて小さくなるという特徴を利用することにより、スレーブ44が物体52と接触していない状態における制御方式を、ハードウエアを変更することなく、バイラテラル制御方式とすることのみならず、ユニラテラル制御方式とすることもできるという長所が生じる。
【0093】
なお、図9ないし図12に対応した前記2つの実施例におけるマスタスレーブ装置の角度またはトルクの検出手段及び構成については、角度については角度センサにより、トルクについてはひずみゲージによるひずみ検出または弾性要素の伸縮量検出によるものであったが、角度もしくはトルクの検出、または検出される他のパラメーターを基にした角度もしくはトルクの算出ができれば、本実施例に限定されるものではない。
【0094】
また、上述したマスタスレーブ装置制御方法のコンピュータープログラムがコンピューターシステムにおいて実行され得る。
【0095】
【発明の効果】
本発明は、スレーブが物体と接触している状態である場合に、本発明の制御方法に切り替えることにより、前述したユニラテラル制御方式とバイラテラル制御方式の短所の双方を解消したもの、換言すれば、両制御方式の長所を両立したものである。
【0096】
ユニラテラル制御方式の短所、換言すれば、バイラテラル制御方式の長所として位置づけられるマスタ操作者への力覚・触覚の呈示という点については、操作者によりマスタに加えられる力f1に応じた力f2にスレーブにかかる力f3を追従させるというスレーブの制御により、マスタの操作者に力覚・触覚を呈示できる、すなわち、スレーブが物体と接触した際にマスタの操作者が対象物から受けた反力を力感覚として受け取ることができるという効果を得る。
【0097】
バイラテラル制御方式の短所、換言すれば、ユニラテラル制御方式の長所として位置づけられる制御系の複雑さ及びこれに関連するコストという点については、操作者によりマスタに加えられる力f1を求め、スレーブにかかる力f3が力f1に応じた力f2へ追従するようスレーブが制御されるという簡易な制御手順により、制御系の簡易化、低コスト化を達成することができ、特に、スレーブが物体と接触している状態でもスレーブの状態をフィードバックしてマスタを制御し続けなければならないことに起因する、発振や位相遅れの発生、スレーブ側装置の慣性力や摩擦力の補償の必要性等を考慮した適切な制御系の実現という制御の難しさも回避することができるという効果がある。
【0098】
また、スレーブにかかる力f3を求め、この値が所定の値を超えているときに、スレーブが物体と接触している状態と判定することにより、スレーブが物体と接触している状態を判定する手段を力f3が検出される他の手段と共有することが可能となり、また、系の慣性力や摩擦力を考慮した設計が可能となる。
【0099】
また、スレーブが物体と接触している状態では、マスタ側装置に設けられたモータの保持力によりマスタを保持することにより、マスタ、スレーブ間で類似の動作状態、すなわち、マスタ及びスレーブの双方がほぼ停止している状態を作り出し、力覚・触覚のマスタ操作者への呈示に加えて、視覚による感覚をマスタ操作者へ呈示することが可能となる。
【0100】
また、スレーブが物体と接触している状態で、マスタがモータの保持力により保持される状態を作り出せば、弾性要素の伸縮量を検出することにより操作者の操作によりマスタに加えられる力f1を最も簡易に求めることができる。
【0101】
また、前記のモータを超音波モータとすることにより、マスタスレーブ装置を構成するうえで、超音波モータの保持力の高さという特長を生かすことができる。
【0102】
また、前記のモータに代えてクラッチとすることにより、マスタスレーブ装置を構成するうえで、クラッチの保持力の高さという特長を生かすことができる。
【0103】
また、上記本発明に係るマスタスレーブ装置制御方法をコンピューターシステムにおいて実行するためのコンピュータープログラムによりマスタスレーブ装置を制御することにより、上記本発明に係る効果を得ることができる。
【0104】
また、上記効果は、位置xを角度θ、力fをトルクtとした場合、すなわち、直進系だけでなく回転系の場合でもなお維持される。
【図面の簡単な説明】
【図1】ユニラテラル制御方式のブロック図である。
【図2】バイラテラル制御方式のブロック図である。
【図3】ユニラテラル制御方式の制御系を表した図である。
【図4】バイラテラル制御方式の制御系のうち対称形を表した図である。
【図5】バイラテラル制御方式の制御系のうち力逆送形を表した図である。
【図6】バイラテラル制御方式の制御系のうち力帰還形を表した図である。
【図7】本発明に係るマスタスレーブ装置の全体図である。
【図8】本発明に係るマスタスレーブ装置の全体図である。
【図9】本発明に係るマスタスレーブ装置の部分構成図である。
【図10】図9の部分構成図の概念図である。
【図11】本発明に係るマスタスレーブ装置の部分構成図である。
【図12】図11の部分構成図の概念図である。
【図13】本発明に係るマスタスレーブ装置の動作を表すフローチャートである。
【図14】本発明に係るマスタスレーブ装置の動作を表すフローチャートである。
【符号の説明】
2 操作者
4 操作端
6 作業用装置
8 作業対象物または作業環境
10 作業反力等の作業情報
12 作業情報の操作者へのフィードバック
14 視覚による位置情報フィードバック
16 マスタ
18 スレーブ
20 位置調節器
22 位置調節器
24 位置調節器
26 力伝達器
28 力調節器
32 マスタ
34 位置及び力(角度及びトルク)検出器
36 モータ
38 f1/f2(t1/t2)変換部
40 モータ制御部
40a 位置(角度)制御部
40b 保持指令部
42 切換指令部
44 スレーブ
46 位置及び力(角度及びトルク)検出器
48 アクチュエータ
50 アクチュエータ制御部
50a 位置(角度)制御部
50b 力(トルク)制御部
52 物体
54 角度センサ
56 軸
58 軸受
60 ひずみゲージ
61 指挿し部
62 角度センサ
64 軸
66 軸受
68 ひずみゲージ
70 ねじりばね
72 ねじりばね
74 角度センサ
Claims (10)
- 操作者により操作されるマスタと、
前記マスタに接続されているモータと、
前記操作者による前記マスタの操作に応じて動作するスレーブを有するマスタスレーブ装置において、
前記スレーブが物体と接触していない状態では、前記マスタの位置x1を求め、前記スレーブの位置x3が該位置x1へ追従するように前記スレーブが該スレーブの位置制御により制御され、
前記スレーブが物体と接触している状態では、
前記マスタが該マスタに接続されている前記モータの保持力により保持されるとともに、
前記操作者の操作により前記マスタに加えられる力f1を求め、前記スレーブにかかる力f3が該力f1に応じた力f2へ追従するよう前記スレーブが該スレーブの前記位置制御とは異なる力制御により制御されることを特徴とするマスタスレーブ装置。 - 請求項1に記載のマスタスレーブ装置において、
前記スレーブにかかる力f3が所定の値を超えているときに前記スレーブが物体と接触している状態と判定することを特徴とするマスタスレーブ装置。 - 請求項1または2に記載のマスタスレーブ装置において、
前記スレーブが物体と接触している状態では、前記マスタが該マスタに接続されている前記モータの保持力により保持され、前記操作者の操作により前記マスタに加えられる力により伸縮する弾性要素の伸縮量を検出することにより前記操作者の操作により前記マスタに加えられる力f1を求めることを特徴とするマスタスレーブ装置。 - 請求項1ないし3のいずれかに記載のマスタスレーブ装置において、
前記モータは超音波モータであることを特徴とするマスタスレーブ装置。 - 請求項1ないし3のいずれかに記載のマスタスレーブ装置において、
前記モータに代えてクラッチとすることを特徴とするマスタスレーブ装置。 - 請求項1ないし5のいずれかに記載のマスタスレーブ装置において、
前記力f1に代えてトルクt1とし、
前記力f2に代えてトルクt2とし、
前記力f3に代えてトルクt3とし、
前記位置x1に代えて角度θ1とし、
前記位置x3に代えて角度θ3とし、
前記位置制御に代えて、角度制御とし、
前記力制御に代えて、トルク制御とすることを特徴とするマスタスレーブ装置。 - 操作者によるマスタの操作に応じて動作するようにスレーブを制御するマスタスレーブ装置制御方法において、
前記スレーブが物体と接触していない状態では、前記マスタの位置x1を求め、前記スレーブの位置x3が該位置x1へ追従するように前記スレーブが該スレーブの位置制御により制御され、
前記スレーブが物体と接触している状態では、
前記マスタが該マスタに接続されているモータの保持力により保持されるとともに、
前記操作者の操作により前記マスタに加えられる力f1を求め、前記スレーブにかかる力f3が該力f1に応じた力f2へ追従するよう前記スレーブが該スレーブの前記位置制御とは異なる力制御により制御されることを特徴とするマスタスレーブ装置制御方法。 - 請求項7に記載のマスタスレーブ装置制御方法において、
前記スレーブにかかる力f3が所定の値を超えているときに前記スレーブが物体と接触している状態と判定することを特徴とするマスタスレーブ装置制御方法。 - 請求項7または8に記載のマスタスレーブ装置制御方法において、
前記力f1に代えてトルクt1とし、
前記力f2に代えてトルクt2とし、
前記力f3に代えてトルクt3とし、
前記位置x1に代えて角度θ1とし、
前記位置x3に代えて角度θ3とし、
前記位置制御に代えて、角度制御とし、
前記力制御に代えて、トルク制御とすることを特徴とするマスタスレーブ装置制御方法。 - 請求項7ないし9のいずれかに記載のマスタスレーブ装置制御方法をコンピューターシステムにおいて実行するためのコンピュータープログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001118714A JP4613330B2 (ja) | 2001-04-17 | 2001-04-17 | マスタスレーブ装置、制御方法及びコンピュータープログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001118714A JP4613330B2 (ja) | 2001-04-17 | 2001-04-17 | マスタスレーブ装置、制御方法及びコンピュータープログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002307336A JP2002307336A (ja) | 2002-10-23 |
JP4613330B2 true JP4613330B2 (ja) | 2011-01-19 |
Family
ID=18969058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001118714A Expired - Fee Related JP4613330B2 (ja) | 2001-04-17 | 2001-04-17 | マスタスレーブ装置、制御方法及びコンピュータープログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4613330B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109139A1 (ja) * | 2003-07-24 | 2005-11-17 | Keio University | 位置・力制御装置 |
JP5496717B2 (ja) * | 2010-03-12 | 2014-05-21 | 学校法人慶應義塾 | 移動体遠隔操作システム、環境情報収集システム |
JP5032716B2 (ja) * | 2010-08-31 | 2012-09-26 | パナソニック株式会社 | マスタースレーブロボットの制御装置及び制御方法、並びに、制御プログラム |
JP6547164B2 (ja) * | 2014-04-30 | 2019-07-24 | 株式会社人機一体 | マスタスレーブシステム |
JP2018075674A (ja) | 2016-11-10 | 2018-05-17 | ソニー株式会社 | 関節駆動用アクチュエータ |
JP7432885B2 (ja) * | 2019-09-17 | 2024-02-19 | 東洋鋼鈑株式会社 | ロール清拭装置およびロール清拭方法 |
JP2021045816A (ja) * | 2019-09-18 | 2021-03-25 | 株式会社東芝 | 冗長自由度ロボットアームの操作支援装置、方法及びプログラム |
JP7415590B2 (ja) | 2020-01-24 | 2024-01-17 | 株式会社デンソーウェーブ | 主従ロボットの制御装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004519340A (ja) * | 2001-03-21 | 2004-07-02 | フランス テレコム | 遠隔地における表面の再構築方法およびシステム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56157980A (en) * | 1980-05-07 | 1981-12-05 | Daido Steel Co Ltd | Controller for manipulator |
JPH01175611A (ja) * | 1987-12-29 | 1989-07-12 | Matsushita Electric Ind Co Ltd | 力制御機能を有する制御装置 |
JP2581192B2 (ja) * | 1988-09-06 | 1997-02-12 | 三菱電機株式会社 | マスタ・スレーブ・マニピユレータ制御装置 |
JPH06170754A (ja) * | 1992-10-30 | 1994-06-21 | Yaskawa Electric Corp | マスタ・スレーブロボットの制御装置 |
JP2500586B2 (ja) * | 1993-04-26 | 1996-05-29 | 日本電気株式会社 | 遠隔操作装置 |
JPH0752068A (ja) * | 1993-08-17 | 1995-02-28 | Fujitsu Ltd | 遠隔操作制御方式 |
JP2621803B2 (ja) * | 1994-07-14 | 1997-06-18 | 日本電気株式会社 | マスタスレーブ型ロボットアーム装置およびアーム位置決め誘導方法 |
JPH08281573A (ja) * | 1995-04-12 | 1996-10-29 | Nippon Steel Corp | マスタースレーブマニピュレータとその制御方法 |
JPH1029177A (ja) * | 1996-07-10 | 1998-02-03 | Mitsui Eng & Shipbuild Co Ltd | マスタスレーブマニプレータの制御方法および装置 |
JP3178813B2 (ja) * | 1998-05-29 | 2001-06-25 | 川崎重工業株式会社 | 遠隔操縦装置 |
-
2001
- 2001-04-17 JP JP2001118714A patent/JP4613330B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004519340A (ja) * | 2001-03-21 | 2004-07-02 | フランス テレコム | 遠隔地における表面の再構築方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
JP2002307336A (ja) | 2002-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2664205B2 (ja) | マニピュレータ制御システム | |
US7952559B2 (en) | Haptic feedback using rotary harmonic moving mass | |
KR200257172Y1 (ko) | 촉감 마우스장치 | |
JP4613330B2 (ja) | マスタスレーブ装置、制御方法及びコンピュータープログラム | |
KR20200064175A (ko) | 로보틱 시스템 및 로보틱 시스템을 제어하는 방법 | |
JP4717405B2 (ja) | X線装置およびx線装置のcアームの位置調整方法 | |
EP3626404A1 (en) | Robot system and method for controlling robot system | |
JP2006000977A (ja) | ロボット環境間力作用状態呈示装置 | |
JP4842561B2 (ja) | 力覚コントローラ装置 | |
JPH0443744B2 (ja) | ||
JP2000200140A (ja) | 力覚提示方法及び力覚ペンタブレット | |
JP2004009188A (ja) | マスタ装置、及び、マスタスレーブ装置 | |
JPH0442144B2 (ja) | ||
JP2003275975A (ja) | マスタスレーブ情報伝達システムおよび方法 | |
JPH0890461A (ja) | ロボットの制御装置及び制御方法 | |
JP2017205835A (ja) | マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム | |
JP2017164833A (ja) | マニピュレータ装置の制御装置、マニピュレータ装置の制御方法及びマニピュレータ装置の制御プログラム | |
CN115113517A (zh) | 双边力反馈方法、装置、设备及介质 | |
JPH10202558A (ja) | マスタスレーブ装置 | |
JP3756663B2 (ja) | データ入力装置 | |
JP2000112649A (ja) | 3次元空間座標入力装置 | |
JP2698646B2 (ja) | マニピュレータ操作装置 | |
JPH11154029A (ja) | 操作装置 | |
JPS6133878A (ja) | マニプレ−タの制御装置 | |
Nuño et al. | A proportional plus damping injection controller for teleoperators with joint flexibility and time-delays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080402 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080402 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080402 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100323 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100816 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100928 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |