2019a/Member/Nove/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[2019a/Member/Nove/Mission3]
#contents
*課題について [#vb223768]
ピンポン玉4つを所定の箱の中に運搬するロボットの作成。
**フィールドの説明 [#a9167204]
#ref(2019a/Member/Nove/Mission3/2019a-mission3.png)
-フィールドは課題2で使用した紙を使用する。
-生協のお弁当の四角いプラ容器2つをそれぞれ円内に置き、片...
-残りの2個の玉は課題2と同じ位置に置く。その際、ゴムタイヤ...
-プラ容器には色をつけたり文字や記号を書いてもよい。
-プラ容器は両面テープ等でフィールドに固定してもよい。
-2枚の紙の境界にはそれぞれ幅1cm、合計2cmの黒線を描いても...
**ルール [#x1cf3abd]
-競技時間は審判が続行不能と判断するまで、あるいはリタイア...
-図のA地点または(および)A'地点からスタートする。ただし...
-開始の合図から5秒以内にスタートボタンを押す作業を完了す...
-競技が終了するまで、ロボットに触ったり人間が遠隔で操作し...
-途中でうまく動かなくなった場合、1回限り再スタートするこ...
-競技終了後、ロボットが、ゴールのプラ容器に触れていてはい...
-競技終了後、もともと玉が入っていたプラ容器が、ゴールのプ...
*ロボット本体の説明 [#u1e7dd8b]
**ロボット1 [#p5a3fba7]
アームで容器ごと掴み、箱の近くでアームをさらに上げ、後ろ...
**写真 [#wc968b3d]
全体を横から見たものと上から見たものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0011.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0010.jpg)
球を入れる過程を示すものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0014.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0012.jpg)
**ロボット2 [#r32402c9]
三つ目のモーターで輪ゴムを取り付けた部品を上下させ、たま...
**写真 [#e480d390]
全体を横から見たもの、上から見たもの、アームが下がってい...
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0013.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0012.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0007.jpg)
球を入れる過程を示すものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0006.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0002.jpg)
*プログラムの説明 [#m6173479]
**ロボット1 [#fac4b430]
-ルート
A⇒K⇒J⇒箱キャッチ⇒I'⇒シュート
-プログラムについて
#define RUN_TIME 610
#define power(s) SetPower(OUT_B,s);
#define STEP 5
#define turn OnFwd(OUT_A);OnRev(OUT_C);Wait(148);Off(OUT...
#define turn_left OnFwd(OUT_C);OnRev(OUT_A);Wait(120);Of...
sub tores()
{ SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while ( FastTimer(0) <= RUN_TIME ) {
if ( 48 < SENSOR_2 ){
OnFwd(OUT_A); Off(OUT_C); //白なら右へ
} else if (45 <SENSOR_2 < 49) {
Off(OUT_A); OnFwd(OUT_C); //灰色なら左へ
} else {
OnRev(OUT_A);OnFwd(OUT_C); //黒なら左へ旋回
}
}
}
sub down()
{
OnFwd(OUT_B);
power(0); //ゆっくり前進
Wait(50);
Off(OUT_B);
Wait(100);
}
sub up1()
{
OnRev(OUT_B);
power(0);
Wait(30);
Off(OUT_B);
Wait(100);
}
sub throw()
{
OnFwd(OUT_B);
power(0);
Wait(80);
Off(OUT_B);
OnRev(OUT_B);
Wait(50);
Off(OUT_B);
}
task main()
{
OnFwd(OUT_AC);
Wait(100);
tores();
turn;
OnRev(OUT_AC);
Wait(120);
Off(OUT_AC);
down();
OnFwd(OUT_AC);
Wait(130);
Off(OUT_AC);
up1();
OnRev(OUT_AC);
Wait(415);
turn_left;
OnRev(OUT_AC);
Wait(140);
Off(OUT_AC);
throw();
}
**ロボット2 [#ae1818ac]
-ルート
A'⇒K'⇒L'⇒玉キャッチ⇒K'⇒L玉入れ⇒L⇒玉キャッチ⇒J'⇒玉入れ
-プログラムについて
今回、時間が全く足りなかったのでライントレースで動かすつ...
#define RUN_TIME 700
#define turn OnFwd(OUT_A);OnRev(OUT_C);
#define turn2 OnFwd(OUT_C);OnRev(OUT_A);
#define power(s) SetPower(OUT_B,s); //モータのパワーをs...
#define go OnFwd(OUT_AC);
upのsubルーチンは球を取った後、箱にぶつからない高さまで球...
sub up()
{
OnFwd(OUT_B);
power(1);//ゆっくり前進
Wait(50);
Off(OUT_B);
}
up2のsubルーチンは球を箱に入れる際、上に設置したブロック...
sub up2()
{
OnFwd(OUT_B);
power(3);//ゆっくり前進
Wait(20);
Off(OUT_B);
}
downのsubルーチンは球を取る際に使われる。輪ゴムを抜けさせ...
sub down()
{
OnRev(OUT_B);
power(2);//ゆっくり前進
Wait(50);
Off(OUT_B);
}
task main()
{
go;Wait(110);Off(OUT_AC);//Lと直角に移動
turn2;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(210);Off(OUT_AC);//Kまで
turn;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(30);Off(OUT_AC);//玉の場所まで位置調整
down();Wait(30);//玉キャッチ
up();Wait(30);//持ち上げ
turn2;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(10);Off(OUT_AC);//Lまで位置調整
up2();Wait(30);//落とす
OnRev(OUT_AC);Wait(1000);Off(OUT_AC);//コース外へ
}
当初使う予定だったライントレースのプログラムも載せておく。
sub tores()
{ SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=RUN_TIME){
if(48<SENSOR_1){//白ならば右回転
OnFwd(OUT_A);
Off(OUT_C);
ClearTimer(0);
}else if(45<SENSOR_1<49){//白黒ならば左回転
Off(OUT_A);
OnFwd(OUT_C);
}else{//黒ならば逆左回転
OnRev(OUT_A);
OnFwd(OUT_C);
}
}
Off(OUT_AC);
Wait(100);
}
*結果 [#fe36c36f]
どちらのロボットも上手く玉を運ぶことが出来ず、9位という結...
*まとめ [#b19f72df]
プログラム、ロボットの設計共に課題2のペアで作った。自分...
本番までにうまく球を入れるようにはできなかった。
また、球を一つとるところまでしかプログラムを作り切れなか...
自分の思う通りにプルグラムを組むのは難しく、一つとして満...
終了行:
[2019a/Member/Nove/Mission3]
#contents
*課題について [#vb223768]
ピンポン玉4つを所定の箱の中に運搬するロボットの作成。
**フィールドの説明 [#a9167204]
#ref(2019a/Member/Nove/Mission3/2019a-mission3.png)
-フィールドは課題2で使用した紙を使用する。
-生協のお弁当の四角いプラ容器2つをそれぞれ円内に置き、片...
-残りの2個の玉は課題2と同じ位置に置く。その際、ゴムタイヤ...
-プラ容器には色をつけたり文字や記号を書いてもよい。
-プラ容器は両面テープ等でフィールドに固定してもよい。
-2枚の紙の境界にはそれぞれ幅1cm、合計2cmの黒線を描いても...
**ルール [#x1cf3abd]
-競技時間は審判が続行不能と判断するまで、あるいはリタイア...
-図のA地点または(および)A'地点からスタートする。ただし...
-開始の合図から5秒以内にスタートボタンを押す作業を完了す...
-競技が終了するまで、ロボットに触ったり人間が遠隔で操作し...
-途中でうまく動かなくなった場合、1回限り再スタートするこ...
-競技終了後、ロボットが、ゴールのプラ容器に触れていてはい...
-競技終了後、もともと玉が入っていたプラ容器が、ゴールのプ...
*ロボット本体の説明 [#u1e7dd8b]
**ロボット1 [#p5a3fba7]
アームで容器ごと掴み、箱の近くでアームをさらに上げ、後ろ...
**写真 [#wc968b3d]
全体を横から見たものと上から見たものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0011.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0010.jpg)
球を入れる過程を示すものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0014.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット1_0012.jpg)
**ロボット2 [#r32402c9]
三つ目のモーターで輪ゴムを取り付けた部品を上下させ、たま...
**写真 [#e480d390]
全体を横から見たもの、上から見たもの、アームが下がってい...
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0013.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0012.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0007.jpg)
球を入れる過程を示すものを載せる。
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0006.jpg)
#ref(2019a/Member/Nove/Mission3/s_ロボット2_0002.jpg)
*プログラムの説明 [#m6173479]
**ロボット1 [#fac4b430]
-ルート
A⇒K⇒J⇒箱キャッチ⇒I'⇒シュート
-プログラムについて
#define RUN_TIME 610
#define power(s) SetPower(OUT_B,s);
#define STEP 5
#define turn OnFwd(OUT_A);OnRev(OUT_C);Wait(148);Off(OUT...
#define turn_left OnFwd(OUT_C);OnRev(OUT_A);Wait(120);Of...
sub tores()
{ SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while ( FastTimer(0) <= RUN_TIME ) {
if ( 48 < SENSOR_2 ){
OnFwd(OUT_A); Off(OUT_C); //白なら右へ
} else if (45 <SENSOR_2 < 49) {
Off(OUT_A); OnFwd(OUT_C); //灰色なら左へ
} else {
OnRev(OUT_A);OnFwd(OUT_C); //黒なら左へ旋回
}
}
}
sub down()
{
OnFwd(OUT_B);
power(0); //ゆっくり前進
Wait(50);
Off(OUT_B);
Wait(100);
}
sub up1()
{
OnRev(OUT_B);
power(0);
Wait(30);
Off(OUT_B);
Wait(100);
}
sub throw()
{
OnFwd(OUT_B);
power(0);
Wait(80);
Off(OUT_B);
OnRev(OUT_B);
Wait(50);
Off(OUT_B);
}
task main()
{
OnFwd(OUT_AC);
Wait(100);
tores();
turn;
OnRev(OUT_AC);
Wait(120);
Off(OUT_AC);
down();
OnFwd(OUT_AC);
Wait(130);
Off(OUT_AC);
up1();
OnRev(OUT_AC);
Wait(415);
turn_left;
OnRev(OUT_AC);
Wait(140);
Off(OUT_AC);
throw();
}
**ロボット2 [#ae1818ac]
-ルート
A'⇒K'⇒L'⇒玉キャッチ⇒K'⇒L玉入れ⇒L⇒玉キャッチ⇒J'⇒玉入れ
-プログラムについて
今回、時間が全く足りなかったのでライントレースで動かすつ...
#define RUN_TIME 700
#define turn OnFwd(OUT_A);OnRev(OUT_C);
#define turn2 OnFwd(OUT_C);OnRev(OUT_A);
#define power(s) SetPower(OUT_B,s); //モータのパワーをs...
#define go OnFwd(OUT_AC);
upのsubルーチンは球を取った後、箱にぶつからない高さまで球...
sub up()
{
OnFwd(OUT_B);
power(1);//ゆっくり前進
Wait(50);
Off(OUT_B);
}
up2のsubルーチンは球を箱に入れる際、上に設置したブロック...
sub up2()
{
OnFwd(OUT_B);
power(3);//ゆっくり前進
Wait(20);
Off(OUT_B);
}
downのsubルーチンは球を取る際に使われる。輪ゴムを抜けさせ...
sub down()
{
OnRev(OUT_B);
power(2);//ゆっくり前進
Wait(50);
Off(OUT_B);
}
task main()
{
go;Wait(110);Off(OUT_AC);//Lと直角に移動
turn2;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(210);Off(OUT_AC);//Kまで
turn;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(30);Off(OUT_AC);//玉の場所まで位置調整
down();Wait(30);//玉キャッチ
up();Wait(30);//持ち上げ
turn2;Wait(70);Off(OUT_AC);//90℃回転
go;Wait(10);Off(OUT_AC);//Lまで位置調整
up2();Wait(30);//落とす
OnRev(OUT_AC);Wait(1000);Off(OUT_AC);//コース外へ
}
当初使う予定だったライントレースのプログラムも載せておく。
sub tores()
{ SetSensor(SENSOR_1,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=RUN_TIME){
if(48<SENSOR_1){//白ならば右回転
OnFwd(OUT_A);
Off(OUT_C);
ClearTimer(0);
}else if(45<SENSOR_1<49){//白黒ならば左回転
Off(OUT_A);
OnFwd(OUT_C);
}else{//黒ならば逆左回転
OnRev(OUT_A);
OnFwd(OUT_C);
}
}
Off(OUT_AC);
Wait(100);
}
*結果 [#fe36c36f]
どちらのロボットも上手く玉を運ぶことが出来ず、9位という結...
*まとめ [#b19f72df]
プログラム、ロボットの設計共に課題2のペアで作った。自分...
本番までにうまく球を入れるようにはできなかった。
また、球を一つとるところまでしかプログラムを作り切れなか...
自分の思う通りにプルグラムを組むのは難しく、一つとして満...
ページ名: