【6】自作音声ナビにおける誘導の手順
本稿では、友人とゼロから開発した音声ナビ「お散歩の友」で使っている誘導の手順について書く。
【背景】
私はさらに視力が低下しても、少なくも自宅周辺を一人で歩けることを欲した。
私も、開発パートナー氏も、カーナビは、使ったことがある程度で、特に詳しくはなかった。
同氏は、プロのプログラマーであったが、スマホアプリは経験がなかった。
よって、2人とも、既存のナビやスマホのユーザーインターフェイスに呪縛されることはなかった。結果敵にこれはプラスに作用した。
【外部地図によらない理由】
① ふつうに考えて、自分の歩きたい経路が既存の地図に載っているはずがない。たとえば、広い道をどこで渡るのかは自分しか知らない。
② Google マップなどの地図を参照するためには、面倒なAPIの設計が必用だし、オンライン使用が前提になる。これは困る。
③言ったことがないところを、ナビを駆使してばんばん歩く勇敢な白杖歩行者もいるだろうが、大部分は、最寄りのコンビニすらいけずに引きこもっているはず。
かたや、カーナビは、言ったことがない目的地に 迷うことなく誘導するのが目的なので、引きこもっている人が知覚を歩くのとは、そもそも使い方が異なる。
多くの音声ナビの開発者はこの点を軽視している。自分で歩くことがないからである。
【地図はオリジナルに作る】
お散歩の友も、望月さんが開発されたナビレクも、カーナビのようにすでに存在する地図を参照することはしない。
自分が白杖で歩いた経験から、それでは歩けないことは自明だからである。
お散歩の友における誘導手順】
3m感覚でポイントを配置して、歩く経路を描く。折れ線近似になるが、直線区間でも間引くことはしない。
ナビは、つねに最寄りのポイントに吸着するように誘導する。
もし、ポイントに吸着され、幅7m程度の仮想的なベルトの中におさまっていると判別されるなら、当該ベルトの接戦方向に向かってあるくような方向案内を発する。 7mというのは、実際のGPSの誤差から決めた経験値である。
【例示】
すべてのポイントには下記のような文字列が付与され、メモリーに格納されている。
21,35.87308,138.32525,304,11
これは、GPSの読みが 35.87308,138.32525 の知覚なら、304度の方向に進みなさい という意味でアル。
このようなポイント、あるいはポイントを格納したテーブルをどうやって作るかについては、別項とする。
【この原理を説明するデモ動画です】
「視覚障害者用音声ナビ、動作デモと開発の総括」
https://www.youtube.com/watch?v=JcXR6roQaI0
2周波方式GPSが使えるようになったので、現在はもっと正確です。
【後記】
現在の仕様に収斂するまでには、4年ほど、つまり数千キロのテスト歩行をかさねている。トヨタの開発者なら かならずやっていることであろう。
こうやって以下の項目を最適化した:
ルートデータのフォーマット
誘導アルゴリズム
誘導に関連する数値(判定の閾値)
誘導音声の文言とタイミング
画面レイアウト
ボタン操作と遷移の手順
各種のアラートやリマインド