2006a/B4

黒い線上を走るプログラム

 制作者 中澤

 sub turn_light() //光りセンサーによる反応
 {
 if(SENSOR_1< 50) //左が黒かったら
 {
     OnFwd(OUT_C); //左に曲がる
     Off(OUT_A);
 }  
 if(SENSOR_3 < 48) //右が黒かったら
 {
     OnFwd(OUT_A); //右に曲がる
     Off(OUT_C);
 }  
 }
 _
 sub turn_tach() //タッチセンサーによる反応
 {
     OnRev(OUT_A+OUT_C);Wait(100); //前にあるセンサーが反応したら、一旦引いて
     OnFwd(OUT_A);
     OnRev(OUT_C);Wait(150);    //ターン
     Off(OUT_A+OUT_C);
 }
 _
 task main ()  //メインタスク
 {
 SetSensor(SENSOR_1,SENSOR_LIGHT); //ライト
 SetSensor(SENSOR_2,SENSOR_TOUCH); //タッチ
 SetSensor(SENSOR_3,SENSOR_LIGHT);  //ライトセンサーを定義
 while(true)
 {
      OnFwd(OUT_A+OUT_C);
 while(SENSOR_2 == 0) //タッチセンサーが反応してない時
 {
      turn_light();  //光りセンサーによる反応を実行
 }
      turn_tach();  //タッチセンサーによる反応を実行
 }
 }

ロボットの説明

  • 今回のマシンはこのような感じです!
  • 特徴は光センサーが2個+タッチセンサーがあることです。
  • 光センサーとタッチセンサーの合体した部分は車体と簡単に取り外しできます。
  • 今回もまたシンプルに仕上げました。
    R0011398.JPG
  • ちなみに最初は失敗作のセンサーが1個のこんな感じのロボでした。
    DCF_0004.JPG
  • この青いブロックの下に光センサーが組み込まれています。
    R0011403.JPG
  • このように、電源を入れるとセンサーが赤く光ります。
    R0011404.JPG
  • そしてコースはこれになりました!
  • コースがあまりにも単純なコースにしてしまったため、なんとなく顔を描いてみました。
    R0011412.JPG
  • 下の写真を見るとわかるように黒い線を2個のセンサーの間になるように設置します。
  • この状態にしてプログラムを実行すればロボットは2個のセンサーの間に黒線が収まるように維持しながら走って行きます。
  • つまり、ライントレースすることになるわけです。
    R0011413.JPG
     

苦労した点

  • ロボットは前に光センサーとタッチセンサーを両方つけるのが大変だった。
  • プログラムのif&while節の使い方がよく分からなかった。
  • タッチセンサーと光センサーの両方を使わなければならなかったのでとにかく難しかった。
  • 特にセンサーを二つにした分、プログラムが多少複雑になったので大変だった。
  • 何度もはみ出していたのでそれを修正するのも大変だった。

反省点

  • コースがしょぼすぎた。もうちょっと難しくすればよかった。
  • ラインとレースはできたが、ラインとレースをしているときにずっと無駄に振動していたのが気になった。
  • プログラムに関してはマクロを使わなかったのでまとまりのない感じになった。
  • みんなで集まる時間が少なかったのであまり時間をかけられなかった。
  • 本来の課題である「前方のロボットに接触したら反転して進む」と「前方のロボットに接触したらそのロボットを右側から避けて通り、再びライン上に戻って進む」ができなかった。
  • 次回の課題までには全員がラインとレースや光センサーのプログラムを作れるように頑張ります。

工夫した点

  • 課題1の時と同様できる限りマシンをシンプルにした。
  • センサーが1つやと上手く曲がってくれずにはみ出したりしてたので光センサーを2つつけてみました(上図を参照)。そうすることにより、前よりもスムーズな動きが可能となりうまくいきました。 また光センサーのつける位置を黒い線の幅に合うように工夫しました。

感想

  • 難しかったがラインとレースだけはできた。
  • この課題をやる週にどこかの教室にロボットを忘れてしまいあま りたいしたロボットは出来なかったが結構上手くいったのでよか ったと思う。

コメントお願いします



添付ファイル: fileDCF_0004.JPG 193件 [詳細] fileR0011398.JPG 202件 [詳細] fileR0011403.JPG 175件 [詳細] fileR0011404.JPG 185件 [詳細] fileR0011412.JPG 196件 [詳細] fileR0011413.JPG 183件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-20 (日) 19:00:09