旋转360度老是转不准
请教一下,两轮差速小车,想通过编码器的值计算来确定是否旋转了360,但是好像算出来的距离,不太准确,有时差了不少,不知问题在哪//Diff_wheelspacing*Pi 转一圈的的周长
static float sum=0;
void rotate360()
{
float dis=0;
float ave=(OriginalEncoder.B+OriginalEncoder.A)/2;
sum=sum+ave;
dis=abs(sum)*Perimeter;
if(dis>=Diff_wheelspacing*Pi*1560.0f)
{
printf("done\r\n");
Move_Z=0;
}
....
}
是不是光靠编码器不能准确的转360度? 绕一圈轮子所走过的距离是受旋转速度影响的,不是固定的一个数值,Arc_R=V_R*t,V_R可由运动学公式计算得出 WHEELTEC_ZHS 发表于 2023-8-25 09:09
绕一圈轮子所走过的距离是受旋转速度影响的,不是固定的一个数值,Arc_R=V_R*t,V_R可由运动学公式计算得出
如果不是一个固定的值,怎么知道是不是转了360度:o
页:
[1]