(57)【要約】【課題】周囲環境の変化が激しい場所において、移動体の位置の推定精度の悪化を抑制することができる走行制御装置を提供する。【解決手段】走行制御装置４は、移動体２の位置を推定する位置推定ユニット６と、移動体２の位置に基づいて、移動体２を仮想ガイド線３に沿って走行させるように制御する駆動制御部１６とを備え、位置推定ユニット６は、移動体２の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体２の周囲の物体までの距離を検出するレーザセンサ９と、レーザセンサ９の検出データに基づいて、移動体２の位置の推定演算を行うＳＬＡＭコントローラ１０とを有し、ＳＬＡＭコントローラ１０は、移動体２が可動物３１が存在する場所を走行するときは、レーザセンサ９の検出データの検出範囲として可動物３１を避けるように通常検出範囲Ｐよりも狭く設定された有効検出範囲Ｑのみを推定演算に使用する。【選択図】図２
2020119011.tif 000002
【特許請求の範囲】
【請求項１】
移動体を走行経路に沿って自動的に走行させる走行制御装置において、
前記移動体の位置を推定する位置推定ユニットと、
前記位置推定ユニットにより推定された前記移動体の位置に基づいて、前記移動体を前記走行経路に沿って走行させるように前記移動体の駆動部を制御する制御部とを備え、
前記位置推定ユニットは、
前記移動体の周囲にレーザを照射し、レーザの反射光を受光することにより、前記移動体の周囲の物体までの距離を検出する距離検出部と、
前記距離検出部の検出データに基づいて、前記移動体の位置の推定演算を行う推定演算部とを有し、
前記推定演算部は、前記移動体が周囲環境を変化させる可動物が存在しない場所を走行するときは、前記距離検出部の検出データの検出範囲として予め設定された通常検出範囲を前記移動体の位置の推定演算に使用し、前記移動体が前記可動物が存在する場所を走行するときは、前記距離検出部の検出データの検出範囲として前記可動物を避けるように前記通常検出範囲よりも狭く設定された有効検出範囲のみを前記移動体の位置の推定演算に使用し、前記距離検出部の検出データの検出範囲のうち前記有効検出範囲以外の範囲を前記移動体の位置の推定演算に使用しない走行制御装置。
【請求項２】
前記有効検出範囲は、前記距離検出部の検出データの検出角度が前記可動物を避けるように前記通常検出範囲よりも小さくなっている請求項１記載の走行制御装置。
【請求項３】
前記有効検出範囲は、前記距離検出部の検出データの検出距離が前記可動物を避けるように前記通常検出範囲よりも短くなっている請求項１または２記載の走行制御装置。
【請求項４】
前記可動物の位置と前記可動物に対応する前記有効検出範囲とを記憶する記憶部と、
前記位置推定ユニットにより推定された前記移動体の位置に基づいて、前記移動体が前記可動物が存在する場所を走行すると判断したときに、前記記憶部に記憶された前記有効検出範囲を前記推定演算部に通知する通知部とを更に備える請求項１〜３の何れか一項記載の走行制御装置。
【請求項５】
前記位置推定ユニットは、前記可動物の位置と前記可動物に対応する前記有効検出範囲とを記憶する記憶部を更に有し、
前記推定演算部は、最新の推定演算結果に基づいて、前記移動体が前記可動物が存在する場所を走行すると判断したときに、前記記憶部から前記有効検出範囲を取得する請求項１〜３の何れか一項記載の走行制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、走行制御装置に関する。
【背景技術】
【０００２】
従来の走行制御装置としては、例えば特許文献１に記載されているような技術が知られている。特許文献１に記載の走行制御装置は、レーザを発射し、その反射光を検知して物体までの距離を測定するレーザ距離センサと、無人搬送車が走行する走行エリアの番地と走行エリアに設定されている座標との対応情報を格納するデータメモリと、レーザ距離センサからの計測データと地図データとをマッチングさせて無人搬送車の現在位置を推定し、その推定結果に基づいて無人搬送車を経路データに従って走行させる処理部とを備えている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２５３４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術においては、以下の問題点が存在する。即ち、例えば開閉シャッターが存在する場所やトラックが通過する集荷場等といった周囲環境の変化が激しい場所では、レーザ距離センサにより計測された距離データと地図データとが不一致となることが多いため、無人搬送車の位置の推定精度が悪化してしまう。
【０００５】
本発明の目的は、周囲環境の変化が激しい場所において、移動体の位置の推定精度の悪化を抑制することができる走行制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、移動体を走行経路に沿って自動的に走行させる走行制御装置において、移動体の位置を推定する位置推定ユニットと、位置推定ユニットにより推定された移動体の位置に基づいて、移動体を走行経路に沿って走行させるように移動体の駆動部を制御する制御部とを備え、位置推定ユニットは、移動体の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体の周囲の物体までの距離を検出する距離検出部と、距離検出部の検出データに基づいて、移動体の位置の推定演算を行う推定演算部とを有し、推定演算部は、移動体が周囲環境を変化させる可動物が存在しない場所を走行するときは、距離検出部の検出データの検出範囲として予め設定された通常検出範囲を移動体の位置の推定演算に使用し、移動体が可動物が存在する場所を走行するときは、距離検出部の検出データの検出範囲として可動物を避けるように通常検出範囲よりも狭く設定された有効検出範囲のみを移動体の位置の推定演算に使用し、距離検出部の検出データの検出範囲のうち有効検出範囲以外の範囲を移動体の位置の推定演算に使用しない。
【０００７】
このような走行制御装置においては、距離検出部によって、移動体の周囲にレーザを照射することで、移動体の周囲の物体までの距離が検出され、推定演算部によって、距離検出部の検出データに基づいて移動体の位置の推定演算が行われる。ここで、移動体が周囲環境を変化させる可動物が存在する場所を走行するときは、距離検出部の検出データの検出範囲として可動物を避けるように通常検出範囲よりも狭く設定された有効検出範囲のみが移動体の位置の推定演算に使用され、距離検出部の検出データの検出範囲のうち有効検出範囲以外の範囲は移動体の位置の推定演算に使用されない。従って、周囲環境の変化が激しい場所において移動体の位置の推定演算を行う際に、周囲環境の変化の影響を受けにくくなる。これにより、周囲環境の変化が激しい場所において、移動体の位置の推定精度の悪化が抑制される。
【０００８】
有効検出範囲は、距離検出部の検出データの検出角度が可動物を避けるように通常検出範囲よりも小さくなっていてもよい。このような構成では、有効検出範囲を通常検出範囲よりも確実に狭くすることができる。
【０００９】
有効検出範囲は、距離検出部の検出データの検出距離が可動物を避けるように通常検出範囲よりも短くなっていてもよい。このような構成でも、有効検出範囲を通常検出範囲よりも確実に狭くすることができる。
【００１０】
走行制御装置は、可動物の位置と可動物に対応する有効検出範囲とを記憶する記憶部と、位置推定ユニットにより推定された移動体の位置に基づいて、移動体が可動物が存在する場所を走行すると判断したときに、記憶部に記憶された有効検出範囲を推定演算部に通知する通知部とを更に備えてもよい。このような構成では、移動体が周囲環境を変化させる可動物が存在する場所を走行するかどうかの判断を位置推定ユニットで行わなくて済むため、位置推定ユニットの構成及び処理を簡素化することができる。
【００１１】
位置推定ユニットは、可動物の位置と可動物に対応する有効検出範囲とを記憶する記憶部を更に有し、推定演算部は、最新の推定演算結果に基づいて、移動体が可動物が存在する場所を走行すると判断したときに、記憶部から有効検出範囲を取得してもよい。このような構成では、位置推定ユニットの記憶部に有効検出範囲が予め保存されているため、有効検出範囲を外部から受け取らなくて済む。
【発明の効果】
【００１２】
本発明によれば、周囲環境の変化が激しい場所において、移動体の位置の推定精度の悪化を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係る走行制御装置を備えた走行制御システムを示す概略構成図である。
【図２】図１に示された走行制御装置の構成を示すブロック図である。
【図３】図２に示されたＳＬＡＭコントローラにより実行される演算処理手順の詳細を示すフローチャートである。
【図４】図２に示されたＳＬＡＭコントローラにおいて設定されるレーザセンサの検出データの通常検出範囲及び有効検出範囲を示す概念図である。
【図５】図２に示された有効検出範囲通知部により実行される通知処理手順の詳細を示すフローチャートである。
【図６】図２に示された駆動制御部により実行される制御処理手順の詳細を示すフローチャートである。
【図７】図４に示されたレーザセンサの検出データの検出範囲を切り替えて、移動体の位置の推定演算を行う様子を示す概念図である。
【図８】比較例として、レーザセンサの検出データの検出範囲を切り替えずに、移動体の位置の推定演算を行う様子を示す概念図である。
【図９】レーザセンサの検出データの検出範囲の切替有無に応じた移動体の位置の推定結果を比較して示す概念図である。
【図１０】本発明の第２実施形態に係る走行制御装置の構成を示すブロック図である。
【図１１】図１０に示されたＳＬＡＭコントローラにより実行される演算処理手順の詳細を示すフローチャートである。
【図１２】ＳＬＡＭコントローラにおいて設定される有効検出範囲の変形例を示す概念図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、図面において、同一または同等の要素には同じ符号を付し、重複する説明を省略する。
【００１５】
図１は、本発明の第１実施形態に係る走行制御装置を備えた走行制御システムを示す概略構成図である。図１において、走行制御システム１は、例えばフォークリフト等の移動体２をスタート地点３Ａから目的地点３Ｂまで無人で走行させるシステムである。なお、移動体２の進行方向としては、前進でもよいし、後進でもよい。
【００１６】
走行制御システム１は、移動体２をスタート地点３Ａから目的地点３Ｂまでの走行経路である仮想ガイド線３に沿って自動的に走行させる走行制御装置４と、移動体２が走行を行うための走行指示データを関連付けた磁気マーク５とを具備している。
【００１７】
仮想ガイド線３は、データ上で仮想的に設定された走行経路である。なお、図１では、仮想ガイド線３は、直線経路となっているが、曲線経路であってもよい。スタート地点３Ａ及び目的地点３Ｂを含む仮想ガイド線３の位置は、２次元座標（ＸＹ座標）で表されている。ここでは、スタート地点３Ａの２次元座標は、（０，０）である。目的地点３Ｂの２次元座標は、（１００，０）である。磁気マーク５は、床面に設置されている。磁気マーク５は、床面における仮想ガイド線３の脇に相当する位置に埋設されている。
【００１８】
図２は、走行制御装置４の構成を示すブロック図である。図２において、本実施形態の走行制御装置４は、移動体２に搭載されている。走行制御装置４は、位置推定ユニット６と、磁気マークセンサ７と、自動走行制御ユニット８とを備えている。
【００１９】
位置推定ユニット６は、移動体２の位置を推定する。位置推定ユニット６は、例えばＳＬＡＭ（simultaneous localization and mapping）手法を用いて、移動体２の自己位置を推定する。ＳＬＡＭは、センサデータ及び地図データを使って自己位置推定を行う自己位置推定技術である。ＳＬＡＭは、レーザレンジスキャナー等を利用して、自己位置推定と環境地図の作成とを同時に行う。位置推定ユニット６は、レーザセンサ９と、ＳＬＡＭコントローラ１０とを有している。
【００２０】
レーザセンサ９は、移動体２の周囲にレーザを照射し、レーザの反射光を受光することにより、移動体２の周囲の物体までの距離を検出する距離検出部である。レーザセンサ９としては、例えばレーザレンジファインダが用いられる。レーザセンサ９は、レーザを扇状に照射する（図４参照）。具体的には、レーザセンサ９は、移動体２の真後ろの方向を中心した所定の角度範囲（ここでは２７０度）にレーザを照射する。レーザセンサ９から照射されたレーザは静止物体３０（図４参照）に当たり、その静止物体３０で反射したレーザ光（反射光）がレーザセンサ９で受光される。静止物体３０は、建物の壁や柱等である。
【００２１】
ＳＬＡＭコントローラ１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。ＳＬＡＭコントローラ１０は、レーザセンサ９の検出データに基づいて、移動体２の位置の推定演算を行う推定演算部である。具体的には、ＳＬＡＭコントローラ１０は、レーザセンサ９により検出された静止物体３０までの距離データと移動体２の周囲環境の地図データとをマッチングさせて、移動体２の位置の推定演算を行う。移動体２の位置は、２次元座標（ＸＹ座標）及び向きで表される。
【００２２】
図３は、ＳＬＡＭコントローラ１０により実行される演算処理手順の詳細を示すフローチャートである。本処理は、スタート地点３Ａから目的地点３Ｂに向けての移動体２の走行が開始されると、実行される。
【００２３】
図３において、ＳＬＡＭコントローラ１０は、まずレーザセンサ９の検出データを取得する（手順Ｓ１０１）。続いて、ＳＬＡＭコントローラ１０は、自動走行制御ユニット８から検出範囲切替指示が有効検出範囲と共に通知されたかどうかを判断する（手順Ｓ１０２）。検出範囲切替指示は、レーザセンサ９の検出データの検出範囲を通常検出範囲Ｐから有効検出範囲Ｑに切り替える指示である。
【００２４】
通常検出範囲Ｐは、図４（ａ）に示されるように、移動体２が周囲環境を変化させる可動物３１（図４（ｂ）参照）が存在しない場所を走行するときに、移動体２の位置の推定演算に使用されるレーザセンサ９の検出データの検出範囲であり、予め設定されている。周囲環境を変化させる可動物３１は、建物の壁や柱等のような静止物体ではなく、状況によって動くことがあり変化する物を指す。可動物３１としては、例えば他の移動体２の出入りによって開いた状態と閉じた状態となるシャッターや、荷物の積み下ろしをしている集荷所のトラック等が挙げられる。そして、可動物３１であるシャッタの開閉やトラックの有無によって、移動体２の周囲の環境（静止物体として認識する物）が変化する。通常検出範囲Ｐは、例えばレーザセンサ９の検出データの全範囲である。
【００２５】
有効検出範囲Ｑは、図４（ｂ）に示されるように、移動体２が周囲環境を変化させる可動物３１が存在する場所を走行するときに、移動体２の位置の推定演算に使用されるレーザセンサ９の検出データの検出範囲である。有効検出範囲Ｑは、可動物３１を避けるように可動物３１の位置に応じて通常検出範囲Ｐよりも狭く設定されている。
【００２６】
有効検出範囲Ｑは、レーザセンサ９の検出データの検出角度が可動物３１を避けるように可動物３１の位置に応じて通常検出範囲Ｐよりも小さくなっている。ここでは、有効検出範囲Ｑは、通常検出範囲Ｐの半分に設定されている。つまり、有効検出範囲Ｑの検出角度は、通常検出範囲Ｐの検出角度の１／２となっている。より具体的には、有効検出範囲Ｑは、レーザセンサ９の検出データの全範囲のうち可動物３１が存在しない左右片側半分の角度範囲に設定されている。
【００２７】
ＳＬＡＭコントローラ１０は、手順Ｓ１０２で検出範囲切替指示が通知されていないと判断したときは、レーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算を行う（手順Ｓ１０３）。具体的には、ＳＬＡＭコントローラ１０は、レーザセンサ９の検出データの通常検出範囲Ｐにおける移動体２の周囲の静止物体３０までの距離データと移動体２の周囲環境の地図データとをマッチングさせて、移動体２の位置の推定演算を行う。これにより、移動体２の推定位置が得られる。
【００２８】
そして、ＳＬＡＭコントローラ１０は、移動体２の推定位置を自動走行制御ユニット８に出力する（手順Ｓ１０４）。
【００２９】
ＳＬＡＭコントローラ１０は、手順Ｓ１０２で検出範囲切替指示が有効検出範囲Ｑと共に通知されたと判断したときは、レーザセンサ９の検出データの検出範囲として有効検出範囲Ｑを使用して、移動体２の位置の推定演算を行う（手順Ｓ１０５）。
【００３０】
具体的には、ＳＬＡＭコントローラ１０は、レーザセンサ９の検出データの有効検出範囲Ｑにおける移動体２の周囲の静止物体３０までの距離データと移動体２の周囲環境の地図データとをマッチングさせて、移動体２の位置の推定演算を行う。つまり、レーザセンサ９の検出データの有効検出範囲Ｑのみが移動体２の位置の推定演算に使用され、レーザセンサ９の検出データの検出範囲のうち有効検出範囲Ｑ以外の範囲は移動体２の位置の推定演算に使用されない。これにより、移動体２の推定位置が得られる。
【００３１】
そして、ＳＬＡＭコントローラ１０は、移動体２の推定位置を自動走行制御ユニット８に出力する（手順Ｓ１０６）。その後、ＳＬＡＭコントローラ１０は、レーザセンサ９の検出データを取得する（手順Ｓ１０７）。
【００３２】
続いて、ＳＬＡＭコントローラ１０は、自動走行制御ユニット８から検出範囲戻し指示が通知されたかどうかを判断する（手順Ｓ１０８）。検出範囲戻し指示は、レーザセンサ９の検出データの検出範囲を有効検出範囲Ｑから通常検出範囲Ｐに戻す指示である。ＳＬＡＭコントローラ１０は、検出範囲戻し指示が通知されていないと判断したときは、手順Ｓ１０５を再び実行する。
【００３３】
ＳＬＡＭコントローラ１０は、検出範囲戻し指示が通知されたと判断したときは、レーザセンサ９の検出データの通常検出範囲Ｐを使用して、移動体２の位置の推定演算を行う（手順Ｓ１０３）。そして、ＳＬＡＭコントローラ１０は、移動体２の推定位置を自動走行制御ユニット８に出力する（手順Ｓ１０４）。
【００３４】
図２に戻り、磁気マークセンサ７は、移動体２の下部に取り付けられている。磁気マークセンサ７は、磁気マーク５を検出する。
【００３５】
自動走行制御ユニット８は、位置推定ユニット６により推定された移動体２の位置に基づいて、所定の処理を行い、移動体２をスタート地点３Ａから目的地点３Ｂまで自動的に走行させるように走行モータ１１及び操舵モータ１２を制御する。
【００３６】
走行モータ１１は、走行輪（図示せず）を回転駆動させるモータである。操舵モータ１２は、操舵輪（図示せず）を回転駆動させるモータである。走行モータ１１及び操舵モータ１２は、移動体２の駆動部を構成している。
【００３７】
自動走行制御ユニット８は、ＣＰＵ、ＲＡＭ、ＲＯＭ及び入出力インターフェース等により構成されている。自動走行制御ユニット８は、記憶部１３と、ずれ量算出部１４と、有効検出範囲通知部１５と、駆動制御部１６とを有している。
【００３８】
記憶部１３は、仮想ガイド線３及び磁気マーク５の位置と走行指示データ等といった移動体２の走行に関する情報を記憶する。仮想ガイド線３及び磁気マーク５の位置は、２次元座標として記憶されている。走行指示データは、上述したように各磁気マーク５に関連付けられている。走行指示データとしては、例えば加速指示、停止指示、右折指示及び左折指示等がある。
【００３９】
また、記憶部１３は、周囲環境を変化させる可動物３１の位置と、その可動物３１に対応する有効検出範囲Ｑとを記憶する。可動物３１の位置及び有効検出範囲Ｑも、２次元座標として記憶されている。
【００４０】
ずれ量算出部１４は、記憶部１３に記憶された仮想ガイド線３の位置と位置推定ユニット６により推定された移動体２の位置とに基づいて、仮想ガイド線３と移動体２とのずれ量を算出する。このとき、ずれ量算出部１４は、仮想ガイド線３の位置座標と移動体２の位置座標とのずれ量と、仮想ガイド線３の向きと移動体２の向きとのずれ量とを算出する。
【００４１】
有効検出範囲通知部１５は、位置推定ユニット６により推定された移動体２の位置に基づいて、移動体２が可動物３１が存在する場所を走行すると判断したときに、その可動物３１に対応する有効検出範囲ＱをＳＬＡＭコントローラ１０に通知する通知部である。有効検出範囲通知部１５の具体的な処理については、後で詳述する。
【００４２】
駆動制御部１６は、ずれ量算出部１４により算出された仮想ガイド線３と移動体２とのずれ量に基づいて、移動体２を仮想ガイド線３に沿って走行させるように走行モータ１１及び操舵モータ１２を制御する。また、駆動制御部１６は、磁気マークセンサ７により磁気マーク５が検出されたときに、その磁気マーク５に関連付けられた走行指示データに従って移動体２を走行させるように走行モータ１１及び操舵モータ１２を制御する。駆動制御部１６の具体的な処理については、後で詳述する。
【００４３】
以上において、ずれ量算出部１４及び駆動制御部１６は、位置推定ユニット６により推定された移動体２の位置に基づいて、移動体２を仮想ガイド線３に沿って走行させるように走行モータ１１及び操舵モータ１２を制御する制御部を構成する。
【００４４】
図５は、有効検出範囲通知部１５により実行される通知処理手順の詳細を示すフローチャートである。本処理も、ＳＬＡＭコントローラ１０による演算処理と同様に、スタート地点３Ａから目的地点３Ｂに向けての移動体２の走行が開始されると、実行される。
【００４５】
図５において、有効検出範囲通知部１５は、まずＳＬＡＭコントローラ１０により得られた移動体２の推定位置を取得する（手順Ｓ１１１）。そして、有効検出範囲通知部１５は、移動体２の推定位置に基づいて、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達したかどうかを判断する（手順Ｓ１１２）。有効検出範囲通知部１５は、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達していないと判断したときは、手順Ｓ１１１を再び実行する。
【００４６】
有効検出範囲通知部１５は、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達したと判断したときは、その可動物３１に対応する有効検出範囲Ｑを記憶部１３から取得する（手順Ｓ１１３）。そして、有効検出範囲通知部１５は、検出範囲切替指示（前述）を有効検出範囲Ｑと共にＳＬＡＭコントローラ１０に通知する（手順Ｓ１１４）。
【００４７】
その後、有効検出範囲通知部１５は、ＳＬＡＭコントローラ１０により得られた移動体の推定位置を取得する（手順Ｓ１１５）。そして、有効検出範囲通知部１５は、移動体２の推定位置に基づいて、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過したかどうかを判断する（手順Ｓ１１６）。有効検出範囲通知部１５は、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過していないと判断したときは、手順Ｓ１１５を再び実行する。
【００４８】
有効検出範囲通知部１５は、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過したと判断したときは、検出範囲戻し指示（前述）をＳＬＡＭコントローラ１０に通知する（手順Ｓ１１７）。
【００４９】
図６は、駆動制御部１６により実行される制御処理手順の詳細を示すフローチャートである。本処理も、ＳＬＡＭコントローラ１０による演算処理と同様に、スタート地点３Ａから目的地点３Ｂに向けての移動体２の走行が開始されると、実行される。
【００５０】
図６において、駆動制御部１６は、まず磁気マークセンサ７により磁気マーク５が検出されたかどうかを判断する（手順Ｓ１２１）。駆動制御部１６は、磁気マーク５が検出されたと判断したときは、その磁気マーク５の番号に対応した走行指示データを記憶部１３から取得する（手順Ｓ１２２）。
【００５１】
このとき、磁気マークセンサ７によりスタート地点３Ａから１つ目（１番）の磁気マーク５が検出された場合は、１番の磁気マーク５に紐づけられた走行指示データが取得される。磁気マークセンサ７によりスタート地点３Ａから２つ目（２番）の磁気マーク５が検出された場合は、２番の磁気マーク５に紐づけられた走行指示データが取得される。
【００５２】
そして、駆動制御部１６は、取得した走行指示データに応じた制御信号を走行モータ１１及び操舵モータ１２に出力する（手順Ｓ１２３）。駆動制御部１６は、例えば取得した走行指示データが加速指示である場合には、走行モータ１１の回転速度を高くするような制御信号を走行モータ１１に出力する。これにより、移動体２の速度が上昇するようになる。
【００５３】
駆動制御部１６は、手順Ｓ１２３が実行された後、または手順Ｓ１２１で磁気マーク５が検出されていないと判断したときは、ずれ量算出部１４により算出された仮想ガイド線３と移動体２とのずれ量を取得する（手順Ｓ１２４）。そして、駆動制御部１６は、仮想ガイド線３と移動体２とのずれ量が０となるような制御信号を走行モータ１１及び操舵モータ１２に出力する（手順Ｓ１２５）。これにより、移動体２の位置座標及び向きが仮想ガイド線３に近づくようになる。
【００５４】
続いて、駆動制御部１６は、移動体２が目的地点３Ｂに達したかどうかを判断する（手順Ｓ１２６）。駆動制御部１６は、移動体２が目的地点３Ｂに達していないと判断したときは、手順Ｓ１２１を再び実行する。駆動制御部１６は、移動体２が目的地点３Ｂに達したと判断したときは、本処理を終了する。
【００５５】
以上のように構成された走行制御システム１において、移動体２の走行時、レーザセンサ９によって、移動体２の周囲にレーザを照射することで、移動体２の周囲の静止物体３０までの距離が検出され、ＳＬＡＭコントローラ１０によって、レーザセンサ９の検出データに基づいて移動体２の位置の推定演算が行われる。このとき、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達する前は、図７（ａ）に示されるように、レーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算が行われる。
【００５６】
移動体２が周囲環境を変化させる可動物３１が存在する場所に到達すると、自動走行制御ユニット８の有効検出範囲通知部１５からＳＬＡＭコントローラ１０に検出範囲切替指示及び可動物３１に対応する有効検出範囲Ｑが通知される。すると、図７（ｂ）に示されるように、ＳＬＡＭコントローラ１０では、レーザセンサ９の検出データの検出範囲として有効検出範囲Ｑを使用して、移動体２の位置の推定演算が行われる。従って、レーザセンサ９の全ての検出データのうち可動物３１で反射されたレーザ光の検出データを無視（マスク）した状態で、移動体２の位置の推定演算が行われることになる。
【００５７】
移動体２が周囲環境を変化させる可動物３１が存在する場所を通過すると、自動走行制御ユニット８の有効検出範囲通知部１５からＳＬＡＭコントローラ１０に検出範囲戻し指示が通知される。すると、図７（ｃ）に示されるように、ＳＬＡＭコントローラ１０では、再びレーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算が行われる。
【００５８】
図８は、比較例として、レーザセンサ９の検出データの検出範囲を切り替えずに、移動体２の位置の推定演算を行う様子を示す概念図である。図８において、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達しても、ＳＬＡＭコントローラ１０では、レーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算が行われる。
【００５９】
この場合、ＳＬＡＭコントローラ１０は、図９（ｂ）に示されるように、周囲環境を変化させる可動物３１（地図上に作成されないデータ）を静止物体３０（地図上にあるデータ）と誤ってマッチングすることになる。従って、周囲環境の変化の影響を受けて、移動体２の位置の推定精度が悪化する。その結果、移動体２が左右にふらついてしまう（図８（ｂ）参照）。
【００６０】
一方、本実施形態によれば、移動体２が周囲環境を変化させる可動物３１が存在する場所を走行するときは、レーザセンサ９の検出データの検出範囲として可動物３１を避けるように通常検出範囲Ｐよりも狭く設定された有効検出範囲Ｑのみが移動体２の位置の推定演算に使用され、レーザセンサ９の検出データの検出範囲のうち有効検出範囲Ｑ以外の範囲は移動体２の位置の推定演算に使用されない。このため、図９（ａ）に示されるように、周囲環境を変化させる可動物３１を静止物体３０と誤ってマッチングすることが防止される。従って、周囲環境の変化が激しい場所、つまり地図データとして作成されにくい場所において、移動体２の位置の推定演算を行う際に、周囲環境の変化の影響を受けにくくなる。これにより、周囲環境の変化が激しい場所において、移動体２の位置の推定精度の悪化が抑制される。その結果、移動体２の走行時に、移動体２が左右にふらつきにくくなる。
【００６１】
また、本実施形態では、有効検出範囲Ｑは、レーザセンサ９の検出データの検出角度が可動物３１を避けるように通常検出範囲Ｐよりも小さくなっている。従って、有効検出範囲Ｑを通常検出範囲Ｐよりも確実に狭くすることができる。
【００６２】
また、本実施形態では、自動走行制御ユニット８の有効検出範囲通知部１５は、移動体２が可動物３１が存在する場所を走行すると判断したときに、有効検出範囲ＱをＳＬＡＭコントローラ１０に通知する。従って、移動体２が周囲環境を変化させる可動物３１が存在する場所を走行するかどうかの判断を位置推定ユニット６で行わなくて済むため、位置推定ユニット６の構成及び処理を簡素化することができる。
【００６３】
図１０は、本発明の第２実施形態に係る走行制御装置の構成を示すブロック図である。図１０において、本実施形態の走行制御装置４は、位置推定ユニット６Ａと、磁気マークセンサ７と、自動走行制御ユニット８Ａとを備えている。自動走行制御ユニット８Ａは、上記の自動走行制御ユニット８における有効検出範囲通知部１５を有していない。
【００６４】
位置推定ユニット６Ａは、レーザセンサ９と、メモリ２０と、ＳＬＡＭコントローラ１０Ａとを有している。メモリ２０は、周囲環境を変化させる可動物３１の位置と、その可動物３１に対応する有効検出範囲Ｑとを記憶する記憶部である。
【００６５】
ＳＬＡＭコントローラ１０Ａは、レーザセンサ９の検出データとメモリ２０に記憶された可動物３１の位置及び有効検出範囲Ｑとに基づいて、移動体２の位置の推定演算を行う推定演算部である。このとき、ＳＬＡＭコントローラ１０Ａは、最新の推定演算結果に基づいて、移動体２が可動物３１が存在する場所を走行すると判断したときに、メモリ２０から有効検出範囲Ｑを取得する。
【００６６】
図１１は、ＳＬＡＭコントローラ１０Ａにより実行される演算処理手順の詳細を示すフローチャートである。図１１において、ＳＬＡＭコントローラ１０Ａは、まずレーザセンサ９の検出データを取得する（手順Ｓ１３１）。
【００６７】
続いて、ＳＬＡＭコントローラ１０Ａは、最新の移動体２の推定位置に基づいて、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達したかどうかを判断する（手順Ｓ１３２）。ＳＬＡＭコントローラ１０Ａは、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達していないと判断したときは、レーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算を行う（手順Ｓ１３３）。これにより、移動体２の推定位置が得られる。そして、ＳＬＡＭコントローラ１０Ａは、移動体２の推定位置を自動走行制御ユニット８Ａに出力する（手順Ｓ１３４）。
【００６８】
ＳＬＡＭコントローラ１０Ａは、移動体２が周囲環境を変化させる可動物３１が存在する場所に到達したと判断したときは、その可動物３１に対応する有効検出範囲Ｑをメモリ２０から取得する（手順Ｓ１３５）。そして、ＳＬＡＭコントローラ１０Ａは、レーザセンサ９の検出データの検出範囲として有効検出範囲Ｑを使用して、移動体２の位置の推定演算を行う（手順Ｓ１３６）。これにより、移動体２の推定位置が得られる。そして、ＳＬＡＭコントローラ１０Ａは、移動体２の推定位置を自動走行制御ユニット８に出力する（手順Ｓ１３７）。
【００６９】
続いて、ＳＬＡＭコントローラ１０Ａは、レーザセンサ９の検出データを取得する（手順Ｓ１３８）。続いて、ＳＬＡＭコントローラ１０Ａは、最新の移動体２の推定位置に基づいて、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過したかどうかを判断する（手順Ｓ１３９）。ＳＬＡＭコントローラ１０Ａは、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過していないと判断したときは、手順Ｓ１３６を再び実行する。
【００７０】
ＳＬＡＭコントローラ１０Ａは、移動体２が周囲環境を変化させる可動物３１が存在する場所を通過したと判断したときは、レーザセンサ９の検出データの検出範囲として通常検出範囲Ｐを使用して、移動体２の位置の推定演算を行う（手順Ｓ１３３）。そして、ＳＬＡＭコントローラ１０Ａは、移動体２の推定位置を自動走行制御ユニット８に出力する（手順Ｓ１３４）。
【００７１】
以上のような本実施形態においても、周囲環境の変化が激しい場所において移動体２の位置の推定演算を行う際に、周囲環境の変化の影響を受けにくくなるため、移動体２の位置の推定精度の悪化が抑制される。
【００７２】
また、本実施形態では、ＳＬＡＭコントローラ１０は、移動体２が可動物３１が存在する場所を走行すると判断したときに、メモリ２０から有効検出範囲Ｑを取得する。このように位置推定ユニット６のメモリ２０に有効検出範囲Ｑが予め保存されているため、有効検出範囲Ｑを外部から受け取らなくて済む。
【００７３】
図１２は、ＳＬＡＭコントローラ１０において設定される有効検出範囲Ｑの変形例を示す概念図である。図１２（ａ）に示される有効検出範囲Ｑは、可動物３１を避けるように可動物３１の位置に応じて間欠的に設定されている。具体的には、有効検出範囲Ｑは、レーザセンサ９の検出データの検出角度が可動物３１を避けるように可動物３１の位置に応じて間欠的に設定されている。
【００７４】
図１２（ｂ）に示される有効検出範囲Ｑは、レーザセンサ９の検出データの一部の検出距離が可動物３１を避けるように可動物３１の位置に応じて通常検出範囲Ｐよりも短くなっている。ここでは、有効検出範囲Ｑは、レーザセンサ９の検出データの全範囲のうち可動物３１が存在する左右片側半分の検出距離が通常検出範囲Ｐよりも短くなっている。なお、有効検出範囲Ｑは、レーザセンサ９の検出データの検出距離が全体的に通常検出範囲Ｐよりも短くなっていてもよい。このような構成でも、有効検出範囲Ｑを通常検出範囲Ｐよりも確実に狭くすることができる。
【００７５】
なお、本発明は、上記実施形態には限定されない。例えば上記実施形態では、レーザセンサ９の検出データの検出範囲の切替を、自動走行制御ユニット８からの指示通知またはＳＬＡＭコントローラ１０自体の判断により行っているが、特にその形態には限られず、例えば上位システムからの指示通知等により行ってもよい。
【００７６】
また、上記実施形態では、位置推定ユニット６は、自己位置推定技術としてレーザを利用したＳＬＡＭ手法を用いて移動体２の位置を推定しているが、本発明は、特にＳＬＡＭ手法には限られず、レーザを使用して距離を検出するセンサの検出データに基づいて移動体２の位置を推定する手法であれば、適用可能である。
【００７７】
また、上記実施形態の走行制御装置は、移動体２としてフォークリフトを自動的に走行させる装置であるが、本発明は、例えば搬送台車等のような自動走行可能な移動体全般に適用可能である。
【符号の説明】
【００７８】
２…移動体、３…仮想ガイド線（走行経路）、４…走行制御装置、６，６Ａ…位置推定ユニット、９…レーザセンサ（距離検出部）、１０，１０Ａ…ＳＬＡＭコントローラ（推定演算部）、１１…走行モータ（駆動部）、１２…操舵モータ（駆動部）、１３…記憶部、１４…ずれ量算出部（制御部）、１５…有効検出範囲通知部（通知部）、１６…駆動制御部（制御部）、２０…メモリ（記憶部）、３０…静止物体（物体）、３１…可動物、Ｐ…通常検出範囲、Ｑ…有効検出範囲。
【図１】
2020119011.tif 000003
【図２】
2020119011.tif 000004
【図３】
2020119011.tif 000005
【図４】
2020119011.tif 000006
【図５】
2020119011.tif 000007
【図６】
2020119011.tif 000008
【図７】
2020119011.tif 000009
【図８】
2020119011.tif 000010
【図９】
2020119011.tif 000011
【図１０】
2020119011.tif 000012
【図１１】
2020119011.tif 000013
【図１２】
2020119011.tif 000014