連載
» 2006年09月15日 00時00分 公開

Windows Embedded採用事例(1):Windows移行を決断したカーナビ開発の現場から (2/3)

[石田 己津人,@IT MONOist]

μITRONからWindows Automotiveへ

 パイオニアは2001年春、ハイエンドモデル「サイバーナビ」で業界初となるHDDカーナビを発売し、大きな話題を呼んだ。ただ、長岐氏は「1号機の場合、十分な開発期間が取れなかったことから、従来使っていたμITRONをそのまま採用した。だが、次のモデルチェンジで予想されるマルチメディア機能の種類、量を考えると、もはやμITRONベースでは厳しかった」と振り返る。

 実際、1号機でも開発ボリュームは膨らんで、コード数は100万ステップ近くに達していた。記憶装置にハードディスクを搭載したことで、地図描画機能の充実、検索機能の高度化、携帯電話との連携、AV機能の強化……、これから先も機能要求(機能競争)はとどまることがないだろう。開発ボリュームが危機的に上昇するのは、誰の目にも明らかだった。

 パイオニアでは当時、400名ほどのエンジニアがカーナビ開発に従事していた。同社は1年サイクルでモデルチェンジを繰り返しており、特に2年に1度のフルモデルチェンジでは、1シリーズに200名ほどの人材が必要となる。しかもパイオニアは業界最多の製品ラインアップを抱える(現行国内市販製品で2シリーズ13機種)。つまり、開発リソースは常にフル回転しており、これ以上の負荷増大には耐えられない状態だった。

 そのため、1号機の開発を進めながらも、本命となる次期プラットフォームの仕様策定を始めていた。製品の多機能化を進めるには、仮想メモリが使え、プロセッサのMMU(メモリ管理ユニット)に対応するOSが不可欠。また、ソフトウェア開発の生産性を高めるには、豊富なAPI群を標準で備えるOSでなければならない。2年以上の時間をかけ、Windows Automotiveを含む複数の汎用OSで比較検討を重ねた。

 そして2002年末、10年以上使ってきたμITRONからWindows Automotive 4.2への切り替えを決断した。性能評価でWindows AutomotiveがμITRONに引けを取らなかったこともあったが、決め手となったのは「総合的な開発環境の使いやすさ」(長岐氏)だった。開発マシンを従来のUNIX機からPCへ切り替えることができ、統合開発環境「Platform Builder」「eMbedded Visual C++」のほか、豊富な開発ツールが利用できる。ICE(In-Circuit Emulator)を使わず、イーサネットでターゲットとダイレクト接続可能。これにより、デバッグ作業も効率的になった。

 とはいえ、プラットフォーム刷新は開発現場にとって一大事である。カーナビ分野に限った話ではないが、ここで逡巡したままの機器メーカーは多い。これに対して、長岐氏は次のように話す。「確かに、当時『Windowsがベストの選択』という確信があったわけではない。ただ、HDDカーナビを開発してみて、『これからも機能に比例して開発量がどんどん増えていくのか……』という閉塞感が現場に漂っていた。新しい開発環境を取り入れ、閉塞感を取り除く必要があった。やると決めた以上、やるしかなかった」。

環境を全面刷新しながら開発成功

 Windows Automotiveベースの新製品開発は2003年頭からスタートしたが、道のりは楽ではなかった。開発手法がVisual C++によるオブジェクト指向開発になったのをはじめ、開発環境がガラリと変わったことへの戸惑いがあった。「エンジニアにオブジェクトの概念を理解してもらうのに時間がかかった」(長岐氏)という。また、μITRON時代に蓄えたソフトウェア資産をWindows Automotiveへ移植する作業も膨大。さらに、車載品という性格上、OS機能に対する信頼性、堅牢性が求められる。例えば、「ユーザーはUSBポートに何を差し込むか分からない」という前提で、障害を発生させない仕組み作りが必要になったのだ。

 そして最も厄介だったのは、数々の斬新な新機能を盛り込もうとしていたことだ。3D地図「ソリッドシティマップ」は、建物の外観・形状をリアルタイムに再現する。

ソリッドシティマップ 写真 ソリッドシティマップ

 また、ブロードバンド接続に対応した付属ユニット「リビングキット」へ本体から取り外したブレインユニットを装着し、家庭でもデータの出し入れ、編集が行えるようにした。過去の渋滞情報をデータベース化し、渋滞を予測する機能も搭載された。慣れない開発環境を学びながら、これらの新機能を開発するのは至難の業だった。

リビングキットブレインユニット 写真 サイバーナビには、PC/ブロードバンド接続に対応した家庭用ユニット「リビングキット」が付属する(写真左側)。これにカーナビ本体から取り外した「ブレインユニット(HDD+CPU)」(写真右側)を差し込むと、家庭でもデータの収集・加工が可能となる

 結果からいえば、Windows Automotiveを初採用したサイバーナビ(AVIC-ZH900など4機種)は、2004年春の発売にこぎ着けた。組み込み機器の中でも開発が最もヘビーといわれるカーナビで、新プラットフォームを初めて適用した製品を1年半ほどで仕上げたのは、さすがといえるだろう。

 特に奇策があったわけではない。まず、研究所でプロトタイプを開発し、その作業に当たった研究員がそのまま事業部に移って、現場で開発をリードした。また、集中的に勉強会を開催し、エンジニアも地道に新しい開発技法を習得していった。幸い、若いエンジニアが多く、適応力も高かったようだ。

 もちろん、Windows Automotiveを採用した効果もあった。例えば、2004年春モデルのサイバーナビでは、新たにNTTドコモ・FOMA端末でのハンズフリー通話、データ通信に対応。携帯電話とカーナビ本体とはUSBで接続する。「USBインターフェイスを一から開発する必要がなく、開発工数を削減できた」(長岐氏)。また、Windows AutomotiveでMMU対応となり、メモリ破壊のポイントを特定できるようになったので、品質を作り込みやすくなったという。


Copyright © ITmedia, Inc. All Rights Reserved.