当前位置:首页 期刊杂志

自动导引车车载控制系统的研究与设计

时间:2024-07-28

王 冰 胡 彬 王春香 杨 明

(上海交通大学电信学院1,上海 200240;上海交通大学机器人研究所2,上海 200240)

0 引言

随着科学技术的飞速发展和经济的全球化,自动化的物流系统已成为现代化工厂企业不可缺少的重要部分。由于降低成本的压力一直贯穿于社会生产的整个物流搬运行业和制造业,所以制定具有成本效益的物流搬运解决方案成为生产企业的重要工作目标之一。自动导引车(automated guided vehicle,AGV)作为现代柔性制造系统中的关键设备,对整个产品的生产过程起着重要的作用。AGV具有适应性好、柔性程度高、可靠性好、可实现生产和搬运功能的集成化和自动化等优点。

当前国内AGV控制系统中大多采用基于单片机、可编程控制器(PLC)、嵌入式工控机等方案[1]。采用PLC的优点是稳定性较高、抗干扰性能好、对操作人员要求低;其缺点是在AGV控制上使用时,功能上存在局限性,对实现上层的一些复杂的路径规划或调度算法难度较大[2-3]。采用工业计算机则控制方案成本过高,系统稳定性不理想,而且由于AGV的不断振动等原因容易导致硬盘读取数据不稳定,造成整个AGV系统的宕机[4]。针对以上问题,本文研究并设计了一种面向柔性制造系统的AGV控制系统。该系统具有工作性能稳定、功能扩展方便、配置灵活等特点。

1 系统方案设计

系统的功能框图如图1所示。

图1 自动导引车功能框图Fig.1 Functional block diagram of AGV

AGV是用在柔性制造系统中的自动化设备。结合AGV的应用来看,柔性制造系统的主要特点包括:工作重复性高、环境外部干扰大、场地比较复杂、系统运行灵活等。

根据这些特点,设计的AGV控制系统包括以下子模块:电机驱动模块、电源管理模块、路径导航模块、里程定位模块、安全避障模块、无线通信模块和人机交互模块等。

2 控制系统硬件设计

根据上述AGV控制系统的设计方案,将系统硬件分为三个部分进行设计:①包含控制器的核心控制板;②外设接口板,外设传感器的信号连接到接口板上,经过光耦隔离后,送入到控制器的控制芯片上;③设定面板部分,主要进行一些控制指令的输入及操作。

2.1 核心控制板

AGV车载控制器主要功能接口图如图2所示。

图2 AGV车载控制器主要功能接口图Fig.2 The major functional interfaces of AGV onboard controller

核心控制板是整个系统的核心部分。本系统采用基于Freescale的数字控制器(digital signal controller,DSC)芯片进行车体算法设计和车体控制,芯片具体型号为MC56F8366[5];接着在此基础上进行外围电路的设计。核心控制模块包括了DSC的最小系统、I/O口扩展部分、存储器、CAN通信扩展接口和串行通信扩展接口等。

MC56F8366将DSP和MCU集成在一起,兼有DSP强大的运算能力和微控制器丰富灵活的片上外设模块,并且价格低廉、外设模块配置灵活。MC56F8366内置了多种模块接口,可适用于不同应用场合,如电源监测、内存扩展、电机控制、汽车电子等。由于DSC芯片内部的存储空间有限,而AGV运行所需的地图信息数据量比较大,所以扩展了1个存储芯片MR2A16A[6],用来存储地图信息和记录AGV运行日志等。

通信模块包括串口通信和CAN通信两个部分。系统开发时,串口通信可以用于系统调试;而系统运行时,串口通信又可以用于有线或无线方式的功能扩展。在本系统的配置中,串口与无线通信模块ZigBee相连。CAN通信模块采用 CTM8251AT将DSC芯片中的FlexCAN模块输出引脚的TTL逻辑电平转换为CAN总线的差分电平,并且具有2500 VDC的隔离功能。本系统中CAN模块与电机驱动器相连并进行通信。

DSC芯片MC56F8366虽然有144个引脚,但是去除存储芯片用到的16根地址线、16根数据线,以及DSC一些功能模块的引脚定义(如PWM、脉冲捕捉等),所剩的GPIO口不足10个。因此,采用MAX7301对I/O口进行扩展,芯片与DSC之间采用SPI接口方式。

2.2 外设接口板

为了保证控制芯片的安全,需要对传感器的输出信号进行隔离操作。考虑到本系统中传感器输出信号都是开关量,故可用光电隔离芯片PS2801-4[7]实现输入端与输出端的电气隔离。基于PS2801-4设计的8路信号隔离电路如图3所示。

图3 信号隔离电路原理图Fig.3 Principle diagram of the signal isolation circuit

2.3 设定面板

为便于在现场对AGV进行一些简单的设定和AGV的状态信息显示,如输入起点位置、输入目标站点信息等,设计了基于MAX6954[8]的人机交互设定面板。

设定面板包括状态显示和按键输入两个部分。其中显示界面采用七段数码管表征AGV当前的状态信息。数码管的驱动和按键的扫描统一由MAX6954完成。MAX6954与DSC通过SPI接口进行数据通信。基于MAX6954的设定面板电路原理图如图4所示。

图4 基于MAX6954的设定面板电路原理图Fig.4 Principle diagram of the setting panel circuit based on MAX6954

3 软件设计

AGV系统软件分为底层功能模块的驱动算法和AGV调度规划算法两个部分。这两部分的主要功能、结构框图和程序流程分别介绍如下。

3.1 底层驱动模块

底层功能模块的主要功能有路径识别及提取、电机伺服驱动器的控制等。磁导航传感器输出的是16路数字信号,其根据检测到的磁条信息的有无,分别返回0和1。假设第1个为0的信号为Dfirst,最后一个输出为0的信号为Dlast,则导引磁条中线位置Dmid的表达式为:

计算得到磁条中线的位置后,将中线位置数据发送给电机控制模块;电机控制模块将中线位置值与基准中点值进行比较,得到的差值即为运行偏差量ei,该值被用来进行电机差速控制。

AGV的电机驱动采用差速控制的方式,横向速度采用增量式PID算法控制。控制算法框图如图5所示。

图5 AGV横向控制结构框图Fig.5 AGV lateral control structure

差速控制量Δui的计算公式为:

式中:Kp为比例系数;Ki为积分常数;Kd为微分常数;ei为控制器的输入,即运行偏差量。

3.2 调度算法

AGV在柔性制造系统中运行,需要将现场的地图数据存储到内存中。地图数据以边为单位存储。地图的边结构信息定义如下[9]。

边结构中的结构成员type表示该条边的类型(有直道、左转弯和右转弯)。速度变量speed则是在该条边上行驶设置的基准速度,有三档(低速、中速和高速)可以选择。

整个AGV分布式控制的总流程说明如下。

①通过设定面板或者上位机的监控界面设定起点和终点。

②DSC芯片根据存储在Flash中的地图,搜索出一条起点到终点的最短路径,并将最短路径上的边保存在边集合中。

③按下启动键启动AGV后,AGV开始运行,且自动加载最短路径上第0条边的参数。

④AGV在沿着磁条前进的过程中,不断扫描识别里程地标,地标计数从1开始计数,每读到一个新的地标,地标计数加1。

⑤根据读到的地标个数,加载对应边的参数信息。若读到的地标个数等于最短路径上的节点总个数,则表示AGV到达终点,停止运行。

⑥AGV到达终点后,需要将地标计数清零,等待下一次的任务调度。

AGV控制程序流程如图6所示。

图6 AGV控制程序流程图Fig.6 Flowchart of AGV control program

4 试验

为了验证设计的硬件系统和软件算法,进行了相关试验。试验视频可以参考文献[10]给出的网址。在视频地图上,用户要求AGV从A点行驶到E点。从A点到E点有两条备选路径,分别是:14(A)->15->16->1- >2(F)- >3- >17- >18(C)- >19- >9-10(E)和14(A)->15->16->1->2(F)->3->4->5->6(D)->7->8->9-10(E)。输入起点和终点后,后台程序计算出一条最短路径。界面显示的最短路径为14(A)->15->16->1->2(F)->3->17->18(C)- >19- >9-10(E)。

按下启动键后,AGV开始启动,并且不断将AGV的状态信息发送到上位机和设定面板显示。最终AGV的走线与程序加载的路径一致,符合要求。

从视频中可以看到设定面板上四位数码管前两位显示的是本次行驶的目标站点E,后两位显示的是最近经过的节点号;在设定面板中还可以看到整个过程显示的节点号与最短路径上的节点号一致。

通过试验可以得出,本文设计的AGV控制系统硬件部分能采集识别信号,软件系统能根据起点和终点的输入计算最短路径,整个系统能正常工作[10]。

5 结束语

本文设计的AGV控制系统,采用MC56F8366作为主控芯片,实现了外设传感器信息的读取、导引线的位置计算,并根据用户设定,实现了AGV的调度规划;通过DSC芯片上的FlexCAN模块与伺服电机驱动器之间的CAN总线通信,实现了AGV的驱动电机的控制;通过ZigBee无线通信,实现了上位机对AGV的状态监控。

此外,本文在软件算法上设计了基于Dijkstra算法的调度规划算法,实现了起点到终点最短路径规划。实际试验验证了本文设计的系统硬件的可靠性和软件的可行性,系统能满足物流工厂的一般应用,对AGV的推广应用具有一定的价值。

[1]卢冬华.计算机控制自动导向小车(AGV)的设计与实现[D].上海:上海交通大学,2006.

[2]张晓朋.AGV开放式控制系统设计[D].西安:陕西科技大学,2009.

[3]王冰,张惠侨.自动导向车系统的规划设计[J].上海交通大学学报:自然科学报,2001,35(12):1793-1797.

[4]王起.论PLC、单片机、工控机在工业现场中的应用及选用方法[J].广西轻工业,2011(1):60-61.

[5]Freescale semiconductor.56F8366/56F8166 Datasheet[EB/OL].[2009-11-08].http://cache.freescale.com/files/dsp/doc/data_sheet/MC56F8366.pdf.

[6]Freescale semiconductor.MR2A16A MRAM Datasheet[EB/OL].[2007 - 11 - 20]. http://www. freescale. com/files/microcontrollers/doc/data_sheet/MR2A16A.pdf.

[7]Renesas electronics corporation.Photocoupler PS2801C-1,PS2801C-4 High Isolation Voltage S Photocoupler[EB/OL].[2009-02-15 ]. http://documentation. renesas. com/doc/YOUSYS/document/PN 10610EJ03V0DS.pdf.

[8]MAXIM semiconductor.MAX6954 Data Sheet[EB/OL].[2009-03-18].http://datasheets.maxim-ic.com/en/ds/MAX6954.pdf.

[9]DIJKSTRA EW.A note on two problems in connection with graphs[J].Numerische Mathematik,1959(1):269-271.

[10]胡彬.AGV 调度控制演示视频[EB/OL].[2012-02-01].http://v.youku.com/v_show/id_XMzQ4MjY3Mjky.html.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!