以下、本発明による移動体システムについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体システムは、端末装置における複数の停止ボタンのうち、操作者によって操作された停止ボタンに対応する移動体の集合が停止されるものである。
図1は、本実施の形態による移動体システム100の構成を示すブロック図である。本実施の形態による移動体システム100は、端末装置1と、サーバ2と、複数の移動体3とを備える。なお、図1では、移動体システム100に1個の端末装置1が含まれている場合について示しているが、そうでなくてもよい。移動体システム100には、複数の端末装置1が含まれていてもよい。端末装置1とサーバ2と複数の移動体3とは、有線または無線の通信回線500によって通信可能に接続されている。なお、通信回線500は、例えば、インターネットやイントラネット、LAN(Local Area Network)、公衆電話回線網等であってもよい。本実施の形態では、端末装置1と、複数の移動体3とは、無線通信を行う場合について主に説明する。
図2Aは、本実施の形態による端末装置1の構成を示すブロック図である。図2Aにおいて、端末装置1は、受付部11と、端末送信部12と、端末受信部13と、表示部14とを備える。なお、端末装置1は、移動体3に関する操作を行うための装置であり、例えば、パソコンや、携帯型の情報端末(例えば、スマートフォンやタブレット端末、ノートパソコン等)などの汎用装置であってもよく、移動体3に関する操作を行う専用の装置であってもよい。本実施の形態では、端末装置1がタブレット端末である場合について主に説明する。
受付部11は、移動体3を停止させるために用いられる2以上の停止ボタンによる停止操作を受け付ける。停止ボタンは、例えば、物理的に構成されたボタンである物理ボタン(ハードボタン)であってもよく、タッチパネルなどに仮想的に構成されたボタンである仮想ボタン(ソフトボタン)であってもよい。本実施の形態では、停止ボタンが仮想ボタンである場合について主に説明する。停止ボタンは、仮想ボタンであったとしても、画面の遷移や画面の切り替えに関わらず、移動体3が移動しているときには絶えず表示されていることが好適である。2以上の停止ボタンは、停止対象の移動体3の2以上の集合にそれぞれ対応するボタンである。なお、1個の停止ボタンに対応する集合は1個である。例えば、第1の停止ボタンは、移動体3の第1の集合に対応しており、第2の停止ボタンは、移動体3の第2の集合に対応していてもよい。停止ボタンに対応する移動体3の集合が、その停止ボタンの操作による停止対象となる移動体3の集合である。その移動体3の集合に含まれる移動体3の個数は、1個であってもよく、2個以上であってもよい。なお、停止ボタンを操作する操作者が、停止ボタンと移動体3の集合との関係を知ることができるようになっていることが好適である。例えば、停止ボタンそのものや停止ボタンの近傍に、停止ボタンに対応する移動体3の集合の名称等が記載されていてもよい。なお、その移動体3の集合は、時間に応じて変化しないものであってもよく、時間に応じて変化するものであってもよい。
ここで、移動体3の集合の具体例について説明する。停止操作に用いられる2以上の停止ボタンには、全移動体3の集合、端末装置1に現在、割り当てられている移動体3の集合、端末装置1に割り当てられた移動体3であり、その割り当て時の操作に応じて現在、動作している移動体3の集合、端末装置1において選択された移動体3の集合から選ばれる少なくとも2以上の集合が対応付けられていてもよい。この場合には、通常、時間に応じて変化する集合となる。端末装置1に現在、割り当てられている移動体3とは、端末装置1の操作者が現在、移動体3に関する経路等の設定を行っている移動体3のことである。その移動体3の集合は、通常、1個の移動体3の集合であるが、複数の移動体3について一括して設定等を行っている場合には、2個以上の移動体3の集合であってもよい。なお、端末装置1に現在、割り当てられている移動体3を、端末装置1の割当移動体と呼ぶこともある。端末装置1と、その端末装置1の割当移動体との間では、通常、経路の設定等のための通信が行われている。また、端末装置1に割り当てられた移動体3であり、その割り当て時の操作に応じて現在、動作している移動体3とは、過去に端末装置1の割当移動体となった際の設定等に応じて現在、移動等の動作を行っている移動体3のことである。そのような移動体3を、端末装置1の関連移動体と呼ぶこともある。なお、ある端末装置1によって設定された移動等の動作が終了した移動体3は、その端末装置1の関連移動体ではなくなることになる。また、割当移動体は、関連移動体であると考えてもよく、または、そうでないと考えてもよい。前者の場合には、端末装置1と、その端末装置1の関連移動体との間では、通信が行われていてもよく、そうでなくてもよく、後者の場合には、端末装置1と、その端末装置1の関連移動体との間では、通常、通信が行われないことになる。本実施の形態では、前者の場合、すなわち関連移動体に割当移動体が含まれる場合について主に説明する。また、端末装置1において選択された移動体3とは、端末装置1の操作者によって選択された移動体3である。その選択は、例えば、停止ボタンの押下の前に行われてもよく、または、停止ボタンの押下の後に行われてもよい。停止ボタンの押下の前に選択を行う場合には、例えば、操作者は、端末装置1に表示されている移動体3の図形を選択したり、プルダウンメニュー等から移動体3の識別子を選択したりした後に、停止ボタンを押下してもよい。また、あらかじめ選択された1個または2個以上の移動体3が、ある停止ボタンに対応付けられていてもよい。例えば、重要な搬送対象を搬送する移動体3を、特定の停止ボタンに対応付けておくことによって、操作者は、その移動体3をすぐに停止させることができるようになる。また、停止ボタンの押下の後に選択を行う場合には、例えば、操作者は、停止ボタンを押下した後に、端末装置1に表示されている移動体3の図形を選択したり、プルダウンメニュー等から移動体3の識別子を選択したりしてもよい。停止ボタンに割当移動体の集合や、関連移動体の集合が対応している場合には、サーバ2において、端末装置1と、割当移動体や関連移動体との関係が管理されていることが好適である。その管理方法については後述する。
また、2以上の停止ボタンには、例えば、端末装置1の現在位置を基準とする2以上の範囲にそれぞれ存在する移動体3の2以上の集合が対応付けられていてもよい。この場合には、サーバ2において、移動体3の現在位置が管理されていることが好適である。また、この場合も、通常、時間に応じて変化する集合となる。このような集合が停止ボタンに対応付けられている場合については後述する。また、例えば、2以上の停止ボタンには、移動体3の属性に応じた2以上の集合が対応付けられていてもよい。移動体3の属性は、例えば、移動体3の種類であってもよい。その種類は、例えば、搬送台車、監視ロボット、清掃ロボット、エンターテインメントロボット、溶接ロボット等であってもよい。この場合には、サーバ2において、移動体3と、その移動体3の属性とが対応付けられて管理されていてもよい。また、その属性が移動体3に固有のものである場合には、時間に応じて変化しない集合となるが、そうでない場合には、時間に応じて変化する集合となることもある。また、2以上の停止ボタンに、上述した以外の集合が対応付けられていてもよい。
停止ボタンによる停止操作とは、通常、停止ボタンを押下することである。停止ボタンが物理ボタンである場合には、停止ボタンの押下は、例えば、停止ボタンを物理的に押し下げることであってもよい。停止ボタンが仮想ボタンである場合には、停止ボタンの押下は、例えば、停止ボタンの位置をタップしたり、停止ボタンの位置を長押ししたりすることであってもよい。
また、2以上の停止ボタンのそれぞれには、移動体3の停止方法が対応付けられていてもよい。その停止方法は、移動体3の停止後に移動を再開できる一時停止と、移動体3の停止後に移動を再開できない完全停止とのいずれかであってもよい。停止後に移動を再開できないとは、その再開のために、再度の経路等の設定が必要になることであってもよい。一時停止は、例えば、移動体3におけるソフトウェアによって速度が0になるようにフィードバック制御を行うことによってなされる停止であってもよい。完全停止は、例えば、移動体3におけるハードウェアである移動機構の動作を停止させることによってなされる停止であってもよい。移動機構の動作の停止は、例えば、移動機構の電源をオフにすることであってもよい。また、完全停止の場合には、例えば、移動経路等の設定情報が破棄されてもよい。すなわち、完全停止の場合には、移動体3の自律的な移動を制御している部分が初期化されると考えてもよい。本実施の形態では、各停止ボタンにいずれかの停止方法が対応付けられている場合について主に説明する。各ボタンにいずれの停止方法を対応付けるのかは、端末装置1の操作者が適宜、変更できるようにしてもよい。
受付部11は、停止ボタンによる停止操作以外の操作や入力を受け付けてもよい。その操作は、停止を解除する操作である解除操作であってもよい。すなわち、受付部11は、停止操作を受け付けた後に、その停止操作に応じた移動体3の停止を解除する解除操作を受け付けてもよい。なお、解除操作は、例えば、解除ボタンが押下されることによって受け付けられてもよい。その解除ボタンは、物理ボタンであってもよく、仮想ボタンであってもよい。仮想ボタンである解除ボタンは、例えば、停止ボタンと別個に設けられてもよく、または、押下された停止ボタンが解除ボタンに切り替わってもよい。また、停止操作以外の操作は、例えば、移動体3に関するものであってもよい。受付部11は、例えば、移動体3に関する移動経路の教示や目的地の設定、その他の各種の設定等に関する操作を受け付けてもよい。また、受付部11は、例えば、教示した経路等に応じて移動体3が移動する旨の指示等を受け付けてもよい。それらの操作等はすでに公知であるため、その詳細な説明を省略する。
受付部11は、例えば、入力デバイス(例えば、物理ボタンやマウス、タッチパネルなど)から入力された情報を受け付けてもよい。なお、受付部11は、受け付けを行うためのデバイス(例えば、入力デバイスなど)を含んでもよく、または含まなくてもよい。また、受付部11は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
端末送信部12は、受付部11によって停止操作が受け付けられた場合に、その停止操作の受け付けられた停止ボタンに対応する移動体3の集合を識別する集合識別子を含む停止指示をサーバ2に送信する。端末装置1では、例えば、停止ボタンごとに集合識別子が記憶されており、端末送信部12は、停止操作の受け付けられた停止ボタンに対応する集合識別子を読み出すことによって、停止指示に含める集合識別子を取得してもよい。また、例えば、停止指示に含まれる集合識別子によって識別される集合が、端末装置1において選択された移動体3の集合である場合には、その集合識別子に、端末装置1において選択された移動体3を識別する移動体IDが含まれていることが好適である。すなわち、その場合には、集合識別子は、選択された1以上の移動体3を識別する1以上の移動体IDであってもよい。選択された移動体3を、サーバ2において特定できるようにするためである。その移動体IDは、例えば、移動体3のアドレス、移動体3のシリアル番号、または、その他の識別子等であってもよい。停止指示には、例えば、停止操作を受け付けた端末装置1の識別子である端末IDが含まれていてもよい。その端末IDは、例えば、端末装置1のアドレス、端末装置1のシリアル番号、または、その他の識別子等であってもよい。また、停止ボタンに、移動体3の停止に関する停止方法が対応付けられている場合には、停止指示に、その停止指示に対応する停止ボタンに対応付けられている停止方法を識別する停止方法識別子が含まれていてもよい。また、端末送信部12は、受付部11によって解除操作が受け付けられた場合に、解除指示をサーバ2に送信してもよい。その解除指示には、例えば、解除操作を受け付けた端末装置1の端末IDが含まれていてもよい。端末送信部12は、受付部11で受け付けられた停止操作や解除操作以外の操作等、例えば、移動体3に関する経路の設定等の操作等に関する送信を行ってもよい。停止操作や解除操作以外の操作等に関する送信はすでに公知であるため、その詳細な説明を省略する。
なお、端末送信部12は、停止指示等をサーバ2に直接送信してもよく、または、他のサーバ等を介して間接的に送信してもよい。また、端末送信部12は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよい。また、端末送信部12は、送信を行うための送信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、端末送信部12は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
端末受信部13は、サーバ2から送信された情報を受信する。その情報は、例えば、受付部11によって受け付けられた移動体3に関する操作等に応じた情報であってもよい。例えば、端末装置1から送信された指示や操作に応じて移動体3が動作した旨を示す情報が受信されてもよく、その他の情報が受信されてもよい。また、端末受信部13は、各移動体3の現在位置を受信してもよい。
なお、端末受信部13は、受信を行うための受信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、端末受信部13は、ハードウェアによって実現されてもよく、または受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
表示部14は、端末装置1における情報の表示を行う。停止ボタンが仮想ボタンである場合には、表示部14は、その停止ボタンを表示する。また、端末受信部13が各移動体3の現在位置を受信した場合には、表示部14は、その現在位置に関する表示を行ってもよい。その表示は、例えば、現在位置の情報(例えば、座標値等)を表示することであってもよく、または、地図上の現在位置に応じた位置に、移動体3に対応する図形を表示することであってもよい。本実施の形態では、後者の場合について主に説明する。また、表示部14は、移動体3の操作等の受け付けに関する表示を行ってもよい。例えば、表示部14は、操作のメニューや操作に応じた結果等を表示してもよい。
なお、表示部14は、それらの表示を行う表示デバイス(例えば、液晶ディスプレイや有機ELディスプレイなど)を含んでもよく、または含まなくてもよい。また、表示部14は、ハードウェアによって実現されてもよく、または表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
また、端末装置1において、タッチパネルを介した入力や表示が行われる場合には、受付部11及び表示部14は、タッチパネルとして一体に構成されてもよい。
図3は、本実施の形態によるサーバ2の構成を示すブロック図である。図3において、サーバ2は、サーバ受信部21と、記憶部22と、特定部23と、サーバ送信部24とを備える。
サーバ受信部21は、端末装置1から送信された停止指示を受信する。サーバ受信部21は、端末装置1から送信された解除指示も受信してもよい。また、サーバ受信部21は、停止指示や解除指示以外にも、端末装置1から送信された、移動体3の操作や設定等に関する情報を受信してもよい。また、サーバ受信部21は、移動体3から情報を受信してもよい。サーバ受信部21が移動体3から受信する情報は、例えば、移動体3の現在位置であってもよく、移動体3の操作や設定等に関する情報であってもよい。移動体3の現在位置は、その移動体3を識別する移動体IDと一緒に受信されてもよい。サーバ受信部21は、移動体3の現在位置を受信した場合に、その現在位置を記憶部22に蓄積してもよい。また、サーバ受信部21は、移動体3がある経路に沿って移動し、目的地に到達した場合に、目的地に到達した旨、すなわち経路に沿った移動が終了した旨を移動体3から受信してもよい。
なお、サーバ受信部21は、受信を行うための有線または無線の受信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、サーバ受信部21は、ハードウェアによって実現されてもよく、または受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
記憶部22では、サーバ受信部21で受信された情報や、特定部23による特定の処理で用いられる情報などが記憶されてもよい。具体的には、移動体3の現在位置が記憶されてもよい。また、記憶部22では、端末装置1と、その端末装置1の割当移動体や関連移動体とを対応付ける対応情報が記憶されていてもよい。その対応情報は、例えば、端末装置1の端末IDと、その端末IDで識別される端末装置1に対する割当移動体や関連移動体の移動体IDとを対応付ける情報であってもよい。その対応情報は、例えば、図10A等で示される情報であってもよい。図10Aで示される対応情報では、移動体IDと、割当先の端末IDと、関連先の端末IDとが対応付けられている。そして、ある移動体IDが、ある割当先の端末IDと対応付けられている場合(すなわち、両IDが1個のレコードに含まれている場合)には、その移動体IDで識別される移動体3は、その割当先の端末IDで識別される端末装置1の割当移動体であるとする。また、ある移動体IDが、ある関連先の端末IDと対応付けられている場合には、その移動体IDで識別される移動体3は、その関連先の端末IDで識別される端末装置1の関連移動体であるとする。具体的には、図10Aにおいて、端末ID「T001」で識別される端末装置1の関連移動体が、移動体ID「M003」で識別される移動体3であることになる。なお、記憶部22での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部22は、所定の記録媒体(例えば、半導体メモリや磁気ディスクなど)によって実現されうる。
特定部23は、サーバ受信部21によって受信された停止指示に含まれる集合識別子で識別される移動体3の集合に含まれる各移動体3を特定する。なお、サーバ2において、集合識別子と、その集合識別子で識別される集合に含まれる各移動体3との対応を示す情報が管理されており、特定部23は、その情報を用いて移動体3の特定を行ってもよい。その情報は、例えば、記憶部22で記憶されていてもよい。また、その情報は、時間に応じて変化しないものであってもよく、または、変化するものであってもよい。例えば、特定部23は、端末装置1と、割当移動体や関連移動体との関係を示す情報を管理してもよい。具体的には、特定部23は、上述の対応情報を管理してもよい。対応情報を管理するとは、例えば、対応情報に割当先の端末IDや関連先の端末IDを登録したり、それらの端末IDを削除したりすることであってもよい。特定部23は、そのようにして管理している端末装置1と割当移動体や関連移動体との関係を用いて、移動体3の集合に含まれる各移動体3を特定してもよい。例えば、集合識別子によって識別される集合が、全移動体3の集合である場合には、特定部23は、管理している全移動体3を特定してもよい。また、例えば、集合識別子によって識別される集合が、割当移動体の集合である場合には、特定部23は、停止指示に含まれる端末IDで識別される端末装置1の割当移動体を特定してもよい。具体的には、特定部23は、図10A等で示される対応情報において、停止指示に含まれる端末IDが、割当先の端末IDとなっているレコードを検索し、ヒットしたレコードに含まれる移動体IDで識別される割当移動体を特定してもよい。また、例えば、集合識別子によって識別される集合が、関連移動体の集合である場合には、特定部23は、停止指示に含まれる端末IDで識別される端末装置1の関連移動体を特定してもよい。具体的には、特定部23は、図10A等で示される対応情報において、停止指示に含まれる端末IDが、関連先の端末IDとなっているレコードを検索し、ヒットしたレコードに含まれる移動体IDで識別される関連移動体を特定してもよい。また、例えば、集合識別子によって識別される集合が、端末装置1において選択された移動体3の集合である場合には、特定部23は、集合識別子に含まれる移動体IDで識別される移動体3を特定してもよい。なお、移動体3を特定するとは、例えば、特定対象の移動体3の移動体IDを所定の記録媒体に蓄積することであってもよく、特定対象の移動体3の移動体IDに対応付けて、特定したことを示すフラグ等の情報を設定することであってもよい。
サーバ送信部24は、特定部23によって特定された各移動体3に停止命令を送信する。停止命令は、移動体3の移動を停止させるための命令である。サーバ受信部21で受信された停止指示に停止方法識別子が含まれる場合には、サーバ送信部24は、その停止指示に含まれる停止方法識別子で識別される停止方法に対応する停止命令を、停止指示に含まれる集合識別子で識別される移動体3の集合に含まれる各移動体3に送信してもよい。停止方法識別子で識別される停止方法に対応する停止命令とは、その停止命令を受信する移動体3において、一時停止の停止命令であるのか、完全停止の停止命令であるのかを区別できるものであればよい。そのため、停止方法識別子で識別される停止方法に対応する停止命令は、例えば、その停止方法識別子を含む停止命令であってもよい。また、サーバ送信部24は、サーバ受信部21によって解除指示が受け付けられた場合に、その解除指示に対応する各移動体3に解除命令を送信してもよい。解除命令は、移動体3の移動の停止を解除するための命令である。したがって、解除命令を受信した移動体3は、再度、移動することができるようになる。なお、解除指示に対応する各移動体3とは、解除指示を送信した端末装置1から送信された停止指示によって停止されている各移動体3のことである。すなわち、その移動体3は、解除指示を送信した端末装置1から送信された停止指示に応じた停止命令が送信された移動体3である。また、サーバ送信部24は、停止指示や解除指示の受信に応じた送信以外の送信、例えば、移動体3の操作や設定等に関する情報の送信を行ってもよい。例えば、サーバ送信部24は、端末装置1から受信した情報を移動体3に送信してもよく、移動体3から受信した情報を端末装置1に送信してもよい。具体的には、移動体3から送信された現在位置を、端末装置1に送信してもよい。
なお、サーバ送信部24は、情報を移動体3や端末装置1に直接送信してもよく、または、他のサーバ等を介して間接的に送信してもよい。また、サーバ送信部24は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよい。また、サーバ送信部24は、送信を行うための送信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、サーバ送信部24は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
図4は、本実施の形態による移動体3の構成を示すブロック図である。図4において、移動体3は、移動機構31と、移動体受信部32と、移動体現在位置取得部33と、移動体送信部34と、制御部35とを備える。移動体3は、端末装置1によって設定された目的地、または他の方法によって設定された目的地に自律的に移動するものである。移動の経路は、移動体3によって取得されてもよく、または、端末装置1等によって指定されてもよい。移動体3は、例えば、走行する走行体であってもよく、または、飛行する飛行体であってもよい。また、移動体3は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、溶接ロボットであってもよく、塗装ロボットであってもよく、農薬散布ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。また、飛行体は、例えば、回転翼機であってもよく、飛行機であってもよく、飛行船であってもよく、その他の飛行体であってもよい。任意の位置に移動可能であるという観点からは、飛行体は、回転翼機であることが好適である。回転翼機は、例えば、ヘリコプターであってもよく、3個以上の回転翼(ロータ)を有するマルチコプターであってもよい。マルチコプターは、例えば、4個の回転翼を有するクワッドロータであってもよく、その他の個数の回転翼を有するものであってもよい。本実施の形態では、移動体3が搬送台車である場合について主に説明する。
移動機構31は、移動体3を移動させる。移動機構31は、移動体3を移動させることができるものであれば、その方式を問わない。移動機構31は、例えば、走行部(例えば、車輪や無限軌道など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよく、回転翼と、その回転翼を駆動する駆動手段とを有していてもよく、プロペラと、そのプロペラを駆動する駆動手段とを有していてもよい。この移動機構31としては、公知のものを用いることができるため、その詳細な説明を省略する。本実施の形態では、移動機構31が走行部と、その走行部を駆動する駆動手段とを有している場合について主に説明する。
移動体受信部32は、サーバ2から送信された停止命令を受信する。移動体受信部32は、サーバ2から送信された解除命令を受信してもよい。また、移動体受信部32は、サーバ2から送信された、移動体3の操作や設定等に関するその他の情報を受信してもよい。
なお、移動体受信部32は、受信を行うための受信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、移動体受信部32は、ハードウェアによって実現されてもよく、または受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
移動体現在位置取得部33は、移動体3の現在位置を取得する。現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の障害物までの距離を測定することによって行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、GPS(Global Positioning System)を用いる方法や、屋内GPSを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、周囲の障害物までの距離を測定することによって現在位置を取得する方法としては、例えば、周囲の複数方向の障害物までの距離を測定するレーザーレンジセンサ(レーザーレンジスキャナ)を用いる方法などが知られている。その周囲の障害物までの距離を測定したり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、SLAM(Simultaneous Localization and Mapping)などによって知られている方法を用いてもよい。また、あらかじめ作成された地図(例えば、周囲の障害物までの距離の測定結果や撮影画像を有する地図など)が記憶されている場合には、移動体現在位置取得部33は、周囲の障害物までの距離を測定し、地図を用いて、その測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いて、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、移動体3が車輪を有する場合には、移動体現在位置取得部33は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、移動体現在位置取得部33は、移動体3の向き(方向)を含む現在位置を取得してもよい。その方向は、例えば、北を0度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。また、移動体3が飛行体である場合には、移動体現在位置取得部33は、移動体3の高度をも取得してもよい。その高度は、例えば、気圧計や、地表までの距離を測定する距離計によって測定されてもよい。また、移動体3が飛行体である場合には、移動体現在位置取得部33は、仰俯角を含む向きを取得してもよい。その仰俯角は、例えば、傾斜センサ等によって測定されてもよい。
移動体送信部34は、移動体現在位置取得部33によって取得された現在位置をサーバ2に送信する。移動体送信部34は、例えば、定期的または不定期的に現在位置をサーバ2に送信してもよい。移動体送信部34は、現在位置と共に、移動体3を識別する移動体IDをもサーバ2に送信してもよい。また、移動体送信部34は、移動体3の操作や設定等に関して、適宜、情報をサーバ2に送信してもよい。また、移動体送信部34は、移動体3がある経路に沿って移動し、目的地に到達した場合に、目的地に到達した旨、すなわち経路に沿った移動が終了した旨をサーバ2に送信してもよい。
なお、移動体送信部34は、情報をサーバ2に直接送信してもよく、または、他のサーバ等を介して間接的に送信してもよい。また、移動体送信部34は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよい。また、移動体送信部34は、送信を行うための送信デバイス(例えば、ネットワークカードなど)を含んでもよく、または含まなくてもよい。また、移動体送信部34は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
制御部35は、移動機構31を制御する。制御部35は、例えば、端末装置1からある経路に沿って移動するように指示された場合に、移動体3がその経路に沿って移動するように移動機構31を制御してもよい。また、制御部35は、例えば、端末装置1からある目的地にまで移動するように指示された場合に、移動体3がその目的地にまで移動するように移動機構31を制御してもよい。その制御において、制御部35は、図示しない経路取得部によって取得された、移動体3の現在位置から目的地までの経路を用いてもよい。また、制御部35は、移動機構31の制御において、移動体現在位置取得部33によって取得された現在位置を用いてもよい。具体的には、制御部35は、移動体3の現在位置が、経路に応じた位置となるように移動機構31をフィードバック制御してもよい。また、制御部35は、経路に応じて、移動体3の方向をも制御してもよい。例えば、移動体3が進行方法を向くように制御してもよい。その場合には、制御部35は、移動体3の現在方向を用いて、移動体3の方向を制御してもよい。ある経路が与えられた場合に、その経路に応じて移動体3が移動するように移動機構31を制御する方法はすでに公知であり、その詳細な説明を省略する。
制御部35は、移動体受信部32によって停止命令が受信された場合に、移動機構31による移動を停止させる。なお、移動体受信部32によって受信された停止命令によって停止方法が指定されている場合、例えば、その停止命令に停止方法識別子が含まれている場合には、制御部35は、移動体受信部32によって受信された停止命令に対応する停止方法によって移動機構31による移動を停止させてもよい。具体的には、停止命令に対応する停止方法が一時停止である場合には、制御部35は、移動体3の速度が0になるように移動機構31を制御してもよい。また、停止命令に対応する停止方法が完全停止である場合には、制御部35は、移動機構31のハードウェア、例えばモータ等が停止するように、移動機構31の電源をオフにしてもよい。制御部35は、完全停止の場合には、移動機構31のモータ等をロックしてもよい。通常、完全停止の方が、一時停止よりも移動体3が停止するまでの時間は短いことになる。なお、停止命令に停止方法が対応していない場合には、制御部35は、例えば、停止命令に応じて一時停止の制御をしてもよく、完全停止の制御をしてもよい。また、制御部35は、移動体受信部32によって解除命令が受信された場合に、移動機構31による移動の停止を解除してもよい。具体的には、一時停止の制御を行った場合には、制御部35は、例えば、その一時停止までに行っていた移動が再開されるように移動機構31を制御してもよい。また、完全停止の制御を行った場合には、制御部35は、例えば、移動機構31の電源をオンにして、その後、端末装置1等からの操作等に応じて移動できるようにしてもよい。
また、制御部35は、移動中に障害物が検知された際に、障害物と干渉しないように移動機構31を制御してもよい。その制御は、例えば、移動体3の停止であってもよく、移動体3の減速であってもよく、障害物を回避する経路での移動であってもよい。その制御は、例えば、従来の自動搬送台車において障害物が検知された際に行われる障害物の回避動作等と同様のものであってもよい。その障害物の検知は、例えば、移動体3が有する図示しない障害物検知部によって行われてもよい。
また、制御部35は、通常の制御と、停止命令に応じた制御とを同じ構成で実行してもよく、または、異なる構成で実行してもよい。後者の場合には、制御部35は、通常の制御を行う第1の制御手段と、停止命令に応じた制御を行う第2の制御手段とを有していてもよい。そのように、通常の制御とは別系統の停止命令に応じた制御を行う手段を有していることによって、停止命令に応じた制御をより確実に実行できるようになる。
また、端末装置1や移動体3において経路の取得を行う場合には、端末装置1や移動体3は、経路取得部を備えていてもよい。その経路取得部は、例えば、ラプラスポテンシャル法や、A*アルゴリズム、RRT(Rapidly-exploring Random Tree)などの公知の方法を用いて、経路を生成してもよい。経路取得部は、経路の生成時に地図情報を用いてもよい。地図情報を用いる場合には、端末装置1や移動体3において地図情報が保持されていてもよい。また、経路取得部は、他の装置やサーバに出発地と目的地とを送信し、それに応じて、他の装置で生成された経路を受信することによって経路を取得してもよい。
次に、端末装置1の動作の一例について図5Aのフローチャートを用いて説明する。
(ステップS101)端末受信部13は、移動体3の現在位置を受信したかどうか判断する。そして、移動体3の現在位置を受信した場合には、ステップS102に進み、そうでない場合には、ステップS103に進む。
(ステップS102)表示部14は、ステップS101で受信された移動体3の現在位置に応じて、地図上に表示している移動体3の図形の表示を更新する。そして、ステップS101に戻る。
(ステップS103)受付部11は、移動体3の選択を受け付けたかどうか判断する。そして、移動体3の選択を受け付けた場合には、ステップS104に進み、そうでない場合には、ステップS107に進む。なお、受付部11は、例えば、地図上に表示しているいずれかの移動体3の図形が選択された場合に、その図形に対応する移動体3の選択を受け付けたと判断してもよい。なお、操作者によって選択された移動体3は、操作者が操作や設定等を行いたい移動体3であってもよい。
(ステップS104)端末送信部12は、ステップS103で選択された移動体3の移動体IDをサーバ2に送信する。
(ステップS105)端末受信部13は、ステップS104で送信した移動体IDで識別される移動体3が、移動体IDを送信した端末装置1に割り当てられたかどうか判断する。この判断は、移動体IDの送信に応じたサーバ2からの返信に応じて行われる。そして、その移動体3が端末装置1に割り当てられた場合には、ステップS106に進み、そうでない場合には、ステップS101に戻る。
(ステップS106)受付部11や端末送信部12等は、移動体3に関する設定等の処理を行う。その処理によって、例えば、ステップS104で送信した移動体IDで識別される移動体3に関する移動経路の設定や移動の開始指示等が行われてもよい。そして、ステップS101に戻る。
(ステップS107)受付部11は、停止操作を受け付けたかどうか判断する。そして、停止操作を受け付けた場合には、ステップS108に進み、そうでない場合には、ステップS101に戻る。
(ステップS108)端末送信部12は、ステップS107で受け付けられた停止操作に対応する集合識別子を含む停止指示をサーバ2に送信する。その停止指示には、端末装置1の端末IDや、停止操作に対応する停止方法識別子が含まれているものとする。
(ステップS109)受付部11は、解除操作を受け付けたかどうか判断する。そして、解除操作を受け付けた場合には、ステップS110に進み、そうでない場合には、解除操作を受け付けるまで、ステップS109の処理を繰り返す。なお、停止指示が送信されてから所定の時間が経過しても解除指示が受け付けられない場合には、タイムアウトであるとして、ステップS101に戻ってもよい。
(ステップS110)端末送信部12は、解除指示をサーバ2に送信する。その解除指示には、例えば、端末装置1の端末IDが含まれていてもよい。そして、ステップS101に戻る。
なお、図5Aのフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図5Aのフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、サーバ2の動作の一例について図6のフローチャートを用いて説明する。
(ステップS201)サーバ受信部21は、移動体3から現在位置を受信したかどうか判断する。そして、現在位置を受信した場合には、ステップS202に進み、そうでない場合には、ステップS203に進む。
(ステップS202)サーバ受信部21は、受信した現在位置を記憶部22に蓄積する。なお、サーバ受信部21は、その現在位置を、その現在位置を送信した移動体3の移動体IDに対応付けて記憶部22に蓄積することが好適である。そして、ステップS201に戻る。
(ステップS203)サーバ送信部24は、移動体3の現在位置を送信するかどうか判断する。そして、現在位置を送信する場合には、ステップS204に進み、そうでない場合には、ステップS205に進む。なお、サーバ送信部24は、例えば、現在位置を送信すると定期的に判断してもよい。
(ステップS204)サーバ送信部24は、記憶部22で記憶されている現在位置を読み出し、各端末装置1に送信する。なお、その現在位置は、移動体IDに対応付けられて送信されることが好適である。そして、ステップS201に戻る。
(ステップS205)サーバ受信部21は、移動体3の設定等に関する情報を受信したかどうか判断する。そして、そのような情報を受信した場合には、ステップS206に進み、そうでない場合には、ステップS207に進む。
(ステップS206)サーバ受信部21やサーバ送信部24等は、ステップS205で受信した情報に応じた処理を行う。その処理は、移動体3の設定等に関する処理である。そして、ステップS201に戻る。
(ステップS207)サーバ受信部21は、停止指示を受信したかどうか判断する。そして、停止指示を受信した場合には、ステップS208に進み、そうでない場合には、ステップS210に進む。
(ステップS208)特定部23は、ステップS207で受信された停止指示に含まれる集合識別子に対応する移動体3を特定する。また、特定部23は、ステップS207で受信された停止指示に含まれる端末IDと、特定した移動体3の移動体IDとを対応付ける情報を記憶部22に蓄積する。
(ステップS209)サーバ送信部24は、ステップS208で特定された移動体3に、停止命令を送信する。なお、サーバ送信部24は、ステップS207で受信された停止指示に含まれる停止方法識別子で識別される停止方法に応じた停止命令を送信するものとする。そして、ステップS201に戻る。なお、ステップS208において、特定された移動体3が存在しない場合には、サーバ送信部24は、停止命令の送信を行わなくてもよい。
(ステップS210)サーバ受信部21は、解除指示を受信したかどうか判断する。そして、解除指示を受信した場合には、ステップS211に進み、そうでない場合には、ステップS201に戻る。
(ステップS211)サーバ送信部24は、解除指示に対応する移動体3に、解除命令を送信する。解除指示に端末IDが含まれている場合には、サーバ送信部24は、記憶部22において、解除指示に含まれる端末IDに対応付けられている移動体IDで識別される移動体3に、解除命令を送信してもよい。なお、その送信後に、サーバ送信部24は、解除指示に含まれる端末IDと、それに対応付けられている移動体IDとを記憶部22から削除してもよい。そして、ステップS201に戻る。
なお、図6のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図6のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、移動体3の動作の一例について図7のフローチャートを用いて説明する。
(ステップS301)移動体送信部34は、現在位置を送信するかどうか判断する。そして、現在位置を送信する場合には、ステップS302に進み、そうでない場合には、ステップS304に進む。なお、移動体送信部34は、例えば、現在位置を送信すると定期的に判断してもよく、現在位置が閾値以上変化した場合に現在位置を送信すると判断してもよい。
(ステップS302)移動体現在位置取得部33は、現在位置を取得する。なお、移動体現在位置取得部33が現在位置の取得を定期的に行っている場合には、その取得された現在位置を保持しておき、その保持している最新の現在位置を読み出すことによって、現在位置を取得してもよい。
(ステップS303)移動体送信部34は、現在位置をサーバ2に送信する。その際に、移動体送信部34は、移動体3の移動体IDと共に現在位置をサーバ2に送信してもよい。そして、ステップS301に戻る。
(ステップS304)移動体受信部32は、サーバ2から停止命令以外の情報を受信したかどうか判断する。そして、サーバ2からその情報を受信した場合には、ステップS305に進み、そうでない場合には、ステップS314に進む。
(ステップS305)移動体受信部32は、受信された情報が移動の開始指示であるかどうか判断する。そして、移動の開始指示である場合には、ステップS307に進み、そうでない場合には、ステップS306に進む。
(ステップS306)移動体受信部32等は、ステップS304で受信された情報に応じた処理を行う。そして、ステップS301に戻る。
(ステップS307)制御部35は、経路に沿って移動体3が目的地にまで移動するように、移動機構31を制御する。このステップS307での制御は、移動体3の現在位置から経路上の次の目標位置までの移動制御であってもよい。この目標位置への移動が繰り返されることにより、移動体3は、最終的に目的地に移動することになる。
(ステップS308)制御部35は、移動体3が目的地に到達したかどうか判断する。そして、目的地に到達した場合には、ステップS309に進み、そうでない場合には、ステップS310に進む。
(ステップS309)移動体送信部34は、経路に沿った移動が終了した旨をサーバ2に送信する。そして、ステップS301に戻る。
(ステップS310)移動体受信部32は、停止命令を受信したかどうか判断する。そして、停止命令を受信した場合には、ステップS311に進み、そうでない場合には、ステップS307に戻る。
(ステップS311)制御部35は、移動機構31による移動を停止させる。なお、制御部35は、受信された停止命令で示される停止方法に応じて、移動機構31による移動を停止させるものとする。
(ステップS312)移動体受信部32は、解除命令を受信したかどうか判断する。そして、解除命令を受信した場合には、ステップS313に進み、そうでない場合には、解除命令を受信するまでステップS312の処理を繰り返す。
(ステップS313)制御部35は、ステップS311での移動の停止が、一時停止であるのか、完全停止であるのか判断する。そして、一時停止である場合には、ステップS307に戻り、それまでの移動を再開する。一方、完全停止である場合には、ステップS301に戻る。
(ステップS314)移動体受信部32は、停止命令を受信したかどうか判断する。そして、停止命令を受信した場合には、ステップS315に進み、そうでない場合には、ステップS301に戻る。
(ステップS315)制御部35は、移動機構31による移動を停止させる。なお、移動体受信部32によって停止命令が受信された際に移動体3が停止している場合には、制御部35は、その停止を継続するように移動機構31を制御してもよい。一方、停止命令が受信された際に移動体3が移動中である場合には、制御部35は、受信された停止命令で示される停止方法に応じて、移動機構31による移動を停止させるものとする。ただし、その停止は、所定の移動経路に沿った移動中の停止ではなく、例えば、操作者が端末装置1を用いて手動で移動体3を移動させている途中での停止であるため、一時停止と完全停止とはあまり変わらないことになる。再開すべき移動経路が存在しないからである。
(ステップS316)移動体受信部32は、解除命令を受信したかどうか判断する。そして、解除命令を受信した場合には、ステップS301に戻り、そうでない場合には、解除命令を受信するまでステップS316の処理を繰り返す。
なお、図7のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図7のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
ここで、サーバ2における対応情報の管理の処理について、図8を参照しながら具体的に説明する。
まず、端末ID「T001」で識別される端末装置1の操作者が、移動体ID「M001」で識別される移動体3を選択したとする。その選択は、例えば、図9Aで示される端末装置1に表示されている地図上における移動体3の図形をタップすることによって行われてもよい。その移動体3の選択は、受付部11によって受け付けられ、選択された移動体3の移動体IDが、端末送信部12に渡される(ステップS103)。そして、端末送信部12は、端末IDと、受付部11から受け取った移動体IDとをサーバ2に送信する(ステップS104)。
サーバ2のサーバ受信部21は、端末装置1から送信された端末ID「T001」と移動体ID「M001」とを受信すると、その端末ID及び移動体IDを特定部23に渡し、その端末IDをサーバ送信部24に渡す(ステップS205)。特定部23は、移動体IDを受け取ると、記憶部22で記憶されている対応情報を参照し、その移動体IDに割当先の端末IDか、関連先の端末IDが対応付けられているかどうか判断する。そして、少なくともいずれかの端末IDが対応付けられている場合には、その移動体IDで識別される移動体3は、別の端末装置1に割り当てられているか、関連しているため、特定部23は、移動体ID等を送信してきた端末装置1に割り当てることはできないと判断し、その判断結果をサーバ送信部24に渡す。すると、サーバ送信部24は、サーバ受信部21から受け取った端末IDで識別される端末装置1に、選択された移動体3を割り当てることはできない旨を示す判断結果を送信する(ステップS206)。端末装置1の端末受信部13は、その判断結果を受信することによって、選択された移動体3が端末装置1に割り当てられなかったと判断し、その後、経路の設定等の処理は行われないことになる(ステップS105)。なお、表示部4は、選択された移動体3が割り当てられなかった旨を表示してもよい。一方、記憶部22で記憶されている対応情報が図10Aで示されるものであり、移動体ID「M001」に割当先の端末IDや関連先の端末IDが対応付けられていない場合には、特定部23は、その移動体IDで識別される移動体3を、移動体ID等を送信してきた端末装置1に割り当てることができると判断し、その判断結果をサーバ送信部24に渡す。すると、サーバ送信部24は、サーバ受信部21から受け取った端末IDで識別される端末装置1に、選択された移動体3を割り当てることができた旨を示す判断結果を送信する(ステップS206)。端末装置1の端末受信部13は、その判断結果を受信することによって、選択された移動体3が端末装置1に割り当てられたと判断し(ステップS105)、その後、経路の設定等の処理が行われることになる。
移動体ID「M001」で識別される移動体3が、端末ID「T001」で識別される端末装置1に割り当てられたため、サーバ2の特定部23は、対応情報において、移動体ID「M001」に対応する割当先の端末ID及び関連先の端末IDとして、端末ID「T001」を設定する。その結果、対応情報は、図10Bで示されるようになる。その後、端末ID「T001」で識別される端末装置1と、移動体ID「M001」で識別される移動体3との間で、サーバ2を介して、移動経路の設定等の処理が行われる(ステップS106,S205,S206,S304〜S306)。なお、その設定等によって、例えば、移動体3が目的地にまで移動する所定の移動経路が設定されたものとする。そして、最後に端末装置1から移動体3に、移動の開始指示が送信されると、移動体3の移動体受信部32は、その指示を受信し、移動を開始すると判断し、移動を開始する旨を制御部35に渡す(ステップS304,S305)。すると、制御部35は、設定された移動経路で移動するように移動機構31を制御する(ステップS307,S308,S310)。ここで、サーバ2は、端末装置1から送信された移動の開始指示を移動体3に転送することによって、その設定の処理が終了したことを知ることができる。したがって、その開始指示が送信されると、特定部23は、記憶部22で記憶されている対応情報において、移動体ID「M001」に対応付けられている割当先の端末ID「T001」を削除する。その結果、対応情報は、図10Cで示されるようになる。
なお、移動体ID「M003」で識別される移動体3が、端末ID「T001」で識別される端末装置1によって設定された移動経路に沿って移動し、目的地に到達したとする。すると、移動体3の制御部35によって目的地に到達したと判断され(ステップS308)、移動体3からサーバ2に、移動が終了した旨と移動体ID「M003」とが送信される(ステップS309)。サーバ2のサーバ受信部21は、それらの情報を受信し、特定部23に渡す(ステップS205)。すると、特定部23は、記憶部22で記憶されている対応情報において、移動体ID「M003」に対応する関連先の端末ID「T001」を削除する(ステップS206)。その結果、対応情報は、図10Dで示されるようになる。このようにして、サーバ2において、端末装置1と移動体3との関係を示す対応情報が管理されることになる。
次に、本実施の形態による移動体システム100における移動体3の停止や、その停止の解除の動作について、具体例を用いて説明する。なお、この具体例では、ある操作者が、端末ID「T001」で識別される端末装置1を操作している場合について説明する。また、この具体例では、図9Aで示されるように、「全停止」の停止ボタン51、「関連停止」の停止ボタン52、「割当停止」の停止ボタン53、「個別停止」の停止ボタン54の4個の停止ボタンが端末装置1に表示されているものとする。また、全停止の停止ボタン51には、全移動体3の集合が対応付けられており、関連停止の停止ボタン52には、関連移動体の集合が対応付けられており、割当停止の停止ボタン53には、割当移動体の集合が対応付けられており、個別停止の停止ボタン54には、端末装置1において選択された移動体3の集合が対応付けられているとする。また、停止ボタン51,52に対応する停止方法は一時停止であり、停止ボタン53,54に対応する停止方法は完全停止であるとする。
なお、各移動体3では、現在位置の取得とサーバ2への送信が繰り返して行われる(ステップS301〜S303)。その現在位置は、移動体3の移動体IDと共にサーバ2に送信され、その移動体IDに対応付けられて記憶部22に蓄積される(ステップS201,S202)。また、サーバ2から各端末装置1に対しても、記憶部22で記憶されている移動体IDと移動体3の現在位置とを対応付ける情報が繰り返して各端末装置1に送信される(ステップS203,S204)。サーバ2から送信された現在位置等を受信した端末装置1では、例えば、その現在位置等を用いて、図9Aで示されるように、地図上における各移動体3の表示を更新することができる(ステップS101,S102)。
次に、移動体3を停止させる処理について説明する。まず、サーバ2で記憶されている対応情報が、図10Bで示されるものである場合について説明する。その場合には、端末ID「T001」で識別される端末装置1に、移動体ID「M001」で識別される移動体3が割り当てられていることになる。そのような状況において、操作者が、端末装置1を操作することによって、割り当てられている移動体3を出発地にまで手動で移動させていたとする(ステップS106,S205,S206,S304〜S306)。その際に、移動体3の前方に他の人間が移動してきたとする。そのため、操作者は、移動体3を緊急に停止させたいと考え、「割当停止」の停止ボタン53をタップしたとする。すると、「割当停止」の停止ボタン53による停止操作の行われたことが受付部11で受け付けられ、端末送信部12に渡される(ステップS107)。そして、端末送信部12は、端末ID「T001」と、割当移動体の集合を識別する集合識別子と、停止ボタン53に対応する停止方法である完全停止を識別する停止方法識別子とを含む停止指示をサーバ2に送信する(ステップS108)。
その停止指示は、サーバ2のサーバ受信部21で受信され、特定部23に渡される(ステップS207)。そして、特定部23は、その停止指示に含まれる集合識別子が、割当移動体の集合を識別するものであるため、図10Bで示される対応情報において、停止指示に含まれる端末ID「T001」が割当先の端末IDであるレコードを特定し、その特定したレコードから移動体ID「M001」を読み出す。その移動体IDが、特定した移動体3の移動体IDとなる。そして、特定部23は、その移動体ID「M001」と、停止指示に含まれていた完全停止を識別する停止方法識別子とをサーバ送信部24に渡すと共に、停止指示に含まれる端末ID「T001」と、特定した移動体ID「M001」とを対応付ける情報を記憶部22に蓄積する(ステップS208)。サーバ送信部24は、移動体ID「M001」と停止方法識別子とを受け取ると、完全停止に対応する停止命令を移動体ID「M001」で識別される移動体3に送信する(ステップS209)。なお、サーバ2において、移動体IDと、その移動体IDで識別される移動体3のアドレスとが対応付けられて保持されており、サーバ送信部24は、それを用いて停止命令の送信先のアドレスを取得してもよい。
サーバ2から送信された停止命令は、移動体ID「M001」で識別される移動体3の移動体受信部32で受信され、制御部35に渡される(ステップS314)。そして、制御部35は、その停止命令に応じて、移動機構31を完全停止させる(ステップS315)。なお、停止ボタン53の操作された端末装置1では、図9Bで示されるように、停止ボタン53が解除ボタン53に変更されているものとする。
その後、移動体ID「M001」で識別される移動体3の前方から人間がいなくなると、操作者は、図9Bで示される端末装置1の解除ボタン53をタップする。すると、解除操作が受付部11で受け付けられ、端末送信部12に渡される(ステップS109)。そして、端末送信部12は、端末ID「T001」を含む解除指示をサーバ2に送信する(ステップS110)。
その解除指示は、サーバ2のサーバ受信部21で受信され、サーバ送信部24に渡される(ステップS210)。サーバ送信部24は、記憶部22において、解除指示に含まれる端末ID「T001」に対応付けられている移動体ID「M001」を読み出し、その移動体IDで識別される移動体3に、解除命令を送信する(ステップS211)。なお、その際に、サーバ送信部24は、端末ID「T001」と移動体ID「M001」とを対応付ける情報を記憶部22から削除する。サーバ2から送信された解除命令は、移動体受信部32で受信される(ステップS316)。その結果、その移動体3は、停止が解除され、新たな指示等に応じた処理を行うことができるようになる。
次に、サーバ2で記憶されている対応情報が、図10Cで示されるものである場合について説明する。その場合には、移動体ID「M001」、「M003」で識別される移動体3が、端末装置1によって設定された移動経路に沿って自律的に移動していることになる(ステップS307)。そのような状況において、端末ID「T001」で識別される端末装置1の操作者が、以前に移動経路を設定した、移動体ID「M003」で識別される移動体3によって搬送されている搬送対象が、その移動体3から落ちそうになっているのを見かけたとする。そのため、その操作者が、端末装置1の関連停止に対応する停止ボタン52をタップしたとすると、上述の説明と同様にして、端末IDと、関連移動体の集合を識別する集合識別子と、一時停止を識別する停止方法識別子とを含む停止指示がサーバ2に送信される(ステップS107,S108)。
その停止指示は、サーバ2で受信され、その停止指示に応じて、端末ID「T001」が関連先の端末IDとなっている移動体ID「M001」、「M003」が特定される(ステップS207,S208)。そして、端末IDと、それらの移動体IDとを対応付ける情報が記憶部22に蓄積されると共に、それらの移動体IDに対応する移動体3に、一時停止に対応する停止命令が送信される(ステップS209)。その停止命令は、移動体ID「M001」、「M003」で識別される各移動体3で受信され、その停止命令に応じて、移動機構31が一時停止される(ステップS310,S311)。
その後、端末装置1の操作者が、移動体ID「M003」で識別される移動体3の搬送対象の位置を直した後に、解除ボタンをタップしたとする。すると、その解除操作に応じて、端末ID「T001」を含む解除指示がサーバ2に送信される(ステップS109,S110)。その解除指示は、サーバ2で受信され、その解除指示に含まれる端末IDに対応する移動体IDで識別される移動体3に解除命令が送信される(ステップS210,S211)。その結果、移動体ID「M001」、「M003」で識別される各移動体3において、解除命令が受信され、それに応じてそれまでの移動が再開されることになる(ステップS312,S313,S307)。
以上のように、本実施の形態による移動体システム100によれば、2以上の停止ボタンを用いて移動体3を停止させることができるため、複数の移動体3が移動している状況において、必要な範囲の移動体3を停止させることができる。その結果、目的とする移動体3を停止させることができると共に、それ以外の移動体3に与える影響を小さくすることも可能となる。例えば、すべての移動体3を停止させれば、停止させたい目的の移動体3も停止させることができるが、その場合には、停止させなくてもよい多くの移動体3も停止することになり、停止対象でない移動体3に与える影響が大きくなる。一方、停止させたい移動体3が、関連移動体である場合や、割当移動体である場合には、関連移動体に対応する停止ボタンや、割当移動体に対応する停止ボタンを操作することにより、関連移動体や割当移動体のみを停止させることができるようになる。そのため、すべての移動体3を停止させたときと比較して、停止させたい移動体3以外の移動体3に与える影響が小さくなる。また、停止ボタンが移動体3の集合に対応していることにより、例えば、関連移動体に対応する停止ボタンなどについては、その停止ボタンによって停止する移動体3が自動的に変更されることになる。そのため、例えば、操作者が、停止ボタンと、停止する移動体3との関係を手動で対応付ける必要がなく、利便性が向上されていることになる。また、例えば、地震等の災害発生時には、全移動体3に対応する停止ボタンを操作することにより、すべての移動体3を停止させることもできる。また、停止ボタンが移動体3の集合に対応していることによって、停止ボタンの個数が多くなりすぎることがなく、停止ボタンを操作するまでの時間を短くすることができ、その結果、停止させたい移動体3を素早く停止させることができるようになる。また、停止ボタンごとに停止方法を決めることもできるため、例えば、すべての移動体3を停止させるなどのように、多くの移動体3に影響を与える停止ボタンに対応する停止方法として一時停止を割り当てることによって、停止させたい移動体3以外の移動体3については、停止の解除後に移動を再開できるようにすることもできる。
なお、本実施の形態では、停止ボタンが、全移動体3の集合や、関連移動体の集合などに対応している場合について説明したが、そうでなくてもよいことは前述の通りである。ここでは、2以上の停止ボタンに、端末装置1の現在位置を基準とする2以上の範囲にそれぞれ存在する移動体3の2以上の集合が対応付けられている場合について簡単に説明する。この場合には、例えば、ある停止ボタンが操作されると、その停止ボタンに対応する範囲に存在する移動体3が停止されることになる。なお、その範囲は端末装置1の現在位置に応じて変化するため、この場合にも、通常、時間に応じて変化する集合となる。その2以上の範囲は、例えば、端末装置1の現在位置からの距離に応じた範囲であってもよく、それ以外の範囲(例えば、端末装置1の現在位置に対して北側の範囲、東側の範囲、南側の範囲、西側の範囲など)であってもよい。各範囲には、重複があってもよく、または、なくてもよい。なお、その2以上の範囲によって、移動体3のすべての移動範囲がカバーされることが好適である。各移動体3が少なくともいずれかの範囲に属するようになるためである。ここでは、図9Cで示されるように、全停止の停止ボタン61には、全移動体3の集合が対応付けられており、20m以外の停止ボタン62には、端末装置1から20メートル以内の範囲に存在する移動体3の集合が対応付けられており、10m以外の停止ボタン63には、端末装置1から10メートル以内の範囲に存在する移動体3の集合が対応付けられている場合について説明する。
このように、端末装置1の現在位置を用いる場合には、端末装置1の構成は、図2Bで示されるものとなる。また、その図2Bで示される端末装置1の動作は、図5Bのフローチャートで示されるものとなる。なお、図2Bで示される端末装置1は、端末現在位置取得部15をさらに備えている。端末現在位置取得部15は、端末装置1の現在位置を取得するものである。その現在位置の取得方法は、例えば、移動体現在位置取得部33による現在位置の取得方法と同様であってもよい。なお、端末送信部12は、停止指示を送信する際に、端末現在位置取得部15によって取得された現在位置を含む停止指示をサーバ2に送信するものとする。
図5Bのフローチャートにおいて、ステップS120以外の処理については、以下の説明以外、図5Aのフローチャートと同様であり、その説明を省略する。
(ステップS120)現在位置取得部15は、端末装置1の現在位置を取得する。
なお、ステップS108において、端末送信部12は、ステップS120で取得された現在位置を含む停止指示をサーバ2に送信するものとする。
サーバ2の特定部23は、記憶部22に蓄積した移動体3の現在位置と、停止指示に含まれる端末装置1の現在位置とを用いて、停止指示に含まれる集合識別子で識別される移動体3の集合に含まれる各移動体3を特定する。すなわち、特定部23は、停止指示に含まれる端末装置1の現在位置を基準とする範囲であり、その停止指示に含まれる集合識別子に対応する範囲に含まれる各移動体3を特定することになる。例えば、端末装置1の現在位置と、各移動体3の現在位置とが図11で示されるものであったとする。なお、図11において、2つの円の中心が、端末装置1の現在位置となっており、1〜4の各数字が移動体3の現在位置を示している。図11の場合には、特定部23は、停止指示に含まれる集合識別子が、端末装置1から10メートル以内の範囲に存在する移動体3の集合に対応するときには、移動体「1」を特定し、停止指示に含まれる集合識別子が、端末装置1から20メートル以内の範囲に存在する移動体3の集合に対応するときには、移動体「1」「3」「4」を特定し、停止指示に含まれる集合識別子が、全移動体3の集合に対応するときには、移動体「1」「2」「3」「4」を特定することになる。なお、特定部23は、例えば、移動体3から受信した現在位置と、停止指示に含まれる現在位置とを用いて、その停止指示を送信した端末装置1と、各移動体3との距離を算出し、その距離を10メートルや20メートル等の閾値と比較することによって、各移動体3が、停止指示に含まれる集合識別子で識別される集合に属するのかどうかを判断し、移動体3の特定を行ってもよい。また、特定部23によって移動体3が特定された後の処理は上述の説明と同様であり、その説明を省略する。
また、前述のように、2以上の停止ボタンには、移動体3の属性に応じた集合が対応付けられていてもよい。その属性は、上述のように、移動体3の機能的な種類(例えば、搬送ロボット、清掃ロボットなど)であってもよく、または、単に移動体3をグループ分けするための属性であってもよい。移動体3をグループ分けするための属性とは、例えば、移動体3の色や、移動体3に掲げられているマークなどの視覚的に認識可能なものであってもよい。具体的には、複数の移動体3は、「赤」「黄」「青」などのように色分けされており、2以上の停止ボタンには、各色の移動体3の集合が対応付けられていてもよい。また、サーバ2においても、移動体IDと、その移動体IDで識別される移動体3の色との関係が保持されていてもよい。そして、例えば、「赤」に対応する停止ボタンが操作された場合には、「赤」の移動体3が停止されてもよい。そのようにすることで、例えば、停止させたい移動体3を色に応じて指定することができるようになる。なお、色以外の属性についても同様である。また、移動体3の色やマークなどの視覚的に認識可能な属性を、サーバ2がダイナミックに変更するようにしてもよい。そのようにすることで、例えば、赤色の移動体3のみが自律移動しているような状況を回避できる。具体的には、移動体3にN個(Nは2以上の整数であるとする)の属性(例えば、色やマーク等)を設定できる場合には、サーバ2は、現在、自律的に移動している移動体3をN個にグループ分けし、グループごとに、特定の属性(例えば、色やマーク等)になるように設定してもよい。そのN個のグループ分けは、均等になるように行われることが好適である。各移動体3は、そのようにしてサーバ2によって設定された属性を視覚的に認識できるように出力してもよい。具体的には、サーバ2によって設定された色が、移動体3の表示灯によって示されてもよく、サーバ2によって設定されたマークが、移動体3に設けられたディスプレイに表示されてもよい。この場合には、端末装置1には、N個のグループに対応するN個の停止ボタンが存在することになる。
また、本実施の形態では、例えば、図9Aで示されるように停止ボタン51〜54が表示される場合や、図9Cで示されるように停止ボタン61〜63が表示される場合について説明したが、それらの停止ボタンが一緒に表示されてもよい。例えば、端末装置1において、図9Aの停止ボタン51〜54と、図9Cの停止ボタン62,63とが一緒に用いられるようになってもよい。その場合には、例えば、操作者は、近くの移動体3を停止させたい場合には、10メートル以内の集合に対応する停止ボタン63を操作し、関連移動体を停止させたい場合には、関連移動体の集合に対応する停止ボタン52を操作するようにしてもよい。
また、本実施の形態では、停止ボタンに停止方法が対応付けられている場合について説明したが、そうでなくてもよい。停止ボタンに停止方法が対応付けられていない場合には、停止指示に停止方法識別子が含まれていなくてもよく、また、停止命令は、停止方法に対応するものでなくてもよい。
また、本実施の形態では、移動体3が現在位置をサーバ2に送信する場合について説明したが、そうでなくてもよい。集合識別子で識別される移動体3の集合に含まれる各移動体3を特定する際に移動体3の現在位置を用いない場合や、端末装置1において移動体3の位置を表示しない場合には、移動体3は現在位置をサーバ2に送信しなくてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、端末装置1やサーバ2、移動体3に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。