ヘルニアクソ野郎エンジニアblog

~ヘルニアでHell near~

M5stack(basic)で2足歩行ロボットを作ってみる「構想編」

calendar

先日、エルチカ様のハードウェア投稿キャンペーンの景品にて、M5stackのセットを頂きました。

M5stackについては以前より興味があったものの、購入した事は無かったので、これを機に色々遊んでみようかと思います。勉強にもなりますしね。

そこで、なにを作ろうかと考えたところ、過去にラズパイで2足歩行ロボを作成した事があるので、その時の知恵を応用すればM5stackでも可能かな?と思いましてので、とりあえず「M5stack(basic)で2足歩行ロボット」にチャレンジしようかと思います。

基本的?に、M5stackはArduinoのIDE(C言語)などで開発するのが一般的のようですが、python(micropython)での開発も可能だということで、個人的にはまだ使い慣れてるpythonの方を使って進めようかと思います。

ラズパイも基本pythonで開発しますからね。応用が効きやすいでしょう。

それでは、今回は構想してるラズパイ2足歩行ロボの詳細をまとめておこうと思います。

 

スポンサーリンク

全体的な構成

ブラウザをリモコン代わりにロボを歩かせる

プログラム

冒頭で記載したラズパイの2足歩行ロボットは過去記事でまとめています↓

 

これの大まかな構成としては、ラズパイにwebサーバー(webiopi)を立てて、そこに操作画面を配置する。です。

動作する流れとしては、html ->javascript->python->pca9685(サーボモータードライバ)

て感じです。

これを応用すれば、M5stackでもいけるのでは?と考えました。M5stackではブラウザからのロボット操作はあんまりググってもヒットしないし、実現すれば多少は目立てるかなというのもあります。

ただ、ラズパイのwebiopiのように、javascriptからpythonの関数を呼び出すことができません。

したがって、micropythonのライブラリを駆使し、pythonだけで「WIFI AP」「webサーバー」「操作画面」「サーボモーター制御」を完結させてみようと思います。

図にすると下記のような感じですね。

m5stack robo概要

ハードウェア

サーボモーターの制御には、ちょうど手元にpca9685があったので、それを使用する事にします。

m5stack拡張ボードで専用のサーボドライバもあるようですが、それは今回使用しません。

M5stackからはI2Cの半二重通信の接続を行って、pca9685ドライバを制御します。

ロボット自体は手乗りサイズ程のものを考えており、足は片方2個ずつ、手は無しで実装してみます。

4つのサーボを制御ですね。

M5stack ハード構成

外観

とりあえず段ボール

3Dプリンター欲しい、けどお金ない、よしんばあったとして、CAD使えない。

ってことでとりあえず段ボールで見た目を設計します。

m5stack 外観

適当にも程がありますが、とりあえずやってみます。M5stackの画面は段ボールをくりぬいて見えるようにしてみます。

 

まとめ

これを元に、次回からM5stackを使って2足歩行ロボットを作成しておこうと思います。

プログラムはpythonになりますので、ラズパイではお馴染みのThonny python IDEなどを使用して開発していきたいと思います。

ラズパイと異なり、M5stackはマイコンボードになりますので、PCからプログラムを実行させて、デバックしていくスタイルになりそうです。

開発環境なども次回まとめようと思います。