HomeMadeGarbage Loading

モーションコントローラ検討2 ー二足歩行ロボットへの道5ー

ホーム
電子工作
Raspberry Pi
IOT
音楽

前回はオリジナルのコントローラを製作してESP-Nowでのロボット上半身同期制御の実現を確認しました。

モーションコントローラ検討 ー二足歩行ロボットへの道4ー

 

今回は下半身も追加して全身制御を目指します。

 

 

コントローラ 下半身 配線

コントローラの下半身関節に配置した可変抵抗の配線をESP32に接続します。
 
 
 
 

問題発生

配線が終わったので、前回同様にESP-Nowで二足歩行ロボットと通信しようと思たのですが。。。

ESP32はWiFi使用しながらACD2ピン(IO2, IO4, IO12~15, IO25~27)が使えないことを忘れておりました。

WiFiを使うとなるとESP32のADC1ピンの4個もしくは6個のピンしか使えないですよね。。

UDP通信

仕方ないのでESP-Nowの使用はあきらめてコントローラをUSBケーブルでPCに接続しシリアルでデータ送信して、
UDPで二足歩行ロボットに送信して動かしてみました。

 

歩行動作にも挑戦しましたが、UDPですと高速送信できないのでなかなか厳しいです。

 

ESP-Now

どうしてもESP-Nowを使用して高速通信がしたいのでコントローラにADCモジュールの使用を検討しました。

以下のI2Cでデータ取得できる4入力のACDモジュールを使ってみました。
ちょうどAmazonで3個セットが販売されていました。

 

ADCモジュールの使用により多くのIOピンは必要なくなったので、マイコンにはM5StickCを採用し4ピンコネクタでモジュールと接続しました。

 

 

ADCモジュール3つはADDRピンの接続をそれぞれ変えて (GND, SDA, VDD)、I2Cアドレスを変えて使用しました (0x48, 0x4A, 0x49)。

M5StickCを採用したことで内蔵バッテリが使えるのでコントローラが完全無線になりました。

動作

ADCモジュール(ADS1115)のライブラリとして以下を使用しました。
 https://github.com/adafruit/Adafruit_ADS1X15

ESP-Nowでコントローラから二足歩行ロボットに角度データを送信します。

 

UDPの時より早い通信が実現でき制御もスムーズになりました。

 

歩行動作

スムーズな通信が可能になったため歩行動作もなんとかできました。

起き上がり

腕を1cmほど伸ばしています。

 

おわりに

ここではオリジナルのコントローラを製作してESP-Nowでの同期制御で全身動作を確認できました。

次回は動作の記録や調整、そして再生を目指したいと思います。

それでは次の道でお会いしましょう!

Related Posts

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください