![見出し画像](https://assets.st-note.com/production/uploads/images/152609581/rectangle_large_type_2_b5824cc4e2025477d360fd573d1b902c.jpeg?width=1200)
見えていたころのように、気ままに歩きたい。そのための音声ナビを考えた。
視覚障害者の多くが音声ナビを使わずに歩いています。
「めんどうなわりにはあまりアテにならない」がその理由です。
そこで、「周りが見えないことに起因する不便さの解決に絞った、単一機能で使いやすいナビ」を考えてみました。
【既存音声ナビへの不満】
① 地図が見えないので、目的地や途中経路の設定がきわめて困難
② 誘導誤差が大きい
③ 「目的地周辺です」で放棄される
本記事でで示す方法では①と②の解消をめざします。
、
【動作の概要】
最初に目的地を入れてルートを検索することはしない。
また次善に経路データを用意しておくことも省く。
かわりに、Google Mapの歩道データをリアルタイムで取得して、それを使って歩く。道からはずれずに歩くことと、正しい道を案内することに特化します。
以前に行ったことがある場所に行くならこれで足りるし、
移動の自由度が増します。歩き回るのが楽しくなるかもしれません。
『動作の原理』
現在位置付近の、すべての歩行経路を、逐次Google Mapから取得し、それを案内の基準(レファレンス)としてつかいます。(Googleから取得する手順は別の投稿に書いております)
ナビアプリは、経路が複数ある場合、歩行者の現在位置や端末の向き、ここまで歩いてきた経過などを加味して、どの道を進もうとしているか割り出し、正しいと思われる経路に沿って誘導します。
誘導にあたっては、筆者が長年使ってきた音声ナビ「お散歩の友」の実績のある誘導アルゴリズムを使います。(後記)
『動作を例で説明します』
自宅の玄関から公道に出たらアプリを起動する。
右の方を向いたら、それだけで右方向の歩道にそって誘導を始めます。ゆっくりカーブしてても急に曲がったとしても、道なりにガイドします。
玄関先で、およそ左に向けば、左に伸びる道に沿ってガイドします。
そのうちに分岐点にさしかかるとします。
分岐点の直径5mの範囲に入ったら、ナビは 「チン チン チン 」 とゆっくり連打し、分岐点にいることを知らせます。
立ち止まって正面の道が伸びる方向を向けば
チンチン ローソン駅前店・・・・・ などと前方の商業施設を連呼します。
時計回りに体をまわして3時方向を向くと
ちんちん 駅前郵便局・・・・・
などと、その方向にある施設を読み上げます。
6時の方向、つまり、来た方向を向くと、その方向にある施設を発声します。
道が延びていない方向を向いたときは無音です。
これは、狭い十字路の中央に立ってStreetViewをみたとき、それぞれの道の方向に青い線が伸びているイメージと似ています。
下記の動画でこの機能が理解できます。(筆者撮影)
https://www.youtube.com/watch?v=xhAYoiLSd8I
なお、前方にある施設名を読み上げる機能は、すでにおおくの音声ナビに実装されているものです。
さて、郵便局の道に進むときは、その方向、つまり、チンチンとなった方向に向かって歩き出します。5mの円からはずれたら、通常の誘導モードに戻って、道なりに誘導します。
ここでのポイントは 「郵便局へ行く」のではなく「郵便局の方向に向かっている道に進む」ということです。
つまり、見える人が目視で確認していた「この道はどこへいく道だろう?」という疑問に答えるのがこのナビなのです。
なお、通過するだけの分岐点では、いちいち立ち止まらずそのまま歩き続ければよいです
![](https://assets.st-note.com/production/uploads/images/152609517/picture_pc_ec31132a6ce1c9d72f18880ab8967273.gif?width=1200)
画像は、近くの変則十字路近辺の経路をGoogle Mapから取得するイメージです。この四つ辻の中央に立って体を回し、4本の分岐を識別します。
経路データから分岐点の存在を検出し、その座標を求めることは、画像認識籐をつかわずとも、古典的な数値計算で可能です。
【お散歩の友の誘導アルゴリズムの優位点】
以上の説明だけからは「従前の音声歩行ナビから目的地へ案内する機能をはぶいただけではないか」と思うかもしれない。
実際は、その経路データを加工して使うことにより、進行方向の角度および左右方向のズレを防ぐのに大きな効果が得られる。
前が見えていれば進路からずれることはない。なので、通常の音声ナビにおいては、この性能が軽視されている。
さて、具体的な動作としては、Googleから出力された経路データをすぐに下記のようなポイント列のルートデータに変換する。
。
201,35.88470,38.32406,304
直線区間でも3m以下の稠密な間隔で並べる。これで、幅4mほどの経路にとどまるような、正確な誘導が可能似なる。これにより、Google Mapの経路にあたかも吸着されるように、気持良く歩くことができる。
下記はそのデモ動画です。
https://www.youtube.com/watch?v=wGRjnkauOC4
【たとえばこんな効用もあります】
広い車道の両側に歩道が作られているとします。どちら側を歩くか、どこで対岸に渡るか、などは人それぞれです。ナビにその好み(preference)を伝えるのは、実際問題、不可能です。
このナビを使えば、たとえば、横断したいゼブラの分岐に来たら、意図的に横断する方向を向いて歩き出します。すると、ナビは瞬時に横断方向の案内に切り替わります。既存の音声ナビのリルート機能では、このような機敏な切り替えはできず、危険を感じたりもします。
【まとめ】
カーナビなど、ほとんどのナビは最初に目的地を入れます。目的地を入れなくても、見えていたころのように、今どこにいるかを知りながら、気ままに歩き回りたい、というのがこのナビの活用法です。
なお、これだけだと、ほんとうに正しい方向に歩いてイルかどうかわからなくなる心配があります。その問題のために、音声で目標物をたずね、時計の文字盤方向で回答させます。
「駅前郵便局は2時の方向に150mです]「山田歯科医院は3時の方向に20mです」など。
このナビの画面には、以下の4つの大きなボタンがあるだけです。
「この方向の道の案内を始める」
「目標物の方向を音声で質問する」
「現在位置に名前をつけて登録する」
「消音」
【備考】
Google以外の地図データベースでもおなじです。
地図が経路として用意していない場所では使えません。
地図の誤差やGPSの誤差はそのまま残ります。
この記事が気に入ったらサポートをしてみませんか?