(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-25
(45)【発行日】2022-02-02
(54)【発明の名称】演算装置、演算方法、演算プログラム及び記録媒体
(51)【国際特許分類】
G06F 16/906 20190101AFI20220126BHJP
G06F 16/909 20190101ALI20220126BHJP
G09B 29/00 20060101ALI20220126BHJP
G01C 21/28 20060101ALI20220126BHJP
【FI】
G06F16/906
G06F16/909
G09B29/00 Z
G01C21/28
(21)【出願番号】P 2018245813
(22)【出願日】2018-12-27
【審査請求日】2021-02-17
(73)【特許権者】
【識別番号】501271479
【氏名又は名称】株式会社トヨタマップマスター
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(72)【発明者】
【氏名】若杉 友太
(72)【発明者】
【氏名】三輪 晴雄
(72)【発明者】
【氏名】川添 文也
(72)【発明者】
【氏名】大河内 正
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特開2014-142235(JP,A)
【文献】特開2013-015735(JP,A)
【文献】特開2014-211557(JP,A)
【文献】特開2011-081526(JP,A)
【文献】特開2018-190297(JP,A)
【文献】特開2000-321086(JP,A)
【文献】国際公開第2017/033752(WO,A1)
【文献】特開2010-117989(JP,A)
【文献】特開2007-192582(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00
G09B 29/00
G01C 21/28
(57)【特許請求の範囲】
【請求項1】
車両の位置情報と、前記車両の前記位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得部と、
前記位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく前記2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(1)に基づいて比Aを算出する算出部と、
前記算出部で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定部と、
前記特定部が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化部と、
前記グループ化部がグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成部と、
を備える演算装置。
【数1】
…(1)
【請求項2】
前記グループ化部は、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しない
請求項1に記載の演算装置。
【請求項3】
前記生成部は、比Aの逆数が予め設定された閾値以上の場合に曲線の始点とし、その始点から曲線を生成する
請求項1又は2に記載の演算装置。
【請求項4】
前記特定部は、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔する
請求項1~3のいずれか1項に記載の演算装置。
【請求項5】
前記生成部は、曲率半径をR、円周率をπとすると、式(2)に基づいて複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定し、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する
請求項1~4のいずれか1項に記載の演算装置。
【数2】
…(2)
【請求項6】
前記生成部は、前記取得部によって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成する
請求項5に記載の演算装置。
【請求項7】
前記生成部によって生成された曲線を道路情報として地図情報に登録する登録部を備える
請求項1~6のいずれか1項に記載の演算装置。
【請求項8】
コンピュータが、
車両の位置情報と、前記車両の前記位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得ステップと、
前記位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく前記2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(3)に基づいて比Aを算出する算出ステップと、
前記算出ステップで算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定ステップと、
前記特定ステップが特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化ステップと、
前記グループ化ステップでグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成ステップと、
を実行する演算方法。
【数3】
…(3)
【請求項9】
前記グループ化ステップでは、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しない
請求項8に記載の演算方法。
【請求項10】
前記生成ステップは、比Aの逆数が予め設定された閾値以上の場合に曲線の始点とし、その始点から曲線を生成する
請求項8又は9に記載の演算方法。
【請求項11】
前記特定ステップは、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔する
請求項8~10のいずれか1項に記載の演算方法。
【請求項12】
前記生成ステップは、曲率半径をR、円周率をπとすると、式(4)に基づいて複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定し、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する
請求項8~11のいずれか1項に記載の演算方法。
【数4】
…(4)
【請求項13】
前記生成ステップは、前記取得ステップによって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成する
請求項12に記載の演算方法。
【請求項14】
前記生成ステップによって生成された曲線を道路情報として地図情報に登録する登録ステップを備える
請求項8~13のいずれか1項に記載の演算方法。
【請求項15】
コンピュータに、
車両の位置情報と、前記車両の前記位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得機能と、
前記位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく前記2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(5)に基づいて比Aを算出する算出機能と、
前記算出機能で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定機能と、
前記特定機能が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化機能と、
前記グループ化機能でグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成機能と、
を実現させる演算プログラム。
【数5】
…(5)
【請求項16】
前記グループ化機能では、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しない
請求項15に記載の演算プログラム。
【請求項17】
前記生成機能は、比Aの逆数が予め設定された閾値以上の場合に曲線の始点とし、その始点から曲線を生成する
請求項15又は16に記載の演算プログラム。
【請求項18】
前記特定機能は、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔する
請求項15~16のいずれか1項に記載の演算プログラム。
【請求項19】
前記生成機能は、曲率半径をR、円周率をπとすると、式(6)に基づいて複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定し、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する
請求項15~18のいずれか1項に記載の演算プログラム。
【数6】
…(6)
【請求項20】
前記生成機能は、前記取得機能によって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成する
請求項19に記載の演算プログラム。
【請求項21】
コンピュータに、
前記生成機能によって生成された曲線を道路情報として地図情報に登録する登録機能をさらに実現させる
請求項15~20のいずれか1項に記載の演算プログラム。
【請求項22】
請求項15~21のいずれか1項に記載の演算プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置、演算方法、演算プログラム、及び、その演算プログラムを記録した記録媒体に関する。
【背景技術】
【0002】
従来、車両のナビゲーションを行うためのナビゲーションシステムに利用する地図を作成する技術が策定されている。その一手法として、特許文献1に記載される技術がある。特許文献1には、走行軌跡の点群データから最小二乗法による円弧部の算出(近似)処理を行うことが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に記載の技術では、円弧部を対象範囲内に含まれる点群データに基づいて円弧を算出し、相関係数が所定範囲内であるか否か、つまり、近似の正確度が所定度合以上であるか否かを特定し、相関係数が所定範囲内である場合に、前回算出している円弧との相関係数が整合するか否かで円弧を特定している。このため、円弧部の特定処理の負荷が大きいとともに、円弧の算出に時間を要するという問題があった。
【0005】
そこで、本発明は、上述のような問題を解決するために、特許文献1とは異なった手法により、円弧を容易に特定でき、その曲率半径を算出することができる演算装置、演算方法、演算プログラム、及び、その演算プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0006】
一実施形態の演算装置は、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得部と、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(1)に基づいて比Aを算出する算出部と、算出部で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定部と、特定部が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化部と、グループ化部がグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成部と、を備える。
【0007】
【0008】
上記の演算装置では、グループ化部は、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しないこととしてもよい。
【0009】
上記の演算装置では、生成部は、比Aの逆数が予め設定された閾値以上の場合に曲線を生成する始点とし、その始点から曲線を生成することとしてもよい。
【0010】
上記の演算装置では、特定部は、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔することとしてもよい。
【0011】
上記の演算装置では、生成部は、曲率半径をR、円周率をπとすると、式(2)に基づいて複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定し、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成することとしてもよい。
【0012】
【0013】
上記の演算装置では、生成部は、取得部によって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成することとしてもよい。
【0014】
上記の演算装置は、生成部によって生成された曲線を道路情報として地図情報に登録する登録部を備えることとしてもよい。
【0015】
一実施形態の演算方法では、コンピュータが、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得ステップと、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(3)に基づいて比Aを算出する算出ステップと、算出ステップで算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定ステップと、特定ステップが特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化ステップと、グループ化ステップでグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成ステップと、を実行する。
【0016】
【0017】
演算プログラムは、コンピュータに、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得機能と、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(4)に基づいて比Aを算出する算出機能と、算出機能で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定機能と、特定機能が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化機能と、グループ化機能でグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成機能と、を実現させる。
【0018】
【0019】
一実施形態の記録媒体は、上述した演算プログラムを記録する。
【発明の効果】
【0020】
本実施形態によれば、円弧を容易に特定でき、その曲率半径を算出することができる演算装置、演算方法、演算プログラム、及び、その演算プログラムを記録した記録媒体を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】一実施形態に係る演算装置のブロック図である。
【
図2】車両の走行経路、位置情報に基づいて得られる2点間の距離、及び、方向情報に基づいて得られる2点間の車両の向きの変化について説明するための図である。
【
図3】累積ヘディング差と累積走行距離との関係を例示するグラフである。
【
図4】曲率半径と距離との関係を例示する第1のグラフである。
【
図5】曲率半径と距離との関係を例示する第2のグラフである。
【
図6】一実施形態に係る演算処理方法について説明するためのフローチャートである。
【発明を実施するための形態】
【0022】
地図上に道路のカーブを登録する際に、カーブの曲率半径が一定となる区間を、計測車両の走行履歴から計測車両の移動距離と2つの計測地点間の計測車両の進行方向の差分との比を求め、その比が一定となる区間をカーブの曲率半径が一定となる区間であるとして、その区間に対応する曲率半径からを求める技術がある。このとき、同じカーブにもかかわらず、比が少しずつずれていていることにより、同一の比が一定の区間として特定されず、比が一定の区間に基づいて得られる曲線が滑らかにならないという課題がある。そこで、本実施形態に係る演算装置においては、曲率半径が一定なる区間が細切れになり、地図上でいびつな曲線になることを防止し得る技術について開示する。
【0023】
以下、本発明の一実施形態について説明する。
図1は、一実施形態に係る演算装置のブロック図である。
演算装置1は、処理装置10、取得部21、受付部22、出力部23及び記憶部24を備える。
【0024】
取得部21は、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する。
具体的には、取得部21は、外部装置と通信を行って、情報のやり取りを実行する機能を有する通信インターフェースである。取得部21は、外部装置から、例えば、走行情報を取得することができる。走行情報は、少なくとも車両が走行した走行経路を示す情報である。より具体的には、走行情報は、車両の位置を示す位置情報と、位置情報を測定した時刻、位置情報を取得した時の車両の向きを示す方向情報とを含む。位置情報は、例えば、車両に搭載されているGPS(Global Positioning System)、GNSS(Global Navigation Satellite System)などにより実現される測位システムが測位した経度及び緯度の情報である。位置情報を測定した時刻は、測位システムによる測位が行われたときの時刻であり、例えば、GPS時刻や車両に搭載されている時計の時刻を用いることができる。方向情報とは、車両のフロントがいずれの方向を向いているかを示す情報であり、例えば、方位センサやジャイロセンサなどにより測定された情報を用いることができる。方向情報は、車両のヘッドが向いている方向としてヘディング値と呼称することもある。外部装置は、例えば、車両に搭載されている通信機能を有するセンサであってもよいし、走行情報として車両から取得したプローブ情報(プローブ交通情報)を用いることとして、プローブ情報を収集し、配信するシステムであってもよい。取得部21は、取得した各種の情報を処理装置10に伝達する。
【0025】
受付部22は、演算装置1のオペレータからの入力を受け付けて、処理装置10に伝達する機能を有する。受付部22は、例えば、オペレータから、地図に対して、地図上の一地点を示すプロットポイントの情報を受け付けることができる。プロットポイントの情報とは、地図上の位置(経度及び緯度)を示す情報である。受付部22は、例えば、演算装置1に備えられたハードウェアキーや、タッチキーなどのソフトキーなどにより実現することができる。受付部22は、受け付けたプロットポイントの情報を処理装置10に伝達する。
【0026】
出力部23は、処理装置10からの指示に従って、指示されたデータを外部装置に対して出力する機能を有する。出力部23は、例えば、処理装置10が算出した曲率半径や、地図上で円弧の曲率が一定である範囲を示す地図情報などを出力する。出力部23は、演算装置1に備えられたモニタ等に出力することにより実現することとしてよい。モニタは、演算装置1に接続された外部のモニタであってもよい。
【0027】
記憶部24は、演算装置1が動作するうえで必要とする各種のプログラム及び地図情報を含む各種のデータを記憶する記録媒体である。記憶部24は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)等により実現される。記憶部24は、取得部21が取得した走行情報や受付部22で受け付けたプロットポイントの情報を記憶する。
【0028】
処理装置10は、演算装置1における種々の処理を実行するものであり、例えば、CPU(Central Processing Unit)である。処理装置10は、算出部11、特定部12、グループ化部13、生成部14及び登録部15を備える。ここで、算出部11、特定部12、グループ化部13、生成部14及び登録部15は、処理装置10の一機能として実現される。
図2は、車両の走行経路、位置情報に基づいて得られる2点間の距離、及び、方向情報に基づいて得られる2点間の車両の向きの変化について説明するための図である。
【0029】
算出部11は、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔH、ΔLとΔHとの比をAとする場合、式(5)に基づいて比Aを算出する。
【0030】
【0031】
図2に一例を示すように、ポイントP101とポイントP102との間の距離ΔLは、それぞれの位置情報に基づいて算出することができる。即ち、2点それぞれの経度及び緯度の情報は得られるので、2点間の距離として、ΔLを算出することができる。これは、計測車両が実際に走行した走行距離をΔLとして取得することもできる。計測車両から取得した走行距離の方がより正確なΔLとなるが、計算によりポイントP101とポイントP102との間の直線距離ΔLで近似することもできるため、ここでは、直線距離をΔLとして算出する。
【0032】
そして、ポイントP101において、計測車両は、矢印D101で示される方向を向いており、当該方向が方向情報として取得できたとする。同様に、ポイントP102において、計測車両は、矢印D102で示される方向を向いており、当該方向が方向情報として取得できたとする。このとき、方向情報の変化量は、この方向の角度変化量として算出することができる。即ち、
図2の矢印D101と、矢印D102とが成す角度を、変化量ΔHとして算出することができる。
【0033】
演算装置1は、
図2に例示すような、位置情報を測定したポイント(黒丸)であって、互いに隣接しあう2点間のポイントそれぞれについて、ΔLとΔHとを算出する。
さらに、演算装置1は、ΔLとΔHとの比Aを式(5)に基づいて算出する。
【0034】
図3は、累積ヘディング差と累積走行距離との関係を例示するグラフである。
特定部12は、算出部11で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する。曲率半径が一定となる区間は、各ポイント間で算出した比に基づいて特定することもできるが、イメージとしては、
図3に示すように、横軸に累積走行距離をとり、縦軸に累積ヘディング差をとり、各位置情報における距離と、ヘディング差をプロットしたグラフを作成し、当該グラフの傾きが一定となる区間となって表れる。
【0035】
図3に例示する各ポイント(黒丸)は、
図2に例示する各ポイント(黒丸)に該当し、
図3におけるポイントP101~P103は、それぞれ、
図2に示すポイントP101~P103に対応する。
図3からわかるように、例えば、P103~P102にかけて、グラフの傾きがほぼ一定なので、特定部12は、この区間を曲率半径が一定の区間として特定する。このP103~P102の区間は、後述する
図4に示すP205~P206の曲率半径一定区間に対応する。また、特定部12は、グラフの傾きがほぼ一定の他の区間P201~P202、P203~P204、P207~P208及びP209~P210も曲率半径が一定の区間(曲率半径一定区間)として複数特定する。
なお、P208~P209の区間は、例えば、位置情報の取得精度等の影響により、ポイント毎に曲率半径が一定ではないことを示す。このため、特定部12は、P208~P209の区間は曲率半径が一定の区間ではないとして、P208~P209の区間を曲率半径一定区間と特定しない。
【0036】
そうして、曲率半径が一定となる区間を特定した後に、特定部12は、例えば、P103からP102にかけての走行軌跡に対する曲率半径R1(
図2参照)、及び、他の曲率半径が一定の区間についての走行軌跡に対する曲率半径を複数算出することができる。
【0037】
図4は、曲率半径と距離との関係を例示する第1のグラフである。
図4の縦軸は曲率半径Rの逆数(曲率)を示し、横軸は距離を示す。特定部12は、例えば、高速道路のジャンクション等を計測車両が走行した場合、上述したように複数の曲率半径一定区間を特定すると共に、複数の曲率半径を算出する。このときの曲率半径一定区間と曲率半径との関係は、
図4に一例を示すようになる。ポイントP201~P202、P203~P204、P205~P206、P207~P208、P209~P210が曲率半径一定区間となり、それぞれ同じ曲率半径となる。
【0038】
なお、特定部12は、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔していても、第1区間と第2区間とをグループ化してもよい。特定部12は、第1区間の終点と第2区間の始点との間の累積走行距離が所定距離内である場合や、第1区間と第2区間とが同一のカーブを走行していると推定できる場合に、第1区間の終点と第2区間の始点とが離隔していてもグループ化を実行する。第1区間と第2区間とが同一のカーブであるかどうかについては、取得した走行経路に基づいて特定することができる。
特定部12は、例えば、第1区間をP207~P208とし、第2区間をP209~P210とすると、第1区間の終点P208と、第2区間の始点P209は離れていてもよい。例えば、取得部21によって取得される車両の位置情報及び方向情報の取得精度によっては、計測車両がカーブを走行する場合でも、特定部12は、曲率半径一定区間を特定できない可能性がある。このような場合、特定部12は、取得精度の悪い区間を曲率半径一定区間に含めずに、それの前後において曲率半径一定区間を特定することが可能である。
【0039】
グループ化部13は、特定部12が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化する。この場合、グループ化部13は、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しないことが好ましい。
図4に例示する場合、比Aが連続して正になる曲率半径一定区間は、P201~P202、P203~P204になる。一方、
図4に例示する場合、比Aが連続して負になる曲率半径一定区間は、P207~P208、P209~P210になる。
図4に例示する場合、比Aの差分の正負が反転する箇所は、P205~P206になる。このため、グループ化部13は、P201~P204(P205)の区間を1つにグループ化すると共に、P207(P206)~P210の区間を1つにグループ化する。
【0040】
図5は、曲率半径と距離との関係を例示する第2のグラフである。
図5の縦軸は曲率半径Rの逆数(曲率)を示し、横軸は距離を示す。
生成部14は、グループ化部13がグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する。この場合、生成部14は、比Aの逆数が予め設定された閾値以上の場合に曲線を生成する始点とし、その始点から曲線を生成することが好ましい。生成部14は、グループ化部13によってグループ化した区間、
図4に例示する場合にはP201~P204(P205)、P207(P206)~P210の区間それぞれについて、走行経路に基づく曲線を生成する。ここで、生成部14は、例えば、ポイントP201における比Aの逆数が予め設定された閾値以上であれば、ポイントP201を始点として曲線を生成する。この曲線は、例えば、クロソイド曲線及び二次曲線等の計測車両の走行経路に応じた曲線である。
図5に例示する場合、生成部14は、ポイントP201a(
図4のポイントP201に対応)とP205との間の区間、及び、ポイントP206とP210a(
図4のポイントP210に対応)との間の区間で曲率が一定割合で変化するクロソイド曲線を生成する。
【0041】
また、生成部14は、隣接する曲率半径一定区間の曲率半径の値が離れている場合には、グループ化を実行するために、それぞれの曲率半径一定区間の長さを延長し又は短縮することにより曲線を生成してもよい。すなわち、生成部14は、例えば、
図4に示すP203~P204の区間の曲率半径の値と、P205~P206の区間の曲率半径の値とが離れている場合、曲率半径の値の離れている量に応じて、P203~P204の区間とP205~P206の区間との長さを延長し又は短縮することにより、曲線を生成してもよい。生成部14は、例えば、
図4に例示するP201~P202の区間、P203~P204の区間、及び、P205の1/R、すなわち曲率の差が相対的に大きい場合には、P205~P206の区間の長さを短縮してもよい。一方、生成部14は、例えば、
図4に例示するP201~P202の区間、P203~P204の区間、及び、P205の曲率の差が相対的に小さい場合には、P205~P206の区間を延長してもよい。
また、生成部14は、曲率半径の取得精度に応じて曲率半径一定区間の長さを延長し又は短縮することにより曲線を生成してもよい。
【0042】
生成部14は、曲率半径をR、円周率をπとすると、式(6)に基づいて複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定することが好ましい。なお、曲率半径Rmaxは、生成部14ではなく、特定部12が特定してもよい。この場合、生成部14は、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成することが好ましい。また、生成部14は、取得部21によって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成することが好ましい。
【0043】
【0044】
図4に例示する場合、P205~P206の区間において曲率半径が最小になる。生成部14は、この区間の曲率半径Rminを少なくとも維持して、P201~P204(P205)のグループ化した区間及びP207(P206)~P210のグループ化した区間それぞれの曲線を生成する。生成部14は、曲率半径Rminを維持するP205~P206の区間の長さは、グループ化した区間に生成される曲線に応じて又は曲率半径の取得精度に応じて、延長し又は短縮することが可能である。この区間の長さの延長又は短縮は、例えば、位置情報を取得したポイント毎に行ってよい。生成部14は、区間の長さ延長する場合、例えば、初期段階で、あるポイントAからポイントBまでの区間で曲率半径一定区間を設定すると、取得部21における位置情報及び方向情報の取得精度に応じて、ポイントAからポイントBに隣接するポイントB1までに曲率半径一定区間を設定してもよい。ここで、延長する区間の長さは、端部のポイント(ポイントB)から1つ隣のポイント(ポイントBに隣接するポイントB1)に限定されることはなく、端部のポイントから複数ポイント離れた位置まで延長してもよい。また、生成部14は、区間の長さを短縮する場合にも、区間の長さを延長する場合と同様に、1又は複数のポイント毎に短縮することができる。
また、生成部14は、曲率半径一定区間の長さを延長し又は短縮するときのパターンを複数求め、それぞれのパターンにおいて曲線を生成してもよい。この場合、生成部14は、生成した複数の曲線のパターンの中から最も位置情報の計測点に近いものを選択してもよい。
【0045】
登録部15は、生成部14によって生成された曲線を道路情報として地図情報に登録する。地図情報には、例えば、緯度及び経度の情報が記録されている。登録部15は、取得部21で取得された車両の位置情報と、生成部14によって生成された曲線とに基づいて、地図情報の対応する位置に曲線を登録する。
【0046】
上記の各部は、コンピュータにおいて実行されるプログラムによって、そのコンピュータの処理装置10等の機能として実現されてもよい。プログラムは、外部記憶装置又は光ディスク等の記録媒体に記録されてもよい。
【0047】
次に、演算処理方法について説明する。
図6は、一実施形態に係る演算処理方法について説明するためのフローチャートである。
【0048】
ステップST11において、取得部21は、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する。
【0049】
ステップST12において、算出部11は、ステップST11で取得された、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔHとすると、ΔLとΔHとの比Aを算出する。
【0050】
ステップST13において、特定部12は、ステップST12で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する。特定部12は、隣接する区間が離隔していても曲率半径一定区間として特定することが可能である。
【0051】
ステップST14において、グループ化部13は、ステップST13において特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化する。この場合、グループ化部13は、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所をグループ化しない。
【0052】
ステップST15において、生成部14は、ステップST14でグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する。この場合、生成部14は、ステップST12で算出された比Aの逆数が予め設定された閾値以上の場合に曲線の始点とし、その始点から曲線を生成する。また、生成部14は、最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成することが可能である。また、生成部14は、ステップST11で取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して、グループ化した区間に曲線を生成することができる。
【0053】
ステップST16において、登録部15は、ステップST15で生成された曲線を道路情報として地図情報に登録する。
【0054】
次に、本実施形態の効果について説明する。
演算装置1は、車両の位置情報と、車両の位置情報で示される位置における車両の向きを示す方向情報とを複数取得する取得部21と、位置情報に基づく隣接する2つの位置間の距離をΔL、方向情報に基づく2つの位置間の車両の向きの変化をΔHとすると、ΔLとΔHとの比Aを算出する算出部11と、算出部11で算出された比Aが一定である区間を曲率半径が一定である曲率半径一定区間として複数特定する特定部12と、特定部12が特定した曲率半径一定区間のうち隣接する曲率半径一定区間の比Aの差分が連続して正又は負になる複数の曲率半径一定区間をグループ化するグループ化部13と、グループ化部13がグループ化した曲率半径一定区間の走行経路に基づく曲線を生成する生成部14と、を備える。
これにより、演算装置1は、車両の移動に適した曲線を生成することができる。
【0055】
演算装置1では、グループ化部13は、隣接する曲率半径一定区間の比Aの差分の正負が反転する箇所は、グループ化しないこととしてもよい。
これにより、演算装置1は、グループ化した区間において、車両の移動に応じた曲線を生成することができる。また、演算装置1は、差分が増える区間又は差分が減る区間それぞれで曲線を生成するので、曲率が徐々に増加する曲線又は曲率が徐々に減少する曲線(一例として、クロソイド曲線等)を生成することができる。
【0056】
演算装置1では、生成部14は、比Aの逆数が予め設定された閾値以上の場合に曲線の始点とし、その始点から曲線を生成することとしてもよい。
これより、演算装置1は、計測車両がカーブを移動するのに応じて曲線を生成でき、計測車両が直線区間を移動する場合にも曲線が生成されるのを防ぐことができる。
【0057】
演算装置1では、特定部12は、複数の曲率半径一定区間のうち隣接する区間を第1区間及び第2区間とすると、第1区間の終点と第2区間の始点は離隔することとしてもよい。
これにより、演算装置1は、取得部21によって取得される位置情報の精度が悪い場合等に、実際の車両の走行経路とは乖離した曲線が生成されるのを防ぐことができる。
【0058】
演算装置1では、生成部14は、複数の曲率半径一定区間それぞれの曲率半径Rを求め、求めた曲率半径Rの中で最大の曲率半径Rmaxを特定し、特定した最大の曲率半径Rmaxを少なくとも維持してグループ化した曲率半径一定区間の走行経路に基づく曲線を生成することとしてもよい。
これにより、演算装置1は、計測車両の走行経路に応じた曲線を生成することができる。
【0059】
演算装置1では、生成部14は、取得部21によって取得される位置情報及び方向情報の精度に応じて、最大の曲率半径Rmaxを維持する曲率半径一定区間の長さを延長し又は短縮して曲線を生成することとしてもよい。
これにより、演算装置1は、計測車両が移動する実際のカーブに応じた、滑らかな曲線を生成することができる。
【0060】
演算装置1では、登録部15は、生成部14によって生成された曲線を道路情報として地図情報に登録することとしてもよい。
これにより、演算装置1は、生成した曲線を地図の作成に利用することができる。
【0061】
また、本実施形態の演算方法及び演算プログラムは、上述した演算装置1の効果と同様の効果を奏することができる。
【0062】
上記実施形態では、演算装置1が処理装置10、取得部21、受付部22、出力部23及び記憶部24を備える例について説明した。また、上記実施形態では、処理装置10は、算出部11、特定部12、グループ化部13、生成部14及び登録部15を備える例について説明した。これらの各機能部は、集積回路等に形成される論理回路等によって実現されてもよい。すなわち、
図7に例示するように、演算装置1は、処理回路10、取得回路21、受付回路22、出力回路23及び記憶回路24を備えてもよい。また、処理回路10は、算出回路11、特定回路12、グループ化回路13、生成回路14及び登録回路15を備えてもよい。なお、
図7に示す各回路には、
図1に示す各機能部との対応関係を明示するために、同じ符号を付している。
【符号の説明】
【0063】
1 演算装置
10 処理装置
11 算出部
12 特定部
13 グループ化部
14 生成部
15 登録部
21 取得部
22 受付部
23 出力部
24 記憶部