以下、本開示の実施の形態について図面を参照しながら説明する。なお、説明は、以下の順序で行う。
<1.第1の実施形態>
<2.第2の実施形態>
<3.第3の実施形態>
<4.第4の実施形態>
<5.変形例>
なお、以下に説明する実施形態および変形例は、本開示の好適な具体例であり、これらの実施形態および変形例に限定されないものとする。
<1.第1の実施形態>
「システムの概要」
図1は、本開示におけるシステムの一例を示す。図1に例示するシステム1は、発電デバイス2aとホスト装置3とから構成される。発電デバイス2aおよびホスト装置3は、それぞれ通信機能を有する。この通信機能によって、発電デバイス2aとホスト装置3との間で、有線または無線による双方向の通信がなされる。なお、発電デバイス2aとホスト装置3とがUSB(Universal Serial Bus)によって接続されて通信がなされるようにしてもよい。
発電デバイス(ガジェットなどとも称される)2aは、例えば、アクセサリの形状と略同一の形状のものである。この例では、発電デバイス2aは、指輪の形状のものである。発電デバイス2aは、リストバンド(腕輪)などの形状のものでもよい。発電デバイス2aがユーザに装着されると、発電デバイス2aが露出するような形状が好ましい。発電デバイス2aをこのような形状とすることで、ユーザは測定器を持ち歩くという感覚でなく、ファッションの一部として発電デバイス2aを使用することができる。発電デバイス2aの形状は適宜、変更でき、よりデザイン性に優れた形状とすることができる。発電デバイス2aは、例えば、バッテリを搭載する必要がない。したがって、発電デバイス2aの形状を自由に設定できる。
発電デバイス2aは、1または複数の発電部を備える。発電部は、周囲の環境に存在するエネルギーに基づいて発電する。発電部は、例えば、光や熱、振動、電波に基づいて発電する。これらのエネルギーは、自然界に存在するものに限られない。熱や振動には、例えば、ユーザの体表面の熱や、ユーザの動きに伴う振動が含まれる。発電デバイス2aは、発電部からの発電情報を取得する。取得した発電情報を、通信機能を使用してホスト装置3に送信する。
ホスト装置3は、例えば、パーソナルコンピュータである。ホスト装置3は、ゲーム装置であってもよい。さらに、ホスト装置3は、携帯電話、スマートフォンなどの携帯型の電子機器であってもよい。ホスト装置3は、発電デバイス2aから送信される発電情報を受信する。そして、ホスト装置3は、受信した発電情報に基づいて、発電デバイス2aのユーザの行動特性を特定する。なお、ユーザの行動特性は、ユーザの行動の特徴であり、ユーザの生活のパターンや、行動の特徴から得られるユーザの趣味や嗜好などを含む概念である。
「発電デバイスの構成」
図2は、発電デバイスの主要な構成の一例を示す。図2では、電力が供給される経路を太線で示し、信号が伝送される経路を細い実線で示している。発電デバイス2aは、例えば、4個の発電部を備える。4個の発電部は、振動に応じて発電する振動発電部11a、太陽光により発電する太陽光発電部11b、ユーザの体表の温度差に応じて発電する温度差発電部11cおよび電波で発電する電波発電部11dである。なお、個々の発電部を区別する必要がないときは、発電部11と適宜、称する。発電部11の構成については、公知のものを適用できる。発電部11は、例えば、互いに発電原理が異なるものとされるが、同じ発電原理の発電部が使用されてもよい。例えば、太陽光発電としては同じ発電原理である、色素増感型太陽電池を使用した太陽光発電部と、アモルファスシリコン(Si)太陽電池を使用した太陽光発電部とが別個に設けられた構成でもよい。
発電部11は、パワーコントロール部20に接続されている。パワーコントロール部20は、例えば、各発電部11が発電する単位時間あたりの電力および発電量(電力量)をそれぞれ計測する。計測された電力および発電量が発電情報の一例である。発電部11によってAC(Alternating Current)電力が生成される場合には、パワーコントロール部20によって整流される。パワーコントロール部20は、MCU(Micro Controller Unit)12と接続されている。パワーコントロール部20は、発電情報に関するデータ(以下、適宜、発電情報と略称する)をMCU12に供給する。
MCU12は、発電デバイス2aの各部を制御する。MCU12は、例えば、メモリ13に対する記録および再生を制御する書換部や、ホスト装置3との間でなされる通信を制御する通信部として機能する。通信は、例えば、Bluetooth(登録商標)に基づく近距離無線である。もちろん、他の規格に準じた通信がなされるようにしてもよい。MCU12は、パワーコントロール部20から供給された発電情報を、I/F(Interface)14を介してホスト装置3に送信する。
MCU12に、メモリ13が接続されている。メモリ13は、EEPROM(Electrically Erasable and Programmable Read Only Memory)などの不揮発性メモリである。MCU12は、パワーコントロール部20から供給された発電情報をメモリ13に書き込む。MCU12は、通信によって取得した他のユーザの発電情報をメモリ13に書き込み、メモリ13に記憶されている発電情報を書き換えるようにしてもよい。
なお、MCU12、メモリ13およびI/F14が動作するための駆動電圧は、例えば、発電部11からの電力によって生成される。すなわち、発電部11からの電力がパワーコントロール部20に供給される。パワーコントロール部20は、供給された電力からMCU12が動作するための駆動電圧を生成する。駆動電圧がパワーコントロール部20からMCU12に供給され、MCU12が動作する。同様にして、メモリ13およびI/F14にパワーコントロール部20から電力が供給される。
I/F14は、ホスト装置3とのインタフェースをとる。インタフェース14を介して、ホスト装置3との通信がなされる。なお、本開示では、一例として、ホスト装置3から発電デバイス2aに電力が供給されるようにしている。発電デバイス2aとホスト装置3との間でデータのやり取りを行うため、発電デバイス2aがホスト装置3に、例えば、USBで接続される。発電デバイス2aがホスト装置3に接続されると、所定のラインを介して、ホスト装置3から発電デバイス2aのパワーコントロール部20に電力が供給される。パワーコントロール部20は、供給された電力に基づいて、MCU12等を動作させる駆動電圧を生成し、生成した駆動電圧をMCU12等に供給する。
発電情報を生成する方法として、例えば、電力や発電量等の発電に関するパラメータを3種類用意し、発電部の種類を7種用いることにより、21桁のデータの表記が可能となる。パラメータより各桁につい3通りのデータを抽出とすれば3の21乗通りの組み合わせを再現することができる。発電機の種類をM、発電に関するパラメータ数をN、パラメータから生成するデータ数をLとすれば1レコード長(M*L)×log2Nビットの再現としてもよい。
「パワーコントロール部の構成」
図3は、パワーコントロール部20の構成の一例を示す。なお、図3では説明を簡単に、発電部を振動発電部11aおよび太陽光発電部11bとして説明する。
振動発電部11aが動作することでAC電圧が生成される。生成されたAC電圧がパワーコントロール部20に供給される。供給されたAC電圧が、パワーコントロール部20における整流回路21によってDC(Direct Current)電圧に変換される。変換されたDC電圧が発電量計測部22に供給される。発電量計測部22は、供給されたDC電圧と電流量とから、単位時間当たりの電力および発電量を計測する。単位時間は、1秒、1分など適宜、設定することができる。
発電量計測部22は、RTC(Real Time Clock)27と接続されている。このため、発電量計測部22は、RTC27から供給される時間情報を使用して単位時間当たりの電力および発電量を計測できる。計測された単位時間当たりの電力および発電量が、発電情報の一例として、発電情報管理部26に供給される。発電情報管理部26は、供給された振動発電部11aの発電情報を、信号ラインL1を介してMCU12に供給する。
太陽光発電部11bが動作することでDC電圧が生成される。生成されたDC電圧がパワーコントロール部20に供給される。DC電圧が発電量計測部24に供給される。発電量計測部24は、RTC27から供給される時間情報を参照して、供給されたDC電圧と電流量とから、単位時間当たりの電力および発電量を計測する。計測された単位時間当たりの電力および発電量が、発電情報の一例として、発電情報管理部26に供給される。発電情報管理部26は、供給された太陽光発電部11bの発電情報を、信号ラインL1を介してMCU12に供給する。なお、温度差発電部11cおよび電波発電部11dの発電情報も同様にして計測され、計測された発電情報が発電情報管理部26を介してMCU12に供給される。
なお、発電情報がメモリ13に記憶されるようにしてもよい。例えば、1日における決まった時間に発電情報が計測されるようにしてもよい。そして、週単位や月単位で発電情報が蓄積されるようにしてもよい。
各発電部からの電圧が逆流防止用のダイオードを介して出力される。上述したように、振動発電部11aによって生成されたAC電圧が整流回路21によってDC電圧に変換される。変換されたDC電圧がダイオード23を介して出力される。太陽光発電部11bによって生成されたDC電圧がダイオード25を介して出力される。これらの出力のうち、例えば、最も高い電圧が電力ラインL2に供給される。なお、電力ラインL2に対して、RTC27が接続されている。RTC27が動作するための電圧が、電力ラインL2からRTC27に供給される。
電力ラインL2に、蓄電素子28が接続されている。蓄電素子28は、例えば、電気二重層コンデンサによって構成される。電力ラインL2に供給される電圧によって、蓄電素子28が蓄電される。蓄電素子28に蓄電された電圧に基づく駆動電圧より、例えば、MUC12やメモリ13が動作する。なお、図示は省略しているが、蓄電素子28の出力側に、電力ラインL2に供給される電圧をMCU12やメモリ13が対応する電圧に変換する変換部が適宜、設けられる。蓄電素子28に、ホスト装置3からの電圧が供給されるようにしてもよい。
このようにして、個々の発電部の発電情報が、パワーコントロール部20からMCU12に供給される。MCU12は、発電情報をI/F14を介してホスト装置3に供給する。例えば、発電情報が無線によってホスト装置3に送信される。なお、上述したパワーコントロール部20の構成は一例である。パワーコントロール部20が、パワーコントロール部20の各部を制御するCPU(Central Processing Unit)等を有する構成でもよい。
ホスト装置3は、発電デバイス2aから送信された発電情報を受信する。ホスト装置3は、受信した発電情報に応じて、発電デバイス2aのユーザの行動特性を判別する。ユーザの行動特性を判別する処理は、ホスト装置3における、例えば、CPUによって実行される。すなわち、ホスト装置3は、特定装置の一例として機能する。なお、ユーザの行動特性を判別する処理が、発電デバイス2aのMCU12によって実行されてもよい。この場合には、発電デバイス2aが特定装置の一例として機能する。
「行動特性の判別」
図4を参照して、発電情報に応じて行動特性を判別する方法の一例を概略的に説明する。図4では、4つの発電情報(発電情報A、発電情報B、発電情報Cおよび発電情報D)のパターンを示している。発電情報における棒状のグラフの高さは、各発電部が発電した発電量を模式的に示したものである。
図4Aに示す発電情報Aに注目すると、太陽光発電部11bが発電した発電量が最も大きい。すなわち、ユーザが屋外で活動することが判別される。これに対して、電波発電部11dが発電した発電量が小さい。このことから、電波が届きにくい地域(例えば、山)でユーザが活動することが判別される。振動発電部11aが発電した発電量および温度差発電部11cが発電した発電量が、通常のレベル程度存在する。このことから、ユーザが歩行程度の活動をしていることが判別される。以上を総合して、発電情報Aのようなパターンの場合は「アウトドアをよく楽しむ」という行動特性が判別される。
図4Bに示す発電情報Bに注目すると、振動発電部11aが発電した発電量、太陽光発電部11bが発電した発電量が大きい。さらに、温度差発電部11cが発電する発電量も大きい。電波発電部11dが発電する発電量も通常程度、存在する。このようなパターンの発電情報から、ユーザが屋外で激しい活動をしていると判別される。すなわち、「スポーツをよくする」という行動特性が判別される。
図4Cに示す発電情報Cに注目すると、振動発電部11aが発電した発電量、太陽光発電部11bが発電した発電量が小さい。温度差発電部11cが発電する発電量および電波発電部11dが発電する発電量も通常のレベルよりやや低い程度である。このようなパターンの発電情報から、ユーザが屋内におり、あまり活発に行動していないと判別される。すなわち、「屋内にこもりがち」という行動特性が判別される。
図4Dに示す発電情報Dに注目すると、振動発電部11aおよび太陽光発電部11bが発電した発電量は、通常のレベル程度、存在する。温度差発電部11cが発電する発電量がやや大きいことから、ユーザがやや活発に活動していることが判別される。電波発電部11dが発電する発電量が大きい。したがって、ユーザがいる場所が、電波が行き届いている場所(例えば、市街地)であることが判別される。以上から、発電情報Dのようなパターンの場合は「街でよく遊ぶ」という行動特性が判別される。これらの行動特性は、所定のビット(またはバイト)列で表現される。2つの行動特性のビット列の値が一致していれば同じ行動特性であり、ビット列の値が近似していればいるほど似た行動特性になるように設定してもよい。なお、行動特性に関するデータを適宜、行動特性と略称することもある。
以上のようにして、各発電部が発電する発電量に応じて行動特性が判別される。もちろん、上述した行動特性は一例であり、適宜変更できる。各発電部が発電する発電量の相対的な比率と、その比率に対応する行動特性が対応付けられたテーブルが記憶されていてもよい。そのテーブルを参照して、行動特性が判別されるようにしてもよい。実際の発電量の比率に対応する比率がテーブルに規定されていない場合は、近似している比率で代用するようにしてもよい。年齢、居住地、性別などのユーザ情報に応じて、使用されるテーブルが変更されるようにしてもよい。
「処理の流れ」
図5は、第1の実施形態における処理の流れの一例を示す。図5中、図面に向かって左側が発電デバイス2aの処理の流れを示し、図面に向かって右側がホスト装置3の処理の流れを示す。
ステップS1の処理では、発電デバイス2aに対して、4個の発電部の少なくとも一つの発電部からエネルギーが印加される。例えば、太陽光発電部11bから、DC電圧が発電デバイス2aに供給される。処理がステップS2に進む。
ステップS2では、蓄電素子28の蓄電量が、MCU12やメモリ13を動作させるのに十分であるか否かが判定される。例えば、閾値を設定し、蓄電量が閾値より大きい場合に蓄電量が十分であると判定する。この判定は、パワーコントロール部20によって行われる。蓄電量が十分でない場合には、処理がステップS1に戻る。蓄電量が閾値より大きく十分である場合には、処理がステップS3に進む。
ステップS3では、蓄電素子28に、負荷としてのMCU12やメモリ13などが接続される。実際には、蓄電素子28とMCU12等の間にはスイッチが接続されており、スイッチがオンされることで、蓄電素子28にMCU12等が接続される。スイッチのオン/オフ制御は、パワーコントロール部20によって行われる。なお、MCU12に対して安定した電力が供給できる場合には、MCU12を常時オンし、MCU12が蓄電素子28の蓄電量を監視したり、スイッチに対するオン/オフ制御を行うようにしてもよい。
蓄電素子28から供給される電圧によって、MCU12が起動される。MCU12は、自身が動作する電圧が、発電部11からの電圧か、または、ホスト装置3からの電圧かを判断する。この判断は、例えば、発電デバイス2aがホスト装置3に接続されているか否かをMCU12が検出することで行われる。MCU12による検出処理は、例えば、接続を機械的な機構によって検出するようにしてもよいし、MCU12に入力される特定の信号の有無を検出するようにしてもよい。
発電デバイス2aがホスト装置3に接続されるときは、ホスト装置3から発電デバイス2aの蓄電素子28に電圧が供給される。したがって、MCU12の電源として、ホスト装置3から供給される電力が使用されていることになり、ステップS3の判定がNoとなる。ステップS3の判定がNoであることから、処理がステップS7に進む。
発電デバイス2aがホスト装置3に接続されていない場合には、MCU12は、少なくとも一の発電部から供給される電力を、電源として使用していることになる。したがって、ステップS3の判定がYesとなる。ステップS3の判定がYesであることから、処理がステップS4に進む。
ステップS4では、各発電部が発電した発電量が計測される。例えば、振動発電部11a、太陽光発電部11b、温度差発電部11cおよび電波発電部11dのそれぞれが発電した発電量がパワーコントロール部20によって計測される。計測された発電量が発電情報として、パワーコントロール部20からMCU12に供給される。そして、処理がステップS5に進む。
ステップS5では、MCU12の制御によって、発電情報がメモリ13に記憶される。そして、処理がステップS6に進む。ステップS6では、発電デバイス2aがスリープ状態とされる。例えば、MCU12と蓄電素子28との間のスイッチがオフされる。そして、処理がステップS1に戻る。なお、発電デバイス2aにおける処理が周期的になされるようにしてもよい。ステップS6の処理の後、所定時間、経過した後にステップS1からの処理が行われるようにしてもよい。
ステップS3においてNoと判定されると、処理がステップS7に進む。ステップS7では、ホスト装置3との通信処理がなされる。ステップS7では、例えば、ホスト装置3と通信を確立する処理と、メモリ13に記憶された発電情報を送信する処理と、ホスト装置3との通信を遮断する処理とが実行される。
次に、ホスト装置3側の処理の流れについて説明する。ホスト装置3の処理は、発電デバイス2aのステップS7の処理に対応して実行される。始めに、ステップS8では、発電デバイス2aとの接続を確立する処理が実行される。接続ができない場合には、ホスト装置3にエラーが表示されたり、警告音が鳴るようにしてもよい。発電デバイス2aとの間の接続が確立すると、処理がステップS9に進む。
ステップS9では、発電デバイス2aから送信された発電情報を受信することで、発電情報を取得する。取得された発電情報が、ホスト装置3の記憶部に記憶されるようにしてもよい。次に、処理がステップS10に進む。ステップS10では、発電情報が解析される。そして、処理がステップS11に進み、発電情報を解析することで、ユーザの行動特定が特定される。
なお、ホスト装置3によって判別された行動特性に関するデータが発電デバイス2aに送信されてもよい。送信された行動特性が発電デバイス2aにより受信される。受信された行動特性がメモリ13に記憶されるようにしてもよい。さらに、行動特性に応じて発電デバイス2aの外観が変化するようにしてもよい。例えば、発電デバイス2aにLED(Light Emitting Diode)等の発光部が設けられる。ホスト装置3から送信された行動特性が、上述した「アウトドアをよく楽しむ」といった場合は、発光部が緑色に発光する。行動特性が、上述した「スポーツをよく楽しむ」といった場合は、発光部が赤色に発光する。行動特性が、上述した「屋内にこもちがち」といった場合は、発光部が黒色に発光する。行動特性が、上述した「街でよく遊ぶ」といった場合は、発光部が黄色に発光する。このように、行動特性に応じて発電デバイス2aの外観が変化するようにしてもよい。
以上のように、第1の実施形態では、発電部から得られる発電情報に応じて、発電デバイスのユーザの行動特性を決定することができる。
<2.第2の実施形態>
次に、第2の実施形態について説明する。第2の実施形態は、ユーザの行動特性を仮想のオブジェクトに反映するものである。具体的には、行動特性に応じて、オブジェクトの一例であるゲームのキャラクタ(以下、適宜、キャラクタと略称する)を生成する。行動特性に応じて、キャラクタの属性を変更するようにしてもよい。さらに、発電情報をキャラクタの属性に反映させるようにしてもよい。なお、発電デバイス等の構成については、上述した第1の実施形態と同様であるので、重複した説明を省略する。
「キャラタへの行動特性の反映」
図6を参照して、行動特性をキャラクタに反映する方法の一例を概略的に説明する。なお、図6における発電情報および行動特性は、図4における発電情報および行動特性と同様である。なお、以下に説明する、行動特性をキャラクタに反映させる処理は、例えば、ホスト装置3によって行われるが、発電デバイス2によって行われるようにしてもよい。図6では、キャラクタのイメージを文字で示しているが、キャラクタの様相、デザイン等は適宜設定できる。キャラクタは、人物のキャラクタに限らず、動物や仮想の生物(モンスターなど)などを含むものである。
図6Aに示す発電情報から「アウトドアをよく楽しむ」という行動特性が判別される。この行動特性を反映させて、例えば、アウトドアに想起させるような「山に住むキャラクタ」を生成する。図6Bに示す発電情報から「スポーツをよくする」という行動特性が判別される。この行動特性を反映させて、例えば、筋肉質な身体を想起させるような「屈強な戦士のキャラクタ」を生成する。
図6Cに示す発電情報から「屋内にこもりがち」という行動特性が判別される。この行動特性を反映させて、例えば、他人との交流が少ないイメージを想起させるような「黒い衣装の魔女のキャラクタ」を生成する。図6Dに示す発電情報から「街でよく遊ぶ」という行動特性が判別される。この行動特性を反映させて、例えば、遊びが好きな性格を想起させるような「いたずら好きな小人のキャラクタ」を生成する。
上述した一例は、行動特性に応じてキャラクタを生成する例である。行動特性に応じて、キャラクタの属性を変更するようにしてもよい。ゲームのキャラクタは、他のキャラクタと仮想空間で戦闘等をすることに伴って成長する「成長過程」や、「ステータス(レベルなどとも称される)」や、キャラクタの「職業」や、キャラクタの「アイテム」や、キャラクタの「知力」などといった属性が定義されている。これらの属性が相互に組み合わされることもある。行動特性に応じて、例示した属性を変更するようにしてもよい。例えば、振動発電部11aの発電量が大きく、「スポーツをよくする」という行動特性が特定された場合には、キャラクタの成長が進むようにしてもよい。行動特性をキャラクタの属性に反映させることで、他のユーザが所有するキャラクタとの差異化を図ることができる。さらに、キャラクタを成長させるために、ユーザがスポーツをし始めるなど、ユーザの行動に変化を生じさせることができる。
発電情報そのものをキャラクタの属性に反映させるようにしてもよい。例えば、発電部が利用するエネルギーに関連するようにして、キャラクタの属性を付与または変更するようにしてもよい。キャラクタの属性として、例えば、水・火・土・風・闇・聖・無が定義されている。以下に、属性の付与の一例を説明する。振動発電部11aの発電量が大きいときは土属性が付与され、振動発電部11aの発電量が少ないときは風属性が付与される。太陽光発電部11bの発電量が大きいときは、天使的な要素の聖属性が付与される。太陽光発電部11bの発電量が小さいときは、悪魔的な要素の闇属性が付与される。温度差発電部11cの発電量が大きいときは、火属性が付与される。温度差発電部11cの発電量が小さいときは、水属性が付与される。全ての発電量が小さいとき(基準値以下)の場合は、属性が無しに設定される。発電部11のそれぞれが、1つの属性に対応するようにしてもよい。
各属性の間には、優位および不利の相関が存在する。例えば、水属性のキャラクタは、火属性のキャラクタに対して優位とされる。属性が組合せられるようにしてもよい。例えば、火属性のキャラクタは水属性のキャラクタには劣るが、闇属性と火属性とを備えるキャラクタは水属性のキャラクタに対して優位になるというような相関が設定されるようにしてもよい。
図7に例示するように、水、火、聖、闇等の属性に応じてキャラクタが設定されている。個々のキャラクタには、例えば、各キャラクタを識別するためのキャラクタIDやキャラクタ名などが設定されている。発電部の発電情報から水、火、聖、闇等の属性が決定され、属性に応じてキャラクタが決定される。なお、図7に例示するキャラクタを決定するためのテーブルは、キャラクタの追加等により適宜、更新される。
発電情報がキャラクタの属性に反映される処理の一例を説明する。以下に説明する処理は、ソフトウェアによる処理によってなされる。なお、以下の説明では、発電部が、アモルファスシリコン(Si)太陽電池が使用される太陽光発電部(以下、適宜、太陽光発電部11eと称する)と、色素増感型太陽電池(以下、適宜、太陽光発電部11fと称する)が使用される太陽光発電部とから構成される。
ここで、アモルファスシリコン太陽電池は、照度が所定値以上のときは発電量が大きくなるが、照度が所定値より小さくなると発電量が小さくなるといった特性を有する。すなわち、発電デバイス2aのユーザが屋外で活動することが多い場合には、アモルファスシリコン太陽電池の発電量が大きくなる。なぜなら、屋外での活動は、通常、天候が晴れのとき、すなわち、照度が大きいときに行われるものだからである。このようなアモルファスシリコン太陽電池の特性を利用して、ユーザが屋外で活動するか否かを判別できる。
これに対して、色素増感型電池は、発電量は小さいものの、照度が小さいときでも発電する。蛍光灯等の照明の照度でも、色素増感型電池は発電する。このような色素増感型電池の特性を利用して、ユーザが屋内で活動するか否かを判別できる。
図8を参照して、処理の具体的な内容について説明する。始めに、ステップS20およびステップS21において、サンプリング時間tsにおける発電電力、電圧が取得される。各サンプリング時間で得られたi番目のデータ配列をそれぞれ、太陽光発電部11eの出力をPa[i]とし、太陽光発電部11fの出力をPb[i]とする。なお、Pa、Pbはそれぞれ、Pa[i]=(pa[i]電力,va[i]電圧,t[i])、Pb[i]=(pb[i]電力,vb[i]電圧,t[i])などの配列(出力ベクトル)であってもよい。この出力ベクトルをもとにキャラクタの特徴量を演算する。このときの演算式である評価関数は多種多様なものが想定できるため、ここではF、G、Hとしている。なお、FとGは出力系統ごとに有する評価関数である。Hは複数の出力系統を入力とする評価する関数である。FとGとは別々の関数であっても構わないし、同じ関数となっても構わない。
ステップS22では、関数F(Pa[i])を閾値と比較する処理がなされる。関数F(Pa[i])が閾値より大きければ、処理がステップS23に進む。ステップS23では、体力を示す変数VITに対してパラメータaが加算されている。(なお、本アルゴリズムの表現方法の一つとして、ステップS23におけるVIT=VIT+aなどは、C言語の表記方法に従っている。)さらに、ステップS23では、知力を示す変数INTに対してパラメータbが減算されている。すなわち、太陽光発電部11eの発電量を示す関数F(Pa[i])が閾値より大きいということから、ユーザが屋外で活動していることが判別される。このことから体力を示す変数を大きくし、知力を示す変数を小さくしている。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS20に戻る。
関数F(Pa[i])が閾値以下であれば、処理がステップS24に進む。ステップS24では、変数VITに対して、パラメータeが減算される。すなわち、関数F(Pa[i])が閾値以下であることから、ユーザが屋内で活動していることが判別される。このことから体力を示す変数を小さくしている。なお、屋内における活動は様々なものがある。また、ここでは判別式の判定結果の処理を一様の処理としないことで処理の複雑化を図り、ユーザが因果関係を推定できない部分を設けるようにしている。これにより、ユーザに対して飽きや慣れを与えないような配慮もしている。変数INTは変化させない。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS20に戻る。
関数G(Pb[i])についても同様の処理がなされる。ステップS26において、関数G(Pb[i])を閾値と比較する処理がなされる。なお、関数F(Pa[i])と比較される閾値と、関数G(Pb[i])と比較される閾値とが同一の値に設定されてもよく、異なる値に設定されてもよい。関数G(Pb[i])が閾値より大きい場合は、処理がステップS27に進む。ステップS27では、体力を示す変数VITに対してパラメータcが減算され、知力を示す変数INTに対してパラメータdが加算される。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS21に戻る。
関数G(Pb[i])が閾値より小さい場合は、処理がステップS28に進む。ステップS28では、知力を示す変数INTに対して、パラメータfが減算される。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS21に戻る。
ステップS30では、関数H(Pa[i], Pb[i])と閾値とを比較する処理がなされる。閾値は、他の閾値と同一または異なる値に設定される。ここでは、HをH(Pa[i],Pb[i])=(ある時点ts[i-1]とある時点ts[i]でのアモルファスシリコン太陽電池の出力発電量)+(ある時点ts[i-1]とある時点ts[i]での色素増感型太陽電池の出力発電量)と定義する。
関数H(Pa[i], Pb[i])が閾値より大きい場合は、処理がステップS32に進む。ステップS32では、パラメータg,hを使用して、聖属性値を増加させ、闇属性値を減少させる処理がなされる。すなわち、聖属性値に対してパラメータgが加算され、闇属性値に対してパラメータhが減算される。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS20およびステップS21に戻る。
関数H(Pa[i], Pb[i])が閾値以下である場合は、処理がステップS33に進む。ステップS33では、パラメータk,lを使用して、聖属性値を減少させ、闇属性値を増加させる処理がなされる。すなわち、聖属性値に対してパラメータkが減算され、闇属性値に対してパラメータlが加算される。そして、処理がステップS25に進む。ステップS25では、変数iがインクリメントされ、処理がステップS20およびステップS21に戻る。
ステップS32およびステップS33がなされることで、明るい場所にいた時間が長いほど聖属性の傾向が強くなり、暗い場所にいる時間が長いほど闇属性の傾向が強くなる。ユーザの周囲環境により、キャラクタを特徴付けることが可能となる。
なお、ステップS22、ステップS26およびステップS31における処理は、閾値と比較する処理に限られない。各処理において、関数が特定の条件に合致した場合に属性値を変化させる処理がなされるようにしてもよい。また、関数F, G, Hについて引数の値が閾値より大、ある閾値以下という判別式を用いたが、この閾値・判別式ともに関数I,Jであってもよい。さらに、特徴量を変更する手続きとしてここでは簡単にパラメータを用いた加減算処理を記述したが、特徴量の変更についても関数PA,PB,PC, PD, PE, としてもよく、かつそれらパラメータの処理についてもPA,PB,PC, PD, PEを引数とする関数処理P[PA], P[PB], P[PC], P[PD], P[PE]であってもよい。例えば、図9に示すように、ステップS35においてJ(I[i])=TRUEのとき、処理P[PA]を行い(ステップS36)、J(I[i])=FALSEのとき、処理P[PB]を行うとしてもよい(ステップS37)。このように、発電情報をキャラクタの属性に反映させる処理は、例えば、ホスト装置3によって行われる。この場合は、ホスト装置3の制御部が属性処理部として機能する。なお、処理がMCU12によって行われてもよい。
「処理の流れ」
図10は、第2の実施形態における処理の流れの一例を示すフローチャートである。なお、発電デバイスが行う処理(ステップS41からステップS46までの処理)は、第1の実施形態において発電デバイスが行う処理(ステップS1からステップS6までの処理)と同様であるので、重複した説明を適宜、省略する。ステップS47において、発電デバイス2は、ホスト装置3との接続が確立した後に、発電情報をホスト装置3に送信する。
ステップS48において、ホスト装置3は、発電デバイス2aとの接続を確立する処理を行う。そして、処理がステップS49に進む。ステップS49では、発電デバイス2aから送信された発電情報がホスト装置3によって受信される。そして、処理がステップS50に進む。ステップS50およびステップS51において、ホスト装置3は、受信した発電情報を解析し、発電情報に応じた行動特性を特定する。そして、処理がステップS52に進む。ステップS52において、ホスト装置3は、行動特性をゲームデータに反映させる処理を行う。例えば、行動特性を反映させたゲームのキャラクタを生成する。
なお、ステップS52の処理において生成等されたキャラクタが他の装置(例えば、携帯型のゲーム機器)に送信されるようにしてもよい。キャラクタがサーバにアップロードされ、他のユーザに公開されるようにしてもよい。キャラクタを識別する識別子(ID)が発電デバイスに送信され、識別子に応じて発電デバイスの外観が変更されるようにしてもよい。
<3.第3の実施形態>
次に、第3の実施形態について説明する。第3の実施形態において例示する発電デバイスは、かばんや洋服に取り付けることが可能なタグ形状であり、ディスプレイが設けられた形状である。このディスプレイに、ユーザの行動特性が反映されたキャラクタを表示させることができる。
図11は、第3の実施形態における発電デバイス2bの構成の一例を示す。発電デバイス2bは、発電部11、パワーコントロール部20、MCU12、メモリ13、I/F14を備える。なお、図示を簡略しているが、発電部11は、例えば、振動発電部11a、太陽光発電部11bなどにより構成される。これらの構成およびその機能は、発電デバイス2aと略同様のため、重複した説明を省略する。
発電デバイス2bは、さらに、ディスプレイ33および通信(RF(Radio Frequency))モジュール34を備える。ディスプレイ33および通信モジュール34に対する制御は、MCU12によってなされる。ディスプレイ33は、例えば、LCD(Liquid Crystal Display)である。有機EL(Electroluminescence)等の他のディスプレイで構成されてもよい。ディスプレイ33には、ユーザの行動特性が反映されたゲームのキャラクタが表示される。もちろん、他の情報をディスプレイ33に表示できるようにしてもよい。ディスプレイ33に電力が供給されるときに、キャラクタがディスプレイ33に常時、表示されてもよく、ユーザの操作に応じて、キャラクタの表示がオン/オフされてもよい。
行動特性をキャラクタに反映する処理の詳細は、第2の実施形態で説明したので重複した説明を省略している。なお、行動特性をキャラクタに反映する処理は、MCU12によって行われてもよく、ホスト装置3によって行われてもよい。
MCU12には、通信モジュール34が接続される。通信モジュール34は、MCU12によって制御される。すなわち、MCU12および通信モジュール34が通信部として機能する。通信モジュール34は、他のユーザが所有する発電デバイスと通信を行うためのモジュールである。なお、ホスト装置3と通信を行うI/F14と通信モジュール34とが同一の構成とされてもよい。説明の便宜を考慮して、他のユーザが所有する発電デバイスを発電デバイス2b'と称する。発電デバイス2b'の構成は、発電デバイス2bと略同様の構成とされる。
具体的には、通信モジュール34は、発電デバイス2bと他のユーザが所有する発電デバイス2b'がすれ違うと、すれ違い通信を行う。通信は、様々な通信規格(例えば、BluetoothやZigbeeなど)に対応することができる。以下、通信モジュール34が行うすれ違い通信の概要について説明する。
通信モジュール34は、所定距離内(例えば、数m(メートル)の範囲内)に、発電デバイス2b'が存在するか否かを監視する。所定距離内に発電デバイス2b'が存在する場合は、通信モジュール34と発電デバイス2b'の通信モジュールとの間で通信が行われ、発電情報が交換される。例えば、MCU12によってメモリ13から読み出された発電情報が通信モジュール34に供給され、通信モジュール34を介して発電情報が発電デバイス2b'に供給される。例示した通信方法以外の公知の通信方法を使用してもよい。なお、発電情報を送受信可能にするか否かをユーザが設定できるようにしてもよい。
さらに、発電デバイス2b'の発電情報が通信モジュール34により受信される。受信された発電デバイス2b'の発電情報がMCU12に供給される。MCU12は、供給された発電デバイス2b'の発電情報をメモリ13に書き込む。MCU12は、例えば、メモリ13に記憶されていた発電部11の発電情報を、通信によって取得した発電デバイス2b'の発電情報に書き換える。
「処理の流れ」
図12は、第3の実施形態における処理の流れの一例を示すフローチャートである。なお、図12に示す処理が行われる前に、発電デバイス2bの発電情報が計測され、計測された発電情報がメモリ13に記憶されている。発電情報からのユーザの行動特性が特定され、特定された行動特性が反映されたキャラクタが設定されている。設定されたキャラクタがディスプレイ33に表示されていてもよい。
ステップS60では、発電デバイス2bにエネルギーが供給される。ステップS61において、MCU12、メモリ13、I/F14、ディスプレイ33、通信モジュール34などを動作させるに足る電圧が蓄電素子28に蓄電されたか否かが判断される。蓄電素子28の蓄電量が十分でない場合は、処理がステップS60に戻る。蓄電素子28の蓄電量が十分である場合は、処理がステップS62に進む。ステップS62では、電源が発電部の電力か外部からの電力であるかの判定が行われる。ステップS3と同様に、発電デバイス2bがホスト装置3に接続されているか否かが判定される。電源として発電部からの電力が使用されている場合は、処理がステップS63に進む。
ステップS63では、通信モジュール34によるすれ違い通信がなされる。すなわち、通信モジュール34により、発電デバイス2bから所定の範囲内に他の発電デバイス2b'が存在するか否かが判断される。なお図示は省略しているが、所定範囲内に、他の発電デバイス2b'が存在しない場合は、処理がステップS65に進み、発電デバイス2bがスリープ状態になる。
発電デバイス2bの所定範囲内に、他の発電デバイス2b'が存在する場合は、通信モジュール34はすれ違い通信により、発電デバイス2b'から発電情報を受信する。そして処理がステップS64に進む。
ステップS64では、受信された発電情報が、通信モジュール34からMCU12に供給される。MCU12は、供給された発電情報をメモリ13に記憶する。例えば、以前に発電デバイス2bによって計測され、メモリ13に記憶されている発電情報が、発電デバイス2b'によって計測された発電情報に書き換えられる。そして、処理がステップS65に進み、発電デバイス2bがスリープ状態にされる。発電情報が書き換えられる処理は、ユーザが、発電デバイス2b'を所有するユーザとすれ違うことで行われる。この処理は、ユーザによって知覚されることはない。
ステップS62における判定処理で、電源としてホスト装置3からの電力が使用されている場合は、処理がステップS66に進む。ステップS66では、ホスト装置3との通信を確立する処理が行われる。そして、メモリ13に記憶されている発電デバイス2b'の発電情報を、ホスト装置3に送信する。ステップS66に続いて行われるステップS67のキャラクタ変更処理については、後述する。
ホスト装置3側の処理について説明する。ステップS68において、発電デバイス2bと通信を確立する処理が行われる。発電デバイス2bと通信が確立すると、処理がステップS69に進む。ステップS69では、発電デバイス2bから送信される発電情報を受信する。そして、処理がステップS70に進む。
ステップS70では、発電情報が解析され、行動特性が特定される。ここで、ステップS69で受信する発電情報は、他のユーザが保有する発電デバイス2b'の発電情報である。つまり、ステップS70における処理では、発電デバイス2b'を保有する他のユーザの行動特性が特定される。そして、処理がステップS71に進む。ステップS71では、ステップS70で特定された他のユーザの行動特性がキャラクタの属性に反映される。例えば、他のユーザの行動特性に応じたキャラクタが生成される。そして、処理がステップS72に進む。ステップS72では、ステップS71で生成されたキャラクタの表示データがホスト装置3から発電デバイス2bに対して送信される。送信されたキャラクタの表示データが通信モジュール34によって受信され、受信されたキャラクタの表示データがMCU12に供給される。
ホスト装置3におけるステップS72の処理に対応して、発電デバイス2bにおいてキャラクタ変更処理(ステップS67)が行われる。MCU12は、ホスト装置3から送信されたキャラクタの表示データに基づいてディスプレイ33を制御し、ディスプレイ33にキャラクタを表示する。ホスト装置3から送信されたキャラクタの表示データをメモリ13に記憶し、ユーザの操作に応じてキャラクタがディスプレイ33に表示されるようにしてもよい。そして、処理がステップS65に進み、発電デバイス2bがスリープ状態とされる。スリープ状態において、キャラクタの表示が継続されるようにしてもよい。
ユーザは、自身の行動の履歴から、キャラクタに対する一定のイメージを有している。例えば、激しい運動をしたユーザは、キャラクタが成長していたり、キャラクタのアイテムが増加していると推測する。そして、このようなイメージを有した状態でディスプレイ33に表示されたキャラクタを確認する。すると、ディスプレイ33に実際に表示されたキャラクタは、他のユーザの行動特性に応じたキャラクタであり、ユーザがイメージするキャラクタとは別物である。ユーザがイメージするキャラクタと実際のキャラクタとの違いにより意外性が増し、エンタテインメント性が向上する。他のユーザの行動特性に応じたキャラクタをユーザが気に入れば、そのキャラクタをメモリ13に記憶させてもよい。
なお、メモリ13に記憶されていたユーザの発電情報を書き換えなくてもよい。これにより、発電デバイス2bの発電情報からユーザ自身の行動特性が特定でき、行動特性をキャラクタの属性に反映することができる。すなわち、他のユーザの行動特性に基づくキャラクタを、自己の行動特性に基づくキャラクタに戻すことができる。
さらに、ユーザの行動特性と他のユーザの行動特性をミックスして新たな行動特性を生成するようにしてもよい。例えば、ユーザの行動特性が「非常によく外出する」であり、他のユーザの行動特性が「通常程度に外出する」であれば「比較的、よく外出する」という行動特性を生成する。具体的には、2以上の行動特性のデータの平均をとり、平均値に対応する行動特性を新たな行動特性として生成する。生成した行動特性をキャラクタの属性に反映させるようにしてもよい。
<4.第4の実施形態>
次に第4の実施形態について説明する。第4の実施形態は、発電デバイスにセンサを設けている。発電情報に加えて、センサから得られる情報を使用してユーザの行動特性を特定する。さらに、自身の行動特性に似た行動特性を有するユーザとすれ違ったときに、その旨を報知する。報知する手段は問わない。第4の実施形態では、表示によって報知する例を説明するが、音や振動などによって報知するようにしてもよい。表示や音を組み合わせて報知するようにしてもよい。
図13は、第4の実施形態における発電デバイス2cの構成の一例を示す。発電デバイス2cは、発電デバイス2bと略同様の構成とされる。すなわち、発電デバイス2cは、振動発電部11aや太陽光発電部11b等の発電部11、パワーコントロール部20、MCU12、メモリ13、I/F14、ディスプレイ33および通信モジュール34を備える。これらの構成の詳細については、発電デバイス2bにおける対応する構成と略同様であるので重複した説明を省略する。
発電デバイス2cは、さらに、センサ35を備える。センサ35には、種々のセンサを適用できる。例えば、緯度および経度や高度などの位置情報を取得するセンサや加速度を検出するセンサや、ジャイロセンサなどセンサ35として適用できる。さらに、温度や湿度などの気候条件を取得するセンサや、臭気や明度を検出するセンサ、音圧や特定物質を検出するセンサなどをセンサ35として適用できる。センサ35によって取得されたセンサ情報がMCU12に供給される。
MCU12は、取得したセンサ情報と、パワーコントロール部20から供給された発電情報とをホスト装置3に送信する。ホスト装置3は、センサ情報と発電情報とからユーザの行動特性を判別する。ホスト装置3は、センサ情報および発電情報からユーザの行動特性を判別する。センサ情報を併せて使用することで、ユーザの行動特性をより具体的に判別することができる。例えば、センサ35として位置情報を検出するGPS(Global Positioning System)が使用されるとする。GPSから得られる情報を併用することで、例えば、ユーザが行動している場所をより詳細に特定できる。このため、例えば、「アウトドアをよく行う」という行動特性を、「山登りをよくする」や「公園でのハイキングをよくする」というように具体的に特定できる。
「処理の流れ」
図14は、第4の実施形態における処理の流れの一例を示すフローチャートである。ステップS80では、発電デバイス2cにエネルギーが供給される。ステップS81において、MCU12、メモリ13、I/F14、ディスプレイ33、通信モジュール34、センサ35などを動作させるに足る電圧が蓄電素子28に蓄電されたか否かが判断される。蓄電素子28の蓄電量が十分でない場合は、処理がステップS80に戻る。蓄電素子28の蓄電量が十分である場合は、処理がステップS82に進む。ステップS82には、電源が発電部の電力か外部からの電力であるかの判定が行われる。ステップS3と同様に、発電デバイス2cがホスト装置3に接続されているか否かが判定される。電源として発電部からの電力が使用されている場合は、処理がステップS83に進む。
ステップS83では、センサ35が動作し、センサ35によるセンシング処理が行われる。ステップS83では、さらに、各発電部の発電量が計測され、発電情報が取得される。そして、処理がステップS84に進む。ステップS84では、ステップS83で取得された発電情報およびセンサ情報がメモリ13に記憶される。そして、処理がステップS85に進む。
ステップS85では、メモリ13に行動特性が記憶されているか否かが判断される。この例では、行動特性がホスト装置3で判別される。このため、発電デバイス2cがホスト装置3に接続されたことがない場合は、行動特性がメモリ13に記憶されていない。行動特性がメモリ13に記憶されていない場合は、処理がステップS89に進み、発電デバイス2がスリープ状態にされる。ユーザの行動特性がメモリ13に記憶されている場合は、処理がステップS86に進む。
ステップS86では、他の発電デバイス(以下、適宜、発電デバイス2c'と称する)を探索する処理が行われる。この処理は、例えば、通信モジュール34によって行われる。通信モジュール34は、発電デバイス2cの位置から所定範囲内(例えば、数mの範囲内)に発電デバイス2c'が存在するか否かを探索する。例えば、通信モジュール34は、周囲に探索メッセージを送信し、探索メッセージに対する応答の有無によって、発電デバイス2c'が周囲に存在するか否かを判別する。ステップS86が周期的(例えば、数秒ごと)になされるようにしてもよい。
ステップS86において、発電デバイス2c'が存在すると、発電デバイス2cと発電デバイス2c'との間で通信が行われる。この通信によって、互いの行動特性が交換される。発電デバイス2cの通信モジュール34は、発電デバイス2c'から送信される行動特性を受信し、受信した行動特性をMCU12に供給する。そして、処理がステップS87に進む。
MCU12は、通信モジュール34から供給された行動特性と、メモリ13に記憶されている行動特性と比較する。MCU12は、例えば、行動特性に関するデータの値を差分を算出し、差分の結果が閾値以下であれば行動特性が似ていると判別する。行動特性が似ていると判別したときは、発電デバイス2c'のユーザを発電デバイス2cのユーザの仲間とみなす。1または複数の発電デバイス2c'の行動特性と、ユーザの行動特性が比較され、仲間がいない場合は、処理がステップS89に進み、発電デバイス2cがスリープ状態に設定される。
ステップS87の処理において、所定範囲内に仲間がいれば処理がステップS88に進む。ステップS88では、例えば予め設定された手法により、発電デバイス2cの外観を変化させる処理がなされる。例えば、ディスプレイ33を所定の色で点滅する処理がなされる。この処理により、ユーザは、自分と似た行動特性を有する他のユーザが周囲にいることを認識できる。ステップS86〜ステップS88の処理は、ユーザと他のユーザがすれ違う際に行われてもよい。ユーザは、すれ違った相手が自分の行動特性とよく似ていることを認識でき、他のユーザに対して親近感などを抱くことができる。そして、処理がステップS89に進み、発電デバイス2cがスリープ状態に設定される。
ステップS82において、電源としてホスト装置3からの電力が使用されている、言い換えれば、発電デバイス2cがホスト装置3と接続されている場合には、処理がステップS91に進む。ステップS91では、例えばI/F14を使用して、ホスト装置3と接続を確立する処理が行われる。ホスト装置3と接続を確立した後に、発電情報およびセンサ情報をホスト装置3に対して送信する処理が行われる。ステップS91の処理に続いて、ステップS92の処理が行われる。ステップS92の処理については後述する。
ホスト装置3で行われる処理について説明する。ステップS95では、発電デバイス2cと接続を確立する処理が行われる。接続が確立すると、処理がステップS96に進む。ステップS96では、発電デバイス2cから送信された発電情報およびセンサ情報が受信される。そして、処理がステップS97に進む。ステップS97では、発電情報およびセンサ情報が解析される。そして、処理がステップS98に進む。ステップS98では、発電情報およびセンサ情報からユーザの行動特性が特定される。そして、処理がステップS99に進む。
ステップS99では、周囲に仲間が存在する場合に、発電デバイス2cの外観をどのように変化させるかを規定する外観変更候補が設定される。例えば、複数の外観変更候補がユーザに提示され、ユーザの操作に応じて外観変更候補が決定される。もちろん、ホスト装置3によって、外観変更候補が自動的に設定されるようにしてもよい。ホスト装置3ではなく、発電デバイス2cにおいて外観変更候補が設定されてもよい。そして、処理がステップS100に進む。ステップS100では、行動特性および外観変更候補を特定するデータが発電デバイス2cに送信される。
ステップS100の処理に対応して、発電デバイス2cにおいてステップS92の処理が行われる。ステップS92では、ホスト装置3から送信された行動特性および外観変更候補がメモリ13に記憶される。そして、処理がステップS89に進み、発電デバイス2cがスリープ状態に設定される。ステップS92で記憶された行動属性および外観変更候補に基づいて、上述したステップS87およびステップS88の処理が行われる。
このように、自分の行動特性と似た行動特性を有する他のユーザが周囲にいるか否かを判別できる。行動特性が似た他のユーザに対しては親近感を抱くことができ、新たなコミュニティ意識を創造できる。なお、行動特性が似ている度合いに応じて、外観の変化態様を異なるようにしてもよい。例えば、行動特性が全く同じである場合はディスプレイが赤色で点滅し、やや似ている場合はディスプレイが緑色で点滅し、わずかに似ている場合はディスプレイが黄色で点滅するようにしてもよい。なお、第4の実施形態におけるホスト装置は、センサ情報および発電情報に応じて行動特性を特定する装置として構成してもよい。発電デバイスについても同様である。
<5.変形例>
以上、本開示の一実施形態について説明したが、本開示は、上述した実施形態に限られることなく、種々の変形が可能である。以下、変形例について説明する。
「第1の変形例」
図15は、パワーコントロール部の変形例における構成を示す。上述した実施形態では、発電情報を電力および発電量として説明したが、発電情報を蓄電素子の蓄電量としてもよい。図15に示すように、パワーコントロール部40には、例えば、振動発電部11aおよび太陽光発電部11bから電圧が供給される。振動発電部11aからのAC電圧が、パワーコントロール部40における整流回路41によってDC電圧に変換される。整流回路41から供給されるDC電圧によって蓄電素子42aが蓄電される。太陽光発電部11bからのDC電圧によって蓄電素子42bが蓄電される。
整流回路41と蓄電素子42aとの間のラインに、蓄電量計測部43が接続されている。さらに、太陽光発電部11bと蓄電素子42bとの間のラインに、蓄電量計測部43が接続されている。蓄電量計測部43には、RTC45が接続されており、RTC45から蓄電量計測部43に対して時間情報が供給されるように構成されている。蓄電量計測部43は、RTC45からの時間情報を使用して、所定時間における蓄電素子42aおよび蓄電素子42bの蓄電量(電圧)をそれぞれ計測する。計測されたそれぞれの蓄電量が、ラインL3を介してMCU12に供給される。このように、発電部に対応する蓄電素子を設け、蓄電量を発電情報としてもよい。
蓄電量計測部43で計測された蓄電量に関する情報が、外部供給制御部44に供給される。外部供給制御部44は、蓄電量に応じてスイッチSW1およびスイッチSW2のオン/オフを制御する。例えば、蓄電素子42aの蓄電量が多いときは、外部供給制御部44は、スイッチSW1をオンし、スイッチSW2をオフする。蓄電素子42bの蓄電量が多いときは、外部供給制御部44は、スイッチSW1をオフし、スイッチSW2をオンする。蓄電量が多いということは、蓄電素子と接続される発電部の発電量が多いことを示す。したがって、上述したようにしてスイッチSW1およびスイッチSW2をオン/オフを制御することで、発電量が多い発電部からの電力を外部に供給できる。スイッチSW1またはスイッチSW2を介して出力される電力がラインL4に供給され、ラインL4を介してMCU12、メモリ13などに供給される。
RTC45に対しては、RTC45に電力を供給する蓄電素子46が接続されている。蓄電素子46は、電気二重層キャパシタなどである。蓄電素子46は、スイッチSW3を介してラインL4に接続されている。蓄電素子46の蓄電量が低下したときにスイッチSW3をオンし、振動発電部11aまたは太陽光発電部11bからの電圧によって蓄電素子46が蓄電されるようにしてもよい。
「第2の変形例」
発電デバイスを小型化するには、発電デバイスに多くの発電部を設けることができない。さらに、風という属性を規定するために、発電デバイスに風力発電部を設けることは困難である。そこで、第2の変形例では、ユーザの発電デバイスが有しない発電部の発電情報を他のユーザや発電所などから取得するようにしている。
図16は、第2の変形例における処理の概要を示したものである。ユーザaは発電デバイス2dを所有し、ユーザbは発電デバイス2eを所有している。発電デバイス2dの構成は、上述した発電デバイス2bと略同様の構成とされる。但し、発電デバイス2dが有する発電部は、例えば、太陽光発電部および振動発電部である。発電デバイス2eの構成は、上述した発電デバイス2bと略同様の構成とされる。但し、発電デバイス2eが有する発電部は、例えば、振動発電部および電波発電部である。発電デバイス2dおよび発電デバイス2eは、互いの距離が所定距離より小さくなったときにネットワークNWを介して通信を行うことができる。もちろん、ネットワークNWを介さずに、発電デバイス2dおよび発電デバイス2eの間で直接、通信がなされるようにしてもよい。
発電デバイス2dは、自身が有しない発電部の発電情報を通信により取得する。すなわち、発電デバイス2dは、発電デバイス2eに対して、電波発電部の発電情報を送信するように要求する。要求に応じて、発電デバイス2eは発電デバイス2dに対して、電波発電部の発電情報を送信する。発電デバイス2dは、ユーザaの行動特性を特定する際に、発電デバイス2eから送信された電波発電部の発電情報を使用できる。
一方、発電デバイス2dは、発電デバイス2dに対して太陽光発電部の発電情報を要求する。要求に応じて、発電デバイス2eは発電デバイス2dに対して、太陽光発電部の発電情報を送信する。発電デバイス2eは、ユーザbの行動特性を特定する際に、発電デバイス2dから送信された太陽光発電部の発電情報を使用できる。
振動発電部や温度差発電部の発電量は、ユーザの行動に応じて大きく変化するものである。これに対して、太陽光発電部や電波発電部の発電量は、近接した位置であればそれほど変化しないものである。このような特性を利用して、太陽光発電部や電波発電部の発電情報を他のユーザから取得する。これにより、太陽光発電部および電波発電部のいずれか一方を発電デバイスに設ければよく、発電デバイスを小型化できる。
さらに、他のユーザだけでなく、ネットワークを介して発電情報を取得するようにしてもよい。例えば、事業者が太陽光発電部および電波発電部を各所に設置し、各所ごとの太陽光発電部の発電情報および電波発電部の発電情報をリアルタイムに集計する。集計された太陽光発電部の発電情報および電波発電部の発電情報が、ネットワークNWに接続されるサーバにアップロードされる。ユーザがサーバに対して位置情報を送信すると、サーバは、位置情報に対応する太陽光発電部の発電情報および電波発電部の発電情報を返信する。このようにして、ユーザは、サーバから発電情報を取得するようにしてもよい。
発電所から供給される発電情報を使用してもよい。図16に示すように、ネットワークNWには規模の異なる発電所が接続され、発電所の発電量の情報がウェブ情報として公開されている。もちろん、発電所単位でなく、発電所を管理する電力会社のウェブ情報から発電量の情報が提供されるようにしてもよい。ネットワークNWを介して、例えば、風力発電所A(参照符号51)の発電量と、火力発電所B(参照符号52)の発電量と、原子力発電所C(参照符号53)の発電量と、水力発電所D(参照符号54)の発電量と、個人の家に設置されている太陽光発電所E(参照符号55)の発電量とが公開されている。さらに、ネットワークNWには、図示しない検索サーバが接続されている。
ユーザaは、発電デバイス2dを使用して検索サーバに接続する。そして、検索サーバに対して、発電デバイス2dを特定する情報と、位置情報を送信する。発電デバイス2dを特定する情報は、例えば、発電デバイス2dのデバイスIDである。位置情報は、IP(Internet Protocol)アドレスやGPSなどの情報、ユーザが向いている方向を示す情報を用いることができる。検索サーバは、ユーザから送信されたIDや位置情報を使用して、発電情報が掲載されたウェブ情報を検索する。検索されたウェブ情報のIP情報からIPトラッキングを行い、ユーザaの位置に最も近い発電所のウェブ情報を取得する。取得したウェブ情報にある発電量を発電デバイス2dに対して送信する。発電デバイス2dは、供給された発電量を使用してユーザの行動特性を特定するようにしてもよい。
さらに、ユーザの位置と発電所の位置とに応じて、属性が変化するようにしてもよい。例えば、ユーザと風力発電所Aとの距離が一定以下になった場合は、風属性がアップするようにしてもよい。発電情報に加えて、建造物に関する情報を属性に反映させることができる。例えば、風力発電部を発電デバイスに設けることは困難であるが、風力発電所の発電量の情報を使用することで、風属性に影響を与える発電情報を取得できる。
「第3の変形例」
上述した処理がグループ単位で行われるようにしてもよい。グループ単位の属性がキャラクタに反映される。そして、グループ毎に付与されたキャラクタによって、グループ同士の競争が行われる。グループは、ギルドなどと称されることもある。図17に、グループの構成の一例を示す。グループ1には、ユーザ60a〜ユーザ64aが所属している。グループ2には、ユーザ60b〜ユーザ64bが所属している。グループrにはユーザ60r〜ユーザ65rが所属している。
各グループに対して評価指標ベクトルSを生成する。グループの固有番号をrとし、グループ内の番号をmとすると、Srはデータレコードの項目をnとすればm行n列の行列となる。データレコードとは、例えば、発電部に応じた発電情報であり、データレコードの項目は、例えば、発電部の個数に対応する。グループ毎に評価指標ベクトルSが生成される。評価指標ベクトルSがサーバ70に送信される。
サーバ70において、評価指標ベクトルSに対する評価関数Gを用いた処理が行われる。この処理により、グループrに対するQという評価結果ベクトルを得る。この評価結果ベクトルは行動特性の概念に含まれるものである。評価結果ベクトルQに基づいてキャラクタが設定される。このように、グループ単位でのキャラクタを設定することができる。
グループの構成は一例であり、適宜変更できる。一度結成されたグループが変更されるようにしてもよい。仮想空間において、仲間として既にグループ化されていてもよい。仮想空間において、敵対するグループとして登録されているグループであってもよい。現実空間で物理的な距離が近いユーザ同士がグループ化されてもよい。仮想空間において、物理的な距離が近いユーザ同士がグループ化されてもよい。キャラクタの特性が近いグループ同士が合体して、新たなグループが形成されるようにしてもよい。グループが形成されるにあたっては、あるグループに属するということをユーザが必ずしも認識する必要はない。
「その他の変形例」
上述した変形例の他にも、本開示は、種々の変更が可能である。例えば、発電デバイスの機能が携帯電話やスマートフォンなどの携帯電子機器に組み込まれていてもよい。さらに、ユーザの行動特性を認証データとして使用してもよい。例えば、入退室管理システムにおいて、ユーザのIDの認証が行われるとともに、ユーザ毎に特定された行動特性に関するデータに対する認証が行われるようにしてもよい。
本開示は、例示した処理が複数の装置によって分散して処理される、いわゆるクラウドシステムに対して適用することができる。例えば、本開示の内容を実現する複数の処理が、複数の装置によって分散して処理されるクラウドシステムであって、複数の処理のうち、少なくとも一の処理を実行する装置として構成することが可能である。処理の内容は、上述した実施形態等で例示した、発電情報を取得する処理、行動特性を判別する処理、行動特性を仮想のオブジェクトに反映する処理、ディスプレイに表示する処理などである。さらに、発電デバイスにおいて全ての処理が行わるようにしてもよい。上述した実施形態におけるサーバは複数あってもよく、発電デバイスがサーバとして機能してもよい。
なお、実施形態および変形例における構成および処理は、技術的矛盾が生じない範囲で適宜組み合わせることができる。
本開示は、以下の構成をとることもできる。
(1)
発電部からの発電情報を取得する取得部と、
前記発電情報に応じて、行動特性を特定する特定部と
を備える特定装置。
(2)
発電原理が異なる発電部を複数備える(1)に記載の特定装置。
(3)
前記行動特性を、仮想のオブジェクトに反映させる(1)または(2)に記載の特定装置。
(4)
前記行動特性に応じて、前記オブジェクトを生成する、または、前記オブジェクトの属性を変更する(3)に記載の特定装置。
(5)
前記行動特性に応じて、外観を変更する(1)乃至(4)のいずれか1に記載の特定装置。
(6)
通信を行う通信部を備える(1)乃至(5)のいずれか1に記載の特定装置。
(7)
前記通信部によって、前記行動特性を外部に送信する(6)に記載の特定装置。
(8)
前記通信部によって、前記発電情報を外部から取得する(6)または(7)に記載の特定装置。
(9)
前記通信部によって、他のユーザの行動特性を外部から取得する(6)乃至(8)のいずれか1に記載の特定装置。
(10)
記憶部に記憶された前記行動特性を、前記取得した前記他のユーザの行動特性に書き換える書換部を備える(9)に記載の特定装置。
(11)
前記取得した他のユーザの行動特性が、記憶部に記憶されている行動特性と一致または近似していることを報知する報知部を備える(9)に記載の特定装置。
(12)
発電部からの発電情報を取得する取得部と、
前記発電情報を、仮想のオブジェクトの属性に反映させる属性処理部と
を備える制御装置。
(13)
発電部からの発電情報を取得し、
前記発電情報に応じて、行動特性を特定する
特定装置における特定方法。
(14)
発電部からの発電情報を取得し、
前記発電情報に応じて、行動特性を特定する
特定方法をコンピュータに実行させるプログラム。
(15)
(1)乃至(11)のいずれか1に記載の特定装置を複数備え
前記複数の特定装置のそれぞれから発電情報を取得し、
前記発電情報に応じて、グループ単位の行動特性を特定する
特定システム。
(16)
前記グループ単位の行動特性を、前記グループ単位の仮想のオブジェクトに反映させる(15)に記載の特定システム。