2019a/Member/tomo/Mission2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
*課題2 [#t5c94abe]
以下のようなコースを作成し、ミッションを遂行するためにロ...
**コース [#b72b8602]
#ref(./ロボティクス コース.png,70%,コース)
**ミッション [#h614ba04]
A地点を出発し、次のいずれかの経路を黒い線にそって動くロボ...
私の選んだコースは以下のコースである。
A地点から出発 → B → C(直進) → D(一時停止の後、直進) → E →...
*機体の説明 [#hbb73fd6]
#ref(./左側面.jpeg,70%,機体説明)
今回製作したロボットは以上のものである。モーターは、車輪...
**機体の特徴 [#k569ad43]
このロボットの一番の特徴といってもいいのが、最小化された...
#ref(./機体裏.jpeg,70%,機体裏)
これは写真のようにモーターを縦に組み合わせ、車輪も一回り...
**車輪の機構 [#ce022749]
#ref(./右側面(アーム下げた状態).jpeg,70%,機体説明)
写真のように、今回使用した機体はそれぞれ車輪へとモーター...
***一輪構造について [#ec4d1c0a]
車輪の特徴として二輪であることを説明したい。本来は四輪の...
***課題と解決策 [#qdc04c15]
課題は機体の傾きと重心の取り方であった。二輪であるために...
**プロトタイプロボットの紹介 [#l352da9b]
実際にミッションを達成できたロボットは上記で紹介したもの...
#ref(./プロトタイプロボット.jpeg,70%,プロトタイプ)
このロボットはモーターを横に2つ連結したものであった。見...
**球をつかむ機構 [#nab34be7]
RISのキット付属のワームを2重にして球をつかむ機構を製作し...
*トレースについて [#sa5db4d2]
**説明 [#u3a95a00]
今回の機体は光センサーを利用したトレースロボットであった...
私たちは閾値を35として、35以下の時を黒、35以上の時を白と...
**反省点 [#ed4f6547]
今回の反省は一重にトレースを閾値一つで行ってしまったこと...
・白黒交互にトレースを行うため、進行がスムーズではなくと...
・交差点の認識の際に(特にK点やG点において)認識せずにト...
例えば、白、白に近い灰色、黒に近い灰色、黒と4つの範囲を設...
・直進するプログラムを行うことでトレースをスムーズ行う。
・白と黒の境界を設けることで交差点とカーブの認識をわかり...
(交差点に入るといきなり暗くなるが、カーブに入ると少し暗...
プログラムを書く当初はトレースに関してはあまり重要でない...
*プログラムの説明 [#l67f0f99]
今回のプログラムにおいて、A出力は左輪のモーター、B出力は...
**define [#e222cc8d]
今回のプログラムで使用される定義したプログラムを紹介した...
#define Boundary 35
ライントレースの際に利用した閾値である。
#define Go_Straight OnFwd(OUT_AB);
直進する際のプログラムである。
#define Left_K Off(OUT_A);OnFwd(OUT_B);
#define Right_K OnFwd(OUT_A);Off(OUT_B);
左回転及び右回転するときのプログラムである。ライントレー...
#define armUp OnRev(OUT_C);Wait(30);
#define armDown OnFwd(OUT_C);Wait(30);
球をつかむアームの上げ下げに関するプログラムである。
#define turn OnFwd(OUT_A);OnFwd(OUT_C);Wait(170);
180°旋回する際に使用したプログラムである。今回のミッショ...
#define freez Off(OUT_AB);Wait(100);
車輪動作の電源のオフと、それに伴い静止時間を設けたプログ...
**サブルーチンの紹介 [#qb5ac259]
***sub follow_line1() [#l569ea1f]
{ ClearTimer(0);
FastTimer(0); //ClearTimerとともにタイマー...
SetSensor(SENSOR_1, SENSOR_LIGHT); //センサーをオ...
while(FastTimer(0)<30) //タイマーの作動時間は0.3...
{ if (SENSOR_1< Boundary) { Right_K }
//もし閾値より低いライン(黒)をトレースしている場合右...
この時タイマーが作動しているため規定時間以上黒をトレ...
else { Left_K; ClearTimer(0) } }
//もし閾値より高いライン(白)をトレースしている場合左...
なおcleartimerによってタイマーはリセットされているた...
カウントは行われていない。
Off(OUT_AB);Wait(100); }
//タイマーが作動してプログラムが実行された場合停止す...
このサブルーチンは交差点停止のためのプログラムで黒い直線...
***sub follow_line2() [#r7873311]
{ ClearTimer(0);
FastTimer(0);
SetSensor(SENSOR_1, SENSOR_LIGHT); //上記同様
while(FastTimer(0)<30){ //タイマーは同じく0.3秒で設定
if (SENSOR_1< Boundary) { Left_K } //先ほどとは異な...
else { Right_K; ClearTimer(0); //白をトレースする際...
}} Off(OUT_AB);Wait(100); //機体停止
}
このサブルーチンはfollow_line1とは反対側のラインをトレー...
同様に交差点を認識するようになっていて、0.3秒黒をトレース...
***sub across_road() [#ub600dce]
{ Go_Straight;Wait(35); //直進
}
このサブルーチンは交差点を認識し、停止した後に主に交差点...
交差点のラインを超えることでまたサブルーチンに復帰して、...
***sub KL_turn() [#r4f214cf]
{ Go_Straight;Wait(100);Off(OUT_AB); //直進
freez; //停止
armDown; //アームを下し球をつかむ
freez; //停止
turn; //180°転回
freez; //停止
}
このサブルーチンはミッションにおいてK地点で交差点を認識し...
**実際のプログラム [#u1ea2da7]
task main ()
{ armUp; //アームを上げる
follow_line2(); //トレースを開始する。
この時トレースはラインの左端で行って...
Right_K;Wait(50);freez;across_road(); //D地点で停止し...
図形DEFGHの内...
follow_line1(); //先ほどとは異なり、トレースラインを右...
トレースを再開する。
follow_line1();follow_line1();follow_line1();
//E地点、F地点において交差点と認識してしまい、
三回停止をしてしまったので微調整としてサブルーチンを繰...
このプログラムによってG地点で機体は停止する。
Right_K;Wait(100); //G地点で停止した後、円GHIJの外...
機体を右に回転させる。
follow_line1(); //回転後、円の外側のトレースを開始す...
Left_K;Wait(70);across_road(); //H地点で停止した後、...
直線DHを横切る。
follow_line1(); //H地点を通過した後再びトレースを再開す...
Left_K;Wait(40);across_road(); //Hを通過した際と同様に...
follow_line1(); //再びトレースを再開する。このトレース...
Left_K;Wait(80);freez; //K地点で停止した後、次のサブル...
KL_turn(); //上記で紹介したサブルーチンである。Lで反転...
follow_line2(); //R=4(半径4)の半円部分まで移動する...
カーブが急であったために、トレースを...
across_road();follow_line1(); //小さい半円においてライ...
反対側のライン端のトレ...
follow_line1(); //一度のトレースでは半円の途中で機体...
もう一度ライントレースを行った。
Left_K;Wait(20);freez; //シュートに向けての角度の調整で...
armUp; //玉を掴んでいたアームをあげる。
Wait(20);Go_Straight;Wait(100); //機体を押し出すことで...
Off(OUT_ABC); //プログラムを終了する。
}
**プログラムの反省点 [#cd7d0cc3]
上記のように今回のプログラムではとにかくfollow_line(交差...
*感想と反省 [#yba4a7bf]
今回のミッションの一番の反省点は、理想のロボットを組み立...
終了行:
[[2019a/Member]]
*課題2 [#t5c94abe]
以下のようなコースを作成し、ミッションを遂行するためにロ...
**コース [#b72b8602]
#ref(./ロボティクス コース.png,70%,コース)
**ミッション [#h614ba04]
A地点を出発し、次のいずれかの経路を黒い線にそって動くロボ...
私の選んだコースは以下のコースである。
A地点から出発 → B → C(直進) → D(一時停止の後、直進) → E →...
*機体の説明 [#hbb73fd6]
#ref(./左側面.jpeg,70%,機体説明)
今回製作したロボットは以上のものである。モーターは、車輪...
**機体の特徴 [#k569ad43]
このロボットの一番の特徴といってもいいのが、最小化された...
#ref(./機体裏.jpeg,70%,機体裏)
これは写真のようにモーターを縦に組み合わせ、車輪も一回り...
**車輪の機構 [#ce022749]
#ref(./右側面(アーム下げた状態).jpeg,70%,機体説明)
写真のように、今回使用した機体はそれぞれ車輪へとモーター...
***一輪構造について [#ec4d1c0a]
車輪の特徴として二輪であることを説明したい。本来は四輪の...
***課題と解決策 [#qdc04c15]
課題は機体の傾きと重心の取り方であった。二輪であるために...
**プロトタイプロボットの紹介 [#l352da9b]
実際にミッションを達成できたロボットは上記で紹介したもの...
#ref(./プロトタイプロボット.jpeg,70%,プロトタイプ)
このロボットはモーターを横に2つ連結したものであった。見...
**球をつかむ機構 [#nab34be7]
RISのキット付属のワームを2重にして球をつかむ機構を製作し...
*トレースについて [#sa5db4d2]
**説明 [#u3a95a00]
今回の機体は光センサーを利用したトレースロボットであった...
私たちは閾値を35として、35以下の時を黒、35以上の時を白と...
**反省点 [#ed4f6547]
今回の反省は一重にトレースを閾値一つで行ってしまったこと...
・白黒交互にトレースを行うため、進行がスムーズではなくと...
・交差点の認識の際に(特にK点やG点において)認識せずにト...
例えば、白、白に近い灰色、黒に近い灰色、黒と4つの範囲を設...
・直進するプログラムを行うことでトレースをスムーズ行う。
・白と黒の境界を設けることで交差点とカーブの認識をわかり...
(交差点に入るといきなり暗くなるが、カーブに入ると少し暗...
プログラムを書く当初はトレースに関してはあまり重要でない...
*プログラムの説明 [#l67f0f99]
今回のプログラムにおいて、A出力は左輪のモーター、B出力は...
**define [#e222cc8d]
今回のプログラムで使用される定義したプログラムを紹介した...
#define Boundary 35
ライントレースの際に利用した閾値である。
#define Go_Straight OnFwd(OUT_AB);
直進する際のプログラムである。
#define Left_K Off(OUT_A);OnFwd(OUT_B);
#define Right_K OnFwd(OUT_A);Off(OUT_B);
左回転及び右回転するときのプログラムである。ライントレー...
#define armUp OnRev(OUT_C);Wait(30);
#define armDown OnFwd(OUT_C);Wait(30);
球をつかむアームの上げ下げに関するプログラムである。
#define turn OnFwd(OUT_A);OnFwd(OUT_C);Wait(170);
180°旋回する際に使用したプログラムである。今回のミッショ...
#define freez Off(OUT_AB);Wait(100);
車輪動作の電源のオフと、それに伴い静止時間を設けたプログ...
**サブルーチンの紹介 [#qb5ac259]
***sub follow_line1() [#l569ea1f]
{ ClearTimer(0);
FastTimer(0); //ClearTimerとともにタイマー...
SetSensor(SENSOR_1, SENSOR_LIGHT); //センサーをオ...
while(FastTimer(0)<30) //タイマーの作動時間は0.3...
{ if (SENSOR_1< Boundary) { Right_K }
//もし閾値より低いライン(黒)をトレースしている場合右...
この時タイマーが作動しているため規定時間以上黒をトレ...
else { Left_K; ClearTimer(0) } }
//もし閾値より高いライン(白)をトレースしている場合左...
なおcleartimerによってタイマーはリセットされているた...
カウントは行われていない。
Off(OUT_AB);Wait(100); }
//タイマーが作動してプログラムが実行された場合停止す...
このサブルーチンは交差点停止のためのプログラムで黒い直線...
***sub follow_line2() [#r7873311]
{ ClearTimer(0);
FastTimer(0);
SetSensor(SENSOR_1, SENSOR_LIGHT); //上記同様
while(FastTimer(0)<30){ //タイマーは同じく0.3秒で設定
if (SENSOR_1< Boundary) { Left_K } //先ほどとは異な...
else { Right_K; ClearTimer(0); //白をトレースする際...
}} Off(OUT_AB);Wait(100); //機体停止
}
このサブルーチンはfollow_line1とは反対側のラインをトレー...
同様に交差点を認識するようになっていて、0.3秒黒をトレース...
***sub across_road() [#ub600dce]
{ Go_Straight;Wait(35); //直進
}
このサブルーチンは交差点を認識し、停止した後に主に交差点...
交差点のラインを超えることでまたサブルーチンに復帰して、...
***sub KL_turn() [#r4f214cf]
{ Go_Straight;Wait(100);Off(OUT_AB); //直進
freez; //停止
armDown; //アームを下し球をつかむ
freez; //停止
turn; //180°転回
freez; //停止
}
このサブルーチンはミッションにおいてK地点で交差点を認識し...
**実際のプログラム [#u1ea2da7]
task main ()
{ armUp; //アームを上げる
follow_line2(); //トレースを開始する。
この時トレースはラインの左端で行って...
Right_K;Wait(50);freez;across_road(); //D地点で停止し...
図形DEFGHの内...
follow_line1(); //先ほどとは異なり、トレースラインを右...
トレースを再開する。
follow_line1();follow_line1();follow_line1();
//E地点、F地点において交差点と認識してしまい、
三回停止をしてしまったので微調整としてサブルーチンを繰...
このプログラムによってG地点で機体は停止する。
Right_K;Wait(100); //G地点で停止した後、円GHIJの外...
機体を右に回転させる。
follow_line1(); //回転後、円の外側のトレースを開始す...
Left_K;Wait(70);across_road(); //H地点で停止した後、...
直線DHを横切る。
follow_line1(); //H地点を通過した後再びトレースを再開す...
Left_K;Wait(40);across_road(); //Hを通過した際と同様に...
follow_line1(); //再びトレースを再開する。このトレース...
Left_K;Wait(80);freez; //K地点で停止した後、次のサブル...
KL_turn(); //上記で紹介したサブルーチンである。Lで反転...
follow_line2(); //R=4(半径4)の半円部分まで移動する...
カーブが急であったために、トレースを...
across_road();follow_line1(); //小さい半円においてライ...
反対側のライン端のトレ...
follow_line1(); //一度のトレースでは半円の途中で機体...
もう一度ライントレースを行った。
Left_K;Wait(20);freez; //シュートに向けての角度の調整で...
armUp; //玉を掴んでいたアームをあげる。
Wait(20);Go_Straight;Wait(100); //機体を押し出すことで...
Off(OUT_ABC); //プログラムを終了する。
}
**プログラムの反省点 [#cd7d0cc3]
上記のように今回のプログラムではとにかくfollow_line(交差...
*感想と反省 [#yba4a7bf]
今回のミッションの一番の反省点は、理想のロボットを組み立...
ページ名: