(57)【特許請求の範囲】
【請求項１】
６自由度以上のマニピュレータを有し、マニピュレータの手先位置に撮像手段を有するロボット装置を制御するロボット装置の制御方法であって、
主成分分析により、事前に取得され平均画像固有値行列として記憶された対象物の平均画像と前記マニピュレータの動作中に前記撮像手段により取得した前記対象物の取得画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出し、この特徴量をニューラルネットワーク制御器に入力し、このニューラルネットワーク制御器により制御されたニューラルネットワークの出力を指令信号とし、この指令信号に基づいて前記マニピュレータの先端を前記対象物に対する所望の位置姿勢へ動作させる
ことを特徴とするロボット装置の制御方法。
【請求項２】
６自由度以上のマニピュレータと、
前記マニピュレータの手先位置に設けられた撮像手段と、
事前に取得された対象物の平均画像を平均画像固有値行列として記憶する記憶手段と、
前記マニピュレータの動作中に前記撮像手段により取得された前記対象物の取得画像と、前記平均画像との差分を算出し、主成分分析により、前記取得画像と前記平均画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出する演算手段と、
前記特徴量が入力され、ニューラルネットワークを制御して指令信号を出力させるニューラルネットワーク制御器と
を備え、
前記マニピュレータは、前記指令信号に基づいて制御されて、先端を前記対象物に対する所定の位置姿勢へ動作させる
ことを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータの先端にカメラを備えたロボット装置において、事前に目標状態から算出し記憶した目標特徴量とカメラにより取得した画像から得た特徴量とが一致するようにマニピュレータを動作させるロボット装置の制御方法及びロボット装置に関する。
【背景技術】
【０００２】
従来、マニピュレータを備えたロボット装置が提案されており、また、このようなロボット装置のマニピュレータの動作を制御するためのロボット装置の制御方法が提案されている。そして、ロボット装置の制御方法として、マニピュレータにより把持を行う対象物を目標として、マニピュレータの手先を移動させるための制御方法が種々提案されている。
【０００３】
例えば、特許文献１には、対象物の基準画像とその画像を撮像したときのカメラ位置と姿勢を複数用意しておくとともに、マニピュレータの手先に取り付けたカメラによる画像情報を取得し、画像情報における対象物の形状に近い基準画像を検索することによって、対象物とマニピュレータの手先との位置関係を計算するようにしたロボット装置が記載されている。
【０００４】
また、特許文献２には、対象物の基準画像を用意しておき、マニピュレータの手先に取り付けたカメラにより画像を撮影しながら、基準画像に近い画像が得られるまで、マニピュレータを一定量移動させるようにしたロボット装置が記載されている。
【０００５】
さらに、特許文献３には、マニピュレータによって把持している対象物について、頂点位置などの特徴量を外部のカメラにより取得し、ニューラルネットワークを学習させるようにしたロボット装置が記載されている。このロボット装置においては、動作時には、外部のカメラにより取得した特徴量をニューラルネットワークに入力し、マニピュレータの各関節の角度を調整する。また、事前に対象物の画像から取得した重心などの局所特徴量と、そのときのマニピュレータの各関節の角度とを用いて、ニューラルネットワークによりさらに学習を行ない、動作中には、ニューラルネットワークを用いて取得した局所特徴量に基づいてマニピュレータの各関節の角度を求めている。
【０００６】
【特許文献１】特開２００３−２３１０７８公報
【特許文献２】特開２０００−２６３４８２公報
【特許文献３】特開平０７−０８０７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１に記載のロボット装置においては、制御の精度を高めるためには、多くの基準画像を用意しておき、マニピュレータの動作のたびに全ての基準画像の検索を行なう必要があるため、計算負荷が高く、迅速な制御ができない。
【０００８】
また、特許文献２に記載のロボット装置においては、２次元平面内におけるマニピュレータの位置及び姿勢合わせにしか対応できず、マニピュレータの対象物に対する位置及び姿勢を３次元空間内において制御することはできない。さらに、このロボット装置においては、撮像、計測とマニピュレータの動作とを繰り返さなければならないため、迅速な制御ができない。また、このロボット装置においては、カメラレンズの歪取りや座標系をあわせるなどのカメラキャリブレーションが必要であり、マニピュレータのリンク長の誤差や座標系のずれなどによる誤差が累積して、動作精度が劣化する虞がある。
【０００９】
そして、特許文献３に記載のロボット装置においては、画像処理の精度が直接にマニピュレータの動作の精度に影響するので、動作精度の向上が困難であり、また、画像処理に長時間を要してしまう。また、このロボット装置においては、重心などの局所特徴量に基づいてマニピュレータを動作させるため、ロバスト性が低いという問題もある。
【００１０】
そこで、本発明は、前述の実情に鑑みてなされたものであり、その目的は、ロボット装置のマニピュレータを制御するにあたり、多くの基準画像を用意する必要がなく、計算負荷が軽く、迅速な制御が可能でありながら、マニピュレータの対象物に対する位置及び姿勢を３次元空間内において制御することができるようになされたロボット装置の制御方法及びロボット装置を提供することにある。
【課題を解決するための手段】
【００１１】
前述の課題を解決し、前記目的を達成するため、本発明に係るロボット装置の制御方法は、以下の構成のいずれか一を有するものである。
【００１２】
〔構成１〕
本発明に係るロボット装置の制御方法は、６自由度以上のマニピュレータを有しマニピュレータの手先位置に撮像手段を有するロボット装置を制御するロボット装置の制御方法であって、主成分分析により、事前に取得され平均画像固有値行列として記憶された対象物の平均画像とマニピュレータの動作中に撮像手段により取得した対象物の取得画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出し、この特徴量をニューラルネットワーク制御器に入力し、このニューラルネットワーク制御器により制御されたニューラルネットワークの出力を指令信号とし、この指令信号に基づいてマニピュレータの先端を対象物に対する所望の位置姿勢へ動作させることを特徴とするものである。
【００１３】
なお、ニューラルネットワーク制御器としては、ファジィ的ニューラルネットワーク（ファジィルール的な構造を持つニューラルネットワーク），高木・菅野ファジィ的ニューラルネットワーク（ファジィルール的な構造を持つニューラルネットワークのうち，高木・菅野が１９８５年２月に“Fuzzy Identificaion of Systems and Its Applications to Modeling and Control”という題目でIEEE Transactions on Systems, Man, and Cybernetics, vol.SMC-15, no.1, pp.116-132にて発表した構造）を用いることができる。
【００１４】
〔構成２〕
本発明に係るロボット装置は、６自由度以上のマニピュレータと、マニピュレータの手先位置に設けられた撮像手段と、事前に取得された対象物の平均画像を平均画像固有値行列として記憶する記憶手段と、マニピュレータの動作中に撮像手段により取得された対象物の取得画像と、平均画像との差分を算出し、主成分分析により、取得画像と平均画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出する演算手段と、特徴量が入力され、ニューラルネットワークを制御して指令信号を出力させるニューラルネットワーク制御器とを備え、マニピュレータは、指令信号に基づいて制御されて、先端を対象物に対する所定の位置姿勢へ動作させることを特徴とするものである。
【発明の効果】
【００１５】
本発明に係る複数ロボット装置の制御方法においては、構成１を有することにより、主成分分析により、事前に取得され平均画像固有値行列として記憶された対象物の平均画像とマニピュレータの動作中に撮像手段により取得した対象物の取得画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出し、この特徴量をニューラルネットワーク制御器に入力し、このニューラルネットワーク制御器により制御されたニューラルネットワークの出力を指令信号としてマニピュレータを制御するので、多くの基準画像を用意する必要がないため、計算負荷が軽く、迅速な制御が可能である。そして、このロボット装置の制御方法においては、画像全体から大域的な特徴量を求めるので、ある形状の位置や大きさなどの局所特徴量を用いる従来のロボット装置の制御方法に比較してロバスト性が高く、また、マニピュレータを３次元空間内において制御することができ、制御のための計算量を少なくすることができる。
【００１６】
本発明に係る複数ロボット装置においては、構成２を有することにより、事前に取得され記憶手段により平均画像固有値行列として記憶された平均画像と、マニピュレータの動作中に撮像手段により取得された対象物の取得画像との差分を算出し、主成分分析により、取得画像と平均画像との差に固有値ベクトルを並べた行列を掛け合わせた特徴量を算出し、この特徴量をニューラルネットワーク制御器に入力してニューラルネットワークを制御して指令信号を出力させ、この指令信号に基づいてマニピュレータを制御するので、多くの基準画像を用意する必要がなく、計算負荷が軽いため、迅速な制御が可能である。このロボット装置においては、画像全体から大域的な特徴量を求めるので、ある形状の位置や大きさなどの局所特徴量を用いる従来のロボット装置に比較してロバスト性が高く、また、マニピュレータを３次元空間内において制御することができ、制御のための計算量を少なくすることができる。
【００１７】
すなわち、本発明は、ロボット装置のマニピュレータを制御するにあたり、多くの基準画像を用意する必要がなく、計算負荷が軽く、迅速な制御が可能でありながら、マニピュレータの対象物に対する位置及び姿勢を３次元空間内において制御することができるようになされたロボット装置の制御方法及びロボット装置を提供することができるものである。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
【００１９】
〔ロボット装置の構成〕
図１は、本発明に係るロボット装置の構成を示す模式的な側面図である。
【００２０】
本発明に係るロボット装置は、図１に示すように、６自由度のマニピュレータ１を有し、このマニピュレータ１により、対象物１０１の把持、運搬及び他の部材への組立が可能となされているものである。
【００２１】
マニピュレータ１は、複数のアクチュエータ（駆動装置）とリンク（剛体の構造物）とによって構成されており、６自由度を有している。すなわち、各リンク間は、回動（屈曲）、または、旋回可能な関節２ａ，２ｂ，２ｃ，２ｄ，２ｅ，２ｆを介して接続されており、それぞれアクチュエータによって相対駆動されるようになっている。各アクチュエータは、制御手段となるコンピュータ３によって制御される。
【００２２】
このマニピュレータ１において、第１のリンク（基端部のリンク）１ａは、基台部４に対し、基端側を第１の関節２ａを介して接続されて設置されている。第１の関節２ａは、鉛直軸（ｚ軸）回りに旋回可能な関節である。この第１のリンク１ａの先端側には、第２の関節２ｂを介して、第２のリンク１ｂの基端側が接続されている。第２の関節２ｂは、水平な軸回りに第２のリンク１ｂを回動可能とする関節である。第２のリンク１ｂの先端側には、第３の関節２ｃを介して、第３のリンク１ｃの基端側が接続されている。第３の関節２ｃは、水平な軸回りに第３のリンク１ｃを回動可能とする関節である。
【００２３】
そして、第３のリンク１ｃの先端側には、第４の関節２ｄを介して、第４のリンク１ｄの基端側が接続されている。第４の関節２ｄは、第３のリンク１ｃの軸回りに第４のリンク１ｄを旋回可能とする関節である。第４のリンク１ｄの先端側には、第５の関節２ｅを介して、第５のリンク１ｅの基端側が接続されている。第５の関節２ｅは、第４のリンク１ｄの軸に直交する軸回りに第５のリンク１ｅを回動可能とする関節である。第５のリンク１ｅの先端側には、第６の関節２ｆを介して、第６のリンク１ｆの基端側が接続されている。第６の関節２ｆは、第５のリンク１ｅの軸回りに第６のリンク１ｆを旋回可能とする関節である。
【００２４】
このように、マニピュレータ１においては、回動可能な関節と、旋回可能な関節とが、交互に計６個設けられていることにより、６自由度が確保されている。
【００２５】
第６のリンク１ｆの先端側（以下、「手先」という。）には、対象物１０１を把持したり加工したりする先端ツール機構５が設けられている。この先端ツール機構５は、コンピュータ３や図示しないその他の制御装置によって制御される。また、手先の近傍には、撮像レンズ及びＣＣＤやＣＭＯＳＳなどの固体撮像素子からなる撮像手段となるカメラ６が取付けられている。
【００２６】
コンピュータ３は、平均画像固有値行列を記憶した記憶手段となるメモリ３ａを有している。このメモリ３ａは、事前に取得された対象物の平均画像を平均画像固有値行列として記憶している。メモリ３ａに記憶された平均画像固有値行列は、演算手段となる画像処理部３ｂに送られる。この画像処理部３ｂは、マニピュレータ１の動作中にカメラ６により取得された対象物１０１の画像と、平均画像固有値行列との差分を算出し、この差分から、主成分分析により特徴量を算出する。
【００２７】
そして、この特徴量は、ニューラルネットワーク制御器である動作指令生成部（ニューラルネットワークコントローラ）３ｃに送られる。この動作指令生成部３ｃは、学習されたニューラルネットワーク３ｄを制御して、入力された特徴量に応じた指令信号を出力する。この指令信号は、マニピュレータ１に送られる。
【００２８】
そして、マニピュレータ１は、指令信号に基づいて制御されて、先端ツール機構５を対象物１０１に対する所定の位置姿勢へ動作させる。すなわち、マニピュレータ１においては、第１のリンク１ａに対する第２のリンク１ｂの位置、第２のリンク１ｂに対する第３のリンク１ｃの位置、第３のリンク１ｃに対する第４のリンク１ｄの位置と、順次先端側のリンクの位置が制御されることにより、手先の位置が制御され、この手先において先端ツール機構５によって把持したワークを所定の位置に搬送することができる。
【００２９】
〔ロボット装置の制御方法〕
そして、このロボット装置においては、以下に示す本発明に係るロボット装置の制御方法が実行されることにより、マニピュレータ１が自動制御される。すなわち、このロボット装置においては、事前に学習された平均画像と、カメラ６により取得された画像とが一致するように、マニピュレータ１を動作させる。
【００３０】
このロボット装置におけるマニピュレータ１の制御は、大分して「事前処理」と「オンライン処理」との２ステップからなる。
【００３１】
（１）事前処理
事前処理においては、マニピュレータ１を目標位置及び目標姿勢の近傍として、位置及び姿勢を少しずつ変え、カメラ６により対象物１０１の写真を数枚撮影し、これらの平均画像を求めておく。そして、撮影された各画像と、平均画像との差に、固有値ベクトルを並べた行列を掛け合わせて特徴量を算出する。この特徴量をニューラルネットワーク３ｄへの入力とし、各画像を取得したときの先端ツール機構５の位置及び姿勢を出力として、ニューラルネットワーク３ｄを学習させておく。
【００３２】
（２）オンライン処理
オンライン処理においては、画像処理部３ｂにより、カメラ６により取得した画像と平均画像との差に固有値ベクトルを並べた行列を掛け合わせ、特徴量を求める。求めた特徴量をニューラルネットワーク３ｄに入力し、マニピュレータ１において動作すべき関節角度、手先位置、姿勢を得る。
【００３３】
本発明においては、事前処理及びオンライン処理のいずれにおいても、「取得画像と平均画像の差に固有値ベクトルを並べた行列を掛け合わせた特徴量」を用いている。このような特徴量を用いることが本発明の特徴である。この特徴量及び各処理について、以下、さらに説明する。この特徴量は、画像全体から大域的な特徴量を求めたものとなっており、対象物１０１における特定の形状の位置、大きさなどの局所特徴量を用いる従来の技術に比較して、ロバスト性が高く、３次元空間における制御にも対応でき、かつ、オンライン処理における計算量を少なくすることができる。
【００３４】
〔特徴量算出について〕
本発明における特徴量算出は、主成分分析（ＰＣＡ）と呼ばれる手法によって行う。まず、Ｐ枚の同じ解像度、例えば、縦ｑ１ピクセル、横ｑ２ピクセルのグレイスケール画像を用意する。ｐ番目の画像の輝度を縦１列に並べた縦ベクトルをＩｐとし、この画像のＸ座標ｘ、Ｙ座標ｙの画素の輝度をＩｐｘｙとする。つまり、Ｉｐにおいては、Ｉｐ１１，Ｉｐ１２，Ｉｐ１３，・・・Ｉｐ１ｑ１，Ｉｐ２１，Ｉｐ２２，・・・と画素の輝度が並んでいる。この画素の平均輝度Ｉａｘｙは、以下のように示される。
Ｉａｘｙ＝（Ｉ１ｘｙ＋Ｉ２ｘｙ＋・・・＋ＩＰｘｙ）／Ｐ
【００３５】
これを全画素に対して行なうと、平均画像Ｉａが得られる。なお、元画像はｑ１×ｑ２の画素の並びであるが、Ｉａでは、グレイスケール画像ではなくカラー画像の場合には、各色チャンネルごと、すなわち、ＲＧＢ画像の場合には赤、青、緑の各チャンネルについて平均輝度を求めることで、平均画像を得る。
【００３６】
この平均画像Ｉａと、ｐ番目のある画像Ｉｐとの差ΔＩｐを以下のように定義する。
ΔＩｐ＝Ｉｐ−Ｉａ
【００３７】
ΔＩｐは、Ｉｐと同じく、ｑ１×ｑ２の大きさの縦ベクトルである。Ｐ枚の画像のそれぞれについてΔＩｐを求め、これらを横に並べて得られる行列をＡとする。
Ａ＝（ΔＩ１，  ΔＩ２，・・・，ΔＩＰ）
【００３８】
そして、以下のような相関行列Ｃを求める。
Ｃ＝Ａ′Ａ／Ｐ
【００３９】
ここで、Ａ′は、Ａの転置行列を意味する。この行列は、大きさがＰ×Ｐの実対称行列なので、Ｐ個の固有値を求めることができる。Ｐ個の固有値のうち値の大きなＭ個の固有値をλｉ（但し、ｉ＝１〜Ｍ、Ｍは調整値）、これに対応する固有ベクトルをｅｉ（但し、ｉ＝１〜Ｍ）とし、固有ベクトルｅｉを横に並べた行列Ｕを定義する。
Ｕ＝（ｅ１，ｅ２，．．．，ｅＭ）
【００４０】
そして、大域的特徴量ｙを以下で定義する。
ｙ＝Ｕ′（Ｉ−Ｉａ）
【００４１】
ここでＩは、Ｉａと同じ大きさに整形された任意の画像である。任意の画像と平均画像との輝度差に変換行列Ｕ′を掛け合わせた特徴量ｙは、大きさがＭのベクトルである。画像はｑ１×ｑ２の情報を持っているので、情報量を大幅に圧縮できる。例えば、ｑ１＝６４、ｑ２＝４８とすると、画素数３０７２の情報となるが、扱う情報量をＭ＝６まで圧縮することができる。このような特徴量ｙは、大域特徴量と呼ぶことができる。
【００４２】
〔事前処理〕
事前処理は、前述したように、ニューラルネットワーク３ｄを学習させる処理である。まず、マニピュレータ１を目標位置及び目標姿勢の近傍として、Ｐ枚の画像Ｉｐ（ｐ＝１〜Ｐ）を取得し、これらから平均画像を取得する。また、それぞれの画像を取得したときのマニピュレータ１の位置及び姿勢に対する６自由度の相対手先位置及び姿勢ｘｐ（ｐ＝１〜６、大きさ６のベクトル）も併せて取得しておく。
【００４３】
図２は、目標位置及び目標姿勢の近傍において取得された複数の画像を示す正面図である。
【００４４】
例えば、図２に示すように、マニピュレータ１を目標位置及び目標姿勢の近傍として、９枚の画像Ｉ１，Ｉ２，・・・，Ｉｐを取得したとする。これら各画像においては、目標位置に対して対象物１０１の見え方（大域特徴量）がそれぞれ異なっている。このような対象物１０１見え方の差と、マニピュレータ１の位置及び姿勢の差との関係を、ニューラルネットワーク３ｄに学習させる。
【００４５】
すなわち、各画像について、前述したように、大域特徴量ｙｐ（ｐ＝１〜Ｐ）を求めると、各大域特徴量ｙｐが得られたときのマニピュレータ１の位置及び姿勢情報が得られる。そして、大域特徴量ｙｐをニューラルネットワーク３ｄに対する入力とし、相対手先位置及び姿勢ｘｐが得られるように、ニューラルネットワーク３ｄの学習を行なう。
【００４６】
なお、ニューラルネットワークを用いることにより、マニピュレータ１の全ての位置及び姿勢について大域特徴量を保存しておく必要はない。実際に取得されなかった画像についての大域特徴量は、ニューラルネットワークの学習により補間される。このようなニューラルネットワークの構造や学習のさせ方、学習をさせるための入出力データの処理については、公知の技術を用いることができる。
【００４７】
〔オンライン処理〕
オンライン処理は、マニピュレータ１を動作させながらカメラ６により取得された画像に基づいて、マニピュレータ１の動作をリアルタイムで制御する処理である。まず、マニピュレータ１の動作中に、カメラ６により画像を取得する。そして、前述したように、取得された画像と平均画像との差から、大域特徴量ｙを求める。大域特徴量ｙを学習させたニューラルネットワーク３ｄの入力とすると、大域特徴量ｙのときのマニピュレータ１の目標位置及び姿勢からの相対位置及び姿勢ｘが得られる。
【００４８】
すなわち、前述のようにニューラルネットワーク３ｄが学習していることにより、対象物１０１見え方（大域特徴量）の差から、マニピュレータ１の位置及び姿勢を推定することができる。
【００４９】
そして、現在のマニピュレータ１の位置及び姿勢から、得られた相対位置及び姿勢ｘだけマニピュレータ１を動作させることにより、マニピュレータ１を目標の位置及び姿勢となるように制御することができる。
【００５０】
〔本発明の特徴〕
前述したように、本発明においては、単純に目標の位置及び姿勢の絶対値を記憶しておく制御方法と異なり、カメラ６により取得された画像と平均画像との差から得られた大域特徴量に基づいて、マニピュレータ１が動作すべき相対位置及び姿勢を推定するので、マニピュレータ１の初期の位置及び姿勢に拘わらず、任意の位置の対象物１０１に対応する目標位置及び姿勢にマニピュレータ１を動作させることができる。
【００５１】
取得された画像からの特徴量の抽出は、従来は、円や多角形（線分）を輪郭として抽出して形状認識を行い、これに基づいて面積や重心位置、中心位置、大きさなどを求め、これを特徴量とすることが多かった。この場合には、僅かなノイズや照明状態の変化などにより認識結果が影響を受け、また、認識誤差がマニピュレータ１の動作に大きな影響を与える。さらに、画像処理には長時間を要する。
【００５２】
これに対し、本発明においては、電子データとしての画像に含まれる数値情報に基づいて処理を行うため、比較的ノイズに強く、ロバストである。また、前述したように、用いる特徴量の数Ｍを調整したり、特徴量を速く計算する工夫を行なっているので、計算時間を短くすることができる。
【図面の簡単な説明】
【００５３】
【図１】本発明に係るロボット装置の構成を示す模式的な側面図である。
【図２】本発明に係るロボット装置において、マニピュレータを目標位置及び目標姿勢の近傍としたときに取得された複数の画像を示す正面図である。
【符号の説明】
【００５４】
１    マニピュレータ
１ａ  第１のリンク
１ｂ  第２のリンク
１ｃ  第３のリンク
１ｄ  第４のリンク
１ｅ  第５のリンク
１ｆ  第６のリンク
２ａ  第１の関節
２ｂ  第２の関節
２ｃ  第３の関節
２ｄ  第４の関節
２ｅ  第５の関節
２ｆ  第６の関節
３    コンピュータ
３ａ  メモリ
３ｂ  画像処理部
３ｃ  動作指令生成部
３ｄ  ニューラルネットワーク
５    先端ツール機構
６    カメラ
１０１    対象物
【図１】
0005200772.tif 000002
【図２】
0005200772.tif 000003