lost 发表于 2023-8-24 11:21:37

旋转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;
    }
    ....
}





lost 发表于 2023-8-24 11:56:36

是不是光靠编码器不能准确的转360度?

WHEELTEC_ZHS 发表于 2023-8-25 09:09:13

绕一圈轮子所走过的距离是受旋转速度影响的,不是固定的一个数值,Arc_R=V_R*t,V_R可由运动学公式计算得出

lost 发表于 2023-8-25 16:14:16

WHEELTEC_ZHS 发表于 2023-8-25 09:09
绕一圈轮子所走过的距离是受旋转速度影响的,不是固定的一个数值,Arc_R=V_R*t,V_R可由运动学公式计算得出

如果不是一个固定的值,怎么知道是不是转了360度:o
页: [1]
查看完整版本: 旋转360度老是转不准