一种AGV控制系统及方法技术领域
本发明属于智能物流AGV领域,具体地,涉及一种AGV控制系统及方法。
背景技术
AGV(Automated Guided Vehicle)是一种自动导引运输车,是指装备有电磁或光
学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输
车。
随着近年人工成本的不断上涨,机器换人已经成为必然趋势,很多企业和高校对
AGV控制系统进行研究开发。目前,AGV控制系统主要分为两大类,一是PLC控制,优点是模块
化设计,扩展性强,缺点是成本高,需求变化时需要重新编写程序及调试,且各厂家的PLC控
制程序不能直接移植,具有局限性;二是采用ARM或DSP的方式,优点是成本低,缺点是功能
固化,扩展性差,不能适应复杂的环境要求和使用要求。目前的AGV控制系统没有形成统一
的标准和规范,且AGV控制系统中的电气部件接口和使用环境多样,导致系统千差万别,产
品质量参差不齐,不适合大批量生产。
中国公开的一项专利申请“基于总线控制方式的AGV控制系统”(专利公布号CN
102722174 A),虽是基于总线控制方式的AGV控制系统,但只是驱动器的接口采用总线接
口,属于局部的总线控制方式,具有很大的局限性。而AGV控制系统中包括多种接口形式,使
得产品配置千变万化,需要根据不同的用户需求和外部配件接口,修改源代码程序,导致产
品质量难以保证且不适合大批量生产。
发明内容
鉴于以上问题,本发明的目的是提供一种AGV控制系统及方法,以解决现有AGV控
制系统的标准化、兼容性、扩展性和稳定性的问题,实现控制系统的模块化、标准化及低成
本。
为了实现上述目的,本发明的一个方面提供一种AGV控制系统,包括:
主控模块、通讯总线以及功能模块,其中,功能模块均通过通讯总线与主控模块连
接,主控模块和功能模块通过通讯协议在通讯总线上进行信息传输和交互,主控模块对功
能模块进行配置,并且对通讯总线的状态进行监测。
优选的,所述AGV控制系统还包括:
人机接口模块,通过通讯总线与主控模块连接,主控模块通过人机接口模块对所
述功能模块进行配置并且对通讯总线的状态进行监测,并且,人机接口模块还对主控模块
进行配置。
优选的,功能模块包括手控模块、RFID读写模块、电能检测模块、避障模块、IO模
块、语音模块、驱动模块和磁导航模块中的一个或多个。
优选的,所述主控模块包括:
参数初始化子模块,用于对功能模块的参数进行初始化处理;
总线通讯子模块,与参数初始化子模块连接,用于检查通讯总线上功能模块的状
态、刷新输入和控制输出,与功能模块通过通讯总线进行信息交互,并配置功能模块的参
数;以及
定时器子模块,与参数初始化子模块连接,用于设定基于配置参数信息和最新的
输入状态,进行逻辑分析和处理,并更新输出的时间间隔。
进一步地,优选的,所述主控模块还包括:
导航系统接口,与参数初始化子模块和导航系统连接,用于在非磁导航模式下与
导航方式的信息交互,当选择不同的导航模式时,调用不同的软件协议和配置文件,根据软
件协议进行数据解析,刷新数据并处理,根据需要反馈AGV车体的相关信息;以及
调度系统接口,与参数初始化子模块和调度系统连接,用于在所述AGV系统在线控
制模式下与调度系统进行信息交互,包括接收调度系统的指令和信息,刷新数据并处理,根
据需要反馈AGV车体的实时状态和报警信息。
优选的,所述主控模块还包括指示报警子模块,所述指示报警子模块用于在通讯
总线出现故障且无法修复时进行报警,并且总线通讯子模块包括CAN总线通讯子模块和
RS232总线通讯子模块。
优选的,所述参数包括车体参数、控制器参数、导航模式及避障方式的一种或多
种。
本发明的另一方面提供一种基于上述AGV控制系统的控制方法,其中,所述主控模
块的控制方法包括以下步骤:
首先,通过参数初始化子模块初始化功能模块的参数;
然后,通过总线通讯子模块检查通讯总线上功能模块的状态,刷新输入并控制输
出;
并行地,通过定时器子模块每间隔设定时间,根据参数信息变化和设定参数刷新
输出。
优选的,所述控制方法还包括:
在非磁导航模式下,通过导航系统接口与导航方式进行信息交互,当选择不同的
导航模式时,调用不同的软件协议和配置文件,根据软件协议进行数据解析,刷新数据并处
理,根据需要反馈AGV车体的相关信息;
并行地,在所述AGV控制系统在线控制模式下,通过调度系统接口与调度系统进行
信息交互,包括接收调度系统的指令和信息,刷新数据并处理,根据需要反馈AGV车体的实
时状态和报警信息。
优选的,通过参数初始化子模块初始化所述功能模块的参数的步骤包括:
首先,确认参数是否已经配置完成,若配置未完成,则主控模块进入调试模式,等
待参数配置,若配置完成,则读取参数信息,检查配置是否合理,若配置不合理,则显示故障
代码,若配置合理,则完成参数初始化。
本发明的技术效果:
将AGV控制系统的所有功能模块均通过通讯总线连接,具有参数设置功能,根据不
同的系统需求进行调整配置,根据系统需求增减模块,自由裁剪系统,满足多种导航方式、
多种车型、多种避障模式、多种驱动器类型和多种控制模式的使用要求,降低了设计人员的
工作量和供货周期,提高控制系统的稳定性,降低成本,且适合大批量生产。
本发明所述AGV控制系统具有模块化、标准化和低成本的特点,具有良好的兼容
性、扩展性和稳定性。
附图说明
图1是本发明AGV控制系统结构框图;
图2是本发明所述主控模块优选实施例的结构框图;
图3是本发明所述主控模块优选实施例的流程示意图;
图4是本发明所述参数初始化子模块的流程示意图;
图5是本发明中通讯总线的数据结构。
具体实施方式
下面将参考附图来描述本发明所述的实施例。本领域的普通技术人员可以认识
到,在不偏离本发明的精神和范围的情况下,可以用各种不同的方式或其组合对所描述的
实施例进行修正。因此,附图和描述在本质上是说明性的,而不是用于限制权利要求的保护
范围。
下面结合附图来详细说明本实施例,以便于本发明更加清楚和易于理解。
如图1所示,本发明所述AGV控制系统,包括:主控模块、通讯总线以及功能模块,其
中,功能模块均通过通讯总线与主控模块连接,主控模块以及功能模块通过通讯协议在通
讯总线上进行信息传输和交互,主控模块对功能模块的相关参数进行配置,并对通讯总线
的状态进行监测。
优选地,功能模块可包括:手控模块、RFID读写模块、电能检测模块、避障模块、IO
模块、语音模块、驱动模块和磁导航模块的一个或多个。各个功能模块采用统一的标准接口
设计,各个功能模块的数量根据用户的实际需求增减,同一个功能模块的数量不超过4个,
满足AGV控制系统的最大使用要求。
为保证各模块之间信息的有效传输,制定一套AGV控制系统的通讯协议,使各功能
模块可通过通讯协议在通讯总线上进行信息传输和交互。
通讯协议将所有可能使用的设备按优先级和使用频度分配固定的地址区间和设
备属性。通过编制应用层的协议,预分配地址,对每类数据包的优先级进行设计和排序,保
证高优先级的数据优先传输优先响应,低优先级的数据在一定时间内有效传输、响应。每个
数据包都能够包含发出设备地址、接收设备地址、接收设备的属性以及相关的数据信息;使
用人员通过配置软件(或人机接口)对控制模块参数进行配置就能够进行多导航方式、多车
体形式、多避障方式、多驱动器类型、多控制模式的车体进行控制,并且根据控制功能的要
求对各功能模块进行不定量的配置,进行系统的自由裁剪的全兼容控制。
其中,优选地,通讯总线的数据结构采用标准数据帧,如图5所示,数据帧中包括发
出设备地址、接收设备地址、接收设备属性、命令、数据字节以及校验等内容。数据字节有8
个,其中,第1个字节表示目标设备的地址,第2个字节表示目标设备属性,第3个字节表示指
令类型,第4~7个字节表示数据内容,第8个字节表示校验结果。
正常情况下,各个模块可根据需要配置成主发或问询模式,主发模式不需要检测
总线上的数据,定时发送即可。问询模式的各个模块检查总线上的数据包,如果目标设备和
目标设备属性都能和本身对应上并且校验正确,即表明数据是发送给本模块的,然后按照
发出设备的地址和指令进行解析、反馈信息,否则不进行任何处理。
各个功能模块存在默认地址配置,各地址的功能存在基本定义,使得AGV控制系统
可根据项目需求调整配置,裁剪系统。
主控模块是整个系统的核心,控制芯片是32位ARM,如图2所示,主控模块包括:
参数初始化子模块,用于对设置的参数进行初始化处理;
总线通讯子模块(例如CAN(控制器局域网络)总线通讯子模块),与参数初始化子
模块连接,用于检查通讯总线上各功能模块的状态、刷新输入和控制输出,与各功能模块通
过通讯总线进行信息交互,并配置各模块的参数;以及
定时器子模块(例如看门狗子模块),与参数初始化子模块连接,用于设定基于AGV
控制系统的配置参数信息和最新的输入状态,进行逻辑分析和处理,并更新输出的时间间
隔。
优选地,主控模块还可进一步包括导航系统接口和调度系统接口。
其中,导航系统接口优选是标准的RS232接口,与参数初始化子模块和导航系统连
接,用于在非磁导航模式下与激光导航、惯性导航和视觉导航等导航方式的信息交互,当选
择不同的导航模式时,调用不同的软件协议和配置文件,根据软件协议进行数据解析,刷新
数据并处理,根据需要反馈AGV车体的相关信息;
调度系统接口优选是标准的wifi接口,与参数初始化子模块和调度系统连接,用
于在AGV系统在线控制模式下与调度系统进行信息交互,包括接收调度系统的指令和信息,
刷新数据并处理,根据需要反馈AGV车体的实时状态和报警信息。
主控模块还可包括CPU模块、数据存储模块、RS232总线通讯子模块和指示报警子
模块。其中,主控模块对通讯总线的状态进行监测,当通讯总线故障时,主控模块及时复位
修复通讯总线,复位修复三次仍不能解除故障时,报告通讯总线故障,停止AGV控制系统,并
由指示报警子模块通过声、光、语音等方式进行报警,还可以通过人机接口模块进行报警。
主控模块总线接口是双总线接口,一用一备。
人机接口模块,通过通讯总线与主控模块连接,主控模块可通过人机接口模块监
控通讯总线的所有数据信息,以及配置各功能模块的参数。人机接口模块的核心控制芯片
是32位ARM,采用触摸屏模式,支持RS232和CAN总线接口,可以监控通讯总线上的所有数据
信息,对各模块的相关参数信息进行设置和查询。其中,相关参数信息包括AGV控制系统的
配置参数,即车体类型参数、控制器参数、导航模式和避障方式的设置,以及控制模式、路径
参数、站点参数、调度信息、导航信息、上装操作等内容。其中,控制模式包括测试模式、手动
模式、离线模式和在线模式。人机接口模块根据控制功能的要求对功能模块进行不定量配
置,实现AGV控制系统的自由裁剪的全兼容控制。此外,人机接口模块可以提示AGV控制系统
的相关状态和报警信息。
主控模块可通过人机接口模块来主动查询并侦听与通讯总线连接的所有功能模
块的信息,并且可对功能模块进行配置。此外,人机接口模块还可对主控模块进行配置,而
人机接口模块参数不需要配置。
手控模块,通过通讯总线与主控模块连接,用于操作人员对车体直接控制,有按键
和摇杆两种手控盒,核心控制芯片采用32位ARM,支持RS232和CAN总线接口,按通讯协议上
传手控盒数据信息,同时有相关的状态指示。
RFID读写模块,用于搜索RFID站点并对AGV站点地址读写,核心控制芯片是32位
ARM,支持RS232和CAN总线接口。RFID读写模块通过通讯总线与主控模块连接,每间隔预先
设定的时间,通过通讯总线上报读取的站点信息至主控模块。
电能检测模块,通过通讯总线与主控模块连接,用于监控AGV控制系统中电池的剩
余电量和状态,核心控制芯片是32位ARM,支持RS232和CAN总线接口。其中,AGV控制系统中
电池可以是铅酸、锂、镍镉电池,电能检测模块检测的电池状态和剩余电量,包括单节电池
的过压、欠压报警,以及预估AGV的运行时间,并通过通讯总线将相关信息上报反馈至主控
模块。
避障模块,用于执行避障检测,核心控制芯片是32位ARM,支持RS232和CAN总线接
口。避障模块通过通讯总线与主控模块连接,可配置超声波、激光、安全触边等避障形式,调
用不同的处理程序,保证其最大兼容性,同时可以设置传感器的数量和报警距离的远近。
IO模块,用于扩展输入输出接口,核心控制芯片是32位ARM,支持RS232和CAN总线
接口。IO模块通过通讯总线与主控模块连接,具有16个输入接点、16个输出接点,预先定义
各端口的定义(也可在主控模块中更改配置),主要用于检测位置开关、磁地标传感器、继电
器、接触器状态,输出控制指示灯、蜂鸣器、继电器、接触器,外部装置的升降和启停信号等。
语音模块,通过通讯总线与主控模块连接,核心控制芯片是32位ARM,支持RS232和
CAN总线接口,可根据设定或录制的语音或音乐进行个性化播报。
驱动模块,用于驱动、控制电机,核心控制芯片是32位ARM,支持RS232和CAN总线接
口。驱动模块通过通讯总线与主控模块连接,可同时控制两台电机,配置的驱动器类型是
PWM控制、频率控制和模拟量控制中的一种。同时,驱动模块检测电机编码器的数值,用于闭
环控制并且反馈给主控模块用于位置计算。
磁导航模块,通过通讯总线与主控模块连接,核心控制芯片是32位ARM,支持RS232
和CAN总线接口。在磁导航模块内部设置16个检测磁场强度的传感器,以排除地磁场的影
响。当磁场强度大于预定数值时,则认为该点下方存在磁性物质,通过16个传感器检测到的
磁场强度的数值,得出检测区域的磁场分布情况,进而得出磁性物质的位置,通过通讯总线
接口将检测结果反馈至主控模块,主控模块根据偏移量,控制车轮运动,以达到纠偏的目
的。
优选地,基于上述AGV控制系统的控制方法中,主控模块的控制方法包括以下步
骤:
首先,通过参数初始化子模块初始化功能模块的参数;
然后,通过总线通讯子模块检查通讯总线上功能模块的状态,刷新输入并控制输
出;
并行地,通过定时器子模块每间隔设定时间,根据参数信息变化和设定参数刷新
输出。
具体地,主控模块的工作流程如下:
首先,由参数初始化子模块对相关参数进行初始化处理,如图4所示,读取E2PROM
数据,确认参数是否已经配置完成,如果配置未完成,则主控模块处于调试模式,等待参数
配置,如果检测到参数配置完成,则由参数初始化子模块进行配置参数的初始化处理。读取
相关参数信息,首先读取车体类型参数信息,根据车体类型的参数信息,分别调用差速、舵
动和麦克纳姆的数学控制模型及相关程序文件,初始化相关控制参数,检查相关配置是否
合理,如果配置合理进入下一步,配置不合理则通过人机接口模块显示故障代码;读取避障
类型参数信息,根据避障类型的参数信息,分别调用红外、超声波和安全触边的相关控制程
序,初始化相关配置参数,并检查相关配置参数和状态是否合理,如果配置合理进入下一
步,配置不合理则通过人机接口模块显示故障代码;读取导航类型相关参数信息,根据导航
类型参数信息,判断有无导航以及导航方式,决定是否调用以及调用、初始化何种导航方式
协议,调用完成后进行一次接口测试,检查相关配置参数和状态是否合理,如果测试成功则
进入主循环,不成功则通过人机接口模块显示故障代码;主控模块的参数初始化完成之后,
AGV控制系统开始正常运行。
如图3所示,主控模块完成参数初始化,并调用相关配置文件,定时器子模块每
50MS执行一次定时执行程序,到达定时时间之后,定时器子模块基于AGV控制系统的配置并
根据最新的输入状态,进行逻辑分析并处理,根据信息变化和设定参数刷新输出;由总线通
讯子模块检查与通讯总线连接的所有设备的状态,刷新输入,根据输入信息属性处理,并根
据情况反馈数据和刷新输出;优选地,基于AGV控制系统的控制方法中,主控模块的控制方
法还可进一步包括:在非磁导航模式下,主控模块通过导航系统接口与“激光导航”、“惯性
导航”和“视觉导航”等导航方式进行信息交互,接收新数据,刷新数据并处理,反馈AGV控制
系统相关信息至主控模块;在“在线控制”模式下,主控模块通过调度系统接口与调度系统
进行信息交互,接收新数据,刷新数据并处理,根据需要反馈AGV控制系统相关信息至主控
模块。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人
员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、
等同替换、改进等,均应包含在本发明的保护范围之内。