2005/C2/キャベツ

光センサによる黒線にそった移動(課題3)

モータ2個、光センサ1個による黒線上移動

task main()
{    
   SetSensor(SENSOR_2,SENSOR_LIGHT); //センサ端子2に接続された     
   OnFwd(OUT_A+OUT_C);               //センサが光センサであると  
   until(SENSOR_2<40);               //宣言
   Off(OUT_A+OUT_C);
   while(true)
   {
       if (SENSOR_2<40)              //光センサが黒線上にある時
	{
	    OnFwd(OUT_C);
	    until(SENSOR_2>40);
	    Off(OUT_C);
       } else {                      //光センサが黒線以外の所に
	    OnFwd(OUT_A);             //あるとき
	    until(SENSOR_2<40);
	    Off(OUT_A);
	}
   }
}
  • 感想
     光センサが一つだと動きがカクカクしてスムーズさがもう少し欲しいなと思っ
    た。   
  • 反省点
     黒線の曲がりが急なところのロボットの動きがまだまだ改善の余地があると思っ
    た。もっとスムーズな動きが出来たら、カクカクした動きをもっと直線
    的な動きに出来たらもっと格好のいいロボットになったんじゃないかなと思った。
  • 問題点がわかっているようなので、是非再挑戦してみて下さいね☆ -- かとりーぬ(TA)? 2005-12-16 (金) 18:40:13

モータ1個、光センサ1個による黒線上移動

task main()
{
   SetSensor(SENSOR_2,SENSOR_LIGHT); //センサ端子2に接続された
   while(true)                       //センサが光センサであると 
   {                                 //宣言
       if(SENSOR_2<40)
	{
	    OnFwd(OUT_B);
	    until(SENSOR_2>40);
	    Off(OUT_B);
	} else {
	     OnRev(OUT_B);
	     until(SENSOR_2<40);
	     Off(OUT_B);
	     }
    }
}
  • 感想
     機体が思い通りに動いてくれなくて苦労した。しかし、機体がちゃんと動いてく  
    時はさすがにうれしくなり、苦労したかいがあったと思った。
  • 反省点
     もう少しスムーズな動きを実現したかった。
  • Wait を使って短い待ち時間を入れると動きが少しスムーズになるかもしれません。 -- 松本(教員)? 2006-02-02 (木) 12:33:55


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