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

SPIKEプライム ロボコンヒント集

第1回「ロボットの移動速度は毎秒何cmか?」

  • Page:
  • 1
  • 2
  • 3
  • 4

◆移動スピードを調節する

プログラムはSPIKEアプリ3(ワードブロック)で作ることにします。ここで必要となるのは、ロボットで秒速5cmで5秒、走る(25cm走る)という処理です。どうすればそれを実現できるのでしょうか?
このプログラム(speed_control 1.llsp3)では「移動スピードを~%にする」ブロックを使っています。移動スピードの単位は「%」なので、速度との関係がわかりません。まず「20%(思い付きの値)」に設定して、試走してみます。

プログラムの実行結果です。ぴったり25cmの場所で止まりました。走行タイムは「2.887秒」でした。
「5秒」ではないので、これは失敗です。
ですが、この情報を活用すれば、「5秒」で走らせることができます。

SPIKEアプリには指定した移動スピードに合わせて、モーターのパワーを自動で調節するという機能があります。 たとえば、坂道では平地よりもモーターへの負荷が大きいですが、そのぶんパワーを増やして、同じ速度で走らせることができます。坂道でも25cmの走行タイムは「2.887秒」に近くなるはずです。本当にそうなるかは各自で確認してください。

移動スピードを何%にすれば、秒速5cmで走るのでしょうか?
たとえば、少しずつ%値をちょっとずつ減らしながら試走を繰り返せば、いつかは移動時間が5秒になると思います。ただし、そういうやり方はオススメしません。ムダに時間がかかりすぎます。頭を使っていません。
このプログラムの例(speed_control 2.llsp3)では、移動スピード1%あたりの移動速度を「speed_rate」という変数に格納します。あとは比を使って計算すれば、最適な移動スピードを求めることができます。

実行結果がこちらです。走行タイムは「4.916秒」です。0.1秒ほどズレていますが、許容範囲だと思います。これで「25cm走」のお題はクリアできました。
ロボコンは試走に時間を食われてしまうのが命取りです。頭を使って問題を解決しましょう。

  • Page:
  • 1
  • 2
  • 3
  • 4