(57)【要約】【課題】屋内環境で異なるタイプの自動運転車両を管理するためのマルチエージェントロボット管理システムを提供する。【解決手段】  屋内環境内で自動運転車両を管理するための車両管理システムが提供される。上記車両管理システムは、上記屋内環境内の複数の固定位置に配置された複数のデバイスを備え、それぞれが「グローバルチェーンビジョンナビゲーションシステム」と呼ばれる新規のナビゲーションシステムを構築するのに役立つ一連のデバイスを形成してもよい。上記車両管理システムは、前記屋内環境のマップをリアルタイムで生成するために前記屋内環境を自動的にスキャンするように構成された複数のロボットを備えてもよい。上記複数のロボットの各ロボットは、上記複数のデバイスのサブセットを用いて当該ロボットの位置を判断してもよい。上記車両管理システムは、上記マップに基づいて上記屋内環境で自律的に移動するように構成された複数の車両のセットを備えてもよい。上記車両管理システムは、上記マップに関するデータを上記複数のロボットから受信するように構成されたサーバを備えてもよい。【選択図】図１
2021501380.tif 000002
【特許請求の範囲】
【請求項１】
屋内環境内で自動運転車両を管理するための車両管理システムであって、
前記屋内環境内の複数の固定位置に配置された複数のデバイスと、
前記屋内環境のマップをリアルタイムで生成するのに役立てるために前記屋内環境を自動的にスキャンするように構成された複数のロボットであって、前記複数のロボットの各ロボットは、前記複数のデバイスのサブセットを用いて当該ロボットの位置を判断する、複数のロボットと、
前記マップに基づいて前記屋内環境で自律的に移動するように構成された複数の車両のセットと
を具備する
車両管理システム。
【請求項２】
請求項１に記載の車両管理システムであって、
前記マップは、複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであり、
前記複数のロボットは、さらに、前記複数の仮想経路のサブセット又は前記複数の仮想ステーションのサブセットがアクセス不可になったことを検出する
車両管理システム。
【請求項３】
請求項１に記載の車両管理システムであって、
前記複数のロボットの各ロボットが前記複数のデバイスの前記サブセットを用いて当該ロボットの前記位置を判断するために、当該ロボットは、
前記サブセットに含まれる前記複数のデバイスによってブロードキャストされた、前記サブセットに含まれる前記複数のデバイスの複数の識別子を含む複数の無線周波数信号を受信し、
前記ブロードキャストされた前記複数の識別子に基づいて、前記サブセットに含まれる前記複数のデバイスの複数の位置を判断し、
前記複数の無線周波数信号に基づいて、前記サブセットに含まれる前記複数のデバイスから前記ロボットまでの複数の距離を測定し、
前記サブセットに含まれる前記複数のデバイスの前記複数の固定位置と、前記サブセットに含まれる前記複数のデバイスから前記ロボットまでの前記複数の距離とに基づいて、前記ロボットの前記位置を計算する
ように構成される
車両管理システム。
【請求項４】
請求項１に記載の車両管理システムであって、
前記複数の車両のセットに含まれる各車両について、前記複数のロボットのサブセットに含まれる前記複数のロボットの複数の位置と、前記サブセットに含まれる前記複数のロボットから前記車両までの複数の距離とに基づいて、当該車両の位置を判断し、
前記複数の車両のセットに含まれる各車両について、前記複数のロボットの前記サブセットに含まれる各ロボットは、当該車両によってブロードキャストされた無線周波数信号を受信し、
前記サブセットに含まれる前記複数のロボットから前記車両までの前記複数の距離は、前記サブセットに含まれる前記複数のロボットが受信した前記無線周波数信号に基づいて測定される
車両管理システム。
【請求項５】
請求項１に記載の車両管理システムであって、さらに、
前記複数のロボットから前記マップに関するデータを受信するように構成されたサーバ
を具備する
車両管理システム。
【請求項６】
請求項５に記載の車両管理システムであって、
前記サーバは、さらに、
前記複数のロボットの各ロボットから、前記複数の車両のセットのサブセットに含まれる複数の車両と当該ロボットとの間の複数の距離を受信し、
前記複数のロボットの前記複数の位置を受信し、
前記受信した複数の距離と、前記受信した複数のロボットの前記複数の位置とに基づいて、前記セットに含まれる前記複数の車両の複数の位置を計算する
ように構成される
車両管理システム。
【請求項７】
請求項１に記載の車両管理システムであって、
前記複数のロボットは、オープンな経路を検知すること及び前記複数のロボット間の距離を計算することに部分的に基づいて前記マップを生成する
車両管理システム。
【請求項８】
屋内環境内で自動運転車両を管理するための車両管理方法であって、
前記屋内環境内の複数の固定位置に配置された複数のデバイスによってブロードキャストされた複数の無線周波数信号をロボットが受信し、
前記複数の無線周波数信号に基づいて前記ロボットの位置を判断し、
前記ロボットが前記屋内環境のマップの少なくとも一部をリアルタイムで生成するために前記屋内環境をスキャンし、
複数の車両のセットが前記マップに基づいて前記屋内環境で自律的に移動する
車両管理方法。
【請求項９】
請求項８に記載の車両管理方法であって、
前記マップは、複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであり、
さらに、前記複数の仮想経路のサブセット又は前記複数の仮想ステーションのサブセットがアクセス不可になったことを検出する
車両管理方法。
【請求項１０】
請求項８に記載の車両管理方法であって、
前記複数の無線周波数信号は、前記複数のデバイスの複数の識別子を含み、
前記複数の無線周波数信号に基づいて前記ロボットの前記位置を判断するステップは、
前記複数の識別子に基づいて、前記複数のデバイスに関連付けられた前記複数の固定位置を判断し、
前記複数の無線周波数信号に基づいて、前記複数のデバイスから前記ロボットまでの複数の距離を測定し、
前記複数の固定位置と、前記複数のデバイスから前記ロボットまでの前記複数の距離とに基づいて、前記ロボットの前記位置を計算する
車両管理方法。
【請求項１１】
請求項８に記載の車両管理方法であって、
前記複数の車両のセット内の車両の位置は、前記ロボットの前記位置と、前記ロボットから当該車両までの距離とに基づいて判断され、
前記ロボットは、前記車両の識別子をブロードキャストする無線周波数信号を受信し、
前記ロボットから前記車両までの前記距離は、前記無線周波数信号に基づいて測定される
車両管理方法。
【請求項１２】
請求項８に記載の車両管理方法であって、さらに、
前記マップに関するデータを前記ロボットがサーバに送信する
車両管理方法。
【請求項１３】
請求項１２に記載の車両管理方法であって、さらに、
前記複数の車両のセットのサブセットに含まれる複数の車両と前記ロボットとの間の複数の距離を前記ロボットが送信し、
前記ロボットの前記位置を前記ロボットが前記サーバに送信し、
前記複数の距離と、前記ロボットの前記位置とに基づいて前記サブセットに含まれる前記複数の車両の複数の位置を計算する
車両管理方法。
【請求項１４】
請求項８に記載の車両管理方法であって、さらに、
前記ロボットは、前記ロボットの前記位置に基づいて前記マップを生成する
車両管理方法。
【請求項１５】
屋内環境内で自動運転車両を管理するための車両管理装置であって、
メモリと、
前記メモリに接続され、
前記屋内環境内の複数の固定位置に配置された複数のデバイスによってブロードキャストされた複数の無線周波数信号を受信し、
前記複数の無線周波数信号に基づいて前記ロボットの位置を判断し、
前記屋内環境のマップをリアルタイムで生成するために前記屋内環境をスキャンする
ように構成された少なくとも１つのプロセッサと
を具備し、
複数の車両のセットが前記マップに基づいて前記屋内環境で自律的に移動する
車両管理装置。
【請求項１６】
請求項１５に記載の車両管理装置であって、
前記マップは、複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであり、
前記少なくとも１つのプロセッサは、さらに、前記複数の仮想経路のサブセット又は前記複数の仮想ステーションのサブセットがアクセス不可になったことを検出するように構成される
車両管理装置。
【請求項１７】
請求項１５に記載の車両管理装置であって、
前記複数の無線周波数信号は、前記複数のデバイスの複数の一意の識別子を含み、
前記複数の無線周波数信号に基づいて前記ロボットの前記位置を判断するために、前記少なくとも１つのプロセッサは、
前記複数の識別子に基づいて、前記複数のデバイスに関連付けられた前記複数の固定位置を判断し、
前記複数の無線周波数信号に基づいて、前記複数のデバイスから前記ロボットまでの複数の距離を測定し、
前記複数の固定位置と、前記複数のデバイスから前記ロボットまでの前記複数の距離とに基づいて、前記ロボットの前記位置を計算する
ように構成される
車両管理装置。
【請求項１８】
請求項１５に記載の車両管理装置であって、
前記少なくとも１つのプロセッサは、さらに、前記マップに関するデータをサーバに送信するように構成される
車両管理装置。
【請求項１９】
請求項１８に記載の車両管理装置であって、
前記少なくとも１つのプロセッサは、さらに、
前記複数の車両のセットのサブセットに含まれる複数の車両と前記ロボットとの間の複数の距離を前記サーバに送信し、
前記ロボットの位置を前記サーバに送信し、
前記複数の距離と、前記ロボットの前記位置とに基づいて、前記サブセットに含まれる前記複数の車両の複数の位置を計算し、
制御コンポーネント又は受信コンポーネントからの直接コマンドをやり取りし、
センサから収集した情報を分析する
ように構成される
車両管理装置。
【請求項２０】
請求項１５に記載の車両管理装置であって、
前記マップは、前記ロボットの前記位置に基づいて生成される
車両管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の様々な側面は、一般に、マルチエージェントシステムに関し、より詳細には、屋内環境で異なるタイプの自動運転車両を管理するためのマルチエージェントロボット管理システムに関する。
【背景技術】
【０００２】
マルチエージェントシステムは、環境内において相互にデータをやり取りするインテリジェントエージェントで構成されるコンピュータ化されたシステムである。マルチエージェントシステムを用いて、個々のエージェントやモノリシックシステムでは解決が困難であるか不可能な問題を解決することができる。インテリジェンスには、方法論的、機能的、手続き的アプローチ、アルゴリズム検索、強化学習等が含まれる。マルチエージェントシステムは、エージェントとその環境で構成される。マルチエージェントシステムにおけるエージェントは、ソフトウェアエージェント、ロボット、人間、又は人間のチームとすることができる。マルチエージェントシステムは、人間のエージェントチームの組み合わせを含んでもよい。
【０００３】
車両の自動化では、メカトロニクス、人工知能、及びマルチエージェントシステムを用いて、車両の運転者を支援する。自動化に依存する車両は、ロボット車両又は自動運転車両と呼ばれることがある。自動運転車両は、１つの場所で様々な種類のアイテムを収集し、最小限の人間の介入で短時間に屋内環境の目的地（例えば、倉庫や工場）に輸送することができる。
【０００４】
自動誘導車両（ＡＧＶ）や自動誘導カート（ＡＧＣ）等の従来の自動運転対応システムでは、車体の下部に磁気読み取りデバイスを取り付けることができる。車両は、当該車両が動作している施設の床に配置された磁気テープによって生成される磁力を検知することにより、ルートに沿って走行することができる。このようなシステムでは、車両はサーバからタスクを受け取り、次の分岐点に向かって移動し始める。車両はその分岐点でラベルを読み取り、進むべき道を判断する。車両の加速と操作は、非常に制限されている。このようなシステムでは、ガイドライン上に障害物がある場合、当該障害物を避けたり、当該障害物の周囲を移動したりする方法がないため、障害物が取り除かれるまで車両は前進することができない。このようなシステムにおいて、車両は、任意の場所における対向する動的オブジェクトを避けることができない。そのようなシステムにおいては、後続車両も、任意の場所で先行車両を追い越すことができない。また、金属床では磁気を正しく読み取ることができない可能性があるため、車両を正しく誘導できない。したがって、このようなシステムは、金属床では使用できない。さらに、事前にガイドライン上での動作（例えば、交差点での方向転換、前進、停止等）及び走行ルートを設定する必要がある場合がある。状況（作業者、機器、貨物等）が変化した場合、このようなシステムでは、ガイドラインを変更しない限り、動作を変更することができない。また、上記理由により、ガイドラインを頻繁に変更することは現実的ではない。
【０００５】
他の従来の自動運転対応システムでは、運転コマンドが埋め込まれた機械可読光学ラベル（例えば、クイックリレスポンス（ＱＲ）コード）をペイントすることもできる。光学読み取りデバイスを車体の下部に取り付けて、機械可読光学ラベルを読み取ることができる。車両は、床にペイントされた光学ラベルを読み取ることによって、その動き、例えば、走行方向、減速、加速、停止等を制御することができる。そのようなシステムでは、運転コマンドを追加又は変更する場合、光学ラベルの配置ミスや光学ラベルが剥がれてしまったために、車両が動作するのが困難となる場合がある。さらに、光学ラベルが摩耗又は汚染された場合、当該光学ラベルを読み取るのが困難となる場合がある。照明等の光の反射のために光学ラベルをスキャンできないケースが報告されている。事前定義された動作（交差点での方向転換、進行、停止等）のみが光学ラベルに埋め込まれているので、周囲の状況（例えば、作業者、機器、貨物等の位置等）の変化に合わせて、採用する動作を変更することは困難である。
【０００６】
さらに別の従来の自動運転対応システムでは、レーザ照射デバイスを屋内環境の壁面又は天井に設置することができる。レーザ照射デバイスから発せられた信号は、車体の上部に取り付けられた受信デバイスによって受信される。受信した信号により、車両の移動方向、減速、加速、停止等を制御することができる。ただし、天井や壁から照射されるレーザに対して、環境内の構造物や作業者によって死角ができ、当該死角のために受信デバイスがレーザを受信できない場合がある。その結果、車両はその位置を特定できず、レーザ信号を介して伝達された指示に従って動き回ることができない場合がある。言うまでもないが、レーザ照射デバイスは、多くの電力を消費し、電力供給が遮断されると、システム全体がダウンする。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
屋内環境で異なるタイプの自動運転車両を管理するためのマルチエージェントロボット管理システムを提供する。
【課題を解決するための手段】
【０００８】
以下、本開示の１つ以上の側面が基本的に理解できるように、そのような側面を簡単に要約する。この要約は、考えられるすべての側面の包括的な概要ではなく、すべての側面のキーとなる構成要素又は重要な構成要素を特定することも、一部又はすべての側面の範囲を描写することも意図していない。その唯一の目的は、後述のより詳細な説明の前置きとして、１つ以上の側面のいくつかの概念を簡略化して提示することである。
【０００９】
本開示の一つの側面では、屋内環境内で自動運転車両を管理するための車両管理システムが提供される。上記車両管理システムは、上記屋内環境内の複数の固定位置に配置された複数のデバイスを備えてもよい。上記車両管理システムは、前記屋内環境のマップをリアルタイムで生成するために前記屋内環境を自動的にスキャンし、人間の干渉なしにそれを更新し続けるように構成された複数のロボットを備えてもよい。上記複数のロボットの各ロボットは、上記複数のデバイスのサブセットを用いて当該ロボットの位置を判断してもよい。何らかの理由でそれが不可能である場合、上記ロボットは、現在の場所に関する詳細についての要求をサーバに送信する。上記車両管理システムは、上記自動生成されたマップに基づいて上記屋内環境で自律的に移動するように構成された複数の車両のセットを備えてもよい。上記車両管理システムは、収集した、上記マップ及び上記マップ内の動的オブジェクトに関するデータを上記複数のロボットから受信するように構成されたサーバを備えてもよい。
【００１０】
本開示の他の側面では、屋内環境内で自動運転車両を管理するための車両管理方法、コンピュータ可読媒体、及び車両管理装置が提供される。上記車両管理装置は、複数のデバイスによってブロードキャストされた複数の無線周波数（ＲＦ）信号を受信してもよい。上記複数のデバイスは、上記屋内環境内の複数の固定位置に配置されてもよい。上記車両管理装置は、上記複数の無線周波数信号に基づいてロボットの位置を判断してもよい。上記車両管理装置は、上記屋内環境のマップをリアルタイムで生成するために上記屋内環境をスキャンしてもよい。複数の車両のセットが上記更新されたマップに基づいて上記屋内環境で自律的に移動してもよい。上記車両管理装置は、上記マップに関するデータをサーバに送信してもよく、これにより、上記サーバは、すべてのロボット及び車両と通信して、より良い判断をするのに役立てることができる。上記車両管理装置は、上記複数の車両のセットのサブセットに含まれる複数の車両と上記ロボットとの間の複数の距離を上記サーバに送信してもよい。上記車両管理装置は、上記ロボットの上記位置を上記サーバに送信してもよい。上記車両管理装置は、上記車両の範囲内に位置する上記ロボットの位置及び上記車両の上記ロボットまでの距離に基づいて車両の位置を計算してもよい。
【００１１】
上述の目的及び関連する目的を達成するために、本開示の１つ以上の側面は、以下で十分に説明され、特に特許請求の範囲で指摘される特徴を含む。以下の説明及び添付の図面により、１つ以上の側面の特定の例示的な特徴を詳細に記載する。ただし、これらの機能は、様々な側面の原理を採用できる様々な方法のごく一部を示すものであり、この説明は、そのような側面のすべてとそれらの均等物を含むことを意図している。
【図面の簡単な説明】
【００１２】
【図１】図１は、屋内環境を走行する異なるタイプのロボットを管理するマルチエージェントロボット管理システムの例を示す図である。
【図２】図２は、上記図１のマルチエージェントロボット管理システムによって生成されたマップの例を示す図である。
【図３】図３は、ビーコン自身の（固定）位置の信号をブロードキャストするビーコンを使用する例を示す図であり、装置はこれらの複数の信号を用いて、誤差が±１インチを越えない（受信する信号が多いほど、判断した位置が正確である）ように装置自身の位置を計算する。
【図４】図４は、複数のロボットの位置を用いて車両の位置を判断する例を示す図である。
【図５】図５は、図１を参照して説明したマルチエージェントロボット管理システムにおける車両を操作する方法のフローチャートである。
【図６】図６は、車両速度制限及び物体を避ける方法を示すフローチャートである。
【図７】図７は、車両経路計画の方法を示すフローチャートである。
【図８】図８は、ロボットによる問題解決の方法を示すフローチャートである。
【図９】図９は、ロボットによるマッピング及び位置特定を実行するフローチャートである。
【図１０】図１０は、例示的な装置における異なる手段／コンポーネント間のデータフローを示す概念的なデータフロー図である。
【図１１】図１１は、処理システムを採用する装置におけるハードウェア実装の例を示す図である。
【発明を実施するための形態】
【００１３】
添付の図面を参照して以下に記載する詳細な説明は、様々な構成の説明を意図したものであり、本明細書で説明する概念を実施できる構成のみを表すことを意図していない。詳細な説明には、様々な概念を完全に理解するための具体的な詳細が含まれる。ただし、これら具体的な詳細なしにこれらの概念を実施できることは、当業者にとって明らかである。場合によっては、このような概念を不明瞭にしないように、公知の構造とコンポーネントをブロック図の形式で示す。
【００１４】
ここで、本開示のいくつかの側面のマルチエージェントロボット管理システムについて、様々な装置及び方法を参照して説明する。これら装置及び方法については、以下の詳細な説明において説明し、様々なブロック、コンポーネント、回路、プロセス、アルゴリズム等（まとめて「要素」と呼ぶ）によって添付の図面に示す。これら要素は、電子ハードウェア、コンピュータソフトウェア、又はこれらの任意の組み合わせを用いて実装することができる。そのような要素がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定のアプリケーションおよびシステム全体に課される計画上の制約に依存する。
【００１５】
例として、要素、要素の任意の部分、又は要素の任意の組み合わせを１つ以上のプロセッサを含む「処理システム」として実装してもよい。プロセッサの例としては、マイクロプロセッサ、マイクロコントローラ、グラフィックスプロセッシングユニット（ＧＰＵ）、中央処理装置（ＣＰＵ）、アプリケーションプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、縮小命令セットコンピューティング（ＲＩＳＣ）プロセッサ、システムオンチップ（ＳｏＣ）、ベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックデバイス（ＰＬＤ）、ステートマシン、ゲート制御ロジック、ゲーテッドロジック、ディスクリートハードウェア回路、及び本開示全体で説明される様々な機能を実行するように構成された他の適切なハードウェアが挙げられる。処理システム内の１つ以上のプロセッサが、ソフトウェアを実行してもよい。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語等と呼ばれるかどうかに関係なく、広く命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアコンポーネント、アプリケーション、ソフトウェアアプロケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、プロシージャ、関数等を意味すると解釈される。
【００１６】
したがって、１つ以上の例示的な実施形態では、説明した機能をハードウェア、ソフトウェア、又はそれらの任意の組み合わせで実装することができる。ソフトウェアで実装する場合、当該機能をコンピュータ可読媒体上に記憶してもよく、あるいは、コンピュータ可読媒体上の１つ以上の命令又はコードとしてエンコードしてもよい。コンピュータ可読媒体には、コンピュータ記憶媒体が含まれる。記憶媒体は、コンピュータからアクセスできる任意の使用可能な媒体でもよい。このようなコンピュータ可読媒体の例として、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、光ディスクストレージ、磁気ディスクストレージ、他の磁気記憶デバイス、上述のタイプのコンピュータ可読媒体の組み合わせ、又はコンピュータからアクセスできる命令若しくはデータ構造の形式でコンピュータ実行可能コードを記憶するために使用できる他の媒体が挙げられるが、これらに限定されない。
【００１７】
図１は、屋内環境１０２を走行する異なるタイプのロボットを管理するマルチエージェントロボット管理システム１００の例を示す図である。一実施形態では、屋内環境１０２は、倉庫、工場等の産業環境であってもよい。一実施形態では、屋内環境１０２は、建物、空港、ショッピングモール、スポーツ会場等であってもよい。この例では、マルチエージェントロボット管理システム１００は、サーバ１０４、複数のビーコン１２０、１２２、１２４、及び１２６、複数の車両１１０、１１２、及び１１４、並びに複数のロボット１３０、１３２、１３４、及び１３６を含んでもよい。
【００１８】
サーバ１０４は、屋内環境１０２に配備されたすべてのロボット及びデバイス（例えば、ビーコン、車両、ロボット）を管理する役割を担ってもよい。一実施形態では、サーバ１０４は、コンピュータプログラムであってもよく、あるいは、屋内環境１０２に配備されたコンピュータプログラム又はデバイスにリソース及びコンピューティングパワーを提供する１つ以上のコンピューティングデバイスであってもよい。一実施形態では、屋内環境１０２に配備されたデバイスによって収集された情報は、サーバ１０４で分析及び記憶され、その後、デバイスの動作を管理及び改善するために使用されてもよい。様々な実施形態では、アプリケーションプログラムのセットをサーバ１０４及びデバイス（例えば、ビーコン、ロボット、車両）にインストールしてもよい。アプリケーションプログラムのセットは、デバイスが相互に通信し、相互に判断することを可能にし、かつ、プロジェクトマネージャが走行中のロボット及び車両を制御及び監視できるようにするツール及びサービスを提供することができる。一実施形態では、サーバ１０４は、屋内環境１０２内に配置されてもよい。他の実施形態では、サーバ１０４は、屋内環境１０２の外側に物理的に配置されてもよい。
【００１９】
ビーコン（例えば、ビーコン１２０、１２２、１２４、又は１２６）は、事前に定義された固定位置に設置される小型のデバイスであってもよい。いくつかの実施形態では、ビーコンは、近くのロボットに当該ビーコンと当該ロボットとの間の距離の測定値を提供してもよい。近くのロボットがこの情報を後で用いて、当該ロボットの位置座標を計算し、計算した位置座標をサーバ１０４に送信してもよい。例えば、ビーコン１２０は、ロボット１３０にビーコン１２０とロボット１３０との間の距離の測定値を提供してもよい。ビーコン１２０は、ロボット１３２にビーコン１２０とロボット１３２との間の距離の測定値を提供してもよい。ロボット１３０及び１３２は、ビーコン１２０によって提供された距離の測定値に部分的に基づいて自身の位置座標を計算してもよい。
【００２０】
車両（例えば、車両１１０、１１２、又は１１４）は、３つの主要部品：制御部、モータ部、及びセンサ部から構成されてもよい。制御部は、車両の動作を制御してもよい。モータ部は、車両の駆動を推進してもよい。センサ部は、屋内環境１０２内のイベント又は変化を検出し、その情報を制御部に送信してもよい。したがって、車両は、センサ部が屋内環境１０２における変化を検出すると、サーバからの新しい指示を待つことなく自律的に行動することが可能であってもよい。
【００２１】
３つの主要部品がすべて、通常のショッピングカート又は移動カートに取り付けられることで、当該ショッピングカート又は移動カートを完全に自律的なロボットにすることができる。いくつかの実施形態では、車両は自動運転車両であってもよく、人間よりも効率的にアイテムを配送センターに移動することができる。いくつかの実施形態では、車両は、自律、制御、及び手動の３つのモードを有していてもよい。自律モードでは、車両は、人間の介入なしで動作することができる。制御モードでは、車両は、時々人間の介入を受けて動作することができる。手動モードでは、人間が手動で車両を操作することができる。
【００２２】
ロボット１３２、１３４、又は１３６は、陸上ロボットであってもよい。陸上ロボットは、屋内環境１０２をスキャンしてその３次元（３Ｄ）マップを描画し、３Ｄマップに関する情報をサーバ１０４とやり取りするように計画されてもよい。一実施形態では、陸上ロボットは、近くの車両の位置を特定する役割を担い、それに応じてサーバ１０４を更新してもよい。例えば、ロボット１３６は、車両１１４の位置を特定する役割を担い、車両１１４の位置に関する情報を用いてサーバ１０４を更新してもよい。いくつかの実施形態では、陸上ロボットは、仮想経路及び仮想ステーションを含むルーティングマップを生成し、当該ルーティングマップを更新し続けるために動作してもよい。いくつかの実施形態では、ルーティングマップは、屋内環境１０２の３Ｄマップに基づいて生成されてもよい。
【００２３】
一実施形態では、ロボット１３０は、飛行ロボットであってもよい。ロボット１３０は、屋内を空中から監視することによって３Ｄマップを保持し続け、緊急事態に即時に気づく可能性を高めることができる。
【００２４】
一実施形態では、マルチエージェントロボット管理システム１００を用いて、例えば、物流作業の一部として、倉庫作業環境において少量の様々な種類の製品を効率的に収集することができる。一実施形態では、マルチエージェントロボット管理システム１００を用いて、工場内の機器、材料、及び部品を目的地まで効率的に輸送することができる。一実施形態では、マルチエージェントロボット管理システム１００は、空港で乗客がカートを使用した後、又はマルチエージェントロボット管理システム１００が車両のバッテリーレベルが極めて低いレベルであることを検知した後、当該カートをカートステーションに自動的に戻すために適用することができる。
【００２５】
一実施形態では、マルチエージェントロボット管理システム１００は、屋内環境１０２の情報が変化しても、リアルタイムで車両座標を特定することができる。一実施形態では、収集した情報（例えば、建物内の地図、機器、作業者、貨物、製品等）のリアルタイムの変化をセンサで検出してもよい。マルチエージェントロボット管理システム１００は、検出した変化に基づいてマップにおける車両位置の座標を計算してもよい。
【００２６】
一実施形態では、マルチエージェントロボット管理システム１００は、屋内環境１０２に変化があっても、リアルタイムで最適なルートを再計算することができる。したがって、車両は、リアルタイムで再計算された最適な走行ルートに基づいて自動運転することができる。一実施形態では、走行ルートをリアルタイムで判断できるため、走行ルートを外部環境の変化（例えば、設備機器の消耗）に適応させることができる。一実施形態では、車両の現在位置から目的地までの最適な走行ルートをリアルタイムで判断することは難しいため、走行ルートを事前に設定する必要はない。
【００２７】
一実施形態では、車両は、走行中に発生する問題を解決しながら走行することができる。そのような実施形態では、マルチエージェントロボット管理システム１００が対向車両の動きを早期に検出することができるので、車両は、任意の場所で対向車両を自動的に避ける計画を事前に準備することができる。そのような実施形態では、後続車両は、任意の場所で先行車両を自動的に追い越すことができる。そのような実施形態では、マルチエージェントロボット管理システム１００は、障害物を検出して将来的な計画を立てることができるので、車両は、障害物の周囲を自動的に走行するか、あるいは、最初からその経路を避けることができる。
【００２８】
図２は、上記図１のマルチエージェントロボット管理システム１００によって生成されたマップの例を示す図２００である。一実施形態では、陸上ロボット（例えば、ロボット１３２、１３４、及び１３６）を配備して環境（例えば、屋内環境１０２）をスキャンし、３Ｄマップ２０２を描画することができる。ロボットは、予想される経路のエッジを特定し続け、ルーティングマップ２０４を作成する。ルーティングマップ２０４には、仮想ステーション及び仮想経路が追加され、最適ルートを評価することができる。一実施形態では、飛行ロボット（例えば、ロボット１３０）を配備して、「一時的に」アクセスできない仮想ステーション又は仮想経路の環境をスキャンし、その状況を評価してマルチエージェントロボット管理システム１００に報告することができる。その後、システムは、その状態を「アクセス不可」に変更するかそのまま維持するかを判断する。経路の状態を「アクセス不可」に切り替えると、システムは、将来的な計画を立てるときに当該経路を考慮せず、マップの特定部分にそのような経路が存在しないかのように完全に無視される。アクセス不可の仮想経路の物理的なアクセス状況が改善されると、飛行ロボットは、当該アクセス状況の変更を検出し、アクセス状態を再び「アクセス可能」に切り替えることを推奨してシステムに報告して、マルチエージェントロボット管理システム１００に状態変更の選択を任せることができる。これは、仮想ステーションの状態についても当てはまる。ただし、システムがステーションの状態を「アクセス不可」のステーションに切り替えると、当該ステーションから分岐するすべての経路もアクセス不可となる。マルチエージェントロボット管理システム１００が仮想ステーションの状態を再び「アクセス可能」に切り替えることを判断したとしても、必ずしも当該仮想ステーションに接続された全ての経路の状態が「アクセス可能」に変更されるとは限らない。システムは、それらの経路の近くにあるすべてのロボットからより多くの情報を要求し、それらロボットの元々のタスクを妨害することなくより多くの情報を収集して、どのロボットを状態変更の対象とするかを判断する。
【００２９】
例えば、ルーティングマップ２０４において、仮想ステーション２１０及び２１２並びに仮想経路２２０、２２２、２２４、２２６、２２８、２３０、及び２３２にアクセス不可のフラグを立て、他の仮想経路及び仮想ステーションにアクセス可能のフラグを立ててもよい。仮想経路及び仮想ステーションの状態を更新すると、最適なルートを見つける検索ソリューションを最適化するために特定の時間において環境に課される一連の制約を調整するのに役立つ。
【００３０】
一実施形態では、ロボットが実行する動作は反復的であり、停止しない。ロボットは環境内におけるあらゆる変化を探して当該環境をスキャンし続け、サーバ（例えば、サーバ１０４）上でマップ（例えば、３Ｄマップ２０２及びルーティングマップ２０４）を更新する。
【００３１】
図３は、ビーコン自身の（固定）位置の信号をブロードキャストするビーコンを使用する例を示す図３００である。装置は、これらの複数の信号を用いて、誤差が±１インチを越えない（受信する信号が多いほど、判断した位置が正確である）ように装置自身の位置を計算する。一実施形態では、ロボット３０２は、図１を参照して説明したロボット１３２、１３４、及び１３６のうちの１つであってもよい。一実施形態では、本例における各ビーコンは、図１を参照して説明したビーコン１２０、１２２、１２４、及び１２６のうちの１つと同様であってもよい。
【００３２】
この例では、図２を参照して説明したスキャン処理中に、ロボット３０２は、近くのビーコン３１０、３１２、及び３１４からブロードキャスト信号を受信してもよい。受信した信号は、それぞれ、信号をブロードキャストしたビーコンの識別子を含んでもよい。例えば、ビーコン３１０から受信したブロードキャスト信号は、ビーコン３１０の識別子を含んでもよい。一実施形態では、ロボット３０２は、受信した信号に基づいてビーコンとロボット３０２との間の距離を判断してもよい。例えば、一実施形態では、ロボット３０２は、ビーコン３１２から受信した信号に基づいてビーコン３１２とロボット３０２との間の距離（ｄ１）を判断してもよい。一実施形態では、ビーコンとロボット３０２との間の距離は、当該ビーコンから受信した信号の測定信号強度（例えば、受信信号強度インジケータ（ＲＳＳＩ））に基づいて推定してもよい。一実施形態では、ビーコン３１０、３１２、及び３１４の位置は固定かつ（例えば、識別子を介して）既知なので、ロボット３０２は、ビーコン３１０、３１２、及び３１４の位置並びにロボット３０２とビーコン３１０、３１２、及び３１４との間の距離（ｄ１、ｄ２、及びｄ３）に基づいて自己の位置を計算してもよい。
【００３３】
図４は、複数のロボットの位置を用いて車両４０２の位置を判断する例を示す図である。一実施形態では、車両４０２は、図１を参照して説明した車両１１０、１１２、及び１１４のうちの１つであってもよい。一実施形態では、本例における各ロボットは、図１を参照して説明したロボット１３２、１３４、及び１３６のうちの１つと同様であってもよい。
【００３４】
この例では、図２を参照して説明したスキャン処理中に、ロボット４１０、４１２、及び４１６が、それぞれ、車両４０２からブロードキャスト信号を受信してもよい。受信した信号は、車両４０２の識別子を含んでもよい。一実施形態では、ロボット４１０、４１２、及び４１６は、それぞれ、受信した信号に基づいて車両４０２と当該ロボットとの間の距離を判断してもよい。例えば、一実施形態では、ロボット４１０は、車両４０２から受信した信号に基づいて車両４０２とロボット４１０との間の距離（ｄ１）を判断してもよい。一実施形態では、車両４０２とロボットとの間の距離は、車両４０２から受信した信号の測定信号強度（例えば、受信信号強度インジケータ（ＲＳＳＩ））に基づいて推定してもよい。一実施形態では、（図３を参照して説明したように）ロボット４１０、４１２、及び４１６の位置を計算することができるため、ロボット４１０、４１２、及び４１６の位置並びに車両４０２とロボット４１０、４１２、及び４１６との間の距離（ｄ１、ｄ２、及びｄ３）に基づいて車両４０２の位置を計算することができる。これらのロボットは、ロボット自体の位置に対する車両の位置を評価することができるだけでなく、ロボット同士の位置を評価することができる。ロボットは、計算された車両４０２の位置を用いて、マップの異なる部分に位置する他の車両の場所をマルチエージェントシステムにより確認することができる。例えば、計算された車両４０２の座標が、車両４０２の位置が（ｘ：２０ｍ、ｙ：２０ｍ、ｚ：０．３）であり、他の車両（不図示）の座標が（ｘ：３０ｍ、ｙ：２０ｍ、ｚ：０．３ｍ）であることを示唆している。一方、近くの複数のロボットが（これらロボットは２つの車両からブロードキャストされた信号を受信しているので）これら２つの車両間の距離が想定よりも大きい１０．２ｍであることを示唆している。この場合、マルチエージェントシステムは、修正手段を適用して、その誤差をさらに低減させる。
【００３５】
一実施形態では、ロボット４１０、４１２、及び４１６は、それぞれ、車両４０２までの距離（例えば、ｄ１、ｄ２、又はｄ３）をサーバ（例えば、サーバ１０４）に送信してもよい。サーバは、特定の車両に関して、異なる複数のリソースから多量の情報を受信して、ピタゴラスの定理を用いて、特定の車両の位置を再評価し続けてもよい。
【数１】
2021501380.tif 000003
ただし、（ｘ１、ｙ１、及びｚ１）は、（ロボット、ビーコン、又は他の車両であっても）最初のリソースの位置であり、（ｘ０、ｙ０、及びｚ０）は、現在評価されている車両の位置であり、ｄは、それらの間の距離である。配備されたすべてのハードウェア（ビーコン、ロボット、及び車両を含む）は、ロケーションチェーンネットワークと呼んでよいものの作成に役立つため、多数の多様なリソース及びマルチエージェントシステムへのフィードによって生成される集中的な情報の流れに依存して、信頼性の高いグローバルビジョンシステムが開始される。したがって、これら配備されたメカトロニックマシンの１つがナビゲーションシステムで深刻な問題に遭遇したとしても、他のメカトロニックマシンは、少なくともホームに自律的に戻るのに必要なすべての情報で更新し続ける。
【００３６】
例えば、ロボット４１０、４１２、及び４１６は、それぞれ、自己の位置及び車両４０２までの距離をサーバに送信してもよい。サーバは、受信したロボット４１０、４１２、及び４１６の位置及び受信した車両４０２とロボット４１０、４１２、及び４１６との間の距離（ｄ１、ｄ２、及びｄ３）に基づいて、車両４０２の位置を計算することができる。一実施形態では、サーバで受信した情報をさらに処理することにより、位置特定プロセスの精度を改善することができる。
【００３７】
本開示の一側面では、屋内環境（例えば、屋内環境１０２）で自動運転車両（例えば、車両１１０、１１２、及び１１４）を管理するためのシステム（例えば、マルチエージェントロボット管理システム１００）が提供される。上記車両管理システムは、上記屋内環境内の複数の固定位置に配置された複数のデバイス（例えば、ビーコン１２０、１２２、１２４、及び１２６）を含んでもよい。上記車両管理システムは、上記屋内環境のマップ（例えば、ルーティングマップ２０４）をリアルタイムで生成するために上記屋内環境を自動的にスキャンするように構成された複数のロボット（例えば、ロボット１３０、１３２、１３４、及び１３６）を含んでもよい。上記複数のロボットの各ロボットは、上記複数のデバイスのサブセットを用いて当該ロボットの位置を判断してもよい。上記車両管理システムは、上記生成されたマップに基づいて上記屋内環境で自律的に移動するように構成された複数の車両のセット（例えば、車両１１０、１１２、及び１１４）を含んでもよい。本開示では、サブセットは、文字通りサブセット（セットのうちの一部）を意味してもよいし、セットそのものを意味してもよい。
【００３８】
一実施形態では、上記マップは、複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであってもよい。一実施形態では、上記複数のロボットは、さらに、上記複数の仮想経路のサブセット又は上記複数の仮想ステーションのサブセット（例えば、仮想ステーション２１０及び２１２、仮想経路２２０、２２２、２２４、２２６、２２８、２３０、及び２３２））がアクセス不可になったことを検出してもよい。
【００３９】
一実施形態では、上記複数のロボットの各ロボットが上記複数のデバイスの上記サブセットを用いて当該ロボットの上記位置を判断するために、当該ロボットは、上記サブセットに含まれる上記複数のデバイスによってブロードキャストされた、上記サブセットに含まれる上記複数のデバイスの複数の識別子を含む複数の無線周波数信号を受信し、上記ブロードキャストされた上記複数の識別子に基づいて、上記サブセットに含まれる上記複数のデバイスの複数の位置を判断し、上記複数の無線周波数信号に基づいて、上記サブセットに含まれる上記複数のデバイスから上記ロボットまでの複数の距離を測定し、上記サブセットに含まれる上記複数のデバイスの上記固定位置と、上記サブセットに含まれる上記複数のデバイスから上記ロボットまでの上記複数の距離とに基づいて、上記ロボットの上記位置を計算するように構成されてもよい。
【００４０】
一実施形態では、上記複数の車両のセットの各車両について、上記複数のロボットのサブセットに含まれる上記複数のロボットの位置と、上記サブセットに含まれる上記複数のロボットから上記車両までの複数の距離に基づいて当該車両の位置を判断されてもよい。一実施形態では、上記複数の車両のセットの各車両について、上記複数のロボットの上記サブセットの各ロボットは、当該車両によってブロードキャストされた無線周波数信号を受信してもよい。上記サブセットに含まれる上記複数のロボットから上記車両までの上記複数の距離は、上記サブセットに含まれる上記複数のロボットが受信した上記無線周波数信号に基づいて測定されてもよい
【００４１】
一実施形態では、上記車両管理システムは、さらに、上記複数のロボットから上記マップに関するデータを受信するように構成されたサーバを含んでもよい。一実施形態では、上記サーバは、さらに、上記複数のロボットの各ロボットから、上記複数の車両のセットのサブセットに含まれる複数の車両と当該ロボットとの間の複数の距離を受信し、上記複数のロボットの上記複数の位置を受信し、上記受信した上記複数の距離と、上記受信した上記複数のロボットの上記複数の位置とに基づいて、上記セットに含まれる上記複数の車両の複数の位置を計算するように構成されてもよい。一実施形態では、上記複数のロボットは、上記複数のロボットの上記複数の位置に基づいて上記マップを生成してもよい。
【００４２】
図５は、図１を参照して説明したマルチエージェントロボット管理システム１００における車両を操作する方法のフローチャート５００である。この方法は、装置によって実行されてもよい。装置は、車両（例えば、車両１１０、１１２、又は１１４）若しくはサーバ（例えば、サーバ１０４）、又は車両とサーバとの組み合わせを含んでもよい。車両は、最初に、ホームとして知られ、充電器として機能する所与の位置に配置されてもよい。当該車両がホームに取り付けられた場合に充電プロセスが開始される。
【００４３】
ステップ５０２で、装置は、車両のすべてのセンサ及び機械部品が期待通りに動作しているかどうか判断する。システム開始テストをいくつか実施した後、車両のすべてのセンサと機械部品が正常に動作している場合、装置はステップ５０８に進む。そうでなければ、装置はステップ５０４に進む。
【００４４】
ステップ５０４で、装置は、車両の状態に「利用不可」のフラグを立てる。ステップ５０６で、装置は、車両の動作を開始できなかったことを（例えばサーバに）報告する。一実施形態では、当該報告は、車両が現在の位置で移動できないことを示してもよく、また、現在の位置の座標を含んでもよい。その後、装置は、車両の動作を終了させる。
【００４５】
ステップ５０８で、装置は、車両のバッテリー充電レベルが特定の閾値（例えば、充電率１０％）を越えているかどうか判断する。車両のバッテリー充電レベルが閾値を越えている場合、装置はステップ５２２に進む。そうでなければ、装置はステップ５１０に進む。
【００４６】
ステップ５１０で、装置は、車両の状態に「利用不可」のフラグを立てる。ステップ５１２で、装置は、特定の動作が必要であることを報告する。例えば、装置は、車両が充電ステーションに移動することを要求してもよい。
【００４７】
ステップ５１４で、装置は、車両の消費電力を削減する。例えば、装置は、車両のすべての不必要なセンサと機械部品をオフにして消費電力を削減してもよい。
【００４８】
ステップ５１６で、装置は、車両が充電ステーションに移動するための経路を計画する。ステップ５１８で、装置は、計画した経路の指示に従う。例えば、装置は、車両に計画した経路内の次のステーションに移動するよう指示してもよい。車両の移動中は、計画した経路を再評価し、環境を観察し、当該環境における変化をサーバに報告し続けるので、装置の元々のタスクが妨げられてはならない。
【００４９】
ステップ５２０で、車両は、充電ステーションにおいて、充電器に位置合わせして、取り付けプロセスを開始する。装置は、車両が充電器に正常に取り付けられる瞬間まで、取り付けプロセス中に必要な支援を提供するため待機する。その後、装置は、ステップ５４８に進む。
【００５０】
ステップ５２２で、装置は、車両にタスクが割り当てられているかどうか判断する。車両にタスクが割り当てられている場合、装置はステップ５２４に進む。そうでなければ、装置は、ステップ５３４に進む。
【００５１】
ステップ５２４で、装置は、車両の状態に「移動中」のフラグを立てる。ステップ５２６において、装置は、車両に割り当てられたタスクに優先順位をつける。
【００５２】
ステップ５２６で、装置は、車両に割り当てられたタスクに優先順位をつける。例えば、装置は、最初に実行する最も緊急のタスクを選択し、次に実行する２番目に緊急のタスクを選択等してもよい。
【００５３】
ステップ５２８で、装置は、すべての目的地を繋ぎ合わせる包括的なプランを作成することにより、検索を行う。ステップ５３０で、装置は、当該包括的なプランにおいて、次のステーションに車両を移動させるための経路を計画する。一実施形態では、装置は、現在のステーションの次のステーションに移動する指示を車両に与えてもよい。
【００５４】
ステップ５３２で、装置は、車両を次のステーションに移動させるための計画した経路の指示に従う。車両の移動中、装置は計画した経路を再評価し、環境を観察し、環境におけるあらゆる変化をサーバに報告し続ける。その後、装置は、ステップ５４８に進む。
【００５５】
ステップ５３４で、装置は、車両の状態に「待機」のフラグを立てる。ステップ５３６で、装置は、車両をホームステーションに移動させる許可をサーバに要求する。
【００５６】
ステップ５３８で、装置は、当該要求がサーバによって許可されたかどうか判断する。要求が許可された場合、装置はステップ５４０に進む。そうでなければ、装置は、ステップ５４２に進む。
【００５７】
ステップ５４０で、装置は、車両をホームステーションに移動させるための経路を計画する。その後、装置は、ステップ５４６に進む。
【００５８】
ステップ５４２で、装置は、車両の近くで最も混雑していないステーションを探す。ステップ５４４で、装置は、近くの最も混雑していないステーションに車両を移動させるための経路を計画する。
【００５９】
ステップ５４６で、装置は、車両を移動させるための計画した経路に従う。車両の移動中、装置は、計画した経路を再評価し、環境を評価し、環境におけるあらゆる変化をサーバに報告し続ける。
【００６０】
ステップ５４８で、装置は、車両が目的地（例えば、次のステーション）に到着したことを報告する。その後、装置は、ステップ５０２に戻り、上記方法を再度実行する。
【００６１】
図６は、車両速度制限及び物体を避ける方法を示すフローチャート６００である。この方法は、装置によって実行されてもよい。装置は、車両（例えば、車両１１０、１１２、又は１１４）若しくはサーバ（例えば、サーバ１０４）、又は車両とサーバとの組み合わせを含んでもよい。車両は、最初に、所与の位置に配置されてもよい。一実施形態では、この方法によって実行される動作は、図５のステップ５３２、５４６、又は５１８を参照して説明した動作であってもよい。
【００６２】
ステップ６０２で、装置は、車両の状態が「移動中」であるかどうか判断する。車両の状態が「移動中」である場合、装置は、ステップ６１２に進む。そうでなければ、装置は、ステップ６０４に進む。
【００６３】
ステップ６０４で、装置は、車両の状態に「待機」及び「割り当てタスクなし」のフラグを立てる。ステップ６０６で、装置は、車両の近くの最も混雑していない仮想ステーションを探す。
【００６４】
ステップ６０８で、装置は、近くの最も混雑していない仮想ステーションに車両を移動させるための経路を計画する。ステップ６１０で、装置は、次の仮想ステーションに車両を移動させるための計画した経路の指示に従う。その後、装置は、ステップ６１６に進む。
【００６５】
ステップ６１２で、装置は、車両の現在の仮想ステーションと次の仮想ステーションの位置を取得する。一実施形態では、当該位置をサーバに記憶してもよい。
【００６６】
ステップ６１４で、装置は、車両から３メートル以内にある物の全ての情報を取得する。一実施形態では、情報の一部をサーバに記憶してもよい。一実施形態では、情報の一部を車両のセンサ部が収集してもよい。
【００６７】
ステップ６１６で、装置は、次の仮想ステーションが車両から１０メートル以上離れており、次の仮想ステーションへの車両の経路上の次の５メートル以内に障害物がないかどうか判断する。次の仮想ステーションが車両から１０メートル以上離れており、次の仮想ステーションへの車両の経路上の次の５メートル以内に障害物がない場合、装置は、ステップ６１８に進む。そうでなければ、装置は、ステップ６２０に進む。
【００６８】
ステップ６１８で、装置は、車両に加速（例えば、５ｋｍ／ｈまで）するよう指示する。装置は、その後、ステップ６１６に戻る。
【００６９】
ステップ６２０で、装置は、次の仮想ステーションへの経路が明確であり、次の仮想ステーションへの車両の経路上の次の２メートル以内に障害物がないかどうか判断する。次の仮想ステーションへの経路が明確であり、次の仮想ステーションへの車両の経路上の次の２メートル以内に障害物がない場合、装置は、ステップ６２２に進む。そうでなければ、装置は、ステップ６２６に進む。
【００７０】
ステップ６２２で、装置は、車両に減速（例えば、１ｋｍ／ｈまで）するよう指示する。ステップ６２４で、装置は、車両が目的地（例えば、次の仮想ステーション）に到着したかどうかを）判断する。車両が目的地に到着した場合、装置は、ステップ６３６に進む。そうでなければ、装置はステップ６１６に戻る。
【００７１】
ステップ６３６で、装置は、車両が目的地に到着したことを（例えば、サーバに）報告する。装置は、その後、ステップ６０２に戻り、上記方法を再度開始する。
【００７２】
ステップ６２６で、装置は、車両の状態に「緊急」のフラグを立てる。ステップ６２８で、装置は、障害物の検出を報告する。一実施形態では、装置は、車両が緊急ブレーキを実行する必要があることを示してもよい。
【００７３】
ステップ６３０で、装置は、緊急ブレーキを実行するよう車両に指示する。一実施形態では、装置は、車両に直ちに停止するよう指示してもよい。
【００７４】
ステップ６３２で、装置は、障害物が移動又は除去されたかどうか判断する。障害物が移動又は除去された場合、装置は、ステップ６１６に戻る。そうでなければ、装置は、ステップ６３４に進む。
【００７５】
ステップ６３４で、装置は、車両に一定時間待機するよう指示する。一実施形態では、装置は、車両に静止状態を維持し、サーバに注意を送信するよう指示してもよい。装置は、その後、ステップ６３２に進む。
【００７６】
図７は、車両経路計画の方法を示すフローチャート７００である。この方法は、装置によって実行されてもよい。装置は、車両（例えば、車両１１０、１１２、又は１１４）若しくはサーバ（例えば、サーバ１０４）、又は車両とサーバとの組み合わせを含んでもよい。この方法では、最初に所与のフロンティアステーション（例えば、車両の現在のステーション）を与えられる。一実施形態では、この方法によって実行される動作は、図５の５３０、５４０、５４４、又は５１６を参照して説明した動作であってもよい。
【００７７】
ステップ７０１で、装置は、フロンティアステーション（現在のステーション）で新しい再帰手順を開始する。ステップ７０２で、装置は、フロンティアステーションが目標／目的地のステーションであるかどうか判断する。フロンティアステーションが目標／目的地のステーションである場合、装置は、ステップ７０４に進む。そうでなければ、装置は、ステップ７０６に進む。
【００７８】
ステップ７０４で、装置は、フロンティアステーションを部分解リストに追加する。装置は、その後、上記方法を終了する。
【００７９】
ステップ７０６で、装置は、フロンティアステーションに１つ以上の隣接ステーションがあるかどうか判断する。フロンティアステーションに１つ以上の隣接ステーションがない場合、装置は、ステップ７０８に進む。そうでなければ、装置は、ステップ７１２に進む。
【００８０】
ステップ７０８で、装置は、部分解リストから最後に追加したステーションを削除する。ステップ７１０で、装置は、通過するステーションがあるかどうか判断する。通過するステーションがある場合、装置は、ステップ７０１に戻る。そうでなければ、装置は、上記方法を終了する。
【００８１】
ステップ７１２で、装置は、フロンティアステーションを部分解リストに追加する。ステップ７１４で、装置は、重みづけ（隣接ステーションについて計算されたヒューリスティック値）に基づいて、フロンティアステーションに隣接するステーションのリストを並び替える。一実施形態では、（経路コスト＋ステーション又は経路混雑度＋ステーション又は経路アクセス−経路充電ブレーキ）×（−１）としてヒューリスティック値を計算してもよい。そのような実施形態では、最大のヒューリスティック値を有するステーションを最初に選択してもよい。
【００８２】
経路７１６で、装置は、解決する次のステーションをフロンティアステーションとして選択する。ステップ７１８で、装置は、選択したステーションが有効かどうか判断する。一実施形態では、選択したステーションを訪問しておらず、アクセス不可でなく、当該ステーションを選択することによって制約に違反しない場合、選択したステーションを有効としてもよい。選択したステーションが有効である場合、装置はステップ７０１に戻り、上記方法を繰り返す。そうでなければ、装置は、ステップ７１６に戻って新しいステーションを選択する。
【００８３】
制約充足（ＣＳ）は、知的行動の中心であり、効率的な検索アルゴリズムが鋭意計画されている。検索は、問題となる検索スペースを探索及びナビゲートする最も基本的なプロセスである。したがって、検索は、人工知能の問題解決の要点と考えられてきた。検索アルゴリズムでは、検索プロセスが事前定義されたヒューリスティクスに基づいて進行するため、多くの合理的な判断がなされる。ただし、ランダムなタイブレーク関数のみに基づいて判断がなされることもある。なされた判断の質は、その問題の利用可能でアクセス可能な情報の認識に依存することもある。この認識は、問題空間に対する効果的な探索戦略によって得られることもある。それにもかかわらず、制約充足問題（ＣＳＰ）の解決方法はゆっくりと進歩しており、この分野の開始以来、飛躍的に進歩することはなかった。
【００８４】
ＣＳＰは、質問（変数）の有限集合に対する有効な解答（値）の有限集合を、制限（制約）の有限集合に違反することなく、他の所与の候補の中から見つける検索処理に関する数学的組み合わせ問題である。制約は、可能性のある解答のドメインに対する制限であり、有効な値を特定するのに役立つ必要な情報である。
【００８５】
人工知能（ＡＩ）のほとんどの問題は、その特性をすべて備えたＣＳＰで提示又は定式化することができ、いくつかの公知のＣＳＰソルバーを用いて解決することができる。ＣＳＰの解決に使用できるアルゴリズムは、推論アルゴリズムと検索アルゴリズムの２つの主なカテゴリに分類される。推論アルゴリズムは、アルゴリズムがパターンを検索して無効な候補を排除し、単一の正当な候補を有する状態に値を割り当てる人間的アプローチを適用してもよい。推論アルゴリズムでは、推定を行わない。検索アルゴリズムは、「試行錯誤」アプローチを使用した、可能性のある候補の事前定義された集合を介したブルートフォース型の検索である。
【００８６】
ＣＳＰを解決するための専用の検索アルゴリズムは、特に、フォワードチェック（ＦＣ）や最小残存値（ＭＲＶ）のような効率的な戦略と組み合わせた場合に効率的である。ただし、ＣＳＰ検索アルゴリズムの多くの戦略は、等しいヒューリスティック値を有する変数の集合に遭遇した場合、あるいは、選択した状態のドメインに２つ以上の候補がある場合、検索フォグ（FoS:Fog of Search）として知られるパラドックスに直面する。その結果、タイブレークの一般的で実用的な手順として、任意のランダム変数又は値が選択される。戦略とヒューリスティック値とを使用する主な目的が、割り当てる最も見込みのある状態を特定することである場合、ランダムな動作をとることは、その戦略により目的を達成できないことを示す。
【００８７】
寄与数（ＣｔＮ）戦略は、ＭＲＶ戦略で行われたランダム選択の量を排除又は削減することを目的とする。ＣｔＮの考え方は、検索アルゴリズムの最終的な目的を、問題を解決することから問題を無効にすることに変更することである。従来の戦略では、値が割り当てられていない状態が１つある限り、検索プロセスに関与するアルゴリズムを維持するという概念が強化される。その結果、ＣＳＰを解決するために必要な探索されたノードは、（バックトラッキングが発生しないと仮定して）ベストケースシナリオの初期位置でのラベルなし状態（変数）の数と少なくとも等しくなる。
【００８８】
無効化の概念は、無効状態と無効問題という２つの異なるレベルを対象としてもよい。無効状態は、候補が１つだけのＣＳＰ状態であり、そのすべてのピアの候補は、その状態を解消しても影響されない。無効状態への関与は、解決プロセスにおける冗長な反復再帰と見なすことができる。無効問題は、すべてのラベルなし状態が無効とされたＣＳＰである。無効問題の場合、ソルバーは、当該問題を「無効ＣＳＰ」として宣言する必要があり、すべての検索アクティビティを終了する必要がある。
【００８９】
ＣＳＰ無効構成は、数学的に次のように記載することができる。
【数２】
2021501380.tif 000004
ただし、ＮｔＮ（無効数）は、ＴＵＳ（ラベルなし状態の総数）をＴＲＣ（残存候補の総数）で除算した結果である。ＮｔＮが１の場合、問題は無効にされる。ただし、ほとんどの場合、残存候補の総数は、ラベルなし状態の総数よりも大きくなる（これにより、ＮｔＮは１未満になる）。この戦略の目的は、ＴＲＣの数を減らして、できるだけ早くＴＵＳと等しくさせることである。
【００９０】
ＣｔＮは、最適な状態を選択するための戦略である。したがって、この戦略では、残存値が最小の状態が選択され、ピアへの影響に基づいて重みづけすることで当該状態が評価される。最大のＣｔＮを有する状態が、新しいフロンティアとして最初に選択される。
【００９１】
ＣｔＮ戦略によって生成されるヒューリスティック値は、数学的に次のように記載することができる。
【数３】
2021501380.tif 000005
【００９２】
各値の割り当て毎に選択した変数のピアから可能な限り多くの候補を差し引いてＴＲＣを可能な限り減らすことを目的としているため、評価プロセスは、可能性のある状態の受信したリストから現在の変数（ｋ）を選択することから始まり、未割り当てのピアをすべて反復処理し、状態ピアｄｊ∈Ｐｋ内の同様の候補を確認する。各状態についてＳＰｋ個のピアが存在すると仮定した場合、値ＡＲｋが割り当てられているものを除いてすべてのピアを訪問する必要がある可能性がある。この場合、ｎ（現在のセルｋについての未割り当てのピアのカウント数を示す）は、下記の式で表される。
【数４】
2021501380.tif 000006
ただし、ＡＲｋは、現在の状態ｋの割り当て済みのすべての状態の集合である。したがって、ｎｋ（１≦ｎ≦ＳＰｋに限定される）を計算することにより、現在のセルｋに関連付けられた未割り当てのピアの数が特定される。次のステップでは、ブランク状態Ｐのうちの１つを選択し、その候補ｄをカウンタｊを用いて反復処理して、選択したブランク状態Ｐが現在のセルの候補集合（Ｐｋ）の要素であるかどうか判断する。選択したブランク状態Ｐが現在のセルの候補集合（Ｐｋ）の要素である場合、カウンタを１つ増加させる。
【００９３】
ロボットが直面する現実の問題のほとんどは、数学的にＣＳＰとして定式化することができる。一実施形態では、解決プロセスの速度を高めるために、アルゴリズムがすべての未割り当ての状態にはラベル付けしようとしない場合がある。むしろ、すべての未割り当ての状態にドメイン内の有効な候補が確実に１つだけ残されるようにすることで、問題を無効にすることができる。
【００９４】
図８は、ロボットによる問題解決の方法を示すフローチャート８００である。この方法は、装置によって実行されてもよい。装置は、車両（例えば、車両１１０、１１２、又は１１４）若しくはサーバ（例えば、サーバ１０４）、又は車両とサーバとの組み合わせを含んでもよい。この方法は、所与の問題を解決することを意図してもよい。一実施形態では、この方法によって実行される動作は、図５のステップ５２８、５３０、５４０、５４２、５４４、若しくは５１６、図６のステップ６０６若しくは６０８、又は図７のステップ７１４を参照して説明した動作であってもよい。
【００９５】
ステップ８０２で、装置は、問題が無効にされたかどうかを判断する。問題が無効にされた場合、装置は、ステップ８０４に進む。そうでなければ、装置は、ステップ８０６に進む。
【００９６】
ステップ８０４で、装置は、問題が解決したことを示し、解決策を提供する。その後、装置は、上記方法を終了する。
【００９７】
ステップ８０６で、装置は、ＣｔＮのヒューリスティック値に基づいて、新しい変数ｘを選択する。ステップ８０８で、装置は、ＮｔＮの最大ヒューリスティック値に基づいて値ｖを選択し、選択した値ｖを変数ｘに割り当てる。ステップ８１０で、装置は、フォワードチェック（ＦＣ）戦略を用いて、変数ドメインから無関係な値を除去する。
【００９８】
ステップ８１２で、装置は、すべてのドメインサイズが「１」以上であるかどうか判断する。すべてのドメインサイズが「１」以上である場合、装置は、ステップ８０２に戻る。そうでなければ、装置はステップ８１４に進む。
【００９９】
ステップ８１４において、装置は、ｘ又は他の残りの状態に値を割り当てることができない場合、以前の選択へのバックトラッキングを再帰的に実行する。その後、装置は、ステップ８０２に戻る。
【０１００】
図９は、ロボットによるマッピング及び位置特定を実行する方法のフローチャート９００である。この方法は、屋内環境内で自動運転車両を管理する。この方法は、装置によって実行されてもよい。装置は、ロボット（１３２、１３４、又は１３６）若しくはサーバ（例えば、サーバ１０４）、又はロボットとサーバとの組み合わせを含んでもよい。
【０１０１】
ステップ９０２で、装置は、複数のデバイス（例えば、ビーコン１２０、１２２、１２４、及び１２６）によってブロードキャストされた複数の無線周波数信号を受信する。複数のデバイスは、屋内環境内の複数の固定位置に配置されている。一実施形態では、上記複数の無線周波数信号は、上記複数のデバイスの複数の識別子を含んでもよい。
【０１０２】
ステップ９０４で、装置は、複数の無線周波数信号に基づいて、ロボットの位置を判断する。一実施形態では、上記複数の無線周波数信号に基づいて上記ロボットの上記位置を判断するために、上記装置は、上記複数の識別子に基づいて、上記複数のデバイスに関連付けられた上記複数の固定位置を判断し、上記複数の無線周波数信号に基づいて、上記複数のデバイスから上記ロボットまでの複数の距離を測定し、上記複数の固定位置と、上記複数のデバイスから上記ロボットまでの上記複数の距離とに基づいて上記ロボットの上記位置を計算してもよい。
【０１０３】
ステップ９０６で、装置は、屋内環境のマップ（例えば、ルーティングマップ２０４）をリアルタイムで生成するために屋内環境をスキャンする。複数の車両のセット（例えば、車両１１０、１１２、及び１１４）は、当該屋内環境において、当該マップに基づいて自律的に移動する。一実施形態では、上記マップは、複数の仮想経路及び複数の仮想ステーションを含むルーティングマップ（例えば、ルーティングマップ２０４）であってもよい。一実施形態では、上記装置は、さらに、上記複数の仮想経路のサブセット又は上記複数の仮想ステーションのサブセットがアクセス不可になったことを検出してもよい。一実施形態では、上記ロボットは、上記ロボットの上記位置に基づいて上記マップを生成してもよい。
【０１０４】
ステップ９０８で、装置は、マップに関するデータをサーバ（例えば、サーバ１０４）に選択的に送信する。ステップ９１０で、装置は、複数の車両のセットのサブセットに含まれる複数の車両とロボットとの間の複数の距離を選択的にサーバに送信して、測定精度を向上させることができる。一実施形態では、上記ロボットは、上記車両によってブロードキャストされた無線周波数信号を受信し、上記ロボットから上記車両までの上記距離は、上記無線周波数信号に基づいて測定されてもよい。
【０１０５】
ステップ９１２で、装置は、ロボットの位置を選択的にサーバに送信する。ステップ９１４で、装置は、上記距離と、上記ロボットの位置とに基づいて、上記複数の車両のセットのサブセットに含まれる複数の車両の複数の位置を選択的に計算する。一実施形態では、上記複数の車両のセットに含まれる車両の位置は、上記ロボットの上記位置と、上記ロボットから当該車両までの距離とに基づいて判断されてもよい。
【０１０６】
図１０は、例示的な装置１００２における異なる手段／コンポーネント間のデータフローを示す概念的なデータフロー図１０００である。装置１００２は、ロボット（例えば、ロボット１３２、１３４、又は１３６）である。装置１００２は、ビーコン１０５０から第１のＲＦ信号を、車両１０５２から第２のＲＦ信号を受信する受信コンポーネント１００４を含む。一実施形態では、受信コンポーネント１００４は、図９のステップ９０２を参照して説明した動作を実行してもよい。
【０１０７】
装置１００２は、マップ情報、装置１００２と車両１０５２との間の距離、及び／又は装置１００２の位置をサーバ１０５４に送信する送信コンポーネント１０１０を含む。一実施形態では、送信コンポーネント１０１０は、図９のステップ９０８、９１０、又は９１２を参照して説明した動作を実行してもよい。受信コンポーネント１００４及び送信コンポーネント１０１０は、協働して装置１００２の通信を調整してもよい。
【０１０８】
装置１００２は、受信したＲＦ信号に基づいて当該装置の位置及び当該装置から車両１０５２までの距離を判断する定位コンポーネント１００６を含む。一実施形態では、定位コンポーネント１００６は、図９のステップ９０４を参照して説明した動作を実行してもよい。
【０１０９】
装置１００２は、装置１００２の位置と、センサデータとに基づいて屋内環境のマップを生成するマッピングコンポーネント１００８を含む。一実施形態では、マッピングコンポーネント１００８は、図９のステップ９０６を参照して説明した動作を実行してもよい。
【０１１０】
装置１００２は、センサデータを収集するセンサコンポーネント１０１２を含む。収集したセンサデータを分析及び送信して、システムがマップを最新の状態に維持できるようにしてもよい。
【０１１１】
装置１００２は、人間のエージェントがサーバ１０５４を参照することなく装置１００２を制御することを可能にする制御コンポーネント１０１４を含んでもよい。この場合、装置１００２は、サーバ１０５４からの指示ではなく、オペレータからの指示に従う。
【０１１２】
装置１００２は、上述の図５〜９のフローチャートにおけるアルゴリズムの各ブロックを実行する追加のコンポーネントを含んでもよい。このように、上述の図５〜９のフローチャートにおける各ブロックは、コンポーネントによって実行されてもよく、また、装置はこれらコンポーネントを１つ以上含んでもよい。コンポーネントは、特に、上記プロセス／アルゴリズムを実行するように構成された１つ以上のハードウェアコンポーネントであり、上記プロセス／アルゴリズムを実行するように構成されたプロセッサによって実装され、かつ／あるいは、プロセッサによる実装のためにコンピュータ可読媒体に記憶されてもよい。
【０１１３】
図１１は、処理システム１１１４を採用する装置１００２'におけるハードウェア実装の例を示す図１１００である。一実施形態では、装置１００２'は、図１０を参照して説明した装置１００２であってもよい。処理システム１１１４は、一般にバス１１２４で表されるバスアーキテクチャで実装されてもよい。バス１１２４は、処理システム１１１４の特定の用途及び全体的な計画制約に応じて、任意の数の相互接続バス及びブリッジを含んでもよい。バス１１２４は、プロセッサ１１０４、コンポーネント１００４、１００６、１００８、１０１０、１０１２、及び１０１４、並びにコンピュータ可読媒体／メモリ１１０６によって表される１つ以上のプロセッサ及び／又はハードウェアコンポーネントを含む様々な回路を相互に接続する。バス１１２４は、タイミングソース、周辺機器、電圧レギュレータ、電源管理回路等の他の様々な回路を接続してもよい。これら回路は当該技術分野で周知であるため、これ以上の説明は行わない。
【０１１４】
処理システム１１１４は、トランシーバ１１１０に接続されてもよい。トランシーバ１１１０は、１つ以上のアンテナ１１２０に接続される。トランシーバ１１１０は、伝送媒体を介して他の様々な装置と通信するための手段を提供する。トランシーバ１１１０は、１つ以上のアンテナ１１２０から信号を受信し、受信した信号から情報を抽出し、抽出した情報を処理システム１１１４、具体的には受信コンポーネント１００４に提供する。また、トランシーバ１１１０は、処理システム１１１４、具体的には送信コンポーネント１０１０から情報を受信し、受信した情報に基づいて、１つ以上のアンテナ１１２０に適用される信号を生成する。
【０１１５】
処理システム１１１４は、コンピュータ可読媒体／メモリ１１０６に接続されたプロセッサ１１０４を含む。プロセッサ１１０４は、装置自体がそのセンサを介して収集したデータの分析、コンピュータ可読媒体／メモリ１１０６に記憶されたソフトウェアの実行を含む一般的な処理を担当する。ソフトウェアは、プロセッサ１１０４によって実行されると、処理システム１１１４に特定の装置について上述した様々な機能を実行させる。コンピュータ可読媒体／メモリ１１０６は、ソフトウェアを実行するときにプロセッサ１１０４によって操作されるデータを記憶するために使用されてもよい。処理システム１１１４は、さらに、コンポーネント１００４、１００６、１００８、１０１０、１０１２、及び１０１４のうち少なくとも１つを含む。コンポーネントは、プロセッサ１１０４で実行され、コンピュータ可読媒体／メモリ１１０６、プロセッサ１１０４に接続された１つ以上のハードウェアコンポーネント、又はそれらの組み合わせに常駐する／記憶されたソフトウェアコンポーネントであってもよい。プロセッサ１１０４は、制御コンポーネント１０１４からの要求の実行を担当してもよい。これは、制御モードが手動に切り替えられる度に人間のエージェントが装置を引き継ぐのに役立つ。この特定のケースでは、装置は、サーバからの要求が「安全」カテゴリに分類されない限り、当該要求の実行を停止する（あるいは遅延させる）。
【０１１６】
以下、本開示の様々な側面を説明する。
【０１１７】
実施例１は、屋内環境内で自動運転車両を管理するためのシステムである。このシステムは、上記屋内環境内の複数の固定位置に配置された複数のデバイスを含んでもよい。上記システムは、上記屋内環境のマップをリアルタイムで生成するのに役立てるために上記屋内環境を自動的にスキャンするように構成された複数のロボットを含んでもよい。上記複数のロボットは、上記マップを部分的に作成し、更新し続けてもよいが、上記マップの作成プロセスには無限の時間がかかる。上記複数のロボットの各ロボットは、上記複数のデバイスのサブセットを用いて当該ロボット又は他のロボットの位置を判断してもよい。上記システムは、上記マップに基づいて上記屋内環境で自律的に、遠隔で、又は手動で移動するように構成された複数の車両のセットを含んでもよい。
【０１１８】
実施例２では、上記マップが複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであることが実施例１の内容に選択的に含まれる。
【０１１９】
実施例３では、上記複数のロボットが、さらに、上記複数の仮想経路のサブセット又は上記複数の仮想ステーションのサブセットがアクセス不可になったことを検出することが実施例２の内容に選択的に含まれる。
【０１２０】
実施例４では、上記複数のロボットの各ロボットが上記複数のデバイスの上記サブセットを用いて当該ロボット又は他のロボットの上記位置を判断するために、当該ロボットが上記サブセットに含まれる上記複数のデバイスよってブロードキャストされた、上記サブセットに含まれる上記複数のデバイスの複数の識別子を含む複数の無線周波数信号を受信し、上記ブロードキャストされた上記複数の識別子に基づいて上記サブセットに含まれる上記複数のデバイスの複数の位置を判断し、上記複数の無線周波数信号に基づいて、上記サブセットに含まれる上記複数のデバイスから上記ロボットまでの複数の距離を測定し、上記サブセットに含まれる上記複数のデバイスの上記複数の固定位置と、上記サブセットに含まれる上記複数のデバイスから上記ロボットまでの上記複数の距離とに基づいて、上記ロボットの上記位置を計算するように構成されることが実施例１〜３のいずれか１つの内容に選択的に含まれる。
【０１２１】
実施例５では、上記複数の車両のセットに含まれる各車両について、上記複数のロボットのサブセットに含まれる上記複数のロボットの複数の位置と、上記サブセットに含まれる上記複数のロボットから上記車両までの複数の距離とに基づいて、当該車両の位置を判断することが実施例１〜４のいずれか１つの内容に選択的に含まれる。
【０１２２】
実施例６では、上記複数の車両のセットに含まれる各車両について、上記複数のロボットの上記サブセットに含まれる各ロボットが、当該車両によってブロードキャストされた無線周波数信号を受信し、上記サブセットに含まれる上記複数のロボットから上記車両までの上記複数の距離が、上記サブセットに含まれる上記複数のロボットが受信した上記無線周波数信号に基づいて測定されることが実施例１〜５のいずれか１つの内容に選択的に含まれる。
【０１２３】
実施例７では、上記システムが、さらに、上記複数のロボットから上記マップに関するデータを受信し、配備された上記ロボットに指示を送信することによって、上記環境の管理を支援するように構成されたサーバを備えることが実施例１〜６のいずれか１つの内容に選択的に含まれる。
【０１２４】
実施例８では、上記サーバは、さらに、上記複数のロボットの各ロボットから、上記複数の車両のセットのサブセットに含まれる複数の車両と当該ロボットとの間の複数の距離を受信し、上記複数のロボットの上記複数の位置を受信し、上記受信した複数の距離と、上記受信した複数のロボットの上記複数の位置とに基づいて、上記セットに含まれる上記複数の車両の複数の位置を計算し、ロボットセンサから上記マップに関する情報を受信して、上記ロボットの上記位置を上記マップ上の位置に関連して最新の状態に保つように構成されることが実施例７の内容に選択的に含まれる。
【０１２５】
実施例９では、上記複数のロボットが、上記複数のロボットの上記複数の位置に基づいて上記マップを生成することが実施例１〜８のいずれか１つの内容に選択的に含まれる。上記複数のロボットは、オープンな経路を検知すること及び上記複数のロボット間の距離を計算することに部分的に基づいて上記マップを生成してもよい。
【０１２６】
実施例１０は、屋内環境内で自動運転車両を管理するための車両管理方法又は車両管理装置である。上記車両管理装置は、複数のデバイスによってブロードキャストされた複数の無線周波数信号をロボットが受信してもよい。上記複数のデバイスは、上記屋内環境内の複数の固定位置に配置されていてもよい。上記車両管理装置は、上記複数の無線周波数信号に基づいて上記ロボットの位置を判断してもよい。上記車両管理装置は、上記屋内環境のマップの少なくとも一部をリアルタイムで生成するために上記屋内環境をスキャンしてしてもよく、あるいは、上記位置が訪れたことのある位置である場合、上記マップを更新してもよい。複数の車両のセットが上記マップに基づいて上記屋内環境で自律的に移動してもよい。
【０１２７】
実施例１１では、上記マップが複数の仮想経路及び複数の仮想ステーションを含むルーティングマップであることが実施例１０の内容に選択的に含まれる。
【０１２８】
実施例１２では、上記車両管理方法が、さらに、上記複数の仮想経路のサブセット又は上記複数の仮想ステーションのサブセットがアクセス不可になったことを検出することが実施例１１の内容に選択的に含まれる。
【０１２９】
実施例１３では、上記複数の無線周波数信号が上記複数のデバイスの複数の固有の識別子を含むことが実施例１０〜１２のいずれか１つの内容に選択的に含まれる。上記複数の無線周波数信号に基づいて上記ロボットの上記位置を判断するために、上記装置は、上記複数の識別子に基づいて、上記複数のデバイスに関連付けられた上記複数の固定位置を判断し、上記複数の無線周波数信号に基づいて、上記複数のデバイスから上記ロボットまでの複数の距離を測定し、上記複数の固定位置と、上記複数のデバイスから上記ロボットまでの上記複数の距離とに基づいて、上記ロボットの上記位置を計算してもよい。
【０１３０】
実施例１４では、上記複数の車両のセット内の車両の位置が上記ロボットの上記位置と、上記ロボットから当該車両までの距離とに基づいて判断されることが実施例１０〜１３のいずれか１つの内容に選択的に含まれる。
【０１３１】
実施例１５では、上記ロボットが上記車両の識別子をブロードキャストする無線周波数信号を受信し、上記ロボットから上記車両までの上記距離が上記無線周波数信号に基づいて測定されることが実施例１０〜１４のいずれか１つの内容に選択的に含まれる。
【０１３２】
実施例１６では、上記装置が、さらに、上記マップに関するデータをサーバに送信することが実施例１０〜１５のいずれか１つの内容に選択的に含まれる。
【０１３３】
実施例１７では、上記装置が、さらに、上記複数の車両のセットのサブセットに含まれる複数の車両と上記ロボットとの間の複数の距離を送信し、上記ロボットの位置を上記サーバに送信し、上記複数の距離と、上記ロボットの上記位置とに基づいて上記サブセットに含まれる上記複数の車両の複数の位置を計算することが実施例１６の内容に選択的に含まれる。上記装置は、（人間のエージェントによって）制御コンポーネント又は（サーバによって）受信コンポーネントからの直接コマンドをやり取りしてもよい。上記装置は、さらに、上記センサから収集した情報を分析してもよい。
【０１３４】
実施例１８では、上記ロボットが、オープンな経路を検知することによって、上記マップの生成に役立てることが実施例１０〜１７のいずれか１つの内容に選択的に含まれる。
【０１３５】
開示されたプロセス／フローチャートにおけるブロックの特定の順序又は階層は、例示的なアプローチの実例であることが理解される。プロセス／フローチャートにおけるブロックの特定の順序又は階層を計画の嗜好に基づいて再配置できることが理解される。また、いくつかのブロックは組み合わせてもよく、あるいは、省略してもよい。添付の方法に係る請求項は、サンプルの順序での様々なブロックの要素を提示し、提示された特定の順序又は階層に制限されることを意図しない。
【０１３６】
上記説明は、当業者が本明細書で説明した様々な側面を実施できるようにするために提供される。これらの側面に対する様々な変形例は、当業者が見ればすぐに分かるものであり、本明細書で定義される一般的な原理は、他の側面に適用されてもよい。したがって、特許請求の範囲は、本明細書に示した側面に限定されることを意図していないが、特許請求の範囲の文言に一致する全範囲を与えられる。ここで、単数形の要素への言及は、特に明記されていない限り「１つだけ」ということを意図するものではなく、「１つ以上」ということを意図している。「例示的」という用語は、本明細書において「例、事例、又は実例」という意味を表すために使用される。本明細書において「例示的」と記載された側面は、必ずしも他の側面よりも好ましい、あるいは、有利であると解釈される必要はない。特に明記しない限り、「いくつかの」という用語は、１つ以上を指す。「Ａ、Ｂ、又はＣのうちの少なくとも１つ」、「Ａ、Ｂ、又はＣを１つ以上」、「Ａ、Ｂ、及びＣのうちの少なくとも１つ」、「Ａ、Ｂ、及びＣを１つ以上」、又はそれらの組み合わせ等の組み合わせは、Ａ、Ｂ、及び／又はＣの任意の組み合わせを含み、複数のＡ、複数のＢ、又は複数のＣを含んでもよい。具体的には、「Ａ、Ｂ、又はＣのうちの少なくとも１つ」、「Ａ、Ｂ、又はＣを１つ以上」、「Ａ、Ｂ、及びＣのうちの少なくとも１つ」、「Ａ、Ｂ、及びＣを１つ以上」、及び「Ａ、Ｂ、Ｃ、又はそれらの組み合わせ」等の組み合わせは、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢ、Ａ及びＣ、Ｂ及びＣ、又はＡ、Ｂ，及びＣであってもよく、このような組み合わせには、Ａ、Ｂ、又はＣの各要素が１つ以上含まれてもよい。当業者に周知の、あるいは、当業者に周知となる本開示を通して説明した様々な側面の要素に対するすべての構造的及び機能的等価物は、参照により本明細書に明示的に組み込まれ、特許請求の範囲に包含されることが意図される。また、本明細書に開示されているものは、そのような開示が特許請求の範囲に明示的に記載されているかどうかにかかわらず、公衆に捧げられることを意図していない。「モジュール」、「メカニズム」、「要素」、「デバイス」等の用語は、「手段」という用語の代わりにならない場合がある。そのため、「手段」という語句を用いて要素を明示的に記載していない限り、請求項における各要素は、「ミーンズプラスファンクション」として解釈されるべきではない。
【図１】
2021501380.tif 000007
【図２】
2021501380.tif 000008
【図３】
2021501380.tif 000009
【図４】
2021501380.tif 000010
【図５】
2021501380.tif 000011
【図６】
2021501380.tif 000012
【図７】
2021501380.tif 000013
【図８】
2021501380.tif 000014
【図９】
2021501380.tif 000015
【図１０】
2021501380.tif 000016
【図１１】
2021501380.tif 000017
【国際調査報告】
2021501380.tif 000018
2021501380.tif 000019
2021501380.tif 000020
2021501380.tif 000021