特開2020-11339(P2020-11339A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧
特開2020-11339ロボットシステムの制御方法、およびロボットシステム
<>
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000015
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000016
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000017
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000018
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000019
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000020
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000021
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000022
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000023
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000024
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000025
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000026
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000027
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000028
  • 特開2020011339-ロボットシステムの制御方法、およびロボットシステム 図000029
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-11339(P2020-11339A)
(43)【公開日】2020年1月23日
(54)【発明の名称】ロボットシステムの制御方法、およびロボットシステム
(51)【国際特許分類】
   B25J 13/08 20060101AFI20191220BHJP
   B25J 9/10 20060101ALI20191220BHJP
【FI】
   B25J13/08 A
   B25J9/10 A
【審査請求】未請求
【請求項の数】16
【出願形態】OL
【全頁数】23
(21)【出願番号】特願2018-135334(P2018-135334)
(22)【出願日】2018年7月18日
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100082337
【弁理士】
【氏名又は名称】近島 一夫
(74)【代理人】
【識別番号】100141508
【弁理士】
【氏名又は名称】大田 隆史
(72)【発明者】
【氏名】檀 慶太
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS06
3C707BS10
3C707DS01
3C707ES03
3C707KS03
3C707KS04
3C707KS07
3C707KS31
3C707KT03
3C707KT05
3C707KT06
3C707LT11
3C707LV19
(57)【要約】
【課題】撮影装置の支持部の振動や変形などの外乱が予想される環境においても、簡単安価な構成によって、撮影画像を用いて高精度かつ高速にロボットハンドの位置姿勢を制御する。
【解決手段】ロボット装置1が装着された架台4に対して固定の位置関係を有し、撮影装置で撮影可能な3個以上の基準マーカ41〜44を配置する。ロボット装置1に装着した3次元測定装置、手先カメラ8で測定した各マーカの位置姿勢に基づき、ロボット装置を制御するためのロボット座標系と、マーカ基準のマーカ座標系と、の間で座標変換を行う校正データを算出する。固定カメラ2で基準マーカ41〜44と、ワーク51と、を撮影する。撮影画像から取得したマーカ座標系におけるワークの位置姿勢データと、前記校正データと、を用いて算出したロボット座標系におけるワークの位置姿勢に基づき、ロボット装置の位置姿勢を制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
撮影装置で撮影した撮影画像に基づき、ワークを操作するロボット装置の位置姿勢を制御する制御装置を備えたロボットシステムの制御方法において、
前記ロボット装置に対する相対位置が固定され、前記撮影装置で撮影可能な3個以上のマーカを配置し、
前記制御装置が、前記ロボット装置に装着した3次元測定装置により測定した前記ロボット装置に対する前記マーカの位置姿勢に基づき、前記ロボット装置を制御するためのロボット座標系と、前記マーカから定まるマーカ座標系と、の間で座標変換を行う校正データを算出する校正工程と、
前記制御装置が、前記撮影装置により、前記マーカと、ロボット装置により操作されるワークと、が撮影された撮影画像を取得させる撮影工程と、
前記制御装置が、前記撮影画像から取得した前記マーカ座標系における前記ワークの位置姿勢データと、前記校正データと、を用いて、前記ロボット座標系における前記ワークの位置姿勢を算出する位置姿勢算出工程と、
前記制御装置が、前記位置姿勢算出工程で算出された前記ロボット座標系における前記ワークの位置姿勢に基づき、前記ロボット装置の位置姿勢を制御するロボット制御工程と、を含むロボットシステムの制御方法。
【請求項2】
請求項1に記載のロボットシステムの制御方法において、前記ロボット装置に装着した前記3次元測定装置が前記マーカを撮影可能な3次元撮影装置であるロボットシステムの制御方法。
【請求項3】
請求項1に記載のロボットシステムの制御方法において、前記ロボット装置に装着した前記3次元測定装置が前記マーカの位置および形状を測定可能なプローブ測定装置であるロボットシステムの制御方法。
【請求項4】
請求項1から3のいずれか1項に記載のロボットシステムの制御方法において、前記ロボット装置を制御するためのロボット座標系(R)と、前記撮影装置のカメラ座標系(C)と、前記マーカから定まるマーカ座標系(M)と、ワークの位置姿勢から定まるワーク座標系(W)と、前記ロボット座標系(R)と前記マーカ座標系(M)との間の座標変換を行う校正データ()と、次式を用いて、前記ワークのロボット座標系におけるワークの位置姿勢()を算出するロボットシステムの制御方法。
【数1】
【請求項5】
請求項2に記載のロボットシステムの制御方法において、前記ロボット装置に装着した前記3次元撮影装置のカメラ座標系(C2)と、前記ロボット装置の制御するためのロボット座標系(R)と、次式を用いて、前記マーカから定まるマーカ座標系(M)と、前記ロボット座標系(R)と、の間の座標変換を行う校正データ()を算出するロボットシステムの制御方法。
【数2】
【請求項6】
請求項2に記載のロボットシステムの制御方法において、前記3次元撮影装置が前記ロボット装置に対して着脱機構を介して着脱可能であり、前記3次元撮影装置を着脱機構を介して治具に固定した状態で、前記着脱機構により定まる着脱機構座標系(H)と、前記3次元撮影装置のカメラ座標系(C2)と、の間の座標変換を行う校正データを算出するロボットシステムの制御方法。
【請求項7】
請求項6に記載のロボットシステムの制御方法において、前記3次元撮影装置のカメラ座標系(C2)と、前記ロボット装置を制御するためのロボット座標系(R)と、前記着脱機構により定まる着脱機構座標系(H)と、次式を用いて、マーカ座標系(M)と、前記ロボット座標系(R)と、の間の座標変換を行う校正データ()を算出するロボットシステムの制御方法。
【数3】
【請求項8】
請求項1から7のいずれか1項に記載のロボットシステムの制御方法において、前記ロボット装置が架台に装着されており、前記撮影装置を支持する支持部が、前記架台から分離された基台部に支持されているロボットシステムの制御方法。
【請求項9】
請求項8に記載のロボットシステムの制御方法において、前記基台部が前記ワークを搬送する搬送装置を支持するロボットシステムの制御方法。
【請求項10】
請求項1から9のいずれか1項に記載のロボットシステムの制御方法の各工程を前記制御装置に実行させるための制御プログラム。
【請求項11】
請求項10に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項12】
撮影装置で撮影した撮影画像に基づき、ワークを操作するロボット装置の位置姿勢を制御する制御装置を備えたロボットシステムにおいて、
前記ロボット装置が装着された架台に対して固定の位置関係を有し、前記撮影装置で撮影可能な3個以上のマーカが配置され、
前記制御装置は、
前記ロボット装置に装着した3次元測定装置により測定した前記ロボット装置に対する前記マーカの位置姿勢に基づき、前記ロボット装置を制御するためのロボット座標系と、前記マーカから定まるマーカ座標系と、の間で座標変換を行う校正データを算出する校正工程と、
前記撮影装置により、前記マーカと、ロボット装置により操作されるワークと、が撮影された撮影画像を取得させる撮影工程と、
前記撮影画像から取得した前記マーカ座標系における前記ワークの位置姿勢データと、前記校正データと、を用いて、前記ロボット座標系における前記ワークの位置姿勢を算出する位置姿勢算出工程と、
前記位置姿勢算出工程で算出された前記ロボット座標系における前記ワークの位置姿勢に基づき、前記ロボット装置の位置姿勢を制御するロボット制御工程と、を実行するロボットシステム。
【請求項13】
請求項12に記載のロボットシステムにおいて、前記ロボット装置に装着した前記3次元測定装置が前記マーカを撮影可能な3次元撮影装置であるロボットシステム。
【請求項14】
請求項12に記載のロボットシステムにおいて、前記ロボット装置に装着した前記3次元測定装置が前記マーカの位置および形状を測定可能なプローブ測定装置であるロボットシステム。
【請求項15】
請求項12から14のいずれか1項に記載のロボットシステムにおいて、前記撮影装置を支持する支持部が、前記架台から分離された基台部に支持されているロボットシステム。
【請求項16】
請求項15に記載のロボットシステムにおいて、前記基台部が前記ワークを搬送する搬送装置を支持するロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮影装置で撮影した撮影画像に基づき、ワークを操作するロボット装置の位置姿勢を制御する制御装置を備えたロボットシステムの制御方法、およびロボットシステムに関する。
【背景技術】
【0002】
近年、ロボットにより組立作業を実現する組立生産装置が広く用いられるようになっている。このようなロボット装置において、ワークのピッキングや組立作業を高精度に行うために、ロボットと視覚センサを組み合わせたロボットの位置姿勢補正システムが知られている。ここでいう視覚センサとは、対象物の撮影画像から、位置や姿勢を計測可能なセンサのことである。
【0003】
視覚センサとしては、単眼カメラのように対象物の位置、姿勢(以下、位置姿勢と記す)を2次元的に計測するものや、ステレオカメラのように対象物の位置姿勢を3次元的に計測するセンサが用いられる。一般に、このようなロボット用途の視覚センサを表す言葉として、「ビジョン」、「ロボットビジョン」、「カメラ」などの表現が用いられることがある。
【0004】
ワークのピッキングを行うロボット装置のロボットビジョンシステムでは、例えば、ワーク供給エリアの上方に配置された視覚センサを用いてワーク供給エリア全体を撮影する構成が知られている。この際、視覚センサを取り付けるためのスタンドをカメラスタンドと呼ぶ。ワークはトレイや部品箱といったものに複数個配置されて供給されることが一般的であり、ワーク供給エリアは比較的広い範囲となる。視覚センサで広範囲を撮影するためには、ワークと視覚センサ間の距離(ワーキングディスタンス)を比較的長くするのが一般的である。
【0005】
ピッキング動作においては、視覚センサによってワークの位置姿勢を計測する。そして、計測結果をもとにロボットアーム先端のロボットハンドの位置姿勢を補正し、ワークを取得する。このようなロボットビジョンシステムを実現するには、事前にロボットの座標系と、視覚センサの座標系の関係を校正により求めておく必要がある。これは、視覚センサの座標系で得られた計測値を、ロボットアームの制御基準となるロボット座標系の値に座標変換する必要があるためである。また、このような構成において、ロボットの座標系と視覚センサの座標系の関係を校正する、即ち両者の座標系の間で座標変換を行う校正データを取得することを、ハンドアイキャリブレーションと呼ぶ場合がある。
【0006】
視覚センサの座標系の定義方法について説明する。視覚センサが例えばカメラのような撮像装置であれば、事前に当該カメラに対して内部・外部パラメータ校正を実施する必要がある。ここで、内部パラメータはレンズの焦点距離やひずみ特性などの光学特性を意味する。単眼カメラの場合の外部パラメータは、カメラの位置姿勢を意味する。また、ステレオカメラの場合は、外部パラメータは2つのカメラ間の相対位置姿勢を意味する。
【0007】
これらの内部・外部パラメータを用いることにより、視覚センサの座標系を定義可能となる。この内部・外部パラメータを算出することをカメラ校正と呼ぶ。
【0008】
しかしながら、このようなロボットビジョンシステムにおいて、撮影装置の支持部、例えばカメラスタンドの振動や変形により、視覚センサ位置が変化する可能性がある。これにより、ロボット座標系と視覚センサの座標系の関係が校正時から変化し、ロボットハンドの位置姿勢の補正データに誤差が生じ、ワークのピッキングに失敗する可能性がある。
【0009】
このように、カメラスタンドの振動や変形により視覚センサの位置が変化する問題の対策の一つとして、例えばカメラスタンドを高剛性化することが考えられる。しかしながら、高剛性化を目的とするカメラスタンドの柱を太くするといった構造上の変更によって、ハードウェアが大型化し、またコストアップする可能性がある。即ち、カメラスタンドの高剛性化といったハードウェア的な対策は、生産装置の大型化や高コスト化を招く可能性がある。
【0010】
そこで、事前に取得しておいた予想画像データと、実際に撮影した画像データを比較して、カメラの内部・外部パラメータが校正時から変化していないかを判定する手法が提案されている(下記の特許文献1)。このような構成では、内部・外部パラメータの変化が認められた場合は、内部・外部パラメータを再校正する処理を行うことになる。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2016−1181号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
上記特許文献1の技術は、再校正が必要となったタイミングで必要に応じて視覚センサの再校正を行う手法である。従って、例えば上記のような撮影装置の支持部に振動や変形が起きやすい環境で特許文献1の技術を実施すると、再校正が必要である旨の判定が頻発する可能性がある。例えば、特許文献1が前提とするような内部・外部パラメータの再校正は、校正プレートと呼ばれる多数のマーカが描かれたプレートを、様々な姿勢で撮影することにより行う。このような再校正は一般に煩雑であり、度々、再校正要の判定が頻発すると、場合によってはシステムの実用性が損なわれる可能性がある。
【0013】
以上に鑑み、本発明の課題は、撮影装置の支持部の振動や変形などの外乱が予想される環境においても、簡単安価な構成によって、撮影画像を用いて高精度かつ高速にロボットハンドの位置姿勢を制御できるようにすることにある。
【課題を解決するための手段】
【0014】
上記課題を解決するため、本発明においては、撮影装置で撮影した撮影画像に基づき、ワークを操作するロボット装置の位置姿勢を制御する制御装置を備えたロボットシステムの制御方法において、前記ロボット装置に対する相対位置が固定され、前記撮影装置で撮影可能な3個以上のマーカを配置し、前記制御装置が、前記ロボット装置に装着した3次元測定装置により測定した前記ロボット装置に対する前記マーカの位置姿勢に基づき、前記ロボット装置を制御するためのロボット座標系と、前記マーカから定まるマーカ座標系と、の間で座標変換を行う校正データを算出する校正工程と、前記制御装置が、前記撮影装置により、前記マーカと、ロボット装置により操作されるワークと、が撮影された撮影画像を取得させる撮影工程と、前記制御装置が、前記撮影画像から取得した前記マーカ座標系における前記ワークの位置姿勢データと、前記校正データと、を用いて、前記ロボット座標系における前記ワークの位置姿勢を算出する位置姿勢算出工程と、前記制御装置が、前記位置姿勢算出工程で算出された前記ロボット座標系における前記ワークの位置姿勢に基づき、前記ロボット装置の位置姿勢を制御するロボット制御工程と、を含む構成を採用した。
【発明の効果】
【0015】
上記構成によれば、ロボット装置が装着された架台に対して固定の位置関係を有するマーカ基準で現在のワークの位置姿勢を検出し、例えばロボット座標系におけるワークの位置姿勢を取得することができる。従って、撮影装置の支持部の振動や変形などの外乱が予想される環境においても、簡単安価な構成によって、撮影画像を用いて高精度かつ高速にロボットハンドの位置姿勢を制御することができる。
【図面の簡単な説明】
【0016】
図1】本発明の実施形態1〜3に係わるロボットシステムの構成を示した説明図である。
図2図1のロボットシステムにおける座標系の説明図である。
図3】(a)、(b)は図1のロボットシステムにおけるロボットハンドと手先カメラを示した説明図である。
図4図3(a)、(b)の手先カメラの一例として、ステレオカメラの構成を示した説明図である。
図5図1のロボットシステムにおけるロボット制御手順の全体構成を示したフローチャート図である。
図6図3(a)、(b)、図4の手先カメラの着脱機構を示した説明図である。
図7図3(a)、(b)、図4の手先カメラを校正する機構の構成を示した説明図である。
図8図1のロボットシステムにおけるロボットハンドとマーカ間の校正処理を示したフローチャート図である。
図9】本発明の実施形態2に係わる基準マーカの構成を示した説明図である。
図10】本発明の実施形態2に係わる基準マーカの異なる配置構成を示した説明図である。
図11】本発明の実施形態3に係わるプローブで測定可能な基準マーカの構成を示した説明図である。
図12図1のロボットシステムにおけるロボットハンドとプローブを示した説明図である。
図13図11の構成におけるロボット制御手順の全体構成を示したフローチャート図である。
図14図11のロボットシステムにおけるロボットハンドとマーカ間の校正処理を示したフローチャート図である。
図15図11のロボットシステムにおけるプローブによる基準マーカの測定の様子を示した説明図である。
【発明を実施するための形態】
【0017】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【0018】
<実施形態1>
ここでは、まず、本明細書における数式表現について説明する。Tは左上の添え字の座標系から、右下の添え字の座標系への同次座標変換行列を示す。同次座標変換行列は回転行列(3自由度)と、平行移動行列(3自由度)を用いて次式のように表される。
【0019】
【数1】
【0020】
また、以下では、pは左上の添え字の座標系における任意の点Pの座標値の同次ベクトルを意味する。その座標値は(X,Y,Z)とすると、同次ベクトルpは下式のように表される。
【0021】
【数2】
【0022】
次に、本発明を実施可能なロボットシステムの構成の一例につき説明する。図1は、本実施形態のロボットシステムの全体構成の一例を示している。このロボットシステムは、ロボット装置1でワーク51をピッキングする。その際、撮影装置としての固定カメラ2によりワーク51を撮影し、画像処理装置7を用いてワーク51の位置姿勢を計測し、そこでの計測データを用いてロボット装置1の位置姿勢データを補正する。
【0023】
ロボット装置1は、架台4上に載置されている。ロボット装置1は、多関節ロボットアームとして構成されたロボットアーム11および、そのエンドエフェクタとして装着されたロボットハンド12から構成されている。図1では、ロボットアーム11は、垂直多関節型に相当する図示となっているが、パラレルリンク型や直動関節型など他の形式の構成であってもよい。
【0024】
ロボットアーム11は、その先端に装着されたロボットハンド12を移動させ、ワーク51を操作させる。ロボットハンド12は多指構成の治工具とする。図1では2指のロボットハンド12を示しているが、操作指の数や細部の構成は任意でよい。ロボット装置1では、ロボットハンド12によりワーク51を把持(ピッキング)し、ワーク51を移送したり、他のワークに組み付けたりする操作を行う。
【0025】
固定カメラ2は、ワーク51と、基準マーカ41〜44の撮影画像を同時に取得(撮影)できるよう配置されている。固定カメラ2は、本実施形態では3次元計測可能なステレオカメラとするが、単眼カメラであってもよい。固定カメラ2は、撮影時の不要な振動を避けるため、内部のイメージセンサはグローバルシャッタを用いた形式であるのが望ましい。
【0026】
本実施形態では、固定カメラ2は、ストッカ3の一部を構成するカメラスタンド31に支持されている。撮影装置としての固定カメラ2を支持する支持部として設けられたカメラスタンド31は、破線で示した固定カメラ2の画角が、ワーク51と、基準マーカ41〜44をカバーできるような位置に固定カメラ2を支持する。このため、本実施形態ではカメラスタンド31は、コの字型の基部と、この基部からロボット装置1の作業領域の上空に向かってほぼ水平方向に伸びる固定カメラ2の支持アームと、を備えた形状となっている。
【0027】
ストッカ3は、ロボット装置1の操作可能な範囲にワーク51を搭載したトレイ5を供給する搬送機能を有する。図1の各部の配置は、ストッカ3の搬送機能、ロボット装置1の操作性、固定カメラ2の画角などを勘案して決定すればよい。本実施形態では、ストッカ3の搬送動作によって、生じる振動がロボットアーム11の架台4の側になるべく伝達されないよう、ストッカ3の基台部は、ロボットアーム11の架台4と、機械的に分離された構造としてある。
【0028】
なお、カメラスタンド31は、ロボットアーム11の架台4に設置されてもよいし、室内の天井から吊り下げたマウントなどに配置してもよい。カメラスタンド31をロボットアーム11の架台4に設置する場合にも、好ましくは、振動源となり得るストッカ3は、架台4と、機械的に分離された構造とするのが望ましい。
【0029】
図1の構成では、ストッカ3にはワーク51を搭載したトレイ5を供給、排出するためのスライダ32が配置されている。また、ストッカ3には先述したようにカメラスタンド31が配置されている。このような構成では、カメラスタンド31が可動部であるスライダ32と同じ台座上にあるため、カメラスタンド31は振動しやすく、固定カメラ2の位置も変化しやすくなる傾向がある。しかしながら、図1のような構成は、ストッカ3の構造物や、上空のスペースをカメラスタンド31に用いることができるため、省スペース、装置の低コスト化が可能であるという利点がある。
【0030】
本実施形態では、このような簡単安価かつ省スペースな構造、そして、固定カメラ2に振動や位置の変動を生じる可能性がある構成でも、高精度なワークの位置姿勢の検出およびそれに基づく高精度なロボット制御を行えるようにする。
【0031】
架台4上には3次元測定装置としての手先カメラ8ないし固定カメラ2により撮影可能な基準マーカ41〜44が設置されている。この基準マーカ41〜44は、ロボット装置1(の例えば基部)と固定の位置関係を有する、例えば、図1のようにロボット装置1と同じ架台4に配置する構成とする。あるいは、基準マーカ41〜44がロボット装置1と固定の位置関係を有する構成としては、基準マーカ41〜44を建物の床に設置された治具上に配置する構成が考えられる。その場合、架台4は、建物の床に対して、何らかの固定具を介して固着される。本実施形態では、ロボット装置1と基準マーカ41〜44は、固定の位置関係、少なくとも、両者の間の相対位置姿勢が変化しにくい構造によって設置される必要がある。
【0032】
なお、本実施形態の基準マーカ41〜44は、後述する3次元測定装置(例えば下記の手先カメラ8)で3次元測定装置に対する位置姿勢を測定可能なものであれば任意のマーカであってよい。例えば、架台4上に固定カメラ2で高精度に位置姿勢が計測な、好ましくは3個以上の特徴部があれば、その特徴部を基準マーカ41〜44の代りに用いてもよい。このような特徴部としては、例えば架台4上にあるタップ穴などが考えられる。
【0033】
また、基準マーカ41〜44は図1では4点設けているが、3次元測定の観点では、基準マーカの点数は少なくとも3点以上であればよい。ただし、基準マーカ41〜44を3点以上、多数、設ける場合には、測定結果の平均演算などを利用する余地が生じ、計測誤差が軽減されるため好ましい場合がある。
【0034】
図2図1のロボットシステムで用いられる座標系を示す。図2に示すように、基準マーカ41〜44から決定される座標系をマーカ座標系Mとする。例えば、基準マーカ41を原点とし、基準マーカ41から42へのベクトルをX軸、基準マーカ41〜44がある近似平面の法線ベクトルをZ軸、X軸とZ軸の外積ベクトルをY軸とする。このように、マーカ座標系Mを高精度に定義するためには、基準マーカ41〜44が、機械的な手段(剛体から成る架台4に対する固定)によって、各マーカ間の相対位置姿勢が高精度に保証されている必要がある。
【0035】
図1の構成では、基準マーカ41〜44で囲まれたワーク供給エリアの部位は、架台4が矩形に切り欠かれた形状となっている。図1では、スライダ32によって、固定カメラ2の計測対象となるワーク51が複数配置された状態でトレイ5がワーク供給エリアに搬入されている。
【0036】
例えば、ロボットハンド12によりトレイ5上のワーク51を把持する場合、トレイ5内でワーク51の位置が変化したり、トレイ5全体の位置が変化したりする可能性がある。そこで、固定カメラ2でワーク51の位置を計測して、ロボットアーム11の位置姿勢を補正する必要がある。固定カメラ2の計測領域は、破線で示したように、ロボットアーム11の稼働範囲内にある。図2に示すようにワークの位置姿勢を表す座標系をワーク座標系Wとする。
【0037】
図1において、ロボット装置1はロボット制御装置6により制御される。ロボット制御装置6は、演算を行うCPU61と、ROM62およびRAM63からなるメモリ部と、外部と通信を行うインターフェース(I/F)部64を有している。これらの各ブロックは制御装置内部の通信に用いられるバス65を介して相互に接続される。
【0038】
図1のロボット装置1は、CPU61の制御機能として、ロボット制御部611を有している。これらの制御部はあたかもハードウェアブロックであるかの如く図示しているが、実際には、CPU61が、例えばROM62に記憶されているプログラムを読み込み実行することによって実現される。
【0039】
ロボット装置1は、ロボット制御装置6のインターフェース部64に接続されている。ロボットアーム11は、ロボット制御部611の制御に基づきインターフェース部64を介して送信される指令値によって、その位置姿勢を制御される。図2に示すように、ロボットアーム11の基端部には、架台4に対するロボットアーム11の位置姿勢を代表する座標系としてロボット座標系Rが設定されている。ロボット制御部611は、例えば、ロボット座標系Rにおけるロボットアーム11の位置姿勢の演算に基づき、ロボットアーム11とロボットハンド12の動作を制御する。
【0040】
ROM62は、たとえばCPU61が実行するプログラムを格納するためのメモリで、コンピュータ読み取り可能な記録媒体である。CPU61のプログラムの格納領域は、EEPROMのような更新可能なメモリデバイスにより構成されていてもよい。また、CPU61のプログラムを格納する記録媒体としては、HDDやSSDのような外部記憶装置(不図示)を用いてもよく、また、各種光ディスクや、フラッシュメモリのような交換可能なコンピュータ読み取り可能な記録媒体を用いてもよい。
【0041】
インターフェース部64には、ロボット装置1の動作を教示するための操作装置として、ティーチングペンダント(TP:不図示)などを接続することができる。通常、ティーチングペンダントなどと呼ばれる操作装置は、各種ファンクションキーとディスプレイなどを有し、手動操作によって、ロボット装置1を動作させることができる。また、インターフェース部には不図示のディスプレイ(LCDパネルなど)ないしキーボードなどから成るユーザーインターフェース装置を接続することができる。このユーザーインターフェース装置は、ロボットプログラムの編集などに利用できる。
【0042】
図3(a)、(b)にロボットハンド12の拡大図を示す。図3(a)は手先カメラ8を把持する前の状態、(b)は手先カメラ8を把持した後の状態をそれぞれ示している。ロボットハンド12はワーク51をピッキングするための機構と手先カメラ8を着脱、位置決めするための着脱機構(1231、1232)を備えている。このロボットハンド12も、ロボット制御装置6のインターフェース部64に接続されており、ロボット制御装置6はフィンガ121、122の開閉を制御することができる。
【0043】
手先カメラ8は、基準マーカ41〜44を3次元測定する3次元測定装置を構成する。そのため、手先カメラ8は、3次元カメラ、例えば2眼構成のステレオカメラとする。あるいは、手先カメラ8は、基準マーカ41〜44を3次元測定するアクティブステレオやToF(Time of Flight)カメラなどにより構成してもよい。また、手先カメラ8は、基準マーカ41〜44を3次元測定する3次元測定装置であるが、この3次元測定は、後述の実施形態に示すように、画像測定ではなく他の3次元測定方式によって行ってもよい。図2図3に示すように手先カメラ8のカメラ座標系を手先カメラ座標系C2とする。
【0044】
本実施形態では、手先カメラ8による基準マーカ41〜44の3次元測定は、ロボット座標系R〜マーカ座標系M間の校正データを取得するために行う。手先カメラ8は、この校正時にのみ用いられ、ロボット装置1の通常動作では必要ない。もし、手先カメラ8が常時、ロボットアーム11に装着されていた場合には、ロボットアーム11の可動範囲を狭めてしまう問題が生じる。そこで、手先カメラ8は、ロボットハンド12で着脱可能であることが望ましく、本実施形態ではロボットハンド12で把持可能な実装形態とする。
【0045】
好ましくは、ロボットハンド12は、手先カメラ8を再現性良く装着可能な機構を有するものとする。例えば、図3の例では、ロボットハンド12の掌部123に位置決め用のピン穴1231、1232を設けている。また、フィンガ121、122には、テーパ部を備えたガイド爪121a、122aを有している。ガイド爪121a、122aは、手先カメラ8側のガイド爪821a、822aと協働し、フィンガ121、122が手先カメラ8を把持した時、手先カメラ8の基部がピン穴1231、1232の方向へ押し込まれるよう付勢する。また、ロボットハンド12の掌部123にはロボットハンドの位置姿勢を表すハンド座標系Hが設定される。
【0046】
ロボットアーム11は、ロボット制御装置6のロボット制御部611から出力される指令値に基づき、各関節を駆動して、ロボットハンド12の位置姿勢、例えばハンド座標系Hがロボット座標系Rにおいて占める位置姿勢を制御することができる。その場合、ロボット制御部611は、ロボット座標系Rを基準とするハンド座標系Hの相対位置姿勢の目標値に対して、ロボットアーム11の各関節のとるべき角度目標値を算出する逆運動学演算を行う。このように、ハンド座標系Hにおける目標値を決定すれば、ロボットアーム11を目標の位置姿勢まで移動することができる。
【0047】
また、ロボットアーム11を動作させる際、ロボット制御部611は、ロボットアーム11の各関節に設けられたエンコーダが出力する現在角度が角度目標値に一致するようにサーボ制御を行う。また、ロボット制御部611はエンコーダから各関節の現在角度情報を取得し、ロボット座標系Rに対するハンド座標系Hの現在の相対位置姿勢を算出可能である。
【0048】
一方、図1の画像処理装置7は、固定カメラ2および手先カメラ8の撮影と、撮影画像を処理する制御手段を構成する。画像処理装置7は、ロボット制御装置6と同様、CPU71を中心に構成された制御系である。例えば、画像処理装置7は、演算を行うCPU71と、ROM72およびRAM73からなるメモリ部と、外部と通信を行うインターフェース(I/F)部74を有している。これらの各ブロックは制御装置内部の通信に用いられるバス75を介して相互に接続される。機能ブロック(711〜714)は、ロボット制御装置6の場合と同様に、CPU71が制御プログラムを実行することにより実現される。
【0049】
固定カメラ2と、手先カメラ8は、インターフェース部74を介して、画像処理装置7に接続されている。固定カメラ2ないし手先カメラ8は、カメラ制御部711からの指令に基づき、それぞれワーク供給エリアおよび基準マーカ41〜44を撮影し、撮影画像の画像データを画像処理装置7に送信することができる。また、カメラ制御部711は、必要に応じてワーク51や基準マーカ41〜44を照らす照明の点灯や輝度の調整も行う機能を有するものとする。
【0050】
受信した画像データは画像処理装置7内のカメラ制御部711(画像処理部)によって処理される。カメラ制御部711では画像データからワーク51や基準マーカを41〜44の位置姿勢を算出する。ここでは、例えば、固定カメラ2の撮影画像から基準マーカ41〜44位置を計測する手法について説明する。
【0051】
本実施形態では、白背景に黒色、円形の基準マーカ41〜44が架台4上に配置されているものとする。以下では、基準マーカ41〜44の黒丸の中心位置の計測処理について説明する。
【0052】
カメラ制御部711において、固定カメラ2の内部の2つのカメラの撮影画像データに対してエッジ抽出処理を実施する。各エッジの長さと真円度から、基準マーカ41〜44のエッジを抽出する。また、抽出したエッジに対して楕円近似を行い、楕円中心の画像座標を求める。各画像の楕円中心から求まる視差と、固定カメラ2の校正結果である内部・外部パラメータを用いて、ステレオ計測を実施し、固定カメラ座標系Cにおける基準マーカ41〜44の中心の位置を求める。ここでiは基準マーカの識別番号とする(本実施形態ではi=1〜4)。内部・外部パラメータの求め方については後述する。
【0053】
画像処理装置7の補正量演算部713では、カメラ制御部711で計測されたワーク51と基準マーカ41〜44の位置情報と、ロボット座標系〜マーカ座標系間の座標変換を行う校正データを用いて、ロボットアーム11の制御指令値(後述)を算出する。ロボット座標系〜マーカ座標系間の校正データは、校正演算部714により算出し、ROM72ないしRAM73などに格納しておく。算出された制御指令値は画像処理装置7のインターフェース部74を介して、ロボット制御装置6のインターフェース部64に送信され、ロボット制御装置6からロボットアーム11に指令値が送信される。
【0054】
校正演算部714では、固定カメラ2および手先カメラ8の内部・外部パラメータを演算する機能と、基準マーカとロボットアーム11間の校正値を演算する機能がある。後者の方法については後述するものとし、ここではまず前者の方法について説明する。本実施形態ではステレオカメラの場合について説明する。ステレオカメラの内部・外部パラメータは画像処理装置7内のメモリ、例えばROM72ないしRAM73に格納しておく。
【0055】
ここで、図4を用いて、固定カメラ2および手先カメラ8の内部パラメータと外部パラメータに関して説明する。図4では、固定カメラ2を例にとって図示しているが、手先カメラ8の場合も同様である。
【0056】
図4は固定カメラ2の内部構造を模式的に示している。内部パラメータとは、固定カメラ2のステレオカメラを構成する単眼カメラ21、22の各々の焦点距離、画像中心、レンズ歪み等の、撮影特性に関するパラメータのことである。この内部パラメータによって、イメージセンサ23と24上に定まるセンサ座標系S、Sとカメラ座標系C、Cとの相対位置姿勢が求まる。なお、l、rの各添字は、左(眼)、右(眼)の撮影各光学系を示す。
【0057】
一方、外部パラメータは、それら単眼カメラ21と22相互の相対位置姿勢を規定するパラメータである。これにより、単眼カメラ21と22の各カメラ座標系CとCとの相対位置姿勢が求まる。
【0058】
一般に、ステレオカメラ(2)の内部・外部パラメータの校正では、まず例えば、そのステレオカメラ(2)によって、既知のサイズ、形状の画像パターンを付与した校正用被写体を、対象の位置姿勢を変えながら複数枚撮影する。そして、単眼カメラ21と22の撮影画像に対して、画像処理を行い画像上における校正用被写体のパターン上の特徴点位置を求める。この時、理論上では各単眼カメラの撮影画像上で、同じ特徴点は同一平面上(エピポーラ平面)に存在するというエピポーラ拘束という条件が成り立つ。このエピポーラ拘束が成り立つように、最適化計算を解くことにより、内部・外部パラメータを算出することができる。内部・外部パラメータの校正では、チェスボードないし市松模様の画像パターンを付与した校正プレートなどが校正用被写体として用いられる。
【0059】
次に、図5図8を参照して、本実施形態におけるロボット装置1の位置姿勢制御について説明する。図5図8の制御手順は、CPU71の制御プラグラムとしてたとえばROM72に格納しておくことができる。
【0060】
全体の大まかな流れとしては、オフライン作業(S101〜S103)と、オンライン作業(S104〜S106)に分けられる。オフライン作業であるS101から103は基本的には、一度だけ行う処理である。これらは作業者が行う準備作業のステップである。オンライン作業により行われるステップS104からS106は、ワーク51が供給され、ピッキング動作を行うたびに実施する処理である。
【0061】
まず、オフライン作業(S101〜S103)では、固定カメラ2の校正を実施し(S101)、固定カメラ2の内部・外部パラメータを取得する。この固定カメラ2の校正は、固定カメラ2をカメラスタンド31に設置する前に別の治具上で実施してもよいし、また、カメラスタンド31に設置した状態で行ってもよい。
【0062】
次に、手先カメラ8の校正を実施する(S102)。本処理は手先カメラ8の内部・外部パラメータ算出処理と、ハンドカメラ校正処理を行う。これらの処理は手先カメラ8をロボットハンド12に接続する前に別装置で実施することが好ましい。
【0063】
ここで、ハンドカメラ校正作業について説明する。先述したようにロボットハンド12は、手先カメラ8を把持する仕様に設計されている。図3図6に示すようにロボットハンド12の掌部123に、位置決め用のピン穴1231、1232が2つ形成されている。手先カメラ8の下面にはピン81、82が2本装着されている。ピン穴1231、1232(図3)にピン81、82(図6)が嵌合することにより、ロボットハンド12と手先カメラ8は高精度に位置決めされる。
【0064】
図7は、ハンドカメラ校正装置の説明図である。図3に示すように、例えばロボットハンド12のピン穴1231を原点としてロボットハンド12に固定された座標系をハンド座標系Hと定義する。これに対して、手先カメラ8が出力する位置情報の座標系を手先カメラ座標系C2と定義する。
【0065】
画像処理装置7が、手先カメラ8の撮影画像を画像処理して求めた3次元の位置計測結果は、手先カメラ座標系C2上での位置に相当する。ロボット〜マーカ間校正を行うには、手先カメラ8による3次元計測結果からロボットハンド12の位置を推定する必要がある。このため、オンライン作業前に、ハンドカメラ校正を実行して、ハンド座標系Hと手先カメラ座標系C2との相対位置姿勢を表すハンドカメラ間変換行列C2を求める。ハンドカメラ間変換行列C2は、ハンド座標系Hと手先カメラ座標系C2との間で座標値を変換する校正データに相当する。
【0066】
図7のハンドカメラ校正装置は、ロボットハンド12の掌部123のピン穴1231、1232と同形状のピン穴を設けたハンドモック1210を備えている。
【0067】
また、図7のハンドカメラ校正装置は、ハンドモック1210に対して高精度に位置決めされた位置に校正用マーカ治具9を備える。校正用マーカ治具9には、手先カメラ8で計測可能な指標である黒地に白円のパターンで複数配置されている。ハンド座標系Hにおける各指標の位置は、必要な精度で機械的に高精度に設定されているものとする。なお、ここでは校正用マーカ治具9のマーカパターンとして、黒地に白円の水玉パターンを例示したが、マーカパターンには他のグラフィック構成を用いて構わない。
【0068】
校正用マーカ治具9の指標を手先カメラ8で撮影した画像に基づき、手先カメラ座標系C2における指標の位置を求めることができる。即ち、ハンド座標系Hにおける各指標の位置と、指標の計測結果を用いて、最適化計算を解くことにより、ハンドカメラ間変換行列C2を求めることができる。図7に示したような構成を有するハンドカメラ校正装置によれば、ロボットシステムを介さずに測定を行うため、高精度にハンドカメラ間変換行列C2を求めることができる。
【0069】
再び、図5において、手先カメラ8の校正(S102)に続き、ロボット−マーカ間校正を実施する(S103)。このロボット−マーカ間校正では、手先カメラ8を介して、ロボットアーム11のロボット座標系Rと、基準マーカ41〜44から定まるマーカ座標系Mとの間の校正を行う。具体的には、ロボット座標系Rとマーカ座標系Mとの間で座標変換を行う校正データを演算により取得する。
【0070】
ロボット−マーカ間校正を(S103)は、例えば、図8のように実施する。図8において、まず、ロボットハンド12で手先カメラ8を把持し、装着する(S201)。その後、ロボット制御装置6に接続されているティーチングペンダント(不図示)などを用いてロボットアーム11を基準マーカ41〜44を撮影できる位置まで手先カメラ8を移動させる。通常、ティーチングペンダント(不図示)によるロボットアーム11の制御はユーザが手動で行う。しかしながら、基準マーカ41〜44を撮影できる位置への手先カメラ8の移動(あるいはさらに下記の撮影)は予め用意した制御プログラムによって自動的に行う校正であってもよい。
【0071】
次に、画像処理装置7から手先カメラ8に対して撮影指令を送信し、手先カメラ8は撮影指令を受信すると、撮影した基準マーカ41〜44の撮影画像を画像処理装置7に送信する(S202)。
【0072】
これに応じて、画像処理装置7は、基準マーカとアーム間の相対位置姿勢を算出する工程(S203)を実行する。画像処理装置7は撮影画像を受信すると、画像処理部712で撮影画像の座標系S、S図4)における基準マーカ41〜44の位置を算出する。
【0073】
次に、ROM72に保存されている手先カメラ8の内部・外部パラメータを読み出し、三角測量の原理により、左カメラ座標系C基準での3次元位置に変換するステレオ計測を実施する。ここで、便宜上、手先カメラ座標系C2は、左カメラ座標系Cと等価であるものとする(図4)。例えば、平行ステレオの場合、計測点PのXYZ座標は、下式のように表現される。
【0074】
【数3】
【0075】
上式において、fは焦点距離、Bは単眼カメラのレンズ主点間の距離である基線長、dは単眼カメラの撮影画像上における特徴点のX位置xとxの差である視差、yは単眼カメラの撮影画像上における特徴点のY位置を意味する。fは内部パラメータから、Bは外部パラメータから決定される。また、基準マーカ41〜44の位置をP(i=1−4)とする。たとえばi=1が基準マーカ41の位置に相当する。
【0076】
次に、手先カメラ座標系C2から見た基準マーカC2の座標を、ハンドカメラ間変換行列C2と、ハンド座標系とロボット座標系の変換行列と、を用いて、次式によってロボット座標系Rの座標値に変換する。このとき、ハンド座標系とロボット座標系の変換行列はロボット装置1の機械的なジオメトリから定まる値でありロボット制御装置6内のROM62に格納されているものとする。
【0077】
【数4】
【0078】
上記の処理は、その他の基準マーカ42〜44でも同様に実施する。これにより、ロボット座標系Rから見た基準マーカの座標値(i=1−4)を取得できる。
【0079】
また、先述したように基準マーカ間の相対位置姿勢は機構的に決定されているため、マーカ座標系Mから見た基準マーカの座標値(i=1−4)も取得することができる。ここで、ロボット−マーカ間校正で求めたいロボットマーカ間変換行列と、算出した基準マーカの座標値には次式のような関係性がある。
【0080】
【数5】
【0081】
そこで、下式(数6)に示すように、上式(数5)の右辺と左辺の差分のノルム二乗和が0に近づくように、同次座標変換行列に対して、非線形最適化計算を解くことができる。ここで、Nは基準マーカの数を示す。
【0082】
【数6】
【0083】
以上のようにして算出したロボットマーカ間変換行列を、画像処理装置7内のROM72あるいはRAM73に格納する。その後、手先カメラ8をロボットハンド12から取り外す。以上が、図5のオフライン作業(S101〜S103)であり、その後、制御はオンライン作業(S104〜S106)に入る。ここでは、オンライン作業として、ワーク51がストッカから供給された後の制御を例として説明する。
【0084】
まず、基準マーカとワーク間の相対位置姿勢の計測(S104)について説明する。画像処理装置7は固定カメラ2に対して撮影指令を送信する。固定カメラ2の視野内にはワーク51と基準マーカ41〜44がすべて入っているものとする。また、固定カメラ2による撮影時には、ロボットアーム11によって、撮影対象が固定カメラ2に対して隠蔽されないよう、ロボットアーム11の位置はロボット制御装置6によって制御されるものとする。
【0085】
固定カメラ2は、撮影したワーク51と基準マーカ41〜44の撮影画像を画像処理装置7に送信する。画像処理装置7内の画像処理部712は、受信した撮影画像の画像データからワーク51の位置姿勢と基準マーカ41〜44の位置を計測する。ワークの位置姿勢算出においてはワーク51の特徴部を3点以上ステレオ計測することにより、求めることができる。ここで、図2に示したように、ワーク51の位置姿勢を表す座標系をワーク座標系Wとすれば、ワーク座標系Wと固定カメラ座標系C間の座標変換を行う校正データを変換行列を決定することができる。
【0086】
同様に、固定カメラ座標系Cにおける基準マーカ41〜44の位置情報があれば、マーカ座標系Mと固定カメラ座標系C間の変換行列も決定することができる。これらの変換行列と次式を用いて、基準マーカ41〜44とワーク51間の変換行列を算出することができる。
【0087】
【数7】
【0088】
次に、ロボットとワーク間の相対的な位置姿勢を算出する位置姿勢算出工程を行う(S105)。ここで、画像処理装置7内のROM72に保存されているロボットマーカ間変換行列と先ほど固定カメラ2の撮影画像を介して取得した基準マーカとワーク間の変換行列と、を用いて、ロボットとワーク間の相対位置姿勢は次式のように表せる。
【0089】
【数8】
【0090】
次に、測定したロボットとワーク間の相対位置姿勢を用いてロボット位置を補正してワークをピッキングする(S106)。その場合、事前にワーク51をピッキングする際のロボットハンド12の位置姿勢を求めておく。この時のロボットハンド12の位置から定まる把持時ハンド座標系Hと、ワーク座標系W間の相対位置姿勢をH2とする。この値はロボット制御装置6の例えばROM62に格納しておく。また、ロボット座標系Rにおける、現在のロボットハンド12の位置姿勢をHnと表す。ここで、Hnは現在のロボットハンド12位置から定まるハンド座標系である。これらの情報を用いて、次式より、ロボットハンド12の補正量HnH2を算出する。
【0091】
【数9】
【0092】
ロボット制御装置6はこの補正量HnH2だけ、ロボットハンド12が移動するよう、ロボットアーム11の位置姿勢を補正する。ロボットアーム11が所望の位置に移動したら、ロボット制御装置6はロボットハンド12のフィンガを閉じ制御を行うことにより、ワーク51を把持することができる。
【0093】
以上のように、本実施形態では、ロボット装置1の架台4と固定の位置関係で配置される基準マーカを、3次元測定装置としてロボットアームに装着した手先カメラ(3次元撮影装置)で計測する。これにより、マーカ座標系Mとロボット座標系Rの間で座標変換を行うための校正データを精度よく取得することができる。そして、この校正データを用いて固定カメラ2による撮影結果からロボット座標系Rにおけるワークの位置姿勢を精度よく取得することができる。本実施形態によれば、固定カメラ2の振動や変位が生じていても、座標演算は、予めロボット座標系Rとの関係が正確に校正されたマーカ座標系Mを介して行われる。このため、固定カメラ2のカメラスタンドをワークの搬送装置に固定するような安価かつ簡便な構成であっても、固定カメラ2の振動や変位に影響されることなく、高精度なロボット制御が可能となる。
【0094】
<実施形態2>
本実施形態では、実施形態1とは基準マーカの形状・配置が異なる構成を示す。基準マーカ以外の構成および制御手順については、実施形態1と同様でよく、それらについての重複した説明は、以下では省略する。また、以下では、実施形態1と同一ないし相当する部材については同一の参照符号を用い、その詳細な説明は省略するものとする。
【0095】
図9は、本実施形態における基準マーカプレート45の構成例を示している。図9において、基準マーカプレート45は架台4上に設置されている。なお、図9では、固定カメラ2については設置位置のみを図示し、カメラスタンドなど、撮影装置の支持手段については図示を省略している。
【0096】
基準マーカプレート45には、図中の黒丸で示すように、カメラで位置を高精度に計測可能な指標(マーカ)が4点、付与されている。なお、基準マーカプレート45の指標(マーカ)の数は本実施形態では4点としているが、手先カメラ8などを用いて3次元測定を行うためには少なくとも3点以上が設けられていればよい。当然ながら、基準マーカプレート45は固定カメラ2の視野内およびロボットアーム11の可動範囲内に設置される。図9では、基準マーカプレート45は、架台4のトレイ5が進入する部位の側方に配置されている。
【0097】
また、基準マーカプレート45内の指標は、手先カメラ8の視野内にすべて収まるように配置されている。従って、図5図8の手順において、ハンド−マーカ間の校正(S103)のために手先カメラ8で基準マーカプレート45を撮影(S202)するには、ロボットアーム11を例えば基準マーカプレート45の直上の上空位置に移動しさえすればよい。これにより、ハンド−マーカ間の校正(S103)において、ユーザが撮影を行う作業時間を短縮することができる。また、基準マーカプレート45上に指標(マーカ)を配置することにより、高精度なマーカ間の相対位置姿勢精度を得るのが容易である。これにより、マーカ座標系Mを高精度に定義することが可能となる。
【0098】
図9の構成では、トレイ5の中心から基準マーカプレート45の配置位置がずれているが、固定カメラ2の撮影光軸をトレイ5の中心部に置きたい場合も考えられる。そして、基準マーカプレート45を固定カメラ2の撮影視野の周辺部で撮影するよりも、撮影精度の高い撮影視野の中心部で撮影するのが好ましい場合がある。その場合には、図10に示すように、基準マーカプレート45をトレイ5の下部に配置し、トレイ5のワーク51の載置部位以外の部分に開口部58aを配置する、といった構成が考えられる。基準マーカプレート45の支持手段としては、架台4から延ばした、支持腕や、架台4を設置した床面を用いる。このような構造により、ワーク51と基準マーカプレート45を固定カメラ2の視野中心付近に配置することができる。一般的にいって、多くの撮影光学系では、撮影視野の周辺部ではレンズ歪みの影響により、計測精度が低下する傾向がある。しかしながら、図10のような構成により、このように視野中心付近に基準マーカプレート45を配置することができ、より高精度に基準マーカとワーク間の相対位置姿勢の計測(S104)を実施することができる。
【0099】
<実施形態3>
実施形態1、2では、マーカ座標系とロボット座標系の間の校正を行う3次元測定装置として、手先カメラ8を用いた。しかしながら、ロボット装置1の架台4と固定の位置関係で配置された基準マーカは必ずしも画像情報のみを介して検出可能なものである必要はない。また、マーカ座標系とロボット座標系の間の校正に必要な3次元測定装置としては、3次元撮影装置以外の構成を用いてもよい。以下では、例えば半球状のマーカを用い、そのマーカの位置および形状を測定するプローブ測定装置を3次元測定装置に用いる例を示す。本実施形態においても、前述の実施形態1、2と同一ないし相当する部材については同一の参照符号を用い、その詳細な説明は省略するものとする。
【0100】
図11は、本実施形態3のロボット座標系〜マーカ座標系の校正に必要な要部の構成を示している。図11において、図1の構成と異なるのは、ロボット装置1のロボットハンド12に装着するのが手先カメラ8ではなく、プローブ治具10である点である。図12はこのプローブ治具10およびロボットハンド12の要部の構成を示しており、同図に示すように、プローブ治具10の先端には球状のプローブ103が設けられている。
【0101】
図12に示したプローブ治具10の台座部分と、ロボットハンド12の結合機構の構成は、例えば図3に示した手先カメラ8のものとほぼ同等である。上面にはピン81、82が2本装着されている。従って、ロボットハンド12を図3(a)に示すように構成しておけば、ピン穴1231、1232にピン81、82を挿入することによって、ロボットハンド12とプローブ治具10は高精度に位置決めされる。また、フィンガ121、122のガイド爪121a、122aと協働するガイド爪(821a)822aとの構成および動作も実施形態1と同様である。
【0102】
ピン81、82とプローブ103の相対位置関係は必要な精度範囲で、高精度に定まっているものとする。そのためには、プローブ治具10の加工精度を制御して必要な精度を保つ。
【0103】
あるいは、プローブ103の位置の校正を予め行っておくのであれば、真球度が出ている基準球46を、架台4上に固定しておく(図12図15)。この基準球46の表面の複数個所に対して接触測定を行う(図15)。この測定結果と、基準球46の設計値を比較し、プローブ103の座標位置を算出することができる。以上のようにして、プローブ治具10をロボットハンド12で装着した際に、ハンド座標系(着脱機構座標系)H基準でのプローブ103の位置を高精度に演算することができる。
【0104】
図11ではロボット制御装置6の構成は、図示を省略しているが、ロボット制御装置6は図1と同様の構成とすることができる。また、図1における画像処理装置7については、固定カメラ2の側の処理のみを行うものとし、手先カメラ8に関する処理、即ち、マーカ座標系とロボット座標系の間の校正については、ロボット制御装置6側で行う。
【0105】
その場合、ロボットハンド12には力覚センサ(不図示)を設けておく。この力覚センサは、例えば、プローブ治具10を装着したフィンガ121、122に印加される反力を検出するよう構成される。この力覚センサ(不図示)を用いることにより、プローブ103が接触した瞬間を検知することができる。なお、同様の機能を有する力覚センサは、ロボットハンド12ではなく、プローブ治具10やロボットアーム11に内蔵されていてもよい。
【0106】
二つ目の実施形態1ないし2との相違点は、前述の基準マーカ41〜44に相当するマーカ手段としての基準球46〜49の形状である。本実施形態では、基準球46〜49は球体であるものとする。球体形状を採用する理由は、プローブ103で接触してマーカ位置を計測する際と、固定カメラ2で基準球46〜49を計測する時、高精度な計測が可能なためである。ただし、基準球46〜49の形状は、球体形状に限らず、円柱形状や円錐形状でも、単純なボス穴でもよく、接触、非接触のいずれの3次元計測によっても高精度な計測が可能であれば任意の立体形状であればよい。
【0107】
図13図14は、機能的には上述の図5図8に相当するフローチャートで、本実施形態におけるロボット装置1の位置姿勢制御の制御手順を示している。図13図14では、図5図8の100番台および200番台のステップ番号は、300番台および400番台のステップ番号に置換されている。その場合、図13図14のステップのうち、ステップ番号の1の位の数字が図5図8のものと同じステップは、図5図8において該当するステップと同等の処理に相当する。図13図14の制御手順は、CPU71の制御プラグラムとしてたとえばROM72に格納しておくことができる。
【0108】
図13において、実施形態1の図5の処理との相違点は、オフライン作業(S301、S302)に手先カメラの校正(S102)がない点である。
【0109】
図14は、ロボット−マーカ間校正(S302)の処理内容を詳細に示している。このロボット−マーカ間校正(S302)では、プローブ治具10により基準球46〜49を測定し、ロボットアーム11のロボット座標系Rと基準球46〜49から定まるマーカ座標系M間の座標変換を行う校正データを取得する。
【0110】
図14において、プローブ治具10をアーム先端に装着(S401)する。本実施形態では、ロボットハンド12でプローブ治具10を把持させる。この操作は、ティーチングペンダントを用いてユーザが行ってもよいし、予め用意した制御プログラムに基づいて行ってもよい。
【0111】
次に、ロボット制御装置6(図1)がロボットアーム11を制御し、プローブ治具10を用いて基準球46〜49に接触(S402)させ、各基準マーカの位置を計測する。
【0112】
図15は、プローブ治具10により基準球46を接触計測する様子を示している。同図に示すように、基準球46に対してプローブ103を4点以上、接触させ、接触した瞬間のプローブ103の位置を計測する。この計測結果を用いて、球面の方程式にフィッティングすることにより、プローブ103の中心位置と半径を計測する。同じ接触計測は、基準球46〜49の全てに対して行う。これにより、ロボット座標系Rから見た基準球46〜49の中心座標値Rp(i=1−4)を取得することができる。この処理は、上述の実施形態1、2において、手先カメラ8で取得した画像から、ロボット座標系Rにおける基準マーカ41〜44の中心座標値を求める処理と同等である。
【0113】
図15において、基準球46〜49とロボット間の相対位置姿勢を算出する処理(S403)は、実施形態1、図8のステップS203と同じ内容である。ここでは、マーカ座標系Mとロボット座標系Rの間で座標変換を行うための校正データを取得する。
【0114】
再び図14において、オンライン作業(S303〜S305)は、図5のオンライン作業(S104〜S106)と同等である。このオンライン作業(S303〜S305)では、ワーク(51)と基準球46〜49を固定カメラ2で撮影し、マーカ座標系Mにおけるワーク(51)の位置姿勢を取得する(S303)。そして、マーカ座標系Mとロボット座標系Rの間で座標変換を行い、ロボット座標系Rにおけるワーク(51)の実際位置を取得し(S304)、ロボットアーム11の位置姿勢を補正して、所期のロボット動作を行う。
【0115】
以上のように、本実施形態では、ロボット装置1の架台4と固定の位置関係で配置される基準マーカに、プローブ計測可能な立体(球体)形状を用いている。そして、3次元測定装置として、ロボットアームに装着したプローブを用いる。このような構成においても、実施例1、2と同様にマーカ座標系Mとロボット座標系Rの間で座標変換を行うための校正データを精度よく取得することができる。そして、この校正データを用いて固定カメラ2による撮影結果からロボット座標系Rにおけるワークの位置姿勢を精度よく取得することができる。本実施形態によれば、固定カメラ2の振動や変位が生じていても、座標演算は、予めロボット座標系Rとの関係が正確に校正されたマーカ座標系Mを介して行われる。このため、固定カメラ2のカメラスタンドをワークの搬送装置に固定するような安価かつ簡便な構成であっても、固定カメラ2の振動や変位に影響されることなく、高精度なロボット制御が可能となる。
【0116】
なお、本実施形態では、ロボット装置1の架台4と固定の位置関係で配置される基準マーカに、プローブ計測可能な球体形状を採用している。このような球状の基準マーカを架台4に配置する場合、図15に示したように、架台4の上面よりも球体の最大外径が上にくるように配置するほうが好ましい。例えば、基準マーカは、その球体の赤道部分が架台4の上面よりも上方に露出するよう設置する。このような基準マーカの配置構成によれば、固定カメラ2で基準マーカを撮影する際に、必ず球体の最大外径が視野内に入ることになる。従って、画像処理で球体のエッジを抽出する際に、常に最大外径部を基準マーカのエッジとして検出することができる。そして、例えばこの基準マーカのエッジを楕円フィットする処理によって、極めて精度よく、球体中心を計測することができる。また、プローブ治具10の代わりに、フィンガ121、122を直接、基準球46〜49に接触させて基準球46〜49を直接、3次元計測する構成を用いてもよい。その場合には、プローブ治具10の把持誤差の影響を削減し、プローブ治具10を省略できる利点がある。
【0117】
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0118】
1…ロボット装置、2…固定カメラ、4…架台、6…ロボット制御装置、7…画像処理装置、8…手先カメラ、11…ロボットアーム、12…ロボットハンド、31…カメラスタンド、41〜44…基準マーカ、51…ワーク。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15