2005/A2/課題2

bakusou.jpg

ダブルバンパーを使用。もちろんタッチセンサーも二つ付ける形に...。

爆走ロボ

プログラム

task main(){
  SetSensor(SENSOR_1,SENSOR_TOUCH);
  SetSensor(SENSOR_3,SENSOR_TOUCH);
Wait(50);

  while(1){
    if(SENSOR_1 == 1){              //左が当たる!
      OnRev(OUT_A+OUT_C);Wait(10);  //後退
      OnFwd(OUT_C);Wait(40);        //左旋回
      OnFwd(OUT_A);Wait(60);        //前進
    }if(SENSOR_3 == 1){                   //右が当たる!
      Float(OUT_A);OnFwd(OUT_C);Wait(15); //左ターン
    }else{                          //それ以外の時
      OnFwd(OUT_A+OUT_C);Wait(30);  //前進
      Off(OUT_C);Wait(30);          //壁へ右ターン
    }                               //を繰り返す
  }
}

作成者

 キャベツ 富岡 トマト

ロボの話

 できるだけ速く、机の周りを走らせるため一番大きい車輪を使用。
 前輪と後輪の間に大きな隙間ができ、机の足が入り込んで止まってしまう事が
 多かったので緑と紫のパイプで防ぐ形にした。
 ひっくり返らないように後ろに補助できるブロックも付けた。
 ぶつかる仕組みで走らせた為、ロボのバランスをとる事が一番重要だった。
 写真にもあるように光センサーが付いているので、ライン・トレースも可能

プログラムの話

 タッチセンサーを壁に押しつけているときは...という形で作ろうと考えたが、
 ロボが考えたとおりに動かせなかったので、
  1 右のタッチセンサーがぶつかるように右旋回
  2 ぶつかる
  3 左に旋回しつつ少し前進
  4  1に戻り繰り返し
  5 そのうち左のタッチセンサーがぶつかる
  6 後退して左旋回
  7  1に戻り繰り返し
 という形のプログラムになった。
 できるだけプログラムは短くするようにした。
 ぶつかる形で「速く走れない」と思ったが、1分16秒を記録。 

感想など

 「大きい車輪を使いたい」というコンセプトの元に組み立てた今回のマシン。
 後ろに大きな車輪を使ったのは良かったが、前輪でバランスを取るのが難しく、
 何度も転倒を繰り返す結果となった…。byキャベツ
 後退するときの転倒や、タイヤが机に引っかかるのを、プログラムでなんとか
 しようとしていました。ブロックによるロボット本体の改良の大事さを知りまし
 た。by富岡
 マシン完成時、風邪で寝込んでいたので良く分からない。大きい車輪を使うと前
 輪が付けれず、結局三輪にしたがやはりバランスをとるのが難しかった。
 byトマト

コメントをどうぞ

  • きれいにまとまっていて見やすいプログラムです。 -- ゆん(TAM)? 2005-12-02 (金) 17:33:30


添付ファイル: filebakusou.jpg 185件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-12 (月) 16:39:27