![見出し画像](https://assets.st-note.com/production/uploads/images/49656484/rectangle_large_type_2_61048cb84272f21d3943e69cbca2fa0f.png?width=1200)
ユーザとともに育てる経路!ユーザの走行実績をルート案内に反映させた話
こんにちは。ナビタイムジャパン エンジニアの釜揚げしらすと、黒シャツです。 2021年2月5日(金)に トラック専用ナビゲーションアプリ『トラックカーナビ』にて、大型車の旋回実績を考慮したルート案内をリリースしました。
機能概要
『トラックカーナビ』ユーザの走行実績から、大型車が旋回可能な曲がり角のデータを作成し、ルート案内時に利用する機能です。 『トラックカーナビ』ユーザが実際に走った道の情報を考慮したルートを案内することができます。 この機能によって、これまでよりも効率の良い安全なルートを案内できるようになりました。
開発背景
ー旋回判定
ナビタイムジャパンのサービスで安心安全なルートを案内するための仕組みの一つに、「旋回判定」があります。これは、案内しようとしている経路の曲がり角ひとつひとつのデータ(旋回角度、道幅など)と車両情報(車長、車幅など)を照らし合わせ、旋回軌跡を計算し、該当車両が余裕をもって曲がれる道路を案内する仕組みです。
下の図が旋回判定のイメージです。案内している車両が該当の角を曲がり切れるかどうかのシミュレーションを行うことで、安全に曲がれる箇所をルート案内するようになっています。
ー旋回判定のむずかしさと走行実績考慮
ただし、旋回判定はシミュレーションですから、現実を常に正確に反映できるわけではありません。
例えば街路樹の枝が道路にせり出して生えているような場合、旋回判定アルゴリズムが「曲がれる」と判定した曲がり角が実際には曲がるのが難しいケースがあります。また、曲がり角に旋回用の隙間(下図の右側を参照)が存在する場合、旋回判定アルゴリズムが「曲がれない」と判定した曲がり角が実際には曲がれるというケースもあります。
このように「道路形状などのデータから現実世界をシミュレーションする」というアプローチでは、データの精度などに依存して旋回判定の精度が頭打ちになってしまうという弱点があります。そのため、安全性の観点から、これまでの『トラックカーナビ』では曲がれるか曲がれないか微妙な箇所は「曲がれない」と判定し、案内しない仕組みになっていました。そのため、時には本来曲がれるはずの箇所を曲がれないと判定し結果的に遠回りなルートになっているとユーザからの指摘をいただくこともありました。
この点を補うため、これまでのデータに追加して「トラックカーナビのユーザが実際に曲がれたかどうか」の情報をユーザ走行実績から抽出し、旋回判定に組み入れるというのが今回のアプローチです。つまり、シミュレーションだけでは不十分な部分をユーザの実際の行動から得た情報で補おうという仕組みが、大型車の旋回実績を考慮したルート案内なのです。
システム構成
今回の機能のシステム構成は下図のようになっています。
ユーザーの走行実績はアプリを通してクラウド上のデータベースへと蓄積されます。システムは蓄積された走行実績を元に、ユーザーの旋回実績データを収集します。その後、収集した旋回実績データを演算処理することで、大型車が通れる曲がり角を特定し、経路探索に反映させています。
ユーザーの走行実績は日々蓄積されていくため、一定期間ごとに更新が必要になります。人の手による更新作業はコストが掛かるため、上記の作業を自動化して定期的に実行できるシステムを構築しました。
これによって、ユーザーは最新の旋回実績を考慮したルート案内を受けることができ、ユーザーが日々走行することで機能の精度が向上する仕組みとなっています。
工夫したこと
ー情報を組み合わせて不要な遠回りを避ける
今回開発した機能は、トラックが旋回可能な曲がり角を適切に曲がらせることで、不要な遠回りをさせないようなルート案内をするというものでした。
しかし、ただ単にトラックの走行実績が多い曲がり角を通りやすくしてしまうと、逆に遠回りな経路が出てしまうケースがあります。
このような遠回り経路が出ないように、これまでのルート探索時に用いていたデータ(経路長、旋回角度、車幅など)と走行実績を組み合わせて、最適なルートが出るように開発を行っています。
ーデータが増えてもパフォーマンスは落とさない
『トラックカーナビ』には日々膨大な量のユーザ走行実績が蓄積されていきますが、これをそのままルート探索時に参照しようとすると、ルート探索のパフォーマンスが悪化してしまいます。ルート探索のパフォーマンスが悪化すると、アプリのレスポンスタイムが悪化してしまうため、ユーザの利便性を損ねてしまうことに直結します。それは避けなければなりません。
そこで今回の開発では、もともと数百ギガバイト以上あったユーザ走行実績データから必要な情報を抽出し、数メガバイトに圧縮した上でルート探索時に参照しています。これによって、データが増えてもルート探索のパフォーマンスを落とさないように工夫しています。
今後の展望
上でふれたように、今回開発した機能はナビタイムジャパンの技術と『トラックカーナビ』ユーザ両方に支えられています。 ユーザが走れば走るほど旋回判定の精度が向上するため、より良いルートを案内できるようになります!
今後さらに『トラックカーナビ』のユーザを増やし、ユーザとともによいルートを育てていきたいと考えています。
最後まで読んでいただきありがとうございました。
トラックカーナビが気になる方はこちらから。