(57)【要約】【課題】加工条件の充足を保証する。【解決手段】ロボットに設けられた力検出部の出力が予め決められた範囲内にある場合の範囲条件と、前記範囲条件を満たす状態が継続した場合の継続条件と、の２つの条件によって力制御の制御目標が達成されたと判定するロボット制御装置が構成される。【選択図】図４
2018051635.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに設けられた力検出部の出力が予め決められた範囲内にある場合の範囲条件と、前記範囲条件を満たす状態が継続した場合の継続条件と、の２つの条件によって力制御の制御目標が達成されたと判定する、
ロボット制御装置。
【請求項２】
前記継続条件は、
前記範囲内である状態が継続する時間によって規定されている、
請求項１に記載のロボット制御装置。
【請求項３】
前記範囲内から外れた回数が、前記継続条件内で既定回数に達した場合、前記制御目標が達成されたか否かの判定を終了する、
請求項１または請求項２のいずれかに記載のロボット制御装置。
【請求項４】
予め決められた達成判定区間において前記制御目標が達成されたか否かの判定を行う、
請求項１〜請求項３のいずれかに記載のロボット制御装置。
【請求項５】
請求項１〜請求項４のいずれかに記載されたロボット制御装置によって制御されるロボット。
【請求項６】
請求項１〜請求項５のいずれかに記載されたロボット制御装置と、当該ロボット制御装置によって制御されるロボットとを備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボットおよびロボットシステムに関する。
【背景技術】
【０００２】
従来、ロボットに作用する力が目標力になるように調整する力制御を行いながら作業を行うロボットが知られている。ロボットにおいては、予定外の動作によって対象物に過度の力が作用すると対象物やロボットの破損の原因になるため、過度の力が作用しないような制御が行われることが一般的である。例えば、特許文献１においては、力現在値が力指定値以上である場合にロボットを停止させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１８８７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術においては、力制御において現在の力が基準を超えるとロボットを停止させることで過度の力が作用することを防止している。しかし、このような制御のみでは、正常な制御が行われ得る場合でもロボットを停止させてしまうことがある。例えば、力制御において、一瞬目標力よりもかなり大きい力が作用したとしても、その後、力が目標力に収束する場合もある。従来技術においては、このような一瞬の目標力の増加であっても異常と見なしてしまう場合がある。
【０００５】
また、従来、ある作業の過程において、ロボットに作用する力が目標力に達した場合に当該作業が完了したと見なされることが多かった。しかし、力が目標力に達したことのみを持って作業が完了したと見なされる構成においては、要求された加工条件が満たされたことを保障することができなかった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために、本発明のロボット制御装置は、ロボットに設けられた力検出部の出力が予め決められた範囲内にある場合の範囲条件と、範囲条件を満たす状態が継続した場合の継続条件と、の２つの条件によって力制御の制御目標が達成されたと判定する。
【０００７】
すなわち、力検出部の出力が予め決められた範囲内にある状態が継続した場合に、力制御の目標が達成されたと判定される。このため、力検出部の出力が一瞬異常値になった後、目標の出力に収束していく場合をエラーとしなくてもよい。さらに、力検出部の出力が範囲条件を満たすのみではなく、範囲条件を満たした状態が継続した場合に目標が達成されたと判定されるため、範囲条件を短期間満たしたが、加工条件に適合するほど充分な期間に渡って範囲条件を満たしていないような場合に、力制御の制御目標が達成したと判定しないように構成されている。このため、既定の目標力を既定時間以上作用させたというような加工条件が満たされたことを保障することができる。
【０００８】
さらに、継続条件は、範囲内である状態が継続する時間によって規定されていてもよい。この構成によれば、範囲条件を満たす状態が継続したか否かを容易に判定可能になる。
【０００９】
さらに、範囲内から外れた回数が、継続条件内で既定回数に達した場合、制御目標が達成されたか否かの判定を終了する構成であっても良い。この構成によれば、早期に異常を特定することが可能になる。
【００１０】
さらに、予め決められた達成判定区間において制御目標が達成されたか否かの判定を行う構成であっても良い。この構成によれば、力制御による目標力の大きさを判定しにくい区間を除外して制御目標が達成されたか否かの判定を行うことができ、制御目標が達成されたか否かの判定を容易に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】ロボットの斜視図である
【図２】ロボット制御装置の機能ブロック図である。
【図３】制御目標判定処理のフローチャートである。
【図４】現在の力の例を示す図である。
【図５】現在の力の例を示す図である。
【図６】制御対象の移動速度を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
（１）ロボットの構成：
（２）ロボット制御装置の構成：
（３）制御目標判定処理：
（４）他の実施形態：
【００１３】
（１）ロボットの構成：
図１は本発明の一実施形態にかかるロボット１の斜視図である。図１に示すように、ロボット１は、アーム１０とエンドエフェクター２０とを備える。アーム１０は、３個の曲げ関節Ｂ１〜Ｂ３と３個のねじり関節Ｒ１〜Ｒ３とを有する６軸アームである。曲げ関節Ｂ１〜Ｂ３とは、アーム１０を構成する部材同士が、アーム１０の長さ方向に直交する軸を中心に回転する関節である。ねじり関節Ｒ１〜Ｒ３とは、アーム１０を構成する部材同士が、アーム１０の長さ方向の軸を中心に回転する関節である。アーム１０は、曲げ関節Ｂ１〜Ｂ３とねじり関節Ｒ１〜Ｒ３とを動作させるための駆動部としてのモーター（不図示）を備えている。
【００１４】
エンドエフェクター２０は、アーム１０の先端に装着されている。ロボット１は、６軸のアーム１０を駆動させることによって、可動範囲内においてエンドエフェクター２０を任意の位置に配置し、任意の姿勢（角度）とすることができる。エンドエフェクター２０には力覚センサーＰとグリッパー２１が備えられている。力覚センサーＰは、エンドエフェクター２０に作用する３軸の力と、当該３軸まわりに作用するトルクを計測するセンサーである。なお、力覚センサーＰはエンドエフェクター２０やアーム１０等の可動部に限らず、ロボット１の固定部に装着されてもよい。例えば、ロボット本体の底板とロボットを設置するプレートの間において底板に力覚センサーＰが設けられる構成等が採用されてもよい。以下においては、図１に示されるように、力覚センサーＰがエンドエフェクター２０に装着されている例を説明する。
【００１５】
ロボット１は、ティーチングを行うことにより各種作業が可能となる汎用ロボットである。本実施形態においては、部品Ｗ1を部品Ｗ2に対して接着する接着作業を行うためのティーチングが行われ、当該接着作業が行われる場合を例として説明する。すなわち、ロボット１は、グリッパー２１を部品Ｗ1のストック位置に移動させ、接着剤が塗布された部品Ｗ1をグリッパー２１によってピックアップし、部品Ｗ2の上空まで運ぶ。そして、ロボット１は、当該部品Ｗ2の決められた位置に対して部品Ｗ1を押し当てて接着する作業を行う。
【００１６】
なお、部品Ｗ1を部品Ｗ2に対して接着する作業においては、作業の正常な完了に規則が設けられている。すなわち、部品Ｗ1を一定の範囲の力で部品Ｗ2に対して押しつけた状態が一定期間以上維持された場合に、接着が正常に完了したと見なされる。また、本実施形態において、ロボット１は、ロボット制御装置４０に接続されており、当該ロボット制御装置４０によって制御される。従って、ロボット１とロボット制御装置４０とでロボットシステムを構成する。
【００１７】
（２）ロボット制御装置の構成： 
ロボット制御装置４０は、図示しないプログラムの実行部（ＣＰＵ，ＲＡＭ，ＲＯＭ等）を備えている。ロボット制御装置４０は、図示しないインタフェースを介して信号の入出力を行うことが可能であり、ロボット１のエンドエフェクターに装着された力覚センサーＰの出力を取得し、アーム１０が備える各モーターを制御するための制御信号を出力することが可能である。
【００１８】
ロボット制御装置４０は、予め決められたプログラムを実行することによって、出力取得部４１，制御部４２，制御目標判定部４３として機能し、当該機能によってロボットを制御することができる。出力取得部４１は、ロボット１の可動部（アーム１０）に設けられた力検出部（力覚センサーＰ）の出力を取得する機能である。すなわち、ロボット制御装置４０は、出力取得部４１の機能により、任意のタイミング毎に力覚センサーＰの出力を取得する。
【００１９】
制御部４２は、ロボット１の動作を制御する機能である。すなわち、ロボット制御装置４０は、制御部４２の機能により、ロボット１に作用する力を目標力にする力制御と、ロボット１の位置を目標位置にする位置制御とを実行することができる。具体的にはロボット制御装置４０は、力覚センサーＰからの出力に基づいて、ＴＣＰ（Tool Center Point：グリッパー２１とともに移動する基準部位）に作用する力を特定し、当該力が目標力となるように、アーム１０の各関節を制御することができる。
【００２０】
すなわち、力覚センサーＰにおいては、予め決められたＴＣＰに固定された局所座標系（図示せず）の３軸方向の力と３軸周りのトルクとを検出可能である。局所座標系は種々の定義が可能であるが、例えば、グリッパー２１が延びる方向と開く方向のそれぞれに平行な２軸と当該２軸に垂直な１軸とによって定義可能である。ロボット制御装置４０は、力覚センサーＰの出力を取得してグリッパー２１に把持された物体を介してＴＣＰに作用する力を検出する。
【００２１】
一方、ロボット１のアーム１０やエンドエフェクター２０、グリッパー２１、ＴＣＰの位置はロボット座標系（図１に示す直交ｘｙｚ座標系）によって定義され、ロボット座標系と局所座標系との関係も予め特定されている。そこで、ロボット制御装置４０は、力覚センサーＰによって検出された力が目標力ではない場合、当該目標力が検出される状態を実現するために必要なアーム１０の駆動量（モーターの制御量）を座標系の関係に基づいて取得する。
【００２２】
そして、ロボット制御装置４０が、モーターに対して制御信号を出力することにより、モーターを制御量に従って動作させ、目標力を実現するためにロボット１のアーム１０の位置を変化させる。当該モーターの制御量は、種々の手法によって決定されて良く、例えば、インピーダンス制御によって制御量が決められる構成等が採用可能である。むろん、ロボット制御装置４０は、力覚センサーＰから出力されるトルクを目標トルクにするように、アーム１０を制御しても良い。
【００２３】
さらに、ロボット制御装置４０は、制御部４２の機能により、ＴＣＰの位置が目標位置となり、ＴＣＰを有する部位の姿勢が目標姿勢となるように、アーム１０の各関節を制御することができる。すなわち、ＴＣＰの位置はロボット座標系、ＴＣＰを有する部位の姿勢は局所座標系における軸の方向に基づいて決定される。可動範囲内でＴＣＰがロボット座標系において任意の座標に位置し、ＴＣＰが任意の姿勢になるために必要な各アーム１０の動作は予め特定されている。
【００２４】
ロボット制御装置４０は、ロボット座標系におけるＴＣＰの目標位置および目標姿勢が特定されると、当該目標位置および目標姿勢に基づいてアーム１０の駆動量（モーターの制御量）を取得する。そして、ロボット制御装置４０は、モーターに対して制御信号を出力することにより、モーターを制御量に従って動作させる。むろん、当該制御においては、ＰＩＤ（Proportional-Integral-Derivative）制御等のフィードバック制御によってモーターの制御量が取得されても良い。
【００２５】
本実施形態において利用者は、ロボット１に対するコマンドによってロボット１の動作を指示することができる。すなわち、利用者は、図示しないインタフェース（汎用コンピューターやティーチングペンダント等）を利用してロボット１の作業シーケンスを指定するコマンドを入力することができる。ロボット制御装置４０は、制御部４２の機能により、当該コマンドに従ってロボット１を制御する。
【００２６】
以上の構成において、ロボット制御装置４０は、制御目標判定部４３の機能により、予め決められた判定条件に基づいて力覚センサーＰの出力が示す力が目標力に達したか否かを判定条件情報に基づいて判定する。具体的には、ロボット制御装置４０は、制御目標判定部４３の機能により、力覚センサーＰの出力が予め決められた範囲内にある場合の範囲条件と、範囲条件を満たす状態が継続した場合の継続条件と、の２つの条件が満たされた場合に力制御の制御目標が達成されたと判定する。当該２つの条件が満たされない場合には力制御の制御目標が達成されたと判定しない。
【００２７】
すなわち、本実施形態においてロボット制御装置４０は、ＴＣＰに作用する力が目標力である状態が継続的に維持された場合に制御目標が達成されたと判定する。本実施形態において範囲条件は、力制御によってＴＣＰに作用させる力の方向毎に、力の上限値および下限値が規定されることによって定義される。そこで、上述の接着作業において、部品Ｗ1を部品Ｗ2に対して押しつける際の力の方向および力の値の範囲が範囲条件として設定される。継続条件は、範囲条件を満たす状態となってからの継続時間によって定義されている。そこで、上述の接着作業において、一定の範囲の力で部品Ｗ1を部品Ｗ2に対して押しつけているべき期間が継続条件と設定される。これらの範囲条件および継続条件は、判定条件情報として予め図示しない記録媒体に記録されている。
【００２８】
判定条件情報は、種々の態様で定義可能であるが、本実施形態においては、ロボット１に対するコマンドによって判定条件を定義することができる。すなわち、本実施形態においては、ロボット１の作業シーケンスを指定する上述のコマンドに対してパラメーターを対応づけることが可能であり、当該パラメーターとして範囲条件と継続条件とを設定可能である。例えば、力制御における目標力を指示するコマンドに対して上限および下限の力をパラメーターとして対応づけることにより範囲条件を設定し、当該コマンドに対して期間をパラメーターとして対応づけることにより継続条件を設定可能である。
【００２９】
制御目標の達成は、力制御を伴う作業工程の完了を意味していれば良く、制御目標が達成された場合、当該制御は正常終了したと見なされる。従って、次の作業が存在すれば次の作業に移行し、次の作業が存在しなければロボットによる作業が終了する。制御目標が達成されなかった場合、当該制御は異常であると見なされる。従って、異常に対応するための種々の作業が開始される。異常に対応するための作業は、例えば、エラー処理やロボットの停止、異常とされた作業のリトライ等が挙げられる。
【００３０】
以上の構成によれば、力覚センサーＰの出力が予め決められた範囲内にある状態が継続した場合に、力制御の目標が達成されたと判定される。このため、力覚センサーＰの出力が一瞬異常値になった後、目標の出力に収束していく場合をエラーとしなくてもよい。さらに、力覚センサーＰの出力が範囲条件を満たすのみではなく、範囲条件を満たした状態が継続した場合に目標が達成されたと判定されるため、範囲条件を短期間満たしたが、加工条件に適合するほど充分な期間に渡って範囲条件を満たしていないような場合に、力制御の制御目標が達成したと判定することはない。このため、接着作業が完了したと判定された場合には、部品Ｗ1を一定の範囲の力で部品Ｗ2に対して押しつけた状態が一定期間以上維持されたことを保障することができる。
【００３１】
（３）制御目標判定処理：
次に、制御目標判定処理を詳細に説明する。制御目標判定処理は、ロボット制御装置４０が制御部４２の機能により、力制御を伴う作業を開始した場合に実行される。例えば、上述の接着作業においては、部品Ｗ1が部品Ｗ2の上空に配置され、部品Ｗ1が部品Ｗ2に対して接触した場合に両者に作用する力がＴＣＰに作用する目標力として設定された状態で、部品Ｗ1の移動が開始した場合に制御目標判定処理が開始される。ここでは、主に当該接着作業を例にして説明を行う。制御目標判定処理が開始されると、ロボット制御装置４０は、制御目標判定部４３の機能により、正常判定のための範囲条件および継続条件を取得する（ステップＳ１００）。すなわち、ロボット制御装置４０は、判定条件情報を参照し、判定対象の力制御が正常に完了したか否かを判定するための範囲条件および継続条件を特定する。
【００３２】
次に、ロボット制御装置４０は、制御目標判定部４３の機能により、異常判定のための範囲条件および継続条件を取得する（ステップＳ１０５）。本実施形態においては、力制御における力が正常であることに加え、異常であることも範囲条件と継続条件との２条件で判定するように構成されている。このため、判定条件情報には、予め異常である力の範囲が異常判定のための範囲条件として予め規定されている。ただし、当該異常である力が一瞬作用した場合には異常と見なされず、特定の期間にわたって当該力が作用した場合に以上と判定される。このため、判定条件情報には、当該特定の期間が異常判定のための継続条件として予め規定されている。そこで、ロボット制御装置４０は、判定条件情報を参照し、判定対象の力制御が異常であるかを判定するための範囲条件および継続条件を特定する。なお、異常判定のための範囲条件は正常判定のための範囲条件と異なる範囲を規定した条件である。異常判定のための継続条件は、正常判定のための継続条件と一致していても良いし異なっていてもよい。
【００３３】
次に、ロボット制御装置４０は、出力取得部４１の機能により、現在の力を取得する（ステップＳ１１０）。すなわち、ロボット制御装置４０は、力覚センサーＰの出力を取得し、部品Ｗ1が部品Ｗ2に対して接触した場合にＴＣＰに作用する力を取得する。なお、部品Ｗ1が部品Ｗ2に対して接触していない状態であれば、当該現在の力は０である。
【００３４】
次に、ロボット制御装置４０は、制御目標判定部４３の機能により、現在の力が正常判定のための範囲条件を充足しているか否かを判定する（ステップＳ１１５）。すなわち、ロボット制御装置４０は、ステップＳ１００で取得された範囲条件とステップＳ１１０で取得された現在の力を比較し、範囲条件が示す範囲内に現在の力が含まれる場合に範囲条件が充足されていると判定する。
【００３５】
ステップＳ１１５において、正常判定のための範囲条件が充足していると判定された場合、ロボット制御装置４０は、制御目標判定部４３の機能により、現在の力が正常判定のための継続条件を充足しているか否かを判定する（ステップＳ１２０）。すなわち、ステップＳ１００〜Ｓ１２０はループ処理になっており、ロボット制御装置４０は、現在の力が正常判定のための範囲条件を満たしていない状態から満たした状態に移行してからの経過時間を計測している。そして、ロボット制御装置４０は、当該経過時間とステップＳ１００で取得された継続条件とを比較し、当該経過時間が、継続条件が示す期間以上である場合、継続条件が充足されていると判定する。ステップＳ１２０において、現在の力が正常判定のための継続条件を充足していると判定されない場合、ロボット制御装置４０は、ステップＳ１１０以降の処理を繰り返す。
【００３６】
ステップＳ１２０において、現在の力が正常判定のための継続条件を充足していると判定された場合、ロボット制御装置４０は、制御部４２の機能により、現在の工程の作業を終了する（ステップＳ１４０）。すなわち、ロボット制御装置４０は、部品Ｗ1の部品Ｗ2に対する接着作業が終了したと判定する。次に、ロボット制御装置４０は、制御部４２の機能により、次の工程が存在するか否かを判定する（ステップＳ１４５）。すなわち、コマンドで指定された作業シーケンスにおいて未実施の作業が残っている場合、ロボット制御装置４０は、次の工程が存在すると判定する。
【００３７】
ステップＳ１４５において、次の工程が存在すると判定されない場合、ロボット制御装置４０は、制御目標判定処理を終了する。ステップＳ１４５において、次の工程が存在すると判定された場合、ロボット制御装置４０は、制御部４２の機能により、次の工程の作業を開始し（ステップＳ１５０）、当該次の工程の作業において力制御が開始されるとステップＳ１００以降の処理を実行する。
【００３８】
一方、ステップＳ１１５において、現在の力が正常判定のための範囲条件を充足していると判定されない場合、ロボット制御装置４０は、現在の力が異常判定のための範囲条件を充足しているか否かを判定する（ステップＳ１２５）。すなわち、ロボット制御装置４０は、ステップＳ１０５で取得された範囲条件とステップＳ１１０で取得された現在の力を比較し、範囲条件が示す範囲内に現在の力が含まれる場合に範囲条件が充足されていると判定する。
【００３９】
ステップＳ１２５において、異常判定のための範囲条件が充足していると判定された場合、ロボット制御装置４０は、制御目標判定部４３の機能により、現在の力が異常判定のための継続条件を充足しているか否かを判定する（ステップＳ１３０）。すなわち、ステップＳ１００，Ｓ１１５，Ｓ１２５，Ｓ１３０はループ処理になっており、ロボット制御装置４０は、現在の力が異常判定のための範囲条件を満たしていない状態から満たした状態に移行してからの経過時間を計測している。そして、ロボット制御装置４０は、当該経過時間とステップＳ１０５で取得された継続条件とを比較し、当該経過時間が、継続条件が示す期間以上である場合、継続条件が充足されていると判定する。ステップＳ１２０において、現在の力が異常判定のための継続条件を充足していると判定されない場合、ロボット制御装置４０は、ステップＳ１１０以降の処理を繰り返す。
【００４０】
ステップＳ１３０において、現在の力が異常判定のための継続条件を充足していると判定された場合、ロボット制御装置４０は、制御部４２の機能により、エラーを出力して（ステップＳ１３５）、ロボット１の作業を終了する。エラーの出力は、任意の出力部によって実施可能であり、例えば、画像の出力部や音声の出力部等によりエラーであることを示す情報が出力されれば良い。
【００４１】
図４は、部品Ｗ1の接着作業において上述のフローチャートが実行された場合の処理例を説明する図である。図４においては、正常判定のための範囲条件が目標力Ｆdを中心とした下限値Ｆdl、上限値Ｆduの範囲であり、正常判定のための継続条件が期間Ｔｈ1である。また、異常判定のための範囲条件が下限値Ｆel以上の範囲であり、異常判定のための継続条件が期間Ｔｈ2である。図４は、横軸を時間、縦軸を現在の力として示している。
【００４２】
接着作業において部品Ｗ1が部品Ｗ2に接触し始めると、図４に示すように現在の力が急激に大きくなる。この例においては、現在の力の急激な上昇のあと、時間の経過とともに現在の力が振動しながら徐々に目標力Ｆdに収束している。このように現在の力が変化する過程において、初期においては現在の力が範囲条件を充足した後、継続条件を充足することなく再度範囲条件を充足しない状態となる。
【００４３】
例えば、部品Ｗ1が部品Ｗ2に接触した直後の時刻ｔ1において現在の力はＦdl以上になり、ステップＳ１１５において正常判定のための範囲条件が充足したと判定される。この段階ではステップＳ１２０において正常判定のための継続条件が充足したと判定されないため、ステップＳ１１０〜Ｓ１２０のループが繰り返される。しかし、図４に示す例では、期間Ｔ1だけ経過した後の時刻ｔ2において現在の力がＦduを超える。期間Ｔ1は正常判定のための継続条件が示す期間Ｔｈ1より短いため、この段階に至ると、ステップＳ１２０では正常判定のための継続条件を充足したと判定されず、ステップＳ１１５において正常判定のための範囲条件を充足しないと判定される。従って、現在の工程の作業が終了されることなくステップＳ１１０以後の処理が繰り返される。
【００４４】
時刻ｔ2〜ｔ3においては、ステップＳ１１５において正常判定のための範囲条件を充足したと判定されず、ステップＳ１２５において異常判定のための範囲条件を充足したと判定されない。時刻ｔ3に達すると、現在の力はＦel以上になり、ステップＳ１２５において異常判定のための範囲条件が充足したと判定される。この段階ではステップＳ１３０において継続条件が充足したと判定されないため、ステップＳ１１０，Ｓ１１５，Ｓ１２５，Ｓ１３０のループが繰り返される。しかし、図４に示す例では、期間Ｔ2だけ経過した時刻ｔ4において現在の力がＦelを下回る。期間Ｔ2は異常判定のための継続条件が示す期間Ｔｈ2より短いため、この段階に至ると、ステップＳ１２５において異常判定のための範囲条件を充足しないと判定される。従って、エラーが出力されることなくステップＳ１１０以後の処理が繰り返される。
【００４５】
以後、時刻ｔ5，時刻ｔ6においてステップＳ１１５の判定によって正常判定のための範囲条件を充足したと判定されるが、当該範囲条件を満たす状態が期間Ｔｈ1以上継続しないため、現在の工程の作業が終了されることなくステップＳ１１０以後の処理が繰り返される。しかし、時刻ｔ7においてステップＳ１１５の判定によって正常判定のための範囲条件を充足した後には、当該範囲条件を満たす状態が期間Ｔｈ1以上継続するため、時刻ｔ7において正常判定のための継続条件を充足したと判定される。この結果、ロボット制御装置４０は、ステップＳ１４０において現在の工程の作業を終了する。
【００４６】
以上の処理によれば、力覚センサーＰの出力が下限値Ｆelを超えて一瞬異常値になった状態をエラーとしなくても良く、図４に示すように力が一瞬異常値になったが、その後に目標力に収束する状態を正常と判定することが可能である。本実施形態においては、さらに、異常判定のための範囲条件および継続条件が設定されているため、現在の力が異常値になった状態が一瞬ではなく継続する場合には、異常と判定することが可能であり、部品やロボットが破損することを防止することができる。むろん、一瞬であっても作用してはいけない力が定義できる場合には、当該力にマージンを設けた力が一瞬作用した場合にロボットを停止させるなどの構成が採用されてもよい。
【００４７】
（４）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、ロボット制御装置は、ロボットに内蔵されていても良いし、ロボットの設置場所と異なる場所、例えば外部のサーバ等に備えられていても良い。さらに、ロボット制御装置が複数のロボットを制御するように構成されていても良い。ロボット制御装置が複数の装置に分散して配置されていても良い。例えば、ロボット制御装置の一部がロボットに内蔵され、他の一部がロボットの外部のサーバ等に配置されていても良い。さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
【００４８】
ロボットは、力制御によって動作することができればよく、任意の態様の可動部で対象物に関する作業を実施できれば良い。対象物は、ロボットの可動部の動作に連動して動作する物体であれば良く、エンドエフェクターによって把持された物体であっても良いし、エンドエフェクターが備えるツールの一部（ＴＣＰ等）であっても良く、種々の物体が対象物となり得る。
【００４９】
可動部は、ロボットの設置位置に対して相対的に移動し、姿勢が変化するように構成されていれば良く、その自由度（可動軸の数等）は任意である。ロボットの態様は、種々の態様であって良く、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であって良い。むろん、軸の数やアームの数、エンドエフェクターの態様等は種々の態様を採用可能である。
【００５０】
力検出部は、ロボットの可動部に作用する力を検出することができればよく、上述の力覚センサー以外にも加速度センサー、ジャイロセンサー等によって構成可能である。力は並進力であっても良いし回転力（トルク）であっても良いし、これらの合成力であっても良い。力は、直接的に検出されても良いし間接的に検出されても良い。後者としては、加速度や位置、速度などの力に変換可能な物理量や、力の時間微分などの力から変換可能な物理量等が挙げられる。むろん、力検出部の出力は補正されても良い。例えば、座標変換や重力補償、ノイズ除去のためのフィルタ処理等の補正を経た後に範囲条件の充足が判定されても良い。
【００５１】
ロボットの可動部に作用する力は、ロボットの可動部自体に作用する力であっても良いし、ロボットの可動部と連動する対象物（例えば、把持された物体やツール等）に作用する力であっても良い。いずれにしても、ロボットによる作業の過程で特定の目標力になるべき力がロボットに作用する場合に、その力を検出することができればよい。
【００５２】
範囲条件は、力検出部の出力が目標力に対応した出力であると見なすことができるような範囲を規定していれば良い。従って、範囲条件は目標力に対応した出力に対して既定のマージンを設けた範囲を規定していれば良い。マージンは一定でもよいし可変でも良い。後者としては、目標力や作業によって可変である構成や時間的に可変（時間経過とともに範囲が狭くなるなど）であっても良い。
【００５３】
継続条件は、範囲条件を満たす状態の継続時間を規定していれば良い。継続時間は、種々の指標に基づいて設定可能であり、例えば、力制御の目標を達成したと見なすことができるような時間間隔等が挙げられる。具体的には、部品同士の接着作業など、部品同士に一定範囲の力が作用した状態が一定時間以上継続することが要求される作業であれば、当該一定時間が継続条件の閾値となり得る。
【００５４】
さらに、範囲条件と継続条件とのいずれかまたは双方は、力の方向毎に定義されても良い。例えば、ｘ軸方向の力とｙ軸方向の力とでは、範囲条件および継続条件が異なる構成であっても良い。また、範囲条件および継続条件の設定が行われない方向が存在しても良い。同一軸において、異なる時刻において範囲条件および継続条件の組み合わせが異なってもよい。例えば、５Ｎの力が５秒継続された後、３Ｎの力が１０秒継続された場合に制御目標が達成されたと判定される構成であっても良い。
【００５５】
さらに、範囲条件を満たした後、継続条件を満たすことなく力検出部の出力が範囲条件を満たさなくなった場合、再度、制御目標が達成されたか否か判定されても良いし、制御目標が達成されたか否かの判定が終了されても良い。前者の場合、さらに、範囲条件を満たした後、範囲条件を満たさなくなる状況が繰り返された場合に、判定を終了する条件が設定されていても良い。
【００５６】
例えば、範囲内から外れた回数が、継続条件内で既定回数に達した場合、制御目標が達成されたか否かの判定を終了する構成であっても良い。この構成は、上述の構成において図３に示す制御目標判定処理を修正することで実現可能である。例えばステップＳ１１５で正常判定のための範囲条件を充足したと判定された後、ループの過程で正常判定のための範囲条件を充足したと判定されなくなった場合、回数をカウントするための変数をインクリメントする。そして、当該変数が既定回数以上になった場合に、ステップＳ１３５にジャンプする構成等が挙げられる。この構成によれば、出力が振動している場合など、制御目標を達成できない状況や制御目標を達成するために過度の時間を要する状況が早期に目標未達とされ、早期に異常を特定することが可能になる。既定回数は予め決められていれば良く、範囲条件の充足と非充足を繰り返すことが異常であると見なすべき回数等が予め実験や統計等によって特定されるなどして決められていれば良い。
【００５７】
さらに、予め決められた達成判定区間において制御目標が達成されたか否かの判定が行われてもよい。達成判定区間は、時間軸上での区間や位置空間上での区間などとして決められ、当該達成判定区間において制御目標が達成されたか否かの判定が行われ、達成判定区間以外の区間では制御目標が達成されたか否かの判定は行われない。この構成は、上述の図１、図２に示す構成と同様の構成において、達成判定区間で図３に示す制御目標判定処理を実行することによって実現される。
【００５８】
この構成によれば、判定を必要とする区間において判定を行うことができる。また、力制御が行われているが、制御目標の達成が困難な区間やノイズが発生し得る区間を除外することができる。例えば、力制御の開始初期や対象物の移動が発生し、加速度が作用することで力制御による目標力に加速度による慣性力が作用する区間等を達成判定区間から除外すれば、力制御による目標力の大きさを判定しにくい区間を除外することができ、制御目標が達成されたか否かの判定を容易に行うことができる。
【００５９】
図５および図６は、達成判定区間が設定されている例を説明するための図である。図５は、ＴＣＰに作用する現在の力を示すグラフであり、横軸が時間、縦軸が現在の力である。この例においては、力制御における目標力がＦdであり、正常判定のための範囲条件が目標力Ｆdを中心とした下限値Ｆdl、上限値Ｆduであり、正常判定のための継続条件が期間Ｔｈである（図５参照）。また、図６は、ＴＣＰの速度を示すグラフであり、横軸が時間、縦軸が速度である。この例における作業は、ＴＣＰを移動させながら力制御を行う作業である。当該移動の過程において、図６に示すように作業開始から時刻ｔ10までＴＣＰは加速し、時刻ｔ10〜時刻ｔ11においてはＴＣＰが一定速度で移動し、時刻ｔ11以後は停止するまで減速する。
【００６０】
このように、ＴＣＰを移動させる際の加速や減速の過程では、ＴＣＰに加速度や減速度（負の加速度）が作用するため、当該加速度や減速度に起因する慣性力がＴＣＰに作用する。このため、目標力をＦdとする制御が行われている場合であっても、加速や減速の過程では現在の力には慣性力が加わり、図５に示すように安定しない場合が多い。そこで、このような場合、加速および減速の過程が除外され、一定速度でＴＣＰが移動する過程が予め達成判定区間として定義されていることが好ましい。当該達成判定区間に達すると、ロボット制御装置４０は、図３に示す制御目標判定処理を開始する。
【００６１】
図５に示す例においては、時刻ｔ10〜時刻ｔ11が達成判定区間であり、この期間において制御目標判定処理が行われると、ロボット制御装置４０は、時刻ｔ20において範囲条件を充足したと判定する。そして、図５に示す例では、時刻ｔ21まで当該範囲条件を充足した状態が維持されるため、ロボット制御装置４０は、時刻ｔ21において制御目標が達成されたと判定する。
【００６２】
以上の例は、達成判定区間が、ロボットの動作態様によって特定される構成であるが、達成判定区間は他にも種々の要素によって決定されて良い。また、動作態様としては、加速中、定速移動中、減速中などの態様が挙げられ、定速移動中が達成判定区間とされる構成の他、加速中、定速移動中、減速中の１つまたは組み合わせによって達成判定区間が定義される構成等が採用されてもよい。
【００６３】
動作態様以外の要素で達成判定区間が定義される例としては、例えば、基準時刻（動作開始時刻や作業内の特定の工程の開始時刻等）からの経過時間によって開始時刻と終了時刻が特定される構成であっても良い。例えば、力制御の開始から０．５秒後の時刻から０．７秒後の時刻までが達成判定区間とされる構成等が採用されてもよい。また、達成判定区間が空間内の位置によって特定されても良い。例えば、ロボット座標系の座標ｚ1から座標ｚ2の間を達成判定区間とする構成等が採用されてもよい。
【００６４】
また、達成判定区間が、基準期間内において経過した期間の比率で特定される構成であっても良い。例えば、力制御の開始から終了までの期間Ｔが基準期間とされ、開始時刻から０．３Ｔの期間が経過した時刻から０．６Ｔの期間が経過した時刻までが達成判定区間とされる構成等が採用されてもよい。
【符号の説明】
【００６５】
１…ロボット、１０…アーム、２０…エンドエフェクター、２１…グリッパー、４０…ロボット制御装置、４１…出力取得部、４２…制御部、４３…制御目標判定部
【図１】
2018051635.tif 000003
【図２】
2018051635.tif 000004
【図３】
2018051635.tif 000005
【図４】
2018051635.tif 000006
【図５】
2018051635.tif 000007
【図６】
2018051635.tif 000008