MAGAZINE ARTICLES
このページをホームページに登録
組み込み機器の統合設計環境へと進化、
NI社が示した「LabVIEW」の可能性
[2007年10月号]
アイデアを実際の機器として実現するためには、多くの設計/開発工数を要する。複雑な機器の場合は、メカニカル設計や電気回路設計、サーボ制御プログラム、センサー信号の解析アルゴリズムなどが必要になり、より一層、設計期間が長くなるだろう。しかし、今日、設計者には市場にいかに早く製品を提供するかということが求められている。
2007年8月、米テキサス州オースティンにおいて、米National Instruments社が主催する仮想計測システムとグラフィカル開発環境のイベント「NIWeek 2007」が開催された。同イベントでは、開発/プロトタイピング/デプロイメントを短期間で行うための手法とその実例が紹介された。
2007年8月、米テキサス州オースティンにおいて、米National Instruments社が主催する仮想計測システムとグラフィカル開発環境のイベント「NIWeek 2007」が開催された。同イベントでは、開発/プロトタイピング/デプロイメントを短期間で行うための手法とその実例が紹介された。
メカニカルと
エレクトロニクスの統合
従来の機器設計の手順は、まずシステムの仕様を決定し、その後、メカニカル設計、電気設計、制御設計、プロトタイプの評価/最適化、デプロイメントなどの工程をシーケンシャルに積み重ねることによって行われていた。そのため、工程をさかのぼって問題を解決しなければならなくなるので、後工程になるほど問題が発生した場合のリスクは大きかった。また、それぞれの工程に用いられるソフトウエアの開発環境がまちまちであるため、工程ごとに異なる開発ツールに習熟することが求められ、多くのエンジニアを必要としていた。
加えて、それぞれの工程ごとにも異なる課題がある。例えば、設計工程では、メカと電気を融合して直感的にアイデアを具現化可能な開発ツールが求められている。プロトタイピングでは、そのアイデアを基に、実際の物を迅速に作り出す必要がある。デプロイメントの課題としては、プロトタイピングで用いたプログラムをそのまま利用できることが求められている。
こうした課題に対してNI社が提案するのは、設計工程を並列化し、統合開発環境としてグラフィカル開発環境である「NI LabVIEW(以下、LabVIEW)」を用いるというものだ。
同社が提案する工程は、次のようなものである。まず最初にシステム仕様を決定し、次にメカニカル設計と電気設計、制御設計を並行して行う。その上で、組み込み設計とプロトタイピングを経てデプロイメントを行うというものである。一方、具体的な作業は次のようなものになる。まず設計では、電気設計と制御設計をLabVIEW上でグラフィカルプログラミングによって行う。それと並行してメカニカル設計を米SolidWorks社の3次元CAD上で行い、物理モデルを作成する。次に、その物理モデルをSolidWorks社のモーションシミュレーションソフト「COSMOSMotion」に入力する。その後、LabVIEW上で物理モデルとそのコントロールを行うグラフィカルプログラムを連携させてシミュレーションを実行するというものだ*1)。
LabVIEWはグラフィカルな開発環境であるため、直感的な操作でシステムを設計することができる。また、試作を行うことなくメカと電気を統合したシステム全体のシミュレーションが可能になるため、初期工程において信頼性の高い検証が行え、後の工程における問題発生のリスクを低減できるという。
プロトタイピングの工程は、LabVIEW上で作成したグラフィカルプログラムを同社の計測/制御システムである「NI PXI(以下、PXI)」や「NI CompactRIO(以下、CompactRIO)」などで実行し、物理モデルと実際に試作したものを組み合わせて実現する。LabVIEW上で作成されたグラフィカルプログラムは、それぞれに対応するハードウエアで実行することが可能であるため、一般のプロトタイピングの際に作成する回路基板の設計や、組み込みソフトウエアの設計にかかる時間を省くことができるという。
デプロイメントにおいては、量産でPXIやCompactRIOを用いるとコストやサイズの面で問題があるため、何らかの安価なシステムに移植しなければならない。そのために、同社はシングルボードとして簡素化された「SB ComapctRIO」を提供している。そのハードウエアのアーキテクチャはCompactRIOと同等であるため、LabVIEWのプログラムの再利用が可能である。
さらに安価なハードウエアが求められるケースに対応するために、カスタムのSB CompactRIOや、LabVIEW上のプログラムをASICに移植するソリューションも提供されている。また、組み込みアプリケーション用のLabVIEWモジュールを用いれば、LabVIEWのグラフィカルプログラムを米Analog Devices社のDSPである「Blackfin」やFPGAなどに移植することもできる。
加えて、それぞれの工程ごとにも異なる課題がある。例えば、設計工程では、メカと電気を融合して直感的にアイデアを具現化可能な開発ツールが求められている。プロトタイピングでは、そのアイデアを基に、実際の物を迅速に作り出す必要がある。デプロイメントの課題としては、プロトタイピングで用いたプログラムをそのまま利用できることが求められている。
こうした課題に対してNI社が提案するのは、設計工程を並列化し、統合開発環境としてグラフィカル開発環境である「NI LabVIEW(以下、LabVIEW)」を用いるというものだ。
同社が提案する工程は、次のようなものである。まず最初にシステム仕様を決定し、次にメカニカル設計と電気設計、制御設計を並行して行う。その上で、組み込み設計とプロトタイピングを経てデプロイメントを行うというものである。一方、具体的な作業は次のようなものになる。まず設計では、電気設計と制御設計をLabVIEW上でグラフィカルプログラミングによって行う。それと並行してメカニカル設計を米SolidWorks社の3次元CAD上で行い、物理モデルを作成する。次に、その物理モデルをSolidWorks社のモーションシミュレーションソフト「COSMOSMotion」に入力する。その後、LabVIEW上で物理モデルとそのコントロールを行うグラフィカルプログラムを連携させてシミュレーションを実行するというものだ*1)。
LabVIEWはグラフィカルな開発環境であるため、直感的な操作でシステムを設計することができる。また、試作を行うことなくメカと電気を統合したシステム全体のシミュレーションが可能になるため、初期工程において信頼性の高い検証が行え、後の工程における問題発生のリスクを低減できるという。
プロトタイピングの工程は、LabVIEW上で作成したグラフィカルプログラムを同社の計測/制御システムである「NI PXI(以下、PXI)」や「NI CompactRIO(以下、CompactRIO)」などで実行し、物理モデルと実際に試作したものを組み合わせて実現する。LabVIEW上で作成されたグラフィカルプログラムは、それぞれに対応するハードウエアで実行することが可能であるため、一般のプロトタイピングの際に作成する回路基板の設計や、組み込みソフトウエアの設計にかかる時間を省くことができるという。
デプロイメントにおいては、量産でPXIやCompactRIOを用いるとコストやサイズの面で問題があるため、何らかの安価なシステムに移植しなければならない。そのために、同社はシングルボードとして簡素化された「SB ComapctRIO」を提供している。そのハードウエアのアーキテクチャはCompactRIOと同等であるため、LabVIEWのプログラムの再利用が可能である。
さらに安価なハードウエアが求められるケースに対応するために、カスタムのSB CompactRIOや、LabVIEW上のプログラムをASICに移植するソリューションも提供されている。また、組み込みアプリケーション用のLabVIEWモジュールを用いれば、LabVIEWのグラフィカルプログラムを米Analog Devices社のDSPである「Blackfin」やFPGAなどに移植することもできる。
写真1 NI社リアルタイム/組み込みグループマネジャのShelley Gretlein氏
先進の応用事例
NIWeek 2007では、上述したような同社の考えを反映した多くの製品や応用例がNI社ならびに関連各社から展示された。以下、それらの中から、興味深いものをいくつかピックアップして紹介する。
写真2 自律倒立する一輪車
写真3 バージニア工科大学RoMeLaの人型ロボットDARwin
NI社は、自律倒立する一輪車(補助輪付き)が展示していた(写真2)。CompactRIOとモータードライブユニットの「NI 9505」、加速度センサー、電池を組み合わせたもので、自律的に転倒を防止するよう車輪に接続されたモーターが制御されている。いわば、「セグウェイ」の一輪車版である。補助輪があるのは、1つの車輪による前後1軸の制御であるため、横方向への傾斜に対応できないからだ。
LabVIEWのシミュレーションによってアルゴリズムの設計/検証を行い、CompactRIO上で制御プログラムを実行している。「NI社の製品を用いれば、アルゴリズムの開発/検証と試作品の製作を迅速に行える」とうたっている通り、開発/設計の期間は約2週間だったという。
●人型ロボット
バージニア工科大学のRoMeLa(Robotics and Mechanism Lab)が製作した人型ロボット「DARwin」(写真3)。このロボットは、2004年時点ではフィードバック機構もなく、人間の動作をまねするだけのものであった。そのため、すぐに転倒してしまったという。その後、PC104プラットフォームにLabVIEWリアルタイムモジュールを搭載したことで、モーションジェネレーションや画像認識が可能になった。同ロボットは、2007年に行われているロボットによるサッカー大会「RoboCup 2007」に参加した。
RoMeLaの教授であるDennis Hong氏は、ロボットに搭載されたカメラが撮影した画像からボールを検出するプログラムを記述した例に挙げ、「Lab-VIEWについて知らない学生がLab-VIEWの画像認識モジュールを用いて2時間でプログラムを作成した」として、同製品によるプログラミングの容易さを説明した。
●海底ケーブル監視システム
Analog Devices社は、ノルウェーのBjorge社が北海オルメンランゲ天然ガス田の分散型パイプライン監視システムの構築に同社のBlackfinプロセッサとBlackfin対応LabVIEW組み込み開発モジュールを用いたことを発表した。この監視システムは、最深850mという海面下の過酷な環境で長さ120kmのガスパイプラインにおけるガスの流れや潮流による振動を監視するというものだ。Blackfinが用いられたのは、分散して配置された監視ノードである。Blackfin対応LabVIEW組み込み開発モジュールには、LabVIEWのグラフィカルプログラムを基にBlackfin用のCコードを生成する機能やデバッグ機能がある。
各監視ノードは、音響を用いる非接触センサーと通信機能を備える。そのシステムは複雑で、各ノードのプロセッサでは8つの非同期スレッドが同時に動作し、プログラムはCコードで9万行以上に及ぶという。
Analog Devices社によれば、このような複雑なシステムが、LabVIEWを用いることによって、6カ月という短期間で開発することができたという。
●神経信号による車椅子制御
米Ambient社は、のどの神経信号をセンシングして音声合成と車椅子の制御を行うシステムを紹介していた。その仕組みは、のどに巻きつけたセンサーから人間の神経信号を検出し、コンピュータにそのデータを転送して解析することで音声合成と車椅子の制御を行うというもの。LabVIEWは、このアルゴリズムの設計に用いられたという。同社はこの技術を「Audeo」と呼ぶ。実際に声を発生しなくても、声を発するために動かす筋肉への神経信号を検出すればよいため、脊髄の麻痺などで移動能力や声を出す能力を失った数百万の人を助ける可能性がある技術だという。
車椅子の映像は、Ambient社のウェブサイト(http://www.theaudeo.com/tech.html)で閲覧できる。開発期間は3年だが、「LabVIEWを用いなかったらまだ完成していなかっただろう」(同社)とのことだった。
●医療機器への応用
米Sanarus Medical社は、乳がん治療のための医療機器「Visica2」について発表を行った。この機器は、細い針を腫瘍のある患部に挿し、腫瘍を冷却して除去するものである。
この機器では、冷却部分が腫瘍のサイズになるように制御する機能と、サイズを入力したりするためのユーザーインターフェースを開発する必要があった。同社は小規模な会社であるため、電気回路エンジニアとメカニカルのエンジニアしかおらず、制御やソフトウエア、ソフトウエアテスト、品質管理などを担当するエンジニアがいなかった。しかし、LabVIEWとComapctRIOを用いることによって、4人のチームでプロトタイプを4カ月で完成させたという。
設計をさらに容易に
NI社は、グラフィカル開発環境によるシステム設計をさらに容易にするための取り組みを継続して行っている。例えば、会場で発表されたLabVIEWの新バージョンである「NI LabVIEW 8.5」では、状態遷移図を基にプログラミングを行うステートチャート入力に対応した。
さらに、将来への取り組みとして従来のデータフローに基づいたグラフィカルプログラミング手法をより抽象度の高いものとする設計環境「LabVIEW System Diagram」を提案した。これは、ハードウエアの接続情報を入力するもので、システム全体の設計の容易化を図る。これを用いることで、さらに設計者の視認性/操作性を向上させ、システム設計の生産性を高めることが可能になるという。
(小野 明久)
さらに、将来への取り組みとして従来のデータフローに基づいたグラフィカルプログラミング手法をより抽象度の高いものとする設計環境「LabVIEW System Diagram」を提案した。これは、ハードウエアの接続情報を入力するもので、システム全体の設計の容易化を図る。これを用いることで、さらに設計者の視認性/操作性を向上させ、システム設計の生産性を高めることが可能になるという。
(小野 明久)
脚注
- *1)
LabVIEWとCOSMOSMotionの連携は「NI LabVIEW-SolidWorks Mechatronics Toolkit」によって実現する。このソフトウエアは、α版として公開されている(http://zone.ni.com/devzone/cda/tut/p/id/6183)。











