以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、移動体に設置されている移動体装置から燃料情報を受信し、移動可能範囲を算出し、移動可能範囲を出力する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、移動体装置から、移動体のモードを示すモード情報も受信し、当該モードモードも使用し、移動可能範囲を算出する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、移動可能範囲は、燃料情報で特定できる燃料で移動できる範囲であり、出発地から中継点を経由し、出発地に戻ることができる範囲である場合について説明する。また、本実施の形態において、移動可能範囲は、燃料情報で特定できる燃料で移動できる範囲であり、出発地からの片道の範囲である場合について説明する。
また、本実施の形態において、移動可能範囲が出発地に戻って来られる範囲であり、かつ、異なるルートで戻る場合の移動可能範囲を出力する場合について説明する。
また、本実施の形態において、移動可能範囲を超える等の予め決められた条件を満たした場合に、警告を出力する情報処理装置を含む情報システムについて説明する。
また、本実施の形態において、移動可能範囲がリアルタイムに変更される情報処理装置を含む情報システムについて説明する。
なお、移動体は、電動機付き自転車、水上バイク、電気自動車など、補給所が少ない燃料により駆動される移動体が好適であるが、自動車、二輪車等の、補給所が少なくない燃料により駆動される移動体でも良い。
さらに、燃料とは、電気、ガソリン、水素等、エネルギーを出力する元になるものを広く含む。
図1は、本実施の形態における情報処理装置1を含む情報システムの概念図である。情報システムは、情報処理装置1と移動体装置2とを具備する。情報処理装置1は、ここでは、移動体装置2から情報を受信し、範囲情報を出力する端末である。情報処理装置1は、例えば、いわゆるスマートフォンが好適であるが、タブレット端末、携帯端末、携帯電話、ノートパソコン等でも良い。移動体装置2は、通常、移動体に設置されている。また、移動体装置2は、ディスプレイ等の出力デバイスを有しないことは好適である。移動体装置2は、移動体または移動体に設置されている装置から情報を取得し、情報処理装置1に送信する装置である。移動体装置2は、例えば、いわゆるナビゲーションを行える車載装置、移動体の制御装置等であるが、その種類は問わない。移動体装置2は、移動体のバッテリーの情報を取得できる装置であることは好適である。
図2は、本実施の形態における情報システムのブロック図である。情報システムを構成する情報処理装置1は、格納部11、受信部12、処理部13、出力部14を備える。
格納部11は、地図情報格納部111、条件格納部112を備える。
受信部12は、燃料情報取得部121、モード情報取得部122を備える。
処理部13は、現在位置情報取得部131、範囲情報取得部132、判断部133を備える。
出力部14は、地図情報出力部141、範囲情報出力部142、警告出力部143を備える。
また、移動体装置2は、移動体取得部21、移動体送信部22を具備する。
情報処理装置1を構成する格納部11は、各種の情報等を格納し得る。各種の情報等とは、後述する地図情報、条件等である。
地図情報格納部111は、地図情報を格納し得る。地図情報で示される地図の種類や、地図情報のデータ形式などは問わない。当該地図の種類は、例えば、地形図や、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、当該データ形式は、例えば、ラスタデータや、ベクタデータ、KIWIフォーマットなどである。
地図情報は、通常、1または2以上の地点の情報である地点情報を有する。当該地点の種類は、問わない。当該地点は、例えば、観光名所、公園、テーマパーク、ランドマーク、駅などである。また、当該地点は、例えば、道路の端点であってもよい。また、地点情報は、少なくとも、地点の位置を示す位置情報を有する。また、地点情報は、例えば、地点の名称や、地点の種類などを示す情報を有していてもよい。また、地点情報は、例えば、地点を識別する情報を有していてもよい。また、地点情報には、地点情報を識別する地点識別子が対応付いていてもよい。また、地図情報は、通常、道路を示す1以上の道路情報を有する。道路情報は、例えば、道路の名称や、道路の種類、道路の両端の位置を示す情報などを有する。また、道路情報は、例えば、道路のスコアや、道路を識別する情報などを有する。当該スコアは、通常、経路探索時に用いるコストである。また、道路情報には、道路情報を識別する情報が対応付いていてもよい。
条件格納部112は、1または2以上の条件を格納し得る。条件は、警告を出力するための条件である。条件は、例えば、現在位置が、後述する範囲情報が示す範囲を超えていることを判断するための条件である。また、条件は、例えば、現在位置が、範囲情報が示す範囲を超えそうであることを判断するための条件である。また、条件は、例えば、現在位置が、範囲情報が示す範囲を超える可能性があることを判断するための条件である。
受信部12は、各種の情報を受信する。各種の情報とは、例えば、後述する燃料情報、モード情報等である。
燃料情報取得部121は、燃料情報を取得する。燃料情報とは、移動体が移動するために使用する燃料に関する情報である。燃料情報は、通常、燃料の量に関する情報である。燃料情報は、例えば、残燃料の量に関する情報である。燃料情報は、使用した燃料の量に関する情報でも良い。また、燃料情報は、例えば、燃料タンクに入る余地のある燃料の量を示す情報などでも良い。
燃料情報取得部121は、通常、移動体装置2から燃料情報を受信する。ただし、燃料情報取得部121は、移動体装置2や移動体から燃料情報を取得しても良い。
モード情報取得部122は、移動体のモードに関する情報であるモード情報を取得する。ここで、移動体のモードとは、電動機付き自転車の場合、例えば、アシストモードであり、例えば、強モード、標準モード、オートエコモードのうちのいずれかを示す情報である。なお、強モードとは常にアシスト量が強いモードで、脚力の少ない人でも楽に乗れるモードである。また、標準モードとは、モーターのアシスト量を走行状況に応じて切り替え、推奨されるアシストパワーで走行するモードである。さらに、オートエコモードとは、モーターのアシスト量を減らしてバッテリーの消費を抑え、その分、長い距離をアシストを使いながら走行出来るモードである。なお、移動体のモードにより、通常、燃料の消費具合が異なる。
モード情報取得部122は、通常、移動体装置2からモード情報を受信する。ただし、燃料情報取得部121は、移動体装置2や移動体からモード情報を取得しても良い。
処理部13は、各種の処理を行う。各種の処理とは、後述する現在位置情報取得部131の現在位置情報取得処理、範囲情報取得部132の範囲情報取得処理、判断部133の判断処理等である。
現在位置情報取得部131は、現在位置を示す現在位置情報を取得する。現在位置情報取得部131は、例えば、自身が備えるGPS受信機により現在位置情報を取得する。また、現在位置情報取得部131は、例えば、携帯端末の3以上の基地局からの電波の強度を用いて、現在位置情報を取得する等、他の方法により、現在位置情報を取得しても良い。
範囲情報取得部132は、燃料情報取得部121が取得した燃料情報を用いて、範囲情報を取得する。範囲情報取得部132は、燃料情報に対応する残燃料の量を用いて、移動体が移動可能な範囲を示す範囲情報を取得する。
ここで、範囲情報とは、移動体が燃料を用いて移動することが可能な範囲に関する情報である。移動することが可能な範囲とは、通常、往復であるが、片道でも良い。範囲情報は、例えば、現在位置から移動可能な1以上の地点の集合である。範囲情報は、例えば、現在位置から移動可能な領域を示す情報である。範囲情報は、例えば、現在位置を中心とした円の領域を示す情報である。
例えば、範囲情報取得部132は、燃料情報に対応する残燃料の量を用いて、移動可能な距離を取得する。そして、例えば、範囲情報取得部132は、現在位置情報取得部131が取得した現在位置情報が示す現在位置から移動可能な距離の範囲を示す範囲情報を取得する。
範囲情報取得部132は、燃料情報取得部121が取得した燃料情報、およびモード情報取得部122が取得したモード情報を用いて、範囲情報を取得しても良い。
範囲情報取得部132は、現在位置情報を始点(出発地)とし、現在位置情報が示す現在位置とは異なる地点である中継点を経由して、現在位置情報を終点(出発地であるが目的地でもある)とする移動可能な範囲である範囲情報を取得することは好適である。
範囲情報取得部132は、出発地から中継点に向かうルートと同一のルートで中継点から出発地まで戻るルートを含む第一の範囲情報を取得しても良い。
また、範囲情報取得部132は、出発地から中継点に向かうルートと異なるルートで中継点から出発地まで戻るルートを含む第二の範囲情報を取得しても良い。
さらに、範囲情報取得部132は、第一の範囲情報と第二の範囲情報との両方を取得しても良い。
範囲情報取得部132が燃料情報とモード情報とを用いて、範囲情報を取得する場合、例えば、「強モード<標準モード<オートエコモード」の順に、範囲情報が示す範囲が広く(遠く)なる。
判断部133は、範囲情報取得部132が取得した範囲情報が条件を満たすか否かを判断する。判断部133は、通常、現在位置情報取得部131が取得した現在位置情報と範囲情報取得部132が取得した範囲情報とが、条件格納部112の条件を満たすか否かを判断する。さらに詳細には、判断部133は、通常、現在位置情報取得部131が取得した現在位置情報が示す位置が、範囲情報取得部132が取得した範囲情報が示す範囲内であるか否かを判断する。または、判断部133は、通常、現在位置情報取得部131が取得した現在位置情報が示す位置が、範囲情報取得部132が取得した範囲情報が示す範囲の外に閾値以上に近いか否かを判断しても良い。
出力部14は、各種の情報を出力する。各種の情報とは、地図情報、範囲情報、警告等である。
ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡し、バイブレーションによる出力などを含む概念である。
地図情報出力部141は、地図情報格納部111の地図情報を出力する。地図情報出力部141が地図情報を出力するトリガーは問わない。例えば、図示しない受付部がユーザから出力指示を受け付けた場合、地図情報出力部141は、地図情報を出力する。また、受信部12が、燃料情報または/およびモード情報等の情報を受信した場合、地図情報出力部141は、地図情報を出力するなどしても良い。さらに、情報処理装置1と移動体装置2とが、例えば、iBeaconにより通信可能になった場合に、地図情報を出力するなどしても良い。
範囲情報出力部142は、範囲情報取得部132が取得した範囲情報を出力する。範囲情報出力部142は、範囲情報を地図情報上に出力することは好適である。範囲情報出力部142は、範囲情報を地図情報上に図的に出力することは好適である。また、範囲情報出力部142は、範囲情報取得部132が取得した第一の範囲情報と第二の範囲情報とを出力することは好適である。
警告出力部143は、判断部133が条件を満たすと判断した場合に、警告を出力する。警告の出力は、例えば、ブザーなどの音による出力、バイブレーション等の振動機構を用いた、振動による出力等が好適である。ただし、警告出力部143は、ディスプレイの表示により、警告を出力しても良い。警告は、例えば、燃料の補給をしないと、出発地点に戻れないことを示す情報である。なお、警告の出力とは、後述する警告情報の出力も含まれる概念である。
移動体装置2を構成する移動体取得部21は、移動体の燃料情報を取得する。また、移動体取得部21は、移動体のモード情報を取得しても良い。なお、移動体取得部21のかかる処理は公知技術であるので詳細な説明は省略する。移動体取得部21が燃料情報等を取得するトリガーは問わない。移動体取得部21は、図示しない移動体受信部が情報処理装置1からの指示を受信した場合に、燃料情報等を取得しても良い。移動体装置2と情報処理装置1とが、iBeacon等により通信可能になった場合に、燃料情報等を取得しても良い。移動体のモード情報が変更された場合に、燃料情報等を取得しても良い。移動体の電源がONになった場合に、燃料情報等を取得しても良い。
移動体送信部22は、移動体取得部21が取得した移動体の燃料情報を送信する。移動体送信部22は、移動体取得部21が取得した移動体の燃料情報とモード情報とを送信しても良い。なお、移動体送信部22は、燃料情報等を情報処理装置1に送信する。移動体送信部22は、ブルーツース(登録商標)やNFC等の近距離無線通信により燃料情報等を送信しても良いし、放送により燃料情報等を送信しても良い。また、移動体送信部22が燃料情報等を送信するトリガーは問わない。移動体送信部22は、移動体取得部21が燃料情報等を送信しても良いし、図示しない移動体受信部が情報処理装置1からの指示を受信した場合に燃料情報等を送信しても良いし、移動体装置2と情報処理装置1とが通信可能になった場合に燃料情報等を送信しても良いし、移動体のモード情報が変更された場合に燃料情報等を送信しても良いし、移動体の電源がONになった場合に燃料情報等を送信しても良い。
格納部11、地図情報格納部111、および条件格納部112は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
受信部12、燃料情報取得部121、およびモード情報取得部122は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
処理部13、範囲情報取得部132、判断部133、移動体取得部21は、通常、MPUやメモリ等から実現され得る。処理部13の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
現在位置情報取得部131は、例えば、GPS受信機により実現され得る。
出力部14、地図情報出力部141、および範囲情報出力部142は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部14は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
警告出力部143は、スピーカー、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。警告出力部143は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
移動体送信部22は、ブルーツース(登録商標)やNFC等の近距離無線通信手段により実現されても良いし、放送手段等により実現されても良い。
次に、情報処理装置1の動作について、図3のフローチャートを用いて説明する。
(ステップS301)受信部12は、燃料情報等を取得したか否かを判断する。燃料情報等を取得した場合はステップS302に行き、燃料情報等を取得しない場合はステップS306に行く。なお、燃料情報等とは、通常、燃料情報、または燃料情報とモード情報である。また、燃料情報等の取得とは、ここでは、燃料情報等の受信であるが、移動体等からの燃料情報等の取得でも良い。
(ステップS302)現在位置情報取得部131は、現在位置情報を取得する。
(ステップS303)範囲情報取得部132は、範囲情報を取得する。かかる範囲情報取得処理の例について、図4から図7の各フローチャートを用いて説明する。
(ステップS304)地図情報出力部141は、地図情報格納部111から地図情報を読み出し、当該地図情報を出力する。なお、地図情報出力部141は、通常、ステップS302で取得された現在位置情報が示す現在位置が含まれる地図情報を出力する。また、地図情報出力部141は、通常、ステップS302で取得された現在位置情報が示す現在位置が中心になるように、地図情報を出力する。
(ステップS305)範囲情報出力部142は、ステップS303で取得された範囲情報を出力する。ステップS301に戻る。なお、範囲情報出力部142は、ステップS304で出力された地図情報の上に、範囲情報を出力することは好適である。
(ステップS306)処理部13は、処理を終了するか否かを判断する。処理を終了場合は処理を終了し、処理を終了しない場合はステップS307に行く。なお、処理を終了する場合とは、図示しない受付部がユーザから処理終了の指示を受け付けた場合、受信部12が移動体装置2から処理終了の指示を受信した場合等である。
(ステップS307)現在位置情報取得部131は、現在位置情報を取得する。
(ステップS308)判断部133、ステップS307で取得した現在位置情報を用いて、警告出力部143等は、警告処理を行う。ステップS301に戻る。なお、警告処理について、図8のフローチャートを用いて説明する。
なお、図3のフローチャートにおいて、範囲情報の出力のトリガーは、燃料情報等の取得であったが、ユーザの指示の受け付け等、他のトリガーでも良いことは言うまでもない。
また、図3のフローチャートにおいて、燃料情報等を取得した場合に、再度の燃料情報等の取得はしないで、範囲情報の取得、出力等を行っているが、一度、燃料情報等を取得した後、移動体の移動(現在位置の移動)に応じて、燃料情報取得部121は、連続して2回以上、燃料情報等を取得し、燃料情報等が取得されるごとに、範囲情報取得部132は、連続して範囲情報を取得し、範囲情報出力部142は、連続して異なる範囲情報を出力しても良い。かかる場合、移動可能範囲がリアルタイムに変更される。
また、図3のフローチャートにおいて、一度、燃料情報等を取得した後は、再度の燃料情報等の取得はなしに、移動体の移動(現在位置の移動)に応じて、警告の出力を行っても良い。
さらに、図3のフローチャートにおいて、移動体装置2から、移動体の電源がONになって、燃料情報等を受信した場合、当該位置を出発地として、登録することは好適である。また、情報処理装置1は、自宅の位置を出発地として登録しておいても良い。
さらに、走行中に、移動体のモード情報が変更され、情報処理装置1が、新たな燃料情報等を移動体装置2から受信した場合、情報処理装置1等は以下のように動作する。つまり、格納されている出発地(最初に格納された出発地)を終点として、現在位置情報が示す位置情報を出発地を始点として、範囲情報取得部132は、中継点として採用され得る1以上の地点識別子を取得し、当該1以上の地点識別子を有する範囲情報を取得する。また、範囲情報取得部132は、変更されたモード情報に応じて、既に取得されている移動可能な範囲を拡大したり、縮小したりしても良い。
次に、ステップS303の範囲情報取得処理の第一の例について、図4のフローチャートを用いて説明する。
(ステップS401)範囲情報取得部132は、取得された燃料情報等を用いて、走行可能距離を取得する。範囲情報取得部132は、燃料情報、または燃料情報とモード情報をパラメータとする関数により、走行可能距離を算出しても良い。また、範囲情報取得部132は、燃料情報、または燃料情報とモード情報に対応する走行可能距離を、走行可能距離管理表から読み出しても良い。かかる場合、走行可能距離管理表は、燃料情報(例えば、残燃料量)に対応付けて、走行可能距離を格納している。また、走行可能距離管理表は、燃料情報(例えば、残燃料量)とモード情報とに対応付けて、走行可能距離を格納している。なお、走行可能距離は、移動可能距離と言っても良い。
(ステップS402)範囲情報取得部132は、ステップS401で取得した走行可能距離を2で除算し、半径を取得する。なお、半径は、移動体が、行って、戻ることができる範囲の円領域の半径である。
(ステップS403)範囲情報取得部132は、出発点(通常、現在位置情報が示す位置)、半径を用いて、円領域の情報を取得する。上位処理にリターンする。円領域の情報は、例えば、(出発点,半径)であるが、そのデータ構造は問わない。
なお、図4のフローチャートにおいて、範囲情報は、円領域の情報である。
また、図4のフローチャートにおいて、移動可能範囲を、現在位置(出発地)からの直線距離を用いて取得したが、範囲情報取得処理の第二の例以降の例のような他のアルゴリズムでも良い。
次に、ステップS303の範囲情報取得処理の第二の例について、図5のフローチャートを用いて説明する。図5のフローチャートにおいて、図4のフローチャートと同一のステップについて説明を省略する。
(ステップS501)範囲情報取得部132は、ステップS401で取得した走行可能距離を2で除算し、走行可能な片道の距離を取得する。
(ステップS502)範囲情報取得部132は、カウンタiに1を代入する。
(ステップS503)範囲情報取得部132は、地図情報格納部111に、i番目の地点が存在するか否かを判断する。i番目の地点が存在する場合はステップS504に行き、i番目の地点が存在しない場合は上位処理にリターンする。
(ステップS504)範囲情報取得部132は、出発地からi番目の地点までの経路を探索し、当該経路の距離を取得する。なお、経路探索や距離を取得する技術は、公知技術であるので、詳細な説明は省略する。また、出発地は、通常、最初に取得された現在位置情報が示す現在位置である。出発地は、自宅であることは好適である。
(ステップS505)範囲情報取得部132は、「出発地からi番目の地点までの距離<=ステップS501で取得された走行可能な片道の距離」を満たすか否かを判断する。満たす場合はステップS506に行き、満たさない場合はステップS507に行く。
(ステップS506)範囲情報取得部132は、i番目の地点の地点識別子、および経路情報を図示しないバッファまたは格納部11に一時蓄積する。
(ステップS507)範囲情報取得部132は、カウンタiを1インクリメントする。ステップS503に戻る。
なお、図5のフローチャートにおいて、範囲情報は、地点識別子と経路情報の組、1組以上である。
次に、ステップS303の範囲情報取得処理の第三の例について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図4、図5のフローチャートと同一のステップについて説明を省略する。
(ステップS601)範囲情報取得部132は、出発地から中継点(i番目の地点)までの経路(往路)、および中継点(i番目の地点)から出発地までの経路(復路)であり、異なる2つの経路を探索し、当該経路の距離を取得する。なお、複数のルートの経路探索を行い、各経路の距離を取得する技術は、公知技術であるので、詳細な説明は省略する。なお、範囲情報取得部132は、往路と復路とが違うルートであり、往路と復路との距離の合計が最短のルートを取得することは好適である。また、出発地は、通常、最初に取得された現在位置情報が示す現在位置である。出発地は、自宅であることは好適である。
(ステップS602)範囲情報取得部132は、往路の距離と復路の距離の和を算出する。
(ステップS603)範囲情報取得部132は、「ステップS602で取得した往路の距離と復路の距離の和<=ステップS401で取得された走行可能距離」を満たすか否かを判断する。満たす場合はステップS604に行き、満たさない場合はステップS507に行く。
(ステップS604)範囲情報取得部132は、i番目の地点の地点識別子、および2つの経路情報(往路と復路の経路情報)を図示しないバッファまたは格納部11に一時蓄積する。
なお、図6のフローチャートにおいて、範囲情報は、地点識別子と往復の経路情報の組、1組以上である。
次に、ステップS303の範囲情報取得処理の第四の例について、図7のフローチャートを用いて説明する。図7のフローチャートにおいて、図4、図5のフローチャートと同一のステップについて説明を省略する。
(ステップS701)範囲情報取得部132は、「出発地からi番目の地点までの距離<=ステップS504で取得された経路の距離」を満たすか否かを判断する。満たす場合はステップS506に行き、満たさない場合はステップS507に行く。
なお、図7のフローチャートにおいて、範囲情報は、地点識別子と経路情報の組、1組以上である。
次に、ステップS308の警告処理の例について、図8のフローチャートを用いて説明する。
(ステップS801)判断部133は、カウンタiに1を代入する。
(ステップS802)判断部133は、i番目の警告条件が、条件格納部112に存在するか否かを判断する。i番目の警告条件が存在する場合はステップS803に行き、存在しない場合は上位処理にリターンする。
(ステップS803)判断部133は、i番目の警告条件を条件格納部112から取得する。
(ステップS804)判断部133は、現在位置情報が、ステップS803で取得したi番目の警告条件を満たすか否かを、範囲情報を用いて判断する。i番目の警告条件を満たす場合はステップS805に行き、i番目の警告条件を満たさない場合はステップS806に行く。
(ステップS805)警告出力部143は、i番目の警告条件に対応する警告を出力する。上位処理にリターンする。
(ステップS806)判断部133は、カウンタiを1、インクリメントする。ステップS802に戻る。
なお、図8のフローチャートにおいて、条件格納部112に複数の警告条件が格納されている場合、厳しい条件ほど先に適用されるように格納されていることは好適である。または、判断部133は、条件格納部112に複数の警告条件が格納されている場合、厳しい条件ほど先に適用するように判断処理を行うことは好適である。
次に、移動体装置2の動作について、図9のフローチャートを用いて説明する。
(ステップS901)移動体取得部21は、移動体の電源がONになったか否かを判断する。電源がONになった場合はステップS902に行き、電源がONにならない場合はステップS905に行く。
(ステップS902)移動体取得部21は、移動体の燃料情報を取得する。
(ステップS903)移動体取得部21は、移動体のモード情報を取得する。
(ステップS904)移動体送信部22は、移動体取得部21が取得した移動体の燃料情報等を送信する。燃料情報等とは、燃料情報、または燃料情報とモード情報である。
(ステップS905)移動体取得部21は、モードが変更されたか否かを判断する。モードが変更された場合はステップS902に行き、モードが変更されない場合はステップS906に行く。
(ステップS906)移動体取得部21は、移動体の電源がOFFになったか否かを判断する。電源がOFFになった場合は処理を終了し、電源がOFFにならない場合はステップS901に戻る。
なお、図9のフローチャートにおいて、移動体の電源がONになることがトリガーとして、燃料情報等を送信したが、情報処理装置1とiBeaconで通信可能になる、ユーザからの指示を受け付ける等をトリガーとして、燃料情報等を送信しても良い。
また、図9のフローチャートにおいて、モード情報を送信せず、燃料情報のみを送信しても良い。
以下、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図1である。
今、条件格納部112は、図10に示す条件管理表を格納している。条件管理表は「ID」「警告条件」「警告情報」を有するレコードを1または2以上管理している。「警告条件」は警告を出力するための条件である。「警告情報」は出力する警告である。
「ID=1」の警告条件は、「現在位置が範囲情報の示す移動可能範囲を逸脱すること」である。「ID=2」の警告条件は、「現在位置から1km先のいずれかの地点が範囲情報の示す移動可能範囲を逸脱すること」である。「ID=3」の警告条件は、「現在位置から5km先のいずれかの地点が範囲情報の示す移動可能範囲を逸脱すること」である。なお、図10に示す条件管理表では、厳しい条件ほど、表の上位に格納されている。つまり、判断部133は、より厳しい条件を先に適用(評価)することとなる。
以下、かかる状況において、以下の4つの具体例について説明する。
(具体例1)
具体例1は、出発点から任意の中継点に移動し、出発点に戻る場合の、移動可能範囲を、出発点を中心とした円で、地図上に表示する場合である。
具体例1において、移動体は、電動機付き自転車である、とする。また、移動体送信部22は、燃料情報とモード情報とを送信する、とする。
今、情報処理装置1の格納部11は、標準的な移動可能距離を算出するための演算式「移動可能距離=f(w)」を格納している。fは、移動可能距離を算出するための関数である。wは、燃料情報であり、ここでは残電力量である。また、関数「f」は、燃料情報「w」をパラメータとする増加関数である。また、格納部11は、図11に示すモード別距離倍率表を格納している。モード別距離倍率表は、モードごとに、関数「f」により算出された移動可能距離の増減を決定するパラメータ(倍率)を管理している。モード情報「強モード」の場合、関数「f」により算出された標準的な移動可能距離に「0.8」を乗算した距離が、移動可能距離になる。モード情報「標準モード」の場合、関数「f」により算出された標準的な移動可能距離が、そのまま移動可能距離になる。モード情報「オートエコモード」の場合、関数「f」により算出された標準的な移動可能距離に「1.2」を乗算した距離が、移動可能距離になる。
かかる状況において、ユーザは、移動体のバッテリーの電源をONにした、とする。次に、移動体装置2の移動体取得部21は、燃料情報「w1」を取得した、とする。また、移動体取得部21は、移動体のモード情報「オートエコモード」を取得した、とする。
次に、移動体送信部22は、「燃料情報:w1,モード情報:オートエコモード」を情報処理装置1に送信する。
次に、情報処理装置1の燃料情報取得部121は「燃料情報:w1」を受信する。また、モード情報取得部122はモード情報「オートエコモード」を受信する。
次に、現在位置情報取得部131は、現在位置情報(x1,y1)を取得し、出発地として、格納部11に一時蓄積する。なお、現在位置情報は、例えば、ユーザの自宅の位置を示す情報である、とする。また、現在位置情報の構造は、例えば、(緯度,経度)とする。
次に、範囲情報取得部132は、燃料情報「w1」を関数「f(w)」に代入し、「f(w1)」を実行し、走行可能距離「d1」を取得した、とする。そして、範囲情報取得部132は、モード情報「オートエコモード」に対応する距離倍率「1.2」を取得する。次に、範囲情報取得部132は、走行可能距離「d1」に距離倍率「1.2」を乗算し、「1.2d1」を取得する。「1.2d1」は、移動可能な距離を示す。
次に、範囲情報取得部132は、取得した走行可能距離を2で除算し、半径「0.6d1」を取得する。
次に、範囲情報取得部132は、出発点(x1,y1)、半径を用いて、円領域の情報を取得する。円領域の情報は、出発点(x1,y1)を中心とする半径「0.6d1」の円の領域を示す情報である。
次に、地図情報出力部141は、地図情報格納部111から、現在位置情報(x1,y1)を中心とする地図情報を読み出し、当該地図情報を出力する。
次に、範囲情報出力部142は、範囲情報を地図情報の上に出力する。かかる出力例を図12に示す。なお、図12において、1201の家のロゴは、出発地を示す。そして、円1202の領域内が、現在の残燃料で、出発地から行って、戻ってくることができる範囲である。
以後、処理部13が処理を終了すると判断するまで、判断部133は、現在位置情報を用いて、警告条件に合致するか否かを判断し続ける。
そして、例えば、ユーザがある地点「p2」(図13の1302の地点)に来たところで、警告条件に合致するか否かの警告処理を行う。
つまり、判断部133は、1番目の警告条件を図10の条件管理表から取得する。次に、現在位置情報(xn,yn)を1番目の警告条件に適用し、「現在位置が図12に示す範囲情報の中に含まれるか否か」を判断する。ここで、判断部133は、現在位置情報(xn,yn)が示す地点が、範囲情報の中に含まれると判断した、とする。つまり、判断部133は、1番目の警告条件を満たさない、と判断した、とする。
次に、判断部133は、2番目の警告条件を図10の条件管理表から取得する。次に、現在位置情報(xn,yn)を2番目の警告条件に適用し、「現在位置から1km先が図12に示す範囲情報の中に含まれるか否か」を判断する。ここで、判断部133は、現在位置情報(xn,yn)が示す地点から1km先の任意の地点が、範囲情報の中に含まれると判断した、とする。つまり、判断部133は、2番目の警告条件を満たさない、と判断した、とする。
次に、判断部133は、3番目の警告条件を図10の条件管理表から取得する。次に、現在位置情報(xn,yn)を3番目の警告条件に適用し、「現在位置から5km先が図12に示す範囲情報の中に含まれるか否か」を判断する。ここで、判断部133は、現在位置情報(xn,yn)が示す地点から5km先の任意の地点が、範囲情報の中に含まれない判断した、とする。つまり、判断部133は、3番目の警告条件を満たす、と判断した、とする。
次に、警告出力部143は、3番目の警告条件に対応する警告情報を図10の条件管理表から取得する。次に、警告出力部143は、当該警告情報を出力する。かかる警告情報の出力例は、図13である。なお、警告出力部143は、警告情報を音声出力したり、バイブレーションで知らせたりすることは好適である。なお、図13において、1301は警告の出力、1302は現在位置を示すマークである。また、図13において、出発時から、地図の表示は変化しないことは好適である。ただし、走行時の現在位置が中心となるように、地図情報出力部141は、地図をスクロールして出力しても良いことは言うまでもない。
(具体例2)
具体例2は、始点から中継点に向かうルートと同一のルートで中継点から終点まで戻るルートを含む第一の範囲情報を表示する場合である。具体例2は、出発点から任意の中継点に移動し、出発点に同一ルートで戻る場合において、2以上の中継点を地図上に表示する場合である。また、具体例2では、2以上の中継点を線で繋いで、地図上に表示する場合である。
具体例2において、移動体は、電動機付き自転車である、とする。また、移動体送信部22は、燃料情報のみを送信する、とする。
今、具体例1と同様、情報処理装置1の格納部11は、標準的な移動可能距離を算出するための演算式「移動可能距離=f(w)」を格納している。
かかる状況において、情報処理装置1を保持するユーザは、移動体に近づいた、とする。そして、iBeaconにより、情報処理装置1と移動体装置2とは通信を開始する。
つまり、移動体装置2の移動体取得部21は、燃料情報「w2」を取得した、とする。 次に、移動体送信部22は、「燃料情報:w2」を情報処理装置1に送信する。
次に、現在位置情報取得部131は、現在位置情報(x1,y1)を取得し、格納部11に一時蓄積する。なお、現在位置情報は、例えば、ユーザの自宅の位置を示す情報である、とする。また、現在位置情報の構造は、(緯度,経度)、とする。
次に、範囲情報取得部132は、燃料情報「w2」を関数「f(w)」に代入し、「f(w2)」を実行し、走行可能距離「2d2」を取得した、とする。
次に、範囲情報取得部132は、取得した走行可能距離「2d2」を2で除算し、片道の距離「d2」を取得する。
次に、範囲情報取得部132は、地図情報格納部111の地図情報の中の各地点に対して、経路を探索し、当該経路の距離を取得する。
次に、範囲情報取得部132は、「出発地から各地点までの距離<=取得された片道の距離(d2)」を満たすか否かを、地点ごとに判断する。
次に、範囲情報取得部132は、上記の判断結果が「満たす」との判断結果に対応する各地点の地点識別子および経路情報を図示しないバッファに一時蓄積する。
次に、地図情報出力部141は、地図情報格納部111から、現在位置情報(x1,y1)を中心とする地図情報を読み出し、当該地図情報を出力する。
次に、範囲情報出力部142は、範囲情報を地図情報の上に出力する。かかる出力例を図14に示す。なお、図14において、範囲情報出力部142は、同一の道路上において、出発地から最も遠い地点のマークのみを、地図上に出力している。なお、移動可能な範囲に含まれる地点は、星印のマークで示されている。また、図14において、各地点のマークを線で結び、移動可能な範囲の概要をユーザに示している。
以後、処理部13が処理を終了すると判断するまで、判断部133は、現在位置情報を用いて、警告条件に合致するか否かを判断し続ける。かかる処理は、具体例1で説明した処理と同様である。
(具体例3)
具体例3は、始点から中継点に向かうルートと異なるルートで中継点から終点まで戻るルートを含む第二の範囲情報を表示する場合である。
具体例3において、移動体は、電動機付き自転車である、とする。また、移動体送信部22は、燃料情報のみを送信する、とする。
今、具体例1と同様、情報処理装置1の格納部11は、標準的な移動可能距離を算出するための演算式「移動可能距離=f(w)」を格納している。
かかる状況において、情報処理装置1を保持するユーザは、移動体に近づいた、とする。そして、iBeaconにより、情報処理装置1と移動体装置2とは通信を開始する。
つまり、移動体装置2の移動体取得部21は、燃料情報「w3」を取得した、とする。 次に、移動体送信部22は、「燃料情報:w3」を情報処理装置1に送信する。
次に、現在位置情報取得部131は、現在位置情報(x1,y1)を取得する。なお、現在位置情報は、例えば、ユーザの自宅の位置を示す情報である、とする。また、現在位置情報の構造は、(緯度,経度)、とする。
次に、範囲情報取得部132は、燃料情報「w3」を関数「f(w)」に代入し、「f(w3)」を実行し、走行可能距離「d3」を取得した、とする。
次に、範囲情報取得部132は、地図情報格納部111の地図情報の中の各地点を中継点とし、出発地から中継点での経路(往路)、および中継点から出発地までの経路(復路)であり、異なる2つの経路を探索し、当該経路の距離を取得する。そして、範囲情報取得部132は、各地点について、往路の距離と復路の距離の和を算出する。
次に、範囲情報取得部132は、各地点について、「往路の距離と復路の距離の和<=走行可能距離(d3)」を満たすか否かを判断する。
次に、範囲情報取得部132は、上記の判断結果が「満たす」との判断結果である1以上の各地点の地点識別子、および2つの経路情報(往路と復路の経路情報)を図示しないバッファに一時蓄積する。
次に、地図情報出力部141は、地図情報格納部111から、現在位置情報(x1,y1)を中心とする地図情報を読み出し、当該地図情報を出力する。
次に、範囲情報出力部142は、範囲情報を地図情報の上に出力する。かかる出力例を図15に示す。図15において、往復の経路ごとに、線の種類が異なるように、3つの各往復の経路(1501、1502、1503)を出力している。
以後、処理部13が処理を終了すると判断するまで、判断部133は、現在位置情報を用いて、警告条件に合致するか否かを判断し続ける。かかる処理は、具体例1で説明した処理と同様である。
(具体例4)
具体例4は、現在の燃料を使用して移動する場合に、移動可能な片道の範囲を表示する場合である。
具体例4において、移動体は、電動機付き自転車である、とする。また、移動体送信部22は、燃料情報のみを送信する、とする。
今、具体例1と同様、情報処理装置1の格納部11は、標準的な移動可能距離を算出するための演算式「移動可能距離=f(w)」を格納している。
かかる状況において、情報処理装置1を保持するユーザは、移動体に近づいた、とする。そして、iBeaconにより、情報処理装置1と移動体装置2とは通信を開始する。
つまり、移動体装置2の移動体取得部21は、燃料情報「w4」を取得した、とする。 次に、移動体送信部22は、「燃料情報:w4」を情報処理装置1に送信する。
次に、現在位置情報取得部131は、現在位置情報(x1,y1)を取得する。なお、現在位置情報は、例えば、ユーザの自宅の位置を示す情報である、とする。また、現在位置情報の構造は、(緯度,経度)、とする。
次に、範囲情報取得部132は、燃料情報「w4」を関数「f(w)」に代入し、「f(w4)」を実行し、走行可能距離「d4」を取得した、とする。
次に、範囲情報取得部132は、地図情報格納部111の地図情報の中の各地点に対して、経路を探索し、当該経路の距離を取得する。
次に、範囲情報取得部132は、「出発地から各地点までの距離<=取得された走行可能距離(d4)」を満たすか否かを、地点ごとに判断する。
次に、範囲情報取得部132は、上記の判断結果が「満たす」との判断結果に対応する各地点の地点識別子および経路情報を図示しないバッファに一時蓄積する。
次に、地図情報出力部141は、地図情報格納部111から、現在位置情報(x1,y1)を中心とする地図情報を読み出し、当該地図情報を出力する。
次に、範囲情報出力部142は、範囲情報を地図情報の上に出力する。かかる出力例を図14に示す。なお、図14において、範囲情報出力部142は、同一の道路上において、出発地から最も遠い地点のマークのみを、地図上に出力している。なお、移動可能な範囲に含まれる地点は、星印のマークで示されている。また、図14において、各地点のマークを線で結び、移動可能な範囲の概要をユーザに示している。
なお、かかる場合、処理部13は、現在地から各地点まで向かう経路の途中で、燃料を補給できる地点(ガソリンスタンド、電力提供所など)を地図情報から取得し、地図情報出力部141は、かかる燃料補給地点を出力しても良い。かかる出力例は、図16である。図16の1601、1602、1603は、燃料補給地点を示すアイコンである。
また、範囲情報出力部142は、現在地から各地点まで向かう経路の途中に、燃料補給地点が存在しない経路を出力しないことは好適である。つまり、処理部13は、取得された経路情報が示す経路上に燃料補給地点が存在するか否かを、地図情報を用いて判断する。そして、範囲情報取得部132は、燃料補給地点が存在しないと判断された経路の経路情報、および経路上の地点識別子は取得しないことは好適である。なお、範囲情報取得部132は燃料補給地点が存在しないと判断された経路の経路情報を取得するが、範囲情報出力部142が当該経路情報を出力しないことは好適である。かかる出力例は、図17である。図17において、移動可能範囲は、移動可能な経路を示す情報である。図17の1701、1702、1703は移動可能な経路を示す。
以上、本実施の形態によれば、移動体の燃料を用いた移動可能囲を、ユーザに提示できる。
なお、本実施の形態によれば、情報処理装置1は、主として、燃料情報やモード情報を移動体装置2から受信した。しかし、情報処理装置1は、燃料情報やモード情報を移動体等から取得しても良い。かかる場合、情報処理装置1は、例えば、移動体に設置されている装置である。かかる場合、情報処理装置1は、例えば、車載装置である。
そして、かかる場合の情報処理装置1のブロック図を、図18に示す。情報処理装置1は、格納部11、処理部22、出力部14を備える。格納部11は、地図情報格納部111、条件格納部112を備える。また、処理部22は、燃料情報取得部121、モード情報取得部122、現在位置情報取得部131、範囲情報取得部132、判断部133を備える。出力部14は、地図情報出力部141、範囲情報出力部142、警告出力部143を備える。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、移動体が移動するために使用する燃料に関する燃料情報を取得する燃料情報取得部と、前記燃料情報取得部が取得した燃料情報を用いて、移動体が燃料を用いて移動することが可能な範囲に関する情報である範囲情報を取得する範囲情報取得部と、前記範囲情報取得部が取得した範囲情報を出力する範囲情報出力部として機能させるためのプログラムである。
上記プログラムにおいて、コンピュータを、移動体のモードに関する情報であるモード情報を取得するモード情報取得部としてさらに機能させ、前記範囲情報取得部は、前記燃料情報取得部が取得した燃料情報、および前記モード情報取得部が取得したモード情報を用いて、範囲情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、コンピュータを、現在位置を示す現在位置情報を取得する現在位置情報取得部としてさらに機能させ、前記範囲情報取得部は、前記現在位置情報を始点とし、現在位置情報が示す現在位置とは異なる地点である中継点を経由して、前記現在位置情報を終点とする移動可能な範囲である範囲情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記範囲情報取得部は、前記始点から中継点に向かうルートと異なるルートで前記中継点から前記終点まで戻るルートを含む範囲情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、コンピュータを、前記範囲情報取得部が取得した範囲情報が、前記範囲情報が示す範囲を超える、または超えそう、または超える可能性があることを判断するための条件を満たすか否かを判断する判断部と、前記判断部が前記条件を満たすと判断した場合に、警告を出力する警告出力部としてさらに機能させるプログラムであることは好適である。
上記プログラムにおいて、前記移動体の移動に伴い、前記範囲情報取得部は、異なる範囲情報を取得し、かつ前記範囲情報出力部は、異なる範囲情報を出力するものとして、コンピュータを機能させるプログラムであることは好適である。
上記プログラムにおいて、前記燃料情報取得部は、移動体から燃料情報を受信するものとして、コンピュータを機能させるプログラムであることは好適である。
また、図19は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置1等を実現するコンピュータシステム300のブロック図である。
図19において、コンピュータ301は、MPU3013と、当該MPU3013に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017と、モニタ302とを含む。モニタ302は、タッチパネルであることは好適である。ここでは、図示しないが、コンピュータ301は、さらに、近距離無線通信手段を含む。
コンピュータシステム300に、上述した実施の形態の情報処理装置1等の機能を実行させるプログラムは、例えば、ハードディスク3017に記憶されている。そして、プログラムは実行の際にRAM3016にロードされる。
プログラムは、コンピュータ301に、上述した実施の形態の情報処理装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおける近距離無線通信手段などで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。