[[2005/A2/課題4]] *作成中... [#b9dea41a] #ref(2005/A2/課題4左/img_0247_Large.jpg,60%) 光の追跡者 *Light pursuer [#h7c43911] **プログラム [#q1022ba2] #define MEGANE 100 //ロボが一周する時間(電池残量、床の摩擦力による) #define LEFT_X OnFwd(OUT_A);OnRev(OUT_C);Wait(1);Off(OUT_A+OUT_C);//左回転 #define RIGHT_X OnFwd(OUT_C);OnRev(OUT_A);Wait(1);Off(OUT_A+OUT_C);//右回転 task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); int light_max = 0; //「見つけた明るさ」の最大値 int i = 0; for(i=0; i<=MEGANE; i++){ LEFT_X; //まず左に一周しつつ if(SENSOR_2>light_max){ //このlight_maxを light_max = SENSOR_2; //見つけた中で、一番明るい } //明るさの値に塗り変える。 } Off(OUT_A+OUT_C); //とりあえず一周したら Wait(50); //休憩してみる(確認の目的あり) repeat(10){ //上で見つけた明るさを元に for(i=0; i<=MEGANE; i++){ //右回転で探しては前進、探しては前進 if(light_max-10>=SENSOR_2){ RIGHT_X; } else{ Off(OUT_A+OUT_C);Wait(10); //最も明るい所よりも若干、暗くても進ませます。 OnFwd(OUT_A+OUT_C); Wait(30); Float(OUT_A+OUT_C); Wait(50); } } } } **作成者 [#f9654d49] キャベツ 富岡 トマト **ロボの話 [#r09a8a67] 今までのロボ達の「バランスの悪さ」と戦ううち、培われた技術。 部品の組合せや特にコレといった工夫もないように見えるであろう、今回のロボ。 ...個人的には今回のコンセプト「シンプルイズザベスト」にのっとり、 シンプルさの中に秘められた、安定性、を見せつける。 走ってるうちに壊れなければ良い ......と思って組み立てた時には、まさか、 とーますに軽く分解されるとは、思いもしなかったキャベツとトマトなのでした。 「光」、もとい「懐中電灯の光」を取りやすくするため光センサーを上の方に、 取り付けた。懐中電灯を持つ人が少しでも動きやすいようにとの配慮である。 **プログラムの話 [#xbb72a6d] 今回も、お手本を参考にしつつ。 自分なりの理解をしてプログラムを作成。(理解するのに時間がかかり過ぎました...) プログラムとしては、 1.ロボットが左回転で一周以上する、事を「100分割」 2.分割した事で、明るい方向を(MAX)番号として記憶 3.その番号の地点まで右回転 4.明るい方を向いたら、少し前進 5.3に戻って繰り返し という形で考えてみた。 **感想など [#mc707c26] このままだと自分のやることが膨大になりそうな予感がしたので、 今回は補助席に座ってみた。助言する機会ができ勉強になり、 チームの技術も向上し喜ばしいことです。(富岡研究所)