(57)【特許請求の範囲】
【請求項１】
第一マークを付された第一可動コンポーネントと、
第二マークを付された第二可動コンポーネントと、
制御情報に基づいて３次元座標系において前記第一及び第二可動コンポーネントそれぞれを制御する制御部と、
前記第一及び第二マークのそれぞれを撮像することにより画像データを出力するデジタルカメラと、
互いに異なる位置に制御された前記第一及び第二マークがそれぞれ撮像された前記画像データと前記制御情報とに基づいて前記画像データの２次元座標系と前記３次元座標系とを対応付ける変換パラメーターを生成するキャリブレーターと、
を備えるロボットシステム。
【請求項２】
前記キャリブレーターは、互いに異なる６つの位置に制御された前記第一及び第二マークが撮像された前記画像データに基づいて前記変換パラメーターを生成する、
請求項１に記載のロボットシステム。
【請求項３】
前記２次元座標系での前記マークの座標を（xi，yi）（i=1，2，...，6）、前記３次元座標系での前記マークの座標を（Ｘi，Ｙi，Ｚi）とし、前記２次元座標系と前記３次元座標系との対応関係を次式で表すとき、
【数１】
0005928114.tif 000011
次式で表される行列の固有ベクトルｍ=(M11，...，M34)を前記変換パラメーターとする、
【数２】
0005928114.tif 000012
請求項２に記載のロボットシステム。
【請求項４】
第一及び第二マークを付された第一及び第二可動コンポーネントを制御情報に基づいて３次元座標系において動かし、
前記第一及び第二マークのそれぞれをデジタルカメラで撮像することにより画像データを取得し、
互いに異なる位置に制御された前記第一及び第二マークがそれぞれ撮像された前記画像データと前記制御情報とに基づいて前記画像データの２次元座標系と前記３次元座標系とを対応付ける、
ことを含むロボットシステムのキャリブレーション方法。
【請求項５】
第一マークを付された第一可動コンポーネントと、
第二マークを付された第二可動コンポーネントと、
制御情報に基づいて３次元座標系において前記第一及び第二可動コンポーネントそれぞれを制御する制御部と、
前記第一及び第二マークのそれぞれを撮像することにより画像データを出力するデジタルカメラと、を備え
互いに異なる位置に制御された前記第一及び第二マークがそれぞれ撮像された前記画像データと前記制御情報とに基づいて前記画像データの２次元座標系と前記３次元座標系とを対応付ける変換パラメーターを生成するキャリブレーターによってキャリブレーションされるロボット。
【請求項６】
第一及び第二マークを付された第一及び第二可動コンポーネントを３次元座標系において制御するための制御情報を取得する制御情報取得部と、
前記第一及び第二マークを撮像することにより画像データを生成する撮像部と、
互いに異なる位置に制御された前記第一及び第二マークが撮像された画像データを前記撮像部から取得する画像データ取得部と、
前記第一及び第二マークがそれぞれ撮像された前記画像データと前記制御情報とに基づいて前記画像データの２次元座標系と前記３次元座標系とを対応付ける変換パラメーターを生成するキャリブレーターと、
を備えるロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットシステム、ロボットシステムのキャリブレーション方法、キャリブレ
ーション装置およびデジタルカメラに関する。
【背景技術】
【０００２】
従来、ワークをデジタルカメラで撮像しながらアームでワークを操作するロボットシス
テムが知られている。このようなシステムを稼働させるためには、デジタルカメラから出
力される画像データの座標系とアームを制御する座標系とを対応付けるキャリブレーショ
ンが必要になる。特許文献１には、ロボットのアームに特定の画像が形成されたパターン
板を把持させた状態でアームを動かしながらパターン板を撮像することによってキャリブ
レーションを実施する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−３５８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載されているようにキャリブレーション用のパターン板を用い
る場合には、ロボットシステムのユーザーがパターン板を保管し、キャリブレーションの
度にパターン板を用意しなければならず、煩雑である。
【０００５】
本発明は、ロボットシステムのキャリブレーションを簡便にすることを目的の１つとす
る。
【課題を解決するための手段】
【０００６】
上記目的を達成するためのロボットシステムは、マークを付された可動コンポーネント
と、制御情報に基づいて３次元座標系において前記可動コンポーネントを制御する制御部
と、前記マークの可動範囲を撮像することにより画像データを出力するデジタルカメラと
、互いに異なる位置に制御された前記マークが撮像された前記画像データと前記制御情報
とに基づいて前記画像データの２次元座標系と前記３次元座標系とを対応付ける変換パラ
メーターを生成するキャリブレーターと、を備える。
本発明によると、マークが可動コンポーネントに付されているため、ユーザーがパター
ン部材を保管したり、キャリブレーションの度にパターン部材を用意したりする必要がな
い。したがってロボットシステムのキャリブレーションが簡便になる。
【０００７】
上記目的を達成するためのロボットシステムにおいて、前記キャリブレーターは、互い
に異なる６つの位置に制御された前記マークが撮像された前記画像データに基づいて前記
変換パラメーターを生成してもよい。
この構成を採用する場合、次のようにして前記２次元座標系と前記３次元座標系とを対
応付けることができる。すなわち、前記２次元座標系での前記マークの座標を（xi，yi）
（i=1，2，...，6）、前記３次元座標系での前記マークの座標を（Ｘi，Ｙi，Ｚi）とし
、m=(M11，...，M34)とし、前記２次元座標系と前記３次元座標系との対応関係を次式で
表すとき、
【数１】
0005928114.tif 000002
次式で表される行列の固有ベクトルｍ=(M11，...，M34)を前記変換パラメーターとするこ
とが可能である。
【数２】
0005928114.tif 000003
なお、本発明は、ロボットシステムのキャリブレーション方法としても、ロボットおよ
びデジタルカメラとは別体のキャリブレーション装置としても、キャリブレーション機能
を備えるデジタルカメラとしても成立する。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態にかかるブロック図である。
【図２】本発明の実施形態にかかる模式図である。
【図３】本発明の実施形態にかかるブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応
する構成要素には同一の符号が付され、重複する説明は省略される。
１．ロボットシステムの構成
図１は、本発明にかかるロボットシステム１００の構成を示すブロック図である。ロボ
ットシステム１００は、ＰＣ（Personal Computer）１０とロボット２０とデジタルカメ
ラ３０とを備えている。
【００１０】
ロボット２０は、可動コンポーネントである第一アーム２２、第二アーム２３と、制御
部２１とを備えている。第一アーム２２および第二アーム２３は、それぞれが複数のリン
ク、リンク間の回転機構、ハンド、複数のアクチュエーターおよび駆動回路を備える。第
一アーム２２の姿勢は第一アーム２２に備わる複数のリンクの姿勢によって決まる。すな
わち第一アーム２２の姿勢は、第一アーム２２に備わる各リンクの回転機構の回転角度θ
ｊ（ｊ＝１，２，３）によって決まる。また第二アーム２３の姿勢は、第二アーム２３に
備わる各リンクの回転機構の回転角度θｊによって決まる。第一アーム２２のリンクの表
面にはマーク２２ａが付されている。マーク２２ａは、光学的に認識可能な図形である。
制御部２１は、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力機構等を備えるコンピューターである。
制御部２１は、ＰＣ１０の出力部１０ｃから出力された命令群を実行することにより、デ
ジタルカメラ３０を用いてワークを認識しながらリンク間の回転機構のアクチュエーター
を制御し、第一アーム２２および第二アーム２３に、"ワークをつかむ"、"ワークを動か
す"、"ワークをはなす"といった操作を行わせる。また制御部２１は、ＲＯＭに記憶され
たキャリブレーションプログラムをＲＡＭにロードしてＣＰＵで実行することにより、デ
ジタルカメラ３０から画像データを取得しながら後述するキャリブレーションを実施する
。すなわち制御部２１はキャリブレーターとしても機能する。
【００１１】
デジタルカメラ３０は第一アーム２２および第二アーム２３の可動範囲を撮像可能な位
置に固定され、制御部２１と通信可能に接続されている。デジタルカメラ３０は図示しな
いエリアイメージセンサと光学系を含む撮像部と、撮像部から出力される画像データを補
正して出力するコンピューターとを備えている。
【００１２】
ＰＣ１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、入出力機構、ハードディスク装置等を備え、キ
ーボード１２、マウス１３、ディスプレイ１１等の操作装置に接続されている。ＰＣ１０
は、ハードディスク装置に記憶されたロボット制御プログラムをＲＡＭにロードしてＣＰ
Ｕで実行することにより、ユーザーインターフェース１０ａおよび出力部１０ｃとして機
能する。ユーザーインターフェース１０ａは、ディスプレイ１１にＧＵＩ（Graphical Us
er Interface）を表示してロボットティーチングのためのコマンドをユーザーから取得す
る。ロボットティーチングのためのコマンドは、キーボード１２およびマウス１３をユー
ザーが操作することによってＰＣ１０に入力される。出力部１０ｃはロボットティーチン
グのためのコマンドを制御部２１を制御するための命令群に変換し、命令群を制御部２１
に出力する。
【００１３】
２．ロボットシステムのキャリブレーション
以下に説明するロボットシステムのキャリブレーションは、デジタルカメラ３０が出力
する画像データの２次元座標系と、制御部２１が第一アーム２２および第二アーム２３を
制御するにあたって用いる３次元座標系とを対応付ける変換パラメーターを求める処理で
ある。具体的には、デジタルカメラ３０が出力する画像データに撮像されているマーク２
２ａの画素の位置に対応する２次元座標系の座標を（xi，yi）（i=1，2，...，6）とし、
制御部２１が第一アーム２２および第二アーム２３を制御するにあたって用いる制御情報
に対応する３次元座標系の座標を（Ｘi，Ｙi，Ｚi）とし、これらの２次元座標系と３次
元座標系との対応関係を次式（１）で表すと、変換パラメーターｍ：m=(M11，...，M34)
を求める処理がキャリブレーションに相当する。なお、ＳｉとＭ１１〜Ｍ３４はスカラー
である。
【数３】
0005928114.tif 000004
【００１４】
ここで式（１）には、Ｍ１１〜Ｍ３４の１２個の未知数がある。同じ位置を表す（xi，
yi）と（Ｘi，Ｙi，Ｚi）の１組を式（１）に代入すれば、２つの未知数を消去できるた
め、６つの異なる位置を表す（xi，yi）と（Ｘi，Ｙi，Ｚi）を６組取得すれば、１２個
の未知数(M11，...，M34)を解析的に求めることができる。
【００１５】
変換パラメーターｍを求めることによって、デジタルカメラ３０が出力する画像データ
の任意の座標（x，y）を制御部２１が第一アーム２２および第二アーム２３を制御するに
あたって用いる任意の座標（Ｘ，Ｙ，Ｚ）に変換したり、座標（Ｘ，Ｙ，Ｚ）を座標（x
，y）に変換することができる。このような変換パラメーターを求めることにより、デジ
タルカメラ３０を用いてワークを認識しながら第一アーム２２および第二アーム２３に、
"ワークをつかむ"、"ワークを動かす"、"ワークをはなす"といった操作を行わせることが
可能になる。また、ロボット２０に対するデジタルカメラ３０の位置と姿勢をロボット２
０の設置環境に応じてユーザーが任意に設定した後に変換パラメーターｍを設定できるた
め、ユーザーはロボット２０とデジタルカメラ３０の位置関係を自由に設定できる。
【００１６】
図２は制御部２１によるロボットシステムのキャリブレーションの流れを示すフローチ
ャートである。図２を参照しながら説明される以下の処理は、例えばＰＣ１０からキャリ
ブレーションの開始を指示されたり、ロボット２０に設けられたリセットスイッチが押さ
れることによって開始する。
【００１７】
はじめに制御部２１は、キャリブレーションのために予め決められた第一アーム２２の
６姿勢を規定する制御情報Ｆｉ（i=1，2，...，6）をＲＯＭからＲＡＭに読み込み、制御
情報Ｆ１に基づいて第一アーム２２を最初の姿勢に制御する（Ｓ１００）。第一アーム２
２の姿勢は、第一アーム２２に備わるリンク間の回転機構の回転角度によって決まるため
、次式（２）で表すことができる。なお、第一アーム２２の回転機構の数は３として各回
転機構の回転角度をθ１，θ２，θ３と表すが、第一アーム２２の回転機構の数は２以下
でも４以上でも良い。
【００１８】
Ｆｉ＝（θ１，θ２，θ３）・・・（２）
【００１９】
具体的には、制御部２１は、ｉ＝１をセットした上で、制御情報Ｆｉ（ｉ＝１，２，…
，６）をＲＡＭからＣＰＵに読み込み、Ｆ１を目標値として第一アーム２２の各回転機構
のアクチュエーターを制御する。なお、本実施例ではキャリブレーションのための制御情
報Ｆｉは予め決められているため、Ｆｉによって決まる姿勢において第一アーム２２のマ
ーク２２ａがデジタルカメラ３０から見えるようにロボット２０とデジタルカメラ３０の
位置関係を設定しなければならないが、第一アーム２２のマーク２２ａがデジタルカメラ
３０から見える範囲でキャリブレーションのための制御情報Ｆｉをユーザーが設定できる
ようにしても良い。
【００２０】
次に制御部２１は、デジタルカメラ３０に撮像を指示し、デジタルカメラ３０から画像
データを取得する（Ｓ１０１）。これにより、制御部２１は、第一アーム２２のマーク２
２ａが撮像された画像データを取得する。
【００２１】
次に制御部２１は、取得した画像データを解析し、画像データの２次元座標系でマーク
２２ａの位置を検出する（Ｓ１０２）。マーク２２ａの検出には周知のパターンマッチン
グ等の技術を用いることができる。マーク２２ａの位置は、例えば画像データの４頂点の
１つの画素を原点として、マーク２２ａの重心が位置する画素の座標（xi，yi）とする。
制御部２１は、このように算出した２次元座標系の座標（xi，yi）を変換パラメーターを
算出するまで記憶しておく。
【００２２】
次に制御部２１は、第一アーム２２を制御するにあたって用いる制御情報Ｆｉに基づい
てマーク２２ａの３次元座標（Ｘi，Ｙi，Ｚi）を算出する（Ｓ１０３）。マーク２２ａ
の位置は、第一アーム２２の各回転機構の回転角度θｊと、第一アーム２２の各回転機構
の回転軸の相対的な位置と姿勢と、マーク２２ａが付されたリンクの回転軸に対するマー
ク２２ａの相対的な位置とによって表される。具体的には、マーク２２ａが付された第三
リンクの位置と姿勢が第一アーム２２に備わる３つの回転機構の回転角度によって決まる
とき、マーク２２ａの位置は、（Ｆｉ，ｐ１，ｐ２，ｐ３，ｐ４）によって表される。こ
こでｐ１は、ロボット２０の非可動部分に固定された座標系のベクトル、すなわち第一ア
ーム２２を制御するにあたって用いる３次元座標系のベクトルであって、ロボット２０の
非可動部分に固定された第一リンクの回転軸の位置と姿勢を表している。ｐ２は、第一リ
ンクに固定された座標系のベクトルであって、第一リンクと第二リンクを連結する回転軸
の位置と姿勢を表している。ｐ３は、第二リンクに固定された座標系の座標であって、第
二リンクと第三リンクを連結する回転軸の位置と姿勢を表している。ｐ４は、第三リンク
に固定された座標系の座標であって、第二リンクと第三リンクを連結する回転軸に対する
マーク２２ａの重心の位置を表している。制御部２１は、このように表されるマーク２２
ａの位置をロボット２０の非可動部分に固定された３次元座標系の座標（Ｘi，Ｙi，Ｚi
）に線形変換する。制御部２１は、線形変換によって算出した３次元座標系の座標（Ｘi
，Ｙi，Ｚi）を変換パラメーターを算出するまで記憶しておく。
【００２３】
次に制御部２１は、予め決められた６姿勢について上述したステップＳ１０１からステ
ップＳ１０３の処理が終了したか判定する（Ｓ１０４）。
【００２４】
予め決められた６姿勢について上述したステップＳ１０１からステップＳ１０３の処理
が終了していない場合、制御部２１はｉ＝ｉ＋１にインクリメントして次の制御情報Ｆｉ
に基づいて第一アーム２２を制御し、Ｓ１０１からＳ１０４の処理を再び実行する。
【００２５】
予め決められた６姿勢について上述したステップＳ１０１からステップＳ１０３の処理
が終了した場合、制御部２１は、ステップＳ１０２で検出した２次元座標系の座標（xi，
yi）と、ステップＳ１０３で算出した３次元座標系の座標（Ｘi，Ｙi，Ｚi）とに基づい
て、画像データの２次元座標系と第一アーム２２を制御するにあたって用いる３次元座標
系とを対応付ける変換パラメーターを算出する。具体的には次に述べるとおりである。
【００２６】
まず式（１）は次式（３）に省略して表すことができる。
ｓｉｘｉ＝ＭＸｉ・・・（３）
【００２７】
式（３）にはスカラー倍の不定性がある。式（３）からｓｉを消去してＭ１１〜Ｍ３４
についてまとめると、次式（４）のように書ける。
Ａ（ｘｉ，Ｘｉ）ｍ＝０・・・（４）
ここで、
【数４】
0005928114.tif 000005
【数５】
0005928114.tif 000006
【００２８】
であって、ｍは画像データの２次元座標系と第一アーム２２を制御するにあたって用い
る３次元座標系とを対応付ける変換パラメーターに相当する。
【００２９】
いま、ステップＳ１０２で検出した２次元座標系の座標（xi，yi）と、ステップＳ１０
３で算出した３次元座標系の座標（Ｘi，Ｙi，Ｚi）とを用いて次式（７）で表される関
数ｆ（ｍ）を最小化するｍを求めることを考える。
【数６】
0005928114.tif 000007
【００３０】
これは、ラグランジュの未定乗数法を用いると、未定乗数λと束縛条件ｇ（ｍ）＝０を
導入して次式（８）で表される関数ｈ（ｍ，λ）の極値を求める問題となる。
ｈ（ｍ，λ）＝ｆ（ｍ）＋λｇ（ｍ）・・・（８）
【００３１】
ここで不定性を無くすために束縛条件を‖ｍ‖＝１とし、
ｇ（ｍ）＝１−‖ｍ‖２・・・（９）
とすると、関数ｆ（ｍ）を最小化するｍは、次式（１０）を満たすｍとなる。
【数７】
0005928114.tif 000008
【００３２】
式（１０）の左辺は次式（１１）のように変形できる。
【数８】
0005928114.tif 000009
【００３３】
したがって制御部２１は、次式（１２）で表される行列の固有ベクトルを変換パラメー
ターｍとして算出することができる。
【数９】
0005928114.tif 000010
【００３４】
以上説明したロボットシステム１００のキャリブレーションでは、ワークを操作するに
あたっては使用されない付属的なキャリブレーション用のパターン部材をユーザーが保管
したり、パターン部材をロボット２０のアームに把持させる必要がないため、ロボットシ
ステム１００のキャリブレーションが簡便である。また、パターン部材をロボット２０の
アームに把持させる必要がないため、ロボット２０の稼働中にもキャリブレーションを実
施することが可能である。
【００３５】
３.他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨
を逸脱しない範囲内において種々変更を加え得ることは勿論である。例えば、第一アーム
２２の２以上のリンクの表面にそれぞれマークを付しても良い。これにより、キャリブレ
ーションの所要時間を短縮することができる。例えば第一アーム２２の２つのリンクの表
面にそれぞれマークを付す場合、第一アーム２２を３姿勢に制御して姿勢毎に画像データ
を取得することによって、互いに異なる６つの位置に制御されたマークが撮像された画像
データに基づいて上述したアルゴリズムで変換パラメーターを算出することができる。ま
た、第一アーム２２、第二アーム２３のそれぞれにマークを付して第一アーム２２および
第二アーム２３を同時に動かしてキャリブレーションを実施しても、キャリブレーション
の所要時間を短縮することができる。なお、マークの数を増やすことにより、上述したア
ルゴリズムであっても、変換パラメーターを算出するために必要な画像データは１つあれ
ば足りる。
【００３６】
また、デジタルカメラに対するマークの自由度は６であるため、変換パラメーターを求
めるための情報としてマークの６つの位置情報は冗長性を持っている。すなわち、変換パ
ラメーターを求めるために必要なマークの位置情報の数は、変換パラメーターを求める数
学的アルゴリズムによって決まり、５以下でもよいし、７以上でも良い。また、上述した
キャリブレーションに用いたアルゴリズムは統計的な手法であるため、変換パラメーター
を求めるために必要なマークの位置情報の数が多ければ、それだけキャリブレーションの
精度を高めることができる。
【００３７】
また、マークを付す可動コンポーネントの種類は、回転運動するアームでもハンドでも
良いし、直線運動するロッドやシリンダーでもよい。またマークを光源、磁性体、熱源、
音源等で構成してもよい。磁性体からなるマークの位置は磁気センサを用いて、熱源から
なるマークは熱センサを用いて、音源からなるマークは音響センサを用いて、それぞれの
位置を２次元座標系で特定することが可能である。
【００３８】
またＰＣ１０をロボット２０と別体のキャリブレーション装置として機能させるなど、
ロボット２０の外部にキャリブレーターを設けても良い。ＰＣ１０をキャリブレーション
装置として機能させる場合、図３に示すように、ＰＣ１０を制御情報取得部１０ｄ、画像
データ取得部１０ｅおよびキャリブレーター１０ｆとして機能させるキャリブレーション
プログラムがＰＣ１０のハードディスク装置に格納される。ここで制御情報取得部１０ｄ
は。マーク２２ａを付されたロボット２０の第一アーム２２を制御するための制御情報を
取得する。制御情報は、キャリブレーションプログラムの定数として予めハードディスク
装置に記憶されているものを取得しても良いし、ロボット２０の制御部２１から取得して
も良い。キャリブレーションプログラムの定数として予めハードディスク装置に記憶され
ている制御情報を用いてキャリブレーションを行う場合、ＰＣ１０はハードディスク装置
から読み込んだ制御情報Ｆｉをロボット２０の制御部２１に出力して第一アーム２２を制
御する。画像データ取得部１０ｅは制御情報に応じて互いに異なる位置に制御されたマー
ク２２ａが撮像された画像データをデジタルカメラ３０から取得する。キャリブレーター
１０ｆは、マーク２２ａが撮像された画像データと制御情報とに基づいて変換パラメータ
ーｍを生成し、ロボット２０の制御部２１に出力する。
また、このような制御情報取得部１０ｄと画像データ取得部１０ｅとキャリブレーター
１０ｆとを含むキャリブレーションプログラムをデジタルカメラ３０のＣＰＵで実行する
ことによって、デジタルカメラ３０をキャリブレーション装置として機能させることも可
能である。
【符号の説明】
【００３９】
１０…ＰＣ、１０ａ…ユーザーインターフェース、１０ａ…出力部、１１…ディスプレイ
、１２…キーボード、１３…マウス、２０…ロボット、２１…制御部、２２…第一アーム
、２２ａ…マーク、２３…第二アーム、３０…デジタルカメラ、１００…ロボットシステ
ム
【図１】
0005928114.tif 000013
【図２】
0005928114.tif 000014
【図３】
0005928114.tif 000015