Apollo 10.0
自动驾驶开放平台
apollo::control::HysteresisFilter类 参考

#include <hysteresis_filter.h>

apollo::control::HysteresisFilter 的协作图:

Public 成员函数

 HysteresisFilter ()=default
 
void filter (const double input_value, const double threshold, const double hysteresis_upper, const double hysteresis_lower, int *state, double *output_value)
 

详细描述

在文件 hysteresis_filter.h31 行定义.

构造及析构函数说明

◆ HysteresisFilter()

apollo::control::HysteresisFilter::HysteresisFilter ( )
default

成员函数说明

◆ filter()

void apollo::control::HysteresisFilter::filter ( const double  input_value,
const double  threshold,
const double  hysteresis_upper,
const double  hysteresis_lower,
int *  state,
double *  output_value 
)

在文件 hysteresis_filter.cc22 行定义.

25 {
26 // Use integer to represent mode as of now, for instance,
27 // 1 is throttle, 0 is brake, then threshold is speed error
28 if (input_value > threshold + hysteresis_upper) {
29 *state = 1;
30 previous_state_ = *state;
31 *output_value = threshold + hysteresis_upper;
32 } else if (input_value < threshold - hysteresis_lower) {
33 *state = 0;
34 previous_state_ = *state;
35 *output_value = threshold - hysteresis_lower;
36 } else {
37 *state = previous_state_;
38 *output_value = input_value;
39 }
40}

该类的文档由以下文件生成: