(57)【特許請求の範囲】
【請求項１】
移動体が走行する走行路で断続的に測定された、３次元空間上の位置情報にて示される複数の測定点と、各測定点における走行路に垂直な複数の路面法線ベクトルと、各測定点における走行路に接し、かつ、前記移動体の進行方向を向いた複数の路面接線ベクトルとを受け付ける入力手段と、
前記入力手段が受け付けた測定点を示す位置情報、路面法線ベクトルおよび路面接線ベクトルを用いて、各測定点を滑らかな３次元空間上の曲線で近似して、前記走行路を表す走行路曲線を生成する生成手段と、を含む走行支援システム。
【請求項２】
請求項１に記載の走行支援システムであって、
前記生成手段は、各測定点を制御点として有するＮＵＲＢＳ曲線を生成し、かつ、各測定点について、該測定点における路面法線ベクトルおよび路面接線ベクトルの両方に垂直な対象法線ベクトルを求め、また、各制御点について、該制御点と該制御点における対象法線ベクトルに垂直な平面が前記ＮＵＲＢＳ曲線に接する接点とを結ぶベクトル分だけ該制御点を移動させることで、前記ＮＵＲＢＳ曲線を新しいＮＵＲＢＳ曲線に変形させる処理を、各測定点と前記新しいＮＵＲＢＳ曲線との距離が予め定められた距離閾値未満になり、かつ、各測定点から前記新しいＮＵＲＢＳ曲線に下した垂線の足における曲線法線ベクトルと各測定点における対象法線ベクトルとの角度が予め定められた角度閾値未満になるまで繰り返す、走行支援システム。
【請求項３】
請求項１または２に記載の走行支援システムにおいて、
各測定点は、前記移動体が出発地から目的地まで走行する走行路の全体にわたって、断続的に測定された各位置情報にて示され、
前記生成手段は、各測定点の全てを一つの滑らかな曲線で近似して、前記走行路曲線として、前記走行路の全体を表す曲線を生成する、を含む走行支援システム。
【請求項４】
請求項１ないし３のいずれか１項に記載の走行支援システムにおいて、
前記入力手段は、前記移動体の走行に関する走行条件を受け付け、
前記生成手段が生成した走行路曲線に基づいて、前記移動体を走行させる走行装置を制御するための制御情報を、前記移動体の走行が前記入力手段にて受け付けられた走行条件を満たすように生成する制御情報生成手段を含む走行支援システム。
【請求項５】
請求項４に記載の走行支援システムにおいて、
前記制御情報生成手段が生成した制御情報に従って、前記走行装置を制御する走行制御手段を含む走行支援システム。
【請求項６】
走行支援システムが行う走行支援方法であって、
当該移動体が走行する走行路上で断続的に測定された、３次元空間上の位置情報にて示される複数の測定点と、各測定点における走行路に垂直な複数の路面法線ベクトルと、各測定点における走行路に接し、かつ、前記移動体の進行方向を向いた複数の路面接線ベクトルとを受け付け、
前記受け付けられた測定点を示す位置情報、路面法線ベクトルおよび路面接線ベクトルを用いて、各測定点を滑らかな３次元空間上の曲線で近似して、前記走行路を表す走行路曲線を生成する、走行支援方法。
【請求項７】
請求項６に記載の走行支援方法であって、
各測定点を制御点として有するＮＵＲＢＳ曲線を生成し、かつ、各測定点について、該測定点における路面法線ベクトルおよび路面接線ベクトルの両方に垂直な対象法線ベクトルを求め、また、各測定点について、該測定点における対象法線ベクトルに垂直な平面が前記ＮＵＲＢＳ曲線に接する点と該測定点とを結ぶベクトル分だけ前記制御点を移動させ、前記ＮＵＲＢＳ曲線を新しいＮＵＲＢＳ曲線に変形させる処理を、各測定点と前記新しいＮＵＲＢＳ曲線との距離が予め定められた距離閾値未満になり、かつ、各測定点から前記新しいＮＵＲＢＳ曲線に下した垂線の足における曲線法線ベクトルと各測定点における対象法線ベクトルとの角度が予め定められた角度閾値未満になるまで繰り返す、走行支援方法。
【請求項８】
請求項６または７に記載の走行支援方法において、
各測定点は、前記移動体が出発地から目的地まで走行する走行路の全体にわたって、断続的に測定された各位置情報にて示され、
各測定点の全てを一つの滑らかな曲線で近似して、前記走行路曲線として、前記走行路の全体を表す曲線を生成する、を含む走行支援方法。
【請求項９】
請求項６ないし８のいずれか１項に記載の走行支援方法において、
前記移動体の走行に関する走行条件を受け付け、
前記生成された走行路曲線に基づいて、前記移動体を走行させる走行装置を制御するための制御情報を、前記移動体の走行が前記受け付けられた走行条件を満たすように生成する、走行支援方法。
【請求項１０】
請求項９に記載の走行支援方法において、
前記生成された制御情報に従って、前記走行装置を制御する、走行支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の走行を制御するための走行支援システムおよび走行路曲線生成方法に関する。
【背景技術】
【０００２】
近年、自動車などの移動体の走行を支援する走行支援システムが提案または実用化されている。走行支援システムでは、移動体の走行路を表したデジタル道路地図から、その走行路における移動体の走行を制御するための走行制御情報が生成される。また、その走行制御情報に応じて、移動体の走行が制御される。
【０００３】
ここで、移動体の走行を精度良く制御するためには、走行路の形状を精度良く表したデジタル道路地図が必要となる。走行路の形状を精度よく表すための方法としては、走行路上の複数の測定点をＢ‐スプライン（B-Spline）曲線で滑らかに近似することで、走行路を近似する方法が知られている。
【０００４】
このように走行路をＢ‐スプライン曲線で近似する技術としては、特許文献１に記載の車両用ナビゲーション装置がある。
【０００５】
この車両用ナビゲーション装置は、現在位置から目的地への方向に連続する４点の測定点を地図データから読み出し、その読み出した測定点をＢ‐スプライン曲線で近似する。そして、車両用ナビゲーション装置は、そのＢ‐スプライン曲線の曲率半径に基づいて道路のカーブを判定し、その判定結果に基づいてカーブに関する情報を報知する。車両用ナビゲーション装置は、この処理を目的地に着くまで繰り返すことで、移動体による出発地から目的地までの走行を支援している。
【０００６】
これにより、移動体の走行を精度良く制御することが可能になり、カーブに関する情報を適切に報知することが可能になる。
【特許文献１】特開２０００−３２１０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の車両用ナビゲーション装置では、測定点は、２次元座標を示していた。このため、測定点間を近似したＢ‐スプライン曲線は、走行路の曲率などの走行路の曲がり方に関する情報を含んでいるが、走行路の勾配や勾配、勾配の進行方向に沿った変化率およびバンクの傾斜角などの走行路の高低を表す情報を含んでいない。このため、移動体の走行を制御する精度が低くなるという問題がある。なお、この問題は、測定点をＢ−スプライン曲線で近似する場合に限らず、測定点を一般的な曲線で近似する場合にも生じる。
【０００８】
なお、特許文献１に記載の車両用ナビゲーション装置では、走行路をＢ‐スプライン曲線を用いて近似するときに、ローカルな処理を行っている。具体的には、車両用ナビゲーション装置は、現在位置付近の測定点のＢ−スプライン曲線による近似を目的地まで繰り返すことで、走行路を近似している。したがって、走行路が複数のＢ−スプライン曲線で近似されることとなり、各Ｂ−スプライン曲線の両端における接線の傾きや曲率などの幾何学的な情報の連続性が保証されない。なお、このような幾何学的な情報が連続になるように近似すると、各Ｂ−スプライン曲線が歪んで走行路を表さなくなる領域が発生する。
【０００９】
本発明の目的は、上記の課題である、移動体の走行を制御する精度が低くなるという問題を解決する走行支援装置および走行路曲線生成方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明による走行支援装置は、移動体が走行する走行路上で断続的に測定された、３次元空間上の位置情報にて示される複数の測定点を受け付ける入力手段と、前記入力手段が受け付けた測定点を示す位置情報を用いて、各測定点を滑らかな曲線で近似して、前記走行路を表す走行路曲線を生成する生成手段と、を含む。
【００１１】
本発明による走行路曲線生成方法は、移動体が走行する走行路上で断続的に測定された、３次元空間上の位置情報にて示される複数の測定点を受け付け、前記受け付けられた測定点を示す位置情報を用いて、各測定点を滑らかな曲線で近似して、前記走行路を表す走行路曲線を生成する。
【発明の効果】
【００１２】
本発明によれば、移動体の走行を制御する精度を向上させることが可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態について図面を参照して説明する。
【００１４】
図１は、本発明の第一の実施形態の走行支援システムを示したブロック図である。図１において、走行支援システムは、入力装置１と、デジタル道路地図装置２と、制御情報生成装置３と、現在位置情報把握装置４と、出力装置５と、制御装置６とを含む。
【００１５】
また、走行支援システムは、移動体を走行させる走行装置７と接続可能である。以下では、移動体は、自動車であるとする。さらに、走行装置７は、ステアリング７１と、アクセル７２と、ブレーキ７３と、トランスミッション７４とを含む。
【００１６】
入力装置１は、移動体のユーザから、その移動体の走行に対する走行情報を受け付ける。走行情報は、移動体が走行する走行路を特定するための走行路特定情報と、移動体の走行に関する走行条件とを含む。走行路特定情報は、例えば、移動体の出発地および目的地のそれぞれの位置情報を示す。また、走行条件は、移動体が目的地に到着するまでの時間を最短にする走行や、ＣＯ2の排出量を最小にする走行などを示す。
【００１７】
また、入力装置１は、走行路上で測定された位置情報を示す複数の測定点と、各測定点における複数の路面法線ベクトルと、各測定点における複数の路面接線ベクトルと、を受け付ける。
【００１８】
測定点は、少なくとも移動体が出発地から目的地まで走行する走行路の全体にわたって、断続的に測定された各位置情報にて示される。ここで、位置情報は、３次元空間上の位置情報（ｘ、ｙ、ｚ）であるとする。なお、位置情報の座標系は、例えば、ｘ方向は緯度を表し、ｙは経度を表し、ｚ方向は標高を表するように選ぶことができる。しかしながら位置情報の座標系は、この表し方に限らず適宜変更可能である。
【００１９】
路面法線ベクトルは、測定点における走行路面に垂直なベクトルである。また、路面接線ベクトルは、測定点における走行路に接し、かつ、移動体の進行方向を向いたベクトルである。なお、路面法線ベクトルおよび路面接線ベクトルは、単位ベクトルであるとする。
【００２０】
また、測定点、路面法線ベクトルおよび路面接線ベクトルは、走行路の中心を結んだ中心曲線上で測定されることが望ましい。さらに、位置情報が測定される間隔は、後述する走行路の幾何学的な情報を精度よく算出するのに必要な数が確保されるような間隔が望ましい。
【００２１】
なお、入力装置１は、例えば、測定点を、それらを測定する測定装置（図示せず）から受け付ける。
【００２２】
デジタル道路地図装置２は、道路地図生成部２１と、Ｂ‐ｓｐｌｉｎｅ基底関数記憶部２２と、制御点記憶部２３と、ノットベクトル記憶部２４とを含む。
【００２３】
道路地図生成部２１は、生成手段の一例である。道路地図生成部２１は、入力装置１が受け付けた各測定点を示す位置情報と、各測定点における路面法線ベクトルおよび路面接線ベクトルとに基づいて、全ての測定点を、一つの滑らかな３次元空間上の曲線で近似して、走行路の全体を表す走行路曲線を生成する。
【００２４】
以下では、測定点を近似する曲線を、Ｂ−スプライン（Ｂ‐ｓｐｌｉｎｅ）曲線として説明する。なお、測定点を近似する曲線は、Ｂ−スプラインに限らず適宜変更可能である。
【００２５】
図２は、走行路曲線の生成を説明するための説明図である。なお、図２では、走行路曲線の一例として道路の車線の中心の近似曲線が示されている。
【００２６】
道路地図生成部２１は、各測定点について、その測定点における路面法線ベクトルｎおよび路面接線ベクトルｔの両方に垂直な対象法線ベクトルＮを求める。なお、対象法線ベクトルは、単位ベクトルであるとする。また、対象法線ベクトルＮは、走行路の曲率中心の方向を向かうものとする。
【００２７】
道路地図生成部２１は、測定点および対象法線ベクトルＮに基づく幾何処理法を用いて、各測定点を一つのｐ次のＢ−スプライン曲線で近似して、走行路曲線を生成する。
【００２８】
具体的には、先ず、道路地図生成部２１は、測定点を制御点として有するＢ−スプライン曲線を生成する。
【００２９】
例えば、道路地図生成部２１は、測定点から制御点を選択する。なお、制御点の数は、測定点の数の所定の割合分の数である。所定の割合は、例えば、５％である。
【００３０】
道路地図生成部２１は、その選択した制御点に基づいて、ノットベクトルをノット間の直線距離で求める直線距離法（chord length method）や、ノットベクトルをノット間の直線距離の平方根で求める求心性法（centripetal method）を用いて、ノットベクトルを算出する。道路地図生成部２１は、その算出したノットベクトルに基づいて、Ｂスプライン基底関数を求める。そして、道路地図生成部２１は、そのＢスプライン基底関数と制御点との線形結合をＢ−スプライン曲線として生成する。
【００３１】
続いて、道路地図生成部２１は、各制御点について、その制御点と、その制御点における対象法線ベクトルに垂直な平面がＢ−スプライン曲線に接する接点とを結ぶベクトル分だけその制御点を移動させることで、そのＢ−スプライン曲線を新しいＢ−スプラインに変形させる処理を行う。道路地図生成部２１は、この処理を、各測定点とその新しいＢ−スプラインとの距離が予め定められた距離閾値未満になり、かつ、各測定点から前記新しいＢ−スプライン曲線に下した垂線の足における曲線法線ベクトルと各測定点における対象法線ベクトルとの角度が予め定められた角度閾値未満になるまで繰り返す。なお、新しいＢ−スプライン曲線もｐ次である。以下、測定点とＢ−スプライン曲線との距離を距離誤差と称し、対象法線ベクトルと曲線法線ベクトルとの角度を角度誤差と称する。
【００３２】
道路地図生成部２１は、その近似した新しいＢ−スプライン曲線を走行路曲線として生成する。
【００３３】
ここで、幾何処理法を用いても（例えば、所定回数だけ上記の処理を繰り返しても）、距離誤差が距離閾値未満にならなかったり、角度誤差が角度閾値未満にならなかったりする場合、道路地図生成部２１は、距離誤差が距離閾値未満にならない、または、角度誤差が角度閾値未満にならない測定点に応じ箇所にノット挿入を行う。そして、道路地図生成部２１は、そのノット挿入を行ったＢ−スプライン曲線に再び幾何処理法を行う。なお、ノット挿入が行われることにより、制御点の数が変化することもある。
【００３４】
このように得られた走行路曲線をデジタル道路地図として扱えば、走行路上の任意の点においてｐ−１回までの微分の連続性が保たれる。したがって、任意の点における走行路の曲率、勾配およびバンクなどが算出可能になり、移動体の走行装置を自動的に制御する自動運転に必要な制御情報を算出することが可能になる。
【００３５】
なお、測定点が２次元空間上の位置情報を示す場合でも同様な方法で行うことができる。
【００３６】
Ｂ‐ｓｐｌｉｎｅ基底関数記憶部２２、制御点記憶部２３およびノットベクトル記憶部２４からなる記憶部は、道路地図生成部２１が生成した走行路曲線を記憶する。
【００３７】
具体的には、Ｂ‐ｓｐｌｉｎｅ基底関数記憶部２２は、走行路曲線であるＢ−スプライン曲線のＢ‐スプライン基底関数を記憶する。制御点記憶部２３は、そのＢ−スプライン曲線の制御点を記憶する。ノットベクトル記憶部２４は、そのＢ−スプライン曲線のノットベクトルを記憶する。
【００３８】
なお、走行路曲線であるＢ−スプライン曲線は、複数の制御点と、各制御点に対応するＢスプライン基底関数との線形結合で表される。また、Ｂスプライン基底関数は、ノットベクトルから求められる。したがって、Ｂスプライン基底関数、制御点およびノットベクトルが記憶されれば、走行路曲線が記憶されたことになる。
【００３９】
制御情報生成装置３は、デジタル道路地図装置２が生成した走行路曲線に基づいて、位置情報に対して連続的に走行装置７を制御するための制御情報を、移動体の走行が入力装置１にて受け付けられた走行条件を満たすように生成する。
このとき、制御情報生成装置３は、制御情報を、入力装置１が受け付けた走行路特定情報にて特定される走行路の全体における走行が走行条件を満たすように生成する。
【００４０】
制御情報には、例えば、ステアリング７１を制御するステアリング制御情報、アクセル７２を制御するアクセル制御情報、ブレーキ７３を制御するブレーキ制御情報およびトランスミッション７４を制御するトランスミッション制御情報などがある。
【００４１】
制御情報生成装置３は、幾何学的情報生成部３１と、ステアリング制御情報生成部３２と、アクセル制御情報生成部３３と、ブレーキ制御情報生成部３４と、トランスミッション制御情報生成部３５とを含む。
【００４２】
幾何学的情報生成部３１は、走行路特定情報にて特定される走行路を表す走行路曲線を記憶部から取得する。具体的には、幾何学的情報生成部３１は、その走行路曲線のＢ−スプライン基底関数をＢ‐ｓｐｌｉｎｅ基底関数記憶部２２から取得し、その走行路曲線の制御点を制御点記憶部２３から取得し、その走行路曲線のノットベクトルをノットベクトル記憶部２４から取得する。
【００４３】
幾何学的情報生成部３１は、その取得した走行路曲線に基づいて、その走行路の幾何学的な情報を算出する。幾何学的な情報は、例えば、その走行路の曲率、曲率の孤長に沿った変化率、勾配、勾配の進行方向に沿った変化率およびバンクの傾斜角などである。
【００４４】
例えば、走行路曲線であるＢ−スプライン曲線を
【００４５】
【数１】
0005446136.tif 000002
【００４６】
で表すとすると、幾何学的情報生成部３１は、そのＢ−スプライン曲線の単位接線ベクトルを
【００４７】
【数２】
0005446136.tif 000003
【００４８】
で求め、そのＢ−スプライン曲線の単位法線ベクトルを
【００４９】
【数３】
0005446136.tif 000004
【００５０】
で求める。また、幾何学的情報生成部３１は、Ｂ−スプライン曲線の曲率を、
【００５１】
【数４】
0005446136.tif 000005
【００５２】
で求め、その曲率の孤長に沿った変化率を、
【００５３】
【数５】
0005446136.tif 000006
【００５４】
で求める。ここで、
【００５５】
【数６】
0005446136.tif 000007
【００５６】
である。また、幾何学的情報生成部３１は、勾配を、Ｂ−スプライン曲線のｚ方向の位置の、孤長に沿った変化率として、
【００５７】
【数７】
0005446136.tif 000008
【００５８】
で求める。さらに、幾何学的情報生成部３１は、その勾配の進行方向に沿った変化率を、
【００５９】
【数８】
0005446136.tif 000009
【００６０】
で求める。さらに、ｚ方向の単位ベクトルを
【００６１】
【数９】
0005446136.tif 000010
【００６２】
とし、ｚ軸とＢスプライン曲線の単位法線ベクトルとが形成する角度をθとすると、幾何学的情報生成部３１は、バンクの傾斜角を
【００６３】
【数１０】
0005446136.tif 000011
【００６４】
で求める。
【００６５】
ステアリング制御情報生成部３２は、幾何学的情報生成部３１が生成した幾何学的な情報に基づいて、ステアリング制御情報を、移動体の走行が走行条件を満たすように生成する。
【００６６】
アクセル制御情報生成部３３は、幾何学的情報生成部３１が生成した幾何学的な情報に基づいて、アクセル制御情報を、移動体の走行が走行条件を満たすように生成する。
【００６７】
ブレーキ制御情報生成部３４は、幾何学的情報生成部３１が生成した幾何学的な情報に基づいて、ブレーキ制御情報を、移動体の走行が走行条件を満たすように生成する。
【００６８】
トランスミッション制御情報生成部３５は、幾何学的情報生成部３１が生成した幾何学的な情報に基づいて、トランスミッション制御情報を、移動体の走行が走行条件を満たすように生成する。
【００６９】
現在位置情報把握装置４は、移動体の現在の位置情報である現在位置情報を生成する。例えば、現在位置情報把握装置４は、ＧＰＳ（Global Positioning System）機能にて現在位置情報を生成する。
【００７０】
出力装置５は、制御情報生成装置が生成した制御情報のうち、現在位置情報把握装置４が生成した現在位置情報に対応する制御情報を制御装置６に出力する。
【００７１】
制御装置６は、出力装置５が出力した制御情報および現在位置情報に基づいて、走行装置７を制御する。
【００７２】
制御装置６は、ステアリング制御部６１と、アクセル制御部６２と、ブレーキ制御部６３と、トランスミッション制御部６４とを含む。
【００７３】
ステアリング制御部６１は、出力装置５が出力したステアリング制御情報および現在位置情報に基づいて、走行装置７のステアリング７１を制御する。
【００７４】
アクセル制御部６２は、出力装置５が出力したアクセル制御情報および現在位置情報に基づいて、走行装置７のアクセル７２を制御する。
【００７５】
ブレーキ制御部６３は、出力装置５が出力したブレーキ制御情報および現在位置情報に基づいて、走行装置７のブレーキ７３を制御する。
【００７６】
トランスミッション制御部６４は、出力装置５が出力したトランスミッション制御情報および現在位置情報に基づいて、走行装置７のトランスミッション７４を制御する。
【００７７】
次に動作を説明する。
【００７８】
先ず、走行支援システムが走行路曲線を生成する際の動作について説明する。図３は、この動作を説明するためのフローチャートである。また、図４は、この処理を説明するための説明図である。
【００７９】
ステップ３０１では、入力装置１は、測定点Ｑi、路面法線ベクトルｎiおよび路面接線ベクトルｔiを受け付けると、測定点Ｑi、路面法線ベクトルｎiおよび路面接線ベクトルｔiをデジタル道路地図装置２の道路地図生成部２１に出力する。なお、ｉは、０〜ｓまであるとする。ｓは、測定点の数−１である。
【００８０】
道路地図生成部２１は、その測定点、路面法線ベクトルおよび路面接線ベクトルを受け付けると、複数の測定点Ｑi（図４Ａ）を制御点Ｐ(0)iとして有するＢスプライン曲線Ｃ(0)を生成する（図４Ｂ）。
【００８１】
具体的には、先ず、道路地図生成部２１は、複数の測定点Ｑiの中から複数の制御点Ｐ(0)iを選択する。なお、図４では、選択された測定点Ｑi（制御点Ｐ(0)i）が示されている。
【００８２】
続いて、道路地図生成部２１は、ノットベクトルを算出する。例えば、道路地図生成部２１は、直線距離法や、ノットベクトルの増分をノット間の直線距離の平方根で求める求心性法を用いて、ノットベクトルを算出する。
【００８３】
さらに、道路地図生成部２１は、そのノットベクトルに基づいて、Ｂスプライン基底関数Ｎi,p（ｕ）を求める。ここで、ｉは、０〜ｓ（ｓ＝制御点の数―１）であり、ｐは、Ｂスプライン曲線の次数である。また、ｕは、Ｂスプライン曲線の媒介変数である。
【００８４】
そして、道路地図生成部２１は、その制御点Ｐ(0)iと基底関数Ｎi,p（ｕ）の線形結合をＢスプライン曲線Ｃ(0)として生成する。
【００８５】
道路地図生成部２１は、Ｂスプライン曲線Ｃ(0)を生成すると、ステップ３０２を実行する。
【００８６】
ステップ３０２では、道路地図生成部２１は、制御点Ｐ(0)iのそれぞれから、Ｂスプライン曲線Ｃ(0)に垂線を下ろし、その垂線の足となるＢスプライン曲線Ｃ(0)上の点Ｆ(1)iを求める（図４Ｃ）。道路地図生成部２１は、点Ｆ(1)iを求めると、ステップ３０３を実行する。
【００８７】
ステップ３０３では、道路地図生成部２１は、各測定点Ｑiについて、路面法線ベクトルｎiおよび路面接線ベクトルｔiの両方に垂直な対象法線ベクトルＮiを求め、各対象法線ベクトルＮiと垂直に交わる接線を有する点Ｇ(1)iを求める（図４Ｄ）。道路地図生成部２１は、点Ｇ(1)iを求めると、ステップ３０４を実行する。なお、各対象法線ベクトルＮiと垂直に交わる接線を有する点が複数ある場合、例えば、道路地図生成部２１は、その点の中でその測定点に最も近い点を、点Ｇ(1)iとして求める。
【００８８】
ステップ３０４では、道路地図生成部２１は、各制御点Ｐ(0)iについて、以下の処理を行う。
【００８９】
先ず、道路地図生成部２１は、制御点Ｐ(0)iの角度誤差および距離誤差を求める。角度誤差は、点ＦiにおけるＢスプライン曲線Ｃ(0)の法線ベクトルと、その点Ｆiに対応する制御点Ｐ(0)iにおける対象法線ベクトルＮiの角度である。また、距離誤差は、制御点Ｐ(0)iからＢスプライン曲線Ｃ(0)（点Ｆi）までの距離である。
【００９０】
道路地図生成部２１は、その制御点Ｐ(0)iの角度誤差が予め定められた角度閾値以上か否かを判断する。さらに、道路地図生成部２１は、その制御点Ｐ(0)iの距離誤差が予め定められた距離閾値以上か否かを判断する。
【００９１】
角度誤差が角度閾値未満であり、かつ、距離誤差が距離閾値以上であると、道路地図生成部２１は、点Ｆ(1)iから制御点Ｐ(0)iまでのベクトルの大きさ分だけ、そのベクトルの方向に制御点Ｐ(0)iを移動させて新しい制御点Ｐ(1)iを生成する（図４Ｅ）。
【００９２】
また、角度誤差が角度閾値以上であり、かつ、距離誤差が距離閾値未満であると、点Ｇ(1)iから点Ｆ(1)iまでのベクトルの大きさ分だけ、そのベクトルの方向に制御点Ｐ(0)iを移動させて新しい制御点Ｐ(1)iを生成する（図４Ｆ）。
【００９３】
さらに、角度誤差が角度閾値以上であり、かつ、距離誤差が距離閾値以上であると、点Ｇ(1)iから制御点Ｐ(0)iまでのベクトルの大きさ分だけ、そのベクトルの方向に制御点Ｐ(0)iを移動させて新しい制御点Ｐ(1)iを生成する（図４Ｇ）。
【００９４】
道路地図生成部２１は、各制御点Ｐ(0)iについて、新しい制御点Ｐ(1)iを生成すると、ステップＳ２０５を実行する。なお、道路地図生成部２１は、角度誤差が角度閾値未満であり、かつ、距離誤差が距離閾値未満であると、制御点Ｐ(0)iの移動を行わずに、その制御点Ｐ(0)iを新しい制御点Ｐ(1)iとする。
【００９５】
ステップ３０５では、道路地図生成部２１は、その新しい制御点Ｐ(1)iと基底関数Ｎi,p（ｕ）の線形結合を新しいＢスプライン曲線Ｃ(1)として生成する（図４Ｈ）。
【００９６】
道路地図生成部２１は、全ての制御点について、角度誤差が角度閾値未満であり、かつ、距離誤差が距離閾値未満になるまで、ステップ３０２からステップ３０５を繰り返す。
【００９７】
道路地図生成部２１は、各制御点について、角度誤差が角度閾値未満であり、かつ、距離誤差が距離閾値未満になると、ステップ３０６を実行する。
【００９８】
ステップ３０６では、道路地図生成部２１は、そのときの制御点を有するＢスプライン曲線を生成する。道路地図生成部２１は、各測定点Ｑについて、その測定点Ｑiの角度誤差および距離誤差を求める。
【００９９】
道路地図生成部２１は、各測定点Ｑiについて、その測定点Ｑiの角度誤差が角度閾値以上か否かと、その測定点Ｑiの距離誤差が距離閾値以上か否かを判断する。
【０１００】
道路地図生成部２１は、角度誤差が角度閾値以上となる測定点と、距離誤差が距離閾値以上となる測定点との少なくとも一方があると、その測定点に対応する箇所にノット挿入（節点挿入：knot insertion）を行い、新しい制御点を生成する。ノット挿入とは、曲線の形状を変えることなく、その曲線を定義するノットベクトルに新しいノットを挿入することである。
【０１０１】
道路地図生成部２１は、全ての測定点について、角度誤差が角度閾値未満であり、かつ、距離誤差が距離閾値未満になるまで、ステップ３０２からステップ３０６を繰り返す。
【０１０２】
次に、ノット挿入の際の動作について説明する。
【０１０３】
以下、ノットベクトル
【０１０４】
【数１１】
0005446136.tif 000012
【０１０５】
にて定義されるＢ−スプライン曲線を
【０１０６】
【数１２】
0005446136.tif 000013
【０１０７】
とする。また、挿入するノットを
【０１０８】
【数１３】
0005446136.tif 000014
【０１０９】
としたとき、新しいノットベクトルは、
【０１１０】
【数１４】
0005446136.tif 000015
【０１１１】
となる。この新しいノットベクトルにて定義されるＢ−スプライン曲線はＣ（ｔ）と同じ形状である。つまり、
【０１１２】
【数１５】
0005446136.tif 000016
【０１１３】
となる。
【０１１４】
このとき、新しい制御点Ｒiを求める方法を説明する。Ｂ−スプライン曲線の特性により、全ての
【０１１５】
【数１６】
0005446136.tif 000017
【０１１６】
に対して、
【０１１７】
【数１７】
0005446136.tif 000018
【０１１８】
であり、さらに、
【０１１９】
【数１８】
0005446136.tif 000019
【０１２０】
である。数１７および１８により、
【０１２１】
【数１９】
0005446136.tif 000020
【０１２２】
である。
【０１２３】
ｉがｋ−ｐからｋまでにおいて、Ｂ−スプライン基底関数Ｎi,p（ｔ）は、
【０１２４】
【数２０】
0005446136.tif 000021
【０１２５】
と表される。ここで、
【０１２６】
【数２１】
0005446136.tif 000022
【０１２７】
を
【０１２８】
【数２２】
0005446136.tif 000023
【０１２９】
と略記する。数２０を数１７に代入すると、
【０１３０】
【数２３】
0005446136.tif 000024
【０１３１】
を得る。数２３において、新しいノットベクトルの代わりに挿入前のノットベクトルを用いると、
【０１３２】
【数２４】
0005446136.tif 000025
【０１３３】
となる。ここで、ｉがｋ−ｐ＋１からｋまでにおいて
【０１３４】
【数２５】
0005446136.tif 000026
【０１３５】
とすると、
【０１３６】
【数２６】
0005446136.tif 000027
【０１３７】
となる。
【０１３８】
数２５および数２６を数２４に代入すると、
【０１３９】
【数２７】
0005446136.tif 000028
【０１４０】
となる。以上により、数１９および数２７から全ての制御点Ｑiを
【０１４１】
【数２８】
0005446136.tif 000029
【０１４２】
で求めることが可能になる。なお、
【０１４３】
【数２９】
0005446136.tif 000030
【０１４４】
である。
【０１４５】
したがって、道路地図生成部２１は、数２８を用いて新しい制御点を求めることができる。
【０１４６】
次に、移動体の走行を制御する際の動作について説明する。図５は、この動作を説明するためのフローチャートである。
【０１４７】
ステップ５０１では、入力装置１は、移動体のユーザから、走行情報を受け付けると、その走行情報を制御情報生成装置３の幾何学的情報生成部３１に出力する。幾何学的情報生成部３１は、走行情報を受け付けると、ステップ５０２を実行する。
【０１４８】
ステップ５０２では、幾何学的情報生成部３１は、走行情報内の走行路特定情報にて特定される走行路を表すＢ−スプライン曲線の基底関数をＢ‐ｓｐｌｉｎｅ基底関数記憶部２２から取得し、そのＢ−スプライン曲線の制御点を制御点記憶部２３から取得し、そのＢ−スプライン曲線のノットベクトルをノットベクトル記憶部２４から取得する。幾何学的情報生成部３１は、幾何学的情報生成部３１は、その基底関数および制御点を線形結合して、走行路曲線であるＢ−スプライン曲線を再構成する。幾何学的情報生成部３１は、ステップ５０２を終了すると、ステップ５０３を実行する。
【０１４９】
ステップ５０３では、幾何学的情報生成部３１は、そのＢ−スプライン曲線に基づいて、走行路の幾何学的な情報を生成する。幾何学的情報生成部３１は、その幾何学的な情報と、その走行情報内に走行条件とを、ステアリング制御情報生成部３２、アクセル制御情報生成部３３、ブレーキ制御情報生成部３４およびトランスミッション制御情報生成部３５に出力する。その後、ステップ５０４が実行される。
【０１５０】
ステップ５０４では、ステアリング制御情報生成部３２は、幾何学的な情報を受け付けると、その幾何学的な情報に基づいて、ステアリング制御情報を、移動体の走行が走行条件を満たすように生成する。ステアリング制御情報生成部３２は、その生成したステアリング制御情報を出力装置５に出力する。
【０１５１】
アクセル制御情報生成部３３は、幾何学的な情報を受け付けると、その幾何学的な情報に基づいて、アクセル制御情報を、移動体の走行が走行条件を満たすように生成する。アクセル制御情報生成部３３は、その生成したアクセル制御情報を出力装置５に出力する。
【０１５２】
ブレーキ制御情報生成部３４は、幾何学的な情報を受け付けると、その幾何学的な情報に基づいて、ブレーキ制御情報を、移動体の走行が走行条件を満たすように生成する。ブレーキ制御情報生成部３４は、その生成したブレーキ制御情報を出力装置５に出力する。
【０１５３】
トランスミッション制御情報生成部３５は、幾何学的な情報を受け付けると、その幾何学的な情報に基づいて、トランスミッション制御情報を、移動体の走行が走行条件を満たすように生成する。トランスミッション制御情報生成部３５は、その生成したトランスミッション制御情報を出力装置５に出力する。
【０１５４】
出力装置５は、ステアリング制御情報、アクセル制御情報、ブレーキ制御情報およびトランスミッション制御情報を受け付けると、ステップ５０５を実行する。
【０１５５】
ステップ５０５では、出力装置５は、現在位置情報把握装置４から現在位置情報を受け付ける。なお、現在位置情報把握装置４は、常に現在位置情報を測定し、その現在位置情報を出力しているものとする。
【０１５６】
出力装置５は、ステアリング制御情報、アクセル制御情報、ブレーキ制御情報およびトランスミッション制御情報のそれぞれから、現在位置情報に対応するステアリング制御情報、アクセル制御情報、ブレーキ制御情報およびトランスミッション制御情報を抽出する。出力装置５は、その抽出したステアリング制御情報をステアリング制御部６１に出力し、その抽出したアクセル制御情報をアクセル制御部６２に出力し、その抽出したブレーキ制御情報をブレーキ制御部６３に出力し、その抽出したトランスミッション制御情報をトランスミッション制御部６４に出力する。その後、制御装置６がステップ５０６を実行する。
【０１５７】
ステップ５０６では、ステアリング制御部６１は、ステアリング制御情報を受け付けると、そのステアリング制御情報に従って、ステアリング７１を制御する。
【０１５８】
アクセル制御部６２は、アクセル制御情報を受け付けると、そのアクセル制御情報に従って、アクセル７２を制御する。
【０１５９】
ブレーキ制御部６３は、ブレーキ制御情報を受け付けると、そのブレーキ制御情報に従って、ブレーキ７３を制御する。
【０１６０】
トランスミッション制御部６４は、トランスミッション制御情報を受け付けると、そのトランスミッション制御情報に従って、トランスミッション７４を制御する。
【０１６１】
次に効果を説明する。
【０１６２】
本実施形態では、入力装置１は、移動体が走行する走行路上で断続的に測定された、３次元空間上の位置情報にて示される複数の測定点を受け付ける。道路地図生成部２１は、入力装置１が受け付けた測定点を示す位置情報を用いて、各測定点を滑らかな３次元空間上の曲線で近似して、走行路を表す走行路曲線を生成する。
【０１６３】
この場合、走行路が３次元空間上の曲線で近似されるので、走行路の曲率などの走行路の曲がり方に関する情報だけでなく、勾配、勾配の進行方向に沿った変化率およびバンクの傾斜角などの走行路の高低を表す情報も生成することが可能になる。したがって、走行路をより正確に表すことが可能になるので、移動体の走行を制御する精度を向上させることが可能になる。
【０１６４】
また、本実施形態では、道路地図生成部２１は、各測定点について、その測定点における路面法線ベクトルｎおよび路面接線ベクトルｔの両方に垂直な対象法線ベクトルＮを求める。また、道路地図生成部２１は、測定点を制御点として有するＢ−スプライン曲線を生成する。続いて、道路地図生成部２１は、各制御点について、その制御点と、その制御点における対象法線ベクトルに垂直な平面がＢ−スプライン曲線に接する接点とを結ぶベクトル分だけその制御点を移動させることで、そのＢ−スプライン曲線を新しいＢ−スプラインに変形させる処理を行う。道路地図生成部２１は、この処理を、各測定点とその新しいＢ−スプラインとの距離が予め定められた距離閾値未満になり、かつ、各測定点から前記新しいＢ−スプライン曲線に下した垂線の足における曲線法線ベクトルと各測定点における対象法線ベクトルとの角度が予め定められた角度閾値未満になるまで繰り返す。
【０１６５】
この場合、走行路曲線となる新しいＢ−スプライン曲線と測定点との距離を小さくすることが可能になるので、走行路曲線を精度よく生成することが可能になる。さらに、測定点における対象法線ベクトルと、その測定点における走行路曲線の曲線法線ベクトルとの角度を小さくすることが可能になるので、走行路曲線のねじれを抑制することが可能になる。したがって、走行路の幾何学的な情報の精度を向上させることが可能になる。したがって、走行路曲線を精度よく生成することが可能になる。
【０１６６】
また、入力装置１は、移動体が出発地から目的地まで走行する走行路の全体にわたって、断続的に測定された位置情報のそれぞれを示す複数の測定点を受け付ける。道路地図生成部２１は、入力装置１が受け付けた全ての測定点の間を一つ滑らかな曲線で近似して、走行路の全体を表す走行路曲線を生成する。
【０１６７】
この場合、走行路の全体にわたって測定された位置情報のそれぞれを示す複数の測定点の間が、一つの滑らかな曲線で補間される。したがって、走行路曲線の歪みを抑制しながら、走行路を表した曲線の任意の箇所での幾何学的な情報の連続性を保証することが可能になる。
【０１６８】
また、本実施形態では、入力装置１は、移動体の走行に関する走行条件を受け付ける。制御情報生成装置３は、道路地図生成部２１が生成した走行路曲線に基づいて、移動体の走行させる走行装置７を制御するための制御情報を、移動体の走行がその走行条件を満たすように生成する。
【０１６９】
この場合、走行路曲線の任意の箇所で接線や曲率などの連続性が保証されるので、走行装置７を精度のよく制御することが可能な制御情報を生成することが可能になる。
【０１７０】
また、本実施形態では、制御装置６は、制御情報生成装置３が生成した制御情報に従って、走行装置７を制御する。
【０１７１】
この場合、走行路曲線の任意の箇所で接線や曲率などの連続性が保証されるので、走行装置７を精度のよく制御することが可能になる。
【０１７２】
次に第二の実施形態について説明する。
【０１７３】
図６は、本実施形態の走行路支援システムを示したブロック図である。図６において、走行支援システムは、図１で示した構成に加えて、表示装置８を含む。なお、図６では、図１と同じ機能を有するものには同じ符号を付し、その機能の説明を省略することもある。
【０１７４】
表示装置８は、例えば、カーナビゲーションである。表示装置８は、デジタル道路地図装置２が生成した走行路曲線と、現在位置情報把握装置４が測定した現在位置情報とを表示する。これにより、より正確な道路形状を表示することが可能になり、走行路支援システムのユーザが走行路を把握することが可能になる。
【０１７５】
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０１７６】
例えば、移動体を自動車として説明したが、移動体は、自動車に限らず適宜変更可能である。例えば、移動体は、鉄道などの予め定められた軌道上を移動する定軌道移動体でもよい。
【０１７７】
また、Ｂ−スプライン曲線の代わりに、Ｂ−スプライン曲線を含むより一般的なＮＵＲＢＳ（Non-Uniform Rational B-Spline）曲線が用いられてもよい。なお、Ｂ−スプライン曲線は、ＮＵＲＢＳ曲線の重みを１にした場合である。
【図面の簡単な説明】
【０１７８】
【図１】本発明の第一の実施形態の走行支援システムを示したブロック図である。
【図２】走行路曲線の生成を説明するための説明図である。
【図３】走行支援システムが走行路曲線を生成する際の動作を説明するためのフローチャートである。
【図４Ａ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｂ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｃ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｄ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｅ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｆ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｇ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図４Ｈ】走行支援システムが走行路曲線を生成する際の動作を説明するための説明図である。
【図５】移動体の走行を制御する際の動作を説明するためのフローチャートである。
【図６】本発明の第二の実施形態の走行支援システムを示したブロック図である。
【符号の説明】
【０１７９】
１      入力装置
２      デジタル道路地図装置
３      制御情報生成装置
４      現在位置情報把握装置
５      出力装置
６      制御装置
７      走行装置
８      表示装置
２１    道路地図生成部
２２    Ｂ−Ｓｐｌｉｎｅ基底関数記憶部
２３    制御点記憶部
２４    ノットベクトル記憶部
３１    幾何学的情報生成部
３２    ステアリング制御情報生成部
３３    アクセル制御情報生成部
３４    ブレーキ制御情報生成部
３５    トランスミッション制御情報生成部
６１    ステアリング制御部
６２    アクセル制御部
６３    ブレーキ制御部
６４    トランスミッション制御部
７１    ステアリング
７２    アクセル
７３    ブレーキ
７４    トランスミッション
【図１】
0005446136.tif 000031
【図２】
0005446136.tif 000032
【図３】
0005446136.tif 000033
【図４Ａ】
0005446136.tif 000034
【図４Ｂ】
0005446136.tif 000035
【図４Ｃ】
0005446136.tif 000036
【図４Ｄ】
0005446136.tif 000037
【図４Ｅ】
0005446136.tif 000038
【図４Ｆ】
0005446136.tif 000039
【図４Ｇ】
0005446136.tif 000040
【図４Ｈ】
0005446136.tif 000041
【図５】
0005446136.tif 000042
【図６】
0005446136.tif 000043