memorandums

日々のメモです。

scilab/scicos がおもしろい


前職の社名には制御という文字が入っていましたが運動方程式が必要になるような制御は扱いませんでした。研究も物流モデルで待ち行列ペトリネットなど離散モデルは扱いますが運動方程式はとんと。。。


ひょんなことからクレーン振れ止め制御モデルの研究・開発のお仕事を頂きまして、少しずつ勉強しながら進めているところです。


もちろん私一人では心もとないので電気通信工学科のロボット制御の専門の先生と、最近はさらに物理学の専門の先生と一緒に打合せを進めています。運動方程式と制御モデルは見えてきたので、今度、模型を作ってシミュレーションしてみようという話までこぎついています。ここまでわずか2、3回の打合せで進みました。話が早い!


私はひたすら後を追いかけて勉強させてもらっています。


昨日、物理の先生が立てた運動方程式に、制御の先生が制御のための非線形項を追加した制御モデルを構築し、シミュレーション結果とプログラムを見せてくれました。私も及ばずながら。。。と思い、scilab/scicosでシミュレーションしてみました。


微分方程式なんて学生以来だ。。。と思いながらscilab/scicosの書籍を片手にモデルを作ってみました。これが面白い!解析的に解こうとすると一階化して逆行列うんぬんなど必要になると思いますが、scilab/scicosではそんなことは必要ありません(背景知識はあるべきだと思いますが)。


とりあえず以下がモデルで、その下がシミュレーション結果です。ケーブルクレーンの物理モデルをかなり簡略化したものですがつるまきばねに模して表しています。ばねですから当然ひっぱって離すと自由振動します。この振れをロープ長の伸縮で早期に抑制しようという制御です。


■つるまきばねの振動抑制制御(ブロック線図)

(減衰項は結線していませんので運動方程式から除外した形としています。制御による減衰か、減衰項による減衰かを区別するため)


■シミュレーション結果

(Graph1が制御の加速度、2〜4がそれぞれバケットの位置、速度、加速度です)


何も制御しないと減衰項がありませんのでばねは振れたまま永久に止まりません(数値誤差のためいずれは発散/収束すると思いますが)。制御すると奇麗に止まります。すばらしい!


Link: Scilab

Scilabで学ぶシステム制御の基礎

Scilabで学ぶシステム制御の基礎

Scilab/Scicosで学ぶシミュレーションの基礎―自然・社会現象から、経済・金融、システム制御まで

Scilab/Scicosで学ぶシミュレーションの基礎―自然・社会現象から、経済・金融、システム制御まで


上記2書はMATLABなど経験のある人を前提としているふしもあります。もう少し部品などの使い方/使い道などを解説したような本があるとありがたいと思いました。ま、発見しながら学ぶのも面白いですけど。そのうちscicos超入門ページでも作りたいと思います。今は本当にとっかりの部分か、奥に入ってしまったページしかないように思います。ちょっと使えるようになった人が実際にscicosなどを使ってモデリングするときに困ることを中心に書いたようなページもしくは本が欲しいです。