2016a/Member/tatsuya/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2016a/Member]]
#contents
*はじめに [#i20cfcd5]
**課題の説明 [#ee601fc1]
***課題:紙コップを運ぶロボット~ [#f14151ac]
[[課題2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2F...
***ルール [#k23ce22c]
-基本ルール~
◦紙コップをC地点、D地点にそれぞれ3個(合計6個)置き、...
◦紙コップは上下どちらにおいてもかまわない~
◦2台のロボットの場合はA地点とB地点からスタート、一...
◦最終的に黒線で囲まれた輪の中にC地点からの紙コップ...
◦紙コップを重ねる場所は、必ずしも目的地点の輪の中で...
◦最終的に紙コップが自力で立っていること、またロボッ...
◦競技時間はすべてのコップを重ね終わるまで、あるいは...
◦審判の合図の後、5秒以内にロボットをスタートさせ、...
◦EV3のチームはA,B,Cにそれぞれマークした紙コップをそ...
◦EV3のチームはA,B,C,Dのどこからスタートしてもよいが...
◦紙コップに色を塗ったり文字や絵をかいてもよいが、穴...
◦光センサは2セット合わせて2つまで使って良い、その他...
#br
-基本得点の計算方法~
◦1段目の紙コップ3点、2段目の紙コップ6点、・・、n段...
◦奇数段目にあるDのコップと偶数段目にあるCのコップは...
◦EV3は1段目のAのカップ2点、2段目のBのカップ4点、3段...
#br
-技術点の計算方法~
以下の動作の精度・スピード・確実性などを含めた技術的な工...
◦スタートしてから紙コップの地点まで移動する速さ、正...
◦紙コップをつかむ動作 (3点)~
◦紙コップをゴールまで運ぶ動作の速さ、正確さ (2点)~
◦紙コップを重ねる動作 (3点)~
◦2台のロボットの連携の良さ (3点)~
◦自立型のロボットとしての形や動作の美しさ、斬新さ (...
◦ロボコン出場ロボットとしての完成度 (2点)~
◦その他 (2点)~
RIGHT:([[2016年度前期 課題3:http://yakushi.shinshu-u.ac...
*ロボットの説明 [#m356b69c]
これが今回使ったロボットの機体である。~
&ref(1470979350384.png);~
2台のロボットを1台にまとめ、Bluetoothを使って通信している...
センサは光センサと超音波センサを搭載した。~
超音波センサが光センサを認識しないように気を付けた。~
#br
このロボットの一番工夫した点はアームの機構である。~
以下の画像のように、タイヤを2個使ってモーターで紙コップを...
&ref(1470979353990.png);
&ref(1470979357186.png);~
ロボットの位置さえ気を付ければ6個全ての紙コップを巻き上げ...
#br
&ref(1470979355524.png);~
もう1つのモーターで掴む部分を回転させ、アームの上下を可能...
*プログラムの説明 [#rba5f8ab]
**構想 [#g0c11928]
最初は、アームが紙コップを全て重ねて運べるので、スタート...
**最終的なプログラム [#x6f56e71]
最終的に紙コップを1個運ぶことを目標とし、ライントレースを...
よって、B地点からC地点に向けて直進し、紙コップを持ちQへ向...
以下が今回使用した最終的なプログラムの全体である。~
***マスター [#e84a6122]
#define SPEED 50 ...
#define go_forward OnFwd(OUT_BC,SPEED); ...
#define CONN 1 ...
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
#define turn_leftC OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED...
#define turn_rightC OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED...
task main()
{
int msg /...
SetSensorLowspeed(S1); /...
go_forward; /...
until(SensorUS(S1) <= 9); /...
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON ); /...
while (true){
ReceiveRemoteNumber(MAILBOX2,true,msg); /...
if (msg == SIGNALOFF ){ /...
turn_leftC;
Wait(1600);
Off(OUT_BC);
go_forward; /...
Wait(1000);
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON2 ); /...
} if (msg == SIGNALOFF2 ){ /...
turn_leftC;
Wait(1000);
Off(OUT_BC);
} else { /...
Off(OUT_BC);
}
}
}
~
マスター側は移動とセンサが中心のプログラムになっている。~
ライントレースはあきらめたので光センサは使用していない。~
超音波センサは今回初めて使用したが、距離がずれるので調整...
~
***スレーブ [#z91a344f]
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define LIFT_up OnRev(OUT_C,35);Wait(520);Off(OUT_BC); ...
#define LIFT_down OnFwd(OUT_C,20);Wait(550);Off(OUT_BC);...
#define CATCH OnFwd(OUT_B,60);Wait(2000);Off(OUT_B); ...
#define RELEASE OnFwd(OUT_B,50);Wait(1500);Off(OUT_B); ...
#define CONN 0 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
void ude() ...
{
LIFT_down;
CATCH;
LIFT_up;
CATCH;
Off(OUT_B);
}
task main ()
{
int msg;
while (true) {
ReceiveRemoteNumber(MAILBOX1,true,msg); //m...
if (msg == SIGNALON) { //...
ude();
SendResponseNumber(MAILBOX2,SIGNALOFF); //...
} if (msg == SIGNALON2) { //...
RELEASE;
SendResponseNumber(MAILBOX2,SIGNALOFF2); //...
} else { //...
Off(OUT_BC);
}
}
}
~
スレーブはアーム専用だがプログラムは割と早い段階でできて...
~
*結果 [#h6f0fcc6]
紙コップは1個も運べなかった。~
基本点は0点、技術点は2点で合計2点だった。~
*反省・感想 [#s443f617]
**反省 [#g4294ae6]
機体が重くなってしまい、また幅がかなり広くなってしまって...
**感想 [#k02916f7]
人数が多い上テスト前ということもあり、なかなか時間を作る...
終了行:
[[2016a/Member]]
#contents
*はじめに [#i20cfcd5]
**課題の説明 [#ee601fc1]
***課題:紙コップを運ぶロボット~ [#f14151ac]
[[課題2:http://yakushi.shinshu-u.ac.jp/robotics/?2016a%2F...
***ルール [#k23ce22c]
-基本ルール~
◦紙コップをC地点、D地点にそれぞれ3個(合計6個)置き、...
◦紙コップは上下どちらにおいてもかまわない~
◦2台のロボットの場合はA地点とB地点からスタート、一...
◦最終的に黒線で囲まれた輪の中にC地点からの紙コップ...
◦紙コップを重ねる場所は、必ずしも目的地点の輪の中で...
◦最終的に紙コップが自力で立っていること、またロボッ...
◦競技時間はすべてのコップを重ね終わるまで、あるいは...
◦審判の合図の後、5秒以内にロボットをスタートさせ、...
◦EV3のチームはA,B,Cにそれぞれマークした紙コップをそ...
◦EV3のチームはA,B,C,Dのどこからスタートしてもよいが...
◦紙コップに色を塗ったり文字や絵をかいてもよいが、穴...
◦光センサは2セット合わせて2つまで使って良い、その他...
#br
-基本得点の計算方法~
◦1段目の紙コップ3点、2段目の紙コップ6点、・・、n段...
◦奇数段目にあるDのコップと偶数段目にあるCのコップは...
◦EV3は1段目のAのカップ2点、2段目のBのカップ4点、3段...
#br
-技術点の計算方法~
以下の動作の精度・スピード・確実性などを含めた技術的な工...
◦スタートしてから紙コップの地点まで移動する速さ、正...
◦紙コップをつかむ動作 (3点)~
◦紙コップをゴールまで運ぶ動作の速さ、正確さ (2点)~
◦紙コップを重ねる動作 (3点)~
◦2台のロボットの連携の良さ (3点)~
◦自立型のロボットとしての形や動作の美しさ、斬新さ (...
◦ロボコン出場ロボットとしての完成度 (2点)~
◦その他 (2点)~
RIGHT:([[2016年度前期 課題3:http://yakushi.shinshu-u.ac...
*ロボットの説明 [#m356b69c]
これが今回使ったロボットの機体である。~
&ref(1470979350384.png);~
2台のロボットを1台にまとめ、Bluetoothを使って通信している...
センサは光センサと超音波センサを搭載した。~
超音波センサが光センサを認識しないように気を付けた。~
#br
このロボットの一番工夫した点はアームの機構である。~
以下の画像のように、タイヤを2個使ってモーターで紙コップを...
&ref(1470979353990.png);
&ref(1470979357186.png);~
ロボットの位置さえ気を付ければ6個全ての紙コップを巻き上げ...
#br
&ref(1470979355524.png);~
もう1つのモーターで掴む部分を回転させ、アームの上下を可能...
*プログラムの説明 [#rba5f8ab]
**構想 [#g0c11928]
最初は、アームが紙コップを全て重ねて運べるので、スタート...
**最終的なプログラム [#x6f56e71]
最終的に紙コップを1個運ぶことを目標とし、ライントレースを...
よって、B地点からC地点に向けて直進し、紙コップを持ちQへ向...
以下が今回使用した最終的なプログラムの全体である。~
***マスター [#e84a6122]
#define SPEED 50 ...
#define go_forward OnFwd(OUT_BC,SPEED); ...
#define CONN 1 ...
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
#define turn_leftC OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED...
#define turn_rightC OnFwd(OUT_C,SPEED);OnRev(OUT_B,SPEED...
task main()
{
int msg /...
SetSensorLowspeed(S1); /...
go_forward; /...
until(SensorUS(S1) <= 9); /...
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON ); /...
while (true){
ReceiveRemoteNumber(MAILBOX2,true,msg); /...
if (msg == SIGNALOFF ){ /...
turn_leftC;
Wait(1600);
Off(OUT_BC);
go_forward; /...
Wait(1000);
Off(OUT_BC);
SendRemoteNumber(CONN,MAILBOX1,SIGNALON2 ); /...
} if (msg == SIGNALOFF2 ){ /...
turn_leftC;
Wait(1000);
Off(OUT_BC);
} else { /...
Off(OUT_BC);
}
}
}
~
マスター側は移動とセンサが中心のプログラムになっている。~
ライントレースはあきらめたので光センサは使用していない。~
超音波センサは今回初めて使用したが、距離がずれるので調整...
~
***スレーブ [#z91a344f]
#define SIGNALON 21 ...
#define SIGNALOFF 22 ...
#define LIFT_up OnRev(OUT_C,35);Wait(520);Off(OUT_BC); ...
#define LIFT_down OnFwd(OUT_C,20);Wait(550);Off(OUT_BC);...
#define CATCH OnFwd(OUT_B,60);Wait(2000);Off(OUT_B); ...
#define RELEASE OnFwd(OUT_B,50);Wait(1500);Off(OUT_B); ...
#define CONN 0 ...
#define SIGNALON2 31
#define SIGNALOFF2 32
void ude() ...
{
LIFT_down;
CATCH;
LIFT_up;
CATCH;
Off(OUT_B);
}
task main ()
{
int msg;
while (true) {
ReceiveRemoteNumber(MAILBOX1,true,msg); //m...
if (msg == SIGNALON) { //...
ude();
SendResponseNumber(MAILBOX2,SIGNALOFF); //...
} if (msg == SIGNALON2) { //...
RELEASE;
SendResponseNumber(MAILBOX2,SIGNALOFF2); //...
} else { //...
Off(OUT_BC);
}
}
}
~
スレーブはアーム専用だがプログラムは割と早い段階でできて...
~
*結果 [#h6f0fcc6]
紙コップは1個も運べなかった。~
基本点は0点、技術点は2点で合計2点だった。~
*反省・感想 [#s443f617]
**反省 [#g4294ae6]
機体が重くなってしまい、また幅がかなり広くなってしまって...
**感想 [#k02916f7]
人数が多い上テスト前ということもあり、なかなか時間を作る...
ページ名: