ATCFS
 全て クラス 名前空間 ファイル 関数 変数 型定義 マクロ定義 ページ
公開メンバ関数 | 公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
Atc::Fuzzy クラス

予見Fuzzy制御を再現するクラス [詳解]

Atc::Fuzzy の継承関係図
Inheritance graph
[凡例]
Atc::Fuzzy 連携図
Collaboration graph
[凡例]

公開メンバ関数

 Fuzzy (const Atc *atc)
 
virtual ~Fuzzy (void)
 
void Init (void)
 Initializeで実行する関数 [詳解]
 
void FuzzyAdjDeceleration (void)
 各ブレーキノッチの減速度の補正値を算出する関数 [詳解]
 
int FuzzyCtrInit (int index, float pattern_start_loc)
 予見Fuzzy制御を初期化する関数 [詳解]
 
int FuzzyCtrExe (int index, int tget_spd, float pattern_end_loc)
 予見Fuzzy制御を行う関数 [詳解]
 

公開変数類

float adj_deceleration_
 各ブレーキノッチの減速度補正値[m/s^2] [詳解]
 
boost::array< int, ALL_PATTERNfuzzy_step_
 全パターンの予見Fuzzy制御の制御段階 [詳解]
 
boost::array< int, ALL_PATTERNbrake_timer_
 全パターンの予見Fuzzy制御を実行する次のゲーム内時刻[ms] [詳解]
 
boost::array< int, ALL_PATTERNprev_tget_spd_
 全パターンの以前の目標速度[km/h] [詳解]
 
boost::array< float, ALL_PATTERNprev_pattern_end_loc_
 全パターンの以前の減速完了地点[m] [詳解]
 
boost::array< int, ALL_PATTERNfuzzy_brake_notch_list_
 全パターンの予見Fuzzy制御の最適ブレーキノッチ [詳解]
 

非公開メンバ関数

float FuzzyFuncL (float x, float a, float b)
 Fuzzyメンバシップ関数L [詳解]
 
float FuzzyFuncF (float x, float a, float b)
 Fuzzyメンバシップ関数F [詳解]
 
float FuzzyFuncA (float x, float a, float b)
 Fuzzyメンバシップ関数A [詳解]
 
float FuzzyFuncG (float x, float a, float b)
 Fuzzyメンバシップ関数G [詳解]
 
float FuzzyFuncQ (float x, float a, float b)
 Fuzzyメンバシップ関数Gの形状を制御する関数 [詳解]
 
float FuzzyEstLoc (int tget_spd, int notch_num)
 減速完了地点を予測する関数 [詳解]
 
- 基底クラス Base に属する継承非公開メンバ関数
template<typename T >
VectorGetOrDefault (const boost::container::vector< T > &v, int index, char *file, char *func, int line)
 vectorコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解]
 
template<typename T , std::size_t N>
ArrayGetOrDefault (const boost::array< T, N > &a, int index, char *file, char *func, int line)
 arrayコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解]
 
template<typename T >
VectorTryGet (const boost::container::vector< T > &v, int index, char *file, char *func, int line)
 
template<typename T , std::size_t N>
ArrayTryGet (const boost::array< T, N > &a, int index, char *file, char *func, int line)
 

非公開変数類

const Atcatc_
 Atcクラスのオブジェクトを格納するポインタ [詳解]
 
int prev_brake_notch_
 以前の出力ブレーキノッチ(HBを含まない) [詳解]
 
int adj_timer_
 減速度補正を行う次のゲーム内時刻[ms] [詳解]
 
float fuzzy_prev_Tc_
 最後に出力ブレーキノッチが変化したゲーム内時刻[s] [詳解]
 
int fuzzy_prev_Nc_
 最後に変化した出力ブレーキノッチの変化量の絶対値 [詳解]
 
boost::container::vector< float > fuzzy_Xp_
 予測減速完了地点[m] [詳解]
 
boost::container::vector< float > fuzzy_Ugg_
 「うまく停止する(GG)」の評価値 [詳解]
 
boost::container::vector< float > fuzzy_Uga_
 「正確に停止する(GA)」の評価値 [詳解]
 
float fuzzy_Ucg_
 「乗り心地が良い(CG)」の評価値 [詳解]
 
float fuzzy_Ucb_
 「乗り心地が悪い(CB)」の評価値 [詳解]
 
boost::container::vector< float > fuzzy_U_
 "(CG >= CB) And GA"の評価値 [詳解]
 
float fuzzy_Usb_
 「安全性が悪い(SB)」の評価値 [詳解]
 
float fuzzy_Usvb_
 「安全性がとても悪い(SVB)」の評価値 [詳解]
 

詳解

予見Fuzzy制御を再現するクラス

構築子と解体子

Atc::Fuzzy::Fuzzy ( const Atc atc)
explicit
Atc::Fuzzy::~Fuzzy ( void  )
virtual

関数詳解

void Atc::Fuzzy::FuzzyAdjDeceleration ( void  )

各ブレーキノッチの減速度の補正値を算出する関数

ブレーキノッチが2秒間変化しなかった場合に補正値を算出する

int Atc::Fuzzy::FuzzyCtrExe ( int  index,
int  tget_spd,
float  Xt 
)

予見Fuzzy制御を行う関数

引数
indexパターン番号
tget_spd目標速度[km/h]
Xt減速完了地点[m]
戻り値
最適ブレーキノッチ

呼び出し関係図:

int Atc::Fuzzy::FuzzyCtrInit ( int  index,
float  pattern_start_loc 
)

予見Fuzzy制御を初期化する関数

引数
indexパターン番号
pattern_start_locパターン降下開始地点[m]
戻り値
最適ブレーキノッチ
float Atc::Fuzzy::FuzzyEstLoc ( int  tget_spd,
int  notch_num 
)
private

減速完了地点を予測する関数

引数
tget_spd目標速度[km/h]
notch_numブレーキノッチ
戻り値
予測減速完了地点[m]
float Atc::Fuzzy::FuzzyFuncA ( float  x,
float  a,
float  b 
)
private

Fuzzyメンバシップ関数A

定義域を(-∞, +∞)とした尖った関数

引数
xx
aa
bb
戻り値
評価値
float Atc::Fuzzy::FuzzyFuncF ( float  x,
float  a,
float  b 
)
private

Fuzzyメンバシップ関数F

関数Lでaより大きい部分と1.0とした関数

引数
xx
aa
bb
戻り値
評価値
float Atc::Fuzzy::FuzzyFuncG ( float  x,
float  a,
float  b 
)
private

Fuzzyメンバシップ関数G

定義域を(-∞, +∞)とした台形状の関数

引数
xx
aa
bb
戻り値
評価値
float Atc::Fuzzy::FuzzyFuncL ( float  x,
float  a,
float  b 
)
private

Fuzzyメンバシップ関数L

定義域を(a - b, a + b)とする三角形状の関数

引数
xx
aa
bb
戻り値
評価値
float Atc::Fuzzy::FuzzyFuncQ ( float  x,
float  a,
float  b 
)
private

Fuzzyメンバシップ関数Gの形状を制御する関数

メンバシップ関数Gの形状(頂上の平坦部の幅)を速度に応じて連続的に制御する

引数
x速度[km/h]
a頂上の平坦部の幅の初期値
b補正係数
戻り値
頂上の平坦部の幅
void Atc::Fuzzy::Init ( void  )

Initializeで実行する関数

メンバ詳解

float Atc::Fuzzy::adj_deceleration_

各ブレーキノッチの減速度補正値[m/s^2]

int Atc::Fuzzy::adj_timer_
private

減速度補正を行う次のゲーム内時刻[ms]

const Atc* Atc::Fuzzy::atc_
private

Atcクラスのオブジェクトを格納するポインタ

boost::array<int, ALL_PATTERN> Atc::Fuzzy::brake_timer_

全パターンの予見Fuzzy制御を実行する次のゲーム内時刻[ms]

boost::array<int, ALL_PATTERN> Atc::Fuzzy::fuzzy_brake_notch_list_

全パターンの予見Fuzzy制御の最適ブレーキノッチ

int Atc::Fuzzy::fuzzy_prev_Nc_
private

最後に変化した出力ブレーキノッチの変化量の絶対値

float Atc::Fuzzy::fuzzy_prev_Tc_
private

最後に出力ブレーキノッチが変化したゲーム内時刻[s]

boost::array<int, ALL_PATTERN> Atc::Fuzzy::fuzzy_step_

全パターンの予見Fuzzy制御の制御段階

boost::container::vector<float> Atc::Fuzzy::fuzzy_U_
private

"(CG >= CB) And GA"の評価値

float Atc::Fuzzy::fuzzy_Ucb_
private

「乗り心地が悪い(CB)」の評価値

float Atc::Fuzzy::fuzzy_Ucg_
private

「乗り心地が良い(CG)」の評価値

boost::container::vector<float> Atc::Fuzzy::fuzzy_Uga_
private

「正確に停止する(GA)」の評価値

boost::container::vector<float> Atc::Fuzzy::fuzzy_Ugg_
private

「うまく停止する(GG)」の評価値

float Atc::Fuzzy::fuzzy_Usb_
private

「安全性が悪い(SB)」の評価値

float Atc::Fuzzy::fuzzy_Usvb_
private

「安全性がとても悪い(SVB)」の評価値

boost::container::vector<float> Atc::Fuzzy::fuzzy_Xp_
private

予測減速完了地点[m]

int Atc::Fuzzy::prev_brake_notch_
private

以前の出力ブレーキノッチ(HBを含まない)

boost::array<float, ALL_PATTERN> Atc::Fuzzy::prev_pattern_end_loc_

全パターンの以前の減速完了地点[m]

boost::array<int, ALL_PATTERN> Atc::Fuzzy::prev_tget_spd_

全パターンの以前の目標速度[km/h]


このクラス詳解は次のファイルから抽出されました: