2021/12/15 よりサイトリニューアルしました

サーボ11個とRaspberryPi ZERO2Wで多関節2足歩行ロボットを作ってみた

ラズパイロボ

 

過去にいくつか2足歩行ロボットを作ってきたのですが、見た目にあまりこだわってこなかったので、自分なりに見た目がイケてるやつを作ってみようかとなりました。

過去に作った作品は↓のような感じです。

 

 

blackスタックチャンは見た目も結構好きなんですが、それ以外は…という感じです。

しかし見た目だけ変えるのは少し物足りないので、間接も増やして頭、肘、腰、なども動かせる「多関節2足歩行ロボット」にする事にしました。(これで多関節なのかはわかんないけど。。)

となるとサーボモーターも多く使う事になるので、そこそこの大きさになりました。

ロボットは先日完成(仮)しましたので、今回はこの「多関節2足歩行ロボット」について、概要や作成過程等をまとめようと思います。

これからロボットを作られるような方の参考になれば幸いです。

 

 

多関節2足歩行ロボット の概要

外観

とりあえず手書きで外観をスケッチしてみました。

これを元に、サーボモーターやマイコン等の大きさを加味したサイズにしていきます。

 

ハードウェアの構成

外観のサイズが大方わかりましたので、内部に入れるマイコン等を決めます。

今回はカメラを付けて、ブラウザやbluetooth,bleで無線操作したいと思ったのと、ゆくゆくはROSなんかも入れてみたいなと思ったのでRaspberryPi ZERO2Wを使う事にしました。

構成は下記の通りです。

RaspberryPi ZERO2W ⇒ i2c ⇒ PCA9685 ⇒ サーボ11個

カメラはラズパイカメラを使いました。

バッテリーはLipoで2000mAh,放電Cレート2の物を使いました。瞬間最大で4Aまで出せるのでこれ1個でマイコンとサーボドライバの電源をまかないます。

 

制御について

1,WEBサーバーにhtmlで操作画面を作りブラウザから操作可能にする。(カメラ画像あり)

2,bleでアナログコントローラーから操作可能にする。(カメラ画像なし)

 各部位ごとの操作も可能にする。

なお、1,2,共に電源投入後に自動でプログラムが立ち上がるようにする。

 

動作

前進、後退(腰の捻りを追加)

左右旋回

目の発光(LED)PWM制御も入れる

ポーズ(中山きんに君のパワー)

ブラウザ時はカメラ映像あり

アナログコントローラー時は各部位を単体で動かせる

物理ボタンで電源ON,OFF

電源ON時、目を発光、その後ポーズ(パワー)

WEBサーバー、およびアナログコントローラーの接続プログラムは電源ON後に自動で起動

 

プログラム

ブラウザはHTML,css,js,pythonCGI

アナログコントローラーはpython

 

 

外観の作成

CADスケッチ

fusion360でボディのスケッチを作成。

フロント
kosi
asi
ヘッド

 

3Dプリンタと部品格納

3Dプリンターで印刷、内部に部品を格納。

 

 

配線と歩行テスト

配線

歩行テスト

なんとか動いてくれました。

全体の姿はこんな感じになりました。↓

ラズパイロボット正面

 

ラズパイロボット側面
ラズパイロボット後ろ

 

プログラム

ブラウザ(html/css,js,python)

※WEBサーバーはApacheを使用しています。カメラはmjpgstreamerを使用しています。またCGIを使う場合は各種設定変更が必要です。その辺の説明は長くなりますのでここでは割愛します。詳細は過去記事を参照ください。

 

スマホでテスト。

 

アナログコントローラー(micropython)

アナログコントローラーにはM5stickCのJoyCを使いました。

当初はbleで接続する予定でしたが、micropythonのbleのライブラリであるubluetoothがm5stickcのmicropythonファームウェアでは利用出来ず、断念してUDPで接続させています。(ESP32のmicropythonファームウェアを入れたらubluetoothライブラリが使用できましたが、代わりにJoyC等m5stack関連のライブラリが使用できない。)

※あやまってmain.pyプログラムをdeleteしてしまいました(;^ω^)後日改めて掲載します。

 

RaspberryPi側(python)

ジョイコンでテスト。

https://twitter.com/ketunorobio/status/1580511186679799809

 

 

電源ボタンの追加

 

 

完成

 

とりあえず仮で完成としますが、また機能追加すればここでまとめたいと思います。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です