(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116625
(43)【公開日】2024-08-28
(54)【発明の名称】シミュレーションシステム、シミュレータ、シミュレーション方法およびプログラム
(51)【国際特許分類】
G06T 7/521 20170101AFI20240821BHJP
G06T 11/60 20060101ALI20240821BHJP
【FI】
G06T7/521
G06T11/60 300
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023022323
(22)【出願日】2023-02-16
(71)【出願人】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】河野 研二
(72)【発明者】
【氏名】青木 教之
(72)【発明者】
【氏名】高岡 真則
(72)【発明者】
【氏名】上野 悟己
(72)【発明者】
【氏名】安達 ゆり
【テーマコード(参考)】
5B050
5L096
【Fターム(参考)】
5B050AA10
5B050BA07
5B050EA05
5B050EA07
5B050EA18
5B050EA27
5L096FA06
5L096FA67
5L096FA69
(57)【要約】
【課題】工事現場等、多種多様な補間対象が存在する環境において、簡易な構成で、高精度なシミュレーションの実現に貢献する。
【解決手段】シミュレーションシステムは、3次元センサで点群データを収集する点群データ収集装置と、モデルデータを生成するモデルデータ生成装置と、シミュレータと、を備え、前記シミュレータは、前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
3次元センサで点群データを収集する点群データ収集装置と、
モデルデータを生成するモデルデータ生成装置と、
シミュレータと、を備え、
前記シミュレータは、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレーションシステム。
【請求項2】
請求項1記載のシミュレーションシステムであって、
前記補間部は、取得した前記点群データの各領域について、前記オブジェクトを特定し、予め前記オブジェクトごとに定めた前記補間方法により、前記点群データの欠損を補間する、シミュレーションシステム。
【請求項3】
請求項1記載のシミュレーションシステムであって、
前記モデルデータは、前記点群データから生成される、シミュレーションシステム。
【請求項4】
請求項1記載のシミュレーションシステムであって、
前記モデルデータには、当該モデルデータの種類毎に予め定めた項目の属性と前記シミュレーションの実施内容が設定され、
前記シミュレーション部は、前記属性および前記実施内容に従って、前記シミュレーションを行う、シミュレーションシステム。
【請求項5】
請求項1記載のシミュレーションシステムであって、
前記点群データ収集装置は、前記3次元センサで前記点群データを収集する毎に、前記シミュレータに送信し、
前記補間部は、前記シミュレーション部が前記シミュレーションを行う際、最新の前記点群データに対し、前記補間処理を行う、シミュレーションシステム。
【請求項6】
3次元センサで収集した点群データを取得する点群データ取得部と、
モデルデータを取得するモデルデータ取得部と、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレータ。
【請求項7】
シミュレータが、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成し、
取得したモデルデータと前記補間後点群データとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行う、シミュレーション方法。
【請求項8】
コンピュータを、
モデルデータを取得するモデルデータ取得手段と、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成する補間処理を行う点群データ補間手段と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シミュレーションシステム、シミュレータ、シミュレーション方法およびプログラムに関する。
【背景技術】
【0002】
工事現場において、生産性向上の施策として、3次元(3D)センサ等のセンシングデバイスによって取得した工事現場のデジタルデータ(点群データ)を利用してシミュレーションを行う技術がある。
【0003】
例えば、取得した工事現場の点群データをもとに、シミュレーションを行い、作業ロボットの動作データを規定する作業計画データを作成する技術がある(例えば、特許文献1参照)。特許文献1に開示の技術では、シミュレータで、点群データに基づく環境において、作業ロボット移動機構の初期位置から目的位置までの最短かつ非干渉となる作業ロボットの経路を計算する。
【0004】
しかしながら、特許文献1に開示の技術では、精度よくシミュレーションを行うためには、現場全体の点群データを精緻に取得する必要がある。多様な障害物が散在する工事現場等においては、1つの3Dセンサでは、これらの障害物により遮蔽され点群データを取得できない領域が発生する。したがって、現場の点群データを多方面から取得するため、多数の3Dセンサが必要であり、システムが大掛かりとなる。
【0005】
これに対し、例えば、地勢データの中の遮蔽等による空白部分を、補間アルゴリズムで補う技術がある(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0006】
【非特許文献1】国際公開第2022/130652号
【非特許文献2】特開2022-003592号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
以下の分析は、本発明によって与えられたものである。
【0008】
特許文献2に開示の技術では、補間対象が地勢データに限定されている。また、補間手法も双一次補間アルゴリズムを用いた内挿に限定されている。しかしながら、実際の工事現場等には、土砂や建物等、多種多様な材質、形状を有する補間対象が存在する。特許文献2に開示の技術は、これらに対応できていない。したがって、シミュレーションの前提となる環境データを必要十分に収集できず、シミュレーション結果の精度も必ずしも良いものになるとは限らない。
【0009】
本発明は、上記事情に鑑みてなされたもので、工事現場等、多種多様な補間対象が存在する環境において、簡易な構成で、高精度なシミュレーションの実現に貢献する技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第一の視点によれば、
3次元センサで点群データを収集する点群データ収集装置と、
モデルデータを生成するモデルデータ生成装置と、
シミュレータと、を備え、
前記シミュレータは、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレーションシステムが提供される。
【0011】
本発明の第二の視点によれば、
3次元センサで収集した点群データを取得する点群データ取得部と、
モデルデータを取得するモデルデータ取得部と、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレータが提供される。
【0012】
本発明の第三の視点によれば、
シミュレータが、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成し、
取得したモデルデータと前記補間後点群データとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行う、シミュレーション方法が提供される。
【0013】
本発明の第四の視点によれば、
コンピュータを、
モデルデータを取得するモデルデータ取得手段と、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成する補間処理を行う点群データ補間手段と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション手段として機能させるためのプログラムが提供される。
【0014】
なお、これらのプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0015】
本発明によれば、工事現場等、多種多様な補間対象が存在する環境において、簡易な構成で、高精度なシミュレーションの実現に貢献することができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態のシミュレーションシステムの概要を説明するための説明図である。
【
図2】(a)および(b)は、それぞれ、本発明の一実施形態のシミュレーションシステムの機能ブロック図、および、シミュレータのハードウェア構成図である。
【
図3】(a)および(b)は、それぞれ、本発明の一実施形態のモデルデータテーブルおよび補間方法テーブルの一例を説明するための説明図である。
【
図4】(a)から(c)は、本発明の一実施形態の補間処理を説明するための説明図である。
【
図5】(a)および(b)は、本発明の一実施形態の欠損の有無の判定および欠損領域特定処理を説明するための説明図である。
【
図6】本発明の一実施形態のシミュレーション処理の一例のフローチャートである。
【
図7】(a)および(b)は、それぞれ、本発明の一実施形態の変形例を説明するための説明図である。
【
図8】(a)および(b)は、それぞれ、本発明の一実施形態の変形例を説明するための説明図である。
【
図9】本発明の一実施形態の変形例を説明するための説明図である。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態(以下、本実施形態と呼ぶ。)の概要について図面を参照して説明する。なお、付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向および単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
【0018】
また、図中の各ブロックの入出力の接続点には、ポートやインタフェースがあるが図示を省略する。また、以下の説明において、「Aおよび/またはB」は、AまたはB、もしくは、AおよびBという意味で用いる。
【0019】
本実施形態では、3次元(3D)センサで取得した、実環境の点群データ上で、作成したモデルデータによるシミュレーションを行う。このとき、収集した点群データの欠損箇所を、欠損箇所を有するオブジェクトに応じて、補間を行う。
【0020】
以下、本実施形態のシミュレーションシステム601に関し、対象が工事現場であり、搬入出計画立案を支援するためのシミュレーションを行う場合を例にあげて説明する。
【0021】
まず、本実施形態のシミュレーションシステム601の概要について説明する。
図1は、本実施形態のシミュレーションシステム601の概要を説明する図である。
【0022】
本実施形態のシミュレーションシステム601は、3Dセンサ110で撮影した、作業現場100(実環境)の3D点群(ポイントクラウド)データ(以下、単に点群データと呼ぶ。)上に、作業者が作成したモデルデータを合成し、モデルデータの動作をシミュレーションする。
【0023】
上記処理を実現するため、本実施形態のシミュレーションシステム601は、3Dセンサ110と、点群データ収集装置400と、モデルデータ生成装置500と、シミュレータ600と、を備える。
【0024】
3Dセンサ110は、作業現場100に設置され、作業現場100の点群データを取得する。本図に示すように、作業現場100には、多種多様な回避対象物が存在する。ここでは、回避対象物として、堆積物120、建造物130、樹木140が存在している場合を例示する。なお、これらは本実施形態を説明するために用意したものであり、実際の作業現場100の回避対象物はこれらに限らない。また、3Dセンサ110は、必ずしも作業現場100を網羅するように設置する必要はない。作業現場100の必要な領域の点群データが収集できればよく、その設置位置は、作業現場100外であってもよい。
【0025】
3Dセンサ110で取得した点群データは、点群データ収集装置400に転送され、デジタル空間300を構成するデータとして扱われる。この時、点群データはリアルタイムで転送される。例えば、3Dセンサ110では、所定の時間間隔で、点群データを取得し、取得する毎に、点群データ収集装置400に送信する。
【0026】
3Dセンサ110は、例えば、3D-LiDAR(Light Detection And Ranging)、ToFカメラ(Time of Flight)、ステレオカメラ、3Dスキャナ等で実現される。
【0027】
LiDARは、レーザ光のパルスの反射を利用する。一般的にTime-of-Flight(ToF)と呼ばれる方式を用い、反射した光を受信するまでの時間を高精度に測定することで、物体までの正確な距離を計測する。得られた距離情報と、GPS(Global Positioning System)などで取得した位置情報とを組み合わせることで、3次元点の計測値を得る。
【0028】
なお、本実施形態のシミュレーションシステム601は、1以上の3Dセンサ110を備える。
【0029】
点群データ収集装置400は、3Dセンサ110から点群データを収集し、シミュレータ600に送信する。点群データ収集装置400は、例えば、点群データを収集する毎に、シミュレータ600に送信してもよい。収集のタイミングと、送信のタイミングとは、同期していなくてもよい。また、3Dセンサ110と点群データ収集装置400とは、有線、無線のいずれで接続されていてもよい。点群データ収集装置400の配置場所は問わない。例えば、クラウド上であってもよい。
【0030】
モデルデータ生成装置500は、作業員210および/または211の指示に従って、シミュレーション用のモデルデータを生成(作成)する。モデルデータ生成装置500の配置位置は問わない。例えば、作業現場100とは離れた遠隔地200に配置されてもよい。なお、遠隔地200の場所や作業員の人数は一例であり、作業員210および/または211の作業場所は作業現場100の敷地内でもよいし、作業員は一人でも複数人でもよい。以下、区別する必要がない場合は、作業員210および/または211は、作業員210で代表する。
【0031】
モデルデータは、例えば、CADや3Dモデリングのソフトウェア等を用いて作成される。その他、3Dセンサ110で取得した点群データからモデルデータを作成してもよい。モデルデータの作成手法は、これらに限定されない。
【0032】
本図の例では、作業員210は、3Dモデリングのソフトウェアを用いて自動車のモデルデータ220を作成する。一方、作業員211は、設備のモデルデータ230を3Dモデリングにて作成し、運搬用のトラックのモデルデータ240を3Dセンサ110で取得した点群データから作成する。作成したモデルデータは、シミュレータ600に転送される。
【0033】
シミュレータ600は、点群データ収集装置400から取得した作業現場100の点群データと、モデルデータ生成装置500から取得したモデルデータと、を合成し、モデルデータ等を変化させてシミュレーションを行う。本実施形態では、例えば、作業現場100内での、トラックによる搬入出のシミュレーションを行い、シミュレーション結果を表示する。表示結果(デジタル空間300)の例を、
図1に示す。
【0034】
この時、本実施形態のシミュレータ600は、点群データに欠損が生じている場合は、欠損箇所を補間して表示する。例えば、
図1に示す作業現場100において、3Dセンサ110を堆積物120の正面に設置した場合、欠損箇所は堆積物120の背面、建造物130の下方、堆積物120と建造物130の間の道路となる。
【0035】
本実施形態のシミュレータ600は、堆積物120の点群データを、背面の点群データ321で補い、建造物の下方を点群データ331で補い、道路を点群データ351で補間する。
【0036】
本実施形態のシミュレータ600は、これらの欠損を補間した点群データ上に、シミュレーション用のモデルデータ220、230、240を重畳し、デジタル空間300に表示する。このシミュレーション結果は、例えば、シミュレータ600が備える表示装置に表示される。
【0037】
点群データは、リアルタイム(所定の時間間隔)で更新される。また、各モデルデータ220、240、230は、予め指定した属性の情報に基づいてデジタル空間300上で動作する。例えば、最新の点群データとモデルデータとを用いてシミュレーションを行い、例えば、モデルデータ220を所定の場所まで移動させた場合の干渉チェックをシミュレーションした結果は、シミュレーション結果362として表示される。また、モデルデータ240および230を所定の位置まで移動させた後に荷下ろしの動作を実施した場合のシミュレーション結果は、シミュレーション結果361として表示される。シミュレータ600の配置位置は問わない。
【0038】
本実施形態のシミュレーションシステム601では、以上のように、点群データの欠損箇所を補間し、モデルデータをユーザの指定に従って動作させることで、現実味のあるシミュレーションを実現する。
【0039】
[機能ブロック]
次に、上記処理を実現する本実施形態のシミュレーションシステム601の、各構成の機能構成について説明する。
図2(a)は、本実施形態のシミュレーションシステム601の機能ブロック図である。
【0040】
上述のように、本実施形態のシミュレーションシステム601は、3Dセンサ110と、点群データ収集装置400と、モデルデータ生成装置500と、シミュレータ600と、を備える。
【0041】
3Dセンサ110は、上述のように、作業現場100に設置され、作業現場100の点群データを取得する。取得した点群データは、例えば、リアルタイムで、点群データ収集装置400に送信される。
【0042】
なお、点群データの各点は、例えば、3次元の座標(x、y、z)で表現されるデータである。点群データは、これらの座標(x、y、z)の集合体である。このとき、3Dセンサ110の位置を原点とした座標系を用いてもよい。また、予め作業現場100に設定した座標系を用いてもよいし、緯度経度及び高度を座標系に用いてもよい。なお、いずれの座標系を用いる場合であっても、3Dセンサ110の位置の座標値は、保持される。
【0043】
点群データ収集装置400は、作業現場100に設置された3Dセンサ110から点群データを収集し、シミュレータ600に送信する。点群データ収集装置400は、本図に示すように、点群データ収集部410と、点群データ送信部420と、を備える。
【0044】
点群データ収集部410は、3Dセンサ110から点群データを収集する。点群データ送信部420は、収集した点群データをシミュレータ600に送信する。このとき、日時情報を付加し、送信する。付加する日時情報は、収集した時刻、または、点群データ収集装置400からシミュレータ600へ送信する日時等である。
【0045】
なお、点群データ収集装置400では、3Dセンサ110から点群データを収集する毎に、当該点群データをシミュレータ600へ送信してもよい。また、収集した点群データを日時情報に対応づけて記憶しておき、シミュレータ600からの要求に応じて、シミュレータ600に送信してもよい。
【0046】
モデルデータ生成装置500は、モデルデータを生成し、シミュレータ600へ送信する。本図に示すように、モデルデータ生成装置500は、モデルデータ生成部510と、モデルデータ送信部520と、を備える。
【0047】
モデルデータ生成部510は、作業員210の指示に従って、モデルデータを生成する。モデルデータ送信部520は、生成したモデルデータをシミュレータ600へ送信する。
【0048】
モデルデータ生成部510が生成するモデルデータは、基本的には、実際の作業現場100にはない物体であって、シミュレーションで用いる物体の仮想的なデータである。
図1の例では、例えば、自動車のモデルデータ220、トラックのモデルデータ240および設備のモデルデータ230等である。
【0049】
モデルデータは、上述のように、例えば、ソフトウェアによって3Dモデリングし、生成する。また、3Dセンサ110で取得した点群データから、所望の物体(例えば、自動車、トラック、設備等)を抽出し、モデルデータとして用いてもよい。この場合、用いる点群データは、例えば、他のタイミングで、作業現場100に設置されている3Dセンサ110で取得したものであってもよいし、他の3Dセンサ110で取得した点群データであってもよい。モデルデータの生成手法は、これに限定されない。
【0050】
本実施形態では、モデルデータに、シミュレーションの実行に係る属性を設定してもよい。設定する属性は、モデルデータの対象が移動体の場合、例えば、移動元の位置(初期位置)、移動先の位置(目標位置)、移動速度、挙動の内容(ドアの開閉、旋回など)、開始時刻などである。また、非移動体の場合、設置時期、などである。属性として設定する項目は、これに限定されない。他の項目を設けてもよい。
【0051】
また、モデルデータには、シミュレーションの実施内容を、実施情報として設定してもよい。設定する実施内容は、例えば、モデルデータの挙動による周囲への干渉チェックや、モデルデータが干渉を起こす事無く目的地に到達するまでの経路の選択などである。しかしながら、設定する実施内容は、これに限定されない。
【0052】
これらの追加情報は、モデルデータ生成時に、モデルデータに対応づけて、モデルデータテーブル530として、モデルデータ生成装置500の記憶装置等に登録される。
図3(a)に、モデルデータテーブル530の一例を示す。
【0053】
モデルデータテーブル530では、例えば、モデルデータを特定するモデルデータ番号(No.)531に対応づけて、その種類532と、属性533と、実施内容534と、が登録される。なお、モデルデータNo.531は、作成したモデルデータを一意に識別するために、それぞれ付与される情報である。種類532は、属性として設定する項目が同じ対象毎の分類等である。例えば、移動体、非移動体といった大きな分類であってもよいし、移動体の中でも、自動車、トラック等、作業現場100での役割毎に分類してもよい。なお、種類532、属性533および実施内容534は、必ずしも全ての項目に、値が設定されなくてもよい。また、その他の項目が設定されてもよい。
【0054】
モデルデータ送信部520は、モデルデータを送信する際、モデルデータテーブル530も併せて送信する。
【0055】
なお、モデルデータの種類ごとの、指定すべき属性項目を予め保持し、ユーザがモデルデータの種類を特定すると、指定すべき属性項目が一覧で表示されるようにしてもよい。例えば、モデルデータが移動体である場合、指定すべき属性項目として、移動元の位置、移動先の位置、移動速度、挙動の内容(ドアの開閉、旋回など)、開始時刻等が表示される。作業員210は、指定された項目の値を設定する。
【0056】
シミュレータ600は、点群データとモデルデータとを合成してシミュレーションを実施し、その様子および/または結果をユーザに提示する。本実施形態のシミュレータ600は、点群データ取得部610と、モデルデータ取得部620と、補間部630と、シミュレーション部640と、表示画像生成部650と、を備える。
【0057】
点群データ取得部610は、点群データ収集装置400から、作業現場100の点群データが送信される毎に、当該点群データを取得する(受信する)。なお、取得した点群データは、日時情報に対応づけて登録する。このとき用いる日時情報は、点群データ収集装置400から点群データとともに送付されてきた日時情報であってもよいし、受信した日時であってもよい。
【0058】
なお、以降のシミュレーションにおいて、用いる点群データは、シミュレーション開始時の最新の点群データであってもよいし、シミュレーション中、最新の点群データに更新していってもよい。シミュレーション内容に応じて、使用する点群データは異なってもよい。
【0059】
モデルデータ取得部620は、モデルデータ生成装置500から送信されたモデルデータを取得する。このとき、モデルデータテーブル530も併せて取得する。
【0060】
補間部630は、点群データに欠損が生じている場合に、欠損箇所に対して補間処理を行う。これを実現するため、本実施形態の補間部630は、点群データ分割部631と、補間方法設定部632と、補間処理部633と、を備える。
【0061】
点群データ分割部631は、作業現場100の点群データからオブジェクト(例えば、堆積物、建物、道路、地面、樹木、植栽等)を抽出する。
【0062】
本実施形態では、まず、点群データを、オブジェクト毎に分割する。分割は、例えば、既存のクラスタリング等の手法を用いて実施される。クラスタリングは、データ間の類似度に基づいてデータをグループ分けする手法である。
【0063】
具体的には、例えば、予め閾値Pthを設定し、起点となる点から半径Pthまでの領域に存在する点を同一グループとする。この処理を、同一グループに属する全ての点に対して行い、同一グループに属する新しい点が発見されなくなった時に、このグループを1つのクラスタとして分離する。分割手法は、この手法に限定されない。例えば、ディープラーニングによりオブジェクトを検出し、分割してもよい。
【0064】
また、点群データ分割部631は、各オブジェクトに分割した点群データ(分割点群データ)に対し、オブジェクトの種類を判定(仮定)し、付与する。種類の判定は、分割点群データの形状や輝度情報等に基づいて行う。付与する種類は、例えば、「堆積物」、「建造物」、「道路」、「樹木」、「地面」等である。これらは、予め、作業現場に存在し得るものを、リスト化して保持し、その中から選択してもよい。
【0065】
補間方法設定部632は、オブジェクト毎に分割した点群データ(分割点群データ)の欠損の有無を判別し、欠損が生じていると判別した場合、欠損領域を特定し、補間処理の方法を設定する。補間方法はオブジェクト毎に設定する。欠損の有無の判定、欠損領域特定の手法は、後述する。
【0066】
例えば、オブジェクトの種類として「堆積物」が付与された分割点群データで背面に欠損が生じたオブジェクトについては、前面の点群データを前後対称にして背面に追加する。オブジェクトの種類として「建造物」が付与された分割点群データで、背面および下方に欠損が生じたオブジェクトについては、前面の点群データを前後対称にして背面に追加するとともに、上方の点群データを下方に延伸して補間する。
【0067】
なお、オブジェクトの種類ごとに補間方法を定めた補間方法テーブル634を予め用意しておき、補間方法設定部632は、当該補間方法テーブル634から補間方法を抽出し、設定する。
【0068】
補間方法テーブル634の一例を、
図3(b)に示す。本図に示すように、補間方法テーブル634には、オブジェクトの種類634aに対応づけて、補間方法634bが登録される。補間方法634bは、各オブジェクトの補間方法が、補間部位毎に登録される。本テーブルは、予めユーザが作成し、シミュレータ600の記憶装置等に保存しておく。
【0069】
補間処理部633は、補間方法設定部632で設定した補間方法に従って、補間方法設定部632が特定した欠損領域の点群データに対する補間処理を実施し、補間後の点群データを得る。なお、補間は必ずしも行われなくてもよいが、以下、本明細書では、シミュレーション部640が使用するデータを、補間が行われたか行われなかったかによらず、補間後点群データと呼ぶ。
【0070】
シミュレーション部640は、補間後点群データとモデルデータとを用い、モデルデータに設定した属性等に従ってシミュレーションを実施する。本実施形態のシミュレーション部640は、実施項目取得部641と、実施部642と、を備える。
【0071】
実施項目取得部641は、モデルデータに設定された属性およびシミュレーションの実施内容を取得する。本実施形態では、シミュレーションに使用するモデルデータに設定された属性および実施内容を取得する。
【0072】
実施部642は、実施項目取得部641で取得した情報(属性および実施内容)を元に、シミュレーションを実施する。
【0073】
シミュレーションの実施内容が干渉チェックの場合、本実施形態では、実施部642は、時系列で動作するモデルデータ(例えば、自動車、トラック等の移動体)の点群データ上での位置を移動させて、所定の時間間隔の状態で干渉チェックを行う。モデルデータの位置は、例えば、モデルデータテーブル530の属性533の初期位置、移動速度、目標位置、挙動に従って移動させる。
【0074】
また、シミュレーションの実施内容が最適経路選択の場合、時系列で動作するモデルデータの、初期位置と目標位置と、を用いて、当該シミュレーションを実行する。
【0075】
表示画像生成部650は、シミュレーション結果から、ディスプレイ等に表示する表示画像を生成する。なお、生成した表示画像は、シミュレータ600が備えるディスプレイに表示してもよいし、シミュレータ600が備える通信機能を介して、外部に送信されてもよい。
【0076】
なお、最終的なシミュレーション結果だけでなく、例えば、シミュレーション中のモデルデータの挙動(移動、旋回など)を表示画像として、所定の時間間隔で生成してもよい。もちろん、これらに限定されない。
【0077】
[補間処理]
ここで、補間部630による補間処理の詳細を説明する。
図4(a)~
図4(c)は、補間処理を説明するための図である。なお、ここでは、
図4(a)に示す配置において、3Dセンサ110で堆積物120および建造物130を撮影するものとする。
【0078】
この場合、3Dセンサ110で取得される点群データから得られる分割点群データは、堆積物120の前面の分割点群データ320と建造物130の上方部分の分割点群データ330と、周辺の地面の分割点群データ350と、である。この場合、堆積物120の前面がオクルージョンとなり、堆積物120の背面の領域323と、建造物130の下方部分の領域332と、堆積物120と建造物130との間の道路の領域352と、に欠損が生じる。
【0079】
点群データ分割部631は、各分割点群データについて、オブジェクトの種類を判定する。本実施形態では、分割点群データ320、330、および350に対して、上述のように各分割点群データの形状や輝度情報などから、そのオブジェクトの種類を判定する。本実施形態では、分割点群データ320は「堆積物」と、分割点群データ330は「建造物」と、分割点群データ350は「地面」と、それぞれ判定(仮定)する。
【0080】
そして、補間方法設定部632は、各分割点群データについて、「オブジェクトの種類」に基づき、欠損が発生しているか否かを判定する。そして、欠損が発生していると判定された分割点群データについて、欠損領域を特定し、補間方法テーブル634を参照し、補間方法を決定する。
【0081】
欠損の有無の判定、欠損領域の特定手法の一例を、
図5(a)および
図5(b)を用いて簡単に説明する。なお、ここでの座標系(x軸、y軸、z軸)は、本手法を説明するためのものである。
【0082】
補間方法設定部632は、デジタル空間300上の点群データについて、3Dセンサ110の配置位置に対応する位置310に最も近いオブジェクト(
図5(a)の例では、分割点群データ320)から順に、図中のxy平面上での、当該オブジェクト(分割点群データ320)による遮蔽領域301を特定する(
図5(a)参照)。また、図中のxz平面上での同オブジェクト(分割点群データ320)による遮蔽領域302を特定する(
図5(b))。この処理を、全分割点群データについて行い、全遮蔽領域を特定し、それに基づき、各オブジェクトの欠損領域を特定する。欠損領域が特定された物体が、欠損有りの物体である。なお、欠損領域の特定手法は、これに限定されない。既存の各種の手法を用いることができる。
【0083】
上記手法で、例えば、
図5(a)に示すオブジェクト(分割点群データ320)であれば、その背面の領域323が欠損領域と推定される。また、
図5(b)に示すオブジェクト(分割点群データ330)であれば、背面332aと下面332bとが欠損領域と推定される。
【0084】
上記手法で欠損の有無、欠損領域を特定後、補間方法設定部632は、欠損有りと判定された各オブジェクトについて、その種類に応じて補間方法を決定する。ここでは、例えば、「堆積物」と仮定した分割点群データ320に対しては、前面の点群データを背面に前後対称で補間する補間方法に決定する。また、「建造物」と仮定した分割点群データ330に対しては、前面の点群データを背面に前後対称で補間するとともに、点群データを鉛直下向きに地面まで補間する補間方法に決定する。「地面」と仮定した分割点群データ350に対しては平面状に欠損箇所を補間する補間方法に決定する。
【0085】
補間処理部633は、決定した補間方法に従って各分割点群データの補間処理を行う。これにより、点群データにおいて、堆積物120の分割点群データ320の背面の領域323、建造物130の分割点群データ330の下方の領域332、堆積物120と建造物130との間の領域352(道路)に、それぞれ、点群データ321、331、351が補間される。これにより、
図4(c)に示すように、補間後点群データが得られる。
【0086】
[シミュレーション処理]
次に、本実施形態の、シミュレータ600によるシミュレーション処理の流れ(手順)を説明する。
図6は、本実施形態のシミュレーション処理の処理フローである。以下では、シミュレーション開始時の最新の点群データを用いてシミュレーションを行う場合を例にあげて説明する。本処理は、ユーザからの開始の指示を契機に開始される。
【0087】
点群データ取得部610は、点群データ収集装置400から、点群データを取得する(ステップS1101)。なお、ここで取得する点群データは、3Dセンサ110で取得した作業現場100の点群データのうち、例えば、最新の点群データである。
【0088】
また、モデルデータ取得部620は、モデルデータ生成装置500からモデルデータを取得する(ステップS1102)。なお、ここで取得するモデルデータは、作業員210が生成し、モデルデータ生成装置500に記憶されているモデルデータである。取得するモデルデータには、属性および実施内容が設定されている。
【0089】
その後、補間部630は、分割点群データに欠損が生じている場合、補間処理を行う。
【0090】
ここでは、まず、点群データ分割部631は、上記手法で、点群データをオブジェクト毎に分割し、各分割点群データについて、オブジェクトを特定する(ステップS1103)。点群データ分割部631は、抽出したオブジェクトに対し、それぞれ、「オブジェクトの種類」を付与する。
【0091】
次に、補間方法設定部632は、補間方法テーブル634を参照し、欠損が生じているオブジェクト(分割点群データ)それぞれについて、上記手法で補間方法を決定する(ステップS1104)。
【0092】
そして、補間処理部633は、欠損が生じている各分割点群データに対し、補間処理を行い(ステップS1105)、補間後点群データを生成する。
【0093】
そして、シミュレーション部640が、補間後点群データの上で、モデルデータのシミュレーションを実施する(ステップS1106)。ここでは、まず、実施項目取得部641が、モデルデータに設定された属性およびシミュレーションの実施内容を取得する。そして、実施部642が、それらに従って、シミュレーションを実施する。
【0094】
そして、表示画像生成部650は、シミュレーション結果から表示画像を生成し(ステップS1107)、例えば、シミュレータ600が備えるディスプレイ上に表示させ、処理を終了する。
【0095】
[ハードウェア構成]
なお、本実施形態のシミュレータ600のハードウェア構成について説明する。本実施形態のシミュレータ600は、いわゆる、汎用の情報処理装置(コンピュータ)により実現可能である。
【0096】
本実施形態のシミュレータ600は、
図2(b)に示すように、例えば、内部バスにより相互に接続される、CPU(Central Processing Unit)691と、主記憶装置(メモリ)692と、補助記憶装置693と、通信I/F694と、拡張I/F695と、を備える。
【0097】
CPU691は、例えば、補助記憶装置693に記憶されたプログラムを主記憶装置692にロードして実行することにより、上記各機能を実現するとともにシミュレータ600全体を統括的に制御する。なお、CPU691の代わりにMPU(Micro Processing Unit)等の1以上のプロセッサを用いてもよい。
【0098】
主記憶装置692は、RAM(Random Access Memory)等のメモリである。主記憶装置692は、シミュレータ600が実行するプログラム等を、CPU691が処理する際のワーク領域である。
【0099】
補助記憶装置693は、例えば、ROM(Read Only Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)等である。補助記憶装置693は、情報交換装置が実行する各種プログラムを記憶する。なお、補助記憶装置693は、フレキシブルディスク、ハードディスク、光ディスク、CD-ROM、CD-R、磁気テープ、不揮発性メモリカード、DVD等の記憶媒体を備えてもよい。
【0100】
なお、補助記憶装置693に記憶されたプログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。補助記憶装置693は、非一時的なコンピュータ可読記録媒体に記録された各種プログラムを中長期的に記憶することに利用することが可能である。
【0101】
通信I/F694は、有線または無線による信号、データの送受信を行う。また、通信I/F694として、例えば、NIC(Network Interface Card)等を備えてもよい。本実施形態では、例えば、点群データ収集装置400およびモデルデータ生成装置500は、この通信I/F694を介して接続されてもよい。
【0102】
拡張I/F695は、表示装置、入力装置等を接続するインタフェースである。表示装置は、例えば、液晶モニタ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【0103】
本実施形態のシミュレータ600の上記各機能は、それぞれ、補助記憶装置693に記憶されたプログラムを、CPU691が、主記憶装置692にロードして実行することにより実現される。
【0104】
また、シミュレータ600が管理する情報は、補助記憶装置693に構築されてもよい。また、処理の途中に生成されるデータは、主記憶装置692または補助記憶装置693に記憶される。
【0105】
なお、シミュレータ600のハードウェア構成は、これに限定されない。図示しないハードウェアを含んでもよい。
【0106】
また、本実施形態のシミュレータ600の上記各機能を実現するプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【0107】
また、点群データ収集装置400とモデルデータ生成装置500とは、少なくとも、CPU等の演算装置と、メモリ等の記憶装置と、通信インタフェースと、を備える。上記各機能は、シミュレータ600同様、記憶装置に格納されたプログラムを、演算装置がそのワーク領域にロードして実行することにより実現される。また、各種の情報(データ)は、記憶装置に格納される。
【0108】
以上説明したように、本実施形態のシミュレーションシステム601は、3次元センサ(3Dセンサ)110で点群データを収集する点群データ収集装置400と、モデルデータを生成するモデルデータ生成装置500と、シミュレータ600と、を備え、シミュレータ600は、点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成する補間部630と、補間後点群データとモデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部とを備える。
【0109】
例えば、点群データ上にモデルデータを合成して干渉チェックを実施する場合、干渉する箇所の点群データが取得できていないと正しく干渉チェックを行うことができない。そのため、正確に干渉チェックを実施するには、作業現場100の点群データを不足なく取得する必要があり、撮影時間が増加したり、多数の3Dセンサ110を設置したりする必要がある。
【0110】
しかしながら、本実施形態のシミュレーションシステム601によれば、点群データに欠損がある場合、点群データを補間し、補間後点群データによってシミュレーションを行う。したがって、対象領域に関し、多方向から不足なく点群データを収集する必要がない。よって、本実施形態によれば、点群データの取得時間および3Dセンサ110の設置台数を削減できる。
【0111】
また、本実施形態のシミュレーションシステム601によれば、点群データに欠損がある場合、そのオブジェクトを特定し、オブジェクトに応じた補間方法で補間を行う。したがって、工事現場等、多種多様な補間対象オブジェクトが存在するような環境であっても、オブジェクトに応じた高精度な補間ができる。
【0112】
本実施形態のシミュレーションシステム601によれば、3Dセンサ110で取得した実際の点群データからモデルデータを生成することもできる。なお、このとき用いる点群データは、他の3Dセンサ110で取得した点群データまたは、他のタイミングでその3Dセンサ110で取得した点群データである。
【0113】
例えば、シミュレーションしたい対象が複雑な形状であったり、稼働時の形状が複数あったりする場合、モデルデータの作成に時間を要する。本実施形態によれば、このような場合であっても、実際に当該対象から取得した点群データを用いてモデルデータを生成するため、モデルデータを作成する時間を大幅に削減できる。
【0114】
よって、本実施形態によれば、工事現場等、多種多様な補間対象が存在する環境において、簡易な構成で、高精度なシミュレーションの実現に貢献できる。
【0115】
<変形例1>
なお、上記実施形態では、その時点で、作業現場100に存在しない物体をモデルデータとして作成している。しかしこれに限定されない。例えば、現状、作業現場100に存在する物体をモデルデータとして作成し、シミュレーションを行ってもよい。
【0116】
図7(a)は、本変形例を説明するための図である。本図に示すように、モデルデータ生成装置500は、点群データ収集装置400から、最新の点群データを受け取り、当該点群データから、オブジェクトとして抽出し、モデルデータを生成する。ここでは、作業現場100に存在する建設機械180のモデルデータ280を生成する場合を例示する。オブジェクトの抽出手法は、上記点群データ分割部631がオブジェクトを抽出(点群データ分割)する手法と同様である。
【0117】
本変形例によれば、モデルデータを作成するにあたり、3Dセンサ110でリアルタイムに取得した点群データを使用できるため、モデルデータの作成時間を削減できる。
【0118】
なお、モデルデータ生成装置500は、点群データ収集装置400からシミュレータ600に送信された点群データを、シミュレータ600から受け取ってもよい。また、シミュレータ600から点群データを受け取る場合、上述の、補間後点群データであってもよい。
【0119】
また、本変形例によれば、現在、作業現場100に存在する、例えば、建設機械180やトラック等の移動体の、干渉チェック、最適経路提案等のシミュレーションを行うことができる。
【0120】
上記実施形態のシミュレータ600によれば、デジタル空間300上にシミュレーション結果をリアルタイムで表示できる。すなわち、シミュレーション結果を得る毎に、表示画像を生成し、外部装置に送信できる。このため、例えば、スマートグラス等へデジタル空間300を表示画像として表示することもできる。これを利用し、本変形例において、例えば、作業現場100で建設機械180等を操縦中に建設機械180の移動経路をシミュレーションすることができる。この場合、操縦者は、操縦しながら、シミュレーション結果、すなわち、移動経路を確認でき、作業効率が向上する。そして、安全性も確保できる。
【0121】
また、点群データを用いて、生成するモデルデータのサイズを決定してもよい。例えば、作業現場100に存在する堆積物120の搬出作業において、堆積物120の分割点群データ320(または、補間後分割点群データ320および321)に基づいてその堆積物120の体積を算出する。そして、全ての堆積物120を積載するために必要なトラックの大きさ(および台数)を算出する。そして、算出したトラックの大きさに応じてトラックのモデルデータを生成する。そして、例えば、干渉チェックや最適経路算出のシミュレーションを生成したトラックのモデルデータで実行する。
【0122】
<変形例2>
また、上記実施形態では、移動体の、例えば、干渉チェックを行う場合、属性に設定された情報を用いて、点群データ上で移動体を移動させてシミュレーションを行っている。このとき、例えば、モデルデータをボクセルグリッドに分割し、ボクセルグリッド単位で点群データとの干渉をチェックしてもよい。
【0123】
この場合のイメージ図を、
図7(b)に示す。ここでは、自動車のモデルデータ220を、ボクセルグリッド221に分割する例を示す。
【0124】
シミュレーションを行う際、実施部642は、補間処理を施した点群データ上に、予め作成したモデルデータを合成する。時系列で動作するモデルデータ(移動体のモデルデータ)に対して干渉チェックを行う場合、例えば、予め定めた時間間隔で、モデルデータを移動させ、チェックを繰り返す。このとき、本変形例では、ボクセルグリッド単位で、移動させる。
【0125】
これにより、計算量を低減できる。なお、干渉チェックには他の方法を用いてもよく、これに限らない。
【0126】
<変形例3>
シミュレーションの実施内容が干渉チェックである場合、点群データに対して干渉の閾値を設けてもよい。干渉の閾値のイメージ図を
図8(a)および
図8(b)に示す。
【0127】
図8(a)に示すように、例えば、堆積物120の分割点群データ320に対して、凸包等の処理を施した領域324を干渉の範囲としてもよい。なお、凸包とは、凸包絡とも呼ばれ、与えられた集合を含む最小の凸集合(包絡線)を算出する処理である。
【0128】
また、
図8(b)に示すように、建造物130の分割点群データ330に対して縦方向、横方向、奥行き方向それぞれに一定の距離を付加した領域334を干渉の範囲として設けてもよい。
【0129】
また、閾値は、オブジェクトの種類により異なる値を設定してもよい。例えば、堆積物120は、崩落しやすいため、凸包等の処理後の領域に、さらに、所定の範囲を加えてもよい。
【0130】
なお、輝度情報、RGB情報等から、オブジェクトの材質まで判別可能な場合は、同種のオブジェクトであっても、材質に応じて、閾値の大きさを変化させてもよい。例えば、堆積物120が土砂、残土、砂利等、崩落、種類(材質)によって、より崩落の可能性の高い材出の堆積物120の閾値を大きく設定する。
【0131】
これらの閾値は、予め設定し、例えば、補間方法テーブル634に記憶しておく。
【0132】
<変形例4>
また、構造物、設備等の非移動体であっても、時間的に変化するものを、モデルデータとしてもよい。そして、シミュレータ600は、シミュレーションを、時系列で行ってもよい。例えば、所定の日時に新たに設置される構造物、所定の日時に取り除かれる構造物等である。この場合、モデルデータの属性に、設置日時、稼働日時等の、日付情報を追加する。すなわち、モデルデータ生成装置500は、日付情報の設定をさらに受け付ける。
【0133】
図9は、この場合の最適経路の時系列シミュレーションを説明するための図である。ここでは、例えば、作業現場100に、XX年xx月に施工予定の設備がある場合を例に説明する。この場合、デジタル空間300に表示される当該設備のモデルデータ820には、設置日時の属性に施工予定日が登録される。
【0134】
このような作業現場100において、設備(モデルデータ230)を積載したトラック(モデルデータ240)の、目的地までの最適経路のシミュレーションを行う。この場合、モデルデータ820で示される設備の設置日時により、最適経路が変化する。
【0135】
シミュレーション結果として、XX年xx月より前は、実線の経路850が示される。一方、XX年xx月以降は、破線の経路840が最適経路として示される。なお、このとき、本図に示すように、その理由を警告メッセージ830として表示させてもよい。
【0136】
なお、このとき、さらに、モデルデータ820で示される設備のサイズデータ、その他のモデルデータのサイズデータも登録されてもよい。そして、時系列シミュレーションを、そのサイズデータも加味して行う。
【0137】
この場合のシミュレーション結果は、例えば、モデルデータ820で示される設備を通り抜けられないサイズの大型トラックのモデルデータ240に対しては、上記と同様の結果が得られる。一方、通り抜けられるサイズの小型トラックのモデルデータ240に対しては、常に最短経路として、実線の経路850が示される。
【0138】
なお、シミュレーション対象に、構造物、設備等の非移動体であって、時間的に変化するモデルデータが含まれる場合、デジタル空間300上で任意の時刻の指定を受け付けるよう構成してもよい。この場合、シミュレータ600は、時刻に合致するモデルデータを表示する。
【0139】
<変形例5>
なお、上記実施形態では、点群データ収集装置400は、所定の時間間隔で、収集した点群データを全てシミュレータ600に送信している。しかしながら、これに限定されない。例えば、点群データ収集装置400において、直前に送信した点群データ(デジタル空間300上の点群データ)との差分を算出し、差分のある個所についてのみ、点群データを送信してもよい。これにより、点群データ収集装置400とシミュレータ600との間の送信データを削減することができる。
【0140】
<変形例6>
また、上記実施形態では、モデルデータ生成装置500を設け、作業員210は、モデルデータ生成装置500でモデルデータを生成している。しかしながら、これに限定されない。例えば、作業員210は、シミュレータ600上でモデルデータを生成してもよい。これにより、モデルデータ生成装置500を設ける必要がなくなり、構成が簡略化する。
【0141】
また、モデルデータに応じて、モデルデータ生成装置500での作成と、シミュレータ600での作成とを使い分けてもよい。例えば、点群データからモデルデータを生成する場合は、シミュレータ600で行い、特別なソフトウェアを用いて生成する場合は、モデルデータ生成装置500で行う、等である。これにより、モデルデータ生成装置500から、シミュレータ600への送信データを削減できる。
【0142】
<変形例7>
上記実施形態では、シミュレーションの実施内容を、モデルデータ生成時に設定している。しかし、これに限定されない。例えば、シミュレーション実施時に、ユーザがシミュレータ600で指定するよう構成してもよい。
【0143】
また、複数のシミュレーションを組み合わせて実施してもよい。例えば、シミュレーションとして、干渉チェックを行うとする。干渉チェックの結果、干渉すると判別された場合、当該作業現場100における走行ルート検索を行い、干渉がなく、かつ、最短の距離のルートを選定し出力する最適経路選択のシミュレーションを実施する。一方、干渉チェックで、干渉しないと判別された場合は、そのまま処理を終了する。
【0144】
<変形例8>
また、上記実施形態では、分割点群データの補間方法について、オブジェクトの種類ごとに、予め補間方法を補間方法テーブル634に保持し、オブジェクトの種類を特定することにより、自動的に補間方法を得ている。しかし、これに限定されない。例えば、ユーザがシミュレータ600で設定するよう構成してもよい。
【0145】
この場合、シミュレータ600は、得られた点群データを、表示装置に表示させ、分割点群データ毎に、ユーザからの指定を受け付ける。
【0146】
<変形例9>
上記実施形態では、オブジェクトの種類の判定を、分割点群データの形状や輝度情報を用いて行っている。しかし、これに限定されない。例えば、座標値やRGBの値に基づいてオブジェクトの種類を判定してもよい。
【0147】
<変形例10>
また、3Dセンサ110について、複数の3Dセンサ110を作業現場100に設置してもよい。この場合、各3Dセンサ110で取得した点群データを合成して作業現場100の点群データを生成してもよい。また、3Dセンサ110に限らず、他のセンサを用いてもよいし、他のセンサと3Dセンサ110とを組み合わせて用いてもよい。
【0148】
他のセンサとして、例えば、ハイパースペクトルカメラ等を用いることができる。例えば、ハイパースペクトルカメラで取得したスペクトルデータと3Dセンサ110で取得した点群データとを合成して用いる。これにより、3D情報以上の情報を得ることができる。例えば、スペクトルデータから道路のぬかるみを検出して、ぬかるみを回避する搬入経路を選択するように活用してもよい。
【0149】
<変形例11>
シミュレーションの実施内容が干渉チェックである場合、表示画像生成部650が生成する表示画像について、干渉している箇所、領域を明示的に示すよう構成してもよい。例えば、干渉している箇所を色付けして強調する、干渉している箇所の寸法を表示する等である。もちろん、強調表示はこれに限定されず、他の方法で強調表示してもよい。
【0150】
<変形例12>
また、上記実施形態では、点群データとモデルデータとの干渉チェック等のシミュレーションを行っている。しかし、シミュレーション対象は、これらに限定されない。
【0151】
例えば、点群データに含まれる物体(オブジェクト)に対して干渉チェックを行ってもよい。例えば、点群データ分割部631が、分割点群データから特定したオブジェクトが、作業現場100を走行中の自動車である場合等である。現在の走行ルートを元に、モデルデータと同様に干渉チェックのシミュレーションを行ってもよい。
【0152】
また、モデルデータ同士の干渉チェックを行ってもよい。この場合、モデルデータの属性として設定された位置情報(初期位置、目標位置)、速度情報(移動速度)、挙動等に基づき、シミュレーションを行う。
【0153】
<変形例13>
なお、上記実施形態では、シミュレーションの実施内容について、作業現場100への設備等の搬入、搬出時を例にあげて説明したが、これに限定されない。例えば、建設関連の作業現場に限定されず、ガス、電力業界の設備の敷設、保守管理、運送業における大型荷物の運送、長尺ものの運送時等のシミュレーションに適用してもよい。
【0154】
また、上記実施形態では、モデルデータは、建設機械等、作業現場100に存在し得るものを例にあげて説明したが、これに限定されない。例えば、ドローン等の移動体ロボットをモデルデータの対象としてもよい。
【0155】
さらに、シミュレーションの内容も限定されない。例えば、デジタル空間上に表示された作業現場の点群データやモデルデータに対して、どの順番で搬出すれば干渉を起こさずに全ての設備を搬出できるかをシミュレーションしてもよい。
【0156】
なお、上述の説明で用いたフローチャートでは、複数の工程(処理)が順番に記載されているが、各工程の実行順序は、その記載の順番に制限されない。例えば、各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。
【0157】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【0158】
最後に、本発明の好ましい形態を要約する。
(付記1)
3次元センサで点群データを収集する点群データ収集装置と、
モデルデータを生成するモデルデータ生成装置と、
シミュレータと、を備え、
前記シミュレータは、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレーションシステム。
(付記2)
付記1記載のシミュレーションシステムにおいて、
前記補間部は、取得した前記点群データの各領域について、前記オブジェクトを特定し、予め前記オブジェクトごとに定めた前記補間方法により、前記点群データの欠損を補間することが望ましい。
(付記3)
付記1または2に記載のシミュレーションシステムにおいて、
前記モデルデータは、前記点群データから生成されることが望ましい。
(付記4)
付記1から3のいずれかに記載のシミュレーションシステムにおいて、
前記モデルデータには、当該モデルデータの種類毎に予め定めた項目の属性と前記シミュレーションの実施内容が設定され、
前記シミュレーション部は、前記属性および前記実施内容に従って、前記シミュレーションを行うことが望ましい。
(付記5)
付記1から4のいずれかに記載のシミュレーションシステムにおいて、
前記点群データ収集装置は、前記3次元センサで前記点群データを収集する毎に、前記シミュレータに送信し、
前記補間部は、前記シミュレーション部が前記シミュレーションを行う際、最新の前記点群データに対し、前記補間処理を行うことが望ましい。
(付記6)
3次元センサで収集した点群データを取得する点群データ取得部と、
モデルデータを取得するモデルデータ取得部と、
前記点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間する補間処理を行い、補間後点群データを生成する補間部と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション部と、を備えるシミュレータ。
(付記7)
シミュレータが、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成し、
取得したモデルデータと前記補間後点群データとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行う、シミュレーション方法。
(付記8)
コンピュータを、
モデルデータを取得するモデルデータ取得手段と、
3次元センサで取得した点群データの欠損を、オブジェクトに応じて予め定めた補間方法で補間し、補間後点群データを生成する補間処理を行う点群データ補間手段と、
前記補間後点群データと前記モデルデータとを合成して合成データを生成し、当該合成データを用いて、予め定めたシミュレーションを行うシミュレーション手段として機能させるためのプログラム。
なお、付記6-8の各形態は、付記1の形態と同様に、付記2-5の形態に展開することが可能である。
【0159】
なお、上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【0160】
100:作業現場、110:3Dセンサ、120:堆積物、130:建造物、140:樹木、180:建設機械、
200:遠隔地、210:作業員、211:作業員、220:モデルデータ、221:ボクセルグリッド、230:モデルデータ、240:モデルデータ、280:モデルデータ、
300:デジタル空間、301:遮蔽領域、302:遮蔽領域、310:位置、320:分割点群データ、321:点群データ、323:領域、324:領域、330:分割点群データ、331:点群データ、332:領域、332a:背面、332b:下面、334:領域、350:分割点群データ、351:点群データ、352:領域、361:シミュレーション結果、362:シミュレーション結果、
400:点群データ収集装置、410:点群データ収集部、420:点群データ送信部、
500:モデルデータ生成装置、510:モデルデータ生成部、520:モデルデータ送信部、530:モデルデータテーブル、531:モデルデータNo.、532:種類、533:属性、534:実施内容、
600:シミュレータ、601:シミュレーションシステム、610:点群データ取得部、620:モデルデータ取得部、630:補間部、631:点群データ分割部、632:補間方法設定部、633:補間処理部、634:補間方法テーブル、634a:オブジェクトの種類、634b:補間方法、640:シミュレーション部、641:実施項目取得部、642:実施部、650:表示画像生成部、691:CPU、692:主記憶装置、693:補助記憶装置、694:通信I/F、695:拡張I/F、
820:モデルデータ、830:警告メッセージ、840:経路、850:経路