(実施形態1)
(1.1)概要
本実施形態に係る制御システム50は、図2に示すように、所定エリアA1(図1参照)内を移動する移動体10を制御するためのシステムである。図1及び図2では移動体10が1台しか図示されていないが、制御システム50は複数台の移動体10の通行を制御する。ここにおいて、制御システム50は、制御システム50の制御対象となる複数台の移動体10と共に移動体システム1を構成する。言い換えれば、本実施形態に係る移動体システム1は、制御システム50と、複数台の移動体10と、を備えている。
制御システム50は、所定エリアA1の一部に設けられる区域Z1(図1参照)と、区域Z1に対応して設けられる状態出力部G1と、を含む通行制御モジュールM1を用いて、移動体10の通行を制御する。状態出力部G1は、第1方向D1及び第2方向D2の少なくとも一方で、移動体10の通行を許可する許可状態であるか、移動体10の通行を不許可とする不許可状態であるかを示す状態情報を出力する。第1方向D1(以下、「入方向」と言う場合もある)は、移動体10が区域Z1の外部から内部に移動する方向である。第2方向D2(以下、「出方向」と言う場合もある)は、移動体10が区域Z1の内部から外部に移動する方向である。
本開示でいう「移動体」は、物体(荷物等)を搬送する搬送装置、無人搬送車(AGV:Automated Guided Vehicle)、移動ロボット、自律航行船及びドローン等を含む。本開示でいう「移動ロボット」は、例えば、車輪型、クローラ型又は脚型の(歩行型を含む)のロボットである。移動体10は、所定エリアA1内を移動するだけでなく、例えば、搬送、ピッキング、溶接、実装、陳列、接客、警備、組立及び検査等の様々な作業を実行する機能を有していてもよい。「所定エリア」A1は、複数台の移動体10が移動する範囲であって、一例として、工場、倉庫、建設現場、店舗、物流センタ、事務所、公園、住宅、学校、病院、駅、空港又は駐車場等である。さらに、例えば、船舶、電車又は飛行機の内部等、乗り物の内部に移動体10が配備されている場合には、乗り物の内部が所定エリアA1になる。
「区域」Z1は、移動体10が移動する所定エリアA1内に設定される。区域Z1は、移動体10の少なくとも一部が入る大きさを有していればよく、複数台の移動体10が入る大きさを有していてもよい。また、図1に示す区域Z1は正方形の領域であるが、区域Z1の形状は正方形に限定されず、区域Z1の大きさ及び形状は適宜変更が可能である。図1では所定エリアA1内に1つの区域Z1が設けられているが、所定エリアA1内に複数の区域Z1が設けられてもよい。
「状態出力部」G1は、区域Z1に対応して設けられる。状態出力部G1は、区域Z1の境界に設けられてもよいし、区域Z1の外側であって区域Z1に出入りする移動体10が通行する部分に設けられてもよい。本実施形態の状態出力部G1は、所定エリアA1のマップに関する地図情報において、区域Z1に対応する位置(例えば、マップ上の基準位置を基準とする二次元直交座標で示される位置)に仮想的に設けられる。状態出力部G1は、第1方向D1及び第2方向D2の少なくとも一方で、許可状態であるか不許可状態であるかを示す状態情報を出力するために設けられた仮想的な構成である。したがって、状態情報の「出力」は、状態出力部G1が出力処理のトリガとなって、制御システム50から移動体10へ状態情報を出力させること、つまり状態出力部G1が制御システム50から移動体10へ状態情報を間接的に出力させる態様を含み得る。
以下の実施形態では、例えば、移動体10が区域Z1に設けられた状態出力部G1の位置に接近することを出力処理のトリガとして、制御システム50が移動体10へ状態情報を出力している。所定エリアA1内を移動する移動体10が、状態出力部G1が設けられる位置に近付くと、移動体10は、状態出力部G1への接近をトリガとして制御システム50から出力される状態情報を取得する。本実施形態では、状態出力部G1が、所定エリアA1のマップに関する地図情報において仮想的に設けられており、制御システム50が、状態出力部G1の状態情報を保持しているので、移動体10は、制御システム50が保持している状態出力部G1の状態情報を制御システム50から取得する。
状態出力部G1は仮想的な構成(つまり実体を伴わない構成)に限定されず、実空間において、所定エリアA1に設けられる区域Z1の周辺に設置される信号機のような実体を伴う構成でもよい。状態出力部G1が実体を伴う構成であれば、状態出力部G1が、当該状態出力部G1に接近してくる移動体10に対して状態情報を直接出力してもよく、移動体10は状態出力部G1から状態情報を直接取得する。
したがって、状態情報の出力は、状態出力部G1が移動体10に状態情報を直接出力する態様と、状態情報を間接的に出力する態様とを含み得る。
移動体10は、状態出力部G1から直接又は間接的に出力される状態情報に基づいて、状態情報が許可状態を示していれば、状態出力部G1が設けられる位置を通過する。また、移動体10は、状態出力部G1から直接又は間接的に出力される状態情報に基づいて、状態情報が不許可状態を示していれば、状態出力部G1が設けられる位置又はその手前で停止する。このように、本実施形態の制御システム50では、状態出力部G1から直接又は間接的に出力される状態情報に基づいて移動体10の通行を制御することができる。したがって、本実施形態の制御システム50では、所定エリアA1内の所望の位置に通行制御モジュールM1を(仮想的に)配置することで、状態出力部G1から直接又は間接的に出力される状態情報に基づいて移動体10の通行を制御することができる。よって、移動体10の台数が増えた場合でも、移動体10の円滑な通行を実現可能な制御システム50を提供することができる。
(1.2)詳細
以下、本実施形態に係る制御システム50及び移動体システム1の構成について、図1~図3を参照して、詳細に説明する。以下に示す、数値、形状、材料、構成要素の位置、複数の構成要素間の位置関係及び接続関係等は、一例であって、本開示を限定する主旨ではない。また、以下で参照する図面は、いずれも模式的な図であり、図中の各構成要素の大きさ及び厚さそれぞれの比が、必ずしも実際の寸法比を反映しているとは限らない。
以下では、制御システム50の制御対象、つまり移動体システム1に含まれる移動体10が、搬送対象物40(図2参照)を搬送する搬送機能を有することと仮定する。本実施形態では、移動体10は、所定エリアA1内での搬送対象物40の搬送の作業に特化した専用の作業装置、つまり搬送装置であって、特に、無人搬送車である。移動体10としての無人搬送車は、所定エリアA1内を移動しつつ、搬送対象物40の搬送という作業を実行する。本実施形態では、移動体10は、例えば、工場内で部品を搬送する作業を実行しており、搬送対象物40は、一例として、部品等の荷物が載せられるパレット(図1参照)である。本実施形態で例示する移動体10の構成について詳しくは、「(1.2.4)移動体」の欄で説明する。
(1.2.1)全体構成
移動体システム1は、図1及び図2に示すように、制御システム50と、1台以上の移動体10と、を備えている。本実施形態では、移動体システム1は、複数台の移動体10を備えている。
(1.2.2)通行制御モジュール
通行制御モジュールM1は、上述のように、所定エリアA1の一部に設けられる区域Z1と、区域Z1に対応して設けられる状態出力部G1とを含む。
通行制御モジュールM1は、所定エリアA1内の任意の一部に設けることができる。例えば、移動体10の使用者等が所定エリアA1において移動体10が移動する移動経路を設計する際に、所定エリアA1のマップ上の所望の場所に1又は複数の通行制御モジュールM1が仮想的に設けられる。ここで、通行制御モジュールM1は、複数の移動経路が交差するエリア、複数の移動体10が交互に通行するエリア、及び移動体10が渋滞するエリア等、移動体10の通行を制御したいエリアに設けられるのが好ましい。
図1は、所定エリアA1において移動体10が移動する通路100の途中に設けられた通行制御モジュールM1を示す。図1の例では、通路100の一部に、通行制御モジュールM1の区域Z1が設けられている。区域Z1は、1台の移動体10が入る大きさの矩形の領域である。区域Z1が、移動体10の全体が入る大きさを有していることは必須ではなく、移動体10の少なくとも一部が入る大きさを有していればよい。また、区域Z1の形状は矩形に限定されず、区域Z1の形状は適宜変更が可能である。また、通路100の幅は、少なくとも1台の移動体10が通行可能な幅よりも広ければよく、複数台の移動体10がすれ違い可能なだけの幅を有していてもよい。
状態出力部G1は、区域Z1に対応して設けられている。図1の例では、通路100において、区域Z1に出入りする移動体10が通過する位置に状態出力部G1が設けられている。状態出力部G1は、第1方向D1(入方向)と第2方向D2(出方向)との少なくとも一方で、許可状態であるか不許可状態であるかを示す状態情報を出力するために区域Z1に対応して設けられる。本実施形態では、状態出力部G1によって、第1方向D1及び第2方向D2のうちの一方(例えば第1方向D1)で、許可状態であるか不許可状態であるかを示す状態情報が出力される。したがって、状態出力部G1から直接又は間接的に出力される状態情報では、第1方向D1及び第2方向D2のうちの他方(例えば第2方向D2)では移動体10の通行は制限されない。すなわち、状態出力部G1は、移動体10の通行を許可するか又は禁止するかを示す情報(状態情報)を表示(出力)する信号機の機能を有している。換言すれば、状態出力部G1は、不許可状態において、移動体10の通行を阻止するように、区域Z1に対応する位置に表れる仮想的なゲートの機能を有している。本実施形態では、状態出力部G1は、第1方向D1と第2方向D2との一方のみで、許可状態であるか不許可状態であるかを示す状態情報を出力している。例えば、第1方向D1のみで許可状態であるか不許可状態であるかを示す状態情報を出力可能なように状態出力部G1は設けられている。したがって、第2方向D2においても移動体10の通行を制御したい場合には、第2方向D2において許可状態であるか不許可状態であるかを示す状態情報を出力するための状態出力部が更に設けられればよい。つまり、区域Z1に対応して、第1方向D1において許可状態であるか不許可状態であるかを示す状態情報を出力するための状態出力部G1と、第2方向D2において許可状態であるか不許可状態であるかを示す状態情報を出力するための状態出力部とが設けられていればよい。
本実施形態では、所定エリアA1において状態出力部G1が設けられる位置、及び、状態出力部G1に対して設定される状態(許可状態又は不許可状態)を示す状態情報は、制御システム50によって保持されている。また、所定エリアA1内を移動する複数の移動体10の各々は、所定エリアA1において通行制御モジュールM1が設けられている位置(つまり、所定エリアA1のマップ上での区域Z1及び状態出力部G1の位置)の情報を保持している。また、移動体10は、所定エリアA1内で移動体10が存在する現在位置を検知する機能を有する。移動体10は、所定エリアA1内を区域Z1に向かって移動する場合に状態出力部G1が設けられる位置に近付くと、状態出力部G1に割り当てられた状態情報の出力を制御システム50に要求する。ここで、移動体10が制御システム50から取得した状態出力部G1の状態情報が許可状態であれば、移動体10は、状態出力部G1が設けられている位置を通過して区域Z1に移動する。一方、移動体10が制御システム50から取得した状態出力部G1の状態情報が不許可状態であれば、移動体10は、状態出力部G1が設けられている位置又はその手前で停止する。
本実施形態では、状態出力部G1は、例えば、所定エリアA1を上から見た仮想平面VA1(図3参照)において、状態出力部G1が設けられる位置に対応して、通路100を横切るように設けられたベクトルB1として表現される。したがって、移動体10は、状態出力部G1に関する情報として、ベクトルB1の始点の座標と、ベクトルB1の終点の座標とを有している。ここで、ベクトルB1の向きは、移動体10の通行を制御する方向(第1方向D1又は第2方向D2)に応じた向きとなる。例えば、図3に示すように、移動体10の通行を制御する方向が第1方向D1(図3において右側から左側へ進む方向)であれば、ベクトルB1は、当該ベクトルB1と移動体10の速度を表すベクトルC1との外積(B1×C1)が正となるような向き(図3において実線の矢印で示す向き)となる。ここで、ベクトルの外積の向きが上向きである場合を正とする。ベクトルB1の向きが図3において実線の矢印で示す向きと逆向きであれば、ベクトルB1とベクトルC1との外積(B1×C1)は負になるので、第1方向D1に移動する移動体10の通行は通行制御モジュールM1によって制御されない。
本実施形態では、制御システム50が、状態出力部G1によって出力される状態情報を許可状態とするか不許可状態とするかを制御しており、状態情報が示す状態は他の移動体10の通行状態等に応じて適宜変更される。
一方、制御システム50の制御対象である移動体10は、移動体10の現在位置の情報と、移動体10の速度を表すベクトルC1の情報と、を保持している。ベクトルC1の始点は、例えば移動体10の基準位置(例えば移動体10が回転する場合の回転中心となる位置)であり、ベクトルC1の方向は移動体10の移動方向に、ベクトルC1の大きさは移動体10の移動速度にそれぞれ対応している。ここで、移動体10は、移動体10の現在位置及び現在の移動速度に応じて、ベクトルC1の情報を逐次更新している。また、移動体10は、所定エリアA1に設けられた1又は複数の通行制御モジュールM1の情報を保持しており、状態出力部G1が設けられる位置に関する位置情報(すなわち、ベクトルB1の始点及び終点の座標に関する情報)を保持している。
移動体10は、状態出力部G1が設けられる位置に関する位置情報とベクトルC1の情報とに基づいて、ベクトルC1がベクトルB1と交差する位置まで移動したか否かを判断する。移動体10は、ベクトルC1がベクトルB1と交差する位置まで移動すると、ベクトルB1とベクトルC1との外積(B1×C1)を求め、外積(B1×C1)の符号が正であれば、状態出力部G1に対して設定された状態情報の送信を制御システム50に要求する。移動体10は、制御システム50から取得した状態情報が許可状態であれば、状態出力部G1が設けられる位置を通過し、状態情報が不許可状態であれば、状態出力部G1が設けられる位置又はその手前で停止する。また、移動体10は、外積(B1×C1)の符号が負であれば、通行制御モジュールM1によって通行が制限されていないと判断し、状態出力部G1が設けられる位置をそのまま通過する。また、図3では、状態情報が示す状態が許可状態である状態出力部G1を、「〇印」を付した実線のベクトルB1で表記し、状態情報が示す状態が不許可状態である状態出力部G1を、「×印」を付した点線のベクトルB1で表記する。
このように、所定エリアA1内を区域Z1に向かって移動する移動体10が、状態出力部G1が設けられている位置に近付くと、移動体10は、状態出力部G1への接近をトリガにして、制御システム50から状態出力部G1の状態情報を取得する。そして、移動体10は、状態出力部G1の状態情報に基づいて、状態情報が示す状態が許可状態であるか不許可状態であるかを判定する。状態情報が許可状態を示していれば、移動体10は状態出力部G1が設けられる位置を通過して区域Z1に入る。状態情報が不許可状態を示していれば、移動体10は状態出力部G1が設けられる位置又はその手前で停止する。
ここで、ベクトルC1がベクトルB1と交差する位置が、移動体10が状態出力部G1に対して設定される状態情報を確認する確認位置となる。移動体10の状態によってベクトルC1の方向及び大きさが変化するので、ベクトルC1がベクトルB1と交差する位置(つまり確認位置)が変化する。移動体10の状態は、移動体10の移動方向、移動速度、及び移動体10の重量(搬送物も含む)等を含む。そして、移動体10は、状態出力部G1の手前の確認位置で状態出力部G1によって出力される状態情報が示す状態を確認した結果に基づいて通行又は停止するので、状態情報が不許可状態を示している場合には移動体10を状態出力部G1の手前の安全な位置(確認位置)で停止させることができる。
本実施形態の制御システム50は、所定エリアA1のマップ上で所望の場所に通行制御モジュールM1を設けることで、移動体10の通行を制御することができる。したがって、所定エリアA1内で移動体10が移動する移動経路を設計する際に、所定エリアA1内の1又は複数の場所に通行制御モジュールM1を設けることで、所定エリアA1内で移動体10が円滑に通行できるように、移動体10の通行を制御することができる。
(1.2.3)制御システム
本実施形態の制御システム50は、例えばサーバ装置で実現されており、図2に示すように、制御部51と、通信部61と、記憶部62とを備える。
通信部61は、複数台の移動体10の各々と通信可能に構成されている。ここにおいて「通信可能」とは、有線通信又は無線通信の適宜の通信方式により、直接的、又はネットワークNT1若しくは中継器70等を介して間接的に、情報を授受できることを意味する。すなわち、制御システム50と複数の移動体10の各々とは、互いに情報を授受することができる。また、制御システム50と、移動体10とは、互いに双方向に通信可能である。そのため、制御システム50から移動体10への情報の送信、更には、移動体10から制御システム50への情報の送信の両方が可能である。本実施形態では、複数の移動体10の各々は、所定エリアA1に配置される複数の中継器70のいずれかと、電波を媒体とする無線通信によって通信を行う。そのため、制御システム50と複数の移動体10とは、少なくともネットワークNT1及び中継器70を介して、間接的に通信を行うことになる。
要するに、各中継器70は、各移動体10と制御システム50との間の通信を中継する機器(アクセスポイント)である。中継器70は、ネットワークNT1を介して、制御システム50の通信部61と通信する。本実施形態では一例として、中継器70と移動体10との間の通信には、Wi-Fi(登録商標)、Bluetooth(登録商標)、ZigBee(登録商標)又は免許を必要としない小電力無線(特定小電力無線)等の規格に準拠した、無線通信を採用する。また、ネットワークNT1は、インターネットに限らず、例えば、所定エリアA1内又は所定エリアA1の運営会社内のローカルな通信ネットワークが適用されてもよい。
記憶部62は、例えば、書換可能な不揮発性の半導体メモリ等の非一時的記録媒体にて実現される。記憶部62は、例えば、所定エリアA1のマップに関する地図情報と、所定エリアA1内に設けられる区域Z1の位置に関する情報、区域Z1に対応して設けられる状態出力部G1の位置に関する位置情報、及び状態出力部G1に対して設定した状態情報、等を記憶する。本実施形態では、所定エリアA1に設けられる区域Z1に対応して状態出力部G1が設けられており、状態出力部G1は実体を有しない。そのため、制御システム50は、通行制御モジュールM1に関する情報を記憶部62に記憶することによって、所定エリアA1内に仮想的に設けられた通行制御モジュールM1をデータとして備えている。
制御部51は、例えば、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。すなわち、コンピュータシステムのメモリに記録されたプログラムを、プロセッサが実行することにより、制御部51の機能(例えば、検知部52及び状態制御部53等の機能)が実現される。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
検知部52は、移動体10から通信部61が受信した移動体10の現在位置を示す現在位置情報と、記憶部62が記憶する区域Z1の情報とに基づいて、区域Z1に移動体10が存在するか否かを検知する。検知部52は、区域Z1に移動体10が存在する場合、区域Z1内に存在する移動体10の数をさらに検知してもよい。
状態制御部53は、所定エリアA1に設けられる1又は複数の通行制御モジュールM1について、通行制御モジュールM1の状態出力部G1に対して設定される状態情報が示す状態を許可状態と不許可状態とのいずれかに制御する。状態制御部53は、例えば、検知部52の検知結果に基づいて、状態出力部G1によって直接又は間接的に出力される状態情報が示す状態を許可状態と不許可状態とのいずれかに制御する。状態制御部53が、状態出力部G1が出力する状態情報が示す状態を許可状態に制御すると、移動体10は、状態情報が示す状態に基づいて、所定エリアA1において状態出力部G1が設けられた位置を通過できる。また、状態制御部53が、状態制御部53が出力する状態情報が示す状態を不許可状態に制御すると、移動体10は、状態情報が示す状態に基づいて、所定エリアA1において状態出力部G1が設けられた位置又はその手前で停止する。このように、状態制御部53が、状態出力部G1によって出力される状態情報が示す状態を許可状態と不許可状態とのいずれかに制御することで、通行制御モジュールM1により移動体10の通行を許可するか不許可とするかを変更することができる。
本実施形態では、状態制御部53は、状態出力部G1を表すベクトルB1の向きを変えることで、状態出力部G1によって許可状態又は不許可状態に決定される方向を、第1方向D1及び第2方向D2のうちのいずれかに設定できる。したがって、制御システム50は、通行制御モジュールM1を用いて所望の方向において移動体10の通行を制御することができる。本実施形態の制御システム50は、状態出力部G1を用いることにより、間接的に移動体10を制御する。すなわち、状態制御部53は、状態情報が示す状態を制御することによって、状態出力部G1から出力される状態情報に従って制御される移動体10を、間欠的に制御することができる。
(1.2.4)移動体
次に、本実施形態で例示する移動体10の構成についてより詳細に説明する。
移動体10は、所定エリアA1内でパレット40を運搬するための無人搬送車であり、パレット40を積載して目的地まで自律走行する。本実施形態では、制御システム50が、ネットワークNT1及び中継器70を介して移動体10と通信し、移動体10の移動を制御する。
移動体10は、図1及び図3に示すように、例えば、所定エリアA1の床面等からなる平坦な移動面110を自律走行する。ここでは一例として、移動体10は、蓄電池を備え、蓄電池に蓄積された電気エネルギを用いて動作することとする。本実施形態では、移動体10は、パレット40を積載した状態で移動面110上を走行する。これにより、移動体10は、例えば、所定エリアA1において、ある場所に置かれているパレット40を、別の場所に搬送することが可能である。
移動体10は、本体部11を備えている。本体部11は直方体状に形成されている。本実施形態では、本体部11の下部から、2本のフォーク12が後方に向かって突出しており、2本のフォーク12でパレット40をすくい上げることで、フォーク12の上にパレット40を積載する。また、移動体10は、2本のフォーク12の前側を持ち上げながら、前進することで、フォーク12からパレット40を降ろすことができる。
移動体10は、本体部11及び2本のフォーク12の下部に複数(例えば4つ)の車輪を有している。4つの車輪のうち、少なくとも本体部11の下部に設けられた2つの車輪は駆動輪であり、これら駆動輪が個別に駆動されることにより、移動体10が移動面110に沿って所望の方向に移動可能となる。ここで、複数の車輪のうちの駆動輪は、例えば、オムニホイール等の全方向移動型車輪であってもよい。
移動体10は、図2に示すように、制御部21と、通信部31と、位置検知部33と、走行装置34と、記憶部32とを備える。移動体10の制御部21、通信部31、位置検知部33、走行装置34、及び記憶部32は本体部11に搭載されている。
通信部31は、中継器70及びネットワークNT1を介して制御システム50(制御システム50の通信部61)と通信する。ここで、通信部31は中継器70との間で無線通信方式により通信を行う。
記憶部32は、例えば、書換可能な不揮発性の半導体メモリ等の非一時的記録媒体にて実現される。記憶部32は、例えば、所定エリアA1のマップに関する地図情報、所定エリアA1内に設けられる区域Z1の位置に関する情報、及び、所定エリアA1内に設けられる状態出力部G1の位置に関する位置情報等の情報を記憶する。
位置検知部33は、所定エリアA1内で移動体10が存在する現在位置に関する現在位置情報を検知する。位置検知部33は、例えば、複数の発信器から電波で送信されるビーコン信号を受信する受信機を含む。複数の発信器は、移動体10が移動する所定エリアA1内の複数箇所に配置されている。位置検知部33は、複数の発信器の位置と、受信機でのビーコン信号の受信電波強度とに基づいて、移動体10の現在位置を測定する。位置検知部は、GPS(Global Positioning System)等の衛星測位システムを用いて実現されてもよい。移動体10は、位置検知部33の検知結果を通信部31から制御システム50へ所定の送信時間間隔(例えば1秒間隔)で定期的に送信する。移動体10は、制御システム50からの送信要求等に応じて、位置検知部33の検知結果を通信部31から制御システム50へ不定期に送信してもよい。
走行装置34は、制御部21からの制御命令を受けて、本体部11に備えられた複数の駆動輪を駆動することで、移動体10を所望の方向に走行させる。
制御部21は、例えば、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。すなわち、コンピュータシステムのメモリに記録されたプログラムを、プロセッサが実行することにより、制御部21の機能(例えば、経路取得部22、状態情報取得部24及び走行制御部23等の機能)が実現される。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
経路取得部22は、制御システム50から通信部31を介して、移動体10の移動経路に関する経路情報を取得する。経路取得部22は、制御システム50から通信部31を介して、移動体10が実行する作業の内容に関する作業情報を取得し、この作業情報に基づいて移動体10の移動経路を決定することで経路情報を取得してもよい。例えば、第1エリア201(図6参照)にいる移動体10が第1エリア201から第3エリア203に荷物を運ぶという作業情報を取得すると、この移動体10の経路取得部22は、この作業情報に基づいて経路情報を取得する。すなわち、経路取得部22は、作業情報に基づいて、第1エリア201内で荷物を載せる位置から、通路エリア204を通って、第3エリア203内で荷物を降ろす位置まで移動体10が移動する移動経路を取得する。
状態情報取得部24は、移動体10が所定エリアA1内に設けられた状態出力部G1の位置に移動すると、状態出力部G1が出力する状態情報を取得する。制御部21は、状態情報取得部24が取得した状態出力部G1の状態情報に基づいて、この状態情報が示す状態が許可状態か不許可状態かを判断し、判断結果に応じて状態出力部G1が設けられた場所を通過するか停止するかを決定する。
走行制御部23は、走行装置34を制御し、移動体10を所望の方向に走行(移動)させる。走行制御部23は、例えば、経路取得部22が取得した経路情報に従って移動体10を走行させる。
(1.3)動作
以下、本実施形態に係る制御システム50及び制御システム50の制御対象である移動体10の動作について図4~図14を参照して、詳細に説明する。
(1.3.1)制御システムの動作
制御システム50が所定エリアA1内に設けられた状態出力部G1の状態情報を更新し、移動体10からの要求に応じて状態情報を送信する一連の処理について図4のフローチャートを参照して説明する。
制御システム50の制御部51は、移動体10から定期的(例えば1秒ごと)に送信される現在位置情報を通信部61が受信すると(S1:Yes)、移動体10の現在位置情報を更新し、記憶部62に記憶する。このとき、検知部52は、通信部61が受信した現在位置情報に基づいて所定エリアA1内に設けられた区域Z1における移動体10の存否を検知する検知処理を行う(S2)。区域Z1内に移動体10が存在する場合、検知部52は、複数の移動体10から送信される現在位置情報に基づいて、1つの区域Z1内に存在する移動体10の台数を更に検知してもよい。
検知部52により区域Z1における移動体10の存否が検知されると、状態制御部53が検知部52による検知結果等に基づいて区域Z1に対応して設けられた状態出力部G1に対応する状態情報を許可状態又は不許可状態に設定する(S3)。例えば、区域Z1に移動体10が存在する場合、状態制御部53は、状態出力部G1に対して設定される状態情報が示す状態を不許可状態とし、区域Z1内への移動体10の移動を禁止する。また、区域Z1に移動体10が存在しない場合、状態制御部53は、状態出力部G1に対して設定される状態情報が示す状態を許可状態とし、区域Z1内への移動体10の移動を許可する。そして、状態制御部53は、S3の処理で設定した状態出力部G1に対応する状態情報を記憶部62に記憶する。
その後、通信部61がいずれかの移動体10から状態出力部G1に対応する状態情報の出力を要求する要求信号を受信すると(S4:Yes)、状態制御部53は、状態出力部G1に対応して設定される状態情報を通信部61から要求元の移動体10に送信させて(S5)、処理を終了する。
制御システム50の制御部51は、以上のような処理を定期的に実行し、状態出力部G1の状態情報を更新するとともに、移動体10から状態情報の要求を受けると要求元の移動体10に状態出力部G1に対応して設定された状態情報を送信する。
区域Z1が所定の制限台数まで移動体10を収容可能な場合、S3の処理において、状態制御部53は、区域Z1内に存在する移動体10の台数が所定の制限台数未満であれば、状態出力部G1に対応する状態情報が示す状態を許可状態としてもよい。これにより、制御システム50は、区域Z1内に存在する移動体10の台数が制限台数に達するまでは、区域Z1内への移動体10の移動を許可するように移動体10の通行を制御することができる。
図4に示すフローチャートは、本実施形態に係る制御システム50の動作の一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
(1.3.2)移動体の動作
移動体10の走行制御部23が、経路取得部22が取得した経路情報に従って移動体10を走行させている場合の移動体10の動作を図5のフローチャートを参照して説明する。
移動体10の位置検知部33は、所定エリアA1内において移動体10が存在する現在位置を逐次更新しており、制御部21は、位置検知部33が検知した現在位置情報を通信部31から制御システム50に送信させる(S11)。
位置検知部33が現在位置情報を更新すると、制御部21は、現在位置情報及び記憶部32が記憶する状態出力部G1の位置情報等に基づいて、状態出力部G1が設けられた位置に接近したか否かを判断する(S12)。ここで、移動体10の移動速度及び移動方向を表すベクトルC1が、状態出力部G1を表すベクトルB1に交差すれば、制御部21は、状態出力部G1が設けられた位置に接近したと判定する。
S12の判断で、制御部21が、状態出力部G1が設けられた位置に接近していないと判断すれば(S12:No)、S11の処理に戻ってS11以降の処理を実行する。
S12の判断で、制御部21が、状態出力部G1が設けられた位置に接近したと判断すると(S12:Yes)、制御部21は、状態出力部G1の状態情報を要求する要求信号を通信部31から制御システム50に送信させる(S13)。
その後、制御システム50から送信された状態情報を通信部31が受信すると(S14)、状態情報取得部24は、通信部31を介して状態情報を取得し、制御部21が状態情報に基づいて状態出力部G1が設けられた位置を通行するか停止するかを決定する。すなわち、処理S14で受信した状態情報が許可状態であれば(S15:Yes)、制御部21は、状態出力部G1が設けられた位置を通過するように移動体10を制御する。一方、処理S14で受信した状態情報が不許可状態であれば(S15:No)、制御部21は、状態出力部G1が設けられた位置の手前で停止するように移動体10を制御する。制御部21は、要求信号を送信したにもかかわらず、制御システム50から状態情報を受信できなかった場合、状態出力部G1が設けられた位置で停止するのが好ましく、移動体10の安全な通行を実現できる。
このように、移動体10の制御部21は、状態出力部G1によって出力される状態情報が示す状態が許可状態であるか不許可状態であるかに応じて、状態出力部G1が設けられた位置を通過するか停止するかを決定する。制御システム50は、通行制御モジュールM1を用い、当該通行制御モジュールM1の状態出力部G1に対して設定される状態情報が示す状態を許可状態とするか不許可状態とするかを制御(設定)することで、移動体10の通行を制御することができる。よって、制御システム50は、通行制御モジュールM1を用いて、移動体10の円滑な通行を実現することができる。
図5に示すフローチャートは、移動体10の動作の一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
(1.3.3)制御システムによる移動体の通行制御
次に、所定エリアA1内で通行制御モジュールM1が設けられた場所を移動体10が通行する場合の動作について図6~図14を参照して詳細に説明する。
(1.3.3.1)動作例1
図6に基づいて制御システム50による移動体10の通行制御の動作例1を説明する。
図6は、複数台の移動体10が移動する所定エリアA1の模式的な平面図である。本実施形態では、所定エリアA1が、工場内の第1エリア201と第2エリア202と第3エリア203と通路エリア204とを含んでいる。ここで、第1エリア201は第1部品が製造されるエリアであり、第2エリア202は第2部品が製造されるエリアである。第3エリア203は、第1エリア201で製造された第1部品と、第2エリア202で製造された第2部品とが組み立てられるエリアである。通路エリア204は、第1エリア201と第2エリア202と第3エリア203との間をつなぐ通路となるエリアである。移動体10は、例えば、第1エリア201又は第2エリア202から通路エリア204を通って第3エリア203へ移動する。また、移動体10は、例えば、第3エリア203から通路エリア204を通って第1エリア201又は第2エリア202に移動する。ここで、制御システム50は、通路エリア204において移動体10のすれ違い通行が起きないように、通路エリア204での移動体10の通行を制御する。つまり、制御システム50は、通路エリア204内での移動体10の通行を、第1エリア201又は第2エリア202から通路エリア204に向かう方向と、第3エリア203から第1エリア201又は第2エリア202に向かう方向とで交互に切り替えている。
動作例1では、制御システム50が、所定エリアA1内の通路エリア204を区域Z11として設定しており、この区域Z11に対応して3つの状態出力部G11,G12,G13が設定されている。動作例1では、区域Z11と、区域Z11に対応して設けられた状態出力部G11,G12,G13とを含む通行制御モジュールM11が設けられている。ここで、状態出力部G11は、第1エリア201と区域Z11とをつなぐ出入口211付近に設けられる。状態出力部G12は、第2エリア202と区域Z11とをつなぐ出入口212付近に設けられる。また、状態出力部G13は、第3エリア203と区域Z11とをつなぐ出入口213付近に設けられる。
制御システム50の検知部52は、区域Z11に移動体10が存在するか否かを検知しており、状態制御部53は、検知部52の検知結果に基づいて、状態出力部G11,G12,G13に対して設定される状態情報が示す状態を制御する。例えば、状態制御部53は、区域Z11に移動体10が存在しない場合、第1状態と第2状態とを所定の周期で交互に繰り返す。第1状態は、状態出力部G11,G12に対して設定される状態情報を許可状態を示す情報とし、かつ、状態出力部G13に対して設定される状態情報を不許可状態を示す情報とする状態である。第2状態は、状態出力部G11,G12に対して設定される状態情報を不許可状態を示す情報とし、かつ、状態出力部G13に対して設定される状態情報を許可状態を示す情報とする状態である。
ここで、第1状態では、第1エリア201及び第2エリア202に存在する移動体10は通路エリア204に入ることができ、第3エリア203に存在する移動体10は通路エリア204に入ることができない。したがって、第1状態は、第1エリア201及び第2エリア202から通路エリア204に入った移動体10が、通路エリア204を通って第3エリア203に移動可能な状態である。第1状態において、第1エリア201又は第2エリア202に存在する1又は複数の移動体10が通路エリア204(区域Z11)に入り、制御システム50の検知部52が区域Z11に移動体10が存在することを検知すると、状態制御部53は、状態出力部G11~G13によって出力される状態情報を第1状態で保持する。これにより、第3エリア203内に存在する移動体10は通路エリア204に移動することはできず、第1エリア201又は第2エリア202から通路エリア204に入った1又は複数の移動体10が通路エリア204へと移動する一方通行の移動のみが可能になる。その後、通路エリア204内に存在する1又は複数の移動体10が全て第3エリア203に移動し、通路エリア204内に移動体10が存在しない状態になると、状態制御部53は、第1状態と第2状態とを所定の周期で交互に繰り返すように、状態出力部G11~G13によって出力される状態情報が示す状態を制御(設定)する。
一方、第2状態では、第1エリア201及び第2エリア202に存在する移動体10は通路エリア204に入ることができず、第3エリア203に存在する移動体10は通路エリア204に入ることができる。したがって、第2状態は、第3エリア203から通路エリア204に入った移動体10が、通路エリア204を通って第1エリア201又は第2エリア202に移動可能な状態となる。第2状態において、第3エリア203に存在する1又は複数の移動体10が通路エリア204(区域Z11)に入り、制御システム50の検知部52が区域Z11に移動体10が存在することを検知すると、状態制御部53は、状態出力部G11~G13によって出力される状態情報を第2状態で保持する。これにより、第1エリア201及び第2エリア202に存在する移動体10は通路エリア204に移動することはできず、第3エリア203から通路エリア204に入った1又は複数の移動体10が通路エリア204へと移動する一方通行の移動のみが可能になる。その後、通路エリア204内に存在する1又は複数の移動体10が全て第1エリア201又は第2エリア202に移動し、通路エリア204内に移動体10が存在しない状態になると、状態制御部53は、第1状態と第2状態とを所定の周期で交互に繰り返すように、状態出力部G11~G13によって出力される状態情報が示す状態を制御(設定)する。
このように、制御システム50は、第1エリア201及び第2エリア202と、第3エリア203との間の一方通行を交互に切り替えることで、第1エリア201及び第2エリア202と、第3エリア203との間で移動体10を円滑に通行させることができる。
動作例1で説明した状態制御部53の制御動作は一例であり、適宜変更が可能である。例えば、状態制御部53は、通路エリア204(区域Z11)に移動体10が存在しない状態で、移動体10から状態情報を要求する要求信号が無い場合、状態出力部G11~G13に対して設定される状態情報が示す状態を全て不許可状態に制御してもよい。
この状態で、例えば第1エリア201に存在する移動体10が状態出力部G11が設けられた位置に接近すると、当該移動体10は、制御システム50に状態出力部G11の状態情報を要求する要求信号を送信する。制御システム50の状態制御部53は、第1エリア201に存在する移動体10から、状態出力部G11の状態情報を要求する要求信号を受信すると、通路エリア204に移動体10が存在しないので、第1エリア201から通路エリア204への移動を許可するように、状態出力部G11~G13の状態情報を制御する。制御システム50の状態制御部53は、状態出力部G11,G12に対して設定される状態情報を許可状態を示す情報とし、状態出力部G13に対して設定される状態情報を不許可状態を示す情報とする。これにより、制御システム50の状態制御部53は、通路エリア204における移動体10の通行を、第1エリア201及び第2エリア202から通路エリア204を通って第3エリア203に移動可能な状態とする。そして、第1エリア201から通路エリア204に入った移動体10が第3エリア203に移動し、通路エリア204に移動体10が存在しない状態になると、制御システム50の状態制御部53は、状態出力部G11,G12,G13に対して設定される状態情報を全て不許可状態を示す情報とする。
つまり、制御システム50の状態制御部53は、通路エリア204(区域Z11)に移動体10が存在しない状態で、移動体10から状態情報を要求する要求信号が無い場合、状態出力部G11~G13によって出力される状態情報を全て不許可状態を示す情報とする。そして、制御システム50の状態制御部53は、第1エリア201、第2エリア202及び第3エリア203のいずれかに存在する移動体10から状態情報を要求する要求信号を受け付けると、状態出力部G11~G13に対して設定される状態情報を第1状態及び第2状態のいずれかに制御し、要求信号を送信した移動体10の通路エリア204への移動を許可する。その後、第1エリア201、第2エリア202及び第3エリア203のいずれかから通路エリア204に入った移動体10が所望のエリアに移動し、通路エリア204内に移動体10が存在しない状態になると、状態制御部53は状態出力部G11~G13に対して設定される状態情報を全て不許可状態を示す情報とする。
このように、制御システム50の状態制御部53は、移動体10からの要求信号を受けて、状態出力部G11~G13に対して設定される状態情報が示す状態を決定し、決定した状態に切り替えている。状態制御部53が、移動体10からの要求信号をトリガにして、状態出力部G11~G13に対して設定される状態情報が示す状態を切り替えるまでは、状態出力部G11~G13に対して設定される状態情報が全て不許可状態になっているので、この状態で通路エリア204に移動体10が入るのを抑制でき、円滑な通行を実現できる。
また、状態制御部53は、1又は複数の通行制御モジュールM1が含む複数の状態出力部G1の各々について、状態情報が示す状態が許可状態であるか不許可状態であるかを制御する。状態制御部53は、複数の状態出力部G11~G13から出力される状態情報が示す状態を連系して制御(設定)することで、移動体10の円滑な通行を実現できる。状態制御部53は、複数の場所に設けられた複数の通行制御モジュールM1(M11)の状態出力部G1(G11~G13)によってそれぞれ出力される状態情報が示す状態を、許可状態と不許可状態とのいずれかに制御してもよく、移動体10の円滑な通行を実現できる。
(1.3.3.2)動作例2
図7に基づいて制御システム50による移動体10の通行制御の動作例2を説明する。
図7は、複数の移動体10が移動する所定エリアA1の一部分を示す平面図である。図7の例では、所定エリアA1において、4本の通路211~214が交差するエリアを区域Z21とし、区域Z21において通路211,212,213が繋がる部分に対応して状態出力部G21,G22,G23が設けられている。つまり、所定エリアA1には、区域Z21と、区域Z21に対応して設けられた状態出力部G21,G22,G23とを含む通行制御モジュールM21が設けられている。換言すれば、通行制御モジュールM21は、区域Z21につながる複数の通路211,212,213にそれぞれ対応して設けられた複数の状態出力部G21,G22,G23を含む。
動作例2では、制御システム50の状態制御部53は、区域Z21に対応して設けられた状態出力部G21,G22,G23の各々によって出力される状態情報が示す状態を許可状態及び不許可状態のいずれかに制御(設定)する。
制御システム50の検知部52は、区域Z21に移動体10が存在するか否かを検知しており、状態制御部53は、検知部52の検知結果に基づいて、状態出力部G21,G22,G23によって出力される状態情報が示す状態を制御(設定)する。例えば、状態制御部53は、区域Z21に移動体10が存在しない場合、第1切替状態と第2切替状態と第3切替状態とを、所定の切替時間が経過するごとに順番に周期的に繰り返す。ここで、第1切替状態では、状態出力部G21に対して設定される状態情報のみを許可状態を示す情報とする。第2切替状態では、状態出力部G22に対して設定される状態情報のみを許可状態を示す情報とする。第3切替状態では、状態出力部G23に対して設定される状態情報のみを許可状態を示す情報とする。
例えば、第1切替状態では、通路211に存在する移動体10は区域Z21に入ることができ、通路212,213に存在する移動体10は区域Z21に入ることができない。したがって、第1切替状態は、通路211に存在する移動体10のみが、区域Z21を通って通路214に移動可能な状態となる。第1切替状態において、通路211に存在する移動体10が区域Z21に入ったことを制御システム50の検知部52が検知すると、状態制御部53は、状態出力部G21,G22,G23に対して設定される状態情報を全て不許可状態を示す情報とする。これにより、通路211,212,213に存在する移動体10が交差点となる区域Z21に続けて入ってくることはできず、区域Z21に入った移動体10を、円滑に通路214に移動させることができる。
その後、区域Z21に移動体10が存在しない状態になると、状態制御部53は、状態出力部G21~G23に対して設定される状態情報を第1切替状態、第2切替状態、及び第3切替状態の順番で周期的に繰り返す。
このように、動作例2では、通行制御モジュールM21は、区域Z21につながる複数の通路211~213にそれぞれ対応して設けられた複数の状態出力部G21~G23を含む。状態制御部53は、複数の状態出力部G21~G23のうちの一つによって出力される状態情報が示す状態を許可状態に制御する場合、複数の状態出力部G21~G23のうち残りの状態出力部によって出力される状態情報が示す状態を不許可状態に制御する。これにより、制御システム50は、複数の通路を移動体10が通行する場合でも円滑な通行を実現することができる。
(1.3.3.3)動作例3
図8に基づいて制御システム50による移動体10の通行制御の動作例3を説明する。
図8は、複数の移動体10が移動する所定エリアA1の一部分を示す平面図である。図8の例では、所定エリアA1において、通路215の途中の隣接する2つのエリアを区域Z31,Z32としている。そして、区域Z31に対応して、区域Z32と反対側から区域Z31に入る位置に状態出力部G31が設けられている。また、区域Z32に対応して、区域Z31と反対側から区域Z32に入る位置に状態出力部G32が設けられている。つまり、動作例3では、所定エリアA1内に、区域Z31と区域Z31に対応して設けられる状態出力部G31とを含む通行制御モジュールM31と、区域Z32と区域Z32に対応して設けられる状態出力部G32とを含む通行制御モジュールM32と、が設けられている。
動作例3では、制御システム50の状態制御部53は、区域Z31,Z32に対応して設けられた状態出力部G31,G32の各々から出力される状態情報が示す状態を許可状態及び不許可状態のいずれかに制御(設定)する。
制御システム50の検知部52は、区域Z31,Z32に移動体10が存在するか否かを検知しており、状態制御部53は、検知部52の検知結果に基づいて、状態出力部G31,G32によって出力される状態情報が示す状態を制御する。例えば、状態制御部53は、区域Z31及び区域Z32に移動体10が存在しない場合、状態出力部G31に対して設定される状態情報が示す状態のみを許可状態に制御する状態と、状態出力部G32に対して設定される状態情報が示す状態のみを許可状態に制御する状態とを交互に切り替える。また、状態制御部53は、区域Z31及び区域Z32の少なくとも一方に移動体10が存在する場合、状態出力部G31,G32に対して設定される状態情報を両方ともに不許可状態に制御する。
区域Z31及び区域Z32に移動体10が存在しない状態では、制御システム50の状態制御部53は、状態出力部G31に対して設定される状態情報と状態出力部G32に対して設定される状態情報とを交互に許可状態に制御しており、いずれかの方向から区域Z31,Z32を通行可能とする。そして、区域Z31及びZ32の少なくとも一方に移動体10が存在する状態では、制御システム50の状態制御部53は、状態出力部G31,G32に対してそれぞれ設定される状態情報を両方共に不許可状態に制御する。これにより、区域Z31,Z32への進入を禁止して、区域Z31,Z32内に存在する移動体10の円滑な通行を実現できる。
また、動作例3では、所定エリアA1において移動体10が移動する経路に沿って複数の区域Z31,Z32が設けられており、複数の区域Z31,Z32を所望の場所に配置することで、移動体10の円滑な通行を実現できる。
(1.3.3.4)動作例4
図9に基づいて制御システム50による移動体10の通行制御の動作例4を説明する。
図9は、複数の移動体10が移動する所定エリアA1の一部分を示す平面図である。図9の例では、一方通行の通路221に、一方通行の2つの通路222,223が別々の場所で合流する場合に、通路221において通路222と合流するエリアを区域Z41とし、通路221において通路223と合流するエリアを区域Z43としている。また、通路222において、通路221と合流するエリアを待機エリアZ42とし、通路223において、通路221と合流するエリアを待機エリアZ44としている。そして、区域41に対応して、区域Z41と待機エリアZ42の間に状態出力部G42が設けられ、通路221において区域Z41の手前(移動体10が進入してくる側)に状態出力部G41が設けられる。また、区域43に対応して、区域Z43と待機エリアZ44の間に状態出力部G44が設けられ、通路221において区域Z43の手前に状態出力部G43が設けられる。ここで、区域Z41と、区域Z41につながる複数の通路221,222に設けられた状態出力部G41,G42とで通行制御モジュールM41が構成され、区域Z43と、区域Z43につながる複数の通路221,223に設けられた状態出力部G43,G44とで通行制御モジュールM43が構成される。すなわち、通行制御モジュールM41,M43は、区域Z41,Z43につながる複数の通路221,222,223にそれぞれ対応して設けられた複数の状態出力部G41~G44を含む。
動作例4では、通路221を通行する移動体10Aを、通路222,223から通路221に入ろうとする移動体10Bよりも優先させるように、制御システム50の状態制御部53が、状態出力部G41~G44によって出力される状態情報が示す状態を制御する。
制御システム50の記憶部62には、区域Z41,Z43及び待機エリアZ42,Z44の位置情報が記憶されており、検知部52は、区域Z41,Z43及び待機エリアZ42,Z44のそれぞれで移動体10(10A,10B)の存否を検知する。
制御システム50の状態制御部53は、待機エリアZ42,Z44に移動体10が存在しない状態では、状態出力部G41,G43によって出力される状態情報が示す状態を許可状態に制御し、状態出力部G42,G44によって出力される状態情報が示す状態を不許可状態に制御する。これにより、通路221を通行する移動体10は、状態出力部G41,G43が設けられる位置をそのまま通過でき、通路221において移動体10を円滑に移動させることができる。また、通路222,223に存在する移動体10Bは、状態出力部G42,G44が設けられる位置で停止するので、通路221を移動する移動体10Aの通行を妨げる可能性を低減できる。
一方、待機エリアZ42に移動体10が存在することを検知部52が検知すると、状態制御部53は、例えば所定の第1遅れ時間が経過した後の第1時点で、状態出力部G41によって出力される状態情報が示す状態を許可状態から不許可状態に変更する。これにより、通路221を通行する移動体10は、状態出力部G41の手前で停止する。
また、状態制御部53は、状態出力部G41によって出力される状態情報が示す状態を不許可状態に変更した第1時点から所定の第2遅れ時間(待機時間)が経過した後の第2時点で、切替対象の状態出力部G42によって出力される状態情報が示す状態を不許可状態から許可状態に変更する。これにより、通路221を通行する移動体10を状態出力部G41の手前で停止させた状態で、通路222を通行する移動体10を通路221に進入させることができ、円滑な通行を実現できる。
(1.3.3.5)動作例5
図10に基づいて制御システム50による移動体10の通行制御の動作例5を説明する。
図10は、複数の移動体10が移動する所定エリアA1の一部分を示す平面図である。図10の例では、一方通行の通路231に、一方通行の通路232が合流しており、所定エリアA1には、通路231において通路232が合流するエリアに区域Z51が設けられ、通路231において区域Z51に隣接するエリアに隣接エリアZ52が設けられている。隣接エリアZ52は区域Z51に対して進行方向の手前側にある。また、通路232において区域Z51と隣接するエリアに待機エリアZ53が設けられている。ここで、区域Z51に対応して2つの状態出力部G51,G52が設けられている。状態出力部G51は、区域Z51と隣接エリアZ52との間に設けられ、状態出力部G52は、区域Z51と待機エリアZ53との間に設けられる。区域Z51と、区域Z51に対応して設けられた状態出力部G51,G52とが通行制御モジュールM51に含まれており、制御システム50の状態制御部53は状態出力部G51,G52の各々に対して設定される状態情報が示す状態を許可状態及び不許可状態のいずれかに制御(設定)する。
ここで、制御システム50の記憶部62には、区域Z51、隣接エリアZ52、及び待機エリアZ53の位置情報が記憶されている。制御システム50の検知部52は、移動体10から送信される現在位置情報に基づいて、区域Z51、隣接エリアZ52、及び待機エリアZ53のそれぞれに移動体10が存在するか否かを検知する。そして、制御システム50の状態制御部53は、検知部52の検知結果に基づいて、状態出力部G51,G52によって出力される状態情報が示す状態を制御する。
例えば、状態制御部53は、待機エリアZ53に移動体10が存在しない場合には、状態出力部G51によって出力される状態情報が示す状態を許可状態、状態出力部G52によって出力される状態情報が示す状態を不許可状態として、通路231を通行する移動体10Aはそのまま通行させ、通路232を通行する移動体10Bは状態出力部G52の手前で停止させる。
一方、待機エリアZ53に移動体10Bが存在する状態で、区域Z51及び隣接エリアZ52の両方に移動体10が存在しなければ、状態制御部53は、状態出力部G51によって出力される状態情報が示す状態を不許可状態、状態出力部G52によって出力される状態情報が示す状態を許可状態として、通路232に存在する移動体10Bが通路231に移動するのを許可する。
動作例5では、制御システム50は通路232よりも通路231の通行を優先させており、状態出力部G51によって出力される状態情報が示す状態は通常は許可状態に設定される。そのため、通路231を通行する移動体10が走行状態から停止するまでにはある程度の時間がかかる。動作例5では、状態制御部53は、待機エリアZ53に移動体10Bが存在する場合、待機エリアZ53に繋がる区域Z51と、区域Z51の手前の隣接エリアZ52との両方に移動体10が存在しない状態で、状態出力部G52によって出力される状態情報が示す状態を許可状態に変更する。したがって、通路232(待機エリアZ53)に存在する移動体10Bが区域Z51に進入した場合に、通路231に存在する移動体10Aが隣接エリアZ52から区域Z51に進入してくる可能性を低減できる。よって、制御システム50により円滑な通行を実現できる。
(1.3.3.6)動作例6
図11に基づいて制御システム50による移動体10(10A)の通行制御の動作例6を説明する。
図11は、ラウンドアバウト方式の交差点に制御システム50を適用した適用例を示している。図11の例では、移動体10が平面視において反時計回りに通行する環状の通路240に、4本の通路241~244が繋がっている。そして、環状の通路240において、4本の通路241~244がそれぞれ合流するエリアに通行制御モジュールM61~M64が設けられている。
通行制御モジュールM61は、通路240において通路241が合流するエリアに設けられた区域Z61と、区域Z61に対応して設けられた状態出力部G611,G612とを含む。通路240において移動体10は、状態出力部G611によって出力される状態情報に基づいて、区域Z61の外部から内部へ通行するのを許可するか否かを決定する。また、通路241を通行する移動体10は、状態出力部G612によって出力される状態情報に基づいて、区域Z61へ通行するのを許可するか否かを決定する。
通行制御モジュールM62は、通路240において通路242が合流するエリアに設けられた区域Z62と、区域Z62に対応して設けられた状態出力部G621,G622とを含む。通路240を通行する移動体10は、状態出力部G621によって出力される状態情報に基づいて、区域Z62の外部から内部へ通行するのを許可するか否かを決定する。また、通路242を通行する移動体10は、状態出力部G622によって出力される状態情報に基づいて、区域Z62へ通行するのを許可するか否かを決定する。
通行制御モジュールM63は、通路240において通路243が合流するエリアに設けられた区域Z63と、区域Z63に対応して設けられた状態出力部G631,G632とを含む。通路240を通行する移動体10は、状態出力部G631によって出力される状態情報に基づいて、区域Z63の外部から内部へ通行するのを許可するか否かを決定する。また、通路243を通行する移動体10は、状態出力部G632によって出力される状態情報に基づいて、区域Z63へ通行するのを許可するか否かを決定する。
通行制御モジュールM64は、通路240において通路244が合流するエリアに設けられた区域Z64と、区域Z64に対応して設けられた状態出力部G641,G642とを含む。通路240を通行する移動体10は、状態出力部G641によって出力される状態情報に基づいて、区域Z64の外部から内部へ通行するのを許可するか否かを決定する。また、通路244を通行する移動体10は、状態出力部G642によって出力される状態情報に基づいて、区域Z64へ通行するのを許可するか否かを決定する。
また、動作例6では、通路241~244には、それぞれ、通路240と合流するエリアに待機エリアZ65~Z68が設けられており、待機エリアZ65~Z68の位置情報は記憶部62に登録されている。
ここで、制御システム50の検知部52は、移動体10から取得する現在位置情報に基づいて、区域Z61~Z64及び待機エリアZ65~Z68のそれぞれで移動体10が存在するか否かを検知する。そして、状態制御部53が、検知部52の検知結果に基づいて、通行制御モジュールM61~M64が含む状態出力部G611~G641,G612~G642によって出力される状態情報が示す状態を制御(設定)しており、ラウンドアバウト方式の交差点での通行を円滑に制御することができる。
例えば、待機エリアZ65~Z68に移動体10が存在しない状態では、状態制御部53が、状態出力部G611,621,631,G641によって出力される状態情報が示す状態を許可状態、状態出力部G612,622,632,G642によって出力される状態情報が示す状態を不許可状態とする。これにより、通路241~244から通路240に移動体10は進入することができず、通路240を通行する移動体10の通行が優先される。
一方、例えば待機エリアZ65に移動体10Aが存在すると、状態制御部53は、状態出力部G611によって出力される状態情報が示す状態を許可状態から不許可状態に切り替える。その後、所定の待機時間が経過した時点で、状態制御部53は、状態出力部G611によって出力される状態情報が示す状態を不許可状態から許可状態に切り替える。これにより、待機エリアZ241に存在する移動体10Aが通路240へ進入することができる。
(1.3.3.7)動作例7
図12に基づいて制御システム50による移動体10の通行制御の動作例7を説明する。
図12の例では、通路251の一部に区域Z71を設け、区域Z71に対応して状態出力部G71が設けられている。ここで、区域Z71に対応して設けられた状態出力部G71と、区域Z71との間には停止禁止区域252(図12のハッチング部分)が設けられている。停止禁止区域252は、例えば、通路251と交差する別の通路である。状態出力部G71に対して設定される状態情報が不許可状態を示している場合、移動体10を、停止禁止区域252よりも手前の位置で停止させることができ、停止禁止区域252に移動体10が停止する可能性を低減できる。
(1.3.3.8)動作例8
図13に基づいて制御システム50による移動体10の通行制御の動作例8を説明する。
図13は、通路261の途中にすれ違いのための退避路262が設けられている所定エリアA1に制御システム50を適用した適用例を示している。
図13の例では、退避路262の一端が通路261に合流(接続)するエリアに区域Z81が設けられ、区域Z81に対応して状態出力部G81が設けられている。状態出力部G81は、退避路262の一端が通路261と接続する位置に設けられ、退避路262に存在する移動体10Cが通路261に入るのを許可するか否かを決定する。
また、通路261において、退避路262の他端が通路261に合流(接続)するエリアに区域Z82が設けられ、区域Z82に対応して状態出力部G82が設けられている。状態出力部G82は、通路261において退避路262の他端が繋がる位置に設けられ、通路261に存在する移動体10Bが区域Z82に入るのを許可するか否かを決定する。
ここで、制御システム50の検知部52は、区域Z81~Z82のそれぞれで移動体10が存在するか否かを検知する。例えば、区域Z81~Z82に移動体10が存在しない場合、状態制御部53は、状態出力部G81,G82によってそれぞれ出力される状態情報が示す状態を許可状態に制御し、移動体10の通行を許可する。一方、区域Z81に移動体10Aが存在する場合、状態制御部53は、状態出力部G81によって出力される状態情報が示す状態を不許可状態に制御し、退避路262に存在する移動体10Cが区域Z81に移動するのを規制する。また、区域Z82に移動体10Dが存在する場合、状態制御部53は、状態出力部G82によって出力される状態情報が示す状態を不許可状態に制御し、通路261内を区域Z82に向かって移動する移動体10Bを状態出力部G82の手前で停止させる。これにより、移動体10Dは、移動体10Bによって通行が妨げられることなく、退避路262に移動することができる。
このように、状態制御部53が、検知部52の検知結果に基づいて、状態出力部G81,G82によって出力される状態情報が示す状態を制御しており、移動体10が円滑にすれ違い通行を行えるように制御することができる。
(1.3.3.9)動作例9
図14に基づいて制御システム50による移動体10の通行制御の動作例9を説明する。
図14は、所定エリアA1において、移動体10の充電スペースSP1,SP2の手前に設けられた待機エリアに通行制御モジュールM91が設けられている。ここで、通行制御モジュールM91は、待機エリアに設けられた区域Z91と、区域Z91に対応して設けられた状態出力部G91を含む。状態出力部G91によって出力される状態情報は、区域Z91に繋がる通路271から区域Z91に移動体10が入るのを許可する許可状態であるか不許可状態であるかを示す情報である。
制御システム50の検知部52は、区域Z91及び充電スペースSP1,SP2に移動体10が存在するか否かを検知する。
制御システム50の状態制御部53は、検知部52の検知結果に基づいて、状態出力部G91によって出力される状態情報が示す状態を許可状態及び不許可状態のいずれかに制御する。
例えば、区域Z91に移動体10が存在する場合、又は充電スペースSP1,SP2の両方に移動体10が存在する場合、状態制御部53は、状態出力部G91によって出力される状態情報が示す状態を不許可状態に制御し、移動体10を状態出力部G91の手前で停止させる。
一方、区域Z91に移動体10が存在せず、かつ、充電スペースSP1,SP2の少なくとも一方に移動体10が存在しない場合、状態制御部53は、状態出力部G91によって出力される状態情報が示す状態を許可状態に制御し、移動体10を区域Z91内に進入させる。
ここで、区域Z91には、移動体10の停止位置を示すノードND1,ND2が設定されている。充電スペースSP1,SP2には充電器301,302が設置されており、充電スペースSP1,SP2には移動体10の停止位置を示すノードND3,ND4が設定されている。移動体10は、各ノードND1~ND4の位置情報及び充電器301,302の設置位置に関する位置情報を記憶部32に記憶している。
ここで、状態出力部G91によって出力される状態情報が示す状態が許可状態となり、移動体10が区域Z91内に移動すると、移動体10はノードND1,ND2のうち、移動体10が存在していない充電スペースに対応したノードの位置で停止する。移動体10が、例えばノードND1で停止すると、移動体10はノードND1から充電スペースSP1内のノードND3に移動し、その後、充電器301と接続して充電される。移動体10は、充電が完了すると充電器301から離脱してノードND3に移動し、ノードND3からノードND1に移動する。その後、移動体10は区域Z91の外に出て、所定エリアA1内の所望の位置に移動する。
(1.4)変形例
上記の実施形態1は、本開示の様々な実施形態の一つに過ぎない。上記実施形態1は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、制御システム50と同様の機能は、制御システム50の制御方法、コンピュータプログラム、又はプログラムを記録した非一時的な記録媒体等で具現化されてもよい。一態様に係る制御システム50の制御方法は、所定エリアA1内を移動する移動体10の通行を制御する。制御方法は、第1の設定処理と、第2の設定処理と、制御処理とを含む。第1の設定処理は、移動体10が移動する所定エリアA1の一部に区域Z1を設定する処理である。第2の設定処理は、区域Z1に対応して、状態情報を出力するための状態出力部G1を設ける処理である。状態情報は、第1方向D1、及び、第2方向D2の少なくとも一方で、移動体10の通行を許可する許可状態であるか移動体10の通行を不許可とする不許可状態であるかを示す情報である。第1方向D1は、移動体10が区域Z1の外部から内部に移動する方向である。第2方向D2は、移動体10が区域Z1の内部から外部に移動する方向である。制御処理では、状態出力部G1によって出力される状態情報が示す状態を許可状態又は不許可状態に制御する。一態様に係る(コンピュータ)プログラムは、コンピュータシステムに、状態出力部G1によって出力される状態情報が示す状態を許可状態又は不許可状態に制御する処理を実行させるためのプログラムである。
以下、実施形態1の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。以下では、上記実施形態1を「基本例」と呼ぶこともある。
本開示における制御システム50は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示における制御システム50としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1ないし複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。さらに、LSIの製造後にプログラムされる、FPGA(Field-Programmable Gate Array)、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1ないし複数の電子回路で構成される。
また、制御システム50における複数の機能が、1つの筐体内に集約されていることは制御システム50に必須の構成ではなく、制御システム50の構成要素は、複数の筐体に分散して設けられていてもよい。さらに、制御システム50の少なくとも一部の機能、例えば、状態制御部53等の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
通行制御モジュールM1は、所定エリアA1内の所望の位置に設けられた実体を有するものでもよい。この場合、制御システム50は、所定エリアA1に配置される通行制御モジュールM1を備え、通行制御モジュールM1の状態出力部G1によって出力される状態情報が示す状態を許可状態又は不許可状態に制御する。ここで、通行制御モジュールM1の状態出力部G1は、状態情報を光、音、及び電波のいずれかで出力すればよく、移動体10は、状態出力部G1から光、音、及び電波のいずれかで出力される状態情報を直接取得し、状態情報に基づいて移動するか停止するかを決定する。
状態出力部G1は、実空間において、所定エリアA1に設けられる区域Z1に対応する位置に設けられ、第1方向及び第2方向の少なくとも一方で、許可状態であるか不許可状態であるかを示す状態情報を、光、音、又は電波信号等により移動体10に直接出力してもよい。
また、状態制御部53は、移動体10が移動する目的(例えば、移動体10が搬送する荷物の種類等)に応じて、状態出力部G1が出力する状態情報が示す状態を制御してもよい。例えば、移動体10が搬送する荷物を目的地までより早く届けたい場合には、状態制御部53は、状態出力部G1が出力する状態情報が示す状態を許可状態に制御して、優先的に通行させてもよい。
基本例では、状態出力部G1によって出力される状態情報は、第1方向D1において移動体10の移動を許可するか否かを示しているが、第2方向D2において移動体10の移動を許可するか否かを示すものでもよい。また、状態出力部G1によって出力される状態情報は、第1方向D1と第2方向D2の両方で、移動体10の移動を許可するか否かを示すものでもよい。
基本例では、移動体10がパレット40を搬送しているが、移動体10が搬送する物品はパレット40に限定されず、パレット40以外の物品を運んでもよい。また、移動体10は物品を搬送する搬送装置に限定されず、人を運ぶ移動体でもよい。また、移動体10は所定エリアA1を走行する搬送車であるが、移動体10は、船舶(自律走行船)又は航空機(ドローン)でもよい。移動体10が自律航行船である場合、自律航行船が航行する水域が所定エリアA1になり、移動体10がドローンである場合、ドローンが飛行する空間が所定エリアA1になる。
(実施形態2)
(2.1)概要
本実施形態に係る制御システム50は、図15に示すように、取得部54と、対価発生部55と、を備えている。取得部54は、所定エリアA1における複数台の移動体10の動作に関する動作情報を取得する。対価発生部55は、取得部54で取得した動作情報に基づいて、複数台の移動体10のいずれかに対するインセンティブ又はペナルティの少なくとも一方からなる対価を発生する。制御システム50は、所定エリアA1内を移動する複数台の移動体10を制御する。
本開示でいう「対価」は、複数台の移動体10の各々に対して発生するインセンティブ又はペナルティである。「対価」は、例えば、金銭(クレジット及び仮想通貨等を含む)、ポイント(点数)、物品、又は移動体10のメンテナンス等のサービスを含む特典等で実現される。
以上説明した制御システム50によれば、複数台の移動体10の動作に関する動作情報に基づいて、複数台の移動体10のいずれかに対する対価が発生する。そのため、移動体10においては、ある特定の動作をすることについてモチベーション(動機付け)が与えられる。例えば、複数台の移動体10の間で互いの移動に干渉が生じ得るような場合に、干渉を回避するような経路の変更を含む動作について、対価としてインセンティブが発生することとする。そうすると、干渉を生じ得る移動体10のうち少なくとも1つにあっては、干渉を回避するような経路の変更を含む動作を積極的に採用することで、経路の変更を含む動作が特定の移動体10に集中しにくくなる。結果的に、複数台の移動体10間で作業効率の不平等が生じにくい、という利点がある。
(2.2)詳細
以下、本実施形態に係る制御システム50及び移動体システム1の構成について、図1及び図15を参照して、詳細に説明する。以下の説明において、実施形態1と共通する構成要素には、同一の符号を付して、その説明を省略する。
本実施形態の移動体システム1は、図15に示すように、制御システム50と、複数台の移動体10と、を備えている。制御システム50は、上位システム51Aを有している。複数台の移動体10の各々は、下位システム21Aを有している。ここで、上位システム51A等の「上位」、及び下位システム21A等の「下位」は、単に、両者を区別するためのラベルとして用いているのであって、各々の地位及び順位等を特定する意味ではない。
本実施形態では、上位システム51A及び下位システム21Aの各々は、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。すなわち、コンピュータシステムのメモリに記録されたプログラムを、プロセッサが実行することにより、上位システム51A及び下位システム21Aの各々の機能が実現される。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
制御システム50に含まれる上位システム51Aは、複数台の移動体10を統括的に制御するためのシステムである。一方、移動体10に含まれる下位システム21Aは、上位システム51Aからの指示に従って、個々の移動体10を実際に制御するためのシステムである。言い換えれば、制御システム50は、上位システム51Aから各移動体10の下位システム21Aに指示を出すことで、複数台の移動体10を間接的に制御する。
本実施形態に係る制御システム50は、例えばサーバ装置で実現されており、図15に示すように、上位システム51Aと、通信部61と、記憶部62と、を備えている。通信部61及び記憶部62は実施形態1と共通の構成を有しているので、その説明は省略する。
上位システム51Aは、検知部52と、状態制御部53と、取得部54と、対価発生部55と、協調制御部56と、を有している。
上位システム51Aは、例えば、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。すなわち、コンピュータシステムのメモリに記録されたプログラムを、プロセッサが実行することにより、上位システム51Aの機能(例えば、検知部52、状態制御部53、取得部54、対価発生部55及び協調制御部56等の機能)が実現される。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。ここにおいて、検知部52及び状態制御部53は実施形態1と共通の構成を有しているので、その説明は省略する。
取得部54は、所定エリアA1における複数台の移動体10の動作に関する動作情報を取得する。本開示でいう「動作情報」は、移動体10の動作に関する全般を含み、例えば、所定エリアA1内での移動体10の現在位置を示す現在位置情報、及び移動体10の移動速度及び移動方向等の情報を含む。取得部54は、動作情報を、通信部61を介して、移動体10から取得してもよいし、上位システム51A内にて取得してもよい。すなわち、上位システム51Aは、移動体10の制御に係る情報を扱っているので、上位システム51A内で扱われている情報にも、移動体10の動作に関する情報(動作情報)が含まれている。例えば、状態制御部53がいずれかの移動体10(優先移動体)について、後述の優先制御を行う場合には、状態出力部G1によって移動体10(優先移動体)が優先制御されることになる。このような場合に、状態制御部53で扱われる情報、つまり状態制御部53がいずれかの移動体10(優先移動体)について優先制御を行う際に使用する情報は、移動体10(優先移動体)の動作に関する動作情報となる。優先制御について詳しくは「(2.3.3)優先制御」の欄で説明する。
対価発生部55は、取得部54で取得した動作情報に基づいて、複数台の移動体10のいずれかに対する対価を発生する。本開示でいう「対価」は、上述したように、インセンティブ又はペナルティの少なくとも一方からなる。対価発生部55について詳しくは「(2.3.1)対価の発生」の欄で説明する。
協調制御部56は、協調制御を実行する。協調制御は、複数台の移動体10のうちの1台の移動体10を対象移動体とし、複数台の移動体10のうち対象移動体以外の協力移動体を制御することで、対象移動体の進路を確保する制御である。ここで、協調制御部56における協力移動体の制御は、協力移動体の移動及び停止のいずれも含む。すなわち、協調制御部56が協調制御を行うことで、例えば、協力移動体としての移動体10を通路100の端に停車させ、その間に、対象移動体としての移動体10が協力移動体を追い抜くように対象移動体としての移動体10を制御することができる。協調制御について詳しくは「(2.3.2)協調制御」の欄で説明する。
次に、本実施形態で例示する移動体10の構成についてより詳細に説明する。
移動体10は、図15に示すように、下位システム21Aと、通信部31と、記憶部32と、位置検知部33と、走行装置34と、報知部35と、を備える。移動体10の下位システム21A、通信部31、記憶部32、位置検知部33、走行装置34、及び報知部35は本体部11に搭載されている。通信部31、記憶部32、位置検知部33、及び走行装置34は実施形態1と共通の構成を有しているので、通信部31、記憶部32、位置検知部33、及び走行装置34の説明は省略する。
報知部35は、音及び/又は表示(光を含む)等による報知を行う。これにより、報知部35は、移動体10の周囲の人(作業者等)に対して、報知を行うことが可能である。本実施形態では、報知部35は、少なくとも協調制御に際して報知を行う。
下位システム21Aは、経路取得部22と、状態情報取得部24と、走行制御部23と、要求生成部25と、を有している。
下位システム21Aは、例えば、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。すなわち、コンピュータシステムのメモリに記録されたプログラムを、プロセッサが実行することにより、下位システム21Aの機能(例えば、経路取得部22、状態情報取得部24、走行制御部23及び要求生成部25等の機能)が実現される。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。経路取得部22、状態情報取得部24、及び走行制御部23は実施形態1と共通の構成を有しているので、経路取得部22、状態情報取得部24、及び走行制御部23の説明は省略する。
要求生成部25は、協調制御を開始するための要求(協調要求)を生成し、制御システム50に対して送信する。
(2.3)動作
以下、本実施形態に係る制御システム50及び制御システム50の制御対象である移動体10の動作について図16~図21を参照して、詳細に説明する。以下では実施形態1と共通する動作説明は省略し、本実施形態の特徴部分の動作について説明する。
(2.3.1)対価の発生
次に、制御システム50の動作のうち、対価発生部55の動作、つまり取得部54で取得した動作情報に基づいて、複数台の移動体10のいずれかに対する対価を発生する対価発生処理について詳しく説明する。
本開示でいう「対価」は、上述したように、複数台の移動体10の各々に対して発生するインセンティブ又はペナルティである。「対価」は、例えば、金銭(クレジット及び仮想通貨等を含む)、ポイント(点数)、物品、又は移動体10のメンテナンス等のサービスを含む特典等で実現される。一例として、対価としてのインセンティブの給付又はペナルティの受領は、制御システム50の所有者等が行い、インセンティブの受領又はペナルティの支払いは、移動体10の所有者等が行う。対価の精算(給付及び受領)は、移動体10による作業が完了する度に行われてもよいし、所定の算定期間(例えば、1ヵ月)ごとに行われてもよい。
本実施形態では、対価は様々な状況で発生し得る。そこで、以下では、制御システム50の協調制御時、優先制御時、及びその他の状況のそれぞれについて、対価発生部55の動作を説明する。
(2.3.2)協調制御
まず、協調制御時における対価発生部55の動作(対価発生処理)について、図16~図17Cを参照して説明する。
図16は、所定エリアA1の一部の領域の模式的な平面図である。図16の例において、所定エリアA1は、作業エリアA11と通路エリアA12と通路エリアA13と待機エリアA14とを含んでいる。ここで、作業エリアA11は、移動体10による作業が行われるエリアであって、作業エリアA11には、複数の搬送対象物40が配置されている。通路エリアA12,A13は、作業エリアA11と他のエリアとの間をつなぐ通路となるエリアである。移動体10は、例えば、作業(搬送対象物40の搬送作業)を行うに際して、作業エリアA11内で搬送対象物40をピックアップし、通路エリアA12又は通路エリアA13を通って、所定エリアA1内での搬送対象物40の搬送を行う。
待機エリアA14は、移動体10が作業エリアA11での作業(搬送作業)待ちのために待機するエリアである。ここで、待機エリアA14は、複数台の移動体10が環状に並んで待機できるように、ロータリ形状の通路を構成する。これにより、待機エリアA14においては、複数台の移動体10が一列に並んで待機することが可能である。図16の例では、6台の移動体10が、作業エリアA11での作業待ちのための待機列を成して待機している。この状態において、作業エリアA11での新規の作業が発生した場合には、複数台(ここでは6台)の移動体10のうち、待機列の先頭に位置する移動体10が、作業を実行する。つまり、待機列の先頭に位置する移動体10は、作業エリアA11に進入して搬送対象物40をピックアップし、搬送対象物40の搬送を行う。
上述したような待機エリアA14に位置する移動体10を対象として協調制御を実行する場合について、図17A~図17Cを参照して説明する。図17A~図17Cは、図16の例における待機エリアA14(及びその周辺)の領域のみを示す模式的な平面図である。図17Aの例では、6台の移動体10A~10Fが待機エリアA14に待機列を成している。6台の移動体10A~10Fを特に区別しない場合、6台の移動体10A~10Fの各々を単に「移動体10」ともいう。
ここでは、図17Aに示すような待機列が構成されている状況において、待機列の途中に位置する移動体10Cが待機列から抜ける場合を想定する。待機列の途中に位置する移動体10Cが待機列から抜けるためには、この移動体10Cの進路上に位置する他の移動体10A,10Bが、移動体10Cのために進路を空ける必要がある。このような場合において、本実施形態に係る制御システム50は、協調制御を実行する。
協調制御は、上述したように、複数台の移動体10のうちの1台の移動体10を対象移動体とし、複数台の移動体10のうち対象移動体以外の協力移動体を制御することで、対象移動体の進路を確保する制御である。ここでは、移動体10Cが「対象移動体」であり、それ以外の移動体10A,10B,10D,10E,10Fが「協力移動体」である。
このような状況において、協調制御部56は、協調制御を実行することにより、協力移動体としての移動体10A,10B,10D,10E,10Fを制御することで、対象移動体としての移動体10Cの進路を確保する。すなわち、協調制御は、対象移動体の移動に際して、協力移動体の協力を仰ぐことで、対象移動体をスムーズに移動させる制御である。
本実施形態では、協調制御部56は、対象移動体からの要求に応じて、協調制御を実行する。具体的には、下位システム21Aの要求生成部25が、制御システム50に対して協調要求を出力することにより、協調制御部56が協調制御を開始する。移動体10(対象移動体)からの要求は、移動体10の制御を司る下位システム21Aからの要求を含む。つまり、下位システム21Aが移動体10と別体である場合においても、移動体10を配下に持つ下位システム21Aからの要求は、移動体10からの要求とみなされる。
そのため、図17Aの例では、対象移動体としての移動体10Cからの要求があって初めて、協調制御が開始することになる。よって、対象移動体としての移動体10Cは、例えば、待機列から抜ける必要が生じた場合に、要求(協調要求)を出力する。待機列から抜ける必要が生じた場合の例として、蓄電池の残容量が低下し、所定エリアA1内に設定されている充電スペースに移動する必要が生じた場合、及び、所定エリアA1内の作業エリアA11以外での作業が発生した場合等がある。
また、本実施形態では、協調制御部56は、協調制御に際して対象移動体の周囲に報知する。すなわち、協調制御部56は、協調制御を行う場合には、対象移動体の周囲の人(作業者等)に、対象移動体及び協力移動体の移動が始まることを知らせるため、音及び/又は表示(光を含む)等により、報知を行う。具体的には、協調制御部56は、対象移動体に報知信号を送信することにより、対象移動体の報知部35に、音及び/又は表示等による報知を行わせる。これにより、例えば、対象移動体の進路上に、障害物が放置されているような場合等において、対象移動体の周囲の人に、障害物の撤去を促すことが可能である。
図17Aの例では、対象移動体としての移動体10Cが、音(クラクション)による報知を行う。対象移動体としての移動体10Cは、協調制御部56からの報知信号を待たずに、例えば、協調要求を出力するのと同時に、報知を開始してもよい。
また、協調制御部56は、複数台の移動体10のうち、所定エリアA1における対象移動体の進路に関連する領域に存在する移動体10のみを協力移動体とする。すなわち、所定エリアA1に存在する対象移動体以外の全ての移動体10を協力移動体とすると、対象移動体の移動に一切関係ない移動体10にまで、協力移動体として協調制御を強いることになる。そこで、本実施形態では、対象移動体の進路に関連する領域に存在する移動体10に絞って、協力移動体とすることで、無関係な移動体10に協調制御を強いることを回避している。対象移動体の進路に関連する領域は、対象移動体の進路だけでなく、いずれかの協力移動体の進路のように、対象移動体の進路に間接的に関連する領域も含む。
図17Aの例では、対象移動体としての移動体10Cの進路に関連する領域は、待機エリアA14である。そのため、協調制御部56は、待機エリアA14に位置する複数の移動体10A~10Fのうち、移動体10C(対象移動体)以外の移動体10A,10B,10D,10E,10Fを「協力移動体」とする。
そして、協調制御部56は、対象移動体の進路上に位置する協力移動体を移動させることで、対象移動体の進路を確保する。すなわち、協調制御部56は、対象移動体の進路上の協力移動体を、対象移動体の進路上から退避するように移動させることで、対象移動体の進路を空ける。言い換えれば、協調制御では、協力移動体が、対象移動体に道を譲ることにより、対象移動体の進路が確保され、対象移動体が進路上を移動可能となる。
図17Aの例では、対象移動体としての移動体10Cの進路上、つまり移動体10Cの前方には、協力移動体としての移動体10A,10Bが位置している。そこで、協調制御が開始すると、図17Bに示すように、協力移動体としての移動体10A,10Bが移動を開始する。これにより、対象移動体としての移動体10Cは、待機エリアA14から通路エリアA12へと移動可能となる。さらに、本実施形態では、協調制御部56は、協力移動体としての移動体10D,10E,10Fについては、移動体10Bに追従するように移動させる。
その後、協力移動体としての移動体10A,10B,10D,10E,10Fは、図17Cに示すように、ロータリ形状の通路を構成している待機エリアA14を、一巡(1周)するように移動する。これにより、少なくとも待機列の先頭に位置する移動体10Aにおいては、協調制御後において、待機列の先頭に戻ることになる。すなわち、本実施形態では、協調制御部56は、対象移動体の進路を確保して対象移動体の移動が完了した後に、協力移動体を協調制御の前の位置に移動させる。これにより、協調制御の前後において、待機列に並ぶ複数台の移動体10の順番が大きく変わることを回避できる。図17Cの例では、移動体10Cが抜けたことで、移動体10D,10E,10Fは、移動体10Cの分だけ待機列の前方(移動体10B側)に詰めている。
以上説明したような協調制御により、待機列の途中に位置する移動体10Cは、待機列から抜けることが可能である。
ところで、本実施形態に係る制御システム50では、対価発生部55は、協調制御が実行される場合に、対象移動体と協力移動体との少なくとも一方に対する対価を発生する。すなわち、上述した例では、対象移動体としての移動体10C、及び協力移動体としての移動体10A,10B,10D,10E,10Fの少なくとも一方に対して、対価が発生することになる。
本実施形態では、対価発生部55は、協調制御が実行される場合に、対象移動体に対して対価としてペナルティを発生する。つまり、図17A~図17Cの例では、対象移動体としての移動体10Cに対して、対価としてペナルティが発生することになる。要するに、協調制御においては、対象移動体を移動可能とするために、対象移動体以外の移動体10(協力移動体)の協力を仰ぐ必要があり、協力移動体の機会損失等につながる可能性がある。そこで、移動体10が無暗に対象移動体として協調制御を利用することを抑制するため、対象移動体となる移動体10については、ペナルティを課すことが好ましい。
一方で、対価発生部55は、協調制御が実行される場合に、協力移動体に対して対価としてインセンティブを発生する。つまり、図17A~図17Cの例では、協力移動体としての移動体10A,10B,10D,10E,10Fに対して、対価としてインセンティブが発生する。要するに、協調制御においては、対象移動体を移動可能とするために、対象移動体以外の移動体10(協力移動体)の協力を仰ぐ必要があり、協力移動体の機会損失等につながる可能性がある。そこで、協力移動体となる移動体10には、協調制御による不利益を補填するため、インセンティブを支払うことが好ましい。
また、対象移動体に対する対価として発生するペナルティと、協力移動体に対する対価として発生するインセンティブとは、互いに釣り合っていてもよい。これにより、1回の協調制御に伴って生じるペナルティとインセンティブとを、互いに相殺させることが可能である。
図18は、図17A~図17Cに示す協調制御を、対価発生部55の動作も含めて表す模式的なシーケンス図である。
すなわち、図18に示すように、対象移動体としての移動体10Cから制御システム50に対して、協調要求(S21)が出力されることにより、協調制御が開始する。制御システム50は、協調要求を受けると、協力移動体としての移動体10A,10B,10D,10E,10Fに対して移動指示(S22)を出力する。協力移動体としての移動体10A,10B,10D,10E,10Fは、移動指示に対して承諾した上で、移動を開始する。制御システム50は、協力移動体としての移動体10A,10B,10D,10E,10Fから移動指示に対する返信があると、対象移動体としての移動体10Cに結果通知(S23)を出力する。
ここでいう「結果通知」は、協調要求に対する結果の通知であって、対象移動体からの協調要求が、協力移動体に受け入れられた(承諾された)か否かを示す通知である。制御システム50は、協力移動体から移動指示を承諾する旨の返信を受けると、対象移動体からの協調要求が協力移動体に受け入れられたと判断し、対象移動体に、要求承諾を示す結果通知を出力する。反対に、協力移動体から移動指示を拒否する旨の返信を受けると、制御システム50は、対象移動体からの協調要求が協力移動体に受け入れられなかったと判断し、対象移動体に、要求拒否を示す結果通知を出力する。対象移動体としての移動体10Cは、要求承諾を示す結果通知を受けると、移動を開始する。
ここまでの一連の処理により、協調制御が実現される。そして、協調要求が承諾された場合には、制御システム50は、対象移動体としての移動体10Cに対しては、対価としてのペナルティ(S24)を発生する。また、制御システム50は、協力移動体としての移動体10A,10B,10D,10E,10Fに対しては、対価としてのインセンティブ(S25)を発生する。
(2.3.3)優先制御
次に、優先制御時における対価発生部55の動作(対価発生処理)について、図19を参照して説明する。
図19は、所定エリアA1の一部の領域の模式的な平面図である。図19の例において、所定エリアA1は、幹線エリアA21と複数の支線エリアA22~A27とを含んでいる。ここで、幹線エリアA21は、移動体10が通行するための通路となるエリアであって、図19の例では、左右方向に延びる直線状のエリアである。複数の支線エリアA22~A27は、いずれも移動体10が通行するための通路となるエリアであって、幹線エリアA21につながっている。図19の例では、複数の支線エリアA22~A27は、いずれも上下方向に延びる直線状のエリアである。
図19の例では、所定エリアA1において、幹線エリアA21と一対の支線エリアA22,A23とが交差するエリアを区域Z31とし、この区域Z31に3つの状態出力部G1が設けられている。同様に、所定エリアA1において、幹線エリアA21と一対の支線エリアA24,A25とが交差するエリアを区域Z32とし、この区域Z32に3つの状態出力部G1が設けられている。同様に、所定エリアA1において、幹線エリアA21と一対の支線エリアA26,A27とが交差するエリアを区域Z33とし、この区域Z33に3つの状態出力部G1が設けられている。この例では、制御システム50の状態制御部53は、各区域Z31~Z33に対応して設けられた3つの状態出力部G1に対応する状態情報の状態をそれぞれ制御する。図19では、状態情報が許可状態にある状態出力部G1を、「〇印」を付した実線のベクトルB1で表記し、状態情報が不許可状態にある状態出力部G1を、「×印」を付した点線のベクトルB1で表記する。
上述したような所定エリアA1に位置する移動体10を対象として優先制御を実行する場合について、図19を参照して説明する。図19の例では、所定エリアA1内に4台の移動体10A~10Dが存在している。4台の移動体10A~10Dを特に区別しない場合、4台の移動体10A~10Dの各々を単に「移動体10」ともいう。
優先制御は、複数台の移動体10のうちの1台の移動体10を優先移動体とし、優先移動体の進路上の状態出力部G1が出力する状態情報の状態を優先的に許可状態とすることで、優先移動体の進路を確保する制御である。すなわち、状態制御部53は、複数台の移動体10のうちの1台である優先移動体の進路上の状態出力部G1が出力する状態情報の状態を優先的に許可状態とする優先制御を実行する。ここでは、4台の移動体10A~10Dのうち、幹線エリアA21を走行中の移動体10Aが「優先移動体」である場合を例示する。
この場合において、状態制御部53は、優先移動体としての移動体10Aの進路上の状態出力部G1、つまり幹線エリアA21上の状態出力部G1が出力する状態情報の状態を優先的に許可状態とする。言い換えれば、複数の支線エリアA22~A27から幹線エリアA21への進入を制御する状態出力部G1に対して、幹線エリアA21上の状態出力部G1を優先的に許可状態とする。具体的には、状態制御部53は、複数の支線エリアA22~A27から幹線エリアA21への進入を制御する状態出力部G1が出力する状態情報の状態は、いずれも不許可状態とし、幹線エリアA21上の状態出力部G1が出力する状態情報の状態を許可状態とする。これにより、図19に示すように、幹線エリアA21上の状態出力部G1は全て許可状態となり、複数の支線エリアA22~A27上の状態出力部G1は全て不許可状態となる。
上述したような優先制御が実行されることにより、優先移動体としての移動体10Aの進路上の状態出力部G1が出力する状態情報の状態は全て許可状態であるため、移動体10Aは止まることなく幹線エリアA21を通行できる。一方、複数の支線エリアA22~A27から幹線エリアA21への進入を制御する状態出力部G1が出力する状態情報の状態は全て不許可状態であるので、優先移動体以外の移動体10B~10Dにおいては、複数の支線エリアA22~A27から幹線エリアA21への進入が制限される。結果的に、優先移動体としての移動体10Aの進路上の信号機が全て「青信号」であるかのように、優先移動体としての移動体10Aの通行が、優先移動体以外の移動体10B~10Dの通行に対して優先される。
以上説明したような優先制御により、幹線エリアA21を走行中の移動体10Aは、幹線エリアA21を優先的に通行可能である。また、優先制御についても、協調制御と同様に、優先移動体からの要求(優先要求)に応じて、優先制御が開始することが好ましい。
ところで、本実施形態に係る制御システム50では、対価発生部55は、優先制御が実行される場合に、優先移動体に対する対価としてペナルティを発生する。すなわち、図19の例では、優先移動体としての移動体10Aに対して、ペナルティが発生することになる。要するに、優先制御においては、優先移動体を優先的に移動可能とするために、状態出力部G1が不公平に操作され、優先移動体以外の移動体10の機会損失等につながる可能性がある。そこで、移動体10が無暗に優先移動体として優先制御を利用することを抑制するため、優先移動体となる移動体10については、ペナルティを課すことが好ましい。
また、対価発生部55は、優先制御が実行される場合に、優先移動体以外の移動体10に対して対価としてインセンティブを発生してもよい。つまり、図19の例では、移動体10B~10Dに対して、対価としてインセンティブが発生してもよい。さらに、優先移動体に対する対価として発生するペナルティと、優先移動体以外の移動体10に対する対価として発生するインセンティブとは、互いに釣り合っていてもよい。これにより、1回の優先制御に伴って生じるペナルティとインセンティブとを、互いに相殺させることが可能である。
(2.3.4)その他
次に、協調制御及び優先制御以外の状況における対価発生部55の動作(対価発生処理)について説明する。
1つ目の例として、対価発生部55は、複数台の移動体10の各々について、状態情報の遵守状況に応じて対価を発生する。すなわち、移動体10が状態出力部G1に対応する状態情報に従って動作しているか否かによって、対価が発生する。一例として、状態出力部G1の状態情報が不許可状態であるのに、移動体10が、状態出力部G1が設けられている位置の手前で停止しなかった場合には、この移動体10に対し、対価としてのペナルティの対象となる。つまり、状態出力部G1の指示に違反した移動体10については、他の移動体10との衝突等のリスクが高いため、この是正を促すためにペナルティを課すことが好ましい。反対に、一定期間にわたって状態出力部G1の指示を遵守し続けているような移動体10に対しては、対価としてのインセンティブが発生してもよい。つまり、状態情報を遵守する優良な移動体10に対しては、他の移動体10の見本とするべくインセンティブを支払うことが好ましい。
2つ目の例として、対価発生部55は、複数台の移動体10の各々について、特定区間A31(図20参照)への進入と引き換えに対価を発生する。本実施形態では、図20に示すように、所定エリアA1は特定区間A31を含んでいる。図20の例では、所定エリアA1は、特定区間A31に加えて、通常区間A32、及び支線エリアA33を含んでいる。ここで、特定区間A31及び通常区間A32は、いずれも移動体10が通行するための通路となるエリアであって、図20の例では、左右方向に延びる直線状のエリアである。支線エリアA33は、移動体10が通行するための通路となるエリアであって、通常区間A32につながっている。図20の例では、支線エリアA33は、上下方向に延びる直線状のエリアである。
図20の例では、所定エリアA1において、通常区間A32と支線エリアA33とが交差するエリアを区域Z21とし、この区域Z21に2つの状態出力部G21,G22が設けられている。この例では、制御システム50の状態制御部53は、区域Z21に対応して設けられた2つの状態出力部G21,G22が出力する状態情報の状態をそれぞれ制御する。図20の例では、特定区間A31内に1台の移動体10Aが存在し、通常区間A32内に1台の移動体10Bが存在する。2台の移動体10A,10Bを特に区別しない場合、2台の移動体10A,10Bの各々を単に「移動体10」ともいう。
すなわち、図20の例では、特定区間A31は、状態出力部G21,G22が存在しないエリアである。そのため、移動体10Aは止まることなく特定区間A31を通行できる。このような特定区間A31は、高速道路(又は自動車専用道路)に相当する。結果的に、特定区間A31を通行する移動体10Aは、通常区間A32を走行する移動体10Bに比べて、目的地に早く到達可能である。
そこで、図20の例では、特定区間A31への進入と引き換えに、移動体10Aに対して、対価としてのペナルティが発生する。これにより、移動体10が無暗に特定区間A31を利用することを抑制でき、複数の移動体10間での公平を担保できる。また、反対に、特定区間A31への進入と引き換えに、移動体10Aに対して、対価としてインセンティブが発生してもよい。
3つ目の例として、対価発生部55は、複数台の移動体10の各々について、エネルギの補給と引き換えに対価を発生する。具体的には、エネルギの補給を行う移動体10に対しては、対価発生部55は、対価としてペナルティを発生する。本実施形態では、移動体10は、蓄電池を備え、蓄電池に蓄積された電気エネルギを用いて動作する。そのため、移動体10に補給されるエネルギは、電気エネルギである。つまり、蓄電池の充電が、エネルギの補給に相当する。ここで、移動体10は、所定エリアA1内に設定されている充電スペースにおいて、いつでも蓄電池の充電が可能である。ただし、移動体10が無暗に充電スペースすることを抑制するため、エネルギの補給を行う移動体10については、エネルギの補給と引き換えに対価としてペナルティを課すことが好ましい。
4つ目の例として、対価発生部55は、複数台の移動体10の各々について、搬送する搬送対象物40に応じて対価を発生する。つまり、本実施形態では、上述したように、複数台の移動体10の各々は、搬送対象物40を搬送する搬送機能を有している。具体的には、搬送対象物40の大きさ及び重量等に応じて、対価発生部55は、対価としてのインセンティブ又はペナルティを発生する。要するに、搬送対象物40によって、その搬送を行う移動体10に掛かる負荷の大きさも異なり、場合によっては、移動体10の機会損失等につながる可能性もある。一例として、軽量物からなる搬送対象物40を搬送する移動体10には、対価としてペナルティを課し、重量物からなる搬送対象物40を搬送する移動体10には、対価としてインセンティブを支払う。
(2.3.5)フローチャート
図21は、上述した対価を発生するための動作を表すフローチャートである。
図21に示すように、制御システム50は、まず取得部54にて、所定エリアA1における複数台の移動体10の動作に関する動作情報を取得する(S31)。そして、制御システム50は、取得した動作情報に基づいて、対価発生部55にて、複数台の移動体10のいずれかについてペナルティ条件を満たすか否かを判断する(S32)。ペナルティ条件は、対価としてのペナルティの発生対象となるために満たすべき条件である。つまり、協調制御が実行される場合に対象移動体であること、及び優先制御が実行される場合に優先移動体であること等が、ペナルティ条件に含まれる。ペナルティ条件を満たす場合(S32:Yes)、対価発生部55はペナルティを発生する(S33)。
一方、ペナルティ条件を満たさなければ(S32:No)、制御システム50は、取得した動作情報に基づいて、対価発生部55にて、複数台の移動体10のいずれかについてインセンティブ条件を満たすか否かを判断する(S34)。インセンティブ条件は、対価としてのインセンティブの発生対象となるために満たすべき条件である。つまり、協調制御が実行される場合に協力移動体であること、及び優先制御が実行される場合に優先移動体でないこと等が、インセンティブ条件に含まれる。インセンティブ条件を満たす場合(S34:Yes)、対価発生部55はインセンティブを発生する(S35)。
対価発生部55は、ペナルティを発生(S33)、又はインセンティブを発生(S35)すると、対価の更新を実行する(S36)。これにより、移動体10について、対価としてのペナルティ又はインセンティブが反映される。
対価の更新が完了するか、インセンティブ条件を満たさなければ(S34:No)、制御システム50は、対価を発生するための動作を終了する。制御システム50は、上記処理S31~S36を繰り返し実行する。
図21に示すフローチャートは、本実施形態に係る制御システム50の動作の一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
(2.4)変形例
実施形態2は、本開示の様々な実施形態の一つに過ぎない。実施形態2は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、制御システム50と同様の機能は、制御方法、(コンピュータ)プログラム、又はプログラムを記録した非一時的な記録媒体等で具現化されてもよい。一態様に係る制御方法は、所定エリアA1内を移動する複数台の移動体10を制御する制御方法であって、取得処理(図21の「S31」に相当)と、対価発生処理(図21の「S33」、「S35」に相当)と、を有する。取得処理は、所定エリアA1における複数台の移動体10の動作に関する動作情報を取得する処理である。対価発生処理は、取得処理で取得した動作情報に基づいて、複数台の移動体10のいずれかに対するインセンティブ又はペナルティの少なくとも一方からなる対価を発生する処理である。一態様に係るプログラムは、上記制御方法を、1以上のプロセッサに実行させるためのプログラムである。
以下、実施形態2の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
本実施形態における制御システム50は、実施形態1と同様、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本実施形態における制御システム50としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。
また、制御システム50における複数の機能が、1つの筐体内に集約されていることは制御システム50に必須の構成ではなく、制御システム50の構成要素は、複数の筐体に分散して設けられていてもよい。下位システム21Aは移動体10と別体であってもよい。さらに、制御システム50の少なくとも一部の機能、例えば、状態制御部53の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
また、実施形態2では、協調制御において、協力移動体を移動させる場合を例示したが、協調制御はこのような制御に限らない。例えば、協調制御においては、協力移動体を路肩に停止させることで、対象移動体の進路を確保してもよい。
(実施形態3)
本実施形態に係る制御システム50Aは、図22に示すように、状態制御部53(図15参照)を備えない点で、実施形態2に係る制御システム50と相違する。以下、実施形態2と同様の構成については、共通の符号を付して適宜説明を省略する。
本実施形態では、通行制御モジュールM1(区域Z1及び状態出力部G1を含む)が存在しない。そのため、下位システム21Aには、状態情報取得部24(図15参照)が存在しない。
また、本実施形態に係る制御システム50Aは、上位システム51Aに作業生成部57を有している。作業生成部57は、移動体10に実行させる作業の内容に関する作業情報を生成する。
本実施形態では、上位システム51Aは、下位システム21Aから出力された要求(作業要求)に対して、許可を与えるか否かを判定する。下位システム21Aは、要求(作業要求)について許可が与えられた場合に、要求に対応する作業を配下の移動体10に実行させる。作業要求は、要求生成部25にて生成される。
さらに、下位システム21Aは、上位システム51Aで生成された作業情報に対応する形で要求を出力することによって、この作業情報で規定される「作業」に対応する要求を出力する。また、下位システム21Aは、要求について許可が与えられた場合に、要求に対応する作業の内容に関する指示情報を出力するように構成されている。そのため、移動体10は、下位システム21Aから出力された指示情報で規定される「作業」を実行することによって、許可が与えられた要求(作業要求)に対応する作業を実行することができる。
また、本実施形態に係る制御システム50Aは、指令システム80と通信可能に構成されていてもよい。指令システム80は、上位システム51A及び下位システム21Aの各々と同様に、メモリ及びプロセッサを含むコンピュータシステムを主構成とする。指令システム80は、制御システム50Aに対して作業命令を出力する。制御システム50Aは、指令システム80から作業命令を受信すると、作業命令に基づいて、作業情報を生成する。本実施形態では、制御システム50Aは、1つの作業命令に基づいて、1つの作業命令を実現するための作業情報を複数生成する。
そのため、本実施形態に係る制御システム50Aによれば、上位システム51Aが1つの作業命令を受けると、上位システム51Aにて、作業の内容に関する作業情報が複数生成される。下位システム21Aにおいては、これら複数の作業情報の各々で規定される作業に対応させて要求(作業要求)を出力可能となる。そして、複数の作業情報の全てに対応する要求に対して、上位システム51Aが許可を与えることで、移動体10は、複数の作業情報で規定される全ての作業を実行可能となり、1つの作業命令が遂行される。
ところで、本実施形態に係る制御システム50Aは、移動体10が作業を実行した場合には、実行した作業に対する対価としてのインセンティブを対価発生部55にて発生する。これにより、下位システム21A又は移動体10においては、作業を実行するモチベーション(動機付け)が与えられることになる。インセンティブが発生する場合には、下位システム21Aは、要求(作業要求)に対して許可が与えられ、配下の移動体10に作業を実行させたときに、この作業によって得られるインセンティブに関する情報、又は作業の実績である「作業点数」を保持する機能を有していてもよい。
さらに、インセンティブが発生する場合において、インセンティブの大きさは、作業ごとに決定されることが好ましい。本開示でいう「インセンティブの大きさ」は、インセンティブとして給付される対価の大きさを意味し、例えば、インセンティブが金銭であれば、インセンティブの大きさが大きくなるほどに、金銭の額(金額)が高くなる。すなわち、全ての作業について一律のインセンティブが発生するのではなく、作業によって、インセンティブの大きさを異ならせることが可能である。
この場合において、作業の優先度が、インセンティブの大きさに反映されることが好ましい。つまり、インセンティブの大きさは、作業ごとの優先度によって決定される。このとき、優先度が高い作業ほど、インセンティブの大きさが大きくなる。これにより、特定の作業への要求(作業要求)の集中を緩和し、制御システム50全体として効率的な運用を図ることが可能である。一例として、急を要する作業及びハイリスクな作業等について、他の作業よりも優先度を高く設定することにより、このような作業に対する要求を集めやすくなる。
また、インセンティブの大きさが作業ごとに決定される場合において、インセンティブの大きさは、作業の優先度に代えて、又は優先度と共に、例えば、作業の実行にかかる負担である「作業負担」を反映してもよい。本開示でいう「作業負担」は、作業の種類、作業の実行に必要な能力(積載重量等)及び作業の実行に必要な時間(所要時間)等の少なくとも1つを含む。一例として、所要時間については、所要時間が長い作業ほど作業負担が大きくなり、インセンティブの大きさが大きくなる。
ただし、通行制御モジュールM1(区域Z1及び状態出力部G1を含む)が存在しないことは、実施形態3に係る制御システム50Aに必須の構成ではない。通行制御モジュールM1が存在する場合でも、制御システム50Aは、状態制御部53を備えないので、通行制御モジュールM1における状態出力部G1の制御(優先制御等)を実行する機能がない。
実施形態3で説明した種々の構成(変形例を含む)は、実施形態1又は2で説明した種々の構成(変形例を含む)と適宜組み合わせて採用可能である。
(まとめ)
以上説明したように、第1の態様に係る制御システム(50,50A)は、通行制御モジュール(M1)を用いて移動体(10)の通行を制御する。通行制御モジュール(M1)は、移動体(10)が移動する所定エリア(A1)の一部に設定される区域(Z1)と、区域(Z1)に対応して設けられる状態出力部(G1)と、を含む。状態出力部(G1)は、第1方向(D1)及び第2方向(D2)の少なくとも一方で、移動体(10)の通行を許可する許可状態であるか移動体(10)の通行を不許可とする不許可状態であるかを示す状態情報を出力する。第1方向(D1)は、移動体(10)が区域(Z1)の外部から内部に移動する方向であり、第2方向(D2)は、移動体(10)が区域(Z1)の内部から外部に移動する方向である。
この態様によれば、移動体(10)の円滑な通行を実現可能な制御システム(50,50A)を提供することができる。
第2の態様に係る制御システム(50,50A)では、第1の態様において、状態出力部(G1)によって、第1方向(D1)及び第2方向(D2)のうちの一方で、状態情報が出力される。
この態様によれば、第1方向(D1)及び第2方向(D2)のうちの一方で、移動体(10)の通行を制御できる。
第3の態様に係る制御システム(50,50A)では、第1又は第2の態様において、通行制御モジュール(M1)は、区域(Z1)につながる複数の通路にそれぞれ対応して設けられた複数の状態出力部(G1)を含む。
この態様によれば、複数の通路と区域(Z1)との間の通行をそれぞれ制御することができる。
第4の態様に係る制御システム(50,50A)では、第1~第3のいずれかの態様において、状態情報が示す状態を許可状態と不許可状態とのいずれかに制御する状態制御部(53)を、更に備える。
この態様によれば、状態制御部(53)は、状態出力部(G1)が決定する状態を変化させることができるので、より円滑な通行を実現できる。
第5の態様に係る制御システム(50,50A)では、第4の態様において、状態制御部(53)は、1又は複数の通行制御モジュール(M1)が含む複数の状態出力部(G1)の各々について、状態情報が示す状態が、許可状態であるか不許可状態であるかを制御する。
この態様によれば、複数の状態出力部(G1)が決定する状態を連動して制御することで、より円滑な通行を実現できる。
第6の態様に係る制御システム(50,50A)では、第4の態様において、通行制御モジュール(M1)は、区域(Z1)につながる複数の通路にそれぞれ対応して設けられた複数の状態出力部(G1)を含む。状態制御部(53)は、複数の状態出力部(G1)のうちの一つによって出力される前記状態情報が示す状態を許可状態に制御する場合、複数の状態出力部(G1)のうち残りの状態出力部(G1)によって出力される状態情報が示す状態を不許可状態に制御する。
この態様によれば、状態制御部(53)により、区域(Z1)につながる複数の通路のうちの1つを通行可能な状態とすることで、複数の通路の通行を整理して、円滑な通行を実現できる。
第7の態様に係る制御システム(50,50A)では、第4の態様において、通行制御モジュール(M1)は、区域(Z1)につながる複数の通路にそれぞれ対応して設けられた複数の状態出力部(G1)を含む。状態制御部(53)は、複数の状態出力部(G1)によって出力される状態情報が示す状態を全て不許可状態とした第1時点から所定の待機時間が経過した後の第2時点で、複数の状態出力部(G1)のうち切替対象の状態出力部(G1)によって出力される前記状態情報が示す状態を許可状態に制御する。
この態様によれば、複数の状態出力部(G1)が決定する状態を全て不許可状態として、複数の通路と区域(Z1)との間の通行を遮断した後に、切替対象の状態出力部(G1)を許可状態に制御するので、より円滑な通行を実現できる。
第8の態様に係る制御システム(50,50A)では、第4~第7のいずれかの態様において、状態制御部(53)は、移動体(10)が移動する目的に応じて、状態出力部(G1)によって出力される状態情報が示す状態を制御する。
この態様によれば、移動体(10)が移動する目的に応じて、状態出力部(G1)が決定する状態を許可状態及び不許可状態にいずれかに制御できる。
第9の態様に係る制御システム(50,50A)では、第4~第8のいずれかの態様において、区域(Z1)の内部に移動体(10)が存在するか否かを検知する検知部(52)を更に備える。状態制御部(53)は、状態出力部(G1)によって出力される状態情報が示す状態を、検知部(52)の検知結果に応じて制御する。
この態様によれば、状態制御部(53)は、検知部(52)の検知結果に基づいて状態出力部(G1)が決定する状態を制御する。例えば、区域(Z1)の内部に移動体(10)が存在する場合は状態出力部(G1)が決定する状態を不許可状態とすることで、区域(Z1)の外部から内部へ他の移動体(10)が移動するのを抑制でき、円滑な通行を実現できる。
第10の態様に係る制御システム(50,50A)では、第1~第9のいずれかの態様において、移動体(10)は、状態出力部(G1)が設けられる位置の手前の確認位置で状態出力部(G1)によって出力される状態情報が示す状態を確認した結果に基づいて通行又は停止する。確認位置は、移動体(10)の状態に応じて変化する。
この態様によれば、移動体(10)が、状態出力部(G1)が決定する状態に基づいて停止すると決定した場合に、停止位置で停止できるように確認位置を変化させることができる。
第11の態様に係る制御システム(50,50A)では、第1~第10のいずれかの態様において、所定エリア(A1)において移動体(10)が移動する経路に沿って複数の区域(Z1)が設けられる。
この態様によれば、移動体(10)が移動する経路に沿って複数の区域(Z1)を設けることで、移動体(10)の通行を円滑に制御することができる。
第12の態様に係る制御システム(50,50A)は、第4の態様において、取得部(54)と、対価発生部(55)と、を備える。取得部(54)は、所定エリア(A1)における複数台の移動体(10)の動作に関する動作情報を取得する。対価発生部(55)は、取得部(54)で取得した動作情報に基づいて、複数台の移動体(10)のいずれかに対するインセンティブ又はペナルティの少なくとも一方からなる対価を発生する。制御システム(50,50A)は、所定エリア(A1)内を移動する複数台の移動体(10)を制御する。
この態様によれば、複数台の移動体(10)の動作に関する動作情報に基づいて、複数台の移動体(10)のいずれかに対する対価が発生する。そのため、移動体(10)においては、ある特定の動作をすることについてモチベーションが与えられる。例えば、複数台の移動体(10)の間で互いの移動に干渉が生じ得るような場合に、干渉を回避するような経路の変更を含む動作について、対価としてインセンティブが発生することとする。そうすると、干渉を生じ得る移動体(10)のうち少なくとも1つにあっては、干渉を回避するような経路の変更を含む動作を積極的に採用することで、経路の変更を含む動作が特定の移動体(10)に集中しにくくなる。結果的に、複数台の移動体(10)間で作業効率の不平等が生じにくい、という利点がある。
第13の態様に係る制御システム(50,50A)では、第12の態様において、状態制御部(53)は、複数台の移動体(10)のうちの1台である優先移動体(10)の進路上の状態出力部(G1)が出力する状態情報が示す状態を優先的に許可状態とする優先制御を実行する。対価発生部(55)は、優先制御が実行される場合に、優先移動体(10)に対する対価としてペナルティを発生する。
この態様によれば、優先移動体(10)と他の移動体(10)との間で不平等が生じ得る優先制御の実行に際して、優先移動体(10)に対価が発生するので、優先移動体(10)と他の移動体(10)との間の作業効率の不平等が生じにくくなる。
第14の態様に係る制御システム(50,50A)では、第12又は13の態様において、対価発生部(55)は、複数台の移動体(10)の各々について、状態情報の遵守状況に応じて対価を発生する。
この態様によれば、複数台の移動体(10)に対して状態情報の遵守するようなモチベーションを与えることができ、複数台の移動体(10)のより円滑な通行を実現できる。
第15の態様に係る制御システム(50,50A)では、第12~14のいずれかの態様において、所定エリア(A1)は特定区間(A31)を含む。対価発生部(55)は、複数台の移動体(10)の各々について、特定区間(A31)への進入と引き換えに対価を発生する。
この態様によれば、移動体(10)が無暗に特定区間(A31)を利用することを抑制でき、複数の移動体(10)間で不公平が生じにくくなる。
第16の態様に係る制御システム(50,50A)では、第12~15のいずれかの態様において、対価発生部(55)は、複数台の移動体(10)の各々について、エネルギの補給と引き換えに対価を発生する。
この態様によれば、移動体(10)が無暗にエネルギの補給を行うことを抑制でき、複数の移動体(10)間で不公平が生じにくくなる。
第17の態様に係る制御システム(50,50A)では、第12~16のいずれかの態様において、複数台の移動体(10)の各々は、搬送対象物(40)を搬送する搬送機能を有する。対価発生部(55)は、複数台の移動体(10)の各々について、搬送する搬送対象物(40)に応じて対価を発生する。
この態様によれば、搬送対象物(40)に起因した、複数台の移動体(10)間での不平等が生じにくくなる。
第18の態様に係る制御方法は、第1の設定処理と、第2の設定処理と、制御処理とを含む。第1の設定処理は、移動体(10)が移動する所定エリア(A1)の一部に区域(Z1)を設定する処理である。第2の設定処理は、区域(Z1)に対応して状態出力部(G1)を設ける処理である。状態出力部(G1)は、第1方向(D1)、及び、第2方向(D2)の少なくとも一方で、移動体(10)の通行を許可する許可状態であるか移動体(10)の通行を不許可とする不許可状態であるかを示す状態情報を出力する。第1方向(D1)は、移動体(10)が区域(Z1)の外部から内部に移動する方向である。第2方向(D2)は、移動体(10)が区域(Z1)の内部から外部に移動する方向である。制御処理では、状態出力部(G1)によって出力される状態情報が示す状態を許可状態又は不許可状態に制御する。
この態様によれば、移動体(10)の円滑な通行を実現可能な制御システム(50,50A)の制御方法を提供することができる。
第19の態様に係る制御方法は、第18の態様において、取得処理と、対価発生処理と、を更に有する。取得処理は、所定エリア(A1)における複数台の移動体(10)の動作に関する動作情報を取得する処理である。対価発生処理は、取得処理で取得した動作情報に基づいて、複数台の移動体(10)のいずれかに対するインセンティブ又はペナルティの少なくとも一方からなる対価を発生する処理である。この制御方法では、所定エリア(A1)内を移動する複数台の移動体(10)を制御する。
この態様によれば、複数台の移動体(10)の動作に関する動作情報に基づいて、複数台の移動体(10)のいずれかに対する対価が発生する。そのため、移動体(10)においては、ある特定の動作をすることについてモチベーションが与えられる。例えば、複数台の移動体(10)の間で互いの移動に干渉が生じ得るような場合に、干渉を回避するような経路の変更を含む動作について、対価としてインセンティブが発生することとする。そうすると、干渉を生じ得る移動体(10)のうち少なくとも1つにあっては、干渉を回避するような経路の変更を含む動作を積極的に採用することで、経路の変更を含む動作が特定の移動体(10)に集中しにくくなる。結果的に、複数台の移動体(10)間で作業効率の不平等が生じにくい、という利点がある。
第20の態様に係る制御システム(50,50A)は、第12の態様において、協調制御部(56)を更に備える。協調制御部(56)は、複数台の移動体(10)のうちの1台の移動体(10)を対象移動体(10)とし、複数台の移動体(10)のうち対象移動体(10)以外の協力移動体(10)を制御することで、対象移動体(10)の進路を確保する協調制御を実行する。対価発生部(55)は、協調制御が実行される場合に、対象移動体(10)と協力移動体(10)との少なくとも一方に対する対価を発生する。
この態様によれば、対象移動体(10)と協力移動体(10)との間で不平等が生じ得る協調制御の実行に際して、対象移動体(10)と協力移動体(10)との少なくとも一方に対価が発生するので、両者間の作業効率の不平等が生じにくくなる。
第21の態様に係る制御システム(50,50A)では、第20の態様において、対価発生部(55)は、協調制御が実行される場合に、対象移動体(10)に対して対価としてペナルティを発生する。
この態様によれば、対象移動体(10)についてはペナルティを課すことで、移動体(10)が無暗に対象移動体(10)として協調制御を利用することを抑制できる。
第22の態様に係る制御システム(50,50A)では、第20又は21の態様において、対価発生部(55)は、協調制御が実行される場合に、協力移動体(10)に対して対価としてインセンティブを発生する。
この態様によれば、協力移動体(10)に対してインセンティブが発生することで、協力移動体(10)における協調制御による不利益の補填を図ることが可能である。
第23の態様に係る制御システム(50,50A)では、第20~22のいずれかの態様において、協調制御部(56)は、対象移動体(10)からの要求に応じて、協調制御を実行する。
この態様によれば、対象移動体(10)が他の移動体(10)に協力移動体(10)として移動を要請する必要が生じた場合に、対象移動体(10)の判断で、対象移動体(10)から要求を出すことで協調制御を実行することが可能となる。
第24の態様に係る制御システム(50,50A)では、第20~23のいずれかの態様において、協調制御部(56)は、以下の移動体(10)を協力移動体(10)とする。つまり、協調制御部(56)は、複数台の移動体(10)のうち、所定エリア(A1)における対象移動体(10)の進路に関連する領域に存在する移動体(10)のみを協力移動体(10)とする。
この態様によれば、対象移動体(10)の進路に関連する領域に存在する移動体(10)に絞って、協力移動体(10)とすることで、無関係な移動体(10)に協調制御を強いることを回避可能となる。
第25の態様に係る制御システム(50,50A)では、第20~24のいずれかの態様において、協調制御部(56)は、対象移動体(10)の進路上に位置する協力移動体(10)を移動させることで、対象移動体(10)の進路を確保する。
この態様によれば、協力移動体(10)が、対象移動体(10)に道を譲ることにより、対象移動体(10)の進路が確保され、対象移動体(10)が進路上を移動可能となる。
第26の態様に係る制御システム(50,50A)では、第25の態様において、協調制御部(56)は、対象移動体(10)の進路を確保して対象移動体(10)の移動が完了した後に、協力移動体(10)を協調制御の前の位置に移動させる。
この態様によれば、協調制御に際して協力移動体(10)が移動することによる協力移動体(10)の不利益が生じにくくなる。
第27の態様に係る制御システム(50,50A)では、第20~26のいずれかの態様において、協調制御部(56)は、協調制御に際して対象移動体(10)の周囲に報知する。
この態様によれば、例えば、対象移動体(10)の進路上に、障害物が放置されているような場合等において、対象移動体(10)の周囲の人に、障害物の撤去を促すことが可能である。
第28の態様に係る制御システム(50,50A)は、第20~27のいずれかの態様において、状態出力部(G1)について、状態情報が示す状態を制御する状態制御部(53)を更に備える。状態出力部(G1)は、所定エリア(A1)の一部に設定される区域(Z1)に対応して設けられる。状態出力部(G1)は、第1方向(D1)、及び、第2方向(D2)の少なくとも一方で、複数台の移動体(10)の各々の通行を許可する許可状態であるか通行を不許可とする不許可状態であるかを示す状態情報を出力する。第1方向(D1)は、複数台の移動体(10)の各々が区域(Z1)の外部から内部に移動する方向である。第2方向(D2)は、複数台の移動体(10)の各々が区域(Z1)の内部から外部に移動する方向である。
この態様によれば、状態出力部(G1)が出力する状態情報の状態を変化させることで、複数台の移動体(10)の円滑な通行を実現できる。
第29の態様に係るプログラムは、第18の態様に係る制御方法を、1以上のプロセッサに実行させるためのプログラムである。
この態様によれば、移動体(10)の円滑な通行を実現可能なプログラムを提供することができる。
第30の態様に係るプログラムは、第19の態様に係る制御方法を、1以上のプロセッサに実行させるためのプログラムである。
この態様によれば、複数台の移動体(10)の動作に関する動作情報に基づいて、複数台の移動体(10)のいずれかに対する対価が発生する。そのため、移動体(10)においては、ある特定の動作をすることについてモチベーションが与えられる。例えば、複数台の移動体(10)の間で互いの移動に干渉が生じ得るような場合に、干渉を回避するような経路の変更を含む動作について、対価としてインセンティブが発生することとする。そうすると、干渉を生じ得る移動体(10)のうち少なくとも1つにあっては、干渉を回避するような経路の変更を含む動作を積極的に採用することで、経路の変更を含む動作が特定の移動体(10)に集中しにくくなる。結果的に、複数台の移動体(10)間で作業効率の不平等が生じにくい、という利点がある。
第31の態様に係る制御システム(50,50A)では、第10の態様において、移動体(10)の状態は、移動体(10)の速度と重量との少なくとも一方を含む。
第32の態様に係る制御システム(50,50A)では、第1~第10、第30、及び第31のいずれかの態様において、移動体(10)は、物体を搬送する搬送装置を含む。
上記態様に限らず、実施形態に係る制御システム(50,50A)の種々の構成(変形例を含む)は、制御システム(50,50A)の制御方法、(コンピュータ)プログラム、又はプログラムを記録した非一時的記録媒体等で具現化可能である。
第2~第17、第20~第28、及び第31~第32の態様に係る構成については、制御システム(50、50A)に必須の構成ではなく、適宜省略可能である。