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

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

ラズパイロボ

 

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

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

 

 

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

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

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

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

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

 

 

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

外観

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

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

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

 

ハードウェアの構成

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

今回はカメラを付けて、ブラウザや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でボディのスケッチを作成。

https://twitter.com/ketunorobio/status/1568848966741295104
フロント
kosi
asi
ヘッド

 

3Dプリンタと部品格納

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

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

 

 

配線と歩行テスト

配線

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

歩行テスト

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

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

ラズパイロボット正面

 

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

 

プログラム

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

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

 

スマホでテスト。

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

 

アナログコントローラー(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

 

 

電源ボタンの追加

 

 

完成

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

 

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

 

 

 

 

コメントを残す

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