ラズパイ日記...22日目...倒立調整中→重心を低く

倒立振子の母体は完成し、センサー出力とDCモーターは連動することまでは確認できました。ただ、このままでは倒立しません。センサーとモーター出力を調整する必要があります。

とりあえず、センサー出力を可視化して眺めてみます。

ジャイロの出力が急峻なのでLPFで滑らかに、加速度は出力をそのまま使うのではなく、角度情報に変換して活用します。

加速度センサーから角度への変換はこちらを参考に
https://garchiving.com/angle-from-acceleration/

micropythonでCtrl-Cを掴んで、終了処理をする方法については以下を。これをいれないとモーターが動きっぱなしになります。
https://qiita.com/keisuke-nakata/items/e77b123d75d4b52aac77

当初のセンサー出力です。センサー出力そのままです。

 青線が加速度、赤線がジャイロの出力です。傾きとジャイロの方向は合っています。
このジャイロ出力にLPFを、加速度はatan2(dx,dy)を計算すると角度になるということで、その結果を入れたのがこちら。
ジャイロ出力がマイルドになり、加速度も角度に変換したので、滑らかに角度を表してます。
これで、加速度とジャイロの係数、LPFの係数、モーターの駆動時間等を変化させながら、最適値を探りましたが、最適値にはたどり着かずです。

これで最適値を探す旅もつらい感じなので、まずはボディーの低重心化をして再挑戦したいと思います。
ざくっとは、こんな感じです。結構重心は下がりました。
BEFORE(高重心版)
AFTER(低重心版)

0 件のコメント:

コメントを投稿

ラズパイ日記...esp32(arduino)+mpu6050

# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...