地図と位置情報

地磁気による高精度な屋内測位を実現、開発担当者に聞く「Yahoo!地図」新機能

連載「趣味のインターネット地図ウォッチ」からの派生シリーズとして、暮らしやビジネスあるいは災害対策をはじめとした公共サービスなどにおけるGISや位置情報技術の利活用事例、それらを支えるGPS/GNSSやビーコン、Wi-Fi、音波や地磁気による測位技術の最新動向など、“地図と位置情報”をテーマにした記事を不定期掲載でお届けします。


 ヤフー株式会社は6月、Android版「Yahoo!地図」アプリにおいて、地磁気による屋内位置確認技術を使用したルート案内機能を搭載した。同機能は、GPS電波の届かない駅構内や地下街において、現在地確認および徒歩によるルート案内が可能となるものだ。利用可能な駅は現在のところ、新宿駅、渋谷駅、東京駅の3駅。いずれも構内(改札外)および地下街にて利用できる。

「Yahoo!地図」アプリ

 同機能に搭載された“地磁気測位”は、駅構内や地下街の空間、建物などを支えるための鉄骨や鉄筋に含まれる磁力を、スマートフォンに搭載された地磁気センサーによって計測し、自己位置を推定する技術。国内サービスとして実用化されるのは初めてだという。この地磁気による測位とは、一体どのような技術で、開発にはどのような苦労があったのだろうか。ヤフーで同機能の開発にかかわった担当者4人に話を聞いた。

(左から)ヤフー株式会社の西田克己氏(メディアカンパニー生活メディア事業本部事業開発2部開発1チームリーダー)、森川宗氏(メディアカンパニー生活メディア事業本部事業開発2部開発4チームリーダー)、野田祐希氏(スマートデバイス推進本部大阪開発室開発2部開発2チーム)

鉄骨に含まれる磁力をセンサーで読み取って現在地を推定

 Yahoo!地図アプリは、以前から全国各地の主要な駅の構内や地下街の屋内マップを収録していたが、屋内での測位精度が良くないため、それらのマップ上ではナビゲーションを行うことはできなかった。今回、地磁気による屋内測位を導入したことにより、従来よりも高精度な測位が実現し、それにともなってナビゲーションも提供開始した。

 同アプリの企画を担当している西田克己氏(メディアカンパニー生活メディア事業本部事業開発2部開発1チームリーダー)によると、地磁気測位を搭載するプロジェクトがスタートしたのは2015年の3月だという。

 「地磁気を利用した屋内測位は、フィンランドのIndoorAtlas(IA)社の技術をもとにしたものです。ただし、すでに完成した技術をそのまま使ったわけではなく、IA側と協議しながら駅などの複雑な場所で測位精度を高めたり、きちんとしたSDK(ソフトウェア開発キット)の形にしたりする作業を、両社で協力しながら開発を進めました。」(西田氏)

 地下空間の構造物を支える鉄骨から発生する磁力をスマートフォンの磁気センサーによって読み取り、現在地を推定するためには、あらかじめどのような磁場が発生しているのかを測定して、クラウドのデータベースに登録しておく必要がある。このような場所に紐付く磁気情報データは一般的に「フィンガープリント」と呼ばれている。このフィンガープリントの計測を行ったのが、森川宗氏(メディアカンパニー生活メディア事業本部事業開発2部開発4チームリーダー)だ。

 「今回のプロジェクトをスタートするにあたって、事前にIAでどのようにデータを取って、どのように測位できるのかをテストしてみたところ、予想以上に簡単にデータを取得することができて、しかも測位の精度も良いという結果になりました。これなら駅構内や地下街などの広いエリアにおいても、それなりの正確性を持ってサービスを提供できるのではないかという期待感を持ち、『これはやるしかない』ということでプロジェクトがスタートしました。」(森川氏)

 屋内測位を実現する技術としては、最近はBLEビーコンによる測位も注目されているが、ビーコンを設置するには施設管理者に依頼する必要があり、設置の工事費用なども必要となってしまう。IAの技術は基本的にインフラの設置が不要のため、導入が早いというメリットもある。

「IndoorAtlas」のウェブサイト

フィンガープリントのデータを測定してクラウドに登録

 フィンガープリントの取得方法は、まず事前準備として、計測する屋内地図の画像をクラウドに登録する。登録の際には、画像と緯度経度の紐付けをあわせて行う。

 その上で、現地に行って計測アプリを起動し、計測対象の屋内地図を表示させる。地図上をタップしてスタート地点およびゴール地点を指定してから、指定したスタート地点に移動する。次に、計測開始ボタンをタップしてから、すぐに歩き出す。指定したコース上を、一定速度を保ちながら歩くと、歩行中に地磁気やWi-Fiなどの情報が記録される。

 ゴール地点に到達したら計測終了ボタンをタップして、記録されたデータをクラウドにアップロードすれば計測は完了だ。

 「計測中は端末の高さを一定に保ち、できるだけ姿勢を固定してまっすぐに歩くようにしています。基本的に計測は1回だけで済みますが、まれに失敗することもあり、その場合は同じところを計測し直すこともあります。以前、実験的にWi-Fi測位用のフィンガープリントを取得したときは、1地点に1分間くらい立ち止まる必要があり、人が多いエリアで立ち止まることは難しかったのですが、地磁気を使った今回の場合は立ち止まる必要がないので、こちらのほうがずっと計測がしやすいです。」(森川氏)

 道幅が広い場合は約1mおきに、端から端までまんべんなく計測する。例えば幅が7~8mくらいの通路の場合は、8回ほど行ったり来たりしてデータを取る。

 今回、地磁気による屋内測位とナビを提供するのは、東京駅、新宿駅、渋谷駅の3駅の構内(改札外)と地下街。世界でも有数の巨大な屋内空間を持つこれらの駅において、すみずみまで歩き回って計測するのはかなり大変だったそうだ。

 「特に工事中のところが大変で、計測した翌週には工事が終わってしまったというケースもあり、その場合は再計測に行きました。ただ、Wi-Fi測位の場合は、店舗の入れ替わりとともにアクセスポイント(AP)の無線LANルーターが変更されたり、APそのものが無くなってしまったりするケースがありましたが、地磁気の場合は一度計測してしまえば経年変化は小さいので、メンテナンスの手間は減ると思います。」(森川氏)

地磁気測位を行っているときは地図の左下に「IndoorAtlasで測位中」と表示される

電車の通過による磁場の乱れが測位精度に影響

 このように森川氏が計測したデータを活用してアプリ開発を行ったのが、野田祐希氏と前坂岳氏(両氏ともスマートデバイス推進本部大阪開発室開発2部開発2チーム)だ。野田氏と前坂氏は、IA社のエンジニアと密に連携を取りながら屋内測位の精度を高めるとともに、アプリに地磁気測位の機能を組み込む作業を行った。測位エンジンそのものはIA側がチューニングするが、それを具体的に形にするには、ヤフーのエンジニアもさまざまな試行錯誤を行う必要があった。

 「もともとIAはショッピングモールなど、比較的狭いエリアで使うことを想定して開発された技術で、本来は処理速度の関係で1のマップ上に磁場の情報をすべて登録する仕様になっています。しかし、東京駅や新宿駅などの地下はショッピングモールに比べるとかなり広いため、今回は複数のマップに分けざるをえませんでした。この場合、あるマップから隣のマップに切り替わるときに正確な測位ができるまでに時間がかかる場合があり、精度が悪くなる原因となってしまいます。私たちは、それがスムーズに切り替わるようなチューニングを行いました。」(前坂氏)

 もう1つ苦労したのが、屋内のある地点において、磁場が乱れるスポットが発生したことだった。

 「磁場が乱れる主な原因は電車の通過です。あるマップから隣のマップに切り替わるときに正確な測位ができるまでに時間がかかる場合があり、精度が悪くなる原因となってしまいます。このような地点では、GPSやWi-Fi測位の使用に切り替えるようにしたのですが、どの程度の誤差で切り替わるようにするか、その辺のチューニングが難しかったですね。IA側の担当者も、このような巨大な地下空間でサービスを提供するのはこれまであまり例がなく、『チャレンジングだ』と言っていましたし、今回の事例をどんどんPRしていきたいと話していました。」(野田氏)

 このほか、Androidアプリということで、端末ごとに応じたチューニングも苦労したという。

 「Androidの場合、『この機種を押えておけばいい』という端末がなく、さらに各端末のセンサーの性能はそれぞれ大きな差があり、中にはジャイロセンサーがない端末もあります。このように端末ごとにセンサーから得られる値が異なる中で、均質な測位結果が得られるようにチューニングするのも難しかったです。」(野田氏)

 ちなみにIA側では、推奨機種としてGoogleの「Nexus 6」や「Nexus 5」を挙げている。また、野田氏によると、IAで屋内測位の精度を上げるコツとしては、立ち止まるよりも屋内をできるだけ歩いたほうが、磁気データが多く取得できるので精度が良くなるとのこと。

 なお、現在のところ、iOS版では地磁気による屋内ナビは提供開始されていないが、こちらについても開発中とのことだ。

東京・新宿・渋谷以外でも屋内ナビ機能を可能に

 筆者もNexus 5を使って、東京駅などでIAによるナビゲーションを試してみたが、測位開始時に正しい位置が表示される確率がWi-Fiよりも高く、ナビゲーション中のズレも少なく感じた。

 測位精度については、東京駅八重洲口の地下街と、新宿西口の地下街については、かなり精度が良かった。特に八重洲口の地下街についてはナビゲーションを使っていてほとんどストレスがなかった。逆に精度が悪かったのが東京駅の丸の内地下街だ。こちらはなぜか現在地から離れたところに表示されることが多く、動き回ってみてもあまり改善されなかった。

東京駅八重洲口の地下街にて。ほぼ正確な位置が表示されている。
角を曲がるときもスムーズに表示される
新宿駅西口地下街。通路の端に寄って通行してみたところ、ほぼ正確に位置が表示された
丸の内口地下街にて。中央右の証明写真機の前にいるが、なぜか左上に位置が出てしまう
屋内でのルート検索結果
ルート案内の画面
目的地に到着

 数ある地図アプリの中でも、地磁気による屋内測位をいち早く提供開始したYahoo!地図。最後に、今後の抱負を4人に聞いた。

 「公共施設の駅や空港など、利用者が多い施設に地磁気による屋内ナビ機能を広げていきたいですね。また、商業施設では、地磁気による測位技術を地図アプリに利用するだけでなく、店に入ったらメールが届くとか、O2Oに利用できる可能性もあると思うので、そのような使い方にも取り組みたいと考えています。」(西田氏)

 「利用者数が多い駅というとやはり東京の駅になりますが、大阪の梅田も地下街が広いですし、名古屋も広大な地下街が広がっているので、ほかの都市でも屋内測位の便利さを体験できるようにしていきたいと思います。また、位置情報は地図アプリに組み込むだけではなくて、もっといろいろな活用方法がありますので、地図アプリ以外の利用も考えていきたいですね。」(森川氏)

 「私自身、初めて訪れた駅などで迷うことが多いので、改札を出たら右と左のどちらに行けばいいのか、迷わずにきちんと目的地に到達できることにフォーカスして開発をしていきたいと考えています。」(野田氏)

 「東京の駅では、電車を降りたときに、どこの改札に行けばいいのかが分からないことがよくありますので、そこを案内できるようにしたいです。地磁気による測位では、電車からの影響が強いので、ハードルは高いと思いますが、改札内の案内はぜひ実現したいと思います。」(前坂氏)

 ちなみに今回の屋内ナビサービス開始にあたっては、池袋駅、大宮駅、品川駅、秋葉原駅もフィンガープリントの計測を行ったという。しかし、これら4駅では、検証の段階であまり良い精度が出なかったので、スタート時は東京駅、新宿駅、渋谷駅の3駅にとどめたそうだ。4駅についてもチューニングを進めて、リリースできる段階になったら公開するとのことで楽しみだ。Androidユーザーは、上記3駅に行ったとき、屋内ナビ機能を試してみてはいかがだろうか?

片岡 義明

IT・家電・街歩きなどの分野で活動中のライター。特に地図や位置情報に関す ることを中心テーマとして取り組んでおり、インターネットの地図サイトから法 人向け地図ソリューション、紙地図、測位システム、ナビゲーションデバイス、 オープンデータなど幅広い地図関連トピックを追っている。測量士。インプレスR&Dから書籍「位置情報ビッグデータ」(共著)が発売中。