車型ロボットにボールを扱う機構とセンサ類を設置した。以下で詳細を説明する。缶にボールを載せるためには、まずボールをロボットが保持する必要があった。一つの方法としてベルトコンベアでボールを掬い上げることにした。写真のような動きでボールを掬うことができる。三枚目の画像にあるように、コンベアはボールを二つ同時に保持することが可能であるので、ライントレースする距離を減らしてコースをショートカットできる。次に、ボールを缶に載せる部分を紹介する。画像にあるように、車体上部に設置した坂道で転がしてボールを入れることにした。コンベアで上がってきたボールはこの坂道を滑り、缶に向かう。坂道で下ってきたボールには勢いがあり、当初は缶の上で弾かれる等、安定してボールを缶の上に載せることができなかった。そこでボールの勢いを殺して安定させる機構を作った。それが以下の画像である。この機構(可動な壁)があることで、加速されたボールを減速させ、ボールを逃さないことが可能である。†ボールを掴んで載せる機構の没案が以下の画像である。ボールを掴んだ後にコンベアでアーム自体を缶の上の高さまで昇降する。その後、缶の場所まで進んで、アームを開く。この機構は大きく、アームの構造上車体の前に設置する必要がある。車体前部に設置すると、ライントレースをする時に缶を邪魔してしまう。アームを開閉するために設置するMediumMotorも、アームを支える部分に設置する必要があり、コンベアの上下とともにモータも動くことになり、非常に不安定で確実性がない。よってこの機構は没にした。使用したのはライントレースに使用するカラーセンサ、缶を発見する超音波センサ、車体の回転を制御するジャイロセンサを一つづつ。カラーセンサと超音波センサに関しては、課題2のレポートで詳細したのでそちらを参照。課題とロボットの特性上、車体を何回も正確に回転させる必要があった。前回までのミッションのときはモーターを決まった値で回して車体を回転させていたが、充電等の影響により回転角度が変わってしまうという失敗が多かった。この反省を踏まえ、充電に影響されにくいセンサ類、を採用した。採用したジャイロセンサは、角度を測ることが可能であり、計測開始と計測終了時の値を得ることにより、何度移動したか、その変位を知ることができる。完全に正確な値を得ることは不可能であり、数度だけ誤差が生じる。ジャイロセンサは画像のように、車体の上部に設置した。車輪を止めるプログラム。め方向etc...多彩な動きを変数により制御する。time.sleep(t)車体後部のベルトコンベアを回すプログラム。ボールを抱える時や発射する時にコンベアを回す。maはベルトコンベアに連動するLargeMotorのこと。#モーターをsだけ回し、コンベアを回転させる。time.sleep(3)ジャイロセンサによる制御で、車体を決められた角度回転させるプログラム。センサが検出する角度と車輪の速度を変数で扱う。右回りと左回りの二種類作った。移動時にライントレースを利用する。課題2のレポートで内容は詳細してあるのでプログラムの説明はそちらを参照。#カラーセンサの値が14以上なら次の動きを繰り返す。#xの値の最大を100とする。#左車輪の速度lを定める。#右車輪の速度rを定める。#与えられた速度lで進む。#与えられた速度rで進む。#計測値をc1とする。#c1<40ならば以下を繰り返す。