#contents

*課題3 [#c595dffd]

第三回目の課題は、懐中電灯の場所を探しボールを当てるというもの。課題内容は[[こちら:http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMission3]]を参照。

*ロボットについて [#f0e02078]

課題3のロボットはは、課題2で使用したロボットをベースにした。ベースにしたロボットは[[課題2のロボット:http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMember%2Fahiru%2FMission2]]を参照。

課題3の内容を遂行させるため、特に光センサーへの光の入り方を工夫した。以下、今回の変更点を詳細に記載する。

**今回の変更点 [#rfb64895]

第三回目の課題内容に沿わせるため、第二回目のロボットでは光センサーを下向きに使用していたが、今回は前方にある光源を光センサーによって判断するため、光センサーを横向きに固定し直した。

また、課題2では、アームの挙動を制限しすぎたと感じたため、アームの挙動可能区域に余裕をもたせてある(アームの回転可能角度が100°程度だったものを150°程度に向上させた)。

***光の入射制限 [#p5d05678]

#ref(./mission3_002.JPG,50%)

光を前方からのみ入るように、光センサーの左右に壁を取り付けた。そのようにすることで、斜めからの光入射を抑えられ、より正確な位置が把握できるようになった。

#ref(./mission3_001.JPG,50%)

また、天井の電灯等からの直接光を抑えるために、光センサーの上にもブロックを取り付け、光センサーの受光部が影になるようした。また、そのブロックには上の写真にあるような90°の壁を作れるものを使用し、ボールの位置固定にも役立てた。

***ボールによる受光阻害対処 [#i2431a53]

前方にボールを固定する形式のため、課題2のロボットではボールによって光センサーの受光が阻害されてしまっていた。実際に、光センサーの位置変更のみを行った課題2のロボットでは、ボールの受光阻害により試行毎にかなりの誤差が生じてしまった。それを改善すべく、ボールの固定位置を変更する必要があった。

#ref(./mission3_004.JPG,50%)
#ref(./mission3_003.JPG,50%)

そこで、上記の写真のように、アームを短く改良し、ボールを持ち上げるような形式をとった。このようにすることで、前方にある光源からの光の通路を確保し、試行毎の誤差を最小限にした。

課題2のロボット作成の際に、既にボールを固定化していたため、今回はボール固定の吟味は不要となり、時間短縮に繋がった。

*プログラムについて [#xd16f873]

**第一段階プログラミング [#x5f30d7e]

まずは課題に沿った最低限の内容のプログラムを完成させることを目標とした。


 (プログラム)


ここでは、一周するうちにどこが光の強さの最大値かを測定し、一周し終えた時、光の最大値だった場所まで戻るというプログラミングを行った。

光の強さの記録方法として、「測定した値が、その前に設定した最大値より大きければ、その値を最大値として書き換えなさい」というプログラムを、一周する間に幾度も繰り返させる方式をとった。

また、その光の最大値だった部分を0秒としてカウントを初め、最後に書き換えられた最大値の場所から、光測定のための回転を終えるまでの時間を計測した(最大値が更新される毎にタイマーも0秒に戻されるという設定)。光測定のための回転を終えた時に、最大値からの時間を計測していたタイマーに記録された時間の分だけ逆回転することで、光の最大値(光源の方角)へ向き直すことができる。

そこからボールを放って、懐中電灯に当てるというプログラムを書いた。


**第二段階プログラミング [#t1563708]

*製作時間 [#w0a390ae]

ロボット本体・・・1時間

プログラミング(試走含む)・・・1.5時間

*今回の課題を通じての反省 [#vea0fd4f]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS