大実験その13

あと大実験も残すところ3回ほど。
先日の金曜日は、実験室に午後10時過ぎまで残って、班のメンバ全員で実験していた。

今回のメインテーマとしては、ライントレースロボット的PD制御であった。
前回までは、どちらかというと閾値を決めたディジタル的な制御を行っていたので、とてもカクカクした動きをしていたが、今回実装したプログラムをダウンロードしてデバッグを繰り返して、最適なパラメータを決めた結果、アナログ的な動きをうまくできるようになった。

その後、実験各班のオリジナリティを上げるためにセンサ数を4つに増やした。
最初から使われていた2つのセンサはほぼ同じ位置に着けておいて、今まで通りの制御をしてもらう。
ただ、速度を上げるとその2つのセンサだけでは、車体がコースから外れてしまっているときに、本線に復活できないので、センサが2つだけの時は、右回転をすることでコースを探すようにプログラミングしていた。
しかし、このままだとコースから右側に外れてしまったときに、すぐにコースに復帰できないばかりか、最初に見つけるのが、後ろになってしまうので、進む方向が今までの進行方向と逆向きになってしまうのだ。

そのために、増やしたセンサは今までのセンサの外側に付けた。その為、内側のセンサがコースから全く外れてしまっているときに、そのセンサの値を読みに行って、制御するようにしているのだ。
ただ、まだこのセンサは付けたばっかりなので、働きをPD制御としてプログラミング出来ておらず、どうしてもライン上への復帰がディジタル的になってしまう。"Go,Go制御"だそうだ。

あと3回で、実装しなければならい点は、
1.電池の消費量を減らすための、センサのスイッチング(トランジスタを使えばよい)を行う。
2. どうしてかよく分かっていないが、コース上でカーブになるといきなりスピードが上がって、コースアウトしてしまうことが多い。この原因を解明して、対策をとる必要がある。
3. 実装といえるかどうかは分からないが、タイムアタック対策のために、スピードを上げたい。

でも、なんでカーブになったらスピードが上がってしまうのだろうか…。よく分かりましぇーん。