この記事からの続きです。
今回から、RTAI用のアプリをどう書くか?編です。
とにかくテンプレートのように、コピペしてすぐ使える!という形式を目指しています。新たにRTAIアプリを組む時は、今回からの記事から必要な部分だけコピペして下さい。
なお、ここで使用するサンプルコードはすべてこちらの記事で構築した環境にて確かめています。
今回の記事で出来るようになる事は・・・
- Makefile
- ベースコード
- メッセージ送受信
- メッセージ送受信(長いメッセージ)
- 定期的な処理
自動車業界では、MATLAB/Simulinkをベースとしたモデルベース開発が有望視されています。
なぜかと言うと、適用方法によってはそれなりに工数削減や品質向上が出来ると言う事が実証されてきたからです。
一方ではモデルベース開発によって逆に工数が増加してしまうケースもあり、まだまだ課題が山積みです。
これは、ユーザー様にとっては課題が山積みと言えますが、私にとっては仕事のネタが山積みとも言えます。
このブログでは、そういったモデルベース開発に関わっていく中で思った事について書いていきます。
更新日は月曜日+気が向いた日です。連絡先: yositake@smooth-works.net
この記事からの続きです。
今回から、RTAI用のアプリをどう書くか?編です。
とにかくテンプレートのように、コピペしてすぐ使える!という形式を目指しています。新たにRTAIアプリを組む時は、今回からの記事から必要な部分だけコピペして下さい。
なお、ここで使用するサンプルコードはすべてこちらの記事で構築した環境にて確かめています。
今回の記事で出来るようになる事は・・・
![]() |
View Comments |
仕事をしていくうちに、どんどんノウハウを積み重ねていき、どんどん仕事が楽になる。その結果、どんどん生産性があがり、どんどんボーナスも増えて行く。すごく理想的ですね!
同じソフトウェアを作るにしても、そのスピードは人によって数倍~数十倍の差があると言います。これは個人的な意見ですが、「正しいやり方を知っているか否か?」が、このスピードに対する重要なファクターの1つではないかと思います。
「正しいやり方」というノウハウを積み上げて行くには、「いかに分かりやすく書くか?」が重要です。そこで今回は、私が普段考えている、技術ノウハウの文書化方法について書いてみます。
まず、技術文書は大別して「マニュアル的」なものと、「ハウツー的」な物に分かれると考えています。
図1 マニュアル的な文章は、機能列挙型
マニュアル的な文章とは、どういう機能があるのか?をひたすら列挙している文書のことです。読むのにすごく時間がかかりますが、製品の機能を100%網羅してくれます。
図2 ハウツー的な文章は、機能の組み合わせ方を示す
ハウツー的な文章とは、○○するにはどうしたらいのか?が書いてある文章のことです。読む時間を最小限にして、最大限の効用が得られるように書いてあります。
では、これらをどのように使い分け、どのように書いていったら良いのでしょうか・・・?
![]() |
ノウハウを上手く文書化するには? はコメントを受け付けていません |
以前、FreeHILSプロジェクトの方向付けという記事の中で、次の4ステップを定義しました。
これらのうち、まず第一ステップであるWindowsへの移植の一部が完了しました。移植ついでに日本語対応してあります。日本語OSであれば日本語で、それ以外のOSであれば英語で表示されます。
図1 QRTAI-Lab for Windows 実行画面
まだまだアルファバージョンです。お試しいただいて、不具合を見つけられた際にはぜひご連絡ください。なるべく善処しますので。
ライセンスはGPL2です。要するにフリーソフトですね。
ちなみに、プラットフォーム依存性はなくしたつもりです。ですから、Linux上でコンパイルして実行する事も可能です。コンパイルするには、Qt4.5以降と最新のQwtを使用して下さい。また、main.cpp内のQ_IMPORT_PLUGINを2つコメントアウトしてください。
![]() |
QRTAI-Lab for Windows はコメントを受け付けていません |
この記事からの続きです。
RTAIで何が出来るか?の「IPC」編その4です。
についてまとめます。
なお、RTAI入門(2)のタスクのリアルタイム化は、全ての基礎となっています。ですから、ここだけはご一読をお勧めします。
また、NetRPCとはリアルタイムタスク、メッセージ、メールボックスなどをリモートに扱うための物です。そもそもこれらが何なのか?については、過去の記事をご覧ください。
「タスク、メールボックスの名前」については、ローカル、リモート関係なく全てに通用する概念です。かなり細かい話になるため、これまで避けてきました。しかし、次回からは具体的なRTAI用コードに入ります。ですから、ここで説明しておきたいと思います。
![]() |
RTAI入門(6)何が出来るか?その6 はコメントを受け付けていません |
この記事からの続きです。
RTAIで何が出来るか?の「IPC」編その3です。
についてまとめます。
なお、共有メモリ、FIFO、セマフォは、カーネルモードのアプリを作る時にうれしいものです。
一方、今回のシリーズはユーザーモードのアプリを主眼に考えています。ですから、今回は軽く流します。
なお、RTAI入門(2)のタスクのリアルタイム化は、全ての基礎となっています。ですから、ここだけはご一読をお勧めします。
この記事からの続きです。
RTAIで何が出来るか?の「IPC」編その2です。
についてまとめます。
なお、RTAI入門(2)のタスクのリアルタイム化は、全ての基礎となっています。ですから、ここだけはご一読をお勧めします。
![]() |
RTAI入門(4)何が出来るか?その4 はコメントを受け付けていません |