NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

倒立振子の制御シミュレーション

解決済み
解決策を見る

はじめまして。

LabVIEW2010を使い始めた学生です。

現在研究で倒立振子の状態フィードバック制御システムの開発を目指して、状態フィードバックループのシミュ​レーションを行いたいのですが、サンプルなどありましたら教えて頂けないでしょうか?使い慣れていないので​よく分かりません。

よろしくお願い致します。

LabVIEW2010開発システムを使用しております。

 

前のメッセージの削除の方法が分からなくて、メッセージを2重に投稿してしまい申し訳ありません。

0 件の賞賛
メッセージ1/11
6,143件の閲覧回数

i07_k 様

 

日本ナショナルインスツルメンツ技術部 寺尾です。
平素よりディスカッションフォーラムをご利用頂き誠にありがとうございます。

 

>現在研究で倒立振子の状態フィードバック制御システムの開発を目指して、
状態フィードバックループのシミュ​レーションを行いたいのですが、サンプルなどありましたら教えて頂けないでしょうか?


海外のディスカッションフォーラムとはなりますが下記に幾つか倒立振子に関する投稿が御座いますので、参考にして頂けるかと思います。
Virtual Inverted Pendulum
http://forums.ni.com/t5/Motion-Control-and-Motor-Drives/Virtual-Inverted-Pendulum/m-p/1691750?requir...

 

Inverted Pendulum
http://forums.ni.com/t5/BreakPoint/Inverted-Pendulum/m-p/613719?requireLogin=False

 

開発されているアプリケーションに関してソフトウエアのみで構築又はハードウエアの使用、アルゴリズム等はどのように考えられていますか?

宜しくお願い致します。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 日本ナショナルインスツルメンツ株式会社 | 技術部 | 寺尾 純一
 Junichi Terao | Applications Engineer | National Instruments Japan Corp.

 サポート情報: http://www.ni.com/support/ja
 技術データベース: http://www.ni.com/kb
 住所 : 〒105-0012 東京都港区芝大門1-9-9 野村不動産芝大門ビル8F/9F
 お問い合わせフリーダイヤル: 0120-527196
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 件の賞賛
メッセージ2/11
6,129件の閲覧回数

日本ナショナルインスツルメンツ技術部 寺尾様

 

返信が遅れてしまい申し訳ありません。

質問への返答ありがとうございます。

 

海外のディスカッションフォーラムは現在読んでいてもう少しかかります。

一応自分でもviを作ってみたのですが、Forループを使ったりしても結果が出ません。

根本が分かってないと思いますが、どうすればいいのですか?

 

viを添付します。

0 件の賞賛
メッセージ3/11
6,122件の閲覧回数
日本ナショナルインスツルメンツ技術部 寺尾様
 
サンプルを確認したら、不明な箇所が多すぎました。
確認が遅れてしまい、申し訳ありませんでした。
 
サンプルを添付し直します。
最終的にはscilabのxcosで作成したサンプルのようにオブザーバを用いた制御で動作させたいです。
.xcosのサンプルが添付できなかったので、jpgで添付致します。
 オブザーバ部分のパラメータは
 
A =     -1373.7346    -30.903313               1                     0
           2982.0336     -106.24328               0                     1
          -166785.23     -29667.18             -240                   0
          -56165.558      48022.734     890.32258    -0.0221048
 
B =    0                   1373.7346      30.903313
          0                 -2982.0336      106.24328
         90                 166785.23       29667.18 
     -333.87097     56165.558      48022.734
 
C = 1   0   0   0
        0   1   0   0
        0   0   1   0
        0   0   0   1
 
D = 0   0   0
       0   0   0
       0   0   0
       0   0   0
 
Initial state = 0
                        0
                        0
                        0
 
です。長々とすみません。
 
ハードウェアはNI ELVISⅡを使用しています。
質問への返答に自信がないので、誤りがあればご指摘おねがいします。
すべてをダウンロード
0 件の賞賛
メッセージ4/11
6,079件の閲覧回数

i07_k 様

 

日本ナショナルインスツルメンツ技術部 寺尾です。
平素よりディスカッションフォーラムをご利用頂き誠にありがとうございます。

 

VI及び画像をお送り頂きましたが現状の問題点はどのような事でしょうか?

LabVIEW上での関数の使用方法や構築方法に関してはこちらでお力添えが可能ですが、アルゴリズムに関してのご助言は控えさせていただきます。

現状の結果と期待する結果の差異について詳細を頂ければと思います。

 

宜しくお願い致します。

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 日本ナショナルインスツルメンツ株式会社 | 技術部 | 寺尾 純一
 Junichi Terao | Applications Engineer | National Instruments Japan Corp.

 サポート情報: http://www.ni.com/support/ja
 技術データベース: http://www.ni.com/kb
 住所 : 〒105-0012 東京都港区芝大門1-9-9 野村不動産芝大門ビル8F/9F
 お問い合わせフリーダイヤル: 0120-527196
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 件の賞賛
メッセージ5/11
6,043件の閲覧回数

日本ナショナルインスツルメンツ 寺尾様

 

返答が遅れてしまいすみません。

 

>VI及び画像をお送り頂きましたが現状の問題点はどのような事でしょうか?

添付したVIに波形グラフや波形チャートで操作量uや台車位置zなどを観測しようと実行したのですが、波形が見えません。

値が収束するかどうかで、フィードバックループがあっているかを検証をしたいのですが、シミュレーション結果が返ってこないのでわからないです。

どうすれば波形が見えるようになるのでしょうか?

よろしくお願い致します。

0 件の賞賛
メッセージ6/11
6,030件の閲覧回数

i07_k 様

 

日本ナショナルインスツルメンツ技術部 寺尾です。
平素よりディスカッションフォーラムをご利用頂き誠にありがとうございます。

 

>添付したVIに波形グラフや波形チャートで操作量uや台車位置zなどを観測しようと実行したのですが、波形が見えません。
uに関して添付ファイルのように数値制御器の配置し確認しましたところ、2.50*10^-315と極端に小さい出力が表示されました
チャートにこの様な小さい値をプロットする事は出来かねますが、この様な値を実際には求められているのでしょうか?

上記の値が正しくない場合、関数個々の単位で既知の値を入力し正常な値を返しているかご確認されてはいかがでしょうか?

 

宜しくお願い致します。
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 日本ナショナルインスツルメンツ株式会社 | 技術部 | 寺尾 純一
 Junichi Terao | Applications Engineer | National Instruments Japan Corp.

 サポート情報: http://www.ni.com/support/ja
 技術データベース: http://www.ni.com/kb
 住所 : 〒105-0012 東京都港区芝大門1-9-9 野村不動産芝大門ビル8F/9F
 お問い合わせフリーダイヤル: 0120-527196
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 件の賞賛
メッセージ7/11
6,017件の閲覧回数

日本ナショナルインスツルメンツ技術部 寺尾様

 

scilabのxcosのブロック線図と比較して確認したところ、積分でLabVIEWの時間領域演算の返す値が小さいことが分かりました。

値が小さい理由が分かりますか?

それとxcosのサンプル&ホールドとLabVIEWのゼロ次ホールドは同等として用いてもよろしいでしょうか?

 

質問ばかりで申し訳ありませんが、よろしくお願い致します。

0 件の賞賛
メッセージ8/11
5,993件の閲覧回数

 

時間領域積分について再確認したところ、scilabのxcosと同じ動作をしました。

申し訳ありませんでした。

もうひとつの質問について教えてください。

よろしくお願いします。

0 件の賞賛
メッセージ9/11
5,969件の閲覧回数
解決策
トピック作成者i07_kが受理

i07_k 様

 

日本ナショナルインスツルメンツ技術部 寺尾です。
平素よりディスカッションフォーラムをご利用頂き誠にありがとうございます。

 

scilabのxcosサンプル&ホールドについてどのように定義されているかは申し訳御座いませんが弊社からお答えしかねます。


ゼロ次ホールドPtByPt関数の動作について下記に記します。

ゼロ次ホールドPtByPt関数はホールド時間で定義されたサイクル数(ループ反復)の間、入力データを保持し出力します。
例としまして反復10回のFor loopにホールド時間を2、入力データにループ反復と共に(0,1,2,3,4,5,6,7,8,9)を入力

出力データはループの反復と共に0,0,2,2,4,4,6,6,8,8となります。

上記より、ホールド時間(2反復)の間同じデータを保持し出力ている事が分ります。


宜しくお願い致します。

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 日本ナショナルインスツルメンツ株式会社 | 技術部 | 寺尾 純一
 Junichi Terao | Applications Engineer | National Instruments Japan Corp.

 サポート情報: http://www.ni.com/support/ja
 技術データベース: http://www.ni.com/kb
 住所 : 〒105-0012 東京都港区芝大門1-9-9 野村不動産芝大門ビル8F/9F
 お問い合わせフリーダイヤル: 0120-527196
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 件の賞賛
メッセージ10/11
5,955件の閲覧回数