(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】標高算出装置
(51)【国際特許分類】
G01C 21/28 20060101AFI20240820BHJP
G09B 29/10 20060101ALI20240820BHJP
G09B 29/00 20060101ALI20240820BHJP
【FI】
G01C21/28
G09B29/10 A
G09B29/00 A
(21)【出願番号】P 2020185767
(22)【出願日】2020-11-06
【審査請求日】2023-07-18
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】樗澤 英明
【審査官】▲高▼木 真顕
(56)【参考文献】
【文献】特開2010-107371(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
G01C 21/00-21/36
B60W 10/00-10/30
B60W 30/00-60/00
G09B 29/10
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
記憶装置と、実行装置とを有し、
前記記憶装置は、複数の入力変数が入力されることにより、車両が走行している地点の標高を示す変数である標高変数を出力変数として出力する写像を規定する写像データを記憶しており、
複数の前記入力変数は、前記車両が走行している地点の緯度を示す
変数である緯度変数、前記車両が走行している地点の経度を示す
変数である経度変数
、前記車両が走行している道路の種類を示す変数である道路種類変数
、前記車両のヘッドライトのオンオフを示す変数であるライト変数、前記車両の走行速度を示す変数である車速変数、前記車両が前進走行しているか後進走行しているかを示す変数である進行方向変数、及び前記車両が走行している地点の大気圧を示す変数である大気圧変数を含み、
前記写像は、学習済みのニューラルネットワークであり、
前記実行装置は、
複数の前記入力変数の値を取得する取得処理と、
前記取得処理によって取得した
複数の前記入力変数の値を前記写像に入力することによって前記出力変数の値を算出する算出処理とを実行する
標高算出装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、標高算出装置に関する。
【背景技術】
【0002】
特許文献1に開示された標高算出装置は、緯度及び経度の組み合わせ毎に標高を定めたマップを記憶している。標高算出装置は、マップに基づいて、車両が走行している地点の緯度及び経度に対応する標高を算出する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば一般道の真上に高速道路が位置している場合のように、同じ緯度及び経度の地点において異なる高さに道路が存在していることがある。このような地点を車両が走行しているとき標高を算出するにあたって、1つの緯度及び経度の組み合わせに対して1つの標高が割り当てられた特許文献1のようなマップを利用すると、車両が走行している地点の実際の標高と、算出した標高とに乖離が生じるおそれがある。
【課題を解決するための手段】
【0005】
上記課題を解決するための標高算出装置は、記憶装置と、実行装置とを有し、前記記憶装置は、複数の入力変数が入力されることにより、車両が走行している地点の標高を示す変数である標高変数を出力変数として出力する写像を規定する写像データを記憶しており、複数の前記入力変数は、前記車両が走行している地点の緯度を示す緯度変数、前記車両が走行している地点の経度を示す経度変数、及び前記車両が走行している道路の種類を示す変数である道路種類変数を含み、前記実行装置は、前記入力変数の値を取得する取得処理と、前記取得処理によって取得した前記入力変数の値を前記写像に入力することによって前記出力変数の値を算出する算出処理とを実行する。
【0006】
例えば同じ緯度及び経度の地点において異なる高さに道路が存在している場合を考慮し、緯度及び経度のみならず、例えば一般道又は高速道路といった道路の種類と対応させて標高を定めたマップを作ることが考えられる。しかし、この場合、マップの内容が非常に複雑になり、マップを作るのに手間がかかる。したがって、そのようなマップを作るのは事実上困難である。上記構成のように、写像を利用する場合、適切な訓練データ及び教師データを用意できれば、上記マップを作る場合のような手間をかけずに写像を学習させることができる。その上、上記構成では、入力変数の1つに道路種類変数が含まれている。このから、同じ緯度及び経度の地点において異なる高さに道路が存在している場合でも、道路を区別して標高を算出できる。したがって、車両が走行している地点の標高を正しく算出できる。
【図面の簡単な説明】
【0007】
【
図3】標高算出処理の処理手順を表したフローチャート。
【発明を実施するための形態】
【0008】
以下、標高算出装置の一実施形態を、図面を参照して説明する。
<車両の概略構成>
図1に示すように、車両100は、内燃機関10、動力分割機構20、自動変速機30、駆動輪69、第1モータジェネレータ61、及び第2モータジェネレータ62を有する。
【0009】
内燃機関10、第1モータジェネレータ61、及び第2モータジェネレータ62は、車両100の駆動源となっている。これら内燃機関10、第1モータジェネレータ61、及び第2モータジェネレータ62は、動力分割機構20に連結している。動力分割機構20は、内燃機関10、第1モータジェネレータ61、及び第2モータジェネレータ62間で動力を伝達する遊星歯車機構である。動力分割機構20は、サンギアS、リングギアR、及びキャリアCを有する。キャリアCには、内燃機関10の出力軸としてのクランクシャフト11が連結している。サンギアSには、第1モータジェネレータ61の回転軸61Aが連結している。リングギアRの出力軸であるリングギア軸RAには、第2モータジェネレータ62の回転軸62Aが連結している。また、リングギア軸RAには、自動変速機30の入力軸31が連結している。自動変速機30は、多段式の変速機である。自動変速機30の出力軸32には、ディファレンシャルギアを介して左右の駆動輪69が連結している。ディファレンシャルギアは、左右の駆動輪69に回転速度の差が生じることを許容する。なお、
図1ではディファレンシャルギアの図示を省略している。
【0010】
図示は省略するが、自動変速機30の入力軸31と出力軸32との間には、係合要素としての複数のクラッチ及びブレーキと、複数の遊星歯車機構とが介在している。各係合要素の断接状態が切り替わることにより、自動変速機30は予め設定されている4つのシフトレンジに応じた変速段を形成可能である。4つのシフトレンジは、パーキングレンジ、ニュートラルレンジ、ドライブレンジ、及びリバースレンジである。パーキングレンジ及びニュートラルレンジは、車両100の非走行用の変速段を形成するシフトレンジである。ドライブレンジ及びリバースレンジは、車両100の走行用の変速段を形成するシフトレンジである。詳細には、ドライブレンジは、車両100の前進走行用の変速段を形成するシフトレンジである。リバースレンジは、車両100の後進走行用の変速段を形成するシフトレンジである。なお、ドライブレンジにおいては、例えば「1速」~「5速」といった複数の変速段が成立可能である。各変速段は、別々の変速比と対応して割り当てられている。
【0011】
車両100は、シフトレバー35を有する。シフトレバー35は、車両100の車室内に位置している。シフトレバー35は、自動変速機30における4つのシフトレンジを切り替えるためのレバーである。シフトレバー35は、4つのシフトポジションTに操作位置を切り替えることができる。各シフトポジションTは、別々のシフトレンジと対応している。
【0012】
車両100は、GPS受信機40、車速センサ42、シフトポジションセンサ36、大気圧センサ44、アクセルセンサ48、ヘッドライト50、及び切り替えスイッチ51を有する。GPS受信機40は、車両100の現在の位置座標Pに関する信号をGPS衛星から受信する。すなわち、GPS受信機40は、車両100の現在の緯度及び経度の座標値に関する信号を受信する。車速センサ42は、車両100の走行速度である車速SPを検出する。シフトポジションセンサ36は、シフトレバー35のシフトポジションTを検出する。大気圧センサ44は、車両100が走行している地点の大気圧ATMを検出する。アクセルセンサ48は、車両100におけるアクセルペダルの操作量であるアクセル操作量ACCを検出する。ヘッドライト50は、車両100の外部を照射する照明装置である。切り替えスイッチ51は、車両100のヘッドライト50のオン・オフを切り替える。
【0013】
<制御装置の概略構成>
車両100は、制御装置90を有する。制御装置90は、コンピュータプログラム(ソフトウェア)に従って各種処理を実行する1つ以上のプロセッサとして構成し得る。なお、制御装置90は、各種処理のうち少なくとも一部の処理を実行する、特定用途向け集積回路(ASIC)等の1つ以上の専用のハードウェア回路、またはそれらの組み合わせを含む回路(circuitry)として構成してもよい。プロセッサは、CPU91及び、RAM並びにROM93等のメモリを含む。メモリは、処理をCPU91に実行させるように構成されたプログラムコードまたは指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。また、制御装置90は、電気的に書き換え可能な不揮発性メモリである記憶装置95を有する。CPU91、ROM93及び記憶装置95は、互いに内部バス98を通じて通信可能である。
【0014】
制御装置90は、車両100に取り付けられている各種センサからの検出信号を受信する。具体的には、制御装置90は、次の各パラメータについての検出信号を受信する。
・車速センサ42が検出する車速SP
・シフトポジションセンサ36が検出するシフトポジションT
・大気圧センサ44が検出する大気圧ATM
・アクセルセンサ48が検出するアクセル操作量ACC
また、制御装置90は、GPS受信機40が受信した位置座標Pに関する信号を受信する。また、制御装置90は、切り替えスイッチ51によるヘッドライト50のオン・オフの切り替え状態Jに関する信号を受信する。
【0015】
CPU91は、ROM93が記憶しているプログラムを実行することにより、内燃機関10、第1モータジェネレータ61、第2モータジェネレータ62、及び自動変速機30を制御する。具体的には、CPU91は、アクセル操作量ACC及び車速SPに基づいて、車両100が走行するために必要な出力の要求値である車両要求出力を算出する。CPU91は、車両要求出力に基づいて、内燃機関10、第1モータジェネレータ61、及び第2モータジェネレータ62のトルク配分を決定する。CPU91は、算出したトルク分配に基づいて、内燃機関10、第1モータジェネレータ61、及び第2モータジェネレータ62を制御する。また、CPU91は、車速SP及び車両要求出力に基づいて、自動変速機30の変速比が車両100の走行上最適なものになるように各係合要素の断接を制御する。
【0016】
制御装置90は、車両100の走行経路の案内を行うナビゲーション装置として機能する。CPU91は、ROM93が記憶しているプログラムを実行することにより、車両100の走行経路の案内に係る各種の処理を実現する。記憶装置95は、車両100の走行経路の案内を行う上で必要なデータの1つとして、道路データMを記憶している。
図2に示すように、道路データMには、複数のノードN及び複数のリンクLが設定されている。なお、
図2では、道路データMの1例として、4つのノードN1~N4及び4つのリンクL1~L4を示している。各ノードNは、緯度及び経度の座標値によって定められている。各ノードNは、例えば交差点毎に付されていたり、所定の距離間隔で付されていたりする。各リンクLは、隣り合うノードN間を結ぶ線分として定められている。各リンクLは、道路を示している。各リンクLは、道路の種類毎に区別されている。道路の種類には、高速道路、一般国道、県道、市町村道、私道がある。各リンクLには、道路の種類を区別するための識別値である道路種類番号LV1が、該当する道路の種類に応じて割り当てられている。また、各リンクLは、道路の構造毎に区別されている。道路の構造には、トンネル、橋、高架、踏切、又はこれらのいずれにも当てはまらない通常がある。各リンクLには、道路の構造を区別するための識別値である道路構造番号LV2が、該当する道路の構造に応じて割り当てられている。なお、例えば一般国道の真上を高速道路が走っている場合のように、同じ緯度及び経度の地点において異なる高さに道路が存在していることもある。この場合、例えば
図2に示すリンクL3及びリンクL4に示すように、これら異なる高さに位置する2つの道路に別々のリンクLが設定されている。なお、
図2では図示を省略するが、道路データMには、例えば高速道路の出入り口周辺において一般国道と高速道路の本線とを繋ぐ連結路のような、分岐の道路を示すリンクも設定されている。
【0017】
CPU91は、車両100の走行経路の案内を行う処理の一環として、GPS受信機40が受信した位置座標Pに基づいて、道路データMにおける、車両100が走行している地点に対応するリンクLを随時識別する。また、CPU91は、車両100の走行経路の案内を行う処理の一環として、目的地までの走行経路の案内に係る情報を車室内のディスプレイに表示する。なお、
図1ではディスプレイの図示を省略している。
【0018】
<標高算出処理>
制御装置90は、車両100が走行している地点の標高を算出する標高算出装置として機能する。
図1に示すように、記憶装置95は、複数の入力変数を入力として出力変数を出力する写像を規定する写像データDを記憶している。出力変数は、車両100が走行している地点の標高を示す変数である標高変数である。入力変数には、次のものがある。
【0019】
・車両100が走行している地点の緯度を示す変数である緯度変数
・車両100が走行している地点の経度を示す変数である経度変数
・車両100が走行している道路の種類を示す変数である道路種類変数
・車両100が走行している道路の構造を示す変数である道路構造変数
・ヘッドライト50のオン・オフを示す変数であるライト変数
・車速SPを示す変数である車速変数
・車両100の進行方向を示す変数である進行方向変数
・過去の標高の情報を示す変数である参考標高変数
・車両100が走行している地点の大気圧ATMを示す変数である大気圧変数
なお、各入力変数の具体的な内容については後述する。
【0020】
CPU91は、標高算出処理を実行可能である。標高算出処理は、車両100が走行している地点の標高を算出する処理である。CPU91は、ROM93が記憶してるプログラムを実行することにより、標高算出処理の各処理を実現する。なお、CPU91及びROM93は、実行装置を構成している。
【0021】
CPU91は、標高算出処理の一環として取得処理及び算出処理を行う。CPU91は、取得処理では、標高変数を算出する上で必要になる各入力変数の値を取得する。CPU91は、算出処理では、取得処理で取得した各入力変数の値を、記憶装置95が記憶している写像データDの写像に入力することによって出力変数の値を算出する。
【0022】
CPU91は、車両100のイグニッションスイッチがオンになっている間、標高算出処理を繰り返し行う。
図3に示すように、CPU91は、標高算出処理を開始すると、処理をステップS10に進める。ステップS10において、CPU91は、標高変数を算出する上で必要となる上記の各入力変数の値を取得する。具体的には、CPU91は、最新緯度A1、最新経度A2、道路種類識別値A3、道路構造識別値A4、ライト識別値A5、最新車速A6、シフトレンジ識別値A7、標高前回値A8、及び最新大気圧A9を取得する。なお、ステップS10の処理は、取得処理である。以下、CPU91がこれらの各変数の値を取得する態様を順に説明する。
【0023】
CPU91は、最新緯度A1については、制御装置90がGPS受信機40から受信する位置座標Pにおける緯度の座標値に関して最新の値を当該最新緯度A1として取得する。そして、CPU91は、最新緯度A1を上記緯度変数として取り扱う。CPU91は、最新経度A2については、制御装置90がGPS受信機40から受信する位置座標Pにおける経度の座標値に関して最新の値を当該最新経度A2として取得する。そして、CPU91は、最新経度A2を上記経度変数として取り扱う。
【0024】
CPU91は、つぎのようにして道路種類識別値A3及び道路構造識別値A4を取得する。道路種類識別値A3は、道路の種類を識別する識別値である。上記のとおり、CPU91は、車両100の走行経路の案内を行う処理の一環として、道路データMにおける、車両100が現在走行している道路に対応するリンクLを識別している。CPU91は、現在識別されているリンクLの道路種類番号LV1の値を道路種類識別値A3として取得する。そして、CPU91は、道路種類識別値A3を上記道路種類変数として取り扱う。道路構造識別値A4は、道路の構造の種別を識別する識別値である。CPU91は、現在識別されているリンクLの道路構造番号LV2の値を道路構造識別値A4として取得する。そして、CPU91は、道路構造識別値A4を上記道路構造変数として取り扱う。
【0025】
CPU91は、つぎのようにしてライト識別値A5を取得する。ライト識別値A5は、ヘッドライト50がオンであるかオフであるかを識別する識別値である。このライト識別値A5の設定用に、ヘッドライト50がオンである場合とオフである場合とのそれぞれについて予め数値が割り当てられている。CPU91は、最新の切り替え状態Jに応じた数値をライト識別値A5として算出する。CPU91がライト識別値A5を算出することは、CPU91がライト識別値A5を取得することに相当する。CPU91は、ライト識別値A5を上記ライト変数として取り扱う。
【0026】
CPU91は、最新車速A6については、制御装置90が車速センサ42から受信する車速SPに関して最新の値を当該最新車速A6として取得する。そして、CPU91は、最新車速A6を、上記車速変数として取り扱う。
【0027】
CPU91は、つぎのようにしてシフトレンジ識別値A7を取得する。シフトレンジ識別値A7は、自動変速機30の現在のシフトレンジを示す識別値である。このシフトレンジ識別値A7の設定用に、シフトレバー35の各シフトポジションに対応する数値がシフトポジションT毎に予め割り当てられている。CPU91は、制御装置90がシフトポジションセンサ36から受信するシフトポジションTに関して最新の値を参照し、そのシフトポジションTに対応する数値をシフトレンジ識別値A7として算出する。CPU91がシフトレンジ識別値A7を算出することは、CPU91がシフトレンジ識別値A7を取得することに相当する。CPU91は、シフトレンジ識別値A7を上記進行方向変数として取り扱う。
【0028】
CPU91は、標高前回値A8については、標高算出処理を前回実行したときに算出した標高を当該標高前回値A8として取得する。イグニッションスイッチがオンになった後の初回の標高算出処理では、イグニッションスイッチが前回オンになっている間において最後に算出した標高を標高前回値A8とすればよい。CPU91は、標高前回値A8を参考標高変数として取り扱う。
【0029】
CPU91は、最新大気圧A9については、制御装置90が大気圧センサ44から受信する最新の値を当該最新大気圧A9として取得する。そして、CPU91は、最新大気圧A9を上記大気圧変数として取り扱う。
【0030】
CPU91は、各変数の値を取得すると、処理をステップS20に進める。
ステップS20において、CPU91は、記憶装置95が記憶している写像データDの写像を利用して標高を算出する前処理として、写像への入力用の入力変数x(1)~x(9)に、ステップS10の処理で取得した各変数の値を代入する。具体的には、CPU91は、入力変数x(1)に最新緯度A1を代入する。CPU91は、入力変数x(2)に最新経度A2を代入する。CPU91は、入力変数x(3)に道路種類識別値A3を代入する。CPU91は、入力変数x(4)に道路構造識別値A4を代入する。CPU91は、入力変数(5)にライト識別値A5を代入する。CPU91は、入力変数x(6)に最新車速A6を代入する。CPU91は、入力変数x(7)にシフトレンジ識別値A7を代入する。CPU91は、入力変数x(8)に標高前回値A8を代入する。CPU91は、入力変数x(9)に最新大気圧A9を代入する。この後、CPU91は、処理をステップS30に進める。
【0031】
ステップS30において、CPU91は、写像データDの写像に入力変数x(1)~x(9)を入力することによって、出力変数yを算出する。出力変数yは、車両100が走行している地点の標高である。
【0032】
写像は、中間層が一層の全結合順伝播型ニューラルネットワークとして構成されている。上記ニューラルネットワークは、入力側係数wFjk(j=0~n,k=0~9)と、入力側係数wFjkによって規定される線形写像である入力側線形写像の出力のそれぞれを非線形変換する入力側非線形写像としての活性化関数h(x)を含む。活性化関数h(x)は、例えばハイパボリックタンジェント「tanh(x)」である。また、上記ニューラルネットワークは、出力側係数wSj(j=0~n)と、出力側係数wSjによって規定される線形写像である出力側線形写像の出力のそれぞれを非線形変換する出力側非線形写像としての活性化関数f(x)を含む。活性化関数f(x)は、例えばハイパボリックタンジェント「tanh(x)」である。なお、値nは、中間層の次元を示すものである。入力側係数wFj0は、バイアスパラメータであり、入力変数x(0)の係数となっている。入力変数x(0)は「1」として定義される。また、出力側係数wS0は、バイアスパラメータである。
【0033】
写像は、車両100に実装される以前に、車両100と同一仕様の車両を用いて学習された学習済みモデルである。写像の学習に際しては、事前に教師データと訓練データとを取得しておく。教師データと訓練データとを取得する上では、標高を算出する対象となる全ての道路を実際に車両で走行する。その際、道路毎に一般的とみなせる走行速度で各道路を走行する。そして、各道路を走行しながら、車両が走行する地点の実際の標高を地点毎に教師データとして取得する。それとともに、写像への入力として利用する各入力変数の値を訓練データとして取得する。各入力変数の値は、ステップS10の処理と同様にして取得する。なお、例えば一般国道の真上を高速道路が走っている場合のように、同じ緯度及び経度の地点において異なる高さに道路が存在している場合、車両が走行している道路をCPUが誤認識することもあり得る。そのため、道路種類識別値A3及び道路構造識別値A4に関しては、訓練データとして取得した値を実際の道路の種類及び構造と対応させて確認することが好ましい。また、教師データとして取得する実際の標高は、標高計測用の機器を車両に搭載して計測すればよい。そのような機器として、例えばGPS衛星の信号を利用するGPS速度計を挙げることができる。教師データ及び訓練データは、標高の算出対象となる全ての道路に関して取得する。そして、取得した教師データ及び訓練データを用いて写像の学習を行う。すなわち、各地点で取得した訓練データ及び教師データの組それぞれについて、訓練データを入力として写像が出力する出力変数と、教師データとの差が所定値以下になるように、入力側変数及び出力側変数を調整する。そして、上記の差が所定値以下になることにより、学習が完了したものとする。
【0034】
CPU91は、ステップS30において出力変数yを算出すると、標高算出処理の一連の処理を一旦終了する。そして、CPU91は、再度ステップS10の処理を実行する。なお、ステップS30の処理は、算出処理である。
【0035】
<実施形態の作用>
内燃機関10から駆動輪69に至る動力伝達系を制御する上で、車両100が走行している地点の標高は重要な情報である。例えば、車両100が走行している地点の標高が高いほど酸素密度は低くなる。この点を考慮して、内燃機関10を制御する上で、車両100が走行している地点の標高が高いときには、低いときよりも吸気量を多くする必要がある。また、車両100が走行している地点の標高が高いほど大気圧ATMは低くなる。このことに伴い、車両100が走行している地点の標高が高いときには、自動変速機30の内部と外部との気圧差が大きくなる。この気圧差に起因して、自動変速機30の内部の作動油が自動変速機30の外部へと漏れ出すおそれがある。特に、自動変速機30の入力軸31の回転速度が高い場合には、自動変速機30の内部の作動油が飛散し易い。そのため、車両100が走行している地点の標高が高い場合において、さらに自動変速機30の入力軸31の回転速度が高い状態では、作動油の漏れ出しが特に懸念される。こうした事情から、車両100が走行している地点の標高が高いときには、自動変速機30の入力軸31の回転速度が高くなる変速段である低変速段を使用しないように、自動変速機30を制御する必要がある。また、上記した酸素密度や作動油の漏れ出し以外にも、車両100が走行している地点の標高がわかると、それに基づいて車両100が走行している路面の勾配を算出できる。車両100が走行している路面の勾配は、例えば内燃機関10の出力又は自動変速機30の変速段の切り替えを制御する上で有用な情報になる。
【0036】
本実施形態において、CPU91は、車両100のイグニッションスイッチがオンになっている間、各入力変数の値を写像に入力することで、車両100が走行している地点の標高を繰り返し算出する。そして、CPU91は、算出した標高を、車両100の各種部位の制御に利用する。
【0037】
<実施形態の効果>
(1)上記作用の欄に記載したとおり、車両100を制御する上では、車両100が走行している地点の標高を把握する必要がある。しかし、例えば上記したような標高計測用の機器を車両100に搭載することは、例えばコストの観点において事実上困難である。また、標高を実測することに代えて、緯度及び経度と対応させて標高を定めたマップを利用して標高を算出することが考えられる。この場合、同じ緯度及び経度の地点において異なる高さに道路が存在している場合を考慮し、緯度及び経度のみならず、道路の種類と対応させて標高を定めたマップを作ることが考えられる。しかし、この場合、マップの内容が非常に複雑になり、マップを作るのに手間がかかる。
【0038】
この点、本実施形態のように、写像を利用する場合、適切な訓練データ及び教師データを用意できれば、上記マップを作る場合のような手間をかけずに写像を学習させることができる。その上、上記構成では、入力変数の1つに道路の種類を識別する識別値である道路種類識別値A3が含まれている。このことから、同じ緯度及び経度の地点において異なる高さに道路が存在している場合でも、道路を区別して、車両100が走行している地点の標高を算出できる。したがって、車両100が走行している地点の標高を正しく算出できる。
【0039】
(2)同じ緯度及び経度の地点において異なる高さに道路が存在している場合において、それら異なる高さに存在している道路の種類が同じであることもあり得る。本実施形態では、入力変数の1つに、道路の構造の種別を示す識別値である道路構造識別値A4を含めている。このことから、異なる高さに存在している道路の種類が同じである場合でも、道路の構造によって、道路を区別して標高を算出できる。
【0040】
(3)例えば道路の分岐箇所においてCPU91が道路データMにおけるリンクLの識別を誤ってしまうこともあり得る。この場合、道路構造識別値A4は、本来の値、すなわち真の道路の構造を示す値とは異なる。ここで、車両100がトンネルを走行する場合、車両100のヘッドライト50はオンになる。本実施形態では、入力変数の1つに、ヘッドライト50のオン・オフを識別する識別値であるライト識別値A5を含めている。上記道路構造識別値A4に加え、ライト識別値A5を入力変数の1つに含めることで、車両100がトンネルを走行していることをより確実に把握できる。このことは、車両100が走行している道路を区別する上で好適である。
【0041】
(4)高速道路を車両100が走行しているときの車速SPは、他の種類の道路を車両100が走行しているときの車速SPよりも高い。本実施形態では、入力変数の1つに、最新車速A6を含めている。上記道路種類識別値A3に加え、最新車速A6を入力変数に含めることで、車両100が高速道路を走行しているか否かをより確実に把握できる。このことは、車両100が走行している道路を区別する上で好適である。
【0042】
(5)高速道路を車両100が走行している場合、サービスエリアを除けば、車両100が後進走行することはまずない。本実施形態では、入力変数の1つに、自動変速機30のシフトレンジを示す識別値であるシフトレンジ識別値A7を含めている。シフトレンジ識別値A7は車両100が前進走行しているか後進走行しているかを示す指標になる。したがって、上記道路種類識別値A3に加え、シフトレンジ識別値A7を入力変数に含めることで、車両100が高速道路を走行しているか否かをより確実に把握できる。このことは、車両100が走行している道路を区別する上で好適である。
【0043】
(6)車両100の走行中において車両100が走行している地点の標高が急激に変化することは考え難い。本実施形態では、入力変数の1つに、一つ前のタイミングで算出した標高を示す標高前回値A8を含めている。車両100が走行している地点の標高と略同値である標高前回値A8を入力変数に含めることは、車両100が走行している地点の標高を正確に算出する上で好適である。
【0044】
(7)車両100が走行している地点の標高が高くなるほど大気圧ATMは低くなる。本実施形態では、入力変数の1つに、最新大気圧A9を含めている。車両100が走行している地点の標高と対応関係がある大気圧ATMを入力変数に含めることは、車両100が走行している地点の標高の算出する上で好適である。
【0045】
<変更例>
なお、本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0046】
・標高算出処理の一部を車両100の外部のコンピュータで行ってもよい。例えば、
図4に示すように、車両100の外部にサーバ600を設けてもよい。そして、サーバ600で、標高算出処理のうちの算出処理を行う構成としてもよい。この場合、サーバ600は、コンピュータプログラム(ソフトウェア)に従って各種処理を実行する1つ以上のプロセッサとして構成し得る。なお、サーバ600は、各種処理のうち少なくとも一部の処理を実行する、特定用途向け集積回路(ASIC)等の1つ以上の専用のハードウェア回路、またはそれらの組み合わせを含む回路(circuitry)として構成してもよい。プロセッサは、CPU602及び、RAM並びにROM604等のメモリを含む。メモリは、処理をCPU602に実行させるように構成されたプログラムコードまたは指令を格納している。メモリすなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。また、サーバ600は、電気的に書き換え可能な不揮発性メモリである記憶装置606を有する。記憶装置606は、上記実施形態で説明した写像データDを記憶している。また、サーバ600は、外部通信回線網700を通じてサーバ600の外部と接続するための通信機610を有する。CPU602、ROM604、記憶装置606、及び通信機610は、互いに内部バス608を通じて通信可能である。
【0047】
標高算出処理のうちの算出処理をサーバ600で行う場合、車両100の制御装置90は、外部通信回線網700を通じて制御装置90の外部と通信するための通信機99を有する。なお、制御装置90の構成は、通信機99を有することを除いて上記実施系形態のものと同じである。そのため、制御装置90についての詳細な説明は割愛する。なお、
図4において
図1と同一に機能する箇所には、
図1と同一の符号を付している。制御装置90はサーバ600とともに、標高算出装置Zを構成する。
【0048】
標高算出処理のうちの算出処理をサーバ600で行う場合、先ず、車両100の制御装置90は、上記実施形態のステップS10の処理である取得処理を行う。制御装置90は、ステップS10の処理によって各変数の値を取得すると、取得した各変数の値をサーバ600に送信する。サーバ600のCPU602は、各変数の値を受信すると、上記実施形態のステップS20、及びステップS30の処理を行うことによって、車両100が走行している地点の標高を算出する。サーバ600のCPU602は、ROM604が記憶しているプログラムを実行することによって、ステップS20、及びステップS30の処理を行う。
【0049】
この変更例のように、車両100の制御装置90とサーバ600とで標高算出処理を行う場合、車両100の制御装置90のCPU91及びROM93と、サーバ600のCPU602及びROM604とが実行装置を構成する。
【0050】
・標高算出処理の全ての処理を車両100の外部で行ってもよい。例えば、上記変更例のように、車両100の外部にサーバ600を設ける場合において、車両100の制御装置90は、車両100に取り付けられている各センサの検出信号をサーバ600に送信する。また、車両100の制御装置90は、車両100の現在の位置座標P、ヘッドライト50の切り替え状態J、車両100が走行している地点に対応するリンクLの情報といった、標高算出処理で利用する他の変数についてもサーバ600に送信する。そして、サーバ600のCPU602は、上記実施形態のステップS10に相当する処理を行うことで、各種の変数の値を取得する。この後、上記変更例と同様、サーバ600のCPU602は、ステップS20、及びステップS30に相当する処理を行う。こうした構成では、サーバ600で取得処理、及び算出処理を行うことになる。
【0051】
・車両100を案内する機能とは関係なく、標高算出処理専用のデータとして、記憶装置95に道路データMを記憶しておいてもよい。そして、車両100を案内する機能とは関係なく、標高算出処理の前提の処理として、道路データMにおける、車両100が走行している地点に対応するリンクLを随時識別してもよい。
【0052】
・道路種類識別値A3を定める上での道路の種類の分け方は、上記実施形態の例に限定されない。道路種類識別値A3を定める上での道路の種類の分け方が、道路データMにおける道路の種類の分け方とは異なっていてもよい。この場合、道路種類識別値A3を定める上での道路の種類の分け方に応じた数値を道路の種類毎に予め割り当てておけばよい。道路データMには、例えば道路の路線番号及び道路の路線数といった情報も含まれ得る。これら道路の路線番号及び道路の路線数といった要素を考慮して道路の種類を分けてもよい。
【0053】
・道路種類識別値A3についての上記変更例と同様、道路構造識別値A4を定める上での道路の構造の種別の分け方は、上記実施形態の例に限定されない。
・上記実施形態のステップS10では、道路データMの道路種類番号LV1を道路種類識別値A3として取得していた。しかし、道路種類識別値A3を取得する態様は、これに限定されない。例えば、車両100の周囲を撮像するカメラを車両100に搭載する。そして、カメラによって道路脇に設置されている標識、又は案内看板を撮像する。そして、カメラが撮像した情報に基づいて、道路の種類を判別し、判別した道路の種類に対応する道路種類識別値A3を算出してもよい。この場合、道路種類識別値A3の設定用に、道路の種類毎の数値を予め割り当てておけばよい。
【0054】
・上記変更例と同様、ステップS10で道路構造識別値A4を取得する上で、カメラが撮像した情報を利用してもよい。すなわち、カメラで撮像した情報に基づいて道路の構造を判別し、判別した道路の構造の種別に対応する道路構造識別値A4を算出してもよい。この場合も、道路構造識別値A4の設定用に、道路の構造毎の数値を予め割り当てておけばよい。
【0055】
・ステップS10で取得する最新車速A6は、ステップS10の処理を実行する時点での最新の値に限定されない。例えば、一つ前のタイミングでステップS10を実行してから次にステップS10を実行するまでの間の車速SPの最大値を取得してもよい。また、瞬時値を取得するのではなく、一定期間の車速SPの平均値を取得してもよい。ステップS10を行うタイミングを基準としてある程度最新とみなせるものであればよい。例えば最新大気圧A9といった他の変数についても同様である。
【0056】
・緯度変数として採用する変数は、上記実施形態の例に限定されない。例えば、緯度をある範囲毎に区分けし、各範囲の代表点を示す値を緯度変数として採用してもよい。緯度変数は、車両100が走行している地点の緯度を示すものであればよい。
【0057】
・経度変数として採用する変数は、上記実施形態の例に限定されない。緯度変数と同様、例えば、経度をある範囲毎に区分けし、各範囲の代表点を示す値を経度変数として採用してもよい。経度変数は、車両100が走行している地点の経度を示すものであればよい。
【0058】
・道路種類変数として採用する変数は、上記実施形態の例に限定されない。例えば、道路の路線番号を道路種類変数として採用してもよい。道路種類変数は、道路の種類を示すものであればよい。
【0059】
・道路構造変数として採用する変数は、上記実施形態の例に限定されない。例えばトンネル及び橋には、個別に公的な名前が付されている。このような個別の名前を示す識別値を道路構造変数として設定してもよい。つまり、トンネル毎、及び橋毎に道路構造変数を設定してもよい。道路構造変数は、道路の構造を示すものであればよい。
【0060】
・ライト変数として採用する変数は、上記実施形態の例に限定されない。例えば、ヘッドライト50がオンである状態をさらに細かく分類した識別値をライト変数として採用してもよい。具体的には、ヘッドライト50がロービームである状態、ハイビームである状態、及びオフである状態の3つについて識別値を設定してもよい。道路の種類又は構造によってはヘッドライト50のハイビームとロービームを使い分けることもあり得る。そのため、上記のように設定した識別値も、道路を区別する上で有効な指標になり得る。ライト変数は、ヘッドライト50のオン・オフを示すものであればよい。
【0061】
・車速変数として採用する変数は、上記実施形態の例に限定されない。例えば、車速SPが規定車速以上であるか否かを識別する識別値を車速変数として採用してもよい。規定車速を例えば時速80kmに設定すれば、上記の識別値は、車両100が高速道路を走行しているか否かの判別の指標になり得る。車速変数は、車速SPを示すものであればよい。
【0062】
・進行方向変数として採用する変数は、上記実施形態の例に限定されない。例えば、自動変速機30の変速比を進行方向変数として採用してもよい。車両100が前進走行する場合の変速比と、車両100が後進走行する場合の変速比とは予め定まっている。このことから、変速比も車両100の進行方向を示す有効な指標になり得る。進行方向変数として変速比を利用する場合、例えば自動変速機30の入力軸31及び出力軸32の回転速度を実測して変速比を算出すればよい。進行方向変数は、車両100の進行方向を示すものであればよい。
【0063】
・参考標高変数として採用する変数は、上記実施形態の例に限定されない。例えば、標高を算出するタイミングから一定時間前までの期間において算出した過去の標高の平均値を参考標高変数として採用してもよい。参考標高変数は、過去の標高の情報であって、車両100が走行している地点の標高を算出する上で参考になるものであればよい。
【0064】
・大気圧変数として採用する変数は、上記実施形態の例に限定されない。例えば、大気圧の大きさを複数段階にレベル分けし、そうしたレベルを識別する識別値を大気圧変数として採用してもよい。大気圧変数は、車両100が走行している地点の大気圧ATMを示すものであればよい。
【0065】
・上記の大気圧変数の変更例と同様、例えば車速変数といった他の入力変数についても、それぞれの度合いに応じて複数レベルを設定し、そうしたレベルを示す値を採用してもよい。
【0066】
・入力変数の種類は、上記実施形態の例に限定されない。入力変数は、上記実施形態に示したものに代えて、又は加えて、他のものを採用してもよい。また、入力変数の数を上記実施形態の数から減らしてもよい。入力変数の数は3つ以上であればよい。そして、入力変数に、少なくとも緯度変数、経度変数、及び道路種類変数の3つを含んでいればよい。
【0067】
・入力変数として、上記実施形態で示した変数以外の変数を採用してもよい。入力変数として、例えば、車両100が進行している方角を示す方角変数を採用してもよい。方角変数の具体的な例としては、北を基準とした方位角を挙げることができる。例えば、2つの道路が異なる高さに存在している場合において、これらの道路が上からの平面視で交差していることがある。このような2つの道路を区別する上で、車両100が進行している方角は有効な情報になり得る。
【0068】
・標高変数として採用する変数は、上記実施形態の例に限定されない。例えば、標高を複数段階にレベル分けし、そうしたレベルを識別する識別値を標高変数として採用してもよい。標高変数は、車両100が走行している地点の標高を示すものであればよい。
【0069】
・写像の構成は、上記実施形態の例に限定されない。例えば、ニューラルネットワークにおける中間層の層数を2つ以上にしてもよい。
・ニューラルネットワークとして、例えば、回帰結合型のものを採用してもよい。この場合、過去の入力変数の値が今回新たに出力変数の値を算出する際に反映されることから、過去の履歴を反映して標高を算出するのに好適である。
【0070】
・写像の学習に利用する教師データ及び訓練データの取得方法は、上記実施形態の例に限定されない。例えば、標高の算出対象とする道路のうち、同じ緯度及び経度の地点において異なる高さに道路が存在しているものについてのみ、実際に車両を走行させて教師データ及び訓練データを取得し、他の道路については例えばシミュレーションによって教師データ及び訓練データを取得してもよい。
【0071】
・車両100の全体構成は、上記実施形態の例に限定されない。例えば、車両は、当該車両の駆動源として内燃機関10のみを有する構成でもよい。
【符号の説明】
【0072】
91…CPU
93…ROM
95…記憶装置
100…車両