自動車業界では、MATLAB/Simulinkをベースとしたモデルベース開発が有望視されています。言うと、適用方法によってはそれなりに工数削減や品質向上が出来ると言う事が実証されてきたからです。一方ではモデルベース開発によって逆に工数が増加してしまうケースもあり、まだまだ課題が山積みです。これは、ユーザー様にとっては課題が山積みと言えますが、私にとっては仕事のネタが山積みとも言えます。このブログでは、そういったモデルベース開発に関わっていく中で思った事について書いていきます。更新日は月曜日+気が向いた日です。yositakeTags:RTAI-Labみたいな、フリーなHILSを組みたいと思ってらっしゃる方は、RTAI-XMLも良いオプションかも分かりません。このプロジェクトはつい先日公開されたばかりで、必要な各種コンポーネントをパッケージングして、realtime-suiteという名前で公開しています。UbuntuにインストールしたVirtualBoxイメージも公開されています。運用前にざっくり試すにはよさそうです。変わっているのは、ホストとターゲット間の通信をXML-RPCを使って実現しようとしている所です。最初に見たときはオイオイ、パフォーマンス的にどうなんだ・・・と思ったのですが、どうせハイパフォーマンスなHILSが必要なら、数百万~数千万のシステムを使うでしょう。考えると、メンテが楽そうな分、XML-RPCの採用はいい方法かも分かりません。フェーズ1の経過報告です。本当は、フェーズ1を完了させておきたかったのですが無理でした。仕事の方で色々と新企画を練っていまして、そちらに土日の時間を吸い取られてしまったせいもあります。技術的に困難な問題がいくつも持ち上がった事が大きいです。Windowsから、直接Linuxマシン上のモデルを起動できるようにするRTAI-Labが元々もっている、いくつかの不具合を修正するせっかくなので、現状のスクリーンショットを掲載します。RTAI-Lab以前、FreeHILSプロジェクトの方向付けという記事の中で、次の4ステップを定義しました。OSのインストーラ)これらのうち、まず第一ステップであるWindowsへの移植の一部が完了しました。移植ついでに日本語対応してあります。日本語OSであれば日本語で、それ以外のOSであれば英語で表示されます。実行画面まだまだアルファバージョンです。お試しいただいて、不具合を見つけられた際にはぜひご連絡ください。ソースコードライセンスはGPL2です。要するにフリーソフトですね。ちなみに、プラットフォーム依存性はなくしたつもりです。Linux上でコンパイルして実行する事も可能です。コンパイルするには、Qt4.5以降と最新のQwtを使用して下さい。main.cpp内のQ_IMPORT_PLUGINを2つコメントアウトしてください。RTAI-LabせっかくRTAI-Labの解析が終わったのですが、ふとした拍子にもっと良い物を見つけてしまいました。それは、RTAI-LabのQt版で、QRtaiLabと呼ばれています。こちらで公開されています。さわっただけでも不具合をいくつか見つけてしまいましたので、正直まだまだ発展途上なのだと思います。RTAI-LabをQtに移植してくれたのは喜ばしい限りです。こちらをベースに作業を行う事で、5~8作業日(=1~2カ月)は短縮できる事でしょう。移植されているのはGUI部分だけで、RTAIのAPIにはべったり依存しています。RTAIのNetRPCをWindowsに移植する作業はどの道行わないといけないようです。QRtaiLabを使ってみようという方のために、構築手順を書いておきます。<2009.10.25追記>FedoraへのRTAIインストール法をお探しの方はこちらの記事の、「Linuxカーネルへのパッチあて」の項目をご覧下さい。yositakeTags:今週は、GUIアプリの解析をおこないました。なにぶん手を付けたばっかりなので、これという成果もありません。そこで、こんなやり方をしているよ、という所をご紹介します。「他人の書いたプログラムを読む」方法について、少しは参考になるでしょうか。GUIアプリは、だいたい7000行ちょいの、かなり小さなものです。いう未知のツールキットに依存しています。RTAIという未知のAPIにも依存しています。解析するのは簡単ではありません。設計書もないソフトウェアを読みながら解析するのって、けっこうウンザリしますね。みなさん、どうやっているのでしょうか。良い方法をご存じの方は、教えていただけると嬉しいです。yositakeTags:今回は、これまで得た情報を元に今後の方向付けを行います。これから半年とか1年とかかけて、何をしていく事になるのか?をご理解いただけるかと思います。これまで書いた記事を読み返しました。要望っぽいものを拾い集めました。すると、要望としては次の3つに集約される事が分かりました。GUIベースで簡単にインストールしたいGUIベースで簡単に使用したいI/Oボードを色々使いたいすごく当たり前ですね。その実現のためにやるべき事を列挙し、それらを縮約していくと、次の4ステップになりました。OSのインストーラ)これから、これらの詳細についてご説明します。yositakeTags:今回は、RTAI-Lab上でI/Oボードを動かしてみます。「RTAI-Labってフリーでしょ?本当にリアルタイム処理が出来るの?」とお疑いの方は、画像を見ていただくだけでもおおよその性能が分かって頂けるかと思います。インターフェース社のPCI-2727というボードが遊んでいました。このボードはDIOボードです。そこで、Scicosモデルからこの子をコントロールして、矩形波を出力してみることにします。どれくらいのジッタが出るのか、見ものです。RTAI-Lab今週は、RTAI-Labを動かしている所をお見せします。「フリーのリアルタイムシミュレーション環境がどんな感じか、手っとり早く調査したい!」という方は、30秒間だけ、スクリーンショットをざーっと流し読みしていただくだけでも価値があるかと思います。RTAI-Labの両方の組み合わせで動きます。いずれもLinux環境のみです。使って動かしてみました。RTAI-LabをWindowsに移植した際には、MATLAB/Simulinkとの組み合わせにもチャレンジしてみたいと思います。RTAI-Labまずは動かしてみるべく、インストール作業を行いました。難航したのですが、なんとかインストールまで完了しました。これだけで土日をまるまる2日、つぶしてしまいました・・・ちゃんと動かしてみるのは来週になりそうです。「FreeHILSはさておき、完全フリーであるScilab+RTAI-Labにてリアルタイムシミュレーション環境を構築したい!」という方のために、作業手順を書いておきます。RTAI-Lab今回は、FreeHILSに使えそうなパーツについて、ざっくりと情報を集めてみました。「HILSシステムのコストダウンの可能性検討」をされている方や、「モデルベース開発に関する情報は何でも集めて、シミュレーション関連に強くなりたい!」と考えていらっしゃる方にとっては、面白い話になるかと思います。Scicosと、ScicosでHILSっぽい処理が出来るようにしてあるものが、既に存在するという事は知っていました。ここにあるPDFファイルの中で、Scicosを使ってリアルタイムシミュレーションをするための一連の流れがレポートされているからです。(しかし、FreeHILSの要件を全て満たしてくれるかどうかは分かりません。)ですが、レポートは流し読みしただけで、具体的なツールチェーンについてはまだ読んでいませんでした。具体的にどんなモジュールが必要で、それらのライセンスはどうなっているのか?という所を調べることにしました。理想の構成は、こうでした。一般的なHILSはこんな感じが多いです。既存のツールを組み合わせると、こうなってしまいそうです。Linux上でGUIを操作しないといけない、というのがやっかいです。FreeHILSは、Scicosと、あとRTAI-Labというツールがあればベースが出来そうです。このRTAI-LabがLinuxベースなのです。今のところは気にしない事にしましょう。