以下、本発明に係るライディングシミュレータを例えば自動二輪車用に適用した実施の形態例を図1〜図12を参照しながら説明する。
先ず、第1実施の形態に係る自動二輪車用ライディングシミュレータ(以下、第1シミュレータ10Aと記す)は、図1及び図2に示すように、基台12と、基台12の上方に配置され、操作者14が搭乗する模擬車両16と、基台12と模擬車両16との間に配置され、模擬車両16の姿勢を変化させ又は付勢力を与えるアクチュエータユニット20と、アクチュエータユニット20等を制御する制御部22と、基台12に対して模擬車両16をロール方向X(図3参照)及びピッチ方向Y(図1参照)にロール回動及びピッチ回動自在に支持する支持機構24とを備える。さらに、第1シミュレータ10Aは、モニタ26と、スピーカ28とを備える。
模擬車両16は、上端に操向自在なハンドル30を設けたフロントコラム32と、フロントコラム32の下端から後方にのびる着座部34とを備えている。
支持機構24は、基台12上に固定された台座36と、台座36上に、軸方向が模擬車両16の長手方向に沿うように配されたロール軸38と、該ロール軸38上に、軸方向が模擬車両16の幅方向に沿うように配されたピッチ軸40とを有する。ロール軸38は、台座36上に一対の第1軸受け42を介して回転自在に取り付けられている。ピッチ軸40はロール軸38に連結固定され、さらに一対の第2軸受け44を介して着座部34の下面に回転自在に取り付けられている。従って、模擬車両16は、ロール軸38を中心にロール方向(X方向)に回動し、ピッチ軸40を中心にピッチ方向(Y方向)に回動するようになっている。
アクチュエータユニット20は、フロントコラム32の前方における左右対称の位置に配された一対の直動アクチュエータ50を有する。各直動アクチュエータ50は、電動モータを内蔵する可動部材52と、可動部材52に挿通した棒状の固定部材54とを有する。このうち、各可動部材52は、フロントコラム32の前面部に回転自在に取り付けられたブラケット56に例えば自由継手等を介して回転自在に連結されている。各固定部材54の下端は、自由継手58(ユニバーサルジョイント)を介して基台12に連結されている。各直動アクチュエータ50は、可動部材52内に固定部材54に螺合するナットを軸支し、電動モータによりナットを回転させることで固定部材54と可動部材52とが軸方向に相対移動するように構成されている。
そして、一対の直動アクチュエータ50の可動部材52を共に上動又は下動させると、模擬車両16にピッチ軸40を支点にした前上り又は前下りの回動、すなわち、ピッチ動作が与えられる。また、各直動アクチュエータ50の可動部材52を互いに上下反対方向に移動させると、模擬車両16にロール軸38を支点にした横方向の回動、すなわち、ロール動作が与えられる。これにより、操作者14によるアクセル操作やブレーキ操作に応じてピッチ動作を与えると共に、操作者14の体重移動に応じてロール動作を与えることにより、操作者14に実車走行時と同様の車体挙動を体感させることができる。なお、直動アクチュエータ50は、シリンダを用いた流体圧式のものに構成してもよい。
次に、第1シミュレータ10Aの制御部22及び操作部62について図4を参照しながら説明する。
制御部22は、コンピュータ等の制御回路64と、CGI発生装置66とを有する。CGI発生装置66は、制御回路64から伝達される情報(入力情報)等を用いてモニタ26に動体(例えば、他車両)および静体(例えば、風景、走行路)の動きのパターンを迅速に表示する。すなわち、操作者14による擬似車両16の操作に基づいて仮想空間上を走行する仮想車両から見た背景画像(例えば他車両、風景、走行路等)の動きを表示する。
制御回路64から伝達される情報とは、基本的には、模擬車両16の挙動に係わる、現在位置データ、現在ヨーデータ、現在速度データ、現在加速度データ、現在ピッチ動データ、現在ロール動データであり、これらのデータ(現在の挙動情報データともいう)が時々刻々入力されるのに応じて、CGI発生装置66は、予め記憶されている風景を含む走行路の映像情報を発生する。
操作部62は、上述したハンドル30のほか、フロントブレーキレバー70、リヤブレーキペダル72、アクセルであるスロットルグリップ74、クラッチレバー76、ハンドルスイッチ78(ライディングスイッチ、ディマースイッチ、ウィンカースイッチ、スタータスイッチ、ホーンスイッチ、キルスイッチ等)、ギヤシフトペダル80等を有する。
ハンドル30は、ハンドルトルクセンサ82とステアリングモータ84の回転軸とに直結されている。制御回路64は、このハンドルトルクセンサ82の出力信号に基づき、ステアリングモータ84を介して操作者14のハンドル30の回動操作に対応する反力を付与する。
また、操作部62は、フロントブレーキレバー70に連結されたフロントブレーキ圧センサ86、リヤブレーキペダル72に連結されたリヤブレーキ圧センサ88、スロットルグリップ74に連結されたアクセル開度センサ90、クラッチレバー76に連結されたクラッチレバー角センサ92、リーントルクセンサ94、ギヤシフトペダル80に連結されたギヤポジションスイッチ96等を有する。
この操作部62における各種センサ、ハンドルスイッチ78並びにギヤポジションスイッチ96がそれぞれ信号線を介してコネクタ98の一端側に接続される。また、ハンドル30のステアリングモータ84と、アクチュエータユニット20の各直動アクチュエータ50が、それぞれ信号線を介してコネクタ102の一端側に接続される。
なお、第1シミュレータ10Aには、例えば操作者14による模擬運転を監視する制御卓104が接続されている。この制御卓104は、制御部22に対してホストコンピュータとしても動作する第2制御部106を有する。この第2制御部106は、入力手段としてのキーボード108及びマウス110のほか、表示手段である液晶ディスプレイ等のモニタ112を備えている。例えば模擬運転中の操作者14が見るモニタ26の画面に表示される映像は、CGI発生装置66から通信線114を介して第2制御部106にも供給され、該第2制御部106に接続されたモニタ112の画面にも表示することが可能になっている。
そして、第1シミュレータ10Aの制御回路64は、図5に示すように、模擬車両16の仮想空間上での仮想車両のロール角(仮想ロール角Roll_i)を算出する仮想ロール角算出手段200と、仮想ロール角Roll_iに対応した模擬車両16のロール角(基本ロール角Roll_mo)を求める基本ロール角算出手段202と、仮想ロール角Roll_iと予め設定された少なくとも第1所定角度Roll_isとを比較する第1角度比較手段206と、第1角度比較手段206からの比較結果に基づいてロール方向の振動角(第1振動ロール角Roll_ms)を演算する第1振動ロール角演算手段208と、仮想ロール角Roll_iと予め設定された第2所定角度Roll_icとを比較する第2角度比較手段210と、第2角度比較手段210からの比較結果に基づいてロール方向の振動角(第2振動ロール角Roll_mc)を演算する第2振動ロール角演算手段212と、全体のロール角(全ロール角Roll_mt)を求める全ロール角演算手段214と、擬似音生成手段216とを有する。
第1所定角度Roll_isは、仮想車両のフットレスト(ステップ)が地面に接触する角度(例えば50°)に設定され、例えば第1レジスタ218aに格納される。第2所定角度Roll_icは仮想車両が転倒する角度(例えば55°)に設定され、例えば第2レジスタ218bに格納される。
仮想ロール角算出手段200は、ハンドルトルクセンサ82からのステアリングトルクTs(kg・m)と、リーントルクセンサ94からのリーントルクTl(kg・m)とに基づいて、ロール方向Xへの傾き速度(角速度)、いわゆるロールレートR_v(deg/sec)を次の(1)式により求める。
R_v=Ts×K1+Tl×K2 ……(1)
ロールレートR_v(deg/sec)は、ステアリングトルクTs(kg・m)に係数K1(deg/kg・m・sec)を掛けた値に、リーントルクTl(kg・m)に係数K2(deg/kg・m・sec)を掛けた値を加算した値として得られる。換言すれば、ロールレートR_vが、ステアリングトルクTsとリーントルクTlに比例して変化するように構成している。
次に、ロール角(算出ロール角または計算ロール角ともいう。)R_a(deg)を、次の(2)式により算出する。
R_a=R_a+R_v×S_time ……(2)
(2)式の左辺に示す算出されるロール角R_aは、この実施の形態では、テレビ信号の1フレーム又は1フィールドの時間、例えば17msや33msに設定されているサイクルタイムS_time(sec)毎に、(1)式で求めたロールレートR_vにサイクルタイムS_timeを掛けた値(R_v×S_time)をその前回の値(右辺のロール角R_a)に加算した値として計算される。すなわち、計算ロール角R_aは、サイクルタイムS_time毎に更新され、操作者14のハンドル30の操作量と体重移動量の時間積分値として算出される。
さらに、この仮想ロール角算出手段200は、実際の二輪車において遠心力により発生するロール動作を仮想車両に正確に表現するために、次の(3)式により、仮想車両のロール角(仮想ロール角Roll_i)を計算するようにしている。
Roll_i=R_a+Tl×K3+V×K4 ……(3)
仮想ロール角Roll_i(deg)は、計算ロール角R_aに、体重移動により発生するリーントルクTlに比例したロール角分(Tl×K3)(K3は係数)と車速Vに比例したロール角分(V×K4)(K4は係数)とを加算した値として得られるようにしている。これにより、仮想空間上での仮想車両は実際の二輪車と同様の動きでロール動作することになる。
ここで、車速Vは、発生加速度GをサイクルタイムS_time毎に積分して求めることができる。発生加速度Gは、G=(エンジントルク×ギヤレシオ−ブレーキ制動力)/車両重量(操作者14の重量も含む)として計算することができる。この場合、エンジントルクは、スロットルグリップ74によるスロットル開度とエンジン回転数に応じたトルクとしてエンジン特性から求めることができる。ギヤレシオは、ギヤポジションスイッチ96から分かるギヤポジションとスプロケット比とから求められる。ブレーキ制動力は、フロントブレーキレバー70の操作に応じたフロントブレーキ圧センサ86の出力とリヤブレーキペダル72の操作に応じたリヤブレーキ圧センサ88の出力に基づき、各々ブレーキ力特性(ブレーキ圧とブレーキ力の対応関係)を参照して求めることができる。このようにして求めた発生加速度Gから、車速Vは、V=1サイクルタイム前の車速+G×S_time×9.8(m/s)として求めることができる。
基本ロール角算出手段202は、メモリ内に記憶されたロール角情報マップ220(仮想ロール角−基本ロール角の対応マップ)から仮想ロール角Roll_iに対応した模擬車両16のロール角(基本ロール角Roll_mo)を求める。ロール角情報マップ220は、予め実験等で代表的な仮想ロール角Roll_iに対応した模擬車両16の基本ロール角Roll_moを求めておき、求めた仮想ロール角が代表的な仮想ロール角でなかった場合は、直近の代表的な仮想ロール角に対応する基本ロール角に近似させて求める。
第1角度比較手段206は、仮想ロール角算出手段200からの仮想ロール角Roll_iと第1所定角度Roll_is及び第2所定角度Roll_icとを比較する。そして、仮想ロール角Roll_iが第1所定角度Roll_isより大きく、且つ、第2所定角度Roll_ic以下の場合に、仮想車両のフットレスト(ステップ)が地面に接触したものと判定し、例えば高レベル信号を出力する。仮想ロール角Roll_iが第1所定角度Roll_is以下あるいは第2所定角度Roll_icを超えている場合に、低レベル信号を出力する。
第1振動ロール角演算手段208は、第1角度比較手段206からの高レベル信号の入力に基づいて第1振動ロール角Roll_msを以下の式(4)に基づいて演算する。
Roll_ms = R1s×|Roll_i−Roll_is|×sin(ωs × t) ……(4)
ここで、R1s×|Roll_i−Roll_is|は、振幅を決定するパラメータであり、仮想ロール角Roll_iと第1所定角度Roll_isの差分に応じた振幅となる。R1sは係数であり、最大で0.2°程度の角度に対応した振幅になるように設定される。なお、ωsはフットレスト(ステップ)が地面に接触した段階での角振動数を示し、ωs=2πfsであって、振動数fsは例えば10Hz等が選択可能である。
また、第1振動ロール角演算手段208は、第1角度比較手段206からの低レベル信号の入力に基づいて第1振動ロール角Roll_msを0とする。
第2角度比較手段210は、仮想ロール角算出手段200からの仮想ロール角Roll_iと第2所定角度Roll_icとを比較する。そして、仮想ロール角Roll_iが第2所定角度Roll_icより大きい場合に、仮想車両が過大ロールによって転倒したものと判定し、例えば高レベル信号を出力する。仮想ロール角Roll_iが第2所定角度Roll_ic以下の場合に、低レベル信号を出力する。
第2振動ロール角演算手段212は、第2角度比較手段210からの高レベル信号の入力に基づいて第2振動ロール角Roll_mcを以下の式(5)に基づいて演算する。
Roll_mc = Rc×sin(ωc × t) ……(5)
ここで、Rcは、振幅を決定する係数であり、例えば0.5°程度の角度に対応した振幅になるように設定される。ωcは転倒を表現する角振動数を示し、ωc=2πfcであって、振動数fcは例えば15Hz等が選択可能である。
第2振動ロール角演算手段212は、第2振動ロール角Roll_mcを出力した時点tcからタイマ224からのクロックを計数し、時点tcからの経過時間が例えば1/(2×fc)となった時点tdで第2振動ロール角Roll_mcを0にする。すなわち、サイン波の半波長分の第2振動ロール角Roll_mcを与える。
また、第2振動ロール角演算手段212は、第2角度比較手段210からの低レベル信号の入力に基づいて第2振動ロール角Roll_mcを0とする。
全ロール角演算手段214は、基本ロール角Roll_moと第1振動ロール角Roll_msと第2振動ロール角Roll_mcとを加算して全ロール角Roll_mtを求め、該全ロール角Roll_mtを直動アクチュエータ50に出力する。直動アクチュエータ50は、供給された全ロール角Roll_mtに適合するように可動部材52を移動させる。
擬似音生成手段216は、音源226の波形を第1振動ロール角演算手段208からの第1振動ロール角Roll_msの波形に基づいて変調して第1擬似音を生成してスピーカ28に出力する。また、擬似音生成手段216は、音源226の波形を第2振動ロール角演算手段212からの第2振動ロール角Roll_mcの波形に基づいて変調して第2擬似音を生成してスピーカ28に出力する。
次に、この第1シミュレータ10Aの動作について図6及び図7を参照しながら説明する。
先ず、図6のステップS1において、操作者14のハンドル30の操作によって発生するステアリングトルクTsをハンドルトルクセンサ82により検出すると共に、操作者14の体重移動によって発生するリーントルクTlをリーントルクセンサ94により検出し、さらに、スロットルグリップ74によるスロットル開度等の情報を取得して仮想車両の車速を得る。
ステップS2において、仮想ロール角算出手段200は、ステアリングトルクTs、リーントルクTl、車速、各種係数とに基づいて、上述した式(1)〜(3)を演算して仮想ロール角Roll_iを求める。
ステップS3において、基本ロール角算出手段202は、仮想ロール角Roll_iに対応した模擬車両16のロール角(基本ロール角Roll_mo)を求める。
ステップS4において、第1角度比較手段206は、仮想ロール角算出手段200からの仮想ロール角Roll_iと第1所定角度Roll_is及び第2所定角度Roll_icとを比較する。仮想ロール角Roll_iが第1所定角度Roll_isより大きく、且つ、第2所定角度Roll_ic以下の場合に、フットレスト(ステップ)が地面に接触したものと判定し、次のステップS5に進む。
ステップS5において、第1振動ロール角演算手段208は、第1振動ロール角Roll_msを上述した式(4)に基づいて演算する。
ステップS6において、全ロール角演算手段214は、基本ロール角算出手段202からの基本ロール角Roll_moと第1振動ロール角演算手段208からの第1振動ロール角Roll_msとを加算して全ロール角Roll_mtを求め、該全ロール角Roll_mtを直動アクチュエータ50に出力する。
ステップS7において、直動アクチュエータ50は、供給された全ロール角Roll_mtに適合するように可動部材52を移動させる。この段階で、第1振動ロール角Roll_msに基づく振動が発生することになる。
ステップS8において、擬似音生成手段216は、音源226の波形を第1振動ロール角Roll_mに基づいて変調してスピーカ28に出力する。
ステップS8での処理が終了した段階、又はステップS4において仮想ロール角Roll_iが第1所定角度Roll_is以下あるいは第2所定角度Roll_icを超えていると判別された場合に図7のステップS9に進む。
図7のステップS9において、第2角度比較手段210は、仮想ロール角算出手段200からの仮想ロール角Roll_iと第2所定角度Roll_icとを比較する。仮想ロール角Roll_iが第2所定角度Roll_icより大きい場合に、仮想車両が過大ロールによって転倒したものと判定し、次のステップS10に進む。
ステップS10において、第2振動ロール角演算手段212は、第2振動ロール角Roll_mcを上述した式(5)に基づいて演算する。
ステップS11において、全ロール角演算手段214は、基本ロール角算出手段202からの基本ロール角Roll_moと第2振動ロール角演算手段212からの第2振動ロール角Roll_mcとを加算して全ロール角Roll_mtを求め、該全ロール角Roll_mtを直動アクチュエータ50に出力する。
ステップS12において、直動アクチュエータ50は、供給された全ロール角Roll_mtに適合するように可動部材52を移動させる。この段階で、第2振動ロール角Roll_mcに基づく振動が発生することになる。
ステップS13において、擬似音生成手段216は、音源226の波形を第2振動ロール角Roll_mcに基づいて変調してスピーカ28に出力する。
ステップS13での処理が終了した段階、又はステップS9において仮想ロール角Roll_iが第2所定角度Roll_ic以下であると判別された場合にステップS14に進み、終了要求(電源断等)があったか否かが判別される。
終了要求でないと判別された場合は、ステップS1に戻り、ステップS1以降の処理を繰り返す。ステップS1〜ステップS14の一連の処理は単位時間(例えばテレビ信号の1フレーム期間(1/60sec)又は1フィールド期間(1/30sec))ごとに繰り返され、仮想車両のフットレスト(ステップ)が地面に接触した段階から第1振動ロール角Roll_msに基づく振動が発生すると共に、第1振動ロール角Roll_msの波形に基づく第1擬似音が発生し、仮想車両がロール方向に過大に傾いて転倒した時点で第2振動ロール角Roll_mcに基づく振動が発生すると共に、第2振動ロール角Roll_mcの波形に基づく第2擬似音が発生することとなる。
そして、ステップS14において、終了要求があったと判別された段階で、制御回路64での処理が終了する。
上述のステップS1〜ステップS14での処理が行われることで、以下のような動作が行われることになる。
すなわち、先ず、操作者14が、ハンドル30に設けられているアクセルとしてのスロットルグリップ74やフロントブレーキレバー70やクラッチレバー76を操作することで、アクセル開度センサ90の出力信号やフロントブレーキ圧センサ86の出力信号及びクラッチレバー角センサ92の出力信号が制御回路64に供給される。また、リヤブレーキペダル72を操作することで、リヤブレーキ圧センサ88の出力信号が制御回路64に供給される。さらに、クラッチレバー76の操作に伴うギヤシフトペダル80の操作により、ギヤポジションスイッチ96のギヤポジション情報(ギヤ位置であり、例えば、5速のうちの1速又はニュートラル位置情報)が制御回路64に供給される。
一方、模擬車両16上で操作者14の体重の移動方向や移動量が、リーントルクセンサ94により検出され、その出力信号が制御回路64に送られる。
これらの出力信号に基づいて、制御回路64は、アクチュエータユニット20を駆動制御すると共に、モニタ26等を駆動制御する。
例えば、操作者14がフロントブレーキレバー70の操作を行い、ブレーキをかけると、フロントブレーキ圧センサ86により検出されるブレーキ圧に応じて直動アクチュエータ50が駆動されて模擬車両16が前傾され、ブレーキング時の挙動が再現される。一方、スロットルグリップ74の操作によりアクセルを急速に開いた場合も同様に、アクセル開度センサ90により検出される開度に応じて直動アクチュエータ50が駆動され、この直動アクチュエータ50の作用下に模擬車両16が後傾され、加速操作時の挙動が再現される。
また、操作者14が体重移動を行うと、その体重の移動方向及び移動量と走行速度(車速)とに基づいて直動アクチュエータ50が駆動され、模擬車両16が車幅方向に傾動してコーナリング(旋回)時の挙動が再現される。このときの体重移動に伴って、体重移動方向にハンドル30が切られる、すなわち、ステアリングが切られることになる。このとき、ハンドルトルクセンサ82によりハンドル30の操作量に応じたステアリングトルクが検出され、検出されたステアリングトルクに応じて制御回路64によりステアリングモータ84が駆動されて、ハンドル30が切られる方向と反対方向の反力がハンドル30に与えられ、実車によるものと同様の操縦感覚が実現される。
上述したような操作者14の種々の操作が行われる際に、制御回路64からリアルタイムに模擬車両16の現在の挙動情報データがCGI発生装置66に供給されることで、モニタ26に模擬車両16の走行状態に基づいた風景と他車両の映像を含む走行路の映像がリアルタイムで表示されるため、操作者14は、実車によるものと同等の走行感覚を得ることができる。
そして、模擬車両16の仮想空間上での仮想車両が上述したロール動作を行っている際に、フットレスト(ステップ)が地面に接触した段階で、第1振動ロール角Roll_msに基づく振動が直動アクチュエータ50の変位動作によって発生することとなる。その結果、操作者14にロールを傾けすぎたことを分かりやすく認知させることとができると共に、実走行に近い運転の臨場感を操作者に与えることができる。特に、仮想ロール角Roll_iをステアリングトルクとリーントルクと車速とによって算出するようにしたので、より実車に近い感覚で擬似体験させることができる。
また、振動を、ロール角を制御する直動アクチュエータ50から模擬車両16に加えるようにしたので、ステップやハンドル等に振動発生用のアクチュエータを別途設ける必要がなく、配線の引き回しのための作業の削減、コストの削減に有効である。特に、フットレスト(ステップ)が地面に接触するとき、というのは、模擬車両16がロール動作している最中であり、このとき、ロール角を制御するアクチュエータユニット20が駆動している状態なので、ロール角制御と振動制御とを速やかに、且つ、スムーズに行わせることができ、制御的にも良好な状態を作り出すことができる。
しかも、振動が仮想ロール角Roll_iが大きくなるにつれて大きくなることで、より分かりやすく操作者14へロールを傾けすぎた状況を認知させることができると共に、より実走行に近い運転の臨場感を操作者14に与えることができる。
ロール軸等のような軸そのものをアクチュエータ等で回さないことから、出力の小さい直動アクチュエータ50で模擬車両16の動きを制御することができ、低消費電力化にも有利である。
アクチュエータユニット20は、可動部材52が固定部材54に対して移動することにより、模擬車両16の姿勢を変化させることができることから、例えば、2つの可動部材52を同一方向に移動させることで、模擬車両16にピッチ動作を行わせることができ、一方の可動部材52を他方の可動部材52と反対方向に移動させることで、模擬車両16にロール動作を行わせることができる。
また、振動に加えて、擬似音を発生させるようにしたので、より分かりやすく操作者14へロールを傾けすぎた状況を認知させることができると共に、より実走行に近い運転の臨場感を操作者に与えることができる。
第2角度比較手段210を設けて、仮想ロール角Roll_iが第2所定角度Roll_icより大きい場合に、仮想車両が過大ロールによって転倒したものと判定し、第2振動ロール角演算手段212において、第1振動ロール角Roll_msよりも振幅の大きい第2振動ロール角Roll_mcを求めて模擬車両16に振動を与えるようにしたので、仮想車両が転倒したことを操作者14に体感で認識させることができる。これは、画面の表示や擬似音のみと比してより強く認識させることができる。
次に、第2の実施の形態に係るライディングシミュレータ(以下、第2シミュレータ10Bと記す)について図8を参照しながら説明する。
この第2シミュレータ10Bの制御回路64は、上述した第1シミュレータ10Aの制御回路64とほぼ同様の構成を有するが、ピッチ角に関する手段が付加されている点で異なる。
ピッチ動作に関する手段は、図8に示すように、車速の変化に基づいて基本ピッチ角Pit_moを算出する基本ピッチ角算出手段230と、第1角度比較手段206からの比較結果に基づいてピッチ方向の振動角(第1振動ピッチ角Pit_ms)を演算する第1振動ピッチ角演算手段232と、第2角度比較手段210からの比較結果に基づいてピッチ方向の振動角(第2振動ピッチ角Pit_mc)を演算する第2振動ピッチ角演算手段234と、ピッチ方向の全体の変位(全ピッチ角Pit_mt)を求める全ピッチ角演算手段236とを有する。
基本ピッチ角算出手段230は、仮想車両の加減速運動に応じて、すなわち、車速の変化に応じて、その変化幅に対応した基本ピッチ角Pit_moを算出する。車速が一定の場合は0となる。
第1振動ピッチ角演算手段232は、第1角度比較手段206からの高レベル信号の入力に基づいて第1振動ピッチ角Pit_msを以下の式(6)に基づいて演算する。
Pit_ms = P1s×|Roll_i−Roll_is|×sin(ωs × t) ……(6)
ここで、P1s×|Roll_i−Roll_is|は、振幅を決定するパラメータであり、仮想ロール角Roll_iと第1所定角度Roll_isの差分に応じた振幅となる。P1sは係数であり、最大で0.2°程度の角度に対応した振幅になるように設定される。
また、第1振動ピッチ角演算手段232は、第1角度比較手段206からの低レベル信号の入力に基づいて第1振動ピッチ角Pit_msを0とする。
第2振動ピッチ角演算手段234は、第2角度比較手段210からの高レベル信号の入力に基づいて第2振動ピッチ角Pit_mcを以下の式(7)に基づいて演算する。
Pit_mc = Pc×sin(ωc × t) ……(7)
ここで、Pcは、振幅を決定する係数であり、例えば0.5°程度の角度に対応した振幅になるように設定される。
第2振動ピッチ角演算手段234は、上述した第2振動ロール角演算手段212と同様に、第2振動ピッチ角Pit_mcを出力した時点tcからタイマ224からのクロックを計数し、時点tcからの経過時間が1/(2×fc)となった時点tdで第2振動ピッチ角Pit_mcを0にする。すなわち、サイン波の半波長分の第2振動ピッチ角Pit_mcを与える。
また、第2振動ピッチ角演算手段234は、第2角度比較手段210からの低レベル信号の入力に基づいて第2振動ピッチ角Pit_mcを0とする。
全ピッチ角演算手段236は、基本ピッチ角算出手段230からの基本ピッチ角Pit_moと第1振動ピッチ角演算手段232からの第1振動ピッチ角Pit_msと第2振動ピッチ角演算手段234からの第2振動ピッチ角Pit_mcとを加算して全ピッチ角Pit_mtを求め、全ロール角演算手段214からの全ロール角Roll_mtと共に、直動アクチュエータ50に出力する。直動アクチュエータ50は、供給された全ロール角Roll_mt及び全ピッチ角Pit_mtに適合するように可動部材52を移動させる。
この第2シミュレータ10Bの動作は、上述した第1シミュレータ10Aと同様の動作を行うが、仮想車両のフットレスト(ステップ)が地面に接触した段階から第1振動ロール角Roll_ms及び第1振動ピッチ角Pit_msに基づく振動が発生すると共に、第1振動ロール角Roll_msの波形に基づく擬似音が発生し、仮想想車両がロール方向に過大に傾いて転倒した時点で第2振動ロール角Roll_mc及び第2振動ピッチ角Pit_mcに基づく振動が発生すると共に、第2振動ロール角Roll_mcの波形に基づく擬似音が発生することとなる。
この第2シミュレータ10Bによれば、ロール方向とピッチ方向とを合わせた振動を操作者14に与えることができ、より分かりやすく操作者へロールを傾けすぎた状況を認知させることができると共に、より実走行に近い運転の臨場感を操作者に与えることができる。この場合、フットレスト(ステップ)が地面に接触して、模擬車両16がロール動作している最中においては、ロール角及びピッチ角を制御するアクチュエータユニット20が駆動している状態なので、ロール角制御、ピッチ角制御及び振動制御とを速やかに、且つ、スムーズに行わせることができ、制御的にも良好な状態を作り出すことができる。
代表的に第2シミュレータ10Bを用いて、一定速度で走行する仮想車両の仮想ロール角度が毎秒10°の角速度で大きくなっていった場合の模擬車両16の動きを確認した。その状況をグラフ化して図9〜図12に示す。
先ず、仮想車両の仮想ロール角Roll_iに対応する模擬車両16の基本ロール角Roll_moの関係は、図9の実線Lxに示すように、仮想ロール角Roll_iが0°〜約15°の間においては、仮想ロール角Roll_iの増加に伴って基本ロール角Roll_moは非線形的に増加し、15°を過ぎた段階から線形的(比例的)に増加する。
そして、図10の破線Laに示すように、仮想車両の仮想ロール角Roll_iが毎秒10°の角速度で大きくなっていった場合、仮想ロール角Roll_iが第1所定角度Roll_is(ここでは50°)に達するまでの第1期間Ta(経過時間が5秒となるまでの期間)にわたって直動アクチュエータ50に供給される全ロール角Roll_mtは、仮想ロール角Roll_iに対応した基本ロール角Roll_mo(実線Lb参照)となる。すなわち、基本ロール角Roll_moの情報のみが直動アクチュエータ50に供給され、直動アクチュエータ50は基本ロール角Roll_moに適合するように可動部材52を変位させる。このとき、模擬車両16が例えば右方向にロール動作しているのであれば、右側の直動アクチュエータ50の可動部材52が基本ロール角Roll_moに対応した長さだけ下方に移動し、左側の直動アクチュエータ50の可動部材52が基本ロール角Roll_moに対応した長さだけ上方に移動する。これにより、模擬車両16は右方向に基本ロール角Roll_moだけ傾くことになる。また、この期間Taでは、第2シミュレータ10Bの仮想車両が一定速度で走行していることから、図11の実線Lcに示すように、全ピッチ角Pit_mtは0°を維持している。
経過時間が5秒を過ぎた段階から、仮想車両の仮想ロール角Roll_iが第1所定角度Roll_isを超えることから、仮想車両のフットレスト(ステップ)が地面に接触することとなる。この段階から、直動アクチュエータ50には全ロール角Roll_mtとして、基本ロール角Roll_moと第1振動ロール角Roll_msとが合わさった角度の情報が供給されると共に、全ピッチ角Pit_mtとして、基本ピッチ角Pit_moと第1振動ピッチ角Pit_msとが合わさった角度の情報が供給される。これによって、時間の経過と共に徐々に振幅が大きくなる振動が発生する。図12に拡大して示すように、基本ロール角Roll_moが約5.7°になった時点から角振動数が10Hzで振幅が徐々に増加し、最大で0.2°のロール方向の振動(図10及び図12の振動波形Sa参照)と、同じく角振動数が10Hzで振幅が徐々に増加し、最大で0.2°のピッチ方向の振動(図11及び図12の振動波形Sb参照)とが合わさった振動が発生することになる。
そして、経過時間が5.5秒を過ぎた段階から、仮想車両の仮想ロール角Roll_iが第2所定角度Roll_ic(ここでは55°)を超えることから、仮想車両が過大ロールによって転倒することとなる。この段階から、直動アクチュエータ50には、全ロール角Roll_mtとして、基本ロール角Roll_moと第2振動ロール角Roll_mcとが合わさった角度の情報が供給されると共に、全ピッチ角Pit_mtとして、基本ピッチ角Pit_moと第2振動ピッチ角Pit_mcとが合わさった角度の情報が供給される。これによって、時間の経過と共に徐々に振幅が大きくなる振動が発生する。図12に拡大して示すように、5.5秒を経過した段階で、角振動数が15Hzで振幅が0.5°のロール方向の振動(図10及び図12の振動波形Sc参照)と、同じく角振動数が15Hzで振幅が0.5°のピッチ方向の振動(図11及び図12の振動波形Sd参照)とが合わさった振動が発生することになる。これらの振動の発生時間は、上述したようにサイン波の半波長分の時間的長さである。
このように、実施例においては、仮想車両のロール動作の際に、フットレスト(ステップ)が地面に接触した段階から、ロール方向とピッチ方向とを合わせた振動であって、且つ、ロール角が大きくなるにつれて振幅が大きくなる振動を操作者14に与えることができ、より分かりやすく操作者14へロールを傾けすぎた状況を認知させることができる。また、仮想車両が過大ロールによって転倒した場合に、フットレスト(ステップ)が接触している際の振動よりも大きな振動を与えるようにしており、模擬車両16が仮想車両と同様に過大ロールによって転倒したことを操作者14に認知させることができる。すなわち、実施例によれば、より実走行に近い運転の臨場感を操作者に与えることができる。
なお、本発明に係るライディングシミュレータは、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。