(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】無人搬送車の走行制御システム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240924BHJP
【FI】
G05D1/43
(21)【出願番号】P 2020070411
(22)【出願日】2020-04-09
【審査請求日】2023-03-16
(73)【特許権者】
【識別番号】598072179
【氏名又は名称】株式会社片岡製作所
(74)【代理人】
【識別番号】100085338
【氏名又は名称】赤澤 一博
(74)【代理人】
【識別番号】100148910
【氏名又は名称】宮澤 岳志
(72)【発明者】
【氏名】糀谷 優介
(72)【発明者】
【氏名】前田 茂己
(72)【発明者】
【氏名】山根 朋也
(72)【発明者】
【氏名】鶴田 健司
【審査官】大古 健一
(56)【参考文献】
【文献】特開2009-265907(JP,A)
【文献】特開平09-201746(JP,A)
【文献】特開2004-133650(JP,A)
【文献】特開平11-259131(JP,A)
【文献】特開2003-264216(JP,A)
【文献】特開平05-210652(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
現実の搬送エリア内で複数の実搬送車を互いに交差する複数の走行ルートに沿って走行させるための実制御プログラムを備えた実搬送車走行コントローラと、
仮想の搬送エリア内で複数の仮想搬送車を前記実搬送車の形状と動きを模して走行させるための前記実制御プログラムに準じた仮想制御プログラムを備えた仮想搬送車走行コントローラと、
この仮想搬送車走行コントローラに備えられた仮想制御プログラムによる走行制御シミュレーションの実行時において、仮想搬送車が前記仮想の搬送エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し当該衝突又は停止異常を起こした時点のタイムスタンプ情報、搬送エリアマップ上に置かれた
固定物との距離を計測することで自己位置を推定された該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を異常事象の情報として記録する仮想搬送車走行監視部と、
この仮想搬送車走行監視部により検知され記録された前記異常事象の情報を外部に出力する監視結果出力部と、
この監視結果出力部から出力された前記異常事象の情報を参照して修正された更新データを外部から受け取り当該更新データを最終的に前記実制御プログラムに反映させるための更新データ入力部と
を具備してなる無人搬送車の走行制御システム。
【請求項2】
現実の走行エリア内で複数の実搬送車を互いに交差する複数の走行ルートに沿って走行させるための実制御プログラムに用いられる走行制御データを入力する走行制御データ入力部と、
この走行制御データ入力部からの走行制御データに基づいて、仮想の走行エリア内で複数の仮想搬送車を前記実搬送車の形状と動きを模して走行させるための仮想制御プログラムを備えた仮想搬送車走行コントローラと、
この仮想搬送車走行コントローラに備えられた仮想制御プログラムによる走行制御シミュレーションの実行時において、仮想搬送車が前記仮想の走行エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し当該衝突又は停止異常を起こした時点のタイムスタンプ情報、搬送エリアマップ上に置かれた
固定物との距離を計測することで自己位置を推定された該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を異常事象の情報として記録する仮想搬送車走行監視部と、
この仮想搬送車走行監視部により検知され記録された前記異常事象の情報を外部に出力する監視結果出力部と
を具備してなる無人搬送車の走行制御システム。
【請求項3】
前記仮想搬送車走行コントローラが、前記実搬送車走行コントローラに並設されている請求項1記載の無人搬送車の走行制御システム。
【請求項4】
前記仮想制御プログラムにおけるルーチン実行用のサイクルタイムが、前記実制御プログラムの同サイクルタイムよりも短く実行可能である請求項1、2又は3記載の無人搬送車の走行制御システム。
【請求項5】
前記仮想制御プログラムに制御されて前記仮想の搬送エリア内を前記複数の仮想搬送車が走行する様子を外部から視認し得る態様で表示すると共に、仮想搬送車走行監視部に記録された異常事象を表示する表示部を備えている請求項1、2、3又は4記載の無人搬送車の走行制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、搬送対象物を所望位置へ自動搬送する無人搬送車の走行制御システムに関する。
【背景技術】
【0002】
近時の工場や倉庫等においては、種々の無人搬送車(以下、「AGV」と称する場合がある)が用いられている。この種の無人搬送車は、AGV走行コントローラのプログラムに基いて、予め設定された走行ルートを走行するように制御されるものであり、共通のAGV走行コントローラによって複数台のAGVの走行が総合的に制御されるシステムも少なくない。
【0003】
ところで、このようなシステムを用いて、所定の搬送エリア内で複数のAGVを互いに交差する複数の走行ルートに沿って同時走行させる場合には、各走行ルートを走行するAGV同士が衝突したり、緊急停止機能により停止してデッドロック状態に陥ったりすることが無いように、予め前記プログラムを綿密に設計しておく必要がある。
【0004】
ところが、このようなプログラムの作成作業は、限られた搬送エリア面積に対してAGVの台数が多くなるほど複雑を極めるものとなり、バグの発生も避けられない。そのため、従来は、プログラムが仮完成した段階で実際のAGVを実際の搬送エリア内で走行させ、不具合が生じた場合にはプログラムを修正するという作業を繰り返す必要がある。そのため、信頼性の高いプログラムを完成させるには、多大な労力と時間を要する。
【0005】
なお、下記特許文献1に示される一例のように、AGV走行コントローラが、各AGVの走行位置を逐次判定し、少し先の走路を予測してAGV同士の衝突や干渉による走行停止が発生しないように制御するものも知られている。しかしながら、このような形式のものは、走行ルートに沿って配列された走行ブロック単位で簡易的な走行予測を行なって実際の各AGVを走行制御するものであり、小さな搬送エリア面積で多数のAGVを走行させることができる高効率搬送システムに適用するのは難しい。無理に採用したとしても、プログラムの基本設計の不適切さや小さなバグの存在により、AGV同士の衝突や干渉による走行停止が発生したり、走路予測を行うための走行停止時間が異常に長くなる等の不具合が発生し、プログラムの複雑な修正作業を余儀なくされることが予想される。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、このような事情に着目してなされたもので、信頼性の高い走行制御用のプログラムを完成させるには、多大な労力と時間を要するという前述した課題を解消することを目的とする。
【課題を解決するための手段】
【0008】
以上の課題を解決すべく、本発明に係る無人搬送車の走行制御システムは、以下に述べるような構成を有する。
【0009】
すなわち請求項1の発明に係る無人搬送車の走行制御システムは、現実の搬送エリア内で複数の実搬送車を互いに交差する複数の走行ルートに沿って走行させるための実制御プログラムを備えた実搬送車走行コントローラと、仮想の搬送エリア内で複数の仮想搬送車を前記実搬送車の形状と動きを模して走行させるための前記実制御プログラムに準じた仮想制御プログラムを備えた仮想搬送車走行コントローラと、この仮想搬送車走行コントローラに備えられた仮想制御プログラムによる走行制御シミュレーションの実行時において、仮想搬送車が前記仮想の搬送エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し当該衝突又は停止異常を起こした時点のタイムスタンプ情報、搬送エリアマップ上に置かれた固定物との距離を計測することで自己位置を推定された該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を異常事象の情報として記録する仮想搬送車走行監視部と、この仮想搬送車走行監視部により検知され記録された前記異常事象の情報を外部に出力する監視結果出力部と、この監視結果出力部から出力された前記異常事象の情報を参照して修正された更新データを外部から受け取り当該更新データを最終的に前記実制御プログラムに反映させるための更新データ入力部とを具備してなる。
【0010】
請求項2の発明に係る無人搬送車の走行制御システムは、現実の走行エリア内で複数の実搬送車を互いに交差する複数の走行ルートに沿って走行させるための実制御プログラムに用いられる走行制御データを入力する走行制御データ入力部と、この走行制御データ入力部からの走行制御データに基づいて、仮想の走行エリア内で複数の仮想搬送車を前記実搬送車の形状と動きを模して走行させるための仮想制御プログラムを備えた仮想搬送車走行コントローラと、この仮想搬送車走行コントローラに備えられた仮想制御プログラムによる走行制御シミュレーションの実行時において、仮想搬送車が前記仮想の走行エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し当該衝突又は停止異常を起こした時点のタイムスタンプ情報、搬送エリアマップ上に置かれた固定物との距離を計測することで自己位置を推定された該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を異常事象の情報として記録する仮想搬送車走行監視部と、この仮想搬送車走行監視部により検知され記録された前記異常事象の情報を外部に出力する監視結果出力部とを具備してなる。
【0011】
これらのようなものであれば、監視結果出力部から出力された異常事象を参照することによりデバッグ作業を効率よく短時間で行うことが可能となり、信頼性の高い無人搬送車の走行制御用のプログラムを短期間で完成させることができる。
【0014】
ここで、本発明における「実制御プログラム」は、走行条件、走行ルート及び設定情報を用いて複数の無人搬送車の走行制御を行うプログラムであり、既存のAGVコントローラに搭載されている制御プログラムと同様なものを使用することもできる。
【0015】
「仮想制御プログラム」は、走行条件、走行ルート及び設定情報を用いて複数の仮想搬送車の走行制御を行うプログラムであり、前述した「実制御プログラム」に準じたものである。
【0016】
「走行制御データ」は、複数の搬送車を互いに交差する複数の走行ルートに沿って走行させるための走行条件、走行ルート及び設定情報を含むデータである。
【0017】
「更新データ」は、実制御プログラム及び仮想制御プログラムで用いられる新たな走行条件、走行ルート及び設定情報を含むデータである。すなわち、「更新データ」とは、「走行制御データ」の内容を更新して実制御プログラム及び仮想制御プログラムに改めて反映させるためのデータである。
【0018】
「走行制御データ」及び「更新データ」中の「走行条件」には、無人搬送車同士の走行干渉回避情報や、停止位置情報等が含まれる。ここで、走行干渉回避情報は、複数の無人搬送者同士が衝突したり、近づくことによる走行停止(=走行干渉)を回避するための情報である。この走行干渉回避情報には、例えば、特許文献1で記載されているように、走行ルート上を複数のブロックで区切り、所定のブロック状に複数の無人搬送車が侵入できないようにするための走行制御情報等が含まれる。この情報に沿って無人搬送車の走行を制御することで、上記走行干渉を回避する。停止位置情報は、無人搬送車が走行するルートに対し、ルート上で停止すべき位置の情報のことを指しており、上記走行干渉回避制御の結果、一部の無人搬送車が判定された停止位置で停止待機することで、上記走行干渉が回避される。停止位置情報としては、例えば以下のものが挙げられる。特許文献1では、「ブロック」の単位が停止位置情報に該当し、ブロック単位でのラフな走行干渉回避が行われる。後述する本発明の一実施形態では、走行ルート上で停止すべき停止位置をミリ単位の座標で設定している。これにより、決められた停止位置で停止している無人搬送車の近くを他の無人搬送車が走行する場合の距離関係が、無人搬送車の外形サイズを含めて確認され、無人搬送車の台数が多くなった場合でも確実な走行干渉判定を行うことを可能としている。
【0019】
「走行制御データ」及び「更新データ」中の「走行ルート」は、搬送エリアを座標により定義する搬送エリアマップ内に設定されたもので、搬送車が自己位置情報を参照しつつ走行する際に通過すべき位置を示す情報(後述する走行ルート情報)が含まれる。
【0020】
「走行制御データ」及び「更新データ」中の「設定情報」には、無人搬送車の各位置における走行速度情報、障害物検知距離情報等が含まれる。
【0021】
「仮想搬送車走行監視部により検知された異常事象を外部に出力する」とは、検知された異常事象を示す情報を、印刷出力する態様、画面表示する態様、通信回線等を介して外部の情報処理装置等で利用可能なデータ形式で出力する態様等が含まれる。
【0022】
仮想搬送車走行コントローラと実搬送車走行コントローラとをともに有する無人搬送車の走行制御システムに好適な構成として、前記仮想搬送車走行コントローラが、前記実搬送車走行コントローラに並設されているものが挙げられる。
【0023】
シミュレーションに要する時間をより短くするための構成として、前記仮想制御プログラムにおけるルーチン実行用のサイクルタイムが、前記実制御プログラムの同サイクルタイムよりも短く実行可能であるものが挙げられる。
【0024】
シミュレーション中の仮想搬送車の様子を視認可能にするとともに異常事象が発生した場合にそのことをも同時に視認可能にするための構成として、前記仮想制御プログラムに制御されて前記仮想の搬送エリア内を前記複数の仮想搬送車が走行する様子を外部から視認し得る態様で表示すると共に、仮想搬送車走行監視部に記録された異常事象を表示する表示部を備えているものが挙げられる。
【0025】
デバッグ作業に必要な異常事象の原因の特定を特に容易なものとするとともに、デバッグ作業のさらなる効率化を図るための構成として、前記仮想搬送車走行監視部に記録される情報には、異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報が含まれている。
【発明の効果】
【0026】
本発明によれば、現実の搬送エリア内で複数の実搬送車を走行させるための実搬送車走行コントローラに搭載される実制御プログラムのデバッグ作業を効率よく短時間で行うことが可能となり、信頼性の高い無人搬送車の走行制御用のプログラムを短期間で完成させることができる。
【図面の簡単な説明】
【0027】
【
図1】本発明の一実施形態に係る充放電検査工場の概略図。
【
図2】同実施形態に係る走行制御システムの機能説明図。
【
図3】同実施形態に係る走行制御システムの動作を簡略に示すフローチャート。
【
図4】本発明の他の実施形態に係る走行制御システムの機能説明図。
【発明を実施するための形態】
【0028】
以下、本発明の一実施形態を
図1~
図3を参照して説明する。
【0029】
図1~
図3は、本発明を蓄電池の充放電検査工場で運用される無人搬送車の走行制御システムの一例を示すものであり、
図1は、現実の充放電検査工場の概要を示す模式図、
図2はこの充放電検査工場で使用される無人搬送車の走行制御システムの機能説明図であり、
図3は同走行制御システムの動作を簡略に示すフローチャートである。
【0030】
<本発明が適用される環境の一例>
図1に一例として示されている充放電検査工場は、充放電検査の第1工程に対応する第1の作業エリア1と、第2工程に対応する第2の作業エリア2と、第3工程に対応する第3の作業エリア3と、第4工程に対応する第4の作業エリア4と、第5工程に対応する第5の作業エリア5と、第6工程に対応する第6の作業エリア6とが配置されており、第1~第6の作業エリア1~6の間には、実搬送車(AGV)A0~A6、によりワークである蓄電池を搬送するための搬送エリア7が設定されている。なお、
図1においては、第1工程~第6工程をそれぞれ工程1~工程6としている。
【0031】
搬送エリア7の入口7aには外部から搬入されるワークを搬送エリア7内に導入するための荷出しコンベア7pが設けられているとともに、出口7bには検査を終えて外部に搬出されるワークを受け取る荷受けコンベア7qが配されている。そして、各作業エリア1~6には、当該作業エリア1~6に導入されるワークを受け取る荷受けコンベア1q~6qと、作業を終えて当該作業エリア1~6から導出されるワークを荷出しする荷出しコンベア1p~6pがそれぞれ設けられている。
【0032】
搬送エリア7には、入口7aの荷出しコンベア7pから第1の作業エリア1の荷受けコンベア1qに至る走行ルートR0と、第1の作業エリア1の荷出しコンベア1pから第2の作業エリア2の荷受けコンベア2qに至る走行ルートR1と、第2の作業エリア2の荷出しコンベア2pから第3の作業エリア3の荷受けコンベア3qに至る走行ルートR2と、第3の作業エリア3の荷出しコンベア3pから第4の作業エリア4の荷受けコンベア4qに至る走行ルートR3と、第4の作業エリア4の荷出しコンベア4pから第5の作業エリア5の荷受けコンベア5qに至る走行ルートR4と、第5の作業エリア5の荷出しコンベア5pから第6の作業エリア6の荷受けコンベア6qに至る走行ルートR5と、第6の作業エリア6の荷出しコンベア6pから搬送エリア7の出口7bの荷受けコンベア7qに至る走行ルートR6とが設定されている。
【0033】
実搬送車A0~A6は、これらの走行ルートR0~R6に沿って搬送エリア7内を走行するように実搬送車走行コントローラ8により制御され、順次搬送エリア7の入口7aから供給されるワークを第1の作業エリア1~第6の作業エリア6を経由させて最終的に搬送エリア7の出口7bに導くように搬送動作を行う。
【0034】
実搬送車A0~A6及び実搬送車走行コントローラ8は、広く普及しているAGV及びAGV走行コントローラと称される既存品をそのまま使用することができ、その構造や詳細な機能等については説明を省略する。実搬送車A0~A6を複数の走行ルートR0~R6に沿って走行させるための実制御プログラムの製作や実搬送車走行コントローラ8への搭載作業についても、従来一般に行われている手法に沿ったものである。具体的には、例えば、走行制御作成者等と称される人間が、各走行ルートR0~R6を走行する実搬送車(AGV)A0~A6同士の衝突やデッドロックを起こさないように綿密に計画を立ててプログラミングを行い、その制御プログラムを実搬送車走行コントローラ(AGVコントローラ)8の記憶部に記憶させるようにしている。この制御プログラムには、搬送エリアマップ等が盛り込まれているとともに、走行条件(無人搬送車同士の走行干渉回避情報、停止位置情報等)、走行ルート情報、設定情報(無人搬送車の各位置における走行速度情報、障害物検知距離情報等)といった走行制御データが盛り込まれている。
【0035】
なお、この一例では、第1工程に要する時間が2分、第2工程に要する時間が3時間、第3工程に要する時間が1分、第4工程に要する時間が50時間、第5工程に要する時間が40時間、第6工程に要する時間が3分という条件下で実施されることが想定されており、かかる工程フローに沿って、各工程間の搬送が並行して行われる。各工程間は、必要な生産量に対応した搬送(例えば1時間当り20回)が行われる。
【0036】
<本発明の一実施形態に関する説明>
本実施形態に係る無人搬送車の走行制御システムSSは、以上説明した蓄電池検査工場等で使用されるものであり、
図2に示すように、現実の搬送エリア7内で複数の実搬送車A0~A6を互いに交差する複数の走行ルートR0~R6に沿って走行させるための実制御プログラムを備えた実搬送車走行コントローラ8と、仮想の搬送エリア内で複数の仮想搬送車B0~B6を実搬送車A0~A6の動きを模して走行させるための仮想制御プログラムを備えた仮想搬送車走行コントローラ9と、この仮想搬送車走行コントローラ9により制御される仮想搬送車B0~B6が仮想の搬送エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し記録する仮想搬送車走行監視部11と、この仮想搬送車走行監視部11により検知された異常事象を外部に出力する監視結果出力部12と、この監視結果出力部12から出力された異常事象を参照して修正された更新データを外部から受け取り当該更新データを最終的に前記実制御プログラムに反映させるための更新データ入力部13とを具備してなる。
【0037】
すなわち、この無人搬送車の走行制御システムSSを仮想搬送車走行コントローラ9を中心にした仮想側の装置部分SS1について説明すると、この走行制御システムSSは、現実の走行エリア(現実の搬送エリア7)内で複数の実搬送車A0~A6を互いに交差する複数の走行ルートR0~R6に沿って走行させるための実制御プログラムに用いられる走行制御データを入力する走行制御データ入力部10と、この走行制御データ入力部10からの走行制御データに基づいて、仮想の走行エリア内で複数の仮想搬送車B0~B6を前記実搬送車A0~A6の形状と動きを模して走行させるための仮想制御プログラムを備えた仮想搬送車走行コントローラ9と、この仮想搬送車走行コントローラ9により制御される仮想搬送車B0~B6が前記仮想の走行エリア内で衝突又は停止異常を起こした場合にその異常事象を検知し記録する仮想搬送車走行監視部11と、この仮想搬送車走行監視部11により検知された異常事象を外部に出力する監視結果出力部12とを具備してなる。ここで、仮想搬送車走行コントローラ9、並びに仮想搬送車B0~B6及び仮想搬送車走行監視部11は、仮想搬送車B0~B6を走行させつつ監視する仮想走行システム部SS11を構成している。
【0038】
また、この無人搬送車の走行制御システムSSを実搬送車走行コントローラ8を中心にした現実側の装置部分SS2について説明すると、現実の走行エリア(現実の搬送エリア7)内で複数の実搬送車A0~A6を互いに交差する複数の走行ルートR0~R6に沿って走行させるための実制御プログラムを備えた実搬送車走行コントローラ8と、実搬送車走行コントローラ8で用いられる実制御プログラムに含まれる走行制御データを、複数の仮想搬送車B0~B6を実搬送車A0~A6の形状と動きを模して仮想の搬送エリア内で走行させるためのシミュレーション用の情報として外部に出力する走行制御データ出力部16と、前述したシミュレーション用の情報を利用してシミュレーションされた結果に基づき作成された更新データを外部から受け取り当該更新データを最終的に実制御プログラムに反映させる更新データ入力部13とを具備してなる。
【0039】
ここで、実搬送車A0~A6及び実搬送車走行コントローラ8としては、前述した既存のAGV及びAGV走行コントローラを使用するものである。実搬送車走行コントローラ8に搭載される実制御プログラムには、前述したように、搬送エリアマップ等が盛り込まれているとともに、走行条件(無人搬送車同士の走行干渉回避情報、停止位置情報等)、走行ルート情報、設定情報(無人搬送車の各位置における走行速度情報、障害物検知距離情報等)といった走行制御データが盛り込まれている。
【0040】
仮想搬送車走行コントローラ9は、現実の搬送エリア7に正確に対応させた仮想の搬送エリア内で現実の実搬送車A0~A6と同じ形状の仮想搬送車B0~B6を実搬送車A0~A6の動きを模して走行させるための仮想制御プログラムを備えたものである。この仮想搬送車走行コントローラ9には、前述した実搬送車走行コントローラ8に入力された走行制御データと同じ走行制御データが走行制御データ入力部10を介して入力される。仮想搬送車走行コントローラ9に搭載された仮想制御プログラムは、通常の動作シミュレーション手法に基づいて作られたものであり、この仮想制御プログラムに、実搬送車走行コントローラ8に入力されている走行制御データと同じ走行制御データを入力することによって、各仮想搬送車B0~B6を対応する各実搬送車A0~A6と同じ態様で走行させることができるようになっている。すなわち、入力された走行制御データ(走行条件(無人搬送車同士の走行干渉回避情報、停止位置情報等)、走行ルート情報、設定情報(無人搬送車の各位置における走行速度情報、障害物検知距離情報等))が同じであれば、複数の仮想搬送車B0~B6は、現実の搬送エリア7に正確に対応させた仮想の搬送エリア内で、対応する複数の実搬送車A0~A6と全く同じ動きをするように設計されている。また、この仮想制御プログラムにおけるルーチン実行用のサイクルタイムは、実制御プログラムの同サイクルタイムよりも短く(例えば10分の1)実行可能である。
【0041】
この仮想搬送車走行コントローラ9には、そのシミュレーション内容をディスプレイに動的に表示するための表示部14が付設されている。この表示部14には、少なくとも搬送エリア、走行ルート、複数の仮想搬送車B0~B6が線図等により表示され、その線図等が時間の進行に伴って移動するように構成されている。表示部14の表示が、例えば二次元表示である場合には、平面図における仮想搬送車B0~B6の正確な輪郭が明確に表示されているのが望ましい。表示部によるディスプレイへの表示は、3DCADの動的表示に準じた三次元表示等であってもよい。
【0042】
仮想搬送車走行監視部11は、前述の仮想搬送車走行コントローラ9によるシミュレーション実行時に仮想の搬送エリア内で仮想搬送車B0~B6が衝突又は停止異常を起こした場合にその異常事象を検知し記録するためのものであり、例えば、
図3に示すような手順で情報の処理を行う。
【0043】
ステップS1では、実搬送車走行コントローラ8による実搬送車A0~A6の走行制御を停止させた状態で、仮想搬送車走行コントローラ9による仮想搬送車B0~B6の走行制御シミュレーションが開始されたのを認識する。この走行制御シミュレーションでは、例えば、仮想搬送車走行コントローラ9に搭載されている仮想制御プログラムは、実搬送車走行コントローラ8の実制御プログラムに準じたもので、予め定めた一定のサイクルタイム毎にルーチンを実行することにより走行制御が行われる。なお、この実施形態では、仮想制御プログラムにおけるルーチン実行用のサイクルタイムが、実制御プログラムの同サイクルタイムよりも短く設定されており、仮想搬送車B0~B6による搬送作業が実搬送車A0~A6による搬送作業よりも早い速度で展開するように設定されている。
【0044】
ステップS2では、仮想制御プログラムのサイクルタイム毎にタイプスタンプ情報を更新し記録してステップS3に移行する。
【0045】
そして、ステップS3では、タイプスタンプ情報に対応する仮想搬送車B0~B6の自己位置を更新し記録してステップS4に進む。自己位置は、搬送エリアマップ上に置かれた設備等の固定物との距離を計測することで自己位置を推定(SLAM:Simultaneous Localization and Mapping)する手法により例えばミリ単位の精度で求めることができる。また、初期位置を設定しておき、仮想搬送車B0~B6の走行方向と移動量に応じて自己位置を特定するようにしてもよい。
【0046】
ステップS4では、仮想搬送車B0~B6同士が衝突したか否かを検知し、衝突していないと判定した場合にはステップS5に進み、衝突したと判定した場合にはステップS7に進む。判定の基準は、例えば、複数の仮想搬送車B0~B6の平面視における輪郭が重なった場合に衝突したと判定し、重なっていない場合には衝突していないと判定する。
【0047】
ステップS5では、仮想搬送車B0~B6が異常停止したか否かを検知し、異常停止は無いと判定した場合にはステップS6に進み、異常停止したと判定した場合にはステップS7に進む。走行制御中に仮想搬送車B0~B6が停止するケースは、次の(a)や(b)が考えられる。(a)各仮想搬送車B0~B6は、前述したSLAMでも用いられる距離計測機能により、他の仮想搬送車B0~B6に対する距離についても逐次計測されている。この環境下で他の仮想搬送車B0~B6との距離が、予め設定された障害物検知停止距離以下となった仮想搬送車B0~B6は、走行を停止する。(b)複数のAGV同士の干渉回避管理として、前述した特許文献1に開示されているような走行制御を行った結果でも、仮想搬送車は停止する。このステップS5においては、上記(a)及び/又は(b)により、仮想搬送車B0~B6が所定時間(例えば、10秒)以上停止した場合に、当該仮想搬送車B0~B6が異常停止したと判定するようにしている。
【0048】
ステップS6では、予め設定したシミュレーション実行時間が経過したか否かを判断し、経過していないと判断した場合にはステップS2に戻って監視を続ける一方、経過したと判断した場合にはステップS11に進み、仮想制御プログラムによるシミュレーションを終了させるとともに、当該仮想搬送車走行監視部11による監視作業も終了する。
【0049】
ステップS7では、ステップS4で衝突したと判定された仮想搬送車B0~B6や、ステップS5で異常停止したと判定された仮想搬送車B0~B6を特定して記録し、ステップS8に進む。
【0050】
ステップS8では、ステップS7で特定された仮想搬送車B0~B6が、何れの走行ルートR0~R6を走行中であったかを検知し、その走行ルートR0~R6を示す走行ルート情報を記録してステップS9に進む。
【0051】
ステップS9では、ステップS2で記録したタイムスタンプ情報と、ステップS3で記録した自己位置情報と、ステップS8で記録した走行ルート情報を記録保存し、ステップS10に進む。
【0052】
ステップS10では、保存された情報を監視結果出力部12に移送し、ステップS11に進んでシミュレーションを終了させる。
【0053】
監視結果出力部12は、仮想搬送車走行監視部11から受け取ったタイムスタンプ情報と、例えばミリ単位で特定された自己位置情報と、走行ルート情報とを、衝突或いは異常停止を招いた仮想搬送車B0~B6に関連付けて記憶し、その記憶内容を所要形式の情報に変換して外部に出力する。出力される情報は、どの仮想搬送車B0~B6が何時如何なる位置及び走行ルートR0~R6において異常事象を引き起こしたのかを走行制御作成機関15に伝えるためのものであり、それらの情報を用紙に印刷するための印刷データであったり、ディスプレイに表示するための画像データであったりする。なお、仮想搬送車走行監視部11から出力される教示情報(タイムスタンプ情報、自己位置情報、走行ルート情報)は、前述した表示部14にシミュレーション内容を示す動画に併記する形で表示させることも可能であり、この場合には前記表示部14が監視結果出力部12を兼ねることになる。すなわち、監視結果出力部12を兼ねる表示部14からは、視覚を通じて異常事象を走行制御作成機関15(人間)に伝えるための視覚情報が出力される。
【0054】
監視結果出力部12から出力される情報を受け取る外部の走行制御作成機関15としては、前述したように走行制御作成者等と称される自然人たるプログラマーを挙げることができるが、人間に代えてAI或いはルールベースのコンピュータ等で代替することも可能である。走行制御作成機関15がコンピュータである場合の説明については、
図4に基づいて後述する。
【0055】
ここで、本実施形態に係る走行制御システムSSを利用した作業の流れを以下に述べる。
【0056】
まず、(1)搬送エリアマップや無人搬送車A0~A6の外形サイズ等を先に仮想搬送車走行コントローラ9に設定し、(2)走行制御データを仮想搬送車走行コントローラ9に入力する。
【0057】
ついで、(3)仮想走行システム部SS11を動作させる。仮想走行システム部SS11の動作中、仮想搬送車走行コントローラ9はシミュレーションを実行し、仮想搬送車走行監視部11は前述したステップS1~ステップS11の処理を行う。すなわち、仮想搬送車走行監視部11はシミュレーション実行時に仮想の搬送エリア内で仮想搬送車B0~B6が衝突又は停止異常を起こした場合にその異常事象を検知する。監視結果出力部12は、検知された異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を出力する。走行制御作成機関15は、表示部14で表示される各仮想搬送車B0~B6の動き、及び監視結果出力部12が出力した異常事象の発生を確認する。なお、表示部14が監視結果出力部12を兼ねている場合には、表示部14の画面を注視することにより前述したタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を認識することができる。
【0058】
(4)そして、走行制御作成機関15は、異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を確認し、対応する実搬送車走行コントローラ8の走行制御データを修正する。より具体的には、走行制御作成機関15は、タイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報を参照することにより、搬送車同士が近づきすぎないように走行ルートを変更する、各搬送車間の位置関係に基づき一時停止や車間距離を確保する、衝突する前に搬送車が停止できるように走行速度や障害物検知距離を再設定する、搬送車が一時停止する位置を衝突しない位置に再設定する、といったデバッグのための作業を行い、新たな走行制御データ、すなわち更新データを作成する。
【0059】
その後、更新データ入力部13を介して更新データを実搬送車走行コントローラ8に転送し、実制御プログラムに更新データを反映させる。
【0060】
さらに、実搬送車走行コントローラ8から新たな走行制御データ(更新データ)を走行制御データ出力部16及び走行制御データ入力部10を介して仮想搬送車走行コントローラ9に転送し、仮想制御プログラムに更新データを反映させ、再び仮想走行システム部SS11を動作させる。すなわち、上記(2)及び(3)の作業を再び行う。以下、上記(2)~(4)の作業を予め設定したシミュレーション実行時間中に異常事象が発生しなくなるまで繰り返す。
【0061】
そして、バグの修正を終えた後、更新データが更新データ入力部13を介して実搬送車走行コントローラ8に入力され(実線矢印r参照)、当該実搬送車走行コントローラ8の実制御プログラムが修正された内容に更新される。また、この更新データ(走行制御データ)は実搬送車走行コントローラ8から走行制御データ出力部16及び走行制御データ入力部10を介して仮想搬送車走行コントローラ9にも転送され(実線矢印s参照)、当該仮想搬送車走行コントローラ9の仮想制御プログラムも修正された内容に更新される。すなわち、仮想制御プログラムに組み込まれている走行制御データが新しい内容に書き換えられる。
【0062】
なお、直ちに次のシミュレーションを開始するようにすべく、走行制御作成機関15が作成した更新データを、走行データ入力部10を介して仮想搬送車走行コントローラ9に出力する(破線矢印t参照)ことも可能である。その場合は、上記(2)~(4)の作業を予め設定したシミュレーション実行時間中に異常事象が発生しなくなるまで繰り返し、最終的に得られた走行制御データ(更新データ)を更新データ入力部13を介して実搬送車走行コントローラ8に転送し、実制御プログラムに更新データを反映させる。
【0063】
以上説明したように、本発明に係る無人搬送車の走行制御システムSSによれば、実搬送車走行コントローラ8に走行制御作成者により作成された実制御プログラムを搭載して実行させることによって、従来通り、複数台の実搬送車A0~A6を搬送エリア7内に設定された搬送ルートR0~R6に沿って走行させ搬送作業を行わせることができる。
【0064】
しかも、本走行制御システムSSでは、かかる実搬送車走行制御コントローラ8に、仮想搬送車走行コントローラ9が並設されており、この仮想搬送車走行コントローラ9に実搬送車制御プログラムに対応した仮想搬送車制御プログラムを搭載して実行させることによって、実搬送車A0~A6にそれぞれ対応した複数の仮想搬送車B0~B6を仮想搬送エリア内で実搬送車A0~A6に精密に対応させて走行させることができる。そして、仮想搬送エリア内で複数台の仮想搬送車B0~B6を複数の走行ルートに沿って走行させている際に、いずれかの仮想搬送車B0~B6同士が衝突した場合及び所定時間以上に亘って異常停止した場合には、その異常事象が仮想搬送車走行監視部11により検知され記録される。そして、その記録が監視結果出力部12から印刷形式や画面表示形式等により出力され、走行制御作成機関15(
図2の場合には人間である)に届けられる。この記録には、異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報が含まれているため、この出力結果を参照した走行制御作成機関15は、異常事象が発生したか否かだけでなく、その発生個所や発生原因を究明することが容易になり、走行制御データを搭載した実制御プログラムのバグを従来に比べてより迅速に発見することができ、的確に修正することが可能となる。
【0065】
以上のような仮想搬送車走行コントローラ9を用いたデバッグ作業を繰り返すことによって、実制御プログラム及び仮想制御プログラムの完成度を高めることができ、最終的に、所望の期間、実搬送車A0~A6を運転し続けても衝突や異常停止が発生しないような無人搬送車の走行制御システムSSに仕上げることができる。
【0066】
しかも、本実施形態の構成によれば、上述したデバッグ作業を効率よく短時間で行うことが可能となり、信頼性の高い無人搬送車の走行制御用のプログラムを短期間で完成させることができる。
【0067】
その上、仮想制御プログラムにおけるルーチン実行用のサイクルタイムが、実制御プログラムの同サイクルタイムよりも短く実行可能であるので、シミュレーションに要する時間そのものも短縮でき、信頼性の高い無人搬送車の走行制御用のプログラムの完成に要する時間もさらに短縮することができる。
【0068】
さらに、表示部14を備えているので、シミュレーション内容をディスプレイに動的に表示することにより仮想搬送車の走行の様子が視覚的にわかりやすく示されるとともに、仮想搬送車走行監視部11に記録された異常事象が表示されることにより、表示された異常事象に関する情報を参照してその場でデバッグ作業を行うようにすることも可能である。
【0069】
そして、仮想搬送車走行監視部11に記録される情報に、異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報が含まれているので、デバッグ作業に必要な異常事象の原因の特定が容易となり、デバッグ作業の効率化を図ることができる。
【0070】
なお、本発明は以上に述べた実施形態に限らない。
【0071】
以下、走行制御作成機関15がコンピュータである場合の説明を、
図4に基づいて行う。走行制御作成機関15が人間である場合に対応する部位については
図1と同一の符号を付して説明を省略する。
【0072】
この場合、監視結果出力部12は、仮想搬送車走行監視部11から受け取ったタイムスタンプ情報と、例えばミリ単位で特定された自己位置情報と、走行ルート情報とを走行制御作成機関15に向けて出力する。一方、仮想搬送車走行コントローラ9は、搬送エリアマップ、無人搬送車A0~A6の外形サイズ、走行制御データを走行制御作成機関15に向けて出力する。走行制御作成機関15は、入力された全情報を用いてデバッグ作業を行い、更新データを生成する。生成した更新データは、実搬送車走行コントローラ8を経由して仮想搬送車走行コントローラ9に出力する(実線矢印r、s参照)他に、走行データ入力部10を介して更新データを仮想搬送車走行コントローラ9に出力し(破線矢印t参照)、直ちに次のシミュレーションを開始することも可能である。なお、この実施態様では、表示部14は必ずしも設ける必要はない。
【0073】
さらに、蓄電池の充放電検査工場に限らず、物流倉庫、食品工場、電子部品工場等で用いられる無人搬送車の走行制御システムに本発明を適用してもよい。
【0074】
仮想制御プログラムにおけるルーチン実行用のサイクルタイムは、実制御プログラムにおけるルーチン実行用のサイクルタイムと同じであってもよく、あるいはコンピュータの能力の限界まで短くしてもよい。
【0075】
仮想搬送車走行監視部に記録される情報には、前述したように異常事象が発生した時点のタイムスタンプ情報、該当する仮想搬送車の自己位置情報、及びその仮想搬送車の走行ルート情報が含まれているものが望ましいが、デバッグ作業の効率化を図るための情報であれば、他の種類のものであってもよい。
【0076】
その他、本発明の趣旨を損ねない範囲で種々に変形してよい。
【符号の説明】
【0077】
SS…無人搬送車の走行制御システム
8…実搬送車走行コントローラ
9…仮想搬送車走行コントローラ
10…走行制御データ入力部
11…仮想搬送車走行監視部
12…監視結果出力部
13…更新データ入力部
14…表示部
16…更新データ入力部