- 追加された行はこの色です。
- 削除された行はこの色です。
[[2010b]]
#contents
*メンバー [#je895460]
-山崎
-植田
*作成したロボット [#v7a70499]
***今回の課題の特徴 [#ndfb276a]
+タイヤを動かすためのモーターが一つしか使えない
+ホイールを投げるようなロボットにする
そこで、今回のロボットは下の写真のようになりました。
&ref(2010b/A2/課題3右/3d.JPG);
&ref(2010b/A2/課題3右/3a.JPG);
***工夫した点 [#bad0b1bc]
-全体的にブロックが外れてロボットがばらばらになることがないように、ブロックを連結させる灰色の部品でかなり補強しました。
-モーターに棒を付けて回し、それでホイールを打つようにしました。
-下の写真で赤の丸で囲った部分は、一つ目のホイールを打ち出した後、二つ目のホイールが自動的に落ちるように
二個目のホイールの乗る部分を坂のようにしました。このとき、斜めの部分があるブロ ックを使用しました。
&ref(2010b/A2/課題3右/3c.JPG);
使用したブロック→→→&ref(2010b/A2/課題3右/3f.png);
-一つのモーターでタイヤを動かす事ができるようにディファレンシャルギアを使いました。
これによって、ジグザグにではありますが、一つのモーターで走ることができます。
&ref(2010b/A2/課題3右/3e.JPG);
&ref(2010b/A2/課題3右/3b.JPG);
***苦労した点 [#e5c3e313]
-ディファレンシャルギアを付けるときにギアの数を調整してうまく前に進むロボットを作るのがすごく難しくて、苦労しました。
ギアの数を調整するとき、どうしても、「ここでかみ合ってほしい」と思うギアが、入らなかったり、大きさが合わなかったりで、すごく難しかったです。
-物を投げるロボットなので、どのようにして投げるかで迷いました。結局、打ち出すという形のロボットにしましたが、うまく打ち出してくれなかったりして苦労しました。
-二つのホイールを投げるためには、一つ目のホイールを打った後に、二つ目のホイールが自動的に落ちてこなければいけません。そこで、いろいろ考えました。
その結果、坂のようにして、重力で落ちてくるというのが、一番簡単でいいのではないかと思い、それを採用しました。しかし、坂の位置などで苦労しました。
-パーツをたくさんくっつけていくと、どうしても壊れやすくなってしまいます。その解決にいろいろな部品を使ってみました。
*プログラム [#x96d0775]
**ライントレースのプログラム [#v259139e]
efine THRETHOLD 40
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
while(true)
{
if(SENSOR_1>THRETHOLD)
{ Onfwd(OUT_A); }
if(SENSOR_1<THRETHOLD)
{ OnRev(OUT_A); }
}
}
**山崎のプログラム [#w42ac241]
#define time 350 //半周するための時間
task main()
{
int l_max=0; //光の最大値を定義
int t_max=0; //光が最大値に達するまでの時間
SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(Timer(0)<=time){ //マシンが半周するまでのプログラム
OnRev(OUT_A);
if(SENSOR_1>l_max)
{ l_max=SENSOR_1;
t_max=Timer(0); }
}
while(Timer(0)>time){ //マシンが半周した後
OnFwd(OUT_A);
Wait(time-t_max); //光が最大のところに向く
Off(OUT_A);
OnFwd(OUT_C); //投げる
Wait(50);
}
Off(OUT_C);
}
**植田のプログラム [#r7e160ef]
*感想・反省 [#i01a7deb]
**山崎 [#a290454b]
今回の課題はとても難しかった。ライントレースにかんしては、カーブはうまくいかない仕様になっています。またプログラムの方もなかなかうまくいかずに苦労した。
*コメント [#c0024f14]