(57)【要約】【課題】本発明は、三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われる座標系のキャリブレーションの精度を向上させることが可能な技術を提供することを目的とする。【解決手段】本発明に係るキャリブレーション方法は、実空間における三次元単眼カメラのレンズ面頂から所定の測定点までの距離である測定点距離を画像データに基づいて算出する距離算出ステップを有する。そして、距離算出ステップにおいて算出された測定点距離に基づいて、所定の測定点についてのカメラ座標系における位置情報を算出する。さらに、所定の測定点についてのカメラ座標系における位置情報と、該所定の測定点についてのロボットアーム座標系における位置情報とに基づいて、これらの位置情報を変換するための変換パラメータを算出する。【選択図】図９
2020069549.tif 000002
【特許請求の範囲】
【請求項１】
三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われるキャリブレーション方法であって、該三次元単眼カメラの座標系であるカメラ座標系における位置情報を、該ロボットアームの制御のための座標系であるロボットアーム座標系における位置情報に変換するための変換パラメータを求めるためのキャリブレーション方法において、
実空間における前記三次元単眼カメラのレンズ面頂から所定の測定点までの距離である測定点距離を前記画像データに基づいて算出する距離算出ステップと、
前記距離算出ステップにおいて算出された前記測定点距離に基づいて、前記所定の測定点についての前記カメラ座標系における位置情報を算出するカメラ座標算出ステップと、
前記所定の測定点についての前記ロボットアーム座標系における位置情報を取得するロボットアーム座標取得ステップと、
前記所定の測定点についての、前記カメラ座標系における位置情報および前記ロボットアーム座標系における位置情報に基づいて、前記変換パラメータを算出する変換パラメータ算出ステップと、を有するキャリブレーション方法。
【請求項２】
前記所定の測定点が、測定点間の距離である二点間距雛が予め定められている複数の測定点が形成されたキャリブレーションプレートにおける測定点であって、
前記画像データが、前記三次元単眼カメラによって前記キャリブレーションプレートを撮像することで得られるデータであり、
前記距離算出ステップでは、前記所定の測定点についての前記測定点距離を、前記画像データ、および、前記キャリブレーションプレートにおける該所定の測定点と他の測定点との間の二点間距離に基づいて算出する請求項１に記載のキャリブレーション方法。
【請求項３】
前記距離算出ステップでは、前記所定の測定点についての前記測定点距離を、前記画像データ、および、前記画像データ以外の情報を用いる所定の距離測定方法によって該所定の測定点について測定された前記測定点距離の基準値に基づいて算出する請求項１または２に記載のキャリブレーション方法。
【請求項４】
対象物を撮像する三次元単眼カメラと、
前記三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームであって、請求項１から３のいずれか一項に記載のキャリブレーション方法によって座標系のキャリブレーションが行われるロボットアームと、を備える把持システムであって、
前記ロボットアームは、複数の指部が設けられたハンド機構を有し、
前記三次元単眼カメラによって撮像された画像データに基づいて、前記ロボットアームを制御することで、前記ハンド機構によって前記対象物を把持する把持システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われるキャリブレーション方法、および、該キャリブレーション方法が適用される把持システムに関する。
【背景技術】
【０００２】
ロボットアームに設けられたハンド機構によって対象物を把持する把持システム等においては、三次元単眼カメラによって対象物を撮像することで取得された画像データに基づいて該ロボットアームを制御する場合がある。この場合、三次元単眼カメラの座標系（以下、「カメラ座標系」と称する場合もある。）における位置情報をロボットアームの制御のための座標系（以下、「ロボットアーム座標系」と称する場合もある。）における位置情報に変換する必要がある。そのため、このようなロボットアームの使用に際しては、カメラ座標系における位置情報をロボットアーム座標系における位置情報に変換するための変換パラメータを求めるべく、座標系のキャリブレーションが行われる。
【０００３】
また、特許文献１には、画像データ上における注目点の位置情報に基づいて実空間における位置情報を取得するためのキャリブレーション方法に関する技術が開示されている。この特許文献１に記載の技術では、実空間に設けられたフレームを構成する２つの直線の長さと、画像データ上でのピクセル長さとに基づいて、ピクセル位置情報を実際の位置情報に変換するための変換率が算出される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４２０５００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、ロボットアームに対して行われる座標系のキャリブレーションでは、カメラ座標系における位置情報をロボットアーム座標系における位置情報に変換するための変換パラメータを算出する。この変換パラメータの算出は、キャリブレーションのための基準点となる測定点についての、カメラ座標系における位置情報、および、ロボットアーム座標系における位置情報を用いて行われる。
【０００６】
そして、このときのカメラ座標系における位置情報は、実空間における、三次元単眼カメラのレンズ面頂（レンズの球面の頂点）から測定点までの距離（以下、「測定点距離」と称する場合もある。）に基づいて算出される。そのため、三次元単眼カメラにおいては、ＴｏＦ（Time of Flight）技術や光切断法等の距離測定技術を採用した測定装置によって測定点距離の測定が行われている。しかしながら、このような、画像データ以外の情報を用いて距離測定を行う測定装置によって測定点距離を測定した場合、その測定精度が不十分となる場合があった。そして、測定点距離の測定精度が不十分であると、座標系のキャリブレーションに用いるためのカメラ座標系における位置情報の精度も不十分となるため、該キャリブレーションを高精度で行うことが困難となる虞があった。また、ロボットアームに対して行われる座標系のキャリブレーションの精度が低いと、該ロボットアームを含む把持システムにおける対象物の把持動作の安定性が低下する虞があった。
【０００７】
本発明は、上記のような問題に鑑みてなされたものであって、三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われる座標系の
キャリブレーションの精度を向上させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るキャリブレーション方法は、
三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われるキャリブレーション方法であって、該三次元単眼カメラの座標系であるカメラ座標系における位置情報を、該ロボットアームの制御のための座標系であるロボットアーム座標系における位置情報に変換するための変換パラメータを求めるためのキャリブレーション方法において、
実空間における前記三次元単眼カメラのレンズ面頂から所定の測定点までの距離である測定点距離を前記画像データに基づいて算出する距離算出ステップと、
前記距離算出ステップにおいて算出された前記測定点距離に基づいて、前記所定の測定点についての前記カメラ座標系における位置情報を算出するカメラ座標算出ステップと、
前記所定の測定点についての前記ロボットアーム座標系における位置情報を取得するロボットアーム座標取得ステップと、
前記所定の測定点についての、前記カメラ座標系における位置情報および前記ロボットアーム座標系における位置情報に基づいて、前記変換パラメータを算出する変換パラメータ算出ステップと、を有する。
【発明の効果】
【０００９】
本発明によれば、三次元単眼カメラによって撮像された画像データに基づいて制御されるロボットアームに対して行われる座標系のキャリブレーションの精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施例に係る把持システムの概略構成を示す図である。
【図２】実施例に係るロボットアームの概略構成を示す図である。
【図３】実施例に係るハンド機構の斜視図である。
【図４】実施例に係るハンド機構の上面図である。
【図５】実施例に係る、アーム制御装置、ハンド制御装置、および、画像処理装置に含まれる各機能部を示すブロック図である。
【図６】実施例に係るキャリブレーションプレートの概略構成を示す図である。
【図７】画像データ上の二次元の位置情報を、カメラ座標系における三次元の位置情報に変換する方法について説明するための図である。
【図８】画像データに基づく測定点距離の算出方法について説明するための図である。
【図９】実施例に係る座標系のキャリブレーションのフローを示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明に係るキャリブレーション方法では、距離算出ステップにおいて、所定の測定点についての測定点距離が、三次元単眼カメラによって撮像された画像データに基づいて算出される。ここで、三次元単眼カメラによって撮像された画像データからは、例えば、所定の測定点についてのピクセル座標（三次元単眼カメラの画像センサ上の座標）等の位置情報を抽出することができる。そのため、画像データに基づいて所定の測定点についての測定点距離を算出することで、該測定点距離を高精度で算出することができる。そして、カメラ座標算出ステップでは、距離算出ステップにおいて算出された測定点距離に基づいて、所定の測定点についてのカメラ座標系における位置情報が算出される。その結果、所定の測定点についてのカメラ座標系における位置情報を高精度で取得することができる。そして、変換パラメータ算出ステップにおいて、高精度で取得されたカメラ座標系におけ
る位置情報とロボットアーム座標系における位置情報とに基づいて変換パラメータが算出される。これにより、ロボットアームに対して行われる座標系のキャリブレーションの精度を向上させることができる。また、座標系のキャリブレーションの精度が向上することで、ロボットアームを含む把持システムにおいて、より安定した把持動作を行うことが可能となる。
【００１２】
以下、本発明の具体的な実施例について図面に基づいて説明する。本実施例に記載されている構成部品の寸法、材質、形状、その相対配置等は、特に記載がない限りは発明の技術的範囲をそれらのみに限定する趣旨のものではない。
【００１３】
＜実施例１＞
（把持システム）
ここでは、本発明を、把持システムにおけるロボットアームに適用した場合について説明する。図１は、本実施例に係る把持システムの概略構成を示す図である。把持システム１００は、ロボットアーム１と、三次元単眼カメラ（以下、単に「カメラ」と称する。）８と、を含んでいる。カメラ８は、把持システム１００における把持の対象となる対象物１０の上方に位置するように設置されている。そして、カメラ８は、対象物１０の上方から該対象物１０を撮像する。なお、カメラ８は、必ずしも、対象物１０の上方に位置するように設置されている必要はなく、該対象物１０を所定の方向から撮像できるような位置に設置されていればよい。また、カメラ８は、ロボットアーム１に取り付けられていてもよい。また、カメラ８は、三次元カメラであり、レンズ面頂から所定の位置までの距離を測定可能な測定装置８ａを備えている。このようなカメラ８としては、ＴｏＦ（Time of Flight）カメラを採用することができる。ただし、測定装置８ａは、ＴｏＦ技術を用いた装置に限られるものではなく、例えば、光切断法を用いて距離測定を行う装置であってもよい。なお、カメラ８は、二次元単眼カメラと、レンズ面頂から所定の位置までの距離を測定可能な測定装置との組み合わせによって構成されてもよい。また、ロボットアーム１は、対象物１０を把持するためのハンド機構２、アーム機構３、および台座部４を備えている。ここで、ロボットアーム１の詳細な構成について説明する。
【００１４】
（アーム機構）
図２は、ロボットアーム１の概略構成を示す図である。図２に示すように、ロボットアーム１においては、アーム機構３の一端にハンド機構２が取り付けられている。また、アーム機構３の他端は台座部４に取り付けられている。アーム機構３は、第１アームリンク部３１、第２アームリンク部３２、第３アームリンク部３３、第４アームリンク部３４、第５アームリンク部３５、および接続部材３６を備えている。そして、ハンド機構２のベース部２０が、アーム機構３の第１アームリンク部３１の一端側に形成された第１関節部３０ａに接続されている。第１関節部３０ａには、第１アームリンク部３１に対してハンド機構２を該第１アームリンク部３１の軸周りに回転させるためのモータ（図示略）が設けられている。第１アームリンク部３１の他端側は、第２関節部３０ｂで第２アームリンク部３２の一端側に接続されている。第１アームリンク部３１と第２アームリンク部３２とはその中心軸が垂直に交わるように接続されている。そして、第２関節部３０ｂには、第２アームリンク部３２に対して、第１アームリンク部３１を、その他端側を中心に該第２アームリンク部３２の軸周りに回転させるためのモータ（図示略）が設けられている。また、第２アームリンク部３２の他端側は、第３関節部３０ｃで第３アームリンク部３３の一端側に接続されている。第３関節部３０ｃには、第３アームリンク部３３に対して第２アームリンク部３２を相対的に回転させるためのモータ（図示略）が設けられている。
【００１５】
同じように、第３アームリンク部３３の他端側は、第４関節部３０ｄで第４アームリンク部３４の一端側に接続されている。また、第４アームリンク部３４の他端側は、第５関節部３０ｅで第５アームリンク部３５に接続されている。そして、第４関節部３０ｄには
、第４アームリンク部３４に対して第３アームリンク部３３を相対的に回転させるためのモータ（図示略）が設けられている。また、第５関節部３０ｅには、第５アームリンク部３５に対して第４アームリンク部３４を相対的に回転させるためのモータ（図示略）が設けられている。さらに、第５アームリンク部３５は、台座部４から垂直に配置された接続部材３６に第６関節部３０ｆで接続されている。第５アームリンク部３５と接続部材３６とは、それぞれの中心軸が同軸となるように接続されている。そして、第６関節部３０ｆには、第５アームリンク部３５を、該第５アームリンク部３５および接続部材３６の軸回りに回転させるためのモータ（図示略）が設けられている。アーム機構３をこのような構成とすることで、該アーム機構３を６自由度の自由度を有する機構とすることができる。
【００１６】
（ハンド機構）
次に、ハンド機構２の構成について説明する。図３はハンド機構２の斜視図である。図４はハンド機構２の上面図である。なお、図４において、矢印は、各指部２１の回転可動範囲を示している。ハンド機構２は、アーム機構３に接続されるベース部２０と、該ベース部２０に設けられた４本の指部２１とを備えている。また、図３および図４に示すように、ハンド機構２においては、ベース部２０に４本の指部２１が、ハンド機構２の長手方向（図４において紙面に垂直な方向）の軸を中心とした円周上に、等角度間隔（すなわち９０ｄｅｇ間隔）に配置されている。また、４本の指部２１は全て同一の構造を有し且つ同一の長さである。但し、各指部２１の動作は、それぞれ独立して制御される。
【００１７】
各指部２１は、第１指リンク部２１１、第２指リンク部２１２、および基端部２１３を有している。そして、図３に示すように、指部２１の基端部２１３がベース部２０に接続されている。ここで、基端部２１３は、図４において矢印で示すように、ベース部２０に対して指部２１の長手方向（図４において紙面に垂直な方向）の軸回りに回転可能に接続されている。そして、ベース部２０の内部には、ベース部２０に対して基端部２１３を回転駆動させるためのモータ（図示略）が設けられている。
【００１８】
また、指部２１において、基端部２１３に第２指リンク部２１２の一端が接続されている。そして、この第２指リンク部２１２と基端部２１３との接続部に第２関節部２３が形成されている。さらに、指部２１においては、第２指リンク部２１２の他端に第１指リンク部２１１の一端が接続されている。そして、この第１指リンク部２１１と第２指リンク部２１２との接続部に第１関節部２２が形成されている。なお、第１関節部２２および第２関節部２３はいずれも屈曲および伸展可能に形成されている。そして、第２関節部２３において、基端部２１３に対して第２指リンク部２１２を相対的に回転させることで、該第２関節部２３を屈曲または伸展させるためのモータ（図示略）が、ベース部２０の内部に設けられている。また、第１関節部２２において、第２指リンク部２１２に対して第１指リンク部２１１を相対的に回転させることで、該第１関節部２２を屈曲または伸展させるためのモータ（図示略）が、第２指リンク部２１２の内部に設けられている。
【００１９】
また、図３に示すように、本実施例では、指部２１の第１指リンク部２１１の先端側に感圧センサ７０が設けられている。感圧センサ７０は、第１指リンク部２１１の先端部に作用する外力（圧力）を検出するセンサである。
【００２０】
（台座部）
次に、台座部４に内蔵された、アーム制御装置４２、ハンド制御装置４３、および画像処理装置４４の構成について図５に基づいて説明する。アーム制御装置４２はロボットアーム１のアーム機構３を制御するための制御装置である。ハンド制御装置４３はロボットアーム１のハンド機構２を制御するための制御装置である。画像処理装置４４はカメラ８によって対象物１０が撮像されることで取得される画像データを処理するための処理装置である。図５は、アーム制御装置４２、ハンド制御装置４３、および画像処理装置４４に
含まれる各機能部を示すブロック図である。
【００２１】
アーム制御装置４２は、アーム機構３の各関節部に設けられたモータを駆動するための駆動信号を生成する複数のドライバを含み、各ドライバからの駆動信号が対応する各モータに供給されるように構成される。また、アーム制御装置４２は、演算処理装置及びメモリを有するコンピュータを含んでいる。そして、アーム制御装置４２は、機能部として、アーム制御部４２０およびモータ状態量取得部４２１を有している。これらの機能部は、アーム制御装置４２に含まれるコンピュータにおいて所定の制御プログラムが実行されることで形成される。
【００２２】
アーム制御部４２０は、ハンド制御装置４３が有する機能部である後述の制御情報生成部４３０によって生成された制御情報に基づいて各ドライバから駆動信号を供給することで、アーム機構３の各関節部３０ａ、３０ｂ、３０ｃ、３０ｄ、３０ｅ、３０ｆに設けられたモータを制御する。そして、アーム制御部４２０は、各モータを制御することでアーム機構３を動かし、それによって、ハンド機構２の位置を所望の位置（ハンド機構２によって対象物１０を把持することが可能な位置）に移動させる。また、アーム機構３の各関節部３０ａ、３０ｂ、３０ｃ、３０ｄ、３０ｅ、３０ｆに設けられたモータには、それぞれの回転状態に関する状態量（モータの回転軸の回転位置や回転速度等）を検出するエンコーダ（図示略）が設けられている。そして、各モータのエンコーダによって検出された各モータの状態量が、アーム制御装置４２のモータ状態量取得部４２１に入力される。そして、アーム制御部４２０は、モータ状態量取得部４２１に入力された各モータの状態量に基づいて、ハンド機構２が所望の位置に移動するように各モータをサーボ制御する。
【００２３】
また、ハンド制御装置４３は、ハンド機構２に設けられた各モータを駆動するための駆動信号を生成する複数のドライバを含み、各ドライバからの駆動信号が対応する各モータに供給されるように構成される。また、ハンド制御装置４３は、演算処理装置及びメモリを有するコンピュータを含んでいる。そして、ハンド制御装置４３は、機能部として、制御情報生成部４３０、ハンド制御部４３１、モータ状態量取得部４３２、およびセンサ情報取得部４３３を有している。これらの機能部は、ハンド制御装置４３に含まれるコンピュータにおいて所定の制御プログラムが実行されることで形成される。
【００２４】
制御情報生成部４３０は、画像処理装置４４から取得する対象物情報（ハンド機構２よって把持すべき対象物に関する情報）に基づいて、アーム機構３およびハンド機構２を制御するための制御情報を生成する。また、ハンド制御部４３１は、制御情報生成部４３０によって生成された制御情報に基づいて各ドライバから駆動信号を供給することで、ハンド機構２の各指部２１を駆動させる各モータを制御する。これにより、ハンド機構２の複数の指部２１によって対象物１０が把持される。また、ハンド機構２の各モータには、それぞれの回転状態に関する状態量（モータの回転軸の回転位置や回転速度等）を検出するエンコーダ（図示略）が設けられている。そして、各モータのエンコーダによって検出された各モータの状態量が、ハンド制御装置４３のモータ状態量取得部４３２に入力される。そして、ハンド制御部４３１は、ハンド機構２によって対象物１０を把持する際に、モータ状態量取得部４３２に入力された各モータの状態量に基づいて、各指部２１における各モータをサーボ制御する。これにより、複数の指部２１によって対象物１０が挟み込まれ把持される。
【００２５】
さらに、ハンド制御装置４３はセンサ情報取得部（図示略）を有している。センサ情報取得部には、ハンド機構２の各指部２１の第１指リンク部２１１に設けられた感圧センサ７０の検出値が入力される。そして、ハンド制御部４３１は、各感圧センサ７０によって、各指部２１の対象物への接触が検知された場合に、その検知信号に基づいて各指部２１における各モータ５１、５２、５３を制御することもできる。
【００２６】
なお、図５では、把持システム１００に含まれる制御装置として、アーム制御装置４２とハンド制御装置４３とが区別して示されているが、別法として、各機能部が、両装置が一体化された一の制御装置内に形成される構成を採用することもできる。また、把持システムに含まれる制御装置が、アーム制御装置４２とハンド制御装置４３とに区別される場合でも、図５に示す各機能部は、技術的な齟齬が生じない限りにおいて実質的に何れかの制御装置内に形成されればよく、必要に応じてアーム制御装置４２とハンド制御装置４３との間で適切な情報の授受を行うことができる。また、アーム制御装置４２またはハンド制御装置４３における各機能部のうちの一部が、アーム制御装置４２およびハンド制御装置４３とは別体の制御装置内に形成される構成を採用することもできる。
【００２７】
画像処理装置４４は、演算処理装置及びメモリを有するコンピュータを含んでいる。そして、画像処理装置４４は、機能部として、画像データ取得部４４０、画像データ処理部４４１を有している。これらの機能部は、画像処理装置４４に含まれるコンピュータにおいて所定の制御プログラムが実行されることで形成される。画像データ取得部４４０は、カメラ８から、対象物１０を撮像することで得られた画像データを取得する。また、画像データ処理部４４１は、画像データ取得部４４０によって取得された画像データに対して所定の処理を行うことで、対象物１０に関する対象物情報を生成する。そして、画像データ処理部４４１によって生成された対象物情報がハンド制御装置４３に入力される。なお、図５では、画像処理装置４４が、アーム制御装置４２とハンド制御装置４３とは区別して示されているが、別法として、各機能部が、各装置が一体化された一の制御装置内に形成される構成を採用することもできる。
【００２８】
（位置情報の座標変換）
上記のような構成の把持システム１００では、カメラ８によって対象物１０を撮像することで得られた画像データに基づいて、ロボットアーム１が制御され、ハンド機構２によって該対象物１０が把持される。このときの、把持システム１００におけるデータの処理手順について以下に説明する。
【００２９】
カメラ８から取得された画像データを画像処理装置４４の画像データ処理部４４１において処理することで生成される対象物情報には対象物１０の位置情報が含まれている。ただし、ここで生成される対象物１０の位置情報は、カメラ８の座標系であるカメラ座標系における位置情報である。ロボットアーム１を制御するためには、カメラ座標系における位置情報を、該ロボットアーム１を制御するための座標系であるロボットアーム座標系（すなわち、アーム制御部４２０によってアーム機構３の各モータを制御するとき、および、ハンド制御部４３１によってハンド機構２の各モータを制御するときに用いる座標系）における位置情報に変換する必要がある。そこで、ハンド制御装置４３の制御情報生成部４３０においては、カメラ座標系における位置情報をロボットアーム座標系における位置情報に変換する座標変換処理が行われる。
【００３０】
このとき、座標変換処理は下記式Ａに基づいて行われる。
2020069549.tif 000003
ただし、
ＸＲ：ロボットアーム座標系におけるＸ座標成分
ＹＲ：ロボットアーム座標系におけるＹ座標成分
ＺＲ：ロボットアーム座標系におけるＺ座標成分
Ｒ１１〜Ｒ３３：変換パラメータの回転成分
Ｔ１〜Ｔ３：変換パラメータの並進成分
ＸＣ：カメラ座標系におけるＸ座標成分
ＹＣ：カメラ座標系におけるＹ座標成分
ＺＣ：カメラ座標系におけるＺ座標成分
【００３１】
上記式Ａのカメラ座標系における各座標成分ＸＣ、ＹＣ、ＺＣが画像処理装置４４から入力されるカメラ座標系における対象物１０の位置情報である。また、上記式ＡにおけるＲ１１〜Ｒ３３、Ｔ１〜Ｔ３が、カメラ座標系における位置情報をロボットアーム座標系における位置情報に変換するための変換パラメータである。ここで、位置情報における並進方向はＸ軸方向、Ｙ軸方向、Ｚ軸方向の３方向であるため、変換パラメータの並進成分はＴ１〜Ｔ３（３要素）となる。一方、変換パラメータの回転成分は、三次元での回転行列から得られることから、Ｒ１１〜Ｒ３３（９要素）となる。そして、上記式Ａのカメラ座標系における各座標成分ＸＲ、ＹＲ、ＺＲがロボットアーム座標系における対象物１０の位置情報である。
【００３２】
（座標系のキャリブレーション）
上記のような座標変換処理によってカメラ座標系における位置情報をロボットアーム座標系における位置情報に変換することで、カメラ８から取得された画像データに基づいてロボットアーム１を制御することが可能となる。ただし、座標変換処理を行うためには、上記式Ａに示すような変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３が予め設定されている必要がある。そこで、把持システム１００の使用に際しては、変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３を算出すべく、ロボットアーム１に対して座標系のキャリブレーションが行われる。以下、本実施例に係る、ロボットアーム１に対して行われる座標系のキャリブレーション方法について説明する。
【００３３】
図６は、本実施例に係る座標系のキャリブレーションを実施する際に用いられるキャリブレーションプレートの概略構成を示す図である。このキャリブレーションプレートプレート２００には、６つの測定点Ｐ１〜Ｐ６が形成されている。キャリブレーションプレート２００において、各測定点Ｐ１〜Ｐ６の相対的な位置関係は予め定められている。つまり、いずれの測定点についても、測定点間の距離である二点間距離が予め定められている。
【００３４】
そして、座標系のキャリブレーションを実施する際には、所定の位置に配置されたキャリブレーションプレート２００をカメラ８によって撮像することで、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を取得する。具体的には、画像処理装置４４が、カメラ８によってキャリブレーションプレート２００を撮像することで得られた画像データを画像データ取得部４４０によって取得する。そして、画像処理装置４４において、画像データ処理部４４１が、画像データ取得部４４０によって取得された画像データに対して位置情報算出処理を行うことで、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報が算出される。なお、位置情報算出処理の詳細については後述する。
【００３５】
さらに、所定の位置に配置されたキャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６に、ハンド機構２の４本の指部２１のうちの所定の指部の第１指リンク部２１１の先端部（すなわち、感圧センサ７０）を接触させることで、各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系における位置情報を取得する。なお、別法としては、キャリブレーション用のプローブをアーム機構３に取り付けて、キャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６に該プローブを接触させることで、各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系における位置情報を取得してもよい。このようにして取得される、キャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６についてのカ
メラ座標系における位置情報およびロボットアーム座標系における位置情報により、下記式Ｂのような連立方程式を立てることができる。そして、下記式Ｂを解くことで、変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３を算出することができる。
2020069549.tif 000004
ただし、
ＸＣ１〜ＸＣ６：各測定点Ｐ１〜Ｐ６についてのカメラ座標系におけるＸ座標成分
ＹＣ１〜ＹＣ６：各測定点Ｐ１〜Ｐ６についてのカメラ座標系におけるＹ座標成分
ＺＣ１〜ＺＣ６：各測定点Ｐ１〜Ｐ６についてのカメラ座標系におけるＺ座標成分
ＸＲ１〜ＸＲ６：各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系におけるＸ座標成分
ＹＲ１〜ＹＲ６：各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系におけるＹ座標成分
ＺＲ１〜ＺＲ６：各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系におけるＺ座標成分
【００３６】
なお、キャリブレーションを実施する際に、カメラ座標系における位置情報およびロボットアーム座標系における位置情報を取得すべき測定点は、必ずしも上記のように６つである必要はない。変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３は全部で１２変数であるため、少なくとも、４つの測定点についてのカメラ座標系における位置情報およびロボットアーム座標系における位置情報を取得すれば、１２変数の変換パラメータを算出するための連立方程式を立てることができる。ただし、より多くの測定点についてのカメラ座標系における位置情報およびロボットアーム座標系における位置情報に基づいて連立方程式を立てることで、変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３をより高精度で求めることが可能となる。
【００３７】
また、図６に示すような６つの測定点が形成されたキャリブレーションプレート２００をキャリブレーションのために用いる場合であっても、該キャリブレーションプレート２００の配置位置を変更し、６つの測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報およびロボットアーム座標系における位置情報を配置位置毎に取得することで、実質的に１２個以上の測定点について各位置情報を取得することができる。
【００３８】
（位置情報算出処理）
ここで、キャリブレーションプレート２００の各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を画像テータに基づいて算出するための処理である位置情報算出処理について説明する。図７は、所定の測定点Ｐについて、画像データ上の二次元の位置情報を、カメラ座標系における三次元の位置情報に変換する方法について説明するための図である。カメラ８によって所定の測定点Ｐを含む画像を撮像することで得られた画像デー
タからは、該所定の測定点Ｐについての画像センサ上における二次元の座標であるピクセル座標（ｕｃ,ｖｃ）を取得することができる。そして、所定の測定点Ｐについてのカメ
ラ座標系における位置情報は、所定の測定点Ｐについてのピクセル座標（ｕｃ,ｖｃ）に
基づいて下記式Ｃ〜Ｅにより算出することができる。
2020069549.tif 000005
ただし、
ＸＣ：所定の測定点Ｐについてのカメラ座標系におけるＸ座標成分
ＹＣ：所定の測定点Ｐについてのカメラ座標系におけるＹ座標成分
ＺＣ：所定の測定点Ｐについてのカメラ座標系におけるＺ座標成分
ｕＣ：所定の測定点ＰについてのカメラにおけるＸ軸方向のピクセル座標
ｖＣ：所定の測定点ＰについてのカメラにおけるＹ軸方向のピクセル座標
ｄ：所定の測定点Ｐの測定点距離
θ：所定の測定点Ｐの半画角
【００３９】
ここで、所定の測定点Ｐの測定点距離ｄとは、カメラ８のレンズ面頂（レンズの球面の頂点）から該所定の測定点Ｐまでの距離である。この測定点距離ｄは、カメラ８に設けられた測定装置８ａによって測定することができる。ただし、測定装置８ａによって測定点距離ｄを測定する場合、該測定装置８ａの性能によっては、その測定精度が不十分となる場合がある。そして、測定点距離の測定精度が不十分であると、上記式Ｃ〜Ｅによって求められるカメラ座標系における位置情報の精度も不十分となる虞がある。
【００４０】
そこで、本実施例に係る位置情報算出処理では、キャリブレーションプレート２００の各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を算出する際に、各測定点Ｐ１〜Ｐ６についての測定点距離を画像データに基づいて算出する。図８は、画像データに基づく測定点距離の算出方法について説明するための図である。ここでは、キャリブレーションプレート２００における測定点Ｐ１〜Ｐ３についての測定点距離ｄ１〜ｄ３を算出する場合を例にあげて説明する。
【００４１】
上述したように、キャリブレーションプレート２００においては二点間距離が予め定められている。ここで、図８に示すように、測定点Ｐ１と測定点Ｐ２との二点間距離をＨ１とし、測定点Ｐ２と測定点Ｐ３との二点間距離をＨ２とし、測定点Ｐ３と測定点Ｐ１との二点間距離をＨ３とすると、下記式Ｆ〜Ｈが成立する。
2020069549.tif 000006
ただし、
2020069549.tif 000007
ｄ１、ｄ２、ｄ３：測定点Ｐ１、Ｐ２、Ｐ３についての測定点距離
ｕ１、ｕ２、ｕ３：測定点Ｐ１、Ｐ２、Ｐ３についてのカメラにおけるＸ軸方向のピクセル座標
ｖ１、ｖ２、ｖ３：測定点Ｐ１、Ｐ２、Ｐ３についてのカメラにおけるＹ軸方向のピクセル座標
θ１、θ２、θ３：測定点Ｐ１、Ｐ２、Ｐ３についての半画角
【００４２】
ただし、上記式Ｆ〜Ｈを満たすような測定点距離ｄ１〜ｄ３の値は複数存在する。そこで、本実施例では、先ず、カメラ８に設けられた測定装置８ａによって測定された測定点Ｐ１、Ｐ２、Ｐ３についての測定点距離を、該測定点距離の基準値ｄ１ｂ、ｄ２ｂ、ｄ３ｂとして設定する。さらに、測定点Ｐ１、Ｐ２、Ｐ３についての測定点距離の候補値ｄ１´、ｄ２´、ｄ３´を任意に設定する。そして、各候補値ｄ１´、ｄ２´、ｄ３´を上記式Ｆ〜Ｈに代入したときにおける各式Ｆ〜Ｈの左辺の値と右辺の値との誤差を算出する。このとき、各候補値ｄ１´、ｄ２´、ｄ３´の値を変更しながら、それぞれの値に対する各式Ｆ〜Ｈの左辺の値と右辺の値との誤差を算出する。そして、各式Ｆ〜Ｈの左辺の値と右辺の値との誤差が最小となる候補値ｄ１´、ｄ２´、ｄ３´であって、且つ、測定点距離の基準値ｄ１ｂ、ｄ２ｂ、ｄ３ｂに最も近い値である候補値ｄ１´、ｄ２´、ｄ３´を、測定点Ｐ１、Ｐ２、Ｐ３についての測定点距離ｄ１〜ｄ３の最適解として算出する。
【００４３】
本実施例では、上記と同様の方法で、キャリブレーションプレート２００における測定点Ｐ１〜Ｐ３に加え、測定点Ｐ４〜Ｐ６についての測定点距離を算出する。このように、二点間距離が予め定められているキャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６についての測定点距離を画像データに基づいて算出することで、該測定点距離を高精度で算出することができる。また、カメラ８に設けられた測定装置８ａによって測定された測定点距離を、該測定点距離の基準値として該測定点距離の候補値の評価のために用いることで、該測定点距離の最適解をより速やかに算出することができる。
【００４４】
さらに、本実施例に係る位置情報算出処理では、上記のような方法で算出された各測定点Ｐ１〜Ｐ６についての測定点距離の最適解を上記式Ｃ〜Ｅに代入することで、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を算出する。つまり、測定装置８ａによって測定された測定点距離の値をそのまま用いずに、上記のように画像データを用いて算出された測定点距離に基づいて各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を算出する。これにより、より精度の高い測定点距離に基づいて位置情報が算出されることになる。そのため、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報を高精度で取得することができる。
【００４５】
（キャリブレーションフロー）
本実施例に係る座標系のキャリブレーションのフローについて図９に基づいて説明する。図９は、本実施例に係る座標系のキャリブレーションのフローを示すフローチャートである。本フローは、画像処理装置４４によって実行される。
【００４６】
本フローでは、先ずＳ１０１において、上述したような方法で、カメラ８によってキャリブレーションプレート２００を撮像することで得られた画像データに基づいて、該キャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６についての測定点距離（測定点距離の最適解）が算出される。次に、Ｓ１０２において、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報が算出される。具体的には、Ｓ１０１で算出された各測定点Ｐ１〜Ｐ６についての測定点距離を上記式Ｃ〜Ｅに代入することで、各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報が算出される。なお、Ｓ１０１およびＳ１０２において実行される処理が位置情報算出処理に相当する。
【００４７】
次に、Ｓ１０３において、各測定点Ｐ１〜Ｐ６についてのロボットアーム座標系における位置情報が取得される。次に、Ｓ１０４において、Ｓ１０２で算出されたカメラ座標系における位置情報、および、Ｓ１０３で取得されたロボットアーム座標系における位置情報に基づいて、変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３が算出される。具体的には、キャリブレーションプレート２００における各測定点Ｐ１〜Ｐ６についてのカメラ座標系における位置情報およびロボットアーム座標系における位置情報に基づいて立てられる上記式Ｂのような連立方程式を解くことで、変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３が算出される。なお、算出された変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３は、ハンド制御装置４３の記憶部に記憶される。そして、ハンド制御装置４３の記憶部に記憶された変換パラメータＲ１１〜Ｒ３３、Ｔ１〜Ｔ３を用いて、制御情報生成部４３０における座標変換処理が行われる。
【００４８】
上記フローによれば、高精度で取得されたカメラ座標系における位置情報とロボットアーム座標系における位置情報とに基づいて変換パラメータが算出される。これにより、ロボットアーム１に対して行われる座標系のキャリブレーションの精度を向上させることができる。また、座標系のキャリブレーションの精度が向上することで、把持システム１００において、ロボットアーム１に設けられたハンド機構２によって対象物をより安定して把持することが可能となる。
【００４９】
なお、上記の位置情報算出処理において、測定点距離を算出する際に用いる該測定点距離の基準値としては、カメラ８に設けられた測定装置８ａによって測定された測定点距離を用いた。しかしながら、測定点距離の基準値はこのような値に限られるものではない。例えば、座標系のキャリブレーションを実施する際の、カメラ８およびキャリブレーションプレート２００それぞれの配置位置が予め定められているのであれば、この配置位置に基づいて算出される測定点距離を該測定点距離の基準値として用いてもよい。
【符号の説明】
【００５０】
１・・・ロボットアーム、２・・・ハンド機構、８・・・カメラ、２０・・・ベース部、２１・・・指部、２２・・・第１関節部、２３・・・第２関節部、２１１・・・第１指リンク部、２１２・・・第２指リンク部、２１３・・・基端部、３・・・アーム機構、３０ａ・・・第１関節部、３０ｂ・・・第２関節部、３０ｃ・・・第３関節部、３０ｄ・・・第４関節部、３０ｅ・・・第５関節部、３０ｆ・・・第６関節部、３１・・・第１アームリンク部、３２・・・第２アームリンク部、３３・・・第３アームリンク部、３４・・・第４アームリンク部、３５・・・第５アームリンク部、３６・・・接続部材、４・・・台座部、４２・・・アーム制御装置、４２０・・・アーム制御部、４２１・・・モータ状態量取得部、４３・・・ハンド制御装置、４３０・・・制御情報生成部、４３１・・・ハンド制御部、４３２・・・モータ状態量取得部、４４・・・画像処理装置、４４０・・・画像データ取得部、４４１・・・画像データ処理部、７０・・・感圧センサ、１００・・・把持システム、２００・・・キャリブレーションプレート
【図１】
2020069549.tif 000008
【図２】
2020069549.tif 000009
【図３】
2020069549.tif 000010
【図４】
2020069549.tif 000011
【図５】
2020069549.tif 000012
【図６】
2020069549.tif 000013
【図７】
2020069549.tif 000014
【図８】
2020069549.tif 000015
【図９】
2020069549.tif 000016