ロボジョイちゃれんじ教室

10-1 ロボット競技に役立つEV3センサー入門

第2回「回転センサーを見える化しよう2」

  • Page:
  • 1
  • 2
  • 3

◆加速減速レートの調整

しかし、最後に逆回転する現象は完全に解決していません。
そこで、先ほどのプログラムを改良します。 加速減速レートを0.3→0.1に変更してみました。モーターの回転が遅くなれば逆回転が発生しなくなると予想したためです。

プログラムの実行結果がこちらです。
予想どおり、逆回転が発生しなくなりました。一応、これで解決になるのですが、ゴールへの到着が前よりも遅くなってしまいました。
あと、細かい話ですがグラフが左右対称ではないので気持ちが悪いです。

距離とパワーの関係をグラフにすると、こうなります。 加速減速レートが低いとパワーは100%に達しないので、台形にはなりません。
モーターのパワーが弱すぎたため、ロボットの加速に時間がかかりすぎて、グラフのバランスが悪くなったようです。


◆完成したプログラム

最終的に完成したプログラムがこちらです(fow600mm5.ev3)。
改良点としては、モーターブロックの「オフ」の設定を「ブレーキ」じゃなくて「惰性運転」に変更しました。加速減速レートは最初の0.3に戻しています。
ブレーキをかけると、その場に踏み止まろうとしてモーターの逆回転が発生してしまいます。惰性運転に変更すれば、逆回転はなくなりますが、今度はモーターが正確な位置に止まれません。ジレンマに悩まされます。
解決策としては、ゴール地点を実際よりも手前に設定してモーターの回転を早めに落とすようにしてみました。 減速の基準となる回転センサーの角度は「midpoint」という変数で設定していますので、プログラム内で探してみましょう。

距離とパワーのグラフで表現するとこうなります。
このプログラムではゴールの1.8cm手前でパワー10の等速運動に切り替わります。

プログラムの実行結果はこのとおりです。
逆回転もなく、ゆっくり停止できるようになりました。

対策前と対策後を比べてみました。解決しましたが、少々不満があります。ゴールへの到着時間が変わっていません。加速減速レートやmidpointの値をうまく設定すれば改善するかもしれません。

[DOWNLOAD]今回作成したプログラム(教育版EV3ソフトウェア用)

[LINK]2015年10月に私が書いたマイスターブログも参考になると思います。ロボットの正確な移動方法について紹介しています。
http://nxt.typepad.jp/robojoy/2015/10/forward200mm.html

  • Page:
  • 1
  • 2
  • 3