gujunquan 发表于 2017-6-2 14:13:31

关于速度环调试的问题

最近重新调试小车,发现了一个问题。速度环中,偏差=测量值-目标值(Encoder_Least =(Encoder_Left+Encoder_Right)-0);调试指南中:测量值=左右编码器之和,这个左右编码器之和从入口参数传递的值来看,是将左编码器取反(Encoder_Left=-Read_Encoder(2))后再与右编码器相加的,那么测量值应该是一个比较大的数值,减去目标值=0之后得到偏差,再对其进行速度闭环控制,最终要实现的是保持直立的同时,小车速度为零。实际测试的时候,也确实大致如此。接下来,我将对左编码器的取反去掉,Encoder_Left=Read_Encoder(2);Encoder_Right=Read_Encoder(4);也就是此时编码器的数据是一正一负的,继续采用 偏差=测量值-目标值(Encoder_Least =(Encoder_Left+Encoder_Right)-0)这个计算公式。理论上来说,此时的测量值应该是在零附近。那应该可以看到其中一个轮子会以另一个轮子的速度作为参照并保持与它相同的速度,并且此时小车的状态应该是保持直立并忘一个方向行驶,而两个轮子的速度则是不断变化并保持一致的,所以此刻小车除了直立之外其他的状态皆不可预测。但实际测试得到的结果为:小车继续保持直立,但并没有往某个方向行驶,而是和之前的速度为零并直立的状态几乎一致。纠结了好久,这个测量值到底是在零附近还是两个同号的数值相加?望坛友们解解惑。1339452054:lol

admin 发表于 2017-6-2 22:17:42

小车前进或者后退的时候,编码器的读数的正负号必须一致,这样才能使用两者的和代替小车的速度,如果是一正一负,那两者之和很多时候都是0,无法反应小车的速度

gujunquan 发表于 2017-6-2 23:55:07

:lol谢谢管理员解答,之前对这个理论的概念模棱两可,现在清晰多了:lol
页: [1]
查看完整版本: 关于速度环调试的问题