2017a/Member/Taiki/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
目次
#contents
* 課題3 [#ec4d39c2]
&ref(./2017a-mission3.png,50%,コース);
課題2のコースのある地点に空き缶を置きロボットで缶を集め...
詳しくは[[課題3>2017a/Mission3]]参照
* ロボットの説明 [#e851ce11]
** 移動部 [#ia6109ed]
&ref(./a_005.jpeg,50%,移動部横図);
&ref(./名称未設定.png,50%,球状パーツ);
移動部は説明書に載っている基本のベースを二輪にして、後方...
** アーム [#q5c3c25e]
&ref(./a_004.jpeg,50%,アーム部前方);
&ref(./a_012.jpeg,50%,全体像);
缶を持ち上げる機構は、走る勢いで缶をタイヤに挟み込んで、...
&ref(./a_003.jpeg,50%,アーム拡大図);
&ref(./a_013.jpeg,50%,回転センサ);
持ち上げるタイヤは、輪ゴムによって大小二つが同時に動くよ...
&ref(./a_008.jpeg,50%,押し出し機構);
最終的に缶を置くときに、タイヤに挟んだままでは缶だけ残せ...
&ref(./a_007.jpeg,50%,触角);
本体前方に巨大な触角のようなパーツを取り付けて、進路上の...
* プログラム [#e2eefa3e]
プログラムは、移動用、アーム用共に、動きをサブルーチンと...
** 移動用 [#c129454c]
移動は、ライントレースはせずに、少なくとも2つの缶を確実に...
*** 定数 [#ef9fd740]
#define SIGNAL_ARM 1 //アームを動かすために送信する信号
#define SIGNAL_GO 2 //アームから受信する動くタイミングを...
*** マクロ [#j8be2920]
#define senkai_l Wait(50);OnFwd(OUT_C);OnRev(OUT_B);Wait...
#define go_forward OnFwd(OUT_BC); //直進
#define go_back OnRev(OUT_BC);Wait(100);Off(OUT_BC); //...
*** サブルーチン [#b624bbcc]
sub can_catch() //缶の目の前まで進む
{go_forward;
SendMessage(SIGNAL_ARM);
until(Message() == SIGNAL_GO);
Off(OUT_BC);}
sub tyokushin() //缶を持ち上げてから、右に90°旋回して直...
{go_forward;
Wait(370);
Off(OUT_BC);
SendMessage(SIGNAL_ARM);}
sub can_release() //缶をおろして押し出したあと、後退する
{until(Message() == SIGNAL_GO);
go_back; }
*** メインタスク [#a6cdd65f]
task main()
{ SetSensor(SENSOR_3, SENSOR_ROTATION);
ClearMessage();
can_catch();
ClearMessage();
can_release();
}
** アーム用 [#b484801d]
*** 定数 [#ef9fd740]
#define SIGNAL_ARM 1
#define SIGNAL_GO 2
*** マクロ [#ce79003b]
#define can_up OnFwd(OUT_A); //缶...
#define can_down OnRev(OUT_A);Wait(50);Off(OUT_A); //缶...
#define can_push OnFwd(OUT_C);Wait(50);Off(OUT_C); //缶...
*** サブルーチン [#d4645965]
sub can_catch() //回転センサーが反応するまで缶を持ち上...
{until(Message() == SIGNAL_ARM);
can_up;
until(SENSOR_3 < -3);
Off(OUT_A);
SendMessage(SIGNAL_GO);}
sub can_release() //缶を下げて押し出す
{until(Message() == SIGNAL_ARM);
can_down;
Wait(50);
can_push;
SendMessage(SIGNAL_GO);}
*** メインタスク [#u2d4ebf0]
task main()
{
ClearMessage();
can_catch();
senkai_l;
ClearMessage();
tyokushin();
can_release();
}
* まとめ [#o3b368ba]
** ロボコン結果 [#q3552f8e]
私たち、R7,R8のチームは、缶を一段積み、さらにもう一つ缶を...
全体では、技術点を合計して4位となった。
** 感想 [#a08148a1]
今回の課題では、二組のキットを使って一つのロボットを作っ...
今回作ったプログラムは、決められたレール上にある缶を狙っ...
しかし、光センサーをもっと駆使して、ライントレースをした...
この授業の3つの課題を通して学んだ、目的に応じたロボットを...
終了行:
目次
#contents
* 課題3 [#ec4d39c2]
&ref(./2017a-mission3.png,50%,コース);
課題2のコースのある地点に空き缶を置きロボットで缶を集め...
詳しくは[[課題3>2017a/Mission3]]参照
* ロボットの説明 [#e851ce11]
** 移動部 [#ia6109ed]
&ref(./a_005.jpeg,50%,移動部横図);
&ref(./名称未設定.png,50%,球状パーツ);
移動部は説明書に載っている基本のベースを二輪にして、後方...
** アーム [#q5c3c25e]
&ref(./a_004.jpeg,50%,アーム部前方);
&ref(./a_012.jpeg,50%,全体像);
缶を持ち上げる機構は、走る勢いで缶をタイヤに挟み込んで、...
&ref(./a_003.jpeg,50%,アーム拡大図);
&ref(./a_013.jpeg,50%,回転センサ);
持ち上げるタイヤは、輪ゴムによって大小二つが同時に動くよ...
&ref(./a_008.jpeg,50%,押し出し機構);
最終的に缶を置くときに、タイヤに挟んだままでは缶だけ残せ...
&ref(./a_007.jpeg,50%,触角);
本体前方に巨大な触角のようなパーツを取り付けて、進路上の...
* プログラム [#e2eefa3e]
プログラムは、移動用、アーム用共に、動きをサブルーチンと...
** 移動用 [#c129454c]
移動は、ライントレースはせずに、少なくとも2つの缶を確実に...
*** 定数 [#ef9fd740]
#define SIGNAL_ARM 1 //アームを動かすために送信する信号
#define SIGNAL_GO 2 //アームから受信する動くタイミングを...
*** マクロ [#j8be2920]
#define senkai_l Wait(50);OnFwd(OUT_C);OnRev(OUT_B);Wait...
#define go_forward OnFwd(OUT_BC); //直進
#define go_back OnRev(OUT_BC);Wait(100);Off(OUT_BC); //...
*** サブルーチン [#b624bbcc]
sub can_catch() //缶の目の前まで進む
{go_forward;
SendMessage(SIGNAL_ARM);
until(Message() == SIGNAL_GO);
Off(OUT_BC);}
sub tyokushin() //缶を持ち上げてから、右に90°旋回して直...
{go_forward;
Wait(370);
Off(OUT_BC);
SendMessage(SIGNAL_ARM);}
sub can_release() //缶をおろして押し出したあと、後退する
{until(Message() == SIGNAL_GO);
go_back; }
*** メインタスク [#a6cdd65f]
task main()
{ SetSensor(SENSOR_3, SENSOR_ROTATION);
ClearMessage();
can_catch();
ClearMessage();
can_release();
}
** アーム用 [#b484801d]
*** 定数 [#ef9fd740]
#define SIGNAL_ARM 1
#define SIGNAL_GO 2
*** マクロ [#ce79003b]
#define can_up OnFwd(OUT_A); //缶...
#define can_down OnRev(OUT_A);Wait(50);Off(OUT_A); //缶...
#define can_push OnFwd(OUT_C);Wait(50);Off(OUT_C); //缶...
*** サブルーチン [#d4645965]
sub can_catch() //回転センサーが反応するまで缶を持ち上...
{until(Message() == SIGNAL_ARM);
can_up;
until(SENSOR_3 < -3);
Off(OUT_A);
SendMessage(SIGNAL_GO);}
sub can_release() //缶を下げて押し出す
{until(Message() == SIGNAL_ARM);
can_down;
Wait(50);
can_push;
SendMessage(SIGNAL_GO);}
*** メインタスク [#u2d4ebf0]
task main()
{
ClearMessage();
can_catch();
senkai_l;
ClearMessage();
tyokushin();
can_release();
}
* まとめ [#o3b368ba]
** ロボコン結果 [#q3552f8e]
私たち、R7,R8のチームは、缶を一段積み、さらにもう一つ缶を...
全体では、技術点を合計して4位となった。
** 感想 [#a08148a1]
今回の課題では、二組のキットを使って一つのロボットを作っ...
今回作ったプログラムは、決められたレール上にある缶を狙っ...
しかし、光センサーをもっと駆使して、ライントレースをした...
この授業の3つの課題を通して学んだ、目的に応じたロボットを...
ページ名: