2018a/Member/takemasa/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2018a/Member]]
*この課題に対しての目標 [#o0518ce1]
私達は、3段目の缶を勢いで払い落とし、2段目と1段目の缶を...
*ロボットについて [#k0a3a942]
私たちは、二機のロボットを連携させることで、缶を運ぶロボ...
#ref(oo.png)
#ref(IMG_1949.JPG)
移動経路の写真において、紫色で示してある経路がmaster側の...
・ロボットでの工夫点
私はこのロボットにおいて、アームが最も工夫した点であると...
アームとモーターの接続部分写真は次のとおりである。
#ref(IMG_1952.JPG)
写真の左側のタイヤは、アームとこのタイヤの3点で缶をつか...
また、アーム上部の写真は次のとおりである。
#ref(IMG_1950.JPG)
アーム先端部分のタイヤのゴムがアームと缶の間の摩擦を大き...
*プログラムとその工夫点 [#ld0fddbe]
私たちのロボットは、最初の写真のように、移動経路を渦巻き...
task main ()
{
while(SensorUS(S4)>40) //測った距離が40cm以上の間
{
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
until(SensorUS(S4)<40);//40cm以下まで旋回
if(SensorUS(S4)<40) //40cm以下になったとき
{
PlaySound (SOUND_CLICK);
Wait(50);
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
Wait(150); //缶に対面するように角度調整
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
until(SensorUS(S4)<8);//缶との距離が8cmになるまで前進
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300);
Off(OUT_BC);
OnRev(OUT_A,30); //缶を掴む
Wait(400);
Off(OUT_A);
}
}
}
*masterとslaveについて [#od8ee340]
私達が作成したロボットにmasterとslaveが存在する。最初の経...
#define CONN 1
task main ()
{
OnFwd(OUT_C,70);
OnFwd(OUT_B,72);
Wait(1700); //対角線上になるまで移動する
Off(OUT_BC);
OnFwd(OUT_A,30);
Wait(400);
Off(OUT_A);
SetSensorLowspeed(S4); //缶を探す
while(SensorUS(S4)>40)
{
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
until(SensorUS(S4)<40);
if(SensorUS(S4)<40) //缶を発見したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
Wait(150);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
until(SensorUS(S4)<8);//缶との距離が8cm以下になるま...
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300);
Off(OUT_BC);
OnRev(OUT_A,30); //缶を掴む
Wait(400);
Off(OUT_A);
}
OnFwd(OUT_B,25);
OnFwd(OUT_C,25);
Wait(1800); //写真の紫の線の楕円軌道の中...
until ( BluetoothStatus(CONN) == NO_ERR );
RemoteStartProgram(1, "slave.rxe");
Off(OUT_BC);
Wait(9000); //slaveが青の線の楕円軌道の中...
OnFwd(OUT_B,60);
OnFwd(OUT_C,25);
Wait(3600); //缶を置く場所まで移動する
Off(OUT_BC);
OnRev(OUT_B,25);
OnRev(OUT_C,25);
Wait(3600); //誤作動防止と、得点が下がる缶...
OnFwd(OUT_B,30);
OnRev(OUT_C,30);
Wait(800); //誤作動防止と、得点が下がる缶...
Off(OUT_BC);
}
OnFwd(OUT_A,30); //得点が下がる缶を円の外に出す
Wait(400);
Off(OUT_A);
}
また、slave側のプログラムは次のとおりである。
task main ()
{
SetSensorLowspeed(S4);
while(SensorUS(S4)>40)//缶を探す
{
OnFwd(OUT_B,25);
OnRev(OUT_C,25);
until(SensorUS(S4)<40);
if(SensorUS(S4)<40)//缶を発見したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(200);
OnRev(OUT_C,25);
OnFwd(OUT_B,25);
Wait(150); //缶と対面するように角度調整
Off(OUT_BC);
Wait(200);
OnFwd(OUT_C,20);
OnFwd(OUT_B,22);
until(SensorUS(S4)<8);//缶との距離が8cm以下になるま...
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300); //缶との距離をさらに近づけ、...
Off(OUT_BC);
OnRev(OUT_A,17); //缶を掴む
Wait(800);
Off(OUT_A);
}
OnFwd(OUT_C,35);
OnFwd(OUT_B,25);
Wait(2800); //緩やかに曲がり、楕円軌道を描きや...
Off(OUT_BC);
Wait(10);
OnFwd(OUT_C,25);
OnFwd(OUT_B,50);
Wait(2000); //円上に缶を運ぶ
Off(OUT_BC);
OnRev(OUT_A,17); //もう一度缶をしっかり掴む
Wait(800);
Off(OUT_A);
OnRev(OUT_C,25);
OnRev(OUT_B,25);
Wait(800); //2段目の缶を持ち帰り、得点を狙う...
Off(OUT_BC);
OnFwd(OUT_B,40);
OnRev(OUT_C,40);
Wait(1000); //缶を持ち帰る
OnFwd(OUT_C,25);
OnFwd(OUT_B,50);
Wait(1500); //持ち帰った缶を円上まで運ぶ
Off(OUT_BC);
OnFwd(OUT_A,17); //缶をはなす
Wait(800);
Off(OUT_A);
}
}
masterとslaveでプログラムは多少の違いはあるが、slaveのプ...
*結果とその考察 [#x15494d0]
私達のロボットは、本番では2点を獲得した。私達は、1点でも...
終了行:
[[2018a/Member]]
*この課題に対しての目標 [#o0518ce1]
私達は、3段目の缶を勢いで払い落とし、2段目と1段目の缶を...
*ロボットについて [#k0a3a942]
私たちは、二機のロボットを連携させることで、缶を運ぶロボ...
#ref(oo.png)
#ref(IMG_1949.JPG)
移動経路の写真において、紫色で示してある経路がmaster側の...
・ロボットでの工夫点
私はこのロボットにおいて、アームが最も工夫した点であると...
アームとモーターの接続部分写真は次のとおりである。
#ref(IMG_1952.JPG)
写真の左側のタイヤは、アームとこのタイヤの3点で缶をつか...
また、アーム上部の写真は次のとおりである。
#ref(IMG_1950.JPG)
アーム先端部分のタイヤのゴムがアームと缶の間の摩擦を大き...
*プログラムとその工夫点 [#ld0fddbe]
私たちのロボットは、最初の写真のように、移動経路を渦巻き...
task main ()
{
while(SensorUS(S4)>40) //測った距離が40cm以上の間
{
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
until(SensorUS(S4)<40);//40cm以下まで旋回
if(SensorUS(S4)<40) //40cm以下になったとき
{
PlaySound (SOUND_CLICK);
Wait(50);
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
Wait(150); //缶に対面するように角度調整
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
until(SensorUS(S4)<8);//缶との距離が8cmになるまで前進
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300);
Off(OUT_BC);
OnRev(OUT_A,30); //缶を掴む
Wait(400);
Off(OUT_A);
}
}
}
*masterとslaveについて [#od8ee340]
私達が作成したロボットにmasterとslaveが存在する。最初の経...
#define CONN 1
task main ()
{
OnFwd(OUT_C,70);
OnFwd(OUT_B,72);
Wait(1700); //対角線上になるまで移動する
Off(OUT_BC);
OnFwd(OUT_A,30);
Wait(400);
Off(OUT_A);
SetSensorLowspeed(S4); //缶を探す
while(SensorUS(S4)>40)
{
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
until(SensorUS(S4)<40);
if(SensorUS(S4)<40) //缶を発見したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
OnFwd(OUT_C,25);
OnRev(OUT_B,25);
Wait(150);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
until(SensorUS(S4)<8);//缶との距離が8cm以下になるま...
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300);
Off(OUT_BC);
OnRev(OUT_A,30); //缶を掴む
Wait(400);
Off(OUT_A);
}
OnFwd(OUT_B,25);
OnFwd(OUT_C,25);
Wait(1800); //写真の紫の線の楕円軌道の中...
until ( BluetoothStatus(CONN) == NO_ERR );
RemoteStartProgram(1, "slave.rxe");
Off(OUT_BC);
Wait(9000); //slaveが青の線の楕円軌道の中...
OnFwd(OUT_B,60);
OnFwd(OUT_C,25);
Wait(3600); //缶を置く場所まで移動する
Off(OUT_BC);
OnRev(OUT_B,25);
OnRev(OUT_C,25);
Wait(3600); //誤作動防止と、得点が下がる缶...
OnFwd(OUT_B,30);
OnRev(OUT_C,30);
Wait(800); //誤作動防止と、得点が下がる缶...
Off(OUT_BC);
}
OnFwd(OUT_A,30); //得点が下がる缶を円の外に出す
Wait(400);
Off(OUT_A);
}
また、slave側のプログラムは次のとおりである。
task main ()
{
SetSensorLowspeed(S4);
while(SensorUS(S4)>40)//缶を探す
{
OnFwd(OUT_B,25);
OnRev(OUT_C,25);
until(SensorUS(S4)<40);
if(SensorUS(S4)<40)//缶を発見したとき
{
PlaySound (SOUND_CLICK);
Wait(50);
Off(OUT_BC);
Wait(200);
OnRev(OUT_C,25);
OnFwd(OUT_B,25);
Wait(150); //缶と対面するように角度調整
Off(OUT_BC);
Wait(200);
OnFwd(OUT_C,20);
OnFwd(OUT_B,22);
until(SensorUS(S4)<8);//缶との距離が8cm以下になるま...
Off(OUT_BC);
Wait(300);
OnFwd(OUT_C,30);
OnFwd(OUT_B,34);
Wait(300); //缶との距離をさらに近づけ、...
Off(OUT_BC);
OnRev(OUT_A,17); //缶を掴む
Wait(800);
Off(OUT_A);
}
OnFwd(OUT_C,35);
OnFwd(OUT_B,25);
Wait(2800); //緩やかに曲がり、楕円軌道を描きや...
Off(OUT_BC);
Wait(10);
OnFwd(OUT_C,25);
OnFwd(OUT_B,50);
Wait(2000); //円上に缶を運ぶ
Off(OUT_BC);
OnRev(OUT_A,17); //もう一度缶をしっかり掴む
Wait(800);
Off(OUT_A);
OnRev(OUT_C,25);
OnRev(OUT_B,25);
Wait(800); //2段目の缶を持ち帰り、得点を狙う...
Off(OUT_BC);
OnFwd(OUT_B,40);
OnRev(OUT_C,40);
Wait(1000); //缶を持ち帰る
OnFwd(OUT_C,25);
OnFwd(OUT_B,50);
Wait(1500); //持ち帰った缶を円上まで運ぶ
Off(OUT_BC);
OnFwd(OUT_A,17); //缶をはなす
Wait(800);
Off(OUT_A);
}
}
masterとslaveでプログラムは多少の違いはあるが、slaveのプ...
*結果とその考察 [#x15494d0]
私達のロボットは、本番では2点を獲得した。私達は、1点でも...
ページ名: