微型四轴烂尾了,两轮自平衡车效果也不好,很受挫求指导
本帖最后由 ly8008csko 于 2012-11-3 15:14 编辑之前做的微型四轴,用的STM32F103,L3G4200,ADXL345。
没用四元数,不懂卡尔曼也不会调参数,直接用的变参互补滤波耦合传感器数据。
每8个传感器数据进行一次均值滤波,姿态解算和控制周期均为400Hz,对角度和角速度分别进行PID控制。
目前只对pitch和roll进行控制,2者直接线性叠加,用的X飞行模式:
speed_m1 = curr_speed + speed_change_x - speed_change_y
speed_m2 = curr_speed + speed_change_x + speed_change_y
speed_m3 = curr_speed - speed_change_x + speed_change_y
speed_m4 = curr_speed - speed_change_x - speed_change_y
现在效果是只控制pitch和roll中的一轴效果还可以,2轴一叠加就乱飞,怎么调试PID参数也无法稳定,求指导。。。
================================================================================
此后不甘失败,用飞控板又搭了个2轮子自平衡小车
现在效果是在中立点附近还算稳定,角度一大就剧烈震荡,前进和后退就更不用说了,跑几步就剧烈震荡然后就倒了。。。同求指导
也许是没用分段PID吧,而且电池电压一变化PID控制就会震荡,估计是没做电流环的原因吧,低通滤波也没做好。。。
================================================================================
本是软件出身,不懂电路和控制,恐怕要烂尾了,现在很是受挫,前途一片茫然啊。。。
自平衡可以看看我的帖子,里面说的应该还算详细了。控制电机最好加编码器,有助于稳定 kent.c 发表于 2012-11-3 16:57 static/image/common/back.gif
自平衡可以看看我的帖子,里面说的应该还算详细了。控制电机最好加编码器,有助于稳定 ...
编码器倒是有,不过不是AB两相的。。。只能调控速度了,自稳是用PWM代替的 本帖最后由 xaper 于 2012-11-4 09:43 编辑
LZ可以去飞思卡尔智能车官网下载2012届电磁组的资料,里面原理和程序都写得很清楚。当初是为了让参赛人员快速做出来的 lz稍微有点信心啊,偶连动手的能力都没有了。。。 本帖最后由 3050311118 于 2012-11-3 23:15 编辑
这个本来 难度就很大 就当做长期的业余爱好吧
另 非常感谢xaper的资料 非常受启发 ly8008csko 发表于 2012-11-3 16:59 static/image/common/back.gif
编码器倒是有,不过不是AB两相的。。。只能调控速度了,自稳是用PWM代替的 ...
编码器不是AB两相的也可以做到的,需要将编码器加入到反馈中,而不是仅仅测速度,编码器可以让你的车定在原点,否则就会漂移的。 你这样试试,再融合角加速度进去(陀螺仪两次数值之差)试试。我的就这样完美了…… 用4楼的资料的方案就可以的,不过这个方案的控制周期有点长,参数难调。自己把控制周期搞短一点,参数会好调很多。之前照这个方案做过控制周期500hz平衡车,效果挺好,先把姿态调好 楼主,你的头像是PROE吗?你以前学机械专业的? 加油啦。既然做过就有做的收货 本帖最后由 ly8008csko 于 2012-11-5 17:57 编辑
xaper 发表于 2012-11-3 22:35 static/image/common/back.gif
LZ可以去飞思卡尔智能车官网下载2012届电磁组的资料,里面原理和程序都写得很清楚。当初是为了让参赛人员快 ...
非常感谢,这个资料确实很好,适合快速上手。 ShawnLinson 发表于 2012-11-3 22:40 static/image/common/back.gif
lz稍微有点信心啊,偶连动手的能力都没有了。。。
恩,暂时先不动手了,多看点书。。。哎,时间有限,我有点急功近利了。
真是学而不思则罔,思而不学则殆啊。 本帖最后由 ly8008csko 于 2012-11-4 19:25 编辑
3050311118 发表于 2012-11-3 22:54 static/image/common/back.gif
这个本来 难度就很大 就当做长期的业余爱好吧
另 非常感谢xaper的资料 非常受启发 ...
恩,有点急功近利了,哎。。。 xaper 发表于 2012-11-4 09:50 static/image/common/back.gif
编码器不是AB两相的也可以做到的,需要将编码器加入到反馈中,而不是仅仅测速度,编码器可以让你的车定在 ...
这样就不知道运动方向了吧?难道是用倾角和PWM的符号辅助判断?还望提示 小笨蛋 发表于 2012-11-4 11:35 static/image/common/back.gif
你这样试试,再融合角加速度进去(陀螺仪两次数值之差)试试。我的就这样完美了…… ...
有空我再试试,之前我是对角速度做PID控制,角速度的D控制应该就是角加速度的P控制吧?那我再对角加速度做PID控制试试,额,参数越来越多了 楼主加油啊,不要言败
来自:amoBBS 阿莫电子论坛 Android客户端 sunfulong 发表于 2012-11-4 12:54 static/image/common/back.gif
用4楼的资料的方案就可以的,不过这个方案的控制周期有点长,参数难调。自己把控制周期搞短一点,参数会好 ...
我一直以为控制电机200Hz和500Hz区别可能不太大,毕竟电机响应速度比较慢。。。有空我再试试看 kmani 发表于 2012-11-4 13:44 static/image/common/back.gif
楼主,你的头像是PROE吗?你以前学机械专业的?
是Proe,我学软件的,以前自学过一点proe,会点运动仿真 547471962 发表于 2012-11-4 16:30 static/image/common/back.gif
加油啦。既然做过就有做的收货
感谢支持,继续努力{:handshake:} xml2028 发表于 2012-11-4 19:47 static/image/common/back.gif
楼主加油啊,不要言败
来自:amoBBS 阿莫电子论坛 Android客户端
感谢支持,继续努力{:handshake:} 这个长期慢慢调不急的,就是怕放弃 ly8008csko 发表于 2012-11-4 19:19 static/image/common/back.gif
有空我再试试,之前我是对角速度做PID控制,角速度的D控制应该就是角加速度的P控制吧?那我再对角加速度 ...
另外计算D的周期不能太长,也不能太短,短了有噪声,成了会抖动。我就知道这么多了…… ly8008csko 发表于 2012-11-4 20:46 static/image/common/back.gif
我一直以为控制电机200Hz和500Hz区别可能不太大,毕竟电机响应速度比较慢。。。有空我再试试看 ...
主要是那个清华方案里的速度控制周期是100ms,有点太长了,显得区别有点大,自己觉得清华的角度滤波方案蛮好的,好懂也容易调参数适合像我这样的新手,之前用过卡尔曼、互补滤波效果都不太理想,主要还是自己水平太烂不会调卡尔曼、互补的参数{:tongue:} 。 同样在学习中的帮顶 蓝海de梦 发表于 2012-11-4 21:46 static/image/common/back.gif
这个长期慢慢调不急的,就是怕放弃
是啊,不能轻易放弃,现在暂时先放下,过一段时间再弄也许思路就能清晰些了。 小笨蛋 发表于 2012-11-4 22:00 static/image/common/back.gif
另外计算D的周期不能太长,也不能太短,短了有噪声,成了会抖动。我就知道这么多了…… ...
恩,很有参考价值,我太缺乏控制方面的经验了,只知道些书本公式。 sunfulong 发表于 2012-11-4 22:16 static/image/common/back.gif
主要是那个清华方案里的速度控制周期是100ms,有点太长了,显得区别有点大,自己觉得清华的角度滤波方案 ...
恩,有空我仔细研究一下,大家共同进步。{:tongue:} 初来乍到呢 发表于 2012-11-4 22:51 static/image/common/back.gif
同样在学习中的帮顶
恩,大家共同进步{:tongue:} 本帖最后由 sunfulong 于 2012-11-5 07:07 编辑
ly8008csko 发表于 2012-11-4 23:24 static/image/common/back.gif
恩,有空我仔细研究一下,大家共同进步。
对了,调参方面可以参考这个,这是智能车组委会主任卓晴做的讲解视频,我的车就是看这个调出来的
http://v.youku.com/v_show/id_XMzUzMzE1MDI4.html(因为权限限制不能发链接,所以前面加了空格,复制删掉就好) 佩服楼主,楼主的飞控板哪里买的?发个网址,好漂亮啊,我很喜欢{:lol:} sunfulong 发表于 2012-11-5 07:04 static/image/common/back.gif
对了,调参方面可以参考这个,这是智能车组委会主任卓晴做的讲解视频,我的车就是看这个调出来的
http: ...
很好,这个很有参考价值,再次感谢你的技术支持 酷爱diy 发表于 2012-11-5 08:18 static/image/common/back.gif
佩服楼主,楼主的飞控板哪里买的?发个网址,好漂亮啊,我很喜欢
飞控板是根据大家公布的原理图自己画的,stm32的,有几个设计缺陷,板子就做了几个,后来拆了几个,还有几个用在其他东西上了,所以抱歉几乎全用了。
真正漂亮的看 zhaochuanyuAVR 的,仿的国外设计,集成度很高
http://www.amobbs.com/thread-5503219-1-1.html 互补滤波的效果不太好,卡尔曼滤波后的结果很好。貌似我当初用卡尔曼的时候没怎么调参数,卡尔曼好像是属于线性最优化的算法,对参数不太敏感,最后都能回归到最优值,不知道是不是这样的,错了,勿喷。 microsoho 发表于 2012-11-5 16:17 static/image/common/back.gif
互补滤波的效果不太好,卡尔曼滤波后的结果很好。貌似我当初用卡尔曼的时候没怎么调参数,卡尔曼好像是属于 ...
我怀疑我用的卡尔曼滤波算法就不对,调了一段时间参数,效果也不怎么样。。。囧 mark!!!!!!!!!!!!! 我今年要参加飞思卡尔智能车比赛光电直立组的
我们程序几乎就是照抄的 官方参考程序,就是4楼给的那个。
我感觉这个东西首先得看明白了控制过程 我们研究那程序研究了半个月
但是只用了一晚上 就让车站起来了,角度和速度参数基本都调节好了,后面几天只是做了下稍微的调整最近这几天在研究 线性CCD和赛道策略纠结了好几天
说实话但是那半个月看程序看的都想吐了,甚至都想直接撂挑子不干了,但是很多时候运气成分也很重要,那天晚上人品大爆发O(∩_∩)O哈哈~ 角度的D自己随便给了个数车就开始晃起来了,然后稍微加大了点,再给了下P值车就基本立起来了,直到现在 这两个P和D几乎都没怎么改动
有时候运气到了,你想不让他站起来都不行
楼主要坚持不懈啊,胜利就在前方 speed_m1 = curr_speed + speed_change_x - speed_change_y
speed_m2 = curr_speed + speed_change_x + speed_change_y
speed_m3 = curr_speed - speed_change_x + speed_change_y
speed_m4 = curr_speed - speed_change_x - speed_change_y 这明明是+模式的好不 本帖最后由 ly8008csko 于 2013-5-26 16:20 编辑
又试了几次,微型四轴最近是没时间搞了,但两轮自平衡车已经可以比较稳定的原地直立了,由于没有用电机码盘,会原地打转,运动时会不断加速直至跌倒。
还是换上了85mm的小轮子,125mm的大轮子太软自己就立住了,控制效果不明显。
贴个视频
http://player.youku.com/player.php/sid/XNTU4NjAxNDQ4/v.swf
mubei 发表于 2013-5-21 13:09 static/image/common/back.gif
角度的D自己随便给了个数车就开始晃起来了,然后稍微加大了点,再给了下P值车就基本立起来了,直到现在...
祝贺!祝贺!
飞思卡尔用比较烂的器件都能做到很好的效果,让我很惭愧啊。
要是能达到官方的效果就很厉害了,还是很复杂的。 js200300953 发表于 2013-5-21 19:06 static/image/common/back.gif
这明明是+模式的好不
恕我愚钝,理解不能。
+模式的不应该是这样的吗?
M1
M2 M4
M3
speed_m1 = curr_speed - speed_change_y
speed_m2 = curr_speed + speed_change_x
speed_m3 = curr_speed + speed_change_y
speed_m4 = curr_speed - speed_change_x ly8008csko 发表于 2013-5-26 16:29 static/image/common/back.gif
恕我愚钝,理解不能。
+模式的不应该是这样的吗?
对,我之前看错了,原来没有Z。 飞控也可以diy平衡车的呀?学习了
页:
[1]