予見Fuzzy制御を再現するクラス [詳解]
公開メンバ関数 | |
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_PATTERN > | fuzzy_step_ |
全パターンの予見Fuzzy制御の制御段階 [詳解] | |
boost::array< int, ALL_PATTERN > | brake_timer_ |
全パターンの予見Fuzzy制御を実行する次のゲーム内時刻[ms] [詳解] | |
boost::array< int, ALL_PATTERN > | prev_tget_spd_ |
全パターンの以前の目標速度[km/h] [詳解] | |
boost::array< float, ALL_PATTERN > | prev_pattern_end_loc_ |
全パターンの以前の減速完了地点[m] [詳解] | |
boost::array< int, ALL_PATTERN > | fuzzy_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) |
減速完了地点を予測する関数 [詳解] | |
![]() | |
template<typename T > | |
T | VectorGetOrDefault (const boost::container::vector< T > &v, int index, char *file, char *func, int line) |
vectorコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解] | |
template<typename T , std::size_t N> | |
T | ArrayGetOrDefault (const boost::array< T, N > &a, int index, char *file, char *func, int line) |
arrayコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解] | |
template<typename T > | |
T | VectorTryGet (const boost::container::vector< T > &v, int index, char *file, char *func, int line) |
template<typename T , std::size_t N> | |
T | ArrayTryGet (const boost::array< T, N > &a, int index, char *file, char *func, int line) |
非公開変数類 | |
const Atc * | atc_ |
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制御を再現するクラス
|
explicit |
|
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] |
|
private |
減速完了地点を予測する関数
tget_spd | 目標速度[km/h] |
notch_num | ブレーキノッチ |
|
private |
Fuzzyメンバシップ関数A
定義域を(-∞, +∞)とした尖った関数
x | x |
a | a |
b | b |
|
private |
Fuzzyメンバシップ関数F
関数Lでaより大きい部分と1.0とした関数
x | x |
a | a |
b | b |
|
private |
Fuzzyメンバシップ関数G
定義域を(-∞, +∞)とした台形状の関数
x | x |
a | a |
b | b |
|
private |
Fuzzyメンバシップ関数L
定義域を(a - b, a + b)とする三角形状の関数
x | x |
a | a |
b | b |
|
private |
Fuzzyメンバシップ関数Gの形状を制御する関数
メンバシップ関数Gの形状(頂上の平坦部の幅)を速度に応じて連続的に制御する
x | 速度[km/h] |
a | 頂上の平坦部の幅の初期値 |
b | 補正係数 |
void Atc::Fuzzy::Init | ( | void | ) |
Initializeで実行する関数
float Atc::Fuzzy::adj_deceleration_ |
各ブレーキノッチの減速度補正値[m/s^2]
|
private |
減速度補正を行う次のゲーム内時刻[ms]
|
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制御の最適ブレーキノッチ
|
private |
最後に変化した出力ブレーキノッチの変化量の絶対値
|
private |
最後に出力ブレーキノッチが変化したゲーム内時刻[s]
boost::array<int, ALL_PATTERN> Atc::Fuzzy::fuzzy_step_ |
全パターンの予見Fuzzy制御の制御段階
|
private |
"(CG >= CB) And GA"の評価値
|
private |
「乗り心地が悪い(CB)」の評価値
|
private |
「乗り心地が良い(CG)」の評価値
|
private |
「正確に停止する(GA)」の評価値
|
private |
「うまく停止する(GG)」の評価値
|
private |
「安全性が悪い(SB)」の評価値
|
private |
「安全性がとても悪い(SVB)」の評価値
|
private |
予測減速完了地点[m]
|
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]