(57)【要約】【課題】正確なケーブルフォーミングを実現する。【解決手段】電子機器の製造装置は、電子機器の部品の一部にケーブルが接続された状態で、ケーブルを撮影した画像データから、２次元面内の格子点に対応するケーブルの表面上の点の３Ｄ点群データを取得するケーブル３Ｄデータ取得部２０と、ケーブルの延伸方向に所定幅を有するサーチボリュームを設定するサーチボリューム設定部２４と、サーチボリューム内に存在する３次元位置データが取得された点からケーブルの断面形状を推定し、該断面形状に基づいて、ケーブルの延伸方向を新たに算出するケーブル断面・延伸方向算出部２６と、設定部と算出部による繰り返し処理の結果に基づいて、ケーブルの形状を推定するケーブル形状推定部３０と、推定部の推定結果に基づいて把持装置にケーブルを把持させ、把持装置を移動させることで、ケーブルを予め定めた状態に遷移させるロボットコントローラ１６と、を備える。【選択図】図２
2018005579.tif 000002
【特許請求の範囲】
【請求項１】
電子機器の部品の一部にケーブルが接続された状態で、前記ケーブルを撮影した画像データから、２次元面内の格子点に対応する前記ケーブルの表面上の点の３次元位置データを取得する取得部と、
前記ケーブルの延伸方向に所定幅を有する空間データを生成する設定部と、
前記空間データ内に存在する前記３次元位置データが取得された点から前記ケーブルの断面形状データを生成し、該断面形状データに基づいて、前記ケーブルの延伸方向を新たに算出する算出部と、
前記設定部と前記算出部による繰り返し処理の結果に基づいて、前記ケーブルの形状データを生成する推定部と、
前記形状データに基づいて把持装置に前記ケーブルを把持させ、前記把持装置を移動させて前記ケーブルを移動させる制御部と、
を備える電子機器の製造装置。
【請求項２】
前記画像データから前記ケーブルの一端近傍の着目点と該着目点における前記ケーブルの延伸方向とを特定する特定部を更に備え、
前記設定部は、前記空間データを最初に生成する際に、前記特定部が特定した着目点を含み、前記特定部が特定した延伸方向に所定幅を有する空間データを生成する、ことを特徴とする請求項１に記載の電子機器の製造装置。
【請求項３】
前記算出部が算出した前記ケーブルの延伸方向に基づいて、前記着目点を更新する更新部を更に備え、
前記設定部は、２回目以降に前記空間データを生成する際に、前記更新部が直前に更新した着目点を含み、前記算出部が直前に算出した延伸方向に所定幅を有する空間データを生成する、ことを特徴とする請求項２に記載の電子機器の製造装置。
【請求項４】
前記ケーブルの一端には、コネクタが設けられ、
前記特定部は、前記画像データから特定される前記コネクタの位置及び姿勢に基づいて、前記ケーブルの一端近傍の着目点と前記延伸方向とを特定する、ことを特徴とする請求項２又は３に記載の電子機器の製造装置。
【請求項５】
前記推定部は、
前記ケーブルの一端から所定長さの箇所の姿勢及び該箇所の存在する位置を推定することを特徴とする請求項１〜４のいずれか一項に記載の電子機器の製造装置。
【請求項６】
前記ケーブルは断面円形であり、
前記算出部は、前記空間データ内に存在する前記３次元位置データが取得された点を含む前記ケーブルの断面の楕円形状データを生成し、該楕円形状データに基づいて、前記延伸方向を算出する、ことを特徴とする請求項１〜５のいずれか一項に記載の電子機器の製造装置。
【請求項７】
ケーブルを撮影した画像データから、２次元面内の格子点に対応する前記ケーブルの表面上の点の３次元位置データを取得し、
前記ケーブルの延伸方向に所定幅を有する空間データを生成し、
前記空間データ内に存在する前記３次元位置データが取得された点から前記ケーブルの断面形状データを生成し、該断面形状データに基づいて、前記ケーブルの延伸方向を新たに算出し、
前記空間データを生成する処理と前記算出する処理を繰り返した結果に基づいて、前記ケーブルの形状データを生成する、
処理をコンピュータに実行させることを特徴とするケーブル形状推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器の製造装置、及びケーブル形状推定プログラムに関する。
【背景技術】
【０００２】
情報処理装置などの電子機器は、ハードディスク装置、メモリ、ＣＰＵ、電源装置等の多数の部品と、部品を収容する筐体とを有し、筐体内には配線用のケーブルが設けられている。
【０００３】
電子機器を製造する際には、ケーブルを所定位置（例えば筐体の壁部近傍）に這わせるなどして、ケーブルが邪魔にならないようにする必要がある。この作業は、ケーブルフォーミングと呼ばれている。ケーブルフォーミングをロボットを用いて行う場合、ロボットが把持すべきケーブルの位置や姿勢を正確に把握する必要がある。
【０００４】
なお、従来、柔軟で長尺な部材の形状を記述する３Ｄデータを得るための技術や、ロボットによるワークの搬送に関する技術が知られている（例えば、特許文献１，２等参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２４２１８５号公報
【特許文献２】特開２００８−１５６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ケーブルを撮像した画像からケーブルの形状認識を行う場合、ケーブルは不定形であるため、直線や円弧等を用いたマッチング処理を行うことが難しい。このため、従来は、ケーブルの端部からケーブルと背景との境目であるエッジを抽出し、追跡する処理により、ケーブルの形状を認識する方法が採用されている。
【０００７】
しかしながら、ケーブルは、断面円形であることが多いため、エッジ近傍の濃淡変化が緩やかである。したがって、ノイズの影響を受けやすく、画像データにおいてケーブルと背景とを分離することが難しいことから、ケーブルを誤認識する可能性がある。また、誤認識が発生した場合、ロボットを用いたケーブルフォーミングに失敗する可能性が高くなる。
【０００８】
１つの側面では、本発明は、ケーブルを予め定めた状態に遷移させる作業を正確に行うことが可能な電子機器の製造装置、及びケーブル形状を精度よく推定することが可能なケーブル形状推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの態様では、電子機器の製造装置は、電子機器の部品の一部にケーブルが接続された状態で、前記ケーブルを撮影した画像データから、２次元面内の格子点に対応する前記ケーブルの表面上の点の３次元位置データを取得する取得部と、前記ケーブルの延伸方向に所定幅を有する空間データを生成する設定部と、前記空間データ内に存在する前記３次元位置データが取得された点から前記ケーブルの断面形状データを生成し、該断面形状データに基づいて、前記ケーブルの延伸方向を新たに算出する算出部と、前記設定部と前記算出部による繰り返し処理の結果に基づいて、前記ケーブルの形状データを生成する推定部と、前記形状データに基づいて把持装置に前記ケーブルを把持させ、前記把持装置を移動させて前記ケーブルを移動させる制御部と、を備えている。
【発明の効果】
【００１０】
一つの側面として、ケーブルを予め定めた状態に遷移させる作業を正確に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る電子機器の製造装置の構成を示す概略図である。
【図２】図２（ａ）は、ケーブル認識装置のハードウェア構成を示す図であり、図２（ｂ）は、ケーブル認識装置の機能ブロック図である。
【図３】３Ｄ画像及び３Ｄ点群データを示す図である。
【図４】図４（ａ）〜図４（ｃ）は、ケーブル認識装置の処理について説明するための図（その１）である。
【図５】ケーブル認識装置の処理について説明するための図（その２）である。
【図６】電子機器の製造装置により実行される一連の処理を示すフローチャートである。
【図７】図７（ａ）〜図７（ｃ）は、電子機器の製造装置の一連の処理の概要を示す図である。
【図８】図６のステップＳ１４の具体的な処理を示すフローチャートである。
【図９】図８のステップＳ４０、Ｓ５４の具体的な処理を示すフローチャートである。
【図１０】図１０（ａ）〜図１０（ｄ）は、図８の処理を説明するための図（その１）である。
【図１１】図１１（ａ）〜図１１（ｃ）は、図９の処理を説明するための図である。
【図１２】図１２（ａ）〜図１２（ｃ）は、図８の処理を説明するための図（その２）である。
【図１３】図１３（ａ）、図１３（ｂ）は、図８の処理を説明するための図（その３）である。
【図１４】ケーブル差分長Ｄ（ｉ）を模式的に（平面的に）示す図である。
【図１５】図１５（ａ）は、３Ｄ点群データの一例を示す図であり、図１５（ｂ）は、図１５（ａ）の一部を切り出して示す図である。
【発明を実施するための形態】
【００１２】
以下、電子機器の製造装置の一実施形態について、図１〜図１５に基づいて詳細に説明する。
【００１３】
本実施形態に係る電子機器の製造装置１００は、図１に示すように、把持装置としてのロボット１０と、３Ｄカメラ１２と、ケーブル認識装置１４と、制御部としてのロボットコントローラ１６と、を備えている。
【００１４】
ロボット１０は、一例として、ケーブル４４の一端及び他端に設けられているコネクタ４６Ａ，４６Ｂをプリント基板４２に設けられたコネクタに接続するとともに、ケーブルフォーミングを実行するロボットである。ケーブルフォーミングは、ケーブル４４を予め定められた状態に遷移させる配線作業を意味する。本実施形態では、ケーブルフォーミングは、図７（ｃ）に示すように、プリント基板４２の外周の一部に沿ってケーブル４４を這わせる作業であるものとする。なお、ケーブル４４は、太さが一定で断面円形の柔軟な紐状部材であり、形状が不定で随時３次元的に変形する。なお、ケーブル４４が延びる方向（延伸方向）には連続性がある（曲げには一定の曲率がある）。
【００１５】
３Ｄカメラ１２は、例えば、３Ｄ点群カメラや３Ｄスキャナ等であり、ケーブル４４近傍の３Ｄ画像を撮影する。３Ｄカメラ１２が撮影した３Ｄ画像は、ケーブル認識装置１４に送信される。
【００１６】
ケーブル認識装置１４は、３Ｄカメラ１２が撮影した３Ｄ画像から３Ｄ点群データを取得し、３Ｄ点群データに基づいてケーブル４４の状態を認識し、認識結果をロボットコントローラ１６に出力する。この場合、ケーブル認識装置１４は、ケーブル４４の一端（コネクタ４６Ａ近傍）からケーブル４４の追跡処理を行い、一端から所定長さの箇所の姿勢や存在位置（ＸＹＺ座標）を認識する。
【００１７】
ロボットコントローラ１６は、ロボット１０を制御して、プリント基板４２へのケーブル４４の組み付け（接続）作業を実行する。また、ロボットコントローラ１６は、ケーブル認識装置１４の認識結果に基づいてロボット１０を制御し、ケーブル４４を予め定めた状態（図７（ｃ）の状態）に遷移させるケーブルフォーミングを実行する。
【００１８】
ここで、ケーブル認識装置１４について、詳細に説明する。図２（ａ）には、ケーブル認識装置１４のハードウェア構成が示されている。図２（ａ）に示すように、ケーブル認識装置１４は、ＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、ネットワークインタフェース９７、及び可搬型記憶媒体用ドライブ９９等を備えている。これらケーブル認識装置１４の構成各部は、バス９８に接続されている。ケーブル認識装置１４では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（ケーブル形状推定プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（ケーブル形状推定プログラムを含む）をＣＰＵ９０が実行することにより、図２（ｂ）に示す各部の機能が実現されている。
【００１９】
図２（ｂ）には、ケーブル認識装置１４の機能ブロック図が示されている。ケーブル認識装置１４は、ＣＰＵ９０がプログラムを実行することにより、図２（ｂ）に示す、取得部としてのケーブル３Ｄデータ取得部２０、特定部としてのケーブル端点延伸方向計測部２２、設定部としてのサーチボリューム設定部２４、算出部としてのケーブル断面・延伸方向算出部２６、更新部としての着目点更新部２８、推定部としてのケーブル形状推定部３０、及び通信部３２、として機能する。
【００２０】
ケーブル３Ｄデータ取得部２０は、３Ｄカメラ１２によって撮影された画像データ（３Ｄ画像）を取得する。なお、３Ｄ画像は、少なくともケーブル４４全体を撮影したものである。また、ケーブル３Ｄデータ取得部２０は、取得した３Ｄ画像から、２次元面内の格子点に対応するケーブル４４の表面上の点の３次元位置データ（「３Ｄ点群データ」と呼ぶ）を取得する。図３には、３Ｄ画像の一例が示されている。図３に示す格子点は、３Ｄカメラ１２のピクセルに対応する点である。ケーブル３Ｄデータ取得部２０は、図３に示すように、３Ｄカメラ１２のピクセルに対応する２次元面（ＸＹ面）内の格子点ごとにケーブル４４表面の高さ位置（Ｚ座標）を取得し、格子点それぞれのＸＹ座標及び取得したＺ座標を含む３次元データを３Ｄ点群データとする。
【００２１】
図１５（ａ）には、３Ｄ点群データの一例（ケーブル４４付近を拡大した画像）が示されており、図１５（ｂ）には、図１５（ａ）の一部を切り出し、視線を変えてケーブル４４の断面を垂直に見た状態が示されている。図１５（ｂ）において点線にて示すように、３Ｄ点群データにはケーブル４４の断面上半分（円弧状部分）のデータが含まれていることが明らかである。
【００２２】
図２（ｂ）に戻り、ケーブル端点延伸方向計測部２２は、３Ｄ画像データからケーブル４４の一端近傍の点を着目点とし、該着目点においてケーブル４４が延びる方向（延伸方向）を特定する。なお、「着目点」とは、ケーブル４４の形状探索の基準となる点である。ケーブル端点延伸方向計測部２２は、予め用意してあるコネクタ４６Ａの３Ｄ ＣＡＤモデルを用いたモデルマッチングにより、３Ｄ画像からコネクタ４６Ａの位置、姿勢を特定する。そして、ケーブル端点延伸方向計測部２２は、コネクタ４６Ａの位置、姿勢から定まるケーブルの所定位置（例えば、図４（ａ）に示すようなケーブル４４とコネクタ４６Ａの境目部分のうち最も高い位置）を着目点とする。また、ケーブル端点延伸方向計測部２２は、コネクタ４６Ａの姿勢に基づいて、着目点におけるケーブル４４の延伸方向を特定する。ここで、着目点と延伸方向とにより規定される所定長さのベクトルを主軸ベクトル（図４（ａ）参照）と呼ぶものとする。
【００２３】
サーチボリューム設定部２４は、ケーブル４４の断面形状を推定するために着目すべき範囲として、サーチボリュームを生成（設定）する。サーチボリュームは、着目点を内部に含み、ケーブル４４の延伸方向に所定幅を有する直方体状の空間データである。具体的には、サーチボリュームは、図４（ｂ）において点線で示すような一辺がｂの正方形の面を有する所定幅ａの空間である。ここで、サーチボリュームの所定幅ａ（図４（ｂ）参照）は、例えば、カメラの１ピクセルの寸法（図３の格子点間距離）の１．５倍程度であり、正方形の面の一辺の寸法ｂは、ケーブル４４の直径に所定値αを加算した程度の寸法であるものとする。
【００２４】
ケーブル断面・延伸方向算出部２６は、サーチボリューム内に存在する３Ｄ点群データからケーブル４４の断面形状データを生成し、該断面形状データに基づいて、ケーブル４４の延伸方向を新たに算出する（図４（ｃ）参照）。また、ケーブル４４の特徴点（サーチボリューム内に存在する３Ｄ点群データのうち最も高い位置にある点）を特定する。
【００２５】
着目点更新部２８は、ケーブル断面・延伸方向算出部２６が算出した新たな延伸方向と特徴点とに基づいて、図４（ｃ）に示すような新たな着目点を設定する（着目点を更新する）。
【００２６】
ケーブル形状推定部３０は、サーチボリューム設定部２４、ケーブル断面・延伸方向算出部２６、着目点更新部２８が処理を繰り返し実行した結果に基づいて、ケーブル４４の形状データを生成（推定）する。すなわち、ケーブル形状推定部３０は、図５に示すようにケーブル４４の延伸方向に沿って順次設定されるサーチボリュームを用いて順次算出された、ケーブル４４の断面形状及び延伸方向の情報を取得する。そして、ケーブル形状推定部３０は、取得した情報に基づいて、ケーブル４４の端部から所定長さｍ（図７（ａ）参照）よりも離れた箇所を特定する。更にケーブル形状推定部３０は、特定した箇所が存在する位置（ＸＹＺ座標）と当該箇所におけるケーブル４４の姿勢、すなわちロボット１０がケーブルフォーミングにおいて把持すべきケーブル４４の位置及び姿勢を推定する。
【００２７】
通信部３２は、ケーブル形状推定部３０の推定結果に基づく指示をロボットコントローラ１６に送信する。ロボットコントローラ１６は、ロボット１０を制御してロボット１０にケーブル４４を把持させ、ケーブル４４を把持したロボット１０を移動させることで、ケーブル４４を予め定めた状態に遷移させる（ケーブルフォーミングを実行する）。
【００２８】
（電子機器の製造装置１００の処理）
次に、本実施形態の電子機器の製造装置１００が実行する処理について、詳細に説明する。
【００２９】
図６には、電子機器の製造装置１００により実行される一連の処理がフローチャートにて示されている。以下、図６に基づいて、電子機器の製造装置１００の処理の概要について説明する。
【００３０】
図６の処理では、まず、ステップＳ１０において、ロボットコントローラ１６が、予め定められた手順でロボット１０を駆動し、ケーブル４４の両端のコネクタ４６Ａ，４６Ｂをプリント基板４２上のコネクタに挿入する。これにより、プリント基板４２にケーブル４４が接続される。なお、ケーブル４４をプリント基板４２に接続する作業は、ケーブルフォーミングを実行するロボットとは別のロボットが実行してもよいし、人（作業者）が実行してもよい。図７（ａ）には、ケーブル４４がプリント基板４２に接続された状態が示されている。
【００３１】
次いで、ステップＳ１４では、ケーブル認識装置１４が、ケーブルの認識処理を実行する。ケーブルの認識処理は、図８のフローチャートに沿って実行されるが、詳細については後述する。
【００３２】
次いで、ステップＳ１６では、ケーブル認識装置１４が、ケーブル４４の一端から所定長さ（ｍ）の箇所の位置、姿勢の情報（具体的には、図７（ａ）に示すベクトルＶ（ｎ）の情報）を取得する。ケーブル認識装置１４は、取得したケーブル４４の位置、姿勢の情報をロボットコントローラ１６に送信する。
【００３３】
次いで、ステップＳ１８では、ロボットコントローラ１６が、ケーブル認識装置１４から受信した情報に基づいて、ケーブル４４の一端から所定長さ（ｍ）の箇所にロボット１０のハンドを移動する。次いで、ステップＳ２０では、ロボットコントローラ１６は、ロボット１０のハンドでケーブル４４を把持する。図７（ｂ）には、ロボット１０のハンドがケーブル４４を把持した状態が示されている。なお、ロボットコントローラ１６は、ケーブル４４を把持する際に、ロボット１０のハンドがベクトルＶ（ｎ）に略直交する方向に開くようにロボット１０の姿勢を制御する。
【００３４】
次いで、ステップＳ２２では、ロボットコントローラ１６は、ロボット１０を図７（ｃ）に示す位置まで駆動し、ケーブル４４をプリント基板４２の角部に引っ掛ける。
【００３５】
次いで、ステップＳ２４では、ロボットコントローラ１６はロボット１０を制御して、ケーブル４４の把持を解除し、ロボット１０をプリント基板４２上から退避させる。
【００３６】
以上により、電子機器の製造装置１００による一連の処理が終了する。
【００３７】
（ステップＳ１４の処理について）
次に、ステップＳ１４の処理（ケーブルの認識処理）について、図８、図９のフローチャートに沿って、その他図面を適宜参照しつつ詳細に説明する。
【００３８】
図８の処理では、まず、ステップＳ３０において、ケーブル端点延伸方向計測部２２が、３Ｄカメラ１２から３Ｄ画像を取得し、一端のコネクタ４６Ａの３Ｄ姿勢を計測する。この場合、予め用意してあるコネクタ４６Ａの３Ｄ ＣＡＤモデルを用いたモデルマッチングにより、コネクタ４６Ａの位置、姿勢を特定する。
【００３９】
次いで、ステップＳ３２では、ケーブル端点延伸方向計測部２２が、ケーブル端の主軸ベクトルを取得する。具体的には、ケーブル端点延伸方向計測部２２は、図４（ａ）に示すようなケーブル４４とコネクタ４６Ａの境目部分のうち最も高い位置を着目点とし、コネクタ４６Ａの姿勢と、部品の設計情報からケーブル４４の延伸方向を特定し、着目点と延伸方向とにより規定されるベクトルをケーブル端の主軸ベクトルとする。なお、ケーブル端点延伸方向計測部２２は、例えば、コネクタ４６Ａの特定の辺が延びる方向をケーブル４４の延伸方向として特定することができる。
【００４０】
次いで、ステップＳ３４では、ケーブル３Ｄデータ取得部２０が、３Ｄカメラ１２から３Ｄ点群データを取得する。
【００４１】
次いで、ステップＳ３６では、サーチボリューム設定部２４が、ケーブル端の主軸ベクトルを用いてサーチボリュームを設定する。サーチボリューム設定部２４は、図１０（ａ）に示すように、ケーブル端（着目点）を含み、主軸ベクトルの方向に所定幅ａを有する直方体状のサーチボリュームを設定する。なお、図１０（ａ）において、白丸は３Ｄ点群データを示している。
【００４２】
次いで、ステップＳ３８では、ケーブル断面・延伸方向算出部２６が、カウンタｉを０に設定する。
【００４３】
次いで、ステップＳ４０では、ケーブル断面・延伸方向算出部２６が、断面探索処理を実行する。ステップＳ４０においては、図９のフローチャートに沿った処理が実行される。
【００４４】
図９の処理において、ケーブル断面・延伸方向算出部２６は、まずステップＳ７０において、３Ｄ点群データからサーチボリューム内の点を抽出する。図１０（ａ）の例では、図１０（ｂ）に示すように、サーチボリューム内に含まれる黒丸で示す３Ｄ点群データが抽出されたものとする。
【００４５】
次いで、ステップＳ７２では、ケーブル断面・延伸方向算出部２６が、図１０（ｃ）において一点鎖線で示すように、抽出した点を用いて楕円フィッティングし、ケーブルの断面形状データ（楕円形状データ）を得る。図１１（ａ）には、ケーブル４４の３Ｄ画像の例が示されている。例えば、ステップＳ７０において抽出された点が、黒丸で示されているとする。この場合、抽出された点を含む断面（Ａ−Ａ線断面であり、ＹＺ断面）は、ケーブル４４の垂直断面（Ｂ−Ｂ線断面）からずれているため、図１１（ｂ）に示すように、楕円形となる。一方、垂直断面は、図１１（ｃ）に示すように、真円となる。
【００４６】
次いで、ステップＳ７４では、ケーブル断面・延伸方向算出部２６が、抽出した点のうち最も高い位置にある点を特徴点Ｐ（ｉ）（ここではＰ（０））として抽出する。図１０（ｄ）においては、特徴点Ｐ（０）が黒丸にて示されている。
【００４７】
次いで、ステップＳ７６では、ケーブル断面・延伸方向算出部２６が、取得した楕円形状データの歪からケーブル４４の垂直断面を計算する。次いで、ステップＳ７８では、ケーブル断面・延伸方向算出部２６が、ケーブル４４の垂直断面の法線ベクトルを主軸ベクトルＶ（ｉ）（ここではＶ（０））とする。これらステップＳ７６、Ｓ７８では、ケーブル断面・延伸方向算出部２６は、ステップＳ７２で取得した楕円形状データの長軸、短軸の比及び長軸、短軸の方向から楕円面の法線ベクトルと、垂直断面（真円面）との差（図１１（ａ）の角度θ）を算出する。そして、ケーブル断面・延伸方向算出部２６は、格子方向（図１１（ａ）ではＸ方向）に延びるベクトルを差（θ）の分だけずらしたベクトルを主軸ベクトルＶ（ｉ）とする。ステップＳ７８の後は、図８のステップＳ４６に移行する。
【００４８】
図８のステップＳ４６に移行すると、着目点更新部２８が、ｉを１インクリメントする（ｉ＝ｉ＋１）。
【００４９】
次いで、ステップＳ４８では、着目点更新部２８が、主軸ベクトルＶ(ｉ−１）（ここでは、Ｖ（０））を中心とする小型サーチボリュームを設定する。小型サーチボリュームは、図１２（ａ）に示すように、特徴点Ｐ（０）から延びる主軸ベクトルＶ（０）を中心軸とする断面正方形（又は長方形）の直方体状の空間であるものとする。なお、小型サーチボリュームは、例えば円柱状の空間データであってもよい。
【００５０】
次いで、ステップＳ５０では、着目点更新部２８が、小型サーチボリュームに含まれる点（新たな着目点）を探索する。ここでは、図１２（ｂ）において黒丸で示す点が新たな着目点として探索されたものとする。なお、小型サーチボリュームの大きさとしては、複数の点が含まれないような大きさとすることが好ましい。ただし、これに限らず、小型サーチボリュームに複数の点が含まれる場合には、例えば、複数の点のうち特徴点Ｐ（ｉ）に最も近い点を探索し、新たな着目点とすればよい。
【００５１】
次いで、ステップＳ５２では、サーチボリューム設定部２４が、探索された着目点を含み、主軸ベクトルＶ(ｉ−１）（ここでは、Ｖ（０））の方向に所定幅を有するサーチボリュームを設定する。図１２（ｂ）には、新たに設定されたサーチボリュームが示されている。
【００５２】
次いで、ステップＳ５４では、ケーブル断面・延伸方向算出部２６が、断面探索処理（図９）を実行する。なお、断面探索処理については、前述したのと同様の手順で実行される。したがって、断面探索処理により、図１２（ｃ）において黒丸で示すようにサーチボリューム内の点が抽出され、特徴点Ｐ（ｉ）と、主軸ベクトルＶ（ｉ）が取得される。なお、ステップＳ５０において探索された着目点（図１２（ｂ）の黒丸の点）と特徴点Ｐ（ｉ）とは、同一の場合もあれば、異なる場合もある。図１３（ａ）には、楕円形状データに基づいて、黒丸で示す特徴点Ｐ（ｉ）（＝Ｐ（１））が取得された状態が示されており、図１３（ｂ）には、楕円形状データに基づいて、主軸ベクトルＶ（ｉ）（＝Ｖ（１））が取得された状態が示されている。
【００５３】
次いで、ステップＳ５６では、ケーブル形状推定部３０が、１つ前の特徴点Ｐ（ｉ−１）と今回の特徴点Ｐ（ｉ）のケーブル差分長Ｄ（ｉ）を算出する。この場合、特徴点Ｐ（ｉ−１）のＸＹＺ座標を（ｘ(i-1)，ｙ(i-1)，ｚ(i-1)）、特徴点Ｐ（ｉ）のＸＹＺ座標を（ｘ(i)，ｙ(i)，ｚ(i)）とすると、次式（１）を用いて、Ｄ（ｉ）を算出することができる。
Ｄ（ｉ）＝{（ｘ(i-1)−ｘ(i)）2＋（ｙ(i-1)−ｙ(i)）2＋（ｚ(i-1)−ｚ(i)）2}1/2    …（１）
【００５４】
なお、図１４には、ケーブル差分長Ｄ（ｉ）が模式的に（平面的に）示されている。
【００５５】
次いで、ステップＳ５８では、ケーブル形状推定部３０が、ケーブル端（特徴点Ｐ（０））からｉ番目の特徴点（Ｐ（ｉ））までのケーブル差分長の総和を求め、Ｌ（ｉ）とする。すなわち、ケーブル形状推定部３０は、Ｄ（１）、Ｄ（２）、…、Ｄ（ｉ）の和を求め、Ｌ（ｉ）とする。
【００５６】
次いで、ステップＳ６０では、ケーブル形状推定部３０が、長さＬ（ｉ）の値が長さｍの値より大きいか否かを判断する。ここで、長さｍとは、図７（ａ）に示すように、プリント基板４２の一辺（図７（ａ）では短辺）の長さであるものとする。すなわち、ステップＳ６０では、図７（ｃ）に示すように、ケーブルフォーミングの際にプリント基板４２の角部に位置する箇所までケーブル４４の形状を追跡できたか否かを判断しているといえる。ステップＳ６０の判断が否定された場合には、ケーブル形状推定部３０は、ステップＳ４６に戻り、ステップＳ４６〜Ｓ６０の処理・判断を繰り返し実行する。一方、ステップＳ６０の判断が肯定された場合、すなわち、ケーブル４４の一端から長さｍよりも離れた箇所までケーブル４４を追跡できた場合には、ステップＳ６２に移行する。なお、ここでは、ステップＳ６２に移行した段階のｉの値がｉ＝ｎであったものとして以下説明する。
【００５７】
ステップＳ６２に移行すると、通信部３２は、ケーブル形状推定部３０の指示の下、主軸ベクトルＶ（ｉ）（ここではＶ（ｎ））をロボットコントローラ１６に送信する。なお、主軸ベクトルＶ（ｎ）のデータには、特徴点Ｐ（ｎ）の座標値も含まれている。
【００５８】
以上により、ステップＳ１４のケーブルの認識処理が終了する。
【００５９】
なお、主軸ベクトルＶ（ｎ）を取得したロボットコントローラ１６は、図６のステップＳ１６以降の処理を実行する。これにより、ロボット１０は、正確に推定されたケーブルの位置、姿勢に基づいて、ケーブル４４を図７（ｃ）の状態に遷移させる処理（ケーブルフォーミング）を正確に行うことができる。
【００６０】
以上、詳細に説明したように、本実施形態によると、ケーブル３Ｄデータ取得部２０が、ケーブル４４を撮影した３Ｄ画像から、ケーブル４４の表面上の点の３Ｄ点群データを取得し、ケーブル端点延伸方向計測部２２が、３Ｄ画像からケーブル４４の一端近傍の着目点と該着目点におけるケーブル４４の延伸方向とを特定する。また、サーチボリューム設定部２４による、サーチボリュームを設定（生成）する処理と、ケーブル断面・延伸方向算出部２６による、サーチボリューム内に存在する３Ｄ点群データから推定した断面形状データに基づいて、ケーブル４４の延伸方向を新たに算出する処理と、着目点更新部２８による、新たに算出した延伸方向に基づいて着目点を更新する処理とを繰り返した結果に基づいてケーブル形状推定部３０がケーブル４４の形状データを生成（形状を推定）する。そして、通信部３２は、生成（推定）結果をロボットコントローラ１６に送信する。ロボットコントローラ１６は、推定結果に基づいてロボット１０にケーブル４４を把持させ、ロボット１０の移動により、ケーブルフォーミング作業を行う。これにより、本実施形態では、３Ｄ点群データを用いた楕円フィッティングを行うことで、ケーブル４４のエッジ部分を用いずにケーブル４４の形状を一端近傍から延伸方向に沿って追跡することができる。したがって、ノイズ等の影響を受けずに、精度よくケーブル４４の形状を特定することが可能となる。また、精度よく特定された形状を用いることで、ケーブルフォーミングを正確に行うことができる。
【００６１】
また、本実施形態では、ケーブル４４の一端にコネクタ４６Ａが設けられ、ケーブル端点延伸方向計測部２２は、３Ｄ画像から特定されるコネクタ４６Ａの位置及び姿勢に基づいて、ケーブルの一端近傍の着目点と延伸方向とを特定する。このように、定型の物体であるコネクタ４６Ａの位置及び姿勢を用いることで、不定形のケーブル４４の一端近傍の着目点と延伸方向とを精度よく特定することができる。
【００６２】
また、本実施形態では、ケーブル形状推定部３０は、ケーブル４４の一端から所定長さ（ｍ）を超える箇所の姿勢及や位置を推定する。これにより、ケーブルフォーミングに必要な情報を推定することができる。
【００６３】
また、本実施形態では、ケーブル形状推定部３０は、特徴点間の距離（ケーブル差分長）の合計Ｌ（ｉ）に基づいて、姿勢や位置を推定する箇所を特定する。これにより、ケーブル４４の形状を一端から追跡しつつ、姿勢や位置を推定する箇所を特定することができる。
【００６４】
また、本実施形態では、着目点更新部２８は、着目点を更新する際に、図１２（ａ）に示すような小型サーチボリュームを用いる。これにより、主軸ベクトルが通る点や主軸ベクトルとの距離が最短である点などを新たな着目点とするような場合と比べ、簡易な処理で新たな着目点を設定することができる。
【００６５】
なお、上記実施形態では、３Ｄカメラ１２を用いる場合について説明したが、これに限らず、２次元画像を撮影可能なカメラを用いることとしてもよい。この場合、２次元画像の色の濃淡や輝度等に基づいて、格子点に対応するケーブル表面の点の高さ位置を検出することで、３Ｄ点群データを生成することとしてもよい。
【００６６】
なお、上記実施形態では、ケーブル４４の両端にコネクタ４６Ａ，４６Ｂが設けられている場合について説明したが、これに限られるものではない。すなわち、ケーブル４４の両端は、プリント基板４２等にはんだ付け等されてもよい。この場合、ケーブル４４の端部がプリント基板４２の面に対してほぼ垂直に接続される場合には、図８のステップＳ３２において、ケーブル端点延伸方向計測部２２は、ケーブル端の特徴点の延伸方向をプリント基板４２の法線方向に設定してもよい。
【００６７】
なお、上記実施形態では、ケーブルの特徴点が、サーチボリューム内に存在する３Ｄ点群データのうち最も高い位置にある点である場合について説明したが、これに限られるものではない。例えば、ケーブルの特徴点は、サーチボリューム内に存在する３Ｄ点群データの中央値や平均値であってもよい。
【００６８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００６９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００７０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００７１】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００７２】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  電子機器の部品の一部にケーブルが接続された状態で、前記ケーブルを撮影した画像データから、２次元面内の格子点に対応する前記ケーブルの表面上の点の３次元位置データを取得する取得部と、
前記ケーブルの延伸方向に所定幅を有する空間データを生成する設定部と、
前記空間データ内に存在する前記３次元位置データが取得された点から前記ケーブルの断面形状データを生成し、該断面形状データに基づいて、前記ケーブルの延伸方向を新たに算出する算出部と、
前記設定部と前記算出部による繰り返し処理の結果に基づいて、前記ケーブルの形状データを生成する推定部と、
前記形状データに基づいて把持装置に前記ケーブルを把持させ、前記把持装置を移動させて前記ケーブルを移動させる制御部と、
を備える電子機器の製造装置。
（付記２）  前記画像データから前記ケーブルの一端近傍の着目点と該着目点における前記ケーブルの延伸方向とを特定する特定部を更に備え、
前記設定部は、前記空間データを最初に生成する際に、前記特定部が特定した着目点を含み、前記特定部が特定した延伸方向に所定幅を有する空間データを生成する、ことを特徴とする付記１に記載の電子機器の製造装置。
（付記３）  前記算出部が算出した前記ケーブルの延伸方向に基づいて、前記着目点を更新する更新部を更に備え、
前記設定部は、２回目以降に前記空間データを生成する際に、前記更新部が直前に更新した着目点を含み、前記算出部が直前に算出した延伸方向に所定幅を有する空間データを生成する、ことを特徴とする付記２に記載の電子機器の製造装置。
（付記４）  前記ケーブルの一端には、コネクタが設けられ、
前記特定部は、前記画像データから特定される前記コネクタの位置及び姿勢に基づいて、前記ケーブルの一端近傍の着目点と前記延伸方向とを特定する、ことを特徴とする付記２又は３に記載の電子機器の製造装置。
（付記５）  前記推定部は、
前記ケーブルの一端から所定長さの箇所の姿勢及び該箇所の存在する位置を推定することを特徴とする付記１〜４のいずれかに記載の電子機器の製造装置。
（付記６）  前記ケーブルは断面円形であり、
前記算出部は、前記空間データ内に存在する前記３次元位置データが取得された点を含む前記ケーブルの断面の楕円形状データを生成し、該楕円形状データに基づいて、前記延伸方向を算出する、ことを特徴とする付記１〜５のいずれかに記載の電子機器の製造装置。
（付記７）ケーブルを撮影した画像データから、２次元面内の格子点に対応する前記ケーブルの表面上の点の３次元位置データを取得し、
前記ケーブルの延伸方向に所定幅を有する空間データを生成し、
前記空間データ内に存在する前記３次元位置データが取得された点から前記ケーブルの断面形状データを生成し、該断面形状データに基づいて、前記ケーブルの延伸方向を新たに算出し、
前記空間データを生成する処理と前記算出する処理を繰り返した結果に基づいて、前記ケーブルの形状データを生成する、
処理をコンピュータに実行させることを特徴とするケーブル形状推定プログラム。
（付記８）  前記画像データから前記ケーブルの一端近傍の着目点と該着目点における前記ケーブルの延伸方向とを特定する処理を前記コンピュータに更に実行させ、
前記空間データを生成する処理において前記空間データを最初に生成する際に、前記特定する処理で特定された着目点を含み、特定された延伸方向に所定幅を有する空間データを生成する、ことを特徴とする付記７に記載のケーブル形状推定プログラム。
（付記９）  前記算出する処理において算出した前記ケーブルの延伸方向に基づいて、前記着目点を更新する処理を前記コンピュータに更に実行させ、
前記空間データを生成する処理において２回目以降に前記空間データを生成する際に、前記更新する処理で直前に更新された着目点を含み、前記算出する処理で直前に算出された延伸方向に所定幅を有する空間データを生成する、ことを特徴とする付記８に記載のケーブル形状推定プログラム。
（付記１０）  前記ケーブルの一端には、コネクタが設けられ、
前記特定する処理において、前記画像データから特定される前記コネクタの位置及び姿勢に基づいて、前記ケーブルの一端近傍の着目点と前記延伸方向とを特定する、ことを特徴とする付記８又は９に記載のケーブル形状推定プログラム。
（付記１１）  前記形状データを生成する処理において、前記ケーブルの一端から所定長さの箇所の姿勢及び該箇所の存在する位置を推定することを特徴とする付記７〜１０のいずれかに記載のケーブル形状推定プログラム。
（付記１２）  前記ケーブルは断面円形であり、
前記算出する処理において、前記空間データ内に存在する前記３次元位置データが取得された点を含む前記ケーブルの断面の楕円形状データを生成し、該楕円形状データに基づいて、前記延伸方向を算出する、ことを特徴とする付記７〜１１のいずれかに記載のケーブル形状推定プログラム。
【符号の説明】
【００７３】
１０  ロボット（把持装置）
１６  ロボットコントローラ（制御部）
２０  ケーブル３Ｄデータ取得部（取得部）
２２  ケーブル端点延伸方向計測部（特定部）
２４  サーチボリューム設定部（設定部）
２６  ケーブル断面・延伸方向算出部（算出部）
２８  着目点更新部（更新部）
３０  ケーブル形状推定部（推定部）
４４  ケーブル
４６Ａ  コネクタ
１００  電子機器の製造装置
【図１】
2018005579.tif 000003
【図２】
2018005579.tif 000004
【図３】
2018005579.tif 000005
【図４】
2018005579.tif 000006
【図５】
2018005579.tif 000007
【図６】
2018005579.tif 000008
【図７】
2018005579.tif 000009
【図８】
2018005579.tif 000010
【図９】
2018005579.tif 000011
【図１０】
2018005579.tif 000012
【図１１】
2018005579.tif 000013
【図１２】
2018005579.tif 000014
【図１３】
2018005579.tif 000015
【図１４】
2018005579.tif 000016
【図１５】
2018005579.tif 000017