Home Made Garbage

1軸 姿勢制御モジュール の倒立に向けた準備 ーリアクションホイールへの道6ー

ホーム
電子工作
Raspberry Pi
IOT
WEB

前回は1軸姿勢制御モジュールの筐体を製作し、簡単な動作確認を実施いたしました。

今回は姿勢制御モジュールの倒立実現に向けていくつか検討、改修を施したので
報告いたします。

 

 

エンコーダ導入

前回の動作確認段階でP制御では倒立しそうもないことは、体感的に理解できました。

 

そこで詳細は次回以降で報告しますが、制御のフィードバックにモータの角速度も追加するべく
モータのエンコーダ出力を利用することにしました。

構成

エンコーダ出力とブレーキ端子をATOM Matrixに接続しました。

 

部品

 

以前 試したようにエンコーダ出力で割り込みしてモータの回転位置と方向を検知します。

 
 
 
 
 
この投稿をInstagramで見る
 
 
 
 
 
 
 
 
 

rotary encoder

HomeMadeGarbage(@homemadegarbage)がシェアした投稿 –

しかし、エンコーダ出力を割り込み検出するべくArduinoコードにattachInterruptを追加したとたんLEDフル点灯(全白)しだし、ATOMが アツアツなってしまいました。

原因はよくわからないのですがM5 ATOM Matrixで attachInterruptとM5ライブラリの共存がうまくいかないようです。

とりあえずは
M5.begin(true, false, false); //SerialEnable ,I2CEnable , LEDEnable
でLEDオフで対応しています。

 

フルスケールレンジ変更

傾き検出の精度を高めるべく、M5 ATOM Matrix内蔵の6軸慣性センサ MPU6886の検出レンジを以下のように変更しました。

  • 加速度:16bit ±8 g → ±4 g
  • ジャイロ(角速度):16bit ±2000 deg/sec → ±500 deg/sec

Arduinoコードでsetup()に以下を追加し測定レンジを指定ました。

 

カルマン・フィルタ見直し

これまでカルマン・フィルタについて2019年7月号のトラ技のコードを参考に
使用してきました。

 

 

しかし、なんだか応答がいまいち良くない気がしたので、
カルマン・フィルタによる姿勢角の推定値を改めて確認してみました。

すると角度を素早く変えるとオーバーシュートぎみで推定値が出力されていることが分かりました。

 

これはよくないので以下のカルマン・フィルタ ライブラリを使用することにいたしました。

以下の通り、応用性の改善を確認できました。

やはり、実績のある既存のライブラリは非常に有用でありがたいものですね。

参考

 

おわりに

現状はまだ倒立できておりませんが、準備は整ったかと思うので
制御の学習をすすめ倒立実現させたいと考えております。

 

 
 
 
 
 
この投稿をInstagramで見る
 
 
 
 
 
 
 
 
 

SHISEIGYO-1

HomeMadeGarbage(@homemadegarbage)がシェアした投稿 –

Related Posts

コメントはこちらから

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

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