转速模式增加馈电PID
This commit is contained in:
@@ -11,8 +11,8 @@ extern "C"
|
||||
#define SPEED_FITER_NUM 6
|
||||
|
||||
|
||||
#define SPEED_PID_MODE 0
|
||||
#define THROTTLE_PID_MODE 1
|
||||
#define SPEED_PID_MODE 1
|
||||
#define THROTTLE_PID_MODE 0
|
||||
|
||||
#define TURN_MIN_TOUQUE 1 //n*m
|
||||
|
||||
@@ -23,9 +23,8 @@ extern "C"
|
||||
#define TORQUE_HYSTERESIS_THRESHOLD 0.3f
|
||||
|
||||
|
||||
#define MOTOR_MODE TORQUE_MODE
|
||||
|
||||
|
||||
#define MOTOR_MODE SPEED_MODE
|
||||
|
||||
|
||||
#define ALPHA 0.1f // 滤波系数α∈[0.01,0.3],0.2对应截止频率约10Hz(假设采样周期10ms)
|
||||
#define LOWPASS_FILTER(speed, prev) (ALPHA * (speed) + (1 - ALPHA) * (prev))
|
||||
@@ -71,15 +70,13 @@ typedef struct DiffData
|
||||
float out_left_motor_speed; // 输出左电机速度
|
||||
float out_right_motor_speed; // 输出右电机速度
|
||||
float out_torq[4]; //4个电机扭矩
|
||||
float max_Torq; // 最大扭矩限制
|
||||
float min_Torq; // 最小扭矩限制
|
||||
|
||||
float left_speed_diff; // 左侧转速差
|
||||
float right_speed_diff; // 右侧转速差
|
||||
|
||||
float left_diff_touue; // 左侧扭矩差
|
||||
float right_diff_touue; // 右侧扭矩差
|
||||
float diff_dead_zone; // 差速速度死区
|
||||
float max_Torq; // 最大扭矩限制
|
||||
float min_Torq; // 最小扭矩限制
|
||||
uint16_t left_motor_feed_power; // 左侧馈电功率
|
||||
uint16_t right_motor_feed_power; // 右侧馈电功率
|
||||
uint8_t left_motor_state; //左侧电机状态,1刹车,0停下或加速 2驻车
|
||||
uint8_t right_motor_state; //右侧电机状态,1刹车,0停下或加速
|
||||
uint16_t max_feed_power; //最大馈电功率
|
||||
|
||||
} DiffData;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user