智能车制作

标题: 小车倾斜45度后不能立即停下? [打印本页]

作者: 自由的飞    时间: 2012-4-27 16:28
标题: 小车倾斜45度后不能立即停下?
请问一下:我在主函数For循环里面用
  for(;;) {
   WaitCarStand(); //当车的倾角比较小的时候
                   // 开启小车控制
    CheckCarStand(); // 当车的倾角较大时
                     // 关闭小车控制
  
   // _FEED_COP(); /* feeds the dog */
  } /* loop forever */

为什么 我把小车倾斜45度,大概要等5、6秒才停下来?应该很快停下才对,原因在哪?是不是陀螺仪的跟踪速度过慢?

作者: DOUBLE-L-    时间: 2012-4-27 17:07
如果是小角度倾斜,电机可以反应过来的话,那就不是陀螺仪的跟踪速度的问题了。
作者: adinike1    时间: 2012-4-27 17:18
应该是程序的问题吧,你看角度比较大的时候电机控制量是不是为0
作者: excellentlizhen    时间: 2012-4-27 19:24
还有可能是你传感器安装有问题
作者: 自由的飞    时间: 2012-4-27 19:55
adinike1 发表于 2012-4-27 17:18
应该是程序的问题吧,你看角度比较大的时候电机控制量是不是为0

电机的输出不能立即为0, 5秒之后就为 0了,程序能有什么问题呢?我着实想不明白,会不会是我中断里面的程序耗时超过1ms 了?

作者: 自由的飞    时间: 2012-4-27 19:57
excellentlizhen 发表于 2012-4-27 19:24
还有可能是你传感器安装有问题

我的传感器是放在小车偏上一点,用热熔胶固定出了,会有什么问题?

作者: toneymall    时间: 2012-4-27 20:11
你是不是用的卡尔曼滤波,卡尔曼参数设置是不是还有待优化。你滤波太狠了,滞后太严重,试试改下参数试试呢。
作者: excellentlizhen    时间: 2012-4-27 20:11
自由的飞 发表于 2012-4-27 19:57
我的传感器是放在小车偏上一点,用热熔胶固定出了,会有什么问题?

你中断定时是多长的?程序里面有没有发送数据的程序?
作者: 自由的飞    时间: 2012-4-27 20:36
excellentlizhen 发表于 2012-4-27 20:11
你中断定时是多长的?程序里面有没有发送数据的程序?

中断时间为1ms, 采用的是官方的程序,没有发送数据的程序,只有官方方案中的5个1ms 片段的处理程序,想不通,表示很纠结!!!
作者: 自由的飞    时间: 2012-4-30 17:50
toneymall 发表于 2012-4-27 20:11
你是不是用的卡尔曼滤波,卡尔曼参数设置是不是还有待优化。你滤波太狠了,滞后太严重,试试改下参数试试呢 ...

谢谢你的回答,我是用的是官方的方案滤波,但是滤波滞后是怎么产生的呢?不是很理解,又该怎么消除?   在这个上面纠结了很久 ,非常渴望找到答案!!!




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2