ライントレース(左チーム)

モータ2つ

 #define THRESHOLD 35  

 task main ()
 {
    SetSensor(SENSOR_1, SENSOR_LIGHT);    //光センサ左
    SetSensor(SENSOR_3, SENSOR_LIGHT);  //光センサ右
    
    while (true) { 
      if (SENSOR_1 >THRESHOLD) && (SENSOR_3 > THRESHOLD)  //両方のセンサがライン上にないとき
      {OnFwd(OUT_A+OUT_C);}   //直進
     if(SENSOR_1 <THRESHOLD)   //左のセンサがライン上にあるとき
      {OnRev(OUT_A);OnFwd(OUT_C);}  //左に曲がる
    if(SENSOR_3 <THRESHOLD)   //右のセンサがライン上にあるとき
      {OnRev(OUT_C);OnFwd(OUT_A); }  //右に曲がる    
  }

ロボット

ベースはテキストと同じもので、それに光センサを2つ付けた。

感想

意外とすぐにできた。

モータ1つ

ロボット本体

200512161935000.jpg

特徴

苦労、工夫した点

完成しても地面に置くと動かなくなり、それを解決するのに時間がかかった。はじめは、モータのパワーが足りないと思ったので、SetPowerで力を出そうと思ったがあまり変化がなかった。次に、ギア比をあげれば良いと考えギアをたくさん使いギア比をあげたが、ロボットが大きくなりすぎた。また、部品を多く使って作ったので壊れやすかった。最後に、前輪のタイヤを小さくてすべりやすものにして、ロボットのサイズを小さくしたら、うまくいった。ギア比が低くても動いた。光センサーを地面に近づけた方が感知しやすいと分かった。

プログラム

#define THRESHOLD 38  
task main ()
{
   SetSensor(SENSOR_1, SENSOR_LIGHT);   //光センサー
   while (true) {            
    if (SENSOR_1 < THRESHOLD) {        //線上 
           OnFwd(OUT_C);          //線から離れる 
                 } else {                  //線から外れたとき   
            OnRev(OUT_C);         //線に近づく
       }
   }
}

特徴

特になし・・・。

苦労、工夫した点

一番簡単なプログラムなので、すぐにできました。センサーは38ぐらいがちょうど良かったです。

全体的な感想など

今までの課題はプログラムを作るのに苦労していたのですが、今回の課題はロボットを作成するのに苦労しました。分解、組み立てを繰り返し何とか完成しました。この課題によってギア比や無駄なパーツを使わないことなどを学べてよかったです。完成しても黒線を通り過ぎる問題が起こったので、線を書き足して太くしました。その後、右チームからのアドバイスによりセンサーを地面に近づけたほうがうまくいくと分かりました。それからは、通り過ぎてしまうことがなくなり、やっと完成しました。今までの課題のなかで一番苦労しました。完成できて良かったです。

コメントをどうぞ



添付ファイル: file200512161935000.jpg 276件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-08 (水) 14:35:14