« アクティブサスペンションジェネレータ Ver. 1.0 | トップページ | 角度差の求め方 »

2011年5月 5日 (木)

アクティブサスペンションジェネレータ

アクティブサスペンションジェネレータ Ver. 1.1を作りました。

ジェネレータによって生成される美少女センサを車体に貼り付け、バネのパラメータを設定すると、アクティブサスペンションとして動作します。

動作仕様

車体が下向きに移動していることを検出すると、バネを伸ばして上向きの力を発生しようとします。
「下向き」とは、ワールド座標ではなく美少女センサの青い四角がある方向です。
上向き移動についても同様。
上下動を検出するしきい値(項目c)と、検出したときバネをどれだけ伸縮させるか(項目d)をカスタマイズできます。

右回転を検出すると、右のバネを伸ばし、左のバネを縮めて車体を安定させようとします。
左回転についても同様。
回転を検出するしきい値(項目e)と、検出したときバネをどれだけ伸縮させるか(項目f)をカスタマイズできます。

落下試験の様子

左がアクティブサスペンション装着車。
振動が少ない。

使い方

美少女センサを車体のなるべく中央に貼り付けてください。青いボックスが下向きです。中央から離れた場所に貼り付けると、回転運動を上下運動として検出してしまう可能性があります。
車体右側にあるバネのlengthを{Scene.my.springR}、左側にあるバネのlengthを{Scene.my.springL}としてください。

美少女センサの白い丸と、グレーのボックスには衝突判定が設定されていません。
このままだと障害物皐月賞の「衝突判定なしの物体を使用することは禁止」の規定に違反するので、気を付けてください。

独自変数

以下の独自変数を使っているので、他の機構と干渉する可能性があります。
Scene.my.v: 車体の速度ベクトル [m/0.01s]
Scene.my.dotProductTheta: 車体の速度ベクトルと、美少女センサの下向きベクトルの内積
Scene.my.powV: 車体の速度の自乗
Scene.my.cos_theta: 車体の速度ベクトルと、美少女センサの下向きベクトルがなす角度の余弦
Scene.my.VY: 車体が美少女センサの下向き方向に移動する速度 [m/0.01s]
Scene.my.crossProductPhi: 美少女センサの下向きベクトルの、現フレームと前フレームの外積
Scene.my.dotProductPhi: 美少女センサの下向きベクトルの、現フレームと前フレームの内積
Scene.my.cos_phi: 美少女センサの下向きベクトルの、現フレームと前フレームがなす角度の余弦
Scene.my.phi: 美少女センサの回転速度 [rad/0.01s]
Scene.my.prevPos: 前回衝突位置
Scene.my.prevNormal: 前フレームでの美少女センサの下向きベクトル
Scene.my.springR: 車体右側のバネの長さ [m]
Scene.my.springL: 車体左側のバネの長さ [m]

« アクティブサスペンションジェネレータ Ver. 1.0 | トップページ | 角度差の求め方 »

コメント

使わせていただきました~。

一つ思ったのですが、現状上下と回転方向の動きのみの検知では、物体が走行して連続的に力の方向が変化しているような場合は問題ないのですが、例えばこの力の変化が殆ど無いような場合(平坦路で一定の加減速度の変化のみある場合など)はサスが反応しない気がします。

これの解決には前後G(Phunは2次元ですから左右G?)の検出・反応もできるといいと思うのですが、それは不可能なのでしょうか。

前後Gの検出は可能ですが、それに対する反応が必要ですか?
現在のシステムでも、急加速によって車体がウィリーすれば、
その回転を検出して打ち消すように制御します。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1499066/39875973

この記事へのトラックバック一覧です: アクティブサスペンションジェネレータ:

« アクティブサスペンションジェネレータ Ver. 1.0 | トップページ | 角度差の求め方 »