2017a/Member/fukupon/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017a/Member]]
#contents
*課題について [#i9a3515a]
**空き缶の配置 [#ydf1cb15]
#ref(./2017a-mission3.png,15.3KB ,image/jpeg)
上の図のようなフィールドに置いてある空き缶を収集し、ゴー...
〇フィールドは課題2で使用した紙を使用する。
〇図のピンク色の場所に350mlの空き缶を置く。
〇図のライトブルーの円のいずれか一箇所に中身の入った350...
〇中身の入った缶には紙をはったり図などを描いてもよい。
**基本ルール [#i22bfdde]
〇競技時間は審判が続行不能と判断するまで、あるいはリタ...
〇図のA地点または(および)PQRSで囲まれた中央部の円から...
〇空き缶を集めて図のT地点を含む「ゴール」と書かれた3/4...
〇なるべく高く空き缶を積み上げる
〇運び終わった後、あるいは積み上げた後はロボットはゴー...
〇開始の合図から5秒以内にスタートボタンを押す作業を完...
〇競技が終了するまで、ロボットに触ったり人間が遠隔で操...
〇ロボットスタート後、速やかに1〜3の数字が記されたくじ...
〇途中でうまく動かなくなった場合、1回限り再スタートす...
**基本得点の計算方法 (片道) [#u59814b1]
〇n段目の空き缶の点数を3n点とし、すべての空き缶の点数を...
◦中身の入った缶については、その缶自身を含め、その...
◦例:中身の入った缶の上に3本の空き缶を積んだ場合...
◦例:空き缶を3段と4段に分けて積み、中身の入った缶...
**技術点の計算方法 [#b4eb4bab]
以下の動作の精度・スピード・確実性などを含めた技術的な工...
得点の目安:
◦空き缶を取りにいくまでの動作 (3点)
◦空き缶を掴む動作 (3点)
◦空き缶をを運ぶ動作(2点)
◦空き缶を積み上げる動作(5点)
◦2台のRCXまたはNXT、EV3の連携の良さ(3点)
◦自立型のロボットとしての形や動作の美しさ、斬新...
◦その他 (2点)
*ロボットについて [#fed020d0]
**全体図 [#vd0e7990]
#ref(./2017_08_07_3.jpg,50.8KB ,image/jpeg)
過去の作品を参考にして、RIS2台を向かい合わせにして交信を...
その結果、前方に機能が固まってしまいバランスが取れなかっ...
本番で他の班の発表を見て、RIS本体を立てて繋ぐようにすれば...
**前方部分 [#ff90f8d2]
#ref(./2017_08_07_5.jpg,52.5KB ,image/jpeg)
イメージとしては、写真の赤い線で囲われたアームで空き缶2つ...
と言葉で説明するのは簡単だが、実際には一回しか成功したこ...
***アームの部分 [#w06b73ad]
#ref(./2017_08_07_9.jpg,45.8KB ,image/jpeg)
本来なら、RIS本体の電源を入れれば写真中央のギアが回りづら...
これ自体はあまり障害にならないだろうと思っていたが、スタ...
何度も改善を試みたが、アームがもろくなってしまうことだけ...
***缶を持ち上げる部分 [#gbd22640]
&ref(2017a/Member/fukupon/Mission3/2017_08_07_12.jpg,42.8...
&ref(2017a/Member/fukupon/Mission3/2017_08_07_8.jpg,41.6K...
失敗の原因はほぼここにある。
缶が持ち上がる途中まではいいのだが、写真の赤い線で囲われ...
これの改善策として、缶が傾いたところで一度タイヤを止めア...
はずなのだが、なぜかなかなか成功せず、本番は運任せとなっ...
**後輪 [#i12635eb]
#ref(./2017_08_07_11.jpg,27.0KB ,image/jpeg)
この部分は他の班員が作ったところで、長い本体で右折などを...
*プログラムについて [#aca6acd4]
自分は主にロボット本体の作業をしたので、詳しい説明は他の...
大まかな流れとしては、
?E→F→カーブの順で3つ
?スタート地点に戻る
?G→カーブの順で2つ
?スタート地点に戻る
?H→Tの順で2つ
??で余った空き缶と中身の入った缶を重ねる
という大それたものだったが、結局?までしかできなかった。
発信者がタイヤとつながっている前のRISで、受信者が後ろのRI...
**発信者 [#nf25b671]
***定義 [#d893d9ff]
#define SIGNALON 11
#define SIGNALOFF 12
#define SIGNALUP 21
#define SIGNALDOWN 22
#define SIGNALOPEN 31
#define SIGNALCLOSE 32
***プログラム [#o92e3bd9]
?〜?
task main()
{
OnFwd(OUT_AC);
Wait(321);
Off(OUT_AC);
SendMessage(SIGNALUP);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(30);
SendMessage(SIGNALDOWN);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
OnFwd(OUT_AC);
Wait(150);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(5);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(90);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
SendMessage(SIGNALUP);
Wait(60);
SendMessage(SIGNALDOWN);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(180);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(900);
Off(OUT_AC);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(600);
Off(OUT_AC);
?〜?
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(800);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(200);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
?
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(800);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
?
OnFwd(OUT_AC);
Wait(900);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(380);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
}
**受信者 [#gda064f9]
***定義 [#v6e4d5b5]
#define SIGNALON 11
#define SIGNALOFF 12
#define SIGNALUP 21
#define SIGNALDOWN 22
#define SIGNALOPEN 31
#define SIGNALCLOSE 32
***プログラム [#g654bf37]
task main()
{
ClearMessage();
while(true){
until (Message()==SIGNALON);
OnRev(OUT_C);
OnFwd(OUT_A);
until(Message()==SIGNALOFF);
Off(OUT_AC);
until (Message()==SIGNALUP);
OnRev(OUT_C);
until(Message()==SIGNALDOWN);
Off(OUT_C);
until (Message()==SIGNALOPEN);
OnFwd(OUT_C);
until(Message()==SIGNALCLOSE);
Off(OUT_C);
}
}
*結果と反省 [#ice55114]
やはり2段に重ねることはできなかったが、順位は6位と失敗し...
今回は期末テストがあったり、講義がなかったりと、班員全員...
とはいっても、結果は理想とはだいぶかけ離れたものだった。(...
終了行:
[[2017a/Member]]
#contents
*課題について [#i9a3515a]
**空き缶の配置 [#ydf1cb15]
#ref(./2017a-mission3.png,15.3KB ,image/jpeg)
上の図のようなフィールドに置いてある空き缶を収集し、ゴー...
〇フィールドは課題2で使用した紙を使用する。
〇図のピンク色の場所に350mlの空き缶を置く。
〇図のライトブルーの円のいずれか一箇所に中身の入った350...
〇中身の入った缶には紙をはったり図などを描いてもよい。
**基本ルール [#i22bfdde]
〇競技時間は審判が続行不能と判断するまで、あるいはリタ...
〇図のA地点または(および)PQRSで囲まれた中央部の円から...
〇空き缶を集めて図のT地点を含む「ゴール」と書かれた3/4...
〇なるべく高く空き缶を積み上げる
〇運び終わった後、あるいは積み上げた後はロボットはゴー...
〇開始の合図から5秒以内にスタートボタンを押す作業を完...
〇競技が終了するまで、ロボットに触ったり人間が遠隔で操...
〇ロボットスタート後、速やかに1〜3の数字が記されたくじ...
〇途中でうまく動かなくなった場合、1回限り再スタートす...
**基本得点の計算方法 (片道) [#u59814b1]
〇n段目の空き缶の点数を3n点とし、すべての空き缶の点数を...
◦中身の入った缶については、その缶自身を含め、その...
◦例:中身の入った缶の上に3本の空き缶を積んだ場合...
◦例:空き缶を3段と4段に分けて積み、中身の入った缶...
**技術点の計算方法 [#b4eb4bab]
以下の動作の精度・スピード・確実性などを含めた技術的な工...
得点の目安:
◦空き缶を取りにいくまでの動作 (3点)
◦空き缶を掴む動作 (3点)
◦空き缶をを運ぶ動作(2点)
◦空き缶を積み上げる動作(5点)
◦2台のRCXまたはNXT、EV3の連携の良さ(3点)
◦自立型のロボットとしての形や動作の美しさ、斬新...
◦その他 (2点)
*ロボットについて [#fed020d0]
**全体図 [#vd0e7990]
#ref(./2017_08_07_3.jpg,50.8KB ,image/jpeg)
過去の作品を参考にして、RIS2台を向かい合わせにして交信を...
その結果、前方に機能が固まってしまいバランスが取れなかっ...
本番で他の班の発表を見て、RIS本体を立てて繋ぐようにすれば...
**前方部分 [#ff90f8d2]
#ref(./2017_08_07_5.jpg,52.5KB ,image/jpeg)
イメージとしては、写真の赤い線で囲われたアームで空き缶2つ...
と言葉で説明するのは簡単だが、実際には一回しか成功したこ...
***アームの部分 [#w06b73ad]
#ref(./2017_08_07_9.jpg,45.8KB ,image/jpeg)
本来なら、RIS本体の電源を入れれば写真中央のギアが回りづら...
これ自体はあまり障害にならないだろうと思っていたが、スタ...
何度も改善を試みたが、アームがもろくなってしまうことだけ...
***缶を持ち上げる部分 [#gbd22640]
&ref(2017a/Member/fukupon/Mission3/2017_08_07_12.jpg,42.8...
&ref(2017a/Member/fukupon/Mission3/2017_08_07_8.jpg,41.6K...
失敗の原因はほぼここにある。
缶が持ち上がる途中まではいいのだが、写真の赤い線で囲われ...
これの改善策として、缶が傾いたところで一度タイヤを止めア...
はずなのだが、なぜかなかなか成功せず、本番は運任せとなっ...
**後輪 [#i12635eb]
#ref(./2017_08_07_11.jpg,27.0KB ,image/jpeg)
この部分は他の班員が作ったところで、長い本体で右折などを...
*プログラムについて [#aca6acd4]
自分は主にロボット本体の作業をしたので、詳しい説明は他の...
大まかな流れとしては、
?E→F→カーブの順で3つ
?スタート地点に戻る
?G→カーブの順で2つ
?スタート地点に戻る
?H→Tの順で2つ
??で余った空き缶と中身の入った缶を重ねる
という大それたものだったが、結局?までしかできなかった。
発信者がタイヤとつながっている前のRISで、受信者が後ろのRI...
**発信者 [#nf25b671]
***定義 [#d893d9ff]
#define SIGNALON 11
#define SIGNALOFF 12
#define SIGNALUP 21
#define SIGNALDOWN 22
#define SIGNALOPEN 31
#define SIGNALCLOSE 32
***プログラム [#o92e3bd9]
?〜?
task main()
{
OnFwd(OUT_AC);
Wait(321);
Off(OUT_AC);
SendMessage(SIGNALUP);
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(30);
SendMessage(SIGNALDOWN);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
OnFwd(OUT_AC);
Wait(150);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(5);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(90);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
SendMessage(SIGNALUP);
Wait(60);
SendMessage(SIGNALDOWN);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(180);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(900);
Off(OUT_AC);
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(600);
Off(OUT_AC);
?〜?
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(800);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(200);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
?
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnRev(OUT_AC);
Wait(800);
Off(OUT_AC);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(98);
Off(OUT_AC);
OnFwd(OUT_AC);
Wait(50);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
?
OnFwd(OUT_AC);
Wait(900);
Off(OUT_AC);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(98);
Off(OUT_AC);
SendMessage(SIGNALON);
Wait(500);
SendMessage(SIGNALOFF);
SendMessage(SIGNALOPEN);
Wait(10);
SendMessage(SIGNALCLOSE);
SendMessage(SIGNALON);
Wait(50);
SendMessage(SIGNALOFF);
OnFwd(OUT_AC);
Wait(380);
Off(OUT_AC);
SendMessage(SIGNALOPEN);
Wait(100);
SendMessage(SIGNALCLOSE);
OnRev(OUT_AC);
Wait(200);
Off(OUT_AC);
}
**受信者 [#gda064f9]
***定義 [#v6e4d5b5]
#define SIGNALON 11
#define SIGNALOFF 12
#define SIGNALUP 21
#define SIGNALDOWN 22
#define SIGNALOPEN 31
#define SIGNALCLOSE 32
***プログラム [#g654bf37]
task main()
{
ClearMessage();
while(true){
until (Message()==SIGNALON);
OnRev(OUT_C);
OnFwd(OUT_A);
until(Message()==SIGNALOFF);
Off(OUT_AC);
until (Message()==SIGNALUP);
OnRev(OUT_C);
until(Message()==SIGNALDOWN);
Off(OUT_C);
until (Message()==SIGNALOPEN);
OnFwd(OUT_C);
until(Message()==SIGNALCLOSE);
Off(OUT_C);
}
}
*結果と反省 [#ice55114]
やはり2段に重ねることはできなかったが、順位は6位と失敗し...
今回は期末テストがあったり、講義がなかったりと、班員全員...
とはいっても、結果は理想とはだいぶかけ離れたものだった。(...
ページ名: