智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2121|回复: 10
打印 上一主题 下一主题

舵机打脚问题,用多少行的偏差,该怎么处理偏差,求平均?

[复制链接]

8

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
867
贡献
528
兑换币
583
注册时间
2016-12-25
在线时间
178 小时
毕业学校
铃兰高中
跳转到指定楼层
1#
发表于 2017-4-8 17:08:29 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
郁闷。。。。。。。。。。
回复

使用道具 举报

4

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
807
威望
548
贡献
161
兑换币
117
注册时间
2017-1-14
在线时间
49 小时
毕业学校
安徽信息工程学院
11#
发表于 2017-4-12 22:14:23 | 只看该作者
yyuiopxx 发表于 2017-4-11 23:16
先确认一下舵机的硬件供应和配置是否正确,再来排除算法的问题。

大神请问一下我这个部分程序可有什么问题么
    //IO管脚配置
    gpio_init(MOTOR1_IO,GPO,LOW);
    gpio_init(MOTOR2_IO,GPO,LOW);
    gpio_init(MOTOR3_IO,GPO,LOW);
    gpio_init(MOTOR4_IO,GPO,LOW);
a=0;b=0;c=0;d=0;


    while(1)
    {

       ftm_quad_init(FTM2);                                    //FTM1 正交解码初始化                                                           //所用的管脚可查 port_cfg.h 的 FTM1_QDPHA_PIN 和 FTM1_QDPHB_PI
    pit_init_ms(PIT0, 100);                                 //初始化PIT0,定时时间为: 500ms
    set_vector_handler(PIT0_VECTORn ,PIT0_IRQHandler);      //设置PIT0的中断服务函数为 PIT0_IRQHandler
    enable_irq (PIT0_IRQn);                                 //使能PIT0中断
      for(K=0;K<5;K++)
{
         A[K]= adc_once   (AMP1, ADC_8bit);
         B[K]= adc_once   (AMP2, ADC_8bit);
         C[K]= adc_once   (AMP3, ADC_8bit);
         D[K]= adc_once   (AMP4, ADC_8bit);
}
        for(K=0;K<5;K++)
{
        a=a+A[K];
        b=b+B[K];
        c=c+C[K];
        d=d+D[K];
}
        e=(a+c)/60;
      f=(b+d)/60;
        h=e-f;
        j=f-e;
        i=150-h;

        if(h>=12)
{
          g=h*8;
}
        else if(j>=10)
        {
          g=j*8;
        }
            ftm_pwm_duty(MOTOR_FTM, MOTOR1_PWM,0);
        ftm_pwm_duty(MOTOR_FTM, MOTOR2_PWM,400-g);

         if((a+b+c+d)<=1200)
           {

            if((a+c)>=(b+d))
            {
             ftm_pwm_duty(S3010_FTM, S3010_CH,i-30);
             DELAY_MS(100);
           }
          if((a+c)<(b+d))
            {
             ftm_pwm_duty(S3010_FTM, S3010_CH,i+30);
             DELAY_MS(100);
           }
           }
            ftm_pwm_duty(S3010_FTM, S3010_CH,i);


     g=0;
  a=b=c=d=0;
    }

    }
回复 支持 反对

使用道具 举报

21

主题

366

帖子

0

精华

跨届大侠

种下一块板砖

Rank: 10Rank: 10Rank: 10

积分
6729
威望
2857
贡献
1688
兑换币
1892
注册时间
2015-6-13
在线时间
1092 小时
毕业学校
圣马家沟
10#
发表于 2017-4-12 17:39:54 | 只看该作者
八级大狂风 发表于 2017-4-12 17:33
大神能加一个扣扣么

id就是qq……黑工院有个认识的人呢,maoshq
回复 支持 反对

使用道具 举报

8

主题

67

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1715
威望
857
贡献
544
兑换币
568
注册时间
2016-11-23
在线时间
157 小时
毕业学校
黑龙江工业学院
9#
发表于 2017-4-12 17:33:45 | 只看该作者
2585341750 发表于 2017-4-12 00:43
如果是这种方式的话,行数不是问题,也不用纠结加权,只有远近重要

大神能加一个扣扣么
回复 支持 反对

使用道具 举报

21

主题

366

帖子

0

精华

跨届大侠

种下一块板砖

Rank: 10Rank: 10Rank: 10

积分
6729
威望
2857
贡献
1688
兑换币
1892
注册时间
2015-6-13
在线时间
1092 小时
毕业学校
圣马家沟
8#
发表于 2017-4-12 17:24:40 | 只看该作者
本帖最后由 2585341750 于 2017-4-12 17:33 编辑

多少行怎么加权只是滤波而已,可能对小s有一些好处,但也可能把一些不该滤的滤掉。

真的能对小s起一定滤的作用的话,用的行数相当多了,如果没做逆变换的话,每行的距离一直在变,尤其后面几行每一行距离都很大,可能会影响你调远近的范围,同时也相当于单位距离的权在变动。
小s还是用其他手段处理比较好,大量加权效果其实很一般。

远近是最重要的东西,可以加快响应(相位前移),低通滤波(内切,小s更直)


回复 支持 反对

使用道具 举报

8

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
867
贡献
528
兑换币
583
注册时间
2016-12-25
在线时间
178 小时
毕业学校
铃兰高中
7#
 楼主| 发表于 2017-4-12 12:48:26 | 只看该作者
2585341750 发表于 2017-4-12 00:43
如果是这种方式的话,行数不是问题,也不用纠结加权,只有远近重要

怎么说?
回复 支持 反对

使用道具 举报

21

主题

366

帖子

0

精华

跨届大侠

种下一块板砖

Rank: 10Rank: 10Rank: 10

积分
6729
威望
2857
贡献
1688
兑换币
1892
注册时间
2015-6-13
在线时间
1092 小时
毕业学校
圣马家沟
6#
发表于 2017-4-12 00:43:37 | 只看该作者
如果是这种方式的话,行数不是问题,也不用纠结加权,只有远近重要
回复 支持 反对

使用道具 举报

4

主题

113

帖子

0

精华

跨届大侠

过程重于结果!!!

Rank: 10Rank: 10Rank: 10

积分
6142

优秀会员奖章活跃会员奖章

威望
4638
贡献
1208
兑换币
393
注册时间
2017-2-21
在线时间
148 小时
毕业学校
浙江工业大学
5#
发表于 2017-4-11 23:16:41 | 只看该作者
笨小孩有梦想 发表于 2017-4-11 20:52
大神,可以加个扣扣吗,真的想请教你一些问题,拜托了,现在有个完整的开环程序,输入后在赛道上舵机不转 ...

先确认一下舵机的硬件供应和配置是否正确,再来排除算法的问题。
回复 支持 反对

使用道具 举报

4

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
807
威望
548
贡献
161
兑换币
117
注册时间
2017-1-14
在线时间
49 小时
毕业学校
安徽信息工程学院
4#
发表于 2017-4-11 20:52:42 | 只看该作者
yyuiopxx 发表于 2017-4-9 17:16
楼主都尝试算法,实践中得到真理。而且舵机打角不只与偏差求解有关,还与赛道的处理也有关系。

大神,可以加个扣扣吗,真的想请教你一些问题,拜托了,现在有个完整的开环程序,输入后在赛道上舵机不转怎么回事呢
回复 支持 反对

使用道具 举报

8

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1751
威望
867
贡献
528
兑换币
583
注册时间
2016-12-25
在线时间
178 小时
毕业学校
铃兰高中
3#
 楼主| 发表于 2017-4-9 20:29:14 | 只看该作者
yyuiopxx 发表于 2017-4-9 17:16
楼主都尝试算法,实践中得到真理。而且舵机打角不只与偏差求解有关,还与赛道的处理也有关系。



                __------__
              /~          ~\
             |    //^\\//^\|
           /~~\  ||  o| |o|:~\
          | |6   ||___|_|_||:|
           \__.  /      o  \/'
            |   (       O   )
   /~~~~\    `\  \         /
  | |~~\ |     )  ~------~`\
/' |  | |   /     ____ /~~~)\
(_/'   | | |     /'    |    ( |
       | | |     \    /   __)/ \
       \  \ \      \/    /' \   `\
         \  \|\        /   | |\___|
           \ |  \____/     | |
           /^~>  \        _/ <
          |  |         \       \
          |  | \        \        \
          -^-\  \       |        )
               `\_______/^\______/

实践是检验真理的唯一标准
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 19:14 , Processed in 0.124273 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表