目次

次回にむけて

 2015年の大会が終わり、次回のマシンを考えます。

 今回作成したマシンは、低重心で足回りの走行は
 マイコンにとっては、指示だけで動く優れもの。
 太陽光に負け、うまく走行できなかっただけで
 それをクリアすればよいと思いました。

 次回も、今回のマシンを利用して、センサー周辺を
 強化して挑戦することに。

 今回、新規導入し、実践で使えた内容をリストしてみます。

 ルネサス対策で、78kを利用することも考えましたが
 78kF0クラスを実装するための面積がなく、見送りに。

 並列に動作するプロセッサを用意し、各プロセッサに
 機能割当てします。最上位プロセッサは、戦略の指示
 を出し、報告を受ける形態にしました。



 機能割当てされたプロセッサの動作を記述し、テスト
 していくと、デバッグがしやすくなります。

 他プロセッサの状態を考えずに、与えられた機能を実現すると
 最上位プロセッサは、機能実現プロセッサへの指示出しと報告
 を待つ動作に専念できます。

 ピラミッドの頂点に、最上位プロセッサがいて、その下に
 中間層担当のプロセッサがいる階層構造の場合、どの様な
 長所があるのかを考えてみます。

 階層構造にすると、最下層プロセッサあるいは電子回路は
 単純な動作だけの担当になるので、実現方法を考えやすく
 作成も容易。

 最上位プロセッサとハードウエアに近いプロセッサ、電子回路
 では、上位にいくほど指示と判断ができればよく、階層が下に
 なるにつれて、高速または専用プロセッサ、電子回路にする方
 がよいとわかりました。




パターン認識処理

 毎年事務所のスペースを貸してくれる、MCR_VCの発案者  Mさんの画像処理を紹介しておきます。  毎回自分のマシンの移動処理をデバッグしながら  他の人は、どういう処理をしているのかをMさん  のマシンで見ています。  2014年度マシンは、次のようなパターンを認識して  移動していました。  自分に超音波センサー基板の評価を依頼した、京都のIさん  から、次の情報が話として出ました。  カメラ画像では、収差により中央付近の画像の信頼度が高く  端にいくほど、低くなる。中央付近の画像を利用した方が  確度がよくなる。  感度に関しては、次のような曲線を描きます。  Mさんのマシンは、カメラが常に中央にあるラインを  向くようになっています。画面中央から、左右にどれ  ほどラインが離れているかを見て、ズレがなくなるよう  制御しています。  縦方向にラインをスキャンしていくと、3ピクセル程度の  違いはあるものの、ほぼ同じ位置にラインが出ます。  どちらかのラインで5ピクセル以上位置が異なれば、その  ときは、マーカーを検出しているか、クランクの90度で  曲がる所にいると判断します。  画像データから、位置とパターンの2情報を抽出し  それを上位関数で判断し、移動の指示を与えるよう  プログラムを組んでいました。  構造体を利用し、2情報を構造体変数のメンバーとして  管理します。 typedef struct { unsigned char location ; unsigned char pattern ; } GRAPHP ;  Mさんのコンピュータは、RX62シリーズで、画像データを  取得するため、DMA(Direct Memory Access)を利用。DMAに  よる画像データ取得なので、CPUは準備ができるまで、他の  作業をこなせます。  画像データがメモリに入ったなら、上位側に通知されるので  CPUがパターンを認識していました。
目次

inserted by FC2 system