-
基本原理
旋转控制回路
int Tpwm = (int)Turn_PID (car_ch1,KalmanZ.Rate);//-gy.z/16.4
car_ch1——遥控器期望运动速度
KalmanZ.Rate——水平方向陀螺反馈角速度
左右轮速度控制回路
float asd = Avelocity_pin(car_ch2,Amotor_speed,Bmotor_speed);
float bsd = Bvelocity_pin(car_ch2,Amotor_speed,Bmotor_speed);
car_ch2——遥控器期望运动速度
Amotor_speed——A轮电机速度
Bmotor_speed——B轮电机速度
float Avelocity_pin(float Target,float Aspeed,float Bspeed) //速度环PID控制器
{
float newerr =Aspeed+Bspeed; //两个轮子转速之和
newerr = newerr-Target; //期望值与反馈值做差
//误差速度进