#author("2019-12-26T17:56:21+09:00","bearch","bearch") [[2019b/Member]] #contents *課題2 [#ge4abbdc] -ライントレースで二人目のミッションを達成する ~黒い線に沿って移動し、キューボイドを掴み、指定されたルートに沿って戻ってくる。 *ロボットの説明 ハード面 [#rfe86f5b] このロボットはEV3で作成されています。最新型での説明をします。 #ref(12841_2.jpg) **カラーセンサ [#g20383c1] まず、図1を見てください。カラーセンサの高さを、近すぎず遠すぎない位置に設定し、値の取得がし易いようにしました。そしてできるだけタイヤの近くに設置し、コンパクトにしました。 ~図1 #ref(12839_2.jpg) **超音波センサとカコイ [#v7139fc0] 次に、図2を見てください。超音波センサを地面に対して垂直に、地面に向かせて取り付けてあります。これによりキューボイドが真下に来た時にしか反応しないようにしています。もし地面に対して平行に取り付けると、反応して欲しくない時に反応してしまう恐れがあったので、そのリスクを避けました。 ~そして、キューボイドを掴む仕組みはモータでカコイを上げ下げすることでキューボイドを捕らえるようにしました。このモータは超音波センサと連動させています。それはプログラム面で解説します。 ~図2 #ref(12846_2.jpg) *ロボットの説明 プログラム面 [#w59e7b42] **ロボットの強み [#u5f6eae8] このロボットの最大の強みは汎用性の高さです。 ~メインとなるプログラムは同じ班のメンバーと全く同じで、走らせたいコースによって読み込ませるテキストファイルを変えることでどんなコースにも対応できます。なぜこのようなことができるかというと、このロボットは黒い線の左右どちらかをライントレースするかを選択でき、道の分岐があることを判断すると、そこの分岐にいくつ道があるかを探索するという機能を持っており、分岐判断後にどの道の左右のどちらかのライントレースをするか選べるという仕組みがあるからです。この探索機能は線が直角に交わっているところと急なカーブで反応し、そこに差し掛かると探索を始めるようになっています。なので分岐を判断したい時は黒い線の分岐判断できる側のライントレースする必要があります。そこだけはあらかじめ考えておく必要があります。これにより理論上どのコースでもテキストファイルを読み込むだけで走らせることができます。 **キューボイドを捕らえる [#w417cc11] ~そして、ロボットがキューボイドを捕らえる仕組みも工夫しました。超音波センサが真下にきたキューボイドを認識すると、カコイが下りるという関数が呼び出され、キューボイドを捕らえるようにしています。これにより精度が高くキューボイドを捕らえることができます。 **Uターン [#m4b5fc9f] ~二人目のミッションはUターンをしなければいけないのでUターンも工夫しました。Uターンはただ180度回転させるのではなく、90度までは回転し、そこからは黒い線を認識できるまで回転するという仕組みを採用しました。この仕組みにより綺麗にUターンできるようになってます。 *実際のプログラム [#t86ebac3] *もともと目指していたロボット [#dac968c8] 僕らの班ではもともと別の機構を採用したロボットを目指していました。下の写真のようなロボットです。製作するにあたり、ロボット完成発表の日に間に合わず製作を一時断念しました。 #ref(12872_2.jpg) もともと僕たちが作ろうとしていたロボットはモータでカラーセンサを振動させて、カラーセンサを二つ使用していると仮定して黒い線の両側どちらもライントレースできる仕組みを持ったロボットでした。このロボットの強みは黒い線の左右関係なくライントレースし分岐を判断できるところです。しかしモータとカラーセンサの連動、モータをカラーセンサの振動に使っている分キューボイドを捕らえる仕組みはどうするかなど様々な問題を解決するにあたり、大量の時間を要してしまいました。そして、授業で毎週課題がだされており、その課題をこなすための予備用に一般的なライントレースをするロボットも同時並行で作っていたので、ロボットを製作する時間が単純に2倍、それ以上にかかってしまいました、しかしそれでも時間が足りず、このロボットの完成には至りませんでした。ですが結果的にはもともと作っていたロボットと予備用のロボットを組み合わせることで今の最新型のロボットになりました。最新型のロボットは目指していたロボットの長所を引き継いでおり、分岐探索機能と超音波センサを地面方向へ向かせるアイデアはこのロボットから来ています。 ~一応、図3が振動させる仕組みです。モータに歯車をかみ合わせ、カラーセンサを乗せている台が二つの棒を軸に平行に振動するようになっています。 ~図3 #ref(12871_2.jpg) *反省点 [#i642ea52] -発表までに自分たちの目指していた機構を実現できなく、もう少し上手く開発をして行けば良かった。 -班員に任せっきりになってしまう部分があった。班員に感謝。 -ライントレースする紙を本番までに書いて来なかった。他の班の紙を使わせてもらった。しかし、使わせてもらった紙は、ライントレースの線の太さが不均一だったので本番でしっかり力を発揮できなかった、これは書いて来なかった僕たちの班の責任であり、授業側でもちゃんとどの班も同じ条件でテストできるように工夫してほしかった。ロボット製作がメインの授業であるのでライントレースの紙は授業する側が用意してくれると大変嬉しい。特にロボット製作に時間をかけていた班なのでそう思いました。失礼しました。 -ロボットの性能でもっと移動スピードをあげたかった。変数調整するテスト回数が少なかったのが原因。 *さいごに [#b9a23a3b] この課題2は大変楽しかった。プログラミングではpythonの知識も増えて、できることが増えて、自分のできる幅が広がった。