手写笔记
代码
输入x、y、z速度
void SpeedCtrl(int16_t x, int16_t y, int16_t z)
{
int16_t targetSpeed1 = 0, targetSpeed2 = 0, targetSpeed3 = 0, targetSpeed4 = 0;
targetSpeed1 = y - x + z;
targetSpeed2 = y + x - z;
targetSpeed3 = y - x - z;
targetSpeed4 = y + x + z;
encvalue1 = ENC_GetCounter(ENC2_InPut_P33_7);
encvalue2 = (-ENC_GetCounter(ENC6_InPut_P20_3));
encvalue3 = (-ENC_GetCounter(ENC5_InPut_P10_3));
encvalue4 = ENC_GetCounter(ENC4_InPut_P02_8);
Pid(&pid1,targetSpeed1 - encvalue1);
Pid(&pid2,targetSpeed2 - encvalue2);
Pid(&pid3,targetSpeed3 - encvalue3);
Pid(&pid4,targetSpeed4 - encvalue4);
/* PID_Positional(&pid1, targetSpeed1 - encvalue1);
PID_Positional(&pid2, targetSpeed2 - encvalue2);
PID_Positional(&pid3, targetSpeed3 - encvalue3);
PID_Positional(&pid4, targetSpeed4 - encvalue4);*/
MotorCtrl(pid1.out,pid2.out,pid3.out,pid4.out);
}