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

7-1 モーター制御入門

第1回「速度を自動調節できるロボット」


◆角速度を計る(改良版)

さらにプログラムを改良してみましょう。
先ほどのプログラム(program-1.rbt)では、1秒間待たないとモーターの角速度を求めることができませんでした。しかも値が一度出たらプログラムは終わってしまいます。
そこで、もっと早く連続的に結果が出るようにしたのがこちらのプログラム(program-2.rbt)です。 今度は、約0.1秒おきに角速度を表示できます。 ループが動作する5秒の間に50回ほど角速度を更新することができます。

プログラムを部分的に拡大してみました。
計算ブロックを使って、 「回転した角度の差」を「経過した時間の差」で割っています。 1秒経っていないのに、「1秒あたりの回転角度」が求めることができる秘密はここにあります。

角度を時間で割ると角速度を求めることができます。
数式で表すと「角度÷時間=角速度」です。
たとえば、タイヤが2秒間で180度回転していたとします。もし、同じ速度で回転していたならば、180÷2=90。1秒あたり90度回転しているということになります。

では、いよいよパワーコントロールの成果を確認してみましょう。
モーターブロックの設定値にある「コントロール モーターパワー」のチェックボックスをオンにして、パワーは同じく「75」です。
実行結果は「732」でした。1秒間に732度回転したという意味です。パワーコントロールが「オフ」状態では「561」でしたので、「オン」状態にすると3割くらい回転が速くなったということになります。
これは一体どういう意味なのでしょうか?