2017b/Member/hata/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#contents
*課題3 [#s5110a57]
**コース [#p92eae39]
下のようなコースを作成し紙コップをY地点、紙コップの中に入...
#ref(2017b/Member/hata/Mission3/課題3コース.png,80%,コー...
私たちのチームは、A地点からスタート→上の画像の1の紙コッ...
*ロボットの説明 [#oc819d2b]
**全体 [#e955ada3]
下の画像は実際に作ったロボットを上から見たものである。当...
#ref(2017b/Member/hata/Mission3/image1.JPG,50%,ロボット全...
**前輪部分 [#j5f49f9d]
下の画像の赤い枠で囲まれた部分は、前輪部分である。当初使...
#ref(2017b/Member/hata/Mission3/image2.JPG,40%,ロボット全...
**アームの部分 [#l1210a98]
紙コップをつかむ構造部分は今回の課題で一番工夫が必要とな...
#ref(2017b/Member/hata/Mission2/スペース.jpg,1%,)
&ref(2017b/Member/hata/Mission3/image5.JPG,50%,アーム);
&ref(2017b/Member/hata/Mission3/image7.gif,25%,アーム);
#ref(2017b/Member/hata/Mission2/スペース.jpg,1%,)
また、紙コップをつかんだうえで持ち上げなければならなかっ...
#ref(2017b/Member/hata/Mission3/image4.JPG,20%,アーム)
**紙コップを見つけるセンサー [#m362a84a]
***光センサー [#edca4c9b]
下の画像は、黒く色を塗られた紙コップを見つけるための光セ...
#ref(2017b/Member/hata/Mission3/image3.JPG,40%,)
***回転センサー [#lc13f4d0]
下の画像は、紙コップがロボットに対してどの方向にあるかを...
#ref(2017b/Member/hata/Mission3/image6.JPG,40%,)
*プログラム [#ncfdfed1]
**定義 [#l206b130]
何度も使うと思われた、紙コップをつかむ、紙コップをはなす...
#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(t);...
#define turn_left(s) OnFwd(OUT_C);OnRev(OUT_A);Wait(s);O...
**サブルーチン [#db9436d5]
紙コップをつかむところまでどのようにロボットを近づけるか...
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);
}
**メインのプログラム [#y80e54d2]
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);
}
*まとめ [#ddf7c7a2]
**反省点 [#y39073db]
後輪が大きすぎたために移動が速くなってしまい、紙コップを...
**感想 [#wbab9592]
発表が終わって順位を見たら9チーム中4位だったので思ってい...
終了行:
#contents
*課題3 [#s5110a57]
**コース [#p92eae39]
下のようなコースを作成し紙コップをY地点、紙コップの中に入...
#ref(2017b/Member/hata/Mission3/課題3コース.png,80%,コー...
私たちのチームは、A地点からスタート→上の画像の1の紙コッ...
*ロボットの説明 [#oc819d2b]
**全体 [#e955ada3]
下の画像は実際に作ったロボットを上から見たものである。当...
#ref(2017b/Member/hata/Mission3/image1.JPG,50%,ロボット全...
**前輪部分 [#j5f49f9d]
下の画像の赤い枠で囲まれた部分は、前輪部分である。当初使...
#ref(2017b/Member/hata/Mission3/image2.JPG,40%,ロボット全...
**アームの部分 [#l1210a98]
紙コップをつかむ構造部分は今回の課題で一番工夫が必要とな...
#ref(2017b/Member/hata/Mission2/スペース.jpg,1%,)
&ref(2017b/Member/hata/Mission3/image5.JPG,50%,アーム);
&ref(2017b/Member/hata/Mission3/image7.gif,25%,アーム);
#ref(2017b/Member/hata/Mission2/スペース.jpg,1%,)
また、紙コップをつかんだうえで持ち上げなければならなかっ...
#ref(2017b/Member/hata/Mission3/image4.JPG,20%,アーム)
**紙コップを見つけるセンサー [#m362a84a]
***光センサー [#edca4c9b]
下の画像は、黒く色を塗られた紙コップを見つけるための光セ...
#ref(2017b/Member/hata/Mission3/image3.JPG,40%,)
***回転センサー [#lc13f4d0]
下の画像は、紙コップがロボットに対してどの方向にあるかを...
#ref(2017b/Member/hata/Mission3/image6.JPG,40%,)
*プログラム [#ncfdfed1]
**定義 [#l206b130]
何度も使うと思われた、紙コップをつかむ、紙コップをはなす...
#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(t);...
#define turn_left(s) OnFwd(OUT_C);OnRev(OUT_A);Wait(s);O...
**サブルーチン [#db9436d5]
紙コップをつかむところまでどのようにロボットを近づけるか...
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);
}
**メインのプログラム [#y80e54d2]
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);
}
*まとめ [#ddf7c7a2]
**反省点 [#y39073db]
後輪が大きすぎたために移動が速くなってしまい、紙コップを...
**感想 [#wbab9592]
発表が終わって順位を見たら9チーム中4位だったので思ってい...
ページ名: