IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズの特許一覧

特開2024-47422デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法
<>
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図1
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図2
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図3A
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図3B
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図4
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図5
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図6
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図7
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図8
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図9
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図10
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図11
  • 特開-デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047422
(43)【公開日】2024-04-05
(54)【発明の名称】デジタルツインを用いた自動走行管制システム、自動走行管制装置及び自動走行管制方法
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240329BHJP
   G01C 21/34 20060101ALI20240329BHJP
   G08G 1/0968 20060101ALI20240329BHJP
   G08G 1/16 20060101ALI20240329BHJP
   G06T 19/00 20110101ALI20240329BHJP
   G16Y 10/40 20200101ALI20240329BHJP
【FI】
G05D1/02 S
G01C21/34
G08G1/0968
G08G1/16 A
G06T19/00 A
G16Y10/40
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022153034
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】兵頭 章彦
(72)【発明者】
【氏名】水品 圭汰
(72)【発明者】
【氏名】鈴木 真太郎
(72)【発明者】
【氏名】多和田 吏貴
(72)【発明者】
【氏名】後藤 浩平
【テーマコード(参考)】
2F129
5B050
5H181
5H301
【Fターム(参考)】
2F129AA03
2F129BB20
2F129BB23
2F129DD04
2F129DD13
2F129DD14
2F129DD15
2F129DD53
2F129DD57
2F129EE02
2F129EE52
2F129EE58
2F129EE65
2F129EE67
2F129EE78
2F129EE79
2F129EE80
2F129EE95
2F129FF02
2F129FF20
2F129FF32
2F129FF42
2F129FF62
2F129FF63
2F129FF64
2F129FF72
2F129FF73
2F129FF75
2F129GG04
2F129GG05
2F129GG06
2F129GG11
2F129HH04
2F129HH12
5B050BA09
5B050DA05
5B050EA07
5B050EA12
5B050FA02
5H181AA01
5H181AA27
5H181BB04
5H181FF13
5H181FF22
5H181FF32
5H181LL01
5H181LL09
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301DD07
5H301DD15
5H301FF07
5H301GG11
5H301LL01
5H301LL02
5H301LL03
(57)【要約】
【課題】移動体の自動走行の障害物回避性能を向上できる自動走行管制システム、自動走行管制装置及び自動走行管制方法を提供する。
【解決手段】自動走行管制システムは、現実空間に設置され、IoTセンサデータを取得するIoTセンサと、仮想空間マネージャとを含む。仮想空間マネージャには、IoTセンサデータと、現実空間を表現するためのジオメトリデータと、仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される。仮想空間マネージャは、デジタルツイン空間を生成し、デジタルツイン空間上に、実機ロボットに対応する仮想ロボットを生成して、仮想ロボットの動作を検証するリアルタイム走行シミュレーションを行う。仮想空間マネージャは、リアルタイム走行シミュレーションの仮想ロボットの移動にリアルタイムに連動して実機ロボットを制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
現実空間に設置され、前記現実空間に存在する物体に関する情報であるIoTセンサデータを取得するIoTセンサと、
前記IoTセンサデータと、前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される情報処理装置と、
を含み、
前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制システムであって、
前記情報処理装置は、
前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、
前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行う
ように構成された、
自動走行管制システム。
【請求項2】
請求項1に記載の自動走行管制システムにおいて、
前記移動体は、制御装置によって制御される前記移動体を所望の移動方向に移動させることが可能な移動装置を含み、
前記情報処理装置は、
所定の目的地までの走行経路を前記デジタルツイン空間上で生成し、
前記デジタルツイン空間上で、前記仮想移動体が前記走行経路に沿って移動するようにシミュレーションを行い、前記シミュレーションにおいて前記仮想移動体が前記走行経路を走行可能である場合に、前記走行経路を前記制御装置に送信する、
ように構成され、
前記制御装置は、前記移動体を前記走行経路に沿って移動させるように、前記移動装置を制御する、
ように構成された、
自動走行管制システム。
【請求項3】
請求項2に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記空間属性として、前記移動体の制御に関する属性を定義する、
するように構成された、
自動走行管制システム。
【請求項4】
請求項3に記載の自動走行管制システムにおいて、
前記移動体の制御に関する属性は、進入禁止、速度制限、滞留台数制限、滞留時間制限、用途制限、空間の利用可、利用可又は利用不可の時間制限、及び、予約の少なくとも一つを含む、
自動走行管制システム。
【請求項5】
請求項1に記載の自動走行管制システムにおいて、
所望の検証シーンに応じた前記仮想オブジェクト及び前記空間属性のテンプレートである環境テンプレートが格納された記憶装置を備え、
前記情報処理装置は、
前記環境テンプレートを用いて、前記所望の検証シーンに応じた前記仮想オブジェクト及び前記空間属性を前記仮想空間に定義する、
ように構成された、
自動走行管制システム。
【請求項6】
請求項2に記載の自動走行管制システムにおいて、
前記IoTセンサは、前記物体に関する情報として、前記移動体の位置を取得するように構成され、
前記情報処理装置は、前記IoTセンサによって取得された前記移動体の位置に基づいて、前記仮想移動体の位置を補正する、
ように構成された、
自動走行管制システム。
【請求項7】
請求項6に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記移動体の位置検出精度の高いエリアを走行しているときに前記IoTセンサによって取得された前記移動体の位置に対応する前記デジタルツイン空間上の高精度位置と、前記仮想移動体の位置との間に誤差が生じている場合に、前記仮想移動体の位置を前記高精度位置に補正すると共に、前記高精度位置から前記目的地までの補正走行経路を新たに作成し、作成した前記補正走行経路によって、前記走行経路を補正する、
ように構成された、
自動走行管制システム。
【請求項8】
請求項2に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記リアルタイム走行シミュレーションを行っている場合に、前記デジタルツイン空間において、前記仮想移動体の前記走行経路上且つ前方の所定の障害物判定領域に、障害物となる物体が存在する場合、前記仮想移動体が前記障害物を回避するように移動させるように、障害物回避シミュレーションを行い、前記障害物回避シミュレーションの結果に基づいて障害物回避経路を生成し、前記障害物回避経路を前記制御装置に送信する、
ように構成され、
前記制御装置は、前記移動体を前記走行経路に沿って移動させるように、前記移動装置を制御する、
ように構成された、
自動走行管制システム。
【請求項9】
請求項8に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記走行経路に沿った特定の領域を障害物判定領域として設定する、
ように構成された、
自動走行管制システム。
【請求項10】
請求項9に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記走行経路上に所定間隔毎にプロットした点を中心とした所定半径の円を生成し、前記仮想移動体に近い方から数えて所定個数の円に囲まれた領域を、前記障害物判定領域とする、
ように構成された、
自動走行管制システム。
【請求項11】
請求項9に記載の自動走行管制システムにおいて、
前記情報処理装置は、
前記IoTセンサデータに基づいて前記障害物判定領域に前記障害物が存在することが検出された場合、前記障害物に対する前記仮想移動体の衝突予測時間を計算し、
前記衝突予測時間が、衝突回避可能時間以上、且つ、衝突判定時間以下である許容範囲内である場合、前記障害物回避シミュレーションを行い、
前記衝突予測時間が、衝突回避可能時間未満である場合、前記移動体が、停止及び速度制限の何れかを行うように、前記制御装置に前記移動体を制御させる、
ように構成された、
自動走行管制システム。
【請求項12】
請求項1に記載の自動走行管制システムにおいて、
画像を表示可能な表示装置を含み、
前記情報処理装置は、
前記デジタルツイン空間を可視化した画像を前記表示装置に表示する、
ように構成された、
自動走行管制システム。
【請求項13】
現実空間に設置されたIoTセンサによって取得された前記現実空間に存在する物体に関する情報であるIoTセンサデータと、
前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、
前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、
が入力される情報処理装置を含み、
前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制装置であって、
前記情報処理装置は、
前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、
前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行う
ように構成された、
自動走行管制装置。
【請求項14】
現実空間に設置され、前記現実空間に存在する物体に関する情報であるIoTセンサデータを取得するIoTセンサと、
前記IoTセンサデータと、前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される情報処理装置と、
を使用し、
前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制方法であって、
前記情報処理装置によって、
前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、
前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行う
自動走行管制方法
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動走行管制システム、自動走行管制装置及び自動走行管制方法に関する。
【背景技術】
【0002】
特許文献1は、ロボットの自律移動シミュレーションを行うシミュレーションシステムを開示する。シミュレーションシステムは、以下に述べるように、自律移動シミュレーションを行う。即ち、シミュレーションシステムは、物体に対応する点群の属性が反映された2次元環境地図を作成し、属性が含まれている点群に対して、センサデータ補正パラメータに応じた補正を行う。シミュレーションシステムは、補正センサデータを出力し、出力補正センサデータ及び属性反映2次元環境地図の照合処理により2次元環境地図内のロボットの位置及び姿勢を推定し、次の移動先を決定し、決定した値に応じて仮想ロボット位置及び姿勢を更新する。
【0003】
特許文献2は、多関節ロボットの経路指示と制御において、仮想空間上のシミュレーションで操作量を算出し、実機位置(搭載カメラから算出)とシミュレーションによる位置との間の位置誤差に応じた補正操作を行う。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-100306号公報
【特許文献2】特開2021-109280号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の技術は、シミュレーション結果に連動してリアルタイムにロボットの走行を制御する技術ではない。特許文献2の技術では、位置誤差に対して、目標経路の追従のための補正操作は行われるが、経路自体の補正はできないし行われない。更に、特許文献2の技術では、現実空間の情報がリアルタイムに反映される仮想空間上でのシミュレーションを行う技術ではないので、時刻に応じて位置が変化する動的な障害物を回避するような経路を動的に作成することができない。従って、従来技術1及び従来技術2は、障害物回避性能が低くなってしまう可能性がある。
【0006】
本発明は上記課題を解決するためになされた。即ち、本発明の目的の一つは、移動体の自動走行の障害物回避性能を向上できる自動走行管制システム、自動走行管制装置及び自動走行管制方法を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の自動走行管制システムは、現実空間に設置され、前記現実空間に存在する物体に関する情報であるIoTセンサデータを取得するIoTセンサと、前記IoTセンサデータと、前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される情報処理装置と、を含み、前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制システムであって、前記情報処理装置は、前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行うように構成されている。
【0008】
本発明の自動走行管制装置は、現実空間に設置されたIoTセンサによって取得された前記現実空間に存在する物体に関する情報であるIoTセンサデータと、前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される情報処理装置を含み、前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制装置であって、前記情報処理装置は、前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行うように構成されている。
【0009】
本発明の自動走行管制方法は、現実空間に設置され、前記現実空間に存在する物体に関する情報であるIoTセンサデータを取得するIoTセンサと、前記IoTセンサデータと、前記現実空間に存在する地物を前記現実空間に対応する仮想の3次元空間に表現するためのジオメトリデータと、前記現実空間に対応する仮想空間の任意の領域に対して空間属性及び仮想オブジェクトを定義するための情報と、が入力される情報処理装置と、を使用し、前記情報処理装置によって前記現実空間に存在する移動体を所定の目的地まで移動させるように管制する自動走行管制方法であって、前記情報処理装置によって、前記IoTセンサデータ、前記ジオメトリデータ、及び、前記空間属性及び前記仮想オブジェクトを定義するための情報に基づいて、前記現実空間の地物、前記空間属性、及び、前記仮想オブジェクトが表現された3次元空間であるデジタルツイン空間を生成し、前記デジタルツイン空間上に、前記移動体に対応する仮想移動体を生成して、前記仮想移動体と前記移動体とが連動するように、前記仮想移動体を前記デジタルツイン空間上で走行させるリアルタイム走行シミュレーションを行う。
【発明の効果】
【0010】
本発明によれば、移動体の自動走行の障害物回避性能を向上できる。
【図面の簡単な説明】
【0011】
図1図1は本発明の実施形態に係る自動走行管制システムの構成例を示す概略構成図である。
図2図2はジオメトリデータ生成機能を説明するための概略ブロック図である。
図3A図3Aは実機ロボットの構成例を説明するための図である。
図3B図3Bは実機ロボットの構成例を説明するための図である。
図4図4は情報処理装置のハードウェア構成例を説明するための図である。
図5図5はデジタルツイン生成機能を説明するための図である。
図6図6は自動走行管制システムが実行する処理フローの例を示すシーケンス図である。
図7図7は経路補正制御を説明するための図である。
図8図8はシミュレーション機能が実行する処理フローを示すフローチャートである。
図9図9はシミュレーション機能が実行する処理フローを示すフローチャートである。
図10図10はシミュレーション機能が実行する障害物判定の詳細を説明するための図である。
図11図11はシミュレーション機能が実行する障害物判定の処理フローを示すフローチャートである。
図12図12はリアルオブジェクト連動機能を説明するための図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について図面を参照しながら説明する。なお、実施形態の全図において、同一又は対応する部分には同一の符号を付す場合がある。
【0013】
以下の説明では、識別情報について説明する際、「ID」等の表現を用いるが、識別情報は、識別番号、名称等の他の表現であってもよい。更に、以下の説明では、機能ブロックを主語として処理を説明する場合があるが、処理の主語が、機能ブロックに代えて、CPU又は装置とされてもよい。
【0014】
<<実施形態>>
図1は本発明の実施形態に係る自動走行管制システムの構成例を示す概略構成図である。図1に示すように、自動走行管制システムは、入力装置100と、仮想空間マネージャ200と、管制アプリケーション300と、実機ロボット400と、表示装置500とを含む。なお、図1では、実機ロボット400の数は1台であるが、実機ロボット400の数は複数台であってもよい。また、制御対象はロボットだけではなく、たとえば表示装置にルートを表示することによる、人を対象としたナビゲーション指示であってもよい。
【0015】
本発明の実施形態に係る自動走行管制システムは、デジタルツイン空間DS1を利用して、複数の実機ロボット400を管制する。デジタルツイン空間DS1とは、現実空間RS1の静的なジオメトリ情報と、現実空間RS1をIoTセンサSN1などで検出した人やモノのリアルタイム且つ動的な情報(IoTセンサデータIT1)と、仮想空間VS1上に配置した仮想オブジェクト、空間属性及びアバターなどと、が重畳された、リアルとバーチャルとが重なった3次元空間である。
【0016】
デジタルツイン空間DS1は、現実空間RS1に対応する3次元空間(仮想的な空間)であって、現実空間RS1の情報がリアルタイム(即時)に反映され、現実空間RS1に対応する仮想空間VS1に設定された任意の仮想オブジェクト、任意の空間の属性及びアバターが反映される3次元空間であるともいうことができる。
【0017】
デジタルツイン空間DS1では、一般的なゲームエンジンを活用して、現実空間RS1の地物等を含む物体の位置及び形状が表現されたり、仮想空間VS1に設定される空間属性、仮想オブジェクト、制御対象のアバター等が表現されたり、IoTセンサSN1などで検出した人やモノのリアルタイムな動きが表現できたりするようになっている。デジタルツイン空間DS1では、ゲームエンジンを活用することにより、障害物を回避するような経路の作成、目的地から出発地までの最短の経路の作成等を行うことができるようになっている。
【0018】
詳細は後述するが、自動走行管制システムでは、仮想空間マネージャ200が、実機ロボット400の分身であるアバター(仮想ロボット)を生成する。なお、「仮想ロボット」は、便宜上「仮想移動体」とも称呼される場合がある。仮想空間マネージャ200は、実機ロボット400に出発地点から目的地点までの自動走行を行わせる場合に、デジタルツイン空間DS1で、仮想ロボットの自動走行のシミュレーションを行う。
【0019】
更に、仮想空間マネージャ200は、デジタルツイン空間DS1の仮想ロボットと現実空間RS1の実機ロボット400とがリアルタイムで連動するように、デジタルツイン空間DS1で仮想ロボットを走行させるリアルタイム走行シミュレーションを実行する。
【0020】
これにより、実機ロボット400は、時刻に応じて位置が変化しない静的な障害物及び時刻に応じて位置が変わる動的な障害物を含む障害物を回避しながら出発地点から目的地点まで自動走行を行うことができる。
【0021】
更に、この自動走行管制システムは、周囲を認識するセンサを持たない安価な実機ロボット400においても、デジタルツイン空間DS1を活用することで、実機ロボット400が安全に自動走行するように、実機ロボット400を制御できる。
【0022】
仮想空間マネージャ200には、入力装置100、ジオメトリデータ生成機能110及びIoTセンサSN1から、デジタルツイン空間DS1を生成するための情報及びデジタルツイン空間D1に表される仮想オブジェクト等を設定するための情報が入力できるようになっている。
【0023】
入力装置100は、現実空間RS1に対応する仮想空間VS1上に、空間属性、仮想オブジェクト、及び、制御対象のアバター等のアバターを配置するための情報を仮想空間マネージャ200に入力するための装置である。
【0024】
入力装置100は、仮想空間VS1に、仮想ロボット、空間属性等、仮想オブジェクト等、を設定するための情報を仮想空間マネージャ200に対して入力できるようになっている。入力装置100は、例えば、端末、キーボード、マウス等の操作装置等である。
【0025】
空間属性等、仮想オブジェクト及びアバター等が設定された仮想空間VS1は、仮想空間マネージャ200に入力される。仮想空間VS1に対して設定された空間属性、仮想オブジェクト及びアバター等は、デジタルツイン空間DS1に反映される(表される。)。
【0026】
空間属性は、実機ロボット400の制御に関する属性などであり、仮想空間VS1に対して設定できる。実機ロボット400の制御に関する属性としては、例えば、進入禁止、速度制限、滞留台数制限、滞留時間制限、用途制限、「空間の利用可又は利用不可の時間制限」及び予約などの少なくとも一つであり、仮想空間VS1に対して設定できる。
【0027】
各空間属性の詳細は、以下の通りである。なお、空間属性が設定された領域は、「空間属性設定領域」とも称呼される場合がある。
【0028】
進入禁止:空間属性設定領域への仮想ロボットの進入が禁止される。
【0029】
速度制限:仮想ロボットが空間属性設定領域を走行するときに、速度が設定された速度範囲に制限される。
【0030】
滞留台数制限:空間属性設定領域内に存在する仮想ロボットの台数が設定された滞留台数以下になるように制限される。
【0031】
滞留時間制限:空間属性設定領域内に存在する仮想ロボットの滞留時間が設定された滞留時間以下になるように制限される。
【0032】
用途制限:空間属性設定領域内の用途が設定された用途以外の用途が禁止されるように制限される。
【0033】
空間の利用可又は利用不可の時間制限:空間属性設定領域を利用可能な時刻範囲又は利用不可能な時刻範囲が制限される。
【0034】
予約:空間属性設定領域を利用する時刻範囲を予約できる。
【0035】
アバターは、仮想空間VS1において、実機ロボット400の分身として表現される仮想空間VS1上のロボット、人物の分身として表現される仮想空間VS1上のロボット、人物等の仮想空間VS1上の物体である。例えば、仮想ロボットは、仮想空間VS1において、仮想空間VS1に対応する現実空間RS1に存在する実機ロボット400の分身として表現されるロボットである。
【0036】
仮想オブジェクトは、仮想空間VS1に設定される(表される)、仮想空間VS1に対応する現実空間RS1には実際に存在しない仮想空間VS1上の物体(アバター以外の物体)である。
【0037】
なお、入力装置100は、環境テンプレートを仮想空間マネージャ200に入力するようにしてもよい。環境テンプレートは、所望の検証シーンに応じた所定の状況を設定するための情報である。より具体的に述べると、環境テンプレートは、現実空間RS1には実際に生じていない特定の仮想事象及び現実空間RS1には実際に存在していない特定の仮想物体を設定するためのテンプレート情報である。環境テンプレートは、例えば、現実空間RS1には実際に存在しない人が動き回る状況等を仮想空間VS1に設定するための情報、及び、消防訓練等の火災やけが人が存在する状況等を仮想空間VS1に設定するための情報等である。仮想空間VS1に対して設定された環境テンプレート(特定の仮想事象及び仮想物体)は、デジタルツイン空間DS1に反映される(表される。)。
【0038】
IoTセンサSN1は、例えば、現実空間RS1に設置された複数のカメラ、LiDAR、ToFセンサ等である。なお、IoTセンサSN1によって取得(検出)されたデータは、「IoTセンサデータIT1」とも称呼される場合がある。IoTセンサデータIT1は、IoTセンサSN1によって現実空間RS1から検出された物体(なお、物体は人物を含む。)のリアルタイム且つ動的な情報(例えば、3D点群データ等)である。IoTセンサSN1によって現実空間RS1から検出された物体は、デジタルツイン空間DS1に反映される(表される。)。
【0039】
ジオメトリデータ生成機能110は、現実空間RS1に存在する物体(地物)の形状、位置等を表すジオメトリデータを生成し、仮想空間マネージャ200に出力(提供)する。ジオメトリデータ生成機能110は、デジタルツイン空間DS1に動的に配置するための大量、多様なフォーマットのジオメトリデータを含むジオメトリデータ集合GT1から、管制アプリケーション300が要求する要件を満たすジオメトリデータを選択及び統合し、アプリケーション用のジオメトリデータを生成する。統合は、異なる座標系で表されたジオメトリデータを統合座標系で表すための座標系の変換、データ形式の統一等を含む。
【0040】
図2はジオメトリデータ生成機能110を説明するための概略ブロック図である。図2に示すように、ジオメトリデータ生成機能110は、ジオメトリ選択部111と、ジオメトリ統合部112と、品質検証部113と、を含む。
【0041】
ジオメトリデータ集合GT1は、現実空間RS1に存在する物体を表すジオメトリデータの集合である。ジオメトリデータ集合GT1は、例えば、現実空間RS1に対応する3次元空間(デジタルツイン空間DS1)に、現実空間RS1に存在する地物(静的な物体)を動的に配置するための、大量、多様なフォーマットのジオメトリデータを含む。ジオメトリデータは、例えば、3D点群データ、サーフェスメッシュデータ等であり、BIM(Building Information Modeling)/CIM(Construction Information Modeling/Management)及びPLATEAU都市モデルなどにおいて使用されるジオメトリデータなどが挙げられる。
【0042】
ジオメトリ選択部111は、ジオメトリデータ集合GT1(複数のジオメトリデータ)から、特定のサービスを実行するための対象のアプリケーション(以下、「対象アプリ」とも称呼される。)のジオメトリ生成要件RQ1に基づいて、ジオメトリ生成要件RQ1に適したジオメトリデータの組合せを選択する。
【0043】
本例において、「サービス」は、複数の実機ロボット400の自動走行を管制する「自動走行管制サービス」であり、「対象アプリ」は、サービスを実行する「管制アプリケーション300」である。「ジオメトリ生成要件RQ1」とは、対象アプリで求められるジオメトリデータの詳細度(LOD等)や、デジタルツイン空間DS1に含める地物の種類などが定義された対象アプリのジオメトリデータの生成要件である。
【0044】
ジオメトリ統合部112は、LOD(Level of Detail)、スケール及び座標系の異なるジオメトリデータをシームレスに接続(統合)する機能を有する。ジオメトリ統合部112は、選択した対象アプリのジオメトリ生成要件RQ1を満たす各ジオメトリデータを接続(統合)することで対象アプリに応じたジオメトリ(現実空間RS1の地物(静的な物体)の形状及び位置等を表すジオメトリデータ)を生成する。
【0045】
品質検証部113は、シミュレーション部114によってアプリ動作可能範囲を推定し、対象アプリで求められる要件を満たす領域/範囲を示す情報である品質マップMP1を出力すると共に、対象アプリのジオメトリ生成要件RQ1を満たすジオメトリデータであるアプリ用のジオメトリデータAGT1を出力する。
【0046】
図1に戻り、仮想空間マネージャ200は、多数の仮想空間(デジタルツイン空間DS1)の動的な生成、更新及び破棄を管理する。仮想空間マネージャ200は、対象アプリ上の複数の仮想空間(デジタルツイン空間DS1)の状態同期、可視化、予測、シミュレーション及びフィードバック(制御、ナッジ)などを行う。仮想空間マネージャ200は、デジタルツイン生成機能210と、シミュレーション機能220と、リアルオブジェクト連動機能230と、を含む。
【0047】
デジタルツイン生成機能210は、IoTセンサデータIT1、ジオメトリデータ(例えば、アプリ用のジオメトリデータAGT1)、及び、入力装置100から入力された情報(仮想空間VS1のアバター、仮想オブジェクト及び空間属性等を生成するための情報)等に基づいて、デジタルツイン空間DS1を生成する。
【0048】
シミュレーション機能220は、デジタルツイン空間DS1で仮想ロボットのリアルタイム走行シミュレーション等のシミュレーションを行う機能を含む。
【0049】
リアルオブジェクト連動機能230は、シミュレーション機能220による仮想ロボットのシミュレーションの結果に基づいて、デジタルツイン空間DS1の仮想ロボットに対応する実機ロボット400を制御する。
【0050】
管制アプリケーション300は、仮想空間マネージャ200を介して、複数の実機ロボット400の自動走行を管制する。なお、管制アプリケーション300は、複数の実機ロボット400を管制(管理)するための管理情報を参照して、実機ロボット400を管理する。管理情報は、各実機ロボット400を識別するための識別情報であるロボットIDと、各実機ロボット400の現時刻の位置とが互いに対応付けられた情報を含む。管理情報は、仮想空間マネージャ200に含まれている。
【0051】
実機ロボット400の一例は、車いす型のロボット(移動体)である。図3A及び図3Bは実機ロボット400の構成例を説明するための図である。図3A及び図3Bに示すように、実機ロボット400は、図3Bに示す制御システム410と、駆動装置(不図示)と、駆動装置を制御する制御部(不図示)と、左前輪(不図示)及び右前輪401と車輪軸(不図示)と、左後輪(不図示)及び左駆動軸(不図示)と、右後輪402及び右駆動軸(不図示)とを含む。なお、左右前輪及び左右後輪は、特に区別する必要がない場合、「車輪」と称呼され、左駆動軸及び右駆動軸は、特に区別する必要がない場合、「駆動軸」と称呼される。左右後輪は、駆動輪とも称呼される。
【0052】
制御システム410は、第1通信機411と、経路追従制御及びターン制御部412と、制御コマンド生成部413と、オドメトリ受信部414と、第2通信機415とを含む。本例において、制御システム410は、実機ロボット400に搭載されているが、実機ロボット400の外部に存在していてもよい。
【0053】
第1通信機411は、仮想空間マネージャ200から走行経路(走行予定経路)を取得し、経路追従制御及びターン制御部412(以下、「走行制御部412」とも称呼される。)に出力する。走行制御部412は、実施ロボット400が走行経路に沿って走行するように、制御コマンド(目標となる速度及びヨーレート(速度及びヨーレートの指示量))を生成し、第2通信機415を介して、制御コマンドを実機ロボット400の駆動装置を制御する制御部に出力する。
【0054】
制御部は、車輪を駆動する駆動装置に接続されている。駆動装置は、例えば、2つのモータである。2つのモータのそれぞれは、図示しない電源部からモータに供給される電力によって、それぞれのモータに対応する駆動軸を回転させる(駆動させる)トルクを発生する。モータは、このトルクによって、それぞれの駆動軸に対応する駆動輪を回転させることができる。
【0055】
制御部は、モータに供給される電力を制御する制御装置である。制御部は、モータに供給される電力を制御することによって、モータが発生するトルクの大きさ及び向きを調整することによって、駆動輪の回転速度及び回転方向を自在に制御することができる。
【0056】
制御部は、制御コマンド313(目標となる速度及びヨーレート)に基づいて、実機ロボット400の速度及びヨーレートが目標となる速度及びヨーレートとなるようにモータを制御して駆動軸を駆動することによって、実機ロボット400の走行を制御する。即ち、制御部は、前進、後退、ターン、カーブ走行、進行方向調整、障害物回避、停止等を行うように、実機ロボット400の動きを自在に制御できる。なお、モータ、駆動軸及び駆動輪を含む装置は、便宜上、「移動装置」とも称呼される場合がある。
【0057】
表示装置500は、例えば、画像を表示可能なディスプレイである。仮想空間マネージャ200は、表示装置500にデジタルツイン空間DS1を可視化した画面(画像)などを出力し、表示できるように構成されている。
【0058】
図1及び図2に示した各機能ブロックは、情報処理装置及びストレージ装置等のハードウェアを適用することにより実現できる。
【0059】
図4は情報処理装置(計算機、コンピュータ)のハードウェアの構成例を説明するためのブロック図である。仮想空間マネージャ200の一例は、情報処理装置2000により構成することができる。なお、仮想空間マネージャ200は、ネットワークを介して接続された複数の情報処理装置2000で構成されてもよい。情報処理装置2000は、クラウド上の仮想的な情報処理装置及びストレージ装置等であってもよい。
【0060】
情報処理装置2000は、CPU2001、ROM2002、RAM2003、記憶装置2004、ネットワークインタフェース2005及び入出力インタフェース2006等を含む。これらは、バス2007を介して互いに通信可能に接続されている。
【0061】
CPU2001はROM2002及び/又は記憶装置2004に格納された図示しない各種プログラムをRAM2003にロードし、RAM2003にロードされたプログラムを実行することによって、各種機能を実現する。RAM2003には、上述したようにCPU2001が実行する各種プログラムがロードされ、CPU2001が各種プログラムを実行する際に使用するデータが一時的に記憶される。ROM2002は、不揮発性の記憶媒体であり、各種プログラムが記憶されている。記憶装置2004は、データの読み出し及び書き込み可能な不揮発性の記憶媒体である。ネットワークインタフェース2005は、情報処理装置2000がネットワークに接続されるためのインタフェースである。入出力インタフェース2006は、外部装置(例えば、キーボード、マウス等の操作装置及びディスプレイ(表示装置))に接続されるためのインタフェースである。
【0062】
図5はデジタルツイン生成機能210を説明するための図である。デジタルツイン生成機能210は、仮想空間VS1内の空間に実機ロボット400の制御に関する属性(空間属性)を定義することができる。デジタルツイン生成機能210は、空間属性を動的に定義することで、実機ロボット400の自動走行(制御)に反映させることができる。
【0063】
図5に示すように、デジタルツイン生成機能210は、目的地及び移動経路設定部211と、空間属性設定部212と、空間属性変更部213とを含む。
【0064】
目的地及び移動経路設定部211は、仮想空間VS1に対して、目的地の設定及び移動経路の生成を行うことができるようになっている。仮想空間VS1に対して設定された目的地及び移動経路は、デジタルツイン空間DS1に反映される。
【0065】
具体例221に示すように、仮想空間VS1に対して、目的地及び移動経路が設定されると、デジタルツイン空間DS11に反映される。そして、シミュレーション機能220及びリアルオブジェクト連動機能230によって、実機ロボット400が、目的地からの移動経路に沿って自動走行するように、実機ロボット400の自動走行に反映させることができる。
【0066】
空間属性設定部212は、仮想空間VS1の任意の領域(任意の2次元領域及び任意の3次元空間)に属性を設定することができるようになっている。例えば、入力装置100によって、仮想空間VS1の特定の領域を表す座標情報及び指定した領域の属性を示す情報が空間属性設定部212に入力され、入力された情報に基づいて空間属性が設定される。
【0067】
仮想空間VS1に対して設定された空間属性は、デジタルツイン空間DS1に反映される。具体例222に示すように、例えば、仮想空間VS1の任意の領域に対して、空間属性として進入不可が設定されると、デジタルツイン空間DS1に反映される。そして、シミュレーション機能220及びリアルオブジェクト連動機能230によって、実機ロボット400が、進入不可が設定されたエリアに進入しないように、実機ロボット400の自動走行に反映させることができる。
【0068】
空間属性変更部213は、仮想空間VS1に対して、空間属性を設定した領域(2次元領域及び3次元空間)の属性及び領域の大きさの少なくとも一つを変更することができるようになっている。例えば、具体例223に示すように、仮想空間VS1に対して属性が設定されているエリア(走行経路上)の属性(例えば、進入不可)を低速走行の移動に変更すると、変更された属性がデジタルツイン空間DS1に反映される。そして、シミュレーション機能220及びリアルオブジェクト連動機能230によって、実機ロボット400が、そのエリアを走行するときに低速で走行するように、実機ロボット400の自動走行に反映させることができる。
【0069】
図6は自動走行管制システムが実行する処理フローの例を示すシーケンス図である。自動走行管制システムは、以下に述べるS601乃至S620の処理を順に行う。
【0070】
S601:管制アプリケーション300は、実機ロボット400のロボットID及び実機ロボット400の初期位置を仮想空間マネージャ200に送信する。仮想空間マネージャ200は、複数の実機ロボット400のロボットID及び実機ロボット400の位置(初期位置)を管理情報に登録する。
【0071】
S602:管制アプリケーション300は、実機ロボット400の配車要求を受信する。
【0072】
S603:管制アプリケーション300は、仮想空間マネージャ200に対して、配車を要求された実機ロボット400を示すロボットID及び目的地を仮想空間マネージャ200に送信する。
【0073】
S604:仮想空間マネージャ200は、シミュレーション機能220によって、配車を要求されたロボットIDが示す実機ロボット400に対応する仮想ロボットを生成し、デジタルツイン空間DS1上で仮想ロボットの初期位置から目的地までの最短経路を探索する。例えば、仮想空間マネージャ200は、ゲームエンジンを活用して、デジタルツイン空間DS1において、通行可能領域を表すナビゲーションメッシュにおける初期位置から目的地までの最短通路をA(A-star)アルゴリズムにより探索する。
【0074】
S605:仮想空間マネージャ200は、デジタルツイン空間DS1において、仮想ロボットを探索された最短経路を走行経路として、走行経路に沿って走行させる走行シミュレーションを実行する。
【0075】
S606:仮想空間マネージャ200は、シミュレーションの結果(所要時間及び障害物の衝突有無等)を通知する。
【0076】
S607:管制アプリケーション300は、シミュレーション結果を受信すると、仮想空間マネージャ200に実機ロボット400の走行開始指示を送信する。
【0077】
S608:仮想空間マネージャ200は、管制アプリケーション300から走行開始指示を受信すると、走行経路を表す位置情報を実機ロボット400に送信する。
【0078】
S609:実機ロボット400は、現実空間RS1で、走行経路に沿って走行するように、自動走行を開始する。
【0079】
S610:実機ロボット400は、自動走行を開始したことを仮想空間マネージャ200に通知する。なお、実機ロボット400は、逐次(所定時間が経過する毎に)、自己位置及びヨーレートを推定し、推定した自己位置(推定位置)及びヨーレートを仮想空間マネージャ200に送信する。推定位置及びヨーレートを含む情報は、「オドメトリデータ」又は「オドメトリ」とも称呼される。
【0080】
S611:仮想空間マネージャ200は、デジタルツイン空間DS1で仮想ロボットのリアルタイム走行シミュレーションを行う。なお、仮想空間マネージャ200は、実機ロボット400から受信したオドメトリに基づいて、デジタルツイン空間DS1で、仮想ロボットを移動させることにより、実機ロボット400と仮想ロボットとを連動させる。
【0081】
S612: IoTセンサSN1が現実空間RS1を走行する実機ロボット400が備えるマーカ(不図示)を検出することによって、実機ロボット400の位置を検出すると、IoTセンサSN1は仮想空間マネージャ200に実機ロボット400の位置を送信する。なお、この位置はIoTセンサSN1が実機ロボット400の位置を検出している期間において、所定の時間が経過する毎に送信される。
【0082】
S613:仮想空間マネージャ200は、実機ロボット400の位置を取得すると、経路補正制御を実行する。なお、経路補正制御の詳細は後述する。
【0083】
S614:IoTセンサSN1が走行経路上の障害物を検出し、仮想空間マネージャ200は、走行経路上の障害物を示す情報を受信する。
【0084】
S615:仮想空間マネージャ200は、障害物の存在を実機ロボット400に通知し、障害物回避制御を開始する。なお、障害物回避制御の詳細は後述する。
【0085】
S616:仮想空間マネージャ200は、障害物を回避するための回避経路の探索をデジタルツイン空間DS1で行う。
【0086】
S617:仮想空間マネージャ200は、回路経路を探索できた場合、実機ロボット400に回避経路を指示する。
【0087】
S618:実機ロボット400は回避経路に沿って走行することにより、障害物を回避する。
【0088】
S619:仮想空間マネージャ200は、デジタルツイン空間DS1において、実機ロボット400の移動に連動して、仮想ロボットを回避経路に沿って走行させる。
【0089】
S620:仮想空間マネージャ200は、仮想ロボットが、デジタルツイン空間DS1で目的地に到着すると、到着した旨を管制アプリケーション300に送信する。仮想空間マネージャ200は、管制アプリケーション300に次のタスクを要求する。
【0090】
<経路補正制御>
図7は上述した経路補正制御の詳細を説明するための図である。図7は仮想ロボットがリアルシミュレーション走行を行うときの2次元座標面(2D位置座標)を示している。
【0091】
図7において、仮想(X、Y)は、デジタルツイン空間DS1上の2次元座標面での仮想ロボットの位置を示すX座標位置及びY座標位置を示す。実機(x、y)は、初期位置を原点とする2次元座標面での実機ロボット400の位置を示すx座標位置及びy座標位置を示し、実機ロボット400の自己位置推定の結果に基づいて得られる位置を示す。なお、自己位置推定は、実機ロボット400の移動量(移動方向及び移動距離)に基づいて行われる。実機ロボット400は、所定時間が経過する毎に、自己位置推定によって、オドメトリ(自己位置及びヨーレート)を取得する。
【0092】
領域R1は、IoTセンサSN1によって実機ロボット400の位置を検出することによって、高精度な仮想ロボットの位置が検出できる領域である。
【0093】
シミュレーション機能220は、リアルタイム走行シミュレーションにおいて、所定時間が経過する毎に、初期位置から実機ロボット400のオドメトリに基づいて、仮想ロボットの仮想(X、Y)位置を取得する。
【0094】
このようなリアルタイム走行シミュレーションにおいて、仮想ロボットの仮想空間VS1の位置と、実機ロボット400の実際の位置に対応する仮想空間VS1の位置との間に誤差が生じている場合がある。
【0095】
例えば、図7の例では、吹き出しBL1に示すように、仮想ロボットの初期位置は、仮想(X、Y)=(100、100)であり、実機ロボット400の初期位置は、実機(x、y)=(0、0)である。
【0096】
吹き出しBL2に示すように、実機ロボット400が高精度検出領域に進入した状況におけるある検出時点の補正前の仮想ロボットの位置は、仮想(X、Y)=(150、150)であり、実機ロボット400の位置は、実機(x、y)=(50、50)である。
【0097】
このときのIoTセンサSN1によるある検出時点の正しい仮想ロボットの位置は、吹き出しBL3に示すように、仮想(X、Y)=(190、160)であり、検出時点の仮想ロボットの位置の仮想(X、Y)=(150、150)との間で誤差が生じてしまっている。
【0098】
この場合において、誤差が生じた状態でそのままリアルタイム走行シミュレーションを実行してしまうと、仮想ロボットがデジタルツイン空間DS1の2次元座標面で目的地の仮想(X,Y)=(320,310)に到達したとき、現実空間RS1において、実機ロボット400は破線矢印に沿って移動したことにより誤った目的地に到達してしまうことが生じ得る(吹き出しBL4)。即ち、デジタルツイン空間DS1では仮想ロボットが正しい目的地(吹き出しBL5)に到達しているのにも関わらず、現実空間RS1において、実機ロボット400が、正しい目的地に到達していないことが生じ得る。
【0099】
そこで、仮想空間マネージャ200は、以下に述べるように、経路補正制御を実行する。
【0100】
実機ロボット400が高精度位置検出領域R1を走行している場合、仮想空間マネージャ200は、IoTセンサSN1によって、実機ロボット400の位置を精度よく取得することが可能である。
【0101】
仮想空間マネージャ200は、高精度検出位置から目的地までの走行経路を再作成することにより走行経路を補正する経路補正制御を行う(吹き出しBL6)。
【0102】
具体的に述べると、仮想空間マネージャ200は、実機ロボット400が高精度位置検出領域R1を走行しているときにIoTセンサSN1によって取得される実機ロボット400の位置に基づいて、目的地までの走行経路を再作成する。仮想空間マネージャ200は、既存の走行経路を再作成した走行経路に置き換えることによって、既存の走行経路を補正する。仮想空間マネージャ200は、補正後の走行経路を実機ロボット400に送信する。実機ロボット400は、補正後の走行経路に沿って走行する。
【0103】
これにより、仮想空間マネージャ200は、実機ロボット400が正しい目的地に到達するように、実機ロボット400の制御を行うことができる。
【0104】
上述したシミュレーション機能220が実行する処理の詳細について図8を用いて説明する。図8はシミュレーション機能220が実行する処理フローを示すフローチャートである。シミュレーション機能220は、図8のステップ800から処理を開始して以下に述べるステップ805乃至ステップ820の処理を順に実行した後、ステップ825に進む。
【0105】
ステップ805:シミュレーション機能220は、管制アプリケーション300より配車指示(ロボットID及び初期位置)を受信する。
【0106】
ステップ810:シミュレーション機能220は、仮想空間VS1上で、ゲームエンジンのナビゲーションAIにより経路を探索する。
【0107】
ステップ815:シミュレーション機能220は、実機ロボット400の挙動モデルにより走行シミュレーションを実行する。即ち、制御コマンド(操作量(速度及びヨーレート))に応じた実機ロボット400の挙動(実機ロボット400の位置、実機ロボット400の速度、実機ロボット400のヨーレート等)がモデル化された挙動モデルを使用して、仮想空間VS1上での実機ロボット400の走行シミュレーションを行う。
【0108】
ステップ820:シミュレーション機能220は、シミュレーション結果(所要時間、衝突有無等)を管制アプリケーション300に送信する。
【0109】
シミュレーション機能220は、ステップ825に進むと、管制アプリケーション300から走行開始指示を受信したか否かを判定する。
【0110】
管制アプリケーション300から走行開始指示を受信していない場合、シミュレーション機能220は、ステップ825にて「No」と判定してステップ830に進み、本処理フローを一旦終了する。
【0111】
管制アプリケーション300から走行開始指示を受信した場合、シミュレーション機能220はステップ825にて「Yes」と判定してステップ835に進み、仮想空間VS1上でリアルタイム走行シミュレーションを開始する。リアルタイム走行シミュレーションは、主に実機ロボット400に時刻に応じて変化する状況に応じた走行を行わせるために行われる。リアルタイム走行シミュレーションが行われることにより、実機ロボット400が時刻に応じて位置が変化する動的な障害物と衝突することを回避することができる。
【0112】
シミュレーション機能220は、ステップ840に進むと、後述の障害物判定により、IoTセンサSN1が障害物を検出したか否かを判定する。
【0113】
IoTセンサSN1が障害物を検出した場合、シミュレーション機能220は、ステップ840にて「Yes」と判定してステップ845に進み、障害物回避制御を実行して、ステップ840に戻る。
【0114】
IoTセンサSN1が障害物を検出しない場合、シミュレーション機能220は、ステップ840にて「No」と判定してステップ850に進み、仮想ロボットが目的地に到着したか否かを判定する。
【0115】
仮想ロボットが目的地に到着していない場合、シミュレーション機能220は、ステップ850にて「No」と判定してステップ840に戻る。
【0116】
仮想ロボットが目的地に到着した場合、シミュレーション機能220は、ステップ850にて「Yes」と判定してステップ895に進んで本処理フローを一旦終了する。
【0117】
上述したシミュレーション機能220が実行する障害物回避制御の詳細について図9を用いて説明する。図9はシミュレーション機能220が実行する処理フローを示すフローチャートである。シミュレーション機能220は、図9のステップ900から処理を開始してステップ905に進み、IoTセンサSN1が検出した障害物の位置情報を取得する。
【0118】
その後、シミュレーション機能220は、ステップ910に進み、IoTセンサSN1が検出した障害物が走行経路上の障害物であるか否かを判定する。なお、この障害物判定の詳細は、後述する。
【0119】
IoTセンサSN1が検出した障害物が走行経路上の障害物ではない場合、シミュレーション機能220は、ステップ910にて「No」と判定してステップ915に進み、本処理フローを一旦終了する。
【0120】
IoTセンサSN1が検出した障害物が走行経路上の障害物である場合、シミュレーション機能220は、ステップ910にて「Yes」と判定してステップ920に進み、TTC(衝突時間(衝突予測時間))が許容範囲内(衝突回避可能時間以上、且つ、衝突判定時間以下である許容範囲内)であるか否かを判定する。なお、TTCは、例えば、障害物と仮想ロボットとの間の距離及び仮想ロボットの速度に基づいて計算可能である。なお、衝突回避可能時間は、衝突回避判定時間より短い時間に設定される。
【0121】
TTCが許容範囲外(衝突回避可能時間未満)である場合、シミュレーション機能220は、ステップ920にて「No」と判定してステップ925に進み、実機ロボット400に停止又は速度制限を指示して、ステップ930に進む。
【0122】
TTCが許容範囲内である場合、シミュレーション機能220は、ステップ920にて「Yes」と判定し、以下に述べるステップ930及びステップ935の処理を順に実行した後、ステップ940に進む。
【0123】
ステップ930:シミュレーション機能220は、仮想空間VS1上で、ナビゲーションAIによる再経路探索を実行する。
【0124】
ステップ935:シミュレーション機能220は、実機ロボット400の挙動モデルによる走行シミュレーションを実行する。
【0125】
シミュレーション機能220は、ステップ940に進むと、走行シミュレーションの結果に基づいて、実機ロボット400が回避経路で他の障害物と衝突する可能性があるか否かを判定する。
【0126】
実機ロボット400が回避経路で他の障害物と衝突する可能性がある場合、シミュレーション機能220は、ステップ940にて「No」と判定してステップ945に進み、実機ロボット400に、停止を指示すると共に、管制アプリケーション300に実機ロボット400の停止を通知する。
【0127】
実機ロボット400が回避経路で他の障害物と衝突する可能性がない場合、シミュレーション機能220は、ステップ940にて「Yes」と判定して、実機ロボット400に回避経路を送信して、ステップ995に進んで本処理フローを一旦終了する。
【0128】
上述した障害物判定の詳細について、図10及び図11を用いて説明する。図10はシミュレーション機能220が実行する障害物判定の詳細を説明するための図である。図10に示すように、ナビゲーションAIによって、仮想ロボットVB1の走行経路上に、所定の間隔毎に初期ウェイポイントP1が生成される。ウェイポイントP1は、経路上の地点である。
【0129】
シミュレーション機能220は、隣合う初期ウェイポイントP1の間を所定間隔aで分割した位置にウェイポイントP2を生成する。シミュレーション機能220は、ウェイポイントP2を中心とした半径cの円を生成する。シミュレーション機能220は、現時点の位置から順に数えて所定の個数(b個)の円に含まれる領域を障害物判定領域P3として設定する。シミュレーション機能220は、障害物判定領域P3を必要最小限の判定領域として設定することにより、演算負荷を軽減できる。シミュレーション機能220は、所定の個数を速度に応じて変えるようにしてもよい。シミュレーション機能220は、IoTセンサSN1によって検出された障害物が障害物判定領域P3内に存在するか否かを判定することにより、障害物判定を行う。
【0130】
図11はシミュレーション機能220が実行する障害物判定の処理フローを示すフローチャートである。シミュレーション機能220は、ステップ1100から処理を開始し、以下に述べるステップ1105乃至ステップ1115の処理を順に実行した後、ステップ1195に進んで本処理フローを一旦終了する。
【0131】
ステップ1105:シミュレーション機能220は、初期ウェイポイントP1の間を所定の長さaで分割する。即ち、シミュレーション機能220は、初期ウェイポイントP1の間を所定の長さ(所定間隔a)で分割した位置にウェイポイントP2を作成する。
【0132】
ステップ1100:シミュレーション機能220は、現在地から所定数(b個)のウェイポイントP1及びウェイポイントP2を含む経路を抽出する。
【0133】
ステップ1115:シミュレーション機能220は、抽出したb個のウェイポイントP1及びP2のそれぞれを中心として描画された半径cの複数の円に含まれる領域を障害物判定領域P3として設定し、障害物判定領域P3内のオブジェクト(障害物)を障害物と判定する。
【0134】
図12はリアルオブジェクト連動機能230を説明するための図である。図12に示すように、仮想空間マネージャ200は、通信機COM1を用いて、第1通信機411と通信を行うことによって、リアルオブジェクト連動機能230に必要な情報のやり取りを行う。
【0135】
仮想空間マネージャ200は、シミュレーション機能220によって作成した走行経路(経路データ)を、実機ロボット400の制御システム410に送信する。制御システム410は、経路データを受信すると、実機ロボット400が経路データに沿って移動するように制御する経路追従制御を行う。即ち、走行制御部412は、所定時間が経過する毎に、走行経路に沿って移動するための制御コマンド(速度及びヨーレート)を生成し、第2通信機415を介して、実機ロボット400の制御部に送信する。制御部は、制御コマンドに基づいて、駆動装置を制御する。実機ロボット400の制御部は、移動量に基づいて、オドメトリを推定する自己位置推定を行い、第2通信機415を介して制御システム410に送信する。
【0136】
制御システム410のオドメトリ受信部414は、実機ロボット400の制御部から第2通信機415を介してオドメトリを受信すると、第1通信機411を用いて通信機COM1と通信を行うことにより、仮想空間マネージャ200にオドメトリを送信する。仮想空間マネージャ200は、オドメトリに基づいて、デジタルツイン空間DS1において、仮想ロボットの位置を移動させる。
【0137】
仮想空間マネージャ200は、表示装置500に仮想空間データを出力して、デジタルツイン空間DS1を可視化した可視化画面を表示できるようになっている。可視化画面の一例は、現実空間RS1上の人物に対応する人物画像HU1と、仮想ロボットAB1と、仮想オブジェクトOB1と、経路データを示すラインTD1とを含む。人物画像HU1は、IoTセンサSN1によって検出された人物に関するIoTセンサデータIT1に基づいて生成される。仮想ロボットAB1は、オドメトリの位置に基づいて生成される。経路データを示すラインTD1は、走行経路に基づいて生成される。仮想オブジェクトOB1は、空間属性に基づいて生成される。
【0138】
<効果>
以上説明したように、本発明の実施形態に係る自動走行管制システムは、現実空間RS1に対応する仮想空間VS1であって、現実空間RS1の情報がリアルタイム(即時)に反映され、任意の仮想的なオブジェクト及び任意の空間の属性を設定可能な仮想空間VS1であるデジタルツイン空間DS1で、デジタルツイン空間DS1に存在する障害物を回避するように動的に設定される走行経路に追従するように移動する仮想ロボットの動きに連動して、実際に現実空間RS1を走行する実機ロボット400の走行を制御できる。これにより、自動走行管制システムは、実機ロボット400の自動走行の障害物回避性能を向上できる。
【0139】
更に、本発明の実施形態に係る自動走行管制システムは、以下の効果も奏する。
【0140】
即ち、従来の自律走行ロボットにおいては、周囲環境を認識するために複数台のLiDARやカメラがロボットごとに取り付けられており、非常に高価で複雑なシステム構成となっている。ロボットごとにセンサ構成や設置条件も異なるため、それぞれ固有の環境マップを持っており、認識する空間情報の共有も容易ではない。更に、実空間でテストできない/困難であるシーン(衝突等)の安全性の確認も課題となっている。
【0141】
これに対して、本発明の実施形態に係る自動走行管制システムは、周囲を認識するセンサを持たない安価なロボットにおいても、デジタルツイン空間DS1を活用することで、安全に移動可能な制御方法を提供できる。更に、本発明の実施形態に係る自動走行管制システムは、実空間には存在しない仮想オブジェクトを配置したデジタルツイン空間DS1を提供することで、実機ロボット400の自動走行の事前検証や学習の効率を向上できる。
【0142】
<<変形例>>
本発明は上記実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。
【0143】
上記実施形態において、実機ロボット400の車輪の数は、上記に限定されず、例えば、2輪等であってもよく、制御部によって制御可能な車輪を操舵する操舵機構が設けられていてもよい。実機ロボット400は、移動機構が車輪である移動体に限定されず、移動機構が車輪以外の他の移動機構である移動体であってもよい。移動体は、例えば、2足歩行のロボットのような移動体であってもよい。
【符号の説明】
【0144】
100…入力装置、110…ジオメトリデータ生成機能、200…仮想空間マネージャ、210…デジタルツイン生成機能、220…シミュレーション機能、230…リアルオブジェクト連動機能、300…管制アプリケーション、400…実機ロボット、500…表示装置
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12