2019a/Member/miruama/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
目次
#contents
*課題3 [#xf5b17a4]
詳しくは,[[2019a/Mission3]]を参照.
*ロボットの説明 [#y2ed93e5]
ロボットは大まかにアーム,タイヤ,RIS本体の3つの部分に分...
**アーム部分 [#fafbb8bd]
&ref(2019a/Member/miruama/Mission3/DSC_1037.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1032(2).JPG);
この2枚の写真では,アームを上下に動かすための部品を写して...
&ref(2019a/Member/miruama/Mission3/DSC_1042.JPG);
これはボールを掴むためのパーツである.モーターを1つ用いて...
**タイヤ部分 [#ac203cf9]
&ref(2019a/Member/miruama/Mission3/DSC_1036.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1035.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1034.JPG);
タイヤは全部で5輪取り付けた.後ろの補助輪は,ロボット全体...
*プログラム(未完成)の説明 [#l6529226]
これからプログラムの説明をしていくが,これはロボコンで発...
**連続して黒になる時間の計り方 [#v60fab3c]
課題2で説明済みのため,ここでは省略する.詳しくは[[2019a/...
**使用したdefine [#o39d9f37]
#define OPEN 13
#define UP 14
#define FREEZE 15
これらは2台のRIS本体でメッセージの送受信を行うために定義...
#define black 37
ライントレースのために定義した数値である.光センサーの示...
**使用したサブルーチン [#feeb77d6]
***送信側 [#ge8487cf]
sub intersection_stop_leftside() //線の左側...
{
ClearTimer(0); ...
while(FastTimer(0)<30) //タイマー...
{
if (SENSOR_2 > black) //白を見...
{ OnFwd(OUT_A);Off(OUT_C);ClearTimer(0); } //左側へ...
else if (SENSOR_2 < black) //黒を見てい...
{ OnFwd(OUT_C);Off(OUT_A); } //右側へ移動...
}
Off(OUT_AC);
}
sub intersection_stop_rightside() //線の右側を...
{
ClearTimer(0);
while(FastTimer(0)<30) //タイマーの作...
{
if (SENSOR_2 > black) //白を見ている...
{ OnFwd(OUT_C);Off(OUT_A);ClearTimer(0); } //右...
else if (SENSOR_2 < black) //黒を見ている場合//
{ OnFwd(OUT_A);Off(OUT_C); } //左側へ移動&タ...
}
Off(OUT_AC);
}
「intersection_stop_○○side」で,線の○○側をトレースする....
sub corner_stop()
{
ClearTimer(0);
while(FastTimer(0) < 63) //タイマーの作動...
{
if(SENSOR_2 < black) //黒を見てい...
{ OnFwd(OUT_C);Off(OUT_A);ClearTimer(0); } //右側...
else if(SENSOR_2 > black) //白を見てい...
{ OnFwd(OUT_A);Off(OUT_C);} //左側へ移...
}
Off(OUT_AC);//Wait(100);//
while(SENSOR_2 > black)
{ OnFwd(OUT_A);OnRev(OUT_C); }
Off(OUT_AC);//Wait(100);//
}
E,F点を上手く曲がるためのサブルーチンである.ライントレー...
***受信側 [#pb161af5]
#define open(t) OnFwd(OUT_B);Wait(t);OnRev(OUT_B);Wait(5);
このプログラムでアームを開く.
#define up(t) OnFwd(OUT_AC);Wait(t);
このプログラムでアームを上げる.
また,アームの閉,下げは自然に起きるのでプログラムは必要...
**メインプログラム [#kdd4af15]
***送信側 [#eec769f4]
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
FastTimer(0);
ClearMessage();
intersection_stop_rightside();
corner_stop(); //ヘアピンカ...
OnFwd(OUT_A);OnRev(OUT_C);Wait(180); //反転//
SendMessage(OPEN); //OPENのメッ...
OnFwd(OUT_AC);Wait(100); //ボールをア...
ClearMessage(); //メッセージ...
OnFwd(OUT_C);OnRev(OUT_A);Wait(130); //箱が正面に...
SendMessage(UP); //UPのメッセ...
OnFwd(OUT_AC);Wait(100);
ClearMessage(); //メッセージ...
SendMessage(OPEN); //OPENのメッ...
SendMessage(UP); //UPのメッセ...
ClearMessage(); //メッセージ...
}
***受信側 [#l7787923]
task main()
{
ClearMessage();
while(true)
{
ClearMessage();
while(Message() == OPEN) //OPENのメッセージを受...
{ open(300); }
Off(OUT_AC);
while(Message() == UP) //UPのメッセージを受信...
{ up(300); }
Off(OUT_AC);
}
}
*まとめ [#g301cce2]
ロボット自体は大変素晴らしいものができたと思っている.だ...
もう少し時間があればボールを一つ掴むことくらいはできたか...
終了行:
[[2019a/Member]]
目次
#contents
*課題3 [#xf5b17a4]
詳しくは,[[2019a/Mission3]]を参照.
*ロボットの説明 [#y2ed93e5]
ロボットは大まかにアーム,タイヤ,RIS本体の3つの部分に分...
**アーム部分 [#fafbb8bd]
&ref(2019a/Member/miruama/Mission3/DSC_1037.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1032(2).JPG);
この2枚の写真では,アームを上下に動かすための部品を写して...
&ref(2019a/Member/miruama/Mission3/DSC_1042.JPG);
これはボールを掴むためのパーツである.モーターを1つ用いて...
**タイヤ部分 [#ac203cf9]
&ref(2019a/Member/miruama/Mission3/DSC_1036.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1035.JPG);
&ref(2019a/Member/miruama/Mission3/DSC_1034.JPG);
タイヤは全部で5輪取り付けた.後ろの補助輪は,ロボット全体...
*プログラム(未完成)の説明 [#l6529226]
これからプログラムの説明をしていくが,これはロボコンで発...
**連続して黒になる時間の計り方 [#v60fab3c]
課題2で説明済みのため,ここでは省略する.詳しくは[[2019a/...
**使用したdefine [#o39d9f37]
#define OPEN 13
#define UP 14
#define FREEZE 15
これらは2台のRIS本体でメッセージの送受信を行うために定義...
#define black 37
ライントレースのために定義した数値である.光センサーの示...
**使用したサブルーチン [#feeb77d6]
***送信側 [#ge8487cf]
sub intersection_stop_leftside() //線の左側...
{
ClearTimer(0); ...
while(FastTimer(0)<30) //タイマー...
{
if (SENSOR_2 > black) //白を見...
{ OnFwd(OUT_A);Off(OUT_C);ClearTimer(0); } //左側へ...
else if (SENSOR_2 < black) //黒を見てい...
{ OnFwd(OUT_C);Off(OUT_A); } //右側へ移動...
}
Off(OUT_AC);
}
sub intersection_stop_rightside() //線の右側を...
{
ClearTimer(0);
while(FastTimer(0)<30) //タイマーの作...
{
if (SENSOR_2 > black) //白を見ている...
{ OnFwd(OUT_C);Off(OUT_A);ClearTimer(0); } //右...
else if (SENSOR_2 < black) //黒を見ている場合//
{ OnFwd(OUT_A);Off(OUT_C); } //左側へ移動&タ...
}
Off(OUT_AC);
}
「intersection_stop_○○side」で,線の○○側をトレースする....
sub corner_stop()
{
ClearTimer(0);
while(FastTimer(0) < 63) //タイマーの作動...
{
if(SENSOR_2 < black) //黒を見てい...
{ OnFwd(OUT_C);Off(OUT_A);ClearTimer(0); } //右側...
else if(SENSOR_2 > black) //白を見てい...
{ OnFwd(OUT_A);Off(OUT_C);} //左側へ移...
}
Off(OUT_AC);//Wait(100);//
while(SENSOR_2 > black)
{ OnFwd(OUT_A);OnRev(OUT_C); }
Off(OUT_AC);//Wait(100);//
}
E,F点を上手く曲がるためのサブルーチンである.ライントレー...
***受信側 [#pb161af5]
#define open(t) OnFwd(OUT_B);Wait(t);OnRev(OUT_B);Wait(5);
このプログラムでアームを開く.
#define up(t) OnFwd(OUT_AC);Wait(t);
このプログラムでアームを上げる.
また,アームの閉,下げは自然に起きるのでプログラムは必要...
**メインプログラム [#kdd4af15]
***送信側 [#eec769f4]
task main()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
FastTimer(0);
ClearMessage();
intersection_stop_rightside();
corner_stop(); //ヘアピンカ...
OnFwd(OUT_A);OnRev(OUT_C);Wait(180); //反転//
SendMessage(OPEN); //OPENのメッ...
OnFwd(OUT_AC);Wait(100); //ボールをア...
ClearMessage(); //メッセージ...
OnFwd(OUT_C);OnRev(OUT_A);Wait(130); //箱が正面に...
SendMessage(UP); //UPのメッセ...
OnFwd(OUT_AC);Wait(100);
ClearMessage(); //メッセージ...
SendMessage(OPEN); //OPENのメッ...
SendMessage(UP); //UPのメッセ...
ClearMessage(); //メッセージ...
}
***受信側 [#l7787923]
task main()
{
ClearMessage();
while(true)
{
ClearMessage();
while(Message() == OPEN) //OPENのメッセージを受...
{ open(300); }
Off(OUT_AC);
while(Message() == UP) //UPのメッセージを受信...
{ up(300); }
Off(OUT_AC);
}
}
*まとめ [#g301cce2]
ロボット自体は大変素晴らしいものができたと思っている.だ...
もう少し時間があればボールを一つ掴むことくらいはできたか...
ページ名: