(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023076358
(43)【公開日】2023-06-01
(54)【発明の名称】ロボットアーム、ロボットアームの制御方法及びプログラム
(51)【国際特許分類】
B25J 9/10 20060101AFI20230525BHJP
B25J 13/08 20060101ALI20230525BHJP
【FI】
B25J9/10 A
B25J13/08 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021189748
(22)【出願日】2021-11-22
(71)【出願人】
【識別番号】000143639
【氏名又は名称】株式会社今仙電機製作所
(74)【代理人】
【識別番号】100158067
【弁理士】
【氏名又は名称】江口 基
(72)【発明者】
【氏名】小森 勇司
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707KS03
3C707KS04
3C707KS17
3C707KT02
3C707KT04
3C707KT05
(57)【要約】
【課題】高速、かつ、容易にアームの位置を特定することができるロボットアームを提供すること。
【解決手段】カメラユニット24の任意の頂点に接続される稜線の色が赤、青、緑の三色の異なる色に着色されているため、カメラユニット24を含む領域を撮影手段26で撮影した撮像情報から稜線に相当する領域を抽出しやすい。また、この稜線に相当する領域の長さや位置の変化量から稜線に相当する位置の相対移動度を算出し(ステップS150)、レンズ位置座標を算出する(ステップS160)ことにより、撮像情報から情報を抽出する抽出処理や平面画像から三次元的な回転角度を算出する補正処理等を行う際の処理量を低減し、高速、かつ、容易にアーム部22の位置を算出することができるロボットアーム20を提供することができる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
移動可能なアームと、
前記アームに取り付けられ、六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色である被写構造物と、
前記被写構造物及び前記アームを含む範囲を撮影し、撮影情報を送信する撮影手段と、
前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する制御手段と、
を備えることを特徴とする、
ロボットアーム。
【請求項2】
前記制御手段は、基準位置に位置する前記アームを撮影した撮影情報に含まれる稜線に関する情報と、前記撮影手段で撮影した撮像情報に含まれる稜線に関する情報と、を比較することで、前記アームの位置を算出することを特徴とする、
請求項1に記載のロボットアーム。
【請求項3】
前記撮影手段は、前記被写構造物及び前記アームを含む範囲を撮影し第一撮影情報を送信する第一撮影手段と、前記被写構造物及び前記アームを含む範囲を撮影し第二撮影情報を送信する第二撮影手段と、からなり、
前記制御手段は、前記第一撮影情報に4箇所以上の前記稜線に関する情報が含まれているか否かを判定し、4箇所以上含まれていると判定した場合には、基準位置に位置する前記アームを撮影した撮影情報に含まれる前記稜線に関する情報と、前記第一撮像情報に含まれる前記稜線に関する情報と、を比較することで、前記アームの位置を算出し、3箇所未満であると判定した場合には、基準位置に位置する前記アームを撮影した撮影情報に含まれる前記稜線に関する情報と、前記第二撮像情報に含まれる前記稜線に関する情報と、を比較することで、前記アームの位置を算出することを特徴とする、
請求項1又は2に記載のロボットアーム。
【請求項4】
前記被写構造物は、ラインカメラであることを特徴とする、
請求項1から3のいずれか1項に記載のロボットアーム。
【請求項5】
移動可能なアームと、前記アームに取り付けられ、六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色である被写構造物と、前記被写構造物及び前記アームを含む範囲を撮影し、撮影情報を送信する撮影手段と、前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する制御手段と、を備えるロボットアームの制御方法であって、
前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する位置算出ステップと、
を含むことを特徴とする、
ロボットアームの制御方法。
【請求項6】
請求項5に記載のロボットアームの制御方法を1又は2以上のコンピュータで実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアーム、ロボットアームの制御方法及びプログラムに関する。
【背景技術】
【0002】
従来、比較的簡単で安価な構成で、ロボット本体の位置検出ひいては位置補正を十分な精度で行うロボットの位置補正システムが知られている。例えば、特許文献1では、ロボット本体の各軸(アーム)に、例えば同心円からなるターゲットを設け、各軸のターゲット部分を撮像するためのCCDカメラを設け、その画像データから各ターゲットの位置を検出する視覚認識装置が設けられたロボットの位置補正システムが記載されている。このロボットの位置補正システムは、例えば重力の影響により、エンコーダにより得られる角度と現実の角度との間で差が生じ、ロボットの指令ポーズと実現ポーズとの間に誤差が生ずる場合、まずロボット本体の1軸上のターゲットの位置を3点以上検出することに基づいて、設置パラメータの導出が行われ、次に、ロボットの動作時に、例えば2軸、3軸上のターゲットの位置検出を行うことに基づき、その結果得られる各軸の角度の誤差を用いてポーズを算出することで、比較的簡単で安価な構成で、ロボット本体の位置検出ひいては位置補正を十分な精度で行うことができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のロボットの位置補正システムでは、ロボット本体の表面にターゲットが設けられているため、ロボットの角度によってはカメラでターゲットを撮影できない場合があるため、複数のカメラを設ける必要があり、ロボットの位置を検出するためには、カメラで撮影した平面画像を補正したり、複数のカメラから得られた撮影情報を合成したり、とロボットの位置を特定するために多くの情報処理量が必要であるという課題がある。
【0005】
本発明は、このような課題に鑑みなされたものであり、ロボットアームの位置を特定するために必要な情報処理量を低減することで、高速、かつ、容易にロボットアームの位置を特定することができるロボットアームを提供することを主目的とする。また、このロボットアームの制御方法及びプログラムを提供することも目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述の目的の少なくとも一つを達成するために以下の手段を採った。
【0007】
本発明のロボットアームは、
移動可能なアームと、
前記アームに取り付けられ、六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色である被写構造物と、
前記被写構造物及び前記アームを含む範囲を撮影し、撮影情報を送信する撮影手段と、
前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する制御手段と、
を備えることを特徴とする、
ものである。
【0008】
このロボットアームは、移動可能なアームに六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色の被写構造物が取り付けられており、撮像手段が被写構造物及びアームを含む範囲を撮影して制御手段に稜線に関する情報を含む撮影情報を送信し、この撮影情報に基づいてアームの位置を算出する。具体的には、この撮影情報に含まれる稜線に関する情報から稜線の長さや方向を算出することにより、被写構造物の位置や回転角を算出し、被写構造物の位置を算出することで、アームの位置を算出する。このように、撮像情報に含まれる稜線に関する情報から稜線の位置や回転角を算出することにより、撮像情報から必要な情報を抽出する抽出処理や平面画像から三次元的な回転角を算出する補正処理等を行う際の処理量を低減し、高速、かつ、容易にアームの位置を算出することができる。このとき、被写構造物は、六面体形状であるため、アームが三次元的に移動した場合であっても、アームによって遮蔽され撮影手段が被写構造物を撮影できない可能性を低減することができる。言い換えると、被写構造物が図形等の平面的な印である場合には、撮影手段が印を撮影できる範囲が限定されるため、複数の撮影手段が必要となり、複数の撮影手段由来の撮影情報を合成したり、それぞれ画像処理したりする必要があるが、立体である六面体形状とすることにより、このような処理を行う必要がないため、高速、かつ、容易にアームの位置を算出することができる。
【0009】
本発明のロボットアームにおいて、前記制御手段は、基準位置に位置する前記アームを撮影した撮影情報に含まれる稜線に関する情報と、前記撮影手段で撮影した撮像情報に含まれる稜線に関する情報と、を比較することで、前記アームの位置を算出することを特徴としてもよい。こうすることにより、基準位置に位置するアームを撮影した撮影情報に含まれる稜線に関する情報を基準として、稜線の位置や回転角を高速、かつ、容易にアームの位置を算出することができる。なお、ここで「基準位置」とは、予め定められた所定の位置であって、アームの三次元座標と基準位置に位置するアームを撮影した撮影情報に含まれる稜線に関する情報が示す稜線の位置及び回転角が互いに関連付けて記憶された位置を意味する。
【0010】
本発明のロボットアームにおいて、前記撮影手段は、前記被写構造物及び前記アームを含む範囲を撮影し第一撮影情報を送信する第一撮影手段と、前記被写構造物及び前記アームを含む範囲を撮影し第二撮影情報を送信する第二撮影手段と、からなり、前記制御手段は、前記第一撮影情報に4箇所以上の前記稜線に関する情報が含まれているか否かを判定し、4箇所以上含まれていると判定した場合には、基準位置に位置する前記アームを撮影した撮影情報に含まれる前記稜線に関する情報と、前記第一撮像情報に含まれる前記稜線に関する情報と、を比較することで、前記アームの位置を算出し、3箇所未満であると判定した場合には、基準位置に位置する前記アームを撮影した撮影情報に含まれる前記稜線に関する情報と、前記第二撮像情報に含まれる前記稜線に関する情報と、を比較することで、前記アームの位置を算出することを特徴とするものであってもよい。撮影手段から送信された撮影情報に被写構造物の4箇所の稜線に相当する情報が含まれていない場合には、撮影情報に被写構造物の位置を算出するために必要な情報が十分に含まれていない可能性が高いため、このような場合には、第一撮影手段とは異なる位置に位置する第二撮影手段で撮影した撮影情報に基づいて被写構造物の位置を算出することにより、高速、かつ、容易にアームの位置を算出することができる。
【0011】
本発明のロボットアームにおいて、前記被写構造物は、ラインカメラであることを特徴としてもよい。例えば、本発明のロボットアームを用いて溶接状態を検査する用途に使用する場合、アームには溶接した溶接箇所を撮影するラインカメラが備えられているため、このラインカメラの形状を六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色とすることにより、新たに被写構造物を備える必要がない。また、連続する溶接状態を検査する場合、ラインカメラで撮影された撮影情報は移動するアームの位置によって撮影方向が変化することになるため、ラインカメラで撮影された際のアームの位置を算出し、アームの位置に応じて撮影情報を補正する際に、本発明を適用することによる効果が大きい。
【0012】
本発明のロボットアームの制御方法は、
移動可能なアームと、前記アームに取り付けられ、六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色である被写構造物と、前記被写構造物及び前記アームを含む範囲を撮影し、撮影情報を送信する撮影手段と、前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する制御手段と、を備えるロボットアームの制御方法であって、
前記撮影手段から送信された撮影情報に含まれる前記稜線に関する情報に基づいて前記アームの位置を算出する位置算出ステップと、
を含むことを特徴とする、
ものである。
【0013】
このロボットアームの制御方法は、移動可能なアームに六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色の被写構造物が取り付けられており、撮像手段が被写構造物及びアームを含む範囲を撮影して制御手段に稜線に関する情報を含む撮影情報を送信し、この撮影情報に基づいてアームの位置を算出する。具体的には、この撮影情報に含まれる稜線に関する情報から稜線の長さや方向を算出することにより、被写構造物の位置や回転角を算出し、被写構造物の位置を算出することで、アームの位置を算出する。このように、撮像情報に含まれる稜線に関する情報から稜線の位置や回転角を算出することにより、撮像情報から必要な情報を抽出する抽出処理や平面画像から三次元的な回転角を算出する補正処理等を行う際の処理量を低減し、高速、かつ、容易にアームの位置を算出することができる。このとき、被写構造物は、六面体形状であるため、アームが三次元的に移動した場合であっても、アームによって遮蔽され撮影手段が被写構造物を撮影できない可能性を低減することができる。言い換えると、被写構造物が図形等の平面的な印である場合には、撮影手段が印を撮影できる範囲が限定されるため、複数の撮影手段が必要となり、複数の撮影手段由来の撮影情報を合成したり、それぞれ画像処理したりする必要があるが、立体である六面体形状とすることにより、このような処理を行う必要がないため、高速、かつ、容易にアームの位置を算出することができる。
【0014】
本発明のプログラムは、1又は複数のコンピュータに、ロボットアームの制御方法の各ステップを実行させるためのプログラムである。このプログラムは、コンピュータが読み取り可能な記憶媒体(例えば、ハードディスク、ROM、CD、DVD、フラッシュメモリなど)に記録されていても良いし、伝送媒体(インターネットや有線/無線LANなどの通信網)を介してあるコンピュータから別のコンピュータへ送信されても良いし、その他どのような形で授受されても良い。また、制御方法の各ステップを実行する装置で実行されるものであっても、プログラムが実行される装置と処理が行われる装置とが異なっていてもよい。いずれの場合であっても、このプログラムを1つのコンピュータに実行させるか又は複数のコンピュータに各ステップを分担して実行させれば、上述したロボットアームの制御方法と同様の効果を得ることができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、ロボットアーム20の電気的接続を説明するためのブロック図である。
【
図2】
図2は、カメラユニット24を説明するための説明図である。
【
図3】
図3は、位置算出処理ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【0016】
次に、本発明の実施の形態の一例として、ロボットアーム20について詳しく説明する。以下に説明する実施の形態及び図面は、本発明の実施形態の一部を例示するものであり、これらの構成に限定する目的に使用されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更することができる。なお、各図において対応する構成要素には同一又は類似の符号を付す。また、ロボットアーム20の制御方法の一例を示すことで、本発明のロボットアームの制御方法の一例も明らかにする。
【0017】
本発明の実施の形態の一例であるロボットアーム20は、
図1に示すように、移動可能なアーム部22と、アーム部22の先端部に取り付けられたカメラユニット24と、アーム部22の先端部が撮影可能な位置に設けられた第一撮影手段26aと、アーム部22の先端部が撮影可能な位置に設けられた第二撮影手段26bと、アーム部の駆動制御及び第一撮影手段26a又は第二撮影手段26bで撮影された第一撮影情報又は第二撮影情報からアーム部の位置を算出する位置算出処理を行う制御ユニット30と、が電気的に接続されており、移動可能なアーム部22の先端に取り付けられたカメラユニット24を含む領域を第一撮影手段26a及び第二撮影手段26b(以下、「撮影手段26」とも言う。)が撮影し、制御ユニット30が第一撮影手段26a及び第二撮影手段26bから送信された第一撮影情報及び第二撮影情報(以下、「撮影情報」とも言う。)に基づいてアーム部22の位置を算出する。このとき、カメラユニット24は六面体形状であって、任意の頂点に接続される稜線の色が全て異なる色で形成されている。このように六面体形状とすることにより、アーム部22が任意の位置に移動した際でも、撮影手段26、アーム部22及びカメラユニット24が一直線上に位置する位置にアーム部22が移動しない限り、撮影手段26でカメラユニット24を撮影することができるため、複数の撮影手段26を有しない場合であっても、撮影手段26で撮影した際、カメラユニット24を含めることができる。加えて、任意の頂点に接続される稜線の色が全て異なる色で形成されているため、稜線の色からカメラユニット24の向きを容易に特定することができるため、カメラユニット24の位置を高速、かつ、容易に算出することができる。付言すると、カメラユニット24とアーム部22の先端位置の位置関係は固定されているため、アーム部22の先端位置を高速、かつ、容易に算出することができる。
【0018】
アーム部22は、公知のロボットアームであり、例えば、六軸のロボットアームである。このアーム部22は、先端方向を撮影するカメラユニット24が先端部に設けられており、制御ユニット30からの制御信号に基づいて任意の方向に回転・移動し、先端方向をカメラユニット24で撮影する。
【0019】
カメラユニット24は、本発明の被写構造物に相当し、六面が黒色の六面体形状であって、アーム部22の先端部に着脱可能に取り付けられ、アーム部22の先端方向側の側面にレンズ24aが備えられた公知のカメラ(例えば、ラインカメラ)である。このように、ラインカメラユニット24を着脱可能とすることにより、カメラユニット24をアーム部22に取り付ける際、取り付け方向を変えることでカメラユニット24の撮影方向を変えることができる。このカメラユニット24は、任意の頂点に接続される稜線の色が全て異なる色で着色されている。具体的には、
図2に示すように、頂点ABCDEFGH(頂点Gは不図示)からなる六面体形状であって、頂点EFGHからなる面がアーム部22の表面に固定されている。また、稜線AE、稜線BF、稜線CG、稜線DHがそれぞれ青色に着色されており、稜線AB、稜線CD、稜線EF、稜線GHがそれぞれ赤色に着色されており、稜線AD、稜線BC、稜線EH、稜線FGがそれぞれ緑色に着色されることにより、任意の頂点に接続される稜線の色が全て異なる色で着色されている。このように、稜線の色がカメラユニット24のそれぞれの六面の色と異なるため、カメラユニット24を撮影した撮影情報を解析する際、隣接する面の境界である稜線に相当する領域の判別が容易となり、撮影情報から稜線に相当する領域を抽出しやすい。付言すると、稜線間の距離を予め記憶することにより、アーム部22の位置を算出する際、距離キャリブレーションを行う労力を低減することができる。加えて、稜線毎に色が異なるため、撮影情報からカメラユニット24の傾きを算出する際、それぞれの稜線の関係を用いることにより、カメラユニット24の傾き角度を容易に算出することができる。例えば、稜線AEがアーム部22の表面に垂直となる位置にカメラユニット24を取り付けた場合、この青色の稜線がアーム部22に垂直であることを予め記憶しておくことで、撮影情報に含まれる青色の稜線に相当する領域の情報に基づいてカメラユニット24の傾き角度を容易に算出することができる。
【0020】
このとき、カメラユニット24の大きさとしては、例えば、このとき、辺ABは120ミリメートル、辺ADは40ミリメートル、辺AEは110ミリメートルを採用してもよい。こうすることにより、アーム部24の動作を妨げる可能性を低減すると共に、撮像情報からカメラユニット24の稜線に相当する領域を抽出する際、抽出しやすくすることができる。
【0021】
第一撮影手段26aは、アーム部22の先端部が撮影可能な位置に設けられた公知の撮影手段で、例えば、デジタルカメラやデジタルビデオカメラである。この第一撮影手段26aは、制御ユニット30と電気的に接続されており、カメラユニット24を含むアーム部22の近辺を撮影し、第一撮影情報を逐次制御ユニット30に送信する。この第一撮影情報を受信した制御ユニット30は、第一撮影情報に基づいてアーム部22の先端位置を算出する。なお、第一撮影手段26aは、制御ユニット30と電気的に接続されていればよく、アーム部22を含むロボットの一部に固定されていても良いし、任意の場所に移動可能なユニットであってもよい。
【0022】
第二撮影手段26bは、アーム部22の先端部が撮影可能な位置であって、第一撮影手段26aとアーム部22とを結ぶ直線上以外の位置に設けられた公知の撮影手段で、例えば、デジタルカメラやデジタルビデオカメラである。この第二撮影手段26bは、制御ユニット30と電気的に接続されており、カメラユニット24を含むアーム部22の近辺を撮影し、第二撮影情報を逐次制御ユニット30に送信する。この第二撮影情報を受信した制御ユニット30は、第二撮影情報に基づいてアーム部22の先端位置を算出する。このとき、第二撮影手段26bは、第一撮影手段26aとアーム部22とを結ぶ直線上以外の位置に設けられているため、第一撮影手段26aが撮影した第一撮影情報と第二撮影手段26bが撮影した第二撮影情報には、カメラユニット24及びアーム部22を異なる角度で撮影した撮影情報であると言える。言い換えると、カメラユニット24を含むアーム部22を第一撮影手段26aと第二撮影手段26bとで同時に撮影した際、第一撮影手段26a又は第二撮影手段26bとアーム部22、カメラユニット24が一直線上に位置し、アーム部22によってカメラユニット24が撮影情報に含まれなくなる可能性がないため、第一撮影情報又は第二撮影情報のいずれかに、必ずカメラユニット24に相当する領域の情報が含まれることになる。こうすることにより、撮影情報にカメラユニット24の撮影情報が含まれず、アーム部22の位置を算出できなくなる可能性を未然に防ぐことができる。なお、第一撮影手段26aは、制御ユニット30と電気的に接続されていればよく、アーム部22を含むロボットの一部に固定されていても良いし、任意の場所に移動可能なユニットであってもよい。
【0023】
制御ユニット30は、
図1に示すように、CPU31を中心とするマイクロプロセッサとして構成されており、アーム部22や撮影手段26を制御する各種制御プログラムが記憶されたROM32と、撮影手段26によって撮像された撮影情報等を一時的に記憶するRAM33と、アーム部22や撮影手段26等との間の各種信号の送受信を行うインタフェース34(以下、「I/F34」と言う。)がそれぞれバス35を介して電気的に接続されている。この制御手段30は、撮影手段26が撮影した撮影情報に基づいて、アーム部22の位置を算出する。
【0024】
次に、アーム部22の位置を算出する際に実行される動作について、制御ユニット30によって実行される位置算出処理ルーチンを一例に説明する。この位置算出処理ルーチンは、所定のタイミング(例えば、実行開始命令を受信した場合や、アーム部22の駆動を認識した場合等)に繰り返し実行される。なお、ここで、
図3は、位置算出処理ルーチンの一例を示すフローチャートである。
【0025】
この位置算出処理ルーチンがCPU31によって実行されると、第一撮影手段26aから出力された第一撮影情報から、カメラユニット24の稜線に相当する領域を抽出する(ステップS110)。具体的には、例えば、赤色、青色又は緑色が多く現れる領域や直線状に現れる領域を抽出したり、予め稜線に相当する領域を含む撮影情報を学習した人工知能を用いて抽出したりする等、公知の画像処理技術を用いてカメラユニット24の稜線に相当する領域を抽出する。このとき、カメラユニット24の稜線は、稜線の向きによって異なり、かつ、カメラユニット24の各面とは異なる色で着色されているため、稜線の色と各面の色が同一の色である場合と比較して、カメラユニット24の稜線に相当する領域を抽出しやすい。
【0026】
続いて、CPU31は、抽出したカメラユニット24の稜線に相当する領域の数が4以上であるか否かを判定し(ステップS120)、領域の数が4未満であると判定した場合には、第二撮影手段26bから出力された第二撮影情報から、カメラユニット24の稜線に相当する領域を抽出する(ステップS130)。第一撮影情報に含まれるカメラユニット24の稜線に相当する領域の数が4未満である場合には、第一撮影手段26aで撮影する際、カメラユニット24がアーム部22によって遮蔽されており、第一撮影手段26aに十分撮影されていない可能性があるため、第一撮影手段26aとは異なる位置から撮影された第二撮影情報を用いることで、撮影情報にカメラユニット24の稜線に相当する領域が含まれた撮影情報に基づいて、アーム部22の位置を算出することができる。
【0027】
続いて、CPU31は、第二撮影情報に含まれるカメラユニット24の稜線に相当する領域の数が4以上であるか否かを判定し(ステップS140)、領域の数が4未満であると判定した場合には、本ルーチンを終了する。このような場合は、第一撮影情報及び第二撮影情報のいずれにもカメラユニット24の稜線に相当する領域の数が4未満であるため、撮影環境に何らかの問題がある可能性が高く、カメラユニット24の位置を算出することができない。
【0028】
一方、ステップS120で第一撮影情報に含まれるカメラユニット24の稜線に相当する領域の数が4以上であるとCPU31が判定した場合、又は、ステップS140で第二撮像情報に含まれるカメラユニット24の稜線に相当する領域の数が4以上であるとCPU31が判定した場合には、第一撮影情報又は第二撮影情報に基づいて、稜線の相対移動度を算出する(ステップS150)。具体的には、予めRAM33に記憶された稜線に相当する領域の基準位置に関する情報と、ステップS110又はステップS130で抽出した稜線に相当する領域の位置に関する情報とを比較し、第一撮影情報又は第二撮影情報に含まれる稜線に相当する領域の位置の基準位置からの変化量を算出する。こうすることにより、第一撮影情報又は第二撮影情報が撮影された際、稜線に相当する領域の基準位置からの相対的な変化量を移動度として算出することができる。なお、ここで、「基準位置」とは、カメラユニット24が所定の位置に位置決めし、撮影手段26で撮影した際の稜線に相当する領域の位置を意味し、撮影手段26の配置位置に応じて予めRAM33又はROM34に記憶されていても良いし、使用する前にキャリブレーション作業として撮影し、RAM33に記憶したものであってもよい。
【0029】
続いて、CPU31は、レンズ24aの位置座標を算出し(ステップS160)、本ルーチンを終了する。具体的には、ステップS150で算出した移動度を基準位置におけるレンズ24aの位置座標に加算することで、レンズ位置座標を算出する。このように、カメラユニット24の稜線の色をそれぞれ異なる色とすることで、撮影情報に含まれる稜線に相当する領域を抽出しやすくし、この抽出しやすい領域の移動度を算出し、利用することでカメラユニットのレンズ24aの位置を容易に算出することができる。
【0030】
以上詳述した実施の形態のロボットアーム20によれば、カメラユニット24の任意の頂点に接続される稜線の色が赤、青、緑の三色の異なる色に着色されているため、カメラユニット24を含む領域を撮影手段26で撮影した撮像情報から稜線に相当する領域を抽出しやすい。また、この稜線に相当する領域の長さや位置の変化量から稜線に相当する位置の相対移動度を算出し(ステップS150)、レンズ位置座標を算出する(ステップS160)ことにより、撮像情報から情報を抽出する抽出処理や平面画像から三次元的な回転角度を算出する補正処理等を行う際の処理量を低減し、高速、かつ、容易にアーム部22の位置を算出することができる。
【0031】
また、ステップS150において、稜線に相当する領域の基準位置に関する情報と、ステップS110又はステップS130で抽出した稜線に相当する領域の位置に関する情報とを比較することで相対移動度を算出することにより、撮像情報から情報を抽出する抽出処理や平面画像から三次元的な回転角度を算出する補正処理等を行う際の処理量を低減し、高速、かつ、容易に移動度を算出することができる。
【0032】
更に、第一撮影手段26a及び第二撮影手段26bの2つの撮影手段を有し、第一撮影情報に含まれる稜線に相当する領域が4未満の場合には、第二撮影情報から稜線に相当する領域を利用することで、第一撮影手段26aで撮影された撮影情報からカメラユニット30の位置を算出しにくい場合には、第二撮影手段26bで撮影された撮影情報を用いることで、アーム部22の位置に関わらず、高速、かつ、容易にアーム部22の位置を算出することができる。
【0033】
更にまた、カメラユニット24の稜線の相対移動度を算出することにより、相対移動度を算出する際、相対移動度を算出する基準となる被写構造体を新たに設ける必要がない。特に、溶接状態を検査する用途でロボットアーム20を使用する場合、カメラユニット24で撮影された撮影情報は移動するアーム部24の位置によって撮影方向が異なることになるため、ラインカメラであるカメラユニット24で撮影された撮影情報を連続した情報に合成する際には、アーム部24の位置を算出し、アーム部24の位置に応じて撮影情報を補正する必要があるが、この際に、必要な画像処理の処理量を低減し、高速、かつ、容易に移動度を算出することができる。
【0034】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0035】
例えば、上述した実施の形態では、第二撮影手段26bは、第一撮影手段26aとアーム部22とを結ぶ直線上以外の位置に設けられるものとしたが、第一撮影手段26aと第二撮影手段26bとは、離れた位置であることが好ましい。撮影手段26の位置を離すことにより、撮影手段26から送信される撮影情報の違いが大きくなるため、いずれか一方の撮影情報からアーム部22の位置を算出することが難しい場合であっても、他方の撮影情報を用いることで、アーム部22の位置を容易に算出することができる。
【0036】
上述した実施の形態では、撮影手段として第一撮影手段26aと第二撮影手段26bを備えるものとしたが、第二撮影手段26bは無くともよい。この場合、位置算出処理ルーチンにおけるステップS130及びステップS140を省略することができ、この場合であっても、第一撮影情報に基づいて位置を算出することができる。
【0037】
上述した実施の形態では、撮影手段として第一撮影手段26aと第二撮影手段26bを備えるものとしたが、撮影手段は3以上あってもよい。この場合、ステップS130及びステップS140に相当するステップを撮影手段の数に応じて追加することで、上述した実施の形態と同様の効果が得られる。
【0038】
上述した実施の形態では、稜線AE、稜線BF、稜線CG、稜線DHがそれぞれ青色に着色されており、稜線AB、稜線CD、稜線EF、稜線GFがそれぞれ赤色に着色されており、稜線AD、稜線BC、稜線EH、稜線FGがそれぞれ緑色に着色されていることにより、任意の頂点に接続される稜線の色が全て異なる色で着色されているものとしたが、色は青、赤、緑に限定されるものではなく、また、青、赤、緑の位置はこの位置に限定されるものではなく、色の位置はいずれの場所でも良く、他の色で着色してもよい。この場合であっても、上述した実施の形態と同様の効果が得られるが、互いの波長域の違いが大きく、撮像情報から稜線に相当する領域を抽出しやすいという点で青、赤、緑の三色がより好ましい。
【産業上の利用可能性】
【0039】
上述した実施の形態で示すように、位置検出分野、特に位置を検出可能なロボットアームとして利用することができる。
【符号の説明】
【0040】
20…ロボットアーム、22…アーム部、24…カメラユニット、24a…レンズ、26…撮影手段、26a…第一撮影手段、26b…第二撮影手段、30…制御ユニット、31…CPU,32…ROM,33…RAM,34…インタフェース、35…バス。