倒立振子

【倒立振子part32】タイマー割り込みでモータの角速度を取得する

前回、角度を取得したが今回はモータを回転させて角度を取得する。 プログラム 解説 次回

【倒立振子part31】タイマー割り込みで角度を取得する

前回はタイマー割り込みを初めて実装してみた。 今回はタイマー割り込みを使ってカルマンフィルタの結果を配列に入れてサンプリングタイムごとに値を取得する。 プログラム 解説 次回

【倒立振子part30】タイマー割り込みについて

前回、測定を行うのにサンプリングタイムをメイン文にdelayを使って実行していたが不均一でありそのdelayがカルマンフィルタのサンプリングタイムにも影響を与えているため正確な角度が測定できていないことが判明した。 そのため、メイン文でシステム同定の…

【倒立振子part28】モータのシステム同定

part26にて求めたモデルを使用してシステム同定を行ってみる。 手探り状態なので間違っているかも。。。 今回システム同定をするにあたりMATLABが必要となりそうなのでお試しで評価版を使用していく。 SITB含めても2万ちょいなので買ってもいいかもしれない…

【倒立振子part27】倒立振子モデルのシステム同定の準備

前回、モータのモデルを作ってからシステム同定について文献を漁ったりいろんな方のブログなどを参考にさせていただいて、だいぶ理解が深まった。(と思う。) 一応入力の信号の選定やシステム同定のやり方、マイコンに書き込むプログラムは作ってみた。 しか…

【倒立振子part26】モータのモデルの見直し

前回から倒立振子のモデルの見直しを行った。 今回はまだモータが届かないので、先にモータのモデルの見直しと今後の方針を整理していく。 モータのモデル化 無負荷状態 ロータ装着時 今後することの流れ 次回

【倒立振子part25】モデルの見直し

前回はモータを分解して回転子の形状と慣性モーメントの確認を行った。 そこでシステム同定なるものを使ってモータの伝達関数を求めていこうと思ったのだが、参考書である「システム同定の基礎」を読んでいるうちに、「状態空間モデルの形が求まっているので…

【倒立振子part24】モータの内部調査

前回モータをぶっ壊してしまい萎えてから1週間程度が経過した。 どうしようかなと過去の記事を見返していると検索していたモータの型番が間違っておりアリエクで同じかもしれないものが売っていたので買ってみた。 1か月以上先になるけど同じのが来てくれる…

【倒立振子part20】連続系から離散系への変換について

これまで連続系での状態空間モデルを作成し最適制御を用いてフィードバックゲインを求めて安定化できることを確認した。 今回からは実際にマイコンで動かすために連続系から離散系への変換を行っていく。 手探りで進めていくので、誤った解釈があるかもしれ…

【倒立振子part19】DCモータのパラメータ同定の見直し②+シュミレーション

前回は逆起電力定数とトルク定数を求め直したがほぼ同等であることが判明した。 内部抵抗については記載されている定格で求めたがPWMのDuty比が100%とは限らないのではないかと思い内部抵抗を見直す。 求め方 フライホイール(慣性ロータ)の慣性モーメント 計…

【倒立振子part18】DCモータのパラメータ同定の見直し①

前回、最適制御したときに入力電圧が大きくなりすぎる問題があり原因の調査を進めていく。

【倒立振子part17】最適制御

前回作成した状態空間モデルに対してモデルの評価と最適制御を利用して倒立させるレギュレータ極を求めていく。 状態空間モデルの評価 安定性 可制御性 状態フィードバック制御 LQR シュミレーション 次回

【倒立振子part16】パラメータ一覧まとめ

今まで設計及びパラメータ同定によって求めた必要パラメータをまとめる。

【倒立振子part15】振子系のパラメータ同定

前回で本体の製作が完了したので振子系のパラメータ同定を行う

【倒立振子part14】本体設計

前回までは状態空間モデルやパラメータ同定を行った。 今回は本体の倒立振子を作成していく。

【倒立振子part13】カルマンフィルタで角度導出

前回は角速度と角加速度から角度の導出を行った。 その際にそれぞれデメリットがあるため改善のためにカルマンフィルタの導入する。 今回カルマンフィルタを導入するにあたり「トラ技2019/7月」を元にまとめていく。 (過去、倒立振子を作ろうと断念して放置…

【倒立振子part12】Atom Matrixでの角度導出

今回は倒立振子の傾き角度を求めるためにAtom Matrixでの角度導出する。 角度導出 ジャイロセンサ 軸周りの角速度を積分 軸方向の角加速度から三角関数 実測 原因 次回

【倒立振子part11】慣性ロータ系のパラメータ同定

前回DCモータのパラメータ同定を行い未知パラメータの導出を行った。 今回は慣性ロータ系のパラメータ同定を行う。 marurunru.hatenablog.com 導出方法 シュミレーション結果 次回

【倒立振子part10】ブラシレスDCモータのパラメータ同定part2

前回はブラシレスDCモータの逆起電力定数、トルク定数、内部抵抗の測定を行った。 今回は粘性摩擦抵抗、回転子の慣性モーメントの導出を行う。 導出方法 ステップ応答実験 パラメータ同定 シュミレーション結果 次回

【倒立振子part9】ブラシレスDCモータのパラメータ同定part1

モータの回転と角度、角速度の測定ができるようになったのでパラメータ同定を行う。 使用したモータはID-549XWである。どうやらマブチモータが複写機・複合機(MFP)用のステッピングモーターを省電力化目的の置き換えで製作されたモータっぽいが詳細の情報…

【倒立振子part7】エンコーダの値を読み取る

前回ブラシレスDCモータを回転させた。 今回はとりあえず内蔵基板のエンコーダの値を読み取ってみる。 ロータリーエンコーダ 波形を読み取る プログラム 測定結果 次回

【倒立振子part6】モータを回す

前回までは振子を倒立させるのに必要なモデルと状態空間モデルまで作成した。 今回からはハードの設計と製作を行う。 前提 ブラシレスモータについて ブラシレスDCモータを回転させる LEDを光らせる PWM出力をする ボタンを押してPWMをパターンごと出力する …

【倒立振子part5】パラメータ同定について

前回で状態空間モデルが完成したので今回は変数の値を求めていく。 重量など実測することで判明するものもあるが、粘性摩擦抵抗などのように測定できないものは近似モデルと実測が同じ結果になるようにパラメータ同定を行う。 1. 慣性ロータ系のパラメータ同…

【倒立振子part4】状態空間モデルを作る

下記のpart2,3でモデルの運動方程式が作成が完了した。 今回は導出した運動方程式を状態方程式と出力方程式に変形してシステムの状態空間表現を行う。 現代制御について 運動方程式 運動方程式から状態方程式へ 次回

【倒立振子part2.5】maxiamaのコード

色々調べてもコードが入力できないなぁと思っていたけど、原因が分かったので書いておく。 はてなブログには編集モードが「見たままモード」「はてな記方」「Markdown記法」の3種類があるっぽい。 はじめは「見たままモード」になっており、このモードだと一…

【倒立振子part3】DCモータのモデル作成

前回慣性ロータを使用したモデルを作成した。 marurunru.hatenablog.com DCモータのモデル化 次回

【倒立振子part2】maxiamaでモデルを計算する

前回でモデルに必要な式の導出を行った。 今回はラグランジュの運動方程式を計算するためにmaxiamaを使用して式を計算する。 (maximaのコードはどうやってここに挿入したらいいのか分からない。。。) 計算した結果 この式は非線形のため線形化を行う。 ...① …

【倒立振子part1】モデル作成

今回は前回のロードマップのうちの一番初めの項目である 制御モデル 慣性ロータ(フライホイールのほうが正確なのか?)を使用した倒立振子のモデルを作成していく。 モデルのイメージは下記。 パラメータは下記とする。 mp:振子の重量 mr:ロータの重量 θp:…