智能车制作

标题: 知道角度,怎么控制车模直立 [打印本页]

作者: xinhuaH    时间: 2012-2-25 22:02
标题: 知道角度,怎么控制车模直立
车模的直立,官方给的方案是:用PD控制车模直立,但是只靠(P*角度+D角速度)可能还无法让车模立起来,我们需要更精确的算法,希望大家踊跃讨论!

作者: 断翅at雄鹰    时间: 2012-2-26 09:13
我觉得官方的怎么那么复杂
作者: xinhuaH    时间: 2012-2-26 10:38
看官方的视频,调节其实很简单,但是就是不知道它的控制是怎么回事……
作者: yu2010550221    时间: 2012-2-26 12:45

作者: 阿ken    时间: 2012-2-26 15:38
我用PD调了很久,都没有站起来。。。。。。晕啊

作者: zhuwenwujy    时间: 2012-2-27 18:41
怎么调?我也想知道
作者: xinhuaH    时间: 2012-2-28 20:51
阿ken 发表于 2012-2-26 15:38
我用PD调了很久,都没有站起来。。。。。。晕啊

滤除后的角度的波形怎么样?

作者: 伟子    时间: 2012-2-28 21:21
唉,我们的站起来了
作者: 阿ken    时间: 2012-2-28 23:46
xinhuaH 发表于 2012-2-28 20:51
滤除后的角度的波形怎么样?

波形这样子,正确吗?

作者: xinhuaH    时间: 2012-2-29 16:57
阿ken 发表于 2012-2-28 23:46
波形这样子,正确吗?

角度有延迟,调车的话,车子的反应速度会慢半拍!

作者: 阿ken    时间: 2012-2-29 18:31
xinhuaH 发表于 2012-2-29 16:57
角度有延迟,调车的话,车子的反应速度会慢半拍!

如果出来是这样的呢

作者: 阿ken    时间: 2012-2-29 18:33
蓝色是融合后的,黄色是加速度计的,陀螺仪的没放出来,是比较杂的波。
作者: xinhuaH    时间: 2012-3-1 15:43
阿ken 发表于 2012-2-29 18:33
蓝色是融合后的,黄色是加速度计的,陀螺仪的没放出来,是比较杂的波。

静态的时候加速度计输出的角度应该和融合后的角度基本重合,不过你们的波形还挺平滑的,这点很好!

作者: xinhuaH    时间: 2012-3-1 15:48
阿ken 发表于 2012-2-29 18:31
如果出来是这样的呢

看你们前后两幅角度的图像,想请教一下:你们的加速度计输出地波形怎么变得很平滑了?希望能给我指点指点,我们的波滤出来太烂了,谢谢!

作者: xinhuaH    时间: 2012-3-1 17:08
阿ken 发表于 2012-2-29 18:31
如果出来是这样的呢

看错了,蓝色的是融合后的角度的话,很好啊!
能不能帮我看看我这个波形,问题在哪里啊?
[attach]18937[/attach]

作者: xinhuaH    时间: 2012-3-1 17:08
阿ken 发表于 2012-2-29 18:31
如果出来是这样的呢

紫色的是什么呢?

作者: wangwei70650    时间: 2012-3-1 17:14
阿ken 发表于 2012-2-29 18:31
如果出来是这样的呢

你这波形OK了! 关键还是PID调节,我们的跟你们波形差不多 基本重合,但是只靠PD好想貌似能立起来,但是立不了多久,我觉得还是要加速度环

作者: wangwei70650    时间: 2012-3-1 17:16
xinhuaH 发表于 2012-3-1 17:08
看错了,蓝色的是融合后的角度的话,很好啊!
能不能帮我看看我这个波形,问题在哪里啊?

你只用了加速计???
作者: xinhuaH    时间: 2012-3-1 17:29
wangwei70650 发表于 2012-3-1 17:16
你只用了加速计???

[attach]18938[/attach]

蓝色是陀螺仪输出,红色是加速度计,黄色是融合后角度,我们用的互补滤波
程序如下:
void complement_filter(float angle_m_cf,float gyro_m_cf)
{


   static float bias_cf;
   static const float dt=0.004;

        bias_cf*=0.025;                        //陀螺仪零飘低通滤波;500次均值;
        bias_cf+=gyro_m_cf*0.975;
        angle_dot=gyro_m_cf-bias_cf;
        angle=(angle+angle_dot*dt)*0.90+angle_m_cf*0.10;       
        //加速度低通滤波;20次均值;按100次每秒计算,低通5Hz;
  angle_send();
}能不能帮我看看哪里出问题了?我们在滤波问题上停留很久了,希望指点指点,谢谢!


作者: wyhccbadboy    时间: 2012-3-3 04:37
绿得很好啊
作者: 夜月L    时间: 2012-3-3 11:05

作者: 阿ken    时间: 2012-3-3 22:00
xinhuaH 发表于 2012-3-1 15:48
看你们前后两幅角度的图像,想请教一下:你们的加速度计输出地波形怎么变得很平滑了?希望能给我指点指点 ...

其实我的加速度计出来的并不是很平滑的,只是我把X跟Y轴缩小了而且
作者: 阿ken    时间: 2012-3-3 22:01
xinhuaH 发表于 2012-3-1 17:08
看错了,蓝色的是融合后的角度的话,很好啊!
能不能帮我看看我这个波形,问题在哪里啊?

黄色的是什么
作者: 阿ken    时间: 2012-3-3 22:03
xinhuaH 发表于 2012-3-1 17:08
紫色的是什么呢?

紫色没用的,只是一个无关的数
作者: 阿ken    时间: 2012-3-3 22:04
wangwei70650 发表于 2012-3-1 17:14
你这波形OK了! 关键还是PID调节,我们的跟你们波形差不多 基本重合,但是只靠PD好想貌似能立起来,但是立 ...

会一直往一边跑,直到倒下
作者: 春芽ing    时间: 2012-3-3 22:07
;P
作者: xinhuaH    时间: 2012-3-5 21:23
wyhccbadboy 发表于 2012-3-3 04:37
绿得很好啊

很不好啊,你看看波形,有尖脉冲,而且曲线很不光滑!

作者: xinhuaH    时间: 2012-3-5 21:26
阿ken 发表于 2012-3-3 22:01
黄色的是什么

黄色的是滤出来的角度,红色是用加速度计算出的角度,蓝色是陀螺仪输出!

作者: 不要可乐    时间: 2012-3-6 01:05
阿ken 发表于 2012-2-28 23:46
波形这样子,正确吗?

你好!想知道用什么软件和方法看波形,谢谢!!!
作者: 有-木-友    时间: 2012-3-6 02:49
学习学习~~~~
作者: 阿ken    时间: 2012-3-6 18:47
不要可乐 发表于 2012-3-6 01:05
你好!想知道用什么软件和方法看波形,谢谢!!!

网上有很多软件啊,是用串口的
作者: xinhuaH    时间: 2012-3-6 21:05
不要可乐 发表于 2012-3-6 01:05
你好!想知道用什么软件和方法看波形,谢谢!!!

用虚拟示波器!测试程序和软件如下:[attach]19281[/attach][attach]19280[/attach]
测试程序用的是SCI通信,程序下进去后,运行,打开虚拟示波器,你将看到4条正弦波,这就说明可以用了!要看你自己想看的变量的话,你需要将测试程序改成你自己的程序。我们看波形的程序如下(仅供参考):[attach]19282[/attach]

作者: 月光疾风    时间: 2012-3-30 22:12
学习了~
作者: 戏少及    时间: 2012-5-1 13:21

作者: aoxiang2    时间: 2012-5-3 15:34
wangwei70650 发表于 2012-3-1 17:14
你这波形OK了! 关键还是PID调节,我们的跟你们波形差不多 基本重合,但是只靠PD好想貌似能立起来,但是立 ...

请问下陀螺仪是单轴,只能测一个方向的,怎样判断车向前倒还是向后倒?
作者: xinhuaH    时间: 2012-5-4 21:32
aoxiang2 发表于 2012-5-3 15:34
请问下陀螺仪是单轴,只能测一个方向的,怎样判断车向前倒还是向后倒?

如果向前倒陀螺仪输出为负,那么向后倒陀螺仪输出为正;如果向前倒陀螺仪输出为正,那么向后倒陀螺仪输出为负。要看你陀螺仪怎么放!

作者: 不倒翁2    时间: 2012-5-5 14:21
阿ken 发表于 2012-2-26 15:38
我用PD调了很久,都没有站起来。。。。。。晕啊

我也是啊,调了一个月了,还是站起不起来,烦死了,觉得这方法太不靠谱了……




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