モーションコントローラ検討 ー二足歩行ロボットへの道4ー
前回は二足歩行ロボットをMIDIコントローラで制御して楽しみました。
ここでは更にモーション制御方法を検討しましたので報告いたします。
目次
DAWソフトで制御
MIDIコントローラで歩行などの複雑な動作を実現するのは難しいと考え、
DAWソフトでの制御を思い立ちました。
DAWで動作シーケンスをかいて、再生で動作させるのです。
DAWで制御できるようになった。
作曲感覚で彼と付き合っていこう#とってもロボットくん#DAW #DTM #Reason11 pic.twitter.com/Bb0ijjiFR5— HomeMadeGarbage (@H0meMadeGarbage) June 24, 2021
構成は以下の通りです。
loopMIDIで仮想MIDIポートをたてて、ほぼ前回のMIDIコントローラと同じ構成で制御しています。
DAWはReason11を使用しました。
しかし、やはりDAWを用いても歩行モーションを実現するには知識が必要で
それができれば そもそも歩行動作をあらかじめ書き込んで実行すれいいじゃないかという結論に至ってしまいました。
オリジナルコントローラ作製
次にオリジナルのコントローラ製作を思い立ちました。
二足歩行ロボットと同じ形のコントローラにしてモーション同期制御を目指します。
コントローラには二足歩行ロボットのサーボモータの数と同様に12個の可変抵抗を使用し、位置も同じように配置しました。
可変抵抗の値をESP32で読み取って通信します。
筐体は3Dプリンタで出力しました。
とりあえず上半身だけ結線してみました。
動作
これまでの通信方式を継承して、コントローラからはUSBケーブルで各可変抵抗の値をPCにシリアル送信して、
UDPで二足歩行ロボットに送信して動かしています。
通信すこし最適化
UDPだとこんなもんかなESPnowはあとで試してみたい#とってもロボットくん pic.twitter.com/KqY501t4vQ
— HomeMadeGarbage (@H0meMadeGarbage) July 9, 2021
UDPですとあまり高速にデータ送信すると二足歩行ロボット側のM5StackCが動作停止してしまい
高速な同期動作は実現できませんでした。
ESP-Now
コントローラ (ESP32) と ロボット (M5StackC) を直接通信させるべくESP-Nowを試してみました。
ESP-Nowによる通信は以前 確認済みです。
動作
ESP-Nowで無線で直接通信しました。
ESP-nowでM5StickCとESP32間で通信
非常に良い応答性で大満足#とってもロボットくん#ESP32 #M5Stack pic.twitter.com/q9MFXnc3kU— HomeMadeGarbage (@H0meMadeGarbage) July 10, 2021
UDPと比較して高速でデータ送信できるので非常にサクサク同期動作が実現できました。
しかもESP同士の直接通信なので環境に依存しないのも魅力です。
おわりに
ここではオリジナルのコントローラを製作してESP-Nowでの同期制御の実現を確認できました。
まだ上半身のみですので次回は全身で動作させてみたいと思います。
それでは次の道でお会いしましょう!
予算1万円~の本通りに二足歩行ロボットを作った者です。その他発展はできないのかと思っていたのですが・・。貴方の記事は非常に興味深く素晴らしい。特にモーション機能等は。その他も幅が広くて良いですね。
ありがとうございます!
予算1万円でつくる二足歩行ロボットは素晴らしい本ですよね。
色々応用を楽しめました。