M5stickCでESPNOW、IMU情報使って直感操縦シンクロラジコン(07/07追記)
Blynkを使ったラジコン・・・
スマホのIMU信号、加速度データを送信してスマホを傾けるなど、、、
スマホのジェスチャーで倒立振子を操縦するのを作ろうとしたけど
Blynk関数の戻りが遅すぎ(長い時は0.1秒程度)て
倒立振子が倒れてしまう問題があった。
Blynkを使うにおいてもボタン、スライダなどの外部入力ならmsオーダーで全く問題は
ありません。でも、スマホの内部信号、たとえばIMUの加速度センサデータを
取得するには非常に時間が掛かるようです。
M5stickCで作る小さな倒立振子は固有振動周期が短いのでPID制御周期は短くする必要があり、
ある程度のロバスト性を確保するには100Hz程度必要です。
なので、、、0.1秒ほど待ちを喰らうと制御は成立しません。
そこで、M5stickCのIMUを使ってM5のジェスチャーで検討してみることにしました。
M5どうしだと使いやすいBlynkは使えません。
なので、高速で消費電力が少ないとされる、
ESPNOWを使ってみることにしました。
Blynkより設定のスケッチは多くはなりますが期待大です。
ESPNOW、、、
通信自体は基本はWifiのハード構成を利用ですがプロトコルは極端に簡略化されていて
送信は受信側のMACアドレスに対してデータを投げ捨てといった感じです。
なのでBLEのようにペアリングも不要で一旦仕組みを作ってからは運用が非常に楽です。
使ってみるとIMU信号の送信もmsオーダーでおよそ
送れます。なので倒立制御にも支障なく利用できました。
写真 モニタ表示の、、
1行目・・・Espnow-TX が送信機、1行目・・・Espnow-RX が受信機倒立ロボです。
とりあえず簡単なラジコン操作・・・シンクロ回転動作が出来始めたので
紹介です。
こんな感じで動かせてます。
https://www.youtube.com/watch?v=nMwmYoOZys4
前後進も追加してみました。 荒地のカーペット走行でテスト (2022/07/07追記)
https://www.youtube.com/watch?v=R-wg9Zb1neo&t=39s
中身のスケッチはほぼ同じなので
どれかをマスターにして周りでシンクロ動作で踊る?ってのもできるかもです。
詳しくはこちらです。
https://n-shinichi.hatenablog.com/
M5stickCで作る超簡単構成倒立ロボの紹介、
ケースフレームはメルカリでも販売してますので興味のある方はどうぞ。。。
投稿者の人気記事
-
n-shinichi
さんが
2022/07/03
に
編集
をしました。
(メッセージ: 初版)
-
n-shinichi
さんが
2022/07/08
に
編集
をしました。
-
n-shinichi
さんが
2022/07/08
に
編集
をしました。
-
n-shinichi
さんが
2022/07/08
に
編集
をしました。
ログインしてコメントを投稿する