2019年7月15日スマホアプリBlynkを使用してBluetoothでコントロールしています。前回のアプリ設定にジョイスティックウィジットを追加しただけです。ジョイスティックの設定はx軸とy軸の出力をMERGEしてヴァーチャルピンV4に出力させ、それぞれ値は-5~5としました。y軸の値で前進/後進をx軸で左右旋回動作します。値が大きくなるほど動作速度が上がります。IDEプログラム前回とほぼ同様のコードです。カルマン・フィルタによって傾斜角と角速度の推定値を導出してPID制御によってモータをフィードバック制御しております。435旋回動作を実現させるためにモータドライバの制御を左右のモータで関数を分離しました。これにより左右のモータを異なる動作の指示ができます。L459-476ジョイスティックの値をヴァーチャルピンV4で受けます。y軸の値で前進/後進、x軸の値で旋回動作させます。521推定された傾斜角(theta_data[0][0])にジョイスティックy軸の値を足すことで倒立振子の前進(+y)と後進(-y)を実現させています。527PIDを係数かけてモータ出力を導出する前に比例項にジョイスティックx軸の値を足すことで倒立振子の旋回動作を実現します。470)足して旋回動作させています。おわりにPID制御でも動作コントロールできることを確かめました。外乱には弱いですしもっと安定した振子にしたいです。ロータリエンコーダは使用しないカジュアルな倒立振子にしたいものです。M5StickCが小さくて半端ない集積でもってカワイイのですから。粛々と勉強を進めます。このオレンジの中に・加速度センサ・ジャイロセンサ・Bluetooth/WiFi・GPIO(各種通信I/F)・LCDディスプレイなどなどが詰まっているので、こんなにも可愛い倒立振子が出来ました。コメントをキャンセルメールアドレスが公開されることはありません。コメントのみでもOKです。コメントデータの処理方法の詳細はこちらをご覧ください。