智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1311|回复: 1
打印 上一主题 下一主题

[摄像头] 摄像头转向算法

[复制链接]

27

主题

118

帖子

0

精华

高级会员

Rank: 4

积分
748
威望
429
贡献
145
兑换币
244
注册时间
2013-10-27
在线时间
87 小时
毕业学校
天津工业大学
跳转到指定楼层
1#
发表于 2014-7-10 23:33:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家直立车是怎么用的转向算法的,加权,直立车怎么加啊?加的云里雾里的
回复

使用道具 举报

1

主题

20

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1393
威望
703
贡献
410
兑换币
400
注册时间
2013-5-16
在线时间
140 小时
毕业学校
芜湖职业技术学院
2#
发表于 2014-7-11 07:18:18 | 只看该作者
#define DERICTION_CONTROL_PERIOD 1
int    error=0;
float  D_P=0;
float  D_D=0;
float  ERROR1=0;
float  fvalue_new=0;
float  fvalue_old=0;
float  Middle,Midlle;
float  g_fDirectionControlOut;
int    g_nDirectionControlPeriod;
float  g_fDirectionControolOld,g_fDirectionControolNew;
void Direction_Control(void)
{
  float fvalue,fDvalue;
for(i=IMAGE_H-1;i>1;i--)
{  
                 fvalue=center[i]-0;
  //ImageBuffer1[i][center[i]] = 100;  
}
  if(fvalue<0)  //zuo
   {
    D_P=0.25 ;//0
    D_D=1.8;//0
   }
  else          //you
   {
    D_P=0.10;//0
    D_D=1.8;// 0
   }
  g_fDirectionControolOld=g_fDirectionControolNew;
  ERROR1=fvalue - fvalue_old;
  if(ERROR1>15)   ERROR1 = 15;
  if(ERROR1<-15)  ERROR1 =-15;
  fDvalue=fvalue*D_P+ERROR1*D_D;
  fvalue_old=fvalue;
  g_fDirectionControolNew=fDvalue;
}
//////////////////////////////////////////////////////////////////////////////////////
void DirectinControlOutput(void)
{
  float fValue;
  fValue=g_fDirectionControolNew-g_fDirectionControolOld;
  MotorTurnPWM= fValue*(0+1)/DERICTION_CONTROL_PERIOD+g_fDirectionControolOld;
//printf("MotorTurnPWM:%d\r\n",MotorTurnPWM);
}
#endif
#if 1
void Send_Img(void)
{  
  uint8_t i,j;
        printf("%c", 0xFF);
        for(i=0;i<IMAGE_H;i++)
  {
          for(j=0;j<IMAGE_W;j++)
                printf("%c",ImageBuffer1[i][j]);
  }
}
#endif


回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 17:27 , Processed in 0.077598 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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