
講習会参加者から「加速と減速を使って、より正確な移動をしたい」とのリクエストがあったので、作例を作ってみました。

gSPはマイブロックの外でも通用する変数です。スピードの調整に使用します。
最初にタイマーをリセットしていますが、スピードを上げてどの程度時間短縮できるかを確認するために入れてみました。ぼくのSpikePrimeでは100cmの移動でパワー100と80で約0.5秒ほど違ってくるようでした。ただ、速度90を超えると何回かに一回コースアウトしていたので、さらにスピードを上げたいときはPIDを入れるなどの工夫が必要そうです。(今回はパスします)
さて、最初にgSPを20にセットしました。20%のスピードで走り出してもまずスリップしないからです。
次に、Bの相対位置+100が目標となる距離になるまでループ1回につき0.3ずつgSP(スピード)を加算し、そのスピードでライントレースしていきます。+100は減速のための余分になります。このプログラムは5cm以下で使用すると正常に働かないことに注意してください。また、スピード100で使用した場合は、原則のための距離が足りません。オーバーランするので、その分減速のための距離を伸ばしてください。
減速時はスピードを-1ずつ減らしています。80ぐらいまでのスピードなら十分止まれるはずです。
こんな風に、加速減速を使うことで、バッテリーが満タンの時と減ってきたときの動きの差をなくすことができます。数ミリの誤差の積み重ねをなくすことでより確実にねらった動きを実現することができます。
ぜひ、使ってみてください。