2019a/Member/tomo/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
*課題3 ボール運搬ロボット [#j6c475b4]
**ミッション概要 [#b5d653b9]
ピンポン玉または青と赤のボールを運搬して、所定の容器の中...
**フィールド[#me3307dc]
今回使用したフィールドは以下の通りである。
#ref(./コース.jpeg,70%,コース)
***フィールド説明 [#h5812fb0]
~・フィールドは課題2で使用した紙を使用する。
~・生協のお弁当の四角いプラ容器2つをそれぞれ円内に置き、...
~・プラ容器には色をつけたり文字や記号を書いてもよい。
~・プラ容器は両面テープ等でフィールドに固定してもよい。
~・2枚の紙の境界にはそれぞ幅1cm、合計2cmの黒線を描いても...
**ルール [#y690a8f3]
基本ルールは以下の通りである。
~・競技時間は審判が続行不能と判断するまで、あるいはリタイ...
~・図のA地点または(および)A'地点からスタートする。ただ...
~・開始の合図から5秒以内にスタートボタンを押す作業を完了...
~・競技が終了するまで、ロボットに触ったり人間が遠隔で操作...
^・途中でうまく動かなくなった場合、1回限り再スタートする...
~・競技終了後、ロボットが、ゴールのプラ容器に触れていては...
~・競技終了後、もともと玉が入っていたプラ容器が、ゴールの...
**ミッションの目標 [#m97ac965]
私たちのチームでは、高得点が狙えるプラ容器内の2つの球を...
*機体の説明 [#o8fe317b]
#ref(./機体全体像.jpeg,70%,ロボ画像)
今回製作したロボットは以上のものである。今回は二つのRISの...
~モーター利用の内訳は、車輪構造に2つ、球を吸い上げるベル...
**機体製作の経緯 [#l278e3a1]
今回球を運搬する機体を作るにあたって、まず私たちのグルー...
~しかし実際は製作にあたって、アームの部分を、プラ容器内の...
~そこで、このプランに代わる打開策を模索していると、過去の...
**ベルトコンベアーについて [#d946d5ad]
今回私たちは、球の運搬にベルトコンベアー式のエレベーター...
#ref(./エレベーター.jpeg,70%,エレベータ)
キャタピラを用いて、壁と挟むことで球を吸い上げて保管する...
初期段階ではキャタピラを二つ使って吸い込む機構を採用して...
球は同時に3つまで保つことが可能である。
#ref(./エレベーターを動かす時の輪ゴムギア.jpeg,70%,わゴム)
写真で分かるようにモーターからの動力の駆動は輪ゴムを用い...
キャタピラの部分をプラ容器内の球に垂直に押し当てることで...
モーターの出力を逆にすることで、吸い込むだけでなく、球を...
**ベルトコンベアーの上げ下げ [#i73b42d7]
それでは球を取る際、放出する際に肝心となるベルトコンベア...
#ref(./エレベーター上げ下げのギア.jpeg,70%,ギア)
レールによる移動は、課題1(リンク:[[2019a/Member/tomo/Mi...
*光センサーとトレースについて [#c6c085b9]
今回は課題2と同様に光センサーによるトレースを利用しよう...
*プログラムの説明 [#t2109b6f]
今回は四人一組の共同作業により行ったため、各自で担当する...
**二台のRISの連携について [#c02f346b]
今回、私たちのチームは、RISのコンピュータを二つ使い、RIS_...
SendMessage(SIGNALON);
RIS_1はプラ容器の前まで行ったら、上記プログラムを送信して...
Off(OUT_AC);
until(Message() == SIGNALON);
これはRIS_1からのプログラムをRIS_2が受け取るまで、停止し...
SendMessage(SIGNALOFF);
次にRIS_2はRIS_1へと上記のプログラムを送信する。
Off(OUT_AC);
until(Message() == SIGNALOFF);
上記のプログラムによりRIS_1は2のプログラムを受信するまで...
OnFwd(OUT_AC);
until(Message() == SIGNALOFF);
これは説明にあったように、RIS_1がSIGNALLOFFを受信するまで...
**RIS_1のサブルーチンについて [#jfa6f0c6]
課題2同様に、一定のプログラムをサブルーチンにして利用す...
***直進 [#l14d3a57]
sub go_f()
{
go;Wait(move_t);Off(OUT_AC);
}
直進のプログラムである。以下同様に上下左右に動く基本動作...
***後退 [#y50ff697]
sub go_b()
{
OnRev(OUT_AC);Wait(move_t);Off(OUT_AC);
}
***左折 [#t6797b32]
sub go_l()
{
turn_left;Wait(move_t);Off(OUT_AC);
}
***右折 [#qea6365e]
sub go_r()
{
turn_right;Wait(move_t);Off(OUT_AC);
}
**RIS_1のプログラムの本体 [#o6dbdcd4]
task main()
{
move_t=500; //A'から直進
go_f();
SendMessage(SIGNALON); //シグナルの送信
ClearMessage();
OnFwd(OUT_AC);
until(Message() == SIGNALOFF); //この間にボールの吸い...
move_t=250; //右折を行う
go_r();
move_t=1000; //ゴールへ向けて直進
go_f();
SendMessage(SIGNALON); //最後にボール排出を行...
ClearMessage();
OnFwd(OUT_AC);
until(Message() == SIGNALOFF);
move_t=200;
go_b(); //交代を行う
}
**RIS_2のサブルーチンについて [#jbf303a5]
***球の吸い上げ [#vcfc7899]
sub ball_c()
{
Off(OUT_AC); //前述した、シグナルを受け取るまで停止さ...
until(Message() == SIGNALON); //
OnFwd(OUT_A); //アームを下げる
Wait(100);
Off(OUT_A);
OnFwd(OUT_C); //キャタピラをつかったベルトコンベアで球...
Wait(100);
OnRev(OUT_A); //アームを上げる
Wait(100);
Off(OUT_A); //アームの停止
}
***球の排出 [#scef63e1]
sub ball_l()
{
Off(OUT_AC); //前述のようにシグナル...
until(Message() == SIGNALON);
OnRev(OUT_C); //球の吸い込みと逆の動作...
Wait(10000);
Off(OUT_C);
SendMessage(SIGNALOFF); //シグナルの送信
}
**RIS_2のプログラム本体 [#e3b77e79]
task main()
{
ClearMessage();
t=200;
ball_c(); //球の吸い上げ
SendMessage(SIGNALOFF); //シグナルの送信
ClearMessage();
ball_l(); //球の排出
}
*感想と反省 [#bfd4827e]
今回の課題3に取り組み、一番の反省点は機体製作に時間をか...
また今回のゼミを受けてみて、プログラムすることの難しさを...
また短い期間ではあったが、今回の授業で毎回協力してくれた...
終了行:
[[2019a/Member]]
*課題3 ボール運搬ロボット [#j6c475b4]
**ミッション概要 [#b5d653b9]
ピンポン玉または青と赤のボールを運搬して、所定の容器の中...
**フィールド[#me3307dc]
今回使用したフィールドは以下の通りである。
#ref(./コース.jpeg,70%,コース)
***フィールド説明 [#h5812fb0]
~・フィールドは課題2で使用した紙を使用する。
~・生協のお弁当の四角いプラ容器2つをそれぞれ円内に置き、...
~・プラ容器には色をつけたり文字や記号を書いてもよい。
~・プラ容器は両面テープ等でフィールドに固定してもよい。
~・2枚の紙の境界にはそれぞ幅1cm、合計2cmの黒線を描いても...
**ルール [#y690a8f3]
基本ルールは以下の通りである。
~・競技時間は審判が続行不能と判断するまで、あるいはリタイ...
~・図のA地点または(および)A'地点からスタートする。ただ...
~・開始の合図から5秒以内にスタートボタンを押す作業を完了...
~・競技が終了するまで、ロボットに触ったり人間が遠隔で操作...
^・途中でうまく動かなくなった場合、1回限り再スタートする...
~・競技終了後、ロボットが、ゴールのプラ容器に触れていては...
~・競技終了後、もともと玉が入っていたプラ容器が、ゴールの...
**ミッションの目標 [#m97ac965]
私たちのチームでは、高得点が狙えるプラ容器内の2つの球を...
*機体の説明 [#o8fe317b]
#ref(./機体全体像.jpeg,70%,ロボ画像)
今回製作したロボットは以上のものである。今回は二つのRISの...
~モーター利用の内訳は、車輪構造に2つ、球を吸い上げるベル...
**機体製作の経緯 [#l278e3a1]
今回球を運搬する機体を作るにあたって、まず私たちのグルー...
~しかし実際は製作にあたって、アームの部分を、プラ容器内の...
~そこで、このプランに代わる打開策を模索していると、過去の...
**ベルトコンベアーについて [#d946d5ad]
今回私たちは、球の運搬にベルトコンベアー式のエレベーター...
#ref(./エレベーター.jpeg,70%,エレベータ)
キャタピラを用いて、壁と挟むことで球を吸い上げて保管する...
初期段階ではキャタピラを二つ使って吸い込む機構を採用して...
球は同時に3つまで保つことが可能である。
#ref(./エレベーターを動かす時の輪ゴムギア.jpeg,70%,わゴム)
写真で分かるようにモーターからの動力の駆動は輪ゴムを用い...
キャタピラの部分をプラ容器内の球に垂直に押し当てることで...
モーターの出力を逆にすることで、吸い込むだけでなく、球を...
**ベルトコンベアーの上げ下げ [#i73b42d7]
それでは球を取る際、放出する際に肝心となるベルトコンベア...
#ref(./エレベーター上げ下げのギア.jpeg,70%,ギア)
レールによる移動は、課題1(リンク:[[2019a/Member/tomo/Mi...
*光センサーとトレースについて [#c6c085b9]
今回は課題2と同様に光センサーによるトレースを利用しよう...
*プログラムの説明 [#t2109b6f]
今回は四人一組の共同作業により行ったため、各自で担当する...
**二台のRISの連携について [#c02f346b]
今回、私たちのチームは、RISのコンピュータを二つ使い、RIS_...
SendMessage(SIGNALON);
RIS_1はプラ容器の前まで行ったら、上記プログラムを送信して...
Off(OUT_AC);
until(Message() == SIGNALON);
これはRIS_1からのプログラムをRIS_2が受け取るまで、停止し...
SendMessage(SIGNALOFF);
次にRIS_2はRIS_1へと上記のプログラムを送信する。
Off(OUT_AC);
until(Message() == SIGNALOFF);
上記のプログラムによりRIS_1は2のプログラムを受信するまで...
OnFwd(OUT_AC);
until(Message() == SIGNALOFF);
これは説明にあったように、RIS_1がSIGNALLOFFを受信するまで...
**RIS_1のサブルーチンについて [#jfa6f0c6]
課題2同様に、一定のプログラムをサブルーチンにして利用す...
***直進 [#l14d3a57]
sub go_f()
{
go;Wait(move_t);Off(OUT_AC);
}
直進のプログラムである。以下同様に上下左右に動く基本動作...
***後退 [#y50ff697]
sub go_b()
{
OnRev(OUT_AC);Wait(move_t);Off(OUT_AC);
}
***左折 [#t6797b32]
sub go_l()
{
turn_left;Wait(move_t);Off(OUT_AC);
}
***右折 [#qea6365e]
sub go_r()
{
turn_right;Wait(move_t);Off(OUT_AC);
}
**RIS_1のプログラムの本体 [#o6dbdcd4]
task main()
{
move_t=500; //A'から直進
go_f();
SendMessage(SIGNALON); //シグナルの送信
ClearMessage();
OnFwd(OUT_AC);
until(Message() == SIGNALOFF); //この間にボールの吸い...
move_t=250; //右折を行う
go_r();
move_t=1000; //ゴールへ向けて直進
go_f();
SendMessage(SIGNALON); //最後にボール排出を行...
ClearMessage();
OnFwd(OUT_AC);
until(Message() == SIGNALOFF);
move_t=200;
go_b(); //交代を行う
}
**RIS_2のサブルーチンについて [#jbf303a5]
***球の吸い上げ [#vcfc7899]
sub ball_c()
{
Off(OUT_AC); //前述した、シグナルを受け取るまで停止さ...
until(Message() == SIGNALON); //
OnFwd(OUT_A); //アームを下げる
Wait(100);
Off(OUT_A);
OnFwd(OUT_C); //キャタピラをつかったベルトコンベアで球...
Wait(100);
OnRev(OUT_A); //アームを上げる
Wait(100);
Off(OUT_A); //アームの停止
}
***球の排出 [#scef63e1]
sub ball_l()
{
Off(OUT_AC); //前述のようにシグナル...
until(Message() == SIGNALON);
OnRev(OUT_C); //球の吸い込みと逆の動作...
Wait(10000);
Off(OUT_C);
SendMessage(SIGNALOFF); //シグナルの送信
}
**RIS_2のプログラム本体 [#e3b77e79]
task main()
{
ClearMessage();
t=200;
ball_c(); //球の吸い上げ
SendMessage(SIGNALOFF); //シグナルの送信
ClearMessage();
ball_l(); //球の排出
}
*感想と反省 [#bfd4827e]
今回の課題3に取り組み、一番の反省点は機体製作に時間をか...
また今回のゼミを受けてみて、プログラムすることの難しさを...
また短い期間ではあったが、今回の授業で毎回協力してくれた...
ページ名: