最終的にどのように動かすかを考えるてモータ、センサを選択する。
最小単位で命令を作り、指示をしたい順に並べる。
論理的に考える
「超音波センサーを使って障害物から手前で停止する」プログラムを考える。
Robot Inventorの電源を入れて、プログラム実行モードをオンにする。スタートボタンを押す。その時モータは100%の出力に設定し、車が前進を始める。超音波センサが10㎝以下になったら、モータを停止させる。プログラム実行モードが自動解除され、電源を切る。
この文指示指示ごと分けると
スクラッチ型で障害物から20cm手前で停止しするスケッチを作成してEV3 とRobot Inventorを比較します。
EV3までのソフトには、モータ停止の設定があるため惰性回転にすると障害物から10cm手前で停止するプログラムだとぶつかってしまいます。よって、10cmから20cmに変更しました。
EV3 | Robot Inventor | |
A) 位置を維持 | b) 惰性回転 | C) 位置を維持 |
A)EV3 + 位置を維持
B) EV3 + 惰性回転
C)Robot Inventor ∔ 位置を維持
〇 超音波センサを使って障害物から手前で停止するプログラムを、①から⑥の順番通りに実行させると壁の前で停止する。
① スタート
② モータを100%に設定する
③ 前進
④ 超音波センサが10㎝以下になるまで待機
⑤ モータ停止
⑥ エンド
壁の前でギリギリに停止するためには、
1) 超音波センサの感知する距離を設定する
2) モータの出力値で細かく調整する。
②が無くても壁の前で停止出来ます。
よって
① スタート
③ 前進
④ 超音波センサが10㎝以下になるまで待機
⑤ モータ停止
⑥ エンド
で動かし、必要ならば
② モータを100%に設定する
を追加する。これがバージョンアップ、リビジョンアップになります。
制動距離に関しては別回で説明します。
〇 新型のマインドストーム Robot Inventor には 惰性回転 がありません。