・やぎぐれー ・ろしあんぶるー ・わかぐりーん ・かつれっど
日時 2007年8月4日(土) 13:00〜 場所 10番教室 (で行う予定)
13:00〜13:20 (競技の説明と各係の選出) 13:20〜14:20 (競技) 14:20〜14:40 (休憩) 14:40〜15:40 (競技) 15:40〜16:30 (後かたづけ、反省会) ↑
紙パックを収集して所定の位置にできるだけ高く積み上げる
フィールドは約160cm×110cm 運搬する500mlの紙パック(以下単に紙パックと呼ぶ)は約7cm×7cm×10.3cm 紙パックはすべての面に白あるいは緑色の画用紙がはられている 紙パックは(目的地の円周上を除く)各交差点に立てて配置されている 目的地の円を囲む正方形の4隅には緑の紙パックが配置されている 1つの格子はの境界の黒線の芯々で20cm平方の正方形である 黒い線の太さは約25mm ↑
基本ルール 所定の時間内に紙パックを所定の場所に運んで積み上げる。 競技時間は2分30秒(仮)、あるいはリタイアするまでとする。 ただし積み上げた紙パックからロボットが離れようとしている動作中に制限時間が来てしまった時には、その動作が終了するまで、とする。 2分経過した時点で10個以上入っていた場合には30秒延長する(仮)。 どこからスタートしてもよい。 スタート時のロボットは3個を越えないこと (スタート後はいくつに分裂してもかまわない)。 開始の合図から5秒以内にRCXのスタートボタンを押す作業を完了すること。 競技が終了するまで、ロボットに触ったり人間が遠隔で操作してはならない。 途中でうまく動かなくなった場合、1回限り再スタートすることができる。 積んだ紙パックの底面は水平でなければならない 競技終了時点で、積み上げた紙パックにロボットの一部が触れていてはならない。 触れている場合は、その紙パックおよびその紙パックに触れている紙パック、さらにその紙パックに触れている紙パック、・・・、は加算しない。 半分以上枠はみ出した紙パックは得点に加算しない。 枠内からはみ出した部分が半分以下の場合には、本来の点数の 1/2 とする。1点未満は切捨て。
紙パックを一個運んで積み上げると、白パックの場合 1層目で横置き:1点、1層目で縦置き:2点 2層目で横置き:2点、2層目で縦置き:4点 3層目で横置き:4点、3層目で縦置き:8点 4層目で横置き:8点、4層目で縦置き:16点 ..... 以下同様 緑パックの場合はすべて白パックの2倍 技術点の計算方法 以下の動作の精度・スピード・確実性などを含めた技術的な工夫や芸術性について他の全てのチーム(9チーム+TAor教員)が20点満点で採点し、その平均点を求める。 得点の目安: 紙パックを集める動作 (4点) 紙パックを積み上げる動作 (4点) 2台以上のロボット、あるいは単体のロボットの場合は2台のRCXの連携の良さ(4点) 自立型のロボットとしての形や動作の美しさ、斬新さ(4点) その他 (4点) ↑
司会・審判 (2人) 司会進行、開始・終了の合図と基本得点の計算 得点の集計係 (2人) 技術点を集計する 準備係 (1人) アルミ缶や紙パックを所定の位置に配置する。 採点の報告係 (各チーム1人) 採点した点数を集計係に連絡する
私たちがロボコンの際にどのようなマシンで挑むかを考えた結果、マシンを2台作り、一台が紙パックの収集および真ん中のポイント地点までの運搬。もう一つが、その運ばれてきた紙パックを積んでいくという形がいいということに決まりました。そこで、とりあえずコンセプト通りにロボットを作成しました。こちらが写真です。
このロボットは大きなアームでコースを円上に1周ることによって、紙パックを中央に根こそぎ集めるという役割を担ってます。
そして、根こそぎ集めた紙パックを積むロボットはこちらです。
上の写真が横から見たところで、下の写真が後ろからみた写真です。
ロボットの前方には紙パックをつかむためのアームがついていて、それで紙パックをつかみます。つかんだら、写真を見るとよくわかりますが、リフトが着いているので、リフトで紙パックを上に持ち上げて、積み上げるということを狙っています。
初期ロボットで紙パックを根こそぎ集める役割を担ったロボットは実際にプログラムを入れてみると、パーツをロボットの左半分に多くつけてしまったためロボットの左半分が重く、動かす前にタイヤが向いている方向によって進む方向が違ってくるという問題が発生しました。これによってプログラムができていても、ロボの置いたタイヤの角度によって毎回進む角度が変わってしまい正確に紙パックを集めることができませんでした。また、このマシンはコースを円運動のように1週して紙パックを集めるように構想していましたが、紙パックが予想外に重く、マシンの力では回転しながらだと紙パック4個までが運ぶのが限度だということがわかりました。そのような問題を解決するために次の新しい改良マシンを作成しました。
前のマシンとの変更点として、前のマシンは後輪が回転式のタイヤで、コース全体を円運動のような形で回転しながら中央に紙パックを集めるような方法を取ろうとしていたところから、これでは正確性にかけるし、マシンのパワーも足りないため、回転式のタイヤを取り外し、タイヤを固定しました。これにより、マシンは安定してまっすぐ進むようになり、さらにまっすぐ進むことによって紙パックも4つ以上押せるようになりました。
次に集められた紙パックを積み上げるほうのマシンですが、これはロボの製作に予想外に時間がかかってしまい、ロボもプログラムも当日に完成と、時間がかかった分いいものができたと思います。前回の初期型ロボのときは実際作っただけでプログラムまで入れて動くか確かめてなかったので、そこから修正するのに大変苦労しました。前回の初期型ロボットでは紙パックを挟むアームを横につけていましたが、それだと紙パックを置くときに構造上必ず紙パックがずれて置かれてしまうことに気がついたため、それを改善するためにマシンをクレーンのように縦にアームをつける形にしました。これにより、紙パックがずれるという問題が解決できました。また、紙パックが重くてクレーンが持ち上がらない問題も発生しました。これに対処するために、モーターの出力を上げてみたり、電池を換えてみたりしましたが、できませんでした。考えた結果モーターから回転を伝えているギアの比率を変えてみた結果、うまく動くようになりました。うまく動くようになったら、今度は紙パックをつかむときにアームの位置が低すぎて積み上げられる位置まで紙パックを高く持ち上げられない問題も発生しましたが、マシンの車高を高くすることによって解決することができました。これが改良したマシンです。
マシンの動きとして、前へ進んでいき、紙パックの前に来たときに光センサによって光が弱くなったのを検地して、アームを閉じて紙パックを持ち上げ、再び紙パックの前に居ることを光センサで検地したらアームを離して紙パックを積み上げるプログラムになっています。
始めに紙パックを集めるマシーンのプログラムです。まっすぐ走るだけなので簡単なプログラムです。
task main() { OnFwd(OUT_A+OUT_C);/前に進む Wait(160); OnRev(OUT_A+OUT_C);/後退する Wait(90); }
次に紙パックを積み上げるロボットの方のプログラムです。
#define THRESHOLD 48 #define RUN_TIME 1400 task main(){ SetSensor(SENSOR_1,SENSOR_LIGHT);/センサ−1が光センサーと定義します。 SetSensor(SENSOR_3,SENSOR_LIGHT);/センサ−3が光センサーと定義します。 SetPower(OUT_A,7);/Aの出力を7に定義します。 ClearTimer(0); while( Timer(0) <= RUN_TIME ){ OnFwd(OUT_B); Wait(250); if((SENSOR_1>THRESHOLD)&&(SENSOR_3>THRESHOLD)){ Off(OUT_C);/定義された光の強さよりもセンサ−1と3が強い場合 OnRev(OUT_B); Wait(140); OnFwd(OUT_A); Wait(300); OnFwd(OUT_C); until((SENSOR_1>THRESHOLD)&&(SENSOR_3>THRESHOLD)); OnFwd(OUT_B); Wait(140); OnFwd(OUT_C); Wait(50); OnRev(OUT_C); Wait(600); OnRev(OUT_A); Wait(80); } else { OnFwd(OUT_C); Wait(40); } } OnRev(OUT_C); Wait(200); Off(OUT_A+OUT_B+OUT_C); }
紙パックを積み上げるロボットを作るときに、紙パックを持ち上げるクレーンを横から縦にすることが大きな点でした。上にある写真を比べればわかると思いますが、これによりクレーンを横にしていたときよりも重心が中央に集まり、安定しました。横のときはクレーンが重いため、マシン全体が前体重になり、紙パックを持ち上げる部分がギアが空回りする結果となりうまく紙パックを積み上げられませんでした。それを縦にすることによってクレーン型での紙パック積み上げを可能にしました。
時間が無かったのでできませんでしたが、紙パックを集めるマシンのほうで、右のほうにもパーツを伸ばして、左右から紙パックを回収したり、プログラムを組んで1箇所のみではなく何箇所も繰り返してより多くの紙パックで得点できたらなと思いました。
紙パックを積み上げるマシンが縦長マシンになってしまい、とてももろい構造になってしまったため、結果的に本番でもマシンが分解してしまうなどもしてしまいました。もうちょっと強度の強いマシンを作りたかったです。
構成を考えてあったとしても、実際作ってみるとかなりの問題点が出てくるものということを知ったので、ロボコンの1日2日前にはもう完成しているくらいの余裕を持った計画をするべきだと思いました。
テストが終わった8月からロボコンに向けて作業を始めました。既に7月中にマシンの外形はある程度作ってあったため、残りの4日間でプログラムの作成とマシンの外形の微調整などをやる予定でした。しかし、ふたを開けてみればロボの設計が甘く、まっすぐ動かなかったり、箱をつかむアームがうまく上がり下がりしなかったり、マシンが重くて動かなかったりと問題の嵐でした。結局ロボコン当日にプログラムとマシンが完成するというぎりぎりな感じでした。しかし結果としては満足な結果が出たし、自分たちの集大成を出し切ることができたので、満足することができました。
私たちの班はあまりロボに詳しいような人がいなく、毎回毎回最後まで課題が完成せず、課題を仕上げるのが精一杯な感じでした。しかし、ロボコンでは、私たちなりにマシン作りから今まで持っていたすべての力を出し切ってマシンを作成し、ロボコンでも満足のいく順位を獲得できました。この授業はとても大変だったけど、やっぱり取ってよかったと思っています。ロボティクスありがとう。
最後にコメントをどうぞ