(57)【要約】【課題】力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減する技術を提供する。【解決手段】制御装置は、力検出部の出力に応じて可動部を力制御する制御部を備える。制御部は、予め定められた停止条件が成立した場合に可動部の停止制御を実行する。停止制御は、力制御を含む第１制御の実行中に停止条件が成立した場合、力制御を継続して可動部を制御する第２制御を含む。【選択図】図６
2020028925.tif 000002
【特許請求の範囲】
【請求項１】
可動部と、前記可動部と接触する対象物から前記可動部に加えられた力を検出する力検出部とを備えるロボットを制御する制御装置であって、
前記力検出部の出力に応じて前記可動部を力制御する制御部を備え、
前記制御部は、予め定められた停止条件が成立した場合に前記可動部の停止制御を実行し、
前記停止制御は、前記力制御を含む第１制御の実行中に前記停止条件が成立した場合、前記力制御を継続して前記可動部を制御する第２制御を含む、制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記力制御は、仮想慣性係数と仮想粘性係数を用いたインピーダンス制御であり、
前記第２制御の前記仮想慣性係数は、前記第１制御の前記仮想慣性係数よりも大きく、
前記第２制御の前記仮想粘性係数は、前記第１制御の前記仮想粘性係数よりも大きい、
制御装置。
【請求項３】
請求項１又は２に記載の制御装置であって、
前記可動部は、前記対象物と接触する接触部を有し、
前記制御部は、前記第２制御における前記接触部の移動量が予め定められた閾値以上になった場合には、前記第２制御を終了して前記可動部の位置を維持する、制御装置。
【請求項４】
請求項１〜３のいずれか一項に記載の制御装置であって、
前記ロボットの作業シーケンスは、力制御を利用する複数の工程を含み、
前記制御部は、前記第２制御を含む第１態様と、前記第２制御と異なる制御設定に従って前記可動部を制御する第２態様と、を含む前記停止制御の態様を選択可能であり、
前記停止条件が成立した場合に、前記複数の工程のそれぞれについて予め設定されている、前記停止制御の態様と前記停止制御を開始するタイミングとの組み合わせに従って前記可動部を制御する、制御装置。
【請求項５】
請求項４に記載の制御装置であって、
前記停止制御の態様は、前記可動部を前記対象物から退避させる第３制御を実行する第３態様を含む、制御装置。
【請求項６】
請求項５に記載の制御装置であって、
前記制御部は、前記第３制御において、前記可動部の退避方向に垂直な方向の目標力を、前記退避方向の目標力よりも小さくする倣い制御に従って前記対象物から前記可動部を退避させる、制御装置。
【請求項７】
請求項４〜６のいずれか一項に記載の制御装置であって、
前記停止制御を開始するタイミングは、前記工程の終了時を含む、制御装置。
【請求項８】
請求項４〜７のいずれか一項に記載の制御装置であって、
前記停止制御を開始するタイミングは、前記停止条件が成立した工程の次の工程について設定されている停止制御の開始タイミングを含む、制御装置。
【請求項９】
請求項４〜８のいずれか一項に記載の制御装置であって、
前記組み合わせは、前記停止制御により中断した工程を再開する再開制御の態様を含む、制御装置。
【請求項１０】
請求項９に記載の制御装置であって、
前記再開制御の態様は、前記停止制御により中断した工程とは異なる工程から再開する態様を含む、制御装置。
【請求項１１】
可動部と、前記可動部と接触する対象物から前記可動部に加えられた力を検出する力検出部とを備えるロボットと、
請求項１〜１０のいずれか一項に記載の制御装置と、
を備えるロボットシステム。
【請求項１２】
ロボットであって、
対象物から前記ロボットに加えられる力を検出する力検出部と、
力検出部の出力に応じて力制御される可動部と、
を備え、
前記可動部は、前記力制御の実行中に予め定められた停止条件が成立した場合に動作を停止し、前記停止の後に前記停止条件が成立したときの力制御を継続した状態で制御される、ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの制御装置、ロボットシステム、及び、ロボットに関する。
【背景技術】
【０００２】
ロボットとして、力検出部を使用して力制御を行うロボットが知られている。力制御を利用した作業には、種々の作業が存在する。特許文献１には、力制御を利用してネジ締めを行う技術が記載されている。特許文献２には、双腕ロボットを用い、力制御を利用して物品を搬送する技術が記載されている。ロボットの作業中には、安全扉が開くこと等の何らかの原因によりロボットの作業を停止させる場合がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−６２０５０号公報
【特許文献２】特開２０１２−７６８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、本願の発明者は、力制御の実行中に作業を停止した場合に、停止の仕方によっては、作業を再開することが難しい状態になったり、ロボットが取り扱っている物品が破損してしまったりする等の不具合が発生する場合があることを見出した。
【課題を解決するための手段】
【０００５】
本発明の一形態によれば、可動部と、前記可動部と接触する対象物から前記可動部に加えられた力を検出する力検出部とを備えるロボットを制御する制御装置が提供される。この制御装置は、前記力検出部の出力に応じて前記可動部を力制御する制御部を備え、前記制御部は、予め定められた停止条件が成立した場合に前記可動部の停止制御を実行する。前記停止制御は、前記力制御を含む第１制御の実行中に前記停止条件が成立した場合、前記力制御を継続して前記可動部を制御する第２制御を含む。
【図面の簡単な説明】
【０００６】
【図１】力／位置同時制御工程を実行可能なロボットシステムの説明図。
【図２Ａ】複数のプロセッサーを有する制御装置の一例を示す概念図。
【図２Ｂ】複数のプロセッサーを有する制御装置の他の例を示す概念図。
【図３】ロボットと制御装置の機能ブロック図。
【図４】力／位置同時制御工程としてのネジ締め工程を示す説明図。
【図５】力／位置同時制御工程を実行可能なロボットシステムの他の構成の説明図。
【図６】第１実施形態における力／位置同時制御工程の実行手順を示すフローチャート。
【図７】第２実施形態における力／位置同時制御工程の実行手順を示すフローチャート。
【図８】第３実施形態における力／位置同時制御工程の実行手順を示すフローチャート。
【図９】第４実施形態で使用するロボットシステムの説明図。
【図１０】第４実施形態で実行される力制御工程としての接着工程を示す説明図。
【図１１】第４実施形態における力制御工程の実行手順を示すフローチャート。
【図１２】第５実施形態で使用するロボットシステムの説明図。
【図１３】第５実施形態における作業シーケンスの実行手順を示すフローチャート。
【図１４】第５実施形態における停止制御の設定ウィンドウを示す説明図。
【発明を実施するための形態】
【０００７】
A. 第１実施形態：
図１は、ロボットシステムの構成例を示す説明図である。このロボットシステムは、カメラ３０と、搬送装置５０と、ロボット１００と、制御装置２００と、を備えている。ロボット１００と制御装置２００は、ケーブル又は無線を介して通信可能に接続される。ロボット１００の作業領域の周囲は、安全柵ＣＧで囲われている。安全柵ＣＧには、人が出入り可能な安全扉ＤＲが設けられている。安全扉ＤＲの開閉状態を示す信号は、制御装置２００に供給される。
【０００８】
このロボット１００は、アーム１１０の先端にあるアームフランジ１２０に各種のエンドエフェクターを装着して使用される単腕ロボットである。アーム１１０は６つの関節Ｊ１〜Ｊ６を備える。関節Ｊ２、Ｊ３、Ｊ５は曲げ関節であり、関節Ｊ１、Ｊ４、Ｊ６はねじり関節である。関節Ｊ６の先端にあるアームフランジ１２０には、ワークに対して把持や加工等の作業を行うための各種のエンドエフェクターが装着される。アーム１１０の先端近傍の位置を、ツールセンターポイント（ＴＣＰ）として設定可能である。ＴＣＰは、エンドエフェクターの位置の基準として使用される位置であり、任意の位置に設定可能である。なお、本実施形態では６軸ロボットを用いているが、他の関節機構を有するロボットを使用してもよい。
【０００９】
ロボット１００は、アーム１１０の可動範囲内においてエンドエフェクターを任意の位置で任意の姿勢とすることができる。アームフランジ１２０には、力検出部１３０と、エンドエフェクターとしてのスクリュードライバー１４０とが装着されている。エンドエフェクターとしては、スクリュードライバー１４０以外の任意の種類のエンドエフェクターを使用可能である。力検出部１３０は、エンドエフェクターに作用する３軸の力と、当該３軸まわりに作用するトルクとを計測する６軸センサーである。力検出部１３０は、固有の座標系であるセンサー座標系において互いに直交する３個の検出軸と平行な力の大きさと、当該３個の検出軸まわりのトルクの大きさとを検出する。なお、関節Ｊ６以外の関節Ｊ１〜Ｊ５のいずれか１つ以上に力検出部としての力センサーを備えても良い。なお、力検出部は、制御する方向の力やトルクを検出できればよく、力検出部１３０のように直接的に力やトルクを検出する手段や、ロボットの関節のトルクを検出して間接的に力やトルクを求める手段などを用いてもよい。また、力を制御する方向のみの力やトルクを検出してもよい。
【００１０】
図１のロボットシステムにおいて、アーム１１０とエンドエフェクターであるスクリュードライバー１４０とを併せた機構を「可動部ＭＵ」と呼ぶ。また、可動部ＭＵに接触する物品を「対象物ＯＢ」と呼び、対象物ＯＢに接触する可動部ＭＵの部分を「接触部」と呼ぶ。図１の例では、ネジＳＣが「対象物ＯＢ」であり、スクリュードライバー１４０の先端が「接触部」である。力検出部１３０は、可動部ＭＵと接触する対象物ＯＢから可動部ＭＵに加えられる力を検出する。
【００１１】
ロボット１００の基台には、ロボット１００に接近する物体を検出する物体検出部１６０が設置されている。物体検出部１６０としては、例えばミリ波レーダーやライトカーテンなどの近接センサーを使用可能である。物体検出部１６０は、予め定められた距離閾値以下に物体が接近すると、物体が接近したことを示す出力信号を制御装置２００に供給する。物体の代表例は人である。物体検出部１６０は、ロボット１００の任意の箇所に任意の個数設置するようにしてもよい。例えば、ロボット１００の周囲を３６０度の全範囲にわたって物体の接近を検出するように、物体検出部１６０を複数個設けてもよい。
【００１２】
ロボット１００が設置された空間を規定する座標系をロボット座標系と呼ぶ。ロボット座標系は、水平面上において互いに直交するｘ軸及びｙ軸と、鉛直上向きを正方向とするｚ軸とによって規定される３次元の直交座標系である。また、ｘ，ｙ，ｚ軸方向の位置により３次元空間における任意の位置を表現でき、各軸回りの回転角により３次元空間における任意の姿勢を表現できる。３次元座標値で表される位置を狭義の位置と言い、３軸方向に平行な力成分に分解できる力を狭義の力と言う。単に「位置」と表記した場合、狭義の位置と姿勢の両方を意味する。また、単に「力」と表記した場合、狭義の力とトルクの両方を意味する。
【００１３】
本実施形態において、搬送装置５０によってワークＷＫが搬送される。搬送装置５０は、搬送ローラー５０ａ，５０ｂを備えており、これらの搬送ローラー５０ａ，５０ｂを回転させることによって搬送面を移動させ、搬送面上に載置されたワークＷＫを搬送することができる。搬送装置５０の上方には、カメラ３０が設置されている。このカメラ３０は、搬送面上のワークＷＫが視野に含まれるように設置されている。ワークＷＫの上面には、ネジ穴ＳＨが形成されている。スクリュードライバー１４０は、ワークＷＫのネジ穴ＳＨに、ネジＳＣを螺合する作業を行うことができる。なお、このネジ締め作業は、搬送面を停止させた状態で行っても良く、或いは、搬送面を移動させつつ実行しても良い。搬送装置５０やカメラ３０は省略可能である。
【００１４】
制御装置２００は、アーム１１０と、スクリュードライバー１４０と、搬送装置５０と、カメラ３０とを制御する。制御装置２００の機能は、例えば、プロセッサーとメモリーを備えるコンピューターがコンピュータープログラムを実行することによって実現される。制御装置２００は、複数のプロセッサーを用いて実現することも可能である。
【００１５】
図２Ａは、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００及びその制御装置２００の他に、パーソナルコンピューター５１０，５２０と、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター５１０，５２０は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００１６】
図２Ｂは、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００の制御装置２００が、ロボット１００の中に格納されている点が図２Ａと異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００１７】
図３は、制御装置２００の機能を示すブロック図である。制御装置２００は、プロセッサー２１０とメモリー２２０と表示装置２６０と入力装置２７０とを備えている。メモリー２２０は、メインメモリーと不揮発性メモリーとを含む。プロセッサー２１０は、メモリー２２０に予め格納されたプログラム命令２２２を実行することにより、アーム１１０を制御するアーム制御部２４０と、スクリュードライバー１４０を制御するドライバー制御部２５０の機能を実現する。ドライバー制御部２５０は、エンドエフェクターとしてのスクリュードライバー１４０を制御する機能を実現するものであり、エンドエフェクターの種類に応じてその機能が適宜変更される。すなわち、プロセッサー２１０は、エンドエフェクター制御部の機能を実現するように構成される。メモリー２２０には、ロボット１００の作業シーケンスを記述した制御プログラム２２４が予め作成されて格納されている。プロセッサー２１０は、この制御プログラム２２４を実行することによって、各種の作業をロボット１００に実行させる。入力装置２７０は、キーボードやマウスなどの入力デバイスであり、教示者や作業者による入力や設定が入力装置２７０を用いて行われる。なお、アーム制御部２４０とドライバー制御部２５０の機能の一部又は全部をハ―ドウェア回路で実現しても良い。
【００１８】
図４は、ロボット１００を用いて行うネジ締め作業を示す説明図である。このネジ締め作業は、スクリュードライバー１４０を用いて、ワークＷＫに形成されたネジ穴ＳＨにネジＳＣを螺合する作業である。ネジ締めの際には、スクリュードライバー１４０が回転した状態でスクリュードライバー１４０を−ｚ方向に目標力で押し込む力制御と、スクリュードライバー１４０を−ｚ方向に目標位置まで移動させる位置制御とが同時に実行される。このように、力制御と位置制御とを同時に実行する作業工程を「力／位置同時制御工程」と呼ぶ。以下に説明するように、力／位置同時制御工程としては、ネジ締め以外の種々の作業工程が存在する。
【００１９】
図５は、力／位置同時制御工程を実行可能なロボットシステムの他の構成例を示す説明図である。このロボットシステムは、ロボット３００と、ロボット３００に接続された制御装置２００とを備えている。ロボット３００は、２つのアーム３１０Ｌ，３１０Ｒを有する双腕ロボットである。アーム３１０Ｌ，３１０Ｒには、力検出部３３０Ｌ，３３０Ｒと、エンドエフェクターとしてのハンド３５０Ｌ，３５０Ｒとが装着されている。ハンド３５０Ｌ，３５０Ｒは、ワークや道具を把持可能な把持機構である。ロボット３００の頭部には、２つのカメラ３７０Ｌ，３７０Ｒが設けられている。図５では、図１で説明した安全扉ＤＲや物体検出部１６０は図示が省略されている。
【００２０】
ロボット３００は、ワークＷＫとしての箱体を２つのハンド３５０Ｌ，３５０Ｒの間に挟んで保持した状態で搬送する搬送作業を実行することが可能である。この搬送作業は、２つのハンド３５０Ｌ，３５０Ｒを互いに向かい合う方向に目標力で押す力制御と、２つのハンド３５０Ｌ，３５０Ｒの間に保持されたワークＷＫを目標位置まで移動させる位置制御とが同時に実行される力／位置同時制御工程である。このロボットシステムにおいて、アーム３１０Ｌ，３１０Ｒとエンドエフェクターであるハンド３５０Ｌ，３５０Ｒとを併せた機構が「可動部ＭＵ」に相当する。また、ハンド３５０Ｌ，３５０Ｒの先端が「接触部」に相当し、ワークＷＫが「対象物ＯＢ」に相当する。
【００２１】
図１及び図５に例示したように、力／位置同時制御工程としては種々の作業工程を実行可能である。以下の第１実施形態の説明では、主として図１に示したロボット１００を用いて、力／位置同時制御工程としてのネジ締め作業を行う場合について説明する。但し、以下の説明は、図５のロボット３００や他のロボットを用いた力／位置同時制御工程にも同様に適用可能である。
【００２２】
図６は、第１実施形態における力／位置同時制御工程の実行手順を示すフローチャートである。この工程は、制御部としてのプロセッサー２１０によって制御される。工程が開始された後、ステップＳ１３０では、予め定められた停止条件が成立したか否かが判定される。停止条件は、例えば、次の条件１〜５の少なくとも一つが成立したときに成立したものと定めることができる。
＜条件１＞安全扉ＤＲが開いたこと。
＜条件２＞作業者により、図示しない非常停止ボタンが押されたこと。
＜条件３＞作業者により、制御装置２００に停止命令が出されたこと。
＜条件４＞物体検出部１６０が、予め定められた距離閾値以下の距離において人などの物体を検出したこと。
＜条件５＞作業者がロボット１００に接触したこと。
【００２３】
上記条件５における接触の検出は、例えば、力検出部１３０が予期しない力を検出したか否かによって行うことができる。或いは、図示しない接触センサーをロボット１００の表面に設けて接触を検出しても良い。停止条件としては、上記条件１〜５以外の条件を使用しても良い。また、条件１〜５等の複数の条件が成立したときに停止条件が成立するものとしてもよい。
【００２４】
停止条件が成立しない場合にはステップＳ１４０に進み、そのまま位置制御と力制御を継続してステップＳ１５０に進む。ステップＳ１５０では、工程が終了したか否かが判定され、終了していなければステップＳ１３０に戻る。
【００２５】
一方、停止条件が成立した場合には、ステップＳ２１０に進み、位置制御を停止するとともに力制御を継続する。ここで、位置制御の停止直前の制御を「第１制御」と呼び、ステップＳ２１０における制御を「第２制御」又は「停止制御」と呼ぶ。図１及び図４で説明したネジ締め工程では、このステップＳ２１０で実行される第２制御において、スクリュードライバー１４０を−ｚ方向に移動させる位置制御を停止し、スクリュードライバー１４０を−ｚ方向に押し込む力制御はそのまま継続する。このときの目標力は、例えば、停止条件が成立したときの値に維持することが好ましい。但し、第２制御における目標力は、第１制御における目標力とやや異なる値に設定してもよい。この場合にも、第２制御における目標力は、第１制御における目標力を１００％としたときに１００±１０％以内の範囲の値に設定することが好ましく、１００±５％以内の範囲の値に設定することが更に好ましい。第２制御では、スクリュードライバー１４０の回転も停止される。この結果、アーム１１０とスクリュードライバー１４０で構成される可動部ＭＵの動作が停止するとともに、スクリュードライバー１４０の先端が、ネジＳＣの頭部に形成された凹みに嵌合した状態が維持される。
【００２６】
仮に、ステップＳ２１０において力制御も停止してしまう場合を想定すると、スクリュードライバー１４０がネジＳＣに押し付けられなくなるので、スクリュードライバー１４０の先端がネジＳＣの頭部の凹みから離間してしまう場合が発生する。こうなると、その後の作業の再開時に、スクリュードライバー１４０の先端をネジＳＣの頭部の凹みに再び嵌合させることが極めて困難となる。一方、第１実施形態では、ステップＳ２１０の停止制御において、位置制御を停止して力制御を継続するので、スクリュードライバー１４０の先端がネジＳＣの頭部の凹みから離間してしまうという不具合が発生する可能性を低減できる。
【００２７】
図５で説明したワークＷＫの搬送作業においても、同様に、ステップＳ２１０において力制御を停止してしまう場合を想定すると、２つのハンド３５０Ｌ，３５０ＲがワークＷＫを保持できなくなってしまい、ワークＷＫが落下してしまう可能性がある。一方、第１実施形態では、ステップＳ２１０の停止制御において位置制御を停止して力制御を継続するので、２つのハンド３５０Ｌ，３５０Ｒの間からワークＷＫが落下してしまうという不具合が発生する可能性を低減できる。
【００２８】
種々の実施形態で使用する力制御としては、下記の（１）式に従ったインピーダンス制御を行うことが好ましい。
【数１】
2020028925.tif 000003
【００２９】
（１）式の左辺は、ＴＣＰの位置Ｓの２階微分値に仮想慣性係数ｍを乗算した第１項と、ＴＣＰの位置Ｓの微分値に仮想粘性係数ｄを乗算した第２項と、ＴＣＰの位置Ｓに仮想弾性係数ｋを乗算した第３項とによって構成される。変数ｔは時間である。（１）式の右辺は、目標力から現実の作用力を減算した力偏差Δｆｓ（ｔ）である。ＴＣＰは、例えば、スクリュードライバー１４０の先端に設定される。
【００３０】
図６のステップＳ２１０の停止制御で実行される力制御では、仮想慣性係数ｍと仮想粘性係数ｄを、位置制御を停止する前の時点で使用していた値よりも大きくするようにしてもよい。換言すれば、ステップＳ２１０の第２制御の仮想慣性係数ｍを、位置制御の停止前の第１制御の仮想慣性係数ｍよりも大きく、また、第２制御の仮想粘性係数ｄを、位置制御の停止前の第１制御の仮想粘性係数ｄよりも大きくするようにしてもよい。こうすれば、可動部ＭＵと対象物ＯＢとの間の力の変動に対する可動部ＭＵの位置変化の応答性を低くすることができる。図１に示した例では、力が一時的に変動したときにもスクリュードライバー１４０の位置が変化しにくいので、スクリュードライバー１４０の先端がネジＳＣの頭部の凹みから離間してしまうという不具合が発生する可能性を低減できる。同様に、図５に示した例では、力が一時的に変動したときにもハンド３５０Ｌ，３５０Ｒの位置が変化しにくいので、ワークＷＫが落下してしまうという不具合が発生する可能性を低減できる。
【００３１】
ステップＳ２２０では、予め定められた再開条件が成立するか否かを判定する。再開条件は、例えば、ステップＳ１３０で成立した停止条件が解消されたことである。再開条件が成立しなければステップＳ２４０に進んで停止時の力制御を維持し、ステップＳ２２０に戻る。一方、再開条件が成立するとステップＳ２３０に進み、力／位置同時制御を再開する。この再開後は、ステップＳ１５０に進み、工程が終了したか否かが判定される。
【００３２】
以上のように、第１実施形態では、力制御を含む第１制御の実行中に予め定められた停止条件が成立した場合に可動部ＭＵの停止制御を実行する。この停止制御は、可動部ＭＵを停止した後に、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第２制御を含む制御である。このように、力制御を含む第１制御の実行中に停止条件が成立して可動部ＭＵを停止した後に、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第２制御を実行するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。
【００３３】
B. 第２実施形態：
図７は、第２実施形態における力／位置同時制御工程の実行手順を示すフローチャートである。第２実施形態は、力／位置同時制御工程の実行手順の一部が第１実施形態と異なるだけであり、装置構成は第１実施形態と同じである。図７が図６と異なる点は、ステップＳ２４０の後にステップＳ２４１〜Ｓ２４４を追加した点だけであり、他は図６と同じである。
【００３４】
ステップＳ２４１〜Ｓ２４３では、プロセッサー２１０は、可動部ＭＵに加わる力と、可動部ＭＵの移動量と、可動部ＭＵの速度とを監視し、これらの少なくとも１つの値が予め定められた閾値以上となった場合にステップＳ２４４に進んでエラー処理を実行する。可動部ＭＵの移動量は、ステップＳ２１０において位置制御を停止した時点を基準とした値である。エラー処理としては、例えば、力制御も停止してロボット１００を完全に停止させる処理や、作業者にアラームを報知する処理などを予め設定しておくことが可能である。
【００３５】
図７の例では、力と移動量と速度の３つの値について動作の制限を行っているが、これらのうちの１つの値のみを用いて制限を行ってもよく、或いは、任意の組み合わせを用いて制限を行ってもよい。この制限で使用する座標系としては、ロボット座標系や、ＴＣＰを基準としたツール座標系、ワークを基準としたワーク座標系、その他のローカル座標系等の任意の座標系を使用できる。また、その座標系において、座標軸毎に閾値や許容範囲を異なる値や範囲に設定してもよい。更に、その座標系の一部の座標軸に関してのみ制限を行うようにしても良い。また、移動量の閾値や許容範囲は、停止位置を基準とした相対距離で指定してもよく、或いは、ロボット座標系などの絶対座標系の座標値で指定してもよい。また、力と移動量と速度のうちの１つ以上の値により定められた条件が、予め決められた時間継続して成立した場合に動作の制限を行ってもよい。例えば、力が力閾値を一瞬だけ超えるのは許容し、力が力閾値を１秒連続して超えたときにエラー処理をするようにしても良い。
【００３６】
以上のように、第２実施形態においても、第１実施形態と同様に、力制御を含む第１制御の実行中に停止条件が成立して可動部ＭＵを停止した後に、停止条件が成立したときの目標力で可動部ＭＵを制御する第２制御を実行するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。また、第２実施形態では、停止制御後において、可動部ＭＵに加わる力と、可動部ＭＵの移動量と、可動部ＭＵの速度とのうちの少なくとも１つの値を監視して、その値が閾値以上となったときに予め設定されたエラー処理を実行するので、ステップＳ２１０で開始した停止制御の後に可動部ＭＵが予期しない状態になった場合にも、それに起因して何らかの不具合が発生する可能性を低減できる。
【００３７】
C. 第３実施形態：
図８は、第３実施形態における力／位置同時制御工程の実行手順を示すフローチャートである。第３実施形態は、力／位置同時制御工程の実行手順の一部が第１実施形態と異なるだけであり、装置構成は第１実施形態と同じである。図８が図６と異なる点は、ステップＳ２４０の後にステップＳ２４５，Ｓ２４６を追加した点だけであり、他は図６と同じである。
【００３８】
ステップＳ２４５では、ステップＳ２１０において位置制御を停止した後の可動部ＭＵの移動量が予め定められた閾値以上か否かが判定される。可動部ＭＵの移動量が予め定められた閾値に達していない場合には、そのままステップＳ２２０に戻る。一方、可動部ＭＵの移動量が予め定められた閾値以上となった場合にはステップＳ２４６に進み、力制御を終了して可動部ＭＵの位置を維持する制御を開始した後に、ステップＳ２２０に戻る。
【００３９】
図８のステップＳ２４５，Ｓ２４６を行う理由は以下の通りである。ステップＳ２１０から開始される第２制御において力を維持するためには、アーム１１０は動かなければならないが、アーム１１０の移動量が過度に大きくなると他の何らかの不具合が発生する場合が存在する。例えば、図４の例では、スクリュードライバー１４０の−ｚ方向の移動量が過度に大きくなると、ネジＳＣがワークＷＫ内に予想外の深さまで進入してしまう可能性がある。そこで、第３実施形態では、ステップＳ２１０から開始される第２制御において、可動部ＭＵの接触部の移動量が予め定められた閾値以上になった場合には、第２制御を終了して可動部ＭＵの位置を維持する制御に移行する。この結果、可動部ＭＵやその接触部の移動量が過度に大きくなることによる不具合が発生する可能性を低減できる。
【００４０】
以上のように、第３実施形態においても、第１実施形態と同様に、力制御を含む第１制御の実行中に停止条件が成立して可動部ＭＵを停止した後に、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第２制御を実行するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。また、第３実施形態では、第２制御において可動部ＭＵやその接触部の移動量が閾値以上になった場合に第２制御を終了して可動部ＭＵの位置を維持するので、可動部ＭＵやその接触部の移動量が過度に大きくなることによる不具合が発生する可能性を低減できる。
【００４１】
D. 第４実施形態：
図９は、第４実施形態で使用するロボットシステムの説明図である。このロボットシステムは、図１のロボットシステムのエンドエフェクターを、スクリュードライバー１４０からグリッパー１５０に変更したものである。このロボットシステムは、グリッパー１５０で把持した第１ワークＷＫ１を第２ワークＷＫ２に接着させる作業を行うことができる。この接着作業は、力制御に従って行われるが、力制御と同時には位置制御が行われない力制御工程である。このロボットシステムにおいて、アーム１１０とグリッパー１５０とを併せた機構が「可動部ＭＵ」に相当する。また、グリッパー１５０の把持部分が「接触部」に相当し、第１ワークＷＫ１が「対象物ＯＢ」に相当する。
【００４２】
図１０は、第４実施形態で実行される力制御工程としての接着工程を示す説明図である。ここでは、第１ワークＷＫ１の下面に接着剤ＡＤが塗布されており、この第１ワークＷＫ１が第２ワークＷＫ２の表面に押し付られて接着される。接着の際には、グリッパー１５０を−ｚ方向に目標力で押し込む力制御が実行されるが、このときに位置制御は実行されない。このように、力制御のみが実行される作業工程を「力制御工程」と呼ぶ。
【００４３】
図１１は、第４実施形態における力制御工程の実行手順を示すフローチャートである。図１１の手順は、図６のステップＳ１４０，Ｓ２１０，Ｓ２３０の内容を変更したものに相当する。
【００４４】
ステップＳ１３０において停止条件が成立しないと判定された場合には、ステップＳ１４０ａに進み、そのまま力制御を継続してステップＳ１５０に進む。ステップＳ１５０では、工程が終了したか否かが判定され、終了していなければステップＳ１３０に戻る。
【００４５】
一方、停止条件が成立した場合には、ステップＳ２１０ａに進み、可動部ＭＵの移動を停止するとともに、力制御を継続する停止制御を実行する。この停止制御としては、後述する第５実施形態で説明する各種の選択肢や設定に従った停止制御を実行するようにしてもよい。但し、このステップＳ２１０ａにおいても、第１実施形態のステップＳ２１０と同様に、停止条件が成立したときの力制御に維持することが好ましい。また、第１実施形態でも説明したように、ステップＳ２１０ａの第２制御の仮想慣性係数ｍを、可動部ＭＵの停止直前の第１制御の仮想慣性係数ｍよりも大きく、また、第２制御の仮想粘性係数ｄを、可動部ＭＵの停止直前の第１制御の仮想粘性係数ｄよりも大きくしてもよい。
【００４６】
ステップＳ２２０では、予め定められた再開条件が成立するか否かを判定し、再開条件が成立しなければステップＳ２４０に進んで停止時の制御を維持し、ステップＳ２２０に戻る。一方、再開条件が成立するとステップＳ２３０ａに進み、制御を再開して可動部ＭＵの移動を許容する。この再開後は、ステップＳ１５０に進み、工程が終了したか否かが判定される。
【００４７】
以上のように、第４実施形態においても、第１実施形態と同様に、力制御を含む第１制御の実行中に予め定められた停止条件が成立した場合に可動部ＭＵの停止制御を実行する。この停止制御は、可動部ＭＵを停止した後に、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第２制御を含む制御である。このように、力制御を含む第１制御の実行中に停止条件が成立して可動部ＭＵを停止した後に、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第２制御を実行するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。
【００４８】
第４実施形態に対しても、上述した第１実施形態で説明した種々の好ましい形態や、第２実施形態や第３実施形態で説明した第１実施形態からの変更部分を適用することが可能である。
【００４９】
E. 第５実施形態：
図１２は、第５実施形態で使用するロボットシステムの説明図である。このロボットシステムは、図９に示したロボットシステムと同じものであり、第２ワークＷＫ２が嵌合孔Ｈ２を有する点だけが図９と異なっている。このロボットシステムは、グリッパー１５０で把持した第１ワークＷＫ１を第２ワークＷＫ２の嵌合孔Ｈ２に嵌合させる嵌合作業を行うことができる。この嵌合作業は、力制御を利用した複数の工程を含む作業シーケンスに従って実行される。
【００５０】
図１３は、第５実施形態における作業シーケンスの実行手順を示すフローチャートである。ここでは、複数の工程を含む作業を記述した制御プログラムに従って制御装置２００がロボット１００を制御する場合を想定している。複数の工程を含む作業を、「作業シーケンス」と呼ぶ。図１３の手順は、図６の手順にステップＳ１００〜Ｓ１２０，Ｓ１６０を追加し、また、図６のステップＳ１４０，Ｓ２１０，Ｓ２３０，Ｓ２４０の内容を変更したものに相当する。
【００５１】
ステップＳ１００では、作業者が制御装置２００の入力装置２７０を用いて、作業シーケンスに含まれる複数の工程のそれぞれについて、ステップＳ２１０ｂで実行する停止制御の設定を行う。
【００５２】
図１４は、ステップＳ１００で使用されるウィンドウＷ１の一例を示している。この例では、作業シーケンスの全体が、接触工程と、探り工程と、押付け工程と、の３つの工程を示すオブジェクトＯＢ１〜ＯＢ３で表現されている。接触工程は、指定方向に可動部ＭＵを移動して、反力を受けたら停止する力制御工程である。探り工程は、指定方向の力が０となる位置を探る力制御工程である。押付け工程は、指定方向に指定の力で押し付ける力制御工程である。これらの３つの工程を順次実行することによって、図１２の第１ワークＷＫ１を第２ワークＷＫ２に嵌合させることができる。各工程における指定方向や目標力は、図示しないパラメーター設定ウィンドウ等を用いて別途設定される。
【００５３】
作業シーケンスを構成する複数の工程としては、上述した第１〜第３実施形態で説明したような力／位置同時制御工程や、第４実施形態で説明した力制御工程の他に、インピーダンス制御以外の力制御を行う工程や、力制御を行わずに位置制御を行う工程等の任意の種々の工程を利用することができる。
【００５４】
ウィンドウＷ１内の３つのオブジェクトＯＢ１〜ＯＢ３のいずれかを選択すると、そのオブジェクトで示される工程に関する停止制御の設定領域ＰＳが表示される。「停止制御」とは、図１３のステップＳ２１０ａで実行される制御を意味する。
【００５５】
停止制御の設定領域ＰＳでは、複数の項目をそれぞれ設定可能である。具体的には、停止タイミングと、停止制御の態様と、停止対象と、再開制御の態様の４つの項目について、それぞれ複数の選択肢の中から１つを選択できる。
【００５６】
（１）停止タイミングの選択肢の例：
停止タイミングの選択肢としては、例えば、「即時停止」と「工程終了時に停止」と「次工程に継続」とを利用可能である。
・「即時停止」は、停止条件が成立したときに、設定された停止方法で直ちに可動部ＭＵの動作を停止することを意味する。
・「工程終了後に停止」は、停止条件が成立しても、その工程では可動部ＭＵの動作を停止せずにその工程を終了させ、その工程の終了後に停止条件の成否を再度判定し、停止条件が成立する場合には設定された停止方法で可動部ＭＵを停止することを意味する。
・「次工程に継続」は、停止条件が成立しても、その工程では可動部ＭＵの動作を停止せずにその工程を終了させ、その次の工程における停止制御の設定に従うことを意味する。例えば、次工程の停止タイミングの設定が「即時停止」の場合には、次工程の開始時に停止条件を再度判定して、停止条件が成立する場合には即時に停止する。また、次工程の停止タイミングの設定が「工程終了後に停止」の場合には、次工程の終了後に停止条件を再度判定して、停止条件が成立する場合には次工程の終了後に停止する。また、次工程の停止タイミングの設定が「次工程に継続」の場合には、更に次の工程の設定に従って停止タイミングを決定する。
なお、停止条件が一度成立して、停止タイミングの設定に応じて動作の停止を延期している場合に、一定時間以上動作が続いたら強制的に動作を停止するようにしても良い。
【００５７】
（２）停止制御の態様の選択肢の例：
停止制御の態様の選択肢としては、「退避する」と「停止して位置を維持」と「停止して力を維持」とを利用可能である。
・「退避する」は、可動部ＭＵを退避位置へ移動して停止させることを意味する。
・・退避位置は、ユーザーが任意に設定する位置としてもよく、或いは、停止開始時の位置からの相対位置として設定してしてもいい。
・・退避動作は、位置制御で行ってもよく、力制御と位置制御の両方を使用して行ってもよい。例えば、可動部ＭＵの退避方向に垂直な方向の目標力を、退避方向の目標力よりも小さくする倣い制御に従って対象物ＯＢから可動部ＭＵを退避させるようにしてもよい。倣い制御に従って可動部ＭＵを退避させるようにすれば、可動部ＭＵの退避により対象物ＯＢに損傷などの不具合が発生する可能性を低減できる。好適には、可動部ＭＵの退避方向に垂直な方向の目標力を０にしてもよい。
・「停止して位置を維持」は、可動部ＭＵをその場で停止して、その位置に留まることを意味する。
・「停止して力を維持」は、可動部ＭＵをその場で停止して、指定された目標力を維持することを意味する。これは、第１実施形態において図６のステップＳ２１０で実行した第２制御において、目標力を停止前の第１制御と同じ値に維持する場合と同じである。但し、第１実施形態で説明したように、第２制御での目標力を第１制御での目標力と異なる値に設定するようにしてもよい。この場合には、設定領域ＰＳに、第２制御での目標力を作業者が予め指定するフィールドを設けてもよい。
【００５８】
（３）停止対象の選択肢の例：
停止対象の選択肢としては、例えば、「第１アーム」と「第２アーム」と「第１アーム及び第２アーム」とを利用可能である。前述した図１，図９，図１１のロボット１００は単腕ロボットなので、「第１アーム」のみを選択可能である。図５のロボット３００は双腕ロボットなので、３つの選択肢のいずれも選択可能である。
【００５９】
（４）再開制御の態様の選択肢の例：
再開制御の態様の選択肢としては、例えば、「中断した工程を再開」と「別の工程から開始」と「ワークを交換して再実行」とを利用可能である。
・「中断した工程を再開する」は、可動部ＭＵを停止した位置から中断工程を再開することを意味する。
・・停止時に可動部ＭＵが退避していた場合には、中断した工程を再開する前に停止開始位置へ戻り、停止開始時の力の状態を再現してから中断した工程を再開してもよい。この場合に、力制御中に可動部ＭＵを停止した場合には、停止開始位置では可動部ＭＵと対象物ＯＢが接触状態である場合があるので、停止開始位置に戻るときに力制御を実行しながら戻ることが好ましい。
・・再開時には、停止時の可動部ＭＵの速度に合わせてから再開するようにしてもよい。
・・停止時に目標力を維持している場合には、その維持状態での可動部ＭＵの移動量に応じて、その場から再開したり、停止位置に戻ってから再開したりするようにしてもよい。
・「別の工程から開始する」とは、中断した工程を破棄して、これとは異なる工程を開始することを意味する。この選択肢のために、設定領域ＰＳに、別の工程を指定するためのフィールドを設けても良い。
・・別の工程は、中断した前の工程でもよく、或いは、中断した工程の次の工程でもよい。
・・別の工程は、作業シーケンスの最初の構成に戻るなど、中断した工程とは連続していない工程を選択してもよい。
・「ワークを交換して再実行」とは、中断した工程で使用していた古いワークを新たなワークに交換してその工程を再開することを意味する。
・・古いワークは、予め定められた位置へ退避させてもよい。この退避位置は、停止位置から相対距離で指定してもよい。
【００６０】
上述したウィンドウＷ１及び設定領域ＰＳを用いた停止制御の設定は、単なる一例であり、これ以外の種々の設定を使用可能である。但し、停止制御の設定としては、停止制御を開始するタイミングである停止タイミングと、停止制御の態様と、の組み合わせを含む設定を使用することが好ましい。また、停止制御の態様としては、停止条件が成立したときの力制御を継続して可動部ＭＵを制御する第１態様と、第１態様とは異なる制御設定で可動部ＭＵを制御する第２態様とを含む複数の態様のいずれかを選択できるものとすることが好ましい。このように、個々の工程について停止条件が成立した場合に停止制御を開始するタイミングと停止制御の態様との組み合わせを予め記憶しておき、その組み合わせに従って停止制御を実行するようにすれば、個々の工程に適した停止制御を実行できるという利点がある。
【００６１】
また、停止制御の複数の態様としては、可動部ＭＵを対象物ＯＢから退避させる態様を含むことが好ましい。こうよれば、停止制御において可動部ＭＵを対象物ＯＢから退避させるので、可動部ＭＵと対象物ＯＢとの干渉等による不具合が発生する可能性を低減できる。また、この態様において、可動部ＭＵの退避方向に垂直な方向の目標力を、退避方向の目標力よりも小さくする倣い制御に従って対象物ＯＢから可動部ＭＵを退避させるようにしてもよい。こうすれば、倣い制御に従って可動部ＭＵを退避させるので、可動部ＭＵの退避により対象物ＯＢに損傷などの不具合が発生する可能性を低減できる。
【００６２】
図１４の例では、個々の設定の選択肢のみを描いているが、このウィンドウＷ１や他のウィンドウを用いて、個々の設定に関連するパラメーターを別途入力できるようにしてもよい。
【００６３】
なお、各工程に対する停止制御の設定は、各工程の内容や名称に応じて自動的に行われるようにしてもよい。具体的には、図１４で例示した「接触工程」と「探り工程」と「押付工程」は、それぞれ予め定められた動作内容を有し、固有の名称が付されている。これらの工程の停止制御について、予め定められた初期設定がなされていても良い。また、工程の内容によっては、停止制御の設定のうちの１つ以上の項目や選択肢を選択できないようにしてもよい。
【００６４】
こうして、図１３のステップＳ１００で停止制御に関する設定が行われると、その設定内容がメモリー２２０に記憶される。また、後述するステップＳ２１０ｂの停止制御やステップＳ２３０ｂの再開制御では、現在の工程に関する設定が読み出されて使用される。
【００６５】
ステップＳ１１０では、１つの工程を選択し、ステップＳ１２０ではその工程を開始する。ステップＳ１３０では、予め定められた停止条件が成立したか否かが判定される。停止条件としては、第１実施形態と同様に、下記の条件１〜５等やそれらの組み合わせを利用することができる。
＜条件１＞安全扉ＤＲが開いたこと。
＜条件２＞作業者により、図示しない非常停止ボタンが押されたこと。
＜条件３＞作業者により、制御装置２００に停止命令が出されたこと。
＜条件４＞物体検出部１６０が、予め定められた距離閾値以下の距離において人などの物体を検出したこと。
＜条件５＞作業者がロボット１００に接触したこと。
【００６６】
第５実施形態において、上記条件４において物体の接近を検知する場合に、物体の接近速度が予め定められた速度閾値以上であるという条件を加えても良い。また、物体の接近回数や、接近状態にある時間を組み合わせた条件としてもよい。また、上記条件５において接触を検出する場合に、接触力の強さや方向、接触回数、接触の継続時間などを組み合わせた条件としてもよい。また、これらの細かい条件の成否に応じて停止制御の内容を異なるものとするように、ステップＳ１００で停止制御の設定を行うようにしてもよい。
【００６７】
また、同一の事象に対して、複数の条件を別の停止条件として設定してもよい。例えば、上記条件４の接近検知の条件としては、接近速度が第１閾値以上である第１状況と、第１閾値よりも大きい第２閾値以上である第２状況とに分けて、第１状況と第２状況とを異なるものと判定し、停止制御や再開制御の態様として異なる態様を選択するようにしてもよい。更に、これらに加えて、アーム１１０の位置や、アーム１１０の速度、工程の進捗状態、次の停止判定までの時間などを組み合わせて停止条件としてもよい。
【００６８】
ステップＳ１３０において停止条件が成立しない場合にはステップＳ１４０ｂに進み、そのまま制御を継続してステップＳ１５０に進む。ステップＳ１５０では、工程が終了したか否かが判定され、終了していなければステップＳ１３０に戻る。
【００６９】
ステップＳ１３０において停止条件が成立した場合には、ステップＳ２１０ｂに進み、ステップＳ１００で設定された停止タイミングと、停止制御の態様と、停止対象とに従って停止制御を実行する。図１４で説明した停止タイミングでは、「工程終了時に停止」や「次工程に継続」が選択肢とされているが、図１３のフローチャートでは、図示の便宜上、「即時停止」の場合に即した順番でステップが配置されている。
【００７０】
ステップＳ２２０では、予め定められた再開条件が成立するか否かを判定する。再開条件が成立しなければステップＳ２４０ｂに進んで停止時の制御を維持し、ステップＳ２２０に戻る。一方、再開条件が成立するとステップＳ２３０ｂに進み、ステップＳ１００で設定された再開制御の態様に従って制御を再開する。再開後は、ステップＳ１５０に進み、工程が終了したか否かが判定される。
【００７１】
以上のように、第５実施形態では、作業シーケンスに含まれる複数の工程のそれぞれについて、停止条件が成立した場合の停止タイミングと停止制御の態様との組み合わせをメモリー２２０に記憶しておき、停止条件が成立した場合にその組み合わせに従って可動部ＭＵを制御する。従って、個々の工程に適した停止制御を実行することが可能である。
【００７２】
F. 他の実施形態：
本発明は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本発明は、以下の形態（aspect）によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本発明の課題の一部又は全部を解決するために、あるいは、本発明の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【００７３】
（１）本発明の第１の形態によれば、可動部と、前記可動部と接触する対象物から前記可動部に加えられた力を検出する力検出部とを備えるロボットを制御する制御装置が提供される。この制御装置は、前記力検出部の出力に応じて前記可動部を力制御する制御部を備え、前記制御部は、予め定められた停止条件が成立した場合に前記可動部の停止制御を実行し、前記停止制御は、前記力制御を含む第１制御の実行中に前記停止条件が成立した場合、前記力制御を継続して前記可動部を制御する第２制御を含む。
この制御装置によれば、力制御を含む第１制御の実行中に停止条件が成立した場合に、力制御を継続して可動部を制御するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。
【００７４】
（２）前記制御装置において、前記力制御は、仮想慣性係数と仮想粘性係数を用いたインピーダンス制御であり、前記第２制御の前記仮想慣性係数は、前記第１制御の前記仮想慣性係数よりも大きく、前記第２制御の前記仮想粘性係数は、前記第１制御の前記仮想粘性係数よりも大きいものとしてもよい。
この制御装置によれば、第２制御の仮想慣性係数や仮想粘性係数を第１制御よりも大きくするので、第２制御において可動部と対象物との間の力の変動に対する可動部の位置変化の応答性を低くすることができ、可動部の位置が大きく変動することによって不具合が発生する可能性を低減できる。
【００７５】
（３）前記制御装置において、前記可動部は、前記対象物と接触する接触部を有し、前記制御部は、前記第２制御における前記接触部の移動量が予め定められた閾値以上になった場合には、前記第２制御を終了して前記可動部の位置を維持するものとしてもよい。
この制御装置によれば、第２制御において接触部の移動量が閾値以上になった場合に第２制御を終了して可動部の位置を維持するので、接触部の移動量が過度に大きくなることによる不具合が発生する可能性を低減できる。
【００７６】
（４）前記制御装置において、前記ロボットの作業シーケンスは、力制御を利用する複数の工程を含み、前前記制御部は、前記第２制御を含む第１態様と、前記第２制御と異なる制御設定に従って前記可動部を制御する第２態様と、を含む前記停止制御の態様を選択可能であり、前記停止条件が成立した場合に、前記複数の工程のそれぞれについて予め設定されている、前記停止制御の態様と前記停止制御を開始するタイミングとの組み合わせに従って前記可動部を制御するものとしてもよい。
この制御装置によれば、個々の工程について停止条件が成立した場合に停止制御を開始するタイミングと停止制御の態様との予め設定された組み合わせに従って停止制御を実行するので、個々の工程に適した停止制御を実行できる。
【００７７】
（５）前記制御装置において、前記停止制御の態様は、前記可動部を前記対象物から退避させる第３制御を実行する第３態様を含むものとしてもよい。
この制御装置によれば、停止制御において可動部を対象物から退避させるので、可動部と対象物との干渉等による不具合が発生する可能性を低減できる。
【００７８】
（６）前記制御装置において、前記制御部は、前記第３制御において、前記可動部の退避方向に垂直な方向の目標力を、前記退避方向の目標力よりも小さくする倣い制御に従って前記対象物から前記可動部を退避させるものとしてもよい。
この制御装置によれば、倣い制御に従って可動部を退避させるので、可動部の退避により対象物に損傷などの不具合が発生する可能性を低減できる。
【００７９】
（７）前記制御装置において、前記停止制御を開始するタイミングは、前記工程の終了時を含むものとしてもよい。
この制御装置によれば、停止条件が成立しても、その工程が終了まで作業を停止しないので、作業中に停止することによって不具合が発生する可能性を低減できる。
【００８０】
（８）前記制御装置において、前記停止制御を開始するタイミングは、前記停止条件が成立した工程の次の工程について設定されている停止制御の開始タイミングを含むものとしてもよい。
この制御装置によれば、停止条件が成立した工程において作業を停止するのが不適切である場合に、次の工程に設定されている開始タイミングで停止制御を行うので、より適切なタイミングで停止制御を実行できる。
【００８１】
（９）前記制御装置において、前記組み合わせは、前記停止制御により中断した工程を再開する再開制御の態様を含むものとしてもよい。
この制御装置によれば、停止制御により中断した工程を再開する際の再開制御の態様を予め記憶しておくので、各工程に適した再開制御を実行できる。
【００８２】
（１０）前記制御装置において、前記再開制御の態様は、前記停止制御により中断した工程とは異なる工程から再開する態様を含むものとしてもよい。
この制御装置によれば、中断した工程から再開すると不具合が発生する場合に、異なる工程から再開することによって不具合の発生の可能性を低減できる。
【００８３】
（１１）本発明の第２の形態によれば、ロボットシステムが提供される。このロボットシステムは、可動部と、前記可動部と接触する対象物から前記可動部に加えられた力を検出する力検出部とを備えるロボットと、上記制御装置と、を備える。
このロボットシステムによれば、力制御を含む第１制御の実行中に停止条件が成立して可動部を停止した後に、停止条件が成立したときの力制御を継続して可動部を制御するので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。
【００８４】
（１２）本発明の第３の形態によれば、ロボットが提供される。このロボットは、対象物から前記ロボットに加えられる力を検出する力検出部と、力検出部の出力に応じて力制御される可動部と、を備え、前記可動部は、前記力制御の実行中に予め定められた停止条件が成立した場合に動作を停止し、前記停止の後に前記停止条件が成立したときの力制御を継続した状態で制御される。
このロボットによれば、力制御の実行中に停止条件が成立して可動部が停止した後に、停止条件が成立したときの力制御を継続して可動部が制御されるので、力制御の実行中に作業を停止した場合に不具合が発生する可能性を低減できる。
【００８５】
本発明は、上記以外の種々の形態で実現することも可能である。例えば、ロボットとロボット制御装置とを備えたロボットシステム、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体（non-transitory storage medium）等の形態で実現することができる。
【符号の説明】
【００８６】
３０…カメラ、５０…搬送装置、５０ａ，５０ｂ…搬送ローラー、１００…ロボット、１１０…アーム、１２０…アームフランジ、１３０…力検出部、１４０…スクリュードライバー、１５０…グリッパー、１６０…物体検出部、２００…制御装置、２１０…プロセッサー、２２０…メモリー、２２２…プログラム命令、２２４…制御プログラム、２４０…アーム制御部、２５０…ドライバー制御部、２６０…表示装置、２７０…入力装置、３００…ロボット、３１０Ｌ，３１０Ｒ…アーム、３３０Ｌ，３３０Ｒ…力検出部、３５０Ｌ，３５０Ｒ…ハンド、３７０Ｌ，３７０Ｒ…カメラ、５００…クラウドサービス、５１０，５２０…パーソナルコンピューター
【図１】
2020028925.tif 000004
【図２Ａ】
2020028925.tif 000005
【図２Ｂ】
2020028925.tif 000006
【図３】
2020028925.tif 000007
【図４】
2020028925.tif 000008
【図５】
2020028925.tif 000009
【図６】
2020028925.tif 000010
【図７】
2020028925.tif 000011
【図８】
2020028925.tif 000012
【図９】
2020028925.tif 000013
【図１０】
2020028925.tif 000014
【図１１】
2020028925.tif 000015
【図１２】
2020028925.tif 000016
【図１３】
2020028925.tif 000017
【図１４】
2020028925.tif 000018