IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Doogの特許一覧

特許7350288無人搬送車、無人搬送車の制御方法及びプログラム
<>
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図1
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図2
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図3
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図4
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図5
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図6
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図7
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図8
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図9
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図10
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図11
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図12
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図13
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図14
  • 特許-無人搬送車、無人搬送車の制御方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-15
(45)【発行日】2023-09-26
(54)【発明の名称】無人搬送車、無人搬送車の制御方法及びプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230919BHJP
【FI】
G05D1/02 E
G05D1/02 S
【請求項の数】 6
(21)【出願番号】P 2019104986
(22)【出願日】2019-06-05
(65)【公開番号】P2020198010
(43)【公開日】2020-12-10
【審査請求日】2022-04-21
(73)【特許権者】
【識別番号】517270798
【氏名又は名称】株式会社Doog
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100174067
【弁理士】
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100169753
【弁理士】
【氏名又は名称】竹内 幸子
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】大島 章
(72)【発明者】
【氏名】城吉 宏泰
(72)【発明者】
【氏名】柄川 索
【審査官】牧 初
(56)【参考文献】
【文献】特開2006-259877(JP,A)
【文献】国際公開第2016/199312(WO,A1)
【文献】特開昭59-153211(JP,A)
【文献】特開2012-048508(JP,A)
【文献】特開2016-071566(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/12
(57)【特許請求の範囲】
【請求項1】
駆動手段と制御手段とを備える無人搬送車であって、
走行経路を示すガイド線を検出する経路検出手段と、
障害物を検出する障害物検出手段と、
をさらに備え、
前記制御手段は、
前記経路検出手段が検出したガイド線に基づいて走行するように前記駆動手段を制御し、
前記障害物検出手段が前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が、前記ガイド線を検出可能な幅の半分未満の所定の値である回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する、
無人搬送車。
【請求項2】
前記制御手段は、
前記障害物検出手段が前記障害物を検出したら、走行方向において前記障害物が存在しない空間の横幅を取得し、前記横幅が所定の通過可能幅以上なら、前記障害物を回避して走行するように前記駆動手段を制御する、
請求項1に記載の無人搬送車。
【請求項3】
前記経路検出手段は、前記無人搬送車の前上方をスキャンすることにより前記ガイド線を検出する、
請求項1又は2に記載の無人搬送車。
【請求項4】
前記ガイド線は、再帰反射素材で構成され、
前記経路検出手段は、走査式レーザ距離計で構成される、
請求項1から3の何れか1項に記載の無人搬送車。
【請求項5】
走行経路を示すガイド線を検出する経路検出処理と、
障害物を検出する障害物検出処理と、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理と、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が、前記ガイド線を検出可能な幅の半分未満の所定の値である回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理と、
を備える無人搬送車の制御方法。
【請求項6】
コンピュータに、
走行経路を示すガイド線を検出する経路検出処理、
障害物を検出する障害物検出処理、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理、及び、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が、前記ガイド線を検出可能な幅の半分未満の所定の値である回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、床面等に敷設されたテープ等をガイドにして自動的に移動する無人搬送車、無人搬送車の制御方法及びプログラムに関する。
【背景技術】
【0002】
従来から、工場内の物品搬送等に無人搬送車が使われており、無人搬送車の制御を改良する技術開発も進められている。例えば、特許文献1には、路面に設けられたガイド線(走行経路の目印となるライン)に沿って移動する無人搬送車に関し、有限状態マシン(FSM:Finite State Machine)を備えることにより、障害物回避等の機能を容易に拡張できる無人搬送車が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2016/199312号
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された無人搬送車は、優先順位の異なるFSMを複数備えることにより、簡素なアルゴリズムで容易に機能を拡張することができる。例えば、当該無人搬送車は、障害物を検出すると右に旋回して回避を行うFSM及び回避のためにした操縦とは逆向きの操縦を行うFSMを備えることにより、障害物を回避する動作を行えるようにしている。しかし、実際にこれらのFSMによって回避動作を行うと、ガイド線が検出できる場所に戻ることができず、ガイド線を見失ってしまう状況が発生し得る。なぜなら、逆向きの操縦を行っても旋回角度の微妙なずれ等により元の位置に戻れないことがあることや、回避動作後にガイド線自体が方向を変えている状況があり得るからである。このような状況が発生すると、無人搬送車はガイド線に沿った本来の移動を行うことができなくなってしまう。
【0005】
本発明は、上記実情に鑑みてなされたものであり、走行経路の目印となるガイド線を見失うこと無く障害物を回避することができる無人搬送車等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る無人搬送車は、
駆動手段と制御手段とを備える無人搬送車であって、
走行経路を示すガイド線を検出する経路検出手段と、
障害物を検出する障害物検出手段と、
をさらに備え、
前記制御手段は、
前記経路検出手段が検出したガイド線に基づいて走行するように前記駆動手段を制御し、
前記障害物検出手段が前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する。
【0007】
前記制御部は、
前記障害物検出手段が前記障害物を検出したら、走行方向において前記障害物が存在しない空間の横幅を取得し、前記横幅が所定の通過可能幅以上なら、前記障害物を回避して走行するように前記駆動手段を制御する、
ようにしてもよい。
【0008】
前記経路検出手段は、前記無人搬送車の前上方をスキャンすることにより前記ガイド線を検出する、
ようにしてもよい。
【0009】
前記ガイド線は、再帰反射素材で構成され、
前記経路検出手段は、走査式レーザ距離計で構成される、
ようにしてもよい。
【0010】
また、本発明の第2の観点に係る無人搬送車の制御方法は、
走行経路を示すガイド線を検出する経路検出処理と、
障害物を検出する障害物検出処理と、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理と、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理と、
を備える。
【0011】
また、本発明の第3の観点に係るプログラムは、
コンピュータに、
走行経路を示すガイド線を検出する経路検出処理、
障害物を検出する障害物検出処理、
前記経路検出処理で検出したガイド線に基づいて走行するように駆動手段を制御する走行制御処理、及び、
前記障害物検出処理で前記障害物を検出したら、前記障害物を回避するための回避量を取得し、前記回避量が所定の回避可能幅以内なら、前記障害物を回避して走行するように前記駆動手段を制御する回避制御処理、
を実行させる。
【発明の効果】
【0012】
本発明によれば、走行経路の目印となるガイド線を見失うこと無く障害物を回避することができる。
【図面の簡単な説明】
【0013】
図1】実施形態1に係る無人搬送車の機能構成を示すブロック図である。
図2】実施形態1に係る無人搬送車の外観を示す図である。
図3】実施形態1に係る無人搬送車が備える経路検出部の外観及び経路検出部から照射されるレーザを説明する図である。
図4】実施形態1に係る無人搬送車が備える経路検出部、障害物検出部及び操作取得部を無人搬送車の側面から見た図である。
図5】実施形態1に係る経路検出部でガイド線を検出したときの受光強度を説明する図である。
図6】実施形態1に係る無人搬送車が経路検出部で前下方をスキャンする様子を側面から見た図である。
図7】実施形態1に係る無人搬送車が経路検出部で前下方をスキャンする様子を上から見た図である。
図8】実施形態1に係る無人搬送車がガイド線を検出して行う移動制御を説明する図である。
図9】実施形態1に係る無人搬送車が障害物を回避する処理を説明する図である。
図10】障害物が複数存在する場合の例を説明する図である。
図11】ガイド線が枝分かれしている様子を説明する図である。
図12】実施形態1に係る無人搬送車の移動制御処理のフローチャートである。
図13】実施形態2に係る無人搬送車の外観の一例を示す図である。
図14】ガイド線を走行経路の真上に設置しない場合を説明する図である。
図15】実施形態2の変形例1に係る無人搬送車の外観を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態に係る無人搬送車について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0015】
(実施形態1)
本発明の実施形態に係る無人搬送車は、走行経路を示すライン等の目印(ガイド線)に基づいて自動的に移動する装置である。実施形態1に係る無人搬送車100の機能構成の一例を図1に、外観の一例を図2に示す。
【0016】
図1に示すように、無人搬送車100は、制御部10と、記憶部20と、経路検出部31と、障害物検出部32と、操作取得部33と、駆動部40と、を備える。
【0017】
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(検出点登録部11、位置ずれ取得部12、回避量取得部13、移動制御部14)の機能を実現する。また、制御部10は、時計(図示せず)を備え、現在日時の取得や経過時間のカウントをすることができる。制御部10は、制御手段として機能する。
【0018】
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。ROMには制御部10のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。記憶部20は、記憶手段として機能する。また、記憶部20は、機能的構成として、後述する、検出点履歴記憶部21と、位置基準点記憶部22と、通過可能幅記憶部23と、回避可能幅記憶部24と、を備える。
【0019】
経路検出部31は、センシングデバイスとしての走査式レーザ距離計等で構成され、下方(床等)等に設置された走行経路を示すライン(ガイド線)を検出する。経路検出部31は、図3に示すように、光学窓311の内部にある発光部からレーザ312を照射し、床、壁、天井等に存在する対象物(ガイド線等)で反射されたレーザを光学窓311の内部にある受光部が捉える。発光部(及び受光部)が回転軸313を中心に270度(真正面を0度とすると±135度)回転することによってスキャン角度を変えながらレーザ312を照射してスキャンし、反射されたレーザを捉えた受光部からの信号を処理することにより、経路検出部31は、スキャン角度毎に、その方向に存在する対象物との距離及び受光強度を計測することができる。なお、上記で発光部の回転角度(スキャン角度)の範囲を「正面を0度とすると±135度」としたのは一例であり、発光部は、正面でない方向を0度として、例えば±90度回転する仕様であってもよいし、また、±180度回転する仕様であってもよい。
【0020】
経路検出部31は、図4に示すように、スキャンの回転軸313が垂直よりも上方が少し前方向に傾いており、レーザ312は無人搬送車100の前下方に存在する対象物(ガイド線等)をスキャンするようになっている。経路検出部31は、経路検出手段として機能する。なお、経路検出部31の構成は走査式レーザ距離計に限るわけではなく、投受光により距離及び受光強度を計測できるカメラで構成してもよいし、距離及び受光強度を計測できるその他のデバイスで構成してもよい。
【0021】
本実施形態において、ガイド線は、再帰反射素材を用いたラインであり、レーザ光が当たると、そのレーザ光を入射した方向に反射させる。したがって、経路検出部31は、受光強度が所定の基準強度よりも高い場合に、そのスキャン角度の方向にガイド線が存在することを検出することができる。ガイド線は、再帰反射素材を含む塗料を床等に塗布したり、再帰反射素材を含む粘着テープを床等に貼り付けたりすることにより敷設することができる。
【0022】
経路検出部31は、図5に示すように、スキャン角度を変えながら、その方向に存在する対象物から反射されたレーザの受光強度を検出することができる。ガイド線の存在する方向のスキャン角度で検出された受光強度61は、ガイド線の存在しない方向のスキャン角度で検出された受光強度62よりも著しく高いため、経路検出部31は、ガイド線の存在する方向のスキャン角度を取得することができる。また、経路検出部31は、ガイド線以外の物体も検出し、その物体までの距離及び方向を取得することができるため、無人搬送車100の前方に障害物が存在する場合は、障害物の存在する方向、障害物までの距離、障害物が走行経路をどの程度遮るか等の情報を取得することができる。
【0023】
図1に戻り、障害物検出部32は、経路検出部31と同様に、センシングデバイスとしての走査式レーザ距離計等で構成される。障害物検出部32は、図4に示すように取り付け位置及び取り付け角度が経路検出部31と若干異なっており、スキャンの回転軸323が垂直で、光学窓321からレーザ322を水平前方に照射する。これにより、障害物検出部32は、無人搬送車100の前方に存在する障害物を検出するようになっている。また、障害物検出部32は、障害物の存在を検出するだけでなく、障害物の存在する方向、障害物までの距離、障害物が走行経路にはみ出している量(後述する回避量)、複数の障害物間の距離(後述する障害物が存在しない空間の横幅の長さ)等の情報を取得することができる。障害物検出部32は、障害物検出手段として機能する。
【0024】
なお、障害物検出部32の構成も、経路検出部31と同様に、走査式レーザ距離計に限るわけではなく、投受光により距離及び受光強度を計測できるカメラで構成してもよいし、距離及び受光強度を計測できるその他のデバイスで構成してもよい。また、実施形態1では、取り付け角度を経路検出部31と変えたが、障害物検出部32の取り付け角度を経路検出部31と同様に(スキャンの回転軸323が垂直よりも上方が少し前方向に傾くように)してもよい。このようにすると障害物検出部32でも前下方(床面等)にあるガイド線を検出できるようになり、遠方のガイド線を障害物検出部32で検出し、より近いガイド線を経路検出部31で検出し、それぞれの情報を用いて移動制御を行うことも可能になる。
【0025】
また、障害物検出部32と経路検出部31を1つのデバイス(走査式レーザ距離計等)で共用する形にしてもよい。その場合、当該デバイスは、高めの位置(例えば図4に示す障害物検出部32の位置)で、スキャンの回転軸313を垂直よりも上方を少し前方向に傾かせた角度(例えば図4に示す経路検出部31の傾き)で設置するのが望ましい。このように設置すれば、当該デバイスで、前方の障害物とガイド線とを両方ともスキャンできるようになるからである。
【0026】
図1に戻り、操作取得部33は、入力デバイスとしてのジョイスティック等で構成され、ユーザの操作を取得する。操作取得部33は、操作取得手段として機能する。図4に示すように、操作取得部33は、レバー331と、表示パネルと一体化したタッチパネル332と、を備える。そしてユーザは、レバー331を倒す方向で進行方向を、倒す量(倒し角)で移動速度を、それぞれ無人搬送車100に指示することができる。また、タッチパネル332には、ユーザの指示を受け付けるUI(User Interface)としての操作メニュー(最大速度、加速度等の設定や当該設定値の選択、移動停止、動作モード(自律移動モード、マニュアル移動モード等)の選択等を行うメニュー)が表示され、ユーザはそれらにタッチすることによって、無人搬送車100に各指示を行うことができる。
【0027】
図1に戻り、駆動部40は、制御部10からの指示(制御)により無人搬送車100を移動させる。駆動部40は、駆動手段として機能する。図2に示すように、駆動部40は、独立2輪駆動の車輪41とモータ42とキャスター43とを備える。無人搬送車100は、2つの車輪41の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪41の逆方向駆動によりその場での回転(向き変更)を、2つの車輪41のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪41にはロータリエンコーダが備えられており、制御部10は、ロータリエンコーダで計測した車輪41の回転数と、車輪41の直径や車輪41間の距離等とを用いることによって並進移動量及び回転量を計算できる。
【0028】
例えば、車輪41の直径をD、回転数をCとすると、その車輪41の接地部分での並進移動量はπ・D・Cとなる。また、車輪41の直径をD、車輪41間の距離をI、右の車輪41の回転数をCR、左の車輪41の回転数をCLとすると、向き変更の回転量は(右回転を正とすると)360°×D×(CL-CR)/(2×I)となる。この並進移動量及び回転量をそれぞれ逐次足し合わせていくことで、駆動部40はメカオドメトリとしても機能し、制御部10は、自機位置(移動開始時の位置及び向きを基準とした位置及び向き)を把握することができる。
【0029】
なお、車輪41の代わりにクローラを備えるようにしても良いし、複数(例えば二本)の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動き、足の動き等に基づいて、車輪41の場合と同様に自機の位置及び向きの計測が可能である。
【0030】
また、図2に示すように、無人搬送車100は、荷台51を備え、搬送物品等を荷台51に搭載することができる。
【0031】
次に、無人搬送車100の制御部10の機能的構成について説明する。図1に示すように、制御部10は、検出点登録部11、位置ずれ取得部12、回避量取得部13、移動制御部14、の機能を実現し、無人搬送車100の移動制御等を行う。
【0032】
検出点登録部11は、経路検出部31が検出したガイド線の検出点の位置の情報を検出点履歴記憶部21に登録する。例えば、ガイド線が無人搬送車100の正面から前方にまっすぐに伸びている場合は、図6に示すように、レーザ312の照射角度θと、経路検出部31が計測した対象物までの距離Dとから、ガイド線の位置を、無人搬送車100の位置の前方L=D・cosθと求めることができる。
【0033】
ガイド線が無人搬送車100の正面にない場合も、図7に示すスキャン角度φ(正面方向を0度とし、回転軸313の周りの±135度で定義される、レーザ312の照射方向)と、図6に示す照射角度θ及び距離Dとから、経路検出部31によるガイド線71の検出点72の無人搬送車100からの相対位置を求めることができる。
【0034】
そして、駆動部40によるメカオドメトリ機能によって求められる無人搬送車100の位置と、経路検出部31によって求められるガイド線71の検出点72の無人搬送車100からの相対位置とから、ガイド線71の検出点72の位置情報を求めることができる。検出点登録部11は、このようにして求められたガイド線71の検出点72の位置情報を検出点履歴記憶部21に登録する。その結果、検出点履歴記憶部21には、過去の検出点の履歴73が登録されていく。
【0035】
なお、上述したように、実施形態1では経路検出部31が照射するレーザ312のスキャン角度φは、正面方向を0度とすると、回転軸313の周りの±135度で定義される。しかし、スキャン角度φの絶対値が所定の値(例えば90度)以上になるとレーザ312の向きが上向きになり、床面に当たらなくなる。また、レーザ312の向きが下向きであったとしても、スキャン角度φの絶対値がある程度(例えば60度)以上になると床面との角度が小さくなりすぎて安定してガイド線を検出することが困難になる。そこで、無人搬送車100は、安定してガイド線を検出できる範囲として、検出可能幅を設定する。例えば、図7でレーザ312sからレーザ312eまでの間はガイド線を安定して検出できる場合は、検出可能幅はWとなる。そして、無人搬送車100が、ガイド線を検出しつつ、左又は右に障害物を回避することができる幅は、この検出可能幅の半分未満となる。したがって、検出可能幅が2mの場合、回避可能幅を例えば0.9mに設定する。
【0036】
図1に戻り、位置ずれ取得部12は、無人搬送車100の現在の位置と検出点登録部11によって検出点履歴記憶部21に登録された過去の検出点の位置とのずれを取得する。具体的には、図8に示すように、無人搬送車100の基準点75と、過去の検出点の履歴73のうちで前後の位置が基準点75に最も近い点74との距離dを取得する。この距離dの値は、本来あるべき位置とのずれを示す値であり、このdの値をできるだけ小さくするように移動制御することにより、無人搬送車100は、ガイド線71に沿って自動的に移動することができる。
【0037】
図1に戻り、回避量取得部13は、障害物を回避するために必要な横方向の移動量を回避量として取得する。例えば、図9では、ガイド線71に沿って移動した時の走行経路77に、障害物76が、幅wだけはみ出している。この場合、回避量取得部13は、障害物検出部32を用いて幅wの値を回避量として取得する。そして、図9に示すように無人搬送車100の基準点75を回避量wだけずらして新たな基準点75’とする。基準点を回避量分ずらして後述する移動制御処理を行うことにより、無人搬送車100の走行する経路は、走行経路77から回避経路78に変更され、無人搬送車100’の位置に移動することにより障害物76を回避できる。障害物76を通り過ぎると基準点75’は元の基準点75の位置に戻り、走行する経路は走行経路77に戻ることになる。なお、図9で走行経路77や回避経路78は、後述する通過可能幅(無人搬送車100の横幅+α)の幅を持つ帯状の経路として示されている。
【0038】
図9では、障害物76は片側(左側)にしか存在しなかったが、図10に示すように、反対側(右側)にも障害物や壁が存在する場合も考えられる。図10では、左側に障害物76が、右側に障害物76’が、それぞれ存在しており、障害物76と障害物76’の間の、障害物が存在しない空間の横幅xが、通過可能幅よりも狭い場合を示している。この場合、無人搬送車100は、障害物の間(障害物が存在しない空間)を安全に通過することはできないので、障害物が人手等によって取り除かれない限りは、障害物76’の手前で停止しなければならない。
【0039】
このため、無人搬送車100は、後述する移動制御処理において、障害物検出部32を用いて障害物が存在しない空間の横幅の長さ(図10に示すx)を計測し、この値が通過可能幅以上なければ停止する。また、障害物が存在しない空間の横幅が通過可能幅以上あれば、障害物76を回避した走行が可能なので、無人搬送車100は、回避量wの値に応じて障害物76を回避する。
【0040】
図1に戻り、移動制御部14は、位置ずれ取得部12が取得した位置のずれを示す値(距離d)を0に近づけるように、駆動部40を制御する。また、上述した障害物回避のため、移動制御部14は、障害物を回避するための回避量wや障害物が存在しない空間の横幅xに応じて、障害物を回避したり停止したりするように駆動部40を制御する。
【0041】
また、移動制御部14は、検出点履歴記憶部21に登録された過去の検出点の履歴73の情報に基づき、図8に示す進行方向の曲率半径Rを求めることができる。そして、移動制御部14は、曲率半径R(又は曲率1/R)に基づいて、無人搬送車100の並進速度を設定することができる。例えば、曲率半径Rと並進速度とから、無人搬送車100に働く遠心力を算出できるので、移動制御部14は、この遠心力が所定の値を超えないように並進速度を設定してもよい。また、移動制御部14は、ユーザからの指示が操作取得部33によって取得された場合には、ユーザ指示に基づいて駆動部40を制御する。
【0042】
次に、記憶部20の機能的構成について説明する。記憶部20は、検出点履歴記憶部21と、位置基準点記憶部22と、通過可能幅記憶部23と、回避可能幅記憶部24と、を備える。
【0043】
検出点履歴記憶部21には、経路検出部31が検出したガイド線71の検出点72の履歴73の情報が記憶される。例えば、図11に示すように、ガイド線71が枝分かれしている場合、経路検出部31は複数の検出点72を検出するが、この場合は検出した複数の検出点72が全て、検出点登録部11により、検出点履歴記憶部21に記憶される。
【0044】
位置基準点記憶部22には、位置ずれ取得部12が位置のずれを取得する際の無人搬送車100の基準点75の(無人搬送車100を上から見た時の中心点を基準とした)相対位置が記憶される。例えば、図8では、基準点75は無人搬送車100の中心点に位置しており、この場合、位置基準点記憶部22には(0,0)が記憶されている。
【0045】
通過可能幅記憶部23には、無人搬送車100の横幅(例えば1m)+α(例えば10cm)の値(例えば1.1m)が通過可能幅として記憶される。障害物により走行経路が通過可能幅未満に狭まった場合は、無人搬送車100は停止することになる。
【0046】
回避可能幅記憶部24には、経路検出部31で経路を検出できる最大幅(例えば2m、上述した検出可能幅である。)の半分未満の値(例えば0.9m)が、回避可能幅として記憶される。無人搬送車100は、横方向にこの回避可能幅を超えて移動すると、経路検出部31でガイド線を検出することができなくなる。したがって、無人搬送車100は、障害物を検出した場合、回避量取得部13で取得した回避量が回避可能幅以下の場合には当該障害物を回避するが、回避可能幅を超える場合は回避せずに停止することになる。
【0047】
次に、無人搬送車100の移動制御処理について、図12を参照して説明する。ユーザが無人搬送車100に自律移動の開始を指示すると、この移動制御処理が開始される。
【0048】
まず、経路検出部31は、走行経路を示すガイド線を検出するために無人搬送車100の前方をスキャンする(ステップS101)。ステップS101は、経路検出処理とも呼ばれる。次に、障害物検出部32は、障害物の有無や位置等を検出するために無人搬送車100の前方をスキャンする(ステップS102)。ステップS102は、障害物検出処理とも呼ばれる。なお、経路検出部31と障害物検出部32とが同一のデバイスで構成されている場合は、ステップS101とステップS102とを共通のスキャンでまとめて実行してもよい。
【0049】
そして、制御部10は、ステップS102での障害物検出部32によるスキャン結果により、無人搬送車100の走行経路の通過可能幅内に障害物が存在するか否かを判定する(ステップS103)。なお、ステップS103で障害物が存在することを検出したら、制御部10はアラーム音等を出力して、障害物が存在することをユーザに知らせてもよい。障害物が存在するなら(ステップS103;Yes)、制御部10は、ステップS102での障害物検出部32によるスキャン結果により、当該障害物までの距離が閾値(例えば1m)未満か否かを判定する(ステップS104)。当該障害物までの距離が閾値以上なら(ステップS104;No)、ステップS112に進む。
【0050】
当該障害物までの距離が閾値未満なら(ステップS104;Yes)、制御部10は、無人搬送車100が当該障害物を回避可能か否かを判定する(ステップS105)。この判定は、ステップS102での障害物検出部32によるスキャン結果に基づき、回避量取得部13が取得した回避量(障害物を回避するのに必要な横方向の移動量)が、回避可能幅記憶部24に記憶されている回避可能幅以下であり、かつ、無人搬送車100の走行方向において障害物が存在しない空間の横幅が、通過可能幅記憶部23に記憶されている通過可能幅以上であるなら、当該障害物を回避可能と判定し、そうでないなら回避不可能と判定する。
【0051】
回避可能であれば(ステップS105;Yes)、回避量取得部13は取得した回避量を回避値として記憶部20に記憶し、位置基準点記憶部22に記憶されている位置基準点を回避値だけずらし(ステップS106)、ステップS112に進む。ステップS106は回避制御処理とも呼ばれる。なお、ステップS106において、既に記憶部20に回避値が記憶されている場合は、回避量取得部13は、位置基準点記憶部22に記憶されている位置基準点を(記憶部20に記憶されている以前の回避値を用いる等して)元に戻し、その後新たな(今回取得した回避量である)回避値を記憶部20に記憶し、位置基準点を新たな回避値だけずらして位置基準点記憶部22に記憶する。
【0052】
回避可能でなければ(ステップS105;No)、移動制御部14は駆動部40を制御して無人搬送車100の走行を停止させる(ステップS107)。ステップS107では、制御部10は、アラーム音(障害物検出時のアラーム音とは異なる音にしてもよい)等を出力して走行を停止したことをユーザに知らせてもよい。そして、制御部10は、操作取得部33からユーザの操作が取得されたか否かを判定する(ステップS108)。ユーザの操作が取得されなければ(ステップS108;No)、ステップS110に進む。
【0053】
ユーザの操作が取得されたら(ステップS108;Yes)、移動制御部14は、操作取得部33から取得したユーザ操作に従って駆動部40を制御する(ステップS109)。そして、制御部10は、障害物検出部32により無人搬送車100の走行方向の通過可能幅内に障害物が存在するか否かを判定する(ステップS110)。障害物が存在するなら(ステップS110;Yes)、ステップS107に戻る。障害物が存在しないなら(ステップS110;No)、ステップS101に戻る。
【0054】
一方、無人搬送車100の進行方向に障害物が存在しないなら(ステップS103;No)、制御部10は、記憶部20に記憶された回避値を消去する(ステップS111)。回避値の消去は、回避値分だけずれている位置基準点を元に戻して位置基準点記憶部22に書き込んでから、回避値を0にして記憶部20に書き込む処理となる。
【0055】
次に、制御部10は経路検出部31がガイド線を検出したか否かを判定する(ステップS112)。ガイド線が検出されなければ(ステップS112;No)、ステップS107に進む。ガイド線が検出されたら(ステップS112;Yes)、検出点登録部11は、経路検出部31が検出したガイド線の検出点の位置の情報を検出点履歴記憶部21に登録する(ステップS113)。なお、図11に示すように、ガイド線71が枝分かれしている場合、上述したように、経路検出部31は複数の検出点72を検出し、検出点登録部11は、この複数の検出点72を全て、検出点履歴記憶部21に登録する。
【0056】
そして、位置ずれ取得部12は、無人搬送車100の現在の位置(位置基準点記憶部22に記憶されている基準点75の位置)と検出点登録部11によって検出点履歴記憶部21に登録された過去の検出点の位置とのずれを取得する(ステップS114)。ガイド線71が枝分かれしている場合、位置ずれ取得部12は、経路検出部31による複数の検出点72のそれぞれについて、無人搬送車100の現在の位置とのずれを取得する。この場合、制御部10は、次のステップS115で、操作取得部33により、ユーザにこの複数の検出点72のうちのどの方向に進むべきかの指示を仰いでもよい。
【0057】
そして、制御部10は、操作取得部33によりユーザの操作を取得する(ステップS115)。特にユーザの操作が無い場合は、制御部10は、ステップS115では何もせずにステップS116に進む。ステップS115で取得されるユーザの操作の例としては、移動制御の終了、位置基準点記憶部22に記憶する基準点75の相対位置の設定、駆動部40の直接操作指示(停止、前進、後退、回転等)等が挙げられる。
【0058】
そして、制御部10は、移動制御を終了するか否かを判定する(ステップS116)。例えば、ステップS115で操作取得部33にユーザが移動制御終了の指示を出した場合には、移動制御を終了することになる。移動制御を終了するなら(ステップS116;Yes)、移動制御処理を終了する。
【0059】
移動制御を終了しないなら(ステップS116;No)、移動制御部14は、位置ずれ取得部12が取得した位置のずれを示す値を0に近づけるように無人搬送車100が走行するように、駆動部40を制御し(ステップS117)、ステップS101に戻る。ステップS117は、走行制御処理とも呼ばれる。なお、ステップS115でユーザから駆動部40の直接操作指示を受けている場合には、ステップS117では、移動制御部14は、当該直接操作指示の内容に従って、駆動部40を制御する。
【0060】
また、ガイド線71が枝分かれしている場合、位置ずれ取得部12は位置のずれを示す値を複数取得するが、ステップS115でユーザにどの方向に進むべきかの指示を仰いでいる場合は、ステップS117では、ユーザが指示した方向に対応する検出点と無人搬送車の位置のずれを0に近づけるように、移動制御部14は駆動部40を制御する。
【0061】
また、ガイド線71が枝分かれしている場合に毎回ユーザの指示を仰ぐのではなく、「複数の位置ずれの値のうちN番目に小さい値を0に近づけるように、移動制御部14は駆動部40を制御する」というようなルール及びNの値を予め設定可能にしておいてもよい。ここでNを1に設定すると、無人搬送車100は、ガイド線71の複数の枝分かれのうち、最もスムーズにたどっていける走行経路を選択するようになる。なお、このようなルール及びNの値の設定が行われている場合において、枝分かれ数がNよりも小さい場合には、複数の位置ずれの値のうち最も大きな値を0に近づけるように、移動制御部14は駆動部40を制御する。
【0062】
以上、無人搬送車100の移動制御処理を説明した。ただし、上述の(図12に示す)移動制御処理は移動制御処理の一例であり、ガイド線を見失わずに障害物を回避する移動制御を行うのであれば、処理の内容や順番等を変更してもよい。
【0063】
以上、説明したように、無人搬送車100は、障害物検出部32が障害物をスキャンし、回避可能な場合に回避制御を行う。このため無人搬送車100は、ガイド線を見失わずに障害物を回避して移動することができる。また、回避制御は障害物までの距離が閾値未満になってから行われるので、障害物を検出しても、すぐにユーザが当該障害物を無人搬送車100の移動経路以外の場所に移動させれば、無人搬送車100は当該障害物を回避するための移動を行わずにガイド線に沿った通常の走行を行うことができる。
【0064】
(実施形態2)
実施形態1に係る無人搬送車100は、前下方(例えば床)に設置されたガイド線を経路検出部31で検出し、ガイド線に沿って移動することができた。しかし、ガイド線は必ずしも床等に設置される必要はなく、例えば天井に設置されてもよい。ここでは、実施形態2として、前上方(例えば天井)に設置されたガイド線を経路検出部31で検出する無人搬送車101について説明する。
【0065】
実施形態2に係る無人搬送車101の機能構成は、実施形態1に係る無人搬送車100の機能構成と同様であるが、図13に示すように、経路検出部31でスキャンする方向が前上方となっている。これにより、実施形態2に係る経路検出部31は、前上方(天井、壁等)に設置されたガイド線(走行経路を示すライン等の目印)を検出可能である。また、無人搬送車101の移動制御処理は、無人搬送車101の移動制御処理(図12)と同様である。
【0066】
無人搬送車101は、上方(例えば天井)に設置されたガイド線の位置に基づいて自動的に移動するが、天井が高い場合等、本来の走行経路の真上にガイド線を設置するのが困難な場合も考えられる。このような場合でも、本来の走行経路の真上ではなく、天井の壁際、壁、棚等に、ガイド線を設置したり、天井からロープ状のガイド線をぶら下げたりして走行経路を設定することができる。
【0067】
この一例を図14に示す。図14に示す例では、無人搬送車101の走行経路79は、ガイド線71の真下ではない。そのため、ガイド線71を床に投影した位置と走行経路79との位置のずれの分だけ、無人搬送車101の中心点からずらした位置に基準点75を設定する。例えばこのずれの値が横方向(X方向)にSである場合、位置基準点記憶部22に(S,0)を記憶する。このように基準点75を設定することにより、ガイド線71の設置場所は、走行経路79の真上に限られず、柔軟に設定することができる。
【0068】
ただし、実施形態1では、回避可能幅記憶部24は、左右共通の回避可能幅(検出可能幅(例えば2m)の半分未満の値(例えば0.9m))を記憶したが、実施形態2では、ガイド線71の通常の検出位置が検出可能幅の中心になるとは限らない。したがって、実施形態2では、回避可能幅記憶部24は、左右それぞれの回避可能幅を記憶する。例えば、図14の例で、検出可能幅が2mで、ガイド線71を床に投影した位置が走行経路79から右に0.7mずれている場合、右回避可能幅は1.6m(=0.9m+0.7m)、左回避可能幅は0.2m(=0.9m-0.7m)のように記憶される。
【0069】
もっとも、実施形態2においても、レーザ312の正面方向をガイド線71に向けるように経路検出部31を取り付ければ、ガイド線71の通常の検出位置は検出可能幅の中心になる。このように経路検出部31を無人搬送車101に取り付けた場合は、回避可能幅記憶部24は、実施形態1と同様に左右共通の回避可能幅(例えば0.9m)を記憶してもよい。逆に、実施形態1において、経路検出部31の検出可能幅が左右非対称になっている場合は、回避可能幅記憶部24が、左右それぞれの回避可能幅を記憶してもよい。
【0070】
実施形態2に係る無人搬送車101は、経路検出部31が前上方をスキャンして走行経路を検出するので、比較的劣化しやすい床面ではなく、天井等、上方に走行経路の目印となるガイド線を設置することができる。従って、無人搬送車101は、ガイド線を見失うことなく障害物を回避できるだけでなく、走行経路の目印となるガイド線の保守性を向上させることができる。
【0071】
そして、通常、無人搬送車101と床面との距離よりも無人搬送車101と天井との距離の方が長いため、回避可能幅記憶部24に記憶される回避可能幅は、実施形態1に係る無人搬送車100の回避可能幅よりも大きくなる可能性が高い。また、ガイド線が床に設置されている場合、障害物がガイド線の上に置かれてしまうとガイド線が検出できなくなってしまうが、天井にガイド線を設置されている場合はガイド線が障害物で隠れる心配はほとんどない。したがって、実施形態1に係る無人搬送車100と比較して、無人搬送車101はより柔軟に障害物を回避できる。
【0072】
(実施形態2の変形例1)
無人搬送車101は、経路検出部31が前上方にあるガイド線を検出することによって、自動的に移動することができる。しかし、経路検出部31の前上方が搬送物品等で遮蔽されてしまうと、無人搬送車101は、経路検出部31でガイド線を検出できず、自動的な移動が不可能になる。そこで、図15に示すように、実施形態2の変形例1に係る無人搬送車102は、経路検出部31の上方が搬送物品等で遮蔽されることを防ぐための板52を備える。板52を備えることにより、無人搬送車102は、搬送物品等でレーザが遮られることがなく、安定して走行経路等を検出することができる。
【0073】
(実施形態2の変形例2)
なお、上述の実施形態2では、位置ずれ取得部12が、位置基準点記憶部22に記憶されている基準点75の位置と、検出点登録部11によって検出点履歴記憶部21に登録された過去の検出点の位置と、のずれを取得し、この位置ずれを0に近づけるように移動制御部14が駆動部40を制御することによって、無人搬送車101,102が、ガイド線71の真下以外の走行経路を移動することを可能にした。しかし、無人搬送車101,102が、ガイド線71の真下以外の走行経路を移動することを可能にする仕組みはこれに限られない。
【0074】
例えば、ガイド線71が検出されるスキャン角度φが所定の基準角度(例えば、φとして、記憶部20に登録しておく)になるように、移動制御部14が駆動部40を制御するようにしてもよい。このような制御を行うためには、移動制御処理(図12)のステップS113で、検出点登録部11が検出点履歴記憶部21にガイド線71の検出点72が検出された時のスキャン角度φも登録しておくようにし、ステップS117で、移動制御部14が、検出点履歴記憶部21に登録された過去のスキャン角度φと基準角度φとの差を0に近づけるように、駆動部40を制御すればよい。
【0075】
なお、無人搬送車100,101,102の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、無人搬送車100,101,102が行う移動制御処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0076】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
【符号の説明】
【0077】
10…制御部、11…検出点登録部、12…位置ずれ取得部、13…回避量取得部、14…移動制御部、20…記憶部、21…検出点履歴記憶部、22…位置基準点記憶部、23…通過可能幅記憶部、24…回避可能幅記憶部、31…経路検出部、32…障害物検出部、33…操作取得部、40…駆動部、41…車輪、42…モータ、43…キャスター、51…荷台、52…板、61,62…受光強度、71…ガイド線、72…検出点、73…履歴、74…点、75,75’…基準点、76,76’…障害物、77,79…走行経路、78…回避経路、100,100’,101,102…無人搬送車、311,321…光学窓、312,312s,312e,322…レーザ、313,323…回転軸、331…レバー、332…タッチパネル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15