(57)【特許請求の範囲】
【請求項１】
密閉され、且つ外部より内部を目視できる作業用ボックスの内部に配置されるロボットアームと、
前記作業用ボックスの外部に配置され、操作者が操作子を操作することで、前記ロボットアームの操作指令を入力するための操作装置と、
この操作装置により入力された操作指令に応じて、前記ロボットアームを動作させる制御装置と、
前記作業用ボックスの内部における前記ロボットアームの可動領域を示す可動領域情報に基づき、前記ロボットアームが前記可動領域の限界に近付くのに応じて、前記操作装置において、操作者が操作子を、前記限界に近付く方向に動かす力に反する力である反力を増大させるように制御する反力制御部とを備え、
前記操作装置における操作子は、前記ロボットアームと同じ軸構成となるように構成され、
前記反力制御部は、前記可動領域の限界に至る前に反力発生境界を設けており、
前記ロボットアームが前記反力発生境界を超えるまでは前記反力を発生させず、前記ロボットアームが前記反力発生境界を超えると前記反力を発生させるように制御し、
前記ロボットアームが前記反力発生境界を超えて移動すると、前記ロボットアームの移動速度が速くなるのに応じて、前記反力がより大きくなるように制御するロボットアームの操作システム。
【請求項２】
前記反力制御部は、前記制御装置に配置され、
前記ロボットアームが前記可動領域の限界に近づくのに応じて、前記操作装置に前記反力の増加指令を送信し、
前記操作装置は、受信した指令に応じて前記反力を増大させる請求項１記載のロボットアームの操作システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、密閉された作業用ボックスの内部に配置されるロボットアームを、前記ボックスの外部より操作するシステムに関する。
【背景技術】
【０００２】
近年、ロボットが医薬や医療に関連した作業を行うために適用されている。このような医療等の関連作業に使用するロボットは、その動作環境から耐滅菌性やサニタリー性を備える必要があり、そのような要求に対応するように表面処理がなされているロボットも市場に投入されている。
【０００３】
上記の医療等の関連作業の中には、密閉された作業用ボックスの内部において、例えば細胞の培養作業等を行うものも想定される。その場合、作業用ボックスの内部にロボットのアームを配置し、操作者が、作業用ボックスの外部からロボットアームの動作指令を与えるような作業形態も必要となる。このような作業形態に適用されるものとして、所謂マスタ−スレーブ方式と称されるロボットの遠隔操縦システムが従来より存在する（例えば特許文献１，２参照）。
【０００４】
上記の遠隔操縦システムを適用すると、作業用ボックスの外部において操作装置を操作する側がマスタとなり、その操作に連動して、作業用ボックスの内部にあるロボットアームがスレーブとして動作することになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−３１８４７９号公報
【特許文献２】特開平８−９０４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、医療等の関連作業を行うためのボックスには、極めて高い密閉性が要求され、加えて、作業用ボックスの内部には、ロボットアーム以外にも様々な装置や作業対象となるもの等も配置されるので、実際のスレーブ側のロボットアームの可動領域は極めて制限されている。
しかも、マスタ側の操作時に、スレーブ側のロボットアームが実際もどれくらい配置物に近付いているかの確認は、高い密閉性を持つボックスが仇となり、操作者が正確に把握できるとは言い難い状態にある。
【０００７】
更にまた、ロボットアームを操作する医療関係者は、ロボットの操作経験が無いものが多いと考えられるため、不用意に操作子を操作すれば、ロボットアームが可動領域を越えてしまう。すると、例えば作業用ボックスの内壁や、内部に配置されている装置等にダメージを与えたり、ロボットアーム自体にダメージを与えてしまうことも想定される。
【０００８】
本発明は上記事情に鑑みてなされたものであり、その目的は、操作経験が少ない操作者でも、作業用ボックスの内部に配置されているロボットアームの操作を、ボックスの外部から容易且つ安全に行うことができるロボットアームの操作システムを提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載のロボットアームの操作システムによれば、密閉され、外部より内部を目視できる作業用ボックスの内部にロボットアームを配置し、作業用ボックスの外部に、操作者がロボットアームの操作指令を入力するための操作装置を配置する。そして、反力制御部は、作業用ボックスの内部におけるロボットアームの可動領域を示す可動領域情報に基づき、ロボットアームが可動領域の限界に近付くのに応じて、操作装置において、操作者が操作子を前記限界に近付く方向に動かす力に反する力を増大させる。
【００１０】
このように構成すれば、操作者は、ロボットアームが可動領域の限界に近付くのに従い、操作子を限界に近付く方向に移動させようとすると、漸次増加する反力により抵抗を受けて操作感が重くなるように感じる。したがって、操作者は、その抵抗によりロボットアームが可動領域の限界に近付いていることを、前記限界に到達する以前に触覚を通じて認識することができ、自発的に可動領域の限界に近付く方向へのアーム操作を抑制するようになる。よって、ロボットの操作経験が少ない操作者が、精密な確認がしっかりとできないような作業用ボックスで、しかもその内部でロボットアームを極めて限定されている可動領域内で動作させる場合でも、ロボットアームを、作業用ボックスの内壁やその他の装置等に衝突させることを容易に回避できる。
【００１１】
また、操作装置における操作子を、ロボットアームと同じ軸構成となるように構成する。このように構成すれば、ロボットの操作経験が少ない操作者であっても、ロボットアームと外形的に同様の形態で構成されている操作子を操作することで、作業用ボックス内のロボットアームの動作をより直感的に把握しつつ操作指令を与えることができる。
【００１２】
また、反力制御部は、可動領域の限界に至る手前に反力発生境界を設け、ロボットアームが前記反力発生境界を超えるまでは反力を発生させず、前記反力発生境界を超えると反力を発生させるように制御する。このように構成すれば、ロボットアームが反力発生境界を超えると急に反力が発生するので、操作者に操作上での違和感を与えることができる。そして、その違和感により操作者は、ロボットアームが可動領域の限界に近付いていることを容易に気付くことができる。
【００１３】
加えて、反力制御部は、ロボットアームが反力発生境界を超えて移動すると、ロボットアームの移動速度が速くなるのに応じて反力がより大きくなるように制御する。これにより、距離と移動速度との双方のパラメータに応じて付与する反力の強度を制御することができる。
【００１４】
請求項２記載のロボットアームの操作システムによれば、反力制御部を制御装置側に配置して、ロボットアームが可動領域の限界に近づくのに応じて、操作装置に反力の増加指令を送信する。すると、操作装置は、受信した指令に応じて操作子に付与する反力を増大させる。すなわち、制御装置は、操作装置より入力される操作指令に関わらず、ロボットアームの動作が可動領域を越えることが無いように制限をかける必要がある。そのため、可動領域に関する情報は、制御装置が保持管理するのが適切である。そして、上記のように構成すれば、操作装置側で複雑な計算処理等を行う必要がなくなる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態であり、遠隔操作システムの全体構成を示す図
【図２】マスタ−スレーブのシステム構成を示す機能ブロック図
【図３】マスタ側，スレーブ側の処理を示すフローチャート
【図４】スレーブアームの手先位置から、可動領域の限界位置までの距離に応じて発生する反力の相対値の一例を示す図
【図５】仮想反力モデルを示す図
【図６】図５に示す関係をイメージ的に説明する図
【図７】第２実施形態であり、マスタ−スレーブのシステム構成を示す機能ブロック図
【発明を実施するための形態】
【００１６】
（第１実施形態）
以下、第１実施形態について説明する。全体構成の概略的な外観を示す図１において、操縦装置であるマスタ１は、操作子であるマスタアーム２，コントローラ３から構成されている。また、作業装置であるスレーブ４は、スレーブアーム５，コントローラ６から構成されている。コントローラ６は制御装置に相当する。コントローラ３，６間は、通信ケーブル７により接続されている。
【００１７】
マスタ１において、マスタアーム２は、操作卓１０上に配設されており、先端部に設けられたグリップ１１は、３つの関節機構により回転可能に設けられると共に、各関節機構部において軸回りに捩じる方向にも回転可能に設けられている。すなわちグリップ１１は、操作卓１０に対して並進３自由度で且つ回転３自由度で操作可能に設けられている。これにより、グリップ１１は、所定の可動範囲内において、後述するようにオペレータ（操作者）Ａにより任意の位置姿勢をとることができるように構成されている。
【００１８】
また、マスタアーム２には、グリップ１１がオペレータＡによって操作されたときに受ける力を検出する力検出部１２が配設されている。この力検出部１２は、グリップ１１の移動によって受ける力をマスタアーム２の直交座標系のｘ，ｙ，ｚ軸方向への並進力の力覚データと、各座標軸回りの回転力の力覚データとして検出し、ケーブル１３を介してコントローラ３に出力する。
【００１９】
そして、マスタアーム２には、図示しないが駆動部としてモータなどからなる駆動機構が配設されており、コントローラ３から制御信号が与えられるとこれに応じてグリップ１１を駆動させる。また、マスタアーム２には、各駆動機構を構成するモータの回転位置を検出する位置検出部（エンコーダ）１６を備えている（図２参照）。
【００２０】
コントローラ３は、力覚データを演算処理して通信装置３を介してスレーブ４側に送信したり、位置検出部１６が検出した位置情報を送信したり、力検出部１２からの力覚データおよびスレーブ４側から伝達される力覚データ及び仮想反力データに基づいてマスタアーム２を駆動制御する。「仮想反力データ」については後述する。さらに、マスタアーム２には、後述するスレーブアーム５のハンド１４による作業対象物の把持を行なわせるための指令を行うスイッチが、グリップ１１又は別途に設けられている。
【００２１】
次に、スレーブ４において、スレーブアーム５は、作業用ボックス２０の内部に配置されている。作業用ボックス２０は、例えば細胞培養などのような医療系の作業を行うためのもので、内部は密閉空間となっている。スレーブアーム５は、作業用ボックス２０外部のコントローラ６とケーブル１５を介して接続されているが、そのケーブル１５が作業用ボックス２０の外部から内部に進入する部分についても、細菌等が内外共に漏出しないように密閉処理が施されている。
【００２２】
スレーブアーム５は、作業用ボックス２０の床板２１に回転可能に設置されており、先端部に設けられたハンド１４は３つの関節機構により回転可能に設けられると共に、各関節機構部において軸回りにねじる方向にも回転可能に設けられており、したがって並進３自由度で且つ回転３自由度とされている（垂直６軸構成）。これにより、ハンド１４は、所定の可動範囲内において、任意の位置姿勢をとることができる。また、ハンド１４は、作業対象となる物体を把持可能に構成されており、後述するようにマスタ１側からの制御内容に基づいて把持動作を行う。
【００２３】
そして、スレーブアーム５には、ハンド１４が駆動制御されたときに受ける力を検出する力検出部２２が配設されている（図２参照）。この力検出部２２は、ハンド１４の移動によって受ける力をスレーブアーム５の直交座標系のｘ，ｙ，ｚ軸方向への並進力の力覚データと、各座標軸回りの回転力の力覚データとして検出し、ケーブル１５を介してコントローラ６に出力する。
【００２４】
また、スレーブアーム５には、図示しないが駆動部としてモータなどからなる駆動機構が配設されており、コントローラ６から制御信号が与えられるとこれに応じてハンド１４を駆動させる。また、マスタアーム２には、各駆動機構を構成するモータの回転位置を検出する位置検出部（エンコーダ）１７を備えている（図２参照）。
【００２５】
コントローラ６は、力覚データを演算処理して通信制御部２３を介してマスタ１側に送信したり、位置検出部１６が検出した位置情報を送信したり、力検出部２２からの力覚データ，およびマスタ１側から伝達される力覚データに基づいてスレーブアーム５を駆動制御する。
【００２６】
作業用ボックス２０は、概ね直方体状の箱体であり、その内部には、スレーブアーム５の外、天井２４の下部全面に接して配置される配置物２５，配置物２５の下面の一部に接して、且つ作業用ボックス２０の奥壁２６に接して配置される直方体状の配置物２７，配置物２７と所定の間隔を置いて、床板２１の一部に接して、且つ奥壁２６に接して配置される直方体状の配置物２８，間にスレーブアーム５を挟むようにして何れも床板２１に載置される配置物２９及び３０などがある。
【００２７】
例えば配置物２８及び２９の上面は、スレーブアーム５が作業を行うための作業台となっている。また、これらの配置物の少なくとも一部は、作業用の器材又は器材を含む物である。そして、配置物２８及び２９が接して並ぶ作業用ボックス２０の壁面には、器材等を出し入れするための扉３１が設けられている。この扉３１が閉じられた状態で、作業用ボックス２０の内部は密閉状態となる。
【００２８】
作業用ボックス２０の内部レイアウトが上記の様である結果、スレーブアーム５が可動できる空間（可動領域）は極めて限定されている。すなわち、スレーブアーム５の構造に基づく部分は除き、スレーブアーム５は、配置物２５の下方において配置物２７〜３０が存在しない空間しか稼働できない状態にある。そして、作業用ボックス２０において、少なくとも配置物２９及び３０が共に接して配置されている正面側の壁面と、配置物２８及び２９が共に接して配置されている側面側の壁面とは透明なガラス又は樹脂で構成され、オペレータＡは、作業用ボックス２０の外部よりスレーブアーム５の動作を目視しながらマスタアーム２の操作を行うことが可能である。
【００２９】
次に、図２を参照してコントローラ３，６内部のブロック構成について概略的に説明する。マスタ１側のコントローラ３は、通信制御部３２，座標変換部３３，加算部３４，フィルタ演算部３５，軌道計画部３６，加算部３７，逆変換演算部３８およびサーボ部３９を備えている。通信制御部３２は、スレーブ４側の通信制御部２３との通信を行う。座標変換部３３は、マスタアーム２の力検出部１２が検出する力覚データを内部で用いる標準的な座標に変換する。これは、例えばスレーブ４側の規模やタイプが異なる場合に、両者の間で整合性を持たせるもので、換言すると座標変換部３３を設けることで、マスタアーム２とスレーブアーム５との規模やタイプの違いに柔軟に対応できる。この座標変換部３３は、変換した力覚データを通信制御部３２及び加算部３４に与える。
【００３０】
加算部３４は、座標変換部３３を介して変換された力覚データが与えられると共に、通信制御部３２を介してスレーブ４側から送信される力覚データや仮想反力データが与えられる。また以下では、力覚データと仮想反力データとを合わせたものを「作用力データ」と称する。加算部３４は、これらを加算した値をフィルタ演算部３５に出力する。フィルタ演算部３５は、現在出力中の作用力データ値に対して新たに与えられた作用力データの値が異なる場合に、その偏差に相当する作用力データの量を徐々に変化させて出力するローパスフィルタのような機能を有する。
【００３１】
軌道計画部３６は、マスタアーム２を制御プログラムに従って動作させる場合の、時間経過に応じた位置のデータ，すなわち、軌道データを生成する。逆変換演算部３８には加算部３７を介して、軌道データと作用力データに応じた位置データとの加算値が目標位置データとして入力される。そして、逆変換演算部３８は、入力された目標位置データをマスタアーム２に実際に対応する関節角目標データに逆変換してサーボ部３９に出力する。
【００３２】
サーボ部３９は、マスタアーム２のグリップ１１を駆動制御する。尚、作用力データに仮想反力データが含まれている場合、サーボ部３９はその仮想反力データに応じてグリップ１１の操作方向に反する反力（逆トルク，抵抗トルク）を発生させる。また、通信制御部３２は、作用力データを記憶するためのメモリを内部に備えており、座標変換部３３から与えられる力覚データおよび通信制御部２３より入力される作用力データをそれぞれ所定のアドレスに格納記憶する。
【００３３】
スレーブ４のコントローラ６は、座標変換部４１，加算部４２，フィルタ演算部４３，軌道計画部４４，加算部４５，逆変換演算部４６，サーボ部４７，装置モデル４８，距離演算部４９及び仮想反力演算部５０を備えている。座標変換部４１は、スレーブアーム５の力検出部２２が検出する力覚データを内部で用いる標準的な座標に変換するもので、マスタアーム２の座標変換部３３と同様の働きをする。この座標変換部４１は通信制御部２３に変換した力覚データを与える。加算部４２は、座標変換部４１を介して変換された力覚データを与えられると共に、送受信制御部３２を介してマスタ１側から送信される力覚データが与えられる。
【００３４】
装置モデル４８には、作業用ボックス２０内における配置物２５，２７〜３０のレイアウトに応じて決定される、スレーブアーム５の可動領域を示す３次元座標の情報が格納されている。すなわち、スレーブアーム５を動作させる際に、作業用ボックス２０の内壁や配置物２５，２７〜３０に接触・衝突する事態は防止する必要がある。そこで、装置モデル４８では、スレーブアーム５がそれらに接触しないように所定のマージンをとり、可動領域の限界を設定している。
【００３５】
距離演算部４９は、位置検出部１７より入力されるスレーブアーム５の現在位置と、装置モデル４８より得られるスレーブアーム５の可動領域の限界位置との距離を演算し、仮想反力演算部５０に入力する。仮想反力演算部５０は、入力される距離及びスレーブアーム５の手先の移動速度に応じてスレーブアーム５及びマスタアーム２に作用させる仮想反力を演算し、仮想反力データを通信制御部２３及び加算部４２に入力する。前記移動速度は、位置検出部１７より検出される位置変化量から取得する。仮想反力演算部５０は、反力制御部に相当する。
【００３６】
加算部４２には、上述した各力覚データと共に、上記の仮想反力データが入力されており、加算部４２は、これらを加算した結果をフィルタ演算部４３に出力する。フィルタ演算部４３は、マスタ１側のフィルタ演算部３５と同様の作用を成す。軌道計画部４４は、スレーブ側の軌道計画部３６と同様の機能をマスタ１側に適用したものである。また、加算部４５，逆変換演算部４６についても同様である。
【００３７】
サーボ部４９は、スレーブアーム５のハンド１４を駆動制御する。また、通信制御部３２３は、作用力データを記憶するためのメモリを内部に備えており、座標変換部４１および通信制御部３２より入力される力覚データ，並びに仮想反力演算部５０より入力される仮想反力データをそれぞれ所定のアドレスに格納記憶する。
【００３８】
次に本実施形態の作用について説明する。本実施形態における力覚データの授受に基づく駆動制御の原理については、特許文献１と同様である。基本的には、オペレータＡが手によりマスタアーム２を把持して操作する方向に連動して、スレーブアーム５が動作する。本実施形態における特徴的な作用は、スレーブ４側でスレーブアーム５が動作した際に、装置モデル４８，距離演算部４９及び仮想反力演算部５０の作用により仮想反力データが生成されると、その仮想反力データがマスタ１側に伝達されて、オペレータＡによるマスタ１側のマスタアーム２の操作感に影響を与える部分である。以下、この点について説明する。
【００３９】
図３に示すように、オペレータＡがマスタアーム２を操作して動かすと、マスタアーム２の各軸位置が検出されて手先座標が求められ（Ｍ１）、その手先座標の情報がスレーブ４側に送信される（Ｍ２）。スレーブ４側では、マスタ１が送信した手先座標を受信すると（Ｓ１；ＹＥＳ）、コントローラ６は、スレーブアーム５の手先（ハンド１４）を、受信した手先座標に応じた位置に至るように動作させる（Ｓ２）。
【００４０】
そして、コントローラ６は、動作中におけるスレーブアーム５の手先座標を計算し（Ｓ３）、手先座標がスレーブアーム５の可動領域内に設定されている「反力発生境界」を越えたか否かを判断する（Ｓ４）。ここで、「反力発生境界」とは、可動領域の限界に対して所定のマージンを持たせ、前記限界の近傍に設定した３次元的な境界である。反力発生境界から可動領域の限界までは「反力発生域」となる。手先座標が反力発生境界を越えなければ（ＮＯ）反力値はゼロとする（Ｓ７）。
【００４１】
一方、手先座標が反力発生域を越えると（Ｓ４；ＹＥＳ）、仮想反力演算部５０が手先位置と可動領域の限界との距離に応じた反力値を計算し（Ｓ５）、マスタ１側に計算した反力値を送信する（Ｓ６）。スレーブ４側では、上記反力値を受信すると（Ｍ３；ＹＥＳ）、コントローラ３のサーボ部３９において、その時点でオペレータＡがマスタアーム２を操作している方向に対して反対方向となる力，反力を付与するように、対応する軸のモータに抵抗トルクを発生させる（Ｍ４）。
【００４２】
例えば図４に示すように、スレーブアーム５の手先位置が、可動領域の限界，つまり作業用ボックス２０内の配置物２５，２７〜３０等の障害部に接触するまでの距離が１００ｍｍ→５０ｍｍ→１ｍｍといったように縮まるのに応じて、反力の相対値を、１→５０→９９と漸次増加させる。少なくとも反力値「９９」は、オペレータＡがその反力に抗して、マスタアーム２を操作することが実質的に不能な力に設定する。尚、前記距離が０ｍｍになると、コントローラ３が別途制御プログラムにより操作を制限する「ソフトリミット」が機能して、マスタアーム２は完全に動かなくなる。
【００４３】
図５は、スレーブアーム５の仮想反力発生モデルであり、スレーブアーム５の手先と、障害物（配置物２５,２７〜３０）との間が仮想的なバネ及びダンパにより接続されている。そして、図６に示すように、スレーブアーム５の手先が反力発生境界を越えなければ反力値は「０」であるから、オペレータ（ユーザ）Ａは、マスタアーム２を操作する際に特段の抵抗を受けることなく、与えた操作力に応じてマスタアーム２を操作できる。
【００４４】
スレーブアーム５の手先が反力発生境界を越えると、上述のようにマスタアーム２の駆動機構に反力が発生するように作用し、オペレータＡは、マスタアーム２の操作感に抵抗を受けるようになる。この時、移動限界である障害物モデル位置までの距離に応じた反力管理と（仮想バネに対応）、マスタアーム２の手先の移動速度に応じた反力管理（仮想ダンパに対応）とが並行して行われる。
【００４５】
距離に応じた反力管理は、図５（ｂ）に示すように、移動限界までの近いほど付与される反力値が大きくなる。図５（ｂ）では、例示として反力値が線形に変化するように示しているが、例えば二次曲線に従い変化させても良い。また、速度に応じた反力管理は、図５（ｃ）に示すように、速度が速くなるほど付与される反力値が大きくなる。図５（ｃ）も例示として反力値が線形に変化するように示しているが、距離に応じた反力管理と同様に二次曲線等に従い変化させても良い。
【００４６】
つまり、マスタアーム２に作用する反力値は、距離に応じて付与される値と、速度に応じて付与される値との合計になる。例えば、距離，速度に応じて発生する反力値の相対的なイメージは、下記のようになる。
距離          速度        反力値
中            中            大
遠            遅            小
限界          中            大
遠            最速          大
遠            中            中
中            遅            中
【００４７】
図６に示すパターンでは、距離が移動限界に到達する直前になるか、反力発生域内の移動速度が最速になるかの何れか一方を満たすと、反力値が最大となるようにパラメータが設定されている。これにより、付与される反力値は大きくなる傾向になり易く、スレーブアーム５の衝突が確実に防止される。また、反力発生域もより狭い領域で設定可能になる。個別の設計によっては、距離が移動限界に到達する直前になり、且つ反力発生域内の移動速度が最速になった際に反力値が最大となるように設定することも想定される。その場合、付与される反力値は全体的に小さくなる傾向を示すが、オペレータの操作感に与える影響は小さくなりオペレータに動かし易さを感じさせることができる。但し、反力発生域はより広く設定する必要がある。
【００４８】
尚、以上は例示としてスレーブアーム５の手先が反力発生境界を越えるか否かで説明したが、手先に限ることなく、スレーブアーム５のどの部分についても反力発生境界を越えた際には、同じように反力を発生させる。また、スレーブアーム５のハンド１４が作業を行う領域に近接する反力発生境界については、反力によって作業に支障が生じることがないように設定する。
【００４９】
以上のように本実施形態によれば、密閉された作業用ボックス２０の内部にスレーブアーム５を配置し、作業用ボックス２０の外部に、オペレータＡがスレーブアーム５の操作指令を入力するための操作装置としてマスタアーム２を配置する。そして、仮想反力演算部５０は、作業用ボックス２０の内部におけるスレーブアーム５の可動領域を示す可動領域情報に基づき、スレーブアーム５が可動領域の限界に近付くのに応じて、オペレータＡがマスタアーム２を前記限界に近付く方向に動かす力に反する反力を増大させるようにした。
【００５０】
これにより、オペレータＡは、スレーブアーム５が可動領域の限界に近づくのに従い、マスタアーム２をそのまま同じ方向に移動させようとすると、漸次増加する抵抗を受けて操作感が重く感じる。したがって、オペレータＡは、その抵抗によりスレーブアーム５が可動領域の限界に近付いていることを感覚的に認識することができ、自発的に限界に近づく方向へのアーム操作を抑制するようになる。よって、ロボットの操作経験が少ない操作者が、作業用ボックス２０内のスレーブアーム５を、可動領域が極めて限定されている範囲で動作させる場合でも、スレーブアーム５を作業用ボックス２０の内壁や、その他の配置物２５，２７〜３０等に衝突させることを容易に回避できる。
【００５１】
また、操作装置における操作子を、スレーブアーム５と同じ軸構成のマスタアーム２にした。このように構成すれば、ロボットの操作経験が少ないオペレータであっても、外形がスレーブアーム５とほぼ同様の形態であるマスタアーム２を操作することで、作業用ボックス２０内のスレーブアーム５の動作を、マスタアーム２に受ける反力によって直感的に把握しつつ、操作指令を与えることができる。
【００５２】
更に、仮想反力演算部５０は、可動領域の限界に至る手前に反力発生境界を設け、スレーブアーム５が反力発生境界を超えるまでは反力を発生させずにゼロとし、反力発生境界を超えると反力を発生させるように制御する。このように構成すれば、スレーブアーム５がロボットアームが反力発生境界を超えると急に反力が発生するので、オペレータＡに操作上での違和感を与えることができる。そして、その違和感により操作者は、スレーブアーム５が可動領域の限界に近付いていることを容易に気付くことができる。
【００５３】
加えて、反力演算部５０は、スレーブアーム５が反力発生境界を超えて移動すると、手先の移動速度が速くなるのに応じて反力がより大きくなるように制御するので、これにより、距離と移動速度との双方のパラメータに応じて付与する反力の強度を制御するこができる。
【００５４】
そして、仮想反力演算部５０をスレーブ４側のコントローラ６に配置して、スレーブアーム５が可動領域の限界に近づくのに応じてマスタ１側に反力の増加指令を送信し、マスタ１のコントローラ３は、受信した指令に応じてマスタアーム２に付与する反力を増大させるようにした。すなわち、スレーブ４のコントローラ６は、マスタ１より入力される操作指令に関わらず、スレーブアーム５の動作が可動領域を越えることが無いように制限をかける必要がある。そのため、可動領域に関する情報は、コントローラ６が保持管理するのが適切であり、このように構成すれば、コントローラ３側で複雑な計算処理等を行う必要がなくなる。
【００５５】
（第２実施形態）
以下、第１実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図７に示すように、第１実施形態ではスレーブ４側のコントローラ６に配置されていた装置モデル４８，距離演算部４９及び仮想反力演算部５０を、マスタ１側のコントローラ３内に備えた構成である。この場合、仮想反力演算部５０より出力される仮想反力データは、加算部３４に入力される。
以上のように構成される第２実施形態による場合も、第１実施形態とほぼ同様の効果が得られる。また、スレーブ４側からマスタ１側への通信データ量を削減できる。
【００５６】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
作業用ボックス２０内で行う作業は、医療系の作業に限ることなく、密閉空間内で行うのに適している作業であれば良い。
スレーブアーム５にカメラなどの撮像装置を配置し、作業用ボックス２０の内部を３次元的にスキャンすることで、内部のレイアウトに応じた可動領域情報を生成して装置モデル４８に初期設定しても良い。
【符号の説明】
【００５７】
図面中、１はマスタ、２はマスタアーム（操作子）、３はコントローラ、４はスレーブ４、５はスレーブアーム、６はコントローラ、２０は作業用ボックス、４８は装置モデル、４９は距離演算部、５０は仮想反力演算部を示す。
【図１】
0006520478.tif 000002
【図２】
0006520478.tif 000003
【図３】
0006520478.tif 000004
【図４】
0006520478.tif 000005
【図５】
0006520478.tif 000006
【図６】
0006520478.tif 000007
【図７】
0006520478.tif 000008