(57)【要約】【課題】ロボットにおける退避動作の信頼性を向上させること。【解決手段】ロボットシステムは、ロボットと、検知部と、ロボットコントローラとを備える。ロボットは、複数の動作軸を有する。検知部は、ロボットにかかる外力を検知する。ロボットコントローラは、ロボットの動作を制御する。また、ロボットコントローラは、動作制御部を備える。動作制御部は、検知部によって検知された外力が第１の条件を満たした場合に、ロボットの動作軌跡を反転させることでロボットを退避させる反転退避モードを実行し、反転退避モードの実行状況が第２の条件を満たした場合には、外力が小さくなるようにロボットを退避させる外力低減退避モードを実行する。【選択図】図３
2019081234.tif 000002
【特許請求の範囲】
【請求項１】
複数の動作軸を有するロボットと、
前記ロボットにかかる外力を検知する検知部と、
前記ロボットの動作を制御するロボットコントローラと
を備え、
前記ロボットコントローラは、
前記検知部によって検知された前記外力が第１の条件を満たした場合に、前記ロボットの動作軌跡を反転させることで前記ロボットを退避させる反転退避モードを実行し、前記反転退避モードの実行状況が第２の条件を満たした場合には、前記外力が小さくなるように前記ロボットを退避させる外力低減退避モードを実行する動作制御部
を備えることを特徴とするロボットシステム。
【請求項２】
前記検知部と前記動作制御部との間に接続される中継部
を備え、
前記中継部は、
前記検知部によって検知された前記外力が第３の条件を満たした場合に、対応する前記動作軸を前記外力が小さくなる向きに動作させること
を特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記中継部は、
予め定められた動作量だけ前記動作軸を動作させること
を特徴とする請求項２に記載のロボットシステム。
【請求項４】
前記動作制御部は、
前記中継部による退避動作の後に、前記反転退避モードを実行すること
を特徴とする請求項２または３に記載のロボットシステム。
【請求項５】
前記動作制御部は、
前記ロボットによる経路の履歴が記録された履歴情報に基づき、当該履歴情報を遡る経路を前記ロボットにたどらせることで前記反転退避モードを実行すること
を特徴とする請求項１〜４のいずれか一つに記載のロボットシステム。
【請求項６】
前記動作制御部は、
前記ロボットを動作させる教示情報に基づき、当該教示情報を逆再生することで前記反転退避モードを実行すること
を特徴とする請求項１〜４のいずれか一つに記載のロボットシステム。
【請求項７】
前記動作制御部は、
前記反転退避モードを実行する際に、前記ロボットの動作速度を通常動作よりも低速にすること
を特徴とする請求項１〜６のいずれか一つに記載のロボットシステム。
【請求項８】
複数の動作軸を有するロボットの動作軸を制御するロボットコントローラであって、
前記ロボットにかかる外力を検知する検知部によって検知された前記外力が第１の条件を満たした場合に、前記ロボットの動作軌跡を反転させることで前記ロボットを退避させる反転退避モードを実行し、前記反転退避モードの実行状況が第２の条件を満たした場合には、前記外力が小さくなるように前記ロボットを退避させる外力低減退避モードを実行する動作制御部
を備えることを特徴とするロボットコントローラ。
【請求項９】
それぞれの動作軸の外力を検知する検知部を有するロボットと、
前記ロボットの動作を制御するロボットコントローラと
を用い、
前記検知部によって検知された前記外力が第１の条件を満たした場合に、前記ロボットコントローラが、前記ロボットの動作軌跡を反転させることで前記ロボットを退避させる反転退避モードを実行する工程と、
前記反転退避モードの実行状況が第２の条件を満たした場合に、前記ロボットコントローラが、前記外力が小さくなるように前記ロボットを退避させる外力低減退避モードを実行する工程と
を含むことを特徴とするロボットの退避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステム、ロボットコントローラおよびロボットの退避方法に関する。
【背景技術】
【０００２】
従来、複数の回転軸をそれぞれ動作させることで姿勢を変化させるロボットが知られている。かかるロボットの先端には、吸着や把持等の用途にあわせたツールが取り付けられ、ワークの保持や移動といった様々な作業が行われる。
【０００３】
また、ロボットが障害物に接触したことをロボットに搭載されたセンサで検出し、ロボットが障害物から受ける外力を低減するロボットシステムも提案されている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−０５１０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来技術には、人と協調しつつ作業を行う人協調型ロボットにおける退避動作の信頼性を向上させる観点からは改善の余地がある。
【０００６】
実施形態の一態様は、ロボットにおける退避動作の信頼性を向上させることができるロボットシステム、ロボットコントローラおよびロボットの退避方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係るロボットシステムは、ロボットと、検知部と、ロボットコントローラとを備える。ロボットは、複数の動作軸を有する。検知部は、ロボットにかかる外力を検知する。ロボットコントローラは、前記ロボットの動作を制御する。また、前記ロボットコントローラは、動作制御部を備える。動作制御部は、前記検知部によって検知された前記外力が第１の条件を満たした場合に、前記ロボットの動作軌跡を反転させることで前記ロボットを退避させる反転退避モードを実行し、前記反転退避モードの実行状況が第２の条件を満たした場合には、前記外力が小さくなるように前記ロボットを退避させる外力低減退避モードを実行する。
【発明の効果】
【０００８】
実施形態の一態様によればロボットにおける退避動作の信頼性を向上させることが可能となるロボットシステム、ロボットコントローラおよびロボットの退避方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るロボットシステムの概要を示す説明図である。
【図２】図２は、ロボットの構成を示す側面図である。
【図３】図３は、ロボットシステムの構成を示すブロック図である。
【図４Ａ】図４Ａは、退避モードの指示手順を示す説明図その１である。
【図４Ｂ】図４Ｂは、退避モードの指示手順を示す説明図その２である。
【図５】図５は、第１の条件の一例を示す説明図である。
【図６】図６は、第２の条件の一例を示す説明図である。
【図７】図７は、第３の条件の一例を示す説明図である。
【図８】図８は、外力情報の一例を示す説明図である。
【図９】図９は、ロボットシステムが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示するロボットシステム、ロボットコントローラおよびロボットの退避方法を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１１】
また、以下に示す実施形態では、「直交」、「垂直」、「平行」あるいは「鉛直」といった表現を用いるが、厳密に「直交」、「垂直」、「平行」あるいは「鉛直」であることを要しない。すなわち、上記した各表現は、製造精度、設置精度などのずれを許容するものとする。
【００１２】
まず、実施形態に係るロボットシステム１の概要について図１を用いて説明する。図１は、実施形態に係るロボットシステム１の概要を示す説明図である。なお、図１には、先端側にツール２００が取り付けられたロボット２０の一部と、ロボット２０の動作を制御するロボットコントローラ３０とを示している。
【００１３】
図１に示すように、ロボット２０は、複数の動作軸２０ａと、各動作軸２０ａの外力を検知する検知部２０ｂとを備えている。つまり、検知部２０ｂは、ロボット２０にかかる外力を検知する。ここで、動作軸２０ａは、たとえば、回転式モータであり、検知部２０ｂは、回転式モータのエンコーダや、トルクセンサ等のセンサである。なお、本実施形態では、ロボット２０が回転式モータによって動作する場合について説明するが、動作軸２０ａとして直動式モータ等の直動アクチュエータを含むこととしてもよい。
【００１４】
また、図１では、ロボット２０の代表点１０を示している。ここで、代表点１０とは、ロボットコントローラ３０がロボット２０の動作を制御するための仮想点である。つまり、ロボットコントローラ３０は、代表点１０が所定の動作軌跡ＴＲをたどるようにロボット２０の動作を制御する。なお、図１では、ロボット２０の外形内に代表点１０がある場合を例示したが、代表点１０は、ロボット２０の外形外、たとえば、ツール２００の外形内や、その他の位置にあってもよい。
【００１５】
図１に示すように、ロボット２０が動作軌跡ＴＲをたどった結果、ツール２００と、床面７００との間に対象物６００を挟み込んだとする。この場合、ロボットコントローラ３０は、ロボット２０に対し、挟み込みを解除する動作、すなわち、退避動作を指示することになる。ここで、ロボット２０が退避動作を行う場合には、挟み込みの解除を確実に行うとともに、挟み込みの解除動作によって対象物６００以外の障害物にあらたに干渉する事態を防止することが好ましい。
【００１６】
そこで、実施形態に係るロボットシステム１では、ロボットコントローラ３０が、ロボット２０がたどった動作軌跡ＴＲを反転させることでロボット２０を退避させる「反転退避モード」を「第１の条件」を満たした場合に実行することとした（図１のステップＳ１参照）。
【００１７】
これは、ロボット２０が最初に接触した障害物が対象物６００であるので、ロボット２０が姿勢を変更しつつ動作軌跡ＴＲをたどった期間は、ロボット２０は、障害物へ接触しなかったと考えられるためである。したがって、動作軌跡ＴＲを反転するようにロボット２０が退避すれば、ロボット２０があらたな障害物へ接触する可能性を極力低くすることができる。
【００１８】
ここで、動作軌跡ＴＲを反転する際の、移動距離や移動時間は予め定めることができる。たとえば、移動距離が数ｃｍ程度となるように移動距離を制限したり、移動時間が数秒程度となるように移動時間を制限したりすることができる。なお、「第１の条件」の詳細については、図５を用いて後述する。
【００１９】
また、実施形態に係るロボットシステム１では、ロボットコントローラ３０が、反転退避モードの実行状況が「第２の条件」を満たした場合には、検知部２０ｂが検知した外力が小さくなるようにロボット２０を退避させる「外力低減退避モード」を実行することとした（図１のステップＳ２参照）。
【００２０】
ここで、外力低減退避モードでは、複数の検知部２０ｂのうち最も大きい外力を検知した検知部２０ｂに対応する動作軸２０ａを外力が小さくなる向きに動作させる。このように、場合によっては反転退避モードから外力低減退避モードへ移行することで、挟み込み解除の確実性を向上させることができる。なお、「第２の条件」の詳細については、図６を用いて後述する。
【００２１】
このように、実施形態に係るロボットシステム１によれば、あらたな障害物への干渉を防止しつつ、退避動作の確実性を高めるので、ロボット２０における退避動作の信頼性を向上させることが可能となる。なお、図１では、ロボット２０に取り付けられたツール２００と、床面７００との間に対象物６００が挟まれた場合を例示したが、これに限られない。
【００２２】
たとえば、ツール２００と壁面あるいは天面との間に対象物６００が挟まれた場合、ツール２００と何らかの障害物との間に対象物６００が挟まれた場合、ロボット２０のアームとアームとの間に対象物６００が挟まれた場合等も、同様に退避動作の対象となる。また、対象物６００は、物体でもよく、人でもよい。
【００２３】
なお、実施形態に係るロボットシステム１では、ロボットコントローラ３０による判定を待たずに、動作軸２０ａに退避動作を行わせる「反射退避モード」を行うことも可能であるが、この点については、図３や図４Ａ、図７を用いて後述する。
【００２４】
次に、ロボット２０の構成例について、図２を用いて説明する。図２は、ロボット２０の構成を示す側面図である。ここで、ロボット２０は、いわゆる人協調ロボットであり、表面が滑らかな形状とされるとともに、アームなどの動作部間に隙間が設けられるなどして挟み込みを誘発しにくい構成となっている。
【００２５】
また、ロボット２０は、基端側から先端側にかけて連通した内部空間を有しており、ツール２００用のケーブル等のケーブルがかかる内部空間に収容されている。つまり、ロボット２０にダイレクトティーチングを行う際や、ロボット２０が作業を行う際に、ケーブルが邪魔にならない。
【００２６】
図２に示したように、ロボット２０は、鉛直軸Ａ０〜第５軸Ａ５の６軸を有するいわゆる垂直多関節ロボットである。また、ロボット２０は、基端側から先端側へ向けて、ベース部２０Ｂと、旋回部２０Ｓと、第１アーム２１と、第２アーム２２と、第３アーム２３と、手首部２４とを備える。
【００２７】
ベース部２０Ｂは、床などの設置面５００に固定される。旋回部２０Ｓは、ベース部２０Ｂに支持され、設置面５００と垂直な鉛直軸Ａ０まわりに旋回する。第１アーム２１は、基端側が旋回部２０Ｓに支持され、鉛直軸Ａ０と垂直な第１軸Ａ１まわりに旋回する。第２アーム２２は、基端側が第１アーム２１の先端側に支持され、第１軸Ａ１と平行な第２軸Ａ２まわりに旋回する。
【００２８】
第３アーム２３は、基端側が第２アーム２２の先端側に支持され、第２軸Ａ２と垂直な第３軸Ａ３まわりに回転する。手首部２４は、基端部２４ａと、先端部２４ｂとを含む。基端部２４ａは、基端側が第３アーム２３の先端側に支持され、第３軸Ａ３と垂直な第４軸Ａ４まわりに旋回する。
【００２９】
先端部２４ｂは、基端側が基端部２４ａの先端側に支持され、第４軸Ａ４と直交する第５軸Ａ５まわりに回転する。また、先端部２４ｂの先端側には、ツール２００が着脱可能に取り付けられる。なお、ツール２００としては、把持ツールや吸着ツール等の様々なツールを用いることができる。
【００３０】
なお、図１に示した動作軸２０ａおよび検知部２０ｂは、鉛直軸Ａ０〜第５軸Ａ５にそれぞれ設けられる。つまり、ロボット２０は、各軸に付加される外力を、各軸別々に検知することができる。なお、ツール２００に動作軸２０ａおよび検知部２０ｂを設けることとしてもよい。
【００３１】
次に、ロボットシステム１の構成について図３を用いて説明する。図３は、ロボットシステム１の構成を示すブロック図である。図３に示すように、ロボットシステム１は、ロボット２０と、ロボットコントローラ３０とを備える。なお、ロボット２０の構成については図２を用いて既に説明したので、以下では、ロボットコントローラ３０の構成について主に説明することとする。
【００３２】
図３に示すように、ロボットコントローラ３０には、ロボット２０が接続されている。ロボット２０は、動作軸２０ａと、検知部２０ｂとを備えている。また、ロボットシステム１は、動作軸２０ａおよび検知部２０ｂに接続された中継部１００を備えている。ここで、中継部１００は、動作軸２０ａおよび検知部２０ｂの組と同数設けられる。なお、動作軸２０ａおよび検知部２０ｂの複数の組を１つの中継部１００に接続することとしてもよい。
【００３３】
ここで、中継部１００は、たとえば、ロボットコントローラ３０のスロットに対して挿抜されるボード形状のコントローラである。かかる中継部１００は、ロボットコントローラ３０の制御部３１と通信可能に接続される。中継部１００は、検知部２０ｂによって検知された外力が「第３の条件」を満たした場合に、制御部３１を経由せずに、動作軸２０ａを動作させる「反射退避モード」を実行する。
【００３４】
なお、反射退避モードの詳細については図４Ａを、「第３の条件」については図７を、それぞれ用いて後述する。また、中継部１００を、ロボット２０内に配置したり、ロボット２０およびロボットコントローラ３０以外の筐体内に配置したりすることとしてもよい。
【００３５】
ロボットコントローラ３０は、制御部３１と、記憶部３２とを備える。制御部３１は、取得部３１ａと、動作制御部３１ｂと、記録部３１ｃとを備える。記憶部３２は、外力情報３２ａと、教示情報３２ｂと、履歴情報３２ｃとを記憶する。
【００３６】
ここで、ロボットコントローラ３０は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００３７】
コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部３１の取得部３１ａ、動作制御部３１ｂおよび記録部３１ｃとして機能する。
【００３８】
また、取得部３１ａ、動作制御部３１ｂおよび記録部３１ｃの少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００３９】
記憶部３２は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、外力情報３２ａ、教示情報３２ｂおよび履歴情報３２ｃを記憶することができる。なお、ロボットコントローラ３０は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【００４０】
制御部３１は、ロボット２０の動作制御を行う。ここで、制御部３１は、ロボット２０を退避させる場合に、上記した反転退避モードや外力低減退避モードを実行する。なお、反射退避モードについては、上記したように中継部１００が実行する。また、制御部３１は、操作者による操作力に応じてロボット２０の姿勢を変更するリードスルー動作を行うこととしてもよい。
【００４１】
取得部３１ａは、検知部２０ｂによって検知された外力を、中継部１００を介して取得する。また、取得部３１ａは、取得した外力を動作制御部３１ｂへ出力するとともに、記憶部３２の外力情報３２ａに記録する。なお、外力情報３２ａの詳細については、図８を用いて後述する。
【００４２】
動作制御部３１ｂは、教示情報３２ｂに基づいてロボット２０を動作させる。ここで、教示情報３２ｂは、ロボット２０へ動作を教示するティーチング段階で作成され、ロボット２０の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【００４３】
また、動作制御部３１ｂは、外力情報３２ａに基づいてロボット２０に退避動作を行わせる。そして、動作制御部３１ｂは、検知部２０ｂによって検知された外力が第１の条件を満たした場合にロボット２０の動作軌跡を反転させる反転退避モードを実行する。
【００４４】
ここで、反転退避モードとしては、履歴情報３２ｃを遡る経路をロボット２０にたどらせる手順と、教示情報３２ｂを逆再生する手順とのいずれかを予め入力された設定値等に基づいて選択することができる。また、動作制御部３１ｂは、両手順によるロボット２０の動作速度を通常動作よりも遅い速度で実行する。
【００４５】
このようにすることで、たとえば、操作者を挟み込んだ場合に、操作者がロボット２０の動作を目視しやすくなり、退避モードの実行によるあらたな挟み込みを防止することができる。また、両手順のいずれか一方を省略し、固定的に一方の手順を実行することとしてもよい。なお、第１の条件の例については図５を用いて後述する。
【００４６】
また、動作制御部３１ｂは、記録部３１ｃへロボット２０が実際にたどった経路を逐次通知する。なお、動作制御部３１ｂは、ロボット２０の動力源である動作軸２０ａ（回転式モータ等のアクチュエータ）に対応する検知部２０ｂによって検知された外力（たとえば、エンコーダ値）を用いつつフィードバック制御を行うなどしてロボット２０の動作精度を向上させる。
【００４７】
また、動作制御部３１ｂは、反転退避モードの実行状況が第２の条件を満たした場合には、検知部２０ｂによって検知された外力が小さくなるように動作軸２０ａを動作させることでロボット２０を退避させる外力低減退避モードを実行する。なお、第２の条件の例については図６を用いて後述する。
【００４８】
記録部３１ｃは、動作制御部３１ｂから通知された経路に関するログ情報を記憶部３２の履歴情報３２ｃへ所定間隔ごとに記録する。なお、履歴情報３２ｃには、たとえば、所定間隔ごとに、現在時間、図１に示した代表点１０の動作軌跡ＴＲ、動作軌跡ＴＲに対応するロボット２０の姿勢等が含まれる。
【００４９】
次に、上記した反射退避モード、反転退避モードおよび外力低減退避モードの指示手順について図４Ａおよび図４Ｂを用いて説明する。図４Ａおよび図４Ｂは、退避モードの指示手順を示す説明図その１およびその２である。
【００５０】
なお、図４Ａおよび図４Ｂでは、動作軸２０ａの外力を、検知部２０ｂが検知した（各図の破線参照）後の指示手順を実線の矢印で示している。また、図４Ａには、反射退避モードの指示手順を、図４Ｂには、反転退避モードおよび外力低減退避モードの指示手順を、それぞれ示している。
【００５１】
図４Ａに示すように、反射退避モードでは、検知部２０ｂが検知した外力を通知された中継部１００は、かかる外力が第３の条件（詳細は図７を用いて後述）を満たした場合に、動作軸２０ａを外力が小さくなる向きに動作させる。また、中継部１００は、動作軸２０ａを動作させる際には、予め定められた動作量だけ動作軸２０ａを動作させる。
【００５２】
このように、反射退避モードでは、動作制御部３１ｂによる判定を経由することなく中継部１００が動作軸２０ａを動作させるので、動作制御部３１ｂを経由する場合よりも迅速に退避動作を実行することができる。
【００５３】
ここで、図２に示したロボット２０における鉛直軸Ａ０〜第５軸Ａ５にそれぞれ対応する動作軸２０ａのうち、どの動作軸２０ａを動作させるかについては、最も早く第３の条件を満たした動作軸２０ａを動作させることになる。なお、予め反射退避モードで動作する動作軸２０ａを定めておいてもよい。
【００５４】
図４Ｂに示すように、反転退避モードおよび外力低減退避モードでは、検知部２０ｂが検知した外力を中継部１００経由で通知された動作制御部３１ｂは、実行させる退避モードを判定し、中継部１００経由で動作軸２０ａを動作させる。このように、動作制御部３１ｂが退避モードを判定することで、退避動作の確実性を向上させることができる。
【００５５】
具体的には、動作制御部３１ｂは、受け取った外力が第１の条件（詳細は図５を用いて後述）を満たした場合に、上記した反転退避モードを実行する。通常は、かかる反転退避モードの実行によって挟み込みの解除が行われる。
【００５６】
ただし、より確実に挟み込みの解除を行うために、動作制御部３１ｂは、反転退避モードの実行状況を監視し、かかる実行状況が第２の条件を満たした場合には、上記した外力低減退避モードを実行する。これにより、退避動作の確実性を向上させることができる。
【００５７】
次に、動作制御部３１ｂ（図３参照）に関連する第１の条件および第２の条件、中継部１００（図３参照）に関連する第３の条件について図５〜図７を用いて説明する。図５は、第１の条件の一例を示す説明図であり、図６は、第２の条件の一例を示す説明図である。また、図７は、第３の条件を示す説明図である。なお、図５〜図７では、縦軸を外力（Ｆ）、横軸を時間（Ｔ）として２次元のグラフを示している。
【００５８】
まず、第１の条件について図５を用いて説明する。第１の条件は、ロボットコントローラ３０の動作制御部３１ｂが、反転退避モードの実行を開始する条件である。たとえば、第１の条件は、外力が所定の時間経過後も所定の閾値以上である状態を指す。なお、第１の条件を、外力が所定の時間にわたって所定の閾値以上である状態がつづいたこととしてもよい。
【００５９】
具体的には、図５に示したように、外力の時間変化を示すグラフＧ１が、時間ｔ１において閾値Ｆｔｈ１以上となったとする。そして、グラフＧ１が、時間ｔ１に閾値Ｔｔｈ１を加算した時間ｔ２（ｔ２＝ｔ１＋Ｔｔｈ１）まで、閾値Ｆｔｈ１以上であったとする。この場合、動作制御部３１ｂは、外力が第１の条件を満たしたとして反転退避モードの実行を開始する。
【００６０】
なお、第１の条件を、外力が閾値Ｔｔｈ１以上となったこととしてもよい。また、第１の条件を、外力が閾値Ｔｔｈ１以上となった後、さらに大きくなったこととしてもよい。つまり、外力が増加する傾向を示したことを第１の条件とすることとしてもよい。このように、第１の条件は、挟み込み発生を判定することができる条件であれば足りる。
【００６１】
次に、第２の条件について図６を用いて説明する。第２の条件は、ロボットコントローラ３０の動作制御部３１ｂ（図３参照）が、外力低減退避モードの実行を開始する条件である。たとえば、第２の条件は、先に実行した反転退避モードの実行状況が挟み込みの未解消を指す状況のまま所定の時間経過した状態を指す。なお、図６には、図５に示した時間ｔ２を含んだ区間を示している。また、図６には、閾値Ｆｔｈ１よりも小さい閾値Ｆｔｈ２をあわせて示している。
【００６２】
図６に示したように、グラフＧ２が、時間ｔ２に閾値Ｔｔｈ２を加算した時間ｔ３（ｔ３＝ｔ２＋Ｔｔｈ２）まで、閾値Ｆｔｈ２以上であったとする。この場合、動作制御部３１ｂは、先に実行した反転退避モードによって挟み込みが解消していないとして、外力低減回避モードを実行する。
【００６３】
一方、グラフＧ３のように、時間ｔ３よりも前に閾値Ｆｔｈ２を下回ったとする。この場合、動作制御部３１ｂは、先に実行した反転退避モードによって挟み込みが解消したとして、外力低減退避モードを実行しない。
【００６４】
なお、第２の条件を、外力が反転退避モードの実行後に上昇したこととしてもよい。また、第２の条件を、外力が閾値Ｆｔｈ１を超えた状態が所定の時間経過したこととしてもよい。このように、第２の条件は、挟み込みの未解消を判定することができる条件であれば足りる。なお、第２の条件を設けずに、動作制御部３１ｂが、反転退避モードのみを実行することとしてもよい。
【００６５】
次に、第３の条件について図７を用いて説明する。第３の条件は、中継部１００（図３参照）が、反射退避モードの実行を開始する条件である。たとえば、第３の条件は、外力が所定の閾値以上となった状態を指す。なお、図７には、図５に示した時間ｔ１よりも早い時間ｔ３を示している。また、図７には、閾値Ｆｔｈ１よりも小さい閾値Ｆｔｈ３をあわせて示している。
【００６６】
具体的には、図７に示したように、外力の時間変化を示すグラフＧ１が、図５に示した時間ｔ１よりも早い時間ｔ３において、図５に示した閾値Ｆｔｈ１よりも小さい閾値Ｆｔｈ３以上となったとする。この場合、中継部１００は、外力が第３の条件を満たしたとして反射退避モードの実行を開始する。これにより、中継部１００による反射退避モードの実行を、動作制御部３１ｂによる反転退避モードの実行よりも確実に早く開始することができる。
【００６７】
なお、第３の条件を、第１の条件と同一としてもよい。この場合、中継部１００による反射退避モードの実行と、動作制御部３１ｂによる反転退避モードの実行とが同時に行われるようにみえるが、実際には、反射退避モードのほうが早く実行される。これは、図４Ａおよび図４Ｂを用いて既に説明したように、中継部１００は、動作制御部３１ｂを経由する場合よりも迅速に退避動作を実行することができるためである。
【００６８】
次に、図３に示した外力情報３２ａの例について図８を用いて説明する。図８は、外力情報３２ａの一例を示す説明図である。なお、図８では、図２に示したロボット２０の各軸（鉛直軸Ａ０〜第５軸Ａ５）にそれぞれ対応する識別番号について、取得部３１ａ（図３参照）によって随時更新される外力値と、予め設定された動作量とを示している。また、以下では、動作制御部３１ｂ（図３参照）が、外力情報３２ａに基づいて上記した外力低減退避モードを実行する場合を例にして説明する。
【００６９】
図８に示すように、鉛直軸Ａ０、第１軸Ａ１、第２軸Ａ２、第３軸Ａ３、第４軸Ａ４および第５軸Ａ５の外力値がそれぞれ、「０」、「２００」、「５０」、「０」、「１００」および「０」であったとする。また、動作量がそれぞれ、「ｍ０」、「ｍ１」、「ｍ２」、「ｍ３」、「ｍ４」および「ｍ５」であったとする。
【００７０】
この場合、外力値が最も大きいのは第１軸Ａ１であるので、動作制御部３１ｂは、外力低減退避モードで動作させる動作軸２０ａを、第１軸Ａ１に対応する動作軸２０ａとする。そして、動作軸２０ａの動作量を「ｍ１」に制限する。なお、動作量としては、動作軸２０ａに送信するパルス数としてもよいし、動作軸２０ａを動作させる際の継続時間としてもよい。
【００７１】
なお、外力値が最も大きい動作軸２０ａのみではなく、外力値が大きい順に所定数の動作軸２０ａを動作させることとしてもよい。また、図８に示した外力情報３２ａを、中継部１００が動作制御部３１ｂを介することなく参照するようにし、外力値が最も大きい動作軸２０ａに対応する中継部１００のみが、上記した反射退避モードを実行することとしてもよい。
【００７２】
次に、ロボットシステム１（図３参照）が実行する退避モードの処理手順について図９を用いて説明する。図９は、ロボットシステム１が実行する処理手順を示すフローチャートである。なお、図９では、まず、反射退避モードを実行し、その後反転退避モードを実行する処理手順を例示したが、反射退避モードの実行を省略することとしてもよい。
【００７３】
図９に示すように、中継部１００は、検知部２０ｂによって検知された外力が第３の条件を満たすか否かを判定する（ステップＳ１０１）。そして、外力が第３の条件を満たすと判定した場合には（ステップＳ１０１，Ｙｅｓ）、中継部１００は、反射退避モードを実行する（ステップＳ１０２）。なお、ステップＳ１０１の判定条件を満たさなかった場合には（ステップＳ１０１，Ｎｏ）、処理を終了する。
【００７４】
つづいて、ロボットコントローラ３０の動作制御部３１ｂは、外力が第１の条件を満たすか否かを判定する（ステップＳ１０３）。そして、外力が第１の条件を満たすと判定した場合には（ステップＳ１０３，Ｙｅｓ）、動作制御部３１ｂは、反転退避モードを実行する（ステップＳ１０４）。なお、ステップＳ１０３の判定条件を満たさなかった場合には（ステップＳ１０３，Ｎｏ）、処理を終了する。
【００７５】
つづいて、ロボットコントローラ３０の動作制御部３１ｂは、反転退避モードの実行状況が第２の条件を満たすか否かを判定する（ステップＳ１０５）。そして、実行状況が第２の条件を満たすと判定した場合には（ステップＳ１０５，Ｙｅｓ）、動作制御部３１ｂは、外力低減退避モードを実行する（ステップＳ１０６）。なお、ステップＳ１０５の判定条件を満たさなかった場合には（ステップＳ１０５，Ｎｏ）、処理を終了する。
【００７６】
上述してきたように、実施形態に係るロボットシステム１は、ロボット２０と、検知部２０ｂと、ロボットコントローラ３０とを備える。ロボット２０は、複数の動作軸２０ａを有する。検知部２０ｂは、ロボット２０にかかる外力を検知する。ロボットコントローラ３０は、ロボット２０の動作を制御する。
【００７７】
また、ロボットコントローラ３０は、動作制御部３１ｂを備える。動作制御部３１ｂは、検知部２０ｂによって検知された外力が第１の条件を満たした場合に、ロボット２０の動作軌跡を反転させることでロボット２０を退避させる反転退避モードを実行する。また、動作制御部３１ｂは、反転退避モードの実行状況が第２の条件を満たした場合には、検知された外力が小さくなるようにロボット２０を退避させる外力低減退避モードを実行する。
【００７８】
このように、ロボットシステム１は、ロボット２０の動作軌跡を反転させる反転退避モードを実行し、場合によっては、検知された外力が小さくなるようにロボット２０を退避させる外力低減退避モードを実行する。したがって、ロボットシステム１によれば、ロボット２０における退避動作の信頼性を向上させることができる。
【００７９】
なお、上述した実施形態では、ロボット２０を６軸のロボットとする例を示したが、ロボット２０を７軸以上のロボットとしてもよく、５軸以下のロボットとしてもよい。また、上述した実施形態では、ロボット２０の各動作軸２０ａにそれぞれ対応する検知部２０ｂを例示したが、対応する検知部２０ｂがない動作軸２０ａが含まれていてもよい。
【００８０】
また、検知部２０ｂによって外力が検知された場合に、いったんロボット２０を停止させ、その後上述した退避動作を実行することとしてもよい。この場合、ロボット２０の停止条件となる外力の閾値は、図５等に示した閾値Ｆｔｈ１としてもよいし、閾値Ｆｔｈ１よりも小さい値としてもよい。
【００８１】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００８２】
１    ロボットシステム
１０    代表点
２０    ロボット
２０ａ  動作軸
２０ｂ  検知部
２０Ｂ  ベース部
２０Ｓ  旋回部
２１    第１アーム
２２    第２アーム
２３    第３アーム
２４    手首部
２４ａ  基端部
２４ｂ  先端部
３０    ロボットコントローラ
３１    制御部
３１ａ  取得部
３１ｂ  動作制御部
３１ｃ  記録部
３２    記憶部
３２ａ  外力情報
３２ｂ  教示情報
３２ｃ  履歴情報
１００    中継部
２００    ツール
５００    設置面
６００    対象物
７００    床面
Ａ０    鉛直軸
Ａ１    第１軸
Ａ２    第２軸
Ａ３    第３軸
Ａ４    第４軸
Ａ５    第５軸
ＴＲ    動作軌跡
【図１】
2019081234.tif 000003
【図２】
2019081234.tif 000004
【図３】
2019081234.tif 000005
【図４Ａ】
2019081234.tif 000006
【図４Ｂ】
2019081234.tif 000007
【図５】
2019081234.tif 000008
【図６】
2019081234.tif 000009
【図７】
2019081234.tif 000010
【図８】
2019081234.tif 000011
【図９】
2019081234.tif 000012