智能车制作

标题: 再探小车的直立 [打印本页]

作者: 15239172008    时间: 2012-6-28 22:23
标题: 再探小车的直立
本帖最后由 15239172008 于 2012-6-28 22:39 编辑

同志们,战友们,我再次硬着头皮问一下,小车到底如何直立!我都调到天昏地暗,日月无光了,可是小车还是不能稳定直立,它还是抖动,还是在当中间值抖动,p参数调了,d参数也调了,几乎都把他们都从小到大组合了一遍,现在我脑子都晕了,小车还是在不能像人家视频上那样的直立。
我是深知如果直立调不好,后面的几乎难上加难,可咋就不能稳当地直立呢,咋就不能不抖动呢。
再多的抱怨也没用,就算是不能比赛,我也要问问这到底是问什么呀,到底是什么原因不能让我的小车稳定直立呢?????这也算是为一种科学精神吧。
上两个图,让那些大神们看看波形。

说明,我们用的加速度传感器是用的是龙丘买的8451q数字传感器,陀螺仪是买的enc-03mb,自己照清华给的电路腐蚀的一小块儿板。清华的互补滤波算法我都反复研究透了,包括后面的电磁转向,也都调试正常,速度控制我也都理解了,可唯一的就是小车不能无抖动站立@!!!一切都完了。
我也知道增大d参数来消除抖动,我一点一点地调大d,可是还没将抖动消除掉,这时陀螺仪本身的抖动就出现了。
我都调车几个月了,可车还是站不稳,能坚持到现在,我的神经已是处在崩溃边缘……
真希望小车一下子就像视频里的车站的稳稳当当的。
有时候做梦都在观察小车直立……
有时候在想,要是电磁车也是四轮跑,那该有多好,嘿,你说那该有多好!……
……
……
啥也不想了,到现在,我只想说,谁要是能就我们的小车帮我分析一下让小车稳定地直立,我记他/她一辈子,我一辈子记住他/她…………

作者: 7865522400    时间: 2012-6-28 22:33
不清楚啊   摄像头的飘过      。。。电磁的真的好想蛮有意思       ,大四想做这个啊   同求
作者: Stillycx    时间: 2012-6-28 22:33
换一个加速度计或者陀螺仪再试试
作者: 15239172008    时间: 2012-6-28 22:42
我也琢磨着,是不是换个陀螺仪呢,我们的陀螺仪是自己买芯片焊的。
作者: yssdsz    时间: 2012-6-28 22:49
用前后两次角度的差做角速度试试
作者: 15239172008    时间: 2012-6-28 22:51
yssdsz 发表于 2012-6-28 22:49
用前后两次角度的差做角速度试试

真的假的,这样能行吗?先生试过吗???

作者: yssdsz    时间: 2012-6-28 22:58
15239172008 发表于 2012-6-28 22:51
真的假的,这样能行吗?先生试过吗???

看你的角度还不错,应该没问题。就是滤出来的角度和加速度酸的角度怎么有那么大一个差值???
作者: 仰望星空1    时间: 2012-6-28 23:11
看你的波形滤出的角度和陀螺仪的纸都没有太大的问题(个人感觉)你调直立的时候记住,单纯的角度控制是不可能让它静止的。单方向加速也没有关系,毕竟静止是速度调节的事,只要他能不抖就行。仔细研究一下官网的视频,组你成功
作者: dlzhouyuan    时间: 2012-6-28 23:40
抖动不单单是因为D小了,D小了小车前后晃,就跟角度有延迟的感觉一样,D大了小车开始震动,频率较高,不知你是哪种
作者: GTR1113    时间: 2012-6-29 03:58
首先,看你的滤波图形,貌似还可以,但是黄色的和蓝色的有一个差值,这是你的陀螺仪在静止时的输出值减去OFFSET之后没有与0重合导致的,正是图中红色的波形在静止时没有与0重合。你可以再重新测一下陀螺仪的OFFSET。把这个解决了,你的黄色和蓝色的波形就会重合了。
作者: 15239172008    时间: 2012-6-29 06:56
yssdsz 发表于 2012-6-28 22:58
看你的角度还不错,应该没问题。就是滤出来的角度和加速度酸的角度怎么有那么大一个差值???

这个我知道,那是因为陀螺仪的零偏置与真实零偏置存在差距,导致陀螺仪积分飘逸往上或往下所致。每次开机还要校正一下角度偏移值,陀螺仪惹得祸。

作者: 15239172008    时间: 2012-6-29 07:03
dlzhouyuan 发表于 2012-6-28 23:40
抖动不单单是因为D小了,D小了小车前后晃,就跟角度有延迟的感觉一样,D大了小车开始震动,频率较高,不知你 ...

问题就出在这里,D参数小了不能抑制p参数的抖动,一点点地调大D,可是还没把P参数带来的抖动抑制掉,d自身又带来了震动,似乎我这个陀螺仪没有起到真正抑制抖动的作用,也不知道是怎么回事

作者: 15239172008    时间: 2012-6-29 07:09
仰望星空1 发表于 2012-6-28 23:11
看你的波形滤出的角度和陀螺仪的纸都没有太大的问题(个人感觉)你调直立的时候记住,单纯的角度控制是不可 ...

没错,只要小车静止不抖动,都可以,以后往一个方向跑可以用速度闭环,或是改动平衡角度零偏值,可是我们就是无法让它不抖动,各个p,d都试了,还是抖动。我看整定的角度也没问题了,可还是没有消除抖动,说明这里面一定存在问题,但是这个抖动毛病的症结在哪个地方呢???

作者: 15239172008    时间: 2012-6-29 07:15
GTR1113 发表于 2012-6-29 03:58
首先,看你的滤波图形,貌似还可以,但是黄色的和蓝色的有一个差值,这是你的陀螺仪在静止时的输出值减去OF ...

啥也不管了,给大家看看我的代码,请多指教。
  1. get_z_acceleration();
  2.      z=(z_axis>>2)*0.021972;
  3.    
  4.      gyroscope_conver_angle();
  5.      true_angle=(1-delta)*(true_angle+angular_velocity)+delta*z;
  6.      angle_delta=true_angle-angle_offset;           /////////////
  7.      
  8.      n=read_counter();
  9.      clear_counter;
  10.      if(f_right_motor<0)    {  speed=n*-1;}
  11.      else speed=n;
  12.      speed_delta=speed_offset-speed;
  13.      speed_integral+=speed_delta*i_speed;
  14.      if(speed_integral>1)    {speed_integral=1;}
  15.      if(speed_integral<-1)   {speed_integral=-1;}
  16.      
  17.      f_speed_control=speed_delta*p_speed+speed_integral;
  18.      
  19.      
  20.      f_angle_control=p_angular*angle_delta+d_angular*angular_velocity;
  21.      
  22.      f_electromagnetism=get_electromagnetic_signal()*p_electromagnetic_parameter ;
  23.      
  24.      f_left_motor=f_angle_control-f_speed_control;
  25.      f_right_motor=f_angle_control-f_speed_control;
复制代码



作者: chillms91    时间: 2012-6-29 10:28
你用的什么滤波
作者: 吉他手    时间: 2012-6-29 10:50
15239172008 发表于 2012-6-29 07:15
啥也不管了,给大家看看我的代码,请多指教。

提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于陀螺仪放大电路是否放大倍数过大,在车模角速度比较大的时候,出现信号饱和。这样D参数就会无法完全抑制车模的前后的摆动。检查方法:通过示波器看陀螺仪在车模前后摆动是否出现信号饱和。适当降低陀螺仪放大倍数(比如降低到5倍或者更低)可以解决饱和问题;
        B.陀螺仪放大电路是否中心点不在电源电压的中心位置,如果偏移很大,则会影响陀螺仪信号的动态范围,会产生一个方向的饱和。通过调整放大电路的偏置电阻可以调整陀螺仪放大信号的中心点;
        C.陀螺仪安防的位置,与车体是否牢固。方向是否水平;
        D.车轮机械传动部分是否存在比较大的静态摩擦力,或者传动间隙。这些都会影响车模稳定控制。
(2)软件部分请检查一下:
        .各参数零点是否准备调零了;
        .直立控制参数P是否过大了,如果P过大了,D是无法完全消除车模的抖动和震动的。毕竟车模本身不是一个刚体。
(3)调试顺序。再调直立过程中,将速度控制和方向控制运算完全去除,避免它们对于车模直立的影响。

总之,将调试的思路放开,不要一条道走到黑。真心的告诉你,车模直立控制其实很容易的。
祝你早日实现车模的直立控制。


作者: 15239172008    时间: 2012-6-29 12:20
chillms91 发表于 2012-6-29 10:28
你用的什么滤波

用的是清华的互补滤波。

作者: yukunlinykl    时间: 2012-6-29 12:30
如果你真的想从科学精神的角度来分析为什么会抖动,
你可以轻轻翻开《自动控制原理》,
按照上面的方法写出传递函数,
对小车建模,
求微分方程的解,
观察解的特点。。。。。。。。。。。
作者: 15239172008    时间: 2012-6-29 12:50
本帖最后由 15239172008 于 2012-6-29 12:53 编辑
吉他手 发表于 2012-6-29 10:50
提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于 ...

吉他手老师的建议总是这么精辟深刻!
我会按照老师的建议逐条检查的,我准备再做一块陀螺仪模块,仔细探究一下。
1,应该不是p参数的问题,我现在设置的p要是再小,车就立不起来了。把p参数稍稍调大一点,可无论怎么调d,都无法让它停止抖动,问题可能就出在这儿。
2,陀螺仪的自由机械振动,我们也关注过,已经把它牢牢地固定在主控板上了,主控板和车体也固定牢了,还有上车体与下车体也十分关注地固定为一体了。
3,车轮上的静态摩擦应该不会有,我刚刚试了下,两个轮子我用手前后转动都非常自如,这一块没问题。
陀螺仪输出饱和我认为提的很好,是一个思考的方向。
4,我有意识地把p参数取一个大小合适的值,并不是太大,所以抖动也不是来自这里,应该不是p的问题。
5,个参数零偏置我们都矫正过,零偏置不会遗留抖动。
6,在调平衡的时候,我就是把速度,电磁控制的参数全部设为0,以保证他们不会对本不是平衡那么好的车再产生干扰,控制变量法我初中就神会到它的妙处,所以也不是速度,电磁的干扰。
吉老师,我看调试手册上放大倍数选的是10倍,也可以选5倍,哪个好一点呀,我准备重整军容,再做一块。
综上所述,会往以下下方向努力:
1,再次购买陀螺仪,按照清华电路重新做一块陀螺仪模块儿。
2,注意陀螺仪输出,坚决不能有输出饱和(这样的话应该是选放大倍数为5吧?)、
3,积极和论坛上的“过来人”交流,讨论,学习。


作者: 15239172008    时间: 2012-6-29 12:53
yukunlinykl 发表于 2012-6-29 12:30
如果你真的想从科学精神的角度来分析为什么会抖动,
你可以轻轻翻开《自动控制原理》,
按照上面的方法写 ...

我只想对你说,
在这个躁动的社会你不要讲话讲的那么慢条斯理,等你把那东西弄出来,黄花菜都凉了!


作者: yukunlinykl    时间: 2012-6-29 18:56
15239172008 发表于 2012-6-29 12:53
我只想对你说,
在这个躁动的社会你不要讲话讲的那么慢条斯理,等你把那东西弄出来,黄花菜都凉了!

那要看你是不是为了吃黄花菜。

作者: 19504643    时间: 2012-6-29 20:16
楼主啊,你的车怎么样了,我的也和你差不多,直立的时候电机齿轮咔哒得厉害,剧烈晃动,调了一个多月的PD参数,也是调遍了,还是立不住,求解决方案啊
作者: 15239172008    时间: 2012-6-29 23:04
19504643 发表于 2012-6-29 20:16
楼主啊,你的车怎么样了,我的也和你差不多,直立的时候电机齿轮咔哒得厉害,剧烈晃动,调了一个多月的PD参 ...

还没呢,现在考试一大堆,只顾考试了,咱俩儿共勉吧,等你有进展的话,别忘了相互提醒一下。
作者: 厚荏    时间: 2012-6-29 23:31
大家加油。感觉直立控制对于角度值和角速度值要求都很高

作者: challengecxc    时间: 2012-6-30 00:06
不用想了朋友,买tlv2211,enc-03mb陀螺仪,自己按照清华第二版方案(官网上有),重新焊个陀螺仪模块,一个星期内就可以站起来,不要光条角度控制参量,角度差不多了加上速度控制立马就能站起来。龙丘的板子我们试过,有过冲,车的抖动根本消除不了,角度跟踪非常慢,再怎么改参数也不行。感觉小车硬件电路,传感器给力了,什么都给力了。吉他手老师的程序非常好的,赞一个

作者: duobi    时间: 2012-6-30 08:47
我的小车也是调了很长时间了,就是站不起来,P调到0.21时抖动消除,D不管怎么调都是不能消除振荡,如果固定D,也能让车基本不振荡但抖动的很厉害,我怀疑是不是只调节P\D不能使车直立,不过我用的是淘宝上的陀螺仪,请问楼上兄台,难道真是陀螺仪的问题,能解释一下不?将不胜感激

作者: chenkun    时间: 2012-6-30 09:04
    哥们 真心的告诉你  我以前用卡尔曼滤波 滤的就和你现在一样,波形很华丽。站立倒是能实现,但是加上速度后就不行了。后来改用官网的滤波,虽然波形没这么华丽了,但就是有效果了,而且现在能跑了。
   弱弱的建议一下,祝你成功。
作者: lightface2010    时间: 2012-6-30 09:52
平衡点没找对,就是零点误差不对。可以试试
作者: dright_chao    时间: 2012-6-30 10:53
吉他手 发表于 2012-6-29 10:50
提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于 ...

老师,您好!我看了您说的“A.对于陀螺仪放大电路是否放大倍数过大,在车模角速度比较大的时候,出现信号饱和。这样D参数就会无法完全抑制车模的前后的摆动。”之后有一个问题:是不是车模在转向的时候,由于有转弯量的叠加会使得车模速度下降,然后在速度闭环的作用下会前倾、加速、摆动,导致车模根本无法转弯而冲出赛道的问题也与陀螺仪饱和有关,所以无论怎么加大D参数、调节速度闭环的PI参数都不能很好地抑制前倾和摆动?
作者: 19504643    时间: 2012-6-30 16:30
15239172008 发表于 2012-6-29 23:04
还没呢,现在考试一大堆,只顾考试了,咱俩儿共勉吧,等你有进展的话,别忘了相互提醒一下。

你QQ多少啊
作者: newhand1991    时间: 2012-6-30 17:48
2个问题 ,你的传感器安装在哪里? 安装的高度应该在车模的中间最佳,安装在上面的话陀螺仪很灵敏,很容易抖动的,我实际测试过。第2个问题,你说加D能消除抖动?  错了,如果是高频抖动(幅度不大,但是抖动的频率很大)那就应该减小D参数,而不是增大,如果是大幅度的低频抖动, 那就是P参数大了。 你可以根据你的实际情况来调节PD参数。  祝你好运哈~~~~  (*^__^*)
作者: 15239172008    时间: 2012-6-30 21:36
本帖最后由 15239172008 于 2012-6-30 21:40 编辑
newhand1991 发表于 2012-6-30 17:48
2个问题 ,你的传感器安装在哪里? 安装的高度应该在车模的中间最佳,安装在上面的话陀螺仪很灵敏,很容易抖 ...
这两个问题我都可以回答你。1,我们陀螺仪安装在顶部,应为那时我们看调试视频里就放在顶部了,就亦步亦趋了。
2,我们是低频抖动,可是这个p没法再小了,再小就无法让小车基本的直立了。

这位兄台的意见很有建设性呀,你们是通过把传感器放在车模中间位置消除抖动了吗?确定一下??

作者: newhand1991    时间: 2012-6-30 23:08
15239172008 发表于 2012-6-30 21:36
这两个问题我都可以回答你。1,我们陀螺仪安装在顶部,应为那时我们看调试视频里就放在顶部了,就亦步亦趋了 ...

嗯。三月份的时候我就站起来了,看到官方的视频和方案后觉得很不错,我试了的,方案完全可行!这个可以大胆的尝试和调试。不过速度不会比官方的快,或者不会快他太多。  
我说几点可以改变的地方:
1、陀螺仪、加速度计的安装,应该在车模的质心位置,说白了就是车模的中心靠下一点,陀螺仪安装在这里是最好的,加速度计随便安装在哪里都无所谓,主要是陀螺仪。 当初我直立的时候,把陀螺仪安装在上面,结果抗性很差,会静止会儿就高频抖动,结果就发散了。后来该机械,放到了下面点,程序参数都没改动,车就静止了,我说的是静止了。。。 基本没什么抖动。
2、官方的那个角度滤波框图很经典,只是有些瑕疵,那就是,如果陀螺仪漂一点,那么你融合后的角度会有比较大的漂(假如陀螺仪是12位ADC,它漂正负5的话,那你融合的角度大概漂0.3左右,0.3的角度漂我觉得是不小了),也就是说,他对陀螺仪的依赖性很强,而陀螺仪是有温漂的,你可以把手放在陀螺仪上,看看角度会变化。不过这点你可以想一些小方法滤除。。这个我就保留,不说了哈(*^__^*)

作者: newhand1991    时间: 2012-6-30 23:12
chenkun 发表于 2012-6-30 09:04
哥们 真心的告诉你  我以前用卡尔曼滤波 滤的就和你现在一样,波形很华丽。站立倒是能实现,但是加上速 ...

华丽????????  强烈要求发图,有图有真相啊。。。  不知道你说的华丽到了什么程度。  要不我们PK下。。
作者: newhand1991    时间: 2012-6-30 23:15
15239172008 发表于 2012-6-28 22:51
真的假的,这样能行吗?先生试过吗???

你的波形不行嘛······  特别是陀螺仪的数据不稳,噪声有点大,你可以对原始的AD值做一些处理。。 陀螺仪的数据稳了,那么你的角度也稳了,消除了噪声可以减小抖动的。
作者: chenkun    时间: 2012-6-30 23:39
newhand1991 发表于 2012-6-30 23:12
华丽????????  强烈要求发图,有图有真相啊。。。  不知道你说的华丽到了什么程度。  要不我们PK ...

呵呵  pk就算了吧  最终咱们是让它跑,不是让它站。对吧。。

作者: 15239172008    时间: 2012-7-1 08:38
19504643 发表于 2012-6-30 16:30
你QQ多少啊

加飞信吧,我的是15239172008,飞信聊天要比qq正派的多,希望能成为飞信好友。

作者: 19504643    时间: 2012-7-1 16:59
15239172008 发表于 2012-7-1 08:38
加飞信吧,我的是15239172008,飞信聊天要比qq正派的多,希望能成为飞信好友。

联通,没有飞信,QQ:19504643

作者: VLEA    时间: 2012-7-4 08:38
遇到过 ,不过我们当时是驱动不对称  ,耽误了我们好长时间啊。。。
作者: 醉生梦死    时间: 2012-7-11 13:28
再看下视频。。把死区去除看看
作者: Y-Edison    时间: 2012-7-11 17:44
真心的想帮你,可是我们也没站起来。。。能把你的看波形的软件分享一下么。大家互帮互助相信你一定能成功的。1262855502@qq.com
作者: 15239172008    时间: 2012-7-11 18:27
[attach]29941[/attach]
当然可以,互相共勉。

作者: 怪盗基德    时间: 2012-7-11 21:20
帮我看看波形吧!!!!
http://www.znczz.com/forum.php?m ... 9&fromuid=83606
.
作者: 怪盗基德    时间: 2012-7-11 21:22
吉他手 发表于 2012-6-29 10:50
提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于 ...

帮我看看波形吧!!!!
http://www.znczz.com/forum.php?mod=viewthread&tid=103799&fromuid=83606
.
作者: 怪盗基德    时间: 2012-7-11 21:22
吉他手 发表于 2012-6-29 10:50
提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于 ...

帮我看看波形吧!!!!
http://www.znczz.com/forum.php?mod=viewthread&tid=103799&fromuid=83606
.
作者: DnStart    时间: 2013-3-8 17:34
吉他手 发表于 2012-6-29 10:50
提醒一下:
(1)如果检查完软件没有什么问题的话,请再检查一下硬件电路和机械部分:
         A.对于 ...

吉他手老师,您好,我在调波形融合的时候,把陀螺仪的积分频率从200改到5就能很好的跟踪,但是改回200跟踪就特别慢,融合后的角度是一点点的向上升的,这样是不是陀螺仪坏了呢?
作者: 嘸敵,尒骉垯    时间: 2013-4-3 14:17
哥们 ,你车站起来没啊?
作者: tangyinyin123    时间: 2013-4-6 11:03
学习啊
作者: 系髓    时间: 2015-3-28 19:47
赞一个!

作者: 冷技    时间: 2015-4-19 18:28
请问楼主现在有找到原因吗 小弟不才 求赐教啊





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