#contents

*課題2(ライントレース) [#x23a59f6]

第二回目の課題は、ライントレース(&ボール運び)ロボット作成。課題内容は[[こちら:http://yakushi.shinshu-u.ac.jp/robotics/?2015a%2FMission2]]を参照。

**自分のコース [#jf1949a7]

今回選択したコースはC→A。Cを出発、P・Q間のボールを確保、環状を一周、Aへ向かう、Aのゴールへシュート というルートになっている。

下の画像は、ルートを簡略に説明したgif画像。

(画像)

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

前輪にモーター2つ、後輪にはキャスターを用いた。また、ボールの移動にアームを用いた。以下、詳細に説明する。

**車体部分について [#kf654dea]

前輪のタイヤの間隔を出来る限り狭くするよう心掛けた。そのようにしたことで、私のコースではないがC直前のような急カーブでもスムーズに対応できるようになった。

また、前回同様、キャスターの高さ調節には苦労した。だが、班の中で意見を出し合えたおかげで比較的時間は掛からずに制作することが出来た。

**アームについて [#efccc724]

アームには、前にボールが転がらないようにするという役割を担わせる一方、進行を左右されないようにボールを持ち上げるようにした。ピンポン玉のような軽いものでは大差はないかもしれないが、ボールで前に突っ張ってしまうような心配はなくなった。

***アームのギア比 [#h462160c]

アームが早く上下してしまうと、こちらの意図しない負荷が部品にかかってしまう恐れがあった(アームの上下動による部品の故障)。それを無くすためにもギア比調節による減速は不可欠であった。

今回用いたギア比は、

-モーターに歯数8の歯車をつけ、次の棒(2本目)の歯数40の歯車に噛ませる。(ギア比8:40なので速度1/5)
-2本目の棒には歯数40の歯車と歯数24の歯車がついている。(ギア比は40:24なので速度3/5)
-歯数24の歯車と、次の棒(3本目)の歯数40の歯車に噛ませる。(ギア比は24:40なので速度3/5)
+モーターに歯数8の歯車をつけ、次の棒(2本目)の歯数40の歯車に噛ませる。(ギア比8:40なので速度1/5)
+2本目の棒には歯数40の歯車と歯数24の歯車がついている。(ギア比は40:24なので速度3/5)
+歯数24の歯車と、次の棒(3本目)の歯数40の歯車に噛ませる。(ギア比は24:40なので速度3/5)

3本目の棒にアームがついている。

よって、ギア比は(1/5)*(3/5)*(3/5)=(9/125)となる。モーターが14回転すると、アームのついている棒が1回転する。つまり、およそ4回モーターが回転するとアームが100°(アームが上下する幅)回転することになる。
よって、ギア比は(1/5)*(3/5)*(3/5)=(9/125)となる。モーターが14回転すると、アームのついている棒が1回転する。つまり、モーターが4回転するとアームが約100°(アームが上下する幅)回転することになる。

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

プログラム全体を記載する。

 (プログラム)

**プログラミングについて [#mf1882b0]

今回のプログラミングでは、3段階に分けてプログラムを組み立てていった。

+スムーズなトレースが出来るようにすること。
+交差点判断を明確にし、判断後の動作を調節すること。
+アームを使用し、今回の課題に添わせる内容にすること。

スムーズなトレースをさせるために、5段階判定(黒・黒灰色・灰色・白灰色・白)を用いた。また、黒灰色・白灰色は共に光度差4を範囲としてあるが、灰色は光度差8を範囲としてある。直進(go_forward)の判定幅を多めにとることによって、速度の向上に繋げた。

黒になった回数をカウントすることによって、交差点を判断させた。また、交差点横断だけでは不十分な部分を、交差点に差し掛かった回数をカウントすることによって、その交差点に見合った条件を付け加えるようにした。その交差点時動作に付随する形でアームの挙動を設定し、今回の課題(ボールをゴールへシュート)を遂行した。


**実際の映像 [#e3729495]

上記のプログラムを用いて実際に動作させた時の動画。

(動画)

*製作時間 [#l8b70f08]

ロボット本体製作・・・4時間

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

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

今回は、前回の書道ロボットに比べ、かなりスムーズに完成したと思う。ロボットのイメージがより具体的になってきたということと、パーツを覚え始めたということが時間短縮に繋がっていったのだと考える。しかし、プログラミングの理解力をもっと高める必要があると感じる場面があった。ifの入れ子構造の繋がりを理解することに時間がかかった上、確認作業にも手間取った。取り敢えず作り始める、というスタンスではなく、プログラムのイメージを一度書き起こしてから、プログラミングに取り掛かっていくべきだったと感じた。
今回は、前回の書道ロボットに比べ、かなりスムーズに完成したと思う。ロボットのイメージがより具体的になってきたということと、パーツを覚え始めたということが時間短縮に繋がっていったのだと考える。しかし、プログラミングの理解力をもっと高める必要があると感じる場面があった。ifの入れ子構造の繋がりを理解することに時間がかかった上、確認作業にも手間取った。取り敢えず作り始める、というスタンスではなく、プログラムのイメージを一度書き起こしてから、プログラミングに取り掛かっていくべきだったと感じた。最終課題では、課題1、課題2で得た知識や反省を活かしながら取り組めるよう心掛けたい。


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