(57)【要約】【課題】移動速度によらず、対象物に対する追従性に優れた倣い動作を行うことができる制御装置、かかる制御装置により制御されているロボット、および、かかる制御装置とロボットとを備えるロボットシステムを提供すること。【解決手段】力検出部を有するロボットの駆動を制御する制御装置であって、前記力検出部からの出力に基づいて前記ロボットの駆動を力制御するロボット制御部と、前記ロボットの速度係数を設定する速度係数設定部と、前記速度係数に応じて、前記力制御における前記ロボットの仮想粘性係数の設定を変更する変更部と、を有することを特徴とする制御装置。【選択図】図１
2018089747.tif 000002
【特許請求の範囲】
【請求項１】
力検出部を有するロボットの駆動を制御する制御装置であって、
前記力検出部からの出力に基づいて前記ロボットの駆動を力制御するロボット制御部と、
前記ロボットの速度係数を設定する速度係数設定部と、
前記速度係数に応じて、前記力制御における前記ロボットの仮想粘性係数の設定を変更する変更部と、を有することを特徴とする制御装置。
【請求項２】
前記速度係数設定部が前記速度係数としての第１速度係数を前記第１速度係数よりも大きい前記速度係数としての第２速度係数に設定を変更した場合、前記変更部は、前記仮想粘性係数としての第１仮想粘性係数を前記第１仮想粘性係数よりも小さい前記仮想粘性係数としての第３仮想粘性係数に変更し、
前記速度係数設定部が前記第１速度係数を前記第１速度係数よりも小さい前記速度係数としての第３速度係数に設定を変更した場合、前記変更部は、前記第１仮想粘性係数を、前記第１仮想粘性係数よりも大きい前記仮想粘性係数としての第２仮想粘性係数に変更する請求項１に記載の制御装置。
【請求項３】
前記変更部は、前記仮想粘性係数を前記速度係数に反比例するように変更する請求項１または２に記載の制御装置。
【請求項４】
前記変更部は、前記速度係数に応じて、前記力制御における前記ロボットの仮想質量係数の設定を変更可能である請求項１ないし３のいずれか１項に記載の制御装置。
【請求項５】
前記変更部は、前記仮想質量係数を前記速度係数に対して反比例するように変更する請求項４に記載の制御装置。
【請求項６】
前記変更部による前記仮想粘性係数の変更を実行するか否かを選択する選択部を表示部に表示させる表示制御部を備える請求項１ないし５のいずれか１項に記載の制御装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の制御装置によって制御されていることを特徴とするロボット。
【請求項８】
請求項１ないし６のいずれか１項に記載の制御装置と、当該制御装置によって制御され、力検出部を有するロボットとを備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボットおよびロボットシステムに関するものである。
【背景技術】
【０００２】
従来から、ロボットアームと、ロボットアームの先端に取り付けられたエンドエフェクターとを備えた産業用ロボットの開発が行われている。かかるロボットの作業として、対象物に対する接触を伴う作業がある。例えば、対象物の加工作業等が挙げられる。対象物の加工は、加工器具等のエンドエフェクターを所望の力で対象物に押し付けつつ、加工方向にエンドエフェクターを移動させる倣い動作を伴う。この倣い動作は、一般的に、力制御と位置制御（速度制御を含む）とにより行われる。しかし、倣い動作では、加工方向の移動速度が比較的遅い場合には対象物に対して追従性良く動作できていても、加工方向の移動速度が速くなると、位置制御による移動速度と力制御における目標力の達成のための速度とのバランスが崩れてしまい、対象物に対する追従性が低下し易くなる。また、タクトタイムを短くする上では、移動速度を速くすることが望まれている。
【０００３】
そこで、倣い動作を比較的速い速度で行うために、例えば、特許文献１には、目標軌道に基づいて比較的速い速度で位置制御し、その制御を何度も繰り返すことで目標軌道を修正し、それにより修正された高速用の目標軌道に基づいて倣い動作を行うことが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１７６４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１におけるロボットの制御では、１つの高速用の目標軌道における倣い動作を満足するための条件のみが設定されているにすぎず、対象物の寸法ばらつきが大きい場合を含めてロボットの作業の出来具合を目視で確認したい場合や、速度を変更したい場合には、追従性が良くなりすぎてしまい、低速時には所望範囲となる一定力での倣い動作であったにも関わらず、高速時は一定力での押付力を保ったままでの動作ができない問題が存在し、目標軌道修正では対応出来なかった。更に、力制御中はプログラムをステップ実行すると、その停止時間に基づいて結果が異なってしまう為、低速動作が必要である。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題の少なくとも一部を解決するためになされたものであり、以下により実現することが可能である。
【０００７】
本発明の制御装置は、力検出部を有するロボットの駆動を制御する制御装置であって、
前記力検出部からの出力に基づいて前記ロボットの駆動を力制御するロボット制御部と、
前記ロボットの速度係数を設定する速度係数設定部と、
前記速度係数に応じて、前記力制御における前記ロボットの仮想粘性係数の設定を変更する変更部と、を有することを特徴とする。
【０００８】
このような本発明の制御装置によれば、速度係数に応じて仮想粘性係数の変更を行うため、対象物の表面の形状に沿った方向の移動における速度（以下、「移動速度」とも言う）と、目標力（押付力）達成のための速度とのバランスが崩れることを低減することができる。これにより、目視にて作業確認が出来る程度まで速度を下げてパラメーター調整ができるので、移動速度によらず、対象物に対する追従性に優れた倣い動作を実現できる設定にたどり着くまでの時間を減らすことが出来る。
【０００９】
ここで、「倣い動作」とは、対象物に対してロボットの所望の箇所またはロボットにより保持された部材を接触させたまま、対象物の表面の形状に沿ってロボットの所望の箇所を移動させる動作を言う。
【００１０】
本発明の制御装置では、前記速度係数設定部が前記速度係数としての第１速度係数を前記第１速度係数よりも大きい前記速度係数としての第２速度係数に設定を変更した場合、前記変更部は、前記仮想粘性係数としての第１仮想粘性係数を前記第１仮想粘性係数よりも小さい前記仮想粘性係数としての第３仮想粘性係数に変更し、
前記速度係数設定部が前記第１速度係数を前記第１速度係数よりも小さい前記速度係数としての第３速度係数に設定を変更した場合、前記変更部は、前記第１仮想粘性係数を、前記第１仮想粘性係数よりも大きい前記仮想粘性係数としての第２仮想粘性係数に変更することが好ましい。
【００１１】
これにより、速度係数の変更により移動速度が変更されても、移動速度と目標力達成のための速度とのバランスの崩れを低減することができ、よって、倣い動作における対象物に対する追従性をより高める設定にたどり着くまでの時間を減らすことができる。
【００１２】
本発明の制御装置では、前記変更部は、前記仮想粘性係数を前記速度係数に反比例するように変更することが好ましい。
【００１３】
これにより、移動速度によらず、倣い動作における対象物に対する追従性をより向上させる設定にたどり着くまでの時間を減らすことができる。
【００１４】
本発明の制御装置では、前記変更部は、前記速度係数に応じて、前記力制御における前記ロボットの仮想質量係数の設定を変更可能であることが好ましい。
【００１５】
これにより、速度係数の変更により対象物の表面の形状に沿った方向の移動における加速度（以下、「移動加速度」ともいう）が変更されても、移動加速度と目標力達成のための加速度とのバランスの崩れを低減することができ、よって、倣い動作における対象物に対する追従性をより高める設定にたどり着くまでの時間を減らすことができる。
【００１６】
本発明の制御装置では、前記変更部は、前記仮想質量係数を前記速度係数に対して反比例するように変更することが好ましい。
【００１７】
これにより、移動加速度によらず、倣い動作における対象物に対する追従性を向上させる設定にたどり着くまでの時間を減らすことができる。
【００１８】
本発明の制御装置では、前記変更部による前記仮想粘性係数の変更を実行するか否かを選択する選択部を表示部に表示させる表示制御部を備えることが好ましい。
【００１９】
これにより、作業者は表示部に表示された選択部を操作することで仮想粘性係数を変更するか否かを容易に設定することができる。
【００２０】
本発明のロボットは、本発明の制御装置によって制御されていることを特徴とする。
このような本発明のロボットによれば、移動速度によらず、対象物に対する追従性に優れた倣い動作を適切に行う設定にたどり着くまでの時間を減らすことができる。
【００２１】
本発明のロボットシステムは、本発明の制御装置と、当該制御装置によって制御され、力検出部を有するロボットとを備えることを特徴とする。
【００２２】
このような本発明のロボットシステムによれば、制御装置の制御の下、移動速度によらず、対象物に対する追従性に優れた倣い動作をロボットに適切に行わせる設定にたどり着くまでの時間を減らすことができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の好適な実施形態に係るロボットシステムの概略側面図である。
【図２】図１に示すロボットシステムのシステム構成図である。
【図３】図１に示すロボットの倣い動作の一例を説明するための図である。
【図４】図１に示すロボットの倣い動作を説明するための概略図である。
【図５】図１に示すロボットの倣い動作を説明するための概略図である。
【図６】図２に示す表示装置に表示される速度係数の設定を行うウィンドウを示す図である。
【図７】図２に示す表示装置に表示される選択部を有するウィンドウを示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の制御装置、ロボットおよびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
【００２５】
≪ロボットシステム≫
図１は、本発明の好適な実施形態に係るロボットシステムの概略側面図である。図２は、図１に示すロボットシステムのシステム構成図である。なお、以下では、説明の便宜上、図１中の上側を「上」、下側を「下」と言う。また、図１中の基台側を「基端」、その反対側（エンドエフェクター側）を「先端」と言う。また、図１では、説明の便宜上、互いに直交する３軸として、Ｘ軸、Ｙ軸およびＺ軸を図示している。また、以下では、Ｘ軸に平行な方向を「Ｘ軸方向」とも言い、Ｙ軸に平行な方向を「Ｙ軸方向」とも言い、Ｚ軸に平行な方向を「Ｚ軸方向」とも言う。また、以下では、図示された各矢印の先端側を「＋（プラス）」、基端側を「−（マイナス）」と言う。また、図１の上下方向を「鉛直方向」とし、左右方向を「水平方向」とする。本明細書において、「水平」とは、水平に対して５°以下の範囲内で傾斜している場合も含む。同様に、本明細書において、「鉛直」とは、鉛直に対して５°以下の範囲内で傾斜している場合も含む。
【００２６】
図１に示すロボットシステム１００は、ロボット１と、ロボット１の駆動を制御する制御装置５とを備えている。
【００２７】
〈ロボット〉
図１に示すロボット１は、いわゆる６軸の垂直多関節ロボットである。ロボット１は、基台１１０と、基台１１０に接続されたロボットアーム１０と、ロボットアーム１０の先端部に設けられた力検出部２０と、力検出部２０の先端部に設けられたエンドエフェクター３０とを有する。また、図２に示すように、ロボット１は、ロボットアーム１０を駆動させる動力（駆動力）を発生させる複数の駆動部１３０と、複数の位置センサー１３１と、複数のモータードライバー１２０とを有する。
【００２８】
このロボット１は、対象物８０への接触を保ちつつ、対象物８０の表面８０１の形状に沿った移動を行う倣い動作（インピーダンス制御による動作）を伴う作業を行うことができる。この倣い作業としては、例えば、切削作業や研磨作業等の加工作業が挙げられる。
【００２９】
以下、ロボット１の各部について説明する。
基台１１０は、ロボット１を任意の設置箇所９０に取り付ける部分である。なお、基台１１０の設置箇所は、特に限定されず、例えば、床、壁、天井、移動可能な台車上等が挙げられる。
【００３０】
ロボットアーム１０は、第１アーム１１（アーム）と、第２アーム１２（アーム）と、第３アーム１３（アーム）と、第４アーム１４（アーム）と、第５アーム１５（アーム）と、第６アーム１６（アーム）と、一方のアームを他方のアーム（または基台１１０）に対して回動可能に支持する機構を有する６つの関節１７１〜１７６と、を有する。
【００３１】
基台１１０と第１アーム１１とは、関節１７１を介して連結されており、第１アーム１１は、基台１１０に対して鉛直方向に沿う第１回動軸Ｏ１まわりに回動可能となっている。また、第１アーム１１と第２アーム１２とは、関節１７２を介して連結されており、第２アーム１２は、第１アーム１１に対して水平方向に沿う第２回動軸Ｏ２まわりに回動可能となっている。また、第２アーム１２と第３アーム１３とは、関節１７３を介して連結されており、第３アーム１３は、第２アーム１２に対して水平方向に沿う第３回動軸Ｏ３まわりに回動可能となっている。また、第３アーム１３と第４アーム１４とは、関節１７４を介して連結されており、第４アーム１４は、第３アーム１３に対して第３回動軸Ｏ３と直交した第４回動軸Ｏ４まわりに回動可能となっている。また、第４アーム１４と第５アーム１５とは、関節１７５を介して連結されており、第５アーム１５は、第４アーム１４に対して第４回動軸Ｏ４と直交した第５回動軸Ｏ５まわりに回動可能となっている。また、第５アーム１５と第６アーム１６とは、関節１７６を介して連結されており、第６アーム１６は、第５アーム１５に対して第５回動軸Ｏ５と直交した第６回動軸Ｏ６まわりに回動可能となっている。
【００３２】
関節１７１〜１７６には、それぞれ、駆動力を発生させるモーター（図示せず）とモーターの駆動力を減速する減速機（図示せず）とを有する駆動部１３０と、駆動部１３０が有するモーターの回転軸の回転角度等を検出する位置センサー１３１（角度センサー）とが設けられている（図２参照）。すなわち、ロボット１は、６つの関節１７１〜１７６（または６つのアーム１１〜１６）と同じ数（本実施形態では６つ）の駆動部１３０および位置センサー１３１を有している。
【００３３】
駆動部１３０が有するモーターとしては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができる。駆動部１３０が有する減速機としては、例えば、遊星ギア型の減速機、波動歯車装置等を用いることができる。各位置センサー１３１（角度センサー）は、各アーム１１〜１６の回転状態（回動状態）を検出する機能を有し、位置センサー１３１としては、例えば、エンコーダー、ロータリーエンコーダー等を用いることができる。
【００３４】
また、各駆動部１３０は、電気的に接続された複数（本実施形態では６つ）のモータードライバー１２０を介して制御装置５により制御されている。なお、本実施形態では、各モータードライバー１２０は、基台１１０に内蔵されている。
【００３５】
図１に示すように、第６アーム１６の先端部には、力検出部２０が着脱可能に取り付けられている。本実施形態では、力検出部２０は、第６アーム１６とエンドエフェクター３０との間に設けられている。この力検出部２０は、エンドエフェクター３０に加わる力（モーメントを含む）を検出する力検出器（力覚センサー）である。本実施形態では、力検出部２０として、互いに直交する３つの軸（ｘ軸、ｙ軸、ｚ軸）方向の並進力成分Ｆｘ、Ｆｙ、Ｆｚおよび３つの軸（ｘ軸、ｙ軸、ｚ軸）周りの回転力成分（モーメント）Ｍｘ、Ｍｙ、Ｍｚの６成分を検出することができる６軸力覚センサーを用いている。また、力検出部２０は、検出した力に関する力検出情報（例えば、上述の６成分の情報）を制御装置５へ出力する。なお、力検出部２０は、６軸力覚センサーに限定されず、例えば、３軸力覚センサー等であってもよい。
【００３６】
図１に示すエンドエフェクター３０は、対象物８０に対して作業を行う器具である。エンドエフェクター３０としては、例えば、切削や研磨等の加工を行う加工器具等を用いることができる。なお、エンドエフェクター３０としては、ロボット１の作業内容等に応じた器具を用いればよく、例えば、対象物８０を把持する機能を有するハンドや、対象物８０に対して塗装を行う塗布器具や、対象物８０に対して溶接を行う溶接器具等を用いることも可能である。また、エンドエフェクター３０としては、ネジ締めを行うネジ締め器具や嵌合を行う嵌合器具等であってもよい。
【００３７】
このような本発明のロボットの一例であるロボット１は、後述する制御装置５によって制御されている。そのため、移動速度によらず、対象物８０に対する追従性に優れた倣い動作を適切に行う設定にたどり着くまでの時間を減らすことができる。
【００３８】
以下、制御装置５について説明する。
〈制御装置〉
本実施形態では、制御装置５は、例えば、ＣＰＵ（Central Processing Unit）やＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）が内蔵されたパーソナルコンピューター（ＰＣ）等で構成することができる。この制御装置５は、図１に示すように、ロボット１に対して配線６０等を介して接続されている。なお、ロボット１と制御装置５とは無線通信により接続されていてもよい。また、本実施形態では、制御装置５は、ロボット１とは別体で設けられているが、ロボット１に内蔵されていてもよい。
【００３９】
図２に示すように、制御装置５は、表示制御部５１と、入力制御部５２と、制御部５３（処理部）と、記憶部５４と、を備える。
【００４０】
表示制御部５１は、ディスプレイ等のモニター（図示せず）を備える表示装置４１に接続されている。この表示制御部５１は、例えばグラフィックコントローラーで構成されており、表示装置４１のモニターに各種画面（例えば、操作用のウィンドウ等）を表示させる機能を有する。
【００４１】
入力制御部５２は、例えばマウスやキーボード等の入力装置４２に接続されており、入力装置４２からの入力を受け付ける機能を有する。
【００４２】
なお、入力装置４２と上述した表示装置４１とは一体で構成されていてもよい。その場合には、例えばタッチパネル等を用いることができる。
【００４３】
制御部５３は、ＣＰＵ等で構成され、または、ＣＰＵにより各種プログラムを実行することにより実現でき、ロボット制御部５３１（駆動制御部）と、取得部５３２と、速度係数設定部５３３と、変更部５３４とを有する。
【００４４】
ロボット制御部５３１は、ロボット１の各部の駆動を制御する機能を有する。例えば、ロボット制御部５３１は、各駆動部１３０に対して制御信号を出力して各アーム１１〜１６の駆動を制御する機能を有する。また、本実施形態では、ロボット制御部５３１は、ロボット１（ロボットアーム１０）に対して、位置制御（速度制御を含む）と力制御とを実行する。
【００４５】
具体的には、ロボット制御部５３１は、目標の軌道に沿ってエンドエフェクター３０の先端３１が移動するようにロボット１を駆動させる位置制御を行う。より具体的には、ロボット制御部５３１は、エンドエフェクター３０の位置および姿勢が目標軌道上の複数の目標点における位置および姿勢（目標位置および目標姿勢）となるように、各駆動部１３０の駆動を制御する。また、本実施形態では、各位置センサー１３１から出力された位置検出情報に基づいた制御を行う。また、本実施形態では、位置制御として、例えば、ＣＰ制御を行う。
【００４６】
なお、ロボット制御部５３１は、目標軌道を設定（生成）し、エンドエフェクター３０の先端３１の位置および姿勢や、エンドエフェクター３０の目標軌道に沿った方向の移動における速度（角速度を含む）等を設定（生成）する機能を有する。
【００４７】
また、ロボット制御部５３１は、エンドエフェクター３０が目標力で対象物８０を押圧（接触）するようにロボット１を制御する力制御を行う。具体的には、ロボット制御部５３１は、エンドエフェクター３０に作用する力（モーメントを含む）が目標力（目標のモーメントを含む）となるように、各駆動部１３０の駆動を制御する。
【００４８】
また、ロボット制御部５３１は、力検出部２０から出力された力検出情報に基づいて各駆動部１３０の駆動を制御する。また、本実施形態では、ロボット制御部５３１は、力制御として、エンドエフェクター３０の先端３１のインピーダンス（仮想質量、仮想粘性係数、仮想弾性係数）を設定し、そのインピーダンスを実現するように各駆動部１３０を制御するインピーダンス制御を行う。
【００４９】
インピーダンス制御（力制御）では、例えば、ｘ軸、ｙ軸、ｚ軸の各並進方向ごとに以下の式（１）が成立しており、ｘ軸、ｙ軸、ｚ軸の各回転方向ごとに以下の式（２）が成立している。
【００５０】
【数１】
2018089747.tif 000003
【００５１】
【数２】
2018089747.tif 000004
【００５２】
TranslationalTCPSpeed(air)は、非接触状態での並進方向の目標力の達成のための速度である。RotationalTCPSpeed(air)は、非接触状態での回転方向の目標力（モーメント）の達成のための角速度である。TargetForceは、目標力であり、Damperは、仮想粘性係数である。なお、接触した場合も式（１）および式（２）が働く。また、式の記載はしないが、目標力の達成のための加速度および角加速度については、目標力と仮想質量係数とにより算出でき、目標力の達成のための変位については、目標力と仮想弾性係数とにより算出することができる。
【００５３】
また、ロボット制御部５３１は、上述の位置制御に関わる成分（制御量）と力制御に関わる成分（制御量）とを組み合わせて（合成して）、ロボット１を駆動させる制御信号を生成して出力する機能を有する。
【００５４】
上述のロボット制御部５３１による力制御と位置制御とを組み合わせた制御（ハイブリット制御）では、例えば、ｘ軸、ｙ軸、ｚ軸の各並進方向ごとに以下の式（３）が成立しており、ｘ軸、ｙ軸、ｚ軸の各回転方向ごとに以下の式（４）が成立している。
【００５５】
【数３】
2018089747.tif 000005
【００５６】
【数４】
2018089747.tif 000006
【００５７】
SpeedSは、位置制御によるロボット１の速度であり、本実施形態では、エンドエフェクター３０の位置制御による対象物８０の表面８０１の形状に沿った方向の移動における速度（以下、「移動速度」とも言う）である。また、SpeedRは、位置制御によるロボット１の角速度であり、本実施形態では、エンドエフェクター３０の位置制御による対象物８０の表面８０１の形状に沿った方向の移動における角速度（以下、「移動角速度」とも言う）である。なお、本明細書では、上述の移動速度および移動角速度を総称して「移動速度」とも言う。また、ハイブリット制御によるロボット１の加速度または角加速度についても、式（１）または式（２）と、位置制御によるロボット１の加速度または角加速度とを基に算出することができる。また、ハイブリット制御によるロボット１の変位についても、式（１）または式（２）と、位置制御によるロボット１の変位とを基に算出することができる。
【００５８】
このようなハイブリット制御により、ロボット１は、対象物８０の表面８０１にエンドエフェクター３０を接触させつつ、表面８０１の形状に沿った方向に移動する倣い動作を行うことができる。
【００５９】
また、図２に示す取得部５３２は、力検出部２０から出力された検出結果としての力検出情報（例えば、上述の６成分の情報）を取得する機能を有する。また、取得部５３２は、各位置センサー１３１から出力された検出結果としての位置検出情報（例えば、各駆動部１３０の回転軸の回転角度や角速度）を取得する機能を有する。
【００６０】
また、図２に示す速度係数設定部５３３は、移動速度（上述のエンドエフェクター３０の位置制御による速度および角速度）に対する速度係数［％］を設定（変更）する機能を有する。これにより、ロボット１の移動速度を変更することができる。
【００６１】
速度係数［％］とは、ロボット１の設定速度（設定角速度を含む）に対する比率（割合）であり、本実施形態では、エンドエフェクター３０の位置制御による設定速度（設定角速度を含む）に対する比率（割合）である。また、本実施形態では、速度係数は、０％〜１０００％で設定可能である。
【００６２】
ここで、上述の設定速度は、作業を行う予定の速度であり、作業者が任意に設定することが可能である。そして、この設定速度を速度係数で調整することで、実際にロボット１が動作する際の速度である移動速度が得られる。そして、この移動速度でエンドエフェクター３０の先端３１が移動するようにロボット制御部５３１は各駆動部１３０を位置制御することとなる。例えば、設定速度が１０［ｍｍ／ｓｅｃ］であり、速度係数が５０［％］であれば、実際にロボット１が動作する際の速度である移動速度は５［ｍｍ／ｓｅｃ］となる。
【００６３】
なお、速度係数設定部５３３は、速度係数［％］を設定することにより、ロボット１の加速度（角加速度を含む）についても上述の速度と同じ割合で設定（変更）する。ロボット１の動作の加減速度のバランスを考慮するためである。
【００６４】
また、速度係数設定部５３３は、例えば、目標軌道の全域におけるロボット１の移動速度を一括して変更したり、また、目標軌道上の任意の区間におけるロボット１の移動速度を個別に変更したりすることができる。
【００６５】
また、図２に示す変更部５３４は、ロボット１の仮想粘性係数や仮想質量係数を変更（設定）する機能を有する。本実施形態では、変更部５３４は、仮想粘性係数を設定・保持する機能と共に、速度係数設定部５３３により設定された速度係数に応じて、力制御におけるエンドエフェクター３０の先端３１の仮想粘性係数の設定を変更（再設定）する機能を有する。より具体的には、変更部５３４は、速度係数に対して仮想粘性係数が反比例の関係になるように変更する。例えば、速度係数設定部５３３が、第１速度係数からそれよりも大きい第２速度係数に設定を変更した場合、その変更に応じて変更部５３４は、第１仮想粘性係数からそれよりも小さい第３仮想粘性係数に変更（再設定）する。また、例えば、速度係数設定部５３３が、第１速度係数からそれよりも小さい第３速度係数に設定を変更した場合、その変更に応じて、変更部５３４は、第１仮想粘性係数からそれよりも大きい第２仮想粘性係数に変更（再設定）する。
【００６６】
また、変更部５３４は、仮想質量係数を設定・保持する機能と共に、速度係数設定部５３３により設定された速度係数に応じて、力制御におけるエンドエフェクター３０の先端３１の仮想質量係数の設定を変更（再設定）する機能を有する。より具体的には、変更部５３４は、速度係数に対して仮想質量係数が反比例の関係になるように変更する。例えば、速度係数設定部５３３が、第１速度係数からそれよりも大きい第２速度係数に設定を変更した場合、その変更に応じて変更部５３４は、第１仮想質量係数からそれよりも小さい第３仮想質量係数に変更（再設定）する。また、例えば、速度係数設定部５３３が、第１速度係数からそれよりも小さい第３速度係数に設定を変更した場合、その変更に応じて、変更部５３４は、第１仮想質量係数からそれよりも大きい第２仮想質量係数に変更（再設定）する。
【００６７】
また、図２に示す記憶部５４は、制御部５３が各種処理を行うためのプログラムやデータ等を記憶する機能を有する。また、記憶部５４には、例えば、目標軌道や、力検出部２０から出力された力検出情報や各位置センサー１３１から出力された位置検出情報（角度検出情報）等を記憶することができる。
【００６８】
以上、ロボットシステム１００の構成について説明した。このようなロボットシステム１００によれば、ロボット１の移動速度によらず、対象物８０に対する追従性に優れた倣い動作を適切に行う設定にたどり着くまでの時間を減らすことができるという特徴を有する。以下、この特徴について説明する。
【００６９】
図３は、図１に示すロボットの倣い動作の一例を説明するための図である。図４は、図１に示すロボットの倣い動作を説明するための概略図である。図５は、図１に示すロボットの倣い動作を説明するための概略図である。なお、図４および図５では、エンドエフェクター３０を模式的に図示している。
【００７０】
以下では、図３に示すように、エンドエフェクター３０を対象物８０の表面８０１に対して押し付けつつ、エンドエフェクター３０を不定形状（凹凸のある形状）の表面８０１に沿って矢印Ａ方向に移動させる倣い動作を例に説明する。ここで、エンドエフェクター３０の先端３１の目標軌道は、表面８０１に沿った経路とする。目標軌道は、例えば、ＣＡＤデータ等によって生成した経路であってもよいし、ダイレクトティーチにより生成した経路等であってもよい。また、目標軌道は、記憶部５４に記憶されており、エンドエフェクター３０の先端３１が目標軌道に沿って移動するためのロボット１の各部の駆動は教示されているものとする。
【００７１】
また、エンドエフェクター３０の先端３１の目標軌道に沿った移動は、ロボット制御部５３１による上述のハイブリット制御により実行される。具体的には、＋Ｘ軸方向の移動は、位置制御により実行され、＋Ｙ軸方向への押し付け（移動）は、位置制御および力制御により実行される。すなわち、図４に示すように、エンドエフェクター３０の先端３１がポイントＴ１１、Ｔ１２、Ｔ１３、Ｔ１４、Ｔ１５、Ｔ１６を経由するような動作は、位置制御により実行され、エンドエフェクター３０の先端３１がポイントＴ２１、Ｔ２２、Ｔ２３、Ｔ２４、Ｔ２５、Ｔ２６に示すような対象物８０を押し付ける動作は、位置制御および力制御により実行される。
【００７２】
まず、設定速度が５ｍｍ／ｓｅｃであり、かつ、速度係数が１００％（第１速度係数）であり、これにより、移動速度が５ｍｍ／ｓｅｃ（第１速度）であるとする。また、力制御における目標力が５Ｎであり、仮想粘性係数が１（第１仮想粘性係数）であり、仮想質量係数が１（第１仮想質量係数）であるとする。この条件下で上述の倣い動作を行って、エンドエフェクター３０の先端３１の軌跡が目標軌道通りであり、また、力検出部２０からの出力が目標力の５Ｎとほぼ同等または目標力との差が許容範囲内であることを確認する。
【００７３】
この状態から、力制御における目標力を５Ｎのまま、移動速度を５ｍｍ／ｓｅｃ（第１速度）から１０ｍｍ／ｓｅｃ（第２速度）に変更することにより、上述と同様の倣い動作を、より速い移動速度で行う。これにより、タクトタイムを短くする。
【００７４】
具体的には、速度係数設定部５３３は、速度係数を１００％（第１速度係数）よりも大きい２００％（第２速度係数）に設定する。これにより、移動速度を１０ｍｍ／ｓｅｃ（第２速度）に変更することができる。また、この新たな速度係数の設定（変更）値に応じて、変更部５３４は、仮想粘性係数を既に設定されていた１（第１仮想粘性係数）よりも小さい０．５（第３仮想粘性係数）に変更し、かつ、仮想質量係数を既に設定されていた１（第１仮想質量係数）よりも小さい０．５（第３仮想質量係数）に変更する。
【００７５】
このように、速度係数設定部５３３は、速度係数を２倍に変更して、移動速度を２倍に変更する。そして、その変更に応じて、変更部５３４は、仮想粘性係数および仮想質量係数をそれぞれ１／２倍にする。すなわち、本実施形態では、速度係数設定部５３３による速度係数を大きくすることに応じて、変更部５３４は、速度係数（または移動速度）に対して反比例の関係になるように仮想粘性係数および仮想質量係数のそれぞれを小さくする。これにより、力制御における目標力達成のための速度および加速度を大きくすることができる。そのため、移動速度が１０ｍｍ／ｓｅｃであっても、移動速度が５ｍｍ／ｓｅｃである倣い動作と同様な追従特性を発揮することができる。
【００７６】
ここで、上述の力制御による目標力達成のための速度は、変更部５３４による変更を伴わない場合、移動速度の変更に追従して変更されない。すなわち、力制御による目標力達成のための速度は、位置制御による移動速度とは独立している。そのため、上述の変更部５３４を有していない場合、例えば、図５に示すように、矢印Ｍ１方向の移動速度を速くしても、矢印Ｍ２２、Ｍ２３方向の押付力である目標力の達成のための速度が追従して速くならず、これらの速度のバランスが崩れてしまう。その結果、対象物８０への追従性が低下してしまう。なお、加速度についても同様である。これに対し、本実施形態では、上述のように変更部５３４によって、速度係数の変化に応じて仮想粘性係数および仮想質量係数を変更することで、移動速度の変化に応じて目標力達成の速度および加速度を変更している。そのため、本実施形態によれば、移動制御による移動速度と、力制御による目標力達成のための速度とのバランスが崩れることを低減することができ、ポイントＴ２２からポイントＴ２３へと追従性良くエンドエフェクター３０を移動させることができる。その結果、上述のように、移動速度が１０ｍｍ／ｓｅｃにおける倣い動作においても、移動速度が５ｍｍ／ｓｅｃにおける倣い動作と同様な追従特性を発揮することができる。また、本実施形態によれば、速度変更に伴う作業実現の調整に際する手間を省くことができる。
【００７７】
また、力制御における目標力を５Ｎのまま、上述の移動速度が５ｍｍ／ｓｅｃ（第１速度）である状態から２．５ｍｍ／ｓｅｃ（第３速度）に変更することにより、上述と同様の倣い動作を、より遅い移動速度で行うことも可能である。このような比較的遅い移動速度での倣い動作は、倣い動作の確認等を行いたい場合に好適である。
【００７８】
具体的には、速度係数設定部５３３は、速度係数を１００％（第１速度係数）よりも小さい５０％（第３速度係数）に設定する。これにより、移動速度を２．５ｍｍ／ｓｅｃ（第３速度）に変更することができる。また、この速度係数の設定（変更）に応じて、変更部５３４は、仮想粘性係数を１（第１仮想粘性係数）よりも大きい２（第２仮想粘性係数）に変更し、かつ、仮想質量係数を１（第１仮想質量係数）よりも大きい２（第２仮想質量係数）に変更する。
【００７９】
このように、速度係数設定部５３３は、速度係数を１／２倍に変更して、移動速度を１／２倍に変更する。そして、その変更に応じて、変更部５３４は、仮想粘性係数および仮想質量係数をそれぞれ２倍にする。すなわち、本実施形態では、速度係数設定部５３３による速度係数を小さくすることに応じて、変更部５３４は、速度係数（または移動速度）に対して反比例の関係になるように仮想粘性係数および仮想質量係数のそれぞれを大きくする。これにより、力制御における目標力達成のための速度および加速度を小さくすることができる。これにより、移動速度が２．５ｍｍ／ｓｅｃであっても、移動速度が５ｍｍ／ｓｅｃである倣い動作と同様な追従特性を発揮することができる。
【００８０】
また、上述の速度係数設定部５３３による速度係数の設定（変更）は、表示装置４１が有する画面を介した作業者の指示に応じて実行される。
【００８１】
図６は、図２に示す表示装置に表示される速度係数の設定を行うウィンドウを示す図である。
【００８２】
表示制御部５１は、表示装置４１のモニターに、図６に示すようなＧＵＩ（グラフィカルユーザーインターフェース）で構成された操作用のウィンドウＷ４１０を表示する。ウィンドウＷ４１０は、速度係数（速度比率）の値を選択するセレクトリスト４１１を有する。作業者は、入力装置４２を用いてセレクトリスト４１１を操作して速度係数の値を選択することができ、速度係数設定部５３３は、その選択された速度係数の値に応じて、速度係数を設定する。このようなウィンドウＷ４１０によって、作業者は、速度係数を選択することで、作業内容等に応じた移動速度を容易に選択（設定）することができる。
【００８３】
また、上述の変更部５３４によって力制御の仮想粘性係数および仮想質量係数を速度係数の変更に追従させて変更させるか否かは、表示装置４１が有する画面を介した作業者の指示に応じて実行される。
【００８４】
図７は、図２に示す表示装置に表示される選択部を有するウィンドウを示す図である。
表示制御部５１は、表示装置４１のモニターに、図７に示すようなＧＵＩ（グラフィカルユーザーインターフェース）で構成された操作用のウィンドウＷ４２０を表示する。ウィンドウＷ４２０は、仮想粘性係数（力制御パラメーター）および仮想質量係数（力制御パラメーター）の変更を実行するか否かを選択する選択部としてのチェックボックスＣ４２１を有する。ここで、ウィンドウＷ４２０に表示されている力制御パラメーターとは、仮想粘性係数や仮想質量係数のことを示す。また、Speed Factorとは、制御装置５に設定されているロボット１の全ての動作に掛かる速度係数のことを示す。また、ウィンドウＷ４２０は、変更を実行する内容を仮想粘性係数および仮想質量係数の双方とすることを選択するチェックボックスＣ４２２と、変更を実行する内容を仮想粘性係数のみとすることを選択するチェックボックスＣ４２３とを有する。ここで、ウィンドウＷ４２０に表示されている全パラメーターとは、仮想粘性係数、仮想質量係数および仮想弾性係数のことを示す。なお、ウィンドウＷ４２０は、変更を実行する内容を仮想質量係数のみとすることを選択するチェックボックスを有していてもよい。
【００８５】
例えば、作業者が、チェックボックスＣ４２１、Ｃ４２２に対して入力装置４２を用いてチェックを入れることで（操作することで）、変更部５３４は、速度係数の設定（変更）に応じて仮想粘性係数および仮想質量係数の変更を実行する機能を発揮させる。なお、チェックボックスＣ４２２にチェックを入れると、Speed Factorに基づいて仮想弾性係数も変更される。また、例えば、作業者が、チェックボックスＣ４２１、Ｃ４２３に対して入力装置４２を用いてチェックを入れることで（操作することで）、変更部５３４は、速度係数の設定（変更）に応じて仮想粘性係数のみの変更を実行する機能を発揮させる。
【００８６】
このように、制御装置５は、変更部５３４による仮想粘性係数の変更を実行するか否かを選択する「選択部」としてのチェックボックスＣ４２１を有するウィンドウＷ４２０を「表示部」としての表示装置４１に表示させる表示制御部５１を備える。これにより、作業者はウィンドウＷ４２０のチェックボックスＣ４２１等を操作することで仮想粘性係数および仮想質量係数のそれぞれを速度係数の設定（変更）に応じて変更するか否かを容易に設定することができる。
【００８７】
以上、ロボットシステム１００による追従性に優れた倣い動作を適切に行う設定にたどり着くまでの時間を減らすことに関する特徴について説明した。
【００８８】
以上説明したように、本発明の制御装置の一例である制御装置５は、力検出部２０を有するロボット１の駆動を制御する制御装置５であって、力検出部２０からの出力に基づいてロボット１の駆動を力制御するロボット制御部５３１と、ロボット１の速度係数を設定する速度係数設定部５３３と、速度係数に応じて、力制御におけるロボット１の仮想粘性係数の設定を変更する変更部５３４と、を有する。このような制御装置５によれば、速度係数に応じて仮想粘性係数の変更を行うため、例えば、対象物８０の表面８０１の形状に沿った方向（＋Ｘ軸方向）の移動における速度（移動速度）と、＋Ｙ軸方向への押付力である目標力を達成するための速度とのバランスが崩れることを低減することができる。これにより、移動速度によらず、対象物８０に対する追従性に優れた倣い動作を行う設定にたどり着くまでの時間を減らすことができる。
【００８９】
また、速度係数設定部５３３が速度係数としての第１速度係数（例えば、１００％）を第１速度係数よりも大きい速度係数としての第２速度係数（例えば、２００％）に設定を変更した場合、変更部５３４は、仮想粘性係数としての第１仮想粘性係数（例えば、１）を第１仮想粘性係数よりも小さい仮想粘性係数としての第３仮想粘性係数（例えば、０．５）に変更する。また、速度係数設定部５３３が第１速度係数を、第１速度係数よりも小さい速度係数としての第３速度係数（例えば、５０％）に設定を変更した場合、変更部５３４は、第１仮想粘性係数を、第１仮想粘性係数よりも大きい仮想粘性係数としての第２仮想粘性係数（例えば、２）に変更する。これにより、速度係数を変更することにより移動速度が変更されても、移動速度と目標力達成のための速度とのバランスの崩れを低減することができる。その結果、いかなる移動速度においても、倣い動作における対象物８０に対する追従性をより高める設定にたどり着くまでの時間を減らすことができる。
【００９０】
特に、本実施形態のように、変更部５３４は、仮想粘性係数を速度係数に反比例するように変更することが好ましい。これにより、移動速度によらず、倣い動作における対象物８０に対する追従性をより向上させる設定にたどり着くまでの時間を減らすことができる。
【００９１】
また、変更部５３４は、速度係数に応じて、力制御におけるロボット１の仮想質量係数の設定を変更可能である。これにより、速度係数の変更により移動加速度が変更されても、移動方加速度と目標力達成のための加速度とのバランスの崩れを低減することができる。その結果、倣い動作における対象物８０に対する追従性をより高める設定にたどり着くまでの時間を減らすことができる。
【００９２】
さらに、速度係数設定部５３３が第１速度係数（例えば、１００％）をそれよりも大きい第２速度係数（例えば、２００％）に設定を変更した場合、変更部５３４は、第１仮想質量係数（例えば、１）をそれよりも小さい第３仮想質量係数（例えば、０．５）に変更する。また、速度係数設定部５３３が第１速度係数をそれよりも小さい第３速度係数（例えば、５０％）に設定を変更した場合、変更部５３４は、第１仮想質量係数をそれよりも大きい第２仮想質量係数（例えば、２）に変更する。特に、本実施形態のように、変更部５３４は、仮想質量係数を速度係数に対して反比例するように変更する。これにより、移動加速度によらず、倣い動作における対象物８０に対する追従性を向上させる設定にたどり着くまでの時間を減らすことができる。
【００９３】
以上説明したような本発明のロボットシステムの一例としてのロボットシステム１００は、制御装置５と、制御装置５によって制御され、力検出部２０を有するロボット１とを備える。このようなロボットシステム１００によれば、制御装置５によって、移動速度によらず、対象物８０に対する追従性に優れた倣い動作をロボット１に対して適切に行わせる設定にたどり着くまでの時間を減らすことができる。
【００９４】
また、上述の説明では、倣い動作を行う場合を例に説明したが、例えば、対象物８０にエンドエフェクター３０を接触させつつ、対象物８０の所望の箇所を探りあてる動作である探り動作を行う場合にも、本実施形態におけるロボットシステム１００を用いることは有効である。この探り動作において、例えば、エンドエフェクター３０の対象物８０に対する押付による摩擦力（外力）は一定で、接触させている時間が長くなると、摩擦力に起因するエンドエフェクター３０が受ける力積が増える。そのため、実際の押付力と力検出部２０からの検出結果とに大きな差が発生する。このような探り動作を行う場合には、仮想粘性係数を大きくすることで、摩擦力による影響を高速時と低速時で同等に見立てることができる。このように、探り動作においても、本実施形態における制御装置５の制御の下でロボット１を駆動させることは、好適であり、利便性も大きい。
【００９５】
以上、本発明の制御装置、ロボットおよびロボットシステムを図示の実施形態に基づいて説明したが、本発明は、これに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。
【００９６】
また、上述した実施形態では、６軸の垂直多関節ロボットについて説明したが、本発明のロボットは、本発明の制御装置により制御され、可動部と力検出部を有する構成であればこれに限定されず、例えば、水平多関節ロボットにも適用可能である。
【００９７】
また、上述した実施形態では、力検出部は、ロボットアームの先端部に設けられている例を説明したが、力検出部の設置箇所は、ロボットの任意の箇所にかかる力やモーメントを検出することができれば如何なる箇所であってもよい。例えば、力検出部は、第６アームの基端部（第５アームと第６アームとの間）に設けられていてもよい。
【符号の説明】
【００９８】
１…ロボット、５…制御装置、１０…ロボットアーム、１１…第１アーム、１２…第２アーム、１３…第３アーム、１４…第４アーム、１５…第５アーム、１６…第６アーム、２０…力検出部、３０…エンドエフェクター、３１…先端、４１…表示装置、４２…入力装置、５１…表示制御部、５２…入力制御部、５３…制御部、５４…記憶部、６０…配線、８０…対象物、９０…設置箇所、１００…ロボットシステム、１１０…基台、１２０…モータードライバー、１３０…駆動部、１３１…位置センサー、１７１…関節、１７２…関節、１７３…関節、１７４…関節、１７５…関節、１７６…関節、４１１…セレクトリスト、５３１…ロボット制御部、５３２…取得部、５３３…速度係数設定部、５３４…変更部、８０１…表面、Ａ…矢印、Ｍ１…矢印、Ｍ２２…矢印、Ｍ２３…矢印、Ｃ４２１…チェックボックス、Ｃ４２２…チェックボックス、Ｃ４２３…チェックボックス、Ｏ１…第１回動軸、Ｏ２…第２回動軸、Ｏ３…第３回動軸、Ｏ４…第４回動軸、Ｏ５…第５回動軸、Ｏ６…第６回動軸、Ｔ１１…ポイント、Ｔ１２…ポイント、Ｔ１３…ポイント、Ｔ１４…ポイント、Ｔ１５…ポイント、Ｔ１６…ポイント、Ｔ２１…ポイント、Ｔ２２…ポイント、Ｔ２３…ポイント、Ｔ２４…ポイント、Ｔ２５…ポイント、Ｔ２６…ポイント、Ｗ４１０…ウィンドウ、Ｗ４２０…ウィンドウ
【図１】
2018089747.tif 000007
【図２】
2018089747.tif 000008
【図３】
2018089747.tif 000009
【図４】
2018089747.tif 000010
【図５】
2018089747.tif 000011
【図６】
2018089747.tif 000012
【図７】
2018089747.tif 000013