プログラミング教室「プロラボ唐津」では、ロボットを使ったプログラミング教育を行っています。
使用しているプログラミングロボットは、「クムクム」です。
「【ロボットプログラミング教育】ロボットを歩かせる難しさの裏側」では、ロボットを歩かせる難しさを説明しましたが、今回は、こちらのクムクムロボットを使った色々な歩かせ方について、解説していきます。
ちなみに、クムクムロボットでは、こちらのモーターが7個ついており、このモーターの制御で歩かせます。
HOME 3.0 BASIC
まずは、こちらをご覧ください。
こちらは、基本的なクムクムロボットの歩くプログラムです。
- 右足を上にあげる
- 右足を前にだす
- 右足を下におろす
- 左足を上にあげる
- 左足を前にだす
- 左足を下におろす
の順にプログラミングして、歩かせています。
Scratchでのプログラミングは、このようになります。
使うブロックは、1つで、「右足・左足」「上げる・前に出す・おろす」を選択するだけの簡単なブロックです。
こちらは、「HOME 3.0 BASIC」のブロックで、子供でも確実にプログラミングができるよう配慮されています。
また、動作速度も比較的遅めですので、安全にも配慮されています。
HOME 3.0 HiSPEED
こちらは、「HOME 3.0 HiSPEED」のブロックで作られたプログラムです。
「HOME3.0BASIC」と比べると、動作も速く、歩き方も小刻みですよね。
歩かせるプログラムでは、このようになります。
「HOME 3.0 HiSPEED」では、モーター制御に近い、角度と動かす秒数を設定できるようになっています。
動作速度も速く、足のモーターの角度も全て細かく指定できるため、「HOME 3.0 BASIC」で、ある程度プログラミングに慣れた人にお勧めです。
この角度調整がとても難しく、歩かせるだけでも一生懸命になります。
「HOME 3.0 BASIC」に慣れた方は、是非「HOME 3.0 HiSPEED」を試してみてください。
Arduino(C言語)
今日はArduinoのwriteMicrosecondsを使って無理やりサーボモータを回して歩かせようとしたが…いまいちだなぁ…#ロボット #robot #programinng #Arduino #C言語 #プログラミング初心者#エンジニアと繋がりたい#駆け出しエンジニアと繋がりたい #プログラミング初心者と繋がりたい pic.twitter.com/41Ti6v7zWK
— 電子工作とものづくりとプログラミングが大好きdr.yossy (@yossynaotan) January 10, 2021
こちらは、更に上級者向けで、ArduinoのwriteMicroseconds関数を使って歩かせたプログラムです。
プログラムの中身は確認できませんでしたが、ようはこんな感じにソースコードを記述するプログラミング言語で制御します。
Scratchのようなブロックを並べてプログラミングする言語をビジュアルプログラミング言語といいますが、プログラミング教室「プロラボ唐津」では、プログラミングになれたら、早々にこういったソースコードのプログラミング言語に移行します。
その理由については、「【プログラミング教育】体系的な教育を行っていない理由」をご確認ください。
話を戻すと、writeMicroseconds関数とは、サーボに与えるパルス幅をマイクロ秒単位で設定し、シャフトを制御する関数です。
よく理解できないですよね。
こちらの関数を使えば、マイクロ秒単位つまり、1秒の100万分の1の時間まで細かく設定することができるというわけです。
複雑なプログラムや精度を求められるモノを作る場合は、こういった細かい制御も行っていきます。
動きだけ見ると、「HOME 3.0 BASIC」「HOME 3.0 HiSPEED」に比べ、カクカク動いていて、機械的ですよね。
ムーンウォーク
もうすぐ完成のスムースなクムクムムーウオークさせてみました。 pic.twitter.com/qpxeGSgfCG
— 電子工作とものづくりとプログラミングが大好きdr.yossy (@yossynaotan) July 21, 2019
最後に、こちらは、ムーンウォークができるようプログラミングされたクムクムロボットです。
細かい制御をすると、このようにスムーズな動きもできます。
しかも、後ろ向きで歩いていますよね。
モーターの細かい制御ができると、アイデア次第で、様々な動きを実現できます。
プログラミング教室「プロラボ唐津」では、こういったところからも、子供たちにプログラミングの面白さや、電子工作に興味を持ってもらるよう教育していきます。
コメント