自律測位装置、および自律測位プログラム
【課題】高精度かつ低負荷の自律測位を実現すること。
【解決手段】(A)の状態から三角形△abcを平行移動し、点gを点Gに一致させる。(B)で重心gを中心として三角形△abcを回転角φ分回転させる。回転角φは0°≦φ≦360°であり、所定量Δφずつ加算されていく。この状態が(C)である。回転前に、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出する。(D)は回転後の状態を示している。回転角φの回転後においても、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出して、回転前の距離aA〜cCの和と比較する。回転後のほうが小さいときの回転角φを保存する。そして、最終的に得られた回転角φと地点Pcに到達する移動軌跡Vbcの最終ベクトルvendにおける移動回転角とを加算することで初期方位が算出される。
【解決手段】(A)の状態から三角形△abcを平行移動し、点gを点Gに一致させる。(B)で重心gを中心として三角形△abcを回転角φ分回転させる。回転角φは0°≦φ≦360°であり、所定量Δφずつ加算されていく。この状態が(C)である。回転前に、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出する。(D)は回転後の状態を示している。回転角φの回転後においても、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出して、回転前の距離aA〜cCの和と比較する。回転後のほうが小さいときの回転角φを保存する。そして、最終的に得られた回転角φと地点Pcに到達する移動軌跡Vbcの最終ベクトルvendにおける移動回転角とを加算することで初期方位が算出される。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、自律測位をおこなう自律測位プログラムおよび自律測位装置に関する。
【背景技術】
【0002】
現在の自律測位技術では、移動距離と移動相対角度により自身の移動軌跡を算出し、自身の位置を検出している。自律測位は主にカーナビゲーションの車両測位としてGPS(Global Positioning System)と併用して利用されており、自車の車速パルスとジャイロセンサを用いて実現している。
【0003】
車速パルスとジャイロセンサは環境が変化することで出力する値が変化する。たとえば、タイヤの磨耗や急停車による熱膨張により車速パルスに応じた移動距離が変化する。また、車内の温度変化によりジャイロセンサの特定が変化する。このため、自律測位については補正が必要となる。
【0004】
また、GPS測位と自律航法測位とを複合した自律測位技術が開示されている(たとえば、下記特許文献1を参照。)。この特許文献1では、GPSによる測位結果を正解としカルマンフィルタを用いて車速パルスとジャイロセンサ出力を補正している。
【0005】
さらに、従来のカーナビゲーションでは、マップマッチングにより自律測位結果を補正することで、走行道路が判別できる程度の測位精度を実現している。
【0006】
【特許文献1】特開2008−175721号公報(段落[0032]〜[0035])
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した特許文献1のような自律測位技術では、カルマンフィルタを用いているため、計算量が膨大になり、自律測位を実行するコンピュータの負荷が増大するという問題があった。また、走行車線を判別するような高精度な測位を実現するためには、マップマッチングでは補正しきれないという問題があった。
【0008】
この発明は、上述した従来技術による問題点を解消するため、高精度かつ低負荷の自律測位を実現することができる自律測位プログラムおよび自律測位装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、第1の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が通過する任意の複数の地点の位置情報を取得し、前記複数の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出し、算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出し、前記複数の地点のうち最後に通過した地点からの移動距離を出力することを要件とする。
【0010】
第2の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が通過する複数の地点の位置情報を取得し、前記複数の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、前記複数の地点のうち最後に通過した地点からの回転角を出力することを要件とする。
【0011】
第3の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が第1〜第3の地点を通過する際に位置情報を取得し、前記第1〜第3の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出し、算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出し、算出された前記移動体の絶対位置および絶対方位を出力することを要件とする。
【発明の効果】
【0012】
自律測位プログラムおよび自律測位装置によれば、高精度かつ低負荷の自律測位を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下に添付図面を参照して、自律測位プログラムおよび自律測位装置の好適な実施の形態を詳細に説明する。移動体が自律測位をおこなう場合には、位置算出に必要な計算処理を移動体に備えたコンピュータ(車載器等)上で実行することが考えられる。移動体が安全に移動を続けるためには、移動体の駆動系に必要なエネルギーを位置算出処理のためにコンピュータが消費してしまわないよう、位置算出処理にかかるエネルギー量を少なくすることが望ましい。たとえば、電気自動車は駆動系も車載器も両方電気を利用するため、コンピュータに負荷がかからないようにするのが好ましい。このため、本実施の形態では、計算量を抑えて、かつ自律測位の精度向上を図る。
【0014】
(移動軌跡)
図1は、車両の移動軌跡を示す説明図である。(A)において、車両101は、道路100に設置された光ビーコンPからダウンリンクされる位置情報(光ビーコンの位置座標)を受信しながら道路100を走行する。
【0015】
(B)は、(A)の任意の領域である楕円部分を拡大した図である。ここでは、光ビーコンPを車両101が通過した順にPA,PB,PCとする。LABは光ビーコンPA,PB間距離であり、LBCは光ビーコンPB,PC間距離である。また、白丸で示した地点Pa〜Pcは、光ビーコンPA〜PCを通過したときの車両101の位置である。なお、車両101の実際の現在位置はPCであり、自律測位された車両101の計算上の現在位置はPcである。
【0016】
また、Vabは地点Pa,Pb間の車両101の移動軌跡であり、Vbcは地点Pb,Pc間の車両101の移動軌跡である。移動軌跡Vab,Vbcは、ベクトルvを連結したベクトル列である。ベクトルvは車両101の進行方向を示しており、車両101の車速パルス1パルス分の移動距離rおよび移動回転角θという成分を含む。移動回転角θはジャイロセンサにより検出可能な成分である。
【0017】
(C)は、(B)の任意の領域である楕円部分を拡大した図である。(C)では、車速パルスが連続するベクトルvn-1とベクトルvnを示している。ベクトルvn-1はn−1番目の車速パルスにおけるベクトルを示しており、ベクトルvnはn番目の車速パルスにおけるベクトルを示している。移動距離rは車速パルス1パルスあたりの車両101の移動距離である。移動回転角θnは、ベクトルvn-1が指し示す進行方向を基準とした移動回転角θである。本実施の形態では、これらの情報を有効活用することで、計算量を抑えて、かつ自律測位の精度向上を図る。
【0018】
(ハードウェア構成)
図2は、例えば図1の車両101などの移動体に搭載されている自律測位装置のハードウェア構成を示すブロック図である。自律測位装置200は、CPU(Central Processing Unit)201と記憶装置202とディスプレイ203と受信装置204と車速パルス発生器(車速センサ)205とジャイロセンサ206と温度センサ207とがバス208を介して接続されている。
【0019】
CPU201は、自律測位装置200の全体の制御を司る中央処理装置である。記憶装置202は、自律測位プログラムや地図データを格納したり、CPU201のワークエリアとして使用される。
【0020】
記憶装置202は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブおよび磁気ディスク、光ディスクドライブおよび光ディスクなどにより構成される。
【0021】
ディスプレイ203は、その表示画面に地図データや車両101の移動軌跡といった情報を表示する表示装置である。受信装置204は、特定地点の位置情報を受信するインターフェースである。たとえば、光ビーコンからダウンリンクされてくる位置情報を受信する。また、所定のタイミングでGPSからの位置情報を受信するGPSレシーバでもよい。
【0022】
車速パルス発生器205は、車両101の車輪の回転を検出して、1回転ごとに車速パルスを発生させる。タイヤの径は既知であるため、1車速パルスあたりの車両101の移動距離が計算される。ジャイロセンサ206は、車両101の進行方向に対する回転角の角速度を検出する。
【0023】
具体的には、たとえば、回転角の変化に応じた電圧を出力する。また、ジャイロセンサ206はゼロ点電圧と呼ばれる基準電圧を有しており、出力電圧とゼロ点電圧の差分により角速度が計算される。温度センサ207は温度を検出するセンサであり、車内に搭載されているジャイロセンサ206の温度を検出する。
【0024】
なお、自律測位装置200に示す要素の一部は、通信を介して接続可能であれば、移動体上に搭載されていなくても構わない。例えば、受信装置204、車速パルス発生器205、ジャイロセンサ206、温度センサ207からの出力信号を通信を介して受信可能であれば、CPU201は移動体上に搭載されていなくても構わない。
【0025】
(機能的構成)
図3は、自律測位装置200の機能的構成を示すブロック図である。自律測位装置200は、取得部301と判断部302と補正処理部303と出力部304とを含む構成である。また、補正処理部303は、補正値算出部331と相対位置算出部332と初期方位算出部333と絶対位置算出部334とを含む構成である。これら各機能は、具体的には、たとえば、図2に示した記憶装置202に記憶された自律測位プログラムをCPU201に実行させることにより、その機能を実現する。
【0026】
取得部301は、各種センサからの情報を取得する機能を有する。具体的には、温度センサ207からは温度に応じた電圧値、車速パルス発生器205からは車速パルス、ジャイロセンサ206からは角速度に応じた出力電圧を取得する。これら情報は常時取得する。また、受信装置204は、特定地点通過時における特定地点の位置情報(位置座標)を取得する。たとえば、位置情報をダウンリンクする光ビーコンの直下を通過する際にその位置情報を受信する。これにより、光ビーコン通過時の自車位置を特定することができる。
【0027】
また、判断部302は、補正処理部303の実行可否を判断する機能を有する。具体的には、ジャイロセンサ206からの出力電圧の変動と温度センサ207から検出された温度の変動により、補正処理部303の実行可否を判断する。
【0028】
出力電圧の変動が所定のしきい値α以下の場合、車両101が車線進路変更や右左折など進路変更をしていないため、この出力電圧から算出した移動軌跡上の回転角度は小さい。この移動軌跡を用いて車両の回転角に影響を与える感度の補正をする場合、補正元の移動軌跡上の回転角度が小さいため、補正に適さない。したがって、補正処理部303による補正を実行しない。このしきい値αは、右左折のような大きな角度変化を検出したいのか、進路変更(車線変更)などの小さな角度変化をも検出したいのかにより設定すべき値が異なる。しきい値αを小さく設定すれば進路変更の検出が可能となり、それよりも大きく設定すれば右左折を検出することができる。
【0029】
また、検出温度の変動が所定のしきい値β以下の場合、ジャイロセンサ206が正常に動作しており、ジャイロセンサ206は正確な電圧を出力していると考えられる。そして、ジャイロセンサ206が出力した電圧から算出した移動軌跡は、正確であると判断できる。したがって、ジャイロセンサ206が出力した電圧から算出した移動軌跡を用いて、補正処理部303による補正を実行する。なお、補正処理部303による補正は、出力電圧の変動が所定のしきい値αよりも大きい場合でかつ検出温度の変動が所定のしきい値β以下の場合に実行するのが最も好ましい。
【0030】
このように、ジャイロセンサ206の出力変動や温度変化に応じて自律測位の補正の適否を自動判断することができるため、不要な計算量を抑制することができ、コンピュータの負荷軽減を図ることができる。
【0031】
補正処理部303は、補正値算出部331と相対位置算出部332と初期方位算出部333と絶対位置算出部334とを含む構成である。補正値算出部331は、感度補正値Δvs、移動距離補正値Δr、ゼロ点電圧補正値ΔEbといった補正値を算出する機能を有する。
【0032】
具体的には、点Pa〜Pcまでの間で、車速パルス発生器205からの車速パルスの検出回数nを計数するとともに、検出時刻tとそのときの状態(H/L)を記録する。そして、下記式(1)に示すように、1車速パルスあたりの車両101の回転角度を算出する。
【0033】
【数1】
【0034】
ただし、θnは、n番目の車速パルスについての車両101の移動回転角度、tnはn番目の車速パルスの検出時刻、tn-1はn−1番目の車速パルスの検出時刻、E(t)は時刻tにおけるジャイロセンサ206からの出力電圧、Ebはゼロ点電圧、vsjは感度補正の試行回数j番目のジャイロセンサ206の感度である。
【0035】
また、補正値算出部331は、点Pa〜Pcまでの間で、自車移動履歴を算出する機能を有する。具体的には、下記式(2)に示すように、車速パルスごとの車両101の位置座標を算出する。
【0036】
(xn,yn)=(xn-1+ri・cosθn,yn-1+ri・sinθn)
・・・・・・(2)
【0037】
ただし、xnはn番目の車速パルス検出時の車両101のX座標値、xn-1はn−1番目の車速パルス検出時の車両101のX座標値、ynはn番目の車速パルス検出時の車両101のY座標値、yn-1はn−1番目の車速パルス検出時の車両101のY座標値、である。riは移動距離補正の試行回数i番目のときの車両移動距離である。
【0038】
また、補正値算出部331は、上記式(2)で算出された自車移動履歴の正誤判定値を算出する機能を有する。具体的には、下記式(3)に示すように、移動距離補正の試行回数iごとに正誤判定の評価値を算出する。
【0039】
【数2】
【0040】
ただし、Lstijは試行回数i番目の正誤判定値、xaは点Paで位置情報を受け取っ
たときの車両101のX座標値、xbは点Pbで位置情報を受け取ったときの車両101のX座標値、xcは点Pcで位置情報を受け取ったときの車両101のX座標値、yaは点Paで位置情報を受け取ったときの車両101のY座標値、ybは点Pbで位置情報を受け取ったときの車両101のY座標値、ycは点Pcで位置情報を受け取ったときの車両101のY座標値である。
【0041】
また、XAは点PAで位置情報を受け取ったときの車両101のX座標値、XBは点PBで位置情報を受け取ったときの車両101のX座標値、XCは点PCで位置情報を受け取ったときの車両101のX座標値、YAは点PAで位置情報を受け取ったときの車両101のY座標値、YBは点PBで位置情報を受け取ったときの車両101のY座標値、YCは点PCで位置情報を受け取ったときの車両101のY座標値である。
【0042】
Lstijは、車両101軌跡Vabにおける点Pa〜Pb間距離と点PA,PBの2点間距離LABとの差分、および車両101軌跡Vbcにおける点Pb〜Pc間距離と点PB,PCの2点間距離LBCとの差分の総和である。このLstijを可能な限り小さくしたときの移動距離riと感度vsjとを求め、1車速パルスあたりの最適な移動距離rおよび感度vsとする。そして、前回求めた最適な移動距離r_oldおよび感度vs_oldとの差分をもとめ、移動距離補正値Δrおよび感度補正値Δvsとする。
【0043】
Δr=r−r_old・・・・・・・・(4)
Δvs=vs−vs_old・・・・・(5)
【0044】
また、補正値算出部331は、移動距離補正値Δrおよび感度補正値Δvsのほか、ゼロ点電圧補正値ΔEbも算出する機能を有する。具体的には、たとえば、車両101が停車してから発車するまでの間のジャイロセンサ206からの出力電圧の平均値をゼロ点電圧Ebとする。そして、前回算出したゼロ点電圧Eb_oldとの差分をとることで、ゼロ点電圧補正値ΔEbがもとめられる。
【0045】
ΔEb=Eb−Eb_old・・・・・・・・(6)
【0046】
初期方位算出部333は、車両101の初期方位を算出する機能を有する。初期方位とは、車両101が地点Pcを位置(到達または通過)したときの北を基準とした車両101の絶対方位である。初期方位は、以下のように求める。
【0047】
図4は、初期方位の導出方法を示す説明図である。図4の(A)において、三角形△ABCは、図1に示した地点PA〜PCを頂点とする図形であり、三角形△abcは、図1に示した地点Pa〜Pcを頂点とする図形である。点Gは三角形△ABCの重心であり、点gは三角形△abcの重心である。(A)の状態から三角形△abcを平行移動し、点gを点Gに一致させる。
【0048】
(B)は、重心G,gが一致した状態を示す。つぎに、重心gを中心として三角形△abcを回転角φ分回転させる。回転角φは(B)のように平行移動により重心g,Gが一致した状態を基準とする。回転角φは0°≦φ≦360°であり、所定量Δφずつ加算されていく。この状態が(C)である。この回転前に、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出する。
【0049】
(D)は回転後の状態を示している。回転角φの回転後においても、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出して、回転前の距離aA〜cCの和と比較する。回転後の和の方が小さければ、回転後の三角形△abcおよび三角形△ABCの重複度が回転前よりも高いこととなる。
【0050】
したがって、回転後のほうが小さいときの回転角φを保存する。そして、最終的に得られた回転角φと地点Pcに到達する移動軌跡Vbcの最終ベクトルvendにおける移動回転角とを加算することで初期方位が算出される。
【0051】
相対位置算出部332は、車両101の相対位置を算出する機能を有する。具体的には、車速パルスを1パルス検出するごとに移動距離rおよび移動回転角θを移動履歴として保存する。保存される移動距離rおよび移動回転角θは、補正値Δr,Δvs,ΔEbにより補正された値である。これにより、図1に示した車両101の移動軌跡Vab,Vbcを得ることができる。
【0052】
絶対位置算出部334は、相対位置算出部332から得られた移動距離rおよび移動回転角θを初期方位を用いて絶対方位に変換する機能を有する。これにより、地点Pcでの車両101の詳細な緯度Latおよび経度Lonと車両方位Θが得られる。したがって、車両101は地点Pcからの自律測位の精度が向上することとなる。
【0053】
出力部304は、補正処理部303で得られた車両101の緯度および経度、車両方位を出力する機能を有する。具体的には、たとえば、緯度および経度や車両方位を示すアイコンを表示画面に表示する。また、緯度および経度により表示画面に表示された地図上に現在位置を表示する。
【0054】
(自律測位処理)
図5は、本実施の形態にかかる自律測位装置200の自律測位処理手順を示すフローチャートである。図5において、連続不更新カウンタhをh=0にセットする(ステップS501)。連続不更新カウンタhとは、移動距離補正値Δrおよび感度補正値Δvsを更新しなかった回数を示す。回数が多いほど補正がなされていないことを示す。そして、出力電圧変動値Evを算出する(ステップS502)。
【0055】
Ev=Σ|E(t)−Eb|・・・(7)
【0056】
出力電圧変動値Evは、ジャイロセンサ206からの出力電圧E(t)とゼロ点電圧Ebとの差分を、車両101が連続通過した3地点PA〜PCにおいて時間積分した値である。そして、Ev≧αであるか否かを判断する(ステップS503)。αは出力電圧変動値Evのしきい値である。Ev≧αである場合(ステップS503:Yes)、ジャイロ温度変動値Cvを算出する(ステップS504)。
【0057】
Cv=Σ|C(t)−C’(t)|・・・(8)
【0058】
C(t)は温度センサから得られる検出温度、C’(t)は温度センサから得られた地点PA通過時の検出温度、ジャイロ温度変動値Cvは、C(t)とC’(t)との差分を、車両101が連続通過した3地点PA〜PCにおいて時間積分した値である。
【0059】
そして、Cv≦βであるか否かを判断する(ステップS505)。βはジャイロ温度変動値Cvのしきい値である。Cv≦βである場合(ステップS505:Yes)、補正処理部303による補正処理を実行する(ステップS506)。このあと、連続不更新カウンタhをh=0にリセットして(ステップS507)、ステップS510に移行する。
【0060】
一方、ステップS503において、Ev≧αでない場合(ステップS503:No)、または、ステップS505において、Cv≦βでない場合(ステップS505:No)、今回の移動距離補正値Δrおよび感度補正値ΔvsをそれぞれΔr=0、Δvs=0とする(ステップS508)。すなわち、両補正値を算出しないため、移動距離rおよび感度vsは補正されないこととなる。したがって、連続不更新カウンタhをインクリメントし(ステップS509)、ステップS510に移行する。
【0061】
そして、出力部304による出力処理を実行する(ステップS510)。なお、出力処理においては、連続不更新カウンタhの大きさにより、出力結果(絶対位置および絶対方位)を視覚的(強調表示など)に評価することとしてもよい。これにより、ユーザは直感的に補正がおこなわれた出力結果かそうでない出力結果かがわかることとなる。
【0062】
そして、エンジンがOFFとなったか否かを判断する(ステップS511)。エンジンOFFでない場合(ステップS511:No)、ステップS502に戻る。一方、エンジンOFFの場合(ステップS511:Yes)、一連の処理を終了する。
【0063】
(補正処理手順)
図6は、図5に示した補正処理(ステップS506)の詳細な処理手順を示すフローチャートである。まず、補正値算出部331による補正値算出処理(ステップS601)と相対位置算出部332による相対位置算出処理(ステップS602)とを並列実行する。そして、補正値算出処理(ステップS601)および相対位置算出処理(ステップS602)の算出結果を用いて、初期方位算出部333による初期方位算出処理を実行し(ステップS603)、絶対位置算出部334による絶対位置算出処理を実行する(ステップS604)。そして、図5のステップS502に戻る。
【0064】
(補正値算出処理手順)
図7は、補正値算出処理(ステップS601)の詳細な処理手順を示すフローチャートである。まず、移動距離補正値・感度補正値算出処理(ステップS701)とゼロ点電圧補正値算出処理(ステップS702)とを並列実行する。そして、ステップS603に移行する。
【0065】
(移動距離補正値・感度補正値算出処理手順)
図8は、移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。この補正値算出処理では、2つのバッファを用いる。1つは履歴V1_orでもう1つは履歴V2_orである。
【0066】
履歴V1_orは、現在通過した地点とその直前に通過した地点との間の移動軌跡の情報(車速パルスのH(High)/L(Low)およびジャイロセンサ206からの出力電圧値E(t))を1車速パルスごとに記録するバッファである。たとえば、現在位置が地点PBである場合、移動軌跡Vabの情報を記録し、現在位置が地点PCである場合、移動軌跡Vbcの情報を記録する。
【0067】
履歴V2_orは、さらにその前の区間の移動軌跡の情報を記録する。たとえば、現在位置が地点PCである場合、履歴V1_orを空けるために、移動軌跡Vabの情報を履歴V1_orからコピーする。
【0068】
まず、位置情報が取得されていない場合(ステップS801:No)、車速パルスのH/Lおよびジャイロセンサ206からの出力電圧値E(t)を履歴V1_orに記録する(ステップS802)。そして、移動距離補正値ΔrをΔr=0、感度補正値ΔvsをΔvs=0とする(ステップS803)。このあと、ステップS603に移行する。
【0069】
一方、ステップS801において、位置情報が取得された場合(ステップS801:Yes)、すなわち、車両101が光ビーコンの直下を通過した場合、履歴V1_orおよび履歴V2_orに電圧値E(t)が記録されているか否かを判断する(ステップS804)。
【0070】
両履歴V1_or,V2_orに電圧値E(t)が記録されていない場合(ステップS804:No)、すなわち、履歴V2_orに電圧値E(t)が記録されていない場合、ステップS806に移行する。一方、両履歴V1_or,V2_orに電圧値E(t)が記録されている場合(ステップS804:Yes)、図1に示した地点PCの直下を通過したことになるため、補正値演算処理を実行する(ステップS805)。そして、履歴V1_orの記録内容を履歴V2_orに上書きし、履歴V1_orを空にする(ステップS806)。このあと、ステップS603に移行する。
【0071】
(補正値演算処理手順)
図9および図10は、補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャートである。まず、図9において、車速パルス1パルスあたりの移動距離rをr=r_minとし、車速パルス1パルスあたりの感度vsをvs=vs_minとし、上記式(3)で示した評価値Lstijを下限値Lstij_minをLst_min=∞とする(ステップS901)。r=r_minは移動距離rの下限値である。vs_minは感度vsの下限値である。
【0072】
そして、入力用履歴V_orとして履歴V1_orを設定する(ステップS902)。このあと、車両移動距離算出処理(ステップS903)および車両移動方位算出処理(ステップS904)を実行する。
【0073】
簡単に説明すると、車両移動距離算出処理(ステップS903)では、車速パルス1パルスあたりのデフォルトの車両移動距離rをそのまま用いたり、車両移動補正値Δrが算出されている場合にはその車両移動補正値Δrを加算した値をあらたな車両移動距離rとする。
【0074】
また、車両移動方位算出処理(ステップS904)では、上記式(1)を用いて、車速パルス1パルスあたりの移動回転角θnを算出する。車両移動距離算出処理(ステップS903)および車両移動方位算出処理(ステップS904)の詳細なフローチャートについては後述する。
【0075】
車速パルス1パルスあたりの移動距離rおよび移動回転角θが求まると、移動距離rおよび移動回転角θをベクトル変換して、ベクトルvを得る(ステップS905)。そして、上記式(2)を用いて、このベクトルvを位置座標(xn,yn)に変換し(ステップS906)、バッファに蓄積する(ステップS907)。
【0076】
このあと、入力用履歴V_orがすべて処理されたか否かを判断する(ステップS908)。すなわち、記録されているすべての電圧値E(t)について車両移動方位算出処理(ステップS904)が実行されたか否かを判断する。処理済みでない場合(ステップS908:No)、ステップS903に戻り、つぎの車速パルスについて移動距離rおよび移動回転角θを求める。
【0077】
一方、処理済みの場合(ステップS908:Yes)、連続通過したビーコンから得られた2つの位置情報からビーコン間距離を算出する(ステップS909)。たとえば、入力用履歴V_orに移動軌跡Vbcの情報が記録されている場合には、すでに取得済みの地点PB,PCの位置情報(緯度経度情報)を読み出し、この2点間距離Lbを算出する。
【0078】
つぎに、ステップS907においてバッファ内に蓄積された位置座標群から対象となる移動軌跡の始点終点間距離Lvを算出する(ステップS910)。たとえば、入力用履歴V_orに移動軌跡Vbcの情報が記録されている場合には、移動軌跡Vbcの始点となる地点Pbの位置座標と終点となる地点Pcの位置座標を読み出し、移動軌跡Vbcの始点終点間距離Lvを算出する。そして、図10のステップS1001に移行する。
【0079】
また、図10では距離差バッファL♯(♯=1,2)を用いる。距離差バッファL♯とは、入力用履歴V_orについての始点終点間距離Lvから2点間距離Lbを引いた値を記憶するバッファである。本フローチャートでは、いずれの距離差であっても一旦、距離差バッファL2に記録し、履歴V2_orでないと判明した時点で距離差バッファL1にコピーすることとする。すなわち、式(3)の右辺の第1項が距離差バッファL2に記録された値となり、第2項が距離差バッファL1に記録された値となる。なお、距離差バッファL♯に記録された値もL♯とする。
【0080】
まず、図10において、距離差バッファL2に、始点終点間距離Lvから2点間距離Lbを引いた値(Lv−Lb)を記録し(ステップS1001)、現在の入力用履歴V_orが履歴V2_orであるか否か(V_or=V2_or)を判断する(ステップS1002)。
【0081】
V_or=V2_orでない場合(ステップS1002:No)、入力用履歴V_orを履歴V2_orとし(ステップS1003)、位置座標が蓄積されたバッファをクリアする(ステップS1004)。そして、距離差バッファL2に記録された値を距離差バッファL1にコピーする(ステップS1005)。このあと、図9の車両移動距離算出処理(ステップS903)に戻る。
【0082】
一方、V_or=V2_orである場合、評価値Lstij(=L1+L2)を算出する(ステップS1006)。そして、評価値LstijがLstij<Lst_minであるか否かを判断する(ステップS1007)。
【0083】
Lstij<Lst_minでない場合(ステップS1007:No)、ステップS1010に移行する。一方、Lstij<Lst_minである場合(ステップS1007:Yes)、Lst_minをLstijに更新する(ステップS1008)。そして、このときの移動距離rおよび感度vsを保存する(ステップS1009)。このあと、vs>vs_maxであるか否かを判断する(ステップS1010)。vs_maxは感度vsの上限値である。
【0084】
vs>vs_maxでない場合(ステップS1010:No)、感度vsを所定量加算して、試行回数jをインクリメントする(ステップS1011)。そして、ステップS902にもどる。
【0085】
一方、vs>vs_maxである場合(ステップS1010:Yes)、r<r_maxであるか否かを判断する(ステップS1012)。r_maxは移動距離rの上限値である。r>r_maxでない場合(ステップS1012:No)、移動距離rを所定量加算して、試行回数iをインクリメントする(ステップS1013)。そして、ステップS902にもどる。
【0086】
一方、r>r_maxである場合(ステップS1012:Yes)、前回検出された車速パルスにおける移動距離r_oldと今回の移動距離rとを用いて、移動距離補正値Δr(=r−r_old)を算出する。同様に、前回検出された車速パルスにおける感度vs_oldと今回の感度vsとを用いて、感度補正値Δvs(=vs−vs_old)を算出する(ステップS1014)。そして、今回の移動距離rおよび感度vsをつぎの車速パルス検出時に用いるため、それぞれ移動距離r_old、感度vs_oldとして保存する(ステップS1015)。そして、ステップS806に移行する。
【0087】
なお、履歴V1_or,V2_orごとにバッファに蓄積された位置座標は、初期方位算出処理(ステップS603)で利用するため、履歴V1_or,V2_orに退避させておく。
【0088】
(車両移動距離算出処理手順)
図11は、車両移動距離算出処理(ステップS903)の詳細な処理手順を示すフローチャートである。まず、車速パルス1パルスあたりの車両移動距離rを読み込み(ステップS1101)、車両移動距離rに値が設定済みであるか否かを判断する(ステップS1102)。
【0089】
車両移動距離rに値が設定済みでない場合(ステップS1102:No)、初期設定値(たとえば、39.25[cm])をrとする(ステップS1103)。そして、ステップS904に移行する。一方、値が設定済みである場合(ステップS1102:Yes)、補正結果を反映する(ステップS1104)。すなわち、車両移動距離rに車両移動距離Δrを加算してあらたな車両移動距離rとする。そして、ステップS904に移行する。
【0090】
(車両移動方位算出処理手順)
図12および図13は、車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャートである。まず、感度vsを読み込み(ステップS1201)、感度vsに値が設定済みか否かを判断する(ステップS1202)。値が設定済みでない場合(ステップS1202:No)、初期設定値(たとえば、25[mV])をvsとする(ステップS1203)。
【0091】
そして、ステップS1205に移行する。一方、値が設定済みである場合(ステップS1202:Yes)、補正結果を反映する(ステップS1204)。すなわち、感度vsに感度補正値Δvsを加算してあらたな感度vsとする。そして、ステップS1205に移行する。
【0092】
また、ゼロ点電圧Ebを読み込み(ステップS1205)、ゼロ点電圧Ebに値が設定済みか否かを判断する(ステップS1206)。値が設定済みでない場合(ステップS1206:No)、初期設定値(たとえば、2.5[V])をEbとする(ステップS1207)。そして、ステップS1209に移行する。一方、値が設定済みである場合(ステップS1206:Yes)、補正結果を反映する(ステップS1208)。すなわち、ゼロ点電圧Ebにゼロ点電圧補正値ΔEbを加算してあらたなゼロ点電圧Ebとする。そして、ステップS1209に移行する。
【0093】
また、車速パルスのH/Lを入力するとともに(ステップS1209)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1210)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1211)。このあと、図13のステップS1301に移行する。
【0094】
図13において、ステップS1301では、車速パルスがHであるか否かを判断する(ステップS1301)。Hである場合(ステップS1301:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1302)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1303)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1304)。
【0095】
そして、ステップS1305において、車速パルスがLであるか否かを判断する(ステップS1305)。Lでない場合(ステップS1305:No)、ステップS1302に戻る。一方、Lである場合(ステップS1305:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1306)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1307)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1308)。
【0096】
そして、ステップS1309において、車速パルスがHであるか否かを判断する(ステップS1309)。Hでない場合(ステップS1309:No)、ステップS1306に戻る。一方、Hである場合(ステップS1309:Yes)、ステップS1318に移行する。
【0097】
また、ステップS1301において、Lである場合(ステップS1301:No)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1310)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1311)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1312)。
【0098】
そして、ステップS1313において、車速パルスがHであるか否かを判断する(ステップS1313)。Hでない場合(ステップS1313:No)、ステップS1310に戻る。一方、Hである場合(ステップS1313:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1314)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1315)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1316)。
【0099】
そして、ステップS1317において、車速パルスがLであるか否かを判断する(ステップS1317)。Lでない場合(ステップS1317:No)、ステップS1314に戻る。一方、Lである場合(ステップS1317:Yes)、ステップS1318に移行する。これにより、車速パルス1パルスあたりのジャイロセンサ206からの出力電圧E(t)を蓄積することができる。
【0100】
そして、ステップS1318において、バッファに蓄積された出力電圧E(t)を読み出し、上記式(1)を用いて移動回転角θを算出する(ステップS1318)。そして、出力電圧が蓄積されたバッファをクリアして(ステップS1319)、ステップS905に移行する。
【0101】
(ゼロ点電圧補正値算出処理手順)
図14は、ゼロ点電圧補正の動作概要を示す波形図である。図14において、横軸は時刻であり縦軸は電圧である。まず、車速パルスの変化が一定時間なかった場合に車両101が停車していると判断し、停車中においてブレーキがOFFになったことを検出した場合に発車と判断する。ゼロ点電圧の値は、この停車から発車までの間におけるジャイロセンサ206からの出力電圧の平均値を算出し、この平均値をゼロ点電圧Ebとして用いる。
【0102】
図15は、ゼロ点電圧補正値算出処理(ステップS702)の詳細な処理手順を示すフローチャートである。まず、車速パルス不動判定用評価値PbをNULLとする(ステップS1501)。そして、タイマを起動する(ステップS1502)。このあと、車速パルスのH/Lを入力し(ステップS1503)、H/Lが評価値Pbと同一であるか否かを判断する(ステップS1504)。
【0103】
同一でない場合(ステップS1504:No)、このときの車速パルスのH/Lを評価値Pbにコピーして(ステップS1505)、タイマを再起動し(ステップS1506)、ステップS1503に戻る。一方、ステップS1504において、同一である場合(ステップS1504:Yes)、タイマ計測結果Tが一定値以上であるか否かを判断する(ステップS1507)。
【0104】
タイマ計測結果Tが一定値以上でない場合(ステップS1507:No)、ステップS1503に戻る。一方、タイマ計測結果Tが一定値以上である場合(ステップS1507:Yes)、ジャイロセンサ206からの出力電圧E(t)を入力して(ステップS1508)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1509)。そして、ブレーキ信号を入力し(ステップS1510)、ブレーキ信号がOFFであるか否かを判断する(ステップS1511)。
【0105】
OFFでない場合(ステップS1511:No)、ステップS1508に戻る。一方、OFFである場合(ステップS1511:Yes)、バッファに蓄積された出力電圧E(t)とタイマ計測結果Tから出力電圧E(t)の平均値Eavを算出する(ステップS1512)。そして、算出された平均値Eavをゼロ点電圧Ebとする(ステップS1513)。
【0106】
このあと、ゼロ点電圧Ebの補正値ΔEb(=Eb−Eb_old)を算出する(ステップS1514)。そして、次回に用いるため、今回算出されたゼロ点電圧Ebをゼロ点電圧Eb_oldとして保存する(ステップS1515)。そして、ステップS603に移行する。
【0107】
(相対位置算出処理手順)
図16は、相対位置算出処理(ステップS602)の詳細な処理手順を示すフローチャートである。まず、車両移動距離算出処理を実行する(ステップS1601)。この処理は、図11のフローチャートで示した処理と同一処理であるため、説明を省略する。つぎに、車両移動方位算出処理を実行する(ステップS1602)。この処理は、図12および図13のフローチャートで示した処理と同一処理であるため、説明を省略する。
【0108】
そして、これらから得られた車速パルス1パルスあたりの車両移動距離rおよび移動回転角θをバッファに蓄積する(ステップS1603)。つぎに、位置情報が取得されたか否かを判断する(ステップS1604)。位置情報が取得されていない場合(ステップS1604:No)、ステップS604に移行する。一方、位置情報が取得された場合(ステップS1604:Yes)、自車移動履歴W1に車両移動距離rおよび移動回転角θが記録されているか否かを判断する(ステップS1605)。
【0109】
自車移動履歴W1とは、現在通過した地点とその直前に通過した地点との間において蓄積された車両移動距離rおよび移動回転角θを移動履歴情報として記録するバッファである。たとえば、現在位置が地点PBである場合、移動軌跡Vabの移動履歴情報(車両移動距離rおよび移動回転角θ)を記録し、現在位置が地点PCである場合、移動軌跡Vbcの移動履歴情報(車両移動距離rおよび移動回転角θ)を記録する。
【0110】
また、自車移動履歴W2は、さらにその前の区間の移動軌跡の移動履歴情報(車両移動距離rおよび移動回転角θ)を記録する。たとえば、現在位置が地点PCである場合、自車移動履歴W1を空けるために、移動履歴Vabの移動履歴情報(車両移動距離rおよび移動回転角θ)を自車移動履歴W1から自車移動履歴W2にコピーする。これにより、自車移動履歴W1に、移動履歴Vbcの移動履歴情報を記録することができる。
【0111】
そして、ステップS1605において、自車移動履歴W1に移動履歴情報が記録されていない場合(ステップS1605:No)、ステップS1607に移行する。一方、記録されている場合(ステップS1605:Yes)、自車移動履歴W1に記録されている移動履歴情報を自車移動履歴W2に上書きする(ステップS1606)。そして、ステップS1603でバッファに蓄積された車両移動距離rおよび移動回転角θを移動履歴情報として自車移動履歴W1に記録する(ステップS1607)。そして、バッファをクリアして(ステップS1608)、初期方位算出処理(ステップS603)に移行する。
【0112】
(初期方位算出処理手順)
図17および図18は、初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャートである。まず、履歴V1_or,V2_orに位置座標が記録されているか否かを判断する(ステップS1701)。記録されていない場合(ステップS1701:No)、ステップS604に移行する。
【0113】
一方、記録されている場合(ステップS1701:Yes)、移動軌跡Vabの始点座標として履歴V2_orの始点座標を抽出し、移動軌跡Vbcの始点座標として履歴V1_orの始点座標を抽出し、移動軌跡Vbcの終点座標として履歴V1_orの終点座標を抽出する(ステップS1702)。移動軌跡Vabの始点座標が頂点Paの座標となり、移動軌跡Vbcの始点座標が頂点Pbの座標となり、移動軌跡Vbcの終点座標が頂点Pcの座標となる。そして、これらを頂点とする三角形△abcの重心gを算出する(ステップS1703)。
【0114】
また、ビーコンPA〜PCからダウンリンクされたそれぞれのビーコンPA〜PCの位置座標を抽出し(ステップS1704)、それぞれを頂点とする三角形△ABCの重心Gを算出する(ステップS1705)。このあと、重心gが重心Gと一致するように、三角形abcを平行移動させる座標変換をおこなう(ステップS1706)。
【0115】
つぎに、回転量φの初期値としてφ=0、回転評価値Lst’の下限値Lst’_minをLst’_min=∞とする(ステップS1707)。そして、重心gを中心として三角形△abcを回転量φだけ回転させる座標変換をおこなう(ステップS1708)。この回転後の頂点Pa,PA間距離、頂点Pb,PB間距離、頂点Pc,PC間距離を算出し、その和を算出し、回転評価値Lst’とする(ステップS1709)。そして、図18のステップS1801に移行する。
【0116】
図18において、回転評価値Lst’が下限値Lst’_minに対して、Lst’<Lst’_minであるか否かを判断する(ステップS1801)。Lst’<Lst’_minでない場合(ステップS1801:No)、ステップS1804に移行する。一方、Lst’<Lst’_minである場合(ステップS1801:Yes)、Lst’_minをLst’に更新することで、下限値Lst’_minを引き下げる(ステップS1802)。そして、このときの回転量φをバッファに上書き保存し(ステップS1803)、ステップS1804に移行する。
【0117】
ステップS1804において、回転量φがφ>360°となったか否かを判断する(ステップS1804)。すなわち、三角形△abcが1回転したか否かを判断する。φ>360°でない場合(ステップS1804:No)、回転量φを所定量インクリメントして(ステップS1805)、ステップS1708に戻る。
【0118】
一方、φ>360°となった場合(ステップS1804:Yes)、移動軌跡Vbcの最終ベクトルvend(図4の(D)を参照)の成分(r,θend)から、θendを相対進行方位として抽出する(ステップS1806)。そして、最終的に保存された回転量φと相対進行方位θendとを加算することで初期方位Dを算出する(ステップS1807)。そして、絶対位置算出処理(ステップS604)に移行する。
【0119】
(絶対位置算出処理)
図19は、絶対位置算出処理(ステップS604)の詳細な処理手順を示すフローチャートである。まず、車両方位Θ(=D+θ)を算出する(ステップS1901)。Dは初期方位であり、θは相対位置算出処理で得られた移動回転角θである。つぎに、初期方位Dを考慮した車両移動ベクトルを算出する(ステップS1902)。
【0120】
すなわち、このベクトルは、移動距離をr、移動回転角をΘとし、移動軌跡Vbcの最終ベクトルvendのつぎに出現するベクトルである。これにより、地点Pcからの絶対的な進行方位が特定される。このベクトルを式(2)と同様の手法により位置座標に変換し(ステップS1903)、その位置座標を緯度LATおよび経度LONに変換することで(ステップS1904)、車両101の絶対位置(LAT,LON)および絶対方位Θを得ることができる。
【0121】
このように、上述した実施の形態では、高精度かつ低負荷の自律測位を実現することができる。また、上述した実施の形態では、移動距離r、感度vsおよびゼロ点電圧Ebの3つの補正値を算出することとしているが、少なくともいずれか1つの補正値を算出することとしてもよい。
【0122】
例えば、図1における移動軌跡Vabと、地点PA、PBの2地点の位置座標のみを用いて感度vsの補正値を本実施の形態により算出し、移動距離rの補正値を他の方法(たとえば、特開2006−343219など)を用いて算出することでも実現可能である。具体的には、図8を図20、図9を図21、図10を図22に置き換え、初期方位算出部333を他の方法(地磁気センサなど)を用いることでも実現可能である。また、いずれの補正値も算出せず、初期方位算出処理を実行してもよい。なお、以下に説明する図20〜図22において、図8〜図10に示した処理と同一処理については同一ステップ番号を付し、その説明を省略する。
【0123】
図20は、感度vsのみを算出する場合の移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。まず、位置情報が取得されていない場合(ステップS801:No)、車速パルスのH/Lおよびジャイロセンサ206からの出力電圧値E(t)を履歴V1_orに記録する(ステップS802)。そして、移動距離補正値ΔrをΔr=0、感度補正値ΔvsをΔvs=0とする(ステップS803)。このあと、ステップS603に移行する。
【0124】
一方、ステップS801において、位置情報が取得された場合(ステップS801:Yes)、すなわち、車両101が光ビーコンの直下を通過した場合、図1に示した地点PCの直下を通過したことになるため、補正値演算処理を実行する(ステップS805)。すなわち、図8と違い、ステップS804の処理は実行しない。そして、履歴V1_orの記録内容を履歴V2_orに上書きし、履歴V1_orを空にする(ステップS806)。このあと、ステップS603に移行する。
【0125】
図21および図22は、感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャートである。まず、図21において、車速パルス1パルスあたりの感度vsをvs=vs_minとし、上記式(3)で示した評価値Lstijを下限値Lstij_minをLst_min=∞とする(ステップS2101)。vs_minは感度vsの下限値である。なお、車速パルス1パルスあたりの移動距離rの設定は他の方法により得られているため不要である。これ以降、ステップS902〜ステップS910を実行して、図22のステップS2201に移行する。
【0126】
まず、図10において、距離差バッファL2に、始点終点間距離Lvから2点間距離Lbを引いた値(Lv−Lb)を評価値Lstijとして記録し(ステップS2201)、評価値LstijがLstij<Lst_minであるか否かを判断する(ステップS1007)。
【0127】
Lstij<Lst_minでない場合(ステップS1007:No)、ステップS1010に移行する。一方、Lstij<Lst_minである場合(ステップS1007:Yes)、Lst_minをLstijに更新する(ステップS1008)。そして、このときの感度vsを保存する(ステップS2202)。このあと、vs>vs_maxであるか否かを判断する(ステップS1010)。vs_maxは感度vsの上限値である。
【0128】
vs>vs_maxでない場合(ステップS1010:No)、感度vsを所定量加算して、試行回数jをインクリメントする(ステップS1011)。そして、図21のステップS902にもどる。
【0129】
一方、vs>vs_maxである場合(ステップS1010:Yes)、補正済みの移動距離rを入力し(ステップS2203)、前回入力された移動距離r_oldと今回入力された移動距離rとを用いて、移動距離補正値Δr(=r−r_old)を算出する。同様に、前回検出された車速パルスにおける感度vs_oldと今回の感度vsとを用いて、感度補正値Δvs(=vs−vs_old)を算出する(ステップS1014)。そして、今回の移動距離rおよび感度vsをつぎの車速パルス検出時に用いるため、それぞれ移動距離r_old、感度vs_oldとして保存する(ステップS1015)。そして、ステップS806に移行する。
【0130】
このように、感度vsの補正値Δvsのみを算出することにより、ジャイロセンサ206の感度が高くなり、移動回転角θの検出精度が向上することとなる。
【0131】
なお、本実施の形態で説明した自律測位方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能としてもよい。
【0132】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0133】
(付記1)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの移動距離を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0134】
(付記2)前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする付記1に記載の自律測位プログラム。
【0135】
(付記3)前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記移動距離の補正値を算出することを特徴とする付記1または2に記載の自律測位プログラム。
【0136】
(付記4)前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする付記3に記載の自律測位プログラム。
【0137】
(付記5)前記補正値算出手段は、
前記判断結果に基づいて、前記複数の地点の位置情報と、前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、
前記補正処理手段は、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記1に記載の自律測位プログラム。
【0138】
(付記6)速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が連続通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0139】
(付記7)前記補正値算出手段は、
前記判断結果に基づいて、前記移動体の挙動により前記出力電圧の比較対象となるゼロ点電圧を算出するとともに、前回算出されたゼロ点電圧との差をとることにより、前記ゼロ点電圧の補正値を算出し、
前記補正処理手段は、
前記ゼロ点電圧の補正値により補正された補正後のゼロ点電圧と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記5または6に記載の自律測位プログラム。
【0140】
(付記8)前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記5〜7のいずれか一つに記載の自律測位プログラム。
【0141】
(付記9)前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記補正値を算出することを特徴とする付記5〜8のいずれか一つに記載の自律測位プログラム。
【0142】
(付記10)前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記9に記載の自律測位プログラム。
【0143】
(付記11)前記コンピュータを、
前記複数の地点は任意の第1〜第3の地点であって、該第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理により算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理と、を実行し、当該回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とにより、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とにより、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、として機能させ、
前記出力手段は、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力することを特徴とする付記1に記載の自律測位プログラム。
【0144】
(付記12)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する取得手段、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0145】
(付記13)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する取得手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記第1〜第3の地点の位置情報と、前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記第3の地点からの移動距離を算出する補正処理手段と、
前記補正処理手段によって得られた前記第3の地点からの移動距離を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【0146】
(付記14)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が通過する複数の地点の位置情報を取得する取得手段と、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段と、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【0147】
(付記15)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が通過する第1〜第3の地点の位置情報を取得する取得手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段と、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段と、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【図面の簡単な説明】
【0148】
【図1】車両の移動軌跡を示す説明図である。
【図2】自律測位装置のハードウェア構成を示すブロック図である。
【図3】自律測位装置の機能的構成を示すブロック図である。
【図4】初期方位の導出方法を示す説明図である。
【図5】本実施の形態にかかる自律測位装置の自律測位処理手順を示すフローチャートである。
【図6】図5に示した補正処理(ステップS506)の詳細な処理手順を示すフローチャートである。
【図7】補正値算出処理(ステップS601)の詳細な処理手順を示すフローチャートである。
【図8】移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。
【図9】補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(前半)である。
【図10】補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(後半)である。
【図11】車両移動距離算出処理(ステップS903)の詳細な処理手順を示すフローチャートである。
【図12】車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャート(前半)である。
【図13】車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャート(後半)である。
【図14】ゼロ点電圧補正の動作概要を示す波形図である。
【図15】ゼロ点電圧補正値算出処理(ステップS702)の詳細な処理手順を示すフローチャートである。
【図16】相対位置算出処理(ステップS602)の詳細な処理手順を示すフローチャートである。
【図17】初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャート(前半)である。
【図18】初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャート(後半)である。
【図19】絶対位置算出処理(ステップS604)の詳細な処理手順を示すフローチャートである。
【図20】感度vsのみを算出する場合の移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。
【図21】感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(前半)である。
【図22】感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(後半)である。
【符号の説明】
【0149】
101 車両
200 自律測位装置
301 取得部
302 判断部
303 補正処理部
304 出力部
331 補正値算出部
332 相対位置算出部
333 初期方位算出部
334 絶対位置算出部
【技術分野】
【0001】
この発明は、自律測位をおこなう自律測位プログラムおよび自律測位装置に関する。
【背景技術】
【0002】
現在の自律測位技術では、移動距離と移動相対角度により自身の移動軌跡を算出し、自身の位置を検出している。自律測位は主にカーナビゲーションの車両測位としてGPS(Global Positioning System)と併用して利用されており、自車の車速パルスとジャイロセンサを用いて実現している。
【0003】
車速パルスとジャイロセンサは環境が変化することで出力する値が変化する。たとえば、タイヤの磨耗や急停車による熱膨張により車速パルスに応じた移動距離が変化する。また、車内の温度変化によりジャイロセンサの特定が変化する。このため、自律測位については補正が必要となる。
【0004】
また、GPS測位と自律航法測位とを複合した自律測位技術が開示されている(たとえば、下記特許文献1を参照。)。この特許文献1では、GPSによる測位結果を正解としカルマンフィルタを用いて車速パルスとジャイロセンサ出力を補正している。
【0005】
さらに、従来のカーナビゲーションでは、マップマッチングにより自律測位結果を補正することで、走行道路が判別できる程度の測位精度を実現している。
【0006】
【特許文献1】特開2008−175721号公報(段落[0032]〜[0035])
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した特許文献1のような自律測位技術では、カルマンフィルタを用いているため、計算量が膨大になり、自律測位を実行するコンピュータの負荷が増大するという問題があった。また、走行車線を判別するような高精度な測位を実現するためには、マップマッチングでは補正しきれないという問題があった。
【0008】
この発明は、上述した従来技術による問題点を解消するため、高精度かつ低負荷の自律測位を実現することができる自律測位プログラムおよび自律測位装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、第1の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が通過する任意の複数の地点の位置情報を取得し、前記複数の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出し、算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出し、前記複数の地点のうち最後に通過した地点からの移動距離を出力することを要件とする。
【0010】
第2の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が通過する複数の地点の位置情報を取得し、前記複数の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、前記複数の地点のうち最後に通過した地点からの回転角を出力することを要件とする。
【0011】
第3の自律測位プログラムおよび自律測位装置は、速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するにあたって、前記移動体が第1〜第3の地点を通過する際に位置情報を取得し、前記第1〜第3の地点間における前記出力電圧の変動が所定電圧以下であるか否かを判断し、その判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出し、算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出し、算出された前記移動体の絶対位置および絶対方位を出力することを要件とする。
【発明の効果】
【0012】
自律測位プログラムおよび自律測位装置によれば、高精度かつ低負荷の自律測位を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下に添付図面を参照して、自律測位プログラムおよび自律測位装置の好適な実施の形態を詳細に説明する。移動体が自律測位をおこなう場合には、位置算出に必要な計算処理を移動体に備えたコンピュータ(車載器等)上で実行することが考えられる。移動体が安全に移動を続けるためには、移動体の駆動系に必要なエネルギーを位置算出処理のためにコンピュータが消費してしまわないよう、位置算出処理にかかるエネルギー量を少なくすることが望ましい。たとえば、電気自動車は駆動系も車載器も両方電気を利用するため、コンピュータに負荷がかからないようにするのが好ましい。このため、本実施の形態では、計算量を抑えて、かつ自律測位の精度向上を図る。
【0014】
(移動軌跡)
図1は、車両の移動軌跡を示す説明図である。(A)において、車両101は、道路100に設置された光ビーコンPからダウンリンクされる位置情報(光ビーコンの位置座標)を受信しながら道路100を走行する。
【0015】
(B)は、(A)の任意の領域である楕円部分を拡大した図である。ここでは、光ビーコンPを車両101が通過した順にPA,PB,PCとする。LABは光ビーコンPA,PB間距離であり、LBCは光ビーコンPB,PC間距離である。また、白丸で示した地点Pa〜Pcは、光ビーコンPA〜PCを通過したときの車両101の位置である。なお、車両101の実際の現在位置はPCであり、自律測位された車両101の計算上の現在位置はPcである。
【0016】
また、Vabは地点Pa,Pb間の車両101の移動軌跡であり、Vbcは地点Pb,Pc間の車両101の移動軌跡である。移動軌跡Vab,Vbcは、ベクトルvを連結したベクトル列である。ベクトルvは車両101の進行方向を示しており、車両101の車速パルス1パルス分の移動距離rおよび移動回転角θという成分を含む。移動回転角θはジャイロセンサにより検出可能な成分である。
【0017】
(C)は、(B)の任意の領域である楕円部分を拡大した図である。(C)では、車速パルスが連続するベクトルvn-1とベクトルvnを示している。ベクトルvn-1はn−1番目の車速パルスにおけるベクトルを示しており、ベクトルvnはn番目の車速パルスにおけるベクトルを示している。移動距離rは車速パルス1パルスあたりの車両101の移動距離である。移動回転角θnは、ベクトルvn-1が指し示す進行方向を基準とした移動回転角θである。本実施の形態では、これらの情報を有効活用することで、計算量を抑えて、かつ自律測位の精度向上を図る。
【0018】
(ハードウェア構成)
図2は、例えば図1の車両101などの移動体に搭載されている自律測位装置のハードウェア構成を示すブロック図である。自律測位装置200は、CPU(Central Processing Unit)201と記憶装置202とディスプレイ203と受信装置204と車速パルス発生器(車速センサ)205とジャイロセンサ206と温度センサ207とがバス208を介して接続されている。
【0019】
CPU201は、自律測位装置200の全体の制御を司る中央処理装置である。記憶装置202は、自律測位プログラムや地図データを格納したり、CPU201のワークエリアとして使用される。
【0020】
記憶装置202は、たとえば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブおよび磁気ディスク、光ディスクドライブおよび光ディスクなどにより構成される。
【0021】
ディスプレイ203は、その表示画面に地図データや車両101の移動軌跡といった情報を表示する表示装置である。受信装置204は、特定地点の位置情報を受信するインターフェースである。たとえば、光ビーコンからダウンリンクされてくる位置情報を受信する。また、所定のタイミングでGPSからの位置情報を受信するGPSレシーバでもよい。
【0022】
車速パルス発生器205は、車両101の車輪の回転を検出して、1回転ごとに車速パルスを発生させる。タイヤの径は既知であるため、1車速パルスあたりの車両101の移動距離が計算される。ジャイロセンサ206は、車両101の進行方向に対する回転角の角速度を検出する。
【0023】
具体的には、たとえば、回転角の変化に応じた電圧を出力する。また、ジャイロセンサ206はゼロ点電圧と呼ばれる基準電圧を有しており、出力電圧とゼロ点電圧の差分により角速度が計算される。温度センサ207は温度を検出するセンサであり、車内に搭載されているジャイロセンサ206の温度を検出する。
【0024】
なお、自律測位装置200に示す要素の一部は、通信を介して接続可能であれば、移動体上に搭載されていなくても構わない。例えば、受信装置204、車速パルス発生器205、ジャイロセンサ206、温度センサ207からの出力信号を通信を介して受信可能であれば、CPU201は移動体上に搭載されていなくても構わない。
【0025】
(機能的構成)
図3は、自律測位装置200の機能的構成を示すブロック図である。自律測位装置200は、取得部301と判断部302と補正処理部303と出力部304とを含む構成である。また、補正処理部303は、補正値算出部331と相対位置算出部332と初期方位算出部333と絶対位置算出部334とを含む構成である。これら各機能は、具体的には、たとえば、図2に示した記憶装置202に記憶された自律測位プログラムをCPU201に実行させることにより、その機能を実現する。
【0026】
取得部301は、各種センサからの情報を取得する機能を有する。具体的には、温度センサ207からは温度に応じた電圧値、車速パルス発生器205からは車速パルス、ジャイロセンサ206からは角速度に応じた出力電圧を取得する。これら情報は常時取得する。また、受信装置204は、特定地点通過時における特定地点の位置情報(位置座標)を取得する。たとえば、位置情報をダウンリンクする光ビーコンの直下を通過する際にその位置情報を受信する。これにより、光ビーコン通過時の自車位置を特定することができる。
【0027】
また、判断部302は、補正処理部303の実行可否を判断する機能を有する。具体的には、ジャイロセンサ206からの出力電圧の変動と温度センサ207から検出された温度の変動により、補正処理部303の実行可否を判断する。
【0028】
出力電圧の変動が所定のしきい値α以下の場合、車両101が車線進路変更や右左折など進路変更をしていないため、この出力電圧から算出した移動軌跡上の回転角度は小さい。この移動軌跡を用いて車両の回転角に影響を与える感度の補正をする場合、補正元の移動軌跡上の回転角度が小さいため、補正に適さない。したがって、補正処理部303による補正を実行しない。このしきい値αは、右左折のような大きな角度変化を検出したいのか、進路変更(車線変更)などの小さな角度変化をも検出したいのかにより設定すべき値が異なる。しきい値αを小さく設定すれば進路変更の検出が可能となり、それよりも大きく設定すれば右左折を検出することができる。
【0029】
また、検出温度の変動が所定のしきい値β以下の場合、ジャイロセンサ206が正常に動作しており、ジャイロセンサ206は正確な電圧を出力していると考えられる。そして、ジャイロセンサ206が出力した電圧から算出した移動軌跡は、正確であると判断できる。したがって、ジャイロセンサ206が出力した電圧から算出した移動軌跡を用いて、補正処理部303による補正を実行する。なお、補正処理部303による補正は、出力電圧の変動が所定のしきい値αよりも大きい場合でかつ検出温度の変動が所定のしきい値β以下の場合に実行するのが最も好ましい。
【0030】
このように、ジャイロセンサ206の出力変動や温度変化に応じて自律測位の補正の適否を自動判断することができるため、不要な計算量を抑制することができ、コンピュータの負荷軽減を図ることができる。
【0031】
補正処理部303は、補正値算出部331と相対位置算出部332と初期方位算出部333と絶対位置算出部334とを含む構成である。補正値算出部331は、感度補正値Δvs、移動距離補正値Δr、ゼロ点電圧補正値ΔEbといった補正値を算出する機能を有する。
【0032】
具体的には、点Pa〜Pcまでの間で、車速パルス発生器205からの車速パルスの検出回数nを計数するとともに、検出時刻tとそのときの状態(H/L)を記録する。そして、下記式(1)に示すように、1車速パルスあたりの車両101の回転角度を算出する。
【0033】
【数1】
【0034】
ただし、θnは、n番目の車速パルスについての車両101の移動回転角度、tnはn番目の車速パルスの検出時刻、tn-1はn−1番目の車速パルスの検出時刻、E(t)は時刻tにおけるジャイロセンサ206からの出力電圧、Ebはゼロ点電圧、vsjは感度補正の試行回数j番目のジャイロセンサ206の感度である。
【0035】
また、補正値算出部331は、点Pa〜Pcまでの間で、自車移動履歴を算出する機能を有する。具体的には、下記式(2)に示すように、車速パルスごとの車両101の位置座標を算出する。
【0036】
(xn,yn)=(xn-1+ri・cosθn,yn-1+ri・sinθn)
・・・・・・(2)
【0037】
ただし、xnはn番目の車速パルス検出時の車両101のX座標値、xn-1はn−1番目の車速パルス検出時の車両101のX座標値、ynはn番目の車速パルス検出時の車両101のY座標値、yn-1はn−1番目の車速パルス検出時の車両101のY座標値、である。riは移動距離補正の試行回数i番目のときの車両移動距離である。
【0038】
また、補正値算出部331は、上記式(2)で算出された自車移動履歴の正誤判定値を算出する機能を有する。具体的には、下記式(3)に示すように、移動距離補正の試行回数iごとに正誤判定の評価値を算出する。
【0039】
【数2】
【0040】
ただし、Lstijは試行回数i番目の正誤判定値、xaは点Paで位置情報を受け取っ
たときの車両101のX座標値、xbは点Pbで位置情報を受け取ったときの車両101のX座標値、xcは点Pcで位置情報を受け取ったときの車両101のX座標値、yaは点Paで位置情報を受け取ったときの車両101のY座標値、ybは点Pbで位置情報を受け取ったときの車両101のY座標値、ycは点Pcで位置情報を受け取ったときの車両101のY座標値である。
【0041】
また、XAは点PAで位置情報を受け取ったときの車両101のX座標値、XBは点PBで位置情報を受け取ったときの車両101のX座標値、XCは点PCで位置情報を受け取ったときの車両101のX座標値、YAは点PAで位置情報を受け取ったときの車両101のY座標値、YBは点PBで位置情報を受け取ったときの車両101のY座標値、YCは点PCで位置情報を受け取ったときの車両101のY座標値である。
【0042】
Lstijは、車両101軌跡Vabにおける点Pa〜Pb間距離と点PA,PBの2点間距離LABとの差分、および車両101軌跡Vbcにおける点Pb〜Pc間距離と点PB,PCの2点間距離LBCとの差分の総和である。このLstijを可能な限り小さくしたときの移動距離riと感度vsjとを求め、1車速パルスあたりの最適な移動距離rおよび感度vsとする。そして、前回求めた最適な移動距離r_oldおよび感度vs_oldとの差分をもとめ、移動距離補正値Δrおよび感度補正値Δvsとする。
【0043】
Δr=r−r_old・・・・・・・・(4)
Δvs=vs−vs_old・・・・・(5)
【0044】
また、補正値算出部331は、移動距離補正値Δrおよび感度補正値Δvsのほか、ゼロ点電圧補正値ΔEbも算出する機能を有する。具体的には、たとえば、車両101が停車してから発車するまでの間のジャイロセンサ206からの出力電圧の平均値をゼロ点電圧Ebとする。そして、前回算出したゼロ点電圧Eb_oldとの差分をとることで、ゼロ点電圧補正値ΔEbがもとめられる。
【0045】
ΔEb=Eb−Eb_old・・・・・・・・(6)
【0046】
初期方位算出部333は、車両101の初期方位を算出する機能を有する。初期方位とは、車両101が地点Pcを位置(到達または通過)したときの北を基準とした車両101の絶対方位である。初期方位は、以下のように求める。
【0047】
図4は、初期方位の導出方法を示す説明図である。図4の(A)において、三角形△ABCは、図1に示した地点PA〜PCを頂点とする図形であり、三角形△abcは、図1に示した地点Pa〜Pcを頂点とする図形である。点Gは三角形△ABCの重心であり、点gは三角形△abcの重心である。(A)の状態から三角形△abcを平行移動し、点gを点Gに一致させる。
【0048】
(B)は、重心G,gが一致した状態を示す。つぎに、重心gを中心として三角形△abcを回転角φ分回転させる。回転角φは(B)のように平行移動により重心g,Gが一致した状態を基準とする。回転角φは0°≦φ≦360°であり、所定量Δφずつ加算されていく。この状態が(C)である。この回転前に、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出する。
【0049】
(D)は回転後の状態を示している。回転角φの回転後においても、頂点Pa,PA間距離aA、頂点Pb,PB間距離bB、頂点Pc,PC間距離cCの和を算出して、回転前の距離aA〜cCの和と比較する。回転後の和の方が小さければ、回転後の三角形△abcおよび三角形△ABCの重複度が回転前よりも高いこととなる。
【0050】
したがって、回転後のほうが小さいときの回転角φを保存する。そして、最終的に得られた回転角φと地点Pcに到達する移動軌跡Vbcの最終ベクトルvendにおける移動回転角とを加算することで初期方位が算出される。
【0051】
相対位置算出部332は、車両101の相対位置を算出する機能を有する。具体的には、車速パルスを1パルス検出するごとに移動距離rおよび移動回転角θを移動履歴として保存する。保存される移動距離rおよび移動回転角θは、補正値Δr,Δvs,ΔEbにより補正された値である。これにより、図1に示した車両101の移動軌跡Vab,Vbcを得ることができる。
【0052】
絶対位置算出部334は、相対位置算出部332から得られた移動距離rおよび移動回転角θを初期方位を用いて絶対方位に変換する機能を有する。これにより、地点Pcでの車両101の詳細な緯度Latおよび経度Lonと車両方位Θが得られる。したがって、車両101は地点Pcからの自律測位の精度が向上することとなる。
【0053】
出力部304は、補正処理部303で得られた車両101の緯度および経度、車両方位を出力する機能を有する。具体的には、たとえば、緯度および経度や車両方位を示すアイコンを表示画面に表示する。また、緯度および経度により表示画面に表示された地図上に現在位置を表示する。
【0054】
(自律測位処理)
図5は、本実施の形態にかかる自律測位装置200の自律測位処理手順を示すフローチャートである。図5において、連続不更新カウンタhをh=0にセットする(ステップS501)。連続不更新カウンタhとは、移動距離補正値Δrおよび感度補正値Δvsを更新しなかった回数を示す。回数が多いほど補正がなされていないことを示す。そして、出力電圧変動値Evを算出する(ステップS502)。
【0055】
Ev=Σ|E(t)−Eb|・・・(7)
【0056】
出力電圧変動値Evは、ジャイロセンサ206からの出力電圧E(t)とゼロ点電圧Ebとの差分を、車両101が連続通過した3地点PA〜PCにおいて時間積分した値である。そして、Ev≧αであるか否かを判断する(ステップS503)。αは出力電圧変動値Evのしきい値である。Ev≧αである場合(ステップS503:Yes)、ジャイロ温度変動値Cvを算出する(ステップS504)。
【0057】
Cv=Σ|C(t)−C’(t)|・・・(8)
【0058】
C(t)は温度センサから得られる検出温度、C’(t)は温度センサから得られた地点PA通過時の検出温度、ジャイロ温度変動値Cvは、C(t)とC’(t)との差分を、車両101が連続通過した3地点PA〜PCにおいて時間積分した値である。
【0059】
そして、Cv≦βであるか否かを判断する(ステップS505)。βはジャイロ温度変動値Cvのしきい値である。Cv≦βである場合(ステップS505:Yes)、補正処理部303による補正処理を実行する(ステップS506)。このあと、連続不更新カウンタhをh=0にリセットして(ステップS507)、ステップS510に移行する。
【0060】
一方、ステップS503において、Ev≧αでない場合(ステップS503:No)、または、ステップS505において、Cv≦βでない場合(ステップS505:No)、今回の移動距離補正値Δrおよび感度補正値ΔvsをそれぞれΔr=0、Δvs=0とする(ステップS508)。すなわち、両補正値を算出しないため、移動距離rおよび感度vsは補正されないこととなる。したがって、連続不更新カウンタhをインクリメントし(ステップS509)、ステップS510に移行する。
【0061】
そして、出力部304による出力処理を実行する(ステップS510)。なお、出力処理においては、連続不更新カウンタhの大きさにより、出力結果(絶対位置および絶対方位)を視覚的(強調表示など)に評価することとしてもよい。これにより、ユーザは直感的に補正がおこなわれた出力結果かそうでない出力結果かがわかることとなる。
【0062】
そして、エンジンがOFFとなったか否かを判断する(ステップS511)。エンジンOFFでない場合(ステップS511:No)、ステップS502に戻る。一方、エンジンOFFの場合(ステップS511:Yes)、一連の処理を終了する。
【0063】
(補正処理手順)
図6は、図5に示した補正処理(ステップS506)の詳細な処理手順を示すフローチャートである。まず、補正値算出部331による補正値算出処理(ステップS601)と相対位置算出部332による相対位置算出処理(ステップS602)とを並列実行する。そして、補正値算出処理(ステップS601)および相対位置算出処理(ステップS602)の算出結果を用いて、初期方位算出部333による初期方位算出処理を実行し(ステップS603)、絶対位置算出部334による絶対位置算出処理を実行する(ステップS604)。そして、図5のステップS502に戻る。
【0064】
(補正値算出処理手順)
図7は、補正値算出処理(ステップS601)の詳細な処理手順を示すフローチャートである。まず、移動距離補正値・感度補正値算出処理(ステップS701)とゼロ点電圧補正値算出処理(ステップS702)とを並列実行する。そして、ステップS603に移行する。
【0065】
(移動距離補正値・感度補正値算出処理手順)
図8は、移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。この補正値算出処理では、2つのバッファを用いる。1つは履歴V1_orでもう1つは履歴V2_orである。
【0066】
履歴V1_orは、現在通過した地点とその直前に通過した地点との間の移動軌跡の情報(車速パルスのH(High)/L(Low)およびジャイロセンサ206からの出力電圧値E(t))を1車速パルスごとに記録するバッファである。たとえば、現在位置が地点PBである場合、移動軌跡Vabの情報を記録し、現在位置が地点PCである場合、移動軌跡Vbcの情報を記録する。
【0067】
履歴V2_orは、さらにその前の区間の移動軌跡の情報を記録する。たとえば、現在位置が地点PCである場合、履歴V1_orを空けるために、移動軌跡Vabの情報を履歴V1_orからコピーする。
【0068】
まず、位置情報が取得されていない場合(ステップS801:No)、車速パルスのH/Lおよびジャイロセンサ206からの出力電圧値E(t)を履歴V1_orに記録する(ステップS802)。そして、移動距離補正値ΔrをΔr=0、感度補正値ΔvsをΔvs=0とする(ステップS803)。このあと、ステップS603に移行する。
【0069】
一方、ステップS801において、位置情報が取得された場合(ステップS801:Yes)、すなわち、車両101が光ビーコンの直下を通過した場合、履歴V1_orおよび履歴V2_orに電圧値E(t)が記録されているか否かを判断する(ステップS804)。
【0070】
両履歴V1_or,V2_orに電圧値E(t)が記録されていない場合(ステップS804:No)、すなわち、履歴V2_orに電圧値E(t)が記録されていない場合、ステップS806に移行する。一方、両履歴V1_or,V2_orに電圧値E(t)が記録されている場合(ステップS804:Yes)、図1に示した地点PCの直下を通過したことになるため、補正値演算処理を実行する(ステップS805)。そして、履歴V1_orの記録内容を履歴V2_orに上書きし、履歴V1_orを空にする(ステップS806)。このあと、ステップS603に移行する。
【0071】
(補正値演算処理手順)
図9および図10は、補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャートである。まず、図9において、車速パルス1パルスあたりの移動距離rをr=r_minとし、車速パルス1パルスあたりの感度vsをvs=vs_minとし、上記式(3)で示した評価値Lstijを下限値Lstij_minをLst_min=∞とする(ステップS901)。r=r_minは移動距離rの下限値である。vs_minは感度vsの下限値である。
【0072】
そして、入力用履歴V_orとして履歴V1_orを設定する(ステップS902)。このあと、車両移動距離算出処理(ステップS903)および車両移動方位算出処理(ステップS904)を実行する。
【0073】
簡単に説明すると、車両移動距離算出処理(ステップS903)では、車速パルス1パルスあたりのデフォルトの車両移動距離rをそのまま用いたり、車両移動補正値Δrが算出されている場合にはその車両移動補正値Δrを加算した値をあらたな車両移動距離rとする。
【0074】
また、車両移動方位算出処理(ステップS904)では、上記式(1)を用いて、車速パルス1パルスあたりの移動回転角θnを算出する。車両移動距離算出処理(ステップS903)および車両移動方位算出処理(ステップS904)の詳細なフローチャートについては後述する。
【0075】
車速パルス1パルスあたりの移動距離rおよび移動回転角θが求まると、移動距離rおよび移動回転角θをベクトル変換して、ベクトルvを得る(ステップS905)。そして、上記式(2)を用いて、このベクトルvを位置座標(xn,yn)に変換し(ステップS906)、バッファに蓄積する(ステップS907)。
【0076】
このあと、入力用履歴V_orがすべて処理されたか否かを判断する(ステップS908)。すなわち、記録されているすべての電圧値E(t)について車両移動方位算出処理(ステップS904)が実行されたか否かを判断する。処理済みでない場合(ステップS908:No)、ステップS903に戻り、つぎの車速パルスについて移動距離rおよび移動回転角θを求める。
【0077】
一方、処理済みの場合(ステップS908:Yes)、連続通過したビーコンから得られた2つの位置情報からビーコン間距離を算出する(ステップS909)。たとえば、入力用履歴V_orに移動軌跡Vbcの情報が記録されている場合には、すでに取得済みの地点PB,PCの位置情報(緯度経度情報)を読み出し、この2点間距離Lbを算出する。
【0078】
つぎに、ステップS907においてバッファ内に蓄積された位置座標群から対象となる移動軌跡の始点終点間距離Lvを算出する(ステップS910)。たとえば、入力用履歴V_orに移動軌跡Vbcの情報が記録されている場合には、移動軌跡Vbcの始点となる地点Pbの位置座標と終点となる地点Pcの位置座標を読み出し、移動軌跡Vbcの始点終点間距離Lvを算出する。そして、図10のステップS1001に移行する。
【0079】
また、図10では距離差バッファL♯(♯=1,2)を用いる。距離差バッファL♯とは、入力用履歴V_orについての始点終点間距離Lvから2点間距離Lbを引いた値を記憶するバッファである。本フローチャートでは、いずれの距離差であっても一旦、距離差バッファL2に記録し、履歴V2_orでないと判明した時点で距離差バッファL1にコピーすることとする。すなわち、式(3)の右辺の第1項が距離差バッファL2に記録された値となり、第2項が距離差バッファL1に記録された値となる。なお、距離差バッファL♯に記録された値もL♯とする。
【0080】
まず、図10において、距離差バッファL2に、始点終点間距離Lvから2点間距離Lbを引いた値(Lv−Lb)を記録し(ステップS1001)、現在の入力用履歴V_orが履歴V2_orであるか否か(V_or=V2_or)を判断する(ステップS1002)。
【0081】
V_or=V2_orでない場合(ステップS1002:No)、入力用履歴V_orを履歴V2_orとし(ステップS1003)、位置座標が蓄積されたバッファをクリアする(ステップS1004)。そして、距離差バッファL2に記録された値を距離差バッファL1にコピーする(ステップS1005)。このあと、図9の車両移動距離算出処理(ステップS903)に戻る。
【0082】
一方、V_or=V2_orである場合、評価値Lstij(=L1+L2)を算出する(ステップS1006)。そして、評価値LstijがLstij<Lst_minであるか否かを判断する(ステップS1007)。
【0083】
Lstij<Lst_minでない場合(ステップS1007:No)、ステップS1010に移行する。一方、Lstij<Lst_minである場合(ステップS1007:Yes)、Lst_minをLstijに更新する(ステップS1008)。そして、このときの移動距離rおよび感度vsを保存する(ステップS1009)。このあと、vs>vs_maxであるか否かを判断する(ステップS1010)。vs_maxは感度vsの上限値である。
【0084】
vs>vs_maxでない場合(ステップS1010:No)、感度vsを所定量加算して、試行回数jをインクリメントする(ステップS1011)。そして、ステップS902にもどる。
【0085】
一方、vs>vs_maxである場合(ステップS1010:Yes)、r<r_maxであるか否かを判断する(ステップS1012)。r_maxは移動距離rの上限値である。r>r_maxでない場合(ステップS1012:No)、移動距離rを所定量加算して、試行回数iをインクリメントする(ステップS1013)。そして、ステップS902にもどる。
【0086】
一方、r>r_maxである場合(ステップS1012:Yes)、前回検出された車速パルスにおける移動距離r_oldと今回の移動距離rとを用いて、移動距離補正値Δr(=r−r_old)を算出する。同様に、前回検出された車速パルスにおける感度vs_oldと今回の感度vsとを用いて、感度補正値Δvs(=vs−vs_old)を算出する(ステップS1014)。そして、今回の移動距離rおよび感度vsをつぎの車速パルス検出時に用いるため、それぞれ移動距離r_old、感度vs_oldとして保存する(ステップS1015)。そして、ステップS806に移行する。
【0087】
なお、履歴V1_or,V2_orごとにバッファに蓄積された位置座標は、初期方位算出処理(ステップS603)で利用するため、履歴V1_or,V2_orに退避させておく。
【0088】
(車両移動距離算出処理手順)
図11は、車両移動距離算出処理(ステップS903)の詳細な処理手順を示すフローチャートである。まず、車速パルス1パルスあたりの車両移動距離rを読み込み(ステップS1101)、車両移動距離rに値が設定済みであるか否かを判断する(ステップS1102)。
【0089】
車両移動距離rに値が設定済みでない場合(ステップS1102:No)、初期設定値(たとえば、39.25[cm])をrとする(ステップS1103)。そして、ステップS904に移行する。一方、値が設定済みである場合(ステップS1102:Yes)、補正結果を反映する(ステップS1104)。すなわち、車両移動距離rに車両移動距離Δrを加算してあらたな車両移動距離rとする。そして、ステップS904に移行する。
【0090】
(車両移動方位算出処理手順)
図12および図13は、車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャートである。まず、感度vsを読み込み(ステップS1201)、感度vsに値が設定済みか否かを判断する(ステップS1202)。値が設定済みでない場合(ステップS1202:No)、初期設定値(たとえば、25[mV])をvsとする(ステップS1203)。
【0091】
そして、ステップS1205に移行する。一方、値が設定済みである場合(ステップS1202:Yes)、補正結果を反映する(ステップS1204)。すなわち、感度vsに感度補正値Δvsを加算してあらたな感度vsとする。そして、ステップS1205に移行する。
【0092】
また、ゼロ点電圧Ebを読み込み(ステップS1205)、ゼロ点電圧Ebに値が設定済みか否かを判断する(ステップS1206)。値が設定済みでない場合(ステップS1206:No)、初期設定値(たとえば、2.5[V])をEbとする(ステップS1207)。そして、ステップS1209に移行する。一方、値が設定済みである場合(ステップS1206:Yes)、補正結果を反映する(ステップS1208)。すなわち、ゼロ点電圧Ebにゼロ点電圧補正値ΔEbを加算してあらたなゼロ点電圧Ebとする。そして、ステップS1209に移行する。
【0093】
また、車速パルスのH/Lを入力するとともに(ステップS1209)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1210)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1211)。このあと、図13のステップS1301に移行する。
【0094】
図13において、ステップS1301では、車速パルスがHであるか否かを判断する(ステップS1301)。Hである場合(ステップS1301:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1302)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1303)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1304)。
【0095】
そして、ステップS1305において、車速パルスがLであるか否かを判断する(ステップS1305)。Lでない場合(ステップS1305:No)、ステップS1302に戻る。一方、Lである場合(ステップS1305:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1306)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1307)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1308)。
【0096】
そして、ステップS1309において、車速パルスがHであるか否かを判断する(ステップS1309)。Hでない場合(ステップS1309:No)、ステップS1306に戻る。一方、Hである場合(ステップS1309:Yes)、ステップS1318に移行する。
【0097】
また、ステップS1301において、Lである場合(ステップS1301:No)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1310)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1311)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1312)。
【0098】
そして、ステップS1313において、車速パルスがHであるか否かを判断する(ステップS1313)。Hでない場合(ステップS1313:No)、ステップS1310に戻る。一方、Hである場合(ステップS1313:Yes)、そのあとに検出される車速パルスのH/Lを入力するとともに(ステップS1314)、ジャイロセンサ206の出力電圧E(t)を入力し(ステップS1315)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1316)。
【0099】
そして、ステップS1317において、車速パルスがLであるか否かを判断する(ステップS1317)。Lでない場合(ステップS1317:No)、ステップS1314に戻る。一方、Lである場合(ステップS1317:Yes)、ステップS1318に移行する。これにより、車速パルス1パルスあたりのジャイロセンサ206からの出力電圧E(t)を蓄積することができる。
【0100】
そして、ステップS1318において、バッファに蓄積された出力電圧E(t)を読み出し、上記式(1)を用いて移動回転角θを算出する(ステップS1318)。そして、出力電圧が蓄積されたバッファをクリアして(ステップS1319)、ステップS905に移行する。
【0101】
(ゼロ点電圧補正値算出処理手順)
図14は、ゼロ点電圧補正の動作概要を示す波形図である。図14において、横軸は時刻であり縦軸は電圧である。まず、車速パルスの変化が一定時間なかった場合に車両101が停車していると判断し、停車中においてブレーキがOFFになったことを検出した場合に発車と判断する。ゼロ点電圧の値は、この停車から発車までの間におけるジャイロセンサ206からの出力電圧の平均値を算出し、この平均値をゼロ点電圧Ebとして用いる。
【0102】
図15は、ゼロ点電圧補正値算出処理(ステップS702)の詳細な処理手順を示すフローチャートである。まず、車速パルス不動判定用評価値PbをNULLとする(ステップS1501)。そして、タイマを起動する(ステップS1502)。このあと、車速パルスのH/Lを入力し(ステップS1503)、H/Lが評価値Pbと同一であるか否かを判断する(ステップS1504)。
【0103】
同一でない場合(ステップS1504:No)、このときの車速パルスのH/Lを評価値Pbにコピーして(ステップS1505)、タイマを再起動し(ステップS1506)、ステップS1503に戻る。一方、ステップS1504において、同一である場合(ステップS1504:Yes)、タイマ計測結果Tが一定値以上であるか否かを判断する(ステップS1507)。
【0104】
タイマ計測結果Tが一定値以上でない場合(ステップS1507:No)、ステップS1503に戻る。一方、タイマ計測結果Tが一定値以上である場合(ステップS1507:Yes)、ジャイロセンサ206からの出力電圧E(t)を入力して(ステップS1508)、出力電圧E(t)を時系列にバッファに蓄積する(ステップS1509)。そして、ブレーキ信号を入力し(ステップS1510)、ブレーキ信号がOFFであるか否かを判断する(ステップS1511)。
【0105】
OFFでない場合(ステップS1511:No)、ステップS1508に戻る。一方、OFFである場合(ステップS1511:Yes)、バッファに蓄積された出力電圧E(t)とタイマ計測結果Tから出力電圧E(t)の平均値Eavを算出する(ステップS1512)。そして、算出された平均値Eavをゼロ点電圧Ebとする(ステップS1513)。
【0106】
このあと、ゼロ点電圧Ebの補正値ΔEb(=Eb−Eb_old)を算出する(ステップS1514)。そして、次回に用いるため、今回算出されたゼロ点電圧Ebをゼロ点電圧Eb_oldとして保存する(ステップS1515)。そして、ステップS603に移行する。
【0107】
(相対位置算出処理手順)
図16は、相対位置算出処理(ステップS602)の詳細な処理手順を示すフローチャートである。まず、車両移動距離算出処理を実行する(ステップS1601)。この処理は、図11のフローチャートで示した処理と同一処理であるため、説明を省略する。つぎに、車両移動方位算出処理を実行する(ステップS1602)。この処理は、図12および図13のフローチャートで示した処理と同一処理であるため、説明を省略する。
【0108】
そして、これらから得られた車速パルス1パルスあたりの車両移動距離rおよび移動回転角θをバッファに蓄積する(ステップS1603)。つぎに、位置情報が取得されたか否かを判断する(ステップS1604)。位置情報が取得されていない場合(ステップS1604:No)、ステップS604に移行する。一方、位置情報が取得された場合(ステップS1604:Yes)、自車移動履歴W1に車両移動距離rおよび移動回転角θが記録されているか否かを判断する(ステップS1605)。
【0109】
自車移動履歴W1とは、現在通過した地点とその直前に通過した地点との間において蓄積された車両移動距離rおよび移動回転角θを移動履歴情報として記録するバッファである。たとえば、現在位置が地点PBである場合、移動軌跡Vabの移動履歴情報(車両移動距離rおよび移動回転角θ)を記録し、現在位置が地点PCである場合、移動軌跡Vbcの移動履歴情報(車両移動距離rおよび移動回転角θ)を記録する。
【0110】
また、自車移動履歴W2は、さらにその前の区間の移動軌跡の移動履歴情報(車両移動距離rおよび移動回転角θ)を記録する。たとえば、現在位置が地点PCである場合、自車移動履歴W1を空けるために、移動履歴Vabの移動履歴情報(車両移動距離rおよび移動回転角θ)を自車移動履歴W1から自車移動履歴W2にコピーする。これにより、自車移動履歴W1に、移動履歴Vbcの移動履歴情報を記録することができる。
【0111】
そして、ステップS1605において、自車移動履歴W1に移動履歴情報が記録されていない場合(ステップS1605:No)、ステップS1607に移行する。一方、記録されている場合(ステップS1605:Yes)、自車移動履歴W1に記録されている移動履歴情報を自車移動履歴W2に上書きする(ステップS1606)。そして、ステップS1603でバッファに蓄積された車両移動距離rおよび移動回転角θを移動履歴情報として自車移動履歴W1に記録する(ステップS1607)。そして、バッファをクリアして(ステップS1608)、初期方位算出処理(ステップS603)に移行する。
【0112】
(初期方位算出処理手順)
図17および図18は、初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャートである。まず、履歴V1_or,V2_orに位置座標が記録されているか否かを判断する(ステップS1701)。記録されていない場合(ステップS1701:No)、ステップS604に移行する。
【0113】
一方、記録されている場合(ステップS1701:Yes)、移動軌跡Vabの始点座標として履歴V2_orの始点座標を抽出し、移動軌跡Vbcの始点座標として履歴V1_orの始点座標を抽出し、移動軌跡Vbcの終点座標として履歴V1_orの終点座標を抽出する(ステップS1702)。移動軌跡Vabの始点座標が頂点Paの座標となり、移動軌跡Vbcの始点座標が頂点Pbの座標となり、移動軌跡Vbcの終点座標が頂点Pcの座標となる。そして、これらを頂点とする三角形△abcの重心gを算出する(ステップS1703)。
【0114】
また、ビーコンPA〜PCからダウンリンクされたそれぞれのビーコンPA〜PCの位置座標を抽出し(ステップS1704)、それぞれを頂点とする三角形△ABCの重心Gを算出する(ステップS1705)。このあと、重心gが重心Gと一致するように、三角形abcを平行移動させる座標変換をおこなう(ステップS1706)。
【0115】
つぎに、回転量φの初期値としてφ=0、回転評価値Lst’の下限値Lst’_minをLst’_min=∞とする(ステップS1707)。そして、重心gを中心として三角形△abcを回転量φだけ回転させる座標変換をおこなう(ステップS1708)。この回転後の頂点Pa,PA間距離、頂点Pb,PB間距離、頂点Pc,PC間距離を算出し、その和を算出し、回転評価値Lst’とする(ステップS1709)。そして、図18のステップS1801に移行する。
【0116】
図18において、回転評価値Lst’が下限値Lst’_minに対して、Lst’<Lst’_minであるか否かを判断する(ステップS1801)。Lst’<Lst’_minでない場合(ステップS1801:No)、ステップS1804に移行する。一方、Lst’<Lst’_minである場合(ステップS1801:Yes)、Lst’_minをLst’に更新することで、下限値Lst’_minを引き下げる(ステップS1802)。そして、このときの回転量φをバッファに上書き保存し(ステップS1803)、ステップS1804に移行する。
【0117】
ステップS1804において、回転量φがφ>360°となったか否かを判断する(ステップS1804)。すなわち、三角形△abcが1回転したか否かを判断する。φ>360°でない場合(ステップS1804:No)、回転量φを所定量インクリメントして(ステップS1805)、ステップS1708に戻る。
【0118】
一方、φ>360°となった場合(ステップS1804:Yes)、移動軌跡Vbcの最終ベクトルvend(図4の(D)を参照)の成分(r,θend)から、θendを相対進行方位として抽出する(ステップS1806)。そして、最終的に保存された回転量φと相対進行方位θendとを加算することで初期方位Dを算出する(ステップS1807)。そして、絶対位置算出処理(ステップS604)に移行する。
【0119】
(絶対位置算出処理)
図19は、絶対位置算出処理(ステップS604)の詳細な処理手順を示すフローチャートである。まず、車両方位Θ(=D+θ)を算出する(ステップS1901)。Dは初期方位であり、θは相対位置算出処理で得られた移動回転角θである。つぎに、初期方位Dを考慮した車両移動ベクトルを算出する(ステップS1902)。
【0120】
すなわち、このベクトルは、移動距離をr、移動回転角をΘとし、移動軌跡Vbcの最終ベクトルvendのつぎに出現するベクトルである。これにより、地点Pcからの絶対的な進行方位が特定される。このベクトルを式(2)と同様の手法により位置座標に変換し(ステップS1903)、その位置座標を緯度LATおよび経度LONに変換することで(ステップS1904)、車両101の絶対位置(LAT,LON)および絶対方位Θを得ることができる。
【0121】
このように、上述した実施の形態では、高精度かつ低負荷の自律測位を実現することができる。また、上述した実施の形態では、移動距離r、感度vsおよびゼロ点電圧Ebの3つの補正値を算出することとしているが、少なくともいずれか1つの補正値を算出することとしてもよい。
【0122】
例えば、図1における移動軌跡Vabと、地点PA、PBの2地点の位置座標のみを用いて感度vsの補正値を本実施の形態により算出し、移動距離rの補正値を他の方法(たとえば、特開2006−343219など)を用いて算出することでも実現可能である。具体的には、図8を図20、図9を図21、図10を図22に置き換え、初期方位算出部333を他の方法(地磁気センサなど)を用いることでも実現可能である。また、いずれの補正値も算出せず、初期方位算出処理を実行してもよい。なお、以下に説明する図20〜図22において、図8〜図10に示した処理と同一処理については同一ステップ番号を付し、その説明を省略する。
【0123】
図20は、感度vsのみを算出する場合の移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。まず、位置情報が取得されていない場合(ステップS801:No)、車速パルスのH/Lおよびジャイロセンサ206からの出力電圧値E(t)を履歴V1_orに記録する(ステップS802)。そして、移動距離補正値ΔrをΔr=0、感度補正値ΔvsをΔvs=0とする(ステップS803)。このあと、ステップS603に移行する。
【0124】
一方、ステップS801において、位置情報が取得された場合(ステップS801:Yes)、すなわち、車両101が光ビーコンの直下を通過した場合、図1に示した地点PCの直下を通過したことになるため、補正値演算処理を実行する(ステップS805)。すなわち、図8と違い、ステップS804の処理は実行しない。そして、履歴V1_orの記録内容を履歴V2_orに上書きし、履歴V1_orを空にする(ステップS806)。このあと、ステップS603に移行する。
【0125】
図21および図22は、感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャートである。まず、図21において、車速パルス1パルスあたりの感度vsをvs=vs_minとし、上記式(3)で示した評価値Lstijを下限値Lstij_minをLst_min=∞とする(ステップS2101)。vs_minは感度vsの下限値である。なお、車速パルス1パルスあたりの移動距離rの設定は他の方法により得られているため不要である。これ以降、ステップS902〜ステップS910を実行して、図22のステップS2201に移行する。
【0126】
まず、図10において、距離差バッファL2に、始点終点間距離Lvから2点間距離Lbを引いた値(Lv−Lb)を評価値Lstijとして記録し(ステップS2201)、評価値LstijがLstij<Lst_minであるか否かを判断する(ステップS1007)。
【0127】
Lstij<Lst_minでない場合(ステップS1007:No)、ステップS1010に移行する。一方、Lstij<Lst_minである場合(ステップS1007:Yes)、Lst_minをLstijに更新する(ステップS1008)。そして、このときの感度vsを保存する(ステップS2202)。このあと、vs>vs_maxであるか否かを判断する(ステップS1010)。vs_maxは感度vsの上限値である。
【0128】
vs>vs_maxでない場合(ステップS1010:No)、感度vsを所定量加算して、試行回数jをインクリメントする(ステップS1011)。そして、図21のステップS902にもどる。
【0129】
一方、vs>vs_maxである場合(ステップS1010:Yes)、補正済みの移動距離rを入力し(ステップS2203)、前回入力された移動距離r_oldと今回入力された移動距離rとを用いて、移動距離補正値Δr(=r−r_old)を算出する。同様に、前回検出された車速パルスにおける感度vs_oldと今回の感度vsとを用いて、感度補正値Δvs(=vs−vs_old)を算出する(ステップS1014)。そして、今回の移動距離rおよび感度vsをつぎの車速パルス検出時に用いるため、それぞれ移動距離r_old、感度vs_oldとして保存する(ステップS1015)。そして、ステップS806に移行する。
【0130】
このように、感度vsの補正値Δvsのみを算出することにより、ジャイロセンサ206の感度が高くなり、移動回転角θの検出精度が向上することとなる。
【0131】
なお、本実施の形態で説明した自律測位方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能としてもよい。
【0132】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0133】
(付記1)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの移動距離を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0134】
(付記2)前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする付記1に記載の自律測位プログラム。
【0135】
(付記3)前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記移動距離の補正値を算出することを特徴とする付記1または2に記載の自律測位プログラム。
【0136】
(付記4)前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする付記3に記載の自律測位プログラム。
【0137】
(付記5)前記補正値算出手段は、
前記判断結果に基づいて、前記複数の地点の位置情報と、前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、
前記補正処理手段は、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記1に記載の自律測位プログラム。
【0138】
(付記6)速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が連続通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0139】
(付記7)前記補正値算出手段は、
前記判断結果に基づいて、前記移動体の挙動により前記出力電圧の比較対象となるゼロ点電圧を算出するとともに、前回算出されたゼロ点電圧との差をとることにより、前記ゼロ点電圧の補正値を算出し、
前記補正処理手段は、
前記ゼロ点電圧の補正値により補正された補正後のゼロ点電圧と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記5または6に記載の自律測位プログラム。
【0140】
(付記8)前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記5〜7のいずれか一つに記載の自律測位プログラム。
【0141】
(付記9)前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記補正値を算出することを特徴とする付記5〜8のいずれか一つに記載の自律測位プログラム。
【0142】
(付記10)前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする付記9に記載の自律測位プログラム。
【0143】
(付記11)前記コンピュータを、
前記複数の地点は任意の第1〜第3の地点であって、該第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理により算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理と、を実行し、当該回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とにより、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とにより、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、として機能させ、
前記出力手段は、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力することを特徴とする付記1に記載の自律測位プログラム。
【0144】
(付記12)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する取得手段、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【0145】
(付記13)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する取得手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記第1〜第3の地点の位置情報と、前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記第3の地点からの移動距離を算出する補正処理手段と、
前記補正処理手段によって得られた前記第3の地点からの移動距離を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【0146】
(付記14)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が通過する複数の地点の位置情報を取得する取得手段と、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段と、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【0147】
(付記15)速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が通過する第1〜第3の地点の位置情報を取得する取得手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段と、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段と、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【図面の簡単な説明】
【0148】
【図1】車両の移動軌跡を示す説明図である。
【図2】自律測位装置のハードウェア構成を示すブロック図である。
【図3】自律測位装置の機能的構成を示すブロック図である。
【図4】初期方位の導出方法を示す説明図である。
【図5】本実施の形態にかかる自律測位装置の自律測位処理手順を示すフローチャートである。
【図6】図5に示した補正処理(ステップS506)の詳細な処理手順を示すフローチャートである。
【図7】補正値算出処理(ステップS601)の詳細な処理手順を示すフローチャートである。
【図8】移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。
【図9】補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(前半)である。
【図10】補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(後半)である。
【図11】車両移動距離算出処理(ステップS903)の詳細な処理手順を示すフローチャートである。
【図12】車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャート(前半)である。
【図13】車両移動方位算出処理(ステップS904)の詳細な処理手順を示すフローチャート(後半)である。
【図14】ゼロ点電圧補正の動作概要を示す波形図である。
【図15】ゼロ点電圧補正値算出処理(ステップS702)の詳細な処理手順を示すフローチャートである。
【図16】相対位置算出処理(ステップS602)の詳細な処理手順を示すフローチャートである。
【図17】初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャート(前半)である。
【図18】初期方位算出処理(ステップS603)の詳細な処理手順を示すフローチャート(後半)である。
【図19】絶対位置算出処理(ステップS604)の詳細な処理手順を示すフローチャートである。
【図20】感度vsのみを算出する場合の移動距離補正値・感度補正値算出処理(ステップS701)の詳細な処理手順を示すフローチャートである。
【図21】感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(前半)である。
【図22】感度vsのみを算出する場合の補正値演算処理(ステップS805)の詳細な処理手順を示すフローチャート(後半)である。
【符号の説明】
【0149】
101 車両
200 自律測位装置
301 取得部
302 判断部
303 補正処理部
304 出力部
331 補正値算出部
332 相対位置算出部
333 初期方位算出部
334 絶対位置算出部
【特許請求の範囲】
【請求項1】
速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧以上であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの移動距離を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項2】
前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする請求項1に記載の自律測位プログラム。
【請求項3】
前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下以上であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記移動距離の補正値を算出することを特徴とする請求項1または2に記載の自律測位プログラム。
【請求項4】
前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする請求項3に記載の自律測位プログラム。
【請求項5】
前記補正値算出手段は、
前記判断結果に基づいて、前記複数の地点の位置情報と、前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、
前記補正処理手段は、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする請求項1に記載の自律測位プログラム。
【請求項6】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が連続通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項7】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する手段、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項8】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記第1〜第3の地点の位置情報と、前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記第3の地点からの移動距離を算出する補正処理手段と、
前記補正処理手段によって得られた前記第3の地点からの移動距離を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【請求項1】
速度センサからの車速パルスに基づいて算出される移動体の移動距離とジャイロセンサからの出力電圧に応じて算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧以上であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記複数の地点のうち最後に通過した地点からの移動距離を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの移動距離を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項2】
前記補正値算出手段は、
前記判断手段により前記出力電圧の変動が所定電圧未満であると判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする請求項1に記載の自律測位プログラム。
【請求項3】
前記判断手段は、
前記ジャイロセンサの温度を検出する温度センサからの前記複数の地点間における検出温度の変動が所定温度以下以上であるか否かを判断し、
前記補正値算出手段は、
前記判断手段によって判断された判断結果に基づいて、前記移動距離の補正値を算出することを特徴とする請求項1または2に記載の自律測位プログラム。
【請求項4】
前記補正値算出手段は、
前記判断手段により前記検出温度の変動が所定温度より高いと判断された場合、前記移動距離の補正値を算出せず、
前記出力手段は、
前記補正値による補正がされていない前記複数の地点のうち最後に通過した地点からの移動距離を出力することを特徴とする請求項3に記載の自律測位プログラム。
【請求項5】
前記補正値算出手段は、
前記判断結果に基づいて、前記複数の地点の位置情報と、前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出し、
前記補正処理手段は、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出し、
前記出力手段は、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力することを特徴とする請求項1に記載の自律測位プログラム。
【請求項6】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が連続通過する複数の地点の位置情報を取得する取得手段、
前記複数の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記複数の地点の位置情報と、前記移動体が前記複数の地点を通過したときの前記複数の地点の前記自律測位による位置情報とにより、前記ジャイロセンサから得られる前記回転角に関する感度の補正値を算出する補正値算出手段、
前記補正値算出手段によって算出された前記感度の補正値を前記感度に加算し、当該加算後の感度と前記出力電圧とに基づいて、前記複数の地点のうち最後に通過した地点からの回転角を算出する補正処理手段、
前記補正処理手段によって得られた前記複数の地点のうち最後に通過した地点からの回転角を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項7】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行するコンピュータを、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する手段、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段、
前記判断された判断結果に基づいて、前記第1〜第3の地点の位置情報に基づく第1の三角形の重心と前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報に基づく第2の三角形の重心とを算出する重心算出処理と、当該重心算出処理によって算出された重心どうしが一致するように、前記第2の三角形を前記第1の三角形に対して平行移動させる座標変換を実行する座標変換処理と、当該座標変換後において前記第2の三角形をその重心を回転中心として回転させたときの前記第1の地点どうしの距離、前記第2の地点どうしの距離、および前記第3の地点どうしの距離の和に基づいて、当該和が最小となる回転量を抽出する回転処理とを、前記判断手段によって判断された判断結果に基づいて実行し、前記回転処理によって抽出された回転量と前記移動体が前記第3の地点に到達したときの回転角とに基づいて、前記移動体が前記第3の地点に到達したときの初期方位を算出する初期方位算出手段、
前記初期方位算出手段によって算出された初期方位と前記第3の地点からの移動距離および回転角とに基づいて、前記移動体の絶対位置および絶対方位を算出する絶対位置・絶対方位算出手段、
前記絶対位置・絶対方位算出手段によって算出された前記移動体の絶対位置および絶対方位を出力する出力手段、
として機能させることを特徴とする自律測位プログラム。
【請求項8】
速度センサからの車速パルスごとに検出される移動体の移動距離とジャイロセンサからの出力電圧に応じた前記車速パルスごとに算出される回転角とにより前記移動体の自律測位を実行する自律測位装置であって、
前記移動体が第1〜第3の地点を通過する際に位置情報を取得する手段と、
前記第1〜第3の地点間における前記出力電圧の変動が所定電圧未満であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記第1〜第3の地点の位置情報と、前記移動体が前記第1〜第3の地点を通過したときの前記第1〜第3の地点の前記自律測位による位置情報とにより、前記移動距離の補正値を算出する補正値算出手段と、
前記補正値算出手段によって算出された補正値を前記移動距離に加算することにより、前記第3の地点からの移動距離を算出する補正処理手段と、
前記補正処理手段によって得られた前記第3の地点からの移動距離を出力する出力手段と、
を備えることを特徴とする自律測位装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2010−127919(P2010−127919A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−306785(P2008−306785)
【出願日】平成20年12月1日(2008.12.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年12月1日(2008.12.1)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]