FC2カウンター FPGAの部屋 Zybotの最初の白線検出、走行プログラムの覚書

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Zybotの最初の白線検出、走行プログラムの覚書

Zybot の最初の白線検出、走行プログラムの覚書を書いておく。
Zybot が白線の間を走るアプリケーション・ソフトウェアを作るのだが、どのように作れば良いか?最初に具合を検証するために作る。とりあえず、モーターの回転センサは未使用とする。このソフトウェアを作ってどのように走るか見てみよう。

最初の白線検出、走行プログラム

./cam_disp_vdma でカメラ画像を表示する。


    ガボール・フィルタを表示する。

    左白線表示にして、67ms(15fps) Waitする。

    左白線位置を検出する。(左白線用ガボールフィルタの画像の下 10ライン、つまり590ライン目画面の左端から半分まで走査する)
    
    右白線表示にして、67ms(15fps) Waitする。

    右白線位置を検出する。(右白線用ガボールフィルタの画像の下 10ライン、つまり590ライン目画面の半分から右端まで走査する)

    左白線位置(左白線エッジから画像中央)と右白線位置(画像中央から右白線エッジ)を比較する。
        
        |右白線位置-左白線位置| <= 10   : 左モーターPWM = 30%, 右モーターPWM = 30%

        右白線位置が未検出 :                 左モーターPWM = 40%, 右モーターPWM = 30%

        左白線位置が未検出 :                  左モーターPWM = 30%, 右モーターPWM = 40%

        右白線位置 - 左白線位置 > +10  : 左モーターPWM = 35%, 右モーターPWM = 30%

        右白線位置 - 左白線位置 < -10  : 左モーターPWM = 30%, 右モーターPWM = 35%

ガボール・フィルタのベースのRGB 値はどれも 0 なので、白線のエッジのスレッショルドはどれか1つの色が 50 になった時とする。

  1. 2016年09月02日 04:27 |
  2. Zybot
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/3562-6df98191
この記事にトラックバックする(FC2ブログユーザー)