2006a/B6

課題2のページ

メンバー紹介

  • 海野:プログラマー(偽)
  • 加藤:ロボット制作者(株)
  • 宮崎:ホームページと愉快な仲間達(笑)

製作中のやりとり

  • 海野:何故だ?何故センサーが片方光らんのだ!?
  • 加藤:プログラムじゃね?
  • 宮崎:プログラムだね
  • 海野:まじかよ!?........。プログラムのSETSENSORを打ち間違えてた(笑)
  • 宮崎:.......。
  • 加藤:.......。
  • UNNO:スイマセーン。
  • 一同:誰だお前?

完成のプログラム

  • 反転のプログラム『オペレーションTONZURA』制作者;海野、加藤
     task main()
    {
        SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1が光センサーと宣言
        SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3が光センサーと宣言
        SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2がタッチセンサーと宣言
       
     while(true)
     {
       if(SENSOR_3<40)//センサー3が明度40以下を感知したら
       {
              OnFwd(OUT_A);//右折しろ!
        OnRev(OUT_C);
       }
       if(SENSOR_1<40)//センサ−1が明度40以下を感知したら
       {
        OnFwd(OUT_C);//左折しろ!
       }
       if(SENSOR_2==1)//センサー3が物体の衝突を感知したら
       {
        OnRev(OUT_C);//反転しませう!
        Wait(200);
       }
       if((SENSOR_1>40)&&(SENSOR_3>40))//感知しなかったら
       {
        OnRev(OUT_A);
        OnFwd(OUT_A+OUT_C);//直進せよ!
       }
     }                
    }
  • 回避のプログラム『オペレーションSIKATO』制作者;海野、宮崎
    task main()
    {
        SetSensor(SENSOR_1,SENSOR_LIGHT);//センサー1が光センサーと宣言
        SetSensor(SENSOR_3,SENSOR_LIGHT);//センサー3が光センサーと宣言
        SetSensor(SENSOR_2,SENSOR_TOUCH);//センサー2がタッチセンサーと宣言
       
     while(true)
     {
       if(SENSOR_3<40)
       {
              OnFwd(OUT_A);//(反転と同じ)
        OnRev(OUT_C);
       }
       if(SENSOR_1<40)
       {
        OnFwd(OUT_C);//(反転と同じ)
        OnRev(OUT_A);
       }
       if(SENSOR_2==1)//センサー2が衝突を感知したら
       {
        OnRev(OUT_C+OUT_A);//後退!
        Wait(100);
        OnRev(OUT_C);//右に旋回!
        OnFwd(OUT_A);
        Wait(60);
        OnFwd(OUT_C+OUT_A);//前進!
        Wait(130);
        OnFwd(OUT_C);//左に旋回!
        OnRev(OUT_A);
        Wait(60);
        OnFwd(OUT_A+OUT_C);//前進!
        Wait(170);
        OnFwd(OUT_C);//左に旋回!
        OnRev(OUT_A);
        Wait(60);
           
             
       }
       if((SENSOR_1>40)&&(SENSOR_3>40))//(反転と同じ)
       {
        OnFwd(OUT_A+OUT_C);
       }
     }                
    }

ロボットの写真

060615_174832_M-1.jpg
  • お!、なんだか僕らの生活に密着している虫みたいな形ですね〜!!ゴキ◯リ?いえいえ、カブトムシですよ(^〜^)ノシ:海野
  • ごっつでかい!!:宮崎
  • 素敵だね:加藤

苦労した点

  • 正確にライントレースするプログラムを完成させるまでに、2時間はかかった。
  • プログラムの文章に間違いがなくても、正常に作動しないプログラムが多々あり、製作中に悩まされた。
  • 前のバンパーを固定するのが大変だった。
  • センサーの感度の調節が難しく、うまくライントレースしてくれなかった。

工夫した点

  • 光センサーの間隔を広めに取って、ラインを読み取りやすくした。カクカクと、決して滑らかとはいえない動きだったが、脱線はしなくなった。
  • バンパーに関しては、ブロックの枚数を全面に集中させ、タッチセンサーのブレを減少させ、誤作動を防いだ。
    060616_155118_M.jpg
  • センサーに関して
    • 何度もプログラムを書き直したが、どうしてもセンサー1がうまく作動してくれなかった。センサー1が光センサーであるこというとを否定するプログラムが最後の方に入っていたのが原因だった。
    • センサーの高さを左右で変えたら(センサー1を地面すれすれに、センサー3を高い位置に)うまくいったが、最終的に写真のセンサーの位置(センサー1,3が同じ高さ)で、うまくいった。

反省・感想

  • ホームページの作成の時に、同じ班の人にいろいろやって貰ってしまったので、次回からはやり方を覚えたい。
  • プログラムを組むときにもう少し落ち着いてキーを打ちたい。タイプミスが目立った。
  • プログラムに関してだが、ifとelseを一組にしなければ動かないと思い込んでしまって、逆に動かなくしてしまった。その点に気づき、メンバー全員でプログラムを全てifのみで構成したら、上手くいった。プログラムは少し長くなってしまったが、しっかり動いたのだからそれでOKということで丸く収まった。

コメントどうぞ!!!!!

  • りぽびたんD!! -- 80? 2006-06-15 (木) 18:59:07
  • 2つの光センサの間でも感度に違いがあるので、まずはライン上や白い部分でどのくらいの値が得られるのか、それぞれ測定してみましょう。 -- 松本(教員)? 2006-06-21 (水) 17:34:35
  • 2時間かかった過程の中で、どのようなことに苦しめられたのか、正常に作動しなかったプログラムはどんなもので、なぜ動かなかったのか、前バンパーの固定に関してどういうことに苦労したのか、それらを書いてみるといいでしょう。 -- まいける(TA) 2006-07-06 (木) 23:40:13


添付ファイル: file060616_155118_M.jpg 219件 [詳細] file060615_174832_M-1.jpg 202件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-07-06 (木) 23:40:13 (4795d)