2013年04月24日

ラインスキャンカメラ2

お久しぶりでございます。
ランサーの大会に出て、就職して、毎日研修の日々でございます…。
どっかの情報機器メーカーで働いてます。きっと皆様弊社の製品をちょくちょく使用して頂いてるんじゃないかと。

ランサーの大会は、そういえば報告してないなってのを今気づきました。
とりあえず、決勝にいけたんで満足です。
引越し云々で結局去年と全く同じマシンでプログラムを刷新。前日は良い感じで動いてたんですほんとです。
円柱を狙おうとして、間違ってプログラム上書きしちゃって戻せなくなっただけです。

…正直反省してます。なんであんなことをしちゃったんだ私は。

前日の状態で精度の調整をしたら1500点はとれたのに…。
でも次回以降は出れないかなぁ…。


-----------------------------------------------------------------------
ラインスキャンカメラの話の続き。
実はこちらも、つい実験とかデータ取りとかできないまま卒業しちゃいまして、結局良い感じのデータはあんまりありません。


とりあえず、どんな状態でラインを読み取っているかというと、

CIMG0107_R.JPG

こうです。そして、ラインを読む位置は

CIMG0103_R.JPG

こうなってます。ホイールベースと1:2の関係になっています。
この時、多くのMCRとは違い、ラジコンカーベースなのでカメラは車体に完全に固定されています。(過去の動画を見てね)


で、定かではないですがこの時にどんなデータが出ているかと言うと、

TEK00000.PNG

こうなっております。上がクロック、下が出力データ(アナログ)です。白で出力が大きくなります。

1回めの山は、データとして使用しません。2回めの山をデータとして使用します。
これは、前回のデータ出力終了時点から、次回のデータ出力までの間隔を露光時間としているためです。メインの処理によって露光時間を変えたくないので、わざとダミーの読み込みをしています。

2回めの山から画面右に見切れている山までは、速度制御や操舵の計算などのmain処理を行なっています。
しっかり割り込み処理も作りこめばよかったのですが、なかなかそこまで手が回らず…。

実際、1回の読み込みは4msほどで終了します。ですがクロックを上げたり、カメラのデータ読み出しを割り込みで行うなどすれば、ダミーの読み込みをする必要がなくなります。(2ms以下で1周期読み出せます)
とはいえ、露光時間がかなり短くできるので、恐らくmain処理を行うことができなくなるぐらい頻繁に割り込みがかかるでしょう。


出力値はオシロのデータを見る限り最大2V程度です。ですがこの後、更に露光時間を短くして実装しました。
というのも、回路上に予めオペアンプで4倍される回路も実装されており、最終的に増幅したものをADで呼んで使用しています。なので、ピークが1Vでも十分です。
この場合、ラインがカメラの中心付近であれば照明も必要はありません。(あったほうが安定度は増しますが)
ただ、カメラの端の方に寄ってしまうと、元々の出力が弱いので、ラインと見分けが付けられなくなってしまいます。(まぁマイコンカーでもラインを見失うことはあるので、同じような処理をすれば大丈夫でしょう)

ともかく、全面白をカメラに見せた場合、ライトがあってもなくても、出力は山の形になり、サチらない限り両端はだいぶ暗いです。
こんな特性から、FreescaleCupでは中心部分を照らすライトにリフレクターキットを採用して光をある程度拡散、両端には集光レンズを採用しました。なるべく出力の山の形を平坦にさせるないし、両端の有効範囲を広げることを目的としました。MCRと違い、カメラが操舵と独立していない場合、両端の有効視野はかなり重要なんですよ。



とまぁこんなかんじで、眠い&明日日直なので、超適当になりましたが報告しときます。
想定はしていましたが、やっぱり毎日大変なので、ロボットに当てられる時間は絶対少なくなるなぁ…。
製作環境もないし(4畳のボロ寮じゃちょっと…)、工作器具とかもないし…。うーん。
posted by Tmk at 00:39 | Comment(0) | TrackBack(0) | MCR以外
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/65379005
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック