Makingソフトをいろいろ修正お盆休みはほとんど作業ができなかったが,お盆があけてソフトの手直しを始めた。外乱オブザーバの改善は速度の検出精度UP,電流ループの安定化でなんとか使えるレベルになってきた。具体的にはインプットキャプチャの割り込みを使った正確なCET法で高速域での検出精度UP,制御周期内にパルスが来なかった場合に検出速度を推定速度で置き換える低速域での検出精度UPを行った。電流ループについては逆起電力補償のフィードフォワードを追加し,電流フィードバック量をできるだけ減らすことでフィードバックによる発振を抑える対策を行った。以上の対策でかなり発振を抑えられ,外乱抑制がそれなりに効くようになってきた。外乱オブザーバを試す中で見えてきたのだが,サーボシステムの究極の形は外乱フィードバックではないかと思う。外乱がゼロの場合はフィードフォワード信号のみで誤差なく追従するシステムである。F/F制御には追従遅れが発生しないのに対して,F/Bではいくら高速でハイゲインにしても必ず多少の追従遅れが生じる。すると,できるだけ既知のモデルを動かすための制御量はF/F側から発生させたい。しても未知の部分だけをF/Bで収束させようにしたい。現実にはモデルパラメータがアナログ的に変動するためF/F制御に頼り切るのには限界があるが,リアルタイムにモデルを修正することができればある程度解決できる気もする。このあたりをもう少し攻めてみるのもおもしろいかもしれない。(0)外乱オブザーバうまくいかず今日はおもり付きモータで外乱オブザーバの実験を行う。おもりを持ち上げておろし,1回転と1/4だけ回してピタリと止める。外乱相殺効果が効けばおもりを振り上げる際の重力によるふらつきが減るはずだ。位置-速度-電流ループのうち,速度ループの結果を比較したもの。大まかな波形を見ると速度のふらつきはだいぶ抑えられている。細かいノイズ状の振動が生じ,特に動き出しと停止時がかなり振動的になっている。次のグラフは位置偏差を比較したもの。誤差はオブザーバありの方が小さくなっている。ここでも動き始めと終わりで高い周波数の振動が生じてしまっている。ちなみに上記の実験で使った加速度信号は固定小数演算を使って十分な分解能を確保し,さらに強力なLPFをかけてある。このLPFの時定数が外乱抑制効果を決定するのだが,現状は高精度エンコーダを使ってもまだS/N比が足りない感じだ。素の加速度信号,推定外乱信号はすさまじい荒れ狂い方なので,LPFのカットオフを下げざるを得ず,外乱抑制の効く帯域もいっしょに押し下げられてしまう。今のところ,速い外乱を抑制する効果を期待して小さい時定数のフィルタにすると発振気味になってしまい,十分にフィルタをかけると今度は外乱抑制がほとんど効かないというジレンマに陥っている。早い応答を期待して加速度次元での信号を扱っているのに,おいしい帯域がメカ時定数よりも下がってしまうのでは本末転倒だ。外乱オブザーバなんてやめて速度項への弱い積分項追加+ハイゲインで攻めた方がまだましな気もしてくる。これはちょっと残念な結果だ。高い部品を買ったのだし,まだあきらめるには早すぎる。食い下がってみようと思う。今日は新しく購入した光学500pprエンコーダ付きモータの性能を試す。写真のようにこの光学式エンコーダはけっこう大きくてモータの後ろがかなりでっぱる。パルスの精度はどうか。前まで実験に使っていたMR(磁気抵抗式)256pprエンコーダと速度検出の誤差を比較してみた。上記のデータはオシロでパルス間隔を測定して求めたもの。パルスエッジの位相誤差が30%から1%程度に激減した。これならばパルス間隔の時間を計るアルゴリズムが使え,高精度,高分解能の速度検出が可能になる。今回の比較実験ではCET法やDPC法よりもSPM法の精度が良くなっているが,これはたぶん割り込みによるジッタの影響だろう。今の制御アルゴリズムは多重割り込みを使っているため,どうしてもサンプリング周期にジッタが発生してしまう。このため,一定周期内に入ったパルス数をカウントするDPC法,CET法の精度はジッタの誤差のために一定以上に上がらない。SPM法ではマイコンのインプットキャプチャを使ってハードで処理しているのでジッタの影響を全く受けず,エンコーダの素の精度を反映できているということになる。今わざわざこんなことをやっているかというと,今までやった中で高精度のエンコーダを使わなくてもPID+α程度の制御性能は実現できているのだが,次なるステージとして外乱オブザーバによるロバストサーボを試してみるため。外乱オブザーバでは観測量に加速度を使うため,取得位置を2回微分してもソコソコ有意なデータとなるような高精度エンコーダが必須なのである。これがコケても速度ループの応答高速化にはきっとプラスになるだろう。(08/01)新適当マイコン電子工作研究所:知能ロボットコンテスト・フェスティバル2009を見てきました。