(57)【要約】【課題】走行経路の目印となるガイド線を見失うこと無く障害物を回避することができる無人搬送車等を提供する。【解決手段】無人搬送車１００は、駆動部４０と、制御部１０と、走行経路を示すガイド線を検出する経路検出部３１と、障害物を検出する障害物検出部３２と、を備える。制御部１０は、経路検出部３１が検出したガイド線に基づいて走行するように駆動部４０を制御し、障害物検出部３２が障害物を検出したら、障害物を回避するための回避量を取得し、回避量が所定の回避可能幅以内なら、障害物を回避して走行するように駆動部４０を制御する。【選択図】図１
2020198010.tif 000002
【特許請求の範囲】
【請求項１】
駆動手段と制御手段とを備える無人搬送車であって、
走行経路を示すガイド線を検出する経路検出手段と、
障害物を検出する障害物検出手段と、
をさらに備え、
前記制御手段は、
前記経路検出手段が検出したガイド線に基づいて走行するように前記駆動手段を制御し、
前記障害物検出手段が前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する、
無人搬送車。
【請求項２】
前記制御手段は、
前記障害物検出手段が前記障害物を検出したら、走行方向において前記障害物が存在しない空間の横幅を取得し、前記横幅が所定の通過可能幅以上なら、前記障害物を回避して走行するように前記駆動手段を制御する、
請求項１に記載の無人搬送車。
【請求項３】
前記経路検出手段は、前記無人搬送車の前上方をスキャンすることにより前記ガイド線を検出する、
請求項１又は２に記載の無人搬送車。
【請求項４】
前記ガイド線は、再帰反射素材で構成され、
前記経路検出手段は、走査式レーザ距離計で構成される、
請求項１から３の何れか１項に記載の無人搬送車。
【請求項５】
走行経路を示すガイド線を検出する経路検出処理と、
障害物を検出する障害物検出処理と、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理と、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理と、
を備える無人搬送車の制御方法。
【請求項６】
コンピュータに、
走行経路を示すガイド線を検出する経路検出処理、
障害物を検出する障害物検出処理、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理、及び、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、床面等に敷設されたテープ等をガイドにして自動的に移動する無人搬送車、無人搬送車の制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、工場内の物品搬送等に無人搬送車が使われており、無人搬送車の制御を改良する技術開発も進められている。例えば、特許文献１には、路面に設けられたガイド線（走行経路の目印となるライン）に沿って移動する無人搬送車に関し、有限状態マシン（ＦＳＭ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ）を備えることにより、障害物回避等の機能を容易に拡張できる無人搬送車が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１６／１９９３１２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された無人搬送車は、優先順位の異なるＦＳＭを複数備えることにより、簡素なアルゴリズムで容易に機能を拡張することができる。例えば、当該無人搬送車は、障害物を検出すると右に旋回して回避を行うＦＳＭ及び回避のためにした操縦とは逆向きの操縦を行うＦＳＭを備えることにより、障害物を回避する動作を行えるようにしている。しかし、実際にこれらのＦＳＭによって回避動作を行うと、ガイド線が検出できる場所に戻ることができず、ガイド線を見失ってしまう状況が発生し得る。なぜなら、逆向きの操縦を行っても旋回角度の微妙なずれ等により元の位置に戻れないことがあることや、回避動作後にガイド線自体が方向を変えている状況があり得るからである。このような状況が発生すると、無人搬送車はガイド線に沿った本来の移動を行うことができなくなってしまう。
【０００５】
本発明は、上記実情に鑑みてなされたものであり、走行経路の目印となるガイド線を見失うこと無く障害物を回避することができる無人搬送車等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る無人搬送車は、
駆動手段と制御手段とを備える無人搬送車であって、
走行経路を示すガイド線を検出する経路検出手段と、
障害物を検出する障害物検出手段と、
をさらに備え、
前記制御手段は、
前記経路検出手段が検出したガイド線に基づいて走行するように前記駆動手段を制御し、
前記障害物検出手段が前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する。
【０００７】
前記制御部は、
前記障害物検出手段が前記障害物を検出したら、走行方向において前記障害物が存在しない空間の横幅を取得し、前記横幅が所定の通過可能幅以上なら、前記障害物を回避して走行するように前記駆動手段を制御する、
ようにしてもよい。
【０００８】
前記経路検出手段は、前記無人搬送車の前上方をスキャンすることにより前記ガイド線を検出する、
ようにしてもよい。
【０００９】
前記ガイド線は、再帰反射素材で構成され、
前記経路検出手段は、走査式レーザ距離計で構成される、
ようにしてもよい。
【００１０】
また、本発明の第２の観点に係る無人搬送車の制御方法は、
走行経路を示すガイド線を検出する経路検出処理と、
障害物を検出する障害物検出処理と、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理と、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理と、
を備える。
【００１１】
また、本発明の第３の観点に係るプログラムは、
コンピュータに、
走行経路を示すガイド線を検出する経路検出処理、
障害物を検出する障害物検出処理、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理、及び、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理、
を実行させる。
【発明の効果】
【００１２】
本発明によれば、走行経路の目印となるガイド線を見失うこと無く障害物を回避することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態１に係る無人搬送車の機能構成を示すブロック図である。
【図２】実施形態１に係る無人搬送車の外観を示す図である。
【図３】実施形態１に係る無人搬送車が備える経路検出部の外観及び経路検出部から照射されるレーザを説明する図である。
【図４】実施形態１に係る無人搬送車が備える経路検出部、障害物検出部及び操作取得部を無人搬送車の側面から見た図である。
【図５】実施形態１に係る経路検出部でガイド線を検出したときの受光強度を説明する図である。
【図６】実施形態１に係る無人搬送車が経路検出部で前下方をスキャンする様子を側面から見た図である。
【図７】実施形態１に係る無人搬送車が経路検出部で前下方をスキャンする様子を上から見た図である。
【図８】実施形態１に係る無人搬送車がガイド線を検出して行う移動制御を説明する図である。
【図９】実施形態１に係る無人搬送車が障害物を回避する処理を説明する図である。
【図１０】障害物が複数存在する場合の例を説明する図である。
【図１１】ガイド線が枝分かれしている様子を説明する図である。
【図１２】実施形態１に係る無人搬送車の移動制御処理のフローチャートである。
【図１３】実施形態２に係る無人搬送車の外観の一例を示す図である。
【図１４】ガイド線を走行経路の真上に設置しない場合を説明する図である。
【図１５】実施形態２の変形例１に係る無人搬送車の外観を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態に係る無人搬送車について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【００１５】
（実施形態１）
本発明の実施形態に係る無人搬送車は、走行経路を示すライン等の目印（ガイド線）に基づいて自動的に移動する装置である。実施形態１に係る無人搬送車１００の機能構成の一例を図１に、外観の一例を図２に示す。
【００１６】
図１に示すように、無人搬送車１００は、制御部１０と、記憶部２０と、経路検出部３１と、障害物検出部３２と、操作取得部３３と、駆動部４０と、を備える。
【００１７】
制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成され、記憶部２０に記憶されたプログラムを実行することにより、後述する各部（検出点登録部１１、位置ずれ取得部１２、回避量取得部１３、移動制御部１４）の機能を実現する。また、制御部１０は、時計（図示せず）を備え、現在日時の取得や経過時間のカウントをすることができる。制御部１０は、制御手段として機能する。
【００１８】
記憶部２０は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、ＲＯＭの一部又は全部は電気的に書き換え可能なメモリ（フラッシュメモリ等）で構成されている。ＲＯＭには制御部１０のＣＰＵが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。ＲＡＭには、プログラム実行中に作成されたり変更されたりするデータが記憶される。記憶部２０は、記憶手段として機能する。また、記憶部２０は、機能的構成として、後述する、検出点履歴記憶部２１と、位置基準点記憶部２２と、通過可能幅記憶部２３と、回避可能幅記憶部２４と、を備える。
【００１９】
経路検出部３１は、センシングデバイスとしての走査式レーザ距離計等で構成され、下方（床等）等に設置された走行経路を示すライン（ガイド線）を検出する。経路検出部３１は、図３に示すように、光学窓３１１の内部にある発光部からレーザ３１２を照射し、床、壁、天井等に存在する対象物（ガイド線等）で反射されたレーザを光学窓３１１の内部にある受光部が捉える。発光部（及び受光部）が回転軸３１３を中心に２７０度（真正面を０度とすると±１３５度）回転することによってスキャン角度を変えながらレーザ３１２を照射してスキャンし、反射されたレーザを捉えた受光部からの信号を処理することにより、経路検出部３１は、スキャン角度毎に、その方向に存在する対象物との距離及び受光強度を計測することができる。なお、上記で発光部の回転角度（スキャン角度）の範囲を「正面を０度とすると±１３５度」としたのは一例であり、発光部は、正面でない方向を０度として、例えば±９０度回転する仕様であってもよいし、また、±１８０度回転する仕様であってもよい。
【００２０】
経路検出部３１は、図４に示すように、スキャンの回転軸３１３が垂直よりも上方が少し前方向に傾いており、レーザ３１２は無人搬送車１００の前下方に存在する対象物（ガイド線等）をスキャンするようになっている。経路検出部３１は、経路検出手段として機能する。なお、経路検出部３１の構成は走査式レーザ距離計に限るわけではなく、投受光により距離及び受光強度を計測できるカメラで構成してもよいし、距離及び受光強度を計測できるその他のデバイスで構成してもよい。
【００２１】
本実施形態において、ガイド線は、再帰反射素材を用いたラインであり、レーザ光が当たると、そのレーザ光を入射した方向に反射させる。したがって、経路検出部３１は、受光強度が所定の基準強度よりも高い場合に、そのスキャン角度の方向にガイド線が存在することを検出することができる。ガイド線は、再帰反射素材を含む塗料を床等に塗布したり、再帰反射素材を含む粘着テープを床等に貼り付けたりすることにより敷設することができる。
【００２２】
経路検出部３１は、図５に示すように、スキャン角度を変えながら、その方向に存在する対象物から反射されたレーザの受光強度を検出することができる。ガイド線の存在する方向のスキャン角度で検出された受光強度６１は、ガイド線の存在しない方向のスキャン角度で検出された受光強度６２よりも著しく高いため、経路検出部３１は、ガイド線の存在する方向のスキャン角度を取得することができる。また、経路検出部３１は、ガイド線以外の物体も検出し、その物体までの距離及び方向を取得することができるため、無人搬送車１００の前方に障害物が存在する場合は、障害物の存在する方向、障害物までの距離、障害物が走行経路をどの程度遮るか等の情報を取得することができる。
【００２３】
図１に戻り、障害物検出部３２は、経路検出部３１と同様に、センシングデバイスとしての走査式レーザ距離計等で構成される。障害物検出部３２は、図４に示すように取り付け位置及び取り付け角度が経路検出部３１と若干異なっており、スキャンの回転軸３２３が垂直で、光学窓３２１からレーザ３２２を水平前方に照射する。これにより、障害物検出部３２は、無人搬送車１００の前方に存在する障害物を検出するようになっている。また、障害物検出部３２は、障害物の存在を検出するだけでなく、障害物の存在する方向、障害物までの距離、障害物が走行経路にはみ出している量（後述する回避量）、複数の障害物間の距離（後述する障害物が存在しない空間の横幅の長さ）等の情報を取得することができる。障害物検出部３２は、障害物検出手段として機能する。
【００２４】
なお、障害物検出部３２の構成も、経路検出部３１と同様に、走査式レーザ距離計に限るわけではなく、投受光により距離及び受光強度を計測できるカメラで構成してもよいし、距離及び受光強度を計測できるその他のデバイスで構成してもよい。また、実施形態１では、取り付け角度を経路検出部３１と変えたが、障害物検出部３２の取り付け角度を経路検出部３１と同様に（スキャンの回転軸３２３が垂直よりも上方が少し前方向に傾くように）してもよい。このようにすると障害物検出部３２でも前下方（床面等）にあるガイド線を検出できるようになり、遠方のガイド線を障害物検出部３２で検出し、より近いガイド線を経路検出部３１で検出し、それぞれの情報を用いて移動制御を行うことも可能になる。
【００２５】
また、障害物検出部３２と経路検出部３１を１つのデバイス（走査式レーザ距離計等）で共用する形にしてもよい。その場合、当該デバイスは、高めの位置（例えば図４に示す障害物検出部３２の位置）で、スキャンの回転軸３１３を垂直よりも上方を少し前方向に傾かせた角度（例えば図４に示す経路検出部３１の傾き）で設置するのが望ましい。このように設置すれば、当該デバイスで、前方の障害物とガイド線とを両方ともスキャンできるようになるからである。
【００２６】
図１に戻り、操作取得部３３は、入力デバイスとしてのジョイスティック等で構成され、ユーザの操作を取得する。操作取得部３３は、操作取得手段として機能する。図４に示すように、操作取得部３３は、レバー３３１と、表示パネルと一体化したタッチパネル３３２と、を備える。そしてユーザは、レバー３３１を倒す方向で進行方向を、倒す量（倒し角）で移動速度を、それぞれ無人搬送車１００に指示することができる。また、タッチパネル３３２には、ユーザの指示を受け付けるＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）としての操作メニュー（最大速度、加速度等の設定や当該設定値の選択、移動停止、動作モード（自律移動モード、マニュアル移動モード等）の選択等を行うメニュー）が表示され、ユーザはそれらにタッチすることによって、無人搬送車１００に各指示を行うことができる。
【００２７】
図１に戻り、駆動部４０は、制御部１０からの指示（制御）により無人搬送車１００を移動させる。駆動部４０は、駆動手段として機能する。図２に示すように、駆動部４０は、独立２輪駆動の車輪４１とモータ４２とキャスター４３とを備える。無人搬送車１００は、２つの車輪４１の同一方向駆動により前後の平行移動（並進移動）を、２つの車輪４１の逆方向駆動によりその場での回転（向き変更）を、２つの車輪４１のそれぞれ速度を変えた駆動により旋回移動（並進＋回転（向き変更）移動）を、行うことができる。また、各々の車輪４１にはロータリエンコーダが備えられており、制御部１０は、ロータリエンコーダで計測した車輪４１の回転数と、車輪４１の直径や車輪４１間の距離等とを用いることによって並進移動量及び回転量を計算できる。
【００２８】
例えば、車輪４１の直径をＤ、回転数をＣとすると、その車輪４１の接地部分での並進移動量はπ・Ｄ・Ｃとなる。また、車輪４１の直径をＤ、車輪４１間の距離をＩ、右の車輪４１の回転数をＣＲ、左の車輪４１の回転数をＣＬとすると、向き変更の回転量は（右回転を正とすると）３６０°×Ｄ×（ＣＬ−ＣＲ）／（２×Ｉ）となる。この並進移動量及び回転量をそれぞれ逐次足し合わせていくことで、駆動部４０はメカオドメトリとしても機能し、制御部１０は、自機位置（移動開始時の位置及び向きを基準とした位置及び向き）を把握することができる。
【００２９】
なお、車輪４１の代わりにクローラを備えるようにしても良いし、複数（例えば二本）の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動き、足の動き等に基づいて、車輪４１の場合と同様に自機の位置及び向きの計測が可能である。
【００３０】
また、図２に示すように、無人搬送車１００は、荷台５１を備え、搬送物品等を荷台５１に搭載することができる。
【００３１】
次に、無人搬送車１００の制御部１０の機能的構成について説明する。図１に示すように、制御部１０は、検出点登録部１１、位置ずれ取得部１２、回避量取得部１３、移動制御部１４、の機能を実現し、無人搬送車１００の移動制御等を行う。
【００３２】
検出点登録部１１は、経路検出部３１が検出したガイド線の検出点の位置の情報を検出点履歴記憶部２１に登録する。例えば、ガイド線が無人搬送車１００の正面から前方にまっすぐに伸びている場合は、図６に示すように、レーザ３１２の照射角度θと、経路検出部３１が計測した対象物までの距離Ｄとから、ガイド線の位置を、無人搬送車１００の位置の前方Ｌ＝Ｄ・ｃｏｓθと求めることができる。
【００３３】
ガイド線が無人搬送車１００の正面にない場合も、図７に示すスキャン角度φ（正面方向を０度とし、回転軸３１３の周りの±１３５度で定義される、レーザ３１２の照射方向）と、図６に示す照射角度θ及び距離Ｄとから、経路検出部３１によるガイド線７１の検出点７２の無人搬送車１００からの相対位置を求めることができる。
【００３４】
そして、駆動部４０によるメカオドメトリ機能によって求められる無人搬送車１００の位置と、経路検出部３１によって求められるガイド線７１の検出点７２の無人搬送車１００からの相対位置とから、ガイド線７１の検出点７２の位置情報を求めることができる。検出点登録部１１は、このようにして求められたガイド線７１の検出点７２の位置情報を検出点履歴記憶部２１に登録する。その結果、検出点履歴記憶部２１には、過去の検出点の履歴７３が登録されていく。
【００３５】
なお、上述したように、実施形態１では経路検出部３１が照射するレーザ３１２のスキャン角度φは、正面方向を０度とすると、回転軸３１３の周りの±１３５度で定義される。しかし、スキャン角度φの絶対値が所定の値（例えば９０度）以上になるとレーザ３１２の向きが上向きになり、床面に当たらなくなる。また、レーザ３１２の向きが下向きであったとしても、スキャン角度φの絶対値がある程度（例えば６０度）以上になると床面との角度が小さくなりすぎて安定してガイド線を検出することが困難になる。そこで、無人搬送車１００は、安定してガイド線を検出できる範囲として、検出可能幅を設定する。例えば、図７でレーザ３１２ｓからレーザ３１２ｅまでの間はガイド線を安定して検出できる場合は、検出可能幅はＷとなる。そして、無人搬送車１００が、ガイド線を検出しつつ、左又は右に障害物を回避することができる幅は、この検出可能幅の半分未満となる。したがって、検出可能幅が２ｍの場合、回避可能幅を例えば０．９ｍに設定する。
【００３６】
図１に戻り、位置ずれ取得部１２は、無人搬送車１００の現在の位置と検出点登録部１１によって検出点履歴記憶部２１に登録された過去の検出点の位置とのずれを取得する。具体的には、図８に示すように、無人搬送車１００の基準点７５と、過去の検出点の履歴７３のうちで前後の位置が基準点７５に最も近い点７４との距離ｄを取得する。この距離ｄの値は、本来あるべき位置とのずれを示す値であり、このｄの値をできるだけ小さくするように移動制御することにより、無人搬送車１００は、ガイド線７１に沿って自動的に移動することができる。
【００３７】
図１に戻り、回避量取得部１３は、障害物を回避するために必要な横方向の移動量を回避量として取得する。例えば、図９では、ガイド線７１に沿って移動した時の走行経路７７に、障害物７６が、幅ｗだけはみ出している。この場合、回避量取得部１３は、障害物検出部３２を用いて幅ｗの値を回避量として取得する。そして、図９に示すように無人搬送車１００の基準点７５を回避量ｗだけずらして新たな基準点７５’とする。基準点を回避量分ずらして後述する移動制御処理を行うことにより、無人搬送車１００の走行する経路は、走行経路７７から回避経路７８に変更され、無人搬送車１００’の位置に移動することにより障害物７６を回避できる。障害物７６を通り過ぎると基準点７５’は元の基準点７５の位置に戻り、走行する経路は走行経路７７に戻ることになる。なお、図９で走行経路７７や回避経路７８は、後述する通過可能幅（無人搬送車１００の横幅＋α）の幅を持つ帯状の経路として示されている。
【００３８】
図９では、障害物７６は片側（左側）にしか存在しなかったが、図１０に示すように、反対側（右側）にも障害物や壁が存在する場合も考えられる。図１０では、左側に障害物７６が、右側に障害物７６’が、それぞれ存在しており、障害物７６と障害物７６’の間の、障害物が存在しない空間の横幅ｘが、通過可能幅よりも狭い場合を示している。この場合、無人搬送車１００は、障害物の間（障害物が存在しない空間）を安全に通過することはできないので、障害物が人手等によって取り除かれない限りは、障害物７６’の手前で停止しなければならない。
【００３９】
このため、無人搬送車１００は、後述する移動制御処理において、障害物検出部３２を用いて障害物が存在しない空間の横幅の長さ（図１０に示すｘ）を計測し、この値が通過可能幅以上なければ停止する。また、障害物が存在しない空間の横幅が通過可能幅以上あれば、障害物７６を回避した走行が可能なので、無人搬送車１００は、回避量ｗの値に応じて障害物７６を回避する。
【００４０】
図１に戻り、移動制御部１４は、位置ずれ取得部１２が取得した位置のずれを示す値（距離ｄ）を０に近づけるように、駆動部４０を制御する。また、上述した障害物回避のため、移動制御部１４は、障害物を回避するための回避量ｗや障害物が存在しない空間の横幅ｘに応じて、障害物を回避したり停止したりするように駆動部４０を制御する。
【００４１】
また、移動制御部１４は、検出点履歴記憶部２１に登録された過去の検出点の履歴７３の情報に基づき、図８に示す進行方向の曲率半径Ｒを求めることができる。そして、移動制御部１４は、曲率半径Ｒ（又は曲率１／Ｒ）に基づいて、無人搬送車１００の並進速度を設定することができる。例えば、曲率半径Ｒと並進速度とから、無人搬送車１００に働く遠心力を算出できるので、移動制御部１４は、この遠心力が所定の値を超えないように並進速度を設定してもよい。また、移動制御部１４は、ユーザからの指示が操作取得部３３によって取得された場合には、ユーザ指示に基づいて駆動部４０を制御する。
【００４２】
次に、記憶部２０の機能的構成について説明する。記憶部２０は、検出点履歴記憶部２１と、位置基準点記憶部２２と、通過可能幅記憶部２３と、回避可能幅記憶部２４と、を備える。
【００４３】
検出点履歴記憶部２１には、経路検出部３１が検出したガイド線７１の検出点７２の履歴７３の情報が記憶される。例えば、図１１に示すように、ガイド線７１が枝分かれしている場合、経路検出部３１は複数の検出点７２を検出するが、この場合は検出した複数の検出点７２が全て、検出点登録部１１により、検出点履歴記憶部２１に記憶される。
【００４４】
位置基準点記憶部２２には、位置ずれ取得部１２が位置のずれを取得する際の無人搬送車１００の基準点７５の（無人搬送車１００を上から見た時の中心点を基準とした）相対位置が記憶される。例えば、図８では、基準点７５は無人搬送車１００の中心点に位置しており、この場合、位置基準点記憶部２２には（０，０）が記憶されている。
【００４５】
通過可能幅記憶部２３には、無人搬送車１００の横幅（例えば１ｍ）＋α（例えば１０ｃｍ）の値（例えば１．１ｍ）が通過可能幅として記憶される。障害物により走行経路が通過可能幅未満に狭まった場合は、無人搬送車１００は停止することになる。
【００４６】
回避可能幅記憶部２４には、経路検出部３１で経路を検出できる最大幅（例えば２ｍ、上述した検出可能幅である。）の半分未満の値（例えば０．９ｍ）が、回避可能幅として記憶される。無人搬送車１００は、横方向にこの回避可能幅を超えて移動すると、経路検出部３１でガイド線を検出することができなくなる。したがって、無人搬送車１００は、障害物を検出した場合、回避量取得部１３で取得した回避量が回避可能幅以下の場合には当該障害物を回避するが、回避可能幅を超える場合は回避せずに停止することになる。
【００４７】
次に、無人搬送車１００の移動制御処理について、図１２を参照して説明する。ユーザが無人搬送車１００に自律移動の開始を指示すると、この移動制御処理が開始される。
【００４８】
まず、経路検出部３１は、走行経路を示すガイド線を検出するために無人搬送車１００の前方をスキャンする（ステップＳ１０１）。ステップＳ１０１は、経路検出処理とも呼ばれる。次に、障害物検出部３２は、障害物の有無や位置等を検出するために無人搬送車１００の前方をスキャンする（ステップＳ１０２）。ステップＳ１０２は、障害物検出処理とも呼ばれる。なお、経路検出部３１と障害物検出部３２とが同一のデバイスで構成されている場合は、ステップＳ１０１とステップＳ１０２とを共通のスキャンでまとめて実行してもよい。
【００４９】
そして、制御部１０は、ステップＳ１０２での障害物検出部３２によるスキャン結果により、無人搬送車１００の走行経路の通過可能幅内に障害物が存在するか否かを判定する（ステップＳ１０３）。なお、ステップＳ１０３で障害物が存在することを検出したら、制御部１０はアラーム音等を出力して、障害物が存在することをユーザに知らせてもよい。障害物が存在するなら（ステップＳ１０３；Ｙｅｓ）、制御部１０は、ステップＳ１０２での障害物検出部３２によるスキャン結果により、当該障害物までの距離が閾値（例えば１ｍ）未満か否かを判定する（ステップＳ１０４）。当該障害物までの距離が閾値以上なら（ステップＳ１０４；Ｎｏ）、ステップＳ１１２に進む。
【００５０】
当該障害物までの距離が閾値未満なら（ステップＳ１０４；Ｙｅｓ）、制御部１０は、無人搬送車１００が当該障害物を回避可能か否かを判定する（ステップＳ１０５）。この判定は、ステップＳ１０２での障害物検出部３２によるスキャン結果に基づき、回避量取得部１３が取得した回避量（障害物を回避するのに必要な横方向の移動量）が、回避可能幅記憶部２４に記憶されている回避可能幅以下であり、かつ、無人搬送車１００の走行方向において障害物が存在しない空間の横幅が、通過可能幅記憶部２３に記憶されている通過可能幅以上であるなら、当該障害物を回避可能と判定し、そうでないなら回避不可能と判定する。
【００５１】
回避可能であれば（ステップＳ１０５；Ｙｅｓ）、回避量取得部１３は取得した回避量を回避値として記憶部２０に記憶し、位置基準点記憶部２２に記憶されている位置基準点を回避値だけずらし（ステップＳ１０６）、ステップＳ１１２に進む。ステップＳ１０６は回避制御処理とも呼ばれる。なお、ステップＳ１０６において、既に記憶部２０に回避値が記憶されている場合は、回避量取得部１３は、位置基準点記憶部２２に記憶されている位置基準点を（記憶部２０に記憶されている以前の回避値を用いる等して）元に戻し、その後新たな（今回取得した回避量である）回避値を記憶部２０に記憶し、位置基準点を新たな回避値だけずらして位置基準点記憶部２２に記憶する。
【００５２】
回避可能でなければ（ステップＳ１０５；Ｎｏ）、移動制御部１４は駆動部４０を制御して無人搬送車１００の走行を停止させる（ステップＳ１０７）。ステップＳ１０７では、制御部１０は、アラーム音（障害物検出時のアラーム音とは異なる音にしてもよい）等を出力して走行を停止したことをユーザに知らせてもよい。そして、制御部１０は、操作取得部３３からユーザの操作が取得されたか否かを判定する（ステップＳ１０８）。ユーザの操作が取得されなければ（ステップＳ１０８；Ｎｏ）、ステップＳ１１０に進む。
【００５３】
ユーザの操作が取得されたら（ステップＳ１０８；Ｙｅｓ）、移動制御部１４は、操作取得部３３から取得したユーザ操作に従って駆動部４０を制御する（ステップＳ１０９）。そして、制御部１０は、障害物検出部３２により無人搬送車１００の走行方向の通過可能幅内に障害物が存在するか否かを判定する（ステップＳ１１０）。障害物が存在するなら（ステップＳ１１０；Ｙｅｓ）、ステップＳ１０７に戻る。障害物が存在しないなら（ステップＳ１１０；Ｎｏ）、ステップＳ１０１に戻る。
【００５４】
一方、無人搬送車１００の進行方向に障害物が存在しないなら（ステップＳ１０３；Ｎｏ）、制御部１０は、記憶部２０に記憶された回避値を消去する（ステップＳ１１１）。回避値の消去は、回避値分だけずれている位置基準点を元に戻して位置基準点記憶部２２に書き込んでから、回避値を０にして記憶部２０に書き込む処理となる。
【００５５】
次に、制御部１０は経路検出部３１がガイド線を検出したか否かを判定する（ステップＳ１１２）。ガイド線が検出されなければ（ステップＳ１１２；Ｎｏ）、ステップＳ１０７に進む。ガイド線が検出されたら（ステップＳ１１２；Ｙｅｓ）、検出点登録部１１は、経路検出部３１が検出したガイド線の検出点の位置の情報を検出点履歴記憶部２１に登録する（ステップＳ１１３）。なお、図１１に示すように、ガイド線７１が枝分かれしている場合、上述したように、経路検出部３１は複数の検出点７２を検出し、検出点登録部１１は、この複数の検出点７２を全て、検出点履歴記憶部２１に登録する。
【００５６】
そして、位置ずれ取得部１２は、無人搬送車１００の現在の位置（位置基準点記憶部２２に記憶されている基準点７５の位置）と検出点登録部１１によって検出点履歴記憶部２１に登録された過去の検出点の位置とのずれを取得する（ステップＳ１１４）。ガイド線７１が枝分かれしている場合、位置ずれ取得部１２は、経路検出部３１による複数の検出点７２のそれぞれについて、無人搬送車１００の現在の位置とのずれを取得する。この場合、制御部１０は、次のステップＳ１１５で、操作取得部３３により、ユーザにこの複数の検出点７２のうちのどの方向に進むべきかの指示を仰いでもよい。
【００５７】
そして、制御部１０は、操作取得部３３によりユーザの操作を取得する（ステップＳ１１５）。特にユーザの操作が無い場合は、制御部１０は、ステップＳ１１５では何もせずにステップＳ１１６に進む。ステップＳ１１５で取得されるユーザの操作の例としては、移動制御の終了、位置基準点記憶部２２に記憶する基準点７５の相対位置の設定、駆動部４０の直接操作指示（停止、前進、後退、回転等）等が挙げられる。
【００５８】
そして、制御部１０は、移動制御を終了するか否かを判定する（ステップＳ１１６）。例えば、ステップＳ１１５で操作取得部３３にユーザが移動制御終了の指示を出した場合には、移動制御を終了することになる。移動制御を終了するなら（ステップＳ１１６；Ｙｅｓ）、移動制御処理を終了する。
【００５９】
移動制御を終了しないなら（ステップＳ１１６；Ｎｏ）、移動制御部１４は、位置ずれ取得部１２が取得した位置のずれを示す値を０に近づけるように無人搬送車１００が走行するように、駆動部４０を制御し（ステップＳ１１７）、ステップＳ１０１に戻る。ステップＳ１１７は、走行制御処理とも呼ばれる。なお、ステップＳ１１５でユーザから駆動部４０の直接操作指示を受けている場合には、ステップＳ１１７では、移動制御部１４は、当該直接操作指示の内容に従って、駆動部４０を制御する。
【００６０】
また、ガイド線７１が枝分かれしている場合、位置ずれ取得部１２は位置のずれを示す値を複数取得するが、ステップＳ１１５でユーザにどの方向に進むべきかの指示を仰いでいる場合は、ステップＳ１１７では、ユーザが指示した方向に対応する検出点と無人搬送車の位置のずれを０に近づけるように、移動制御部１４は駆動部４０を制御する。
【００６１】
また、ガイド線７１が枝分かれしている場合に毎回ユーザの指示を仰ぐのではなく、「複数の位置ずれの値のうちＮ番目に小さい値を０に近づけるように、移動制御部１４は駆動部４０を制御する」というようなルール及びＮの値を予め設定可能にしておいてもよい。ここでＮを１に設定すると、無人搬送車１００は、ガイド線７１の複数の枝分かれのうち、最もスムーズにたどっていける走行経路を選択するようになる。なお、このようなルール及びＮの値の設定が行われている場合において、枝分かれ数がＮよりも小さい場合には、複数の位置ずれの値のうち最も大きな値を０に近づけるように、移動制御部１４は駆動部４０を制御する。
【００６２】
以上、無人搬送車１００の移動制御処理を説明した。ただし、上述の（図１２に示す）移動制御処理は移動制御処理の一例であり、ガイド線を見失わずに障害物を回避する移動制御を行うのであれば、処理の内容や順番等を変更してもよい。
【００６３】
以上、説明したように、無人搬送車１００は、障害物検出部３２が障害物をスキャンし、回避可能な場合に回避制御を行う。このため無人搬送車１００は、ガイド線を見失わずに障害物を回避して移動することができる。また、回避制御は障害物までの距離が閾値未満になってから行われるので、障害物を検出しても、すぐにユーザが当該障害物を無人搬送車１００の移動経路以外の場所に移動させれば、無人搬送車１００は当該障害物を回避するための移動を行わずにガイド線に沿った通常の走行を行うことができる。
【００６４】
（実施形態２）
実施形態１に係る無人搬送車１００は、前下方（例えば床）に設置されたガイド線を経路検出部３１で検出し、ガイド線に沿って移動することができた。しかし、ガイド線は必ずしも床等に設置される必要はなく、例えば天井に設置されてもよい。ここでは、実施形態２として、前上方（例えば天井）に設置されたガイド線を経路検出部３１で検出する無人搬送車１０１について説明する。
【００６５】
実施形態２に係る無人搬送車１０１の機能構成は、実施形態１に係る無人搬送車１００の機能構成と同様であるが、図１３に示すように、経路検出部３１でスキャンする方向が前上方となっている。これにより、実施形態２に係る経路検出部３１は、前上方（天井、壁等）に設置されたガイド線（走行経路を示すライン等の目印）を検出可能である。また、無人搬送車１０１の移動制御処理は、無人搬送車１０１の移動制御処理（図１２）と同様である。
【００６６】
無人搬送車１０１は、上方（例えば天井）に設置されたガイド線の位置に基づいて自動的に移動するが、天井が高い場合等、本来の走行経路の真上にガイド線を設置するのが困難な場合も考えられる。このような場合でも、本来の走行経路の真上ではなく、天井の壁際、壁、棚等に、ガイド線を設置したり、天井からロープ状のガイド線をぶら下げたりして走行経路を設定することができる。
【００６７】
この一例を図１４に示す。図１４に示す例では、無人搬送車１０１の走行経路７９は、ガイド線７１の真下ではない。そのため、ガイド線７１を床に投影した位置と走行経路７９との位置のずれの分だけ、無人搬送車１０１の中心点からずらした位置に基準点７５を設定する。例えばこのずれの値が横方向（Ｘ方向）にＳである場合、位置基準点記憶部２２に（Ｓ，０）を記憶する。このように基準点７５を設定することにより、ガイド線７１の設置場所は、走行経路７９の真上に限られず、柔軟に設定することができる。
【００６８】
ただし、実施形態１では、回避可能幅記憶部２４は、左右共通の回避可能幅（検出可能幅（例えば２ｍ）の半分未満の値（例えば０．９ｍ））を記憶したが、実施形態２では、ガイド線７１の通常の検出位置が検出可能幅の中心になるとは限らない。したがって、実施形態２では、回避可能幅記憶部２４は、左右それぞれの回避可能幅を記憶する。例えば、図１４の例で、検出可能幅が２ｍで、ガイド線７１を床に投影した位置が走行経路７９から右に０．７ｍずれている場合、右回避可能幅は１．６ｍ（＝０．９ｍ＋０．７ｍ）、左回避可能幅は０．２ｍ（＝０．９ｍ−０．７ｍ）のように記憶される。
【００６９】
もっとも、実施形態２においても、レーザ３１２の正面方向をガイド線７１に向けるように経路検出部３１を取り付ければ、ガイド線７１の通常の検出位置は検出可能幅の中心になる。このように経路検出部３１を無人搬送車１０１に取り付けた場合は、回避可能幅記憶部２４は、実施形態１と同様に左右共通の回避可能幅（例えば０．９ｍ）を記憶してもよい。逆に、実施形態１において、経路検出部３１の検出可能幅が左右非対称になっている場合は、回避可能幅記憶部２４が、左右それぞれの回避可能幅を記憶してもよい。
【００７０】
実施形態２に係る無人搬送車１０１は、経路検出部３１が前上方をスキャンして走行経路を検出するので、比較的劣化しやすい床面ではなく、天井等、上方に走行経路の目印となるガイド線を設置することができる。従って、無人搬送車１０１は、ガイド線を見失うことなく障害物を回避できるだけでなく、走行経路の目印となるガイド線の保守性を向上させることができる。
【００７１】
そして、通常、無人搬送車１０１と床面との距離よりも無人搬送車１０１と天井との距離の方が長いため、回避可能幅記憶部２４に記憶される回避可能幅は、実施形態１に係る無人搬送車１００の回避可能幅よりも大きくなる可能性が高い。また、ガイド線が床に設置されている場合、障害物がガイド線の上に置かれてしまうとガイド線が検出できなくなってしまうが、天井にガイド線を設置されている場合はガイド線が障害物で隠れる心配はほとんどない。したがって、実施形態１に係る無人搬送車１００と比較して、無人搬送車１０１はより柔軟に障害物を回避できる。
【００７２】
（実施形態２の変形例１）
無人搬送車１０１は、経路検出部３１が前上方にあるガイド線を検出することによって、自動的に移動することができる。しかし、経路検出部３１の前上方が搬送物品等で遮蔽されてしまうと、無人搬送車１０１は、経路検出部３１でガイド線を検出できず、自動的な移動が不可能になる。そこで、図１５に示すように、実施形態２の変形例１に係る無人搬送車１０２は、経路検出部３１の上方が搬送物品等で遮蔽されることを防ぐための板５２を備える。板５２を備えることにより、無人搬送車１０２は、搬送物品等でレーザが遮られることがなく、安定して走行経路等を検出することができる。
【００７３】
（実施形態２の変形例２）
なお、上述の実施形態２では、位置ずれ取得部１２が、位置基準点記憶部２２に記憶されている基準点７５の位置と、検出点登録部１１によって検出点履歴記憶部２１に登録された過去の検出点の位置と、のずれを取得し、この位置ずれを０に近づけるように移動制御部１４が駆動部４０を制御することによって、無人搬送車１０１，１０２が、ガイド線７１の真下以外の走行経路を移動することを可能にした。しかし、無人搬送車１０１，１０２が、ガイド線７１の真下以外の走行経路を移動することを可能にする仕組みはこれに限られない。
【００７４】
例えば、ガイド線７１が検出されるスキャン角度φが所定の基準角度（例えば、φ０として、記憶部２０に登録しておく）になるように、移動制御部１４が駆動部４０を制御するようにしてもよい。このような制御を行うためには、移動制御処理（図１２）のステップＳ１１３で、検出点登録部１１が検出点履歴記憶部２１にガイド線７１の検出点７２が検出された時のスキャン角度φも登録しておくようにし、ステップＳ１１７で、移動制御部１４が、検出点履歴記憶部２１に登録された過去のスキャン角度φと基準角度φ０との差を０に近づけるように、駆動部４０を制御すればよい。
【００７５】
なお、無人搬送車１００，１０１，１０２の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施形態では、無人搬送車１００，１０１，１０２が行う移動制御処理のプログラムが、記憶部２０のＲＯＭに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）、メモリカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【００７６】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
【符号の説明】
【００７７】
１０…制御部、１１…検出点登録部、１２…位置ずれ取得部、１３…回避量取得部、１４…移動制御部、２０…記憶部、２１…検出点履歴記憶部、２２…位置基準点記憶部、２３…通過可能幅記憶部、２４…回避可能幅記憶部、３１…経路検出部、３２…障害物検出部、３３…操作取得部、４０…駆動部、４１…車輪、４２…モータ、４３…キャスター、５１…荷台、５２…板、６１，６２…受光強度、７１…ガイド線、７２…検出点、７３…履歴、７４…点、７５，７５’…基準点、７６，７６’…障害物、７７，７９…走行経路、７８…回避経路、１００，１００’，１０１，１０２…無人搬送車、３１１，３２１…光学窓、３１２，３１２ｓ，３１２ｅ，３２２…レーザ、３１３，３２３…回転軸、３３１…レバー、３３２…タッチパネル
【図１】
2020198010.tif 000003
【図２】
2020198010.tif 000004
【図３】
2020198010.tif 000005
【図４】
2020198010.tif 000006
【図５】
2020198010.tif 000007
【図６】
2020198010.tif 000008
【図７】
2020198010.tif 000009
【図８】
2020198010.tif 000010
【図９】
2020198010.tif 000011
【図１０】
2020198010.tif 000012
【図１１】
2020198010.tif 000013
【図１２】
2020198010.tif 000014
【図１３】
2020198010.tif 000015
【図１４】
2020198010.tif 000016
【図１５】
2020198010.tif 000017