同步步兵代码,暂时关闭底盘跟随
This commit is contained in:
63
云台/云台-old/Control/PID.h
Normal file
63
云台/云台-old/Control/PID.h
Normal file
@@ -0,0 +1,63 @@
|
||||
#ifndef __PID_H__
|
||||
#define __PID_H__
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float Need_Value;//预期值
|
||||
float Now_Value;//当前值
|
||||
|
||||
float Ek;//本次误差
|
||||
float Ek_1;//上一次误差
|
||||
float Sum_Ek;//误差积分
|
||||
float Del_Ek;//误差差分
|
||||
float Ek_low;//误差为0阈值下限
|
||||
float Ek_up;//误差为0阈值上限
|
||||
|
||||
float Kp;//Kp
|
||||
float Ki;//Ki
|
||||
float Kd;//Kd
|
||||
|
||||
float P_OUT;//比例输出
|
||||
float I_OUT;//积分输出
|
||||
float D_OUT;//微分输出
|
||||
float OUT;//总输出
|
||||
float OUT_low;//输出限幅下限
|
||||
float OUT_up;//输出限幅上限
|
||||
}PID_PositionInitTypedef;//位置式PID参数结构体
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float Need_Value;//预期值
|
||||
float Now_Value;//当前值
|
||||
|
||||
float Ek;//本次误差
|
||||
float Ek_1;//上一次误差
|
||||
float Ek_2;//上两次误差
|
||||
float Ek_low;//误差为0阈值下限
|
||||
float Ek_up;//误差为0阈值上限
|
||||
|
||||
float Kp;//Kp
|
||||
float Ki;//Ki
|
||||
float Kd;//Kd
|
||||
|
||||
float P_OUT;//比例输出
|
||||
float I_OUT;//积分输出
|
||||
float D_OUT;//微分输出
|
||||
float OUT;//总输出
|
||||
float OUT_low;//输出限幅下限
|
||||
float OUT_up;//输出限幅上限
|
||||
}PID_IncrementalInitTypedef;//增量式PID参数结构体
|
||||
|
||||
void PID_PositionStructureInit(PID_PositionInitTypedef* PID_InitStructure,float NeedValue);//位置式PID初始化结构体
|
||||
void PID_PositionSetParameter(PID_PositionInitTypedef* PID_InitStructure,float kp,float ki,float kd);//位置式PID设置参数
|
||||
void PID_PositionSetEkRange(PID_PositionInitTypedef* PID_InitStructure,float ek_low,float ek_up);//位置式PID设置误差为0阈值
|
||||
void PID_PositionSetOUTRange(PID_PositionInitTypedef* PID_InitStructure,float out_low,float out_up);//位置式PID设置输出限幅
|
||||
void PID_PositionClean(PID_PositionInitTypedef* PID_InitStructure);//位置式PID清理
|
||||
void PID_PositionCalc(PID_PositionInitTypedef* PID_InitStructure,float NowValue);//位置式PID计算
|
||||
void PID_IncrementalStructureInit(PID_IncrementalInitTypedef* PID_InitStructure,float NeedValue);//增量式PID初始化结构体
|
||||
void PID_IncrementalSetParameter(PID_IncrementalInitTypedef* PID_InitStructure,float kp,float ki,float kd);//增量式PID设置参数
|
||||
void PID_IncrementalSetEkRange(PID_IncrementalInitTypedef* PID_InitStructure,float ek_low,float ek_up);//增量式PID设置误差为0阈值
|
||||
void PID_IncrementalSetOUTRange(PID_IncrementalInitTypedef* PID_InitStructure,float out_low,float out_up);//增量式PID设置输出限幅
|
||||
void PID_IncrementalCalc(PID_IncrementalInitTypedef* PID_InitStructure,float NowValue);//增量式PID计算
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user