基于区块链的自动引导运输车管理系统及方法与流程

文档序号:19740822发布日期:2020-01-18 05:11阅读:290来源:国知局
基于区块链的自动引导运输车管理系统及方法与流程

本发明涉及数据处理技术领域,具体是指一种基于区块链的自动引导运输车管理系统及方法。



背景技术:

自动导引运输车--agv(automatedguidedvehicle)是指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,agv属于轮式移动机器人的范畴,是工业应用中不需驾驶员的搬运车,以可充电之蓄电池为其动力来源。

现有技术中的自动导引运输车在使用过程中需要涉及到多个实现不同功能的系统的交互,然而在实现过程中,自动导引运输车的任务执行可能会出现各种可能的情况,多个系统之间记录的信息可能无法保持一致,也无法确认具体是哪个环节出现问题,比较难以排除系统故障。



技术实现要素:

本发明提供了一种基于区块链的自动引导运输车管理系统及方法,其目的在于克服现有技术中的缺陷,通过区块链管理自动导引运输车在运输过程中的数据,保持多个功能模块之间的数据记录一致,便于在任务执行出现问题时进行故障排查。

为了实现上述目的,本发明具有如下构成:

该基于区块链的自动引导运输车管理系统,包括:

运输车状态获取模块,用于实时与各个自动导引运输车进行通信,每隔第一时间获取所述自动导引运输车的状态数据,并判断各个所述自动导引运输车的状态数据与前一时刻获取的状态数据是否有更新,如果存在更新,则将所述更新数据上传至区块链,所述状态数据包括所述自动导引运输车的位置数据和所述自动导引运输车的正在执行任务编号;

运输车任务管理模块,用于管理每个自动导引运输车的任务列表,并每隔第二时间从所述区块链获取各个所述自动导引运输车的状态数据,判断所述自动导引运输车的正在执行任务编号是否为前一时刻获取到的状态数据中的任务编号,如果不是,则根据所述自动导引运输车的任务列表中正在执行任务编号之前的任务状态设置为已完成,并将任务状态发生变化的任务编号和变化信息上传至区块链;

运输车任务验收模块,用于存储有各个任务的任务编号和终点验收端的通信信息,并每隔第三时间从所述区块链获取任务状态发生变化的任务编号和变化信息,确定任务状态更新为已完成的任务编号,并向更新为已完成的任务编号所对应的终点验收端发送验收成功信息,并于接收到验收成功信息之后,将所述任务编号和确认完成信息上传至所述区块链。

可选地,所述运输车任务管理模块还用于每隔第三时间从所述区块链获取确认完成信息和对应的任务编号,将确认完成信息对应的任务编号从所对应的自动导引运输车的任务列表中删除。

可选地,所述运输车任务验收模块还用于从所述终点验收端接收到验收失败信息或经过预设时间阈值之后仍未接收到所述终点验收端的验收成功信息时,将确认失败信息和所对应的任务编号上传至所述区块链;

所述运输车任务管理模块还用于每隔第三时间从所述区块链获取验收失败信息和对应的任务编号,查找验收失败信息和所对应的任务编号所对应的自动导引运输车,向该自动导引运输车所对应的管理人员发送第一警告信息,所述第一警告信息包括验收失败信息和所对应的任务编号。

可选地,所述运输车任务管理模块还存储有各个任务编号所对应的规划任务路径信息,所述运输车任务管理模块获取到各个所述自动导引运输车的状态数据之后,还根据所述自动导引运输车正在执行任务编号查找所对应的规划任务路径信息,判断所述自动导引运输车的定位位置与规划任务路径的最近距离是否大于预设距离阈值,如果是,则所述运输车任务管理模块向该自动导引运输车所对应的管理人员发送第二警告信息,所述第二警告信息包括任务执行有误信息和所对应的任务编号。

可选地,所述运输车任务管理模块还用于在所述自动导引运输车的任务列表存在更新时,将更新后的自动导引运输车的任务列表上传至区块链。

可选地,所述系统还包括运输车任务分发模块,所述运输车任务分发模块用于接收到新的运输任务时,为任务进行编号,并将所述任务分配至各个所述自动导引运输车,将新分配的任务编号、任务优先级和所对应的自动导引运输车的id上传至所述区块链。

可选地,所述运输车任务管理模块还用于从所述区块链获取新分配的任务编号、任务优先级和所对应的自动导引运输车的id,将该新分配的任务编号加入至所述自动导引运输车的任务列表中,查找所对应的自动导引运输车的任务列表中与该任务优先级所对应的任务在所述任务列表中的顺序号,将该新分配的任务插入所述任务列表中与该任务优先级对应的最后一个任务的后面,更新所述任务列表,并将新分配的任务信息发送至所对应的自动导引运输车。

可选地,所述运输车任务分发模块将所述任务分配至所对应的自动导引运输车,包括所述任务分发模块从所述区块链获取各个所述自动导引运输车的任务列表,所述任务列表包括各个自动导引运输车的待完成任务和每个任务的预测完成时间,所述任务分发模块计算各个自动导引运输车的待完成任务的总预测完成时间,选择总预测完成时间最少的自动导引运输车作为新分配任务的自动导引运输车。

本发明实施例还提供一种基于区块链的自动引导运输车方法,采用所述的基于区块链的自动引导运输车管理系统,所述方法包括如下步骤:

实时与各个自动导引运输车进行通信,每隔第一时间获取所述自动导引运输车的状态数据,并判断各个所述自动导引运输车的状态数据与前一时刻获取的状态数据是否有更新;

如果存在更新,则将所述更新数据上传至区块链,所述状态数据包括所述自动导引运输车的位置数据和所述自动导引运输车的正在执行任务编号;

每隔第二时间从所述区块链获取各个所述自动导引运输车的状态数据,判断所述自动导引运输车的正在执行任务编号是否为前一时刻获取到的状态数据中的任务编号;

如果不是,则根据所述自动导引运输车的任务列表中正在执行任务编号之前的任务状态设置为已完成,并将任务状态发生变化的任务编号和变化信息上传至区块链;

每隔第三时间从所述区块链获取任务状态发生变化的任务编号和变化信息,确定任务状态更新为已完成的任务编号;

向更新为已完成的任务编号所对应的终点验收端发送验收成功信息,并于接收到验收成功信息之后,将所述任务编号和确认完成信息上传至所述区块链。

可选地,所述方法还包括如下步骤:

从所述终点验收端接收到验收失败信息或经过预设时间阈值之后仍未接收到所述终点验收端的验收成功信息时,将确认失败信息和所对应的任务编号上传至所述区块链;

每隔第三时间从所述区块链获取确认完成信息和对应的任务编号,将确认完成信息对应的任务编号从所对应的自动导引运输车的任务列表中删除;

每隔第三时间从所述区块链获取验收失败信息和对应的任务编号,查找验收失败信息和所对应的任务编号所对应的自动导引运输车,向该自动导引运输车所对应的管理人员发送第一警告信息,所述第一警告信息包括验收失败信息和所对应的任务编号。

采用了该发明中的基于区块链的自动引导运输车管理系统及方法,具有如下有益效果:

本发明通过区块链管理自动导引运输车在运输过程中的数据,保持多个功能模块之间的数据记录一致,由运输车状态管理模块获取各个自动导引运输车的状态数据,并上传到区块链,运输车任务管理模块管理各个导引运输车的任务列表,并在任务列表有更新时,将更新上传至区块链,运输车任务验收模块则负责对已完成的任务进行验收,及时发现执行出现问题的任务,各个功能模块分工协作,便于在任务执行出现问题时进行故障排查,通过区块链的去中心化的数据存储模式,可以提高运输车管理的效率和数据记录的准确性,适用于大规模推广应用。

附图说明

图1为本发明一实施例的基于区块链的自动引导运输车管理系统的结构示意图;

图2为本发明一实施例的分发新任务的流程图;

图3为本发明一实施例的基于区块链的自动导引运输车管理方法的流程图;

图4为本发明一实施例的任务验收的流程图。

附图标记:

运输车状态获取模块m100

运输车任务管理模块m200

运输车任务验收模块m300

运输车任务分发模块m400

具体实施方式

为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。

为了解决现有技术中的技术问题,本发明提供了一种基于区块链的自动引导运输车管理系统。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。本发明利用了区块链去中心化的特点,保障运输车数据记录的准确性和实时性,并便于在任务执行出现问题时及时进行故障排查,确定是哪个环节的问题。

如图1所示,在本发明一实施例中,所述基于区块链的自动引导运输车管理系统包括:

运输车状态获取模块m100,用于实时与各个自动导引运输车进行通信,每隔第一时间获取所述自动导引运输车的状态数据,并判断各个所述自动导引运输车的状态数据与前一时刻获取的状态数据是否有更新,如果存在更新,则将所述更新数据上传至区块链,所述状态数据包括所述自动导引运输车的位置数据和所述自动导引运输车的正在执行任务编号;每个自动导引运输车设置有定位模块和自车任务管理模块m200,所述自动导引运输车通过所述定位模块获取位置数据,所述自车任务管理模块m200管理自车的任务列表,并且在一个任务完成后,自动将当前执行任务跳转至任务列表中下一任务。

运输车任务管理模块m200,用于管理每个自动导引运输车的任务列表,并每隔第二时间从所述区块链获取各个所述自动导引运输车的状态数据,判断所述自动导引运输车的正在执行任务编号是否为前一时刻获取到的状态数据中的任务编号,如果不是,则根据所述自动导引运输车的任务列表中正在执行任务编号之前的任务状态设置为已完成,并将任务状态发生变化的任务编号和变化信息上传至区块链,如果获取到的一个自动导引运输车的正在执行任务编号仍为前一时刻获取到的状态数据中的任务编号,则说明该自动导引运输车的任务列表中各个任务的状态未发生变化;

运输车任务验收模块m300,用于存储有各个任务的任务编号和终点验收端的通信信息,并每隔第三时间从所述区块链获取任务状态发生变化的任务编号和变化信息,确定任务状态更新为已完成的任务编号,并向更新为已完成的任务编号所对应的终点验收端发送验收成功信息,并于接收到验收成功信息之后,将所述任务编号和确认完成信息上传至所述区块链。

因此,本发明的基于区块链的自动导引运输车管理系统通过运输车状态管理模块获取各个自动导引运输车的状态数据,并上传到区块链,运输车任务管理模块m200管理各个导引运输车的任务列表,并在任务列表有更新时,将更新上传至区块链,运输车任务验收模块m300则负责对已完成的任务进行验收,及时发现执行出现问题的任务,各个功能模块分工协作,便于在任务执行出现问题时进行故障排查,该系统基于区块链的去中心化的数据存储模式,可以提高运输车管理的效率和数据记录的准确性。其中,第一时间、第二时间和第三时间的时间长度可以根据需要选择,并且第一时间、第二时间和第三时间可以相同也可以不同,均属于本发明的保护范围之内。其中,运输车状态获取模块m100、运输车任务管理模块m200和运输车任务验收模块m300可以作为区块链中一个单独的节点,通过区块链实现数据共享记录,并且可以防止数据被任意一方篡改而影响数据的准确性,方便在执行任务出现问题时进行归责。

在该实施例中,所述运输车任务管理模块m200还用于每隔第三时间从所述区块链获取确认完成信息和对应的任务编号,将确认完成信息对应的任务编号从所对应的自动导引运输车的任务列表中删除,即对该确认完成信息对应的自动导引运输车的任务列表进行了更新。

进一步地,所述运输车任务验收模块m300还用于从所述终点验收端接收到验收失败信息或经过预设时间阈值之后仍未接收到所述终点验收端的验收成功信息时,将确认失败信息和所对应的任务编号上传至所述区块链。

所述运输车任务管理模块m200还用于每隔第三时间从所述区块链获取验收失败信息和对应的任务编号,查找验收失败信息和所对应的任务编号所对应的自动导引运输车,向该自动导引运输车所对应的管理人员发送第一警告信息,所述第一警告信息包括验收失败信息和所对应的任务编号。因此,在任务验收失败时,可以及时发现任务验收失败信息,及时进行故障排查。如果一个自动导引运输车的当前执行任务之前还存在未验收成功的任务,则可能是前面的任务执行失败,也可能是自动导引运输车跳过了该任务没有执行,也可能是终点验收终端出现故障无法正确验收或无法正确通信,此时及时向管理人员发送第一警告信息,管理人员可以及时进行任务故障排查。

在该实施例中,所述运输车任务管理模块m200还存储有各个任务编号所对应的规划任务路径信息,所述运输车任务管理模块m200获取到各个所述自动导引运输车的状态数据之后,还根据所述自动导引运输车正在执行任务编号查找所对应的规划任务路径信息,判断所述自动导引运输车的定位位置与规划任务路径的最近距离是否大于预设距离阈值,如果是,则所述运输车任务管理模块m200向该自动导引运输车所对应的管理人员发送第二警告信息,所述第二警告信息包括任务执行有误信息和所对应的任务编号。如果自动导引运输车的定位位置与规划任务路径的最近距离小于等于预设距离阈值,则认为该自动导引运输车的任务执行正常。

因此,在任务执行过程中,也可以根据自动导引运输车的位置数据及时判断任务是否在正常进行。如果任务执行出现异常,则及时向管理人员发送第二警告信息,便于管理人员及时对任务故障进行排查。此种根据定位位置发现的异常可能是因为自动导引运输车的移动机构出现故障,也可能是自动导引运输车的定位模块出现故障,也可能是自动导引运输车接收到的任务的规划任务路径有错误或未及时更新。

在该实施例中,所述运输车任务管理模块m200还用于在所述自动导引运输车的任务列表存在更新时,将更新后的自动导引运输车的任务列表上传至区块链。自动导引运输车的任务列表更新包括自动导引运输车的任务列表中已完成任务的删除和新分配任务的增加。

如图1所示,进一步地,在该实施例中,所述基于区块链的自动导引运输车管理系统还包括运输车任务分发模块m400。所述运输车任务分发模块m400也可以作为区块链中一个单独的节点,通过区块链实现与其他各个功能模块的数据共享。

如图2所示,采用所述运输车任务分发模块m400分配新任务时,包括如下步骤:

所述运输车任务分发模块m400接收到新的运输任务,获取运输任务的规划任务路径,为任务进行编号,并将所述任务分配至各个所述自动导引运输车,将新分配的任务编号、新分配的任务的规划任务路径、任务优先级和所对应的自动导引运输车的id上传至所述区块链。

在该实施例中,所述运输车任务管理模块m200还用于从所述区块链获取新分配的任务编号、任务优先级和所对应的自动导引运输车的id,将该新分配的任务编号加入至所述自动导引运输车的任务列表中,查找所对应的自动导引运输车的任务列表中与该任务优先级所对应的任务在所述任务列表中的顺序号,将该新分配的任务插入所述任务列表中与该任务优先级对应的最后一个任务的后面,更新所述任务列表。例如,在该自动导引运输车的任务列表中本来存在三个与新分配的任务的任务优先级相同的待完成任务,则确定该三个待完成任务中顺序号最后的任务序号x,将该新分配的任务的任务顺序号设为x+1,后续的待完成任务的优先级都低于该新分配的任务优先级,其顺序号依次后延。因此,该实施例中,可以根据任务优先级来安排任务列表中的各个任务的执行顺序,任务分配和执行更加灵活,对于十分紧急的加急任务,则可以将其优先级设为最高,自动导引运输车会优先执行该任务。在任务列表有更新之后,运输车任务管理模块m200将更新的任务列表发送至对应的自动导引运输车。自动导引运输车按照任务列表中的任务的顺序号依次执行各个待完成任务。如果当前在执行一个任务,而接收到新分配的比当前执行任务优先级更高的任务,也要先将当前执行任务完成之后,再执行任务优先级更高的新分配任务。

在该实施例中,所述运输车任务分发模块m400将所述任务分配至所对应的自动导引运输车,包括所述任务分发模块m400从所述区块链获取各个所述自动导引运输车的任务列表,所述任务列表包括各个自动导引运输车的待完成任务和每个任务的预测完成时间,所述任务分发模块m400计算各个自动导引运输车的待完成任务的总预测完成时间,选择总预测完成时间最少的自动导引运输车作为新分配任务的自动导引运输车。

因此,该实施例中,在分配新的任务时,充分考虑各个自动导引运输车的运输能力,合理安排分配新的任务,保证各个任务最快速地被执行到。在其他可选的实施方式中,也可以选择其他的任务分配方式,例如统计每个自动导引运输车的任务列表中任务数量,选择任务数量最少的自动导引运输车作为新分配任务的自动导引运输车。进一步地,对于优先级比较高的任务,也可以统计各个自动导引运输车历史执行任务的验收成功率或验收失败率,选择验收成功率最高或验收失败率最低的自动导引运输车作为新分配任务的自动导引运输车。在另一可选的实施方式中,也可以统计各个自动导引运输车的任务数量、总预测任务完成时间、验收失败率等数据,将任务数量、总预测任务完成时间、验收失败率进行加权求和,将得到的结果进行排序,加权求和的数值最小的自动导引运输车作为新分配任务的自动导引运输车。

如图3所示,本发明实施例还提供一种基于区块链的自动引导运输车方法,采用所述的基于区块链的自动引导运输车管理系统,所述方法包括如下步骤:

实时与各个自动导引运输车进行通信,每隔第一时间获取所述自动导引运输车的状态数据,并判断各个所述自动导引运输车的状态数据与前一时刻获取的状态数据是否有更新;

如果存在更新,则将所述更新数据上传至区块链,所述状态数据包括所述自动导引运输车的位置数据和所述自动导引运输车的正在执行任务编号;

每隔第二时间从所述区块链获取各个所述自动导引运输车的状态数据,判断所述自动导引运输车的正在执行任务编号是否为前一时刻获取到的状态数据中的任务编号;

如果不是,则根据所述自动导引运输车的任务列表中正在执行任务编号之前的任务状态设置为已完成,并将任务状态发生变化的任务编号和变化信息上传至区块链;

每隔第三时间从所述区块链获取任务状态发生变化的任务编号和变化信息,确定任务状态更新为已完成的任务编号;

向更新为已完成的任务编号所对应的终点验收端发送验收成功信息,并于接收到验收成功信息之后,将所述任务编号和确认完成信息上传至所述区块链。

因此,本发明的基于区块链的自动导引运输车管理方法首先通过获取各个自动导引运输车的状态数据,并上传到区块链,然后任务列表有更新时,将更新上传至区块链,并且对已完成的任务进行验收,当验收失败时及时发现执行出现问题的任务,便于在任务执行出现问题时进行故障排查,该方法基于区块链的去中心化的数据存储模式,可以提高运输车管理的效率和数据记录的准确性。其中,第一时间、第二时间和第三时间的时间长度可以根据需要选择,并且第一时间、第二时间和第三时间可以相同也可以不同,均属于本发明的保护范围之内。

如图4所示,进一步地,在该实施例中,所述基于区块链的自动导引运输车管理方法还包括如下步骤:

从所述终点验收端接收到验收失败信息或经过预设时间阈值之后仍未接收到所述终点验收端的验收成功信息时,将确认失败信息和所对应的任务编号上传至所述区块链;

每隔第三时间从所述区块链获取确认完成信息和对应的任务编号,将确认完成信息对应的任务编号从所对应的自动导引运输车的任务列表中删除;

每隔第三时间从所述区块链获取验收失败信息和对应的任务编号,查找验收失败信息和所对应的任务编号所对应的自动导引运输车,向该自动导引运输车所对应的管理人员发送第一警告信息,所述第一警告信息包括验收失败信息和所对应的任务编号。

因此,在该实施例中,可以及时对已完成的任务进行验收,在任务验收失败时,可以及时发现任务验收失败信息,及时进行故障排查。如果一个自动导引运输车的当前执行任务之前还存在未验收成功的任务,则可能是前面的任务执行失败,也可能是自动导引运输车跳过了该任务没有执行,也可能是终点验收终端出现故障无法正确验收或无法正确通信,此时及时向管理人员发送第一警告信息,管理人员可以及时进行任务故障排查。

在该种基于区块链的自动引导运输车方法中,各个步骤的具体实现方式均可以采用上述基于区块链的自动引导运输车管理系统中各个功能模块的功能实现方式,在此不予赘述。

与现有技术相比,采用了该发明中的基于区块链的自动引导运输车管理系统及方法,具有如下有益效果:

本发明通过区块链管理自动导引运输车在运输过程中的数据,保持多个功能模块之间的数据记录一致,由运输车状态管理模块获取各个自动导引运输车的状态数据,并上传到区块链,运输车任务管理模块管理各个导引运输车的任务列表,并在任务列表有更新时,将更新上传至区块链,运输车任务验收模块则负责对已完成的任务进行验收,及时发现执行出现问题的任务,各个功能模块分工协作,便于在任务执行出现问题时进行故障排查,通过区块链的去中心化的数据存储模式,可以提高运输车管理的效率和数据记录的准确性,适用于大规模推广应用。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1