目次
#contents
*課題2 [#n2cefe5f]
下の図のようなコースを各チームで作成し、「ミッション」を遂行するためのロボットを作成せよ。
**ミッション [#fcc071b5]
次のいずれかのコースで黒い線に沿って動き、途中でボールをゴール付近に立てた350mlの空き缶(黄色で表示)に当てるロボットを製作せよ。 
また、ボールはロボットが弧IHKJ上にある時にP地点の空き缶に当てる。
**コース [#j508b7aa]
私は下の第2コースを選んだ。
#ref(2018b/Member/riho/Mission2/2018b-mission2.jpg,80%,コースの通る道順)
矢印の先端にある交差点で1秒一時停止をする必要がある。
*ロボットの説明 [#z2fdfc94]
今回はロボットに光センサ、超音波センサ、ボールを投げるアームをつける必要があった。

写真

**光センサ [#mb6a681e]
光センサは、あまりにも床と近すぎるとうまく測定できないということを先生からアドバイスをいただいたので、床スレスレにならない程度に高さを出した。
**超音波センサ [#w042cfbb]
超音波センサは、床からの距離が高すぎて物体を測定できないということがないように、センサをつける高さを意識した。
**アーム [#u107343d]
アームを閉じてボールを挟んで運び、アームを広げてロボットの機体をぶつけることで、蹴るようにボールを飛ばすものにした。

*プログラムの説明 [#e848e9f6]
**ライントレース [#y11dff08]
線に沿って走るために、白と黒を認識して進むプログラムを作成した。
「真っ白」「白よりの境界線」「白と黒の境界線」「黒よりの境界線」「真っ黒」の5つに分けて値を光センサで測定すると、下の図のような結果になった。

写真

測定より、真っ白は32以下、白よりの境界線は32~41、白と黒の境界線は42~47、黒よりの境界線は48~54、真っ黒は55以上だということがわかった。

このロボットは線の左側に沿って進むように作るので、下の図のように、色を測定して黒ければ黒いほど左に、白ければ白いほど右に進まなくてはならない。

写真

よって、測定値を利用してif文を使った以下のようなプログラムを作った。

写真

これは、同じ要領で「白」「白と黒の境界線」「黒」の3つに分けてもロボットは動きますが、細かく分けるとより滑らかに動くので5つに分けたプログラムを作った。

これが線に沿って進む基本的なプログラムである。

**右折するプログラム [#cc0792ce]

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