2009年9月11日金曜日

DCモータの制御(フィードバック)

 マウスではよく,目標のタイヤ速度を設定して(計算して)それに追従するようにフィードバックをかけて速度制御する方法が用いられる.このとき,目標速度v_tarとエンコーダ出力から求めたタイヤ速度vの差を埋めるために,
    r_duty = - P * (v - v_tar) - I * Σ(v - v_tar)
で計算されるduty比を以前に書いたフィードフォワードのdutyに加えてモータにかける.PとIの値は実際に走らせてみて最も追従性がよくなるように調整する.

ログをとってみると,ある程度ゲインを調整すれば目標値にはそれなりに追従するようになる.しかし,タイヤがスリップなどしているときにはエンコーダから求めた速度は実際の速度ではない.高い加速度で加速するとそうしたことが実際に起こっているようで,nakashimaさんによれば減速時にはエンコーダから求めた速度より実際の速度は大きいのでオーバースピードでターンに突っ込んでしまう.それを防止するためにターン前に一定速度の区間を設けるのが広く使われているテクニックだと思うが,この区間は無駄なのでできるだけ短くしたい.(関連するやりとりをメモ)

 最近はますます加速度が高くなっているので,こうした細かいこともよく考察しておきたいところである.

2 件のコメント:

福井 さんのコメント...

極めて興味深く,かつ,物理的直感と反しているのは,速度があがればあがるほど遅れが大きくなる(らしい)ことです.
加速度があがればあがるほど遅れが大きくなるなら理解できるのですが...
というわけで,歯車のゆがみ(60:1とかで問題になることがあるらしい)や,タイヤの歪みかな?と思ったりする.
タイヤの歪みなら物理的直感に反しない.
雰囲気上位陣マウサーは,すべり角が問題になっている臭いし,井谷さんもタイヤを薄くしようなことを記事に書いてらしたので.
そうだとしたら,特性は「どうせばねっぽく一次遅れじゃね?」と思ったりして,タイヤのばね係数に対するオブザーバーを設計する問題になったら熱いナァとか思ったり.
でもまぁ,しばらくは自分には関係ない話題ですな.

kojima さんのコメント...

> 速度があがればあがるほど遅れが大きくなる
タイヤの回転数が上がるにつれて実速度と理論速度の比が一定となるように遅れが大きくなるなら直感と合う.加速度と関係してないとは到底思えないけど,自分のマウスでは実速度を計測できないので調査できない.

> 雰囲気上位陣マウサーは,すべり角が問題になっている臭いし
私もそう思います.グリップのいい柔らかいタイヤを使うと旋回時にそうとう外側にとばされる感覚があります.そのせいでスラローム旋回開始位置は壁切れを基準として,実際に走行されるなかで経験的に決定するというのが有効な手段になる.
試走環境が乏しい人にとっては「経験的に」っていうのがどうにもならない.

> 「どうせばねっぽく一次遅れじゃね?」
本当に扱いたいならとりあえずは一次遅れのばねを考えればいいでしょうね.確かに.ただここの遅れは極めて短いと思うのですぐさま力のつりあい状態になるとして扱ってもいいかと思う.

コメントを投稿