基于红外传感器的寻迹智能车的软件设计.docxVIP

基于红外传感器的寻迹智能车的软件设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于红外传感器的寻迹智能车的软件设计 0 自动行驶界面 智能车辆技术是一项新兴技术,整合了传感器、机器视觉、数据处理、自动控制等技术。本文以第四届飞思卡尔杯全国大学生智能汽车竞赛为背景, 依据大赛要求使智能车能够识别跑道并自动寻迹行驶, 正常、快速地跑完全程。 比赛跑道包括普通赛道和窄道区两部分。普通赛道宽度不小于60cm, 窄道区的宽度不小于45cm, 跑道的中心有宽25mm的连续黑线作为引导线。按要求智能车控制系统需以飞思卡尔公司的16位单片机MC9S12XS128为核心, 采用大电流、脉冲发射的红外传感器检测引导线, 通过对传感器数据的采集和处理, 控制舵机以实现前轮转向, 控制电机以实现后轮驱动, 最终实现智能车快速地自动寻迹行驶。 1 自动寻线识别 控制系统设计的主要目标是, 在智能车行驶中控制好舵机摆角和电机转速, 同时完成对各种标志线和特殊路况的识别, 在遇到传感器盲点时能自动找正, 使智能车能以最合适的速度自主寻线。为此, 在MC9S12XS128单片机上需实现的系统功能如图1所示。为实现这些功能, 软硬件设计必须包括传感器数据采集和处理、舵机控制方案及其实现、电机控制方案及其实现等三个方面。 1.1 速度检测模块设计 传感器采集模块包括路径检测模块和速度检测模块两部分。路径检测模块由一字型均匀分布的14路光电传感器组成, 安装在智能车的前部, 每路传感器包括光电发射管和红外接收管。为了提高智能车的前瞻, 传感器采用了大功率的红外发射管。为防止大电流对稳压电源芯片的冲击, 在软件设计中对各路传感器的分时工作加以控制, 降低总功耗。此部分软件所需解决的问题是:对采集到的14路光电信号, 采用合适方法处理后得到准确的偏移量, 并要有效排除十字线、起始线、黑三角等标志的干扰。 速度检测模块是一个E6A2型编码器, 安装在小车尾部, 后轮旋转时通过传动齿轮带动编码器一同旋转。编码器每转动一圈, 输出200个脉冲信号。该模块电路简单, 软件设计时需确定捕捉脉冲的方法 (采用定时/计数器或脉冲累加器) , 实现周期检测功能。 1.2 标准模式 舵机用来控制前轮转向, 采用的是futaba S3010标准舵机。如图2所示, 给定PWM信号, 舵机就会输出一固定转角。软件设计的难点在于如何根据智能车偏离黑线的情况计算出PWM的占空比, 使智能车能较好寻迹行驶。 1.3 直道快速、主各种操纵工况 智能车在弯道中行驶时, 由于受舵机响应时间和车模侧翻的影响, 智能车通过不同曲率的弯道时有不同的极限速度。合理的速度设定值对智能车的行驶尤为重要。实验发现, 对于同一套舵机控制方案和同样的中等难度跑道, 变速行驶的平均速度要比匀速行驶快0.5m/s以上。因此, 智能车在行驶过程中应实时调整速度设定值, 简单地说, 就是“直道快速、弯道慢速”的控制策略。 电机的驱动电路为自制H桥电路。如图3所示, 当OUTA输出高电平、OUTB输出低电平时, D3、D5导通, 电机正转;反之, 电机反转。OUTA、OUTB是受PWM5、PWM7控制的, 因此, 调节PWM5、PWM7的占空比, 就可以实现智能车的加减速。 2 数据收集和处理 2.1 路传感器路径偏移量digact 路径检测传感器的基本电路如图4所示。每路传感器由两个红外发射管和一个红外接收管组成, 发射管与三极管串联, 受单片机的普通I/O口控制。接收管与大电阻串联, 当照射在白板和黑线上时, 接收管接收的反射光线光强不同, 导通程度不同, 电阻两端的电压值也就不同。单片机可根据各路传感器返回的电压值大小判断其是否处于黑线上。 每路传感器的特性有差异, 需要标定, 即测定每路传感器采集值的最大值和最小值。然后进行归一化处理, 得到各路传感器处于黑线之上的程度值。计算方法如公式 (1) 所示。 percent[j]=AD_Data[j]?MinAd[j]MaxAd[j]?MinAd[j],j∈[j]=AD_Data[j]-ΜinAd[j]ΜaxAd[j]-ΜinAd[j],j∈(1) 其中, MaxAd[j]为第j路传感器的标定上限值;MinAd[j]为标定下限值, AD_Data[j]为当前的测量值;percent[j]为该路传感器的归一化值, 范围是0~100, 100表示完全处于黑线上。 在完成了各路传感器的路径信息采集后, 需要对14路信息进行全局判断和处理, 以获得当前的路径偏移量信息。提取路径偏移量的整体思路为:将14路传感器的测量读数 (已经经过归一化处理) 存入一个全局数组percent中, 遍历数组并找到percent值最大的光电管, 再找到它旁边的两个光电管, 利用三个管子的percent值和权重值来计算出黑线的准确位置, 具体公式为: distance=percen

文档评论(0)

hzyacc + 关注
实名认证
文档贡献者

专业的文档设计与制作

1亿VIP精品文档

相关文档