• 締切済み

フィードバック制御の操作量と積分制御について

お世話になります。 2点お伺いしたいと思います。 1点目はフィードバック制御の操作量についてです。 一般的なフィードバック制御のイメージは、 車の速度を一定に保つために、アクセルやブレーキを操作することや 風呂の温度を一定に保つためにお湯をたしたりすることです。 天秤の片方に重り(例えば10g)が載っており、平行に保つために用意された重り(こちらも10g)があるとします。 その用意された重りは片方に載っている重りと同じ重さの重りが用意されており、 それを載っけることで平行にすることができたとします。 その後誰かが1g抜き取ってしまったため、片方も1g抜いて平行に戻した。 これはフィードバックとは言わないのでしょうか? 車や風呂との違いは時間で徐々に目標値に近づくのではなく、 次のステップで目標に達することです。 2点目は、積分制御の具体的な実現方法が思いつかずに困っております。 現在FPGAでフィードバック制御の構築を考えております。 積分制御の目的は一般的に比例制御で制御しきれないオフセット値を打ち消す役目だと認識しております。 http://www.f-kmr.com/pid_control.htm のPI制御の図のようなイメージです。 実現方法は目標値との差をサンプリングごとに足していって、差し引くとオフセットが0になるということでしょうか? 単純なサンプリングごとの差の積分では実現できないのでしょうか? よろしくお願いします。

みんなの回答

  • lumiheart
  • ベストアンサー率48% (1102/2295)
回答No.5

>事前に、相手から「最初に1gとって次に5g取る予定だから」 >と告げられて、相手が行う前に6gたしておくのがフィードフォワード制御ではないのでしょうか? 概ねそんな感じですが微妙に違います 本件の例で実際に何を検出してフィードバックするのか? 具体的には天秤に乗ってるのが粉末の砂糖として 一つまみ取った質量を直接計測できれば理想的なフィードバックになります でも、それはほとんど不可能ですよね 本件のシステムでフィードバックするのは天秤の角度、角砂糖の質量ではない (角度センサで正確に計測可能) 天秤の右の皿から砂糖を??g抜き取った 取った量は不明だが40度傾いた その後、反対側を10g取る修正動作したら30度に傾きが減った さらに、10g取ったら20度になった  <1回に少しづつしか修正動作できない さらに、10g取って10度になった さらに、10g取って0度になった フィードバック制御の場合では一回では終わりません ↑の例では4回 そこで正確に40g取った事が分かれば 例えば角砂糖一つとかならビデオセンサで計測可能 反対側の皿から40g取る事が可能になります 一回の修正動作で完了させるのがフィードフォワードです 最初の質問文で >車や風呂との違いは時間で徐々に目標値に近づくのではなく、 >次のステップで目標に達することです。 と、ご自分で書いてるではありませんか? つまり フィードバック制御:徐々に目標値に近づける フィードフォワード:一回で目標値に近づける ただ、実際にはフィードフォワード制御は単独では存在せず フィードバック制御の補助機能としてあります ↑の天秤の例で純粋フィードバックでは何g取ったか不明なので 少しづつしか修正動作させれない ビデオセンサとかで30gくらいと推定できれば 反対側からとりあえず25g取って様子を見る 後は、普通のフィードバックの繰り返し つまり修正動作を減らして早く収束させるのがフィードフォワードの目的

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.4

#2です。 ちょっと修正。 「誰かが1g抜き取ってしまったため、片方も『1g』抜いて平行に戻した。」 後者の『1g』というのを、平衡の崩れ方(誤差)から算定したなら、フィードバックになります。 (場合によってはオブザーバとフィードフォワードの組み合わせとみなすこともありますが。) 『1g』を誤差以外から知った(たとえば抜き取った人からどれだけ抜き取ったか聞いた)だと、#3さん回答にあるフィードフォワードになります。

yoshi004
質問者

補足

回答ありがとうございます。 フィードフォワードは変化する前に予め補正しておく制御ではないのでしょうか? この場合ですと、 相手が抜き取る前に、「これから1g抜き取ります」 と言った際に、1g足しておいて(この時点では自分の方が1g多い状態) 相手が1g抜き取った際に平行に保たれる。 ということではないのでしょうか? 1g抜き取ったのを目撃して、次のステップで1g抜くのがフィードバック制御ではないのでしょうか?

  • lumiheart
  • ベストアンサー率48% (1102/2295)
回答No.3

>車や風呂との違いは時間で徐々に目標値に近づくのではなく、 >次のステップで目標に達することです フィードフォワード制御 http://www.rkcinst.co.jp/techno/14/techno_14.htm フィードフォワードのミソは予め変化量が分かってる事 本件は正確に「1g」と限定されてるので反対側を正確に1gにするだけ 多くの場合は「適当に一握りの砂糖」とかで正確に何gか分かりません フィードバック制御では片側が10gくらい減った 反対側をとりあえず3gくらい減らそう まだ足りないのであと3g減らそう まだまだ足りないので3g減らそう このまだまだ足りないの累積が積分制御 一度に20g獲ったらハンチング 一度に9g獲ったらほぼ合格 <そんな予測は困難と言うかコスト問題の方が大きい なので通常は少しづつ減らすように制御する >単純なサンプリングごとの差の積分では実現できないのでしょうか? その通りですよ ただ、問題はサンプリング時間の単位と一度に変化させる量を幾つにするか?です 所謂、ジーグラ・ニコルス法 http://www.m-system.co.jp/mstoday/plan/mame/b_control/9904/index.html http://www.m-system.co.jp/mstoday1/MSTback/data/97/8/2.htm

yoshi004
質問者

補足

回答ありがとうございます。 >フィードフォワードのミソは予め変化量が分かってる事 >本件は正確に「1g」と限定されてるので反対側を正確に1gにするだけ 変化量は相手が取るのを見て、 「あ1g取ったな」 とか「5g取ったな」 とか見た後にわかるので、相手が何をとるか分からない時はフィードバック制御にはならないのでしょうか? 事前に、相手から「最初に1gとって次に5g取る予定だから」 と告げられて、相手が行う前に6gたしておくのがフィードフォワード制御ではないのでしょうか?

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.2

1.「その後誰かが1g抜き取ってしまったため、片方も1g抜いて平行に戻した。」 平行になってるかどうか、どれくらいずれてるか、で次の操作を決めているのでフィードバックになります。時間離散の制御系設計のひとつ(最短時間応答)であるデッドビートに相当する制御かと思います。 2. 単純にサンプリングごとの誤差の累積に係数をかけても実現できそうに思います。 

  • davidfox
  • ベストアンサー率58% (21/36)
回答No.1

参考ページは電子工学とあるので、少し違うのかも知れませんが、古典的な機会制御の観点から判る範囲で回答します。 >その後誰かが1g抜き取ってしまったため、片方も1g抜いて平行に戻した。 >これはフィードバックとは言わないのでしょうか? --> 広義の意味でフィードバックと言えると思います。 >車や風呂との違いは時間で徐々に目標値に近づくのではなく、 --> そうですね、車や風呂と違い、燃料の噴射や熱エネルギーが不要なので、 Kp のようなゲインは不要かも知れません。実際のバランス制御は経験が無いので何とも 言えませんが... 2点目の積分制御は少々、質問内容が不明ですが、積分制御の肝は積分時間に有ります。 その積分時間を調整する為に、図の Ki が設けらています。

関連するQ&A

  • フィードバック制御

    ----G(s)----- | | ---H(s)--- 特性方程式1+G(s)H(s)で表されるフィードバック制御系の 位相特性・ゲイン特性を観測する場合 どの点で測定すればよいのでしょうか? どなたかご教授ください。

  • PI制御のオフセットと積分の実現方法について

    PI制御のオフセットと積分の実現方法について お世話になります。 二点お伺いしたいと思います。 一点目は比例制御で生じるオフセットについてです。 他の方の質問の回答に、100Wの電力で100℃に保つレンジに穴が空いて熱が逃げてしまう状態で、同じ100Wでは温度が下がった状態になる温度差がオフセットとありました。 この場合電力を上げてあげる(比例係数を高くする)ことでオフセットはなくなるのではないのでしょうか? また、レンジのドアを開けられて5℃下がった時、5℃分の比例制御(比例係数1倍)を入れてあげれば元に戻るのではないでしょうか? 二点目は、今FPGAでPI制御を設計しており、I制御の積分をFIFOのメモリを用いて、メモリ内のデータを足して、データ数で割る移動平均のような形で実現しようとしているのですが、方針として合っていますでしょうか? よろしくお願いします。

  • フィードバック制御における目標値との差分値の符合について。

    フィードバック制御における目標値との差分値の符合について。 現在FPGAを用いてフィードバック制御を試みています。 PI制御を考えております。 制御の本を読むと、最初に【目標値ー制御対象信号】を行い、 その差分に対してPIの係数をかけて…最後に目標値と出てきた差分を足して、最終出力とあります。 制御対象信号が目標値よりも小さい場合、差分出力はプラスとなり、最終出力は目標値よりも大きい値が出てきます。 逆に制御対象信号が目標値よりも大きい場合は最終出力は目標値よりも小さい値が出力され、目標値に対して振動し、収束します。 制御の本を見ると、オーバーシュート等せずlogのようなカーブを描いて収束する方法もあるとありましたが、上記の方法だと、目標値に対して振動してしまい、実現できません。 下記内容についてお伺いしたいです。 ・振動して収束とlogのようなカーブで収束と両方できる制御方法はあるのでしょうか? ・Pの比例係数は負の値もとれるのでしょうか? よろしくお願いします。

  • PID制御について

    下記の「モータ制御の仕方」を見ています。 http://www.picfun.com/motorframe.html このPID制御によりヒータの制御をしたいと 考えています。 しかし定性的に理解できない点があり、皆様のお知恵をお借りしたく質問させていただきました。 PI制御において 結果的に操作量Vのとき現在値が目標値に達し、その状態を維持できると仮定します。 現在値が目標値になったときは 1.偏差が0になるので比例項は0になります。 2.そうすると操作量Vを維持するものは積分項のみとなります。 3.最適に制御された場合ということは目標値に達したとき積分項の値がVです。 4.もし3.での積分項の値がVより大きければ必ずオーバーシュートが発生して   -偏差が発生し積分項を減らしVに近づきます。 という考えでよいのでしょうか? よろしくお願いします。

  • 制約条件下でのブラシ付きDCモータの角度制御

    制約条件下でのブラシ付きDCモータの角度制御について教えてください. ブラシ付きDCモータの角度制御の制御シミュレーションをMATLABでしています.連続時間系です. 制御対象のモデルは,「印可電圧を入力,電流を出力とする1次遅れ系の伝達関数」→「電流を入力,モータ軸の角速度を出力とする1次遅れ系の伝達関数」→「角速度から角度に変換するための積分器」,および「角速度から印可電圧に負帰還する逆起電力のフィードバック信号」から構成されています. 制御構造は,電流フィードバックループ(PID制御),角速度フィードバックループ(PD制御),角度フィードバックループ(PID制御)をから成るカスケード制御系です. 制約の無い条件下ではシミュレーションが上手くいったのですが,制御入力(印可電圧)に上限値を設定するとワインドアップが発生しました.そこで,アンチリセットワインドアップ補償器を付けたのですが,制御量(角度)が目標値に収束しません.角度フィードバックループを外して,電流フィードバックループ(PID制御)と角速度フィードバックループ(PD制御)からなる角速度フィードバック制御系にすると,アンチワインドアップ補償器を付けると制御量(角速度)が目標値に収束します. なぜ角度フィードバックループを付けると,アンチリセットワインドアップをつけても目標値に収束しないのでしょうか?どうすれば収束しますでしょうか? ご教授の程よろしくお願い致します.

  • 制御工学の問題を教えてください!!

    制御工学に関する質問です 画像のようなフィードバック系において 目標値と外乱がいずれも単位ステップ関数の時、定常偏差が0となるための条件を求めよ という問題です ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・目標値が単位ステップ関数で外乱が0の時は 0型の時は偏差が1/1+KなのでKの値を∞に近づける。もしくは積分器を1つ以上もつこと ・目標値が0で外乱が単位ステップ関数の時は 偏差は-Gp(0)/1+Gp(0)+Gc(0) つまりGc(0)=∞、またはGp(0)=0 よってGcに積分器が1以上あるかGpに微分器が1以上あるかということ ということは分かったのですが 目標値と外乱両方となると分かりません どなたか解答出来る方がいらっしゃいましたら 教えてください!! よろしくお願いいたします!!!!!!

  • フィードバック制御系に単位ステップ入力が加わった時の出力

    R(s)+→○→[G]―●→C(s)     -↑     |        ̄ ̄[H] ̄ 上のフィードバック制御系で G=K/{s(s+2)}、H=1/(Ts+1)で T=0,K=1の時、目標値R(s)として単位ステップ入力u(t)が加わった時の出力c(s)の実時間応答(インディシャル応答)c(t)を求めよ。 という問題があるのですが 単位ステップ入力u(t)というのが何処にどのように加わるものなのかがよくわからないので教えてください。

  • 複素平面の偏角(フィードバック制御-根軌跡)

    フィードバック制御に関する図書で、根軌跡の性質について証明があったのですが、位相条件を求めるところで理解できない部分がありました。 質問したい部分を要約しますと 伝達関数G(s) G(s)={(s-z1)(s-z2)…(s-zm)}/{(s-p1)(s-p2)…(s-pn)} (n≧m) s:(根軌跡上の)複素数 z:零点 p:極 G(s)の偏角を取ると arg(G(s))=Σarg(s-zi)-Σarg(s-pi)   (i=1~m) と書いてあるのですが、なぜ偏角がこのように求められるのかが、理解できずに詰まってしまいました。 どなたかわかる方、助言をお願いします。

  • 伝達関数の組み込み機器での実現方法

    組み込み機器にてPID制御を行おうと考えている者です。 1/sやs、s^2などの伝達関数は、それぞれプログラムにて積分操作、微分操作を行うことで実現できるかと思います。 それでは、 (s+1)/s^2+5s+1 など多少複雑な伝達関数はプログラムではどのように表現されるのでしょうか。 単純な予想としては微分・積分・比例制御・フィードバックの組み合わせで表されるのではないかと思いますが、実際はどうなのでしょう。 何方かお願いします。

  • 絶縁型のスイッチトキャパシタの自作

    現在RX62Nマイコンを使って簡易USBオシロを自作しようと考えているのですが、 電源のグランドをPCと絶縁したいため、始めは 3W級絶縁型DC-DCコンバーター(5V600mA) http://akizukidenshi.com/catalog/g/gM-04261/ を使用しようと思っていたのですが、 以前5V入力⇒10V出力で出力35W程度のフィードバック制御なしの 「非絶縁型降圧チョークコンバータ」は自作した事があるので、 似たような感じで何とかなるのではないかと思い、 折角なら自作しようと考えました。 始めは「絶縁型フライバックコンバータ」など、 トランスを使用して作ろうかとも思ったのですが、 絶縁したい事ために、一層出力電圧のフィードバック制御が大変そうです。 そこで、スイッチトキャパシタを使って以下の写真のように回路を構成すれば、 特にフィードバック制御せずとも一定の電圧を確保でき、 且つ、絶縁もできると考えたのですが、、、どうでしょうか? 目標の出力は5Vの500mAです。 要点 1.フィードバック制御無しで電圧は一定に保たれるか? 2.絶縁は原理的にできていると言えるのか? 3.8pinのICパッケージになっているスイッチトキャパシタは出力の小さい物が多いが、500mAの確保は可能か? よろしくお願いいたします。