[[2017b/Member]]
*初めに [#v99eb063]
今回の課題は、ライントレースを行い途中にある紙コップを決められた場所に移動させた後、目的地に向かうというものである。
#ref(2017b/Member/arso/Mission2/2017b-mission2.png,70%,コース)
写真1:コースの全体図

自分は第2コースを選んだ。第2コースの経路は
 D ⇒ Cを直進 ⇒ Bを左折 ⇒ Pを左折(1秒停止) ⇒ Qを直進
  ⇒ Rを左折 ⇒ Fを左折 ⇒ Sを直進(1秒停止) ⇒ Y地点の紙コップを取る 
  ⇒ Sを直進(1秒停止) ⇒ Qを左折(1秒停止) ⇒ Rを直進
  ⇒ X地点に紙コップを置く ⇒ Pを左折 ⇒ Bを左折(1秒停止) ⇒ A
である。


*ロボットについて [#r5f4bb88]
#ref(2017b/Member/arso/Mission2/DSCN1185.jpg,50%,ロボット全体)
  写真1:ロボット全体

今回は二輪のロボットにした。特に光センサーの位置に気をつけ、なるべく機体から遠くにならないようにした。紙コップを取るための腕は回転させて上から下ろす形式にした。

*プログラムについて [#nf157121]
プログラムは、大きく分けてライントレース用とコップをとる用のサブルーチン、それらからなるメインルーチンで構成した。今回も引数を多用してしまった。

*結果 [#j6b693d7]
ライントレースや交差点判断は全て上手くいき、ヘアピンカーブも無事曲がることができた。しかし、紙コップを取るときにわずかにずれが出て引っかかった。だが、その後なんとか腕の中に入り事なきを得た。最終的には、紙コップを置くことにも成功し無事ゴール地点にたどり着くことができた。

*感想と反省 [#n0c0a044]
ロボットについては、紙コップを取る腕は振り下ろす形式よりも横から挟むようにした方が、機体や紙コップの位置を気にせずにできてより安定したと考える。また、二輪にしたことが良かったのか悪かったのかはあまりわからなかった。プログラムについては、全ての交差点や円形の経路への進入、ヘアピンカーブなどを全て一つのサブルーチンで書いたが、引数を増やしすぎるという前回の課題のときと同じ失敗をしてしまった。ほかの人のプログラムを見るとサブルーチンやマクロを多用しておりその分のプログラムの増加があっても見やすいものだと思った。次回はサブルーチンやマクロを活用したプログラムを作れるように考えていきたい。

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