(57)【特許請求の範囲】
【請求項１】
車両の現在位置を算出する現在位置算出装置であって、
道路地図を表す地図データを記憶する手段と、
車両の進行方位を検出する手段と、
逐次、車両に搭載された車速センサから取得したパルス数および設定された距離係数を用いて車両の走行距離を算出する走行距離算出手段と、
逐次、算出された車両の走行距離、検出された車両の進行方位、および前記地図データの表す道路地図を用いて、車両が存在する道路と当該道路上の車両の存在する位置とを推定する手段と、
前記推定された道路上の車両の存在する位置を車両が走行している場合の走行状況と、前記検出された進行方位および前記算出された走行距離から求まる車両の走行状況とのずれ量を算出する誤差算出手段と、
前記誤差算出手段がずれ量を算出した場合、当該算出したずれ量に応じて定まる補正量を求めて、
当該補正量と所定の関係を有する値を求めて、該求めた値を、該補正量を求めてから次に該補正量を算出するまでの間の車両の走行距離に対応付けて記憶して、
前回推定した車両が存在する位置と連続的でない位置が車両の存在する位置として推定された場合に、前記補正量を０に初期化すると共に、前記記憶している値の中の所定距離以上の走行距離に対応付けられている値の合計値を求めて、該求めた合計値を用いて前記距離係数を補正する距離係数補正手段と、を備える
ことを特徴とする現在位置算出装置。
【請求項２】
車両の現在位置を算出する現在位置算出装置であって、
道路地図を表す地図データを記憶する手段と、
車両の進行方位を検出する手段と、
逐次、車両に搭載された車速センサから取得したパルス数および設定された距離係数を用いて車両の走行距離を算出する走行距離算出手段と、
逐次、算出された車両の走行距離、検出された車両の進行方位、および前記地図データの表す道路地図を用いて、車両が存在する道路と当該道路上の車両の存在する位置とを推定する手段と、
前記推定された道路上の車両の存在する位置を車両が走行している場合の走行状況と、前記検出された進行方位および前記算出された走行距離から求まる車両の走行状況とのずれ量を算出する誤差算出手段と、
前記誤差算出手段がずれ量を算出した場合、当該算出したずれ量に応じて定まる補正量を求めて、
当該補正量と所定の関係を有する値を求めて、該求めた値を、該補正量を求めてから次に該補正量を算出するまでの間の車両の走行距離に対応付けて記憶して、
車両が略直角に右折もしくは左折した場合に、前記補正量を０に初期化すると共に、前記記憶している値の中の所定距離以上の走行距離に対応付けられている値の合計値を求めて、該求めた合計値を用いて前記距離係数を補正する距離係数補正手段と、を備える
ことを特徴とする現在位置算出装置。
【請求項３】
請求項１または２記載の現在位置算出装置であって、
前記誤差算出手段は、
前記ずれ量を車両が走行上曲がった場合に算出すること
を特徴とする現在位置算出装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、車両等の移動体に搭載され、走行距離や進行方位等を測定して、これらより当該車両の現在位置を算出する現在位置算出装置に関するものであり、特に、走行距離の測定誤差を補正する技術に関するものである。
【０００２】
【従来の技術】
従来、車両の現在位置は、ジャイロ等の方位センサにより測定した車両の進行方向と、車速センサまたは距離センサにより測定した車両の走行距離に基づいて算出することが行われている。
【０００３】
また、車両の走行距離は、一般的には、トランスミッションの出力軸、または、タイヤの回転数を計測して、その回転数に、タイヤ１回転あたりに車両が進む距離である距離係数を乗ずることにより求められている。
【０００４】
また、このように車両の進行方向と走行距離から求めた現在位置の誤差を補正するために、特公平６−１３９７２号記載の技術のように、道路データに整合するように、求められた車両の現在位置を修正する、いわゆる、マップマッチングの技術が知られている。このマップマッチングの技術によれば、位置算出の精度を高めることができる。
【０００５】
ところで、走行時には、タイヤの磨耗や、温度変化による膨張等により、タイヤの直径、すなわち、距離係数が時事刻々と変化する。このため、走行距離の算出において誤差が発生し、現在位置の算出が高精度に行えなくなる。たとえば、タイヤ１回転あたりの走行距離係数に、１％の誤差が存在すると、１００ｋｍ走行した場合、１ｋｍの誤差が発生してしまう。
【０００６】
このような走行距離の測定誤差は、通常の道路を走行している場合は、前述したマップマッチングの技術により、ある程度修正できる。しかし、高速道路等の道路を走行する際には、マップマッチングで利用できるカーブや交差点等の特徴が道路にないため、充分に誤差を修正することができなくなる。
【０００７】
さらに、一旦、測定した現在位置と真の現在位置との間に１ｋｍ程度の誤差が発生してしまうと、マップマッチングの技術によっては、正しい位置に補正することが困難になる。
【０００８】
そこで、走行距離の測定の誤差を無くすために、従来は、（１）交差点を曲がった時（始点）から、次の交差点を曲がる（終点）までの道路データと、計測した回転数より得られる走行距離とを比較することにより、タイヤ１回転あたりの距離係数を補正することが行われていた。また、（２）特公平６−２７６５２号公報に記載のように、２つのビーコンの間の地図上の距離と、走行して計測した距離を比較することにより、前述した距離係数を補正する技術も知られている。また、（３）特開平２−１０７９５８号公報記載のように、ＧＰＳ衛星よりの信号を用いて現在位置を算出するＧＰＳ受信装置を利用して車速を求め、それと検出されたタイヤの回転数とを比較して前述した距離係数を補正する技術も知られている。
【０００９】
【発明が解決しようとする課題】
しかし、前述した（１）の技術では、交差点間の道路が少しでも曲がっていたり、車両が蛇行運転したりすると、正確な補正を行うことができなくなる。また、前述した始終点を正確に特定するのが難しいという問題もある。たとえば、交差点内に複数車線がある場合、どちらの車線を通って曲がるかによって始終点は異なってくるが、このような車線まで特定することは容易ではない。
【００１０】
また、前述した（２）の技術でも、道路が直線でないと正確な補正を行うことができないし、また、車両が利用できるビーコン設備を設けなければならないという問題点がある。
【００１１】
また、前述した（３）の技術では、車両の速度が低い場合に、正確な速度情報を得ることができない場合があり、また、車両の速度変化が大きい場合には処理に時間がかかり、算出した速度に誤差が生じる。このため、正確な補正を行えない場合があるという問題がある。また、車両に利用できるＧＰＳ受信装置やＧＰＳアンテナを設ける必要がある。また、車両がトンネルや高架下、建物の影等ＧＰＳ信号が受信できない走行状態の場合には、ＧＰＳ衛星を利用できないため補正を行うことができなくなるという問題もある。
【００１２】
そこで、本発明は、走行する道路の特徴の多少や、車両の走行速度にかかわらず、また、格別の設備を必要することなしに正確に距離係数を補正し、高精度に車両位置を求めることができる現在位置算出装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
前記目的達成のために、本発明は、車輪の回転に伴い移動する車両に搭載され、当該車両の現在位置を算出する現在位置算出装置であって、
道路地図を表す地図データを記憶する手段と、
車両の進行方位を検出する手段と、
車輪の回転速度を検出する手段と、
逐次、検出された車輪の回転速度と、設定された距離係数に応じて車両の走行距離を算出する走行距離算出手段と、
逐次、検出された車両の走行距離と検出された車両の進行方位と前記地図データの表す道路地図に応じて、車両が存在する道路と当該道路上の車両の存在する位置を推定する手段と、
推定された道路上の車両の存在する位置を車両が走行している場合の走行状況と、検出された進行方位、もしくは、検出された進行方位および算出された走行距離が表す車両の走行状況とのずれ量に応じて求まる補正量、前記走行距離算出手段に設定された距離係数を補正する距離係数補正手段とを有し
前記距離係数補正手段は、前回推定した車両の存在する位置と連続的でない位置が車両の存在する位置として推定された場合、もしくは、車両が略直角に右左折した場合に、前記走行距離算出手段に設定された距離係数を、それまで当該距離係数に施された補正の補正量がキャンセルされるように変更すると共に、それまで当該距離係数に施された各補正のうち前記ずれ量を解消するために所定の程度以上有効であった各補正の補正量に応じて求まる量補正することを特徴とする現在位置算出装置を提供する。
【００１４】
【作用】
本発明に係る現在位置算出装置では、推定された道路上の車両の存在する位置を車両が走行している場合の走行状況と、検出された進行方位、もしくは、検出された進行方位および算出された走行距離が表す車両の走行状況とのずれ量に応じて求まる補正量、前記走行距離算出手段に設定された距離係数を補正する。
【００１５】
また、さらに、車両が存在する位置と連続的でない位置が車両の存在する位置として推定された場合、もしくは、車両が略垂直に右左折した場合には、前記走行距離算出手段に設定された距離係数を、それまで当該距離係数に施された補正の補正量がキャンセルされるように変更すると共に、それまで当該距離係数に施された各補正のうち前記ずれ量を解消するために所定の程度以上有効であった各補正の補正量に応じて求まる量補正する。
【００１６】
【実施例】
以下、本発明に係る現在位置算出装置の一実施例について説明する。
【００１７】
図１に本実施例に係る現在位置算出装置の構成について説明する。
【００１８】
すなわち、本実施例に係る現在位置算出装置は、車両のヨーレイトを検出することで進行方位変化を検出する角速度センサ２０１と、地磁気を検出することで車両の進行方位を検出する地磁気センサ等の方位センサ２０２と、車両のトランスミッションの出力軸の回転速度に比例した時間間隔でパルスを出力する車速センサ２０３を備えている。
【００１９】
また、現在位置周辺の地図や現在位置を示すマーク等を表示するディスプレイ２０７と、ディスプレイ２０７に表示する地図の縮尺切り替えの指令をユーザに（運転者）から受け付けるスイッチ２０４と、デジタル地図データを記憶しておくＣＤ−ＲＯＭ２０５と、そのＣＤ−ＲＯＭ２０５から地図データを読みだすためのドライバ２０６とを備えている。また、以上に示した各周辺装置の動作の制御を行うコントローラ２０８を備えている。
【００２０】
次に、コントローラ２０８は、角速度センサ２０１の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２０９と、方位センサ２０２の信号（アナログ）をデジタル信号に変換するＡ／Ｄ変換器２１０と、車速センサ２０３から出力されるパルス数を０．１秒毎にカウントするカウンタ２１６と、スイッチ２０４の押圧の有無を入力するパラレルＩ／Ｏ２１１と、ＣＤ−ＲＯＭ２０５から読みだされた地図データを転送するＤＭＡ（Direct Memory Access）コントローラ２１２と、ディスプレイ２０７に地図画像を表示する表示プロセッサ２１３とを有する。
【００２１】
また、コントローラ２０８は、さらに、マイクロプロセッサ２１４と、メモリ２１５とを有する。マイクロプロセッサ２１４は、Ａ／Ｄ変換器２０９を介して得た角速度センサ２０１の信号、Ａ／Ｄ変換器２１０を介して得た方位センサ２０２の信号、カウンタ２１６がカウントした車速センサ２０３の出力パルス数、パラレルＩ／Ｏ２１１を介して入力するスイッチ２０４の押圧の有無、ＤＭＡコントロ−ラ２１２を介して得たＣＤ−ＲＯＭ２０５からの地図データを受け入れて、それら信号に基づいて処理を行い、車両の現在位置を算出して、それを表示プロセッサ２１３を介してディスプレイ２０７に表示させる。この車両位置の表示は、図２に示すように、すでにディスプレイ２０７に表示している地図上に矢印マ−ク等を重畳して表示することにより行う。これにより、ユーザは、地図上で車両の現在位置を知ることができる。メモリ２１５は、このような動作を実現するための処理（後述）の内容を規定するプログラムや、後述する各種テ−ブル等を格納したＲＯＭと、マイクロプロセッサ２１４が処理を行う場合にワ−クエリアとして使用するＲＡＭとを含んでいる。
【００２２】
以下、本実施例に係る現在位置算出装置の動作について説明する。
【００２３】
まず、車両の進行方位及び走行距離を算出する処理、算出された進行方位及び距離から車両の現在位置を決定する処理、得られた車両位置および方位を表示する処理の三つの処理について説明する。
【００２４】
図３に、車両の進行方位及び走行距離を算出する処理の流れを説明する。
【００２５】
この処理は、一定周期、たとえば１００ｍＳ毎に起動され実行されるマイクロプロセッサ２１４のルーチンである。
【００２６】
このルーチンでは、最初、Ａ／Ｄ変換器２０９から角速度センサ２０１の出力値を読み込む（ステップ４０１）。この角速度センサ２０１の出力値には、方位変化が出力されるので、車両の進行方向の相対的な値しか検出できない。このため、次に、Ａ／Ｄ変換器２１０から方位センサ２０２の出力値を読み込み（ステップ４０２）、この方位センサ２０２の出力値により算出された絶対方位と角速度センサ２０１から出力される方位変化（角速度出力）とを用いて、車両の推定方位を決定する（ステップ４０３）。
【００２７】
この方位の決定は、たとえば、長い時間、車速が低い時には、角速度センサ２０１の誤差が大きいので、一定時間以上車速が低い場合には、方位センサ２０２の出力する方位のみを利用するという方法により行う。
【００２８】
次に、車速センサ２０３の出力するパルス数を、０．１秒毎に、カウンタ２１６で計数して、その計数値を読み込む（ステップ４０４）。この読み込んだ値に、距離係数Ｒを乗算することで、０．１秒間に進んだ距離を求める（ステップ４０５）。この距離係数Ｒの求め方については後述する。
【００２９】
次に、このようにして求められた０．１秒間あたりの走行距離値を、前回得られた値に積算して、車両の走行距離が２０ｍとなったかどうかを調べ（ステップ４０６）、２０ｍに満たない場合（ステップ４０６でＮｏ）、今回の処理を終了して、新たな処理を開始する。
【００３０】
走行距離算出処理の結果、積算された走行距離が一定距離、例えば２０ｍとなった場合（ステップ４０６でＹｅｓ）、その時点での進行方向と走行距離（２０ｍ）とを出力する（ステップ４０７）。ステップ４０７では、さらに、積算距離を初期化して、新たに走行距離の積算を開始する。
【００３１】
次に、算出された進行方位および走行距離に基づいて、車両の現在位置を求める処理について説明する。
【００３２】
図４に、この処理の流れを示す。
【００３３】
本処理は、図３からの進行方位および走行距離が出力されるのを受けて起動され、実行されるマイクロプロセッサ２１４のルーチンである。すなわち、本処理は、車両が２０ｍ進む毎に起動される。
【００３４】
さて、この処理では、まず、ステップ４０７で出力された進行方位と走行距離とを読み込む（ステップ５０１）。次に、それらの値に基づいて、車両の移動量を緯度経度方向、別々に、それぞれ求める。さらに、これらの各方向における移動量を、前回の処理で求められた車両の現在位置に加算して、現在位置（Ａ）を求める（ステップ５０２）。
【００３５】
もし、装置の始動直後など、前回求められた位置がない場合には、別途設定された位置を前回求められた位置として用いて現在位置（Ａ）を求める。
【００３６】
次に、求めた現在位置（Ａ）の周辺の地図を、ＣＤ−ＲＯＭ２０５から、ドライバ２０６およびＤＭＡコントローラ２１３を介して、読み出し、現在位置（Ａ）を中心とする予め設定された距離Ｄ内にある道路データ（線分）を抜き出す（ステップ５０３）。
【００３７】
なお、道路データとしては、たとえば、図６に示すように、２点間を結ぶ複数の線分８１〜８５で近似し、それら線分を、その始点と終点の座標によって表したもの等を用いることができる。たとえば、線分８３は、その始点（ｘ３、ｙ３）と終点（ｘ４、ｙ４）によって表現するようにする。
【００３８】
次に、ステップ５０３で抜き出された線分の中から、その線分の方位が、求められている進行方向と、所定値以内にある線分だけを抜き出す（ステップ５０４）。さらに、抜き出されたすべての線分に対し、現在位置（Ａ）から垂線をおろし、その垂線の長さを求める（ステップ５０５）。また、各線分と垂線との交差する点（線分の垂線のあし）を候補点とする
次に、それら垂線の長さを用いて、ステップ５０４で求められたすべての候補点に対して、以下に定義されるエラーコスト値を算出する。
【００３９】
エラーコスト＝α×｜進行方向−線分方位｜＋β｜垂線の長さ｜
ここで、α、βは、重み係数である。これら係数の値は、進行方向と道路の方位のずれと現在位置と道路のずれのどちらを、現在位置が、その上にある道路を選択する上で重視するかによって変化させてよい。たとえば、進行方向と方位が近い道路を重視する場合は、αを大きくするようにする。
【００４０】
そして、各線分のエラーコストが算出されたならば、エラーコストが算出された線分のうち、エラーコスト値が最も小さい候補点を選び（ステップ５０６）、その選択された候補点を、修正された現在位置（Ｂ）とする（ステップ５０７）。
【００４１】
ところで、前述したステップ５０３では、現在位置（Ａ）を中心とする予め設定された距離Ｄ内にある道路データ（線分）を抜き出したが、この距離Ｄは、前回行ったステップ５０６で選択した道路のエラーコストの値に基づいて決定する値でもよい。
【００４２】
ここで、エラーコストに基づいて、検索範囲を求める理由は、エラーコストのが大きい場合は、前回求めた現在位置（Ｂ）の精度に対する信憑性が低いと考えられるので、より広い範囲を検索して道路を探す方が、正しい現在位置を求める上で適当であるからである。
【００４３】
なお、現在位置（Ｂ）の求め方は、次のようにしてもよい。
【００４４】
すなわち、まず、ある位置から、前述したように候補点を求める。そして、各候補点のうちから前述したように現在位置（Ｂ）を求める。そして、次回の現在位置（Ｂ）は、前回求めた各候補点を、それぞれ前回求めた位置として、それぞれに対する候補点を求め、求めた全ての候補点のうちから現在位置（Ｂ）を求める。以下、同様に、前回求めた各候補点を、それぞれ前回求めた位置として、それぞれに対する現在位置（Ａ）を求め、求めた各現在位置（Ａ）より候補点を求め、求めた全ての候補点のうちから現在位置（Ｂ）を求める処理を繰り返す。したがい、このようにする場合には、前回現在位置（Ｂ）として選択された候補点とは異なる候補点をも基準に、次回の各候補点が求まることになる。また、前回現在位置（Ｂ）として選択された候補点とは異なる候補点を基準にして次回の現在位置（Ｂ）が求まることがある。
【００４５】
次に、得られた車両位置および方位を表示する処理について説明する。
【００４６】
図５に、この処理の流れを示す。
【００４７】
本処理は、１秒毎に起動され実行されるマイクロプロセッサ２１４のルーチンである。
【００４８】
最初、スイッチ２０４が押圧により地図の縮尺の変更を指示されているかを、パラレルＩ／Ｏ２１１の内容を見て判断する（ステップ６０１）。もし、押されていれば（ステップ６０１でＹｅｓ）、それに対応して、所定の縮尺フラグを設定する（ステップ６０２）。
【００４９】
次に、図４の処理で求められた現在位置（Ｂ）を読み出し（ステップ６０３）、ステップ６０２で切り替えられた縮尺フラグの内容に応じた縮尺の地図をディスプレイ２０７に、例えば、図２に示すような状態で表示する（ステップ６０４）。
【００５０】
そして、地図に重畳して、車両の現在位置（Ｂ）と車両の進行方位を、たとえば、先に示した図２のように、矢印記号“↑”を用いて表示する（ステップ６０５）。そして最後に、これらに重畳して、北を示す北マークと、縮尺に対応した距離マークとを、図２のように表示する（ステップ６０６）。
【００５１】
なお、本実施例においては、上記のように矢印記号を用いて車両位置および方向を示したが、車両位置および方向の表示形態は、位置および進行方向が、表示状態が明確に示されるものであれば、その形態は任意でよい。また、北マーク等も同様である。
【００５２】
次に、図３の処理ステップ４０５において距離の算出に用いた距離係数Ｒの求め方について説明する。
【００５３】
さて、前述したように車両の走行距離は、車速センサ２０３の出力するパルス数に距離係数Ｒを乗じて求める。しかし、タイヤの摩耗等によりタイヤ１回転あたりの車両の進行距離は変化するので、距離係数Ｒを固定値とすると、走行に伴い距離が正確に求まらなくなってくる。そこで、本実施例では、逐次、図４の処理で得られた現在位置（Ｂ）（ステップ５０８）と、ＣＤ−ＲＯＭ２０５からドライバ２０６を介して読み出した地図データから求まる道路方位と、図３の処理で得られた車両方位（ステップ４０３）とを比較することにより、現在位置（Ｂ）が、実際の位置に対して進んでいるか遅れているかを判断し、距離係数Ｒを動的に修正する。
【００５４】
このような距離係数Ｒの修正は、たとえば、次のようにして行うことができる。
【００５５】
すなわち、３つの補正変数Ｒｓｈ，Ｒａ，Ｒｓｈｃｂを導入する。そして、距離係数Ｒ＝Ｒ０×（１＋Ｒａ＋Ｒｓｈ＋Ｒｓｈｃｂ）に従い、動的に距離係数Ｒを修正する。なお、ここでＲ０は、予め定めた距離係数Ｒの初期値を示している。また、Ｒｓｈは、短期的に距離係数Ｒを補正するためのものである。補正変数Ｒａは、１０ｋｍ走行する間に求められたＲｓｈに応じて長期的に距離係数Ｒを補正するためのものである。また、Ｒｓｈｃｂは、いままで求められたＲｓｈがＲａを求めるために、そのまま用いるのが適当でないと判断される場合に、求められたＲｓｈの確からしさに応じた分のみＲを補正するためのものである。
【００５６】
さて、これらの補正変数Ｒｓｈ，Ｒｓｈｃｂ，Ｒａは、マイクロプロセッサ２１４が、次に示す処理を実行することにより逐次変更する。
【００５７】
以下では、まず、この処理の内容について個別に説明し、その後に、実際の車両の走行において、これらの処理によって、どのように補正変数Ｒｓｈｃｂ、補正変数Ｒｓｈ、補正変数Ｒａが変更されていくかを説明する。
【００５８】
まず、補正変数Ｒｓｈの求め方の概要を説明する。
【００５９】
補正変数Ｒｓｈは、道路のカーブの個所の車両の実際の曲がり方に応じて決定する。
【００６０】
たとえば、図４のステップ５０８で出力された現在位置（Ｂ）が、図７の道路Ａを進行するものであったとする。一方、たとえば、逐次出力される現在位置（Ｂ）のうちの、走行上カーブ開始点ｏより所定距離だけ前のａ点を基準に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡が、図中に破線で示したようにｏ点をオーバした地点から曲がり始めた軌跡であったとする。
【００６１】
この場合には、距離係数Ｒが真の値より大きかったものと推定することができる。なぜならば、車両がカーブに達したと距離係数Ｒを用いて推定された時点では、車両は曲がり初めていないので実際には車両はカーブに達していないと考えられるからである。また、距離係数Ｒが真の値より大きい度合いは、車両が実際に曲がり始めた地点とカーブ開始点ｏとの距離を表す図中の距離ｄより推定することができる。
【００６２】
また、逆に、車両の進行方位の走行距離から求めた車両の現在位置の軌跡が、交差点ｏに到る前に曲がり始めた軌跡である場合には、距離係数Ｒが真の値より小さかったものと推定することができる。なぜならば、車両がカーブｏに達したと距離係数Ｒを用いて推定される前に、車両は曲がり始めているので実際には車両は既にカーブｏに達していると考えられるからである。また、この場合も、距離係数Ｒが真の値より小さい度合いは、車両が実際に曲がり始めた地点とカーブｏとの距離を表す図中の距離誤差ｄより推定することができる。
【００６３】
したがい、図中のｄより距離係数が真値よりのずれの方向と、その度合いを判定し、これを打ち消すように補正変数Ｒｓｈを定めることができる。
【００６４】
または、車両方位と道路の方位差から、車両がカーブｏに達したと距離係数Ｒを用いて推定されるより前に、車両が曲がり始めたか、車両がカーブｏに達したと距離係数Ｒを用いて推定された時点より後に車両が曲がり始めたかを判定するようにしてもよい。この場合には、車両方位と道路の方位差の積分値より、距離係数Ｒが真の値よりずれている度合いを求めることができる。
【００６５】
本実施例では、このようにして、距離誤差ｄが検出された場合に距離誤差ｄの値に応じて補正変数Ｒｓｈを求め距離係数Ｒを補正する。
【００６６】
また、補正変数Ｒｓｈによる距離係数Ｒの補正は次のように行う。
【００６７】
すなわち、まず、３００ｍ走行する間は、Ｒｓｈの絶対値を正しいＲを得るための値より大きくすることにより、この３００ｍ走行する間に、現在位置（Ｂ）として漸次正しい値が求まるようにする。これは、距離誤差ｄが求まった時点では、それまでの距離係数が誤差によって、誤った現在位置（Ｂ）が求まっていると推定される。しかし、ここで、現在位置（Ｂ）を一時に正しい位置に修正すると、前述した現在位置の表示マークは、走行方向と逆方向に移動したり、一気に離れた位置に移動してしまい、運転者に混乱を与えることになる。そこで、３００ｍ走行する間に、Ｒｓｈの絶対値を正しいＲを得るための値より大きくし、この３００ｍ走行する間に、現在位置（Ｂ）のマークの表示位置が少しづつ正しい位置に修正されていくようにするのである。
【００６８】
そして、この３００ｍ走行した後は、再度ＲｓｈをＲｓｈの絶対値を正しいＲを得るための値に修正し、その後は正しい距離係数Ｒで、現在位置（Ｂ）が求まるようにするのである。また、さらに本実施例では、求まったＲｓｈが２ｋｍ以上走行間有効であった場合（新たにＲｓｈが求められなかった場合）には、このＲｓｈを漸減する。２ｋｍ以上走行間有効であった場合とは、２ｋｍ以上、カーブがなく、したがい、Ｒｓｈの適正さが２ｋｍ以上評価されていない場合であるからである。すなわち、このような場合には、Ｒｓｈの適正さの信頼度が低いので、その影響が少なくなるように、その値を漸減するのである。
【００６９】
以下では、説明の理解を容易にするために、この３００ｍ走行する間に用いられるＲｓｈをＲｓｈ３００と、その後に求められるＲｓｈをＲｓｈ１と表すことにする。
【００７０】
次に、補正変数Ｒａは、１０ｋｍ走行する毎に、その１０ｋｍ間に求められたＲｓｈ１，Ｒｓｈ３００に応じて、距離係数Ｒを補正するための補正変数である。補正変数Ｒａは、１０ｋｍの間に逐次変化するＲａ＋Ｒｓｈ＋Ｒｓｈｃｂの各値に、その値が有効であった走行距離を重み付けした値Ｌｃｏｍを用いて、
Ｒａ＝｛（１０ｋｍ＋Ｌｃｏｍ）／１０ｋｍ｝−１によって算出する。
【００７１】
なお、Ｒａが求めたら、その時点まで有効であったＲｓｈ１または、Ｒｓｈ３００，Ｒｓｈｃｂは０に初期化する。
【００７２】
このように、Ｒａは、１０ｋｍ毎に、その１０ｋｍ間に用いた各Ｒの値を近似的に平均した値に距離係数Ｒを補正するために用いる。しかし、図４の処理で現在位置（Ｂ）として、それまで現在位置（Ｂ）が存在してた道路と異なる道路上の位置が求まる等、前回推定した車両が存在する位置と連続的でない位置が車両の存在する位置として推定された場合には、それまでに求めたＲｓｈ１やＲｓｈ３００は正しくないと推定することができる。なぜなら、実際には走行していない道路の曲がりとの間で求めた距離誤差ｄによってＲｓｈ１やＲｓｈ３００を求めている可能性があるからである。
【００７３】
また、前述したように、現在位置（Ｂ）を、各候補点のうちから現在位置（Ｂ）を求め、次回の現在位置（Ｂ）を、前回求めた各候補点を、それぞれ前回求めた位置として、それぞれに対して候補点を求め、求めた全ての候補点のうちから現在位置（Ｂ）を求めるようにした場合には、今回求めた現在位置（Ｂ）と成った候補点が、前回求めた現在位置（Ｂ）を前回求めた位置として算出された候補点でなかった場合に、前回推定した車両が存在する位置では無い位置を基準として求めた位置が車両の存在する位置として推定されたことになる。したがい、このような場合もまた、前回推定した車両が存在する位置と連続的でない位置が車両の存在する位置として推定されたことになるので、それまでに求めたＲｓｈ１やＲｓｈ３００は正しくないと推定することができる。
【００７４】
また、同様に、車両が略９０度（たとえば、７０度から１１０度）を曲がった場合には、Ｒｓｈ１やＲｓｈ３００が、正しい距離係数Ｒを得るための値と大きく異なった値として求まることがある。なぜならば、たとえば、複数車線を有する交差点等では、どの車線を走行して曲がったかによって、大きく異なる距離誤差ｄが求まってしまうため、この曲がりによっては大きく誤ったＲｓｈ１やＲｓｈ３００が求められてしまうからである。なお、車両が略９０度より小さい角度曲がった場合にも、複数車線を有する道路では、どの車線を走行して曲がったかによって、異なる距離誤差ｄが求まってしまうが、そのずれ、影響は略９０度曲がった場合に比べ小さい。そこで、本実施例では、車両が略９０度より小さい角度曲がった場合のずれ、影響は許容する。
【００７５】
そこで、本実施例では、図４の処理で現在位置（Ｂ）として、前回求めた現在位置（Ｂ）と連続的でない位置が求まった場合（位置飛びがあった場合）や、略９０度曲がった場合には、前回Ｒａを求めてから、その時点まで求めたＬｃｏｍ（Ｒａ＋Ｒｓｈ＋Ｒｓｈｃｂ）の各値に、その値が有効であった走行距離を重み付けした値や、その時点におけるＲｓｈ１もしくはＲｓｈ３００を初期化すると共に、その時点から１０ｋｍを計測し直す。
【００７６】
しかし、このようにすると、前回Ｒａを求めてから、前回求めた現在位置（Ｂ）と連続的でない位置が現在位置（Ｂ）として求まった時点もしくは略９０度曲がった時点までに求めた、Ｒｓｈ１やＲｓｈ３００の情報が全て失われてしまう。したがい、このようにすると、たとえば、図８に示すように、途中まで、せっかく正しいＲｓｈ，Ｒｓｈ３００が求まっていた場合にでも、この経験を以降の距離係数Ｒに反映することができなくなる。図８ａは、道路の分岐点以降、誤って実際には走行していない道路上に現在位置（Ｂ）を推定した後、実際に走行している道路上に現在位置（Ｂ）を推定することができるようになった例であり、図８ｂは滑らかにカーブする道路上をしばらく走行した後に交差点を右折した例である。
【００７７】
そこで、本実施例では、さらに補正変数Ｒｓｈｃｂを導入し、交差点を曲がったか、それまで現在位置（Ｂ）が存在していた道路と異なる道路上の位置が求まったために、Ｌｃｏｍと、Ｒｓｈ１もしくはＲｓｈ３００を初期化する場合には、前回Ｒａを求めてから、その時点までに求めたＲｓｈ３００のうち、そのＲｓｈ３００を求めた後、少なくとも２ｋｍ走行するまでの間に次のＲｓｈ３００が求められなかったＲｓｈ３００については、このＲｓｈ３００に比例し、かつこのＲｓｈ３００より充分に小さい値を求め、この和をＲｓｈｃｂとし、この値によって距離係数Ｒを補正する。
【００７８】
以下、このように各補正変数Ｒａ，Ｒｓｈ１，Ｒｓｈ３００，Ｒｓｈｃｂを算出していくために、マイクロプロセッサ２１４が行う処理の詳細について説明する。
【００７９】
まず、図９に、装置が起動されたとき等に行う初期化処理を示す。
【００８０】
この処理では、以降の処理で用いる各種変数ｄ，Ｌａ，Ｒｓｈ（Ｒｓｈ１／Ｒｓｈ３００），Ｒａ，Ｒｓｈｃｂ，ｌ，ｌｃｏｍ，ｉ，Ｒｓｈｃｂ＿ｄｔ（ｉ），Ｒｓｈ０を全て０に初期化する。
【００８１】
次に、このような初期化処理の後、車両が２０ｍ走行する毎に実行される処理を図１０に示す。
【００８２】
この処理では、各センサ２０１，２０２，２０３を用いて算出した走行距離や進行方位をセンサデータとして読み込む（ステップ８０１）。そして次に、ＣＤ−ＲＯＭ２０５からドライバ２０６に読み出された地図データを読み込む（ステップ８０２）。
【００８３】
次に、前回補正変数Ｒａが求まってからの走行距離を表す変数Ｌａ、前回補正変数Ｒｓｈ３００が求まってからの走行距離を表す変数Ｌｓｈｃｂ（ｉ−１）の値を、その時点の値に２０ｍを加算することにより更新する。
【００８４】
次に、ｆｌａｇが０か否かを判定する（ステップ８０４）。ｆｌａｇは、Ｒｓｈ３００が有効である期間、すなわち、距離誤差ｄが求められＲｓｈ３００が算出されてから３００ｍ走行する間のみ値１となるフラグである。
【００８５】
そして、フラグが０であれば、前述した距離誤差ｄを求める。そして、前回補正変数Ｒｓｈ１が求まってからの走行距離を表す変数Ｌｓｈの値を、その時点の値に２０ｍ加算することにより更新する（ステップ８０６）。
【００８６】
一方、ｆｌａｇが１である場合には、Ｒｓｈ３００が有効である期間、すなわち、距離誤差ｄが求められＲｓｈ３００が算出されてから３００ｍ走行していない期間であるので、ステップ８０５，８０６は行わない。
【００８７】
次に、ステップ８０５で求めた距離誤差ｄが０か否かを判定する（ステップ８０７）。今回ステップ８０５で求めた距離誤差ｄが０でない場合、および、Ｒｓｈ３００が有効である期間は、距離誤差ｄが０ではないので、ステップ８０８のＲｓｈ算出処理を行う。なお、Ｒｓｈ３００が有効である期間は、このＲｓｈ３００を求めるために用いた距離誤差ｄが維持されつづけるので距離誤差ｄは０とならない。Ｒｓｈ算出処理（ステップ８０８）では、後述するように、Ｒｓｈ３００の算出、或いはＲｓｈ３００からのＲｓｈ１への算出を行う。また、前述したＲｓｈｃｂを後に求めるために、算出したＲｓｈ３００の応じた値を配列Ｒｓｈｃｂ＿ｄｔに保存していく処理を行う。
【００８８】
次に、ステップ８０９では、前回補正変数Ｒｓｈ１が変更されてからの走行距離を表す変数Ｌｓｈの値が２ｋｍを超えたか否かを判定し超えていれば、前回補正変数Ｒｓｈ１の値が変更されてから今までの走行距離を表すＬｓｈに、その時点のＲａ＋Ｒｓｈ＋Ｒｓｈｃｂの値を乗じた値を、その時点のＬｃｏｍに加算した値を新たなＬｃｏｍとする。このＬｃｏｍは、前述したように１０ｋｍ毎の補正係数Ｒａの算出に用いられる。
【００８９】
次に、先に述べたように、有効であった走行距離が２ｋｍを超えたＲｓｈ１の値を漸減するＲｓｈ削減処理を行う。Ｒｓｈ削減処理は、Ｒｓｈ１から正の定数ｎを、Ｒｓｈ１が正の場合には減じ、Ｒｓｈ１が負の場合には加算することにより行う。ただし、正のＲｓｈ１から定数ｎを減じた値が負の値となった場合には、Ｒｓｈ１を０とする。また、負のＲｓｈ１から定数ｎを減じた値が正の値となった場合には、Ｒｓｈ１を０とする。また、Ｒｓｈ１の値が０の場合は０のままとする。
【００９０】
そして、再び、削減処理を施したＲｓｈの有効距離を管理するためにＬｓｈを０にリセットする（ステップ８１２）。
【００９１】
一方、ステップ８０９では、前回補正変数Ｒｓｈ１が変更されてからの走行距離を表す変数Ｌｓｈの値が２ｋｍを超えていないと判定されていない場合には、ステップ８１０から８１２の処理は行わない。
【００９２】
次に、ステップ８１３では、図４の処理で現在位置（Ｂ）として、前回推定した車両が存在する現在位置（Ｂ）と連続的でない位置が推定されたか（位置飛びがあったか）、それとも、略９０度を曲がったかを判定する。そして、どちらでもなければ、処理を終了する。
【００９３】
一方、ステップ８１３の処理で現在位置（Ｂ）として、現在位置（Ｂ）として、前回推定した車両が存在する現在位置（Ｂ）と連続的でない位置が推定されたか、それとも、略９０度曲がったかしていると判定された場合には、前述したように、その時点まで求めたＬｃｏｍ（Ｒの各値に、その値が有効であった走行距離を重み付けした値）や、その時点におけるＲｓｈ１もしくはＲｓｈ３００を初期化すると共に、その時点から１０ｋｍを計測し直すＬａリセット処理を行う（ステップ８１４）。また、この処理では、前述したように、Ｒｓｈｃｂを求め、距離係数Ｒを補正する処理を行う。
【００９４】
以下、各処理の詳細について説明する。
【００９５】
まず、ステップ８０５の距離誤差ｄの算出処理について説明する。
【００９６】
図１１に、この処理の手順を示す。
【００９７】
図示するように、この処理では、まず、車両が右左折したか否かを判定し（ステップ１１０１）、距離誤差が存在するか否かを判定し（ステップ１１０２）、距離誤差があれば、先に説明した距離誤差ｄを算出する（ステップ１１０３）。ただし、このとき、車両がカーブを内回りしたときに距離誤差ｄの符号は負とし、車両がカーブを外回りしたときに距離誤差ｄの符号は正とする。
【００９８】
一方、車両が右左折していない場合、または、距離誤差が存在しない場合には、そのまま処理を終了する。
【００９９】
次に、図１０のステップ８０８の補正変数Ｒｓｈの算出処理について説明する。
【０１００】
図１２に、この補正変数Ｒｓｈの算出処理の処理手順を示す。
【０１０１】
この処理では、まず、ｆｌａｇが０か否かを判定する（ステップ１２０１）。ｆｌａｇが０であるときは、Ｒｓｈ３００が有効でなく、かつ、０でない距離誤差ｄが求められたときであるので（図１０参照）、距離誤差ｄに応じて補正変数Ｒｓｈ３００を求める（ステップ１２０３）。ただし、Ｒｓｈが変更される前に、前回補正変数Ｒｓｈ１の値が変更されてから今までの走行距離を表すＬｓｈに、その時点のＲａ＋Ｒｓｈ＋Ｒｓｈｃｂの値を乗じた値を、その時点Ｌｃｏｍに加算した値を新たなＬｃｏｍとしておく。また、その時点のＲｓｈ１をＲｓｈ０として記憶しておく（ステップ１２０２）。補正変数Ｒｓｈ３００は、距離誤差ｄより次のようにして求める。
【０１０２】
すなわち、補正変数Ｒｓｈに与える変化ｄＲｓｈの正負を図１３に示す対応によって定め、補正変数Ｒｓｈに与える変化ｄＲｓｈの絶対値を距離誤差ｄの絶対値に、予め定めた係数ｊを乗じて求める。そして、Ｒｓｈ３００＝Ｒｓｈ０＋ｄＲｓｈに従いＲｓｈ３００を求める。
【０１０３】
そして、さらに、算出したＲｓｈ３００の大きさの応じた値を、Ｒｓｈｃｂ＿ｄｔ（ｉ）として登録し（ステップ１２０４）、前述したｆｌａｇを１に、Ｒｓｈ３００が算出されてからの走行距離を表す変数ｌを０に設定し（ステップ１２０５）、処理を終了する。変数ｌは、Ｒｓｈ３００が算出されてから３００ｍ走行したか否かを判定するために用いる。
【０１０４】
ここで、ステップ１２０５の登録は、図１４に示す処理によって行う。すなわち、現在のｉが、配列Ｒｓｈｃｂ＿ｄｔの要素数を超えているか否かを判定し（ステップ１３０１）、超えていれば配列中にこの値を登録する余地がないので処理を終了する。一方、もし、超えていなければ配列Ｒｓｈｃｂ＿ｄｔのｉ番目の要素Ｒｓｈｃｂ＿ｄｔ（ｉ）として、Ｒｓｈ３００の所定の定数を乗じた値を登録し（ステップ１３０３）、このＲｓｈ３００を求めてから次のＲｓｈ３００が求まるまでの走行距離を表すための配列Ｌｓｈｃｂのｉ番目の要素Ｌｓｈｃｂ（ｉ）を０に設定する（ステップ１３０３）。そして、次回の処理のためにｉを１進めて処理を終了する。
【０１０５】
この後、今回登録されたＲｓｈｃｂ＿ｄｔ（ｉ−１）に対応するＬｓｈｃｂ（ｉ−１）は、図１０のステップ８０３で、ｉが、この次１進められるまで、逐次更新されることになる。
【０１０６】
さて、このような処理によって、配列Ｒｓｈｃｂ＿ｄｔには、求められた各Ｒｓｈ３００に比例した値が順次蓄積される。また、配列Ｌｓｈｃｂには、配列Ｒｓｈｃｂ＿ｄｔの各要素に対応して、その要素が比例するＲｓｈ３００を求めてから次のＲｓｈ３００が求まるまでの走行距離が順次蓄積されることになる。
【０１０７】
さて、図１２に戻り、ステップ１２０１でｆｌａｇが０でないと判定された場合には、まだ、Ｒｓｈ３００が有効な期間であるので、Ｒｓｈ３００が算出されてからの走行距離を表すｌが３００ｍを超えているかを判定し（ステップ１２０６）、超えていなければｌは、Ｒｓｈ３００が算出されてから現在までの走行距離を表すよう更新し（ステップ１２０７）、処理を終了する。
【０１０８】
一方、ｌが３００ｍを超えていれば、補正変数Ｒｓｈ３００が算出されてから今までの走行距離を表すｌに、その時点のＲａ＋Ｒｓｈ＋Ｒｓｈｃｂの値を乗じた値を、その時点のＬｃｏｍに加算した値を新たなＬｃｏｍとし（ステップ１２０８）、距離誤差ｄ、ｌ、ｆｌａｇを０にリセットし（ステップ１２０９）、Ｒｓｈ１をＲｓｈ３００より求める。Ｒｓｈ１は、Ｒｓｈ３００にｌより小さな正の定数を乗じた値を、記憶しておいたＲｓｈ０（前回求めたＲｓｈ１）に加算することにより求める（ステップ１２１０）。この処理により、Ｒｓｈは、Ｒｓｈ３００よりＲｓｈ１に変更されることになる。
【０１０９】
なお、ｄＲｓｈとしてＲｓｈ１より充分に大きな値を用いることとし、Ｒｓｈ３００を求めてから３００ｍ間は、Ｒｓｈ３００＝ｄＲｓｈとするようにしてもよい。
【０１１０】
次に、図１０のステップ８１４のＬａリセット処理について説明する。
【０１１１】
図１５に、この処理の処理手順を示す。
【０１１２】
図示するように、この処理では、ｉ＝０からｉｍａｘ（並列データＬｓｈｃｂ ｄｔの要素数）までの各ｉについて（ステップ１５０１，１５０５，１５０６）、Ｌｓｈｃｂ（ｉ）が２ｋｍを超えているか否かを判定し（ステップ１５０２）、超えている場合のみ対応するＲｓｈｃｂ ｄｔ（ｉ）の値を、その時点のＲｓｈｃｂに加算する（ステップ１５０３）処理を行い、その後、Ｒｓｈｃｂ ｄｔ（ｉ）を０に初期化する。
【０１１３】
そして、その後、ｉ，Ｒｓｈ，Ｌａ，Ｌｃｏｍを０にリセットし（ステップ１５０７）、処理を終了する。
【０１１４】
ステップ１５０７の処理によって、図４の処理で現在位置（Ｂ）として、前回推定した車両が存在する現在位置（Ｂ）と連続的でない位置が推定された場合や、交差点等で略９０度を曲がった場合に、前回Ｒａを求めてから、その時点まで求めたＬｃｏｍ（Ｒａ＋Ｒｓｈ＋Ｒｓｈｃｂの各値に、その値が有効であった走行距離を重み付けした値）や、その時点におけるＲｓｈが初期化されると共に、その時点から走行距離１０ｋｍがＬａを用いて計測し直されることになる。
【０１１５】
また、ステップ１５０１からステップ１５０６までの処理によって、配列Ｒｓｈｃｂ ｄｔに蓄積された各Ｒｓｈ３００に比例した値のうち、２ｋｍ以上走行したものの値を反映したＲｓｈｃｂが求められることになる。
【０１１６】
以上、図１０に示した２０ｍ走行する毎に起動される処理について説明した。
【０１１７】
以下では、残る補正変数Ｒａを求める処理について説明する。
【０１１８】
この処理は、前回Ｒａが求められた後１０ｋｍ走行したとき、もしくは、現在位置（Ｂ）として、前回推定した車両が存在する現在位置（Ｂ）と連続的でない位置が推定されたか、略９０度を曲がったかした後に、１０ｋｍ走行したときに実行される。
【０１１９】
すなわち、図１０のステップ８０３で更新される変数Ｌａが１０ｋｍを超えたときに実行される。
【０１２０】
図１６に、この処理の手順を示す。
【０１２１】
図示するように、この処理では、前述したようにＲａを、１０ｋｍの間にＲｓｈ１，Ｒｓｈ３００，Ｒｓｈｃｂによって逐次変化するＲの各値に、その値が有効であった走行距離を重み付けした値Ｌｃｏｍを用いて、
Ｒａ＝｛（１０ｋｍ＋Ｌｃｏｍ）／１０ｋｍ｝−１
によって算出する（ステップ１６０１）。
【０１２２】
そして、Ｒａが求めたら、Ｒｓｈ１，Ｒｓｈ３００，Ｒｓｈｃｂ，Ｌｃｏｍ，Ｌａ，Ｌｓｈ，ｉは０に初期化し（ステップ１６０２）、処理を終了する。
【０１２３】
以上、本発明の一実施例を説明した。
【０１２４】
以上のように、本実施例では、推定した現在位置を走行していると仮定した場合の走行状況と、センサの測定値が表す実際の走行状況との差に応じて、距離係数Ｒの誤差を見積り、これを補正する。したがい、距離係数Ｒを補正するための外部の格別の設備は不要であり、また、走行状態にかかわらずに適正な補正を行うことができると共に、交差点等の特徴が少ない道路を走行した場合でも補正を行うことができる。したがい、常に、より良い精度で走行距離を算出し、より高精度に車両の現在位置を求めることが可能となる。また、さらに、現在位置（Ｂ）として、前回求めた現在位置（Ｂ）と連続的でない位置が求まった場合や、交差点等で略９０度を曲がった場合等の距離係数Ｒの誤差の見積りを求めることが困難な場合にも、それ以前に見積もった距離係数Ｒの誤差を、その信頼性に応じた程度で距離係数Ｒに反映することができる。
【０１２５】
【発明の効果】
以上のように、本発明によれば、車両の走行速度にかかわらず、また、格別の設備を必要することなしに、特徴が少ない道路を走行した場合でも、正確に、走行距離を求めるために用いる距離係数を補正することにより高精度に車両位置を求めることができる現在位置算出装置を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施例に係る現在位置算出装置の構成を示すブロック図である。
【図２】本発明の一実施例において行う地図および現在位置の表示例を示す図である。
【図３】本発明の一実施例において行う進行方位および距離の算出処理の手順を示すフローチャートである。
【図４】本発明の一実施例において行う現在位置の算出処理の手順を示すフローチャートである。
【図５】本発明の一実施例において行う現在位置表示処理の手順を示すフローチャートである。
【図６】本発明の一実施例において用いる地図データにおける道路の表現形式を示す図である。
【図７】本発明において用いる距離誤差ｄを示す図である。
【図８】本発明の一実施例において表示される現在位置の履歴の例を示した図である。
【図９】本発明の一実施例において行う距離係数を補正する処理の手順を示す第１のフローチャートである。
【図１０】本発明の一実施例において行う距離係数を補正する処理の手順を示す第２のフローチャートである。
【図１１】本発明の一実施例において行う距離係数を補正する処理の手順を示す第３のフローチャートである。
【図１２】本発明の一実施例において行う距離係数を補正する処理の手順を示す第４のフローチャートである。
【図１３】本発明の一実施例において用いる距離誤差ｄと補正変数Ｒｃｈとの正負の対応関係を示した図である。
【図１４】本発明の一実施例において行う距離係数を補正する処理の手順を示す第５のフローチャートである。
【図１５】本発明の一実施例において行う距離係数を補正する処理の手順を示す第６のフローチャートである。
【図１６】本発明の一実施例において行う距離係数を補正する処理の手順を示す第７のフローチャートである。
【符号の説明】
２０１    角速度センサ
２０２    方位センサ
２０３    車速センサ
２０４    スイッチ
２０５    ＣＤ−ＲＯＭ
２０６    ＣＤ−ＲＯＭドライバ
２０７    ディスプレイ
２０８    コントローラ
【図１】
0003764507.tif 000002
【図２】
0003764507.tif 000003
【図３】
0003764507.tif 000004
【図４】
0003764507.tif 000005
【図５】
0003764507.tif 000006
【図６】
0003764507.tif 000007
【図７】
0003764507.tif 000008
【図８】
0003764507.tif 000009
【図９】
0003764507.tif 000010
【図１０】
0003764507.tif 000011
【図１１】
0003764507.tif 000012
【図１２】
0003764507.tif 000013
【図１３】
0003764507.tif 000014
【図１４】
0003764507.tif 000015
【図１５】
0003764507.tif 000016
【図１６】
0003764507.tif 000017