ART-Linuxについて
ART-LinuxはRT-Linuxのように実時間でのプロセス実行を目指したOSで,
産総研さんが開発し,現在はSourceForgeにArt-Linuxの項目があるようです.(
Art-Linux)
個人的にはすごくお勧めなのですが,理由は以下です.
- 100μ秒程度の実時間実行が簡単に実現可能
- ユーザ空間でリアルタイムが実現できるのでRT-linuxのようにカーネルプロセスと分けて開発する必要がない
- 上記のことから,普通のマルチスレッドで組みさえすればよく,面倒なプロセス間通信が必要がない
- タイマーボード等を用意する必要がない
- OS等ソフトウェアはタダのものを使える!(←重要!)
利点1に関しては,制御をする際には非常に重要です.
リアルタイム性は高速に周期実行ができるとか,そういうことではありません.
たとえ1sec周期であっても,windowsではリアルタイム実行が困難です.
それは,windowsだと次回の実行時間が1.000sec後かもしれないし,1.005sec後かもしれないからです.
これはいわゆるリアルタイム性が通常保証されないためです.
その当たりを保証するには,タイマーボード等を用いるか,高度なプログラミングが必要になります.
利点5は重要ですね.OSがオープンソースであり,ARTパッチも無料で使用可能です.
(ただし,ライセンスの詳細は確認してください)
お金のない研究室で,リアルタイム制御が必要ならば,
手持ちのPC+インターフェース社等のAD/DA/DIOを使うことで
10万円前後での実時間制御システムの構築も可能でしょう.
逆に,欠点は以下です.
- Linuxベースのため,Windowsユーザーには壁が高く感じられる(^^;
- RT-linuxのような,二桁μ秒の割り込みは無理(経験的にはARTは100μ秒程度まで…)
- 意外とハードウェア(PC)を選ぶ
上記の欠点があったとしても,制御を考える際には非常に有力な選択肢になりうると思います.
個人的には組み込みでもなければ,RT-Linuxはちょっと…という感じです.
欠点1は,カーネル2.6対応ARTの登場でかなり状況が変わってきました.
WindowsユーザにやさしいUbuntuが使えるようになったからです.
PCに弱い私からすれば,VisualStudioが使えないのは結構なネックですが…
どうしても必要ならeclipseでなんとかなるでしょう.
欠点2は,モータの時定数やロボット制御に必要な計算量を考えれば,
だいたい1msec~サブミリ秒で制御ができれば,十分であろうと思いますし,
これ以上短周期ならDSPも視野に入ってくるレベルだと思いますので,それほど欠点ではないかなと思います.
筆者は200μ秒周期で動作させていた経験があります.
Windowsでは10msec程度がせいぜいなので,これに比べれば随分いいでしょう.
欠点3は,もはや情報を集めるしかありませんw
詳細はインストールの項目に書きます.
以下の項目に当たればART-Linuxがお勧めです.
- 目標とする制御周期が200μ秒~10msec程度である
- 制御に使うデバイスで,linux用のドライバがちゃんと提供されている(←非常に重要!)
- RT-linux用のドライバが無い(←これ多いパターン)
- DSPが使えない(買えるほどお金がない,ドライバがない,計算が複雑)
- 小型PCやノートPCを使うため,タイマーボードが着けられない
- RT-linuxが使えるほどlinuxに詳しくないor面倒くさい
- カーネル領域で完ぺきに動くモジュールプログラミングができるほどプログラミングスキルがない
- フリーズが怖いのでカーネル領域で自作プログラムを動かしたくない
- リアルタイムモジュールとユーザモジュール,二つもメンテナンスしたくない
- 最近のDebianとかUbuntuくらいGUIが動くならなんとか使えそうw
- RealTimeWindowsなんか高くて買えるか!(プチリアルタイムができたWindows CEは無くなったしw)
制御をおこなう場合,一番重要なことは,デバイスドライバの問題です.
いまだにwindows用ドライバしか提供されていない「残念な」デバイスが売られています.
(こういうのは淘汰されてほしいですねw)
兎に角,ART-linuxは一度環境さえ構築できてしまえば,実時間制御に非常に有用です.
それでは実際に構築方法をメモっていきますw
本日の来訪者: -
昨日の来訪者: -
来訪者累積: -
最終更新:2011年09月20日 20:50