JP2024057302A - 位置関係特定方法およびロボットシステム - Google Patents

位置関係特定方法およびロボットシステム Download PDF

Info

Publication number
JP2024057302A
JP2024057302A JP2022163942A JP2022163942A JP2024057302A JP 2024057302 A JP2024057302 A JP 2024057302A JP 2022163942 A JP2022163942 A JP 2022163942A JP 2022163942 A JP2022163942 A JP 2022163942A JP 2024057302 A JP2024057302 A JP 2024057302A
Authority
JP
Japan
Prior art keywords
coordinate system
position information
calibration board
image
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022163942A
Other languages
English (en)
Inventor
優斗 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2022163942A priority Critical patent/JP2024057302A/ja
Publication of JP2024057302A publication Critical patent/JP2024057302A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】撮像部の深度情報の精度に由来する位置ずれの程度を把握することができる位置関係特定方法およびロボットシステムを提供すること。【解決手段】校正ボードを3次元カメラにより撮影して、深度情報とともに画像を取得する第1工程と、校正ボード座標系における特徴点の位置情報P1と、画像座標系における特徴点の位置情報P2との対応関係を示すホモグラフィーに基づいて、切り出し領域を設定する第2工程と、仮想平面を設定する第3工程と、校正ボート座標系における基準点の位置情報P3と、ホモグラフィーとに基づいて、画像座標系における基準点の位置情報P4を求める第4工程と、位置情報P4をロボット座標系における基準点の位置情報P5に変換する第5工程と、位置情報P5と、前記エンコーダーから取得した情報に基づいて得られた基準点の位置情報P6との位置関係を求める第6工程と、を有することを特徴とする位置関係特定方法。【選択図】図8

Description

本発明は、位置関係特定方法およびロボットシステムに関する。
近年、工場では人件費の高騰や人材不足により、ロボットアームを有するロボットを用いて製造、加工、組み立て等の作業が行われるようになり、人手で行われてきた作業の自動化が進んでいる。
例えば、特許文献1に記載されているロボットシステムは、ロボットと、撮像部とを備え、撮像部によりロボットの周辺を撮像しつつ、ロボットが作業を行う。このような構成では、ロボットが作業を行うのに先立って、撮像部で撮像したロボットと実際のロボットとの位置関係などを対応付ける作業、すなわち、キャリブレーションが行われる。
特許文献1では、ロボットアームに記してあるマーカーの位置をロボット座標系で特定するとともに、マーカーを撮像部で撮像し、撮像画像に基づいてマーカーの位置をカメラ座標系で特定する。そして、各座標系において特定した位置を紐づけることにより、撮像部とロボットとの位置関係の対応付けがなされる。
特開2020-163565号公報
特許文献1に記載されている方法では、2次元カメラを用いたキャリブレーションであり、3次元カメラを用いて上記方法でキャリブレーションを行った場合、3次元カメラが持つ深度情報を考慮することができない。
本発明の適用例にかかる位置関係特定方法は、ロボットアームの姿勢を検出するエンコーダーを有する前記ロボットアームに設置され、特徴点および基準点を有する校正ボードを3次元カメラにより撮影して、深度情報とともに画像を取得する第1工程と、
前記校正ボードに設定された校正ボード座標系における前記校正ボードの表面上での前記特徴点の位置情報P1と、前記画像に設定された画像座標系における前記画像での前記特徴点の位置情報P2との対応関係を示すホモグラフィーに基づいて、前記画像内において前記校正ボードが映っている切り出し領域を設定する第2工程と、
前記切り出し領域における前記深度情報に基づいて、前記校正ボードの仮想平面を設定する第3工程と、
前記校正ボート座標系における前記校正ボードの前記基準点の位置情報P3と、前記ホモグラフィーとに基づいて、前記画像座標系における前記仮想平面上での前記基準点の位置情報P4を求める第4工程と、
前記画像座標系における前記仮想平面上の前記基準点の前記位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点の位置情報P5に変換する第5工程と、
前記第5工程で特定した前記ロボット座標系における前記基準点の前記位置情報P5と、前記エンコーダーから取得した情報に基づいて得られた前記ロボット座標系における前記基準点の位置情報P6との位置関係を求める第6工程と、を有することを特徴とする。
本発明の適用例にかかるロボットシステムは、ロボットアームと、
前記ロボットアームの姿勢を検出するエンコーダーと、
前記ロボットアームに設置され、特徴点および基準点を有する校正ボードと、
前記校正ボードを撮影して画像を取得する3次元カメラと、
前記ロボットアームおよび前記3次元カメラの作動を制御する制御部と、を備え、
前記制御部は、
前記校正ボードを3次元カメラにより撮影して深度情報とともに画像を取得する第1工程と、
前記校正ボードに設定された校正ボード座標系における前記校正ボードの表面上での前記特徴点の位置情報P1と、前記画像に設定された画像座標系における前記画像での前記特徴点の位置情報P2との対応関係を示すホモグラフィーに基づいて、前記画像内において前記校正ボードが映っている切り出し領域を設定する第2工程と、
前記切り出し領域における前記深度情報に基づいて、前記校正ボードの仮想平面を設定する第3工程と、
前記校正ボート座標系における前記校正ボードの前記基準点の位置情報P3と、前記ホモグラフィーとに基づいて、前記画像座標系における前記仮想平面上での前記基準点の位置情報P4を求める第4工程と、
前記画像座標系における前記仮想平面上の前記基準点の前記位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点の位置情報P5に変換する第5工程と、
前記第5工程で特定した前記ロボット座標系における前記基準点の前記位置情報P5と、前記エンコーダーから取得した情報に基づいて得られた前記ロボット座標系における前記基準点の位置情報P6との位置関係を求める第6工程と、を実行することを特徴とする。
図1は、本発明の位置関係特定方法を実行するロボットシステムの第1実施形態の全体構成を示す図である。 図2は、図1に示すロボットシステムのブロック図である。 図3は、図1に示す校正ボードの平面図である。 図4は、撮像部が撮像した画像を示す図である。 図5は、撮像部が撮像した画像を示す図であり、切り取り領域を示す図である。 図6は、深度情報を示す図である。 図7は、仮想平面を示す図(図6中矢印B方向から見た図)である。 図8は、本発明の位置関係特定方法の一例を示すフローチャートである。
以下、本発明の位置関係特定方法およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
<第1実施形態>
図1は、本発明の位置関係特定方法を実行するロボットシステムの第1実施形態の全体構成を示す図である。図2は、図1に示すロボットシステムのブロック図である。図3は、図1に示す校正ボードの平面図である。図4は、撮像部が撮像した画像を示す図である。図5は、撮像部が撮像した画像を示す図であり、切り取り領域を示す図である。図6は、深度情報を示す図である。図7は、仮想平面を示す図(図6中矢印B方向から見た図)である。図8は、本発明の位置関係特定方法の一例を示すフローチャートである。
なお、以下では、説明の便宜上、ロボットアームについては、図1中の基台11側を「基端」、その反対側、すなわち、第6アーム17側を「先端」とも言う。
図1に示すように、ロボットシステム100は、ロボット1と、3次元カメラで構成される撮像部5と、ロボット1の各部および撮像部5の作動を制御する制御装置3と、を備える。
まず、ロボット1について説明する。
図1に示すロボット1は、本実施形態では単腕の6軸垂直多関節ロボットであり、基台11と、ロボットアーム10と、を有する。また、ロボットアーム10の先端部に後述する校正ボード6、図示しないエンドエフェクター等を着脱可能に装着することができる。
なお、ロボット1は、図示の構成に限定されず、例えば、双腕型の多関節ロボットであってもよい。また、ロボット1は、水平多関節ロボットであってもよい。
基台11は、ロボットアーム10をその基端側において、駆動可能に支持する支持体であり、例えば工場内の床に固定されている。ロボット1は、基台11が中継ケーブルを介して制御装置3と電気的に接続されている。なお、ロボット1と制御装置3との接続は、図1に示す構成のように有線による接続に限定されず、例えば、無線による接続であってもよい。また、インターネット等のネットワークを介して接続されていてもよい。
本実施形態では、ロボットアーム10は、第1アーム12と、第2アーム13と、第3アーム14と、第4アーム15と、第5アーム16と、第6アーム17とを有し、これらのアームが基台11側からこの順に連結されている。なお、ロボットアーム10が有するアームの数は、6つに限定されず、例えば、1つ、2つ、3つ、4つ、5つまたは7つ以上であってもよい。また、各アームの全長等の大きさは、それぞれ、特に限定されず、適宜設定可能である。
基台11と第1アーム12とは、関節171を介して連結されている。そして、第1アーム12は、基台11に対し、鉛直方向に延びる第1回転軸を回転中心とし、その第1回転軸回りに回転可能となっている。このように、第1回転軸は、基台11が固定される床の床面の法線と一致しており、ロボットアーム10の全体が第1回転軸の軸回りに正方向・逆方向のいずれへも回転することができる。
第1アーム12と第2アーム13とは、関節172を介して連結されている。そして、第2アーム13は、第1アーム12に対し、水平方向に延びる第2回転軸を回転中心として回転可能となっている。
第2アーム13と第3アーム14とは、関節173を介して連結されている。そして、第3アーム14は、第2アーム13に対し、水平方向に延びる第3回転軸を回転中心として回転可能となっている。第3回転軸は、第2回転軸と平行である。
第3アーム14と第4アーム15とは、関節174を介して連結されている。そして、第4アーム15は、第3アーム14に対し、第3アーム14の中心軸方向と平行な第4回転軸を回転中心として回転可能となっている。第4回転軸は、第3回転軸と直交している。
第4アーム15と第5アーム16とは、関節175を介して連結されている。そして、第5アーム16は、第4アーム15に対して第5回転軸を回転中心として回転可能となっている。第5回転軸は、第4回転軸と直交している。
第5アーム16と第6アーム17とは、関節176を介して連結されている。そして、第6アーム17は、第5アーム16に対して第6回転軸を回転中心として回転可能となっている。第6回転軸は、第5回転軸と直交している。
第6アーム17は、ロボットアーム10の中で最も先端側に位置するロボット先端部となっている。この第6アーム17の先端には、制御点TCPが設定されている。
ロボット1は、駆動部としてのモーターM1、モーターM2、モーターM3、モーターM4、モーターM5およびモーターM6と、検出部としてのエンコーダーE1、エンコーダーE2、エンコーダーE3、エンコーダーE4、エンコーダーE5およびエンコーダーE6とを備える。モーターM1は、関節171に内蔵され、基台11に対し第1アーム12を前記第1回転軸回りに回転させる。モーターM2は、関節172に内蔵され、第1アーム12と第2アーム13とを前記第2回転軸回りに相対的に回転させる。モーターM3は、関節173に内蔵され、第2アーム13と第3アーム14とを前記第3回転軸回りに相対的に回転させる。モーターM4は、関節174に内蔵され、第3アーム14と第4アーム15とを前記第4回転軸回りに相対的に回転させる。モーターM5は、関節175に内蔵され、第4アーム15と第5アーム16とを前記第5回転軸回りに相対的に回転させる。モーターM6は、関節176に内蔵され、第5アーム16と第6アーム17とを前記第6回転軸回りに相対的に回転させる。
また、エンコーダーE1は、関節171に内蔵され、モーターM1の位置を検出する。エンコーダーE2は、関節172に内蔵され、モーターM2の位置を検出する。エンコーダーE3は、関節173に内蔵され、モーターM3の位置を検出する。エンコーダーE4は、関節174に内蔵され、モーターM4の位置を検出する。エンコーダーE5は、関節175に内蔵され、モーターM5の位置を検出する。エンコーダーE6は、関節176に内蔵され、モーターM6の位置を検出する。なお、ここで言う「位置を検出」とは、モーターの回転角すなわち正逆を含む回転量および角速度を検出することを言い、当該検出された情報を、以下「回転位置情報」と言う。
図2に示すように、モータードライバーD1~モータードライバーD6は、それぞれ、対応するモーターM1~モーターM6に接続され、これら各モーターの駆動を制御する。モータードライバーD1~モータードライバーD6は、それぞれ、関節171、関節172、関節173、関節174、第5アーム16および第6アーム17に内蔵されている。
エンコーダーE1~エンコーダーE6、モーターM1~モーターM6およびモータードライバーD1~モータードライバーD6は、それぞれ、制御装置3と電気的に接続されている。エンコーダーE1~エンコーダーE6で検出されたモーターM1~モーターM6の回転位置情報、すなわち、回転量は、制御装置3に電気信号として送信される。そして、この回転位置情報に基づいて、制御装置3は、図2に示すモータードライバーD1~モータードライバーD6に制御信号を出力し、モーターM1~モーターM6を駆動させる。
制御装置3は、エンコーダーE1~E6が検出した回転位置情報に基づいて、所定のプログラムに従い、ロボットアーム10の姿勢を求めることができる。すなわち、エンコーダーE1~E6は、ロボットアーム10の姿勢を検出する検出部である。
制御装置3は、ロボットアーム10の姿勢に基づいて、ロボット座標系におけるロボットアーム10の先端部の位置、特に制御点TCPの位置を特定することができる。また、制御装置3は、ロボットアーム10の姿勢に基づいて、ロボット座標系における後述する基準点620の位置情報P6を求めることができる。
図1に示すように、ロボット座標系は、例えば、基台11上の任意の点を原点とし、互いに直交する3軸、すなわちX軸、Y軸およびZ軸で規定される座標系である。
ロボットアーム10の先端には、作業開始前、すなわち、キャリブレーション時には、校正ボード6が設置されており、対象物の搬送作業、加工作業、組み立て作業等の作業(以下これらを単に「作業」と言うことがある。)を行う際には、その作業に応じたエンドエフェクターが設置される。
エンドエフェクターとしては、吸着により対象物を把持するハンドや、2本の爪で挟持することにより対象物を把持するハンド等が挙げられる。なお、エンドエフェクターとしては、ハンドに限定されず、例えば、研磨機、研削機、切削機、スプレーガン、レーザー光照射器、ドライバー、レンチ等の工具であってもよい。
図1および図3に示すように、校正ボード6は、板状をなし、表面60を有する。位置関係特定方法を実行する際に、撮像部5により校正ボード6の表面60が撮像される。校正ボード6の表面60は、平面視で正方形をなし、4つの角部60A、60B、60Cおよび60Dを有する。また、校正ボード6の表面60には、4つの円形のマーカー61が2行×2列の配置で付されている。各マーカー61の形状、大きさおよび色彩は同一である。各マーカー61の中心は、後述するように、特徴点610として機能する。
マーカー61は、黒色等の暗色であり、表面60のマーカー61以外の部分は、白色等の明色である。ただし、この構成に限定されず、マーカー61と、マーカー61以外の部分とは、異なる色であれば、如何なる色の組み合わせであってもよい。例えば、マーカー61が白色等の明色、マーカー61以外の部分が黒色等の暗色の場合が挙げられる。
マーカー61とマーカー61以外の部分とが異なる色、特に暗色と明色の組み合わせであることにより、両者のコントラストが大きくなり両者の境界が明確となるので、校正ボート座標系と画像座標系とをより正確に対応付けることができる。
また、校正ボード6の表面60の中心は、後述する基準点620として機能する。基準点620は、4つの特徴点610の中心でもある。また、基準点620は、制御点TCPと一致していてもよい。
このような校正ボード6には、実空間の座標系である校正ボード座標系が設定されている。校正ボード座標系は、例えば、角部60Aを原点とし、互いに直交する3軸(A軸、B軸、C軸)で規定される座標系である。校正ボード座標系において、原点から各特徴点610までの距離は、例えば、(mm)で表すことができ、設計値であり、既知である。
なお、上記構成に限定されず、校正ボード座標系の原点は、角部60Bであってもよく、角部60Cであってもよく、角部60Dであってもよく、その他の任意の点であってもよい。
撮像部5は、2次元画像とともに、各画素における深度情報(以下単に「深度情報」と言うことがある。)を取得する3次元カメラで構成される。すなわち、撮像部5は、例えば、図4および図5に示す撮像画像Dsを取得するとともに、深度情報として図6および図7に示す、撮像画像Dsの各画素に対応する深度を示す点の集合である点群データDtを取得する。ここで、深度情報は、校正ボード6の表面60に沿って分布し、表面60からの距離を示す点の集合である点群データDtである。
撮像部5の3次元カメラとしては、例えば、ステレオカメラが挙げられる。ステレオカメラは、例えば所定距離離間して配置された2台の電子式デジタルカメラで構成される。また、撮像部5は、赤外線カメラで構成されていてもよい。
また、撮像部5には、カメラ座標系が設定されている。カメラ座標系は、例えば、撮像部5の任意の点を原点とし、互いに直交する3軸、すなわちU軸、V軸およびW軸で規定される座標系である。例えば、ロボットアーム10の作業中、撮像部5が取得した画像に基づいてロボットアーム10を駆動させる場合、カメラ座標系とロボット座標系とを対応付けておく必要がある。
撮像部5は、制御装置3と電気的に接続されており、制御装置3によって撮像タイミングが制御される。また、撮像部5は、撮像画像Dsおよび点群データDtに対応する電気信号を制御装置3に送信し、制御装置3は、受信した電気信号を撮像画像Dsおよび点群データDtに変換し、記憶部32に記憶する。撮像画像Dsおよび点群データDtは、後述するように、位置関係算出方法に用いられる。
撮像部5と制御装置3との接続は、有線による接続に限定されず、無線による接続であってもよい。また、インターネット等のネットワークを介して接続されていてもよい。
図4および図5に示すように、撮像部5が撮像した撮像画像Dsには、画像座標系が設定されている。撮像画像Ds内の任意の位置を原点とし、互いに直交する3軸、すなわちx軸、y軸およびz軸で規定される座標系である。撮像画像Ds上にx軸およびy軸が設定され、深さ方向にz軸が設定される。このような画像座標系において、原点から任意の位置までの距離は、例えば、ピクセル数で表すことができる。すなわち、撮像画像Ds内で任意の2点間の距離は、2点間のx軸、y軸およびz軸方向のそれぞれのピクセル数で表すことができる。
次に、制御装置3について説明する。
図1および図2に示す制御装置3は、本発明の位置関係特定方法を実行する機能や、ロボットアーム10の作動を制御する機能を有する。制御装置3は、本実施形態では、ロボット1と離れた位置に設置されている。ただし、この構成に限定されず、制御装置3は、基台11に内蔵されていてもよい。また、制御装置3は、ロボット1の駆動を制御する機能を有し、前述したロボット1の各部と電気的に接続されている。制御装置3は、制御部31と、記憶部32と、通信部33と、を有する。これらの各部は、例えばバスを介して相互に通信可能に接続されている。
制御部31は、例えば、CPU(Central Processing Unit)で構成され、記憶部32に記憶されている動作プログラム等の各種プログラムを読み出し、実行する。制御部31で生成された信号は、通信部33を介してロボット1の各部に送信され、ロボット1の各部からの信号は、通信部33を介して制御部31で受信される。制御部31で受信された信号は、所定の処理が施され、記憶部32に記憶され、あるいはロボットアーム10のキャリブレーション作業に利用される。このような制御部31により、ロボットアーム10が所定の作業を所定の条件で実行することができる。
制御部31は、本発明の位置関係特定方法を実行する部分であり、記憶部32に記憶されている位置関係特定プログラムを読み出し、実行することにより、後述する第1工程~第6工程を順次実行する。
また、制御部31は、図示しない教示装置から取得した動作プログラムに基づいて、モーターM1~M6を駆動して関節171~176を回転させ、所定の速度条件で加速動作を実行する。
記憶部32は、制御部31で実行される各種プログラム等を保存する。記憶部32としては、例えば、RAM(Random Access Memory)等の揮発性メモリー、ROM(Read Only Memory)等の不揮発性メモリー、着脱式の外部記憶装置等を有する構成のものが挙げられる。記憶部32には、位置関係特定プログラムや、作業プログラム等が記憶されている。また、記憶部32には、位置関係特定プログラムの実行中に、撮像画像Ds、点群データDt、仮想平面S等の各種データが一時的に記憶される。
通信部33は、例えば有線LAN(Local Area Network)、無線LAN等の外部インターフェースを用いて他の機器との間で信号の送受信を行う。この場合、図示しないサーバーを介して通信を行ってもよく、また、インターネット等のネットワークを介して通信を行ってもよい。
このようなロボットシステム100では、撮像部5に設定されたカメラ座標系(U軸、V軸、W軸)と、ロボット1に設定されたロボット座標系(X軸、Y軸、Z軸)とを対応付けておく必要がある。この対応付けにより、カメラ座標系で特定した位置をロボット座標系で特定し、撮像部5で撮像した画像に基づいてロボットアーム10が作業を行うことができる。
従来では、以下のような手順で対応付けが行われている。
まず、2次元カメラ、すなわち単一のデジタルカメラで画像を取得し、画像内での任意の位置を画像座標系、カメラ座標系、ロボット座標系で特定し、対応付けが完了する。しかしながら、従来の2次元カメラを3次元カメラによる撮像部5に代えてキャリブレーションを行った場合、上記従来の方法では、異なる座標系間で正確な対応付けができない。特に、3次元カメラは、個体ごとに測定する深度情報に誤差があるため、この誤差を考慮しなければならない。本発明では、以下のような方法により、上記課題を解決することができる。
以下、本発明の位置関係特定方法の一例について、図8に示すフローチャートを用いて説明する。
(第1工程)
第1工程は、ステップS101を有する。
まず、ロボットアーム10の先端部に、校正ボード6を設置した状態で、ステップS101において、校正ボード6を撮像部5により撮影し、深度情報とともに撮像画像Dsを取得する(図4参照)。すなわち、制御部31は、撮像部5の作動を制御して校正ボード6を撮像させ、撮像部5から、深度情報とともに撮像画像Dsを取得する。
撮像の際のロボットアーム10の姿勢は、特に限定されないが、例えば、初期姿勢が挙げられる。初期姿勢において各エンコーダーE1~E6が検出した回転量の情報に基づいて、制御点TCPの位置をロボット座標系で把握することができる。また、校正ボード6の原点が制御点TCPからどの方向にどの程度ずれているかは、実測値として既知とすることができるため、校正ボード座標系における校正ボード6の任意の位置を、ロボット座標系で特定することができる。
なお、撮像の際のロボットアーム10の姿勢は、特に限定されず、例えば、初期姿勢とすることができる。
また、校正ボード6の設置位置は、ロボット座標系において校正ボード6の位置を把握することができさえすれば、上記構成に限定されず、関節171~176や、各アーム12~17の側面等であってもよい。
(第2工程)
第2工程は、ステップS102と、ステップS103とを有する。
ステップS102では、校正ボード6に設定された校正ボード座標系における校正ボード6の表面60上での特徴点610の位置情報P1と、撮像画像Dsに設定された画像座標系における撮像画像Dsでの特徴点610の位置情報P2との対応関係を示すホモグラフィーHを求める。特徴点610は、4つあるが、以下1つについて代表的に説明する。
位置情報P1は、校正ボード座標系において、例えば、(A1a、B1b、C1c)で表される位置情報である。すなわち、位置情報P1は、校正ボード座標系において、原点から、A軸方向にA1a(mm)、B軸方向にB1b(mm)、C軸方向にC1c(mm)ずれた位置のことである。
位置情報P2は、画像座標系において、例えば、(x2a、y2b、z2c)で表される位置情報である。すなわち、位置情報P2は、画像座標系において、原点から、x軸方向にx2a(ピクセル)、y軸方向にy2b(ピクセル)、z軸方向にz2c(ピクセル)ずれた位置のことである。
位置情報P1および位置情報P2は、実空間では同じ位置のことを示しているが、座標系が違うのでこのように表される。
ホモグラフィーHは、ホモグラフィー行列、すなわち射影変換行列であり、2つの画像間の画像マッチングにおいて複数の対応点が存在する場合に、対応点同士の誤差を表す行列である。ホモグラフィー行列は、例えば3行×3列で表される行列であり、例えば最小二乗法により求められる。
このようなホモグラフィーHを求めることにより、単位が(mm)で表される校正ボード座標系と、単位が(ピクセル)で表される画像座標系と、の対応関係を把握することができる。
ステップS103では、ステップS102で求めたホモグラフィーHに基づいて、撮像画像Ds内において校正ボード6が映っている切り出し領域Aを設定する(図5参照)。
校正ボード座標系において、例えば、特徴点610と、それに近い角部例えば角部60Aとの離間距離は、設計値であり、既知である。このため、ホモグラフィーHを用いて、校正ボード座標系における離間距離を画像座標系における離間距離に変換することができる。よって、画像座標系において、校正ボード6がどこに映っているかを特定する、すなわち、撮像画像Dsにおいて校正ボード6が映っている切り出し領域Aを設定することができる。
(第3工程)
第3工程は、ステップS104と、ステップS105と、ステップS106と、を有する。
ステップS104では、切り出し領域Aにおける全画素を二値化して、有効画素と無効画素とに分ける。すなわち、切り出し領域Aにおける画素の輝度値がしきい値以上であった場合、有効画素とし、輝度値がしきい値未満であった場合、無効画素とする。図示の構成では、校正ボード6のうち、マーカー61以外の部分を有効画素とし、マーカー61に対応する部分を無効画素とする。
ステップS105では、マーカー61以外の画素の深度情報を取得する。すなわち、撮像画像Dsにおいて、有効画素の全ての画素の深度情報を取得する。この深度情報は、図6および図7に示すような点群データDtである。
理想的には、点群データDtにおける各点の高さ、すなわち表面60からのZ軸方向の距離が同じであるが、3次元カメラの個体ごとに精度のバラツキがある。このため、図7に示すように、点群データDtは、高さがまばらな点の集合となる傾向を示す。
ステップS106では、切り出し領域Aにおける点群データDtに基づいて、校正ボード6の実際の表面60と仮定した仮想平面Sを設定する。本実施形態では、点群データDtの各点の高さを平面近似することにより、仮想平面Sを設定する。これにより、適正な仮想平面Sを設定することができる。なお、仮想平面Sは、実際の表面60と一致することもある。
ステップS106では、例えば、RANSAC等のロバスト推定の手法を用いて、深度値の外れ値を除去してもよい。
また、本実施形態では、仮想平面Sに対する点群データDtのバラツキの程度を示す標準偏差σを求め、記憶部32に記憶する。
(第4工程)
第4工程は、ステップS107を有する。
ステップS107では、画像座標系における仮想平面S上での基準点620の位置情報P4を求める。基準点620は、校正ボード6の表面60の平面視における中心とする。ただし、この構成に限定されず、例えば、角部60A~60Dや、その他の任意の位置であってもよい。
本ステップでは、まず、校正ボート座標系における校正ボード6の基準点620の位置情報P3を求め、求めた位置情報P3と、ステップS102で求めたホモグラフィーHとに基づいて、位置情報P4を求める。
位置情報P3は、校正ボード座標系において、例えば、(A1d、B1e、C1f)で表される位置情報である。すなわち、位置情報P3は、校正ボード座標系において、原点から、A軸方向にA1d(mm)、B軸方向にB1e(mm)、C軸方向にC1f(mm)ずれた位置のことである。校正ボード座標系において、原点から各基準点620までの距離は、設計値であり、既知である。
このような位置情報P3にホモグラフィーHを掛けることにより、画像座標系における仮想平面S上での基準点620の位置情報P4を求めることができる。
位置情報P4は、画像座標系において、例えば、(x2d、y2e、z2f)で表される位置情報である。すなわち、位置情報P4は、画像座標系において、原点から、x軸方向にx2d(ピクセル)、y軸方向にy2e(ピクセル)、z軸方向にz2f(ピクセル)ずれた位置のことである。
このようなステップS107を経ることにより、画像座標系における仮想平面S上での基準点620の位置情報P4を求めることができる。
(第5工程)
第5工程は、ステップS108を有する。
ステップS108では、ステップS107で求めた位置情報P4を、ロボット座標系における基準点620の位置情報P5に変換する。具体的には、位置情報P4に、内部パラメーターおよび外部パラメーターを掛けることにより、位置情報P5に変換する。
内部パラメーターは、撮像部5に固有のパラメーターであり、画像座標系から撮像部5の任意の位置を原点とするカメラ座標系に変換するパラメーターである。内部パラメーターは、例えば、3行×3列の行列で表される。
カメラ座標系における位置情報に外部パラメーターを掛けることにより、ロボット座標系における基準点620の位置情報とする。外部パラメーターは、例えば、従来のキャリブレーション方法により求めることができるパラメーターである。外部パラメーターは、例えば、4行×4列の行列で表される。外部パラメーターは、ステップS108の開始時に把握できていればよく、例えば、ステップS101~S107と同時進行で求めてもよく、ステップS101を開始する以前に予め求めておいてもよい。
このようなステップS107を経ることにより、ロボット座標系における基準点620の位置情報P5を求めることができる。
位置情報P5は、ロボット座標系において、例えば、(X3d、Y3e、Z3f)で表される位置情報である。すなわち、位置情報P5は、ロボット座標系において、原点から、X軸方向にX3d(mm)、Y軸方向にY3e(mm)、Z軸方向にZ3f(mm)ずれた位置のことである。
(第6工程)
第6工程は、ステップS109を有する。
ステップS109は、ステップS108で特定した位置情報P5と、エンコーダーE1~E6から取得した情報に基づいて得られたロボット座標系における基準点620の位置情報P6との位置関係を求める。すなわち、位置情報P5と位置情報P6とのずれ量を求める。位置情報P6は、前述したように、エンコーダーE1~E6から取得したモーターM1~モーターM6の回転位置情報に基づいて求められるロボットアーム10の姿勢から算出することができる。
位置情報P6は、ロボット座標系において、例えば、(X3d’、Y3e’、Z3f’)で表される位置情報である。すなわち、位置情報P6は、ロボット座標系において、原点から、X軸方向にX3d’(mm)、Y軸方向にY3e’(mm)、Z軸方向にZ3f’(mm)ずれた位置のことである。
このように、撮像部5由来の基準点620の位置情報P5と、エンコーダーE1~E6由来の基準点620の位置情報P6とは、3Dカメラの精度分ずれが生じる。このずれ量をX軸、Y軸、Z軸ごとに求める。X軸方向のずれ量ΔXは、X3d-X3d’で表され、Y軸方向のずれ量ΔYは、Y3e-Y3e’で表され、Z軸方向のずれ量ΔZは、Z3f-Z3f’で表される。
このように、撮像部5由来の基準点620の位置情報P5と、エンコーダーE1~E6由来の基準点620の位置情報P6との位置関係を求めることにより、撮像部5の深度情報の精度に由来する位置ずれの程度を把握することができる。そして、この位置関係、すなわちずれ量を加味して、ロボット1が作業を行うことにより、位置精度の高い作業を行うことができる。
ずれ量を加味して作業を行うことは、例えば、ロボットアーム10が実行する動作プログラムにおいて、ずれ量分、ロボットアーム10の位置情報を書き換えたり、ロボット1の設置位置、撮像部5の設置位置、作業対象物の設置位置をずらしたり、ロボット座標系の原点の位置をずらしたりして作業を行うことである。
また、ずれ量の算出の際、ステップS106で求めた標準偏差σを加味して求めてもよい。すなわち、z軸方向におけるずれ量Δzを、z3f-z3f’+σで求めてもよい。z軸方向におけるずれ量Δzは、これにより、深度情報のバラツキ具合をバランスよく加味したずれ量を求めることができる。
以上説明したように、本発明の位置関係特定方法は、ロボットアーム10の姿勢を検出するエンコーダーE1~E6を有するロボットアーム10に設置され、特徴点610および基準点620を有する校正ボード6を3次元カメラである撮像部5により撮影して、深度情報とともに撮像画像Dsを取得する第1工程と、校正ボード6に設定された校正ボード座標系における校正ボード6の表面60上での特徴点610の位置情報P1と、撮像画像Dsに設定された画像座標系における撮像画像Dsでの特徴点610の位置情報P2との対応関係を示すホモグラフィーHに基づいて、撮像画像Ds内において校正ボード6が映っている切り出し領域Aを設定する第2工程と、切り出し領域Aにおける深度情報に基づいて、校正ボード6の仮想平面Sを設定する第3工程と、校正ボート座標系における校正ボード6の基準点620の位置情報P3と、ホモグラフィーHとに基づいて、画像座標系における仮想平面S上での基準点620の位置情報P4を求める第4工程と、画像座標系における仮想平面S上の基準点620の位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点620の位置情報P5に変換する第5工程と、第5工程で特定したロボット座標系における基準点620の位置情報P5と、エンコーダーE1~E6から取得した情報に基づいて得られたロボット座標系における基準点620の位置情報P6との位置関係を求める第6工程と、を有する。
これにより、撮像画像とロボットとの位置関係の特定、すなわちキャリブレーションをより正確に行うことができる。より詳しくは、撮像部5の深度情報の精度に由来する位置ずれの程度を把握することができ、よって、例えば、上記位置関係、すなわちずれ量を加味して、ロボット1が作業を行うことにより、位置精度の高い作業を行うことができる。
また、前述したように、第6工程で求めた位置情報P5と位置情報P6との位置関係は、ロボットアーム10が作業を行う際に加味される。これにより、位置精度の高い作業を行うことができる。
また、前述したように、第6工程では、仮想平面Sに対する深度情報の標準偏差σを加味して位置情報P5と位置情報P6との位置関係を求める。これにより、深度情報のバラツキ具合を加味したずれ量を求めることができる。その結果、さらに適正なキャリブレーションを行うことができる。
なお、上記構成に限定されず、標準偏差σに代えて、例えば、点群データDtにおける各点の深度の平均値を加味して位置情報P5と位置情報P6との位置関係を求めてもよく、標準偏差σおよび平均値の双方を加味して位置情報P5と位置情報P6との位置関係を求めてもよい。
また、前述したように、深度情報は、校正ボード6の表面60に沿って分布し、表面60からの距離を示す点群データDtであり、第3工程では、点群データDtを平面近似することにより、仮想平面Sを設定する。これにより、より適正な仮想平面Sを設定することができる。その結果、さらに適正なキャリブレーションを行うことができる。
なお、平面近似以外の方法、例えば、各点の深度の平均を求めることにより、仮想平面Sを設定してもよい。
また、校正ボード6は、表面60に、周囲と色が異なる円形のマーカー61を有し、特徴点610は、マーカー61の中心である。このような校正ボード6を用いることにより、校正ボート座標系と画像座標系とをより正確に対応付けることができる。その結果、さらに適正なキャリブレーションを行うことができる。
なお、マーカー61の形状は、円形に限定されず、三角形、四角形、星形、楕円形等の形状であってもよい。また、多角形の場合、角部を特徴点610としてもよい。
また、ロボットシステム100は、ロボットアーム10と、ロボットアーム10の姿勢を検出するエンコーダーと、ロボットアーム10に設置され、特徴点610および基準点620を有する校正ボード6と、校正ボード6を撮影して画像を取得する3次元カメラである撮像部5と、ロボットアーム10および撮像部5の作動を制御する制御部31と、を備える。また、制御部31は、校正ボード6を撮像部5により撮影して、深度情報とともに撮像画像Dsを取得する第1工程と、校正ボード6に設定された校正ボード座標系における校正ボード6の表面60上での特徴点610の位置情報P1と、撮像画像Dsに設定された画像座標系における撮像画像Dsでの特徴点610の位置情報P2との対応関係を示すホモグラフィーHに基づいて、撮像画像Ds内において校正ボード6が映っている切り出し領域Aを設定する第2工程と、切り出し領域Aにおける深度情報に基づいて、校正ボード6の仮想平面Sを設定する第3工程と、校正ボート座標系における校正ボード6の基準点620の位置情報P3と、ホモグラフィーHとに基づいて、画像座標系における仮想平面S上での基準点620の位置情報P4を求める第4工程と、画像座標系における仮想平面S上の基準点620の位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点620の位置情報P5に変換する第5工程と、第5工程で特定したロボット座標系における基準点620の位置情報P5と、エンコーダーE1~E6から取得した情報に基づいて得られたロボット座標系における基準点620の位置情報P6との位置関係を求める第6工程と、を実行する。
これにより、撮像画像とロボットとの位置関係の特定、すなわちキャリブレーションをより正確に行うことができる。より詳しくは、撮像部5の深度情報の精度に由来する位置ずれの程度を把握することができ、よって、例えば、上記位置関係、すなわちずれ量を加味して、ロボット1が作業を行うことにより、位置精度の高い作業を行うことができる。
なお、上記実施形態では、制御装置3の制御部31が、本発明の位置関係特定方法を実行する場合を例に挙げて説明したが、本発明ではこれに限定されず、位置関係特定方法を実行する制御部は、図示しない教示装置の制御部であってもよく、その他のコンピューターが有する制御部であってもよい。
以上、本発明の位置関係特定方法およびロボットシステムを図示の各実施形態について説明したが、本発明は、これに限定されるものではない。また、本発明の位置関係特定方法およびロボットシステムには、任意の工程や、任意の構造物が付加されていてもよい。また、本発明の位置関係特定方法およびロボットシステムにおける各工程、各部は、同様の機能を発揮し得る任意の工程、構造物と置換することができる。
1…ロボット、3…制御装置、5…撮像部、6…校正ボード、10…ロボットアーム、11…基台、12…第1アーム、13…第2アーム、14…第3アーム、15…第4アーム、16…第5アーム、17…第6アーム、31…制御部、32…記憶部、33…通信部、60…表面、60A…角部、60B…角部、60C…角部、60D…角部、61…マーカー、100…ロボットシステム、171…関節、172…関節、173…関節、174…関節、175…関節、176…関節、610…特徴点、620…基準点、A…切り出し領域、D1…モータードライバー、D2…モータードライバー、D3…モータードライバー、D4…モータードライバー、D5…モータードライバー、D6…モータードライバー、Ds…撮像画像、Dt…点群データ、E1…エンコーダー、E2…エンコーダー、E3…エンコーダー、E4…エンコーダー、E5…エンコーダー、E6…エンコーダー、M1…モーター、M2…モーター、M3…モーター、M4…モーター、M5…モーター、M6…モーター、S…仮想平面、TCP…制御点

Claims (6)

  1. ロボットアームの姿勢を検出するエンコーダーを有する前記ロボットアームに設置され、特徴点および基準点を有する校正ボードを3次元カメラにより撮影して、深度情報とともに画像を取得する第1工程と、
    前記校正ボードに設定された校正ボード座標系における前記校正ボードの表面上での前記特徴点の位置情報P1と、前記画像に設定された画像座標系における前記画像での前記特徴点の位置情報P2との対応関係を示すホモグラフィーに基づいて、前記画像内において前記校正ボードが映っている切り出し領域を設定する第2工程と、
    前記切り出し領域における前記深度情報に基づいて、前記校正ボードの仮想平面を設定する第3工程と、
    前記校正ボート座標系における前記校正ボードの前記基準点の位置情報P3と、前記ホモグラフィーとに基づいて、前記画像座標系における前記仮想平面上での前記基準点の位置情報P4を求める第4工程と、
    前記画像座標系における前記仮想平面上の前記基準点の前記位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点の位置情報P5に変換する第5工程と、
    前記第5工程で特定した前記ロボット座標系における前記基準点の前記位置情報P5と、前記エンコーダーから取得した情報に基づいて得られた前記ロボット座標系における前記基準点の位置情報P6との位置関係を求める第6工程と、を有することを特徴とする位置関係特定方法。
  2. 前記第6工程では、前記仮想平面に対する前記深度情報の標準偏差を加味して前記位置情報P5と前記位置情報P6との位置関係を求める請求項1に記載の位置関係算出方法。
  3. 前記深度情報は、前記校正ボードの前記表面に沿って分布し、前記表面からの距離を示す点群データであり、
    前記第3工程では、前記点群データを平面近似することにより、前記仮想平面を設定する請求項1に記載の位置関係算出方法。
  4. 前記校正ボードは、前記表面に、周囲と色が異なる円形のマーカーを有し、
    前記特徴点は、前記マーカーの中心である請求項1に記載の位置関係算出方法。
  5. 前記第6工程で求めた前記位置関係は、前記ロボットアームが作業を行う際に加味される請求項1に記載の位置関係算出方法。
  6. ロボットアームと、
    前記ロボットアームの姿勢を検出するエンコーダーと、
    前記ロボットアームに設置され、特徴点および基準点を有する校正ボードと、
    前記校正ボードを撮影して画像を取得する3次元カメラと、
    前記ロボットアームおよび前記3次元カメラの作動を制御する制御部と、を備え、
    前記制御部は、
    前記校正ボードを3次元カメラにより撮影して深度情報とともに画像を取得する第1工程と、
    前記校正ボードに設定された校正ボード座標系における前記校正ボードの表面上での前記特徴点の位置情報P1と、前記画像に設定された画像座標系における前記画像での前記特徴点の位置情報P2との対応関係を示すホモグラフィーに基づいて、前記画像内において前記校正ボードが映っている切り出し領域を設定する第2工程と、
    前記切り出し領域における前記深度情報に基づいて、前記校正ボードの仮想平面を設定する第3工程と、
    前記校正ボート座標系における前記校正ボードの前記基準点の位置情報P3と、前記ホモグラフィーとに基づいて、前記画像座標系における前記仮想平面上での前記基準点の位置情報P4を求める第4工程と、
    前記画像座標系における前記仮想平面上の前記基準点の前記位置情報P4を、内部パラメーターおよび外部パラメーターに基づいてロボット座標系における基準点の位置情報P5に変換する第5工程と、
    前記第5工程で特定した前記ロボット座標系における前記基準点の前記位置情報P5と、前記エンコーダーから取得した情報に基づいて得られた前記ロボット座標系における前記基準点の位置情報P6との位置関係を求める第6工程と、を実行することを特徴とするロボットシステム。
JP2022163942A 2022-10-12 2022-10-12 位置関係特定方法およびロボットシステム Pending JP2024057302A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022163942A JP2024057302A (ja) 2022-10-12 2022-10-12 位置関係特定方法およびロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022163942A JP2024057302A (ja) 2022-10-12 2022-10-12 位置関係特定方法およびロボットシステム

Publications (1)

Publication Number Publication Date
JP2024057302A true JP2024057302A (ja) 2024-04-24

Family

ID=90778850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022163942A Pending JP2024057302A (ja) 2022-10-12 2022-10-12 位置関係特定方法およびロボットシステム

Country Status (1)

Country Link
JP (1) JP2024057302A (ja)

Similar Documents

Publication Publication Date Title
JP6710946B2 (ja) 制御装置、ロボットおよびロボットシステム
JP6180087B2 (ja) 情報処理装置及び情報処理方法
JP3946711B2 (ja) ロボットシステム
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
CN109648605B (zh) 机器人系统
US20080249659A1 (en) Method and system for establishing no-entry zone for robot
JP7111114B2 (ja) 情報処理装置、情報処理方法及び情報処理システム
JP2016099257A (ja) 情報処理装置及び情報処理方法
JP2016000442A (ja) ロボット、ロボットシステム及び制御装置
JP2005515910A (ja) シングルカメラ3dビジョンガイドロボティクスの方法および装置
JPH0435885A (ja) 視覚センサのキャリブレーション方法
JP2011011321A (ja) ロボットシステム及びロボットシステムのキャリブレーション方法
JP6897396B2 (ja) 制御装置、ロボットシステムおよび制御方法
US11691290B2 (en) Robot control method and robot system
WO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP2003311670A (ja) ロボットアームの位置制御方法およびロボット装置
CN113492401B (zh) 校正方法
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
US20230123629A1 (en) 3d computer-vision system with variable spatial resolution
JP2024057302A (ja) 位置関係特定方法およびロボットシステム
WO2023032400A1 (ja) 自動搬送装置、及びシステム
JP2016203282A (ja) エンドエフェクタの姿勢変更機構を備えたロボット
EP3738725B1 (en) Measurement system, measurement device, measurement method, and measurement program
JP2005205519A (ja) ロボットハンド装置
CN114939865B (zh) 校准方法