agv调度算法?
首先介绍AGV调度中的基本概念和主要问题,然后分析现有调度方法的特点。萊垍頭條
AGV(Automated Guided Vehicle 自动导引车):装备有电磁或光学等自动导引装置,由计算机控制,以轮式移动为特征,自带动力或动力转换装置,并且能够沿规定的导引路径自动行驶的运输工具,一般具有安全防护、移载等多种功能。垍頭條萊
通俗的讲,AGV 就是一个用来运输的移动机器人,它是一个搬运工,把货物从A处运到B处,因此AGV的大部分研究也是包含在移动机器人领域内的。頭條萊垍
在深入之前,为了便于理解,先阐明基本概念的含义。萊垍頭條
Dispatch(派遣):指派一个AGV去执行一个运输任务。萊垍頭條
Dispatching is the process of assigning a transportation job to an AGV[ 2 ] ^{[2]} 頭條萊垍
[2]Schedule(狭义上的“调度”):分配一批运输任务给一组AGV去执行。垍頭條萊
Scheduling is the process of dispatching a set of AGVs to a batch of transportation jobs[ 2 ] ^{[2]} 萊垍頭條
[2]The aim of AGV scheduling is to dispatch a set of AGVs to achieve the goals for a batch of pickup/ drop-off (or P/D for short) jobs[ 3 ] ^{[3]} 萊垍頭條
[3]Route(路径规划):生成所有被指定 AGV 的路径使其能完成各自被指派的任务。在机器人领域,路径翻译为 path ;而在 AGV 领域通常使用 route 表示相似的概念,翻译为“路线、轨道”,它一般表示固定的不经常变动的路径。path 只能用作名词,route 还可以作为动词,表示“为…指派路径”。本文我们不纠结这些微妙的细节,统一称其为路径。頭條萊垍
Routing is the process of determining routes for a set of AGVs to fulfill their respective transportation jobs[ 2 ] ^{[2]} 垍頭條萊
[2]Once the scheduling decision is made, the mission of routing is to find a suitable route for every AGV from its origin to destination based on the current traffic situation[ 3 ] ^{[3]} 萊垍頭條
[3]单独看一个AGV的工作并不复杂。例如机床要加工零件时通过更上层的MES控制系统给AGV的调度系统发出请求命令,后者派遣(dispatch)一台 AGV 负责把原料从仓库运送到机床。这个过程可以被称为一个任务(job),一个任务就是在一对工作地点之间移动。在这个例子中,机床只提出需求(我要在什么时间加工什么零件),至于选择哪个 AGV 运送零件原料,AGV 该沿哪条路线运动,这些都是调度系统的工作。调度系统一旦为AGV指定好路径后,AGV上的车载控制器会根据指令完成具体的运动控制任务,例如速度保持在多少,遇到路口转向时轮子怎么转动等等。所以在一个完整的大系统中,AGV调度系统位于上层控制系统和底层控制系统的中间,其到管家的作用。頭條萊垍
但是对于多个AGV,调度问题就会变得非常困难,而且AGV数量越多,难度越大。因此,调度系统成为AGV行业的一个关键技术[ 4 ] ^{[4]} 頭條萊垍
[4]而能够调度的AGV数量也成为评判一个调度系统强大与否的重要指标。根据笔者的判断,虽然目前从事AGV行业的企业很多,但是具有自主调度系统的企业并不多,而能够真正把调度系统优化的很好、能够最高效率地利用AGV系统的企业更是屈指可数。当然,如果站在AGV厂家的立场,他们并没有太大的动力把调度系统做的很高效。因为提高调度效率会减少AGV的投入量,这意味着卖出的AGV就少了。萊垍頭條
对实际应用的AGV调度系统软件,它的功能通常是非常丰富的,一般包括:任务管理、车辆状态监控、路径规划、地图编辑、数据库查询等。萊垍頭條