(57)【要約】【課題】無人搬送車が走行線を画像認識して走行する無人搬送車走行システムにおいて、無人搬送車がコースアウトしないようにする。【解決手段】テープによる走行線２０として、本線２０Ａと、本線２０Ａの片側あるいは両側に補助線２０Ｂを設ける。無人搬送車１０がＵＳＢカメラ１２で走行線２０（本線２０Ａ，補助線２０Ｂ）を撮像して輪郭を取得する。輪郭の中央値を求める。中央値の画面上の位置（座標に応じて）と角度に応じて移動方向を決める。エレベータのエレベータ１制御盤にＰＬＣを接続してサーバーＰＣと通信する。エレベータのエレベータ２制御盤にＰＬＣとエレベータ用ＰＬＣ制御ＰＣを接続してサーバーＰＣと通信する。無人搬送車１０とサーバーＰＣと通信して無人搬送車１０がエレベータに対して乗降する。【選択図】図１
2015210761.tif 000002
【特許請求の範囲】
【請求項１】
無人搬送車が走行線を画像認識して走行する無人搬送車走行システムであって、
前記走行線が、本線と該本線の脇に位置する補助線とから構成され、
前記無人搬送車が前記本線を見失った場合に、前記補助線に基づいて当該無人搬送車を前記本線に復帰させるようにしたことを特徴とする無人搬送車走行システム。
【請求項２】
請求項１に記載の無人搬送車走行システムにより前記無人搬送車がエレベータに乗降するエレベータ乗降システムであって、
前記無人搬送車と、サーバーコンピュータと、エレベータ制御盤と、ＰＬＣとの４つの要素から構成され、
前記無人搬送車と前記サーバーコンピュータはエレベータ乗降に必要な手順を無線通信で交信し、
前記サーバーコンピュータと前記エレベータ制御盤は前記ＰＬＣを介して接続して該サーバーコンピュータから該エレベータ制御盤を制御できるようにしてなり、
前記無人搬送車に搭載されているコンピュータには運行予定表が記憶され、該運行予定表にエレベータ呼出指示、エレベータ移動指示及びエレベータ降車完了指示の３つの指示が定義されていることによって、
前記無人搬送車がエレベータ乗降できるようにしたことを特徴とするエレベータ乗降システム。
【請求項３】
請求項１に記載の無人搬送車走行システムにより前記無人搬送車が複数あるエレベータの任意の一つのエレベータに乗降するエレベータ乗降システムであって、
前記無人搬送車と、サーバーコンピュータと、エレベータ用ＰＬＣ制御コンピュータと、エレベータ制御盤と、ＰＬＣとの５つの要素から構成され、
前記無人搬送車と前記サーバーコンピュータはエレベータ乗降に必要な手順を無線通信でで交信し、
前記エレベータ用ＰＬＣ制御コンピュータと前記エレベータ制御盤は前記ＰＬＣを介して接続して該エレベータ用ＰＬＣ制御コンピュータから該エレベータ制御盤を制御できるようにしてなり、
前記サーバーコンピュータと前記エレベータ用ＰＬＣ制御コンピュータは有線または無線通信で接続して
該サーバーコンピュータから各エレベータ用ＰＬＣ制御コンピュータを介して任意のエレベータ制御盤を制御できるようにしてなり、
前記無人搬送車に搭載されているコンピュータには運行予定表が記憶され、該運行予定表にエレベータ呼出指示、エレベータ移動指示及びエレベータ降車完了指示の３つの指示が定義されていることによって、
前記無人搬送車は１台のサーバーコンピュータとのエレベータ乗降の手順を踏むだけで、任意のエレベータに乗降できるようにしたことを特徴とするエレベータ乗降システム。
【請求項４】
請求項２または３に記載のエレベータ乗降システムであって、
前記エレベータ移動指示の前に障害物センサーを無効にする手段と、
前記エレベータ移動指示の実行の後に前記障害物センサーを有効にする手段と、
を備えたことを特徴とするエレベータ乗降システム。
【請求項５】
請求項２乃至４のいずれか一項に記載のエレベータ乗降システムであって、
前記エレベータ内に本線に戻す為の前記補助線を有し、
前記無人搬送車が、乗り込んだエレベータから前進降車するためにエレベータ内でスピンターンする手段として、指定時間分回転する手段と、指定時間分回転中は障害物センサーを無効とする手段とを有し、
前記無人搬送車が、指定時間分回転の終了後に停止した位置に施設された本線あるいは補助線のどちらか１本に沿って走行することでスピンターンを実行し、該スピンターン実行の後は障害物センサーを有効にするとともに、エレベータの行先指示後に上記スピンターンを実行することを特徴とするエレベータ乗降システム。
【請求項６】
請求項１に記載の無人搬送車走行システムにより前記無人搬送車がエレベータに乗降するエレベータ乗降システムにて、障害物センサを有する前記無人搬送車がエレベータ内でスピンターンするエレベータ内でのスピンターン方法であって、
前記エレベータ内に本線に戻す為の前記補助線を設け、前記無人搬送車が、指定時間分回転の終了後に停止した位置に施設された本線あるいは補助線のどちらか１本に沿って走行することでスピンターンを実行し、該スピンターン実行の後は障害物センサーを有効にするとともに、エレベータの行先指示後に上記スピンターンを実行することを特徴とするエレベータ内でのスピンターン方法。
【請求項７】
請求項６に記載のエレベータ内でのスピンターン方法であって、前記補助線は、前記本線の左右に設置するようにしたことを特徴とするエレベータ内でのスピンターン方法。
【請求項８】
請求項７に記載のエレベータ内でのスピンターン方法であって、無人搬送車が走行線を画像認識するたねお複数のカメラ画角エリアを有し、前記複数のカメラ画角エリアの各エリアの中央に前記補助線を設けていることを特徴とするエレベータ内でのスピンターン方法。
【請求項９】
請求項６乃至８のいずれか一項に記載のエレベータ内でのスピンターン方法であって、
指定時間分回転の回転終了後に走行線が見つからない時は、左右を自律探索することを特徴とするエレベータ内でのスピンターン方法。
【請求項１０】
請求項９に記載のエレベータ内でのスピンターン方法であって、
指定時間分回転の回転終了後に走行線が見つからない時は、
回転量検知手段と該回転量検知手段の検知結果から探索開始方向を決定することを特徴とするエレベータ内でのスピンターン方法。
【請求項１１】
請求項５に記載のエレベータ乗降システムであって、
１つの番地に対して複数の運行指示を指定でき、エレベータの行先指示およびスピンターンの指示を１つの番地で実行できることを特徴とするエレベータ乗降システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無人搬送車が走行線を画像認識して走行する無人搬送車走行システム、無人搬送車がエレベータ乗降できるようにしたエレベータ乗降システムに関する。
【背景技術】
【０００２】
従来、無人搬送車が走行する走行線として磁気テープがよく知られているが、磁気センサーで磁気を検知しながら磁気テープに沿って走行するものであり、一度磁気テープから外れるとコースアウトし停止するようになっている。特公平０６−０１２４８５号公報（特許文献１）のものでは、コースアウト復帰方法として、コースアウトした地点からバックさせることで実現している。
【０００３】
また、従来、無人搬送車がエレベータ乗降する構成として以下のような手段が必要であった。第１に、各階エレベータ近傍に無人搬送車の有無を検知する為の手段である。第２に、各階エレベータ呼び出しボタンを無人搬送車から制御できるように為の手段である。第３に、エレベータが呼び出し階に到着してドアー開状態になったことを無人搬送車に通知する手段である。第４に、エレベータ籠内の行き先階ボタンを無人搬送車から制御できるように為の手段である。第５に、エレベータが行き先階に到着してドアー開状態になったことを無人搬送車に通知する手段である。第６に、       無人搬送車がエレベータから降車完了後にエレベータドアーを閉める為の手段である。
【０００４】
また、従来、無人搬送車は、狭い通路で方向転換する際、車体のほぼ中心を回転中心として旋回するスピンターンが、車両運行上大変便利なので、多用されている。コースレイウトを省スペース化でき、ターンに要する時間も短縮できるメリットをも持つ機能である。従来、磁気テープ式無人搬送車においては、例えば特許第３１３４５７１号公報（特許文献２）のように、スピンターン開始前の停止位置を厳密に調整し、スピンターン完了後は磁気センサーが誘導路の真上にくるように調整する必要があった。ターンしながら磁気テープの検知を行い、検知するとターン終了させることで実現している。あるいは、無人搬送車に角度センサーを設けて半回転を検知する方法などがある。また、特許第２６６１７２０号公報（特許文献３）のように、指定した時間だけ回転することでスピンターンするものもある。いずれも、スピンターン終了後の誘導路検知センサーの位置が誘導路の真上にくるようにする為の方法である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のように、無人搬送車がコースアウト地点からバックするのでは走路発見に無駄な時間を要していた。また、そもそもコースアウトする事を前提にした復帰方法であった。
【０００６】
本発明は、無人搬送車がコースアウトしないような無人搬送車走行システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１の無人搬送車走行システムは、無人搬送車が走行線を画像認識して走行する無人搬送車走行システムであって、前記走行線が、本線と該本線の脇に位置する補助線とから構成され、前記無人搬送車が前記本線を見失った場合に、前記補助線に基づいて当該無人搬送車を前記本線に復帰させるようにしたことを特徴とする。
【発明の効果】
【０００８】
請求項１の無人搬送車走行システムによれば、無人搬送車が走行線を画像認識して走行する無人搬送車走行システムにおいて、走行中に本線の脇に１本以上の補助線を設けているので、無人搬送車が停止時に牽引物追突による無人搬送車の走路外れ、あるいは、汚れたフロアーで走行外れしやすい場所おいても、コースアウトせず本線に復帰することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態の無人搬送車のハード構成を示す図である。
【図２】実施形態のＵＳＢカメラから取得した画像、画像から取得した輪郭及び輪郭の角度と中央値を示す図である。
【図３】実施形態における画像の輪郭の処理を説明する図である。
【図４】実施形態におけるユーザーの入力処理を説明する図である。
【図５】実施形態における走行線のコースレイアウト及び構成の一例を示す図である。
【図６】実施形態における運行予定表、フォーマット及び動作を示すアクションを示す図である。
【図７】実施形態における牽引物衝突によｌる停止時の走路はずれの例を示す図である。
【図８】実施形態におけるシステム構成図である。
【図９】実施形態における１８０度ターン用の補助線１本時のレイアウトの例を示す図である。
【図１０】実施形態における１８０度ターン用の補助線２本時のレイアウトの例を示す図である。
【図１１】実施形態における１８０度ターン用の補助線２本時のレイアウトの例と複数エリアを説明する図である。
【図１２】実施形態における無人搬送車の第１のフローチャートである。
【図１３】実施形態における無人搬送車の第２のフローチャートである。
【図１４】実施形態における無人搬送車の第３のフローチャートである。
【図１５】実施形態における無人搬送車の第４のフローチャートである。
【図１６】実施形態におけるサーバーＰＣのフローチャートである。
【図１７】実施形態におけるエレベータ用ＰＬＣ制御ＰＣのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について、図１乃至図６を参照して説明する。図１は本発明の一実施形態の無人搬送車（ＡＧＶ：AutomaticGuidedVehicle)のハード構成を示す図である。この無人搬送車１０は走行線とともに無人搬送車走行システムを構成する。この無人搬送車１０は、コンピュータ１１を搭載し、ＵＳＢカメラ１２と、蛍光灯１３と、障害物センサー１４と、モ−ター１５とを備えている。以下、実施形態において、コンピュータを「ＰＣ」と称する。ＵＳＢカメラ１２、蛍光灯１３、障害物センサー１４、モ−ター１５は、ＰＣ１１に接続されている。ＵＳＢカメラ１２は無人搬送車１０(以下、「ＡＧＶ」ともいう。）の斜め前方の画像を採取できる位置に取り付けており、この斜め前方は、床面に対して約３５度の角度をなしている。なお、ＰＣ１１は、コンバータ１６及びメインバッテリ１７で供給される電力により作動する。
【００１１】
無人搬送車１０は、市販の幅19mmの黒ビニールテープで作成した例えば図５に示すコースレイアウト上を走る。このコースレイアウトを構成するのは、例えば図７、図９、図１０、図１１に示すような、黒ビニールテープで構成した本線２０Ａと補助線２０Ｂからなる。なお、本線２０Ａと補助線２０Ｂを総称するときは「走行線２０」という。そして、無人搬送車１０は、ＵＳＢカメラ１２で取得した画像を解析して、走行線２０に従って走行する。
【００１２】
図２は、ＵＳＢカメラ１２から取得した画像（図２（Ａ））、画像から取得した輪郭（図２（Ｂ））及び輪郭の角度と中央値を示す図（図２（Ｃ））である。図２(A) に示すように、床面色が緑の床の画像ＧＢを背景として、走行線２の画像Ｇ２が撮像される。この画像Ｇ２から、図２（Ｂ）に示すように、走行線２０の画像Ｇ２の輪郭Ｅ１，Ｅ２を抽出する。そして、この輪郭Ｅ１，Ｅ２を解析して各輪郭Ｅ１，Ｅ２の中央値（画像の座標）を求める。
【００１３】
この画像ＧＢ、Ｇ２から取得した画像の輪郭をどのように処理しているかを図３に基づいて説明する。ＵＳＢカメラ１２から画像(幅160dot、高さ120dotの画像)を取得し、さらに走行線２０の輪郭Ｅ１，Ｅ２を得る。これらの処理は、ＰＣ１１上で走る画像処理ライブラリーを利用して行う。
【００１４】
次に、輪郭の面積・中央値・角度を求める。図３（Ａ）に示すように、輪郭は７つの線分から構成され、各線分の座標は、（７５，１０）、（６９，５９）、（７６，８８）、（７２，１０６）、（８４，８）、（８６，８５）、（８０，１１５）であるとする。
【００１５】
中央値ｘ＝（ｘ最大値＋ｘ最小値＋１）／２＝（８６＋６９＋１）／２＝７８
中央値ｙ＝（ｙ最大値＋ｙ最小値＋１）／２＝（１１５＋８＋１）／２＝６２
となる。
また、ａｔａｎ（（ｙ最大値−ｙ最小値＋１）／（ｘ最大値−ｘ最小値＋１））＝ａｔａｎ（（１１５−８＋１）／（８６−６９＋１））≒８１度となり、画面の真上方向を０度基準としているので、角度は
９０−８１＝９度となる。
また角度は、左右の向きも反映する必要があるので、（ｘが最小値をとる時のｙ＜ｘが最大値をとる時のｙ）であれば左向き（―符号）、（ｘが最小値をとる時のｙ＞＝ｘが最大値をとる時のｙ）であれば右向き（＋符号）とする。
【００１６】
上記７つの座標であれば、ｘが最小値をとる時のｙ＝５９、ｘが最大値をとる時のｙ＝８５なので角度＝−９度となる。
面積（ドット数）は、画像処理ライブラリ側が求めたものをそのまま使用する。このようにして、中央値：（７８，６２）、角度：（−９）、面積（１５００）を算出されたものとする。なお、有効な輪郭条件として、面積が１９００（１９ｍｍ×１００ｍｍ）〜５７００（１９ｍｍ×３００ｍｍ）の輪郭に制限する。これは、床面の汚れを輪郭と誤検知することを防止する為に、９５０未満の輪郭は走行線２０の輪郭と見なさない。
【００１７】
次に、中央値と角度から無人搬送車１０の操舵をどう決定しているかを説明する。中央値のｘ座標値が、６０＜＝ｘ＜＝１００ならば、直進、ｘ＜６０ならば、左操舵し、１００＜ｘならば、右操舵する。角度は、２０度未満ならば直進し、―２０度以上ならば左操舵し、＋２０度以上ならば右操舵する。最終的な操舵方向は、中央値と角度の相関関係より決定する。
【００１８】
図３（Ｂ）は本線２Ａが画面から外れて本線２Ａを見失った状態で「右操舵しずぎ」の例を示す図である。このように、角度（４５度)だけで最終操舵を決定すると、さらに右操舵を継続することになる。そして、走行線２０がＵＳＢカメラ１２の視野から消えてしまうので、図３（Ｂ）に示すの中央値（３５，２５）、角度（４５度）の場合は中央値を採用し左操舵となる。つまり、常に走行線２０の輪郭Ｅ１がカメラ画像の中央付近に来るように、中央値と角度の相関関係により、最終的な操舵方向を決定する。なお、これは人が車の運転をする時と同じような制御である。また、本線２０Ａの右側に長さ２０ｃｍ以上の輪郭を検出すると、番地と判断する。番地を検出すると、図６に示す後述の運行予定表の記載内容をカウントアップで実行する。
【００１９】
無人搬送車１０のＰＣ１１には、例えば図６（Ａ）に示す運行予定表のデータが記憶されている。この運行予定表の各データは、図６（Ｂ）のようなフォーマットになっており、その中の動作を示す「アクション」は図６（Ｃ）のように決められている。そして、無人搬送車１０はこの運行予定表に従って動作する。
【００２０】
図５は無人搬送車１０が走行するコースレイアウトと構成を示す図である。無人搬送車１０を走行開始するときは、例えば、図４（Ａ）及び図４（Ｂ）に示すように、ユーザーがＰＣ１１のキーボードから行き先を入力する。この例では、行き先駅は「１」が入力されたものとし、出発は図５のスタート地点（番地５０の直後）とする。スタートキー押下で走行開始する。行き先駅の入力が「１」の場合は、図６（Ａ）の運行予定表の行き先駅１の行を運行予定表として採用する。
【００２１】
まず、コースアウト防止の実施例を説明する。スタート地点から走行開始後の最初の番地５１を読むと”５１：ＥＩ１：２１”なので、エレベータ１に乗って２Fから１Fへ行け命令と解釈し、まず停止する。図７に示すように無人搬送車１０は牽引物３０を牽引しており、この牽引物３０側にブレーキ機構は付いていない。したがって、牽引物３０が追突してきて無人搬送車１０が前に押し出される。この時、無人搬送車１０の方向が左右に曲がる場合が多々発生する。しかし、図７に示すように本線２０Ａの他に補助線２０Ｂがあるので、リスタート時この補助線２０Ｂに沿って走行することでコースアウトにならずに本線２０Ａに復帰できる。また、コース上にコースアウトしやすい地点があるのであれば（必ずしも停止動作を伴う番地とは限らない）、本線２０Ａの両脇に補助線２０Ｂ，２Ｂを施設することで、コースアウトを防止できる。
【００２２】
次に、エレベータ乗降の実施例を説明する。まず、図５(B) 及び図８に示すように、エレベータ１制御盤Ｅ１１とエレベータ１本体ＥＶ１及びエレベータ２制御盤Ｅ２１とエレベータ２本体ＥＶ２は、エレベータ会社管轄装置である。エレベータ１制御盤Ｅ１１にはＰＬＣ３１を接続し、このＰＬＣ３１はシリアル通信でサーバーＰＣ１００に接続される。また、エレベータ２制御盤Ｅ２１にはＰＬＣ３２を接続し、このＰＬＣ３２には、エレベータ２用ＰＬＣ制御ＰＣ２００が接続され、このエレベータ２用ＰＬＣ制御ＰＣ２００はＬＡＮ接続でサーバーＰＣ１００に接続される。
【００２３】
この接続には、エレベータ会社に依頼して、エレベータ１制御盤Ｅ１１及びエレベータ２制御盤Ｅ２１に元々存在している階・ドアー開閉・使用中・故障中の各出力端子および階・ドアー閉の各入力端子に線をつなぎエレベータ外に線を出してもらっている。そして、図８に示すように、エレベータ出力端子の各線をＰＬＣ３１，３２の入力端子に繋ぎ、エレベータ入力端子の各線をＰＬＣ３１，３２の出力端子に繋いでいる
【００２４】
無人搬送車１０には自機名としてユニークな名前が付けられており（例えば、ＰＣ１１のコンピュータ名など）、「ＡＧＶ−００１」は図５のコースを走る無人搬送車１０の名前である。電源ＯＮされると、図８のシステム構成図の構成となるように、ＯＳのファイル共有機構を利用し、サーバーＰＣ１００の「C:\robot」を共有化する。そして無人搬送車１０のＰＣ１１をネットワークドライブの割り当て手段にて、サーバーＰＣのC:\robot\へ共有接続する。また、エレベータ２用ＰＬＣ制御ＰＣ２００をネットワークドライブの割り当て手段にて、サーバーＰＣ１００のC:\robot\へ共有接続する。
【００２５】
前述のように、ユーザーの行き先１を入力、及びスタートキー押下により、走行開始する。この動作の一例を説明する。なお、コマンドデータやステータスデータなどを階層型ファイル構造に記憶したり、読み出したりするので、以下の説明では、これらのデータを階層のルート、そのディレクトリで表記する。行き先駅が１なので、図６（Ａ）の運行予定表の行き先駅１の行により、スタート地点から走行開始後の最初の番地５１を読むと”５１：ＥＩ１：２１”なので、エレベータ１に乗って２Ｆから１Ｆへ行け命令と解釈し停止する。
【００２６】
まず、C:\robot\E1R＿AGV-001(21)を生成し、エレベータ１使用権獲得要求をサーバーＰＣ１００に発行する。なお、E1Rの1とは、エレベータＥ１への乗降を意味。内容の21とは、２Ｆから１Ｆに行く事を意味している。また、C:\robot\E1G＿AGV-001の生成を待つ。すなわちエレベータ１使用権獲得ＯＫのサーバー応答待ちとなる。次に、C:\robot\E1G＿AGV-001が生成されると、C:\robot\EV1＿REQ(CAL,2)を生成し、エレベータ２Ｆ呼出要求をサーバーＰＣ１００に発行する。そして、C:\robot\EV1＿ANSの生成を待つ。すなわち、エレベータが２Ｆに来てドアーが開いた事のサーバー応答待ちとなる。
【００２７】
C:\robot\EV1＿ANSが生成されると、無人搬送車１０（ＡＧＶ−００１）は自動スタートしエレベータに進入開始し、エレベータ内の番地５２を読むと”５２：ＯＩ”なので、障害物センサー１４を無効にして走行を続ける。ここで言う障害物センサー１４とは超音波方式であり、無人搬送車１０の前方１ｍ範囲内に障害物があるとセンサーがＯＮになり停止し、障害物がなくなるとセンサーがＯＦＦになり、無人搬送車１０はリスタートする。
【００２８】
次の番地５３を読むと”５３：ＥＧ”なので、エレベータ進入完了したので行き先階に行け命令と解釈し、C:\robot\EV1＿REQ(GOT,1)を生成する。そして、これによりエレベータ１Ｆ移動要求をサーバーＰＣ１００に発行する。また、障害物センサー１４を無効にした後で次の番地を読んだ時は、障害物センサー１４を有効に戻しておく。運行予定表の次の実行番地も同じ５３なので、マルチアクションと認識し“５３：ＩＬ：３００”を実行する。実行した番地の次の番地が同一番地である時はマルチアクションとして実行することで、１つの番地に複数の運行指示ができるようにするものである。本実施例では、２つの同一番地で説明したが、同一番地は何個定義してもよい(請求項１１の実施例)。
【００２９】
次に、エレベータ降車に備えて１８０度回転する。なお、この１８０度回転するスピンターンについては後述する。そして、C:\robot\EV1＿ANSの生成を待つ。すなわち、エレベータが１Ｆに到着しドアーが開いた事のサーバー応答待ちとなる。C:\robot\EV1＿ANSが生成されると、無人搬送車１０は自動スタートしエレベータから降車開始する。そして、エレベータ外の番地４４を読むと”４４：ＥＯ”なので、エレベータ降車完了したのでドアー閉めろ命令と解釈し、C:\robot\E1R＿AGV-001を削除する。以上が無人搬送車１０側の処理である。
【００３０】
サーバーＰＣ１００側のエレベータ１の処理は、３秒おきにE1R＿AGV-XXX(XXX=001-200)の有無をチェックする。このE1Rの1は、エレベータ１への乗降要求を表す。"AGV-001からエレベータ１使用権獲得要求"E1R＿AGV-001(21)が生成されると、C:\robot\E1G＿AGV-001ファイルを生成しエレベータ１使用権を与える。次に、C:\robot\EV1＿REQファイルとC:\robot\E1R＿AGV-001ファイルの有無チェックを１秒おきに行う。EV1＿REQファイルがある時は、そのファイル内容に応じた処理を行う。
【００３１】
CAL,2の場合は、C:\robot\ev1\STATUSを参照して、エレベータ２が使用中であるか否かをチェックする。すなわち、人が使用中の場合があるのでチェックする、エレベータ未使用中であれば、エレベータ１のＰＬＣ３１の制御ソフトに２Ｆ移動命令を発行する。すなわち、C:\robot\ev1\REQUESTを生成する。次に、C:\robot\ev1\STATUSを参照して、エレベータが２Ｆに来てドアー開になったら、EV1＿ANSファイルを作成する。
【００３２】
GOT,1の場合は、エレベータ１のＰＬＣ３１の制御ソフトに１Ｆ移動命令を行う。すなわち、C:\robot\ev1\REQUESTを生成する。次に、C:\robot\ev1\STATUSを参照して、エレベータが１Ｆに来てドアー開になったら、EV1＿ANSファイルを作成する。
【００３３】
C:\robot\E1R＿AGV-001ファイルがなくなった時は、無人搬送車１０がエレベータを降車完了したと認識し、エレベータドアー閉命令を行う。すなわちC:\robot\ev1\REQUESTを生成する。C:\robot\ev1\STATUSを参照して、エレベータドアーが閉状態になったら、E1G＿AGV-001ファイルを削除する。
【００３４】
サーバーＰＣ１００とＰＬＣ３１間はシルアル通信で接続して、サーバーＰＣ１００からＰＬＣ３１の入出力端子を制御できるようにしてある。サーバーＰＣ１００で稼動しているエレベータ１のＰＬＣ３１の制御ソフトの処理は、１秒おきに以下２点の処理を行う。一つは、ＰＬＣ３１の入力端子の情報を読み取り、C:\robot\ev1\STATUSに格納することである。これにより、サーバーＰＣ１００はC:\robot\ev1\STATUSの内容を見れば、エレベータ１のステータスがわかるようになっている。例えば、何階にいるか、ドアーは開閉どちらか、使用中か、故障中かなど。もう一つは、C:\robot\ev1\REQUESTファイルの内容をチェックしＰＬＣ出力要求があれば、ＰＬＣ３１の出力端子をＯＮすることでエレベータ１を任意の階に移動させたり、ドアーを閉めたりすることができる。
【００３５】
以下、無人搬送車１０がエレベータ２に乗降する手順を説明する。ユーザーがＰＣ１１のキーボードから行き先「２」を入力する。出発は図５のスタート地点（番地５０の直後）とする。スタートキー押下で走行開始する。行き先駅が「２」なので、図６の運行予定表の行き先駅２の行を運行予定表として採用する。スタート地点から走行開始後の最初の番地５１を読むと、”５１：Ｌ”なので、左に分岐する。次の番地５４は”５４：−”なので何もせず直進する。次の番地５５は”５５：ＥＩ２：２１”なので、エレベータ２に乗って２Ｆから１Ｆへ行け命令と解釈し、C:\robot\E2R＿AGV-001(21)を生成し、エレベータ２使用権獲得要求をサーバーＰＣ１００に発行する。なお、E2Rの２とは、エレベータ２への乗降を意味。内容の21とは、２Ｆから１Ｆに行く事を意味している。次に、C:\robot\E2G＿AGV-001の生成を待つ。すなわち、エレベータ２使用権獲得ＯＫのサーバー応答待ちとなる。C:\robot\E2G＿AGV-001が生成されると、C:\robot\EV2＿REQ(CAL,2)を生成し、エレベータ２Ｆ呼出要求をサーバーＰＣ１００に発行する。そして、C:\robot\EV2＿ANSの生成を待つ。すなわち、エレベータが２Ｆに来てドアーが開いた事のサーバー応答待ちとなる。C:\robot\EV2＿ANSが生成されると、無人搬送車１０は自動スタートしエレベータに進入開始し、エレベータ内の番地５６を読むと”５６：ＯＩ”なので、障害物センサーを無効にして走行を続ける。また、次の番地５７を読むと”５７：ＥＧ”なので、エレベータ進入完了したので行き先階に行け命令と解釈し、C:\robot\EV2＿REQ(GOT,1)を生成し、エレベータ１Ｆ移動要求をサーバーＰＣ１００に発行する。
【００３６】
また、障害物センサー１４を無効にした後で次の番地を読んだ時は、障害物センサー１４を有効に戻しておく。運行予定表の次の実行番地も同じ５７なのでマルチアクションと認識し、“５７：ＩＬ：４００”を実行する。そして、エレベータ降車に備えて１８０度回転するなお、スピンターンの実施例は後述する。そして、C:\robot\EV2＿ANSの生成を待つ。すなわち、エレベータが１Ｆに到着しドアーが開いた事のサーバー応答待ちとなる。C:\robot\EV2＿ANSができると、無人搬送車１０は自動スタートしエレベータから降車開始する。そして、エレベータ外の番地４６を読むと”４６：ＥＯ”なので、エレベータ降車完了したのでドアー閉めろ命令と解釈し、C:\robot\E2R＿AGV-001を削除する。以上が無人搬送車１０側の処理である。
【００３７】
サーバーPC側のエレベータ２の処理は、３秒おきにE2R＿AGV-XXX(XXX=001-200)の有無をチェックする。なお、E2Rの2は、エレベータ２への乗降要求を表す。無人搬送車１０からエレベータ２使用権獲得要求のE2R＿AGV-001(21)が生成されると、C:\robot\E2G＿AGV-001ファイルを生成しエレベータ２使用権を与える。次に、C:\robot\EV2＿REQファイルとC:\robot\E2R＿AGV-001ファイルの有無チェックを１秒おきに行う。EV2＿REQファイルがある時は、そのファイル内容に応じた処理を行う。CAL,2の場合は、
C:\robot\ev2\STATUSを参照してエレベータ未使用中であれば。エレベータ２のＰＬＣ３２の制御ソフトに２Ｆ移動命令を発行する。すなわちC:\robot\ev2\REQUESTを生成する。次に、C:\robot\ev2\STATUSを参照してエレベータが２Ｆに来てドアー開になったら、EV2＿ANSファイルを作成する。GOT,1の場合は、エレベータ２のＰＬＣ３２の制御ソフトに１Ｆ移動命令を行う。すなわち、C:\robot\ev2\REQUESTを生成する。次に、C:\robot\ev2\STATUSを参照してエレベータが１Ｆに来てドアー開になったらEV2＿ANSファイルを作成する。C:\robot\E2R＿AGV-001ファイルがなくなった時は、無人搬送車１０がエレベータを降車完了したと認識し、エレベータドアー閉命令を行う。すなわち、C:\robot\ev2\REQUESTを生成する。C:\robot\ev2\STATUSを参照してエレベータドアーが閉状態になったら、E2G＿AGV-001ファイルを削除する。
【００３８】
エレベータ２用ＰＬＣ制御ＰＣ２００とＰＬＣ３２間はシルアル通信で接続して、サーバーＰＣ１００からＰＬＣ３２の入出力端子を制御できるようにしてある。エレベータ２用ＰＬＣ制御ＰＣ２００で稼動しているエレベータ２のＰＬＣ３２の制御ソフトの処理は、１秒おきに以下２点の処理を行う。一つは、ＰＬＣ３２の入力端子の情報を読み取り、C:\robot\ev2\STATUSに格納することである。これにより、サーバーPCはC:\robot\ev2\STATUSの内容を見れば、エレベータ２のステータスがわかるようになっている。例えば何階にいるか、ドアーは開閉どちらか、使用中か、故障中かなど。C:\robot\ev2\REQUESTファイルの内容をチェックしＰＬＣ出力要求があれば、ＰＬＣ３２の出力端子をＯＮすることでエレベータ２を任意の階に移動させたり、ドアーを閉めたりすることができる。
【００３９】
サーバーＰＣ１００側の処理は、エレベータの数分だけ並行処理されている。つまり、E1R＿AGV-XXX(XXX=001-200),E2R＿AGV-XXX(XXX=001-200), E3R＿AGV-XXX(XXX=001-200), E4R＿AGV-XXX(XXX=001-200), E5R＿AGV-XXX(XXX=001-200)の有無チェックする。そして、有ればエレベータ乗降に必要な上記所定処理を行う一連の処理が、平行処理されているということである。以上のように、エレベータ２用ＰＬＣ制御ＰＣ２００とエレベータ２制御盤Ｅ２１をＰＬＣ３２で接続すれば、エレベータは何基でも増やすことができる。エレベータが１基しかない場合は、エレベータ１用ＰＬＣ制御ＰＣはあってもなくても、どちらの構成でもよい。エレベータ１用ＰＬＣ制御ＰＣを設置しない場合は、サーバーＰＣ１００にエレベータ１用ＰＬＣ制御ＰＣ機能を兼用させればよい。本実施例ではサーバーＰＣ１００がエレベータ１用ＰＬＣ制御ＰＣを兼用した場合を説明した。エレベータ１用ＰＬＣ制御ＰＣを設置する場合は、エレベータ１用ＰＬＣ制御ＰＣを設置し、ネットワークドライブの割り当て手段にてサーバーＰＣ１００のC:\robot\へ共有接続すればよい。
【００４０】
次に、スピンターン命令“５３：ＩＬ：３００”の実施例を説明する。”５３：ＩＬ：３００”なので、スピンターン（その場で１８０度回転）と解釈する。ILの意味は、Iはスピンターンを意味し、Lは左回転を意味している。300の意味は、回転時間を指定しており、３００×１００ｍｓｅｃ＝３ｓｅｃが回転時間となる。この指定された回転時間（指定時間）が３ｓｅｃとなっているのは、回転終了時の停止位置は、バッテリー残量及びころがり抵抗等により左右される為、必ずしも１８０度の位置に停止できず、１３５度の場合もあれば２２５度の場合もある。そこで、番地５３地点の最適値（最も１８０度付近に停止できる回転時間)として、３ｓｅｃを設定したものである。
【００４１】
一方、番地５７の運行予定は”５７：ＩＬ：４００”なので回転量は４ｓｅｃである。番地５７地点は番地５３地点より、ころがり抵抗大なので、４ｓｅｃを最適値（最も１８０度付近に停止できる回転時間）とした。前提条件として、回転終了時のバラツキが１３５度〜２２５度に収まるものとして、以下に番地53でのスピンターン実行手順を説明する。このように、スピンターンは指定時間分回転することにより実行する。
【００４２】
図９は、１８０度ターン用の補助線２０Ｂが１本の場合のレイアウトを示す。まず停止し、障害物センサー１４を無効にする。次に、回転時間は３００なので３００ｘ１００ｍｓｅｃ＝３ｓｅｃと解釈し、右方向に３ｓｅｃ間回転した後、停止する。なお、回転は、左右モーターを逆回転することである。左回転は、左車輪を逆転し右車輪を正転させている。この時、ＵＳＢカメラ１２の位置が本線２０Ａ上にあれば、カメラ画角内に本線２０Ａを見つけることができるので、そのまま走行できる。バッテリー残量が少ない時あるいはころがり抵抗大の時は、回転量は少なくなるので、ＵＳＢカメラ１２の位置は本線２０Ａの上側になる。この場合、カメラ画角内に本線２０Ａが入らないケースが発生するが、補助線２０Ｂがあるのでこの補助線２０Ｂに沿って走行すれば本線２０Ａに復帰することができる。そして、１８０度回転を完遂できたので停止して障害物センサー１４を有効にする。
【００４３】
図１０は、180度ターン用の補助線２０Ｂが２本の場合のレイアウトを示す。まず停止し、障害物センサー１４を無効にする。次に、回転時間は３００なので、３００ｘ１００ｍｓｅｃ＝３ｓｅｃと解釈し、右方向に３ｓｅｃ間回転した後、停止する。この時、ＵＳＢカメラ１２の位置が本線２０Ａ上にあれば、カメラ画角内に本線２０Ａを見つけることができるので、そのまま走行できる。バッテリー残量が少ない時あるいはころがり抵抗大の時は、回転量は少なくなるのでＵＳＢカメラ１２の位置は本線２０Ａの上側になり、バッテリー残量が十分な時あるいはころがり抵抗小の時は、回転量は多くなるのでＵＳＢカメラ１２の位置は本線２０Ａの下側になる。この２つのケースの場合、カメラ画角内に本線２０Ａが入らないケースが発生するが、補助線２０Ｂがあるのでこの補助線２０Ｂに沿って走行すれば本線２０Ａに復帰することができる。そして、１８０度回転を完遂できたので停止して障害物センサー１４を有効にする。
【００４４】
図１１は１８０度ターン用の補助線２０Ｂが２本のレイアウトで、複数エリアを持ち、中央に補助線がある場合を示す。この場合、まず停止し、障害物センサー１４を無効にする。次に、回転時間は３００なので、３００ｘ１００ｍｓｅｃ＝３ｓｅｃと解釈し、右方向に３ｓｅｃ間回転した後、停止する。この時、ＵＳＢカメラ１２の位置が本線２０Ａ上にあれば、カメラ画角内に本線２０Ａを見つけることができるので、そのまま走行できる。バッテリー残量が少ない時あるいはころがり抵抗大の時は、回転量は少なくなるのでＵＳＢカメラ１２の位置は本線２０Ａの上側になり、バッテリー残量が十分な時あるいはころがり抵抗小の時は、回転量は多くなるのでＵＳＢカメラ１２の位置は本線２０Ａの下側になる。カメラ画角分のエリアを３つ用意し、各エリアの中央に補助線２０Ｂを設けているので、回転停止位置が約ｔａｎ−１（４０ｃｍ／１０ｃｍ）＝７６度、すなわち(180±76度)の範囲を全てカバーできる位置に確実に補助線２０Ｂが存在することになる。後は、検出できた本線２０Ａあるいは補助線２０Ｂに沿って走行すれば本線２０Ａに復帰することができる。そして、１８０度回転を完遂できたので停止して障害物センサー１４を有効にする。
【００４５】
また、回転停止位置で、走行線２０（本線２０Ａまたは補助線２０Ｂ）を検知できなかった時は、自律探索動作を行う。稼動経過時間が３時間未満の時はバッテリー残量が多いものとし、回転量も多めになる傾向があるので、回転停止位置は下側補助線を越えていると判定し、探索開始方向は左から行うことが望ましい。稼動経過時間が３時間以上の時はバッテリー残量が少ないものとし、回転量も少なめになる傾向があるので、回転停止位置は上側補助線に到達していないと判定し、探索開始方向は右から行うことが望ましい。自律探索動作とは、回転停止位置から左右４５度の範囲を１０度Ｓｔｅｐで（回転時間約５００ｍｓｅｃ）、５００ｓｅｃ回転→停止→カメラ画像取込を走行線が検知できるまで繰り返すものである。左右４５度の範囲を検索しても走行線２０が発見できなかった時は、コースアウトとなり停止する。
【００４６】
図１２は無人搬送車の第１のフローチャート、図１３は無人搬送車の第２のフローチャート、図１４は無人搬送車の第３のフローチャート、図１５は無人搬送車の第４のフローチャートである。無人搬送車のＰＣがこれらのフローチャートを実行することにより、走行線を画像認識して走行する処理等が行われる。また、これらのフローチャートの実行により、前記のような「障害物センサーを無効にする手段手段」、「障害物センサーを有効にする手段」が実現される。また、「エレベータ内でスピンターンする手段」、「指定時間分回転する手段」、「指定時間分回転中は障害物センサーを無効とする手段」、「回転量検知手段」が実現される。
【００４７】
図１６はサーバーＰＣのフローチャートであり、このフローチャートと実行することにより、サーバーＰＣが無人搬送車の要求に対して、エレベータ使用権を与える。また、指示階へのエレベータの移動の制御を行う。図１７はエレベータ用ＰＬＣ制御ＰＣのフローチャートであり、このフローチャートを実行することにより、エレベータ用ＰＬＣ制御ＰＣは、ＰＬＣからのエレベータ情報に応じてサーバーＰＣに対するファイルの書き込み等の制御を行う。
【００４８】
以上のように、実施形態によれば、無人搬送車と、サーバーＰＣと、エレベータ制御盤と、ＰＬＣとの４つの要素から構成され、無人搬送車とサーバーＰＣはエレベータ乗降に必要な手順を無線通信で交信する。サーバーＰＣとエレベータ制御盤はＰＬＣを介して接続してサーバーＰＣからエレベータ制御盤を制御できるようにしている。無人搬送車に搭載されているＰＣには運行予定表が記憶され、運行予定表にエレベータ呼出指示、エレベータ移動指示及びエレベータ降車完了指示の３つの指示が定義されている。このことによって、エレベータ乗降に必要となる、エレベータ側の改造項目数、および制御に必要となる付帯設備を少なくしている。したがって、低コストで低導入工数のエレベータ乗降システムを構築できる。ここで言うエレベータ側の改造項目数とは、エレベータ制御盤内にある信号線を取り出す改造の１点だけである。元々エレベータ制御盤内に存在している信号線を、エレベータ制御盤外に出すだけの改造ほどの手間とはならない。なお、付帯設備とは、無人搬送車とエレベータ制御盤は既存であるので、サーバーＰＣとＰＬＣの２点となる。また、サーバーＰＣの設置とは、有線ＬＡＮに繋ぐだけである。ＰＬＣの設置とは、ＰＬＣとサーバーＰＣをシリアル接続し、ＰＬＣの入出力端子をエレベータ制御盤に接続することである（請求項２）。
【００４９】
無人搬送車が乗降すべきエレベータが複数基ある場合は、エレベータ乗降に必要な手順は、無人搬送車とサーバーＰＣ間で無線通信で行う構成は同じままとする。そして、エレベータ１基毎に、ＬＡＮ接続されたエレベータ用ＰＬＣ制御ＰＣをＰＬＣを介してエレベータ制御盤に接続することで、無人搬送車が任意のエレベータに乗降できるようにしている。したがって、レベータ乗降に必要な設備を、エレベータ１基毎に持つ必要がなく、低コストで低導入工数のエレベータ乗降システムを構築できる（請求項３）。
【００５０】
また、無人搬送車がエレベータ乗降する際の運行予定表の記述内容からエレベータ降車完了指示を省略しているので、運行予定表の記述する際の手間を簡素化できる。
【００５１】
また、エレベータに無人搬送車が乗車する場合、無人搬送車の大きさがエレベータ籠の大きさに納まるかどうかが問題となる。しかし、無人搬送車が持っている障害物センサーの機能を無効にしているので、無人搬送車進行方向にあるエレベータ壁を障害物と認識して停止しなくなる。すなわち、エレベータ乗車可能な無人搬送車の大きさは(無人搬送車の大きさ) ＜ (エレベータ籠の大きさ)を満足していれば良い事になる
（請求項４）。
【００５２】
また、エレベータ内でスピンターンしているので、無人搬送車は前進降車が出来る。また、エレベータの行先指示をしてからスピンターンしているので、エレベータが目的階に移動中にスピンターンを行うことになり、スピンターンにかかる所要時間を無いものにできるので、無人搬送車を効率よく使用できる。また、エレベータ籠内での無人搬送車回転中は障害物センサーを無効にしているので、エレベータ籠内の壁を障害物センサーが検知して停止することなく、スピンターンを実現できる（請求項５）。
【００５３】
また、無人搬送車がエレベータ内でスピンターンしているので、無人搬送車は前進降車が出来る。また、エレベータの行先指示をしてからスピンターンしているので、エレベータが目的階に移動中にスピンターンを行うことになり、スピンターンにかかる所要時間を無いものにできるので、無人搬送車を効率よく使用できる。また、エレベータ籠内での無人搬送車回転中は障害物センサーを無効にしているので、エレベータ籠内の壁を障害物センサーが検知して停止することなく、スピンターンを実現できる（請求項６）
【００５４】
また、本線の左右に補助線を設けているので、
回転終了位置が本線の左右どちらかの位置にバラツキがある場合においても、本線か補助線のいずれかの線を検出できる（請求項７）。
【００５５】
また、複数のカメラ画角エリアを有し、各エリアの中央に補助線が設けている。したがって、回転終了位置が本線の左右どちらかにバラツキがある場合においても、バラツキ位置がカメラ画角複数分のエリアに収まっている場合は、本線か補助線のいずれかの線を検出できる（請求項８）。
【００５６】
また、回転終了後の走行線が見つからない場合においても、左右を決められた範囲分だけ自律探索しているので、本線への復帰確度を向上できる（請求項９）。
【００５７】
また、回転終了後の走行線が見つからない時は、回転量から最適な探索開始方向を決定しているので、探索時間を短縮できる（請求項１０）。
【００５８】
また、エレベータ内で複数の指示を行う為には複数の番地を施設する必要があるが、１つの番地に対して複数の指示を運行予定表から出来るようにしている。したがって、エレベータ籠が小さくて複数の番地を施設できない場合でも無人搬送車はエレベータ乗降が可能になる（請求項１１）。
【００５９】
なお、本発明は、上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００６０】
１０    無人搬送車
２０    走行線
２０Ａ  本線
２０Ｂ  補助線
３０    牽引物
３１    ＰＬＣ
３２    ＰＬＣ
１００  サーバーＰＣ
２００  エレベータ２用ＰＬＣ制御ＰＣ
Ｅ１１  エレベータ１制御盤
Ｅ２１  エレベータ２制御盤
【先行技術文献】
【特許文献】
【００６１】
【特許文献１】特公平０６−０１２４８５号公報
【特許文献２】特許第３１３４５７１号公報
【特許文献３】特許第２６６１７２０号公報
【図１】
2015210761.tif 000003
【図２】
2015210761.tif 000004
【図３】
2015210761.tif 000005
【図４】
2015210761.tif 000006
【図５】
2015210761.tif 000007
【図６】
2015210761.tif 000008
【図７】
2015210761.tif 000009
【図８】
2015210761.tif 000010
【図９】
2015210761.tif 000011
【図１０】
2015210761.tif 000012
【図１１】
2015210761.tif 000013
【図１２】
2015210761.tif 000014
【図１３】
2015210761.tif 000015
【図１４】
2015210761.tif 000016
【図１５】
2015210761.tif 000017
【図１６】
2015210761.tif 000018
【図１７】
2015210761.tif 000019