正方形を描く課題に挑戦

「ロボットを正方形の形に走らせるプログラムを作る」
先日入手したロボット教材(詳しくはこちら)を動かしてみました。今回行った課題はこれです。
これは簡単です。少し前進させてから90度左折(または右折)する。これを4回繰り返せばいいのです。
プログラムができたっ!

プログラミングはmBlockという簡単なツールで行っています。mBlockは、動作などが書かれたブロックを組み合わせてプログラムを作ることができます。「速さx%でy秒前進する」というブロックと「x度になるまで左折する」というブロックがあります。これらをつなげればいいだけです。
単純につなげると左のAのようになります。
これは同じことを4回繰り返しているので、繰り返すというブロックの中に入れると右のBのようになります。これは簡単ですね。
動かしてみたら、うまくいかないっ

このプログラムを実行してみました。すると、写真の(1)~(4)のように動いてもとの位置とはずれた位置に停まりました。
走行したルートは正方形にはなっていません。90度より鋭い角度で大きく曲がってしまいました。
そこで角度を変えてやってみました。すると「80度になるまで左折する」にしたら、ほぼ正方形を描くようになりました。
しかし私もこんなに誤差が大きいとは思っていませんでした。やってみないと分からないものですね。
現実が理想と違ってもなんとかしよう

機械を動かす場合、センサーやモーターの動きには誤差がつきものです。誤差を考慮しなくてはいけません。このため、80度に設定すると90度曲がる、というように誤差のデータをいくつも取得して、対応表を作っておく必要があります。
なにごとも、理想と現実は一致しません。現実世界で生きていくには予想外のできごとにも対応できる力が必要ですね。
※このロボット教材についてはこちらで説明しています。
コメント