* 机ロボ『机壱号』 [#g8029cc6]
 
 //    作成者:信之介
 //    作成日:2005-12-1
 
 task main()
 {
    SetSensor(SENSOR_1, SENSOR_TOUCH);     //   前センサー
    SetSensor(SENSOR_2, SENSOR_TOUCH);     //   右センサー
  
    while(true)
    {
       if (SENSOR_1 == 1);                 //   前センサーがぶつかる
       {
          OnRev(OUT_A+OUT_C);  Wait(50);   //   少々バック
          OnFwd(OUT_A);  Wait(80);         //   左に回転
          OnFwd(OUT_C);                    //   前進
       }
      
       if (SENSOR_2 == 2);                 //   右センサーが当たっている
       {
          OnFwd(OUT_A+OUT_C);              //   前進
       } else {                            //   右センサーが当たっていない
          Off(OUT_C);  Wait(150);          //   右に旋回
          OnFwd(OUT_C);                    //   前進
       }
    }
    Off(OUT_A+OUT_C)
 }

 *感想*
 このロボ、苦労した…まずどういう動きをさせるのか決めるのに。
 まず、右側にタッチセンサーをとりつける。壁にうまくあたるよう工夫をして。
 そしてこのセンサーが当たっている状態がまっすぐ動く時とする。
 当たっていれば前進し、離れると右に曲がる。
 そうすると、直線上で壁から離れてしまった場合は壁に戻ろうとし、
 机の足から離れてしまった場合は右に曲がって机の周りを進むようになる。
 前にもタッチセンサーを一つセットし、これが当たると左に曲がる。
 机の奥の壁や、足の部分に当たった時のためだ。
 説明がとてもわかりにくくなってしまったが、
 写真を録って無いためどうにか口で説明する形になってしまい、ごめんなさい。



* コメントをどうぞ。 [#r82dec1b]
-プログラムはよくできているようですが、これだけではロボットがどのような動作をしているかわかりづらいので、もう少し説明を加えて下さい。 -- [[まいける(TA)]] &new{2005-12-02 (金) 16:55:31};
-[[ここ>まいける(TA)#y8259022]]を参照して下さい。 -- [[まいける(TA)]] &new{2006-02-09 (木) 00:23:41};
-更新が遅くなってごめんなさい…わかりにくくなってしまいましたが、とりあえずロボ動作の説明を書いてみました。 -- [[信之介]] &new{2006-02-17 (金) 15:55:59};

#comment



[[戻る>2005/B5/課題1]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS