智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 6594|回复: 27
打印 上一主题 下一主题

直立渣渣小车,跑不完决赛,来论坛留下一点印记,没有参透直立,开此贴当互相交流!

[复制链接]

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
跳转到指定楼层
1#
发表于 2017-7-15 20:06:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比赛已经结束,决赛没有完成。
文笔不好,不会抒情,不会总结。
只上干货,以祭奠在智能车上逝去的青春!

回复

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
来自 2#
 楼主| 发表于 2017-7-16 22:17:02 | 只看该作者
本帖最后由 wuwenfu5 于 2017-7-16 22:23 编辑

不爱录视频,所以只能图片镇楼咯!
穿越时空的车照,其实这是明年摄像头直立双车的照片。

最近考试要忙,慢更,抱歉了大家!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
来自 3#
 楼主| 发表于 2017-7-18 17:03:30 | 只看该作者

15点考完,第一时间来更一贴,明天要去北京,过三天回来继续更。
今天更一个障碍和终点线。
我个认为这两个是很容易混淆的,尤其是起跑线会误判成障碍,理由如下:
如果障碍反光(障碍的斜面及其容易导致其反射体育馆顶部灯光)导致其特征与起跑线较像(间隔的白黑);
因此无法限制障碍的宽度与起跑线区分;而且障碍的远近也会影响障碍宽度;

所以一开始我使用的直接简单粗暴的方法:左右都是障碍则是起跑线,这样连起跑线都不用写了;
这样嘚瑟了没几天就发现远么有想象中简单。。。如果起跑线斜了或者不整齐,可能一边判到另一边没有判到;
在起跑线一打角,gg;所以除非连续判断几次来确认是否是真障碍,这样的缺点是会有延迟,
要保证足够及时的话又得继续提前判断,图像越远信息量越少,可判的依据就更少了,一米之外障碍的长度只有不到10行;
所以最后还是将障碍与起跑分别判断;
一般判断障碍又有两种方法,
1.从边线往中线搜索,会搜到白黑黑白,且仅有一次白黑黑白,最后还可以根据最后搜到的黑白开始描绘出障碍的一边,
与另一边线计算中线;这样存在的问题还是一个。。。反光,如果障碍上面贴的黑胶带不是亚光的,恭喜你,障碍即将gg;
如果反光无法确认只有一次白黑黑白,可能出现多次,与起跑线同;这样无法确认是否搜索到障碍的边,更无法计算中线;
还有一个问题才想起,如果因为阴影或者障碍摆放的问题,从边线开始的白色很少或者没有(自行想象障碍直接贴边放),
这样就不满足开始的白黑黑白了;
2.从中线往边线搜索,简单暴力,确认得到障碍的跳变之后,描绘出障碍的边线,限制这个边线的形态可以解决一些误判,
比如障碍的边不应该太斜(如角度不超过45度或者斜率满足什么什么的),
然后要排除掉起跑的误判,可以从障碍的边往另一边搜索应该持续一定宽度的白。。。

  1. if (Zhangai_find != 2) //不是右边障碍
  2.     {
  3.         //左障碍
  4.         
  5.         uint8 get_Left_tiaobian = 0,get_Left_X_last = LeftLineX[3],get_Left_X_end = LeftLineX[3],get_Left_X = 0;
  6.         uint8 next_find_ing = 0;
  7.         for (Dot_temp = 3;Dot_temp < CenterLineDot - 5;)//Dot_temp += 3)
  8.         {
  9.             if (CenterLineY[Dot_temp] < Over_hang)
  10.                 break;
  11.             
  12.             get_black_count = 0;//每一行清零
  13.             uint8 next_find_flag = 0;
  14. //            uint8 Search_Dot_Max = CenterLineX[Dot_temp] - LeftLineX[3] + 6;//用 92 或者 中线点  +5 多搜一点 避免底边容易搜超
  15.             uint8 Search_Dot_Max = CenterLineX[Dot_temp] - get_Left_X_end + 6;//用 92 或者 中线点  与  上一次搜到的边线 (减少运算量) +6 多搜一点 避免底边容易搜超            
  16.             for (uint8 i = 0;i < Search_Dot_Max;i ++)
  17.             {
  18.                 if (image[ CenterLineY[Dot_temp] ][ CenterLineX[Dot_temp] - i] - image[ CenterLineY[Dot_temp] ][ CenterLineX[Dot_temp] - i  - 2] > yuzhi)//白 黑
  19.                 {
  20.                     if (get_black_count < 255)
  21.                         get_black_count ++;
  22.                     
  23.                     get_Left_X = CenterLineX[Dot_temp] - i ;
  24.                     
  25.                     if (get_Left_X_last == 0)//第一次
  26.                         get_Left_X_last = get_Left_X;
  27.                     
  28.                     if ( get_Left_X - 10 > get_Left_X_last)
  29.                     {

  30.                         black2white_X[get_Left_tiaobian] = CenterLineX[Dot_temp] - i - 1;//偏白
  31.                         black2white_Y[get_Left_tiaobian] = CenterLineY[Dot_temp];
  32.                         
  33.                          if (get_Left_tiaobian > 0 )
  34.                          {
  35.                              if (black2white_X[ get_Left_tiaobian] - black2white_X[get_Left_tiaobian - 1] >= 3)//向右 不 连续
  36.                              {
  37.                                  if (get_Left_tiaobian > 3)//远处的点  不连续
  38.                                  {
  39.                                     get_black_count = 0;//不够连续  认为没有找到
  40.                                     break;
  41.                                  }

  42.                              }
  43.                              else if (black2white_X[ get_Left_tiaobian - 1] - black2white_X[get_Left_tiaobian ] >= 3)//向左 不 连续
  44.                              {
  45.                                 get_black_count = 0;//不够连续  认为没有找到
  46.                                 break;                                 
  47.                              }
  48.                          }   
  49.                         
  50.                         
  51.                         if (next_find_flag == 0 && get_Left_tiaobian >= 6)//连续跳变 6 次
  52.                         {                              
  53.                                     
  54.                             if (black2white_X[ get_Left_tiaobian] > 100 || (black2white_X[ 0] - black2white_X[get_Left_tiaobian] > 6))//|| abs(black2white_X[ get_Left_tiaobian] - black2white_X[0] ) > 10 )//向右
  55.                             {                                               //向左
  56.                                 get_black_count = 0;//差的太多  认为没有找到
  57.                                 break;
  58.                             }
  59.                            
  60.                             uint8 count = (get_Left_X - get_Left_X_last) * 2 / 3;//相反方向 搜索 这么多
  61.                             for (uint8 j = 0 ;j < count ;j ++)
  62.                             {
  63.                                 if (image[ black2white_Y[get_Left_tiaobian] ][ black2white_X[get_Left_tiaobian] + j] - image[ black2white_Y[get_Left_tiaobian] ][ black2white_X[get_Left_tiaobian] + j + 2] > yuzhi)
  64.                                 {    //起跑线误判
  65.                                     next_find_flag = 1;

  66.                                 }
  67.                                 
  68.                             }
  69.                            
  70.                             //如果障碍反光了 怎么办
  71. //                            for (uint8 j = 0 ;j < 9 ;j ++)//障碍不够宽 可能是 起跑线
  72. //                            {
  73. //                                 if (image[ black2white_Y[get_Left_tiaobian] ][ black2white_X[get_Left_tiaobian] - j - 2] - image[ black2white_Y[get_Left_tiaobian] - j][ black2white_X[get_Left_tiaobian] - j] > yuzhi)
  74. //                                 {
  75. //                                     get_black_count = 0;//找到 白色跳变  终点线  认为没有找到
  76. //                                     break;
  77. //                                 }
  78. //                            }
  79.                            
  80.                             if (Left_zhangai_find < 255)
  81.                                 Left_zhangai_find ++;
  82.                         }

  83.                         get_Left_tiaobian++;
  84.                     }
  85.                     else
  86.                     {    //没有跳变时记录   跳变了就保持住
  87.                          get_Left_X_last = get_Left_X;
  88.                          if(next_find_ing == 0)//如果 第二次  放宽搜线  这里不改变值 既是
  89.                             get_Left_X_end = get_Left_X;
  90.                         
  91.                          get_Left_tiaobian = 0;//保证连续
  92.                     }
  93.                     
  94.                     if (next_find_flag == 1)//继续往下 搜
  95.                     {
  96.                         next_find_ing = 1;//搜索 下一个 障碍
  97.                         
  98.                         get_Left_X_end = get_Left_X_last;//有先后  
  99.                         get_Left_X_last = get_Left_X ;
  100.                         
  101.                          get_Left_tiaobian = 0;
  102.                          Left_zhangai_find = 0;
  103.                     }
  104.                     
  105.                     break;
  106.                 }
  107.                
  108.             }

  109.             
  110.             if (get_Left_tiaobian > 0)
  111.                 Dot_temp += 1;
  112.             else
  113.                 Dot_temp += 3;     
  114.            
  115.             if (Left_zhangai_find > 0)
  116.             {                                                      
  117.             
  118.                 break;//成功  结束本次
  119.             }
  120.             
  121.             if (get_black_count == 0)//搜超了没有搜到
  122.                 break;                  //一行超了 退出本次

  123.         }

  124.     }
  125.    
  126.    
复制代码



下面是确认是障碍之后,怎么走的问题:
使用障碍的边线与另一边线计算中线,这样中线是会向车的方向延伸的,自带补线的感觉。。。
  1.         if(Left_zhangai_find != 0 && Right_zhangai_find == 0)//左边障碍
  2.         {
  3.             memset(LeftLineY,0,200);
  4.             memset(LeftLineX,0,200);  
  5.       
  6.             LeftLineX[1] = black2white_X[4];//使用后面一点的点 ,避免因为畸变 在障碍 底边开始搜线
  7.             LeftLineY[1] = black2white_Y[4];
  8.             LeftLineX[2] = black2white_X[5];
  9.             LeftLineY[2] = black2white_Y[5];

  10.             LineSerch(image,LeftLineY,LeftLineX,RightLineY,RightLineX,&LeftLineDot,&RightLineDot,Search_Line_Th,0,1);//只搜左边线
  11.             
  12.             if (Left_zhangai_find_count<255) //防溢出
  13.                 Left_zhangai_find_count ++;
  14.             if (Left_zhangai_find_count >= 3)// && Zhangai_find != 6)//上一次 不是 左右障碍
  15.                 Zhangai_find = 1;
  16.             
  17.         }
复制代码


以上搜索出障碍的边,
以下按照边线比例计算中线,
  1. /***********************************************************
  2. *  * 函数名称  GetCenterLine_ByRat
  3. *  * 参    数  :
  4. *  * 功    能
  5. *    * 日     期    :2017/5/1
  6. *    * 作    者    :水滴
  7. ************************************************************/
  8. void GetCenterLine_ByRat(uint8* LeftLineY,uint8* LeftLineX,uint8* RightLineY,uint8* RightLineX,uint8* CenterLineY,uint8* CenterLineX,uint8* LeftLineDot,uint8* RightLineDot,uint8* CenterLineDot)
  9. {
  10.     double Rat;//边线比
  11.     static uint8 Dot=0;
  12.     if (*LeftLineDot>*RightLineDot)
  13.     {
  14.         Rat=(*LeftLineDot)/(*RightLineDot);
  15.         for (Dot=1;Dot<=*RightLineDot;Dot++)
  16.         {
  17.             CenterLineY[Dot]=(uint8)(((RightLineY[Dot]+LeftLineY[(uint8)(Dot*Rat+0.5)])/2)+0.5);
  18.             CenterLineX[Dot]=(uint8)(((RightLineX[Dot]+LeftLineX[(uint8)(Dot*Rat+0.5)])/2)+0.5);
  19.         }
  20.         *CenterLineDot=*RightLineDot;
  21.     }
  22.     else
  23.     {
  24.         Rat=(*RightLineDot)/(*LeftLineDot);
  25.         for (Dot=1;Dot<=*LeftLineDot;Dot++)
  26.         {
  27.             CenterLineY[Dot]=(uint8)(((LeftLineY[Dot]+RightLineY[(uint8)(Dot*Rat+0.5)])/2)+0.5);
  28.             CenterLineX[Dot]=(uint8)(((LeftLineX[Dot]+RightLineX[(uint8)(Dot*Rat+0.5)])/2)+0.5);
  29.         }
  30.         *CenterLineDot=*LeftLineDot;
  31.     }
  32. }
复制代码



好,现在成功识别了障碍并打角,而且打角的偏差是通过障碍的一个比较真实的偏差。

好,问题来了,进入障碍之后呢?已经无法使用前面说的特征判断障碍了,所以干脆直接延时过就好了额,
问题是延时的偏差怎么来?我觉得对于三米的直立可以不用处理这部分,毕竟晃一下就过去了,奈何是渣渣小车,
还得处理,我处理的方法如下:
进入障碍之后,如果前瞻已经出了障碍,那么此时将障碍的那边线向前补线到超过前瞻,
  1. if ((Distance_cm - zhangai_start_Distance_cm) < 80 && (sys_time - zhangai_start_time) < 600)//||障碍延时100ms
  2.     {
  3.          Zhangai_find_realtime = 1;
  4.          if (Zhangai_find == 1)//左障碍
  5.          {
  6.              if(LeftLineY[LeftLineDot - 1] > get_hang)//没到前瞻 补到前瞻    {                                                                                                                                                                                                                          
  7.                 if (LeftLineDot>13 )
  8.                 {
  9.                     float LKcof;
  10.                     uint8 LeftLineDot_temp = LeftLineDot-3;
  11.                     uint8 buxian_count = LeftLineY[LeftLineDot_temp] - get_hang;
  12.                     Line_Fit(LeftLineX,LeftLineY,LeftLineDot-12,LeftLineDot_temp,&LKcof );//最前端的点不用  可能不准
  13.                     
  14.                     if (LKcof < 0)
  15.                     {   
  16.                         uint8 i;
  17.                         for ( i = 1;i<buxian_count;i++)
  18.                         {
  19.                             LeftLineX[LeftLineDot_temp+i] = (int)(-1.0/LKcof*(i) + LeftLineX[LeftLineDot_temp] + 0.5);
  20.                             LeftLineY[LeftLineDot_temp+i] = (int)(LeftLineY[LeftLineDot_temp] - i);
  21.                         }
  22.                         LeftLineDot = LeftLineDot_temp+i - 1;
  23.                         
  24.                     }
  25.                     else if (LKcof == 0)//直着补
  26.                     {
  27.                         uint8 i;
  28.                         for ( i = 1;i<buxian_count;i++)
  29.                         {
  30.                             LeftLineX[LeftLineDot_temp+i] = (int)(LeftLineX[LeftLineDot_temp] );
  31.                             LeftLineY[LeftLineDot_temp+i] = (int)(LeftLineY[LeftLineDot_temp] - i);
  32.                         }
  33.                         LeftLineDot = LeftLineDot_temp+i - 1;                        
  34.                         
  35.                     }
  36.                 }
  37.                 else
  38.                     Zhangai_find_realtime = 0;//出障碍
  39.              }
  40.             
  41.          }
  42. }

复制代码

其中处理了一下斜率为0的情况,在拟合斜率时斜率小时截断误差大,拟合斜率时在斜率接近0时就已经认为斜率是0,
所以此时直接向正上方补线即可,以上代码的斜率大于零并没有计算,因为正常情况下障碍的一边只会向中间倾斜,
如果向外,那就应该是搜线错了,或者其他的问题。

这样基本能够完美出障碍了,不会因为偏差提前给到了赛道中央而使小车提前出障碍而压障碍!

最后再出障碍后的一段时间内把偏差平滑以下,避免抖动,或者直接加大D(陀螺仪方向D)。

至此障碍完美通过,对于卓大大说了障碍一边没有路肩,为了保险不压障碍,可以将偏差向外平移 n 个像素点;
毕竟如果计算的中线稍微有差,就可能撵上障碍。。。。除非你绝对自信


再就是起跑线,不想描述太多,直接刷代码了,比较简单,看看就能懂,
  1. uint8 get_V_Line = 0,find_V_Line = 0;
  2. float get_V_Line_Distance_cm = 0;
  3. uint32 get_V_Line_time = 0;
  4. /***********************************************************
  5. *  * 函数名称  :V_Line
  6. *  * 参    数  :
  7. *  * 功    能  :终点检测
  8. *    * 日     期    :2016/7/5
  9. *    * 作    者    :水滴
  10. ************************************************************/
  11. uint8 V_Line(uint8 V_hang, uint8 yuzhi)
  12. {
  13.      if (get_V_Line > 0 )//&& Zhangai_find_realtime == 0 && (Distance_cm - get_V_Line_Distance_cm) > 10)//延后没有障碍才停车        && Zhangai_find == 0         Car_Status != 9 &&
  14.      {
  15.          BELL_ON;
  16.          FenXi_Image();
  17.          
  18.      }
  19.      
  20. //     if( get_V_Line > 0  && (Distance_cm - get_V_Line_Distance_cm) > 100)
  21. //          FenXi_Image();
  22.      
  23.     //uint8 V_hang = 80;
  24.     if (CenterLineY[CenterLineDot - 5] < get_hang )//&& LeftLineY[LeftLineDot - 5] < get_hang && RightLineY[RightLineDot - 5] < get_hang)//线足够长 才判断
  25.     {
  26. //        uint8 LineDot_Min = 0;
  27. //        if (CenterLineDot < LeftLineDot)
  28. //             LineDot_Min = CenterLineDot;
  29. //        else
  30. //             LineDot_Min = LeftLineDot;
  31. //        
  32. //        if (RightLineDot < LineDot_Min)
  33. //            LineDot_Min = RightLineDot;
  34.         //以上找出最近 值
  35.         
  36. //        uint8 CenterLineX_Dot = 0,LeftLineX_Dot = 0,RightLineX_Dot = 0;
  37. //        for (uint8 Dot_temp = 5;Dot_temp < LineDot_Min;Dot_temp ++)//起跑线
  38. //        {
  39. //             if (CenterLineY[Dot_temp] == V_hang)
  40. //                 CenterLineX_Dot = CenterLineX[Dot_temp];
  41. //            
  42. //             if (LeftLineY[Dot_temp] == V_hang)
  43. //                 LeftLineX_Dot = LeftLineX[Dot_temp];
  44. //                 
  45. //             if (RightLineY[Dot_temp] == V_hang)
  46. //                 RightLineX_Dot = RightLineX[Dot_temp];
  47. //        }
  48.         
  49.         uint8 CenterLineX_Dot = 92;//简化 写法
  50. //        for (uint8 Dot_temp = 3;Dot_temp < CenterLineDot;Dot_temp ++)//起跑线
  51. //        {
  52. //             if (CenterLineY[Dot_temp] <= V_hang)
  53. //             {
  54. //                 CenterLineX_Dot = CenterLineX[Dot_temp];
  55. //                 break;
  56. //             }
  57. //        }
  58.         
  59.         
  60.         
  61. //        CenterLineX_Dot = 92;
  62.         
  63. //        uint8 Left_All_Dot = CenterLineX_Dot - LeftLineX_Dot;
  64. //        uint8 Right_All_Dot = RightLineX_Dot - CenterLineX_Dot;   
  65.         //if ( abs(Left_All_Dot - Right_All_Dot) < 5) //对称
  66.         {
  67.             uint8 get_Left_black_count = 0,get_Left_white_count = 0,get_Right_black_count = 0,get_Right_white_count = 0;
  68.             uint8 All_Dot_Min = 50;
  69. //            if (Left_All_Dot < Right_All_Dot)
  70. //                All_Dot_Min = Left_All_Dot;
  71. //            else
  72. //                All_Dot_Min = Right_All_Dot;
  73.                
  74.             for (uint8 i = 0;i < All_Dot_Min;i ++)
  75.             {   //向左搜索
  76.                 if (get_Left_black_count > get_Left_white_count)//上一次 搜到 黑
  77.                 {   //这次 搜 白  
  78.                     if (image[ V_hang ][ CenterLineX_Dot - i  - 2] - image[ V_hang ][ CenterLineX_Dot - i] > yuzhi)//黑 白
  79.                     {
  80.                         get_Left_white_count ++;
  81.                     }
  82.                 }
  83.                 else
  84.                 {   //这次 搜 黑
  85.                     if (image[ V_hang ][ CenterLineX_Dot - i] - image[ V_hang ][ CenterLineX_Dot - i  - 2] > yuzhi)//白 黑
  86.                     {
  87.                         get_Left_black_count ++;
  88.                     }
  89.                 }
  90.                
  91.                 //向右搜索
  92.                 if (get_Right_black_count > get_Right_white_count)//上一次 搜到 黑
  93.                 {   //这次 搜 白
  94.                     if (image[ V_hang ][ CenterLineX_Dot + i + 2] - image[ V_hang ][ CenterLineX_Dot + i] > yuzhi)//黑 白
  95.                     {
  96.                         get_Right_white_count ++;
  97.                     }
  98.                 }
  99.                 else
  100.                 {   //这次 搜 黑
  101.                     if (image[ V_hang ][ CenterLineX_Dot + i] - image[ V_hang ][ CenterLineX_Dot + i  + 2] > yuzhi)//白 黑
  102.                     {
  103.                         get_Right_black_count ++;
  104.                     }                                                
  105.                 }
  106.                      
  107.                 if (get_Left_white_count >= 2 && get_Right_white_count >= 2)
  108.                 {
  109.                     BELL_ON;
  110.                         
  111.                     get_V_Line_Distance_cm = Distance_cm;
  112.                        
  113.                     get_V_Line_time = sys_time;   
  114.                     
  115.                     
  116.                     if (Distance_cm > 2800)// CM
  117.                     {
  118.                         if (get_V_Line < 255)
  119.                             get_V_Line ++;

  120.                         //FenXi_Image();
  121.                     }
  122.                     
  123.                     return 0;
  124.                     
  125.                     break;
  126.                 }
  127.             }
  128.             
  129.         }
  130.         
  131.     }
  132.     return 1;
  133.   
  134. }
复制代码
开始我想的复杂了点,起始的条件比较高(看我注释掉的部分代码),但是对于智能车,简单粗暴就好了,要什么自行车。。。。
直接从中间往左右搜大概多少列就好了。。。。。。
因为我最后只在比较近端搜索起跑线,所以注释了前面的部分代码,如果要在较远处判断,为了减少误判,应该是要加上那一堆。。。
谁叫我不是双车呢。。。不然我会提前两米识别起跑线然后超车并排冲线的。。。。
吹牛逼了哈。

障碍部分代码都只给了一半,给大家一个思路而已。
实际测试障碍大概一米处检测到,然后开始拐,障碍之后慢回归正常中线。

再啰嗦一个起跑线的问题,有的人的搜线算法是从图像低端开始,这样如果起跑线正好在图像低端时要特殊处理,
保证搜线的正确。。。

再啰嗦一个,如果障碍在起跑线后,要能够忽略起跑线搜索到真的障碍,不然等你过了起跑线再搜到就GG了;
可以参考我障碍部分的代码,处理了这部分的问题。思想就是如果是起跑线误判障碍就继续往下搜索障碍就好了!


以上都是我自己胡说八道,万万不可全信,大神们就请默默路过求轻喷。。。

待我从北京回来之后更一些方向环相关的东西,主要涉及  模糊方向参数,前瞻,跳轮,等问题,






回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
4#
 楼主| 发表于 2017-7-15 20:06:49 | 只看该作者
占二楼,
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
5#
 楼主| 发表于 2017-7-15 20:07:06 | 只看该作者
占三楼,
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
6#
 楼主| 发表于 2017-7-15 20:07:17 | 只看该作者
占四楼,
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
7#
 楼主| 发表于 2017-7-15 20:07:24 | 只看该作者
本帖最后由 wuwenfu5 于 2017-7-15 20:09 编辑

占五楼,
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
8#
 楼主| 发表于 2017-7-15 20:07:50 | 只看该作者
本帖最后由 wuwenfu5 于 2017-7-15 20:10 编辑

占六楼,就占这么几楼,慢放干货
回复 支持 反对

使用道具 举报

3

主题

36

帖子

0

精华

金牌会员

筱懒兄

Rank: 6Rank: 6

积分
1449
威望
686
贡献
425
兑换币
445
注册时间
2016-11-23
在线时间
169 小时
毕业学校
霍格沃茨
9#
发表于 2017-7-15 21:50:39 | 只看该作者
福哥,Victory
回复 支持 反对

使用道具 举报

3

主题

38

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1404
QQ
威望
1039
贡献
295
兑换币
128
注册时间
2015-12-2
在线时间
35 小时
10#
 楼主| 发表于 2017-7-15 22:58:18 | 只看该作者

呃呃呃,先复习,回头再更

回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
322
威望
177
贡献
101
兑换币
105
注册时间
2016-11-21
在线时间
22 小时
毕业学校
中国计量大学
11#
发表于 2017-7-16 10:42:32 | 只看该作者
坡道怎么处理呀
回复 支持 反对

使用道具 举报

1

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
威望
218
贡献
163
兑换币
142
注册时间
2016-4-25
在线时间
44 小时
12#
发表于 2017-7-16 12:48:57 | 只看该作者
哎,真的很想交流交流直立车的机械结构问题,感觉强队的机械结构真的很棒
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 06:26 , Processed in 0.130645 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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