(57)【特許請求の範囲】
【請求項１】
自律的に移動する移動体であって、
他の移動体の移動予定の時系列的な位置を示す他者予定軌道をサーバから受信する受信部と、
目的地を受け付ける受付部と、
前記他者予定軌道に干渉しないように、前記受付部によって受け付けられた目的地までの自己予定軌道を生成する生成部と、
前記生成部によって生成された自己予定軌道を蓄積する蓄積部と、
前記移動体を移動させる移動機構と、
前記蓄積部によって蓄積された自己予定軌道に応じて前記移動機構を制御する制御部と、
前記生成部によって生成された自己予定軌道を前記サーバに送信する送信部と、を備え、
前記送信部は、他者予定軌道の送信を要求する要求情報を前記サーバに送信する、移動体。
【請求項２】
自律的に移動する移動体であって、
他の移動体の移動予定の時系列的な位置を示す他者予定軌道をサーバから受信する受信部と、
前記他者予定軌道に干渉しないように自己予定軌道を生成する生成部と、
前記生成部によって生成された自己予定軌道を蓄積する蓄積部と、
前記移動体を移動させる移動機構と、
前記蓄積部によって蓄積された自己予定軌道に応じて前記移動機構を制御する制御部と、
前記生成部によって生成された自己予定軌道を前記サーバに送信する送信部と、
前記蓄積部によって蓄積された自己予定軌道上の障害物を検知する障害物検知部と、を備え、
前記送信部は、前記障害物検知部によって障害物が検知された場合に、他者予定軌道の送信を要求する要求情報を前記サーバに送信し、
前記生成部は、当該要求情報の送信に応じて受信された他者予定軌道を用いて、前記障害物検知部によって検知された障害物を回避する自己予定軌道を生成する、移動体。
【請求項３】
前記送信部は、前記障害物検知部によって検知された障害物の位置に関する情報である障害物情報を前記サーバに送信し、
前記受信部は、前記サーバから障害物情報をも受信し、
前記生成部は、前記受信部によって受信された障害物情報に対応する障害物と干渉しないように自己予定軌道を生成する、請求項２記載の移動体。
【請求項４】
自律的に移動する移動体であって、
他の移動体の移動予定の時系列的な位置を示す他者予定軌道を受信する受信部と、
前記他者予定軌道に干渉しないように自己予定軌道を生成する生成部と、
前記生成部によって生成された自己予定軌道を蓄積する蓄積部と、
前記移動体を移動させる移動機構と、
前記蓄積部によって蓄積された自己予定軌道に応じて前記移動機構を制御する制御部と、
前記生成部によって生成された自己予定軌道を送信する送信部と、
目的地を受け付ける受付部と、を備え、
前記送信部は、他者予定軌道の送信を要求する要求情報を前記他の移動体に送信し、
前記受信部は、前記他の移動体から前記他者予定軌道を受信し、
前記生成部は、前記受付部によって受け付けられた目的地までの自己予定軌道を生成し、
前記受信部は、前記他の移動体から要求情報を受信し、
前記送信部は、前記受信部による要求情報の受信に応じて、前記生成部によって生成された自己予定軌道を、当該要求情報を送信した移動体に送信する、移動体。
【請求項５】
自律的に移動する移動体であって、
他の移動体の移動予定の時系列的な位置を示す他者予定軌道を受信する受信部と、
前記他者予定軌道を当該予定軌道の速度に応じて拡張した他者拡張予定軌道と干渉しないように自己予定軌道を生成する生成部と、
前記生成部によって生成された自己予定軌道を蓄積する蓄積部と、
前記移動体を移動させる移動機構と、
前記蓄積部によって蓄積された自己予定軌道に応じて前記移動機構を制御する制御部と、
前記生成部によって生成された自己予定軌道を送信する送信部と、を備えた移動体。
【請求項６】
移動体の移動予定の時系列的な位置を示す予定軌道を受信する受信部と、
前記受信部によって受信された予定軌道を蓄積する蓄積部と、
前記蓄積部によって蓄積された予定軌道のうち、送信先の移動体以外の全ての移動体の予定軌道を移動体に送信する送信部と、
前記受信部によって受信された予定軌道が、前記蓄積部によって蓄積された予定軌道と干渉するかどうか判断する判断部と、を備え、
前記蓄積部は、前記判断部によって干渉しないと判断された場合に、前記受信部によって受信された予定軌道を蓄積する、サーバ。
【請求項７】
移動体の目的地を受け付ける受付部をさらに備え、
前記送信部は、前記受付部によって受け付けられた目的地を、当該目的地まで移動する移動体に送信する、請求項６記載のサーバ。
【請求項８】
前記受信部は、予定軌道の送信を要求する要求情報をも受信し、
前記送信部は、前記要求情報の受信に応じて、当該要求情報を送信した移動体に予定軌道を送信する、請求項６または請求項７記載のサーバ。
【請求項９】
移動体の移動予定の時系列的な位置を示す予定軌道を受信し、移動体によって検知された障害物の位置に関する情報である障害物情報を受信する受信部と、
前記受信部によって受信された予定軌道を蓄積し、前記受信部によって受信された障害物情報を蓄積する蓄積部と、
前記蓄積部によって蓄積された予定軌道を移動体に送信し、前記障害物情報を移動体に送信する送信部と、を備えたサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の移動体が自律的に移動する際に、各移動体の軌道が干渉しないようにすることができる移動体等に関する。
【背景技術】
【０００２】
従来、複数のロボットと、その複数のロボットの移動を制御することによって、ロボット同士の衝突を避けるようにするロボット制御装置とを有するマルチロボットシステムが知られている（特許文献１）。そのマルチロボットシステムにおいて、各々のロボットの軌道はサブゴール（ノード）の列として表現される。そして、ロボット制御装置は、そのサブゴールの列から複数のロボットの衝突可能性を判定し、衝突の可能性がある場合には、優先度の低いロボットの経路を変更させることによってロボットの衝突を回避している。
【０００３】
また、各ロボットが、サーバに移動経路の生成要求を送信するマルチロボットシステムが知られている（特許文献２）。そのマルチロボットシステムにおいて、サーバは、各ロボットからの要求に応じて移動経路を生成し、各ロボットに送信する。そのように、サーバにおいて全体の移動経路を生成するため、各ロボットが衝突しないように移動経路を生成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３３８６３号公報
【特許文献２】特開２０１０−２３１６９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１，２の方法では、ロボットの衝突を回避するため、サーバが衝突可能性の判定や、衝突回避のための経路の変更の制御、各ロボットの移動経路の生成等の処理を行うことになる。したがって、多くのロボットが存在する場合には、そのサーバの処理が過大になり、サーバでの処理が遅延する可能性がある。サーバでの処理が遅延すれば、適切な衝突回避を実現できなかったり、各ロボットが移動経路に応じた移動を開始するために長時間、待機しなくてはならなかったりする、という問題がある。また、そのような遅延を回避するためには、サーバにおいて、より多くの処理を実行できるようにする必要がある。
一般的に言えば、自律的に移動する複数の移動体が衝突しないように制御する場合に、サーバの負荷が高くならないようにしたいという要望があった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、サーバの負荷を高めることなく、各移動体が衝突しないようにすることができる移動体等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、他の移動体の移動予定の時系列的な位置を示す他者予定軌道を受信する受信部と、他者予定軌道に干渉しないように自己予定軌道を生成する生成部と、生成部によって生成された自己予定軌道を蓄積する蓄積部と、移動体を移動させる移動機構と、蓄積部によって蓄積された自己予定軌道に応じて移動機構を制御する制御部と、生成部によって生成された自己予定軌道を送信する送信部と、を備えたものである。
このような構成により、他の移動体の予定軌道に干渉しないように各移動体において自らの予定軌道を生成することになる。したがって、サーバの負荷を高めることなく、自律的に移動する各移動体が衝突しないようにすることができる。
【０００８】
また、本発明による移動体では、受信部は、サーバから他者予定軌道を受信し、送信部は、サーバに自己予定軌道を送信してもよい。
このような構成により、各移動体の予定軌道をサーバにおいて一元管理できるようになる。
【０００９】
また、本発明による移動体では、受信部は、サーバから目的地をも受信し、生成部は、受信部によって受信された目的地までの自己予定軌道を生成してもよい。
このような構成により、各移動体にサーバ経由で目的地が送信されることになる。そのため、例えば、ある移動体を所定の目的地まで移動させたい者は、サーバにその目的地を入力すればよいことになり、目的地の設定が容易になる。
【００１０】
また、本発明による移動体では、目的地を受け付ける受付部をさらに備え、送信部は、他者予定軌道の送信を要求する要求情報をサーバに送信し、生成部は、受付部によって受け付けられた目的地までの自己予定軌道を生成してもよい。
このような構成により、移動体は、要求情報を送信することによって、任意のタイミングで他の移動体の予定軌道を受信することができ、その受信した他者予定軌道を用いた自己予定軌道の生成が可能となる。
【００１１】
また、本発明による移動体では、蓄積部によって蓄積された自己予定軌道上の障害物を検知する障害物検知部をさらに備え、送信部は、障害物検知部によって障害物が検知された場合に、他者予定軌道の送信を要求する要求情報をサーバに送信し、生成部は、要求情報の送信に応じて受信された他者予定軌道を用いて、障害物検知部によって検知された障害物を回避する自己予定軌道を生成してもよい。
このような構成により、障害物が検知された場合に、その検知された障害物を回避できる新たな自己予定軌道を生成することができるようになる。
【００１２】
また、本発明による移動体では、送信部は、障害物検知部によって検知された障害物の位置に関する情報である障害物情報をサーバに送信し、受信部は、サーバから障害物情報をも受信し、生成部は、受信部によって受信された障害物情報に対応する障害物と干渉しないように自己予定軌道を生成してもよい。
このような構成により、障害物に関する情報をもサーバにおいて一元管理できるようになる。
【００１３】
また、本発明による移動体では、目的地を受け付ける受付部をさらに備え、送信部は、他者予定軌道の送信を要求する要求情報を他の移動体に送信し、受信部は、他の移動体から他者予定軌道を受信し、生成部は、受付部によって受け付けられた目的地までの自己予定軌道を生成し、受信部は、他の移動体から要求情報を受信し、送信部は、受信部による要求情報の受信に応じて、生成部によって生成された自己予定軌道を、要求情報を送信した移動体に送信してもよい。
このような構成により、各移動体の間で予定軌道が送受信されることになり、サーバが存在しなくても、各移動体は、衝突しないように自律的に移動できることになる。
【００１４】
また、本発明による移動体では、生成部は、他者予定軌道を予定軌道の速度に応じて拡張した他者拡張予定軌道と干渉しないように自己予定軌道を生成してもよい。
このような構成により、より安全な予定軌道の生成を実現することができる。すなわち、速度が大きいほど、誤差等によって予定軌道を外れる可能性が高いと考えられるところ、そのことを考慮した自己予定軌道の生成を行うことによって、その誤差等に起因する衝突の可能性を低減することができる。
【００１５】
また、本発明によるサーバは、移動体の移動予定の時系列的な位置を示す予定軌道を受信する受信部と、受信部によって受信された予定軌道を蓄積する蓄積部と、蓄積部によって蓄積された予定軌道を移動体に送信する送信部と、を備えたものである。
このような構成により、ある移動体が予定軌道を生成する際に、他の移動体の予定軌道を送信することによって、他の移動体の予定軌道と干渉しない予定軌道の生成をサポートすることができる。また、サーバにおいて予定軌道の生成を行わないため、多くの移動体が存在しても、サーバは過負荷にならないことになる。
【００１６】
また、本発明によるサーバでは、移動体の目的地を受け付ける受付部をさらに備え、送信部は、受付部によって受け付けられた目的地を、目的地まで移動する移動体に送信してもよい。
このような構成により、各移動体にサーバ経由で目的地が送信されることになる。そのため、例えば、ある移動体を所定の目的地まで移動させたい者は、サーバにその目的地を入力すればよいことになり、目的地の設定が容易になる。
【００１７】
また、本発明によるサーバでは、受信部は、予定軌道の送信を要求する要求情報をも受信し、送信部は、要求情報の受信に応じて、要求情報を送信した移動体に予定軌道を送信してもよい。
このような構成により、移動体は、要求情報を送信することによって、任意のタイミングで他の移動体の予定軌道を受信することができ、その受信した他者予定軌道を用いた自己予定軌道の生成が可能となる。
【００１８】
また、本発明によるサーバでは、送信部は、予定軌道を送信してから、それに応じて受信された予定軌道が蓄積されるまで、予定軌道の送信を行わなくてもよい。
このような構成により、ある移動体による予定軌道の生成が行われている場合には、他の移動体による予定軌道の生成を阻止することができ、蓄積部によって蓄積される予定軌道が干渉しないようにすることができる。その結果、安全性を高めることができる。
【００１９】
また、本発明によるサーバでは、受信部によって受信された予定軌道が、蓄積部によって蓄積された予定軌道と干渉するかどうか判断する判断部をさらに備え、蓄積部は、判断部によって干渉しないと判断された場合に、受信部によって受信された予定軌道を蓄積してもよい。
このような構成により、蓄積部によって蓄積される予定軌道が干渉しないようにすることができ、安全性を高めることができる。
【００２０】
また、本発明によるサーバでは、受信部は、移動体によって検知された障害物の位置に関する情報である障害物情報をも受信し、蓄積部は、受信部によって受信された障害物情報をも蓄積し、送信部は、障害物情報をも移動体に送信してもよい。
このような構成により、障害物に関する情報をもサーバにおいて一元管理できるようになる。
【発明の効果】
【００２１】
本発明による移動体等によれば、サーバに高い負荷をかけることなく、各移動体の軌道が干渉しないようにすることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態による移動体システムの構成を示す模式図
【図２Ａ】同実施の形態によるサーバの構成を示すブロック図
【図２Ｂ】同実施の形態によるサーバの他の構成の一例を示すブロック図
【図２Ｃ】同実施の形態によるサーバの他の構成の一例を示すブロック図
【図３Ａ】同実施の形態による移動体の構成を示すブロック図
【図３Ｂ】同実施の形態による移動体の他の構成の一例を示すブロック図
【図４Ａ】同実施の形態によるサーバの動作を示すフローチャート
【図４Ｂ】同実施の形態によるサーバの他の動作の一例を示すフローチャート
【図４Ｃ】同実施の形態によるサーバの他の動作の一例を示すフローチャート
【図５Ａ】同実施の形態による移動体の動作を示すフローチャート
【図５Ｂ】同実施の形態による移動体の他の動作の一例を示すフローチャート
【図５Ｃ】同実施の形態による移動体の他の動作の一例を示すフローチャート
【図６Ａ】同実施の形態における移動体の予定軌道の一例を示す図
【図６Ｂ】同実施の形態における移動体の予定軌道の一例を示す図
【図６Ｃ】同実施の形態における移動体の予定軌道の一例を示す図
【図６Ｄ】同実施の形態における移動体の予定軌道の一例を示す図
【図７Ａ】同実施の形態における障害物情報の一例を示す図
【図７Ｂ】同実施の形態における障害物情報の一例を示す図
【図８】同実施の形態における予定軌道の生成について説明するための図
【図９Ａ】同実施の形態における拡張予定軌道について説明するための図
【図９Ｂ】同実施の形態における拡張予定軌道について説明するための図
【図９Ｃ】同実施の形態における拡張予定軌道について説明するための図
【発明を実施するための形態】
【００２３】
以下、本発明によるサーバ、及び移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、各移動体において自らの予定軌道を生成するものである。
【００２４】
図１は、本実施の形態による移動体システム１００の構成を示す模式図であり、図２Ａは、本実施の形態によるサーバ１の構成を示すブロック図であり、図３Ａは、本実施の形態による移動体２の構成を示すブロック図である。本実施の形態による移動体システム１００は、サーバ１と、複数の移動体２とを備える。サーバ１と、複数の移動体２とは、有線または無線の通信回線５００によって通信可能に接続されている。移動体２が自由に移動できるためには、移動体２における情報の送受信は、少なくとも無線通信によって行われることが好適である。通信回線５００は、例えば、インターネットやイントラネット、公衆電話回線網等であってもよい。なお、移動体システム１００に含まれる移動体２の個数は、１個であってもよく、２個以上であってもよい。通常、移動体システム１００には、多くの移動体２が含まれており、本実施の形態でも、その場合について主に説明する。
【００２５】
図２Ａで示されるように、サーバ１は、受信部１１と、蓄積部１２と、記憶部１３と、受付部１４と、送信部１５とを備える。
受信部１１は、移動体２の予定軌道を受信する。その予定軌道は、移動体２の移動予定の時系列的な位置を示すものである。移動予定の時系列的な位置は、時間的な要素を含む移動経路である。その時系列的な位置は、位置の時間変化や、時系列に沿った位置と考えてもよい。したがって、予定軌道によって、移動体２がある時点に存在する地点を知ることができることになる。その地点は、厳密には予想地点である。なお、予定軌道は、通常、移動体２が将来、移動する位置及び時点を示すものである。予定軌道には、移動体２の方向（向き）が含まれていてもよく、または、そうでなくてもよい。その移動体２の方向は、２次元平面での移動体２の方向であってもよく、３次元空間での移動体２の方向であってもよい。前者の場合には、例えば、移動体２の向きを、北を０度として、時計回りに測定した方位角であってもよく、後者の場合には、例えば、移動体２の向きを、極座標系において測定した仰俯角と方位角とであってもよい。その移動体２の方向は、移動体２の姿勢であると考えてもよい。本実施の形態では、説明を簡単にするため、予定軌道に移動体２の方向が含まれない場合について主に説明する。
【００２６】
受信部１１は、予定軌道の送信を要求する要求情報をも受信してもよい。その要求情報は、移動体２から送信されたものである。また、受信部１１は、移動体２によって検知された障害物の位置に関する情報である障害物情報をも受信してもよい。障害物情報については後述する。その障害物情報は、通常、移動体２から送信されたものである。なお、受信部１１は、予定軌道や、要求情報、障害物情報を受信する際に、それらの情報を送信した移動体２の移動体ＩＤと一緒に受信してもよく、または、そうでなくてもよい。移動体ＩＤは、移動体２を識別する識別子である。その識別子は、例えば、アドレスであってもよく、固有の文字列等であってもよい。
【００２７】
なお、受信部１１は、受信を行うための有線または無線の受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、受信部１１は、ハードウェアによって実現されてもよく、または受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２８】
蓄積部１２は、受信部１１によって受信された予定軌道を記憶部１３に蓄積する。また、障害物情報も受信される場合には、蓄積部１２は、受信部１１によって受信された障害物情報をも記憶部１３に蓄積してもよい。予定軌道や障害物情報と共に移動体ＩＤも受信される場合には、蓄積部１２は、予定軌道や障害物情報を、その移動体ＩＤに対応付けて記憶部１３に蓄積してもよい。
【００２９】
記憶部１３では、移動体２の予定軌道が記憶される。また、障害物情報も記憶されてもよい。それらの情報は、前述のように、蓄積部１２によって蓄積されたものである。通常、記憶部１３で記憶されている予定軌道は、将来の軌道を示すものであるが、時間の経過と共に過去の軌道を示すものになりうる。したがって、予定軌道が過去の時点に対応するものとなった場合には、その予定軌道は削除されてもよく、または、そうでなくてもよい。その予定軌道の削除は、例えば、蓄積部１２によって行われてもよく、または、図示しない削除部によって行われてもよい。また、一の予定軌道における過去の時点に対応する軌道部分についても同様である。また、移動体２から送信された以外の障害物情報が記憶部１３で記憶されていてもよい。そのような障害物情報は、例えば、移動体２が移動する領域に継続的に存在する障害物、例えば、柱や壁、載置物等であってもよい。したがって、障害物情報は、例えば、柱や壁等を示す地図と同様の情報であると考えることもできる。記憶部１３での記憶は、ＲＡＭ等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部１３は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００３０】
受付部１４は、移動体２の目的地を受け付ける。その目的地は、例えば、緯度と経度を示す座標であってもよく、その他の座標等であってもよい。また、受付部１４は、目的地と、その目的地に移動させたい移動体２の移動体ＩＤとを受け付けてもよい。本実施の形態では、移動体ＩＤが目的地と一緒に受け付けられる場合について主に説明する。
【００３１】
受付部１４は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部１４は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、受付部１４は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３２】
送信部１５は、目的地の受け付けに応じて、蓄積部１２によって蓄積された予定軌道と、受付部１４によって受け付けられた目的地とを移動体２に送信する。その送信先の移動体２は、その目的地まで移動する移動体２である。例えば、受付部１４において、目的地と共に移動体ＩＤも受け付けられた場合には、その受け付けられた移動体ＩＤで識別される移動体２が、送信先の移動体２となる。一方、移動体ＩＤが受け付けられなかった場合には、送信先の移動体２は、記憶部１３で記憶されている予定軌道によって、今後の移動予定がないことが分かっている移動体２であってもよい。そのような移動体２が複数存在する場合には、任意の基準で選択された移動体２が、送信先の移動体２となってもよい。その基準は、例えば、目的地に最も近い移動体２や、稼働率が最も低い移動体２等であってもよい。そのような基準を用いた選択を行う場合には、サーバ１において、各移動体２の現在の位置や、各移動体２の稼働率等が管理されていてもよい。また、送信部１５は、要求情報の受信に応じて、要求情報を送信した移動体２に予定軌道を送信してもよい。送信対象の予定軌道は、通常、送信先の移動体２以外の移動体２の予定軌道であるが、送信先の移動体２の予定軌道が含まれてもよい。通常、記憶部１３で記憶されている予定軌道は、将来の軌道を示すものであるが、時間の経過と共に過去の軌道を示すものになりうる。その場合に、送信対象の予定軌道は、その送信時点よりも将来の予定軌道のみであってもよく、または、過去の予定軌道を含んでいてもよい。送信部１５は、記憶部１３で記憶されている障害物情報をも移動体２に送信してもよい。その障害物情報の送信は、予定軌道の送信と一緒に行われてもよく、または、別々に行われてもよい。本実施の形態では、前者の場合について主に説明する。また、送信部１５は、予定軌道を送信してから、それに応じて受信された予定軌道が蓄積されるまで、予定軌道の送信を行わなくてもよい。このようにすることで、ある移動体２において予定軌道の生成が行われている間は、サーバ１で記憶されている予定軌道をロックすることができ、互いに干渉する予定軌道が記憶部１３で記憶される事態を回避することによって、安全性を高めることができる。
【００３３】
なお、送信部１５は、予定軌道等を移動体２に直接送信してもよく、または、他の装置等を介して間接的に送信してもよい。また、送信部１５は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよく、または、送信までに他の構成要素や他のサーバ等から受け取ったアドレスを送信先として送信を行ってもよい。例えば、サーバにおいて、移動体ＩＤと、その移動体ＩＤで識別される移動体２のアドレスとが対応付けられて保持されている場合には、送信部１５は、その保持されている情報を用いて、移動体２のアドレスを特定してもよい。また、送信部１５は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、送信部１５は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３４】
移動体２は、他移動体の予定軌道と干渉しないように自らが生成した予定軌道に応じて自律的に移動するものである。移動体２は、例えば、走行する走行体であってもよく、または、飛行する飛行体であってもよい。また、移動体２は、例えば、台車であってもよく、ロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、その他のロボットであってもよい。また、飛行体は、例えば、回転翼機であってもよく、飛行機であってもよく、飛行船であってもよく、その他の飛行体であってもよい。任意の位置に移動可能であるという観点からは、飛行体は、回転翼機であることが好適である。回転翼機は、例えば、ヘリコプターであってもよく、３個以上の回転翼（ロータ）を有するマルチコプターであってもよい。マルチコプターは、例えば、４個の回転翼を有するクワッドロータであってもよく、その他の個数の回転翼を有するものであってもよい。本実施の形態では、移動体２が搬送台車である場合について主に説明する。図３Ａで示されるように、移動体２は、受信部２１と、生成部２２と、蓄積部２３と、記憶部２４と、障害物検知部２５と、移動機構２６と、制御部２７と、送信部２８とを備える。
【００３５】
受信部２１は、他の移動体２の予定軌道（以下、「他者予定軌道」と呼ぶこともある）と目的地とをサーバ１から受信する。受信部２１は、サーバ１から障害物情報をも受信してもよい。なお、受信部２１は、受信を行うための有線または無線の受信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、受信部２１は、ハードウェアによって実現されてもよく、または受信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００３６】
生成部２２は、他者予定軌道に干渉しないように、受信された目的地までの自移動体の予定軌道（以下、「自己予定軌道」と呼ぶこともある）を生成する。他者予定軌道は、受信部２１によって受信されたものである。また、自己予定軌道の出発地は、通常、移動体２の現在位置である。その現在位置は、後述する現在位置取得部によって取得されたものであってもよい。なお、移動体２が現在移動中である場合には、生成部２２は、その移動における目的地、その目的地への到着予定時間（または、その到着予定時間から所定期間だけ後の時間）からの自己予定軌道を生成してもよい。他者予定軌道に干渉しないように自己予定軌道を生成するとは、他者予定軌道に応じて移動する他移動体と衝突しないように、自己予定軌道を生成することであり、例えば、時空間座標系において、他の移動体２の他者予定軌道と交わらないように自己予定軌道を生成することであってもよい。生成部２２は、受信部２１によって受信された障害物情報に対応する障害物と干渉しないように自己予定軌道を生成してもよい。すなわち、生成部２２は、障害物情報の示す障害物の位置を避けるように、自己予定軌道を生成してもよい。また、障害物検知部２５によって障害物が検知された場合には、生成部２２は、その検知された障害物とも干渉しないように自己予定軌道を生成してもよい。その自己予定軌道の生成において、生成部２２は、後述するように、障害物の検知に応じた要求情報の送信に対応してサーバ１から送信された他者予定軌道を用いて、自己予定軌道を生成してもよい。また、生成部２２は、例えば、時空間ＲＲＴ（Rapidly-exploring Random Tree）を用いて自己予定軌道の生成を行ってもよい。その時空間ＲＲＴについては、例えば、次の文献を参照されたい。
文献：坂原洋人、升谷保博、宮崎文夫、「時空間ＲＲＴによる複数移動障害物を考慮したリアルタイム軌道生成」、計測自動制御学会論文集、Vol. 43, No. 4, pp. 277-284, 2007
【００３７】
また、生成部２２は、空間座標系において目的地までの経路を生成し、その経路に時間的な要素を加えた軌道の候補を生成し、その軌道の候補と、他者予定軌道とが時空間座標系において交わる場合には、その交点の前で減速または停止するように軌道の候補を変更することを、軌道の候補の出発地から目的地まで行うことによって、最終的な軌道である自己予定軌道を生成してもよい。空間座標系における経路の生成の方法としては、例えば、ラプラスポテンシャル法を用いた方法や、Ａ＊アルゴリズムを用いた方法、ＲＲＴを用いた方法などの公知の方法を用いてもよい。また、その予定軌道の生成時に、生成部２２は、図示しない記録媒体で記憶されている地図を参照して予定軌道を生成してもよい。地図を参照した軌道生成は公知であり、その説明を省略する。なお、受信された予定軌道のうち、記憶部２４で記憶されている予定軌道と同じ予定軌道は、自移動体の予定軌道であるため、生成部２２は、その予定軌道を、自己予定軌道の生成に用いなくてもよい。
なお、自己予定軌道と他者予定軌道は、相対的なものである。ある移動体２の自己予定軌道は、他の移動体２の他者予定軌道となるからである。
【００３８】
蓄積部２３は、生成部２２によって生成された予定軌道、すなわち自己予定軌道を記憶部２４に蓄積する。生成部２２による自己予定軌道の生成が何回か行われた場合には、蓄積部２３は、その生成された自己予定軌道を上書きで蓄積してもよく、または、そうでなくてもよい。後者の場合であっても、最新の自己予定軌道が特定可能なように蓄積されることが好適である。
【００３９】
記憶部２４では、生成部２２によって生成された移動体２の自己予定軌道が記憶される。その自己予定軌道は、蓄積部２３によって蓄積されたものである。記憶部２４での記憶は、ＲＡＭ等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部２４は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現されうる。
【００４０】
障害物検知部２５は、蓄積部２３によって蓄積された自己予定軌道上の障害物を検知する。自己予定軌道上の障害物を検知するとは、自己予定軌道に対応する経路上に存在する障害物を検知することである。なお、厳密には経路上に存在しなくても、移動体２がその経路を通過する際に障害となる障害物も、自己予定軌道上の障害物であると考えてもよい。その障害物の検知は、通常、移動体２の移動中に行われる。障害物検知部２５が障害物を検知する方法は問わない。例えば、障害物検知部２５は、超音波センサや、レーザーセンサ等によって、障害物までの距離を測定し、その距離があらかじめ決められた閾値以下となった場合に、障害物を検知してもよい。そのレーザーセンサは、例えば、レーザーレンジセンサ（レーザーレンジスキャナ）であってもよい。また、障害物検知部２５は、移動体２の外周に取り付けられた感圧センサによって、接触を検知した場合に、障害物を検知してもよい。また、障害物検知部２５は、撮像センサや、その他の公知のセンサによって障害物を検知してもよい。障害物検知部２５は、自己予定軌道上の障害物を適切に検知することができるようにするため、例えば、進行方向前方に存在する障害物を検知するように設けられていてもよい。具体的には、移動体２の進行方向前方に、超音波センサやレーザーセンサ、感圧センサ等が設けられていてもよい。
【００４１】
障害物検知部２５は、障害物の検知に応じて、その検知した障害物に関する障害物情報を生成してもよい。その障害物情報は、検知された障害物の位置に関する情報であり、例えば、障害物の位置を示す情報（例えば、障害物の座標値を示す情報など）であってもよく、大きさのある障害物の範囲を示す情報（例えば、障害物の座標値と、当該障害物の直径や幅などの大きさとを示す情報）であってもよい。検知した障害物までの距離や方向が分からない場合、例えば、感圧センサ等によって障害物を検知した場合には、障害物検知部２５は、その検知時点の移動体２の位置を、障害物の位置として示す障害物情報を生成してもよい。その位置は、後述する現在位置取得部によって取得されたその時点の現在位置であってもよい。また、検知した障害物までの距離や方向が分かる場合、例えば、超音波センサやレーザーセンサ等の距離センサによって障害物を検知した場合には、障害物検知部２５は、その障害物までの距離や、その検知時点の距離センサの向き、移動体２の現在位置を用いて、障害物の位置を算出してもよい。具体的には、その距離や向きを用いて、移動体２の現在位置から障害物の位置までのベクトルを生成し、移動体２の現在位置から、そのベクトルに応じた距離及び向きだけ離れた位置を、障害物の位置としてもよい。また、障害物検知部２５がレーザーレンジセンサ等を有している場合には、障害物の幅を取得できることもある。そのように、障害物の幅を取得できた場合には、障害物検知部２５は、障害物の位置と、幅とを含む障害物情報を生成してもよい。また、障害物検知部２５は、検知した障害物の位置に関する障害物情報を、その他の方法によって生成してもよい。
【００４２】
移動機構２６は、移動体２を移動させる。移動機構２６は、移動体２を移動させることができるものであれば、その方式を問わない。移動機構２６は、例えば、走行部（例えば、車輪や無限軌道など）と、その走行部を駆動する駆動手段（例えば、モータやエンジンなど）とを有していてもよく、回転翼と、その回転翼を駆動する駆動手段とを有していてもよく、プロペラと、そのプロペラを駆動する駆動手段とを有していてもよい。この移動機構２６としては、公知のものを用いることができるため、その詳細な説明を省略する。本実施の形態では、移動機構２６が走行部と、その走行部を駆動する駆動手段とを有している場合について主に説明する。
【００４３】
制御部２７は、蓄積部２３によって蓄積された自己予定軌道に応じて移動機構２６を制御する。すなわち、制御部２７は、その自己予定軌道に応じて移動体２が移動するように、移動機構２６を制御する。なお、自己予定軌道に移動体２の方向が含まれる場合には、制御部２７は、移動体２がその自己予定軌道に含まれる方向を向くように移動機構２６を制御するものとする。なお、制御部２７は、それらの制御において、移動体２の現在位置や現在方向を用いてもよい。したがって、制御部２７は、移動体２の現在位置や現在方向が、自己予定軌道によって示される位置や方向となるように移動機構２６をフィードバック制御してもよい。ある予定軌道が与えられた場合に、その予定軌道に応じて移動体２が移動するように移動機構２６を制御する方法はすでに公知であり、その詳細な説明を省略する。
【００４４】
また、制御部２７は、移動中に障害物検知部２５によって障害物が検知された際に、障害物と干渉しないように移動機構２６を制御してもよい。その制御は、例えば、移動体２の停止であってもよく、移動体２の減速であってもよい。その制御は、例えば、従来の自動搬送台車において障害物が検知された際に行われる障害物の回避動作等と同様のものであってもよい。
【００４５】
また、移動体２は、図示しない現在位置取得部を有していてもよい。その現在位置取得部は、例えば、移動体２の現在位置や、現在方向を取得するものであってもよい。その現在位置取得部による現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の障害物までの距離を測定することによって行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、ＧＰＳ（Global Positioning System）を用いる方法や、屋内ＧＰＳを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、周囲の障害物までの距離を測定することによって現在位置を取得する方法としては、例えば、周囲の複数方向の障害物までの距離を測定するレーザーレンジセンサを用いる方法などが知られている。その周囲の障害物までの距離を測定したり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、ＳＬＡＭ（Simultaneous Localization and Mapping）などによって知られている方法を用いてもよい。また、あらかじめ作成された地図（例えば、周囲の障害物までの距離の測定結果や撮影画像を有する地図など）が記憶されている場合には、現在位置取得部は、周囲の障害物までの距離を測定し、地図を用いることによって、その測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いることによって、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、移動体２が車輪を有する場合には、現在位置取得部は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、現在位置取得部は、移動体２の向き（方向）を含む現在位置を取得してもよい。その方向は、例えば、北を０度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。また、移動体２が飛行体である場合には、現在位置取得部は、移動体２の高度をも取得してもよい。その高度は、例えば、気圧計や、地表までの距離を測定する距離計によって測定されてもよい。
【００４６】
送信部２８は、生成部２２によって生成された自己予定軌道をサーバ１に送信する。また、送信部２８は、障害物検知部２５によって障害物が検知された場合に、他者予定軌道の送信を要求する要求情報をサーバ１に送信してもよい。新たに送信された他者予定軌道を用いて、障害物を回避する自己予定軌道を生成できるようにするためである。なお、障害物が検知された場合に要求情報を送信するとは、障害物が検知されたすべての場合に要求情報を送信することであってもよく、障害物が検知され、短時間では除去されないと判断された場合等に要求情報を送信することであってもよい。また、送信部２８は、障害物検知部２５によって検知された障害物の位置に関する情報である障害物情報をサーバ１に送信してもよい。その障害物情報は、例えば、障害物の検知に応じて要求情報と一緒にサーバ１に送信されてもよく、または、別々に送信されてもよい。
【００４７】
なお、送信部２８は、自己予定軌道等をサーバ１に直接送信してもよく、または、他の装置等を介して間接的に送信してもよい。また、送信部２８は、図示しない記録媒体で保持しているアドレスを送信先として送信を行ってもよく、または、送信までに他の構成要素や他の装置等から受け取ったアドレスを送信先として送信を行ってもよい。また、送信部２８は、送信を行うための送信デバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、送信部２８は、ハードウェアによって実現されてもよく、または送信デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００４８】
次に、サーバ１の動作について図４Ａのフローチャートを用いて説明する。このフローチャートでは、予定軌道と共に障害物情報が送信され、要求情報と共に障害物情報が受信される場合について説明する。
（ステップＳ１０１）受付部１４は、目的地を受け付けたかどうか判断する。そして、目的地を受け付けた場合には、ステップＳ１０２に進み、そうでない場合には、ステップＳ１０５に進む。なお、受付部１４は、目的地と共に移動体ＩＤをも受け付けてもよい。
【００４９】
（ステップＳ１０２）送信部１５は、受付部１４で受け付けられた目的地と、記憶部１３で記憶されている予定軌道及び障害物情報とを移動体２に送信する。移動体ＩＤも受け付けられた場合には、その送信先の移動体２は、受け付けられた移動体ＩＤで識別される移動体２である。また、移動体ＩＤも受け付けられた場合には、送信対象の予定軌道は、その移動体ＩＤで識別される移動体２以外の移動体２の予定軌道であってもよい。
【００５０】
（ステップＳ１０３）受信部１１は、予定軌道の送信先の移動体２から予定軌道を受信したかどうか判断する。そして、予定軌道を受信した場合には、ステップＳ１０４に進み、そうでない場合には、予定軌道を受信するまでステップＳ１０３の処理を繰り返す。なお、受信部１１は、予定軌道と共に、その予定軌道を送信した移動体２の移動体ＩＤをも受信してもよい。
【００５１】
（ステップＳ１０４）蓄積部１２は、受信された予定軌道を記憶部１３に蓄積する。そして、ステップＳ１０１に戻る。予定軌道と共に移動体ＩＤも受信された場合には、蓄積部１２は、移動体ＩＤに対応付けて予定軌道を記憶部１３に蓄積してもよい。
【００５２】
（ステップＳ１０５）受信部１１は、要求情報と障害物情報とを受信したかどうか判断する。そして、それらを受信した場合には、ステップＳ１０６に進み、そうでない場合には、ステップＳ１０１に戻る。なお、受信部１１は、要求情報等と共に移動体ＩＤをも受信してもよい。
【００５３】
（ステップＳ１０６）蓄積部１２は、受信された障害物情報を記憶部１３に蓄積する。
【００５４】
（ステップＳ１０７）送信部１５は、記憶部１３から予定軌道と、障害物情報とを読み出して、要求情報を送信した移動体２に送信する。その際に、その移動体２から送信された障害物情報や予定軌道は送信しなくてもよい。要求情報等と共に移動体ＩＤも受信された場合には、送信対象の予定軌道は、その移動体ＩＤで識別される移動体２以外の移動体２の予定軌道であってもよい。そして、ステップＳ１０３に進む。
【００５５】
なお、図２Ａのフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、ステップＳ１０１で受け付けられた移動体ＩＤで識別される移動体２について、すでに予定軌道が記憶部１３で記憶されている場合には、その移動体ＩＤの入力に対してエラーを返し、別の移動体ＩＤの入力を促すようにしてもよい。また、サーバ１において予定軌道や障害物情報が記憶されていない場合には、予定軌道の送信や障害物情報の送信は行われなくてもよい。また、図２Ａのフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５６】
次に、移動体２の動作について図５Ａのフローチャートを用いて説明する。このフローチャートでは、他者予定軌道と共に障害物情報が受信され、要求情報と共に障害物情報が送信される場合について説明する。
（ステップＳ２０１）受信部２１は、サーバ１から目的地と他者予定軌道と障害物情報とを受信したかどうか判断する。そして、それらを受信した場合には、ステップＳ２０２に進み、そうでない場合には、受信するまでステップＳ２０１の処理を繰り返す。
【００５７】
（ステップＳ２０２）生成部２２は、受信された目的地までの自己予定軌道を、受信された他者予定軌道、及び受信された障害物情報で示される障害物に干渉しないように生成する。
【００５８】
（ステップＳ２０３）蓄積部２３は、生成された自己予定軌道を記憶部２４に蓄積する。
【００５９】
（ステップＳ２０４）送信部２８は、生成された自己予定軌道をサーバ１に送信する。なお、送信部２８は、自己予定軌道と共に、自移動体の移動体ＩＤをも送信してもよい。
【００６０】
（ステップＳ２０５）制御部２７は、生成された自己予定軌道に応じて、移動体２が目的地に到達するように、移動機構２６を制御する。このステップＳ２０５での制御は、移動体２の現在位置から自己予定軌道における次の目標位置までの移動制御であってもよい。この自己予定軌道上の目標位置への移動が繰り返されることによって、移動体２は、最終的に目的地に移動することになる。
【００６１】
（ステップＳ２０６）制御部２７は、移動体２が目的地に到達したかどうか判断する。そして、目的地に到達した場合には、ステップＳ２０１に戻り、そうでない場合には、ステップＳ２０７に進む。
【００６２】
（ステップＳ２０７）障害物検知部２５は、移動経路上の障害物を検知したかどうか判断する。そして、障害物を検知した場合には、ステップＳ２０８に進み、そうでない場合には、ステップＳ２０５に戻り、目的地への移動が継続されることになる。
【００６３】
（ステップＳ２０８）送信部２８は、要求情報と、障害物検知部２５によって検知された障害物の障害物情報とをサーバ１に送信する。なお、この場合には、ステップＳ２０５に戻らないため、制御部２７による移動はストップされ、移動体２は停止することになる。また、送信部２８は、要求情報等と共に、自移動体の移動体ＩＤをも送信してもよい。
【００６４】
（ステップＳ２０９）受信部２１は、サーバ１から他者予定軌道と障害物情報とを受信したかどうか判断する。そして、それらを受信した場合には、ステップＳ２０２に戻り、そうでない場合には、受信するまでステップＳ２０９の処理を繰り返す。なお、ステップＳ２０９からステップＳ２０２に戻った場合には、ステップＳ２０１で受信された目的地までの自己予定軌道が、ステップＳ２０７で検知された障害物を回避するように、ステップＳ２０９で受信された他者予定軌道や障害物情報を用いて生成されることになる。
なお、図５Ａのフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図５Ａのフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００６５】
次に、本実施の形態による移動体システム１００の動作について、具体例を用いて説明する。この具体例では、サーバ１の記憶部１３において、図６Ａで示される予定軌道と、図７Ａで示される障害物情報とが記憶されているものとする。図６Ａにおいて、移動体ＩＤと、その移動体ＩＤで識別される移動体２の予定軌道とが対応付けられている。例えば、移動体ＩＤ「Ｒ００１」で識別される移動体２の予定軌道は、「Ｐ００１」である。その予定軌道は、移動体ＩＤ「Ｒ００１」で識別される移動体２の移動予定の時系列に沿った位置を示す情報である。予定軌道「Ｐ００１」等は、例えば、時空間における予定軌道上の複数の位置の情報であってもよい。その位置の集合は、連続の予定軌道を適切に特定できる程度に細かい粒度であることが好適である。また、図７Ａにおいて、障害物情報「Ｂ００１」「Ｂ００２」は、移動体２の移動領域にあらかじめ存在する障害物（例えば、柱や壁など）であり、記憶部１３にあらかじめ記憶されているものとする。一方、障害物情報「（Ｘ５０１，Ｙ５０１）」「（Ｘ５０２，Ｙ５０２）」は、移動体２から送信され、記憶部１３に蓄積されたものである。
【００６６】
次に、サーバ１の操作者が、入力デバイスを操作することによって、移動体ＩＤ「Ｒ００４」と目的地（Ｘ１１，Ｙ１１）とを入力したとする。すると、それらの情報が受付部１４で受け付けられ、送信部１５に渡される（ステップＳ１０１）。目的地等を受け取ると、送信部１５は、その目的地と、図６Ａで示される全予定軌道と、図７Ａで示される全障害物情報とを、移動体ＩＤ「Ｒ００４」に対応するアドレスに送信する（ステップＳ１０２）。
【００６７】
送信された目的地等は、移動体ＩＤ「Ｒ００４」で識別される移動体２の受信部２１で受信され、生成部２２に渡される（ステップＳ２０１）。目的地等を受け取ると、生成部２２は、その時点の現在位置である出発地（Ｘ１０，Ｙ１０）から、受け取った目的地（Ｘ１１，Ｙ１１）までの自己予定軌道Ｐ００４を、図７Ａで示される障害物情報で示される障害物に干渉しないように、また、図６Ａの各予定軌道と干渉しないように生成し、蓄積部２３に渡す（ステップＳ２０２）。例えば、図８で示されるように、出発地から目的地までの自己予定軌道Ｐ００４が生成されてもよい。図８では、時空間を示す座標系が示されており、ｘｙ座標系が２次元平面を示しており、ｔ軸が時間軸方向を示している。障害物、目的地は移動しないため、ｔ軸方向に延びる立体となる。なお、障害物情報（Ｘ５０１，Ｙ５０１）、（Ｘ５０２，Ｙ５０２）に対応する障害物は、その座標を中心とする、あらかじめ決められた半径の円が時間軸方向に延びたものであってもよい。なお、図８では、説明の便宜上、予定軌道Ｐ００２，Ｐ００３を省略している。自己予定軌道Ｐ００４を受け取ると、蓄積部２３は、その自己予定軌道を記憶部２４に蓄積する（ステップＳ２０３）。新しい自己予定軌道が蓄積されたことを検知すると、送信部２８は、その自己予定軌道を読み出し、図示しない記録媒体で記憶されている移動体２の移動体ＩＤ「Ｒ００４」と一緒にサーバ１に送信する（ステップＳ２０４）。
【００６８】
移動体２から送信された予定軌道と移動体ＩＤは、サーバ１の受信部１１で受信され、蓄積部１２に渡される（ステップＳ１０３）。予定軌道等を受け取ると、蓄積部１２は、それらを記憶部１３に蓄積する（ステップＳ１０４）。その結果、記憶部１３で記憶されている予定軌道は、図６Ｂで示されるようになる。
【００６９】
その後、移動体２の制御部２７が、記憶部２４に蓄積された自己予定軌道Ｐ００４に応じた軌道を移動体２が移動するように移動機構２６を制御することによって、移動体２が自己予定軌道上を移動することになる（ステップＳ２０５）。その移動中に、障害物検知部２５によって経路上の障害物が検知されたとする（ステップＳ２０７）。すると、制御部２７は、それに応じて移動の制御を停止し、移動体２はその地点に止まることになる。また、障害物検知部２５は、その障害物を検知した時点の現在位置を示す障害物情報（Ｘ５０３，Ｙ５０３）を生成し、送信部２８に渡す。すると、送信部２８は、その障害物情報と、要求情報と、移動体ＩＤ「Ｒ００４」とをサーバ１に送信する（ステップＳ２０８）。
【００７０】
移動体２から送信された要求情報と障害物情報と移動体ＩＤとは、サーバ１の受信部１１で受信される（ステップＳ１０５）。そして、移動体ＩＤが送信部１５に渡されると共に、障害物情報が蓄積部１２に渡される。障害物情報を受け取ると、蓄積部１２は、その障害物情報を記憶部１３に蓄積する（ステップＳ１０６）。その結果、記憶部１３で記憶されている障害物情報は、図７Ｂで示されるようになる。また、移動体ＩＤを受け取ると、送信部１５は、その時点に記憶部１３で記憶されている、図６Ｃで示される予定軌道と、図７Ｂで示される障害物情報とを読み出して移動体ＩＤ「Ｒ００４」に対応するアドレスに送信する（ステップＳ１０７）。図６Ｃにおいて、移動体ＩＤ「Ｒ００２」に対応する予定軌道は、それまでにＰ００２からＰ００５に書き換えられている。なお、送信対象に、移動体ＩＤ「Ｒ００４」に対応する予定軌道「Ｐ００４」は含まれていなくてもよく、直前に蓄積された障害物情報（Ｘ５０３，Ｙ５０３）も含まれていなくてもよい。
【００７１】
送信された他者予定軌道等は受信部２１で受信され（ステップＳ２０９）、上述の処理と同様に自己予定軌道Ｐ００６の生成、蓄積、送信が行われる（ステップＳ２０２〜Ｓ２０４）。そして、送信された予定軌道は、サーバ１の受信部１１で受信され、記憶部１３に蓄積される（ステップＳ１０３，Ｓ１０４）。その結果、記憶部１３で記憶されている予定軌道は、図６Ｄで示されるようになる。
【００７２】
また、移動体２は、新たな自己予定軌道Ｐ００６に応じて移動することになる。そして、目的地（Ｘ１１，Ｙ１１）に到達するまで、その移動の制御が繰り返して行われることになる（ステップＳ２０５，Ｓ２０６）。
【００７３】
以上のように、本実施の形態による各移動体２によれば、サーバ１から送信された他者予定軌道を用い、その他者予定軌道と干渉しないように自己予定軌道を生成するため、移動体２同士の衝突を回避することができる。また、その予定軌道の生成をサーバ１でなく、移動体２で行うため、移動体２の量が増えたとしても、サーバ１の負荷が大きく増えることを回避できる。その結果、サーバにおける予定軌道の生成の遅延に応じて移動体２の待機等が長くなることを防止でき、移動体２のより迅速な移動を実現することができるようになる。また、高性能なサーバを用意する必要もないことになる。
【００７４】
なお、本実施の形態では、目的地をサーバ１が受け付ける場合について説明したが、目的地の受け付けは、移動体２において行われてもよい。その場合には、図２Ｂで示されるように、サーバ１は、受付部１４を備えていなくてもよい。一方、図３Ｂで示されるように、移動体２は、自移動体の目的地を受け付ける受付部２９をさらに備えてもよい。受付部２９は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された目的地を受け付けてもよく、有線または無線の通信回線を介して送信された目的地を受信してもよい。なお、受付部２９は、受け付けを行うためのデバイス（例えば、モデムやネットワークカードなど）を含んでもよく、または含まなくてもよい。また、受付部２９は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。そのように、移動体２が目的地を受け付ける場合には、移動体２の送信部２８は、目的地が受け付けられた際に、要求情報をサーバ１に送信してもよい。そして、生成部２２は、その要求情報の送信に応じて受信された他者予定軌道と、受付部２９で受け付けられた目的地とを用いて、その目的地までの自己予定軌道を生成してもよい。その際に、障害物情報を用いてもよいことは前述の通りである。
【００７５】
図４Ｂは、図２Ｂで示されるサーバ１の動作を示すフローチャートである。なお、図４Ｂのフローチャートにおいて、ステップＳ１１１，Ｓ１１２以外の処理は、図４Ａのフローチャートと同様であり、その説明を省略する。
（ステップＳ１１１）受信部１１は、要求情報を受信したかどうか判断する。そして、受信した場合には、ステップＳ１１２に進み、そうでない場合には、要求情報を受信するまでステップＳ１１１の処理を繰り返す。なお、受信部１１は、要求情報と共に障害物情報や移動体ＩＤをも受信してもよい。
【００７６】
（ステップＳ１１２）受信部１１は、受信した情報に障害物情報が含まれているかどうか判断する。そして、障害物情報が含まれている場合には、ステップＳ１０６に進み、そうでない場合には、ステップＳ１０７に進む。
【００７７】
図５Ｂは、図３Ｂで示される移動体２の動作を示すフローチャートである。なお、図５Ｂのフローチャートにおいて、ステップＳ２１１〜Ｓ２１３以外の処理は、図５Ａのフローチャートと同様であり、その説明を省略する。
【００７８】
（ステップＳ２１１）受付部２９は、目的地を受け付けたかどうか判断する。そして、目的地を受け付けた場合には、ステップＳ２１２に進み、そうでない場合には、目的地を受け付けるまでステップＳ２１１の処理を繰り返す。
【００７９】
（ステップＳ２１２）送信部２８は、要求情報をサーバ１に送信する。なお、送信部２８は、要求情報と共に、自移動体の移動体ＩＤをも送信してもよい。
【００８０】
（ステップＳ２１３）受信部２１は、サーバ１から他者予定軌道と障害物情報とを受信したかどうか判断する。そして、それらを受信した場合には、ステップＳ２０２に進み、そうでない場合には、受信するまでステップＳ２１３の処理を繰り返す。
このようにして、移動体２において受け付けられた目的地を用いた自己予定軌道の生成を行うようにしてもよい。
【００８１】
なお、移動体２が図３Ｂで示される構成である場合に、サーバ１を介さないで、移動体２の間で予定軌道の送受信を行うようにしてもよい。その場合には、移動体システム１００は、複数の移動体２を備えたものとなる。また、送信部２８は、要求情報を、サーバ１ではなく、他の移動体２に送信することになる。他の移動体２への要求情報の送信は、例えば、ブロードキャストによって行われてもよい。より具体的には、複数の移動体２が、同一の無線ＬＡＮに属する場合には、そのようなブロードキャストによって、他のすべての移動体２に要求情報を送信することができる。また、受信部２１は、他の移動体２から、要求情報を受信することになる。そして、その要求情報が受信された場合には、送信部２８は、生成部２２によって生成された自己予定軌道を、その要求情報を送信した移動体２に送信する。このように、受信部２１は、サーバ１からではなく、他の移動体２から他者予定軌道を受信することになる。なお、予定軌道を有しているすべての移動体２から予定軌道を受信したときに、他者予定軌道の受信が完了することになる。また、サーバ１が存在しない場合には、各移動体２は、自移動体が検出した障害物の障害物情報を保持しておき、その保持している障害物情報を自己予定軌道と一緒に送信してもよい。また、自己予定軌道を有していない移動体２は、要求情報を受信しても、自己予定軌道を送信しなくてもよい。その場合に、移動体２は、自己予定軌道がない旨を送信してもよく、または、そうでなくてもよい。このように、移動体２の間で予定軌道の送受信が行われる場合に、ある移動体２は、その移動体２の近くに存在する移動体２のみから予定軌道を受信してもよい。そして、生成部２２は、目的地に到達するまでの途中の目的地（以下、「サブ目的地」と呼ぶこともある）までの自己予定軌道を生成し、そのサブ目的地までの移動を繰り返すことによって、最終的に目的地まで移動してもよい。その場合でも、サブ目的地までの自己予定軌道の生成が繰り返されることによって、目的地までの移動が達成されるため、生成部２２は、目的地までの自己予定軌道を生成していると考えることができる。ある移動体２が、近くに存在する移動体２のみから他者予定軌道を受信するようにするため、例えば、無線通信がアドホックモードで行われている場合には、その無線通信の電波が届く範囲内の移動体２からのみ、他者予定軌道等を受信するようにしてもよい。その場合には、アドホックモードにおいて、要求情報を受信した移動体２が、その要求情報を他の移動体２に転送しないように設定してもよい。そのため、例えば、送信する要求情報において、ホップ数を制限してもよい（具体的には、ＴＴＬ（Time To Live）＝１に設定してもよい）。
【００８２】
そのように移動体２の間で予定軌道の送受信を行う場合には、図５Ｂのフローチャートにおいて、自己予定軌道の送信（ステップＳ２０４）を行わないようにし（すなわち、ステップＳ２０３からステップＳ２０５に進む）、また、受信部２１における要求情報の受信に応じて、自己予定軌道や障害物情報を、その送信元の移動体２に送信する処理を行うようにしてもよい。このように、移動体２の間で予定軌道の送受信を行う場合には、サーバが存在しないため、サーバの負荷の軽減になることは当然である。
【００８３】
また、本実施の形態では、サーバ１の送信部１５が、予定軌道を送信してから、それに応じて受信された予定軌道が蓄積されるまで、予定軌道の送信を行わないことによって、互いに干渉する予定軌道が記憶部１３で記憶されないようにする場合について説明したが、そうでなくてもよい。すなわち、予定軌道を送信してから、それに応じて受信された予定軌道が蓄積されるまでであっても、送信部１５が、記憶部１３で記憶されている予定軌道を移動体２に送信するようにしてもよい。なお、その場合には、互いに干渉する予定軌道が記憶部１３で記憶される可能性があるため、サーバ１は、図２Ｃで示されるように、判断部１６をさらに備えてもよい。その判断部１６は、受信部１１によって受信された予定軌道が、蓄積部１２によって記憶部１３に蓄積された予定軌道と干渉するかどうか判断する。そして、蓄積部１２は、判断部１６によって干渉しないと判断された場合に、受信部１１によって受信された予定軌道を記憶部１３に蓄積し、干渉すると判断された場合に、受信された予定軌道を蓄積しないものとする。なお、干渉すると判断された場合には、送信部１５は、その時点に記憶部１３で記憶されている予定軌道等を、受信部１１が受信した予定軌道の送信元である移動体２に送信してもよい。そして、蓄積部１２は、その送信に応じて受信した新たな予定軌道について、干渉しないと判断された後に、記憶部１３に蓄積するようにしてもよい。その場合に、移動体２は、自己予定軌道等のサーバ１への送信直後に、新たな他者予定軌道等が受信された際には、その他者予定軌道等を用いて新たな自己予定軌道を生成し、サーバ１に再度送信するようにしてもよい。
【００８４】
図４Ｃは、図２Ｃで示されるサーバ１の動作を示すフローチャートである。なお、図４Ｃのフローチャートにおいて、ステップＳ１２１〜Ｓ１２３以外の処理は、図４Ａのフローチャートと同様であり、その説明を省略する。
（ステップＳ１２１）受信部１１は、予定軌道を受信したかどうか判断する。そして、予定軌道を受信した場合には、ステップＳ１２２に進み、そうでない場合には、ステップＳ１０１に戻る。なお、受信部１１は、予定軌道と共に移動体ＩＤをも受信してもよい。
【００８５】
（ステップＳ１２２）判断部１６は、受信された予定軌道が、記憶部１３において記憶されている予定軌道と干渉するかどうか判断する。そして、干渉する場合には、ステップＳ１０７に進み、そうでない場合には、ステップＳ１２３に進む。なお、移動体ＩＤも受信された場合には、判断部１６は、受信された予定軌道が、移動体ＩＤで識別される移動体２以外の移動体２の予定軌道と干渉するかどうか判断してもよい。
【００８６】
（ステップＳ１２３）蓄積部１２は、受信された予定軌道を記憶部１３に蓄積する。そして、ステップＳ１０１に戻る。
【００８７】
図５Ｃは、図２Ｃで示されるサーバ１と通信する、図３Ａで示される移動体２の動作を示すフローチャートである。なお、図５Ｃのフローチャートにおいて、ステップＳ２２１以外の処理は、図５Ａのフローチャートと同様であり、その説明を省略する。
（ステップＳ２２１）受信部２１は、他者予定軌道と障害物情報とを受信したかどうか判断する。そして、それらを受信した場合には、ステップＳ２０２に戻り、そうでない場合には、ステップＳ２０５に進む。
このようにして、判断部１６による判断を行うことによって、互いに干渉する予定軌道がサーバ１で記憶される事態を回避でき、安全性を高めることができる。
【００８８】
なお、上記説明では、図２Ａで示されるサーバ１と、図３Ａで示される移動体２とを有する移動体システム１００において、サーバ１が判断部１６を有する場合について説明したが、そうでなくてもよい。図２Ｂで示されるサーバ１と、図３Ｂで示される移動体２とを有する移動体システム１００において、サーバ１が判断部１６を有していてもよい。その場合にも、判断部１６による判断結果を用いることによって、干渉する予定軌道が記憶部１３で記憶されることを回避できる。
【００８９】
また、本実施の形態において、他移動体の予定軌道と干渉しないように、自移動体の予定軌道を生成する際に、時空間座標系において、予定軌道が交わらないように生成する場合について説明したが、そうでなくてもよい。厳密には、各移動体２は、実空間において大きさを有しているため、１次元の予定軌道同士が交わらないように新たな予定軌道が生成されたとしても、実空間では、移動体２の少なくとも一部が互いに衝突する可能性もある。そのため、生成部２２は、予定軌道を空間方向に拡張した拡張予定軌道を用いて、新たな予定軌道を生成するようにしてもよい。そのことについて具体的に説明する。図９Ａは、ある時刻（ｔ＝ｔ１）における空間座標系（ｘｙ平面座標系）を示す図である。図９Ａにおいて、他者予定軌道が点で示されている。その他者予定軌道を中心とする、あらかじめ決められた半径を有する円が、その空間座標系での他移動体の拡張予定軌道（以下、「他者拡張予定軌道」と呼ぶこともある）となる。生成部２２は、その他者拡張予定軌道と干渉しないように、自己予定軌道を生成することになる。したがって、図９Ａで示される場合には、生成部２２は、ｔ＝ｔ１における自己予定軌道を、例えば、（ｘ，ｙ）＝（Ｘ２２，Ｙ２２）の位置に生成することはできず、（ｘ，ｙ）＝（Ｘ２１，Ｙ２１）の位置に生成することはできる。なお、自移動体についても、拡張予定軌道を生成し、他者拡張予定軌道と、自移動体の拡張予定軌道（以下、「自己拡張予定軌道」と呼ぶこともある）とが干渉しないように自己予定軌道が生成されてもよい。その場合には、例えば、図９Ｂで示されるように、両者の拡張予定軌道が干渉しないように、自己予定軌道が生成されることになる。また、予定軌道の各位置における速度を算出することができる。例えば、ある予定軌道のｔ＝ｔ１における速度は、ｔ＝ｔ１−εから、ｔ＝ｔ１＋εまでの移動距離を、２εで割ることによって算出してもよい。その速度は、スカラー量であり、速さであると考えてもよい。その移動時の速度が速いほど、実空間における実際の移動時に、予定軌道から外れる誤差の程度が大きくなると考えられる。そのため、生成部２２は、他者予定軌道を、他者予定軌道の速度に応じて拡張した他者拡張予定軌道と干渉しないように自己予定軌道を生成するようにしてもよい。予定軌道の速度に応じて拡張した拡張予定軌道とは、速度が大きいほど、拡張の程度が大きくなり、速度が小さいほど、拡張の程度が小さくなる拡張予定軌道である。図９Ｃで示されるように、速度が遅い場合の拡張予定軌道が最も小さい範囲となり、速度が速い場合の拡張予定軌道が最も大きい範囲となり、速度が中ぐらいの場合の拡張予定軌道がその間となってもよい。なお、速度が０のときには、実際の移動体２の大きさと同程度になるように拡張されてもよい。この場合にも、生成対象の自己予定軌道も拡張してもよく、または、そうでなくてもよい。また、生成対象の自己予定軌道も拡張する場合、すなわち、生成対象の自己予定軌道に応じた自己拡張予定軌道を用いて自己予定軌道の生成を行う場合にも、その速度に応じた拡張を行ってもよく、または、そうでなくてもよい。また、速度に応じた拡張予定軌道を用いる場合に、その拡張の程度は、図９Ｃで示されるように段階的であってもよく、または、連続的であってもよい。また、上述のように、予定軌道を拡張予定軌道に拡張する場合に、拡張予定軌道の時間方向の断面形状は、図９Ａ〜図９Ｃで示されるように、円形状であってもよく、または、それ以外の形状、例えば、楕円状であってもよく、正方形状や矩形状、多角形状等であってもよい。また、予定軌道が干渉しないとは、上述したように、予定軌道に応じた拡張予定軌道の少なくとも一部が重ならないことであると考えてもよい。
【００９０】
また、上記実施の形態では、移動体２において障害物が検知された場合に、その障害物に関する障害物情報がサーバ１や、他の移動体２に送信される場合について説明したが、そうでなくてもよい。障害物情報の送信は行われなくてもよい。その場合には、サーバ１や移動体２における障害物情報の保持も行わないことになり、また、サーバ１から移動体２への障害物情報の送信も行われないことになる。
【００９１】
また、上記実施の形態では、移動体２において自己予定軌道上の障害物を検知する場合について説明したが、そうでなくてもよい。移動体２において、その障害物の検知を行わなくてもよい。障害物の検知を行わない場合には、移動体２は、障害物検知部２５を備えていなくてもよい。また、送信部２８は、障害物の検知に応じた要求情報の送信を行わなくてもよい。
【００９２】
また、予定軌道に、上述した以外の情報が含まれてもよい。例えば、移動体２がマニピュレータを有するものであり、そのマニピュレータの先端（手先効果器）の位置が、時刻や、移動体２の位置に応じて変化する場合に、その位置の情報が予定軌道に含まれてもよい。また、それ以外の移動体２に関係する情報が、予定軌道に含まれてもよい。
【００９３】
また、移動体２からサーバ１に要求情報が送信されることがない場合には、サーバ１の送信部１５は、要求情報の受信に応じた他者予定軌道の送信を行わなくてもよい。また、移動体２から他の移動体２に要求情報が送信されることがない場合には、移動体２の送信部２８は、要求情報の受信に応じた他者予定軌道の送信を行わなくてもよい。
【００９４】
また、上記実施の形態において、要求情報は、サーバ１や移動体２で要求情報であると認識されるのであれば、どのような情報であってもよい。例えば、要求情報と障害物情報とが一緒に送信される場合には、障害物情報が要求情報を兼ねていてもよい。その場合には、障害物情報を送信することが、要求情報と障害物情報とを送信することになり、障害物情報を受信することが、要求情報と障害物情報とを受信することになると考えてもよい。
【００９５】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００９６】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００９７】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００９８】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００９９】
また、上記実施の形態において、サーバ１や移動体２に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【０１００】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【０１０１】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１０２】
以上より、本発明による移動体システムによれば、自律的に移動する移動体が、サーバに高い負荷をかけないで、他移動体と衝突しないように自移動体の予定軌道を生成できるという効果が得られ、例えば、複数の移動体を有するシステム等として有用である。
【符号の説明】
【０１０３】
１  サーバ
２  移動体
１１、２１  受信部
１２、２３  蓄積部
１３、２４  記憶部
１４、２９  受付部
１５、２８  送信部
１６  判断部
２２  生成部
２５  障害物検知部
２６  移動機構
２７  制御部
１００  移動体システム
【図１】
0006709055.tif 000002
【図２Ａ】
0006709055.tif 000003
【図２Ｂ】
0006709055.tif 000004
【図２Ｃ】
0006709055.tif 000005
【図３Ａ】
0006709055.tif 000006
【図３Ｂ】
0006709055.tif 000007
【図４Ａ】
0006709055.tif 000008
【図４Ｂ】
0006709055.tif 000009
【図４Ｃ】
0006709055.tif 000010
【図５Ａ】
0006709055.tif 000011
【図５Ｂ】
0006709055.tif 000012
【図５Ｃ】
0006709055.tif 000013
【図６Ａ】
0006709055.tif 000014
【図６Ｂ】
0006709055.tif 000015
【図６Ｃ】
0006709055.tif 000016
【図６Ｄ】
0006709055.tif 000017
【図７Ａ】
0006709055.tif 000018
【図７Ｂ】
0006709055.tif 000019
【図８】
0006709055.tif 000020
【図９Ａ】
0006709055.tif 000021
【図９Ｂ】
0006709055.tif 000022
【図９Ｃ】
0006709055.tif 000023