(58)【調査した分野】(Int.Cl.,DB名)
前記補正後の操舵量を演算する手段は、前記仮想車両の操作において想定される最大操作角度に対する、前記操作角度を演算する手段で演算した操作角度の割合を算出し、その割合に基づいて求めた第2の補正係数で前記補正後の操舵量をさらに補正する、ことを特徴とする請求項1に記載の運転シミュレーション装置。
前記最大加速度及び前記加速度は、前記慣性センサが検出する3軸方向の加速度を合成した加速度である、ことを特徴とする請求項3に記載の運転シミュレーション装置。
サーバ装置と、ネットワークを介して前記サーバ装置と通信する携帯端末装置と、を備えるネットワークシステムにおける前記サーバ装置のコンピュータに実行させる運転シミュレーションプログラムであって、
仮想車両のステアリング舵角を記憶する手段と、
前記携帯端末装置から送信された操作角度から補正前の操舵量を演算する手段と、
前記仮想車両の操作において想定される最大角加速度に対する、前記携帯端末装置から送信された角加速度の割合を演算し、その割合に基づいて求めた補正係数で前記補正前の操舵量を補正して補正後の操舵量を演算する手段と、
記憶したステアリング舵角を前記補正後の操舵量に基づいて更新する手段と、
更新した前記仮想車両のステアリング舵角を反映した動画を作成する手段と、
作成した動画を前記携帯端末装置へ送信する手段として、前記サーバ装置のコンピュータを機能させるための運転シミュレーションプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年では、スマートフォンやタブレット端末等、持ち運びが可能な携帯端末装置であるモバイル端末が普及している。このようなモバイル端末に提供されているドライビングゲーム等は、例えばモバイル端末に内蔵されている加速度センサや角速度センサ等の慣性センサを用いて検出した加速度や角速度等に基づいて仮想車両のステアリング操作を模擬しているものがある。
【0005】
このようなドライビングゲーム等では、仮想車両のステアリング操作において、プレイヤーがモバイル端末を傾けてステアリングを操舵するものがある。このようなタイプのドライビングゲーム等において、プレイヤーがステアリングを大きく操舵しようとモバイル端末を大きく傾けると、プレイヤーの視点に対するモバイル端末の画面の傾きが大きくなってしまい、画面が見えにくくなってしまうことがある。一方でプレイヤーがモバイル端末の画面を見やすい範囲で操作してステアリングを操舵しようとすると、モバイル端末の傾きが小さくなってしまうため、仮想車両の操舵量はプレイヤーの所望する操舵量よりも小さくなってしまう。
【0006】
また、仮想車両が急なコーナーや交差点等の走行時にプレイヤーが所望するだけの操舵量が得られないとき、プレイヤーがより多く操舵しようと急な操作を行うことで自然と体が動いてしまうことがある。このような状態になると、モバイル端末の画面の位置が安定せず、著しく操作性が低下してしまう。これらの点で改善が求められていた。
【0007】
本発明は、上述した課題を解決すべくなされたものであり、その目的とするところは、モバイル端末においてプレイヤーの所望する運転操作で仮想車両を模擬することの可能な運転シミュレーション装置を提供することにある。
【課題を解決するための手段】
【0008】
上記の目的を達成するべく、本発明の第1の態様である運転シミュレーション装置は、表示部と、慣性センサと、制御部と、を備え、前記制御部は、仮想車両のステアリング舵角を記憶する手段と、前記慣性センサの出力信号から操作角度を演算する手段と、その演算した操作角度に基づいて補正前の操舵量を演算する手段と、前記慣性センサの出力信号から角加速度を演算する手段と、前記仮想車両の操作において想定される最大角加速度に対する、その演算した角加速度の割合を演算し、その割合に基づいて求めた第1の補正係数で前記補正前の操舵量を補正して補正後の操舵量を演算する手段と、記憶された前記仮想車両のステアリング舵角を前記補正後の操舵量に基づいて更新する手段と、更新された前記仮想車両のステアリング舵角を反映した動画を作成して前記表示部に表示する表示手段と、を有することを特徴とする。
【0009】
慣性センサの出力信号から求めた角加速度が大きくなるほど、プレイヤーは、仮想車両のステアリングをより速く操舵しようとしていることになる。そしてプレイヤーが仮想車両のステアリングをより速く操舵しようとしているということは、例えば急なコーナーを曲がろうとしている等、プレイヤーが短時間に大きな操舵量で仮想車両のステアリングを操舵しようとしている状況が想定される。
【0010】
本発明の第1の態様の運転シミュレーション装置は、慣性センサの出力信号から求めた角加速度が大きくなるほど、最大角加速度に対するその割合が大きくなるので、第1の補正係数はより大きくなる。それによって第1の補正係数で補正した後の操舵量は、慣性センサの出力信号から求めた角加速度が大きくなるほど大きくなり、従って補正後の操舵量から求められるステアリング舵角も大きくなる。つまり一定の操作角度の変化に対し、そのときの操作の角加速度が大きいほど、すなわちプレイヤーが仮想車両のステアリングをより速く操舵しようとするほど、仮想車両のステアリング舵角はより大きく変化することになる。これにより本発明の第1の態様の運転シミュレーション装置によれば、プレイヤーの操作からプレイヤーが意図しているであろう運転操作を類推することによって、プレイヤーの所望する運転操作で仮想車両を模擬することが可能になる。
【0011】
本発明の第2の態様である運転シミュレーション装置は、上述した第1の態様において、前記補正後の操舵量を演算する手段は、前記仮想車両の操作において想定される最大操作角度に対する、前記操作角度を演算する手段で演算した操作角度の割合を算出し、その割合に基づいて求めた第2の補正係数で前記補正後の操舵量をさらに補正する、ことを特徴とする。
【0012】
慣性センサの出力信号から求めた操作角度が大きくなるほど、例えば交差点を鋭角に曲がろうとしている等、プレイヤーが仮想車両のステアリングを大きく操舵しようとしている状況が想定される。本発明の第2の態様の運転シミュレーション装置は、慣性センサの出力信号から求めた操作角度が大きくなるほど、最大操作角度に対するその割合が大きくなるので、第2の補正係数はより大きくなる。それによって第2の補正係数で補正した後の操舵量は、慣性センサの出力信号から求めた操作角度が大きくなるほど大きくなる。つまり仮想車両のステアリングは、慣性センサの出力信号から求めた操作角度が大きくなるほど、より大きく操舵されることになる。これにより本発明の第2の態様の運転シミュレーション装置によれば、プレイヤーの所望する運転操作で仮想車両を模擬することが可能になる。
【0013】
本発明の第3の態様である運転シミュレーション装置は、上述した第2の態様において、前記制御部は、前記慣性センサの出力信号から加速度を演算する手段を有し、前記補正後の操舵量を演算する手段は、前記仮想車両の操作において想定される最大加速度に対する、前記加速度を演算する手段で演算した加速度の割合を演算し、その割合に基づいて求めた第3の補正係数で前記補正後の操舵量をさらに補正する、ことを特徴とする。
【0014】
慣性センサの出力信号から求めた加速度が大きくなるとは、モバイル端末が物理的に大きく動くことを意味しており、例えば壁等に接触しそうになり慌てて急ハンドルを切っている等、プレイヤーが仮想車両のステアリングを急いで操舵しようとしている状況が想定される。本発明の第3の態様の運転シミュレーション装置は、慣性センサの出力信号から求めた加速度が大きくなるほど、最大加速度に対するその割合が大きくなるので、第3の補正係数はより大きくなる。それによって第3の補正係数で補正した後の操舵量は、慣性センサの出力信号から求めた加速度が大きくなるほど大きくなる。つまり仮想車両のステアリングは、慣性センサの出力信号から求めた加速度が大きくなるほど、より大きく操舵されることになる。これにより本発明の第3の態様の運転シミュレーション装置によれば、プレイヤーの所望する運転操作で仮想車両を模擬することが可能になる。
【0015】
本発明の第4の態様である運転シミュレーション装置は、上述した第3の態様において、前記最大加速度及び前記加速度は、前記慣性センサが検出する3軸方向の加速度を合成した加速度である、ことを特徴とする。
【0016】
本発明の第4の態様の運転シミュレーション装置によれば、最大加速度及び加速度を3軸方向の加速度を合成した加速度とすることにより、3軸方向全体の動きを操舵量に反映させることができる。これにより、プレイヤーの所望する運転操作で仮想車両を模擬することが可能になる。
【0017】
本発明の第5の態様である運転シミュレーション装置は、上述した第4の態様において、前記制御部は、前記第1の補正係数、前記第2の補正係数及び前記第3の補正係数の重み付けを設定する手段を有する、ことを特徴とする。
【0018】
本発明の第5の態様の運転シミュレーション装置によれば、第1の補正係数、第2の補正係数及び第3の補正係数に重み付けを設定することができるので、装置の仕様やプレイヤーの好み等に応じて、仮想車両のステアリングの操作感を適切に調整することが可能になる。
【0019】
本発明の第6の態様である運転シミュレーション装置は、サーバ装置と、表示部及び慣性センサを有し、ネットワークを介して前記サーバ装置と通信する携帯端末装置と、を備え、前記携帯端末装置は、前記慣性センサの出力信号から操作角度を演算する手段と、前記慣性センサの出力信号から角加速度を演算する手段と、前記サーバ装置から送信された動画を再生して前記表示部に表示する手段と、を有し、前記サーバ装置は、仮想車両のステアリング舵角を記憶する手段と、前記携帯端末装置から送信された操作角度に基づいて、補正前の操舵量を演算する手段と、前記仮想車両の操作において想定される最大角加速度に対する、前記携帯端末装置から送信された角加速度の割合を演算し、その割合に基づいて求めた補正係数で前記補正前の操舵量を補正して補正後の操舵量を演算する手段と、記憶したステアリング舵角を前記補正後の操舵量に基づいて更新する手段と、更新した前記仮想車両のステアリング舵角を反映した動画を作成する手段と、作成した動画を前記携帯端末装置へ送信する手段と、を有する、ことを特徴とする。
【0020】
本発明の第6の態様の運転シミュレーション装置によれば、上述した第1の態様と同様に、携帯端末装置で仮想車両をプレイヤーの所望する運転操作で模擬することができる。
【0021】
本発明の第7の態様である運転シミュレーションプログラムは、表示部及び慣性センサを有する携帯端末装置のコンピュータに実行させる運転シミュレーションプログラムであって、仮想車両のステアリング舵角を記憶する手段と、前記慣性センサの出力信号から前記携帯端末装置の操作角度を演算する手段と、その演算した操作角度に基づいて補正前の操舵量を演算する手段と、前記慣性センサの出力信号から前記携帯端末装置の角加速度を演算する手段と、前記仮想車両の操作において想定される最大角加速度に対する、前記角加速度を演算する手段で演算した前記携帯端末装置の角加速度の割合を演算し、その割合に基づいて求めた補正係数で前記補正前の操舵量を補正して補正後の操舵量を演算する手段と、記憶したステアリング舵角を前記補正後の操舵量に基づいて更新する手段と、更新した前記仮想車両のステアリング舵角を反映した動画を作成して前記表示部に表示する手段と、を含むことを特徴とする。
【0022】
本発明の第7の態様の運転シミュレーションプログラムによれば、上述した第1の態様と同様に、携帯端末装置で仮想車両をプレイヤーの所望する運転操作で模擬することができる。
【0023】
本発明の第8の態様である運転シミュレーションプログラムは、サーバ装置と、ネットワークを介して前記サーバ装置と通信する携帯端末装置と、を備えるネットワークシステムにおける前記サーバ装置のコンピュータに実行させる運転シミュレーションプログラムであって、仮想車両のステアリング舵角を記憶する手段と、前記携帯端末装置から送信された操作角度から補正前の操舵量を演算する手段と、前記仮想車両の操作において想定される最大角加速度に対する、前記携帯端末装置から送信された角加速度の割合を演算し、その割合に基づいて求めた補正係数で前記補正前の操舵量を補正して補正後の操舵量を演算する手段と、記憶したステアリング舵角を前記補正後の操舵量に基づいて更新する手段と、更新した前記仮想車両のステアリング舵角を反映した動画を作成する手段と、作成した動画を前記携帯端末装置へ送信する手段と、を含むことを特徴とする。
【0024】
本発明の第8の態様の運転シミュレーションプログラムによれば、上述した第1の態様と同様に、携帯端末装置で仮想車両をプレイヤーの所望する運転操作で模擬することができる。
【発明の効果】
【0025】
本発明の運転シミュレーション装置によれば、モバイル端末で仮想車両をプレイヤーの所望する運転操作で模擬することが可能になる。
【発明を実施するための形態】
【0027】
<第1実施形態>
以下、本発明の第1実施形態について図面を参照しながら説明する。
図1は、本発明の第1実施形態に係る運転シミュレーション装置1の概略構成を示すブロック図、
図2(A)は、モバイル端末に内蔵されている加速度センサが検出するX軸、Y軸を模式的に示す図、
図2(B)は、モバイル端末に内蔵されている加速度センサが検出するZ軸を模式的に示す図、
図3(A)は、モバイル端末に内蔵されている角速度センサが検出するX軸、Y軸を模式的に示す図、
図3(B)は、モバイル端末に内蔵されている角速度センサが検出するZ軸を模式的に示す図、
図4は、運転シミュレーション装置1に表示される動画の一例を示す図である。
【0028】
運転シミュレーション装置1は、加速度センサ(慣性センサ)10、角速度センサ(慣性センサ)11、表示部(表示手段)12、演算部(制御部)13、及び記憶部14を備えている。運転シミュレーション装置1は、スマートフォンやタブレット端末等のモバイル端末であり、後述するプログラムをインストールして実行可能な携帯型の端末装置である。
【0029】
加速度センサ10は、
図2(A)、
図2(B)に示すように、運転シミュレーション装置1において互いに直交するX軸、Y軸、Z軸の3軸方向の加速度を検出する。加速度センサ10が、X軸、Y軸、Z軸の加速度を検出することによって、各軸の加速及び減速を認識可能となる。特に、加速度センサ10が地球中心に作用する重力加速度を検出することにより、モバイル端末と地球との関係を定義することが可能になる。従って加速度センサ10が、X軸、Y軸、Z軸のそれぞれの加速度を検出することによって、運転シミュレーション装置1の傾き、つまりモバイル端末の傾斜角度を取得可能となる。
【0030】
ここで、加速度センサ10が検出するX軸とは、運転シミュレーション装置1の長手方向の略中央を水平方向に延びる軸である。加速度センサ10が検出するY軸とは、X軸と直交し、運転シミュレーション装置1の幅方向の略中央を鉛直方向に延びる軸である。加速度センサ10が検出するZ軸とは、X軸及びY軸と直交し、運転シミュレーション装置1の背面15から表示部12が配置されている面に向かって延びる軸である。なお、本実施形態では、プレイヤーはY軸方向を鉛直方向上側として操作するものとする。
【0031】
角速度センサ11は、
図3(A)、
図3(B)に示すように、運転シミュレーション装置1において互いに直交するX軸、Y軸、Z軸を中心とした回転の速度、即ち角速度を検出する。角速度センサ11が、X軸、Y軸、Z軸のそれぞれの角速度を検出することによって、運転シミュレーション装置1が向いている方向を取得することができる。
【0032】
表示部12には、
図4に示すように、3次元の仮想空間に仮想車両100の運転状態を描画した動画が再生される。表示部12に表示される動画には、プレイヤーが仮想車両100の運転席から見た仮想空間に加えて、ステアリングホイール101、バックミラー102、サイドミラー103が画像として表示される。仮想車両100の運転状態に応じて、仮想車両100の運転席から見た前方の景色だけでなく、バックミラー102、サイドミラー103に映し出される景色も変化させることによって、よりリアリティのある運転シミュレーションを実現することができる。プレイヤーは、運転シミュレーション装置1を傾けることによって、仮想車両100のステアリングホイール101を操作することができる。
【0033】
演算部13は、操作角度演算部130、操舵量演算部131、角加速度演算部132、操舵量補正部133、ステアリング舵角更新部134、重み付け設定部135、動画作成部136、及びタイマ137を有している。演算部13は、図示しないCPU(Central Processing Unit)から構成されており、記憶部14に記憶されたプログラムを実行することによって、操作角度演算部130、操舵量演算部131、角加速度演算部132、操舵量補正部133、ステアリング舵角更新部134、重み付け設定部135、動画作成部136、及びタイマ137の各機能が発揮される。なお、演算部13は、操作角度演算部130、操舵量演算部131、角加速度演算部132、操舵量補正部133、ステアリング舵角更新部134、重み付け設定部135、動画作成部136、及びタイマ137以外の機能も備えているが、本実施形態では説明を省略する。
【0034】
操作角度演算部130は、加速度センサ10が検出した3軸方向の加速度から、運転シミュレーション装置1のY軸回りの傾斜角度を操作角度として演算する。操舵量演算部131は、仮想車両100のステアリング舵角と、操作角度演算部130で演算された操作角度とに基づいて、仮想車両100のステアリングの操舵量を演算する。角加速度演算部132は、角速度センサ11が検出した角速度から、角速度の変化率である角加速度を演算する。
【0035】
操舵量補正部133は、補正係数を求め、その補正係数で操舵量を補正する。操舵量補正部133は、角加速度から演算される第1の補正係数K1、操作角度から演算される第2の補正係数K2、及び加速度から演算される第3の補正係数K3をそれぞれ求める。ステアリング舵角更新部134は、補正後の操舵量に基づいて、仮想車両100のステアリング舵角を更新する。重み付け設定部135は、操舵量補正部133で求められる第1の補正係数K1、第2の補正係数K2、及び第3の補正係数K3に対してそれぞれ重み付けを設定する。動画作成部136は、更新されたステアリング舵角を反映した動画を作成し、表示部11で再生する。タイマ137は、時間を計測するものであり、例えば前回ステアリング舵角θvを更新してからの経過時間Δtを計測する。
【0036】
記憶部14は、ステアリング舵角記憶部140を有している。記憶部14は、ROM、RAM等のメモリから構成されている。記憶部14に記憶されている、図示しない各種プログラムは、ハードディスク、光ディスク、メモリカード等の記憶媒体(図示せず)に記憶されていたものであって、例えばこの記憶媒体から記憶部14にプログラムが供給されてもよい。また、インターネット等のネットワークを介して、各種プログラムが記憶部14に供給されてもよい。なお、記憶部14には、ステアリング舵角記憶部140以外の情報も記憶しているが、本実施形態では説明を省略する。
ステアリング舵角記憶部140は、仮想車両100のステアリング舵角を記憶する。
【0037】
次に、このように構成された運転シミュレーション装置1で実行される運転シミュレーションについて説明する。
図5は、本実施形態に係る運転シミュレーションルーチンのフローチャート、
図6は、
図5の運転シミュレーションルーチンのステアリング舵角演算ステップのフローチャートである。以下、
図5、
図6に基づいて説明する。なお、以下に述べる運転シミュレーションルーチンのフローチャートにおける各ステップは、記憶部14に格納されている各種プログラムを演算部13で実行することによって行われる。また、以下に説明する各変数は、特に説明のない限り運転シミュレーション開始時に初期化(例えば0が設定)されているものとする。さらに、
図5の運転シミュレーションルーチンを実行することによって、運転シミュレーションが開始される。また、以下に説明する運転シミュレーションルーチンのフローチャートでは、運転シミュレーション装置1をモバイル端末1として説明する。
【0038】
ステップS1では、仮想車両100のステアリングの操舵量Δδvを演算する。詳しくは、例えばモバイル端末1の操作角度θty及び仮想車両100のステアリング舵角θvに基づいて、前回ステアリング舵角を更新してからの経過時間Δtにおける仮想車両100のステアリングの操舵量Δδvを演算する。
【0039】
ステップS2では、仮想車両100のステアリングの操舵量Δδvの絶対値が0か否かを判定する。当該判定結果が偽(No)の場合には、モバイル端末1で仮想車両100のステアリングホイール101が操作されたとしてステップS3へ進む。当該判定結果が真(Yes)の場合には、モバイル端末1で仮想車両100のステアリングホイール101の操作に変化がないとしてステップS4へ進む。
【0040】
ステップS3では、仮想車両100のステアリング舵角θv’を演算する。詳しくは、
図6に示すフローチャートに基づいて説明する。
【0041】
ステップS31では、モバイル端末1の角加速度Ftyに基づく補正係数K1を演算する。詳しくは、モバイル端末1の想定される最大角加速度に対する、角速度センサ11が検出した角速度から演算された角加速度の割合を演算し、その割合に対して重み付けをして補正係数K1を演算する。補正係数K1は、以下に示す式(1)から求められる。
【0043】
上記式(1)では、c1:重み付け係数、Fty:角速度センサ11が検出したY軸回りの角速度から演算された角加速度、Ftmax:モバイル端末1の操作で想定されるY軸回りの最大角加速度、β1:調整係数をそれぞれ表している。モバイル端末1の操作で想定される最大角加速度Ftmaxは、プレイヤーが行うモバイル端末1での仮想車両100の操作において想定される最大の角加速度である。調整係数β1は、求めた割合を調整するための係数である。重み付け係数c1は、補正係数K1の重要度に応じて決まる係数である。
【0044】
角速度センサ11の出力信号から求めた角加速度Ftyが大きくなるほど、プレイヤーは、仮想車両100のステアリングをより速く操舵しようとしていることになる。そしてプレイヤーが仮想車両100のステアリングをより速く操舵しようとしているということは、例えば急なコーナーを曲がろうとしている等、プレイヤーが短時間に大きな操舵量で仮想車両のステアリングを操舵しようとしている状況が想定される。
【0045】
角速度センサ11の出力信号から求めた角加速度Ftyが大きくなるほど、最大角加速度Ftmaxに対するその割合が大きくなるので、補正係数K1はより大きくなる。それによって補正係数K1で補正した後の操舵量は、角速度センサ11の出力信号から求めた角加速度Ftyが大きくなるほど大きくなり、従って補正後の操舵量から求められるステアリング舵角も大きくなる。つまり一定の操作角度θtyの変化に対し、そのときの操作の角加速度Ftyが大きいほど、すなわちプレイヤーが仮想車両100のステアリングをより速く操舵しようとするほど、仮想車両100のステアリング舵角はより大きく変化することになる。
【0046】
ステップS32では、モバイル端末1の操作角度θtyに基づく補正係数K2を演算する。詳しくは、モバイル端末1の想定される最大の操作角度に対する、モバイル端末1の操作角度θtyの割合を演算し、その割合に対して重み付けをして補正係数K2を演算する。補正係数K2は、以下に示す式(2)から求められる。
【0048】
上記式(2)では、c2:重み付け係数、θty:モバイル端末1のY軸回りの操作角度、θtmax:モバイル端末1の操作で想定されるY軸回りの最大操作角度、β2:調整係数をそれぞれ表している。操作角度θtyとは、モバイル端末1のY軸回りの傾斜角度のことである。モバイル端末1の操作で想定される最大操作角度θtmaxとは、プレイヤーが行うモバイル端末1での仮想車両100の操作において想定される最大の操作角度である。調整係数β2は、求めた操作角度の割合を調整するための係数である。重み付け係数c2は、補正係数K2の重要度に応じて決まる係数である。
【0049】
加速度センサ10の出力信号から求めた操作角度θtyが大きくなるほど、例えば交差点を鋭角に曲がろうとしている等、プレイヤーが仮想車両100のステアリングを大きく操舵しようとしている状況が想定される。加速度センサ10の出力信号から求めた操作角度θtyが大きくなるほど、最大操作角度θtmaxに対するその割合が大きくなるので、補正係数K2はより大きくなる。それによって補正係数K2で補正した後の操舵量は、加速度センサ10の出力信号から求めた操作角度θtyが大きくなるほど大きくなる。つまり仮想車両100のステアリングは、加速度センサ10の出力信号から求めた操作角度θtyが大きくなるほど、より大きく操舵されることになる。
【0050】
ステップS33では、モバイル端末1の3軸方向の加速度atx,aty,atzの合成加速度atを演算する。この加速度の合成加速度atを求めることによって、モバイル端末1の3軸方向の動きの大きさを合成した大きさを求めることができる。加速度の合成加速度atは、以下の式(3)から演算される。
【0052】
ステップS34では、加速度の合成加速度atに基づいて、補正係数K3を演算する。詳しくは、モバイル端末1の操作において想定される最大加速度に対する、加速度センサ10から検出された加速度の合成加速度atの割合を演算し、その割合に重み付けをして補正係数K3を求める。補正係数K3は、以下の式(4)から求められる。
【0054】
上記式(3)では、c3:重み付け係数、at:加速度センサ10で検出された3軸方向の加速度の合成加速度、atmax:モバイル端末1の操作において想定される最大加速度、β3:調整係数をそれぞれ示している。モバイル端末1の操作において想定される最大加速度atmaxとは、プレイヤーが行うモバイル端末1の仮想車両100の操作において想定される3軸方向の最大の加速度を合成した合成加速度である。β3は、加速度の合成加速度atの割合を調整するための係数である。重み付け係数c3は、補正係数K3の重要度に応じて決まる係数である。
【0055】
加速度センサ10の出力信号から求めた加速度が大きくなるほど、例えば壁等に接触しそうになり慌てて急ハンドルを切っている等、プレイヤーが仮想車両100のステアリングを急いで操舵しようとしている状況が想定される。加速度センサ10の出力信号から求めた合成加速度atが大きくなるほど、最大加速度atmaxに対するその割合が大きくなるので、補正係数K3はより大きくなる。それによって補正係数K3で補正した後の操舵量は、加速度センサ10の出力信号から求めた合成加速度atが大きくなるほど大きくなる。つまり仮想車両100のステアリングは、加速度センサ10の出力信号から求めた合成加速度atが大きくなるほど、より大きく操舵されることになる。
【0056】
ステップS35では、仮想車両100のステアリングの操舵量Δδvを補正係数K1、K2、K3で補正し、補正後の操舵量Δδv’を演算する。補正後の操舵量Δδv’は、以下の式(5)から求められる。
Δδv’=K1・K2・K3・Δδv ・・・(5)
【0057】
ステップS36では、補正した操舵量Δδv’に基づいて、更新した仮想車両100のステアリング舵角θv’を演算する。詳しくは、補正後の操舵量Δδv’をステアリング舵角に換算し、ステアリング舵角記憶部140に記憶されているステアリング舵角θvに加算することによって求められる。更新後のステアリング舵角θv’は、以下の式(6)から求められる。
θv’=θv+Δδv’・θvmax ・・・(6)
【0058】
上記式(6)では、θvmaxは、仮想車両100のステアリング舵角の最大値であり、例えばπ(=180°)である。補正後の操舵量Δδv’でステアリング舵角記憶部140に記憶されている仮想車両100のステアリング舵角θvを更新することによって、プレイヤーが所望する仮想車両100のステアリングの動きを実現することが可能となる。
【0059】
ステップS4では、更新されたステアリング舵角θv’を反映した仮想車両100の運転状態の動画を作成し、再生して表示部12に表示する。
ステップS5では、運転シミュレーションを終了するか否かを判定する。当該判定結果が真(Yes)の場合には運転シミュレーションを終了し、当該判定結果が偽(No)の場合には運転シミュレーションを継続するとしてステップS1に戻る。なお、運転シミュレーションの終了の判定は、例えば表示部12に設けられた終了ボタンや、モバイル端末1に設けられているボタン等が操作されることによる指令信号によって判定するようにしてもよい。
【0060】
このように、本実施形態では、仮想車両100の運転操作において想定される最大角加速度に対する、角速度センサ11で検出された角速度から演算される角加速度Ftyの割合を演算し、その割合に基づいて求めた補正係数K1で仮想車両100の操舵量Δδvを補正し、補正後の操舵量Δδv’でステアリング舵角θvを更新する。
これにより、仮想車両100の操舵量Δδvが角加速度Ftyの大きさに応じて大きくなるように補正されるので、プレイヤーが所望する仮想車両100の運転操作を模擬することが可能になる。
【0061】
また、モバイル端末1の操作において想定される最大の操作角度θtmaxに対する、モバイル端末1の操作角度θtyの割合を演算し、その割合に基づく補正係数K2で仮想車両100の操舵量Δδvを補正し、補正後の操舵量Δδv’でステアリング舵角θvを更新する。これにより、仮想車両100の操舵量Δδvが操作角度θtyの大きさに応じて大きくなるように補正されるので、プレイヤーが所望する仮想車両100の運転操作を模擬することが可能になる。
【0062】
さらに、モバイル端末1の操作において想定される最大加速度atmaxに対する、モバイル端末1の合成加速度atの割合を演算し、その割合に基づく補正係数K3で仮想車両100の操舵量Δδvを補正し、補正後の操舵量Δδv’でステアリング舵角θvを更新する。これにより、仮想車両100の操舵量Δδvが合成加速度atの大きさに応じて大きくなるように補正されるので、プレイヤーが所望する仮想車両100の運転操作を模擬することが可能になる。
【0063】
<第2実施形態>
次に、本発明の第2実施形態に係る運転シミュレーション装置について説明する。本実施形態は、上記第1実施形態に対してサーバ装置を設け、モバイル端末はネットワークを介してサーバ装置と接続する点が異なっており、その他の構成は共通している。従って共通箇所の説明は省略する。
【0064】
図7は、本発明の第2実施形態に係る運転シミュレーション装置1Aの概略図、
図8は、第2実施形態に係る運転シミュレーション装置の概略構成を示すブロック図である。以下、
図7、
図8に基づいて説明する。
【0065】
運転シミュレーション装置1Aは、サーバ装置2と、モバイル端末3とを備えている。モバイル端末3は、ネットワークNを介してサーバ装置2と通信する。
【0066】
サーバ装置2は、サーバ演算部(制御部)20、記憶部21、及びサーバ通信部22を備えている。サーバ演算部20は、図示しないCPUから構成されている。サーバ演算部20は、操舵量演算部200、操舵量補正部201、ステアリング舵角更新部202、重み付け設定部203、動画作成部204、及びタイマ205を有している。サーバ演算部20は、CPUが記憶部21に格納されている各種プログラムを実行することによって、操舵量演算部200、操舵量補正部201、ステアリング舵角更新部202、重み付け設定部203、動画作成部204、及びタイマ205の各機能が発揮される。なお、サーバ演算部20は、操舵量演算部200、操舵量補正部201、ステアリング舵角更新部202、重み付け設定部203、動画作成部204、及びタイマ205以外の機能も有しているが、本実施形態では説明を省略する。
【0067】
操舵量演算部200は、仮想車両100のステアリング舵角と、モバイル端末3の操作角度演算部310で演算された操作角度とに基づいて、仮想車両100の操舵量を演算する。操舵量補正部201は、モバイル端末3の角加速度演算部311で演算された角加速度に基づいて求められる第1の補正係数K1、モバイル端末3の操作角度演算部310で演算された操作角度に基づいて求められる第2の補正係数K2、及びモバイル端末3の加速度センサ32で検出された加速度に基づいて求められる第3の補正係数K3によって仮想車両100の操舵量を補正する。
【0068】
ステアリング舵角更新部202は、操舵量補正部201で求めた補正後の操舵量に基づいて、ステアリング舵角記憶部210に記憶されているステアリング舵角を更新する。重み付け設定部203は、操舵量補正部201で求めた第1の補正係数K1、第2の補正係数K2、及び第3の補正係数K3に対して重み付けを設定する。動画作成部204は、ステアリング舵角更新部202で更新されたステアリング舵角を反映した仮想車両100の動画を作成する。タイマ205は、時間を計測するものであり、例えば前回ステアリング舵角θvを更新してからの経過時間Δtを計測する。
【0069】
記憶部21は、図示しないROM、RAM等のメモリから構成されている。記憶部21は、ステアリング舵角記憶部210を有している。ステアリング舵角記憶部210は、仮想車両100のステアリング舵角を記憶する。
【0070】
サーバ通信部22は、ネットワークNを介してモバイル端末3と通信し、例えばモバイル端末3から角加速度、操作角度、及び加速度の受信や、動画作成部204で作成した動画のモバイル端末3への送信等を行う。
【0071】
モバイル端末3は、端末通信部30、端末演算部31、加速度センサ(慣性センサ)32、角速度センサ(慣性センサ)33、及び表示部(表示手段)34を備えている。端末通信部30は、ネットワークNを介してサーバ装置2と通信し、例えば角加速度、操作角度、及び加速度の送信や、サーバ装置2から送信された動画の受信等を行う。
【0072】
端末演算部31は、図示しないCPUから構成されており、操作角度演算部310、角加速度演算部311、及び動画再生部312を有している。端末演算部31は、図示しないROM、RAM等のメモリに記憶されたプログラムをCPUで実行することによって、操作角度演算部310、角加速度演算部311、及び動画再生部312の各機能が発揮される。
【0073】
操作角度演算部310は、加速度センサ32が検出した加速度に基づいて、モバイル端末3の傾斜角度を操作角度として演算する。角加速度演算部311は、角速度センサ33が検出した角速度に基づいて、角速度の変化率である角加速度を演算する。動画再生部312は、端末通信部30が受信した動画を再生して表示部34に表示する。
【0074】
加速度センサ32は、モバイル端末3のX軸、Y軸、及びZ軸の3軸方向の加速度を検出する。
角速度センサ33は、モバイル端末3のX軸、Y軸、及びZ軸の3軸方向の角速度を検出する。
【0075】
このように構成された運転シミュレーション装置1Aで実行される運転シミュレーションについて説明する。
図9は、サーバ装置2で実行される運転シミュレーションルーチンのフローチャート、
図10は、運転シミュレーションルーチンのステアリング舵角演算ステップのフローチャートである。以下、
図9、
図10に基づいて説明する。なお、以下に述べる運転シミュレーションルーチンのフローチャートにおける各ステップは、サーバ装置2の記憶部21に格納されている各種プログラムをサーバ演算部20で実行することによって行われる。また、
図9に示すフローチャートは、サーバ装置2がモバイル端末3から運転シミュレーションの開始要求を受信することにより行われる。また、後述するステップS52の詳細なステップS521〜S526は、上記第1実施形態で説明した
図6のステップS31〜S36と同じであり、本実施形態では
図6の各ステップをサーバ装置2のサーバ演算部20で行うところが異なっていることから、共通する部分の説明は省略する。
【0076】
ステップS41では、モバイル端末3に角加速度Ftyを要求する。モバイル端末3は、サーバ装置2から角加速度Ftyの要求を受信すると、角速度センサ33が検出した角速度に基づいて角加速度Ftyを演算し、サーバ装置2へ送信する。
ステップS42では、モバイル端末3から角加速度Ftyの応答の有無を判定する。当該判定結果が真(Yes)の場合には、モバイル端末3から送信された角加速度Ftyを受信したとしてステップS43へ進む。一方、当該判定結果が偽(No)の場合には、モバイル端末3から角加速度Ftyを受信できなかったとしてステップS44へ進む。
ステップS43では、受信したモバイル端末3の角加速度Ftyで、変数としての角加速度Ftyを更新する。
【0077】
ステップS44では、モバイル端末3に操作角度θtyを要求する。モバイル端末3は、サーバ装置2から操作角度θtyの要求を受信すると、加速度センサ32が検出した3軸方向の加速度から求めたY軸回りの傾斜角度を操作角度θtyとしてサーバ装置2へ送信する。
【0078】
ステップS45では、モバイル端末3から操作角度θtyの応答の有無を判定する。当該判定結果が真(Yes)の場合には、モバイル端末3から操作角度θtyの応答があったとしてステップS46へ進む。一方、当該判定結果が偽(No)の場合には、モバイル端末3から操作角度θtyを受信できなかったとしてステップS47へ進む。
ステップS46では、モバイル端末3から受信した操作角度θtyで、変数としての操作角度θtyを更新する。
【0079】
ステップS47では、モバイル端末3に3軸方向の加速度atx,aty,atzを要求する。モバイル端末3は、サーバ装置2から3軸方向の加速度atx,aty,atzの要求を受信すると、加速度センサ32が検出した加速度をサーバ装置2へ送信する。
【0080】
ステップS48では、モバイル端末3から3軸方向の加速度atx,aty,atzの応答の有無を判定する。当該判定結果が真(Yes)の場合には、モバイル端末3から3軸方向の加速度atx,aty,atzを受信したとしてステップS49へ進む。一方、当該判定結果が偽(No)の場合には、モバイル端末3から3軸方向の加速度atx,aty,atzを受信できなかったとしてステップS50へ進む。
ステップS49では、モバイル端末3から受信した3軸方向の加速度atx,aty,atzで、変数としての加速度atx,aty,atzを更新する。
【0081】
ステップS50では、仮想車両100のステアリングの操舵量Δδvを演算する。操舵量Δδvは、例えばモバイル端末3の操作角度θty及び仮想車両100のステアリング舵角θvから、前回ステアリング舵角を更新してからの経過時間Δtにおける仮想車両100のステアリングの操舵量Δδvを演算する。
【0082】
ステップS51では、仮想車両100のステアリングの操舵量Δδvの絶対値が0か否かを判定する。当該判定結果が偽(No)の場合には、モバイル端末3で仮想車両100のステアリングホイール101が操作されたとしてステップS52へ進む。当該判定結果が真(Yes)の場合には、モバイル端末3で仮想車両100のステアリングホイール101の操作に変化がないとしてステップS53へ進む。
【0083】
ステップS52では、モバイル端末3の角加速度Fty、操作角度θty、及び3軸方向の加速度atx,aty,atzに基づいて、更新した仮想車両100のステアリング舵角θv'を演算する。ここで、ステップS42でモバイル端末3の角加速度Ftyが受信できなかった場合には、前回受信した角加速度Ftyに基づいてステアリング舵角θv’を演算する。また、ステップS45で操作角度θtyが受信できなかった場合には、前回受信した操作角度θtyに基づいてステアリング舵角θv’を演算する。また、ステップS48で3軸方向の加速度atx,aty,atzが受信できなかった場合には、前回受信した3軸方向の加速度atx,aty,atzに基づいてステアリング舵角θv’を演算する。ステップS52の詳細は、
図10に基づいて説明する。
【0084】
ステップS521では、モバイル端末3のY軸回りの角加速度Ftyに基づいて補正係数K1を演算する。詳しくは、モバイル端末3の操作において想定される最大角加速度Ftmaxに対する、角速度センサ33が検出した角速度から演算された角加速度Ftyの割合を演算し、その割合に対して重み付けをして補正係数K1を演算する。補正係数K1は、上述した式(1)から求められる。
【0085】
ステップS522では、モバイル端末3の操作角度θtyに基づいて補正係数K2を演算する。詳しくは、モバイル端末3の操作において想定される最大の操作角度θtmaxに対する、モバイル端末3の操作角度θtyの割合を演算し、その割合に対して重み付けをして補正係数K2を演算する。補正係数K2は、上述した式(2)から求められる。
【0086】
ステップS523では、モバイル端末3の3軸方向の加速度atx,aty,atzの合成加速度atを演算する。加速度の合成加速度atは、上述した式(3)から演算される。
ステップS524では、加速度の合成加速度atに基づいて、補正係数K3を演算する。詳しくは、モバイル端末3の操作において想定される最大加速度atmaxに対する、加速度センサ32から検出された加速度の合成加速度atの割合を演算し、その割合に重み付けをして補正係数K3を求める。補正係数K3は、上述した式(4)から求められる。
【0087】
ステップS525では、仮想車両100のステアリングの操舵量Δδvを補正係数K1、K2、K3で補正し、補正後の操舵量Δδv’を演算する。補正後の操舵量Δδv’は、上述した式(5)から求められる。
ステップS526では、補正した操舵量Δδv’に基づいて、更新した仮想車両100のステアリング舵角θv’を演算する。詳しくは、補正後の操舵量Δδv’をステアリング舵角に換算し、ステアリング舵角記憶部210に記憶されているステアリング舵角θvに加算することによって求められる。更新後のステアリング舵角θv’は、上述した式(6)から求められる。
【0088】
ステップS53では、更新したステアリング舵角θv’を反映した仮想車両100の動画を作成し、モバイル端末3へ送信する。モバイル端末3は、サーバ装置2から動画を受信した後、その動画を再生して表示部34に表示する。
【0089】
ステップS54では、運転シミュレーションを終了するか否かを判定する。当該判定結果が真(Yes)の場合には、運転シミュレーションを終了する。一方、当該判定結果が偽(No)の場合には、運転シミュレーションを継続するためにステップS41へ戻る。なお、運転シミュレーションの終了は、例えばモバイル端末3から運転シミュレーション終了の指令信号をサーバ装置2で受信したか否かで判定してもよい。
【0090】
このように、本実施形態では、モバイル端末3の想定される最大角加速度Ftmaxに対する、モバイル端末3から受信した角加速度Ftyの割合を求め、その割合に基づいて補正係数K1を演算し、ステアリングの操舵量Δδvを補正係数K1で補正し、補正後の操舵量Δδv’に基づいて更新した仮想車両100のステアリング舵角θv’を演算する。
これにより、上記第1実施形態と同様の効果を得ることができる。
【0091】
また、モバイル端末3の想定される最大操作角度θtmaxに対する、モバイル端末3の操作角度θtyの割合を演算し、その割合に基づいて求めた補正係数K2で仮想車両100の操舵量Δδvを補正し、補正後の操舵量Δδv’でステアリング舵角θvを更新する。
さらに、モバイル端末3の想定される最大加速度atmaxに対する、モバイル端末3の合成加速度atの割合を演算し、その割合に基づいて求めた補正係数K3で仮想車両100の操舵量Δδvを補正し、補正後の操舵量Δδv’でステアリング舵角θvを更新する。
これにより、上記第1実施形態と同様の効果を得ることができる。
【0092】
以上で実施形態の説明を終えるが、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
例えば、上記各実施形態では、角速度センサ11,33を用いてモバイル端末1,3の角加速度Ftyを演算しているが、例えば加速度センサを複数個用いて角加速度Ftyを演算するようにしてもよい。
【0093】
また、上記各実施形態では、加速度センサ10,32を用いてモバイル端末1,3の操作角度θtyを演算しているが、例えば加速度センサ10,32と角速度センサ11,33とから出力される信号に基づいて操作角度θtyを演算するようにしてもよい。また、角速度センサ11,33で検出したモバイル端末1,3の回転角度θtyを演算するようにしてもよい。
【0094】
さらに、上記各実施形態では、補正係数K1、K2、K3を仮想車両100のステアリングの操舵量Δδvに積算して補正後の操舵量Δδv’を求めたが、ステアリングの操舵量Δδvの補正は、例えば角加速度Ftyに基づいて求めた補正係数K1のみを用いて補正してもよいし、角加速度Ftyに基づいて求めた補正係数K1及び操作角度θtyに基づいて求めた補正係数K2を用いて補正してもよい。
【0095】
また、上記各実施形態では、モバイル端末1の加速度センサ10、モバイル端末3の加速度センサ32の3軸方向の加速度から求められるY軸回りの傾斜角度を操作角度θtyとして説明したが、モバイル端末1,3の向きに応じて傾斜角度の軸を変更してもよい。例えば、プレイヤーがX軸を鉛直方向上側にしてモバイル端末1,3を操作する場合には、3軸方向の加速度から求まるX軸回りの傾斜角度を操作角度θtxとして演算するようにしてもよい。同様に、上記各実施形態では、モバイル端末1の角速度センサ11、モバイル端末3の角速度センサ33で検出した角速度に基づいて求められるY軸回りの角加速度Ftyを用いることについて説明したが、モバイル端末1,3の向きに応じて角加速度の軸方向を変更してもよい。
【0096】
さらに、上記第2実施形態では、ステップS41で仮想車両100のステアリング舵角θvをステアリング舵角記憶部210に記憶しているが、ステップS49までにステアリング舵角θvを記憶できればこれに限られない。