<第1実施例>
図1を参照して、本実施例のシミュレーションシステム100は、オフィスまたは住宅などの3次元空間の電波環境を可視化するために用いられる。3次元空間内には、床、天井、壁、窓、OA機器、棚、ロッカー、机および椅子などの複数の物が設けられている。ここで、「物」には、物および物の構成部材が含まれ、たとえば物が窓である場合、その窓にはガラスおよび窓枠などの構成部材が含まれる。
また、3次元空間には、上述した複数の物と共に、無線LANなどの無線通信で利用される基地局が設けられている。また、複数の物の形状および3次元空間内の電波強度などは、後述するロボットを利用して計測され、その計測結果はシミュレーションシステム100の中央制御装置10に記憶される。なお、無線LANで利用される基地局は、アクセスポイントと言われることもある。
シミュレーションシステム100には、中央制御装置10、集音ロボット12、第1計測ロボット14および第2計測ロボット16が含まれる。集音ロボット12、第1計測ロボット14および第2計測ロボット16は、シミュレーションシステム100の管理者などによって指示された動作命令に従って自律行動を行う。ただし、これらのロボットは、必要に応じて管理者などによって遠隔操作されることもある。
集音ロボット12および第1計測ロボット14は中央制御装置10と無線通信を行い、集音ロボット12および第1計測ロボット14は計測結果を無線通信によって中央制御装置10に送信する。また、第2計測ロボット16は必要に応じて中央制御装置10と有線接続され、計測結果は有線通信によって中央制御装置10に送信される。
本実施例では、集音ロボット12を利用して物から伝わる音が集音され、第1計測ロボット14を利用して物の形状および物の位置が計測され、第2計測ロボット16を利用して3次元空間の電波強度が計測される。また、詳細な説明は後述するが、集音ロボット12を利用して集音された計測音を利用して、3次元空間内に設けられた複数の物の材質が推定される。
なお、本実施例では、中央制御装置10が電波環境をシミュレーションするため、中央制御装置10は「シミュレーション装置」と言われることもある。また、集音ロボットは移動可能な集音装置と言われることもあり、第1計測ロボット14は移動可能な3次元形状取得装置と言われることもあり、第2計測ロボット16は移動可能な電波強度計測装置と言われることもある。
また、3次元空間に設けられる「物」には、棚、ロッカー、机および椅子などの家具だけでなく、観葉植物、階段などの設備および絵画などの芸術品なども含まれる。
図2は集音ロボット12の外観を示す図解図である。図2を参照して、集音ロボット12は、約0.2メートルの高さに取り付けられた2次元LRF30、2次元LRF30の近くに設けられた制御装置32、約1.0メートルの高さに90度ロールして取り付けられた3次元LRF34および約1.2メートルの高さに取り付けられたマイク36などを有する。
2次元LRF30は、自己位置の推定、物をハンマーで打撃する作業者のトラッキングおよび打撃される物の位置を認識するために用いられる。2次元LRF30はレーザを照射し、物体に反射して戻ってくるまでの時間から当該物体までの距離を計測するものである。たとえば、トランスミッタから照射したレーザを回転ミラーで反射させて、前方を扇状に一定角度(たとえば、0.5度)ずつスキャンする。ここで、2次元LRF30としては、たとえば北陽電気製のレーザーレンジファインダ(型式 UTM-30LX)を用いることができる。このレーザーレンジファインダを用いた場合には、距離8メートルを±15ミリメートル程度の誤差で計測可能である。なお、2次元LRF30は、集音ロボット12の後方(移動方向とは逆方向)に設けられているが、他の実施例では後方にも設けられていてもよい。また、他の実施例では、2次元LRF30に代えて、赤外線距離センサ、超音波距離センサまたはミリ波レーダなどを用いることもできる。
制御装置32は、集音ロボット12の移動についての制御のために用いられる。制御装置32としては、たとえばラップトップ型のパーソナルコンピュータが用いられる。
3次元LRF34は、物を打撃するハンマーを検出するために用いられる。3次元LRF34は、2次元LRFおよびモータなどを含む。たとえば、2次元LRFによって平面スキャンが終了する毎に、所定角度ずつスキャン平面を変化させることで、3次元LRF34は3次元3次元空間をスキャンする。ここで、3次元LRF34としては、たとえばVelodyne社製のレーザーライダーユニット(型式 HDL-32e)を用いることが出来る。なお、他の実施例では、3次元LRF74に代えて、Microsoft(登録商標)社製のKinect(登録商標)、ASUS(登録商標)社製のXtion、パナソニック(登録商標)社製のD-IMager(登録商標)などの距離画像センサまたは3次元センサを用いることもできる。
マイク36は、物をハンマーで打撃したときに、物から伝わる音、つまり打音を計測音として集音するために用いられる。また、本実施例で用いるマイク36は無指向性のものであるが、他の実施例では、マイク36が指向性を有していてもよい。
図3は集音ロボット12の構成を示すブロック図である。図3を参照して、制御装置32による移動ロボットプラットフォームとしては、たとえばT-frogプロジェクトi-Cart mini1を用い、オープンソース移動ロボット走行制御ソフトウェアYP-Spur2で制御することが可能である。また、ミドルウェアとしてROS3を使用し、自己位置推定にROS Navigationstackに含まれるamclを用いることが出来る。自己位置推定のための地図としては、たとえばROS gmappingパッケージを用いて作成したグリッド間隔50ミリメートルの2次元占有格子地図を用いることが出来る。なお、これらの移動ロボットプラットフォームについては、以下に開示がある。
T-forgプロジェクト:http://t-frog.com/
YP-Spur:https://openspur.org/
ROS:http://www.ros.org/
また、集音ロボット12の自律移動の制御には、周囲の人間に不快感を与えないようにするための移動制御技術が利用されている。この移動制御技術は、出願人が先に出願し既に出願公開された特開2015-45974号公報に開示されている技術を応用したものである。なお、この移動制御技術は、本願発明の本質的な内容ではないため、詳細な説明は省略する。
このような制御装置32はプロセッサ40などを含む。プロセッサ40は、マイクロコンピュータ或いはCPUとも呼ばれる。また、プロセッサ40には、バス42を介して、メモリ44、センサ入出力ボード46、音声入出力ボード48および無線通信ボード50などが接続されている。また、プロセッサ40には移動機構52が接続され、センサ入出力ボード46には2次元LRF30、3次元LRF34および路程測定センサ54が接続され、音声入出力ボード48にはマイク36が接続され、無線通信ボード50にはアンテナ56が接続される。
プロセッサ40は、集音ロボット12の全体制御を司る。特に、プロセッサ40は、集音ロボット12の動作を制御し、作業者に追従して移動するための処理およびハンマーによって打撃された位置を推定する処理などを実行する。
メモリ44はROM、RAMおよびHDDを含む。HDDおよびROMには、集音ロボット12の動作を制御するための制御プログラムおよび3次元空間を移動するためのマップデータなどが予め記憶される。また、RAMは、プロセッサ40のワークメモリまたはバッファメモリとして用いられる。
また、プロセッサ40は、メモリ44に記憶されたプログラムに従って、2次元LRF30からの信号に基づいて作業者の位置を追従するための協調作業者トラッキング部、路程測定センサ54および2次元LRF30からの信号に基づいてマップデータを参照することで現在の自身の位置を推定するための自己位置推定処理部、2次元LRF30からの信号に基づいて打撃される物の位置を検知するための打撃対象認識部、集音ロボット12が作業者と協調動作を行うために必要な位置関係を維持するような位置制御を計画する協調動作計画部、協調動作計画部の計画に従って移動機構52を駆動して集音ロボット12の移動を制御する移動制御部、3次元LRF34からの信号に基づいてハンマーの位置を検出するためのハンマー位置検出部、マイク36からの信号に基づいて打音を検出する打音検出部、打音の検出されたタイミングでハンマー位置検出部からの信号に基づいて打撃位置を推定し、打音の音響情報と計測に関する位置(打音位置および計測位置)とを関連付けて計測音データとしてメモリ44に記憶するための打撃位置推定部として機能する。
センサ入出力ボード46は、たとえばDSPで構成され、センサからの信号を取り込んでプロセッサ40に与える。たとえば、センサ入出力ボード46には、周囲の物体、作業者および物などまでの距離を計測した結果が2次元LRF30から入力され、物を打撃するハンマーの位置を計測した結果が3次元LRF74から入力され、後述する移動機構52が有する車輪の回転パルスが路程測定センサ54から入力される。センサ入出力ボード46は、これらの入力に対して所定の処理を施してからプロセッサ40に出力する。
音声入出力ボード48もまたDSPで構成され、マイク36によって集音された打音に対して所定の処理を施し、集音された打音に対応する音声データをプロセッサ40に入力する。
無線通信ボード50もまたDSPで構成され、プロセッサ40から与えられた送信データを、アンテナ56を介して中央制御装置10などの外部コンピュータに送信する。また、無線通信ボード50は、アンテナ56を介してデータを受信し、受信したデータをプロセッサ40に与える。たとえば、送信データとしては、集音ロボット12の自己位置および計測音データなどである。また、受信データとしては、集音ロボット12を遠隔操作する際のコマンドなどである。
移動機構52としては、たとえば差動で動作できる2つの車輪による駆動機構が用いられている。移動機構52はプロセッサ40からの指示に従って動作し、集音ロボット12を移動させる。上述した路程測定センサ54は、移動機構52に用いられている車輪の回転パルスを検出可能なように、移動機構52に設けられている。ただし、移動機構52としては、このような構成に限定されるものではなく、自律的に3次元空間内を移動可能であれば、他の構成であってもよい。
このような集音ロボット12は、自己位置推定のための地図を参照しながら作業者を追従して、物が打撃されたときの打音に対応する計測音データを記憶する。そして、記憶した打撃音データは、中央制御装置10に送信される。ただし、他の実施例では、集音ロボット12は、地図を参照せずに作業者を追従して打音を自動的に集音してもよい。また、その他の実施例では、管理者などが集音ロボット12を遠隔操作し、管理者などの操作に応じて打音が集音されてもよく、さらには、集音ロボット12がハンマーをさらに備え、物に対して自律的な打撃を加え、打音を集音してもよい。
また、第1計測ロボット14および第2計測ロボット16においても、基本的な構成は集音ロボット12と略同じである。そのため、第1計測ロボット14および第2計測ロボット16の外観および構成を説明する際には、集音ロボット12と重複する点については、簡単のため詳細な説明を省略する。
図4は第1計測ロボット14の外観を示す図解図である。図4を参照して、第1計測ロボット14は、約0.1メートルの高さに取り付けられた2次元LRF70、2次元LRF70の近くに設けられた制御装置72および約1.0メートルの高さに取り付けられた3次元LRF74などを有する。
3次元LRF74は、集音ロボット12のものと略同じものであるが、第1計測ロボット14では3次元空間に設けられた物の形状および物の位置を取得するために用いられる。
なお、制御装置72は、集音ロボット12の制御装置32と略同じ構成のコンピュータが筐体の内部に収められている。また、2次元LRF70は、集音ロボット12の2次元LRF30と略同じである。
図5は第1計測ロボット14の構成を示すブロック図である。図5を参照して、制御装置72による移動ロボットプラットフォームは、制御装置32と略同じである。また、制御装置72はマイクロコンピュータ或いはCPUとも呼ばれるプロセッサ80を含む。プロセッサ80には、バス82を介して、メモリ84、センサ入出力ボード86および無線通信ボード88などが接続されている。また、プロセッサ80には移動機構90が接続され、センサ入出力ボード86には2次元LRF70、3次元LRF74および路程測定センサ92が接続され、無線通信ボード88にはアンテナ94が接続される。
プロセッサ80は、第1計測ロボット14の全体制御を司る。メモリ84はROM、RAMおよびHDDを含む。HDDおよびROMには、第1計測ロボット14の動作を制御するための制御プログラムが予め記憶される。たとえば、制御プログラムには、各センサの出力(センサ情報)を検知するための検知プログラムや、中央制御装置10などの外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが含まれる。また、RAMは、プロセッサ80のワークメモリまたはバッファメモリとして用いられる。
センサ入出力ボード86は、集音ロボット12のセンサ入出力ボード46と略同じである。そして、センサ入出力ボード86には、集音ロボット12のものと略同じ2次元LRF70および路程測定センサ92からの入力に加えて、3次元空間の物および3次元空間の位置を取得した結果が3次元LRF74から入力される。また、プロセッサ80は、2次元LRF70および路程測定センサ92の出力を利用して自己位置を推定する。
集音ロボット12のものと略同じ無線通信ボード88は、プロセッサ80から与えられた送信データを、アンテナ94を介して中央制御装置10などの外部コンピュータに送信する。また、無線通信ボード88は、アンテナ94を介してデータを受信し、受信したデータをプロセッサ80に与える。たとえば、送信データとしては、第1計測ロボット14の自己位置および周囲の3次元形状のデータおよびその3次元形状を取得した取得位置などである。また、受信データとしては、集音ロボット12を遠隔操作する際のコマンドなどである。
なお、移動機構90は、集音ロボット12の移動機構52と略同じものが用いられる。
このような第1計測ロボット14は、3次元空間内を自律移動し、自己位置推定のための地図を参照しながら複数の物の3次元形状を自動的に取得する。そして、第1計測ロボット14は3次元形状のデータおよび取得位置を中央制御装置10に送信する。ただし、他の実施例では、管理者などが第1計測ロボット14を遠隔操作し、管理者などの操作に応じて複数の物の3次元形状が取得されてもよい。
図6は第2計測ロボット16の外観を示す図解図である。図6を参照して、第2計測ロボット16は、約0.2メートルの高さに取り付けられた2次元LRF110、2次元LRF110の近くに設けられた制御装置112、約1.1メートルの高さに取り付けられた3次元LRF114および約1.0メートルの高さに取り付けられた計測用アンテナ116などを有する。
3次元LRF114は、第1計測ロボット14が備える3次元LRF74と略同じである。ただし、3次元LRF114は、3次元LRF74に対して水平状態から約45度傾けられている。これにより、第1計測ロボット14の3次元LRF74によって取得できなかった物の3次元形状が、第2計測ロボット16の3次元LRF114によって計測することが可能になる。したがって、管理者は、第1計測ロボット14の計測によって3次元形状を取得できない物がある場合、第2計測ロボット16を用いて3次元形状を取得することが出来る。
計測用アンテナ116は、電波強度を計測するために用いられる。また、計測用アンテナ116は指向性を有しており、所定の方向(範囲)からの電波を受信し、所定方向へ電波を送信することが可能である。ただし、他の実施例では、計測用アンテナ116は無指向性のものであってもよい。
なお、2次元LRF110および制御装置112は、集音ロボット12の2次元LRF30および制御装置32と略同じものである。
図7は第2計測ロボット16の構成を示すブロック図である。図7を参照して、制御装置112による移動ロボットプラットフォームは、他の2台のロボットのものと略同じである。また、制御装置112も、他のロボットの制御装置と同様、マイクロコンピュータ或いはCPUとも呼ばれるプロセッサ120などを含む。プロセッサ120には、バス122を介して、メモリ124、センサ入出力ボード126、無線通信ボード128およびコントロールポート130が接続される。また、プロセッサ120には移動機構132が接続され、センサ入出力ボード126には2次元LRF110、3次元LRF114および路程測定センサ134が接続され、無線通信ボード128には計測用アンテナ116が接続される。
プロセッサ120は、第2計測ロボット16の全体制御を司る。メモリ124はROM、RAMおよびHDDを含む。HDDおよびROMには、第2計測ロボット16の動作を制御するための制御プログラムが予め記憶される。たとえば、各センサの出力(センサ情報)を検知するための検知プログラムや、中央制御装置10などの外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが記憶される。また、RAMは、プロセッサ120のワークメモリまたはバッファメモリとして用いられる。
センサ入出力ボード126は、第1計測ロボット14のものと略同じであり、同じセンサが接続されている。また、プロセッサ120は、集音ロボット12と同様、2次元LRF110および路程測定センサ134の出力を利用して自己位置を推定する。
無線通信ボード128は、集音ロボット12のものと略同じである。無線通信ボード128は、計測用アンテナ116を介して、後述する送信ノードから送信された計測用電波を受信する。プロセッサ120は、計測用電波の電波強度と受信位置とを対応付けて、実測値データ352としてメモリ124に記憶する。また、無線通信ボード128は、計測用アンテナ116を介して、計測用電波を送信する場合もある。
コントロールポート130には、管理者などが第2計測ロボット16を直接操作する際に、操作用の端末が接続される。操作用の端末は、たとえばラップトップコンピュータなどであり、有線ケーブルを利用して第2計測ロボット16と接続される。たとえば、管理者は、後述する図16および図17(A),(B)に示すように、2台の第2計測ロボット16を利用して電波強度を計測する際に、第2計測ロボット16を直接操作する。
また、第2計測ロボット16は、コントロールポート130を利用して中央制御装置10と有線接続することも可能である。そして、第2計測ロボット16は、中央制御装置10と有線接続されたときに、電波強度の実測値データを中央制御装置10に送信する。ただし、第2計測ロボット16は、上述した無線通信ボード128および計測用アンテナ116を利用して中央制御装置10と無線通信を行って、実測値データを中央制御装置10に送信してもよい。
なお、移動機構132は、他のロボットの移動機構と略同じものが用いられる。
このような第2計測ロボット16は、自己位置推定のための地図を参照しながら電波強度を自動的に計測し、計測結果を上述した手法で中央制御装置10に送信する。そして、第2計測ロボット16は自律移動してデータを収集するため、管理者の負担が軽減される。
また、第2計測ロボット16による3次元形状の取得については、第1計測ロボット14による3次元形状の取得と略同じである。ただし、取得された3次元形状と取得位置とは、実測値データと同様の手段で中央制御装置10に送信される。
図8は中央制御装置10の構成を示すブロック図である。図8を参照して、中央制御装置10は、マイクロコンピュータ或いはCPUとも呼ばれるプロセッサ150などを含む。プロセッサ150には、バス152を介して、メモリ154、出力装置156、入力装置158、材質パラメータデータベース(DB)160および無線通信ボード162などが接続される。また、無線通信ボード162にはアンテナ164が接続される。
プロセッサ150は、中央制御装置10の全体制御を司る。メモリ154は記憶部とも呼ばれ、RAMおよびHDDなどを含む。メモリ154のHDDには中央制御装置10の動作を制御するためのプログラムなどが予め記憶される。また、メモリ154のRAMは、プロセッサ150のワークメモリまたはバッファメモリとして用いられる。
出力装置156は、たとえばディスプレイなどであり、入力装置158は、たとえばマウスやキーボードである。たとえば、管理者は、中央制御装置10の状態を、出力装置156および入力装置158を利用して、可視化された電波環境を確認することが出来る。また、管理者は、集音ロボット12および第1計測ロボット14を遠隔操作する際にも、出力装置156および入力装置158を利用する。
材質パラメータDB160は、物の材質に対する材質パラメータの初期値を設定するためのデータベースである。たとえば、1つの材質に対して、誘電率εおよび透磁率μなどが対応付けられている。そして、後述する材質パラメータ地図を作成する際に、材質パラメータDB160が参照される。
無線通信ボード162は、プロセッサ150から与えられた送信データを、アンテナ164を介して集音ロボット12および第1計測ロボット14などに送信する。また、無線通信ボード162は、アンテナ164を介してデータを受信してプロセッサ80に与える。たとえば、送信データとしては、集音ロボット12および第1計測ロボット14に対する動作命令(コマンド)などである。また、受信データとしては、集音ロボット12の自己位置、第1計測ロボット14の自己位置、集音した音データおよび周囲の3次元形状などである。
ここで、本実施例では、3次元空間の電波環境として、電波伝搬の状態を可視化する。以下、電波伝搬の状態を可視化する手順について説明する。
まず、管理者は、第1計測ロボット14に対して3次元空間内を自律移動し、3次元空間内に設けられた複数の物の3次元形状をそれぞれ取得するように動作命令を出す。中央制御装置10は、第1計測ロボット14から複数の物の3次元形状および取得位置を受信すると、複数の物の3次元形状と取得位置とを対応付けた3次元空間情報データを作成し、自身のメモリ154に記憶する。また、第1計測ロボット14による3次元空間に設けられた複数の物の3次元形状の取得が終わり、たとえば3次元環境地図を作成する操作がされると、中央制御装置10は3次元空間情報データに基づいて3次元空間の3次元環境を示す3次元モデルを作成する。3次元モデルが作成されると、その3次元モデルから床、天井、壁および家具などの複数の物の平面がそれぞれ検出される。そして、検出した複数の物の平面のそれぞれに対して、名称および実空間と対応する3次元座標を対応付けることで、3次元環境地図が作成される。したがって、3次元環境地図データは、複数の物の3次元形状を示す平面のデータを含み、3次元空間に設けられた複数の物の3次元形状および当該複数の物の位置を示す。
なお、3次元空間の3次元形状の計測結果から3次元モデルを作成する技術、その3次元モデルから平面を検出する技術については、広く一般的に知られているため、ここでの詳細な説明は省略する。
図9(A)は3次元空間内の或る場所における3次元環境を示す。図9(A)に示す3次元環境から分かるように、3次元空間の床にはパーテーションおよびロッカーなどが設けられおり、3次元空間の壁の近くには箱が配置されている。そして、3次元空間の天井には照明が設けられている。このような3次元空間において第1計測ロボット14によって3次元形状が取得され、作成した3次元モデルから平面が検出されると、図9(B)に示すような3次元環境地図となる。つまり、図9(B)の3次元環境地図を参照して、床と対応する平面にはパーテーションおよびロッカーなどに対応する平面が配置される。また、壁と対応する平面には箱と対応する平面が配置される。そして、天井と対応する平面には、照明と対応する平面が含まれる。
なお、作成された3次元環境地図において、各平面には検出された順番を示す番号を用いた名称が割り振られる。
このように、3次元空間に設けられている複数の物を考慮して3次元環境地図を作成することが出来る。そのため、電波環境のシミュレーションには3次元空間内に設けられた家具などの複数の物が考慮されるため、シミュレーションの精度が向上する。
また、このような3次元環境地図を、仮想空間上で天井側からの視点で見た状態で、床面から任意の高さで水平にカットすると、図10に示すような平面地図を得ることが出来る。そして、本実施例では、図10に示すような地図を、各ロボットの自己位置推定用地図として記憶する。このような自己位置推定用地図が作成される前は、各ロボットは3次元空間の平面図データに基づいて3次元空間内を自律移動し、自己位置推定用地図が作成された後は、各ロボットは自己位置推定用地図に基づいて3次元空間内を自律移動する。
次に、集音ロボット12によって集音された計測音を利用して、3次元空間内に設けられた複数の物の材質をそれぞれ推定する。まず、作業者はハンマーで複数の物のそれぞれを打撃し、そのときの打音を集音ロボット12に集音させる。このとき、集音ロボット12では、集音した打音のそれぞれに対応する計測音データを作成し、中央制御装置10に送信する。中央制御装置10は、計測音データを受信すると、計測音データを記憶すると共に、計測音データの計測位置、打撃位置および計測音データのデータ名を対応付けて、計測音テーブルに記憶する。
図11を参照して、計測音テーブルには、計測位置、打撃位置および計測音の列を含む。また、計測位置の欄には集音ロボット12が打音を集音した位置(Xs,Ys,Zs)が記憶され、打撃位置の欄には複数の物がそれぞれ打撃された位置(Xa,Ya,Za)が記憶され、計測音の欄にはそれぞれの計測音データのデータ名(AS)が記憶される。
作業者による物の打撃が終了し、たとえば管理者によって後述する材質パラメータテーブルを作成する操作がされると、中央制御装置10は、集音ロボット12から送信された計測音データを読み出し、打音のスペクトル求め、スペクトル包絡を示すメル周波数ケプストラム係数(MFCC:Mel Frequency Cepstral Coefficient)を算出する。
本実施例では、算出したMFCCに材質を対応付けた教師データを作成し、SVM(Support vector machine)またはGMM(Gaussian Mixture Model)などの機械学習手法によって教師データを学習することで、材質を推定するための判別モデルを予め作成しておく。そして、この判別モデルに対して、材質が対応付けられていないMFCCを入力することで、材質の推定結果を得ることが出来る。
なお、集音ロボット12を利用して、複数の物をそれぞれ打撃したときの計測音データを記憶(収集)する具体的な手法については、出願人が先に出願した特願2014-177018に記載されているため、ここでの詳細な説明は省略する。
このように、作業者は、集音ロボット12と協調して、3次元空間内に設けられた複数の物をそれぞれ打撃するだけで、複数の物の材質を推定することが出来る。そのため、後述する材質パラメータ地図を作成する際の手間が軽減される。
このようにして、3次元環境地図を作成し、複数の物の材質をそれぞれ推定すると、これらを利用して材質パラメータ地図を作成する。まず、材質パラメータ地図データを作成するために、材質パラメータテーブルが作成される。
図12を参照して、材質パラメータテーブルには、平面名称、位置、材質および材質パラメータの列が含まれる。平面名称および位置の欄には、3次元環境地図における各平面の名称と位置とが記憶される。また、位置には、物の平面を示す座標、たとえば重心座標が記憶される。材質の欄には、推定された材質が記憶される。このとき、計測音データの打撃位置および平面の位置に基づいて、3次元環境地図における物の平面と、推定された材質とが関連付けられる。そして、材質の欄に記憶された材質に基づいて、材質パラメータDB160から材質パラメータが読み出され、材質パラメータの欄に記憶される。つまり、材質パラメータテーブルを利用することで、複数の物のそれぞれを表す平面に対して、材質を対応付けることができ、材質パラメータを設定することができる。
このようにして、材質パラメータテーブルの各欄にデータが記憶されると、その材質パラメータテーブルと3次元環境地図とを含む、材質パラメータ地図データが作成される。これにより、たとえば材質パラメータ地図が表示されている状態では、3次元環境地図を参照しながら任意の各平面の材質パラメータを読み出すことが出来る。そして、この材質パラメータ地図に基づいて、3次元空間の電波環境を容易にシミュレーションすることが可能となる。
本実施例では、電波伝搬のシミュレーションには3次元レイトレース法が用いられる。この3次元レイトレース法によるソフトウェアの一例としては、株式会社 構造計画研究所(登録商標)が提供するRapLabと言うソフトウェアが利用可能である。
次に、第2計測ロボット16を利用して、3次元空間の電波環境、つまり電波強度の実測値を計測する。図13を参照して、3次元空間の所定の位置に計測用電波を送信する送信ノードを配置し、3次元空間内に複数の計測点を決め、それぞれの計測点で計測用電波の電波強度が計測される。そして、電波強度と受信位置とが対応付けられて実測値データとされる。
このようにして得られた電波強度の実測値は、シミュレーション結果に基づく電波強度の推定値と比較される。まず、シミュレーション結果に基づく電波強度の推定値は、電波強度を実測したときの位置、つまり受信点の位置(xi,yi,zi)に対応して数1示す数式を用いて算出される。
次に、電波強度の推定値と実測値とを比較するために、電波強度の推定値と実測値との差が数2に示す数式を用いて算出される。
上述の数2の数式から分かるように、同一の受信点における電波強度の推定値および実測値をそれぞれ比較することで、推定値と実測値との差が算出される。
そして、電波強度の推定値と実測値との差が許容範囲に収まるまで、材質パラメータを更新してシミュレーションを繰り返す。このように、電波強度の推定値と実測値とを利用して材質パラメータを更新することで、シミュレーションの精度をより高めることが出来る。
なお、材質パラメータを更新、つまりパラメータを最適化する手法としては、最急降下法、逐次2次計画法などの最適化アルゴリズムが用いられる。この技術については、広く一般的に知られているため、ここでの詳細な説明は省略する。
また、電波強度の推定値と実測値との差が許容範囲に収まると、そのときのシミュレーション結果に基づいて、3次元空間の電波環境を示す電波環境情報が作成される。すなわち、本実施例では、電波強度の推定値と実測値とが一致または略一致するまで、材質パラメータが何度も更新されるため、シミュレーションの精度を高く保つことが出来る。
このようにして、電波環境情報が作成されると、電波環境情報が可視化される。図14を参照して、たとえば3次元環境地図および電波環境情報に基づいて電波環境地図が作成され、その電波環境地図が中央制御装置10の出力装置156によって出力(表示)される。たとえば、電波環境地図は、3次元環境地図の表示に電波環境情報を重ね合わせたものであり、3次元空間内における信号強度分布を示す。このようにして3次元空間の電波環境が可視化されるため、管理者は3次元空間の電波環境を適切に把握することが出来る。また、可視化された電波環境に基づいて、物および基地局の適切な配置などを検討することが出来る。
さらに、たとえば管理者は、電波環境地図において、強い電波強度を示すにも関わらずアクセスポイントが設置されていない場所を、無許可のアクセスポイントが設置されている場所として発見することが出来る。
なお、電波環境情報は他の手法を用いて可視化されてもよい。たとえば、他の実施例では、3次元環境を撮影しているリアルタイム画像に対して、電波環境情報を重ね合わせたものが表示されてもよい。また、その他の実施例では、自己位置推定用地図または平面図などの2次元地図に対して電波環境情報を重ね合わせたものが表示されてもよい。また、さらにその他の実施例では、ヘッドマウントディスプレイ(HMD: Head Mounted Display)を利用して、電波環境情報が表示されてもよい。また、さらにその他の実施例では、プロジェクションマッピングを利用して、実空間に対して電波環境情報に基づく画像が描画されてもよい。
また、他の実施例では、電波環境地図は、3次元環境地図の表示に電波環境情報を重ね合わせたものであってもよい。
また、その他の実施例では、中央制御装置10の出力装置156にプリンタが含まれている場合、自己位置推定用地図または平面図などの2次元地図に対して電波環境情報を重ね合わせた画像がプリンタから出力されてもよい。
また、さらにその他の実施例では、第1計測ロボット14によって3次元形状を取得する際には、複数の第1計測ロボット14を利用して、3次元形状を効率よく取得してもよい。たとえば、図15を参照して、2台の第1計測ロボット14を利用する際には、面積が等しくなるように領域を分割し、それぞれの領域の中で第1計測ロボット14が3次元形状を取得してもよい。また、トータルでかかる時間が最短となるように複数の第1計測ロボット14の最適な経路が計測されてもよい。さらに、Multi−agent TSP解法などに基づく最適分割された領域を複数の第1計測ロボット14によって並列的に動作させてもよい。そして、上述した手法は、第2計測ロボット16によって電波強度を実測する際にも利用されてもよい。
また、本実施例では、たとえばシミュレーションを繰り返しても電波強度の推定値と実測値との差が許容範囲に収まらない場合、材質パラメータを実測によって求めることが出来る。
図16を参照して、計測用電波を送信する第2計測ロボット16aおよび計測用電波を受信する第2計測ロボット16bを用意し、管理者はそれぞれに操作端末を接続して直接操作する。この状態で、たとえば図13に示す送信ノードから送信される計測用電波が届きにくい場所で、第2計測ロボット16aから計測用電波を送信させ、第2計測ロボット16bによって様々な位置から計測用電波を受信する。これにより、計測用電波が届きにくい場所に設けられた物の材質パラメータ、つまり誘電率および透磁率などを求めることが出来る。
また、図17(A),(B)に示すように、特定の物の材質パラメータを上述した2台の第2計測ロボット16a,16bによって計測してもよい。たとえば、管理者は、計測対象の中心を指定すると、中央制御装置10が自己位置推定用地図を参照し、計測対象の両面に各ロボットが移動可能な場所を計算する。そして、中央制御装置10は各ロボットに対して計算した位置に移動させる動作命令を発行し、計測対象の一方から計測用電波を送信し、他方で計測用電波を受信する。これにより、計測対象の材質パラメータを求めることが出来る。
なお、計測用アンテナ116は指向性を有しているため、計測対象に対して計測用電波を送信し、このように送信された計測用電波を受信することが出来る。
また、他の実施例では、バッファに記憶された材質パラメータテーブルが、データとしてメモリ154に記憶されてもよい。そして、他の実施例では、材質パラメータ地図に代えて、3次元環境地図データおよび材質パラメータテーブルに基づいて、電波環境がシミュレーションされてもよい。また、上述の実施例では、中央制御装置10は材質パラメータを設定するため、中央制御装置10は「材質パラメータ設定装置」と言われることもある。
上述では本実施例の特徴を概説した。以下では、図18に示す中央制御装置10のメモリ154のメモリマップおよび図19−図21に示すフロー図を用いて本実施例について詳細に説明する。
図18は中央制御装置10のメモリ154のメモリマップの一例を示す図解図である。図18に示すように、メモリ154はプログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、中央制御装置10を動作させるためのプログラムとして、集音ロボット12および第1計測ロボット14の動作を管理するためのロボット制御プログラム310、集音ロボット12および第1計測ロボット14が送信したデータを記憶する記憶プログラム312、3次元環境地図、自己位置推定用地図および材質パラメータ地図を作成するための地図作成プログラム314、電波環境を可視化するための電波環境可視化プログラム316および電波環境をシミュレーションするためのシミュレーションプログラム318などが記憶されている。
データ記憶領域304には、通信バッファ330、ロボット情報バッファ332、材質パラメータバッファ334、シミュレーションバッファ336などが設けられる。また、データ記憶領域304には、平面図データ338、計測音データ340、計測音テーブル342、3次元空間情報データ344、3次元環境地図データ346、自己位置推定用地図データ348、材質パラメータ地図データ350、実測値データ352および電波環境情報データ354などが記憶されている。
通信バッファ330には、集音ロボット12および第1計測ロボット14から受信したデータが一時的に記憶される。ロボット情報バッファ332には、集音ロボット12および第1計測ロボット14の現在位置などのロボットの情報が一時的に記憶される。材質パラメータバッファ334には、たとえば材質パラメータ地図を作成する際に、図12に示すような材質パラメータテーブルが一時的に記憶される。シミュレーションバッファ336には、シミュレーションプログラム318によるシミュレーションの結果が一時的に記憶される。
平面図データ338は、3次元空間と対応する平面地図のデータである。計測音データ340は、集音ロボット12から受信した計測音データである。計測音テーブル342は、図11に示す構成のテーブルであり、計測音データ340に対応して、計測位置、打撃位置およびデータ名が記憶される。
3次元空間情報データ344は、第1計測ロボット14から送信された周囲の3次元形状のデータと、取得したときの第1計測ロボット14の現在位置(取得位置)とを対応付けたものである。3次元環境地図データ346は、たとえば図9(B)に示すような地図のデータである。自己位置推定用地図データ348は、たとえば図10に示すような地図のデータである。また、自己位置推定用地図データ348は作成されると、各ロボットに配信される。材質パラメータ地図データ350は、たとえば3次元環境地図データ346および材質パラメータテーブルを含むデータである。
実測値データ352は、第2計測ロボット16によって計測された3次元空間内の電波強度と、計測したときの計測位置を含むデータである。電波環境情報データ354は、3次元空間内の電波環境を示す情報である。
なお、図示は省略するが、データ記憶領域304には、様々な計算の結果を一時的に格納するバッファおよび/または中央制御装置10の動作に必要な他のカウンタおよび/またはフラグなども設けられる。
中央制御装置10のプロセッサ150は、Linux(登録商標)ベースのOSまたはその他のOSの制御下で、図19に示す記憶処理、図20に示す地図作成処理および図21に示す電波環境可視化処理などを含む、複数のタスクを処理する。
図19は記憶処理のフロー図である。たとえば、中央制御装置10の電源がオンにされて記憶処理の実行命令が発行されると、記憶処理が実行される。
記憶処理が実行されると、プロセッサ150はステップS1で、集音ロボット12からデータを受信したか否かを判断する。たとえば、集音ロボット12から送信された計測音データが通信バッファ330に記憶されているかが判断される。ステップS1で“YES”であれば、つまり計測音および計測に関する位置を含む計測音データを受信していれば、ステップS3でプロセッサ150は、計測音データを記憶する。つまり、受信したデータが計測音データ340としてメモリ154に記憶される。そのため、ステップS3の処理を実行するプロセッサ150は記憶手段として機能する。また、プロセッサ150はステップS3の処理が終了すると、ステップS9の処理に進む。
また、ステップS1で“NO”であれば、つまり集音ロボット12から計測音データを受信していなければ、ステップS5でプロセッサ150は、第1計測ロボット14からデータを受信したか否かを判断する。たとえば、第1計測ロボット14から送信された物の3次元形状のデータおよび取得したときの取得位置が、通信バッファ330に記憶されているかが判断される。ステップS5で“YES”であれば、つまり第1計測ロボット14から上記のデータを受信していれば、ステップS7でプロセッサ150は3次元空間情報データを記憶する。つまり、物の3次元形状のデータと、その3次元形状を取得したときの取得位置とが対応付けられて、3次元空間情報データ344としてメモリ154に記憶される。そのため、ステップS7の処理を実行するプロセッサ150は3次元形状記憶手段として機能する。また、プロセッサ150はステップS7の処理が終了すると、ステップS9の処理に進む。
なお、ステップS5で“NO”であっても、つまり第1計測ロボット14からデータを受信していなくても、プロセッサ150はステップS9の処理に進む。
続いて、ステップS9でプロセッサ150は、終了操作か否かを判断する。つまり、中央制御装置10を終了させる操作がされたかが判断される。ステップS9で“NO”であれば、つまり終了操作がされていなければ、プロセッサ150はステップS1の処理に戻る。一方、ステップS9で“YES”であれば、つまり終了操作がされると、プロセッサ150は記憶処理を終了させる。
図20は地図作成処理のフロー図である。たとえば、管理者によって3次元環境地図、自己位置推定用地図および材質パラメータ地図を作成する操作がされると、地図作成処理が実行される。
地図作成処理が実行されると、ステップS31でプロセッサ150は、3次元モデルを作成する。3次元空間情報データ344を読み出し、そのデータに含まれる3次元空間の3次元形状と、その3次元形状を取得したときの取得位置とに基づいて、3次元空間の3次元環境を示す3次元モデルを作成する。
続いて、ステップS33でプロセッサ150は、平面検出処理を実行する。つまり、作成された3次元モデルから床、天井、壁、および家具などの複数の物の平面が検出される。続いて、ステップS35でプロセッサ150は、検出された物の平面に基づいて3次元環境地図を作成する。つまり、検出した物の平面に対して、名称および実空間と対応する3次元座標を対応付けて、3次元環境地図が作成される。そして、作成された3次元環境地図は、3次元環境地図データ346としてメモリ154に記憶される。なお、ステップS33の処理を実行するプロセッサ150は検出手段として機能し、ステップS35の処理を実行するプロセッサ150は3次元地図作成手段として機能する。
続いて、ステップS37でプロセッサ150は、3次元環境地図に基づいて自己位置推定用地図を作成する。たとえば、3次元環境地図を、仮想空間上で天井側からの視点で見た状態で、床面から任意の高さで水平にカットし、その断面に基づいて自己位置推定用地図が作成される。そして、作成された地図は自己位置推定用地図データ348としてメモリ154に記憶される。
続いて、ステップS39でプロセッサ150は、検出された平面の名称および3次元位置を材質パラメータバッファ334に記憶する。たとえば、材質パラメータバッファ334には材質パラメータテーブルが記憶されており、その材質パラメータテーブルに対して、3次元環境地図データ346に含まれる各平面の名称と3次元位置とが記憶される。続いて、ステップS41でプロセッサ150は、計測音データ340に基づいて材質を推定する。たとえば、上述した機械学習手法に基づいて作成された判別モデルに対して、計測音データ340に基づいて算出されたメル周波数ケプストラム係数が入力される。そして、判別モデルから出力された結果が、材質の推定結果とされる。なお、ステップS41の処理を実行するプロセッサ150は推定手段として機能する。
続いて、ステップS43でプロセッサ150は、打撃位置に基づいて、検出された平面に材質を対応付ける。つまり、計測音データ340に対応する計測音テーブル342から推定結果と対応する打撃音データの打撃位置を読み出し、材質パラメータテーブルに記憶されている平面の位置に基づいて、対応する平面を特定する。そして、材質パラメータテーブルにおいて、特定された平面に対応して推定された材質を記憶する。なお、ステップS43の処理を実行するプロセッサ150は対応付け手段として機能する。
続いて、ステップS45でプロセッサ150は、材質パラメータの初期値を設定する。つまり、材質パラメータテーブルに記憶された材質に基づいて材質パラメータDB160から材質の材質パラメータを読み出し、材質に対応して材質パラメータを材質パラメータテーブルに記憶する。なお、ステップS45の処理を実行するプロセッサ150は設定手段として機能する。
続いて、ステップS47でプロセッサ150は、材質パラメータ地図を作成する。たとえば、材質パラメータバッファ334から材質パラメータテーブルを読み出し、そのテーブルを3次元環境地図データ346に対応付けたものを、材質パラメータ地図データ350としてメモリ154に記憶する。なお、ステップS47の処理を実行するプロセッサ150は作成手段として機能する。
なお、地図作成処理では材質パラメータが設定されることから、地図作成処理は材質パラメータ設定処理と言われることもある。
図21は電波環境可視化処理のフロー図である。たとえば、管理者によって電波環境情報を表示させる操作がされると、電波環境可視化処理が実行される。
電波環境可視化処理が実行されると、ステップS61でプロセッサ150は、材質パラメータ地図データ350を読み出す。つまり、3次元空間の電波環境をシミュレーションするために材質パラメータ地図データ350が読み出される。また、材質パラメータ地図データ350に含まれる材質パラメータテーブルが、材質パラメータバッファ334に記憶される。続いて、ステップS63でプロセッサ150は、シミュレーションを実行する。つまり、読み出した材質パラメータ地図データ350に基づいて電波環境のシミュレーションが実行される。そして、シミュレーションの結果は、シミュレーションバッファ336に記憶される。なお、ステップS63の処理を実行するプロセッサ150はシミュレーション手段として機能する。
続いて、ステップS65でプロセッサ150は、シミュレーション結果に基づいて電波強度を推定する。つまり、数1の数式を用いて、材質パラメータ地図(3次元環境地図)における電波強度を実測した位置と対応する位置で、電波強度が推定される。続いて、ステップS67でプロセッサ150は、実測値データ352を読み出す。つまり、第2計測ロボット16によって計測された電波強度の実測値がメモリ154から読み出される。続いて、ステップS69でプロセッサ150は、電波強度の推定値と実測値との差を算出する。つまり、数2の数式を用いて、電波強度の推定値と実測値との差が算出される。
続いて、ステップS71でプロセッサ150は、算出した差が許容範囲内か否かを判断する。つまり、算出した差が一致または略一致したかが判断される。ステップS71で“NO”であれば、つまり算出した差が一致または略一致していなければ、ステップS73で材質パラメータが変更される。つまり、材質パラメータバッファ334に記憶されている材質パラメータテーブルにおける材質パラメータの値が、電波強度の推定値と実測値との差が小さくなるように変更される。なお、ステップS73の処理を実行するプロセッサ150は変更手段として機能する。
続いて、ステップS75でプロセッサ150は、実測値に基づいて変更するか否かを判断する。たとえば、図16または図17(A),(B)などに示すように、管理者が特定の場所の材質パラメータを実測したかが判断される。ステップS75で“NO”であれば、たとえば管理者が任意の場所で材質パラメータを計測していなければ、プロセッサ150はステップS63の処理に戻る。つまり、変更後の材質パラメータに基づいてシミュレーションが再び実行される。
一方、ステップS75で“YES”であれば、たとえば管理者が任意の場所で材質パラメータを計測すると、ステップS77でプロセッサ150は、実測値に基づいて材質パラメータを変更する。つまり、図16または図17(A),(B)などに示すような状態で計測された材質パラメータが、材質パラメータテーブルに設定される。そして、ステップS77の処理が終了すると、プロセッサ150はステップS63の処理に戻る。つまり、実測に基づいて求められた材質パラメータを利用してシミュレーションが再び実行される。
また、ステップS71で“YES”であれば、たとえば何度もシミュレーションが実行された結果、電波強度の推定値と実測値との差が一致または略一致した場合、ステップS79でプロセッサ150は、シミュレーション結果に基づいて電波環境情報を生成する。つまり、3次元空間の電波環境を示す情報が作成され、その情報が電波環境情報データ354としてメモリ154に記憶される。また、材質パラメータバッファ334に記憶されている材質パラメータテーブルに基づいて、材質パラメータ地図データ350に含まれる材質パラメータが更新される。つまり、材質パラメータ地図データ350に含まれる材質パラメータが最適値に更新される。
続いて、ステップS81でプロセッサ150は、電波環境情報を表示する。たとえば、3次元環境地図データ346および電波環境情報データ354に基づいて電波環境地図が作成され、その地図が中央制御装置10の出力装置156から出力(可視化)される。そして、ステップS81の処理が終了すると、プロセッサ150は電波環境可視化処理を終了する。また、ステップS79の処理を実行するプロセッサ150は生成手段として機能し、ステップS81の処理を実行するプロセッサ150は出力手段として機能する。
なお、他の実施例では、シミュレーションを繰り返した回数またはシミュレーションを繰り返した時間が閾値を超えると、材質パラメータを実測するよう管理者に促すようにしてもよい。
<第2実施例>
第2実施例では、打音に代えて、3次元空間内で発生させた音の直接音および音が物に反射してから伝わる反射音を計測音として、3次元空間に設けられた物の材質を推定する。そのため、第2実施例では、集音ロボット12に代えてスピーカロボットが用いられると共に、第1実施例とは異なる構成の第1計測ロボット14が用いられる。
図22はスピーカロボットの外観を示す図解図である。図22を参照して、スピーカロボットは、約0.2メートルの高さに取り付けられた2次元LRF200、スピーカロボットの下側に設けられた制御装置202および約1メートルの高さに取り付けられたスピーカ204などを有する。
2次元LRF200は、他のロボットと同様、人間などの物体を検出するために用いられる。制御装置202は、スピーカロボットの移動についての制御のために用いられる。スピーカ204は、3次元空間内で音を発生させるために用いられる。スピーカ204はスピーカロボットの移動方向、つまり前方に音声を発生させることが可能である。
図23はスピーカロボットの構成を示すブロック図である。図23を参照して、制御装置202による移動ロボットプラットフォームとしては、第1実施例の各ロボットと略同じものが利用されている。
制御装置202はプロセッサ220などを含む。プロセッサ220は、マイクロコンピュータ或いはCPUとも呼ばれる。また、プロセッサ220には、バス222を介して、メモリ224、センサ入出力ボード226、音声入出力ボード228および無線通信ボード230などが接続されている。また、プロセッサ220には移動機構232が接続され、センサ入出力ボード226には2次元LRF200および路程測定センサ234が接続され、音声入出力ボード228にはスピーカ204が接続され、無線通信ボード230にはアンテナ236が接続される。
プロセッサ220は、スピーカロボットの全体制御を司る。メモリ224はROM、RAMおよびHDDを含む。HDDおよびROMには、スピーカロボットの動作を制御するための制御プログラムが予め記憶される。たとえば、制御プログラムには、各センサの出力(センサ情報)を検知するための検知プログラムや、中央制御装置10などの外部コンピュータとの間で必要なデータやコマンドを送受信するための通信プログラムなどが含まれる。また、RAMは、プロセッサ220のワークメモリまたはバッファメモリとして用いられる。
センサ入出力ボード226は、たとえばDSPで構成され、センサからの信号を取り込んでプロセッサ220に与える。たとえば、センサ入出力ボード226には、周囲の物体までの計測結果が2次元LRF200から入力され、移動機構232が有する車輪の回転パルスが路程測定センサ234から入力される。センサ入出力ボード226は、これらの入力に対して所定の処理を施してからプロセッサ220に出力する。なお、プロセッサ220は、2次元LRF200および路程測定センサ234の出力を利用して自己位置を推定する。
音声入出力ボード228もまたDSPで構成され、プロセッサ220から与えられるTSP信号に従ったsweep音をスピーカ204から出力させる。
無線通信ボード230もまたDSPで構成され、プロセッサ220から与えられた送信データを、アンテナ236を介して中央制御装置10などの外部コンピュータに送信する。また、無線通信ボード230は、アンテナ236を介してデータを受信し、受信したデータをプロセッサ220に与える。たとえば、送信データとしては、スピーカロボットの自己位置などである。また、受信データとしては、スピーカロボットを遠隔操作する際のコマンドなどである。
なお、移動機構232は、第1実施例の各ロボットと略同じものが採用されている。
このようなスピーカロボットは、自己位置推定のための地図を参照しながら3次元空間内における任意の位置および/または管理者によって予め指定された位置においてsweep音を発生させる。そして、発生したsweep音は、後述する第2実施例の第1計測ロボット14によって集音される。ただし、他の実施例では、管理者などがスピーカロボットを遠隔操作することでsweep音を発生させてもよい。
図24は第2実施例の第1計測ロボット14の外観を示す図解図である。図24を参照して、第2実施例の第1計測ロボット14は、第1実施例の第1計測ロボット14に対してさらに、制御装置72の上側に設けられたマイクアレイ74および約1.0メートルの高さに取り付けられた3次元LRF74などを有する。
マイクアレイ74は、スピーカロボットが発生させた音を集音するために用いられる。また、マイクアレイ74は、音源方向を推定するために、複数のマイクを含む。また、マイクアレイ74は必要に応じて上下方向に移動可能である。そのため、このようなマイクアレイ74によって集音された音のデータに基づいて、3次元の音源方向を推定することが出来る。
なお、他の実施例では、第2実施例の第1計測ロボット14に計測用アンテナをさらに設けて、第1計測ロボット14によって、3次元形状の取得、計測音の集音、計測用電波の実測を行うようにしてもよい。
図25は第1計測ロボット14の構成を示すブロック図である。図25を参照して、第2実施例の制御装置72のプロセッサ80には、マイクアレイ250が接続されている音声入出力ボード270がさらに接続される。
音声入出力ボード270は、マイクアレイ250によって集音された音に対して所定の処理を施し、集音された音に対応する音声データをプロセッサ80に入力する。
このような第1計測ロボット14は、自己位置推定のための地図を参照しながら3次元空間内に設けられた複数の物の3次元形状を取得すると共に、スピーカロボットが発生させた音を計測する。そして、第1計測ロボット14は、計測結果を、取得位置および計測位置と共に中央制御装置10に送信する。ただし、他の実施例では、管理者などが第1計測ロボット14を遠隔操作し、管理者などの操作に応じて複数の物の3次元形状が取得され、スピーカロボットが発生させた音が計測されてもよい。
次に、スピーカロボットおよび第2実施例の第1計測ロボット14を利用して、3次元空間内に設けられた複数の物の材質の推定について説明する。管理者は、スピーカロボットおよび第2実施例の第1計測ロボット14に対して3次元空間内を自律移動し、3次元空間内で計測音を集音するように動作命令を出す。
図26を参照して、第2実施例の第1計測ロボット14は、スピーカロボットが発生させた音が周囲の物の平面に反射することで物から伝わる反射音と、スピーカロボットが発生させた音の直接音とを集音できるように、3次元空間内の位置を決定する。そして、第1計測ロボット14が適切な位置に移動した後、スピーカロボットは上述したsweep音を発生させる。このとき、第1計測ロボット14は、直接音と反射音とのそれぞれを集音し、集音した音を計測音として計測位置と共に中央制御装置10に送信する。中央制御装置10は、受信した計測音、つまり直接音と反射音とを計測音データとして記憶すると共に、計測音データのデータ名に計測音に関する位置(計測位置)を対応付けて、計測音テーブルに記憶する。
図27を参照して、第2実施例の計測音テーブルには、計測位置および計測音の列を含む。また、計測音の列には、直接音および反射音の列が含まれる。そして、計測音テーブルには、計測位置に対応づけて直接音および反射音のデータ名(FD,FR)が記憶されている。
計測音の集音が終了すると、中央制御装置10では、まず反射音の指向性強度を測定するために、直接音および反射音の方向のそれぞれにビームフォーマなどの音源分離処理を施して音源を分離する。次に、周波数帯域ごとに、直接音と反射音とのパワー値の比率を求め、周波数帯域ごとの反射率を求める。
本実施例では、材質と反射率とを対応付けた教師データを作成し、SVMまたはGMMなどの機械学習手法によって教師データを学習することで、材質を推定するための判別モデルを作成する。そして、本実施例では、この判別モデルに対して、材質が対応付けられていない反射率を入力することで、材質の推定結果を得る。
このように、反射音および直接音を利用することで、3次元空間内に設けられた物の材質を容易に推定することが可能となる。特に、本実施例では、音を発生させるスピーカロボットを利用することで、物の材質を推定するためのデータを自動的に収集することが出来るため、電波伝搬のシミュレーションを行う際の手間が軽減される。
このようにして材質が推定されると、第2実施例でも材質パラメータ地図が作成される。第2実施例では、推定された材質は、計測位置に基づいて平面に関連付けられる。具体的には、計測位置に対する反射音の音源位置を算出し、算出された音源位置および平面の3次元位置に基づいて、推定された材質が物の平面に関連付けられる。そして、平面名称、位置および材質パラメータについては、第1実施例と略同じ手順で材質パラメータテーブルに設定され、第1実施例と同様に材質パラメータ地図データが作成される。
なお、他の実施例では、第1実施例の打音と、第2実施例の直接音および反射音とを組み合わせて、物の材質が推定されてもよい。たとえば、他の実施例では、基本的には直接音および反射音を利用して材質を推定し、材質の推定がうまくいかない場合に、打音を利用して材質を推定することが考えられる。
また、その他の実施例では、計測音の集音、3次元形状の取得および電波強度の計測を、1台のロボットで行うようにしてもよい。
また、第1実施例では、複数の物のそれぞれを自動的に打撃するロボットが用いられてもよい。この場合、第2実施例と同様、物の材質を推定するためのデータを自動的に収集することが出来る。
また、オフィスおよび住宅だけでなく、学校の校舎、ショッピングモールなど様々な3次元空間で、電波環境のシミュレーションを行うことが出来る。
また、さらにその他の実施例では、第2計測ロボット16には可変指向性アンテナが設けられてもよい。また、可変指向性アンテナとしては、ESPARアンテナなどが考えられる。これにより、複数の第2計測ロボット16を利用した協調作業を行う際に、特定の範囲内の物の材質パラメータを容易に求めることが出来る。
また、可変指向性アンテナを利用した場合、各基地局(アクセスポイント)から送信される電波のビーコン信号およびデータフレームを検出することが出来る。この場合、検出されたビーコン信号およびデータフレームに基づいて、基地局の位置の推定し、各基地局における送信出力の電力量の推定し、各基地局の無線チャネルの数を推定し、各基地局のトラフィック状態を推定することが可能になる。この場合、電波環境情報には、基地局の位置、各基地局における送信出力の電力量、各基地局の無線チャネルの数および各基地局のトラフィック状態も含まれる。そのため、電波環境地図を表示した際に、管理者は、3次元空間内における信号強度分布だけでなく、基地局の位置、各基地局における送信出力の電力量、各基地局の無線チャネルの数および各基地局のトラフィック状態も合わせて把握することが出来るようになる。
また、他の実施例では、3次元CADソフトウェアによって作成された3次元環境地図と、材質パラメータテーブルとに基づいて、材質パラメータ地図が作成されてもよい。
また、本実施例の無線LANの基地局は、2.4G帯および5G帯の信号を送信することが可能であり、電波環境地図は、2.4G帯および5G帯の電波強度をそれぞれ切り替えて表示することが出来る。
また、その他の実施例のシミュレーションシステム100では、無線LANの無線通信ではなく、第5世代以降の移動通信における無線通信などの電波環境をシミュレーションしてもよい。
また、さらにその他の実施例では、計測音から算出したMFCCまたは反射率に対して材質パラメータを対応付けた教師データを作成し、材質パラメータを推定する判別モデルを作成してもよい。
また、本実施例では、機械学習手法によって作成された判別モデルを作成したり、その判別モデルに入力したりするための「計測音に関する情報」として、MFCCおよび反射率を用いたが、他の実施例では、他の数値が用いられてもよい。
また、その他の実施例では、第2計測ロボット16に対して、遠隔操作用の無線通信回路およびアンテナを設けてもよい。この場合、電波強度を実測する際には、遠隔操作用の無線通信回路の電源がオフにされる。
また、第1実施例で用いた集音ロボット12、第1計測ロボット14および第2計測ロボット16と、第2実施例で用いたスピーカロボットおよび第1計測ロボット14は、3次元空間を2次元的に移動するものであったが、他の実施例では3次元空間を3次元的に移動する移動機構を備えていてもよい。また、3次元空間を3次元的に移動する移動機構を備えるロボットとしては、たとえば自律移動する飛行型のドローンなどであり、3次元空間を3次元的に移動する移動機構は空中をホバリング可能なプロペラが取り付けられたモータ(エンジン)などの動力部を含む。なお、3次元空間を3次元的に移動する移動機構を備える集音ロボット12は、飛行型集音装置と言われることもある。そして、他のロボットについても同様、飛行型第1計測装置および飛行型第2計測装置、飛行型スピーカ装置と言われることもある。
また、さらにその他の実施例では、第1計測ロボット14を定期的(たとえば、1日ごと)に動作させて、3次元環境地図が定期的に更新されるようにしてもよい。
また、本実施例で説明した複数のプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して本実施例と同等の構成のシステムの中央制御装置に配信されてもよい。また、CD, DVD, BD (Blu-ray(登録商標) Disc)などの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体にこれらのプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバまたは記憶媒体などを通じてダウンロードされた、上記複数のプログラムが、本実施例と同等の構成のシステムの中央制御装置に適用された場合、本実施例と同等の効果が得られる。
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。