2015年10月16日
- EV3ソフトウェア
- EV3技術情報
- ソフトウェア
ステアリングブロック・タンクブロックを用いてくり返し直進をした際、徐々に曲がる現象
ステアリング、タンクブロックを用いて、くり返し直進をすると徐々に曲がってしまう現象が存在します。
例:パワー10で1秒間直進するステアリングブロックを8回繰り返し使用
※ループを使用しても同様の事象を確認しています。
これは左右のモーターでブレーキの掛かり方に差が生じて、左右のモーターの回転角度に差が出ることによります。
この現象は以下の条件で発生します。
凡例:○ 角度差が出ない
:× 角度差が出る
モーターのモード |
ブレーキ方法 |
|
ブレーキ |
惰性運転 |
|
秒数 |
× |
○ |
角度 |
○ |
○ |
回転数 |
○ |
○ |
検証した結果を紹介します。
上記プログラムをデータロギングした結果のグラフ(縦軸:パワー、横軸:秒)
紫色:Bモーター、黄色:Cモーター
グラフ前半においてBモーターのパワーが落ちていないことから左右のモーターのブレーキの掛かり方に差があることがわかります。
同様のプログラムをデータロギングした結果のグラフ(縦軸:回転角度、横軸:秒)
青色:Bモーター、緑色:Cモーター
グラフからBモーターがCモーターより多く回転していることがわかります。この検証で「Bモーターの回転角度」-「Cモーターの回転角度」を計算すると790-746=44(度)の角度差が生じています。
上記プログラムで何度か試行した結果、一つのブロックにつき約4から15度の回転角度差が出ていました。
また、この現象の特徴としてパワーが低いほど左右のモーターの回転角度差が大きくなります。(下グラフ参照)
このグラフは例で示したプログラムのパワーを変えて検証したものです。
3回ずつプログラムを実行し、回転角度差の絶対値を平均してグラフ化しています。
グラフからパワーが10から40までは特に左右モーターの回転角度差が大きいこと、90や100ではほとんど回転角度に差がないことがわかります。
この現象の対処法として、ステアリング、タンクブロックを秒数モードでくり返し使用する際は、ブレーキ方法には惰性運転を選択することを推奨します。また、ブレーキを使う場合は、Lモータブロックと待機ブロックを組み合わせると回転角度に差を出さずに動かすことが可能です(下図)。