(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-06
(45)【発行日】2023-01-17
(54)【発明の名称】走行制御装置及び走行制御システム
(51)【国際特許分類】
G05D 1/02 20200101AFI20230110BHJP
【FI】
G05D1/02 H
G05D1/02 A
(21)【出願番号】P 2018245211
(22)【出願日】2018-12-27
【審査請求日】2021-03-19
(73)【特許権者】
【識別番号】000003218
【氏名又は名称】株式会社豊田自動織機
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100124062
【氏名又は名称】三上 敬史
(74)【代理人】
【識別番号】100148013
【氏名又は名称】中山 浩光
(72)【発明者】
【氏名】開田 宏介
(72)【発明者】
【氏名】後藤 新矢
【審査官】山村 秀政
(56)【参考文献】
【文献】国際公開第2017/158973(WO,A1)
【文献】特開平09-330122(JP,A)
【文献】特開昭63-005412(JP,A)
【文献】実開昭54-005281(JP,U)
【文献】特開2007-183831(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
データ上で仮想的に設定された仮想ガイド線と、データ上で前記仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有する走行経路に沿って移動体を自動的に走行させる走行制御装置であって、
前記
仮想ガイド線及び前記実ガイド線の位置を記憶する記憶部と、
前記移動体の位置を推定する位置推定部と、
前記記憶部に記憶された前記仮想ガイド線の位置と前記位置推定部により推定された前記移動体の位置とに基づいて、前記仮想ガイド線と前記移動体とのずれ量を算出する第1算出部と、
前記実ガイド線を検出する検出部と、
前記検出部の検出値に基づいて、前記実ガイド線と前記移動体とのずれ量を算出する第2算出部と、
前記第1算出部により算出された前記仮想ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記移動体の駆動部を制御すると共に、前記第2算出部により算出された前記実ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御する走行制御部と、
前記移動体の走行区間が前記仮想ガイド線が設定された第1誘導区間から前記実ガイド線が設置された第2誘導区間に切り替わっても、前記検出部により前記実ガイド線が検出されないときに、前記実ガイド線を前記仮想ガイド線と仮定して、前記移動体を当該仮想ガイド線に沿って走行させると共に前記移動体を減速させるように前記駆動部を制御する速度制御部とを備える走行制御装置。
【請求項2】
前記速度制御部は、前記移動体を減速させるように前記駆動部を制御した後、前記検出部により前記実ガイド線が検出されたときは、前記移動体を加速させるように前記駆動部を制御する請求項1記載の走行制御装置。
【請求項3】
前記速度制御部は、前記移動体が前記第1誘導区間と前記第2誘導区間との切替地点から規定距離だけ走行しても、前記検出部により前記実ガイド線が検出されないときに、前記移動体を前記仮想ガイド線に沿って走行させると共に前記移動体を減速させるように前記駆動部を制御する請求項1または2記載の走行制御装置。
【請求項4】
前記実ガイド線は、磁気ガイド線であり、
前記検出部は、前記磁気ガイド線を検出する磁気センサである請求項1~3の何れか一項記載の走行制御装置。
【請求項5】
移動体を走行経路に沿って自動的に走行させる走行制御装置を具備した走行制御システムであって、
前記走行経路は、データ上で仮想的に設定された仮想ガイド線と、データ上で前記仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有し、
前記走行制御装置は、
前記
仮想ガイド線及び前記実ガイド線の位置を記憶する記憶部と、
前記移動体の位置を推定する位置推定部と、
前記記憶部に記憶された前記仮想ガイド線の位置と前記位置推定部により推定された前記移動体の位置とに基づいて、前記仮想ガイド線と前記移動体とのずれ量を算出する第1算出部と、
前記実ガイド線を検出する検出部と、
前記検出部の検出値に基づいて、前記実ガイド線と前記移動体とのずれ量を算出する第2算出部と、
前記第1算出部により算出された前記仮想ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記仮想ガイド線に沿って走行させるように前記移動体の駆動部を制御すると共に、前記第2算出部により算出された前記実ガイド線と前記移動体とのずれ量に基づいて、前記移動体を前記実ガイド線に沿って走行させるように前記駆動部を制御する走行制御部と、
前記移動体の走行区間が前記仮想ガイド線が設定された第1誘導区間から前記実ガイド線が設置された第2誘導区間に切り替わっても、前記検出部により前記実ガイド線が検出されないときに、前記実ガイド線を前記仮想ガイド線と仮定して、前記移動体を当該仮想ガイド線に沿って走行させると共に前記移動体を減速させるように前記駆動部を制御する速度制御部とを備える走行制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、走行制御装置及び走行制御システムに関する。
【背景技術】
【0002】
従来の走行制御装置としては、例えば特許文献1に記載されているような技術が知られている。特許文献1に記載の走行制御装置は、装置本体と、この装置本体を走行させる走行部とを備えている。装置本体は、回転ファンビームを射出するiGPSトランスミッタを用いて装置本体の位置を推定する第1位置推定部と、画像処理用のCCDカメラ、赤外線カメラ及びレーザレンジファインダ等のセンサにより取得されたデータと地図情報とをマッチングして装置本体の位置を推定する第2位置推定部と、装置本体の位置情報を取得する手段を第1位置推定部と第2位置推定部との間で切り替えて、走行部を制御することにより、装置本体を所定のルートに沿って進行させる制御部とを有している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、移動体を走行経路に沿って走行させる際に、例えば自己位置推定技術を用いて移動体の位置を推定し、その推定結果に基づいて移動体を仮想ガイド線に沿って走行させる誘導方式と、床面に設置された実ガイド線をセンサで検出し、その検出結果に基づいて移動体を実ガイド線に沿って走行させる誘導方式とを切り替えることがある。この場合、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、実ガイド線がセンサにより検出されないと、移動体を実ガイド線に沿って走行させることができない。
【0005】
本発明の目的は、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる走行制御装置及び走行制御システムを提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様は、データ上で仮想的に設定された仮想ガイド線と、データ上で仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有する走行経路に沿って移動体を自動的に走行させる走行制御装置であって、走行経路の位置を記憶する記憶部と、移動体の位置を推定する位置推定部と、記憶部に記憶された仮想ガイド線の位置と位置推定部により推定された移動体の位置とに基づいて、仮想ガイド線と移動体とのずれ量を算出する第1算出部と、実ガイド線を検出する検出部と、検出部の検出値に基づいて、実ガイド線と移動体とのずれ量を算出する第2算出部と、第1算出部により算出された仮想ガイド線と移動体とのずれ量に基づいて、移動体を仮想ガイド線に沿って走行させるように移動体の駆動部を制御すると共に、第2算出部により算出された実ガイド線と移動体とのずれ量に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御する走行制御部と、移動体の走行区間が仮想ガイド線が設定された第1誘導区間から実ガイド線が設置された第2誘導区間に切り替わっても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御する速度制御部とを備える。
【0007】
このような走行制御装置においては、移動体が第1誘導区間を走行するときは、位置推定部により移動体の位置が推定され、仮想ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を仮想ガイド線に沿って走行させるように駆動部が制御される。その後、移動体が第2誘導区間を走行するときは、検出部により実ガイド線が検出され、実ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を実ガイド線に沿って走行させるように駆動部が制御される。ここで、移動体の走行区間が第1誘導区間から第2誘導区間に切り替わっても、検出部により実ガイド線が検出されないときは、移動体を減速させるように駆動部を制御することにより、位置推定部により単位距離当たりに実施される位置推定の回数が増えることになる。従って、位置推定部による単位距離当たりの位置の推定精度が高くなるため、検出部が実ガイド線に重なりやすくなり、検出部により実ガイド線が検出されやすくなる。これにより、移動体の走行区間が第1誘導区間から第2誘導区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【0008】
速度制御部は、移動体を減速させるように駆動部を制御した後、検出部により実ガイド線が検出されたときは、移動体を加速させるように駆動部を制御してもよい。このような構成では、移動体が減速した後に、検出部により実ガイド線が検出されたときは、移動体の走行速度が上昇するため、移動体を目的地点に早く到達させることができる。
【0009】
速度制御部は、移動体が第1誘導区間と第2誘導区間との切替地点から規定距離だけ走行しても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御してもよい。このような構成では、移動体を実ガイド線に沿って走行させる誘導方式を実施できない状態であることを容易に且つ確実に検知することができる。
【0010】
実ガイド線は、磁気ガイド線であり、検出部は、磁気ガイド線を検出する磁気センサであってもよい。このような構成では、走行制御装置及び実ガイド線を具備したシステムを低コストで実現することができる。
【0011】
本発明の他の態様は、移動体を走行経路に沿って自動的に走行させる走行制御装置を具備した走行制御システムであって、走行経路は、データ上で仮想的に設定された仮想ガイド線と、データ上で仮想ガイド線に後続するように床面に設置され、物理的に検出可能な実ガイド線とを有し、走行制御装置は、走行経路の位置を記憶する記憶部と、移動体の位置を推定する位置推定部と、記憶部に記憶された仮想ガイド線の位置と位置推定部により推定された移動体の位置とに基づいて、仮想ガイド線と移動体とのずれ量を算出する第1算出部と、実ガイド線を検出する検出部と、検出部の検出値に基づいて、実ガイド線と移動体とのずれ量を算出する第2算出部と、第1算出部により算出された仮想ガイド線と移動体とのずれ量に基づいて、移動体を仮想ガイド線に沿って走行させるように移動体の駆動部を制御すると共に、第2算出部により算出された実ガイド線と移動体とのずれ量に基づいて、移動体を実ガイド線に沿って走行させるように駆動部を制御する走行制御部と、移動体の走行区間が仮想ガイド線が設定された第1誘導区間から実ガイド線が設置された第2誘導区間に切り替わっても、検出部により実ガイド線が検出されないときに、移動体を減速させるように駆動部を制御する速度制御部とを備える。
【0012】
このような走行制御システムにおいては、移動体が第1誘導区間を走行するときは、位置推定部により移動体の位置が推定され、仮想ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を仮想ガイド線に沿って走行させるように駆動部が制御される。その後、移動体が第2誘導区間を走行するときは、検出部により実ガイド線が検出され、実ガイド線と移動体とのずれ量が算出され、そのずれ量に基づいて移動体を実ガイド線に沿って走行させるように駆動部が制御される。ここで、移動体の走行区間が第1誘導区間から第2誘導区間に切り替わっても、検出部により実ガイド線が検出されないときは、移動体を減速させるように駆動部を制御することにより、位置推定部により単位距離当たりに実施される位置推定の回数が増えることになる。従って、位置推定部による単位距離当たりの位置の推定精度が高くなるため、検出部が実ガイド線に重なりやすくなり、検出部により実ガイド線が検出されやすくなる。これにより、移動体の走行区間が第1誘導区間から第2誘導区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【発明の効果】
【0013】
本発明によれば、移動体の走行区間が仮想ガイド線が設定された区間から実ガイド線が設置された区間に切り替わったときに、移動体を確実に実ガイド線に沿って走行させることができる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る走行制御システムを示す概略構成図である。
【
図2】
図1に示された走行制御装置の構成を示すブロック図である。
【
図3】
図2に示された走行制御部により実行される制御処理手順の詳細を示すフローチャートである。
【
図4】
図2に示された速度制御部により実行される制御処理手順の詳細を示すフローチャートである。
【
図5】移動体の走行区間が仮想誘導区間から磁気誘導区間に切り替わるときに、移動体が走行する様子と自己位置推定器による移動体の推定結果算出位置とを示す概念図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0016】
図1は、本発明の一実施形態に係る走行制御システムを示す概略構成図である。
図1において、本実施形態の走行制御システム1は、例えばフォークリフト等の移動体2をスタート地点3Aから目的地点3Bまで無人で走行させるシステムである。走行制御システム1は、移動体2をスタート地点3Aから目的地点3Bまでの走行経路3に沿って自動的に走行させる走行制御装置10を具備している。
【0017】
走行経路3は、データ上で仮想的に設定された仮想ガイド線4と、床面に実際に設置され、物理的に検出可能な実ガイド線である磁気ガイド線5とを有している。磁気ガイド線5は、データ上で仮想ガイド線4に後続するように仮想ガイド線4よりも目的地点3B側に設置されている。
【0018】
仮想ガイド線4が設定された区間は、移動体2を仮想ガイド線4に沿って走行させる仮想誘導方式が実施される仮想誘導区間P(第1誘導区間)である。磁気ガイド線5が設置された区間は、移動体2を磁気ガイド線5に沿って走行させる磁気誘導方式が実施される磁気誘導区間Q(第2誘導区間)である。
【0019】
スタート地点3A及び目的地点3Bを含む走行経路3の位置は、2次元座標(XY座標)で表されている。ここでは、スタート地点3Aの2次元座標は、(0,0)である。目的地点3Bの2次元座標は、(100,0)である。なお、
図1では、走行経路3は、直線経路となっているが、曲線経路であってもよい。
【0020】
仮想誘導区間Pには、仮想マーク6が設定されている。磁気誘導区間Qの床面には、磁気マーク7が設置されている。仮想マーク6及び磁気マーク7は、移動体2が走行を行うための走行指示データを関連付けた走行指示用マーク8である。仮想マーク6は、データ上で仮想的に設定されたマークである。磁気マーク7は、物理的に検出可能なマークである。磁気マーク7は、床面における磁気ガイド線5の脇に埋設されている。ここでは、スタート地点3Aから1つ目(1番)の走行指示用マーク8は、仮想マーク6である。スタート地点3Aから2つ目(2番)及び3つ目(3番)の走行指示用マーク8は、磁気マーク7である。
【0021】
図2は、走行制御装置10の構成を示すブロック図である。
図2において、走行制御装置10は、移動体2に搭載されている。走行制御装置10は、自己位置推定器11と、2つの磁気ガイドセンサ12と、磁気マークセンサ13と、自動走行制御ユニット14とを備えている。
【0022】
自己位置推定器11は、移動体2の位置を推定する位置推定部である。自己位置推定器11は、SLAM(simultaneous localization andmapping)手法を用いて、移動体2の自己位置を推定する。SLAMは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。SLAMは、レーザレンジスキャナー等を利用して、自己位置推定と環境地図の作成とを同時に行う。
【0023】
自己位置推定器11は、レーザセンサ15と、エンコーダ16と、ジャイロセンサ17と、SLAMコントローラ18とを有している。レーザセンサ15は、移動体2の周囲にレーザ光を照射し、その反射光を受光することにより、移動体2の周囲の物体までの距離を検出する。エンコーダ16は、移動体2の位置を計測することにより、移動体2の移動量を検出する。ジャイロセンサ17は、移動体2の角速度を計測することにより、移動体2の回動量を検出する。
【0024】
SLAMコントローラ18は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。SLAMコントローラ18は、レーザセンサ15により検出された移動体2の周囲の物体までの距離と移動体2の周囲の環境地図データとに基づいて、移動体2の自己位置の推定演算を行う。移動体2の位置は、2次元座標(XY座標)及び向きで表される。
【0025】
このとき、SLAMコントローラ18は、エンコーダ16により検出された移動体2の移動量とジャイロセンサ17により検出された移動体2の回動量とに基づき、例えばパーティクルフィルタ(逐次モンテカルロ法)と呼ばれる時系列データの予測手法を用いて、移動体2の自己位置を確率的に推定する。
【0026】
パーティクルフィルタでは、現状態から起こりうる多数の次状態を多数のパーティクル(粒子)で表現し、全パーティクルの尤度(追跡したい対象物らしさ)に従って算出された重みつき平均を次状態であると推測して追跡を行う。
【0027】
具体的には、まず前フレームでの尤度(重み)に従って、パーティクルを撒き直す(リサンプリングステップ)。続いて、適当なモデルを使って現フレームにおける追跡対象の位置を推定し、パーティクルを少し動かす(推定ステップ)。続いて、現フレームにおける各パーティクルの尤度及び重み(正規化)を計算する(観測ステップ)。このとき、推定結果から得られた実際の追跡対象の位置に近いパーティクルの重みを大きくする。そして、重みが大きいパーティクルが集中している領域が追跡対象となる。
【0028】
磁気ガイドセンサ12は、移動体2の下部の前後にそれぞれ取り付けられている(
図5参照)。なお、
図5では、磁気ガイドセンサ12の位置が概略的に示されている。磁気ガイドセンサ12は、磁気ガイド線5を検出する磁気センサ(検出部)である。磁気ガイドセンサ12は、移動体2の幅方向(左右方向)に延びている。磁気ガイドセンサ12を移動体2に前後2つ設けることにより、移動体2と磁気ガイド線5との位置のずれ量だけでなく、移動体2と磁気ガイド線5との向きのずれ量も検知することができる。
【0029】
磁気ガイドセンサ12は、磁気ガイド線5に重なる位置に応じた電気信号を検出値として出力する。例えば、磁気ガイドセンサ12の長手方向の中央部が磁気ガイド線5に重なる状態と、磁気ガイドセンサ12の長手方向の端部が磁気ガイド線5に重なる状態とで、磁気ガイドセンサ12の出力値(検出値)が異なる。従って、磁気ガイドセンサ12の検出値によって、磁気ガイドセンサ12と磁気ガイド線5との位置関係を判定することが可能である。
【0030】
磁気マークセンサ13は、特に図示はしないが、移動体2の下部に取り付けられている。磁気マークセンサ13は、磁気マーク7を検出する磁気センサである。
【0031】
自動走行制御ユニット14は、自己位置推定器11により推定された移動体2の位置と磁気ガイドセンサ12及び磁気マークセンサ13の検出値とに基づいて、所定の処理を行い、移動体2をスタート地点3Aから目的地点3Bまで自動的に走行させるように走行モータ19及び操舵モータ20を制御する。
【0032】
走行モータ19は、走行輪(図示せず)を回転駆動させるモータである。操舵モータ20は、操舵輪(図示せず)を回転駆動させるモータである。走行モータ19及び操舵モータ20は、移動体2の駆動部を構成している。
【0033】
自動走行制御ユニット14は、CPU、RAM、ROM及び入出力インターフェース等により構成されている。自動走行制御ユニット14は、記憶部21と、第1ずれ量算出部22(第1算出部)と、仮想マーク検知部23と、第2ずれ量算出部24(第2算出部)と、走行制御部25と、速度制御部26とを有している。
【0034】
記憶部21は、走行経路3及び走行指示用マーク8の位置と走行指示データ等といった移動体2の走行に関する情報を記憶する。記憶部21は、走行経路3及び走行指示用マーク8の位置を2次元座標として記憶している。走行指示データは、上述したように走行指示用マーク8に関連付けられている。走行指示データとしては、例えば加速指示、停止指示、右折指示及び左折指示等がある。
【0035】
第1ずれ量算出部22は、記憶部21に記憶された仮想ガイド線4の位置と自己位置推定器11により推定された移動体2の位置とに基づいて、仮想ガイド線4と移動体2とのずれ量を算出する。このとき、第1ずれ量算出部22は、仮想ガイド線4の位置座標と移動体2の位置座標とのずれ量と、仮想ガイド線4の向きと移動体2の向きとのずれ量とを算出する。
【0036】
仮想マーク検知部23は、記憶部21に記憶された仮想マーク6の位置と自己位置推定器11により推定された移動体2の位置とに基づいて、仮想マーク6を検知する。具体的には、仮想マーク検知部23は、2次元座標上において移動体2が仮想マーク6に重なったとき、または2次元座標上において移動体2が仮想マーク6を通過したときに、仮想マーク6が検知されたと判定する。
【0037】
第2ずれ量算出部24は、磁気ガイドセンサ12の検出値に基づいて、磁気ガイド線5と移動体2とのずれ量を算出する。このとき、第2ずれ量算出部24は、磁気ガイド線5の位置座標と移動体2の位置座標とのずれ量と、磁気ガイド線5の向きと移動体2の向きとのずれ量とを算出する。
【0038】
走行制御部25は、第1ずれ量算出部22により算出された仮想ガイド線4と移動体2とのずれ量に基づいて、移動体2を仮想ガイド線4に沿って走行させるように走行モータ19及び操舵モータ20を制御する。また、走行制御部25は、第2ずれ量算出部24により算出された磁気ガイド線5と移動体2とのずれ量に基づいて、移動体2を磁気ガイド線5に沿って走行させるように走行モータ19及び操舵モータ20を制御する。
【0039】
さらに、走行制御部25は、仮想マーク検知部23により仮想マーク6が検知されたときに、当該仮想マーク6に関連付けられた走行指示データに従って移動体2を走行させるように走行モータ19及び操舵モータ20を制御する。また、走行制御部25は、磁気マークセンサ13により磁気マーク7が検出されたときに、当該磁気マーク7に関連付けられた走行指示データに従って移動体2を走行させるように走行モータ19及び操舵モータ20を制御する。
【0040】
速度制御部26は、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わっても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときに、移動体2を減速させるように走行モータ19を制御する。また、速度制御部26は、移動体2を減速させるように走行モータ19を制御した後、磁気ガイドセンサ12により磁気ガイド線5が検出されたときは、移動体2を加速させるように走行モータ19を制御する。
【0041】
図3は、走行制御部25により実行される制御処理手順の詳細を示すフローチャートである。本処理は、スタート地点3Aから目的地点3Bに向けての移動体2の走行が開始されると、実行される。
【0042】
図3において、走行制御部25は、まず後述する誘導方式切替フラグが0であるかどうかを判断する(手順S101)。走行制御部25は、誘導方式切替フラグが0であると判断したときは、仮想マーク検知部23により仮想マーク6が検知されたかどうかを判断する(手順S102)。
【0043】
走行制御部25は、仮想マーク6が検知されたと判断したときは、当該仮想マーク6に相当する走行指示用マーク8の番号に対応した走行指示データを記憶部21から取得する(手順S103)。そして、走行制御部25は、取得した走行指示データに応じた制御信号を走行モータ19及び操舵モータ20に出力する(手順S104)。走行制御部25は、例えば取得した走行指示データが加速指示である場合には、走行モータ19の回転速度を高くするような制御信号を走行モータ19に出力する。これにより、移動体2の走行速度が上昇するようになる。
【0044】
走行制御部25は、手順S104が実行された後、または手順S102で仮想マーク6が検知されていないと判断したときは、第1ずれ量算出部22により算出された仮想ガイド線4と移動体2とのずれ量を取得する(手順S105)。そして、走行制御部25は、仮想ガイド線4と移動体2とのずれ量が0となるような制御信号を走行モータ19及び操舵モータ20に出力する(手順S106)。これにより、移動体2の位置座標及び向きが仮想ガイド線4に近づくようになる。
【0045】
走行制御部25は、手順S101で誘導方式切替フラグが0でない、つまり誘導方式切替フラグが1であると判断したときは、磁気マークセンサ13により磁気マーク7が検出されたかどうかを判断する(手順S107)。
【0046】
走行制御部25は、磁気マーク7が検出されたと判断したときは、当該磁気マーク7に相当する走行指示用マーク8の番号に対応した走行指示データを記憶部21から取得する(手順S108)。そして、走行制御部25は、取得した走行指示データに応じた制御信号を走行モータ19及び操舵モータ20に出力する(手順S109)。走行制御部25は、例えば取得した走行指示データが停止指示である場合には、走行モータ19の回転を停止させるような制御信号を走行モータ19に出力する。これにより、移動体2が停止するようになる。
【0047】
走行制御部25は、手順S109が実行された後、または手順S107で磁気マーク7が検出されていないと判断したときは、第2ずれ量算出部24により算出された磁気ガイド線5と移動体2とのずれ量を取得する(手順S110)。そして、走行制御部25は、磁気ガイド線5と移動体2とのずれ量が0となるような制御信号を走行モータ19及び操舵モータ20に出力する(手順S111)。これにより、移動体2の位置座標及び向きが磁気ガイド線5に近づくようになる。
【0048】
走行制御部25は、手順S106または手順S111が実行された後、移動体2が目的地点3Bに達したかどうかを判断する(手順S112)。走行制御部25は、移動体2が目的地点3Bに達していないと判断したときは、手順S101を再び実行する。走行制御部25は、移動体2が目的地点3Bに達したと判断したときは、本処理を終了する。
【0049】
図4は、速度制御部26により実行される制御処理手順の詳細を示すフローチャートである。本処理も、走行制御部25と同様に、スタート地点3Aから目的地点3Bに向けての移動体2の走行が開始されると、実行される。なお、本処理の実行前は、誘導方式切替フラグは0にセットされている。
【0050】
図4において、速度制御部26は、まず自己位置推定器11により推定された移動体2の位置を取得する(手順S121)。続いて、速度制御部26は、移動体2の推定位置に基づいて、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わったかどうかを判断する(手順S122)。速度制御部26は、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わっていないと判断したときは、手順S121を再び実行する。
【0051】
速度制御部26は、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わったと判断したときは、磁気ガイドセンサ12の検出値に基づいて、磁気ガイドセンサ12により磁気ガイド線5が検出されたかどうかを判断する(手順S123)。
【0052】
このとき、速度制御部26は、磁気ガイドセンサ12の長手方向の中心を0、磁気ガイドセンサ12の長手方向の両端を1としたときに、例えば磁気ガイドセンサ12における比率が0.7以下となる領域が磁気ガイド線5に重なるときに、磁気ガイド線5が検出されたと判定する。これにより、磁気ガイドセンサ12により磁気ガイド線5が検出されたかどうかを正確に判定することができる。
【0053】
速度制御部26は、磁気ガイドセンサ12により磁気ガイド線5が検出されたと判断したときは、誘導方式切替フラグを1にセットする(手順S124)。誘導方式切替フラグは、移動体2の誘導方式を仮想誘導方式から磁気誘導方式に切り替えるためのフラグである。
【0054】
速度制御部26は、磁気ガイドセンサ12により磁気ガイド線5が検出されていないと判断したときは、移動体2が仮想誘導区間Pと磁気誘導区間Qとの切替地点R(
図1参照)から規定距離(例えば数m)だけ走行したかどうかを判断する(手順S125)。
【0055】
速度制御部26は、移動体2が切替地点Rから規定距離だけ走行したと判断したときは、移動体2を減速させるような制御信号を走行モータ19に出力する(手順S126)。このとき、速度制御部26は、例えば移動体2の走行速度を1/2以下とするような制御信号を走行モータ19に出力する。これにより、移動体2の走行速度が下がるようになる。
【0056】
その後、速度制御部26は、磁気ガイドセンサ12の検出値に基づいて、磁気ガイドセンサ12により磁気ガイド線5が検出されたかどうかを判断する(手順S127)。速度制御部26は、磁気ガイドセンサ12により磁気ガイド線5が検出されたと判断したときは、移動体2を加速させるような制御信号を走行モータ19に出力する(手順S128)。このとき、速度制御部26は、移動体2が減速する直前の速度まで移動体2を加速させるような制御信号を走行モータ19に出力する。この場合には、移動体2は、減速直前と同じ走行条件で走行することになる。そして、速度制御部26は、誘導方式切替フラグを1にセットする(手順S124)。
【0057】
以上のように構成された走行制御システム1において、移動体2は、まず仮想誘導区間Pにおいて仮想誘導方式に従って走行する。つまり、移動体2は、自己位置推定器11により推定された移動体2の位置に基づき、仮想ガイド線4に沿って走行する。その後、移動体2は、磁気誘導区間Qにおいて磁気誘導方式に従って走行する。つまり、移動体2は、磁気ガイドセンサ12の検出値に基づき、磁気ガイド線5に沿って走行する。ここで、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替えられたときは、移動体2の誘導方式を一定区間で仮想誘導方式から磁気誘導方式に切り替える必要がある。
【0058】
しかし、
図5(a)に示されるように、磁気ガイドセンサ12が磁気ガイド線5上に無いと、磁気ガイドセンサ12により磁気ガイド線5が検出されないため、移動体2の誘導方式を磁気誘導方式に切り替えることができない。このため、移動体2が磁気誘導区間Qを走行しているにも関わらず、磁気ガイド線5を仮想ガイド線と仮定して、仮想誘導方式が実施されることになる。この場合、自己位置推定器11による移動体2の位置推定の計算には時間がかかるため、移動体2の誘導方式を所望の区間で磁気誘導方式に切り替えることは困難である。
【0059】
そこで、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わっても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときは、移動体2を減速させるようにする。つまり、仮想誘導区間Pと磁気誘導区間Qにおける最初の区間とは、移動体2が通常速度で走行する通常速度区間V1である。磁気誘導区間Qにおける通常速度区間V1よりも後の区間は、移動体2が低速で走行する低速区間V2となる。なお、その後で移動体2を加速させたときは、磁気誘導区間Qにおける低速区間V2よりも後の区間は、再び通常速度区間V1となる。
【0060】
このように移動体2を減速させることにより、
図5(b)に示されるように、低速区間V2では、通常速度区間V1に比べて、自己位置推定器11により単位距離当たりに実施される位置推定の回数が増えることになる。従って、自己位置推定器11による単位距離当たりの位置の推定精度が高くなるため、磁気ガイドセンサ12が磁気ガイド線5に重なる確率が高くなる。その理由は、以下の通りである。
【0061】
即ち、上述したように位置推定演算としてパーティクルフィルタを用いる場合は、推定ステップにおいてパーティクルを移動させる必要があるが、パーティクルの移動量はエンコーダ16及びジャイロセンサ17の検出値で決まる。このとき、推定位置の間隔が短いほど、エンコーダ16及びジャイロセンサ17の検出値の誤差量が少なくなるため、位置の推定精度が高くなる。また、推定位置の間隔が短いほど、推定位置付近での確率密度分布が真値に近づくため、位置の推定精度が高くなる。
【0062】
以上のように本実施形態によれば、移動体2が仮想誘導区間Pを走行するときは、自己位置推定器11により移動体2の位置が推定され、仮想ガイド線4と移動体2とのずれ量が算出され、そのずれ量に基づいて移動体2を仮想ガイド線4に沿って走行させるように走行モータ19及び操舵モータ20が制御される。その後、移動体2が磁気誘導区間Qを走行するときは、磁気ガイドセンサ12により磁気ガイド線5が検出され、磁気ガイド線5と移動体2とのずれ量が算出され、そのずれ量に基づいて移動体2を磁気ガイド線5に沿って走行させるように走行モータ19及び操舵モータ20が制御される。ここで、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わっても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときは、移動体2を減速させるように走行モータ19を制御することにより、自己位置推定器11により単位距離当たりに実施される位置推定の回数が増えることになる。従って、自己位置推定器11による単位距離当たりの位置の推定精度が高くなるため、磁気ガイドセンサ12が磁気ガイド線5に重なりやすくなり、磁気ガイドセンサ12により磁気ガイド線5が検出されやすくなる。これにより、移動体2の走行区間が仮想誘導区間Pから磁気誘導区間Qに切り替わったときに、移動体2を確実に磁気ガイド線5に沿って走行させることができる。
【0063】
また、本実施形態では、移動体2が減速した後に、磁気ガイドセンサ12により磁気ガイド線5が検出されたときは、移動体2を加速させることにより、移動体2の走行速度が上昇するため、移動体2を目的地点3Bに早く到達させることができる。
【0064】
また、本実施形態では、移動体2が仮想誘導区間Pと磁気誘導区間Qとの切替地点Rから規定距離だけ走行しても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときに、移動体2を減速させるので、移動体2を磁気ガイド線5に沿って走行させる磁気誘導方式を実施できない状態であることを容易に且つ確実に検知することができる。
【0065】
また、本実施形態では、床面に磁気ガイド線5を設置し、その磁気ガイド線5を磁気ガイドセンサ12により検出することにより、走行制御システム1を低コストで実現することができる。
【0066】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、移動体2が仮想誘導区間Pと磁気誘導区間Qとの切替地点Rから規定距離だけ走行しても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときに、移動体2を減速させているが、特にその形態には限られず、移動体2の走行速度が予め決まっているのであれば、移動体2が仮想誘導区間Pと磁気誘導区間Qとの切替地点Rから所定時間だけ走行しても、磁気ガイドセンサ12により磁気ガイド線5が検出されないときに、移動体2を減速させてもよい。
【0067】
また、上記実施形態では、移動体2を減速させた後、磁気ガイドセンサ12により磁気ガイド線5が検出されたときは、移動体2が減速する直前の速度まで移動体2を加速させているが、特にその形態には限られず、移動体2が減速する直前の速度よりも高い速度まで移動体2を加速させてもよいし、或いは移動体2が減速する直前の速度よりも低い速度まで移動体2を加速させてもよい。また、移動体2を減速させた後に、磁気ガイドセンサ12により磁気ガイド線5が検出されても、移動体2を加速させなくてもよい。
【0068】
また、上記実施形態では、磁気ガイド線5が物理的に検出可能な実ガイド線として床面に設置されているが、実ガイド線としては特にそれには限られず、例えば電磁ガイド線等であってもよい。実ガイド線としては電磁ガイド線を用いる場合は、電磁ガイド線を検出する電磁センサが使用される。
【0069】
また、上記実施形態では、自己位置推定器11は、自己位置推定技術としてレーザを利用したSLAM手法を用いて、移動体2の位置を推定しているが、自己位置推定技術としては、特にそれには限られず、カメラの撮像画像を利用したSLAM手法または衛星を利用したGNSS(globalnavigation satellite system)測位法等を用いてもよい。
【0070】
また、上記実施形態の走行制御装置10は、移動体2としてフォークリフトを走行経路3に沿って自動的に走行させる装置であるが、本発明は、例えば搬送台車等のような自動走行可能な移動体全般に適用可能である。
【符号の説明】
【0071】
1…走行制御システム、2…移動体、3…走行経路、4…仮想ガイド線、5…磁気ガイド線(実ガイド線)、10…走行制御装置、11…自己位置推定器(位置推定部)、12…磁気ガイドセンサ(磁気センサ、検出部)、19…走行モータ(駆動部)、20…操舵モータ(駆動部)、21…記憶部、22…第1ずれ量算出部(第1算出部)、24…第2ずれ量算出部(第2算出部)、25…走行制御部、26…速度制御部、P…仮想誘導区間(第1誘導区間)、Q…磁気誘導区間(第2誘導区間)、R…切替地点。