2018a/Member/takemasa/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018a/Member]]
*ロボットについて [#d9728625]
わたしたちは、機動性を重視したロボットを作った。ロボット...
#ref(IMG_1906.JPG)
この写真を見てわかる通り、ロボット作成の際に工夫した点が2...
第一に、光センサーの位置である。光センサーを中心より若干...
第二に、アームに関する部分である。試作品はすべてのモータ...
*移動コース [#f85d89a7]
私の担当するコースは第1コースで、以下の写真のようなコー...
#ref(robo.png)
写真では、線が色分けされているがここでプログラムが変化す...
*サブルーチン [#o8e6dcb2]
今回のロボット製作で使用したサブルーチンは2つである。
+ライントレースをスムーズに早く行うサブルーチン
私はこのサブルーチンを「Line1」と定義した。これは、緩やか...
sub Line1 ()
{
int n = 0;
if(SENSOR_1<50)
{
rt;
n=0;
}
else if(SENSOR_1>50)
{
lt;
n++;
}
}
2. 複雑な進路を慎重にライントレースするサブルーチン
私はこのサブルーチンを「Line2」と定義した。このサブルーチ...
sub Line2 ()
{
int n = 0;
if(SENSOR_1<50)
{
rtt;
n=0;
}
else if(SENSOR_1>50)
{
ltt;
n++;
}
}
*プログラムの工夫点 [#s60f7cbf]
プログラムでは、交差点を境目として、大きく7つの動作に分...
プログラムの内容は次のとおりである。
#define rt OnRev(OUT_C,40);OnRev(OUT_B,15);Wait(100);
#define lt OnRev(OUT_B,40);OnRev(OUT_C,15);Wait(100);
#define rtt OnRev(OUT_C,30);OnFwd(OUT_B,10);Wait(100);
#define ltt OnRev(OUT_B,30);OnFwd(OUT_C,10);Wait(100);
sub Line1 ()
{
int n = 0;
if(SENSOR_1<50)
{
rt;
n=0;
}
else if(SENSOR_1>50)
{
lt;
n++;
}
}
sub Line2 ()
{
int n = 0;
if(SENSOR_1<50)
{
rtt;
n=0;
}
else if(SENSOR_1>50)
{
ltt;
n++;
}
}
task main()
{
int n = 0; //交差点を認識させるための数...
SetSensorLight(S1);
int i = 0; //交差点動作後の行動を変化さ...
while(i < 1)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
rt;
until (SENSOR_1>50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
lt;
until (SENSOR_1<50);
i++;
}
}
while(i < 2)
{
Line2();
if(n> 5)
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnFwd(OUT_A,60); //カンを掴むためのアームを下...
Wait(700);
lt;
until (SENSOR_1<50); //ライントレースできる地点まで...
i++;
}
}
while(i < 3)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(500);
rt;
until (SENSOR_1>50); //ライントレースで地点...
i++;
}
}
while(i < 4)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(500);
rt;
Wait(350);
Off(OUT_BC);
Wait(100);
rt;
until (SENSOR_1>50); //ライントレースできる地点...
i++;
}
}
while(i < 5)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_A,60);
Wait(700);
lt;
until (SENSOR_1<50); //ライントレースできる地点...
i++;
}
}
while(i < 6)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
lt;
Wait(350);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
rt;
until (SENSOR_1<50); //ライントレースできる地点まで...
i++;
}
}
while(i < 7)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき ...
{
PlaySound (SOUND_CLICK);
Wait(50);
rt;
Wait(150);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
PlaySound (SOUND_CLICK);
Wait(150);
Off(OUT_BC);
}
}
}
私は、主にwhileのコマンドを使ってプログラムを行った。写真...
*今回の課題における苦労した点と反省点 [#x362eee4]
今回の課題において私が苦労したことは、交差点の認識である...
終了行:
[[2018a/Member]]
*ロボットについて [#d9728625]
わたしたちは、機動性を重視したロボットを作った。ロボット...
#ref(IMG_1906.JPG)
この写真を見てわかる通り、ロボット作成の際に工夫した点が2...
第一に、光センサーの位置である。光センサーを中心より若干...
第二に、アームに関する部分である。試作品はすべてのモータ...
*移動コース [#f85d89a7]
私の担当するコースは第1コースで、以下の写真のようなコー...
#ref(robo.png)
写真では、線が色分けされているがここでプログラムが変化す...
*サブルーチン [#o8e6dcb2]
今回のロボット製作で使用したサブルーチンは2つである。
+ライントレースをスムーズに早く行うサブルーチン
私はこのサブルーチンを「Line1」と定義した。これは、緩やか...
sub Line1 ()
{
int n = 0;
if(SENSOR_1<50)
{
rt;
n=0;
}
else if(SENSOR_1>50)
{
lt;
n++;
}
}
2. 複雑な進路を慎重にライントレースするサブルーチン
私はこのサブルーチンを「Line2」と定義した。このサブルーチ...
sub Line2 ()
{
int n = 0;
if(SENSOR_1<50)
{
rtt;
n=0;
}
else if(SENSOR_1>50)
{
ltt;
n++;
}
}
*プログラムの工夫点 [#s60f7cbf]
プログラムでは、交差点を境目として、大きく7つの動作に分...
プログラムの内容は次のとおりである。
#define rt OnRev(OUT_C,40);OnRev(OUT_B,15);Wait(100);
#define lt OnRev(OUT_B,40);OnRev(OUT_C,15);Wait(100);
#define rtt OnRev(OUT_C,30);OnFwd(OUT_B,10);Wait(100);
#define ltt OnRev(OUT_B,30);OnFwd(OUT_C,10);Wait(100);
sub Line1 ()
{
int n = 0;
if(SENSOR_1<50)
{
rt;
n=0;
}
else if(SENSOR_1>50)
{
lt;
n++;
}
}
sub Line2 ()
{
int n = 0;
if(SENSOR_1<50)
{
rtt;
n=0;
}
else if(SENSOR_1>50)
{
ltt;
n++;
}
}
task main()
{
int n = 0; //交差点を認識させるための数...
SetSensorLight(S1);
int i = 0; //交差点動作後の行動を変化さ...
while(i < 1)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
rt;
until (SENSOR_1>50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
lt;
until (SENSOR_1<50);
i++;
}
}
while(i < 2)
{
Line2();
if(n> 5)
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnFwd(OUT_A,60); //カンを掴むためのアームを下...
Wait(700);
lt;
until (SENSOR_1<50); //ライントレースできる地点まで...
i++;
}
}
while(i < 3)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(500);
rt;
until (SENSOR_1>50); //ライントレースで地点...
i++;
}
}
while(i < 4)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(500);
rt;
Wait(350);
Off(OUT_BC);
Wait(100);
rt;
until (SENSOR_1>50); //ライントレースできる地点...
i++;
}
}
while(i < 5)
{
Line2();
if(n> 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_A,60);
Wait(700);
lt;
until (SENSOR_1<50); //ライントレースできる地点...
i++;
}
}
while(i < 6)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
lt;
Wait(350);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
rt;
until (SENSOR_1<50); //ライントレースできる地点まで...
i++;
}
}
while(i < 7)
{
Line1();
if( n > 5) //0.5秒以上黒を認識したとき ...
{
PlaySound (SOUND_CLICK);
Wait(50);
rt;
Wait(150);
Off(OUT_BC);
Wait(1500);
OnRev(OUT_BC,30);
Wait(300);
PlaySound (SOUND_CLICK);
Wait(150);
Off(OUT_BC);
}
}
}
私は、主にwhileのコマンドを使ってプログラムを行った。写真...
*今回の課題における苦労した点と反省点 [#x362eee4]
今回の課題において私が苦労したことは、交差点の認識である...
ページ名: