(57)【要約】 【課題】  ロボットの基準可動部が予め定められる設定位置に達したときに設定位置通過信号を出力する場合において、基準可動部の速度低下を防ぐロボットの制御装置を提供する【解決手段】  移動開始位置Ａから移動終了位置Ｂまで直接移動する移動速度でロボットハンド１９を移動させる。移動開始位置Ａから移動終了位置Ｂに移動するまでの移動経路上の設定位置をロボットハンド１９が通過したとすると、設定位置通過信号を出力する。このとき、ロボットコントローラ２４は、設定位置Ｃに達する前後でロボットハンド１９の移動速度を低下させることがない。したがって設定位置Ｃの存在に起因する、ロボットハンド１９の移動速度の低下を防ぐことができ、ロボットハンド１９の移動時間の不所望な増長を防ぐことができる。これによってサイクルタイムを短縮することができ、ロボットの作業性を向上することができる。【選択図】      図１
2006243926.tif 000002
【特許請求の範囲】
【請求項１】
多軸ロボットに設けられる基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算する動作演算部と、
基準可動部を制御時間間隔毎に各移動位置に順次移動させるような、ロボットの各軸動作量を決定して、ロボットを制御する制御部と、
前記移動経路上に設定される設定位置を決定可能な設定位置関連情報と、基準可動部が設定位置を通過するときに行うべき作業内容情報とを記憶する情報記憶部と、
情報記憶部によって記憶される設定位置関連情報に基づいて、前記設定位置を計算する設定位置計算部と、
動作演算部の演算結果に基づいて制御部がロボットを制御する間に、基準可動部の位置する移動位置が前記設定位置を通過したことを判断すると、情報記憶部に記憶される設定位置関連情報に基づいて、設定位置に対応する作業内容を実行する作業内容実行部とを含むことを特徴とするロボットの制御装置。
【請求項２】
設定位置関連情報は、移動経路と設定位置とに対して予め定められる関連性を有する関連位置と、その関連性を示す関連情報とを含むことを特徴とする請求項１記載のロボットの制御装置。
【請求項３】
基準可動部の移動指令が与えられる入力部をさらに含み、
制御部は、入力部から与えられる移動指令に従って、基準可動部が変位するようにロボットを制御可能であり、
設定位置計算部は、前記移動指令に従って変位した基準可動部の位置を前記関連位置として用いて、設定位置を計算することを特徴とする請求項２記載のロボットの制御装置。
【請求項４】
設定位置関連情報は、基準可動部が第１位置と第２位置とのいずれか一方から設定位置までの移動経路に沿った移動量の情報であることを特徴とする請求項１記載のロボットの制御装置。
【請求項５】
設定位置関連情報は、基準可動部が第１位置から第２位置まで移動する全移動量に対する、第１位置と第２位置とのいずれか一方から設定位置まで移動する設定位置移動量の割合の情報であることを特徴とする請求項１記載のロボットの制御装置。
【請求項６】
基準可動部を制御時間間隔毎に前記各移動位置に順次移動させる第１動作モードと、
基準可動部を第１位置から第２位置まで移動経路に沿って移動させる間に、基準可動部を設定位置で一時停止させる第２動作モードとの両方で、ロボットを制御可能であることを特徴とする請求項１〜４のいずれか１つに記載のロボットの制御装置。
【請求項７】
多軸ロボットに設けられる基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させる制御装置のロボット制御方法であって、
第１位置と、第２位置と、基準可動部の移動経路上に設定される設定位置を決定可能な設定位置関連情報と、基準可動部が設定位置を通過するときに行うべき作業内容情報とを記憶する情報記憶工程と、
基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算する動作演算工程と、
記憶工程で記憶した設定位置関連情報に基づいて、設定位置を計算する設定位置計算工程と、
基準可動部を制御時間間隔毎に前記各移動位置に順次移動させるような、ロボットの各軸動作量を決定して、ロボットを制御する制御工程と、
制御工程を行っている間に、基準可動部の位置する移動位置が前記設定位置を通過したことを判断すると、情報記憶部に記憶される設定位置関連情報に基づいて、設定位置に対応する作業内容を実行する作業内容実行工程とを含むことを特徴とする制御装置のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットに設定される基準可動部が予め定められる設定位置に達したことを判断すると、予め設定される作業内容を実行するロボットの制御装置に関する。
【背景技術】
【０００２】
図１５は、ロボットによるワーク２の搬送動作を示す図である。ロボットは、図１５（１）〜図１５（６）の順に動作を行い、ロボットハンド１によってチャック３に保持されているワーク２を保持して、予め定められる場所にワーク２を搬送する。この場合の従来技術のプログラム例の一部を、以下の表１に示す。また図１６は、表１に示すプログラムの動作を行った場合のロボットハンドの速度の時間変化を示すグラフである。
【０００３】
【表１】
2006243926.tif 000003
【０００４】
ロボットの制御装置は、ハンド１を、ワーク２を保持するチャック３に向かって移動させ、ワーク２上の第１位置Ａに移動して停止させる（ＬＭＯＶＥ  ♯Ａ）。次に、ハンド１を第１位置Ａからチャック３に近づいた第２位置Ｂに移動させて停止させる（ＬＭＯＶＥ  ♯Ｂ）次に、ハンド１を開く指令と、チャック３を開く指令を与えて（ＳＩＧＮＡＬ  １，２）、ハンド１を第２位置Ｂからチャック３に近づいた第３位置Ｃに移動させて停止させる（ＬＭＯＶＥ  ♯Ｃ）。次に、ハンド１を閉じる指令を与えて（ＳＩＧＮＡＬ  −１）、ハンド１を第３位置Ｃから第４位置Ｄに移動させて停止させる。第４位置Ｄに移動したときには、ハンド１がワーク２を挟んだ状態となる。次に、ハンド１を、第４位置Ｄよりもチャック３から遠ざかる第５位置Ｅに移動させて停止させる（ＬＭＯＶＥ  ♯Ｅ）。次に別のワーク２をチャック３に供給する指令を与えて（ＳＩＧＮＡＬ  ３）、ハンド１を第４位置Ｅから第１位置Ａに移動させる。
【０００５】
このようにロボットハンドの制御装置は、予め定める設定位置Ｂ，Ｃ，Ｅにハンド１が達するとロボットを停止し、ハンド１を開閉させたり、チャック３の開閉指令を出力したり、ワークの供給指令を出力したりする。
【０００６】
また特許文献１に開示される制御装置は、ロボットによってレーザ溶接装置を予め定められる移動経路に沿って移動させる場合、レーザ溶接装置の予測位置が、予め定められる設定位置に到達したことを判断すると、設定位置通過信号を出力する。制御装置は、レーザ溶接装置の移動指令の変化と移動位置とに基づいて、予測位置を決定する。
【０００７】
また特許文献２に開示される制御装置は、ロボットによってハンドを水平方向および垂直方向に移動させて、ワークのハンドリングを行う。制御装置は、ハンドを水平方向に移動させて、ハンドリング位置よりも手前の設定位置に到達したことを判断して、設定位置通過信号を出力する。そして設定位置通過信号を出力するとハンドの垂直移動を開始する。これによってハンドは、滑らかな円弧の移動軌跡を描いてハンドリング位置に達する。
【０００８】
これらのようにロボットの制御装置は、ロボットに設けられるロボットハンドなどの基準可動部が予め定められる移動経路上の設定位置に達したことを判断すると、設定位置に応じた作業内容を実行する技術がある。
【０００９】
【特許文献１】特開平９−２５８８１２号公報
【特許文献２】特開昭５８−１７７２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
図１６に示す従来技術では、ハンド１が移動経路上の設定位置Ｂ，Ｃ，Ｅに達したときにハンド１の移動を停止させる。したがってハンド１が設定位置Ｂ，Ｃ，Ｅに移動する毎にハンド１の移動動作が分断されてしまい、ハンド１の平均速度が低下し、作業効率が低下してしまうという問題がある。
【００１１】
図１７は、基準可動部の移動経路を説明するための図であり、図１８は、基準可動部の移動速度の時間変化を示すグラフである。図１８（１）は、移動開始位置Ａから設定位置Ｃに移動する第１動作Ｄ１と、設定位置Ｃから移動終了位置Ｂに移動する第２動作Ｄ２とを個別に行う場合を示し、図１８（２）は、第１動作Ｄ１と第２動作Ｄ２とを一部同時に行う場合を示す。
【００１２】
図１７に示すように、基準可動部を移動開始位置Ａから移動終了位置Ｂに移動させる場合であっても、移動開始位置Ａから移動終了位置Ｂに直接移動する移動経路１８からずれて設定位置Ｃが設定される場合がある。この場合、基準可動部は、移動開始位置Ａから設定位置Ｃに向かって進んで、設定位置Ｃで停止する。そして設定位置Ｃから移動終了位置Ｂに向かって移動する間に、設定位置Ｃに応じた作業内容を実行する。
【００１３】
この場合、図１８（１）に破線で示すような移動開始位置Ａから移動終了位置Ｂに直接進むという１つの単一動作Ｄ３が、移動開始位置Ａから設定位置Ｃに移動する第１動作Ｄ１と、設定位置Ｃから移動終了位置Ｂに移動する第２動作Ｄ２とに分断されてしまう。したがって移動開始位置Ａから移動終了位置Ｂに移動する途中の設定位置Ｃに向かうために速度を低下しなければならず、移動開始位置Ａから移動終了位置Ｂに達するまでの時間Ｗ１が、移動開始位置Ａから移動終了位置Ｂに直接移動するまでの時間Ｗ２よりも長くなってしまう。
【００１４】
また移動開始位置Ａから移動終了位置Ｂに直接移動する移動経路１８から、ずれた位置に設定位置Ｃが設けられると、基準可動部の移動経路が増大してしまい、移動開始位置Ａから移動終了位置Ｂに直接移動するよりも、移動時間がさらに長くなってしまう。
【００１５】
特許文献２に開示される技術では、図１８（２）で示すように、基準可動部は、第１動作Ｄ１が完了する前に、第１動作Ｄ１とともに第２動作Ｄ２を開始する。この場合、図１７の２点鎖線で示すように、基準可動部は、設定位置Ｃを通過せずに、設定位置Ｃの近傍を滑らかな軌跡１７に沿って移動して移動開始位置Ａから移動終了位置Ｂまで移動する。そして第１動作Ｄ１とともに第２動作が開始された時点ｔＣで設定位置に応じた作業内容を実行する。この場合であっても、単一動作Ｄ３に比べて、第１動作Ｄ１と第２動作Ｄ２とを同時に行う期間Ｗ３と、その前後の期間Ｗ４，Ｗ５とにおいて基準可動部の速度が低下してしまう。したがって移動開始位置Ａから移動終了位置Ｂに移動するまでの時間Ｗ６が、移動開始位置Ａから移動終了位置Ｂに直接移動するまでの時間Ｗ２よりも長くなってしまう。
【００１６】
したがって本発明の目的は、ロボットの基準可動部が予め定められる設定位置に達したときに設定位置に応じた作業内容を実行する場合において、基準可動部の速度低下を防ぐロボットの制御装置を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、多軸ロボットに設けられる基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算する動作演算部と、
基準可動部を制御時間間隔毎に各移動位置に順次移動させるような、ロボットの各軸動作量を決定して、ロボットを制御する制御部と、
前記移動経路上に設定される設定位置を決定可能な設定位置関連情報と、基準可動部が設定位置を通過するときに行うべき作業内容情報とを記憶する情報記憶部と、
情報記憶部によって記憶される設定位置関連情報に基づいて、前記設定位置を計算する設定位置計算部と、
動作演算部の演算結果に基づいて制御部がロボットを制御する間に、基準可動部の位置する移動位置が前記設定位置を通過したことを判断すると、情報記憶部に記憶される設定位置関連情報に基づいて、設定位置に対応する作業内容を実行する作業内容実行部とを含むことを特徴とするロボットの制御装置である。
【００１８】
また本発明は、設定位置関連情報は、移動経路と設定位置とに対して予め定められる関連性を有する関連位置と、その関連性を示す関連情報とを含むことを特徴とする。
【００１９】
また本発明は、基準可動部の移動指令が与えられる入力部をさらに含み、
制御部は、入力部から与えられる移動指令に従って、基準可動部が変位するようにロボットを制御可能であり、
設定位置計算部は、前記移動指令に従って変位した基準可動部の位置を前記関連位置として用いて、設定位置を計算することを特徴とする。
【００２０】
また本発明は、設定位置関連情報は、基準可動部が第１位置と第２位置とのいずれか一方から設定位置までの移動経路に沿った移動量の情報であることを特徴とする。
【００２１】
また本発明は、設定位置関連情報は、基準可動部が第１位置から第２位置まで移動する全移動量に対する、第１位置と第２位置とのいずれか一方から設定位置まで移動する設定位置移動量の割合の情報であることを特徴とする。
【００２２】
また本発明は、基準可動部を制御時間間隔毎に前記各移動位置に順次移動させる第１動作モードと、
基準可動部を第１位置から第２位置まで移動経路に沿って移動させる間に、基準可動部を設定位置で一時停止させる第２動作モードとの両方で、ロボットを制御可能であることを特徴とする。
【００２３】
また本発明は、多軸ロボットに設けられる基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させる制御装置のロボット制御方法であって、
第１位置と、第２位置と、基準可動部の移動経路上に設定される設定位置を決定可能な設定位置関連情報と、基準可動部が設定位置を通過するときに行うべき作業内容情報とを記憶する情報記憶工程と、
基準可動部を予め定められる移動経路に沿って第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算する動作演算工程と、
記憶工程で記憶した設定位置関連情報に基づいて、設定位置を計算する設定位置計算工程と、
基準可動部を制御時間間隔毎に前記各移動位置に順次移動させるような、ロボットの各軸動作量を決定して、ロボットを制御する制御工程と、
制御工程を行っている間に、基準可動部の位置する移動位置が前記設定位置を通過したことを判断すると、情報記憶部に記憶される設定位置関連情報に基づいて、設定位置に対応する作業内容を実行する作業内容実行工程とを含むことを特徴とする制御装置のロボット制御方法である。
【発明の効果】
【００２４】
請求項１記載の本発明によれば、動作演算部によって、基準可動部を第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算する。そして制御部は、動作演算部によって演算された移動位置に基づいて、制御時間間隔毎のロボットの各軸動作量を決定する。制御部が各軸動作量をロボットに与えることによって、ロボットは、基準可動部を制御時間間隔毎に移動位置を順次移動させる。これによって基準可動部は、第１位置から第２位置まで予め定められる移動経路に沿って移動する。
【００２５】
また設定位置計算部は、情報記憶部から設定位置間連情報を取得し、取得した設定位置関連情報に基づいて設定位置を計算する。そしてロボットが基準可動部を第１位置から第２位置まで移動させる間に、作業内容実行部は、基準可動部の位置する移動位置が、設定位置を通過したか否かを判断する。作業内容実行部は、基準可動部が設定位置を通過したことを判断すると、通過した設定位置に対応する作業内容を実行する。
【００２６】
たとえば作業内容実行部は、基準可動部が設定位置を通過したことを判断すると、設定位置通過信号を出力する。この場合、他の装置が設定位置通過信号を受信する。そして設定位置通過信号が、他の装置における動作開始指令として用いられる。これによって基準可動部が設定位置に位置してから、他の装置の動作を開始することができる。たとえばロボットハンドを停止させずに、ロボットが設定位置を通過したときにハンドおよびチャックの開閉を行うことができる。
【００２７】
また制御部が、動作演算部の演算結果に基づいてロボットを制御することによって、基準可動部は、第１位置から第２位置まで直接移動する移動速度で移動経路に沿って移動する。これによって移動経路上に設定位置が存在したとしても、基準可動部は、設定位置に達する前後で移動速度を低下させることがない。したがって基準可動部の移動時間の不所望な増長を防ぐことができる。これによってサイクルタイムを短縮することができ、ロボットの作業性を向上することができる。
【００２８】
また設定位置計算部によって設定位置が計算されるので、移動経路上に位置する設定位置を正確に決定させることができる。また作業者が制御装置に設定位置を直接教示する必要がなく、ロボット動作のための準備作業を容易に行うことができる。
【００２９】
また請求項２記載の本発明によれば、設定位置関連情報は、移動経路と設定位置とに対して予め定められる関連性を有する関連位置と、その関連性を示す関連情報とを含む。これによって作業者は、関連位置と設定位置との関連性を考慮して、関連位置を教示することで、設定位置計算部によって設定位置を計算させることができ、設定位置を移動経路上に正確に配置することができる。たとえば設定位置の座標を直接教示する場合は、正確な移動経路上の座標を入力する必要があるが、本発明では、おおよその位置に関連位置を決定するだけで制御装置が正確な設定位置を計算するので、ロボットの教示動作を容易に行うことができる。たとえば関連情報は、移動開始位置および移動終了位置と、ハンドが移動開始位置から移動終了位置までを移動する補間経路タイプとを含む。
【００３０】
関連位置に対する設定位置および移動経路の関係の例示として、関連位置から移動経路まで延びる直線のうちで関連位置から移動経路までの距離が最も短くなる直線と、移動経路との交点が設定位置として決定される。この場合、作業者は、移動経路のおおよそを把握していると、所望とする設定位置に対応する関連位置を容易に決定することができる。
【００３１】
また第１位置と第２位置とのいずれかが微調整されて移動経路が変更された場合、設定位置計算部は、変更された移動経路に基づいて設定位置を再計算する。このように再計算されることで、第１位置と第２位置が変更されても設定位置が移動経路からずれることがなく、作業者は新たに設定位置を再教示する必要がない。これによって利便性を向上することができる。
【００３２】
また請求項３記載の本発明によれば、作業者によって入力部が操作されることで、基準可動部が任意の位置に移動する。たとえば入力部は、ティーチペンダントなどによって実現される。作業者は、関連位置と設定位置との関連性を把握していれば、関連位置に基準可動部を配置したときに設定されるべき設定位置を判断することができる。これによって設定位置がどのあたりに位置するかをおおまかに把握した状態で、関連位置を設定することができ、関連位置の教示ミスを防ぐことができる。
【００３３】
また請求項４記載の本発明によれば、設定位置関連情報は、基準可動部が第１位置または第２位置から設定位置まで移動経路に沿って移動する移動量である。移動量として、移動距離および移動角度を含む。この場合、作業者は、第１位置または第２位置のいずれかと、設定位置との間の移動量さえ把握していれば、所望の位置に設定位置を設定することができる。これによって設定位置を直接教示する場合に比べて、ロボットの教示動作を容易に、かつ正確に行うことができ、利便性を向上することができる。たとえば移動経路が直線の場合はもちろん、第１位置から第２位置まで円弧状軌跡を描くような移動経路であっても本発明を適用可能である。
【００３４】
また請求項５記載の本発明によれば、設定位置関連情報は、全移動量に対する設定位置移動量の割合である。移動量は、移動距離および移動角度を含む。この場合、作業者は、おおよその移動経路を把握していれば、所望の位置に設定位置を設定することができる。これによって設定位置を直接教示する場合に比べて、ロボットの教示動作を容易に、かつ正確に行うことができ、利便性を向上することができる。
【００３５】
また請求項６記載の本発明によれば、第２動作モードでロボットを制御することによって、基準可動部は、第１位置から移動経路に沿って進み、設定位置で一時停止する。そして、設定位置から移動経路に沿って第２位置まで進む。このように第２動作モードでは、設定位置で基準可動部を停止させるので、作業者は、実際に基準可動部がどの位置に位置したときに、作業内容実行部が作業内容を実行するかを把握することができ、利便性を向上することができる。たとえば設定位置を微調整したい場合には、第２動作モードで基準可動部を設定位置で一時停止させた状態から、設定位置間連情報を再教示してもよい。これによって作業者が希望する位置に正確に設定位置を設定することができ、利便性を向上することができる。
【００３６】
また作業者が第２動作モードを実行して設定位置の設定を確認したあと、第１動作モードを実行することによって、実際の基準可動部の移動動作においては、設定位置の存在に起因する、基準可動部の移動速度の低下を防ぐことができ、基準可動部の移動時間の不所望な増長を防ぐことができる。これによってロボットによる作業性を向上することができる。
【００３７】
また請求項７記載の本発明によれば、設定位置関連情報と第１位置と第２位置と作業内容情報とを記憶した状態で、ロボットの制御動作を開始する。制御動作を開始すると、まず第１位置から第２位置まで移動させるときの、予め定められる制御時間間隔毎の複数の移動位置を計算するとともに、設定位置関連情報に基づいて設定位置を計算する。そして基準可動部を前記各移動位置に順次移動させるような、ロボットの各軸動作量を決定して、ロボットを制御する。これによってロボットは、基準可動部を第１位置から第２位置まで移動経路に沿って移動させる。
【００３８】
またロボットによって基準可動部を移動させている間に、基準可動部の移動位置が設定位置を通過したことを判断すると、通過した設定位置に対応する作業内容を実行する。たとえば作業内容として設定位置通過信号を出力する。出力された設定位置通過信号は、他の装置によって受信される。そして他の動作における動作開始信号として用いられる。これによって基準可動部が設定位置に位置してから、他の装置の動作を開始することができる。
【００３９】
制御工程では、動作演算工程で演算された移動位置に基づくことによって、第１位置から第２位置まで直接移動する移動速度で基準可動部を移動させる。すなわち、第１位置と第２位置との間に設定位置が存在したとしても、設定位置に達する前後で基準可動部の移動速度を低下することがない。したがって設定位置の存在に起因する、基準可動部の移動速度の低下を防ぐことができ、基準可動部の移動時間の不所望な増長を防ぐことができる。これによってロボットによる作業性を向上することができる。また設定位置関連情報に基づいて設定位置を計算することで、設定位置を作業者が制御装置に教示する必要がなく、移動経路上に設定位置を正確に設定することができる。これによってロボットの教示動作を容易に行うことができる。
【発明を実施するための最良の形態】
【００４０】
図１は、本発明の実施の一形態であるロボットコントローラ２４を示すブロック図であり、図２は、ロボットコントローラ２４とロボット２１，２２とを含むロボット設備２０を示す図である。
【００４１】
本発明のロボット設備２０は、複数の多軸ロボット２１，２２と、各多軸ロボット２１，２２をそれぞれ個別に制御するロボットコントローラ２４（以下、単にコントローラ２４と称する）とを含んで構成される。本実施の形態では、ロボット設備２０は、搬送対象物となるワーク２のプレス製造ラインに設けられる。製造ラインには、ワーク２をプレス加工するプレス装置１と、２つのロボット２１，２２とがそれぞれ配置される。第１ロボット２１は、プレス装置１に対するワーク２の供給搬送を行い、第２ロボット２２は、プレス装置１に対するワーク２の回収搬送を行う。具体的には、第１ロボット２１は、把持したワーク２をプレス装置１に受け渡す。また第２ロボット２２は、プレス装置１からプレス後のワーク２を受け取って把持する。
【００４２】
プレス装置１が複数並んで配置され、ワーク２が各プレス装置１によって順次プレス加工される場合には、各プレス装置１と各ロボットとがワーク２の搬送方向に交互に並んで配置される。この場合、ロボット２１，２２は、搬送方向上流側のプレス装置１からワーク２を回収し、回収したワーク２を搬送方向下流側のプレス装置１に供給する。このようにして複数のロボット２１，２２によるワーク２のプレス装置間搬送が行われる。
【００４３】
１つの注目するプレス装置１に対して、プレス前のワーク２を供給するロボット２１と、プレス後のワーク２を回収するロボット２２とが存在する場合、供給用ロボット２１と、回収用ロボット２２とがプレス装置近傍で接触するおそれがある。これを防ぐために、一方のロボット２１のコントローラ２４が、プレス装置１の近傍空間内の近接設定位置Ｃ１にロボットハンド１９を移動させた場合、他方のロボット２２のコントローラ２４が注目するプレス装置１の近傍空間外の離反設定位置Ｃ２にロボットハンド１９を移動させたことを示す離反信号を受信するのを待つ。一方のロボット２１のコントローラ２４は、離反信号を受信後、他方のロボット２２のコントローラ２４に対し、プレス装置１の空間に侵入するのを禁止する侵入禁止信号を出力するとともに、ロボットハンド１９をプレス装置１の近傍空間に侵入させる。
【００４４】
次に、一方のロボット２１のコントローラ２４は、プレス装置１の近傍空間外の離反設定位置Ｃ２にロボットハンド１９を移動させた場合、そのことを示す離反信号を出力する。これによってロボット同士の干渉を防いで、ワーク２のプレス装置間搬送を円滑に行うことができる。
【００４５】
図２に示すように、ロボット設備２０における複数の多軸ロボット２１，２２は、たとえば、６軸垂直多関節型ロボットによって実現される。ロボット２１，２２は、プレス装置１を挟んで相互に間隔を開けて配置される。各ロボット２１，２２は、床上に設置される基台１２３上に、旋回体１２４が設けられる。旋回体１２４には、複数のアーム１２５，１２６，１２７が各軸まわりに角変位可能に設けられる。最も遊端部のアーム１２７の先端部１２８には、手首１２８が設けられる。この手首１２８には手先装置、いわゆるエンドエフェクタが設けられる。本実施の形態では、手先装置は、ワーク２を着脱可能に把持するロボットハンド１９によって実現される。ロボットハンド１９は、ロボット２１に設けられる基準可動部となる。
【００４６】
各ロボット２１，２２は、各アーム１２５〜１２７の回転軸毎にサーボモータ４５がそれぞれ設けられる。各サーボモータ４５は、各アーム１２５〜１２７をそれぞれ個別に動作させる。各サーボモータ４５がそれぞれ個別に角変位して各アーム１２５〜１２７を変位駆動することによって、ロボットハンド１９を任意の位置および姿勢に移動させることができる。
【００４７】
コントローラ２４は、ロボット２１，２２を制御するロボットの制御装置となる。本実施の形態では、ロボット２１，２２毎に設けられる各コントローラ２４は、同様の構成を有する。したがって第１ロボット２１のコントローラ２４について説明し、第２ロボット２２のコントローラ２４の説明は省略する。
【００４８】
コントローラ２４は、予め記憶されるプログラムに従ってロボットハンド１９を移動させるために必要なロボット２１の各サーボモータ４５の動作量を決定する。そしてその動作量を、たとえば電流値として各サーボモータ４５にそれぞれ与えることによって、ロボットハンド１９を、予め定められる移動経路、移動速度および移動姿勢で移動させることができる。本実施の形態では、コントローラ２４は、ロボットハンド１９を移動開始位置から移動終了位置まで、予め定められる移動速度および移動経路で移動させる。またコントローラ２４は、ロボットハンド１９に把持指令および把持解除指令を与える。
【００４９】
また一方のコントローラ２４は、ロボットハンド１９が、移動経路に沿ってプレス装置１に近接する方向に移動しているときに、プレス装置１近傍に設定される近接設定位置Ｃ１に達したことを判断すると、他方のコントローラ２４から離反信号を受信するまで、ロボットハンド１９のプレス装置１の近傍空間への進入動作を待機する。そして他方のコントローラ２４から離反信号を受信すると、他方のコントローラ２４に侵入禁止信号を出力する。またロボットハンド１９が、移動経路に沿ってプレス装置１から離反する方向に移動しているときに、プレス装置１近傍に設定される離反設定位置Ｃ２に達したことを判断すると、他方のコントローラ２４に離反信号を出力する。
【００５０】
また他方のコントローラ２４も同様の動作を行う。すなわち他方のコントローラ２４は、ロボットハンド１９が、移動経路に沿ってプレス装置１に近接する方向に移動しているときに、プレス装置１近傍に設定される近接設定位置Ｃ１に達したことを判断すると、一方のコントローラ２４から離反信号を受信するまで、ロボットハンド１９のプレス装置１の近傍空間への侵入動作を待機する。そして一方のコントローラ２４から離反信号を受信すると、一方のコントローラ２４に侵入禁止信号を出力する。またロボットハンド１９が、移動経路に沿ってプレス装置１から離反する方向に移動しているときに、プレス装置１近傍に設定される離反設定位置Ｃ２に達したことを判断すると、一方のコントローラ２４に離反信号を出力する。これによってロボット２１，２２同士の干渉を防いで、ワーク搬送を行うことができる。
【００５１】
図１に示すように、コントローラ２４は、インターフェース部３０と、ロボット動作演算部３１と、制御部３６とを有する。インターフェース部３０は、外部装置または作業者に対する情報の受渡しを行う。ロボット動作演算部３１は、予め定められる制御時間間隔毎にロボットハンド１９が移動すべき移動位置を演算する。また制御部３６は、ロボットハンド１９が制御時間間隔毎に移動位置に移動するように、各サーボモータ４５に電流を供給する。なお、コントローラ２４内の各構成は、バスラインなどによって相互に通信可能に接続される。制御時間間隔は、たとえば数ミリ秒に設定される。
【００５２】
インターフェース部３０は、第１ＣＰＵ３２と、第１メモリ３３と、入出力部３４とを含んで構成される。入出力部３４は、コントローラ２４と外部装置との情報の入出力動作、またはコントローラ２４と作業者との情報の入出力動作を行う。本実施の形態では、入出力部３４には、ティーチペンダントがケーブルによって接続される。ティーチペンダントは、作業者がロボットに動作位置を教示するための入力部となる。作業者は、ティーチペンダントを操作することでロボット２１を動作させて、ロボットハンド１９を変位させる。そしてロボットハンド１９が移動すべき位置をコントローラ２４の第１メモリ３３に教示する。
【００５３】
また入出力部３４は、第１ＣＰＵ３２から与えられる出力情報をティーチペンダントに与える。そしてティーチペンダントの表示部が出力情報を表示する。作業者は、表示部を確認しながら、操作部を操作することができる。また作業者は、ティーチペンダントを用いて、ロボットハンド１９の位置を含むロボットの動作に係るロボット動作情報を第１メモリ３３に記憶させることができる。
【００５４】
また入出力部３４は、ティーチペンダントのほかに、他の外部装置に接続可能に構成されることで、コントローラ２４と外部装置との情報の入出力動作を行うことができる。このようにコントローラ２４は、ティーチペンダント以外の装置からも、ロボット動作情報を取得可能である。またティーチペンダントと同様の機能を有する操作部および表示部がコントローラ２４の筐体部に設けられてもよい。
【００５５】
第１ＣＰＵ３２は、入出力部３４の入出力動作を制御し、たとえば中央演算回路（
Central Processing Unit）によって実現される。第１メモリ３３は、第１ＣＰＵ３２の演算プログラムおよびロボット動作情報を記憶する。また第１メモリ３３は、第１ＣＰＵ３２から与えられる演算結果を記憶する。
【００５６】
第１ＣＰＵ３２は、第１メモリ３３に記憶される演算プログラムを実行することによって、第１メモリ３３に記憶されるロボット動作情報を解読し、ロボット動作情報に従ったロボット動作計画を生成する。そして第１ＣＰＵ３２は、生成したロボット動作計画をロボット動作演算部３１に与える。
【００５７】
たとえばロボット動作情報には、ロボットハンド１９の移動開始位置、移動終了位置、通過位置、移動経路を決定するために必要な移動経路決定情報、移動速度、ロボットハンド１９の開閉位置と開閉指令などのロボットを動作するために必要な情報によって構成される。本実施形態では、ロボット動作情報は、ロボットハンド１９の往路動作を示すロボット往路動作プログラムと、復路動作を示すロボット復路動作プログラムとを含む。ロボット往路動作プログラムは、一方のプレス装置１からワーク２を回収して、他方のプレス装置１にワーク２を供給するまでのロボットハンド１９の動作プログラムである。またロボット復路動作プログラムは、ワーク２を供給した後で、他方のプレス装置１から一方のプレス装置１に移動するまでのロボットハンド１９の動作プログラムである。
【００５８】
また第１ＣＰＵ３２によって生成されるロボット動作計画は、ロボット動作プログラムがコンピュータ処理可能に解読された情報である。本実施の形態では移動開始位置となる第１位置Ａおよび移動終了位置となる第２位置Ｂのそれぞれの座標と、移動経路１０を示す情報と、ロボットハンド１９の移動速度の時間変化を示す情報を含む。
【００５９】
ロボット動作演算部３１は、コントローラ通信部３７と、パワーシーケンス部３８と、第２ＣＰＵ３９と、第２メモリ４０とを含んで構成される。コントローラ通信部３７は、後述するサーボ通信部４１および他のコントローラの通信部とに対して情報通信可能に設けられる。パワーシーケンス部３８は、各サーボモータ４５の始動手順および終了手順など、ロボットの動作計画とは無関係に設定されるロボット動作プログラムを記憶および実行する。
【００６０】
第２ＣＰＵ３９は、第１ＣＰＵ３２からロボット動作計画が与えられると、ロボット動作計画に基づいて、移動経路の補間処理を行い、ロボットハンド１９が移動する移動経路上の複数の移動位置を演算する。具体的には、第２ＣＰＵ３９は、ロボット動作計画に示される移動速度と、加減速時における加速度と、移動開始位置と移動終了位置とに基づいて、各移動位置を演算する。ここで移動位置は、ロボットハンド１９を予め定められる移動経路に沿って移動させるときの、予め定められる制御時間間隔毎にロボットハンド１９が順次移動する位置である。本実施形態では、ロボットハンド１９の移動位置は、ロボットハンド１９の位置と姿勢とを表わす同時変換行列によって表わされる。
【００６１】
コントローラ通信部３７は、第２ＣＰＵ３９が求めた各移動位置が順番に与えられ、その移動位置を示す情報を後述するサーボ通信部４１に与える。また第２ＣＰＵ３９から設定位置出力信号が与えられると、他のコントローラに向けてその出力信号を出力する。第２メモリ４０は、第２ＣＰＵ３９の演算プログラムを記憶するとともに、第２ＣＰＵ３９から与えられる演算結果を記憶する。
【００６２】
制御部３６は、サーボ通信部４１と、第３ＣＰＵ４２と、第３メモリ４３と、アンプ４４とを含んで構成される。サーボ通信部４１は、コントローラ通信部３７と情報通信可能に設けられる。また第３メモリ４３は、第３ＣＰＵ４２の演算プログラムを記憶するとともに、第３ＣＰＵ４２から与えられる演算結果を記憶する。
【００６３】
第３ＣＰＵ４２は、コントローラ通信部３７を介して、制御時間間隔毎のロボットハンド１９の移動位置が順次与えられる。第３ＣＰＵ４２は、与えられたロボットハンド１９の移動位置に基づいて、逆変換演算する。すなわち第３ＣＰＵ４２は、ロボットハンド１９を目的とする移動位置に移動させるような、各ロボットアームの目標変位位置をそれぞれ求める。そして各ロボットアームが前記目標変位位置に移動するような、各サーボモータ４５の動作量指令値を決定する。具体的には、第３ＣＰＵ４２は、各サーボモータ４５に設けられるエンコーダからそれぞれ検出される各アームの検出変位位置を取得し、前記目標変位位置と検出変位位置とに基づいて、フィードバック制御によって各サーボモータ４５の動作量指令値を求める。
【００６４】
このようにして第３ＣＰＵ４２は、制御時間間隔毎に各サーボモータ４５の動作量指令値を演算し、各サーボモータの動作量指令値を対応する各アンプ４４に個別に与える。各アンプ４４は、第３ＣＰＵ４２から与えられる動作量指令値に基づいて、サーボモータ４５の動作量指令値にしたがった電流を、対応するサーボモータ４５に与える。これによって各サーボモータ４５は、第３ＣＰＵ４２が演算した目標変位位置にロボットアームを移動させ、ロボットハンド１９を移動位置に移動させることができる。このようにしてロボットハンド１９の移動位置を制御時間間隔毎に順次変化させることによって、ロボットハンド１９を移動経路に沿って移動させることができる。
【００６５】
本実施の形態では、コントローラ２４は、ロボットハンド１９が移動経路に沿って、移動開始位置から移動終了位置に移動する間に、ロボットハンド１９の位置する移動位置が、設定位置を通過したことを判断すると、設定位置に応じた作業内容を実行する。具体的には、設定位置である離反設定位置Ｃ２を通過したときに設定位置通過信号である侵入禁止信号を出力する。このために、第１メモリ３３は、設定位置関連情報と作業内容情報とが記憶される情報記憶部となる。ここで設定位置関連情報は、移動経路とともに設定されることで、移動経路上に設定される設定位置を決定可能な情報である。また作業内容情報は、ロボットハンド１９が設定位置を通過するときに行うべき作業内容を示す情報である。このような設定位置関連情報および作業内容情報の一部または全てが、入出力部３４を介して外部装置または作業者から予め入力される。
【００６６】
第１ＣＰＵ３２は、第１メモリ３３に記憶される設定位置関連情報を取得し、取得した設定位置関連情報に基づいて、設定位置を計算する。すなわち第１ＣＰＵ３２は、設定位置を計算する設定位置計算部を兼ねる。そして第１ＣＰＵ３２は、ロボット２１の動作計画とともに設定位置に関する情報を第２ＣＰＵ３９に与える。第２ＣＰＵ３９は、移動位置を計算するとともに、計算した移動位置が設定位置を通過したことを判断すると、第１メモリ３３に記憶される作業内容情報に基づいて、設定位置に対応する作業内容を実行する。本実施の形態では、第２ＣＰＵ３９は、計算した移動位置が設定位置を通過したことを判断すると、コントローラ通信部３７によって、設定位置通過信号を出力する。すなわち第２ＣＰＵ３９は、設定位置に対応する作業内容を実行する作業内容実行部となる。
【００６７】
このようなコントローラ２４の電気的構成は、一例示であって他の形態をとりうることも可能である。たとえば１つのＣＰＵによって第１〜第３ＣＰＵの演算動作を行ってもよい。また第３ＣＰＵ４２が逆変換演算を行い、アンプ４４がサーボモータのフィードバック制御を行ってもよい。またコントローラ２４のうち制御部３６が残余の部分から分離していてもよい。またロボット毎にコントローラ２４が設けられるとしたが、各ロボットを統括して制御する１つのロボットコントローラであってもよい。
【００６８】
図３は、設定位置関連情報を説明するための図である。本実施形態では、ロボットハンド１９を移動開始位置Ａから移動終了位置Ｂに移動させる場合、移動開始位置Ａと移動終了位置Ｂとを結ぶ直線に沿ってロボットハンド１９が移動するように移動経路１０が設定されている。また設定位置Ｃは、移動開始位置Ａと移動終了位置Ｂとの間であって、移動経路１０上に配置される。
【００６９】
また設定位置関連情報は、設定位置Ｃを決定するために必要であって、移動経路１０と設定位置Ｅとに対して予め定められる関連性を有する関連位置Ｅと、その関連性を示す情報を含む。本実施の形態では、関連位置Ｅに最も近い移動経路上の位置が設定位置Ｃとして決定される。具体的には、関連位置Ｅを通過して移動経路１０に垂直な平面が、移動経路１０と交差する位置が設定位置Ｃとして決定される。この場合、関連位置Ｅから移動位置ｘ１〜ｘ５…まで延びる直線Ｆ１〜Ｆ５…は、移動位置ｘｉが移動終了位置Ｂに近づくにつれて徐々に長さが短くなったあとに徐々に長さが長くなる。そして、長さが最も短くなったあとで長さが長くなるときの移動位置ｘ５が、設定位置Ｃを通過した移動位置ｘ５となる。
【００７０】
本実施形態では、移動経路１０を決定するための移動経路決定情報として、移動開始位置Ａと移動終了位置Ｂとを結ぶ直線が移動経路１０となることが予め決定されている。また移動開始位置Ａと移動終了位置Ｂとは、作業者などから教示される。この場合、第１ＣＰＵ３２は、移動経路決定情報と、移動開始位置Ａと、移動終了位置Ｂとに基づいて、移動経路１０を計算することができる。
【００７１】
また上述する設定位置Ｃと関連位置Ｅとの位置関係を示す位置関係情報が予め決定されていると、作業者などによって関連位置Ｅが教示されることによって、第１ＣＰＵ３２は、予め計算した移動経路１０と関連位置Ｅとに基づいて、設定位置Ｃを計算することができる。すなわち前記移動経路決定情報と、前記位置関係情報とが予め設定された状態で、第１ＣＰＵ３２は、移動開始位置Ａ、移動終了位置Ｂおよび関連位置Ｅが教示されることによって、移動経路上に設定される設定位置Ｃを計算することができる。
【００７２】
設定位置Ｃをコントローラ２４に計算させるために、作業者は、移動経路決定情報と、位置関係情報とを選択したうえで、移動開始位置Ａ、移動終了位置Ｂおよび関連位置Ｅを決定するだけでよい。これによって移動経路上に設定位置Ｃを間接的に決定することができ、設定位置Ｃを直接教示する場合に比べて、教示作業を容易にすることができる。
【００７３】
図４は、コントローラ２４によるロボット制御手順を示すフローチャートである。移動開始位置Ａ、移動終了位置Ｂおよび関連位置Ｅ、前記移動経路決定情報、位置関係情報、ロボットハンド１９の速度設定および加速度設定、ロボットハンド１９の開閉位置などの情報を示すロボット動作プログラムが、第１メモリ３３に記憶された状態で、作業者または外部装置からロボットハンド１９の動作開始指令が与えられると、ステップａ１に進み、コントローラ２４は、ロボット制御動作を開始する。
【００７４】
ステップａ１では、第１ＣＰＵ３２が、第１メモリ３３に記憶される移動開始位置Ａ、移動終了位置Ｂ、移動経路決定情報とに基づいて、移動経路１０を計算する。本実施の形態では、上述したように、移動開始位置Ａから移動終了位置Ｂまで直線で結ばれる移動経路１０を計算する。第１ＣＰＵ３２が移動経路１０を計算すると、ステップａ２に進む。
【００７５】
ステップａ２では、第１ＣＰＵ３２が、ステップａ１で計算した移動経路１０と、第１メモリ３３に記憶される位置関係情報と、関連位置Ｅとに基づいて、移動経路１０上の設定位置Ｃを計算する。第１ＣＰＵ３２が設定位置Ｃを計算すると、ステップａ３に進む。
【００７６】
ステップａ３では、第１ＣＰＵ３２は、第１メモリ３３に記憶されるロボット動作プログラムを解読する。第１ＣＰＵ３２は、解読した情報に基づいてロボット動作計画を生成する。そして生成したロボット動作計画を第２ＣＰＵ３９にそれぞれ与え、ステップａ４に進む。
【００７７】
ステップａ４では、第２ＣＰＵ３９が、ロボットハンド１９を移動経路１０に沿って移動させるときの、制御時間間隔毎の移動位置ｘ１〜ｘ５…を計算する。具体的には、第２ＣＰＵ３９は、１つ以前に演算した移動位置ｘｉ−１に対して、予め定められる制御時間間隔経過したときに移動する次の移動位置ｘｉを演算する。もし１つ以前に演算した移動位置が存在しない場合には、移動開始位置Ａに対して、予め定められる制御時間間隔経過したときに移動する移動位置ｘ１を演算する。このようにして移動位置ｘｉを１つ計算すると、ステップａ５に進む。
【００７８】
ステップａ５では、第２ＣＰＵ３９は、ステップａ４で計算した移動位置ｘｉが、ステップａ２で計算された設定位置Ｃを通過した直後かどうかを判断し、通過した直後ではないと判断すると、ステップａ６に進む。また通過した直後と判断するとステップａ７に進む。ステップａ７では、第２ＣＰＵ３９は、コントローラ通信部３７を介して、他方のロボットコントローラに向けて設定位置通過信号を出力させ、ステップａ６に進む。
【００７９】
ステップａ６では、第２ＣＰＵ３９が、ステップａ４で計算した移動位置ｘｉを、通信部３７，４１を介して第３ＣＰＵ４２に与える。第３ＣＰＵ４２は、第２ＣＰＵ３９から与えられる移動位置ｘｉを逆変換処理およびサーボ処理して、各アンプ４４にそれぞれ与える動作量指令値を決定する。各アンプ４４は、第３ＣＰＵ４２から与えられる動作量指令値に従った電流を対応するサーボモータ４５に流すことによって、ロボットハンド１９は、移動位置ｘｉに移動する。第２ＣＰＵ３９が第３ＣＰＵ４０に移動位置ｘｉを与えると、ステップａ８に進む。
【００８０】
ステップａ８では、第２ＣＰＵ３９は、ステップａ４で計算した移動位置ｘｉが、ロボットハンド１９の移動終了位置Ｂに達したか否かを判断する。移動終了位置Ｂに達していない場合には、ステップａ４に戻り、ステップａ４〜ａ８を繰返す。またステップａ８において、ステップａ４で計算した移動位置ｘｉがロボットハンド１９の移動終了位置Ｂに達していると判断した場合には、ステップａ９に進み、１つのロボット動作計画に対応する制御動作を終了する。
【００８１】
もし、１つの動作プログラムに複数のロボット動作計画が含まれる場合には、１つの動作計画が終了すると、ステップａ１〜ａ８を繰返す。そして、全ての動作計画が完了したことを判断すると、ロボットの制御動作を終了する。
【００８２】
このように本実施の形態では、ロボット動作演算部３１によって、ロボットハンド１９を移動開始位置Ａから移動終了位置Ｂまで移動させるときの、制御時間間隔毎の複数の移動位置ｘｉを計算する。そして制御部３６は、ロボット動作演算部３１によって演算された各移動位置ｘｉに基づいて、ロボット２１の各軸動作量を決定する。そしてアンプ４４によって、各軸動作量に応じた電流を各サーボモータ４５に与える。
【００８３】
またインターフェース部３０の第１ＣＰＵ３２が、設定位置Ｃを計算するための設定位置関連情報を取得し、設定位置関連情報に基づいて、設定位置Ｃを計算する。そして制御部３６によってロボットハンド１９を移動開始位置Ａから移動終了位置Ｂまで移動させる間に、ロボット動作演算部３１は、ロボットハンド１９が次に移動する移動位置ｘｉが、設定位置Ｃを通過したか否かを判断する。ロボット動作演算部３１は、ロボットハンド１９が設定位置Ｃを通過したことを判断すると、設定位置通過信号を出力する。
【００８４】
本実施の形態では、設定位置として、図２に示すようにプレス装置１の近傍空間内に位置する近接設定位置Ｃ１と、プレス装置１の近傍空間外に位置する離反設定位置Ｃ２とがそれぞれ設定される。一方のロボット２１のコントローラ２４は、他方のロボット２１のロボットコントローラ２４から出力した侵入禁止信号を受信すると、自己の制御するロボット２１のロボットハンド１９をプレス装置の近傍空間に移動させることを待機する。そして、離反信号を受信すると、プレス装置１の近傍空間へのロボットハンド１９の移動を再開する。これによってロボット同士の干渉を防いで、ワーク２のプレス装置間搬送を円滑に行うことができる。
【００８５】
また本実施の形態では、制御時に移動経路および設定位置Ｃを計算したが、第１ＣＰＵ３２がロボット制御に先立って移動経路および設定位置Ｃを計算しておき、その計算結果を第１メモリ３３に記憶していてもよい。これによってロボット制御時に生じるコントローラの負荷を軽減することができる。
【００８６】
図５は、ロボットハンド１９の移動速度の時間変化を示すグラフである。本実施の形態のロボットハンド１９は、ロボット動作演算部３１は、１または複数の設定位置Ｃが設定されたとしても、移動開始位置Ａから移動終了位置Ｂまで直接移動する場合と同様のロボット動作計画を生成する。したがって図５に示すように、コントローラ２４によって制御されるロボット２１は、移動開始位置Ａから移動終了位置Ｂまで直接移動する移動速度変化でロボットハンド１９を移動させる。これによって設定位置Ｃに達する時点ｔＣの前後でロボットハンド１９の移動速度が低下することがない。したがって設定位置Ｃの存在に起因する、ロボットハンド１９の移動速度の低下を防ぐことができ、ロボットハンド１９の移動時間の不所望な増長を防ぐことができる。これによってサイクルタイムを短縮することができ、ロボットの作業性を向上することができる。
【００８７】
本実施形態では、ロボット２１，２２は、離反設定位置Ｃ２の前後で減速せずに移動する。これによってロボット２１，２２のサイクルタイムを向上することができる。また一方のロボット２１のサイクルタイムを向上することで、他方のロボット２２の待機時間も短くすることができ、他方のロボット２２のサイクルタイムも向上することができる。これによってロボット同士の干渉を防ぐとともに、各ロボット２１，２２の作業性を向上することができる。
【００８８】
また本実施の形態によれば、インターフェース部３０で、設定位置関連情報から設定位置Ｃが計算される。したがって作業者などが設定位置Ｃを直接教示する必要がない。作業者は、関連位置Ｅと設定位置Ｃとの関連性を把握していれば、関連性に基づいて、関連位置Ｅを教示することで、作業者が所望とする位置に位置する設定位置Ｃをコントローラ２４に計算させることができる。この場合、設定位置Ｃに関連する関連位置Ｅのおおよその位置を教示するだけで、移動経路１０上に設定位置Ｃを正確に決定させることができ、ロボットの教示動作を容易に行うことができる。
【００８９】
具体的には、移動経路１０に対して垂直に延びて、設定位置Ｃを交差する平面上に関連位置Ｅを決定することによって、１つの設定位置Ｃを決定するための関連位置Ｅは、前記平面上に含まれる無数の位置のうち１つを指定すればよく、設定位置Ｃの座標を入力して教示する場合に比べて非常に容易に関連位置Ｅを決定することができる。
【００９０】
また作業者によってティーチペンダントが操作されることで、コントローラ２４は、ティーチペンダントの操作内容に従った位置にロボットハンド１９を移動させる。作業者は、関連位置Ｅと設定位置Ｃとの関連性を把握していれば、関連位置Ｅにロボットハンド１９を配置したときに設定されるべき設定位置Ｃを判断することができる。したがって設定位置Ｃがどのあたりに位置するかを把握した状態で、関連位置Ｅを設定することができ、関連位置Ｅを直接入力する場合に比べて、関連位置Ｅの教示ミスを防ぐことができる。
【００９１】
また設定位置Ｃと関連位置Ｅとの関係性が予め第１メモリ３３に記憶されていることで、関連位置Ｅを教示するだけで、設定位置Ｃを設定したと同等の効果を得ることができる。この場合、作業者は設定位置Ｃを決定するたびにプログラム作成などの複雑な作業を必要とせず、設定位置Ｃが複数ある場合でも、非常に容易に教示作業を行うことができる。
【００９２】
比較例として、移動開始位置Ａと移動終了位置Ｂを設定したとしても、作業者には正確な移動経路を把握することができないから、一度ロボットを移動開始位置Ａから移動終了位置Ｂまで移動経路に沿って移動するようにテスト動作させ、テスト動作時に設定位置Ｃを設定する必要がある。そしてさらに設定位置Ｃを設定したあとでテスト動作を行う必要がある。
【００９３】
これに対して本実施の形態では、ティーチペンダントによって移動開始位置Ａ、移動終了位置Ｂの教示と、関連位置Ｅの教示とを一度の教示作業で行うことができ、ロボットをテスト動作させる回数を減らすことができる。したがってロボットの教示時間を短縮することができる。
【００９４】
また移動開始位置Ａおよび移動終了位置Ｂの少なくともいずれかが微調整された場合、従来では、既に決定された設定位置Ｃは、移動開始位置Ａから移動終了位置Ｂまで進む移動経路１０からずれることになってしまう。これに対して本実施の形態では、関連位置Ｅを決定した後に、移動開始位置Ａおよび移動終了位置Ｂのいずれかを微調整したとしても、その微調整された移動経路に応じて設定位置Ｃが再計算される。したがって移動開始位置Ａおよび移動終了位置Ｂの微調整にともなって、設定位置Ｃを再設定する手間を省くことができる。
【００９５】
また本実施の形態では、コントローラ２４は、ロボットハンド１９の移動位置ｘｉが、設定位置Ｃを通過したと判断したときに、設定位置通過信号を出力する。したがってロボットハンド１９の移動速度および加速度などを変更した場合であっても、変更前と変わらない位置で設定位置通過信号を出力することができる。これによってロボットハンド１９の移動速度にばらつきがある場合であっても、信号を出力する位置が変化することがなく、ロボットの干渉を防ぐことができる。
【００９６】
図６は、ロボットハンド１９の位置の時間変化を示す図である。図６に示すように、本実施の形態のロボットハンド１９は、移動開始位置Ａから移動を開始してから、予め定められる定速時点に達するまでの加速期間Ｗ１０において、所定加速度で加速する。そして定速時点から予め定められる減速時点に達するまでの定速期間Ｗ１１において、一定速度で移動する。そして減速時点から移動終了位置Ｂに移動するまでの減速期間Ｗ１２において、負の加速度で減速する。
【００９７】
第２ＣＰＵ３９は、制御時間間隔ｄｔ毎に変化する移動位置ｘｉが、どの時点で設定位置Ｃを通過したか否かを、第１距離Ｌ１と、第２距離Ｌ２と、第３距離Ｌ３とを用いて判断する。ここで、第１距離Ｌ１は、移動開始位置Ａから移動終了位置Ｂまでの移動経路１０に沿う距離である。また第２距離Ｌ２は、移動終了位置Ｂから移動位置ｘｉまでの移動経路１０に沿う距離である。また第３距離Ｌ３は、移動終了位置Ｂから設定位置Ｃまでの移動経路１０に沿う距離である。
【００９８】
第２距離Ｌ２を第１距離Ｌ１で割算した値（Ｌ２／Ｌ１）となるパラメータ値Ｓは、ロボットハンド１９が移動開始位置Ａに位置するときは「１」である。そして時間が経過するとともに減少し、ロボットハンド１９が移動終了位置Ｂに位置するときは、「０」となる。したがって移動終了位置ＢをＢとし、移動開始位置をＡとし、前記パラメータ値をＳとすると、移動開始位置Ａから移動位置ｘｉまでの距離Ｌ４は、Ｂ−（Ｂ−Ａ）・Ｓで表わされる。
【００９９】
本実施の形態では、第２ＣＰＵ３９は、第１距離Ｌ１に対する第２距離Ｌ２の割合（Ｌ２／Ｌ１）が、第１距離Ｌ１に対する第３距離Ｌ３の割合（Ｌ３／Ｌ１）未満となると、移動位置ｘｉが設定位置Ｅを通過したことを判断する。このように移動開始位置Ａから移動終了位置Ｂまでの移動量Ｌ１に対する、移動終了位置Ｂから移動位置ｘｉに移動するまでの移動量Ｌ２と、移動終了位置Ｂから設定位置Ｃに移動するまでの移動量Ｌ３とに基づいて、設定位置通過信号を出力するタイミングを決定する。
【０１００】
この場合、予めステップａ２で、第１ＣＰＵ３２が、設定位置Ｃを計算するとともに、第１距離Ｌ１に対する第３距離Ｌ３の割合（Ｌ３／Ｌ１）を計算し、計算結果を動作計画に含めて、第２ＣＰＵ３９に与える。そしてステップａ４で、第１ＣＰＵ３２は、ロボットの移動位置とともに、第１距離Ｌ１に対する第２距離Ｌ２の割合（Ｌ２／Ｌ１）を計算する。そしてステップａ５で、第２ＣＰＵ３９は、第１距離Ｌ１に対する第３距離Ｌ３の割合（Ｌ３／Ｌ１）が、第１距離Ｌ１に対する第２距離Ｌ２の割合（Ｌ２／Ｌ１）未満に達したことを判断すると、ロボットハンド１９が位置する移動位置ｘｉが設定位置Ｃを通過したと判断する。
【０１０１】
このように移動開始位置Ａから移動終了位置Ｂまでの全移動量と、移動位置ｘｉから開始位置Ａまたは終了位置Ｂまでの移動量と、設定位置Ｃから開始位置Ａまたは終了位置Ｂまでの移動量とに基づいて、信号の出力タイミングを決定することによって、図９に関して後述するように、移動経路が補正された場合でも、信号の出力タイミングが大きくずれることを防ぐことができる。
【０１０２】
またコントローラ２４は、第１の動作モードである通常動作モードと、第２の動作モードであるテスト動作モードとの両方でロボットを制御可能である。通常動作モードでは、コントローラ２４は、ロボットハンド１９を制御時間間隔ｄｔ毎に前記各移動位置ｘｉに順次移動させるように、ロボットを制御する。またテスト動作モードは、コントローラ２４は、ロボットハンド１９を移動開始位置Ａから移動終了位置Ｂまで移動経路に沿って移動させる間に、ロボットハンド１９を設定位置Ｃで一時停止するように、ロボットを制御する。
【０１０３】
図７および図８は、通常動作モードとテスト動作モードとを説明するための図である。図７（１）は、通常動作モードのロボットハンド１９の移動状態を示し、図７（２）は、テスト動作モードのロボットハンド１９の移動状態を示す。また図８（１）通常動作モードの移動速度の時間変化を示し、図８（２）は、テスト動作モードの移動速度の時間変化を示す。
【０１０４】
図７（１）および図８（１）に示すように、通常動作モードでは、コントローラ２４は、設定位置Ｃでロボットハンド１９を停止させずに移動させる。これに対して、図７（２）および図８（２）に示すように、テスト動作モードでは、コントローラ２４は、設定位置Ｃでロボットハンド１９を一旦停止させ、作業者から再始動指令が与えられると、ロボットハンド１９の移動を再開させる。テスト動作モードでは、第２ＣＰＵ３９は、ステップａ７で出力信号を出力するとともに、その場で待機することを示す指令を第３ＣＰＵ４２に与え、作業者から再始動指令が与えられると、ステップａ８に進む。
【０１０５】
作業者は、テスト動作モードを実行させることによって、実際にロボットハンド１９がどの位置に位置したときに、設定位置通過信号を出力するのかを把握することができ、教示ミスを防止することができ、利便性を向上することができる。またたとえば設定位置Ｃを微調整したい場合には、テスト動作モードでロボットハンド１９を停止させた状態から、ティーチペンダントなどによってロボットハンドを移動させて、関連位置Ｅの再教示を行わせるようにしてもよい。また希望とする設定位置と現在の設定位置との移動量を入力してもよい。これによってより確実に、作業者が希望する位置で設定位置通過信号を出力させるようにすることができる。また１つの設定位置関連情報から複数の設定位置が計算された場合に、作業者が所望とする設定位置を選択してもよい。
【０１０６】
またテスト動作モードによって作業者による設定位置の確認が完了すると、作業者が通常動作モードを選択することによって、実際のロボットハンド１９の移動動作において、設定位置Ｃの存在に起因する、ロボットハンド１９の移動速度の低下を防ぐことができる。
【０１０７】
図９は、第１実施形態の変形例における移動経路１３を示す図である。移動開始位置Ａと、移動終了位置Ｂと、途中位置Ｇとが教示され、移動開始位置Ａから途中位置Ｇへ移動する移動経路１４と、途中位置Ｇから移動終了位置Ｂへ移動する移動経路１５とが設定される場合がある。
【０１０８】
上述した第１実施形態では、ロボットハンド１９は、移動開始位置Ａから途中位置Ｇへ移動した後、途中位置Ｇから移動終了位置Ｂへ移動する。また移動開始位置Ａと途中位置Ｇとの間に設定位置Ｃが設定される場合には、移動開始位置Ａから途中位置Ｇへ移動する間に、移動位置ｘｉが設定位置Ｃを通過すると出力信号を出力する。
【０１０９】
これに対して第１実施形態の変形例として、移動開始位置Ａから途中位置Ｇへ移動する第１動作が完了するまえに、途中位置Ｇから移動終了位置Ｂへ移動する第２動作を開始させる。これによって図９に示すように、ロボットハンド１９は、途中位置Ｇを通過せずに、途中位置Ｇの近傍を滑らかな軌跡に沿って移動して、移動開始位置Ａから移動終了位置Ｂまで移動する。したがってロボットハンド１９は、基準となる基準移動経路１４に対して補正された補正移動経路１３を移動する。
【０１１０】
変形例では、移動開始位置Ａから途中位置Ｇまでの基準移動経路１４に沿う第１距離Ｌ１に対する、各移動位置ｘｉと途中位置Ｇまでの基準移動経路１４に沿う第２距離Ｌ２と、設定位置Ｃと途中位置Ｇまでの基準移動経路１４に沿う第３距離Ｌ３との割合に基づいて、設定位置通過信号を出力するタイミングを決定する。すなわち、ロボットハンド１９を補正移動経路１３に沿って移動させる場合に、第２距離Ｌ２を第１距離Ｌ１で割算した値（Ｌ２／Ｌ１）が、第３距離Ｌ３を第１距離Ｌ１で割算した値（Ｌ３／Ｌ１）よりも小さくなると、出力信号を出力する。
【０１１１】
図９（２）に示すように、移動開始位置Ａ、移動終了位置Ｂおよび途中位置Ｇの位置関係によっては、移動経路のうちで関連位置Ｅに最も近い位置を設定位置として決定する場合に、基準移動経路１４によって設定される設定位置Ｃと、補正移動経路１３によって設定される設定位置Ｋとが大きくずれる場合がある。本実施の形態では、上述した割合に基づいて設定位置が決定されるので、基準移動経路１４を移動する場合の設定位置Ｃと補正移動経路１３を移動する場合の設定位置Ｈとが大きくずれることを防ぐことができる。
【０１１２】
図１０は、他の設定位置関連情報を説明するための図である。上述する設定位置関連情報は、図３に示すように、関連位置Ｅに最も近い移動経路上の位置が設定位置Ｃとして設定されるとしたが、これ以外であってもよい。他の設定位置関連情報として、移動開始位置Ａと移動終了位置Ｂとのいずれか一方から設定位置Ｃまでの移動経路１０に沿った区間距離Ｐ１，Ｐ２の情報として設定される。この場合、設定位置関連情報は、区間距離Ｐ１，Ｐ２と、移動開始位置Ａと移動終了位置Ｂとのいずれを基準として区間距離Ｐ１，Ｐ２を設定するかを示す距離関係情報とを含む。
【０１１３】
たとえば距離関係情報として、移動開始位置Ａを基準とすることが決定されていると、作業者によって区間距離Ｐ１が教示されることによって、第１ＣＰＵ３２は、予め計算した移動経路１０と、教示される区間距離Ｐ１とに基づいて、図１０（１）に示すように、移動開始位置Ａから区間距離Ｐ１だけ、移動終了位置Ｂに向かって移動経路１０に沿って移動した位置を、設定位置Ｃとして計算することができる。
【０１１４】
またたとえば距離関係情報として、移動終了位置Ｂを基準とすることが決定されていると、作業者によって区間距離Ｐ１が教示されることによって、第１ＣＰＵ３２は、予め計算した移動経路１０と、教示される区間距離Ｐ２とに基づいて、図１０（２）に示すように、移動終了位置Ｂから区間距離Ｐ１だけ、移動開始位置Ａに向かって移動経路１０に沿って移動した位置を、設定位置Ｃとして計算することができる。
【０１１５】
この場合、作業者は、移動開始位置Ａまたは移動終了位置Ｂのいずれかと、設定位置Ｃとの距離Ｐ１，Ｐ２さえ把握していれば、所望の位置に設定位置Ｃを設定することができる。これによって設定位置Ｃを直接教示する場合に比べて、ロボット２１の教示動作を容易に行うことができる。
【０１１６】
またさらに他の設定位置関連情報として、ロボットハンド１９が第１位置から第２位置まで移動する全移動量に対する、第１位置と第２位置とのいずれか一方から設定位置まで移動する設定位置移動量の割合の情報が設定されてもよい。たとえば設定位置に達するときのＳパラメータを作業者が直接設定してもよい。この場合も、作業者は、おおよその移動経路を把握していれば、設定位置に関するＳパラメータを入力することで、所望の位置に設定位置を設定することができる。これによって設定位置Ｃを直接教示する場合に比べて、ロボット２１の教示動作を容易に行うことができる。
【０１１７】
以上のような本実施の形態では、設定位置Ｃは、作業者から教示されるおおまかな位置または距離に基づいて、予め定める関連性に基づいて決定されるとした。この関連性は、上述した関連性以外であってもよい。たとえば関連位置Ｅを含む水平面または鉛直面が、移動経路と交差する位置を設定位置Ｃとしてもよい。また関連位置Ｅではなく、関連平面を設定してもよい。この場合、関連平面が移動経路に交差する位置を設定位置としてもよい。
【０１１８】
また区間距離Ｐ１，Ｐ２に換えて、移動開始位置Ａから移動終了位置Ｂまでの距離に対する設定位置Ｃから移動開始位置Ａまたは位相終了位置までの移動量の割合が教示されてもよい。また本実施の形態では、移動位置ｘｉが設定位置Ｃを通過したかどうかを移動量の割合に基づいて判断したが、他の判断方法によって判断してもよい。また移動開始位置Ａから移動終了位置Ｂに移動する移動経路は、直線状でなくともよい。またロボットハンド１９が設定位置に達するときの時間が設定位置間連情報として与えられてもよい。
【０１１９】
また本実施の形態では、第２ＣＰＵ３９は、設定位置Ｃを移動位置が通過したときに、ロボットハンド１９が設定位置Ｃを通過したとして判断した。しかしながらこれに限らず、移動位置が設定位置Ｃの近傍に設定される設定位置領域Ｃに入った場合に、ロボットハンド１９が設定位置Ｃを通過したと判断してもよく、また移動位置が設定位置と一致したときにロボットハンド１９が設定位置Ｃを通過したと判断してもよい。
【０１２０】
図１１は、本発明の他の実施の形態を説明するためのロボットの動作を示す図である。ロボットは、図１１（１）〜図１１（６）の順に動作を行い、ロボットハンド１９によってチャックに保持されているワークを保持して、予め定められる場所にワークを搬送する。この場合のプログラム例の一部を、以下の表２に示す。また図１２は、表２に示すプログラムの動作を行った場合のロボットハンドの速度の時間変化を示すグラフである。
【０１２１】
ロボットハンド１９が設定位置Ｃを通過したときに行うべき作業内容として、干渉防止ように設定位置通過信号を出力するとしたが、作業内容はこれに限らない。たとえばハンドの開閉、チャックの開閉、他の装置への動作指令を与えてもよい。
【０１２２】
【表２】
2006243926.tif 000004
【０１２３】
コントローラ２４は、ハンド１９を、ワーク２を保持するチャック３に向かって移動させ、ワーク２上の第１位置Ａに移動して停止させる（ＬＭＯＶＥ  ♯Ａ）。次に、ハンド１９を第１位置Ａから第２位置Ｄに移動させる（ＬＭＯＶＥ  ♯Ｄ）間に、ハンド１９が第１位置Ａからチャック３に近づいた第１設定位置Ｂを通過したことを判断すると、ハンド１９を開く指令と、チャック３を開く指令を与え（ＳＩＧＰＯＩＮＴ  ♯Ｂ、１，２）、ハンド１９が第１設定位置Ｂからチャック３に近づいた第２設定位置Ｃを通過したことを判断するとハンド１９を閉じる指令を与えて（ＳＩＧＰＯＩＮＴ  ♯Ｃ、−１）、ハンド１９を第２位置Ｄに移動させて停止させる（ＬＭＯＶＥ  ♯Ｄ）。第２位置Ｄに移動したときには、ハンド１９がワーク２を挟んだ状態となる。
【０１２４】
次に、ハンド１９を、第２位置Ｄから第１位置Ａに移動させる（ＬＭＯＶＥ  ♯Ａ）間に、ハンド１９が第２位置Ｄから遠ざかる第３設定位置Ｅを通過したことを判断すると、別のワーク２をチャック３に供給する指令を与えて（ＳＩＧＰＯＩＮＴ  ♯Ｅ、３）、ハンド１を第４位置Ｅから第１位置Ａに移動させる。
【０１２５】
このようにロボットハンドの制御装置は、移動経路状に設定される予め定める設定位置Ｂ，Ｃ，Ｅを、ハンド１９が通過したことを判断して、作業内容を実行する。また設定位置で停止させずにハンド１９を移動させる。ハンドが停止するのは、第１位置Ａに達した時点ｔａと、第２位置Ｄに達した時点ｔｄとである。図１２には、実線で本発明のロボットハンド１９の速度変化を示し、破線で従来技術の速度変化を示す。図１２に示すように、本実施の形態では、各設定位置Ｂ，Ｃ，Ｅでハンド１９を停止させずに移動させるので、ハンド１９の移動動作が分断されることが防がれる。これによってロボットの動作時間を短縮することができ、作業効率を向上することができる。このようにプレス搬送以外に用いられるロボットであっても、同様の効果を得ることができる。
【０１２６】
図１３は、移動経路１１が円弧状である場合を示す図である。上述した実施形態では、移動開始位置Ａと移動終了位置Ｂとを結ぶ直線に沿ってロボットハンド１９を移動させるとしたが、ロボットハンド１９を移動開始位置Ａから移動終了位置Ｂに移動させる場合、通過位置Ｆを通過する円弧軌跡を描いて移動させてもよい。この場合、移動経路１１は、移動開始位置Ａ、移動終了位置Ｂおよび通過位置Ｆを通過し、予め定められる中心位置Ｏまわりに予め定められる半径Ｒを有する円弧軌跡となる。
【０１２７】
たとえば設定位置関連情報として、関連位置Ｅと前記中心位置Ｏとを通過する平面が、移動経路１１と交差する位置が設定位置Ｃとして決定される。具体的には、移動終了位置Ｂから中心位置Ｏまわりに関連位置Ｅまで角変位する円弧角度Ｑ３を計算し、移動終了位置Ｂから中心位置Ｏまわりに移動経路１１に沿って円弧角度Ｑ３移動した位置を設定位置Ｃとする。
【０１２８】
また他の設定位置関連情報として、移動開始位置Ａと移動終了位置Ｂとのいずれか一方から中心位置Ｏまわりに移動経路１１に沿って区間円弧角度Ｑ３移動した位置を設定位置Ｃとしてもよい。この場合、設定位置関連情報は、区間円弧角度Ｑ３と、移動開始位置Ａと移動終了位置Ｂとのいずれを基準として区間円弧角度Ｑ３を設定するかを示す距離関係情報とを含む。このように移動経路が円弧状軌跡を描く場合には、上述したような設定位置関連情報が与えられることによって、設定位置Ｃを計算することができる。
【０１２９】
第２ＣＰＵ３９は、移動開始位置Ａから移動終了位置Ｂまでの中心位置Ｏまわりの第１円弧角度Ｑ１と、移動終了位置Ｂから移動位置ｘｉまでの中心位置Ｏまわりの第２円弧角度Ｑ２と、移動終了位置Ｂから設定位置Ｃまでの中心位置Ｏまわりの第３円弧角度Ｑ３とを用いて、ロボットハンド１９の位置する移動位置ｘｉが設定位置Ｃを通過したか否かを判断してもよい。この場合、第１円弧角度Ｑ１に対する第２円弧角度Ｑ２の割合（Ｑ２／Ｑ１）が、第１円弧角度Ｑ１に対する第３円弧角度Ｑ３の割合（Ｑ３／Ｑ１）未満となると、移動位置ｘｉが設定位置Ｃを通過したことを判断する。
【０１３０】
このように移動軌跡が円弧状である場合などでも、直線状である場合と同様にして、設定位置Ｃを移動位置が通過したか否かを判断することができる。また本実施例では、円弧角度の割合を用いて移動位置ｘｉが設定位置Ｃを通過したかどうかを判断したが、移動距離を用いても設定位置Ｃを通過したかどうかを判断することができる。
【０１３１】
図１４は、移動経路１２が各軸補間によって求められる場合を説明するための図である。移動開始位置Ａにおけるロボット２１の各軸の変位量となる第１位置軸変位量（Ｊ１Ａ，Ｊ２Ａ，Ｊ３Ａ，Ｊ４Ａ，Ｊ５Ａ，Ｊ６Ａ）と、移動終了位置Ｂにおけるロボットの各軸の変位量となる第２位置軸変位量（Ｊ１Ｂ，Ｊ２Ｂ，Ｊ３Ｂ，Ｊ４Ｂ，Ｊ５Ｂ，Ｊ６Ｂ）とが各軸毎に設定される。この場合、各軸補間による移動経路１２は、軸毎に独立して並列に、第１位置軸変位量から第２位置軸変位量となるように徐々に変化する。
【０１３２】
この場合、移動開始位置Ａから移動終了位置Ｂに移動するまでに、各軸Ｊ１〜Ｊ６のうちで最も変化が大きい軸を最大変化軸Ｊｍａｘとすると、設定位置関連情報として、移動開始位置Ａから移動終了位置に移動するまでの最大変化軸Ｊｍａｘの変位量が、関連位置Ｅにおける最大変化軸Ｊｍａｘの軸変位量（ＪｍａｘＥ）を通過するときのロボットハンド１９の移動位置ｘｉが設定位置Ｃとして決定される。
【０１３３】
たとえば移動開始位置Ａから移動終了位置ｘｉにロボットハンド１９が移動する場合に第１軸の変化量が最も大きい場合には、移動開始位置Ａから移動終了位置Ｂに移動経路１２に沿って移動する場合に、第１軸の変化量Ｊ１が、関連位置Ｅの第１軸の変化量Ｊ１Ｅに一致した位置が設定位置Ｃとして決定される。したがって設定位置Ｃの各軸Ｊ１〜Ｊ６の変位量（Ｊ１Ｃ，Ｊ２Ｃ，Ｊ３Ｃ，Ｊ４Ｃ，Ｊ５Ｃ，Ｊ６Ｃ）のうち、第１軸Ｊ１の変位量Ｊ１Ｃは、関連位置Ｅの第１軸Ｊ１の変位量Ｊ１Ｅと一致する。
【０１３４】
また他の設定位置関連情報として、各軸の変化割合に基づいて設定位置Ｃを決定してもよい。この場合、前記最大変化軸Ｊｍａｘにおける移動開始位置の変位量をＪｍａｘＡとし、移動終了位置の変位量をＪｍａｘＢとし、関連位置Ｅの変位量をＪｍａｘＥとすると、移動位置ｘｉのうちで、最大変化軸Ｊｍａｘが、（ＪｍａｘＥ−ＪｍａｘＡ）／（ＪｍａｘＢ−ＪｍａｘＡ）を通過した位置を設定位置Ｃとしてもよい。また作業者が、関連位置Ｅを教示する代わりに、（ＪｍａｘＥ−ＪｍａｘＡ）／（ＪｍａｘＢ−ＪｍａｘＡ）を直接入力してもよい。
【０１３５】
このように各軸補間の移動経路１２が設定される場合であっても、上述したような設定位置関連情報が与えられることによって、設定位置Ｃを計算することができる。また設定位置Ｃを移動位置が通過したか否かを判断することができる。
【０１３６】
以上のような本実施の形態は、本発明の一例示であり、発明の範囲内において構成を変更することができる。たとえば本実施の形態では、ロボットコントローラがプレス間搬送を行うロボットの制御を行うとしたが、他のロボットであっても同様に制御することができる。たとえば作業内容として出力される設定位置通過信号を、スポット接合ロボットの干渉防止などにも利用することができる。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施の一形態であるロボットコントローラ２４を示すブロック図である。
【図２】ロボットコントローラ２４とロボット２１，２２とを含むロボット設備２０を示す図である。
【図３】設定位置関連情報を説明するための図である。
【図４】コントローラ２４によるロボット制御手順を示すフローチャートである
【図５】ロボットハンド１９の移動速度の時間変化を示すグラフである。
【図６】ロボットハンド１９の位置の時間変化を示す図である。
【図７】通常動作モードとテスト動作モードとを説明するための図である。
【図８】通常動作モードとテスト動作モードとを説明するための図である。
【図９】第１実施形態の変形例における移動経路１３を示す図である。
【図１０】他の設定位置関連情報を説明するための図である。
【図１１】本発明の他の実施の形態を説明するためのロボットの動作を示す図である。
【図１２】表２に示すプログラムの動作を行った場合のロボットハンドの速度の時間変化を示すグラフである。
【図１３】移動経路１１が円弧状である場合を示す図である。
【図１４】移動経路１２が各軸補間によって求められる場合を説明するための図である。
【図１５】ロボットによるワーク２の搬送動作を示す図である。
【図１６】表１に示すプログラムの動作を行った場合のロボットハンドの速度の時間変化を示すグラフである。
【図１７】基準可動部の移動経路を説明するための図である。
【図１８】基準可動部の移動速度の時間変化を示すグラフである。
【符号の説明】
【０１３８】
１０  移動経路
１９  ロボットハンド１９
２０  ロボット設備
２１，２２  ロボット
３０  インターフェース部
３１  ロボット動作演算部
３６  制御部
Ａ  第１位置
Ｂ  第２位置
Ｃ  設定位置
Ｅ  関連位置
Ｘｉ  移動位置
ｄｔ  制御時間
【図１】
2006243926.tif 000005
【図２】
2006243926.tif 000006
【図３】
2006243926.tif 000007
【図４】
2006243926.tif 000008
【図５】
2006243926.tif 000009
【図６】
2006243926.tif 000010
【図７】
2006243926.tif 000011
【図８】
2006243926.tif 000012
【図９】
2006243926.tif 000013
【図１０】
2006243926.tif 000014
【図１１】
2006243926.tif 000015
【図１２】
2006243926.tif 000016
【図１３】
2006243926.tif 000017
【図１４】
2006243926.tif 000018
【図１５】
2006243926.tif 000019
【図１６】
2006243926.tif 000020
【図１７】
2006243926.tif 000021
【図１８】
2006243926.tif 000022