メインコンテンツ

Kinematic Steering

アッカーマン ステアリング機構、ラックアンドピニオン ステアリング機構、およびパラレル ステアリング機構の運動学的ステアリング

  • Kinematic Steering block

ライブラリ:
Vehicle Dynamics Blockset / Steering

説明

Kinematic Steering ブロックは、ステアリング モデルを実装して、アッカーマン ステアリング機構、ラックアンドピニオン ステアリング機構、およびパラレル ステアリング機構の左右の車輪の角度を決定します。このブロックは車両座標系を使用します。

ステアリング タイプを指定するには、[タイプ] パラメーターを使用します。

設定ブロック実装

アッカーマン

アッカーマン率で調整された理想的なアッカーマン ステアリング。車輪の角度の旋回円中心が共通しています。

ラック アンド ピニオン

理想的なラックアンドピニオン ステアリング。ギアはステアリングの回転を線形運動に変換します。

パラレル

パラレル ステアリング。車輪の角度は等しくなります。

ステアリング機構のデータのタイプを指定するには、[パラメーター化の基準] パラメーターを使用します。

設定ブロック実装

定数

ステアリング機構では定数パラメーター データが使用されます。

ルックアップ テーブル

ステアリング機構ではパラメーター データのテーブルが実装されます。

[ステアリング車軸] パラメーターを使用して、前車軸と後車軸のいずれをステアリングするかを指定します。

設定実装
フロント

前車軸のステアリング

リア

後車軸のステアリング

ステアリング タイプ

アッカーマン

理想的なアッカーマン ステアリングでは、車輪の角度の旋回円が共通しています。

理想的な車輪の角度を計算するために、このブロックでは次の方程式を使用します。

cot(δL)cot(δR)=TWWBδAck=δinγδL=tan1(WBtan(δAck)WB+0.5TWtan(δAck))δR=tan1(WBtan(δAck)WB0.5TWtan(δAck))

理想的な車輪の角度を計算した後、ブロックはアッカーマン率を使用して外側車輪角度を調整します。

δo=δipAck(δiδAck)

外側車輪角度は転換方向によって異なります。

  • 右折

    • 外側角度 δo は左車輪角度 δL

    • 内側角度 δi は右車輪角度 δR

  • 左折

    • 外側角度 δo は右車輪角度 δR

    • 内側角度 δi は左車輪角度 δL

図と方程式では次の変数を使用しています。

δin

ステアリング角度

δL

左車輪角度

δR

右車輪角度

δo外側車輪角度
δi

内側車輪角度

pAckアッカーマン率
TW

トラック幅

WB

ホイール ベース

γ

ステアリング比

ラックアンドピニオン

理想的なラックアンドピニオン ステアリングでは、ギアはステアリングの回転を線形運動に変換します。

ステアリング角度を計算するために、このブロックでは次の方程式を使用します。

l1=TWlrack2ΔPl22=l12+D2ΔP=rδinβ=π2tan1[Dl1]cos1[larm2+l22lrod22larml2]

図と方程式では次の変数を使用しています。

δin

ステアリング ホイールの角度

δL

左車輪角度

δR

右車輪角度

TW

トラック幅

r

ピニオン半径

ΔP

ラック位置の線形変化

D

軸とラック間の距離

lrack

ラック ケーシングの長さ

larm

ステアリング アームの長さ

lrod

タイ ロッドの長さ

パラレル

パラレル ステアリングでは、車輪の角度は等しくなります。

ステアリング角度を計算するために、このブロックでは次の方程式を使用します。

δR=δL=δinγ

図と方程式では次の変数を使用しています。

δin

ステアリング ホイールの角度

δL

左車輪角度

δR

右車輪角度

γ

ステアリング比

端子

入力

すべて展開する

ステアリング角度 δin (rad 単位)。

[ステアリング範囲、StrgRng] パラメーターを使用して、ステアリング角度の範囲を指定します。既定では、この値は 1.25*pi に設定されます。この場合、ステアリング角度は -1.25*pi ~ 1.25*pi の範囲に制限されます。

アッカーマン率 δin (パーセント単位)。

依存関係

この入力端子を作成するには、次のようにします。

  • [タイプ][アッカーマン] に設定します。

  • [アッカーマン ステアリング] ペインで、[Input percent Ackerman] を選択します。

出力

すべて展開する

バス信号には次のブロック計算が含まれます。

信号説明変数単位

InstStrgRatio

瞬時ステアリング比

γ

NA

左車輪角度 δL (rad 単位)。

右車輪角度 δR (rad 単位)。

パラメーター

すべて展開する

ステアリング タイプを指定するには、[タイプ] パラメーターを使用します。

設定ブロック実装

アッカーマン

理想的なアッカーマン ステアリング。車輪の角度の旋回円中心が共通しています。

ラック アンド ピニオン

理想的なラックアンドピニオン ステアリング。ギアはステアリングの回転を線形運動に変換します。

パラレル

パラレル ステアリング。車輪の角度は等しくなります。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgType
値: Ackerman (既定値) | Rack and pinion | Parallel
データ型: character vector

ステアリング機構のデータのタイプを指定するには、[パラメーター化の基準] パラメーターを使用します。

設定ブロック実装

定数

ステアリング機構では定数パラメーター データが使用されます。

ルックアップ テーブル

ステアリング機構ではパラメーター データのテーブルが実装されます。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgRatioType
値: Constant (既定値) | Lookup table
データ型: character vector

[ステアリング車軸] パラメーターを使用して、前車軸と後車軸のいずれをステアリングするかを指定します。

設定実装
フロント

前車軸のステアリング

リア

後車軸のステアリング

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: Loc
値: Front (既定値) | Rear
データ型: character vector

ブロックがステアリング比 γ またはピニオン半径 r の調整に使用する係数 NrmFctr。ブロックで正規化できるのは、[パラメーター化の基準][定数] に設定されている場合だけです。

ステアリング比またはピニオン半径を調整するには、[正規化] をクリックします。

ステアリング タイプ正規化

アッカーマン

パラレル

ブロックは、[ステアリング比、StrgRatio] パラメーターを次の方程式で指定される正規化された値 γnrm に更新します。

γnrm=1NrmFctr

ラック アンド ピニオン

ブロックは、[ピニオン半径、PnnRadius] パラメーターを正規化係数 NrmFctr を使用するように更新します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: NrmlFctr
値: scalar
データ型: double

一般

トラック幅 TW (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][アッカーマン] または [ラック アンド ピニオン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: TrckWdth
値: 1 (既定値) | scalar
データ型: double

ホイール ベース WB (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][アッカーマン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: WhlBase
値: 1.524 (既定値) | scalar
データ型: double

ピニオンがギアと噛み合う前の不感帯のステアリング角度 (rad 単位)。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: Db
値: 0 (既定値) | scalar
データ型: double

ステアリング ホイールの角度の入力範囲 (rad 単位)。ブロックは、ステアリング ホイールの入力角度がステアリング範囲内に留まるように制限します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgRng
値: 1.25*pi (既定値) | scalar
データ型: double

ステアリング比 γ (無次元)。

依存関係

このパラメーターを作成するには、次のようにします。

  • [タイプ][アッカーマン] または [パラレル] に設定します。

  • [パラメーター化の基準][定数] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgRatio
値: 100 (既定値) | scalar
データ型: double

ステアリング角度のブレークポイント (rad 単位)。

依存関係

このパラメーターを作成するには、[パラメーター化の基準][ルックアップ テーブル] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgAngBpts
値: [-6.2832 -5.0265 -3.7699 -2.5133 -1.2566 0 1.2566 2.5133 3.7699 5.0265 6.2832] (既定値) | vector
データ型: double

ステアリング比テーブル γ (無次元)。

依存関係

このパラメーターを作成するには、次のようにします。

  • [タイプ][アッカーマン] または [パラレル] に設定します。

  • [パラメーター化の基準][ルックアップ テーブル] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgRatioTbl
値: [13.5000 13.3750 13.2500 13.1250 13.0000 13.0000 13.0000 13.1250 13.2500 13.3750 13.5000] (既定値) | vector
データ型: double

ラックアンドピニオン

ステアリング アームの長さ larm (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][ラック アンド ピニオン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: StrgArmLngth
値: 0.1 (既定値) | scalar
データ型: double

ラック ケーシングの長さ lrack (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][ラック アンド ピニオン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: RckCsLngth
値: 0.5 (既定値) | scalar
データ型: double

タイ ロッドの長さ lrod (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][ラック アンド ピニオン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: TieRodLngth
値: 0.248 (既定値) | scalar
データ型: double

軸とラック間の距離 D (メートル単位)。

依存関係

このパラメーターを作成するには、[タイプ][ラック アンド ピニオン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: D
値: 0.2 (既定値) | scalar
データ型: double

ピニオン半径 r (メートル単位)。

依存関係

このパラメーターを作成するには、次のようにします。

  • [タイプ][ラック アンド ピニオン] に設定します。

  • [パラメーター化の基準][定数] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: PnnRadius
値: 0.0057 (既定値) | scalar
データ型: double

ピニオン半径テーブル r (メートル単位)。

依存関係

このパラメーターを作成するには、次のようにします。

  • [タイプ][ラック アンド ピニオン] に設定します。

  • [パラメーター化の基準][ルックアップ テーブル] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: PnnRadiusTbl
値: [0.0055 0.0055 0.0056 0.0057 0.0057 0.0057 0.0058 0.0057 0.0056 0.0055 0.0055] (既定値) | vector
データ型: double

アッカーマン ステアリング

PctAckIn 入力端子を作成する場合に選択します。

依存関係

このパラメーターを有効にするには、[タイプ][アッカーマン] に設定します。

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: PctAckIn
値: off (既定値) | on
データ型: character vector

アッカーマン率の定数値 (パーセント単位)。

依存関係

このパラメーターを有効にするには、次のようにします。

  • [タイプ][アッカーマン] に設定する

  • [パラメーター化の基準][定数] に設定する

  • [Input Percent Ackerman] をオフにする

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: PctAck
値: 100 (既定値) | scalar
データ型: double

ステアリング角度 δin の関数としてのアッカーマン率値のテーブル (パーセント単位)。

依存関係

このパラメーターを有効にするには、次のようにします。

  • [タイプ][アッカーマン] に設定する

  • [パラメーター化の基準][定数] に設定する

  • [Input Percent Ackerman] をオフにする

プログラムでの使用

ブロック パラメーターの値をプログラムによって設定するには、set_param 関数を使用します。

ブロック パラメーターの値をプログラムによって取得するには、get_param 関数を使用します。

パラメーター: PctAckTbl
値: ones(1,11)*100 (既定値) | vector
データ型: double

参照

[1] Crolla, David, David Foster, et al. Encyclopedia of Automotive Engineering. Volume 4, Part 5 (Chassis Systems) and Part 6 (Electrical and Electronic Systems). Chichester, West Sussex, United Kingdom: John Wiley & Sons Ltd, 2015.

[2] Gillespie, Thomas. Fundamentals of Vehicle Dynamics. Warrendale, PA: Society of Automotive Engineers, 1992.

[3] Vehicle Dynamics Standards Committee. Vehicle Dynamics Terminology. SAE J670. Warrendale, PA: Society of Automotive Engineers, 2008.

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018a で導入