低コスト・低消費電力のカーナビ・システムを構築するためのハード&ソフト設計 ――拡張性のあるプロセッサ・ベースの開発プラットホーム作り
●○● Column 2 ●○●
カー・ナビゲーション・システムにおけるソフトウェア処理
本文の図3のソフトウェア・モジュールについて,もう少し詳しく説明しておきます.
通常のナビゲーション・システムでは,現在位置はフラッシュ・メモリに格納されており,これによってGPSのウォームアップ時間を短縮しています(これを「ホットスタート」と呼ぶ).
ユーザに対するナビゲーションは,新しい目的地を入力することで開始し,都市リストや道路リストから住所を選択します.目的地はキーパッドやサムホイール・スイッチから入力され,これを復号して変更内容を読み取ります.住所リストはCDドライブから取得します.本来,ディジタル・データを読み取るためには,高価なCD-ROMモジュールが必要ですが,この代替手段として,より安価なオーディオ用CDモジュールを使用することが考えられます.CDモジュールから読み取られたデータはオーディオ・ブロックに格納されます.この場合,セクタの同期フィールドの検索,リードソロモン復号,逆スクランブル,エラー検出などの処理によるオーバヘッドが生じます(これらの処理はプロセッサで行われる.Blackfinの場合,等倍の読み取り速度では性能要件の約5%を使用).またCDモジュールには,経路計算のための電子地図データも格納されています.
ユーザが目的地を入力すると,経路が計算されて,運転ガイダンスの基本モジュール機能によって地図が連続的に更新されます.地図は,電子地図のベクトル情報に基づいて計算され,グラフィックス・ライブラリを用いて,あるバッファに描画されます.別のバッファを使用すれば,同時にディスプレイに地図を表示できます.このとき,タイミングを合わせるためにDMA(direct
memory access)を使用します.新しい地図の描画が完了すると,DMAは直ちに別のバッファに切り替わります.新しい地図を描画するには位置情報の更新が必要であり,これは1秒周期の同期プロセスによって実行されます.
位置情報ライブラリは,カルマン・フィルタ注B-1と呼ばれるアルゴリズムを通じて,GPSライブラリと推測航法ライブラリの重み付け結果,および履歴を取得します.このフィルタによって測定誤差を排除することで,情報の安定性が改善されます.
ユーザが経路上を走行し続けるためには,ポイントとなる場所を通過する前に,その地点について音声ガイダンスやディスプレイ表示で運転者へ知らせる必要があります.通過点までの距離が走行速度に応じて計算されたしきい値を超えるとトリガがかかり,音声メッセージが出力されます.同時に,操縦ガイダンス(ほとんどの場合,矢印の形)がグラフィックス・ライブラリに基づいて描画され,オーバレイ・マネージャによってディスプレイに配置されます.
オーディオ・マネージャは,ガイダンスが始まると,その音声がユーザに明瞭に聞こえるように,オーディオの音量を自動的に弱めます.
注B-1;物体の未来の状態を推定する再帰フィルタとして知られている.