kari |
|
| 愛知工業大学サイエンス大賞 テーマ LEGOMINDSTORMSによるロボット製作__クサ文執筆RoRo(壮絶絶惨誇張表現)
1. はじめに 我々、二年のLEGO製作班では今回、ライントレース、回収プログラム。 およびロボットフェスタに関するLEGO製作をしてきた。 三回に及ぶ出展では、どれも違った機体のスタイルを要求されるため、 我々はそれぞれにあった機体を同時期的に考えることとなった。
2. ロボット製作に際して ロボット製作というのは我々二年メンバーである四人が全員、行ったことがなかった。 それは今まで『ロボット』に対して敬遠しがちであったこともあるし、 ロボットなど、組み立てという作業を擁するものをしたことがなく、またやる気が無かったことにもある。 四者は『情報科』という学科に属し、直接的な『物づくり』というよりは、プログラムやアルゴリズムなど間接的な『物づくり』を得意とし、それを伸ばすようにされてきた。 そのため、逆にこのLEGOのような目的に沿った実用的な物品の製作面においてはまったくの素人であり、基本的な形や、動作の仕方を思いつくだけでも時間がかかってしまった。 このようなものに関する知識が皆無だったのに加え、 慣れないロジックブロック処理を覚え、考え方を思い浮かぶまでにも時間がかかり、各モジュールを思いつくのにも時間がかかった。
四人1チームのメンバーの中では作業に対するまとまりが無かったため、我々は二人一組のチームを二つ作ることとなった。 分裂後二者は互いに別の思想を基軸とし、全く相反する機体、それに対応するプログラムを考えることとなった。 ロボット製作の基本的思想については時期的に早い『回収プログラム』に合わせたものである。 一方の基本思想は、『堅実』である。基本的動作を確実なものとして、誤動作をいかに少なくし、修正するかを考えたものだ。変数を利用し、連続的な作業をさせるシークエンシーなものをつくり、ミリ秒単位の誤差すらも修正していく緻密さを要求する。 もう一方は『ランダム動作』である。基本設計段階から、ランダムな動きをした上での回収作業の完了を目指した。これは、ランダム性を加えることで繰り返すたびに動きが変わるため高い完成度を持つフィードバックを要求する。 ただ、両者はどちらも緻密な設計を要求するためサイズ的に非常に大きなものとなりこのままではRCX内で処理できるサイズを超えてしまうという結果となっている。
3. 完成に向けてのスタイル1案 『堅実』についてはスリム化された機体をスピーディに動作させるシリアルな機体である。 この機体は我が校においてスタイリッシュなデザインである。スピーディに動く機体で、早い段階で製作にとりかかられたため、完成度が高く誤動作も少ない。 しかし、プログラムを起動するたびに少しずつ機体の動きが変わるという難点があるため、 これを克服していくのがこの先の課題となっている。 ボール回収プログラムでの製作物を大まかに説明すると アームを上げることなくボールを取れるような設計をし、より多くのボールを取れるようにした。 プログラムは、2つのセンサと変数を多用し、1週目は4つ端を、2週目は真ん中を、となるべく多くのボールを取れるようにしてある。__YOU
4. 完成に向けてのスタイル2案 この機体は前者が細々とした動作をするのに対して、 おおまかな動作設計をして、そこからフィードバックさせている。 ボール回収を目的とした製作物ではその特徴が明確に出ている。 『ランダム性』を有する『β機』は、大型の機体で大量に取らせ、回収したボールを直接壁越えをさせて送り込むエクスペリメンツ的思想を元に作り上げられた。 ただ、その形態上きわめて重い動作で、ひとつひとつの動作がつたなく、失敗と、模索された実験的思考とがあるばかりで、なかなか形而下での完成は見えてこない。 このスタイルがたどり着くまでには、未だあまりにも設計途中のものが多い。 そのため完成していないモジュールも多くある。 まず機体とプログラムのプロトタイプを製作し、それに合わせて両者をテストし、失敗した要因を抜き出してその原因を取り除くことでより改善された機体を製作するというスパイラルモデルの設計過程を辿っている。 アームを利用してボールを、壁越えをさせて送り出すことで、 過程上における開始時点への回帰という複雑化されがちなプログラムをスリム化した。 此れにより、制限された時間に対してより多く、連続的にボールの転送動作を行えるようにした。 現在は、自己位置を仮想マッピングから判断させる『VPS』というシステムを考えている。 これはRCX本体に対し仮想的にマップを作り出し、各動作をするミリ秒という単位時間ごとに変数・関数の制御を行い、それによる動作ログから次の動作を判断させるフィードバック制御のルーチンである。 これはC言語でおける二次元配列とポインター処理の応用であり、現在はこの動作をRCXによるブロックで代理的に行わせるためのアルゴリズムを考えている。__RoRo
5. ロボット製作のプログラム
| |
|
8月11日(金)15:04 | トラックバック(0) | コメント(0) | Unknown | 管理
|