新闻中心

EEPW首页>电源与新能源>设计应用> 低成本光电寻迹智能车设计与实现

低成本光电寻迹智能车设计与实现

作者: 时间:2012-04-26 来源:网络 收藏

  if(P_Offset>5)P_Offset=5; //右偏最大偏离为5个单位

  将Err进行采样划分得到P_Offset变量,P_Offset取值为-5到5的整数,负数表示向左偏,正数表示向右偏,绝对值越大代表偏转角度越大;采样分辨率为可调参数P_err,P_err偏大时,小车反应会较为迟钝,P_err偏小时,小车反应会较为灵敏,容易出现很小偏差就会引起小车较大的转向。

  按照小车当前的位置以及P_Offset组织数据表Angle_Table[],该表共有27行11列,第n行m列元素j,表示小车位置Car_State为n-13偏差P_Offset为m-5时,j的值在-10到10之间,负值代表向左转,正值代表向右转,小车舵机应打的角度为jxAngle_C,可调参数Angle_C可以根据赛道状况舵机反应灵敏度等调节,其调节在调试程序中完成,其值愈大,同等情况下转角越大。

  舵机的控制就是通过查数据表Angle_Table来实现,而不是通过公式求解,这种方法比较适用于,通过检索表可以达到运算所达不到的系统速度。

  小车在交叉线时Car_State=20不更改舵机的控制;当小车的传感器打不到黑点,即将跑出赛道活着已经打到赛道外时Car_State=30或40,此时按照小车转的方向,将舵机设置为最大转角,以达到尽快找到赛道黑线的目的。

  舵机的输出PWM采用5 ms周期,与小车传感器采样的频率一致。

  4 试验结果及总结

  通过上述方法,小车取得了比较好的试验结果,在最小曲率半径不小于50 cm的赛道上,小车可以取得每秒2 m以上的速度。其速度比采用16位单片机的系统没有很大差异。要特别注意的是,运算时采用不同数据类型的变量将会带来不同的效果,经实验证明,如果可以使用字节存储类型的变量作双字节变量存储,将会严重影响小车的运行情况,这是由单片机编译环境进行数学运算引起的,应当尽量避免不恰当的变量定义及算数运算。

  相较于当前流行的16位单片机控制的双舵机智能车,该系统在硬件上成本较低,而软件也根据的特点,避开了较为复杂的运算,采用了查表的方式,只在小车位置及偏差运算以及速度P算法中涉及了少量的数学运算,以此达到系统的快速响应。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭