2017b/Member/ryok/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017b/Member]]
***1.作ったロボット [#ffbc6344]
#ref(2017b/Member/ryok/Mission3/1518393481511[1].jpg,20%,...
上から見た全体。写真の右へと進む。
#ref(2017b/Member/ryok/Mission3/1518393482097[1].jpg,20%,...
ロボットの裏側。写真の上の丸いパーツと2つのタイヤの3点で...
#ref(2017b/Member/ryok/Mission3/1518393482772.jpg,20%,正面)
正面。写真に見られる光センサでコップを判別する。コップに...
1つのモーターでコップを掴み、持ち上げる。左手前のギアを伝...
#ref(2017b/Member/ryok/Mission3/1518393482932.jpg,20%,コ...
コップを掴んだ次の瞬間には↓
#ref(2017b/Member/ryok/Mission3/1518393483488[1].jpg,20%,...
コップが持ち上がる
#ref(2017b/Member/ryok/Mission3/1518393481804[1].jpg,20%,...
コップに直接あたる部分。写真のようなつくりにすることで、...
#ref(2017b/Member/ryok/Mission3/1518393483155.jpg,20%,回...
写真のように右のタイヤの内側に角度センサを取り付けた。
***2.プログラム [#t243e2e4]
#ref(2017b/Member/ryok/Mission3/2017b-mission3.png,70%,コ...
**プログラムの大まかな流れ:Aからスタートして図の左上のコ...
#define cup_getup OnFwd(OUT_B);Wait(15);Off(OUT_B);//...
#define cup_putdown OnRev(OUT_B);Wait(30);Off(OUT_B);...
#define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(...
#define turn_left(s) OnFwd(OUT_C);OnRev(OUT_A);Wait(s...
sub search_cup()
{
SetSensor(SENSOR_1,SENSOR_ROTATION);
SetSensor(SENSOR_2,SENSOR_LIGHT);
int sun_MAX = 100;//明るさの値であり、のちに値を下げ...
int sensor_MAX = 0;//回転の値であり、のちに上がって...
ClearSensor(SENSOR_1);
while(SENSOR_1 < 4)//回転センサーが4となるまで繰り返し
{
SetPower(OUT_AC,2);
OnFwd(OUT_A);
OnRev(OUT_C);
if(SENSOR_2 < sun_MAX)//もし明るさがそれまでに記...
{
sun_MAX = SENSOR_2;//最低の明るさを更新
sensor_MAX = SENSOR_1;//最低の明るさを記録し...
}
}
Off(OUT_AC);
Wait(100);
SetPower(OUT_AC,2);
OnRev(OUT_A);
OnFwd(OUT_C);
until(SENSOR_1 < sensor_MAX);//先ほど最低の明るさを...
Off(OUT_AC);
Wait(100);
OnFwd(OUT_AC);//紙コップがある方向に近づく
Wait(40);
Off(OUT_AC);
}
task main()
{
OnFwd(OUT_AC);//A地点から1つ目の紙コップ付近まで近づく
Wait(140);
Off(OUT_AC);
int A;
for (A=1; A<=2; A++)//以下のことを2回繰り返し
{
SetPower(OUT_AC,2);
OnFwd(OUT_C);//紙コップを見つけるために一時的に...
OnRev(OUT_A);
Wait(20);
Off(OUT_AC);
Wait(100);
search_cup();//紙コップを見つけて紙コップに近づく
Wait(100);
}
cup_getup;//紙コップをつかむ
turn_right(185);//紙コップをつかんだ地点で右旋回し、...
Wait(100);
OnFwd(OUT_AC);//X地点に近づく
Wait(50);
Off(OUT_AC);
OnFwd(OUT_B);//紙コップを持ち上げる
OnRev(OUT_AC);//紙コップを持ち上げながら下がり、紙コ...
Wait(100);
Off(OUT_ABC);
Wait(100);
turn_left(150);//持っている紙コップを移動の邪魔にな...
Wait(100);
cup_putdown;//紙コップをはなす
turn_right(155);//2つ目の紙コップの方向を向くために...
OnFwd(OUT_AC);//紙コップに近づく
Wait(140);
Off(OUT_AC);
turn_right(40);//紙コップがある方向を向くため右旋回
OnFwd(OUT_AC);//更に紙コップに近づく
Wait(40);
Off(OUT_AC);
int B;
for (B=1; B<=2; B++)//以下のことを2回繰り返し
{
SetPower(OUT_AC,2);
turn_left(20);//紙コップを見つけるために一時的に...
Wait(100);
search_cup();//紙コップを見つけて紙コップに近づく
Wait(100);
}
cup_getup;//紙コップをつかむ
Off(OUT_AC);
Wait(100);
turn_right(160);//紙コップをつかんだ地点で右旋回し、...
OnFwd(OUT_B);//紙コップを持ち上げる
OnRev(OUT_AC);//紙コップを持ち上げながら下がり、紙コ...
Wait(100);
Off(OUT_ABC);
turn_left(85);//X地点の方向を向いてる状態からY地点の...
OnFwd(OUT_AC);//Y地点に近づき、紙コップをY地点に置く
Wait(160);
Off(OUT_AC);
}
***3.感想 [#f2106c9a]
ロボットは自分たちが予想した動きと異なる動きをすることが...
終了行:
[[2017b/Member]]
***1.作ったロボット [#ffbc6344]
#ref(2017b/Member/ryok/Mission3/1518393481511[1].jpg,20%,...
上から見た全体。写真の右へと進む。
#ref(2017b/Member/ryok/Mission3/1518393482097[1].jpg,20%,...
ロボットの裏側。写真の上の丸いパーツと2つのタイヤの3点で...
#ref(2017b/Member/ryok/Mission3/1518393482772.jpg,20%,正面)
正面。写真に見られる光センサでコップを判別する。コップに...
1つのモーターでコップを掴み、持ち上げる。左手前のギアを伝...
#ref(2017b/Member/ryok/Mission3/1518393482932.jpg,20%,コ...
コップを掴んだ次の瞬間には↓
#ref(2017b/Member/ryok/Mission3/1518393483488[1].jpg,20%,...
コップが持ち上がる
#ref(2017b/Member/ryok/Mission3/1518393481804[1].jpg,20%,...
コップに直接あたる部分。写真のようなつくりにすることで、...
#ref(2017b/Member/ryok/Mission3/1518393483155.jpg,20%,回...
写真のように右のタイヤの内側に角度センサを取り付けた。
***2.プログラム [#t243e2e4]
#ref(2017b/Member/ryok/Mission3/2017b-mission3.png,70%,コ...
**プログラムの大まかな流れ:Aからスタートして図の左上のコ...
#define cup_getup OnFwd(OUT_B);Wait(15);Off(OUT_B);//...
#define cup_putdown OnRev(OUT_B);Wait(30);Off(OUT_B);...
#define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(...
#define turn_left(s) OnFwd(OUT_C);OnRev(OUT_A);Wait(s...
sub search_cup()
{
SetSensor(SENSOR_1,SENSOR_ROTATION);
SetSensor(SENSOR_2,SENSOR_LIGHT);
int sun_MAX = 100;//明るさの値であり、のちに値を下げ...
int sensor_MAX = 0;//回転の値であり、のちに上がって...
ClearSensor(SENSOR_1);
while(SENSOR_1 < 4)//回転センサーが4となるまで繰り返し
{
SetPower(OUT_AC,2);
OnFwd(OUT_A);
OnRev(OUT_C);
if(SENSOR_2 < sun_MAX)//もし明るさがそれまでに記...
{
sun_MAX = SENSOR_2;//最低の明るさを更新
sensor_MAX = SENSOR_1;//最低の明るさを記録し...
}
}
Off(OUT_AC);
Wait(100);
SetPower(OUT_AC,2);
OnRev(OUT_A);
OnFwd(OUT_C);
until(SENSOR_1 < sensor_MAX);//先ほど最低の明るさを...
Off(OUT_AC);
Wait(100);
OnFwd(OUT_AC);//紙コップがある方向に近づく
Wait(40);
Off(OUT_AC);
}
task main()
{
OnFwd(OUT_AC);//A地点から1つ目の紙コップ付近まで近づく
Wait(140);
Off(OUT_AC);
int A;
for (A=1; A<=2; A++)//以下のことを2回繰り返し
{
SetPower(OUT_AC,2);
OnFwd(OUT_C);//紙コップを見つけるために一時的に...
OnRev(OUT_A);
Wait(20);
Off(OUT_AC);
Wait(100);
search_cup();//紙コップを見つけて紙コップに近づく
Wait(100);
}
cup_getup;//紙コップをつかむ
turn_right(185);//紙コップをつかんだ地点で右旋回し、...
Wait(100);
OnFwd(OUT_AC);//X地点に近づく
Wait(50);
Off(OUT_AC);
OnFwd(OUT_B);//紙コップを持ち上げる
OnRev(OUT_AC);//紙コップを持ち上げながら下がり、紙コ...
Wait(100);
Off(OUT_ABC);
Wait(100);
turn_left(150);//持っている紙コップを移動の邪魔にな...
Wait(100);
cup_putdown;//紙コップをはなす
turn_right(155);//2つ目の紙コップの方向を向くために...
OnFwd(OUT_AC);//紙コップに近づく
Wait(140);
Off(OUT_AC);
turn_right(40);//紙コップがある方向を向くため右旋回
OnFwd(OUT_AC);//更に紙コップに近づく
Wait(40);
Off(OUT_AC);
int B;
for (B=1; B<=2; B++)//以下のことを2回繰り返し
{
SetPower(OUT_AC,2);
turn_left(20);//紙コップを見つけるために一時的に...
Wait(100);
search_cup();//紙コップを見つけて紙コップに近づく
Wait(100);
}
cup_getup;//紙コップをつかむ
Off(OUT_AC);
Wait(100);
turn_right(160);//紙コップをつかんだ地点で右旋回し、...
OnFwd(OUT_B);//紙コップを持ち上げる
OnRev(OUT_AC);//紙コップを持ち上げながら下がり、紙コ...
Wait(100);
Off(OUT_ABC);
turn_left(85);//X地点の方向を向いてる状態からY地点の...
OnFwd(OUT_AC);//Y地点に近づき、紙コップをY地点に置く
Wait(160);
Off(OUT_AC);
}
***3.感想 [#f2106c9a]
ロボットは自分たちが予想した動きと異なる動きをすることが...
ページ名: