- 追加された行はこの色です。
- 削除された行はこの色です。
[[2009a]]へ
#contents
*ロボコン [#w553c1b8]
詳しくは[http://yakushi.shinshu-u.ac.jp/robotics/?2009a%2F%A5%ED%A5%DC%A5%B3%A5%F3 こちら]
*ロボコンの構想とか [#h1e55bd4]
**概要 [#pf6fa7b1]
-母艦を作って、その上に小型機を乗せる。
-牛乳パックの乗っている壁の、一か所だけ低くなっている部分(下図で言うと茶色の部分)まで来たら母艦から小型機を射出
-小型機は壁の向こう側で頑張る
**母艦(親機) [#d27c601c]
-親機の役目は子機を壁の向こう側まで送り込むことのみ
-親機にある程度の高さを持たせて、段差の上に橋を掛ける。その上を子機が渡る
**小型機(子機) [#z7700714]
-小型機の役目はパックをゴールの枠の中に入れること
-腕でパックを掴み、運搬する
**フィールド全体図 [#r08eac8a]
#ref(2009a/ロボコン/robocon2009a-1.png,100%,フィールド)
**構想についての話し合いの場(掲示板) [#rf976d8b]
- ロボコンの構想について話し合いの場作ってみた(`・ω・´)ゞ ピシッ! -- [[俺]] &new{2009-07-17 (金) 21:44:44};
- いつか集まりたいと思うけど、みんないつなら大丈夫? -- [[KEI]] &new{2009-07-23 (木) 22:15:10};
- ちなみに俺は7月31日と8月3、4日ならOK -- [[KEI]] &new{2009-07-23 (木) 22:16:40};
- 今のところ7/31〜8/5までは空いてる -- [[俺]] &new{2009-07-24 (金) 15:20:00};
~(この後、3,4あたりに集まることが決まる)
- 母艦がスタート側からパックを子機側に押し出して、子機の上にパックを落とし、運搬するやり方も -- [[俺]] &new{2009-07-24 (金) 17:43:12};
- 日曜はロッカーと教室開いてなかった(´・ω・`) 科学の祭典やってた -- [[俺]] &new{2009-08-02 (日) 09:56:20};
- 月曜日はロボットを大体完成させた。火曜日は主にプログラム -- [[俺]] &new{2009-08-04 (火) 11:11:29};
- 親機のプログラム完成 -- [[俺]] &new{2009-08-04 (火) 17:19:34};
#comment
~~
*全体図 [#q1b56577]
**親機 [#e240e1fc]
#ref(2009a/A5/ロボコン/oyaki01.jpg,100%,親機01)
#ref(2009a/A5/ロボコン/oyaki03.jpg,100%,親機01)
-橋を掛けた状態
~~
#ref(2009a/A5/ロボコン/oyaki04.jpg,100%,親機02)
-橋をしまった状態
~~
#ref(2009a/A5/ロボコン/oyaki05.jpg,100%,親機03)
-光センサー
~~
#ref(2009a/A5/ロボコン/oyaki06.jpg,100%,親機04)
-二機重ねた状態
~~
#ref(2009a/A5/ロボコン/oyaki07.jpg,100%,親機05)
~
#ref(2009a/A5/ロボコン/oyaki02.jpg,100%,親機02)
-橋をしまった状態
----
#ref(2009a/A5/ロボコン/oyaki01.jpg,100%,親機改良前01)
~
#ref(2009a/A5/ロボコン/oyaki02.jpg,100%,親機改良前02)
-タイヤ改良前
**子機 [#i0b7e574]
#ref(2009a/A5/ロボコン/koki01.JPG,100%,子機01)
~
#ref(2009a/A5/ロボコン/koki02.JPG,100%,子機02)
~
#ref(2009a/A5/ロボコン/koki03.JPG,100%,子機03)
~
#ref(2009a/A5/ロボコン/koki04.JPG,100%,子機04)
~
#ref(2009a/A5/ロボコン/koki05.JPG,100%,子機05)
~
#ref(2009a/A5/ロボコン/koki06.JPG,100%,子機06)
*プログラム [#mf257811]
**親機 [#x1187374]
#define THERESHOLD 40
#define KAI_S 100
task main () //親機の動作
{
int kousa=0; //交差点の数を数える変数
int GO=0; //子機への発進命令
SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1は光学センサー
SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3は光学センサー
while(GO<1){
if (SENSOR_1>THERESHOLD){
if (SENSOR_3>THERESHOLD){
OnFwd(OUT_A+OUT_C);
} else {
Off(OUT_C);
OnFwd(OUT_A);
}
} else {
if (SENSOR_3>THERESHOLD){
OnFwd(OUT_C);
Off(OUT_A);
} else { //交差点に突入
kousa=kousa+1;
if (kousa==1){
Off(OUT_A+OUT_C);
OnFwd(OUT_A+OUT_C); //前進
Wait(30);
Off(OUT_A+OUT_C);
}
if (kousa==2){
OnFwd(OUT_A+OUT_C); //前進
Wait(40);
Off(OUT_A+OUT_C);
usetsu(); //右折
}
if (kousa==3){
OnRev(OUT_A+OUT_C); //後退
Wait(30);
Off(OUT_A+OUT_C);
usetsu(); //右折
OnFwd(OUT_A+OUT_C); //前進
Wait(100);
Wait(145);
Off(OUT_A+OUT_C);
sasetsu(); //左折
OnFwd(OUT_A+OUT_C); //前進
Wait(30);
Wait(50);
Off(OUT_A+OUT_C);
GO=1; //GOに1を代入
SendMessage(GO);
PlaySound(SOUND_UP) ;
Wait(500);
OnRev(OUT_A+OUT_C); //後退
Wait(100);
Wait(500);
Off(OUT_A+OUT_C);
}
}
}
}
}
sub usetsu() //右折
{
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(180);
Wait(95);
Off(OUT_A+OUT_C);
}
sub sasetsu() //左折
{
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(180);
Wait(KAI_S);
Off(OUT_A+OUT_C);
}
**子機 [#haae400a]
#define A OUT_A
#define B OUT_B
#define C OUT_C
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
Wait(1200); //待機時間
OnFwd(B);Wait(30);OnFwd(A+C);Wait(400);OnRev(B);Off(A+C); Wait(150); //壁を越える
OnRev(A+C);Wait(70);Off(A+C);Wait(30);OnFwd(C);OnRev(A);Wait(80);Off(A+C);OnFwd(A+C);Wait(70);Off(A+C);Wait(40);
OnRev(A);OnFwd(C);Wait(60);;Off(A+C);OnFwd(A+C);Wait(60);Off(A+C);Wait(20);OnFwd(B);Wait(30);OnRev(A+C);Wait(40);Off(A+C);Wait(30); /パックをつかむ
start hanten; //ゴールにいれる。
}
task hanten()
{
OnRev(A);OnFwd(C);Wait(150);Off(A+C);OnFwd(A+C);Wait(200);Off(A+C+B);
}
*コメントをどうぞ [#a4728fe5]
#comment