查看: 8186|回复: 16

【终极篇】+屌丝做车的日子 痛并快乐着

  [复制链接]
  • TA的每日心情

    2013-3-9 12:50
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-1-23 16:14:28 | 显示全部楼层 |阅读模式
    分享到:
         既然做不了高富帅。从大二下学期开始,我便进入了实验室开始了早出晚归的屌丝日子。这是我少有的现在想来都是特明智的一个决定。从此,大学生活不再那么的漫无目的和无所适从。
         现在,我是大三的学生了。到现在为止,做的作品不多,参加了两次比赛,一个是飞思卡尔一个是电子竞赛。由于电子竞赛时间比较短。msp430和声音定位的研究也不多,这里就不讲那三天三夜里的事了。主要回忆一下我们团队和那一辆做了一个学期的车车的故事吧。
    先上最终靓照一张吧。 G)5AJDLXKRXN[[J5QXV85EM.jpg
        故事从2012年3月4日说起,那时候做了参加比赛的决定,在我们之前,两个学长的队伍早就已经动手了,还有一组比我们先进实验室的也已经着手了。因此,我们是最后加入的一个队伍,赶上了末班车。在洪哥的建议下,我们选择了光电组,事后才知道光电最具观赏又最蛋疼,(这是我少有的第二个现在想来都是特明智的决定,哈哈,因为学长也有一组光电。后来的日子他们帮了我们许多。这是我进实验室后真正意义上的做东西。和队友商量讨论后,队友做硬件,我负责编程。满怀期待又怕自己做不好,我们懵懵懂懂的开始。最初的两个月内,队友渐渐的把车子搭好,我也写了PLL、PWM等一些最基础的模块。然后我们开始了最蛋疼的激光对焦。没有一丝经验。我们一个晚上对好了一个激光。丝毫的风吹草动都怕影响到它。接着用农机胶固定。农机胶至少要等2小时才会硬,固定牢靠。因此 我们一个晚上就做了这么一件事。大约用了一个星期,我们才把这一整排的激光给对完焦。然后,要开始写程序了,虽然什么闭环 开环的,那时根本没有概念。但给电机一个固定的PWM波这个还是很简单的。但对于舵机的控制丝毫没概念。看了很多资料,总算是让它能够转了起来,。那时,单单看着它转起来,就足以让我兴奋了一个礼拜。。。接着用了很简单的巡线算法。通过不断调试,小车能在跑道上顺利的转过几个很简单的弯,那个开心啊。附上第一版小车照, ZD[TPRC9]P[6NH]I[Q4~`WV.jpg 虽说样子比较奇葩,但这里凝结了很多的心血。,对了那时候这车的芯片是mc9s12xs128mal。紧接着,老大(即上面的洪哥)看我们是时候了。于是我们几个大二的搬家了。搬到了学长们做车的房间。于是,新的阶段开始了。我们追求速度。(后来证实 我一直求稳~~~)
           先上新家的跑道靓照一张       。 CZ7E1FRIO`M5}}[@`WGX1KD.jpg
           由于学长的光电主控芯片也是用xs128,规则规定,同一组别不能用同种芯片,于是我们换了g128.接下来,和学长们共同奋斗的日子开始了。不论硬件、软件我们紧紧追随学长的脚步,也不时加入一些自己的奇思妙想,就比如这辆打脚舵机带动摇头的车, AIT4@~VQPWI[DG@(QBK{B`O.jpg 虽然后来证实舵机的力是在是太小了,推翻了这个方案,但这车也给了我们很多欢乐、。。
          不断对焦。不断改进新的激光板子,速度控制,方向控制,路径优化。。。我们不断尝试着。时间也越来越近了,最后一个月了,学长们开始了日以继夜的日子。当然我们也不能落下。(之后杰神每每讲起那段时光,他都说他们都是调到1 、 2点的,我12点早就跑去睡觉了~~~)不过,那时候满脑子全是怎么才能让车子提速、、、做梦都梦。。接着要说说去杭州比赛前一晚发生的事了。那天,和学长一起去另一个实验楼的跑道跑。在那里,学长的车轻松跑完呀,不过,我们的车还是有问题。死在第七届富有特色的欧米加弯道。当时,心里那个难过啊,学长们走后我还继续调,终于,事故还是发生了,小车冲出跑道,没有按着我设定的停住。。。。刚好撞上了一辆自行车的车胎。。。(爆个粗口,次奥。)。激光全部打歪。。。。好吧,心都碎了。回去重新做激光。这里 感谢我的队友涛哥,在那时没有一句埋怨。团队让我很感动。差不多在晚上10点,在学长和队友的共同努力下,重新对完焦。他们则安慰我在等待农机胶固定的2小时内去躺会儿,因为今晚注定是个不眠夜。等到12点左右,虽然我不曾睡着,但也养足了精神。新的激光板子安上。小车和新板子也有一段磨合期。就这样,慢速的让小车在跑道上跑着。借着杰神研究的十字算法。。我们的车子今晚意想不到的取得突破。也许就是所谓的柳暗花明又一村吧、我也改进了算法。小车比以前跑的更快。。我们一直调到了看见日出。新的一天也开始了,就这样,我和队友收拾东西出发杭电。。我们两个则倒在了大巴上睡觉! )ITED4JH{CM[PTQEA9DEJKG.jpg
            接下来,就是浙江省的比赛了,惊奇的发现好多学校都没有我们快。预赛第六和学长顺利挺进决赛。。不过我们都没有会进决赛的准备,在小车上体现就是没有过坡道的准备。。学长安排在我之前比赛,不出意外,我们都没有要求热身,哈哈。两辆车华丽丽的都死在了坡道上。虽然遗憾,更多收获的是满足和喜悦。
         再说一下 新的一年里,新的期望吧,参加了第八届智能车竞赛,希望不留遗憾,倾尽全力,有挑战才能不断提高自己。(不上2.5就不回来了,{:soso_e113:}),同时,电子竞赛也不只想拿三等奖了,嘿嘿。以一句 “世间上没有绝望的处境,只有对处境绝望的人”送给那些和我一样也在这行不断摸索,不断进步的人。
          这个视频是我回家那天,菜鸟做到晚上一点钟才完成的。以此作为一段曾经的回忆和现在的激励。
    .
            附上程序的一部分算法代码,对智能车有兴趣的可以看看
    #pragma CODE_SEG DEFAULT
    /******************************************************************/
    /*                      传感器的数据的读取                        */
    /******************************************************************/
    void Read_Data()                  //对数据的读取
    {

                 sams[0]=sam[0];
                 sams[1]=sam[1];
                 sams[2]=sam[2];
                 sams[3]=sam[3];
                 sams[4]=sam[4];
                 sams[5]=sam[5];
                 sams[6]=sam[6];
                 sams[7]=sam[7];
                 sams[8]=sam[8];
                 sams[9]=sam[9];
                 zhas[0]=zha[0];
                 zhas[1]=zha[1];
                 zhas[2]=zha[2];
                 zhas[3]=zha[3];
                 zhas[4]=zha[4];
                 zhas[5]=zha[5];
                 zhas[6]=zha[6];
                 zhas[7]=zha[7];
                 zhas[8]=zha[8];
                 zhas[9]=zha[9];

      heixiana=0;        
      for(i=0;i<=9;i++)
        {
         if(sams==1)
         heixiana++;
         if(sams[i+1]==0)
         break;
        }
      weia=3*(9-heixiana); //十个激光发射管的位从左往右位依次为-3 0 3 6 9 12 15 18 21 24 27 . 全白-3 全黑27   

    heixianb=0;
    for(z=9;z>=1;z--)
        {
        if(zhas[z]==1)
        heixianb++;
        if(zhas[z-1]==0)
        break;//return
        }
    weib=3*(heixianb-1);   
    if(weib==24&&zhas[0]==1)
    {
      weib=27;
    }                   //十个激光发射管的位从左往右位依次为-3 0 3 6 9 12 15 18 21 24 27... 全黑-3 全白27   

    if(weib-wei_oldb>24||weib-wei_oldb<-24)
    {weib=wei_oldb;}
    wei_oldb=weib;

      if(weib<9)         //左转 12
        {  
        middle_now=weib;
        middle_err_now=middle_now-15;     
        middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);
        if(middle_temp<steer_leftm) middle_temp=steer_leftm;
         else  if(middle_temp>steer_mid) middle_temp=steer_mid;
       STEER=middle_temp;
       middle_err_pre=middle_err_now ;
        }
      if(weib==9||weib==12||weib==15)//if(21<weia+weib<33)
    {
      //middle_temp=798;
      //STEER=middle_temp;
        middle_now=weib;
        middle_err_now=middle_now-12;     
        middle_temp=steer_mid+5*(middle_err_now)+2*(middle_err_now-middle_err_pre); //8  4  6 3
        if(middle_temp<steer_leftm) middle_temp=steer_leftm;
         else  if(middle_temp>steer_mid) middle_temp=steer_mid;
       STEER=middle_temp;
       middle_err_pre=middle_err_now ;
    }

      if(weia>15)   //右转
       {
        middle_now=weia;
        middle_err_now=middle_now-15;       //   15   7
       middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);  
        if(middle_temp<steer_mid) middle_temp=steer_mid;
            else  if(middle_temp>steer_rightm) middle_temp=steer_rightm;
       STEER=middle_temp;
       middle_err_pre=middle_err_now ;
       }

    if(weia==-3) //左转极限(0<=weib-weia<=9)
    {middle_now=weib;
    //STEER=steer_leftm;
      middle_err_now=middle_now-15;     
        middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);
        if(middle_temp<steer_leftm) middle_temp=steer_leftm;
         else  if(middle_temp>steer_mid) middle_temp=steer_mid;
       STEER=middle_temp;
       middle_err_pre=middle_err_now ;
    }


    if(weib==27)//右转极限0<=weib-weia<=6)

    {middle_now=weia;
    //STEER=steer_rightm;
    middle_err_now=middle_now-15;     
        middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);
        if(middle_temp>steer_rightm) middle_temp=steer_rightm;
         else  if(middle_temp<steer_mid) middle_temp=steer_mid;
       STEER=middle_temp;
       middle_err_pre=middle_err_now ;

    }   

    if(21<weia+weib<33)
    {
      middle_temp=798;
    STEER=middle_temp;
    }

    if(weia>15||weib>15)          //右转
    { middle_now=weib;        
      middle_err_now=middle_now-15;     //4   2
      middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);
        if(middle_temp<steer_mid) middle_temp=steer_mid;
            else  if(middle_temp>steer_rightm) middle_temp=steer_rightm;
      middle_err_pre=middle_err_now ;
      STEER=middle_temp;
    }
    else                       //左转
    {                             
      middle_now=weia;
      middle_err_now=middle_now-15;       //7
      middle_temp=steer_mid+DIR_Kp*(middle_err_now)+DIR_Td*(middle_err_now-middle_err_pre);
      if(middle_temp<steer_leftm) middle_temp=steer_leftm;
      else  if(middle_temp>steer_mid) middle_temp=steer_mid;
      middle_err_pre=middle_err_now ;
      STEER=middle_temp;
    }
    }

          也分享一些在我写程序时和做车上对我有用的一些资料 模糊PID控制算法在智能小车中的研究与应用.pdf (2.17 MB, 下载次数: 157)
    回复

    举报

  • TA的每日心情
    奋斗
    2020-9-28 10:10
  • 签到天数: 1018 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-1-23 16:27:52 | 显示全部楼层
    沙发,顶楼主!!!
    回复 支持 反对

    举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-23 16:43:41 | 显示全部楼层
    楼主辛苦辛苦呀。
    回复 支持 反对

    举报

  • TA的每日心情

    2013-3-9 12:50
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-1-23 17:11:44 | 显示全部楼层
    GY@艳 发表于 2013-1-23 16:43
    楼主辛苦辛苦呀。

    楼主不辛苦,在家睡大觉,队友很辛苦,学校做电源
    回复 支持 反对

    举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-23 17:17:24 | 显示全部楼层
    zyj 发表于 2013-1-23 17:11
    楼主不辛苦,在家睡大觉,队友很辛苦,学校做电源

    {:soso__13910122121706899326_3:}
    回复 支持 反对

    举报

  • TA的每日心情

    2013-3-9 12:50
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-1-23 19:12:43 | 显示全部楼层
    ht868788 发表于 2013-1-23 18:50
    没有参加过竞赛,自己瞎折腾过一阵,楼主很用心,加油!

    有付出就有收获,加油
    回复 支持 反对

    举报

  • TA的每日心情
    开心
    2015-8-7 21:35
  • 签到天数: 340 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-23 19:22:37 | 显示全部楼层
    支持一下……
    回复 支持 反对

    举报

  • TA的每日心情
    开心
    2023-1-28 16:20
  • 签到天数: 980 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-1-23 19:35:50 | 显示全部楼层

    楼主辛苦辛苦呀。
    回复 支持 反对

    举报

  • TA的每日心情
    开心
    2015-1-1 01:21
  • 签到天数: 354 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-1-23 22:50:47 | 显示全部楼层
    顶,膜拜一下!
    回复 支持 反对

    举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-1-24 23:56:00 | 显示全部楼层
    GY@艳 发表于 2013-1-23 17:17

    好大一张脸啊。                              
    回复 支持 反对

    举报

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

    本版积分规则

    关闭

    站长推荐上一条 1/3 下一条

    【预约|参会享"豪"礼】2025慕尼黑上海设备展
    “2025慕尼黑上海电子生产设备展”将于2025年03月26-28日上海新国际博览中心开幕诚邀您的光临!

    查看 »

    手机版|小黑屋|与非网

    GMT+8, 2025-3-9 13:12 , Processed in 0.193222 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.