(57)【要約】【課題】処理対象である領域に急激な傾きを有する凹凸が存在する場合にも、継続的に作業を行うことを可能にする。【解決手段】対象物に対して作業を行う作業部が取り付けられ作業部を移動させる可動部を有するロボットを制御する制御装置である。制御装置は、対象物と作業部との間の距離を検出する距離検出部からの出力を受け取って、第１設定と第２設定を含む複数の設定にしたがって、可動部を制御する制御部と、（ａ）距離検出部からの出力に基づいて可動部による作業部の移動が行われているときに、距離または距離の変化率があらかじめ定められた基準範囲外となった場合に、作業部の移動を停止させる第１設定と、（ｂ）距離検出部からの出力に基づいて作業部の移動が行われているときに、距離または変化率が基準範囲外となった場合に、距離検出部からの出力に基づかずに、作業部の移動を継続させる第２設定と、を選択的に受け付ける受付部と、を備える。【選択図】図４
2020049614.tif 000002
【特許請求の範囲】
【請求項１】
対象物に対して作業を行う作業部を移動させる可動部を有するロボットを制御する制御装置であって、
前記作業部が取り付けられた前記可動部を制御する制御部と、
第１設定、または、第２設定を受け付ける受付部と、を備え、
前記受付部が前記第１設定を受け付けており、前記対象物と前記作業部との間の距離を検出する距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離検出部が検出した前記距離または前記距離の変化率があらかじめ定められた基準範囲外となった場合、前記制御部が前記作業部の移動を停止させ、
前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部が前記距離検出部からの出力に基づかずに前記作業部を移動させる、制御装置。
【請求項２】
請求項１記載の制御装置であって、
前記受付部は、前記ロボットの制御点の目標位置の入力を受け付け、
前記受付部が前記第２設定を受け付けており、前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部は前記目標位置に基づいて前記作業部を移動させる、制御装置。
【請求項３】
請求項１または２記載の制御装置であって、
前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づかずに前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲内となった場合、前記制御部は前記距離検出部からの出力に基づいて前記可動部による前記作業部の移動を行う、制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置であって、
前記受付部が前記第２設定を受け付けており、前記距離または前記変化率が前記基準範囲外となってからあらかじめ定められた時間が経過した場合、前記制御部は前記作業部の移動を停止させる、制御装置。
【請求項５】
請求項１から４のいずれか１項に記載の制御装置であって、
前記受付部が前記第２設定を受け付けており、前記距離が前記基準範囲外となる直前の前記距離が前記基準範囲の上限値よりも下限値に近い場合、前記制御部は前記作業部の移動において、前記作業部を前記対象物から遠ざける、制御装置。
【請求項６】
請求項５記載の制御装置であって、
前記受付部が前記第２設定を受け付けており、前記距離が前記基準範囲外となる直前の前記距離が前記基準範囲の下限値よりも上限値に近い場合、前記制御部は前記作業部の移動において、前記作業部を前記対象物に近づける、制御装置。
【請求項７】
請求項６記載の制御装置であって、
前記制御部は、
前記作業部を前記対象物から遠ざける移動において、前記作業部を前記対象物から遠ざける距離は、前記上限値と前記下限値との差以下の距離であり、
前記作業部を前記対象物に近づける移動において、前記作業部を前記対象物に近づける距離は、前記上限値と前記下限値との差以下の距離である、制御装置。
【請求項８】
請求項１から７のいずれか１項に記載の制御装置であって、
前記作業部は、前記作業において、前記対象物に吐出される吐出物を吐出する、制御装置。
【請求項９】
請求項１から８のいずれか１項に記載の制御装置であって、
前記距離検出部は、前記可動部または前記作業部に取り付けられている、制御装置。
【請求項１０】
請求項１から９のいずれか１項に記載の制御装置であって、
前記制御部は、前記距離検出部からの出力に基づく前記作業部の移動において、前記対象物と前記作業部との間の前記距離が一定となるように、フィードバック制御を行う、制御装置。
【請求項１１】
請求項１から１０のいずれか１項に記載の制御装置と、
前記制御装置に制御される前記ロボットと、を備える、ロボットシステム。
【請求項１２】
作業部による作業が行われる対象物を保持し前記対象物を移動させる可動部を有するロボットを制御する制御装置であって、
前記可動部を制御する制御部と、
第１設定、または、第２設定を受け付ける受付部と、を備え、
前記受付部が前記第１設定を受け付けており、前記対象物と前記作業部との間の距離を検出する距離検出部からの出力に基づいて前記可動部による前記対象物の移動が行われているときに、前記距離検出部が検出した前記距離または前記距離の変化率があらかじめ定められた基準範囲外となった場合、前記制御部が前記対象物の移動を停止させ、
前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づいて前記可動部による前記対象物の前記移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部が前記距離検出部からの出力に基づかずに前記対象物を移動させる、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボットを制御する制御装置、およびロボットシステム。
【背景技術】
【０００２】
従来、塗料などの液状物を、定められた部位に塗布する技術が存在する。特許文献１の技術においては、塗装ロボットの運行方向に位置する距離センサーと、それ以外の距離センサーからのデータを制御コントローラーに取込み、運行方向ではない部位に位置する３つの距離センサーのうち１以上の距離センサーが検出する距離が１つでも許容範囲を超える場合に、塗装ヘッドの位置と傾きを正常に戻す。その結果、被塗物面と塗装ノズルの距離、ならびに塗装ヘッドの位置及び傾きを修正しながら塗装が行われる。距離センサーは、一定の位置範囲についてのみ、対象物までの距離を検知して、距離のデータを出力することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１９４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術は、処理対象である領域に急激な傾きを有する凹凸が存在する場合には、塗装ノズルが対象物の表面形状に追従できないために距離センサーからのデータが得られなかったり、距離の変化率があらかじめ定められた基準範囲外となり、頻繁に塗装作業が停止され、効率的に処理を行うことができないおそれがあった。
【課題を解決するための手段】
【０００５】
本開示の一形態によれば、対象物に対して作業を行う作業部を移動させる可動部を有するロボットを制御する制御装置が提供される。この制御装置は、前記作業部が取り付けられた前記可動部を制御する制御部と、第１設定、または、第２設定を受け付ける受付部と、を備え、前記受付部が前記第１設定を受け付けており、前記対象物と前記作業部との間の距離を検出する距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離検出部が検出した前記距離または前記距離の変化率があらかじめ定められた基準範囲外となった場合、前記制御部が前記作業部の移動を停止させ、前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部が前記距離検出部からの出力に基づかずに前記作業部を移動させる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係るロボットシステム１のハードウェア構成を示す図である。
【図２】ロボット制御装置２５のブロック図である。
【図３】ロボットシステム１を動作させる際の処理を示すフローチャートである。
【図４】図３のステップＳ３００におけるロボットの制御の内容を示すフローチャートである。
【図５】図４のステップＳ３１０の処理内容を示す説明図である。
【図６】図４のステップＳ３２０の処理内容を示す説明図である。
【図７】図４のステップＳ３５０の処理内容を示す説明図である。
【図８】図４のステップＳ３６０を経てステップＳ３１０で行われる処理内容を示す説明図である。
【図９】第２実施形態における、図４のステップＳ３５０内の詳細な処理を示すフローチャートである。
【図１０】図９のステップＳ３５４における処理を示す説明図である。
【図１１】図９のステップＳ３５６における処理を示す説明図である。
【図１２】図４のステップＳ３１０〜Ｓ３２０におけるロボットの制御の内容を示すフローチャートである。
【図１３】図１２のステップＳ３１５，Ｓ３１７の処理内容を示す説明図である。
【図１４】本実施形態に係るロボットシステム１ｄのハードウェア構成を示す図である。
【図１５】複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
【図１６】複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。
【発明を実施するための形態】
【０００７】
Ａ．第１実施形態：
（１）ロボットシステムの構成：
図１は、本実施形態に係るロボットシステム１のハードウェア構成を示す図である。ロボットシステム１は、ワークＷＫに対して所定の作業を行う。より具体的には、ロボットシステム１は、ワークＷＫの上端面に対して、接着剤の塗布を行う。
【０００８】
ロボットシステム１は、ロボット２０と、ロボット制御装置２５を備える。ロボット制御装置２５は、ロボット２０を制御する。ロボット制御装置２５は、動作制御装置３０と、教示装置５０とによって構成される。
【０００９】
ロボット２０は、アームＡｍと、アームＡｍを支持する支持台Ｂｓと、を備える単腕ロボットである。アームＡｍは、６軸の垂直多関節型のアームである。アームＡｍは、６個のアーム部材であるリンクＬ１〜リンクＬ６と、６つの関節である関節Ｊ１〜Ｊ６を備える。関節Ｊ２、関節Ｊ３、関節Ｊ５は、曲げ関節であり、関節Ｊ１、関節Ｊ４、関節Ｊ６は、ねじり関節である。
【００１０】
支持台ＢｓとリンクＬ１は、関節Ｊ１を介して接続されている。リンクＬ１とリンクＬ２は、関節Ｊ２を介して接続されている。リンクＬ２とリンクＬ３は、関節Ｊ３を介して接続されている。リンクＬ３とリンクＬ４は、関節Ｊ４を介して接続されている。リンクＬ４とリンクＬ５は、関節Ｊ５を介して接続されている。リンクＬ５と、リンクＬ６およびエンドエフェクターＥＥとは、関節Ｊ６を介して接続されている。アームＡｍの先端には、エンドエフェクターＥＥが取り付けられている。アームＡｍと、エンドエフェクターＥＥとは、ケーブルによって、ロボット制御装置２５の動作制御装置３０と、通信可能に接続されている。
【００１１】
アームＡｍは、エンドエフェクターＥＥを、３次元空間内において移動させることができる。エンドエフェクターＥＥの位置は、ＴＣＰ（Tool  Center  Point）によって規定される。本実施形態において、ＴＣＰは、関節Ｊ６の回転軸上にある。動作制御装置３０は、アームＡｍを駆動することによって、ロボット座標系ＲＣにおいて制御点としてのＴＣＰの位置を制御する。
【００１２】
本実施形態においては、支持台Ｂｓの位置を基準として、ロボット２０が設置された空間を規定する座標系を、ロボット座標系ＲＣと表す。ロボット座標系ＲＣは、水平面上において互いに直交するＸ軸およびＹ軸と、鉛直上向きを正方向とするＺ軸とによって規定される三次元直交座標系である。本明細書において、単に「Ｘ軸」と称した場合、ロボット座標系ＲＣにおけるＸ軸のことを表す。単に「Ｙ軸」と称した場合、ロボット座標系ＲＣにおけるＹ軸のことを表す。単に「Ｚ軸」と称した場合、ロボット座標系ＲＣにおけるＺ軸のことを表す。ロボット座標系ＲＣにおける任意の位置は、Ｘ軸方向の位置ＤＸと、Ｙ軸方向の位置ＤＹと、Ｚ軸方向の位置ＤＺとにより特定できる。
【００１３】
本実施形態においては、Ｘ軸周りの回転位置を角度位置ＲＸによって表す。Ｙ軸周りの回転位置を角度位置ＲＹによって表す。Ｚ軸周りの回転位置を角度位置ＲＺによって表す。ロボット座標系ＲＣにおける任意の姿勢は、Ｘ軸周りの角度位置ＲＸ、Ｙ軸周りの角度位置ＲＹ、Ｚ軸周りの角度位置ＲＺにより表現できる。
【００１４】
本明細書において、「位置」と表記した場合、狭義の位置に加えて姿勢をも意味する。「力」と表記した場合、３次元空間において向きと大きさによって規定される狭義の力に加えて、Ｘ軸周り、Ｙ軸周り、およびＺ軸周りの回転方向に作用するトルクも意味し得る。
【００１５】
エンドエフェクターＥＥは、ワークＷＫに対して作業を行う作業部として機能する。より具体的には、エンドエフェクターＥＥは、ワークＷＫに付着させる流動体Ｐｓを吐出するディスペンサーである。流動体Ｐｓは、接着剤である。ディスペンサーのノズルの内径は、本実施形態において０．３３ｍｍである。エンドエフェクターＥＥは、ロボット２０のアームＡｍによって、ワークＷＫに対して、移動される。
【００１６】
本実施形態においては、制御点としてのＴＣＰを基準として空間を規定する座標系を、手先座標系ＨＣと表す。手先座標系ＨＣは、ＴＣＰを原点として、関節Ｊ６の回転軸方向に、エンドエフェクターＥＥに対してアームＡｍのリンクＬ６とは逆の方向に伸びるＺ軸と、Ｚ軸に対して直交するＸ軸と、Ｚ軸およびＸ軸に対して直交するＹ軸とによって規定される三次元直交座標系である。
【００１７】
エンドエフェクターＥＥには、距離検出部Ｓｄが設けられている。距離検出部Ｓｄは、ＴＣＰから手先座標系ＨＣのＺ軸正方向にエンドエフェクターＥＥから離れた位置にある対象物と、距離検出部Ｓｄと、の間の距離を測定することができる。距離検出部Ｓｄは、アームＡｍの先端のリンクＬ６およびエンドエフェクターＥＥに対して固定されている。このため、距離検出部Ｓｄの出力に基づいて、対象物とエンドエフェクターＥＥとの間の距離を測定することができる。距離検出部Ｓｄは、対象物とエンドエフェクターＥＥとの間の距離を表す出力を、動作制御装置３０に送信する。動作制御装置３０は、距離検出部Ｓｄからの出力を受け取って、アームＡｍの動作を制御し、その結果として、アームＡｍの先端に取りつけられたエンドエフェクターＥＥの位置を制御する。
【００１８】
距離検出部Ｓｄは、具体的には、レーザー変位計である。距離検出部Ｓｄは、半導体レーザーＳｄｅと、受光素子Ｓｄｒを備える。半導体レーザーＳｄｅは、レーザー光を射出する。距離検出部Ｓｄは、対象物によるレーザー光の反射光を受光素子Ｓｄｒで受け取ることにより、対象物までの距離を測定する。距離検出部Ｓｄは、距離検出部Ｓｄから一定の距離の範囲にある対象物についてのみ、距離検出部Ｓｄから対象物までの距離を測定することができる。
【００１９】
ワークＷＫは、長方形のシートが丸められて形成された筒状物である。ロボット２０は、シートの端が渦状に配されたワークＷＫの上端面に、吐出物としての流動体Ｐｓを塗布する作業を行う。
【００２０】
図２は、ロボット制御装置２５のブロック図である。ロボット制御装置２５は、動作制御装置３０と、教示装置５０とによって構成される。動作制御装置３０は、ユーザーによる教示作業によって設定された目標位置にＴＣＰが位置するように、ロボット２０のアームＡｍを制御する。動作制御装置３０は、プロセッサーであるＣＰＵ（Central Processing Unit）３０ａと、ＲＡＭ（Random Access Memory）３０ｂと、ＲＯＭ（Read−Only Memory）３０ｃと、を備える。動作制御装置３０には、ロボット２０の制御を行うための制御プログラムがインストールされている。動作制御装置３０においては、これらのハードウェア資源と制御プログラムとが協働する。
【００２１】
動作制御装置３０は、ある目標位置から次の目標位置への移動において、距離検出部Ｓｄからの出力に基づいて、アームＡｍによるエンドエフェクターＥＥの移動を行うことができる。より具体的には、動作制御装置３０は、対象物とエンドエフェクターＥＥとの間の距離が一定となるように、アームＡｍのフィードバック制御を行うことができる。ロボット２０は、そのようなフィードバック制御を行いつつ、たとえば、エンドエフェクターＥＥの位置を１００ｍｍ／ｓで移動させることができる。
【００２２】
本実施形態のロボットシステム１は、ワークＷＫが、処理対象である領域に、フィードバック制御において追従できないような急激な傾きを有する凹凸を有する場合にも、後述する第２設定において、作業を行うことができる。なお、動作制御装置３０は、距離検出部Ｓｄからの出力に基づかずに、アームＡｍによるエンドエフェクターＥＥの移動を行うこともできる。
【００２３】
教示装置５０は、動作制御装置３０に目標位置を教示する。教示装置５０は、ＣＰＵ５０ａと、ＲＡＭ５０ｂと、ＲＯＭ５０ｃと、を備える。教示装置５０には、動作制御装置３０に目標位置を教示するための教示プログラムがインストールされている。教示装置５０においては、これらのハードウェア資源と教示プログラムとが協働する。
【００２４】
図１に示すように、教示装置５０は、さらに、入力装置５７と、出力装置５８を備える。入力装置５７は、例えば、マウス、キーボード、タッチパネル等であり、ユーザーからの指示を受け付ける。出力装置５８は、例えば、ディスプレイやスピーカー等であり、ユーザーに各種の情報を出力する。
【００２５】
（２）ロボットシステムの動作：
図３は、ロボットシステム１を動作させる際の処理を示すフローチャートである。ステップＳ１００において、ユーザーは、教示装置５０を介して、動作制御装置３０に、作業におけるロボット２０の制御点の１以上の目標位置を教示する。より具体的には、ユーザーは、入力装置５７を介して教示装置５０に各目標位置を入力する。教示装置５０は、ユーザーからの制御点の１以上の目標位置の入力を受け付けて、入力された各目標位置を動作制御装置３０に送信する。動作制御装置３０は、受信した１以上の目標位置を、ＲＡＭ３０ｂに格納し、作業において、各目標位置を順にＴＣＰが通過するように、アームＡｍを制御する。図２において、ユーザーからの目標位置の入力を受け付ける教示装置５０のＣＰＵ５０ａの機能部を、受付部５３として示す。動作制御装置３０のＲＡＭ３０ｂに格納された目標位置を表す情報を、動作情報Ｉｏとして示す。
【００２６】
ステップＳ２００において、ユーザーは、教示装置５０を介して、動作制御装置３０に動作設定を指定する。より具体的には、ユーザーは、入力装置５７を介して、教示装置５０に、作業の動作設定として第１設定または第２設定を入力する。教示装置５０は、ユーザーからの第１設定または第２設定の入力を受け付けて、入力された動作設定を動作制御装置３０に送信する。動作制御装置３０は、受信した動作設定を、ＲＡＭ３０ｂに格納し、作業において、指定された動作設定にしたがって、アームＡｍを制御する。ユーザーからの動作設定の入力を受け付ける教示装置５０のＣＰＵ５０ａの機能部は、受付部５３である。図２において、動作制御装置３０のＲＡＭ３０ｂに格納された動作設定を表す情報を、動作設定情報Ｉｓとして示す。
【００２７】
「第１設定」においては、距離検出部Ｓｄからの出力に基づいてアームＡｍによるエンドエフェクターＥＥの移動が行われているときに、距離検出部Ｓｄが検出した距離があらかじめ定められた基準範囲外となった場合に、動作制御装置３０は、エンドエフェクターＥＥの移動を停止させる。
【００２８】
「第２設定」においては、距離検出部Ｓｄからの出力に基づいてアームＡｍによるエンドエフェクターＥＥの移動が行われているときに、距離検出部Ｓｄが検出した距離が基準範囲外となった場合に、動作制御装置３０は、距離検出部Ｓｄからの出力に基づかずに、エンドエフェクターＥＥの移動を継続させる。より具体的には、動作制御装置３０は、目標位置のうち、実行中の作業においてまだ通過していない次の目標位置に向かって、エンドエフェクターＥＥを移動させる。
【００２９】
ステップＳ３００において、動作制御装置３０は、入力された１以上の目標位置を、制御点としてのＴＣＰが順次、通過するように、ロボット２０制御して、作業を実行する。より具体的には、距離検出部Ｓｄからの出力を受け取って、動作制御装置３０は、指定された動作設定にしたがって、ロボット２０のアームＡｍおよびエンドエフェクターＥＥを制御して、作業を実行する。
【００３０】
図４は、図３のステップＳ３００におけるロボットの制御の内容を示すフローチャートである。図４の処理は、動作制御装置３０によって実行される。動作制御装置３０は、図４の処理を、２００マイクロ秒の周期で繰り返し行うことができる。
【００３１】
ステップＳ３１０において、動作制御装置３０は、図３のステップＳ１００で教示された目標位置を、制御点としてのＴＣＰが順次、通過するように、ロボット２０のアームＡｍを制御する。動作制御装置３０は、ある目標位置から次の目標位置への移動においては、距離検出部Ｓｄからの出力に基づいて、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行う。
【００３２】
図５は、図４のステップＳ３１０の処理内容を示す説明図である。なお、図５においては、技術の理解を容易にするために、図１に示したワークＷＫとは異なる形状を有するワークＷＫ１を使用して、処理内容を示す。なお、図５においては、技術の理解を容易にするために、各部の寸法を誇張して示している。このため、図５は、各部の寸法を正確に反映するものではない。図６〜図８も同様である。
【００３３】
図５においては、距離検出部Ｓｄを構成する半導体レーザーＳｄｅと受光素子Ｓｄｒから、距離検出部Ｓｄが対象物までの距離を測定することができる位置の範囲内に、ワークＷＫ１の表面が存在する。このため、距離検出部Ｓｄは、ワークＷＫ１によるレーザー光ＬＬ１の反射光ＬＬ２を受光素子Ｓｄｒで受け取ることにより、ワークＷＫ１の表面までの距離を測定することができる。その結果、動作制御装置３０は、目標位置ＴＰ１から次の目標位置ＴＰ２への移動において、距離検出部Ｓｄからの出力に基づいて、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行うことができる。
【００３４】
図４のステップＳ３２０において、動作制御装置３０は、距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、あらかじめ定められた基準範囲Ｒａ外となったか否かを判定する。基準範囲Ｒａは、距離検出部Ｓｄが対象物までの距離を測定することができる位置の範囲内において、あらかじめ定められている。基準範囲Ｒａの幅は本実施形態において０．８ｍｍである。
【００３５】
図６は、図４のステップＳ３２０の処理内容を示す説明図である。図６において、基準範囲Ｒａ内に、ワークＷＫ１の表面が存在しない。エンドエフェクターＥＥの位置のフィードバック制御が、ワークＷＫ１の表面形状の変化に追従できなかったためである。このような状態においては、距離検出部Ｓｄは、ワークＷＫ１によるレーザー光ＬＬ１の反射光ＬＬ２を受光素子Ｓｄｒで受け取ることができない。その結果、動作制御装置３０は、距離検出部Ｓｄからの出力に基づいて、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行うことができない。
【００３６】
図４のステップＳ３２０において、距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ外となった場合には、処理は、ステップＳ３３０に進む。距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ内である場合は、処理は、ステップＳ３１０に戻る。
【００３７】
ステップＳ３３０において、動作制御装置３０は、図３のステップＳ２００で指定された動作設定が、第１設定であるか第２設定であるかを判定する。ステップＳ２００で指定された動作設定が第１設定である場合には、処理は、ステップＳ３４０に進む。ステップＳ２００で指定された動作設定が第２設定である場合には、処理は、ステップＳ３５０に進む。
【００３８】
ステップＳ３４０において、動作制御装置３０は、アームＡｍによるエンドエフェクターＥＥの移動およびエンドエフェクターＥＥからの流動体Ｐｓの吐出を停止する。そして、動作制御装置３０は、教示装置５０を介して、出力装置５８（図１参照）からエラーメッセージを出力する。出力されるエラーメッセージは、ワークＷＫ１とエンドエフェクターＥＥの距離が、基準範囲Ｒａ外となったために、処理が中止された旨のメッセージを含む。その後、図４の処理は終了する。
【００３９】
ステップＳ３５０において、動作制御装置３０は、アームＡｍによるエンドエフェクターＥＥの移動を、継続する。より具体的には、動作制御装置３０は、制御点としてのＴＣＰが次の目標位置に近づくように、エンドエフェクターＥＥを移動させる。図５〜図８において、目標位置をＴＰ１，ＴＰ２として示す。第１実施形態においては、動作制御装置３０は、そのときのＴＣＰの位置から次の目標位置ＴＰ２に向かって直線的にエンドエフェクターＥＥを移動させる。その際、エンドエフェクターＥＥの移動は、距離検出部Ｓｄからの出力に基づかずに、行われる。
【００４０】
図７は、図４のステップＳ３５０の処理内容を示す説明図である。図７において、基準範囲Ｒａ内に、ワークＷＫ１の表面が存在しない。このため、動作制御装置３０は、距離検出部Ｓｄからの出力に基づいて、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行うことができない。図４のステップＳ３５０においては、動作制御装置３０は、制御点としてのＴＣＰが次の目標位置ＴＰ２に近づくように、エンドエフェクターＥＥを移動させる（図７の矢印Ａｏｐ参照）。図７において、ステップＳ３１０の処理によってエンドエフェクターＥＥの移動が行われる範囲を範囲Ｒ１として示す。ステップＳ３５０の処理によってエンドエフェクターＥＥの移動が行われる範囲を範囲Ｒ２として示す。
【００４１】
このような処理を行うことにより、ワークＷＫ１とエンドエフェクターＥＥとの間の距離が基準範囲Ｒａ外となった場合にも、当初に想定された作業を、目標位置ＴＰ２に基づいて続行することができる。
【００４２】
また、このような処理を行うことにより、図１に示すワークＷＫの上面のように、処理対象である領域に急激な傾きを有する凹凸が存在する場合にも、第２設定において、ワークＷＫに流動体Ｐｓを付着させる作業を継続的に行うことができる。その結果、ワークＷＫ１に対する流動体Ｐｓの塗布を効率的に行うことができる。
【００４３】
図４のステップＳ３６０において、動作制御装置３０は、距離検出部Ｓｄが検出するワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ内となったか否かを判定する。基準範囲Ｒａは、ステップＳ３２０の判定に用いられる基準範囲Ｒａと同じである。距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ外である場合は、処理は、ステップＳ３７０に進む。距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ内となった場合には、処理は、ステップＳ３１０に戻る。すなわち、動作制御装置３０は、次の目標位置ＴＰ２への移動を行いつつ、距離検出部Ｓｄからの出力に基づいて、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行う。
【００４４】
図８は、図４のステップＳ３６０を経てステップＳ３１０で行われる処理内容を示す説明図である。図８においては、基準範囲Ｒａ内にワークＷＫ１の表面が存在する。このため、距離検出部Ｓｄは、ワークＷＫ１によるレーザー光ＬＬ１の反射光ＬＬ２を受光素子Ｓｄｒで受け取ることにより、ワークＷＫ１の表面までの距離を測定することができる。その結果、動作制御装置３０は、次の目標位置ＴＰ２への移動において、距離検出部Ｓｄからの出力に基づいて、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行うことができる。
【００４５】
図８において、ステップＳ３１０の処理によってエンドエフェクターＥＥの移動が行われる範囲を範囲Ｒ１として示す。ステップＳ３５０の処理によってエンドエフェクターＥＥの移動が行われる範囲を範囲Ｒ２として示す。ステップＳ３６０を経てステップＳ３１０の処理によってエンドエフェクターＥＥの移動が行われる範囲を範囲Ｒ３として示す。
【００４６】
このような処理を行うことにより、図１に示すワークＷＫの上面のように、処理対象である領域に急激な傾きを有する凹凸を有する場合にも、距離検出部Ｓｄからの出力に基づく制御（図４のＳ３５０参照）と、距離検出部からの出力に基づかない制御（Ｓ３１０参照）とを、行うことにより、可能な範囲でワークＷＫとエンドエフェクターＥＥとの間の距離を考慮しつつ、ワークＷＫに対して継続的に作業を行うことができる。
【００４７】
図４のステップＳ３７０において、動作制御装置３０は、距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となってからの経過時間が、閾値時間を超えたか否かを判定する。閾値時間は、あらかじめ定められており、たとえば、０．５秒とすることができる。経過時間が閾値時間を超えていない場合は、処理は、ステップＳ３５０に戻る。経過時間が閾値時間を超えた場合は、処理は、ステップＳ３４０に進む。すなわち、動作制御装置３０は、アームＡｍによるエンドエフェクターＥＥの移動およびエンドエフェクターＥＥからの流動体Ｐｓの吐出を停止する。
【００４８】
このような処理を行うことにより、ステップＳ３５０の処理による移動の継続によってエンドエフェクターＥＥがワークＷＫや他の物体に衝突するリスクを低減することができる。
【００４９】
本実施形態におけるワークＷＫ，ＷＫ１を、「対象物」とも呼ぶ。エンドエフェクターＥＥを、「作業部」とも呼ぶ。アームＡｍを、「可動部」とも呼ぶ。動作制御装置３０を、「制御部」とも呼ぶ。ロボット制御装置２５を、「制御装置」とも呼ぶ。
【００５０】
Ｂ．第２実施形態：
第１実施形態のロボットシステム１においては、図４のステップＳ３５０において、動作制御装置３０は、そのときのＴＣＰの位置から次の目標位置に向かって直線的にエンドエフェクターＥＥを移動させる（図７の矢印Ａｏｐ参照）。しかし、第２実施形態のロボットシステムにおいては、図４のステップＳ３５０において、動作制御装置３０は、第１実施形態とは異なる処理を行う。第２実施形態のロボットシステムの他の点は、第１実施形態のロボットシステム１と同じである。
【００５１】
図９は、第２実施形態における、図４のステップＳ３５０内の詳細な処理を示すフローチャートである。ステップＳ３５２において、動作制御装置３０は、図４のステップＳ３２０において、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となる直前において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの上限と下限のいずれに近かったのかを判定する。ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離の「直前」の値とは、動作制御装置３０が図４の処理を繰り返し実行するサイクルにおいて、直前の処理における、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離である。ステップＳ３５２の判定は、具体的には、距離検出部Ｓｄの出力信号の電圧値に基づいて、行うことができる。
【００５２】
なお、距離の基準範囲Ｒａの上限は、図５〜図８に示す基準範囲Ｒａの下端、すなわち、ＴＣＰから遠い側の端に対応する。距離の基準範囲Ｒａの下限は、図５〜図８に示す基準範囲Ｒａの上端、すなわち、ＴＣＰに近い側の端に対応する。
【００５３】
ステップＳ３５２において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの下限に近かった場合は、処理は、ステップＳ３５４に進む。ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの上限に近かった場合は、処理は、ステップＳ３５６に進む。
【００５４】
ステップＳ３５４において、動作制御装置３０は、エンドエフェクターＥＥをワークＷＫから遠ざけるように、エンドエフェクターＥＥを移動させる。より具体的には、手先座標系ＨＣのＺ軸に沿って、直前にワークＷＫが検出された側とは逆の側に、エンドエフェクターＥＥを移動させる速度成分を、それまでの処理によるＴＣＰの移動の速度成分に加えて、エンドエフェクターＥＥを移動させる。その後、処理は、図４のステップＳ３６０に進む。なお、ワークＷＫが検出された側とは逆の側にエンドエフェクターＥＥを移動させる速度成分は、一定時間後に、０にされる。
【００５５】
図１０は、図９のステップＳ３５４における処理を示す説明図である。図１０においては、技術の理解を容易にするために、図１に示したワークＷＫとは異なる形状を有するワークＷＫ２を使用して、処理内容を示す。なお、図１０においては、技術の理解を容易にするために、各部の寸法を誇張して示している。このため、図１０は、各部の寸法を正確に反映するものではない。図１１も同様である。
【００５６】
ワークＷＫ２に対してエンドエフェクターＥＥが近づきすぎて、ワークＷＫとＴＣＰとの間の距離が基準範囲Ｒａ外となった場合には、直前の距離は基準範囲Ｒａの下限に近い。このため、図９のステップＳ３５４において、動作制御装置３０は、エンドエフェクターＥＥをワークＷＫ２から遠ざけつつ、エンドエフェクターＥＥを移動させる。なお、このような事態が生じるのは、エンドエフェクターＥＥの位置のフィードバック制御が、ワークＷＫ２の表面形状の変化に追従できなかったためである。図１０において、ワークＷＫ２の表面から一定の距離にある地点をＴｊｉ２で示す。そして、図９のステップＳ３５２，Ｓ３５４の処理を経て移動されたエンドエフェクターＥＥのＴＣＰの軌跡を、Ｔｊ２で示す。
【００５７】
図９のステップＳ３２５において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの下限に近かったということは、基準範囲ＲａのＴＣＰ側の端と、ＴＣＰの間にワークＷＫ２の表面が位置している可能性が高い。よって、上記のような処理を行うことにより、作業部が対象物や他の物体に衝突するリスクを低減することができる。
【００５８】
図９のステップＳ３５４において、ＴＣＰがワークＷＫから遠ざけられる距離は、あらかじめ定められた距離であり、距離の基準範囲Ｒａの上限値と下限値との差以下の距離である。本実施形態においては、基準範囲Ｒａの上限値と下限値との差は、０．８ｍｍである。このため、ＴＣＰがワークＷＫから遠ざけられる距離は、たとえば、０．６ｍｍとすることができる。
【００５９】
基準範囲ＲａのＴＣＰ側の端と、ＴＣＰの間にワークＷＫ２の表面が位置している可能性が高いという状況下において、基準範囲Ｒａの上限値と下限値との差を超える距離、ＴＣＰをワークＷＫ２の表面から遠ざけると、ワークＷＫ２の表面が、距離の基準範囲Ｒａに相当する領域を通過して、逆の側の外側に位置してしまう可能性が高くなる。その場合には、やはり、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となってしまい、距離のフィードバック制御を行うことができなくなる。しかし、上記のような処理を行うことにより、距離検出部Ｓｄからの出力に頼ることなく、ワークＷＫの表面が基準範囲Ｒａに相当する領域内に位置し、ワークＷＫとエンドエフェクターＥＥとの距離が想定した距離に近づく可能性を高めることができる。その結果、継続される作業の結果を高品質にすることができる。
【００６０】
図９のステップＳ３５６において、動作制御装置３０は、エンドエフェクターＥＥをワークＷＫに近づけるように、エンドエフェクターＥＥを移動させる。より具体的には、手先座標系ＨＣのＺ軸に沿って、直前にワークＷＫが検出された側に、エンドエフェクターＥＥを移動させる速度成分を、それまでの処理によるＴＣＰの移動の速度成分に加えて、エンドエフェクターＥＥを移動させる。その後、処理は、図４のステップＳ３６０に進む。なお、ワークＷＫが検出された側にエンドエフェクターＥＥを移動させる速度成分は、一定時間後に、０にされる。
【００６１】
図１１は、図９のステップＳ３５６における処理を示す説明図である。図１１においては、技術の理解を容易にするために、図１に示したワークＷＫとは異なるワークＷＫ３を使用して、処理内容を示す。ワークＷＫ３に対してエンドエフェクターＥＥが遠ざかりすぎて、ワークＷＫとＴＣＰとの間の距離が基準範囲Ｒａ外となった場合には、直前の距離は基準範囲Ｒａの上限に近い。このため、図９のステップＳ３５４において、動作制御装置３０は、エンドエフェクターＥＥをワークＷＫ２に近づけつつ、エンドエフェクターＥＥを移動させる。なお、このような事態が生じるのは、エンドエフェクターＥＥの位置のフィードバック制御が、ワークＷＫ３の表面形状の変化に追従できなかったためである。図１１において、ワークＷＫ３から一定の距離にある地点をＴｊｉ３で示す。そして、図９のステップＳ３５２，Ｓ３５６の処理を経て移動されたエンドエフェクターＥＥのＴＣＰの軌跡を、Ｔｊ３で示す。
【００６２】
このような処理を行うことにより、ワークＷＫ３とエンドエフェクターＥＥとの距離が基準範囲Ｒａよりも大きくなった可能性が高い場合に、距離検出部Ｓｄからの出力に頼ることなく、ワークＷＫ３とエンドエフェクターＥＥとの距離を想定した距離に近づけることができる。その結果、継続される作業の結果を高品質にすることができる。
【００６３】
図９のステップＳ３５６において、ＴＣＰがワークＷＫに近づけられる距離は、あらかじめ定められた距離であり、距離の基準範囲Ｒａの上限値と下限値との差以下の距離である。ＴＣＰがワークＷＫに近づけられる距離は、たとえば、０．６ｍｍとすることができる。
【００６４】
図４のステップＳ３２０において、ワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ外となったということは、手先座標系ＨＣのＺ軸方向に沿って、ＴＣＰを中心として、基準範囲Ｒａの上限値と下限値との差の範囲に対応する領域内には、物体が存在しないということである。よって、上記のような処理を行うことにより、距離検出部Ｓｄからの出力に頼ることなく、エンドエフェクターＥＥをワークＷＫに衝突させずに、ワークＷＫとエンドエフェクターＥＥとの距離が想定した距離に近づく可能性を高めることができる。その結果、継続される作業の結果を高品質にすることができる。
【００６５】
Ｃ．第３実施形態：
第３実施形態においては、動作制御装置３０は、図４のステップＳ３１０とステップＳ３２０の間において、所定の処理を行う。第３実施形態のロボットシステムの他の点は、第１実施形態のロボットシステム１と同じである。
【００６６】
図１２は、図４のステップＳ３１０〜Ｓ３２０におけるロボットの制御の内容を示すフローチャートである。第３実施形態においては、図４のステップＳ３１０の後、ステップＳ３１５において、動作制御装置３０は、理想的なＴＣＰの軌跡と、実際のＴＣＰの軌跡とのずれの距離Ｄ１があらかじめ定められた閾値ＴｈＤよりも大きくなったか否かを判定する。閾値ＴｈＤは、あらかじめ定められている。
【００６７】
理想的なＴＣＰの軌跡は、ワークＷＫのＣＡＤ情報に基づいてあらかじめ計算されている。より具体的には、ワークＷＫのＣＡＤ情報に基づいて、ワークＷＫの座標系における理想的なＴＣＰの軌跡を計算し、これをロボット座標系ＲＣにおける軌跡に座標変換することにより、理想的なＴＣＰの軌跡を得ることができる。ワークＷＫの座標系は、たとえば、ワークＷＫのうちの流動体Ｐｓを塗布する面内に、互いに垂直なＸ軸およびＹ軸を有し、Ｘ軸およびＹ軸に垂直な方向にＺ軸を有する座標系とすることができる。
【００６８】
ステップＳ３１５において、理想的なＴＣＰの軌跡と、実際のＴＣＰの軌跡とのずれの距離が閾値ＴｈＤ以下である場合は、処理は、ステップＳ３１０に戻る。ずれの距離Ｄ１が閾値ＴｈＤよりも大きくなった場合には、処理は、ステップＳ３１７に進む。
【００６９】
ステップＳ３１７において、動作制御装置３０は、教示装置５０を介して、出力装置５８（図１参照）からエラーメッセージを出力する。出力されるエラーメッセージは、本来のエンドエフェクターＥＥの軌跡と、実際のエンドエフェクターＥＥの軌跡とのずれの距離が閾値ＴｈＤよりも大きくなった旨のメッセージを含む。その後、処理はステップＳ３２０に進む。以下の処理は第１実施形態の図４の処理と同じである。
【００７０】
図１３は、図１２のステップＳ３１５，Ｓ３１７の処理内容を示す説明図である。図１３においては、技術の理解を容易にするために、図１に示したワークＷＫとは異なる形状を有するワークＷＫ４を使用して、処理内容を示す。図１３において、ＣＡＤ情報に基づいてあらかじめ計算された理想的なＴＣＰの軌跡Ｔｊ０と、実際のＴＣＰの軌跡Ｔｊ４とのずれの距離Ｄ１が示されている。ずれの距離Ｄ１が閾値ＴｈＤよりも大きくなった場合には、ステップＳ３１７において、本来のエンドエフェクターＥＥの軌跡Ｔｊ０と、実際のエンドエフェクターＥＥの軌跡Ｔｊ４とのずれの距離Ｄ１が閾値ＴｈＤよりも大きくなった旨のメッセージが、出力装置５８に表示される。
【００７１】
このような態様とすれば、ユーザーは、図４のステップＳ３４０においてロボット２０の動作が停止する前に、ユーザーは、あらかじめ、本来のエンドエフェクターＥＥの軌跡Ｔｊ０と、実際のエンドエフェクターＥＥの軌跡Ｔｊ４とがずれていることを知ることができる。
【００７２】
Ｄ．第４実施形態：
第１実施形態においては、流動体Ｐｓを吐出するディスペンサーが、エンドエフェクターＥＥとして、アームＡｍの先端に取りつけられている（図１参照）。そして、動作制御装置３０は、アームＡｍの動作を制御し、その結果として、アームＡｍの先端に取りつけられたディスペンサーの位置を制御する。しかし、第４実施形態においては、アームＡｍの先端に取りつけられているエンドエフェクターＥＥ２は、ワークＷＫを保持する。そして、ディスペンサーＤｐは、ロボット座標系ＲＣにおいて固定された位置に配されている。動作制御装置３０は、アームＡｍの動作を制御し、その結果として、エンドエフェクターＥＥ２に保持されたワークＷＫの位置を、ディスペンサーＤｐに対して制御する。
【００７３】
図１４は、本実施形態に係るロボットシステム１ｄのハードウェア構成を示す図である。ロボットシステム１ｄは、ロボット２０ｄと、ロボット制御装置２５を備える。ロボット２０ｄのアームＡｍは、ディスペンサーＤｐによる作業が行われるワークＷＫを保持し、ワークＷＫを移動させる。
【００７４】
ディスペンサーＤｐは、ワークＷＫに対して作業を行う作業部として機能する。より具体的には、ディスペンサーＤｐは、ワークＷＫに付着させる接着剤としての流動体Ｐｓを吐出する。
【００７５】
ディスペンサーＤｐには、距離検出部Ｓｄ２が設けられている。距離検出部Ｓｄは、半導体レーザーＳｄｅ２と、受光素子Ｓｄｒ２を備える。距離検出部Ｓｄ２の構成は、第１実施形態の距離検出部Ｓｄと同じである。
【００７６】
距離検出部Ｓｄ２は、ディスペンサーＤｐのノズルの先端に定められた基準点Ｐ０から流動体Ｐｓの吐出方向にディスペンサーＤｐから離れた位置にある対象物と、ディスペンサーＤｐと、の間の距離を測定することができる。距離検出部Ｓｄ２は、ディスペンサーＤｐに対して固定されている。このため、距離検出部Ｓｄ２の出力に基づいて、対象物とディスペンサーＤｐとの間の距離を測定することができる。距離検出部Ｓｄ２は、対象物とディスペンサーＤｐとの間の距離を表す出力を、動作制御装置３０に送信する。動作制御装置３０は、距離検出部Ｓｄ２からの出力を受け取って、アームＡｍの動作を制御し、その結果として、アームＡｍの先端に取りつけられたエンドエフェクターＥＥの位置を制御する。
【００７７】
第４実施形態においては、図３のステップＳ２００で入力される「第１設定」は、距離検出部Ｓｄ２からの出力に基づいてアームＡｍによるワークＷＫの移動行われているときに、距離検出部Ｓｄ２が検出した距離があらかじめ定められた基準範囲Ｒａ外となった場合に、動作制御装置３０が、ワークＷＫの移動を停止させる動作設定である。
【００７８】
第４実施形態においては、図３のステップＳ２００で入力される「第２設定」は、距離検出部Ｓｄ２からの出力に基づいてアームＡｍによるワークＷＫの移動行われているときに、距離検出部Ｓｄ２が検出した距離があらかじめ定められた基準範囲Ｒａ外となった場合に、動作制御装置３０が、距離検出部Ｓｄ２からの出力に基づかずに、ワークＷＫの移動を継続させる動作設定である。
【００７９】
第４実形態においては、図４のステップＳ３２０〜Ｓ３５０における処理は、上記の第１設定および第２設定に沿って実行される。第４実施形態について、以上で説明した以外の点は、第１実施形態と同じである。
【００８０】
このような態様としても、ワークＷＫが処理対象である領域に急激な傾きを有する凹凸を有する場合にも、第２設定において、継続的に作業を行うことができる。その結果、ワークＷＫに対する作業を効率的に行うことができる。
【００８１】
本実施形態におけるワークＷＫを、「対象物」とも呼ぶ。ディスペンサーＤｐを、「作業部」とも呼ぶ。アームＡｍを、「可動部」とも呼ぶ。動作制御装置３０を、「制御部」とも呼ぶ。ロボット制御装置２５を、「制御装置」とも呼ぶ。
【００８２】
Ｅ．第５実施形態：
（１）図１５は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット２０およびその動作制御装置３０の他に、パーソナルコンピューター４００，４１０と、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４１０は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、動作制御装置３０および教示装置５０を含むロボット制御装置２５を実現することが可能である。また、各種の情報を記憶する記憶部も、これらの複数のメモリーの一部または全部を利用して、実現することが可能である。
【００８３】
（２）図１６は、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット２０の動作制御装置３０が、ロボット２０の中に格納されている点が図１５と異なる。この例においても、複数のプロセッサーの一部または全部を利用して、動作制御装置３０および教示装置５０を含むロボット制御装置２５を実現することが可能である。また、各種の情報を記憶する記憶部も、複数のメモリーの一部または全部を利用して、実現することが可能である。
【００８４】
Ｆ．他の形態：
Ｆ１．他の形態１：
（１）上記実施形態においては、距離検出部Ｓｄ，Ｓｄ２は、レーザー変位計である（図１および図１４参照）。しかし、距離検出部は、たとえば、カメラのオートフォーカス機能に連動する距離検出部など、レーザー変位計以外の態様とすることもできる。
【００８５】
（２）上記実施形態においては、動作制御装置３０は、図４の処理を、２００マイクロ秒の周期で繰り返し行う。しかし、制御装置が行う制御の周期は、より長くすることもでき、より短くすることもできる。制御装置が行う制御の周期を短くすることにより、対象物の処理領域の形状のより急激な凹凸に追従することができる。制御装置が行う制御の周期を長くすることにより、動作をより滑らかにすることができ、また、制御をより安定させることができる。
【００８６】
（３）上記実施形態においては、図３のステップＳ１００において、ユーザーが目標位置を教示している。しかし、目標位置が、たとえば、ワークのＣＡＤ情報に基づいて、自動的に設定される態様とすることもできる。
【００８７】
（４）上記実施形態においては、図３のステップＳ１００において、教示装置５０のＣＰＵ５０ａの受付部５３は、第１設定または第２設定を受け付ける。しかし、受付部は、第１設定および第２設定以外の設定を入力可能なように構成されていてもよい。すなわち、受付部は、第１設定と第２設定とを選択的に受け付けることができるように構成されていればよい。なお、「第１設定と第２設定とを選択的に受け付ける」とは、「第１設定」または「第２設定」を受け付け、「第１設定かつ第２設定」という設定を受け付けないことを意味する。そして、「第１設定と第２設定とを選択的に受け付ける」とは、第１設定および第２設定以外の設定を受け付けないことを意味しない。
【００８８】
（５）上記実施形態においては、図３のステップＳ１００において動作を教示した後、ステップＳ２００で動作設定を入力している。しかし、動作設定の入力を先に行い、動作の教示を後に行うこともできる。たとえば、目標位置のパラメーター値を除いて、プログラムリストを作成し、その後、目標位置を表すパラメーター値を教示する態様において、プログラムリスト中のコマンドの引数として、動作設定を指定する引数をプログラムリスト中に書き込む態様とすることもできる。
【００８９】
（６）上記実施形態においては、図３のステップＳ２００において、ユーザーが動作設定を入力している。しかし、動作設定が、たとえば、プログラムリストにおいて動作を規定するコマンドに応じて、自動的に設定される態様とすることもできる。
【００９０】
（７）上記第１実施形態においては、基準範囲Ｒａ（図４のＳ３２０参照）は、距離検出部Ｓｄが対象物までの距離を測定することができる位置の範囲内において、あらかじめ定められている。しかし、基準範囲は、距離検出部が対象物までの距離を測定することができる位置の範囲と一致していてもよい。
【００９１】
（８）上記実施形態においては、図４のステップＳ３２０において、動作制御装置３０は、距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、あらかじめ定められた基準範囲Ｒａ外となったか否かを判定する。しかし、動作制御装置３０は、距離検出部Ｓｄが検出したワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離の変化率が、あらかじめ定められた変化率の基準範囲外となったか否かを判定する態様とすることもできる。変化率の基準範囲は、たとえば、−０．８ｍｍ／ｓ〜＋０．８ｍｍ／ｓとすることができる。
【００９２】
そのような態様の「第１設定」においては、距離検出部Ｓｄからの出力に基づいてアームＡｍによるエンドエフェクターＥＥの移動が行われているときに、距離検出部Ｓｄが検出した距離の変化率があらかじめ定められた基準範囲外となった場合に、動作制御装置３０は、エンドエフェクターＥＥの移動を停止させる。
【００９３】
また、そのような態様の「第２設定」においては、距離検出部Ｓｄからの出力に基づいてアームＡｍによるエンドエフェクターＥＥの移動が行われているときに、距離検出部Ｓｄが検出した距離の変化率が基準範囲外となった場合に、動作制御装置３０は、距離検出部Ｓｄからの出力に基づかずに、エンドエフェクターＥＥの移動を継続させる。より具体的には、動作制御装置３０は、目標位置のうち、実行中の作業においてまだ通過していない次の目標位置に向かって、エンドエフェクターＥＥを移動させる。
【００９４】
このような態様とすることにより、距離に基づく判定が行われる態様に比べて、応答性のよい位置制御を行うことができる。
【００９５】
（９）上記第３実施形態においては、図１２のステップＳ３１５において、理想的なＴＣＰの軌跡と、実際のＴＣＰの軌跡とのずれの距離が閾値ＴｈＤよりも大きくなった場合には、処理は、ステップＳ３１７に進む。その結果、出力装置５８（図１参照）からエラーメッセージが出力される。その後、処理はステップＳ３２０に進む。しかし、図１２のステップＳ３１５において、理想的なＴＣＰの軌跡と、実際のＴＣＰの軌跡とのずれの距離が閾値ＴｈＤよりも大きくなった場合には、処理は、ステップＳ３１７およびステップＳ３２０を経ずに、ステップＳ３３０に進んでもよい。このような態様としても、第２設定において、継続的に作業を行うことができる。
【００９６】
Ｆ２．他の形態２：
上記第１実施形態においては、検出された距離が基準範囲外となった場合には、次の目標位置ＴＰ２に向かって直線的にエンドエフェクターＥＥを移動させる（図７の矢印Ａｏｐ参照）。また、上記第２実施形態においては、検出された距離が基準範囲外となった場合には、それまでの移動の速度成分に加えて、エンドエフェクターＥＥをワークＷＫ２に遠ざけつつ、または近づけつつ、エンドエフェクターＥＥを移動させる（図９のＳ３５４，Ｓ３５６、ならびに図１１、図１２参照）。しかし、検出された距離が基準範囲外となった場合の移動の継続の態様は、それまでの移動の速度の向きおよび大きさを維持するなど、他の態様とすることもできる。
【００９７】
Ｆ３．他の形態３：
（１）上記第１実施形態においては、図４のステップＳ３２０において、動作制御装置３０は、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が、あらかじめ定められた基準範囲Ｒａ外となったか否かを判定する。そして、図４のステップＳ３６０において、動作制御装置３０は、距離検出部Ｓｄが検出するワークＷＫ１とエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ内となったか否かを判定する。これらの判定は、いずれも距離に代えて、距離の変化率に基づいて行われることができる。また、一方の判定を距離に基づいて行い、他方の判定を距離に基づいて行うこともできる。
【００９８】
（２）上記第１実施形態においては、図４のステップＳ３６０において、動作制御装置３０は、距離検出部Ｓｄが検出するワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が、基準範囲Ｒａ内となったか否かを判定する。しかし、ステップＳ３６０の処理は、省略することもできる。
【００９９】
Ｆ４．他の形態４：
上記第１実施形態においては、図４のステップＳ３７０において、動作制御装置３０は、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となってからの経過時間が、閾値時間を超えたか否かを判定する。この時間閾値は、ユーザーが、棹の作業における作業部とワークとの相対的な移動速度や、ワークの形状に応じて、あらかじめ定めることができる。また、時間閾値は、ロボットシステムにおいて固定的に定められていてもよい。なお、ステップＳ３７０の処理は、省略することもできる。
【０１００】
Ｆ５．他の形態５：
（１）上記第２実施形態においては、図９のステップＳ３５２において、動作制御装置３０は、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となる直前において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの上限と下限のいずれに近かったのかを判定する。しかし、この判定は、距離の変化率と、距離の変化率の基準範囲の上限および下限に基づいて行われることができる。また、ステップＳ３５２の判定に用いられるパラメーターは、図４のステップＳ３２０，Ｓ３６０と一致していてもよいし、異なっていてもよい。
【０１０１】
（２）上記第２実施形態においては、ステップＳ３５２において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの下限に近かった場合は、処理は、ステップＳ３５４に進む。しかし、そのような場合に、ステップＳ３５４の処理を省略して、ステップＳ３６０に進んでもよい。
【０１０２】
Ｆ６．他の形態６：
（１）上記第２実施形態においては、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの上限に近かった場合は、処理は、ステップＳ３５６に進む。しかし、そのような場合に、ステップＳ３５６の処理を省略して、ステップＳ３６０に進んでもよい。
【０１０３】
（２）上記第２実施形態においては、図９のステップＳ３５２において、動作制御装置３０は、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が基準範囲Ｒａ外となる直前において、ワークＷＫとＴＣＰとの間の距離が、基準範囲Ｒａの上限と下限のいずれに近かったのかを判定する。しかし、図９の処理を行わない態様とすることもできる。
【０１０４】
Ｆ７．他の形態７：
（１）上記第２実施形態においては、図９のステップＳ３５４において、ＴＣＰがワークＷＫから遠ざけられる距離は、基準範囲Ｒａの上限値と下限値との差以下の距離である。しかし、ＴＣＰがワークＷＫから遠ざけられる距離は、基準範囲の上限値と下限値の差に等しい値や、より大きい値など、他の値とすることもできる。また、ＴＣＰがワークＷＫから遠ざけられる速度成分について、上限値を有する態様とすることもできる。
【０１０５】
（２）上記第２実施形態においては、図９のステップＳ３５６において、ＴＣＰがワークＷＫに近づけられる距離は、基準範囲Ｒａの上限値と下限値との差以下の距離である。しかし、ＴＣＰがワークＷＫに近づけられる距離は、基準範囲の上限値と下限値の差に等しい値や、より大きい値など、他の値とすることもできる。また、ＴＣＰがワークＷＫに近づけられる速度成分について、上限値を有する態様とすることもできる。
【０１０６】
Ｆ８．他の形態８：
上記第１実施形態においては、作業部として機能するエンドエフェクターＥＥは、ワークＷＫに付着させる流動体Ｐｓを吐出するディスペンサーである（図１参照）。上記第４実施形態においては、作業部は、ディスペンサーＤｐである（図１４参照）。しかし、作業部は、たとえば、レーザー加工機や、流動体を塗布する筆など、ワークに対して他の作業を行う構成であってもよい。
【０１０７】
Ｆ９．他の形態９：
上記第１実施形態においては、距離検出部Ｓｄは、アームＡｍの先端のリンクＬ６およびエンドエフェクターＥＥに対して固定されている（図１参照）。また、上記第１実施形態においては、距離検出部Ｓｄ２は、ディスペンサーＤｐに対して固定されている（図１４参照）。しかし、距離検出部は、ワークなどの対象物に対して固定されており、対象物と作業部との距離を検出する態様とすることもできる。なお、本明細書において、「ＡがＢに対して固定されている」とは、ＡがＢに直接固定されている態様に限らず、Ａが、Ｂとの相対位置が変動しない状態とされていることを意味する。
【０１０８】
Ｆ１０．他の形態１０：
上記第１実施形態においては、動作制御装置３０は、ある目標位置から次の目標位置への移動においては、距離検出部Ｓｄからの出力に基づいて、ワークＷＫとエンドエフェクターＥＥのＴＣＰとの間の距離が一定となるように、アームＡｍのフィードバック制御を行う（図４のＳ３１０参照）。しかし、動作制御装置３０は、ある目標位置から次の目標位置への移動において、フィードバック制御を行わず、アームを制御してもよい。すなわち、測定値を使用せず、単純に指令値に基づいて、アームを制御してもよい。
【０１０９】
Ｇ．さらに他の形態：
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【０１１０】
（１）本開示の一形態によれば、対象物に対して作業を行う作業部を移動させる可動部を有するロボットを制御する制御装置が提供される。この制御装置は、前記作業部が取り付けられた前記可動部を制御する制御部と、第１設定、または、第２設定を受け付ける受付部と、を備え、前記受付部が前記第１設定を受け付けており、前記対象物と前記作業部との間の距離を検出する距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離検出部が検出した前記距離または前記距離の変化率があらかじめ定められた基準範囲外となった場合、前記制御部が前記作業部の前記移動を停止させ、前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づいて前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部が前記距離検出部からの出力に基づかずに前記作業部を移動させる。
このような態様とすれば、処理対象である領域に急激な傾きを有する凹凸が存在する場合にも、第２設定において、継続的に作業を行うことができる。その結果、対象物に対する作業を効率的に行うことができる。
【０１１１】
（２）上記形態の制御装置において、前記受付部は、前記ロボットの制御点の目標位置の入力を受け付け、前記受付部が前記第２設定を受け付けており、前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部は、前記目標位置に基づいて前記作業部を移動させる、態様とすることもできる。
このような態様とすれば、対象物と作業部との間の距離またはその変化率が基準範囲外となった場合にも、当初に想定された作業を、目標位置に基づいて続行することができる。
【０１１２】
（３）上記形態の制御装置において、前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づかずに前記可動部による前記作業部の移動が行われているときに、前記距離または前記変化率が前記基準範囲内となった場合、前記制御部は前記距離検出部からの出力に基づいて前記可動部による前記作業部の移動を行う、態様とすることもできる。
このような態様とすれば、対象物が処理対象である領域に急激な傾きを有する凹凸を有する場合にも、距離検出部からの出力に基づく制御と、距離検出部からの出力に基づかない制御とを、行うことにより、可能な範囲で対象物と作業部との間の距離を考慮しつつ、対象物に対して継続的に作業を行うことができる。
【０１１３】
（４）上記形態の制御装置において、前記受付部が前記第２設定を受け付けており、前記距離または前記変化率が前記基準範囲外となってからあらかじめ定められた時間が経過した場合、前記制御部は前記作業部の移動を停止させる、態様とすることもできる。
このような態様とすれば、移動の継続によって作業部が対象物や他の物体に衝突するリスクを低減することができる。
【０１１４】
（５）上記形態の制御装置において、前記受付部が前記第２設定を受け付けており、前記距離が前記基準範囲外となる直前の前記距離が前記基準範囲の上限値よりも下限値に近い場合、前記制御部は前記作業部の移動において、前記作業部を前記対象物から遠ざける、態様とすることもできる。
このような態様とすれば、作業部が対象物や他の物体に衝突するリスクを低減することができる。
なお、「距離検出部が検出した距離が基準範囲外となる直前の、距離検出部が検出した距離」とは、距離検出部が検出した距離があらかじめ定められた基準範囲外となったか否かを制御装置が判定する処理を繰り返し実行するサイクルの直前の処理において、距離検出部が検出した距離である。
【０１１５】
（６）上記形態の制御装置において、前記受付部が前記第２設定を受け付けており、前記距離が前記基準範囲外となる直前の前記距離が前記基準範囲の下限値よりも上限値に近い場合、前記制御部は前記作業部の移動において、前記作業部を前記対象物に近づける、態様とすることもできる。
このような態様とすれば、対象物と作業部との距離が基準範囲よりも大きくなった可能性が高い場合に、距離検出部からの出力に頼ることなく、対象物と作業部との距離を想定した距離に近づけることができる。その結果、継続される作業の結果を高品質にすることができる。
【０１１６】
（７）上記形態の制御装置において、前記制御部は、前記作業部を前記対象物から遠ざける移動において、前記作業部を前記対象物から遠ざける距離は、前記上限値と前記下限値との差以下の距離であり、前記作業部を前記対象物に近づける移動において、前記作業部を前記対象物に近づける距離は、前記上限値と前記下限値との差以下の距離である、態様とすることもできる。
このような態様とすれば、距離検出部からの出力に頼ることなく、対象物と作業部との距離が想定した距離に近づく可能性を高めることができる。その結果、継続される作業の結果を高品質にすることができる。
なお、前記制御部は、前記作業部を前記対象物から遠ざける前記移動において、前記上限値と前記下限値との差より大きい距離、前記作業部を前記対象物から遠ざけないことが好ましい。また、前記制御部は、前記作業部を前記対象物に近づける前記移動において、前記上限値と前記下限値との差より大きい距離、前記作業部を前記対象物に近づけないことが好ましい。
【０１１７】
（８）上記形態の制御装置において、前記作業部は、前記作業において、前記対象物に吐出される吐出物を吐出する、態様とすることもできる。
このような態様とすれば、対象物が処理対象である領域に急激な傾きを有する凹凸を有する場合にも、第２設定において、対象物に流動体を付着させる作業を継続的に行うことができる。
【０１１８】
（９）上記形態の制御装置において、前記距離検出部は、前記可動部または前記作業部に取りつけられている、態様とすることもできる。
このような態様とすれば、可動部によって作業部が移動されても、距離検出部は、正確に対象物と前記作業部との間の距離を測定することができる。
【０１１９】
（１０）上記形態の制御装置において、前記制御部は、前記距離検出部からの出力に基づく前記作業部の移動において、前記対象物と前記作業部との間の前記距離が一定となるように、フィードバック制御を行う、態様とすることもできる。
このような態様とすれば、対象物が処理対象である領域に、フィードバック制御において追従できないような急激な傾きを有する凹凸を有する場合にも、第２設定において、作業を行うことができる。
【０１２０】
（１１）本開示の他の形態によれば、上記形態の制御装置と、前記制御装置に制御される前記ロボットと、を備える、ロボットシステムが提供される。
【０１２１】
（１２）本開示の他の形態によれば、作業部による作業が行われる対象物を保持し前記対象物を移動させる可動部を有するロボットを制御する制御装置が提供される。この制御装置は、前記可動部を制御する制御部と、第１設定、または、第２設定を受け付ける受付部と、を備え、前記受付部が前記第１設定を受け付けており、前記対象物と前記作業部との間の距離を検出する距離検出部からの出力に基づいて前記可動部による前記対象物の移動が行われているときに、前記距離検出部が検出した前記距離または前記距離の変化率があらかじめ定められた基準範囲外となった場合、前記制御部が前記対象物の移動を停止させ、前記受付部が前記第２設定を受け付けており、前記距離検出部からの出力に基づいて前記可動部による前記対象物の前記移動が行われているときに、前記距離または前記変化率が前記基準範囲外となった場合、前記制御部が、前記距離検出部からの出力に基づかずに前記対象物を移動させる。
このような態様とすれば、対象物が処理対象である領域に急激な傾きを有する凹凸を有する場合にも、第２設定において、継続的に作業を行うことができる。その結果、対象物に対する作業を効率的に行うことができる。
【０１２２】
本開示は、ロボットを制御する制御装置、ロボット、ロボットシステム、およびロボットの制御方法以外の種々の形態で実現することも可能である。例えば、ロボットの製造方法やロボットの制御方法を実現するコンピュータプログラム、そのコンピュータプログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【０１２３】
上述した本開示の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本開示の一形態に含まれる技術的特徴の一部又は全部を上述した本開示の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本開示の独立した一形態とすることも可能である。
【符号の説明】
【０１２４】
１，１ｄ…ロボットシステム、２０，２０ｄ…ロボット、２５…ロボット制御装置、３０…動作制御装置、３０ａ…ＣＰＵ、３０ｂ…ＲＡＭ、３０ｃ…ＲＯＭ、５０…教示装置、５０ａ…ＣＰＵ、５０ｂ…ＲＡＭ、５０ｃ…ＲＯＭ、５３…受付部、５７…入力装置、５８…出力装置、４００，４１０…パーソナルコンピューター、５００…クラウドサービス、Ａｍ…アーム、Ａｏｐ…エンドエフェクターＥＥの移動方向を示す矢印、Ｂｓ…支持台、Ｄ１…理想的なＴＣＰの軌跡と実際のＴＣＰの軌跡とのずれの距離、Ｄｐ…ディスペンサー、ＥＥ，ＥＥ２…エンドエフェクター、Ｉｏ…動作情報、Ｉｓ…動作設定情報、Ｊ１〜Ｊ６…関節、Ｌ１〜Ｌ６…リンク、ＬＬ１…レーザー光、ＬＬ２…反射光、Ｐ０…基準点、Ｐｓ…流動体、Ｒ１…ステップＳ３１０の処理が行われる範囲、Ｒ２…ステップＳ３５０の処理が行われる範囲、Ｒ３…ステップＳ３１０の処理が行われる範囲、ＲＣ…ロボット座標系、ＲＸ…角度位置、ＲＹ…角度位置、ＲＺ…角度位置、Ｒａ…基準範囲、Ｓｄ，Ｓｄ２…距離検出部、Ｓｄｅ，Ｓｄｅ２…半導体レーザー、Ｓｄｒ，Ｓｄｒ２…受光素子、ＴＣＰ…制御点、ＴＰ１，ＴＰ２…目標位置、Ｔｊ０…理想的なＴＣＰの軌跡、Ｔｊ２〜Ｔｊ４…ＴＣＰの軌跡、Ｔｊｉ２…ワークＷＫ２の表面から一定の距離にある地点、Ｔｊｉ３…ワークＷＫ３の表面から一定の距離にある地点、ＷＫ，ＷＫ１〜ＷＫ４…ワーク
【図１】
2020049614.tif 000003
【図２】
2020049614.tif 000004
【図３】
2020049614.tif 000005
【図４】
2020049614.tif 000006
【図５】
2020049614.tif 000007
【図６】
2020049614.tif 000008
【図７】
2020049614.tif 000009
【図８】
2020049614.tif 000010
【図９】
2020049614.tif 000011
【図１０】
2020049614.tif 000012
【図１１】
2020049614.tif 000013
【図１２】
2020049614.tif 000014
【図１３】
2020049614.tif 000015
【図１４】
2020049614.tif 000016
【図１５】
2020049614.tif 000017
【図１６】
2020049614.tif 000018