[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
<1.1:無線状況予測システムの構成>
図1は、第1実施形態に係る無線状況予測システム1000の概略構成図である。
図2は、第1実施形態に係る無線装置Rx1の概略構成図である。
図3は、第1実施形態に係る無線状況予測装置100の概略構成図である。
図4は、第1実施形態に係る無線状況予測装置100の第1予測部21の概略構成図である。
図5は、第1実施形態に係る予測処理部212の概略構成図である。
図6は、第1実施形態に係るパラメータ調整部213の概略構成図である。
図7は、第1実施形態に係る無人搬送車AGV1の概略構成図である。
図8は、第1実施形態に係る無線状況制御装置Dev1の概略構成図である。
無線状況予測システム1000は、図1に示すように、無線状況予測装置100と、無線状況制御装置Dev1と、複数の無線装置(無線装置Rx1、Rx2、Rx3)と、無人搬送車AGV1とを備える。無線装置Rx1、Rx2、Rx3は、それぞれ、有線あるいは無線のネットワークにより、無線状況予測装置100、および/または、無線状況制御装置Dev1と通信コネクションを確立することができ、互いに通信を行うことができる。
無線装置Rx1は、図2に示すように、送信部R1と、受信部R2と、チャネル利用状況観測部R3と、データ処理部R4と、通信インターフェースR5と、送信用アンテナAnt_txと、受信用アンテナAnt_rxとを備える。
送信部R1は、図2に示すように、ECC部R11と、インターリーブ部R12と、無線フレーム生成部R13と、送信側RF部R14と、アクセス制御部R15と、を備える。
ECC部R11は、データDinを入力し、データDinに対して誤り訂正符号化処理を実行する。そして、ECC部R11は、誤り訂正符号化処理後のデータをデータDt1としてインターリーブ部12に出力する。
インターリーブ部R12は、ECC部R11から出力されるデータDt1を入力し、データDt1に対してインターリーブ処理を実行する。そして、インターリーブ部R12は、インターリーブ処理後のデータをデータDt2として、無線フレーム生成部R13に出力する。
無線フレーム生成部R13は、インターリーブ部R12から出力されるデータDt2と、アクセス制御部R15から出力される制御信号CTL1とを入力する。無線フレーム生成部R13は、制御信号CTL1に基づいて、データDt2に対してベースバンド処理(OFDMのベースバンド処理)を実行する。つまり、無線フレーム生成部R13は、データDt2に対して、シリアル/パラレル変換、マッピング処理、逆FFT変換、ガードインターバル(GI)付加処理、D/A変換を行うことで、ベースバンドOFDM信号を取得する。そして、無線フレーム生成部R13は、取得したベースバンドOFDM信号を信号Dt3として送信側RF部R14に出力する。
送信側RF部R14は、無線フレーム生成部R13から出力されるベースバンドOFDM信号Dt3と、アクセス制御部15から出力される制御信号CTL2と、送信用発振器Ocr1から出力される参照周波数信号fr_txとを入力する。送信側RF部R14は、制御信号CTL2に基づいて、ベースバンドOFDM信号Dt3に対して、送信用発振器Ocr1から出力される参照周波数信号fr_txを用いた直交変調処理、アップコンバート処理、電力増幅処理を実行することで、搬送帯域OFDM信号を取得する。そして、送信側RF部R14は、取得した搬送帯域OFDM信号Dt4を送信用アンテナAnt_txに出力する。
また、送信側RF部R14は、チャネル利用状況観測部R3と接続されており、チャネル利用状況観測部R3からの指令により、キャリアセンス、あるいは、チャネルセンスを実行し、その実行結果を示す信号をチャネル利用状況観測部R3に出力する。
送信用発振器Ocr1は、参照周波数信号fr_txを生成し、生成した参照周波数信号fr_txを送信側RF部R14に出力する。
アクセス制御部R15は、無線フレーム生成部R13を制御するための制御信号CTL1を生成し、所定のタイミングで、制御信号CTL1を無線フレーム生成部R13に出力する。また、アクセス制御部R15は、送信側RF部R14を制御するための制御信号CTL2を生成し、所定のタイミングで、制御信号CTL2を送信側RF部R14に出力する。また、アクセス制御部R15は、データ処理部R4から制御信号CTL3を入力し、制御信号CTL3に基づいて、制御信号CTL1、CTL2を生成する。
送信用アンテナAnt_txは、外部へRF信号(搬送帯域OFDM信号)を送信するためのアンテナである。送信用アンテナAnt_txは、送信側RF部R14からの搬送帯域OFDM信号Dt4を入力し、搬送帯域OFDM信号を外部に送信する。
受信用アンテナAnt_rxは、外部からのRF信号(搬送帯域OFDM信号)を受信するためのアンテナである。受信用アンテナAnt_rxは、受信したRF信号(搬送帯域OFDM信号)を信号Dr1として、受信側RF部R21に出力する。なお、受信用アンテナAnt_rxは、送信用アンテナAnt_txと共用してもよい。つまり、無線装置Rx1において、送信用アンテナAnt_txおよび受信用アンテナAnt_rxを設ける代わりに、1つの送受信用アンテナを設けるようにしてもよい。
受信部R2は、図1に示すように、受信側RF部R21と、受信用発振器Ocr2と、同期処理部R22と、ベースバンド処理部R23と、デインターリーブ部R24と、ECC部R25と、を備える。
受信側RF部R21は、受信用アンテナAnt_rxからの搬送帯域OFDM信号Dr1と、受信用発振器Ocr2から出力される参照周波数信号fr_rxとを入力する。受信側RF部R21は、搬送帯域OFDM信号Dr1に対して、増幅処理、参照周波数信号fr_rxに基づくダウンコンバート処理、自動周波数制御処理(AFC処理)、参照周波数信号fr_rxに基づく直交復調処理、A/D変換処理を実行することで、復調搬送帯域OFDM信号を信号Dr2として取得する。そして、受信側RF部R21は、復調搬送帯域OFDM信号Dr2を同期処理部R22およびベースバンド処理部R23に出力する。
また、受信側RF部R21は、チャネル利用状況観測部R3と接続されており、チャネル利用状況観測部R3からの指令により、キャリアセンス、あるいは、チャネルセンスを実行し、その実行結果を示す信号をチャネル利用状況観測部R3に出力する。
同期処理部R22は、受信側RF部R21から出力される復調搬送帯域OFDM信号Dr2を入力し、入力された復調搬送帯域OFDM信号Dr2に基づいて、同期処理を実行する。同期処理部R22は、同期処理により、OFDMシンボルの始まりを検出するためのシンボルタイミング同期などに使用される同期タイミング信号Sig_Syncを取得する。そして、同期処理部R22は、取得した同期タイミング信号Sig_Syncをベースバンド処理部R23に出力する。また、同期処理部R22は、復調搬送帯域OFDM信号Dr2のプリアンブル部の信号(プリアンブル信号)から受信用発振器Ocr2の周波数オフセットの検出を行い、受信用発振器Ocr2の発振周波数を制御するための信号(発振周波数制御信号)fs_ctlを生成し、生成した発振周波数制御信号fs_ctlを受信用発振器Ocr2に出力する。
受信用発振器Ocr2は、同期処理部R22から出力される発振周波数制御信号fs_ctlを入力し、発振周波数制御信号fs_ctlに基づいて、受信側RF部R21の処理動作の基準となるクロック信号である参照周波数信号fr_rxを生成する。そして、受信用発振器Ocr2は、生成した参照周波数信号fr_rxを受信側RF部R21に出力する。
ベースバンド処理部R23は、受信側RF部R21から出力される復調搬送帯域OFDM信号Dr2と、同期処理部R22から出力される同期タイミング信号Sig_Syncとを入力する。ベースバンド処理部R23は、同期タイミング信号Sig_Syncに基づいて、ガードインターバル(GI)除去処理、FFT変換、デマッピング処理、パラレル/シリアル変換を行うことで、復調ベースバンドOFDM信号を信号Dr3として取得する。そして、ベースバンド処理部R23は、取得した復調ベースバンドOFDM信号Dr3をデインターリーブ部24に出力する。
デインターリーブ部R24は、ベースバンド処理部R23から出力される復調ベースバンドOFDM信号Dr3を入力する。デインターリーブ部R24は、復調ベースバンドOFDM信号Dr3に対してデインターリーブ処理を実行し、デインターリーブ処理後の信号(データ)を信号(データ)Dr4として取得する。そして、デインターリーブ部R24は、取得したデータDr4をECC部R25に出力する。
ECC部R25は、デインターリーブ部R24から出力されるデータDr4を入力し、データDr4に対してエラー訂正処理を実行する。ECC部R25は、エラー訂正処理後のデータをデータDoutとして出力する。
チャネル利用状況観測部R3は、各周波数帯(各周波数帯の中では1つ以上の無線チャネル)の利用状況(各無線チャネルの空き状況など)を観測するために、キャリアセンス、および/または、チャネルセンスを実行するための指令信号を生成する。そして、チャネル利用状況観測部R3は、生成した指令信号を、送信側RF部R14、および/または、受信側RF部R21に出力することで、キャリアセンス、および/または、チャネルセンスを実行する。
また、チャネル利用状況観測部R3は、受信電力を取得するための指令信号を、送信側RF部R14、および/または、受信側RF部R21に出力し、無線装置Rx1の受信電力を取得する。また、取得した受信電力の値を所定の期間観測することで、無線リソース利用率(COR:channel occupation ratio)を取得する。そして、チャネル利用状況観測部R3は、取得した受信電力および/または無線リソース利用率CORを含むデータをデータData1(無線信号データData1)としてデータ処理部R4に出力する。
データ処理部R4は、チャネル利用状況観測部R3から出力されるデータData1を入力し、入力したデータData1を、通信インターフェースR5を介して、無線状況予測装置100に出力(送信)する。また、データ処理部R4は、無線状況制御装置Dev1から送信されるデータを、通信インターフェースR5を介して、受信する。そして、データ処理部R4は、無線状況制御装置Dev1から送信されたデータに基づいて、制御信号CTL3を生成し、生成した制御信号CTL3を送信部R1のアクセス制御部R15に出力する。
通信インターフェースR5は、外部の装置と、有線または無線のネットワークを介して、データを送受信するための通信用のインターフェースである。
なお、無線装置Rx2、Rx3も、無線装置Rx1と同様の構成を有している。
無線状況予測装置100は、図3に示すように、通信インターフェースIF1と、位置データ取得部1と、n個(n:自然数)の予測部である第1予測部21、第2予測部22、・・・、第n予測部2nと、インデックス合成部3と、オフセット設定部4と、n個(n:自然数)の未来予測部である第1未来予測部51、第2未来予測部52、・・・、第n未来予測部5nと、ルックアップテーブルLUT1〜LUTnとを備える。
通信インターフェースIF1は、外部の装置(例えば、無線装置Rx1〜Rx3、無人搬送車AGV1)と、有線または無線のネットワークを介して、データを送受信するための通信用のインターフェースである。通信インターフェースIF1は、無線装置Rxk(k:自然数)からの無線信号データDin(Rxk)を受信し、受信したデータを無線信号データSk(t)(t:時刻)として、第k予測部2kに出力する。また、通信インターフェースIF1は、無人搬送車AGV1から送信される無人搬送車AGV1の位置情報を含むデータ(位置データ)Din(Tx1)(=Pos(AGV1))を受信し、受信したデータをデータD1(Tx1)として、位置データ取得部1に出力する。
位置データ取得部1は、通信インターフェースIF1から出力されるデータD1(Tx1)とモード(学習モードまたは予測モード)を示すモード信号Modeとを入力する。なお、モード信号Modeは、無線状況予測装置の各機能部を制御する制御部(不図示)から出力される信号である。位置データ取得部1は、学習モードを示すモード信号Modeが入力されているとき(学習モードにおいて)、データD1(Tx1)から、時刻tのインデックスデータの正解データ(教師データ)T_correct(t)を生成する。そして、位置データ取得部1は、生成した時刻tのインデックスデータの正解データ(教師データ)T_correct(t)を第1〜第n予測部に出力する。
第1予測部21は、通信インターフェースIF1から出力される無線装置Rx1の無線信号データS1(t)と、モード信号Modeとを入力する。また、第1予測部21は、学習モード(学習処理が実行されるモード)において、位置データ取得部1から出力される時刻tのインデックスデータの正解データ(教師データ)T_correct(t)を入力する。第1予測部21は、学習モードにおいて、学習処理を実行し、時刻tの出力インデックスデータTo1(t)をインデックス合成部3に出力する。また、第1予測部21は、予測モード(予測処理が実行されるモード)において、予測処理を実行し、時刻tの出力インデックスデータTo1(t)をインデックス合成部3に出力する。なお、第1予測部21は、モード信号Modeに従い、モード(学習モード、予測モード)を切り替える。
第1予測部21は、図4に示すように、予測用データ取得部211と、予測処理部212と、パラメータ調整部213とを備える。
予測用データ取得部211は、通信インターフェースIF1から出力される無線信号データS1(t)と、パラメータ調整部213から出力される第1パラメータθ1と、無線状況予測装置100の各機能部を制御する制御部(不図示)から出力されるモード信号Modeと、を入力する。予測用データ取得部211は、モード信号Modeにより、学習モードまたは予測モードに設定される。
予測用データ取得部211は、学習モードにおいて、第1パラメータθ1に基づいて、無線信号データSk(t)(シリアルデータ)から予測処理用データData_Pと、入力インデックスデータData_Tとを生成する。そして、予測用データ取得部211は、学習モードにおいて、生成した予測処理用データData_Pおよび入力インデックスデータData_Tを予測処理部212に出力する。
予測用データ取得部211は、予測モードにおいて、通信インターフェースIF1から出力される無線信号データS1(t)を、そのまま予測処理部212に出力する。
予測処理部212は、予測用データ取得部211から出力される予測処理用データData_Pおよび入力インデックスデータData_Tと、パラメータ調整部213から出力される第2パラメータθ2と、無線状況予測装置100の各機能部を制御する制御部(不図示)から出力されるモード信号Modeと、を入力する。予測処理部212は、学習モードにおいて、学習処理が終了した場合、第1予測部21〜第n予測部2nで学習処理が終了したときの重み付けデータに対応する無線信号データを、それぞれ、更新用データDu1〜Dunとして取得し、取得した更新用データDu1〜Dunを、それぞれ、ルックアップテーブルLUT1からLUTnに出力する。
予測処理部212は、例えば、確率的ニューラルネットワーク(PNN:Probabilistic neural network)により構成される。
図5は、予測処理部212を確率的ニューラルネットワークPNNを用いて構成する場合の予測処理部212の概略構成図を示す図である。以下では、説明便宜のため、予測処理部212が確率的ニューラルネットワークPNNを用いて構成される場合について説明する。
図5に示すように、予測処理部212は、データ抽出部2121と、FIFO型メモリFIFO1と、入力層(Input layer)2122と、隠れ層(Hidden layer)2123と、総和計算層(Sum layer)2124と、クラス評価処理部2125と、を備える。
データ抽出部2121は、予測用データ取得部211から出力される入力インデックスデータData_Pおよび無線信号データSk(t)と、モード信号Modeとを入力する。データ抽出部2121は、学習モードにおいて、予測用データ取得部211から出力される入力インデックスデータData_Pから、時刻tの無線信号データSk(t)を抽出し、FIFO型メモリFIFO1に出力する。データ抽出部2121は、予測モードにおいて、予測用データ取得部211から出力される無線信号データSk(t)を入力し、そのまま、FIFO型メモリFIFO1に出力する。
FIFO型メモリFIFO1は、データ抽出部2121から出力されるデータを入力する。FIFO型メモリFIFO1は、Nc個のデータを記憶するFIFO(First In First Out)メモリである。FIFO型メモリFIFO1は、データ抽出部2121からデータが入力されるごとに、保持しているデータの記憶位置をシフトさせるとともに、最も古いデータを破棄する。なお、FIFO型メモリFIFO1は、図5に示すように、各メモリセル(各記憶位置)において、データX1〜XNcとして、データを保持する。
FIFO型メモリFIFO1は、各記憶位置に保持しているデータX1〜XNcを並列に入力層2122に出力する。
入力層(Input layer)2122は、FIFO型メモリFIFO1から出力されるデータX1〜XNcを入力する。
入力層(Input layer)2122は、図5に示すように、Nc個のシナプスを有しており、第q番目(q:自然数、1≦q≦Nc)のシナプスには、無線信号データXqが入力される。
入力層2122の各シナプスは、図5に示すように、隠れ層2123の全てのシナプスと結合されている。
隠れ層(Hidden layer)2123は、図5に示すように、M個(M:自然数)のクラスに対応するシナプス群Blk_class1〜Blk_classMを有している。各シナプス群は、Nc個のシナプスを有している。
第1番目のクラスに対応するシナプス群Blk_class1の第s番目(s:自然数、1≦s≦Nc)のシナプスには、重み付けデータv1,sが割り当てられている。
つまり、第r番目(r:自然数、1≦r≦M)のクラスに対応するシナプス群Blk_classrの第s番目(s:自然数、1≦s≦Nc)のシナプスには、重み付けデータvr,sが割り当てられている。
そして、シナプス群Blk_classrでは、入力層2122からのデータに対して、重み付けデータvr,sによる演算処理が実行され、演算処理結果データが総和計算層2124に出力される。なお、隠れ層2123には、第2パラメータθ2が入力され、第2パラメータθ2により、上記重み付けデータvr,sによる演算処理が実行される。
総和計算層(Sum layer)2124は、図5に示すように、M個(M:自然数)のシナプスを有している。第u番目(u:自然数、1≦u≦M)のシナプスは、隠れ層の第u番目のクラスに対応するシナプス群Blk_classuに含まれる各シナプスからの出力データを入力とし、入力データに対して総和計算処理を実行し、第u番目のクラスの放射基底関数(RBF:Radial basis function)の値を、第u番目のクラスの放射基底関数データguとして取得する。そして、取得された第u番目のクラスの放射基底関数データguは、クラス評価処理部2125に出力される。なお、総和計算層2124には、第2パラメータθ2が入力され、第2パラメータθ2に基づいて、シナプスの追加処理が実行される。
クラス評価処理部2125は、総和計算層2124から出力されるM個の放射基底関数データguを入力する。クラス評価処理部2125は、入力されたM個の放射基底関数データguのうち最大値となるクラスに対応するインデックスデータを検出し、検出したインデックスデータを含むデータを出力インデックスデータTok(t)として、インデックス合成部3およびパラメータ調整部213に出力する。
パラメータ調整部213は、図6に示すように、評価部2131と、パラメータ調整処理部2132と、パラメータ保持部2133とを備える。
評価部2131は、位置データ取得部1から出力されるインデックスデータの正解データT_correct(t)と、予測処理部212から出力される出力インデックスデータTok(t)と、モード信号Modeと、を入力する。評価部2131は、モード信号Modeにより、学習モードまたは予測モードに設定される。
評価部2131は、学習モードにおいて、インデックスデータの正解データT_correct(t)と、出力インデックスデータTok(t)と、に基づいて、予測処理部212での予測処理の結果データの精度を判定し、当該判定結果を示すデータをデータRstとしてパラメータ調整処理部2132に出力する。
評価部2131は、予測モードにおいて、インデックスデータの正解データT_correct(t)と、出力インデックスデータTok(t)とに基づいて、予測処理部212での予測処理の結果データの精度を判定し、当該判定結果を示すデータをデータRstとしてパラメータ調整処理部2132に出力する。
パラメータ調整処理部2132は、評価部2131から出力されるデータRstと、モード信号Modeとを入力する。パラメータ調整処理部2132は、学習モードにおいて、データRstに基づいて、パラメータ調整処理を実行し、パラメータ調整処理後の第1パラメータθ1を予測用データ取得部211に出力し、パラメータ調整処理後の第2パラメータθ2を予測処理部212に出力する。
また、パラメータ調整処理部2132は、学習モードにおいて、予測処理の精度を示すデータRstに基づいて、予測処理の精度が十分なものであると判断した場合、そのときの第1パラメータを最適第1パラメータθ1_optとして取得し、第2パラメータを最適第2パラメータθ2_optとして取得する。そして、パラメータ調整処理部2132は、最適第1パラメータθ1_optおよび最適第2パラメータθ2_optをパラメータ保持部2133に出力する。
また、パラメータ調整処理部2132は、学習が終了し、予測モードに移行する場合、パラメータ保持部2133から最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを取得する。そして、パラメータ調整処理部2132は、パラメータ保持部2133から取得した最適第1パラメータθ1_optを、第1パラメータθ1として予測用データ取得部211に出力し、パラメータ保持部2133から取得した最適第2パラメータθ2_optを、第2パラメータθ2として予測処理部212に出力する。
パラメータ保持部2133は、パラメータ調整処理部2132から出力される最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを入力し、当該最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを記憶する。また、パラメータ保持部2133は、パラメータ調整処理部2132からの要求に基づいて、記憶している最適第1パラメータθ1_optおよび/または最適第2パラメータθ2_optをパラメータ調整処理部2132に出力する。
なお、第2〜第n予測部も、第1予測部21と同様の構成を有している。
インデックス合成部3は、第1予測部21〜第n予測部2nから出力される出力インデックスデータTo1(t)〜Ton(t)を入力する。インデックス合成部3は、出力インデックスデータTo1(t)〜Ton(t)から、合成インデックスデータTo_all(t)を生成し、生成した合成インデックスデータTo_all(t)を第1未来予測部51〜第n未来予測部5nに出力する。
オフセット設定部4は、オフセットk1を設定し、設定したオフセットk1を第1未来予測部51〜第n未来予測部5nに出力する。
第1未来予測部51は、インデックス合成部3から出力される合成インデックスデータTo_all(t)と、オフセット設定部4から出力されるオフセットk1とを入力する。第1未来予測部51は、合成インデックスデータTo_all(t)とオフセットk1とに基づいて、時刻t+k1の無線装置Rx1の無線信号データの予測値So1(t+k1)を、ルックアップテーブルLUT1を参照して、取得する。そして、第1未来予測部51は、取得した無線装置Rx1の無線信号データの予測値So1(t+k1)を出力する。
なお、第2未来予測部52、・・・、第n未来予測部5nは、第1未来予測部51と同様の構成を有している。
第1未来予測部51〜第n未来予測部5nで取得される、無線装置Rx1〜Rxnの無線信号データの予測値So1(t+k1)〜Son(t+k1)は、データDoutとして、無線状況制御装置Dev1に出力される。
ルックアップテーブルLUT1は、インデックスデータと、当該インデックスデータに対応付けた無線装置Rx1の無線信号データ(予測データ)とを保持するルックアップテーブルである。ルックアップテーブルLUT1は、第1未来予測部51からの指令により、当該指令で指定されているインデックスデータに対応する無線装置Rx1の無線信号データ(予測データ)を第1未来予測部51に出力する。
また、ルックアップテーブルLUT1は、第1予測部21から出力される更新用データDu1を入力し、当該更新用データDu1に基づいて、保持しているデータを更新する。
なお、ルックアップテーブルLUT2〜LUTnは、ルックアップテーブルLUT1と同様の構成を有しており、それぞれ、無線装置Rx2〜Rxnの無線信号データ(予測データ)を記憶保持している。
無人搬送車AGV1は、図7に示すように、位置取得部AG1と、送信部AG2と、アンテナAnt_AGV1とを備える。
位置取得部AG1は、無人搬送車AGV1の位置情報を取得する。位置取得部AG1は、取得した位置情報を含むデータDin(データPos(AGV1))を生成し、送信部AG2に出力する。
送信部AG2は、無線装置Rx1の送信部R1と同様の構成を有している。送信部AG2は、位置取得部AG1から出力される、無人搬送車AGV1の位置情報を含むデータDin(データPos(AGV1))を入力し、当該データDin(データPos(AGV1))を、アンテナAnt_AGV1を介して、無線状況予測装置100に送信する。また、送信部AG2は、データDin(無人搬送車AGV1の位置情報を含むデータ以外のデータ)を入力し、当該データDinを、アンテナAnt_AGV1を介して、外部に送信する。
無線状況制御装置Dev1は、図8に示すように、無線状況評価部Dv1と、無線環境調整処理部Dv2と、通信インターフェースDv3とを備える。
無線状況評価部Dv1は、無線状況予測装置100から出力されるデータDoutを入力し、当該データDoutに基づいて、無線状況予測システム1000の無線環境の状態を評価し、評価結果Rst1を取得する。そして、無線状況評価部Dv1は、評価結果Rst1を無線環境調整処理部Dv2に出力する。
無線環境調整処理部Dv2は、無線状況評価部Dv1から出力される評価結果Rst1を入力する。無線環境調整処理部Dv2は、当該評価結果Rst1に基づいて、無線環境調整処理を実行し、無線状況予測システム1000の無線環境を調整するためのデータD_adjを取得する。そして、無線環境調整処理部Dv2は、取得したデータD_adjを、通信インターフェースDv3を介して、外部に出力(送信)する。
通信インターフェースDv3は、外部の装置と、有線または無線のネットワークを介して、データを送受信するための通信用のインターフェースである。
<1.2:無線状況予測システムの動作>
以上のように構成された無線環境状況システム1000の動作について、以下、説明する。
図9は、無線環境状況システム1000を含む狭空間の平面図である。具体的には、図9は、無人搬送車AGV1と、無線装置Rx1、Rx2、Rx3と、無線環境を劣化させる原因物体Sct1、Sct2、Sct3、Sct4との位置と、無人搬送車AGV1が移動する経路RT1とを模式的に示した図である。
図10は、時間軸を一致させて、無線装置Rx1、Rx2、Rx3で取得される無線信号データS1(t)、S2(t)、S3(t)を示した図である。
図11は、無線信号データのシリアルデータから予測処理用データData_Pと、入力インデックスデータData_Tとを生成する方法を説明するための図である。
図15は、時間軸を一致させて、無線装置Rx1、Rx2、Rx3で取得される無線信号データS1(t)、S2(t)、S3(t)を示した図であり、サンプル取得方法を説明するための図である。
説明便宜のため、以下では、(1)無人搬送車AGV1が、図9に示す経路RT1を繰り返し移動し、かつ、(2)無線装置Rx1、Rx2、Rx3と、無線環境を劣化させる原因物体Sct1、Sct2、Sct3、Sct4との位置は、固定である場合(一例)について、説明する。なお、以下では、無線装置が3つの場合について説明するが、無線装置の数は「3」に限定されることはなく、他の数であってもよい。
また、以下では、(1)学習モードと、(2)予測モードとに分けて、無線環境状況システム1000の動作を説明する。
(1.2.1:学習モード)
まず、無線環境状況システム1000の学習モードの処理について説明する。
無線装置Rx1〜Rx3は、それぞれ、無人搬送車AGV1が経路RT1の始点pos(1)から終点pos(N)まで移動する期間に、N個(N:自然数)の受信信号の電力値のサンプルデータSi(i:自然数、1≦i≦N)を取得するものとする。なお、図9、図10に示すように、無人搬送車AGV1が経路RT1の始点pos(1)に存在するときの時刻を時刻t0とし、無人搬送車AGV1が経路RT1の始点pos(N)に存在するときの時刻を時刻t5とする。
また、図10に示すように、(1)時刻t0〜t1の期間Td1は、無線装置Rx1が受信する無線信号が劣化している期間(物体Sct1の影響等により無線信号が劣化する期間)であり、(2)時刻t2〜t3の期間Td2は、無線装置Rx2が受信する無線信号が劣化している期間(物体Sct2の影響等により無線信号が劣化する期間)であり、(3)時刻t4〜t5の期間Td3は、無線装置Rx3が受信する無線信号が劣化している期間(物体Sct3、Sct4の影響等により無線信号が劣化する期間)である。
無線装置Rx1〜Rx3は、それぞれ、無人搬送車AGV1が経路RT1の始点pos(1)から終点pos(N)まで移動する期間において、無線信号データS1(t)〜S3(t)を取得し、データDin(Rx1)〜Din(Rx3)として、無線状況予測装置100に送信する。
また、無人搬送車AGV1は、無線状況予測装置100へ、無人搬送車AGV1の位置情報を含むデータDin(データPos(AGV1))を送信する。
無線状況予測装置100の通信インターフェースIF1は、無線装置Rx1〜Rx3から送信されるデータDin(Rx1)〜Din(Rx3)を受信し、無線装置Rx1から受信したデータを無線信号データS1(t)として第1予測部21に出力し、無線装置Rx2から受信したデータを無線信号データS2(t)として第2予測部22に出力し、無線装置Rx3から受信したデータを無線信号データS3(t)として第3予測部23に出力する。
また、無線状況予測装置100の通信インターフェースIF1は、無人搬送車AGV1から送信されるデータDin(Tx1)(=Pos(AGV1))を受信し、受信したデータを位置データ取得部1に出力する。
位置データ取得部1は、データD1(Tx1)から、時刻tのインデックスデータの正解データ(教師データ)T_correct(t)を生成する。そして、位置データ取得部1は、生成した時刻tのインデックスデータの正解データ(教師データ)T_correct(t)を第1〜第n予測部に出力する。なお、本実施形態では、n=3である。
第1予測部21は、時刻tのインデックスデータの正解データ(教師データ)T_correct(t)と、無線装置Rx1から受信した無線信号データS1(t)とを用いて、学習処理を実行する。当該学習処理について、具体的に説明する。
予測用データ取得部211は、モード信号Modeにより、学習モードに設定される。
予測用データ取得部211は、学習モードにおいて、第1パラメータθ1に基づいて、無線信号データSk(t)(シリアルデータ)から予測処理用データData_Pと、入力インデックスデータData_Tとを生成する。そして、予測用データ取得部211は、生成した予測処理用データData_Pおよび入力インデックスデータData_Tを予測処理部212に出力する。
予測処理部212は、予測用データ取得部211から出力される予測処理用データData_Pおよび入力インデックスデータData_Tと、パラメータ調整部213から出力される第2パラメータθ2と、無線状況予測装置100の各機能部を制御する制御部(不図示)から出力されるモード信号Modeと、を入力する。予測処理部212は、学習モードにおいて、学習処理が終了した場合、第1予測部21〜第n予測部2nで学習処理が終了したときの重み付けデータに対応する無線信号データを、それぞれ、更新用データDu1〜Dunとして取得し、取得した更新用データDu1〜Dunを、それぞれ、ルックアップテーブルLUT1からLUTnに出力する。
予測処理部212のデータ抽出部2121は、学習モードにおいて、予測用データ取得部211から出力される入力インデックスデータData_Pから、時刻tの無線信号データSk(t)を抽出し、FIFO型メモリFIFO1に出力する。具体的には、データ抽出部2121は、入力インデックスデータData_PからNc個ずつサンプルデータS1〜SNcを、データを取得した時間順に抽出し、FIFO型メモリFIFO1に出力する。なお、入力インデックスデータData_Pは、行列データであり、Ncは、当該行列データの列数である。
FIFO型メモリFIFO1は、各記憶位置に保持しているデータS1〜SNcを並列に入力層2122に出力する。
予測処理部212の入力層(Input layer)2122は、図5に示すように、Nc個のシナプスを有しており、第q番目(q:自然数、1≦q≦Nc)のシナプスには、無線信号データSqが入力される。
つまり、入力層2122の第1番目のシナプスには、無線信号データS1が入力される。
同様に、入力層2122の第i番目のシナプスには、無線信号データS1が入力される。
隠れ層(Hidden layer)2123は、図5に示すように、M個(M:自然数)のクラスに対応するシナプス群Blk_class1〜Blk_classMを有している。各シナプス群は、Nc個のシナプスを有している。
第1番目のクラスに対応するシナプス群Blk_class1の第s番目(s:自然数、1≦s≦Nc)のシナプスには、データv1,sで表される重み付けデータが割り当てられる。
つまり、第r番目(r:自然数、1≦r≦M)のクラスに対応するシナプス群Blk_classrの第s番目(s:自然数、1≦s≦Nc)のシナプスには、データvr,sで表される重み付けデータが割り当てられる。
ここで、図11に示すデータを用いて学習処理を実行する場合について、説明する。
図11は、予測用データ取得部211により生成される予測処理用データData_Pと、入力インデックスデータData_Tとを説明するための図である。
予測用データ取得部211は、無人搬送車AGV1が位置pos(1)(時刻t0のときの位置)から位置pos(N)(時刻t5のときの位置)まで経路RT1を移動するときに、無線装置Rx1で取得されるデータ列S1、S2、・・・、SN(N個の無線信号データ(サンプルデータ))を取得する。そして、予測用データ取得部211は、上記データ列の中から、Nc個のサンプルデータを、添え字が1つずつ増加する方向にずらしながら、N−Nc+1個のベクトルデータXv(Sp)(p:自然数、1≦p<N−Nc+1)を取得する、つまり、予測用データ取得部211は、
Xv(S1)=[S1,S2,・・・,SNc]
Xv(S2)=[S2,S3,・・・,SNc+1]
Xv(S3)=[S3,S4,・・・,SNc+2]
・・・
Xv(SN−Nc+1)=[SN−Nc+1,SN−Nc+2,・・・,SN]
のN−Nc+1個のベクトルデータXv(Sp)を取得する。そして、予測用データ取得部211は、上記により取得した各ベクトルデータXvを行データとする行列データData_Pを取得する。
また、予測用データ取得部211は、図11に示すように、N−Nc+1個のベクトルデータXv(Sp)に対応するインデックス番号を「p」とする入力インデックスデータData_T(図11に示す1×(N−Nc+1)の行列データT)を生成し、生成した入力インデックスデータData_Tを予測処理部212に出力する。
ベクトルデータXv(S1)は、図15に示すウィンドウWin1(t0,t1)に含まれるNc個のサンプルデータを要素とするベクトルデータである。
そして、ベクトルデータXv(S2)は、図15に示すウィンドウWin1(t0,t1)を右方向(Dir1で示す方向)に1サンプル分ずらしたウィンドウに含まれるNc個のサンプルデータを要素とするベクトルデータである。
そして、ベクトルデータXv(S3)は、図15に示すウィンドウWin1(t0,t1)を右方向(Dir1で示す方向)に2サンプル分ずらしたウィンドウに含まれるNc個のサンプルデータを要素とするベクトルデータである。
そして、ベクトルデータXv(SN−Nc+1)は、図15に示すウィンドウWin1(t0,t1)を右方向(Dir1で示す方向)に(N−Nc)サンプル分ずらしたウィンドウに含まれるNc個のサンプルデータを要素とするベクトルデータである。ベクトルデータXv(SN−Nc+1)は、図15に示すウィンドウWin1(t4,t5)に含まれるNc個のサンプルデータを要素とするベクトルデータである。
つまり、予測用データ取得部211は、図15に示すように、ウィンドウWin1(t0,t1)を1サンプルずつ右方向にずらしながら、上記のようにして、N−Nc+1個のベクトルデータXv(Sp)を取得する。これにより、予測用データ取得部211は、無人搬送車AGV1が位置pos(1)から位置pos(N)に経路RT1に沿って移動するときの全てのサンプルデータ(無線信号データ)を取得することができる。
上記のようにして取得したデータを用いて、隠れ層2123の各シナプスの重み付けデータを設定する。
具体的には、第1番目のクラスに対応するシナプス群Blk_class1の第1番目のシナプスには、データS1が重み付けデータv1,1として割り当てられる。
第1番目のクラスに対応するシナプス群Blk_class1の第2番目のシナプスには、データS2が重み付けデータv1,2として割り当てられる。
第1番目のクラスに対応するシナプス群Blk_class1の第Nc番目のシナプスには、データSNcが重み付けデータとして割り当てられる。
上記と同様にして、第r番目のクラスに対応するシナプス群Blk_classrの第s番目(s:自然数、1≦s≦Nc)のシナプスには、ベクトルデータXv(S1)のs番目のデータが重み付けデータとして割り当てる。
そして、第c番目(c:自然数、1≦c≦M)のクラスのシナプス群Blk_classcでは、予測処理部212のFIFO型メモリFIFO1に保持されているデータX
iと上記のように設定された各シナプスの重み付けデータv
c,iとのノルムを変数とするガウス分布(放射基底関数(RBF:Radial basis function))により算出される出力値を出力する。そして、当該出力値が総和計算層2124の当該クラスに対応するシナプスで加算されることで、第c番目のクラスのクラス評価値g
c(Xv)が取得される。つまり、下記の数式に相当する処理を実行することで、第c番目のクラスの放射基底関数データg
c(Xv)が取得される。
σ
c:第c番目(c:自然数、1≦c≦M)のクラスの標準偏差
Xv=[X
1,X
2,・・・,X
Nc]
そして、取得された第c番目のクラスの放射基底関数データg
cは、クラス評価処理部2125に出力される。
クラス評価処理部2125は、入力されたM個の放射基底関数データguのうち最大値となるクラスに対応するインデックスデータを検出し、検出したインデックスデータを含むデータを出力インデックスデータTok(t)として、インデックス合成部3およびパラメータ調整部213に出力する。
パラメータ調整部213の評価部2131は、学習モードにおいて、インデックスデータの正解データT_correct(t)と、出力インデックスデータTok(t)と、に基づいて、予測処理部212での予測処理の結果データの精度を判定し、当該判定結果を示すデータをデータRstとしてパラメータ調整処理部2132に出力する。
例えば、図10の時刻t0〜t1の期間のサンプルデータS1〜SNcの値が、第1番目のクラスに対応する中間層2123のシナプスの重み付け値に設定した場合、第1番目のクラスに対応する放射基底関数データgcの値が最大値となる。つまり、無線装置Rx1が取得した無線信号データが、図10の時刻t0〜t1の期間のサンプルデータS1〜SNcに近似する無線信号データであればあるほど、図10のデータを取得したときの時刻t1の位置pos(Nc)に、無人搬送車AGV1が存在する可能性が高いと予測することができる。
つまり、図11に示すサンプルデータS1〜SNcにおいて、
(1)FIFO型メモリFIFO1に保持されているデータがXv(S1)=[S1,S2,・・・,SNc]であるとき、正解の出力インデックスデータは、To1(t)=1(無人搬送車AGV1の位置:pos(Nc))であるので、このとき、出力インデックスデータがTo1(t)=1となるように学習処理が実行される。
(2)FIFO型メモリFIFO1に保持されているデータがXv(S2)=[S2,S3,・・・,SNc+1]であるとき、正解の出力インデックスデータは、To1(t)=2(無人搬送車AGV1の位置:pos(Nc+1))であるので、このとき、出力インデックスデータがTo1(t)=2となるように学習処理が実行される。
(3)FIFO型メモリFIFO1に保持されているデータがXv(S3)=[S3,S4,・・・,SNc+2]であるとき、正解の出力インデックスデータは、To1(t)=3(無人搬送車AGV1の位置:pos(Nc+2))であるので、このとき、出力インデックスデータがTo1(t)=3となるように学習処理が実行される。
(4)FIFO型メモリFIFO1に保持されているデータがXv(SN−Nc+1)=[SN−Nc+1,SN−Nc+2,・・・,SN]であるとき、正解の出力インデックスデータは、To1(t)=N−Nc+1(無人搬送車AGV1の位置:pos(N))であるので、このとき、出力インデックスデータがTo1(t)=N−Nc+1となるように学習処理が実行される。
評価部2131は、例えば、上記の正解データと、出力インデックスデータTo1(t)との誤差に基づくデータを学習処理の精度を示すデータRstとして取得する。そして、評価部2131は、取得したデータRstをパラメータ調整処理部2132に出力する。
パラメータ調整処理部2132は、学習モードにおいて、データRstに基づいて、パラメータ調整処理を実行し、パラメータ調整処理後の第1パラメータθ1を予測用データ取得部211に出力し、パラメータ調整処理後の第2パラメータθ2を予測処理部212に出力する。
パラメータ調整処理部2132は、判定結果データRstに基づいて、予測精度が十分ではない場合、第1パラメータθ1(例えば、Nr、Nc)、および/または、第2パラメータθ2(例えば、σ、v_appnd_rplc、Nr、Nc)を調整し、調整後の第1パラメータを予測用データ取得部211に出力し、また、調整後の第2パラメータθ2を予測処理部212に出力する。
予測用データ取得部211では、調整後の第1パラメータ(例えば、Nr、Nc)により、予測処理用データData_P、および、入力インデックスData_Tを生成し、予測処理部211に出力する。そして、上記と同様にして、パラメータ調整部213により、予測精度を判定し、予測精度が十分であると判定されるまで、上記処理を繰り返す。
また、予測処理部212では、調整後の第2パラメータθ2により、処理が実行される。例えば、予測処理部212では、調整後のσ(σは、各クラスの標準偏差σcを含むデータであるものとする)に基づいて、各クラスの標準偏差σc(0≦σc≦1)が設定され、予測処理部212の処理が実行される。そして、上記と同様にして、パラメータ調整部213により、予測精度を判定し、予測精度が十分であると判定されるまで、上記処理を繰り返す。
また、予測処理部212では、データv_appnd_rplcに基づいて、隠れ層のクラスの追加処理(アペンド処理)、および/または、置換処理が実行される。これについて、図12〜図14を用いて説明する。
図12は、入力データx(データXv)と、各クラスの放射基底関数データgcとの関係を示すグラフである。つまり、図12は、入力データXvを確率変数xとしたときの確率密度関数P(x)を示すグラフである。
図13は、入力データx(データXv)と、各クラスの放射基底関数データgcとの関係を示すグラフであり、予測処理部212での追加処理を説明するための図である。
図14は、入力データx(データXv)と、各クラスの放射基底関数データgcとの関係を示すグラフであり、予測処理部212での置換処理を説明するための図である。
まず、予測処理部212での追加処理について説明する。
図12に示すように、予測処理部212への入力データがデータXv1、Xv2、・・・、XvMのいずれかに近いパターンのデータである場合、予測処理部212での予測処理により、入力パターンに対応するクラスを特定することができ、その結果、精度の高い予測処理を実行することができる。しかし、予測処理部212への入力データがデータXv1、Xv2、・・・、XvMのいずれにも近いパターンでない場合、入力パターンに対応するクラスを特定することができず、その結果、精度の高い予測処理を実行することができない。例えば、予測処理部212への入力データが図12のデータXvM+1である場合、データXv1、Xv2、・・・、XvMのいずれにも近いパターンでないので、精度の高い予測処理を実行することはできない。
そこで、このような場合、パラメータ調整部213から、予測処理部212に指令信号(データ)v_appnd_rplcを送信し、予測処理部212に、新たなクラス(M+1番目のクラス)を追加する。例えば、図13に「ClassM+1」として示す放射基底関数データgcとなるように、隠れ層2123に新たなシナプスを追加し、さらに、総和計算層2124に第M+1番目のシナプスを追加する。これにより、予測処理部212への入力データがデータXvM+1と近いパターンである場合、第M+1番目のクラスの放射基底関数データgc(=gM+1)が大きな値をとるため、XvM+1に対応するインデックスが選択され、高精度の予測処理が可能となる。
そして、上記のクラスを追加する処理を行った後、パラメータ調整部213により、予測精度を判定し、予測精度が十分であると判定されるまで、上記処理を繰り返す。
次に、予測処理部212での置換処理について説明する。
予測処理部212への入力データがデータXv1、Xv2、・・・、XvMのいずれにも近いパターンでない場合、入力パターンに対応するクラスを特定することができず、その結果、精度の高い予測処理を実行することができない。例えば、予測処理部212への入力データが図14のデータXvM’である場合、データXv1、Xv2、・・・、XvMのいずれにも近いパターンでないので、精度の高い予測処理を実行することはできない。
そこで、このような場合、パラメータ調整部213から、予測処理部212に指令信号(データ)v_appnd_rplcを送信し、予測処理部212に、例えば、第M番目のクラスの重み付けデータ(隠れ層2123のシナプス)を置換する。例えば、図14に「ClassM’」として示す放射基底関数データgcとなるように、隠れ層2123において、第M番目のクラスの重み付けデータ(隠れ層2123のシナプス)を置換する。これにより、予測処理部212への入力データがデータXvM’と近いパターンである場合、置換処理後の第M番目のクラスの放射基底関数データgc(=gM)が大きな値をとるため、XvM’に対応するインデックスが選択され、高精度の予測処理が可能となる。
そして、上記のクラスを置換する処理を行った後、パラメータ調整部213により、予測精度を判定し、予測精度が十分であると判定されるまで、上記処理を繰り返す。
以上のように、無線状況予測装置100において、第1パラメータθ1(例えば、Nr、Nc)、および/または、第2パラメータθ2(例えば、σ、v_appnd_rplc、Nr、Nc)を調整し、十分な予測精度が取得される状態になったら、学習を終了させる。そして、パラメータ調整処理部2132は、そのときの第1パラメータθ1を最適第1パラメータθ1_optとして、第1パラメータθ1を最適第1パラメータθ1_optとして、パラメータ保持部2133に出力し、パラメータ保持部2133に記憶保持させる。
また、パラメータ調整処理部2132は、学習が終了し、予測モードに移行する場合、パラメータ保持部2133から最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを取得する。そして、パラメータ調整処理部2132は、パラメータ保持部2133から取得した最適第1パラメータθ1_optを、第1パラメータθ1として予測用データ取得部211に出力し、パラメータ保持部2133から取得した最適第2パラメータθ2_optを、第2パラメータθ2として予測処理部212に出力する。
パラメータ保持部2133は、パラメータ調整処理部2132から出力される最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを入力し、当該最適第1パラメータθ1_optおよび最適第2パラメータθ2_optを記憶する。また、パラメータ保持部2133は、パラメータ調整処理部2132からの要求に基づいて、記憶している最適第1パラメータθ1_optおよび/または最適第2パラメータθ2_optをパラメータ調整処理部2132に出力する。
以上のようにして、第1予測部21では、学習処理が実行される。そして、学習処理が終了したときに取得した中間層2123の各シナプスの重み付けデータをDu1として、ルックアップテーブルLUT1に書き込む。例えば、学習処理が終了したときの上記重み付けデータに対するデータが、図10のS1(t)で示す無線信号データのN個のサンプル値(期間t0〜t5のN個のサンプル値)である場合、当該N個のサンプル値が、Nc個ずつに分けられ、対応するインデックスデータとともに、データDu1として、ルックアップテーブルLUT1に書き込まれる。つまり、
(1)インデックスデータ「1」のデータとして、データS1〜SNcが、LUT1に書き込まれ、
(2)インデックスデータ「2」のデータとして、データS2〜SNc+1が、LUT1に書き込まれ、
(3)インデックスデータ「3」のデータとして、データS3〜SNc+2が、LUT1に書き込まれ、
(4)インデックスデータ「N−Nc+1」のデータとして、データSN−Nc+1〜SNが、LUT1に書き込まれる。
また、第2予測部22〜第n予測部2nについても、上記の第1予測部21と同様の処理が実行されることで、学習処理が実行される。
なお、説明便宜のために、
(1)第1予測部21において、学習処理が終了したときに取得した第1予測部21の中間層2123の各シナプスの重み付けデータDu1が、図10のS1(t)で示す無線信号データのN個のサンプル値(期間t0〜t5のN個のサンプル値)であるものとし、
(2)第2予測部22において、学習処理が終了したときに取得した第2予測部22の中間層の各シナプスの重み付けデータDu2が、図10のS2(t)で示す無線信号データのN個のサンプル値(期間t0〜t5のN個のサンプル値)であるものとし、
(3)第3予測部23において、学習処理が終了したときに取得した第3予測部23の中間層の各シナプスの重み付けデータDu2が、図10のS3(t)で示す無線信号データのN個のサンプル値(期間t0〜t5のN個のサンプル値)であるものとして、以下説明する。
このとき、無線装置Rx1〜Rx3で受信する無線信号データが、図10に示す無線信号データと近似しているほど、無線状況予測システム1000での予測精度は高くなる。
(1.2.2:予測モード)
次に、無線状況予測システム1000の予測モードの処理について説明する。
説明便宜のため、図16に示す無線信号データが、時刻t0’〜t1’の期間において、無線装置Rx1、Rx2、Rx3で受信された場合について、以下、説明する。なお、現時刻をt1’とし、時刻t0’〜t1’の期間において、Nc個のサンプルデータが取得されるものとする。また、時刻t0’において、無人搬送車AGV1は、位置pos(10)に存在し、時刻t1’において、無人搬送車AGV1は、位置pos(Nc+9)に存在するものとする。
無線装置Rx1は、時刻t0’〜時刻t1’の期間において、無線状況予測装置100へ、無線信号データS1(t)を送信する。
無線状況予測装置100の第1予測部21の予測処理部212では、現時刻t1’において、FIFO型メモリFIFO1のデータX1〜XNcとして、無線信号データのサンプルデータS1(t0’)〜S1(t1’)が記憶保持されている。
そして、上記データX1〜XNcに対して、隠れ層2123、総和計算層2124での処理が実行され、各クラスの放射基底関数データgc(Xv)が取得される。
そして、クラス評価処理部2125は、取得された各クラスの放射基底関数データgc(Xv)の中から最大値をとるクラスを決定し、当該クラスに対応するインデックスを決定する。
上記の場合、図16に示すデータS1(t)は、図15に示すデータS1(t)の時刻t0’(AGV1がpos(10)のときの時刻)から時刻t1’(AGV1がpos(Nc+9)のときの時刻)に近似しているため、クラス評価処理部2125は、To1(t)=10として、出力インデックスデータTo1(t)を出力する。
また、無線装置Rx2は、時刻t0’〜時刻t1’の期間において、無線状況予測装置100へ、無線信号データS2(t)を送信する。
無線状況予測装置100の第2予測部22の予測処理部では、現時刻t1’において、FIFO型メモリFIFO1のデータX1〜XNcとして、無線信号データのサンプルデータS2(t0’)〜S2(t1’)が記憶保持されている。
そして、上記データX1〜XNcに対して、隠れ層、総和計算層での処理が実行され、各クラスの放射基底関数データgc(Xv)が取得される。
そして、クラス評価処理部は、取得された各クラスの放射基底関数データgc(Xv)の中から最大値をとるクラスを決定し、当該クラスに対応するインデックスを決定する。
上記の場合、図16に示すデータS2(t)は、図15に示すデータS2(t)の時刻t0’(AGV1がpos(10)のときの時刻)から時刻t1’(AGV1がpos(Nc+9)のときの時刻)に近似しているため、第2予測部22のクラス評価処理部は、To2(t)=10として、出力インデックスデータTo2(t)を出力する。
また、無線装置Rx3は、時刻t0’〜時刻t1’の期間において、無線状況予測装置100へ、無線信号データS3(t)を送信する。
無線状況予測装置100の第3予測部23の予測処理部では、現時刻t1’において、FIFO型メモリFIFO1のデータX1〜XNcとして、無線信号データのサンプルデータS3(t0’)〜S3(t1’)が記憶保持されている。
そして、上記データX1〜XNcに対して、隠れ層、総和計算層での処理が実行され、各クラスの放射基底関数データgc(Xv)が取得される。
そして、クラス評価処理部は、取得された各クラスの放射基底関数データgc(Xv)の中から最大値をとるクラスを決定し、当該クラスに対応するインデックスを決定する。
上記の場合、図16に示すデータS2(t)は、図15に示すデータS2(t)の時刻t0’’(AGV1がpos(9)のときの時刻とする)から時刻t1’’(AGV1がpos(Nc+8)のときの時刻とする)に近似しているとする。このとき、クラス評価処理部2125は、To3(t)=9として、出力インデックスデータTo3(t)を出力する。
インデックス合成部3は、第1予測部21〜第3予測部23から出力される出力インデックスデータTo1(t)〜To3(t)を入力する。インデックス合成部3は、出力インデックスデータTo1(t)〜To3(t)から、合成インデックスデータTo_all(t)を生成する。具体的には、インデックス合成部3は、以下の方式により、合成インデックスデータTo_all(t)を生成する。
(1)多数決方式
インデックス合成部3は、出力インデックスデータTo1(t)〜To3(t)の中において、最も多く含まれているインデックスデータ(最頻のインデックスデータ)を、合成インデックスデータTo_all(t)とする。上記の場合(図16の場合)、最頻のインデックスデータは、「10」であるので、インデックス合成部3は、合成インデックスデータTo_all(t)を「10」とする。
(2)重み付け合成方式
インデックス合成部3は、
To_all(t)=w1×To1(t)+w2×To2(t)+w3×To3(t)
により、To_all(t)を取得する。なお、この場合、To_all(t)は、実数値となるため、四捨五入、切り捨て処理等により、To_all(t)を整数値にする。上記の場合(図16の場合)、上記処理により取得した実数値を四捨五入することで、To_all(t)=10として取得される。なお、重み付け合成方式では、各インデックス情報の重み付け値は、総和が「1」となるように設定し、信頼度の高い無線装置に対応するインデックス情報の重み付け値を大きくすることが好ましい。
なお、上記以外の方式として、インデックス合成部3は、出力インデックスデータTo1(t)〜To3(t)の中から、平均値、中間値を取得し、取得した当該値、あるいは、その値を四捨五入、切り捨て処理等により取得した整数値を、To_all(t)とするようにしてもよい。
上記のようにして取得された合成インデックスデータTo_all(t)は、インデックス合成部3から、第1未来予測部51、第2未来予測部52、および、第3未来予測部53に出力される。
第1未来予測部51は、合成インデックスデータTo_all(t)とオフセットk1とに基づいて、時刻t+k1の無線装置Rx1の無線信号データの予測値So1(t+k1)を、ルックアップテーブルLUT1を参照して、取得する。ルックアップテーブルLUT1には、図15に示すS1(t)に相当するデータが格納されているので、上記処理により、時刻t+k1の無線装置Rx1の無線信号データの予測値So1(t+k1)が取得される。
第2未来予測部52は、合成インデックスデータTo_all(t)とオフセットk1とに基づいて、時刻t+k1の無線装置Rx2の無線信号データの予測値So2(t+k1)を、ルックアップテーブルLUT2を参照して、取得する。ルックアップテーブルLUT2には、図15に示すS2(t)に相当するデータが格納されているので、上記処理により、時刻t+k1の無線装置Rx2の無線信号データの予測値So2(t+k1)が取得される。
第3未来予測部53は、合成インデックスデータTo_all(t)とオフセットk1とに基づいて、時刻t+k1の無線装置Rx3の無線信号データの予測値So3(t+k1)を、ルックアップテーブルLUT3を参照して、取得する。ルックアップテーブルLUT3には、図15に示すS3(t)に相当するデータが格納されているので、上記処理により、時刻t+k1の無線装置Rx3の無線信号データの予測値So3(t+k1)が取得される。
また、オフセット設定部4により、オフセットk1を連続的に変化させることで、無線装置Rx1〜Rx3の予測値So1(t+k1)〜So3(t+k1)を連続的に取得することができる。このようにして、時刻t1’以降の無線装置Rx1〜Rx3の予測値So1(t+k1)〜So3(t+k1)が、図17に示すようなデータとして取得される。
上記処理により取得された無線装置Rx1〜Rx3の予測値So1(t+k1)〜So3(t+k1)は、データDoutとして、無線状況予測装置100から無線状況制御装置Dev1に出力される。
無線状況制御装置Dev1では、上記のようにして取得された無線装置Rx1〜Rx3の予測値So1(t+k1)〜So3(t+k1)から、例えば、所定の時刻において、所定の無線装置の受信状態が劣化することを予測し、所定の措置を講ずる。
例えば、図17の場合、無線状況制御装置Dev1の無線状況評価部Dv1は、データDoutから、無線装置Rx2が、時刻t2〜t3において(現時刻t1’からt2−t1’後から期間Td2の間)、無線信号の受信状態が劣化することが予測できる。これに対処するため、無線環境調整処理部Dv2は、例えば、無線装置Rx2に対して、時刻t2〜t3において、使用しているチャネルとは異なるチャネルで無線通信する、あるいは、無線通信を休止させるように指示するデータを送信する。そして、無線装置Rx2は、無線状況制御装置Dev1から、当該データを受信したら、時刻t2〜t3において、使用しているチャネルとは異なるチャネルで無線通信する、あるいは、無線通信を休止させるようにする。これにより、無線装置Rx2の受信状態(無線環境)の劣化を適切に防止することができる。
また、図17の場合、無線状況制御装置Dev1の無線状況評価部Dv1は、データDoutから、無線装置Rx3が、時刻t4〜t5において(現時刻t1’からt4−t1’後から期間Td3の間)、無線信号の受信状態が劣化することが予測できる。これに対処するため、無線環境調整処理部Dv2は、例えば、無線装置Rx3に対して、時刻t4〜t5において、使用しているチャネルとは異なるチャネルで無線通信する、あるいは、無線通信を休止させるように指示するデータを送信する。そして、無線装置Rx3は、無線状況制御装置Dev1から、当該データを受信したら、時刻t2〜t3において、使用しているチャネルとは異なるチャネルで無線通信する、あるいは、無線通信を休止させるようにする。これにより、無線装置Rx3の受信状態(無線環境)の劣化を適切に防止することができる。
以上のように、無線状況予測システム1000では、無人搬送車AGV1が所定の経路をたどるときに、複数の無線装置の無線信号データにより学習した学習済みモデル(例えば、PNNによるモデル)により、無人搬送車AGV1の現在位置を推定するとともに、そのときの無線環境の状態を推定する。さらに、無線状況予測システム1000では、学習時に、無人搬送車AGV1が所定の経路をたどるときの無線環境の状態の変化を示すデータを記憶保持させるので、予測時において、上記の推定結果から、所定の期間先の無線環境の状態を高精度に予測することができる。そして、無線状況予測システム1000では、上記処理により、未来の無線環境の状態を高精度に予測することができるので、当該予測結果に基づいて、対応措置を講ずることで、高速かつ高精度な無線環境を安定して維持させることができる。
つまり、無線状況予測システム1000では、複雑に無線環境が変化する状況においても、高速かつ高精度に、無線環境状況を予測することができる。
なお、無線状況予測装置100において、Rブロック(R:自然数)ごとに、再学習を行うようにしてもよい。これについて、図18を用いて説明する。
図18は、再学習を説明するための図である。
図18に示すように、無線状況予測装置100において、最初にデータData_Pを取得するとき(無人搬送車AGV1が経路RT1を始点から終点まで移動する期間に相当)、すなわち、図18における最初のブロックP1_1を取得するときに、学習処理を行い、後続するブロックP1_2〜P1_Rを取得するときに、予測処理を行う。そして、ブロックP1_Rの次のブロックP2_1において(ブロックP1_Rの次にデータData_Pを取得するときに)、無線状況予測装置100において再度、学習処理を行うようにしてもよい(再学習を行うようにしてもよい)。つまり、無線状況予測装置100において、Rブロックごとに、再学習を行うようにしてもよい。再学習においては、第1パラメータθ1、第2パラメータθ2を調整することで、最適第1パラメータθ1_opt、最適第2パラメータθ2_optを取得し、取得した最適パラメータにより予測部のモデルを最適化する。このようにすることで、無線環境が急激に変化した場合であっても、無線状況予測装置100において、最適な予測処理を行うことができる。また、予測処理を実行しているブロックにおいて、予測精度を監視し、予測精度に応じて、再学習の間隔を決定するRを変更するようにしてもよい。つまり、予測精度が高い場合は、Rを大きな値にし、予測精度が低い場合、Rを小さな値にすることで、無線状況予測装置100における予測処理の精度を高精度に保つことができる。
[他の実施形態]
上記実施形態では、無線信号データが無線信号の電力値である場合について説明したが、これに限定されることはなく、例えば、無線信号に関するデータSi(t)として、無線リソース利用率CORを用いてもよい。また、無線信号に関するデータSi(t)として、所定の期間(例えば、タイムスロット期間)における無線チャネルの空/塞の状態を示すデータを用いてもよい。
また、無線状況予測装置100において、第2パラメータθ2に含まれる標準偏差のデータσは、予測処理部212の各クラスに応じて個別にσcとして設定されるものであってもよいし、全てのクラスで共通の標準偏差σが設定されるものであってもよい。
また、上記実施形態では、OFDMを採用した無線状況予測システム1000について説明したが、これに限定されることはなく、他の変調方式を用いてもよい。
また、上記では、移動体が無人搬送車AGV1であるとして、説明したが、これに限定されることはなく、例えば、無線通信機能を有し、所定の経路を移動する移動体であれば、他のものであってもよい。例えば、無線通信機能を有するプリンタヘッド(所定のレールを往復するプリンタヘッド)や、無線ハーネスの発信装置等についても、本発明を適用することができる。
また、上記実施形態で説明した無線状況予測システム、無線状況予測装置100、無線装置において、各ブロックは、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されても良い。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
例えば、上記実施形態の各機能部を、ソフトウェアにより実現する場合、図19に示したハードウェア構成(例えば、CPU、ROM、RAM、入力部、出力部等をバスBusにより接続したハードウェア構成)を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
また、上記実施形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。