(57)【特許請求の範囲】
【請求項１】
ワークを撮影するカメラを有し該カメラを３次元的に移動可能なロボットを制御するロボット制御装置であって、
前記カメラで撮影した画像を画像処理する画像処理装置と、該ロボットを制御するロボットコントローラと、を備え、
ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させるビジュアルサーボ制御を実施し、
前記ビジュアルサーボ制御において、カメラとワークの距離の目標値を、ワーク全体を正確に計測できる近接距離に設定し、
前記ビジュアルサーボ制御中に、ワークがカメラの視野から外れた場合に、カメラの目標位置を前記近接距離より離れた離隔距離と認識したワークの最終位置に設定し、かつカメラの移動速度をビジュアルサーボ制御時の移動速度より大きく設定して、ワークを再捕捉する、ことを特徴とするロボット制御装置。
【請求項２】
ワークを撮影するカメラを有し該カメラを３次元的に移動可能なロボットを制御するロボット制御方法であって、
（Ａ）ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させるビジュアルサーボ制御と、
（Ｂ）前記ビジュアルサーボ制御中に、ワークがカメラの視野から外れた場合に、認識したワークの最終位置を基に、カメラの目標位置と移動速度を変更してワークを再捕捉する再捕捉制御と、を有し、
前記ビジュアルサーボ制御において、カメラとワークの距離の目標値を、ワーク全体を正確に計測できる近接距離に設定し、
前記再捕捉制御において、前記目標位置を前記近接距離より離れた離隔距離とワークの最終位置に設定し、かつ前記移動速度をビジュアルサーボ制御時の移動速度より大きく設定する、ことを特徴とするロボット制御方法。
【請求項３】
前記再捕捉制御において、ワークの最終位置を向くようにカメラの姿勢を変更する、ことを特徴とする請求項２に記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットをビジュアルサーボ制御するロボット制御装置及び方法に関する。
【背景技術】
【０００２】
ビジュアルサーボ制御とは、移動する対象物（ワーク）の位置と姿勢を、ロボットアームに搭載したカメラなどの視覚センサで計測し続け、計測結果に基づいてロボットアームをフィードバック制御し、ワークの移動に追従させる制御である。
すなわち、ビジュアルサーボ制御では、「カメラによる撮影→画像処理→ワークの認識」と「位置計測→ワークのある方にアーム移動」、の処理を高速に繰り返して、ワークの移動にカメラを追従させるものである。
【０００３】
上述したビジュアルサーボ制御において、カメラにはレンズの歪みや分解能があるため、ワークの位置と姿勢を正確に計測するために、できるだけカメラをワークに近づけ、視野の中央で拡大して捉える必要がある。しかし、カメラがワークに近接している状態では、ワークがロボットに対して相対移動すると、ワークがカメラの視野から外れて見失いやすくなる問題点があった。
【０００４】
この問題点、すなわちワークがカメラの視野から外れることを防ぐ従来技術として、特許文献１、２が既に提案されている。
【０００５】
特許文献１は、レンズの焦点距離を変動させるズーム機構を用いて、ワークが視野から外れたときに視野を広げるものである。
特許文献２は、画像の周囲領域を解析し、ワークのはみ出し量を推定し、推定した方向にカメラを移動し、かつ推定したはみ出し量に基づいて、カメラの焦点距離を変えるものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２１１３８２号公報、「ロボット制御装置」
【特許文献２】特開２００３−１９１１８９号公報、「ロボット装置及びその制御方法」
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した特許文献１、２の手段を適用するためには、カメラの焦点距離を変化させるズーム機構が不可欠であり、コストがかかる。
また、特許文献１では、ワークが視野からはみ出した場合は、焦点距離の制御のみでカメラを移動させないため、ワークを再補足しにくい。
さらに、特許文献２では、カメラの移動方向を計算する必要がある。また、ワークが完全に視野から外れた場合には対応できない問題点があった。
【０００８】
本発明は、上述した問題点を解決するために創案されたものである。
すなわち、本発明の目的は、ビジュアルサーボ制御中に、ワークがロボットに対して相対移動してカメラの視野からワークが外れた場合でも、焦点距離を変化させるズーム機構のないカメラを用いて、短時間にワークを再補足することができるロボット制御装置及び方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば、ワークを撮影するカメラを有し該カメラを３次元的に移動可能なロボットを制御するロボット制御装置であって、
前記カメラで撮影した画像を画像処理する画像処理装置と、該ロボットを制御するロボットコントローラと、を備え、
ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させるビジュアルサーボ制御を実施し、
前記ビジュアルサーボ制御中に、ワークがカメラの視野から外れた場合に、認識したワークの最終位置を基に、カメラの目標位置と移動速度を変更してワークを再捕捉する、ことを特徴とするロボット制御装置が提供される。
【００１０】
また、本発明によれば、ワークを撮影するカメラを有し該カメラを３次元的に移動可能なロボットを制御するロボット制御方法であって、
（Ａ）  ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させるビジュアルサーボ制御と、
（Ｂ）  前記ビジュアルサーボ制御中に、ワークがカメラの視野から外れた場合に、認識したワークの最終位置を基に、カメラの目標位置と移動速度を変更してワークを再捕捉する再捕捉制御と、を有することを特徴とするロボット制御方法が提供される。
【００１１】
本発明の実施形態によれば、前記ビジュアルサーボ制御において、カメラとワークの距離の目標値を、ワーク全体を正確に計測できる近接距離に設定し、
前記再捕捉制御において、前記目標位置を前記近接距離より離れた離隔距離とワークの最終位置に設定し、かつ前記移動速度をビジュアルサーボ制御時の移動速度より大きく設定する。
【００１２】
また、前記再捕捉制御において、ワークの最終位置を向くようにカメラの姿勢を変更する、ことが好ましい。
【発明の効果】
【００１３】
上記本発明の装置及び方法によれば、ビジュアルサーボ制御により、ワークの位置と姿勢をカメラで計測し、計測結果に基づいてロボットをフィードバック制御し、カメラをワークの移動に追従させることができる。
また、再捕捉制御により、前記ビジュアルサーボ制御中に、ワークがカメラの視野から外れた場合に、認識したワークの最終位置を基に、カメラの目標位置と移動速度を変更するので、焦点距離を変化させるズーム機構のないカメラを用いて、短時間にワークを再補足することができる。
【００１４】
ワークがカメラの視野から外れて見失う直前には、ワークはカメラの視野の端部に存在する。従って、ワークを見失った場合は、直前に認識された位置の延長上に、ワークがある可能性が高い。
従って、カメラの目標位置をワークの最終位置に設定することにより移動後のカメラの視野内にワークを再補足しやすい。また、カメラの目標位置をビジュアルサーボ制御時の近接距離より離れた離隔距離に設定することにより、焦点距離を変化させるズーム機構のないカメラの視野が広がり、ワークを再補足しやすくなる。さらに、カメラの移動速度をビジュアルサーボ制御時の移動速度より大きく設定するので、ワークがその最終位置から移動していても、見失ったワークに追いつきやすくなる。
【００１５】
また、カメラの目標位置と移動速度の変更は、認識したワークの最終位置を基に求めるため、特別な計算処理は不要であり、処理時間を短くできる。
【００１６】
さらに、前記再捕捉制御において、ワークの最終位置を向くようにカメラの姿勢を変更することにより、カメラの視野を効率よく変えられ、ワークの再補足をより確実にできる。
また、カメラの姿勢を変更するワークの移動方向は、直前に認識された位置情報を使って求めるため、特別な計算処理は不要であり、処理時間を短くできる。
【図面の簡単な説明】
【００１７】
【図１】本発明によるロボット制御装置の構成図である。
【図２】本発明によるロボット制御方法の全体フロー図である。
【図３】ビジュアルサーボ制御の開始時と追従後の画像の模式図である。
【図４】再捕捉制御の開始前と開始直後の画像の模式図である。
【図５】本発明による再捕捉制御を示す説明図である。
【発明を実施するための形態】
【００１８】
以下、本発明の好ましい実施形態を添付図面に基づいて詳細に説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【００１９】
図１は、本発明によるロボット制御装置の構成図である。この図において、１はワーク（対象物）、２はカメラ、３はロボットである。
【００２０】
ワーク１は、この例ではテーブル４の上面に沿って移動する。ワーク１は、この例では円板状部材であるが、本発明はこれに限定されず、上方又は横方向から見て一定の形状を有する部材であればよい。この形状は、予め記憶した形状とパターンマッチングできる限りで、円形、矩形、楕円、その他の形状であってもよい。
ワーク１の移動は、例えばコンベア装置による。コンベア装置は、ローラコンベア、ベルトコンベア、その他であってもよい。また、その移動方向は、テーブル上の水平面内に限定されず、上方又は横方向から見て一定の形状を維持する限りで３次元的に移動してもよい。
【００２１】
カメラ２は、例えばＣＣＤカメラ又はＣＭＯＳカメラであり、ワーク１をその上方（又は横方向）から撮影してデジタル画像５を出力するようになっている。カメラ２は、この例では一定の視野を有する単焦点レンズであるが、視野を変化できるズームレンズであってもよい。
デジタル画像５の画素数は、任意であるが、例えば、約３０万画素（横６４０ピクセル×縦４８０ピクセル）を有する。また、カメラ２は、デジタル画像４を一定の制御周期（例えば３０ｆｐｓ：１秒間に３０回）で撮影するようになっている。以下、デジタル画像を単に画像という。
【００２２】
ロボット３は、カメラ２を３次元的に移動する。この例でカメラ２は、ロボット３のロボットアーム３ａの手先部に搭載され、ロボット３により、カメラ２を下向きに維持できると共に、下向きから任意の向きに姿勢を変更できるようになっている。
ロボット３は、この例では、テーブル４の上面に固定された多間接ロボットであるが、本発明はこれに限定されず、その他のロボットであってもよい。
【００２３】
図１において、本発明によるロボット制御装置１０は、画像処理装置１２とロボットコントローラ１４からなる。
【００２４】
画像処理装置１２は、カメラ２で撮影した画像５（デジタル画像）を画像処理する。この画像処理により、予め設定した形状とパターンマッチングで一致する画像５内のワーク１を検出し、ワーク１の基準点の画像上の位置と向きを出力する。
ワーク１の基準点は、例えば中心、図心、その他の特徴点である。またワーク１の向きは、例えばその形状の対称軸であり、その形状に応じて任意に設定する。
【００２５】
以下、検出されたワーク１の画像上の位置を（ｍｘ，ｍｙ）とする。ｍｘは画像上の横方向位置（単位：ピクセル）であり、ｍｙは画像上の縦方向位置（単位：ピクセル）である。
また、画像上のワークの大きさと、予め設定した形状との相違からワーク１とカメラ２の距離ｍｚを算出することができる。ｍｚはこの例ではワーク１からカメラ２までの高さであり、長さの単位（例えばｍｍ）を有する。
なお、ｍｘ，ｍｙ，ｍｚは、同一単位に変換してもよい。
以下、検出されたワーク１の位置を（ｍｘ，ｍｙ，ｍｚ）と表示する。
【００２６】
ロボットコントローラ１４は、ロボット３を制御してロボットアーム３ａの手先目標速度から各関節の回転量を算出し、ロボットアーム３ａを動作させて、カメラ２を３次元的に移動する。また、このロボットコントローラ１４は、画像処理装置１２と協働して、後述するビジュアルサーボ制御と再捕捉制御を実行する。
【００２７】
図２は、本発明によるロボット制御方法の全体フロー図である。この図において、本発明のロボット制御方法は、ビジュアルサーボ制御と再捕捉制御とを有する。
【００２８】
ビジュアルサーボ制御は、Ｓ１〜Ｓ７のステップ（工程）からなり、ワーク１の上方（又は横方向）からその位置と姿勢をカメラ２で計測し、計測結果に基づいてロボット３をフィードバック制御し、カメラ２をワーク１の移動に追従させる。
【００２９】
すなわち、図２において、カメラ２で画像５を取り込み（Ｓ１）、画像処理装置１２により画像認識処理してワーク１の位置（ｍｘ，ｍｙ，ｍｚ）を認識（Ｓ２）する。次いで、認識の成否を判断し（Ｓ３）、成功した場合（ＹＥＳ）には目標位置を設定し（Ｓ４）、目標速度を設定して（Ｓ５）、ロボットを設定した目標位置に目標速度で制御する（Ｓ６）。
ここで、目標位置とはワーク１の基準点を移動させるための画像上の目標位置（ｍｘ０，ｍｙ０）であり、例えば画像上の原点（０、０）である。また高さの目標位置ｍｚ０は、ワーク全体を正確に計測できる近接距離であり、例えば３００ｍｍに予め設定する。
【００３０】
なお、この図において、後述する再捕捉制御において姿勢変更（Ｓ１４）を実施した場合には、カメラの姿勢を下向きに復帰する姿勢復帰処理Ｓ７をステップＳ２の後（認識に成功した場合）に実行する。
上述したビジュアルサーボ制御は、好ましくは、デジタル画像５の取り込みと同期して同一の制御周期で行う。
【００３１】
図３は、上述したビジュアルサーボ制御の開始時と追従後の画像の模式図である。この図において、（Ａ）は開始時、（Ｂ）は追従後である。
ビジュアルサーボ制御の開始時（Ａ）、すなわちＳ１〜Ｓ３において、ワーク１の位置（ｍｘ，ｍｙ，ｍｚ）を認識すると、Ｓ４〜Ｓ６において、ワーク１を目標位置（ｍｘ０，ｍｙ０，ｍｚ０）に移動するように、ロボットを設定した目標位置に目標速度で制御する（Ｓ６）。
従って、ワーク１がカメラ２の視野から外れない限り、カメラをワークの移動に追従させてワーク１を目標位置（ｍｘ０，ｍｙ０，ｍｚ０）に保持することができる。
なお、例えば、画像上の目標位置（ｍｘ０，ｍｙ０）は画像上の原点（０、０）であり、高さの目標位置ｍｚ０は、ワーク全体を正確に計測できる近接距離（例えば３００ｍｍ）である。
【００３２】
目標速度の設定（Ｓ５）は、ワーク１を認識された検出位置（ｍｘ，ｍｙ，ｍｚ）から目標位置（ｍｘ０，ｍｙ０，ｍｚ０）まで、短時間に移動できるように設定する。この速度は、検出位置と目標位置の差に比例する比例制御のみでもよく、その他に微分制御と積分制御を組み合わせてもよい。
検出位置から目標位置に達する時間は、制御周期に応じてできるだけ短時間（例えば１秒間＝３０サイクル以内）に設定するのが好ましい。
【００３３】
図２において、再捕捉制御は、Ｓ１１〜Ｓ１４のステップ（工程）からなり、前記ビジュアルサーボ制御中に、ワーク１がカメラ２の視野から外れた場合（Ｓ３でＮＯの場合）に、認識したワーク１の最終位置を基に、カメラ１の目標位置と移動速度を変更して（Ｓ１２、Ｓ１３）、ワーク１を再捕捉する。
【００３４】
すなわち、図２において、認識の成否を判断し（Ｓ３）、失敗した場合（ＮＯ）には、連続して失敗した回数を予め設定した回数Ｎ（例えば３０回）と比較し（Ｓ１１）、設定回数未満（ＹＥＳ）であれば、目標位置を変更し（Ｓ１２）、かつ目標速度を変更して（Ｓ１３）、その位置と速度を指令値としてロボットを制御する（Ｓ６）。
【００３５】
この再捕捉制御において、高さの目標位置ｍｚ０は、ワーク全体を正確に計測できるビジュアルサーボ制御の近接距離より離れた離隔距離、例えば４００ｍｍに変更する。
また、画像上の目標位置は、認識に失敗する直前に認識できたワーク１の最終位置（ｍｘｐ，ｍｙｐ）に設定する。
さらに、同時に移動速度をビジュアルサーボ制御時の移動速度より大きく設定する。例えば、移動速度をビジュアルサーボ制御時の最大移動速度、又はロボットが移動可能な最大速度に設定する。
【００３６】
なお、この図において、姿勢変更（Ｓ１４）は、認識に失敗する直前に認識できたワークの最終位置を向くようにカメラの姿勢を変更する処理である。
この姿勢変更（Ｓ１４）は必須ではなく、これを省略してもよい。
【００３７】
図２において、再捕捉制御により、ワーク１を再補足した後は、Ｓ１〜Ｓ７のビジュアルサーボ制御に復帰し、そのままビジュアルサーボ制御を継続する。
その際、再捕捉制御において姿勢変更（Ｓ１４）を実施した場合には、上述したように、カメラの姿勢を下向きに復帰する姿勢復帰処理Ｓ７をステップＳ２の後に実行する。
また、再捕捉制御が継続して予め設定した回数Ｎに達した場合は、作動を停止し（Ｓ２１）、本発明による制御を終了する。また、予め設定したカメラ２の移動範囲を超えた場合にも、同様に本発明による制御を終了する。
この場合には、ロボットを停止させて、例えばアラーム等を出力するのがよい。
【００３８】
図４は、再捕捉制御の開始前（ワークの見失い直前）と開始直後の画像の模式図である。この図において、（Ａ）は開始前、（Ｂ）は開始直後である。
再捕捉制御の開始前（ワークの見失い直前）には、図４（Ａ）に示すように、ワーク１の位置（ｍｘ，ｍｙ，ｍｚ）が認識（検出）されている。また、再捕捉制御の開始後（ワークの見失い直後）には、図４（Ｂ）に示すように、ワーク１の位置は認識できないが、その直前の最終位置（ｍｘｐ，ｍｙｐ，ｍｚｐ）は記憶装置に記憶されている。
また、図４（Ａ）から図４（Ｂ）までの時間差は、制御周期（例えば１／３０秒間）であり、図４（Ｂ）においてもワーク１の位置はその直前の最終位置（ｍｘｐ，ｍｙｐ，ｍｚｐ）の近傍に存在する。
【００３９】
図５は、本発明による再捕捉制御を示す説明図である。この図において、（Ａ）は姿勢変更（Ｓ１４）を実施しない場合、（Ｂ）は姿勢変更（Ｓ１４）を実施する場合である。
【００４０】
図４（Ａ）に示したようにワーク１がカメラ２の視野から外れて見失う直前にはワーク１がカメラ２の視野の端部に存在する。従って、図４（Ｂ）に示したように、ワーク１を見失った場合は、直前に認識された位置（最終位置）の延長上に、ワーク１がある可能性が高い。
【００４１】
従って、カメラ２の目標位置を、認識に失敗する直前に認識できたワーク１の最終位置（ｍｘｐ，ｍｙｐ）に設定することにより、カメラ２がワーク１が存在する方向に移動するので、移動後のカメラ２の視野内にワーク１を再補足しやすい。
また、カメラ２の目標位置を、図５（Ａ）に示すように、カメラとワークの距離をビジュアルサーボ制御時の近接距離（例えば３００ｍｍ）より離れた離隔距離（例えば４００ｍｍ）に設定することにより、焦点距離を変化させるズーム機構のないカメラ２の視野が広がり、ワーク１をさらに再補足しやすくなる。
さらに、カメラ２の移動速度をビジュアルサーボ制御時の移動速度より大きく、例えば、移動速度をビジュアルサーボ制御時の最大移動速度、又はロボットが移動可能な最大速度に設定するので、ワーク１がその最終位置（ｍｘｐ，ｍｙｐ）から移動していても、見失ったワーク１に追いつきやすくなる。
【００４２】
また、カメラ２の目標位置と移動速度の変更は、認識したワーク１の最終位置（ｍｘｐ，ｍｙｐ）を基に求めるため、特別な計算処理は不要であり、処理時間を短くできる。
【００４３】
さらに、図５（Ｂ）に示すように、再捕捉制御において、ワーク１の最終位置（ｍｘｐ，ｍｙｐ）を向くようにカメラ２の姿勢を変更することにより、カメラの視野を効率よく変えられ、ワーク１の再補足をさらに確実にできる。
また、カメラ２の姿勢を変更するワーク１の移動方向は、直前に認識された最終位置情報（ｍｘｐ，ｍｙｐ）を使って求めるため、特別な計算処理は不要であり、処理時間を短くできる。
【００４４】
従って本発明の装置及び方法によれば、ビジュアルサーボ制御により、ワーク１の上方（又は横方向）からその位置と姿勢をカメラ２で計測し、計測結果に基づいてロボットをフィードバック制御し、カメラ２をワーク１の移動に追従させることができる。
また、再捕捉制御により、ビジュアルサーボ制御中に、ワーク１がカメラ２の視野から外れた場合に、認識したワーク１の最終位置を基に、カメラ２の目標位置と移動速度を変更するので、焦点距離を変化させるズーム機構のないカメラを用いて、短時間にワーク１を再補足することができる。
【００４５】
なお、本発明は上述した実施形態に限定されず、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味および範囲内でのすべての変更を含むものである。
【符号の説明】
【００４６】
１  ワーク（対象物）、２  カメラ、
３  ロボット、３ａ  ロボットアーム、
４  テーブル、５  画像、
１０  ロボット制御装置、
１２  画像処理装置、
１４  ロボットコントローラ
ｍｘ，ｍｙ，ｍｚ  検出されたワークの位置、
ｍｘ０，ｍｙ０，ｍｚ０  ワークの目標位置、
ｍｘｐ，ｍｙｐ，ｍｚｐ  認識されたワークの最終位置
【図１】
0005448069.tif 000002
【図２】
0005448069.tif 000003
【図３】
0005448069.tif 000004
【図４】
0005448069.tif 000005
【図５】
0005448069.tif 000006