AGV小车通讯方法及系统转让专利

申请号 : CN201810557619.0

文献号 : CN109040005B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 颜炳姜林一松王敏

申请人 : 汇专科技集团股份有限公司

摘要 :

本发明公开了AGV小车通讯方法及系统,方法包括:根据采集的信号模拟量,生成磁条的位置偏移量参数;对位置偏移量参数进行封装,得到通讯帧;采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块;系统包括生成模块、封装模块、解析模块和控制模块。本发明通过X86模块对通讯帧进行解析处理,提高了AGV小车的智能化程度;另外,本发明降低了数据传输的时延,还提高了通讯过程中的保密程度,破译难度大,安全性高,可广泛应用于运输工具智能控制领域。

权利要求 :

1.AGV小车通讯方法,其特征在于:包括以下步骤:根据采集的信号模拟量,生成磁条的位置偏移量参数;

对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;

采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;

将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。

2.根据权利要求1所述的AGV小车通讯方法,其特征在于:所述通讯帧中和校验的计算方法包括以下步骤:将帧头的字节数、帧号的字节数和数据帧的字节数进行累加;

对累加结果低8位的二进制数值进行一致性处理,得到和校验。

3.根据权利要求1所述的AGV小车通讯方法,其特征在于:所述通讯帧中帧号的字节个数灵活可调。

4.根据权利要求1所述的AGV小车通讯方法,其特征在于:所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤,包括以下步骤:通过X86模块判断解析结果是否满足设定条件,若是,则将解析结果发送到ARM模块并执行下一步骤;反之,则不做处理;

ARM模块根据解析结果,获取GPIO接口的引脚状态;

将GPIO接口的引脚状态转换成数据帧;

采用应答式通讯协议将数据帧封装到通讯帧;

采用TTL串口的通讯方式将通讯帧反馈至X86模块。

5.根据权利要求4所述的AGV小车通讯方法,其特征在于:所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤中,X86模块与ARM模块之间采用TTL串口的通讯方式进行数据通讯。

6.根据权利要求1所述的AGV小车通讯方法,其特征在于:还包括以下步骤:对触摸屏和遥控器上的输入信号进行封装,并将封装得到的通讯帧传输到X86模块进行解析。

7.根据权利要求1所述的AGV小车通讯方法,其特征在于:还包括ARM模块将底层控制信号发送到驱动器的步骤。

8.根据权利要求1所述的AGV小车通讯方法,其特征在于:还包括后台服务器通过局域网将AGV小车调度算法发送至X86模块的步骤。

9.AGV小车通讯系统,其特征在于:包括:生成模块,用于根据采集的信号模拟量,生成磁条的位置偏移量参数;

封装模块,用于对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;

解析模块,用于采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;

控制模块,用于将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。

10.AGV小车通讯系统,其特征在于:包括:存储器,用于存储程序;

处理器,用于加载程序,以执行如权利要求1-8所述的AGV小车通讯方法。

说明书 :

AGV小车通讯方法及系统

技术领域

[0001] 本发明涉及运输工具智能控制领域,尤其是AGV小车通讯方法及系统。

背景技术

[0002] 随着B2C电商行业的快速发展,物流仓储成为各行业扩张的瓶颈因素。像国内的大型电商无不下重金研发新一代现代化仓库,但是大部分仓储行业的投资资金都花在了整捡、分流等环节中。在最影响仓库效率的零捡工序中,仍然使用人动货不动的传统人力方式,因此具有自由路径引导的AGV小车恰好是解决该问题的有效方法。AGV是无人搬运车(Automated Guided Vehicle)的英文缩写,是指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车。
[0003] 目前的AGV小车通过ARM芯片对小车终端进行底层控制,而现有的ARM芯片无法处理较高复杂度且高耗能的调度算法,智能化程度不够高。而X86架构作为一种可变指令长度的复杂指令集计算机,能够处理较高复杂度且高耗能的调度算法。但是现有X86芯片只能通过CAN与ARM进行数据通讯,而CAN的通讯方式存在延时高且易被截获的缺点,不够安全。

发明内容

[0004] 为解决上述技术问题,本发明的目的在于:提供一种智能化程度高、延时低且安全性高的AGV小车通讯方法及系统。
[0005] 本发明所采取的第一技术方案是:
[0006] AGV小车通讯方法,包括以下步骤:
[0007] 根据采集的信号模拟量,生成磁条的位置偏移量参数;
[0008] 对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;
[0009] 采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;
[0010] 将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。
[0011] 进一步,所述通讯帧中和校验的计算方法包括以下步骤:
[0012] 将帧头的字节数、帧号的字节数和数据帧的字节数进行累加;
[0013] 对累加结果低8位的二进制数值进行一致性处理,得到和校验。
[0014] 进一步,所述通讯帧中帧号的字节个数灵活可调。
[0015] 进一步,所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤,包括以下步骤:
[0016] 通过X86模块判断解析结果是否满足设定条件,若是,则将解析结果发送到ARM模块并执行下一步骤;反之,则不做处理;
[0017] ARM模块根据解析结果,获取GPIO接口的引脚状态;
[0018] 将GPIO接口的引脚状态转换成数据帧;
[0019] 采用应答式通讯协议将数据帧封装到通讯帧;
[0020] 采用TTL串口的通讯方式将通讯帧反馈至X86模块。
[0021] 进一步,所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤中,X86模块与ARM模块之间采用TTL串口的通讯方式进行数据通讯。
[0022] 进一步,还包括以下步骤:
[0023] 对触摸屏和遥控器上的输入信号进行封装,并将封装得到的通讯帧传输到X86模块进行解析。
[0024] 进一步,还包括ARM模块将底层控制信号发送到驱动器的步骤。
[0025] 进一步,还包括后台服务器通过局域网将AGV小车调度算法发送至X86模块的步骤。
[0026] 本发明所采取的第二技术方案是:
[0027] AGV小车通讯系统,包括:
[0028] 生成模块,用于根据采集的信号模拟量,生成磁条的位置偏移量参数;
[0029] 封装模块,用于对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;
[0030] 解析模块,用于采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;
[0031] 控制模块,用于将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。
[0032] 本发明所采取的第三技术方案是:
[0033] AGV小车通讯系统,包括:
[0034] 存储器,用于存储程序;
[0035] 处理器,用于加载程序,以执行如第一技术方案所述的AGV小车通讯方法。
[0036] 本发明的有益效果是:本发明在AGV小车通讯过程中增设了X86模块,通过X86模块对通讯帧进行解析处理,能够处理较高复杂度且高耗能的调度算法,提高了AGV小车的智能化程度;再者,本发明采用采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种进行传输,相较于CAN的通讯方式,降低了数据传输的时延,提高了实时性;另外,本发明基于数据封装后得到的通讯帧进行数据通讯,大大提高了通讯过程中的保密程度,破译难度大,安全性高。

附图说明

[0037] 图1为本发明的AGV小车通讯方法的步骤流程图;
[0038] 图2为本发明的通讯帧的结构示意图。

具体实施方式

[0039] 下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0040] 参照图1,本发明的AGV小车通讯方法,包括以下步骤:
[0041] 根据采集的信号模拟量,生成磁条的位置偏移量参数;
[0042] 对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;
[0043] 采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;
[0044] 将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。
[0045] 如图2所示,本发明的通讯帧包括:帧头、帧号、数据帧(如图2所示的Data1、DataN等)、和校验以及帧尾。
[0046] 进一步作为优选的实施方式,所述通讯帧中和校验的计算方法包括以下步骤:
[0047] 将帧头的字节数、帧号的字节数和数据帧的字节数进行累加;
[0048] 对累加结果低8位的二进制数值进行一致性处理,得到和校验。
[0049] 进一步作为优选的实施方式,所述通讯帧中帧号的字节个数灵活可调。
[0050] 其中,对于通讯帧中的帧号,其可以是1个字节,也可以是2个或3个字节。若帧号只有1个字节,那么帧号有256种情况,每一种情况都可对应一个指令(例如:帧号为0x01对应读取输入输出状态指令;帧号为0x02对应控制驱动器指令;帧号为0x03对应读取当前转速指令帧等);若帧号由两个字节组成,那么帧号有256×256=65536种情况,而且每种情况都可定义对应帧的类型以及后面数据帧的解析方法,大大提高了通讯的保密性。
[0051] 进一步作为优选的实施方式,所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤,包括以下步骤:
[0052] 通过X86模块判断解析结果是否满足设定条件,若是,则将解析结果发送到ARM模块并执行下一步骤;反之,则不做处理;
[0053] ARM模块根据解析结果,获取GPIO接口的引脚状态;
[0054] 将GPIO接口的引脚状态转换成数据帧;
[0055] 采用应答式通讯协议将数据帧封装到通讯帧;
[0056] 采用TTL串口的通讯方式将通讯帧反馈至X86模块。
[0057] 进一步作为优选的实施方式,所述将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块这一步骤中,X86模块与ARM模块之间采用TTL串口的通讯方式进行数据通讯。
[0058] 进一步作为优选的实施方式,还包括以下步骤:
[0059] 对触摸屏和遥控器上的输入信号进行封装,并将封装得到的通讯帧传输到X86模块进行解析。
[0060] 进一步作为优选的实施方式,还包括ARM模块将底层控制信号发送到驱动器的步骤。
[0061] 进一步作为优选的实施方式,还包括后台服务器通过局域网将AGV小车调度算法发送至X86模块的步骤。
[0062] 与图1的方法相对应,本发明的AGV小车通讯系统,包括:
[0063] 生成模块,用于根据采集的信号模拟量,生成磁条的位置偏移量参数;
[0064] 封装模块,用于对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;
[0065] 解析模块,用于采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;
[0066] 控制模块,用于将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。
[0067] 与图1的方法相对应,本发明的AGV小车通讯系统,包括:
[0068] 存储器,用于存储程序;
[0069] 处理器,用于加载程序,以执行本发明的AGV小车通讯方法。
[0070] 参照图2,下面选取DIDO帧作为通讯帧,详细介绍本发明AGV小车通讯方法的具体步骤流程:
[0071] S1、根据采集的信号模拟量,生成磁条的位置偏移量参数;本发明采用磁导航传感器进行信号采集。
[0072] S2、对位置偏移量参数进行封装,得到通讯帧;其中,所述通讯帧的格式为:帧头+帧号+数据帧+和校验+帧尾;
[0073] 其中,本发明的应答式通讯协议可适用于整个AGV小车的所有模块之间的数据通讯。本发明的应答式通讯协议可由开发人员自由定义,具有非常强的灵活性。本发明的通讯帧具有帧头,帧号,和校验以及帧尾,这些固定格式也可由开发人员自由定义,具有非常强的灵活性和保密性。
[0074] S3、采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种,将封装得到的通讯帧传输到X86模块进行解析;
[0075] S4、将解析结果发送到ARM模块进行底层控制,并将底层控制结果反馈至X86模块。ARM模块获取了解析结果后,提取到位置偏移参数等数据,生成相应的控制信号,并将控制信号发送到驱动器以执行AGV小车的转向等命令。
[0076] 在X86模块与ARM模块之间众多的通讯帧里面,选取其中一条读DIDO帧;其中,DIDO是digital input digital out的简称,代表数字的输入输出。DIDO帧又分为读DIDO帧和写DIDO帧,写DIDO帧主要功能是:控制GPIO口的高低电平,进而控制外接在GPIO上的设备,最常见的是控制AGV小车上的车灯亮灭;读DIDO帧主要功能是:读取GPIO口的电平状态,进而了解外接在GPIO口上的设备状态,最常见的是AGV小车在定点停车之后,就会使用该通讯帧将定点停车信号发送到ARM模块。下面以X86模块与ARM模块之间的应答式通讯过程为例,详细介绍本发明的应答式通讯协议:
[0077] 例如:X86模块给ARM模块发送了下列通讯帧:0x02 0x0A 0x0C 0x0E;
[0078] 其中第一个字节0x02是帧头;第二个字节0x0A是帧号,帧号具有惟一性,有助于识别该帧为读DIDO帧;第三个字节0x0C为和校验,其计算方法为前面所有字节累加,然后去低8位,上述通讯帧实例的计算方法具体为:(0x02+0x0A)&0xFF=0x0C,该表达式的计算结果
0x0C即为和校验;第四个字节为0x0E,代表该通讯帧的帧尾,帧尾可由开发人员灵活调整,当ARM模块读取到帧尾的时候,代表该通讯帧已经读取完毕,接下来为下一个新的通讯帧。
只有ARM模块判断上面所有帧的条件都满足要求后,才确认收到了读DIDO帧,并执行相应的底层控制任务(比如控制小车运动等)。
[0079] 具体地:对于判断通讯帧是否满足要求(这个判断过程用来确保帧的准确性)这一步骤,本发明采用以下两种方法:
[0080] A、在每个通讯帧末尾规定一个结束标志符,例如将0x0d,0x0a作为结束标记符,当接收端收到这2个字节时,就确认该通讯帧接收完成;
[0081] B、采用空闲中断的方法来判断通讯帧是否接收完成。
[0082] 本发明可切换地使用A或B两种方式来判断通讯帧是否满足要求,相较于现有仅采用其中一种方式的判断方法,本发明的可适应性更高,能应对不同的应用场景,方便实用。
[0083] 在ARM芯片收到读DIDO帧后,会执行相应读取对应GPIO的引脚状态,并封装在字节data里面,再把字节data封装在通讯协议里面,再通过串口TTL发给X86芯片。
[0084] ARM模块执行完相应的控制任务后,需要发送新的通讯帧到X86模块来进行应答过程,以下列新的通讯帧为例:0x02 0x0A 0x01 0x0D 0x0D;
[0085] 其中第一个字节0x02是帧头;第二个字节0x0A是帧号;第三个字节0x01为数据帧,0x01的bit0为1,而bit1~7都为0,则可以判断GPIO1为高电平,GPIO2~GPIO8为低电平;第四个字节0x0D为和校验,计算公式为(0x02+0x0A+0x01)&0xFF=0x0D;第四个字节为0x0E,代表帧尾。
[0086] 综上所述,本发明的AGV小车通讯方法及系统具有以下优点:
[0087] 1)、本发明在AGV小车通讯过程中增设了X86模块,通过X86模块对通讯帧进行解析处理,能够处理较高复杂度且高耗能的调度算法,提高了AGV小车的智能化程度;
[0088] 2)、本发明采用采用RS232通讯方式、RS485通讯方式和TTL串口通讯方式中的至少一种进行传输,相较于CAN的通讯方式,降低了数据传输的时延,提高了实时性;
[0089] 3)、本发明基于数据封装后得到的通讯帧进行数据通讯,大大提高了通讯过程中的保密程度,破译难度大,安全性高;
[0090] 4)、本发明采用应答式通讯协议作为整个AGV小车的通讯协议,提高了通讯的稳定性,降低了误判率。
[0091] 以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。