2016b/Member/pengin/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
*課題の説明 [#fc9d48da]
B地点をスタートしてQ付近の3/4円周上でピンポン玉をつか...
Bスタート → R直進 → P右折 → Q直進 → (ピンポン玉を...
ただし、
なるべく速く正確に動くロボットになるように工夫して、...
ピンポン玉はQ近くの3/4円周上ならどこにおいてもよい
可能であればC,Dのゴールエリアライン上からシュートする
#ref(2016b/Member/pengin/Mission2/課題.jpg,150%)
黒線の左側をジグザグしながらライトレイスを行い、途中でピ...
*ロボットの説明 [#m45f1514]
**全体像 [#sb902f72]
#ref(2016b/Member/pengin/Mission2/全体像.jpg,100%)
モーターを前後の動き、アームの上げ下ろしにつか使った。セ...
機体が急なカーブを曲がれるようにするために大きなタイヤは...
**アーム部分 [#g06bc864]
#ref(2016b/Member/pengin/Mission2/アーム.jpg,100%)
ピンポン球が左右にずれないようにするために長いパーツを先...
**本体部分 [#n44674aa]
#ref(2016b/Member/pengin/Mission2/ライト.jpg,100%)
#ref(2016b/Member/pengin/Mission2/ウラ面.jpg,100%)
ライントレイスの正確性をあげるために機体とライトセンサー...
捕まえたピンポン球がどこかへ行かないように機体前方に牙の...
*プログラミングの説明 [#k30b9e02]
今回はライントレイスの部分をサブルーチンにすることによっ...
**定義の説明 [#m00673f9]
#define tyousei_migi OnFwd(OUT_A);\\ライントレイス時に右...
#define tyousei_hidari OnFwd(OUT_C);\\ライントレイス時に...
#define senkai_migi OnFwd(OUT_A);OnRev(OUT_C);\\ライント...
#define senkai_hidari OnFwd(OUT_C);OnRev(OUT_A);\\ライン...
#define go_straight OnFwd(OUT_AC);\\直進する
#define usetu OnFwd(OUT_A);Wait(100);\\交差点での右折
#define tyokusinn OnFwd(OUT_AC);Wait(020);Off(OUT_AC);\\...
#define senkai OnFwd(OUT_A);OnRev(OUT_C);Wait(019);Off(O...
#define up OnFwd(OUT_B);Wait(030);Off(OUT_B);\\アームを...
#define down OnRev(OUT_B);Wait(030);Off(OUT_B);\\アーム...
#define shoot OnRev(OUT_AC);Wait(100);Off(OUT_AC);up;On...
**サブルーチンの説明 [#je9d376c]
基本的にはラインの左側の部分に沿って進むものだが、交差点...
sub linetrace()\\ライントレイス
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<027){
if(SENSOR_2>50){senkai_migi;ClearTimer(0);}
else if(SENSOR_2>47){tyousei_migi;ClearTimer(0);}
else if(SENSOR_2>43){go_straight;ClearTimer(0);}
else if(SENSOR_2>37){tyousei_hidari;ClearTimer(0);}
else if(SENSOR_2>35){senkai_hidari;}
}
Off(OUT_AC);
PlaySound(SOUND_UP);
Wait(100);
senkai;
}
**メインタスク [#q6cf4e18]
task main()
{
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
tyokusinn;\\ボールを捕らえるために前進
down;\\バーを下ろす
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
shoot;\\ピンポン球をゴールにシュート
}
*結果 [#p976d7b0]
なんとか完走しゴールすることが出来たことは良かった。しか...
*感想・まとめ [#t790fd68]
今回は前回の課題に比べてサブルーチンをうまく使ってプログ...
終了行:
目次
#contents
*課題の説明 [#fc9d48da]
B地点をスタートしてQ付近の3/4円周上でピンポン玉をつか...
Bスタート → R直進 → P右折 → Q直進 → (ピンポン玉を...
ただし、
なるべく速く正確に動くロボットになるように工夫して、...
ピンポン玉はQ近くの3/4円周上ならどこにおいてもよい
可能であればC,Dのゴールエリアライン上からシュートする
#ref(2016b/Member/pengin/Mission2/課題.jpg,150%)
黒線の左側をジグザグしながらライトレイスを行い、途中でピ...
*ロボットの説明 [#m45f1514]
**全体像 [#sb902f72]
#ref(2016b/Member/pengin/Mission2/全体像.jpg,100%)
モーターを前後の動き、アームの上げ下ろしにつか使った。セ...
機体が急なカーブを曲がれるようにするために大きなタイヤは...
**アーム部分 [#g06bc864]
#ref(2016b/Member/pengin/Mission2/アーム.jpg,100%)
ピンポン球が左右にずれないようにするために長いパーツを先...
**本体部分 [#n44674aa]
#ref(2016b/Member/pengin/Mission2/ライト.jpg,100%)
#ref(2016b/Member/pengin/Mission2/ウラ面.jpg,100%)
ライントレイスの正確性をあげるために機体とライトセンサー...
捕まえたピンポン球がどこかへ行かないように機体前方に牙の...
*プログラミングの説明 [#k30b9e02]
今回はライントレイスの部分をサブルーチンにすることによっ...
**定義の説明 [#m00673f9]
#define tyousei_migi OnFwd(OUT_A);\\ライントレイス時に右...
#define tyousei_hidari OnFwd(OUT_C);\\ライントレイス時に...
#define senkai_migi OnFwd(OUT_A);OnRev(OUT_C);\\ライント...
#define senkai_hidari OnFwd(OUT_C);OnRev(OUT_A);\\ライン...
#define go_straight OnFwd(OUT_AC);\\直進する
#define usetu OnFwd(OUT_A);Wait(100);\\交差点での右折
#define tyokusinn OnFwd(OUT_AC);Wait(020);Off(OUT_AC);\\...
#define senkai OnFwd(OUT_A);OnRev(OUT_C);Wait(019);Off(O...
#define up OnFwd(OUT_B);Wait(030);Off(OUT_B);\\アームを...
#define down OnRev(OUT_B);Wait(030);Off(OUT_B);\\アーム...
#define shoot OnRev(OUT_AC);Wait(100);Off(OUT_AC);up;On...
**サブルーチンの説明 [#je9d376c]
基本的にはラインの左側の部分に沿って進むものだが、交差点...
sub linetrace()\\ライントレイス
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<027){
if(SENSOR_2>50){senkai_migi;ClearTimer(0);}
else if(SENSOR_2>47){tyousei_migi;ClearTimer(0);}
else if(SENSOR_2>43){go_straight;ClearTimer(0);}
else if(SENSOR_2>37){tyousei_hidari;ClearTimer(0);}
else if(SENSOR_2>35){senkai_hidari;}
}
Off(OUT_AC);
PlaySound(SOUND_UP);
Wait(100);
senkai;
}
**メインタスク [#q6cf4e18]
task main()
{
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
tyokusinn;\\ボールを捕らえるために前進
down;\\バーを下ろす
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
tyokusinn;\\交差点を直進
linetrace();\\ライントレイス
usetu;\\交差点を右折
linetrace();\\ライントレイス
shoot;\\ピンポン球をゴールにシュート
}
*結果 [#p976d7b0]
なんとか完走しゴールすることが出来たことは良かった。しか...
*感想・まとめ [#t790fd68]
今回は前回の課題に比べてサブルーチンをうまく使ってプログ...
ページ名: