(57)【要約】【課題】  作業効率を向上させることができるロボットシステムを提供する。【解決手段】    スレーブユニット１と、マスタユニット２と、操作者Ｐの知覚によって感知可能な感覚情報を用いて報知を行う報知部２０４と、操作端２１ａに入力された操作内容に基づいて、スレーブ動作指令ｘｓを生成するスレーブ動作指令生成部３２を含むシステム制御部３と、を有するロボットシステム１００であって、システム制御部３は、所定の動作領域Ａ１の限界から動作領域Ａ１側に拡がる通知領域Ａ３にスレーブ動作指令ｘｓの作業端１１ａの目標位置が位置すると判定すると、報知部２０４を制御して操作者Ｐに対する報知を行う。【選択図】      図２
2020099968.tif 000002
【特許請求の範囲】
【請求項１】
作業端を有するスレーブアームと、前記スレーブアームを駆動するスレーブアーム駆動部と、前記作業端の目標位置を規定するスレーブ動作指令に基づき前記スレーブアーム駆動部を制御するスレーブ側制御部と、を含むスレーブユニットと、
操作者が操作内容を入力する操作端を有するマスタアームを含むマスタユニットと、
前記操作者の知覚によって感知可能な感覚情報を用いて報知を行う報知部と、
前記操作端に入力された操作内容に基づいて、前記スレーブ動作指令を生成するスレーブ動作指令生成部を含むシステム制御部と、を有するロボットシステムであって、
前記システム制御部は、所定の動作領域の限界から該動作領域側に拡がる通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記報知部を制御して前記操作者に対する報知を行う、ロボットシステム。
【請求項２】
前記システム制御部は、前記スレーブ動作指令の前記作業端の目標位置と前記動作領域の限界との距離が小さくなるにしたがって前記感覚情報の強度が強くなるように前記報知部を制御する、請求項１に記載のロボットシステム。
【請求項３】
作業端を有するスレーブアームと、前記作業端又は前記作業端に保持したワークに作用する反力の方向及び大きさを検出するスレーブ側力検出部と、前記スレーブアームを駆動するスレーブアーム駆動部と、スレーブ動作指令に基づき前記スレーブアーム駆動部を制御するスレーブ側制御部と、を含むスレーブユニットと、
操作端を有するマスタアームと、前記操作端に操作者が加えた操作力の方向及び大きさを検出するマスタ側力検出部と、前記マスタアームを駆動するマスタアーム駆動部と、マスタ動作指令に基づき前記マスタアーム駆動部を制御するマスタ側制御部と、を含むマスタユニットと、
所定の制御周期毎に前記作業端の目標位置を規定する前記スレーブ動作指令と前記操作端の目標位置を規定する前記マスタ動作指令とを前記スレーブ動作指令の目標位置と前記マスタ動作指令の目標位置とが所定の対応関係を有するように生成するシステム制御部と、を有するロボットシステムであって、
前記システム制御部は、所定の動作領域の限界から該動作領域側に拡がる通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記操作端の動作を変化させるように前記マスタ動作指令を生成する、ロボットシステム。
【請求項４】
前記システム制御部は、前記通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記作業端に作用する前記動作領域の限界から離れる向きを有する反発力を設定し、続く制御周期において前記操作力、前記反力及び前記反発力の合成力に基づいて前記マスタ動作指令を生成する、請求項３に記載のロボットシステム。
【請求項５】
前記システム制御部は、前記スレーブ動作指令の前記作業端の目標位置と前記動作領域の限界との距離が小さくなるにしたがって前記反発力の大きさが大きくなるように前記反発力を設定する、請求項４に記載のロボットシステム。
【請求項６】
前記システム制御部は、
前記通知領域を設定する通知領域設定部と、
前記通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記反発力を設定する反発力設定部と、
前記操作力、前記反力及び前記反発力の合成力に基づいて目標速度ベクトルを算出する換算部と、
前記目標速度ベクトルに基づいて前記スレーブ動作指令を生成するスレーブ動作指令生成部と、
前記目標速度ベクトルに基づいて前記マスタ動作指令を生成するマスタ動作指令生成部と、を含む請求項４又は５に記載のロボットシステム。
【請求項７】
作業端を有するスレーブアームと、前記作業端又は前記作業端に保持したワークに作用する反力の方向及び大きさを検出するスレーブ側力検出部と、前記スレーブアームを駆動するスレーブアーム駆動部と、を含むスレーブユニットと、
操作端を有するマスタアームと、前記操作端に操作者が加えた操作力の方向及び大きさを検出するマスタ側力検出部と、前記マスタアームを駆動するマスタアーム駆動部と、を含むマスタユニットと、を有するロボットシステムの制御方法であって、
所定の動作領域の限界から該動作領域側に拡がる通知領域を設定し、
所定の制御周期毎に前記操作力及び前記反力の合成力に基づいて前記作業端の目標位置を算出し、
前記作業端の目標位置が前記通知領域に位置すると判定すると、前記作業端に作用する前記動作領域の限界から離れる向きを有する反発力を設定し、
前記操作力、前記反力及び前記反発力の合成力に基づいて前記操作端の次期目標位置を算出し、
続く制御周期において前記マスタアーム駆動部に前記操作端を前記次期目標位置に位置させる、ロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットシステム及びロボットシステムの制御方法に関する。
【背景技術】
【０００２】
従来からマスタスレーブ型マニプレータとその制御方法が知られている（例えば特許文献１参照）。
【０００３】
このマスタスレーブ型マニプレータは、マスタアームを操作することにより、これと相似形となるようにマスタアームの形状に追従するスレーブアームを有する。そして、マスタアームには接触子が設けられており、この接触子が位置規制部材に当接してマスタアームの動作範囲を規制する。これによって、スレーブアームの動作範囲を規制することができ、障害物との干渉を防止することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−１２４８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載のマスタスレーブ型マニプレータは、スレーブアームがワークに接触したときに、そのことを操作者に伝達することができず、作業者はスレーブアームがワークに接触して動作が規制されているのか、それとも接触子が位置規制部材に当接してマスタアームの動作範囲が規制されているのかを判別することが困難な場合があり、作業効率の向上に制約があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明のある態様に係るロボットシステムは、作業端を有するスレーブアームと、前記スレーブアームを駆動するスレーブアーム駆動部と、前記作業端の目標位置を規定するスレーブ動作指令に基づき前記スレーブアーム駆動部を制御するスレーブ側制御部と、を含むスレーブユニットと、操作者が操作内容を入力する操作端を有するマスタアームを含むマスタユニットと、前記操作者の知覚によって感知可能な感覚情報を用いて報知を行う報知部と、前記操作端に入力された操作内容に基づいて、前記スレーブ動作指令を生成するスレーブ動作指令生成部を含むシステム制御部と、を有するロボットシステムであって、前記システム制御部は、所定の動作領域の限界から該動作領域側に拡がる通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記報知部を制御して前記操作者に対する報知を行う。
【０００７】
この構成によれば、操作者の知覚を通じて操作者に作業端の動作領域の限界への接近を通知することができる。これによって、操作者は、作業端がワークに接触しているのか、それとも作業端が動作領域の限界の近傍に位置しているのかを容易に判別することができ、作業効率を向上させることができる。
【発明の効果】
【０００８】
本発明は、作業効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係るロボットシステムの構成例を概略的に示す図である。
【図２】図１のロボットシステムの制御系統の構成例を概略的に示すブロック図である。
【図３】図１のロボットシステムの通知領域設定部が設定する動作領域、進入禁止領域及び通知領域の設定例を示す図である。
【図４】図１のロボットシステムの動作例を示す図である。
【図５】図１のロボットシステムの動作例を示す図である。
【図６】本発明の実施の形態２に係るロボットシステムの制御系統の構成例を概略的に示すブロック図である。
【発明を実施するための形態】
【００１０】
ある態様にかかるロボットシステムは、作業端を有するスレーブアームと、前記スレーブアームを駆動するスレーブアーム駆動部と、前記作業端の目標位置を規定するスレーブ動作指令に基づき前記スレーブアーム駆動部を制御するスレーブ側制御部と、を含むスレーブユニットと、操作者が操作内容を入力する操作端を有するマスタアームを含むマスタユニットと、前記操作者の知覚によって感知可能な感覚情報を用いて報知を行う報知部と、前記操作端に入力された操作内容に基づいて、前記スレーブ動作指令を生成するスレーブ動作指令生成部を含むシステム制御部と、を有するロボットシステムであって、前記システム制御部は、所定の動作領域の限界から該動作領域側に拡がる通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記報知部を制御して前記操作者に対する報知を行う。
【００１１】
この構成によれば、操作者の知覚を通じて作業端の動作領域の限界への接近を通知することができる。これによって、操作者は、作業端がワークに接触しているのか、それとも作業端が動作領域の限界又は当該限界の近傍に位置しているのかを容易に判別することができ、作業効率を向上させることができる。
【００１２】
前記システム制御部は、前記スレーブ動作指令の前記作業端の目標位置と前記動作領域の限界との距離が小さくなるにしたがって前記感覚情報の強度が強くなるように前記報知部を制御してもよい。
【００１３】
この構成によれば、操作者に動作領域の限界との距離を案内することができる。
【００１４】
他の態様に係るロボットシステムは、作業端を有するスレーブアームと、前記作業端又は前記作業端に保持したワークに作用する反力の方向及び大きさを検出するスレーブ側力検出部と、前記スレーブアームを駆動するスレーブアーム駆動部と、スレーブ動作指令に基づき前記スレーブアーム駆動部を制御するスレーブ側制御部と、を含むスレーブユニットと、操作端を有するマスタアームと、前記操作端に操作者が加えた操作力の方向及び大きさを検出するマスタ側力検出部と、前記マスタアームを駆動するマスタアーム駆動部と、マスタ動作指令に基づき前記マスタアーム駆動部を制御するマスタ側制御部と、を含むマスタユニットと、所定の制御周期毎に前記作業端の目標位置を規定する前記スレーブ動作指令と前記操作端の目標位置を規定する前記マスタ動作指令とを前記スレーブ動作指令の目標位置と前記マスタ動作指令の目標位置とが所定の対応関係を有するように生成するシステム制御部と、を有するロボットシステムであって、前記システム制御部は、所定の動作領域の限界から該動作領域側に拡がる通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記操作端の動作を変化させるように前記マスタ動作指令を生成する。
【００１５】
この構成によれば、操作者の力覚を通じて作業端の動作領域の限界への接近を通知することができる。これによって、操作者は、作業端がワークに接触しているのか、それとも作業端が動作領域の限界又は当該限界の近傍に位置しているのかを容易に判別することができ、作業効率を向上させることができる。
【００１６】
前記システム制御部は、前記通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記作業端に作用する前記動作領域の限界から離れる向きを有する反発力を設定し、続く制御周期において前記操作力、前記反力及び前記反発力の合成力に基づいて前記マスタ動作指令を生成してもよい。
【００１７】
この構成によれば、反発力によって操作者に動作領域の限界への接近を通知することができる。また、反発力の向きに基づいて、操作者に前記境界から離れる方向を適切に案内することができる。
【００１８】
前記システム制御部は、前記スレーブ動作指令の前記作業端の目標位置と前記動作領域の限界との距離が小さくなるにしたがって前記反発力の大きさが大きくなるように前記反発力を設定してもよい。
【００１９】
この構成によれば、操作者に動作領域の限界との距離を案内することができる。
【００２０】
前記システム制御部は、前記通知領域を設定する通知領域設定部と、前記通知領域に前記スレーブ動作指令の前記作業端の目標位置が位置すると判定すると、前記反発力を設定する反発力設定部と、前記操作力、前記反力及び前記反発力の合成力に基づいて目標速度ベクトルを算出する換算部と、前記目標速度ベクトルに基づいて前記スレーブ動作指令を生成するスレーブ動作指令生成部と、前記目標速度ベクトルに基づいて前記マスタ動作指令を生成するマスタ動作指令生成部と、を含んでいてもよい。
【００２１】
この構成によれば、バイラテラル制御方式のロボットシステムにおいて、操作者に動作領域の限界への接近を適切に通知することができる。
【００２２】
以下、実施の形態について、図面を参照しながら説明する。なお、本実施の形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００２３】
（実施の形態１）
図１は、実施の形態１に係るロボットシステム１００の構成例を概略的に示す図である。図２は、ロボットシステム１００の制御系統の構成例を概略的に示すブロック図である。
【００２４】
ロボットシステム１００は、図１及び図２に示すように、スレーブアーム１１がマスタアーム２１の動きをなぞるように動作するマスタースレーブ方式のロボットを含むシステムである。ロボットシステム１００は、スレーブアーム１１の作業領域から離れた位置（作業領域外）にいる操作者Ｐがマスタアーム２１を動かして動作指令をロボットシステム１００に入力することで、スレーブアーム１１が該動作指令に対応した動作を行い、部品の組み付け作業などの特定の作業を行うことができるように構成されている。
【００２５】
更に、ロボットシステム１００は、バイラテラル制御方式のロボットシステムであり、制御部がスレーブアーム１１に加えてマスタアーム２１の動作を同期して制御することで、スレーブアーム１１に作用する力を、マスタアーム２１を介して操作者Ｐに提示するように構成されている。ロボットシステム１００は、スレーブアーム１１を含むスレーブユニット１と、マスタアーム２１を含むマスタユニット２と、システム制御部３とを備える。
【００２６】
［スレーブユニットの構成例］
図１に示すように、スレーブユニット１は、例えば産業用ロボットである。スレーブユニット１は、基部１０と、スレーブアーム１１と、スレーブ側力検出部１２と、スレーブアーム駆動部１３（図２参照）と、スレーブ側制御部１４（図２参照）とを含む。
【００２７】
スレーブアーム１１は、例えば、垂直多関節型のロボットアームである。すなわち、基端部から先端部に向かう方向に順次連結される複数のリンクと、隣り合うリンクの一方に対して他方を回動可能に連結する一以上の関節を備える。そして、スレーブアーム１１の先端部が作業端１１ａであり、作業端１１ａにはハンド（エンドエフェクタ）１６が設けられている。基部１０は、例えば床に固定され、スレーブアーム１１を支えている。スレーブアーム１１は、例えば６自由度を有し、作業端１１ａを動作範囲内の任意の位置で任意の姿勢を取らせることができる。
【００２８】
ハンド１６は、例えば、ワークＷの保持を行う保持動作及び保持したワークＷの解放を行う解放動作を行うことができるように構成され、例えば部品の組み付け作業を実施する。ハンド１６は、保持動作及び解放動作を行うための図示しないハンド駆動部を含む。なお、ハンド１６は、溶接作業、塗装作業を行うことができるように、当該作業目的に応じた構造であってもよい。
【００２９】
スレーブ側力検出部１２は、互いに直交する３つの軸方向に作用する力の大きさ及びこれら３つの軸周りに作用する力のモーメントを検出するセンサであり、スレーブアーム１１の作業端１１ａに配設されている。スレーブ側力検出部１２は互いに直交する３つの軸方向及び軸周りに作用する分力の検出が可能な６軸力覚センサで構成される。これによって、スレーブ側力検出部１２は、スレーブアーム１１の作業端１１ａに保持したワークＷがワークＷを組み付ける対象物Ｔに接触したときに、作業端１１ａ又は作業端１１ａに保持したワークＷに作用する反力ｆｓの方向及び大きさを検出する。検出した反力ｆｓは、システム制御部３に出力される。
【００３０】
スレーブアーム駆動部１３は、スレーブアーム１１を駆動する。すなわち、スレーブアーム駆動部１３は、スレーブアーム１１の各関節に設けられたアクチュエータを含み、アクチュエータの駆動によって各関節を動作させることにより、スレーブアーム１１の基端部に対して先端部（作業端１１ａ）及びハンド１６を所定の動作領域内で移動させる。本実施の形態において、例えば、スレーブアーム１１の各関節は回動関節であり、アクチュエータは減速機を備えるサーボモータである。
【００３１】
スレーブ側制御部１４は、作業端１１ａの目標位置を規定する位置指令であるスレーブ動作指令ｘｓに基づきスレーブアーム駆動部１３を制御し、スレーブアーム１１を動作させる。スレーブ動作指令ｘｓは、スレーブ座標系における位置指令である。スレーブ側制御部１４は、スレーブ動作指令ｘｓに基づき、各関節のサーボモータの出力軸の回転角を算出し、スレーブアーム１１の各関節のサーボモータに供給する電流を制御してサーボモータの動作を制御し、スレーブアーム１１の姿勢を変更し、これによって、作業端１１ａを目標位置に位置させる。スレーブアーム１１の姿勢の制御は、スレーブアーム１１に設けられた図示しないエンコーダから出力される関節角度に基づいたフィードバック制御によって行われる。
【００３２】
［マスタユニットの構成例］
マスタユニット２は、作業領域外に設置され、スレーブアーム１１の動作を遠隔的に制御する。マスタユニット２は、マスタアーム２１と、マスタ側力検出部２２と、マスタアーム駆動部２３（図２参照）と、マスタ側制御部２４（図２参照）とを含む。
【００３３】
マスタアーム２１は、操作者Ｐが触れて操作して操作者Ｐからスレーブアーム１１に対する動作指令を入力する装置である。マスタアーム２１は、例えば６自由度を有し、操作端２１ａを動作範囲内の任意の位置で任意の姿勢を取らせることができる。操作者Ｐが触れて操作する部位が操作端２１ａを構成し、操作者Ｐは操作端２１ａに力を加えて、スレーブアーム１１に対する動作指令を入力する。
【００３４】
マスタ側力検出部２２は、互いに直交する３つの軸方向に作用する力の大きさ及びこれら３つの軸周りに作用する力のモーメントを検出するセンサであり、マスタアーム２１の操作端２１ａに配設されている。マスタ側力検出部２２は互いに直交する３つの軸方向及び軸周りに作用する分力の検出が可能な６軸力覚センサで構成される。これによって、マスタ側力検出部２２は、操作者Ｐの操作端２１ａへの操作入力を検知し、操作者Ｐからスレーブアーム１１に対する動作指令、すなわちマスタアーム２１の操作端２１ａに操作者Ｐが加えた操作力ｆｍの方向及び大きさを検出する。検出した操作力ｆｍは、システム制御部３に出力される。
【００３５】
マスタアーム駆動部２３は、マスタアーム２１を駆動する。すなわち、マスタアーム駆動部２３は、マスタアーム２１の各関節に設けられたアクチュエータを含み、アクチュエータの駆動によって各関節を動作させることにより、マスタアーム２１の操作端２１ａを移動させる。本実施の形態において、例えば、アクチュエータは減速機を備えるサーボモータである。
【００３６】
マスタ側制御部２４は、操作端２１ａの目標位置を規定する位置指令であるマスタ動作指令ｘｍに基づきマスタアーム駆動部２３を制御し、マスタアーム２１を動作させる。マスタ動作指令ｘｍは、マスタ座標系における位置指令である。マスタ座標系とスレーブ座標系とは対応関係を有しており、座標変換によって、一方の位置指令値に基づいて他方の位置指令値を算出することが可能となっている。マスタ側制御部２４は、マスタ動作指令ｘｍに基づき、マスタアーム２１の各関節のサーボモータの出力軸の回転角を算出し、マスタアーム２１の各関節のサーボモータに供給する電流を制御して各関節のサーボモータの動作を制御し、マスタアーム２１の姿勢を変更し、これによって、操作端２１ａを目標位置に位置させる。マスタアーム２１の姿勢の制御は、マスタアーム２１に設けられた図示しないエンコーダから出力される関節角度に基づいたフィードバック制御によって行われる。
【００３７】
［システム制御部の構成例］
システム制御部３は、並列型バイラテラル制御方式によって、スレーブユニット１及びマスタユニット２を制御する。この制御は、システム制御部３が所定の制御周期毎にマスタ側力検出部２２が検出した操作力ｆｍ及びスレーブ側力検出部１２が検出した反力ｆｓに基づいて、位置指令であるスレーブ動作指令ｘｓ、及び位置指令であるマスタ動作指令ｘｍを生成することによりおこなう。また、システム制御部３は、スレーブ動作指令ｘｓの目標位置とマスタ動作指令ｘｍの目標位置とが所定の対応関係を有するように生成する。
【００３８】
システム制御部３は、換算部３１と、スレーブ動作指令生成部３２と、マスタ動作指令生成部３３と、通知領域設定部３４と、反発力設定部３５とを含む。これら、換算部３１、スレーブ動作指令生成部３２、マスタ動作指令生成部３３、通知領域設定部３４、及び反発力設定部３５は、所定の制御プログラムを図示しない演算部が実行することにより実現される機能ブロックである。
【００３９】
スレーブ側制御部１４、マスタ側制御部２４及びシステム制御部３に係る上記の演算部は、例えばマイクロコントローラ、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡ等のプログラマブルロジックデバイス（ＰＬＤ）などの演算器で構成される。演算部は、集中制御する単独の制御器で構成されていてもよく、互いに協働して分散制御する複数の制御器で構成されてもよい。また、システム制御部３は、各種プログラム及びデータを記憶する記憶部（図示せず）を備えている。また、システム制御部３は、スレーブ側制御部１４及びマスタ側制御部２４を含む単独の制御器で構成されていてもよく、互いに協働して分散制御する複数の制御器で構成されてもよい。
【００４０】
換算部３１は、マスタ側力検出部２２が検出した操作力ｆｍ、スレーブ側力検出部１２が検出した反力ｆｓ、及び反発力設定部３５が設定した反発力ｆｒの合成力に基づいて、目標速度ベクトルｖｄを算出する。この目標速度ベクトルｖｄは、後述する通り、作業端１１ａ及び操作端２１ａの移動方向及び移動量の大きさを算出するために用いられる。より具体的には、換算部３１は、操作力ｆｍ及び反力ｆｓの差分に反発力ｆｒを加算した合成力に基づいて、作業端１１ａ及び操作端２１ａの移動方向及び移動速度を規定する目標速度ベクトルｖｄを例えば以下の式（１）に基づいて算出する。
【数１】
2020099968.tif 000003
【００４１】
式（１）に示すように、換算部３１は、操作力ｆｍ及び反力ｆｓの差分を算出することによって、操作力ｆｍと反力ｆｓとを関係づけ、反力ｆｓを操作力ｆｍに対する反力として取り扱う。
【００４２】
スレーブ動作指令生成部３２は、目標速度ベクトルｖｄの値に応じた速度で作業端１１ａを移動させるように、目標速度ベクトルｖｄに基づいてスレーブ動作指令ｘｓを生成する。スレーブ動作指令ｘｓは、上述の通り、作業端１１ａの目標位置を規定する位置指令である。スレーブ動作指令ｘｓはスレーブ側制御部１４に出力され、スレーブ側制御部１４は、このスレーブ動作指令ｘｓに基づきスレーブアーム駆動部１３を制御し、スレーブアーム１１の作業端１１ａはマスタアーム２１の操作端２１ａの動きをなぞるように同期して移動する。
【００４３】
マスタ動作指令生成部３３は、目標速度ベクトルｖｄの値に応じた速度で操作端２１ａを移動させるように、目標速度ベクトルｖｄに基づいてマスタ動作指令ｘｍを生成する。マスタ動作指令ｘｍは、上述の通り、操作端２１ａの目標位置を規定する位置指令である。マスタ動作指令ｘｍはマスタ側制御部２４に出力され、マスタ側制御部２４は、マスタ動作指令ｘｍに基づきマスタアーム駆動部２３を制御し、スレーブアーム１１の作業端１１ａに作用する反力ｆｓ、及び反発力設定部３５が設定した反発力ｆｒを、マスタアーム２１の操作端２１ａにおいて操作力ｆｍに抗するように操作端２１ａを動作させることにより、操作者Ｐに提示する。したがって、操作者Ｐは、作業端１１ａが環境に接触した際には反力ｆｓを操作者Ｐの力覚を通じて認識して作業を行うことができるように構成されている。また、操作者Ｐは、作業端１１ａが通知領域Ａ３に進入した際には反発力ｆｒを操作者Ｐの力覚を通じて認識して作業を行うことができるように構成されている。
【００４４】
図３は、ロボットシステム１００の通知領域設定部３４が設定する動作領域Ａ１、進入禁止領域Ａ２及び通知領域Ａ３の設定例を示す図である。
【００４５】
通知領域設定部３４は、図３に示すように所定の動作領域Ａ１の限界、すなわち境界Ｂから動作領域Ａ１側に拡がる通知領域Ａ３を設定する。具体的には、通知領域設定部３４は、所定の動作領域Ａ１と、動作領域Ａ１以外の進入禁止領域Ａ２と、所定の動作領域Ａ１の限界、すなわち動作領域Ａ１と進入禁止領域Ａ２との境界Ｂから動作領域Ａ１側に所定距離拡がる通知領域Ａ３を設定する。すなわち、通知領域Ａ３は動作領域Ａ１に含まれる領域であり、動作領域Ａ１上に重畳して設定される。これら動作領域Ａ１、進入禁止領域Ａ２、及び通知領域Ａ３の設定内容は、図示しない記憶部に予め格納されており、通知領域設定部３４がこれらの領域Ａ１〜Ａ３の内容を読み出すことにより、これらの領域Ａ１〜Ａ３を設定する。動作領域Ａ１は、例えば障害物が存在する空間や、対象物Ｔから離れた空間等の作業が実施されない空間を除くように設定される。
【００４６】
図２に示すように、反発力設定部３５は、スレーブ動作指令ｘｓの作業端１１ａの目標位置が通知領域Ａ３に位置すると判定すると、作業端１１ａに作用する動作領域Ａ１の限界から離れる向きを有する反発力ｆｒを設定する。本実施の形態においては、反発力設定部３５は、まず、スレーブ動作指令ｘｓの目標位置と境界Ｂとの、境界Ｂの法線方向における距離ｄを算出する。そして、反発力設定部３５は、反発力ｆｒを例えば以下の式（２）に基づいて算出する。
【数２】
2020099968.tif 000004
【００４７】
この式（２）に示すように、反発力設定部３５は、スレーブ動作指令ｘｓの作業端１１ａの目標位置と動作領域Ａ１の限界との距離が小さくなるにしたがって反発力ｆｒの大きさが大きくなるように反発力ｆｒを算出する。なお、式（２）の係数ｋは、操作者Ｐの好みの反発力ｆｒとなるように設定される値である。
【００４８】
［動作例］
次に、ロボットシステム１００の動作例を説明する。
【００４９】
図４及び図５は、ロボットシステム１００の動作例を示す図である。本動作例においては、図１に示すように、ロボットシステム１００を用いてワークＷを対象物Ｔに組み付ける作業を行う。ワークＷは、スレーブアーム１１のハンド１６に把持されており、上下方向に伸延する貫通孔Ｗａを有する。対象物Ｔは、例えば生産ライン上に載置され、上下方向に伸延する円柱状のピンである。このピンは、貫通孔Ｗａと嵌合可能に形成されている。
【００５０】
まず、通知領域設定部３４は、通知領域Ａ３を設定する。
【００５１】
次に、換算部３１は、所定の制御周期毎に目標速度ベクトルｖｄを算出する。作業端１１ａが通知領域Ａ３以外の動作領域Ａ１内に位置し、マスタアーム２１が操作されておらず、且つスレーブアーム１１が対象物Ｔ等の環境に接触していない状態においては、操作力ｆｍ、反力ｆｓ、及び反発力ｆｒのいずれもゼロとなり、操作力ｆｍ、反力ｆｓ、及び反発力ｆｒの合成力はゼロとなる。したがって、換算部３１が算出する目標速度ベクトルｖｄは、ゼロとなり、スレーブ動作指令生成部３２は、このゼロベクトルである目標速度ベクトルｖｄに基づいて、スレーブ動作指令ｘｓに係る次期目標位置を現在位置と同じ位置に設定する。そして、続く制御周期においてスレーブ側制御部１４は、スレーブ動作指令ｘｓに基づき、スレーブアーム１１の現在の姿勢を維持する。また、スレーブ動作指令生成部３２と同様にマスタ動作指令生成部３３は次期目標位置を設定し、スレーブ側制御部１４と同様にマスタ側制御部２４は、マスタアーム２１の現在の姿勢を維持する。
【００５２】
次に、操作者ＰがワークＷを対象物Ｔに近づける方向、すなわちマスタアーム２１の操作端２１ａに下方に向かう操作力ｆｍを加えると、換算部３１は、式（１）に基づき、操作力ｆｍに応じた大きさを有する下向きの目標速度ベクトルｖｄを算出する。なお、ワークＷが対象物Ｔに接触していない状態においては、反力ｆｓはゼロである。そして、スレーブ動作指令生成部３２は、この下方向の目標速度ベクトルｖｄに応じた速度で下方に作業端１１ａを移動させるように、スレーブ動作指令ｘｓの作業端１１ａの次期目標位置を現在位置の下方に設定する。そして、続く制御周期においてスレーブ側制御部１４は、スレーブ動作指令ｘｓに基づき、作業端１１ａを下方に移動させるようにスレーブアーム１１の姿勢を変化させる。同様に、マスタ側制御部２４は、マスタ動作指令ｘｍに基づき、操作端２１ａを下方に移動させるようにマスタアーム２１の姿勢を変化させる。
【００５３】
このように、スレーブアーム１１の作業端１１ａ及びマスタアーム２１の操作端２１ａは、同時に同じ方向に移動するように構成されている。これによって、操作者Ｐは、操作者Ｐがマスタアーム２１の操作端２１ａを動かすことによって、スレーブアーム１１の作業端１１ａがマスタアーム２１の操作端２１ａの動きをなぞるように動作するような感覚を得られる。
【００５４】
そして、スレーブアーム１１の作業端１１ａが下方に移動することにより、ワークＷが対象物Ｔの上端に接触し、ワークＷが対象物Ｔに押し付けられると、押し付ける力の大きさに応じた反力ｆｓがスレーブ側力検出部１２により検出される。そして、この状態から操作者Ｐが操作端２１ａに下方に強い操作力ｆｍを加えても操作力ｆｍに比例して反力ｆｓが増大し、操作力ｆｍと反力ｆｓの差分が実質的にゼロとなり、換算部３１が算出する目標速度ベクトルｖｄはゼロとなる。したがって、スレーブ動作指令生成部３２は、ゼロベクトルである目標速度ベクトルｖｄに基づいて、スレーブ動作指令ｘｓに係る次期目標位置を現在位置と同じ位置に設定する。そして、続く制御周期においてスレーブ側制御部１４は、スレーブ動作指令ｘｓに基づき、スレーブアーム１１の現在の姿勢を維持する。スレーブ動作指令生成部３２と同様に、マスタ動作指令生成部３３は次期目標位置を設定し、スレーブ側制御部１４と同様にマスタ側制御部２４は、マスタアーム２１の現在の姿勢を維持する。
【００５５】
このように、ワークＷが対象物Ｔに押し付けられると、マスタ側制御部２４は、マスタ動作指令ｘｍに基づいてマスタアーム２１の現在の姿勢を維持し、マスタアーム２１の操作端２１ａにおいて操作力ｆｍに抗するように操作端２１ａを動作させ、操作端２１ａの動作を変化させる。これによって、スレーブアーム１１の作業端１１ａに作用する反力ｆｓを、マスタアーム２１の操作端２１ａを介して操作者Ｐに提示することができる。したがって、操作者Ｐは、作業端１１ａが環境に接触した際には反力ｆｓを操作者Ｐの力覚を通じて認識して作業を行うことができるように構成されている。この作業は、例えば、図４に示す状態において、ワークＷを対象物Ｔに押し付けながら反力が働く方向と直行する方向に移動させ、貫通孔Ｗａと対象物Ｔが嵌合する位置を探る作業であり、操作者Ｐは反力ｆｓが働く方向を認識することによって対象物Ｔが嵌合する位置を探る方向、すなわち反力ｆｓと直交する方向を認識することができ、作業を効率よく行うことができる。
【００５６】
ところで、図５に示すように、操作者Ｐがスレーブアーム１１の作業端１１ａを、平面視において対象物Ｔが存在しない場所において下方に移動させ、ワークＷが対象物Ｔに押し付けられることなく通知領域Ａ３に進入すると、反発力設定部３５は、スレーブ動作指令ｘｓの作業端１１ａの目標位置が通知領域Ａ３に位置すると判定し、反発力ｆｒを算出する。そして、換算部３１は、式（１）に基づき、操作力ｆｍ及び反発力ｆｒの合成力に応じた大きさを有する目標速度ベクトルｖｄを算出する。なお、ワークＷが対象物Ｔに接触していない図５に示す状態においては、反力ｆｓはゼロである。
【００５７】
このとき、図５において、反発力ｆｒ及び操作力ｆｍの境界Ｂの法線方向成分について、反発力ｆｒの法線方向成分は操作力ｆｍの法線方向成分の向きと反対側を向き（符号が反対）、反発力ｆｒを操作力ｆｍに合成することによって、その合成力の境界Ｂに向かう成分は小さくなり、目標速度ベクトルｖｄ（境界Ｂに対して法線方向の目標速度ベクトルｖｄの成分）の境界Ｂに向かう成分も小さくなる。
【００５８】
そして、スレーブ動作指令生成部３２は、この目標速度ベクトルｖｄに基づいて、通知領域Ａ３に進入する前よりも低い速度で作業端１１ａを下方に移動させるように、スレーブ動作指令ｘｓの作業端１１ａの次期目標位置を現在位置の下方の位置に設定する。そして、続く制御周期においてスレーブ側制御部１４は、スレーブ動作指令ｘｓに基づき、作業端１１ａを下方に移動させるようにスレーブアーム１１の姿勢を変化させる。スレーブ動作指令生成部３２と同様に、マスタ動作指令生成部３３は次期目標位置を設定し、スレーブ側制御部１４と同様にマスタ側制御部２４は、マスタ動作指令ｘｍに基づき、操作端２１ａを下方に移動させるようにマスタアーム２１の姿勢を変化させる。これによって、システム制御部３は操作者Ｐに作業端１１ａ及び操作端２１ａの動作が重くなったような感覚を与えることができ、操作者Ｐに動作領域Ａ１の限界への接近を通知することができる。
【００５９】
なお、スレーブ動作指令ｘｓの作業端１１ａの目標位置と動作領域Ａ１の限界との距離が小さくなるにしたがって、反発力設定部３５によって設定される反発力ｆｒの大きさは大きくなり、目標速度ベクトルｖｄは小さくなり、作業端１１ａの速度は低くなる。更に、反発力ｆｒが操作力ｆｍを上回ると、目標速度ベクトルｖｄの符号は逆転し、作業端１１ａは押し戻されるように移動する。このように、反発力ｆｒの向きは、動作領域Ａ１の限界から離れる方向を向き、また、反発力ｆｒの大きさは、スレーブ動作指令ｘｓの作業端１１ａの目標位置と動作領域Ａ１の限界との距離が小さくなるにしたがって大きくなるので、操作者Ｐに境界Ｂから離れる方向を分かりやすく案内することができる。
【００６０】
そして、スレーブ動作指令生成部３２は、作業端１１ａの次期目標位置が境界Ｂに到達すると、作業端１１ａの進入禁止領域Ａ２へ進入を規制する。
【００６１】
このように、操作者Ｐは、ワークＷが対象物Ｔに接触したときは、急にワークＷを対象物Ｔに押し付ける方向に対応する方向に操作端２１ａを動かせなくなるのに対し、作業端１１ａが通知領域Ａ３に進入したときは、動作領域Ａ１の限界に接近するにしたがって操作端２１ａの動作が徐々に重くなるので、操作者Ｐは作業端１１ａがワークＷに接触しているのか、それとも作業端１１ａが動作領域Ａ１の限界に接近しているのかを容易に判別することができる。よって、例えば、動作領域Ａ１の限界に到達し、作業端１１ａ及び操作端２１ａの動作が規制されている状態であるにもかかわらず、作業端１１ａがワークＷに接触していると操作者Ｐが誤認し、操作者Ｐが誤った作業（誤った場所での組み付け作業）を行うことを防止することができ、作業効率を向上させることができる。
【００６２】
（実施の形態２）
以下では実施の形態２の構成、動作について、実施の形態１との相違点を中心に述べる。図６は、実施の形態２にかかるロボットシステム２００の制御系統の構成例を概略的に示すブロック図である。
【００６３】
本実施の形態において、ロボットシステム２００は、操作者Ｐの知覚によって感知可能な感覚情報を用いて報知を行う報知部２０４を更に備える。操作者Ｐの知覚とは、例えば、触覚、力覚、聴覚、嗅覚、及び視覚の少なくとも何れか１の感覚である。また、報知部２０４として、操作端２１ａに振動を付加するバイブレータ、スピーカー、ディスプレイ、又は信号灯が例示される。また、本実施の形態において、システム制御部３は、報知部制御部２３１を更に含む。報知部制御部２３１は、所定の制御プログラムを図示しない演算部が実行することにより実現される機能ブロックである。なお、図４においては、反発力設定部３５を図示していないが、これらの機能ブロックを含んでいてもよい。
【００６４】
報知部制御部２３１は、通知領域Ａ３にスレーブ動作指令ｘｓの作業端１１ａの目標位置が位置すると判定すると、報知部２０４を制御して操作者Ｐに対する報知を行う。これによって、操作者Ｐに動作領域Ａ１の限界、すなわち境界Ｂへの接近を通知することができる。
【００６５】
また、報知部制御部２３１は、スレーブ動作指令ｘｓの作業端１１ａの目標位置と境界Ｂとの距離が小さくなるにしたがって、感覚情報の強度が強くなるように報知部２０４を制御する。感覚情報の強度が強くなるように報知部２０４を制御するとは、例えば、音量を大きくする、音の高さを変化させる、音色を変化させる、操作端２１ａ与える振動を大きくする、輝度を大きくする、表示部における表示領域を大きくすることである。これによって、操作者Ｐに境界Ｂから離れる方向を分かりやすく案内することができる。
【００６６】
なお、上記実施の形態においては、動作領域Ａ１は、作業端１１ａに対して設定され、当該領域内における作業端１１ａの動作を許容する範囲として設定している。しかし、これに限られるものではなく、これに代えて、動作領域Ａ１は、操作端２１ａに対して設定され、当該領域内における操作端２１ａの動作を許容する範囲として設定してもよい。この場合、システム制御部３は、操作端２１ａが動作領域Ａ１の限界に近づいていることを操作者Ｐに報知するようにシステムを制御する。
【００６７】
また、上記実施の形態１においては、換算部３１は、操作力ｆｍ、反力ｆｓ、及び反発力ｆｒの合成力に基づいて、式（１）に基づいて目標速度ベクトルｖｄを算出した。しかし、これに限られるものではなく、これに代えて、換算部３１は、反発力ｆｒを合成力に含めずに、スレーブ動作指令ｘｓの作業端１１ａの目標位置と動作領域Ａ１の限界との距離が小さくなるにしたがって、式（１）の粘性係数ｃｖの大きさが大きくなるように変化させてもよい。
【００６８】
上記説明から、当業者にとっては、本発明の多くの改良や他の実施の形態が明らかである。したがって、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【符号の説明】
【００６９】
Ａ１  動作領域
Ａ２  進入禁止領域
Ａ３  通知領域
Ｗ  ワーク
Ｔ  対象物
Ｐ  操作者
ｖｄ  目標速度ベクトル
ｘｓ  スレーブ動作指令
ｘｍ  マスタ動作指令
ｆｒ  反発力
ｆｓ  反力
ｆｍ  操作力
１  スレーブユニット
２  マスタユニット
３  システム制御部
１１  スレーブアーム
１１ａ  作業端
１２  スレーブ側力検出部
１３  スレーブアーム駆動部
１４  スレーブ側制御部
２１ａ  操作端
２１  マスタアーム
２２  マスタ側力検出部
２３  マスタアーム駆動部
２４  マスタ側制御部
１００  ロボットシステム
【図１】
2020099968.tif 000005
【図２】
2020099968.tif 000006
【図３】
2020099968.tif 000007
【図４】
2020099968.tif 000008
【図５】
2020099968.tif 000009
【図６】
2020099968.tif 000010