ロボットプログラミングだから教えたいコト【あるく】

クムクムの自慢できる特徴点として【あるく】事ができます。いわゆる二足歩行です。

多くのプログラミング教材の中で、この値段で歩く機能をしっかり搭載したのはクムクムだけではないかなぁ?と自慢の機能の一つです。

構造と部品

内部のモータ構造は下の図のようになっています。

すでにQumcumKitを購入して自分で組み立てた方(2019年02月現在は組み立てキットのみですが、今後は完成版も販売します)は構造が分かっていらっしゃると思います。

モータは顔、左右腕・左右足の歩く方向を決める・左右足の角度を決める ための合計7個のモータが取り付けられています。

歩くために使われるモータは、足の付け根にある「 左右足の歩く方向を決める 」モータと足首にある「 左右足の角度を決める」モータを利用します。

足に使われる4個のモータを内部のプログラムによって同時に制御することでクムクムは上手に歩くことができます。

この図をみると、まさにロボットそのものですね!


プログラミングによるコントロール

スクラッチプログラミングによる細かい制御は大変なので、スクラッチのコマンドブロックではモータを意識したプログラミングをする必要はありません。

しかし、内部ではこれらのモータを微妙なタイミングによって角度調整をしています。

角度調整が必要なのでサーボモータを使用しています。

使用しているサーボモータはラジコン用のRCマイクロサーボですが、クムクムでは180度回るようにOEM製造してもらった特別なものです。
一般で販売されているRCサーボモータは120度回転なのですが、クムクムではすべてのモータを共通化したいので(足は120度でも十分ですが、腕や顔は180度回って欲しい)特別にOEM製造しました。

内部プログラムでは、角度制御ではなく約600~2400のパルスを用いて細かく制御するプログラムをC言語で実現しています。

特に歩くために片足立ちをする部分は、単純に片足の角度だけを回しても、もう一方のモータも回転させ、倒れていく動作をアシストしなくてはいけないため、左右のモータの角度と時間を微妙にコントロールする必要があります。

開発の裏話

実は、クムクムの足の構造は大変難しかったのです。

この構造で、体の中に単三4本の電池をt抱いているので、重量もあり、この足の長さで斜めに倒して片足立ちができるまではなんと・・・3か月もかかったのです。

お楽しみ

ボードはArduinoLeonardoです。

背中のUSBにケーブルを接続して、ArduinoIDEがインストールされているパソコンでC言語からサーボをコントロールするプログラムを作ってみてください。

自由な動きができるようになります。
モータが接続されているポートは・・・公開するより探ってみてください!
Arduinoは、デジタル13本 アナログ5本と限られたポート数です。
モータはデジタルポートに接続されていますから、すべてのポートにデータを出力してもらえればどれかが動くようになります。

ただし、デジタル0と1はBLEモジュールに接続されていますので、ここには出力しないでくださいね!それ以外は何をしても壊れません!

※プログラム書き換えは個人の責任で行ってください。
※万が一USBで自分のプログラムに書き換えたとき、元に戻すためには、弊社ホームページからファームアップデータを使い、製品のファームに戻すことができます。
※もしどうしてもファームが戻らなくなった時、それはボードの中のブートローダが壊れてしまったかもしれません。その時はサポートセンターにご連絡いただき、有料の書き換えサービスを受けてください。

タイトルとURLをコピーしました