(57)【特許請求の範囲】
【請求項１】
設置場所に対して垂直軸回りに回転する旋回軸と、前記旋回軸に搭載され、前後及び上下に揺動するアームと、前記アームの先端に取り付けられた直交３軸回りに回動自在なエンドエフェクタと、を備え、ワークを搬送する搬送装置の近傍に配置されて、前記搬送装置によって搬送されている前記ワークに対して所定の作業を行うロボットであって、かつ、前記旋回軸の回転速度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて同等か低速に設定され、前記旋回軸の回転角度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて大きいロボットの制御方法において、
前記搬送装置の搬送速度を計測し、
前記ワークの位置を計測し、
前記設置場所の平面配置図において前記ロボットの旋回軸を原点とし、前記搬送装置の移送方向に平行な軸をＸ軸とした直交座標系における、前記旋回軸によって回転する前記アームの前記Ｘ軸に対する角度及び角速度から求まるｔ秒後の前記アームの前記Ｘ軸に対する角度と、前記直交座標系における前記ｔ秒後の前記エンドエフェクタの基準点の前記旋回軸まわりの回転半径がＲであると仮定したときの回転半径Ｒと、から得られる前記ｔ秒後の前記基準点の座標Ｅｔと、前記搬送速度と前記ワークの位置とから得られる前記直交座標系におけるｔ秒後の前記ワークの座標Ａｔと、から前記基準点の座標Ｅｔと前記ワークの座標Ａｔとが一致する時間ｔ１及びそのときの座標Ａｂを計算し、
前記エンドエフェクタの基準点が前記ｔ１秒後に前記座標Ａｂに向かうように前記ロボットを動作させることを特徴とするロボットの制御方法。
【請求項２】
前記搬送装置の搬送速度の変動を周期的に計測し、その度に前記地点を計算して修正し、前記エンドエフェクタが修正した前記地点に向かうように前記ロボットを動作させることを特徴とする請求項１に記載のロボットの制御方法。
【請求項３】
前記ワークの位置を視覚センサを用いて計測することを特徴とする請求項１または請求項２に記載のロボットの制御方法。
【請求項４】
前記搬送装置の搬送速度を前記搬送装置の駆動軸に連結したエンコーダを用いて計測することを特徴とする請求項１から請求項３のいずれかに記載のロボットの制御方法。
【請求項５】
設置場所に対して垂直軸回りに回転する旋回軸と、前記旋回軸に搭載され、前後及び上下に揺動するアームと、前記アームの先端に取り付けられた直交３軸回りに回動自在なエンドエフェクタと、を備え、ワークを搬送する搬送装置の近傍に配置されて、前記搬送装置によって搬送されている前記ワークに対して所定の作業を行うロボットであって、かつ、前記旋回軸の回転速度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて同等か低速に設定され、前記旋回軸の回転角度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて大きいロボットの制御装置において、
前記搬送装置の搬送速度を計測し、
前記ワークの位置を計測し、
前記設置場所の平面配置図において前記ロボットの旋回軸を原点とし、前記搬送装置の移送方向に平行な軸をＸ軸とした直交座標系における、前記旋回軸によって回転する前記アームの前記Ｘ軸に対する角度及び角速度から求まるｔ秒後の前記アームの前記Ｘ軸に対する角度と、前記直交座標系における前記ｔ秒後の前記エンドエフェクタの基準点の前記旋回軸まわりの回転半径がＲであると仮定したときの回転半径Ｒと、から得られる前記ｔ秒後の前記基準点の座標Ｅｔと、前記搬送速度と前記ワークの位置とから得られる前記直交座標系におけるｔ秒後の前記ワークの座標Ａｔと、から前記基準点の座標Ｅｔと前記ワークの座標Ａｔとが一致する時間ｔ１及びそのときの座標Ａｂを計算し、
前記エンドエフェクタの基準点が前記ｔ１秒後に前記座標Ａｂに向かうように前記ロボットを動作させることを特徴とするロボットの制御装置。
【請求項６】
前記搬送装置の搬送速度の変動を周期的に計測し、その度に前記地点を計算して修正し、前記エンドエフェクタが修正した前記地点に向かうように前記ロボットを動作させることを特徴とする請求項５に記載のロボットの制御装置。
【請求項７】
前記ワークの位置を視覚センサを用いて計測することを特徴とする請求項５または請求項６に記載のロボットの制御装置。
【請求項８】
前記搬送装置の搬送速度を前記搬送装置の駆動軸に連結したエンコーダを用いて計測することを特徴とする請求項５から請求項７のいずれかに記載のロボットの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、搬送装置の機側に配置されて、前記搬送装置によって搬送されているワークに対して所定の作業を行うロボットの制御方法および制御装置に関する。
【０００２】
【従来の技術】
例えば、ベルトコンベアのような搬送装置で搬送されるワークをロボットで取り上げるための制御方法として、特開昭６０−２１７０８５号公報に開示されている方法があった。これは、次のような方法である。
ベルトコンベアの上であって、ロボットの設置場所に対して上流側にあたる所定の位置に視覚装置を備え、前記視覚装置で前記ベルトコンベア上を搬送されるワークの位置と向きと速度を計測し、計測した前記ワークの位置と向きと速度から、所定の時間（ｔ秒とする）後の前記ワークの位置と向きを計算し、前記ロボットがｔ秒後に前記位置で前記ワークを掴むように制御する。
【０００３】
【発明が解決しようとする課題】
ところが、この従来の制御方法では、次のような問題がある。第１に、ワークが視覚装置の下を通過してから、所定の時間（ｔ秒）の経過後にロボットがワークを掴むようにしているので、制御開始時のロボットのアームの位置や姿勢の条件によっては、ｔ秒間にワークを掴める位置まで移動できず、ワークを掴み損ねると言う問題がある。逆に、姿勢の条件によってはもっと早いタイミングでワークを掴める場合もあるが、この場合でも、ロボットはｔ秒が経過するまでワークを掴めない。言い換えれば、ワークを掴み損ねることがないように、最悪の条件に合わせて、ロボットのスケジュールとコンベアの速度を決定しているので、ロボット作業の能率が悪いという問題がある。第２に、この従来の制御方法では、ワークが視覚装置の下を通過してから、ロボットがワークを掴むまでの間、つまりｔ秒後までは、コンベアが一定の速度で移動することを前提条件にしているが、現実のコンベアは滑り等の原因により、移動速度が変化するので、計算によって求めたｔ秒後の位置と実際の位置に誤差が生じ、正確にワークを掴めないという問題がある。そこで、本発明は搬送中のワークにロボットのエンドエフェクタが最短時間で到達できるように制御するロボットの制御方法およびその制御装置を提供するものである。また、ワークの搬送速度の変動に応じて、ロボットの動作を修正するロボットの制御方法およびその制御装置を提供するものである。
【０００４】
【課題を解決するための手段】
上記の問題を解決するために、本発明は設置場所に対して垂直軸回りに回転する旋回軸と、前記旋回軸に搭載され、前後及び上下に揺動するアームと、前記アームの先端に取り付けられた直交３軸回りに回動自在なエンドエフェクタと、を備え、ワークを搬送する搬送装置の近傍に配置されて、前記搬送装置によって搬送されている前記ワークに対して所定の作業を行うロボットであって、かつ、前記旋回軸の回転速度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて同等か低速に設定され、前記旋回軸の回転角度が前記アームを前後及び上下に揺動させる軸と前記直交３軸とに比べて大きいロボットの制御方法において、前記搬送装置の搬送速度を計測し、前記ワークの位置を計測し、前記設置場所の平面配置図において前記ロボットの旋回軸を原点とし、前記搬送装置の移送方向に平行な軸をＸ軸とした直交座標系における、前記旋回軸によって回転する前記アームの前記Ｘ軸に対する角度及び角速度から求まるｔ秒後の前記アームの前記Ｘ軸に対する角度と、前記直交座標系における前記ｔ秒後の前記エンドエフェクタの基準点の前記旋回軸まわりの回転半径がＲであると仮定したときの回転半径Ｒと、から得られる前記ｔ秒後の前記基準点の座標Ｅｔと、前記搬送速度と前記ワークの位置とから得られる前記直交座標系におけるｔ秒後の前記ワークの座標Ａｔと、から前記基準点の座標Ｅｔと前記ワークの座標Ａｔとが一致する時間ｔ１及びそのときの座標Ａｂを計算し、前記エンドエフェクタの基準点が前記ｔ１秒後に前記座標Ａｂに向かうように前記ロボットを動作させるものである。また、前記搬送装置の搬送距離を周期的に計測し、その度に前記地点を計算して修正し、前記ロボットの前記エンドエフェクタを修正した前記地点に向けて動作させるものである。また、前記ワークの位置を視覚センサを用いて計測するものである。
【０００５】
【発明の実施の形態】
図１は本発明の実施例を示す搬送装置とロボットの平面配置図であり、図２は本発明の実施例を示すフローチャートであり、図３は視覚センサで捉えたワークの画像を示す説明図であり、図４は搬送対象のワークの位置を示す前記ロボットを基準とする座標を説明する説明図である。以下、図に従って本発明の実施例を説明する。
図１において、１は、例えばベルトコンベアのような搬送装置であり、ワーク２を図の左側から右側へ搬送する装置である。３はエンコーダであり、搬送装置１の図示しない駆動軸に取り付けられて、前記駆動軸の回転角度を計測する装置である。エンコーダ３の計測値から、搬送装置１上のワーク２の移動速度、すなわち搬送速度、およびワーク２の移動距離、すなわち搬送距離を求めることができる。４はロボットであり、垂直軸Ｓ回りに自在に旋回する。ロボット４は前後および上下に揺動するアーム４ａを備え、アーム４ａの先端にはエンドエフェクタ５が直交３軸回りに回動自在に取付けられている。このように構成されているので、ロボット４は、垂直軸Ｓの回転およびアーム４ａの前後および上下の揺動によって任意の姿勢を取ることができる。また前記直交３軸の回動によって、エンドエフェクタ５の方向、傾きを任意に決める事ができる。６はロボット４の制御盤である。また、ロボット４は搬送装置１の機側に配置され、搬送装置１上を搬送されて来るワーク２をエンドエフェクタ５で掴んで、図示しない別の装置まで運ぶものである。７は視覚センサであり、搬送装置１の上流側に、搬送装置１を見下ろすように配置されている。７ａは視覚センサ７の視野を示す。視覚センサ７は例えばＣＣＤカメラと画像処理装置を組み合わせて、前記ＣＣＤカメラで捉えた対象物の画像を解析して、前記対象物の位置と姿勢を計測する装置である。視覚センサ７とエンコーダ３の信号線は、それぞれロボットの制御盤６に接続されている。
【０００６】
次に、図２および図３に従って、ロボット４の制御方法を説明する。
図２ににおいて、ステップＳ１は、搬送装置１の搬送速度を算出する段階であり、時刻ｔａにおけるエンコーダ３の出力Ｃａと、時刻ｔｂにおけるエンコーダ３の出力Ｃｂから、搬送装置１の移送速度Ｖを次式によって求める。
【０００７】
Ｖ＝Ｋｃ＊（Ｃｂ−Ｃａ）／（ｔｂ−ｔａ）                  （式１）
【０００８】
ここで、Ｋｃはエンコーダ３の１パルスあたりの搬送装置１の移送距離を示す係数であり、搬送装置１の機械的構成によって決まる定数である。ワーク２が視覚センサ７の視野７ａに入って来ると、ステップＳ２を実行する。ステップＳ２は、ワーク２の位置と姿勢を求める段階である。図３に示すように、視覚センサ７はワーク２の画像を基に、視覚センサ７の視野７ａに固定された座標系によるワーク２の重心の座標Ｇ（Ｘ0 ，Ｙ0 ）を求める。またワーク２の正規の姿勢に対する角度θも算出する。
次のステップＳ３では、ロボット４の先端に取り付けたエンドエフェクタ５がワーク２を掴む位置を求める。エンドエフェクタ５に固定された点であって、ワーク２を掴む時の位置合わせの基準となる点をエンドエフェクタ５の基準点と言うことにする。つまり、このエンドエフェクタ５の向きを角度θ分だけ修正し、エンドエフェクタ５の基準点をワーク２の重心と一致させれば、エンドエフェクタ５はワーク２を正しく掴める訳である。図４ではこのワーク２を掴む位置を求める方法を説明するために、搬送装置１とワーク２とロボット４の位置関係を、ロボット４の旋回軸Ｓを原点とする直交座標系で表示している。図４において、半径Ｌａと半径Ｌｂはエンドエフェクタ５の基準点の到達限界を示す。つまり、エンドエフェクタ５の基準点は半径Ｌａと半径Ｌｂの間で動作する。今、ステップＳ３の制御を始める時点において、ワーク２は座標Ａｏ( ｐ，ｑ）で示す位置にある。ここで使う座標系はロボット４の旋回軸Ｓを原点とし、搬送装置１の移送方向に平行な軸をＸ軸とする直交座標系である。視覚センサ７は搬送装置１およびロボット４に対して固定されているから、スッテプＳ２で求めた視覚センサ７の視野７ａに固定された座標系によるワーク２の座標を前記直交座標系に変換するのは容易である。またこの時の搬送装置１の搬送速度はステップＳ１で求めたＶであるから、ｔ秒後のワーク２の位置を示す座標はＡｔ（ｐ＋Ｖ＊ｔ，ｑ）で得られる。
また、ステップＳ３を開始する時点において、ロボット１の旋回軸の角度をαとし、旋回軸の角速度をωとすると、ｔ秒後の旋回軸の角度はα＋ω＊ｔである。ここで、エンドエフェクタ６の基準点の旋回軸Ｓまわりの回転半径をＲとすると、エンドエフェクタ６の基準点の座標はＥｔ（Ｒ＊ｃｏｓ（α＋ω＊ｔ），Ｒ＊ｓｉｎ（α＋ω＊ｔ））で得られる。
点Ａと点Ｅの座標が一致する点を求めるのであるから、次式が得られる。
【０００９】
ｐ＋Ｖ＊ｔ＝Ｒ＊ｃｏｓ（α＋ω＊ｔ）                      （式２）
【００１０】
ｑ＝Ｒ＊ｓｉｎ（α＋ω＊ｔ）                              （式３）
【００１１】
式２と式３からＲを消去すると、次式が得られる。
【００１２】
ｐ＋Ｖ＊ｔ＝ｑ／ｔａｎ（α＋ω＊ｔ）                      （式４）
【００１３】
式４を解いて得られるｔの解をｔ１とすると、ワーク２とエンドエフェクタ６が最短時間で出会える点の座標はＡｂ（ｐ＋Ｖ＊ｔ１，ｑ）で得られる。この点にエンドエフェクタ５の基準点を持ってきた時の、基準点の旋回軸Ｓまわりの回転半径Ｒｂは次式で得られる。
【００１４】
Ｒｂ＝ｑ／ｓｉｎ（α＋ω＊ｔ１）                          （式５）
【００１５】
Ｒｂの値はロボット４の動作範囲で制限されるから、Ｌａ＜Ｒｂ＜Ｌｂでなければならない。ＲｂがＬａ＜Ｒｂ＜Ｌｂの条件を満たさないときは、「異常」として図示しない上位の制御装置に信号を送り、所定の異常処理のシーケンスを実行する。
ここで、ｔ１秒の間にロボット１のアームの各軸を操作して、エンドエフェクタ６の旋回軸Ｓ回りの回転半径がＲｂになるような姿勢を取れるか否かと言う問題が残っている。一般に垂直多関節ロボットにおいては、旋回軸の回転速度はアームの各揺動軸に比べて、同等かむしろ低速に設定されている。また、旋回軸の回転角度がアームの各揺動軸に比べて大きい。従って、エンドエフェクタ５とワーク２を最短時間で出会わせる問題を考える時は、旋回軸の動作時間がクリティカルな問題になる。つまり、実用上は旋回軸の動作が間に合えば、アームの各揺動  軸の動作は当然に間に合うと考えてよい。
このようにして、ワーク２とエンドエフェクタ５が最短時間で出会える点の座標Ａｂと時間ｔ１が決まるので、ｔ１秒後にエンドエフェクタ５の基準点が
１秒後に点Ａｂに来るように、ロボット４に指令する。つまり、点Ａｂを移動目標とする動作指令をロボット４に与える。
【００１６】
ステップＳ４は、エンドフェクタ５を点Ａｂに向けて動かし始めたあと、搬送装置１の搬送距離を周期的に計測して、エンドエフェクタ５の動作の目標を修正する段階である。ステップＳ４の制御の詳細は次のようなものである。
ステップＳ３が終了して、エンドエフェクタ５が点Ａｂに向かって動作を開始したら、周期Ｔ秒（但しＴ＜ｔ１）で周期的にエンコーダ２の出力パルスＣＴｍを取り込む、次にステップＳ１で計測した搬送装置１の移送速度Ｖから計算した、同じ時刻のパルスの値ＣＴｃを用いて目標Ａｂの修正量ΔＸを次式で求める。
【００１７】
ΔＸ＝（ＣＴｍ−ＣＴｃ）＊Ｋｃ                            （式６）
【００１８】
この修正量を用いて、エンドエフェクタ５の移動目標をＡｂ’（ｐ＋ＣＶ＊ｔ１＋ΔＸ，ｑ）に変更する。以上のように、周期Ｔ秒ごとに搬送装置１の搬送距離を測定し、当初に計測した速度から求めた搬送距離と比較して、その差に応じて、移動目標を修正する。
以上の演算と制御は制御盤６によって行われる。
実施例の説明においては、搬送装置上のワークを掴み上げて移載するロボットに本発明を適用した例を示したが、搬送装置上のワークに対して、何らかの作業、例えば塗装、糊付け、組立、加工などを行うロボット一般に本発明を適用できることは言うまでもない。また、ワークの位置および姿勢を検出するセンサは視覚センサに限られない、同様の機能を持つセンサであれば他の形式のセンサであってもよい。
【００１９】
【発明の効果】
以上述べたように、本発明によれば、エンドエフェクタが最短時間でワークに出会うようにロボットを制御するので、ロボットの動作に無駄がなく、ロボットの作業の能率が向上するいう効果がある。また、搬送装置の速度の変化に応じて、ロボットの移動目標を修正するので、ロボットがワークを逃すことがないという効果もある。
【図面の簡単な説明】
【図１】本発明の実施例を示す搬送装置とロボットの平面配置図である。
【図２】本発明の実施例を示すフローチャートである。
【図３】視覚センサで捉えたワークの画像の説明図である。
【図４】図４は搬送対象のワークの位置を示す前記搬送ロボットを基準とする座標を説明する説明図である。
【符号の説明】
１：搬送装置                ２：ワーク
３：エンコーダ              ４：ロボット
４ａ：アーム                ５：エンドエフェクタ
６：制御盤                  ７：視覚センサ
７ａ：視覚センサの視野
【図１】
0004022843.tif 000002
【図２】
0004022843.tif 000003
【図３】
0004022843.tif 000004
【図４】
0004022843.tif 000005