沼津高専 電子制御工学科 |
||||||
|
||||||
改訂記録 |
||||||
版数 |
作成日 |
作成者 |
承認 |
改訂内容 |
||
A01 |
2009.03.11 |
加賀美 |
川上 |
初版 |
1.目的
2.使用するカメラ
3.ボールの距離測定
4.ボールの画像中心からのずれの角度の測定
本ドキュメントは、ボール認識プログラムのデータに関して記述したものである。
1.使用したカメラは、「Logicool
QCAM E 3500」である。
2.性能を以下に示す。
・センサー解像度 : 30万画素(640×480)
・フレームレート : 最大30fps
・視野角 : 60°
・USB2.0対応
・UVC対応
画像サイズ320×240でキャプチャしたときの、直径10cmのボールの距離と半径のピクセル数の関係を以下の図に示す。
この場合、だいたい
(距離)=3000×(半径)-1
で与えられる。
使用するボール・カメラ、2値化の精度により距離の計算式を求める必要がある。
距離の計算式を求める手順を以下に示す。
1. メジャーを350cmほど出し、床に置く。
2. メジャーの零の位置に、カメラを正面を向けて、高さ20cmくらいの位置(MIRSに搭載したときの高さを想定)に置く。
3. ボールのみしっかり認識できる環境をつくる(背景に白のパネルを置くなどする)。
4. 50cmの位置にボールを転がらないように置く。
5.
ボール認識試験プログラムで提供している、「ballDetect.c」と「houghCircle.c」の「「ボール認識プログラムに関するデータ2.ボールの距離測定」を行うときはコメント〜」と書かれたところを指定したとおりにする。
「ballDetect.c」はコメントアウトが1箇所、はずすが1箇所。
「houghCircle.c」はコメントはずすが5箇所。
6. ボール認識プログラムで提供しているプログラムを実行する。100回ループするとプログラム終了。
7. ボールの半径のピクセル数が「x=.txt」に保存される。
8. 「x=○○.txt」(○○にはボールを置いた距離を書くなど分かりやすいように)と名前を変えて保存する。
9. ボールを10cm遠くへ置く。
10. 6〜9を繰り返す。ただし、200cm以降(150cm以降でも良いとは思うが)は50cm間隔で測定する。
11. 300cmまでデータを取り終えたら、「ボールの半径の見え方.xls」に各データを上書き(上書きの仕方は「「ボールの半径の見え方xls」の使い方.txt」を参照)。
12. グラフの式が更新されるので、その式を「houghCircle.c」に上書きする。
150cm以上になると、ピクセル数の変化が小さくなるので、測定精度が落ちてしまうので、対処方法を考える必要がある。
数回画像をキャプチャして、その平均を取れば、ある程度の精度を出すこともできる。
画像中心からのずれの角度の計算式は
で与えられる。
画像キャプチャサイズ320×240、カメラの視野角60°の場合は、
となる。
2値化の精度が良ければ、数ピクセル変化したとしても大した誤差にならない。
関連文書 |