(57)【要約】【課題】  環境の条件に限定されず、対象物までの距離を推定する。【解決手段】  ロボット１０は、白色ＬＥＤ２３と、カラーカメラ２４と、右アーム２６と、カラーカメラ２４が撮像した複数の画像および白色ＬＥＤ２３がワーク１４に照射した光の光量を対応付けて記憶するメモリ１０４と、同一の位置でワーク１４を複数回撮像するように制御し、光量が変化するように白色ＬＥＤ２３を制御し、２種類以上の画像中にあるワーク１４上の同じ位置を表わす画素を特定し、その画素の輝度差および光量差を算出し、白色ＬＥＤ２３からワーク１４までの距離の推定値を算出し、白色ＬＥＤ２３およびカラーカメラ２４がワーク１４に近づくように、右アーム２６を制御する制御用コンピュータと、右アーム２６に白色ＬＥＤ２３およびカラーカメラ２４の移動に従属して移動するように取付けられ、かつワーク１４を把持する第１指３４〜第３指２８とを含む。【選択図】        図１
2006021300.tif 000002
【特許請求の範囲】
【請求項１】
対象物に光を照射するための照射手段と、
前記対象物を撮像する第１のカメラと、
前記照射手段および第１のカメラを移動させるための移動手段と、
前記対象物を、前記第１のカメラよりも広い範囲の背景を含むように撮像する第２のカメラと、
前記第２のカメラが撮像した画像を用いて、前記対象物の位置を検出するための検出手段と、
前記検出手段が検出した位置を用いて、前記第１のカメラが前記対象物を撮像する位置を決定するための決定手段と、
前記決定手段が決定した同一の位置で前記対象物を複数回撮像するように、前記第１のカメラおよび前記移動手段を制御するための第１の制御手段と、
前記第１のカメラが前記対象物を複数回撮像する合間に光量が変化するように、前記照射手段を制御するための第２の制御手段と、
前記第１のカメラが撮像した複数の画像および前記照射手段が対象物に照射した光の光量を対応付けて記憶するための第１の記憶手段と、
前記第１の記憶手段が記憶した画像を構成する画素の輝度から、光量が変化した前後に撮像した２種類以上の画像中にある対象物上の同じ位置を表わす画素を特定するための特定手段と、
前記特定手段が特定した画素の輝度差および前記２種類以上の画像に対応する光の光量差を算出するための第１の算出手段と、
前記光量差に対する前記輝度差の比が前記照射手段から前記対象物までの距離の２乗に反比例することを用いて、前記照射手段から前記対象物までの距離の推定値を算出するための第２の算出手段とを含む、推定装置。
【請求項２】
前記移動手段は、前記照射手段および第１のカメラを前記対象物までの距離が等しくなるように移動させるための手段を含む、請求項１に記載の推定装置。
【請求項３】
前記対象物までの距離が等しくなるように移動させるための手段は、前記照射手段および第１のカメラを同一の部材に前記対象物までの距離が等しくなるように固定して移動させるための手段を含む、請求項２に記載の推定装置。
【請求項４】
前記推定装置は、前記対象物の撮像面に対する、前記照射手段からの光以外の光を遮蔽するための遮蔽手段をさらに含む、請求項１に記載の推定装置。
【請求項５】
前記推定装置は、
前記第１あるいは第２のカメラが撮像した画像のいずれかを用いて、前記対象物の種類を識別するための識別手段と、
前記対象物の種類ごとに、前記対象物の表面の属性を表わす属性情報を記憶するための第２の記憶手段とをさらに含み、
前記第２の算出手段は、前記属性情報を用いて、前記識別手段が識別した対象物の種類に対応するように、前記距離の推定値を算出するための手段を含む、請求項１に記載の推定装置。
【請求項６】
対象物に光を照射するための照射手段と、
前記対象物を撮像する第１のカメラと、
前記対象物を、前記第１のカメラよりも広い範囲の背景を含むように撮像する第２のカメラと、
前記第２のカメラが撮像した画像を用いて、前記対象物の位置を検出するための検出手段と、
前記検出手段が検出した位置を用いて、前記第１のカメラが前記対象物を撮像する位置を決定するための決定手段と、
前記照射手段および第１のカメラを移動させるための移動手段と、
前記決定手段が決定した同一の位置で前記対象物を複数回撮像するように、前記第１のカメラおよび前記移動手段を制御するための第１の制御手段と、
前記第１のカメラが前記対象物を複数回撮像する合間に光量が変化するように、前記照射手段を制御するための第２の制御手段と、
前記第１のカメラが撮像した複数の画像および前記照射手段が対象物に照射した光の光量を対応付けて記憶するための記憶手段と、
前記記憶手段が記憶した画像を構成する画素の輝度から、光量が変化した前後に撮像した２種類以上の画像中にある対象物上の同じ位置を表わす画素を特定するための特定手段と、
前記特定手段が特定した画素の輝度差および前記２種類以上の画像に対応する光の光量差を算出するための第１の算出手段と、
前記光量差に対する前記輝度差の比が前記照射手段から前記対象物までの距離の２乗に反比例することを用いて、前記照射手段から前記対象物までの距離の推定値を算出するための第２の算出手段と、
前記第２の算出手段が算出した値を用いて、前記照射手段および第１のカメラが前記対象物に近づくように、前記移動手段を制御するための第３の制御手段と、
前記移動手段に前記照射手段および第１のカメラの移動に従属して移動するように取付けられ、かつ前記対象物を把持するための把持手段とを含む、把持装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定装置および把持装置に関し、特に人の居住空間のような複雑・多様な環境下で作業を行うロボットがワークの把持および操作を確実に実施できる推定装置および把持装置に関する。
【背景技術】
【０００２】
ロボットがワーク（ワークの中でも特に位置や姿勢が不確定なもの）を把持したり操作したりするためには、何らかの方法でワークの位置や姿勢を推定する必要がある。
【０００３】
ワークの位置や姿勢を推定するために、ロボットハンド・グリッパなど（ワークの把持や操作を行うためのもの）に加えて、ＣＣＤカメラなどを使用するシステムは「ハンドアイ」システムと呼ばれている。「ハンドアイ」システムは、次の理由から一般によく用いられている。その理由の第１は、多様なワークについて位置や姿勢を推定できることである。理由の第２は、取得できる情報量に対してセンサを取付けるための労力が少ないことである。
【０００４】
ハンドアイシステムを利用する場合、次の処理を含む制御が実施される。その第１の処理は、ＣＣＤカメラなどにより取得した画像からワークの位置および姿勢を推定する処理である。第２の処理は、推定された結果に基づいてロボットの動作を変更する処理である。このような手法は「ビジュアルフィードバック」と呼ばれる。「ビジュアルフィードバック」は、ロボティクス技術の１分野を形成している。
【０００５】
ワークの位置および姿勢を推定する方法には、特許文献１に示されている物体認識システムがある。このシステムは、農産物を認識の対象とするシステムである。このシステムは、光源の光量を変えた画像間の比較を行なうことにより、画像中の背景から、農産物の領域を抽出する（このように、認識の対象物の領域を背景から分離する処理を、以下「セグメント化」と称する）。
【０００６】
この他の方法として、レーザ干渉計を用いる方法や、ステレオ視などを用いる方法が含まれる（特許文献２はこの方法にかかる環境認識装置を開示する）。レーザ干渉計を用いる方法とは、ワーク上の干渉縞の様子（この縞模様はカメラで撮影される）からワーク表面形状を推定する方法である。ステレオ視などを用いる方法とは、複数視点からの画像（複数のカメラを利用したり、複数の位置にカメラを移動したりする）を用いて、三角測量の原理で複数の視点から距離を推定する方法である。
【０００７】
しかしながら、特許文献１に開示されたように、光源の光量を変えた画像間の比較を行なうことによりセグメント化を実施する場合、ロボットに適用することが困難であるという問題点がある。その理由は、ロボットにはさまざまなワークを把持したり操作したりする必要があるという点にある。この問題点は、ロボットが複雑で多様な環境（人の居住空間など）内に置かれたとき、特に顕著になる。ロボットに適用することが困難な理由は、カメラおよび光源位置を固定する必要があるという点にある。
【０００８】
レーザ干渉計を用いる場合、光源としてレーザ光などの強い光源を必要するという問題点がある。その理由は、ワーク表面が明るくても、干渉縞が十分なコントラストを成す必要があるという点にある。
【０００９】
ステレオ視を利用する方法の場合、複数のカメラを配置するか、カメラを移動させながらワークを撮影する必要がある。このようなことは、コストの増大などを招く。また、この方法の場合、画像処理の負荷が大きくなるという問題点と、認識の対象物が限られるという問題点とがある。負荷が大きくなる理由は、画像の間で対応点を探す必要があるという点にある。認識の対象物が限られる理由は、ワーク表面にテクスチャ（局所的な特徴）が必要という点にある。
【００１０】
以上まとめると、従来の技術は、環境の条件（背景を含む）およびワークを限定できる用途（産業用ロボットなど）に適したものであったと考えられる。しかし、ロボットが多様で複雑な環境下（人の居住空間など）においてセグメント化を実施し、対象物までの距離を推定するためには、安全性やコストの面で課題があったといえる。
【特許文献１】特開平７−３０２３４３号公報
【特許文献２】特開平４−１３７１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、環境の条件に限定されず、対象物までの距離を推定できる推定装置および把持装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明のある局面にしたがうと、推定装置は、対象物に光を照射するための照射手段と、対象物を撮像する第１のカメラと、照射手段および第１のカメラを移動させるための移動手段と、対象物を、第１のカメラよりも広い範囲の背景を含むように撮像する第２のカメラと、第２のカメラが撮像した画像を用いて、対象物の位置を検出するための検出手段と、検出手段が検出した位置を用いて、第１のカメラが対象物を撮像する位置を決定するための決定手段と、決定手段が決定した同一の位置で対象物を複数回撮像するように、第１のカメラおよび移動手段を制御するための第１の制御手段と、第１のカメラが対象物を複数回撮像する合間に光量が変化するように、照射手段を制御するための第２の制御手段と、第１のカメラが撮像した複数の画像および照射手段が対象物に照射した光の光量を対応付けて記憶するための第１の記憶手段と、第１の記憶手段が記憶した画像を構成する画素の輝度から、光量が変化した前後に撮像した２種類以上の画像中にある対象物上の同じ位置を表わす画素を特定するための特定手段と、特定手段が特定した画素の輝度差および２種類以上の画像に対応する光の光量差を算出するための第１の算出手段と、光量差に対する輝度差の比が照射手段から対象物までの距離の２乗に反比例することを用いて、照射手段から対象物までの距離の推定値を算出するための第２の算出手段とを含む。
【００１３】
すなわち、移動手段は、決定手段が決定した位置へ照射手段および第１のカメラを移動させる。第２の制御手段は、第１のカメラが同一の位置で対象物を複数回撮像する合間に光量が変化するように、照射手段を制御する。これにより、対象物にあわせて移動された第１のカメラにより、対象物への光量が異なる複数の画像が撮像されるので、第２の算出手段は、光量差に対する輝度差の比が照射手段から対象物までの距離の２乗に反比例することを用いて、照射手段から対象物までの距離の推定値を算出することができる。その結果、環境の条件に限定されず、対象物までの距離を推定できる推定装置を提供することができる。
【００１４】
また、上述の移動手段は、照射手段および第１のカメラを対象物までの距離が等しくなるように移動させるための手段を含むことが望ましい。
【００１５】
すなわち、照射手段および第１のカメラは、同一の部材に対象物までの距離が等しくなるように移動される。これにより、第１のカメラが対象物に近づくと同時に照射手段をカメラに近づけることができる。照射手段が第１のカメラと同時に対象物に近づけられるので、照射手段からの光量が照射手段から対象物までの距離の２乗に反比例する特性を利用して、対象物と対象物以外のものの輝度差をより大きくすることができる。輝度差がより大きくなるので、特定手段はより容易に対象物上の同じ位置を表わす画素を特定することができる。対象物上の同じ位置を表わす画素がより容易に特定されるので、第２の算出手段は、より確実に推定値を算出することができる。その結果、環境の条件に限定されず、対象物までの距離をより確実に推定できる推定装置を提供することができる。
【００１６】
また、上述の対象物までの距離が等しくなるように移動させるための手段は、照射手段および第１のカメラを同一の部材に対象物までの距離が等しくなるように固定して移動させるための手段を含むことが望ましい。
【００１７】
すなわち、照射手段および第１のカメラは、同一の部材に対象物までの距離が等しくなるように固定して移動される。これにより、より簡単な構成で、さらに確実に、照射手段および第１のカメラを対象物までの距離が等しくなるように移動させることができる。その結果、簡単な構成で、環境の条件に限定されず、対象物までの距離をさらに確実に推定できる推定装置を提供することができる。
【００１８】
また、上述の推定装置は、対象物の撮像面に対する、照射手段からの光以外の光を遮蔽するための遮蔽手段をさらに含むことが望ましい。
【００１９】
すなわち、遮蔽手段は、対象物の撮像面に対する、照射手段からの光以外の光を遮蔽する。そのような光が遮蔽されるので、そのような光の影響が少なくなる。影響が少なくなるので、照射手段がより光量の少ない光を照射しても、特定手段は、対象物上の同じ位置を表わす画素を特定することができる。特定手段が画素を特定できるので、第１の算出手段が算出する輝度差はより大きくなる。輝度差がより大きくなるので、輝度差に対する誤差の影響は小さくなる。誤差の影響が小さくなるので、第２の算出手段は、より確実に距離の推定値を算出することができる。その結果、環境の条件に限定されず、より確実に対象物までの距離を推定できる推定装置を提供することができる。
【００２０】
また、上述の推定装置は、第１あるいは第２のカメラが撮像した画像のいずれかを用いて、対象物の種類を識別するための識別手段と、対象物の種類ごとに、対象物の表面の属性を表わす属性情報を記憶するための第２の記憶手段とをさらに含むことが望ましい。あわせて第２の算出手段は、属性情報を用いて、識別手段が識別した対象物の種類に対応するように、距離の推定値を算出するための手段を含むことが望ましい。
【００２１】
すなわち、第２の算出手段は、第２の記憶手段が記憶した属性情報を用いて、識別手段が識別した対象物の種類に対応するように、距離の推定値を算出する。これにより、推定値の誤差はより少なくなる。その結果、環境の条件に限定されず、対象物までの距離をより誤差が少なくなるように推定できる推定装置を提供することができる。
【００２２】
本発明の他の局面にしたがうと、把持装置は、対象物に光を照射するための照射手段と、対象物を撮像する第１のカメラと、対象物を、第１のカメラよりも広い範囲の背景を含むように撮像する第２のカメラと、第２のカメラが撮像した画像を用いて、対象物の位置を検出するための検出手段と、検出手段が検出した位置を用いて、第１のカメラが対象物を撮像する位置を決定するための決定手段と、照射手段および第１のカメラを移動させるための移動手段と、決定手段が決定した同一の位置で対象物を複数回撮像するように、第１のカメラおよび移動手段を制御するための第１の制御手段と、第１のカメラが対象物を複数回撮像する合間に光量が変化するように、照射手段を制御するための第２の制御手段と、第１のカメラが撮像した複数の画像および照射手段が対象物に照射した光の光量を対応付けて記憶するための記憶手段と、記憶手段が記憶した画像を構成する画素の輝度から、光量が変化した前後に撮像した２種類以上の画像中にある対象物上の同じ位置を表わす画素を特定するための特定手段と、特定手段が特定した画素の輝度差および２種類以上の画像に対応する光の光量差を算出するための第１の算出手段と、光量差に対する輝度差の比が照射手段から対象物までの距離の２乗に反比例することを用いて、照射手段から対象物までの距離の推定値を算出するための第２の算出手段と、第２の算出手段が算出した値を用いて、照射手段および第１のカメラが対象物に近づくように、移動手段を制御するための第３の制御手段と、移動手段に照射手段および第１のカメラの移動に従属して移動するように取付けられ、かつ対象物を把持するための把持手段とを含む。
【００２３】
すなわち、移動手段は、把持手段に対象物を把持させるために照射手段および第１のカメラを移動させることができる。把持手段に対象物を把持させるために照射手段および第１のカメラが移動されるので、第１のカメラは、把持手段を移動させる合間に対象物を撮像することができる。第２の算出手段は、把持手段を移動させる合間に距離の推定値を算出することができる。第３の制御手段は、第２の算出手段が算出した値を用いて、照射手段および第１のカメラが対象物に近づくように、移動手段を制御する。照射手段および第１のカメラが対象物に近づくように、移動手段が制御されるので、把持手段も対象物に近づく。これにより、把持手段は、速く適格に対象物を把持できる。その結果、環境の条件に限定されず、対象物までの距離を推定でき、かつより速く適格に対象物を把持できる把持装置を提供することができる。
【発明の効果】
【００２４】
本発明に係る推定装置および把持装置は、環境の条件およびワークに限定されず、位置および姿勢を推定できる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２６】
図１を参照して、本実施の形態に係るロボット１０が、ワーク１４を認識する状況を説明する。図１は、ロボット１０が対象物（撮像の対象となる物のこと。本実施の形態の場合、ワーク１４がこれにあたる。）を後述する第１指３４〜第３指３８で掴んで移動させる作業を表わす図である。ロボット１０の手前に、テーブル１２（本実施の形態において、テーブル１２は緑色で無地である）に載せられた、ワーク１４が存在する。ロボット１０は、ワーク１４を認識して、ワーク１４を把持する。ワーク１４は、円筒状の形状を有する。ワーク１４は赤く塗装されている。
【００２７】
ロボット１０は、ボディ部２０と、メインカメラ２２と、白色ＬＥＤ（Light Emitting Diode）２３と、カラーカメラ２４と、右アーム２６と、右ハンド３０と、第１指３４と、第２指３６と、第３指３８とを含む。ボディ部２０は、ロボット１０を制御する制御用コンピュータ１００を格納する。ボディ部２０は、メインカメラ２２、および右アーム２６を取付ける構造体でもある。メインカメラ２２は、ボディ部２０の上（ロボット１０の頭に相当する位置）からテーブル１２の上に置かれたワーク１４を撮像する。これにより、メインカメラ２２は、制御用コンピュータ１００と協調することによって、１つの装置として、ワーク１４の配置を検出できる。白色ＬＥＤ２３は、ワーク１４に光を照射する。カラーカメラ２４は、第１指３４〜第３指３８の間から、対象物などを撮像する。これにより、制御用コンピュータ１００は、カラーカメラ２４が撮像した画像に基づき、ビジュアルフィードバックを用いて、ワーク１４の正確な位置を認識できる。カラーカメラ２４は、ＣＣＤ（Charge Coupled Device）カメラまたはＣＭＯＳ（Complementary Metal- Oxide Semiconductor）カメラとする。ただし、ＣＭＯＳカメラを採用する場合、自動ホワイトバランス(Auto White Balance、ＡＷＢ)機能を停止させておく必要がある。カラーカメラ２４をこれらに限定する理由は、画素の輝度から直接ワーク１４表面の明るさを推定できる点にある。本実施の形態において、カラーカメラ２４は、ＣＣＤカメラを用いることとする。右アーム２６は、右ハンド３０を移動させる。右アーム２６は、図示しないリンク、駆動用アクチュエータ、および関節用の角度センサからなる。右アーム２６の自由度は「７」である。右アーム２６は、右ハンド３０に固定された白色ＬＥＤ２３およびカラーカメラ２４を移動させる装置である。右ハンド３０は、カラーカメラ２４および第１指３４〜第３指３８を移動させる。右ハンド３０も、図示しないリンク、駆動用アクチュエータ、および関節用の角度センサからなる。第１指３４〜第３指３８は、それぞれ屈曲可能な複数の部材である。第１指３４〜第３指３８は、互いに協調して、ワーク１４を把持し、かつワーク１４の背景を遮蔽する。これらは、右ハンド３０を介して右アーム２６に白色ＬＥＤ２３およびカラーカメラ２４の移動に従属して移動するように取付けられ、かつワーク１４を把持する、１つの装置である。第１指３４〜第３指３８も、図示しないリンク、駆動用アクチュエータ、および関節用の角度センサからなる。本実施の形態において、第１指３４〜第３指３８はいずれも黒く塗装されていることとする。
【００２８】
制御用コンピュータ１００は、ボディ部２０、右アーム２６、右ハンド３０、および第１指３４〜第３指３８をそれぞれ制御する。制御用コンピュータ１００は、メインカメラ２２およびカラーカメラ２４から取得した画像を処理する回路でもある。制御用コンピュータ１００は、白色ＬＥＤ２３の駆動電圧を複数段階に調整する回路でもある。本実施の形態において、駆動電圧の複数段階には電圧が０ボルトの段階が含まれる。電圧が０ボルトの段階において、白色ＬＥＤ２３は消灯する。制御用コンピュータ１００は、画像を処理した結果をボディ部２０、右アーム２６、右ハンド３０、および第１指３４〜第３指３８の動作の制御に結びつける回路でもある。図２を参照して、制御用コンピュータ１００は、制御用コンピュータ１００自体およびロボット１０の各部を集中的に管理し、かつ制御するＣＰＵ（Central Processing Unit）１０２と、ＲＯＭ（Read Only Memory）またはＲＡＭ（Random Access Memory）を含んで構成されるメモリ１０４と、固定ディスク１０６と、キーによる入力を受付けるキーボード１０８と、液晶からなるディスプレイ１１０と、ＦＤ（Flexible Disk）１２０が着脱自在に装着されて、装着されたＦＤ１２０にアクセスするＦＤ駆動装置１１２と、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）１２２が着脱自在に装着されて、装着されたＣＤ−ＲＯＭ１２２にアクセスするＣＤ−ＲＯＭ駆動装置１１４とを含む。これらの各部はバスを介して通信・接続される。
【００２９】
メモリ１０４は、一般部、配置部および候補部を含む。一般部は、ワーク群（本実施の形態の場合、テーブル１２上に存在するワーク１４を含む）に関する、大きさの情報、形状の情報、および表面の性質などの特性を表わす情報を記録する。配置部は、右アーム２６、右ハンド３０、および第１指３４〜第３指３８のサイズ、ならびに右アーム２６、右ハンド３０、および第１指３４〜第３指３８の角度センサが取得した情報（角度を表わす情報）を記録する。これらの情報は、それぞれの配置を表わす情報となる。候補部は、カラーカメラ２４および第１指３４〜第３指３８の配置の複数の候補を表わす情報を記録する。
【００３０】
このロボット１０は、上述した各部材（制御用コンピュータ１００を含む）と、ＣＰＵ１０２により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、ＦＤ１２０やＣＤ−ＲＯＭ１２２などの記録媒体に格納されて流通し、ＦＤ駆動装置１１２やＣＤ−ＲＯＭ駆動装置１１４などにより記録媒体から読取られて固定ディスク１０６に一旦格納される。さらに固定ディスク１０６からメモリ１０４へ読出されて、上述したＣＰＵ１０２により実行される。上述した制御用コンピュータ１００のハードウェア自体は一般的なものである。したがって、本発明の最も本質的な部分は、ＣＤ−ＲＯＭ１２２などの記録媒体に記録されたソフトウェアである。
【００３１】
図３および図４を参照して、ロボット１０で実行されるプログラムは、ワーク１４の識別に関し、以下のような制御構造を有する。
【００３２】
ステップ１００（以下、ステップをＳと略す。）にて、ロボット１０の制御用コンピュータ１００は、ボディ部２０上部に取付けたメインカメラ２２によりテーブル１２上のワーク１４の状態を撮像する。
【００３３】
Ｓ１０２にて、制御用コンピュータ１００は、テーブル１２および予め登録されているワーク群の画像データと、メインカメラ２２が撮像したワーク１４の画像データとを比較することにより、ワーク１４の種類を決定する。
【００３４】
Ｓ１０４にて、制御用コンピュータ１００は、予め登録されているワーク１４の大きさおよびメインカメラ２２とテーブル１２との位置関係に基づいて、ワーク１４のおよその位置・姿勢情報を生成する。これらの情報は、次の処理を経て生成される。第１の処理は、メインカメラ２２で撮像した画面内のワーク１４の位置、サイズ、傾きを検出する処理である。この処理が可能となる理由は、ワーク１４の大きさがメモリ１０４に予め登録されている点にある。第２の処理は、ワーク１４の位置、サイズ、傾きから、メインカメラ２２を基準とした座標系内でのワーク１４の位置や姿勢を算出する処理である。この処理は、メインカメラ２２からワーク１４までの距離とワーク１４のサイズとが反比例することを利用して実施される。第３の処理は、メインカメラ２２を基準とした座標系内でのワーク１４の位置や姿勢を、制御用コンピュータ１００がカラーカメラ２４などの移動に用いる座標系（本実施の形態において、特に指定がない場合、「座標」とはこの座標系における座標をいう）に換算する処理である。第４の処理は、第３の処理で換算したワーク１４の座標と、テーブル１２の座標から、ワーク１４の３次元座標を算出する処理である。ワーク１４は、カメラのレンズの焦点とワーク１４の重心とを結ぶ線がテーブル１２に交差する位置にある。ワーク１４の３次元座標は、このことを利用して算出される。なお、以上の処理により得られる座標の精度は高くない。しかし、これ以降の処理においてワーク１４のより正確な座標が推定されるので、大きな問題は生じない。
【００３５】
Ｓ１０６にて、制御用コンピュータ１００は、Ｓ１０４にて得られた情報により、ロボット１０の動作を選択する。具体的な選択の内容は次の通りである。制御用コンピュータ１００は、Ｓ１００にて取得したカメラ画像からワーク１４の表面に照射されている環境光を推定する。環境光が推定されると、制御用コンピュータ１００は、環境光が白色ＬＥＤ２３（右ハンド３０に搭載してある）の輝度に比べて十分小さいか否かを判断する。環境光が白色ＬＥＤ２３の輝度に比べて十分小さいと判断した場合（Ｓ１０６にてＹＥＳ）、処理はＳ１０８へと移される。もしそうでないと（Ｓ１０６にＮＯ）、処理はＳ１１０へと移される。
【００３６】
Ｓ１０８にて、制御用コンピュータ１００は、右アーム２６、右ハンド３０、および第１指３４〜第３指３８を「第１の位置」まで移動させる。図５に「第１の位置」を示す。
【００３７】
Ｓ１１０にて、制御用コンピュータ１００は、右アーム２６、右ハンド３０、および第１指３４〜第３指３８を「第２の位置」まで移動させる。図６に「第２の位置」を示す。「第２の位置」におけるカラーカメラ２４からワーク１４までの距離は、「第１の位置」におけるカラーカメラ２４からワーク１４までの距離よりも近い。また、「第２の位置」における第１指３４〜第３指３８は、ワーク１４の撮像面（「撮像面」とは、カラーカメラ２４の光軸に直交する面であって、ワーク１４とカラーカメラ２４との間にある面のいずれかをいう。ちなみに「撮像」とは、カメラのレンズを通過した光を、実像として合成できるような信号に変換することをいう。）に対する、白色ＬＥＤ２３からの光以外の光を遮蔽する。環境光を遮蔽する理由は、カラーカメラ２４が撮像する画像のコントラストを上昇させる点にある。
【００３８】
Ｓ１１２にて、制御用コンピュータ１００は、白色ＬＥＤ２３の入力電圧を「０」（すなわち消灯した状態）にする。カラーカメラ２４は、ワーク１４を撮像する。これにより、「第１の画像」が得られる。制御用コンピュータ１００のメモリ１０４は、カラーカメラ２４が撮像した第１の画像および白色ＬＥＤ２３がワーク１４に照射した光の光量（この場合光量は「０」である）を対応付けて記憶する。
【００３９】
Ｓ１１４にて、制御用コンピュータ１００は、白色ＬＥＤ２３の光量を決定する。白色ＬＥＤ２３の光量は、第１の画像の中心部４０、周辺部４２、および予めメモリ１０４に記録されている情報（ワーク１４の表面に関する情報）に基づいて決定される。白色ＬＥＤ２３の光量は次の要件をいずれも満たす量とすべきである。第１の要件は、所定量を下回ることである。ここでいう「所定量」とは、カラーカメラ２４を構成するＣＣＤ素子のダイナミックレンジに相当する量である。その理由は、光量がダイナミックレンジを越えると、ＣＣＤ素子の出力が不適切となる可能性があるという点にある。ＣＣＤ素子の出力が不適切となる原因は、光量がダイナミックレンジを越えると、ＣＣＤ素子の出力が飽和する点（一般にこの状態を「白飛び」と称する）にある。第２の要件は、なるべく多いことである。その理由は、Ｓ１１２にて取得した「第１の画像」と比較する際、十分にコントラストを得る必要がある点にある。
【００４０】
Ｓ１１６にて、制御用コンピュータ１００は、白色ＬＥＤ２３の駆動電圧を計算する。この電圧は、Ｓ１１４にて決定した光量に基づいて計算される。駆動電圧が計算されると、制御用コンピュータ１００は、その電圧値に基づいて白色ＬＥＤ２３を発光させる。Ｓ１１８にて、制御用コンピュータ１００は、カラーカメラ２４は、ワーク１４を撮像する。これにより、「第２の画像」が得られる。制御用コンピュータ１００のメモリ１０４は、カラーカメラ２４が撮像した第２の画像および白色ＬＥＤ２３がワーク１４に照射した光の光量（この場合光量は白色ＬＥＤ２３の駆動電圧で表わされる）を対応付けて記憶する。
【００４１】
Ｓ１２０にて、制御用コンピュータ１００は、計算により、白色ＬＥＤ２３の発光がワーク１４の明るさに与えた影響を抽出する。本実施の形態において、白色ＬＥＤ２３の発光がワーク１４の明るさに与えた影響は、第２の画像の各画素の輝度値から第１の画像の各画素の輝度値を引いた値によって表わされる。このため、制御用コンピュータ１００は、次の処理を経て白色ＬＥＤ２３の発光がワーク１４の明るさに与えた影響を抽出する。その第１の処理は、第１の画像および第２の画像を構成する画素の輝度から、第１の画像中および第２の画像中にあるワーク１４上の同じ位置を表わす画素を特定する処理である。その第２の処理は、制御用コンピュータ１００自身が第１の処理にて特定した画素の輝度差および第１の画像および第２の画像に対応する光の光量差（上述の通り、これらの光量は制御用コンピュータ１００のメモリ１０４に記憶されている）を算出する処理である。
【００４２】
Ｓ１２２にて、制御用コンピュータ１００は、白色ＬＥＤ２３からワーク１４までの距離を推定する。制御用コンピュータ１００は、光量差に対する輝度差の比が白色ＬＥＤ２３からワーク１４までの距離の２乗に反比例することを用いて、白色ＬＥＤ２３からワーク１４までの距離の推定値を算出する。Ｓ１２４にて、制御用コンピュータ１００は、自らが算出した値を用いて、白色ＬＥＤ２３およびカラーカメラ２４がワーク１４に近づくように、右アーム２６を制御する。Ｓ１２６にて、制御用コンピュータ１００は、ワーク１４を把持させる。
【００４３】
以上のような構造およびフローチャートに基づく、ロボット１０の動作について説明する。なお、以下の説明において、テーブル１２およびワーク１４は、反射光（反射光の光源は、複数の光源からの直接光および散乱光を含む）からなる環境光によって照射されているものとする。
【００４４】
図１に示すように、メインカメラ２２はワーク１４を上方から見下ろす位置に配置されている。メインカメラ２２がこの位置に配置されているので、ロボット１０は、ワーク１４のおおまかな位置の認識およびワーク１４の種類の推定が可能となる（メインカメラ２２により撮像した画像の処理が必要）。ワーク１４のおおまかな位置の認識およびワーク１４の種類の推定が可能なので、ロボット１０の制御用コンピュータ１００は、ボディ部２０上部に取付けたメインカメラ２２によりテーブル１２上のワーク１４の状態を撮像する（Ｓ１００）。ワーク１４の状態が撮像されると、制御用コンピュータ１００は、ワーク１４の種類を決定する（Ｓ１０２）。ワーク１４の種類が決定されると、制御用コンピュータ１００は、ワーク１４のおよその位置・姿勢情報を生成する（Ｓ１０４）。位置・姿勢情報が生成されると、制御用コンピュータ１００は、環境光が白色ＬＥＤ２３の輝度に比べて十分小さいか否かを判断する（Ｓ１０６）。この場合、ワーク１４に照射されている環境光が強すぎると判断されるので（Ｓ１０６にてＮＯ）、制御用コンピュータ１００は、右アーム２６および右ハンド３０に対し、ビジュアルフィードバックを実施する。その目的は、ワーク１４を把持する前に精密に位置決めする点にある。ビジュアルフィードバックは、近距離から撮像したワーク１４の画像の内容に応じて実施される。カラーカメラ２４は、このような撮像のために設けられたカメラである。このため、制御用コンピュータ１００は、右アーム２６、右ハンド３０、および第１指３４〜第３指３８を「第２の位置」まで移動させる（Ｓ１１０）。
【００４５】
右アーム２６などが移動すると、制御用コンピュータ１００は、白色ＬＥＤ２３を消灯した状態にする（Ｓ１１２）。カラーカメラ２４は、ワーク１４を撮像する。これにより、「第１の画像」が得られる。図７に、このとき撮像した「第１の画像」を示す。図７の中央にワーク１４が写っている。図７の両脇の部分にテーブル１２が写っている。便宜上、カメラ画像の各領域を、ワーク１４の中心部４０、ワーク１４の周辺部４２、およびテーブルの領域４４に分類する。このときの中心部４０および周辺部４２の輝度はほぼ同一である。その理由は、この場合ワーク１４に環境光のみが照射されている点にある。第１の画像が撮像されると、制御用コンピュータ１００のメモリ１０４は、カラーカメラ２４が撮像した第１の画像および白色ＬＥＤ２３がワーク１４に照射した光の光量を対応付けて記憶する。
【００４６】
「第１の画像」が得られると、制御用コンピュータ１００は、白色ＬＥＤ２３の光量を決定する（Ｓ１１４）。光量が決定されると、制御用コンピュータ１００は、白色ＬＥＤ２３の駆動電圧を計算する。駆動電圧が計算されると、制御用コンピュータ１００は、その電圧値に基づいて白色ＬＥＤ２３を発光させる（Ｓ１１６）。白色ＬＥＤ２３が発光させられると、制御用コンピュータ１００は、カラーカメラ２４は、ワーク１４を撮像する（Ｓ１１８）。これにより、「第２の画像」が得られる。このとき、制御用コンピュータ１００は、同一の位置でワーク１４を複数回撮像するように、カラーカメラ２４および右アーム２６を制御することとなる。また、制御用コンピュータ１００は、カラーカメラ２４がワーク１４を複数回撮像する合間に光量が変化するように、白色ＬＥＤ２３を制御することとなる。図８に、このとき撮像した「第２の画像」を示す。ワーク１４の中心部４０は、最も明るく照らされる。その理由は、白色ＬＥＤ２３との距離が最も近い点にある。ワーク１４の周辺部４２は、白色ＬＥＤ２３の発光の影響がやや小さくなる。その理由は、白色ＬＥＤ２３との距離が中心部４０に比較してやや遠くなる点にある。テーブルの領域４４は、白色ＬＥＤ２３が発光してもほとんど影響を受けることがない。その理由は、白色ＬＥＤ２３と最も離れた領域である点にある。第２の画像が撮像されると、制御用コンピュータ１００のメモリ１０４は、カラーカメラ２４が撮像した第２の画像および白色ＬＥＤ２３がワーク１４に照射した光の光量を対応付けて記憶する。
【００４７】
「第２の画像」が得られると、制御用コンピュータ１００は、計算により、白色ＬＥＤ２３の発光がワーク１４の明るさに与えた影響を抽出する（Ｓ１２０）。図９および図１０を参照して、この影響について説明する。図９は、ワーク１４とカラーカメラ２４との位置の関係を表わす側面図である。図１０は、ワーク１４に光が照射された状況を表わす図である。図９の撮像の範囲５０はカラーカメラ２４が撮像する画像の範囲を示す。第１矢印５２は白色ＬＥＤ２３とワーク１４との距離を示す矢印である。第２矢印５４は白色ＬＥＤ２３とテーブル１２との距離を示す矢印である。ワーク１４はテーブル１２上にある。これにより、第２矢印５４は第１矢印５２より長くなる。このとき、ロボット１０がカラーカメラ２４をワーク１４（ひいては白色ＬＥＤ２３）に接近させればさせるほど、第２矢印５４の第１矢印５２に対する比率は大きくなる。この比率が大きくなると白色ＬＥＤ２３の発光の影響が大きくなる（その理由は、この比率の２乗に反比例して白色ＬＥＤ２３の発光の影響が小さくなる点にある）。すなわち、白色ＬＥＤ２３の発光前に図１０（Ａ）の状態であっても、カラーカメラ２４をワーク１４に接近させると、図１０（Ｂ）のようにワーク１４の表面が明るく照らされる。カラーカメラ２４がワーク１４にそれほど接近していなければ、図１０（Ｃ）のようにワーク１４の表面はそれほど明るくならない。カラーカメラ２４をワーク１４に接近させればさせるほど、発光の影響が大きくなるので、テーブル１２の明るさの変化とワーク１４の明るさの変化との差が大きくなる。差が大きくなるので、影響を抽出することが容易になる。影響が抽出されると、制御用コンピュータ１００は、白色ＬＥＤ２３からワーク１４までの距離を推定する（Ｓ１２２）。ワーク１４の各点の距離を推定した後、制御用コンピュータ１００は、自らが算出した値を用いて、白色ＬＥＤ２３およびカラーカメラ２４がワーク１４に近づくように、右アーム２６を制御する（Ｓ１２４）。右ハンド３０および第１指３４〜第３指３８がワーク１４の近傍へ移されると、制御用コンピュータ１００は、ワーク１４を把持させる（Ｓ１２６）。これにより、白色ＬＥＤ２３からワーク１４までの距離を推定する処理は、右ハンド３０などをワーク１４に近づけた後ワーク１４を把持するという一連の動作中に実施されることとなる。距離を推定する処理が一連の動作中に実施されるので、ロボット１０の動作は滑らかになる。
【００４８】
以上のようにして、本実施の形態に係るロボットは、発光体の光をワークの近距離から照射する。この照射によりワークの輝度は大幅に上昇する。ワークの背景の輝度はそれほど上昇しない。これにより、発光の前後の輝度の上昇幅を比較すると、セグメント化やワークの距離の推定が実現できる。ワークの距離を測定する専用のセンサなどが不要になる。
【００４９】
なお、制御用コンピュータ１００は、第１の画像および第２の画像の輝度差が一定の閾値以上か否かに応じて、白色ＬＥＤ２３からワーク１４までの距離を粗く推定したり、ワーク１４の中心部４０および周辺部４２とテーブルの領域４４の領域を分離したりすることができる。
【００５０】
また、精密な画像の情報を得たい場合、制御用コンピュータ１００は、セグメント化を行った後のワーク１４の周辺に対して追加の画像処理を行えばよい。この場合に生じる処理時間のオーバヘッドは小さなものでしかない。その理由は、このとき実施される処理の内容が、画素を比較するような単純な処理にすぎない点にある。
【００５１】
また、Ｓ１００〜Ｓ１０４にてメインカメラ２２が撮像した画像を用いてワーク１４の位置などを検出する代わりに、カラーカメラ２４を予め定めておいた方向に向け、そのまま撮像してもよい。この場合、そのようにして撮像した画像が第１の画像や第２の画像となる（その結果、Ｓ１０２にて、制御用コンピュータ１００は、テーブル１２および予め登録されているワーク群の画像データと、カラーカメラ２４が撮像したワーク１４の画像データとを比較することにより、ワーク１４の種類を決定すなわち識別することとなる）。そしてこの場合、カラーカメラ２４は第１指３４〜第３指３８が届く範囲すべてを撮像することにより、第１の画像や第２の画像を得ることとなる。
【００５２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施の形態に係るロボットがテーブル上のワークを指で掴んで移動させる作業を表わす図である。
【図２】本発明の実施の形態に係る制御用コンピュータの制御ブロックを示す図である。
【図３】本発明の実施の形態に係るロボットの識別処理の制御の手順を示すフローチャート（その１）である。
【図４】本発明の実施の形態に係るロボットの識別処理の制御の手順を示すフローチャート（その２）である。
【図５】本発明の実施の形態に係るロボットの指およびカラーカメラの第１の位置を表わす図である。
【図６】本発明の実施の形態に係るロボットの指およびカラーカメラの第２の位置を表わす図である。
【図７】本発明の実施の形態に係るカラーカメラの映像（その１）を示す図である。
【図８】本発明の実施の形態に係るカラーカメラの映像（その２）を示す図である。
【図９】本発明の実施の形態に係るカラーカメラワークおよびカラーカメラの位置を表わす側面図である。
【図１０】本発明の実施の形態に係るワークに光が照射された状況を表わす図である。
【符号の説明】
【００５４】
１０  ロボット、１２  テーブル、１４  ワーク、２０  ボディ部、２２  メインカメラ、２３  白色ＬＥＤ、２４  カラーカメラ、２６  右アーム、３０  右ハンド、３４  第１指、３６  第２指、３８  第３指、４０  中心部、４２  周辺部、４４  テーブルの領域、５０  撮像の範囲、５２  第１矢印、５４  第２矢印、１００  制御用コンピュータ、１０２  ＣＰＵ、１０４  メモリ、１０６  固定ディスク、１０８  キーボード、１１０  ディスプレイ、１１２  ＦＤ駆動装置、１１４  ＣＤ-ＲＯＭ駆動装置、１２０  ＦＤ、１２２  ＣＤ-ＲＯＭ。
【図１】
2006021300.tif 000003
【図２】
2006021300.tif 000004
【図３】
2006021300.tif 000005
【図４】
2006021300.tif 000006
【図５】
2006021300.tif 000007
【図６】
2006021300.tif 000008
【図７】
2006021300.tif 000009
【図８】
2006021300.tif 000010
【図９】
2006021300.tif 000011
【図１０】
2006021300.tif 000012