(57)【要約】【課題】作業速度を損なうことなく、カメラで撮影した画像を用いて各種作業を実行可能なロボット装置を提供すること。【解決手段】ロボット本体６と、ロボット本体６に取り付けられ、ワーク１０を撮影可能なカメラ４と、予め設定された教示点までの軌道に基づいてロボット本体６を駆動制御している間に、カメラ４がワーク１０を撮影可能な領域に到達すると、ワーク１０に向けてカメラ４が直線移動するようにロボット本体６を駆動制御すると共に、カメラ４が直線移動している間にカメラ４でワーク１０を撮影し、撮影した画像からワーク１０の位置を計測する制御装置５と、を備えた。【選択図】図１
2015000454.tif 000002
【特許請求の範囲】
【請求項１】
ロボット本体と、
前記ロボット本体に取り付けられ、ワークを撮影可能なカメラと、
予め設定された教示点までの軌道に基づいて前記ロボット本体を駆動制御している間に、前記カメラがワークを撮影可能な領域に到達すると、ワークに向けて前記カメラが直線移動するように前記ロボット本体を駆動制御すると共に、前記カメラが直線移動している間に前記カメラでワークを撮影し、撮影した画像からワークの位置を計測する制御装置と、を備えた、
ことを特徴とするロボット装置。
【請求項２】
前記制御装置は、前記カメラの光軸と平行に前記カメラが直線移動するように前記ロボット本体を駆動制御する、
ことを特徴とする請求項１に記載のロボット装置。
【請求項３】
前記制御装置は、前記カメラがワークを撮影可能な領域に到達すると、前記教示点が前記カメラの光軸上に位置するように前記ロボット本体を駆動制御する、
ことを特徴とする請求項１又は２に記載のロボット装置。
【請求項４】
前記ロボット本体は、ロボットアームと、前記ロボットアームの先端に取り付けられ、所定の作業を行うエンドエフェクタと、を有し、
前記カメラは、前記エンドエフェクタの先端が写るように、前記エンドエフェクタに対して所定角度傾斜した状態で前記ロボットアーム又は前記エンドエフェクタに取り付けられている、
ことを特徴とする請求項１から３のいずれか１項に記載のロボット装置。
【請求項５】
ロボット本体と、
前記ロボット本体に取り付けられ、ワークを撮影可能なステレオカメラと、
予め設定された教示点までの軌道に基づいて前記ロボット本体を駆動制御している間に、前記ステレオカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御すると共に、前記ステレオカメラが直線移動している間に前記ステレオカメラでワークを撮影し、撮影した画像からワークの３次元位置を計測する制御装置と、を備えた、
ことを特徴とするロボット装置。
【請求項６】
前記制御装置は、前記ステレオカメラの２つの焦点と前記予め設定された教示点とが通る平面から構成されるエピポーラ面と平行に、前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御する、
ことを特徴とする請求項５に記載のロボット装置。
【請求項７】
前記制御装置は、計測したワークの位置に基づいて、前記ロボット本体の前記軌道を修正する、
ことを特徴とする請求項１から６のいずれか１項に記載のロボット装置。
【請求項８】
制御部が、予め設定された教示点までの軌道に基づいてロボット本体を駆動制御している間に、前記ロボット本体に取り付けられたカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記カメラが直線移動するように前記ロボット本体を駆動制御する直線移動制御工程と、
前記制御部が、前記カメラが直線移動している間に前記カメラでワークを撮影しつつ、撮影した画像からワークの位置を計測するワーク位置計測工程と、を備えた、
ことを特徴とするロボット制御方法。
【請求項９】
前記直線移動制御工程は、前記カメラの光軸と平行に前記カメラが移動するように前記ロボット本体を駆動制御する、
ことを特徴とする請求項８に記載のロボット制御方法。
【請求項１０】
制御部が、予め設定された教示点までの軌道に基づいてロボット本体を駆動制御している間に、前記ロボット本体に取り付けられたステレオカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御する直線移動制御工程と、
前記制御部が、前記ステレオカメラが直線移動している間に前記ステレオカメラでワークを撮影しつつ、撮影した画像からワークの３次元位置を計測する３次元位置計測工程と、を備えた、
ことを特徴とするロボット制御方法。
【請求項１１】
前記直線移動制御工程は、前記ステレオカメラの２つの焦点と前記教示点とを通る平面から構成されるエピポーラ面と平行に前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御する、
ことを特徴とする請求項１０に記載のロボット制御方法。
【請求項１２】
前記制御部が、計測したワークの位置に基づいて、前記ロボット本体の前記軌道を修正する軌道修正工程と、を備えた、
ことを特徴とする請求項８から１１のいずれか１項に記載のロボット制御方法。
【請求項１３】
請求項８から１２のいずれか１項に記載の各工程をコンピュータに実行させるためのロボット制御プログラム。
【請求項１４】
請求項１３に記載のロボット制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラが取り付けられたロボットアームを有するロボット装置及びロボット制御方法に関する。
【背景技術】
【０００２】
ロボット装置を使用してワークの把持や組み付け作業等を行う場合、ロボットアームの先端に取り付けられたカメラを用いてワークの位置や姿勢を計測し、計測した情報に基づいてワークの把持や組み付け等を行う場合がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２８８９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ロボットアームの手先にカメラを取り付けた場合、ロボットアームの可動中にカメラで部品等を撮影すると、画像のブレが発生して、部品等の正確な位置情報等を得ることができないという問題がある。そのため、正確な位置情報等を得るには、ロボットアームを一旦停止して部品等を撮影する必要があった。しかし、一般にロボットアームは慣性が大きいため、ロボットアームを一旦停止させて部品等を撮影するとなると、ロボットアームの減速、停止、撮影、再加速という作業サイクルに多大な時間を要することになる。その結果、作業速度が遅くなるという問題があった。
【０００５】
そこで、本発明は、作業速度を損なうことなく、カメラで撮影した画像を用いて各種作業を実行可能なロボット装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、ロボット装置において、ロボット本体と、前記ロボット本体に取り付けられ、ワークを撮影可能なカメラと、予め設定された教示点までの軌道に基づいて前記ロボット本体を駆動制御している間に、前記カメラがワークを撮影可能な領域に到達すると、ワークに向けて前記カメラが直線移動するように前記ロボット本体を駆動制御すると共に、前記カメラが直線移動している間に前記カメラでワークを撮影し、撮影した画像からワークの位置を計測する制御装置と、を備えたことを特徴とする。
【０００７】
また、本発明は、ロボット装置において、ロボット本体と、前記ロボット本体に取り付けられ、ワークを撮影可能なステレオカメラと、予め設定された教示点までの軌道に基づいて前記ロボット本体を駆動制御している間に、前記ステレオカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御すると共に、前記ステレオカメラが直線移動している間に前記ステレオカメラでワークを撮影し、撮影した画像からワークの３次元位置を計測する制御装置と、を備えたことを特徴とする。
【０００８】
また、本発明は、ロボット制御方法において、制御部が、予め設定された教示点までの軌道に基づいてロボット本体を駆動制御している間に、前記ロボット本体に取り付けられたカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記カメラが直線移動するように前記ロボット本体を駆動制御する直線移動制御工程と、前記制御部が、前記カメラが直線移動している間に前記カメラでワークを撮影しつつ、撮影した画像からワークの位置を計測するワーク位置計測工程と、を備えたことを特徴とする。
【０００９】
また、本発明は、ロボット制御方法において、制御部が、予め設定された教示点までの軌道に基づいてロボット本体を駆動制御している間に、前記ロボット本体に取り付けられたステレオカメラがワークを撮影可能な領域に到達すると、ワークに向けて前記ステレオカメラが直線移動するように前記ロボット本体を駆動制御する直線移動制御工程と、前記制御部が、前記ステレオカメラが直線移動している間に前記ステレオカメラでワークを撮影しつつ、撮影した画像からワークの３次元位置を計測する３次元位置計測工程と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、作業速度を損なうことなく、カメラで撮影した画像を用いて各種作業を実行することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るロボット装置の全体構造を模式的に示す斜視図である。
【図２】第１実施形態に係る制御装置のブロック図である。
【図３】第１実施形態に係るエンドエフェクタ及びカメラの平行軌道を示す図である。
【図４】運動方向とブレ量を示す図である。
【図５】第２実施形態に係るエンドエフェクタ及びカメラの平行軌道を示す図である。
【図６】第３実施形態に係るエンドエフェクタとカメラを示す図である。
【図７】第３実施形態に係るエンドエフェクタ及びカメラの平行軌道を示す図である。
【図８】第４実施形態に係るロボット装置の全体構造を模式的に示す斜視図である。
【図９】第４実施形態に係るエンドエフェクタとステレオカメラとを示す図である。
【図１０】ステレオカメラで撮影された画像を示す図である。
【図１１】ステレオ計測時のブレの発生形態を説明する図である。
【図１２】従来のエンドエフェクタ及びカメラの軌道を示す図である。
【図１３】従来のエンドエフェクタ及びカメラの軌道を示す図である。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
以下、本発明の第１実施形態に係るロボット装置１について、図１から図４を参照しながら説明する。まず、第１実施形態に係るロボット装置１全体の概略構成について、図１及び図２を参照しながら説明する。
【００１３】
図１に示すように、ロボット装置１は、ロボット本体６と、ロボット本体６に取り付けられたカメラ４と、ロボット本体６及びカメラ４を制御可能な制御装置５と、を備えている。ロボット本体６は、６軸多関節のロボットアーム２と、ロボットアーム２の手先に取り付けられたエンドエフェクタ３と、を備えている。
【００１４】
ロボットアーム２は、エンドエフェクタ３及びカメラ４の位置姿勢を変えるのに必要な自由度を持っている。具体的には、ロボットアーム２は、各関節を各関節軸まわりにそれぞれ回転駆動する６つのアクチュエータを備えており、各アクチュエータのそれぞれを選択的に駆動することでエンドエフェクタ３及びカメラ４を任意の３次元位置に移動させる。エンドエフェクタ３は、ワーク（目標物）１０の把持や組み付け等の作業を行うためのものである。本実施形態においては、エンドエフェクタとして、ワーク１０の所定の位置に塗布剤や接着剤等を塗布する作業を行うディスペンサがロボットアーム２の手先に取り付けられている。
【００１５】
なお、上述したロボットアーム２及びエンドエフェクタ３は、上記構成に限定されるものではない。例えば、ロボットアームは、水平多関節型やＸＹＺ直交型であってもよく、これらに関節軸を追加して必要な自由度を確保した構成であってもよい。また、エンドエフェクタは、ドライバやグリッパ、放電加工装置であってもよい。更に、把持等の作業の必要性がない場合（例えば、文字認識や表面状態観測等）には、エンドエフェクタとしてカメラをロボットアーム２の手先に取り付けてもよい。
【００１６】
カメラ４は、エンドエフェクタ３による作業をアシストするためのものであり、ワーク１０の正確な位置や姿勢等の情報を取得するためにワーク１０を撮影する。カメラ４は、エンドエフェクタ３の近傍のロボットアーム２の手先に取り付けられており、ロボットアーム２の動作に伴ってエンドエフェクタ３と一体で位置姿勢を変える。なお、ここでいう近傍とは、ロボット本体６（ロボットアーム２及びエンドエフェクタ３）と同じリンク上にあり、エンドエフェクタ３と同期して動くことができる位置であればよい。また、カメラ４は、エンドエフェクタ３に取り付けられていてもよい。
【００１７】
図２に示すように、制御装置（制御部）５は、画像処理装置５１と、軌道生成装置５２と、記憶装置５３と、ロボットコントローラ５４と、記録メディア読取装置５５と、通信装置５６と、を備えている。
【００１８】
画像処理装置５１は、カメラ４で撮影した画像を基に撮影時点でのカメラ４からのワーク１０の相対的な位置を計測する。計測法については、パターンマッチングやエッジを抽出して重心や交点などの特徴点を求める方法などがあるが、本実施形態では特に限定されない。なお、カメラがエンドエフェクタの代わりにロボットアームの先端に取り付けられている場合には、画像処理装置５１は、ラベルの文字認識、ワークの表面状態の観測やワークの有無等の状態を観測する。
【００１９】
軌道生成装置５２は、ワーク１０に対して所定の作業を実行するための目標位置にエンドエフェクタ３を誘導するためのロボットアーム２の軌道を生成する装置である。具体的には、軌道生成装置５２は、予め教示された教示点に基づいて、仮の目標位置までのロボットアーム２の軌道（以下、「アプローチ軌道」という）を生成する。また、軌道生成装置５２は、ワーク１０の近傍でカメラ４がワーク１０を撮影可能な領域に到達すると、カメラ４の光軸に沿って光軸と平行にカメラ４が直線移動するようにロボットアーム２の軌道（以下、「平行軌道」という）を生成する。更に、軌道生成装置５２は、目標位置が計測された後、仮の目標位置と計測された目標位置とがずれていた場合には計測された目標位置に基づいてアプローチ軌道を修正する。
【００２０】
なお、教示点の教示は、公知のティーチングペンダント（不図示）やパーソナルコンピュータ（不図示）などの入力装置から行われる。また、通常、教示点は誤差を含んでいるため、真の目標位置からずれている場合がある。この場合、教示点を仮の目標位置として、必要に応じて画像処理装置５１からの情報を基にして、カメラ４の移動方向がカメラ４の光軸と平行からずれた場合は平行軌道等を修正できるようになっている。
【００２１】
記憶装置５３には、アプローチ軌道や平行軌道を生成するための各種プログラムや画像処理装置５１により計測されたワーク１０の位置情報の処理結果、予めユーザによって教示された初期教示点等のデータが格納されている。なお、記憶装置５３は、ユーザインターフェイスに表示することで代替したり、省略することも可能である
【００２２】
ロボットコントローラ５４は、軌道生成装置５２が生成するアプローチ軌道や平行軌道に沿ってエンドエフェクタ３及びカメラ４が移動するようにロボットアーム２を駆動制御する。その際、フィードバック制御が用いられ、ロボットアーム２の現在位置情報を取得している。また、ロボットコントローラ５４は、軌道生成装置５２が生成した平行軌道に基づいてロボットアーム２が駆動中にカメラ４を撮影制御すると共に、目標位置に移動したエンドエフェクタ３を駆動制御する。本実施形態においては、カメラ４の移動方向がカメラ４の光軸と平行に直線移動（光軸に沿って移動）する平行軌道に乗った際にカメラ４に撮影指示を出すようになっている。なお、撮影指示は、カメラ４が平行軌道に乗った後であればいつでも可能であり、複数回の撮影を行う構成であってもよい。
【００２３】
記録メディア読取装置５５は、ロボット制御プログラム等の各種プログラムを記録したコンピュータ読み取り可能な記録媒体５７を読み込み、記録媒体５７に記録されたプログラムやデータ等を記憶装置５３に格納させるため等に用いられる。通信装置５６は、例えば、上述したような記録媒体５７を使用せずに、通信装置５６を介してインターネット等から配信される更新プログラム等をダウンロードする際に用いられる。
【００２４】
なお、上述した画像処理装置５１、軌道生成装置５２及びロボットコントローラ５４の実現手段は、マイクロコンピュータやゲートロジック、アナログ演算装置などを用いて実現することが可能であるが、上述の機能を満たせば特定の構成に限定されない。またハード的には１台のコンピュータで実現することも可能である。
【００２５】
次に、上述のように構成された制御装置５によるロボットアーム２の制御方法について、図３を参照しながら説明する。
【００２６】
まず、軌道生成装置５２により、ユーザによって予め入力された教示点、若しくは記憶装置５３に記憶された初期教示点に基づいて、エンドエフェクタ３を仮の目標位置に誘導するアプローチ軌道が生成される。本実施形態においては、記憶装置５３に記憶された初期教示点ＴＰに基づいてアプローチ軌道が生成される。なお、アプローチ軌道の生成は、ユーザにより不図示の入力装置から入力される教示点に基づいて生成する構成であってもよい。
【００２７】
アプローチ軌道が生成されると、生成されたアプローチ軌道に沿ってエンドエフェクタ３及びカメラ４が移動するように、ロボットコントローラ５４により、ロボットアーム２が駆動制御される。ロボットアーム２の駆動制御にはフィードバック制御が用いられ、ロボットアーム２の現在位置情報を取得しながら初期教示点ＴＰに向かって駆動制御される。
【００２８】
次に、カメラ４がワーク１０を撮影可能な範囲に移動すると、軌道生成装置５２により、カメラ４が光軸と平行にワーク１０に向かって直線移動（図３に示す直線ｌｃ）するように、平行軌道が生成される。平行軌道が生成されると、生成された平行軌道に沿ってエンドエフェクタ３及びカメラ４が移動するように、ロボットコントローラ５４により、ロボットアーム２が駆動制御される（直線移動制御工程）。なお、カメラ４が直線ｌｃに沿って移動する際のエンドエフェクタ３の軌道は、直線ｌｃと平行な直線ｌｅのようになる。
【００２９】
次に、カメラ４が平行軌道に乗ると、ロボットコントローラ５４は、カメラ４にトリガ信号を送信する。トリガ信号を受信すると、カメラ４は、光軸と平行にワーク１０に向かって移動しながら初期教示点ＴＰ付近の撮影を行う。カメラ４で撮影された画像は、不図示の伝送ケーブル又は不図示の無線装置を伝って画像処理装置５１に転送される。撮影が終わると、カメラ４は、露光（撮影）が終了したことを示すトリガ信号をロボットコントローラ５４に送信する。
【００３０】
カメラ４からトリガ信号を受信すると、ロボットコントローラ５４は、その時点でのロボットアーム２の位置データを記録し、軌道生成装置５２へと転送する。なお、カメラ４からのトリガ信号の発信は、予めカメラの露光時間が分かっている場合には省略することができる。例えば、ロボットコントローラ５４が有するタイマを使用して、露光終了時のロボットアーム２の位置データを記録すればよい。
【００３１】
撮影された画像を受信すると、画像処理装置５１は、受信した画像に基づいて、撮影した時点でのカメラ４からの相対的な目標位置を計測し、計測したデータを軌道生成装置５２に転送する。軌道生成装置５２は、ロボットコントローラ５４から転送されたロボットアーム２の位置データ及び軌道生成装置５２から転送された計測データを受信すると、ロボット座標に対する目標位置を計算する（ワーク位置計測工程）。この位置データと計測データとは同時刻のデータであり、ロボットアーム２の位置データからカメラ４のロボット座標に対する位置が決まるので、画像処理装置５１からの計測データに加算することによってロボット座標に対する目標位置を計算することができる。
【００３２】
目標位置を計算すると、軌道生成装置５２は、記憶装置５３からロードされた初期教示点ＴＰに対して、上記計算で得たデータをもってアプローチ軌道を修正し、目標位置に対する新たな軌道を計算する（軌道修正工程）。軌道の計算方法としては種々の方法が可能であるが、一般的な軌道の計算方法であればよく、特に計算方法に限定されるものではない。例えば、エンドエフェクタ３と目標位置とを最短距離で結ぶ方法、ロボットアーム２の関節の駆動量をできるだけ少なくする方法及び特異点を避けるアルゴリズムを組み合わせる方法などを用いることができる。
【００３３】
なお、通常、画像処理や軌道計算には時間がかかるので、その間はアプローチ軌道を維持すればよい。また、アプローチ軌道の修正動作は、１度のみに限定されず、可能な限り複数回繰り返すことも可能である。
【００３４】
計算された新たなアプローチ軌道は、軌道データとしてロボットコントローラ５４に転送される。ロボットコントローラ５４は、新たに生成されたアプローチ軌道に沿ってエンドエフェクタ３及びカメラ４が移動するように、ロボットアーム２を駆動制御する。また、これらの情報は、記憶装置５３に転送され、ワーク１０の計測情報として蓄積することができるようになっている。
【００３５】
次に、上述のように生成された平行軌道でカメラ４を移動させた際の効果について、図４を参照しながら説明する。まず、エンドエフェクタでワークに対して何らかの作業を行うためにはエンドエフェクタを正確な目標位置に誘導する必要がある。通常、教示時と実作業時のワークの位置は誤差を含むため、カメラで撮影した情報を基に目標位置を修正することが必要とされる。以下、平行軌道でカメラ４を移動させた際の効果について具体的に説明する。
【００３６】
まず、カメラ４の撮像面上に光軸との交点を原点としたＸ軸及びＹ軸、撮像面と直交する方向（光軸方向）をＺ軸としたカメラ座標系を設定する（図１参照）。撮影時ｔのカメラの各軸方向の速度を、それぞれＶｘ（ｔ）、Ｖｙ（ｔ）、Ｖｚ（ｔ）とし、カメラ４とワーク１０の距離をＷ、カメラ４の焦点距離をｆ、撮像面上での計測点の位置をｘ，ｙ、露光時間をＴとする。すると、各軸方向に対するカメラ４の運動（運動方向）によるブレ量は、図４に示すようになる。
【００３７】
以下、Ｚ軸方向の運動に対するＸ軸方向のブレについて説明する。なお、Ｙ軸方向のブレに関しては、Ｘ軸方向のブレと同じ形の式になり、ｘをｙに置き換えれば成り立つため説明を省略する。Ｚ軸方向の運動に対するブレ量は、本来、
【００３８】
【数１】
2015000454.tif 000003
であるが、エンドエフェクタ３とワーク１０とが衝突するおそれがあるため、撮影時に
【００３９】
【数２】
2015000454.tif 000004
が成り立つように設定する必要がある。したがって、近似的には、図４に示す式
【００４０】
【数３】
2015000454.tif 000005
となる。
【００４１】
ロボット本体６に搭載するカメラが大きい場合、ペイロードの増加や他の構造物との干渉を招くおそれがあるためカメラは小型に設計される。即ち、撮影距離に対してカメラのセンササイズは十分小さく設計され、ｘ＜＜Ｗである。したがって、
【００４２】
【数４】
2015000454.tif 000006
となり、同じ速度で運動した場合、Ｚ軸方向に関してのみブレが小さくなる。
【００４３】
例えば、カメラの焦点距離ｆ＝２０ｍｍ、撮影距離Ｗ＝１００ｍｍ、各軸方向の運動速度Ｖｘ（ｔ）＝Ｖｙ（ｔ）＝Ｖｚ（ｔ）＝５０ｍｍ／ｓ、露光速度Ｔ＝１０ｍｓｅｃ、センサのピッチ２μｍ、撮像面上の計測位置ｘ＝１ｍｍとする。すると、Ｘ軸方向の運動に対しては、撮像面上で中心から１ｍｍの位置でのブレは０．１ｍｍ、すなわち、５０画素分となり、影響が無視できなくなる。一方、Ｚ軸方向の運動に対しては、撮像面上でのブレは１μｍ、すなわち０．５画素分にすぎなく、影響がほとんどない。
【００４４】
以上説明したように、第１実施形態に係るロボット装置１は、教示点に基づいて生成したアプローチ軌道にロボットアームを制御する際、カメラ４がワーク１０に近づくと、ワーク１０に向かってカメラ４が直線移動するようにロボットアーム２を駆動制御する。具体的には、カメラ４が光軸と平行に移動するようにロボットアーム２を駆動制御する。そして、カメラ４が光軸と平行に直線移動する間にカメラ４でワーク１０を撮影する。そのため、ロボットアーム２を駆動中でもロボットアーム２に取り付けられたカメラ４のブレを小さくすることができる。これにより、ワークの位置や姿勢、又は部品の有無などの表面状態やラベルの認識等の計測の正確性を向上させることができる。
【００４５】
また、その際、ロボットアーム２を停止させることなくカメラの撮影を行うため、ロボットアーム２を再加速するための時間が不要になる。そのため、作業時間の短縮を図ることができる。
【００４６】
なお、ここでいう平行とは数学的に厳密な平行でなくても、ほぼ平行で同等の効果を奏するものを含む。厳密な平行方向に対してずれが小さく、Ｘ，Ｙ方向の運動成分がＺ方向の運度に対して無視できるほど小さければよい。例えば、前記した例ではＺ方向に１００μｍ進む間にＸＹ方向には、１μｍ進む程度の平行度のズレであれば、ほぼ同等の効果が得られる。
【００４７】
＜第２実施形態＞
次に、本発明の第２実施形態について、図１及び図２を援用すると共に、図５を参照しながら説明する。第２実施形態に係るロボット装置１Ａは、制御装置５Ａによるエンドエフェクタ３及びカメラ４の軌道が第１実施形態と相違する。そのため、第２実施形態においては、第１実施形態と相違する点、即ち、エンドエフェクタ３及びカメラ４の軌道を中心に説明し、第１実施形態と同様の構成については説明を省略する。
【００４８】
図１及び図２に示すように、ロボット装置１Ａは、ロボット本体６と、カメラ４と、ロボット本体６及びカメラ４を制御可能な制御装置５Ａと、を備えている。ロボット本体６は、ロボットアーム２と、エンドエフェクタ３と、を備えている。制御装置５Ａは、画像処理装置５１と、軌道生成装置５２と、記憶装置５３と、ロボットコントローラ５４と、記録メディア読取装置５５と、通信装置５６と、を備えている。
【００４９】
次に、上述のように構成された制御装置５Ａによるロボットアーム２の制御方法について、図５を参照しながら説明する。なお、カメラ４がワーク１０を撮影可能な範囲に移動するまでは第１実施形態と同様であるため、ここではその説明は省略する。
【００５０】
カメラ４がワーク１０を撮影可能な領域に移動すると、軌道生成装置５２により、カメラ４が光軸と平行にワーク１０に向かって直線移動（図３に示す直線ｌｃ）するように、平行軌道が生成される。このとき、軌道生成装置５２は、図５に示すように、少なくともカメラ４が撮影する位置までは初期教示点ＴＰがカメラ４の光軸上に位置するように、平行軌道を形成する。
【００５１】
初期教示点ＴＰをカメラ４の光軸上に位置させると、初期教示点ＴＰのカメラ４で撮影される画像位置はｘ＝ｙ＝０なので、図４に示す式からＺ方向の運動に対しての画像ブレは０となる。通常、測定対象点は、仮の測定点すなわち初期教示点付近に存在するので、この形態を実施すれば、第１実施形態より測定対象物のブレ量が少なくなり、高いぶれ防止効果を得ることができる。
【００５２】
なお、撮影後のアプローチ軌道は、図５に示すｌｅの曲線部のようにすることが好ましい。即ち、撮影するまでは直線移動し、その後、滑らかに軌道が変化するように曲線状に軌道を生成することが好ましい。
【００５３】
＜第３実施形態＞
次に、本発明の第３実施形態について、図１及び図２を援用すると共に、図６及び図７を参照しながら説明する。第３実施形態に係るロボット装置１Ｂは、エンドエフェクタ３の先端が写るように、エンドエフェクタ３に対して所定角度傾斜した状態でカメラ４が取り付けられている点が第１実施形態と相違する。そのため、第３実施形態においては、第１実施形態と相違する点、即ち、カメラ４の取付け状態を中心に説明し、第１実施形態と同様の構成については説明を省略する。
【００５４】
図１及び図２に示すように、ロボット装置１Ｂは、ロボット本体６と、カメラ４Ｂと、ロボット本体６及びカメラ４を制御可能な制御装置５Ｂと、を備えている。ロボット本体６は、ロボットアーム２と、エンドエフェクタ３Ｂと、を備えている。制御装置５Ｂは、画像処理装置５１と、軌道生成装置５２と、記憶装置５３と、ロボットコントローラ５４と、記録メディア読取装置５５と、通信装置５６と、を備えている。
【００５５】
ここで、例えば、ドライバやディスペンサなど、一般にエンドエフェクタは作業姿勢に限定があるものがほとんどである。つまり、エンドエフェクタでの作業には方向性があり、作業時にはエンドエフェクタに特定の姿勢を取らせる必要がある。そこで、本実施形態では、図６及び図７に示すように、カメラ４Ｂがエンドエフェクタ３Ｂに対して適当な仰角を持ち、常にその画角にエンドエフェクタ３Ｂの先端が映るようにロボットアーム２の先端に固定されている。
【００５６】
なお、ここでいう仰角とは、カメラ４Ｂの光軸と、エンドエフェクタ（例えば、ドライバ）３Ｂの作業方向とがなす角θである。すなわち、エンドエフェクタ３Ｂが作業時に作業部位が写るように作業方向に対してカメラ４Ｂが側方から覗き込む角度のことである。また、エンドエフェクタ３Ｂの作業方向とは、例えば、ドライバを例に示すとネジが進む方向、すなわち主軸方向である。通常は、適当な仰角を付けることによって光軸付近にエンドエフェクタ３Ｂの作業点が位置するように設置される。
【００５７】
このように、エンドエフェクタ３Ｂの先端が映るようにカメラ４Ｂを取り付けることで、図７に示すように、作業対象にアプローチする際、エンドエフェクタ３Ｂを作業時の姿勢に保つことが可能になり、動作の無駄を無くすことができる。例えば、図１２に示す従来例のように、最短距離でワーク１１０にアプローチする場合、遠距離では初期教示点ＴＰが画角に入らない上に、画角に入った後も画像上での初期教示点ＴＰの位置が大きく動いてしまい、大きなブレが生じてしまう。これに対して第３実施形態では、エンドエフェクタ３Ｂの姿勢を保ったまま、カメラ４Ｂの設置された仰角方向からエンドエフェクタ３Ｂの先端を進入させる軌道をとる。こうすることによって、カメラ４Ｂはその光軸方向と平行に運動することとなり、第１実施形態と同様にして、平行軌道に乗った以降であればいつ撮影しても、撮影する際のブレを小さく抑えることができる。また、例えば、図１３に示す従来例のように、ワークがずれていなかった場合にエンドエフェクタ１０４を大きく動かす等の必要がなくなる。
【００５８】
なお、教示点が光軸上にあるように軌道をとれば、教示点の画像上でのブレを０とすることが可能である。また、さらにエンドエフェクタの作用点も光軸上にあるようにロボットアームの先端に固定すると、エンドエフェクタの作用点と教示点付近にある真の目標点を一致させるような画像サーボ動作に用いることができる。
【００５９】
＜第４実施形態＞
次に、本発明の第４実施形態について、図２を援用すると共に、図８から図１１を参照しながら説明する。第４実施形態に係るロボット装置１Ｃは、２眼のステレオカメラを用いる点が第１実施形態と相違する。そのため、第４実施形態においては、ステレオカメラを用いた場合を中心に説明し、第１実施形態と同様の構成については説明を省略する。
【００６０】
図８に示すように、ロボット装置１Ｃは、ロボット本体６と、ロボット本体６に取り付けられたカメラ４２，４３と、ロボット本体６及びカメラ４２，４３を制御可能な制御装置５Ｃと、を備えている。ロボット本体６は、ロボットアーム２と、エンドエフェクタ３と、を備えている。
【００６１】
図９に示すように、カメラ４２，４３は、相互に所定の基線長を保ってロボットアーム２に固定されており、公知のステレオ計測を行うことによってワーク１０の３次元の位置姿勢を検出することが可能なステレオカメラ４１である。また、図９に示すｌｃ２２はカメラ４２の焦点と初期教示点ＴＰを通る直線であり、ｌｃ２３はカメラ４３の焦点と初期教示点ＴＰを通る直線である。図９に示すＰｃは、２つの直線ｌｃ２２，ｌｃ２３が張る平面であり、言い換えると、カメラ４２の焦点と、カメラ４３の焦点と、初期教示点ＴＰとから構成される平面である。この平面は、通常、エピポーラ面Ｐｃと呼ばれ、ロボットアーム２の先端の軌道は、このエピポーラ面Ｐｃと平行になるように軌道生成装置５２によって生成される。
【００６２】
次に、エピポーラ面Ｐｃと平行にカメラ４２，４３を移動させた場合の効果について、図１０を参照しながら説明する。図１０に示す４４はカメラ４２で撮影された画像であり、２５はカメラ４３で撮影された画像である。また、ｔｐ４４，ｔｐ５５はそれぞれ教示点の画像４４、画像４５上での位置及びブレを示している。本実施形態の場合、計測点の像は常に同一のエピポーラ面上にあるように制御されるため、図１０に図示したようにブレは特定の方向、すなわち、いわゆるエピポーラ線上に限定して発生する。
【００６３】
また、作業時には、ロボットアーム２の先端及びカメラ４２，４３は教示点に近接するため、公知のステレオ計測の原理によりブレにより発する輝線のうち、もっとも視差の大きい点が最終的な位置を表す。例えば、図１１において、Ｏ点は計測点を示し、点Ａ、点Ｂは、カメラ４２，４３が露光を開始する点での計測点Ｏの像を示し、点Ａ”、点Ｂ”は、カメラ４２，４３が露光を終了する点での計測点Ｏの像を示している。また、線分Ａ’Ａ”及び線分Ｂ’Ｂ”は露光終了時に計測点に相当する像のブレを示している。図１１に示すように、カメラが計測点Ｏに最も近づいた時、すなわちＡ”，Ｂ”の組が視差が最も大きくなっていることが分かる。このように、ブレ像のうち最も視差が大きくなる点が最新の位置を示しているため、この位置は容易に限定でき、またこの位置をもって計測を行えば、もっとも最新の情報を得ることができる。
【００６４】
以上説明したように、第３実施形態によれば、ブレが発生した場合でも、容易に正確な三次元の目標位置を検出することが可能となり、動きながらの３次元位置計測が可能になる。
【００６５】
なお、軌道の方向として、さらに２つのカメラの焦点を結ぶ線の垂直２等分線と平行とすれば、片方のカメラのみ大きくぶれることがなくなり、より好ましい。また、軌道の方向として、さらに片方のカメラの光軸上に教示点が乗るように生成すれば、そちらのカメラのブレを、ほぼなくすことができる。したがってこの場合は、３次元の位置計測の他に光軸上に教示点が乗るように設定されたカメラ側でテクスチャなど表面状態をブレなく観測することが可能となる。
【符号の説明】
【００６６】
１、１Ａ、１Ｂ、１Ｃ    ロボット装置
２    ロボットアーム
３、３Ｂ    エンドエフェクタ
４    カメラ
５、５Ａ、５Ｂ、５Ｃ    制御装置（制御部）
６    ロボット本体
１０    ワーク
【図１】
2015000454.tif 000007
【図２】
2015000454.tif 000008
【図３】
2015000454.tif 000009
【図４】
2015000454.tif 000010
【図５】
2015000454.tif 000011
【図６】
2015000454.tif 000012
【図７】
2015000454.tif 000013
【図８】
2015000454.tif 000014
【図９】
2015000454.tif 000015
【図１０】
2015000454.tif 000016
【図１１】
2015000454.tif 000017
【図１２】
2015000454.tif 000018
【図１３】
2015000454.tif 000019