Robomaster M6020 过零处理

本文探讨了在云台控制中如何实施过零处理以避免不必要的旋转。通过调整计算公式,当目标值与测量值之间的误差大于4095时,加入周期修正,确保云台按照预期方向旋转。过零处理对于保持云台稳定性和提高跟随模式的精度至关重要。
摘要由CSDN通过智能技术生成

Robomaster M6020过零处理

从大到小旋转:
M6020从大到小旋转得到示意图
假设Targe值是100,测量值是7900,8000为零点。按照公式,M6020旋转的值是由T-M计算出来的,按照假设的值计算Error=T-M = 7800,云台会从7900的位置逆时针旋转到100的位置,但实际上我们不希望云台这样做,这样做在跟随模式下会让底盘造成不必要的旋转,甚至疯了。所以,这里需要用到一个过零处理。在没有进行过零处理之前,云台应该会向逆时针旋转7800才可以达到目标值,但进行过零处理之后,只需要顺时针旋转200就可以达到目标值了。所以,我们需要在计算的时候再加上一个周期,使得云台反转,从而达到设定的目标值。因此就有了T-(M-8000)。
从小到大旋转:
M6020从小到大旋转得到示意图

不难看出,云台pid计算的时候,M6020会顺时针旋转7800,但我们实际想要的是M6020逆时针旋转200到达目标的机械角度。所以我们在Error=T-M=7800上再减去一个8000,即Error = T-(M+8000);
那么在实际情况中怎么判断周期的加减呢。首先当Error>4095的时候(从小打到大旋转),即T-M大于4095的时候再减去一个周期。当Error<-4095的时候(从大到小),即T-M小于-4095的时候再加上一个周期,过零处理产生的误差就解决了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值