ly8008csko 发表于 2012-11-3 14:54:26

微型四轴烂尾了,两轮自平衡车效果也不好,很受挫求指导

本帖最后由 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:24

自平衡可以看看我的帖子,里面说的应该还算详细了。控制电机最好加编码器,有助于稳定

ly8008csko 发表于 2012-11-3 16:59:49

kent.c 发表于 2012-11-3 16:57 static/image/common/back.gif
自平衡可以看看我的帖子,里面说的应该还算详细了。控制电机最好加编码器,有助于稳定 ...

编码器倒是有,不过不是AB两相的。。。只能调控速度了,自稳是用PWM代替的

xaper 发表于 2012-11-3 22:35:53

本帖最后由 xaper 于 2012-11-4 09:43 编辑

LZ可以去飞思卡尔智能车官网下载2012届电磁组的资料,里面原理和程序都写得很清楚。当初是为了让参赛人员快速做出来的

ShawnLinson 发表于 2012-11-3 22:40:13

lz稍微有点信心啊,偶连动手的能力都没有了。。。

3050311118 发表于 2012-11-3 22:54:39

本帖最后由 3050311118 于 2012-11-3 23:15 编辑

这个本来   难度就很大   就当做长期的业余爱好吧

另 非常感谢xaper的资料   非常受启发

xaper 发表于 2012-11-4 09:50:36

ly8008csko 发表于 2012-11-3 16:59 static/image/common/back.gif
编码器倒是有,不过不是AB两相的。。。只能调控速度了,自稳是用PWM代替的 ...

编码器不是AB两相的也可以做到的,需要将编码器加入到反馈中,而不是仅仅测速度,编码器可以让你的车定在原点,否则就会漂移的。

小笨蛋 发表于 2012-11-4 11:35:13

你这样试试,再融合角加速度进去(陀螺仪两次数值之差)试试。我的就这样完美了……

sunfulong 发表于 2012-11-4 12:54:33

用4楼的资料的方案就可以的,不过这个方案的控制周期有点长,参数难调。自己把控制周期搞短一点,参数会好调很多。之前照这个方案做过控制周期500hz平衡车,效果挺好,先把姿态调好

kmani 发表于 2012-11-4 13:44:30

楼主,你的头像是PROE吗?你以前学机械专业的?

547471962 发表于 2012-11-4 16:30:32

加油啦。既然做过就有做的收货

ly8008csko 发表于 2012-11-4 19:06:43

本帖最后由 ly8008csko 于 2012-11-5 17:57 编辑

xaper 发表于 2012-11-3 22:35 static/image/common/back.gif
LZ可以去飞思卡尔智能车官网下载2012届电磁组的资料,里面原理和程序都写得很清楚。当初是为了让参赛人员快 ...

非常感谢,这个资料确实很好,适合快速上手。

ly8008csko 发表于 2012-11-4 19:10:26

ShawnLinson 发表于 2012-11-3 22:40 static/image/common/back.gif
lz稍微有点信心啊,偶连动手的能力都没有了。。。

恩,暂时先不动手了,多看点书。。。哎,时间有限,我有点急功近利了。
真是学而不思则罔,思而不学则殆啊。

ly8008csko 发表于 2012-11-4 19:13:04

本帖最后由 ly8008csko 于 2012-11-4 19:25 编辑

3050311118 发表于 2012-11-3 22:54 static/image/common/back.gif
这个本来   难度就很大   就当做长期的业余爱好吧

另 非常感谢xaper的资料   非常受启发 ...

恩,有点急功近利了,哎。。。

ly8008csko 发表于 2012-11-4 19:16:19

xaper 发表于 2012-11-4 09:50 static/image/common/back.gif
编码器不是AB两相的也可以做到的,需要将编码器加入到反馈中,而不是仅仅测速度,编码器可以让你的车定在 ...

这样就不知道运动方向了吧?难道是用倾角和PWM的符号辅助判断?还望提示

ly8008csko 发表于 2012-11-4 19:19:39

小笨蛋 发表于 2012-11-4 11:35 static/image/common/back.gif
你这样试试,再融合角加速度进去(陀螺仪两次数值之差)试试。我的就这样完美了…… ...

有空我再试试,之前我是对角速度做PID控制,角速度的D控制应该就是角加速度的P控制吧?那我再对角加速度做PID控制试试,额,参数越来越多了

xml2028 发表于 2012-11-4 19:47:30

楼主加油啊,不要言败
来自:amoBBS 阿莫电子论坛 Android客户端

ly8008csko 发表于 2012-11-4 20:46:07

sunfulong 发表于 2012-11-4 12:54 static/image/common/back.gif
用4楼的资料的方案就可以的,不过这个方案的控制周期有点长,参数难调。自己把控制周期搞短一点,参数会好 ...

我一直以为控制电机200Hz和500Hz区别可能不太大,毕竟电机响应速度比较慢。。。有空我再试试看

ly8008csko 发表于 2012-11-4 20:49:02

kmani 发表于 2012-11-4 13:44 static/image/common/back.gif
楼主,你的头像是PROE吗?你以前学机械专业的?

是Proe,我学软件的,以前自学过一点proe,会点运动仿真

ly8008csko 发表于 2012-11-4 20:50:02

547471962 发表于 2012-11-4 16:30 static/image/common/back.gif
加油啦。既然做过就有做的收货

感谢支持,继续努力{:handshake:}

ly8008csko 发表于 2012-11-4 20:50:50

xml2028 发表于 2012-11-4 19:47 static/image/common/back.gif
楼主加油啊,不要言败
来自:amoBBS 阿莫电子论坛 Android客户端

感谢支持,继续努力{:handshake:}

蓝海de梦 发表于 2012-11-4 21:46:26

这个长期慢慢调不急的,就是怕放弃

小笨蛋 发表于 2012-11-4 22:00:34

ly8008csko 发表于 2012-11-4 19:19 static/image/common/back.gif
有空我再试试,之前我是对角速度做PID控制,角速度的D控制应该就是角加速度的P控制吧?那我再对角加速度 ...

另外计算D的周期不能太长,也不能太短,短了有噪声,成了会抖动。我就知道这么多了……

sunfulong 发表于 2012-11-4 22:16:56

ly8008csko 发表于 2012-11-4 20:46 static/image/common/back.gif
我一直以为控制电机200Hz和500Hz区别可能不太大,毕竟电机响应速度比较慢。。。有空我再试试看 ...

主要是那个清华方案里的速度控制周期是100ms,有点太长了,显得区别有点大,自己觉得清华的角度滤波方案蛮好的,好懂也容易调参数适合像我这样的新手,之前用过卡尔曼、互补滤波效果都不太理想,主要还是自己水平太烂不会调卡尔曼、互补的参数{:tongue:} 。

初来乍到呢 发表于 2012-11-4 22:51:58

同样在学习中的帮顶

ly8008csko 发表于 2012-11-4 23:21:37

蓝海de梦 发表于 2012-11-4 21:46 static/image/common/back.gif
这个长期慢慢调不急的,就是怕放弃

是啊,不能轻易放弃,现在暂时先放下,过一段时间再弄也许思路就能清晰些了。

ly8008csko 发表于 2012-11-4 23:23:07

小笨蛋 发表于 2012-11-4 22:00 static/image/common/back.gif
另外计算D的周期不能太长,也不能太短,短了有噪声,成了会抖动。我就知道这么多了…… ...

恩,很有参考价值,我太缺乏控制方面的经验了,只知道些书本公式。

ly8008csko 发表于 2012-11-4 23:24:14

sunfulong 发表于 2012-11-4 22:16 static/image/common/back.gif
主要是那个清华方案里的速度控制周期是100ms,有点太长了,显得区别有点大,自己觉得清华的角度滤波方案 ...

恩,有空我仔细研究一下,大家共同进步。{:tongue:}

ly8008csko 发表于 2012-11-4 23:25:03

初来乍到呢 发表于 2012-11-4 22:51 static/image/common/back.gif
同样在学习中的帮顶

恩,大家共同进步{:tongue:}

sunfulong 发表于 2012-11-5 07:04:54

本帖最后由 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(因为权限限制不能发链接,所以前面加了空格,复制删掉就好)

酷爱diy 发表于 2012-11-5 08:18:29

佩服楼主,楼主的飞控板哪里买的?发个网址,好漂亮啊,我很喜欢{:lol:}

ly8008csko 发表于 2012-11-5 11:56:12

sunfulong 发表于 2012-11-5 07:04 static/image/common/back.gif
对了,调参方面可以参考这个,这是智能车组委会主任卓晴做的讲解视频,我的车就是看这个调出来的
http:   ...

很好,这个很有参考价值,再次感谢你的技术支持

ly8008csko 发表于 2012-11-5 12:01:28

酷爱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:28

互补滤波的效果不太好,卡尔曼滤波后的结果很好。貌似我当初用卡尔曼的时候没怎么调参数,卡尔曼好像是属于线性最优化的算法,对参数不太敏感,最后都能回归到最优值,不知道是不是这样的,错了,勿喷。

ly8008csko 发表于 2012-11-5 16:49:08

microsoho 发表于 2012-11-5 16:17 static/image/common/back.gif
互补滤波的效果不太好,卡尔曼滤波后的结果很好。貌似我当初用卡尔曼的时候没怎么调参数,卡尔曼好像是属于 ...

我怀疑我用的卡尔曼滤波算法就不对,调了一段时间参数,效果也不怎么样。。。囧

bfk2003 发表于 2013-5-21 10:11:26

mark!!!!!!!!!!!!!

mubei 发表于 2013-5-21 13:07:10

我今年要参加飞思卡尔智能车比赛光电直立组的
我们程序几乎就是照抄的 官方参考程序,就是4楼给的那个。
我感觉这个东西首先得看明白了控制过程   我们研究那程序研究了半个月
但是只用了一晚上 就让车站起来了,角度和速度参数基本都调节好了,后面几天只是做了下稍微的调整最近这几天在研究 线性CCD和赛道策略纠结了好几天
说实话但是那半个月看程序看的都想吐了,甚至都想直接撂挑子不干了,但是很多时候运气成分也很重要,那天晚上人品大爆发O(∩_∩)O哈哈~

mubei 发表于 2013-5-21 13:09:15

角度的D自己随便给了个数车就开始晃起来了,然后稍微加大了点,再给了下P值车就基本立起来了,直到现在 这两个P和D几乎都没怎么改动
有时候运气到了,你想不让他站起来都不行
楼主要坚持不懈啊,胜利就在前方

js200300953 发表于 2013-5-21 19:06:46

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:15:18

本帖最后由 ly8008csko 于 2013-5-26 16:20 编辑

又试了几次,微型四轴最近是没时间搞了,但两轮自平衡车已经可以比较稳定的原地直立了,由于没有用电机码盘,会原地打转,运动时会不断加速直至跌倒。

还是换上了85mm的小轮子,125mm的大轮子太软自己就立住了,控制效果不明显。





贴个视频

http://player.youku.com/player.php/sid/XNTU4NjAxNDQ4/v.swf

ly8008csko 发表于 2013-5-26 16:24:02

mubei 发表于 2013-5-21 13:09 static/image/common/back.gif
角度的D自己随便给了个数车就开始晃起来了,然后稍微加大了点,再给了下P值车就基本立起来了,直到现在...

祝贺!祝贺!
飞思卡尔用比较烂的器件都能做到很好的效果,让我很惭愧啊。
要是能达到官方的效果就很厉害了,还是很复杂的。

ly8008csko 发表于 2013-5-26 16:29:44

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

js200300953 发表于 2013-5-26 22:35:42

ly8008csko 发表于 2013-5-26 16:29 static/image/common/back.gif
恕我愚钝,理解不能。

+模式的不应该是这样的吗?


对,我之前看错了,原来没有Z。

Aiyan永恒 发表于 2014-2-19 18:22:12

飞控也可以diy平衡车的呀?学习了
页: [1]
查看完整版本: 微型四轴烂尾了,两轮自平衡车效果也不好,很受挫求指导