(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022173809
(43)【公開日】2022-11-22
(54)【発明の名称】情報処理装置、移動制御システム及び情報処理方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20221115BHJP
【FI】
G05D1/02 H
G05D1/02 S
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021079760
(22)【出願日】2021-05-10
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岡森 厚
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301BB14
5H301KK03
5H301LL01
5H301LL06
(57)【要約】
【課題】移動体のコストアップを抑止し、複数の移動体を効率的に移動させること。
【解決手段】情報処理装置200は、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部232と、移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、物体が制御対象の他の移動体であるか否かを判定する判定部233と、を備える。判定部233は、物体が他の移動体ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不能な経路と判定する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、
前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
を備え、
前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する
情報処理装置。
【請求項2】
前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出すると、前記物体が移動障害物ではないと判定した場合に、前記物体が制御対象の他の移動体であるか否かを判定する
請求項1に記載の情報処理装置。
【請求項3】
前記静止障害物によって移動不能な経路に基づいて、前記経路情報を変更する変更部をさらに備える
請求項2に記載の情報処理装置。
【請求項4】
前記計画部は、変更した前記経路情報に基づいて前記移動経路を再計画する
請求項3に記載の情報処理装置。
【請求項5】
前記他の移動体の位置情報及び外形情報に基づいて、前記他の移動体の外形領域を特定する特定部と、
前記移動体の現在位置における前記センサの前記検出範囲を算出する算出部と、
をさらに備え、
前記判定部は、前記他の移動体の前記外形領域と前記検出範囲との位置関係に基づいて、前記物体が前記制御対象の前記他の移動体であるか否かを判定する
請求項3に記載の情報処理装置。
【請求項6】
前記特定部は、前記外形情報が示す形状を前記位置情報が示す位置に配置した前記外形領域を特定する
請求項5に記載の情報処理装置。
【請求項7】
前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出してから判定時間が経過するまでに、前記センサが検出範囲の内部に前記物体を検出しなくなった場合、前記物体が前記移動障害物であると判定し、前記判定時間が経過するまで、前記センサが検出範囲の内部に前記物体を検出している場合、前記物体が前記移動障害物ではないと判定する
請求項2に記載の情報処理装置。
【請求項8】
経路情報が示す経路を移動可能な複数の移動体と、
複数の前記移動体の移動を制御する情報処理装置と、
を備え、
前記情報処理装置は、
制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、
前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
を備え、
前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する
移動制御システム。
【請求項9】
前記移動体は、前記センサが検出範囲の内部に物体を検出した場合、移動を停止して判定時間が経過した後に、前記センサが検出範囲の内部に前記物体を検出しないと、前記情報処理装置に移動停止の解除通知を行い、移動を再開し、
前記情報処理装置の前記判定部は、移動を停止した前記移動体から前記解除通知がない場合、前記物体が前記制御対象の他の移動体であるか否かを判定する
請求項8に記載の移動制御システム。
【請求項10】
前記移動体は、前記センサが検出範囲の内部に物体を検出し、前記情報処理装置が移動不能な経路と判定すると、前記情報処理装置が再計画した前記移動経路を移動する
請求項9に記載の移動制御システム。
【請求項11】
前記センサは、前記移動体の進行方向の前記検出範囲を含む近接センサである
請求項10に記載の移動制御システム。
【請求項12】
コンピュータが、
制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、移動制御システム及び情報処理方法に関する。
【背景技術】
【0002】
移動ロボットは、行動目標を達成するために、外界地図に基づいて行動計画を作成し、作成した行動計画に基づいて行動するものがある。特許文献1には、作業領域内の定位置にある形状的特徴物の画像を解析し、ロボット座標系における基準座標系の位置姿勢と障害物形状モデルとから、ロボット座標系における障害物が存在する干渉領域を設定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の技術では、移動体の移動を制御する場合、移動体が障害物を検出するために、カメラや画像解析手段が必要であった。このため、移動体は、障害物を認識する場合、高価なセンサ等を搭載するために、コストアップを抑制するのが困難であった。また、従来の技術は、複数の移動体が移動する環境下で、移動体が経路上に物体を検出した場合、物体を回避するのか、物体が移動するのを待つのかを判断することが困難であった。
【0005】
そこで、本開示では、移動体のコストアップを抑止し、複数の移動体を効率的に移動させることができる情報処理装置、移動制御システム及び情報処理方法を提供する。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、を備え、前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する。
【0007】
上記の課題を解決するために、本開示に係る一形態の移動制御システムは、経路情報が示す経路を移動可能な複数の移動体と、複数の前記移動体の移動を制御する情報処理装置と、を備え、前記情報処理装置は、制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、を備え、前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する。
【0008】
上記の課題を解決するために、本開示に係る一形態の情報処理方法は、コンピュータが、制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、を含む。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る移動制御システムの一例を説明するための図である。
【
図2】実施形態に係る経路地図の一例を示す図である。
【
図3】実施形態に係る移動制御システムにおける物体の一例を示す図である。
【
図4】実施形態に係る移動体の構成の一例を示す構成図である。
【
図5】実施形態に係る情報処理装置の構成の一例を示す構成図である。
【
図6】実施形態に係る移動制御システムのシーケンスの一例を示す図である。
【
図7】実施形態に係る移動体の自己位置通知処理の一例を示すフローチャートである。
【
図8】実施形態に係る情報処理装置の経路計画処理の一例を示すフローチャートである。
【
図9】実施形態に係る移動体の移動制御処理の一例を示すフローチャートである。
【
図10】実施形態に係る移動体の物体検出処理の一例を示すフローチャートである。
【
図11】実施形態に係る情報処理装置の物体判定処理の一例を示すフローチャートである。
【
図12】実施形態に係る情報処理装置が物体を判定する一例を説明するための図である。
【
図13】実施形態に係る情報処理装置が経路情報を変更する一例を説明するための図である。
【
図14】実施形態に係る移動制御システムの経路情報の変更時のシーケンスの一例を示す図である。
【
図15】実施形態に係る移動制御システムが制御する移動体の動作例の一例を説明するための図である。
【
図16】情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、実質的に同一の部位には同一の符号を付することにより重複する説明を省略する。
【0011】
(実施形態)
[実施形態に係る移動制御システムの概要]
図1は、実施形態に係る移動制御システムの一例を説明するための図である。
図1に示す移動制御システム1は、例えば、工場、倉庫、病院、公共施設等を移動可能な複数の移動体100の移動を制御するシステムである。移動制御システム1は、制御対象の複数の移動体100のそれぞれの移動を制御する。移動制御システム1は、複数の移動体100のそれぞれが経路上を移動するように制御する。複数の移動体100は、例えば、ロボット、車両(自動二輪車、自動四輪車、自転車)、台車、ドローン等を含む。以下の説明では、移動体100は、移動可能なロボットである場合について説明する。
【0012】
図1に示す一例では、移動制御システム1は、複数の移動体100と、複数の移動体100の移動を制御する情報処理装置200と、を備える。複数の移動体100と情報処理装置200とは、同一の場所に配置されてもよいし、異なる場所に配置されてもよい。情報処理装置200は、複数の移動体100のそれぞれと通信が可能な構成になっている。
【0013】
移動体100は、自機が実際に移動した移動結果、外界に設けられた位置マーカ等に基づいて自己位置を推定する機能を有する。自己位置は、例えば、移動体100の現在位置を意味する。移動体100は、現在の自己位置の座標及び角度を識別可能な自己位置情報D10を情報処理装置200に送信する機能を有する。移動体100は、移動経路情報D30を情報処理装置200から受信する機能を有する。移動経路情報D30は、ユーザUが指定した移動元及び移動先を識別可能な移動タスク情報D20に基づいて作成された情報を含む。移動タスク情報D20は、例えば、移動元から移動先までの経路の中継箇所を示す情報を含んでもよい。移動経路情報D30は、例えば、移動先に到達するまでの経路上における複数の目標座標の配列を示す情報を含む。移動体100は、移動経路情報D30が示す経路と自己位置に基づいて、移動体100の回転方向、速度等の軌道計画を行う機能を有する。移動体100は、進行方向における検出範囲の内部に存在する物体を検出するセンサを有する。センサは、例えば、近接センサを含む。移動体100は、センサが検出範囲の内部に物体を検出したことを情報処理装置200に通知する機能を有する。
【0014】
情報処理装置200は、例えば、専用または汎用コンピュータである。情報処理装置200は、いわゆるクラウドサーバ(Cloud Server)であり、移動体100と連携して情報処理を実行するサーバ装置である。情報処理装置200は、移動体100から受信した自己位置情報D10を管理する機能を有する。情報処理装置200は、経路地図を用いて、複数の移動体100をナビゲーションする機能を有する。経路地図は、例えば、トポロジカル地図(ノードグラフ)を含む。情報処理装置200は、ユーザUが情報端末300を介して指定した移動タスク情報D20を取得し、移動タスクを実行する移動体100を決定する機能を有する。情報処理装置200は、例えば、移動タスク情報D20を情報端末300からではなく、別のサーバ、システム等から取得してもよい。情報処理装置200は、移動タスク情報D20が示す移動先への移動経路を示す移動経路情報D30を、経路地図に基づいて生成する機能を有する。情報処理装置200は、移動タスクを実行する移動体100に、移動経路情報D30を送信する機能を有する。
【0015】
図2は、実施形態に係る経路地図の一例を示す図である。
図2に示すように、経路地
図500は、複数の移動体100が移動可能な対象領域をノードグラフとして表現している。経路地
図500は、経路情報の一例である。経路地
図500は、ノード510と、エッジ520と、を有する。ノード510は、経路上の任意の位置を示す。エッジ520は、隣接するノード510の間の連結関係及び経路を示す。経路地
図500は、ノード510とエッジ520の組み合わせによって複数の経路を示している。経路地
図500は、移動体100の移動先、位置等を示す移動先ノード530を設定できる。経路地
図500は、障害物540がエッジ520上に存在すると、障害物540によって移動体100が移動不能になる。
【0016】
本実施形態では、複数の移動体100は、経路地
図500のノード510とエッジ520が示す経路上を移動可能になっており、経路から外れた移動が不能になっている。情報処理装置200は、移動体100から移動先ノード530に到達するまでの最短経路を公知のアルゴリズムで求め、求めた経路を示す移動経路情報D30を移動体100に送信する。公知のアルゴリズムは、例えば、ダイクストラ法、ベルマン-フォード法等が挙げられる。
図2に示す一例では、移動体100は、矢印で示す進行方向に移動し、物体を検出する検出範囲111Eを前方に有している。
【0017】
図3は、実施形態に係る移動制御システム1における物体の一例を示す図である。
図3に示すように、移動制御システム1は、場面C1では、エッジ520(経路)上の移動障害物600を、移動体100が物体として検出する。移動障害物600は、例えば、人間、動物、他の制御装置が移動を制御する移動装置等を含む。移動制御システム1は、場面C2では、エッジ520上の他の移動体100を、移動体100が物体として検出する。移動制御システム1は、場面C3では、エッジ520上の障害物540を、移動体100が物体として検出する。本実施形態では、移動制御システム1は、例えば、場面C1、場面C2、場面C3の順序で、情報処理装置200が物体の判定を行う機能を提供する。
【0018】
移動制御システム1は、複数の移動体100が経路を離脱して自由に移動できないという制限がある場合、経路上に物体が置かれたり、移動障害物600が存在したりすると、移動体100が経路上を移動できない。例えば、工場、倉庫などでは、移動体100の経路は、レール、専用レーンなどの固定された経路の場合がある。本実施形態では、経路上の物体は、移動障害物600と、移動障害物600ではない静止障害物である障害物540とに区分する。移動障害物600は、経路上から移動する可能性がある、あるいは、一時的に存在する物体である。静止障害物は、経路上から移動する可能性が低く、移動体100の迂回を必要とする物体である。静止障害物は、例えば、載置物等を含む。本開示では、移動制御システム1は、移動体100のコストアップを抑止し、複数の移動体100を効率的に移動させることを可能とする。
【0019】
[実施形態に係る移動体の構成例]
図4は、実施形態に係る移動体100の構成の一例を示す構成図である。
図4に示すように、移動体100は、センサ部110と、通信部120と、駆動部130と、記憶部140と、制御部150と、を有する。制御部150は、センサ部110、通信部120、駆動部130、記憶部140等と電気的に接続されている。以下の説明では、移動体100を「自機」と表記する場合がある。
【0020】
センサ部110は、移動体100の処理に用いるセンサ情報を検出する各種センサを備える。センサ部110は、検出したセンサ情報の少なくとも一部の情報を情報処理装置200等に供給する。本実施形態では、センサ部110は、例えば、近接センサ111と、エンコーダ112と、加速度センサ113と、コードセンサ114と、を有する。
【0021】
近接センサ111は、近隣の物体の存在を非接触で検出する。近接センサ111は、例えば、誘導形、静電容量形、超音波形、光電形、磁気形等で構成することができる。近接センサ111は、例えば、赤外線を照射する発光素子と、発光素子から照射された赤外線の反射光を受光する受光素子を有する。近接センサ111は、検出範囲111Eの内部に物体が存在するか否かの検出結果を識別可能なセンサ情報を制御部150に供給する。近接センサ111は、例えば、LiDARよりも安価なセンサであり、物体の存在のみを検出し、物体の概形、形状等を検出できない。
【0022】
エンコーダ112は、駆動部130が駆動した車輪等の駆動量を検出する。エンコーダ112は、検出した駆動量を識別可能なセンサ情報を制御部150に供給する。加速度センサ113は、移動体100に働く加速度の方向、大きさ等を検出する。加速度センサ113は、検出した加速度を識別可能なセンサ情報を制御部150に供給する。コードセンサ114は、移動体100が移動する外部環境に設けられた位置マーカを検出する。位置マーカは、例えば、QRコード(登録商標)等を含む。位置マーカは、位置コードを含む。位置コードは、例えば、位置補正用のコード、座標等を示す情報を含む。位置コードは、現在座標の推定に用いることができる。位置マーカは、例えば、ノード510の位置、基準位置等に設けられている。コードセンサ114は、検出した位置マーカの位置コードを識別可能なセンサ情報を制御部150に供給する。
【0023】
通信部120は、情報処理装置200との通信を行う。通信部120は、情報処理装置200から受信した各種情報を制御部150に供給する。通信部120は、制御部150が指示した情報を情報処理装置200に送信する。なお、通信部120がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部120が、複数の種類の通信プロトコルをサポートすることも可能である。
【0024】
駆動部130は、移動体100を移動させる移動機構を駆動させる。移動機構は、例えば、車輪、脚、プロペラ等を駆動するための機構を含む。駆動部130は、制御部150から出力された動作指令等に応じて移動機構を駆動させる。その結果、移動体100は、移動機構の駆動によって移動する。
【0025】
記憶部140は、各種データ及びプログラムを記憶する。記憶部11は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、記憶部140は、移動体100の外部に設けられていてもよい。具体的には、記憶部140は、ネットワークを介して制御部150がアクセス可能な記憶装置としてもよい。
【0026】
記憶部140は、例えば、自己位置情報D10、移動経路情報D30、軌道計画情報D40等の各種情報を記憶する。自己位置情報D10は、移動体100の自己位置を示す情報含む。記憶部140は、少なくとも最新の自己位置情報D10を記憶する。移動経路情報D30は、情報処理装置200から受信した情報である。移動経路情報D30は、移動元から移動先までの移動経路を示す情報である。移動経路情報D30は、例えば、移動先に到達するまでの移動経路に応じた複数の目標座標(ノード列)等の情報を含む。軌道計画情報D40は、移動経路情報D30に基づく移動体100の回転方向、移動速度等を示す情報を含む。
【0027】
制御部150は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System-on-a-Chip)、MCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。制御部150は、記憶部140に記憶されている情報を必要に応じて参照しつつ、記憶部140に記憶されているプログラムに含まれる命令を実行し、移動体100の動作を統括的に制御して各種の機能を実現する。
【0028】
制御部150は、例えば、自己位置推定部151と、軌道計画部152と、駆動制御部153と、物体検出部154といった各機能部を備える。
【0029】
自己位置推定部151は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置を推定する。自己位置推定部151は、例えば、移動体100の位置及び姿勢等を含む自己位置を推定する。移動体100の姿勢は、例えば、移動体100の向き(進行方向)等を含む。自己位置推定部151は、例えば、移動体100の外部から取得した位置コード等が示す位置情報に基づいて自己位置を推定してもよい。自己位置推定部151は、例えば、SLAM(Simultaneous Localization and Mapping)等の技術を用いた高精度なマップを用いて自己位置を推定してもよい。自己位置推定部151は、推定した自己位置を示す自己位置情報D10を記憶部140に記憶する。
【0030】
軌道計画部152は、移動経路情報D30が示す移動経路を移動させる移動体100の軌道を計画する。軌道計画部152は、自己位置から目標座標に向かう移動体100の回転方向、移動速度等を、移動体100の運動性能を考慮して計画する。例えば、軌道計画部152は、移動経路情報D30から目標座標を読み込み、自己位置から目標座標までの軌道を計画する。軌道計画部152は、移動経路情報D30の目標座標を順次読み込み、移動先までの軌道を計画する。軌道計画部152は、計画した移動体100の軌道計画情報D40を記憶部140に記憶する。
【0031】
駆動制御部153は、移動体100が移動経路に沿って移動するように、駆動部130の駆動を制御する。駆動制御部153は、例えば、自己位置情報D10と軌道計画情報D40に基づいて、移動経路の移動を実現するための動作指令等を駆動部130に出力する。これにより、移動体100は、駆動部130の駆動によって移動機構が動作することで、移動経路に沿って移動する。駆動制御部153は、駆動部130を駆動させている場合に、近接センサ111が検出範囲111Eの内部に物体を検出すると、駆動部130の駆動を停止させる。
【0032】
物体検出部154は、近接センサ111が検出範囲111Eの内部に物体の存在を検出したことを、通信部120を介して情報処理装置200に通知する。物体検出部154は、近接センサ111が物体の存在を検出した状態から物体の存在を検出していない状態へ変化すると、通信部120を介して情報処理装置200に物体検出の解除を通知する。
【0033】
以上、本実施形態に係る移動体100の機能構成例について説明した。なお、
図4を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る移動体100の機能構成は係る例に限定されない。本実施形態に係る移動体100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0034】
[実施形態に係る情報処理装置の構成例]
図5は、実施形態に係る情報処理装置200の構成の一例を示す構成図である。
図5に示すように、情報処理装置200は、通信部210と、記憶部220と、制御部230と、を備える。制御部230は、通信部210及び記憶部220と電気的に接続されている。
【0035】
通信部210は、例えば、複数の移動体100のそれぞれと通信を行う。通信部210は、例えば、ネットワークを介して各種データを送受信する。通信部210は、例えば、移動体100から受信した各種情報を制御部230に供給する。通信部210は、例えば、制御部230が指示した情報を指示された送信先に送信する。なお、通信部210がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部210が、複数の種類の通信プロトコルをサポートすることも可能である。
【0036】
記憶部220は、各種データ及びプログラムを記憶する。記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。記憶部220は、通信部210を介して受信した情報を記憶する。記憶部220は、例えば、経路情報D100、移動体情報D200、自己位置情報D10、移動タスク情報D20、移動経路情報D30等の各種情報を記憶する。
【0037】
経路情報D100は、複数の移動体100の移動を制御する対象領域における経路を示す情報を含む。経路情報D100は、例えば、対象領域における経路をノードグラフ(トポロジカル地図)で示す情報を含む。経路情報D100は、対象領域の環境全体の経路をモデル化した情報を含む。経路情報D100は、例えば、
図2に示した経路地
図500を識別可能な情報を含む。経路情報D100は、障害物によって移動不能な経路を示す情報を含めることができる。
【0038】
移動体情報D200は、対象領域において制御対象とする移動体100に関する情報を含む。移動体情報D200は、対象領域における移動体100の現在位置、移動状態、スペック等を示す情報を含む。移動状態は、例えば、移動体100が移動している状態、停止している状態等を示す。記憶部220は、複数の移動体100のそれぞれに対応した複数の移動体情報D200を記憶できる。
【0039】
本実施形態では、移動体情報D200は、移動体100の外形を識別可能な外形情報D210を含む。外形情報D210は、例えば、移動体100を平面化したときの形状、サイズ、中心位置、輪郭等を示す形状情報D211を含む構成としてもよい。外形情報D210は、例えば、移動体100を平面化したときの概形、特徴座標等を示す概形情報D212を含む構成としてもよい。概形情報D212は、例えば、方形、台形、円形等の特徴点の座標、形状等を識別可能な情報を含む。外形情報D210は、形状情報D211及び概形情報D212の双方を含む構成としてもよい。
【0040】
自己位置情報D10は、移動体100から受信した情報である。自己位置情報D10は、情報処理装置200が制御対象とする移動体100の自己位置を示す情報を含む。記憶部220は、自己位置情報D10を送信した移動体100に対応した移動体情報D200に関連付けて、自己位置情報D10を記憶できる。自己位置情報D10は、複数の移動体100ごとの自己位置を示す。
【0041】
移動タスク情報D20は、移動元と移動先を指定した移動タスクを示す情報を含む。移動タスク情報D20は、例えば、ユーザUが指定した移動タスク、コンピュータが指定した移動タスク等を示す情報を含む。記憶部220は、複数の移動タスク情報D20を記憶できる。
【0042】
移動経路情報D30は、移動先に到達するまでの移動体100の移動経路を示す情報を含む。移動経路情報D30は、移動タスクが示す移動元から移動先までの経路を示す情報を含む。移動経路情報D30は、制御対象の移動体100に対応した移動体情報D200に関連付けられている。移動経路情報D30は、例えば、移動先に到達するまでの複数の目標座標と移動先との座標の配列を示す情報を含む。記憶部220は、複数の移動経路情報D30を記憶できる。
【0043】
本実施形態では、情報処理装置200は、経路情報D100及び移動体情報D200を内蔵する記憶部220に記憶する場合について説明するが、これに限定されない。例えば、情報処理装置200は、アクセス可能な外部の記憶装置に経路情報D100及び移動体情報D200を記憶してもよい。
【0044】
制御部230は、例えば、専用または汎用のコンピュータである。制御部230は、例えば、情報処理装置200を制御する統合制御ユニットである。制御部230は、複数の移動体100の対象領域における移動を制御する各機能を備える。
【0045】
制御部230は、タスク計画部231と、計画部232と、判定部233と、変更部234と、特定部235と、算出部236との各機能部を備える。制御部230の各機能部は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置200の内部に記憶されたプログラムがRAM等を作業領域として実行されることにより実現される。また、各機能部は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA等の集積回路により実現されてもよい。
【0046】
タスク計画部231は、移動タスク情報D20と移動体情報D200とに基づいて、複数の移動体100の中から移動対象の移動体100を決定する。例えば、タスク計画部231は、移動タスク情報D20が示す移動元の近くに位置する移動体100を、移動対象として決定する。タスク計画部231は、計画した移動経路を移動させる移動体100を、移動タスクを未実行の移動体100の中から決定する。タスク計画部231は、移動タスク情報D20と移動対象の移動体100を示す移動体情報D200とを関連付け、移動先と移動対象の移動体100とを登録する。
【0047】
計画部232は、経路情報D100から制御対象の複数の移動体100を移動させる移動経路を計画する。計画部232は、移動タスク情報D20が示す移動元から移動先に到達するまでの最短経路を、ダイクストラ法等のアルゴリズムで求める。例えば、計画部232は、経路情報D100が示すエッジ520の空間的距離をコストとして、移動元である始点のノード510から移動先の終点のノード510までが最小となるノード510の並び(ノード列)を、ダイクストラ法で算出する。計画部232は、算出した移動経路を示す移動経路情報D30を生成し、移動経路情報D30を決定した移動体100の移動体情報D200に関連付けて記憶部220に記憶する。
【0048】
判定部233は、移動経路を移動する移動体100の近接センサ111が検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定する。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定する。判定部233は、移動体100の近接センサ111が検出範囲111Eの内部に物体を検出すると、物体が移動障害物600ではないと判定した場合に、物体が制御対象の他の移動体100であるか否かを判定する。
【0049】
判定部233は、移動体100の近接センサ111が検出範囲111Eの内部に物体を検出してから判定時間が経過するまでに、近接センサ111が検出範囲111Eの内部に物体を検出しなくなった場合、物体が移動障害物600であると判定する。判定部233は、判定時間が経過するまで、近接センサ111が検出範囲111Eの内部に物体を検出している場合、物体が移動障害物600ではないと判定する。判定時間は、例えば、移動障害物600の移動速度、移動障害物600の行動を機械学習した結果等に基づいて、判定用に設定された時間を含む。
【0050】
本実施形態では、判定部233は、検出した物体が移動障害物600であるか否かを判定する処理と、検出した物体が移動制御可能な他の移動体100であるか否かを判定する処理とを含む場合について説明するが、これに限定されない。判定部233は、検出した物体が移動障害物600であるか否かを判定する処理を含まずに、検出した物体が移動制御可能な他の移動体100であるか否かを判定する処理を含む構成としてもよい。
【0051】
変更部234は、障害物によって移動不能な経路に基づいて経路情報D100を変更する。例えば、変更部234は、障害物により移動不能な箇所を経路地図が示すように、経路情報D100を変更する。例えば、変更部234は、障害物により移動不能な箇所の経路を遮断するように、経路情報D100を変更する。変更部234は、経路情報D100を変更することにより、障害物により移動不能な箇所を他の移動体100の計画に反映することができる。変更部234が経路情報D100を変更すると、計画部232は、変更した経路情報D100に基づいて移動経路を再計画する。
【0052】
特定部235は、他の移動体100の位置情報及び外形情報に基づいて、他の移動体100の外形領域を特定する。例えば、特定部235は、他の移動体100の位置情報を自己位置情報D10から取得し、外形情報を移動体情報D200から取得する。外形情報は、例えば、他の移動体100の形状、概形等を示す情報を含む。特定部235は、他の移動体100の外形の位置座標及び角度に基づいて、対象領域における他の移動体100の外形領域を特定する。他の移動体100が対象領域に複数存在する場合、特定部235は、複数の他の移動体100のそれぞれの配置を特定する。
【0053】
算出部236は、移動体100の現在位置における近接センサ111の検出範囲111Eを算出する。算出部236は、例えば、自己位置情報D10が示す移動体100の位置座標と進行方向の角度から、移動体100の現在位置における近接センサ111の検出範囲111Eを算出する。
【0054】
判定部233は、他の移動体100の外形領域と近接センサ111の検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。判定部233は、外形領域と検出範囲111Eとが交わる場合、物体が制御対象の他の移動体100であると判定する。判定部233は、外形領域と検出範囲111Eとが交わらない場合、物体が制御対象の他の移動体100ではないと判定する。また、判定部233は、外形領域と検出範囲111Eとが一定の距離まで接近した場合に、物体が制御対象の他の移動体100であると判定してもよい。
【0055】
以上、実施形態に係る情報処理装置200の機能構成例について説明した。なお、
図5を用いて説明した上記の構成はあくまで一例であり、実施形態に係る情報処理装置200の機能構成は係る例に限定されない。実施形態に係る情報処理装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0056】
[実施形態に係る移動制御システムのシーケンス例]
図6は、実施形態に係る移動制御システム1のシーケンスの一例を示す図である。
図6に示すように、移動制御システム1は、情報処理装置200が複数の移動体100の対象領域における移動を制御する。
【0057】
移動体100は、自己位置を推定すると、自己位置を示す自己位置情報D10を情報処理装置200に送信する(ステップS1)。情報処理装置200は、受信した自己位置情報D10を移動体100の移動体情報D200に関連付けて記憶部220に記憶する。情報処理装置200は、例えば、移動体100の現在位置、タスク実行状況等の情報を情報端末300に提供する(ステップS2)。
【0058】
情報端末300は、対象領域における複数の移動体100のそれぞれの現在位置、タスク実行状況等を示す情報をユーザUに提供する。これにより、情報端末300は、対象領域の複数の移動体100の現在位置、タスク実行状況等を、ユーザUに確認させることができる。情報端末300は、ユーザUが対象領域における移動元から移動先の移動タスクを設定すると、該移動タスクを示す移動タスク情報D20を情報処理装置200に送信する(ステップS3)。
【0059】
情報処理装置200は、情報端末300から移動タスク情報D20を受信すると、移動タスクが示す移動先への移動経路を計画する。情報処理装置200は、移動タスクを実行する移動体100を決定すると、決定した移動体100に移動経路情報D30を送信する(ステップS4)。
【0060】
移動体100は、情報処理装置200から移動経路情報D30を受信すると、移動経路情報D30に基づいて移動体100の軌道計画を行う。移動体100は、軌道計画に基づいた移動を開始すると、所定のタイミングごとに自己位置を推定する。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS5)。情報処理装置200は、移動体100から受信した自己位置情報D10を移動体情報D200に関連付けて記憶部220に記憶する。
【0061】
移動体100は、推定した自己位置が移動経路情報D30の移動先に到達すると、移動完了を情報処理装置200に通知する(ステップS6)。情報処理装置200は、移動完了が通知されると、該当する移動タスク情報D20の完了を情報端末300に通知する(ステップS7)。情報端末300は、移動タスクの完了をユーザUに対して通知する。これにより、ユーザUは、情報端末300の通知に基づいて、移動体100によって移動タスクが完了したことを確認することができる。
【0062】
[移動体の自己位置通知処理の一例]
図7は、実施形態に係る移動体100の自己位置通知処理の一例を示すフローチャートである。
図7に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。
図7に示す処理手順は、制御部150によって所定のタイミングで実行される。所定のタイミングは、例えば、移動体100の起動時、情報処理装置200から開始が指示されたとき等を含む。
【0063】
図7に示すように、移動体100の制御部150は、移動体100の位置座標、角度の初期値を設定する(ステップS1101)。例えば、制御部150は、移動体100の動作開始時の初期位置座標及び初期角度を設定する。対象領域には、設置場所の位置座標及び角度を示す位置マーカが複数設けられている。位置マーカは、例えば、設定場所の基準となる位置座標及び角度を示すQRコード(登録商標)、バーコード、看板等を含む。制御部150は、ステップS1101の処理が終了すると、処理をステップS1102に進める。
【0064】
制御部150は、コードセンサ114の検出結果に基づいて、位置マーカを読み取ったか否かを判定する(ステップS1102)。制御部150は、位置マーカを読み取っていないと判定した場合(ステップS1102でNo)、処理を後述するステップS1104に進める。また、制御部150は、位置マーカを読み取ったと判定した場合(ステップS1102でYes)、処理をステップS1103に進める。
【0065】
制御部150は、位置座標及び角度を位置マーカの値に更新し、エンコーダ112及び加速度センサ113の値をリセットする(ステップS1103)。例えば、制御部150は、位置マーカが示す位置座標及び角度に変更することで、移動体100の位置座標及び角度を補正する。制御部150は、ステップS1103の処理が終了すると、処理をステップS1104に進める。
【0066】
制御部150は、エンコーダ112と加速度センサ113の値を取得して自己位置情報D10を推定する(ステップS1104)。自己位置情報D10を推定するとは、例えば、移動体100の自己位置、進行方向等を推定することを意味する。例えば、制御部150は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置、進行方向等を推定する。制御部150は、推定した自己位置情報D10を記憶部140に記憶すると、処理をステップS1105に進める。
【0067】
制御部150は、自己位置情報D10を情報処理装置200に送信する(ステップS1105)。例えば、制御部150は、ステップS1104で推定した自己位置情報D10を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1105の処理が終了すると、処理を既に説明したステップS1102に戻し、処理を継続する。
【0068】
図7に示す処理手順では、制御部150は、いずれのステップを実行していても、終了シーケンスの発生等に応じて
図7に示す処理手順を強制的に終了させる。
【0069】
[情報処理装置の経路計画処理の一例]
図8は、実施形態に係る情報処理装置200の経路計画処理の一例を示すフローチャートである。
図8に示す処理手順は、情報処理装置200の制御部230がプログラムを実行することによって実現される。
図8に示す処理手順は、制御部230によって繰り返し実行される。
【0070】
図8に示すように、情報処理装置200の制御部230は、情報端末300から移動タスク情報D20を取得する(ステップS2101)。例えば、制御部230は、通信部210を介して、情報端末300が送信した移動タスク情報D20を取得する。制御部230は、取得した移動タスク情報D20を記憶部220に記憶すると、処理をステップS2102に進める。
【0071】
制御部230は、移動タスクを未実行の移動体100が存在するか否かを判定する(ステップS2102)。例えば、制御部230は、記憶部220に記憶している他の移動タスク情報D20が示すタスク実行状況、移動体情報D200等に基づいて、移動タスクを実行していない移動体100が存在するか否かを判定する。制御部230は、移動タスクを未実行の移動体100が存在しないと判定した場合(ステップS2102でNo)、処理を既に説明したステップ2102に戻し、処理を継続する。これにより、制御部230は、移動タスクを実行している複数の移動体100のうち、移動タスクが終了した移動体100を待つ。
【0072】
また、制御部230は、移動タスクを未実行の移動体100が存在すると判定した場合(ステップS2102でYes)、処理をステップS2103に進める。制御部230は、移動タスク情報D20及び経路情報D100に基づいて、移動元から移動先までの移動経路を計画する(ステップS2103)。例えば、制御部230は、移動タスク情報D20が示す移動元から移動先までの移動経路を、ダイクストラ法等のアルゴリズムを用いて計画する。制御部230は、ステップS2103の処理が終了すると、処理をステップS2104に進める。
【0073】
制御部230は、移動タスクを未実行の移動体100の中から移動タスクを実行させる移動体100を決定する(ステップS2104)。例えば、制御部230は、移動タスクを未実行の移動体100の中から移動元に最も近い移動体100を、移動タスクを実行させる移動体100として決定する。制御部230は、ステップS2104の処理が終了すると、処理をステップS2105に進める。
【0074】
制御部230は、決定した移動体100に移動経路情報D30を送信する(ステップS2105)。例えば、制御部230は、通信部210を介して、ステップS2104で決定した移動体100に移動経路情報D30を送信する。制御部230は、ステップS2105の処理が終了すると、
図8に示す処理手順を終了させる。
【0075】
[移動体の移動制御処理の一例]
図9は、実施形態に係る移動体100の移動制御処理の一例を示すフローチャートである。
図9に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。
図9に示す処理手順は、制御部150によって繰り返し実行される。
【0076】
図9に示すように、移動体100の制御部150は、移動経路情報D30を受信したか否かを判定する(ステップS1201)。例えば、制御部150は、通信部120を介して、情報処理装置200から移動経路情報D30を受信している場合に、移動経路情報D30を受信したと判定する。制御部150は、移動経路情報D30を受信していないと判定した場合(ステップS1201でNo)、
図9に示す処理手順を終了させる。
【0077】
また、制御部150は、移動経路情報D30を受信したと判定した場合(ステップS1201でYes)、処理をステップS1202に進める。制御部150は、移動経路情報D30のノード座標列をFIFO(First-In First-Out)に格納する(ステップS1202)。FIFOは、先入れ先出しのメモリである。例えば、制御部150は、移動経路情報D30の複数のノード座標列を、移動元から移動先の順序でFIFOに設定する。制御部150は、ステップS1202の処理が終了すると、処理をステップS1203に進める。
【0078】
制御部150は、FIFOからノード座標を1つ取り出す(ステップS1203)。制御部150は、先入れしたノード座標をFIFOから取り出すと、処理をステップS1204に進める。制御部150は、取り出したノード座標に向かう軌道を計画する(ステップS1204)。例えば、制御部150は、自己位置から目標のノード座標に向かう移動体100の回転方向、移動速度等の軌道を、移動体100の運動性能を考慮して計画する。制御部150は、計画した軌道を示す軌道計画情報D40を記憶部140に記憶すると、処理をステップS1205に進める。これにより、移動体100の駆動制御部153は、軌道計画情報D40が示す軌道を移動体100が移動するように、駆動部130の駆動を制御する。
【0079】
制御部150は、自己位置とノード座標が一致するか否かを判定する(ステップS1205)。例えば、制御部150は、センサ部110が検出したセンサ情報に基づいて、移動体100の自己位置を推定し、推定した自己位置とノード座標とを比較する。制御部150は、自己位置とノード座標が一致しないと判定した場合(ステップS1205でNo)、移動体100がノード座標位置に到達していないので、処理を既に説明したステップS1205に戻し、処理を継続する。また、制御部150は、自己位置とノード座標が一致すると判定した場合(ステップS1205でYes)、移動体100がノード座標位置に到達しているので、処理をステップS1206に進める。
【0080】
制御部150は、FIFOが空であるか否かを判定する(ステップS1206)。例えば、制御部150は、FIFOから全てのノード座標を取り出している場合に、FIFOが空であると判定する。制御部150は、FIFOが空ではないと判定した場合(ステップS1206でNo)、処理を既に説明したステップS1203に戻し、処理を継続する。また、制御部150は、FIFOが空であると判定した場合(ステップS1206でYes)、処理をステップS1207に進める。
【0081】
制御部150は、移動体100の移動完了を情報処理装置200に通知する(ステップS1207)。例えば、制御部150は、移動経路情報D30が示す移動先への移動が完了したことを示す移動完了情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1207の処理が終了すると、
図9に示す処理手順を終了させる。
【0082】
[移動体の物体検出処理の一例]
図10は、実施形態に係る移動体100の物体検出処理の一例を示すフローチャートである。
図10に示す処理手順は、移動体100の制御部150がプログラムを実行することによって実現される。
図10に示す処理手順は、制御部150によって繰り返し実行される。
【0083】
図10に示すように、移動体100の制御部150は、近接センサ111が物体を検出したか否かを判定する(ステップS1301)。例えば、制御部150は、近接センサ111が検出範囲111Eの内部に物体の存在を検出した場合に、近接センサ111が物体を検出したと判定する。制御部150は、近接センサ111が物体を検出していないと判定した場合(ステップS1301でNo)、
図10に示す処理手順を終了させる。また、制御部150は、近接センサ111が物体を検出したと判定した場合(ステップS1301でYes)、処理をステップS1302に進める。
【0084】
制御部150は、自機が移動中であるか否かを判定する(ステップS1302)。例えば、制御部150は、移動体100の駆動制御部153が駆動部130を制御している、エンコーダ112が車輪の駆動量を検出している等の場合に、自機が移動中であると判定する。制御部150は、自機が移動中ではないと判定した場合(ステップS1302でNo)、処理を後述するステップS1304に進める。また、制御部150は、自機が移動中であると判定した場合(ステップS1302でYes)、処理をステップS1303に進める。
【0085】
制御部150は、移動体100の一時移動を停止させる(ステップS1303)。例えば、制御部150は、移動体100の一時停止を駆動制御部153に指示することで、移動体100の移動を停止させる。制御部150は、ステップS」1303の処理が終了すると、処理をステップS1304に進める。
【0086】
制御部150は、自己位置及び物体の検出を情報処理装置200に通知する(ステップS1304)。例えば、制御部150は、自己位置及び物体の検出を通知可能な通知情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1304の処理が終了すると、処理をステップS1305に進める。
【0087】
制御部150は、近接センサ111が物体を検出しているか否かを判定する(ステップS1305)。例えば、物体が移動障害物600である場合、近接センサ111の検出範囲111Eから外れる可能性がある。制御部150は、近接センサ111が検出範囲111Eの内部に物体の存在を検出している場合に、近接センサ111が物体を検出していると判定する。制御部150は、近接センサ111が物体を検出していると判定した場合(ステップS1305でYes)、処理を既に説明したステップS1305に戻し、処理を継続する。また、制御部150は、近接センサ111が物体を検出していないと判定した場合(ステップS1305でNo)、処理をステップS1306に進める。
【0088】
制御部150は、物体の検出の解除を情報処理装置200に通知する(ステップS1306)。例えば、制御部150は、物体の検出の解除を通知可能な通知情報を、通信部120を介して情報処理装置200に送信する。制御部150は、ステップS1306の処理が終了すると、処理をステップS1307に進める。
【0089】
制御部150は、物体検出時、移動中であったか否かを判定する(ステップS1307)。例えば、制御部150は、一時停止している場合に、物体検出時、移動中であったと判定する。制御部150は、物体検出時、移動中ではなかったと判定した場合(ステップS1307でNo)、
図10に示す処理手順を終了させる。
【0090】
また、制御部150は、物体検出時、移動中であったと判定した場合(ステップS1307でYes)、処理をステップS1308に進める。制御部150は、移動体100の移動を再開する(ステップS1308)。例えば、制御部150は、移動体100の一時停止の解除を駆動制御部153に指示することで、移動体100の移動を再開させる。制御部150は、ステップS1308の処理が終了すると、
図10に示す処理手順を終了させる。
【0091】
[情報処理装置の物体判定処理の一例]
図11は、実施形態に係る情報処理装置200の物体判定処理の一例を示すフローチャートである。
図11に示す処理手順は、情報処理装置200の制御部230がプログラムを実行することによって実現される。
図11に示す処理手順は、制御部230によって繰り返し実行される。
【0092】
図11に示すように、情報処理装置200の制御部230は、移動体100から物体検出の通知があったか否かを判定する(ステップS2201)。例えば、制御部230は、通信部210を介して、自己位置及び物体の検出を通知可能な通知情報を移動体100から受信している場合に、移動体100から物体検出の通知があったと判定する。制御部230は、移動体100から物体検出の通知がないと判定した場合(ステップS2201でNo)、
図11に示す処理手順を終了させる。
【0093】
また、制御部230は、移動体100から物体検出の通知があったと判定した場合(ステップS2201でYes)、処理をステップS2202に進める。制御部230は、物体検出に応答し、移動障害物の判定時間が経過するまで待機する(ステップS2202)。例えば、制御部230は、通信部210を介して、物体検出の通知の応答を移動体に送信する。制御部230は、判定時間が経過するまで待ち、その間に物体の検出が移動体100によって解除されれば、物体が移動障害物であると判定することができる。このため、制御部230は、物体検出の通知から判定時間が経過するまで待機する。判定時間は、例えば、近接センサ111の検出範囲[m]÷人間の平均歩行速度[m/s]を算出した時間、予め設定された時間等を含む。制御部230は、判定時間が経過すると、処理をステップS2203に進める。
【0094】
制御部230は、移動体100から物体検出の解除が通知されたか否かを判定する(ステップS2203)。例えば、制御部230は、通信部210を介して、物体検出の解除を通知する通知情報を移動体100から受信している場合に、移動体100から物体検出の解除が通知されたと判定する。制御部230は、移動体100から物体検出の解除が通知されたと判定した場合(ステップS2203でYes)、
図11に示す処理手順を終了させる。
【0095】
また、制御部230は、移動体100から物体検出の解除が通知されていないと判定した場合(ステップS2203でNo)、処理をステップS2204に進める。制御部230は、他の移動体100の自己位置情報D10及び移動体情報D200を取得する(ステップS2204)。例えば、制御部230は、制御対象の全ての移動体100の自己位置情報D10及び移動体情報D200を取得してもよい。例えば、制御部230は、物体を検出した移動体100から所定範囲の内部に位置する他の移動体100の自己位置情報D10及び移動体情報D200を取得してもよい。制御部230は、ステップS2204の処理が終了すると、処理をステップS2205に進める。
【0096】
制御部230は、対象領域における移動体100の近接センサ111の検出範囲111Eを算出する(ステップS2205)。制御部230は、移動体100位置座標からオフセットした近接センサ111の中心座標を求め、該中心座標に基づいて近接センサ111の検出範囲111Eを算出する。制御部230は、ステップS2205の処理が終了すると、処理をステップS2206に進める。
【0097】
制御部230は、対象領域における他の移動体100の外形領域を特定する(ステップS2206)。例えば、制御部230は、他の移動体100の移動体情報D200の外形情報及び自己位置情報D10に基づいて、対象領域における外形領域を特定する。外形領域の特定方法は、後述する。制御部230は、ステップS2206の処理が終了すると、処理をステップS2207に進める。
【0098】
制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっているか否かを判定する(ステップS2207)。例えば、制御部230は、検出範囲111Eと外形領域とを比較し、交点が存在する場合に、近接センサ111の検出範囲111Eと外形領域が交わっていると判定する。制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっていると判定した場合(ステップS2207でYes)、処理をステップS2208に進める。制御部230は、物体が制御対象の他の移動体100であると判定する(ステップS2208)。制御部230は、判定結果を記憶部220に記憶すると、
図11に示す処理手順を終了させる。
【0099】
また、制御部230は、近接センサ111の検出範囲111Eと外形領域が交わっていないと判定した場合(ステップS2207でNo)、処理をステップS2209に進める。制御部230は、物体が静止障害物であると判定する(ステップS2209)。制御部230は、判定結果を記憶部220に記憶すると、処理をステップS2210に進める。
【0100】
制御部230は、物体を検出した移動経路が障害物によって移動不能な経路と判定する(ステップS2210)。制御部230は、移動不能な経路に基づいて経路情報D100を変更する(ステップS2211)。例えば、制御部230は、静止障害物により移動不能な箇所の経路を遮断するように、経路情報D100を変更する。経路情報D100の変更例は、後述する。制御部230は、ステップS2211の処理が終了すると、
図11に示す処理手順を終了させる。
【0101】
[情報処理装置の物体判定例]
図12は、実施形態に係る情報処理装置200が物体を判定する一例を説明するための図である。
図12の場面C11では、情報処理装置200は、移動体100-1の座標100Pからオフセットした近接センサ111の中心座標を座標(x,y)とする。情報処理装置200は、移動体100-1の角度がθ回転した近接センサ111の中心座標である座標(x
1,y
1)を、以下の式(1)によって求める。
【数1】
【0102】
場面C12の一例では、他の移動体100-2の外形情報D210は、方形状の外形を示し、4つの頂点座標(x
2a,y
2b)、(x
2b,y
2b)、(x
2c,y
2c)、(x
2d,y
2d)等の情報を有している。4つの頂点座標(x
2a,y
2b)、(x
2b,y
2b)、(x
2c,y
2c)、(x
2d,y
2d)で囲まれた領域は、外形領域100Gである。情報処理装置200は、他の移動体100-2の任意の座標(x
2,y
2)における各頂点座標(x
2n,y
2n)を、x=x
2+x
2n、y=y
2+y
2nとする。nは、a、b、c、dのいずれかである。この場合、情報処理装置200は、角度θ
2の移動体100-2の各頂点は、以下の式(2)によって求める。
【数2】
【0103】
場面C13の一例では、移動体100-1の近接センサ111の中心座標を座標(x,y)から、回転した移動体100-2の各辺からの垂線の長さは、移動体100-1の近接センサ111の検出範囲111Eの半径rよりも小さい。この場合、移動体100-1の近接センサ111の中心座標を中心として半径rの円である近接センサ111の検出範囲111Eは、回転した移動体100-2の外形領域100Gの各辺の交点が存在することになる。もし、交点が存在すれば、移動体100-1の近接センサ111が検出したのは、他の移動体100-2である。このため、情報処理装置200は、近接センサ111の検出範囲111Eと他の移動体100-2の外形の辺に交点が存在する場合に、物体が他の移動体100-2であると判定する。他の移動体100-2は、情報処理装置200の指示によって移動させることが可能なので、障害物とは判定する必要はない。情報処理装置200は、近接センサ111によって検出された物体が他の移動体100-2ではない場合に、移動体100-1の静止障害物であると判定する。情報処理装置200は、検出した物体を静止障害物と判定した場合、静止障害物に基づいて経路情報D100を変更する。すなわち、情報処理装置200は、検出した物体が他の移動体100-2であると判定した場合、経路情報D100を変更する必要がないと判定できる。
【0104】
[情報処理装置の経路情報の変更例]
図13は、実施形態に係る情報処理装置200が経路情報D100を変更する一例を説明するための図である。
図13の場面C21では、情報処理装置200は、移動体100-1の近接センサ111によって検出した物体を、他の移動体100-2ではなく、静止障害物と判定している。移動体100-1は、ノード510Aとノード510Bとの間のエッジ520をノード510Bに向かって移動していたとする。情報処理装置200は、移動体100-1の自己位置に基づいて近接センサ111の検出範囲111Eを設定する。情報処理装置200は、検出範囲111Eの円周とエッジ520との交点を求め、移動体100-1の進行方向側の交点に新規のノード511-1を設定する。情報処理装置200は、移動体100-1の現在座標に新規のノード511-2を設定する。
【0105】
場面C22では、情報処理装置200は、移動体100-1の近接センサ111の検出範囲111Eの内部に静止障害物があるので、そこが移動不能となるように、経路情報D100の該当箇所を変更する。例えば、情報処理装置200は、新規のノード511-1とノード511-2との間のエッジ520を切断するように、経路情報D100を変更する。これにより、経路情報D100は、新規のノード511-1及びノード511-2が経路の終端を示す終端ノードとなる。
【0106】
[移動制御システムの経路情報の変更時のシーケンス例]
図14は、実施形態に係る移動制御システム1の経路情報D100の変更時のシーケンスの一例を示す図である。
図14に示すように、移動制御システム1は、情報処理装置200が複数の移動体100の対象領域における移動を制御する。
図14に示すシーケンスは、ステップS1からステップS5が
図6で示したステップS1からステップS5と同一である。
【0107】
移動体100は、自己位置を推定すると、自己位置を示す自己位置情報D10を情報処理装置200に送信する(ステップS1)。情報処理装置200は、例えば、移動体100の現在位置、タスク実行状況等の情報を情報端末300に提供する(ステップS2)。情報端末300は、ユーザUが対象領域における移動元から移動先の移動タスクを設定すると、該移動タスクを示す移動タスク情報D20を情報処理装置200に送信する(ステップS3)。情報処理装置200は、移動タスクを実行する移動体100を決定すると、決定した移動体100に移動経路情報D30を送信する(ステップS4)。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS5)。
【0108】
その後、移動体100は、近接センサ111が検出範囲111Eの内部に存在する物体を検出すると、物体検出を情報処理装置200に通知する(ステップS11)。情報処理装置200は、物体検出の応答を移動体100に送信する(ステップS12)。物体検出の応答は、例えば、物体検出の通知を受信したことを通知することを含む。情報処理装置200は、移動体100が検出した物体を静止障害物であると判定した場合、静止障害物が存在する経路を移動不能な経路となるように、経路情報D100を変更する(ステップS13)。情報処理装置200は、変更した経路情報D100に基づいて、移動体100の移動経路を再計画すると、新たな移動経路情報D30を移動体100に送信する(ステップS14)。
【0109】
移動体100は、情報処理装置200から新たな移動経路情報D30を受信すると、移動経路情報D30に基づいて移動体100の軌道計画を行う。移動体100は、軌道計画に基づいた移動を開始すると、所定のタイミングごとに自己位置を推定する。移動体100は、所定のタイミングごとに推定した自己位置を示す自己位置情報D10を、情報処理装置200に送信する(ステップS15)。情報処理装置200は、移動体100から受信した自己位置情報D10を記憶部220に記憶する。
【0110】
移動体100は、推定した自己位置が移動経路情報D30の移動先に到達すると、移動完了を情報処理装置200に通知する(ステップS16)。情報処理装置200は、移動完了が通知されると、該当する移動タスク情報D20の完了を情報端末300に通知する(ステップS17)。情報端末300は、移動タスクの完了をユーザUに対して通知する。これにより、ユーザUは、移動タスクに応じた移動経路の移動不能を意識することなく、情報端末300の通知に基づいて、移動体100によって移動タスクが完了したことを確認することができる。
【0111】
[移動制御システムにおける移動体の動作例]
図15は、実施形態に係る移動制御システム1が制御する移動体100の動作例の一例を説明するための図である。
図15の一例では、移動制御システム1は、説明を簡単化するために、情報処理装置200が移動体100-1及び移動体100-2の移動を制御している。
【0112】
図15に示す場面C31では、移動制御システム1は、移動体100-1及び移動体100-2の移動を情報処理装置200が制御している。移動体100-1は、ノード500A、ノード500B、ノード500C及び移動先ノード530の順序の移動経路R10となっている。移動体100-1は、ノード500Aからノード500Bに向かって移動している。また、移動体100-2は、ノード510Eからノード500Fに向かって移動している。例えば、移動体100-2は、ノード500F、ノード500B、ノード500C及び移動先ノード530の順序の移動経路となっている。
【0113】
場面C32では、移動体100-1は、ノード500Bを通過し、ノード500Bからノード500Cに向かってエッジ520を移動している。この場合、エッジ520上に障害物540が存在しているため、移動体100-1は、近接センサ111が検出範囲111Eの内部に存在する物体を検出して一時停止する。
【0114】
情報処理装置200は、移動体100-1から物体検出が通知されてから判定時間が経過するまでに、移動体100-1からの解除通知がない場合、物体が移動障害物600ではないと判定する。情報処理装置200は、他の移動体100の自己位置情報D10及び外形情報D210に基づいて、他の移動体100の外形領域100Gを特定する。情報処理装置200は、移動体100-1の自己位置情報D10及び移動体情報D200に基づいて、移動体100-1の近接センサ111の検出範囲111Eを算出する。情報処理装置200は、他の移動体100の外形領域100Gと検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。移動体100-2の外形領域100Gと移動体100-1の検出範囲111Eとは交わらないので、情報処理装置200は、物体が他の移動体100ではないと判定する。この場合、情報処理装置200は、移動体100-1が物体を検出した移動経路が障害物によって移動不能な経路と判定する。
【0115】
情報処理装置200は、物体を検出した移動体100-1の自己位置情報D10に基づいて、障害物により移動不能な箇所を経路から削除するように経路情報D100を変更する。情報処理装置200は、変更した経路情報D100と自己位置情報D10と移動タスク情報D20とに基づいて、移動体100-1の移動経路を再計画する。例えば、情報処理装置200は、ノード500B、ノード500F、ノード500E、ノード500D及び移動先ノード530の順序の移動経路R11を再計画する。情報処理装置200は、再計画した移動経路R11を移動するように、移動体100の移動を制御する。
【0116】
また、情報処理装置200は、経路情報D100を変更した場合、対象領域の移動体100-2の移動経路を再計画してもよい。例えば、情報処理装置200は、移動体100-2の移動経路が移動不能となったエッジ520(経路)を含んでいる場合に、移動体100-2の移動経路を再計画する。情報処理装置200は、再計画した移動経路を移動するように、移動体100-2の移動を制御する。これにより、移動制御システム1は、物体を検出していない移動体100-2をスムーズに移動先へ移動させることができるので、複数の移動体100を効率的に移動させることができる。
【0117】
[移動制御システムの他の変形例]
上述の本実施形態では、移動制御システム1は、情報処理装置200をクラウドサーバで実現する場合について説明したが、これに限定されない。例えば、移動制御システム1は、情報処理装置200を複数の移動体100のうちのいずれか1つの移動体100で実現させたり、情報処理装置200を複数の移動体100のそれぞれで実現させたりしてもよい。
【0118】
[ハードウェア構成]
上述してきた実施形態に係る情報処理装置200は、例えば
図16に示すような構成のコンピュータ1000によって実現してもよい。以下、実施形態に係る情報処理装置200を例に挙げて説明する。
図16は、情報処理装置200の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0119】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0120】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0121】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【0122】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0123】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0124】
例えば、コンピュータ1000が実施形態に係る移動制御システム1の情報処理装置200として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、タスク計画部231、計画部232、判定部233、変更部234、特定部235、算出部236等の機能を実現する。また、HDD1400には、本開示に係るプログラムや、記憶部220内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0125】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0126】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0127】
また、コンピュータに内蔵されるCPU、ROMおよびRAMなどのハードウェアに、情報処理装置200が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【0128】
また、本明細書の移動体100及び情報処理装置200の処理に係る各ステップは、必ずしもフローチャートに記載された順序に沿って時系列に処理される必要はない。例えば、移動体100及び情報処理装置200の処理に係る各ステップは、フローチャートに記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
【0129】
(効果)
情報処理装置200は、制御対象の複数の移動体を移動させる移動経路を経路情報D100に基づいて計画する計画部232と、移動経路を移動する移動体100のセンサが検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定する判定部233と、を備える。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不能な経路と判定する。
【0130】
これにより、情報処理装置200は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出した物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路と判定することができる。その結果、情報処理装置200は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
【0131】
情報処理装置200では、判定部233は、移動体100のセンサが検出範囲の内部に物体を検出すると、物体が移動障害物ではないと判定した場合に、物体が制御対象の他の移動体であるか否かを判定する。
【0132】
これにより、情報処理装置200は、検出範囲の内部の物体が移動障害物でない場合に、当該物体が制御対象の他の移動体であるか否かを判定することで、移動経路が静止障害物によって移動不要な経路の判定精度を向上させることができる。その結果、情報処理装置200は、移動障害物と複数の移動体100が混在する環境下であっても、複数の移動体100を効率的に移動させることができる。
【0133】
情報処理装置200は、静止障害物によって移動不能な経路に基づいて、経路情報D100を変更する変更部234をさらに備える。
【0134】
これにより、情報処理装置200は、静止障害物によって移動不能な経路を経路情報D100に反映することができる。その結果、情報処理装置200は、経路情報D100が静止障害物とは異なる物体の影響を抑制できるので、移動障害物と複数の移動体100が混在する環境下であっても、経路情報D100が示す経路の信頼性を向上させることができる。
【0135】
情報処理装置200は、計画部232は、変更した経路情報D100に基づいて移動経路を再計画する。
【0136】
これにより、情報処理装置200は、障害物によって移動不能な経路を経路情報D100に反映すると、移動不能な経路を回避するように移動経路を再計画することができる。その結果、情報処理装置200は、複数の移動体100が有軌道環境で移動する場合でも、複数の移動体100を効率的に移動させることができる。
【0137】
情報処理装置200は、他の移動体100の位置情報及び外形情報D210に基づいて、他の移動体100の外形領域100Gを特定する特定部235と、移動体100の現在位置におけるセンサの検出範囲111Eを算出する算出部236と、をさらに備える。判定部233は、他の移動体100の外形領域100Gと検出範囲111Eとの位置関係に基づいて、物体が制御対象の他の移動体100であるか否かを判定する。
【0138】
これにより、情報処理装置200は、移動体100の前方の外界を解析することなく、物体が制御対象の他の移動体100であるか否かを判定することができる。情報処理装置200は、外形領域100Gと検出範囲111Eとの交点を簡単な計算で求めることができる。その結果、情報処理装置200は、物体が他の移動体100であるか否かの判定に係る処理を簡単化できるので、複数の移動体100の制御に係る処理負担を抑制することができる。情報処理装置200は、検出範囲111Eの内部の物体の存在を検出するセンサよりも高価なセンサを用いる必要がないので、移動体のコストダウンに貢献することができる。
【0139】
情報処理装置200では、特定部235は、外形情報D210が示す形状を位置情報が示す位置に配置した外形領域100Gを特定する。
【0140】
これにより、情報処理装置200は、他の移動体100の外形を示す外形領域100Gを特定することができる。その結果、情報処理装置200は、外形領域100Gを特定するための処理負担をより一層抑制することができるので、制御対象の移動体100の増加に容易に対応することができる。
【0141】
情報処理装置200では、判定部233は、移動体100のセンサが検出範囲111Eの内部に物体を検出してから判定時間が経過するまでに、センサが検出範囲111Eの内部に物体を検出しなくなった場合、物体が移動障害物であると判定し、判定時間が経過するまで、センサが検出範囲111Eの内部に物体を検出している場合、物体が移動障害物ではないと判定する。
【0142】
これにより、情報処理装置200は、移動体100のセンサが物体を検出範囲111Eの内部に検出してから判定時間までの検出状態に基づいて、物体が移動障害物であるか否かを判定することができる。その結果、情報処理装置200は、移動している物体を検出範囲111Eの内部に検出しても判定時間を設けることで、移動障害物の判定精度を向上させることができる。
【0143】
移動制御システム1は、経路情報D100が示す経路を移動可能な複数の移動体100と、複数の移動体100の移動を制御する情報処理装置200と、を備える。情報処理装置200は、制御対象の複数の移動体100を移動させる移動経路を経路情報D100に基づいて計画する計画部232と、移動経路を移動する移動体100のセンサが検出範囲の内部に物体を検出すると、物体が制御対象の他の移動体であるか否かを判定する判定部233と、を備える。判定部233は、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定する。
【0144】
これにより、移動制御システム1は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出範囲111Eの内部の物体を検出することができる。移動制御システム1は、情報処理装置200が移動体100のセンサによって検出した物体を他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路と判定することができる。その結果、移動制御システム1は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
【0145】
移動制御システム1では、移動体100は、センサが検出範囲111Eの内部に物体を検出した場合、移動を停止して判定時間が経過した後に、センサが検出範囲111Eの内部に物体を検出しないと、情報処理装置200に移動停止の解除通知を行い、移動を再開する。情報処理装置200の判定部233は、移動を停止した移動体100から解除通知がない場合、物体が制御対象の他の移動体100であるか否かを判定する。
【0146】
これにより、移動制御システム1は、センサが検出範囲111Eの内部に物体を検出した場合、移動体100の移動を停止し、物体の検出状態に応じて移動を再開することができる。移動制御システム1は、移動を停止した移動体100が情報処理装置200に解除通知を行わなかった場合、情報処理装置200によって物体が他の移動体100であるか否かを判定することができる。その結果、移動制御システム1は、複数の移動体100の移動制御を行う環境下であっても、複数の移動体を効率的に移動させることができる。
【0147】
移動制御システム1では、移動体100は、センサが検出範囲111Eの内部に物体を検出し、情報処理装置200が移動不能な経路と判定すると、情報処理装置200が再計画した移動経路を移動する。
【0148】
これにより、移動制御システム1は、移動体100のセンサで物体の存在を検出するだけで、移動不能な経路を回避し、移動可能な移動経路を移動体100に移動させることができる。その結果、移動制御システム1は、複数の移動体100を制御するシステムを低コストで構築でき、かつ複数の移動体を効率的に移動させることができる。
【0149】
移動制御システム1では、センサは、移動体100の進行方向の検出範囲111Eを含む近接センサ111である。
【0150】
これにより、移動制御システム1は、移動体100が近接センサ111を備えればよいので、近接センサ111よりも高価な、例えばLiDARセンサ、カメラ等を備える必要がなくなる。その結果、移動制御システム1は、移動体100のコストを抑制できるので、複数の移動体100を制御するシステムを低コストで構築でき、かつ複数の移動体を効率的に移動させることができる。
【0151】
情報処理方法は、コンピュータが、制御対象の複数の移動体を移動させる移動経路を経路情報D100に基づいて計画すること、移動経路を移動する移動体100のセンサが検出範囲111Eの内部に物体を検出すると、物体が制御対象の他の移動体100であるか否かを判定すること、物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が障害物によって移動不能な経路と判定すること、を含む。
【0152】
これにより、情報処理方法は、複数の移動体100が移動可能な経路において、移動体100のセンサが検出した物体が他の移動体100ではないと判定した場合に、物体を検出した移動経路が静止障害物によって移動不要な経路とコンピュータが判定することができる。その結果、情報処理方法は、物体を検出した場所から移動する障害物か移動しない障害物であるかを、検出範囲111Eの内部における物体の有無によって判定できるので、移動体のコストアップを抑制し、複数の移動体を効率的に移動させることができる。
【0153】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画する計画部と、
前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
を備え、
前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が静止障害物によって移動不能な経路と判定する
情報処理装置。
(2)
前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出すると、前記物体が移動障害物ではないと判定した場合に、前記物体が制御対象の他の移動体であるか否かを判定する
前記(1)に記載の情報処理装置。
(3)
前記静止障害物によって移動不能な経路に基づいて、前記経路情報を変更する変更部をさらに備える
前記(1)または(2)に記載の情報処理装置。
(4)
前記計画部は、変更した前記経路情報に基づいて前記移動経路を再計画する
前記(1)から(3)のいずれかに記載の情報処理装置。
(5)
前記他の移動体の位置情報及び外形情報に基づいて、前記他の移動体の外形領域を特定する特定部と、
前記移動体の現在位置における前記センサの前記検出範囲を算出する算出部と、
をさらに備え、
前記判定部は、前記他の移動体の前記外形領域と前記検出範囲との位置関係に基づいて、前記物体が前記制御対象の前記他の移動体であるか否かを判定する
前記(3)または(4)に記載の情報処理装置。
(6)
前記特定部は、前記外形情報が示す形状を前記位置情報が示す位置に配置した前記外形領域を特定する
前記(5)に記載の情報処理装置。
(7)
前記判定部は、前記移動体の前記センサが検出範囲の内部に前記物体を検出してから判定時間が経過するまでに、前記センサが検出範囲の内部に前記物体を検出しなくなった場合、前記物体が前記移動障害物であると判定し、前記判定時間が経過するまで、前記センサが検出範囲の内部に前記物体を検出している場合、前記物体が前記移動障害物ではないと判定する
前記(1)から(6)のいずれかに記載の情報処理装置。
(8)
経路情報が示す経路を移動可能な複数の移動体と、
複数の前記移動体の移動を制御する情報処理装置と、
を備え、
前記情報処理装置は、
制御対象の複数の移動体を移動させる移動経路を前記経路情報に基づいて計画する計画部と、
前記移動経路を移動する前記移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定する判定部と、
を備え、
前記判定部は、前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定する
移動制御システム。
(9)
前記移動体は、前記センサが検出範囲の内部に物体を検出した場合、移動を停止して判定時間が経過した後に、前記センサが検出範囲の内部に前記物体を検出しないと、前記情報処理装置に移動停止の解除通知を行い、移動を再開し、
前記情報処理装置の前記判定部は、移動を停止した前記移動体から前記解除通知がない場合、前記物体が前記制御対象の他の移動体であるか否かを判定する
前記(8)に記載の移動制御システム。
(10)
前記移動体は、前記センサが検出範囲の内部に物体を検出し、前記情報処理装置が移動不能な経路と判定すると、前記情報処理装置が再計画した前記移動経路を移動する
前記(8)または(9)に記載の移動制御システム。
(11)
前記センサは、前記移動体の進行方向の前記検出範囲を含む近接センサである
前記(8)から(10)のいずれかに記載の移動制御システム。
(12)
コンピュータが、
制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
を含む情報処理方法。
(13)
コンピュータに、
制御対象の複数の移動体を移動させる移動経路を経路情報に基づいて計画すること、
前記移動経路を移動する移動体のセンサが検出範囲の内部に物体を検出すると、前記物体が前記制御対象の他の移動体であるか否かを判定すること、
前記物体が前記他の移動体ではないと判定した場合に、前記物体を検出した前記移動経路が障害物によって移動不能な経路と判定すること、
を実行させる情報処理プログラム。
【符号の説明】
【0154】
1 移動制御システム
100 移動体
110 センサ部
111 近接センサ
112 エンコーダ
113 加速度センサ
114 コードセンサ
120 通信部
130 駆動部
140 記憶部
150 制御部
151 自己位置推定部
152 軌道計画部
153 駆動制御部
154 物体検出部
200 情報処理装置
210 通信部
220 記憶部
230 制御部
231 タスク計画部
232 計画部
233 判定部
234 変更部
235 特定部
236 算出部
500 経路地図
510 ノード
520 エッジ
530 移動先ノード
540 障害物
600 移動障害物
D10 自己位置情報
D20 移動タスク情報
D30 移動経路情報
D100 経路情報
D200 移動体情報
D210 外形情報
D211 形状情報
D212 概形情報