(57)【要約】【課題】ロボットが所望の範囲を超えて動作することを抑制するロボットの制御装置を提供する。【解決手段】ロボット１の制御装置４は、ロボット１の動作プログラム４６の設定値を監視する監視部５１を備える。動作プログラム４６は、主変数および補助変数を含む。主変数は、ロボット１の位置および姿勢を指定する変数である。補助変数は、ロボット１の位置および姿勢を指定する変数、または、主変数に基づくロボット１の位置および姿勢を調整する変数である。記憶部４２は、動作プログラム４６を記憶する第１の領域と、補助変数４７の値を記憶する第２の領域とを有する。監視部５１は、補助変数の値が許容範囲内であるか否かを判定する判定部５２を含む。【選択図】図２
2020037165.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作を制御する動作制御部と、
ロボットの制御に関する情報を記憶する記憶部と、
ロボットの動作プログラムの設定値を監視する監視部とを備え、
前記動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含み、
前記主変数は、ロボットの位置および姿勢を指定する変数であり、
前記補助変数は、ロボットの位置および姿勢を指定する変数、または、前記主変数に基づくロボットの位置および姿勢を調整する変数であり、
前記記憶部は、前記動作プログラムを記憶する第１の領域と、前記補助変数の値を記憶する第２の領域と、前記補助変数の許容範囲を記憶する第３の領域とを有し、
前記動作制御部は、第２の領域に記憶されている前記補助変数の値が変更されると、前記補助変数の値に基づいて前記動作プログラムによるロボットの動作を変更し、
前記監視部は、前記補助変数の値が許容範囲内であるか否かを判定する判定部と、前記補助変数の値が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部とを含むことを特徴とする、ロボットの制御装置。
【請求項２】
前記補助変数の値を変更するための入力部を含む操作盤を備え、
前記判定部は、作業者が入力部により前記補助変数の値を変更したときに、前記補助変数の値が許容範囲内であるか否かを判定する、請求項１に記載のロボットの制御装置。
【請求項３】
前記判定部は、前記動作プログラムを実行している期間中に、制御装置により前記補助変数が変更されたときに、前記補助変数の値が許容範囲内であるか否かを判定する、請求項１に記載のロボットの制御装置。
【請求項４】
発信部は、前記補助変数の値が許容範囲を逸脱した信号を前記動作制御部に送信し、
前記動作制御部は、ロボットを停止する制御を実施する、請求項３に記載のロボットの制御装置。
【請求項５】
ロボットの制御に関する情報を表示する表示部を備え、
表示部は、前記補助変数の許容範囲を表示する、請求項１から４のいずれか一項に記載のロボットの制御装置。
【請求項６】
ロボットの動作を制御する動作制御部と、
ロボットの制御に関する情報を記憶する記憶部と、
ロボットの動作プログラムの設定値を監視する監視部とを備え、
前記動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含み、
前記主変数は、ロボットの位置および姿勢を指定する変数であり、
前記補助変数は、前記主変数に基づくロボットの位置および姿勢を調整する変数であり、
前記記憶部は、前記動作プログラムを記憶する第１の領域と、前記補助変数の値を記憶する第２の領域と、ロボットの位置および姿勢の許容範囲を記憶する第３の領域とを有し、
前記動作制御部は、第２の領域に記憶されている前記補助変数の値が変更されると、前記補助変数の値に基づいて前記動作プログラムによるロボットの動作を変更し、
前記監視部は、前記補助変数に基づいてロボットが動作したときのロボットの位置および姿勢を算出する位置算出部と、位置算出部により算出されたロボットの位置および姿勢が許容範囲内であるか否かを判定する判定部と、位置算出部により算出されたロボットの位置および姿勢が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部とを含むことを特徴とする、ロボットの制御装置。
【請求項７】
ロボットの動作を制御する動作制御部と、
ロボットの制御に関する情報を記憶する記憶部と、
ロボットの動作プログラムの設定値を監視する監視部とを備え、
前記動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含み、
前記主変数は、ロボットの位置および姿勢を指定する変数であり、
前記補助変数は、ロボットの位置および姿勢を指定する変数、または、前記主変数に基づくロボットの位置および姿勢を調整する変数であり、
前記記憶部は、前記動作プログラムを記憶する第１の領域と、前記補助変数の値を記憶する第２の領域と、ロボットの表面に予め設定された設定点の位置の許容範囲を記憶する第３の領域とを有し、
前記動作制御部は、第２の領域に記憶されている前記補助変数の値が変更されると、前記補助変数の値に基づいて前記動作プログラムによるロボットの動作を変更し、
前記監視部は、前記補助変数に基づいてロボットが動作したときの前記設定点の位置を算出する位置算出部と、前記設定点の位置が許容範囲内であるか否かを判定する判定部と、前記設定点の位置が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部とを含むことを特徴とする、ロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作プログラムの変数を監視するロボットの制御装置に関する。
【背景技術】
【０００２】
ロボット装置は、ロボットと、ロボットに取り付けられた作業ツールと、ロボットを制御する制御装置とを備える。制御装置は、予め作成された動作プログラムに基づいてロボットおよび作業ツールを駆動する。また、制御装置は、ロボットの動作を監視する監視機能を備えることができる。すなわち、制御装置は、ロボットが所望の動作にて駆動するか否かを監視する機能を備えることができる。例えば、ロボットが所望の動作以外の動作を実施した場合に、制御装置はロボットの動作を制限することが知られている（例えば、特開昭６０−１６０４０７号公報、および特開平６−１１９０２２号公報を参照）。
【０００３】
また、ロボットの制御装置は、現在のロボットの位置および姿勢を一時的に記憶することが知られている。制御装置は、現在のロボットの位置および姿勢に基づいて、様々な制御を実施することができる（例えば、特開平１−２６９１０５号公報を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６０−１６０４０７号公報
【特許文献２】特開平６−１１９０２２号公報
【特許文献３】特開平１−２６９１０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットの動作プログラムには、ロボットの位置および姿勢が定められた移動点の情報が記載される。ロボットの位置および姿勢は、例えば、予め定められた座標系の座標値により設定することができる。動作プログラムには、このような移動点の情報が複数記載されている。ロボットの制御装置は、これらの移動点に向かうようにロボットの位置および姿勢を制御することができる。
【０００６】
動作プログラムに記載される移動点の情報を設定するために、作業者は、教示操作盤を操作することにより手動でロボットの位置および姿勢を変更することができる。そして、作業者は、ロボットの位置および姿勢が所望の状態になったときに、ロボットの位置および姿勢を教示点として制御装置に記憶することができる。ロボットの制御装置は、教示点に基づいて動作プログラムの移動点の情報を生成することができる。
【０００７】
ところで、作業者は、動作プログラムに記載された移動点の情報を変更する場合がある。例えば、作業者は、ロボットの動作プログラムを作成するために、ロボットの移動点を設定する。この後に、移動点に対応するロボットの位置および姿勢を僅かに修正したい場合がある。または、ロボットが操作するワークの種類を変更する場合には、動作プログラムに設定されている移動点の情報を変更したい場合がある。一方で、動作プログラムには、動作プログラムの作成後に修正しない移動点の情報も存在する。このために、作業者は、一部の移動点の情報を修正する場合にも動作プログラムの全体を見て、所望の移動点の情報を変更する必要が有る。
【０００８】
また、ロボットの動作プログラムを書き換える場合に、作業者は誤った移動点の情報を設定する場合がある。ロボットは、駆動した時に予想できない移動点に向かって移動する場合がある。例えば、作業者がロボットの移動点の座標値を間違えた場合に、ロボットが所望の方向と異なる方向に動いたり、所望の動作量よりも大きな動作量にて動いたりする場合がある。この結果、ロボットが作業者またはロボットの周りに配置されている物に衝突する虞がある。
【課題を解決するための手段】
【０００９】
本開示の第１の態様のロボットの制御装置は、ロボットの動作を制御する動作制御部と、ロボットの制御に関する情報を記憶する記憶部と、ロボットの動作プログラムの設定値を監視する監視部とを備える。動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含む。主変数は、ロボットの位置および姿勢を指定する変数である。補助変数は、ロボットの位置および姿勢を指定する変数、または、主変数に基づくロボットの位置および姿勢を調整する変数である。記憶部は、動作プログラムを記憶する第１の領域と、補助変数の値を記憶する第２の領域と、補助変数の許容範囲を記憶する第３の領域とを有する。動作制御部は、第２の領域に記憶されている補助変数の値が変更されると、補助変数の値に基づいて動作プログラムによるロボットの動作を変更する。監視部は、補助変数の値が許容範囲内であるか否かを判定する判定部を含む。監視部は、補助変数の値が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部を含む。
【００１０】
本開示の第２の態様のロボットの制御装置は、ロボットの動作を制御する動作制御部と、ロボットの制御に関する情報を記憶する記憶部と、ロボットの動作プログラムの設定値を監視する監視部とを備える。動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含む。主変数は、ロボットの位置および姿勢を指定する変数である。補助変数は、主変数に基づくロボットの位置および姿勢を調整する変数である。記憶部は、動作プログラムを記憶する第１の領域と、補助変数の値を記憶する第２の領域と、ロボットの位置および姿勢の許容範囲を記憶する第３の領域とを有する。動作制御部は、第２の領域に記憶されている補助変数の値が変更されると、補助変数の値に基づいて動作プログラムによるロボットの動作を変更する。監視部は、補助変数に基づいてロボットが動作したときのロボットの位置および姿勢を算出する位置算出部を含む。監視部は、位置算出部により算出されたロボットの位置および姿勢が許容範囲内であるか否かを判定する判定部を含む。監視部は、位置算出部により算出されたロボットの位置および姿勢が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部を含む。
【００１１】
本開示の第３の態様のロボットの制御装置は、ロボットの動作を制御する動作制御部と、ロボットの制御に関する情報を記憶する記憶部と、ロボットの動作プログラムの設定値を監視する監視部とを備える。動作プログラムは、ロボットの動作を定めるための主変数および補助変数を含む。主変数は、ロボットの位置および姿勢を指定する変数である。補助変数は、ロボットの位置および姿勢を指定する変数、または、主変数に基づくロボットの位置および姿勢を調整する変数である。記憶部は、動作プログラムを記憶する第１の領域と、補助変数の値を記憶する第２の領域と、ロボットの表面に予め設定された設定点の位置の許容範囲を記憶する第３の領域とを有する。動作制御部は、第２の領域に記憶されている補助変数の値が変更されると、補助変数の値に基づいて動作プログラムによるロボットの動作を変更する。監視部は、補助変数に基づいてロボットが動作したときの設定点の位置を算出する位置算出部を含む。監視部は、設定点の位置が許容範囲内であるか否かを判定する判定部を含む。監視部は、設定点の位置が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部を含む。
【発明の効果】
【００１２】
本開示の態様のロボットの制御装置によれば、ロボットの移動点を容易に変更することができて、更に、ロボットが所望の範囲を超えて動作することを抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態におけるロボット装置の概略図である。
【図２】実施の形態におけるロボット装置のブロック図である。
【図３】実施の形態における第１の制御を説明するためのロボットの第１の側面図である。
【図４】第１の制御を実施するための第１の動作プログラムである。
【図５】第１の動作プログラムの補助変数の情報が設定されたファイルである。
【図６】補助変数の許容範囲を定めるための直交座標系を説明する概略図である。
【図７】補助変数の許容範囲を定めるための方法を説明する概略図である。
【図８】第１の制御を説明するためのロボットの第２の側面図である。
【図９】第１の制御のフローチャートである。
【図１０】実施の形態における第２の制御を説明するためのロボットの側面図である。
【図１１】第２の制御を実施するための第２の動作プログラムである。
【図１２】第２の動作プログラムの補助変数の情報が設定されたファイルである。
【図１３】実施の形態における第３の制御を実施するための第３の動作プログラムである。
【図１４】実施の形態における第４の制御を説明するためのロボットの側面図である。
【発明を実施するための形態】
【００１４】
図１から図１４を参照して、実施の形態におけるロボットの制御装置について説明する。図１は、本実施の形態におけるロボット装置の概略図である。ロボット装置５は、作業ツールとしてのハンド２と、ハンド２を移動するロボット１とを備える。
【００１５】
本実施の形態のロボット１は、複数の関節部１８ａ，１８ｂ，１８ｃを含む多関節ロボットである。ロボット１は、移動可能な複数の構成部材を含む。ロボット１のそれぞれの構成部材は、駆動軸Ｊ１〜Ｊ６の周りに回転するように形成される。
【００１６】
ロボット１は、ベース部１４と、ベース部１４に支持された旋回ベース１３とを含む。旋回ベース１３は、ベース部１４に対して回転する。ロボット１は、上部アーム１１および下部アーム１２を含む。下部アーム１２は、旋回ベース１３に支持されている。上部アーム１１は、下部アーム１２に支持されている。ロボット１は、上部アーム１１に支持されているリスト１５を含む。リスト１５のフランジ１６には、ハンド２が固定されている。
【００１７】
本実施の形態のロボットは、６個の駆動軸を有するが、この形態に限られない。任意の機構にて位置および姿勢を変更するロボットを採用することができる。また、本実施の形態の作業ツールは、ワークを把持するハンドであるが、この形態に限れられない。作業者は、ロボット装置が行う作業に応じた作業ツールを選定することができる。例えば、溶接を行う作業ツールまたは接着剤を塗布する作業ツールなどを採用することができる。
【００１８】
本実施の形態のロボット装置５には、基準座標系７１が設定されている。図１に示す例では、ロボット１のベース部１４に、基準座標系７１の原点が配置されている。基準座標系７１はワールド座標系とも称される。基準座標系７１は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット１の位置および姿勢が変化しても基準座標系７１の位置および向きは変化しない。基準座標系７１は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。また、Ｘ軸の周りの座標軸としてＷ軸が設定される。Ｙ軸の周りの座標軸としてＰ軸が設定される。Ｚ軸の周りの座標軸としてＲ軸が設定される。
【００１９】
本実施の形態では、作業ツールの任意の位置に設定された原点を有するツール座標系が設定されている。本実施の形態のツール座標系７２の原点は、ツール先端点に設定されている。ツール座標系７２は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。図１に示す例では、ツール座標系７２は、Ｚ軸の延びる方向がハンド２の爪部の延びる方向と平行になるように設定されている。また、ツール座標系７２は、Ｘ軸の周りのＷ軸、Ｙ軸の周りのＰ軸、およびＺ軸の周りのＲ軸を有する。ロボット１の位置および姿勢が変化すると、ツール座標系７２の原点の位置および姿勢が変化する。例えば、ロボット１の位置は、ツール先端点の位置に対応する。また、ロボット１の姿勢は、基準座標系７１に対するツール座標系７２の向きが対応する。
【００２０】
図２に、本実施の形態におけるロボット装置のブロック図を示す。図１および図２を参照して、ロボット１は、ロボット１の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよびリスト等の構成部材を駆動するロボット駆動モータ２２を含む。本実施の形態では、それぞれの駆動軸Ｊ１〜Ｊ６に対応して、複数のロボット駆動モータ２２が配置されている。ロボット駆動モータ２２が駆動することにより、それぞれの構成部材の向きが変化する。
【００２１】
ロボット装置５は、ハンド２を駆動するハンド駆動装置を備える。ハンド駆動装置は、ハンド２の爪部を駆動するハンド駆動モータ２１を含む。ハンド駆動モータ２１が駆動することによりハンド２の爪部が開いたり閉じたりする。なお、ハンドは、空気圧などにより駆動するように形成されていても構わない。
【００２２】
ロボット装置５は、ロボット１およびハンド２を制御する制御装置４を備える。制御装置４は、制御を行う制御装置本体４０と、作業者が制御装置本体４０を操作するための教示操作盤３７とを含む。制御装置本体４０は、バスを介して互いに接続されたＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、およびＲＯＭ（Read Only Memory）等を有する演算処理装置（コンピュータ）を含む。ロボット１およびハンド２は、通信装置を介して制御装置４に接続されている。
【００２３】
教示操作盤３７は、通信装置を介して制御装置本体４０に接続されている。教示操作盤３７は、ロボット１およびハンド２に関する情報を入力する入力部３８を含む。入力部３８は、キーボードおよびダイヤルなどにより構成されている。作業者は、動作プログラム、変数の設定値、および変数の許容範囲などを入力部３８から制御装置４に入力することができる。教示操作盤３７は、ロボット１およびハンド２に関する情報を表示する表示部３９を含む。
【００２４】
制御装置４には、ロボット１およびハンド２の動作を行うために予め作成された動作プログラム４６が入力される。または、作業者が教示操作盤３７を操作してロボット１を駆動することにより、ロボット１の教示点を設定することができる。制御装置４は、教示点に基づいて、ロボット１およびハンド２の動作プログラム４６を生成することができる。
【００２５】
制御装置本体４０は、ロボット１およびハンド２の制御に関する情報を記憶する記憶部４２を含む。動作プログラム４６は、記憶部４２に記憶される。本実施の形態のロボット装置５は、動作プログラム４６に基づいてワークを搬送する。ロボット１は、自動的に初期の位置から目標位置までワークを搬送することができる。
【００２６】
制御装置本体４０は、ロボット１の動作を制御する動作制御部４３を含む。動作制御部４３は、動作プログラム４６に基づいて、ロボット１を駆動するための動作指令をロボット駆動部４５に送出する。ロボット駆動部４５は、ロボット駆動モータ２２を駆動する電気回路を含む。ロボット駆動部４５は、動作指令に基づいてロボット駆動モータ２２に電気を供給する。
【００２７】
また、動作制御部４３は、ハンド２の動作を制御する。動作制御部４３は、動作プログラム４６に基づいてハンド２を駆動する動作指令をハンド駆動部４４に送出する。ハンド駆動部４４は、ハンド駆動モータ２１を駆動する電気回路を含む。ハンド駆動部４４は、動作指令に基づいてハンド駆動モータ２１に電気を供給する。
【００２８】
ロボット１は、ロボット１の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、アーム等の駆動軸に対応するロボット駆動モータ２２に取り付けられた位置検出器１９を含む。位置検出器１９の出力により、それぞれの駆動軸における構成部材の向きを取得することができる。例えば、位置検出器１９は、ロボット駆動モータ２２が駆動するときの回転角を検出する。また、位置検出器１９は、ロボット駆動モータ２２の回転角に基づいて、ロボット駆動モータ２２の回転速度を算出することができる。本実施の形態では、複数の位置検出器１９の出力に基づいて、ロボット１の位置および姿勢が検出される。
【００２９】
図３に、本実施の形態における第１の制御を説明するためのロボットの第１の側面図を示す。第１の制御においては、ロボット１のツール先端点が移動点ＭＰ１から移動点ＭＰ２に移動するようにロボット１の位置および姿勢が変化する。さらに、ツール先端点が移動点ＭＰ２から移動点ＭＰＲ１に移動するようにロボット１の位置および姿勢が変化する。
【００３０】
図４に、本実施の形態の第１の制御を実施するための動作プログラムを示す。本実施の形態における動作プログラムは、ロボット１の動作を定めるための主変数および補助変数を含む。主変数は、記号Ｐにて示されている。また、補助変数は、記号ＰＲにて示されている。動作プログラムには、主変数および補助変数を用いて、移動点の情報が記載されている。
【００３１】
主変数は、ロボット１の位置および姿勢を指定する変数である。例えば、動作プログラム４６ａの１行目の指令文においては、主変数Ｐ［１］の移動点まで移動する指令が記載されている。より具体的には、記号Ｊは、ロボット１のそれぞれの駆動軸の駆動による移動を示している。また、それぞれの駆動軸の最高速度に対して１００％の速度にて移動する指令が記載されている。記号ＦＩＮＥは、高い精度でロボットを駆動することを示している。すなわち、１行目の指令文においては、各駆動軸の速度は最高速度で、主変数Ｐ［１］に対応する移動点ＭＰ１まで移動することが示されている。図３では、１行目の指令文が実行された後のロボット１の状態が示されている。
【００３２】
主変数Ｐ［１］は、移動点ＭＰ１に対応している。主変数に対応するロボット１の位置および姿勢は、例えば、動作プログラム４６ａの内部に設定されている。例えば、主変数に対応するロボット１の位置および姿勢は、動作プログラム４６ａの最後に記載されている。本実施の形態では、主変数Ｐ［１］に対応する移動点ＭＰ１におけるロボット１の位置は、ツール先端点の位置にて指定される。ツール先端点の位置は、基準座標系７１のＸ軸の座標値、Ｙ軸の座標値、およびＺ軸の座標値にて指定される。また、移動点ＭＰ１におけるロボット１の姿勢は、ツール座標系７２の向きにて指定される。ツール座標系７２の向きは、基準座標系７１のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値にて指定される。
【００３３】
主変数Ｐ［２］は、図３における移動点ＭＰ２に対応する。動作プログラム４６ａの２行目の指令文において、記号Ｌは、ツール先端点が直線的に移動することを示している。２行目の指令文においては、ツール先端点が移動点ＭＰ１から移動点ＭＰ２に向かって直線的に移動するようにロボット１を制御することが示されている。また、移動点ＭＰ１から移動点ＭＰ２に向かって、速度５００ｍｍ／ｓｅｃにて移動することが記載されている。このように、動作プログラムにおいては、主変数Ｐ［１］，Ｐ［２］を用いてロボットの動作を定めることができる。
【００３４】
動作プログラム４６ａの３行目には、補助変数ＰＲ［１］が記載されている。第１の制御においては、補助変数ＰＲ［１］は、ロボットの位置および姿勢を指定する変数である。補助変数ＰＲ［１］は、図３における移動点ＭＰＲ１に対応する。この指令文においては、各駆動軸の動作速度が最高速度の７０％の速度にて、移動点ＭＰ２から移動点ＭＰＲ１に移動することが示されている。すなわち、ＰＲ［１］にて定められる位置に向かって移動することが定められている。
【００３５】
図５に、補助変数が設定されたファイルの例を示す。ファイル９６には、補助変数ＰＲ［１］のロボット１の位置について、ワールド座標系のＸ軸の座標値、Ｙ軸の座標値、およびＺ軸の座標値が設定されている。また、ロボット１の姿勢について、ツール座標系７２の向きを示すワールド座標系のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値が設定されている。なお記号ＧＰ１は、複数のロボットを制御する時に有効な変数であり、１番目のロボットを示している。
【００３６】
図２を参照して、このような補助変数４７が設定されたファイル９６は、記憶部４２に記憶されている。補助変数のファイル９６は、動作プログラム４６ａのファイルとは別に記憶されている。更に、後述するように、本実施の形態では、補助変数４７の許容範囲４８がファイルに設定されている。補助変数４７の許容範囲４８のファイルも記憶部４２に記憶されている。
【００３７】
本実施の形態の記憶部４２は、動作プログラム４６を記憶する第１の領域と、補助変数４７を記憶する第２の領域と、補助変数４７の許容範囲４８を記憶する第３の領域とを有する。本実施の形態においては、動作プログラム４６、補助変数４７、および許容範囲４８は互いに独立して記憶されている。すなわち、本実施の形態の記憶部４２には、動作プログラム４６が記載された第１のファイルが記憶されている。記憶部４２には、補助変数４７の値が記載された第２のファイルが記憶されている。さらに、記憶部４２には、補助変数４７の許容範囲４８が設定された第３のファイルが記憶されている。
【００３８】
主変数Ｐ［１］，Ｐ［２］は、動作プログラム４６ａのみにて使用される変数である。主変数Ｐ［１］，Ｐ［２］は、他の動作プログラムとは関係のない変数である。また、主変数Ｐ［１］，Ｐ［２］は、動作プログラムを作成した後に変更することが少ない位置および姿勢を設定することができる。
【００３９】
これに対して、補助変数ＰＲ［１］は、動作プログラムを作成した後に変更する可能性がある移動点に対して設定することができる。例えば、ロボットの教示操作を行っている時に、作業者が調整する可能性のある移動点を補助変数に設定することができる。また、補助変数は、複数の動作プログラムにて使用することができる。すなわち、補助変数は、複数の動作プログラムに対して共通の変数にすることができる。例えば、１つのロボットが連続して２つの動作プログラムを実行する場合に、１番目の動作プログラムおよび２番目の動作プログラムにおいて、同一の補助変数を使用することができる。
【００４０】
動作制御部４３は、動作プログラム４６に基づいてロボット１およびハンド２の動作指令を送出する。このときに、動作プログラム４６に補助変数４７が含まれている場合に、動作制御部４３は、ファイル９６から補助変数４７の値を取得する。動作制御部４３は、補助変数４７の値を用いて、ロボット１およびハンド２を制御する。
【００４１】
このために、ファイル９６に設定されている補助変数４７の値が変更されると、動作制御部４３は、補助変数４７の値に基づいてロボット１の動作を変更する。ここでの例では、動作制御部４３は、補助変数ＰＲ［１］により設定されている位置および姿勢になるように、ロボット１を制御する。
【００４２】
作業者は、補助変数の値を修正することにより、ロボット１が移動する位置および姿勢を容易に変更することができる。例えば、図５に示す補助変数のファイル９６の記載を変更することより、図３における移動点ＭＰＲ１におけるロボット１の位置および姿勢を変更することができる。この時に、作業者は、動作プログラム４６ａは変更する必要はない。このように、作業者は、動作プログラム４６ａを見なくても、ロボット１の位置および姿勢を変更することができる。この結果、ロボット１の位置および姿勢を変更するときの作業効率が向上する。
【００４３】
また、１つのロボットが複数の動作プログラムにて駆動される場合に、複数の動作プログラムにおいて、共通の移動点が存在する場合がある。作業者は、共通の移動点の情報を補助変数として設定することができる。共通の移動点の情報を変更する場合に、作業者は、１つの補助変数のファイルを開いて補助変数の情報を変更する。作業者は、全ての動作プログラムを書き換る必要はないために、作業効率が向上する。
【００４４】
本実施の形態の制御装置４においては、補助変数４７の値を変更しても、動作プログラム４６に記載されている主変数に対応する位置および姿勢は変更されない。このために、動作プログラム４６を作成した後に修正を行う可能性がある移動点を、補助変数にて設定することが好ましい。例えば、ハンド２がワークを把持する位置は、細かい位置の調整が必要である。ロボット１の位置および姿勢を僅かに調整する場合がある。このようなロボット１の位置および姿勢を調整する移動点を補助変数として設定することができる。
【００４５】
ところで、作業者は、補助変数４７の値を変更する場合に、所望の値とは大きく異なる値を誤って入力する場合がある。例えば、Ｘ軸の座標値の桁数が１つ大きくなると、ロボット１が基準座標系７１のＸ軸の方向に大きく移動してしまう。本実施の形態における制御装置４は、補助変数の設定の誤りを監視する機能を有する。
【００４６】
図２を参照して、本実施の形態における制御装置４は、ロボット１の動作プログラム４６の設定値を監視する監視部５１を含む。監視部５１は、動作プログラム４６に設定されている補助変数４７を監視する。第１の制御においては、補助変数４７の許容範囲４８が予め定められている。許容範囲４８は、補助変数に設定されても良い数値の範囲である。記憶部４２は、第３の領域に補助変数４７の許容範囲４８を記憶する。なお、補助変数の許容範囲４８は、補助変数４７と共に同じ領域に記憶されていても構わない。例えば、許容範囲４８は、補助変数４７の値と共に１つのファイルにて記憶されていても構わない。
【００４７】
許容範囲４８は、それぞれの補助変数４７に対して個別に設定されている。例えば、５個の補助変数ＰＲ［ｎ］に対して、５個の許容範囲４８を設定することができる。または、動作プログラム４６に設定されている少なくとも１個の補助変数４７に許容範囲４８を設定することができる。
【００４８】
許容範囲４８は、補助変数４７にて使用されている形式に対応するように設定することができる。例えば、図５に示す補助変数は、基準座標系７１の座標値にて設定されている。このために、許容範囲は、基準座標系７１のそれぞれの座標軸に対して上限値と下限値とを設定することができる。上限値と下限値とに挟まれる範囲が許容範囲４８になる。
【００４９】
また、ロボット１の位置および姿勢は、任意の形態にて表すことができる。例えば、ロボット１の位置および姿勢は、ロボット１のそれぞれの駆動軸における回転角度にて表すことができる。本実施の形態のロボット１は、６個の駆動軸Ｊ１〜Ｊ６を有する。動作プログラムにおける主変数および補助変数は、複数の駆動軸Ｊ１〜Ｊ６の回転角度にて設定されることができる。この場合には、次の表１に示すように、それぞれの駆動軸Ｊ１〜Ｊ６に対して回転角度の上限値および下限値を設定することができる。上限値と下限値とに挟まれる範囲が許容範囲になる。
【００５０】
【表１】
2020037165.tif 000003
【００５１】
更に、許容範囲は、任意の方法にて設定することができる。図６に、許容範囲の設定方法の説明図を示す。許容範囲の設定方法としては、ロボット１が配置されている空間の任意の位置に基準点７９を設定することができる。基準点７９は、補助変数にて設定される位置の近傍に配置することができる。そして、Ｘ軸、Ｙ軸、およびＺ軸を有する座標系を任意の向きにて設定する。Ｘ軸の方向、Ｙ軸の方向、およびＺ軸の方向において、基準点７９から予め定められた距離にて離れた点を設定する。そして、この点を通る直方体を許容範囲４８ａに設定することができる。この場合の許容範囲は、次の表２に示すように、それぞれの座標軸ごとに設定することができる。表２の許容範囲では、Ｚ軸方向のみについて基準点からずれて設定されることが許容されている。
【００５２】
【表２】
2020037165.tif 000004
【００５３】
図７に、許容範囲の設定方法の他の説明図を示す。図６においては、直交座標系を用いて許容範囲を設定したが、この形態に限られない。円筒座標系または極座標系を用いて許容範囲を設定しても構わない。更に、図７に示す例においては、任意の位置に基準点７９を設定することができる。基準点７９を通る任意の基準方向をＺ軸として設定することができる。そして、基準方向からの軸の傾きθと、ハンド２の中心軸の周りの回転角φの値を用いて、許容範囲を設定しても構わない。
【００５４】
図２を参照して、監視部５１は、補助変数４７の値が許容範囲４８内であるか否かを判定する判定部５２を含む。また、監視部５１は、補助変数４７の値が許容範囲４８を逸脱する場合に、許容範囲４８を逸脱した信号を発信する発信部５３を含む。発信部５３は、変更された補助変数４７が異常であることを他の部分に送信する。
【００５５】
図３を参照して、補助変数ＰＲ［１］に対応する移動点ＭＰＲ１に関して、許容範囲４８ａが示されている。図３に示す例では、移動点ＭＰＲ１は、許容範囲４８ａの内部に配置されている。例えば、補助変数４７に対応する全ての座標軸における座標値が、許容範囲の座標値の範囲内である。このために、判定部５２は、作業者が入力した補助変数４７の値が妥当な値であると判定する。
【００５６】
図８に、本実施の形態における第１の制御を説明するためのロボットの第２の側面図を示す。図８に示す例においては、補助変数ＰＲ［１］に対応する移動点ＭＰＲ１は、許容範囲４８ａの外側に配置されている。例えば、補助変数４７の座標値のうち少なくとも一つの座標値が、許容範囲の座標値の許容範囲から逸脱している。この場合に、判定部５２は、補助変数４７の値が許容範囲４８を逸脱すると判定する。判定部５２は、補助変数の値が異常であると判定する。
【００５７】
そして、発信部５３は、教示操作盤３７に対して、表示部３９の画面に警告を表示する指令を発信する。表示部３９は、警告を表示する指令を受信して、画面に補助変数の値が許容範囲を逸脱していることを表示する。
【００５８】
図９に、本実施の形態における第１の制御のフローチャートを示す。図９に示す制御は、補助変数の値が変更される度に実施することができる。例えば、作業者が補助変数のファイルを開いて補助変数の値を変更する。次に、作業者が補助変数の値を保存した時に、この制御を実施することができる。または、予め定められた時間間隔ごとに、図９に示す制御を実施しても構わない。
【００５９】
ステップ８１において、監視部５１は、補助変数の監視を実施するか否かを判定する。本実施の形態においては、作業者は、補助変数の監視を実施するか否かを予め定めておくことができる。そして、作業者は、補助変数の監視を実施するか否かのフラグを記憶部４２に記憶しておくことができる。監視部５１は、このフラグを記憶部４２から読み込む。ステップ８１において、補助変数の監視を実施しない場合には、この制御を終了する。ステップ８１において、補助変数の監視を実施する場合に、制御はステップ８２に移行する。
【００６０】
ステップ８２においては、監視部５１は、補助変数の許容範囲が設定されているか否かを判定する。ステップ８２において、全ての補助変数について、許容範囲が設定されていない場合には、この制御を終了する。ステップ８２において、少なくとも１つの補助変数について、許容範囲が設定されている場合には、制御はステップ８３に移行する。または、ステップ８２においては、今回の制御の直前に変更された補助変数について、判定を行っても構わない。ステップ８３において、判定部５２は、補助変数の値および許容範囲を取得する。
【００６１】
次に、ステップ８４において、判定部５２は、補助変数の値が許容範囲内であるか否かを判定する。動作プログラムに複数の補助変数が含まれている場合には、全ての補助変数についてこの判定を実施することができる。または、判定部５２は、今回の制御の前に変更された補助変数の判定を実施しても構わない。
【００６２】
ステップ８４において、補助変数の値が許容範囲内である場合には、この制御を終了する。一方で、ステップ８４において、補助変数の値が許容範囲を逸脱している場合に、制御はステップ８５に移行する。
【００６３】
ステップ８５において、発信部５３は、教示操作盤３７に対して警告を表示する指令を示す。そして、教示操作盤３７の表示部３９は、補助変数の値が異常であることを表示する。
【００６４】
作業者は、表示部３９に表示される警告を見て、補助変数の値を変更することができる。そして、作業者は、適正な範囲内において補助変数の値を調整しながら動作プログラムを生成することができる。動作プログラムが完成したときには、作業者がロボット１の駆動を開始するボタンを押すことにより、ロボット１は、動作プログラムに従って駆動する。
【００６５】
本実施の形態の制御装置４の監視部５１は、補助変数の値が許容範囲内であるか否かを判定する判定部５２と、補助変数の値が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信する発信部５３とを有する。このために、補助変数に基づいて動作されるロボット１の位置および姿勢が許容される範囲内であるか否かを判定することができる。
【００６６】
本実施の形態の制御装置４は、補助変数の値を変更するための入力部３８を含む教示操作盤３７を備える。そして、判定部５２は、作業者が入力部３８により補助変数の値を変更したときに、補助変数の値が許容範囲内であるか否かを判定する。補助変数４７の値を変更する必要がある場合に、作業者は、補助変数４７が設定されているファイル９６を開くことにより、容易に補助変数の値を変更することができる。このときに、監視部５１による監視が行われるために、作業者が誤った補助変数の値を入力しているか否かを判定することができる。
【００６７】
更に、教示操作盤３７は、補助変数の値が許容範囲を逸脱している場合に、表示部３９に警報を表示する。この構成を採用することにより、作業者が誤った補助変数の値を入力した場合に、作業者に知らせることができる。ロボット１が予想しなかった方向に移動したり、大きな移動量にて移動したりすることを抑制することができる。この結果、ロボット１が作業者または他の物に衝突することを抑制できる。なお、制御装置４は、補助変数の値が許容範囲を逸脱している場合に、任意の制御を実施することができる。例えば、教示操作盤が警報音を発するように制御しても構わない。
【００６８】
また、表示部３９は、補助変数の許容範囲を画面に表示しても構わない。特に、作業者が補助変数の値を入力したり変更したりする画面に許容範囲を表示することができる。教示操作盤３７は、記憶部４２から、補助変数４７の許容範囲４８を取得することができる。そして、表示部３９は、作業者が補助変数４７の値を入力する画面において許容範囲４８を表示することができる。この制御により、作業者が許容範囲から外れる補助変数の値を入力することを抑制できる。
【００６９】
また、教示操作盤３７の表示部３９は、ロボット１の画像を表示しても構わない。そして、表示部３９は、補助変数に基づく移動点および許容範囲をロボットの画像に重ねて表示しても構わない。この制御を行うことにより、作業者が入力部３８から補助変数の値を入力しているときに補助変数に対応する位置をロボット１の画像にて確認することができる。作業者が、誤った値を入力することを抑制することができる。なお、ロボットの画像としては、２次元の画像または３次元の画像を表示することができる。
【００７０】
次に、本実施の形態における第２の制御を説明する。図１０に、第２の制御を説明するためのロボットの側面図を示す。第２の制御において、補助変数は、主変数に基づくロボット１の位置および姿勢を調整する変数である。第２の制御の補助変数は、主変数において定められる移動点の位置をずらす為の変数である。第２の制御の補助変数では、主変数にて定められるロボット１の位置および姿勢からのずれ量が設定される。
【００７１】
図１１に、本実施の形態における第２の制御を説明するための動作プログラムを示す。図１０および図１１を参照して、動作プログラム４６ｂには、主変数Ｐ［１］，Ｐ［２］，Ｐ［３］と、補助変数ＰＲ［２］が記載されている。図１０および図１１に示す例においては、移動点ＭＰ１に対応する主変数Ｐ［１］が定められる。移動点ＭＰ２に対応する主変数Ｐ［２］が定められる。移動点ＭＰ３に対応する主変数Ｐ［３］が定められる。第２の制御においては、移動点ＭＰ２は、補助変数ＰＲ［２］にて移動点ＭＰ２Ｓまでオフセットされる。この制御により、ロボット１のツール先端点は、移動点ＭＰ１から移動点ＭＰ２Ｓに移動する。この後に、ツール先端点は、移動点ＭＰ２ＳからＭＰ３に移動する。
【００７２】
図１２に、第２の制御における補助変数が設定されているファイルを示す。図１０から図１２を参照して、動作プログラム４６ｂの２行目には、補助変数ＰＲ［２］を用いて主変数Ｐ［２］に基づくロボット１の位置および姿勢をオフセットさせる指令が記載されている。ここでの例では、ファイル９７には、ツール座標系７２の座標軸ごとに、位置をずらす量が設定されている。
【００７３】
補助変数ＰＲ［２］では、Ｚ軸方向の移動量として＋１００ｍｍが記載されている。Ｚ軸以外の座標軸の方向の移動量はゼロである。このために、補助変数ＰＲ［２］では、移動点ＭＰ２をツール座標系７２のＺ軸の方向に＋１００ｍｍにて移動させることが示されている。移動点ＭＰ２Ｓは、移動点ＭＰ２をツール座標系７２のＺ軸の方向に＋１００ｍｍずらした点である。動作制御部４３は、ツール先端点が移動点ＭＰ１から移動点ＭＰ２Ｓに移動するように、ロボット１の位置および姿勢を変更する。
【００７４】
このような移動点をずらすための補助変数においても、許容範囲を設定することができる。許容範囲としては、第１の制御と同様に、ロボット１の位置および姿勢を定めている形式と同様に形式にて設定することができる。例えば、図１２に示す例では、ツール座標系７２の座標軸ごとに、移動量の上限値および下限値を設定することができる。または、ロボット１の位置および姿勢が、ロボット１の駆動軸の回転角にて設定されている場合には、駆動軸ごとに回転角をずらす量の上限値および下限値を設定することができる。
【００７５】
監視部５１の判定部５２は、第１の制御と同様に補助変数の値が許容範囲内であるか否かを判定することができる。第２の制御では、所定の移動量が判定範囲内であるか否かが判定される。発信部５３は、第１の制御と同様に、補助変数の値が許容範囲を逸脱する場合に、許容範囲を逸脱する信号を発信することができる。このように、監視部５１は、補助変数の値を監視することができる。
【００７６】
ところで、図２および図１１を参照して、本実施の形態における監視部５１は、補助変数に基づいてロボット１が動作したときのロボット１の位置および姿勢を算出する位置算出部５５を含む。ここでの例では、位置算出部５５は、動作プログラム４６ｂの２行目の指令文に従って移動したときのロボット１の位置および姿勢を算出する。例えば、位置算出部５５は、ツール先端点が移動点ＭＰ２Ｓに配置された時のツール先端点の位置およびツール座標系７２の向きを算出する。または、位置算出部５５は、ツール先端点が移動点ＭＰ２Ｓに配置された時のロボット１の位置および姿勢として、ロボット１の駆動軸Ｊ１〜Ｊ６の回転角度を算出することができる。
【００７７】
一方で、作業者は、補助変数にてずらした後の移動点ＭＰ２Ｓにおけるロボット１の位置および姿勢に関する許容範囲４８ａを予め設定しておくことができる。許容範囲４８ａは、記憶部４２に記憶させておくことができる。
【００７８】
次に、判定部５２は、位置算出部５５により算出されたロボット１の位置および姿勢が許容範囲内であるか否かを判定する。発信部５３は、位置算出部５５により算出されたロボット１の位置および姿勢が許容範囲を逸脱する場合に、許容範囲を逸脱した信号を発信する。
【００７９】
このように、第２の制御においては、補助変数に基づいて変更された後のロボット１の位置および姿勢を判定しても構わない。上記以外の第２の制御の方法、作用、および効果については、第１の制御と同様であるので、ここでは説明を繰り返さない。
【００８０】
前述の第１の制御および第２の制御は、作業者が教示操作盤を用いて補助変数の値を変更したときに実施する例を説明しているが、制御装置による制御は、この形態に限られない。制御装置が補助変数を変更したときにも同様の監視の制御を実施することができる。
【００８１】
本実施の形態の第３の制御では、制御装置が補助変数を変更する時に、監視部が動作プログラムの設定値を監視する。図１３に、本実施の形態における第３の制御を実施するための動作プログラムを示す。
【００８２】
ロボット１が動作プログラムにて駆動している時に、制御装置４が、予め定められた計算式により補助変数の値を算出する場合がある。動作プログラム４６ｃにおいては、1行目の指令文において、補助変数ＰＲ［１］に補助変数ＰＲ［２］の値を入力している。
【００８３】
動作プログラム４６ｃの２行目の指令文において、補助変数ＰＲ［２］が予め定められた計算式にて算出されている。補助変数ＰＲ［２］の１番目の要素に対して１００を加算する制御を実施している。例えば、補助変数ＰＲ［２］が基準座標系７１の座標値にて表される場合に、１番目の要素は、基準座標系７１の複数の座標軸の座標値のうちＸ軸の座標値になる。このため、２行目の指令文により、Ｘ軸の座標値に１００を加算する。すなわち、現在の補助変数ＰＲ［２］のＸ軸の座標値に１００を加算し、その他の座標軸の座標値は変更しない変数を新たな補助変数ＰＲ［２］に設定している。記憶部４２は、新たな補助変数ＰＲ［２］を記憶する。そして、動作プログラム４６ｃの３行目の指令文では、ツール先端点が算出された補助変数ＰＲ［２］に対応する移動点に向かって移動することが指定されている。
【００８４】
このように、動作プログラム４６ｃの実行中に、動作プログラム４６ｃに基づいて補助変数の値が変更される場合がある。図２を参照して、監視部５１は、補助変数４７が修正されたことを検出する修正検出部５７を含む。修正検出部５７は、動作プログラム４６の実行中に補助変数４７が変更されたことを検出する。本実施の形態の監視部５１は、補助変数４７が変更された場合には、変更された後の補助変数４７について判定を行う。
【００８５】
判定部５２は、ロボット１が駆動している期間中に、制御装置４により補助変数が変更されたときに、補助変数の値が許容範囲内であるか否かを判定する。この制御を実施することにより、動作プログラムを実行しているときに、補助変数の値が変更されても補助変数が許容範囲内であるか否かを判定することができる。判定部５２による判定方法の制御は、第１の制御または第２の制御と同様に実施することができる。
【００８６】
さらに、補助変数の値が許容範囲を逸脱した場合に、発信部５３は、補助変数の値が許容範囲を逸脱した信号を動作制御部４３に送出することができる。動作制御部４３は、ロボット１およびハンド２を停止する制御を実施する。この制御を実施することにより、ロボットが予期しない方向に動いて、作業者に衝突したり、他の装置に衝突したりすることを抑制することができる。
【００８７】
なお、動作プログラムの実行中に、制御装置により補助変数が変更される制御としては、任意の制御を実施することができる。例えば、図２を参照して、本実施の形態のロボット装置５は、ワークの画像を撮像する３次元カメラ８を備える。動作制御部４３は、動作プログラム４６に基づいて、ワークを撮像する指令を３次元カメラ８に送出する。３次元カメラ８は、ワークを撮像できる位置に固定されている。例えば、３次元カメラ８は、コンベヤ等で搬送されるワークを撮像するように架台に固定されている。
【００８８】
例えば、コンベヤで搬送されてきたワークは、３次元カメラ８にて撮像される。３次元カメラ８にて撮像された画像は、監視部５１に送信される。監視部５１は、画像を処理する画像処理部５６を含む。画像処理部５６は、３次元カメラ８にて撮像した画像に基づいてコンベヤにおけるワークの位置および姿勢を検出する。そして、画像処理部５６は、予め定められた基準位置に対するワークのずれ量を算出することができる。
【００８９】
監視部５１は、補助変数の値を算出する補助変数算出部５８を含む。補助変数算出部５８は、このワークのずれ量に基づいて、ロボット１がワークを把持する時のロボット１の位置および姿勢の修正量を算出する。動作プログラムには、ワークの基準位置に対してロボットの位置および姿勢をずらすための補助変数が設定されている。補助変数算出部は、ロボット１の位置および姿勢の修正量に基づいて、補助変数を算出することができる。記憶部４２は、この補助変数を記憶することができる。変更された補助変数に基づいてロボット１の位置および姿勢を制御することにより、ロボット１はワークを確実に把持することができる。
【００９０】
この場合にも、修正検出部５７は、補助変数が変更されたことを検出する。監視部５１の判定部５２は、補助変数が予め定められた許容範囲内であるか否かを判定することができる。
【００９１】
このように、補助変数は作業者により設定されるだけでなく、制御装置により変更されても構わない。または、制御装置４は、外部の装置から補助変数の値を受信して、記憶部に記憶することができる。そして、監視部５１は、この補助変数の値を判定しても構わない。
【００９２】
上記以外の第３の制御の方法、作用、および効果については、第１の制御および第２の制御と同様であるので、ここでは説明を繰り返さない。
【００９３】
図１４に、本実施の形態における第４の制御を説明するロボットの側面図を示す。ロボット６においては、上部アーム１１に、作業ツールを駆動するための駆動装置７５が配置されている。例えば、アーク溶接を行う作業ツールが用いられる場合には、ワイヤーを供給する装置が上部アーム１１などのロボット１の構成部品に配置される場合がある。
【００９４】
第４の制御においては、ロボット１の表面に設定点７６が予め設定されている。図１４に示す例においては、駆動装置７５の上側の角に設定点７６が設定されている。監視部５１の位置算出部５５は、補助変数に基づいてロボットが動作したときの設定点７６の位置を算出する。例えば、位置算出部５５は、設定点７６の位置を基準座標系の座標値にて算出することができる。
【００９５】
また、設定点７６の位置の許容範囲が予め定められて、記憶部４２に記憶されている。設定点７６の位置の許容範囲は、例えば基準座標系７１の座標値にて定めることができる。判定部５２は、位置算出部５５により算出された設定点の位置が許容範囲内であるか否かを判定する。そして、位置算出部５５により算出された設定点の位置が許容範囲を逸脱する場合には、発信部５３は許容範囲を逸脱した信号を発信することができる。
【００９６】
ロボット１の表面に設定される設定点７６は、任意の位置に配置することができる。例えば図１４に示すロボット１において、上部アーム１１の端部のうちリスト１５が取り付けられている端部と反対側の端部が関節部から飛び出している。この上部アーム１１の端部は、作業者または他の装置に衝突する虞がある。このために、上部アーム１１の端部に設定点７７を設定することができる。
【００９７】
上記以外の第４の制御の方法、作用、および効果については、第１の制御から第３の制御と同様であるので、ここでは説明を繰り返さない。
【００９８】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【００９９】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【０１００】
１，６  ロボット
２  ハンド
４  制御装置
３７  教示操作盤
３８  入力部
３９  表示部
４２  記憶部
４３  動作制御部
４６，４６ａ，４６ｂ，４６ｃ  動作プログラム
４７  補助変数
４８，４８ａ，４８ｂ  許容範囲
５１  監視部
５２  判定部
５３  発信部
５５  位置算出部
５７  修正検出部
５８  補助変数算出部
７６，７７  設定点
【図１】
2020037165.tif 000005
【図２】
2020037165.tif 000006
【図３】
2020037165.tif 000007
【図４】
2020037165.tif 000008
【図５】
2020037165.tif 000009
【図６】
2020037165.tif 000010
【図７】
2020037165.tif 000011
【図８】
2020037165.tif 000012
【図９】
2020037165.tif 000013
【図１０】
2020037165.tif 000014
【図１１】
2020037165.tif 000015
【図１２】
2020037165.tif 000016
【図１３】
2020037165.tif 000017
【図１４】
2020037165.tif 000018