JP6596530B2 - 方法及び装置 - Google Patents

方法及び装置 Download PDF

Info

Publication number
JP6596530B2
JP6596530B2 JP2018055637A JP2018055637A JP6596530B2 JP 6596530 B2 JP6596530 B2 JP 6596530B2 JP 2018055637 A JP2018055637 A JP 2018055637A JP 2018055637 A JP2018055637 A JP 2018055637A JP 6596530 B2 JP6596530 B2 JP 6596530B2
Authority
JP
Japan
Prior art keywords
marker
coordinate system
predetermined
posture
detection point
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.)
Active
Application number
JP2018055637A
Other languages
English (en)
Other versions
JP2019168304A (ja
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.)
Atlas Copco KK
Original Assignee
Atlas Copco KK
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 Atlas Copco KK filed Critical Atlas Copco KK
Priority to JP2018055637A priority Critical patent/JP6596530B2/ja
Priority to PCT/JP2019/011980 priority patent/WO2019182084A1/ja
Publication of JP2019168304A publication Critical patent/JP2019168304A/ja
Application granted granted Critical
Publication of JP6596530B2 publication Critical patent/JP6596530B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23PMETAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
    • B23P21/00Machines for assembling a multiplicity of different parts to compose units, with or without preceding or subsequent working of such parts, e.g. with programme control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer

Description

本開示は、工具等のオブジェクトに付されたマーカを利用したオブジェクトによる、あるいはオブジェクトに対する作業が正しくおこなわれたかを検出する方法及び装置に関する。
生産現場において部品を組み付ける工具の位置を検出するために、工具に付されたマーカを撮像し、得られた画像を解析して工具の位置を検出するシステムが知られている。例えば、特許文献1では、工具の先端付近に付設されたマーカを撮像し、工具の位置を検出する。
特許第5930708号
しかしながら、上記のような従来のシステムでは、工具を用いてねじの締め付けを行う際に、最も知りたい位置であるねじ等に作用する位置にマーカを付設可能な、特殊な形状を有する工具を用いる必要があった。例えば、特許文献1ではねじに近い位置にマーカを付設可能なトルクレンチを用いる必要があった。しかしながら、工具の形状や大きさによっては、工具がねじ等に作用する位置にマーカを付設することは困難である。例えば、工具がドライバの場合、ドライバがねじと嵌合する位置は狭く、当該位置にマーカを付設することは困難である。ドライバがねじと嵌合する位置にマーカを付設できたとしても、マーカが手やドライバによって隠れてしまいマーカを識別することができないことがある。また、ねじで部品を組み立てる際に、最も知りたい位置である部品のねじ穴にはマーカを付設することができない。本開示は上述の点に鑑みてなされたものであり、様々な形状や大きさを有する工具等の最も知りたい位置(即ち、工具の場合、工具がねじ等に接触する位置であり、部品の場合、部品がねじ等により作用される位置である)とは異なる位置にオブジェクトマーカを付設する。そして、当該オブジェクトマーカを用いて最も知りたい位置である検出点の位置(上記工具でいえば、工具がねじ等に接触する位置)を求めることを目的の一つとする。
また上記のような従来のシステムでは、工具の姿勢によっては、工具等が作用する部品の姿勢が誤っており、正しく作業を行えないことがある。例えば工具がドライバの場合、工具の姿勢が誤っていると、工具に取り付けられたねじが部品等に対して斜めに入り、ねじを正しく入れることができない。本開示は上述の点に鑑みてなされたものであり、工具等を正しい位置および姿勢で用いることができるよう、作業者の作業を支援することを他の目的の一つとする。
上述した課題を解決するために、本開示の一態様は、工具等のオブジェクトに付されたオブジェクトマーカを撮像した画像から、所定の座標系における前記オブジェクトマーカの位置と姿勢を取得するステップと、マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標(上記ドライバでいうと、ねじと嵌合する場所の座標)と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢を算出するステップと、前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の姿勢範囲内にあるかを判定するステップと、を備える方法である。所定の位置範囲は、正しく部品等を組み立てるために工具等を移動し得る位置範囲である。所定の姿勢範囲は、正しく部品等を組み立てるために工具等を移動し得る姿勢範囲である。
また、本発明の他の一態様は、工具等のオブジェクトに付されたオブジェクトマーカを撮像した画像から、所定の座標系における前記オブジェクトマーカの位置と姿勢を検出し、マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢を検出する位置姿勢検出部と、前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の姿勢範囲内にあるかを判定する位置姿勢比較部と、を備える装置である。
本開示の一実施形態に係るオフセット設定システムの概略構成図である。 本開示の一実施形態に係る各座標系と、オブジェクトマーカ等との関係を示す図である。 本開示の一実施形態に係るマーカの例を示す。 本開示の一実施形態に係る検出点データの構成例を示す。 本開示の一実施形態に係るオブジェクトの例を示す。 本開示の一実施形態に係るオブジェクトの例を示す。 本開示の一実施形態に係るオブジェクトの例を示す。 本開示の一実施形態に係るオブジェクトの例を示す。 本開示の第1実施形態に係る制御システムの概略構成図である。 本開示の第1実施形態に係る制御システムの機能ブロックを含む概略構成図である。 本開示の一実施形態による制御システムの動作を示すフローチャートである。 本開示の一実施形態に係る各座標系と、オブジェクトマーカ等との関係を示す図である。 本開示の一実施形態に係る目標座標姿勢データの構成例を示す。 本開示の一実施形態に係るシーケンステーブルの構成例を示す。 本開示の一実施形態に係る各座標系と、オブジェクトマーカ等との関係を示す図である。 本開示の第2実施形態に係る制御システムの概略的な構成を示す。 本開示の第2実施形態に係る制御システムの概略的な構成を示す。 本開示の第2実施形態に係る制御システムの概略的な構成を示す。 本開示の第3実施形態に係る制御システムの概略的な構成を示す。 本開示の第4実施形態による制御システムの概略的な構成を示す。 本開示の第5実施形態による制御システムの構成を概略的に示す。 本開示の一実施形態に係る設定具の例を示す図である。
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態は、以下のような構成を備える。
(項目1)オブジェクトに付されたオブジェクトマーカを撮像した画像から、所定の座標系における前記オブジェクトマーカの位置と姿勢を取得するステップと、マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢を算出するステップと、前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の姿勢範囲内にあるかを判定するステップと、を備える方法。
(項目2)前記検出点の位置が、前記所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の姿勢範囲内にある場合に、制御対象物に対する制御信号を出力するステップをさらに備え、前記制御信号は、前記制御対象物の種類に依存しない信号である、項目1に記載の方法。
(項目3)前記制御信号に応じて、前記制御対象物からの応答信号を取得するステップをさらに備え、前記応答信号は、前記制御対象物の種類に依存しない信号である、項目2に記載の方法。
(項目4)前記オブジェクトマーカを撮像するカメラのカメラ座標系に対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化しない場合に、前記所定の座標系は、カメラ座標系である、項目1に記載の方法。
(項目5)前記オブジェクトマーカを撮像するカメラのカメラ座標系に対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化する場合に、前記所定の座標系は、基準マーカ座標系である、項目1に記載の方法。
(項目6)前記オブジェクトマーカを撮像するカメラのカメラ座標系対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化する場合に、前記所定の位置範囲の目標座標及び、前記所定の姿勢範囲の目標姿勢を、カメラ座標系における目標座標、及び目標姿勢にそれぞれ補正する、項目1に記載の方法。
(項目7)オブジェクトに付されたオブジェクトマーカを撮像した画像から、所定の座標系における前記オブジェクトマーカの位置と姿勢を検出し、マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢を検出する位置姿勢検出部と、
前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の目標姿勢にあるかを判定する位置姿勢比較部と、
を備える装置。
(項目8)前記検出点の位置が、前記所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の姿勢範囲内にある場合に、制御対象物に対する制御信号を出力する制御信号生成部をさらに備え、前記制御信号は、前記制御対象物の種類に依存しない信号である、項目7に記載の装置。
(項目9)前記制御信号生成部は、さらに、前記制御信号に応じて、前記制御対象物からの応答信号を取得し、前記応答信号は、前記制御対象物の種類に依存しない信号である、項目8に記載の装置。
(項目10)オブジェクトマーカが付されたオブジェクトの検出点が設定具の基準位置に重なったときの、所定の座標系における前記オブジェクトマーカの位置と姿勢とを算出するステップと、
前記基準位置と、前記オブジェクトマーカの位置と姿勢とに基づいて、マーカ座標系における前記オブジェクトマーカを基準とする前記オブジェクトの検出点の座標を設定するステップと、
を備える方法。
(項目11)前記基準位置は、前記設定具に付された設定用マーカとは離れた位置に配置される、項目10に記載の方法。
[本発明の実施形態の詳細]
以下、本開示の実施形態について図面を参照して説明する。図面において、同一または類似の要素には同一または類似の参照符号が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。しかし、本開示の実施形態は、必ずしもこのような態様に限定されない。本開示の実施形態が、特許請求の範囲において規定される範囲に含まれる様々な態様を取り得ることは、当業者にとって明らかであろう。
本開示によると、オブジェクトに付設されたオブジェクトマーカを撮像して得られた画像を元に、オブジェクトマーカの三次元位置を算出する。オブジェクトは、オブジェクトマーカにより位置や姿勢が検出されるものであり、工具、部品、ラベル、作業者の手等を含む。工具は、作業者に把持され、操作される。部品は、作業者や工具からの作用を受けるものであり、例えばねじ穴を有する部品である。ラベルは、作業者により移動や貼り付け等されるものである。本開示によると、オブジェクトマーカの三次元位置から、オブジェクトマーカとは離れた位置にある検出点の三次元位置を算出し、当該検出点の三次元位置を予め設定された所定の位置範囲と比較して作業者の作業の正誤を判定する。作業者の作業が正しい場合、あるいは正しくない場合に、予め設定されたシーケンスに基づいて、制御対象物に信号を送出する。制御対象物は、作業者により操作される工具や、コンピュータによって制御される表示灯、スイッチ等を含む。工具は、オブジェクトにも制御対象物にもなり得る。
オブジェクトマーカは、カメラから撮像可能な位置に配置されていればよく、検出点とは異なる位置、通例ではオブジェクト上に配置される。オブジェクトマーカと、オブジェクトの検出点との位置関係は任意に設定可能である。
まず、図1A及び図1Bを用いて、任意に配置されたオブジェクトマーカと、検出点との相対的な位置関係を設定するための構成を説明する。
図1Aは本開示の一実施形態に係るオフセット設定システム100の概略構成図である。オフセット設定システム100は、カメラ110と、オブジェクトマーカ122が付されたオブジェクト120と、設定用マーカ132が付された設定具130と、コンピュータ140とを備える。カメラ110と、コンピュータ140は、同じ場所に設置され無線、あるいは有線で相互に接続されている。あるいは、カメラ110と、コンピュータ140は、離れた場所に設置され、LAN(ローカルエリアネットワーク)、WAN(ワイドエリアネットワーク)、又はインターネット等のネットワーク(不図示)を介して相互に通信可能に接続されてもよい。なお、図1Aではオブジェクト120は工具で示されているが、工具以外の部品やラベル等のオブジェクト120にも、同様に適用される。
カメラ110は、連続的、あるいは一定間隔毎に画像を撮像可能なカメラ、例えばWebカメラである。カメラ110は、オブジェクトマーカ122と設定用マーカ132とを撮像可能な位置に配置される。オブジェクトマーカ122、設定用マーカ132は、いわゆるAR(Augumented Reality)マーカである。カメラ110により撮影されたマーカ画像を解析して、マーカの大きさからカメラ座標系Σcにおけるマーカの位置、マーカの歪み方からカメラ座標系Σcにおけるマーカの姿勢を、それぞれ求めることができる。カメラ座標系Σcは、カメラのレンズの中心を原点とする座標系である。図1Cはオブジェクトマーカ122及び、設定用マーカ132の例を示す。各マーカは、黒色背景に白色のパターンを配した四角形の二次元の画像である。各マーカには、それぞれマーカ識別番号と、誤り訂正符号が符号化された異なるビットパターンが割り当てられている。図1Cに示されるARマーカは例示であって、マーカの形や色はこれに限定されない。
オブジェクト120には、検出点124と離れた、カメラ110から撮像可能な任意の位置にオブジェクトマーカ122が付設されている。オブジェクト120は、一例として、図1Aに示されるように工具であってもよいし、図3Aから図3Cを用いて後述するように、様々な種類の他のオブジェクトであってもよい。検出点124は、位置を検出したいオブジェクト120上の位置に設定され、例えば、図1Aに示すようにオブジェクト120が工具の場合、工具の先端に設定される。なお、オブジェクトマーカ122は、カメラ110から撮像可能であり、オブジェクト120との位置関係が固定されていれば、オブジェクト120上に付設されなくともよい。
設定具130は、オブジェクトマーカ122と、検出点124との相対的な位置関係を設定するために用いられる。設定具130には、設定用マーカ132と、基準位置134とを示す図形とが付されている。基準位置134は、設定用マーカ132から所定の距離、例えば設定用マーカ132の中心から、ある方向に距離Lだけ離れた位置に配置されている。設定具130は、図1Aに示すような板であってもよいし、オブジェクト120が工具の場合は、図12に示すように、工具の先端にはめ込み可能な部分を有する治具であってもよい。
コンピュータ140は、主たる構成要素として、プロセッサ142と、メモリ144と、表示操作部146とを備える。
プロセッサ142は、コンピュータ140に与えられる信号に基づいて、あるいは、予め定められた条件が成立したことに基づいて、メモリ144に格納されているプログラムに含まれる一連の命令を実行する。ある態様において、プロセッサ142は、CPU(Central Processing Unit)、MPU(Micro Processor Unit)、FPGA(Field−Programmable Gate Array)等のデバイスとして実現される。プロセッサ142内に含まれるコンポーネントは、プロセッサ142が実行する機能を具体的なモジュールとして表現する1つの例にすぎない。複数のコンポーネントの機能が単一のコンポーネントによって実現されてもよい。プロセッサ142がすべてのコンポーネントの機能を実行するように構成されてもよい。一例では、図1Aに示すように、プロセッサ142はマーカ座標設定部150を含む。マーカ座標設定部150は、位置検出部152と、座標変換部154とを含む。
メモリ144は、プログラム及びデータを保存する。プログラムは、例えば、メモリ144からロードされる。データは、コンピュータ140に入力されたデータと、プロセッサ142によって生成されたデータとを含む。ある態様において、メモリ144は、RAM(Random Access Memory)等の揮発性メモリ、あるいはROM(Read Only Memory)等の不揮発性メモリとして実現される。一例では、図1Aに示すように、メモリ144は検出点データ162を含む。
表示操作部146は、各部の状態を表示し、また、作業者による操作入力を受け付けることができる。
図1Bは、オブジェクトマーカ122と、検出点124と、設定具130に設定された基準位置134と、設定用マーカ132と、各3次元直交座標系(マーカ座標系Σm(Xm,Ym,Zm)、カメラ座標系Σc(Xc,Yc,Zc)、設定用マーカ座標系Σs(Xs,Ys,Zs)との関係を示す。オフセット設定システム100は、オブジェクトマーカ122を基準とするマーカ座標系Σmにおける検出点124の位置を求める。マーカ座標系Σmは、オブジェクトマーカ122上に設定されたオブジェクトマーカ座標126を原点とする。マーカ座標系Σmの姿勢は、オブジェクトマーカ122の姿勢に基づいて設定され、例えば、オブジェクトマーカ122の配置面にXY軸を、当該配置面に直交する方向にZ軸を設定する。設定用マーカ座標系Σsは、設定用マーカ132上に設定された設定用マーカ座標を原点とする。設定用マーカ座標系Σsの姿勢もマーカ座標系Σmと同様に設定され得る。
以下、図1A及び図1Bを参照しながら、オブジェクトマーカ122を基準とする検出点124の位置を求める方法について説明する。オブジェクトマーカ122と、検出点124の位置関係は不明であるので、位置関係が定められている設定具上に設けられた設定用マーカ132と、設定用マーカ132とは離れた位置に設けられた基準位置134とを用いて、オブジェクトマーカ122を基準とする検出点124の位置を求める。
まず、作業者は、オブジェクトマーカ122と、検出点124との相対的な位置関係を設定するために、設定具130と、オブジェクト120とを重ね合わせる。このとき、仮に、設定用マーカ132上に検出点124を重ねようとすると、オブジェクト120の形状や大きさによっては、オブジェクト120により設定用マーカ132が隠れてしまい、カメラ110は設定用マーカ132を撮像できなくなる。従って、本開示においては、設定用マーカ132とは離れた、設定用マーカ132との位置関係が定められた基準位置134に、検出点124が重ね合わせする。そして、基準位置134を検出点124の位置として検出する。
プロセッサ142(位置検出部152)は、検出点124と、基準位置134とを重ね合わせたときのカメラ画像から、オブジェクトマーカ122と設定用マーカ132を含む画像を解析する。そして、カメラ座標系Σcにおける各マーカの位置と姿勢を算出する。このとき、図1Bに示すように、カメラ座標系Σcにおける検出点124の位置は、カメラ座標系Σcにおける基準位置134に等しくなる。プロセッサ142は、設定用マーカ132の位置と姿勢と、設定用マーカ132と基準位置134との間の距離Lとに基づいて、カメラ座標系Σcにおける基準位置134を算出する。
そして、プロセッサ142(座標変換部154)は、カメラ座標系Σcでのオブジェクトマーカ122の姿勢から回転行列を求め、カメラ座標系Σcにおける基準位置134(即ち検出点124の座標)を、オブジェクトマーカ122のオブジェクトマーカ座標126を基準とするマーカ座標系Σmへと座標変換する。検出点124の座標を、マーカ座標系Σmの座標へと変換する方法には、公知の三次元座標変換の方法が用いられ、ここでは詳細な説明は割愛する。座標変換によりマーカ座標系Σmにおける検出点124のオフセット座標が取得される。検出点124のオフセット座標は、マーカ座標系Σmの原点126を基準とした検出点124の座標である。取得された検出点124のオフセット座標は、オブジェクトマーカ122の識別番号毎に検出点データ162としてメモリ144に格納される。オブジェクトマーカ122と検出点124との位置関係は固定されており、当該位置関係は、オブジェクト120が移動しても変わらない。
図2は、メモリ144に格納される検出点データ162の構成例を示す。検出点データ162は、マーカ識別番号202と、検出点のオフセット座標204と、検出点種別206とを備える。マーカ識別番号202は、オブジェクトマーカ122の画像を復号して得られた、各オブジェクトマーカ122に割り当てられた識別番号である。検出点種別206は、オブジェクトマーカ122が付されるオブジェクトの種類を示す。
オブジェクトマーカ122は、様々なオブジェクト120に様々な態様で付設され得る。図3Aから図3Dは、様々な種類のオブジェクト120と、該オブジェクト120に付されたオブジェクトマーカ122と、検出点124と、オブジェクトマーカ座標126との関係を例示する。図3Aはオブジェクト120が手袋、あるいは手の場合を示す。図3Bはオブジェクト120が部品の場合を示す。図3Cはオブジェクト120がラベルの場合を示す。
図3Dは、複数のオブジェクトマーカ122が付されたオブジェクト120を例示する。一例として、複数のオブジェクトマーカ122a1、122a2(以下、まとめてオブジェクトマーカ122aとも呼ぶ)をオブジェクト120の同じ側に配置する。作業者の身体の一部や遮蔽物により、カメラ110が1つのオブジェクトマーカ122a1を撮像できなくなった場合にも、他のオブジェクトマーカ122a2がカメラ110により撮像可能であれば、検出点124の位置を設定することができる。また、他の例として、複数のオブジェクトマーカ122a、122b、122cをオブジェクト120の異なる側に配置する。複数のカメラ110は、それぞれオブジェクト120の異なる角度から撮像可能なように配置される。カメラ110aは、オブジェクト120のオブジェクトマーカ122aの付されている側を撮像し、オブジェクトマーカ122b、122cの付されている側はカメラ110aの死角となり撮像できない。カメラ110bは、カメラ110a及び110cの死角となっている、オブジェクトマーカ122aの付されている側を撮像し、カメラ110cは、カメラ110a及び110bの死角となっている、オブジェクトマーカ122cの付されている側を、それぞれ撮像する。複数のカメラ110をオブジェクト120の異なる角度に配置することで、オブジェクトマーカ122を撮像できない死角を減らすことができる。
以上の実施形態においては、オブジェクトマーカ122を基準とする検出点124のオフセット座標を設定した。次に、設定された検出点124のオフセット座標を用いて、作業者の作業を支援するよう構成された制御システム400の構成等について説明する。
<第1実施形態>
図4Aは、本開示の第1実施形態に係る制御システム400の概略構成図である。本実施形態では、制御システム400は、検出点124の所定の座標系における三次元位置と、予め設定された検出点124の三次元位置とを比較して、作業者の作業の正誤を判定等する。また、制御システム400は、作業者の作業が正しい場合、あるいは正しくない場合、予め設定されたシーケンスに基づいて、制御対象物460に対し制御信号を送出し、また制御対象物460からの応答信号を受け取る。図4Aは、オブジェクト120も制御対象物460(ツール464)も同一(工具470)の場合を示す。
図4Bは、図4Aに示す本開示の第1実施形態に係る制御システム400の機能ブロックを含む概略構成図である。制御システム400は、カメラ110と、オブジェクトマーカ122がそれぞれ付された1以上の工具470と、コンピュータ140とを備える。
コンピュータ140は、主たる構成要素として、プロセッサ142と、メモリ144とを備える。プロセッサ142は、位置姿勢検出部410と、位置姿勢比較部420と、シーケンス制御部430と、制御信号生成部440とを備える。プロセッサ142内に含まれるコンポーネントは、プロセッサ142が実行する機能を具体的なモジュールとして表現する1つの例にすぎない。メモリ144は、検出点データ162と、目標座標姿勢データ452と、シーケンステーブル454とを備える。
コンピュータ140は、1以上の制御対象物460と接続される。コンピュータ140は、制御対象物460に対し制御信号を出力し、また、制御対象物460からの応答信号を受信する。コンピュータ140と、制御対象物460とは、直接接続されてもよいし、LAN(Local Area Network)等の有線通信インターフェース、あるいは、WiFi(Wireless Fidelity)、Bluetooth(登録商標)等の無線通信インターフェースを介して接続されてもよい。
各制御対象物460は、ツールコントローラと462と、工具470とを備える。ツールコントローラ462は、コンピュータ140からの制御信号を受け取る、あるいはコンピュータ140へ応答信号を送出する。ツールコントローラ462は、コンピュータ140からの制御信号を受け取ると、一例として、工具470の有効化を行う(工具470の各種操作ができるようになる)、あるいは工具470の各種パラメータを設定する。そして、工具470を用いた作業が行われると、ツールコントローラ462は、工具470から様々な信号、例えば締め付けトルクを受け取る。ツールコントローラ462は、工具470からの様々な信号に基づき、工具470を用いた作業が成功したか否かの判断等を行い、コンピュータ140に対し応答信号、例えば、作業が完了した旨を示す信号を出力する。
図5は、第1実施形態による、制御システム400にて実施される方法500のフローチャートである。本実施形態においては、オブジェクト120も制御対象物460も同一(図4Aの工具470)である場合について説明する。以下、図5を参照して、方法500のフローチャートを説明する。
処理はステップ502において開始する。ステップ504において、プロセッサ142(位置姿勢検出部410)は、カメラ110により撮像された画像から、工具470(ここではオブジェクトとしての工具470)に付されたオブジェクトマーカ122の画像を解析して、所定の座標系におけるオブジェクトマーカ122の三次元位置と姿勢とを算出する。所定の座標系は、カメラ110に設定されたカメラ座標系Σcであってもよいし、後述する別途付設された基準マーカに基づく座標系Σb(図8に示す)であってもよい。そして、プロセッサ142は、オブジェクトマーカ122の姿勢から、オブジェクトとしての工具470の姿勢を算出する(ステップ504)。プロセッサ142は、オブジェクトマーカ122の姿勢そのものを工具470の姿勢としてもよいし、オブジェクトマーカ122の姿勢に回転行列を掛けて求められる検査点124の姿勢を工具470の姿勢としてもよい。さらに、プロセッサ142は、メモリ144に格納された検出点データ162の検出点124のオフセット座標204と、オブジェクトマーカ122の三次元位置とに基づいて、所定の座標系における検出点124の位置を算出する(ステップ504)。
処理はステップ506に進む。プロセッサ142(位置姿勢比較部420)は、メモリ144から、目標座標姿勢データ452を読み出す。目標座標姿勢データ452には、所定の座標系における検出点124の目標座標612と、所定の座標系における工具470の目標姿勢614とが格納されている。目標座標612は、所定の座標系における検出点124の正しい座標であり、目標姿勢614は、所定の座標系における工具470の正しい姿勢である。プロセッサ142は、ステップ504にて検出された検出点124の座標を、目標座標612と比較し、また、ステップ504にて検出された工具470の姿勢を、目標姿勢614と比較する。目標座標612と、目標姿勢614の設定方法については後述する。
処理はステップ508に進む。プロセッサ142(位置姿勢比較部420)は、所定の座標系における現在の検出点124の座標と、目標座標612とが一致し、かつ所定の座標系での現在の工具470の姿勢と、目標姿勢614とが一致しているかを判定する。あるいは、他の例として、プロセッサ142(位置姿勢比較部420)は、所定の座標系における現在の検出点124の座標と、目標座標612との差分が所定の位置範囲604内にあり、かつ所定の座標系での現在の工具470の姿勢と、目標姿勢614との差分が所定の姿勢範囲606内にあるかを判定する。位置範囲604は、検出124点が正しい位置にあると判断される範囲であり、姿勢範囲606は、検出点124が正しい姿勢にあると判断される範囲である。なお、工具470の状態を、目標座標612と、目標姿勢614の両方と比較せず、いずれか一方と比較して、その一致を判定してもよい。
本開示によると、検出点124の座標を目標座標612(位置範囲604)と比較することに加えて、工具470の姿勢を、目標姿勢614(姿勢範囲606)と比較する。したがって、例えば、工具470を用いてボルトを締めるシーケンスにおいて、正しい位置及び正しい姿勢でボルトを締めることができ、ボルトが斜めに入ることで生じる不具合を回避することができる。
図6Aは、オブジェクトマーカ122と、検出点124と、目標位置602と、位置範囲604と、マーカ座標系Σmと、所定の座標系(ここではカメラ座標系Σc)との関係を例示する。位置範囲604は、図6Aでは目標位置602を中心とした球で示される。位置範囲604の形状は球に限られず、様々な形状、例えば半球や、立方体であってよい。カメラ座標系Σcに代えて、基準マーカに基づく基準マーカ座標系Σb(図8に示す)を所定の座標系としてもよい。
図6Bは、メモリ144に格納された、目標座標姿勢データ452の構成例を示す。目標座標姿勢データ452は、少なくとも、シーケンス番号610と、目標位置602の目標座標612と、目標姿勢614と、マーカ識別番号202とを備える。これらの値は予め設定されている。シーケンス番号610は、シーケンス内に定められた各処理に割り当てられた番号である。目標座標612は、所定の座標系における座標(xt、yt、zt)で示され、目標姿勢614は、所定の座標系における直交3軸のベクトル(P1、Q1、R1)で示される。一つのシーケンス番号に対し、目標座標612と、目標姿勢614と、マーカ識別番号202とを備えるセットが対応する。一つのシーケンス番号に対し、複数の前記セットを対応させてもよい。この場合、複数の異なるオブジェクト120(ここでは工具470)を、それぞれ対応する目標位置、目標姿勢と同時に比較することができる。目標座標姿勢データ452は、さらに、各シーケンス番号に対応する予め設定された位置範囲604と、姿勢範囲606とを備えてもよい。図6Bでは、一例として、位置範囲604は、目標座標612を中心とした球の半径で示され、姿勢範囲606は、目標姿勢614を示す直交3軸のベクトルの各軸を中心とした角度で示される。
目標座標612と、目標姿勢614とを設定する方法を説明する。作業者が工具470を操作して、工具470の検出点124を、正しい位置及び姿勢で、目標位置602に合わせたときのカメラ画像を取得する。取得されたカメラ画像から、オブジェクトマーカ122の所定の座標系における三次元位置と姿勢を算出する。算出されたオブジェクトマーカ122の姿勢から目標姿勢614を求める。目標姿勢614は、オブジェクトマーカ122の姿勢そのものとしてもよいし、オブジェクトマーカ122の姿勢に回転行列を掛けて求められる検出点124の姿勢を目標姿勢614としてもよい。そして、オブジェクトマーカ122からの検出点のオフセット座標204と、オブジェクトマーカ122の三次元位置と姿勢とに基づいて、所定の座標系における検出点124の座標を算出する。算出された検出点124の座標が目標座標612である。
再び図5に戻る。ステップ508にて「はい」の場合、プロセッサ142は一致信号を生成し、処理はステップ510に進む。一方、ステップ508にて「いいえ」の場合、処理はステップ504に戻る。
一致信号が生成されると、ステップ510において、プロセッサ142(シーケンス制御部430)は、シーケンステーブル454を参照する。プロセッサ142は、シーケンステーブル454に設定された内容に従って、制御対象物460(ここではツール464としての工具470)に対し制御が必要か否かを判定し、制御が必要であると判定した場合(ステップ512にて「はい」)、ステップ514に進む。一方、工具470に対し制御が不要であると判定した場合、ステップ518に進む。
ステップ514において、プロセッサ142(制御信号生成部440)は、制御対象物460に対する制御信号を生成し、制御対象物460に出力する。制御信号は、一例としてデジタル二値信号であり、シーケンスが開始したこと、あるいはシーケンスが終了したことを示す。
制御対象物460は制御信号に応じて、所定の処理を実行する。一例として、制御対象物460(ツールコントローラ462)は、ツール464としての工具470の動作を有効にする。作業者は、有効化されたツール464を用いて作業を行う。ツールコントローラ462は、作業の結果、工具470から出力された信号に基づいて、工具470を用いた作業が終了したかあるいは成功したかを判定する。工具470を用いた作業が終了あるいは成功したと判定すると、ツールコントローラ462(制御対象物460)は制御信号生成部440へ応答信号を出力する。
ステップ516において、プロセッサ142(制御信号生成部440)は、制御対象物460から応答信号を受け取ると、シーケンス制御部430へ出力する。応答信号は、一例としてデジタル二値信号であり、制御対象物460の入力端子がアクティブであること、あるいは入力端子が非アクティブであることを示す。コンピュータ140は、制御対象物460の入力端子の状態を、シーケンステーブル454における処理の開始条件又は終了条件として設定することができる。
処理は、ステップ518に進む。プロセッサ142(シーケンス制御部430)はシーケンステーブル454を参照し、次の処理が無いと判定した場合に、処理を終了する(ステップ520)。一方、ステップ518にて、次の処理があると判定された場合に、ステップ504に戻る。
また、他の例として、ステップ514において、制御信号生成部440は、制御信号として、工具470が実行すべき処理に対応するプログラム番号nを含むデータを生成し、制御対象物460に出力する。ツールコントローラ462は、取得したプログラム番号nに対応するプログラムを読み出し、当該プログラムに規定されたパラメータ、例えば工具470が締め付け工具の場合、締付トルク、締付角度、回転速度、逆回転の可否、締付エラー時のリトライ回数などの設定パラメータを、工具470に設定し、工具470を有効化する。有効化された工具470を用いて、作業が行われると、工具470は各種信号、例えばツールが実際に作動したときの締付トルクをツールコントローラ462へ出力する。ツールコントローラ462は、工具470から取得された信号が、設定パラメータと整合するか判定し、整合していると判定すると、処理完了メッセージを生成し、コンピュータ140に出力する。そして、ステップ516において、コンピュータ140は、工具470から処理完了メッセージを受信すると、シーケンステーブル454を参照し、次の処理が無いと判断した場合に、処理を終了する(ステップ520)。一方、ステップ518にて、次の処理があると判断した場合に、ステップ504に戻る。
本開示のコンピュータ140は、工具470等のツール464に固有のパラメータ、例えば締付トルクは保持せず、ツールコントローラ462が、ツール464に固有の制御パラメータを保持する。コンピュータ140は、制御対象物460との間で、ツール464の種類に依存しない汎用的な信号(制御信号、応答信号)の入出力を行う。したがって、コンピュータ140は、ツール464の種類に応じて設定を変更することなく、様々なツール464(工具、信号灯、スイッチ等)、あるいは多様なメーカが製造したツール464に接続されうる。コンピュータ140は、ツールコントローラ462を用いることで、様々な種類のツール464の制御をおこなうことができ、多種多様なツールを用いる生産現場の工程設計に柔軟に対応することができる、あるいはまた、ツール464の交換を容易にすることができる。
なお、図4Bに示すように、制御対象物460(ツール464)は、オブジェクト120と同一であってもよいし、異なってもよい。制御対象物460とオブジェクト120が異なる場合のオブジェクト120の具体例は、手袋(図3A)、部品(図3B)、ラベル(図3C)、ヘルメット(図11)であり、制御対象物460とオブジェクト120が異なる場合のツール464の具体例は、表示灯、スイッチ等である。例えば、オブジェクト120が手袋であり、制御対象物460が表示灯である場合、図5に示すステップS502からS510において、オブジェクトとしての工具470は手袋に置き換えられ、ステップS512からS519において、ツールとしての工具470は表示灯に置き換えられる。
図7はシーケンステーブル454の一例を示す。シーケンステーブル454は、シーケンス番号610と、目標座標姿勢データ452と、開始条件702と、終了条件704と、制御対象出力706とを備える。シーケンステーブル454は、作業者により、表示操作部146(図1A)を介して予め設定されている。開始条件702は、制御対象物460に対する処理を開始する条件であり、終了条件704は、制御対象物460に対する処理を終了する条件であり、制御対象出力706は、コンピュータ140により生成された信号を出力するポートを示す。開始条件702、終了条件704は、それぞれ、「自動」「位置姿勢」「制御入力X」「時間T」のいずれかを含む。条件「自動」は、シーケンス処理が選択されると、無条件に当該シーケンス処理を開始あるいは終了することを示す。条件「位置姿勢」は、シーケンス処理が選択されると、位置姿勢比較部420からの一致信号によって、当該シーケンス処理を開始あるいは終了することを示す。条件「制御入力X」は、シーケンス処理が選択されると、制御対象物460から受け取った応答信号によって、当該シーケンス処理を開始あるいは終了することを示す。条件「時間T」は、シーケンス処理が選択されると、設定された時間T経過後に当該シーケンス処理を開始あるいは終了することを示す。
開始条件702、終了条件704、制御対象出力706の組み合わせの一例として、開始条件702「自動」、終了条件704「位置姿勢」、制御対象出力706「表示灯」について説明する(シーケンス番号001)。シーケンス番号001の処理では、オブジェクト120は手、ツール464は表示灯であり、オブジェクト120とツール464とは異なる。まず、無条件でシーケンス番号001の処理にはいる(開始条件)。そして、手(オブジェクト120)が所定の位置範囲内におかれると、次のシーケンス処理に進む(終了条件)。コンピュータ140は、制御対象物460に制御信号を送出する。当該制御信号に基づいて特定の表示灯(ツール464)が点灯する。そして、次のシーケンス処理に進む。
また、開始条件702、終了条件704、制御対象出力706の組み合わせの他の例として、開始条件702「位置姿勢」、終了条件704「外部入力1」、制御対象物460「なし」について説明する(シーケンス番号002)。シーケンス番号002の処理では、オブジェクト120、ツール464ともに工具である。まず、特定の場所のねじを特定の工具(オブジェクト120)を用いて、正しい位置姿勢で締付け、シーケンス番号002の処理に入る(開始条件)。特定の工具からの締め付け完了を示す外部入力1(応答信号)が得られると、当該処理は終了し(終了条件)、次のシーケンス処理に進む。
以上、本開示の第1実施形態に係る制御システム400の構成等について説明した。次に本開示の第2から第5の実施形態に係る制御システムの構成等について説明する。
<第2実施形態>
グローバル座標系Σgでカメラ110が移動する場合、あるいは目標位置602が変化する場合は、カメラ座標系Σcに対する目標座標612や目標姿勢614は変化する。第2実施形態においては、図8に示すように所定の座標系として、基準マーカ座標系Σbを用いる。基準マーカ座標系Σbでは、基準マーカ座標系Σbに対する目標座標612、及び目標姿勢614が固定されている。
図8は、オブジェクトマーカ122と、検出点124と、目標位置602と、基準マーカ802と、基準マーカ座標系Σb(Xb,Yb.Zb)と、マーカ座標系Σm(Xm,Ym,Zm)との位置関係を例示する。基準マーカ座標系Σbは、基準マーカ座標804を原点とする座標系である。基準マーカ802は、グローバル座標系Σgにおいてカメラ110が移動あるいは、目標位置602が変化しても、目標位置602との相対的な位置姿勢が固定される。また、基準マーカ802は、カメラ110により撮像可能な任意の位置に配置される。
以下、図9Aから図9Cを参照して、本開示の第2実施形態の様々な変形例を説明する。図9Aはコンベア910上に配置された部品912が動く場合の制御システム900A、図9Bおよび図9Cはカメラ110が動く場合の、制御システム900B及び900Cの概略的な構成をそれぞれ示す。第2実施形態では、オブジェクト120と制御対象物460(ツール464)は共に工具470である。
図9Aは、コンベア910上の部品912に付設され固定された第1基準マーカ802aと、コンベア910上に付設され固定された第2基準マーカ802bとを示す。コンベア910が動くと、第1基準マーカ802a、第2基準マーカ802bが共に動く。コンベア910と部品912の位置関係が固定の場合は、第1基準マーカ802aあるいは、第2基準マーカ802bの少なくとも一方を用いる。コンベア910と部品912の位置関係が変化する場合、部品912に付設された第1基準マーカ802aを用いる。コンピュータ140は、基準マーカ座標系Σb(図9Aでは第1基準マーカ802aを基準とする)における検出点124の座標と、目標位置602の目標座標612とを比較し、かつ基準マーカ座標系Σbにおけるオブジェクトとしての工具470の姿勢と、目標姿勢614とを比較する。コンピュータ140により工具470が正しい位置、姿勢であると判定されると、ツールコントローラ462は、工具470に対し制御信号を出力する。
図9Bでは、図9Aに示すカメラが固定である例と異なり、カメラ110はオブジェクト120に取り付けられており、カメラ110は、オブジェクトとしての工具470と共に動く。カメラ110は、部品912に付設され固定された第1基準マーカ802aを撮像する。コンピュータ140は、基準マーカ座標系Σbにおける検出点124の座標と、目標座標612とを比較し、かつ基準マーカ座標系Σbにおける工具470の姿勢と、目標姿勢614とを比較する。本実施形態によると、目標位置602が作業者から見えない部位に設定されていても、カメラ110が目標位置602付近を撮像することが可能であるので、検出点124が目標位置602に近づいたかを判定することができる。
図9Cでは、図9Aに示すカメラが固定である例と異なり、カメラ110は作業者930の被るヘルメット932に取り付けられており、カメラ110は、作業者930の頭部の動きに伴い動く。カメラ110は、部品912に付設され固定された第1基準マーカ802aあるいは第3基準マーカ802cの少なくとも一方を撮像する。第1基準マーカ802aは、作業台940の上の部品912に付設され固定されており、第3基準マーカ802cは、グローバル座標系Σgにおいて固定されている作業台940の上に付設されている。コンピュータ140は、第1基準マーカ802aあるいは、第3基準マーカ802cの少なくとも一方を用いて、基準マーカ座標系Σb(図9Cでは、第3基準マーカ802cを基準とする)における検出点124の座標と、目標位置602の目標座標612とを比較し、かつ基準マーカ座標系Σbにおけるオブジェクトとしての工具470の姿勢と、目標姿勢614とを比較する。
<第3実施形態>
第3実施形態においては、第2の実施形態と同様に、カメラ座標系Σc(Xc,Yc,Zc)に対し目標座標612及び目標姿勢614が変化する。しかし、第3実施形態では、第2実施形態とは異なり基準マーカ802を用いずに、位置検出装置920を用いて、目標座標612をカメラ座標系Σcにおける目標座標に補正する。第2実施形態では、オブジェクト120と制御対象物460(ツール464)は共に工具470である。
図9Dは、本開示の第3実施形態による制御システム800Eの構成を概略的に示す。図9Dでは、位置センサ914を取り付けたコンベア910上に部品912を配置している。第3実施形態による制御システム900Eは、カメラ110と、オブジェクト120と、コンピュータ140と、位置センサ914と、位置センサ用PLC(Programmable logic controller)820とを備える。位置センサ914はコンベア910の動きを検知して、コンベアの現在の位置Cpを検出する。位置センサ用PLC820は、コンベアの起点からの現在のコンベアの位置Cpを、物理的な長さ(m)に変換し、コンピュータ140に出力する。そして、コンピュータ140は、一工程のコンベア上の長さをLp(m)としたときの、一工程内での現在のコンベアの位置を算出する。一工程内での現在のコンベアの位置は、コンベアの起点からの現在の位置Cp(m)を、Lp(m)で割った剰余である。コンピュータ140は、カメラ座標系Σcでのコンベアの進行方向を示す三次元の単位ベクトルV(Ux,Uy,Uz)を保持している。コンピュータ140は、一工程内での現在のコンベアの位置と、カメラ座標系Σcでのコンベア進行方向を示す三次元の単位ベクトルVとを用いて、メモリ144に格納されている目標座標612を、カメラ座標系Σcにおける目標座標に補正する。補正された目標座標はQ=((Cp mod Lp)×V+Pで求められる。ここで、Pはカメラ座標系Σcにおけるメモリ144に格納された目標位置602の目標座標612である。そして、この補正された目標座標を、カメラ座標系Σcにおける検出点124の座標との比較判定に用いる。但しmodは剰余である。単位ベクトルVは、例えば、一時的にコンベア910に基準マーカ802を付設し、設置されたカメラで基準マーカ802を一定時間間隔で撮影することで取得される。
<第4実施形態>
図10は、本開示の第4実施形態による制御システム1000の構成を概略的に示す図である。第4実施形態においては、固定されたカメラ110が撮像した画像を用いて、複数の異なる種類のオブジェクト120(作業者の手、工具)がそれぞれ正しい位置、あるいは姿勢であるかを判定し、正しい位置および姿勢である場合に制御対象物460(ツール464)を用いて作業者の作業を支援する。
カメラ110は、オブジェクトマーカ122aが付された作業者の手120aと、オブジェクトマーカ122bが付されたツール464c(オブジェクト120b)と、目標位置602ta及び602tbがそれぞれ設定されたボルトバケツ1002と、目標位置602tc1からtc4が設定された部品912とを撮像する。オブジェクトマーカ122aとオブジェクトマーカ122bは異なる識別番号を持ち、オブジェクトマーカ122aに検出点124aが、オブジェクトマーカ122bに検出点124bがそれぞれ対応している。オブジェクトマーカ122aの識別番号により作業者が識別され、またオブジェクトマーカ122bの識別番号によりツール464が識別される。
制御システム1000は、一例として、特定の作業者が、特定のボルトバケツ1002からボルト(不図示)を採取し(シーケンス処理1)、特定の作業者が当該ボルトを部品912に設定された特定の位置に配置し(シーケンス処理2)、さらに、作業者は特定の工具を用いて、配置されたボルトを締める(シーケンス処理3)よう支援する。以下、シーケンス処理1から3の内容について詳細に説明する。
1.シーケンス処理1:ボルト採取
シーケンス処理1においては、オブジェクト120は作業者の手であり、制御対象物460は、表示灯464a及び464bである。シーケンス処理1では、コンピュータ140は、ツール(表示灯)464aをアクティブに(点灯)させ、手袋に付されたオブジェクトマーカ122aにより識別された特定の作業者に、目標位置602taが設定された特定のボルトバケツ1002からボルトを採取するよう促す。そして、手袋に設定された検出点124aが、ボルトバケツ1002の目標位置602taに近づくと、コンピュータ140はツール464aを非アクティブに(表示灯を消灯)させ、次の処理に進む。なお、図10においてツール464a及び464b(表示灯)は、コンピュータ140に接続されているが、ツール464a及び464bはツールコントローラ462に接続されていてもよい。この場合、ツール464a及び464bは、ツールコントローラ462からの制御信号に応答して点灯あるいは消灯する。
2.シーケンス処理2:ボルト配置
シーケンス処理2においては、オブジェクト120は作業者の手であり、制御対象物460は、作業者の手である。シーケンス処理2では、手袋に設定された検出点124aが、部品912の目標位置602tc1に近づくと、コンピュータ140は、採取したボルトが正しい目標位置602tc1に配置されたと判断し、次の処理へ進む。
3.シーケンス処理3:ボルト締め付け
シーケンス処理3においては、オブジェクト120、制御対象物460は、共に工具470である。シーケンス処理3では、作業者により把持される特定の工具470の検出点124bが目標位置602tc1に、目標姿勢で近づくことを検出すると、コンピュータ140は、ツールコントローラ462へ制御信号を出力する。ツールコントローラ462は制御信号に基づいて、締付プログラム1を設定する。締め付けプログラム1で設定された締め付けトルクに等しいトルクでボルトが締められると、工具470は、ツールコントローラ462に対し、締め付け完了信号を送出する。ツールコントローラ462は、締め付け完了信号を検知すると、コンピュータ140へ応答信号を出力し、次のステップへ進む。
4.シーケンス処理4:ボルト採取(2本目)
コンピュータ140は、ツール464aに代えてツール464bに対して、また、目標位置602taに代えて目標位置602tbに対して、上記シーケンス処理1と同様の処理を行う。
5.シーケンス処理5:ボルト配置(2本目)
コンピュータ140は、目標位置602tc1に代えて目標位置602tc2に対して、上記シーケンス処理2と同様の処理を行う。
6.シーケンス処理6:ボルト締め付け(2本目)
コンピュータ140は、目標位置602tc1に代えて目標位置602tc2に対して、上記シーケンス処理3と同様の処理を行う。
以上、制御システム1000は、作業者が特定のツール464を用いて、あるいは特定のオブジェクト120を用いて、シーケンス処理に規定された各種処理を行うよう作業者の作業を支援することができる。
なお、上記シーケンス処理1から6の内容は例示であってこれに限定されず、オブジェクトの種類や、制御対象物の種類等に応じて様々に変更が可能である。一例として、オブジェクト120が部品(図3B)、制御対象物460が表示灯の場合、制御システム1000は、作業者が、オブジェクトマーカ122により識別された特定の部品120を、予め設定された表示灯が点灯された特定の部品位置に配置するよう支援することができる。また、他の例として、オブジェクト120がラベル(図3C)、制御対象物460が表示灯の場合、制御システム1000は、オブジェクトマーカ122により識別された特定のラベルを予め設定された表示灯が点灯された特定の位置に貼り付けるよう作業者を支援することができる。
<第5実施形態>
図11は、本開示の第5実施形態による制御システム1100の構成を概略的に示す図である。制御システム1100は、第1カメラ110aと接続された第1コンピュータ140aと、第2カメラ110bと接続された第2コンピュータ140bと、第1及び第2のコンピュータ140bに接続されたツールコントローラと、第1オブジェクト120a(ヘルメット932)と、第2オブジェクト120b(工具470)とを備える。第1コンピュータ140aと第2コンピュータ140bとはこれらのコンピュータからの出力の論理積を出力する演算装置950を介して、ツールコントローラ462と接続される。第5実施形態においては、制御システム1100は、グローバル座標系Σgにおいて位置が固定された第1カメラ110aと、位置が固定されていない第2カメラ110bとを複合利用する。
第5実施形態による制御システム1100は、図9Cに示す実施形態と異なり、部品912や作業台940には基準マーカは付設されていない。第5実施形態においては、部品912や作業台940上に基準マーカを付設する代わりに、部品912と固定位置関係にある第1カメラ110aを用いて、2段階の座標変換を行う。
第1カメラ110aは部品912との位置関係が固定されており、ヘルメット932に付された第1オブジェクトマーカ122aと、三次元空間内の目標位置602taとを撮像する。第1コンピュータ140aは第1オブジェクトマーカ122aの位置と姿勢から、オブジェクトとしてのヘルメット932に設定された第1検出点124aの座標を算出する。そして、第1検出点124aを目標位置602taの所定の位置範囲と比較し、ヘルメット932の姿勢を、所定の姿勢範囲と比較し一致判定する。
第2カメラ110bは、作業者930の被るヘルメット932に固定されており、オブジェクトマーカ122bと目標位置602が設定された部品912とを撮像する。第2コンピュータ140bはオブジェクトとしての工具470に付された第2オブジェクトマーカ122bの位置と姿勢から、工具470上に設定された第2検出点124bの座標を算出する。そして、第2コンピュータ140bは、第2検出点124bを目標位置602tbの位置範囲と比較し、工具470の姿勢を、目標姿勢の位置範囲と比較し、一致判定する。演算装置850は、第1コンピュータ140a及び第2コンピュータ140bからの一致信号の論理積を、ツールコントローラ462に出力する。これら一連の処理により、第1カメラ110aおよび第1コンピュータ140aによる一致判定結果と、第2カメラ110bおよび第2コンピュータ140bによる一致判定結果と、を結合させ、固定された第1カメラ110aによって直接的に部品912を撮影すること無しに、部品912に固定された座標系における目標位置602tbの位置と姿勢を検出し、一致判定することが可能となる。第5実施形態では第1コンピュータ140aによる処理と、第2コンピュータ140bによる処理とを行い、さらに各コンピュータによる処理結果の論理積をとることで、結果として2段階の座標変換を行っていることとなる。本実施形態によると、第1カメラ110aは第1オブジェクトマーカ122aを撮影できるものの、直接部品912を撮影することができず、第2カメラ110bが部品912を撮影することができる。本実施形態ではこのような複雑に入り組んだ作業環境においても目標位置が検出可能である。
第5実施形態によると、固定された第1カメラ110aが、非固定の第2カメラ110bと共に動くオブジェクトマーカ122aを撮像し、第1オブジェクトマーカ122aの位置、姿勢を算出することができる。一例として、自動車などの組立を行う場合、作業者930は車外に居ながら、手と工具を車内に差し入れて作業を行うことがある。このような場合、車外にある作業者930の頭部は固定されたカメラ110aにより撮影可能であるが、車内に差し入れられた作業者の手や工具120は固定された第1カメラ110aにより撮影できないことがある。作業者930の手や工具は、作業者のヘルメット932に付設された非固定の第2カメラ110bにより撮影可能である。第5実施形態は、固定カメラにより撮影できない範囲を非固定のカメラにより撮影できる場合に有用である。
以上、本開示の実施の形態について説明してきたが、上記した発明の実施の形態は、本開示の理解を容易にするためのものであり、本開示を限定するものではない。本開示は、その趣旨を逸脱することなく、変更、改良され得るとともに、本開示にはその均等物が含まれることはもちろんである。また、上述した課題の少なくとも一部を解決できる範囲、または、効果の少なくとも一部を奏する範囲において、実施形態および変形例の任意の組み合わせが可能であり、特許請求の範囲および明細書に記載された各構成要素の任意の組み合わせ、または、省略が可能である。
100…オフセット設定システム
110…カメラ
112…オブジェクトマーカ
120…オブジェクト
122…オブジェクトマーカ
124…検出点
126…オブジェクトマーカ座標
130…設定具
132…設定用マーカ
134…基準位置
140…コンピュータ
142…プロセッサ
144…メモリ
150…マーカ座標設定部
152…位置検出部
154…座標変換部
162…検出点データ
202…マーカ識別番号
204…オフセット座標
400、900A、900B、900C、1000、1100…制御システム
410…位置姿勢検出部
420…位置姿勢比較部
430…シーケンス制御部
440…制御信号生成部
452…目標座標姿勢データ
454…シーケンステーブル
460…制御対象物
462…ツールコントローラ
464…ツール
470…工具
602…目標位置
604…位置範囲
612…目標座標
614…目標姿勢
616…マーカ識別番号
802…基準マーカ
804…基準マーカ座標
910…コンベア
912…部品
914…位置センサ
920…位置検出装置

Claims (12)

  1. オブジェクトマーカが付されたオブジェクトの検出点が設定具の基準位置に重なったときの、所定の座標系における前記オブジェクトマーカの位置と姿勢とを算出するステップと、
    前記基準位置と、前記オブジェクトマーカの位置と姿勢とに基づいて、マーカ座標系における前記オブジェクトマーカを基準とする前記オブジェクトの検出点の座標を設定するステップと、
    前記オブジェクトに付された前記オブジェクトマーカを撮像した画像から、前記所定の座標系における前記オブジェクトマーカの位置と姿勢を取得するステップと、
    前記マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢とを算出するステップと、
    前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の姿勢範囲内にあるかを判定するステップと、
    を備える方法。
  2. 前記オブジェクトマーカの位置と姿勢とを算出するステップにおいて、前記オブジェクトマーカは前記オブジェクトの検出点との位置関係が不明である、請求項1に記載の方法。
  3. 前記検出点の位置が、前記所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の姿勢範囲内にある場合に、制御対象物に対する制御信号を出力するステップをさらに備え、前記制御信号は、前記制御対象物の種類に依存しない信号である、請求項1に記載の方法。
  4. 前記制御信号に応じて、前記制御対象物からの応答信号を取得するステップをさらに備え、前記応答信号は、前記制御対象物の種類に依存しない信号である、請求項3に記載の方法。
  5. 前記オブジェクトマーカを撮像するカメラのカメラ座標系に対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化しない場合に、前記所定の座標系は、カメラ座標系である、請求項1に記載の方法。
  6. 前記オブジェクトマーカを撮像するカメラのカメラ座標系に対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化する場合に、前記所定の座標系は、基準マーカ座標系である、請求項1に記載の方法。
  7. 前記オブジェクトマーカを撮像するカメラのカメラ座標系対し、前記所定の位置範囲及び前記所定の姿勢範囲が変化する場合に、前記所定の位置範囲の目標座標及び、前記所定の姿勢範囲の目標姿勢を、カメラ座標系における目標座標、及び目標姿勢にそれぞれ補正する、請求項1に記載の方法。
  8. オブジェクトマーカが付されたオブジェクトの検出点が設定具の基準位置に重なったときの、所定の座標系における前記オブジェクトマーカの位置と姿勢とを算出する位置検出部と、
    前記基準位置と、前記オブジェクトマーカの位置と姿勢とに基づいて、マーカ座標系における前記オブジェクトマーカを基準とする前記オブジェクトの検出点の座標を設定する座標変換部と、
    前記オブジェクトに付された前記オブジェクトマーカを撮像した画像から、前記所定の座標系における前記オブジェクトマーカの位置と姿勢を検出し、前記マーカ座標系における前記オブジェクトマーカからの前記オブジェクトの検出点の座標と、前記オブジェクトマーカの位置と姿勢とに基づいて、前記所定の座標系における前記検出点の位置と前記オブジェクトの姿勢を検出する位置姿勢検出部と、
    前記検出点の位置が、前記所定の座標系における所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の座標系における所定の目標姿勢にあるかを判定する位置姿勢比較部と、
    を備える装置。
  9. 前記位置検出部が、前記オブジェクトマーカの位置と姿勢とを算出するとき、前記オブジェクトマーカと前記オブジェクトの検出点との位置関係が不明である、請求項8に記載の装置。
  10. 前記検出点の位置が、前記所定の位置範囲内にあり、かつ前記オブジェクトの姿勢が、前記所定の姿勢範囲内にある場合に、制御対象物に対する制御信号を出力する制御信号生成部をさらに備え、前記制御信号は、前記制御対象物の種類に依存しない信号である、請求項8に記載の装置。
  11. 前記制御信号生成部は、さらに、前記制御信号に応じて、前記制御対象物からの応答信号を取得し、前記応答信号は、前記制御対象物の種類に依存しない信号である、請求項10に記載の装置。
  12. 前記基準位置は、前記設定具に付された設定用マーカとは離れた位置に配置される、請求項1に記載の方法。
JP2018055637A 2018-03-23 2018-03-23 方法及び装置 Active JP6596530B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018055637A JP6596530B2 (ja) 2018-03-23 2018-03-23 方法及び装置
PCT/JP2019/011980 WO2019182084A1 (ja) 2018-03-23 2019-03-22 方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018055637A JP6596530B2 (ja) 2018-03-23 2018-03-23 方法及び装置

Publications (2)

Publication Number Publication Date
JP2019168304A JP2019168304A (ja) 2019-10-03
JP6596530B2 true JP6596530B2 (ja) 2019-10-23

Family

ID=67986505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018055637A Active JP6596530B2 (ja) 2018-03-23 2018-03-23 方法及び装置

Country Status (2)

Country Link
JP (1) JP6596530B2 (ja)
WO (1) WO2019182084A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7335199B2 (ja) * 2020-04-30 2023-08-29 本田技研工業株式会社 解析装置、解析方法、プログラム、および較正方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002013910A (ja) * 2000-06-30 2002-01-18 Shibuya Kogyo Co Ltd レーザ光線のモニタリング方法とその装置
JP5930708B2 (ja) * 2011-12-27 2016-06-08 三菱電機エンジニアリング株式会社 作業管理装置および作業管理システム
JP6016090B2 (ja) * 2012-09-04 2016-10-26 株式会社リコー 画像投影システム、画像投影装置、画像投影システムの遠隔操作装置、及び画像投影システムを用いるテレビ会議システム
JP6491574B2 (ja) * 2015-08-31 2019-03-27 Kddi株式会社 Ar情報表示装置
JP6752610B2 (ja) * 2016-04-27 2020-09-09 株式会社キーエンス 三次元座標測定器

Also Published As

Publication number Publication date
WO2019182084A1 (ja) 2019-09-26
JP2019168304A (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6527178B2 (ja) 視覚センサのキャリブレーション装置、方法及びプログラム
US11173609B2 (en) Hand-eye calibration method and system
EP1555508B1 (en) Measuring system
JP4191080B2 (ja) 計測装置
CN104023906A (zh) 操作管理装置及操作管理系统
KR20140008262A (ko) 로봇 시스템, 로봇, 로봇 제어 장치, 로봇 제어 방법 및 로봇 제어 프로그램
US11590657B2 (en) Image processing device, control method thereof, and program storage medium
CN112276936A (zh) 三维数据生成装置以及机器人控制系统
KR102400416B1 (ko) 카메라를 이용한 로봇 축각도들의 검출 및 로봇의 선택
JP2020047049A (ja) 画像処理装置及び画像処理方法
JP2019025572A (ja) ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボットの異常を確認する方法
JP6596530B2 (ja) 方法及び装置
JP2006224291A (ja) ロボットシステム
JP7439410B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP2016182648A (ja) ロボット、ロボット制御装置およびロボットシステム
JP6595065B1 (ja) 加工装置、加工装置の制御方法および加工装置の制御プログラム
WO2021145280A1 (ja) ロボットシステム
CN116867619A (zh) 示教装置
US11267129B2 (en) Automatic positioning method and automatic control device
JP6659641B2 (ja) 3次元モデル作成装置
JP3541980B2 (ja) 視覚センサ付きロボットにおけるキャリブレーション方法
JP2020197806A (ja) 検出システム
EP4279227A1 (en) Robot system and robot control method
JP2012022600A (ja) マスク画像作成システム
US20190061152A1 (en) Measuring method, program, measuring apparatus and method of manufacturing article

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190930

R150 Certificate of patent or registration of utility model

Ref document number: 6596530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250