...

機械加工における位置決めの自動化 研究と将来の事業化構想

by user

on
Category: Documents
1

views

Report

Comments

Transcript

機械加工における位置決めの自動化 研究と将来の事業化構想
機械加工における位置決めの自動化
研究と将来の事業化構想
特殊研究室
指導教員
小林和彦教授
知能機械システム工学科
1050128
西園寺
崇弘
目次
第1章
緒
言---------------------------------------------------------------------------------------------4
1.1 研究の背景--------------------------------------------------------------------------------------4
1.2 研究の目標--------------------------------------------------------------------------------------4
第2章
本研究に関する技術について--------------------------------------------------------------4
2.1 放電加工機について--------------------------------------------------------------------------4
2.2 画像処理システムについて---------------------------------------------------------------- 5
2.2.1 画像解析シミュレーションソフトについて-------------------------------------6
2.2.2 MVTools ライブラリについて-------------------------------------------------------6
2.2.3 前処理について(Sherlock32)-------------------------------------------------------7
2.2.4 解析演算子について(Sherlock32)-------------------------------------------------8
第3章
ワーク座標検出-------------------------------------------------------------------------------13
3.1 実験目的---------------------------------------------------------------------------------------13
3.2 実験装置---------------------------------------------------------------------------------------14
3.3 実験方法---------------------------------------------------------------------------------------16
3.3.1「SmARTSearch」及び「Line」による位置座標解析---------------------------17
3.4 検出結果---------------------------------------------------------------------------------------18
3.5 考察---------------------------------------------------------------------------------------------19
3.5.1 キャリブレイトによる Z 軸認識の妨害------------------------------------------19
第4章
Z 軸認識実験-----------------------------------------------------------------------------------20
4.1 Z 軸認識実験-----------------------------------------------------------------------------------20
4.1.1 Z 軸認識理論----------------------------------------------------------------------------20
4.1.2 実験方法---------------------------------------------------------------------------------21
4.1.3 実験結果---------------------------------------------------------------------------------21
4.1.4 考察---------------------------------------------------------------------------------------22
4.1.5 問題点------------------------------------------------------------------------------------22
4.1 Z 軸補正実験-----------------------------------------------------------------------------------23
4.2 研究方法---------------------------------------------------------------------------------------23
4.3 Z 軸補正実験 1---------------------------------------------------------------------------------23
4.3.1 補正式------------------------------------------------------------------------------------24
4.3.2 方法---------------------------------------------------------------------------------------24
4.3.3 アルゴリズム---------------------------------------------------------------------------24
4.3.4 結果---------------------------------------------------------------------------------------25
4.3.5 考察---------------------------------------------------------------------------------------26
1
4.4 Z 軸補正実験 2---------------------------------------------------------------------------------27
4.4.1 Z 軸補正理論 2--------------------------------------------------------------------------27
4.4.2 実験方法---------------------------------------------------------------------------------27
4.4.3 アルゴリズム---------------------------------------------------------------------------28
4.4.4 結果---------------------------------------------------------------------------------------28
4.4.5 考察---------------------------------------------------------------------------------------29
4.5 まとめ------------------------------------------------------------------------------------------29
第5章
結言----------------------------------------------------------------------------------------------30
2
第1章
緒
言
1.1 研究の背景
放電加工は、金型加工を中心に普及し、難加工材料、難加工形状、あるいは放電加工
の特性を生かし多くの用途を生み出している。また、数値制御技術も進み、加工速度、
精度も向上していて、現在では精密加工分野ではなくてはならない加工法になっている。
今日ではインターネットを用いて放電加工機を遠隔操作、監視する技術も発展し、会
社などから NC データを作成後、通信回線によりインターネットを通して遠隔地の機械
に NC データを送信し、必要に応じて操作を行い、加工状態を確認する。このような遠
隔操作の技術が特に発展している。
1.2 研究の目標
他方では、現在まで困難な作業だったワークの平行出しを自動化する作業の研究も進
み、放電加工機操作の簡易化が進んできている。そこで、同じくワークの取り付け作業
の一つである、位置決め作業の自動化を研究し、これを工場に導入し、事業化を考える
ことが本研究の最終的な目標である。
事業化をはかるためには、どの工場にも後付けが可能という条件、どのような機能を
持たせるかなどの問題がある。そこで本研究ではそのための理論の作成を第一として
Sherlock32 アルゴリズム評価ソフトを使用し、事業化のために必要な理論を作成、評
価していく。
第2章
本研究に関する技術について
2.1 放電加工について
ここで今回の研究に用いられる放電加工について説明する。
放電加工とは、銅などの柔らかい導電性の材料を電極として、焼きの入った金属や超硬
合金など非常に硬い材料(工作物)を精度よく加工することができる。この場合、工具
と材料は直接接触して加工するのではなく、数ミクロンから数十ミクロンの隙間で繰り
返し火花放電を発生させることによって、ワークを溶融除去しながら加工する。放電加
工は、一つ一つの放電が連続的におこなわれるが、それは 1 秒間に数千ないし数万の放
電を発生させ、それによって生ずる多数の放電痕の累積によって加工がおこなわれる。
一般に放電加工には、今回の研究でも使用する形彫放電加工とワイヤ放電加工がある。
基本的にこれらの仕組みは同じであるが、用途に応じて使い分けられる。
形彫放電加工機は、特定形状の電極を用いて、その反対形状に対応するように投影加
工をおこなうものである。加工された形状は、電極と放電クリアランス(数μm程度か
ら数十μm)を隔てた現物合わせ形状となっている。このクリアランス精度は、主とし
3
て電気条件と加工液の清濁の度合いによって決まる。また、加工形状が大きくてもクリ
アランスは均一に加工されるなどの特徴がある。
そのため、加工機を運転制御するためには、加工進度に応じて電極を加工方向に進行
させる主サーボ機構のほかに、電極の見かけの寸法を拡大する方向(横方向)に相対運
動を与える機構(揺動機構)などが必要となる。これらは、数値制御との組み合わせで
動作制御される。
本研究では放電加工機の機械テーブルの代わりに白地の用紙に基準点を打ったもの
を使用した。
2.2 画像処理システムについて
今回放電加工機上のワークの位置を検出する方法として、カメラからの画像をもとに
した画像処理を用いた。以下に今回使用した「Sherlock32」という画像解析シュミレー
ションソフトについて説明する。
2.2.1 画像解析シミュレーションソフトについて
ここではこの研究に使用した画像シミュレーションソフト「Sherlock32」、
「MVTools」
について説明していく。
「Sherlock32」はウィンドウベースの画像処理シミュミレーションツールである。マ
ウス操作によってアルゴリズム開発をおこなうことができる。Sherlock32 はアルゴリ
ズム開発、繰り返し精度、処理時間の確認等のシミュレーション機能の留まらず、作成
したアルゴリズムをそのまま現場に投入して使用することも可能である。そのため I/O
制御、条件分岐、フロー制御機能がある。
また、Sherlock32 で得られたアルゴリズムや処理結果、処理時間等は、MvTools
C
ライブラリを使用して開発されたプログラムで動作を再現することが可能である。これ
は、
Sherlock32 のコマンド群が MVTools ライブラリを基に作成されているためである。
MVTools ライブラリを使用することにより、GUI のカスタマイズや、既存ユーザ関
数との併用が思いのままである。
2.2.2 MVTools ライブラリについて
今回、MVTools の関数を利用して、VisualC++でプログラミングを行うため、簡単に
MVTools について説明を行う。
(1)MVTools の構成
MVTools は、ITI 社の画像取込ボードを利用して画像解析を行うための関数ライブラ
リである。MVTools の主な部分は、3つの DLL から構成されている。
4
mvtools.dll
MVTools メインモジュール
画像前処理、画像解析、幾何演算の機能を実装
itimgutl.dll
Image Utilities モジュール
画像データ構造の基本的な操作を実装
itimgmgr.dll
Image Maneger モジュール
画像入力、画像表示等の入出力機能を実装
これら、DLL は Windows のシステムディレクトリにインストールされている。
Visual C++で作成するプログラムから MVTools を利用するためには、DLL と同名の.lib
ファイルをリンクし、やはり同名の.h ファイルをインクルードする必要がある。
(2)画像データ構造体−IDS
MVTools では、画像解析や画像入出力の関数とのインターフェースとして、IDS
(Image Data Structure)と名づけられた構造体を使用する。この構造体には、サイ
ズなどの画像情報とともに、画像バッファへのポインタが格納される。
IDS にはマスターIDS と RROI(Rectangle Region Of Interest)IDS の二種類があ
り、マスターIDS は独自の画像バッファを持つ IDS である。RROI IDS はすでに生成
されたマスターIDS に関連付けられ、画像バッファの特定の領域を処理するための IDS
なのである。
マスタ IDS を生成するには関数 im_create()を使用する。RROI
IDS を生成するに
は関数 im_delete()をコールして破棄する必要がある。いずれも iteimgutl.dll に含まれ
る関数である。
図 2.12
MVTools 周辺のブロックダイアグラム(MVTools Software Reference より)
5
2.2.3 前処理について
Sherlock32 は、最大 5 つの段階の画像プリプロセッサ演算子(Invert, Threshold,
1×1, Dilate など)をサポートしている。プリプロセッサのダイヤログ・ボックスを使
って演算子を設定する。プリプロセッサとは、あらかじめ決められた方法に従ってピク
セル値を変更することである。
今回研究で使用する、前処理のプリプロセッサ演算子は Threshold、Sharpen、
Smooth、Median などである。次にこれらのプリプロセッサ演算子について説明を行
う。
1)Threshold(2 値化処理)
しきい値より大きいピクセル 255 に設定する。他のすべてのピクセルは 0 に設定
される。
パラメータ:
Threshold value 0-255
0∼255 のしきい値
実行しますか?(1=はい、0=いいえ)
2)
(3×3)Sharpen(3×3 画像鮮明処理フィルタ)
Sharpen フィルタはエッジを鮮明にする。一定の輝度の領域は変わらない。
Sharpen は、カーネルを使って 3×3 コンボリューションを適用することと同じであ
る。
パラメータ:
実行しますか?(1=はい、0=いいえ)
3)Smooth(3×3 ローパス・フィルタ)
Smooth は、画像からノイズや不要な値を除去する単純な移動平均型(非再帰的)
ローパス・フィルタである。各ピクセルは、そのピクセル自身とその 3×3 の隣接ピ
クセル内にある 8 個のピクセルの平均値に置き換えられる。この演算子にはエッジを
ぼかす効果もある。この演算を何回も行うと、Area Peek 内の各ピクセルが領域のグ
レイ・レベルの平均値に設定される効果ある。
パラメータ:
Number of Times(maximum 10)
回数(最大 10)
4)Median(フィルタ処理)
Median フィルター演算子は、各ピクセルを、そのピクセルとそのピクセルに隣接
する8個のピクセルの中央値に置き換える。中央値は、そのソートされた 9 個の隣接ピ
クセルの 5 番目の値である。
パラメータ:
実行しますか?(1=はい、0=いいえ)
6
2.2.4 解析演算子について
Sherlock32 には、解析演算子を多数持っており、その処理対象に応じて最適な解析
アルゴリズムに組み込まなければならない。本研究では、3.3 章で考えた 2 つの解析ア
ルゴリズムについて、有効と思われる解析演算子をいくつか用いた。
解析演算子は、解析エリアのとりかたによって使用できるものが異なる。解析エリア
は、四角領域内のピクセルを調べるもの(Area Peek)と線上の1ピクセル幅の領域を
調べるもの(Line Peek)、その他にもいくつかの演算子があるが、今回は Line Peek と
Circle Peek を使用し、主な解析演算子は Calibrate 演算子、Smart Search 演算子、
First Edge 演算子、First Back Edge 演算子を利用した。
次に今回使用した解析演算子3つについて処理の処理内容を説明していく。
1) Calibrate(座標変換演算子)
カメラ・キャリブレーションとは、カメラのピクセル座標系と実寸座標系の変換を行
う。それは、4点座標系機能を使って、1つの画面に対して4箇所の位置を設定する。
カメラ内の4箇所の位置と実世界座標が関連づけられると、Sherlock32 は内部の数値
変換機能により、スケール、オフセット、回転、視覚的な歪みを補正するための座標変
換係数を確立します。キャリブレーションが確立されると Stakeout Options から
Calibrate same as オプションを選択することにより、他の画面にもその係数を利用す
ることが可能である。つまり、1つのキャリブレーションの結果を多くのの画面で利用
することができる。
以下に座標系編集ダイアログを表しているが、ここに実際の座標を入力する
図 2.13 キャリブレーションのエディトダイアログ画面
7
2) Smart Search(Smart Alignment and Registration Tool)
スマートサーチは、サブピクセルの精度と他界信頼性で、登録パターンを高速で検
出ツールである。SmART Search は、パターンの回転/スケール変化/遮蔽/欠落や、非
線形反射、反転、酸化、成膜、さまざまな輪郭タイプ画像などの実世界の問題を処理す
るよう設計されている。
SmART Search は、2つのサーチ・エンジンと2つのサブピクセル・サーチ・カー
ネルよって動作する。これらのサーチ・エンジンは「コリレーション・サーチ」と「幾
何学サーチ」である。サブピクセル・サーチ・カーネルは、「標準サブピクセル・カー
ネル」と「SmART サブピクセル・カーネル」である。良好な(クリーンな)パターン
の場合、標準サブピクセル・カーネルは、約 1/40 ピクセルの精度でパターンの位置を
サーチすることができる。
SmART サブピクセル・カーネルは、劣化したパターンでも、1/60 ピクセル以上の精
度でパターンの位置をサーチすることができる。
図 2.14
登録パターンとその一致候補
A,「コリレーション・サーチ・エンジン」
コリレーション・サーチ・エンジンは、「通常の」テクスチャをベースにしサーチ・
テクノロジーである。パターンは、そのクレースケール強度によって定義される。その
サーチプロセスは、登録パターン内の強度とサーチ画像内の考えられるインスタンスの
比較である。サーチストラテジーを「スパイラル」と呼ぶ。パターンの考えられる位置
は、登録パターンすなわちモデルの数ピクセルを使って再びチェックされ、得点の低い
位置は排除される。このプロセスは、さらに多くのピクセルを利用し、パターンのイン
スタンスが見つかるまで1ピクセル単位の精度で繰り返される。その後、いずれかのサ
ブピクセル・サーチ・カーネルが、サブピクセル制度でパターンの位置をサーチする。
パターンが劣化していない場合、コリレーション・ベース・サーチ法の精度は、通常、
1/40 ピクセルである。図 3.8 は、登録パターンとその一致候補を示している。
8
各一致候補は、最良の一致候補が見つかるまでさらに細かなステップで再評価され、サ
ンプリングが繰り返される。
B,「幾何学サーチ・エンジン」[Geo Search]
Geo Search(幾何学サーチエンジン)は、パターン検出の新しい概念である。Geo
Search は、パターンの輪郭情報(エッジ・ピクセル)を抽出し、輪郭ピクセル間に幾
何学的関係を形成する。例えば、円は円のあらゆる点が円の中心点から等距離上に位置
した幾何学形状である。Geo Search は、実世界の画像に発生する問題(パターンの欠
落や遮蔽、輪郭形状パターン、非線形反射)を確実に処理する。Goe Search は1ピク
セル・サーチ・カーネルが、高いサブピクセル精度でパターンの位置をサーチする。
パターンのばらつきや劣化、照明の変化に左右されない幾何学ベース・サーチ法の精度
は、通常 1/60 ピクセルである。図 3.9 は、円形の登録パターンと、その輪郭点間の関
係を示している。輪郭の各点は、円の中心から等距離上にある。
図 2.15 円形の登録番号と輪郭点間の関係
C,「標準サブピクセル・カーネル」
標準サブピクセル・カーネルは、近傍演算を行ってサブピクセル精度でパターン位置を
計算する。標準サブピクセル・カーネルは、パターンが良好であれば 1/40 ピクセルの精度
がある。精度はパターンの劣化に比例して低下する。
D,「SmART サブピクセル・カーネル」
SmART サブピクセル・カーネルは、近傍演算を行い、ニューラル・ネットワーク技術を利
用してサブピクセル精度でパターン位置を計算する。SmART サブピクセル・カーネルは、
実世界の画像の場合、1/60 ピクセル以上の精度がある。欠落、遮蔽、残骸、非線形反射と
いった劣化でも精度は変わらない。
9
3)
Connectivity(ラベリング)
指定された値のピクセルの連結されたすべての「ブロブ」を探す。2値化後、白い
ブロブを検出するには、色値 255 のブロブを探ようにする。黒いブロブを検出するに
は、色値 0 のブロブを探す。
Reading:
Number of blobs found(N[]) ブロブの面積
Centroid of blob 0(P) 最大ブロブの重心
Centroids of blobs(P[]) ブロブの重心(配列)
Top-left corner of bounding box for blob 0 (P)
最大ブロブの外接四角形の左上の座標
Top-left corner of bounding box for each blob (P[])
各ブロブの外接四角形の左上の座標
Heights of blobs (N[]) ブロブの高さ
Widths of blobs(N[]) ブロブの幅
Perimeters of blobs(N[]) ブロブの周囲長
Occupation Ratios of blobs(N[])
ブロブの占有率
Circularities of blobs(N[]) ブロブの真円度
NE/SW of blobs(N[])
ブロブの NE/SW
NW/SE of blobs(N[]) ブロブの NW/SE
NN of blobs(N[]) ブロブの NN
N of blobs(N[])
ブロブの N
S of blobs(N[])
ブロブの S
SS of blobs(N[])
ブロブの SS
C of blobs(N[]) ブロブの C
WW of blobs(N[])
ブロブの WW
W of blobs(N[])
ブロブの W
E of blobs(N[])
ブロブの E
EE of blobs(N[])
ブロブの EE
NE/SW2 of blobs(N[])
ブロブの NE/SW2
NW/SE2 of blobs(N[])
ブロブの NW/SE2
パラメータ:
Blob quantity – number of blobs to find
Blob color:255=white, 0=black
Blob selection constraints
ブロブの数量:検出するブロブの数
ブロブの色:255=白、0=黒
ブロブの選択条件
Largest(high)blob area (pixels)
最大のブロブ領域(高)
(ピクセル)
Smallest(low)blob area(pixels)
最小のブロブ領域(低)
(ピクセル)
10
Tallest(high)blob height(pixels) 最も高いブロブの高さ(高)(ピクセル)
Shortest(low)blob height(pixels)
最も低いブロブの高さ(低)(ピクセル)
Widest(high) blob width(pixels) 最も広いブロブの幅(高)(ピクセル)
Narrowest(low) blob width(pixels)
最も狭いブロブの幅(低)(ピクセル)
Allow blobs touching edge(yes/no)
ブロブが画像端に触れてもかまわない yes/no
Readings to return (返す Reading 上記参照)
Sort reading by(Reading のソート基準):-1=no sort(ソートしない)、0=size
(サイズ)
、1=X, 2=Y, 3=Column(列)
4=Row( 行 ) 、 5=X+Y 、 6=X-Y 、 7=H 、 8=W 、 9=Perimeter( 周 囲 長 ) 、
10=Occupation Ratio(占有率)、11=Circularity(真円度)、12=NE/SW、
13=NW/SE
Sort direction(ソート方向):0=lowest to highest(低→高)、1=highest to
lowest(高→低)
Connectivity は Smallest と Largest の間の面積(ピクセル・カウント)、Shortest と
Tallest の間の高さ、Narrowest と Widest の間の幅を持つブロブだけを考慮する。こ
の制約条件を無視するには、これらのすべての値を“‐1”に設定する。
Connectivity を使うと、Area Peek のエッジに接触するブロブをフィルタ処理するこ
ともできる。常に、制約条件を満たすブロブの総数が最初に返される。Connectivity
は、必要に応じて、面積、重心、囲み枠の高さ/幅、周囲長、占有率、真円度、および
一連の構造解析パラメータ(オプションの戻り値)も返すことができる。
周囲長は、同じ色の他のピクセルに完全には囲まれていない、ブロブ内のピクセルの
数として定義される。
占有率は、連結ピクセルが含まれている囲み枠のパーセンテージである。たとえば、
正方形のブロブは占有率が 100 になるが、細い線のブロブは、占有率が 10 より小さく
なる場合もある。
真円度は、ブロブが円形であるとして仮定して、面積から計算される半径の比率に対
する、周囲長から計算される半径の比率として定義される。この値は、完全な円の真円
度が 100 になるように 100 倍される。面積の測定値は周囲長の測定値よりかなり再現
度が高いので、実際の円の真円度が 100 に近くなることはほとんどない。しかし、さ
ほど円形に近くないブロブは常に、より円形に近いブロブより真円度が低くなる。
Connectivity 解析は、オブジェクトの検出と分類に使う。互いに 8 方向連結する(つ
まり、3×3 のリージョン内で 8 個のどの隣接ピクセルも接触する)ことによってすべ
てのピクセルが関連した、1つまたは複数の明るいピクセルの島を探すことによって、
オブジェクトの中心、面積、その他のパラメータを速やかに検出することができる。
11
第3章
ワーク座標検出
3.1 実験目的
放電加工機での段取り作業においてワークのセットアップは、まず、ワークとテーブ
ルを平行に取り付ける必要がある。現在ではダイヤルゲージを使用してワークのセット
アップを行っているが、この作業は、非常に手間がかかり、また熟練と経験を要するか
なり難しい作業である。
そこで誰もが簡単にワークの取付けを行うようにするには、あらかじめカメラによっ
てワークの座標を取得し、その付近まで測定子をもっていき、ワークの傾き角を測定
(1.2 参照)する。そして、座標回転機能で加工したい図形をワークの傾き角度分だけ
回転させればよい。正確な高さについては、カメラによってワークの Z 座標をを取得し、
その位置まで測定子を移動させ、測定させればよい。
本研究は、ワークが機械テーブル上のどこに置かれているか、すなわちワークの位置
と大まかな形状をカメラ用いて認識するものである。ワークの位置と高さを求めるため
に、本章では、Sherlock32 という画像処理シュミレーションソフトを用いて、座標の
認識を行った。
図 3.1
ワーク座標検出の全体図
12
3.2 実験装置
次に今回の座標検出に用いた装置の仕様について以下に述べる。
1)画像解析コンピュータ
表 3.1 画像解析コンピュータ仕様
パソコン名:
Dell OptiPelx GX1 600Mtbr+
プロセッサ:
Intel PentiumⅢ600[MHz]
メモリ:
128 MB RAM
ハードディスク:
12.7 GByte
OS
Windows 2000 Professional
図 3.2 画像解析パソコン
2)ビデオカメラ
表 3.2 カメラ仕様
製品名
EVI−G20
CCD
1/4 インチ
有効画素数
768(H)×494(V)
レンズ
F=4.5∼13.5mm
38 万画素
F2.3∼4.1
(3倍ズーム、オートフォーカス)
図 3.3 画像解析カメラ
信号方式
NTSC
画角/チルト角
45°∼15°/上下 15°
最低被写体照度
16lux(50ire)
13
3)画像解析ボード
表 3.3 画像解析ボード仕様
製品名:
IC2−COMP(アナログモノクロ入力ボード)
Video Memory
1MB
Capture/Display Rate
30fp:Rs-170,NTSC,S-Video/25fps:CCIR,PAL,S-Video
On-Board Digital I/O
16bits: 8bits in 8bits out
図 3.4 画像解析ボード
4)画像解析シミュレーションソフト&画像解析関数ライブラリ
画像解析シミュレーションソフト「Sherlock32」は、ポイント&クリック環境を持っ
たマシンビジョンアプリケーション構築ツールである。ソフトウェアオリエンテッドと
ハードウェアオリエンテッドをリンクした統合環境で、スタンドアローン・アプリケー
ションとしてもプロトタイピング・ツールとしてでも使用可能である。Sherlock でプ
ロトタイプアルゴリズムを構築し、MVTools で組み込
んで使用する。
画像解析関数ライブラリ「MVTools」は、MMX 対応
マシンビジョン用 C/C++ライブラリで、
「Sherlock」や
「Smart」シリーズのコアアルゴリズムを同梱している。
様々な各種関数、低レベル関数をサポートしているため、
カスタムユーザ向けの本格開発ツールとして利用でき
る。
「Sherlock」で簡易アルゴリズム構築後、MVTools
で組み込みを行うことで開発工数を減らし、高速、高精
度のシステムを構築することが可能である。
図 3.5 Sherlock32&MVTools
表 3.4 「Sherlock」&「MVTools」仕様
OS
Windows 98/NT4.0/2000
HDD
空き 50MB 以上
RAM
64MB 以上
開発コンパイラ
Microsoft Visual Studio 6.0
14
3.3 実験方法
今回は、放電加工機の機械テーブルの代わりにグラフ用紙を使用し、その上にワーク
を置いて測定を行った。そして、ワーク全体をカメラ(図 3.3 参照)で写し、画像取り込
みボード(ITI 社製
IC-2COMP)で画像をパソコン(図 3.2 参照)に取り込んだ後、パ
ソコン上の画像処理シュミレーションソフト Sherlock32 により、ワークの特徴点座標
の検出を行った(図参照)。測定方法は、カメラをワークの斜め上方から取り込む方法
で行った。また、カメラは 15°限界まで下げている。図 3.6 と図 3.7 はカメラとワーク
の距離関係を記載する。
図 3.6 カメラ位置
図 3.7 ワーク位置
15
3.3.1
「SmART Search」及び「Line」による位置座標解析
本実験では以下の2つの解析アルゴリズムを使用し、実験を行った。
a)“SmART Search”による解析アルゴリズム
この解析アルゴリズムは一種のパターン・サーチ処理なので、ワークに特徴をも
たせて、検出精度を上げる必要がある。そこで、今回はワークに特徴線を付けて検
出を行った。
b)“Line”による解析アルゴリズム
この解析アルゴリズムは緑の線上でワークの角(エッジ)の暗と明の変化を見つ
けて、その座標を検出させる解析方法である。そのためワーク側面の上下の角に黒
い線を引くことで暗と明の変化を強調させて検出精度を向上させた
これらの解析アルゴリズムは一種のパターン・サーチを行っているので、ワークに説
く頂点を持たせることが重要となる。そこで、図にあるような特徴線をワークに付ける
ことにより特徴線を強調させた。以下にこのワーク座標検出処理の流れについて述べる。
1) まず、画面上の4つの基準点により、カメラ座標から実寸座標への変換処理を
行う。(キャリブレイト)
2) 次に、ワーク側面下にある特徴点を「SmART Search」に登録し、サーチ範囲
内で特徴点を探す。
3) 特徴点を発見後サーチを終了。その座標を A 点とする。
4) B 点についても同様に行う。
5) ワークの高さ(Z 値)については、「Line」解析アルゴリズムによって側面の
下部と上部の特徴線を検出させる。
6) 特徴線を検出後、その間の距離を関数によって求め、それをワーク高さ(Z 値)
とする。
図 3.8 SmART Search 及び Line 解析の範囲図
16
3.4 検出結果
このアルゴリズムを評価するために、実際に使用して解析を行った。その結果を実寸
値と比較したものを表 3.1 に示す。また、図 3.9 に Sherlock32 による座標解析の様子
の図を記載する。
図 3.9 「SmART Search」及び「Line」解析による座標検出
表 3.1 測定結果
測定値[mm]
実寸値[mm]
誤差[mm]
誤差[%]
A 点 X 座標 [mm]
27.0
27.7
−0.7
−1.4%
A 点 Y 座標 [mm]
84.5
82.7
1.8
2%
B 点 X 座標 [mm]
127.7
128.2
−0.5
−0.3%
B 点 Y 座標 [mm]
79.2
80.1
−0.9
−0.1%
ワークの高さ Z[mm]
48.46
20.6
27.86
135%
17
3.5 考察
測定結果より、ワーク座標の誤差は 2[mm]以内に収まっているが、ワークの高さは
27.86[mm]、実に 135%もの誤差が発生している。
ワーク座標に関しては目標値(測定誤差を 2mm以下)をクリアしているので、誤差
の面から考えれば十分実用化のであると考える。しかし、ワーク高さに関しては実測値
の2倍以上の誤差が発生しているため、まったく使い物にならないと考える。
3.5.1
キャリブレイトによる Z 軸認識の妨害
今回の2倍以上の誤差が出た原因はキャリブレイトにあると考察する。
Sherlock32 におけるキャリブレイトは4点による2軸座標変換まで行うことができ
るが、3軸座標変換を行うことができない。つまり、2次元平面画像の2点間の距離を
見ている状態(図 3.10)である。そのため、側面部分の長さを求めることが高さを求
めることに直結しなかったと考える。
この状態を改善するには Z 軸を擬似的に検出する等の措置が必要であると考える。
図 3.10 本実験で求めたワークの高さ
18
第4章
Z 軸認識実験
4.1 Z 軸認識実験
第3章では、ワークの位置検出及び高さ測定を行った。そこでワークの位置検出では
安定した精度を得ることが出来た。また従来の方法では高さを求めることが不可能だと
言うことも判明した。
そこで、この章では、Z 軸を認識させる理論を組むことが最大の目的である。理論の
作成後に実験を行い、その理論が正しいか検証をする。
4.1.1 Z 軸認識理論
前回の方法では直接側面の長さを求めることでワークの高さを測定しようとしたが、
今回は間接的に側面の長さを求める方法を採用した。ただし、「Line」解析演算子を用
いるのではなく、「Circle」解析演算子を用いた。円を使用することによって、中点 A
での X 軸を直接ワークの高さとして見ることが出来るのではないか、と考えた。
最初に側面長さ R とrは同じ半径を指し、長さも同じである。しかし、キャリブレ
イトをすることで側面長さ R は両軸方向に補正される。中点 A から交点までの距離 r
は X 軸方向にのみ補正される。Z 軸は面 X-Y に対して垂直になっており、平面図から
見たときも Z 軸と X 軸が直角であると仮定する。その場合 X 軸は中点での擬似 Z 軸と
して使用することができるのではないか、と考えられる。図 4.1 に Z 軸認識理論を図化
したものを記載する。
図 4.1
Z 軸認識理論
19
4.1.2 実験方法
実験は以下に沿って進行した。
1)
側面の認識後、側面下部のある1点(以後“中点 A”)を中心に側面の長さ R
を半径とする円を描く。
2)
4点を用いた X-Y 軸キャリブレイトを行う。
3)
交点の座標がそれぞれ、(X1+r, Y1)・
(X1−r, Y1)となる。
4)
同時に接点が(X1+ΔX、Y1+ΔY)の2軸座標で表される。
5)
円と側面上部の接点の Z 軸座標をワーク高さ(Z 軸座標)rとして関数に記憶
させる。
4.1.3 実験結果
この Z 軸認識理論を評価するために、実際に使用して解析を行った。その結果を実寸
値と比較したものを表 4.1 に示す。図 4.2 には測定中の図を記載する。
図 4.2 「Circle」演算子を用いての測定
20
表 4.1 測定結果
測
定
値 実寸値[mm]
誤差[mm]
誤差[%]
−3
−14.5%
[mm]
高さ[mm]
17.6
20.6
4.1.4 考察
結果を見ると、以前よりはるかに誤差が少なくなった事を見ることが出来る。しかし、
誤差は目標値である 2[mm]を割り込んでいることも分かる。また、誤差の値がマイナ
スになっていることも見られる。これによって測定子に初期の高速移動を行わせる際、
移動中に接触してしまう恐れが出てくると考えられる。
この誤差はカメラによって測定した場合、角度によって Z 軸に“ずれ”があったため
起こったものと考えられる。つまり、本研究によって作成された理論はほぼあっていた
と考えられるが、仮定に不備があったため発生した誤差と考えられる。この誤差はその
ずれを考慮に入れて補正を行えば解消されると考えられるため、次の実験での課題にな
った。図 4.3 は Z 軸のずれを図化したものを記載する。
図 4.3 Z 軸のずれ
4.1.5 問題点
本理論の改善すべき点について以下のように挙げられる。
1) 検出した擬似的な Z 軸と図りたい Z 軸の誤差を考慮する。
2) 誤差がマイナスの値を示すことで、測定子の自動移動中にワークと接触してし
まう恐れがある。
以上の問題点が明確になった。
21
4.2 Z 軸補正実験
Z 軸認識実験では、Z 軸を認識させるための理論の作成を行った。そこで理論の作成
には成功したが、結果は誤差が目標値に及ばなかった。しかし、その誤差は検出した Z
軸の傾きによるものと推測できた。そこで、本実験では Z 軸の傾きを補正し、正しいワ
ーク高さを導き出すことを目的とする。
4.3 研究方法
本理論・実験では、Z 軸認識実験で作成した理論を元に、より正しい高さに補正する
理論の作成を行う。その後、実際に実験を行い、結果について検証を行う。その段階で
目標値に到達していなかった場合には、その考察を元に理論の修繕を行い、再度実験を
行う。
4.3 Z 軸補正実験 1
本理論は見る高さによって生じる傾きを利用して補正を行うことを考えた。真上
(90°)から見下ろした時、見える側面部の割合は 0%であることは明白である。そこで、
真横(0°)から見た時に見える側面部の割合を 100%と仮定する。そうすると、比率の関
係から側面部分が見える割合を算出できるのではないかと考えた。(図 4.4)
図 4.4 Z 軸補正理論
22
4.3.1 補正式
Z 軸がずれているということで、見えている側面部分の面積に影響が出ているのでは
ないか、と考えた。図 4.4 の赤線と青線のなす角が 45°の時、50%側面部分が見えて
いると仮定する。その時、なす角(θ°)と見えている側面積部分(α%)の関係は以
下の式のように示すことができる。
45:
(90-θ)=50:α
・・・(1)
α=50*(90-θ)/45
・・・(2)
よってなす角θのとき、α%見えていると言える。この時次の比例式も成り立ってい
ると考えられる。ただし、見えている側面積がα%の時の測定高さを Z1、完全に側面
が見えている場合の測定高さを Z2 とする。
α:100=Z1:Z2
・・・(3)
Z2=100*Z1/α
・・・(4)
以上の過程によって式(4)を導き出すことができる。このような数式を利用して Z
軸の傾き分の補正をかけることができるのではないか、と考える。
4.3.2 実験方法
実験は以下の手順で行った。
1)図 5.1 のなす角を計測する。
2)本理論を用いて Sherlock32 のアルゴリズムを作成する。
3)アルゴリズムに沿って計測する。
4)結果を調べ、考察する。
4.3.3 アルゴリズム
1)補正のための角度の計測
2)補正前高さの計測
3)角度からなる、見える割合の比率計算(A*B->C)
4)角度からなる、見える割合の比率計算(C/D->α)
5)比率からの補正計算(100%*Z1->E)
6)比率からの補正計算(E/α->Z2)
23
4.3.4 結果
この Z 軸補正理論を評価するために、実際に使用して解析を行った。その結果を実寸
値、
補正前の測定値と比較したものを表 4.2 に示す。図 4.5 には測定中の図を記載する。
図 4.5 補正理論を用いての測定
表 4.2 測定結果
測定値[mm]
実寸値[mm]
誤差[mm]
誤差[%]
補正前高さ
17.04
20.6
-3.56
-17.2
補正後高さ
24.1
20.6
3.5
17.0
24
4.3.5 考察
結果は、確かに補正はされて入るが依然として誤差の目標値に達していないことがわ
かる。しかし、誤差がマイナス方向からプラス方向へ向かった事に関しては、前回の問
題点の一つを克服することが出来ているものと考えられる。
この誤差の原因を考えると、比例式の角度に使用した X-Y のなす角に問題があった
と考えられる。X-Y のなす角は図 4.4 のワーク上に 2 箇所存在(図 4.6)する。その 2
箇所の角度が違っていることを図 4.4 から見て取ることが可能である。そのため本実験
では、正しい X-Y のなす角による比率計算が行われていなかったとが、原因として考
えられる。よって次の実験は、正しいなす角を計測する方法等の対策が必要であると考
える。
図 4.6 なす角の違い
25
4.4 Z 軸補正実験 2
前回の実験での誤差の絶対値は変わらない結果になった。そのため実験目的に反して
いたため失敗と言う結果であったが、正しい方向に補正がかかっていた事及び、それに
よって測定子とワークの接触の危険が回避できた事が判明した。
そこで、本実験では前回の原因であると考えられる、X-Y のなす角への補正を考慮に
入れて実験を行う。
4.4.1Z軸補正理論 2
2 つの X-Y のなす角が変化する条件は以下の二つである。一つはカメラの撮影角度を
変更すること。他方はワークの側面がカメラに対して、水平もしくは垂直の状態から変
更させることである。つまり、カメラとワークの位置関係に密接な関係があると考えら
れる。しかし、カメラ及びワークの位置を固定してしまうことは、その位置以外では座
標測定を不可能にさせてしまうことを意味するため、X-Y のなす角が違っていても問題
の無い理論が必要となる。
そこで、なす角の平均値を取り、それをZ軸補正理論に使用することが出来ないと考
えた。(図 4.7)
図 4.7 なす角の平均値
4.4.2 実験方法
1)両なす角を計測する。
2)Z軸補正理論 1 を用いて Sherlock32 のアルゴリズムを作成する。
3)Z軸補正理論2で考案したアルゴリズムをサブルーチンに加える。
4)結果を調べ、考察する。
26
4.4.3 アルゴリズム
1)補正のための両なす角の計測
2)なす角の平均値計算((A/2+B/2=C)
4.4.4 結果
この Z 軸補正理論2を評価するために、実際に使用して解析を行った。その結果を実
寸値、補正理論 1 だけでの測定値と比較したものを表 4.3 に示す。図 4.8 には測定中の
図を記載する。
図 4.8 補正理論2を用いての実験
表 4.3 測定結果
測定値[mm]
実寸値[mm]
誤差[mm]
誤差[%]
補正前高さ
24.1
20.6
3.5
17.0
補正後高さ
21.8
20.6
1.2
5.8
27
4.4.5 考察
本実験の結果は 1.2mm、実に 5.8%の誤差に留まる結果となった。この誤差に関し
て、角度検出時の頂点認識をより精度の高いものにする、補正前の高さを計測する際に
用いる Circle Peek の正確な表記などを行うことで、さらにつめていけるものと考える。
しかし、この後測定子で最終的に機械座標に変換することを考慮すると、本理論は十分
実用に耐えると考える。しかし、電極など地面に設置していない物体に関しては X-Y
座標を検出すること自体が難しいため、本理論を用いての高さ測定は難しいと考えられ
る。しかし、地面に接地しているモノなら、キャリブレイトを行っていれば高さを測定
することができるため、防犯カメラなどにも活用できると考えられる。
4.5 まとめ
以上までで、ワークの座標検出からはじまり、より正しい高さ計測を行う理論の作成
を行い、評価実験を繰り返した。そこで以下のような結論が出た。
1)Sherlock32 を用いて座標を測定する際、X-Y 軸以外の座標を求める時は別途の
理論にそって測定する必要がある。
2)誤差がマイナス方向に向いている場合には測定子の高速移動中にワークと接触し
てしまう恐れがあるため、最終的に補正を+方向にかける必要がある。
3)カメラの位置及びワークの位置を変えた場合でも、同様に測定が可能である。
4)電極などの地面についていない物体に関して、本理論は用いることができない。
28
第6章
結
言
今回は“Sherlock32”を基盤に、ワークの位置検出からはじまり、実用可能な範囲に
誤差が収まっているかを評価するためにシミュレーションを行った。そこで、ワーク高
さが実用不可能な誤差を表していたため、キャリブレイトの欠点を見つけることが出来
た。
次にワークの高さ検出に重点を置き、Z 軸を擬似的に検出する方法についての理論を
作成し、その評価実験を行った。その結果、CirclePeek による方式は正しいが、誤差
は目標値に到達していなかったため、補正を行うための更なる理論作成と実験を繰り返
した。その結果、十分に実用に耐えるだけの誤差に収まった。またこの理論は、カメラ
を使用した他の分野にも応用が利くのではないか、とも考えられる。
以上のことをまとめると次のようなことが言える。
1)高さを計測するには「Circle」検出によって行うことで、カメラの高さの変化に
対応でき、誤差の大幅な削減につながった。
2)本方式により、画像認識による座標検出能力が向上した。
最後に本研究にあたって、指導教員である小林教授をはじめ、実験に協力いただいた
同研究室の方々には心より感謝申し上げる。
参考文献
参考文献
1)浜口英愛、インターネット利用による放電加工機遠隔制御とワークの自動測定方式
2)白倉友也、放電加工機遠隔操作、ワークの自動測定方式
29
Fly UP