2004年11月10日

朝からコーヒー噴出!

あぁもう、分かる人にしか分からないけど、分かる人はこんなことで笑わないかもってネタ。

うちの研究で扱っている非線形システムは、部分線形化されたシステムが2個の積分器直列タイプのシステムになるんですよ。
んで、そのシステムに対して直接lqrなんかでコントローラを設計すると、もとのプラントの挙動を無視しちゃってるってことでまずいですよね。
んでんで、適当な重み関数をつけてHインフィニティコントローラでも設計してやろうかと思ってたんだが・・・

出来上がったのがこれ。
コントローラをくっつけたときの閉ループの挙動なんですが・・・
step10
10秒レンジではいい感じの応答ですが・・・

step20
20秒レンジ(ロングターム)で見ると見事に発散しちゃってます(笑


わらたわらた。
これ(ロングタームでの結果)見たときに思わず「プピッ」とコーヒー噴出しちゃいましたよ。

重み関数を適切に設定しなおしてやることで、
step50
と、こんな感じになりました。
これは50秒レンジで表示してますが、発散せずにちゃんと目標値に一致してます。

はぁ、こんなことで卒業できるのかなぁ・・・
posted by ゆきち at 09:30| 岐阜 ☁| Comment(0) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年07月26日

一長一短

ふぅ、実験用プログラムがコンパイルに通ってやっと一段落。

常々思ってるんだけど、製品バランスってのは難しいね。
使いやすさと、カスタマイズしやすさといった、背反する特徴をうまく調整していかなきゃならないから。

続きを読む
posted by ゆきち at 20:12| 岐阜 ☁| Comment(3) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年06月23日

困ったときは基礎から見直す

昨日今日と、実験のシミュレーションがうまくいかなかったので、その原因究明をしていた。

シミュレーションの内容はというと、非線形状態方程式で記述される制御対象の制御シミュレーション。
この制御対象は、全状態を観測することができないので、観測可能な状態を用いて、観測できない状態を推定してやらなくちゃいけない。

今までのところは、推定点周りで非線形状態方程式を線形近似しつつ、固定ゲインで推定誤差を収束させてやる、という方法をとっていた。
でも、どうやらこの方法だと、初期偏差や、目標値変更の時に、制御性能が悪くなるということが最近わかってきたのだ。

というわけで、以前から考えていた拡張カルマンフィルタを適用してやろうって事でがんばっていたのだが・・・
これが全然できなかったのだ。

状態推定が必要な制御対象に拡張カルマンフィルタを適用する、わかる人にはわかると思うけど、この場合、十中八九行列演算が必要になる。
んで、この行列演算をc言語で書いてやろうと思うと、すさまじい労力が必要。
しかも、書き上がったとしてもごちゃごちゃしてるから、思い通りの結果が出ない場合にも、理論が違うのかプログラムの記述の方法が違うのか判断しにくいし。

とまぁ、そんなこんなで昨日今日と考え込んでいたのです。
考え込んでいるうちに、ポインタを使った、行列演算用の関数も作っちゃいました。ポインタ命令剥き出しなんで、かなり見難いですが。

んで、これが今さっきできたところなんだけど、何がだめだったかというと、カルマンフィルタの仮定をすっかり忘れていたのです。
状態推定が良好に行えるかどうかを、オープンオブザーバで確認しようとしていたんだけど(系には状態フィードバックをかけといて、系への入出力情報から内部状態を推定してやろうという、横着な方法)、カルマンフィルタの仮定として”オブザーバ出力により、系への入力が可測であること”ってのがあるんで、オープンでは良好な推定が行えない。
カルマンフィルタの推定値を使って状態フィードバックを施した場合に、初めて良好な状態推定が行えるって事に気づいて、オブザーバ出力による状態フィードバックをやってみたらあっさりできたという・・・

やっぱり、基本を忘れちゃ駄目ッすね。
特に、仮定の上に成り立っている理論は。
ま、そんなこんなで、今日は1つ勉強になりました。

結果も出せてやれやれです。
posted by ゆきち at 20:53| 岐阜 ☀| Comment(0) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年06月10日

フラクタル画像って不思議

というわけで(どーゆうわけだよ!)、昔、システム数理のレポートとして作成したフラクタル画像をアップしたりしちゃいます。

2次元フラクタル画像_しだ 2次元フラクタル画像_ひのき

最初はただの1個の点でも、2次元平面上で写像を繰り返していくことで、ある図形が出てくるんですね。
不思議ですね。

ソースと実行ファイルも同時にアップしちゃいますが、vbで作ったヘタレプログラムなんで、かなり実行速度が遅いですあせあせ(飛び散る汗)
このプログラムでは、フラクタル画像のボックスカウンティング次元も計算してくれます。

普段生活している中では、整数次元(例えば、直線だったら一次元、円だったら二次元、立方体だったら3次元などなど)しか意識することはないんですが、フラクタルには非整数次元なんてのも存在するんですよ。
あら不思議。
個人的には、1.54次元とかだったら、拘束条件を有する2次元みたいなイメージで捕らえてるんだけど。
違うかな?

この画像を作るために、とある数式しか必要しないってのは、結構面白いと思います。
vbを持っている人は、プログラム中の数式のパラメータをいじって遊んでみても面白いかも。です。

実行ファイルはhige.exeです。
システム数理の先生が、ちょび髭生やしてるんで、この名前になりました。
まぁ、ご愛嬌ということで。

実行ファイルとvbソース

明日ゼミで、時間がないからって、こんなことでお茶を濁してみたり・・・

posted by ゆきち at 21:59| 岐阜 ☔| Comment(1) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年06月09日

拡張カルマンフィルタ

拡張カルマンフィルタや、カルマンフィルタを検索ワードとしてきてくれる人が多いみたいです。
そこで、確率線形離散時間システムのカルマンフィルタ理論を基に、非線形連続時間システムに対して、逐次線形近似と離散化によって線形システムに持ち込んで、カルマンフィルタを適用して状態推定を行ってやろう、と考えたときのノートを公開します。

なんかの役に立ってくれれば幸いですが、内容に関しては自己責任でお願いします。
間違ってたからって僕のせいにしないでくださいあせあせ(飛び散る汗)
まぁ、間違いを指摘していただけたらうれしいですけど。

展開してく途中で、かなり無理な仮定を設けてる部分があるんで、その部分についても、良案があったら教えて欲しいです。

あと、連続時間のカルマンフィルタには手を出さないことをお勧めします。
コンピュータで実装する際には役に立たないし、かのカルマンも離散時間カルマンフィルタを導いた後、友人の数学者Bucyの助けを借りてやっとこさ連続時間カルマンフィルタを導いたらしいので。

kalman_filter.pdf


ちなみにこれは、ここのサイトで従来からサポートされていたjpg,png,bmp以外のファイルをアップして公開してみようという実験でもあります。
posted by ゆきち at 13:18| 岐阜 ☔| Comment(0) | TrackBack(1) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年05月17日

ルドルフ・E・カルマン

そういえば、カルマンフィルタについて文献を追ってたんだけど、殆どの文献で、離散時間確率システムを対象にしてモデルを導いている。
これはなぜか?ってずっと疑問に思っていたのだ。

でも、今日この疑問が解けた。
要するに、離散時間フィルタに対して、連続時間フィルタの導出は格段に難しいということだったのだ。

というのも、カルマンフィルタを導いた”ルドルフ・E・カルマン”本人でさえも、最初に導いたのは離散時間確率システムに関するカルマンフィルタだったのだ。
んで、離散時間のフィルタを導いた後、友人の数学者の助けを借りて、連続時間におけるカルマンフィルタを導いたのだとか。

そりゃ難しいわけだ。
最初に導いた本人でさえも、まずは離散時間フィルタから導いたってんだから。
しかも、確率微分方程式なんかがかなりきちっとわかってないと、導出は容易じゃないみたい。

連続時間のフィルタを導いても、実際に使用するには計算機で計算できるようにフィルタを離散化しなくちゃいけないわけで、結局のところ、連続時間フィルタなんざ、覚えても役に立たないって事も大きな原因なんでしょう。


まぁ、僕は無事に、離散時間フィルタも連続時間フィルタも導出過程を追っかけることができたので、そろそろ次のことに移りますが。

つーか、実質六ヶ月位しかないのね、修論提出まで。
このペースだと、死ねそうだわ。
posted by ゆきち at 23:14| 岐阜 ☔| Comment(0) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年05月12日

カルマンフィルタ・お勧めリンク

以外にも、カルマンフィルタ、あるいは拡張カルマンフィルタで検索してこのブログに辿り着く人が多い。

このブログスペースでは、読みやすい形で数式を書くのは無理(99%)なので、カルマンフィルタを理解するのに役立つページを紹介しておきます。

ノースカロライナ大学・コンピュータ科学部のカルマンフィルタ紹介ページ
ここのページには、ルドルフ・E・カルマンが執筆した初期の論文(1960年のもの)が、PDF形式で掲載されています。
この論文に目を通すことで、カルマンフィルタに対する理解はかなり深まると思います。
まぁ、確率の基礎がわかってないとつらいものがありますが。

フリーのMatlab用カルマンフィルタツールボックス
上記ページでも紹介されていますが、拡張カルマンフィルタをMatlabでシミュレーションするのに役立つツールボックスです。
ただ、さっとマニュアルに目を通した感じでは、非線形システムの状態推定のためのツールボックスと思ったほうがよさそうです。

ツールボックスに関しては、使ってみた感想等も書いていきたいと思います。
posted by ゆきち at 12:27| 岐阜 🌁| Comment(0) | TrackBack(1) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年05月06日

研究ねたが好評?

アクセス解析を見てみると、このHPを訪れる人の検索ワードに、カルマンフィルタや、オブザーバといった単語が多い。
期待して読む程の内容は全然盛り込んでないのにねバッド(下向き矢印)

けどまぁ、そういった言葉を期待してくる人が多いということがわかったんだから、少しばかりそういったネタを書き留めていこうと思う。
ただ、HP上で数式を書くのは結構めんどくさい。
マスプレイヤーなんかをインストールしてもらえば、そこそこきれいな数式が見れるんだけどね。

まぁ、色々と考えてみます。
期待せずに待っててください。
posted by ゆきち at 22:54| 岐阜 ☔| Comment(0) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年04月28日

TeXのインストール

ただただびっくりするばかり、TeXのインストールも簡単になったもんだ。
とまぁ、わかる人にはわかるネタですが、これだけではわからない人のために、少しばかり説明させていただきます。


大学、民間企業の研究者の方々は、自分の研究の成果を発表するために、学会に論文を提出したりします。
また、我々学生は学校を卒業し、学位をいただくためには論文を書き、審査をとおらなくてはいけません。

この両者に共通する論文ですが、この論文を書くためのアプリケーションがTeXなのです。
もっとも、TeXを使わなくても、某MSのWORDやらなんやらを使って書くこともできます。
しかし、理工学系の研究につき物の数式は、TeXを使った方が、はるかに書きやすく、きれいに出力することができるのです。

また、スタイルファイルを用いることで、文書の書式を指定することができるというのも大きなメリットです。
学会によって、論文のフォーマット(書式)が決まっていますが、この書式に沿ったテンプレートファイルをインターネットで配布している学会などもあります。

このように、理工学系研究者にとって、なくてはならない(ちょっと言いすぎか?)アプリケーションがTeXなのです。

ですが、このTeXのインストール、ちょっと前までは一度うまく設定できたら二度とやりたくない類のものでした。
なにしろ、インストールの方法が複雑で、インターネット中からかき集めなくちゃいけないファイルがたくさんあり、しかも、その依存関係も気にしなくてはいけない、さらにさらに、OSの環境変数をうまく設定しないと動かない・・・というひどいありさまだったのです。


ところが、今日見つけたこのサイトでは、マウスひとつでこのTeXがインストールできてしまうのです!
いやぁ、これには感動しました。
なにも気にせずに”クリッククリック”を繰り返すだけで、TeXのインストールが終わってしまうのです。

まぁ、実際に使える環境にするには、エディタをインストールしたり、そのエディタにマクロの設定をしたりと、いくつかやらなくてはいけないことがあるのですが、そんなものは従来のTeXのインストールの困難さに比べれば比較するほどでもありません。

現在、研究室のパソコンと、家のパソコンの計2台にTeXをインストールしてみたのですが、どちらも失敗することなく正常にセットアップができました。
というわけで、今日は大変便利なTeXのインストーラの紹介でした。


あべのりさんのホームページhttp://www.ms.u-tokyo.ac.jp/~abenori/

インストーラ本体はこちらのページにある、TeXインストーラ3 です。http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/index.html
posted by ゆきち at 23:11| 岐阜 ☁| Comment(0) | TrackBack(1) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年04月23日

我が家の困ったさん

まったく、いつもいつも笑わせてくれます。
うちの教室のM1は全部で3人いるのですが、その中の一人が、大変な困ったさん。

どこの大学に行っても、学期のはじめに履修登録を行うはずです。
つまり、どの講義を受けるかを決めて、その旨を学校のほうへ提出しなくてはならないのです。
その履修登録を忘れると、講義に出てて、最後の試験でいくらよい点を取ったとしても、単位がもらえない(;o;)

えぇ、そうです。ここまで読めば予想ができると思うのですが、うちのM1の中の一人が、履修登録を出し忘れていたのです(爆)。
おいぉぃ、M1もう一回やるつもりか?とかってみんなに突っ込まれてましたけど。
ほんとに、マイペースというか、友達がいないというか・・・ほかのM1のやつらも教えてやれよ。

幸い、履修登録変更期間というのがあるので、そこでうまく帳尻が合わせれそうですが。
ほんと、面白いやつですわ。
posted by ゆきち at 16:50| 岐阜 ☁| Comment(0) | TrackBack(1) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年04月22日

デバイスドライバ作成

昨日から行っているxpctargetを用いたリアルタイム制御系の構築。
mathworks社からダウンロードしたデバイスドライバは、real time workshop用ではなく、real time windows target用であることが判明!
何じゃそりゃ?でも、結構間違える人が多いと思う。どっちも省略したらRTWになるし。
というわけで、今日は朝からNI PCI-6014用のデバイスドライバを作成しているのです。

ただ、デバイスドライバの作成といっても、そんなに難しいことはしてない。
既存の似たようなデバイス用のデバイスドライバにちまちま変更を加えていくといった感じ。
まぁ、一から作ってられるかってやつです。

そのなかでいくつか問題点が。
デバイス固有のメモリマップの資料がないので、オフセットアドレスがまったくわからん。
現在の所では、DAは何とか動くくさいけど、ADを使おうと思うと、初期化でこけるっぽい↓
こんなのどうやって原因探れってんだ。
とりあえず、昼からもデバイスドライバと格闘予定です。
posted by ゆきち at 12:42| 岐阜 ☀| Comment(0) | TrackBack(1) | 研究 | このブログの読者になる | 更新情報をチェックする

2004年04月21日

xpctargetのインストール with N.I. pci6014

取りあえず、忘れないうちにメモっとこうということで、MatlabのSimulinkからリアルタイム制御を行うためのツールxpctargetのインストール過程を記しておきます。

通常、我々制御系の研究者は、MatlabのSimulinkを用いて、各自が設計した制御系の性能評価を行います。
そして、満足な制御性能を得ることができたならば、実際の制御対象で実行するためのコードを書いて、制御対象で実行、といったルーチン作業を日常的に行ってます。

ですが、制御系を構築したのち、コーディングを行うというのは、なかなか面倒なものです。
そこで、うちの研究室では、制御系構築の効率を上げるために、Mathworks社のxpctargetを導入することにしたのです。
xpctargetを利用することで、Simulinkで作成した制御系を、制御対象で実行できる形にし、Simulink上で制御対象の信号を表示しつつ、シミュレーション感覚で、実機の実装実験ができるのです。
簡単にいうと、大幅に手間が省けるってことね。

んで、xpctargetのインストールについてですが、特に難しいところはありません。
ワードや、エクセル、その他のアプリケーションをインストールしたことがある方なら、すんなりインストールできるでしょう。

ただし、ファイヤウォールを各PCに導入している場合は少しばかり注意が必要です。
というのもこのソフトウェアは、ホストPCとターゲットPCの通信を行うために、TCPポート22222をデフォルトで使っているのです。
このポートは、Ruxというトロイの木馬型ウィルスが使用するために、通常のファイヤウォールソフトでは、ブロックする設定になっています。
つまり、ファイヤウォールを導入している場合は、その設定いかんでは、通信経路がブロックされているので、うまく動作しなくなるからです。
実際僕は、ファイヤウォールでブロックする設定にしたことを忘れていたために、ホストPCからターゲットPCへとオブジェクトをダウンロードすることができず、3時間ほど悩んでしまいました↓。

また、ターゲットPCで使用するI/Oボードの種類によっては、インストール時のライブラリではサポートされていない場合があります。
今回も、ターゲットPCではNational Instruments社のPCI-6014ボードを使っているのですが、インストール時の状態では使用することができませんでした。
このような場合は、Mathworks社のHPからドライバをダウンロードしてインストールすることになります。
ちなみに、PCI-6014のドライバは、ここからダウンロードしました。

とまぁ、こんな感じです。
まだまだ、導入したばかりで、本当に便利になったかどうか実感は沸いてきてませんが、そのあたりの感想は後日記載ということで。
posted by ゆきち at 15:53| 岐阜 ☀| Comment(0) | TrackBack(0) | 研究 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。