(57)【要約】      （修正有）【課題】移動体の位置推定を行う場合に、移動体の位置を正しくリセットすることにより、移動体の位置の推定精度を向上させることができる走行制御システムを提供する。【解決手段】走行制御システム１は、移動体２を走行させる走行制御装置４と、床面に設置された複数のリセット指示マーク７とを具備し、走行制御装置４は、移動体２の位置を推定する位置推定ユニットと、リセット指示マーク７が検出されたときに、リセット指示マーク７の位置を移動体２のリセット位置として設定するリセット位置設定部とを備え、位置推定ユニットは、移動体２のリセット位置に基づいて移動体２の位置をリセットし、リセット位置設定部は、移動体２の位置のリセットが失敗したと判定したときは、次のリセット指示マーク７が検出されると、次のリセット指示マーク７の位置を移動体２のリセット位置として設定する。【選択図】図１
2020113204.tif 000002
【特許請求の範囲】
【請求項１】
移動体を走行経路に沿って走行させる走行制御装置と、
前記走行経路に沿うように床面に設置され、前記移動体の位置のリセットを指示するための複数のリセット指示マークとを具備し、
前記走行制御装置は、
前記移動体の位置を推定する位置推定部と、
前記リセット指示マークの位置を記憶する記憶部と、
前記位置推定部により得られた前記移動体の推定位置に基づいて、前記移動体を前記走行経路に沿って走行させるように前記移動体の駆動部を制御する走行制御部と、
前記リセット指示マークを検出するマーク検出部と、
前記マーク検出部により前記リセット指示マークが検出されたときに、前記リセット指示マークの位置を前記移動体のリセット位置として設定するリセット位置設定部とを備え、
前記位置推定部は、前記リセット位置設定部により設定された前記移動体のリセット位置に基づいて、前記移動体の位置をリセットし、
前記リセット位置設定部は、前記移動体のリセット位置と前記位置推定部により得られた前記移動体の推定位置とを比較して、前記移動体の位置のリセットが成功したか失敗したかどうかを判定し、前記移動体の位置のリセットが失敗したと判定したときは、前記マーク検出部により次の前記リセット指示マークが検出されると、前記次のリセット指示マークの位置を前記移動体のリセット位置として設定する走行制御システム。
【請求項２】
前記走行制御装置は、前記リセット位置設定部により前記移動体のリセット位置が設定されたときに、前記移動体を減速させるように前記駆動部を制御する減速制御部を更に備え、
前記リセット位置設定部は、前記移動体の位置のリセットが成功したと判定したときは、前記マーク検出部により前記次のリセット指示マークが検出されても、前記移動体のリセット位置を設定しない請求項１記載の走行制御システム。
【請求項３】
前記リセット位置設定部は、前記リセット位置と前記推定位置との差分の絶対値が規定値以下であるかどうかを判断し、前記リセット位置と前記推定位置との差分の絶対値が前記規定値以下であるときに、前記移動体の位置のリセットが成功したと判定する請求項１または２記載の走行制御システム。
【請求項４】
前記走行経路は、床面に設置され、物理的に検出可能な実ガイド線と、データ上で前記実ガイド線に後続するように仮想的に設定された仮想ガイド線とを有し、
前記走行制御装置は、前記実ガイド線を検出するガイド検出部を更に備え、
前記記憶部は、前記リセット指示マーク及び前記仮想ガイド線の位置を記憶し、
前記走行制御部は、前記ガイド検出部の検出値に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御すると共に、前記位置推定部により得られた前記移動体の推定位置に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記駆動部を制御し、
前記複数のリセット指示マークは、前記実ガイド線に沿うように床面に設置されている請求項１〜３の何れか一項記載の走行制御システム。
【請求項５】
前記実ガイド線は、磁気ガイド線であり、
前記リセット指示マークは、磁気マークであり、
前記ガイド検出部及び前記マーク検出部は、磁気センサである請求項４記載の走行制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行制御システムに関する。
【背景技術】
【０００２】
従来の走行制御システムとしては、例えば特許文献１に記載されているような技術が知られている。特許文献１に記載の走行制御システムは、レーザを発射し、その反射光を検知して物体までの距離を測定するレーザ距離センサと、無人搬送車が走行する走行エリアの番地と走行エリアに設定されている座標との対応情報を格納するデータメモリと、レーザ距離センサからの計測データと地図データとをマッチングさせて無人搬送車の現在位置を推定し、その推定結果に基づいて無人搬送車を経路データに従って走行させる処理部とを備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５３４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術のように移動体の位置推定を行う場合、移動体の起動時あるいは移動体の位置が狂ってロスト状態となったときには、位置座標を指定し、移動体の位置をリセットする必要がある。しかし、トラック等の障害物が周辺に存在する場合には、移動体の位置をリセットしても、障害物が外乱となるため、移動体の位置推定を正確に行うことができない可能性がある。この場合には、ユーザが復旧作業を実施せざるを得ないため、ユーザの負担が大きくなる。
【０００５】
本発明の目的は、移動体の位置推定を行う場合に、移動体の位置を正しくリセットすることにより、移動体の位置の推定精度を向上させることができる走行制御システムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る走行制御システムは、移動体を走行経路に沿って走行させる走行制御装置と、走行経路に沿うように床面に設置され、移動体の位置のリセットを指示するための複数のリセット指示マークとを具備し、走行制御装置は、移動体の位置を推定する位置推定部と、リセット指示マークの位置を記憶する記憶部と、位置推定部により得られた移動体の推定位置に基づいて、移動体を走行経路に沿って走行させるように移動体の駆動部を制御する走行制御部と、リセット指示マークを検出するマーク検出部と、マーク検出部によりリセット指示マークが検出されたときに、リセット指示マークの位置を移動体のリセット位置として設定するリセット位置設定部とを備え、位置推定部は、リセット位置設定部により設定された移動体のリセット位置に基づいて、移動体の位置をリセットし、リセット位置設定部は、移動体のリセット位置と位置推定部により得られた移動体の推定位置とを比較して、移動体の位置のリセットが成功したか失敗したかどうかを判定し、移動体の位置のリセットが失敗したと判定したときは、マーク検出部により次のリセット指示マークが検出されると、次のリセット指示マークの位置を移動体のリセット位置として設定する。
【０００７】
このような走行制御システムにおいては、位置推定部により移動体の位置が推定され、その移動体の推定位置に基づいて、移動体が走行経路に沿って走行するように移動体の駆動部が制御される。このような移動体の走行時に、リセット指示マークが検出されると、リセット指示マークの位置が移動体のリセット位置として設定される。そして、位置推定部は、移動体のリセット位置に基づいて移動体の位置をリセットする。このとき、移動体のリセット位置と移動体の推定位置とを比較して、移動体の位置のリセットが失敗したと判定されたときは、次のリセット指示マークが検出されると、次のリセット指示マークの位置が移動体のリセット位置として設定される。そして、位置推定部は、移動体の位置を再びリセットする。このようにトラック等の障害物が移動体の周辺に存在することで、リセット指示マークによる移動体の位置のリセットが失敗しても、次のリセット指示マークにより移動体の位置のリセットが再度実施される。これにより、移動体の位置推定を行う場合に、移動体の位置が正しくリセットされるため、移動体の位置の推定精度が向上する。
【０００８】
走行制御装置は、リセット位置設定部により移動体のリセット位置が設定されたときに、移動体を減速させるように駆動部を制御する減速制御部を更に備え、リセット位置設定部は、移動体の位置のリセットが成功したと判定したときは、マーク検出部により次のリセット指示マークが検出されても、移動体のリセット位置を設定しなくてもよい。このような構成では、移動体の位置のリセットが成功したときは、次のリセット指示マークが検出されても、移動体のリセット位置が設定されないため、移動体を減速させる必要がない。従って、サイクルタイムの削減につながる。
【０００９】
リセット位置設定部は、リセット位置と推定位置との差分の絶対値が規定値以下であるかどうかを判断し、リセット位置と推定位置との差分の絶対値が規定値以下であるときに、移動体の位置のリセットが成功したと判定してもよい。このような構成では、移動体の位置のリセットが成功したか失敗したかどうかの判定を簡単な計算処理で実現することができる。
【００１０】
走行経路は、床面に設置され、物理的に検出可能な実ガイド線と、データ上で実ガイド線に後続するように仮想的に設定された仮想ガイド線とを有し、走行制御装置は、実ガイド線を検出するガイド検出部を更に備え、記憶部は、リセット指示マーク及び仮想ガイド線の位置を記憶し、走行制御部は、ガイド検出部の検出値に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御すると共に、位置推定部により得られた移動体の推定位置に基づいて、移動体を仮想ガイド線に沿って走行させるように駆動部を制御し、複数のリセット指示マークは、実ガイド線に沿うように床面に設置されていてもよい。このような構成では、移動体の走行区間が実ガイド線が設置された区間から仮想ガイド線が設定された区間に切り替わる手前で、移動体の位置がリセットされることになるため、移動体を仮想ガイド線に沿って走行させることができる。
【００１１】
実ガイド線は、磁気ガイド線であり、リセット指示マークは、磁気マークであり、ガイド検出部及びマーク検出部は、磁気センサであってもよい。このような構成では、走行制御システムを低コストで実現することができる。
【発明の効果】
【００１２】
本発明によれば、移動体の位置推定を行う場合に、移動体の位置を正しくリセットすることにより、移動体の位置の推定精度を向上させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る走行制御システムを示す概略構成図である。
【図２】図１に示された走行制御装置の構成を示すブロック図である。
【図３】図２に示されたＳＬＡＭコントローラにより実行される演算処理手順の詳細を示すフローチャートである。
【図４】図２に示された走行制御部により実行される制御処理手順の詳細を示すフローチャートである。
【図５】図２に示されたリセット位置設定部により実行される設定処理手順の詳細を示すフローチャートである。
【図６】図２に示された減速制御部により実行される制御処理手順の詳細を示すフローチャートである。
【図７】移動体の位置のリセットが実施される様子を示す概念図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００１５】
図１は、本発明の一実施形態に係る走行制御システムを示す概略構成図である。図１において、本実施形態の走行制御システム１は、例えばフォークリフト等の移動体２をスタート地点３Ａから目的地点３Ｂまで無人で走行させるシステムである。走行制御システム１は、移動体２をスタート地点３Ａから目的地点３Ｂまでの走行経路３に沿って自動的に走行させる走行制御装置４を具備している。
【００１６】
走行経路３は、床面に設置され、物理的に検出可能な実ガイド線である磁気ガイド線５と、データ上で仮想的に設定された仮想ガイド線６とを有している。仮想ガイド線６は、データ上で磁気ガイド線５に後続するように磁気ガイド線５よりも目的地点３Ｂ側に設定されている。
【００１７】
磁気ガイド線５が設置された区間は、移動体２を磁気ガイド線５に沿って走行させる磁気誘導方式が実施される磁気誘導区間Ｐである。仮想ガイド線６が設定された区間は、移動体２を仮想ガイド線６に沿って走行させる仮想誘導方式が実施される仮想誘導区間Ｑである。
【００１８】
スタート地点３Ａ及び目的地点３Ｂを含む走行経路３の位置は、２次元座標（ＸＹ座標）で表されている。ここでは、スタート地点３Ａの２次元座標は、（０，０）である。目的地点３Ｂの２次元座標は、（１００，０）である。なお、図１では、走行経路３は、直線経路となっているが、曲線経路であってもよい。
【００１９】
磁気誘導区間Ｐの床面には、移動体２の位置のリセットを指示するための複数（ここでは２つ）のリセット指示マーク７が磁気ガイド線５に沿うように設置されている。リセット指示マーク７は、物理的に検出可能な磁気マークである。リセット指示マーク７は、床面における磁気ガイド線５の脇に埋設されている。ここでは、スタート地点３Ａから１つ目のリセット指示マーク７をリセット指示マーク７Ａとし、スタート地点３Ａから２つ目のリセット指示マーク７をリセット指示マーク７Ｂとする。
【００２０】
また、特に図示はしないが、磁気誘導区間Ｐ及び仮想誘導区間Ｑの床面には、走行指示マークである磁気マークが設置されている。走行指示マークには、移動体２が走行を行うための走行指示データが関連付けられている。走行指示データとしては、例えば加速指示、停止指示、右折指示及び左折指示等がある。リセット指示マーク７は、走行指示マークの一部として構成されていてもよい。
【００２１】
図２は、走行制御装置４の構成を示すブロック図である。図２において、走行制御装置４は、移動体２に搭載されている。走行制御装置４は、位置推定ユニット１０と、２つの磁気ガイドセンサ１１と、磁気マークセンサ１２と、自動走行制御ユニット１３とを備えている。
【００２２】
位置推定ユニット１０は、移動体２の位置を推定する位置推定部である。位置推定ユニット１０は、自動走行制御ユニット１３により設定された移動体２のリセット位置（後述）に基づいて移動体２の位置をリセットしてから、移動体２の位置を推定する。
【００２３】
位置推定ユニット１０は、例えばＳＬＡＭ（simultaneous localization and mapping）手法を用いて、移動体２の自己位置を推定する。ＳＬＡＭは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。ＳＬＡＭは、レーザレンジスキャナー等を利用して、自己位置推定と環境地図の作成とを同時に行う。
【００２４】
位置推定ユニット１０は、レーザセンサ１４と、ＳＬＡＭコントローラ１５とを有している。レーザセンサ１４は、移動体２の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体２の周囲の物体までの距離を検出する。レーザセンサ１４としては、例えばレーザレンジファインダが用いられる。
【００２５】
ＳＬＡＭコントローラ１５は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。ＳＬＡＭコントローラ１５は、レーザセンサ１４の検出値に基づいて、移動体２の位置の推定演算を行う。移動体２の位置は、２次元座標（Ｘ，Ｙ）及び向きθで表される。
【００２６】
図３は、ＳＬＡＭコントローラ１５により実行される演算処理手順の詳細を示すフローチャートである。本処理は、移動体２の電源がＯＮになると実行される。
【００２７】
図３において、ＳＬＡＭコントローラ１５は、まず自動走行制御ユニット１３からの初期位置データ（後述）が入力されたかどうかを判断する（手順Ｓ１０１）。ＳＬＡＭコントローラ１５は、初期位置データが入力されたと判断したときは、初期位置を移動体２の現在位置として設定する（手順Ｓ１０２）。
【００２８】
続いて、ＳＬＡＭコントローラ１５は、レーザセンサ１４の検出値を取得する（手順Ｓ１０３）。そして、ＳＬＡＭコントローラ１５は、移動体２の位置の推定演算を行う（手順Ｓ１０４）。具体的には、ＳＬＡＭコントローラ１５は、レーザセンサ１４により検出された移動体２の周囲の物体までの距離と移動体２の周囲環境の地図とをマッチングさせて、移動体２の位置の推定演算を行う。これにより、移動体２の推定位置が得られる。そして、ＳＬＡＭコントローラ１５は、移動体２の推定位置データを自動走行制御ユニット１３に出力する（手順Ｓ１０５）。
【００２９】
続いて、ＳＬＡＭコントローラ１５は、自動走行制御ユニット１３からのリセット位置データが入力されたかどうかを判断する（手順Ｓ１０６）。ＳＬＡＭコントローラ１５は、リセット位置データが入力されていないと判断したときは、手順Ｓ１０３〜Ｓ１０５を再び実行する。
【００３０】
ＳＬＡＭコントローラ１５は、リセット位置データが入力されたと判断したときは、リセット位置を移動体２の現在位置として設定することにより、移動体２の位置をリセットする（手順Ｓ１０７）。そして、ＳＬＡＭコントローラ１５は、手順Ｓ１０３〜Ｓ１０５を再び実行する。
【００３１】
図２に戻り、磁気ガイドセンサ１１は、移動体２の下部の前後にそれぞれ取り付けられている（図１参照）。なお、図１では、磁気ガイドセンサ１１の位置が概略的に示されている。磁気ガイドセンサ１１は、磁気ガイド線５を検出する磁気センサ（ガイド検出部）である。磁気ガイドセンサ１１は、移動体２の幅方向（左右方向）に延びている。磁気ガイドセンサ１１を移動体２に前後２つ設けることにより、移動体２と磁気ガイド線５との位置座標のずれ量だけでなく、移動体２と磁気ガイド線５との向きのずれ量も検知することができる。
【００３２】
磁気ガイドセンサ１１は、磁気ガイド線５に重なる位置に応じた電気信号を検出値として出力する。例えば、磁気ガイドセンサ１１の長手方向の中央部が磁気ガイド線５に重なる状態と、磁気ガイドセンサ１１の長手方向の端部が磁気ガイド線５に重なる状態とで、磁気ガイドセンサ１１の出力値（検出値）が異なる。従って、磁気ガイドセンサ１１の検出値によって、磁気ガイドセンサ１１と磁気ガイド線５との位置関係を判定することが可能である。
【００３３】
磁気マークセンサ１２は、移動体２の後端下部に取り付けられている（図１参照）。磁気マークセンサ１２は、リセット指示マーク７を検出する磁気センサ（マーク検出部）である。
【００３４】
自動走行制御ユニット１３は、位置推定ユニット１０により推定された移動体２の位置と磁気ガイドセンサ１１及び磁気マークセンサ１２の検出値とに基づいて、所定の処理を行い、移動体２をスタート地点３Ａから目的地点３Ｂまで自動的に走行させるように走行モータ１６及び操舵モータ１７を制御する。
【００３５】
走行モータ１６は、移動体２の走行輪（図示せず）を回転させるモータである。操舵モータ１７は、移動体２の操舵輪（図示せず）を転舵させるモータである。走行モータ１６及び操舵モータ１７は、移動体２の駆動部を構成している。
【００３６】
自動走行制御ユニット１３は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。自動走行制御ユニット１３は、記憶部１８と、第１ずれ量算出部１９と、第２ずれ量算出部２０と、走行制御部２１と、初期位置設定部２２と、リセット位置設定部２３と、減速制御部２４とを有している。
【００３７】
記憶部１８は、走行経路３、リセット指示マーク７及び走行指示マーク（図示せず）の位置と走行指示データ等といった移動体２の走行に関する情報を記憶する。記憶部１８は、走行経路３及びリセット指示マーク７等の位置を２次元座標として記憶している。
【００３８】
第１ずれ量算出部１９は、磁気ガイドセンサ１１の検出値に基づいて、磁気ガイド線５と移動体２とのずれ量を算出する。このとき、第１ずれ量算出部１９は、磁気ガイド線５の位置座標と移動体２の位置座標とのずれ量と、磁気ガイド線５の向きと移動体２の向きとのずれ量とを算出する。
【００３９】
第２ずれ量算出部２０は、記憶部１８に記憶された仮想ガイド線６の位置と位置推定ユニット１０により得られた移動体２の推定位置とに基づいて、仮想ガイド線６と移動体２とのずれ量を算出する。このとき、第２ずれ量算出部２０は、仮想ガイド線６の位置座標と移動体２の位置座標とのずれ量と、仮想ガイド線６の向きと移動体２の向きとのずれ量とを算出する。
【００４０】
走行制御部２１は、第１ずれ量算出部１９により算出された磁気ガイド線５と移動体２とのずれ量に基づいて、移動体２を磁気ガイド線５に沿って走行させるように走行モータ１６及び操舵モータ１７を制御する。また、走行制御部２１は、第２ずれ量算出部２０により算出された仮想ガイド線６と移動体２とのずれ量に基づいて、移動体２を仮想ガイド線６に沿って走行させるように走行モータ１６及び操舵モータ１７を制御する。さらに、走行制御部２１は、走行指示マーク（図示せず）に関連付けられた走行指示データに従って移動体２を走行させるように走行モータ１６及び操舵モータ１７を制御する。
【００４１】
ここで、第１ずれ量算出部１９、第２ずれ量算出部２０及び走行制御部２１は、位置推定ユニット１０により得られた移動体２の推定位置に基づいて、移動体２を走行経路３に沿って走行させるように走行モータ１６及び操舵モータ１７を制御する走行制御部を構成している。
【００４２】
図４は、走行制御部２１により実行される制御処理手順の詳細を示すフローチャートである。本処理も、ＳＬＡＭコントローラ１５による演算処理と同様に、移動体２の電源がＯＮになると実行される。なお、本処理では、走行指示マークに従った制御については、省略されている。
【００４３】
図４において、走行制御部２１は、まず磁気ガイドセンサ１１の検出値に基づいて、移動体２の走行区間が磁気誘導区間Ｐから仮想誘導区間Ｑに切り替わったかどうかを判断する（手順Ｓ１１１）。走行制御部２１は、例えば磁気ガイドセンサ１１により磁気ガイド線５が所定時間連続して検出されなくなると、移動体２の走行区間が磁気誘導区間Ｐから仮想誘導区間Ｑに切り替わったと判断する。
【００４４】
走行制御部２１は、移動体２の走行区間が磁気誘導区間Ｐから仮想誘導区間Ｑに切り替わっていないと判断したときは、第１ずれ量算出部１９により算出された磁気ガイド線５と移動体２とのずれ量を取得する（手順Ｓ１１２）。そして、走行制御部２１は、磁気ガイド線５と移動体２とのずれ量が０となるような制御信号を走行モータ１６及び操舵モータ１７に出力する（手順Ｓ１１３）。これにより、移動体２の位置座標及び向きが磁気ガイド線５に近づくようになる。
【００４５】
走行制御部２１は、手順Ｓ１１１で移動体２の走行区間が磁気誘導区間Ｐから仮想誘導区間Ｑに切り替わったと判断したときは、第２ずれ量算出部２０により算出された仮想ガイド線６と移動体２とのずれ量を取得する（手順Ｓ１１４）。そして、走行制御部２１は、仮想ガイド線６と移動体２とのずれ量が０となるような制御信号を走行モータ１６及び操舵モータ１７に出力する（手順Ｓ１１５）。これにより、移動体２の位置座標及び向きが仮想ガイド線６に近づくようになる。
【００４６】
走行制御部２１は、手順Ｓ１１３または手順Ｓ１１５が実行された後、移動体２が目的地点３Ｂに達したかどうかを判断する（手順Ｓ１１６）。走行制御部２１は、移動体２が目的地点３Ｂに達していないと判断したときは、手順Ｓ１１１を再び実行する。走行制御部２１は、移動体２が目的地点３Ｂに達したと判断したときは、本処理を終了する。
【００４７】
図２に戻り、初期位置設定部２２は、例えば移動体２の電源ＯＦＦ時にバックアップメモリ（図示せず）に保存された位置、またはタッチパネル等の入力機器により入力された位置を移動体２の初期位置として設定し、その初期位置データをＳＬＡＭコントローラ１５に出力する。
【００４８】
リセット位置設定部２３は、磁気マークセンサ１２によりリセット指示マーク７が検出されたときに、リセット指示マーク７の位置を移動体２のリセット位置として設定し、そのリセット位置データをＳＬＡＭコントローラ１５に出力する。
【００４９】
図５は、リセット位置設定部２３により実行される設定処理手順の詳細を示すフローチャートである。本処理も、ＳＬＡＭコントローラ１５による演算処理と同様に、移動体２の電源がＯＮになると実行される。なお、本処理の実行前は、位置リセットフラグが０に設定されている。
【００５０】
図５において、リセット位置設定部２３は、まず磁気マークセンサ１２によりリセット指示マーク７Ａが検出されたかどうかを判断する（手順Ｓ１２１）。リセット位置設定部２３は、リセット指示マーク７Ａが検出されたと判断したときは、リセット指示マーク７Ａの位置を記憶部１８から取得し、そのリセット指示マーク７Ａの位置を移動体２のリセット位置として設定する（手順Ｓ１２２）。そして、リセット位置設定部２３は、リセット位置データをＳＬＡＭコントローラ１５に出力する（手順Ｓ１２３）。
【００５１】
続いて、リセット位置設定部２３は、位置推定ユニット１０により得られた移動体２の推定位置を取得する（手順Ｓ１２４）。そして、リセット位置設定部２３は、リセット位置と推定位置との差分の絶対値が規定値以下であるかどうかを判断する（手順Ｓ１２５）。
【００５２】
リセット位置設定部２３は、リセット位置と推定位置との差分の絶対値が規定値以下であると判断したときは、位置推定ユニット１０による移動体２の位置のリセットが成功したと判定し、位置リセットフラグを１にセットする（手順Ｓ１２６）。
【００５３】
リセット位置設定部２３は、リセット位置と推定位置との差分の絶対値が規定値以下でない、つまりリセット位置と推定位置との差分の絶対値が規定値よりも大きいと判断したときは、位置推定ユニット１０による移動体２の位置のリセットが失敗したと判定し、位置リセットフラグを０にセットしたままとする（手順Ｓ１２７）。
【００５４】
その後、リセット位置設定部２３は、磁気マークセンサ１２により次のリセット指示マーク７Ｂが検出されたかどうかを判断する（手順Ｓ１２８）。リセット位置設定部２３は、次のリセット指示マーク７Ｂが検出されたと判断したときは、位置リセットフラグが０であるかどうかを判断する（手順Ｓ１２９）。
【００５５】
リセット位置設定部２３は、位置リセットフラグが０であると判断したときは、リセット指示マーク７Ｂの位置を記憶部１８から取得し、そのリセット指示マーク７Ｂの位置を移動体２のリセット位置として設定する（手順Ｓ１３０）。そして、リセット位置設定部２３は、リセット位置データをＳＬＡＭコントローラ１５に出力し（手順Ｓ１３１）、本処理を終了する。
【００５６】
リセット位置設定部２３は、位置リセットフラグが０でなく１であると判断したときは、手順Ｓ１３０，Ｓ１３１を実行することなく、本処理を終了する。
【００５７】
図２に戻り、減速制御部２４は、リセット位置設定部２３により移動体２のリセット位置が設定されたときに、移動体２を減速させるように走行モータ１６を制御する。ここでいう移動体２の減速は、移動体２の停止も含んでいる。
【００５８】
図６は、減速制御部２４により実行される制御処理手順の詳細を示すフローチャートである。本処理も、ＳＬＡＭコントローラ１５による演算処理と同様に、移動体２の電源がＯＮになると実行される。
【００５９】
図６において、減速制御部２４は、まず磁気マークセンサ１２によりリセット指示マーク７が検出されたかどうかを判断する（手順Ｓ１４１）。減速制御部２４は、リセット指示マーク７が検出されたと判断したときは、位置リセットフラグが０であるかどうかを判断する（手順Ｓ１４２）。
【００６０】
減速制御部２４は、位置リセットフラグが０であると判断したときは、移動体２を減速させるような制御信号を走行モータ１６に出力する（手順Ｓ１４３）。これにより、走行モータ１６の回転速度が低下し、移動体２が減速するようになる。なお、移動体２を減速させる理由は、位置推定ユニット１０による移動体２の位置のリセットを実施した際の位置推定の計算時間を考慮してのことである。
【００６１】
その後、減速制御部２４は、移動体２を減速させるような制御信号を走行モータ１６に出力してから規定時間が経過したかどうかを判断する（手順Ｓ１４４）。減速制御部２４は、規定時間が経過したと判断したときは、移動体２を加速させるような制御信号を走行モータ１６に出力する（手順Ｓ１４５）。これにより、走行モータ１６の回転速度が高くなり、移動体２は加速して元の速度で走行するようになる。そして、減速制御部２４は、手順Ｓ１４１を再び実行する。
【００６２】
減速制御部２４は、手順Ｓ１４２で位置リセットフラグが０でなく１であると判断したときは、手順Ｓ１４３〜Ｓ１４５を実行することなく、手順Ｓ１４１を再び実行する。これにより、移動体２は、減速することなく定速で走行する。
【００６３】
以上のように構成された走行制御システム１において、移動体２が磁気誘導区間Ｐを走行しているときに、図７（ａ）に示されるように、磁気マークセンサ１２によりリセット指示マーク７Ａが検出されると、そのリセット指示マーク７Ａの位置が移動体２のリセット位置として設定される。そして、リセット位置データが自動走行制御ユニット１３から位置推定ユニット１０に送られると共に、移動体２が減速する。
【００６４】
すると、位置推定ユニット１０は、リセット位置に基づいて移動体２の位置をリセットする。そして、位置推定ユニット１０により得られた移動体２の推定位置が自動走行制御ユニット１３に送られる。自動走行制御ユニット１３では、リセット位置と推定位置とを比較して、移動体２の位置のリセットが成功したか失敗したかどうかが判定される。
【００６５】
移動体２の位置のリセットが失敗したと判定された場合は、図７（ｂ）に示されるように、磁気マークセンサ１２により次のリセット指示マーク７Ｂが検出されると、そのリセット指示マーク７Ｂの位置が移動体２のリセット位置として設定される。そして、リセット位置データが自動走行制御ユニット１３から位置推定ユニット１０に送られると共に、移動体２が減速する。位置推定ユニット１０は、リセット位置に基づいて移動体２の位置を再度リセットする。
【００６６】
移動体２の位置のリセットが成功したと判定された場合は、磁気マークセンサ１２により次のリセット指示マーク７Ｂが検出されても、そのリセット指示マーク７Ｂの位置が移動体２のリセット位置として設定されることはない。このため、リセット位置データが自動走行制御ユニット１３から位置推定ユニット１０に送られることはない。また、移動体２は、図７（ｃ）に示されるように、減速することなく、リセット指示マーク７Ｂをそのまま通過する。
【００６７】
以上のように本実施形態にあっては、位置推定ユニット１０により移動体２の位置が推定され、その移動体２の推定位置に基づいて、移動体２が走行経路３に沿って走行するように走行モータ１６及び操舵モータ１７が制御される。このような移動体２の走行時に、リセット指示マーク７が検出されると、リセット指示マーク７の位置が移動体２のリセット位置として設定される。そして、位置推定ユニット１０は、移動体２のリセット位置に基づいて、移動体２の位置をリセットする。このとき、移動体２のリセット位置と移動体２の推定位置とを比較して、移動体２の位置のリセットが失敗したと判定されたときは、次のリセット指示マーク７が検出されると、次のリセット指示マーク７の位置が移動体２のリセット位置として設定される。そして、位置推定ユニット１０は、移動体２の位置を再びリセットする。このようにトラック等の障害物が移動体２の周辺に存在することで、リセット指示マーク７による移動体２の位置のリセットが失敗しても、次のリセット指示マーク７により移動体２の位置のリセットが再度実施される。これにより、移動体２の位置推定を行う場合に、移動体２の位置が正しくリセットされるため、移動体２の位置の推定精度が向上する。その結果、移動体２の位置のリセットが失敗した場合にユーザにより実施される復旧作業が削減されるため、ユーザの負担を軽減することができる。
【００６８】
また、本実施形態では、移動体２の位置のリセットが成功したときは、次のリセット指示マーク７が検出されても、移動体２のリセット位置が設定されないため、移動体２を減速させる必要がない。従って、サイクルタイムの削減につながる。
【００６９】
また、本実施形態では、移動体２のリセット位置と移動体２の推定位置との差分の絶対値が規定値以下であるときに、移動体２の位置のリセットが成功したと判定されるので、移動体２の位置のリセットが成功したか失敗したかどうかの判定を簡単な計算処理で実現することができる。
【００７０】
また、本実施形態では、移動体２の走行区間が磁気ガイド線５が設置された磁気誘導区間Ｐから仮想ガイド線６が設定された仮想誘導区間Ｑに切り替わる手前で、移動体２の位置がリセットされることになるため、移動体２を仮想ガイド線６に沿って走行させることができる。
【００７１】
また、本実施形態では、走行経路３が磁気ガイド線５を有し、リセット指示マーク７が磁気マークであるので、走行制御システム１を低コストで実現することができる。
【００７２】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、床面に２つのリセット指示マーク７が設置されているが、リセット指示マーク７の数としては、特に２つには限られず、３つ以上であってもよい。この場合には、移動体２の位置のリセットが成功したか失敗したかどうかを判定する処理を、リセット指示マーク７の数に応じて２回以上実施してもよい。
【００７３】
また、上記実施形態では、リセット指示マーク７が磁気マークであるが、リセット指示マーク７としては、特にそれには限られず、ＲＦＩＤタグマーク等を用いてもよい。ＲＦＩＤタグマークが用いられる場合には、ＲＦＩＤリーダによりＲＦＩＤタグマークが検出される。
【００７４】
また、上記実施形態では、磁気ガイド線５が物理的に検出可能な実ガイド線として床面に設置されているが、実ガイド線としては、特にそれには限られず、電磁ガイド線等であってもよい。電磁ガイド線が用いられる場合には、電磁センサにより電磁ガイド線が検出される。
【００７５】
また、上記実施形態では、位置推定ユニット１０は、自己位置推定技術としてレーザを利用したＳＬＡＭ手法を用いて、移動体２の位置を推定しているが、自己位置推定技術としては、特にそれには限られず、カメラの撮像画像を利用したＳＬＡＭ手法または衛星を利用したＧＮＳＳ（global navigation satellite system）測位法等を用いてもよい。
【００７６】
また、上記実施形態では、走行経路３は、磁気ガイド線５及び仮想ガイド線６を有し、リセット指示マーク７は、磁気ガイド線５に沿って複数設置されているが、本発明は、特にその形態には限られず、移動体２の位置のリセットが必要な走行経路であれば適用可能である。
【００７７】
また、上記実施形態では、移動体２としてフォークリフトを走行経路３に沿って走行させているが、本発明は、例えば搬送台車等のように位置を推定して走行する移動体全般に適用可能である。
【符号の説明】
【００７８】
１…走行制御システム、２…移動体、３…走行経路、４…走行制御装置、５…磁気ガイド線（実ガイド線）、６…仮想ガイド線、７，７Ａ，７Ｂ…リセット指示マーク、１０…位置推定ユニット（位置推定部）、１１…磁気ガイドセンサ（ガイド検出部）、１２…磁気マークセンサ（マーク検出部）、１６…走行モータ（駆動部）、１７…操舵モータ（駆動部）、１８…記憶部、１９…第１ずれ量算出部（走行制御部）、２０…第２ずれ量算出部（走行制御部）、２１…走行制御部、２３…リセット位置設定部、２４…減速制御部。
【図１】
2020113204.tif 000003
【図２】
2020113204.tif 000004
【図３】
2020113204.tif 000005
【図４】
2020113204.tif 000006
【図５】
2020113204.tif 000007
【図６】
2020113204.tif 000008
【図７】
2020113204.tif 000009