(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-11
(45)【発行日】2022-04-19
(54)【発明の名称】走行制御システム
(51)【国際特許分類】
G05D 1/02 20200101AFI20220412BHJP
【FI】
G05D1/02 J
(21)【出願番号】P 2019005463
(22)【出願日】2019-01-16
【審査請求日】2021-04-19
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】開田 宏介
【審査官】牧 初
(56)【参考文献】
【文献】特開平10-105882(JP,A)
【文献】特開2012-173013(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/12
(57)【特許請求の範囲】
【請求項1】
移動体を走行経路に沿って走行させる走行制御装置と、
前記走行経路に沿うように床面に設置され、前記移動体の位置のリセットを指示するための複数のリセット指示マークとを具備し、
前記走行制御装置は、
前記移動体の位置を推定する位置推定部と、
前記リセット指示マークの位置を記憶する記憶部と、
前記位置推定部により得られた前記移動体の推定位置に基づいて、前記移動体を前記走行経路に沿って走行させるように前記移動体の駆動部を制御する走行制御部と、
前記リセット指示マークを検出するマーク検出部と、
前記マーク検出部により前記リセット指示マークが検出されたときに、前記リセット指示マークの位置を前記移動体のリセット位置として設定するリセット位置設定部とを備え、
前記位置推定部は、前記リセット位置設定部により設定された前記移動体のリセット位置に基づいて、前記移動体の位置をリセットし、
前記リセット位置設定部は、前記移動体のリセット位置と前記位置推定部により得られた前記移動体の推定位置とを比較して、前記移動体の位置のリセットが成功したか失敗したかどうかを判定し、前記移動体の位置のリセットが失敗したと判定したときは、前記マーク検出部により次の前記リセット指示マークが検出されると、前記次のリセット指示マークの位置を前記移動体のリセット位置として設定する走行制御システム。
【請求項2】
前記走行制御装置は、前記リセット位置設定部により前記移動体のリセット位置が設定されたときに、前記移動体を減速させるように前記駆動部を制御する減速制御部を更に備え、
前記リセット位置設定部は、前記移動体の位置のリセットが成功したと判定したときは、前記マーク検出部により前記次のリセット指示マークが検出されても、前記移動体のリセット位置を設定しない請求項1記載の走行制御システム。
【請求項3】
前記リセット位置設定部は、前記リセット位置と前記推定位置との差分の絶対値が規定値以下であるかどうかを判断し、前記リセット位置と前記推定位置との差分の絶対値が前記規定値以下であるときに、前記移動体の位置のリセットが成功したと判定する請求項1または2記載の走行制御システム。
【請求項4】
前記走行経路は、床面に設置され、物理的に検出可能な実ガイド線と、データ上で前記実ガイド線に後続するように仮想的に設定された仮想ガイド線とを有し、
前記走行制御装置は、前記実ガイド線を検出するガイド検出部を更に備え、
前記記憶部は、前記リセット指示マーク及び前記仮想ガイド線の位置を記憶し、
前記走行制御部は、前記ガイド検出部の検出値に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御すると共に、前記位置推定部により得られた前記移動体の推定位置に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記駆動部を制御し、
前記複数のリセット指示マークは、前記実ガイド線に沿うように床面に設置されている請求項1~3の何れか一項記載の走行制御システム。
【請求項5】
前記実ガイド線は、磁気ガイド線であり、
前記リセット指示マークは、磁気マークであり、
前記ガイド検出部及び前記マーク検出部は、磁気センサである請求項4記載の走行制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行制御システムに関する。
【背景技術】
【0002】
従来の走行制御システムとしては、例えば特許文献1に記載されているような技術が知られている。特許文献1に記載の走行制御システムは、レーザを発射し、その反射光を検知して物体までの距離を測定するレーザ距離センサと、無人搬送車が走行する走行エリアの番地と走行エリアに設定されている座標との対応情報を格納するデータメモリと、レーザ距離センサからの計測データと地図データとをマッチングさせて無人搬送車の現在位置を推定し、その推定結果に基づいて無人搬送車を経路データに従って走行させる処理部とを備えている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術のように移動体の位置推定を行う場合、移動体の起動時あるいは移動体の位置が狂ってロスト状態となったときには、位置座標を指定し、移動体の位置をリセットする必要がある。しかし、トラック等の障害物が周辺に存在する場合には、移動体の位置をリセットしても、障害物が外乱となるため、移動体の位置推定を正確に行うことができない可能性がある。この場合には、ユーザが復旧作業を実施せざるを得ないため、ユーザの負担が大きくなる。
【0005】
本発明の目的は、移動体の位置推定を行う場合に、移動体の位置を正しくリセットすることにより、移動体の位置の推定精度を向上させることができる走行制御システムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る走行制御システムは、移動体を走行経路に沿って走行させる走行制御装置と、走行経路に沿うように床面に設置され、移動体の位置のリセットを指示するための複数のリセット指示マークとを具備し、走行制御装置は、移動体の位置を推定する位置推定部と、リセット指示マークの位置を記憶する記憶部と、位置推定部により得られた移動体の推定位置に基づいて、移動体を走行経路に沿って走行させるように移動体の駆動部を制御する走行制御部と、リセット指示マークを検出するマーク検出部と、マーク検出部によりリセット指示マークが検出されたときに、リセット指示マークの位置を移動体のリセット位置として設定するリセット位置設定部とを備え、位置推定部は、リセット位置設定部により設定された移動体のリセット位置に基づいて、移動体の位置をリセットし、リセット位置設定部は、移動体のリセット位置と位置推定部により得られた移動体の推定位置とを比較して、移動体の位置のリセットが成功したか失敗したかどうかを判定し、移動体の位置のリセットが失敗したと判定したときは、マーク検出部により次のリセット指示マークが検出されると、次のリセット指示マークの位置を移動体のリセット位置として設定する。
【0007】
このような走行制御システムにおいては、位置推定部により移動体の位置が推定され、その移動体の推定位置に基づいて、移動体が走行経路に沿って走行するように移動体の駆動部が制御される。このような移動体の走行時に、リセット指示マークが検出されると、リセット指示マークの位置が移動体のリセット位置として設定される。そして、位置推定部は、移動体のリセット位置に基づいて移動体の位置をリセットする。このとき、移動体のリセット位置と移動体の推定位置とを比較して、移動体の位置のリセットが失敗したと判定されたときは、次のリセット指示マークが検出されると、次のリセット指示マークの位置が移動体のリセット位置として設定される。そして、位置推定部は、移動体の位置を再びリセットする。このようにトラック等の障害物が移動体の周辺に存在することで、リセット指示マークによる移動体の位置のリセットが失敗しても、次のリセット指示マークにより移動体の位置のリセットが再度実施される。これにより、移動体の位置推定を行う場合に、移動体の位置が正しくリセットされるため、移動体の位置の推定精度が向上する。
【0008】
走行制御装置は、リセット位置設定部により移動体のリセット位置が設定されたときに、移動体を減速させるように駆動部を制御する減速制御部を更に備え、リセット位置設定部は、移動体の位置のリセットが成功したと判定したときは、マーク検出部により次のリセット指示マークが検出されても、移動体のリセット位置を設定しなくてもよい。このような構成では、移動体の位置のリセットが成功したときは、次のリセット指示マークが検出されても、移動体のリセット位置が設定されないため、移動体を減速させる必要がない。従って、サイクルタイムの削減につながる。
【0009】
リセット位置設定部は、リセット位置と推定位置との差分の絶対値が規定値以下であるかどうかを判断し、リセット位置と推定位置との差分の絶対値が規定値以下であるときに、移動体の位置のリセットが成功したと判定してもよい。このような構成では、移動体の位置のリセットが成功したか失敗したかどうかの判定を簡単な計算処理で実現することができる。
【0010】
走行経路は、床面に設置され、物理的に検出可能な実ガイド線と、データ上で実ガイド線に後続するように仮想的に設定された仮想ガイド線とを有し、走行制御装置は、実ガイド線を検出するガイド検出部を更に備え、記憶部は、リセット指示マーク及び仮想ガイド線の位置を記憶し、走行制御部は、ガイド検出部の検出値に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御すると共に、位置推定部により得られた移動体の推定位置に基づいて、移動体を仮想ガイド線に沿って走行させるように駆動部を制御し、複数のリセット指示マークは、実ガイド線に沿うように床面に設置されていてもよい。このような構成では、移動体の走行区間が実ガイド線が設置された区間から仮想ガイド線が設定された区間に切り替わる手前で、移動体の位置がリセットされることになるため、移動体を仮想ガイド線に沿って走行させることができる。
【0011】
実ガイド線は、磁気ガイド線であり、リセット指示マークは、磁気マークであり、ガイド検出部及びマーク検出部は、磁気センサであってもよい。このような構成では、走行制御システムを低コストで実現することができる。
【発明の効果】
【0012】
本発明によれば、移動体の位置推定を行う場合に、移動体の位置を正しくリセットすることにより、移動体の位置の推定精度を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係る走行制御システムを示す概略構成図である。
【
図2】
図1に示された走行制御装置の構成を示すブロック図である。
【
図3】
図2に示されたSLAMコントローラにより実行される演算処理手順の詳細を示すフローチャートである。
【
図4】
図2に示された走行制御部により実行される制御処理手順の詳細を示すフローチャートである。
【
図5】
図2に示されたリセット位置設定部により実行される設定処理手順の詳細を示すフローチャートである。
【
図6】
図2に示された減速制御部により実行される制御処理手順の詳細を示すフローチャートである。
【
図7】移動体の位置のリセットが実施される様子を示す概念図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0015】
図1は、本発明の一実施形態に係る走行制御システムを示す概略構成図である。
図1において、本実施形態の走行制御システム1は、例えばフォークリフト等の移動体2をスタート地点3Aから目的地点3Bまで無人で走行させるシステムである。走行制御システム1は、移動体2をスタート地点3Aから目的地点3Bまでの走行経路3に沿って自動的に走行させる走行制御装置4を具備している。
【0016】
走行経路3は、床面に設置され、物理的に検出可能な実ガイド線である磁気ガイド線5と、データ上で仮想的に設定された仮想ガイド線6とを有している。仮想ガイド線6は、データ上で磁気ガイド線5に後続するように磁気ガイド線5よりも目的地点3B側に設定されている。
【0017】
磁気ガイド線5が設置された区間は、移動体2を磁気ガイド線5に沿って走行させる磁気誘導方式が実施される磁気誘導区間Pである。仮想ガイド線6が設定された区間は、移動体2を仮想ガイド線6に沿って走行させる仮想誘導方式が実施される仮想誘導区間Qである。
【0018】
スタート地点3A及び目的地点3Bを含む走行経路3の位置は、2次元座標(XY座標)で表されている。ここでは、スタート地点3Aの2次元座標は、(0,0)である。目的地点3Bの2次元座標は、(100,0)である。なお、
図1では、走行経路3は、直線経路となっているが、曲線経路であってもよい。
【0019】
磁気誘導区間Pの床面には、移動体2の位置のリセットを指示するための複数(ここでは2つ)のリセット指示マーク7が磁気ガイド線5に沿うように設置されている。リセット指示マーク7は、物理的に検出可能な磁気マークである。リセット指示マーク7は、床面における磁気ガイド線5の脇に埋設されている。ここでは、スタート地点3Aから1つ目のリセット指示マーク7をリセット指示マーク7Aとし、スタート地点3Aから2つ目のリセット指示マーク7をリセット指示マーク7Bとする。
【0020】
また、特に図示はしないが、磁気誘導区間P及び仮想誘導区間Qの床面には、走行指示マークである磁気マークが設置されている。走行指示マークには、移動体2が走行を行うための走行指示データが関連付けられている。走行指示データとしては、例えば加速指示、停止指示、右折指示及び左折指示等がある。リセット指示マーク7は、走行指示マークの一部として構成されていてもよい。
【0021】
図2は、走行制御装置4の構成を示すブロック図である。
図2において、走行制御装置4は、移動体2に搭載されている。走行制御装置4は、位置推定ユニット10と、2つの磁気ガイドセンサ11と、磁気マークセンサ12と、自動走行制御ユニット13とを備えている。
【0022】
位置推定ユニット10は、移動体2の位置を推定する位置推定部である。位置推定ユニット10は、自動走行制御ユニット13により設定された移動体2のリセット位置(後述)に基づいて移動体2の位置をリセットしてから、移動体2の位置を推定する。
【0023】
位置推定ユニット10は、例えばSLAM(simultaneous localization and mapping)手法を用いて、移動体2の自己位置を推定する。SLAMは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。SLAMは、レーザレンジスキャナー等を利用して、自己位置推定と環境地図の作成とを同時に行う。
【0024】
位置推定ユニット10は、レーザセンサ14と、SLAMコントローラ15とを有している。レーザセンサ14は、移動体2の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体2の周囲の物体までの距離を検出する。レーザセンサ14としては、例えばレーザレンジファインダが用いられる。
【0025】
SLAMコントローラ15は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。SLAMコントローラ15は、レーザセンサ14の検出値に基づいて、移動体2の位置の推定演算を行う。移動体2の位置は、2次元座標(X,Y)及び向きθで表される。
【0026】
図3は、SLAMコントローラ15により実行される演算処理手順の詳細を示すフローチャートである。本処理は、移動体2の電源がONになると実行される。
【0027】
図3において、SLAMコントローラ15は、まず自動走行制御ユニット13からの初期位置データ(後述)が入力されたかどうかを判断する(手順S101)。SLAMコントローラ15は、初期位置データが入力されたと判断したときは、初期位置を移動体2の現在位置として設定する(手順S102)。
【0028】
続いて、SLAMコントローラ15は、レーザセンサ14の検出値を取得する(手順S103)。そして、SLAMコントローラ15は、移動体2の位置の推定演算を行う(手順S104)。具体的には、SLAMコントローラ15は、レーザセンサ14により検出された移動体2の周囲の物体までの距離と移動体2の周囲環境の地図とをマッチングさせて、移動体2の位置の推定演算を行う。これにより、移動体2の推定位置が得られる。そして、SLAMコントローラ15は、移動体2の推定位置データを自動走行制御ユニット13に出力する(手順S105)。
【0029】
続いて、SLAMコントローラ15は、自動走行制御ユニット13からのリセット位置データが入力されたかどうかを判断する(手順S106)。SLAMコントローラ15は、リセット位置データが入力されていないと判断したときは、手順S103~S105を再び実行する。
【0030】
SLAMコントローラ15は、リセット位置データが入力されたと判断したときは、リセット位置を移動体2の現在位置として設定することにより、移動体2の位置をリセットする(手順S107)。そして、SLAMコントローラ15は、手順S103~S105を再び実行する。
【0031】
図2に戻り、磁気ガイドセンサ11は、移動体2の下部の前後にそれぞれ取り付けられている(
図1参照)。なお、
図1では、磁気ガイドセンサ11の位置が概略的に示されている。磁気ガイドセンサ11は、磁気ガイド線5を検出する磁気センサ(ガイド検出部)である。磁気ガイドセンサ11は、移動体2の幅方向(左右方向)に延びている。磁気ガイドセンサ11を移動体2に前後2つ設けることにより、移動体2と磁気ガイド線5との位置座標のずれ量だけでなく、移動体2と磁気ガイド線5との向きのずれ量も検知することができる。
【0032】
磁気ガイドセンサ11は、磁気ガイド線5に重なる位置に応じた電気信号を検出値として出力する。例えば、磁気ガイドセンサ11の長手方向の中央部が磁気ガイド線5に重なる状態と、磁気ガイドセンサ11の長手方向の端部が磁気ガイド線5に重なる状態とで、磁気ガイドセンサ11の出力値(検出値)が異なる。従って、磁気ガイドセンサ11の検出値によって、磁気ガイドセンサ11と磁気ガイド線5との位置関係を判定することが可能である。
【0033】
磁気マークセンサ12は、移動体2の後端下部に取り付けられている(
図1参照)。磁気マークセンサ12は、リセット指示マーク7を検出する磁気センサ(マーク検出部)である。
【0034】
自動走行制御ユニット13は、位置推定ユニット10により推定された移動体2の位置と磁気ガイドセンサ11及び磁気マークセンサ12の検出値とに基づいて、所定の処理を行い、移動体2をスタート地点3Aから目的地点3Bまで自動的に走行させるように走行モータ16及び操舵モータ17を制御する。
【0035】
走行モータ16は、移動体2の走行輪(図示せず)を回転させるモータである。操舵モータ17は、移動体2の操舵輪(図示せず)を転舵させるモータである。走行モータ16及び操舵モータ17は、移動体2の駆動部を構成している。
【0036】
自動走行制御ユニット13は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。自動走行制御ユニット13は、記憶部18と、第1ずれ量算出部19と、第2ずれ量算出部20と、走行制御部21と、初期位置設定部22と、リセット位置設定部23と、減速制御部24とを有している。
【0037】
記憶部18は、走行経路3、リセット指示マーク7及び走行指示マーク(図示せず)の位置と走行指示データ等といった移動体2の走行に関する情報を記憶する。記憶部18は、走行経路3及びリセット指示マーク7等の位置を2次元座標として記憶している。
【0038】
第1ずれ量算出部19は、磁気ガイドセンサ11の検出値に基づいて、磁気ガイド線5と移動体2とのずれ量を算出する。このとき、第1ずれ量算出部19は、磁気ガイド線5の位置座標と移動体2の位置座標とのずれ量と、磁気ガイド線5の向きと移動体2の向きとのずれ量とを算出する。
【0039】
第2ずれ量算出部20は、記憶部18に記憶された仮想ガイド線6の位置と位置推定ユニット10により得られた移動体2の推定位置とに基づいて、仮想ガイド線6と移動体2とのずれ量を算出する。このとき、第2ずれ量算出部20は、仮想ガイド線6の位置座標と移動体2の位置座標とのずれ量と、仮想ガイド線6の向きと移動体2の向きとのずれ量とを算出する。
【0040】
走行制御部21は、第1ずれ量算出部19により算出された磁気ガイド線5と移動体2とのずれ量に基づいて、移動体2を磁気ガイド線5に沿って走行させるように走行モータ16及び操舵モータ17を制御する。また、走行制御部21は、第2ずれ量算出部20により算出された仮想ガイド線6と移動体2とのずれ量に基づいて、移動体2を仮想ガイド線6に沿って走行させるように走行モータ16及び操舵モータ17を制御する。さらに、走行制御部21は、走行指示マーク(図示せず)に関連付けられた走行指示データに従って移動体2を走行させるように走行モータ16及び操舵モータ17を制御する。
【0041】
ここで、第1ずれ量算出部19、第2ずれ量算出部20及び走行制御部21は、位置推定ユニット10により得られた移動体2の推定位置に基づいて、移動体2を走行経路3に沿って走行させるように走行モータ16及び操舵モータ17を制御する走行制御部を構成している。
【0042】
図4は、走行制御部21により実行される制御処理手順の詳細を示すフローチャートである。本処理も、SLAMコントローラ15による演算処理と同様に、移動体2の電源がONになると実行される。なお、本処理では、走行指示マークに従った制御については、省略されている。
【0043】
図4において、走行制御部21は、まず磁気ガイドセンサ11の検出値に基づいて、移動体2の走行区間が磁気誘導区間Pから仮想誘導区間Qに切り替わったかどうかを判断する(手順S111)。走行制御部21は、例えば磁気ガイドセンサ11により磁気ガイド線5が所定時間連続して検出されなくなると、移動体2の走行区間が磁気誘導区間Pから仮想誘導区間Qに切り替わったと判断する。
【0044】
走行制御部21は、移動体2の走行区間が磁気誘導区間Pから仮想誘導区間Qに切り替わっていないと判断したときは、第1ずれ量算出部19により算出された磁気ガイド線5と移動体2とのずれ量を取得する(手順S112)。そして、走行制御部21は、磁気ガイド線5と移動体2とのずれ量が0となるような制御信号を走行モータ16及び操舵モータ17に出力する(手順S113)。これにより、移動体2の位置座標及び向きが磁気ガイド線5に近づくようになる。
【0045】
走行制御部21は、手順S111で移動体2の走行区間が磁気誘導区間Pから仮想誘導区間Qに切り替わったと判断したときは、第2ずれ量算出部20により算出された仮想ガイド線6と移動体2とのずれ量を取得する(手順S114)。そして、走行制御部21は、仮想ガイド線6と移動体2とのずれ量が0となるような制御信号を走行モータ16及び操舵モータ17に出力する(手順S115)。これにより、移動体2の位置座標及び向きが仮想ガイド線6に近づくようになる。
【0046】
走行制御部21は、手順S113または手順S115が実行された後、移動体2が目的地点3Bに達したかどうかを判断する(手順S116)。走行制御部21は、移動体2が目的地点3Bに達していないと判断したときは、手順S111を再び実行する。走行制御部21は、移動体2が目的地点3Bに達したと判断したときは、本処理を終了する。
【0047】
図2に戻り、初期位置設定部22は、例えば移動体2の電源OFF時にバックアップメモリ(図示せず)に保存された位置、またはタッチパネル等の入力機器により入力された位置を移動体2の初期位置として設定し、その初期位置データをSLAMコントローラ15に出力する。
【0048】
リセット位置設定部23は、磁気マークセンサ12によりリセット指示マーク7が検出されたときに、リセット指示マーク7の位置を移動体2のリセット位置として設定し、そのリセット位置データをSLAMコントローラ15に出力する。
【0049】
図5は、リセット位置設定部23により実行される設定処理手順の詳細を示すフローチャートである。本処理も、SLAMコントローラ15による演算処理と同様に、移動体2の電源がONになると実行される。なお、本処理の実行前は、位置リセットフラグが0に設定されている。
【0050】
図5において、リセット位置設定部23は、まず磁気マークセンサ12によりリセット指示マーク7Aが検出されたかどうかを判断する(手順S121)。リセット位置設定部23は、リセット指示マーク7Aが検出されたと判断したときは、リセット指示マーク7Aの位置を記憶部18から取得し、そのリセット指示マーク7Aの位置を移動体2のリセット位置として設定する(手順S122)。そして、リセット位置設定部23は、リセット位置データをSLAMコントローラ15に出力する(手順S123)。
【0051】
続いて、リセット位置設定部23は、位置推定ユニット10により得られた移動体2の推定位置を取得する(手順S124)。そして、リセット位置設定部23は、リセット位置と推定位置との差分の絶対値が規定値以下であるかどうかを判断する(手順S125)。
【0052】
リセット位置設定部23は、リセット位置と推定位置との差分の絶対値が規定値以下であると判断したときは、位置推定ユニット10による移動体2の位置のリセットが成功したと判定し、位置リセットフラグを1にセットする(手順S126)。
【0053】
リセット位置設定部23は、リセット位置と推定位置との差分の絶対値が規定値以下でない、つまりリセット位置と推定位置との差分の絶対値が規定値よりも大きいと判断したときは、位置推定ユニット10による移動体2の位置のリセットが失敗したと判定し、位置リセットフラグを0にセットしたままとする(手順S127)。
【0054】
その後、リセット位置設定部23は、磁気マークセンサ12により次のリセット指示マーク7Bが検出されたかどうかを判断する(手順S128)。リセット位置設定部23は、次のリセット指示マーク7Bが検出されたと判断したときは、位置リセットフラグが0であるかどうかを判断する(手順S129)。
【0055】
リセット位置設定部23は、位置リセットフラグが0であると判断したときは、リセット指示マーク7Bの位置を記憶部18から取得し、そのリセット指示マーク7Bの位置を移動体2のリセット位置として設定する(手順S130)。そして、リセット位置設定部23は、リセット位置データをSLAMコントローラ15に出力し(手順S131)、本処理を終了する。
【0056】
リセット位置設定部23は、位置リセットフラグが0でなく1であると判断したときは、手順S130,S131を実行することなく、本処理を終了する。
【0057】
図2に戻り、減速制御部24は、リセット位置設定部23により移動体2のリセット位置が設定されたときに、移動体2を減速させるように走行モータ16を制御する。ここでいう移動体2の減速は、移動体2の停止も含んでいる。
【0058】
図6は、減速制御部24により実行される制御処理手順の詳細を示すフローチャートである。本処理も、SLAMコントローラ15による演算処理と同様に、移動体2の電源がONになると実行される。
【0059】
図6において、減速制御部24は、まず磁気マークセンサ12によりリセット指示マーク7が検出されたかどうかを判断する(手順S141)。減速制御部24は、リセット指示マーク7が検出されたと判断したときは、位置リセットフラグが0であるかどうかを判断する(手順S142)。
【0060】
減速制御部24は、位置リセットフラグが0であると判断したときは、移動体2を減速させるような制御信号を走行モータ16に出力する(手順S143)。これにより、走行モータ16の回転速度が低下し、移動体2が減速するようになる。なお、移動体2を減速させる理由は、位置推定ユニット10による移動体2の位置のリセットを実施した際の位置推定の計算時間を考慮してのことである。
【0061】
その後、減速制御部24は、移動体2を減速させるような制御信号を走行モータ16に出力してから規定時間が経過したかどうかを判断する(手順S144)。減速制御部24は、規定時間が経過したと判断したときは、移動体2を加速させるような制御信号を走行モータ16に出力する(手順S145)。これにより、走行モータ16の回転速度が高くなり、移動体2は加速して元の速度で走行するようになる。そして、減速制御部24は、手順S141を再び実行する。
【0062】
減速制御部24は、手順S142で位置リセットフラグが0でなく1であると判断したときは、手順S143~S145を実行することなく、手順S141を再び実行する。これにより、移動体2は、減速することなく定速で走行する。
【0063】
以上のように構成された走行制御システム1において、移動体2が磁気誘導区間Pを走行しているときに、
図7(a)に示されるように、磁気マークセンサ12によりリセット指示マーク7Aが検出されると、そのリセット指示マーク7Aの位置が移動体2のリセット位置として設定される。そして、リセット位置データが自動走行制御ユニット13から位置推定ユニット10に送られると共に、移動体2が減速する。
【0064】
すると、位置推定ユニット10は、リセット位置に基づいて移動体2の位置をリセットする。そして、位置推定ユニット10により得られた移動体2の推定位置が自動走行制御ユニット13に送られる。自動走行制御ユニット13では、リセット位置と推定位置とを比較して、移動体2の位置のリセットが成功したか失敗したかどうかが判定される。
【0065】
移動体2の位置のリセットが失敗したと判定された場合は、
図7(b)に示されるように、磁気マークセンサ12により次のリセット指示マーク7Bが検出されると、そのリセット指示マーク7Bの位置が移動体2のリセット位置として設定される。そして、リセット位置データが自動走行制御ユニット13から位置推定ユニット10に送られると共に、移動体2が減速する。位置推定ユニット10は、リセット位置に基づいて移動体2の位置を再度リセットする。
【0066】
移動体2の位置のリセットが成功したと判定された場合は、磁気マークセンサ12により次のリセット指示マーク7Bが検出されても、そのリセット指示マーク7Bの位置が移動体2のリセット位置として設定されることはない。このため、リセット位置データが自動走行制御ユニット13から位置推定ユニット10に送られることはない。また、移動体2は、
図7(c)に示されるように、減速することなく、リセット指示マーク7Bをそのまま通過する。
【0067】
以上のように本実施形態にあっては、位置推定ユニット10により移動体2の位置が推定され、その移動体2の推定位置に基づいて、移動体2が走行経路3に沿って走行するように走行モータ16及び操舵モータ17が制御される。このような移動体2の走行時に、リセット指示マーク7が検出されると、リセット指示マーク7の位置が移動体2のリセット位置として設定される。そして、位置推定ユニット10は、移動体2のリセット位置に基づいて、移動体2の位置をリセットする。このとき、移動体2のリセット位置と移動体2の推定位置とを比較して、移動体2の位置のリセットが失敗したと判定されたときは、次のリセット指示マーク7が検出されると、次のリセット指示マーク7の位置が移動体2のリセット位置として設定される。そして、位置推定ユニット10は、移動体2の位置を再びリセットする。このようにトラック等の障害物が移動体2の周辺に存在することで、リセット指示マーク7による移動体2の位置のリセットが失敗しても、次のリセット指示マーク7により移動体2の位置のリセットが再度実施される。これにより、移動体2の位置推定を行う場合に、移動体2の位置が正しくリセットされるため、移動体2の位置の推定精度が向上する。その結果、移動体2の位置のリセットが失敗した場合にユーザにより実施される復旧作業が削減されるため、ユーザの負担を軽減することができる。
【0068】
また、本実施形態では、移動体2の位置のリセットが成功したときは、次のリセット指示マーク7が検出されても、移動体2のリセット位置が設定されないため、移動体2を減速させる必要がない。従って、サイクルタイムの削減につながる。
【0069】
また、本実施形態では、移動体2のリセット位置と移動体2の推定位置との差分の絶対値が規定値以下であるときに、移動体2の位置のリセットが成功したと判定されるので、移動体2の位置のリセットが成功したか失敗したかどうかの判定を簡単な計算処理で実現することができる。
【0070】
また、本実施形態では、移動体2の走行区間が磁気ガイド線5が設置された磁気誘導区間Pから仮想ガイド線6が設定された仮想誘導区間Qに切り替わる手前で、移動体2の位置がリセットされることになるため、移動体2を仮想ガイド線6に沿って走行させることができる。
【0071】
また、本実施形態では、走行経路3が磁気ガイド線5を有し、リセット指示マーク7が磁気マークであるので、走行制御システム1を低コストで実現することができる。
【0072】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、床面に2つのリセット指示マーク7が設置されているが、リセット指示マーク7の数としては、特に2つには限られず、3つ以上であってもよい。この場合には、移動体2の位置のリセットが成功したか失敗したかどうかを判定する処理を、リセット指示マーク7の数に応じて2回以上実施してもよい。
【0073】
また、上記実施形態では、リセット指示マーク7が磁気マークであるが、リセット指示マーク7としては、特にそれには限られず、RFIDタグマーク等を用いてもよい。RFIDタグマークが用いられる場合には、RFIDリーダによりRFIDタグマークが検出される。
【0074】
また、上記実施形態では、磁気ガイド線5が物理的に検出可能な実ガイド線として床面に設置されているが、実ガイド線としては、特にそれには限られず、電磁ガイド線等であってもよい。電磁ガイド線が用いられる場合には、電磁センサにより電磁ガイド線が検出される。
【0075】
また、上記実施形態では、位置推定ユニット10は、自己位置推定技術としてレーザを利用したSLAM手法を用いて、移動体2の位置を推定しているが、自己位置推定技術としては、特にそれには限られず、カメラの撮像画像を利用したSLAM手法または衛星を利用したGNSS(global navigation satellite system)測位法等を用いてもよい。
【0076】
また、上記実施形態では、走行経路3は、磁気ガイド線5及び仮想ガイド線6を有し、リセット指示マーク7は、磁気ガイド線5に沿って複数設置されているが、本発明は、特にその形態には限られず、移動体2の位置のリセットが必要な走行経路であれば適用可能である。
【0077】
また、上記実施形態では、移動体2としてフォークリフトを走行経路3に沿って走行させているが、本発明は、例えば搬送台車等のように位置を推定して走行する移動体全般に適用可能である。
【符号の説明】
【0078】
1…走行制御システム、2…移動体、3…走行経路、4…走行制御装置、5…磁気ガイド線(実ガイド線)、6…仮想ガイド線、7,7A,7B…リセット指示マーク、10…位置推定ユニット(位置推定部)、11…磁気ガイドセンサ(ガイド検出部)、12…磁気マークセンサ(マーク検出部)、16…走行モータ(駆動部)、17…操舵モータ(駆動部)、18…記憶部、19…第1ずれ量算出部(走行制御部)、20…第2ずれ量算出部(走行制御部)、21…走行制御部、23…リセット位置設定部、24…減速制御部。