(57)【要約】【課題】移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる走行制御装置を提供する。【解決手段】走行制御装置１０は、移動体２の位置を推定する自己位置推定器１１と、磁気ガイド線５を検出する磁気ガイドセンサ１２と、移動体２を仮想ガイド線４に沿って走行させるように走行モータ１９及び操舵モータ２０を制御すると共に、移動体２を磁気ガイド線５に沿って走行させるように走行モータ１９及び操舵モータ２０を制御する走行制御部２５と、移動体２の走行区間が仮想ガイド線４が設定された仮想誘導区間Ｐから磁気ガイド線５が設置された磁気誘導区間Ｑに切り替わっても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときに、移動体２を減速させるように走行モータ１９を制御する速度制御部２６とを備える。【選択図】図２
2020107067.tif 000002
【特許請求の範囲】
【請求項１】
データ上で仮想的に設定された仮想ガイド線と、データ上で前記仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有する走行経路に沿って移動体を自動的に走行させる走行制御装置であって、
前記走行経路の位置を記憶する記憶部と、
前記移動体の位置を推定する位置推定部と、
前記記憶部に記憶された前記仮想ガイド線の位置と前記位置推定部により推定された前記移動体の位置とに基づいて、前記仮想ガイド線と前記移動体とのずれ量を算出する第１算出部と、
前記実ガイド線を検出する検出部と、
前記検出部の検出値に基づいて、前記実ガイド線と前記移動体とのずれ量を算出する第２算出部と、
前記第１算出部により算出された前記仮想ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記移動体の駆動部を制御すると共に、前記第２算出部により算出された前記実ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御する走行制御部と、
前記移動体の走行区間が前記仮想ガイド線が設定された第１誘導区間から前記実ガイド線が設置された第２誘導区間に切り替わっても、前記検出部により前記実ガイド線が検出されないときに、前記移動体を減速させるように前記駆動部を制御する速度制御部とを備える走行制御装置。
【請求項２】
前記速度制御部は、前記移動体を減速させるように前記駆動部を制御した後、前記検出部により前記実ガイド線が検出されたときは、前記移動体を加速させるように前記駆動部を制御する請求項１記載の走行制御装置。
【請求項３】
前記速度制御部は、前記移動体が前記第１誘導区間と前記第２誘導区間との切替地点から規定距離だけ走行しても、前記検出部により前記実ガイド線が検出されないときに、前記移動体を減速させるように前記駆動部を制御する請求項１または２記載の走行制御装置。
【請求項４】
前記実ガイド線は、磁気ガイド線であり、
前記検出部は、前記磁気ガイド線を検出する磁気センサである請求項１〜３の何れか一項記載の走行制御装置。
【請求項５】
移動体を走行経路に沿って自動的に走行させる走行制御装置を具備した走行制御システムであって、
前記走行経路は、データ上で仮想的に設定された仮想ガイド線と、データ上で前記仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有し、
前記走行制御装置は、
前記走行経路の位置を記憶する記憶部と、
前記移動体の位置を推定する位置推定部と、
前記記憶部に記憶された前記仮想ガイド線の位置と前記位置推定部により推定された前記移動体の位置とに基づいて、前記仮想ガイド線と前記移動体とのずれ量を算出する第１算出部と、
前記実ガイド線を検出する検出部と、
前記検出部の検出値に基づいて、前記実ガイド線と前記移動体とのずれ量を算出する第２算出部と、
前記第１算出部により算出された前記仮想ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記移動体の駆動部を制御すると共に、前記第２算出部により算出された前記実ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御する走行制御部と、
前記移動体の走行区間が前記仮想ガイド線が設定された第１誘導区間から前記実ガイド線が設置された第２誘導区間に切り替わっても、前記検出部により前記実ガイド線が検出されないときに、前記移動体を減速させるように前記駆動部を制御する速度制御部とを備える走行制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行制御装置及び走行制御システムに関する。
【背景技術】
【０００２】
従来の走行制御装置としては、例えば特許文献１に記載されているような技術が知られている。特許文献１に記載の走行制御装置は、装置本体と、この装置本体を走行させる走行部とを備えている。装置本体は、回転ファンビームを射出するｉＧＰＳトランスミッタを用いて装置本体の位置を推定する第１位置推定部と、画像処理用のＣＣＤカメラ、赤外線カメラ及びレーザレンジファインダ等のセンサにより取得されたデータと地図情報とをマッチングして装置本体の位置を推定する第２位置推定部と、装置本体の位置情報を取得する手段を第１位置推定部と第２位置推定部との間で切り替えて、走行部を制御することにより、装置本体を所定のルートに沿って進行させる制御部とを有している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１６１５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、移動体を走行経路に沿って走行させる際に、例えば自己位置推定技術を用いて移動体の位置を推定し、その推定結果に基づいて移動体を仮想ガイド線に沿って走行させる誘導方式と、床面に設置された実ガイド線をセンサで検出し、その検出結果に基づいて移動体を実ガイド線に沿って走行させる誘導方式とを切り替えることがある。この場合、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、実ガイド線がセンサにより検出されないと、移動体を実ガイド線に沿って走行させることができない。
【０００５】
本発明の目的は、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる走行制御装置及び走行制御システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、データ上で仮想的に設定された仮想ガイド線と、データ上で仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有する走行経路に沿って移動体を自動的に走行させる走行制御装置であって、走行経路の位置を記憶する記憶部と、移動体の位置を推定する位置推定部と、記憶部に記憶された仮想ガイド線の位置と位置推定部により推定された移動体の位置とに基づいて、仮想ガイド線と移動体とのずれ量を算出する第１算出部と、実ガイド線を検出する検出部と、検出部の検出値に基づいて、実ガイド線と移動体とのずれ量を算出する第２算出部と、第１算出部により算出された仮想ガイド線と移動体とのずれ量に基づいて、移動体を仮想ガイド線に沿って走行させるように移動体の駆動部を制御すると共に、第２算出部により算出された実ガイド線と移動体とのずれ量に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御する走行制御部と、移動体の走行区間が仮想ガイド線が設定された第１誘導区間から実ガイド線が設置された第２誘導区間に切り替わっても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御する速度制御部とを備える。
【０００７】
このような走行制御装置においては、移動体が第１誘導区間を走行するときは、位置推定部により移動体の位置が推定され、仮想ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を仮想ガイド線に沿って走行させるように駆動部が制御される。その後、移動体が第２誘導区間を走行するときは、検出部により実ガイド線が検出され、実ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を実ガイド線に沿って走行させるように駆動部が制御される。ここで、移動体の走行区間が第１誘導区間から第２誘導区間に切り替わっても、検出部により実ガイド線が検出されないときは、移動体を減速させるように駆動部を制御することにより、位置推定部により単位距離当たりに実施される位置推定の回数が増えることになる。従って、位置推定部による単位距離当たりの位置の推定精度が高くなるため、検出部が実ガイド線に重なりやすくなり、検出部により実ガイド線が検出されやすくなる。これにより、移動体の走行区間が第１誘導区間から第２誘導区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【０００８】
速度制御部は、移動体を減速させるように駆動部を制御した後、検出部により実ガイド線が検出されたときは、移動体を加速させるように駆動部を制御してもよい。このような構成では、移動体が減速した後に、検出部により実ガイド線が検出されたときは、移動体の走行速度が上昇するため、移動体を目的地点に早く到達させることができる。
【０００９】
速度制御部は、移動体が第１誘導区間と第２誘導区間との切替地点から規定距離だけ走行しても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御してもよい。このような構成では、移動体を実ガイド線に沿って走行させる誘導方式を実施できない状態であることを容易に且つ確実に検知することができる。
【００１０】
実ガイド線は、磁気ガイド線であり、検出部は、磁気ガイド線を検出する磁気センサであってもよい。このような構成では、走行制御装置及び実ガイド線を具備したシステムを低コストで実現することができる。
【００１１】
本発明の他の態様は、移動体を走行経路に沿って自動的に走行させる走行制御装置を具備した走行制御システムであって、走行経路は、データ上で仮想的に設定された仮想ガイド線と、データ上で仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有し、走行制御装置は、走行経路の位置を記憶する記憶部と、移動体の位置を推定する位置推定部と、記憶部に記憶された仮想ガイド線の位置と位置推定部により推定された移動体の位置とに基づいて、仮想ガイド線と移動体とのずれ量を算出する第１算出部と、実ガイド線を検出する検出部と、検出部の検出値に基づいて、実ガイド線と移動体とのずれ量を算出する第２算出部と、第１算出部により算出された仮想ガイド線と移動体とのずれ量に基づいて、移動体を仮想ガイド線に沿って走行させるように移動体の駆動部を制御すると共に、第２算出部により算出された実ガイド線と移動体とのずれ量に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御する走行制御部と、移動体の走行区間が仮想ガイド線が設定された第１誘導区間から実ガイド線が設置された第２誘導区間に切り替わっても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御する速度制御部とを備える。
【００１２】
このような走行制御システムにおいては、移動体が第１誘導区間を走行するときは、位置推定部により移動体の位置が推定され、仮想ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を仮想ガイド線に沿って走行させるように駆動部が制御される。その後、移動体が第２誘導区間を走行するときは、検出部により実ガイド線が検出され、実ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を実ガイド線に沿って走行させるように駆動部が制御される。ここで、移動体の走行区間が第１誘導区間から第２誘導区間に切り替わっても、検出部により実ガイド線が検出されないときは、移動体を減速させるように駆動部を制御することにより、位置推定部により単位距離当たりに実施される位置推定の回数が増えることになる。従って、位置推定部による単位距離当たりの位置の推定精度が高くなるため、検出部が実ガイド線に重なりやすくなり、検出部により実ガイド線が検出されやすくなる。これにより、移動体の走行区間が第１誘導区間から第２誘導区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【発明の効果】
【００１３】
本発明によれば、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る走行制御システムを示す概略構成図である。
【図２】図１に示された走行制御装置の構成を示すブロック図である。
【図３】図２に示された走行制御部により実行される制御処理手順の詳細を示すフローチャートである。
【図４】図２に示された速度制御部により実行される制御処理手順の詳細を示すフローチャートである。
【図５】移動体の走行区間が仮想誘導区間から磁気誘導区間に切り替わるときに、移動体が走行する様子と自己位置推定器による移動体の推定結果算出位置とを示す概念図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１６】
図１は、本発明の一実施形態に係る走行制御システムを示す概略構成図である。図１において、本実施形態の走行制御システム１は、例えばフォークリフト等の移動体２をスタート地点３Ａから目的地点３Ｂまで無人で走行させるシステムである。走行制御システム１は、移動体２をスタート地点３Ａから目的地点３Ｂまでの走行経路３に沿って自動的に走行させる走行制御装置１０を具備している。
【００１７】
走行経路３は、データ上で仮想的に設定された仮想ガイド線４と、床面に実際に設置され、物理的に検出可能な実ガイド線である磁気ガイド線５とを有している。磁気ガイド線５は、データ上で仮想ガイド線４に後続するように仮想ガイド線４よりも目的地点３Ｂ側に設置されている。
【００１８】
仮想ガイド線４が設定された区間は、移動体２を仮想ガイド線４に沿って走行させる仮想誘導方式が実施される仮想誘導区間Ｐ（第１誘導区間）である。磁気ガイド線５が設置された区間は、移動体２を磁気ガイド線５に沿って走行させる磁気誘導方式が実施される磁気誘導区間Ｑ（第２誘導区間）である。
【００１９】
スタート地点３Ａ及び目的地点３Ｂを含む走行経路３の位置は、２次元座標（ＸＹ座標）で表されている。ここでは、スタート地点３Ａの２次元座標は、（０，０）である。目的地点３Ｂの２次元座標は、（１００，０）である。なお、図１では、走行経路３は、直線経路となっているが、曲線経路であってもよい。
【００２０】
仮想誘導区間Ｐには、仮想マーク６が設定されている。磁気誘導区間Ｑの床面には、磁気マーク７が設置されている。仮想マーク６及び磁気マーク７は、移動体２が走行を行うための走行指示データを関連付けた走行指示用マーク８である。仮想マーク６は、データ上で仮想的に設定されたマークである。磁気マーク７は、物理的に検出可能なマークである。磁気マーク７は、床面における磁気ガイド線５の脇に埋設されている。ここでは、スタート地点３Ａから１つ目（１番）の走行指示用マーク８は、仮想マーク６である。スタート地点３Ａから２つ目（２番）及び３つ目（３番）の走行指示用マーク８は、磁気マーク７である。
【００２１】
図２は、走行制御装置１０の構成を示すブロック図である。図２において、走行制御装置１０は、移動体２に搭載されている。走行制御装置１０は、自己位置推定器１１と、２つの磁気ガイドセンサ１２と、磁気マークセンサ１３と、自動走行制御ユニット１４とを備えている。
【００２２】
自己位置推定器１１は、移動体２の位置を推定する位置推定部である。自己位置推定器１１は、ＳＬＡＭ（simultaneous localization andmapping）手法を用いて、移動体２の自己位置を推定する。ＳＬＡＭは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。ＳＬＡＭは、レーザレンジスキャナー等を利用して、自己位置推定と環境地図の作成とを同時に行う。
【００２３】
自己位置推定器１１は、レーザセンサ１５と、エンコーダ１６と、ジャイロセンサ１７と、ＳＬＡＭコントローラ１８とを有している。レーザセンサ１５は、移動体２の周囲にレーザ光を照射し、その反射光を受光することにより、移動体２の周囲の物体までの距離を検出する。エンコーダ１６は、移動体２の位置を計測することにより、移動体２の移動量を検出する。ジャイロセンサ１７は、移動体２の角速度を計測することにより、移動体２の回動量を検出する。
【００２４】
ＳＬＡＭコントローラ１８は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。ＳＬＡＭコントローラ１８は、レーザセンサ１５により検出された移動体２の周囲の物体までの距離と移動体２の周囲の環境地図データとに基づいて、移動体２の自己位置の推定演算を行う。移動体２の位置は、２次元座標（ＸＹ座標）及び向きで表される。
【００２５】
このとき、ＳＬＡＭコントローラ１８は、エンコーダ１６により検出された移動体２の移動量とジャイロセンサ１７により検出された移動体２の回動量とに基づき、例えばパーティクルフィルタ（逐次モンテカルロ法）と呼ばれる時系列データの予測手法を用いて、移動体２の自己位置を確率的に推定する。
【００２６】
パーティクルフィルタでは、現状態から起こりうる多数の次状態を多数のパーティクル（粒子）で表現し、全パーティクルの尤度（追跡したい対象物らしさ）に従って算出された重みつき平均を次状態であると推測して追跡を行う。
【００２７】
具体的には、まず前フレームでの尤度（重み）に従って、パーティクルを撒き直す（リサンプリングステップ）。続いて、適当なモデルを使って現フレームにおける追跡対象の位置を推定し、パーティクルを少し動かす（推定ステップ）。続いて、現フレームにおける各パーティクルの尤度及び重み（正規化）を計算する（観測ステップ）。このとき、推定結果から得られた実際の追跡対象の位置に近いパーティクルの重みを大きくする。そして、重みが大きいパーティクルが集中している領域が追跡対象となる。
【００２８】
磁気ガイドセンサ１２は、移動体２の下部の前後にそれぞれ取り付けられている（図５参照）。なお、図５では、磁気ガイドセンサ１２の位置が概略的に示されている。磁気ガイドセンサ１２は、磁気ガイド線５を検出する磁気センサ（検出部）である。磁気ガイドセンサ１２は、移動体２の幅方向（左右方向）に延びている。磁気ガイドセンサ１２を移動体２に前後２つ設けることにより、移動体２と磁気ガイド線５との位置のずれ量だけでなく、移動体２と磁気ガイド線５との向きのずれ量も検知することができる。
【００２９】
磁気ガイドセンサ１２は、磁気ガイド線５に重なる位置に応じた電気信号を検出値として出力する。例えば、磁気ガイドセンサ１２の長手方向の中央部が磁気ガイド線５に重なる状態と、磁気ガイドセンサ１２の長手方向の端部が磁気ガイド線５に重なる状態とで、磁気ガイドセンサ１２の出力値（検出値）が異なる。従って、磁気ガイドセンサ１２の検出値によって、磁気ガイドセンサ１２と磁気ガイド線５との位置関係を判定することが可能である。
【００３０】
磁気マークセンサ１３は、特に図示はしないが、移動体２の下部に取り付けられている。磁気マークセンサ１３は、磁気マーク７を検出する磁気センサである。
【００３１】
自動走行制御ユニット１４は、自己位置推定器１１により推定された移動体２の位置と磁気ガイドセンサ１２及び磁気マークセンサ１３の検出値とに基づいて、所定の処理を行い、移動体２をスタート地点３Ａから目的地点３Ｂまで自動的に走行させるように走行モータ１９及び操舵モータ２０を制御する。
【００３２】
走行モータ１９は、走行輪（図示せず）を回転駆動させるモータである。操舵モータ２０は、操舵輪（図示せず）を回転駆動させるモータである。走行モータ１９及び操舵モータ２０は、移動体２の駆動部を構成している。
【００３３】
自動走行制御ユニット１４は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。自動走行制御ユニット１４は、記憶部２１と、第１ずれ量算出部２２（第１算出部）と、仮想マーク検知部２３と、第２ずれ量算出部２４（第２算出部）と、走行制御部２５と、速度制御部２６とを有している。
【００３４】
記憶部２１は、走行経路３及び走行指示用マーク８の位置と走行指示データ等といった移動体２の走行に関する情報を記憶する。記憶部２１は、走行経路３及び走行指示用マーク８の位置を２次元座標として記憶している。走行指示データは、上述したように走行指示用マーク８に関連付けられている。走行指示データとしては、例えば加速指示、停止指示、右折指示及び左折指示等がある。
【００３５】
第１ずれ量算出部２２は、記憶部２１に記憶された仮想ガイド線４の位置と自己位置推定器１１により推定された移動体２の位置とに基づいて、仮想ガイド線４と移動体２とのずれ量を算出する。このとき、第１ずれ量算出部２２は、仮想ガイド線４の位置座標と移動体２の位置座標とのずれ量と、仮想ガイド線４の向きと移動体２の向きとのずれ量とを算出する。
【００３６】
仮想マーク検知部２３は、記憶部２１に記憶された仮想マーク６の位置と自己位置推定器１１により推定された移動体２の位置とに基づいて、仮想マーク６を検知する。具体的には、仮想マーク検知部２３は、２次元座標上において移動体２が仮想マーク６に重なったとき、または２次元座標上において移動体２が仮想マーク６を通過したときに、仮想マーク６が検知されたと判定する。
【００３７】
第２ずれ量算出部２４は、磁気ガイドセンサ１２の検出値に基づいて、磁気ガイド線５と移動体２とのずれ量を算出する。このとき、第２ずれ量算出部２４は、磁気ガイド線５の位置座標と移動体２の位置座標とのずれ量と、磁気ガイド線５の向きと移動体２の向きとのずれ量とを算出する。
【００３８】
走行制御部２５は、第１ずれ量算出部２２により算出された仮想ガイド線４と移動体２とのずれ量に基づいて、移動体２を仮想ガイド線４に沿って走行させるように走行モータ１９及び操舵モータ２０を制御する。また、走行制御部２５は、第２ずれ量算出部２４により算出された磁気ガイド線５と移動体２とのずれ量に基づいて、移動体２を磁気ガイド線５に沿って走行させるように走行モータ１９及び操舵モータ２０を制御する。
【００３９】
さらに、走行制御部２５は、仮想マーク検知部２３により仮想マーク６が検知されたときに、当該仮想マーク６に関連付けられた走行指示データに従って移動体２を走行させるように走行モータ１９及び操舵モータ２０を制御する。また、走行制御部２５は、磁気マークセンサ１３により磁気マーク７が検出されたときに、当該磁気マーク７に関連付けられた走行指示データに従って移動体２を走行させるように走行モータ１９及び操舵モータ２０を制御する。
【００４０】
速度制御部２６は、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わっても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときに、移動体２を減速させるように走行モータ１９を制御する。また、速度制御部２６は、移動体２を減速させるように走行モータ１９を制御した後、磁気ガイドセンサ１２により磁気ガイド線５が検出されたときは、移動体２を加速させるように走行モータ１９を制御する。
【００４１】
図３は、走行制御部２５により実行される制御処理手順の詳細を示すフローチャートである。本処理は、スタート地点３Ａから目的地点３Ｂに向けての移動体２の走行が開始されると、実行される。
【００４２】
図３において、走行制御部２５は、まず後述する誘導方式切替フラグが０であるかどうかを判断する（手順Ｓ１０１）。走行制御部２５は、誘導方式切替フラグが０であると判断したときは、仮想マーク検知部２３により仮想マーク６が検知されたかどうかを判断する（手順Ｓ１０２）。
【００４３】
走行制御部２５は、仮想マーク６が検知されたと判断したときは、当該仮想マーク６に相当する走行指示用マーク８の番号に対応した走行指示データを記憶部２１から取得する（手順Ｓ１０３）。そして、走行制御部２５は、取得した走行指示データに応じた制御信号を走行モータ１９及び操舵モータ２０に出力する（手順Ｓ１０４）。走行制御部２５は、例えば取得した走行指示データが加速指示である場合には、走行モータ１９の回転速度を高くするような制御信号を走行モータ１９に出力する。これにより、移動体２の走行速度が上昇するようになる。
【００４４】
走行制御部２５は、手順Ｓ１０４が実行された後、または手順Ｓ１０２で仮想マーク６が検知されていないと判断したときは、第１ずれ量算出部２２により算出された仮想ガイド線４と移動体２とのずれ量を取得する（手順Ｓ１０５）。そして、走行制御部２５は、仮想ガイド線４と移動体２とのずれ量が０となるような制御信号を走行モータ１９及び操舵モータ２０に出力する（手順Ｓ１０６）。これにより、移動体２の位置座標及び向きが仮想ガイド線４に近づくようになる。
【００４５】
走行制御部２５は、手順Ｓ１０１で誘導方式切替フラグが０でない、つまり誘導方式切替フラグが１であると判断したときは、磁気マークセンサ１３により磁気マーク７が検出されたかどうかを判断する（手順Ｓ１０７）。
【００４６】
走行制御部２５は、磁気マーク７が検出されたと判断したときは、当該磁気マーク７に相当する走行指示用マーク８の番号に対応した走行指示データを記憶部２１から取得する（手順Ｓ１０８）。そして、走行制御部２５は、取得した走行指示データに応じた制御信号を走行モータ１９及び操舵モータ２０に出力する（手順Ｓ１０９）。走行制御部２５は、例えば取得した走行指示データが停止指示である場合には、走行モータ１９の回転を停止させるような制御信号を走行モータ１９に出力する。これにより、移動体２が停止するようになる。
【００４７】
走行制御部２５は、手順Ｓ１０９が実行された後、または手順Ｓ１０７で磁気マーク７が検出されていないと判断したときは、第２ずれ量算出部２４により算出された磁気ガイド線５と移動体２とのずれ量を取得する（手順Ｓ１１０）。そして、走行制御部２５は、磁気ガイド線５と移動体２とのずれ量が０となるような制御信号を走行モータ１９及び操舵モータ２０に出力する（手順Ｓ１１１）。これにより、移動体２の位置座標及び向きが磁気ガイド線５に近づくようになる。
【００４８】
走行制御部２５は、手順Ｓ１０６または手順Ｓ１１１が実行された後、移動体２が目的地点３Ｂに達したかどうかを判断する（手順Ｓ１１２）。走行制御部２５は、移動体２が目的地点３Ｂに達していないと判断したときは、手順Ｓ１０１を再び実行する。走行制御部２５は、移動体２が目的地点３Ｂに達したと判断したときは、本処理を終了する。
【００４９】
図４は、速度制御部２６により実行される制御処理手順の詳細を示すフローチャートである。本処理も、走行制御部２５と同様に、スタート地点３Ａから目的地点３Ｂに向けての移動体２の走行が開始されると、実行される。なお、本処理の実行前は、誘導方式切替フラグは０にセットされている。
【００５０】
図４において、速度制御部２６は、まず自己位置推定器１１により推定された移動体２の位置を取得する（手順Ｓ１２１）。続いて、速度制御部２６は、移動体２の推定位置に基づいて、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わったかどうかを判断する（手順Ｓ１２２）。速度制御部２６は、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わっていないと判断したときは、手順Ｓ１２１を再び実行する。
【００５１】
速度制御部２６は、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わったと判断したときは、磁気ガイドセンサ１２の検出値に基づいて、磁気ガイドセンサ１２により磁気ガイド線５が検出されたかどうかを判断する（手順Ｓ１２３）。
【００５２】
このとき、速度制御部２６は、磁気ガイドセンサ１２の長手方向の中心を０、磁気ガイドセンサ１２の長手方向の両端を１としたときに、例えば磁気ガイドセンサ１２における比率が０．７以下となる領域が磁気ガイド線５に重なるときに、磁気ガイド線５が検出されたと判定する。これにより、磁気ガイドセンサ１２により磁気ガイド線５が検出されたかどうかを正確に判定することができる。
【００５３】
速度制御部２６は、磁気ガイドセンサ１２により磁気ガイド線５が検出されたと判断したときは、誘導方式切替フラグを１にセットする（手順Ｓ１２４）。誘導方式切替フラグは、移動体２の誘導方式を仮想誘導方式から磁気誘導方式に切り替えるためのフラグである。
【００５４】
速度制御部２６は、磁気ガイドセンサ１２により磁気ガイド線５が検出されていないと判断したときは、移動体２が仮想誘導区間Ｐと磁気誘導区間Ｑとの切替地点Ｒ（図１参照）から規定距離（例えば数ｍ）だけ走行したかどうかを判断する（手順Ｓ１２５）。
【００５５】
速度制御部２６は、移動体２が切替地点Ｒから規定距離だけ走行したと判断したときは、移動体２を減速させるような制御信号を走行モータ１９に出力する（手順Ｓ１２６）。このとき、速度制御部２６は、例えば移動体２の走行速度を１／２以下とするような制御信号を走行モータ１９に出力する。これにより、移動体２の走行速度が下がるようになる。
【００５６】
その後、速度制御部２６は、磁気ガイドセンサ１２の検出値に基づいて、磁気ガイドセンサ１２により磁気ガイド線５が検出されたかどうかを判断する（手順Ｓ１２７）。速度制御部２６は、磁気ガイドセンサ１２により磁気ガイド線５が検出されたと判断したときは、移動体２を加速させるような制御信号を走行モータ１９に出力する（手順Ｓ１２８）。このとき、速度制御部２６は、移動体２が減速する直前の速度まで移動体２を加速させるような制御信号を走行モータ１９に出力する。この場合には、移動体２は、減速直前と同じ走行条件で走行することになる。そして、速度制御部２６は、誘導方式切替フラグを１にセットする（手順Ｓ１２４）。
【００５７】
以上のように構成された走行制御システム１において、移動体２は、まず仮想誘導区間Ｐにおいて仮想誘導方式に従って走行する。つまり、移動体２は、自己位置推定器１１により推定された移動体２の位置に基づき、仮想ガイド線４に沿って走行する。その後、移動体２は、磁気誘導区間Ｑにおいて磁気誘導方式に従って走行する。つまり、移動体２は、磁気ガイドセンサ１２の検出値に基づき、磁気ガイド線５に沿って走行する。ここで、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替えられたときは、移動体２の誘導方式を一定区間で仮想誘導方式から磁気誘導方式に切り替える必要がある。
【００５８】
しかし、図５（ａ）に示されるように、磁気ガイドセンサ１２が磁気ガイド線５上に無いと、磁気ガイドセンサ１２により磁気ガイド線５が検出されないため、移動体２の誘導方式を磁気誘導方式に切り替えることができない。このため、移動体２が磁気誘導区間Ｑを走行しているにも関わらず、磁気ガイド線５を仮想ガイド線と仮定して、仮想誘導方式が実施されることになる。この場合、自己位置推定器１１による移動体２の位置推定の計算には時間がかかるため、移動体２の誘導方式を所望の区間で磁気誘導方式に切り替えることは困難である。
【００５９】
そこで、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わっても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときは、移動体２を減速させるようにする。つまり、仮想誘導区間Ｐと磁気誘導区間Ｑにおける最初の区間とは、移動体２が通常速度で走行する通常速度区間Ｖ１である。磁気誘導区間Ｑにおける通常速度区間Ｖ１よりも後の区間は、移動体２が低速で走行する低速区間Ｖ２となる。なお、その後で移動体２を加速させたときは、磁気誘導区間Ｑにおける低速区間Ｖ２よりも後の区間は、再び通常速度区間Ｖ１となる。
【００６０】
このように移動体２を減速させることにより、図５（ｂ）に示されるように、低速区間Ｖ２では、通常速度区間Ｖ１に比べて、自己位置推定器１１により単位距離当たりに実施される位置推定の回数が増えることになる。従って、自己位置推定器１１による単位距離当たりの位置の推定精度が高くなるため、磁気ガイドセンサ１２が磁気ガイド線５に重なる確率が高くなる。その理由は、以下の通りである。
【００６１】
即ち、上述したように位置推定演算としてパーティクルフィルタを用いる場合は、推定ステップにおいてパーティクルを移動させる必要があるが、パーティクルの移動量はエンコーダ１６及びジャイロセンサ１７の検出値で決まる。このとき、推定位置の間隔が短いほど、エンコーダ１６及びジャイロセンサ１７の検出値の誤差量が少なくなるため、位置の推定精度が高くなる。また、推定位置の間隔が短いほど、推定位置付近での確率密度分布が真値に近づくため、位置の推定精度が高くなる。
【００６２】
以上のように本実施形態によれば、移動体２が仮想誘導区間Ｐを走行するときは、自己位置推定器１１により移動体２の位置が推定され、仮想ガイド線４と移動体２とのずれ量が算出され、そのずれ量に基づいて移動体２を仮想ガイド線４に沿って走行させるように走行モータ１９及び操舵モータ２０が制御される。その後、移動体２が磁気誘導区間Ｑを走行するときは、磁気ガイドセンサ１２により磁気ガイド線５が検出され、磁気ガイド線５と移動体２とのずれ量が算出され、そのずれ量に基づいて移動体２を磁気ガイド線５に沿って走行させるように走行モータ１９及び操舵モータ２０が制御される。ここで、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わっても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときは、移動体２を減速させるように走行モータ１９を制御することにより、自己位置推定器１１により単位距離当たりに実施される位置推定の回数が増えることになる。従って、自己位置推定器１１による単位距離当たりの位置の推定精度が高くなるため、磁気ガイドセンサ１２が磁気ガイド線５に重なりやすくなり、磁気ガイドセンサ１２により磁気ガイド線５が検出されやすくなる。これにより、移動体２の走行区間が仮想誘導区間Ｐから磁気誘導区間Ｑに切り替わったときに、移動体２を確実に磁気ガイド線５に沿って走行させることができる。
【００６３】
また、本実施形態では、移動体２が減速した後に、磁気ガイドセンサ１２により磁気ガイド線５が検出されたときは、移動体２を加速させることにより、移動体２の走行速度が上昇するため、移動体２を目的地点３Ｂに早く到達させることができる。
【００６４】
また、本実施形態では、移動体２が仮想誘導区間Ｐと磁気誘導区間Ｑとの切替地点Ｒから規定距離だけ走行しても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときに、移動体２を減速させるので、移動体２を磁気ガイド線５に沿って走行させる磁気誘導方式を実施できない状態であることを容易に且つ確実に検知することができる。
【００６５】
また、本実施形態では、床面に磁気ガイド線５を設置し、その磁気ガイド線５を磁気ガイドセンサ１２により検出することにより、走行制御システム１を低コストで実現することができる。
【００６６】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、移動体２が仮想誘導区間Ｐと磁気誘導区間Ｑとの切替地点Ｒから規定距離だけ走行しても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときに、移動体２を減速させているが、特にその形態には限られず、移動体２の走行速度が予め決まっているのであれば、移動体２が仮想誘導区間Ｐと磁気誘導区間Ｑとの切替地点Ｒから所定時間だけ走行しても、磁気ガイドセンサ１２により磁気ガイド線５が検出されないときに、移動体２を減速させてもよい。
【００６７】
また、上記実施形態では、移動体２を減速させた後、磁気ガイドセンサ１２により磁気ガイド線５が検出されたときは、移動体２が減速する直前の速度まで移動体２を加速させているが、特にその形態には限られず、移動体２が減速する直前の速度よりも高い速度まで移動体２を加速させてもよいし、或いは移動体２が減速する直前の速度よりも低い速度まで移動体２を加速させてもよい。また、移動体２を減速させた後に、磁気ガイドセンサ１２により磁気ガイド線５が検出されても、移動体２を加速させなくてもよい。
【００６８】
また、上記実施形態では、磁気ガイド線５が物理的に検出可能な実ガイド線として床面に設置されているが、実ガイド線としては特にそれには限られず、例えば電磁ガイド線等であってもよい。実ガイド線としては電磁ガイド線を用いる場合は、電磁ガイド線を検出する電磁センサが使用される。
【００６９】
また、上記実施形態では、自己位置推定器１１は、自己位置推定技術としてレーザを利用したＳＬＡＭ手法を用いて、移動体２の位置を推定しているが、自己位置推定技術としては、特にそれには限られず、カメラの撮像画像を利用したＳＬＡＭ手法または衛星を利用したＧＮＳＳ（globalnavigation satellite system）測位法等を用いてもよい。
【００７０】
また、上記実施形態の走行制御装置１０は、移動体２としてフォークリフトを走行経路３に沿って自動的に走行させる装置であるが、本発明は、例えば搬送台車等のような自動走行可能な移動体全般に適用可能である。
【符号の説明】
【００７１】
１…走行制御システム、２…移動体、３…走行経路、４…仮想ガイド線、５…磁気ガイド線（実ガイド線）、１０…走行制御装置、１１…自己位置推定器（位置推定部）、１２…磁気ガイドセンサ（磁気センサ、検出部）、１９…走行モータ（駆動部）、２０…操舵モータ（駆動部）、２１…記憶部、２２…第１ずれ量算出部（第１算出部）、２４…第２ずれ量算出部（第２算出部）、２５…走行制御部、２６…速度制御部、Ｐ…仮想誘導区間（第１誘導区間）、Ｑ…磁気誘導区間（第２誘導区間）、Ｒ…切替地点。
【図１】
2020107067.tif 000003
【図２】
2020107067.tif 000004
【図３】
2020107067.tif 000005
【図４】
2020107067.tif 000006
【図５】
2020107067.tif 000007