• 締切済み

フィードバック制御について

今簡単なロボットアームのシュミレーションの勉強をしているのですが、これまでのシーケンス制御からPIを使ったフィードバック制御に切り替えようと考えました。 現在シュミレータには入力値として、目標位置から逆運動学を計算して出た角度を与えて動かしています。 もちろん出力は角度で出てくるのですが、PI制御の式を適用しようとした場合に、入力も出力も角度になってしまい、どうすればよいのかよくわからなくなってしまいました。 この場合の入力値はどのように与えてやればよいのでしょうか。 お恥ずかしい質問なのですが、どなたかご教授していただけないでしょうか。

みんなの回答

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

現在のシステムは 「目標位置」-ある関数(逆運動から導出)-「希望角度」-モータなどのドライバ-「モータなどの駆動入力」-..-「軸の実際の角度」-「位置」 というオープンループ制御になっているかと思います。 (「」が変数に対応。) ここで、フィードバックを導入するときに、何をフィードバックで制御したいか、何を操作(調節)するか考える(決める)必要があります。 (例えば、「希望角度」と「実際の角度」が一致するように、モータの入力を調節するのか、「目標位置」と「実際の位置」が一致するように「希望角度」を調節するのか、など。)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

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

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

  • ステッピングモータのフィードバック制御について

    ステッピングモータのフィードバック制御を使って、シミュレーションを使いたいのですが、 何をフィードバックすればいいのかわかりません。 ACモータの場合は、速度と変位をフィードバックすればいいと思うのですが、 ステッピングモータの場合は、どうすればいいのでしょうか。 ご教授お願いいたします。 ちなみにHB型ステッピングモータを使用したいと思っています。 シミュレーションはSIMULINKを使っています。 もし可能であれば簡単な回路図も教えてくれるとうれしいです。

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

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

  • 制御工学(ブロック線図)など

    制御工学を習い始めたものです。 そこで、ブロック線図というものは 各要素の結合の仕方や信号の流れの様子を 視覚的にわかりやすく表現できるということなのですが いまいち、理解することができません。 信号を入力して内部でなんらかの作業がおこなわれ出力されるということはわかるのですが フィードバック結合というものなどの少し複雑なものが入ってくると 入力したものの、無限ループされているようなきがして、出力されているのだろうか?と疑問に思ってしまいます・ 必ず、入力すれば出力されるものなのでしょうか?? ブロック線図の前にフィードバック制御というものがでてきましたが それは、制御量を目標値と比較して、それを一致させるような制御のようですが フィードバック結合も、同じようなことを行っているのでしょうか? 質問の内容が意味不明ですみません。

  • モーター制御について教えて下さい。

    初心者ですが、モーター制御で良くわからない点があり、教えて下さい。 ACサーボモーターを使用してトルク制御を行なおうと考えています。 具体的には、ある原点位置から ・角度θ1の位置に至ったら、トルクT1を出力 ・角度θ2の位置に至ったら、トルクT2を出力 (省略) ・角度θxの位置に至ったら、トルクTxを出力 といった出力を連続して行なうことを考えています。 (トルクはフィードバック制御を行なう) ある位置で定義したトルクを超える負荷が掛かると、次の位置に至り、その位置で定義したトルクを超える負荷が掛かるとまた次へ。。。 といった単純な仕組みを考えています。 そこで、良くわからない点というのが、角度θ1からθ2に至る時の軸の回転速度がどの様になるのかです。 例えば、トルクT1が大きい状態からトルクT2が小さい状態へ変化する時、モーター軸の回転速度は負荷イナーシャによって決まる物でしょうか? 速度は制御するわけではないので、単純に考えるとイナーシャの大きさとトルクの変化量によって決まるのかと思うのですが。。。 できれば、このトルク制御をベースに、θ1からθ2に変化する時の速度を増減させる様な事をしたいのですが、原理的に可能でしょうか? (特に、トルクが大きい状態から小さい状態へ変化する時の速度を大きくコントロールしたい) 色々資料を見ていますが、トルク制御をした場合の速度変化をどう考えれば良いか、トルク制御をベースに速度も制御することが可能なのかを明記している資料も事例も無さそうなので、ご教示いただけると幸いです。

  • 多入力多出力PID制御と現代制御

    多入力多出力PID制御と現代制御(状態フィードバック制御)を比較した場合、制御性能に差はあるのでしょうか?それとも同じでしょうか?

  • フィードバック制御系の安定性について

    フィードバック制御系の安定性について教えていただきたい事があります。 負帰還のフィードバック制御系を構成した際に閉ループ系での安定性を確認するのに、開ループでのボード線図においてゲインクロス周波数(ゲインが0dbとなる周波数)、位相クロス周波数(位相が-180度となる周波数)での位相余裕、ゲイン余裕から判定する方法がありますが、このゲインが0db以上でなおかつ位相が-180度以上回ったとき不安定になるという条件は、全周波数帯域において言えることでしょうか? というのも、どこかでこの安定判別はゲインクロス周波数以上の周波数で評価するように聞いた覚えがありましたので。 システムによっては開ループのボード線図が、コントローラによって低域ゲイン0db以上に持ち上げたゲインクロス周波数以前の制御帯域内において位相が-180度を下回っているのですが、これは不安定で発振する可能性があるのでしょうか? そもそもこの不安定は、入力した信号に対しコントローラ、プラントを通った出力信号の位相が入力信号に対して位相が180度ずれて出てきたものを負帰還でまたコントローラに入力するので、発生するものと理解しているのですが、だとすると制御帯域内であろうと開ループ特性で見ると同じように不安定条件を満たしていると思うのですがどうなのでしょうか? ただ、そのときの閉ループのボード線図を見ると、制御帯域内においてはゲインが0dbでフラット、位相も0dbに整形されているので、不安定にならないような気がします。 どのように考えればいいのかわからず戸惑っています。制御に詳しい方、どうかご回答よろしくお願いいたします。

  • OPアンプを使ったPI制御器について

    OPアンプを使ったPI制御器で、PI制御中に故障信号の入力で比例ゲインの抵抗をFETでOFFしている回路があるのですが、シミュレーションをしてもうまくいかず動作が良く分かりません。 PI制御中に比例ゲインの抵抗をOFFするとどのような動作をするのか、ご存じの方お教え願います。

  • モータの位置制御についてご教授ください.

    DCモータ(マブチ,RE280)のポテンショメータ(コパル,JC10)における位置制御を行おうと考えています.OPアンプは東芝のモーター用パワーオペアンプTA8407Pを用いております. トラブル現象としては,モータの位置制御を行うため,フィードバック回路をモータ駆動用アンプのー入力に入れたのですが,出力電圧は変化するものの,モータの位置制御が行われません. オシロで確認したところ,フィードバック信号は駆動用オペアンプ手前まで入力されているのですが,モータは一向に位置制御せず,停止しません. ポテンショの±の電源を逆にしたり,オペアンプを交換したりといろいろと試して見ましたが,改善されませんでした. どこかチェックするべき箇所がありましたら,ご教授いただけないでしょうか.よろしくお願いいたします. また,上記オペアンプ以外でモータの位置制御を行えるアンプがありましたら,それもあわせましてご教授ください.