APP下载

企业定制路线下搬运车自动驾驶

2018-02-28赵珍珠刘妍希刘有为叶刘欣李嘉懿

电子技术与软件工程 2018年21期

赵珍珠 刘妍希 刘有为 叶刘欣 李嘉懿

摘要

在当今,企业对智能搬运车需求很强烈。全自动智能车在企业运输货物不但能够降低人类因货物运输时发生意外而受到伤害,而且能够大大地缩减企业雇人的开支、提高企业运作效率。考虑到智能货车的巨大市场需求和实际效益,此课题的研究非常重要。本论文主要研究了基于STM32F103ZET6-ARM微处理器的智能搬运小车的自动控制、避障以及定制路线翻译系统。我们致力于完善智能货车的性能,使其能够尽快投入生产。

【关键词】微处理器 智能车 路线翻译 物流搬运车

20世纪90年代开始智能车辆的研究开始进入大规模阶段,其设计内容涵盖机械、汽车、电子、自动控制、计算机、传感技术等多个学科的知识领域,作为一门新兴的综合技术,可广泛的应用于工厂自动料车、固定场地搬运车等技术领域,具有良好的应用前景。目前,随着我国现代工业快速发展,工业物资运输需要提升自身的自动化、智能化程度,迅速跟上我国智能制造的步伐。实时采集传感器信号,智能分析外部环境、路径信息,自动实现方向控制及速度调节,是智能车控制系统的主要特点,它也可应用于复杂、恶劣的工作环境,是物流系统环节搬运设备的代表。因此,针对智能搬运车巨大的市场需求以及企业需要的低成本高效率,开发一种智能设备实现替代人员去完成货物运输任务具有十分重要的意义。本文阐释自主开发一款适用于厂区环境的搬运智能车模型样车,在预设定路线的基础上完成对障碍物的自动躲避。分别从硬件和软件两方面介绍智能车的设计思路以及做出的改进。在模块化设计的思想下,把系统分解成多个功能模块。最后进行小车运行中的避障仿真和测试,使得智能小车设计符合要求。

本文介绍了智能小车的各个模块设计,重点介绍研发一款翻译软件,它能把企业所需路线的表述自动转化为可以直接控制小车的编程语言。通过把常用的智能车运行方式的文字语言对应的编程语言归纳汇总,使得智能搬运小车适应各种企业物流路线,使智能搬运车的使用能够更简洁方便,也为之后智能车的研发提供一种新思路。

1 智能循迹小车设计方案

小车控制系统的组成部分主要包括主微控制器、红外避障模块、720P高清摄像头模块、电源模块以及动力驱动模块,该系统结构如图1所示,主控芯片采用STM32F103ZET6-ARM单片机,将所得的红外信号和图像信息分析处理后将对应的PWM波传送至左右电机,若左右电机转速相同,则实现智能车前进,反之转速不相同时,根据差速原理实现绕点转向。本文详细介绍了路径信息采集模块的方案选取和电路设计原理,以及系统调试方法策略。以STM32F103ZET6最小系统板作为整个系统处理信息和控制命令的核心,通过将定制路线以文字形式输入经过我们自主研发的翻译软件转化为控制器能够理解的机器语言,结合红外传感器实现避障等功能。

2 智能搬运小车硬件平台设计

2.1 核心控制模块设计

为使本次对智能搬运小车在循迹、避障等功能上的研究能够顺利进行,使智能搬运小车在实际运用中能够稳定、准确地完成物流搬运任务;本设计采用32位微处理器STM32F103ZET6-ARM单片机作为核心控制芯片。STM32F103系列是以arm32位的cortex-M3作为内核,存储器为64KB的SRAM,拥有串行调试(SWD)和JTAG接口两种模式,8个定时器,可实现PWM波形输出功能,48~144个通用及复用I/O端口,是一个高性能、功能强大的处理器。

设计过程中,选择将需要使用的I/O口引出端子,以便核心系统板与电机驱动模块、摄像头模块、循迹模块以及避障模块等进行连接和测试。其核心控制器的原理图如图1所示。

2.2 电机驱动电路设计

电机驱动控制模块是为智能搬运小车提供动力的重要部件,直接控制电机的运行,驱动电路是否稳定可靠对智能搬运小车的性能影响很大。本文采用L298N电机驱动电路可以确保智能循迹小车持续稳定地行驶。本次研究中智能搬运小车采用直流电机驱动,四个马达独立驱动运行。驱动芯片使用L298N,L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装,其主要特点是:工作电压高,最高工作电压可达46V,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W;集成双H桥驱动器,驱动直流电动机。实验中使用PWM软件调速,使小车按规定速度稳定行驶。

2.3 红外避障模块设计

为保证智能搬运小车的安全性,本次对智能搬运车的研究中加入了避障模块。两个红外避障传感器安装在小车的前方左右两端,使智能搬运小车能够及时检测到前方一定距离内的障碍物,并发出信号通知核心控制中心进行避障处理。实验中采用HJ-IR2红外避障传感器,此传感器的主要优点是:灵敏、不怕光;能够保证小车在室外模式下及时检测到路障。此款传感器的基本原理是利用物体的反射性质。在一定范围内,若有障碍物,红外线遇到障碍物后会被反射,传感器接收头接收到反射回来的红外线,就可以确认正前方有障碍物,随即发送信号给单片机,单片机立刻进行避障处理。若无障碍物,发射出的红外线,随传播距离变远而逐渐减弱,传感器接收头接收不到强的红外线信号,小车正常行驶。

3 智能搬运小车控制语言与语言转化软件设计

设计一种小车控制语言,将人类理解的路线以适当形式描述后输入到小车的控制系统中,使小车能够理解人类的思想,并且根据指令沿特定路线完成任务。至于如何转化为适当形式,则需要一款翻译软件,将小车指令,即主要对特定路线的描述,翻译成小车能够理解的语言。

3.1 路线语言设计

根据实际路线的各个参数进行描述,如直行车道长度、路口转弯角度等,配合软件的使用,软件操作界面设想如图所示,设置好前行长度,如五米,点击向上箭头,即生成五米长的车道,再根据路口处小车行驶需要转弯的角度在半圆处设置好角度,再点击向左或向右的箭头,转弯即可生成,如此重复,根据实际需求用软件绘制出路线,再将略缩图与地图比较,确认无误后点击完成,即可生成该线路的代码。若是不小心點错,或者长度角度的设置出了问题,也不要紧,点击撤销便可重新进行上一步操作。该软件可根据小车芯片的型号将输入的路线翻译成相对应的语言,只要在一开始时选择对应的型号即可,路线绘制完成后生成的代码可直接复制粘贴,依照常规操作将代码烧录到小车当中,小车便可按照输入的路线自动行驶。

3.2 语言转化软件

如图2所示,该软件采用图像绘制的形式,将路线手动绘制在软件界面上,控制面板上的大部分按键都对应一段代码,标有“线路1”界面处,黄色箭头代表前进方向,前进或者转弯时附带有3D动画效果,可进行小幅度缩放,配合右上角略缩图可检查路线是否正确,红点代表所处位置,红点闪烁表达提示效果,点击完成操作界面左侧即生成对应的代码。每条线路可编号命名,也可以个性化自定义,多条线路可叠加生成地图,将小车放置于对应的起点,根据编号沿不同形状的路线行驶,起点终点位置不可颠倒,若需沿原路线返回,则需要把原来的终点当作起点,原来的起点变为终点,输入新的路线。

4 定制路线下自动驾驶智能车整机测试

4.1 硬件测试

测试方案如下:对于驱动电机模块。将STM32单片机两路的PWM输出接到L298N芯片脚,改变两路PWM波的占空比控制电机两端电压,调节直流电机转速,检测小车能否基本的正反转、制动等如表1所示功能。对于红外避障模块,通过可调电阻,将物体和传感器间距离调试为30CM后,接入单片机AD转换电路,烧写程序,检测小车是否能够完成精准避障。

4.2 软件调试

软件调试步骤如下:首先完成单片机输出PWM信号到驱动芯片的调试,因该程序可以直观地看到,并且在此基础上,即可方便验证其他模块的运行结构正确与否。此处,应反复模拟各种情况,改变各数据,以确保程序无偶然性。因后续程序量加大,对程序进行边加边调试的方法。最后检测语言转化软件能否正确编写出运行程序。在调试的过程中,结合软硬件联调,结合debug和仿真器调试,调试所有功能代码,并在硬件电路上进行验证工作。

4.3 综合测试

综合测试即为让小车按照软件设定好的路线上行驶,观测小车能否准确地接收任务,并自动完成指定任务,以及在行驶过程中,遇到障碍物时能否自动选择避开。此时,应特别关注小车行驶的稳定性,出现偏差后,可从小车的算法处理,红外傳感设定距离等方面进行修改,增强小车的稳定性。测试表明:该小车能够按照定制路线行驶。

5 结语

本文根据设计内容和市场需求,从硬件设计和软件设计出发,基于STM32F103微控制器设计了一款避障智能车,采用Keil Vision4平台进行开发,并利用C语言编写各功能模块子函数,加以调试,具有良好的实用性,且在此基础上可进一步开发,拓展性强。此款小车主要用于工厂等场合的货物搬运,配合机械手臂可大大提高工作效率。整个设计由主控程序融合各个子控程序,加以配合,互相辅助,实现了小车的前进、转弯和停止,并且配合传感器,使小车能够实现简单避障,在实际应用中能够产生良好效果。

参考文献

[1]莫太平,周园园,张云强.面向工业物流服务的智能车及循迹算法的研究[D],桂林电子科技大学,2017:146-151.

[2]缪璐婷.基于stm32的循迹避障智能车设计[D].江苏大学,2017:140-146.

[3]张堵明,王玮.智能搬运车控制系统研究[D].山东寿光,2016:253-260.

[4]王绍坤.基于ARM9的无线遥控车系统设计与实现[D].吉林大学,2011:3-4.

[5]严芳,李颖冲.基于的智能小车控制器设计[J].电气传动自动化,2009,31(05):12-15.